diff --git a/13818.6d01769d.async.js b/13818.6d01769d.async.js new file mode 100644 index 0000000000..bf569d5f19 --- /dev/null +++ b/13818.6d01769d.async.js @@ -0,0 +1,141 @@ +!(function(){var P0=Object.defineProperty,D0=Object.defineProperties;var R0=Object.getOwnPropertyDescriptors;var jf=Object.getOwnPropertySymbols;var Q0=Object.prototype.hasOwnProperty,k0=Object.prototype.propertyIsEnumerable;var Wl=Math.pow,jh=(gt,dt,g)=>dt in gt?P0(gt,dt,{enumerable:!0,configurable:!0,writable:!0,value:g}):gt[dt]=g,wu=(gt,dt)=>{for(var g in dt||(dt={}))Q0.call(dt,g)&&jh(gt,g,dt[g]);if(jf)for(var g of jf(dt))k0.call(dt,g)&&jh(gt,g,dt[g]);return gt},Yh=(gt,dt)=>D0(gt,R0(dt));var ps=(gt,dt,g)=>jh(gt,typeof dt!="symbol"?dt+"":dt,g);(self.webpackChunk=self.webpackChunk||[]).push([[13818],{55532:function(gt,dt,g){"use strict";g.d(dt,{ni:function(){return Ws},EF:function(){return Cs}});var c=function($,it){var Et=$.nodes,_t=$.edges,ee=[],ie={};if(!Et)throw new Error("invalid nodes data!");return Et&&Et.forEach(function($e,Xe){ie[$e.id]=Xe;var mn=[];ee.push(mn)}),_t&&_t.forEach(function($e){var Xe=$e.source,mn=$e.target,Tn=ie[Xe],xn=ie[mn];!Tn&&Tn!==0||!xn&&xn!==0||(ee[Tn][xn]=1,it||(ee[xn][Tn]=1))}),ee},R=c,P=function($,it){return $===it},U=function(){function Ct($,it){it===void 0&&(it=null),this.value=$,this.next=it}return Ct.prototype.toString=function($){return $?$(this.value):"".concat(this.value)},Ct}(),w=function(){function Ct($){$===void 0&&($=P),this.head=null,this.tail=null,this.compare=$}return Ct.prototype.prepend=function($){var it=new U($,this.head);return this.head=it,this.tail||(this.tail=it),this},Ct.prototype.append=function($){var it=new U($);return this.head?(this.tail.next=it,this.tail=it,this):(this.head=it,this.tail=it,this)},Ct.prototype.delete=function($){if(!this.head)return null;for(var it=null;this.head&&this.compare(this.head.value,$);)it=this.head,this.head=this.head.next;var Et=this.head;if(Et!==null)for(;Et.next;)this.compare(Et.next.value,$)?(it=Et.next,Et.next=Et.next.next):Et=Et.next;return this.compare(this.tail.value,$)&&(this.tail=Et),it},Ct.prototype.find=function($){var it=$.value,Et=it===void 0?void 0:it,_t=$.callback,ee=_t===void 0?void 0:_t;if(!this.head)return null;for(var ie=this.head;ie;){if(ee&&ee(ie.value)||Et!==void 0&&this.compare(ie.value,Et))return ie;ie=ie.next}return null},Ct.prototype.deleteTail=function(){var $=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,$;for(var it=this.head;it.next;)it.next.next?it=it.next:it.next=null;return this.tail=it,$},Ct.prototype.deleteHead=function(){if(!this.head)return null;var $=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),$},Ct.prototype.fromArray=function($){var it=this;return $.forEach(function(Et){return it.append(Et)}),this},Ct.prototype.toArray=function(){for(var $=[],it=this.head;it;)$.push(it),it=it.next;return $},Ct.prototype.reverse=function(){for(var $=this.head,it=null,Et=null;$;)Et=$.next,$.next=it,it=$,$=Et;this.tail=this.head,this.head=it},Ct.prototype.toString=function($){return $===void 0&&($=void 0),this.toArray().map(function(it){return it.toString($)}).toString()},Ct}(),S=w,E=function(){function Ct(){this.linkedList=new S}return Ct.prototype.isEmpty=function(){return!this.linkedList.head},Ct.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},Ct.prototype.enqueue=function($){this.linkedList.append($)},Ct.prototype.dequeue=function(){var $=this.linkedList.deleteHead();return $?$.value:null},Ct.prototype.toString=function($){return this.linkedList.toString($)},Ct}(),L=E,D=function($,it,Et){it===void 0&&(it=[]);var _t=it.filter(function(Xe){return Xe.source===$||Xe.target===$});if(Et==="target"){var ee=function(mn){return mn.source===$};return _t.filter(ee).map(function(Xe){return Xe.target})}if(Et==="source"){var ie=function(mn){return mn.target===$};return _t.filter(ie).map(function(Xe){return Xe.source})}var $e=function(mn){return mn.source===$?mn.target:mn.source};return _t.map($e)},T=function($,it){return it.filter(function(Et){return Et.source===$})},K=function($,it){return it.filter(function(Et){return Et.source===$||Et.target===$})},Z=function($){$===void 0&&($=0);var it="".concat(Math.random()).split(".")[1].substr(0,5),Et="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat($,"-").concat(it).concat(Et)};function tt(Ct){Ct===void 0&&(Ct={});var $=Ct,it=function(){},Et=function(){var _t={};return function(ee){var ie=ee.next,$e=ie;return _t[$e]?!1:(_t[$e]=!0,!0)}}();return $.allowTraversal=Ct.allowTraversal||Et,$.enter=Ct.enter||it,$.leave=Ct.leave||it,$}var V=function($,it,Et,_t){_t===void 0&&(_t=!0);var ee=tt(Et),ie=new L,$e=$.edges,Xe=$e===void 0?[]:$e;ie.enqueue(it);for(var mn="",Tn=function(){var $n=ie.dequeue();ee.enter({current:$n,previous:mn}),D($n,Xe,_t?"target":void 0).forEach(function(Kn){ee.allowTraversal({previous:mn,current:$n,next:Kn})&&ie.enqueue(Kn)}),ee.leave({current:$n,previous:mn}),mn=$n};!ie.isEmpty();)Tn()},pt=V,st=function($){for(var it=$.nodes,Et=it===void 0?[]:it,_t=$.edges,ee=_t===void 0?[]:_t,ie=[],$e={},Xe=[],mn=function Kn(lr){Xe.push(lr),$e[lr.id]=!0;for(var gr=D(lr.id,ee),cr=function(Fr){var Zr=gr[Fr];if(!$e[Zr]){var Wr=Et.filter(function($r){return $r.id===Zr});Wr.length>0&&Kn(Wr[0])}},Br=0;Br0;)$n.push(Xe.pop());ie.push($n)}}return ie},X=function($){for(var it=$.nodes,Et=it===void 0?[]:it,_t=$.edges,ee=_t===void 0?[]:_t,ie=[],$e={},Xe={},mn={},Tn=[],xn=0,$n=function cr(Br){Xe[Br.id]=xn,mn[Br.id]=xn,xn+=1,ie.push(Br),$e[Br.id]=!0;for(var Ur=D(Br.id,ee,"target").filter(function(Bi){return Et.map(function(vi){return vi.id}).indexOf(Bi)>-1}),Fr=function(vi){var fi=Ur[vi];if(!Xe[fi]&&Xe[fi]!==0){var Mi=Et.filter(function(bi){return bi.id===fi});Mi.length>0&&cr(Mi[0]),mn[Br.id]=Math.min(mn[Br.id],mn[fi])}else $e[fi]&&(mn[Br.id]=Math.min(mn[Br.id],Xe[fi]))},Zr=0;Zr0;){var $r=ie.pop();if($e[$r.id]=!1,Wr.push($r),$r===Br)break}Wr.length>0&&Tn.push(Wr)}},Kn=0,lr=Et;Kn0;)for(var cr=Kn.pop(),Br=cr.id,Ur=D(Br,$.edges),Fr=function($r){var Bi,vi=Ur[$r],fi=$.nodes.find(function(k){return k.id===vi});if(vi===Br)ie.push((Bi={},Bi[vi]=cr,Bi));else if(!(vi in gr))lr[vi]=cr,Kn.push(fi),gr[vi]=new Set([cr]);else if(!gr[Br].has(fi)){for(var Mi=!0,bi=[fi,cr],W=lr[Br];gr[vi].size&&!gr[vi].has(W)&&(bi.push(W),W!==lr[W.id]);)W=lr[W.id];if(bi.push(W),it&&Et?(Mi=!1,bi.findIndex(function(k){return it.indexOf(k.id)>-1})>-1&&(Mi=!0)):it&&!Et&&bi.findIndex(function(k){return it.indexOf(k.id)>-1})>-1&&(Mi=!1),Mi){for(var H={},Q=1;Q0;){var Q=H.pop();ee.has(Q)&&(ee.delete(Q),ie[Q.id].forEach(function(k){H.push(k)}),ie[Q.id].clear())}},xn=function bi(W,H,Q){var k=!1;if(it&&Et===!1&&it.indexOf(W.id)>-1)return k;_t.push(W),ee.add(W);for(var Y=Q[W.id],at=0;at-1});xe-1)?$e.push((H={},H[he.id]=he,H)):Ht[he.id].push(mn[Ye])}}return{component:yt,adjList:Ht,minIdx:k}},Fr=0;Fr=Fr}),Wr=X({nodes:Zr,edges:$.edges}).filter(function(bi){return bi.length>1});if(Wr.length===0)break;var $r=Ur(Wr),Bi=$r.minIdx,vi=$r.adjList,fi=$r.component;if(fi.length>1){fi.forEach(function(bi){ie[bi.id]=new Set});var Mi=Xe[Bi];if(it&&Et&&it.indexOf(Mi.id)===-1)return $e;xn(Mi,Mi,vi),Fr=Bi+1}else break}return $e},wn=function($,it,Et,_t){return _t===void 0&&(_t=!0),it?Ln($,Et,_t):En($,Et,_t)},Rn=Be,or=g(80813),pn={}.toString,zn=function(Ct,$){return pn.call(Ct)==="[object "+$+"]"},Pt=zn,Se=function(Ct){return Pt(Ct,"Function")},Un=function(Ct){return Array.isArray?Array.isArray(Ct):Pt(Ct,"Array")},On=function(Ct){var $=typeof Ct;return Ct!==null&&$==="object"||$==="function"};function ze(Ct,$){if(Ct){var it;if(Un(Ct))for(var Et=0,_t=Ct.length;Et<_t&&(it=$(Ct[Et],Et),it!==!1);Et++);else if(On(Ct)){for(var ee in Ct)if(Ct.hasOwnProperty(ee)&&(it=$(Ct[ee],ee),it===!1))break}}}var tn=ze,ln=Object.keys?function(Ct){return Object.keys(Ct)}:function(Ct){var $=[];return tn(Ct,function(it,Et){Se(Ct)&&Et==="prototype"||$.push(Et)}),$},pe=null;function Pe(Ct,$){var it=keys($),Et=it.length;if(isNil(Ct))return!Et;for(var _t=0;_t-1;)Ke.call(Ct,ee,1);return Ct},nt=null,Nt=Array.prototype.splice,Yt=function($,it){if(!isArrayLike($))return[];for(var Et=$?it.length:0,_t=Et-1;Et--;){var ee=void 0,ie=it[Et];(Et===_t||ie!==ee)&&(ee=ie,Nt.call($,ie,1))}return $},It=null,Qt=function(Ct,$,it){if(!isArray(Ct)&&!isPlainObject(Ct))return Ct;var Et=it;return each(Ct,function(_t,ee){Et=$(Et,_t,ee)}),Et},Wt=null,ge=function(Ct,$){var it=[];if(!isArrayLike(Ct))return it;for(var Et=-1,_t=[],ee=Ct.length;++Etee[$e])return 1;if(_t[$e]0},Rt=null,Jt=function(Ct,$){if(isArray(Ct)){for(var it,Et=-1/0,_t=0;_tEt&&(it=ee,Et=ie)}return it}},qt=function(Ct,$){if(isArray(Ct)){for(var it,Et=1/0,_t=0;_t$e&&Tn>$e);)if(Xe.push(mn),$e-=Tn,ie=ie.substr(_t),!ie)return Xe.join("");for(;mn=ie.substr(0,1),Tn=measureTextWidth(mn,it),!(Tn+ee>$e);)if(Xe.push(mn),$e-=Tn,ie=ie.substr(1),!ie)return Xe.join("");return""+Xe.join("")+Et},Ua=function(){function Ct(){this.map={}}return Ct.prototype.has=function($){return this.map[$]!==void 0},Ct.prototype.get=function($,it){var Et=this.map[$];return Et===void 0?it:Et},Ct.prototype.set=function($,it){this.map[$]=it},Ct.prototype.clear=function(){this.map={}},Ct.prototype.delete=function($){delete this.map[$]},Ct.prototype.size=function(){return Object.keys(this.map).length},Ct}(),Ca=null,$a=function($,it,Et){for(var _t=1/0,ee,ie=0;iexn[Wr.id]+W?(xn[bi]=xn[Wr.id]+W,$n[bi]=[Wr.id]):xn[bi]===xn[Wr.id]+W&&$n[bi].push(Wr.id)})},gr=0;gr0&&Tn.length>0;){var Kn=Tn[Tn.length-1];if(Kn.length){var lr=Kn.shift();lr&&(Xe.push(lr),mn[lr]=!0,$n=_t?D(lr,$e,"target"):D(lr,$e),Tn.push($n.filter(function(Br){return!mn[Br]})))}else{var gr=Xe.pop();mn[gr]=!1,Tn.pop();continue}if(Xe[Xe.length-1]===Et){var cr=Xe.map(function(Ur){return Ur});xn.push(cr);var gr=Xe.pop();mn[gr]=!1,Tn.pop()}}return xn},Gi=function($,it){for(var Et=R($,it),_t=[],ee=Et.length,ie=0;ie_t[ie][Xe]+_t[Xe][$e]&&(_t[ie][$e]=_t[ie][Xe]+_t[Xe][$e]);return _t},ka=Gi,_a=function($,it,Et,_t){it===void 0&&(it=!1),Et===void 0&&(Et="weight"),_t===void 0&&(_t=1e3);var ee=$.nodes,ie=ee===void 0?[]:ee,$e=$.edges,Xe=$e===void 0?[]:$e,mn={},Tn={};ie.forEach(function(Zr,Wr){var $r=Z();Zr.clusterId=$r,mn[$r]={id:$r,nodes:[Zr]},Tn[Zr.id]={node:Zr,idx:Wr}});var xn=R($,it),$n=[],Kn={};xn.forEach(function(Zr,Wr){var $r=0,Bi=ie[Wr].id;Kn[Bi]={},Zr.forEach(function(vi,fi){if(vi){$r+=vi;var Mi=ie[fi].id;Kn[Bi][Mi]=vi}}),$n.push($r)});for(var lr=0,gr=function(){var Wr=!1;if(ie.forEach(function($r){var Bi={};Object.keys(Kn[$r.id]).forEach(function(k){var Y=Kn[$r.id][k],at=Tn[k].node,ht=at.clusterId;Bi[ht]||(Bi[ht]=0),Bi[ht]+=Y});var vi=-1/0,fi=[];if(Object.keys(Bi).forEach(function(k){vi=0&&fi.splice(Mi,1),fi&&fi.length){Wr=!0;var bi=mn[$r.clusterId],W=bi.nodes.indexOf($r);bi.nodes.splice(W,1);var H=Math.floor(Math.random()*fi.length),Q=mn[fi[H]];Q.nodes.push($r),$r.clusterId=Q.id}}}),!Wr)return"break";lr++};lr<_t;){var cr=gr();if(cr==="break")break}Object.keys(mn).forEach(function(Zr){var Wr=mn[Zr];(!Wr.nodes||!Wr.nodes.length)&&delete mn[Zr]});var Br=[],Ur={};Xe.forEach(function(Zr){var Wr=Zr.source,$r=Zr.target,Bi=Zr[Et]||1,vi=Tn[Wr].node.clusterId,fi=Tn[$r].node.clusterId,Mi="".concat(vi,"---").concat(fi);if(Ur[Mi])Ur[Mi].weight+=Bi,Ur[Mi].count++;else{var bi={source:vi,target:fi,weight:Bi,count:1};Ur[Mi]=bi,Br.push(bi)}});var Fr=[];return Object.keys(mn).forEach(function(Zr){Fr.push(mn[Zr])}),{clusters:Fr,clusterEdges:Br}},No=_a,is=function(){function Ct($){this.arr=$}return Ct.prototype.getArr=function(){return this.arr||[]},Ct.prototype.add=function($){var it,Et=$.arr;if(!(!((it=this.arr)===null||it===void 0)&&it.length))return new Ct(Et);if(!(Et!=null&&Et.length))return new Ct(this.arr);if(this.arr.length===Et.length){var _t=[];for(var ee in this.arr)_t[ee]=this.arr[ee]+Et[ee];return new Ct(_t)}},Ct.prototype.subtract=function($){var it,Et=$.arr;if(!(!((it=this.arr)===null||it===void 0)&&it.length))return new Ct(Et);if(!(Et!=null&&Et.length))return new Ct(this.arr);if(this.arr.length===Et.length){var _t=[];for(var ee in this.arr)_t[ee]=this.arr[ee]-Et[ee];return new Ct(_t)}},Ct.prototype.avg=function($){var it=[];if($!==0)for(var Et in this.arr)it[Et]=this.arr[Et]/$;return new Ct(it)},Ct.prototype.negate=function(){var $=[];for(var it in this.arr)$[it]=-this.arr[it];return new Ct($)},Ct.prototype.squareEuclideanDistance=function($){var it,Et=$.arr;if(!(!((it=this.arr)===null||it===void 0)&&it.length)||!(Et!=null&&Et.length))return 0;if(this.arr.length===Et.length){var _t=0;for(var ee in this.arr)_t+=Math.pow(this.arr[ee]-$.arr[ee],2);return _t}},Ct.prototype.euclideanDistance=function($){var it,Et=$.arr;if(!(!((it=this.arr)===null||it===void 0)&&it.length)||!(Et!=null&&Et.length))return 0;if(this.arr.length===Et.length){var _t=0;for(var ee in this.arr)_t+=Math.pow(this.arr[ee]-$.arr[ee],2);return Math.sqrt(_t)}else console.error("The two vectors are unequal in length.")},Ct.prototype.normalize=function(){var $=[],it=Ae(this.arr);it.sort(function(ie,$e){return ie-$e});var Et=it[it.length-1],_t=it[0];for(var ee in this.arr)$[ee]=(this.arr[ee]-_t)/(Et-_t);return new Ct($)},Ct.prototype.norm2=function(){var $;if(!(!(($=this.arr)===null||$===void 0)&&$.length))return 0;var it=0;for(var Et in this.arr)it+=Math.pow(this.arr[Et],2);return Math.sqrt(it)},Ct.prototype.dot=function($){var it,Et=$.arr;if(!(!((it=this.arr)===null||it===void 0)&&it.length)||!(Et!=null&&Et.length))return 0;if(this.arr.length===Et.length){var _t=0;for(var ee in this.arr)_t+=this.arr[ee]*$.arr[ee];return _t}else console.error("The two vectors are unequal in length.")},Ct.prototype.equal=function($){var it,Et=$.arr;if(((it=this.arr)===null||it===void 0?void 0:it.length)!==(Et==null?void 0:Et.length))return!1;for(var _t in this.arr)if(this.arr[_t]!==Et[_t])return!1;return!0},Ct}(),ca=is,io=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/,Ha=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/,Eo=function($,it){$===void 0&&($=[]),it===void 0&&(it=100);var Et={};$.forEach(function(ee){ee.properties&&Object.keys(ee.properties).forEach(function(ie){if(ie==="id"||!"".concat(ee.properties[ie]).match(io)&&!"".concat(ee.properties[ie]).match(Ha)&&isNaN(Number(ee.properties[ie]))){Et.hasOwnProperty(ie)&&delete Et[ie];return}Et.hasOwnProperty(ie)?Et[ie]+=1:Et[ie]=1})});var _t=Object.keys(Et).sort(function(ee,ie){return Et[ie]-Et[ee]});return _t.length0&&vi>fi&&vi-fi<_t;if(vi>fi&&(bi=xn.map(function(ut){return{node:ut,clusterId:ut.clusterId}}),W=Ae(Ur),fi=vi),H||Mi>100)break;Mi++,Object.keys(Ur).forEach(function(ut){var yt=0;Kn.forEach(function(Ht){var he=Ht.source,xe=Ht.target,ke=Fr[he].node.clusterId,Ye=Fr[xe].node.clusterId;(ke===ut&&Ye!==ut||Ye===ut&&ke!==ut)&&(yt=yt+(Ht[Et]||1))}),Ur[ut].sumTot=yt}),xn.forEach(function(ut,yt){var Ht=Ur[ut.clusterId],he=0,xe,ke=Wr[yt]/(2*Bi),Ye=0,cn=Ht.nodes;cn.forEach(function(ii){var yi=Fr[ii.id].idx;Ye+=Zr[yt][yi]||0});var _n=Ye-Ht.sumTot*ke,Mn=cn.filter(function(ii){return ii.id!==ut.id}),tr=[];Mn.forEach(function(ii,yi){tr[yi]=lr[ii.originIndex]});var nr=aa(Mn,lr)*mn,Ar=$r[ut.id];if(Object.keys(Ar).forEach(function(ii){var yi=Fr[ii].node,ji=yi.clusterId;if(ji!==ut.clusterId){var qi=Ur[ji],Fi=qi.nodes;if(!(!Fi||!Fi.length)){var oi=0;Fi.forEach(function(Yi){var Qi=Fr[Yi.id].idx;oi+=Zr[yt][Qi]||0});var xi=oi-qi.sumTot*ke,gi=Fi.concat([ut]),Ti=[];gi.forEach(function(Yi,Qi){Ti[Qi]=lr[Yi.originIndex]});var va=aa(gi,lr)*mn,Ai=xi-_n;ee&&(Ai=xi+va-(_n+nr)),Ai>he&&(he=Ai,xe=qi)}}}),he>0){xe.nodes.push(ut);var pr=ut.clusterId;ut.clusterId=xe.id;var Lr=Ht.nodes.indexOf(ut);Ht.nodes.splice(Lr,1);var Dr=0,Kr=0;Kn.forEach(function(ii){var yi=ii.source,ji=ii.target,qi=Fr[yi].node.clusterId,Fi=Fr[ji].node.clusterId;(qi===xe.id&&Fi!==xe.id||Fi===xe.id&&qi!==xe.id)&&(Dr=Dr+(ii[Et]||1)),(qi===pr&&Fi!==pr||Fi===pr&&qi!==pr)&&(Kr=Kr+(ii[Et]||1))}),xe.sumTot=Dr,Ht.sumTot=Kr}})}var Q={},k=0;Object.keys(W).forEach(function(ut){var yt=W[ut];if(!yt.nodes||!yt.nodes.length){delete W[ut];return}var Ht=String(k+1);Ht!==ut&&(yt.id=Ht,yt.nodes=yt.nodes.map(function(he){return{id:he.id,clusterId:Ht}}),W[Ht]=yt,Q[ut]=Ht,delete W[ut],k++)}),bi.forEach(function(ut){var yt=ut.node,Ht=ut.clusterId;yt&&(yt.clusterId=Ht,yt.clusterId&&Q[yt.clusterId]&&(yt.clusterId=Q[yt.clusterId]))});var Y=[],at={};Kn.forEach(function(ut){var yt=ut.source,Ht=ut.target,he=ut[Et]||1,xe=Fr[yt].node.clusterId,ke=Fr[Ht].node.clusterId;if(!(!xe||!ke)){var Ye="".concat(xe,"---").concat(ke);if(at[Ye])at[Ye].weight+=he,at[Ye].count++;else{var cn={source:xe,target:ke,weight:he,count:1};at[Ye]=cn,Y.push(cn)}}});var ht=[];return Object.keys(W).forEach(function(ut){ht.push(W[ut])}),{clusters:ht,clusterEdges:Y}},Ia=Or,ao=function($,it,Et,_t,ee,ie,$e,Xe){return it===void 0&&(it=!1),Et===void 0&&(Et="weight"),_t===void 0&&(_t=1e-4),ee===void 0&&(ee=void 0),ie===void 0&&(ie=[]),$e===void 0&&($e=["id"]),Xe===void 0&&(Xe=1),Ia($,it,Et,_t,!0,ee,ie,$e,Xe)},Jo=ao,$o=function($,it){var Et;it===void 0&&(it=1);for(var _t=Ae($),ee=_t.nodes,ie=ee===void 0?[]:ee,$e=_t.edges,Xe=$e===void 0?[]:$e,mn=function(){var $n=Ut({nodes:ie,edges:Xe}),Kn=Object.keys($n);Kn.sort(function(cr,Br){var Ur,Fr;return((Ur=$n[cr])===null||Ur===void 0?void 0:Ur.degree)-((Fr=$n[Br])===null||Fr===void 0?void 0:Fr.degree)});var lr=Kn[0];if(!ie.length||((Et=$n[lr])===null||Et===void 0?void 0:Et.degree)>=it)return"break";var gr=ie.findIndex(function(cr){return cr.id===lr});ie.splice(gr,1),Xe=Xe.filter(function(cr){return!(cr.source===lr||cr.target===lr)})};;){var Tn=mn();if(Tn==="break")break}return{nodes:ie,edges:Xe}},Qs=$o,so=function($,it,Et){var _t=[];switch($){case Wa.EuclideanDistance:_t=it[Et];break;default:_t=[];break}return _t},oo=function($,it,Et,_t,ee,ie){it===void 0&&(it=3),Et===void 0&&(Et=void 0),_t===void 0&&(_t=[]),ee===void 0&&(ee=["id"]),ie===void 0&&(ie=Wa.EuclideanDistance);var $e=$.nodes,Xe=$e===void 0?[]:$e,mn=$.edges,Tn=mn===void 0?[]:mn,xn={clusters:[{id:"0",nodes:Xe}],clusterEdges:[]};if(ie===Wa.EuclideanDistance&&!Xe.every(function(Ht){return Ht.hasOwnProperty(Et)}))return xn;var $n=[],Kn=[];if(ie===Wa.EuclideanDistance&&($n=ua(Xe,Et),Kn=Wi($n,_t,ee)),!Kn.length)return xn;for(var lr=An(Kn.map(function(Ht){return Ht.join("")})),gr=Math.min(it,Xe.length,lr.length),cr=0;crWr&&!Br.find(function(Mn){return Ri(Mn,so(ie,Kn,Xe[xe].originIndex))})&&(Wr=_n,$r=xe)}},vi=0;vi=0;Q--)Fr[Number(Xe[cr].clusterId)][Q].id===Xe[cr].id&&Fr[Number(Xe[cr].clusterId)].splice(Q,1);Xe[cr].clusterId=String(Mi),Fr[Mi].push(Xe[cr])}}for(var k=!1,cr=0;cr=1e3)break}var ut=[],yt={};return Tn.forEach(function(Ht){var he,xe,ke=Ht.source,Ye=Ht.target,cn=(he=Xe.find(function(nr){return nr.id===ke}))===null||he===void 0?void 0:he.clusterId,_n=(xe=Xe.find(function(nr){return nr.id===Ye}))===null||xe===void 0?void 0:xe.clusterId,Mn="".concat(cn,"---").concat(_n);if(yt[Mn])yt[Mn].count++;else{var tr={source:cn,target:_n,count:1};yt[Mn]=tr,ut.push(tr)}}),{clusters:Fr,clusterEdges:ut}},Sa=oo,Pa=function($,it){var Et=new ca(it),_t=Et.norm2(),ee=new ca($),ie=ee.norm2(),$e=Et.dot(ee),Xe=_t*ie,mn=Xe?$e/Xe:0;return mn},zi=Pa,Uo=function($,it,Et,_t,ee){$===void 0&&($=[]),Et===void 0&&(Et=void 0),_t===void 0&&(_t=[]),ee===void 0&&(ee=[]);var ie=Ae($.filter(function($n){return $n.id!==it.id})),$e=$.findIndex(function($n){return $n.id===it.id}),Xe=ua($,Et),mn=Wi(Xe,_t,ee),Tn=mn[$e],xn=[];return ie.forEach(function($n,Kn){if($n.id!==it.id){var lr=mn[Kn],gr=zi(lr,Tn);xn.push(gr),$n.cosineSimilarity=gr}}),ie.sort(function($n,Kn){return Kn.cosineSimilarity-$n.cosineSimilarity}),{allCosineSimilarity:xn,similarNodes:ie}},Ao=Uo,Bo=function(){function Ct($){this.count=$.length,this.parent={};for(var it=0,Et=$;it0&&(this.list[0]=it,this.moveDown(0)),$},Ct.prototype.insert=function($){if($!==null){this.list.push($);var it=this.list.length-1;return this.moveUp(it),!0}return!1},Ct.prototype.moveUp=function($){for(var it=this.getParent($);$&&$>0&&this.compareFn(this.list[it],this.list[$])>0;){var Et=this.list[it];this.list[it]=this.list[$],this.list[$]=Et,$=it,it=this.getParent($)}},Ct.prototype.moveDown=function($){var it,Et=$,_t=this.getLeft($),ee=this.getRight($),ie=this.list.length;_t!==null&&_t0?Et=_t:ee!==null&&ee0&&(Et=ee),$!==Et&&(it=[this.list[Et],this.list[$]],this.list[$]=it[0],this.list[Et]=it[1],this.moveDown(Et))},Ct}(),ws=as,sa=function($,it){var Et=[],_t=$.nodes,ee=_t===void 0?[]:_t,ie=$.edges,$e=ie===void 0?[]:ie;if(ee.length===0)return Et;var Xe=ee[0],mn=new Set;mn.add(Xe);var Tn=function(cr,Br){return it?cr.weight-Br.weight:0},xn=new ws(Tn);for(K(Xe.id,$e).forEach(function(gr){xn.insert(gr)});!xn.isEmpty();){var $n=xn.delMin(),Kn=$n.source,lr=$n.target;mn.has(Kn)&&mn.has(lr)||(Et.push($n),mn.has(Kn)||(mn.add(Kn),K(Kn,$e).forEach(function(gr){xn.insert(gr)})),mn.has(lr)||(mn.add(lr),K(lr,$e).forEach(function(gr){xn.insert(gr)})))}return Et},Vi=function($,it){var Et=[],_t=$.nodes,ee=_t===void 0?[]:_t,ie=$.edges,$e=ie===void 0?[]:ie;if(ee.length===0)return Et;var Xe=$e.map(function(Kn){return Kn});it&&Xe.sort(function(Kn,lr){return Kn.weight-lr.weight});for(var mn=new Va(ee.map(function(Kn){return Kn.id}));Xe.length>0;){var Tn=Xe.shift(),xn=Tn.source,$n=Tn.target;mn.connected(xn,$n)||(Et.push(Tn),mn.union(xn,$n))}return Et},$i=function($,it,Et){var _t={prim:sa,kruskal:Vi};return Et?_t[Et]($,it):Vi($,it)},ja=$i,Ys=function($,it,Et){typeof it!="number"&&(it=1e-6),typeof Et!="number"&&(Et=.85);for(var _t=1,ee=0,ie=1e3,$e=$.nodes,Xe=$e===void 0?[]:$e,mn=$.edges,Tn=mn===void 0?[]:mn,xn=Xe.length,$n,Kn={},lr={},gr=0;gr0&&_t>it;){ee=0;for(var gr=0;gr0&&($n+=lr[Wr]/$r)}Kn[Br]=Et*$n,ee+=Kn[Br]}}ee=(1-ee)/xn,_t=0;for(var gr=0;gr=0;Et--){var _t=this.dfsEdgeList[Et],ee=_t.fromNode,ie=_t.toNode;eeKn||_t.hasNode(ie[$n.to])||(it.label<$n.label||it.label===$n.label&&$e<=Kn)&&ee.push($n)}return ee},Ct.prototype.getSupport=function($){var it={};return $.forEach(function(Et){it[Et.graphId]||(it[Et.graphId]=!0)}),Object.keys(it).length},Ct.prototype.findMinLabel=function($){var it=void 0;return Object.keys($).forEach(function(Et){var _t=$[Et],ee=_t.nodeLabel1,ie=_t.edgeLabel,$e=_t.nodeLabel2;if(!it){it={nodeLabel1:ee,edgeLabel:ie,nodeLabel2:$e};return}(eeFr;Wr--){var $r=Zr(Wr);if($r==="break")break}if(Br){var Bi=$.findMinLabel(cr);ie.dfsEdgeList.push(new Es(gr,Ur,hs,Bi.edgeLabel,hs));var vi=ie.dfsEdgeList.length-1;return $.dfsCode.dfsEdgeList[vi]!==ie.dfsEdgeList[vi]?!1:xn(cr[Bi.edgeLabel].projected)}var fi={};Br=!1;var Mi=0;$n.forEach(function(Y){var at=new oa(Y),ht=$.findForwardPureEdges(_t,at.edges[Kn[0]],lr,at);ht.length>0&&(Br=!0,Mi=gr,ht.forEach(function(ut){var yt="".concat(ut.label,"-").concat(ee[ut.to].label);fi[yt]||(fi[yt]={projected:[],edgeLabel:ut.label,nodeLabel2:ee[ut.to].label}),fi[yt].projected.push({graphId:_t.id,edge:ut,preNode:Y})}))});for(var bi=Kn.length,W=function(at){if(Br)return"break";var ht=Kn[at];$n.forEach(function(ut){var yt=new oa(ut),Ht=$.findForwardRmpathEdges(_t,yt.edges[ht],lr,yt);Ht.length>0&&(Br=!0,Mi=ie.dfsEdgeList[ht].fromNode,Ht.forEach(function(he){var xe="".concat(he.label,"-").concat(ee[he.to].label);fi[xe]||(fi[xe]={projected:[],edgeLabel:he.label,nodeLabel2:ee[he.to].label}),fi[xe].projected.push({graphId:_t.id,edge:he,preNode:ut})}))})},Wr=0;Wr=0;lr--){var gr=it.findBackwardEdge(xn,Kn.edges[ee[lr]],Kn.edges[ee[0]],Kn);if(gr){var cr="".concat(it.dfsCode.dfsEdgeList[ee[lr]].fromNode,"-").concat(gr.label);mn[cr]||(mn[cr]={projected:[],toNodeId:it.dfsCode.dfsEdgeList[ee[lr]].fromNode,edgeLabel:gr.label}),mn[cr].projected.push({graphId:Tn.graphId,edge:gr,preNode:Tn})}}if(!(_t>=it.maxNodeNum)){var Br=it.findForwardPureEdges(xn,Kn.edges[ee[0]],$e,Kn);Br.forEach(function(Fr){var Zr="".concat(ie,"-").concat(Fr.label,"-").concat($n[Fr.to].label);Xe[Zr]||(Xe[Zr]={projected:[],fromNodeId:ie,edgeLabel:Fr.label,nodeLabel2:$n[Fr.to].label}),Xe[Zr].projected.push({graphId:Tn.graphId,edge:Fr,preNode:Tn})});for(var Ur=function(Zr){var Wr=it.findForwardRmpathEdges(xn,Kn.edges[ee[Zr]],$e,Kn);Wr.forEach(function($r){var Bi="".concat(it.dfsCode.dfsEdgeList[ee[Zr]].fromNode,"-").concat($r.label,"-").concat($n[$r.to].label);Xe[Bi]||(Xe[Bi]={projected:[],fromNodeId:it.dfsCode.dfsEdgeList[ee[Zr]].fromNode,edgeLabel:$r.label,nodeLabel2:$n[$r.to].label}),Xe[Bi].projected.push({graphId:Tn.graphId,edge:$r,preNode:Tn})})},lr=0;lrFr){var Zr=Fr;Fr=Ur,Ur=Zr}var Wr=Br.label,$r="".concat(mn,"-").concat(Ur,"-").concat(Wr,"-").concat(Fr),Bi="".concat(Ur,"-").concat(Wr,"-").concat(Fr);if(!ie[Bi]){var vi=ie[Bi]||0;vi++,ie[Bi]=vi}Xe[$r]={graphId:mn,nodeLabel1:Ur,edgeLabel:Wr,nodeLabel2:Fr}})})}),Object.keys(ee).forEach(function(mn){var Tn=ee[mn];if(!(Tn2*it)););if(cr<2*it&&($e["".concat(Tn,"-").concat(gr)]={start:Tn,end:gr,distance:ee[Tn][gr]},xn++,Xe++,Xe>=Et))return $e;if($n++,$n>2*it)break}if(xn$n&&(Xe=$n);var Kn=Et[xn.id].inDegree;mn>Kn&&(mn=Kn);var lr=Et[xn.id].outDegree;Tn>lr&&(Tn=lr)}),$[it]={degree:Xe,inDegree:mn,outDegree:Tn}),{minPatternNodeLabelDegree:Xe,minPatternNodeLabelInDegree:mn,minPatternNodeLabelOutDegree:Tn}},ds=function($,it,Et,_t,ee,ie,$e){var Xe;if(Et===void 0&&(Et=!1),ie===void 0&&(ie="cluster"),$e===void 0&&($e="cluster"),!(!$||!$.nodes)){var mn=$.nodes.length;if(mn){var Tn=ka($,Et),xn=ka(it,Et),$n=xa($.nodes,Tn,Et),Kn=xa(it.nodes,xn,Et),lr=Ro($.nodes,ie),gr=lr.nodeMap,cr=lr.nodeLabelMap,Br=Ro(it.nodes,ie),Ur=Br.nodeMap,Fr=Br.nodeLabelMap;Qo($.edges,$e,gr);var Zr=Qo(it.edges,$e,Ur).edgeLabelMap,Wr=[];xn==null||xn.forEach(function(oi){Wr=Wr.concat(oi)}),ee||(ee=Math.max.apply(Math,(0,or.ev)((0,or.ev)([],Wr,!1),[2],!1))),_t||(_t=ee);var $r=Co($,Tn,ie,_t),Bi=Co(it,xn,ie,_t),vi=Math.min(100,mn*(mn-1)/2),fi=fA(_t,mn,vi,$r,Tn),Mi=Xs(fi,$r,$),bi=10,W=1,H=1,Q=4,k={graphs:Mi,nodeLabelProp:ie,edgeLabelProp:$e,minSupport:W,minNodeNum:H,maxNodeNum:Q,directed:Et},Y=nl(k).slice(0,bi),at=Y.length,ht=[];Y.forEach(function(oi,xi){ht[xi]={},Object.keys(Mi).forEach(function(gi){var Ti=Mi[gi],va=So(Ti,oi,ie,$e);ht[xi][gi]=va})});var ut=OA(ht,at,Y),yt=ut.structure,Ht=ut.structureCountMap,he=it.nodes[0],xe=[],ke=(Xe=it.nodes[0])===null||Xe===void 0?void 0:Xe[ie],Ye=-1/0;it.nodes.forEach(function(oi){var xi=oi[ie],gi=cr[xi];(gi==null?void 0:gi.length)>Ye&&(Ye=gi.length,xe=gi,ke=xi,he=oi)});var cn={},_n={},Mn={},tr={},nr={},Ar={};Object.keys(Fr).forEach(function(oi,xi){nr[oi]=[],Et&&(Ar[oi]=[]);var gi=-1/0,Ti=Fr[oi],va={};Ti.forEach(function(ki){var _i=Kn["".concat(he.id,"-").concat(ki.id)];if(_i&&nr[oi].push(_i),gi<_i&&(gi=_i),va["".concat(he.id,"-").concat(ki.id)]={start:0,end:Ur[ki.id].idx,distance:_i},Et){var Ma=Kn["".concat(ki.id,"-").concat(he.id)];Ma&&Ar[oi].push(Ma)}}),nr[oi]=nr[oi].sort(function(ki,_i){return ki-_i}),Et&&(Ar[oi]=Ar[oi].sort(function(ki,_i){return ki-_i})),_n=Xs(va,Bi,it,_n);var Ai=[];if(Object.keys(va).forEach(function(ki){if(Mn[ki]){Ai.push(Mn[ki]);return}var _i=_n[ki];Mn[ki]=So(_i,yt,ie,$e),Ai.push(Mn[ki])}),Ai=Ai.sort(function(ki,_i){return _i-ki}),tr["".concat(he.id,"-").concat(oi)]=Ai,oi!==ke)for(var Yi=(xe==null?void 0:xe.length)||0,Qi=function(_i){var Ma=xe[_i],Ls=$r[gr[Ma.id].idx],Ya=Ls.nodeLabelCountMap[oi],zo=Fr[oi].length;if(!Ya||Ya.countnr[oi][Bs]){tA=!0;break}if(tA)return xe.splice(_i,1),"continue";var ks={};Ls.neighbors.forEach(function(ts){var _s=$n["".concat(Ma.id,"-").concat(ts.id)];ks["".concat(Ma.id,"-").concat(ts.id)]={start:gr[Ma.id].idx,end:gr[ts.id].idx,distance:_s}}),Mi=Xs(ks,$r,$,Mi);var go=[];Object.keys(ks).forEach(function(ts){if(Ht[ts]){go.push(Ht[ts]);return}var _s=Mi[ts];Ht[ts]=So(_s,yt,ie,$e),go.push(Ht[ts])}),go=go.sort(function(ts,_s){return _s-ts});for(var vo=!1,Bs=0;Bs=0;ma--)Qi(ma)});var pr=[];xe==null||xe.forEach(function(oi){for(var xi=gr[oi.id].idx,gi=Ss($.nodes,Tn[xi],xi,ie,ee),Ti=gi.neighbors,va=Ti.length,Ai=!1,Yi=va-1;Yi>=0;Yi--){if(Ti.length+1Ls){Ti.splice(Yi,1);continue}if(Et){var Ya="".concat(Qi.id,"-").concat(oi.id),zo=$n[Ya];Ma=Ar[ma].length-1;var tA=Ar[ma][Ma];if(zo>tA){Ti.splice(Yi,1);continue}}var Bs=Ht[ki]?Ht[ki]:Ms($,oi,Qi,gr,_i,$r,yt,ie,$e,Ht,Mi),ks="".concat(he.id,"-").concat(ma),go=tr[ks][tr[ks].length-1];if(Bs=0;_i--){var tA=zo(_i);if(tA==="break")break}if(Ya)return pr.splice(xi,1),"continue";gi.edges=Yi;var Bs=ro(gi,gi.nodes[0].id,!1).length;if(Object.keys(Bs).reverse().forEach(function(ya){if(!(ya===gi.nodes[0].id||Ya)){if(Bs[ya]===1/0){var gs=Ai[ya].node[ie];if(va[gs]--,va[gs]Dr[Js][Dr[Js].length-1]){var gs=Ai[ya].node[ie];if(va[gs]--,va[gs]=0;_s--){var Hs=gi.nodes[_s],rl=Ai[Hs.id].degree,LA=Ai[Hs.id].inDegree,Vl=Ai[Hs.id].outDegree,dA=Hs[ie],po=Mo(cn,dA,Ur,Fr),NA=po.minPatternNodeLabelDegree,Tc=po.minPatternNodeLabelInDegree,eA=po.minPatternNodeLabelOutDegree,pl=Et?rl=0;Za--){var lo=Yi[Za];if(!Ai[lo.source]||!Ai[lo.target]){Yi.splice(Za,1);var nA=lo[$e];if(Qi[nA]--,Ai[lo.source]&&(Ai[lo.source].degree--,Ai[lo.source].outDegree--),Ai[lo.target]&&(Ai[lo.target].degree--,Ai[lo.target].inDegree--),Zr[nA]&&Qi[nA]=0;yi--){var ji=ii(yi);if(ji==="break")break}for(var qi=pr.length,Fi=function(xi){var gi=pr[xi],Ti={};gi.edges.forEach(function(Yi){var Qi="".concat(Yi.source,"-").concat(Yi.target,"-").concat(Yi.label);Ti[Qi]?Ti[Qi]++:Ti[Qi]=1});for(var va=function(Qi){var ma=pr[Qi],ki={};ma.edges.forEach(function(Ma){var Ls="".concat(Ma.source,"-").concat(Ma.target,"-").concat(Ma.label);ki[Ls]?ki[Ls]++:ki[Ls]=1});var _i=!0;Object.keys(ki).length!==Object.keys(Ti).length?_i=!1:Object.keys(Ti).forEach(function(Ma){ki[Ma]!==Ti[Ma]&&(_i=!1)}),_i&&pr.splice(Qi,1)},Ai=qi-1;Ai>xi;Ai--)va(Ai);qi=pr.length},yi=0;yi<=qi-1;yi++)Fi(yi);return pr}}},ko=ds,FA=function(){function Ct($){$===void 0&&($=10),this.linkedList=new S,this.maxStep=$}return Object.defineProperty(Ct.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),Ct.prototype.isEmpty=function(){return!this.linkedList.head},Ct.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},Ct.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},Ct.prototype.push=function($){this.linkedList.prepend($),this.length>this.maxStep&&this.linkedList.deleteTail()},Ct.prototype.pop=function(){var $=this.linkedList.deleteHead();return $?$.value:null},Ct.prototype.toArray=function(){return this.linkedList.toArray().map(function($){return $.value})},Ct.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},Ct}(),_o=FA,To=Rn,IA={getAdjMatrix:R,breadthFirstSearch:pt,connectedComponent:Mt,getDegree:Ut,getInDegree:jt,getOutDegree:Gt,detectCycle:Rn,detectDirectedCycle:To,detectAllCycles:wn,detectAllDirectedCycle:Ln,detectAllUndirectedCycle:En,depthFirstSearch:sn,dijkstra:ro,findAllPath:Ds,findShortestPath:Ws,floydWarshall:ka,labelPropagation:No,louvain:Ia,iLouvain:Jo,kCore:Qs,kMeans:Sa,cosineSimilarity:zi,nodesCosineSimilarity:Ao,minimumSpanningTree:ja,pageRank:Cs,getNeighbors:D,Stack:_o,GADDI:ko}},86314:function(gt,dt,g){"use strict";g.d(dt,{MG:function(){return w},V7:function(){return E},Yq:function(){return S},eR:function(){return Z},jt:function(){return D},tT:function(){return K}});var c=g(80813),R=g(76075),P=g(69014);function U(tt){return typeof tt=="boolean"?!1:"enter"in tt&&"update"in tt&&"exit"in tt}function w(tt){if(!tt)return{enter:!1,update:!1,exit:!1};var V=["enter","update","exit"],pt=Object.fromEntries(Object.entries(tt).filter(function(st){var X=(0,c.CR)(st,1),Mt=X[0];return!V.includes(Mt)}));return Object.fromEntries(V.map(function(st){return U(tt)?tt[st]===!1?[st,!1]:[st,(0,c.pi)((0,c.pi)({},tt[st]),pt)]:[st,pt]}))}function S(tt,V){tt?tt.finished.then(V):V()}function E(tt,V){tt.length===0?V():Promise.all(tt.map(function(pt){return pt==null?void 0:pt.finished})).then(V)}function L(tt,V){"update"in tt?tt.update(V):tt.attr(V)}function D(tt,V,pt){if(V.length===0)return null;if(!pt){var st=V.slice(-1)[0];return L(tt,{style:st}),null}return tt.animate(V,pt)}function T(tt,V){return!(tt.nodeName!=="text"||V.nodeName!=="text"||tt.attributes.text!==V.attributes.text)}function K(tt,V,pt,st){if(st===void 0&&(st="destroy"),T(tt,V))return tt.remove(),[null];var X=function(){st==="destroy"?tt.destroy():st==="hide"&&(0,P.Cp)(tt),V.isVisible()&&(0,P.$Z)(V)};if(!pt)return X(),[null];var Mt=pt.duration,ft=Mt===void 0?0:Mt,Ut=pt.delay,jt=Ut===void 0?0:Ut,Gt=Math.ceil(+ft/2),Oe=+ft/4,de=(0,c.CR)(tt.getGeometryBounds().center,2),sn=de[0],Be=de[1],En=(0,c.CR)(V.getGeometryBounds().center,2),Ln=En[0],wn=En[1],Rn=(0,c.CR)([(sn+Ln)/2-sn,(Be+wn)/2-Be],2),or=Rn[0],pn=Rn[1],zn=tt.style.opacity,Pt=zn===void 0?1:zn,Se=V.style.opacity,Un=Se===void 0?1:Se,On=tt.style.transform||"",ze=V.style.transform||"",tn=tt.animate([{opacity:Pt,transform:"translate(0, 0) ".concat(On)},{opacity:0,transform:"translate(".concat(or,", ").concat(pn,") ").concat(On)}],(0,c.pi)((0,c.pi)({fill:"both"},pt),{duration:jt+Gt+Oe})),ln=V.animate([{opacity:0,transform:"translate(".concat(-or,", ").concat(-pn,") ").concat(ze),offset:.01},{opacity:Un,transform:"translate(0, 0) ".concat(ze)}],(0,c.pi)((0,c.pi)({fill:"both"},pt),{duration:Gt+Oe,delay:jt+Gt-Oe}));return S(ln,X),[tn,ln]}function Z(tt,V,pt){var st={},X={};return Object.entries(V).forEach(function(Mt){var ft=(0,c.CR)(Mt,2),Ut=ft[0],jt=ft[1];if(!(0,R.Z)(jt)){var Gt=tt.style[Ut]||tt.parsedStyle[Ut]||0;Gt!==jt&&(st[Ut]=Gt,X[Ut]=jt)}}),pt?D(tt,[st,X],(0,c.pi)({fill:"both"},pt)):(L(tt,X),null)}},97304:function(gt,dt,g){"use strict";g.d(dt,{w:function(){return E}});var c=g(80813),R=g(66623),P=g(69014),U=g(99247),w=g(16915);function S(){(0,P.WD)(this,this.attributes.visibility!=="hidden")}var E=function(L){(0,c.ZT)(D,L);function D(T,K){K===void 0&&(K={});var Z=L.call(this,(0,U.n)({},{style:K},T))||this;return Z.initialized=!1,Z._defaultOptions=K,Z}return Object.defineProperty(D.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,w.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(D.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),D.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},D.prototype.disconnectedCallback=function(){var T;(T=this._offscreen)===null||T===void 0||T.destroy()},D.prototype.attributeChangedCallback=function(T){T==="visibility"&&S.call(this)},D.prototype.update=function(T,K){var Z;return this.attr((0,U.n)({},this.attributes,T||{})),(Z=this.render)===null||Z===void 0?void 0:Z.call(this,this.attributes,this,K)},D.prototype.clear=function(){this.removeChildren()},D.prototype.bindEvents=function(T,K){},D.prototype.getSubShapeStyle=function(T){var K=T.x,Z=T.y,tt=T.transform,V=T.transformOrigin,pt=T.class,st=T.className,X=T.zIndex,Mt=(0,c._T)(T,["x","y","transform","transformOrigin","class","className","zIndex"]);return Mt},D}(R.b_)},42777:function(gt,dt,g){"use strict";g.d(dt,{x:function(){return U}});var c=g(80813),R=g(66623),P=g(16915),U=function(w){(0,c.ZT)(S,w);function S(E){E===void 0&&(E={});var L=E.style,D=(0,c._T)(E,["style"]);return w.call(this,(0,c.pi)({style:(0,c.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},L)},D))||this}return Object.defineProperty(S.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,P.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),S.prototype.disconnectedCallback=function(){var E;(E=this._offscreen)===null||E===void 0||E.destroy()},S}(R.xv)},65244:function(gt,dt,g){"use strict";g.d(dt,{W:function(){return en}});var c=g(80813),R=g(97304),P=g(66623),U=g(88839),w=g(38974),S=g(17911),E=g(58688),L=g(33253),D=g(98294),T=g(67756);function K(vt,mt,ct){return ct?"".concat(vt," ").concat(ct,"legend-").concat(mt):vt}function Z(vt,mt,ct){var xt=vt.classNamePrefix,zt=xt===void 0?"":xt;return K(mt.name,ct,zt)}var tt={title:"title",item:"item",marker:"marker",label:"label",value:"value",focusIcon:"focus-icon",background:"background",ribbon:"ribbon",track:"track",selection:"selection",handle:"handle",handleMarker:"handle-marker",handleLabel:"handle-label",indicator:"indicator",prevBtn:"prev-btn",nextBtn:"next-btn",pageInfo:"page-info"},V=(0,E.A)({text:"text"},"title");function pt(vt,mt){var ct=vt.attributes,xt=ct.position,zt=ct.spacing,Fe=ct.inset,Vt=ct.text,Te=vt.getBBox(),Je=mt.getBBox(),Sn=(0,L.l)(xt),Nn=(0,c.CR)((0,D.j)(Vt?zt:0),4),er=Nn[0],kn=Nn[1],Wn=Nn[2],dr=Nn[3],Re=(0,c.CR)((0,D.j)(Fe),4),Bn=Re[0],ar=Re[1],Gn=Re[2],kr=Re[3],Qr=(0,c.CR)([dr+kn,er+Wn],2),Cr=Qr[0],br=Qr[1],ei=(0,c.CR)([kr+ar,Bn+Gn],2),wr=ei[0],Yr=ei[1];if(Sn[0]==="l")return new S.b(Te.x,Te.y,Je.width+Te.width+Cr+wr,Math.max(Je.height+Yr,Te.height));if(Sn[0]==="t")return new S.b(Te.x,Te.y,Math.max(Je.width+wr,Te.width),Je.height+Te.height+br+Yr);var mi=(0,c.CR)([mt.attributes.width||Je.width,mt.attributes.height||Je.height],2),an=mi[0],re=mi[1];return new S.b(Je.x,Je.y,an+Te.width+Cr+wr,re+Te.height+br+Yr)}function st(vt,mt){var ct=Object.entries(mt).reduce(function(xt,zt){var Fe=(0,c.CR)(zt,2),Vt=Fe[0],Te=Fe[1],Je=vt.node().attr(Vt);return Je||(xt[Vt]=Te),xt},{});vt.styles(ct)}function X(vt){var mt,ct,xt,zt,Fe=vt,Vt=Fe.width,Te=Fe.height,Je=Fe.position,Sn=(0,c.CR)([+Vt/2,+Te/2],2),Nn=Sn[0],er=Sn[1],kn=(0,c.CR)([+Nn,+er,"center","middle"],4),Wn=kn[0],dr=kn[1],Re=kn[2],Bn=kn[3],ar=(0,L.l)(Je);return ar.includes("l")&&(mt=(0,c.CR)([0,"start"],2),Wn=mt[0],Re=mt[1]),ar.includes("r")&&(ct=(0,c.CR)([+Vt,"end"],2),Wn=ct[0],Re=ct[1]),ar.includes("t")&&(xt=(0,c.CR)([0,"top"],2),dr=xt[0],Bn=xt[1]),ar.includes("b")&&(zt=(0,c.CR)([+Te,"bottom"],2),dr=zt[0],Bn=zt[1]),{x:Wn,y:dr,textAlign:Re,textBaseline:Bn}}var Mt=function(vt){(0,c.ZT)(mt,vt);function mt(ct){return vt.call(this,ct,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return mt.prototype.getAvailableSpace=function(){var ct=this,xt=this.attributes,zt=xt.width,Fe=xt.height,Vt=xt.position,Te=xt.spacing,Je=xt.inset,Sn=ct.querySelector(V.text.class);if(!Sn)return new S.b(0,0,+zt,+Fe);var Nn=Sn.getBBox(),er=Nn.width,kn=Nn.height,Wn=(0,c.CR)((0,D.j)(Te),4),dr=Wn[0],Re=Wn[1],Bn=Wn[2],ar=Wn[3],Gn=(0,c.CR)([0,0,+zt,+Fe],4),kr=Gn[0],Qr=Gn[1],Cr=Gn[2],br=Gn[3],ei=(0,L.l)(Vt);if(ei.includes("i"))return new S.b(kr,Qr,Cr,br);ei.forEach(function(on,Pn){var jn,qn,xr,Mr;on==="t"&&(jn=(0,c.CR)(Pn===0?[kn+Bn,+Fe-kn-Bn]:[0,+Fe],2),Qr=jn[0],br=jn[1]),on==="r"&&(qn=(0,c.CR)([+zt-er-ar],1),Cr=qn[0]),on==="b"&&(xr=(0,c.CR)([+Fe-kn-dr],1),br=xr[0]),on==="l"&&(Mr=(0,c.CR)(Pn===0?[er+Re,+zt-er-Re]:[0,+zt],2),kr=Mr[0],Cr=Mr[1])});var wr=(0,c.CR)((0,D.j)(Je),4),Yr=wr[0],mi=wr[1],an=wr[2],re=wr[3],Ae=(0,c.CR)([re+mi,Yr+an],2),te=Ae[0],_e=Ae[1];return new S.b(kr+re,Qr+Yr,Cr-te,br-_e)},mt.prototype.getBBox=function(){return this.title?this.title.getBBox():new S.b(0,0,0,0)},mt.prototype.render=function(ct,xt){var zt=this,Fe=ct.width,Vt=ct.height,Te=ct.position,Je=ct.spacing,Sn=ct.classNamePrefix,Nn=(0,c._T)(ct,["width","height","position","spacing","classNamePrefix"]),er=(0,c.CR)((0,U.Hm)(Nn),1),kn=er[0],Wn=X(ct),dr=Wn.x,Re=Wn.y,Bn=Wn.textAlign,ar=Wn.textBaseline;(0,T.z)(!!Nn.text,(0,w.Ys)(xt),function(Gn){var kr=K(V.text.name,tt.title,Sn);zt.title=Gn.maybeAppendByClassName(V.text,"text").attr("className",kr).styles(kn).call(st,{x:dr,y:Re,textAlign:Bn,textBaseline:ar}).node()})},mt}(R.w),ft=function(){},Ut=g(37004),jt=g(38242);function Gt(vt,mt){return vt.reduce(function(ct,xt){return(ct[xt[mt]]=ct[xt[mt]]||[]).push(xt),ct},{})}var Oe=g(99247),de=g(70208),sn=g(78431),Be=g(86314);function En(vt){var mt;return((mt=vt[0])===null||mt===void 0?void 0:mt.map(function(ct,xt){return vt.map(function(zt){return zt[xt]})}))||[]}var Ln=g(69014),wn=g(99769),Rn=function(vt,mt,ct){return[["M",vt-ct,mt],["A",ct,ct,0,1,0,vt+ct,mt],["A",ct,ct,0,1,0,vt-ct,mt],["Z"]]},or=Rn,pn=function(vt,mt,ct){return[["M",vt-ct,mt-ct],["L",vt+ct,mt-ct],["L",vt+ct,mt+ct],["L",vt-ct,mt+ct],["Z"]]},zn=function(vt,mt,ct){return[["M",vt-ct,mt],["L",vt,mt-ct],["L",vt+ct,mt],["L",vt,mt+ct],["Z"]]},Pt=function(vt,mt,ct){var xt=ct*Math.sin(.3333333333333333*Math.PI);return[["M",vt-ct,mt+xt],["L",vt,mt-xt],["L",vt+ct,mt+xt],["Z"]]},Se=function(vt,mt,ct){var xt=ct*Math.sin(.3333333333333333*Math.PI);return[["M",vt-ct,mt-xt],["L",vt+ct,mt-xt],["L",vt,mt+xt],["Z"]]},Un=function(vt,mt,ct){var xt=ct/2*Math.sqrt(3);return[["M",vt,mt-ct],["L",vt+xt,mt-ct/2],["L",vt+xt,mt+ct/2],["L",vt,mt+ct],["L",vt-xt,mt+ct/2],["L",vt-xt,mt-ct/2],["Z"]]},On=function(vt,mt,ct){var xt=ct-1.5;return[["M",vt-ct,mt-xt],["L",vt+ct,mt+xt],["L",vt+ct,mt-xt],["L",vt-ct,mt+xt],["Z"]]},ze=function(vt,mt,ct){return[["M",vt,mt+ct],["L",vt,mt-ct]]},tn=function(vt,mt,ct){return[["M",vt-ct,mt-ct],["L",vt+ct,mt+ct],["M",vt+ct,mt-ct],["L",vt-ct,mt+ct]]},ln=function(vt,mt,ct){return[["M",vt-ct/2,mt-ct],["L",vt+ct/2,mt-ct],["M",vt,mt-ct],["L",vt,mt+ct],["M",vt-ct/2,mt+ct],["L",vt+ct/2,mt+ct]]},pe=function(vt,mt,ct){return[["M",vt-ct,mt],["L",vt+ct,mt],["M",vt,mt-ct],["L",vt,mt+ct]]},Pe=function(vt,mt,ct){return[["M",vt-ct,mt],["L",vt+ct,mt]]},Ft=function(vt,mt,ct){return[["M",vt-ct,mt],["L",vt+ct,mt]]},Bt=Ft,ve=function(vt,mt,ct){return[["M",vt-ct,mt],["A",ct/2,ct/2,0,1,1,vt,mt],["A",ct/2,ct/2,0,1,0,vt+ct,mt]]},nn=function(vt,mt,ct){return[["M",vt-ct-1,mt-2.5],["L",vt,mt-2.5],["L",vt,mt+2.5],["L",vt+ct+1,mt+2.5]]},Ve=function(vt,mt,ct){return[["M",vt-ct-1,mt+2.5],["L",vt,mt+2.5],["L",vt,mt-2.5],["L",vt+ct+1,mt-2.5]]},ce=function(vt,mt,ct){return[["M",vt-(ct+1),mt+2.5],["L",vt-ct/2,mt+2.5],["L",vt-ct/2,mt-2.5],["L",vt+ct/2,mt-2.5],["L",vt+ct/2,mt+2.5],["L",vt+ct+1,mt+2.5]]};function We(vt,mt){return[["M",vt-5,mt+2.5],["L",vt-5,mt],["L",vt,mt],["L",vt,mt-3],["L",vt,mt+3],["L",vt+6.5,mt+3]]}var Me=function(vt,mt,ct){return[["M",vt-ct,mt-ct],["L",vt+ct,mt],["L",vt-ct,mt+ct],["Z"]]},kt=function(vt,mt,ct){var xt=ct,zt=ct*.2,Fe=ct*.7;return[["M",vt-xt,mt],["A",xt,xt,0,1,0,vt+xt,mt],["A",xt,xt,0,1,0,vt-xt,mt],["Z"],["M",vt-Fe,mt],["L",vt-zt,mt],["M",vt+zt,mt],["L",vt+Fe,mt],["M",vt,mt-Fe],["L",vt,mt-zt],["M",vt,mt+zt],["L",vt,mt+Fe]]},ae=(0,E.A)({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"),Ie=function(vt){(0,c.ZT)(mt,vt);function mt(ct){var xt=vt.call(this,ct,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:Me(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(zt,Fe){return"".concat(zt,"/").concat(Fe)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return xt.playState="idle",xt.contentGroup=xt.appendChild(new P.ZA({class:ae.contentGroup.name})),xt.playWindow=xt.contentGroup.appendChild(new P.ZA({class:ae.playWindow.name})),xt.innerCurrPage=xt.defaultPage,xt}return Object.defineProperty(mt.prototype,"defaultPage",{get:function(){var ct=this.attributes.defaultPage;return(0,de.Z)(ct,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"pageShape",{get:function(){var ct=this.pageViews,xt=(0,c.CR)(En(ct.map(function(er){var kn=er.getBBox(),Wn=kn.width,dr=kn.height;return[Wn,dr]})).map(function(er){return Math.max.apply(Math,(0,c.ev)([],(0,c.CR)(er),!1))}),2),zt=xt[0],Fe=xt[1],Vt=this.attributes,Te=Vt.pageWidth,Je=Te===void 0?zt:Te,Sn=Vt.pageHeight,Nn=Sn===void 0?Fe:Sn;return{pageWidth:Je,pageHeight:Nn}},enumerable:!1,configurable:!0}),mt.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(mt.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),mt.prototype.getBBox=function(){var ct=vt.prototype.getBBox.call(this),xt=ct.x,zt=ct.y,Fe=this.controllerShape,Vt=this.pageShape,Te=Vt.pageWidth,Je=Vt.pageHeight;return new S.b(xt,zt,Te+Fe.width,Je)},mt.prototype.goTo=function(ct){var xt=this,zt=this.attributes.animate,Fe=this,Vt=Fe.currPage,Te=Fe.playState,Je=Fe.playWindow,Sn=Fe.pageViews;if(Te!=="idle"||ct<0||Sn.length<=0||ct>=Sn.length)return null;Sn[Vt].setLocalPosition(0,0),this.prepareFollowingPage(ct);var Nn=(0,c.CR)(this.getFollowingPageDiff(ct),2),er=Nn[0],kn=Nn[1];this.playState="running";var Wn=(0,Be.jt)(Je,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-er,", ").concat(-kn,")")}],zt);return(0,Be.Yq)(Wn,function(){xt.innerCurrPage=ct,xt.playState="idle",xt.setVisiblePages([ct]),xt.updatePageInfo()}),Wn},mt.prototype.prev=function(){var ct=this.attributes.loop,xt=this.pageViews.length,zt=this.currPage;if(!ct&&zt<=0)return null;var Fe=ct?(zt-1+xt)%xt:(0,de.Z)(zt-1,0,xt);return this.goTo(Fe)},mt.prototype.next=function(){var ct=this.attributes.loop,xt=this.pageViews.length,zt=this.currPage;if(!ct&&zt>=xt-1)return null;var Fe=ct?(zt+1)%xt:(0,de.Z)(zt+1,0,xt);return this.goTo(Fe)},mt.prototype.renderClipPath=function(ct){var xt=this.pageShape,zt=xt.pageWidth,Fe=xt.pageHeight;if(!zt||!Fe){this.contentGroup.style.clipPath=void 0;return}this.clipPath=ct.maybeAppendByClassName(ae.clipPath,"rect").styles({width:zt,height:Fe}),this.contentGroup.attr("clipPath",this.clipPath.node())},mt.prototype.setVisiblePages=function(ct){this.playWindow.children.forEach(function(xt,zt){ct.includes(zt)?(0,Ln.$Z)(xt):(0,Ln.Cp)(xt)})},mt.prototype.adjustControllerLayout=function(){var ct=this,xt=ct.prevBtnGroup,zt=ct.nextBtnGroup,Fe=ct.pageInfoGroup,Vt=this.attributes,Te=Vt.orientation,Je=Vt.controllerPadding,Sn=Fe.getBBox(),Nn=Sn.width,er=Sn.height,kn=(0,c.CR)(Te==="horizontal"?[-180,0]:[-90,90],2),Wn=kn[0],dr=kn[1];xt.setLocalEulerAngles(Wn),zt.setLocalEulerAngles(dr);var Re=xt.getBBox(),Bn=Re.width,ar=Re.height,Gn=zt.getBBox(),kr=Gn.width,Qr=Gn.height,Cr=Math.max(Bn,Nn,kr),br=Te==="horizontal"?{offset:[[0,0],[Bn/2+Je,0],[Bn+Nn+Je*2,0]],textAlign:"start"}:{offset:[[Cr/2,-ar-Je],[Cr/2,0],[Cr/2,Qr+Je]],textAlign:"center"},ei=(0,c.CR)(br.offset,3),wr=(0,c.CR)(ei[0],2),Yr=wr[0],mi=wr[1],an=(0,c.CR)(ei[1],2),re=an[0],Ae=an[1],te=(0,c.CR)(ei[2],2),_e=te[0],on=te[1],Pn=br.textAlign,jn=Fe.querySelector("text");jn&&(jn.style.textAlign=Pn),xt.setLocalPosition(Yr,mi),Fe.setLocalPosition(re,Ae),zt.setLocalPosition(_e,on)},mt.prototype.updatePageInfo=function(){var ct,xt=this,zt=xt.currPage,Fe=xt.pageViews,Vt=xt.attributes.formatter;Fe.length<2||((ct=this.pageInfoGroup.querySelector(ae.pageInfo.class))===null||ct===void 0||ct.attr("text",Vt(zt+1,Fe.length)),this.adjustControllerLayout())},mt.prototype.getFollowingPageDiff=function(ct){var xt=this.currPage;if(xt===ct)return[0,0];var zt=this.attributes.orientation,Fe=this.pageShape,Vt=Fe.pageWidth,Te=Fe.pageHeight,Je=ct=2,kn=ct.maybeAppendByClassName(ae.controller,"g");if((0,Ln.WD)(kn.node(),er),!!er){var Wn=(0,U.zs)(this.attributes,"button"),dr=(0,U.zs)(this.attributes,"pageNum"),Re=(0,c.CR)((0,U.Hm)(Wn),2),Bn=Re[0],ar=Re[1],Gn=Bn.size,kr=(0,c._T)(Bn,["size"]),Qr=!kn.select(ae.prevBtnGroup.class).node(),Cr=kn.maybeAppendByClassName(ae.prevBtnGroup,"g").styles(ar);this.prevBtnGroup=Cr.node();var br=Cr.maybeAppendByClassName(ae.prevBtn,"path");if(Te){var ei=K(ae.prevBtn.name,tt.prevBtn,Te);br.node().setAttribute("class",ei)}var wr=kn.maybeAppendByClassName(ae.nextBtnGroup,"g").styles(ar);this.nextBtnGroup=wr.node();var Yr=wr.maybeAppendByClassName(ae.nextBtn,"path");if(Te){var mi=K(ae.nextBtn.name,tt.nextBtn,Te);Yr.node().setAttribute("class",mi)}[br,Yr].forEach(function(te){te.styles((0,c.pi)((0,c.pi)({},kr),{transformOrigin:"center"})),(0,wn.b)(te.node(),Gn,!0)});var an=kn.maybeAppendByClassName(ae.pageInfoGroup,"g");this.pageInfoGroup=an.node();var re=an.maybeAppendByClassName(ae.pageInfo,"text");if(re.styles(dr),Te){var Ae=K(ae.pageInfo.name,tt.pageInfo,Te);re.node().setAttribute("class",Ae)}this.updatePageInfo(),kn.node().setLocalPosition(Sn+Fe,Nn/2),Qr&&(this.prevBtnGroup.addEventListener("click",function(){xt.prev()}),this.nextBtnGroup.addEventListener("click",function(){xt.next()}))}},mt.prototype.render=function(ct,xt){var zt=ct.x,Fe=zt===void 0?0:zt,Vt=ct.y,Te=Vt===void 0?0:Vt;this.attr("transform","translate(".concat(Fe,", ").concat(Te,")"));var Je=(0,w.Ys)(xt);this.renderClipPath(Je),this.renderController(Je),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},mt.prototype.bindEvents=function(){var ct=this,xt=(0,sn.Z)(function(){return ct.render(ct.attributes,ct)},50);this.playWindow.addEventListener(P.Dk.INSERTED,xt),this.playWindow.addEventListener(P.Dk.REMOVED,xt)},mt}(R.w),F=g(71018),rt=g(93785),ue=g(71879);function se(vt){var mt="default";if((0,rt.Z)(vt)&&vt instanceof Image)mt="image";else if((0,F.Z)(vt))mt="symbol";else if((0,ue.Z)(vt)){var ct=new RegExp("data:(image|text)");vt.match(ct)?mt="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(vt)?mt="url":mt="symbol"}return mt}function je(vt){var mt=se(vt);return["base64","url","image"].includes(mt)?"image":vt&&mt==="symbol"?"path":null}var Ke=function(vt){(0,c.ZT)(mt,vt);function mt(){return vt!==null&&vt.apply(this,arguments)||this}return mt.prototype.render=function(ct,xt){var zt=ct.x,Fe=zt===void 0?0:zt,Vt=ct.y,Te=Vt===void 0?0:Vt,Je=this.getSubShapeStyle(ct),Sn=Je.symbol,Nn=Je.size,er=Nn===void 0?16:Nn,kn=(0,c._T)(Je,["symbol","size"]),Wn=je(Sn);(0,T.z)(!!Wn,(0,w.Ys)(xt),function(dr){dr.maybeAppendByClassName("marker",Wn).attr("className","marker ".concat(Wn,"-marker")).call(function(Re){if(Wn==="image"){var Bn=er*2;Re.styles({img:Sn,width:Bn,height:Bn,x:Fe-er,y:Te-er})}else{var Bn=er/2,ar=(0,F.Z)(Sn)?Sn:mt.getSymbol(Sn);Re.styles((0,c.pi)({d:ar==null?void 0:ar(Fe,Te,Bn)},kn))}})})},mt.MARKER_SYMBOL_MAP=new Map,mt.registerSymbol=function(ct,xt){mt.MARKER_SYMBOL_MAP.set(ct,xt)},mt.getSymbol=function(ct){return mt.MARKER_SYMBOL_MAP.get(ct)},mt.getSymbols=function(){return Array.from(mt.MARKER_SYMBOL_MAP.keys())},mt}(R.w);Ke.registerSymbol("cross",tn),Ke.registerSymbol("hyphen",Pe),Ke.registerSymbol("line",ze),Ke.registerSymbol("plus",pe),Ke.registerSymbol("tick",ln),Ke.registerSymbol("circle",Rn),Ke.registerSymbol("point",or),Ke.registerSymbol("bowtie",On),Ke.registerSymbol("hexagon",Un),Ke.registerSymbol("square",pn),Ke.registerSymbol("diamond",zn),Ke.registerSymbol("triangle",Pt),Ke.registerSymbol("triangle-down",Se),Ke.registerSymbol("line",ze),Ke.registerSymbol("dot",Ft),Ke.registerSymbol("dash",Bt),Ke.registerSymbol("smooth",ve),Ke.registerSymbol("hv",nn),Ke.registerSymbol("vh",Ve),Ke.registerSymbol("hvh",ce),Ke.registerSymbol("vhv",We),Ke.registerSymbol("focus",kt);function Cn(vt,mt,ct){var xt=Math.round((vt-ct)/mt);return ct+xt*mt}function bt(vt,mt,ct){var xt=1.4,zt=xt*ct;return[["M",vt-ct,mt-zt],["L",vt+ct,mt-zt],["L",vt+ct,mt+zt],["L",vt-ct,mt+zt],["Z"]]}var nt=1.4,Nt=.4;function Yt(vt,mt,ct){var xt=ct,zt=xt*nt,Fe=xt/2,Vt=xt/6,Te=vt+zt*Nt;return[["M",vt,mt],["L",Te,mt+Fe],["L",vt+zt,mt+Fe],["L",vt+zt,mt-Fe],["L",Te,mt-Fe],["Z"],["M",Te,mt+Vt],["L",vt+zt-2,mt+Vt],["M",Te,mt-Vt],["L",vt+zt-2,mt-Vt]]}function It(vt,mt,ct){var xt=ct,zt=xt*nt,Fe=xt/2,Vt=xt/6,Te=mt+zt*Nt;return[["M",vt,mt],["L",vt-Fe,Te],["L",vt-Fe,mt+zt],["L",vt+Fe,mt+zt],["L",vt+Fe,Te],["Z"],["M",vt-Vt,Te],["L",vt-Vt,mt+zt-2],["M",vt+Vt,Te],["L",vt+Vt,mt+zt-2]]}Ke.registerSymbol("hiddenHandle",bt),Ke.registerSymbol("verticalHandle",Yt),Ke.registerSymbol("horizontalHandle",It);var Qt=function(vt,mt,ct){return vt===void 0&&(vt="horizontal"),vt==="horizontal"?mt:ct};function Wt(vt,mt,ct,xt){var zt;xt===void 0&&(xt=4);var Fe=__read(vt,2),Vt=Fe[0],Te=Fe[1],Je=__read(mt,2),Sn=Je[0],Nn=Je[1],er=__read(ct,2),kn=er[0],Wn=er[1],dr=__read([Sn,Nn],2),Re=dr[0],Bn=dr[1],ar=Bn-Re;return Re>Bn&&(zt=__read([Bn,Re],2),Re=zt[0],Bn=zt[1]),ar>Te-Vt?[Vt,Te]:ReTe?Wn===Te&&kn===Re?[Re,Te]:[Te-ar,Te]:[Re,Bn]}function ge(vt,mt,ct){return vt===void 0&&(vt="horizontal"),vt==="horizontal"?mt:ct}var me=g(49527),oe=g(2080),Ge=g(88170),fn=g(53160),An=g(23343);function Qn(vt,mt){for(var ct in mt)mt.hasOwnProperty(ct)&&ct!=="constructor"&&mt[ct]!==void 0&&(vt[ct]=mt[ct])}function Yn(vt,mt,ct,xt){return mt&&Qn(vt,mt),ct&&Qn(vt,ct),xt&&Qn(vt,xt),vt}var Vn=g(5759);function Nr(vt){return vt instanceof Element||vt instanceof Document}var ur,yr="component-poptip",be={CONTAINER:"component-poptip",ARROW:"component-poptip-arrow",TEXT:"component-poptip-text"},ri=(ur={},ur[".".concat(be.CONTAINER)]={visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},ur[".".concat(be.TEXT)]={"text-align":"center"},ur[".".concat(be.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, -100%)"},ur[".".concat(be.CONTAINER,"[data-position='left']")]={transform:"translate(-100%, -50%)"},ur[".".concat(be.CONTAINER,"[data-position='right']")]={transform:"translate(0, -50%)"},ur[".".concat(be.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 0)"},ur[".".concat(be.CONTAINER,"[data-position='top-left']")]={transform:"translate(0,-100%)"},ur[".".concat(be.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%,-100%)"},ur[".".concat(be.CONTAINER,"[data-position='left-top']")]={transform:"translate(-100%, 0)"},ur[".".concat(be.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(-100%, -100%)"},ur[".".concat(be.CONTAINER,"[data-position='right-top']")]={transform:"translate(0, 0)"},ur[".".concat(be.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(0, -100%)"},ur[".".concat(be.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 0)"},ur[".".concat(be.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 0)"},ur[".".concat(be.ARROW)]={width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},ur[".".concat(be.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, calc(-100% - 5px))"},ur["[data-position='top'] .".concat(be.ARROW)]={bottom:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='left']")]={transform:"translate(calc(-100% - 5px), -50%)"},ur["[data-position='left'] .".concat(be.ARROW)]={right:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='right']")]={transform:"translate(5px, -50%)"},ur["[data-position='right'] .".concat(be.ARROW)]={left:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 5px)"},ur["[data-position='bottom'] .".concat(be.ARROW)]={top:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='top-left']")]={transform:"translate(0, calc(-100% - 5px))"},ur["[data-position='top-left'] .".concat(be.ARROW)]={left:"10px",bottom:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%, calc(-100% - 5px))"},ur["[data-position='top-right'] .".concat(be.ARROW)]={right:"10px",bottom:"-2px"},ur[".".concat(be.CONTAINER,"[data-position='left-top']")]={transform:"translate(calc(-100% - 5px), 0)"},ur["[data-position='left-top'] .".concat(be.ARROW)]={right:"-2px",top:"8px"},ur[".".concat(be.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(calc(-100% - 5px), -100%)"},ur["[data-position='left-bottom'] .".concat(be.ARROW)]={right:"-2px",bottom:"8px"},ur[".".concat(be.CONTAINER,"[data-position='right-top']")]={transform:"translate(5px, 0)"},ur["[data-position='right-top'] .".concat(be.ARROW)]={left:"-2px",top:"8px"},ur[".".concat(be.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(5px, -100%)"},ur["[data-position='right-bottom'] .".concat(be.ARROW)]={left:"-2px",bottom:"8px"},ur[".".concat(be.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 5px)"},ur["[data-position='bottom-left'] .".concat(be.ARROW)]={top:"-2px",left:"8px"},ur[".".concat(be.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 5px)"},ur["[data-position='bottom-right'] .".concat(be.ARROW)]={top:"-2px",right:"8px"},ur),mr=void 0;function Ze(vt,mt,ct,xt,zt,Fe){if(zt===void 0&&(zt=!1),Fe===void 0&&(Fe=!1),Fe)return[vt,mt];var Vt=ct.getBoundingClientRect(),Te=Vt.x,Je=Vt.y,Sn=Vt.width,Nn=Vt.height;switch(xt){case"top":return zt?[Te+Sn/2,Je]:[vt,Je];case"left":return zt?[Te,Je+Nn/2]:[Te,mt];case"bottom":return zt?[Te+Sn/2,Je+Nn]:[vt,Je+Nn];case"right":return zt?[Te+Sn,Je+Nn/2]:[Te+Sn,mt];case"top-right":case"right-top":return[Te+Sn,Je];case"left-bottom":case"bottom-left":return[Te,Je+Nn];case"right-bottom":case"bottom-right":return[Te+Sn,Je+Nn];case"top-left":case"left-top":default:return[Te,Je]}}var Ce=function(vt){var mt;return function(){for(var ct=[],xt=0;xt');ct.innerHTML=Te,(0,ue.Z)(Fe)?ct.innerHTML+=Fe:Fe&&Nr(Fe)&&ct.appendChild(Fe),Vt&&(ct.getElementsByClassName(be.TEXT)[0].textContent=Vt),this.applyStyles(),this.container.style.visibility=this.visibility},mt.prototype.applyStyles=function(){var ct=(0,Oe.n)({},ri,this.style.domStyles),xt=Object.entries(ct).reduce(function(Fe,Vt){var Te=(0,c.CR)(Vt,2),Je=Te[0],Sn=Te[1],Nn=Object.entries(Sn).reduce(function(er,kn){var Wn=(0,c.CR)(kn,2),dr=Wn[0],Re=Wn[1];return"".concat(er).concat(dr,": ").concat(Re,";")},"");return"".concat(Fe).concat(Je,"{").concat(Nn,"}")},"");if(this.domStyles!==xt){this.domStyles=xt;var zt=this.container.querySelector("style");zt&&this.container.removeChild(zt),zt=document.createElement("style"),zt.innerHTML=xt,this.container.appendChild(zt)}},mt.prototype.setOffsetPosition=function(ct,xt,zt){zt===void 0&&(zt=this.style.offset);var Fe=(0,c.CR)(zt,2),Vt=Fe[0],Te=Vt===void 0?0:Vt,Je=Fe[1],Sn=Je===void 0?0:Je;this.container.style.left="".concat(ct+Te,"px"),this.container.style.top="".concat(xt+Sn,"px")},mt.tag="poptip",mt.defaultOptions={style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:ri,template:'
')}},mt}(R.w),we=(0,E.A)({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",focusGroup:"focus-group",focus:"focus",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item"),De={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};function Ee(vt){var mt=vt.querySelector(we.marker.class);return mt?mt.style:{}}var vn=function(vt){(0,c.ZT)(mt,vt);function mt(ct,xt){var zt=vt.call(this,ct,{span:[1,1],marker:function(){return new P.Cd({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this;return zt.keyFields={},zt.keyFields=xt||{},zt}return Object.defineProperty(mt.prototype,"showValue",{get:function(){var ct=this.attributes.valueText;return ct?typeof ct=="string"||typeof ct=="number"?ct!=="":typeof ct=="function"?!0:ct.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"actualSpace",{get:function(){var ct=this.labelGroup,xt=this.valueGroup,zt=this.attributes,Fe=zt.markerSize,Vt=zt.focus,Te=zt.focusMarkerSize,Je=ct.node().getBBox(),Sn=Je.width,Nn=Je.height,er=xt.node().getBBox(),kn=er.width,Wn=er.height,dr=Vt?Te!=null?Te:12:0;return{markerWidth:Fe,labelWidth:Sn,valueWidth:kn,focusWidth:dr,height:Math.max(Fe,Nn,Wn)}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"span",{get:function(){var ct=this.attributes.span;if(!ct)return[1,1];var xt=(0,c.CR)((0,D.j)(ct),2),zt=xt[0],Fe=xt[1],Vt=this.showValue?Fe:0,Te=zt+Vt;return[zt/Te,Vt/Te]},enumerable:!1,configurable:!0}),mt.prototype.setAttribute=function(ct,xt){vt.prototype.setAttribute.call(this,ct,xt)},Object.defineProperty(mt.prototype,"shape",{get:function(){var ct,xt=this.attributes,zt=xt.markerSize,Fe=xt.width,Vt=this.actualSpace,Te=Vt.markerWidth,Je=Vt.focusWidth,Sn=Vt.height,Nn=this.actualSpace,er=Nn.labelWidth,kn=Nn.valueWidth,Wn=(0,c.CR)(this.spacing,3),dr=Wn[0],Re=Wn[1],Bn=Wn[2];if(Fe){var ar=Fe-zt-dr-Re-Je-Bn,Gn=(0,c.CR)(this.span,2),kr=Gn[0],Qr=Gn[1];ct=(0,c.CR)([kr*ar,Qr*ar],2),er=ct[0],kn=ct[1]}var Cr=Te+er+kn+dr+Re+Je+Bn;return{width:Cr,height:Sn,markerWidth:Te,labelWidth:er,valueWidth:kn,focusWidth:Je}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"spacing",{get:function(){var ct=this.attributes,xt=ct.spacing,zt=ct.focus;if(!xt)return[0,0,0];var Fe=(0,c.CR)((0,D.j)(xt),3),Vt=Fe[0],Te=Fe[1],Je=Fe[2];return[Vt,this.showValue?Te:0,zt?Je:0]},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"layout",{get:function(){var ct=this.shape,xt=ct.markerWidth,zt=ct.labelWidth,Fe=ct.valueWidth,Vt=ct.focusWidth,Te=ct.width,Je=ct.height,Sn=(0,c.CR)(this.spacing,3),Nn=Sn[0],er=Sn[1],kn=Sn[2];return{height:Je,width:Te,markerWidth:xt,labelWidth:zt,valueWidth:Fe,focusWidth:Vt,position:[xt/2,xt+Nn,xt+zt+Nn+er,xt+zt+Fe+Nn+er+kn+Vt/2]}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"scaleSize",{get:function(){var ct=Ee(this.markerGroup.node()),xt=this.attributes,zt=xt.markerSize,Fe=xt.markerStrokeWidth,Vt=Fe===void 0?ct.strokeWidth:Fe,Te=xt.markerLineWidth,Je=Te===void 0?ct.lineWidth:Te,Sn=xt.markerStroke,Nn=Sn===void 0?ct.stroke:Sn,er=+(Vt||Je||(Nn?1:0))*Math.sqrt(2),kn=this.markerGroup.node().getBBox(),Wn=kn.width,dr=kn.height;return(1-er/Math.max(Wn,dr))*zt},enumerable:!1,configurable:!0}),mt.prototype.renderMarker=function(ct){var xt=this,zt=this.attributes,Fe=zt.marker,Vt=zt.classNamePrefix,Te=(0,U.zs)(this.attributes,"marker");this.markerGroup=ct.maybeAppendByClassName(we.markerGroup,"g").style("zIndex",0),(0,T.z)(!!Fe,this.markerGroup,function(){var Je,Sn=xt.markerGroup.node(),Nn=(Je=Sn.childNodes)===null||Je===void 0?void 0:Je[0],er=K(we.marker.name,tt.marker,Vt),kn=typeof Fe=="string"?new Ke({style:{symbol:Fe},className:er}):Fe();if(Nn)if(kn.nodeName===Nn.nodeName)Nn instanceof Ke?Nn.update((0,c.pi)((0,c.pi)({},Te),{symbol:Fe})):((0,oe.DM)(Nn,kn),(0,w.Ys)(Nn).styles(Te));else{if(Nn.remove(),!(kn instanceof Ke)){var dr=K(we.marker.name,tt.marker,Vt);kn.className=dr}(0,w.Ys)(kn).styles(Te),Sn.appendChild(kn)}else{if(!(kn instanceof Ke)){var Wn=K(we.marker.name,tt.marker,Vt);kn.className=Wn,(0,w.Ys)(kn).styles(Te)}Sn.appendChild(kn)}xt.markerGroup.node().scale(1/xt.markerGroup.node().getScale()[0]);var Re=(0,wn.b)(xt.markerGroup.node(),xt.scaleSize,!0);xt.markerGroup.node().style._transform="scale(".concat(Re,")")})},mt.prototype.renderLabel=function(ct){var xt=(0,U.zs)(this.attributes,"label"),zt=xt.text,Fe=(0,c._T)(xt,["text"]),Vt=this.attributes.classNamePrefix;this.labelGroup=ct.maybeAppendByClassName(we.labelGroup,"g").style("zIndex",0);var Te=K(we.label.name,tt.label,Vt),Je=this.labelGroup.maybeAppendByClassName(we.label,function(){return(0,Ge.S)(zt)});Je.node().setAttribute("class",Te),Je.styles(Fe)},mt.prototype.renderValue=function(ct){var xt=this,zt=(0,U.zs)(this.attributes,"value"),Fe=zt.text,Vt=(0,c._T)(zt,["text"]),Te=this.attributes.classNamePrefix;this.valueGroup=ct.maybeAppendByClassName(we.valueGroup,"g").style("zIndex",0),(0,T.z)(this.showValue,this.valueGroup,function(){var Je=K(we.value.name,tt.value,Te),Sn=xt.valueGroup.maybeAppendByClassName(we.value,function(){return(0,Ge.S)(Fe)});Sn.node().setAttribute("class",Je),Sn.styles(Vt)})},mt.prototype.createPoptip=function(){var ct=this.attributes.poptip,xt=ct||{},zt=xt.render,Fe=(0,c._T)(xt,["render"]),Vt=new Zt({style:(0,Oe.n)(De,Fe)});return this.poptipGroup=Vt,Vt},mt.prototype.bindPoptip=function(ct){var xt=this,zt=this.attributes.poptip;if(zt){var Fe=this.poptipGroup||this.createPoptip();Fe.bind(ct,function(){var Vt=xt.attributes,Te=Vt.labelText,Je=Vt.valueText,Sn=Vt.markerFill,Nn=typeof Te=="string"?Te:Te==null?void 0:Te.attr("text"),er=typeof Je=="string"?Je:Je==null?void 0:Je.attr("text");if(typeof zt.render=="function")return{html:zt.render((0,c.pi)((0,c.pi)({},xt.keyFields),{label:Nn,value:er,color:Sn}))};var kn="";return(typeof Nn=="string"||typeof Nn=="number")&&(kn+='
'.concat(Nn,"
")),(typeof er=="string"||typeof er=="number")&&(kn+='
'.concat(er,"
")),{html:kn}})}},mt.prototype.renderFocus=function(ct){var xt=this,zt=this.attributes,Fe=zt.focus,Vt=zt.focusMarkerSize,Te=zt.classNamePrefix,Je={x:0,y:0,size:Vt,opacity:.6,symbol:"focus",stroke:"#aaaaaa",lineWidth:1};(0,me.Z)(Fe)||(this.focusGroup=ct.maybeAppendByClassName(we.focusGroup,"g").style("zIndex",0),(0,T.z)(Fe,this.focusGroup,function(){var Sn=K(we.focus.name,tt.focusIcon,Te),Nn=new Ke({style:(0,c.pi)((0,c.pi)({},Je),{symbol:"focus"}),className:Sn}),er=new P.Cd({style:{r:Je.size/2,fill:"transparent"}}),kn=xt.focusGroup.node();kn.appendChild(er),kn.appendChild(Nn),Nn.update({opacity:0}),ct.node().addEventListener("pointerenter",function(){Nn.update({opacity:1})}),ct.node().addEventListener("pointerleave",function(){Nn.update({opacity:0})})}))},mt.prototype.renderPoptip=function(ct){var xt=this,zt=this.attributes.poptip;if(zt){var Fe=ct.maybeAppendByClassName(we.value,"g").node(),Vt=ct.maybeAppendByClassName(we.label,"g").node();[Fe,Vt].forEach(function(Te){Te&&xt.bindPoptip(Te)})}},mt.prototype.renderBackground=function(ct){var xt=this.shape,zt=xt.width,Fe=xt.height,Vt=(0,U.zs)(this.attributes,"background");this.background=ct.maybeAppendByClassName(we.backgroundGroup,"g").style("zIndex",-1);var Te=this.background.maybeAppendByClassName(we.background,"rect");Te.styles((0,c.pi)({width:zt,height:Fe},Vt));var Je=this.attributes.classNamePrefix,Sn=Je===void 0?"":Je;if(Sn){var Nn=K(we.background.name,tt.background,Sn);Te.node().setAttribute("class",Nn)}},mt.prototype.adjustLayout=function(){var ct=this.layout,xt=ct.labelWidth,zt=ct.valueWidth,Fe=ct.height,Vt=(0,c.CR)(ct.position,4),Te=Vt[0],Je=Vt[1],Sn=Vt[2],Nn=Vt[3],er=Fe/2;this.markerGroup.styles({transform:"translate(".concat(Te,", ").concat(er,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(Je,", ").concat(er,")")}),this.focusGroup&&this.focusGroup.styles({transform:"translate(".concat(Nn,", ").concat(er,")")}),(0,fn.O)(this.labelGroup.select(we.label.class).node(),Math.ceil(xt)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(Sn,", ").concat(er,")")}),(0,fn.O)(this.valueGroup.select(we.value.class).node(),Math.ceil(zt)))},mt.prototype.render=function(ct,xt){var zt=(0,w.Ys)(xt),Fe=ct.x,Vt=Fe===void 0?0:Fe,Te=ct.y,Je=Te===void 0?0:Te;zt.styles({transform:"translate(".concat(Vt,", ").concat(Je,")")}),this.renderMarker(zt),this.renderLabel(zt),this.renderValue(zt),this.renderBackground(zt),this.renderPoptip(zt),this.renderFocus(zt),this.adjustLayout()},mt}(R.w),un=(0,E.A)({page:"item-page",navigator:"navigator",item:"item"},"items"),Xn=function(vt,mt,ct){return ct===void 0&&(ct=!0),vt?mt(vt):ct},ir=function(vt){(0,c.ZT)(mt,vt);function mt(ct){var xt=vt.call(this,ct,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:ft,mouseenter:ft,mouseleave:ft})||this;return xt.navigatorShape=[0,0],xt}return Object.defineProperty(mt.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"grid",{get:function(){var ct=this.attributes,xt=ct.gridRow,zt=ct.gridCol,Fe=ct.data;if(!xt&&!zt)throw new Error("gridRow and gridCol can not be set null at the same time");return xt&&zt?[xt,zt]:xt?[xt,Fe.length]:[Fe.length,zt]},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"renderData",{get:function(){var ct=this.attributes,xt=ct.data,zt=ct.layout,Fe=ct.poptip,Vt=ct.focus,Te=ct.focusMarkerSize,Je=ct.classNamePrefix,Sn=(0,U.zs)(this.attributes,"item"),Nn=xt.map(function(er,kn){var Wn=er.id,dr=Wn===void 0?kn:Wn,Re=er.label,Bn=er.value;return{id:"".concat(dr),index:kn,style:(0,c.pi)({layout:zt,labelText:Re,valueText:Bn,poptip:Fe,focus:Vt,focusMarkerSize:Te,classNamePrefix:Je},Object.fromEntries(Object.entries(Sn).map(function(ar){var Gn=(0,c.CR)(ar,2),kr=Gn[0],Qr=Gn[1];return[kr,(0,jt.S)(Qr,[er,kn,xt])]})))}});return Nn},enumerable:!1,configurable:!0}),mt.prototype.getGridLayout=function(){var ct=this,xt=this.attributes,zt=xt.orientation,Fe=xt.width,Vt=xt.rowPadding,Te=xt.colPadding,Je=(0,c.CR)(this.navigatorShape,1),Sn=Je[0],Nn=(0,c.CR)(this.grid,2),er=Nn[0],kn=Nn[1],Wn=kn*er,dr=0;return this.pageViews.children.map(function(Re,Bn){var ar,Gn,kr=Math.floor(Bn/Wn),Qr=Bn%Wn,Cr=ct.ifHorizontal(kn,er),br=[Math.floor(Qr/Cr),Qr%Cr];zt==="vertical"&&br.reverse();var ei=(0,c.CR)(br,2),wr=ei[0],Yr=ei[1],mi=(Fe-Sn-(kn-1)*Te)/kn,an=Re.getBBox().height,re=(0,c.CR)([0,0],2),Ae=re[0],te=re[1];return zt==="horizontal"?(ar=(0,c.CR)([dr,wr*(an+Vt)],2),Ae=ar[0],te=ar[1],dr=Yr===kn-1?0:dr+mi+Te):(Gn=(0,c.CR)([Yr*(mi+Te),dr],2),Ae=Gn[0],te=Gn[1],dr=wr===er-1?0:dr+an+Vt),{page:kr,index:Bn,row:wr,col:Yr,pageIndex:Qr,width:mi,height:an,x:Ae,y:te}})},mt.prototype.getFlexLayout=function(){var ct=this.attributes,xt=ct.width,zt=ct.height,Fe=ct.rowPadding,Vt=ct.colPadding,Te=(0,c.CR)(this.navigatorShape,1),Je=Te[0],Sn=(0,c.CR)(this.grid,2),Nn=Sn[0],er=Sn[1],kn=(0,c.CR)([xt-Je,zt],2),Wn=kn[0],dr=kn[1],Re=(0,c.CR)([0,0,0,0,0,0,0,0],8),Bn=Re[0],ar=Re[1],Gn=Re[2],kr=Re[3],Qr=Re[4],Cr=Re[5],br=Re[6],ei=Re[7];return this.pageViews.children.map(function(wr,Yr){var mi,an,re,Ae,te=wr.getBBox(),_e=te.width,on=te.height,Pn=br===0?0:Vt,jn=br+Pn+_e;if(jn<=Wn&&Xn(Qr,function(xr){return xr0?(this.navigatorShape=[55,0],ct.call(this)):xt},enumerable:!1,configurable:!0}),mt.prototype.ifHorizontal=function(ct,xt){var zt=this.attributes.orientation;return ge(zt,ct,xt)},mt.prototype.flattenPage=function(ct){ct.querySelectorAll(un.item.class).forEach(function(xt){ct.appendChild(xt)}),ct.querySelectorAll(un.page.class).forEach(function(xt){var zt=ct.removeChild(xt);zt.destroy()})},mt.prototype.renderItems=function(ct){var xt=this.attributes,zt=xt.click,Fe=xt.mouseenter,Vt=xt.mouseleave,Te=xt.classNamePrefix;this.flattenPage(ct);var Je=this.dispatchCustomEvent.bind(this),Sn=K(un.item.name,tt.item,Te);(0,w.Ys)(ct).selectAll(un.item.class).data(this.renderData,function(Nn){return Nn.id}).join(function(Nn){return Nn.append(function(er){var kn=er.style,Wn=(0,c._T)(er,["style"]);return new vn({style:kn},Wn)}).attr("className",Sn).on("click",function(){zt==null||zt(this),Je("itemClick",{item:this})}).on("pointerenter",function(){Fe==null||Fe(this),Je("itemMouseenter",{item:this})}).on("pointerleave",function(){Vt==null||Vt(this),Je("itemMouseleave",{item:this})})},function(Nn){return Nn.each(function(er){var kn=er.style;this.update(kn)})},function(Nn){return Nn.remove()})},mt.prototype.relayoutNavigator=function(){var ct,xt=this.attributes,zt=xt.layout,Fe=xt.width,Vt=((ct=this.pageViews.children[0])===null||ct===void 0?void 0:ct.getBBox().height)||0,Te=(0,c.CR)(this.navigatorShape,2),Je=Te[0],Sn=Te[1];this.navigator.update(zt==="grid"?{pageWidth:Fe-Je,pageHeight:Vt-Sn}:{})},mt.prototype.adjustLayout=function(){var ct=this,xt=Object.entries(Gt(this.itemsLayout,"page")).map(function(Fe){var Vt=(0,c.CR)(Fe,2),Te=Vt[0],Je=Vt[1];return{page:Te,layouts:Je}}),zt=(0,c.ev)([],(0,c.CR)(this.navigator.getContainer().children),!1);xt.forEach(function(Fe){var Vt=Fe.layouts,Te=ct.pageViews.appendChild(new P.ZA({className:un.page.name}));Vt.forEach(function(Je){var Sn=Je.x,Nn=Je.y,er=Je.index,kn=Je.width,Wn=Je.height,dr=zt[er];Te.appendChild(dr),(0,Ut.Z)(dr,"__layout__",Je),dr.update({x:Sn,y:Nn,width:kn,height:Wn})})}),this.relayoutNavigator()},mt.prototype.renderNavigator=function(ct){var xt=this.attributes,zt=xt.orientation,Fe=xt.classNamePrefix,Vt=(0,U.zs)(this.attributes,"nav"),Te=(0,Oe.n)({orientation:zt,classNamePrefix:Fe},Vt),Je=this;return ct.selectAll(un.navigator.class).data(["nav"]).join(function(Sn){return Sn.append(function(){return new Ie({style:Te})}).attr("className",un.navigator.name).each(function(){Je.navigator=this})},function(Sn){return Sn.each(function(){this.update(Te)})},function(Sn){return Sn.remove()}),this.navigator},mt.prototype.getBBox=function(){return this.navigator.getBBox()},mt.prototype.render=function(ct,xt){var zt=this.attributes.data;if(!(!zt||zt.length===0)){var Fe=this.renderNavigator((0,w.Ys)(xt));this.renderItems(Fe.getContainer()),this.adjustLayout()}},mt.prototype.dispatchCustomEvent=function(ct,xt){var zt=new P.Aw(ct,{detail:xt});this.dispatchEvent(zt)},mt}(R.w),ot=(0,E.A)({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),x={showLabel:!0,formatter:function(vt){return vt.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},M=function(vt){(0,c.ZT)(mt,vt);function mt(ct){return vt.call(this,ct,x)||this}return mt.prototype.render=function(ct,xt){var zt=(0,w.Ys)(xt).maybeAppendByClassName(ot.markerGroup,"g");this.renderMarker(zt);var Fe=(0,w.Ys)(xt).maybeAppendByClassName(ot.labelGroup,"g");this.renderLabel(Fe)},mt.prototype.renderMarker=function(ct){var xt=this,zt=this.attributes,Fe=zt.orientation,Vt=zt.classNamePrefix,Te=zt.markerSymbol,Je=Te===void 0?ge(Fe,"horizontalHandle","verticalHandle"):Te;(0,T.z)(!!Je,ct,function(Sn){var Nn=(0,U.zs)(xt.attributes,"marker"),er=(0,c.pi)({symbol:Je},Nn),kn=K(ot.marker.name,tt.handleMarker,Vt);if(xt.marker=Sn.maybeAppendByClassName(ot.marker,function(){return new Ke({style:er,className:kn})}).update(er),Vt){var Wn=xt.marker.node().querySelector(".marker");if(Wn){var dr=Wn.getAttribute("class")||"",Re=dr.split(" ")[0],Bn=K(Re,tt.handleMarker,Vt);Wn.setAttribute("class",Bn)}}})},mt.prototype.renderLabel=function(ct){var xt=this,zt=this.attributes,Fe=zt.showLabel,Vt=zt.orientation,Te=zt.spacing,Je=Te===void 0?0:Te,Sn=zt.formatter,Nn=zt.classNamePrefix;(0,T.z)(Fe,ct,function(er){var kn,Wn=(0,U.zs)(xt.attributes,"label"),dr=Wn.text,Re=(0,c._T)(Wn,["text"]),Bn=((kn=er.select(ot.marker.class))===null||kn===void 0?void 0:kn.node().getBBox())||{},ar=Bn.width,Gn=ar===void 0?0:ar,kr=Bn.height,Qr=kr===void 0?0:kr,Cr=(0,c.CR)(ge(Vt,[0,Qr+Je,"center","top"],[Gn+Je,0,"start","middle"]),4),br=Cr[0],ei=Cr[1],wr=Cr[2],Yr=Cr[3],mi=K(ot.label.name,tt.handleLabel,Nn);er.maybeAppendByClassName(ot.label,"text").attr("className",mi).styles((0,c.pi)((0,c.pi)({},Re),{x:br,y:ei,text:Sn(dr).toString(),textAlign:wr,textBaseline:Yr}))})},mt}(R.w),m={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},N=(0,Oe.n)({},m,{}),z=(0,Oe.n)({},m,(0,U.dq)(x,"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"}),Lt=.01,Rt=.5,Jt=(0,E.A)({title:"title",html:"html",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"),qt=function(vt){(0,c.ZT)(mt,vt);function mt(){return vt!==null&&vt.apply(this,arguments)||this}return mt.prototype.update=function(ct){this.attr(ct)},mt}(P.k9),en=function(vt){(0,c.ZT)(mt,vt);function mt(ct){return vt.call(this,ct,N)||this}return mt.prototype.renderTitle=function(ct,xt,zt){var Fe=this.attributes,Vt=Fe.showTitle,Te=Fe.titleText,Je=Fe.classNamePrefix,Sn=(0,U.zs)(this.attributes,"title"),Nn=(0,c.CR)((0,U.Hm)(Sn),2),er=Nn[0],kn=Nn[1];this.titleGroup=ct.maybeAppendByClassName(Jt.titleGroup,"g").styles(kn);var Wn=(0,c.pi)((0,c.pi)({width:xt,height:zt},er),{text:Vt?Te:"",classNamePrefix:Je});this.title=this.titleGroup.maybeAppendByClassName(Jt.title,function(){return new Mt({style:Wn})}).update(Wn)},mt.prototype.renderCustom=function(ct){var xt=this.attributes.data,zt={innerHTML:this.attributes.render(xt),pointerEvents:"auto"};ct.maybeAppendByClassName(Jt.html,function(){return new qt({className:Jt.html.name,style:zt})}).update(zt)},mt.prototype.renderItems=function(ct,xt){var zt=xt.x,Fe=xt.y,Vt=xt.width,Te=xt.height,Je=(0,U.zs)(this.attributes,"title",!0),Sn=(0,c.CR)((0,U.Hm)(Je),2),Nn=Sn[0],er=Sn[1],kn=(0,c.pi)((0,c.pi)({},Nn),{width:Vt,height:Te,x:0,y:0});this.itemsGroup=ct.maybeAppendByClassName(Jt.itemsGroup,"g").styles((0,c.pi)((0,c.pi)({},er),{transform:"translate(".concat(zt,", ").concat(Fe,")")}));var Wn=this;this.itemsGroup.selectAll(Jt.items.class).data(["items"]).join(function(dr){return dr.append(function(){return new ir({style:kn})}).attr("className",Jt.items.name).each(function(){Wn.items=(0,w.Ys)(this)})},function(dr){return dr.update(kn)},function(dr){return dr.remove()})},mt.prototype.adjustLayout=function(){var ct=this.attributes.showTitle;if(ct){var xt=this.title.node().getAvailableSpace(),zt=xt.x,Fe=xt.y;this.itemsGroup.node().style.transform="translate(".concat(zt,", ").concat(Fe,")")}},Object.defineProperty(mt.prototype,"availableSpace",{get:function(){var ct=this.attributes,xt=ct.showTitle,zt=ct.width,Fe=ct.height;return xt?this.title.node().getAvailableSpace():new S.b(0,0,zt,Fe)},enumerable:!1,configurable:!0}),mt.prototype.getBBox=function(){var ct,xt,zt=(ct=this.title)===null||ct===void 0?void 0:ct.node(),Fe=(xt=this.items)===null||xt===void 0?void 0:xt.node();return!zt||!Fe?vt.prototype.getBBox.call(this):pt(zt,Fe)},mt.prototype.render=function(ct,xt){var zt=this.attributes,Fe=zt.width,Vt=zt.height,Te=zt.x,Je=Te===void 0?0:Te,Sn=zt.y,Nn=Sn===void 0?0:Sn,er=zt.classNamePrefix,kn=zt.render,Wn=(0,w.Ys)(xt),dr=xt.className||"legend-category";er?xt.attr("className","".concat(dr," ").concat(er,"legend")):xt.className||xt.attr("className","legend-category"),xt.style.transform="translate(".concat(Je,", ").concat(Nn,")"),kn?this.renderCustom(Wn):(this.renderTitle(Wn,Fe,Vt),this.renderItems(Wn,this.availableSpace),this.adjustLayout())},mt}(R.w)},91498:function(gt,dt,g){"use strict";g.d(dt,{s:function(){return bi}});var c=g(80813),R=g(70208),P=g(97304),U=g(66623),w=g(99247),S=g(17911),E=g(88839),L=null,D=null;function T(W){return W instanceof Date?W:new Date(W)}function K(W){for(var H=__read(W,2),Q=H[0],k=H[1],Y=L.indexOf(Q),at=L.indexOf(k),ht="",ut=Y;ut<=at;ut+=1)if(ht+=D[ut],ut2&&(yt=":"),ht+=yt}return ht}function Z(W,H){var Q={YYYY:W.getFullYear(),MM:W.getMonth()+1,DD:W.getDate(),HH:W.getHours(),mm:W.getMinutes(),ss:W.getSeconds()},k=H;return Object.keys(Q).forEach(function(Y){var at=Q[Y];k=k.replace(Y,Y==="YYYY"?"".concat(at):"".concat(at).padStart(2,"0"))}),k}function tt(W,H){return T(W).getTime()-T(H).getTime()}function V(W,H){var Q=__read([T(W),T(H)],2),k=Q[0],Y=Q[1];return k.getFullYear()!==Y.getFullYear()?"year":k.getMonth()!==Y.getMonth()?"month":k.getDay()!==Y.getDay()?"day":k.getHours()!==Y.getHours()?"hour":k.getMinutes()!==Y.getMinutes()?"minute":"second"}function pt(W,H){var Q=new Date(W),k={year:function(Y){Y.setMonth(0),Y.setHours(0,0,0,0)},month:function(Y){Y.setDate(1),Y.setHours(0,0,0,0)},day:function(Y){return Y.setHours(0,0,0,0)},hour:function(Y){return Y.setMinutes(0,0,0)},minute:function(Y){return Y.setSeconds(0,0)},second:function(Y){return Y.setMilliseconds(0)}};return k[H](Q),Z(Q,K(["year",H]))}var st=g(86314),X=g(67756);function Mt(W,H){if(W.length<=H)return W;for(var Q=Math.floor(W.length/H),k=[],Y=0;Y180?1:0,ii=W>H?0:1,yi=!1;return yi?"M".concat(Q,",").concat(k,",L").concat(cn,",").concat(_n,",A").concat(ut,",").concat(yt,",0,").concat(Kr,",").concat(ii,",").concat(tr,",").concat(nr,",L").concat(Q,",").concat(k):"M".concat(cn,",").concat(_n,",A").concat(ut,",").concat(yt,",0,").concat(Kr,",").concat(ii,",").concat(tr,",").concat(nr)}function yr(W){var H=W.attributes,Q=H.startAngle,k=H.endAngle,Y=H.center,at=H.radius;return(0,c.ev)((0,c.ev)([Q,k],(0,c.CR)(Y),!1),[at],!1)}function be(W,H,Q,k){var Y=H.startAngle,at=H.endAngle,ht=H.center,ut=H.radius,yt=H.classNamePrefix;return W.selectAll(Be.line.class).data([{d:ur.apply(void 0,(0,c.ev)((0,c.ev)([Y,at],(0,c.CR)(ht),!1),[ut],!1))}],function(Ht,he){return he}).join(function(Ht){var he=Ht.append("path").attr("className",Be.line.name).styles(H).styles({d:function(xe){return xe.d}});return Ge(he,Be.line,Gt.line,yt),he},function(Ht){return Ht.transition(function(){var he=this,xe=je(this,yr(this),(0,c.ev)((0,c.ev)([Y,at],(0,c.CR)(ht),!1),[ut],!1),k.update);if(xe){var ke=function(){var Ye=(0,Ie.Z)(he.attributes,"__keyframe_data__");he.style.d=ur.apply(void 0,(0,c.ev)([],(0,c.CR)(Ye),!1))};xe.onframe=ke,xe.onfinish=ke}return xe}).styles(H)},function(Ht){return Ht.remove()}).styles(Q).transitions()}function ri(W,H){var Q=H.truncRange,k=H.truncShape,Y=H.lineExtension}function mr(W,H,Q){Q===void 0&&(Q=[0,0]);var k=(0,c.CR)([W,H,Q],3),Y=(0,c.CR)(k[0],2),at=Y[0],ht=Y[1],ut=(0,c.CR)(k[1],2),yt=ut[0],Ht=ut[1],he=(0,c.CR)(k[2],2),xe=he[0],ke=he[1],Ye=(0,c.CR)([yt-at,Ht-ht],2),cn=Ye[0],_n=Ye[1],Mn=Math.sqrt(Math.pow(cn,2)+Math.pow(_n,2)),tr=(0,c.CR)([-xe/Mn,ke/Mn],2),nr=tr[0],Ar=tr[1];return[nr*cn,nr*_n,Ar*cn,Ar*_n]}function Ze(W){var H=(0,c.CR)(W,2),Q=(0,c.CR)(H[0],2),k=Q[0],Y=Q[1],at=(0,c.CR)(H[1],2),ht=at[0],ut=at[1];return{x1:k,y1:Y,x2:ht,y2:ut}}function Ce(W,H,Q,k){var Y=H.showTrunc,at=H.startPos,ht=H.endPos,ut=H.truncRange,yt=H.lineExtension,Ht=H.classNamePrefix,he=(0,c.CR)([at,ht],2),xe=(0,c.CR)(he[0],2),ke=xe[0],Ye=xe[1],cn=(0,c.CR)(he[1],2),_n=cn[0],Mn=cn[1],tr=(0,c.CR)(yt?mr(at,ht,yt):new Array(4).fill(0),4),nr=tr[0],Ar=tr[1],pr=tr[2],Lr=tr[3],Dr=function(Yi){return W.selectAll(Be.line.class).data(Yi,function(Qi,ma){return ma}).join(function(Qi){var ma=Qi.append("line").styles(Q).transition(function(ki){return(0,st.eR)(this,Ze(ki.line),!1)});return ma.attr("className",function(ki){if(!Ht)return"".concat(Be.line.name," ").concat(ki.className);var _i=me(Be.line.name,Gt.line,Ht);if(ki.className===Be.lineFirst.name){var Ma=me(Be.lineFirst.name,Gt.lineFirst,Ht);return"".concat(_i," ").concat(Ma)}if(ki.className===Be.lineSecond.name){var Ma=me(Be.lineSecond.name,Gt.lineSecond,Ht);return"".concat(_i," ").concat(Ma)}return _i}),ma},function(Qi){return Qi.styles(Q).transition(function(ma){var ki=ma.line;return(0,st.eR)(this,Ze(ki),k.update)})},function(Qi){return Qi.remove()}).transitions()};if(!Y||!ut)return Dr([{line:[[ke+nr,Ye+Ar],[_n+pr,Mn+Lr]],className:Be.line.name}]);var Kr=(0,c.CR)(ut,2),ii=Kr[0],yi=Kr[1],ji=_n-ke,qi=Mn-Ye,Fi=(0,c.CR)([ke+ji*ii,Ye+qi*ii],2),oi=Fi[0],xi=Fi[1],gi=(0,c.CR)([ke+ji*yi,Ye+qi*yi],2),Ti=gi[0],va=gi[1],Ai=Dr([{line:[[ke+nr,Ye+Ar],[oi,xi]],className:Be.lineFirst.name},{line:[[Ti,va],[_n+pr,Mn+Lr]],className:Be.lineSecond.name}]);return ri(W,H),Ai}function ye(W,H,Q,k){var Y=Q.showArrow,at=Q.showTrunc,ht=Q.lineArrow,ut=Q.lineArrowOffset,yt=Q.lineArrowSize,Ht;if(H==="arc"?Ht=W.select(Be.line.class):at?Ht=W.select(Be.lineSecond.class):Ht=W.select(Be.line.class),!Y||!ht||Q.type==="arc"&&Nr(Q.startAngle,Q.endAngle)){var he=Ht.node();he&&(he.style.markerEnd=void 0);return}var xe=(0,Ke.S)(ht);xe.attr(k),(0,Cn.b)(xe,yt,!0),Ht.style("markerEnd",xe).style("markerEndOffset",-ut)}function Dt(W,H,Q){var k=H.type,Y,at=(0,E.zs)(H,"line");return k==="linear"?Y=Ce(W,H,bt(at,"arrow"),Q):Y=be(W,H,bt(at,"arrow"),Q),ye(W,k,H,at),Y}function Zt(W,H){return Wt(W,H.gridDirection,H)}function we(W){var H=W.type,Q=W.gridCenter;return H==="linear"?Q:Q||W.center}function De(W,H){var Q=H.gridLength;return W.map(function(k,Y){var at=k.value,ht=(0,c.CR)(Qn(at,H),2),ut=ht[0],yt=ht[1],Ht=(0,c.CR)(Ln(Zt(at,H),Q),2),he=Ht[0],xe=Ht[1];return{id:Y,points:[[ut,yt],[ut+he,yt+xe]]}})}function Ee(W,H){var Q=H.gridControlAngles,k=we(H);if(!k)throw new Error("grid center is not provide");if(W.length<2)throw new Error("Invalid grid data");if(!Q||Q.length===0)throw new Error("Invalid gridControlAngles");var Y=(0,c.CR)(k,2),at=Y[0],ht=Y[1];return W.map(function(ut,yt){var Ht=ut.value,he=(0,c.CR)(Qn(Ht,H),2),xe=he[0],ke=he[1],Ye=(0,c.CR)([xe-at,ke-ht],2),cn=Ye[0],_n=Ye[1],Mn=[];return Q.forEach(function(tr){var nr=On(tr),Ar=(0,c.CR)([Math.cos(nr),Math.sin(nr)],2),pr=Ar[0],Lr=Ar[1],Dr=cn*pr-_n*Lr+at,Kr=cn*Lr+_n*pr+ht;Mn.push([Dr,Kr])}),{points:Mn,id:yt}})}function vn(W,H,Q,k){var Y=Q.classNamePrefix,at=(0,E.zs)(Q,"grid"),ht=at.type,ut=at.areaFill,yt=we(Q),Ht=Yt(H,Q.gridFilter),he=ht==="segment"?De(Ht,Q):Ee(Ht,Q),xe=(0,c.pi)((0,c.pi)({},at),{center:yt,areaFill:(0,En.Z)(ut)?Ht.map(function(ke,Ye){return(0,tn.S)(ut,[ke,Ye,Ht])}):ut,animate:k,data:he});return W.selectAll(Be.grid.class).data([1]).join(function(ke){var Ye=ke.append(function(){return new ae({style:xe})}).attr("className",Be.grid.name);return Ge(Ye,Be.grid,Gt.grid,Y),Ye},function(ke){return ke.transition(function(){return this.update(xe)})},function(ke){return ke.remove()}).transitions()}function un(W,H,Q,k,Y){return k===void 0&&(k=!0),Y===void 0&&(Y=!1),k&&W===H||Y&&W===Q?!0:W>H&&W0,nr=k-yt,Ar=Y-Ht,pr=ke*Ar-Ye*nr;if(pr<0===tr)return!1;var Lr=cn*Ar-_n*nr;return!(Lr<0===tr||pr>Mn===tr||Lr>Mn===tr)}function Vt(W,H){var Q=[[W[0],W[1],W[2],W[3]],[W[2],W[3],W[4],W[5]],[W[4],W[5],W[6],W[7]],[W[6],W[7],W[0],W[1]]];return Q.some(function(k){return Fe(H,k)})}var Te={lineToLine:Fe,intersectBoxLine:Vt,getBounds:qt};function Je(W,H,Q){var k,Y,at=qt(W,Q).flat(1),ht=qt(H,Q).flat(1),ut=[[at[0],at[1],at[2],at[3]],[at[0],at[1],at[4],at[5]],[at[4],at[5],at[6],at[7]],[at[2],at[3],at[6],at[7]]];try{for(var yt=(0,c.XA)(ut),Ht=yt.next();!Ht.done;Ht=yt.next()){var he=Ht.value;if(Vt(ht,he))return!0}}catch(xe){k={error:xe}}finally{try{Ht&&!Ht.done&&(Y=yt.return)&&Y.call(yt)}finally{if(k)throw k.error}}return!1}function Sn(W,H){var Q=W.type,k=W.labelDirection,Y=W.crossSize;if(!Y)return!1;if(Q==="arc"){var at=W.center,ht=W.radius,ut=(0,c.CR)(at,2),yt=ut[0],Ht=ut[1],he=k==="negative"?0:Y,xe=-ht-he,ke=ht+he,Ye=(0,c.CR)((0,Rt.j)(H),4),cn=Ye[0],_n=Ye[1],Mn=Ye[2],tr=Ye[3];return new Jt(yt+xe-tr,Ht+xe-cn,yt+ke+_n,Ht+ke+Mn)}var nr=(0,c.CR)(W.startPos,2),Ar=nr[0],pr=nr[1],Lr=(0,c.CR)(W.endPos,2),Dr=Lr[0],Kr=Lr[1],ii=(0,c.CR)(Vn(W)?[-H,0,H,0]:[0,H,0,-H],4),yi=ii[0],ji=ii[1],qi=ii[2],Fi=ii[3],oi=ge(0,W),xi=Ln(oi,Y),gi=new Jt(Ar,pr,Dr,Kr);return gi.x1+=Fi,gi.y1+=yi,gi.x2+=ji+xi[0],gi.y2+=qi+xi[1],gi}function Nn(W,H,Q){var k,Y,at=H.crossPadding,ht=new Set,ut=null,yt=Sn(H,at),Ht=function(cn){return yt?zt(yt,cn):!0},he=function(cn,_n){return!cn||!cn.firstChild?!0:!Je(cn.firstChild,_n.firstChild,(0,Rt.j)(Q))};try{for(var xe=(0,c.XA)(W),ke=xe.next();!ke.done;ke=xe.next()){var Ye=ke.value;Ht(Ye)?!ut||he(ut,Ye)?ut=Ye:(ht.add(ut),ht.add(Ye)):ht.add(Ye)}}catch(cn){k={error:cn}}finally{try{ke&&!ke.done&&(Y=xe.return)&&Y.call(xe)}finally{if(k)throw k.error}}return Array.from(ht)}function er(W,H){return H===void 0&&(H={}),(0,Lt.Z)(W)?0:typeof W=="number"?W:Math.floor((0,x.Ux)(W,H))}function kn(W,H,Q,k){if(!(W.length<=0)){var Y=H.suffix,at=Y===void 0?"...":Y,ht=H.minLength,ut=H.maxLength,yt=ut===void 0?1/0:ut,Ht=H.step,he=Ht===void 0?" ":Ht,xe=H.margin,ke=xe===void 0?[0,0,0,0]:xe,Ye=(0,x.qT)(k.getTextShape(W[0])),cn=er(he,Ye),_n=ht?er(ht,Ye):cn,Mn=er(yt,Ye);((0,Lt.Z)(Mn)||Mn===1/0)&&(Mn=Math.max.apply(null,W.map(function(xi){return xi.getBBox().width})));for(var tr=W.slice(),nr=(0,c.CR)(ke,4),Ar=nr[0],pr=Ar===void 0?0:Ar,Lr=nr[1],Dr=Lr===void 0?0:Lr,Kr=nr[2],ii=Kr===void 0?pr:Kr,yi=nr[3],ji=yi===void 0?Dr:yi,qi=function(xi){if(tr.forEach(function(gi){k.ellipsis(k.getTextShape(gi),xi,at)}),tr=Nn(W,Q,ke),tr.length<1)return{value:void 0}},Fi=Mn;Fi>_n+cn;Fi-=cn){var oi=qi(Fi);if(typeof oi=="object")return oi.value}}}var Wn=function(W){return W!==void 0&&W!=null&&!Number.isNaN(W)},dr=g(2080),Re={parity:function(W,H){var Q=H.seq,k=Q===void 0?2:Q;return W.filter(function(Y,at){return at%k?((0,ir.Cp)(Y),!1):!0})}},Bn=function(W){return W.filter(Wn)};function ar(W,H,Q,k){var Y=W.length,at=H.keepHeader,ht=H.keepTail;if(!(Y<=1||Y===2&&at&&ht)){var ut=Re.parity,yt=function(Ar){return Ar.forEach(k.show),Ar},Ht=2,he=W.slice(),xe=W.slice(),ke=Math.min.apply(Math,(0,c.ev)([1],(0,c.CR)(W.map(function(Ar){return Ar.getBBox().width})),!1));if(Q.type==="linear"&&(Yn(Q)||Vn(Q))){var Ye=(0,dr._v)(W[0]).left,cn=(0,dr._v)(W[Y-1]).right,_n=Math.abs(cn-Ye)||1;Ht=Math.max(Math.floor(Y*ke/_n),Ht)}var Mn,tr;for(at&&(Mn=he.splice(0,1)[0]),ht&&(tr=he.splice(-1,1)[0],he.reverse()),yt(he);Htut)){if(Q.type==="linear"&&Yn(Q)){if(tr(ut),_n())return}else for(var nr=cn;nr<=ut;nr++)if(tr(nr),_n())return;Ht&&tr(Ye)}}var Cr=new Map([["hide",ar],["rotate",Gn],["ellipsis",kn],["wrap",Qr]]);function br(W,H,Q){return H.labelOverlap.length<1?!1:Q==="hide"?!(0,z.X)(W[0]):Q==="rotate"?!W.some(function(k){var Y;return!!(!((Y=k.attr("transform"))===null||Y===void 0)&&Y.includes("rotate"))}):Q==="ellipsis"||Q==="wrap"?W.filter(function(k){return k.querySelector("text")}).length>=1:!0}function ei(W,H,Q,k){var Y=H.labelOverlap,at=Y===void 0?[]:Y;at.length&&at.forEach(function(ht){var ut=ht.type,yt=Cr.get(ut);br(W,H,ut)&&(yt==null||yt(W,ht,H,k,Q))})}function wr(){for(var W=[],H=0;Hke[0]&&ii0&&Number.isFinite(W)?H:Q},Is=function(W,H){return W*H},Ws=function(W,H){return W/2+(H||0)/2},Ds=function(W){return W};class Gi{constructor(H){this.options=(0,Ut.Z)({},this.getDefaultOptions()),this.update(H)}getOptions(){return this.options}update(H={}){this.options=(0,Ut.Z)({},this.options,H),this.rescale(H)}rescale(H){}}function ka(W,H){return H-W?Q=>(Q-W)/(H-W):Q=>.5}function _a(W,...H){return H.reduce((Q,k)=>Y=>Q(k(Y)),W)}function No(W,H,Q,k,Y){let at=Q||0,ht=k||W.length;const ut=Y||(yt=>yt);for(;atH?ht=yt:at=yt+1}return at}var is=g(75196),ca=g.n(is);function io(W,H,Q){let k=Q;return k<0&&(k+=1),k>1&&(k-=1),k<1/6?W+(H-W)*6*k:k<1/2?H:k<2/3?W+(H-W)*(2/3-k)*6:W}function Ha(W){const H=W[0]/360,Q=W[1]/100,k=W[2]/100,Y=W[3];if(Q===0)return[k*255,k*255,k*255,Y];const at=k<.5?k*(1+Q):k+Q-k*Q,ht=2*k-at,ut=io(ht,at,H+1/3),yt=io(ht,at,H),Ht=io(ht,at,H-1/3);return[ut*255,yt*255,Ht*255,Y]}function Eo(W){const H=ca().get(W);if(!H)return null;const{model:Q,value:k}=H;return Q==="rgb"?k:Q==="hsl"?Ha(k):null}const Vs=(W,H)=>Q=>W*(1-Q)+H*Q,xs=(W,H)=>{const Q=Eo(W),k=Eo(H);return Q===null||k===null?Q?()=>W:()=>H:Y=>{const at=new Array(4);for(let he=0;he<4;he+=1){const xe=Q[he],ke=k[he];at[he]=xe*(1-Y)+ke*Y}const[ht,ut,yt,Ht]=at;return`rgba(${Math.round(ht)}, ${Math.round(ut)}, ${Math.round(yt)}, ${Ht})`}},ua=(W,H)=>typeof W=="number"&&typeof H=="number"?Vs(W,H):typeof W=="string"&&typeof H=="string"?xs(W,H):()=>W,fo=(W,H)=>{const Q=Vs(W,H);return k=>Math.round(Q(k))};var Wa=g(49527);function qa(W){return W===null}function Wi(W){return!(0,Wa.Z)(W)&&!qa(W)&&!Number.isNaN(W)}const Ka=Math.sqrt(50),Rs=Math.sqrt(10),js=Math.sqrt(2);function aa(W,H,Q){const k=(H-W)/Math.max(0,Q),Y=Math.floor(Math.log(k)/Math.LN10),at=k/Wl(10,Y);return Y>=0?(at>=Ka?10:at>=Rs?5:at>=js?2:1)*Wl(10,Y):-Wl(10,-Y)/(at>=Ka?10:at>=Rs?5:at>=js?2:1)}function Or(W,H,Q){const k=Math.abs(H-W)/Math.max(0,Q);let Y=Wl(10,Math.floor(Math.log(k)/Math.LN10));const at=k/Y;return at>=Ka?Y*=10:at>=Rs?Y*=5:at>=js&&(Y*=2),H{const k=[W,H];let Y=0,at=k.length-1,ht=k[Y],ut=k[at],yt;return ut0?(ht=Math.floor(ht/yt)*yt,ut=Math.ceil(ut/yt)*yt,yt=aa(ht,ut,Q)):yt<0&&(ht=Math.ceil(ht*yt)/yt,ut=Math.floor(ut*yt)/yt,yt=aa(ht,ut,Q)),yt>0?(k[Y]=Math.floor(ht/yt)*yt,k[at]=Math.ceil(ut/yt)*yt):yt<0&&(k[Y]=Math.ceil(ht*yt)/yt,k[at]=Math.floor(ut*yt)/yt),k};function ao(W,H){const Q=HH?W:H;return Y=>Math.min(Math.max(Q,Y),k)}const Jo=(W,H,Q)=>{const[k,Y]=W,[at,ht]=H;let ut,yt;return k{const k=Math.min(W.length,H.length)-1,Y=new Array(k),at=new Array(k),ht=W[0]>W[k],ut=ht?[...W].reverse():W,yt=ht?[...H].reverse():H;for(let Ht=0;Ht{const he=No(W,Ht,1,k)-1,xe=Y[he],ke=at[he];return _a(ke,xe)(Ht)}},Qs=(W,H,Q,k)=>(Math.min(W.length,H.length)>2?$o:Jo)(W,H,k?fo:Q);class so extends Gi{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Vs,tickCount:5}}map(H){return Wi(H)?this.output(H):this.options.unknown}invert(H){return Wi(H)?this.input(H):this.options.unknown}nice(){if(!this.options.nice)return;const[H,Q,k,...Y]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(H,Q,k,...Y)}getTicks(){const{tickMethod:H}=this.options,[Q,k,Y,...at]=this.getTickMethodOptions();return H(Q,k,Y,...at)}getTickMethodOptions(){const{domain:H,tickCount:Q}=this.options,k=H[0],Y=H[H.length-1];return[k,Y,Q]}chooseNice(){return Ia}rescale(){this.nice();const[H,Q]=this.chooseTransforms();this.composeOutput(H,this.chooseClamp(H)),this.composeInput(H,Q,this.chooseClamp(Q))}chooseClamp(H){const{clamp:Q,range:k}=this.options,Y=this.options.domain.map(H),at=Math.min(Y.length,k.length);return Q?ao(Y[0],Y[at-1]):Ds}composeOutput(H,Q){const{domain:k,range:Y,round:at,interpolate:ht}=this.options,ut=Qs(k.map(H),Y,ht,at);this.output=_a(ut,Q,H)}composeInput(H,Q,k){const{domain:Y,range:at}=this.options,ht=Qs(at,Y.map(H),Vs);this.input=_a(Q,k,ht)}}const oo=(W,H,Q)=>{let k,Y,at=W,ht=H;if(at===ht&&Q>0)return[at];let ut=aa(at,ht,Q);if(ut===0||!Number.isFinite(ut))return[];if(ut>0){at=Math.ceil(at/ut),ht=Math.floor(ht/ut),Y=new Array(k=Math.ceil(ht-at+1));for(let yt=0;yt`${H}`:typeof W=="object"?H=>JSON.stringify(H):H=>H}class sa extends Gi{getDefaultOptions(){return{domain:[],range:[],unknown:Va}}constructor(H){super(H)}map(H){return this.domainIndexMap.size===0&&Da(this.domainIndexMap,this.getDomain(),this.domainKey),as({value:this.domainKey(H),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(H){return this.rangeIndexMap.size===0&&Da(this.rangeIndexMap,this.getRange(),this.rangeKey),as({value:this.rangeKey(H),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(H){const[Q]=this.options.domain,[k]=this.options.range;if(this.domainKey=ws(Q),this.rangeKey=ws(k),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!H||H.range)&&this.rangeIndexMap.clear(),(!H||H.domain||H.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new sa(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:H,compare:Q}=this.options;return this.sortedDomain=Q?[...H].sort(Q):H,this.sortedDomain}}function Vi(W){const H=Math.min(...W);return W.map(Q=>Q/H)}function $i(W,H){const Q=W.length,k=H-Q;return k>0?[...W,...new Array(k).fill(1)]:k<0?W.slice(0,H):W}function ja(W){return Math.round(W*1e12)/1e12}function Ys(W){const{domain:H,range:Q,paddingOuter:k,paddingInner:Y,flex:at,round:ht,align:ut}=W,yt=H.length,Ht=$i(at,yt),[he,xe]=Q,ke=xe-he,Ye=2/yt*k+1-1/yt*Y,cn=ke/Ye,_n=cn*Y/yt,Mn=cn-yt*_n,tr=Vi(Ht),nr=tr.reduce((Fi,oi)=>Fi+oi),Ar=Mn/nr,pr=new Bo(H.map((Fi,oi)=>{const xi=tr[oi]*Ar;return[Fi,ht?Math.floor(xi):xi]})),Lr=new Bo(H.map((Fi,oi)=>{const gi=tr[oi]*Ar+_n;return[Fi,ht?Math.floor(gi):gi]})),Dr=Array.from(Lr.values()).reduce((Fi,oi)=>Fi+oi),ii=(ke-(Dr-Dr/yt*Y))*ut,yi=he+ii;let ji=ht?Math.round(yi):yi;const qi=new Array(yt);for(let Fi=0;Fike+Ar*he);return{valueStep:he,valueBandWidth:xe,adjustedRange:tr}}class ea extends sa{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:Va,flex:[]}}constructor(H){super(H)}clone(){return new ea(this.options)}getStep(H){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:H===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(H)}getBandWidth(H){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:H===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(H)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:H,paddingInner:Q}=this.options;return H>0?H:Q}getPaddingOuter(){const{padding:H,paddingOuter:Q}=this.options;return H>0?H:Q}rescale(){super.rescale();const{align:H,domain:Q,range:k,round:Y,flex:at}=this.options,{adjustedRange:ht,valueBandWidth:ut,valueStep:yt}=Cs({align:H,range:k,round:Y,flex:at,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:Q});this.valueStep=yt,this.valueBandWidth=ut,this.adjustedRange=ht}}var bo=g(37547),Ko=g(1933),hs=g(39934),xo=function(W){(0,c.ZT)(H,W);function H(Q){var k=this,Y=Q.style,at=(0,c._T)(Q,["style"]);return k=W.call(this,(0,Ut.Z)({},{type:"column"},(0,c.pi)({style:Y},at)))||this,k.columnsGroup=new U.ZA({name:"columns"}),k.appendChild(k.columnsGroup),k.render(),k}return H.prototype.render=function(){var Q=this.attributes,k=Q.columns,Y=Q.x,at=Q.y;this.columnsGroup.style.transform="translate(".concat(Y,", ").concat(at,")"),(0,ft.Ys)(this.columnsGroup).selectAll(".column").data(k.flat()).join(function(ht){return ht.append("rect").attr("className","column").each(function(ut){this.attr(ut)})},function(ht){return ht.each(function(ut){this.attr(ut)})},function(ht){return ht.remove()})},H.prototype.update=function(Q){this.attr((0,w.n)({},this.attributes,Q)),this.render()},H.prototype.clear=function(){this.removeChildren()},H}(U.s$),qo=function(W){(0,c.ZT)(H,W);function H(Q){var k=this,Y=Q.style,at=(0,c._T)(Q,["style"]);return k=W.call(this,(0,Ut.Z)({},{type:"lines"},(0,c.pi)({style:Y},at)))||this,k.linesGroup=k.appendChild(new U.ZA),k.areasGroup=k.appendChild(new U.ZA),k.render(),k}return H.prototype.render=function(){var Q=this.attributes,k=Q.lines,Y=Q.areas,at=Q.x,ht=Q.y;this.style.transform="translate(".concat(at,", ").concat(ht,")"),k&&this.renderLines(k),Y&&this.renderAreas(Y)},H.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},H.prototype.update=function(Q){this.attr((0,w.n)({},this.attributes,Q)),this.render()},H.prototype.renderLines=function(Q){(0,ft.Ys)(this.linesGroup).selectAll(".line").data(Q).join(function(k){return k.append("path").attr("className","line").each(function(Y){this.attr(Y)})},function(k){return k.each(function(Y){this.attr(Y)})},function(k){return k.remove()})},H.prototype.renderAreas=function(Q){(0,ft.Ys)(this.linesGroup).selectAll(".area").data(Q).join(function(k){return k.append("path").attr("className","area").each(function(Y){this.attr(Y)})},function(k){return k.each(function(Y){this.style(Y)})},function(k){return k.remove()})},H}(U.s$),hA=g(62099);function ba(W,H,Q,k){var Y,at=[],ht=!!k,ut,yt,Ht=[1/0,1/0],he=[-1/0,-1/0],xe,ke,Ye;if(ht){Y=(0,c.CR)(k,2),Ht=Y[0],he=Y[1];for(var cn=0,_n=W.length;cn<_n;cn+=1){var Mn=W[cn];Ht=or(Ht,Mn),he=pn(he,Mn)}}for(var cn=0,tr=W.length;cnht&&(Q=(0,c.CR)([ht,ut],2),ut=Q[0],ht=Q[1]),W.map(function(yt){var Ht=yt.map(function(he,xe){return[k.map(xe),(0,R.Z)(Y.map(he),ut,ht)]});return Ht})}function ss(W,H){H===void 0&&(H=!1);var Q=H?W.length-1:0,k=W.map(function(Y,at){return(0,c.ev)([at===Q?"M":"L"],(0,c.CR)(Y),!1)});return H?k.reverse():k}function oa(W,H){if(H===void 0&&(H=!1),W.length<=2)return ss(W);for(var Q=[],k=W.length,Y=0;Y=0;Y-=1){var at=W[Y],ht=ss(at),ut=void 0;if(Y===0)ut=na(ht,H,Q);else{var yt=W[Y-1],Ht=ss(yt,!0);Ht[0][0]="L",ut=(0,c.ev)((0,c.ev)((0,c.ev)([],(0,c.CR)(ht),!1),(0,c.CR)(Ht),!1),[["Z"]],!1)}k.push(ut)}return k}function Po(W,H,Q){for(var k=[],Y=W.length-1;Y>=0;Y-=1){var at=W[Y],ht=oa(at),ut=void 0;if(Y===0)ut=na(ht,H,Q);else{var yt=W[Y-1],Ht=oa(yt,!0),he=at[0];Ht[0][0]="L",ut=(0,c.ev)((0,c.ev)((0,c.ev)([],(0,c.CR)(ht),!1),(0,c.CR)(Ht),!1),[(0,c.ev)(["M"],(0,c.CR)(he),!1),["Z"]],!1)}k.push(ut)}return k}var Do=g(2078),nl=function(W,H){if((0,hs.Z)(W)){for(var Q,k=1/0,Y=0;Yk&&(Q=at,k=ht)}return Q}};function fA(W){return W.length===0?[0,0]:[(0,Do.Z)(nl(W,function(H){return(0,Do.Z)(H)||0})),(0,Co.Z)(Ss(W,function(H){return(0,Co.Z)(H)||0}))]}function Xs(W){for(var H=(0,bo.Z)(W),Q=H[0].length,k=(0,c.CR)([Array(Q).fill(0),Array(Q).fill(0)],2),Y=k[0],at=k[1],ht=0;ht=0?(ut[yt]+=Y[yt],Y[yt]=ut[yt]):(ut[yt]+=at[yt],at[yt]=ut[yt]);return H}var So=function(W){(0,c.ZT)(H,W);function H(Q){return W.call(this,Q,{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(H.prototype,"rawData",{get:function(){var Q=this.attributes.data;if(!Q||(Q==null?void 0:Q.length)===0)return[[]];var k=(0,bo.Z)(Q);return(0,Ko.Z)(k[0])?[k]:k},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"data",{get:function(){return this.attributes.isStack?Xs(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"baseline",{get:function(){var Q=this.scales.y,k=(0,c.CR)(Q.getOptions().domain||[0,0],2),Y=k[0],at=k[1];return at<0?Q.map(at):Q.map(Y<0?0:Y)},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"containerShape",{get:function(){var Q=this.attributes,k=Q.width,Y=Q.height;return{width:k,height:Y}},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"linesStyle",{get:function(){var Q=this,k=this.attributes,Y=k.type,at=k.isStack,ht=k.smooth;if(Y!=="line")throw new Error("linesStyle can only be used in line type");var ut=(0,E.zs)(this.attributes,"area"),yt=(0,E.zs)(this.attributes,"line"),Ht=this.containerShape.width,he=this.data;if(he[0].length===0)return{lines:[],areas:[]};var xe=this.scales,ke=xe.x,Ye=xe.y,cn=Es(he,{type:"line",x:ke,y:Ye}),_n=[];if(ut){var Mn=this.baseline;at?_n=ht?Po(cn,Ht,Mn):Go(cn,Ht,Mn):_n=TA(cn,ht,Ht,Mn)}return{lines:cn.map(function(tr,nr){return(0,c.pi)({stroke:Q.getColor(nr),d:ht?oa(tr):ss(tr)},yt)}),areas:_n.map(function(tr,nr){return(0,c.pi)({d:tr,fill:Q.getColor(nr)},ut)})}},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"columnsStyle",{get:function(){var Q=this,k=(0,E.zs)(this.attributes,"column"),Y=this.attributes,at=Y.isStack,ht=Y.type,ut=Y.scale;if(ht!=="column")throw new Error("columnsStyle can only be used in column type");var yt=this.containerShape.height,Ht=this.rawData;if(!Ht)return{columns:[]};at&&(Ht=Xs(Ht));var he=this.createScales(Ht),xe=he.x,ke=he.y,Ye=(0,c.CR)(fA(Ht),2),cn=Ye[0],_n=Ye[1],Mn=new Sa({domain:[0,_n-(cn>0?0:cn)],range:[0,yt*ut]}),tr=xe.getBandWidth(),nr=this.rawData;return{columns:Ht.map(function(Ar,pr){return Ar.map(function(Lr,Dr){var Kr=tr/Ht.length,ii=function(){return{x:xe.map(Dr)+Kr*pr,y:Lr>=0?ke.map(Lr):ke.map(0),width:Kr,height:Mn.map(Math.abs(Lr))}},yi=function(){return{x:xe.map(Dr),y:ke.map(Lr),width:tr,height:Mn.map(nr[pr][Dr])}};return(0,c.pi)((0,c.pi)({fill:Q.getColor(pr)},k),at?yi():ii())})})}},enumerable:!1,configurable:!0}),H.prototype.render=function(Q,k){(0,ft.OV)(k,".container","rect").attr("className","container").node();var Y=Q.type,at=Q.x,ht=Q.y,ut="spark".concat(Y),yt=(0,c.pi)({x:at,y:ht},Y==="line"?this.linesStyle:this.columnsStyle);(0,ft.Ys)(k).selectAll(".spark").data([Y]).join(function(Ht){return Ht.append(function(he){return he==="line"?new qo({className:ut,style:yt}):new xo({className:ut,style:yt})}).attr("className","spark ".concat(ut))},function(Ht){return Ht.update(yt)},function(Ht){return Ht.remove()})},H.prototype.getColor=function(Q){var k=this.attributes.color;return(0,hs.Z)(k)?k[Q%k.length]:(0,En.Z)(k)?k.call(null,Q):k},H.prototype.createScales=function(Q){var k,Y,at=this.attributes,ht=at.type,ut=at.scale,yt=at.range,Ht=yt===void 0?[]:yt,he=at.spacing,xe=this.containerShape,ke=xe.width,Ye=xe.height,cn=(0,c.CR)(fA(Q),2),_n=cn[0],Mn=cn[1],tr=new Sa({domain:[(k=Ht[0])!==null&&k!==void 0?k:_n,(Y=Ht[1])!==null&&Y!==void 0?Y:Mn],range:[Ye,Ye*(1-ut)]});return ht==="line"?{type:ht,x:new Sa({domain:[0,Q[0].length-1],range:[0,ke]}),y:tr}:{type:ht,x:new ea({domain:Q[0].map(function(nr,Ar){return Ar}),range:[0,ke],paddingInner:he,paddingOuter:he/2,align:.5}),y:tr}},H.tag="sparkline",H}(P.w),OA={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},Ro={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},Qo={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},xa=(0,jt.A)({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),Ms=(0,jt.A)({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),Mo=function(W){(0,c.ZT)(H,W);function H(){return W!==null&&W.apply(this,arguments)||this}return H.prototype.render=function(Q,k){var Y=Q.x,at=Q.y,ht=Q.size,ut=ht===void 0?10:ht,yt=Q.radius,Ht=yt===void 0?ut/4:yt,he=Q.orientation,xe=Q.classNamePrefix,ke=(0,c._T)(Q,["x","y","size","radius","orientation","classNamePrefix"]),Ye=ut,cn=Ye*2.4,_n=xe?"".concat(Ms.iconRect.name," ").concat(xe,"handle-icon-rect"):Ms.iconRect.name,Mn=function(Dr){return xe?"".concat(Ms.iconLine,"-").concat(Dr," ").concat(xe,"handle-icon-line"):"".concat(Ms.iconLine,"-").concat(Dr)},tr=(0,ft.Ys)(k).maybeAppendByClassName(Ms.iconRect,"rect").attr("className",_n).styles((0,c.pi)((0,c.pi)({},ke),{width:Ye,height:cn,radius:Ht,x:Y-Ye/2,y:at-cn/2,transformOrigin:"center"})),nr=Y+1/3*Ye-Ye/2,Ar=Y+2/3*Ye-Ye/2,pr=at+1/4*cn-cn/2,Lr=at+3/4*cn-cn/2;tr.maybeAppendByClassName("".concat(Ms.iconLine,"-1"),"line").attr("className",Mn(1)).styles((0,c.pi)({x1:nr,x2:nr,y1:pr,y2:Lr},ke)),tr.maybeAppendByClassName("".concat(Ms.iconLine,"-2"),"line").attr("className",Mn(2)).styles((0,c.pi)({x1:Ar,x2:Ar,y1:pr,y2:Lr},ke)),he==="vertical"&&(tr.node().style.transform="rotate(90)")},H}(P.w),ds=function(W){(0,c.ZT)(H,W);function H(Q){return W.call(this,Q,Qo)||this}return H.prototype.renderLabel=function(Q){var k=this,Y=this.attributes,at=Y.x,ht=Y.y,ut=Y.showLabel,yt=(0,E.zs)(this.attributes,"label"),Ht=yt.x,he=Ht===void 0?0:Ht,xe=yt.y,ke=xe===void 0?0:xe,Ye=yt.transform,cn=yt.transformOrigin,_n=(0,c._T)(yt,["x","y","transform","transformOrigin"]),Mn=(0,c.CR)((0,E.Hm)(_n,[]),2),tr=Mn[0],nr=Mn[1],Ar=(0,ft.Ys)(Q).maybeAppendByClassName(Ms.labelGroup,"g").styles(nr),pr=(0,c.pi)((0,c.pi)({},Ro),tr),Lr=pr.text,Dr=(0,c._T)(pr,["text"]);(0,X.z)(!!ut,Ar,function(Kr){k.label=Kr.maybeAppendByClassName(Ms.label,"text").styles((0,c.pi)((0,c.pi)({},Dr),{x:at+he,y:ht+ke,transform:Ye,transformOrigin:cn,text:"".concat(Lr)})),k.label.on("mousedown",function(ii){ii.stopPropagation()}),k.label.on("touchstart",function(ii){ii.stopPropagation()})})},H.prototype.renderIcon=function(Q){var k=this.attributes,Y=k.x,at=k.y,ht=k.orientation,ut=k.type,yt=k.classNamePrefix,Ht=(0,c.pi)((0,c.pi)({x:Y,y:at,orientation:ht,classNamePrefix:yt},OA),(0,E.zs)(this.attributes,"icon")),he=this.attributes.iconShape,xe=he===void 0?function(){return new Mo({style:Ht})}:he,ke=(0,ft.Ys)(Q).maybeAppendByClassName(Ms.iconGroup,"g");ke.selectAll(Ms.icon.class).data([xe]).join(function(Ye){return Ye.append(typeof xe=="string"?xe:function(){return xe(ut)}).attr("className",Ms.icon.name)},function(Ye){return Ye.update(Ht)},function(Ye){return Ye.remove()})},H.prototype.render=function(Q,k){this.renderIcon(k),this.renderLabel(k)},H}(P.w),ko=function(W){(0,c.ZT)(H,W);function H(Q){var k=W.call(this,Q,(0,c.pi)((0,c.pi)((0,c.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(Y){return Y.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},(0,E.dq)(Qo,"handle")),(0,E.dq)(OA,"handleIcon")),(0,E.dq)(Ro,"handleLabel")))||this;return k.range=[0,1],k.onDragStart=function(Y){return function(at){at.stopPropagation(),k.target=Y,k.prevPos=k.getOrientVal(ga(at));var ht=k.availableSpace,ut=ht.x,yt=ht.y,Ht=k.getBBox(),he=Ht.x,xe=Ht.y;k.selectionStartPos=k.getRatio(k.prevPos-k.getOrientVal([ut,yt])-k.getOrientVal([+he,+xe])),k.selectionWidth=0,document.addEventListener("pointermove",k.onDragging),document.addEventListener("pointerup",k.onDragEnd)}},k.onDragging=function(Y){var at=k.attributes,ht=at.slidable,ut=at.brushable,yt=at.type;Y.stopPropagation();var Ht=k.getOrientVal(ga(Y)),he=Ht-k.prevPos;if(he){var xe=k.getRatio(he);switch(k.target){case"start":ht&&k.setValuesOffset(xe);break;case"end":ht&&k.setValuesOffset(0,xe);break;case"selection":ht&&k.setValuesOffset(xe,xe);break;case"track":if(!ut)return;k.selectionWidth+=xe,yt==="range"?k.innerSetValues([k.selectionStartPos,k.selectionStartPos+k.selectionWidth].sort(),!0):k.innerSetValues([0,k.selectionStartPos+k.selectionWidth],!0);break;default:break}k.prevPos=Ht}},k.onDragEnd=function(){document.removeEventListener("pointermove",k.onDragging),document.removeEventListener("pointermove",k.onDragging),document.removeEventListener("pointerup",k.onDragEnd),k.target="",k.updateHandlesPosition(!1)},k.onValueChange=function(Y){var at=k.attributes,ht=at.onChange,ut=at.type,yt=ut==="range"?Y:Y[1],Ht=ut==="range"?k.getValues():k.getValues()[1],he=new U.Aw("valuechange",{detail:{oldValue:yt,value:Ht}});k.dispatchEvent(he),ht==null||ht(Ht)},k.selectionStartPos=0,k.selectionWidth=0,k.prevPos=0,k.target="",k}return Object.defineProperty(H.prototype,"values",{get:function(){return this.attributes.values},set:function(Q){this.attributes.values=this.clampValues(Q)},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"sparklineStyle",{get:function(){var Q=this.attributes.orientation;if(Q!=="horizontal")return null;var k=(0,E.zs)(this.attributes,"sparkline");return(0,c.pi)((0,c.pi)({zIndex:0},this.availableSpace),k)},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"shape",{get:function(){var Q=this.attributes,k=Q.trackLength,Y=Q.trackSize,at=(0,c.CR)(this.getOrientVal([[k,Y],[Y,k]]),2),ht=at[0],ut=at[1];return{width:ht,height:ut}},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"availableSpace",{get:function(){var Q=this.attributes,k=Q.x,Y=Q.y,at=Q.padding,ht=(0,c.CR)((0,Rt.j)(at),4),ut=ht[0],yt=ht[1],Ht=ht[2],he=ht[3],xe=this.shape,ke=xe.width,Ye=xe.height;return{x:he,y:ut,width:ke-(he+yt),height:Ye-(ut+Ht)}},enumerable:!1,configurable:!0}),H.prototype.getValues=function(){return this.values},H.prototype.setValues=function(Q,k){Q===void 0&&(Q=[0,0]),k===void 0&&(k=!1),this.attributes.values=Q;var Y=k===!1?!1:this.attributes.animate;this.updateSelectionArea(Y),this.updateHandlesPosition(Y)},H.prototype.updateSelectionArea=function(Q){var k=this.calcSelectionArea();this.foregroundGroup.selectAll(xa.selection.class).each(function(Y,at){(0,st.eR)(this,k[at],Q)})},H.prototype.updateHandlesPosition=function(Q){this.attributes.showHandle&&(this.startHandle&&(0,st.eR)(this.startHandle,this.getHandleStyle("start"),Q),this.endHandle&&(0,st.eR)(this.endHandle,this.getHandleStyle("end"),Q))},H.prototype.innerSetValues=function(Q,k){Q===void 0&&(Q=[0,0]),k===void 0&&(k=!1);var Y=this.values,at=this.clampValues(Q);this.attributes.values=at,this.setValues(at),k&&this.onValueChange(Y)},H.prototype.renderTrack=function(Q){var k=this.attributes,Y=k.x,at=k.y,ht=(0,E.zs)(this.attributes,"track");this.trackShape=(0,ft.Ys)(Q).maybeAppendByClassName(xa.track,"rect").styles((0,c.pi)((0,c.pi)({x:Y,y:at},this.shape),ht))},H.prototype.renderBrushArea=function(Q){var k=this.attributes,Y=k.x,at=k.y,ht=k.brushable;this.brushArea=(0,ft.Ys)(Q).maybeAppendByClassName(xa.brushArea,"rect").styles((0,c.pi)({x:Y,y:at,fill:"transparent",cursor:ht?"crosshair":"default"},this.shape))},H.prototype.renderSparkline=function(Q){var k=this,Y=this.attributes,at=Y.x,ht=Y.y,ut=Y.orientation,yt=(0,ft.Ys)(Q).maybeAppendByClassName(xa.sparklineGroup,"g");(0,X.z)(ut==="horizontal",yt,function(Ht){var he=(0,c.pi)((0,c.pi)({},k.sparklineStyle),{x:at,y:ht});Ht.maybeAppendByClassName(xa.sparkline,function(){return new So({style:he})}).update(he)})},H.prototype.renderHandles=function(){var Q=this,k,Y=this.attributes,at=Y.showHandle,ht=Y.type,ut=ht==="range"?["start","end"]:["end"],yt=at?ut:[],Ht=this;(k=this.foregroundGroup)===null||k===void 0||k.selectAll(xa.handle.class).data(yt.map(function(he){return{type:he}}),function(he){return he.type}).join(function(he){return he.append(function(xe){var ke=xe.type;return new ds({style:Q.getHandleStyle(ke)})}).each(function(xe){var ke=xe.type;this.attr("class","".concat(xa.handle.name," ").concat(ke,"-handle"));var Ye="".concat(ke,"Handle");Ht[Ye]=this,this.addEventListener("pointerdown",Ht.onDragStart(ke))})},function(he){return he.each(function(xe){var ke=xe.type;this.update(Ht.getHandleStyle(ke))})},function(he){return he.each(function(xe){var ke=xe.type,Ye="".concat(ke,"Handle");Ht[Ye]=void 0}).remove()})},H.prototype.renderSelection=function(Q){var k=this.attributes,Y=k.x,at=k.y,ht=k.type,ut=k.selectionType;this.foregroundGroup=(0,ft.Ys)(Q).maybeAppendByClassName(xa.foreground,"g");var yt=(0,E.zs)(this.attributes,"selection"),Ht=function(xe){return xe.style("visibility",function(ke){return ke.show?"visible":"hidden"}).style("cursor",function(ke){return ut==="select"?"grab":ut==="invert"?"crosshair":"default"}).styles((0,c.pi)((0,c.pi)({},yt),{transform:"translate(".concat(Y,", ").concat(at,")")}))},he=this;this.foregroundGroup.selectAll(xa.selection.class).data(ht==="value"?[]:this.calcSelectionArea().map(function(xe,ke){return{style:(0,c.pi)({},xe),index:ke,show:ut==="select"?ke===1:ke!==1}}),function(xe){return xe.index}).join(function(xe){return xe.append("rect").attr("className",xa.selection.name).call(Ht).each(function(ke,Ye){var cn=this;Ye===1?(he.selectionShape=(0,ft.Ys)(this),this.on("pointerdown",function(_n){cn.attr("cursor","grabbing"),he.onDragStart("selection")(_n)}),he.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),he.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),he.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){cn.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){cn.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){cn.attr("cursor","pointer")})):this.on("pointerdown",he.onDragStart("track"))})},function(xe){return xe.call(Ht)},function(xe){return xe.remove()}),this.updateSelectionArea(!1),this.renderHandles()},H.prototype.render=function(Q,k){this.renderTrack(k),this.renderSparkline(k),this.renderBrushArea(k),this.renderSelection(k)},H.prototype.clampValues=function(Q,k){var Y;k===void 0&&(k=4);var at=(0,c.CR)(this.range,2),ht=at[0],ut=at[1],yt=(0,c.CR)(this.getValues().map(function(Mn){return us(Mn,k)}),2),Ht=yt[0],he=yt[1],xe=Array.isArray(Q)?Q:[Ht,Q!=null?Q:he],ke=(0,c.CR)((xe||[Ht,he]).map(function(Mn){return us(Mn,k)}),2),Ye=ke[0],cn=ke[1];if(this.attributes.type==="value")return[0,(0,R.Z)(cn,ht,ut)];Ye>cn&&(Y=(0,c.CR)([cn,Ye],2),Ye=Y[0],cn=Y[1]);var _n=cn-Ye;return _n>ut-ht?[ht,ut]:Yeut?he===ut&&Ht===Ye?[Ye,ut]:[ut-_n,ut]:[Ye,cn]},H.prototype.calcSelectionArea=function(Q){var k=(0,c.CR)(this.clampValues(Q),2),Y=k[0],at=k[1],ht=this.availableSpace,ut=ht.x,yt=ht.y,Ht=ht.width,he=ht.height;return this.getOrientVal([[{y:yt,height:he,x:ut,width:Y*Ht},{y:yt,height:he,x:Y*Ht+ut,width:(at-Y)*Ht},{y:yt,height:he,x:at*Ht,width:(1-at)*Ht}],[{x:ut,width:Ht,y:yt,height:Y*he},{x:ut,width:Ht,y:Y*he+yt,height:(at-Y)*he},{x:ut,width:Ht,y:at*he,height:(1-at)*he}]])},H.prototype.calcHandlePosition=function(Q){var k=this.attributes.handleIconOffset,Y=this.availableSpace,at=Y.x,ht=Y.y,ut=Y.width,yt=Y.height,Ht=(0,c.CR)(this.clampValues(),2),he=Ht[0],xe=Ht[1],ke=Q==="start"?-k:k,Ye=(Q==="start"?he:xe)*this.getOrientVal([ut,yt])+ke;return{x:at+this.getOrientVal([Ye,ut/2]),y:ht+this.getOrientVal([yt/2,Ye])}},H.prototype.inferTextStyle=function(Q){var k=this.attributes.orientation;return k==="horizontal"?{}:Q==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:Q==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},H.prototype.calcHandleText=function(Q){var k,Y=this.attributes,at=Y.type,ht=Y.orientation,ut=Y.formatter,yt=Y.autoFitLabel,Ht=(0,E.zs)(this.attributes,"handle"),he=(0,E.zs)(Ht,"label"),xe=Ht.spacing,ke=this.getHandleSize(),Ye=this.clampValues(),cn=Q==="start"?Ye[0]:Ye[1],_n=ut(cn),Mn=new bs.x({style:(0,c.pi)((0,c.pi)((0,c.pi)({},he),this.inferTextStyle(Q)),{text:_n})}),tr=Mn.getBBox(),nr=tr.width,Ar=tr.height;if(Mn.destroy(),!yt){if(at==="value")return{text:_n,x:0,y:-Ar-xe};var pr=xe+ke+(ht==="horizontal"?nr/2:0);return k={text:_n},k[ht==="horizontal"?"x":"y"]=Q==="start"?-pr:pr,k}var Lr=0,Dr=0,Kr=this.availableSpace,ii=Kr.width,yi=Kr.height,ji=this.calcSelectionArea()[1],qi=ji.x,Fi=ji.y,oi=ji.width,xi=ji.height,gi=xe+ke;if(ht==="horizontal"){var Ti=gi+nr/2;if(Q==="start"){var va=qi-gi-nr;Lr=va>0?-Ti:Ti}else{var Ai=ii-qi-oi-gi>nr;Lr=Ai?Ti:-Ti}}else{var Yi=gi,Qi=Ar+gi;Q==="start"?Dr=Fi-ke>Ar?-Qi:Yi:Dr=yi-(Fi+xi)-ke>Ar?Qi:-Yi}return{x:Lr,y:Dr,text:_n}},H.prototype.getHandleLabelStyle=function(Q){var k=(0,E.zs)(this.attributes,"handleLabel");return(0,c.pi)((0,c.pi)((0,c.pi)({},k),this.calcHandleText(Q)),this.inferTextStyle(Q))},H.prototype.getHandleIconStyle=function(){var Q=this.attributes.handleIconShape,k=(0,E.zs)(this.attributes,"handleIcon"),Y=this.getOrientVal(["ew-resize","ns-resize"]),at=this.getHandleSize();return(0,c.pi)({cursor:Y,shape:Q,size:at},k)},H.prototype.getHandleStyle=function(Q){var k=this.attributes,Y=k.x,at=k.y,ht=k.showLabel,ut=k.showLabelOnInteraction,yt=k.orientation,Ht=this.calcHandlePosition(Q),he=Ht.x,xe=Ht.y,ke=this.calcHandleText(Q),Ye=ht;return!ht&&ut&&(this.target?Ye=!0:Ye=!1),(0,c.pi)((0,c.pi)((0,c.pi)({},(0,E.dq)(this.getHandleIconStyle(),"icon")),(0,E.dq)((0,c.pi)((0,c.pi)({},this.getHandleLabelStyle(Q)),ke),"label")),{transform:"translate(".concat(he+Y,", ").concat(xe+at,")"),orientation:yt,showLabel:Ye,type:Q,zIndex:3})},H.prototype.getHandleSize=function(){var Q=this.attributes,k=Q.handleIconSize,Y=Q.width,at=Q.height;return k||Math.floor((this.getOrientVal([+at,+Y])+4)/2.4)},H.prototype.getOrientVal=function(Q){var k=(0,c.CR)(Q,2),Y=k[0],at=k[1],ht=this.attributes.orientation;return ht==="horizontal"?Y:at},H.prototype.setValuesOffset=function(Q,k){k===void 0&&(k=0);var Y=this.attributes.type,at=(0,c.CR)(this.getValues(),2),ht=at[0],ut=at[1],yt=Y==="range"?Q:0,Ht=[ht+yt,ut+k].sort();this.innerSetValues(Ht,!0)},H.prototype.getRatio=function(Q){var k=this.availableSpace,Y=k.width,at=k.height;return Q/this.getOrientVal([Y,at])},H.prototype.dispatchCustomEvent=function(Q,k,Y){var at=this;Q.on(k,function(ht){ht.stopPropagation(),at.dispatchEvent(new U.Aw(Y,{detail:ht}))})},H.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var Q=this.brushArea;this.dispatchCustomEvent(Q,"click","trackClick"),this.dispatchCustomEvent(Q,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(Q,"pointerleave","trackMouseleave"),Q.on("pointerdown",this.onDragStart("track"))},H.prototype.onScroll=function(Q){var k=this.attributes.scrollable;if(k){var Y=Q.deltaX,at=Q.deltaY,ht=at||Y,ut=this.getRatio(ht);this.setValuesOffset(ut,ut)}},H.tag="slider",H}(P.w),FA=g(92387),_o={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(W){return W.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},To=(0,jt.A)({background:"background",labelGroup:"label-group",label:"label"},"indicator"),IA=function(W){(0,c.ZT)(H,W);function H(Q){var k=W.call(this,Q,_o)||this;return k.point=[0,0],k.group=k.appendChild(new U.ZA({})),k.isMutationObserved=!0,k}return H.prototype.renderBackground=function(){if(this.label){var Q=this.attributes,k=Q.position,Y=Q.padding,at=(0,c.CR)((0,Rt.j)(Y),4),ht=at[0],ut=at[1],yt=at[2],Ht=at[3],he=this.label.node().getLocalBounds(),xe=he.min,ke=he.max,Ye=new S.b(xe[0]-Ht,xe[1]-ht,ke[0]+ut-xe[0]+Ht,ke[1]+yt-xe[1]+ht),cn=this.getPath(k,Ye),_n=(0,E.zs)(this.attributes,"background");this.background=(0,ft.Ys)(this.group).maybeAppendByClassName(To.background,"path").styles((0,c.pi)((0,c.pi)({},_n),{d:cn})),this.group.appendChild(this.label.node())}},H.prototype.renderLabel=function(){var Q=this.attributes,k=Q.formatter,Y=Q.labelText,at=(0,E.zs)(this.attributes,"label"),ht=(0,c.CR)((0,E.Hm)(at),2),ut=ht[0],yt=ht[1],Ht=ut.text,he=(0,c._T)(ut,["text"]);if(this.label=(0,ft.Ys)(this.group).maybeAppendByClassName(To.labelGroup,"g").styles(yt),!!Y){var xe=this.label.maybeAppendByClassName(To.label,function(){return(0,Ke.S)(k(Y))}).style("text",k(Y).toString());xe.selectAll("text").styles(he)}},H.prototype.adjustLayout=function(){var Q=(0,c.CR)(this.point,2),k=Q[0],Y=Q[1],at=this.attributes,ht=at.x,ut=at.y;this.group.attr("transform","translate(".concat(ht-k,", ").concat(ut-Y,")"))},H.prototype.getPath=function(Q,k){var Y=this.attributes.radius,at=k.x,ht=k.y,ut=k.width,yt=k.height,Ht=[["M",at+Y,ht],["L",at+ut-Y,ht],["A",Y,Y,0,0,1,at+ut,ht+Y],["L",at+ut,ht+yt-Y],["A",Y,Y,0,0,1,at+ut-Y,ht+yt],["L",at+Y,ht+yt],["A",Y,Y,0,0,1,at,ht+yt-Y],["L",at,ht+Y],["A",Y,Y,0,0,1,at+Y,ht],["Z"]],he={top:4,right:6,bottom:0,left:2},xe=he[Q],ke=this.createCorner([Ht[xe].slice(-2),Ht[xe+1].slice(-2)]);return Ht.splice.apply(Ht,(0,c.ev)([xe+1,1],(0,c.CR)(ke),!1)),Ht[0][0]="M",Ht},H.prototype.createCorner=function(Q,k){k===void 0&&(k=10);var Y=.8,at=dr.wE.apply(void 0,(0,c.ev)([],(0,c.CR)(Q),!1)),ht=(0,c.CR)(Q,2),ut=(0,c.CR)(ht[0],2),yt=ut[0],Ht=ut[1],he=(0,c.CR)(ht[1],2),xe=he[0],ke=he[1],Ye=(0,c.CR)(at?[xe-yt,[yt,xe]]:[ke-Ht,[Ht,ke]],2),cn=Ye[0],_n=(0,c.CR)(Ye[1],2),Mn=_n[0],tr=_n[1],nr=cn/2,Ar=cn/Math.abs(cn),pr=k*Ar,Lr=pr/2,Dr=pr*Math.sqrt(3)/2*Y,Kr=(0,c.CR)([Mn,Mn+nr-Lr,Mn+nr,Mn+nr+Lr,tr],5),ii=Kr[0],yi=Kr[1],ji=Kr[2],qi=Kr[3],Fi=Kr[4];return at?(this.point=[ji,Ht-Dr],[["L",ii,Ht],["L",yi,Ht],["L",ji,Ht-Dr],["L",qi,Ht],["L",Fi,Ht]]):(this.point=[yt+Dr,ji],[["L",yt,ii],["L",yt,yi],["L",yt+Dr,ji],["L",yt,qi],["L",yt,Fi]])},H.prototype.applyVisibility=function(){var Q=this.attributes.visibility;Q==="hidden"?(0,ir.Cp)(this):(0,ir.$Z)(this)},H.prototype.bindEvents=function(){this.label.on(U.Dk.BOUNDS_CHANGED,this.renderBackground)},H.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},H}(P.w),Ct=function(W){(0,c.ZT)(H,W);function H(Q){var k=W.call(this,(0,w.n)({},H.defaultOptions,Q))||this;return k.hoverColor="#f5f5f5",k.selectedColor="#e6f7ff",k.background=k.appendChild(new U.UL({})),k.label=k.background.appendChild(new U.ZA({})),k}return Object.defineProperty(H.prototype,"padding",{get:function(){return(0,Rt.j)(this.style.padding)},enumerable:!1,configurable:!0}),H.prototype.renderLabel=function(){var Q=this.style,k=Q.label,Y=Q.value,at=(0,E.zs)(this.attributes,"label");(0,ft.Ys)(this.label).maybeAppend(".label",function(){return(0,Ke.S)(k)}).attr("className","label").styles(at),this.label.attr("__data__",Y)},H.prototype.renderBackground=function(){var Q=this.label.getBBox(),k=(0,c.CR)(this.padding,4),Y=k[0],at=k[1],ht=k[2],ut=k[3],yt=Q.width,Ht=Q.height,he=yt+ut+at,xe=Ht+Y+ht,ke=(0,E.zs)(this.attributes,"background"),Ye=this.style,cn=Ye.width,_n=cn===void 0?0:cn,Mn=Ye.height,tr=Mn===void 0?0:Mn,nr=Ye.selected;this.background.attr((0,c.pi)((0,c.pi)({},ke),{width:Math.max(he,_n),height:Math.max(xe,tr),fill:nr?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(ut,", ").concat((xe-Ht)/2,")")})},H.prototype.render=function(){this.renderLabel(),this.renderBackground()},H.prototype.bindEvents=function(){var Q=this;this.addEventListener("pointerenter",function(){Q.style.selected||Q.background.attr("fill",Q.hoverColor)}),this.addEventListener("pointerleave",function(){Q.style.selected||Q.background.attr("fill",Q.style.backgroundFill)});var k=this;this.addEventListener("click",function(){var Y=Q.style,at=Y.label,ht=Y.value,ut=Y.onClick;ut==null||ut(ht,{label:at,value:ht},k)})},H.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},H}(P.w),$=function(W){(0,c.ZT)(H,W);function H(Q){var k,Y,at=W.call(this,(0,w.n)({},H.defaultOptions,Q))||this;at.currentValue=(k=H.defaultOptions.style)===null||k===void 0?void 0:k.defaultValue,at.isPointerInSelect=!1,at.select=at.appendChild(new U.UL({className:"select",style:{cursor:"pointer",width:0,height:0}})),at.dropdown=at.appendChild(new U.UL({className:"dropdown"}));var ht=at.style.defaultValue;return ht&&(!((Y=at.style.options)===null||Y===void 0)&&Y.some(function(ut){return ut.value===ht}))&&(at.currentValue=ht),at}return H.prototype.setValue=function(Q){this.currentValue=Q,this.render()},H.prototype.getValue=function(){return this.currentValue},Object.defineProperty(H.prototype,"dropdownPadding",{get:function(){return(0,Rt.j)(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),H.prototype.renderSelect=function(){var Q=this,k,Y=this.style,at=Y.x,ht=Y.y,ut=Y.width,yt=Y.height,Ht=Y.bordered,he=Y.showDropdownIcon,xe=(0,E.zs)(this.attributes,"select"),ke=(0,E.zs)(this.attributes,"placeholder");this.select.attr((0,c.pi)((0,c.pi)({x:at,y:ht,width:ut,height:yt},xe),{fill:"#fff",strokeWidth:Ht?1:0}));var Ye=this.dropdownPadding,cn=10;he&&(0,ft.Ys)(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(at+ut-cn-Ye[1]-Ye[3],", ").concat(ht+yt/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var _n=(k=this.style.options)===null||k===void 0?void 0:k.find(function(Ar){return Ar.value===Q.currentValue}),Mn=(0,c.pi)({x:at+Ye[3]},ke);(0,ft.Ys)(this.select).selectAll(".placeholder").data(_n?[]:[1]).join(function(Ar){return Ar.append("text").attr("className","placeholder").styles(Mn).style("y",function(){var pr=this.getBBox();return ht+(yt-pr.height)/2})},function(Ar){return Ar.styles(Mn)},function(Ar){return Ar.remove()});var tr=(0,E.zs)(this.attributes,"optionLabel"),nr=(0,c.pi)({x:at+Ye[3]},tr);(0,ft.Ys)(this.select).selectAll(".value").data(_n?[_n]:[]).join(function(Ar){return Ar.append(function(pr){return(0,Ke.S)(pr.label)}).attr("className","value").styles(nr).style("y",function(){var pr=this.getBBox();return ht+(yt-pr.height)/2})},function(Ar){return Ar.styles(nr)},function(Ar){return Ar.remove()})},H.prototype.renderDropdown=function(){var Q=this,k,Y,at=this.style,ht=at.x,ut=at.y,yt=at.width,Ht=at.height,he=at.options,xe=at.onSelect,ke=at.open,Ye=(0,E.zs)(this.attributes,"dropdown"),cn=(0,E.zs)(this.attributes,"option"),_n=this.dropdownPadding;(0,ft.Ys)(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(he,function(nr){return nr.value}).join(function(nr){return nr.append(function(Ar){return new Ct({className:"dropdown-item",style:(0,c.pi)((0,c.pi)((0,c.pi)({},Ar),cn),{width:yt-_n[1]-_n[3],selected:Ar.value===Q.currentValue,onClick:function(pr,Lr,Dr){Q.setValue(pr),xe==null||xe(pr,Lr,Dr),Q.dispatchEvent(new U.Aw("change",{detail:{value:pr,option:Lr,item:Dr}})),(0,ir.Cp)(Q.dropdown)}})})}).each(function(Ar,pr){var Lr,Dr=(Lr=this.parentNode)===null||Lr===void 0?void 0:Lr.children,Kr=Dr.reduce(function(ii,yi,ji){return jiat.time?1:0};return Q.sort(k)},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"space",{get:function(){var Q=this.attributes,k=Q.x,Y=Q.y,at=Q.width,ht=Q.height,ut=Q.type,yt=Q.controllerHeight,Ht=(0,R.Z)(+ht-yt,0,+ht),he=new S.b(k,Y+ +ht-yt,+at,yt),xe,ke=0;ut==="chart"?(ke=35,xe=new S.b(k,Y+Ht-ke,+at,ke)):xe=new S.b;var Ye=ut==="time"?10:Ht,cn=new S.b(k,Y+(ut==="time"?Ht:Ht-Ye),+at,Ye-ke);return{axisBBox:xe,controllerBBox:he,timelineBBox:cn}},enumerable:!1,configurable:!0}),H.prototype.setBySliderValues=function(Q){var k,Y,at=this.data,ht=(0,c.CR)(Array.isArray(Q)?Q:[0,Q],2),ut=ht[0],yt=ht[1],Ht=at.length,he=at[Math.floor(ut*Ht)],xe=at[Math.ceil(yt*Ht)-(Array.isArray(Q)?0:1)];this.states.values=[(k=he==null?void 0:he.time)!==null&&k!==void 0?k:at[0].time,(Y=xe==null?void 0:xe.time)!==null&&Y!==void 0?Y:1/0]},H.prototype.setByTimebarValues=function(Q){var k,Y,at,ht=this.data,ut=(0,c.CR)(Array.isArray(Q)?Q:[void 0,Q],2),yt=ut[0],Ht=ut[1],he=ht.find(function(ke){var Ye=ke.time;return Ye===yt}),xe=ht.find(function(ke){var Ye=ke.time;return Ye===Ht});this.states.values=[(k=he==null?void 0:he.time)!==null&&k!==void 0?k:(Y=ht[0])===null||Y===void 0?void 0:Y.time,(at=xe==null?void 0:xe.time)!==null&&at!==void 0?at:1/0]},H.prototype.setByIndex=function(Q){var k,Y,at,ht,ut=this.data,yt=(0,c.CR)(Q,2),Ht=yt[0],he=yt[1];this.states.values=[(Y=(k=ut[Ht])===null||k===void 0?void 0:k.time)!==null&&Y!==void 0?Y:ut[0].time,(ht=(at=this.data[he])===null||at===void 0?void 0:at.time)!==null&&ht!==void 0?ht:1/0]},Object.defineProperty(H.prototype,"sliderValues",{get:function(){var Q=this.states,k=Q.values,Y=Q.selectionType,at=(0,c.CR)(Array.isArray(k)?k:[void 0,k],2),ht=at[0],ut=at[1],yt=this.data,Ht=yt.length,he=Y==="value",xe=function(){var Ye=yt.findIndex(function(cn){var _n=cn.time;return _n===ht});return he?0:Ye>-1?Ye/Ht:0},ke=function(){if(ut===1/0)return 1;var Ye=yt.findIndex(function(cn){var _n=cn.time;return _n===ut});return Ye>-1?Ye/Ht:he?.5:1};return[xe(),ke()]},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"values",{get:function(){var Q=this.states,k=Q.values,Y=Q.selectionType,at=(0,c.CR)(Array.isArray(k)?k:[this.data[0].time,k],2),ht=at[0],ut=at[1];return Y==="value"?ut:[ht,ut]},enumerable:!1,configurable:!0}),H.prototype.getDatumByRatio=function(Q){var k=this.data,Y=k.length,at=Math.floor(Q*(Y-1));return k[at]},Object.defineProperty(H.prototype,"chartHandleIconShape",{get:function(){var Q=this.states.selectionType,k=this.space.timelineBBox.height;return Q==="range"?function(Y){return new Bi({style:{type:Y,height:k,iconSize:k/6}})}:function(){return new U.x1({style:{x1:0,y1:-k/2,x2:0,y2:k/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),H.prototype.getChartStyle=function(Q){var k=this,Y=Q.x,at=Q.y,ht=Q.width,ut=Q.height,yt=this.states,Ht=yt.selectionType,he=yt.chartType,xe=this.data,ke=this.attributes,Ye=ke.type,cn=ke.labelFormatter,_n=(0,E.zs)(this.attributes,"chart"),Mn=_n.type,tr=(0,c._T)(_n,["type"]),nr=Ht==="range";if(Ye==="time")return(0,c.pi)({handleIconShape:function(){return new $r({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:nr?-15:0,autoFitLabel:nr,handleSpacing:nr?-15:0,trackFill:"#edeeef",trackLength:ht,trackOpacity:.5,trackRadius:ut/2,trackSize:ut/2,type:Ht,values:this.sliderValues,formatter:function(Lr){if(cn)return cn(Lr);var Dr=k.getDatumByRatio(Lr).time;return typeof Dr=="number"?Mi(Dr):Z(Dr,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(Y,", ").concat(at,")"),zIndex:1},tr);var Ar=Ht==="range"?5:0,pr=xe.map(function(Lr){var Dr=Lr.value;return Dr});return(0,c.pi)({handleIconOffset:Ar,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:pr,sparklineType:he,sparklineScale:.8,trackLength:ht,trackSize:ut,type:Ht,values:this.sliderValues,transform:"translate(".concat(Y,", ").concat(at,")"),zIndex:1},tr)},H.prototype.renderChart=function(Q){Q===void 0&&(Q=this.space.timelineBBox),this.timeline.update(this.getChartStyle(Q))},H.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},H.prototype.getAxisStyle=function(Q){var k=this.data,Y=this.attributes,at=Y.interval,ht=Y.labelFormatter,ut=(0,E.zs)(this.attributes,"axis"),yt=Q.x,Ht=Q.y,he=Q.width,xe=(0,c.ev)((0,c.ev)([],(0,c.CR)(k),!1),[{time:0}],!1).map(function(Ye,cn,_n){var Mn=Ye.time;return{label:"".concat(Mn),value:cn/(_n.length-1),time:Mn}}),ke=(0,c.pi)({startPos:[yt,Ht],endPos:[yt+he,Ht],data:xe,labelFilter:function(Ye,cn){return cnat?yt==="value"?[0,0]:Ht==="acc"?[Kr(Lr),Kr(Lr)]:[0,Kr(Dr-Lr)]:Lr<0?Ht==="acc"?[0,Kr(Dr)]:[Kr(Lr+at-Dr),at]:[Kr(Lr),Kr(Dr)]},nr=tr(Mn);return this.setByIndex(nr),this.updateSelection(),nr},H.prototype.internalBackward=function(Q){var k,Y,at=this.moveSelection("backward",Q);return Q||((Y=(k=this.attributes)===null||k===void 0?void 0:k.onBackward)===null||Y===void 0||Y.call(k),this.dispatchOnChange()),at},H.prototype.backward=function(){this.internalBackward()},H.prototype.internalPlay=function(Q){var k=this,Y,at,ht=this.data,ut=this.attributes.loop,yt=this.states.speed,Ht=yt===void 0?1:yt;this.playInterval=window.setInterval(function(){var he=k.internalForward();he[1]===ht.length&&!ut&&(k.internalPause(),k.renderController())},1e3/Ht),this.states.state="play",!Q&&((at=(Y=this.attributes)===null||Y===void 0?void 0:Y.onPlay)===null||at===void 0||at.call(Y))},H.prototype.play=function(){this.internalPlay()},H.prototype.internalPause=function(Q){var k,Y;clearInterval(this.playInterval),this.states.state="pause",!Q&&((Y=(k=this.attributes)===null||k===void 0?void 0:k.onPause)===null||Y===void 0||Y.call(k))},H.prototype.pause=function(){this.internalPause()},H.prototype.internalForward=function(Q){var k,Y,at=this.moveSelection("forward",Q);return Q||((Y=(k=this.attributes)===null||k===void 0?void 0:k.onForward)===null||Y===void 0||Y.call(k),this.dispatchOnChange()),at},H.prototype.forward=function(){this.internalForward()},H.prototype.handleSpeedChange=function(Q){var k,Y;this.states.speed=Q;var at=this.states.state;at==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(Y=(k=this.attributes)===null||k===void 0?void 0:k.onSpeedChange)===null||Y===void 0||Y.call(k,Q)},H.prototype.handleSelectionTypeChange=function(Q){var k,Y;this.states.selectionType=Q,this.renderChart(),(Y=(k=this.attributes)===null||k===void 0?void 0:k.onSelectionTypeChange)===null||Y===void 0||Y.call(k,Q)},H.prototype.handleChartTypeChange=function(Q){var k,Y;this.states.chartType=Q,this.renderChart(),(Y=(k=this.attributes)===null||k===void 0?void 0:k.onChartTypeChange)===null||Y===void 0||Y.call(k,Q)},H.prototype.render=function(){var Q=this.space,k=Q.axisBBox,Y=Q.controllerBBox,at=Q.timelineBBox;this.renderController(Y),this.renderAxis(k),this.renderChart(at),this.states.state==="play"&&this.internalPlay()},H.prototype.destroy=function(){W.prototype.destroy.call(this),this.internalPause(!0)},H.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"}},H}(P.w)},75242:function(gt,dt,g){"use strict";g.d(dt,{u:function(){return Z}});var c=g(80813),R=g(85580);function P(tt,V){return!tt||!V?tt:tt.replace(/\\?\{([^{}]+)\}/g,function(pt,st){return pt.charAt(0)==="\\"?pt.slice(1):V[st]===void 0?"":V[st]})}var U=P,w=g(97304),S=function(tt,V){if(V==null){tt.innerHTML="";return}tt.replaceChildren?Array.isArray(V)?tt.replaceChildren.apply(tt,(0,c.ev)([],(0,c.CR)(V),!1)):tt.replaceChildren(V):(tt.innerHTML="",Array.isArray(V)?V.forEach(function(pt){return tt.appendChild(pt)}):tt.appendChild(V))},E=g(88839),L=g(17911);function D(tt){return tt===void 0&&(tt=""),{CONTAINER:"".concat(tt,"tooltip"),TITLE:"".concat(tt,"tooltip-title"),LIST:"".concat(tt,"tooltip-list"),LIST_ITEM:"".concat(tt,"tooltip-list-item"),NAME:"".concat(tt,"tooltip-list-item-name"),MARKER:"".concat(tt,"tooltip-list-item-marker"),NAME_LABEL:"".concat(tt,"tooltip-list-item-name-label"),VALUE:"".concat(tt,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(tt,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(tt,"tooltip-crosshair-y")}}var T={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function K(tt){var V;tt===void 0&&(tt="");var pt=D(tt);return V={},V[".".concat(pt.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"},V[".".concat(pt.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},V[".".concat(pt.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},V[".".concat(pt.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},V[".".concat(pt.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},V[".".concat(pt.NAME)]={display:"flex","align-items":"center","max-width":"216px"},V[".".concat(pt.NAME_LABEL)]=(0,c.pi)({flex:1},T),V[".".concat(pt.VALUE)]=(0,c.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},T),V[".".concat(pt.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},V[".".concat(pt.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},V}var Z=function(tt){(0,c.ZT)(V,tt);function V(pt){var st=this,X,Mt,ft=(Mt=(X=pt.style)===null||X===void 0?void 0:X.template)===null||Mt===void 0?void 0:Mt.prefixCls,Ut=D(ft);return st=tt.call(this,pt,{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:'
'),title:'
'),item:'
  • + + + {name} + + {value} +
  • `)},style:K(ft)})||this,st.timestamp=-1,st.prevCustomContentKey=st.attributes.contentKey,st.initShape(),st.render(st.attributes,st),st}return Object.defineProperty(V.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),V.prototype.getContainer=function(){return this.element},Object.defineProperty(V.prototype,"elementSize",{get:function(){var pt=this.element.offsetWidth,st=this.element.offsetHeight;return{width:pt,height:st}},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"HTMLTooltipItemsElements",{get:function(){var pt=this.attributes,st=pt.data,X=pt.template;return st.map(function(Mt,ft){var Ut=Mt.name,jt=Ut===void 0?"":Ut,Gt=Mt.color,Oe=Gt===void 0?"black":Gt,de=Mt.index,sn=(0,c._T)(Mt,["name","color","index"]),Be=(0,c.pi)({name:jt,color:Oe,index:de!=null?de:ft},sn);return(0,R.L)(U(X.item,Be))})},enumerable:!1,configurable:!0}),V.prototype.render=function(pt,st){this.renderHTMLTooltipElement(),this.updatePosition()},V.prototype.destroy=function(){var pt;(pt=this.element)===null||pt===void 0||pt.remove(),tt.prototype.destroy.call(this)},V.prototype.show=function(pt,st){var X=this;if(pt!==void 0&&st!==void 0){var Mt=this.element.style.visibility==="hidden",ft=function(){X.attributes.x=pt!=null?pt:X.attributes.x,X.attributes.y=st!=null?st:X.attributes.y,X.updatePosition()};Mt?this.closeTransition(ft):ft()}this.element.style.visibility="visible"},V.prototype.hide=function(pt,st){pt===void 0&&(pt=0),st===void 0&&(st=0);var X=this.attributes.enterable;X&&this.isCursorEntered(pt,st)||(this.element.style.visibility="hidden")},V.prototype.initShape=function(){var pt=this.attributes.template;this.element=(0,R.L)(pt.container),this.id&&this.element.setAttribute("id",this.id)},V.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var pt=this.attributes.content;pt&&(typeof pt=="string"?this.element.innerHTML=pt:S(this.element,pt))}},V.prototype.renderHTMLTooltipElement=function(){var pt,st,X=this.attributes,Mt=X.template,ft=X.title,Ut=X.enterable,jt=X.style,Gt=X.content,Oe=D(Mt.prefixCls),de=this.element;if(this.element.style.pointerEvents=Ut?"auto":"none",Gt)this.renderCustomContent();else{ft?(de.innerHTML=Mt.title,de.getElementsByClassName(Oe.TITLE)[0].innerHTML=ft):(st=(pt=de.getElementsByClassName(Oe.TITLE))===null||pt===void 0?void 0:pt[0])===null||st===void 0||st.remove();var sn=this.HTMLTooltipItemsElements,Be=document.createElement("ul");Be.className=Oe.LIST,S(Be,sn);var En=this.element.querySelector(".".concat(Oe.LIST));En?En.replaceWith(Be):de.appendChild(Be)}(0,E.MC)(de,jt)},V.prototype.getRelativeOffsetFromCursor=function(pt){var st=this.attributes,X=st.position,Mt=st.offset,ft=pt||X,Ut=ft.split("-"),jt={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},Gt=this.elementSize,Oe=Gt.width,de=Gt.height,sn=[-Oe/2,-de/2];return Ut.forEach(function(Be){var En=(0,c.CR)(sn,2),Ln=En[0],wn=En[1],Rn=(0,c.CR)(jt[Be],2),or=Rn[0],pn=Rn[1];sn=[Ln+(Oe/2+Mt[0])*or,wn+(de/2+Mt[1])*pn]}),sn},V.prototype.setOffsetPosition=function(pt){var st=(0,c.CR)(pt,2),X=st[0],Mt=st[1],ft=this.attributes,Ut=ft.x,jt=Ut===void 0?0:Ut,Gt=ft.y,Oe=Gt===void 0?0:Gt,de=ft.container,sn=de.x,Be=de.y;this.element.style.left="".concat(+jt+sn+X,"px"),this.element.style.top="".concat(+Oe+Be+Mt,"px")},V.prototype.updatePosition=function(){var pt=this.attributes.showDelay,st=pt===void 0?60:pt,X=Date.now();this.timestamp>0&&X-this.timestampor+zn,top:wnpn+Pt},Un=[];Oe.split("-").forEach(function(ze){Se[ze]?Un.push(Rn[ze]):Un.push(ze)});var On=Un.join("-");return this.getRelativeOffsetFromCursor(On)},V.prototype.isCursorEntered=function(pt,st){if(this.element){var X=this.element.getBoundingClientRect(),Mt=X.x,ft=X.y,Ut=X.width,jt=X.height;return new L.b(Mt,ft,Ut,jt).isPointIn(pt,st)}return!1},V.prototype.closeTransition=function(pt){var st=this,X=this.element.style.transition;this.element.style.transition="none",pt(),setTimeout(function(){st.element.style.transition=X},10)},V.tag="tooltip",V}(w.w)},17911:function(gt,dt,g){"use strict";g.d(dt,{b:function(){return c}});var c=function(){function P(U,w,S,E){U===void 0&&(U=0),w===void 0&&(w=0),S===void 0&&(S=0),E===void 0&&(E=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=U,this.y=w,this.width=S,this.height=E}return Object.defineProperty(P.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),P.fromRect=function(U){return new P(U.x,U.y,U.width,U.height)},P.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}},P.prototype.isPointIn=function(U,w){return U>=this.left&&U<=this.right&&w>=this.top&&w<=this.bottom},P}();function R(P){var U=P.getRenderBounds(),w=__read(U.min,2),S=w[0],E=w[1],L=__read(U.max,2),D=L[0],T=L[1],K=D-S,Z=T-E;return new c(S,E,K,Z)}},38242:function(gt,dt,g){"use strict";g.d(dt,{S:function(){return P}});var c=g(80813),R=g(71018);function P(U,w){return(0,R.Z)(U)?U.apply(void 0,(0,c.ev)([],(0,c.CR)(w),!1)):U}},58688:function(gt,dt,g){"use strict";g.d(dt,{A:function(){return R}});var c=g(80813),R=function(P,U){var w=function(E){return"".concat(U,"-").concat(E)},S=Object.fromEntries(Object.entries(P).map(function(E){var L=(0,c.CR)(E,2),D=L[0],T=L[1],K=w(T);return[D,{name:K,class:".".concat(K),id:"#".concat(K),toString:function(){return K}}]}));return Object.assign(S,{prefix:w}),S}},99247:function(gt,dt,g){"use strict";g.d(dt,{n:function(){return S}});var c=g(80813),R=g(63467),P=g(39934),U=5,w=function(E,L,D,T){D===void 0&&(D=0),T===void 0&&(T=U),Object.entries(L).forEach(function(K){var Z=(0,c.CR)(K,2),tt=Z[0],V=Z[1],pt=E;Object.prototype.hasOwnProperty.call(L,tt)&&(V?(0,R.Z)(V)?((0,R.Z)(E[tt])||(pt[tt]={}),D2?[R[0]]:R.split("")}},99769:function(gt,dt,g){"use strict";g.d(dt,{b:function(){return c}});function c(R,P,U){U===void 0&&(U=!1);var w=R.getBBox(),S=w.width,E=w.height,L=P/Math.max(S,E);return U&&(R.style.transform="scale(".concat(L,")")),L}},38974:function(gt,dt,g){"use strict";g.d(dt,{OV:function(){return K},Ys:function(){return T}});var c=g(80813),R=g(39934),P=function(Z){if(!(0,R.Z)(Z))return[];for(var tt=[],V=0;V="A"&&tt<="Z"};function L(K,Z,tt){tt===void 0&&(tt=!1);var V={};return Object.entries(K).forEach(function(pt){var st=(0,c.CR)(pt,2),X=st[0],Mt=st[1];if(!(X==="className"||X==="class")){if(E(X,"show")&&E(w(X,"show"),Z)!==tt)X===U(Z,"show")?V[X]=Mt:V[X.replace(new RegExp(R(Z)),"")]=Mt;else if(!E(X,"show")&&E(X,Z)!==tt){var ft=w(X,Z);ft==="filter"&&typeof Mt=="function"||(V[ft]=Mt)}}}),V}function D(K,Z){return Object.entries(K).reduce(function(tt,V){var pt=(0,c.CR)(V,2),st=pt[0],X=pt[1];return st.startsWith("show")?tt["show".concat(Z).concat(st.slice(4))]=X:tt["".concat(Z).concat(R(st))]=X,tt},{})}function T(K,Z){Z===void 0&&(Z=["x","y","class","className"]);var tt=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],V={},pt={};return Object.entries(K).forEach(function(st){var X=(0,c.CR)(st,2),Mt=X[0],ft=X[1];Z.includes(Mt)||(tt.indexOf(Mt)!==-1?pt[Mt]=ft:V[Mt]=ft)}),[V,pt]}},58533:function(gt,dt,g){"use strict";g.d(dt,{Rm:function(){return D},U4:function(){return L},Ux:function(){return S},qT:function(){return E}});var c=g(66623),R=g(40455),P,U;function w(T){U=T}var S=(0,R.Z)(function(T,K){var Z=K.fontSize,tt=K.fontFamily,V=K.fontWeight,pt=K.fontStyle,st=K.fontVariant;return U?U(T,Z):(P||(P=c.GZ.offscreenCanvasCreator.getOrCreateContext(void 0)),P.font=[pt,st,V,"".concat(Z,"px"),tt].join(" "),P.measureText(T).width)},function(T,K){return[T,Object.values(K||E(T)).join()].join("")},4096),E=function(T){var K=T.style.fontFamily||"sans-serif",Z=T.style.fontWeight||"normal",tt=T.style.fontStyle||"normal",V=T.style.fontVariant,pt=T.style.fontSize;return pt=typeof pt=="object"?pt.value:pt,{fontSize:pt,fontFamily:K,fontWeight:Z,fontStyle:tt,fontVariant:V}};function L(T){return T.nodeName==="text"?T:T.nodeName==="g"&&T.children.length===1&&T.children[0].nodeName==="text"?T.children[0]:null}function D(T,K){var Z=L(T);Z&&Z.attr(K)}},69014:function(gt,dt,g){"use strict";g.d(dt,{Cp:function(){return P},$Z:function(){return R},WD:function(){return U}});function c(w,S){S(w),w.children&&w.children.forEach(function(E){E&&c(E,S)})}function R(w){U(w,!0)}function P(w){U(w,!1)}function U(w,S){var E=S?"visible":"hidden";c(w,function(L){L.attr("visibility",E)})}},49336:function(gt,dt){"use strict";var g="*",c=function(){function R(){this._events={}}return R.prototype.on=function(P,U,w){return this._events[P]||(this._events[P]=[]),this._events[P].push({callback:U,once:!!w}),this},R.prototype.once=function(P,U){return this.on(P,U,!0)},R.prototype.emit=function(P){for(var U=this,w=[],S=1;Svt&&Fe>mt,Lt&&(typeof Lt.resetTransform=="function"?Lt.resetTransform():Lt.setTransform(1,0,0,1,0,0),Zt.clearFullScreen&&Zt.clearRect(Lt,0,0,Jt*Rt,qt*Rt,De.background))},m=function(z,Lt){for(var Rt=[z];Rt.length>0;){var Jt,qt=Rt.pop();qt.isVisible()&&!qt.isCulled()&&(ir?Zt.renderDisplayObjectOptimized(qt,Lt,Zt.context,D(Zt,Gt)[Gt],Dt):Zt.renderDisplayObject(qt,Lt,Zt.context,D(Zt,Gt)[Gt],Dt));for(var en=((Jt=qt.sortable)===null||Jt===void 0||(Jt=Jt.sorted)===null||Jt===void 0?void 0:Jt.length)>0?qt.sortable.sorted:qt.childNodes,vt=en.length-1;vt>=0;vt--)Rt.push(en[vt])}};vn.hooks.endFrame.tap(Ze.tag,function(){if(M(),un.root.childNodes.length===0){Zt.clearFullScreenLastFrame=!0;return}ir=De.renderer.getConfig().enableRenderingOptimization,D(Zt,Gt)[Gt]={restoreStack:[],prevObject:null,currentContext:D(Zt,Gt)[Gt].currentContext},D(Zt,Gt)[Gt].currentContext.clear(),Zt.clearFullScreenLastFrame=!1;var N=ot.getContext(),z=ot.getDPR();if(Z.fromScaling(Zt.dprMatrix,[z,z,1]),Z.multiply(Zt.vpMatrix,Zt.dprMatrix,Ee.getOrthoMatrix()),Zt.clearFullScreen)ir?(N.save(),m(un.root,N),N.restore()):m(un.root,N);else{var Lt=Zt.safeMergeAABB(Zt.mergeDirtyAABBs(Zt.renderQueue));if(w.mN.isEmpty(Lt)){Zt.renderQueue=[];return}var Rt=Zt.convertAABB2Rect(Lt),Jt=Rt.x,qt=Rt.y,en=Rt.width,vt=Rt.height,mt=tt.fF(Zt.vec3a,[Jt,qt,0],Zt.vpMatrix),ct=tt.fF(Zt.vec3b,[Jt+en,qt,0],Zt.vpMatrix),xt=tt.fF(Zt.vec3c,[Jt,qt+vt,0],Zt.vpMatrix),zt=tt.fF(Zt.vec3d,[Jt+en,qt+vt,0],Zt.vpMatrix),Fe=Math.min(mt[0],ct[0],zt[0],xt[0]),Vt=Math.min(mt[1],ct[1],zt[1],xt[1]),Te=Math.max(mt[0],ct[0],zt[0],xt[0]),Je=Math.max(mt[1],ct[1],zt[1],xt[1]),Sn=Math.floor(Fe),Nn=Math.floor(Vt),er=Math.ceil(Te-Fe),kn=Math.ceil(Je-Vt);N.save(),Zt.clearRect(N,Sn,Nn,er,kn,De.background),N.beginPath(),N.rect(Sn,Nn,er,kn),N.clip(),N.setTransform(Zt.vpMatrix[0],Zt.vpMatrix[1],Zt.vpMatrix[4],Zt.vpMatrix[5],Zt.vpMatrix[12],Zt.vpMatrix[13]);var Wn=De.renderer.getConfig(),dr=Wn.enableDirtyRectangleRenderingDebug;dr&&x.dispatchEvent(new w.Aw(w.$6.DIRTY_RECTANGLE,{dirtyRect:{x:Sn,y:Nn,width:er,height:kn}}));var Re=Lt.getMin(),Bn=(0,L.Z)(Re,2),ar=Bn[0],Gn=Bn[1],kr=Lt.getMax(),Qr=(0,L.Z)(kr,2),Cr=Qr[0],br=Qr[1],ei=un.root.ownerDocument.elementsFromBBox(ar,Gn,Cr,br);ei.sort(function(wr,Yr){return wr.sortable.renderOrder-Yr.sortable.renderOrder}).forEach(function(wr){wr&&wr.isVisible()&&!wr.isCulled()&&Zt.renderDisplayObject(wr,N,Zt.context,D(Zt,Gt)[Gt],Dt)}),N.restore(),Zt.renderQueue.forEach(function(wr){Zt.saveDirtyAABB(wr)}),Zt.renderQueue=[]}D(Zt,Gt)[Gt].restoreStack.forEach(function(){N.restore()}),D(Zt,Gt)[Gt].restoreStack=[]}),vn.hooks.render.tap(Ze.tag,function(N){Zt.clearFullScreen||Zt.renderQueue.push(N)})}},{key:"clearRect",value:function(ye,Dt,Zt,we,De,Ee){ye.clearRect(Dt,Zt,we,De),Ee&&(ye.fillStyle=Ee,ye.fillRect(Dt,Zt,we,De))}},{key:"renderDisplayObjectOptimized",value:function(ye,Dt,Zt,we,De){var Ee=ye.nodeName,vn=!1,un=!1,Xn=this.context.styleRendererFactory[Ee],ir=this.pathGeneratorFactory[Ee],ot=ye.parsedStyle.clipPath;if(ot){vn=!we.prevObject||!Z.exactEquals(ot.getWorldTransform(),we.prevObject.getWorldTransform()),vn&&(this.applyWorldTransform(Dt,ot),we.prevObject=null);var x=this.pathGeneratorFactory[ot.nodeName];x&&(Dt.save(),un=!0,Dt.beginPath(),x(Dt,ot.parsedStyle),Dt.closePath(),Dt.clip())}if(Xn){vn=!we.prevObject||!Z.exactEquals(ye.getWorldTransform(),we.prevObject.getWorldTransform()),vn&&this.applyWorldTransform(Dt,ye);var M=!we.prevObject;if(!M){var m=we.prevObject.nodeName;Ee===w.bn.TEXT?M=m!==w.bn.TEXT:Ee===w.bn.IMAGE?M=m!==w.bn.IMAGE:M=m===w.bn.TEXT||m===w.bn.IMAGE}Xn.applyStyleToContext(Dt,ye,M,we),we.prevObject=ye}ir&&(Dt.beginPath(),ir(Dt,ye.parsedStyle),Ee!==w.bn.LINE&&Ee!==w.bn.PATH&&Ee!==w.bn.POLYLINE&&Dt.closePath()),Xn&&Xn.drawToContext(Dt,ye,D(this,Gt)[Gt],this,De),un&&Dt.restore(),ye.dirty(!1)}},{key:"renderDisplayObject",value:function(ye,Dt,Zt,we,De){var Ee=ye.nodeName,vn=we.restoreStack[we.restoreStack.length-1];vn&&!(ye.compareDocumentPosition(vn)&w.NB.DOCUMENT_POSITION_CONTAINS)&&(Dt.restore(),we.restoreStack.pop());var un=this.context.styleRendererFactory[Ee],Xn=this.pathGeneratorFactory[Ee],ir=ye.parsedStyle.clipPath;if(ir){this.applyWorldTransform(Dt,ir);var ot=this.pathGeneratorFactory[ir.nodeName];ot&&(Dt.save(),we.restoreStack.push(ye),Dt.beginPath(),ot(Dt,ir.parsedStyle),Dt.closePath(),Dt.clip())}un&&(this.applyWorldTransform(Dt,ye),Dt.save(),this.applyAttributesToContext(Dt,ye)),Xn&&(Dt.beginPath(),Xn(Dt,ye.parsedStyle),Ee!==w.bn.LINE&&Ee!==w.bn.PATH&&Ee!==w.bn.POLYLINE&&Dt.closePath()),un&&(un.render(Dt,ye.parsedStyle,ye,Zt,this,De),Dt.restore()),ye.dirty(!1)}},{key:"applyAttributesToContext",value:function(ye,Dt){var Zt=Dt.parsedStyle,we=Zt.stroke,De=Zt.fill,Ee=Zt.opacity,vn=Zt.lineDash,un=Zt.lineDashOffset;vn&&ye.setLineDash(vn),(0,V.Z)(un)||(ye.lineDashOffset=un),(0,V.Z)(Ee)||(ye.globalAlpha*=Ee),!(0,V.Z)(we)&&!Array.isArray(we)&&!we.isNone&&(ye.strokeStyle=Dt.attributes.stroke),!(0,V.Z)(De)&&!Array.isArray(De)&&!De.isNone&&(ye.fillStyle=Dt.attributes.fill)}},{key:"convertAABB2Rect",value:function(ye){var Dt=ye.getMin(),Zt=ye.getMax(),we=Math.floor(Dt[0]),De=Math.floor(Dt[1]),Ee=Math.ceil(Zt[0]),vn=Math.ceil(Zt[1]),un=Ee-we,Xn=vn-De;return{x:we,y:De,width:un,height:Xn}}},{key:"mergeDirtyAABBs",value:function(ye){var Dt=new w.mN;return ye.forEach(function(Zt){var we=Zt.getRenderBounds();Dt.add(we);var De=Zt.renderable.dirtyRenderBounds;De&&Dt.add(De)}),Dt}},{key:"saveDirtyAABB",value:function(ye){var Dt=ye.renderable;Dt.dirtyRenderBounds||(Dt.dirtyRenderBounds=new w.mN);var Zt=ye.getRenderBounds();Zt&&Dt.dirtyRenderBounds.update(Zt.center,Zt.halfExtents)}},{key:"applyWorldTransform",value:function(ye,Dt,Zt){Zt?(Z.copy(this.tmpMat4,Dt.getLocalTransform()),Z.multiply(this.tmpMat4,Zt,this.tmpMat4),Z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(Z.copy(this.tmpMat4,Dt.getWorldTransform()),Z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)),ye.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 ye=new w.mN,Dt=arguments.length,Zt=new Array(Dt),we=0;we0;if(ir){if(Zt||Dt.attributes.stroke!==we.prevObject.attributes.stroke){var ot=!(0,V.Z)(Ee.stroke)&&!Array.isArray(Ee.stroke)&&!Ee.stroke.isNone?Dt.attributes.stroke:Ln.strokeStyle;Rn(ye,"strokeStyle",ot,we.currentContext)}(Zt||Ee.lineWidth!==De.lineWidth)&&Rn(ye,"lineWidth",(0,V.Z)(Ee.lineWidth)?Ln.lineWidth:Ee.lineWidth,we.currentContext),(Zt||Ee.lineDash!==De.lineDash)&&Rn(ye,"lineDash",Ee.lineDash||Ln.lineDash,we.currentContext),(Zt||Ee.lineDashOffset!==De.lineDashOffset)&&Rn(ye,"lineDashOffset",(0,V.Z)(Ee.lineDashOffset)?Ln.lineDashOffset:Ee.lineDashOffset,we.currentContext);for(var x=0;x4&&arguments[4]!==void 0?arguments[4]:!1;if(Dt){Rn(ye,"shadowColor",Ln.shadowColor,we.currentContext);for(var Ee=0;Ee-1&&Rn(ye,"filter",un.replace(/drop-shadow\([^)]*\)/,"").trim()||Ln.filter,we.currentContext)}else Rn(ye,"filter",Ln.filter,we.currentContext)}},{key:"fillToContext",value:function(ye,Dt,Zt,we,De){var Ee=this,vn=Dt.parsedStyle,un=vn.fill,Xn=vn.fillRule,ir=null;if(Array.isArray(un)&&un.length>0)un.forEach(function(x){var M=Rn(ye,"fillStyle",sn(x,Dt,ye,Ee.imagePool),Zt.currentContext);ir=ir!=null?ir:M,Xn?ye.fill(Xn):ye.fill()});else{if((0,w.R)(un)){var ot=de(un,Dt,ye,Dt.ownerDocument.defaultView.context,we,De,this.imagePool);ot&&(ye.fillStyle=ot,ir=!0)}Xn?ye.fill(Xn):ye.fill()}ir!==null&&Rn(ye,"fillStyle",ir,Zt.currentContext)}},{key:"strokeToContext",value:function(ye,Dt,Zt,we,De){var Ee=this,vn=Dt.parsedStyle.stroke,un=null;if(Array.isArray(vn)&&vn.length>0)vn.forEach(function(ot){var x=Rn(ye,"strokeStyle",sn(ot,Dt,ye,Ee.imagePool),Zt.currentContext);un=un!=null?un:x,ye.stroke()});else{if((0,w.R)(vn)){var Xn=de(vn,Dt,ye,Dt.ownerDocument.defaultView.context,we,De,this.imagePool);if(Xn){var ir=Rn(ye,"strokeStyle",Xn,Zt.currentContext);un=un!=null?un:ir}}ye.stroke()}un!==null&&Rn(ye,"strokeStyle",un,Zt.currentContext)}},{key:"drawToContext",value:function(ye,Dt,Zt,we,De){var Ee,vn=Dt.nodeName,un=Dt.parsedStyle,Xn=un.opacity,ir=Xn===void 0?Ln.globalAlpha:Xn,ot=un.fillOpacity,x=ot===void 0?Ln.fillOpacity:ot,M=un.strokeOpacity,m=M===void 0?Ln.strokeOpacity:M,N=un.lineWidth,z=N===void 0?Ln.lineWidth:N,Lt=un.fill&&!un.fill.isNone,Rt=un.stroke&&!un.stroke.isNone&&z>0;if(!(!Lt&&!Rt)){var Jt=!(0,V.Z)(un.shadowColor)&&un.shadowBlur>0,qt=un.shadowType==="inner",en=((Ee=un.fill)===null||Ee===void 0?void 0:Ee.alpha)===0,vt=!!(un.filter&&un.filter.length),mt=Jt&&Rt&&(vn===w.bn.PATH||vn===w.bn.LINE||vn===w.bn.POLYLINE||en||qt),ct=null;if(Lt){mt||this.applyShadowAndFilterStyleToContext(ye,Dt,Jt,Zt);var xt=ir*x;ct=Rn(ye,"globalAlpha",xt,Zt.currentContext),this.fillToContext(ye,Dt,Zt,we,De),mt||this.clearShadowAndFilterStyleForContext(ye,Jt,vt,Zt)}if(Rt){var zt=!1,Fe=ir*m,Vt=Rn(ye,"globalAlpha",Fe,Zt.currentContext);if(ct=Lt?ct:Vt,mt&&(this.applyShadowAndFilterStyleToContext(ye,Dt,Jt,Zt),zt=!0,qt)){var Te=ye.globalCompositeOperation;ye.globalCompositeOperation="source-atop",this.strokeToContext(ye,Dt,Zt,we,De),ye.globalCompositeOperation=Te,this.clearShadowAndFilterStyleForContext(ye,Jt,vt,Zt,!0)}this.strokeToContext(ye,Dt,Zt,we,De),zt&&this.clearShadowAndFilterStyleForContext(ye,Jt,vt,Zt)}ct!==null&&Rn(ye,"globalAlpha",ct,Zt.currentContext)}}}])}(),pn=function(Ze){function Ce(){return(0,R.Z)(this,Ce),(0,P.Z)(this,Ce,arguments)}return(0,U.Z)(Ce,Ze),(0,c.Z)(Ce,[{key:"render",value:function(Dt,Zt,we,De,Ee,vn){var un=Zt.fill,Xn=Zt.fillRule,ir=Zt.opacity,ot=ir===void 0?1:ir,x=Zt.fillOpacity,M=x===void 0?1:x,m=Zt.stroke,N=Zt.strokeOpacity,z=N===void 0?1:N,Lt=Zt.lineWidth,Rt=Lt===void 0?1:Lt,Jt=Zt.lineCap,qt=Zt.lineJoin,en=Zt.shadowType,vt=Zt.shadowColor,mt=Zt.shadowBlur,ct=Zt.filter,xt=Zt.miterLimit,zt=un&&!un.isNone,Fe=m&&!m.isNone&&Rt>0,Vt=(un==null?void 0:un.alpha)===0,Te=!!(ct&&ct.length),Je=!(0,V.Z)(vt)&&mt>0,Sn=we.nodeName,Nn=en==="inner",er=Fe&&Je&&(Sn===w.bn.PATH||Sn===w.bn.LINE||Sn===w.bn.POLYLINE||Vt||Nn);zt&&(Dt.globalAlpha=ot*M,er||zn(we,Dt,Je),Pt(Dt,we,un,Xn,De,Ee,vn,this.imagePool),er||this.clearShadowAndFilter(Dt,Te,Je)),Fe&&(Dt.globalAlpha=ot*z,Dt.lineWidth=Rt,(0,V.Z)(xt)||(Dt.miterLimit=xt),(0,V.Z)(Jt)||(Dt.lineCap=Jt),(0,V.Z)(qt)||(Dt.lineJoin=qt),er&&(Nn&&(Dt.globalCompositeOperation="source-atop"),zn(we,Dt,!0),Nn&&(Se(Dt,we,m,De,Ee,vn,this.imagePool),Dt.globalCompositeOperation=Ln.globalCompositeOperation,this.clearShadowAndFilter(Dt,Te,!0))),Se(Dt,we,m,De,Ee,vn,this.imagePool))}},{key:"clearShadowAndFilter",value:function(Dt,Zt,we){if(we&&(Dt.shadowColor="transparent",Dt.shadowBlur=0),Zt){var De=Dt.filter;!(0,V.Z)(De)&&De.indexOf("drop-shadow")>-1&&(Dt.filter=De.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(or);function zn(Ze,Ce,ye){var Dt=Ze.parsedStyle,Zt=Dt.filter,we=Dt.shadowColor,De=Dt.shadowBlur,Ee=Dt.shadowOffsetX,vn=Dt.shadowOffsetY;Zt&&Zt.length&&(Ce.filter=Ze.style.filter),ye&&(Ce.shadowColor=we.toString(),Ce.shadowBlur=De||0,Ce.shadowOffsetX=Ee||0,Ce.shadowOffsetY=vn||0)}function Pt(Ze,Ce,ye,Dt,Zt,we,De,Ee){var vn=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(ye)?ye.forEach(function(un){Ze.fillStyle=sn(un,Ce,Ze,Ee),vn||(Dt?Ze.fill(Dt):Ze.fill())}):((0,w.R)(ye)&&(Ze.fillStyle=de(ye,Ce,Ze,Zt,we,De,Ee)),vn||(Dt?Ze.fill(Dt):Ze.fill()))}function Se(Ze,Ce,ye,Dt,Zt,we,De){var Ee=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(ye)?ye.forEach(function(vn){Ze.strokeStyle=sn(vn,Ce,Ze,De),Ee||Ze.stroke()}):((0,w.R)(ye)&&(Ze.strokeStyle=de(ye,Ce,Ze,Dt,Zt,we,De)),Ee||Ze.stroke())}function Un(Ze,Ce){var ye=(0,L.Z)(Ze,4),Dt=ye[0],Zt=ye[1],we=ye[2],De=ye[3],Ee=(0,L.Z)(Ce,4),vn=Ee[0],un=Ee[1],Xn=Ee[2],ir=Ee[3],ot=Math.max(Dt,vn),x=Math.max(Zt,un),M=Math.min(Dt+we,vn+Xn),m=Math.min(Zt+De,un+ir);return M<=ot||m<=x?null:[ot,x,M-ot,m-x]}function On(Ze,Ce){var ye=tt.fF(tt.Ue(),[Ze[0],Ze[1],0],Ce),Dt=tt.fF(tt.Ue(),[Ze[0]+Ze[2],Ze[1],0],Ce),Zt=tt.fF(tt.Ue(),[Ze[0],Ze[1]+Ze[3],0],Ce),we=tt.fF(tt.Ue(),[Ze[0]+Ze[2],Ze[1]+Ze[3],0],Ce);return[Math.min(ye[0],Dt[0],Zt[0],we[0]),Math.min(ye[1],Dt[1],Zt[1],we[1]),Math.max(ye[0],Dt[0],Zt[0],we[0])-Math.min(ye[0],Dt[0],Zt[0],we[0]),Math.max(ye[1],Dt[1],Zt[1],we[1])-Math.min(ye[1],Dt[1],Zt[1],we[1])]}var ze=function(Ze){function Ce(){return(0,R.Z)(this,Ce),(0,P.Z)(this,Ce,arguments)}return(0,U.Z)(Ce,Ze),(0,c.Z)(Ce,[{key:"renderDownSampled",value:function(Dt,Zt,we,De){var Ee=De.src,vn=De.imageCache;if(!vn.downSampled){this.imagePool.createDownSampledImage(Ee,we).then(function(){we.ownerDocument&&(we.dirty(),we.ownerDocument.defaultView.context.renderingService.dirty())}).catch(function(un){console.error(un)});return}Dt.drawImage(vn.downSampled,Math.floor(De.drawRect[0]),Math.floor(De.drawRect[1]),Math.ceil(De.drawRect[2]),Math.ceil(De.drawRect[3]))}},{key:"renderTile",value:function(Dt,Zt,we,De){var Ee=De.src,vn=De.imageCache,un=De.imageRect,Xn=De.drawRect,ir=vn.size,ot=Dt.getTransform(),x=ot.a,M=ot.b,m=ot.c,N=ot.d,z=ot.e,Lt=ot.f;if(Dt.resetTransform(),!(vn!=null&&vn.gridSize)){this.imagePool.createImageTiles(Ee,[],function(){we.ownerDocument&&(we.dirty(),we.ownerDocument.defaultView.context.renderingService.dirty())},we).catch(function(Je){console.error(Je)});return}for(var Rt=[ir[0]/un[2],ir[1]/un[3]],Jt=[vn.tileSize[0]/Rt[0],vn.tileSize[1]/Rt[1]],qt=[Math.floor((Xn[0]-un[0])/Jt[0]),Math.ceil((Xn[0]+Xn[2]-un[0])/Jt[0])],en=qt[0],vt=qt[1],mt=[Math.floor((Xn[1]-un[1])/Jt[1]),Math.ceil((Xn[1]+Xn[3]-un[1])/Jt[1])],ct=mt[0],xt=mt[1],zt=ct;zt<=xt;zt++)for(var Fe=en;Fe<=vt;Fe++){var Vt=vn.tiles[zt][Fe];if(Vt){var Te=[Math.floor(un[0]+Vt.tileX*Jt[0]),Math.floor(un[1]+Vt.tileY*Jt[1]),Math.ceil(Jt[0]),Math.ceil(Jt[1])];Dt.drawImage(Vt.data,Te[0],Te[1],Te[2],Te[3])}}Dt.setTransform(x,M,m,N,z,Lt)}},{key:"render",value:function(Dt,Zt,we){var De=Zt.x,Ee=De===void 0?0:De,vn=Zt.y,un=vn===void 0?0:vn,Xn=Zt.width,ir=Zt.height,ot=Zt.src,x=Zt.shadowColor,M=Zt.shadowBlur,m=this.imagePool.getImageSync(ot,we),N=m==null?void 0:m.img,z=Xn,Lt=ir;if(N){z||(z=N.width),Lt||(Lt=N.height);var Rt=!(0,V.Z)(x)&&M>0;zn(we,Dt,Rt);try{var Jt=we.ownerDocument.defaultView.getContextService().getDomElement(),qt=Jt.width,en=Jt.height,vt=Dt.getTransform(),mt=vt.a,ct=vt.b,xt=vt.c,zt=vt.d,Fe=vt.e,Vt=vt.f,Te=Z.fromValues(mt,xt,0,0,ct,zt,0,0,0,0,1,0,Fe,Vt,0,1),Je=On([Ee,un,z,Lt],Te),Sn=Un([0,0,qt,en],Je);if(!Sn)return;if(!we.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){Ce.renderFull(Dt,Zt,we,{image:N,drawRect:[Ee,un,z,Lt]});return}var Nn=Je[2]/m.size[0];if(Nn<(m.downSamplingRate||.5)){this.renderDownSampled(Dt,Zt,we,{src:ot,imageCache:m,drawRect:[Ee,un,z,Lt]});return}if(!ImagePool.isSupportTile){Ce.renderFull(Dt,Zt,we,{image:N,drawRect:[Ee,un,z,Lt]});return}this.renderTile(Dt,Zt,we,{src:ot,imageCache:m,imageRect:Je,drawRect:Sn})}catch(er){}}}},{key:"drawToContext",value:function(Dt,Zt,we,De,Ee){this.render(Dt,Zt.parsedStyle,Zt)}}],[{key:"renderFull",value:function(Dt,Zt,we,De){Dt.drawImage(De.image,Math.floor(De.drawRect[0]),Math.floor(De.drawRect[1]),Math.ceil(De.drawRect[2]),Math.ceil(De.drawRect[3]))}}])}(pn),tn=function(Ze){function Ce(){return(0,R.Z)(this,Ce),(0,P.Z)(this,Ce,arguments)}return(0,U.Z)(Ce,Ze),(0,c.Z)(Ce,[{key:"render",value:function(Dt,Zt,we,De,Ee,vn){we.getBounds();var un=Zt.lineWidth,Xn=un===void 0?1:un,ir=Zt.textAlign,ot=ir===void 0?"start":ir,x=Zt.textBaseline,M=x===void 0?"alphabetic":x,m=Zt.lineJoin,N=m===void 0?"miter":m,z=Zt.miterLimit,Lt=z===void 0?10:z,Rt=Zt.letterSpacing,Jt=Rt===void 0?0:Rt,qt=Zt.stroke,en=Zt.fill,vt=Zt.fillRule,mt=Zt.fillOpacity,ct=mt===void 0?1:mt,xt=Zt.strokeOpacity,zt=xt===void 0?1:xt,Fe=Zt.opacity,Vt=Fe===void 0?1:Fe,Te=Zt.metrics,Je=Zt.x,Sn=Je===void 0?0:Je,Nn=Zt.y,er=Nn===void 0?0:Nn,kn=Zt.dx,Wn=Zt.dy,dr=Zt.shadowColor,Re=Zt.shadowBlur,Bn=Zt.textDecorationLine,ar=Te.font,Gn=Te.lines,kr=Te.height,Qr=Te.lineHeight,Cr=Te.lineMetrics;Dt.font=ar,Dt.lineWidth=Xn,Dt.textAlign=ot==="middle"?"center":ot;var br=M;br==="alphabetic"&&(br="bottom"),Dt.lineJoin=N,(0,V.Z)(Lt)||(Dt.miterLimit=Lt);var ei=er;M==="middle"?ei+=-kr/2-Qr/2:M==="bottom"||M==="alphabetic"||M==="ideographic"?ei+=-kr:(M==="top"||M==="hanging")&&(ei+=-Qr);var wr=Sn+(kn||0);ei+=Wn||0,Gn.length===1&&(br==="bottom"?(br="middle",ei-=.5*kr):br==="top"&&(br="middle",ei+=.5*kr)),Dt.textBaseline=br;var Yr=!(0,V.Z)(dr)&&Re>0;zn(we,Dt,Yr);for(var mi=0;mi0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,Ce),ye=(0,P.Z)(this,Ce),ye.name="canvas-renderer",ye.options=Dt,ye}return(0,U.Z)(Ce,Ze),(0,c.Z)(Ce,[{key:"init",value:function(){var Dt,Zt=(0,E.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),we=this.context.imagePool,De=new pn(we),Ee=(Dt={},(0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)(Dt,w.bn.CIRCLE,De),w.bn.ELLIPSE,De),w.bn.RECT,De),w.bn.IMAGE,new ze(we)),w.bn.TEXT,new tn(we)),w.bn.LINE,De),w.bn.POLYLINE,De),w.bn.POLYGON,De),w.bn.PATH,De),w.bn.GROUP,void 0),(0,S.Z)((0,S.Z)((0,S.Z)(Dt,w.bn.HTML,void 0),w.bn.MESH,void 0),w.bn.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=Ee,this.context.styleRendererFactory=Ee,this.addRenderingPlugin(new Oe(Zt))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(w.F6),pe=Object.freeze({__proto__:null,CircleRenderer:pn,DefaultRenderer:pn,EllipseRenderer:pn,ImageRenderer:ze,LineRenderer:pn,PathRenderer:pn,Plugin:ln,PolygonRenderer:pn,PolylineRenderer:pn,RectRenderer:pn,TextRenderer:tn}),Pe=tt.Ue(),Ft=tt.Ue(),Bt=tt.Ue(),ve=Z.create(),nn=function(){function Ze(){var Ce=this;(0,R.Z)(this,Ze),this.isHit=function(ye,Dt,Zt,we){var De=Ce.context.pointInPathPickerFactory[ye.nodeName];if(De){var Ee=Z.invert(ve,Zt),vn=tt.fF(Ft,tt.t8(Bt,Dt[0],Dt[1],0),Ee);if(De(ye,new w.E9(vn[0],vn[1]),we,Ce.isPointInPath,Ce.context,Ce.runtime))return!0}return!1},this.isPointInPath=function(ye,Dt){var Zt=Ce.runtime.offscreenCanvasCreator.getOrCreateContext(Ce.context.config.offscreenCanvas),we=Ce.context.pathGeneratorFactory[ye.nodeName];return we&&(Zt.beginPath(),we(Zt,ye.parsedStyle),Zt.closePath()),Zt.isPointInPath(Dt.x,Dt.y)}}return(0,c.Z)(Ze,[{key:"apply",value:function(ye,Dt){var Zt,we=this,De=ye.renderingService,Ee=ye.renderingContext;this.context=ye,this.runtime=Dt;var vn=(Zt=Ee.root)===null||Zt===void 0?void 0:Zt.ownerDocument;De.hooks.pick.tapPromise(Ze.tag,function(){var un=(0,Ut.Z)((0,ft.Z)().mark(function Xn(ir){return(0,ft.Z)().wrap(function(ot){for(;;)switch(ot.prev=ot.next){case 0:return ot.abrupt("return",we.pick(vn,ir));case 1:case"end":return ot.stop()}},Xn)}));return function(Xn){return un.apply(this,arguments)}}()),De.hooks.pickSync.tap(Ze.tag,function(un){return we.pick(vn,un)})}},{key:"pick",value:function(ye,Dt){var Zt=Dt.topmost,we=Dt.position,De=we.x,Ee=we.y,vn=tt.t8(Pe,De,Ee,0),un=ye.elementsFromBBox(vn[0],vn[1],vn[0],vn[1]),Xn=[],ir=(0,Mt.Z)(un),ot;try{for(ir.s();!(ot=ir.n()).done;){var x=ot.value,M=x.getWorldTransform(),m=this.isHit(x,vn,M,!1);if(m){var N=(0,w.Oi)(x);if(N){var z=N.parsedStyle.clipPath,Lt=this.isHit(z,vn,z.getWorldTransform(),!0);if(Lt){if(Zt)return Dt.picked=[x],Dt;Xn.push(x)}}else{if(Zt)return Dt.picked=[x],Dt;Xn.push(x)}}}}catch(Rt){ir.e(Rt)}finally{ir.f()}return Dt.picked=Xn,Dt}}])}();nn.tag="CanvasPicker";function Ve(Ze,Ce,ye){var Dt=Ze.parsedStyle,Zt=Dt.cx,we=Zt===void 0?0:Zt,De=Dt.cy,Ee=De===void 0?0:De,vn=Dt.r,un=Dt.fill,Xn=Dt.stroke,ir=Dt.lineWidth,ot=ir===void 0?1:ir,x=Dt.increasedLineWidthForHitTesting,M=x===void 0?0:x,m=Dt.pointerEvents,N=m===void 0?"auto":m,z=(ot+M)/2,Lt=(0,jt.TE)(we,Ee,Ce.x,Ce.y),Rt=(0,w.L1)(N,un,Xn),Jt=(0,L.Z)(Rt,2),qt=Jt[0],en=Jt[1];return qt&&en||ye?Lt<=vn+z:qt?Lt<=vn:en?Lt>=vn-z&&Lt<=vn+z:!1}function ce(Ze,Ce,ye,Dt){return Ze/(ye*ye)+Ce/(Dt*Dt)}function We(Ze,Ce,ye){var Dt=Ze.parsedStyle,Zt=Dt.cx,we=Zt===void 0?0:Zt,De=Dt.cy,Ee=De===void 0?0:De,vn=Dt.rx,un=Dt.ry,Xn=Dt.fill,ir=Dt.stroke,ot=Dt.lineWidth,x=ot===void 0?1:ot,M=Dt.increasedLineWidthForHitTesting,m=M===void 0?0:M,N=Dt.pointerEvents,z=N===void 0?"auto":N,Lt=Ce.x,Rt=Ce.y,Jt=(0,w.L1)(z,Xn,ir),qt=(0,L.Z)(Jt,2),en=qt[0],vt=qt[1],mt=(x+m)/2,ct=(Lt-we)*(Lt-we),xt=(Rt-Ee)*(Rt-Ee);return en&&vt||ye?ce(ct,xt,vn+mt,un+mt)<=1:en?ce(ct,xt,vn,un)<=1:vt?ce(ct,xt,vn-mt,un-mt)>=1&&ce(ct,xt,vn+mt,un+mt)<=1:!1}function Me(Ze,Ce,ye,Dt,Zt,we){return Zt>=Ze&&Zt<=Ze+ye&&we>=Ce&&we<=Ce+Dt}function kt(Ze,Ce,ye,Dt,Zt,we,De){var Ee=Zt/2;return Me(Ze-Ee,Ce-Ee,ye,Zt,we,De)||Me(Ze+ye-Ee,Ce-Ee,Zt,Dt,we,De)||Me(Ze+Ee,Ce+Dt-Ee,ye,Zt,we,De)||Me(Ze-Ee,Ce+Ee,Zt,Dt,we,De)}function ae(Ze,Ce,ye,Dt,Zt,we,De,Ee){var vn=(Math.atan2(Ee-Ce,De-Ze)+Math.PI*2)%(Math.PI*2),un={x:Ze+ye*Math.cos(vn),y:Ce+ye*Math.sin(vn)};return(0,jt.TE)(un.x,un.y,De,Ee)<=we/2}function Ie(Ze,Ce,ye,Dt,Zt,we,De){var Ee=Math.min(Ze,ye),vn=Math.max(Ze,ye),un=Math.min(Ce,Dt),Xn=Math.max(Ce,Dt),ir=Zt/2;return we>=Ee-ir&&we<=vn+ir&&De>=un-ir&&De<=Xn+ir?(0,jt._x)(Ze,Ce,ye,Dt,we,De)<=Zt/2:!1}function F(Ze,Ce,ye,Dt,Zt){var we=Ze.length;if(we<2)return!1;for(var De=0;De0!=ue(Ee[1]-ye)>0&&ue(Ce-(ye-De[1])*(De[0]-Ee[0])/(De[1]-Ee[1])-De[0])<0&&(Dt=!Dt)}return Dt}function Ke(Ze,Ce,ye){for(var Dt=!1,Zt=0;Zt=Zt.min[0]&&Ce.y>=Zt.min[1]&&Ce.x<=Zt.max[0]&&Ce.y<=Zt.max[1]}var me=function(Ze){function Ce(){var ye;(0,R.Z)(this,Ce);for(var Dt=arguments.length,Zt=new Array(Dt),we=0;weEe?De:Ee,un=De>Ee?1:De/Ee,Xn=De>Ee?Ee/De:1;Ze.save(),Ze.scale(un,Xn),Ze.arc(Dt,we,vn,0,Math.PI*2)}}function An(Ze,Ce){var ye=Ce.x1,Dt=Ce.y1,Zt=Ce.x2,we=Ce.y2,De=Ce.markerStart,Ee=Ce.markerEnd,vn=Ce.markerStartOffset,un=Ce.markerEndOffset,Xn=0,ir=0,ot=0,x=0,M=0,m,N;De&&(0,w.RV)(De)&&vn&&(m=Zt-ye,N=we-Dt,M=Math.atan2(N,m),Xn=Math.cos(M)*(vn||0),ir=Math.sin(M)*(vn||0)),Ee&&(0,w.RV)(Ee)&&un&&(m=ye-Zt,N=Dt-we,M=Math.atan2(N,m),ot=Math.cos(M)*(un||0),x=Math.sin(M)*(un||0)),Ze.moveTo(ye+Xn,Dt+ir),Ze.lineTo(Zt+ot,we+x)}function Qn(Ze,Ce){var ye=Ce.markerStart,Dt=Ce.markerEnd,Zt=Ce.markerStartOffset,we=Ce.markerEndOffset,De=Ce.d,Ee=De.absolutePath,vn=De.segments,un=0,Xn=0,ir=0,ot=0,x=0,M,m;if(ye&&(0,w.RV)(ye)&&Zt){var N=ye.parentNode.getStartTangent(),z=(0,L.Z)(N,2),Lt=z[0],Rt=z[1];M=Lt[0]-Rt[0],m=Lt[1]-Rt[1],x=Math.atan2(m,M),un=Math.cos(x)*(Zt||0),Xn=Math.sin(x)*(Zt||0)}if(Dt&&(0,w.RV)(Dt)&&we){var Jt=Dt.parentNode.getEndTangent(),qt=(0,L.Z)(Jt,2),en=qt[0],vt=qt[1];M=en[0]-vt[0],m=en[1]-vt[1],x=Math.atan2(m,M),ir=Math.cos(x)*(we||0),ot=Math.sin(x)*(we||0)}for(var mt=0;mtkr?Gn:kr,Yr=Gn>kr?1:Gn/kr,mi=Gn>kr?kr/Gn:1;Ze.translate(Bn,ar),Ze.rotate(br),Ze.scale(Yr,mi),Ze.arc(0,0,wr,Qr,Cr,!!(1-ei)),Ze.scale(1/Yr,1/mi),Ze.rotate(-br),Ze.translate(-Bn,-ar)}Vt&&Ze.lineTo(ct[6]+ir,ct[7]+ot);break}case"Z":Ze.closePath();break}}}function Yn(Ze,Ce){var ye=Ce.markerStart,Dt=Ce.markerEnd,Zt=Ce.markerStartOffset,we=Ce.markerEndOffset,De=Ce.points.points,Ee=De.length,vn=De[0][0],un=De[0][1],Xn=De[Ee-1][0],ir=De[Ee-1][1],ot=0,x=0,M=0,m=0,N=0,z,Lt;ye&&(0,w.RV)(ye)&&Zt&&(z=De[1][0]-De[0][0],Lt=De[1][1]-De[0][1],N=Math.atan2(Lt,z),ot=Math.cos(N)*(Zt||0),x=Math.sin(N)*(Zt||0)),Dt&&(0,w.RV)(Dt)&&we&&(z=De[Ee-1][0]-De[0][0],Lt=De[Ee-1][1]-De[0][1],N=Math.atan2(Lt,z),M=Math.cos(N)*(we||0),m=Math.sin(N)*(we||0)),Ze.moveTo(vn+(ot||M),un+(x||m));for(var Rt=1;Rt0?1:-1,x=vn>0?1:-1,M=ot+x===0,m=De.map(function(qt){return(0,st.Z)(qt,0,Math.min(Math.abs(un)/2,Math.abs(Xn)/2))}),N=(0,L.Z)(m,4),z=N[0],Lt=N[1],Rt=N[2],Jt=N[3];Ze.moveTo(ot*z+Dt,we),Ze.lineTo(un-ot*Lt+Dt,we),Lt!==0&&Ze.arc(un-ot*Lt+Dt,x*Lt+we,Lt,-x*Math.PI/2,ot>0?0:Math.PI,M),Ze.lineTo(un+Dt,Xn-x*Rt+we),Rt!==0&&Ze.arc(un-ot*Rt+Dt,Xn-x*Rt+we,Rt,ot>0?0:Math.PI,x>0?Math.PI/2:1.5*Math.PI,M),Ze.lineTo(ot*Jt+Dt,Xn+we),Jt!==0&&Ze.arc(ot*Jt+Dt,Xn-x*Jt+we,Jt,x>0?Math.PI/2:-Math.PI/2,ot>0?Math.PI:0,M),Ze.lineTo(Dt,x*z+we),z!==0&&Ze.arc(ot*z+Dt,x*z+we,z,ot>0?Math.PI:0,x>0?Math.PI*1.5:Math.PI/2,M)}}var ur=function(Ze){function Ce(){var ye;(0,R.Z)(this,Ce);for(var Dt=arguments.length,Zt=new Array(Dt),we=0;we0&&Ee[0]!==void 0?Ee[0]:{},we=Zt.type,De=Zt.encoderOptions,vn.abrupt("return",this.context.canvas.toDataURL(we,De));case 1:case"end":return vn.stop()}},Dt,this)}));function ye(){return Ce.apply(this,arguments)}return ye}()}])}(),ri=function(Ze){function Ce(){var ye;(0,R.Z)(this,Ce);for(var Dt=arguments.length,Zt=new Array(Dt),we=0;we=Gt[s]&&(s==="m"&&o.length>2?(u.segments.push([d].concat(o.splice(0,2))),s="l",d=d==="m"?"l":"L"):u.segments.push([d].concat(o.splice(0,Gt[s]))),!!Gt[s]););}function Ln(u){var d=u.index,s=u.pathValue,o=s.charCodeAt(d);if(o===48){u.param=0,u.index+=1;return}if(o===49){u.param=1,u.index+=1;return}u.err='[path-util]: invalid Arc flag "'.concat(s[d],'", expecting 0 or 1 at index ').concat(d)}function wn(u){return u>=48&&u<=57||u===43||u===45||u===46}function Rn(u){return u>=48&&u<=57}function or(u){var d=u.max,s=u.pathValue,o=u.index,f=o,b=!1,C=!1,G=!1,J=!1,lt;if(f>=d){u.err="[path-util]: Invalid path value at index ".concat(f,', "pathValue" is missing param');return}if(lt=s.charCodeAt(f),(lt===43||lt===45)&&(f+=1,lt=s.charCodeAt(f)),!Rn(lt)&<!==46){u.err="[path-util]: Invalid path value at index ".concat(f,', "').concat(s[f],'" is not a number');return}if(lt!==46){if(b=lt===48,f+=1,lt=s.charCodeAt(f),b&&f=5760&&d.includes(u)}function zn(u){for(var d=u.pathValue,s=u.max;u.index0;C-=1){if(Se(f)&&(C===3||C===4)?Ln(u):or(u),u.err.length)return;u.data.push(u.param),zn(u),u.index=u.max||!wn(s.charCodeAt(u.index)))break}En(u)}var On=function(){function u(d){this.pathValue=d,this.segments=[],this.max=d.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return u}();function ze(u){if(Oe(u))return[].concat(u);var d=new On(u);for(zn(d);d.index=b)C={x:s,y:o};else{var G=Pe([u,d],[s,o],f/b),J=G[0],lt=G[1];C={x:J,y:lt}}return{length:b,point:C,min:{x:Math.min(u,s),y:Math.min(d,o)},max:{x:Math.max(u,s),y:Math.max(d,o)}}}function Bt(u,d){var s=u.x,o=u.y,f=d.x,b=d.y,C=s*f+o*b,G=Math.sqrt((Math.pow(s,2)+Math.pow(o,2))*(Math.pow(f,2)+Math.pow(b,2))),J=s*b-o*f<0?-1:1,lt=J*Math.acos(C/G);return lt}function ve(u,d,s,o,f,b,C,G,J,lt){var Tt=Math.abs,Kt=Math.sin,le=Math.cos,Qe=Math.sqrt,Ue=Math.PI,qe=Tt(s),hn=Tt(o),dn=(f%360+360)%360,rn=dn*(Ue/180);if(u===G&&d===J)return{x:u,y:d};if(qe===0||hn===0)return Ft(u,d,G,J,lt).point;var Dn=(u-G)/2,rr=(d-J)/2,Tr={x:le(rn)*Dn+Kt(rn)*rr,y:-Kt(rn)*Dn+le(rn)*rr},Sr=Math.pow(Tr.x,2)/Math.pow(qe,2)+Math.pow(Tr.y,2)/Math.pow(hn,2);Sr>1&&(qe*=Qe(Sr),hn*=Qe(Sr));var hr=Math.pow(qe,2)*Math.pow(hn,2)-Math.pow(qe,2)*Math.pow(Tr.y,2)-Math.pow(hn,2)*Math.pow(Tr.x,2),vr=Math.pow(qe,2)*Math.pow(Tr.y,2)+Math.pow(hn,2)*Math.pow(Tr.x,2),Xr=hr/vr;Xr=Xr<0?0:Xr;var Gr=(b!==C?1:-1)*Qe(Xr),ni={x:Gr*(qe*Tr.y/hn),y:Gr*(-(hn*Tr.x)/qe)},Hr={x:le(rn)*ni.x-Kt(rn)*ni.y+(u+G)/2,y:Kt(rn)*ni.x+le(rn)*ni.y+(d+J)/2},wi={x:(Tr.x-ni.x)/qe,y:(Tr.y-ni.y)/hn},ra=Bt({x:1,y:0},wi),Oa={x:(-Tr.x-ni.x)/qe,y:(-Tr.y-ni.y)/hn},Na=Bt(wi,Oa);!C&&Na>0?Na-=2*Ue:C&&Na<0&&(Na+=2*Ue),Na%=2*Ue;var li=ra+Na*lt,B=qe*le(li),y=hn*Kt(li),I={x:le(rn)*B-Kt(rn)*y+Hr.x,y:Kt(rn)*B+le(rn)*y+Hr.y};return I}function nn(u,d,s,o,f,b,C,G,J,lt,Tt){var Kt,le=Tt.bbox,Qe=le===void 0?!0:le,Ue=Tt.length,qe=Ue===void 0?!0:Ue,hn=Tt.sampleSize,dn=hn===void 0?30:hn,rn=typeof lt=="number",Dn=u,rr=d,Tr=0,Sr=[Dn,rr,Tr],hr=[Dn,rr],vr=0,Xr={x:0,y:0},Gr=[{x:Dn,y:rr}];rn&<<=0&&(Xr={x:Dn,y:rr});for(var ni=0;ni<=dn;ni+=1){if(vr=ni/dn,Kt=ve(u,d,s,o,f,b,C,G,J,vr),Dn=Kt.x,rr=Kt.y,Qe&&Gr.push({x:Dn,y:rr}),qe&&(Tr+=(0,X.y)(hr,[Dn,rr])),hr=[Dn,rr],rn&&Tr>=lt&<>Sr[2]){var Hr=(Tr-lt)/(Tr-Sr[2]);Xr={x:hr[0]*(1-Hr)+Sr[0]*Hr,y:hr[1]*(1-Hr)+Sr[1]*Hr}}Sr=[Dn,rr,Tr]}return rn&<>=Tr&&(Xr={x:G,y:J}),{length:Tr,point:Xr,min:{x:Math.min.apply(null,Gr.map(function(wi){return wi.x})),y:Math.min.apply(null,Gr.map(function(wi){return wi.y}))},max:{x:Math.max.apply(null,Gr.map(function(wi){return wi.x})),y:Math.max.apply(null,Gr.map(function(wi){return wi.y}))}}}function Ve(u,d,s,o,f,b,C,G,J){var lt=1-J;return{x:Math.pow(lt,3)*u+3*Math.pow(lt,2)*J*s+3*lt*Math.pow(J,2)*f+Math.pow(J,3)*C,y:Math.pow(lt,3)*d+3*Math.pow(lt,2)*J*o+3*lt*Math.pow(J,2)*b+Math.pow(J,3)*G}}function ce(u,d,s,o,f,b,C,G,J,lt){var Tt,Kt=lt.bbox,le=Kt===void 0?!0:Kt,Qe=lt.length,Ue=Qe===void 0?!0:Qe,qe=lt.sampleSize,hn=qe===void 0?10:qe,dn=typeof J=="number",rn=u,Dn=d,rr=0,Tr=[rn,Dn,rr],Sr=[rn,Dn],hr=0,vr={x:0,y:0},Xr=[{x:rn,y:Dn}];dn&&J<=0&&(vr={x:rn,y:Dn});for(var Gr=0;Gr<=hn;Gr+=1){if(hr=Gr/hn,Tt=Ve(u,d,s,o,f,b,C,G,hr),rn=Tt.x,Dn=Tt.y,le&&Xr.push({x:rn,y:Dn}),Ue&&(rr+=(0,X.y)(Sr,[rn,Dn])),Sr=[rn,Dn],dn&&rr>=J&&J>Tr[2]){var ni=(rr-J)/(rr-Tr[2]);vr={x:Sr[0]*(1-ni)+Tr[0]*ni,y:Sr[1]*(1-ni)+Tr[1]*ni}}Tr=[rn,Dn,rr]}return dn&&J>=rr&&(vr={x:C,y:G}),{length:rr,point:vr,min:{x:Math.min.apply(null,Xr.map(function(Hr){return Hr.x})),y:Math.min.apply(null,Xr.map(function(Hr){return Hr.y}))},max:{x:Math.max.apply(null,Xr.map(function(Hr){return Hr.x})),y:Math.max.apply(null,Xr.map(function(Hr){return Hr.y}))}}}function We(u,d,s,o,f,b,C){var G=1-C;return{x:Math.pow(G,2)*u+2*G*C*s+Math.pow(C,2)*f,y:Math.pow(G,2)*d+2*G*C*o+Math.pow(C,2)*b}}function Me(u,d,s,o,f,b,C,G){var J,lt=G.bbox,Tt=lt===void 0?!0:lt,Kt=G.length,le=Kt===void 0?!0:Kt,Qe=G.sampleSize,Ue=Qe===void 0?10:Qe,qe=typeof C=="number",hn=u,dn=d,rn=0,Dn=[hn,dn,rn],rr=[hn,dn],Tr=0,Sr={x:0,y:0},hr=[{x:hn,y:dn}];qe&&C<=0&&(Sr={x:hn,y:dn});for(var vr=0;vr<=Ue;vr+=1){if(Tr=vr/Ue,J=We(u,d,s,o,f,b,Tr),hn=J.x,dn=J.y,Tt&&hr.push({x:hn,y:dn}),le&&(rn+=(0,X.y)(rr,[hn,dn])),rr=[hn,dn],qe&&rn>=C&&C>Dn[2]){var Xr=(rn-C)/(rn-Dn[2]);Sr={x:rr[0]*(1-Xr)+Dn[0]*Xr,y:rr[1]*(1-Xr)+Dn[1]*Xr}}Dn=[hn,dn,rn]}return qe&&C>=rn&&(Sr={x:f,y:b}),{length:rn,point:Sr,min:{x:Math.min.apply(null,hr.map(function(Gr){return Gr.x})),y:Math.min.apply(null,hr.map(function(Gr){return Gr.y}))},max:{x:Math.max.apply(null,hr.map(function(Gr){return Gr.x})),y:Math.max.apply(null,hr.map(function(Gr){return Gr.y}))}}}function kt(u,d,s){for(var o,f,b,C,G,J,lt=pe(u),Tt=typeof d=="number",Kt,le=[],Qe,Ue=0,qe=0,hn=0,dn=0,rn,Dn=[],rr=[],Tr=0,Sr={x:0,y:0},hr=Sr,vr=Sr,Xr=Sr,Gr=0,ni=0,Hr=lt.length;ni=d&&(Xr=vr),rr.push(hr),Dn.push(Sr),Gr+=Tr,J=Qe!=="Z"?rn.slice(-2):[hn,dn],Ue=J[0],qe=J[1];return Tt&&d>=Gr&&(Xr={x:Ue,y:qe}),{length:Gr,point:Xr,min:{x:Math.min.apply(null,Dn.map(function(wi){return wi.x})),y:Math.min.apply(null,Dn.map(function(wi){return wi.y}))},max:{x:Math.max.apply(null,rr.map(function(wi){return wi.x})),y:Math.max.apply(null,rr.map(function(wi){return wi.y}))}}}function ae(u,d){return kt(u,void 0,(0,jt.pi)((0,jt.pi)({},d),{bbox:!1,length:!0})).length}var Ie=g(2078),F=g(82639),rt=g(5131),ue=function(u,d){return(u%d+d)%d},se=ue;function je(u,d,s){if(u[s].length>7){u[s].shift();for(var o=u[s],f=s;o.length;)d[s]="A",u.splice(f+=1,0,["C"].concat(o.splice(0,6)));u.splice(s,1)}}function Ke(u){return sn(u)&&u.every(function(d){var s=d[0];return"MC".includes(s)})}var Cn=g(66045);function bt(u,d,s,o,f,b){var C=.3333333333333333,G=2/3;return[C*u+G*s,C*d+G*o,C*f+G*s,C*b+G*o,f,b]}var nt=function(u,d,s,o){var f=.5,b=Pe([u,d],[s,o],f);return(0,jt.ev)((0,jt.ev)([],b,!0),[s,o,s,o],!1)};function Nt(u,d){var s=u[0],o=u.slice(1).map(Number),f=o[0],b=o[1],C,G=d.x1,J=d.y1,lt=d.x,Tt=d.y;switch("TQ".includes(s)||(d.qx=null,d.qy=null),s){case"M":return d.x=f,d.y=b,u;case"A":return C=[G,J].concat(o),["C"].concat((0,Cn.W)(C[0],C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],C[9]));case"Q":return d.qx=f,d.qy=b,C=[G,J].concat(o),["C"].concat(bt(C[0],C[1],C[2],C[3],C[4],C[5]));case"L":return["C"].concat(nt(G,J,f,b));case"Z":return G===lt&&J===Tt?["C",G,J,lt,Tt,lt,Tt]:["C"].concat(nt(G,J,lt,Tt));default:}return u}function Yt(u,d){if(d===void 0&&(d=!1),Ke(u)){var s=[].concat(u);return d?[s,[]]:s}for(var o=pe(u),f=(0,jt.pi)({},Be),b=[],C="",G=o.length,J,lt,Tt=[],Kt=0;KtIt)return console.warn("Maximum recursion depth reached in equalizeSegments"),[u,d];var f=Wt(u),b=Wt(d),C=f.length,G=b.length,J=f.filter(function(dn){return dn.l}).length,lt=b.filter(function(dn){return dn.l}).length,Tt=f.filter(function(dn){return dn.l}).reduce(function(dn,rn){var Dn=rn.l;return dn+Dn},0)/J||0,Kt=b.filter(function(dn){return dn.l}).reduce(function(dn,rn){var Dn=rn.l;return dn+Dn},0)/lt||0,le=s||Math.max(C,G),Qe=[Tt,Kt],Ue=[le-C,le-G],qe=0,hn=[f,b].map(function(dn,rn){return dn.l===le?dn.map(function(Dn){return Dn.s}):dn.map(function(Dn,rr){return qe=rr&&Ue[rn]&&Dn.l>=Qe[rn],Ue[rn]-=qe?1:0,qe?Dn.ss:[Dn.s]}).flat()});return hn[0].length===hn[1].length?hn:ge(hn[0],hn[1],le,o+1)}function me(u,d,s,o,f,b,C,G){return 3*((G-d)*(s+f)-(C-u)*(o+b)+o*(u-f)-s*(d-b)+G*(f+u/3)-C*(b+d/3))/20}function oe(u){var d=0,s=0,o=0;return Yt(u).map(function(f){var b;switch(f[0]){case"M":return d=f[1],s=f[2],0;default:var C=f.slice(1),G=C[0],J=C[1],lt=C[2],Tt=C[3],Kt=C[4],le=C[5];return o=me(d,s,G,J,lt,Tt,Kt,le),b=f.slice(-2),d=b[0],s=b[1],o}}).reduce(function(f,b){return f+b},0)}function Ge(u){return oe(u)>=0}function fn(u){var d=u.slice(1).map(function(s,o,f){return o?f[o-1].slice(-2).concat(s.slice(1)):u[0].slice(1).concat(s.slice(1))}).map(function(s){return s.map(function(o,f){return s[s.length-f-2*(1-f%2)]})}).reverse();return[["M"].concat(d[0].slice(0,2))].concat(d.map(function(s){return["C"].concat(s.slice(2))}))}function An(u){return u.map(function(d){return Array.isArray(d)?[].concat(d):d})}function Qn(u){var d=u.length,s=d-1;return u.map(function(o,f){return u.map(function(b,C){var G=f+C,J;return C===0||u[G]&&u[G][0]==="M"?(J=u[G],["M"].concat(J.slice(-2))):(G>=d&&(G-=s),u[G])})})}function Yn(u,d){var s=u.length-1,o=[],f=0,b=0,C=Qn(u);return C.forEach(function(G,J){u.slice(1).forEach(function(lt,Tt){b+=(0,X.y)(u[(J+Tt)%s].slice(-2),d[Tt%s].slice(-2))}),o[J]=b,b=0}),f=o.indexOf(Math.min.apply(null,o)),C[f]}var Vn=g(49527),Nr=g(39934),ur=g(50264),yr=g(71018),be=g(93785);function ri(u,d,s){return kt(u,d,(0,jt.pi)((0,jt.pi)({},s),{bbox:!1,length:!0})).point}var mr=g(18642),Ze=g(71369),Ce=g(13750),ye=g(19606),Dt=g(73001),Zt=g(11576),we=g(72054),De=g(42244);var Ee=function(u){return u.GROUP="g",u.FRAGMENT="fragment",u.CIRCLE="circle",u.ELLIPSE="ellipse",u.IMAGE="image",u.RECT="rect",u.LINE="line",u.POLYLINE="polyline",u.POLYGON="polygon",u.TEXT="text",u.PATH="path",u.HTML="html",u.MESH="mesh",u}({}),vn=function(u){return u[u.ZERO=0]="ZERO",u[u.NEGATIVE_ONE=1]="NEGATIVE_ONE",u}({}),un=function(){function u(){(0,R.Z)(this,u),this.plugins=[]}return(0,P.Z)(u,[{key:"addRenderingPlugin",value:function(s){this.plugins.push(s),this.context.renderingPlugins.push(s)}},{key:"removeAllRenderingPlugins",value:function(){var s=this;this.plugins.forEach(function(o){var f=s.context.renderingPlugins.indexOf(o);f>=0&&s.context.renderingPlugins.splice(f,1)})}}])}(),Xn=function(){function u(d){(0,R.Z)(this,u),this.clipSpaceNearZ=vn.NEGATIVE_ONE,this.plugins=[],this.config=(0,c.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},d)}return(0,P.Z)(u,[{key:"registerPlugin",value:function(s){var o=this.plugins.findIndex(function(f){return f===s});o===-1&&this.plugins.push(s)}},{key:"unregisterPlugin",value:function(s){var o=this.plugins.findIndex(function(f){return f===s});o>-1&&this.plugins.splice(o,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(s){return this.plugins.find(function(o){return o.name===s})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(s){Object.assign(this.config,s)}}])}(),ir=T.IH,ot=T.JG,x=T.Fp,M=T.VV,m=T.bA,N=T.lu,z=function(){function u(){(0,R.Z)(this,u),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,P.Z)(u,[{key:"update",value:function(s,o){ot(this.center,s),ot(this.halfExtents,o),N(this.min,this.center,this.halfExtents),ir(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(s,o){ir(this.center,o,s),m(this.center,this.center,.5),N(this.halfExtents,o,s),m(this.halfExtents,this.halfExtents,.5),ot(this.min,s),ot(this.max,o)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(s){if(!u.isEmpty(s)){if(u.isEmpty(this)){this.setMinMax(s.getMin(),s.getMax());return}var o=this.center,f=o[0],b=o[1],C=o[2],G=this.halfExtents,J=G[0],lt=G[1],Tt=G[2],Kt=f-J,le=f+J,Qe=b-lt,Ue=b+lt,qe=C-Tt,hn=C+Tt,dn=s.center,rn=dn[0],Dn=dn[1],rr=dn[2],Tr=s.halfExtents,Sr=Tr[0],hr=Tr[1],vr=Tr[2],Xr=rn-Sr,Gr=rn+Sr,ni=Dn-hr,Hr=Dn+hr,wi=rr-vr,ra=rr+vr;Xrle&&(le=Gr),niUe&&(Ue=Hr),wihn&&(hn=ra),o[0]=(Kt+le)*.5,o[1]=(Qe+Ue)*.5,o[2]=(qe+hn)*.5,G[0]=(le-Kt)*.5,G[1]=(Ue-Qe)*.5,G[2]=(hn-qe)*.5,this.min[0]=Kt,this.min[1]=Qe,this.min[2]=qe,this.max[0]=le,this.max[1]=Ue,this.max[2]=hn}}},{key:"setFromTransformedAABB",value:function(s,o){var f=this.center,b=this.halfExtents,C=s.center,G=s.halfExtents,J=o[0],lt=o[4],Tt=o[8],Kt=o[1],le=o[5],Qe=o[9],Ue=o[2],qe=o[6],hn=o[10],dn=Math.abs(J),rn=Math.abs(lt),Dn=Math.abs(Tt),rr=Math.abs(Kt),Tr=Math.abs(le),Sr=Math.abs(Qe),hr=Math.abs(Ue),vr=Math.abs(qe),Xr=Math.abs(hn);f[0]=o[12]+J*C[0]+lt*C[1]+Tt*C[2],f[1]=o[13]+Kt*C[0]+le*C[1]+Qe*C[2],f[2]=o[14]+Ue*C[0]+qe*C[1]+hn*C[2],b[0]=dn*G[0]+rn*G[1]+Dn*G[2],b[1]=rr*G[0]+Tr*G[1]+Sr*G[2],b[2]=hr*G[0]+vr*G[1]+Xr*G[2],N(this.min,f,b),ir(this.max,f,b)}},{key:"intersects",value:function(s){var o=this.getMax(),f=this.getMin(),b=s.getMax(),C=s.getMin();return f[0]<=b[0]&&o[0]>=C[0]&&f[1]<=b[1]&&o[1]>=C[1]&&f[2]<=b[2]&&o[2]>=C[2]}},{key:"intersection",value:function(s){if(!this.intersects(s))return null;var o=new u,f=x([0,0,0],this.getMin(),s.getMin()),b=M([0,0,0],this.getMax(),s.getMax());return o.setMinMax(f,b),o}},{key:"getNegativeFarPoint",value:function(s){return s.pnVertexFlag===273?ot([0,0,0],this.min):s.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:s.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:s.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:s.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:s.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:s.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(s){return s.pnVertexFlag===273?ot([0,0,0],this.max):s.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:s.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:s.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:s.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:s.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:s.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(s){return!s||s.halfExtents[0]===0&&s.halfExtents[1]===0&&s.halfExtents[2]===0}}])}(),Lt=function(){function u(d,s){(0,R.Z)(this,u),this.distance=d||0,this.normal=s||T.al(0,1,0),this.updatePNVertexFlag()}return(0,P.Z)(u,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(s){return T.AK(s,this.normal)-this.distance}},{key:"normalize",value:function(){var s=1/T.Zh(this.normal);T.bA(this.normal,this.normal,s),this.distance*=s}},{key:"intersectsLine",value:function(s,o,f){var b=this.distanceToPoint(s),C=this.distanceToPoint(o),G=b/(b-C),J=G>=0&&G<=1;return J&&f&&T.t7(f,s,o,G),J}}])}(),Rt=function(u){return u[u.OUTSIDE=4294967295]="OUTSIDE",u[u.INSIDE=0]="INSIDE",u[u.INDETERMINATE=2147483647]="INDETERMINATE",u}({}),Jt=function(){function u(d){if((0,R.Z)(this,u),this.planes=[],d)this.planes=d;else for(var s=0;s<6;s++)this.planes.push(new Lt)}return(0,P.Z)(u,[{key:"extractFromVPMatrix",value:function(s){var o=(0,E.Z)(s,16),f=o[0],b=o[1],C=o[2],G=o[3],J=o[4],lt=o[5],Tt=o[6],Kt=o[7],le=o[8],Qe=o[9],Ue=o[10],qe=o[11],hn=o[12],dn=o[13],rn=o[14],Dn=o[15];T.t8(this.planes[0].normal,G-f,Kt-J,qe-le),this.planes[0].distance=Dn-hn,T.t8(this.planes[1].normal,G+f,Kt+J,qe+le),this.planes[1].distance=Dn+hn,T.t8(this.planes[2].normal,G+b,Kt+lt,qe+Qe),this.planes[2].distance=Dn+dn,T.t8(this.planes[3].normal,G-b,Kt-lt,qe-Qe),this.planes[3].distance=Dn-dn,T.t8(this.planes[4].normal,G-C,Kt-Tt,qe-Ue),this.planes[4].distance=Dn-rn,T.t8(this.planes[5].normal,G+C,Kt+Tt,qe+Ue),this.planes[5].distance=Dn+rn,this.planes.forEach(function(rr){rr.normalize(),rr.updatePNVertexFlag()})}}])}(),qt=function(){function u(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,R.Z)(this,u),this.x=0,this.y=0,this.x=d,this.y=s}return(0,P.Z)(u,[{key:"clone",value:function(){return new u(this.x,this.y)}},{key:"copyFrom",value:function(s){this.x=s.x,this.y=s.y}}])}(),en=function(){function u(d,s,o,f){(0,R.Z)(this,u),this.x=d,this.y=s,this.width=o,this.height=f,this.left=d,this.right=d+o,this.top=s,this.bottom=s+f}return(0,P.Z)(u,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(s){return new u(s.x,s.y,s.width,s.height)}},{key:"applyTransform",value:function(s,o){var f=K.al(s.x,s.y,0,1),b=K.al(s.x+s.width,s.y,0,1),C=K.al(s.x,s.y+s.height,0,1),G=K.al(s.x+s.width,s.y+s.height,0,1),J=K.Ue(),lt=K.Ue(),Tt=K.Ue(),Kt=K.Ue();K.fF(J,f,o),K.fF(lt,b,o),K.fF(Tt,C,o),K.fF(Kt,G,o);var le=Math.min(J[0],lt[0],Tt[0],Kt[0]),Qe=Math.min(J[1],lt[1],Tt[1],Kt[1]),Ue=Math.max(J[0],lt[0],Tt[0],Kt[0]),qe=Math.max(J[1],lt[1],Tt[1],Kt[1]);return u.fromRect({x:le,y:Qe,width:Ue-le,height:qe-Qe})}}])}(),vt="Method not implemented.",mt="Use document.documentElement instead.",ct="Cannot append a destroyed element.";function xt(u){return u===void 0?0:u>360||u<-360?u%360:u}var zt=T.Ue();function Fe(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(u)&&u.length===3?o?T.d9(u):T.JG(zt,u):(0,st.Z)(u)?o?T.al(u,d,s):T.t8(zt,u,d,s):o?T.al(u[0],u[1]||d,u[2]||s):T.t8(zt,u[0],u[1]||d,u[2]||s)}var Vt=Math.PI/180;function Te(u){return u*Vt}var Je=180/Math.PI;function Sn(u){return u*Je}var Nn=.9;function er(u){return u%=400,u<0&&(u+=400),u*Nn}function kn(u){return u/360}function Wn(u){return 360*u}var dr=Math.PI/2;function Re(u,d){var s=d[0],o=d[1],f=d[2],b=d[3],C=s*s,G=o*o,J=f*f,lt=b*b,Tt=C+G+J+lt,Kt=s*b-o*f;return Kt>.499995*Tt?(u[0]=dr,u[1]=2*Math.atan2(o,s),u[2]=0):Kt<-.499995*Tt?(u[0]=-dr,u[1]=2*Math.atan2(o,s),u[2]=0):(u[0]=Math.asin(2*(s*f-b*o)),u[1]=Math.atan2(2*(s*b+o*f),1-2*(J+lt)),u[2]=Math.atan2(2*(s*o+f*b),1-2*(G+J))),u}function Bn(u,d){var s,o,f=Z.getScaling(T.Ue(),d),b=(0,E.Z)(f,3),C=b[0],G=b[1],J=b[2],lt=Math.asin(-d[2]/C);return lt-dr?(s=Math.atan2(d[6]/G,d[10]/J),o=Math.atan2(d[1]/C,d[0]/C)):(o=0,s=-Math.atan2(d[4]/G,d[5]/G)):(o=0,s=Math.atan2(d[4]/G,d[5]/G)),u[0]=s,u[1]=lt,u[2]=o,u}function ar(u,d){return d.length===16?Bn(u,d):Re(u,d)}function Gn(u,d,s,o,f){var b=Math.cos(u),C=Math.sin(u);return tt.al(o*b,f*C,0,-o*C,f*b,0,d,s,1)}function kr(u,d,s,o,f,b,C){var G=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,J=2*b,lt=s-d,Tt=o-f,Kt=J/lt,le=J/Tt,Qe=(s+d)/lt,Ue=(o+f)/Tt,qe,hn,dn=C-b,rn=C*b;return G?(qe=-C/dn,hn=-rn/dn):(qe=-(C+b)/dn,hn=-2*rn/dn),u[0]=Kt,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=le,u[6]=0,u[7]=0,u[8]=Qe,u[9]=Ue,u[10]=qe,u[11]=-1,u[12]=0,u[13]=0,u[14]=hn,u[15]=0,u}function Qr(u){var d=u[0],s=u[1],o=u[3],f=u[4],b=Math.sqrt(d*d+s*s),C=Math.sqrt(o*o+f*f),G=d*f-s*o;if(G<0&&(dwr[1][2]&&(b[0]=-b[0]),wr[0][2]>wr[2][0]&&(b[1]=-b[1]),wr[1][0]>wr[0][1]&&(b[2]=-b[2]),!0}function an(u,d){var s=d[15];if(s===0)return!1;for(var o=1/s,f=0;f<16;f++)u[f]=d[f]*o;return!0}function re(u,d){u[0][0]=d[0],u[0][1]=d[1],u[0][2]=d[2],u[1][0]=d[4],u[1][1]=d[5],u[1][2]=d[6],u[2][0]=d[8],u[2][1]=d[9],u[2][2]=d[10]}function Ae(u,d,s,o,f){u[0]=d[0]*o+s[0]*f,u[1]=d[1]*o+s[1]*f,u[2]=d[2]*o+s[2]*f}var te=function(u){return u[u.ORBITING=0]="ORBITING",u[u.EXPLORING=1]="EXPLORING",u[u.TRACKING=2]="TRACKING",u}({}),_e=function(u){return u[u.DEFAULT=0]="DEFAULT",u[u.ROTATIONAL=1]="ROTATIONAL",u[u.TRANSLATIONAL=2]="TRANSLATIONAL",u[u.CINEMATIC=3]="CINEMATIC",u}({}),on=function(u){return u[u.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",u[u.PERSPECTIVE=1]="PERSPECTIVE",u}({}),Pn={UPDATED:"updated"},jn=2e-4,qn=function(){function u(){(0,R.Z)(this,u),this.clipSpaceNearZ=vn.NEGATIVE_ONE,this.eventEmitter=new D,this.matrix=Z.create(),this.right=T.al(1,0,0),this.up=T.al(0,1,0),this.forward=T.al(0,0,1),this.position=T.al(0,0,1),this.focalPoint=T.al(0,0,0),this.distanceVector=T.al(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=Z.create(),this.projectionMatrixInverse=Z.create(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=te.EXPLORING,this.trackingMode=_e.DEFAULT,this.projectionMode=on.PERSPECTIVE,this.frustum=new Jt,this.orthoMatrix=Z.create()}return(0,P.Z)(u,[{key:"isOrtho",value:function(){return this.projectionMode===on.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(s){this.enableUpdate=s}},{key:"setType",value:function(s,o){return this.type=s,this.type===te.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===te.TRACKING&&o!==void 0&&this.setTrackingMode(o),this}},{key:"setProjectionMode",value:function(s){return this.projectionMode=s,this}},{key:"setTrackingMode",value:function(s){if(this.type!==te.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=s,this}},{key:"setWorldRotation",value:function(s){return this.rotateWorld=s,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Z.invert(Z.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(s,o){var f=Z.fromTranslation(Z.create(),[s,o,0]);this.jitteredProjectionMatrix=Z.multiply(Z.create(),f,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(s){return this.matrix=s,this._update(),this}},{key:"setProjectionMatrix",value:function(s){this.projectionMatrix=s}},{key:"setFov",value:function(s){return this.setPerspective(this.near,this.far,s,this.aspect),this}},{key:"setAspect",value:function(s){return this.setPerspective(this.near,this.far,this.fov,s),this}},{key:"setNear",value:function(s){return this.projectionMode===on.PERSPECTIVE?this.setPerspective(s,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,s,this.far),this}},{key:"setFar",value:function(s){return this.projectionMode===on.PERSPECTIVE?this.setPerspective(this.near,s,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,s),this}},{key:"setViewOffset",value:function(s,o,f,b,C,G){return this.aspect=s/o,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=s,this.view.fullHeight=o,this.view.offsetX=f,this.view.offsetY=b,this.view.width=C,this.view.height=G,this.projectionMode===on.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===on.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(s){return this.zoom=s,this.projectionMode===on.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===on.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(s,o){var f=this.canvas.viewport2Canvas({x:o[0],y:o[1]}),b=f.x,C=f.y,G=this.roll;this.rotate(0,0,-G),this.setPosition(b,C),this.setFocalPoint(b,C),this.setZoom(s),this.rotate(0,0,G);var J=this.canvas.viewport2Canvas({x:o[0],y:o[1]}),lt=J.x,Tt=J.y,Kt=T.al(lt-b,Tt-C,0),le=T.AK(Kt,this.right)/T.kE(this.right),Qe=T.AK(Kt,this.up)/T.kE(this.up),Ue=this.getPosition(),qe=(0,E.Z)(Ue,2),hn=qe[0],dn=qe[1],rn=this.getFocalPoint(),Dn=(0,E.Z)(rn,2),rr=Dn[0],Tr=Dn[1];return this.setPosition(hn-le,dn-Qe),this.setFocalPoint(rr-le,Tr-Qe),this}},{key:"setPerspective",value:function(s,o,f,b){var C;this.projectionMode=on.PERSPECTIVE,this.fov=f,this.near=s,this.far=o,this.aspect=b;var G=this.near*Math.tan(Te(.5*this.fov))/this.zoom,J=2*G,lt=this.aspect*J,Tt=-.5*lt;if((C=this.view)!==null&&C!==void 0&&C.enabled){var Kt=this.view.fullWidth,le=this.view.fullHeight;Tt+=this.view.offsetX*lt/Kt,G-=this.view.offsetY*J/le,lt*=this.view.width/Kt,J*=this.view.height/le}return kr(this.projectionMatrix,Tt,Tt+lt,G-J,G,s,this.far,this.clipSpaceNearZ===vn.ZERO),Z.invert(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(s,o,f,b,C,G){var J;this.projectionMode=on.ORTHOGRAPHIC,this.rright=o,this.left=s,this.top=f,this.bottom=b,this.near=C,this.far=G;var lt=(this.rright-this.left)/(2*this.zoom),Tt=(this.top-this.bottom)/(2*this.zoom),Kt=(this.rright+this.left)/2,le=(this.top+this.bottom)/2,Qe=Kt-lt,Ue=Kt+lt,qe=le+Tt,hn=le-Tt;if((J=this.view)!==null&&J!==void 0&&J.enabled){var dn=(this.rright-this.left)/this.view.fullWidth/this.zoom,rn=(this.top-this.bottom)/this.view.fullHeight/this.zoom;Qe+=dn*this.view.offsetX,Ue=Qe+dn*this.view.width,qe-=rn*this.view.offsetY,hn=qe-rn*this.view.height}return this.clipSpaceNearZ===vn.NEGATIVE_ONE?Z.ortho(this.projectionMatrix,Qe,Ue,qe,hn,C,G):Z.orthoZO(this.projectionMatrix,Qe,Ue,qe,hn,C,G),Z.invert(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],b=Fe(s,o,f);return this._setPosition(b),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],b=T.al(0,1,0);if(this.focalPoint=Fe(s,o,f),this.trackingMode===_e.CINEMATIC){var C=T.$X(T.Ue(),this.focalPoint,this.position);s=C[0],o=C[1],f=C[2];var G=T.kE(C),J=Sn(Math.asin(o/G)),lt=90+Sn(Math.atan2(f,s)),Tt=Z.create();Z.rotateY(Tt,Tt,Te(lt)),Z.rotateX(Tt,Tt,Te(J)),b=T.fF(T.Ue(),[0,1,0],Tt)}return Z.invert(this.matrix,Z.lookAt(Z.create(),this.position,this.focalPoint,b)),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(s){if(this.distance===s||s<0)return this;this.distance=s,this.distance>8&15|d>>4&240,d>>4&15|d&240,(d&15)<<4|d&15,1):s===8?_a(d>>24&255,d>>16&255,d>>8&255,(d&255)/255):s===4?_a(d>>12&15|d>>8&240,d>>8&15|d>>4&240,d>>4&15|d&240,((d&15)<<4|d&15)/255):null):(d=cs.exec(u))?new ca(d[1],d[2],d[3],1):(d=ga.exec(u))?new ca(d[1]*255/100,d[2]*255/100,d[3]*255/100,1):(d=us.exec(u))?_a(d[1],d[2],d[3],d[4]):(d=Ua.exec(u))?_a(d[1]*255/100,d[2]*255/100,d[3]*255/100,d[4]):(d=Ca.exec(u))?fo(d[1],d[2]/100,d[3]/100,1):(d=$a.exec(u))?fo(d[1],d[2]/100,d[3]/100,d[4]):no.hasOwnProperty(u)?ka(no[u]):u==="transparent"?new ca(NaN,NaN,NaN,0):null}function ka(u){return new ca(u>>16&255,u>>8&255,u&255,1)}function _a(u,d,s,o){return o<=0&&(u=d=s=NaN),new ca(u,d,s,o)}function No(u){return u instanceof ta||(u=Gi(u)),u?(u=u.rgb(),new ca(u.r,u.g,u.b,u.opacity)):new ca}function is(u,d,s,o){return arguments.length===1?No(u):new ca(u,d,s,o==null?1:o)}function ca(u,d,s,o){this.r=+u,this.g=+d,this.b=+s,this.opacity=+o}Ri(ca,is,Xi(ta,{brighter(u){return u=u==null?Ki:Math.pow(Ki,u),new ca(this.r*u,this.g*u,this.b*u,this.opacity)},darker(u){return u=u==null?la:Math.pow(la,u),new ca(this.r*u,this.g*u,this.b*u,this.opacity)},rgb(){return this},clamp(){return new ca(xs(this.r),xs(this.g),xs(this.b),Vs(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:io,formatHex:io,formatHex8:Ha,formatRgb:Eo,toString:Eo}));function io(){return`#${ua(this.r)}${ua(this.g)}${ua(this.b)}`}function Ha(){return`#${ua(this.r)}${ua(this.g)}${ua(this.b)}${ua((isNaN(this.opacity)?1:this.opacity)*255)}`}function Eo(){const u=Vs(this.opacity);return`${u===1?"rgb(":"rgba("}${xs(this.r)}, ${xs(this.g)}, ${xs(this.b)}${u===1?")":`, ${u})`}`}function Vs(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function xs(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function ua(u){return u=xs(u),(u<16?"0":"")+u.toString(16)}function fo(u,d,s,o){return o<=0?u=d=s=NaN:s<=0||s>=1?u=d=NaN:d<=0&&(u=NaN),new Wi(u,d,s,o)}function Wa(u){if(u instanceof Wi)return new Wi(u.h,u.s,u.l,u.opacity);if(u instanceof ta||(u=Gi(u)),!u)return new Wi;if(u instanceof Wi)return u;u=u.rgb();var d=u.r/255,s=u.g/255,o=u.b/255,f=Math.min(d,s,o),b=Math.max(d,s,o),C=NaN,G=b-f,J=(b+f)/2;return G?(d===b?C=(s-o)/G+(s0&&J<1?0:C,new Wi(C,G,J,u.opacity)}function qa(u,d,s,o){return arguments.length===1?Wa(u):new Wi(u,d,s,o==null?1:o)}function Wi(u,d,s,o){this.h=+u,this.s=+d,this.l=+s,this.opacity=+o}Ri(Wi,qa,Xi(ta,{brighter(u){return u=u==null?Ki:Math.pow(Ki,u),new Wi(this.h,this.s,this.l*u,this.opacity)},darker(u){return u=u==null?la:Math.pow(la,u),new Wi(this.h,this.s,this.l*u,this.opacity)},rgb(){var u=this.h%360+(this.h<0)*360,d=isNaN(u)||isNaN(this.s)?0:this.s,s=this.l,o=s+(s<.5?s:1-s)*d,f=2*s-o;return new ca(js(u>=240?u-240:u+120,f,o),js(u,f,o),js(u<120?u+240:u-120,f,o),this.opacity)},clamp(){return new Wi(Ka(this.h),Rs(this.s),Rs(this.l),Vs(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 u=Vs(this.opacity);return`${u===1?"hsl(":"hsla("}${Ka(this.h)}, ${Rs(this.s)*100}%, ${Rs(this.l)*100}%${u===1?")":`, ${u})`}`}}));function Ka(u){return u=(u||0)%360,u<0?u+360:u}function Rs(u){return Math.max(0,Math.min(1,u||0))}function js(u,d,s){return(u<60?d+(s-d)*u/60:u<180?s:u<240?d+(s-d)*(240-u)/60:d)*255}function aa(u,d){if(typeof u!="function"||d!=null&&typeof d!="function")throw new TypeError("Expected a function");var s=function(){for(var f=arguments.length,b=new Array(f),C=0;C=Qs.kUnitType&&this.getType()<=Qs.kClampType}}],[{key:"isAngle",value:function(s){return s===Or.kDegrees||s===Or.kRadians||s===Or.kGradians||s===Or.kTurns}},{key:"isLength",value:function(s){return s>=Or.kEms&&s1&&arguments[1]!==void 0?arguments[1]:"",o="";return Number.isFinite(d)?o="NaN":d>0?o="infinity":o="-infinity",o+=s},sa=function(d){return Pa(Sa(d))},Vi=function(u){function d(s){var o,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Or.kNumber;(0,R.Z)(this,d),o=(0,w.Z)(this,d);var b;return typeof f=="string"?b=oo(f):b=f,o.unit=b,o.value=s,o}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"clone",value:function(){return new d(this.value,this.unit)}},{key:"equals",value:function(o){var f=o;return this.value===f.value&&this.unit===f.unit}},{key:"getType",value:function(){return Qs.kUnitType}},{key:"convertTo",value:function(o){if(this.unit===o)return new d(this.value,this.unit);var f=sa(this.unit);if(f!==sa(o)||f===Or.kUnknown)return null;var b=zi(this.unit)/zi(o);return new d(this.value*b,o)}},{key:"buildCSSText",value:function(o,f,b){var C;switch(this.unit){case Or.kUnknown:break;case Or.kInteger:C=Number(this.value).toFixed(0);break;case Or.kNumber:case Or.kPercentage:case Or.kEms:case Or.kRems:case Or.kPixels:case Or.kDegrees:case Or.kRadians:case Or.kGradians:case Or.kMilliseconds:case Or.kSeconds:case Or.kTurns:{var G=-999999,J=999999,lt=this.value,Tt=Uo(this.unit);if(ltJ){var Kt=Uo(this.unit);!Number.isFinite(lt)||Number.isNaN(lt)?C=ws(lt,Kt):C=lt+(Kt||"")}else C="".concat(lt).concat(Tt)}}return b+=C,b}}])}(Ao),$i=new Vi(0,"px");new Vi(1,"px");var ja=new Vi(0,"deg"),Ys=function(u){function d(s,o,f){var b,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,G=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,R.Z)(this,d),b=(0,w.Z)(this,d,["rgb"]),b.r=s,b.g=o,b.b=f,b.alpha=C,b.isNone=G,b}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"clone",value:function(){return new d(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(o,f,b){return"".concat(b,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(Bo),Cs=new as("unset"),ea=new as("initial"),bo=new as("inherit"),Ko={"":Cs,unset:Cs,initial:ea,inherit:bo},hs=function(d){return Ko[d]||(Ko[d]=new as(d)),Ko[d]},xo=new Ys(0,0,0,0,!0),qo=new Ys(0,0,0,0),hA=aa(function(u,d,s,o){return new Ys(u,d,s,o)},function(u,d,s,o){return"rgba(".concat(u,",").concat(d,",").concat(s,",").concat(o,")")}),ba=function(d){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Or.kNumber;return new Vi(d,s)};new Vi(50,"%");function fs(u){var d=u.type,s=u.value;return d==="hex"?"#".concat(s):d==="literal"?s:d==="rgb"?"rgb(".concat(s.join(","),")"):"rgba(".concat(s.join(","),")")}var Es=function(){var u={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]+\.?))/},d="";function s(li){throw new Error("".concat(d,": ").concat(li))}function o(){var li=f();return d.length>0&&s("Invalid input not EOF"),li}function f(){return Dn(b)}function b(){return C("linear-gradient",u.linearGradient,J)||C("repeating-linear-gradient",u.repeatingLinearGradient,J)||C("radial-gradient",u.radialGradient,Kt)||C("repeating-radial-gradient",u.repeatingRadialGradient,Kt)||C("conic-gradient",u.conicGradient,Kt)}function C(li,B,y){return G(B,function(I){var O=y();return O&&(Oa(u.comma)||s("Missing comma before color stops")),{type:li,orientation:O,colorStops:Dn(rr)}})}function G(li,B){var y=Oa(li);if(y){Oa(u.startCall)||s("Missing (");var I=B(y);return Oa(u.endCall)||s("Missing )"),I}}function J(){return lt()||Tt()}function lt(){return ra("directional",u.sideOrCorner,1)}function Tt(){return ra("angular",u.angleValue,1)}function Kt(){var li,B=le(),y;return B&&(li=[],li.push(B),y=d,Oa(u.comma)&&(B=le(),B?li.push(B):d=y)),li}function le(){var li=Qe()||Ue();if(li)li.at=hn();else{var B=qe();if(B){li=B;var y=hn();y&&(li.at=y)}else{var I=dn();I&&(li={type:"default-radial",at:I})}}return li}function Qe(){var li=ra("shape",/^(circle)/i,0);return li&&(li.style=wi()||qe()),li}function Ue(){var li=ra("shape",/^(ellipse)/i,0);return li&&(li.style=ni()||qe()),li}function qe(){return ra("extent-keyword",u.extentKeywords,1)}function hn(){if(ra("position",/^at/,0)){var li=dn();return li||s("Missing positioning value"),li}}function dn(){var li=rn();if(li.x||li.y)return{type:"position",value:li}}function rn(){return{x:ni(),y:ni()}}function Dn(li){var B=li(),y=[];if(B)for(y.push(B);Oa(u.comma);)B=li(),B?y.push(B):s("One extra comma");return y}function rr(){var li=Tr();return li||s("Expected color definition"),li.length=ni(),li}function Tr(){return hr()||Xr()||vr()||Sr()}function Sr(){return ra("literal",u.literalColor,0)}function hr(){return ra("hex",u.hexColor,1)}function vr(){return G(u.rgbColor,function(){return{type:"rgb",value:Dn(Gr)}})}function Xr(){return G(u.rgbaColor,function(){return{type:"rgba",value:Dn(Gr)}})}function Gr(){return Oa(u.number)[1]}function ni(){return ra("%",u.percentageValue,1)||Hr()||wi()}function Hr(){return ra("position-keyword",u.positionKeywords,1)}function wi(){return ra("px",u.pixelValue,1)||ra("em",u.emValue,1)}function ra(li,B,y){var I=Oa(B);if(I)return{type:li,value:I[y]}}function Oa(li){var B=/^[\n\r\t\s]+/.exec(d);B&&Na(B[0].length);var y=li.exec(d);return y&&Na(y[0].length),y}function Na(li){d=d.substring(li)}return function(li){return d=li,o()}}();function ss(u,d,s,o){var f=Te(o.value),b=0,C=0,G=b+d/2,J=C+s/2,lt=Math.abs(d*Math.cos(f))+Math.abs(s*Math.sin(f)),Tt=u[0]+G-Math.cos(f)*lt/2,Kt=u[1]+J-Math.sin(f)*lt/2,le=u[0]+G+Math.cos(f)*lt/2,Qe=u[1]+J+Math.sin(f)*lt/2;return{x1:Tt,y1:Kt,x2:le,y2:Qe}}function oa(u,d,s,o,f,b){var C=o.value,G=f.value;o.unit===Or.kPercentage&&(C=o.value/100*d),f.unit===Or.kPercentage&&(G=f.value/100*s);var J=Math.max((0,X.y)([0,0],[C,G]),(0,X.y)([0,s],[C,G]),(0,X.y)([d,s],[C,G]),(0,X.y)([d,0],[C,G]));return b&&(b instanceof Vi?J=b.value:b instanceof as&&(b.value==="closest-side"?J=Math.min(C,d-C,G,s-G):b.value==="farthest-side"?J=Math.max(C,d-C,G,s-G):b.value==="closest-corner"&&(J=Math.min((0,X.y)([0,0],[C,G]),(0,X.y)([0,s],[C,G]),(0,X.y)([d,s],[C,G]),(0,X.y)([d,0],[C,G]))))),{x:C+u[0],y:G+u[1],r:J}}var na=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,TA=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,Go=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,Po=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function Do(u){var d,s=u.length;if(u[s-1].length=(d=u[s-1].length)!==null&&d!==void 0?d:{type:"%",value:"100"},s>1){var o;u[0].length=(o=u[0].length)!==null&&o!==void 0?o:{type:"%",value:"0"}}for(var f=0,b=Number(u[0].length.value),C=1;C-1||u.indexOf("radial")>-1){var d=Es(u);return d.map(function(G){var J=G.type,lt=G.orientation,Tt=G.colorStops;Do(Tt);var Kt=Tt.map(function(Dn){return{offset:ba(Number(Dn.length.value),"%"),color:fs(Dn)}});if(J==="linear-gradient")return new Da(Va.LinearGradient,{angle:lt?Co(lt):ja,steps:Kt});if(J==="radial-gradient"&&(lt||(lt=[{type:"shape",value:"circle"}]),lt[0].type==="shape"&<[0].value==="circle")){var le=Ss(lt[0].at),Qe=le.cx,Ue=le.cy,qe;if(lt[0].style){var hn=lt[0].style,dn=hn.type,rn=hn.value;dn==="extent-keyword"?qe=hs(rn):qe=ba(rn,dn)}return new Da(Va.RadialGradient,{cx:Qe,cy:Ue,size:qe,steps:Kt})}})}var s=u[0];if(u[1]==="("||u[2]==="("){if(s==="l"){var o=na.exec(u);if(o){var f,b=((f=o[2].match(Po))===null||f===void 0?void 0:f.map(function(G){return G.split(":")}))||[];return[new Da(Va.LinearGradient,{angle:ba(parseFloat(o[1]),"deg"),steps:b.map(function(G){var J=(0,E.Z)(G,2),lt=J[0],Tt=J[1];return{offset:ba(Number(lt)*100,"%"),color:Tt}})})]}}else if(s==="r"){var C=Xs(u);if(C)if((0,ft.Z)(C))u=C;else return[new Da(Va.RadialGradient,C)]}else if(s==="p")return So(u)}});function Xs(u){var d=TA.exec(u);if(d){var s,o=((s=d[4].match(Po))===null||s===void 0?void 0:s.map(function(f){return f.split(":")}))||[];return{cx:ba(50,"%"),cy:ba(50,"%"),steps:o.map(function(f){var b=(0,E.Z)(f,2),C=b[0],G=b[1];return{offset:ba(Number(C)*100,"%"),color:G}})}}return null}function So(u){var d=Go.exec(u);if(d){var s=d[1],o=d[2];switch(s){case"a":s="repeat";break;case"x":s="repeat-x";break;case"y":s="repeat-y";break;case"n":s="no-repeat";break;default:s="no-repeat"}return{image:o,repetition:s}}return null}function OA(u){return!!u.type&&!!u.value}function Ro(u){return u&&!!u.image}function Qo(u){return u&&!(0,Mt.Z)(u.r)&&!(0,Mt.Z)(u.g)&&!(0,Mt.Z)(u.b)}var xa=aa(function(u){if(Ro(u))return(0,c.Z)({repetition:"repeat"},u);if((0,Mt.Z)(u)&&(u=""),u==="transparent")return qo;if(u==="currentColor")u="black";else if(u==="none")return xo;var d=fA(u);if(d)return d;var s=Gi(u),o=[0,0,0,0];return s!==null&&(o[0]=s.r||0,o[1]=s.g||0,o[2]=s.b||0,o[3]=s.opacity),hA.apply(void 0,o)});function Ms(u,d){if(!(!Qo(u)||!Qo(d)))return[[Number(u.r),Number(u.g),Number(u.b),Number(u.alpha)],[Number(d.r),Number(d.g),Number(d.b),Number(d.alpha)],function(s){var o=s.slice();if(o[3])for(var f=0;f<3;f++)o[f]=Math.round((0,Ut.Z)(o[f],0,255));return o[3]=(0,Ut.Z)(o[3],0,1),"rgba(".concat(o.join(","),")")}]}function Mo(u,d){if((0,Mt.Z)(d))return ba(0,"px");if(d="".concat(d).trim().toLowerCase(),isFinite(Number(d))){if("px".search(u)>=0)return ba(Number(d),"px");if("deg".search(u)>=0)return ba(Number(d),"deg")}var s=[];d=d.replace(u,function(f){return s.push(f),"U".concat(f)});var o="U(".concat(u.source,")");return s.map(function(f){return ba(Number(d.replace(new RegExp("U".concat(f),"g"),"").replace(new RegExp(o,"g"),"*0")),f)})[0]}var ds=function(d){return Mo(new RegExp("px","g"),d)},ko=aa(ds),FA=function(d){return Mo(new RegExp("%","g"),d)};aa(FA);var _o=function(d){return(0,st.Z)(d)||isFinite(Number(d))?ba(Number(d)||0,"px"):Mo(new RegExp("px|%|em|rem","g"),d)},To=aa(_o),IA=function(d){return Mo(new RegExp("deg|rad|grad|turn","g"),d)},Ct=aa(IA);function $(u,d,s,o){var f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,b="",C=u.value||0,G=d.value||0,J=sa(u.unit),lt=u.convertTo(J),Tt=d.convertTo(J);return lt&&Tt?(C=lt.value,G=Tt.value,b=Uo(u.unit)):(Vi.isLength(u.unit)||Vi.isLength(d.unit))&&(C=_t(u,f,s),G=_t(d,f,s),b="px"),[C,G,function(Kt){return o&&(Kt=Math.max(Kt,0)),Kt+b}]}function it(u){var d=0;return u.unit===Or.kDegrees?d=u.value:u.unit===Or.kRadians?d=Sn(Number(u.value)):u.unit===Or.kTurns?d=Wn(Number(u.value)):u.value&&(d=u.value),d}function Et(u,d){var s;return Array.isArray(u)?s=u.map(function(o){return Number(o)}):(0,ft.Z)(u)?s=u.split(" ").map(function(o){return Number(o)}):(0,st.Z)(u)&&(s=[u]),d===2?s.length===1?[s[0],s[0]]:[s[0],s[1]]:d===4?s.length===1?[s[0],s[0],s[0],s[0]]:s.length===2?[s[0],s[1],s[0],s[1]]:s.length===3?[s[0],s[1],s[2],s[1]]:[s[0],s[1],s[2],s[3]]:d==="even"&&s.length%2===1?[].concat((0,U.Z)(s),(0,U.Z)(s)):s}function _t(u,d,s){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(u.unit===Or.kPixels)return Number(u.value);if(u.unit===Or.kPercentage&&s){var f=s.nodeName===Ee.GROUP?s.getLocalBounds():s.getGeometryBounds();return(o?f.min[d]:0)+u.value/100*f.halfExtents[d]*2}return 0}var ee=function(d){return Mo(/deg|rad|grad|turn|px|%/g,d)},ie=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function $e(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(u=u.toLowerCase().trim(),u==="none")return[];for(var d=/\s*([\w-]+)\(([^)]*)\)/g,s=[],o,f=0;o=d.exec(u);){if(o.index!==f)return[];if(f=o.index+o[0].length,ie.indexOf(o[1])>-1&&s.push({name:o[1],params:o[2].split(" ").map(function(b){return ee(b)||xa(b)})}),d.lastIndex===u.length)return s}return[]}function Xe(u){return u.toString()}var mn=function(d){return typeof d=="number"?ba(d):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(d)?ba(Number(d)):ba(0)},Tn=aa(mn);aa(function(u){return(0,ft.Z)(u)?u.split(" ").map(Tn):u.map(Tn)});function xn(u,d){return[u,d,Xe]}function $n(u,d){return function(s,o){return[s,o,function(f){return Xe((0,Ut.Z)(f,u,d))}]}}function Kn(u,d){if(u.length===d.length)return[u,d,function(s){return s}]}function lr(u){return u.parsedStyle.d.totalLength===0&&(u.parsedStyle.d.totalLength=ae(u.parsedStyle.d.absolutePath)),u.parsedStyle.d.totalLength}function gr(u){return u.parsedStyle.points.totalLength===0&&(u.parsedStyle.points.totalLength=(0,ye.hE)(u.parsedStyle.points.points)),u.parsedStyle.points.totalLength}function cr(u){for(var d=0;d0&&s.push(o),{polygons:d,polylines:s}}function Fr(u,d){return u[0]===d[0]&&u[1]===d[1]}function Zr(u,d){for(var s=[],o=[],f=[],b=0;bMath.PI/2?Math.PI-lt:lt,Tt=Tt>Math.PI/2?Math.PI-Tt:Tt;var Kt={xExtra:Math.cos(J/2-lt)*(d/2*(1/Math.sin(J/2)))-d/2||0,yExtra:Math.cos(Tt-J/2)*(d/2*(1/Math.sin(J/2)))-d/2||0};return Kt}function $r(u,d){return[d[0]+(d[0]-u[0]),d[1]+(d[1]-u[1])]}var Bi=function(d,s){var o=d.x*s.x+d.y*s.y,f=Math.sqrt((Math.pow(d.x,2)+Math.pow(d.y,2))*(Math.pow(s.x,2)+Math.pow(s.y,2))),b=d.x*s.y-d.y*s.x<0?-1:1,C=b*Math.acos(o/f);return C},vi=function(d,s,o,f,b,C,G,J){s=Math.abs(s),o=Math.abs(o),f=se(f,360);var lt=Te(f);if(d.x===G.x&&d.y===G.y)return{x:d.x,y:d.y,ellipticalArcAngle:0};if(s===0||o===0)return{x:0,y:0,ellipticalArcAngle:0};var Tt=(d.x-G.x)/2,Kt=(d.y-G.y)/2,le={x:Math.cos(lt)*Tt+Math.sin(lt)*Kt,y:-Math.sin(lt)*Tt+Math.cos(lt)*Kt},Qe=Math.pow(le.x,2)/Math.pow(s,2)+Math.pow(le.y,2)/Math.pow(o,2);Qe>1&&(s*=Math.sqrt(Qe),o*=Math.sqrt(Qe));var Ue=Math.pow(s,2)*Math.pow(o,2)-Math.pow(s,2)*Math.pow(le.y,2)-Math.pow(o,2)*Math.pow(le.x,2),qe=Math.pow(s,2)*Math.pow(le.y,2)+Math.pow(o,2)*Math.pow(le.x,2),hn=Ue/qe;hn=hn<0?0:hn;var dn=(b!==C?1:-1)*Math.sqrt(hn),rn={x:dn*(s*le.y/o),y:dn*(-(o*le.x)/s)},Dn={x:Math.cos(lt)*rn.x-Math.sin(lt)*rn.y+(d.x+G.x)/2,y:Math.sin(lt)*rn.x+Math.cos(lt)*rn.y+(d.y+G.y)/2},rr={x:(le.x-rn.x)/s,y:(le.y-rn.y)/o},Tr=Bi({x:1,y:0},rr),Sr={x:(-le.x-rn.x)/s,y:(-le.y-rn.y)/o},hr=Bi(rr,Sr);!C&&hr>0?hr-=2*Math.PI:C&&hr<0&&(hr+=2*Math.PI),hr%=2*Math.PI;var vr=Tr+hr*J,Xr=s*Math.cos(vr),Gr=o*Math.sin(vr),ni={x:Math.cos(lt)*Xr-Math.sin(lt)*Gr+Dn.x,y:Math.sin(lt)*Xr+Math.cos(lt)*Gr+Dn.y,ellipticalArcStartAngle:Tr,ellipticalArcEndAngle:Tr+hr,ellipticalArcAngle:vr,ellipticalArcCenter:Dn,resultantRx:s,resultantRy:o};return ni};function fi(u){for(var d=[],s=null,o=null,f=null,b=0,C=u.length,G=0;G2&&arguments[2]!==void 0?arguments[2]:!0,o=u.arcParams,f=o.rx,b=f===void 0?0:f,C=o.ry,G=C===void 0?0:C,J=o.xRotation,lt=o.arcFlag,Tt=o.sweepFlag,Kt=vi({x:u.prePoint[0],y:u.prePoint[1]},b,G,J,!!lt,!!Tt,{x:u.currentPoint[0],y:u.currentPoint[1]},d),le=vi({x:u.prePoint[0],y:u.prePoint[1]},b,G,J,!!lt,!!Tt,{x:u.currentPoint[0],y:u.currentPoint[1]},s?d+.005:d-.005),Qe=le.x-Kt.x,Ue=le.y-Kt.y,qe=Math.sqrt(Qe*Qe+Ue*Ue);return{x:-Qe/qe,y:-Ue/qe}}function bi(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function W(u,d){return bi(u)*bi(d)?(u[0]*d[0]+u[1]*d[1])/(bi(u)*bi(d)):1}function H(u,d){return(u[0]*d[1]1&&(s*=Math.sqrt(Qe),o*=Math.sqrt(Qe));var Ue=s*s*(le*le)+o*o*(Kt*Kt),qe=Ue?Math.sqrt((s*s*(o*o)-Ue)/Ue):1;b===C&&(qe*=-1),isNaN(qe)&&(qe=0);var hn=o?qe*s*le/o:0,dn=s?qe*-o*Kt/s:0,rn=(G+lt)/2+Math.cos(f)*hn-Math.sin(f)*dn,Dn=(J+Tt)/2+Math.sin(f)*hn+Math.cos(f)*dn,rr=[(Kt-hn)/s,(le-dn)/o],Tr=[(-1*Kt-hn)/s,(-1*le-dn)/o],Sr=H([1,0],rr),hr=H(rr,Tr);return W(rr,Tr)<=-1&&(hr=Math.PI),W(rr,Tr)>=1&&(hr=0),C===0&&hr>0&&(hr-=2*Math.PI),C===1&&hr<0&&(hr+=2*Math.PI),{cx:rn,cy:Dn,rx:Fr(u,[lt,Tt])?0:s,ry:Fr(u,[lt,Tt])?0:o,startAngle:Sr,endAngle:Sr+hr,xRotation:f,arcFlag:b,sweepFlag:C}}function k(u,d,s){return u.reduce(function(o,f){var b="";if(f[0]==="M"||f[0]==="L"){var C=vec3.fromValues(f[1],f[2],0);s&&vec3.transformMat4(C,C,s),b="".concat(f[0]).concat(C[0],",").concat(C[1])}else if(f[0]==="Z")b=f[0];else if(f[0]==="C"){var G=vec3.fromValues(f[1],f[2],0),J=vec3.fromValues(f[3],f[4],0),lt=vec3.fromValues(f[5],f[6],0);s&&(vec3.transformMat4(G,G,s),vec3.transformMat4(J,J,s),vec3.transformMat4(lt,lt,s)),b="".concat(f[0]).concat(G[0],",").concat(G[1],",").concat(J[0],",").concat(J[1],",").concat(lt[0],",").concat(lt[1])}else if(f[0]==="A"){var Tt=vec3.fromValues(f[6],f[7],0);s&&vec3.transformMat4(Tt,Tt,s),b="".concat(f[0]).concat(f[1],",").concat(f[2],",").concat(f[3],",").concat(f[4],",").concat(f[5],",").concat(Tt[0],",").concat(Tt[1])}else if(f[0]==="Q"){var Kt=vec3.fromValues(f[1],f[2],0),le=vec3.fromValues(f[3],f[4],0);s&&(vec3.transformMat4(Kt,Kt,s),vec3.transformMat4(le,le,s)),b="".concat(f[0]).concat(f[1],",").concat(f[2],",").concat(f[3],",").concat(f[4],"}")}return o+=b},"")}function Y(u,d,s,o){return[["M",u,d],["L",s,o]]}function at(u,d,s,o){var f=(-1+Math.sqrt(2))/3*4,b=u*f,C=d*f,G=s-u,J=s+u,lt=o-d,Tt=o+d;return[["M",G,o],["C",G,o-C,s-b,lt,s,lt],["C",s+b,lt,J,o-C,J,o],["C",J,o+C,s+b,Tt,s,Tt],["C",s-b,Tt,G,o+C,G,o],["Z"]]}function ht(u,d){var s=u.map(function(o,f){return[f===0?"M":"L",o[0],o[1]]});return d&&s.push(["Z"]),s}function ut(u,d,s,o,f){if(f){var b=_slicedToArray(f,4),C=b[0],G=b[1],J=b[2],lt=b[3],Tt=u>0?1:-1,Kt=d>0?1:-1,le=Tt+Kt!==0?1:0;return[["M",Tt*C+s,o],["L",u-Tt*G+s,o],G?["A",G,G,0,0,le,u+s,Kt*G+o]:null,["L",u+s,d-Kt*J+o],J?["A",J,J,0,0,le,u+s-Tt*J,d+o]:null,["L",s+Tt*lt,d+o],lt?["A",lt,lt,0,0,le,s,d+o-Kt*lt]:null,["L",s,Kt*C+o],C?["A",C,C,0,0,le,Tt*C+s,o]:null,["Z"]].filter(function(Qe){return Qe})}return[["M",s,o],["L",s+u,o],["L",s+u,o+d],["L",s,o+d],["Z"]]}function yt(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u.getLocalTransform(),s=[];switch(u.nodeName){case Ee.LINE:var o=u.parsedStyle,f=o.x1,b=f===void 0?0:f,C=o.y1,G=C===void 0?0:C,J=o.x2,lt=J===void 0?0:J,Tt=o.y2,Kt=Tt===void 0?0:Tt;s=Y(b,G,lt,Kt);break;case Ee.CIRCLE:{var le=u.parsedStyle,Qe=le.r,Ue=Qe===void 0?0:Qe,qe=le.cx,hn=qe===void 0?0:qe,dn=le.cy,rn=dn===void 0?0:dn;s=at(Ue,Ue,hn,rn);break}case Ee.ELLIPSE:{var Dn=u.parsedStyle,rr=Dn.rx,Tr=rr===void 0?0:rr,Sr=Dn.ry,hr=Sr===void 0?0:Sr,vr=Dn.cx,Xr=vr===void 0?0:vr,Gr=Dn.cy,ni=Gr===void 0?0:Gr;s=at(Tr,hr,Xr,ni);break}case Ee.POLYLINE:case Ee.POLYGON:var Hr=u.parsedStyle.points;s=ht(Hr.points,u.nodeName===Ee.POLYGON);break;case Ee.RECT:var wi=u.parsedStyle,ra=wi.width,Oa=ra===void 0?0:ra,Na=wi.height,li=Na===void 0?0:Na,B=wi.x,y=B===void 0?0:B,I=wi.y,O=I===void 0?0:I,et=wi.radius,St=et&&et.some(function(Le){return Le!==0});s=ut(Oa,li,y,O,St&&et.map(function(Le){return clamp(Le,0,Math.min(Math.abs(Oa)/2,Math.abs(li)/2))}));break;case Ee.PATH:var $t=u.parsedStyle.d.absolutePath;s=_toConsumableArray($t);break}if(s.length)return k(s,u,d)}function Ht(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,f=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,b=u.map(function(C,G){var J=C[0],lt=u[G+1],Tt=G===0&&(d!==0||s!==0),Kt=(G===u.length-1||lt&&(lt[0]==="M"||lt[0]==="Z"))&&o!==0&&f!==0,le=Tt?[d,s]:[0,0],Qe=_slicedToArray(le,2),Ue=Qe[0],qe=Qe[1],hn=Kt?[o,f]:[0,0],dn=_slicedToArray(hn,2),rn=dn[0],Dn=dn[1];switch(J){case"M":return"M ".concat(C[1]+Ue,",").concat(C[2]+qe);case"L":return"L ".concat(C[1]+rn,",").concat(C[2]+Dn);case"Q":return"Q ".concat(C[1]," ").concat(C[2],",").concat(C[3]+rn," ").concat(C[4]+Dn);case"C":return"C ".concat(C[1]," ").concat(C[2],",").concat(C[3]," ").concat(C[4],",").concat(C[5]+rn," ").concat(C[6]+Dn);case"A":return"A ".concat(C[1]," ").concat(C[2]," ").concat(C[3]," ").concat(C[4]," ").concat(C[5]," ").concat(C[6]," ").concat(C[7]).concat(Kt?" L ".concat(C[6]+o,",").concat(C[7]+f):"");case"Z":return"Z";default:return null}}).filter(function(C){return C!==null}).join(" ");return~b.indexOf("NaN")?"":b}var he=function(d){if(d===""||Array.isArray(d)&&d.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var s;try{s=pe(d)}catch(Qe){s=pe(""),console.error("[g]: Invalid SVG Path definition: ".concat(d))}cr(s);var o=Br(s),f=Ur(s),b=f.polygons,C=f.polylines,G=fi(s),J=Zr(G,0),lt=J.x,Tt=J.y,Kt=J.width,le=J.height;return{absolutePath:s,hasArc:o,segments:G,polygons:b,polylines:C,totalLength:0,rect:{x:Number.isFinite(lt)?lt:0,y:Number.isFinite(Tt)?Tt:0,width:Number.isFinite(Kt)?Kt:0,height:Number.isFinite(le)?le:0}}},xe=aa(he);function ke(u){return(0,ft.Z)(u)?xe(u):he(u)}function Ye(u,d,s){var o=u.curve,f=d.curve;(!o||o.length===0)&&(o=Yt(u.absolutePath,!1),u.curve=o),(!f||f.length===0)&&(f=Yt(d.absolutePath,!1),d.curve=f);var b=[o,f];o.length!==f.length&&(b=ge(o,f));var C=Ge(b[0])!==Ge(b[1])?fn(b[0]):An(b[0]);return[C,Yn(b[1],C),function(G){return G}]}function cn(u,d){var s;return(0,ft.Z)(u)?s=u.split(" ").map(function(o){var f=o.split(","),b=(0,E.Z)(f,2),C=b[0],G=b[1];return[Number(C),Number(G)]}):s=u,{points:s,totalLength:0,segments:[]}}function _n(u,d){return[u.points,d.points,function(s){return s}]}var Mn=null,tr=/\s*(\w+)\(([^)]*)\)/g;function nr(u){return function(d){var s=0;return u.map(function(o){return o===Mn?d[s++]:o})}}function Ar(u){return u}var pr={matrix:["NNNNNN",[Mn,Mn,0,0,Mn,Mn,0,0,0,0,1,0,Mn,Mn,0,1],Ar],matrix3d:["NNNNNNNNNNNNNNNN",Ar],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",nr([Mn,Mn,new Vi(1)]),Ar],scaleX:["N",nr([Mn,new Vi(1),new Vi(1)]),nr([Mn,new Vi(1)])],scaleY:["N",nr([new Vi(1),Mn,new Vi(1)]),nr([new Vi(1),Mn])],scaleZ:["N",nr([new Vi(1),new Vi(1),Mn])],scale3d:["NNN",Ar],skew:["Aa",null,Ar],skewX:["A",null,nr([Mn,ja])],skewY:["A",null,nr([ja,Mn])],translate:["Tt",nr([Mn,Mn,$i]),Ar],translateX:["T",nr([Mn,$i,$i]),nr([Mn,$i])],translateY:["T",nr([$i,Mn,$i]),nr([$i,Mn])],translateZ:["L",nr([$i,$i,Mn])],translate3d:["TTL",Ar]};function Lr(u){for(var d=[],s=u.length,o=0;o2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(s.attributes,o);var b=s.parsedStyle.clipPath,C=s.parsedStyle.offsetPath;zo(s,o);var G=!!f.forceUpdateGeometry;if(!G){for(var J in o)if(Ma.has(J)){G=!0;break}}var lt=tA(s);lt.has("fill")&&o.fill&&(s.parsedStyle.fill=xa(o.fill)),lt.has("stroke")&&o.stroke&&(s.parsedStyle.stroke=xa(o.stroke)),lt.has("shadowColor")&&o.shadowColor&&(s.parsedStyle.shadowColor=xa(o.shadowColor)),lt.has("filter")&&o.filter&&(s.parsedStyle.filter=$e(o.filter)),lt.has("radius")&&!(0,Mt.Z)(o.radius)&&(s.parsedStyle.radius=Et(o.radius,4)),lt.has("lineDash")&&!(0,Mt.Z)(o.lineDash)&&(s.parsedStyle.lineDash=Et(o.lineDash,"even")),lt.has("points")&&o.points&&(s.parsedStyle.points=cn(o.points)),lt.has("d")&&o.d===""&&(s.parsedStyle.d=(0,c.Z)({},ui)),lt.has("d")&&o.d&&(s.parsedStyle.d=ke(o.d)),lt.has("textTransform")&&o.textTransform&&this.runtime.CSSPropertySyntaxFactory[Jn.TEXT_TRANSFORM].calculator(null,null,{value:o.textTransform},s,null),lt.has("clipPath")&&!(0,Vn.Z)(o.clipPath)&&this.runtime.CSSPropertySyntaxFactory[Jn.DEFINED_PATH].calculator("clipPath",b,o.clipPath,s,this.runtime),lt.has("offsetPath")&&o.offsetPath&&this.runtime.CSSPropertySyntaxFactory[Jn.DEFINED_PATH].calculator("offsetPath",C,o.offsetPath,s,this.runtime),lt.has("transform")&&o.transform&&(s.parsedStyle.transform=Dr(o.transform)),lt.has("transformOrigin")&&o.transformOrigin&&(s.parsedStyle.transformOrigin=ma(o.transformOrigin)),lt.has("markerStart")&&o.markerStart&&(s.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[Jn.MARKER].calculator(null,o.markerStart,o.markerStart,null,null)),lt.has("markerEnd")&&o.markerEnd&&(s.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[Jn.MARKER].calculator(null,o.markerEnd,o.markerEnd,null,null)),lt.has("markerMid")&&o.markerMid&&(s.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[Jn.MARKER].calculator("",o.markerMid,o.markerMid,null,null)),lt.has("zIndex")&&!(0,Mt.Z)(o.zIndex)&&this.runtime.CSSPropertySyntaxFactory[Jn.Z_INDEX].postProcessor(s),lt.has("offsetDistance")&&!(0,Mt.Z)(o.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[Jn.OFFSET_DISTANCE].postProcessor(s),lt.has("transform")&&o.transform&&this.runtime.CSSPropertySyntaxFactory[Jn.TRANSFORM].postProcessor(s),lt.has("transformOrigin")&&o.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[Jn.TRANSFORM_ORIGIN].postProcessor(s),G&&(s.dirty(!0,!0),f.forceUpdateGeometry||this.runtime.sceneGraphService.dirtyToRoot(s))}},{key:"updateGeometry",value:function(s){var o=s.nodeName,f=this.runtime.geometryUpdaterFactory[o];if(f){var b=s.geometry;b.contentBounds||(b.contentBounds=new z),b.renderBounds||(b.renderBounds=new z);var C=s.parsedStyle,G=f.update(C,s),J=G.cx,lt=J===void 0?0:J,Tt=G.cy,Kt=Tt===void 0?0:Tt,le=G.cz,Qe=le===void 0?0:le,Ue=G.hwidth,qe=Ue===void 0?0:Ue,hn=G.hheight,dn=hn===void 0?0:hn,rn=G.hdepth,Dn=rn===void 0?0:rn,rr=[Math.abs(qe),Math.abs(dn),Dn],Tr=C.stroke,Sr=C.lineWidth,hr=Sr===void 0?1:Sr,vr=C.increasedLineWidthForHitTesting,Xr=vr===void 0?0:vr,Gr=C.shadowType,ni=Gr===void 0?"outer":Gr,Hr=C.shadowColor,wi=C.filter,ra=wi===void 0?[]:wi,Oa=C.transformOrigin,Na=[lt,Kt,Qe];b.contentBounds.update(Na,rr);var li=o===Ee.POLYLINE||o===Ee.POLYGON||o===Ee.PATH?Math.SQRT2:.5,B=Tr&&!Tr.isNone;if(B){var y=((hr||0)+(Xr||0))*li;rr[0]+=y,rr[1]+=y}if(b.renderBounds.update(Na,rr),Hr&&ni&&ni!=="inner"){var I=b.renderBounds,O=I.min,et=I.max,St=C.shadowBlur,$t=C.shadowOffsetX,Le=C.shadowOffsetY,Ne=St||0,bn=$t||0,In=Le||0,Hn=O[0]-Ne+bn,sr=et[0]+Ne+bn,ti=O[1]-Ne+In,Pr=et[1]+Ne+In;O[0]=Math.min(O[0],Hn),et[0]=Math.max(et[0],sr),O[1]=Math.min(O[1],ti),et[1]=Math.max(et[1],Pr),b.renderBounds.setMinMax(O,et)}ra.forEach(function(ha){var Hi=ha.name,Oi=ha.params;if(Hi==="blur"){var qr=Oi[0].value;b.renderBounds.update(b.renderBounds.center,T.IH(b.renderBounds.halfExtents,b.renderBounds.halfExtents,[qr,qr,0]))}else if(Hi==="drop-shadow"){var Ji=Oi[0].value,ia=Oi[1].value,Ii=Oi[2].value,As=b.renderBounds,ls=As.min,ms=As.max,Fa=ls[0]-Ii+Ji,Fs=ms[0]+Ii+Ji,sA=ls[1]-Ii+ia,qs=ms[1]+Ii+ia;ls[0]=Math.min(ls[0],Fa),ms[0]=Math.max(ms[0],Fs),ls[1]=Math.min(ls[1],sA),ms[1]=Math.max(ms[1],qs),b.renderBounds.setMinMax(ls,ms)}}),s.geometry.dirty=!1;var jr=qe<0,Zi=dn<0,hi=(jr?-1:1)*(Oa?_t(Oa[0],0,s,!0):0),si=(Zi?-1:1)*(Oa?_t(Oa[1],1,s,!0):0);(hi||si)&&s.setOrigin(hi,si)}}},{key:"updateSizeAttenuation",value:function(s,o){s.style.isSizeAttenuation?(s.style.rawLineWidth||(s.style.rawLineWidth=s.style.lineWidth),s.style.lineWidth=(s.style.rawLineWidth||1)/o,s.nodeName===Ee.CIRCLE&&(s.style.rawR||(s.style.rawR=s.style.r),s.style.r=(s.style.rawR||1)/o)):(s.style.rawLineWidth&&(s.style.lineWidth=s.style.rawLineWidth,delete s.style.rawLineWidth),s.nodeName===Ee.CIRCLE&&s.style.rawR&&(s.style.r=s.style.rawR,delete s.style.rawR))}}])}();function zo(u,d){var s=tA(u);for(var o in d)s.has(o)&&(u.parsedStyle[o]=d[o])}function tA(u){return u.constructor.PARSED_STYLE_LIST}var Bs=function(){function u(){(0,R.Z)(this,u),this.mixer=xn}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f,b){return it(f)}}])}(),ks=function(){function u(){(0,R.Z)(this,u)}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f,b,C){return f instanceof as&&(f=null),C.sceneGraphService.updateDisplayObjectDependency(s,o,f,b),s==="clipPath"&&b.forEach(function(G){G.childNodes.length===0&&C.sceneGraphService.dirtyToRoot(G)}),f}}])}(),go=function(){function u(){(0,R.Z)(this,u),this.parser=xa,this.mixer=Ms}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f,b){return f instanceof as?f.value==="none"?xo:qo:f}}])}(),vo=function(){function u(){(0,R.Z)(this,u)}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f instanceof as?[]:f}}])}();function ts(u){var d=u.parsedStyle,s=d.fontSize;return(0,Mt.Z)(s)?null:s}var _s=function(){function u(){(0,R.Z)(this,u),this.mixer=xn}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f,b,C){if((0,st.Z)(f))return f;if(Vi.isRelativeUnit(f.unit)){if(f.unit===Or.kPercentage)return 0;if(f.unit===Or.kEms){if(b.parentNode){var G=ts(b.parentNode);if(G)return G*=f.value,G}return 0}if(f.unit===Or.kRems){var J;if(b!=null&&(J=b.ownerDocument)!==null&&J!==void 0&&J.documentElement){var lt=ts(b.ownerDocument.documentElement);if(lt)return lt*=f.value,lt}return 0}}else return f.value}}])}(),Hs=function(){function u(){(0,R.Z)(this,u),this.mixer=Kn}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f.map(function(b){return b.value})}}])}(),rl=function(){function u(){(0,R.Z)(this,u),this.mixer=Kn}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f.map(function(b){return b.value})}}])}(),LA=function(){function u(){(0,R.Z)(this,u)}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f,b){var C;f instanceof as&&(f=null);var G=(C=f)===null||C===void 0?void 0:C.cloneNode(!0);return G&&(G.style.isMarker=!0),G}}])}(),Vl=function(){function u(){(0,R.Z)(this,u),this.mixer=xn}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f.value}}])}(),dA=function(){function u(){(0,R.Z)(this,u),this.mixer=$n(0,1)}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f.value}},{key:"postProcessor",value:function(s){var o=s.parsedStyle,f=o.offsetPath,b=o.offsetDistance;if(f){var C=f.nodeName;if(C===Ee.LINE||C===Ee.PATH||C===Ee.POLYLINE){var G=f.getPoint(b);G&&s.setLocalPosition(G.x,G.y)}}}}])}(),po=function(){function u(){(0,R.Z)(this,u),this.mixer=$n(0,1)}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f.value}}])}(),NA=function(){function u(){(0,R.Z)(this,u),this.parser=ke,this.mixer=Ye}return(0,P.Z)(u,[{key:"calculator",value:function(s,o,f){return f instanceof as&&f.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new en(0,0,0,0)}:f}}])}(),Tc=(0,P.Z)(function u(){(0,R.Z)(this,u),this.mixer=_n}),eA=function(u){function d(){var s;(0,R.Z)(this,d);for(var o=arguments.length,f=new Array(o),b=0;b>>1;co(u[f],d)<0?s=f+1:o=f}return s}function co(u,d){var s=Number(u.parsedStyle.zIndex||0),o=Number(d.parsedStyle.zIndex||0);if(s===o){var f=u.parentNode;if(f){var b=f.childNodes||[];return b.indexOf(u)-b.indexOf(d)}}return s-o}function UA(u){var d=u;do{var s,o=(s=d.parsedStyle)===null||s===void 0?void 0:s.clipPath;if(o)return d;d=d.parentElement}while(d!==null);return null}var Wo="px";function Xa(u,d,s){gs&&u.style&&(u.style.width=d+Wo,u.style.height=s+Wo)}function rA(u,d){if(gs)return document.defaultView.getComputedStyle(u,null).getPropertyValue(d)}function ml(u){var d=rA(u,"width");return d==="auto"?u.offsetWidth:parseFloat(d)}function il(u){var d=rA(u,"height");return d==="auto"?u.offsetHeight:parseFloat(d)}var ai=1,Eu={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Oc=typeof performance=="object"&&performance.now?performance:Date;function PA(u){return u.nodeName===Ee.FRAGMENT?!0:u.getRootNode().nodeName===Ee.FRAGMENT}function uo(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",d=arguments.length>1?arguments[1]:void 0,s=arguments.length>2?arguments[2]:void 0,o=!1,f=!1,b=!!d&&!d.isNone,C=!!s&&!s.isNone;return u==="visiblepainted"||u==="painted"||u==="auto"?(o=b,f=C):u==="visiblefill"||u==="fill"?o=!0:u==="visiblestroke"||u==="stroke"?f=!0:(u==="visible"||u==="all")&&(o=!0,f=!0),[o,f]}var Bu=1,yl=function(){return Bu++},Zs=typeof self=="object"&&self.self===self?self:typeof g.g=="object"&&g.g.global===g.g?g.g:{},wl=Date.now(),bu=function(){return Zs.performance&&typeof Zs.performance.now=="function"?Zs.performance.now():Date.now()-wl},DA={},al=Date.now(),gA=function(d){if(typeof d!="function")throw new TypeError("".concat(d," is not a function"));var s=Date.now(),o=s-al,f=o>16?0:16-o,b=yl();return DA[b]=d,Object.keys(DA).length>1||setTimeout(function(){al=s;var C=DA;DA={},Object.keys(C).forEach(function(G){return C[G](bu())})},f),b},RA=function(d){delete DA[d]},QA=["","webkit","moz","ms","o"],Fc=function(d){return typeof d!="string"?gA:d===""?Zs.requestAnimationFrame:Zs["".concat(d,"RequestAnimationFrame")]},sl=function(d){return typeof d!="string"?RA:d===""?Zs.cancelAnimationFrame:Zs["".concat(d,"CancelAnimationFrame")]||Zs["".concat(d,"CancelRequestAnimationFrame")]},Ic=function(d,s){for(var o=0;d[o]!==void 0;){if(s(d[o]))return d[o];o+=1}},vA=Ic(QA,function(u){return!!Fc(u)}),El=Fc(vA),jl=sl(vA);Zs.requestAnimationFrame=El,Zs.cancelAnimationFrame=jl;var Bl=function(){function u(){(0,R.Z)(this,u),this.callbacks=[]}return(0,P.Z)(u,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(s,o){this.callbacks.push(o)}},{key:"promise",value:function(){for(var s=arguments.length,o=new Array(s),f=0;f=0;Tt--){var Kt=lt[Tt].trim();!Xl.test(Kt)&&bl.indexOf(Kt)<0&&(Kt='"'.concat(Kt,'"')),lt[Tt]=Kt}return"".concat(b," ").concat(C," ").concat(G," ").concat(J," ").concat(lt.join(","))},function(u){var d=kA(u),s=d.fontSize,o=d.fontFamily,f=d.fontStyle,b=d.fontVariant,C=d.fontWeight;return"".concat(f,"_").concat(b,"_").concat(C,"_").concat(s,"_").concat(o)}),Uc=1e-6,_A=function(d){return Math.max(d,Uc)};function xl(u,d,s){return Z.identity(u),u[4]=Math.tan(d),u[1]=Math.tan(s),u}var es=Z.create(),ol=Z.create(),xu={scale:function(d){Z.fromScaling(es,[d[0].value,d[1].value,1].map(function(s){return _A(s)}))},scaleX:function(d){Z.fromScaling(es,[d[0].value,1,1].map(function(s){return _A(s)}))},scaleY:function(d){Z.fromScaling(es,[1,d[0].value,1].map(function(s){return _A(s)}))},scaleZ:function(d){Z.fromScaling(es,[1,1,d[0].value].map(function(s){return _A(s)}))},scale3d:function(d){Z.fromScaling(es,[d[0].value,d[1].value,d[2].value].map(function(s){return _A(s)}))},translate:function(d){Z.fromTranslation(es,[d[0].value,d[1].value,0])},translateX:function(d){Z.fromTranslation(es,[d[0].value,0,0])},translateY:function(d){Z.fromTranslation(es,[0,d[0].value,0])},translateZ:function(d){Z.fromTranslation(es,[0,0,d[0].value])},translate3d:function(d){Z.fromTranslation(es,[d[0].value,d[1].value,d[2].value])},rotate:function(d){Z.fromZRotation(es,Te(it(d[0])))},rotateX:function(d){Z.fromXRotation(es,Te(it(d[0])))},rotateY:function(d){Z.fromYRotation(es,Te(it(d[0])))},rotateZ:function(d){Z.fromZRotation(es,Te(it(d[0])))},rotate3d:function(d){Z.fromRotation(es,Te(it(d[3])),[d[0].value,d[1].value,d[2].value])},skew:function(d){xl(es,Te(d[0].value),Te(d[1].value))},skewX:function(d){xl(es,Te(d[0].value),0)},skewY:function(d){xl(es,0,Te(d[0].value))},matrix:function(d){Z.set(es,d[0].value,d[1].value,0,0,d[2].value,d[3].value,0,0,0,0,1,0,d[4].value,d[5].value,0,1)},matrix3d:function(d){Z.set.apply(Z,[es].concat((0,U.Z)(d.map(function(s){return s.value}))))}},Cl=T.al(1,1,1),Ho=T.Ue(),Jl={translate:function(d,s){Er.sceneGraphService.setLocalScale(d,Cl,!1),Er.sceneGraphService.setLocalEulerAngles(d,Ho,void 0,void 0,!1),Er.sceneGraphService.setLocalPosition(d,[s[0].value,s[1].value,0],!1),Er.sceneGraphService.dirtyLocalTransform(d,d.transformable)}};function $l(u,d){if(u.length){if(u.length===1&&Jl[u[0].t]){Jl[u[0].t](d,u[0].d);return}for(var s=Z.identity(ol),o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,f=arguments.length>2?arguments[2]:void 0;if(f)return this.dispatchEventToSelf(s),!0;var b;if(this.document)b=this;else if(this.defaultView)b=this.defaultView;else{var C;b=(C=this.ownerDocument)===null||C===void 0?void 0:C.defaultView}if(b){if(s.manager=b.getEventService(),!s.manager)return!1;s.defaultPrevented=!1,s.path?s.path.length=0:s.page=[],o||(s.target=this),s.manager.dispatchEvent(s,s.type,o)}else this.dispatchEventToSelf(s);return!s.defaultPrevented}}])}(),za=function(u){function d(){var s;(0,R.Z)(this,d);for(var o=arguments.length,f=new Array(o),b=0;b0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(o):o.composed&&this.host?this.host.getRootNode(o):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(o){throw new Error(vt)}},{key:"lookupNamespaceURI",value:function(o){throw new Error(vt)}},{key:"lookupPrefix",value:function(o){throw new Error(vt)}},{key:"normalize",value:function(){throw new Error(vt)}},{key:"isEqualNode",value:function(o){return this===o}},{key:"isSameNode",value:function(o){return this.isEqualNode(o)}},{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(o){if(o===this)return 0;for(var f=o,b=this,C=[f],G=[b];(J=f.parentNode)!==null&&J!==void 0?J:b.parentNode;){var J;f=f.parentNode?(C.push(f.parentNode),f.parentNode):f,b=b.parentNode?(G.push(b.parentNode),b.parentNode):b}if(f!==b)return d.DOCUMENT_POSITION_DISCONNECTED|d.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|d.DOCUMENT_POSITION_PRECEDING;var lt=C.length>G.length?C:G,Tt=lt===C?G:C;if(lt[lt.length-Tt.length]===Tt[0])return lt===C?d.DOCUMENT_POSITION_CONTAINED_BY|d.DOCUMENT_POSITION_FOLLOWING:d.DOCUMENT_POSITION_CONTAINS|d.DOCUMENT_POSITION_PRECEDING;for(var Kt=lt.length-Tt.length,le=Tt.length-1;le>=0;le--){var Qe=Tt[le],Ue=lt[Kt+le];if(Ue!==Qe){var qe=Qe.parentNode.childNodes;return qe.indexOf(Qe)0&&f;)f=f.parentNode,o--;return f}},{key:"forEach",value:function(o){for(var f=[this];f.length>0;){var b=f.pop(),C=o(b);if(C===!1)break;for(var G=b.childNodes.length-1;G>=0;G--)f.push(b.childNodes[G])}}}],[{key:"isNode",value:function(o){return!!o.childNodes}}])}(rc);za.DOCUMENT_POSITION_DISCONNECTED=1,za.DOCUMENT_POSITION_PRECEDING=2,za.DOCUMENT_POSITION_FOLLOWING=4,za.DOCUMENT_POSITION_CONTAINS=8,za.DOCUMENT_POSITION_CONTAINED_BY=16,za.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var Su=2048,Mu=function(){function u(d,s){var o=this;(0,R.Z)(this,u),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=Z.create(),this.tmpVec3=T.Ue(),this.onPointerDown=function(f){var b=o.createPointerEvent(f);if(o.dispatchEvent(b,"pointerdown"),b.pointerType==="touch")o.dispatchEvent(b,"touchstart");else if(b.pointerType==="mouse"||b.pointerType==="pen"){var C=b.button===2;o.dispatchEvent(b,C?"rightdown":"mousedown")}var G=o.trackingData(f.pointerId);G.pressTargetsByButton[f.button]=b.composedPath(),o.freeEvent(b)},this.onPointerUp=function(f){var b=Oc.now(),C=o.createPointerEvent(f,void 0,void 0,o.context.config.alwaysTriggerPointerEventOnCanvas?o.rootTarget:void 0);if(o.dispatchEvent(C,"pointerup"),C.pointerType==="touch")o.dispatchEvent(C,"touchend");else if(C.pointerType==="mouse"||C.pointerType==="pen"){var G=C.button===2;o.dispatchEvent(C,G?"rightup":"mouseup")}var J=o.trackingData(f.pointerId),lt=o.findMountedTarget(J.pressTargetsByButton[f.button]),Tt=lt;if(lt&&!C.composedPath().includes(lt)){for(var Kt=lt;Kt&&!C.composedPath().includes(Kt);){if(C.currentTarget=Kt,o.notifyTarget(C,"pointerupoutside"),C.pointerType==="touch")o.notifyTarget(C,"touchendoutside");else if(C.pointerType==="mouse"||C.pointerType==="pen"){var le=C.button===2;o.notifyTarget(C,le?"rightupoutside":"mouseupoutside")}za.isNode(Kt)&&(Kt=Kt.parentNode)}delete J.pressTargetsByButton[f.button],Tt=Kt}if(Tt){var Qe,Ue=o.clonePointerEvent(C,"click");Ue.target=Tt,Ue.path=[],J.clicksByButton[f.button]||(J.clicksByButton[f.button]={clickCount:0,target:Ue.target,timeStamp:b});var qe=o.context.renderingContext.root.ownerDocument.defaultView,hn=J.clicksByButton[f.button];hn.target===Ue.target&&b-hn.timeStamp=1;b--)if(s.currentTarget=f[b],this.notifyTarget(s,o),s.propagationStopped||s.propagationImmediatelyStopped)return;if(s.eventPhase=s.AT_TARGET,s.currentTarget=s.target,this.notifyTarget(s,o),!(s.propagationStopped||s.propagationImmediatelyStopped)){var C=f.indexOf(s.currentTarget);s.eventPhase=s.BUBBLING_PHASE;for(var G=C+1;GC||f>G?null:!J&&this.pickHandler(s)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(s,o){var f,b=o==null?void 0:o.target;if((f=b)!==null&&f!==void 0&&f.shadowRoot&&(b=o.composedPath()[0]),b){if(b===s)return!0;if(s&&s.contains)return s.contains(b)}return o!=null&&o.composedPath?o.composedPath().indexOf(s)>-1:!1}},{key:"getExistedHTML",value:function(s){if(s.nativeEvent.composedPath)for(var o=0,f=s.nativeEvent.composedPath();o=0;f--){var b=s[f];if(b===this.rootTarget||za.isNode(b)&&b.parentNode===o)o=s[f];else break}return o}},{key:"getCursor",value:function(s){for(var o=s;o;){var f=Ga(o)&&o.getAttribute("cursor");if(f)return f;o=za.isNode(o)&&o.parentNode}}}])}(),ic=function(){function u(){(0,R.Z)(this,u)}return(0,P.Z)(u,[{key:"getOrCreateCanvas",value:function(s,o){if(this.canvas)return this.canvas;if(s||Er.offscreenCanvas)this.canvas=s||Er.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,c.Z)({willReadFrequently:!0},o));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,c.Z)({willReadFrequently:!0},o)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(f){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,c.Z)({willReadFrequently:!0},o))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(s,o){return this.context?this.context:(this.getOrCreateCanvas(s,o),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(s){}try{return document.createElement("canvas")}catch(s){}return null}}])}(),iA=function(u){return u[u.CAMERA_CHANGED=0]="CAMERA_CHANGED",u[u.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",u[u.NONE=2]="NONE",u}({}),Vu=function(){function u(d,s){(0,R.Z)(this,u),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new os,initAsync:new Bl,dirtycheck:new Yl,cull:new Yl,beginFrame:new os,beforeRender:new os,render:new os,afterRender:new os,endFrame:new os,destroy:new os,pick:new Lc,pickSync:new Yl,pointerDown:new os,pointerUp:new os,pointerMove:new os,pointerOut:new os,pointerOver:new os,pointerWheel:new os,pointerCancel:new os,click:new os},this.globalRuntime=d,this.context=s}return(0,P.Z)(u,[{key:"init",value:function(s){var o=this,f=(0,c.Z)((0,c.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(b){b.apply(f,o.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,s()):this.hooks.initAsync.promise().then(function(){o.inited=!0,s()}).catch(function(b){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var s=this.context.config.renderer,o=s.getConfig(),f=o.enableDirtyRectangleRendering;return!f||this.context.renderingContext.renderReasons.has(iA.CAMERA_CHANGED)}},{key:"render",value:function(s,o,f){var b=this,C=s.getConfig(),G=this.context.renderingContext;if(this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0,this.globalRuntime.sceneGraphService.syncHierarchy(G.root),this.globalRuntime.sceneGraphService.notifyMutationObservers(s),G.renderReasons.size&&this.inited){G.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var J=G.renderReasons.size===1&&G.renderReasons.has(iA.CAMERA_CHANGED),lt=!C.disableRenderHooks||!J;lt&&this.renderDisplayObject(G.root,C,G),this.hooks.beginFrame.call(o),lt&&G.renderListCurrentFrame.forEach(function(Tt){b.hooks.beforeRender.call(Tt),b.hooks.render.call(Tt),b.hooks.afterRender.call(Tt)}),this.hooks.endFrame.call(o),G.renderListCurrentFrame=[],G.renderReasons.clear(),f()}}},{key:"renderDisplayObject",value:function(s,o,f){var b=this,C=o.renderer.getConfig(),G=C.enableDirtyCheck,J=C.enableCulling;function lt(qe){var hn=qe.renderable,dn=qe.sortable,rn=G?hn.dirty||f.dirtyRectangleRenderingDisabled?qe:null:qe,Dn=null;rn&&(Dn=J?b.hooks.cull.call(rn,b.context.camera):rn,Dn&&(b.stats.rendered+=1,f.renderListCurrentFrame.push(Dn))),qe.dirty(!1),dn.renderOrder=b.zIndexCounter,b.zIndexCounter+=1,b.stats.total+=1,dn.dirty&&(b.sort(qe,dn),dn.dirty=!1,dn.dirtyChildren=[],dn.dirtyReason=void 0)}for(var Tt=[s];Tt.length>0;){var Kt,le=Tt.pop();lt(le);for(var Qe=((Kt=le.sortable)===null||Kt===void 0||(Kt=Kt.sorted)===null||Kt===void 0?void 0:Kt.length)>0?le.sortable.sorted:le.childNodes,Ue=Qe.length-1;Ue>=0;Ue--)Tt.push(Qe[Ue])}}},{key:"sort",value:function(s,o){var f,b;(o==null||(f=o.sorted)===null||f===void 0?void 0:f.length)>0&&o.dirtyReason!==Mr.Z_INDEX_CHANGED?o.dirtyChildren.forEach(function(C){var G=o.sorted.indexOf(C);G>-1&&o.sorted.splice(G,1);var J=s.childNodes.indexOf(C);if(J>-1)if(o.sorted.length===0)o.sorted.push(C);else{var lt=Js(o.sorted,C);o.sorted.splice(lt,0,C)}}):o.sorted=s.childNodes.slice().sort(co),((b=o.sorted)===null||b===void 0?void 0:b.length)>0&&s.childNodes.filter(function(C){return C.parsedStyle.zIndex}).length===0&&(o.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call()}},{key:"dirty",value:function(){this.context.renderingContext.renderReasons.add(iA.DISPLAY_OBJECT_CHANGED)}}])}(),Hc=/\[\s*(.*)=(.*)\s*\]/,Di=function(){function u(){(0,R.Z)(this,u)}return(0,P.Z)(u,[{key:"selectOne",value:function(s,o){var f=this;if(s.startsWith("."))return o.find(function(J){return((J==null?void 0:J.classList)||[]).indexOf(f.getIdOrClassname(s))>-1});if(s.startsWith("#"))return o.find(function(J){return J.id===f.getIdOrClassname(s)});if(s.startsWith("[")){var b=this.getAttribute(s),C=b.name,G=b.value;return C?o.find(function(J){return o!==J&&(C==="name"?J.name===G:f.attributeToString(J,C)===G)}):null}return o.find(function(J){return o!==J&&J.nodeName===s})}},{key:"selectAll",value:function(s,o){var f=this;if(s.startsWith("."))return o.findAll(function(J){return o!==J&&((J==null?void 0:J.classList)||[]).indexOf(f.getIdOrClassname(s))>-1});if(s.startsWith("#"))return o.findAll(function(J){return o!==J&&J.id===f.getIdOrClassname(s)});if(s.startsWith("[")){var b=this.getAttribute(s),C=b.name,G=b.value;return C?o.findAll(function(J){return o!==J&&(C==="name"?J.name===G:f.attributeToString(J,C)===G)}):[]}return o.findAll(function(J){return o!==J&&J.nodeName===s})}},{key:"is",value:function(s,o){if(s.startsWith("."))return o.className===this.getIdOrClassname(s);if(s.startsWith("#"))return o.id===this.getIdOrClassname(s);if(s.startsWith("[")){var f=this.getAttribute(s),b=f.name,C=f.value;return b==="name"?o.name===C:this.attributeToString(o,b)===C}return o.nodeName===s}},{key:"getIdOrClassname",value:function(s){return s.substring(1)}},{key:"getAttribute",value:function(s){var o=s.match(Hc),f="",b="";return o&&o.length>2&&(f=o[1].replace(/"/g,""),b=o[2].replace(/"/g,"")),{name:f,value:b}}},{key:"attributeToString",value:function(s,o){if(!s.getAttribute)return"";var f=s.getAttribute(o);return(0,Mt.Z)(f)?"":f.toString?f.toString():""}}])}(),Ni=function(u){return u.ATTR_MODIFIED="DOMAttrModified",u.INSERTED="DOMNodeInserted",u.MOUNTED="DOMNodeInsertedIntoDocument",u.REMOVED="removed",u.UNMOUNTED="DOMNodeRemovedFromDocument",u.REPARENT="reparent",u.DESTROY="destroy",u.BOUNDS_CHANGED="bounds-changed",u.CULLED="culled",u}({}),Gs=function(u){function d(s,o,f,b,C,G,J,lt){var Tt;return(0,R.Z)(this,d),Tt=(0,w.Z)(this,d,[null]),Tt.relatedNode=o,Tt.prevValue=f,Tt.newValue=b,Tt.attrName=C,Tt.attrChange=G,Tt.prevParsedValue=J,Tt.newParsedValue=lt,Tt.type=s,Tt}return(0,S.Z)(d,u),(0,P.Z)(d)}(HA);Gs.ADDITION=2,Gs.MODIFICATION=1,Gs.REMOVAL=3;var Tu=new Gs(Ni.REPARENT,null,"","","",0,"",""),Ou=pt.Ue(),Al=T.Ue(),ac=T.al(1,1,1),Fu=Z.create(),sc=pt.Ue(),pA=T.Ue(),oc=Z.create(),mA=V.Ue(),Iu=T.Ue(),Lu=V.Ue(),Nu=T.Ue(),Oo=T.Ue(),aA=T.Ue(),ZA=Z.create(),Fl=V.Ue(),Ac=V.Ue(),lc=V.Ue(),Zc=function(){function u(d){(0,R.Z)(this,u),this.displayObjectDependencyMap=new WeakMap,this.runtime=d}return(0,P.Z)(u,[{key:"matches",value:function(s,o){return this.runtime.sceneGraphSelector.is(s,o)}},{key:"querySelector",value:function(s,o){return this.runtime.sceneGraphSelector.selectOne(s,o)}},{key:"querySelectorAll",value:function(s,o){return this.runtime.sceneGraphSelector.selectAll(s,o)}},{key:"attach",value:function(s,o,f){var b,C=!1;s.parentNode&&(C=s.parentNode!==o,this.detach(s));var G=s.nodeName===Ee.FRAGMENT,J=PA(o);s.parentNode=o;var lt=G?s.childNodes:[s];(0,st.Z)(f)?lt.forEach(function(qe){o.childNodes.splice(f,0,qe),qe.parentNode=o}):lt.forEach(function(qe){o.childNodes.push(qe),qe.parentNode=o});var Tt=o,Kt=Tt.sortable;if((Kt!=null&&(b=Kt.sorted)!==null&&b!==void 0&&b.length||Kt.dirty||s.parsedStyle.zIndex)&&(Kt.dirtyChildren.indexOf(s)===-1&&Kt.dirtyChildren.push(s),Kt.dirty=!0,Kt.dirtyReason=Mr.ADDED),!J){if(G)this.dirtyFragment(s);else{var le=s.transformable;le&&this.dirtyWorldTransform(s,le)}if(C){var Qe,Ue=((Qe=o.ownerDocument)===null||Qe===void 0||(Qe=Qe.defaultView)===null||Qe===void 0||(Qe=Qe.getConfig())===null||Qe===void 0||(Qe=Qe.future)===null||Qe===void 0?void 0:Qe.experimentalCancelEventPropagation)===!0;s.dispatchEvent(Tu,Ue,Ue)}}}},{key:"detach",value:function(s){var o,f;if(s.parentNode){var b=s.transformable,C=s.parentNode,G=C.sortable;(G!=null&&(o=G.sorted)!==null&&o!==void 0&&o.length||(f=s.style)!==null&&f!==void 0&&f.zIndex)&&(G.dirtyChildren.indexOf(s)===-1&&G.dirtyChildren.push(s),G.dirty=!0,G.dirtyReason=Mr.REMOVED);var J=s.parentNode.childNodes.indexOf(s);J>-1&&s.parentNode.childNodes.splice(J,1),b&&this.dirtyWorldTransform(s,b),s.parentNode=null}}},{key:"getLocalPosition",value:function(s){return s.transformable.localPosition}},{key:"getLocalRotation",value:function(s){return s.transformable.localRotation}},{key:"getLocalScale",value:function(s){return s.transformable.localScale}},{key:"getLocalSkew",value:function(s){return s.transformable.localSkew}},{key:"getLocalTransform",value:function(s){var o=s.transformable;return Ci(o),o.localTransform}},{key:"setLocalPosition",value:function(s,o){var f,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=s.transformable;Oo[0]=o[0],Oo[1]=o[1],Oo[2]=(f=o[2])!==null&&f!==void 0?f:0,!T.fS(C.localPosition,Oo)&&(T.JG(C.localPosition,Oo),b&&this.dirtyLocalTransform(s,C))}},{key:"translateLocal",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=T.al(o,f,b));var C=s.transformable;T.fS(o,Al)||(T.VC(o,o,C.localRotation),T.IH(C.localPosition,C.localPosition,o),this.dirtyLocalTransform(s,C))}},{key:"setLocalRotation",value:function(s,o,f,b,C){var G=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof o=="number"&&(o=V.t8(mA,o,f,b,C));var J=s.transformable;V.JG(J.localRotation,o),G&&this.dirtyLocalTransform(s,J)}},{key:"rotateLocal",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=T.al(o,f,b));var C=s.transformable;V.Su(Ac,o[0],o[1],o[2]),V.dC(C.localRotation,C.localRotation,Ac),this.dirtyLocalTransform(s,C)}},{key:"setLocalScale",value:function(s,o){var f,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=s.transformable;T.t8(pA,o[0],o[1],(f=o[2])!==null&&f!==void 0?f:C.localScale[2]),!T.fS(pA,C.localScale)&&(T.JG(C.localScale,pA),b&&this.dirtyLocalTransform(s,C))}},{key:"scaleLocal",value:function(s,o){var f,b=s.transformable;T.Jp(b.localScale,b.localScale,T.t8(pA,o[0],o[1],(f=o[2])!==null&&f!==void 0?f:1)),this.dirtyLocalTransform(s,b)}},{key:"setLocalSkew",value:function(s,o,f){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof o=="number"&&(o=pt.t8(sc,o,f));var C=s.transformable;pt.JG(C.localSkew,o),b&&this.dirtyLocalTransform(s,C)}},{key:"setLocalEulerAngles",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof o=="number"&&(o=T.al(o,f,b));var G=s.transformable;V.Su(G.localRotation,o[0],o[1],o[2]),C&&this.dirtyLocalTransform(s,G)}},{key:"setLocalTransform",value:function(s,o){var f=Z.getTranslation(Iu,o),b=Z.getRotation(Lu,o),C=Z.getScaling(Nu,o);this.setLocalScale(s,C,!1),this.setLocalPosition(s,f,!1),this.setLocalRotation(s,b,void 0,void 0,void 0,!1),this.dirtyLocalTransform(s,s.transformable)}},{key:"resetLocalTransform",value:function(s){this.setLocalScale(s,ac,!1),this.setLocalPosition(s,Al,!1),this.setLocalEulerAngles(s,Al,void 0,void 0,!1),this.setLocalSkew(s,Ou,void 0,!1),this.dirtyLocalTransform(s,s.transformable)}},{key:"getPosition",value:function(s){var o=s.transformable;return Z.getTranslation(o.position,this.getWorldTransform(s,o))}},{key:"getRotation",value:function(s){var o=s.transformable;return Z.getRotation(o.rotation,this.getWorldTransform(s,o))}},{key:"getScale",value:function(s){var o=s.transformable;return Z.getScaling(o.scaling,this.getWorldTransform(s,o))}},{key:"getOrigin",value:function(s){return s.getGeometryBounds(),s.transformable.origin}},{key:"getWorldTransform",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s.transformable;return!o.localDirtyFlag&&!o.dirtyFlag||(s.parentNode&&s.parentNode.transformable&&this.getWorldTransform(s.parentNode),this.internalUpdateTransform(s)),o.worldTransform}},{key:"setPosition",value:function(s,o){var f,b=s.transformable;if(aA[0]=o[0],aA[1]=o[1],aA[2]=(f=o[2])!==null&&f!==void 0?f:0,!T.fS(this.getPosition(s),aA)){if(T.JG(b.position,aA),s.parentNode===null||!s.parentNode.transformable)T.JG(b.localPosition,aA);else{var C=s.parentNode.transformable;Z.copy(ZA,C.worldTransform),Z.invert(ZA,ZA),T.fF(b.localPosition,aA,ZA)}this.dirtyLocalTransform(s,b)}}},{key:"translate",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=T.t8(pA,o,f,b)),!T.fS(o,Al)&&(T.IH(pA,this.getPosition(s),o),this.setPosition(s,pA))}},{key:"setRotation",value:function(s,o,f,b,C){var G=s.transformable;if(typeof o=="number"&&(o=V.al(o,f,b,C)),s.parentNode===null||!s.parentNode.transformable)this.setLocalRotation(s,o);else{var J=this.getRotation(s.parentNode);V.JG(mA,J),V.U_(mA,mA),V.Jp(G.localRotation,mA,o),V.Fv(G.localRotation,G.localRotation),this.dirtyLocalTransform(s,G)}}},{key:"rotate",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=T.al(o,f,b));var C=s.transformable;if(s.parentNode===null||!s.parentNode.transformable)this.rotateLocal(s,o);else{var G=mA;V.Su(G,o[0],o[1],o[2]);var J=this.getRotation(s),lt=this.getRotation(s.parentNode);V.JG(lc,lt),V.U_(lc,lc),V.Jp(G,lc,G),V.Jp(C.localRotation,G,J),V.Fv(C.localRotation,C.localRotation),this.dirtyLocalTransform(s,C)}}},{key:"setOrigin",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=[o,f,b]);var C=s.transformable;if(!(o[0]===C.origin[0]&&o[1]===C.origin[1]&&o[2]===C.origin[2])){var G=C.origin;G[0]=o[0],G[1]=o[1],G[2]=o[2]||0,this.dirtyLocalTransform(s,C)}}},{key:"setEulerAngles",value:function(s,o){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=T.al(o,f,b));var C=s.transformable;if(s.parentNode===null||!s.parentNode.transformable)this.setLocalEulerAngles(s,o);else{V.Su(C.localRotation,o[0],o[1],o[2]);var G=this.getRotation(s.parentNode);V.JG(Fl,V.U_(mA,G)),V.dC(C.localRotation,C.localRotation,Fl),this.dirtyLocalTransform(s,C)}}},{key:"getGeometryBounds",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,f=s,b=f.geometry;b.dirty&&Er.styleValueRegistry.updateGeometry(s);var C=o?b.renderBounds:b.contentBounds||null;return C||new z}},{key:"getTransformedGeometryBounds",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,f=arguments.length>2?arguments[2]:void 0,b=this.getGeometryBounds(s,o);if(!z.isEmpty(b)){var C=f||new z;return C.setFromTransformedAABB(b,this.getWorldTransform(s)),C}return null}},{key:"getBounds",value:function(s){var o=this,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=s,C=b.renderable;if(!C.boundsDirty&&!f&&C.bounds)return C.bounds;if(!C.renderBoundsDirty&&f&&C.renderBounds)return C.renderBounds;var G=f?C.renderBounds:C.bounds,J=this.getTransformedGeometryBounds(s,f,G),lt=s.childNodes;if(lt.forEach(function(le){var Qe=o.getBounds(le,f);Qe&&(J?J.add(Qe):(J=G||new z,J.update(Qe.center,Qe.halfExtents)))}),J||(J=new z),f){var Tt=UA(s);if(Tt){var Kt=Tt.parsedStyle.clipPath.getBounds(f);J?Kt&&(J=Kt.intersection(J)):J.update(Kt.center,Kt.halfExtents)}}return f?(C.renderBounds=J,C.renderBoundsDirty=!1):(C.bounds=J,C.boundsDirty=!1),J}},{key:"getLocalBounds",value:function(s){if(s.parentNode){var o=Fu;s.parentNode.transformable&&(o=Z.invert(oc,this.getWorldTransform(s.parentNode)));var f=this.getBounds(s);if(!z.isEmpty(f)){var b=new z;return b.setFromTransformedAABB(f,o),b}}return this.getBounds(s)}},{key:"getBoundingClientRect",value:function(s){var o,f,b=this.getGeometryBounds(s);z.isEmpty(b)||(f=new z,f.setFromTransformedAABB(b,this.getWorldTransform(s)));var C=(o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0?void 0:o.getContextService().getBoundingClientRect();if(f){var G=f.getMin(),J=(0,E.Z)(G,2),lt=J[0],Tt=J[1],Kt=f.getMax(),le=(0,E.Z)(Kt,2),Qe=le[0],Ue=le[1];return new en(lt+((C==null?void 0:C.left)||0),Tt+((C==null?void 0:C.top)||0),Qe-lt,Ue-Tt)}return new en((C==null?void 0:C.left)||0,(C==null?void 0:C.top)||0,0,0)}},{key:"internalUpdateTransform",value:function(s){var o,f=(o=s.parentNode)===null||o===void 0?void 0:o.transformable;Ci(s.transformable),di(s.transformable,f)}},{key:"internalUpdateElement",value:function(s,o){var f,b,C,G,J=((f=s.ownerDocument)===null||f===void 0||(f=f.defaultView)===null||f===void 0||(f=f.getConfig())===null||f===void 0||(f=f.future)===null||f===void 0?void 0:f.experimentalAttributeUpdateOptimization)===!0,lt=o[o.length-1],Tt=(lt==null?void 0:lt.transformDirty)||((b=s.transformable)===null||b===void 0?void 0:b.localDirtyFlag);if(s.transformable){var Kt;(Kt=s.transformable).dirtyFlag||(Kt.dirtyFlag=Tt)}if(this.internalUpdateTransform(s),Tt){var le;(le=s.dirty)===null||le===void 0||le.call(s,!0,!0)}var Qe=((C=s.renderable)===null||C===void 0?void 0:C.boundsDirty)||((G=s.renderable)===null||G===void 0?void 0:G.renderBoundsDirty);if((Tt||Qe)&&(lt==null?void 0:lt.shapeUpdated)===!1&&J)for(var Ue=o.length-1;Ue>=0;){var qe,hn,dn=o[Ue];if(dn.shapeUpdated)break;(qe=(hn=dn.node).dirty)===null||qe===void 0||qe.call(hn,!0,!0),dn.shapeUpdated=!0,Ue-=1}return Tt}},{key:"syncHierarchy",value:function(s){for(var o,f,b=[s],C=s.parentNode?[{node:s.parentNode,transformDirty:((o=s.parentNode.transformable)===null||o===void 0?void 0:o.localDirtyFlag)||((f=s.parentNode.transformable)===null||f===void 0?void 0:f.dirtyFlag),shapeUpdated:!1}]:[];b.length>0;){for(var G=b.pop(),J=C[C.length-1];C.length>0&&G.parentNode!==J.node;)J=C.pop();var lt=this.internalUpdateElement(G,C);if(G.childNodes.length>0){for(var Tt=G.childNodes.length-1;Tt>=0;Tt--)b.push(G.childNodes[Tt]);C.push({node:G,transformDirty:lt,shapeUpdated:!1})}}}},{key:"dirtyLocalTransform",value:function(s,o){PA(s)||o.localDirtyFlag||(o.localDirtyFlag=!0,o.dirtyFlag||this.dirtyWorldTransform(s,o))}},{key:"dirtyWorldTransform",value:function(s,o){this.dirtyWorldInternal(s,o),this.dirtyToRoot(s,!0)}},{key:"dirtyWorldInternal",value:function(s,o){var f,b=this,C=((f=s.ownerDocument)===null||f===void 0||(f=f.defaultView)===null||f===void 0||(f=f.getConfig())===null||f===void 0||(f=f.future)===null||f===void 0?void 0:f.experimentalAttributeUpdateOptimization)===!0;o.dirtyFlag||(o.dirtyFlag=!0,s.dirty(!0,!0),C||s.childNodes.forEach(function(G){var J=G.transformable;b.dirtyWorldInternal(G,J)}))}},{key:"dirtyToRoot",value:function(s){for(var o,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=s,C=((o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0||(o=o.getConfig())===null||o===void 0||(o=o.future)===null||o===void 0?void 0:o.experimentalAttributeUpdateOptimization)===!0;b;){var G,J;if((G=(J=b).dirty)===null||G===void 0||G.call(J,!0,!0),C)break;b=b.parentNode}f&&s.forEach(function(Kt){var le;(le=Kt.dirty)===null||le===void 0||le.call(Kt,!0,!0)}),this.informDependentDisplayObjects(s);var lt=s.mutations||[],Tt=lt.find(function(Kt){return Kt.type==="attributes"&&Kt._boundsChangeData});Tt?Tt._boundsChangeData={affectChildren:Tt._boundsChangeData.affectChildren||f}:(Tt={type:"attributes",target:s,_boundsChangeData:{affectChildren:f}},lt.push(Tt)),s.mutations=lt}},{key:"dirtyFragment",value:function(s){var o,f,b=s.transformable;b&&(b.dirtyFlag=!0,b.localDirtyFlag=!0),(o=(f=s).dirty)===null||o===void 0||o.call(f,!0,!0);for(var C=s.childNodes.length,G=0;G0){var f=new Ts(Ni.BOUNDS_CHANGED,{detail:Array.from(o)});s.dispatchEvent(f,!0,!0)}}},{key:"updateDisplayObjectDependency",value:function(s,o,f,b){if(o&&o!==f){var C=this.displayObjectDependencyMap.get(o);if(C&&C[s]){var G=C[s].indexOf(b);C[s].splice(G,1)}}if(f){var J=this.displayObjectDependencyMap.get(f);J||(this.displayObjectDependencyMap.set(f,{}),J=this.displayObjectDependencyMap.get(f)),J[s]||(J[s]=[]),J[s].push(b)}}},{key:"informDependentDisplayObjects",value:function(s){var o,f=this,b=this.displayObjectDependencyMap.get(s);if(b){var C=(o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0||(o=o.getConfig())===null||o===void 0||(o=o.future)===null||o===void 0?void 0:o.experimentalCancelEventPropagation;Object.keys(b).forEach(function(G){b[G].forEach(function(J){f.dirtyToRoot(J,!0),J.dispatchEvent(new Gs(Ni.ATTR_MODIFIED,J,f,f,G,Gs.MODIFICATION,f,f),C,C),J.isCustomElement&&J.isConnected&&J.attributeChangedCallback&&J.attributeChangedCallback(G,f,f)})})}}}])}(),KA=function(){function u(d){if((0,R.Z)(this,u),d<=0)throw new Error("LRU capacity must be a positive number.");this.capacity=d,this.cache=new Map}return(0,P.Z)(u,[{key:"get",value:function(s){if(this.cache.has(s)){var o=this.cache.get(s);return this.cache.delete(s),this.cache.set(s,o),o}}},{key:"put",value:function(s,o){if(this.cache.has(s)&&this.cache.delete(s),this.cache.set(s,o),this.cache.size>this.capacity){var f=this.cache.keys().next().value;this.cache.delete(f)}}},{key:"len",value:function(){return this.cache.size}},{key:"clear",value:function(){this.cache.clear()}}])}(),yA={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]},ll=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,cl=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,Kc=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,Gc=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,ul=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,cc=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,uc=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,zc=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,Wc=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,Il=new RegExp("".concat(cl.source,"|").concat(Gc.source,"|").concat(cc.source,"|").concat(zc.source)),Vc=new RegExp("".concat(Kc.source,"|").concat(ul.source,"|").concat(uc.source,"|").concat(Wc.source)),hc=function(){function u(d){var s=this;(0,R.Z)(this,u),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(o,f){return s.isBreakingSpace(f)?!1:!!(o&&(Vc.exec(f)||Il.exec(o)))},this.trimByKinsokuShorui=function(o){var f=(0,U.Z)(o),b=f[f.length-2];if(!b)return o;var C=b[b.length-1];return f[f.length-2]=b.slice(0,-1),f[f.length-1]=C+f[f.length-1],f},this.runtime=d,this.charWidthCache=new KA(100)}return(0,P.Z)(u,[{key:"measureFont",value:function(s,o){if(this.fontMetricsCache[s])return this.fontMetricsCache[s];var f={ascent:0,descent:0,fontSize:0},b=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(o),C=this.runtime.offscreenCanvasCreator.getOrCreateContext(o,{willReadFrequently:!0});C.font=s;var G=yA.MetricsString+yA.BaselineSymbol,J=Math.ceil(C.measureText(G).width),lt=Math.ceil(C.measureText(yA.BaselineSymbol).width),Tt=yA.HeightMultiplier*lt;lt=lt*yA.BaselineMultiplier|0,b.width=J,b.height=Tt,C.fillStyle="#f00",C.fillRect(0,0,J,Tt),C.font=s,C.textBaseline="alphabetic",C.fillStyle="#000",C.fillText(G,0,lt);var Kt=C.getImageData(0,0,J||1,Tt||1).data,le=Kt.length,Qe=J*4,Ue=0,qe=0,hn=!1;for(Ue=0;Uelt;--Ue){for(var rn=0;rnO&&y>=I;)y-=1,B=B.slice(0,-1);return{lineTxt:B,txtLastCharIndex:y}}function ni(B,y){if(!(Xr<=0||Xr>hn)){if(!rn[B]){rn[B]=dn;return}var I=Gr(rn[B],y,Tr+1,hn-Xr);rn[B]=I.lineTxt+dn}}for(var Hr=0;Hr=Qe){Hrhn){ni(Dn,Hr-1),o.isOverflowing=!0;break}if(rr>0&&rr+Na>hn){var li=Gr(rn[Dn],Hr-1,Tr+1,hn);if(li.txtLastCharIndex!==Hr-1){if(rn[Dn]=li.lineTxt,li.txtLastCharIndex===C.length-1)break;Hr=li.txtLastCharIndex+1,wi=C[Hr],ra=C[Hr-1],Oa=C[Hr+1],Na=vr(wi)}if(Dn+1>=Qe){ni(Dn,Hr-1),o.isOverflowing=!0;break}if(Tr=Hr-1,Dn+=1,rr=0,rn[Dn]="",this.isBreakingSpace(wi))continue;this.canBreakInLastChar(wi)||(rn=this.trimToBreakable(rn),rr=this.sumTextWidthByCache(rn[Dn]||"",vr)),this.shouldBreakByKinsokuShorui(wi,Oa)&&(rn=this.trimByKinsokuShorui(rn),rr+=vr(ra||""))}rr+=Na,rn[Dn]+=wi}return rn.join(` +`)}},{key:"isBreakingSpace",value:function(s){return typeof s!="string"?!1:yA.BreakingSpaces.indexOf(s.charCodeAt(0))>=0}},{key:"isNewline",value:function(s){return typeof s!="string"?!1:yA.Newlines.indexOf(s.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(s){var o=(0,U.Z)(s),f=o[o.length-2],b=this.findBreakableIndex(f);if(b===-1||!f)return o;var C=f.slice(b,b+1),G=this.isBreakingSpace(C),J=b+1,lt=b+(G?0:1);return o[o.length-1]+=f.slice(J,f.length),o[o.length-2]=f.slice(0,lt),o}},{key:"canBreakInLastChar",value:function(s){return!(s&&ll.test(s))}},{key:"sumTextWidthByCache",value:function(s,o){return s.split("").reduce(function(f,b){return f+o(b)},0)}},{key:"findBreakableIndex",value:function(s){for(var o=s.length-1;o>=0;o--)if(!ll.test(s[o]))return o;return-1}},{key:"getFromCache",value:function(s,o,f,b){var C=f.get(s);if(typeof C!="number"){var G=s.length*o,J=b.measureText(s);C=J.width+G,f.put(s,C)}return C}},{key:"clearCache",value:function(){this.fontMetricsCache={},this.charWidthCache.clear()}}])}(),Er={},Uu=function(u){var d=new nc,s=new Qc;return u={},(0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)(u,Ee.FRAGMENT,null),Ee.CIRCLE,new Sl),Ee.ELLIPSE,new Dc),Ee.RECT,d),Ee.IMAGE,d),Ee.GROUP,new kc),Ee.LINE,new Rc),Ee.TEXT,new Cu(Er)),Ee.POLYLINE,s),Ee.POLYGON,s),(0,mr.Z)((0,mr.Z)((0,mr.Z)(u,Ee.PATH,new ec),Ee.HTML,new Ml),Ee.MESH,null)}(),Ll=function(u){var d=new go,s=new _s;return u={},(0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)(u,Jn.PERCENTAGE,null),Jn.NUMBER,new Vl),Jn.ANGLE,new Bs),Jn.DEFINED_PATH,new ks),Jn.PAINT,d),Jn.COLOR,d),Jn.FILTER,new vo),Jn.LENGTH,s),Jn.LENGTH_PERCENTAGE,s),Jn.LENGTH_PERCENTAGE_12,new Hs),(0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)((0,mr.Z)(u,Jn.LENGTH_PERCENTAGE_14,new rl),Jn.COORDINATE,new _s),Jn.OFFSET_DISTANCE,new dA),Jn.OPACITY_VALUE,new po),Jn.PATH,new NA),Jn.LIST_OF_POINTS,new Tc),Jn.SHADOW_BLUR,new eA),Jn.TEXT,new pl),Jn.TEXT_TRANSFORM,new Za),Jn.TRANSFORM,new ql),(0,mr.Z)((0,mr.Z)((0,mr.Z)(u,Jn.TRANSFORM_ORIGIN,new Pc),Jn.Z_INDEX,new tc),Jn.MARKER,new LA)}(),GA=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof g.g!="undefined"?g.g:{}};Er.CameraContribution=qn,Er.AnimationTimeline=null,Er.EasingFunction=null,Er.offscreenCanvasCreator=new ic,Er.sceneGraphSelector=new Di,Er.sceneGraphService=new Zc(Er),Er.textService=new hc(Er),Er.geometryUpdaterFactory=Uu,Er.CSSPropertySyntaxFactory=Ll,Er.styleValueRegistry=new Ya(Er),Er.layoutRegistry=null,Er.globalThis=GA(),Er.enableStyleSyntax=!0,Er.enableSizeAttenuation=!1;var zA=0;function fc(){zA=0}var Nl=new Gs(Ni.INSERTED,null,"","","",0,"",""),dc=new Gs(Ni.REMOVED,null,"","","",0,"",""),jc=new Ts(Ni.DESTROY),Pu=function(u){function d(){var s;(0,R.Z)(this,d);for(var o=arguments.length,f=new Array(o),b=0;b0&&arguments[0]!==void 0?arguments[0]:!0,f=arguments.length>1?arguments[1]:void 0;this.renderable.dirty=o,f!==void 0&&(this.renderable.boundsDirty=f,this.renderable.renderBoundsDirty=f,this.geometry.dirty=f)}},{key:"className",get:function(){return this.getAttribute("class")||""},set:function(o){this.setAttribute("class",o)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(o){return o!==""})}},{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 o=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[o+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var o=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[o-1]||null}return null}},{key:"cloneNode",value:function(o){throw new Error(vt)}},{key:"appendChild",value:function(o,f){var b;if(o.destroyed)throw new Error(ct);return Er.sceneGraphService.attach(o,this,f),(b=this.ownerDocument)!==null&&b!==void 0&&b.defaultView&&(!PA(this)&&o.nodeName===Ee.FRAGMENT?this.ownerDocument.defaultView.mountFragment(o):this.ownerDocument.defaultView.mountChildren(o)),this.isMutationObserved&&(Nl.relatedNode=this,o.dispatchEvent(Nl)),o}},{key:"insertBefore",value:function(o,f){if(!f)this.appendChild(o);else{o.parentElement&&o.parentElement.removeChild(o);var b=this.childNodes.indexOf(f);b===-1?this.appendChild(o):this.appendChild(o,b)}return o}},{key:"replaceChild",value:function(o,f){var b=this.childNodes.indexOf(f);return this.removeChild(f),this.appendChild(o,b),f}},{key:"removeChild",value:function(o){var f,b,C=((f=this.ownerDocument)===null||f===void 0||(f=f.defaultView)===null||f===void 0||(f=f.getConfig().future)===null||f===void 0?void 0:f.experimentalCancelEventPropagation)===!0;return dc.relatedNode=this,o.dispatchEvent(dc,C,C),(b=o.ownerDocument)!==null&&b!==void 0&&b.defaultView&&o.ownerDocument.defaultView.unmountChildren(o),Er.sceneGraphService.detach(o),o}},{key:"removeChildren",value:function(){for(var o=this.childNodes.length-1;o>=0;o--){var f=this.childNodes[o];this.removeChild(f)}}},{key:"destroyChildren",value:function(){for(var o=this.childNodes.length-1;o>=0;o--){var f=this.childNodes[o];f.childNodes.length>0&&f.destroyChildren(),f.destroy()}}},{key:"matches",value:function(o){return Er.sceneGraphService.matches(o,this)}},{key:"getElementById",value:function(o){return Er.sceneGraphService.querySelector("#".concat(o),this)}},{key:"getElementsByName",value:function(o){return Er.sceneGraphService.querySelectorAll('[name="'.concat(o,'"]'),this)}},{key:"getElementsByClassName",value:function(o){return Er.sceneGraphService.querySelectorAll(".".concat(o),this)}},{key:"getElementsByTagName",value:function(o){return Er.sceneGraphService.querySelectorAll(o,this)}},{key:"querySelector",value:function(o){return Er.sceneGraphService.querySelector(o,this)}},{key:"querySelectorAll",value:function(o){return Er.sceneGraphService.querySelectorAll(o,this)}},{key:"closest",value:function(o){var f=this;do{if(Er.sceneGraphService.matches(o,f))return f;f=f.parentElement}while(f!==null);return null}},{key:"find",value:function(o){var f=this,b=null;return this.forEach(function(C){return C!==f&&o(C)?(b=C,!1):!0}),b}},{key:"findAll",value:function(o){var f=this,b=[];return this.forEach(function(C){C!==f&&o(C)&&b.push(C)}),b}},{key:"after",value:function(){var o=this;if(this.parentNode){for(var f=this.parentNode.childNodes.indexOf(this),b=arguments.length,C=new Array(b),G=0;G0&&arguments[0]!==void 0?arguments[0]:!1;return Er.sceneGraphService.getGeometryBounds(this,o)}},{key:"getTransformedGeometryBounds",value:function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return Er.sceneGraphService.getTransformedGeometryBounds(this,o)}},{key:"getBounds",value:function(){return Er.sceneGraphService.getBounds(this)}},{key:"getRenderBounds",value:function(){return Er.sceneGraphService.getBounds(this,!0)}},{key:"getLocalBounds",value:function(){return Er.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Er.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(o){if(typeof o!="symbol"){var f=this.attributes[o];return f}}},{key:"hasAttribute",value:function(o){return this.getAttributeNames().includes(o)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(o){this.setAttribute(o,null),delete this.attributes[o]}},{key:"setAttribute",value:function(o,f){this.attributes[o]=f}},{key:"getAttributeNS",value:function(o,f){throw new Error(vt)}},{key:"getAttributeNode",value:function(o){throw new Error(vt)}},{key:"getAttributeNodeNS",value:function(o,f){throw new Error(vt)}},{key:"hasAttributeNS",value:function(o,f){throw new Error(vt)}},{key:"removeAttributeNS",value:function(o,f){throw new Error(vt)}},{key:"removeAttributeNode",value:function(o){throw new Error(vt)}},{key:"setAttributeNS",value:function(o,f,b){throw new Error(vt)}},{key:"setAttributeNode",value:function(o){throw new Error(vt)}},{key:"setAttributeNodeNS",value:function(o){throw new Error(vt)}},{key:"toggleAttribute",value:function(o,f){throw new Error(vt)}}])}(za);function Ta(u){return!!(u!=null&&u.nodeName)}var Ul=Er.globalThis.Proxy?Er.globalThis.Proxy:function(){},Fo=new Gs(Ni.ATTR_MODIFIED,null,null,null,null,Gs.MODIFICATION,null,null),WA=T.Ue(),gc=V.Ue(),La=function(u){function d(s){var o;return(0,R.Z)(this,d),o=(0,w.Z)(this,d),o.isCustomElement=!1,o.isMutationObserved=!1,o.activeAnimations=[],o.config=s,o.id=s.id||"",o.name=s.name||"",(s.className||s.class)&&(o.className=s.className||s.class),o.nodeName=s.type||Ee.GROUP,s.initialParsedStyle&&Object.assign(o.parsedStyle,s.initialParsedStyle),o.initAttributes(s.style),Er.enableStyleSyntax&&(o.style=new Ul({setProperty:function(b,C){o.setAttribute(b,C)},getPropertyValue:function(b){return o.getAttribute(b)},removeProperty:function(b){o.removeAttribute(b)},item:function(){return""}},{get:function(b,C){return b[C]!==void 0?b[C]:o.getAttribute(C)},set:function(b,C,G){return o.setAttribute(C,G),!0}})),o}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"destroy",value:function(){(0,Ze.Z)(d,"destroy",this,3)([]),this.getAnimations().forEach(function(o){o.cancel()})}},{key:"cloneNode",value:function(o,f){var b=(0,c.Z)({},this.attributes);for(var C in b){var G=b[C];Ta(G)&&C!=="clipPath"&&C!=="offsetPath"&&C!=="textPath"&&(b[C]=G.cloneNode(o)),f&&(b[C]=f(C,G))}var J=new this.constructor((0,c.Z)((0,c.Z)({},this.config),{},{style:b}));return J.setLocalTransform(this.getLocalTransform()),o&&this.children.forEach(function(lt){if(!lt.style.isMarker){var Tt=lt.cloneNode(o);J.appendChild(Tt)}}),J}},{key:"initAttributes",value:function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f={forceUpdateGeometry:!0};Er.styleValueRegistry.processProperties(this,o,f),this.dirty()}},{key:"setAttribute",value:function(o,f){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;(0,Vn.Z)(f)||(b||f!==this.attributes[o])&&(this.internalSetAttribute(o,f,{memoize:C}),(0,Ze.Z)(d,"setAttribute",this,3)([o,f]))}},{key:"setAttributes",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=f.skipDispatchAttrModifiedEvent,C=b===void 0?!1:b,G,J;if(C||(G=(0,c.Z)({},this.attributes),J=(0,c.Z)({},this.parsedStyle)),Er.styleValueRegistry.processProperties(this,o,f),this.dirty(),!C)for(var lt in o)this.dispatchAttrModifiedEvent(lt,G[lt],o[lt],J[lt])}},{key:"internalSetAttribute",value:function(o,f){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},C=this.attributes[o],G=this.parsedStyle[o];Er.styleValueRegistry.processProperties(this,(0,mr.Z)({},o,f),b),this.dirty(),this.dispatchAttrModifiedEvent(o,C,f,G)}},{key:"dispatchAttrModifiedEvent",value:function(o,f,b,C){var G=this.parsedStyle[o];if(this.isConnected)if(Fo.relatedNode=this,Fo.prevValue=f,Fo.newValue=b,Fo.attrName=o,Fo.prevParsedValue=C,Fo.newParsedValue=G,this.isMutationObserved)this.dispatchEvent(Fo);else{var J,lt=((J=this.ownerDocument.defaultView.getConfig().future)===null||J===void 0?void 0:J.experimentalCancelEventPropagation)===!0;Fo.target=this,this.ownerDocument.defaultView.dispatchEvent(Fo,!0,lt)}if(this.isCustomElement&&this.isConnected||!this.isCustomElement){var Tt,Kt;(Tt=(Kt=this).attributeChangedCallback)===null||Tt===void 0||Tt.call(Kt,o,f,b,C,G)}}},{key:"getBBox",value:function(){var o=this.getBounds(),f=o.getMin(),b=(0,E.Z)(f,2),C=b[0],G=b[1],J=o.getMax(),lt=(0,E.Z)(J,2),Tt=lt[0],Kt=lt[1];return new en(C,G,Tt-C,Kt-G)}},{key:"setOrigin",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Er.sceneGraphService.setOrigin(this,Fe(o,f,b,!1)),this}},{key:"getOrigin",value:function(){return Er.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Er.sceneGraphService.setPosition(this,Fe(o,f,b,!1)),this}},{key:"setLocalPosition",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Er.sceneGraphService.setLocalPosition(this,Fe(o,f,b,!1)),this}},{key:"translate",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Er.sceneGraphService.translate(this,Fe(o,f,b,!1)),this}},{key:"translateLocal",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Er.sceneGraphService.translateLocal(this,Fe(o,f,b,!1)),this}},{key:"getPosition",value:function(){return Er.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Er.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(o,f,b){return this.scaleLocal(o,f,b)}},{key:"scaleLocal",value:function(o,f,b){return typeof o=="number"&&(f=f||o,b=b||o,o=Fe(o,f,b,!1)),Er.sceneGraphService.scaleLocal(this,o),this}},{key:"setLocalScale",value:function(o,f,b){return typeof o=="number"&&(f=f||o,b=b||o,o=Fe(o,f,b,!1)),Er.sceneGraphService.setLocalScale(this,o),this}},{key:"getLocalScale",value:function(){return Er.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Er.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var o=ar(WA,Er.sceneGraphService.getWorldTransform(this)),f=(0,E.Z)(o,3),b=f[2];return Sn(b)}},{key:"getLocalEulerAngles",value:function(){var o=ar(WA,Er.sceneGraphService.getLocalRotation(this)),f=(0,E.Z)(o,3),b=f[2];return Sn(b)}},{key:"setEulerAngles",value:function(o){return Er.sceneGraphService.setEulerAngles(this,0,0,o),this}},{key:"setLocalEulerAngles",value:function(o){return Er.sceneGraphService.setLocalEulerAngles(this,0,0,o),this}},{key:"rotateLocal",value:function(o,f,b){return(0,Mt.Z)(f)&&(0,Mt.Z)(b)?Er.sceneGraphService.rotateLocal(this,0,0,o):Er.sceneGraphService.rotateLocal(this,o,f,b),this}},{key:"rotate",value:function(o,f,b){return(0,Mt.Z)(f)&&(0,Mt.Z)(b)?Er.sceneGraphService.rotate(this,0,0,o):Er.sceneGraphService.rotate(this,o,f,b),this}},{key:"setRotation",value:function(o,f,b,C){return Er.sceneGraphService.setRotation(this,o,f,b,C),this}},{key:"setLocalRotation",value:function(o,f,b,C){return Er.sceneGraphService.setLocalRotation(this,o,f,b,C),this}},{key:"setLocalSkew",value:function(o,f){return Er.sceneGraphService.setLocalSkew(this,o,f),this}},{key:"getRotation",value:function(){return Er.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Er.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Er.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Er.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Er.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(o){return Er.sceneGraphService.setLocalTransform(this,o),this}},{key:"resetLocalTransform",value:function(){Er.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(o,f){var b,C=(b=this.ownerDocument)===null||b===void 0?void 0:b.timeline;return C?C.play(this,o,f):null}},{key:"isVisible",value:function(){var o;return((o=this.parsedStyle)===null||o===void 0?void 0:o.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(o){this.style.pointerEvents=o?"auto":"none"}},{key:"isInteractive",value:function(){var o;return((o=this.parsedStyle)===null||o===void 0?void 0:o.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,U.Z)(this.parentNode.children.map(function(o){return Number(o.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,U.Z)(this.parentNode.children.map(function(o){return Number(o.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var o=this,f=arguments.length,b=new Array(f),C=0;C1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(o,f,b),this}},{key:"move",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(o,f,b),this}},{key:"setZIndex",value:function(o){return this.style.zIndex=o,this}}])}(Pu);La.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 Pl=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.CIRCLE},s)])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);Pl.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var Du=["style"],hl=function(u){function d(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=o.style,b=(0,De.Z)(o,Du);return(0,R.Z)(this,d),s=(0,w.Z)(this,d,[(0,c.Z)({style:f},b)]),s.isCustomElement=!0,s}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);hl.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var wA=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.ELLIPSE},s)])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);wA.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var vc=function(u){function d(){return(0,R.Z)(this,d),(0,w.Z)(this,d,[{type:Ee.FRAGMENT}])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);vc.PARSED_STYLE_LIST=new Set(["class","className"]);var VA=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.GROUP},s)])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);VA.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var Ru=["style"],Dl=function(u){function d(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=o.style,b=(0,De.Z)(o,Ru);return(0,R.Z)(this,d),s=(0,w.Z)(this,d,[(0,c.Z)({type:Ee.HTML,style:f},b)]),s.cullable.enable=!1,s}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var o=Z.invert(Z.create(),this.parentNode.getWorldTransform()),f=this.getBounds();if(!z.isEmpty(f)){var b=new z;return b.setFromTransformedAABB(f,o),b}}return this.getBounds()}}])}(La);Dl.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Rl=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.IMAGE},s)])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);Rl.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var Qu=["style"],pc=function(u){function d(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=o.style,b=(0,De.Z)(o,Qu);(0,R.Z)(this,d),s=(0,w.Z)(this,d,[(0,c.Z)({type:Ee.LINE,style:(0,c.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},f)},b)]),s.markerStartAngle=0,s.markerEndAngle=0;var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd;return G&&Ta(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),J&&Ta(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"attributeChangedCallback",value:function(o,f,b,C,G){o==="x1"||o==="y1"||o==="x2"||o==="y2"||o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Ta(C)&&(this.markerStartAngle=0,C.remove()),G&&Ta(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"&&(C&&Ta(C)&&(this.markerEndAngle=0,C.remove()),G&&Ta(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1)))}},{key:"transformMarker",value:function(o){var f=this.parsedStyle,b=f.markerStart,C=f.markerEnd,G=f.markerStartOffset,J=f.markerEndOffset,lt=f.x1,Tt=f.x2,Kt=f.y1,le=f.y2,Qe=o?b:C;if(!(!Qe||!Ta(Qe))){var Ue=0,qe,hn,dn,rn,Dn,rr;o?(dn=lt,rn=Kt,qe=Tt-lt,hn=le-Kt,Dn=G||0,rr=this.markerStartAngle):(dn=Tt,rn=le,qe=lt-Tt,hn=Kt-le,Dn=J||0,rr=this.markerEndAngle),Ue=Math.atan2(hn,qe),Qe.setLocalEulerAngles(Ue*180/Math.PI+rr),Qe.setLocalPosition(dn+Math.cos(Ue)*Dn,rn+Math.sin(Ue)*Dn)}}},{key:"getPoint",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle,C=b.x1,G=b.y1,J=b.x2,lt=b.y2,Tt=(0,ye.U4)(C,G,J,lt,o),Kt=Tt.x,le=Tt.y,Qe=T.fF(T.Ue(),T.al(Kt,le,0),f?this.getWorldTransform():this.getLocalTransform());return new qt(Qe[0],Qe[1])}},{key:"getPointAtLength",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(o/this.getTotalLength(),f)}},{key:"getTotalLength",value:function(){var o=this.parsedStyle,f=o.x1,b=o.y1,C=o.x2,G=o.y2;return(0,ye.Xk)(f,b,C,G)}}])}(La);pc.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var EA=["style"],Ql=function(u){function d(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=o.style,b=(0,De.Z)(o,EA);(0,R.Z)(this,d),s=(0,w.Z)(this,d,[(0,c.Z)({type:Ee.PATH,style:f,initialParsedStyle:{miterLimit:4,d:(0,c.Z)({},ui)}},b)]),s.markerStartAngle=0,s.markerEndAngle=0,s.markerMidList=[];var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd,lt=C.markerMid;return G&&Ta(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),lt&&Ta(lt)&&s.placeMarkerMid(lt),J&&Ta(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"attributeChangedCallback",value:function(o,f,b,C,G){o==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Ta(C)&&(this.markerStartAngle=0,C.remove()),G&&Ta(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"?(C&&Ta(C)&&(this.markerEndAngle=0,C.remove()),G&&Ta(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1))):o==="markerMid"&&this.placeMarkerMid(G)}},{key:"transformMarker",value:function(o){var f=this.parsedStyle,b=f.markerStart,C=f.markerEnd,G=f.markerStartOffset,J=f.markerEndOffset,lt=o?b:C;if(!(!lt||!Ta(lt))){var Tt=0,Kt,le,Qe,Ue,qe,hn;if(o){var dn=this.getStartTangent(),rn=(0,E.Z)(dn,2),Dn=rn[0],rr=rn[1];Qe=rr[0],Ue=rr[1],Kt=Dn[0]-rr[0],le=Dn[1]-rr[1],qe=G||0,hn=this.markerStartAngle}else{var Tr=this.getEndTangent(),Sr=(0,E.Z)(Tr,2),hr=Sr[0],vr=Sr[1];Qe=vr[0],Ue=vr[1],Kt=hr[0]-vr[0],le=hr[1]-vr[1],qe=J||0,hn=this.markerEndAngle}Tt=Math.atan2(le,Kt),lt.setLocalEulerAngles(Tt*180/Math.PI+hn),lt.setLocalPosition(Qe+Math.cos(Tt)*qe,Ue+Math.sin(Tt)*qe)}}},{key:"placeMarkerMid",value:function(o){var f=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(Tt){Tt.remove()}),o&&Ta(o))for(var b=1;b1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle.d.absolutePath,C=ri(b,o),G=C.x,J=C.y,lt=T.fF(T.Ue(),T.al(G,J,0),f?this.getWorldTransform():this.getLocalTransform());return new qt(lt[0],lt[1])}},{key:"getPoint",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(o*lr(this),f)}},{key:"getStartTangent",value:function(){var o=this.parsedStyle.d.segments,f=[];if(o.length>1){var b=o[0].currentPoint,C=o[1].currentPoint,G=o[1].startTangent;f=[],G?(f.push([b[0]-G[0],b[1]-G[1]]),f.push([b[0],b[1]])):(f.push([C[0],C[1]]),f.push([b[0],b[1]]))}return f}},{key:"getEndTangent",value:function(){var o=this.parsedStyle.d.segments,f=o.length,b=[];if(f>1){var C=o[f-2].currentPoint,G=o[f-1].currentPoint,J=o[f-1].endTangent;b=[],J?(b.push([G[0]-J[0],G[1]-J[1]]),b.push([G[0],G[1]])):(b.push([C[0],C[1]]),b.push([G[0],G[1]]))}return b}}])}(La);Ql.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var ns=["style"],Io=function(u){function d(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=o.style,b=(0,De.Z)(o,ns);(0,R.Z)(this,d),s=(0,w.Z)(this,d,[(0,c.Z)({type:Ee.POLYGON,style:f,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},b)]),s.markerStartAngle=0,s.markerEndAngle=0,s.markerMidList=[];var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd,lt=C.markerMid;return G&&Ta(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),lt&&Ta(lt)&&s.placeMarkerMid(lt),J&&Ta(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"attributeChangedCallback",value:function(o,f,b,C,G){o==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Ta(C)&&(this.markerStartAngle=0,C.remove()),G&&Ta(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"?(C&&Ta(C)&&(this.markerEndAngle=0,C.remove()),G&&Ta(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1))):o==="markerMid"&&this.placeMarkerMid(G)}},{key:"transformMarker",value:function(o){var f=this.parsedStyle,b=f.markerStart,C=f.markerEnd,G=f.markerStartOffset,J=f.markerEndOffset,lt=f.points,Tt=lt||{},Kt=Tt.points,le=o?b:C;if(!(!le||!Ta(le)||!Kt)){var Qe=0,Ue,qe,hn,dn,rn,Dn;if(hn=Kt[0][0],dn=Kt[0][1],o)Ue=Kt[1][0]-Kt[0][0],qe=Kt[1][1]-Kt[0][1],rn=G||0,Dn=this.markerStartAngle;else{var rr=Kt.length;this.parsedStyle.isClosed?(Ue=Kt[rr-1][0]-Kt[0][0],qe=Kt[rr-1][1]-Kt[0][1]):(hn=Kt[rr-1][0],dn=Kt[rr-1][1],Ue=Kt[rr-2][0]-Kt[rr-1][0],qe=Kt[rr-2][1]-Kt[rr-1][1]),rn=J||0,Dn=this.markerEndAngle}Qe=Math.atan2(qe,Ue),le.setLocalEulerAngles(Qe*180/Math.PI+Dn),le.setLocalPosition(hn+Math.cos(Qe)*rn,dn+Math.sin(Qe)*rn)}}},{key:"placeMarkerMid",value:function(o){var f=this.parsedStyle.points,b=f||{},C=b.points;if(this.markerMidList.forEach(function(Kt){Kt.remove()}),this.markerMidList=[],o&&Ta(o)&&C)for(var G=1;G<(this.parsedStyle.isClosed?C.length:C.length-1);G++){var J=C[G][0],lt=C[G][1],Tt=G===1?o:o.cloneNode(!0);this.markerMidList.push(Tt),this.appendChild(Tt),Tt.setLocalPosition(J,lt)}}}])}(La);Io.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var jA=["style"],Zo=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=s.style,f=(0,De.Z)(s,jA);return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.POLYLINE,style:o,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},f)])}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"getTotalLength",value:function(){return gr(this)}},{key:"getPointAtLength",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(o/this.getTotalLength(),f)}},{key:"getPoint",value:function(o){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var C=[],G=0,J,lt,Tt=this.getTotalLength();b.forEach(function(dn,rn){b[rn+1]&&(J=[0,0],J[0]=G/Tt,lt=(0,ye.Xk)(dn[0],dn[1],b[rn+1][0],b[rn+1][1]),G+=lt,J[1]=G/Tt,C.push(J))}),this.parsedStyle.points.segments=C}var Kt=0,le=0;this.parsedStyle.points.segments.forEach(function(dn,rn){o>=dn[0]&&o<=dn[1]&&(Kt=(o-dn[0])/(dn[1]-dn[0]),le=rn)});var Qe=(0,ye.U4)(b[le][0],b[le][1],b[le+1][0],b[le+1][1],Kt),Ue=Qe.x,qe=Qe.y,hn=T.fF(T.Ue(),T.al(Ue,qe,0),f?this.getWorldTransform():this.getLocalTransform());return new qt(hn[0],hn[1])}},{key:"getStartTangent",value:function(){var o=this.parsedStyle.points.points,f=[];return f.push([o[1][0],o[1][1]]),f.push([o[0][0],o[0][1]]),f}},{key:"getEndTangent",value:function(){var o=this.parsedStyle.points.points,f=o.length-1,b=[];return b.push([o[f-1][0],o[f-1][1]]),b.push([o[f][0],o[f][1]]),b}}])}(Io);Zo.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(Io.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Lo=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.RECT},s)])}return(0,S.Z)(d,u),(0,P.Z)(d)}(La);Lo.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var YA=["style"],$s=function(u){function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=s.style,f=(0,De.Z)(s,YA);return(0,R.Z)(this,d),(0,w.Z)(this,d,[(0,c.Z)({type:Ee.TEXT,style:(0,c.Z)({fill:"black"},o)},f)])}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"getComputedTextLength",value:function(){var o;return this.getGeometryBounds(),((o=this.parsedStyle.metrics)===null||o===void 0?void 0:o.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var o;return this.getGeometryBounds(),((o=this.parsedStyle.metrics)===null||o===void 0?void 0:o.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(La);$s.PARSED_STYLE_LIST=new Set([].concat((0,U.Z)(La.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","textDecorationThickness","textPathSide","textPathStartOffset","metrics","dx","dy"]));var Yc=function(){function u(){(0,R.Z)(this,u),this.registry={},this.define(Ee.CIRCLE,Pl),this.define(Ee.ELLIPSE,wA),this.define(Ee.RECT,Lo),this.define(Ee.IMAGE,Rl),this.define(Ee.LINE,pc),this.define(Ee.GROUP,VA),this.define(Ee.PATH,Ql),this.define(Ee.POLYGON,Io),this.define(Ee.POLYLINE,Zo),this.define(Ee.TEXT,$s),this.define(Ee.HTML,Dl)}return(0,P.Z)(u,[{key:"define",value:function(s,o){this.registry[s]=o}},{key:"get",value:function(s){return this.registry[s]}}])}(),Xc={number:function(d){return new Vi(d)},percent:function(d){return new Vi(d,"%")},px:function(d){return new Vi(d,"px")},em:function(d){return new Vi(d,"em")},rem:function(d){return new Vi(d,"rem")},deg:function(d){return new Vi(d,"deg")},grad:function(d){return new Vi(d,"grad")},rad:function(d){return new Vi(d,"rad")},turn:function(d){return new Vi(d,"turn")},s:function(d){return new Vi(d,"s")},ms:function(d){return new Vi(d,"ms")},registerProperty:function(d){var s=d.name,o=d.inherits,f=d.interpolable,b=d.initialValue,C=d.syntax;Er.styleValueRegistry.registerMetadata({n:s,inh:o,int:f,d:b,syntax:C})},registerLayout:function(d,s){Er.layoutRegistry.registerLayout(d,s)}},mc=function(u){function d(){var s;(0,R.Z)(this,d),s=(0,w.Z)(this,d),s.defaultView=null,s.ownerDocument=null,s.nodeName="document";try{s.timeline=new Er.AnimationTimeline(s)}catch(f){}var o={};return _i.forEach(function(f){var b=f.n,C=f.inh,G=f.d;C&&G&&(o[b]=(0,yr.Z)(G)?G(Ee.GROUP):G)}),s.documentElement=new VA({id:"g-root",style:o}),s.documentElement.ownerDocument=s,s.documentElement.parentNode=s,s.childNodes=[s.documentElement],s}return(0,S.Z)(d,u),(0,P.Z)(d,[{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(o,f){if(o==="svg")return this.documentElement;var b=this.defaultView.customElements.get(o);b||(console.warn("Unsupported tagName: ",o),b=o==="tspan"?$s:VA);var C=new b(f);return C.ownerDocument=this,C}},{key:"createElementNS",value:function(o,f,b){return this.createElement(f,b)}},{key:"cloneNode",value:function(o){throw new Error(vt)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(o){}}},{key:"elementsFromBBox",value:function(o,f,b,C){var G=[],J=function(Tt){if(!(!Tt.isInteractive()||Tt.isCulled())){var Kt=Tt.parsedStyle.pointerEvents,le=Kt===void 0?"auto":Kt,Qe=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(le);if(!Qe||Tt.isVisible()){var Ue=Tt.getTransformedGeometryBounds(!0);Ue&&!z.isEmpty(Ue)&&Ue.max[0]>=o&&Ue.min[0]<=b&&Ue.max[1]>=f&&Ue.min[1]<=C&&G.push(Tt)}Tt.childNodes&&Tt.childNodes.forEach(function(qe){qe instanceof La&&J(qe)})}};return J(this.documentElement),G.sort(function(lt,Tt){return Tt.sortable.renderOrder-lt.sortable.renderOrder}),G}},{key:"elementFromPointSync",value:function(o,f){var b=this.defaultView.canvas2Viewport({x:o,y:f}),C=b.x,G=b.y,J=this.defaultView.getConfig(),lt=J.width,Tt=J.height;if(C<0||G<0||C>lt||G>Tt)return null;var Kt=this.defaultView.viewport2Client({x:C,y:G}),le=Kt.x,Qe=Kt.y,Ue=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:o,y:f,viewportX:C,viewportY:G,clientX:le,clientY:Qe},picked:[]}),qe=Ue.picked;return qe&&qe[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var s=(0,Zt.Z)((0,Dt.Z)().mark(function f(b,C){var G,J,lt,Tt,Kt,le,Qe,Ue,qe,hn,dn;return(0,Dt.Z)().wrap(function(rn){for(;;)switch(rn.prev=rn.next){case 0:if(G=this.defaultView.canvas2Viewport({x:b,y:C}),J=G.x,lt=G.y,Tt=this.defaultView.getConfig(),Kt=Tt.width,le=Tt.height,!(J<0||lt<0||J>Kt||lt>le)){rn.next=1;break}return rn.abrupt("return",null);case 1:return Qe=this.defaultView.viewport2Client({x:J,y:lt}),Ue=Qe.x,qe=Qe.y,rn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:b,y:C,viewportX:J,viewportY:lt,clientX:Ue,clientY:qe},picked:[]});case 2:return hn=rn.sent,dn=hn.picked,rn.abrupt("return",dn&&dn[0]||this.documentElement);case 3:case"end":return rn.stop()}},f,this)}));function o(f,b){return s.apply(this,arguments)}return o}()},{key:"elementsFromPointSync",value:function(o,f){var b=this.defaultView.canvas2Viewport({x:o,y:f}),C=b.x,G=b.y,J=this.defaultView.getConfig(),lt=J.width,Tt=J.height;if(C<0||G<0||C>lt||G>Tt)return[];var Kt=this.defaultView.viewport2Client({x:C,y:G}),le=Kt.x,Qe=Kt.y,Ue=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:o,y:f,viewportX:C,viewportY:G,clientX:le,clientY:Qe},picked:[]}),qe=Ue.picked;return qe[qe.length-1]!==this.documentElement&&qe.push(this.documentElement),qe}},{key:"elementsFromPoint",value:function(){var s=(0,Zt.Z)((0,Dt.Z)().mark(function f(b,C){var G,J,lt,Tt,Kt,le,Qe,Ue,qe,hn,dn;return(0,Dt.Z)().wrap(function(rn){for(;;)switch(rn.prev=rn.next){case 0:if(G=this.defaultView.canvas2Viewport({x:b,y:C}),J=G.x,lt=G.y,Tt=this.defaultView.getConfig(),Kt=Tt.width,le=Tt.height,!(J<0||lt<0||J>Kt||lt>le)){rn.next=1;break}return rn.abrupt("return",[]);case 1:return Qe=this.defaultView.viewport2Client({x:J,y:lt}),Ue=Qe.x,qe=Qe.y,rn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:b,y:C,viewportX:J,viewportY:lt,clientX:Ue,clientY:qe},picked:[]});case 2:return hn=rn.sent,dn=hn.picked,dn[dn.length-1]!==this.documentElement&&dn.push(this.documentElement),rn.abrupt("return",dn);case 3:case"end":return rn.stop()}},f,this)}));function o(f,b){return s.apply(this,arguments)}return o}()},{key:"appendChild",value:function(o,f){throw new Error(mt)}},{key:"insertBefore",value:function(o,f){throw new Error(mt)}},{key:"removeChild",value:function(o,f){throw new Error(mt)}},{key:"replaceChild",value:function(o,f,b){throw new Error(mt)}},{key:"append",value:function(){throw new Error(mt)}},{key:"prepend",value:function(){throw new Error(mt)}},{key:"getElementById",value:function(o){return this.documentElement.getElementById(o)}},{key:"getElementsByName",value:function(o){return this.documentElement.getElementsByName(o)}},{key:"getElementsByTagName",value:function(o){return this.documentElement.getElementsByTagName(o)}},{key:"getElementsByClassName",value:function(o){return this.documentElement.getElementsByClassName(o)}},{key:"querySelector",value:function(o){return this.documentElement.querySelector(o)}},{key:"querySelectorAll",value:function(o){return this.documentElement.querySelectorAll(o)}},{key:"find",value:function(o){return this.documentElement.find(o)}},{key:"findAll",value:function(o){return this.documentElement.findAll(o)}}])}(za),kl=function(){function u(d){(0,R.Z)(this,u),this.strategies=d}return(0,P.Z)(u,[{key:"apply",value:function(s){var o=s.config,f=s.camera,b=s.renderingService,C=s.renderingContext,G=this.strategies;b.hooks.cull.tap(u.tag,function(J){if(J){var lt,Tt=J.cullable;if(G.length===0?Tt.visible=C.unculledEntities.indexOf(J.entity)>-1:Tt.visible=G.every(function(le){return le.isVisible(f,J)}),!J.isCulled()&&J.isVisible())return J;var Kt=((lt=o.future)===null||lt===void 0?void 0:lt.experimentalCancelEventPropagation)===!0;return J.dispatchEvent(new Ts(Ni.CULLED),Kt,Kt),null}return J}),b.hooks.afterRender.tap(u.tag,function(J){J.cullable.visibilityPlaneMask=-1})}}])}();kl.tag="Culling";var BA=function(){function u(){var d=this;(0,R.Z)(this,u),this.autoPreventDefault=!1,this.rootPointerEvent=new Tl(null),this.rootWheelEvent=new Ol(null),this.onPointerMove=function(s){var o,f=(o=d.context.renderingContext.root)===null||o===void 0||(o=o.ownerDocument)===null||o===void 0?void 0:o.defaultView;if(!(f.supportsTouchEvents&&s.pointerType==="touch")){var b=d.normalizeToPointerEvent(s,f),C=(0,we.Z)(b),G;try{for(C.s();!(G=C.n()).done;){var J=G.value,lt=d.bootstrapEvent(d.rootPointerEvent,J,f,s);d.context.eventService.mapEvent(lt)}}catch(Tt){C.e(Tt)}finally{C.f()}d.setCursor(d.context.eventService.cursor)}},this.onClick=function(s){var o,f=(o=d.context.renderingContext.root)===null||o===void 0||(o=o.ownerDocument)===null||o===void 0?void 0:o.defaultView,b=d.normalizeToPointerEvent(s,f),C=(0,we.Z)(b),G;try{for(C.s();!(G=C.n()).done;){var J=G.value,lt=d.bootstrapEvent(d.rootPointerEvent,J,f,s);d.context.eventService.mapEvent(lt)}}catch(Tt){C.e(Tt)}finally{C.f()}d.setCursor(d.context.eventService.cursor)}}return(0,P.Z)(u,[{key:"apply",value:function(s){var o=this;this.context=s;var f=s.renderingService,b=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(C){var G=o.context.renderingService.hooks.pickSync.call({position:C,picked:[],topmost:!0}),J=G.picked;return J[0]||null}),f.hooks.pointerWheel.tap(u.tag,function(C){var G=o.normalizeWheelEvent(C);o.context.eventService.mapEvent(G)}),f.hooks.pointerDown.tap(u.tag,function(C){if(!(b.supportsTouchEvents&&C.pointerType==="touch")){var G=o.normalizeToPointerEvent(C,b);if(o.autoPreventDefault&&G[0].isNormalized){var J=C.cancelable||!("cancelable"in C);J&&C.preventDefault()}var lt=(0,we.Z)(G),Tt;try{for(lt.s();!(Tt=lt.n()).done;){var Kt=Tt.value,le=o.bootstrapEvent(o.rootPointerEvent,Kt,b,C);o.context.eventService.mapEvent(le)}}catch(Qe){lt.e(Qe)}finally{lt.f()}o.setCursor(o.context.eventService.cursor)}}),f.hooks.pointerUp.tap(u.tag,function(C){if(!(b.supportsTouchEvents&&C.pointerType==="touch")){var G=o.context.contextService.getDomElement(),J=o.context.eventService.isNativeEventFromCanvas(G,C),lt=J?"":"outside",Tt=o.normalizeToPointerEvent(C,b),Kt=(0,we.Z)(Tt),le;try{for(Kt.s();!(le=Kt.n()).done;){var Qe=le.value,Ue=o.bootstrapEvent(o.rootPointerEvent,Qe,b,C);Ue.type+=lt,o.context.eventService.mapEvent(Ue)}}catch(qe){Kt.e(qe)}finally{Kt.f()}o.setCursor(o.context.eventService.cursor)}}),f.hooks.pointerMove.tap(u.tag,this.onPointerMove),f.hooks.pointerOver.tap(u.tag,this.onPointerMove),f.hooks.pointerOut.tap(u.tag,this.onPointerMove),f.hooks.click.tap(u.tag,this.onClick),f.hooks.pointerCancel.tap(u.tag,function(C){var G=o.normalizeToPointerEvent(C,b),J=(0,we.Z)(G),lt;try{for(J.s();!(lt=J.n()).done;){var Tt=lt.value,Kt=o.bootstrapEvent(o.rootPointerEvent,Tt,b,C);o.context.eventService.mapEvent(Kt)}}catch(le){J.e(le)}finally{J.f()}o.setCursor(o.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(s,o,f,b){s.view=f,s.originalEvent=null,s.nativeEvent=b,s.pointerId=o.pointerId,s.width=o.width,s.height=o.height,s.isPrimary=o.isPrimary,s.pointerType=o.pointerType,s.pressure=o.pressure,s.tangentialPressure=o.tangentialPressure,s.tiltX=o.tiltX,s.tiltY=o.tiltY,s.twist=o.twist,this.transferMouseData(s,o);var C=this.context.eventService.client2Viewport({x:o.clientX,y:o.clientY}),G=C.x,J=C.y;s.viewport.x=G,s.viewport.y=J;var lt=this.context.eventService.viewport2Canvas(s.viewport),Tt=lt.x,Kt=lt.y;return s.canvas.x=Tt,s.canvas.y=Kt,s.global.copyFrom(s.canvas),s.offset.copyFrom(s.canvas),s.isTrusted=b.isTrusted,s.type==="pointerleave"&&(s.type="pointerout"),s.type.startsWith("mouse")&&(s.type=s.type.replace("mouse","pointer")),s.type.startsWith("touch")&&(s.type=Eu[s.type]||s.type),s}},{key:"normalizeWheelEvent",value:function(s){var o=this.rootWheelEvent;this.transferMouseData(o,s),o.deltaMode=s.deltaMode,o.deltaX=s.deltaX,o.deltaY=s.deltaY,o.deltaZ=s.deltaZ;var f=this.context.eventService.client2Viewport({x:s.clientX,y:s.clientY}),b=f.x,C=f.y;o.viewport.x=b,o.viewport.y=C;var G=this.context.eventService.viewport2Canvas(o.viewport),J=G.x,lt=G.y;return o.canvas.x=J,o.canvas.y=lt,o.global.copyFrom(o.canvas),o.offset.copyFrom(o.canvas),o.nativeEvent=s,o.type=s.type,o}},{key:"transferMouseData",value:function(s,o){s.isTrusted=o.isTrusted,s.srcElement=o.srcElement,s.timeStamp=Oc.now(),s.type=o.type,s.altKey=o.altKey,s.metaKey=o.metaKey,s.shiftKey=o.shiftKey,s.ctrlKey=o.ctrlKey,s.button=o.button,s.buttons=o.buttons,s.client.x=o.clientX,s.client.y=o.clientY,s.movement.x=o.movementX,s.movement.y=o.movementY,s.page.x=o.pageX,s.page.y=o.pageY,s.screen.x=o.screenX,s.screen.y=o.screenY,s.relatedTarget=null}},{key:"setCursor",value:function(s){this.context.contextService.applyCursorStyle(s||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(s,o){var f=[];if(o.isTouchEvent(s))for(var b=0;b-1,J=0,lt=b.length;J=1?Math.ceil(Gr):1,b&&(vr=G||ml(b)||b.width/Gr,Xr=J||il(b)||b.height/Gr),o.customElements=new Yc,o.devicePixelRatio=Gr,o.requestAnimationFrame=hn!=null?hn:El.bind(Er.globalThis),o.cancelAnimationFrame=dn!=null?dn:jl.bind(Er.globalThis),o.createImage=rn!=null?rn:function(){return new window.Image},o.supportsTouchEvents=Dn!=null?Dn:"ontouchstart"in Er.globalThis,o.supportsPointerEvents=rr!=null?rr:!!Er.globalThis.PointerEvent,o.isTouchEvent=Tr!=null?Tr:function(ni){return o.supportsTouchEvents&&ni instanceof Er.globalThis.TouchEvent},o.isMouseEvent=Sr!=null?Sr:function(ni){return!Er.globalThis.MouseEvent||ni instanceof Er.globalThis.MouseEvent&&(!o.supportsPointerEvents||!(ni instanceof Er.globalThis.PointerEvent))},Ue&&(Er.offscreenCanvas=Ue),o.document=new mc,o.document.defaultView=o,Kt||ya(f,o,Qe),o.initRenderingContext((0,c.Z)((0,c.Z)({},s),{},{width:vr,height:Xr,background:lt!=null?lt:"transparent",cursor:Tt!=null?Tt:"default",cleanUpOnDestroy:Qe,devicePixelRatio:Gr,requestAnimationFrame:o.requestAnimationFrame,cancelAnimationFrame:o.cancelAnimationFrame,createImage:o.createImage,supportsTouchEvents:o.supportsTouchEvents,supportsPointerEvents:o.supportsPointerEvents,isTouchEvent:o.isTouchEvent,isMouseEvent:o.isMouseEvent,dblClickSpeed:hr!=null?hr:200})),o.initDefaultCamera(vr,Xr,C.clipSpaceNearZ),o.initRenderer(C,!0),o}return(0,S.Z)(d,u),(0,P.Z)(d,[{key:"initRenderingContext",value:function(o){this.context.config=o,this.context.renderingContext={root:this.document.documentElement,unculledEntities:[],renderListCurrentFrame:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(o,f,b){var C=this,G=new Er.CameraContribution;G.clipSpaceNearZ=b,G.setType(te.EXPLORING,_e.DEFAULT).setPosition(o/2,f/2,wc).setFocalPoint(o/2,f/2,0).setOrthographic(o/-2,o/2,f/2,f/-2,ku,$c),G.canvas=this,G.eventEmitter.on(Pn.UPDATED,function(){C.context.renderingContext.renderReasons.add(iA.CAMERA_CHANGED),Er.enableSizeAttenuation&&C.getConfig().renderer.getConfig().enableSizeAttenuation&&C.updateSizeAttenuation()}),this.context.camera=G}},{key:"updateSizeAttenuation",value:function(){var o=this.getCamera().getZoom();this.document.documentElement.forEach(function(f){Er.styleValueRegistry.updateSizeAttenuation(f,o)})}},{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 o=this;return this.readyPromise||(this.readyPromise=new Promise(function(f){o.resolveReadyPromise=function(){f(o)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var o,f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,b=arguments.length>1?arguments[1]:void 0;aa.clearCache();var C=((o=this.getConfig().future)===null||o===void 0?void 0:o.experimentalCancelEventPropagation)===!0;b||this.dispatchEvent(new Ts(ho.BEFORE_DESTROY),C,C),this.frameId&&this.cancelAnimationFrame(this.frameId);var G=this.getRoot();f&&(this.unmountChildren(G),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),b||this.dispatchEvent(new Ts(ho.AFTER_DESTROY),C,C);var J=function(Tt){Tt.currentTarget=null,Tt.manager=null,Tt.target=null,Tt.relatedNode=null};J(xA),J(fl),J(qc),J(tu),J(Ec),J(Fo),J(Nl),J(dc),J(jc),Er.textService.clearCache()}},{key:"changeSize",value:function(o,f){this.resize(o,f)}},{key:"resize",value:function(o,f){var b,C=this.context.config;C.width=o,C.height=f,this.getContextService().resize(o,f);var G=this.context.camera,J=G.getProjectionMode();G.setPosition(o/2,f/2,wc).setFocalPoint(o/2,f/2,0),J===on.ORTHOGRAPHIC?G.setOrthographic(o/-2,o/2,f/2,f/-2,G.getNear(),G.getFar()):G.setAspect(o/f);var lt=((b=C.future)===null||b===void 0?void 0:b.experimentalCancelEventPropagation)===!0;this.dispatchEvent(new Ts(ho.RESIZE,{width:o,height:f}),lt,lt)}},{key:"appendChild",value:function(o,f){return this.document.documentElement.appendChild(o,f)}},{key:"insertBefore",value:function(o,f){return this.document.documentElement.insertBefore(o,f)}},{key:"removeChild",value:function(o){return this.document.documentElement.removeChild(o)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(o){var f,b=this;o&&(qc.detail=o,Ec.detail=o);var C=((f=this.getConfig().future)===null||f===void 0?void 0:f.experimentalCancelEventPropagation)===!0;this.dispatchEvent(qc,C,C);var G=this.getRenderingService();G.render(this,o,function(){b.dispatchEvent(tu,C,C)}),this.dispatchEvent(Ec,C,C)}},{key:"run",value:function(){var o=this,f=function(C,G){o.render(G),o.frameId=o.requestAnimationFrame(f)};f()}},{key:"initRenderer",value:function(o){var f=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!o)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new BA,new bA,new kl([new Jc])),this.loadRendererContainerModule(o),this.context.contextService=new this.context.ContextService((0,c.Z)((0,c.Z)({},Er),this.context)),this.context.renderingService=new Vu(Er,this.context),this.context.eventService=new Mu(Er,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(o,b,!0)):this.context.contextService.initAsync().then(function(){f.initRenderingService(o,b)}).catch(function(C){console.error(C)})}},{key:"initRenderingService",value:function(o){var f=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){var G;f.inited=!0;var J=((G=f.getConfig().future)===null||G===void 0?void 0:G.experimentalCancelEventPropagation)===!0;b?C?f.requestAnimationFrame(function(){f.dispatchEvent(new Ts(ho.READY),J,J)}):f.dispatchEvent(new Ts(ho.READY),J,J):f.dispatchEvent(new Ts(ho.RENDERER_CHANGED),J,J),f.readyPromise&&f.resolveReadyPromise(),b||f.getRoot().forEach(function(lt){var Tt,Kt;(Tt=(Kt=lt).dirty)===null||Tt===void 0||Tt.call(Kt,!0,!0)}),f.mountChildren(f.getRoot()),o.getConfig().enableAutoRendering&&f.run()})}},{key:"loadRendererContainerModule",value:function(o){var f=this,b=o.getPlugins();b.forEach(function(C){C.context=f.context,C.init(Er)})}},{key:"setRenderer",value:function(o){var f=this.getConfig();if(f.renderer!==o){var b=f.renderer;f.renderer=o,this.destroy(!1,!0),(0,U.Z)((b==null?void 0:b.getPlugins())||[]).reverse().forEach(function(C){C.destroy(Er)}),this.initRenderer(o)}}},{key:"setCursor",value:function(o){var f=this.getConfig();f.cursor=o,this.getContextService().applyCursorStyle(o)}},{key:"unmountChildren",value:function(o){var f=this;if(o.childNodes.forEach(function(G){f.unmountChildren(G)}),this.inited){if(o.isMutationObserved)o.dispatchEvent(fl);else{var b,C=((b=this.getConfig().future)===null||b===void 0?void 0:b.experimentalCancelEventPropagation)===!0;fl.target=o,this.dispatchEvent(fl,!0,C)}o!==this.document.documentElement&&(o.ownerDocument=null),o.isConnected=!1}o.isCustomElement&&o.disconnectedCallback&&o.disconnectedCallback()}},{key:"mountChildren",value:function(o){var f=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:PA(o);if(this.inited){if(!o.isConnected&&(o.ownerDocument=this.document,o.isConnected=!0,!b))if(o.isMutationObserved)o.dispatchEvent(xA);else{var C,G=((C=this.getConfig().future)===null||C===void 0?void 0:C.experimentalCancelEventPropagation)===!0;xA.target=o,this.dispatchEvent(xA,!0,G)}}else 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: ",o.nodeName);o.childNodes.forEach(function(J){f.mountChildren(J,b)}),o.isCustomElement&&o.connectedCallback&&o.connectedCallback()}},{key:"mountFragment",value:function(o){this.mountChildren(o,!1)}},{key:"client2Viewport",value:function(o){return this.getEventService().client2Viewport(o)}},{key:"viewport2Client",value:function(o){return this.getEventService().viewport2Client(o)}},{key:"viewport2Canvas",value:function(o){return this.getEventService().viewport2Canvas(o)}},{key:"canvas2Viewport",value:function(o){return this.getEventService().canvas2Viewport(o)}},{key:"getPointByClient",value:function(o,f){return this.client2Viewport({x:o,y:f})}},{key:"getClientByPoint",value:function(o,f){return this.viewport2Client({x:o,y:f})}}])}(rc),eu=0,_l=new WeakMap,Hl=null,Yu=null,CA=null,dl,Vo;function Xu(u,d){return dl=new Hl(u,d)}function Ju(u){return Vo||(Vo=Hl.copy(dl),Vo.oldValue=u,Vo)}function Hu(){dl=Vo=void 0}function nu(u){return u===Vo||u===dl}function ru(u,d){return u===d?u:Vo&&nu(u)?Vo:null}function iu(u){u.nodes.forEach(function(d){var s=_l.get(d);s&&s.forEach(function(o){o.observer===u&&o.removeTransientObservers()})})}function au(u,d){for(var s=u;s;s=s.parentNode){var o=_l.get(s);if(o)for(var f=0;f0&&arguments[0]!==void 0?arguments[0]:u.api;u.rafId&&(s.cancelAnimationFrame(u.rafId),u.rafId=null)}},{key:"executeTask",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u.api;bc.length<=0&&pa.length<=0||(pa.forEach(function(o){return o()}),pa=bc.splice(0,u.TASK_NUM_PER_FRAME),u.rafId=s.requestAnimationFrame(function(){u.executeTask(s)}))}},{key:"sliceImage",value:function(s,o,f,b){for(var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,G=arguments.length>5&&arguments[5]!==void 0?arguments[5]:u.api,J=s.naturalWidth||s.width,lt=s.naturalHeight||s.height,Tt=o-C,Kt=f-C,le=Math.ceil(J/Tt),Qe=Math.ceil(lt/Kt),Ue={tileSize:[o,f],gridSize:[Qe,le],tiles:Array(Qe).fill(null).map(function(){return Array(le).fill(null)})},qe=function(rn){for(var Dn=function(Sr){bc.push(function(){var hr=Sr*Tt,vr=rn*Kt,Xr=[Math.min(o,J-hr),Math.min(f,lt-vr)],Gr=Xr[0],ni=Xr[1],Hr=G.createCanvas();Hr.width=o,Hr.height=f;var wi=Hr.getContext("2d");wi.drawImage(s,hr,vr,Gr,ni,0,0,Gr,ni),Ue.tiles[rn][Sr]={x:hr,y:vr,tileX:Sr,tileY:rn,data:Hr},b()})},rr=0;rr1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([s[0],s[1],s[4],s[5],s[12]+o[0],s[13]+o[1]].join(","),")")}},{key:"apply",value:function(s,o){var f=this,b=s.camera,C=s.renderingContext,G=s.renderingService;this.context=s;var J=C.root.ownerDocument.defaultView,lt=J.context.eventService.nativeHTMLMap,Tt=function(dn,rn){rn.style.transform=f.joinTransformMatrix(dn.getWorldTransform(),dn.getOrigin())},Kt=function(dn){var rn=dn.target;if(rn.nodeName===Ee.HTML){f.$camera||(f.$camera=f.createCamera(b));var Dn=f.getOrCreateEl(rn);f.$camera.appendChild(Dn),Object.keys(rn.attributes).forEach(function(rr){f.updateAttribute(rr,rn)}),Tt(rn,Dn),lt.set(Dn,rn)}},le=function(dn){var rn=dn.target;if(rn.nodeName===Ee.HTML&&f.$camera){var Dn=f.getOrCreateEl(rn);Dn&&(Dn.remove(),lt.delete(Dn))}},Qe=function(dn){var rn=dn.target;if(rn.nodeName===Ee.HTML){var Dn=dn.attrName;f.updateAttribute(Dn,rn)}},Ue=function(dn){for(var rn=dn.detail,Dn=0;Dn0?Wt:Wt*-1}function L(It,Qt,Wt,ge,me,oe){var Ge=Wt,fn=ge;if(Ge===0||fn===0)return{x:It,y:Qt};for(var An=me-It,Qn=oe-Qt,Yn=Math.abs(An),Vn=Math.abs(Qn),Nr=Ge*Ge,ur=fn*fn,yr=Math.PI/4,be=0,ri=0,mr=0;mr<4;mr++){be=Ge*Math.cos(yr),ri=fn*Math.sin(yr);var Ze=(Nr-ur)*Math.pow(Math.cos(yr),3)/Ge,Ce=(ur-Nr)*Math.pow(Math.sin(yr),3)/fn,ye=be-Ze,Dt=ri-Ce,Zt=Yn-Ze,we=Vn-Ce,De=Math.hypot(Dt,ye),Ee=Math.hypot(we,Zt),vn=De*Math.asin((ye*we-Dt*Zt)/(De*Ee)),un=vn/Math.sqrt(Nr+ur-be*be-ri*ri);yr+=un,yr=Math.min(Math.PI/2,Math.max(0,yr))}return{x:It+E(be,An),y:Qt+E(ri,Qn)}}function D(It,Qt,Wt,ge,me,oe,Ge,fn){return-1*Wt*Math.cos(me)*Math.sin(fn)-ge*Math.sin(me)*Math.cos(fn)}function T(It,Qt,Wt,ge,me,oe,Ge,fn){return-1*Wt*Math.sin(me)*Math.sin(fn)+ge*Math.cos(me)*Math.cos(fn)}function K(It,Qt,Wt){return Math.atan(-Qt/It*Math.tan(Wt))}function Z(It,Qt,Wt){return Math.atan(Qt/(It*Math.tan(Wt)))}function tt(It,Qt,Wt,ge,me,oe){return Wt*Math.cos(me)*Math.cos(oe)-ge*Math.sin(me)*Math.sin(oe)+It}function V(It,Qt,Wt,ge,me,oe){return Wt*Math.sin(me)*Math.cos(oe)+ge*Math.cos(me)*Math.sin(oe)+Qt}function pt(It,Qt,Wt,ge){var me=Math.atan2(ge*It,Wt*Qt);return(me+Math.PI*2)%(Math.PI*2)}function st(It,Qt,Wt){return{x:It*Math.cos(Wt),y:Qt*Math.sin(Wt)}}function X(It,Qt,Wt){var ge=Math.cos(Wt),me=Math.sin(Wt);return[It*ge-Qt*me,It*me+Qt*ge]}function Mt(It,Qt,Wt,ge,me,oe,Ge){for(var fn=K(Wt,ge,me),An=1/0,Qn=-1/0,Yn=[oe,Ge],Vn=-Math.PI*2;Vn<=Math.PI*2;Vn+=Math.PI){var Nr=fn+Vn;oeQn&&(Qn=yr)}for(var be=Z(Wt,ge,me),ri=1/0,mr=-1/0,Ze=[oe,Ge],Ce=-Math.PI*2;Ce<=Math.PI*2;Ce+=Math.PI){var ye=be+Ce;oemr&&(mr=Zt)}return{x:An,y:ri,width:Qn-An,height:mr-ri}}function ft(It,Qt,Wt,ge,me,oe,Ge,fn,An){var Qn=X(fn-It,An-Qt,-me),Yn=_slicedToArray(Qn,2),Vn=Yn[0],Nr=Yn[1],ur=L(0,0,Wt,ge,Vn,Nr),yr=pt(Wt,ge,ur.x,ur.y);yrGe&&(ur=st(Wt,ge,Ge));var be=X(ur.x,ur.y,me);return{x:be[0]+It,y:be[1]+Qt}}function Ut(It,Qt,Wt,ge,me,oe,Ge,fn){var An=(Ge-oe)*fn+oe,Qn=D(It,Qt,Wt,ge,me,oe,Ge,An),Yn=T(It,Qt,Wt,ge,me,oe,Ge,An);return S(Math.atan2(Yn,Qn))}var jt=1e-4;function Gt(It,Qt,Wt,ge,me,oe){var Ge=-1,fn=1/0,An=[Wt,ge],Qn=20;oe&&oe>200&&(Qn=oe/10);for(var Yn=1/Qn,Vn=Yn/10,Nr=0;Nr<=Qn;Nr++){var ur=Nr*Yn,yr=[me.apply(void 0,(0,c.Z)(It.concat([ur]))),me.apply(void 0,(0,c.Z)(Qt.concat([ur])))],be=U(An[0],An[1],yr[0],yr[1]);be=0&&Dtfn?U(Wt,ge,me,oe):Ln(It,Qt,Wt,ge,me,oe)}function Ln(It,Qt,Wt,ge,me,oe){var Ge=[Wt-It,ge-Qt];if(P.I6(Ge,[0,0]))return Math.sqrt((me-It)*(me-It)+(oe-Qt)*(oe-Qt));var fn=[-Ge[1],Ge[0]];P.Fv(fn,fn);var An=[me-It,oe-Qt];return Math.abs(P.AK(An,fn))}function wn(It,Qt,Wt,ge){return Math.atan2(ge-Qt,Wt-It)}function Rn(It,Qt,Wt,ge,me){var oe=1-me;return oe*oe*oe*It+3*Qt*me*oe*oe+3*Wt*me*me*oe+ge*me*me*me}function or(It,Qt,Wt,ge,me){var oe=1-me;return 3*(oe*oe*(Qt-It)+2*oe*me*(Wt-Qt)+me*me*(ge-Wt))}function pn(It,Qt,Wt,ge){var me=-3*It+9*Qt-9*Wt+3*ge,oe=6*It-12*Qt+6*Wt,Ge=3*Qt-3*It,fn=[],An,Qn,Yn;if((0,R.Z)(me,0))(0,R.Z)(oe,0)||(An=-Ge/oe,An>=0&&An<=1&&fn.push(An));else{var Vn=oe*oe-4*me*Ge;(0,R.Z)(Vn,0)?fn.push(-oe/(2*me)):Vn>0&&(Yn=Math.sqrt(Vn),An=(-oe+Yn)/(2*me),Qn=(-oe-Yn)/(2*me),An>=0&&An<=1&&fn.push(An),Qn>=0&&Qn<=1&&fn.push(Qn))}return fn}function zn(It,Qt,Wt,ge,me,oe,Ge,fn,An){var Qn=Rn(It,Wt,me,Ge,An),Yn=Rn(Qt,ge,oe,fn,An),Vn=Be(It,Qt,Wt,ge,An),Nr=Be(Wt,ge,me,oe,An),ur=Be(me,oe,Ge,fn,An),yr=Be(Vn.x,Vn.y,Nr.x,Nr.y,An),be=Be(Nr.x,Nr.y,ur.x,ur.y,An);return[[It,Qt,Vn.x,Vn.y,yr.x,yr.y,Qn,Yn],[Qn,Yn,be.x,be.y,ur.x,ur.y,Ge,fn]]}function Pt(It,Qt,Wt,ge,me,oe,Ge,fn,An){if(An===0)return Oe([It,Wt,me,Ge],[Qt,ge,oe,fn]);var Qn=zn(It,Qt,Wt,ge,me,oe,Ge,fn,.5),Yn=[].concat(_toConsumableArray(Qn[0]),[An-1]),Vn=[].concat(_toConsumableArray(Qn[1]),[An-1]);return Pt.apply(void 0,_toConsumableArray(Yn))+Pt.apply(void 0,_toConsumableArray(Vn))}function Se(It,Qt,Wt,ge,me,oe,Ge,fn){for(var An=[It,Ge],Qn=[Qt,fn],Yn=pn(It,Wt,me,Ge),Vn=pn(Qt,ge,oe,fn),Nr=0;Nr1||Qt<0||It.length<2)return null;var Wt=pe(It),ge=Wt.segments,me=Wt.totalLength;if(me===0)return{x:It[0][0],y:It[0][1]};for(var oe=0,Ge=null,fn=0;fn=oe&&Qt<=oe+Vn){var Nr=(Qt-oe)/Vn;Ge=Be(Qn[0],Qn[1],Yn[0],Yn[1],Nr);break}oe+=Vn}return Ge}function Bt(It,Qt){if(Qt>1||Qt<0||It.length<2)return 0;for(var Wt=pe(It),ge=Wt.segments,me=Wt.totalLength,oe=0,Ge=0,fn=0;fn=oe&&Qt<=oe+Vn){Ge=Math.atan2(Yn[1]-Qn[1],Yn[0]-Qn[0]);break}oe+=Vn}return Ge}function ve(It,Qt,Wt){for(var ge=1/0,me=0;me=0?[me]:[]}function Ke(It,Qt,Wt,ge,me,oe,Ge){var fn=se(It,Wt,me,Ge),An=se(Qt,ge,oe,Ge),Qn=Be(It,Qt,Wt,ge,Ge),Yn=Be(Wt,ge,me,oe,Ge);return[[It,Qt,Qn.x,Qn.y,fn,An],[fn,An,Yn.x,Yn.y,me,oe]]}function Cn(It,Qt,Wt,ge,me,oe,Ge){if(Ge===0)return(U(It,Qt,Wt,ge)+U(Wt,ge,me,oe)+U(It,Qt,me,oe))/2;var fn=Ke(It,Qt,Wt,ge,me,oe,.5),An=fn[0],Qn=fn[1];return An.push(Ge-1),Qn.push(Ge-1),Cn.apply(void 0,_toConsumableArray(An))+Cn.apply(void 0,_toConsumableArray(Qn))}function bt(It,Qt,Wt,ge,me,oe){var Ge=je(It,Wt,me)[0],fn=je(Qt,ge,oe)[0],An=[It,me],Qn=[Qt,oe];return Ge!==void 0&&An.push(se(It,Wt,me,Ge)),fn!==void 0&&Qn.push(se(Qt,ge,oe,fn)),w(An,Qn)}function nt(It,Qt,Wt,ge,me,oe){return Cn(It,Qt,Wt,ge,me,oe,3)}function Nt(It,Qt,Wt,ge,me,oe,Ge,fn){return Gt([It,Wt,me],[Qt,ge,oe],Ge,fn,se)}function Yt(It,Qt,Wt,ge,me,oe,Ge,fn){var An=Nt(It,Qt,Wt,ge,me,oe,Ge,fn);return U(An.x,An.y,Ge,fn)}},59293:function(gt,dt,g){"use strict";g.d(dt,{S:function(){return K}});var c=g(85899),R=g(38705),P=g(17212),U=g(96885),w=g(39153),S=g(48981),E=g(73001),L=g(11576),D=g(68901);var T=function(){function Z(tt){(0,R.Z)(this,Z),this.dragndropPluginOptions=tt}return(0,P.Z)(Z,[{key:"apply",value:function(V){var pt=this,st=V.renderingService,X=V.renderingContext,Mt=X.root.ownerDocument,ft=Mt.defaultView,Ut=function(Gt){var Oe=Gt.target,de=Oe===Mt,sn=de&&pt.dragndropPluginOptions.isDocumentDraggable?Mt:Oe.closest&&Oe.closest("[draggable=true]");if(sn){var Be=!1,En=Gt.timeStamp,Ln=[Gt.clientX,Gt.clientY],wn=null,Rn=[Gt.clientX,Gt.clientY],or=function(){var zn=(0,L.Z)((0,E.Z)().mark(function Pt(Se){var Un,On,ze,tn,ln,pe;return(0,E.Z)().wrap(function(Pe){for(;;)switch(Pe.prev=Pe.next){case 0:if(Be){Pe.next=2;break}if(Un=Se.timeStamp-En,On=(0,D.y)([Se.clientX,Se.clientY],Ln),!(Un<=pt.dragndropPluginOptions.dragstartTimeThreshold||On<=pt.dragndropPluginOptions.dragstartDistanceThreshold)){Pe.next=1;break}return Pe.abrupt("return");case 1:Se.type="dragstart",sn.dispatchEvent(Se),Be=!0;case 2:if(Se.type="drag",Se.dx=Se.clientX-Rn[0],Se.dy=Se.clientY-Rn[1],sn.dispatchEvent(Se),Rn=[Se.clientX,Se.clientY],de){Pe.next=4;break}return ze=pt.dragndropPluginOptions.overlap==="pointer"?[Se.canvasX,Se.canvasY]:Oe.getBounds().center,Pe.next=3,Mt.elementsFromPoint(ze[0],ze[1]);case 3:tn=Pe.sent,ln=tn[tn.indexOf(Oe)+1],pe=(ln==null?void 0:ln.closest("[droppable=true]"))||(pt.dragndropPluginOptions.isDocumentDroppable?Mt:null),wn!==pe&&(wn&&(Se.type="dragleave",Se.target=wn,wn.dispatchEvent(Se)),pe&&(Se.type="dragenter",Se.target=pe,pe.dispatchEvent(Se)),wn=pe,wn&&(Se.type="dragover",Se.target=wn,wn.dispatchEvent(Se)));case 4:case"end":return Pe.stop()}},Pt)}));return function(Se){return zn.apply(this,arguments)}}();ft.addEventListener("pointermove",or);var pn=function(Pt){if(Be){Pt.detail={preventClick:!0};var Se=Pt.clone();wn&&(Se.type="drop",Se.target=wn,wn.dispatchEvent(Se)),Se.type="dragend",sn.dispatchEvent(Se),Be=!1}ft.removeEventListener("pointermove",or)};Oe.addEventListener("pointerup",pn,{once:!0}),Oe.addEventListener("pointerupoutside",pn,{once:!0})}};st.hooks.init.tap(Z.tag,function(){ft.addEventListener("pointerdown",Ut)}),st.hooks.destroy.tap(Z.tag,function(){ft.removeEventListener("pointerdown",Ut)})}}])}();T.tag="Dragndrop";var K=function(Z){function tt(){var V,pt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,tt),V=(0,U.Z)(this,tt),V.name="dragndrop",V.options=pt,V}return(0,w.Z)(tt,Z),(0,P.Z)(tt,[{key:"init",value:function(){this.addRenderingPlugin(new T((0,c.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(pt){Object.assign(this.plugins[0].dragndropPluginOptions,pt)}}])}(S.F6)},95278:function(gt,dt,g){"use strict";g.d(dt,{kJ:function(){return Oh},RN:function(){return x0}});var c={};g.r(c),g.d(c,{circle:function(){return Wr},diamond:function(){return Bi},rect:function(){return fi},simple:function(){return bi},triangle:function(){return $r},triangleRect:function(){return Mi},vee:function(){return vi}});var R=g(66623),P=g(18178),U=g(76075),w=g(62099),S=g(93785);const E={duration:500},L={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},D={CHANGE:"change"};var T;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(T||(T={}));var K;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(K||(K={}));var Z;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(Z||(Z={}));var tt;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(tt||(tt={}));var V;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel",r.PINCH="pinch"})(V||(V={}));var pt;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(pt||(pt={}));var st;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(st||(st={}));var X;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(X||(X={}));var Mt;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(Mt||(Mt={}));var ft;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})(ft||(ft={}));const Ut="combo",jt="tree";var Gt;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(Gt||(Gt={}));const Oe={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function de(r,t){var e;const n=(e=Oe[r])===null||e===void 0?void 0:e[t];if(n)return n}function sn(r){return EXTENSION_REGISTRY[r]}const Be="5.0.51",En="G6";function Ln(r){return`[${En} v${Be}] ${r}`}const wn={mute:!1,debug:r=>{!wn.mute&&console.debug(Ln(r))},info:r=>{!wn.mute&&console.info(Ln(r))},warn:r=>{!wn.mute&&console.warn(Ln(r))},error:r=>{!wn.mute&&console.error(Ln(r))}};function Rn(r){const{theme:t}=r;if(!t)return{};const e=de(Gt.THEME,t);return e||(wn.warn(`The theme of ${t} is not registered.`),{})}function or(r,t){if(Array.isArray(r)&&r.length===0)return null;const e=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):t||[];return new Proxy(e,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...A)=>{i[a](...A),n.forEach(l=>{var h;return(h=l[a])===null||h===void 0?void 0:h.call(l,...A)})}:a==="finished"?Promise.all([e.finished,...n.map(A=>A.finished)]):Reflect.get(i,a)},set(i,a,A){return["onframe","onfinish"].includes(a)||n.forEach(l=>{l[a]=A}),Reflect.set(i,a,A)}})}function pn(r){const t=r.reduce((n,i)=>(Object.entries(i).forEach(([a,A])=>{n[a]===void 0?n[a]=[A]:n[a].push(A)}),n),{});Object.entries(t).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>(0,U.Z)(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&(0,w.Z)(a,i[0])))&&delete t[n]});const e=Object.entries(t).reduce((n,[i,a])=>(a.forEach((A,l)=>{n[l]?n[l][i]=A:n[l]={[i]:A}}),n),[]);return r.length!==0&&e.length===0&&e.push({_:0},{_:0}),e}function zn(r){switch(r){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 Pt(r,t){const{animation:e}=r;if(e===!1||t===!1)return!1;const n=Object.assign({},E);return(0,S.Z)(e)&&Object.assign(n,e),(0,S.Z)(t)&&Object.assign(n,t),n}function Se(r){if(typeof r=="string"){const t=de(Gt.ANIMATION,r);return t||(wn.warn(`The animation of ${r} is not registered.`),[])}return r}function Un(r,t,e,n){var i,a;const{animation:A}=r;if(A===!1||n===!1)return[];const l=(i=r==null?void 0:r[t])===null||i===void 0?void 0:i.animation;if(l===!1)return[];const h=l==null?void 0:l[e];if(h===!1)return[];const v=(a=Rn(r)[t])===null||a===void 0?void 0:a.animation,p=(j=[])=>Se(j).map(q=>Object.assign(Object.assign(Object.assign(Object.assign({},L),(0,S.Z)(A)&&A),q),(0,S.Z)(n)&&n));if(h)return p(h);if(!v)return[];const _=v[e];return _===!1?[]:p(_)}var On=g(1933);function ze(r,t,e,n=[]){if(!n&&r===0&&t===0&&e===0)return null;if(Array.isArray(n)){let a=-1;const A=[];for(let l=0;l{if(!e.length)return null;const[n,i]=t,a=v=>{var p;if(v){const _=r.getShape(v);if(!_)return null;const j=`get${(0,P.Z)(v)}Style`,q=((p=r==null?void 0:r[j])===null||p===void 0?void 0:p.bind(r))||(Ot=>Ot),At=(q==null?void 0:q(n))||{},wt=(q==null?void 0:q(i))||{};return{shape:_,fromStyle:At,toStyle:wt}}else return{shape:r,fromStyle:n,toStyle:i}};let A;const l=e.map(v=>{var{fields:p,shape:_,states:j}=v,q=tn(v,["fields","shape","states"]);const At=a(_);if(!At)return null;const{shape:wt,fromStyle:Ot,toStyle:Xt}=At,ne=[{},{}];if(p.forEach(He=>{var Fn,yn;Object.assign(ne[0],{[He]:(Fn=Ot[He])!==null&&Fn!==void 0?Fn:zn(He)}),Object.assign(ne[1],{[He]:(yn=Xt[He])!==null&&yn!==void 0?yn:zn(He)})}),ne.some(He=>Object.keys(He).some(Fn=>["x","y","z"].includes(Fn)))){const{x:He=0,y:Fn=0,z:yn,transform:Zn=""}=wt.attributes||{};ne.forEach(gn=>{var fr,Rr,Jr;gn.transform=ze((fr=gn.x)!==null&&fr!==void 0?fr:He,(Rr=gn.y)!==null&&Rr!==void 0?Rr:Fn,(Jr=gn.z)!==null&&Jr!==void 0?Jr:yn,Zn)})}const fe=wt.animate(pn(ne),q);return _===void 0&&(A=fe),fe}).filter(Boolean),h=A||(l==null?void 0:l[0]);return h?or(h,l.filter(v=>v!==v)):null},pe=[{fields:["opacity"]}],Pe=[{fields:["x","y"]}],Ft=[{fields:["x","y"]}],Bt=Ft,ve=[{fields:["sourceNode","targetNode"]}],nn=ve,Ve=[{fields:["childrenNode","x","y"]}],ce=Ve,We=[{fields:["childrenNode","x","y"]}];var Me=g(71018),kt=g(15610),ae=g(62199),Ie=g(37547);function F(r){return"source"in r&&"target"in r}function rt(r){return r.length===2}function ue(r){return r.length===3}function se(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(t=>typeof t=="number"):!1}function je(r,t,e){return r>=t&&r<=e}function Ke(r=0){if(Array.isArray(r)){const[t=0,e=t,n=t,i=e]=r;return[t,e,n,i]}return[r,r,r,r]}function Cn(r=0){const t=Ke(r);return t[0]+t[2]}function bt(r=0){const t=Ke(r);return t[1]+t[3]}function nt(r){return r.max[0]-r.min[0]}function Nt(r){return r.max[1]-r.min[1]}function Yt(r){return[nt(r),Nt(r)]}function It(r,t){const e=se(r)?Qt(r):r.getShape("key").getBounds();return t?Wt(e,t):e}function Qt(r){const[t,e,n=0]=r,i=new R.mN;return i.setMinMax([t,e,n],[t,e,n]),i}function Wt(r,t){const[e,n,i,a]=Ke(t),[A,l,h]=r.min,[v,p,_]=r.max,j=new R.mN;return j.setMinMax([A-a,l-e,h],[v+n,p+i,_]),j}function ge(r){if(r.length===0)return new R.mN;if(r.length===1)return r[0];const t=new R.mN;t.setMinMax(r[0].min,r[0].max);for(let e=1;e=A&&i<=h&&n>=l&&a<=v}function oe(r,t){return je(r[0],t.min[0],t.max[0])&&je(r[1],t.min[1],t.max[1])}function Ge(r,t,e=!1){const{min:[n,i],max:[a,A]}=t,l=(r[1]===i||r[1]===A)&&(e||je(r[0],n,a)),h=(r[0]===n||r[0]===a)&&(e||je(r[1],i,A));return l||h}function fn(r,t){return!oe(r,t)}function An(r,t){const{center:e}=t;return r[0]===e[0]&&r[1]===e[1]}function Qn(r,t){const[e,n]=r,[i,a]=t.min,[A,l]=t.max,h=e-i,v=A-e,p=n-a,_=l-n,j=Math.min(h,v,p,_);return j===h?"left":j===v?"right":j===p?"top":j===_?"bottom":"left"}function Yn(r,t){const e=(0,Ie.Z)(r);if(oe(r,t))switch(Qn(r,t)){case"left":e[0]=t.min[0];break;case"right":e[0]=t.max[0];break;case"top":e[1]=t.min[1];break;case"bottom":e[1]=t.max[1];break}else{const[n,i]=r,[a,A]=t.min,[l,h]=t.max;e[0]=je(n,a,l)?n:n{var n;switch(e.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const A=t(be(a),e.direction).length;i.set(be(a),A)}),i}case"betweenness":return ye(r,e.directed,e.weightPropertyName);case"closeness":return Dt(r,e.directed,e.weightPropertyName);case"eigenvector":return we(r,e.directed);case"pagerank":return Zt(r,e.epsilon,e.linkProb);default:return Ce(r)}},Ce=r=>{var t;const e=new Map;return(t=r.nodes)===null||t===void 0||t.forEach(n=>{e.set(be(n),0)}),e},ye=(r,t,e)=>{const n=Ce(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(A=>{if(a!==A){const{allPath:l}=(0,yr.ni)(r,be(a),be(A),t,e),h=l.length;l.flat().forEach(v=>{v!==be(a)&&v!==be(A)&&n.set(v,n.get(v)+1/h)})}})}),n},Dt=(r,t,e)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const A=i.reduce((l,h)=>{if(a!==h){const{length:v}=(0,yr.ni)(r,be(a),be(h),t,e);l+=v}return l},0);n.set(be(a),1/A)}),n},Zt=(r,t,e)=>{var n;const i=new Map,a=(0,yr.EF)(r,t,e);return(n=r.nodes)===null||n===void 0||n.forEach(A=>{i.set(be(A),a[be(A)])}),i},we=(r,t)=>{const{nodes:e=[]}=r,n=De(r,t),i=Ee(n,e.length),a=new Map;return e.forEach((A,l)=>{a.set(be(A),i[l])}),a},De=(r,t)=>{const{nodes:e=[],edges:n=[]}=r,i=Array(e.length).fill(null).map(()=>Array(e.length).fill(0));return n.forEach(({source:a,target:A})=>{const l=e.findIndex(v=>be(v)===a),h=e.findIndex(v=>be(v)===A);t?i[l][h]=1:(i[l][h]=1,i[h][l]=1)}),i},Ee=(r,t,e=100,n=1e-6)=>{let i=Array(t).fill(1),a=1/0;for(let A=0;An;A++){const l=Array(t).fill(0);for(let v=0;vv+p*p,0));for(let v=0;vv+(p-i[_])*p,0)),i=l}return i};function vn(r,t,e,n=w.Z){const i=new Map(r.map(j=>[e(j),j])),a=new Map(t.map(j=>[e(j),j])),A=new Set(i.keys()),l=new Set(a.keys()),h=[],v=[],p=[],_=[];return l.forEach(j=>{A.has(j)?n(i.get(j),a.get(j))?_.push(a.get(j)):v.push(a.get(j)):h.push(a.get(j))}),A.forEach(j=>{l.has(j)||p.push(i.get(j))}),{enter:h,exit:p,keep:_,update:v}}function un(r,t,e){const n=i=>{e&&!e(i)||(i.style.visibility=t)};r.forEach(i=>{n(i)})}function Xn(r,t,e){const n={},i=a=>(a in n||(n[a]=0),`${t}-${a}-${n[a]++}`);return e.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class ir{constructor(t){this.extensions=[],this.extensionMap={},this.context=t}setExtensions(t){const e=Xn(this.context.graph,this.category,t),{enter:n,update:i,exit:a,keep:A}=vn(this.extensions,e,l=>l.key);this.createExtensions(n),this.updateExtensions([...i,...A]),this.destroyExtensions(a),this.extensions=e}createExtension(t){const{category:e}=this,{key:n,type:i}=t,a=de(e,i);if(!a)return wn.warn(`The extension ${i} of ${e} is not registered.`);const A=new a(this.context,t);A.initialized=!0,this.extensionMap[n]=A}createExtensions(t){t.forEach(e=>this.createExtension(e))}updateExtension(t){const{key:e}=t,n=this.extensionMap[e];n&&n.update(t)}updateExtensions(t){t.forEach(e=>this.updateExtension(e))}destroyExtension(t){const e=this.extensionMap[t];e&&(e.initialized&&!e.destroyed&&e.destroy(),delete this.extensionMap[t])}destroyExtensions(t){t.forEach(({key:e})=>this.destroyExtension(e))}destroy(){this.destroyExtensions(this.extensions),this.context={},this.extensions=[],this.extensionMap={}}}class ot{constructor(t,e){this.events=[],this.initialized=!1,this.destroyed=!1,this.context=t,this.options=e}update(t){this.options=Object.assign(this.options,t)}destroy(){this.context={},this.options={},this.destroyed=!0}}class x extends ot{}class M extends x{constructor(t,e){super(t,Object.assign({},M.defaultOptions,e)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(A=>{const l=A.getShape("label").getRenderBounds();i.isInViewport(l,!0)&&!this.isOverlapping(l,this.occupiedBounds)?(a.show.push(A),this.occupiedBounds.push(Wt(l,this.options.padding))):a.hide.push(A)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=vn(n,i,A=>A.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,A=a.getData(),l=a.getRelatedEdgesData.bind(a);return n.map(v=>(this.nodeCentralities.has(v.id)||(this.nodeCentralities=Ze(A,l,i)),{node:v,centrality:this.nodeCentralities.get(v.id)})).sort((v,p)=>p.centrality-v.centrality).map(v=>v.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:A,sortEdge:l}=this.options,{model:h}=this.context;if((0,Me.Z)(i))return n.sort((wt,Ot)=>i(h.getElementDataById(wt.id),h.getElementDataById(Ot.id)));const{node:v=[],edge:p=[],combo:_=[]}=(0,kt.Z)(n,wt=>wt.type),j=(0,Me.Z)(A)?_.sort((wt,Ot)=>A(...h.getComboData([wt.id,Ot.id]))):_,q=(0,Me.Z)(a)?v.sort((wt,Ot)=>a(...h.getNodeData([wt.id,Ot.id]))):this.sortNodesByCentrality(v,a),At=(0,Me.Z)(l)?p.sort((wt,Ot)=>l(...h.getEdgeData([wt.id,Ot.id]))):p;return[...j,...q,...At]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const A=this.sortLabelElementsInView(this.labelElementsInView),{show:l,hide:h}=this.detectLabelCollision(A);for(let v=l.length-1;v>=0;v--)this.showLabel(l[v]);h.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&un(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&un(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=(0,ae.Z)(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:t}=this.context.element,e=[];for(const n in t){const i=t[n];i.isVisible()&&i.getShape("label")&&e.push(i)}return e}getLabelElementsInView(){const t=this.context.viewport;return this.getLabelElements().filter(e=>t.isInViewport(e.getShape("key").getRenderBounds()))}bindEvents(){const{graph:t}=this.context;t.on(X.BEFORE_RENDER,this.onBeforeRender),t.on(X.AFTER_RENDER,this.onAfterRender),t.on(X.AFTER_DRAW,this.toggle),t.on(X.AFTER_LAYOUT,this.toggle),t.on(X.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(X.BEFORE_RENDER,this.onBeforeRender),t.off(X.AFTER_RENDER,this.onAfterRender),t.off(X.AFTER_DRAW,this.toggle),t.off(X.AFTER_LAYOUT,this.toggle),t.off(X.AFTER_TRANSFORM,this.onTransform)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}M.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var m=g(23343);const N=[0,0,0];function z(r,t){return r.map((e,n)=>e+t[n])}function Lt(r,t){return r.map((e,n)=>e-t[n])}function Rt(r,t){return typeof t=="number"?r.map(e=>e*t):r.map((e,n)=>e*t[n])}function Jt(r,t){return typeof t=="number"?r.map(e=>e/t):r.map((e,n)=>e/t[n])}function qt(r,t){return r.reduce((e,n,i)=>e+n*t[i],0)}function en(r,t){const e=Sn(r),n=Sn(t);return[e[1]*n[2]-e[2]*n[1],e[2]*n[0]-e[0]*n[2],e[0]*n[1]-e[1]*n[0]]}function vt(r,t){return r.map(e=>e*t)}function mt(r,t){return Math.sqrt(r.reduce((e,n,i)=>e+Math.pow(n-t[i]||0,2),0))}function ct(r,t){return r.reduce((e,n,i)=>e+Math.abs(n-t[i]),0)}function xt(r){const t=r.reduce((e,n)=>e+Math.pow(n,2),0);return r.map(e=>e/Math.sqrt(t))}function zt(r,t,e=!1){const n=r[0]*t[1]-r[1]*t[0];let i=Math.acos(Rt(r,t).reduce((a,A)=>a+A,0)/(mt(r,N)*mt(t,N)));return e&&n<0&&(i=2*Math.PI-i),i}function Fe(r,t){return r.every((e,n)=>e===t[n])}function Vt(r,t=!0){return t?[-r[1],r[0]]:[r[1],-r[0]]}function Te(r,t){return r.map(e=>e%t)}function Je(r){return[r[0],r[1]]}function Sn(r){return rt(r)?[r[0],r[1],0]:r}function Nn(r){const[t,e]=r;return!t&&!e?0:Math.atan2(e,t)}function er(r,t){const[e,n]=r;if(t%360===0)return[e,n];const i=t*Math.PI/180,a=Math.cos(i),A=Math.sin(i);return[e*a-n*A,e*A+n*a]}function kn(r,t){const[e,n]=r,[i,a]=t,A=Lt(e,n),l=Lt(i,a);return en(A,l).every(h=>h===0)}function Wn(r,t,e=!1){if(kn(r,t))return;const[n,i]=r,[a,A]=t,l=((n[0]-a[0])*(a[1]-A[1])-(n[1]-a[1])*(a[0]-A[0]))/((n[0]-i[0])*(a[1]-A[1])-(n[1]-i[1])*(a[0]-A[0])),h=A[0]-a[0]?(n[0]-a[0]+l*(i[0]-n[0]))/(A[0]-a[0]):(n[1]-a[1]+l*(i[1]-n[1]))/(A[1]-a[1]);if(!(!e&&(!je(l,0,1)||!je(h,0,1))))return[n[0]+l*(i[0]-n[0]),n[1]+l*(i[1]-n[1])]}function dr(r){if(Array.isArray(r))return je(r[0],0,1)&&je(r[1],0,1)?r:[.5,.5];const t=r.split("-"),e=t.includes("left")?0:t.includes("right")?1:.5,n=t.includes("top")?0:t.includes("bottom")?1:.5;return[e,n]}function Re(r){const{x:t=0,y:e=0,z:n=0}=r.style||{};return[+t,+e,+n]}function Bn(r){const{x:t,y:e,z:n}=r.style||{};return t!==void 0||e!==void 0||n!==void 0}function ar(r,t){const[e,n]=t,{min:i,max:a}=r;return[i[0]+e*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function Gn(r,t="center"){const e=dr(t);return ar(r,e)}function kr(r,t){const e=parseAnchor(t);return ar(r,e)}const Qr=r=>{const[t,e]=r;return{left:Math.min(t[0],e[0]),right:Math.max(t[0],e[0]),top:Math.min(t[1],e[1]),bottom:Math.max(t[1],e[1])}};function Cr(r){var t;return[r.x,r.y,(t=r.z)!==null&&t!==void 0?t:0]}function br(r){var t;return{x:r[0],y:r[1],z:(t=r[2])!==null&&t!==void 0?t:0}}function ei(r){return r.sort((t,e)=>t[0]-e[0]||t[1]-e[1])}function wr(r){const t=new Set;return r.filter(e=>{const n=e.join(",");return t.has(n)?!1:(t.add(n),!0)})}function Yr(r,t=0){return r.map(e=>parseFloat(e.toFixed(t)))}function mi(r,t,e,n=!1){if((0,w.Z)(r,t))return r;const i=n?Lt(r,t):Lt(t,r),a=xt(i),A=[a[0]*e,a[1]*e];return z(Je(r),A)}function an(r,t){return r[1]===t[1]}function re(r,t){return r[0]===t[0]}function Ae(r,t){return an(r,t)||re(r,t)}function te(r,t,e){return kn([r,t],[t,e])}function _e(r,t){return[2*t[0]-r[0],2*t[1]-r[1]]}function on(r,t,e,n=!0,i=!1){for(let a=0;aa!=q>a&&i<(j-p)*(a-_)/(q-_)+p&&(A=!A)}return A}function jn(r,t,e=!1){const n=Gn(t,"center"),i=[Gn(t,"left-top"),Gn(t,"right-top"),Gn(t,"right-bottom"),Gn(t,"left-bottom")];return on(r,n,i,!1,e).point}function qn(r,t,e=!1){const n=t.center,i=e?_e(r,n):r,a=Lt(i,t.center),A=Math.atan2(a[1],a[0]);if(isNaN(A))return n;const l=nt(t)/2,h=Nt(t)/2,v=n[0]+l*Math.cos(A),p=n[1]+h*Math.sin(A);return[v,p]}function xr(r,t){let e=1/0,n=[r[0],t[0]];return r.forEach(i=>{t.forEach(a=>{const A=mt(i,a);A{const a=_r(r,i);a1?p=1:p<0&&(p=0);const _=e+p*h,j=n+p*v;return[_,j]}function pi(r){const t=r.reduce((e,n)=>z(e,n),[0,0]);return Jt(t,r.length)}function Ci(r,t=!0){const e=pi(r);return r.sort(([n,i],[a,A])=>{const l=Math.atan2(i-e[1],n-e[0]),h=Math.atan2(A-e[1],a-e[0]);return t?h-l:l-h})}function di(r,t){return[r,[r[0],t[1]],t,[t[0],r[1]]]}var ui=g(71879);class Jn{constructor(t,e,n){if(this.phase=e,this.pointerByTouch=[],this.initialDistance=null,this.emitter=t,Jn.instance)return Jn.callbacks[this.phase].push(n),Jn.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),Jn.instance=this,Jn.callbacks[this.phase].push(n)}bindEvents(){const{emitter:t}=this;t.on(V.POINTER_DOWN,this.onPointerDown),t.on(V.POINTER_MOVE,this.onPointerMove),t.on(V.POINTER_UP,this.onPointerUp)}updatePointerPosition(t,e,n){const i=this.pointerByTouch.findIndex(a=>a.pointerId===t);i>=0&&(this.pointerByTouch[i]={x:e,y:n,pointerId:t})}onPointerDown(t){const{x:e,y:n}=t.client||{};if(!(e===void 0||n===void 0)&&(this.pointerByTouch.push({x:e,y:n,pointerId:t.pointerId}),t.pointerType==="touch"&&this.pointerByTouch.length===2)){Jn.isPinching=!0;const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a),Jn.callbacks.pinchstart.forEach(A=>A(t,{scale:0}))}}onPointerMove(t){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:e,y:n}=t.client||{};if(e===void 0||n===void 0)return;this.updatePointerPosition(t.pointerId,e,n);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,l=Math.sqrt(i*i+a*a)/this.initialDistance;Jn.callbacks.pinchmove.forEach(h=>h(t,{scale:(l-1)*5}))}onPointerUp(t){var e;Jn.callbacks.pinchend.forEach(n=>n(t,{scale:0})),Jn.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(e=Jn.instance)===null||e===void 0||e.tryDestroy()}destroy(){this.emitter.off(V.POINTER_DOWN,this.onPointerDown),this.emitter.off(V.POINTER_MOVE,this.onPointerMove),this.emitter.off(V.POINTER_UP,this.onPointerUp),Jn.instance=null}off(t,e){const n=Jn.callbacks[t].indexOf(e);n>-1&&Jn.callbacks[t].splice(n,1),this.tryDestroy()}tryDestroy(){Object.values(Jn.callbacks).every(t=>t.length===0)&&this.destroy()}}Jn.isPinching=!1,Jn.instance=null,Jn.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const Ri=r=>r.map(t=>(0,ui.Z)(t)?t.toLocaleLowerCase():t);class Xi{constructor(t){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=e=>{e!=null&&e.key&&(this.recordKey.add(e.key),this.trigger(e))},this.onKeyUp=e=>{e!=null&&e.key&&this.recordKey.delete(e.key)},this.onWheel=e=>{this.triggerExtendKey(V.WHEEL,e)},this.onDrag=e=>{this.triggerExtendKey(V.DRAG,e)},this.handlePinch=(e,n)=>{this.triggerExtendKey(V.PINCH,Object.assign(Object.assign({},e),n))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=t,this.bindEvents()}bind(t,e){t.length!==0&&(t.includes(V.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new Jn(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(t,e))}unbind(t,e){this.map.forEach((n,i)=>{(0,w.Z)(i,t)&&(!e||e===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(t){const e=Ri(Array.from(this.recordKey)).sort(),n=Ri(t).sort();return(0,w.Z)(e,n)}bindEvents(){var t;const{emitter:e}=this;e.on(V.KEY_DOWN,this.onKeyDown),e.on(V.KEY_UP,this.onKeyUp),e.on(V.WHEEL,this.onWheel),e.on(V.DRAG,this.onDrag),(t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"focus",this.onFocus)}trigger(t){this.map.forEach((e,n)=>{this.match(n)&&e(t)})}triggerExtendKey(t,e){this.map.forEach((n,i)=>{i.includes(t)&&(0,w.Z)(Array.from(this.recordKey),i.filter(a=>a!==t))&&n(e)})}destroy(){var t,e;this.unbindAll(),this.emitter.off(V.KEY_DOWN,this.onKeyDown),this.emitter.off(V.KEY_UP,this.onKeyUp),this.emitter.off(V.WHEEL,this.onWheel),this.emitter.off(V.DRAG,this.onDrag),(t=this.pinchHandler)===null||t===void 0||t.off("pinchmove",this.boundHandlePinch),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}}class ta extends x{constructor(t,e){super(t,(0,m.Z)({},ta.defaultOptions,e)),this.shortcut=new Xi(t.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(t){if(!this.validate(t)||!this.isKeydown()||this.startPoint)return;const{canvas:e,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new R.UL({id:"g6-brush-select",style:i}),e.appendChild(this.rectShape),this.startPoint=[t.canvas.x,t.canvas.y]}onPointerMove(t){var e;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=la(t,this.context.graph),(e=this.rectShape)===null||e===void 0||e.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])}),n&&i==="default"&&this.updateElementsStates(di(this.startPoint,this.endPoint))}onPointerUp(t){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=la(t,this.context.graph),this.updateElementsStates(di(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:t}=this.context,e=Object.values(t.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,A)=>{var l;const h=(l=A.states||[])===null||l===void 0?void 0:l.filter(v=>v!==this.options.state);return a[be(A)]=h,a},{})),{});t.setElementState(e,this.options.animation)}updateElementsStates(t){const{graph:e}=this.context,{enableElements:n,state:i,mode:a,onSelect:A}=this.options,l=this.selector(e,t,n),h={};switch(a){case"union":l.forEach(v=>{h[v]=[...e.getElementState(v),i]});break;case"diff":l.forEach(v=>{const p=e.getElementState(v);h[v]=p.includes(i)?p.filter(_=>_!==i):[...p,i]});break;case"intersect":l.forEach(v=>{const p=e.getElementState(v);h[v]=p.includes(i)?[i]:[]});break;case"default":default:l.forEach(v=>{h[v]=[i]});break}(0,Me.Z)(A)&&A(h),e.setElementState(h,this.options.animation)}selector(t,e,n){if(!n||n.length===0)return[];const i=[],a=t.getData();if(n.forEach(A=>{a[`${A}s`].forEach(l=>{const h=be(l);t.getElementVisibility(h)!=="hidden"&&Pn(t.getElementPosition(h),e)&&i.push(h)})}),n.includes("edge")){const A=a.edges;A==null||A.forEach(l=>{const{source:h,target:v}=l;i.includes(h)&&i.includes(v)&&i.push(be(l))})}return i}clearBrush(){var t;(t=this.rectShape)===null||t===void 0||t.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:t}=this.options,e=Array.isArray(t)?t:[t];return this.shortcut.match(e.filter(n=>n!=="drag"))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}bindEvents(){const{graph:t}=this.context;t.on(V.POINTER_DOWN,this.onPointerDown),t.on(V.POINTER_MOVE,this.onPointerMove),t.on(V.POINTER_UP,this.onPointerUp),t.on(Z.CLICK,this.clearStates)}unbindEvents(){const{graph:t}=this.context;t.off(V.POINTER_DOWN,this.onPointerDown),t.off(V.POINTER_MOVE,this.onPointerMove),t.off(V.POINTER_UP,this.onPointerUp),t.off(Z.CLICK,this.clearStates)}update(t){this.unbindEvents(),this.options=(0,m.Z)(this.options,t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ta.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 la=(r,t)=>{if((r.targetType==="node"||r.targetType==="combo")&&!(r.nativeEvent.target instanceof HTMLCanvasElement)){const[e,n]=t.getCanvasByClient([r.client.x,r.client.y]);return[e,n]}return[r.canvas.x,r.canvas.y]},Ki=.8,Ba=["node","edge","combo"];function fa(r,t,e,n,i=0){n==="TB"&&t(r,i);const a=e(r);if(a)for(const A of a)fa(A,t,e,n,i+1);n==="BT"&&t(r,i)}function da(r,t,e){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();t(i,a);const A=e(i);if(A)for(const l of A)n.push([l,a+1])}}function bs(r,t,e,n,i="both"){if(t==="combo"||t==="node")return cs(r,e,n,i);const a=r.getEdgeData(e);if(!a)return[];const A=cs(r,a.source,n-1,i),l=cs(r,a.target,n-1,i);return Array.from(new Set([...A,...l,e]))}function cs(r,t,e,n="both"){const i=new Set,a=new Set,A=new Set;return da(t,(l,h)=>{h>e||(A.add(l),r.getRelatedEdgesData(l,n).forEach(v=>{const p=be(v);!a.has(p)&&hr.getRelatedEdgesData(l,n).map(h=>h.source===l?h.target:h.source).filter(h=>i.has(h)?!1:(i.add(h),!0))),Array.from(A)}function ga(r){return r.states||[]}var us=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Ua extends x{constructor(t,e){super(t,Object.assign({},Ua.defaultOptions,e)),this.onClickSelect=n=>us(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>us(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Xi(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(e=>{t.on(`${e}:${V.CLICK}`,this.onClickSelect)}),t.on(Z.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:t,trigger:e}=this.options;return t&&this.shortcut.match(e)}getNeighborIds(t){const{target:e,targetType:n}=t,{graph:i}=this.context,{degree:a}=this.options;return bs(i,n,e.id,typeof a=="function"?a(t):a).filter(A=>A!==e.id)}updateState(t){return us(this,void 0,void 0,function*(){const{state:e,unselectedState:n,neighborState:i,animation:a}=this.options;if(!e&&!i&&!n)return;const{target:A}=t,{graph:l}=this.context,h=l.getElementData(A.id),v=ga(h).includes(e)?"unselect":"select",p={},_=this.isMultipleSelect,j=[A.id],q=this.getNeighborIds(t);if(_)if(Object.assign(p,this.getDataStates()),v==="select"){const At=(wt,Ot)=>{wt.forEach(Xt=>{const ne=new Set(l.getElementState(Xt));ne.add(Ot),ne.delete(n),p[Xt]=Array.from(ne)})};At(j,e),At(q,i),n&&Object.keys(p).forEach(wt=>{const Ot=p[wt];!Ot.includes(e)&&!Ot.includes(i)&&!Ot.includes(n)&&p[wt].push(n)})}else{const At=p[A.id];p[A.id]=At.filter(wt=>wt!==e&&wt!==i),At.includes(n)||p[A.id].push(n),q.forEach(wt=>{p[wt]=p[wt].filter(Ot=>Ot!==i),p[wt].includes(e)||p[wt].push(n)})}else if(v==="select"){Object.assign(p,this.getClearStates(!!n));const At=(wt,Ot)=>{wt.forEach(Xt=>{p[Xt]||(p[Xt]=l.getElementState(Xt)),p[Xt].push(Ot)})};At(j,e),At(q,i),n&&Object.keys(p).forEach(wt=>{!j.includes(wt)&&!q.includes(wt)&&p[wt].push(n)})}else Object.assign(p,this.getClearStates());yield l.setElementState(p,a)})}getDataStates(){const{graph:t}=this.context,{nodes:e,edges:n,combos:i}=t.getData(),a={};return[...e,...n,...i].forEach(A=>{a[be(A)]=ga(A)}),a}getClearStates(t=!1){const{graph:e}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,A=new Set([n,i,a]),{nodes:l,edges:h,combos:v}=e.getData(),p={};return[...l,...h,...v].forEach(_=>{const j=ga(_),q=j.filter(At=>!A.has(At));(t||q.length!==j.length)&&(p[be(_)]=q)}),p}clearState(){return us(this,void 0,void 0,function*(){const{graph:t}=this.context;yield t.setElementState(this.getClearStates(),this.options.animation)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ba.forEach(e=>{t.off(`${e}:${V.CLICK}`,this.onClickSelect)}),t.off(Z.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Ua.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function Ca(r){var t;return!!(!((t=r.style)===null||t===void 0)&&t.collapsed)}var $a=g(5759),no=g(37004),ro=g(45642);function Is(r,t){if(!r.startsWith(t))return!1;const e=r[t.length];return e>="A"&&e<="Z"}function Ws(r,t){return`${t}${(0,P.Z)(r)}`}function Ds(r,t,e=!0){if(!t||!Is(r,t))return r;const n=r.slice(t.length);return e?(0,ro.Z)(n):n}function Gi(r,t){const e=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||Is(i,t)&&Object.assign(n,{[Ds(i,t)]:a}),n),{});if("opacity"in r){const n=Ws("opacity",t),i=r.opacity;if(n in r){const a=r[n];Object.assign(e,{opacity:i*a})}else Object.assign(e,{opacity:i})}return e}function ka(r,t){const e=t.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(t)){const a=i.slice(e);n[a]=r[i]}return n},{})}function _a(r,t){const e=typeof t=="string"?[t]:t,n={};return Object.keys(r).forEach(i=>{e.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function No(r,t,e){return Object.entries(r).reduce((n,[i,a])=>(Is(i,t)?n[Ws(Ds(i,t,!1),e)]=a:n[i]=a,n),{})}function is(r=0){if(typeof r=="number")return[r,r,r];const[t,e=t,n=t]=r;return[t,e,n]}var ca=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);itypeof a=="function"?[i,a.call(n,e)]:[i,a]))}function Ha(r,t){const e=(r==null?void 0:r.style)||{},n=(t==null?void 0:t.style)||{};for(const i in e)i in n||(n[i]=e[i]);return Object.assign({},r,t,{style:n})}function Eo(r){const{x:t,y:e,z:n,class:i,className:a,transform:A,transformOrigin:l,zIndex:h,visibility:v}=r;return ca(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function Vs(r,t){const e=is(r);let n={};return t.text&&!t.fontSize&&(n={fontSize:Math.min(...e)*.5}),t.src&&(!t.width||!t.height)&&(n={width:e[0]*.5,height:e[1]*.5}),n}function xs(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:t=>t.id,color:r,invert:!1}:r}function ua(r,t){if(!t)return{};const{type:e,color:n,field:i,invert:a}=t,A=h=>{const v=typeof n=="string"?de("palette",n):n;if(typeof v=="function"){const p={};return h.forEach(([_,j])=>{p[_]=v(a?1-j:j)}),p}else if(Array.isArray(v)){const p=a?[...v].reverse():v,_={};return h.forEach(([j,q])=>{_[j]=p[q%v.length]}),_}return{}},l=(h,v)=>{var p;return typeof h=="string"?(p=v.data)===null||p===void 0?void 0:p[h]:h==null?void 0:h(v)};if(e==="group"){const h=(0,kt.Z)(r,j=>{if(!i)return"default";const q=l(i,j);return q?String(q):"default"}),v=Object.keys(h),p=A(v.map((j,q)=>[j,q])),_={};return Object.entries(h).forEach(([j,q])=>{q.forEach(At=>{_[be(At)]=p[j]})}),_}else if(e==="value"){const[h,v]=r.reduce(([_,j],q)=>{const At=l(i,q);if(typeof At!="number")throw new Error(Ln(`Palette field ${i} is not a number`));return[Math.min(_,At),Math.max(j,At)]},[1/0,-1/0]),p=v-h;return A(r.map(_=>[_.id,(l(i,_)-h)/p]))}}function fo(r){const t=typeof r=="string"?de("palette",r):r;if(typeof t!="function")return t}function Wa(r,t){let e=2*r;return typeof t=="string"?e=r*Number(t.replace("%",""))/100:typeof t=="number"&&(e=t),isNaN(e)&&(e=2*r),e}function qa(r,t,e=1,n=!1){const i=n?e:1,a=(r.max[0]-r.min[0])*i;return Wa(a,t)}function Wi(r,t,e=1){const n=mt(r[0],r[1])*e;return Wa(n,t)}var Ka=g(42791);class Rs extends R.b_{constructor(t){aa(t.style),super(t),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(t,e,n,i,a){var A,l,h,v,p,_,j,q;const At=this.shapeMap[t];if(n===!1){At&&((A=a==null?void 0:a.beforeDestroy)===null||A===void 0||A.call(a,At),i.removeChild(At),delete this.shapeMap[t],(l=a==null?void 0:a.afterDestroy)===null||l===void 0||l.call(a,At));return}const wt=typeof e=="string"?de(Gt.SHAPE,e):e;if(!wt)throw new Error(Ln(`Shape ${e} not found`));if(!At||At.destroyed||!(At instanceof wt)){At&&((h=a==null?void 0:a.beforeDestroy)===null||h===void 0||h.call(a,At),At==null||At.destroy(),(v=a==null?void 0:a.afterDestroy)===null||v===void 0||v.call(a,At)),(p=a==null?void 0:a.beforeCreate)===null||p===void 0||p.call(a);const Ot=new wt({className:t,style:n});return i.appendChild(Ot),this.shapeMap[t]=Ot,(_=a==null?void 0:a.afterCreate)===null||_===void 0||_.call(a,Ot),Ot}return(j=a==null?void 0:a.beforeUpdate)===null||j===void 0||j.call(a,At),vo(At,n),(q=a==null?void 0:a.afterUpdate)===null||q===void 0||q.call(a,At),At}update(t={}){const e=Object.assign({},this.attributes,t);aa(e),go(this,e),this.render(e,this),this.setVisibility()}bindEvents(){}getGraphicStyle(t){return Eo(t)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(t,e){if(t.length===0)return null;const n=[];if(t[0].x!==void 0||t[0].y!==void 0||t[0].z!==void 0){const{x:a=0,y:A=0,z:l=0}=this.attributes;t.forEach(h=>{const{x:v=a,y:p=A,z:_=l}=h;Object.assign(h,{transform:_?[["translate3d",v,p,_]]:[["translate",v,p]]})})}const i=super.animate(t,e);if(i&&(js(this,i),n.push(i)),Array.isArray(t)&&t.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(t[0]).some(A=>!a.includes(A))){Object.entries(this.shapeMap).forEach(([l,h])=>{const v=`get${(0,P.Z)(l)}Style`,p=this[v];if((0,Me.Z)(p)){const _=t.map(q=>p.call(this,Object.assign(Object.assign({},this.attributes),q))),j=h.animate(pn(_),e);j&&(js(h,j),n.push(j))}});const A=(l,h)=>{if(!(0,Ka.Z)(l)){const v=`get${(0,P.Z)(h)}Style`,p=this[v];if((0,Me.Z)(p)){const _=t.map(j=>p.call(this,Object.assign(Object.assign({},this.attributes),j)));Object.entries(_[0]).map(([j])=>{const q=_.map(wt=>wt[j]),At=l[j];if(At){const wt=At.animate(pn(q),e);wt&&(js(At,wt),n.push(wt))}})}}};this.compositeShapes.forEach(([l,h])=>{const v=ka(this.shapeMap,h);A(v,l)})}}return or(n)}getShape(t){return this.shapeMap[t]}setVisibility(){const{visibility:t}=this.attributes;un(this,t)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function js(r,t){t==null||t.finished.then(()=>{const e=r.activeAnimations.findIndex(n=>n===t);e>-1&&r.activeAnimations.splice(e,1)})}function aa(r){if(!r)return{};if("x"in r||"y"in r||"z"in r){const{x:t=0,y:e=0,z:n,transform:i}=r,a=ze(t,e,n,i);a&&(r.transform=a)}return r}var Or=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{e.push([i===0?"M":"L",...n])}),t&&e.push(["Z"]),e}const $o={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 Qs(r){const t=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),e=[];let n="",i={};for(;t.length>0;){let a=t.shift();a in $o?n=a:t.unshift(a),i={type:n},$o[n].forEach(h=>{a=t.shift(),i[h]=a}),n==="M"?n="L":n==="m"&&(n="l");const[A,...l]=Object.values(i);e.push([A,...l.map(Number)])}return e}function so(r){const t=[];return(typeof r=="string"?Qs(r):r).forEach(n=>{const i=n[0];if(i==="Z"){t.push(t[0]);return}if(i!=="A")for(let a=1;a{if(r.length<2)return[["M",0,0],["L",0,0]];const t=r[0],e=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(t,e);const a=[["M",n[0],n[1]]];for(let A=1;A{const Ot=At,Xt=p[(wt+1)%p.length];return(0,w.Z)(Ot,Xt)?null:[Ot,Xt]}).filter(Boolean),j=Mr([l,h],_),q=zr([l,h],j);if(q&&j&&(v.transform=[["translate",q[0]+e,q[1]+n]],A)){const At=Math.atan((j[0][1]-j[1][1])/(j[0][0]-j[1][0]));v.transform.push(["rotate",At/Math.PI*180]),v.textAlign="center",(t==="right"||t==="left")&&(At>0?v.textBaseline=t==="right"?"bottom":"top":v.textBaseline=t==="right"?"top":"bottom")}return v}var Pa=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{n!=null&&n.children.length&&n.children.forEach(i=>{t.push(i),e(i)})};return e(r),t}function Ao(r){const t=[];let e=r.parentNode;for(;e;)t.push(e),e=e.parentNode;return t}class Bo extends R.Ee{constructor(t){super(t),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Da=this,this.isMutationObserved=!0,this.addEventListener(R.Dk.MOUNTED,this.onMounted),this.addEventListener(R.Dk.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:t,clipPath:e,width:n=0,height:i=0}=this.attributes;if(t&&n&&i){const[a,A]=this.getBounds().min,l={x:a,y:A,radius:t,width:n,height:i};if(e)Object.assign(this.parsedStyle.clipPath.style,l);else{const h=new R.UL({style:l});this.style.clipPath=h}}else e&&(this.style.clipPath=null)}}const Va=new WeakMap;let Da=null;const as=r=>{if(Da&&Ao(Da).includes(r)){const t=Va.get(r);t?t.includes(Da)||t.push(Da):Va.set(r,[Da])}},ws=r=>{const t=Va.get(r);t&&t.forEach(e=>e.handleRadius())};class sa extends Rs{constructor(t){super(t)}isImage(){const{src:t}=this.attributes;return!!t}getIconStyle(t=this.attributes){const{width:e=0,height:n=0}=t,i=this.getGraphicStyle(t);return this.isImage()?Object.assign({x:-e/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(t=this.attributes,e=this){this.upsert("icon",this.isImage()?Bo:R.xv,this.getIconStyle(t),e)}}class Vi extends Rs{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(t,e){const n=super.animate(t,e);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var $i=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{i[_]=!1}),t.badge===!1||!(!((e=t.badges)===null||e===void 0)&&e.length))return i;const{badges:a=[],badgePalette:A,opacity:l=1}=t,h=$i(t,["badges","badgePalette","opacity"]),v=fo(A),p=Gi(this.getGraphicStyle(h),"badge");return a.forEach((_,j)=>{i[j]=Object.assign(Object.assign({backgroundFill:v?v[j%(v==null?void 0:v.length)]:void 0,opacity:l},p),this.getBadgeStyle(_))}),i}getBadgeStyle(t){const e=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=t,A=$i(t,["placement","offsetX","offsetY"]),l=_i(e.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},l),A)}getPortsStyle(t){var e;const n=this.getPorts(),i={};if(Object.keys(n).forEach(l=>{i[l]=!1}),t.port===!1||!(!((e=t.ports)===null||e===void 0)&&e.length))return i;const a=Gi(this.getGraphicStyle(t),"port"),{ports:A=[]}=t;return A.forEach((l,h)=>{const v=l.key||h,p=Object.assign(Object.assign({},a),l);if(gi(p))i[v]=!1;else{const[_,j]=this.getPortXY(t,l);i[v]=Object.assign({transform:[["translate",_,j]]},p)}}),i}getPortXY(t,e){const{placement:n="left"}=e,i=this.getShape("key");return oi(Ys(this.context,i),n)}getPorts(){return ka(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return jn(t,n,e)}drawHaloShape(t,e){const n=this.getHaloStyle(t),i=this.getShape("key");this.upsert("halo",i.constructor,n,e)}drawIconShape(t,e){const n=this.getIconStyle(t);this.upsert("icon",sa,n,e),as(this)}drawBadgeShapes(t,e){const n=this.getBadgesStyle(t);Object.keys(n).forEach(i=>{const a=n[i];this.upsert(`badge-${i}`,ao,a,e)})}drawPortShapes(t,e){const n=this.getPortsStyle(t);Object.keys(n).forEach(i=>{const a=n[i],A=`port-${i}`;this.upsert(A,R.Cd,a,e)})}drawLabelShape(t,e){const n=this.getLabelStyle(t);this.upsert("label",Ia,n,e)}_drawKeyShape(t,e){return this.drawKeyShape(t,e)}render(t=this.parsedAttributes,e=this){this._drawKeyShape(t,e),this.getShape("key")&&(this.drawHaloShape(t,e),this.drawIconShape(t,e),this.drawBadgeShapes(t,e),this.drawLabelShape(t,e),this.drawPortShapes(t,e))}update(t){super.update(t),t&&("x"in t||"y"in t||"z"in t)&&ws(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}ja.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 Ys(r,t){if(!r)return t.getLocalBounds();const e=r.canvas.getLayer(),n=t.cloneNode();un(n,"hidden"),e.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}class Cs extends ja{constructor(t){super(Ha({style:Cs.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",R.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{r:Math.min(...this.getSize(t))/2})}getIconStyle(t){const e=super.getIconStyle(t),{r:n}=this.getShape("key").attributes,i=n*2*Ki;return e?Object.assign({width:i,height:i},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return qn(t,n,e)}}Cs.defaultStyleProps={size:32};class ea extends ja{constructor(t){super(t)}get parsedAttributes(){return this.attributes}drawKeyShape(t,e){return this.upsert("key",R.mg,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{points:this.getPoints(t)})}getIntersectPoint(t,e=!1){var n,i;const{points:a}=this.getShape("key").attributes,A=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return on(t,A,a,!0,e).point}}class bo extends ea{constructor(t){super(t)}getPoints(t){const[e,n]=this.getSize(t);return Bs(e,n)}}var Ko=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i(0,On.Z)(_)?{value:_}:_),a=Gi(this.getGraphicStyle(t),"donut"),A=fo(t.donutPalette);if(!A)return;const l=i.reduce((_,j)=>{var q;return _+((q=j.value)!==null&&q!==void 0?q:0)},0),h=this.parseOuterR(),v=this.parseInnerR();let p=0;i.forEach((_,j)=>{const{value:q=0,color:At=A[j%A.length]}=_,wt=Ko(_,["value","color"]),Ot=(l===0?1/i.length:q/l)*360;this.upsert(`round${j}`,R.y$,Object.assign(Object.assign(Object.assign({},a),{d:ba(h,v,p,p+Ot),fill:At}),wt),e),p+=Ot})}render(t,e=this){super.render(t,e),this.drawDonutShape(t,e)}}hs.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const xo=(r,t,e,n)=>[r+Math.sin(n)*e,t-Math.cos(n)*e],qo=(r,t,e,n)=>n<=0||e<=n?[["M",r-e,t],["A",e,e,0,1,1,r+e,t],["A",e,e,0,1,1,r-e,t],["Z"]]:[["M",r-e,t],["A",e,e,0,1,1,r+e,t],["A",e,e,0,1,1,r-e,t],["Z"],["M",r+n,t],["A",n,n,0,1,0,r-n,t],["A",n,n,0,1,0,r+n,t],["Z"]],hA=(r,t,e,n,i,a)=>{const[A,l]=[i/360*2*Math.PI,a/360*2*Math.PI],h=[xo(r,t,n,A),xo(r,t,e,A),xo(r,t,e,l),xo(r,t,n,l)],v=l-A>Math.PI?1:0;return[["M",h[0][0],h[0][1]],["L",h[1][0],h[1][1]],["A",e,e,0,v,1,h[2][0],h[2][1]],["L",h[3][0],h[3][1]],["A",n,n,0,v,0,h[0][0],h[0][1]],["Z"]]},ba=(r=0,t=0,e,n)=>{const[i,a]=[0,0];return Math.abs(e-n)%360<1e-6?qo(i,a,r,t):hA(i,a,r,t,e,n)};class fs extends ja{constructor(t){super(Ha({style:fs.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",R.Pj,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getSize(t);return Object.assign(Object.assign({},e),{rx:n/2,ry:i/2})}getIconStyle(t){const e=super.getIconStyle(t),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*Ki;return e?Object.assign({width:a,height:a},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return qn(t,n,e)}}fs.defaultStyleProps={size:[45,35]};class Es extends ea{constructor(t){super(t)}getOuterR(t){return t.outerR||Math.min(...this.getSize(t))/2}getPoints(t){return ts(this.getOuterR(t))}getIconStyle(t){const e=super.getIconStyle(t),n=this.getOuterR(t)*Ki;return e?Object.assign({width:n,height:n},e):!1}}var ss=g(94344),oa=g(84502),na=g(49527),TA=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(e,i).forEach(A=>{const l=this.bootstrapEvent(this.rootPointerEvent,A,i,e);(0,no.Z)(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(l)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[V.CLICK,V.POINTER_DOWN,V.POINTER_MOVE,V.POINTER_UP,V.POINTER_OVER,V.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.drawPortShapes(t,e)}getKeyStyle(t){const e=(0,oa.Z)(t,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=e,a=TA(e,["dx","dy"]),[A,l]=this.getSize(t);return Object.assign(Object.assign({x:n,y:i},a),{width:A,height:l})}drawKeyShape(t,e){const n=this.getKeyStyle(t),{x:i,y:a,width:A=0,height:l=0}=n,h=this.upsert("key-container",R.UL,{x:i,y:a,width:A,height:l,opacity:0},e);return this.upsert("key",R.k9,n,h)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof ss.Th))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(t,e,n){t==="zIndex"&&e!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const t=this.getDomElement();this.events.forEach(e=>{t.removeEventListener(e,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(t,e){const n=[];if(e.isTouchEvent(t))for(let i=0;ithis.context.element.getElement(A)).filter(Boolean);if(i.length===0){const A=new R.mN,{x:l=0,y:h=0,size:v}=t,[p,_]=is(v);return A.setMinMax([l-p/2,h-_/2,0],[l+p/2,h+_/2,0]),A}const a=ge(i.map(A=>A.getBounds()));return n?Wt(a,n):a}drawCollapsedMarkerShape(t,e){const n=this.getCollapsedMarkerStyle(t);this.upsert("collapsed-marker",sa,n,e),as(this)}getCollapsedMarkerStyle(t){if(!t.collapsed||!t.collapsedMarker)return!1;const e=Gi(this.getGraphicStyle(t),"collapsedMarker"),{type:n}=e,i=fA(e,["type"]),a=this.getShape("key"),[A,l]=Gn(a.getLocalBounds(),"center"),h=Object.assign(Object.assign({},i),{x:A,y:l});if(n){const v=this.getCollapsedMarkerText(n,t);Object.assign(h,{text:v})}return h}getCollapsedMarkerText(t,e){const{childrenData:n=[]}=e,{model:i}=this.context;return t==="descendant-count"?i.getDescendantsData(this.id).length.toString():t==="child-count"?n.length.toString():t==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(be(a))==="node").length.toString():(0,Me.Z)(t)?t(n):""}getComboPosition(t){const{x:e=0,y:n=0,collapsed:i,childrenData:a=[]}=t;if(a.length===0)return[+e,+n,0];if(i){const{model:A}=this.context,l=A.getDescendantsData(this.id).filter(h=>!A.isCombo(be(h)));if(l.length>0&&l.some(Bn)){const h=l.reduce((v,p)=>z(v,Re(p)),[0,0,0]);return Jt(h,l.length)}return[+e,+n,0]}return this.getContentBBox(t).center}getComboStyle(t){const[e,n]=this.getComboPosition(t);return{x:e,y:n,transform:[["translate",e,n]]}}updateComboPosition(t){const e=this.getComboStyle(t);Object.assign(this.style,e);const{x:n,y:i}=e;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:n,y:i}}),ws(this)}render(t,e=this){super.render(t,e),this.drawCollapsedMarkerShape(t,e)}update(t={}){super.update(t),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(t,e){const n=super.animate(this.attributes.collapsed?t:t.map(i=>{var{x:a,y:A,z:l,transform:h}=i,v=fA(i,["x","y","z","transform"]);return v}),e);return n&&new Proxy(n,{set:(i,a,A)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,A))})}}Xs.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class So extends Xs{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",R.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const{collapsed:e}=t,n=super.getKeyStyle(t),[i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},n),e&&Gi(n,"collapsed")),{r:i/2})}getCollapsedKeySize(t){const[e,n]=is(t.collapsedSize),i=Math.max(e,n)/2;return[i*2,i*2,0]}getExpandedKeySize(t){const e=this.getContentBBox(t),[n,i]=Yt(e),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return qn(t,n,e)}}class OA extends Xs{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",R.UL,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},e),t.collapsed&&Gi(e,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var Ro=g(47182);const Qo={padding:10};function xa(r,t,e,n,i,a){const{padding:A}=Object.assign(Qo,a),l=It(e,A),h=It(n,A),v=[r,...i,t];let p=null;const _=[];for(let j=0,q=v.length;ja?"N":"S":n===a?e>i?"W":"E":null}function ko(r,t){return t==="N"||t==="S"?Nt(r):nt(r)}function FA(r,t,e){const n=[r[0],t[1]],i=[t[0],r[1]],a=ds(r,n),A=ds(r,i),l=e?Ms[e]:null,h=a===e||a!==l&&A!==e?n:i;return{points:[h],direction:ds(h,t)}}function _o(r,t,e){if(An(r,e)){const n=$(r,t,e);return{points:[n],direction:ds(n,t)}}else{const n=Yn(r,e),a=["left","right"].includes(Qn(r,e))?[t[0],n[1]]:[n[0],t[1]];return{points:[a],direction:ds(a,t)}}}function To(r,t,e,n){const i=An(t,e)?t:Yn(t,e),a=[[i[0],r[1]],[r[0],i[1]]],A=a.filter(h=>fn(h,e)&&!Ge(h,e,!0)),l=A.filter(h=>ds(h,r)!==n);if(l.length>0){const h=l.find(v=>ds(r,v)===n)||l[0];return{points:[h],direction:ds(h,t)}}else{const h=(0,Ro.Z)(a,A)[0],v=mi(t,h,ko(e,n)/2);return{points:[$(v,r,e),v],direction:ds(v,t)}}}function IA(r,t,e,n){let i=_o(r,t,e);const a=Sn(i.points[0]);if(oe(a,n)){i=_o(t,r,n);const A=Sn(i.points[0]);if(oe(A,e)){const l=mi(r,a,ko(e,ds(r,a))/2),h=mi(t,A,ko(n,ds(t,A))/2),v=[(l[0]+h[0])/2,(l[1]+h[1])/2],p=_o(r,v,e),_=To(v,t,n,p.direction);i.points=[p.points[0],_.points[0]],i.direction=_.direction}}return i}function Ct(r,t,e,n,i){const A=ge([e,n]),l=mt(t,A.center)>mt(r,A.center),[h,v]=l?[t,r]:[r,t],p=Nt(A)+nt(A);let _;if(i){const At=[h[0]+p*Math.cos(Mo[i]),h[1]+p*Math.sin(Mo[i])];_=mi(Yn(At,A),At,.01)}else _=mi(Yn(h,A),h,-.01);let j=$(_,v,A),q=[Yr(_,2),Yr(j,2)];if((0,w.Z)(Yr(_),Yr(j))){const At=zt(Lt(_,h),[1,0,0])+Math.PI/2;j=[v[0]+p*Math.cos(At),v[1]+p*Math.sin(At),0],j=Yr(mi(Yn(j,A),v,-.01),2);const wt=$(_,j,A);q=[_,wt,j]}return{points:l?q.reverse():q,direction:ds(l?_:j,t)}}function $(r,t,e){let n=[r[0],t[1]];return oe(n,e)&&(n=[t[0],r[1]]),n}function it(r,t,e,n,i){let h=typeof t=="number"?t:.5;t==="start"&&(h=0),t==="end"&&(h=.99);const v=Cr(r.getPoint(h)),p=Cr(r.getPoint(h+.01));let _=t==="start"?"left":t==="end"?"right":"center";if(an(v,p)||!e){const[Xt,ne]=_t(r,h,n,i);return{transform:[["translate",Xt,ne]],textAlign:_}}let j=Math.atan2(p[1]-v[1],p[0]-v[0]);p[0]{const p=A[v-1]||i,_=A[v+1]||a;if(!te(p,h,_)&&t){const[j,q]=xn(p,h,_,t);l.push(["L",j[0],j[1]],["Q",h[0],h[1],q[0],q[1]],["L",q[0],q[1]])}else l.push(["L",h[0],h[1]])}),l.push(["L",a[0],a[1]]),e&&l.push(["Z"]),l}function xn(r,t,e,n){const i=ct(r,t),a=ct(e,t),A=Math.min(n,Math.min(i,a)/2),l=[t[0]-A/i*(t[0]-r[0]),t[1]-A/i*(t[1]-r[1])],h=[t[0]-A/a*(t[0]-e[0]),t[1]-A/a*(t[1]-e[1])];return[l,h]}const $n=r=>{const t=Math.PI/2,e=Nt(r)/2,n=nt(r)/2,i=Math.atan2(e,n)/2,a=Math.atan2(n,e)/2;return{top:[-t-a,-t+a],"top-right":[-t+a,-i],"right-top":[-t+a,-i],right:[-i,i],"bottom-right":[i,t-a],"right-bottom":[i,t-a],bottom:[t-a,t+a],"bottom-left":[t+a,Math.PI-i],"left-bottom":[t+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-t-a],"left-top":[Math.PI+i,-t-a]}};function Kn(r,t,e,n,i){const a=It(r),A=r.getCenter();let l=n&&Ti(n),h=i&&Ti(i);if(!l||!h){const v=$n(a),p=v[t][0],_=v[t][1],[j,q]=Yt(a),At=Math.max(j,q),wt=z(A,[At*Math.cos(p),At*Math.sin(p),0]),Ot=z(A,[At*Math.cos(_),At*Math.sin(_),0]);l=ki(r,wt),h=ki(r,Ot),e||([l,h]=[h,l])}return[l,h]}function lr(r,t,e,n,i,a){const A=r.getPorts()[i||a],l=r.getPorts()[a||i];let[h,v]=Kn(r,t,e,A,l);const p=gr(r,h,v,n);return A&&(h=ma(A,p[0])),l&&(v=ma(l,p.at(-1))),mn(h,v,p)}function gr(r,t,e,n){const i=r.getCenter();if((0,w.Z)(t,e)){const a=Lt(t,i),A=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[z(t,A),z(e,Rt(A,[1,-1,1]))]}return[mi(i,t,mt(i,t)+n),mi(i,e,mt(i,e)+n)]}function cr(r,t,e,n,i,a,A){const l=xi(r),h=l[a||A],v=l[A||a];let[p,_]=Kn(r,e,n,h,v);const j=Br(r,p,_,i);return h&&(p=ma(h,j[0])),v&&(_=ma(v,j.at(-1))),Tn([p,...j,_],t)}function Br(r,t,e,n){const i=[],a=It(r);if((0,w.Z)(t,e))switch(Qn(t,a)){case"left":i.push([t[0]-n,t[1]]),i.push([t[0]-n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"right":i.push([t[0]+n,t[1]]),i.push([t[0]+n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"top":i.push([t[0],t[1]-n]),i.push([t[0]+n,t[1]-n]),i.push([t[0]+n,t[1]]);break;case"bottom":i.push([t[0],t[1]+n]),i.push([t[0]+n,t[1]+n]),i.push([t[0]+n,t[1]]);break}else{const A=Qn(t,a),l=Qn(e,a);if(A===l){const h=A;let v,p;switch(h){case"left":v=Math.min(t[0],e[0])-n,i.push([v,t[1]]),i.push([v,e[1]]);break;case"right":v=Math.max(t[0],e[0])+n,i.push([v,t[1]]),i.push([v,e[1]]);break;case"top":p=Math.min(t[1],e[1])-n,i.push([t[0],p]),i.push([e[0],p]);break;case"bottom":p=Math.max(t[1],e[1])+n,i.push([t[0],p]),i.push([e[0],p]);break}}else{const h=(j,q)=>({left:[q[0]-n,q[1]],right:[q[0]+n,q[1]],top:[q[0],q[1]-n],bottom:[q[0],q[1]+n]})[j],v=h(A,t),p=h(l,e),_=$(v,p,a);i.push(v,_,p)}}return i}function Ur(r,t){const e=new Set,n=new Set,i=new Set;return r.forEach(a=>{t(a).forEach(l=>{e.add(l),r.includes(l.source)&&r.includes(l.target)?n.add(l):i.add(l)})}),{edges:Array.from(e),internal:Array.from(n),external:Array.from(i)}}function Fr(r,t){const e=[];let n=r;for(;n;){e.push(n);const i=t(be(n));if(i)n=i;else break}if(e.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=e.reverse().findIndex(Ca);return e[i]||e.at(-1)}return r}function Zr(r,t){return t||(r<4?10:r===4?12:r*2.5)}const Wr=(r,t)=>{const e=Math.max(r,t)/2;return[["M",-r/2,0],["A",e,e,0,1,0,2*e-r/2,0],["A",e,e,0,1,0,-r/2,0],["Z"]]},$r=(r,t)=>[["M",-r/2,0],["L",r/2,-t/2],["L",r/2,t/2],["Z"]],Bi=(r,t)=>[["M",-r/2,0],["L",0,-t/2],["L",r/2,0],["L",0,t/2],["Z"]],vi=(r,t)=>[["M",-r/2,0],["L",r/2,-t/2],["L",4*r/5-r/2,0],["L",r/2,t/2],["Z"]],fi=(r,t)=>[["M",-r/2,-t/2],["L",r/2,-t/2],["L",r/2,t/2],["L",-r/2,t/2],["Z"]],Mi=(r,t)=>{const e=r/2,n=r/7,i=r-n;return[["M",-e,0],["L",0,-t/2],["L",0,t/2],["Z"],["M",i-e,-t/2],["L",i+n-e,-t/2],["L",i+n-e,t/2],["L",i-e,t/2],["Z"]]},bi=(r,t)=>[["M",r/2,-t/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,t/2]];var W=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{v in i&&(h[v]=i[v])}),h}getLoopPath(t){const{sourcePort:e,targetPort:n}=t,i=this.sourceNode,a=It(i),A=Math.max(nt(a),Nt(a)),{placement:l,clockwise:h,dist:v=A}=Gi(this.getGraphicStyle(t),"loop");return lr(i,l,h,v,e,n)}getEndpoints(t,e=!0,n=[]){const{sourcePort:i,targetPort:a}=t,{sourceNode:A,targetNode:l}=this,[h,v]=va(A,l,i,a);if(!e){const q=h?Ti(h):A.getCenter(),At=v?Ti(v):l.getCenter();return[q,At]}const p=typeof n=="function"?n():n,_=Qi(h||A,p[0]||v||l),j=Qi(v||l,p[p.length-1]||h||A);return[_,j]}getHaloStyle(t){if(t.halo===!1)return!1;const e=this.getKeyStyle(t),n=Gi(this.getGraphicStyle(t),"halo");return Object.assign(Object.assign({},e),n)}getLabelStyle(t){if(t.label===!1||!t.labelText)return!1;const e=Gi(this.getGraphicStyle(t),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:A,maxWidth:l}=e,h=W(e,["placement","offsetX","offsetY","autoRotate","maxWidth"]),v=it(this.shapeMap.key,n,A,i,a),p=this.shapeMap.key.getLocalBounds(),_=Wi([p.min,p.max],l);return Object.assign({wordWrapWidth:_},v,h)}getBadgeStyle(t){if(t.badge===!1||!t.badgeText)return!1;const e=Gi(t,"badge"),{offsetX:n,offsetY:i,placement:a}=e,A=W(e,["offsetX","offsetY","placement"]);return Object.assign(A,Et(this.shapeMap,a,t.labelPlacement,n,i))}drawArrow(t,e){var n;const i=e==="start",A=t[e==="start"?"startArrow":"endArrow"],l=this.shapeMap.key;if(A){const h=this.getArrowStyle(t,i),[v,p,_]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],j=l.parsedStyle[v];if(j)j.attr(h);else{const q=h.src?R.Ee:R.y$,At=new q({style:h});l.style[v]=At}l.style[p]=t[_]||h.width/2+ +h.lineWidth}else{const h=i?"markerStart":"markerEnd";(n=l.style[h])===null||n===void 0||n.destroy(),l.style[h]=null}}getArrowStyle(t,e){const n=this.getShape("key").attributes,i=e?"startArrow":"endArrow",a=Gi(this.getGraphicStyle(t),i),{size:A,type:l}=a,h=W(a,["size","type"]),[v,p]=is(Zr(n.lineWidth,A)),j=((0,Me.Z)(l)?l:c[l]||$r)(v,p);return Object.assign((0,oa.Z)(n,["stroke","strokeOpacity","fillOpacity"]),{width:v,height:p},Object.assign({},j&&{d:j,fill:l==="simple"?"":n.stroke}),h)}drawLabelShape(t,e){const n=this.getLabelStyle(t);this.upsert("label",Ia,n,e)}drawHaloShape(t,e){const n=this.getHaloStyle(t);this.upsert("halo",R.y$,n,e)}drawBadgeShape(t,e){const n=this.getBadgeStyle(t);this.upsert("badge",ao,n,e)}drawSourceArrow(t){this.drawArrow(t,"start")}drawTargetArrow(t){this.drawArrow(t,"end")}drawKeyShape(t,e){const n=this.getKeyStyle(t);return this.upsert("key",R.y$,n,e)}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.getShape("key")&&(this.drawSourceArrow(t),this.drawTargetArrow(t),this.drawLabelShape(t,e),this.drawHaloShape(t,e),this.drawBadgeShape(t,e))}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(t,e){const n=super.animate(t,e);return n&&new Proxy(n,{set:(i,a,A)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,A))})}}H.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 Q extends H{constructor(t){super(Ha({style:Q.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t),{controlPoints:i,curvePosition:a,curveOffset:A}=t,l=this.getControlPoints(e,n,$e(a),ie(A),i);return mn(e,n,l)}getControlPoints(t,e,n,i,a){return(a==null?void 0:a.length)===2?a:[ee(t,e,n[0],i[0]),ee(t,e,n[1],i[1])]}}Q.defaultStyleProps={curvePosition:.5,curveOffset:20};class k extends Q{constructor(t){super(Ha({style:k.defaultStyleProps},t))}getControlPoints(t,e,n,i){const a=e[0]-t[0];return[[t[0]+a*n[0]+i[0],t[1]],[e[0]-a*n[1]+i[1],e[1]]]}}k.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Y extends Q{constructor(t){super(Ha({style:Y.defaultStyleProps},t))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(t){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(t);const e=Re(this.ref),n=this.sourceNode.getIntersectPoint(e,!0),i=this.targetNode.getIntersectPoint(e);return[n,i]}toRadialCoordinate(t){const e=Re(this.ref),n=mt(t,e),i=Nn(Lt(t,e));return[n,i]}getControlPoints(t,e,n,i){const[a,A]=this.toRadialCoordinate(t),[l]=this.toRadialCoordinate(e),h=l-a;return[[t[0]+(h*n[0]+i[0])*Math.cos(A),t[1]+(h*n[0]+i[0])*Math.sin(A)],[e[0]-(h*n[1]-i[0])*Math.cos(A),e[1]-(h*n[1]-i[0])*Math.sin(A)]]}}Y.defaultStyleProps={curvePosition:.5,curveOffset:20};class at extends Q{constructor(t){super(Ha({style:at.defaultStyleProps},t))}getControlPoints(t,e,n,i){const a=e[1]-t[1];return[[t[0],t[1]+a*n[0]+i[0]],[e[0],e[1]-a*n[1]+i[1]]]}}at.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class ht extends H{constructor(t){super(Ha({style:ht.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t);return[["M",e[0],e[1]],["L",n[0],n[1]]]}}ht.defaultStyleProps={};const ut={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:ct},yt=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function Ht(r,t){const e=n=>Math.round(n/t);return(0,On.Z)(r)?e(r):r.map(e)}function he(r,t){const e=Math.abs(r-t);return e>Math.PI?2*Math.PI-e:e}function xe(r,t){const e=t[0]-r[0],n=t[1]-r[1];return!e&&!n?0:Math.atan2(n,e)}function ke(r,t,e,n){const i=xe(r,t),a=e[yt(r)],l=xe(a||n,r);return he(l,i)}const Ye=(r,t)=>{const{offset:e,gridSize:n}=t,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const A=Wt(a.getRenderBounds(),e);for(let l=Ht(A.min[0],n);l<=Ht(A.max[0],n);l+=1)for(let h=Ht(A.min[1],n);h<=Ht(A.max[1],n);h+=1)i[`${l}|||${h}`]=!0}),i};function cn(r,t,e){return Math.min(...t.map(n=>e(r,n)))}function _n(r,t,e){let n=r[0],i=e(r[0],t);for(let a=0;a{if(!t)return[r];const{directionMap:i,offset:a}=n,A=Wt(t.getRenderBounds(),a),l=Object.keys(i).reduce((h,v)=>{if(e.includes(v)){const p=i[v],[_,j]=Yt(A),q=[r[0]+p.stepX*_,r[1]+p.stepY*j],At=ur(A);for(let wt=0;wtHt(h,n.gridSize))},tr=(r,t,e,n,i,a,A)=>{const l=[];let h=[a[0]===n[0]?n[0]:r[0]*A,a[1]===n[1]?n[1]:r[1]*A];l.unshift(h);let v=r,p=t[yt(v)];for(;p;){const q=p,At=v;ke(q,At,t,e)&&(h=[q[0]===At[0]?h[0]:q[0]*A,q[1]===At[1]?h[1]:q[1]*A],l.unshift(h)),p=t[yt(q)],v=q}const _=i.map(q=>[q[0]*A,q[1]*A]),j=_n(_,h,ct);return l.unshift(j),l};function nr(r,t,e,n){const i=Je(r.getCenter()),a=Je(t.getCenter()),A=Object.assign(ut,n),{gridSize:l}=A,h=A.enableObstacleAvoidance?e:[r,t],v=Ye(h,A),p=Ht(i,l),_=Ht(a,l),j=Mn(i,r,A.startDirections,A),q=Mn(a,t,A.endDirections,A);j.forEach(gn=>delete v[yt(gn)]),q.forEach(gn=>delete v[yt(gn)]);const At={},wt={},Ot={},Xt={},ne={},fe=new Ar;for(let gn=0;gnyt(gn));let Fn=A.maximumLoops,yn,Zn=1/0;for(const[gn,fr]of Object.entries(At))ne[gn]<=Zn&&(Zn=ne[gn],yn=fr);for(;Object.keys(At).length>0&&Fn>0;){const gn=fe.minId(!1);if(gn)yn=At[gn];else break;const fr=yt(yn);if(He.includes(fr))return tr(yn,Ot,p,a,j,_,l);delete At[fr],fe.remove(fr),wt[fr]=!0;for(const Rr of Object.values(A.directionMap)){const Jr=z(yn,[Rr.stepX,Rr.stepY]),Li=yt(Jr);if(wt[Li])continue;const Ei=ke(yn,Jr,Ot,p);if(Ei>A.maxAllowedDirectionChange||v[Li])continue;At[Li]||(At[Li]=Jr);const Si=A.penalties[Ei],ci=A.distFunc(yn,Jr)+(isNaN(Si)?l:Si),Pi=Xt[fr]+ci,Qa=Xt[Li];Qa&&Pi>=Qa||(Ot[Li]=yn,Xt[Li]=Pi,ne[Li]=Pi+cn(Jr,q,A.distFunc),fe.add({id:Li,value:ne[Li]}))}Fn-=1}return[]}class Ar{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(t,e){let n=0,i=e-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>t.value)i=a;else if(this.arr[a].value=0;e--)this.map[this.arr[e].id]?t=this.arr[e].id:this.arr.splice(e,1);return t}_findFirstId(){for(;this.arr.length;){const t=this.arr.shift();if(this.map[t.id])return t.id}}minId(t){return t?this._clearAndGetMinId():this._findFirstId()}}class pr extends H{constructor(t){super(Ha({style:pr.defaultStyleProps},t))}getControlPoints(t){const{router:e}=t,{sourceNode:n,targetNode:i}=this,[a,A]=this.getEndpoints(t,!1);let l=[];if(!e)l=t.controlPoints;else if(e.type==="shortest-path"){const h=this.context.element.getNodes();l=nr(n,i,h,e),l.length||(l=xa(a,A,n,i,t.controlPoints,{padding:e.offset}))}else e.type==="orth"&&(l=xa(a,A,n,i,t.controlPoints,e));return l}getPoints(t){const e=this.getControlPoints(t),[n,i]=this.getEndpoints(t,!0,e);return[n,...e,i]}getKeyPath(t){const e=this.getPoints(t);return Tn(e,t.radius)}getLoopPath(t){const{sourcePort:e,targetPort:n,radius:i}=t,a=this.sourceNode,A=It(a),l=Math.max(nt(A),Nt(A))/4,{placement:h,clockwise:v,dist:p=l}=Gi(this.getGraphicStyle(t),"loop");return cr(a,i,h,v,p,e,n)}}pr.defaultStyleProps={radius:0,controlPoints:[],router:!1};class Lr extends H{constructor(t){super(Ha({style:Lr.defaultStyleProps},t))}getKeyPath(t){const{curvePosition:e,curveOffset:n}=t,[i,a]=this.getEndpoints(t),A=t.controlPoint||ee(i,a,e,n);return Xe(i,a,A)}}Lr.defaultStyleProps={curvePosition:.5,curveOffset:30};var Dr=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{var a;const{key:A,placement:l}=n;gi(n)&&(t[a=A||i]||(t[a]=Gn(r.getShape("key").getBounds(),l)))}),t}function gi(r){const{r:t}=r;return!t||Number(t)===0}function Ti(r){return se(r)?r:r.getPosition()}function va(r,t,e,n){const i=Ai(r,t,e,n),a=Ai(t,r,n,e);return[i,a]}function Ai(r,t,e,n){const i=xi(r);if(e)return i[e];const a=Object.values(i);if(a.length===0)return;const A=a.map(v=>Ti(v)),l=Yi(t,n),[h]=xr(A,l);return a.find(v=>Ti(v)===h)}function Yi(r,t){const e=xi(r);if(t)return[Ti(e[t])];const n=Object.values(e);return n.length>0?n.map(i=>Ti(i)):[r.getCenter()]}function Qi(r,t){return yi(r)||Kr(r)?ki(r,t):ma(r,t)}function ma(r,t){if(!r||!t)return[0,0,0];if(se(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const e=se(t)?t:Kr(t)?t.getCenter():t.getPosition();return qn(e,r.getBounds())}function ki(r,t){if(!r||!t)return[0,0,0];const e=se(t)?t:Kr(t)?t.getCenter():t.getPosition();return r.getIntersectPoint(e)||r.getCenter()}function _i(r,t="bottom",e=0,n=0,i=!1){const a=t.split("-"),[A,l]=Gn(r,t),[h,v]=i?["bottom","top"]:["top","bottom"],p=a.includes("top")?v:a.includes("bottom")?h:"middle",_=a.includes("left")?"right":a.includes("right")?"left":"center";return{transform:[["translate",A+e,l+n]],textBaseline:p,textAlign:_}}function Ma(r,t){return[[0,-r],[t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,t],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)]]}function Ls(r,t){const e={};return e.top=[0,-r],e.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],e["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],e.bottom=[0,t],e["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],e.right=e.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],e}function Ya(r,t,e){const n=t/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[e]||a.up}function zo(r,t,e){const n=t/2,i=r/2,a={};return e==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):e==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):e==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function tA(r,t){return[[r/2,-t/2],[r/2,t/2],[-r/2,t/2],[-r/2,-t/2]]}function Bs(r,t){return[[0,-t/2],[r/2,0],[0,t/2],[-r/2,0]]}function ks(r){return(0,$a.Z)(r,["style","visibility"])!=="hidden"}function go(r,t){const{zIndex:e,transform:n,transformOrigin:i,visibility:a,cursor:A,clipPath:l,component:h}=t,v=Dr(t,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(r.attributes,v),n&&r.setAttribute("transform",n),(0,On.Z)(e)&&r.setAttribute("zIndex",e),i&&r.setAttribute("transformOrigin",i),a&&r.setAttribute("visibility",a),A&&r.setAttribute("cursor",A),l&&r.setAttribute("clipPath",l),h&&r.setAttribute("component",h)}function vo(r,t){"update"in r?r.update(t):r.attr(t)}function ts(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function _s(r){(0,no.Z)(r,"__to_be_destroyed__",!0)}function Hs(r){return(0,$a.Z)(r,"__to_be_destroyed__",!1)}var rl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class LA extends x{constructor(t,e){super(t,Object.assign({},LA.defaultOptions,e)),this.onCollapseExpand=n=>rl(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!ji(i))return;const a=i.id,{model:A,graph:l}=this.context,h=A.getElementDataById(a);if(!h)return!1;const{onCollapse:v,onExpand:p,animation:_,align:j}=this.options;Ca(h)?(yield l.expandElement(a,{animation:_,align:j}),p==null||p(a)):(yield l.collapseElement(a,{animation:_,align:j}),v==null||v(a))}),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`node:${e}`,this.onCollapseExpand),t.on(`combo:${e}`,this.onCollapseExpand)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`node:${e}`,this.onCollapseExpand),t.off(`combo:${e}`,this.onCollapseExpand)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}LA.defaultOptions={enable:!0,animation:!0,trigger:V.DBLCLICK,align:!0};var Vl=g(63178),dA=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);iAt.length!==wt.length?!1:At.every((Ot,Xt)=>Ot===wt[Xt]),q=(At,wt)=>{const Ot=Object.keys(At),Xt=Object.keys(wt);return Ot.length!==Xt.length?!1:Ot.every(ne=>At[ne]===wt[ne])};return!(!q(A,_)||!j(a,p)||!j(e,l)||!q(n,h)||!q(i,v))}const pl="__internal_override__";function Za(r){return r[pl]!==!1}var lo=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};const nA="g6-create-edge-assist-edge-id",ya="g6-create-edge-assist-node-id";class gs extends x{constructor(t,e){super(t,Object.assign({},gs.defaultOptions,e)),this.drop=n=>lo(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>lo(this,void 0,void 0,function*(){var i,a,A;if(!this.validate(n))return;const{graph:l,canvas:h,batch:v,element:p}=this.context,{style:_}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}v.startBatch(),h.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const j=l.getElementData(this.source);l.addNodeData([{id:ya,type:"circle",[pl]:!1,style:{size:1,visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=j.style)===null||i===void 0?void 0:i.x,y:(a=j.style)===null||a===void 0?void 0:a.y}}]),l.addEdgeData([{id:nA,source:this.source,target:ya,style:Object.assign({pointerEvents:"none"},_)}]),yield(A=p.draw({animation:!1}))===null||A===void 0?void 0:A.finished}),this.updateAssistEdge=n=>lo(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:A}=this.context;a.translateNodeTo(ya,[n.client.x,n.client.y]),yield(i=A.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:A}=this.context,{style:l,onFinish:h,onCreate:v}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const _=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],j=`${this.source}-${_}-${(0,Vl.Z)()}`,q=v({id:j,source:this.source,target:_,style:l});q&&(A.addEdgeData([q]),h(q))},this.cancelEdge=()=>lo(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:A}=this.context;i.removeNodeData([ya]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,A.endBatch()}),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;this.unbindEvents(),e==="click"?(t.on(ft.CLICK,this.handleCreateEdge),t.on(tt.CLICK,this.handleCreateEdge),t.on(Z.CLICK,this.cancelEdge),t.on(st.CLICK,this.cancelEdge)):(t.on(ft.DRAG_START,this.handleCreateEdge),t.on(tt.DRAG_START,this.handleCreateEdge),t.on(V.POINTER_UP,this.drop)),t.on(V.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;t.off(ft.CLICK,this.handleCreateEdge),t.off(tt.CLICK,this.handleCreateEdge),t.off(Z.CLICK,this.cancelEdge),t.off(st.CLICK,this.cancelEdge),t.off(ft.DRAG_START,this.handleCreateEdge),t.off(tt.DRAG_START,this.handleCreateEdge),t.off(V.POINTER_UP,this.drop),t.off(V.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}gs.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};var Ga=g(78431),Js=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class co extends x{constructor(t,e){super(t,Object.assign({},co.defaultOptions,e)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{var i,a,A,l;if(!this.isDragging||Jn.isPinching)return;const h=(a=(i=n.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:n.dx,v=(l=(A=n.movement)===null||A===void 0?void 0:A.y)!==null&&l!==void 0?l:n.dy;h|v&&this.translate([h,v],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=(0,Ga.Z)(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Xi(t.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if((0,S.Z)(t)){const{up:e=[],down:n=[],left:i=[],right:a=[]}=t;this.shortcut.bind(e,A=>this.onTranslate([0,1],A)),this.shortcut.bind(n,A=>this.onTranslate([0,-1],A)),this.shortcut.bind(i,A=>this.onTranslate([1,0],A)),this.shortcut.bind(a,A=>this.onTranslate([-1,0],A))}else{const{graph:e}=this.context;e.on(V.DRAG_START,this.onDragStart),e.on(V.DRAG,this.onDrag),e.on(V.DRAG_END,this.onDragEnd)}}onTranslate(t,e){return Js(this,void 0,void 0,function*(){if(!this.validate(e))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(Rt(t,i),this.options.animation),this.invokeOnFinish()})}translate(t,e){return Js(this,void 0,void 0,function*(){t=this.clampByDirection(t),t=this.clampByRange(t),t=this.clampByRotation(t),yield this.context.graph.translateBy(t,e)})}clampByRotation([t,e]){const n=this.context.graph.getRotation();return er([t,e],n)}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[a,A]=i.getSize(),[l,h,v,p]=Ke(this.options.range),_=[A*l,a*h,A*v,a*p],j=Wt(Qt(n.getCanvasCenter()),_),q=Lt(n.getViewportCenter(),[t,e,0]);if(!oe(q,j)){const{min:[At,wt],max:[Ot,Xt]}=j;(q[0]0||q[0]>Ot&&t<0)&&(t=0),(q[1]0||q[1]>Xt&&e<0)&&(e=0)}return[t,e]}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return typeof e=="function"?e(t):!!e}unbindEvents(){this.shortcut.unbindAll();const{graph:t}=this.context;t.off(V.DRAG_START,this.onDragStart),t.off(V.DRAG,this.onDrag),t.off(V.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}co.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var UA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Wo extends x{constructor(t,e){super(t,Object.assign({},Wo.defaultOptions,e)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>UA(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:A}=this.context,l=n.target.id;this.target.forEach(h=>{const v=a.getParentData(h,Ut);v&&be(v)===l&&a.refreshComboData(l),a.setParent(h,l,Ut)}),yield(i=A==null?void 0:A.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:A}=this.options;i===V.POINTER_ENTER?a.setCursor((A==null?void 0:A.grab)||"grab"):a.setCursor((A==null?void 0:A.default)||"default")},this.shortcut=new Xi(t.graph),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(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.on(`${i}:${V.DRAG_START}`,this.onDragStart),t.on(`${i}:${V.DRAG}`,this.onDrag),t.on(`${i}:${V.DRAG_END}`,this.onDragEnd),t.on(`${i}:${V.POINTER_ENTER}`,this.setCursor),t.on(`${i}:${V.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(t.on(tt.DROP,this.onDrop),t.on(Z.DROP,this.onDrop))}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}getDelta(t){const e=this.context.graph.getZoom();return Jt([t.dx,t.dy],e)}onDragStart(t){var e;if(this.enable=this.validate(t),!this.enable)return;const{batch:n,canvas:i,graph:a}=this.context;i.setCursor(((e=this.options.cursor)===null||e===void 0?void 0:e.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch();const A=t.target.id;a.getElementState(A).includes(this.options.state)?this.target=this.getSelectedNodeIDs([A]):this.target=[A],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.options.shadow?this.moveShadow(e):this.moveElement(this.target,e)}onDragEnd(){var t,e,n;if(!this.enable)return;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:A=0,y:l=0}=this.shadow.attributes,[h,v]=Lt([+A,+l],this.shadowOrigin);this.moveElement(this.target,[h,v])}this.showEdges(),(e=(t=this.options).onFinish)===null||e===void 0||e.call(t,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}isKeydown(){const{trigger:t}=this.options;return t!=null&&t.length?this.shortcut.match(t):!0}validate(t){if(this.destroyed||Hs(t.target)||this.context.graph.isCollapsingExpanding||!this.isKeydown())return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}clampByRotation([t,e]){const n=this.context.graph.getRotation();return er([t,e],n)}moveElement(t,e){return UA(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&t.forEach(A=>i.refreshComboData(A)),n.translateElementBy(Object.fromEntries(t.map(A=>[A,this.clampByRotation(e)])),!1)})}moveShadow(t){if(!this.shadow)return;const{x:e=0,y:n=0}=this.shadow.attributes,[i,a]=t;this.shadow.attr({x:+e+i,y:+n+a})}createShadow(t){const e=Gi(this.options,"shadow"),n=ge(t.map(v=>this.context.element.getElement(v).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[A,l]=Yt(n),h={width:A,height:l,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},e),h),{visibility:"visible"})):(this.shadow=new R.UL({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},e),h),{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:t,shadow:e}=this.options;if(t==="none"||e)return;const{graph:n}=this.context;t==="all"?this.hiddenEdges=n.getEdgeData().map(be):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,t).map(be)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.off(`${i}:${V.DRAG_START}`,this.onDragStart),t.off(`${i}:${V.DRAG}`,this.onDrag),t.off(`${i}:${V.DRAG_END}`,this.onDragEnd),t.off(`${i}:${V.POINTER_ENTER}`,this.setCursor),t.off(`${i}:${V.POINTER_LEAVE}`,this.setCursor)}),t.off(`combo:${V.DROP}`,this.onDrop),t.off(`canvas:${V.DROP}`,this.onDrop)}destroy(){var t;this.unbindEvents(),(t=this.shadow)===null||t===void 0||t.destroy(),super.destroy()}}Wo.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),trigger:[],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 Xa=g(67469);class rA{constructor(t,e){this.context=t,this.options=e||{}}}var ml=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})},il=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const a=i.data._isCombo?n.combos:n.nodes,{x:A,y:l,z:h=0}=i.data;a==null||a.push({id:i.id,style:{x:A,y:l,z:h}})}),e.forEach(i=>{const{id:a,source:A,target:l,data:{points:h=[],controlPoints:v=h.slice(1,h.length-1)}}=i;n.edges.push({id:a,source:A,target:l,style:Object.assign({},v!=null&&v.length?{controlPoints:v.map(Cr)}:{})})}),n}function Bu(r,t){class e extends rA{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const A=this.instance;this.stop=A.stop.bind(A),this.tick=l=>{const h=A.tick(l);return uo(h)}}}execute(i,a){return ml(this,void 0,void 0,function*(){return uo(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions((0,m.Z)({},this.options,a))))})}transformOptions(i){if(!("onTick"in i))return i;const a=i.onTick;return i.onTick=A=>a(uo(A)),i}graphData2LayoutModel(i){const{nodes:a=[],edges:A=[],combos:l=[]}=i,h=a.map(q=>{const At=be(q),{data:wt,style:Ot,combo:Xt}=q,ne=il(q,["data","style","combo"]),fe={id:At,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},wt),{data:wt}),Xt?{parentId:Xt}:{}),{style:Ot}),ne)};return Ot!=null&&Ot.x&&Object.assign(fe.data,{x:Ot.x}),Ot!=null&&Ot.y&&Object.assign(fe.data,{y:Ot.y}),Ot!=null&&Ot.z&&Object.assign(fe.data,{z:Ot.z}),fe}),v=new Map(h.map(q=>[q.id,q])),p=A.filter(q=>{const{source:At,target:wt}=q;return v.has(At)&&v.has(wt)}).map(q=>{const{source:At,target:wt,data:Ot,style:Xt}=q;return{id:be(q),source:At,target:wt,data:Object.assign({},Ot),style:Object.assign({},Xt)}}),_=l.map(q=>({id:be(q),data:Object.assign({_isCombo:!0},q.data),style:Object.assign({},q.style)})),j=new Xa.k({nodes:[...h,..._],edges:p});return t.model.model.hasTreeStructure(Ut)&&(j.attachTreeStructure(Ut),h.forEach(q=>{const At=t.model.model.getParent(q.id,Ut);At&&j.hasNode(At.id)&&j.setParent(q.id,At.id,Ut)})),j}}return e}function yl(r,t,...e){if(t in r)return r[t](...e);if("instance"in r){const n=r.instance;if(t in n)return n[t](...e)}return null}function Zs(r,t){if(t in r)return r[t];if("instance"in r){const e=r.instance;if(t in e)return e[t]}return null}var wl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class bu extends Wo{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(t=>["d3-force","d3-force-3d"].includes(t==null?void 0:t.id))}validate(t){return this.context.layout?this.forceLayoutInstance?super.validate(t):(wn.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(t,e){return wl(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(t).forEach((i,a)=>{const{x:A=0,y:l=0}=i.style||{};n&&yl(n,"setFixedPosition",t[a],[...z([+A,+l],this.clampByRotation(e))])})})}onDragStart(t){if(this.enable=this.validate(t),!this.enable)return;this.target=this.getSelectedNodeIDs([t.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const e=this.forceLayoutInstance;e&&Zs(e,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};e&&yl(e,"setFixedPosition",be(n),[+i,+a])})}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.moveElement(this.target,e)}onDragEnd(){const t=this.forceLayoutInstance;t&&Zs(t,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(e=>{t&&yl(t,"setFixedPosition",be(e),[null,null,null])})}}var DA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class al extends x{constructor(t,e){super(t,Object.assign({},al.defaultOptions,e)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>DA(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:A,edgeFilter:l,comboFilter:h}=this.options,v=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(A),p=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(l),_=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(h),j=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,q=[...v,..._];q.length>0&&q.forEach(At=>this.fixNodeLike(At,j)),this.updateRelatedEdges(),p.length>0&&p.forEach(At=>this.fixEdge(At,j))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var A;const l=this.cachedStyles.get(n)||[],h=((A=l.find(v=>v.shape===i))===null||A===void 0?void 0:A.style)||{};return a in h||(h[a]=i.attributes[a],this.cachedStyles.set(n,[...l.filter(v=>v.shape!==i),{shape:i,style:h}])),h[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const A=this.cachedStyles.get(n)||[];A.push({shape:i}),this.cachedStyles.set(n,A)},this.scaleSpecificShapes=(n,i,a)=>{const A=Uo(n);(Array.isArray(a)?a:[a]).forEach(h=>{const{shape:v,fields:p}=h,_=typeof v=="function"?v(A):n.getShape(v);if(_){if(!p){this.scaleEntireElement(n.id,_,i);return}p.forEach(j=>{const q=this.getOriginalFieldValue(n.id,_,j);(0,On.Z)(q)&&(_.style[j]=q/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=be(n),{element:A,model:l}=this.context,h=A.getElement(a);if(!h||this.skipIfExceedViewport(h))return;l.getRelatedEdgesData(a).forEach(_=>this.relatedEdgeToUpdate.add(be(_)));const p=this.options[h.type];if(!p){this.scaleEntireElement(a,h,i);return}this.scaleSpecificShapes(h,i,p)},this.fixEdge=(n,i)=>{const a=be(n),A=this.context.element.getElement(a);if(!A||this.skipIfExceedViewport(A))return;const l=this.options.edge;if(!l){A.style.transformOrigin="center",this.scaleEntireElement(a,A,i);return}this.scaleSpecificShapes(A,i,l)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>DA(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:A})=>{if((0,Ka.Z)(A))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(A).forEach(([l,h])=>a.style[l]=h)}})});const{graph:t,element:e}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&t.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{t.getRelatedEdgesData(a).forEach(A=>i.add(be(A)))}),i.forEach(a=>{const A=e==null?void 0:e.getElement(a);A==null||A.update({})})}}}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_DRAW,this.resetTransform),t.on(X.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.resetTransform),t.off(X.AFTER_TRANSFORM,this.fixElementSize)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}al.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var gA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class RA extends x{constructor(t,e){super(t,Object.assign({},RA.defaultOptions,e)),this.focus=n=>gA(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.shortcut=new Xi(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(e=>{t.on(`${e}:${V.CLICK}`,this.focus)})}validate(t){if(this.destroyed||!this.isKeydown())return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}isKeydown(){const{trigger:t}=this.options;return t!=null&&t.length?this.shortcut.match(t):!0}unbindEvents(){const{graph:t}=this.context;Ba.forEach(e=>{t.off(`${e}:${V.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),this.shortcut.destroy(),super.destroy()}}RA.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0,trigger:[]};class QA extends x{constructor(t,e){super(t,Object.assign({},QA.defaultOptions,e)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===V.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:A}=this.options;i?a==null||a(n):A==null||A(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:A,animation:l,inactiveState:h}=this.options,v=this.getActiveIds(n),p={};if(A&&Object.assign(p,this.getElementsState(v,A,i)),h){const _=mr(a.getData(),!0).filter(j=>!v.includes(j));Object.assign(p,this.getElementsState(_,h,i))}a.setElementState(p,l)},this.getElementsState=(n,i,a)=>{const{graph:A}=this.context,l={};return n.forEach(h=>{const v=A.getElementState(h);a?l[h]=v.includes(i)?v:[...v,i]:l[h]=v.filter(p=>p!==i)}),l},this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(n=>{t.on(`${n}:${V.POINTER_ENTER}`,this.hoverElement),t.on(`${n}:${V.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.addEventListener(`${V.DRAG_START}`,this.toggleFrozen),e.addEventListener(`${V.DRAG_END}`,this.toggleFrozen)}getActiveIds(t){const{graph:e}=this.context,{degree:n,direction:i}=this.options,a=t.target.id;return n?bs(e,t.targetType,a,typeof n=="function"?n(t):n,i):[a]}validate(t){if(this.destroyed||this.isFrozen||Hs(t.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ba.forEach(n=>{t.off(`${n}:${V.POINTER_ENTER}`,this.hoverElement),t.off(`${n}:${V.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.removeEventListener(`${V.DRAG_START}`,this.toggleFrozen),e.removeEventListener(`${V.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}QA.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class Fc extends ta{onPointerDown(t){if(!super.validate(t)||!super.isKeydown()||this.points)return;const{canvas:e,graph:n}=this.context;this.pathShape=new R.y$({id:"g6-lasso-select",style:this.options.style}),e.appendChild(this.pathShape),this.points=[la(t,n)]}onPointerMove(t){var e;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(la(t,this.context.graph)),(e=this.pathShape)===null||e===void 0||e.setAttribute("d",Jo(this.points)),n&&i==="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 t;(t=this.pathShape)===null||t===void 0||t.remove(),this.pathShape=void 0,this.points=void 0}}class sl extends x{constructor(t,e){super(t,Object.assign({},sl.defaultOptions,e)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(A=>{i==="hidden"&&!A.isVisible()?this.hiddenShapes.push(A):i==="visible"&&this.hiddenShapes.includes(A)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(A),1):un(A,i,a)})},this.filterShapes=(n,i)=>{if((0,Me.Z)(i))return A=>!i(n,A);const a=i==null?void 0:i[n];return A=>A.className?!(a!=null&&a.includes(A.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=(0,Ga.Z)(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:t}=this.context;t.on(X.BEFORE_TRANSFORM,this.hideShapes),t.on(X.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:t}=this.context;t.off(X.BEFORE_TRANSFORM,this.hideShapes),t.off(X.AFTER_TRANSFORM,this.showShapes)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}sl.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var Ic=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class vA extends x{constructor(t,e){super(t,Object.assign({},vA.defaultOptions,e)),this.onWheel=n=>Ic(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Xi(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){var t,e;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),(0,S.Z)(n)){(t=this.graphDom)===null||t===void 0||t.removeEventListener(V.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:A=[],right:l=[]}=n;this.shortcut.bind(i,h=>this.scroll([0,-10],h)),this.shortcut.bind(a,h=>this.scroll([0,10],h)),this.shortcut.bind(A,h=>this.scroll([-10,0],h)),this.shortcut.bind(l,h=>this.scroll([10,0],h))}else(e=this.graphDom)===null||e===void 0||e.addEventListener(V.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(t){const{sensitivity:e}=this.options;return t=Rt(t,e),t=this.clampByDirection(t),t=this.clampByRange(t),t}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[a,A]=i.getSize(),[l,h,v,p]=Ke(this.options.range),_=[A*l,a*h,A*v,a*p],j=Wt(Qt(n.getCanvasCenter()),_),q=Lt(n.getViewportCenter(),[t,e,0]);if(!oe(q,j)){const{min:[At,wt],max:[Ot,Xt]}=j;(q[0]0||q[0]>Ot&&t<0)&&(t=0),(q[1]0||q[1]>Xt&&e<0)&&(e=0)}return[t,e]}scroll(t,e){return Ic(this,void 0,void 0,function*(){if(!this.validate(e))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(t);yield i.translateBy(a,!1),n==null||n()})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.graphDom)===null||t===void 0||t.removeEventListener(V.WHEEL,this.onWheel),super.destroy()}}vA.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var El=g(70208),jl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Bl extends x{constructor(t,e){super(t,Object.assign({},Bl.defaultOptions,e)),this.zoom=(n,i,a)=>jl(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:A}=this.context;let l=this.options.origin;!l&&"viewport"in i&&(l=Cr(i.viewport));const{sensitivity:h,onFinish:v}=this.options,p=1+(0,El.Z)(n,-50,50)*h/100,_=A.getZoom();yield A.zoomTo(_*p,a,l),v==null||v()}),this.onReset=()=>jl(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Xi(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if(this.shortcut.unbindAll(),Array.isArray(t))if(t.includes(V.PINCH))this.shortcut.bind([V.PINCH],e=>{this.zoom(e.scale,e,!1)});else{const e=this.context.canvas.getContainer();e==null||e.addEventListener(V.WHEEL,this.preventDefault),this.shortcut.bind([...t,V.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})}if(typeof t=="object"){const{zoomIn:e=[],zoomOut:n=[],reset:i=[]}=t;this.shortcut.bind(e,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(n,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.context.canvas.getContainer())===null||t===void 0||t.removeEventListener(V.WHEEL,this.preventDefault),super.destroy()}}Bl.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};function Lc(r,t,e,n="height"){const i=r[n],a=t[n];return e==="center"?(i+a)/2:r.height}const os=Object.assign,Yl={getId:r=>r.id||r.name,getPreH:r=>r.preH||0,getPreV:r=>r.preV||0,getHGap:r=>r.hgap||18,getVGap:r=>r.vgap||18,getChildren:r=>r.children,getHeight:r=>r.height||36,getWidth(r){const t=r.label||" ";return r.width||18*t.split("").length}};class bl{constructor(t,e){if(this.x=0,this.y=0,this.depth=0,this.children=[],this.hgap=0,this.vgap=0,t instanceof bl||"x"in t&&"y"in t&&"children"in t){const a=t;return this.data=a.data,this.id=a.id,this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height,this.depth=a.depth,this.children=a.children,this.parent=a.parent,this.hgap=a.hgap,this.vgap=a.vgap,this.preH=a.preH,void(this.preV=a.preV)}this.data=t;const n=e.getHGap(t),i=e.getVGap(t);this.preH=e.getPreH(t),this.preV=e.getPreV(t),this.width=e.getWidth(t),this.height=e.getHeight(t),this.width+=this.preH,this.height+=this.preV,this.id=e.getId(t),this.addGap(n,i)}isRoot(){return this.depth===0}isLeaf(){return this.children.length===0}addGap(t,e){this.hgap+=t,this.vgap+=e,this.width+=2*t,this.height+=2*e}eachNode(t){let e,n=[this];for(;e=n.shift();)t(e),n=e.children.concat(n)}DFTraverse(t){this.eachNode(t)}BFTraverse(t){let e,n=[this];for(;e=n.shift();)t(e),n=n.concat(e.children)}getBoundingBox(){const t={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(e=>{t.left=Math.min(t.left,e.x),t.top=Math.min(t.top,e.y),t.width=Math.max(t.width,e.x+e.width),t.height=Math.max(t.height,e.y+e.height)}),t}translate(t=0,e=0){this.eachNode(n=>{n.x+=t,n.y+=e,n.x+=n.preH,n.y+=n.preV})}right2left(){const t=this.getBoundingBox();this.eachNode(e=>{e.x=e.x-2*(e.x-t.left)-e.width}),this.translate(t.width,0)}bottom2top(){const t=this.getBoundingBox();this.eachNode(e=>{e.y=e.y-2*(e.y-t.top)-e.height}),this.translate(0,t.height)}}function Xl(r,t={},e){t=os({},Yl,t);const n=new bl(r,t),i=[n];let a;if(!e&&!r.collapsed){for(;a=i.shift();)if(!a.data.collapsed){const A=t.getChildren(a.data),l=A?A.length:0;if(a.children=new Array(l),A&&l)for(let h=0;h{const a=Nh.fromNode(i,e);a&&n.push(a)}),e?new Nh(t.height,t.width,t.x,n):new Nh(t.width,t.height,t.y,n)}};function Uc(r,t,e){e?r.y+=t:r.x+=t,r.children.forEach(n=>{Uc(n,t,e)})}function _A(r,t){let e=t?r.y:r.x;return r.children.forEach(n=>{e=Math.min(_A(n,t),e)}),e}function xl(r,t){Uc(r,-_A(r,t),t)}function es(r,t,e){e?t.y=r.x:t.x=r.x,r.c.forEach((n,i)=>{es(n,t.children[i],e)})}function ol(r,t,e=0){t?(r.x=e,e+=r.width):(r.y=e,e+=r.height),r.children.forEach(n=>{ol(n,t,e)})}function xu(r,t={}){const e=t.isHorizontal;function n(_){_.cs===0?(_.el=_,_.er=_,_.msel=_.mser=0):(_.el=_.c[0].el,_.msel=_.c[0].msel,_.er=_.c[_.cs-1].er,_.mser=_.c[_.cs-1].mser)}function i(_,j,q){let At=_.c[j-1],wt=At.mod,Ot=_.c[j],Xt=Ot.mod;for(;At!==null&&Ot!==null;){q&&h(At)>q.low&&(q=q.nxt);const ne=wt+At.prelim+At.w-(Xt+Ot.prelim);ne>0&&(Xt+=ne,q&&a(_,j,q.index,ne));const fe=h(At),He=h(Ot);fe<=He&&(At=l(At),At!==null&&(wt+=At.mod)),fe>=He&&(Ot=A(Ot),Ot!==null&&(Xt+=Ot.mod))}!At&&Ot?function(ne,fe,He,Fn){const yn=ne.c[0].el;yn.tl=He;const Zn=Fn-He.mod-ne.c[0].msel;yn.mod+=Zn,yn.prelim-=Zn,ne.c[0].el=ne.c[fe].el,ne.c[0].msel=ne.c[fe].msel}(_,j,Ot,Xt):At&&!Ot&&function(ne,fe,He,Fn){const yn=ne.c[fe].er;yn.tr=He;const Zn=Fn-He.mod-ne.c[fe].mser;yn.mod+=Zn,yn.prelim-=Zn,ne.c[fe].er=ne.c[fe-1].er,ne.c[fe].mser=ne.c[fe-1].mser}(_,j,At,wt)}function a(_,j,q,At){_.c[j].mod+=At,_.c[j].msel+=At,_.c[j].mser+=At,function(wt,Ot,Xt,ne){if(Xt!==Ot-1){const fe=Ot-Xt;wt.c[Xt+1].shift+=ne/fe,wt.c[Ot].shift-=ne/fe,wt.c[Ot].change-=ne-ne/fe}}(_,j,q,At)}function A(_){return _.cs===0?_.tl:_.c[0]}function l(_){return _.cs===0?_.tr:_.c[_.cs-1]}function h(_){return _.y+_.h}function v(_,j,q){for(;q!==null&&_>=q.low;)q=q.nxt;return{low:_,index:j,nxt:q}}ol(r,e);const p=Nc.fromNode(r,e);return p&&(function _(j){if(j.cs===0)return void n(j);_(j.c[0]);let q=v(h(j.c[0].el),0,null);for(let At=1;At{l.isRoot()||(l.side="left")}),n.eachNode(l=>{l.isRoot()||(l.side="right")}),{left:e,right:n}}const Ho=["LR","RL","TB","BT","H","V"],Jl=["LR","RL","H"],$l=Ho[0];function ql(r,t,e){const n=t.direction||$l;if(t.isHorizontal=(a=>Jl.indexOf(a)>-1)(n),n&&Ho.indexOf(n)===-1)throw new TypeError(`Invalid direction: ${n}`);if(n===Ho[0])e(r,t);else if(n===Ho[1])e(r,t),r.right2left();else if(n===Ho[2])e(r,t);else if(n===Ho[3])e(r,t),r.bottom2top();else if(n===Ho[4]||n===Ho[5]){const{left:a,right:A}=Cl(r,t);e(a,t),e(A,t),t.isHorizontal?a.right2left():a.bottom2top(),A.translate(a.x-A.x,a.y-A.y),r.x=a.x,r.y=A.y;const l=r.getBoundingBox();t.isHorizontal?l.top<0&&r.translate(0,-l.top):l.left<0&&r.translate(-l.left,0)}let i=t.fixedRoot;return i===void 0&&(i=!0),i&&r.translate(-(r.x+r.width/2+r.hgap),-(r.y+r.height/2+r.vgap)),function(a,A){if(A.radial){const[l,h]=A.isHorizontal?["x","y"]:["y","x"],v={x:1/0,y:1/0},p={x:-1/0,y:-1/0};let _=0;a.DFTraverse(At=>{_++;const{x:wt,y:Ot}=At;v.x=Math.min(v.x,wt),v.y=Math.min(v.y,Ot),p.x=Math.max(p.x,wt),p.y=Math.max(p.y,Ot)});const j=p[h]-v[h];if(j===0)return;const q=2*Math.PI/_;a.DFTraverse(At=>{const wt=At[h],Ot=v[h],Xt=At[l],ne=a[l],fe=(wt-Ot)/j*(2*Math.PI-q)+q,He=Xt-ne;At.x=Math.cos(fe)*He,At.y=Math.sin(fe)*He})}}(r,t),r}class Pc extends kA{execute(){return ql(this.rootNode,this.options,xu)}}const tc={};function Sl(r,t){const e=os({},tc,t);return new Pc(r,e).execute()}class Dc{constructor(t=0,e=[]){this.x=0,this.y=0,this.leftChild=null,this.rightChild=null,this.isLeaf=!1,this.height=t,this.children=e}}const Rc={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function ec(r,t,e){e?(t.x=r.x,t.y=r.y):(t.x=r.y,t.y=r.x),r.children.forEach((n,i)=>{ec(n,t.children[i],e)})}function Qc(r,t={}){const e=os({},Rc,t);let n=0,i=null;const a=function A(l){l.width=0,l.depth&&l.depth>n&&(n=l.depth);const h=l.children,v=h.length,p=new Dc(0,[]);return h.forEach((_,j)=>{const q=A(_);p.children.push(q),j===0&&(p.leftChild=q),j===v-1&&(p.rightChild=q)}),p.originNode=l,p.isLeaf=l.isLeaf(),p}(r);return function A(l){if(l.isLeaf||l.children.length===0)l.drawingDepth=n;else{const h=l.children.map(p=>A(p)),v=Math.min(...h);l.drawingDepth=v-1}return l.drawingDepth}(a),function A(l){l.x=l.drawingDepth*e.rankSep,l.isLeaf?(l.y=0,i&&(l.y=i.y+i.height+e.nodeSep,l.originNode.parent!==i.originNode.parent&&(l.y+=e.subTreeSep)),i=l):(l.children.forEach(h=>{A(h)}),l.y=(l.leftChild.y+l.rightChild.y)/2)}(a),ec(a,r,e.isHorizontal),r}class nc extends kA{execute(){return this.rootNode.width=0,ql(this.rootNode,this.options,Qc)}}const Cu={};function kc(r,t){const e=os({},Cu,t);return new nc(r,e).execute()}function Ml(r,t,e,n){let i=null;r.eachNode(a=>{(function(A,l,h,v,p){const _=(typeof h=="function"?h(A):h)*A.depth;if(!v)try{if(A.parent&&A.id===A.parent.children[0].id)return A.x+=_,void(A.y=l?l.y:0)}catch(j){}if(A.x+=_,l){if(A.y=l.y+Lc(l,A,p),l.parent&&A.parent&&A.parent.id!==l.parent.id){const j=l.parent,q=j.y+Lc(j,A,p);A.y=q>A.y?q:A.y}}else A.y=0})(a,i,t,e,n),i=a})}const Ks=["LR","RL","H"],HA=Ks[0];class _c extends kA{execute(){const t=this.options,e=this.rootNode;t.isHorizontal=!0;const{indent:n=20,dropCap:i=!0,direction:a=HA,align:A}=t;if(a&&Ks.indexOf(a)===-1)throw new TypeError(`Invalid direction: ${a}`);if(a===Ks[0])Ml(e,n,i,A);else if(a===Ks[1])Ml(e,n,i,A),e.right2left();else if(a===Ks[2]){const{left:l,right:h}=Cl(e,t);Ml(l,n,i,A),l.right2left(),Ml(h,n,i,A);const v=l.getBoundingBox();h.translate(v.width,0),e.x=h.x-e.width/2}return e}}const Tl={};function Ol(r,t){const e=os({},Tl,t);return new _c(r,e).execute()}function Ts(r,t){let e=0;return r.children.length?r.children.forEach(n=>{e+=Ts(n,t)}):e=r.height,r._subTreeSep=t.getSubTreeSep(r.data),r.totalHeight=Math.max(r.height,e)+2*r._subTreeSep,r.totalHeight}function rc(r){const t=r.children,e=t.length;if(e){t.forEach(l=>{rc(l)});const n=t[0],i=t[e-1],a=i.y-n.y+i.height;let A=0;if(t.forEach(l=>{A+=l.totalHeight}),a>r.height)r.y=n.y+a/2-r.height/2;else if(t.length!==1||r.height>A){const l=r.y+(r.height-a)/2-n.y;t.forEach(h=>{h.translate(0,l)})}else r.y=(n.y+n.height/2+i.y+i.height/2)/2-r.height/2}}const za={getSubTreeSep:()=>0};function Su(r,t={}){return t=os({},za,t),r.parent={x:0,width:0,height:0,y:0},r.BFTraverse(e=>{e.x=e.parent.x+e.parent.width}),r.parent=void 0,Ts(r,t),r.startY=0,r.y=r.totalHeight/2-r.height/2,r.eachNode(e=>{const n=e.children,i=n.length;if(i){const a=n[0];if(a.startY=e.startY+e._subTreeSep,i===1)a.y=e.y+e.height/2-a.height/2;else{a.y=a.startY+a.totalHeight/2-a.height/2;for(let A=1;A{if(r!=="next"&&r!=="prev")return t},Gs=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};class Tu{constructor(){const t={};t.prev=t,t.next=t.prev,this.shortcut=t}dequeue(){const t=this.shortcut,e=t.prev;if(e&&e!==t)return Gs(e),e}enqueue(t){const e=this.shortcut;t.prev&&t.next&&Gs(t),t.next=e.next,e.next.prev=t,e.next=t,t.prev=e}toString(){const t=[],e=this.shortcut;let n=e.prev;for(;n!==e;)t.push(JSON.stringify(n,Ni)),n=n==null?void 0:n.prev;return`[${t.join(", ")}]`}}class Ou extends Tu{}const Al=()=>1,ac=(r,t)=>{var e;if(r.getAllNodes().length<=1)return[];const n=pA(r,t||Al);return(e=Fu(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:A})=>A===a.w)))===null||e===void 0?void 0:e.flat()},Fu=(r,t,e)=>{let n=[];const i=t[t.length-1],a=t[0];let A;for(;r.getAllNodes().length;){for(;A=a.dequeue();)sc(r,t,e,A);for(;A=i.dequeue();)sc(r,t,e,A);if(r.getAllNodes().length){for(let l=t.length-2;l>0;--l)if(A=t[l].dequeue(),A){n=n.concat(sc(r,t,e,A,!0));break}}}return n},sc=(r,t,e,n,i)=>{var a,A;const l=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(h=>{const v=h.data.weight,p=r.getNode(h.source);i&&l.push({v:h.source,w:h.target,in:0,out:0}),p.data.out===void 0&&(p.data.out=0),p.data.out-=v,oc(t,e,Object.assign({v:p.id},p.data))}),(A=r.getRelatedEdges(n.v,"out"))===null||A===void 0||A.forEach(h=>{const v=h.data.weight,p=h.target,_=r.getNode(p);_.data.in===void 0&&(_.data.in=0),_.data.in-=v,oc(t,e,Object.assign({v:_.id},_.data))}),r.removeNode(n.v)),i?l:void 0},pA=(r,t)=>{const e=new Xa.k;let n=0,i=0;r.getAllNodes().forEach(h=>{e.addNode({id:h.id,data:{v:h.id,in:0,out:0}})}),r.getAllEdges().forEach(h=>{const v=e.getRelatedEdges(h.source,"out").find(_=>_.target===h.target),p=(t==null?void 0:t(h))||1;v?e.updateEdgeData(v==null?void 0:v.id,Object.assign(Object.assign({},v.data),{weight:v.data.weight+p})):e.addEdge({id:h.id,source:h.source,target:h.target,data:{weight:p}}),i=Math.max(i,e.getNode(h.source).data.out+=p),n=Math.max(n,e.getNode(h.target).data.in+=p)});const a=[],A=i+n+3;for(let h=0;h{oc(a,l,Object.assign({v:h.id},e.getNode(h.id).data))}),{buckets:a,zeroIdx:l,graph:e}},oc=(r,t,e)=>{e.out?e.in?r[e.out-e.in+t].enqueue(e):r[r.length-1].enqueue(e):r[0].enqueue(e)},mA=(r,t)=>{const n=t==="greedy"?ac(r,(i=>a=>a.data.weight||1)(r)):Iu(r);n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},Iu=r=>{const t=[],e={},n={},i=a=>{n[a]||(n[a]=!0,e[a]=!0,r.getRelatedEdges(a,"out").forEach(A=>{e[A.target]?t.push(A):i(A.target)}),delete e[a])};return r.getAllNodes().forEach(a=>i(a.id)),t},Lu=r=>{r.getAllEdges().forEach(t=>{const e=t.data;if(e.reversed){r.removeEdge(t.id);const n=e.forwardName;delete e.reversed,delete e.forwardName,r.addEdge({id:t.id,source:t.target,target:t.source,data:Object.assign(Object.assign({},e),{forwardName:n})})}})},Nu=(r,t)=>Number(r)-Number(t),Oo=(r,t,e,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return e.dummy=t,r.addNode({id:i,data:e}),i},aA=r=>{const t=new Xa.k;return r.getAllNodes().forEach(e=>{t.addNode(Object.assign({},e))}),r.getAllEdges().forEach(e=>{const n=t.getRelatedEdges(e.source,"out").find(i=>i.target===e.target);n?t.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+e.data.weight||0,minlen:Math.max(n.data.minlen,e.data.minlen||1)})):t.addEdge({id:e.id,source:e.source,target:e.target,data:{weight:e.data.weight||0,minlen:e.data.minlen||1}})}),t},ZA=r=>{const t=new Xa.k;return r.getAllNodes().forEach(e=>{r.getChildren(e.id).length||t.addNode(Object.assign({},e))}),r.getAllEdges().forEach(e=>{t.addEdge(e)}),t},Fl=(r,t)=>r==null?void 0:r.reduce((e,n,i)=>(e[n]=t[i],e),{}),Ac=r=>{const t={};return r.getAllNodes().forEach(e=>{const n={};r.getRelatedEdges(e.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),t[e.id]=n}),t},lc=r=>{const t=r.getAllNodes(),e=t.map(n=>{const i={};return r.getRelatedEdges(n.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return Fl(t.map(n=>n.id),e)},Zc=(r,t)=>{const e=Number(r.x),n=Number(r.y),i=Number(t.x)-e,a=Number(t.y)-n;let A=Number(r.width)/2,l=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let h,v;return Math.abs(a)*A>Math.abs(i)*l?(a<0&&(l=-l),h=l*i/a,v=l):(i<0&&(A=-A),h=A,v=A*a/i),{x:e+h,y:n+v}},KA=r=>{const t=[],e=Kc(r)+1;for(let n=0;n{const i=n.data.rank;i!==void 0&&t[i]&&t[i].push(n.id)});for(let n=0;nNu(r.getNode(i).data.order,r.getNode(a).data.order));return t},yA=r=>{const t=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),e=Math.min(...t);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&e!==1/0&&(n.data.rank-=e)})},ll=(r,t=0)=>{const e=r.getAllNodes(),n=e.filter(l=>l.data.rank!==void 0).map(l=>l.data.rank),i=Math.min(...n),a=[];e.forEach(l=>{const h=(l.data.rank||0)-i;a[h]||(a[h]=[]),a[h].push(l.id)});let A=0;for(let l=0;l{const p=r.getNode(v);p&&(p.data.rank=p.data.rank||0,p.data.rank+=A)}))}},cl=(r,t,e,n)=>{const i={width:0,height:0};return(0,On.Z)(e)&&(0,On.Z)(n)&&(i.rank=e,i.order=n),Oo(r,"border",i,t)},Kc=r=>{let t;return r.getAllNodes().forEach(e=>{const n=e.data.rank;n!==void 0&&(t===void 0||n>t)&&(t=n)}),t||(t=0),t},Gc=(r,t)=>{const e={lhs:[],rhs:[]};return r==null||r.forEach(n=>{t(n)?e.lhs.push(n):e.rhs.push(n)}),e},ul=(r,t)=>r.reduce((e,n)=>{const i=t(e),a=t(n);return i>a?n:e}),cc=(r,t,e,n,i,a)=>{n.includes(t.id)||(n.push(t.id),e||a.push(t.id),i(t.id).forEach(A=>cc(r,A,e,n,i,a)),e&&a.push(t.id))},uc=(r,t,e,n)=>{const i=Array.isArray(t)?t:[t],a=h=>n?r.getSuccessors(h):r.getNeighbors(h),A=[],l=[];return i.forEach(h=>{if(r.hasNode(h.id))cc(r,h,e==="post",l,a,A);else throw new Error(`Graph does not have node: ${h}`)}),A},zc=r=>{const t=e=>{const n=r.getChildren(e),i=r.getNode(e);if(n!=null&&n.length&&n.forEach(a=>t(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,A=i.data.maxRank+1;at(e.id))},Wc=(r,t,e,n,i,a)=>{const A={rank:a,borderType:t,width:0,height:0},l=i.data[t][a-1],h=Oo(r,"border",A,e);i.data[t][a]=h,r.setParent(h,n),l&&r.addEdge({id:`e${Math.random()}`,source:l,target:h,data:{weight:1}})},Il=(r,t)=>{const e=t.toLowerCase();(e==="lr"||e==="rl")&&hc(r)},Vc=(r,t)=>{const e=t.toLowerCase();(e==="bt"||e==="rl")&&Uu(r),(e==="lr"||e==="rl")&&(GA(r),hc(r))},hc=r=>{r.getAllNodes().forEach(t=>{Er(t)}),r.getAllEdges().forEach(t=>{Er(t)})},Er=r=>{const t=r.data.width;r.data.width=r.data.height,r.data.height=t},Uu=r=>{r.getAllNodes().forEach(t=>{Ll(t.data)}),r.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>Ll(n)),t.data.hasOwnProperty("y")&&Ll(t.data)})},Ll=r=>{r!=null&&r.y&&(r.y=-r.y)},GA=r=>{r.getAllNodes().forEach(t=>{zA(t.data)}),r.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>zA(n)),t.data.hasOwnProperty("x")&&zA(t.data)})},zA=r=>{const t=r.x;r.x=r.y,r.y=t},fc=r=>{const t=Oo(r,"root",{},"_root"),e=dc(r);let n=Math.max(...Object.values(e));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(l=>{l.data.minlen*=a});const A=jc(r)+1;return r.getRoots().forEach(l=>{Nl(r,t,a,A,i,e,l.id)}),{nestingRoot:t,nodeRankFactor:a}},Nl=(r,t,e,n,i,a,A)=>{const l=r.getChildren(A);if(!(l!=null&&l.length)){A!==t&&r.addEdge({id:`e${Math.random()}`,source:t,target:A,data:{weight:0,minlen:e}});return}const h=cl(r,"_bt"),v=cl(r,"_bb"),p=r.getNode(A);r.setParent(h,A),p.data.borderTop=h,r.setParent(v,A),p.data.borderBottom=v,l==null||l.forEach(_=>{Nl(r,t,e,n,i,a,_.id);const j=_.data.borderTop?_.data.borderTop:_.id,q=_.data.borderBottom?_.data.borderBottom:_.id,At=_.data.borderTop?n:2*n,wt=j!==q?1:i-a[A]+1;r.addEdge({id:`e${Math.random()}`,source:h,target:j,data:{minlen:wt,weight:At,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:q,target:v,data:{minlen:wt,weight:At,nestingEdge:!0}})}),r.getParent(A)||r.addEdge({id:`e${Math.random()}`,source:t,target:h,data:{weight:0,minlen:i+a[A]}})},dc=r=>{const t={},e=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(A=>e(A.id,i+1)),t[n]=i};return r.getRoots().forEach(n=>e(n.id,1)),t},jc=r=>{let t=0;return r.getAllEdges().forEach(e=>{t+=e.data.weight}),t},Pu=(r,t)=>{t&&r.removeNode(t),r.getAllEdges().forEach(e=>{e.data.nestingEdge&&r.removeEdge(e.id)})},Ta="edge",Ul="edge-label",Fo=(r,t)=>{r.getAllEdges().forEach(e=>WA(r,e,t))},WA=(r,t,e)=>{let n=t.source,i=r.getNode(n).data.rank;const a=t.target,A=r.getNode(a).data.rank,l=t.data.labelRank;if(A===i+1)return;r.removeEdge(t.id);let h,v,p;for(p=0,++i;i{t.forEach(e=>{let n=r.getNode(e);const{data:i}=n,a=i.originalEdge;let A;a&&r.addEdge(a);let l=e;for(;n.data.dummy;)A=r.getSuccessors(l)[0],r.removeNode(l),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===Ul&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),l=A.id,n=r.getNode(l)})},La=(r,t,e)=>{const n={};let i;e==null||e.forEach(a=>{let A=r.getParent(a),l,h;for(;A;){if(l=r.getParent(A.id),l?(h=n[l.id],n[l.id]=A.id):(h=i,i=A.id),h&&h!==A.id){t.hasNode(h)||t.addNode({id:h,data:{}}),t.hasNode(A.id)||t.addNode({id:A.id,data:{}}),t.hasEdge(`e${h}-${A.id}`)||t.addEdge({id:`e${h}-${A.id}`,source:h,target:A.id,data:{}});return}A=l}})},Pl=(r,t,e)=>{const n=Du(r),i=new Xa.k({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const A=r.getParent(a.id);(a.data.rank===t||a.data.minRank<=t&&t<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),A!=null&&A.id&&!i.hasNode(A==null?void 0:A.id)&&i.addNode(Object.assign({},A)),i.setParent(a.id,(A==null?void 0:A.id)||n),r.getRelatedEdges(a.id,e).forEach(l=>{const h=l.source===a.id?l.target:l.source;i.hasNode(h)||i.addNode(Object.assign({},r.getNode(h)));const v=i.getRelatedEdges(h,"out").find(({target:_})=>_===a.id),p=v!==void 0?v.data.weight:0;v?i.updateEdgeData(v.id,Object.assign(Object.assign({},v.data),{weight:l.data.weight+p})):i.addEdge({id:l.id,source:h,target:a.id,data:{weight:l.data.weight+p}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[t],borderRight:a.data.borderRight[t]})))}),i},Du=r=>{let t;for(;r.hasNode(t=`_root${Math.random()}`););return t},hl=(r,t,e)=>{const n=Fl(e,e.map((p,_)=>_)),a=t.map(p=>{const _=r.getRelatedEdges(p,"out").map(j=>({pos:n[j.target]||0,weight:j.data.weight}));return _==null?void 0:_.sort((j,q)=>j.pos-q.pos)}).flat().filter(p=>p!==void 0);let A=1;for(;A{if(p){let _=p.pos+A;h[_]+=p.weight;let j=0;for(;_>0;)_%2&&(j+=h[_+1]),_=_-1>>1,h[_]+=p.weight;v+=p.weight*j}}),v},wA=(r,t)=>{let e=0;for(let n=1;n<(t==null?void 0:t.length);n+=1)e+=hl(r,t[n-1],t[n]);return e},vc=r=>{const t={},e=r.getAllNodes(),n=e.map(v=>{var p;return(p=v.data.rank)!==null&&p!==void 0?p:-1/0}),i=Math.max(...n),a=[];for(let v=0;vr.getNode(v.id).data.rank-r.getNode(p.id).data.rank),h=A.filter(v=>r.getNode(v.id).data.fixorder!==void 0).sort((v,p)=>r.getNode(v.id).data.fixorder-r.getNode(p.id).data.fixorder);return h==null||h.forEach(v=>{isNaN(r.getNode(v.id).data.rank)||a[r.getNode(v.id).data.rank].push(v.id),t[v.id]=!0}),A==null||A.forEach(v=>r.dfsTree(v.id,p=>{if(t.hasOwnProperty(p.id))return!0;t[p.id]=!0,isNaN(p.data.rank)||a[p.data.rank].push(p.id)})),a},VA=(r,t)=>t.map(e=>{const n=r.getRelatedEdges(e,"in");if(!(n!=null&&n.length))return{v:e};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const A=r.getNode(a.source);i.sum+=a.data.weight*A.data.order,i.weight+=a.data.weight}),{v:e,barycenter:i.sum/i.weight,weight:i.weight}}),Ru=(r,t)=>{var e,n,i;const a={};r==null||r.forEach((l,h)=>{a[l.v]={i:h,indegree:0,in:[],out:[],vs:[l.v]};const v=a[l.v];l.barycenter!==void 0&&(v.barycenter=l.barycenter,v.weight=l.weight)}),(e=t.getAllEdges())===null||e===void 0||e.forEach(l=>{const h=a[l.source],v=a[l.target];h!==void 0&&v!==void 0&&(v.indegree++,h.out.push(a[l.target]))});const A=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,l=>!l.indegree);return Dl(A)},Dl=r=>{var t,e;const n=[],i=h=>v=>{v.merged||(v.barycenter===void 0||h.barycenter===void 0||v.barycenter>=h.barycenter)&&Rl(h,v)},a=h=>v=>{v.in.push(h),--v.indegree===0&&r.push(v)};for(;r!=null&&r.length;){const h=r.pop();n.push(h),(t=h.in.reverse())===null||t===void 0||t.forEach(v=>i(h)(v)),(e=h.out)===null||e===void 0||e.forEach(v=>a(h)(v))}const A=n.filter(h=>!h.merged),l=["vs","i","barycenter","weight"];return A.map(h=>{const v={};return l==null||l.forEach(p=>{h[p]!==void 0&&(v[p]=h[p])}),v})},Rl=(r,t)=>{var e;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),r.vs=(e=t.vs)===null||e===void 0?void 0:e.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(t.i,r.i),t.merged=!0};var Qu=Ru;const pc=(r,t,e,n)=>{const i=Gc(r,j=>{const q=j.hasOwnProperty("fixorder")&&!isNaN(j.fixorder);return n?!q&&j.hasOwnProperty("barycenter"):q||j.hasOwnProperty("barycenter")}),a=i.lhs,A=i.rhs.sort((j,q)=>-j.i- -q.i),l=[];let h=0,v=0,p=0;a==null||a.sort(Ql(!!t,!!e)),p=EA(l,A,p),a==null||a.forEach(j=>{var q;p+=(q=j.vs)===null||q===void 0?void 0:q.length,l.push(j.vs),h+=j.barycenter*j.weight,v+=j.weight,p=EA(l,A,p)});const _={vs:l.flat()};return v&&(_.barycenter=h/v,_.weight=v),_},EA=(r,t,e)=>{let n=e,i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),r==null||r.push(i.vs),n++;return n},Ql=(r,t)=>(e,n)=>{if(e.fixorder!==void 0&&n.fixorder!==void 0)return e.fixorder-n.fixorder;if(e.barycentern.barycenter)return 1;if(t&&e.order!==void 0&&n.order!==void 0){if(e.ordern.order)return 1}return r?n.i-e.i:e.i-n.i},ns=(r,t,e,n,i,a)=>{var A,l,h,v;let p=r.getChildren(t).map(ne=>ne.id);const _=r.getNode(t),j=_?_.data.borderLeft:void 0,q=_?_.data.borderRight:void 0,At={};j&&(p=p==null?void 0:p.filter(ne=>ne!==j&&ne!==q));const wt=VA(r,p||[]);wt==null||wt.forEach(ne=>{var fe;if(!((fe=r.getChildren(ne.v))===null||fe===void 0)&&fe.length){const He=ns(r,ne.v,e,n,a);At[ne.v]=He,He.hasOwnProperty("barycenter")&&jA(ne,He)}});const Ot=Qu(wt,e);Io(Ot,At),(A=Ot.filter(ne=>ne.vs.length>0))===null||A===void 0||A.forEach(ne=>{const fe=r.getNode(ne.vs[0]);fe&&(ne.fixorder=fe.data.fixorder,ne.order=fe.data.order)});const Xt=pc(Ot,n,i,a);if(j&&(Xt.vs=[j,Xt.vs,q].flat(),!((l=r.getPredecessors(j))===null||l===void 0)&&l.length)){const ne=r.getNode(((h=r.getPredecessors(j))===null||h===void 0?void 0:h[0].id)||""),fe=r.getNode(((v=r.getPredecessors(q))===null||v===void 0?void 0:v[0].id)||"");Xt.hasOwnProperty("barycenter")||(Xt.barycenter=0,Xt.weight=0),Xt.barycenter=(Xt.barycenter*Xt.weight+ne.data.order+fe.data.order)/(Xt.weight+2),Xt.weight+=2}return Xt},Io=(r,t)=>{r==null||r.forEach(e=>{var n;const i=(n=e.vs)===null||n===void 0?void 0:n.map(a=>t[a]?t[a].vs:a);e.vs=i.flat()})},jA=(r,t)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+t.barycenter*t.weight)/(r.weight+t.weight),r.weight+=t.weight):(r.barycenter=t.barycenter,r.weight=t.weight)},Zo=(r,t)=>{const e=Kc(r),n=[],i=[];for(let p=1;p-1;p--)i.push(p);const a=Lo(r,n,"in"),A=Lo(r,i,"out");let l=vc(r);$s(r,l);let h=Number.POSITIVE_INFINITY,v;for(let p=0,_=0;_<4;++p,++_){YA(p%2?a:A,p%4>=2,!1,t),l=KA(r);const j=wA(r,l);j=2,!0,t),l=KA(r);const j=wA(r,l);jt.map(n=>Pl(r,n,e)),YA=(r,t,e,n)=>{const i=new Xa.k;r==null||r.forEach(a=>{var A;const l=a.getRoots()[0].id,h=ns(a,l,i,t,e,n);for(let v=0;v<((A=h.vs)===null||A===void 0?void 0:A.length);v++){const p=a.getNode(h.vs[v]);p&&(p.data.order=v)}La(a,i,h.vs)})},$s=(r,t)=>{t==null||t.forEach(e=>{e==null||e.forEach((n,i)=>{r.getNode(n).data.order=i})})},Yc=(r,t)=>{const n=r.getAllNodes().filter(A=>{var l;return!(!((l=r.getChildren(A.id))===null||l===void 0)&&l.length)}).map(A=>A.data.rank),i=Math.max(...n),a=[];for(let A=0;A{const l=r.getNode(A);!l||l.data.dummy||isNaN(l.data.rank)||(l.data.fixorder=a[l.data.rank].length,a[l.data.rank].push(A))})},Xc=r=>{const t={};let e=0;const n=i=>{const a=e;r.getChildren(i).forEach(A=>n(A.id)),t[i]={low:a,lim:e++}};return r.getRoots().forEach(i=>n(i.id)),t},mc=(r,t,e,n)=>{var i,a;const A=[],l=[],h=Math.min(t[e].low,t[n].low),v=Math.max(t[e].lim,t[n].lim);let p,_;p=e;do p=(i=r.getParent(p))===null||i===void 0?void 0:i.id,A.push(p);while(p&&(t[p].low>h||v>t[p].lim));for(_=p,p=n;p&&p!==_;)l.push(p),p=(a=r.getParent(p))===null||a===void 0?void 0:a.id;return{lca:_,path:A.concat(l.reverse())}},kl=(r,t)=>{const e=Xc(r);t.forEach(n=>{var i,a;let A=n,l=r.getNode(A);const h=l.data.originalEdge;if(!h)return;const v=mc(r,e,h.source,h.target),p=v.path,_=v.lca;let j=0,q=p[j],At=!0;for(;A!==h.target;){if(l=r.getNode(A),At){for(;q!==_&&((i=r.getNode(q))===null||i===void 0?void 0:i.data.maxRank){const e={},n=(i,a)=>{let A=0,l=0;const h=i.length,v=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((p,_)=>{var j;const q=Jc(r,p),At=q?r.getNode(q.id).data.order:h;(q||p===v)&&((j=a.slice(l,_+1))===null||j===void 0||j.forEach(wt=>{var Ot;(Ot=r.getPredecessors(wt))===null||Ot===void 0||Ot.forEach(Xt=>{var ne;const fe=r.getNode(Xt.id),He=fe.data.order;(He{const e={};function n(l,h,v,p,_){var j,q;let At;for(let wt=h;wt{const Xt=r.getNode(Ot.id);Xt.data.dummy&&(Xt.data.order_)&&bA(e,Ot.id,At)}))}function i(l){return JSON.stringify(l.slice(1))}function a(l,h){const v=i(l);h.get(v)||(n(...l),h.set(v,!0))}const A=(l,h)=>{let v=-1,p,_=0;const j=new Map;return h==null||h.forEach((q,At)=>{var wt;if(((wt=r.getNode(q))===null||wt===void 0?void 0:wt.data.dummy)==="border"){const Ot=r.getPredecessors(q)||[];Ot.length&&(p=r.getNode(Ot[0].id).data.order,a([h,_,At,v,p],j),_=At,v=p)}a([h,_,h.length,p,l.length],j)}),h};return t!=null&&t.length&&t.reduce(A),e},Jc=(r,t)=>{var e,n;if(!((e=r.getNode(t))===null||e===void 0)&&e.data.dummy)return(n=r.getPredecessors(t))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},bA=(r,t,e)=>{let n=t,i=e;if(n>i){const A=n;n=i,i=A}let a=r[n];a||(r[n]=a={}),a[i]=!0},ju=(r,t,e)=>{let n=t,i=e;if(n>i){const a=t;n=i,i=a}return!!r[n]},ho=(r,t,e,n)=>{const i={},a={},A={};return t==null||t.forEach(l=>{l==null||l.forEach((h,v)=>{i[h]=h,a[h]=h,A[h]=v})}),t==null||t.forEach(l=>{let h=-1;l==null||l.forEach(v=>{let p=n(v).map(_=>_.id);if(p.length){p=p.sort((j,q)=>A[j]-A[q]);const _=(p.length-1)/2;for(let j=Math.floor(_),q=Math.ceil(_);j<=q;++j){const At=p[j];a[v]===v&&h{var l;const h={},v=ku(r,t,e,i,a,A),p=A?"borderLeft":"borderRight",_=(At,wt)=>{let Ot=v.getAllNodes(),Xt=Ot.pop();const ne={};for(;Xt;)ne[Xt.id]?At(Xt.id):(ne[Xt.id]=!0,Ot.push(Xt),Ot=Ot.concat(wt(Xt.id))),Xt=Ot.pop()},j=At=>{h[At]=(v.getRelatedEdges(At,"in")||[]).reduce((wt,Ot)=>Math.max(wt,(h[Ot.source]||0)+Ot.data.weight),0)},q=At=>{const wt=(v.getRelatedEdges(At,"out")||[]).reduce((Xt,ne)=>Math.min(Xt,(h[ne.target]||0)-ne.data.weight),Number.POSITIVE_INFINITY),Ot=r.getNode(At);wt!==Number.POSITIVE_INFINITY&&Ot.data.borderType!==p&&(h[At]=Math.max(h[At],wt))};return _(j,v.getPredecessors.bind(v)),_(q,v.getSuccessors.bind(v)),(l=Object.values(n))===null||l===void 0||l.forEach(At=>{h[At]=h[e[At]]}),h},ku=(r,t,e,n,i,a)=>{const A=new Xa.k,l=tu(n,i,a);return t==null||t.forEach(h=>{let v;h==null||h.forEach(p=>{const _=e[p];if(A.hasNode(_)||A.addNode({id:_,data:{}}),v){const j=e[v],q=A.getRelatedEdges(j,"out").find(At=>At.target===_);q?A.updateEdgeData(q.id,Object.assign(Object.assign({},q.data),{weight:Math.max(l(r,p,v),q.data.weight||0)})):A.addEdge({id:`e${Math.random()}`,source:j,target:_,data:{weight:Math.max(l(r,p,v),0)}})}v=p})}),A},$c=(r,t)=>ul(Object.values(t),e=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(e))===null||n===void 0||n.forEach(A=>{const l=e[A],h=Ec(r,A)/2;i=Math.max(l+h,i),a=Math.min(l-h,a)}),i-a});function xA(r,t){const e=Object.values(t),n=Math.min(...e),i=Math.max(...e);["u","d"].forEach(a=>{["l","r"].forEach(A=>{const l=a+A,h=r[l];let v;if(h===t)return;const p=Object.values(h);v=A==="l"?n-Math.min(...p):i-Math.max(...p),v&&(r[l]={},Object.keys(h).forEach(_=>{r[l][_]=h[_]+v}))})})}const fl=(r,t)=>{const e={};return Object.keys(r.ul).forEach(n=>{if(t)e[n]=r[t.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);e[n]=(i[0]+i[1])/2}}),e},qc=(r,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},a=buildLayerMatrix(r),A=Object.assign(BA(r,a),yc(r,a)),l={};let h;["u","d"].forEach(p=>{h=p==="u"?a:Object.values(a).reverse(),["l","r"].forEach(_=>{_==="r"&&(h=h.map(wt=>Object.values(wt).reverse()));const j=(p==="u"?r.getPredecessors:r.getSuccessors).bind(r),q=ho(r,h,A,j),At=wc(r,h,q.root,q.align,n,i,_==="r");_==="r"&&Object.keys(At).forEach(wt=>{At[wt]=-At[wt]}),l[p+_]=At})});const v=$c(r,l);return xA(l,v),fl(l,e)},tu=(r,t,e)=>(n,i,a)=>{const A=n.getNode(i),l=n.getNode(a);let h=0,v=0;if(h+=A.data.width/2,A.data.hasOwnProperty("labelpos"))switch((A.data.labelpos||"").toLowerCase()){case"l":v=-A.data.width/2;break;case"r":v=A.data.width/2;break}if(v&&(h+=e?v:-v),v=0,h+=(A.data.dummy?t:r)/2,h+=(l.data.dummy?t:r)/2,h+=l.data.width/2,l.data.labelpos)switch((l.data.labelpos||"").toLowerCase()){case"l":v=l.data.width/2;break;case"r":v=-l.data.width/2;break}return v&&(h+=e?v:-v),v=0,h},Ec=(r,t)=>r.getNode(t).data.width||0,_u=(r,t)=>{const{ranksep:e=0}=t||{},n=KA(r);let i=0;n==null||n.forEach(a=>{const A=a.map(h=>r.getNode(h).data.height),l=Math.max(...A,0);a==null||a.forEach(h=>{r.getNode(h).data.y=i+l/2}),i+=l+e})},eu=(r,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},a=KA(r),A=Object.assign(BA(r,a),yc(r,a)),l={};let h=[];["u","d"].forEach(p=>{h=p==="u"?a:Object.values(a).reverse(),["l","r"].forEach(_=>{_==="r"&&(h=h.map(wt=>Object.values(wt).reverse()));const j=(p==="u"?r.getPredecessors:r.getSuccessors).bind(r),q=ho(r,h,A,j),At=wc(r,h,q.root,q.align,n,i,_==="r");_==="r"&&Object.keys(At).forEach(wt=>At[wt]=-At[wt]),l[p+_]=At})});const v=$c(r,l);return v&&xA(l,v),fl(l,e)},_l=(r,t)=>{var e;const n=ZA(r);_u(n,t);const i=eu(n,t);(e=Object.keys(i))===null||e===void 0||e.forEach(a=>{n.getNode(a).data.x=i[a]})},Hl=r=>{const t={},e=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(t[n])return a.data.rank;t[n]=!0;let A;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(l=>{const h=e(l.target),v=l.data.minlen,p=h-v;p&&(A===void 0||pr.getRelatedEdges(n.id,"in").length===0).forEach(n=>e(n.id))},Yu=r=>{const t={};let e;const n=A=>{var l;const h=r.getNode(A);if(!h)return 0;if(t[A])return h.data.rank;t[A]=!0;let v;return(l=r.getRelatedEdges(A,"out"))===null||l===void 0||l.forEach(p=>{const _=n(p.target),j=p.data.minlen,q=_-j;q&&(v===void 0||qr.getRelatedEdges(A.id,"in").length===0).forEach(A=>{A&&n(A.id)}),e===void 0&&(e=0);const i={},a=(A,l)=>{var h;const v=r.getNode(A),p=isNaN(v.data.layer)?l:v.data.layer;(v.data.rank===void 0||v.data.rank{a(_.target,p+_.data.minlen)}))};r.getAllNodes().forEach(A=>{const l=A.data;l&&(isNaN(l.layer)?l.rank-=e:a(A.id,l.layer))})},CA=(r,t)=>r.getNode(t.target).data.rank-r.getNode(t.source).data.rank-t.data.minlen,dl=r=>{const t=new Xa.k({tree:[]}),e=r.getAllNodes()[0],n=r.getAllNodes().length;t.addNode(e);let i,a;for(;Vo(t,r){const e=n=>{t.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,A=n===a?i.target:a;!r.hasNode(A)&&!CA(t,i)&&(r.addNode({id:A,data:{}}),r.addEdge({id:i.id,source:n,target:A,data:{}}),e(A))})};return r.getAllNodes().forEach(n=>e(n.id)),r.getAllNodes().length},Xu=r=>{const t=new Xa.k({tree:[]}),e=r.getAllNodes()[0],n=r.getAllNodes().length;t.addNode(e);let i,a;for(;Ju(t,r){const e=n=>{var i;(i=t.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const A=a.source,l=n===A?a.target:A;!r.hasNode(l)&&(t.getNode(l).data.layer!==void 0||!CA(t,a))&&(r.addNode({id:l,data:{}}),r.addEdge({id:a.id,source:n,target:l,data:{}}),e(l))})};return r.getAllNodes().forEach(n=>e(n.id)),r.getAllNodes().length},Hu=(r,t)=>ul(t.getAllEdges(),e=>r.hasNode(e.source)!==r.hasNode(e.target)?CA(t,e):1/0),nu=(r,t,e)=>{r.getAllNodes().forEach(n=>{const i=t.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=e})},ru=r=>{const t=aA(r);Hl(t);const e=dl(t);Vr(e),iu(e,t);let n,i;for(;n=JA(e);)i=mo(e,t,n),bc(e,t,n,i)},iu=(r,t)=>{let e=uc(r,r.getAllNodes(),"post",!1);e=e.slice(0,(e==null?void 0:e.length)-1),e.forEach(n=>{au(r,t,n)})},au=(r,t,e)=>{const i=r.getNode(e).data.parent,a=r.getRelatedEdges(e,"both").find(A=>A.target===i||A.source===i);a.data.cutvalue=Bc(r,t,e)},Bc=(r,t,e)=>{const i=r.getNode(e).data.parent;let a=!0,A=t.getRelatedEdges(e,"out").find(h=>h.target===i),l=0;return A||(a=!1,A=t.getRelatedEdges(i,"out").find(h=>h.target===e)),l=A.data.weight,t.getRelatedEdges(e,"both").forEach(h=>{const v=h.source===e,p=v?h.target:h.source;if(p!==i){const _=v===a,j=h.data.weight;if(l+=_?j:-j,Ra(r,e,p)){const q=r.getRelatedEdges(e,"both").find(At=>At.source===p||At.target===p).data.cutvalue;l+=_?-q:q}}}),l},Vr=(r,t=r.getAllNodes()[0].id)=>{XA(r,{},1,t)},XA=(r,t,e,n,i)=>{var a;const A=e;let l=e;const h=r.getNode(n);return t[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(v=>{t[v.id]||(l=XA(r,t,l,v.id,n))}),h.data.low=A,h.data.lim=l++,i?h.data.parent=i:delete h.data.parent,l},JA=r=>r.getAllEdges().find(t=>t.data.cutvalue<0),mo=(r,t,e)=>{let n=e.source,i=e.target;t.getRelatedEdges(n,"out").find(p=>p.target===i)||(n=e.target,i=e.source);const a=r.getNode(n),A=r.getNode(i);let l=a,h=!1;a.data.lim>A.data.lim&&(l=A,h=!0);const v=t.getAllEdges().filter(p=>h===Os(r.getNode(p.source),l)&&h!==Os(r.getNode(p.target),l));return ul(v,p=>CA(t,p))},bc=(r,t,e,n)=>{const i=r.getRelatedEdges(e.source,"both").find(a=>a.source===e.target||a.target===e.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),Vr(r),iu(r,t),pa(r,t)},pa=(r,t)=>{const e=r.getAllNodes().find(i=>!i.data.parent);let n=uc(r,e,"pre",!1);n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let A=t.getRelatedEdges(i,"out").find(h=>h.target===a),l=!1;!A&&t.hasNode(a)&&(A=t.getRelatedEdges(a,"out").find(h=>h.target===i),l=!0),t.getNode(i).data.rank=(t.hasNode(a)&&t.getNode(a).data.rank||0)+(l?A==null?void 0:A.data.minlen:-(A==null?void 0:A.data.minlen))})},Ra=(r,t,e)=>r.getRelatedEdges(t,"both").find(n=>n.source===e||n.target===e),Os=(r,t)=>t.data.low<=r.data.lim&&r.data.lim<=t.data.lim,xc=(r,t)=>{switch(t){case"network-simplex":Zl(r);break;case"tight-tree":Cc(r);break;case"longest-path":SA(r);break;default:Cc(r)}},SA=Hl,Cc=r=>{Yu(r),Xu(r)},Zl=r=>{ru(r)},Zu=(r,t)=>{const{edgeLabelSpace:e,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:A}=t;!n&&i&&Sc(r,i);const l=cu(r);e&&(t.ranksep=$u(l,{rankdir:a,ranksep:A}));let h;try{h=Ku(l,t)}catch(v){if(v.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: +`,v);return}throw v}return Gu(r,l),h},Ku=(r,t)=>{const{acyclicer:e,ranker:n,rankdir:i="tb",nodeOrder:a,keepNodeOrder:A,align:l,nodesep:h=50,edgesep:v=20,ranksep:p=50}=t;J(r),mA(r,e);const{nestingRoot:_,nodeRankFactor:j}=fc(r);xc(ZA(r),n),u(r),ll(r,j),Pu(r,_),yA(r),d(r),s(r);const q=[];Fo(r,q),kl(r,q),zc(r),A&&Yc(r,a),Zo(r,A),lt(r),Il(r,i),_l(r,{align:l,nodesep:h,edgesep:v,ranksep:p}),Tt(r),G(r),gc(r,q),b(r),Vc(r,i);const{width:At,height:wt}=o(r);return f(r),C(r),Lu(r),{width:At,height:wt}},Sc=(r,t)=>{r.getAllNodes().forEach(e=>{const n=r.getNode(e.id);if(t.hasNode(e.id)){const i=t.getNode(e.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},Gu=(r,t)=>{r.getAllNodes().forEach(e=>{var n;const i=r.getNode(e.id);if(i){const a=t.getNode(e.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=t.getChildren(e.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(e=>{const n=r.getEdge(e.id),i=t.getEdge(e.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},su=["width","height","layer","fixorder"],ou={width:0,height:0},Au=["minlen","weight","width","height","labeloffset"],lu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},$A=["labelpos"],cu=r=>{const t=new Xa.k({tree:[]});return r.getAllNodes().forEach(e=>{const n=le(r.getNode(e.id).data),i=Object.assign(Object.assign({},ou),n),a=Kt(i,su);t.hasNode(e.id)||t.addNode({id:e.id,data:Object.assign({},a)});const A=r.hasTreeStructure("combo")?r.getParent(e.id,"combo"):r.getParent(e.id);(0,U.Z)(A)||(t.hasNode(A.id)||t.addNode(Object.assign({},A)),t.setParent(e.id,A.id))}),r.getAllEdges().forEach(e=>{const n=le(r.getEdge(e.id).data),i={};$A==null||$A.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),t.addEdge({id:e.id,source:e.source,target:e.target,data:Object.assign({},lu,Kt(n,Au),i)})}),t},$u=(r,t)=>{const{ranksep:e=0,rankdir:n}=t;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),e/2},u=r=>{r.getAllEdges().forEach(t=>{if(t.data.width&&t.data.height){const e=r.getNode(t.source),n=r.getNode(t.target),i={e:t,rank:(n.data.rank-e.data.rank)/2+e.data.rank};Oo(r,"edge-proxy",i,"_ep")}})},d=r=>{let t=0;return r.getAllNodes().forEach(e=>{var n,i;e.data.borderTop&&(e.data.minRank=(n=r.getNode(e.data.borderTop))===null||n===void 0?void 0:n.data.rank,e.data.maxRank=(i=r.getNode(e.data.borderBottom))===null||i===void 0?void 0:i.data.rank,t=Math.max(t,e.data.maxRank||-1/0))}),t},s=r=>{r.getAllNodes().forEach(t=>{t.data.dummy==="edge-proxy"&&(r.getEdge(t.data.e.id).data.labelRank=t.data.rank,r.removeNode(t.id))})},o=(r,t)=>{let e,n=0,i,a=0;const{marginx:A=0,marginy:l=0}=t||{},h=v=>{if(!v.data)return;const p=v.data.x,_=v.data.y,j=v.data.width,q=v.data.height;!isNaN(p)&&!isNaN(j)&&(e===void 0&&(e=p-j/2),e=Math.min(e,p-j/2),n=Math.max(n,p+j/2)),!isNaN(_)&&!isNaN(q)&&(i===void 0&&(i=_-q/2),i=Math.min(i,_-q/2),a=Math.max(a,_+q/2))};return r.getAllNodes().forEach(v=>{h(v)}),r.getAllEdges().forEach(v=>{v!=null&&v.data.hasOwnProperty("x")&&h(v)}),e-=A,i-=l,r.getAllNodes().forEach(v=>{v.data.x-=e,v.data.y-=i}),r.getAllEdges().forEach(v=>{var p;(p=v.data.points)===null||p===void 0||p.forEach(_=>{_.x-=e,_.y-=i}),v.data.hasOwnProperty("x")&&(v.data.x-=e),v.data.hasOwnProperty("y")&&(v.data.y-=i)}),{width:n-e+A,height:a-i+l}},f=r=>{r.getAllEdges().forEach(t=>{const e=r.getNode(t.source),n=r.getNode(t.target);let i,a;t.data.points?(i=t.data.points[0],a=t.data.points[t.data.points.length-1]):(t.data.points=[],i={x:n.data.x,y:n.data.y},a={x:e.data.x,y:e.data.y}),t.data.points.unshift(Zc(e.data,i)),t.data.points.push(Zc(n.data,a))})},b=r=>{r.getAllEdges().forEach(t=>{if(t.data.hasOwnProperty("x"))switch((t.data.labelpos==="l"||t.data.labelpos==="r")&&(t.data.width-=t.data.labeloffset),t.data.labelpos){case"l":t.data.x-=t.data.width/2+t.data.labeloffset;break;case"r":t.data.x+=t.data.width/2+t.data.labeloffset;break}})},C=r=>{r.getAllEdges().forEach(t=>{var e;t.data.reversed&&((e=t.data.points)===null||e===void 0||e.reverse())})},G=r=>{r.getAllNodes().forEach(t=>{var e,n,i;if(!((e=r.getChildren(t.id))===null||e===void 0)&&e.length){const a=r.getNode(t.id),A=r.getNode(a.data.borderTop),l=r.getNode(a.data.borderBottom),h=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),v=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((v==null?void 0:v.data.x)-(h==null?void 0:h.data.x))||10,a.data.height=Math.abs((l==null?void 0:l.data.y)-(A==null?void 0:A.data.y))||10,a.data.x=((h==null?void 0:h.data.x)||0)+a.data.width/2,a.data.y=((A==null?void 0:A.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(t=>{t.data.dummy==="border"&&r.removeNode(t.id)})},J=r=>{r.getAllEdges().forEach(t=>{if(t.source===t.target){const e=r.getNode(t.source);e.data.selfEdges||(e.data.selfEdges=[]),e.data.selfEdges.push(t),r.removeEdge(t.id)}})},lt=r=>{const t=KA(r);t==null||t.forEach(e=>{let n=0;e==null||e.forEach((i,a)=>{var A;const l=r.getNode(i);l.data.order=a+n,(A=l.data.selfEdges)===null||A===void 0||A.forEach(h=>{Oo(r,"selfedge",{width:h.data.width,height:h.data.height,rank:l.data.rank,order:a+ ++n,e:h},"_se")}),delete l.data.selfEdges})})},Tt=r=>{r.getAllNodes().forEach(t=>{const e=r.getNode(t.id);if(e.data.dummy==="selfedge"){const n=r.getNode(e.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,A=e.data.x-i,l=n.data.height/2;r.hasEdge(e.data.e.id)?r.updateEdgeData(e.data.e.id,e.data.e.data):r.addEdge({id:e.data.e.id,source:e.data.e.source,target:e.data.e.target,data:e.data.e.data}),r.removeNode(t.id),e.data.e.data.points=[{x:i+2*A/3,y:a-l},{x:i+5*A/6,y:a-l},{y:a,x:i+A},{x:i+5*A/6,y:a+l},{x:i+2*A/3,y:a+l}],e.data.e.data.x=e.data.x,e.data.e.data.y=e.data.y}})},Kt=(r,t)=>{const e={};return t==null||t.forEach(n=>{r[n]!==void 0&&(e[n]=+r[n])}),e},le=(r={})=>{const t={};return Object.keys(r).forEach(e=>{t[e.toLowerCase()]=r[e]}),t};function Qe(r){if(!r)return[0,0,0];if((0,On.Z)(r))return[r,r,r];if(r.length===0)return[0,0,0];const[t,e=t,n=t]=r;return[t,e,n]}function Ue(r,t){let e;return(0,Me.Z)(t)?e=t:(0,On.Z)(t)?e=()=>t:e=()=>r,e}function qe(r,t,e=!0){return!t&&t!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?e?Math.max(...i)||r:i:(0,S.Z)(i)&&i.width&&i.height?e?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:(0,Me.Z)(t)?t:(0,On.Z)(t)?()=>t:Array.isArray(t)?()=>e?Math.max(...t)||r:t:(0,S.Z)(t)&&t.width&&t.height?()=>e?Math.max(t.width,t.height)||r:[t.width,t.height]:()=>r}const hn=(r,t,e=10)=>{let n;const i=typeof t=="function"?t:()=>t||0;return r?Array.isArray(r)?n=A=>r:(0,Me.Z)(r)?n=r:n=A=>r:n=A=>{var l,h,v;if(!((l=A.data)===null||l===void 0)&&l.bboxSize)return(h=A.data)===null||h===void 0?void 0:h.bboxSize;if(!((v=A.data)===null||v===void 0)&&v.size){const p=A.data.size;return Array.isArray(p)?p:(0,S.Z)(p)?[p.width,p.height]:p}return e},A=>{const l=n(A),h=i(A);return Math.max(...Qe(l))+h}},dn=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const t=[];return r.forEach(e=>{t.push(e)}),t.map(e=>dn(e))}if(typeof r=="object"){const t={};return Object.keys(r).forEach(e=>{t[e]=dn(r[e])}),t}return r},rn=(r,t)=>{const e=dn(r);return e.data=e.data||{},t&&((0,On.Z)(e.data.x)||(e.data.x=Math.random()*t[0]),(0,On.Z)(e.data.y)||(e.data.y=Math.random()*t[1])),e},Dn={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class rr{constructor(t={}){this.options=t,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Dn),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,e)})}genericDagreLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:A,rankdir:l="TB",ranksep:h,nodesep:v,ranksepFunc:p,nodesepFunc:_,edgeLabelSpace:j,ranker:q,nodeOrder:At,begin:wt,controlPoints:Ot,radial:Xt,sortByCombo:ne,preset:fe}=i,He=new Xa.k({tree:[]}),Fn=Ue(h||50,p),yn=Ue(v||50,_);let Zn=yn,gn=Fn;(l==="LR"||l==="RL")&&(Zn=Fn,gn=yn);const fr=qe(10,a,!1),Rr=e.getAllNodes(),Jr=e.getAllEdges();Rr.forEach(Ir=>{const Ui=Qe(fr(Ir)),Aa=gn(Ir),wa=Zn(Ir),rs=Ui[0]+2*wa,Us=Ui[1]+2*Aa,Ea=Ir.data.layer;(0,On.Z)(Ea)?He.addNode({id:Ir.id,data:{width:rs,height:Us,layer:Ea}}):He.addNode({id:Ir.id,data:{width:rs,height:Us}})}),ne&&(He.attachTreeStructure("combo"),Rr.forEach(Ir=>{const{parentId:Ui}=Ir.data;Ui!==void 0&&He.hasNode(Ui)&&He.setParent(Ir.id,Ui,"combo")})),Jr.forEach(Ir=>{He.addEdge({id:Ir.id,source:Ir.source,target:Ir.target,data:{weight:Ir.data.weight||1}})});let Li;fe!=null&&fe.length&&(Li=new Xa.k({nodes:fe})),Zu(He,{prevGraph:Li,edgeLabelSpace:j,keepNodeOrder:!!At,nodeOrder:At||[],acyclicer:"greedy",ranker:q,rankdir:l,nodesep:v,align:A});const Ei=[0,0];if(wt){let Ir=1/0,Ui=1/0;He.getAllNodes().forEach(Aa=>{Ir>Aa.data.x&&(Ir=Aa.data.x),Ui>Aa.data.y&&(Ui=Aa.data.y)}),He.getAllEdges().forEach(Aa=>{var wa;(wa=Aa.data.points)===null||wa===void 0||wa.forEach(rs=>{Ir>rs.x&&(Ir=rs.x),Ui>rs.y&&(Ui=rs.y)})}),Ei[0]=wt[0]-Ir,Ei[1]=wt[1]-Ui}const Si=l==="LR"||l==="RL";if(!Xt){const Ir=new Set,Aa=l==="BT"||l==="RL"?(Ea,ys)=>ys-Ea:(Ea,ys)=>Ea-ys;He.getAllNodes().forEach(Ea=>{Ea.data.x=Ea.data.x+Ei[0],Ea.data.y=Ea.data.y+Ei[1],Ir.add(Si?Ea.data.x:Ea.data.y)});const wa=Array.from(Ir).sort(Aa),rs=Si?(Ea,ys)=>Ea.x!==ys.x:(Ea,ys)=>Ea.y!==ys.y,Us=Si?(Ea,ys,Ps)=>{const vs=Math.max(ys.y,Ps.y),uA=Math.min(ys.y,Ps.y);return Ea.filter(vl=>vl.y<=vs&&vl.y>=uA)}:(Ea,ys,Ps)=>{const vs=Math.max(ys.x,Ps.x),uA=Math.min(ys.x,Ps.x);return Ea.filter(vl=>vl.x<=vs&&vl.x>=uA)};He.getAllEdges().forEach((Ea,ys)=>{var Ps;j&&Ot&&Ea.data.type!=="loop"&&(Ea.data.controlPoints=Tr((Ps=Ea.data.points)===null||Ps===void 0?void 0:Ps.map(({x:vs,y:uA})=>({x:vs+Ei[0],y:uA+Ei[1]})),He.getNode(Ea.source),He.getNode(Ea.target),wa,Si,rs,Us))})}let ci=[];ci=He.getAllNodes().map(Ir=>rn(Ir));const Pi=He.getAllEdges();return t&&(ci.forEach(Ir=>{e.mergeNodeData(Ir.id,{x:Ir.data.x,y:Ir.data.y})}),Pi.forEach(Ir=>{e.mergeEdgeData(Ir.id,{controlPoints:Ir.data.controlPoints})})),{nodes:ci,edges:Pi}})}}const Tr=(r,t,e,n,i,a,A)=>{let l=(r==null?void 0:r.slice(1,r.length-1))||[];if(t&&e){let{x:h,y:v}=t.data,{x:p,y:_}=e.data;if(i&&(h=t.data.y,v=t.data.x,p=e.data.y,_=e.data.x),_!==v&&h!==p){const j=n.indexOf(v),q=n[j+1];if(q){const Ot=l[0],Xt=i?{x:(v+q)/2,y:(Ot==null?void 0:Ot.y)||p}:{x:(Ot==null?void 0:Ot.x)||p,y:(v+q)/2};(!Ot||a(Ot,Xt))&&l.unshift(Xt)}const At=n.indexOf(_),wt=Math.abs(At-j);if(wt===1)l=A(l,t.data,e.data),l.length||l.push(i?{x:(v+_)/2,y:h}:{x:h,y:(v+_)/2});else if(wt>1){const Ot=n[At-1];if(Ot){const Xt=l[l.length-1],ne=i?{x:(_+Ot)/2,y:(Xt==null?void 0:Xt.y)||p}:{x:(Xt==null?void 0:Xt.x)||h,y:(_+Ot)/2};(!Xt||a(Xt,ne))&&l.push(ne)}}}}return l},Sr=(r,t,e)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return t&&r.mergeNodeData(n[0].id,{x:e[0],y:e[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:e[0],y:e[1]})})],edges:i}},hr={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class vr{constructor(t={}){this.options=t,this.id="circular",this.options=Object.assign(Object.assign({},hr),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,t,e)})}genericCircularLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:A,center:l,divisions:h,startAngle:v=0,endAngle:p=2*Math.PI,angleRatio:_,ordering:j,clockwise:q,nodeSpacing:At,nodeSize:wt}=i,Ot=e.getAllNodes(),Xt=e.getAllEdges(),[ne,fe,He]=ni(a,A,l),Fn=Ot==null?void 0:Ot.length;if(!Fn||Fn===1)return Sr(e,t,He);const yn=(p-v)/Fn;let{radius:Zn,startRadius:gn,endRadius:fr}=i;if(At){const Si=Ue(10,At),ci=qe(10,wt);let Pi=-1/0;Ot.forEach(Ir=>{const Ui=ci(Ir);Pi{Ui===0?Qa+=Pi||10:Qa+=(Si(Ir)||0)+(Pi||10)}),Zn=Qa/(2*Math.PI)}else!Zn&&!gn&&!fr?Zn=Math.min(fe,ne)/2:!gn&&fr?gn=fr:gn&&!fr&&(fr=gn);const Rr=yn*_;let Jr=[];j==="topology"?Jr=Xr(e,Ot):j==="topology-directed"?Jr=Xr(e,Ot,!0):j==="degree"?Jr=Gr(e,Ot):Jr=Ot.map(Si=>rn(Si));const Li=Math.ceil(Fn/h);for(let Si=0;Si{e.mergeNodeData(Si.id,{x:Si.data.x,y:Si.data.y})}),{nodes:Jr,edges:Xt}})}}const Xr=(r,t,e=!1)=>{const n=[rn(t[0])],i={},a=t.length;i[t[0].id]=!0;let A=0;return t.forEach((l,h)=>{if(h!==0)if((h===a-1||r.getDegree(l.id,"both")!==r.getDegree(t[h+1].id,"both")||r.areNeighbors(n[A].id,l.id))&&!i[l.id])n.push(rn(l)),i[l.id]=!0,A++;else{const v=e?r.getSuccessors(n[A].id):r.getNeighbors(n[A].id);let p=!1;for(let j=0;j{e.push(rn(n))}),e.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),e}const ni=(r,t,e)=>{let n=r,i=t,a=e;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},Hr=Array.isArray,wi={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class ra{constructor(t={}){this.options=t,this.id="concentric",this.options=Object.assign(Object.assign({},wi),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,t,e)})}genericConcentricLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:A,height:l,sortBy:h,maxLevelDiff:v,sweep:p,clockwise:_,equidistant:j,preventOverlap:q,startAngle:At=3/2*Math.PI,nodeSize:wt,nodeSpacing:Ot}=i,Xt=e.getAllNodes(),ne=e.getAllEdges(),fe=!A&&typeof window!="undefined"?window.innerWidth:A,He=!l&&typeof window!="undefined"?window.innerHeight:l,Fn=a||[fe/2,He/2];if(!(Xt!=null&&Xt.length)||Xt.length===1)return Sr(e,t,Fn);const yn=[];let Zn,gn=0;Hr(wt)?Zn=Math.max(wt[0],wt[1]):(0,Me.Z)(wt)?(Zn=-1/0,Xt.forEach(Ir=>{const Ui=Math.max(...Qe(wt(Ir)));Ui>Zn&&(Zn=Ui)})):Zn=wt,Hr(Ot)?gn=Math.max(Ot[0],Ot[1]):(0,On.Z)(Ot)&&(gn=Ot),Xt.forEach(Ir=>{const Ui=rn(Ir);yn.push(Ui);let Aa=Zn;const{data:wa}=Ui;Hr(wa.size)?Aa=Math.max(wa.size[0],wa.size[1]):(0,On.Z)(wa.size)?Aa=wa.size:(0,S.Z)(wa.size)&&(Aa=Math.max(wa.size.width,wa.size.height)),Zn=Math.max(Zn,Aa),(0,Me.Z)(Ot)&&(gn=Math.max(Ot(Ir),gn))});const fr={};yn.forEach((Ir,Ui)=>{fr[Ir.id]=Ui});let Rr=h;(!(0,ui.Z)(Rr)||yn[0].data[Rr]===void 0)&&(Rr="degree"),Rr==="degree"?yn.sort((Ir,Ui)=>e.getDegree(Ui.id,"both")-e.getDegree(Ir.id,"both")):yn.sort((Ir,Ui)=>Ui.data[Rr]-Ir.data[Rr]);const Jr=yn[0],Li=(v||(Rr==="degree"?e.getDegree(Jr.id,"both"):Jr.data[Rr]))/4,Ei=[{nodes:[]}];let Si=Ei[0];yn.forEach(Ir=>{if(Si.nodes.length>0){const Ui=Math.abs(Rr==="degree"?e.getDegree(Si.nodes[0].id,"both")-e.getDegree(Ir.id,"both"):Si.nodes[0].data[Rr]-Ir.data[Rr]);Li&&Ui>=Li&&(Si={nodes:[]},Ei.push(Si))}Si.nodes.push(Ir)});let ci=Zn+gn;if(!q){const Ir=Ei.length>0&&Ei[0].nodes.length>1,Aa=(Math.min(fe,He)/2-ci)/(Ei.length+(Ir?1:0));ci=Math.min(ci,Aa)}let Pi=0;if(Ei.forEach(Ir=>{const Ui=p===void 0?2*Math.PI-2*Math.PI/Ir.nodes.length:p;if(Ir.dTheta=Ui/Math.max(1,Ir.nodes.length-1),Ir.nodes.length>1&&q){const Aa=Math.cos(Ir.dTheta)-Math.cos(0),wa=Math.sin(Ir.dTheta)-Math.sin(0),rs=Math.sqrt(ci*ci/(Aa*Aa+wa*wa));Pi=Math.max(rs,Pi)}Ir.r=Pi,Pi+=ci}),j){let Ir=0,Ui=0;for(let Aa=0;Aa{wa===0&&(Ui=Aa.r||0),Aa.r=Ui,Ui+=Ir})}return Ei.forEach(Ir=>{const Ui=Ir.dTheta||0,Aa=Ir.r||0;Ir.nodes.forEach((wa,rs)=>{const Us=At+(_?1:-1)*Ui*rs;wa.data.x=Fn[0]+Aa*Math.cos(Us),wa.data.y=Fn[1]+Aa*Math.sin(Us)})}),t&&yn.forEach(Ir=>e.mergeNodeData(Ir.id,{x:Ir.data.x,y:Ir.data.y})),{nodes:yn,edges:ne}})}}var Oa=g(14301),Na=g(7695);const li=.81,B=.1;function y(r,t,e,n,i=2){const a=t/e,A=r.getAllNodes(),l=A.map((p,_)=>{const{nodeStrength:j,x:q,y:At,z:wt,size:Ot}=p.data;return{x:q,y:At,z:wt,size:Ot,index:_,id:p.id,vx:0,vy:0,vz:0,weight:a*j}}),h=(i===2?(0,Oa.Z)(l,p=>p.x,p=>p.y):(0,Na.Z)(l,p=>p.x,p=>p.y,p=>p.z)).visitAfter(I),v=new Map;return l.forEach(p=>{v.set(p.id,p),et(p,h,i)}),l.map((p,_)=>{const{id:j,data:q}=A[_],{mass:At=1}=q;n[j]={x:p.vx/At,y:p.vy/At,z:p.vz/At}}),n}function I(r){let t=0,e=0,n=0,i=0,a=0;const A=r.length;if(A){for(let l=0;l{var l;if(((l=r.data)===null||l===void 0?void 0:l.id)===a.id)return;const h=[e,n,i][A-1],v=a.x-r.x||B,p=a.y-r.y||B,_=a.z-r.z||B,j=[v,p,_],q=h-t;let At=0;for(let Xt=0;XtO(n,i,a,A,l,r,e))}const St={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 $t{constructor(t={}){this.options=t,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},St),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericForceLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=e.getAllNodes(),A=e.getAllEdges(),l=this.formatOptions(i,e),{dimensions:h,width:v,height:p,nodeSize:_,getMass:j,nodeStrength:q,edgeStrength:At,linkDistance:wt}=l,Ot=a.map((gn,fr)=>Object.assign(Object.assign({},gn),{data:Object.assign(Object.assign({},gn.data),{x:(0,On.Z)(gn.data.x)?gn.data.x:Math.random()*v,y:(0,On.Z)(gn.data.y)?gn.data.y:Math.random()*p,z:(0,On.Z)(gn.data.z)?gn.data.z:Math.random()*Math.sqrt(v*p),size:_(gn)||30,mass:j(gn),nodeStrength:q(gn)})})),Xt=A.map(gn=>Object.assign(Object.assign({},gn),{data:Object.assign(Object.assign({},gn.data),{edgeStrength:At(gn),linkDistance:wt(gn,e.getNode(gn.source),e.getNode(gn.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:A},{nodes:[],edges:A};const ne={};a.forEach((gn,fr)=>{ne[gn.id]={x:0,y:0,z:0}});const fe=new Xa.k({nodes:Ot,edges:Xt});this.formatCentripetal(l,fe);const{maxIteration:He,minMovement:Fn,onTick:yn}=l;if(this.lastLayoutNodes=Ot,this.lastLayoutEdges=Xt,this.lastAssign=t,this.lastGraph=e,this.lastCalcGraph=fe,this.lastOptions=l,this.lastVelMap=ne,typeof window=="undefined")return;let Zn=0;return new Promise(gn=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&gn({nodes:Hn(e,Ot),edges:A}),this.runOneStep(fe,e,Zn,ne,l),this.updatePosition(e,fe,ne,l),t&&Ot.forEach(fr=>e.mergeNodeData(fr.id,{x:fr.data.x,y:fr.data.y,z:h===3?fr.data.z:void 0})),yn==null||yn({nodes:Hn(e,Ot),edges:A}),Zn++,(Zn>=He||this.judgingDistance{let v=1;(0,On.Z)(h==null?void 0:h.data.mass)&&(v=h==null?void 0:h.data.mass);const p=e.getDegree(h.id,"both");return!p||p<5?v:p*5*v}),n.nodeSize=hn(t.nodeSize,t.nodeSpacing);const l=t.linkDistance?Ue(1,t.linkDistance):h=>1+n.nodeSize(e.getNode(h.source))+n.nodeSize(e.getNode(h.target));return n.linkDistance=l,n.nodeStrength=Ue(1,t.nodeStrength),n.edgeStrength=Ue(1,t.edgeStrength),n}formatCentripetal(t,e){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:A,leafCluster:l,clustering:h,nodeClusterBy:v}=t,p=e.getAllNodes(),_=i||{leaf:2,single:2,others:1,center:Xt=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof A!="function"&&(t.clusterNodeStrength=Xt=>A);let j,q;if(l&&v&&(j=Le(e,v),q=Array.from(new Set(p==null?void 0:p.map(Xt=>Xt.data[v])))||[],t.centripetalOptions=Object.assign(_,{single:100,leaf:Xt=>{const{siblingLeaves:ne,sameTypeLeaves:fe}=j[Xt.id]||{};return(fe==null?void 0:fe.length)===(ne==null?void 0:ne.length)||(q==null?void 0:q.length)===1?1:t.clusterNodeStrength(Xt)},others:1,center:Xt=>{const ne=e.getDegree(Xt.id,"both");if(!ne)return{x:100,y:100,z:0};let fe;if(ne===1){const{sameTypeLeaves:He=[]}=j[Xt.id]||{};He.length===1?fe=void 0:He.length>1&&(fe=In(He))}else fe=void 0;return{x:fe==null?void 0:fe.x,y:fe==null?void 0:fe.y,z:fe==null?void 0:fe.z}}})),h&&v){j||(j=Le(e,v)),q||(q=Array.from(new Set(p.map(ne=>ne.data[v])))),q=q.filter(ne=>ne!==void 0);const Xt={};q.forEach(ne=>{const fe=p.filter(He=>He.data[v]===ne).map(He=>e.getNode(He.id));Xt[ne]=In(fe)}),t.centripetalOptions=Object.assign(_,{single:ne=>t.clusterNodeStrength(ne),leaf:ne=>t.clusterNodeStrength(ne),others:ne=>t.clusterNodeStrength(ne),center:ne=>{const fe=Xt[ne.data[v]];return{x:fe==null?void 0:fe.x,y:fe==null?void 0:fe.y,z:fe==null?void 0:fe.z}}})}const{leaf:At,single:wt,others:Ot}=t.centripetalOptions||{};At&&typeof At!="function"&&(t.centripetalOptions.leaf=()=>At),wt&&typeof wt!="function"&&(t.centripetalOptions.single=()=>wt),Ot&&typeof Ot!="function"&&(t.centripetalOptions.others=()=>Ot)}runOneStep(t,e,n,i,a){const A={},l=t.getAllNodes(),h=t.getAllEdges();if(!(l!=null&&l.length))return;const{monitor:v}=a;if(this.calRepulsive(t,A,a),h&&this.calAttractive(t,A,a),this.calGravity(t,e,A,a),this.updateVelocity(t,A,i,a),v){const p=this.calTotalEnergy(A,l);v({energy:p,nodes:e.getAllNodes(),edges:e.getAllEdges(),iterations:n})}}calTotalEnergy(t,e){if(!(e!=null&&e.length))return 0;let n=0;return e.forEach((i,a)=>{const A=t[i.id].x,l=t[i.id].y,h=this.options.dimensions===3?t[i.id].z:0,v=A*A+l*l+h*h,{mass:p=1}=i.data;n+=p*v*.5}),n}calRepulsive(t,e,n){const{dimensions:i,factor:a,coulombDisScale:A}=n;y(t,a,A*A,e,i)}calAttractive(t,e,n){const{dimensions:i,nodeSize:a}=n;t.getAllEdges().forEach((A,l)=>{const{source:h,target:v}=A,p=t.getNode(h),_=t.getNode(v);if(!p||!_)return;let j=_.data.x-p.data.x,q=_.data.y-p.data.y,At=i===3?_.data.z-p.data.z:0;!j&&!q&&(j=Math.random()*.01,q=Math.random()*.01,i===3&&!At&&(At=Math.random()*.01));const wt=Math.sqrt(j*j+q*q+At*At);if(wt{const{id:wt,data:Ot}=At,{mass:Xt,x:ne,y:fe,z:He}=Ot,Fn=e.getNode(wt);let yn=0,Zn=0,gn=0,fr=j;const Rr=t.getDegree(wt,"in"),Jr=t.getDegree(wt,"out"),Li=t.getDegree(wt,"both"),Ei=a==null?void 0:a(Fn,Li);if(Ei){const[Si,ci,Pi]=Ei;yn=ne-Si,Zn=fe-ci,fr=Pi}else yn=ne-_[0],Zn=fe-_[1],gn=He-_[2];if(fr&&(n[wt].x-=fr*yn/Xt,n[wt].y-=fr*Zn/Xt,n[wt].z-=fr*gn/Xt),q){const{leaf:Si,single:ci,others:Pi,center:Qa}=q,{x:Ir,y:Ui,z:Aa,centerStrength:wa}=(Qa==null?void 0:Qa(Fn,l,h,v,p))||{x:0,y:0,z:0,centerStrength:0};if(!(0,On.Z)(Ir)||!(0,On.Z)(Ui))return;const rs=(ne-Ir)/Xt,Us=(fe-Ui)/Xt,Ea=(He-Aa)/Xt;if(wa&&(n[wt].x-=wa*rs,n[wt].y-=wa*Us,n[wt].z-=wa*Ea),Li===0){const Ps=ci(Fn);if(!Ps)return;n[wt].x-=Ps*rs,n[wt].y-=Ps*Us,n[wt].z-=Ps*Ea;return}if(Rr===0||Jr===0){const Ps=Si(Fn,l,h);if(!Ps)return;n[wt].x-=Ps*rs,n[wt].y-=Ps*Us,n[wt].z-=Ps*Ea;return}const ys=Pi(Fn);if(!ys)return;n[wt].x-=ys*rs,n[wt].y-=ys*Us,n[wt].z-=ys*Ea}})}updateVelocity(t,e,n,i){const{damping:a,maxSpeed:A,interval:l,dimensions:h}=i,v=t.getAllNodes();v!=null&&v.length&&v.forEach(p=>{const{id:_}=p;let j=(n[_].x+e[_].x*l)*a||.01,q=(n[_].y+e[_].y*l)*a||.01,At=h===3?(n[_].z+e[_].z*l)*a||.01:0;const wt=Math.sqrt(j*j+q*q+At*At);if(wt>A){const Ot=A/wt;j=Ot*j,q=Ot*q,At=Ot*At}n[_]={x:j,y:q,z:At}})}updatePosition(t,e,n,i){const{distanceThresholdMode:a,interval:A,dimensions:l}=i,h=e.getAllNodes();if(!(h!=null&&h.length)){this.judgingDistance=0;return}let v=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),h.forEach(p=>{const{id:_}=p,j=t.getNode(_);if((0,On.Z)(j.data.fx)&&(0,On.Z)(j.data.fy)){e.mergeNodeData(_,{x:j.data.fx,y:j.data.fy,z:l===3?j.data.fz:void 0});return}const q=n[_].x*A,At=n[_].y*A,wt=l===3?n[_].z*A:0;e.mergeNodeData(_,{x:p.data.x+q,y:p.data.y+At,z:p.data.z+wt});const Ot=Math.sqrt(q*q+At*At+wt*wt);switch(a){case"max":this.judgingDistanceOt&&(this.judgingDistance=Ot);break;default:v=v+Ot;break}}),(!a||a==="mean")&&(this.judgingDistance=v/h.length)}}const Le=(r,t)=>{const e=r.getAllNodes();if(!(e!=null&&e.length))return{};const n={};return e.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=Ne(r,"leaf",i,t))}),n},Ne=(r,t,e,n)=>{const i=r.getDegree(e.id,"in"),a=r.getDegree(e.id,"out");let A=e,l=[];i===0?(A=r.getSuccessors(e.id)[0],l=r.getNeighbors(A.id)):a===0&&(A=r.getPredecessors(e.id)[0],l=r.getNeighbors(A.id)),l=l.filter(v=>r.getDegree(v.id,"in")===0||r.getDegree(v.id,"out")===0);const h=bn(r,t,n,e,l);return{coreNode:A,siblingLeaves:l,sameTypeLeaves:h}},bn=(r,t,e,n,i)=>{const a=n.data[e]||"";let A=(i==null?void 0:i.filter(l=>l.data[e]===a))||[];return t==="leaf"&&(A=A.filter(l=>r.getDegree(l.id,"in")===0||r.getDegree(l.id,"out")===0)),A},In=r=>{const t={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;t.x+=i||0,t.y+=a||0});const e=r.length||1;return{x:t.x/e,y:t.y/e}},Hn=(r,t)=>t.map(e=>{const{id:n,data:i}=e,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var sr=g(16970);const ti=r=>{const t=[],e=r.length;for(let n=0;nt[i][n]+t[n][a]&&(t[i][a]=t[i][n]+t[n][a]);return t},Pr=(r,t)=>{const{nodes:e,edges:n}=r,i=[],a={};if(!e)throw new Error("invalid nodes data!");return e&&e.forEach((A,l)=>{a[A.id]=l;const h=[];i.push(h)}),n==null||n.forEach(A=>{const{source:l,target:h}=A,v=a[l],p=a[h];v===void 0||p===void 0||(i[v][p]=1,t||(i[p][v]=1))}),i},jr=(r,t)=>{const e=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*t)}),e.push(i)}),e},Zi=r=>{let t=1/0,e=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let A=a.data.size;Hr(A)?A.length===1&&(A=[A[0],A[0]]):(0,On.Z)(A)?A=[A,A]:(A===void 0||isNaN(A))&&(A=[30,30]);const l=[A[0]/2,A[1]/2],h=a.data.x-l[0],v=a.data.x+l[0],p=a.data.y-l[1],_=a.data.y+l[1];t>h&&(t=h),e>p&&(e=p),nMath.sqrt((r.x-t.x)*(r.x-t.x)+(r.y-t.y)*(r.y-t.y)),si=(r,t,e,n="TB",i,a={})=>{if(!(t!=null&&t.length))return;const{stopBranchFn:A,stopAllFn:l}=a;for(let h=0;h{const Xt=rn(l[Ot]);Xt.data.x=wt[0]+a[0],Xt.data.y=wt[1]+a[1],q.push(Xt)}),t&&q.forEach(wt=>e.mergeNodeData(wt.id,{x:wt.data.x,y:wt.data.y})),{nodes:q,edges:h}})}}const Oi=r=>{let t=-999999;r.forEach(e=>{e.forEach(n=>{n!==1/0&&t{e.forEach((i,a)=>{i===1/0&&(r[n][a]=t)})})},qr=r=>{const e=sr.y3.mul(sr.y3.pow(r,2),-.5),n=e.mean("row"),i=e.mean("column"),a=e.mean();e.add(a).subRowVector(n).subColumnVector(i);const A=new sr.Sc(e),l=sr.y3.sqrt(A.diagonalMatrix).diagonal();return A.leftSingularVectors.toJSON().map(h=>sr.y3.mul([h],[l]).toJSON()[0].splice(0,2))};function Ji(r){return!!r.tick&&!!r.stop}const ia={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},Ii={center:[0,0],comboPadding:10,treeKey:"combo"};class As{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},Ii),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:A,outerLayout:l}=i,h=e.getAllNodes().filter(gn=>!gn.data._isCombo),v=e.getAllNodes().filter(gn=>gn.data._isCombo),p=e.getAllEdges(),_=h==null?void 0:h.length;if(!_||_===1)return Sr(e,t,a);const j=[],q=new Map;h.forEach(gn=>{q.set(gn.id,gn)});const At=new Map;v.forEach(gn=>{At.set(gn.id,gn)});const wt=new Map,Ot=this.getInnerGraphs(e,A,q,At,p,i,wt);yield Promise.all(Ot);const Xt=new Map,ne=[],fe=new Map;let He=!0;e.getRoots(A).forEach(gn=>{const fr=wt.get(gn.id),Rr=At.get(gn.id)||q.get(gn.id),Jr={id:gn.id,data:Object.assign(Object.assign({},gn.data),{x:fr.data.x||Rr.data.x,y:fr.data.y||Rr.data.y,fx:fr.data.fx||Rr.data.fx,fy:fr.data.fy||Rr.data.fy,mass:fr.data.mass||Rr.data.mass,size:fr.data.size})};ne.push(Jr),Xt.set(gn.id,!0),!isNaN(Jr.data.x)&&Jr.data.x!==0&&!isNaN(Jr.data.y)&&Jr.data.y!==0?He=!1:(Jr.data.x=Math.random()*100,Jr.data.y=Math.random()*100),si(e,[gn],Li=>{Li.id!==gn.id&&fe.set(Li.id,gn.id)},"TB",A)});const Fn=[];p.forEach(gn=>{const fr=fe.get(gn.source)||gn.source,Rr=fe.get(gn.target)||gn.target;fr!==Rr&&Xt.has(fr)&&Xt.has(Rr)&&Fn.push({id:gn.id,source:fr,target:Rr,data:{}})});let yn;if(ne!=null&&ne.length){if(ne.length===1)ne[0].data.x=a[0],ne[0].data.y=a[1];else{const gn=new Xa.k({nodes:ne,edges:Fn}),fr=l||new $t;He&&ia[fr.id]&&(yield(ne.length<100?new Hi:new ra).assign(gn));const Rr=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},fr.id==="force"?{gravity:1,factor:4,linkDistance:(Jr,Li,Ei)=>{const Si=Math.max(...Li.data.size)||32,ci=Math.max(...Ei.data.size)||32;return Si/2+ci/2+200}}:{});yn=yield ls(fr,gn,Rr)}wt.forEach(gn=>{var fr;const Rr=yn.nodes.find(Ei=>Ei.id===gn.id);if(Rr){const{x:Ei,y:Si}=Rr.data;gn.data.visited=!0,gn.data.x=Ei,gn.data.y=Si,j.push({id:gn.id,data:{x:Ei,y:Si}})}const{x:Jr,y:Li}=gn.data;(fr=gn.data.nodes)===null||fr===void 0||fr.forEach(Ei=>{j.push({id:Ei.id,data:{x:Ei.data.x+Jr,y:Ei.data.y+Li}})})}),wt.forEach(({data:gn})=>{const{x:fr,y:Rr,visited:Jr,nodes:Li}=gn;Li==null||Li.forEach(Ei=>{if(!Jr){const Si=j.find(ci=>ci.id===Ei.id);Si.data.x+=fr||0,Si.data.y+=Rr||0}})})}return t&&j.forEach(gn=>{e.mergeNodeData(gn.id,{x:gn.data.x,y:gn.data.y})}),{nodes:j,edges:p}})}initVals(t){const e=Object.assign({},t),{nodeSize:n,spacing:i,comboPadding:a}=t;let A,l;if((0,On.Z)(i)?l=()=>i:(0,Me.Z)(i)?l=i:l=()=>0,e.spacing=l,!n)A=v=>{const p=l(v);return v.size?Hr(v.size)?((v.size[0]>v.size[1]?v.size[0]:v.size[1])+p)/2:(0,S.Z)(v.size)?((v.size.width>v.size.height?v.size.width:v.size.height)+p)/2:(v.size+p)/2:32+p/2};else if((0,Me.Z)(n))A=v=>{const p=n(v),_=l(v);return Hr(v.size)?((v.size[0]>v.size[1]?v.size[0]:v.size[1])+_)/2:((p||32)+_)/2};else if(Hr(n)){const p=(n[0]>n[1]?n[0]:n[1])/2;A=_=>p+l(_)/2}else{const v=n/2;A=p=>v+l(p)/2}e.nodeSize=A;let h;return(0,On.Z)(a)?h=()=>a:Hr(a)?h=()=>Math.max.apply(null,a):(0,Me.Z)(a)?h=a:h=()=>0,e.comboPadding=h,e}getInnerGraphs(t,e,n,i,a,A,l){const{nodeSize:h,comboPadding:v,spacing:p,innerLayout:_}=A,j=_||new ra({}),q={center:[0,0],preventOverlap:!0,nodeSpacing:p},At=[],wt=Ot=>{let Xt=(v==null?void 0:v(Ot))||10;return Hr(Xt)&&(Xt=Math.max(...Xt)),{size:Xt?[Xt*2,Xt*2]:[30,30],padding:Xt}};return t.getRoots(e).forEach(Ot=>{l.set(Ot.id,{id:Ot.id,data:{nodes:[],size:wt(Ot).size}});let Xt=Promise.resolve();si(t,[Ot],ne=>{var fe;if(!ne.data._isCombo)return;const{size:He,padding:Fn}=wt(ne);if(!(!((fe=t.getChildren(ne.id,e))===null||fe===void 0)&&fe.length))l.set(ne.id,{id:ne.id,data:Object.assign(Object.assign({},ne.data),{size:He})});else{const yn=l.get(ne.id);l.set(ne.id,{id:ne.id,data:Object.assign({nodes:[]},yn==null?void 0:yn.data)});const Zn=new Map,gn=t.getChildren(ne.id,e).map(Jr=>{if(Jr.data._isCombo)return l.has(Jr.id)||l.set(Jr.id,{id:Jr.id,data:Object.assign({},Jr.data)}),Zn.set(Jr.id,!0),l.get(Jr.id);const Li=n.get(Jr.id)||i.get(Jr.id);return Zn.set(Jr.id,!0),{id:Jr.id,data:Object.assign(Object.assign({},Li.data),Jr.data)}}),fr={nodes:gn,edges:a.filter(Jr=>Zn.has(Jr.source)&&Zn.has(Jr.target))};let Rr=1/0;gn.forEach(Jr=>{var Li;let{size:Ei}=Jr.data;Ei||(Ei=((Li=l.get(Jr.id))===null||Li===void 0?void 0:Li.data.size)||(h==null?void 0:h(Jr))||[30,30]),(0,On.Z)(Ei)&&(Ei=[Ei,Ei]);const[Si,ci]=Ei;Rr>Si&&(Rr=Si),Rr>ci&&(Rr=ci),Jr.data.size=Ei}),Xt=Xt.then(()=>(0,Di.mG)(this,void 0,void 0,function*(){const Jr=new Xa.k(fr);yield ls(j,Jr,q,!0);const{minX:Li,minY:Ei,maxX:Si,maxY:ci}=Zi(gn),Pi={x:(Si+Li)/2,y:(ci+Ei)/2};fr.nodes.forEach(Ir=>{Ir.data.x-=Pi.x,Ir.data.y-=Pi.y});const Qa=[Math.max(Si-Li,Rr)+Fn*2,Math.max(ci-Ei,Rr)+Fn*2];l.get(ne.id).data.size=Qa,l.get(ne.id).data.nodes=gn}))}return!0},"BT",e),At.push(Xt)}),At}}function ls(r,t,e,n){var i;return(0,Di.mG)(this,void 0,void 0,function*(){return Ji(r)?(r.execute(t,e),r.stop(),r.tick((i=e.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(t,e):yield r.execute(t,e)})}var ms=g(31136),Fa=g(84365),Fs=g(32575),sA=g(33039),qs=g(54774),yo=g(34123),gl=g(97468),oA=g(74515);class qA{constructor(t){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:ms.Z,manyBody:Fa.Z,center:Fs.Z,collide:sA.Z,radial:qs.Z,x:yo.Z,y:gl.Z},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},(0,m.Z)(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const n=this.context.nodes.find(i=>i.id===t);n&&e.forEach((i,a)=>{if(typeof i=="number"||i===null){const A=["fx","fy","fz"][a];n[A]=i}})}getOptions(t){var e,n;const i=(0,m.Z)({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(t,e,n){var i;return(0,Di.mG)(this,void 0,void 0,function*(){const a=this.getOptions(n),A=e.getAllNodes().map(({id:p,data:_})=>Object.assign(Object.assign({id:p},_),(0,oa.Z)(_.data,this.config.inputNodeAttrs))),l=e.getAllEdges().map(p=>Object.assign({},p));Object.assign(this.context,{assign:t,nodes:A,edges:l,graph:e});const h=new Promise(p=>{this.resolver=p}),v=this.setSimulation(a);return v.nodes(A),(i=v.force("link"))===null||i===void 0||i.links(l),h})}getResult(){const{assign:t,nodes:e,edges:n,graph:i}=this.context,a=e.map(l=>({id:l.id,data:Object.assign(Object.assign({},l.data),(0,oa.Z)(l,this.config.outputNodeAttrs))})),A=n.map(({id:l,source:h,target:v,data:p})=>({id:l,source:typeof h=="object"?h.id:h,target:typeof v=="object"?v.id:v,data:p}));return t&&a.forEach(l=>i.mergeNodeData(l.id,l.data)),{nodes:a,edges:A}}initSimulation(){return(0,oA.Z)()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var n;return(n=t.onTick)===null||n===void 0?void 0:n.call(t,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),tl(e,this.config.simulationAttrs.map(n=>[n,t[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(t[n]){let A=e.force(a);A||(A=i(),e.force(a,A)),tl(A,Object.entries(t[a]))}else e.force(a,null)}),e}}const tl=(r,t)=>t.reduce((e,[n,i])=>!e[n]||i===void 0?e:e[n].call(r,i),r);var el=g(92546),MA=g.n(el);class AA{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,AA.defaultOptions,t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new el.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const A=e.getAllNodes(),l=e.getAllEdges();[...A,...l].some(({id:v})=>(0,On.Z)(v))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(v=>{const{id:p}=v,_=Object.assign({},v.data);if(i!==void 0){const[j,q]=Qe((0,Me.Z)(i)?i(v):i);Object.assign(_,{width:j,height:q})}a.setNode(p.toString(),_)}),e.getAllEdges().forEach(({id:v,source:p,target:_})=>{a.setEdge(p.toString(),_.toString(),{id:v})}),MA().layout(a);const h={nodes:[],edges:[]};return a.nodes().forEach(v=>{const p=a.node(v);h.nodes.push({id:v,data:p}),t&&e.mergeNodeData(v,p)}),a.edges().forEach(v=>{const p=a.edge(v),{id:_}=p,j=(0,Di._T)(p,["id"]),{v:q,w:At}=v;h.edges.push({id:_,source:q,target:At,data:j}),t&&e.mergeEdgeData(_,j)}),h})}}AA.defaultOptions={};class jo{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,n=t.ry-this.ry;let i=Math.hypot(e,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=a*e/i,this.fy+=a*n/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,n=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,a=this.degree+t.degree,A={rx:n,ry:i,mass:e,degree:a};return new jo(A)}}class Yo{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}}class lA{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new lA(this.quad.NW()),this.NE=new lA(this.quad.NE()),this.SW=new lA(this.quad.SW()),this.SE=new lA(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,n=this.body.distanceTo(t);e/nrn(Xt,[l,h])),At=i.filter(Xt=>{const{source:ne,target:fe}=Xt;return ne!==fe}),wt=new Xa.k({nodes:q,edges:At}),Ot=this.getSizes(wt,_);if(this.run(wt,e,p,Ot,t,A),v){for(let ne=0;ne250&&(n.barnesHut=!0),h===void 0&&e>100&&(n.prune=!0),v===0&&!h?(n.maxIteration=250,e<=200&&e>100?n.maxIteration=1e3:e>200&&(n.maxIteration=1200)):v===0&&h&&(n.maxIteration=100,e<=200&&e>100?n.maxIteration=500:e>200&&(n.maxIteration=950)),p||(n.kr=50,e>100&&e<=500?n.kr=20:e>500&&(n.kr=1)),_||(n.kg=20,e>100&&e<=500?n.kg=10:e>500&&(n.kg=1)),n}run(t,e,n,i,a,A){const{kr:l,barnesHut:h,onTick:v}=A,p=t.getAllNodes();let _=0,j=n;const q={},At={},wt={};for(let Ot=0;Ot0;)_=this.oneStep(t,{iter:j,preventOverlapIters:50,krPrime:100,sg:_,forces:q,preForces:At,bodies:wt,sizes:i},A),j--,v==null||v({nodes:p,edges:e.getAllEdges()});return t}oneStep(t,e,n){const{iter:i,preventOverlapIters:a,krPrime:A,sg:l,preForces:h,bodies:v,sizes:p}=e;let{forces:_}=e;const{preventOverlap:j,barnesHut:q}=n,At=t.getAllNodes();for(let wt=0;wta||!j)?_=this.getOptRepGraForces(t,_,v,n):_=this.getRepGraForces(t,i,a,_,A,p,n),this.updatePos(t,_,h,l,n)}getAttrForces(t,e,n,i,a,A){const{preventOverlap:l,dissuadeHubs:h,mode:v,prune:p}=A,_=t.getAllEdges();for(let j=0;j<_.length;j+=1){const{source:q,target:At}=_[j],wt=t.getNode(q),Ot=t.getNode(At),Xt=t.getDegree(q),ne=t.getDegree(At);if(p&&(Xt<=1||ne<=1))continue;const fe=[Ot.data.x-wt.data.x,Ot.data.y-wt.data.y];let He=Math.hypot(fe[0],fe[1]);He=He<1e-4?1e-4:He,fe[0]=fe[0]/He,fe[1]=fe[1]/He,l&&e0&&(Fn=He,yn=He),a[q][0]+=Fn*fe[0],a[At][0]-=yn*fe[0],a[q][1]+=Fn*fe[1],a[At][1]-=yn*fe[1]}return a}getOptRepGraForces(t,e,n,i){const{kg:a,center:A,prune:l}=i,h=t.getAllNodes(),v=h.length;let p=9e10,_=-9e10,j=9e10,q=-9e10;for(let ne=0;ne=_&&(_=He.x),He.x<=p&&(p=He.x),He.y>=q&&(q=He.y),He.y<=j&&(j=He.y))}const At=Math.max(_-p,q-j),wt={xmid:(_+p)/2,ymid:(q+j)/2,length:At,massCenter:A,mass:v},Ot=new Yo(wt),Xt=new lA(Ot);for(let ne=0;ne0&&(Rr=v*(Xt+1)*(Zn+1)/fr),i[Ot.id][0]-=Rr*gn[0],i[yn.id][0]+=Rr*gn[0],i[Ot.id][1]-=Rr*gn[1],i[yn.id][1]+=Rr*gn[1]}const ne=[Ot.data.x-_[0],Ot.data.y-_[1]],fe=Math.hypot(ne[0],ne[1]);ne[0]=ne[0]/fe,ne[1]=ne[1]/fe;const He=p*(Xt+1);i[Ot.id][0]-=He*ne[0],i[Ot.id][1]-=He*ne[1]}return i}updatePos(t,e,n,i,a){const{ks:A,tao:l,prune:h,ksmax:v}=a,p=t.getAllNodes(),_=p.length,j=[],q=[];let At=0,wt=0,Ot=i;for(let ne=0;ne<_;ne+=1){const{id:fe}=p[ne],He=t.getDegree(fe);if(h&&He<=1)continue;const Fn=[e[fe][0]-n[fe][0],e[fe][1]-n[fe][1]],yn=Math.hypot(Fn[0],Fn[1]),Zn=[e[fe][0]+n[fe][0],e[fe][1]+n[fe][1]],gn=Math.hypot(Zn[0],Zn[1]);j[ne]=yn,q[ne]=gn/2,At+=(He+1)*j[ne],wt+=(He+1)*q[ne]}const Xt=Ot;Ot=l*wt/At,Xt!==0&&(Ot=Ot>1.5*Xt?1.5*Xt:Ot);for(let ne=0;ne<_;ne+=1){const{id:fe,data:He}=p[ne],Fn=t.getDegree(fe);if(h&&Fn<=1||(0,On.Z)(He.fx)&&(0,On.Z)(He.fy))continue;let yn=A*Ot/(1+Ot*Math.sqrt(j[ne])),Zn=Math.hypot(e[fe][0],e[fe][1]);Zn=Zn<1e-4?1e-4:Zn;const gn=v/Zn;yn=yn>gn?gn:yn;const fr=yn*e[fe][0],Rr=yn*e[fe][1];t.mergeNodeData(fe,{x:He.x+fr,y:He.y+Rr})}return Ot}}const Jf={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},$f=800;class qf{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},Jf),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericFruchtermanLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:A,height:l,center:h,clustering:v,nodeClusterBy:p,maxIteration:_,onTick:j}=i,q=e.getAllNodes(),At=e.getAllEdges();if(!(q!=null&&q.length)){const fe={nodes:[],edges:At};return this.lastResult=fe,fe}if(q.length===1){t&&e.mergeNodeData(q[0].id,{x:h[0],y:h[1],z:a===3?h[2]:void 0});const fe={nodes:[Object.assign(Object.assign({},q[0]),{data:Object.assign(Object.assign({},q[0].data),{x:h[0],y:h[1],z:a===3?h[2]:void 0})})],edges:At};return this.lastResult=fe,fe}const wt=q.map(fe=>rn(fe,[A,l])),Ot=new Xa.k({nodes:wt,edges:At}),Xt={};if(v&&wt.forEach(fe=>{const He=fe.data[p];Xt[He]||(Xt[He]={name:He,cx:0,cy:0,count:0})}),this.lastLayoutNodes=wt,this.lastLayoutEdges=At,this.lastAssign=t,this.lastGraph=Ot,this.lastOptions=i,this.lastClusterMap=Xt,typeof window=="undefined")return;let ne=0;return new Promise(fe=>{this.timeInterval=window.setInterval(()=>{if(!this.running){fe({nodes:wt,edges:At});return}this.runOneStep(Ot,Xt,i),t&&wt.forEach(({id:He,data:Fn})=>e.mergeNodeData(He,{x:Fn.x,y:Fn.y,z:a===3?Fn.z:void 0})),j==null||j({nodes:wt,edges:At}),ne++,ne>=_&&(window.clearInterval(this.timeInterval),fe({nodes:wt,edges:At}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:n,nodeClusterBy:i}=e,{center:a,width:A,height:l}=e;return e.width=!A&&typeof window!="undefined"?window.innerWidth:A,e.height=!l&&typeof window!="undefined"?window.innerHeight:l,e.center=a||[e.width/2,e.height/2],e.clustering=n&&!!i,e}runOneStep(t,e,n){const{dimensions:i,height:a,width:A,gravity:l,center:h,speed:v,clustering:p,nodeClusterBy:_,clusterGravity:j}=n,q=a*A,At=Math.sqrt(q)/10,wt=t.getAllNodes(),Ot=q/(wt.length+1),Xt=Math.sqrt(Ot),ne={};if(this.applyCalculate(t,ne,Xt,Ot),p){for(const He in e)e[He].cx=0,e[He].cy=0,e[He].count=0;wt.forEach(He=>{const{data:Fn}=He,yn=e[Fn[_]];(0,On.Z)(Fn.x)&&(yn.cx+=Fn.x),(0,On.Z)(Fn.y)&&(yn.cy+=Fn.y),yn.count++});for(const He in e)e[He].cx/=e[He].count,e[He].cy/=e[He].count;const fe=j||l;wt.forEach((He,Fn)=>{const{id:yn,data:Zn}=He;if(!(0,On.Z)(Zn.x)||!(0,On.Z)(Zn.y))return;const gn=e[Zn[_]],fr=Math.sqrt((Zn.x-gn.cx)*(Zn.x-gn.cx)+(Zn.y-gn.cy)*(Zn.y-gn.cy)),Rr=Xt*fe;ne[yn].x-=Rr*(Zn.x-gn.cx)/fr,ne[yn].y-=Rr*(Zn.y-gn.cy)/fr})}wt.forEach((fe,He)=>{const{id:Fn,data:yn}=fe;if(!(0,On.Z)(yn.x)||!(0,On.Z)(yn.y))return;const Zn=.01*Xt*l;ne[Fn].x-=Zn*(yn.x-h[0]),ne[Fn].y-=Zn*(yn.y-h[1]),i===3&&(ne[Fn].z-=Zn*(yn.z-h[2]))}),wt.forEach((fe,He)=>{const{id:Fn,data:yn}=fe;if((0,On.Z)(yn.fx)&&(0,On.Z)(yn.fy)){yn.x=yn.fx,yn.y=yn.fy,i===3&&(yn.z=yn.fz);return}if(!(0,On.Z)(yn.x)||!(0,On.Z)(yn.y))return;const Zn=Math.sqrt(ne[Fn].x*ne[Fn].x+ne[Fn].y*ne[Fn].y+(i===3?ne[Fn].z*ne[Fn].z:0));if(Zn>0){const gn=Math.min(At*(v/$f),Zn);t.mergeNodeData(Fn,{x:yn.x+ne[Fn].x/Zn*gn,y:yn.y+ne[Fn].y/Zn*gn,z:i===3?yn.z+ne[Fn].z/Zn*gn:void 0})}})}applyCalculate(t,e,n,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,n)}calRepulsive(t,e,n){const i=t.getAllNodes();i.forEach(({data:a,id:A},l)=>{e[A]={x:0,y:0,z:0},i.forEach(({data:h,id:v},p)=>{if(l<=p||!(0,On.Z)(a.x)||!(0,On.Z)(h.x)||!(0,On.Z)(a.y)||!(0,On.Z)(h.y))return;let _=a.x-h.x,j=a.y-h.y,q=this.options.dimensions===3?a.z-h.z:0,At=_*_+j*j+q*q;At===0&&(At=1,_=.01,j=.01,q=.01);const wt=n/At,Ot=_*wt,Xt=j*wt,ne=q*wt;e[A].x+=Ot,e[A].y+=Xt,e[v].x-=Ot,e[v].y-=Xt,this.options.dimensions===3&&(e[A].z+=ne,e[v].z-=ne)})})}calAttractive(t,e,n){t.getAllEdges().forEach(a=>{const{source:A,target:l}=a;if(!A||!l||A===l)return;const{data:h}=t.getNode(A),{data:v}=t.getNode(l);if(!(0,On.Z)(v.x)||!(0,On.Z)(h.x)||!(0,On.Z)(v.y)||!(0,On.Z)(h.y))return;const p=v.x-h.x,_=v.y-h.y,j=this.options.dimensions===3?v.z-h.z:0,q=Math.sqrt(p*p+_*_+j*j)/n,At=p*q,wt=_*q,Ot=j*q;e[A].x+=At,e[A].y+=wt,e[l].x-=At,e[l].y-=wt,this.options.dimensions===3&&(e[A].z+=Ot,e[l].z-=Ot)})}}const td={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 ed{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},td),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:A,preventOverlapPadding:l,preventOverlap:h,rows:v,cols:p,nodeSpacing:_,nodeSize:j,width:q,height:At,position:wt}=i;let{sortBy:Ot}=i;const Xt=e.getAllNodes(),ne=e.getAllEdges(),fe=Xt==null?void 0:Xt.length;if(!fe||fe===1)return Sr(e,t,a);const He=Xt.map(ci=>rn(ci));Ot!=="id"&&(!(0,ui.Z)(Ot)||He[0].data[Ot]===void 0)&&(Ot="degree"),Ot==="degree"?He.sort((ci,Pi)=>e.getDegree(Pi.id,"both")-e.getDegree(ci.id,"both")):Ot==="id"?He.sort((ci,Pi)=>(0,On.Z)(Pi.id)&&(0,On.Z)(ci.id)?Pi.id-ci.id:`${ci.id}`.localeCompare(`${Pi.id}`)):He.sort((ci,Pi)=>Pi.data[Ot]-ci.data[Ot]);const Fn=!q&&typeof window!="undefined"?window.innerWidth:q,yn=!At&&typeof window!="undefined"?window.innerHeight:At,Zn=fe,gn={rows:v,cols:p};if(v!=null&&p!=null)gn.rows=v,gn.cols=p;else if(v!=null&&p==null)gn.rows=v,gn.cols=Math.ceil(Zn/gn.rows);else if(v==null&&p!=null)gn.cols=p,gn.rows=Math.ceil(Zn/gn.cols);else{const ci=Math.sqrt(Zn*yn/Fn);gn.rows=Math.round(ci),gn.cols=Math.round(Fn/yn*ci)}if(gn.rows=Math.max(gn.rows,1),gn.cols=Math.max(gn.cols,1),gn.cols*gn.rows>Zn){const ci=qu(gn),Pi=th(gn);(ci-1)*Pi>=Zn?qu(gn,ci-1):(Pi-1)*ci>=Zn&&th(gn,Pi-1)}else for(;gn.cols*gn.rows=Zn?th(gn,Pi+1):qu(gn,ci+1)}let fr=A?0:Fn/gn.cols,Rr=A?0:yn/gn.rows;if(h||_){const ci=Ue(10,_),Pi=qe(30,j,!1);He.forEach(Qa=>{(!Qa.data.x||!Qa.data.y)&&(Qa.data.x=0,Qa.data.y=0);const Ir=e.getNode(Qa.id),[Ui,Aa]=Qe(Pi(Ir)||30),wa=ci!==void 0?ci(Qa):l,rs=Ui+wa,Us=Aa+wa;fr=Math.max(fr,rs),Rr=Math.max(Rr,Us)})}const Jr={},Li={row:0,col:0},Ei={};for(let ci=0;ci{e.mergeNodeData(ci.id,{x:ci.data.x,y:ci.data.y})}),Si})}}const qu=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=t:r.cols=t,e},th=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=t:r.cols=t,e},Uh=(r,t)=>r[`c-${t.row}-${t.col}`]||!1,$h=(r,t)=>r[`c-${t.row}-${t.col}`]=!0,qh=(r,t)=>{const e=r.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},nd=(r,t,e,n,i,a,A,l)=>{let h,v;const p=i[r.id];if(p)h=p.col*e+e/2+t[0],v=p.row*n+n/2+t[1];else{for(;Uh(l,A);)qh(a,A);h=A.col*e+e/2+t[0],v=A.row*n+n/2+t[1],$h(l,A),qh(a,A)}r.data.x=h,r.data.y=v},rd=(r,t,e)=>{try{const n=sr.y3.mul(sr.y3.pow(t,2),-.5),i=n.mean("row"),a=n.mean("column"),A=n.mean();n.add(A).subRowVector(i).subColumnVector(a);const l=new sr.Sc(n),h=sr.y3.sqrt(l.diagonalMatrix).diagonal();return l.leftSingularVectors.toJSON().map(v=>sr.y3.mul([v],[h]).toJSON()[0].splice(0,r))}catch(n){const i=[];for(let a=0;a{const e=Object.assign(Object.assign({},ad),t),{positions:n,iterations:i,width:a,k:A,speed:l=100,strictRadial:h,focusIdx:v,radii:p=[],nodeSizeFunc:_}=e,j=r.getAllNodes(),q=[],At=a/10;for(let wt=0;wt{q[Xt]={x:0,y:0}}),od(j,n,q,A,p,_),Ad(n,q,l,h,v,At,a,p);return n},od=(r,t,e,n,i,a)=>{t.forEach((A,l)=>{e[l]={x:0,y:0},t.forEach((h,v)=>{if(l===v||i[l]!==i[v])return;let p=A.x-h.x,_=A.y-h.y,j=Math.sqrt(p*p+_*_);if(j===0){j=1;const q=l>v?1:-1;p=.01*q,_=.01*q}if(j{const h=a||A/10;return n&&t.forEach((v,p)=>{const _=r[p].x-r[i].x,j=r[p].y-r[i].y,q=Math.sqrt(_*_+j*j);let At=j/q,wt=-_/q;const Ot=Math.sqrt(v.x*v.x+v.y*v.y);let Xt=Math.acos((At*v.x+wt*v.y)/Ot);Xt>Math.PI/2&&(Xt-=Math.PI/2,At*=-1,wt*=-1);const ne=Math.cos(Xt)*Ot;v.x=At*ne,v.y=wt*ne}),r.forEach((v,p)=>{if(p===i)return;const _=Math.sqrt(t[p].x*t[p].x+t[p].y*t[p].y);if(_>0&&p!==i){const j=Math.min(h*(e/id),_);if(v.x+=t[p].x/_*j,v.y+=t[p].y/_*j,n){let q=v.x-r[i].x,At=v.y-r[i].y;const wt=Math.sqrt(q*q+At*At);q=q/wt*l[p],At=At/wt*l[p],v.x=r[i].x+q,v.y=r[i].y+At}}}),r},ld={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class cd{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},ld),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:A,center:l,focusNode:h,unitRadius:v,nodeSize:p,nodeSpacing:_,strictRadial:j,preventOverlap:q,maxPreventOverlapIteration:At,sortBy:wt,linkDistance:Ot=50,sortStrength:Xt=10,maxIteration:ne=1e3}=i,fe=e.getAllNodes(),He=e.getAllEdges(),Fn=!a&&typeof window!="undefined"?window.innerWidth:a,yn=!A&&typeof window!="undefined"?window.innerHeight:A,Zn=l||[Fn/2,yn/2];if(!(fe!=null&&fe.length)||fe.length===1)return Sr(e,t,Zn);let gn=fe[0];if((0,ui.Z)(h)){for(let vs=0;vsZn[0]?Zn[0]:Fn-Zn[0],ci=yn-Zn[1]>Zn[1]?Zn[1]:yn-Zn[1];Si===0&&(Si=Fn/2),ci===0&&(ci=yn/2);const Pi=Math.min(Si,ci),Qa=Math.max(...Ei),Ir=[],Ui=v||Pi/Qa;Ei.forEach((vs,uA)=>{Ir[uA]=vs*Ui});const Aa=ud(fe,Jr,Ot,Ir,Ui,wt,Xt),wa=hd(Aa),rs=rd(Ot,Aa,Ot);let Us=rs.map(([vs,uA])=>({x:(isNaN(vs)?Math.random()*Ot:vs)-rs[fr][0],y:(isNaN(uA)?Math.random()*Ot:uA)-rs[fr][1]}));this.run(ne,Us,wa,Aa,Ir,fr);let Ea;if(q){Ea=hn(p,_);const vs={nodes:fe,nodeSizeFunc:Ea,positions:Us,radii:Ir,height:yn,width:Fn,strictRadial:!!j,focusIdx:fr,iterations:At||200,k:Us.length/4.5};Us=sd(e,vs)}const ys=[];return Us.forEach((vs,uA)=>{const vl=rn(fe[uA]);vl.data.x=vs.x+Zn[0],vl.data.y=vs.y+Zn[1],ys.push(vl)}),t&&ys.forEach(vs=>e.mergeNodeData(vs.id,{x:vs.data.x,y:vs.data.y})),{nodes:ys,edges:He}})}run(t,e,n,i,a,A){for(let l=0;l<=t;l++){const h=l/t;this.oneIteration(h,e,a,i,n,A)}}oneIteration(t,e,n,i,a,A){const l=1-t;e.forEach((h,v)=>{const p=hi(h,{x:0,y:0}),_=p===0?0:1/p;if(v===A)return;let j=0,q=0,At=0;e.forEach((Ot,Xt)=>{if(v===Xt)return;const ne=hi(h,Ot),fe=ne===0?0:1/ne,He=i[Xt][v];At+=a[v][Xt],j+=a[v][Xt]*(Ot.x+He*(h.x-Ot.x)*fe),q+=a[v][Xt]*(Ot.y+He*(h.y-Ot.y)*fe)});const wt=n[v]===0?0:1/n[v];At*=l,At+=t*wt*wt,j*=l,j+=t*wt*h.x*_,h.x=j/At,q*=l,q+=t*wt*h.y*_,h.y=q/At})}}const ud=(r,t,e,n,i,a,A)=>{if(!r)return[];const l=[];if(t){const h={};t.forEach((v,p)=>{const _=[];v.forEach((j,q)=>{var At,wt;if(p===q)_.push(0);else if(n[p]===n[q])if(a==="data")_.push(j*(Math.abs(p-q)*A)/(n[p]/i));else if(a){let Ot,Xt;if(h[r[p].id])Ot=h[r[p].id];else{const ne=(a==="id"?r[p].id:(At=r[p].data)===null||At===void 0?void 0:At[a])||0;(0,ui.Z)(ne)?Ot=ne.charCodeAt(0):Ot=ne,h[r[p].id]=Ot}if(h[r[q].id])Xt=h[r[q].id];else{const ne=(a==="id"?r[q].id:(wt=r[q].data)===null||wt===void 0?void 0:wt[a])||0;(0,ui.Z)(ne)?Xt=ne.charCodeAt(0):Xt=ne,h[r[q].id]=Xt}_.push(j*(Math.abs(Ot-Xt)*A)/(n[p]/i))}else _.push(j*e/(n[p]/i));else{const Ot=(e+i)/2;_.push(j*Ot)}}),l.push(_)})}return l},hd=r=>{const t=r.length,e=r[0].length,n=[];for(let i=0;i{let e=-1;return r.forEach((n,i)=>{n.id===t&&(e=i)}),Math.max(e,0)},dd=(r,t,e)=>{const n=r.length;for(let i=0;i{let e=0;for(let n=0;ne?r[t][n]:e);return e},vd={center:[0,0],width:300,height:300};class pd{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},vd),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:A,height:l}=i,h=e.getAllNodes(),v=.9,p=!A&&typeof window!="undefined"?window.innerWidth:A,_=!l&&typeof window!="undefined"?window.innerHeight:l,j=a||[p/2,_/2],q=[];return h&&h.forEach(wt=>{q.push({id:wt.id,data:{x:(Math.random()-.5)*v*p+j[0],y:(Math.random()-.5)*v*_+j[1]}})}),t&&q.forEach(wt=>e.mergeNodeData(wt.id,{x:wt.data.x,y:wt.data.y})),{nodes:q,edges:e.getAllEdges()}})}}var tf=g(40455),md=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class eh extends rA{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const t=this.context.model.getRootsData();if(!((0,Ka.Z)(t)||t.length>2))return t[0]}formatSize(t){const e=typeof t=="function"?t:()=>t;return n=>is(e(n))}doLayout(t,e){const{hGap:n,getRibSep:i,vGap:a,nodeSize:A,height:l}=e,{model:h}=this.context,v=this.formatSize(A);let p=v(t)[0]+i(t);const _=(fe,He=0)=>{var Fn;return He+=n*((fe.children||[]).length+1),(Fn=fe.children)===null||Fn===void 0||Fn.forEach(yn=>{var Zn;(Zn=h.getNodeLikeDatum(yn).children)===null||Zn===void 0||Zn.forEach(fr=>{const Rr=h.getNodeLikeDatum(fr);He=_(Rr,He)})}),He},j=fe=>{if(fe.depth===1)return p;const He=h.getParentData(fe.id,"tree");if(uu(fe)){const Fn=h.getParentData(He.id,"tree"),yn=wt(fe)-wt(Fn);return j(He)+yn*n/a}else{const Fn=(He.children||[]).indexOf(fe.id),yn=h.getNodeData((He.children||[]).slice(Fn));return q(He)-yn.reduce((Zn,gn)=>Zn+_(gn),0)-v(He)[0]/2}},q=(0,tf.Z)(fe=>{if(Ph(fe))return v(fe)[0]/2;const He=h.getParentData(fe.id,"tree");if(uu(fe))return j(fe)+_(fe)+v(fe)[0]/2;{const Fn=wt(fe)-wt(He),yn=n/a;return j(fe)+Fn*yn}},fe=>fe.id),At=fe=>wt(h.getParentData(fe,"tree")),wt=(0,tf.Z)(fe=>{if(Ph(fe))return l/2;if(uu(fe)){const He=h.getParentData(fe.id,"tree"),Fn=He.children.indexOf(fe.id);if(Fn===0)return At(He.id)+a;const yn=h.getNodeLikeDatum(He.children[Fn-1]);if((0,Ka.Z)(yn.children))return wt(yn)+a;const Zn=h.getDescendantsData(yn.id);return Math.max(...Zn.map(gn=>uu(gn)?At(gn.id):wt(gn)))+a}else{if((0,Ka.Z)(fe.children))return At(fe.id)+a;const He=h.getNodeLikeDatum(fe.children.slice(-1)[0]);if((0,Ka.Z)(He.children))return wt(He)+a;const Fn=h.getDescendantsData(fe.id).slice(-1)[0];return(uu(Fn)?At(Fn.id):wt(Fn))+a}},fe=>fe.id);let Ot=0;const Xt={nodes:[],edges:[]},ne=fe=>{var He;(He=fe.children)===null||He===void 0||He.forEach(fr=>ne(h.getNodeLikeDatum(fr)));const Fn=wt(fe),yn=q(fe);if(Xt.nodes.push({id:fe.id,x:yn,y:Fn}),Ph(fe))return;const Zn=h.getRelatedEdgesData(fe.id,"in")[0],gn=[j(fe),uu(fe)?Fn:At(fe.id)];Xt.edges.push({id:be(Zn),controlPoints:[gn],relatedNodeId:fe.id}),Ot=Math.max(Ot,yn+i(fe)),fe.depth===1&&(p=Ot)};return ne(t),Xt}placeAlterative(t,e){const n=(e.children||[]).filter((l,h)=>h%2!==0);if(n.length===0)return t;const{model:i}=this.context,a=t.nodes.find(l=>l.id===e.id).y,A=l=>{const h=i.getAncestorsData(l,"tree");if((0,Ka.Z)(h))return!1;const v=h.length===1?l:h[h.length-2].id;return n.includes(v)};t.nodes.forEach(l=>{A(l.id)&&(l.y=2*a-l.y)}),t.edges.forEach(l=>{A(l.relatedNodeId)&&(l.controlPoints=l.controlPoints.map(h=>[h[0],2*a-h[1]]))})}rightToLeft(t,e){return t.nodes.forEach(n=>n.x=e.width-n.x),t.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[e.width-i[0],i[1]])}),t}execute(t,e){return md(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},eh.defaultOptions),this.options),e),{direction:i,nodeSize:a}=n,A=this.getRoot();if(!A)return t;const l=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(t.nodes||[]).map(j=>l(j)[1]))),n.hGap||(n.hGap=Math.max(...(t.nodes||[]).map(j=>l(j)[0])));let h=this.doLayout(A,n);this.placeAlterative(h,A),i==="RL"&&(h=this.rightToLeft(h,n));const{model:v}=this.context,p=[],_=[];return h.nodes.forEach(j=>{const{id:q,x:At,y:wt}=j,Ot=v.getNodeLikeDatum(q);p.push(ef(Ot,{x:At,y:wt}))}),h.edges.forEach(j=>{const{id:q,controlPoints:At}=j,wt=v.getEdgeDatum(q);_.push(ef(wt,{controlPoints:At}))}),{nodes:p,edges:_}})}}eh.defaultOptions={direction:"RL",getRibSep:()=>60};const ef=(r,t)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),t)}),Ph=r=>r.depth===0,uu=r=>(r.depth||(r.depth=0))%2===0;var yd=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class nh extends rA{constructor(){super(...arguments),this.id="snake"}formatSize(t,e){const n=typeof e=="function"?e:()=>e;return t.reduce((i,a)=>{const[A,l]=is(n(a))||[0,0];return[Math.max(i[0],A),Math.max(i[1],l)]},[0,0])}validate(t){const{nodes:e=[],edges:n=[]}=t,i={},a={},A={};e.forEach(j=>{i[j.id]=0,a[j.id]=0,A[j.id]=[]}),n.forEach(j=>{i[j.target]++,a[j.source]++,A[j.source].push(j.target)});const l=new Set,h=j=>{l.has(j)||(l.add(j),A[j].forEach(h))};if(h(e[0].id),l.size!==e.length)return!1;const v=e.filter(j=>i[j.id]===0),p=e.filter(j=>a[j.id]===0);return!(v.length!==1||p.length!==1||e.filter(j=>i[j.id]===1&&a[j.id]===1).length!==e.length-2)}execute(t,e){return yd(this,void 0,void 0,function*(){var n;if(!this.validate(t))return t;const{nodeSize:i,padding:a,sortBy:A,cols:l,colGap:h,rowGap:v,clockwise:p,width:_,height:j}=Object.assign({},nh.defaultOptions,this.options,e),[q,At,wt,Ot]=Ke(a),Xt=this.formatSize(t.nodes||[],i),ne=Math.ceil((t.nodes||[]).length/l);let fe=h||(_-Ot-At-l*Xt[0])/(l-1),He=v||(j-q-wt-ne*Xt[1])/(ne-1);return(He===1/0||He<0)&&(He=0),(fe===1/0||fe<0)&&(fe=0),{nodes:((A?(n=t.nodes)===null||n===void 0?void 0:n.sort(A):wd(t))||[]).map((Zn,gn)=>{const fr=Math.floor(gn/l),Rr=gn%l,Jr=p?fr%2===0?Rr:l-1-Rr:fr%2===0?l-1-Rr:Rr,Li=Ot+Jr*(Xt[0]+fe)+Xt[0]/2,Ei=q+fr*(Xt[1]+He)+Xt[1]/2;return{id:Zn.id,style:{x:Li,y:Ei}}})}})}}nh.defaultOptions={padding:0,cols:5,clockwise:!0};function wd(r){const{nodes:t=[],edges:e=[]}=r,n={},i={};t.forEach(l=>{n[l.id]=0,i[l.id]=[]}),e.forEach(l=>{n[l.target]++,i[l.source].push(l.target)});const a=[],A=[];for(t.forEach(l=>{n[l.id]===0&&a.push(l.id)});a.length>0;){const l=a.shift(),h=t.find(v=>v.id===l);A.push(h),i[l].forEach(v=>{n[v]--,n[v]===0&&a.push(v)})}return A}const Ed=["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)"],Bd=["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)"],bd=["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)"],xd=["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)"],Cd=["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 nf=g(92387);class to extends ot{}function hu(r,t=!0,e){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),t&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(n.style,e),n}function Dh(r,t="div",e={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const A=document.createElement(t);return A.innerHTML=n,A.id=r,Object.assign(A.style,e),i.appendChild(A),A}var Sd=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class rh extends to{constructor(t,e){super(t,Object.assign({},rh.defaultOptions,e)),this.$element=hu("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return Sd(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,(0,nf.Z)(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}rh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};var fu=g(80574),Md=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const{style:n,bubbleSetOptions:i}=this.parseOptions();(0,w.Z)(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new zi({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=be(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,A=[...this.members.keys()],l=this.options.avoidMembers,h=[...this.avoidMembers.keys()];if(a.length===0&&l.length===0)return this.members.clear(),this.avoidMembers.clear(),this.path=[],this.path;if(!n&&this.path&&(0,w.Z)(a,A)&&(0,w.Z)(l,h))return this.path;const{enter:v=[],exit:p=[]}=vn(A,a,Ot=>Ot),{enter:_=[],exit:j=[]}=vn(h,l,Ot=>Ot);if(n){const Ot=a.includes(n),Xt=l.includes(n);Ot&&(p.push(n),v.push(n)),Xt&&(j.push(n),_.push(n))}const q=(Ot,Xt,ne)=>{Ot.forEach(fe=>{const He=ne?this.members:this.avoidMembers,Fn=ne?"pushMember":"pushNonMember",yn=ne?"removeMember":"removeNonMember";if(Xt){let Zn;i.getElementType(fe)==="edge"?([Zn]=Od(i,fe),this.bubbleSets.pushEdge(Zn)):([Zn]=Td(i,fe),this.bubbleSets[Fn](Zn)),He.set(fe,Zn)}else{const Zn=He.get(fe);Zn&&(i.getElementType(fe)==="edge"?this.bubbleSets.removeEdge(Zn):this.bubbleSets[yn](Zn),He.delete(fe))}})};q(p,!1,!0),q(v,!0,!0),q(j,!1,!1),q(_,!0,!1);const wt=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=oo(wt.points.map(Cr)),this.path},this.bindEvents(),this.bubbleSets=new fu.CF(this.options)}bindEvents(){this.context.graph.on(X.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(X.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new fu.CF(this.options),this.members.clear(),this.avoidMembers.clear(),this.path=null}parseOptions(){const t=this.options,{type:e,key:n,members:i,avoidMembers:a}=t,A=Md(t,["type","key","members","avoidMembers"]),l=Object.keys(A).reduce((h,v)=>(v in fu.vC?h.bubbleSetOptions[v]=A[v]:h.style[v]=A[v],h),{style:{},bubbleSetOptions:{}});return Object.assign({type:e,key:n,members:i,avoidMembers:a},l)}addMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n))),this.options.members=[...new Set([...this.options.members,...e])],this.drawBubbleSets()}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),this.drawBubbleSets()}updateMember(t){this.options.members=(0,Me.Z)(t)?t(this.options.members):t,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!e.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...e])],this.drawBubbleSets()}removeAvoidMember(t){const e=Array.isArray(t)?t:[t];this.options.avoidMembers.some(n=>e.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n)),this.drawBubbleSets())}updateAvoidMember(t){this.options.avoidMembers=Array.isArray(t)?t:[t],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(X.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(X.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape&&(this.shape.destroy(),this.shape=void 0),super.destroy()}}ih.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},fu.vC);const Td=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getElementRenderBounds(n);return new fu.Ae(i.min[0],i.min[1],nt(i),Nt(i))}),Od=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),A=r.getElementPosition(i.target);return fu.x1.from({x1:a[0],y1:a[1],x2:A[0],y2:A[1]})});class _0 extends null{constructor(t,e){super(t,e),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},a=(A,l)=>{switch(A){case"projectionMode":return l==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[l];case"aspect":return typeof l=="number"?l:this.getCanvasAspect();default:return l}};Object.entries(i).forEach(([A,l])=>{const h=n[A];if(h!==void 0){const v=a(A,h);this.context.canvas.getCamera()[l](v)}})},this.bindEvents()}update(t){this.setOptions(t),super.update(t)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[t,e]=this.context.viewport.getCanvasSize();return t/e}}function Fd(r){return` +
      + ${r.map(t=>`
    • ${t.name}
    • `).join("")} +
    + `}const Id=` + .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 rf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class ah extends to{constructor(t,e){super(t,Object.assign({},ah.defaultOptions,e)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const A=n.target.getAttribute("value");i==null||i(A,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(e)}initElement(){this.$element=hu("contextmenu",!1,{zIndex:"99"});const{className:t}=this.options;t&&this.$element.classList.add(t),this.context.canvas.getContainer().appendChild(this.$element),Dh("g6-contextmenu-css","style",{},Id,document.head)}show(t){return rf(this,void 0,void 0,function*(){const{enable:e,offset:n}=this.options;if(typeof e=="function"&&!e(t)||!e){this.hide();return}const i=yield this.getDOMContent(t);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${t.client.x-a.left+n[0]}px`,this.$element.style.top=`${t.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=t.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(t){return rf(this,void 0,void 0,function*(){const{getContent:e,getItems:n}=this.options;return n?Fd(yield n(t)):yield e(t)})}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`canvas:${e}`,this.onTriggerEvent),t.on(`node:${e}`,this.onTriggerEvent),t.on(`edge:${e}`,this.onTriggerEvent),t.on(`combo:${e}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`canvas:${e}`,this.onTriggerEvent),t.off(`node:${e}`,this.onTriggerEvent),t.off(`edge:${e}`,this.onTriggerEvent),t.off(`combo:${e}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}ah.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'
    Loading...
    ',getContent:()=>"It is a empty context menu.",enable:()=>!0};class sh extends to{constructor(t,e){super(t,Object.assign({},sh.defaultOptions,e)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:A,iterRate:l,divRate:h}=this.options;let{lambda:v,divisions:p,iterations:_}=this.options;for(let j=0;j{var Ot;if(wt.source===wt.target)return;const Xt=be(wt);At[Xt]=this.getEdgeForces(wt,p,v);for(let ne=0;ne{const q=be(j),At=i.getElement(q);At==null||At.update({d:Tn(this.edgePoints[q])})})},this.bindEvents()}get nodeMap(){const t=this.context.model.getNodeData();return Object.fromEntries(t.map(e=>[be(e),Je(Re(e))]))}divideEdges(t){this.context.model.getEdgeData().forEach(n=>{var i;const a=be(n);(i=this.edgePoints)[a]||(i[a]=[]);const A=this.nodeMap[n.source],l=this.nodeMap[n.target];if(t===1)this.edgePoints[a].push(A),this.edgePoints[a].push(Jt(z(A,l),2)),this.edgePoints[a].push(l);else{const v=(this.edgePoints[a].length===0?mt(A,l):Dd(this.edgePoints[a]))/(t+1);let p=v;const _=[A];for(let j=1;jp;){const Ot=p/wt,Xt=z(q,Rt(Lt(At,q),Ot));_.push(Xt),wt-=p,p=v}p-=wt}_.push(l),this.edgePoints[a]=_}})}getVectorPosition(t){const e=this.nodeMap[t.source],n=this.nodeMap[t.target],[i,a]=Lt(n,e),A=mt(e,n);return{source:e,target:n,vx:i,vy:a,length:A}}measureEdgeCompatibility(t,e){const n=this.getVectorPosition(t),i=this.getVectorPosition(e),a=Ld(n,i),A=Nd(n,i),l=Ud(n,i),h=Pd(n,i);return a*A*l*h}getEdgeBundles(){const t={},e=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((A,l)=>{var h,v;if(l<=a)return;this.measureEdgeCompatibility(i,A)>=e&&(t[h=be(i)]||(t[h]=[]),t[be(i)].push(A),t[v=be(A)]||(t[v]=[]),t[be(A)].push(i))})}),t}getSpringForce(t,e){const{pre:n,cur:i,next:a}=t;return Rt(Lt(z(n,a),Rt(i,2)),e)}getElectrostaticForce(t,e){(0,Ka.Z)(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[be(e)];let i=[0,0];return n==null||n.forEach(a=>{const A=this.edgePoints[be(a)][t],l=this.edgePoints[be(e)][t],h=Lt(A,l),v=mt(A,l);i=z(i,Rt(h,1/v))}),i}getEdgeForces(t,e,n){const i=this.nodeMap[t.source],a=this.nodeMap[t.target],A=this.options.K/(mt(i,a)*(e+1)),l=[[0,0]],h=be(t);for(let v=1;vMath.abs(qt([r.vx,r.vy],[t.vx,t.vy])/(r.length*t.length)),Nd=(r,t)=>{const e=(r.length+t.length)/2;return 2/(e/Math.min(r.length,t.length)+Math.max(r.length,t.length)/e)},Ud=(r,t)=>{const e=(r.length+t.length)/2,n=Jt(z(r.source,r.target),2),i=Jt(z(t.source,t.target),2);return e/(e+mt(n,i))},af=(r,t)=>{if(t.source[0]===t.target[0])return[t.source[0],r[1]];if(t.source[1]===t.target[1])return[r[0],t.source[1]];const e=(t.source[1]-t.target[1])/(t.source[0]-t.target[0]),n=(e*e*t.source[0]+e*(r[1]-t.source[1])+r[0])/(e*e+1),i=e*(n-t.source[0])+t.source[1];return[n,i]},sf=(r,t)=>{const e=af(t.source,r),n=af(t.target,r),i=Jt(z(e,n),2),a=Jt(z(r.source,r.target),2);return mt(e,n)===0?0:Math.max(0,1-2*mt(a,i)/mt(e,n))},Pd=(r,t)=>Math.min(sf(r,t),sf(t,r)),Dd=r=>{let t=0;for(let e=1;e{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Cr(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},Rd,this.options.style);this.isLensOn||(this.lens=new Cs({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,br(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:A,edges:l,combos:h}=a;return{nodes:A.filter(v=>n(be(v),"node")),edges:l.filter(v=>n(be(v),"edge")),combos:h.filter(v=>n(be(v),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),A=i.filter(v=>mt(Re(v),n)be(v)),h=a.filter(v=>{const{source:p,target:_}=v,j=l.includes(p),q=l.includes(_);switch(this.options.nodeType){case"both":return j&&q;case"either":return j!==q;case"source":return j&&!q;case"target":return!j&&q;default:return!1}});return{nodes:A,edges:h}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:A,edges:l}=this.getFocusElements(a),h=new Set,v=p=>{const _=be(p);h.add(_);const j=n.getElement(_);if(!j)return;const q=this.shapes.get(_)||j.cloneNode();q.setPosition(j.getPosition()),q.id=j.id,this.shapes.has(_)?Object.entries(j.attributes).forEach(([Ot,Xt])=>{q.style[Ot]!==Xt&&(q.style[Ot]=Xt)}):(this.canvas.appendChild(q),this.shapes.set(_,q));const At=i.getElementType(_),wt=this.getElementStyle(At,p);q.update(wt)};A.forEach(v),l.forEach(v),this.shapes.forEach((p,_)=>{h.has(_)||(p.destroy(),this.shapes.delete(_))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:A,deltaX:l,deltaY:h}=n,{graph:v,canvas:p}=this.context,_=v.getCanvasByClient([a,A]),j=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||mt(_,j)>this.r)return;const{maxR:q,minR:At}=this.options,wt=l+h>0?1/(1-of):1-of,Ot=Math.min(...p.getSize())/2;this.r=Math.max(At||0,Math.min(q||Ot,this.r*wt)),this.renderLens(j),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=Cr(n.canvas),A=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||mt(a,A)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Cr(n.canvas);this.renderLens(i),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(t,e){const n=t==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(e):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(V.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(V.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(V.DRAG_START,this.onDragStart),a.addEventListener(V.DRAG,this.onDrag),a.addEventListener(V.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.addEventListener(V.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(V.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(V.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(V.DRAG_START,this.onDragStart),a.removeEventListener(V.DRAG,this.onDrag),a.removeEventListener(V.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.removeEventListener(V.WHEEL,this.scaleRByWheel))}update(t){var e;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((t,e)=>{t.destroy(),this.shapes.delete(e)}),super.destroy()}}oh.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const Qd={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},Af=.05,lf=.1;class Ah extends to{constructor(t,e){super(t,Object.assign({},Ah.defaultOptions,e)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Cr(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},Qd,this.options.style);this.isLensOn||(this.lens=new Cs({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,br(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,A=new Map,l=new Map;n.getNodeData().forEach(v=>{const p=Re(v),_=mt(p,i);if(_>this.r)return;const j=a*_/(this.d*_+this.r),[q,At]=p,[wt,Ot]=i,Xt=(q-wt)/_,ne=(At-Ot)/_,fe=[wt+j*Xt,Ot+j*ne],He=be(v),Fn=this.getNodeStyle(v),yn=(0,oa.Z)(n.getElementRenderStyle(He),Object.keys(Fn));A.set(He,Object.assign(Object.assign({},br(fe)),Fn)),l.set(He,Object.assign(Object.assign({},br(p)),yn))}),this.updateStyle(A,l)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:A}=this.context,{enter:l,exit:h,keep:v}=vn(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),j=>j),p=new Set,_=(j,q)=>{const At=A.getElement(j);At==null||At.update(q),a.getRelatedEdgesData(j).forEach(wt=>{p.add(be(wt))})};[...l,...v].forEach(j=>{_(j,n.get(j))}),h.forEach(j=>{_(j,this.prevOriginStyleMap.get(j)),this.prevOriginStyleMap.delete(j)}),p.forEach(j=>{const q=A.getElement(j);q==null||q.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((j,q)=>{this.prevOriginStyleMap.has(q)||this.prevOriginStyleMap.set(q,j)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,A=this.context.graph.getCanvasByClient([i,a]),l=this.lens.getCenter();return!(mt(A,l)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,A=n?1/(1-Af):1-Af,l=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||l,this.r*A))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,A=n?this.d+lf:this.d-lf;this.d=Math.max(a,Math.min(i,A))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=Cr(n.canvas),a=this.lens.getCenter();return!(mt(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Cr(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const A=this.lens.getCenter();this.onMagnify(A)},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 t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,A=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&A.addEventListener(V.CLICK,this.onCreateFisheye),n==="pointermove"&&A.addEventListener(V.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){A.addEventListener(V.DRAG_START,this.onDragStart),A.addEventListener(V.DRAG_END,this.onDragEnd);const l=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;A.addEventListener(V.DRAG,l)}if(i==="wheel"||a==="wheel"){const l=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.addEventListener(V.WHEEL,l,{passive:!1})}}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,A=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&A.removeEventListener(V.CLICK,this.onCreateFisheye),n==="pointermove"&&A.removeEventListener(V.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){A.removeEventListener(V.DRAG_START,this.onDragStart),A.removeEventListener(V.DRAG_END,this.onDragEnd);const l=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;A.removeEventListener(V.DRAG,l)}if(i==="wheel"||a==="wheel"){const l=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.removeEventListener(V.WHEEL,l)}}update(t){var e,n;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.d=(n=t.d)!==null&&n!==void 0?n:this.d,this.bindEvents()}destroy(){var t;this.unbindEvents(),this.isLensOn&&((t=this.lens)===null||t===void 0||t.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}Ah.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class lh extends to{constructor(t,e){super(t,Object.assign({},lh.defaultOptions,e)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,A;const l=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(l),l?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(A=(a=this.options).onExit)===null||A===void 0||A.call(a)},this.shortcut=new Xi(t.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:t=[],exit:e=[]}=this.options.trigger;this.shortcut.bind(t,this.request),this.shortcut.bind(e,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(e=>{document.removeEventListener(e,this.onFullscreenChange,!1)})}setGraphSize(t=!0){var e,n;let i,a;t?(i=((e=globalThis.screen)===null||e===void 0?void 0:e.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!kd()||this.$el.requestFullscreen().catch(t=>{wn.warn(`Error attempting to enable full-screen: ${t.message} (${t.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}lh.defaultOptions={trigger:{},autoFit:!0};function kd(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}var Rh=g(50264);class ch extends to{constructor(t,e){super(t,Object.assign({},ch.defaultOptions,e)),this.$element=hu("grid-line",!0),this.offset=[0,0],this.currentScale=1,this.followZoom=i=>{const{data:{scale:a,origin:A}}=i;if(!a||A===void 0&&this.context.viewport===void 0)return;const l=this.currentScale;this.currentScale=a;const h=a/l,v=Rt(A||this.context.graph.getCanvasCenter(),1-h),p=this.baseSize*a,_=Rt(this.offset,h),j=Te(_,p),q=z(j,v);this.$element.style.backgroundSize=`${p}px ${p}px`,this.$element.style.backgroundPosition=`${q[0]}px ${q[1]}px`,this.offset=Te(q,p)},this.followTranslate=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.onTransform=i=>{const a=this.parseFollow(this.options.follow);a.zoom&&this.followZoom(i),a.translate&&this.followTranslate(i)},this.context.canvas.getContainer().prepend(this.$element),this.baseSize=this.options.size,this.updateStyle(),this.bindEvents()}update(t){super.update(t),t.size!==void 0&&(this.baseSize=t.size),this.updateStyle()}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{stroke:t,lineWidth:e,border:n,borderLineWidth:i,borderStroke:a,borderStyle:A}=this.options,l=this.baseSize*this.currentScale;Object.assign(this.$element.style,{border:n?`${i}px ${A} ${a}`:"none",backgroundImage:`linear-gradient(${t} ${e}px, transparent ${e}px), linear-gradient(90deg, ${t} ${e}px, transparent ${e}px)`,backgroundSize:`${l}px ${l}px`,backgroundRepeat:"repeat"})}updateOffset(t){const e=this.baseSize*this.currentScale;this.offset=Te(z(this.offset,t),e),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}parseFollow(t){var e,n;return(0,Rh.Z)(t)?{translate:t,zoom:t}:{translate:(e=t==null?void 0:t.translate)!==null&&e!==void 0?e:!1,zoom:(n=t==null?void 0:t.zoom)!==null&&n!==void 0?n:!1}}destroy(){this.context.graph.off(X.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}ch.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};var Qh=g(49336);function kh(r){const t={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(e=>{const{type:n,value:i}=e,a=be(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")t.Added.set(a,e);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(t.Added.has(a))t.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(t.Updated.has(a)){const{original:A}=t.Updated.get(a);t.Updated.set(a,{type:n,value:i,original:A})}else t.Removed.has(a)||t.Updated.set(a,e);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(t.Added.has(a)?t.Added.delete(a):(t.Updated.has(a)&&t.Updated.delete(a),t.Removed.set(a,e)))}),[...Array.from(t.Added.values()),...Array.from(t.Updated.values()),...Array.from(t.Removed.values())]}function cf(r){const{NodeAdded:t=[],NodeUpdated:e=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:A=[],ComboAdded:l=[],ComboUpdated:h=[],ComboRemoved:v=[]}=(0,kt.Z)(r,p=>p.type);return{add:{nodes:t,edges:i,combos:l},update:{nodes:e,edges:a,combos:h},remove:{nodes:n,edges:A,combos:v}}}function uf(r,t){for(const e in r)(0,S.Z)(r[e])&&!Array.isArray(r[e])&&r[e]!==null?(t[e]||(t[e]={}),uf(r[e],t[e])):t[e]===void 0&&(t[e]=zn(e))}function _d(r,t=!1,e){const n={animation:t,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:A}=cf(kh(r));return["nodes","edges","combos"].forEach(l=>{a[l]&&a[l].forEach(h=>{var v,p;const _=Object.assign({},h.value);let j=Object.assign({},h.original);if(e){const q=e.graph.getElementType(be(h.original)),At=q==="edge"?"stroke":"fill",wt=e.element.getElementComputedStyle(q,h.original);j=Object.assign(Object.assign({},h.original),{style:Object.assign({[At]:wt[At]},h.original.style)})}uf(_,j),(v=n.current.update)[l]||(v[l]=[]),n.current.update[l].push(_),(p=n.original.update)[l]||(p[l]=[]),n.original.update[l].push(j)}),i[l]&&i[l].forEach(h=>{var v,p;const _=Object.assign({},h.value);(v=n.current.add)[l]||(v[l]=[]),n.current.add[l].push(_),(p=n.original.remove)[l]||(p[l]=[]),n.original.remove[l].push(_)}),A[l]&&A[l].forEach(h=>{var v,p;const _=Object.assign({},h.value);(v=n.current.remove)[l]||(v[l]=[]),n.current.remove[l].push(_),(p=n.original.add)[l]||(p[l]=[]),n.original.add[l].push(_)})}),n}class uh extends to{constructor(t,e){super(t,Object.assign({},uh.defaultOptions,e)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var A,l,h;this.freezed=!0,(l=(A=this.options).executeCommand)===null||l===void 0||l.call(A,i);const v=a?i.original:i.current;this.context.graph.addData(v.add),this.context.graph.updateData(v.update),this.context.graph.removeData(mr(v.remove,!1)),(h=this.context.element)===null||h===void 0||h.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===X.AFTER_DRAW){const{dataChanges:A=[],animation:l=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(A),this.batchAnimation&&(this.batchAnimation=l);return}this.batchChanges=[A],this.batchAnimation=l}this.undoStackPush(_d(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Mt.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new Qh.Z;const{graph:n}=this.context;n.on(X.AFTER_DRAW,this.addCommand),n.on(X.BATCH_START,this.initBatchCommand),n.on(X.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var t,e,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((e=(t=this.options).beforeAddCommand)===null||e===void 0?void 0:e.call(t,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(Mt.UNDO,a)}return this}redo(){const t=this.redoStack.pop();return t&&(this.executeCommand(t,!1),this.undoStackPush(t),this.notify(Mt.REDO,t)),this}undoAndCancel(){const t=this.undoStack.pop();return t&&(this.executeCommand(t,!1),this.redoStack=[],this.notify(Mt.CANCEL,t)),this}undoStackPush(t){var e,n,i,a;const{stackSize:A}=this.options;A!==0&&this.undoStack.length>=A&&this.undoStack.shift(),((n=(e=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(e,t,!0))!==!1&&(this.undoStack.push(t),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,t,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Mt.CLEAR,null)}notify(t,e){this.emitter.emit(t,{cmd:e}),this.emitter.emit(Mt.CHANGE,{cmd:e})}on(t,e){this.emitter.on(t,e)}destroy(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.addCommand),t.off(X.BATCH_START,this.initBatchCommand),t.off(X.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}uh.defaultOptions={stackSize:0};const _h={toXy(r,t){if(!t)return[...r];const e=t[0].slice(1),n=t[1].slice(1);return r.map(i=>[i[e],i[n]])},fromXy(r,t){if(!t)return[...r];const e=t[0].slice(1),n=t[1].slice(1);return r.map(([i,a])=>({[e]:i,[n]:a}))}};class Hd{constructor(t,e){this._cells=[],this._cellSize=e,this._reverseCellSize=1/e;for(const n of t){const i=this.coordToCellNum(n[0]),a=this.coordToCellNum(n[1]);this._cells[i]||(this._cells[i]=[]),this._cells[i][a]||(this._cells[i][a]=[]),this._cells[i][a].push(n)}}cellPoints(t,e){var n;return((n=this._cells[t])===null||n===void 0?void 0:n[e])||[]}rangePoints(t){const e=this.coordToCellNum(t[0]),n=this.coordToCellNum(t[1]),i=this.coordToCellNum(t[2]),a=this.coordToCellNum(t[3]),A=[];for(let l=e;l<=i;l++)for(let h=n;h<=a;h++){const v=this.cellPoints(l,h);for(const p of v)A.push(p)}return A}removePoint(t){const e=this.coordToCellNum(t[0]),n=this.coordToCellNum(t[1]),i=this._cells[e][n],a=i.findIndex(([A,l])=>A===t[0]&&l===t[1]);return a>-1&&i.splice(a,1),i}trunc(t){return Math.trunc(t)}coordToCellNum(t){return this.trunc(t*this._reverseCellSize)}extendBbox(t,e){return[t[0]-e*this._cellSize,t[1]-e*this._cellSize,t[2]+e*this._cellSize,t[3]+e*this._cellSize]}}function Zd(r,t){return new Hd(r,t)}const hf=+(Math.pow(2,27)+1);function hh(r,t,e){const n=r*t,i=hf*r,a=i-r,A=i-a,l=r-A,h=hf*t,v=h-t,p=h-v,_=t-p,At=n-A*p-l*p-A*_,wt=l*_-At;return e?(e[0]=wt,e[1]=n,e):[wt,n]}function Kd(r,t,e){const n=r+t,i=n-r,a=n-i,A=t-i,l=r-a;return e?(e[0]=l+A,e[1]=n,e):[l+A,n]}function Gd(r,t){const e=r.length;if(e===1){const l=hh(r[0],t);return l[0]?l:[l[1]]}const n=new Array(2*e),i=[.1,.1],a=[.1,.1];let A=0;hh(r[0],t,i),i[0]&&(n[A++]=i[0]);for(let l=1;l=n?(At=p,l+=1,l=n?(At=p,l+=1,l0){if(a<=0)return A;l=i+a}else if(i<0){if(a>=0)return A;l=-(i+a)}else return A;const h=Yd*l;return A>=h||A<=-h?A:tg(t,e,n)},function(t,e,n,i){const a=t[0]-i[0],A=e[0]-i[0],l=n[0]-i[0],h=t[1]-i[1],v=e[1]-i[1],p=n[1]-i[1],_=t[2]-i[2],j=e[2]-i[2],q=n[2]-i[2],At=A*p,wt=l*v,Ot=l*h,Xt=a*p,ne=a*v,fe=A*h,He=_*(At-wt)+j*(Ot-Xt)+q*(ne-fe),Fn=(Math.abs(At)+Math.abs(wt))*Math.abs(_)+(Math.abs(Ot)+Math.abs(Xt))*Math.abs(j)+(Math.abs(ne)+Math.abs(fe))*Math.abs(q),yn=Xd*Fn;return He>yn||-He>yn?He:eg(t,e,n,i)}];function ng(r){let t=Mc[r.length];return t||(t=Mc[r.length]=dh(r.length)),t.apply(void 0,...r)}function rg(r,t,e,n,i,a,A){return function(...h){switch(h.length){case 0:case 1:return 0;case 2:return n(h[0],h[1]);case 3:return i(h[0],h[1],h[2]);case 4:return a(h[0],h[1],h[2],h[3]);case 5:return A(h[0],h[1],h[2],h[3],h[4])}return r(h)}}function ig(){for(;Mc.length<=ff;)Mc.push(dh(Mc.length));const r=rg(void 0,ng,...Mc);for(let t=0;t<=ff;++t)r[t]=Mc[t];return r}var zu=ig();const df=zu[3];function ag(r){const t=r.length;if(t<3){const l=new Array(t);for(let h=0;h{const v=r[l][0]-r[h][0];return v||r[l][1]-r[h][1]});const n=[e[0],e[1]],i=[e[0],e[1]];for(let l=2;l1&&df(r[n[p-2]],r[n[p-1]],v)<=0;)p-=1,n.pop();for(n.push(h),p=i.length;p>1&&df(r[i[p-2]],r[i[p-1]],v)>=0;)p-=1,i.pop();i.push(h)}const a=new Array(i.length+n.length-2);let A=0;for(let l=0,h=n.length;l0;--l)a[A++]=i[l];return a}function sg(r,t,e,n){for(let i=0;i<2;++i){const a=r[i],A=t[i],[l,h]=[Math.min(a,A),Math.max(a,A)],v=e[i],p=n[i],[_,j]=[Math.min(v,p),Math.max(v,p)];if(j0&&a>0||i<0&&a<0)return!1;const A=zu(e,r,t),l=zu(n,r,t);return A>0&&l>0||A<0&&l<0?!1:i===0&&a===0&&A===0&&l===0?sg(r,t,e,n):!0}function Ag(r){const t=[r[0]];let e=r[0];for(let n=1;n=0;a--)r[a][0]n&&(n=r[a][0]),r[a][1]>i&&(i=r[a][1]);return[n-t,i-e]}function ug(r){return[Math.min(r[0][0],r[1][0]),Math.min(r[0][1],r[1][1]),Math.max(r[0][0],r[1][0]),Math.max(r[0][1],r[1][1])]}function hg(r,t,e){let n=null,i=mf,a=mf,A,l;for(let h=0;hi&&l>a&&!vf([r[0],t[h]],e)&&!vf([r[1],t[h]],e)&&(i=A,a=l,n=t[h]);return n}function pf(r,t,e,n,i){let a=!1;for(let A=0;A_||e[1]>j));_>=e[0]&&j>=e[1]&&i.add(h),q!==null&&(r.splice(A+1,0,q),n.removePoint(q),a=!0)}return a?pf(r,t,e,n,i):r}function fg(r,t,e){const n=t||20,i=Ag(lg(_h.toXy(r,e)));if(i.length<4){const _=i.concat([i[0]]);return e?_h.fromXy(_,e):_}const a=cg(i),A=[a[0]*yf,a[1]*yf],l=ag(i).reverse().map(_=>i[_]);l.push(l[0]);const h=i.filter(function(_){return l.indexOf(_)<0}),v=Math.ceil(1/(i.length/(a[0]*a[1]))),p=pf(l,Math.pow(n,2),A,Zd(h,v),new Set);return e?_h.fromXy(p,e):p}const mf=Math.cos(90/(180/Math.PI)),yf=.6;function dg(r,t,e){if(r.length===1)return gg(r[0],t,e);if(r.length===2)return wf(r,t,e);if(r.length===3){const[n,i,a]=Ci(r);if(te(n,i,a))return wf([n,a],t,e)}switch(e){case"smooth":return pg(r,t);case"sharp":return mg(r,t);case"rounded":default:return vg(r,t)}}const gg=(r,t,e)=>{if(e==="sharp")return[["M",r[0]-t,r[1]-t],["L",r[0]+t,r[1]-t],["L",r[0]+t,r[1]+t],["L",r[0]-t,r[1]+t],["Z"]];const n=[t,t,0,0,0];return[["M",r[0],r[1]-t],["A",...n,r[0],r[1]+t],["A",...n,r[0],r[1]-t]]},wf=(r,t,e)=>{const n=[t,t,0,0,0],i=e==="sharp"?z(r[0],vt(xt(Lt(r[0],r[1])),t)):r[0],a=e==="sharp"?z(r[1],vt(xt(Lt(r[1],r[0])),t)):r[1],A=vt(xt(Vt(Lt(i,a),!1)),t),l=vt(A,-1),h=z(i,A),v=z(a,A),p=z(a,l),_=z(i,l);return e==="sharp"?[["M",h[0],h[1]],["L",v[0],v[1]],["L",p[0],p[1]],["L",_[0],_[1]],["Z"]]:[["M",h[0],h[1]],["L",v[0],v[1]],["A",...n,p[0],p[1]],["L",_[0],_[1]],["A",...n,h[0],h[1]]]},vg=(r,t)=>{const e=Ci(r).map((l,h)=>{const v=(h-2+r.length)%r.length,p=(h-1+r.length)%r.length,_=(h+1)%r.length,j=r[v],q=r[p],At=r[_],wt=Lt(j,q),Ot=Lt(q,l),Xt=Lt(l,At),ne=(Zn,gn)=>zt(Zn,gn,!0)vt(xt(Vt(Zn,!1)),t),yn=Fn(Ot);return[{p:Je(fe?z(q,Fn(wt)):z(q,yn)),concave:fe&&q},{p:Je(He?z(l,Fn(Xt)):z(l,yn)),concave:He&&l}]}),n=[t,t,0,0,0],i=e.findIndex((l,h)=>!e[(h-1+e.length)%e.length][0].concave&&!e[(h-1+e.length)%e.length][1].concave&&!l[0].concave&&!l[0].concave&&!l[1].concave),a=e.slice(i).concat(e.slice(0,i));let A=[];return a.flatMap((l,h)=>{const v=[],p=a[e.length-1];return h===0&&v.push(["M",...p[1].p]),l[0].concave?A.push(l[0].p,l[1].p):v.push(["A",...n,...l[0].p]),l[1].concave?A.unshift(l[1].p):v.push(["L",...l[1].p]),A.length===3&&(v.pop(),v.push(["C",...A.flat()]),A=[]),v})},pg=(r,t)=>{const e=Ci(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:xt(Lt(a,n))}});return e.forEach((n,i)=>{const a=i>0?i-1:r.length-1,A=e[a].v,l=xt(z(A,vt(n.v,zt(A,n.v,!0)n.p))},mg=(r,t)=>{const n=r.map((a,A)=>{const l=r[A===0?r.length-1:A-1],h=Sn(vt(xt(Vt(Lt(l,a),!1)),t));return[z(l,h),z(a,h)]}).flat();return n.map((a,A)=>{if(A%2===0)return null;const l=[n[(A-1)%n.length],n[A%n.length]],h=[n[(A+1)%n.length],n[(A+2)%n.length]];return Wn(l,h,!0)}).filter(Boolean).map((a,A)=>[A===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var yg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{if(!this.shape)this.shape=new zi({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!(0,w.Z)(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(be(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const A=a.map(v=>i.getNodeData(v)),l=fg(A.map(Re),this.options.concavity).slice(1).reverse(),h=l.flatMap(v=>A.filter(p=>(0,w.Z)(Re(p),v)).map(be));return(0,w.Z)(h,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=h,this.path=dg(l,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(X.AFTER_RENDER,this.drawHull),this.context.graph.on(X.AFTER_ELEMENT_UPDATE,this.updateHullPath)}unbindEvents(){this.context.graph.off(X.AFTER_RENDER,this.drawHull),this.context.graph.off(X.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(t){const e=this.options,{members:n,padding:i,corner:a}=e,A=yg(e,["members","padding","corner"]);return Object.assign(Object.assign({},A),{d:this.getHullPath(t)})}getPadding(){const{graph:t}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=t.getElementRenderBounds(i),A=Math.max(a[0],a[1]);return Math.max(n,A)},0)+this.options.padding}addMember(t){const e=Array.isArray(t)?t:[t];this.options.members=[...new Set([...this.options.members,...e])],this.shape.update({d:this.getHullPath()})}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),e.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(t){this.options.members=(0,Me.Z)(t)?t(this.options.members):t,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.unbindEvents(),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}gh.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};var wg=g(65244);function vh(r){const{width:t,height:e,renderer:n}=r,i=Eg(r),a=new R.Xz({width:t,height:e,container:i,renderer:n||new ss.Th});return[i,a]}function Eg(r){var t;const{container:e,className:n,graphCanvas:i}=r;if(e)return typeof e=="string"?document.getElementById(e):e;const a=hu(n,!1),{width:A,height:l,containerStyle:h}=r,[v,p]=Bg(r);return Object.assign(a.style,Object.assign({position:"absolute",left:v+"px",top:p+"px",width:A+"px",height:l+"px"},h)),(t=i.getContainer())===null||t===void 0||t.appendChild(a),a}function Bg(r){const{width:t,height:e,placement:n,graphCanvas:i}=r,[a,A]=i.getSize(),[l,h]=dr(n);return[l*(a-t),h*(A-e)]}var bg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const{graph:n}=this.context;n.on(X.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:A}=this,l=(0,$a.Z)(n,[A,"id"]),h=(0,$a.Z)(n,[A,"style","labelText"]),[v]=l.split("__"),p=this.fieldMap[v].get(h)||[];a.setElementState(Object.fromEntries(p==null?void 0:p.map(_=>[_,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=(0,$a.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=(0,$a.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const A=this.fieldMap[a];if(A)if(!A.has(n))A.set(n,[i]);else{const l=A.get(n);l&&(l.push(i),A.set(n,l))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:A}=this.context,{nodes:l,edges:h,combos:v}=a.getData(),p={},_=Ot=>(0,Me.Z)(n)?n(Ot):n,j={node:"circle",edge:"line",combo:"rect"},q={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"},At=(Ot,Xt)=>A==null?void 0:A.getElementComputedStyle(Ot,Xt),wt=(Ot,Xt)=>{Ot.forEach(ne=>{const{id:fe}=ne,He=(0,$a.Z)(ne,["data",_(ne)]),Fn=(A==null?void 0:A.getElementType(Xt,ne))||"circle",yn=At(Xt,ne),Zn=(Xt==="edge"?yn==null?void 0:yn.stroke:yn==null?void 0:yn.fill)||"#1783ff";fe&&He&&He.replace(/\s+/g,"")&&(this.setFieldMap(He,fe,Xt),p[He]||(p[He]={id:`${Xt}__${fe}`,label:He,marker:q[Fn]||j[Xt],elementType:Xt,lineWidth:1,stroke:Zn,fill:Zn}))})};switch(i){case"node":wt(l,"node");break;case"edge":wt(h,"edge");break;case"combo":wt(v,"combo");break;default:return[]}return Object.values(p)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:A,edgeField:l,comboField:h,trigger:v,position:p,container:_,containerStyle:j,className:q}=n,At=bg(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),wt=this.getMarkerData(A,"node"),Ot=this.getMarkerData(l,"edge"),Xt=this.getMarkerData(h,"combo"),ne=[...wt,...Xt,...Ot],fe=Object.assign({width:i,height:a,data:ne,itemMarkerLineWidth:({lineWidth:yn})=>yn,itemMarker:({marker:yn})=>yn,itemMarkerStroke:({stroke:yn})=>yn,itemMarkerFill:({fill:yn})=>yn,gridCol:wt.length},At,this.getEvents()),He=new wg.W({className:"legend",style:fe});this.category=He,this.upsertCanvas().appendChild(He),this.draw=!0},this.bindEvents()}update(t){super.update(t),this.clear(),this.createElement()}clear(){var t,e;(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.container)===null||e===void 0||e.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5,itemLabelOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const t=this.context.canvas,[e,n]=t.getSize(),{width:i=e,height:a=n,position:A,container:l,containerStyle:h,className:v}=this.options,[p,_]=vh({width:i,height:a,graphCanvas:t,container:l,containerStyle:h,placement:A,className:"legend"});return this.container=p,v&&p.classList.add(v),this.canvas=_,this.canvas}destroy(){this.clear(),this.context.graph.off(X.AFTER_DRAW,this.createElement),super.destroy()}}ph.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class mh extends to{constructor(t,e){super(t,Object.assign({},mh.defaultOptions,e)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:A,movementY:l}=n,{left:h,top:v,width:p,height:_}=this.mask.style,[,,j,q]=this.maskBBox;let At=parseInt(h)+A,wt=parseInt(v)+l,Ot=parseInt(p),Xt=parseInt(_);At<0&&(At=0),wt<0&&(wt=0),At+Ot>i&&(At=Gl(i-Ot,0)),wt+Xt>a&&(wt=Gl(a-Xt,0)),Ot0?(At=Gl(At-A,0),Ot=Kl(Ot+A,i)):A<0&&(Ot=Kl(Ot-A,i))),Xt0?(wt=Gl(wt-l,0),Xt=Kl(Xt+l,a)):l<0&&(Xt=Kl(Xt-l,a))),Object.assign(this.mask.style,{left:At+"px",top:wt+"px",width:Ot+"px",height:Xt+"px"});const ne=parseInt(h)-At,fe=parseInt(v)-wt;if(ne===0&&fe===0)return;const He=this.context.canvas.getCamera().getZoom(),Fn=this.canvas.getCamera().getZoom(),yn=He/Fn;this.context.graph.translateBy([ne*yn,fe*yn],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=(0,ae.Z)(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),"delay"in t&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=(0,Ga.Z)(()=>{this.renderMinimap(),this.renderMask()},this.options.delay)}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_DRAW,this.onDraw),t.on(X.AFTER_RENDER,this.onRender),t.on(X.AFTER_ANIMATE,this.onRender),t.on(X.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.onDraw),t.off(X.AFTER_RENDER,this.onRender),t.off(X.AFTER_ANIMATE,this.onRender),t.off(X.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const t=this.getElements(),e=this.initCanvas();this.setShapes(e,t)}getElements(){const{filter:t}=this.options,{model:e,element:n}=this.context,i=e.getData(),a={nodes:i.nodes.filter(v=>n==null?void 0:n.getElement(be(v))),edges:i.edges.filter(v=>{const p=n==null?void 0:n.getElement(be(v));return p&&ks(p)}),combos:i.combos.filter(v=>n==null?void 0:n.getElement(be(v)))};if(!t)return a;const{nodes:A,edges:l,combos:h}=a;return{nodes:A.filter(v=>t(be(v),"node")),edges:l.filter(v=>t(be(v),"edge")),combos:h.filter(v=>t(be(v),"combo"))}}setShapes(t,e){const{nodes:n,edges:i,combos:a}=e,{shape:A}=this.options,{element:l}=this.context,h=(v,p)=>{const _=be(v),j=l==null?void 0:l.getElement(_);if(!j)return;const q=j.getShape("key");let At;if(typeof A=="string"){const wt=A;At=j.getShape(wt).cloneNode()}else{const wt=A(_,p,j);wt===j?At=wt.cloneNode(!0):At=wt}At.setPosition(q.getPosition()),j.style.zIndex&&(At.style.zIndex=j.style.zIndex),At.id=j.id,t.appendChild(At)};t.removeChildren(),i.forEach(v=>h(v,"edge")),a.forEach(v=>h(v,"combo")),n.forEach(v=>h(v,"node"))}initCanvas(){const{renderer:t,size:[e,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(e!==i||n!==a)&&this.canvas.resize(e,n),t&&this.canvas.setRenderer(t)}else{const{className:i,position:a,container:A,containerStyle:l}=this.options,[h,v]=vh({renderer:t,width:e,height:n,placement:a,className:"minimap",container:A,containerStyle:l,graphCanvas:this.context.canvas});i&&h.classList.add(i),this.container=h,this.canvas=v}return this.setCamera(),this.canvas}createLandmark(t,e,n){const i=`${t.join(",")}-${e.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const A=this.canvas.getCamera().createLandmark(i,{position:t,focalPoint:e,zoom:n});return this.landmarkMap.set(i,A),A}setCamera(){var t;const{canvas:e}=this.context,n=(t=this.canvas)===null||t===void 0?void 0:t.getCamera();if(!n)return;const{size:[i,a],padding:A}=this.options,[l,h,v,p]=Ke(A),{min:_,max:j,center:q}=e.getBounds("elements"),At=j[0]-_[0],wt=j[1]-_[1],Ot=i-p-h,Xt=a-l-v,ne=Ot/At,fe=Xt/wt,He=Math.min(ne,fe),Fn=this.createLandmark(q,q,He);n.gotoLandmark(Fn,0)}get maskBBox(){const{canvas:t}=this.context,e=t.getSize(),n=t.getCanvasByViewport([0,0]),i=t.getCanvasByViewport(e),a=this.canvas.canvas2Viewport(br(n)),A=this.canvas.canvas2Viewport(br(i)),l=A.x-a.x,h=A.y-a.y;return[a.x,a.y,l,h]}calculateMaskBBox(){const{size:[t,e]}=this.options;let[n,i,a,A]=this.maskBBox;return n<0&&(a=Kl(a+n,t),n=0),i<0&&(A=Kl(A+i,e),i=0),n+a>t&&(a=Gl(t-n,0)),i+A>e&&(A=Gl(e-i,0)),[Kl(n,t),Kl(i,e),Gl(a,0),Gl(A,0)]}renderMask(){const{maskStyle:t}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart),this.mask.draggable=!0,this.mask.addEventListener("dragstart",e=>e.preventDefault&&e.preventDefault())),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},t),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[t,e,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:e+"px",left:t+"px",width:n+"px",height:i+"px"})}destroy(){var t,e,n;this.unbindEvents(),(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.mask)===null||e===void 0||e.remove(),(n=this.container)===null||n===void 0||n.remove(),super.destroy()}}mh.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 Kl=(r,t)=>Math.min(r,t),Gl=(r,t)=>Math.max(r,t);var Zh=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};const Kh={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class yh extends to{constructor(t,e){super(t,Object.assign({},yh.defaultOptions,e)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new R.x1({style:Object.assign(Object.assign({},Kh),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new R.x1({style:Object.assign(Object.assign({},Kh),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>Zh(this,void 0,void 0,function*(){const{verticalX:A,horizontalY:l}=a,{tolerance:h}=this.options,{min:[v,p],max:[_,j],center:[q,At]}=i;let wt=0,Ot=0;A!==null&&(wo(_,A){const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[A,l]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(A)<=a&&Math.abs(l)<=a)return this.context.graph.translateElementBy({[i.id]:[-A,-l]},!1),!1;if(this.isHorizontalSticking&&Math.abs(l)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-l]},!1),!1;if(this.isVerticalSticking&&Math.abs(A)<=a)return this.context.graph.translateElementBy({[i.id]:[-A,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:A}=this.options,{min:[l,h],max:[v,p],center:[_,j]}=i;let q=null,At=null,wt=null,Ot=null,Xt=null,ne=null;return this.getNodes().some(fe=>{if((0,w.Z)(n.id,fe.id))return!1;const He=Ef(fe,A).getRenderBounds(),{min:[Fn,yn],max:[Zn,gn],center:[fr,Rr]}=He;return q===null&&(wo(fr,_){this.initSnapline()},this.onDrag=n=>Zh(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=Ef(i,this.options.shape).getRenderBounds(),A=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(A.verticalX!==null||A.horizontalY!==null)&&this.updateSnapline(A),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,A))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var t;const{filter:e}=this.options,i=(((t=this.context.element)===null||t===void 0?void 0:t.getNodes())||[]).filter(a=>{var A;return ks(a)&&((A=this.context.viewport)===null||A===void 0?void 0:A.isInViewport(a.getRenderBounds()))});return e?i.filter(a=>e(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(t){const{lineWidth:e}=this.options[`${t}LineStyle`];return+(e||Kh.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(t){const{verticalX:e,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:A,horizontalMaxX:l}=t,[h,v]=this.context.canvas.getSize(),{offset:p}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:p===1/0?0:A-p,y1:a,x2:p===1/0?h:l+p,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",e!==null?Object.assign(this.verticalLine.style,{x1:e,y1:p===1/0?0:n-p,x2:e,y2:p===1/0?v:i+p,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(t){const e=this.context.graph.getZoom();return Jt([t.dx,t.dy],e)}bindEvents(){return Zh(this,void 0,void 0,function*(){const{graph:t}=this.context;t.on(ft.DRAG_START,this.onDragStart),t.on(ft.DRAG,this.onDrag),t.on(ft.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:t}=this.context;t.off(ft.DRAG_START,this.onDragStart),t.off(ft.DRAG,this.onDrag),t.off(ft.DRAG_END,this.onDragEnd)}destroyElements(){var t,e;(t=this.horizontalLine)===null||t===void 0||t.destroy(),(e=this.verticalLine)===null||e===void 0||e.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}yh.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const wo=(r,t)=>Math.abs(r-t),Ef=(r,t)=>typeof t=="function"?t(r):r.getShape(t);var xg=g(91498),Cg=g(39934),Sg=g(21790),Mg=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})},Tg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{var At;const wt=Object.assign(Object.assign({x:j[0]/2-h/2,y:q,onChange:Ot=>{const Xt=((0,Cg.Z)(Ot)?Ot:[Ot,Ot]).map(ne=>(0,Sg.Z)(ne)?ne.getTime():ne);this.options.mode==="modify"?this.filterElements(Xt):this.hiddenElements(Xt),n==null||n(Xt)}},_),{data:a.map(Ot=>(0,On.Z)(Ot)?{time:Ot,value:0}:Ot),width:h,height:v,type:i});this.timebar?this.timebar.update(wt):(this.timebar=new xg.s({style:wt}),(At=this.canvas)===null||At===void 0||At.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:t,height:e,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[A,,l]=this.padding,[h,v]=vh({width:a,height:e+A+l,graphCanvas:i,className:"timebar",placement:n});return this.container=h,t&&h.classList.add(t),this.canvas=v,this.canvas}filterElements(t){return Mg(this,void 0,void 0,function*(){var e;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:A}=this.context,l=Bf(this.originalData);n.forEach(v=>{const p=`${v}s`;l[p]=(this.originalData[p]||[]).filter(_=>{const j=i(_);return!!bf(j,t)})});const h=[...l.nodes,...l.combos].map(v=>be(v));l.edges=l.edges.filter(v=>{const p=v.source,_=v.target;return h.includes(p)&&h.includes(_)}),a.setData(l),yield(e=A.draw({animation:!1,silence:!0}))===null||e===void 0?void 0:e.finished})}hiddenElements(t){const{graph:e}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],A=[];n.forEach(l=>{var h;const v=`${l}s`;(((h=this.originalData)===null||h===void 0?void 0:h[v])||[]).forEach(_=>{const j=be(_),q=i(_);bf(q,t)?A.push(j):a.push(j)})}),e.hideElement(a,!1),e.showElement(A,!1)}destroy(){var t,e,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(t=this.timebar)===null||t===void 0||t.destroy(),(e=this.canvas)===null||e===void 0||e.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}wh.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>Fg(r,Og,void 0),loop:!1};const Bf=r=>{const{nodes:t=[],edges:e=[],combos:n=[]}=r;return{nodes:[...t],edges:[...e],combos:[...n]}},bf=(r,t)=>{if((0,On.Z)(t))return r===t;const[e,n]=t;return r>=e&&r<=n},Fg=(r,t,e)=>{var n;for(let i=0;i{const i=this.updateCanvas();this.renderTitle(i)},this.bindEvents()}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_RENDER,this.onRender),t.on(X.AFTER_ANIMATE,this.onRender)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_RENDER,this.onRender),t.off(X.AFTER_ANIMATE,this.onRender)}destroy(){var t,e;this.unbindEvents(),(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.container)===null||e===void 0||e.remove(),super.destroy()}updateCanvas(){const{size:t,className:e,align:n}=this.options,[i]=this.context.canvas.getSize(),[a=0,,A=0]=this.padding,l=t+a+A;if(this.canvas){const{width:h,height:v}=this.canvas.getConfig();(i!==h||l!==v)&&this.canvas.resize(i,l)}else{const h={left:"left-top",center:"top",right:"right-top"},[v,p]=vh({width:i,height:l,placement:h[n]||h.left,className:"title-canvas",graphCanvas:this.context.canvas});e&&v.classList.add(e),this.container=v,this.canvas=p}return this.canvas}renderTitle(t){const e=new Dg({options:this.options,ctx:this.context});t.removeChildren(),e.getTitle().forEach(n=>{n&&t.appendChild(n)})}}class Dg{get padding(){return Ke(this.options.padding)}constructor(t){const{options:e,ctx:n}=t;this.options=e,this.context=n}getTitle(){const t=this.options,e=Gh,n=t[e],i=Cf,a=t[i],{spacing:A=44,padding:l,align:h}=t,v=Ig(t,[typeof e=="symbol"?e:e+"",typeof i=="symbol"?i:i+"","spacing","padding","align"]),p=n,_=a,j=Gi(v,Gh),q=Gi(v,Cf),[At]=this.context.graph.getSize(),[wt=0,Ot=0,,Xt=0]=this.padding,ne=At,fe=ne-Xt-Ot;let He=null,Fn=Xt,yn="left";switch(h){case"left":Fn=Xt,yn="left";break;case"center":Fn=ne/2,yn="center";break;case"right":Fn=ne-Ot,yn="right";break;default:Fn=Xt,yn="left"}const Zn=new Ia({className:Gh,style:Object.assign(Object.assign(Object.assign(Object.assign({},Lg),{wordWrapWidth:fe-5,x:Fn,y:wt,textAlign:yn}),j),{text:p})}),gn=Zn.getBBox();return _&&(He=new Ia({className:"subTitle",style:Object.assign(Object.assign(Object.assign(Object.assign({},Ng),{wordWrapWidth:fe-5,x:Fn,y:gn.height+A+wt,textAlign:yn}),q),{text:_})})),[Zn,He]}}function Rg(r){const t={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{t[n]="8px"}),t.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",t}const Qg=` + .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; + } +`,kg=` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`;var Sf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Eh extends to{constructor(t,e){super(t,Object.assign({},Eh.defaultOptions,e)),this.$element=hu("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const A=i.target.getAttribute("value");a==null||a(A,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),Dh("g6-toolbar-css","style",{},Qg,document.head),Dh("g6-toolbar-svgicon","div",{display:"none"},kg),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return Sf(this,void 0,void 0,function*(){e.update.call(this,t);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,Rg(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return Sf(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(e=>{var n;return` +
    + +
    `}).join("")})}}Eh.defaultOptions={position:"top-left"};var _g=g(75242),Mf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Bh extends to{constructor(t,e){super(t,Object.assign({},Bh.defaultOptions,e)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerOver=n=>{this.show(n)},this.showById=n=>Mf(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>Mf(this,void 0,void 0,function*(){var i,a;const{client:A,target:{id:l}}=n;if(Hs(n.target))return;const h=this.context.graph.getElementType(l),{getContent:v,title:p}=this.options,_=this.getElementData(l,h);if(!this.tooltipElement)return;if(!this.isEnable(n,_)){this.hide(n);return}let j={};if(v){if(j.content=yield v(n,_),!j.content)return}else{const wt=this.context.graph.getElementRenderStyle(l),Ot=h==="node"?wt.fill:wt.stroke;j={title:p||h,data:_.map(Xt=>({name:"ID",value:Xt.id||`${Xt.source} -> ${Xt.target}`,color:Ot}))}}this.currentTarget=l;let q,At;if(A)q=A.x,At=A.y;else{const wt=(0,$a.Z)(_,"0.style",{x:0,y:0});q=wt.x,At=wt.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:q,y:At,style:{".tooltip":{visibility:"visible"}}}),j))}),this.hide=n=>{var i,a,A,l,h;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(A=this.tooltipElement)===null||A===void 0||A.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:v,y:p}}=n;(h=(l=this.options).onOpenChange)===null||h===void 0||h.call(l,!1),this.tooltipElement.hide(v,p),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new _g.u({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},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:pointerover":this.onPointerOver,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerover":this.onPointerOver,"edge:pointermove":this.onPointerMove,"combo:pointerover":this.onPointerOver,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(t){var e;this.unbindEvents(),super.update(t),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:t}=this.context,e=t.getContainer();e&&(this.container=e,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.off(n,e[n])})}bindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.on(n,e[n])})}get tooltipStyleProps(){const{canvas:t}=this.context,{center:e}=t.getBounds(),n=t.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:A,position:l,enterable:h,container:v={x:-a,y:-i},title:p,offset:_}=this.options,[j,q]=e,[At,wt]=t.getSize();return{x:j,y:q,container:v,title:p,bounding:{x:0,y:0,width:At,height:wt},position:l,enterable:h,offset:_,style:A}}destroy(){var t;this.unbindEvents(),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Bh.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var Tf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};let du;function Of(r,t){return du||(du=document.createElement("canvas")),du.width=r,du.height=t,du.getContext("2d").clearRect(0,0,r,t),du}function Hg(r,t,e,n){return Tf(this,void 0,void 0,function*(){const i=Of(r,t),a=i.getContext("2d"),{rotate:A,opacity:l,textFill:h,textFontSize:v,textFontFamily:p,textFontVariant:_,textFontWeight:j,textAlign:q,textBaseline:At}=n;return a.textAlign=q,a.textBaseline=At,a.translate(r/2,t/2),a.font=`${v}px ${p} ${_} ${j}`,A&&a.rotate(A),l&&(a.globalAlpha=l),h&&(a.fillStyle=h,a.fillText(`${e}`,0,0)),i.toDataURL()})}function Zg(r,t,e,n){return Tf(this,void 0,void 0,function*(){const i=Of(r,t),a=i.getContext("2d"),{rotate:A,opacity:l}=n;A&&a.rotate(A),l&&(a.globalAlpha=l);const h=new Image;return h.crossOrigin="anonymous",h.src=e,new Promise(v=>{h.onload=function(){const p=r>h.width?(r-h.width)/2:0,_=t>h.height?(t-h.height)/2:0;a.drawImage(h,0,0,h.width,h.height,p,_,r-p*2,t-_*2),v(i.toDataURL())}})})}var Kg=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})},Gg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);isuper.update}});return Kg(this,void 0,void 0,function*(){e.update.call(this,t);const n=this.options,{width:i,height:a,text:A,imageURL:l}=n,h=Gg(n,["width","height","text","imageURL"]);Object.keys(h).forEach(p=>{p.startsWith("background")&&(this.$element.style[p]=t[p])});const v=l?yield Zg(i,a,l,h):yield Hg(i,a,A,h);this.$element.style.backgroundImage=`url(${v})`})}destroy(){super.destroy(),this.$element.remove()}}bh.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const zg=["#7E92B5","#F4664A","#FFBE3A"],Wg={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},Vg={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function Ff(r){const{bgColor:t,textColor:e,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:A=.15,nodeHaloStrokeOpacitySelected:l=.25,nodeOpacityDisabled:h=.06,nodeIconOpacityInactive:v=.85,nodeOpacityInactive:p=.25,nodeBadgePalette:_=zg,nodePaletteOptions:j=Wg,edgeColor:q,edgeColorDisabled:At,edgePaletteOptions:wt=Vg,comboColor:Ot,comboColorDisabled:Xt,comboStroke:ne,comboStrokeDisabled:fe,edgeColorInactive:He}=r;return{background:t,node:{palette:j,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:_,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:e,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:l,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:A},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:p,donutOpacity:p,fillOpacity:p,iconOpacity:v,labelFill:e,labelFillOpacity:p,strokeOpacity:p},disabled:{badgeBackgroundOpacity:.25,donutOpacity:h,fill:i,fillOpacity:h,iconFill:i,iconOpacity:.25,labelFill:e,labelFillOpacity:.25,strokeOpacity:h}},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:wt,style:{badgeBackgroundFill:q,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,badgeBackgroundOpacity:1,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:q,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:He,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:At,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:t,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:Ot,halo:!1,haloLineWidth:12,haloStroke:ne,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:ne},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:Xt,fillOpacity:.25,labelOpacity:.25,stroke:fe,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 jg=Ff({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"}),Yg=Ff({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 zl extends ot{beforeDraw(t,e){return t}afterLayout(t,e){}}class Xg extends zl{beforeDraw(t){const{model:e}=this.context,n=t.add.combos,i=a=>{const A=[];return a.forEach((l,h)=>{const p=e.getAncestorsData(h,"combo").map(_=>be(_)).reverse();A.push([h,l,p.length])}),new Map(A.sort(([,,l],[,,h])=>h-l).map(([l,h])=>[l,h]))};return t.add.combos=i(n),t.update.combos=i(t.update.combos),t}}function Xo(r,t,e,n,i){const a=be(n),A=`${e}s`,l=i?n:r.add[A].get(a)||r.update[A].get(a)||r.remove[A].get(a)||n;Object.entries(r).forEach(([h,v])=>{t===h?v[A].set(a,l):v[A].delete(a)})}function xh(r,t){return Object.keys(r).every(e=>r[e]===t[e])}class Jg extends zl{beforeDraw(t,e){if(e.stage==="visibility"||!this.context.model.model.hasTreeStructure(Ut))return t;const{model:n}=this.context,{add:i,update:a}=t,A=[...t.update.combos.entries(),...t.add.combos.entries()];for(;A.length;){const[l,h]=A.pop();if(Ca(h)){const v=n.getDescendantsData(l),p=v.map(be),{internal:_,external:j}=Ur(p,q=>n.getRelatedEdgesData(q));v.forEach(q=>{const At=be(q),wt=A.findIndex(([Xt])=>Xt===At);wt!==-1&&A.splice(wt,1);const Ot=n.getElementType(At);Xo(t,"remove",Ot,q)}),_.forEach(q=>Xo(t,"remove","edge",q)),j.forEach(q=>{var At;const wt=be(q);((At=this.context.element)===null||At===void 0?void 0:At.getElement(wt))?a.edges.set(wt,q):i.edges.set(wt,q)})}else{const v=n.getChildrenData(l),p=v.map(be),{edges:_}=Ur(p,j=>n.getRelatedEdgesData(j));[...v,..._].forEach(j=>{var q;const At=be(j),wt=n.getElementType(At);((q=this.context.element)===null||q===void 0?void 0:q.getElement(At))?Xo(t,"update",wt,j):Xo(t,"add",wt,j),wt==="combo"&&A.push([At,j])})}}return t}}const If=(r,t,e,n)=>{const i=`${e}s`,a=be(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[t][i].set(be(n),n)};class $g extends zl{getElement(t){return this.context.element.getElement(t)}handleExpand(t,e){if(If(e,"add","node",t),Ca(t))return;const n=be(t);If(e,"add","node",t),this.context.model.getRelatedEdgesData(n).forEach(A=>{Xo(e,"add","edge",A)}),this.context.model.getChildrenData(n).forEach(A=>{this.handleExpand(A,e)})}beforeDraw(t){const{graph:e,model:n}=this.context;if(!n.model.hasTreeStructure(jt))return t;const{add:{nodes:i,edges:a},update:{nodes:A}}=t,l=new Map,h=new Map;i.forEach((p,_)=>{Ca(p)&&l.set(_,p)}),a.forEach(p=>{if(e.getElementType(p.source)!=="node")return;const _=e.getNodeData(p.source);Ca(_)&&l.set(p.source,_)}),A.forEach((p,_)=>{const j=this.getElement(_);if(!j)return;const q=j.attributes.collapsed;Ca(p)?q||l.set(_,p):q&&h.set(_,p)});const v=new Set;return l.forEach((p,_)=>{n.getDescendantsData(_).forEach(q=>{const At=be(q);if(v.has(At))return;Xo(t,"remove","node",q),n.getRelatedEdgesData(At).forEach(Ot=>{Xo(t,"remove","edge",Ot)}),v.add(At)})}),h.forEach((p,_)=>{if(n.getAncestorsData(_,jt).some(Ca)){Xo(t,"remove","node",p);return}this.handleExpand(p,t)}),t}}const zh=new WeakMap;function G0(r,t,e){zh.has(r)||zh.set(r,{});const n=zh.get(r);if(!n[t])return n[t]=e,!0;const i=n[t];return Lf(i,e)?!1:(n[t]=e,!0)}const Lf=(r,t,e=2)=>{if(typeof r!="object"||typeof t!="object")return r===t;const n=Object.keys(r),i=Object.keys(t);if(n.length!==i.length)return!1;for(const a of n){const A=r[a],l=t[a];if(e>1&&typeof A=="object"&&typeof l=="object"){if(!Lf(A,l,e-1))return!1}else if(A!==l)return!1}return!0};function qg(r,t,e){Oe[r][t]&&wn.warn(`The extension ${t} of ${r} has been registered before, and will be overridden.`),Object.assign(Oe[r],{[t]:e})}var t0=g(59293),e0=g(85580),Nf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})},Uf=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const j=new R.Xz(Object.assign(Object.assign({},l),{supportsMutipleCanvasesInOneContainer:A,renderer:v[_],background:A?_==="background"?i:void 0:i}));return[_,j]}));kf(p),this.extends={config:this.config,renderer:n,renderers:v,layers:p}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,t])=>t.ready))}resize(t,e){Object.assign(this.extends.config,{width:t,height:e}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),A=i.getFocalPoint();n.resize(t,e),i.setPosition(a),i.setFocalPoint(A)})}getBounds(t){return ge(Object.values(this.getLayers()).map(e=>t?e.getRoot().childNodes.find(i=>i.classList.includes(t)):e.getRoot()).filter(e=>(e==null?void 0:e.childNodes.length)>0).map(e=>e.getBounds()))}getContainer(){const t=this.extends.config.container;return typeof t=="string"?document.getElementById(t):t}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(t,e){var n;const i=((n=t.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(t,e)}setRenderer(t){if(t===this.extends.renderer)return;const e=Qf(t,this.config.enableMultiLayer?Df:Pf);this.extends.renderers=e,Object.entries(e).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),kf(this.getLayers())}getCanvasByViewport(t){return Cr(this.getLayer().viewport2Canvas(br(t)))}getViewportByCanvas(t){return Cr(this.getLayer().canvas2Viewport(br(t)))}getViewportByClient(t){return Cr(this.getLayer().client2Viewport(br(t)))}getClientByViewport(t){return Cr(this.getLayer().viewport2Client(br(t)))}getClientByCanvas(t){return this.getClientByViewport(this.getViewportByCanvas(t))}getCanvasByClient(t){const e=this.getLayer(),n=e.client2Viewport(br(t));return Cr(e.viewport2Canvas(n))}toDataURL(){return Nf(this,arguments,void 0,function*(t={}){const e=globalThis.devicePixelRatio||1,{mode:n="viewport"}=t,i=Uf(t,["mode"]);let[a,A,l,h]=[0,0,0,0];if(n==="viewport")[l,h]=this.getSize();else if(n==="overall"){const Xt=this.getBounds(),ne=Yt(Xt);[a,A]=Xt.min,[l,h]=ne}const v=(0,e0.L)('
    '),p=new R.Xz({width:l,height:h,renderer:new ss.Th,devicePixelRatio:e,container:v,background:this.extends.config.background});yield p.ready,p.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),p.appendChild(this.getRoot().cloneNode(!0));const _=this.getLayer("label").getRoot().cloneNode(!0),j=p.viewport2Canvas({x:0,y:0}),q=this.getCanvasByViewport([0,0]);_.translate([q[0]-j.x,q[1]-j.y]),_.scale(1/this.getCamera().getZoom()),p.appendChild(_),p.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const At=this.getCamera(),wt=p.getCamera();if(n==="viewport")wt.setZoom(At.getZoom()),wt.setPosition(At.getPosition()),wt.setFocalPoint(At.getFocalPoint());else if(n==="overall"){const[Xt,ne,fe]=wt.getPosition(),[He,Fn,yn]=wt.getFocalPoint();wt.setPosition([Xt+a,ne+A,fe]),wt.setFocalPoint([He+a,Fn+A,yn])}const Ot=p.getContextService();return new Promise(Xt=>{p.addEventListener(R.$6.RERENDER,()=>Nf(this,void 0,void 0,function*(){yield new Promise(fe=>setTimeout(fe,300));const ne=yield Ot.toDataURL(i);Xt(ne)}))})})}destroy(){Object.values(this.getLayers()).forEach(t=>{t.getCamera().cancelLandmarkAnimation(),t.destroy()})}}function Qf(r,t){return Object.fromEntries(t.map(e=>{const n=(r==null?void 0:r(e))||new ss.Th;return n instanceof ss.Th&&n.setConfig({enableDirtyRectangleRendering:!1}),e==="main"?n.registerPlugin(new t0.S({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[e,n]}))}function kf(r){Object.entries(r).forEach(([t,e])=>{const n=e.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,t!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid",n.parentElement.style.isolation="isolate")})}const gu=r=>r?parseInt(r):0;function r0(r){const t=getComputedStyle(r),e=r.clientWidth||gu(t.width),n=r.clientHeight||gu(t.height),i=gu(t.paddingLeft)+gu(t.paddingRight),a=gu(t.paddingTop)+gu(t.paddingBottom);return[e-i,n-a]}function _f(r){if(!r)return[0,0];let t=640,e=480;const[n,i]=r0(r);t=n||t,e=i||e;const a=1,A=1;return[Math.max((0,On.Z)(t)?t:a,a),Math.max((0,On.Z)(e)?e:A,A)]}class Ch{constructor(t){this.type=t}}class Ns extends Ch{constructor(t,e){super(t),this.data=e}}class cA extends Ch{constructor(t,e,n,i){super(t),this.animationType=e,this.animation=n,this.data=i}}class vu extends Ch{constructor(t,e,n){super(t),this.elementType=e,this.data=n}}class Sh extends Ch{constructor(t,e){super(t),this.data=e}}function zs(r,t){r.emit(t.type,t)}function i0(r){if(!r)return null;if(r instanceof R.BB)return{type:"canvas",element:r};let t=r;for(;t;){if(Kr(t))return{type:"node",element:t};if(ii(t))return{type:"edge",element:t};if(yi(t))return{type:"combo",element:t};t=t.parentElement}return null}function Hf(r){var t;return((t=r==null?void 0:r.style)===null||t===void 0?void 0:t.zIndex)||0}const pu="cachedStyle",Mh=r=>`__${r}__`;function a0(r,t){const e=Array.isArray(t)?t:[t];(0,$a.Z)(r,pu)||(0,no.Z)(r,pu,{}),e.forEach(n=>{(0,no.Z)((0,$a.Z)(r,pu),Mh(n),r.attributes[n])})}function Zf(r,t){return(0,$a.Z)(r,[pu,Mh(t)])}function s0(r,t){return Mh(t)in((0,$a.Z)(r,pu)||{})}function z0(r,t,e){set(r,[pu,Mh(t)],e)}class o0{constructor(t){this.tasks=[],this.animations=new Set,this.context=t}getTasks(){const t=[...this.tasks];return this.tasks=[],t}add(t,e){this.tasks.push([t,e])}animate(t,e,n){var i,a,A;(i=e==null?void 0:e.before)===null||i===void 0||i.call(e);const l=this.getTasks().map(([v,p])=>{var _,j,q;const{element:At,elementType:wt,stage:Ot}=v,Xt=Un(this.context.options,wt,Ot,t);(_=p==null?void 0:p.before)===null||_===void 0||_.call(p);const ne=Xt.length?ln(At,this.inferStyle(v,n),Xt):null;return ne?((j=p==null?void 0:p.beforeAnimate)===null||j===void 0||j.call(p,ne),ne.finished.then(()=>{var fe,He;(fe=p==null?void 0:p.afterAnimate)===null||fe===void 0||fe.call(p,ne),(He=p==null?void 0:p.after)===null||He===void 0||He.call(p),this.animations.delete(ne)})):(q=p==null?void 0:p.after)===null||q===void 0||q.call(p),ne}).filter(Boolean);l.forEach(v=>this.animations.add(v));const h=or(l);return h?((a=e==null?void 0:e.beforeAnimate)===null||a===void 0||a.call(e,h),h.finished.then(()=>{var v,p;(v=e==null?void 0:e.afterAnimate)===null||v===void 0||v.call(e,h),(p=e==null?void 0:e.after)===null||p===void 0||p.call(e),this.release()})):(A=e==null?void 0:e.after)===null||A===void 0||A.call(e),h}inferStyle(t,e){var n,i;const{element:a,elementType:A,stage:l,originalStyle:h,updatedStyle:v={}}=t;t.modifiedStyle||(t.modifiedStyle=Object.assign(Object.assign({},h),v));const{modifiedStyle:p}=t,_={},j={};if(l==="enter")Object.assign(_,{opacity:0});else if(l==="exit")Object.assign(j,{opacity:0});else if(l==="show")Object.assign(_,{opacity:0}),Object.assign(j,{opacity:(n=Zf(a,"opacity"))!==null&&n!==void 0?n:zn("opacity")});else if(l==="hide")Object.assign(_,{opacity:(i=Zf(a,"opacity"))!==null&&i!==void 0?i:zn("opacity")}),Object.assign(j,{opacity:0});else if(l==="collapse"){const{collapse:q}=e||{},{target:At,descendants:wt,position:Ot}=q;if(A==="node"){if(wt.includes(a.id)){const[Xt,ne,fe]=Ot;Object.assign(j,{x:Xt,y:ne,z:fe})}}else if(A==="combo"){if(a.id===At||wt.includes(a.id)){const[Xt,ne]=Ot;Object.assign(j,{x:Xt,y:ne,childrenNode:h.childrenNode})}}else A==="edge"&&Object.assign(j,{sourceNode:p.sourceNode,targetNode:p.targetNode})}else if(l==="expand"){const{expand:q}=e||{},{target:At,descendants:wt,position:Ot}=q;if(A==="node"){if(a.id===At||wt.includes(a.id)){const[Xt,ne,fe]=Ot;Object.assign(_,{x:Xt,y:ne,z:fe})}}else if(A==="combo"){if(a.id===At||wt.includes(a.id)){const[Xt,ne,fe]=Ot;Object.assign(_,{x:Xt,y:ne,z:fe,childrenNode:p.childrenNode})}}else A==="edge"&&Object.assign(_,{sourceNode:p.sourceNode,targetNode:p.targetNode})}return[Object.keys(_).length>0?Object.assign({},h,_):h,Object.keys(j).length>0?Object.assign({},p,j):p]}stop(){this.animations.forEach(t=>t.cancel())}clear(){this.tasks=[]}release(){var t,e;const{canvas:n}=this.context,i=(e=(t=n.document)===null||t===void 0?void 0:t.timeline)===null||e===void 0?void 0:e.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class A0{constructor(t){this.batchCount=0,this.context=t}emit(t){const{graph:e}=this.context;e.emit(t.type,t)}startBatch(t=!0){this.batchCount++,this.batchCount===1&&this.emit(new Ns(X.BATCH_START,{initiate:t}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new Ns(X.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class l0 extends ir{constructor(t){super(t),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=e=>{const{target:n}=e,i=i0(n);if(!i)return;const{graph:a,canvas:A}=this.context,{type:l,element:h}=i;if("destroyed"in h&&(Hs(h)||h.destroyed))return;const{type:v,detail:p,button:_}=e,j=Object.assign(Object.assign({},e),{target:h,targetType:l,originalTarget:n});v===V.POINTER_MOVE&&(this.currentTarget!==h&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${V.POINTER_LEAVE}`,Object.assign(Object.assign({},j),{type:V.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),h&&(Object.assign(j,{type:V.POINTER_ENTER}),a.emit(`${l}:${V.POINTER_ENTER}`,j))),this.currentTarget=h,this.currentTargetType=l),v===V.CLICK&&_===2||(a.emit(`${l}:${v}`,j),a.emit(v,j)),v===V.CLICK&&p===2&&(Object.assign(j,{type:V.DBLCLICK}),a.emit(`${l}:${V.DBLCLICK}`,j),a.emit(V.DBLCLICK,j)),v===V.POINTER_DOWN&&_===2&&(Object.assign(j,{type:V.CONTEXT_MENU,preventDefault:()=>{var q;(q=A.getContainer())===null||q===void 0||q.addEventListener(V.CONTEXT_MENU,At=>At.preventDefault(),{once:!0})}}),a.emit(`${l}:${V.CONTEXT_MENU}`,j),a.emit(V.CONTEXT_MENU,j))},this.forwardContainerEvents=e=>{this.context.graph.emit(e.type,e)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(t){this.setExtensions(t)}forwardEvents(){const t=this.context.canvas.getContainer();t&&[pt.KEY_DOWN,pt.KEY_UP].forEach(n=>{t.addEventListener(n,this.forwardContainerEvents)});const e=this.context.canvas.document;e&&[V.CLICK,V.DBLCLICK,V.POINTER_OVER,V.POINTER_LEAVE,V.POINTER_ENTER,V.POINTER_MOVE,V.POINTER_OUT,V.POINTER_DOWN,V.POINTER_UP,V.CONTEXT_MENU,V.DRAG_START,V.DRAG,V.DRAG_END,V.DRAG_ENTER,V.DRAG_OVER,V.DRAG_LEAVE,V.DROP,V.WHEEL].forEach(n=>{e.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const t=this.context.canvas.getContainer();t&&[pt.KEY_DOWN,pt.KEY_UP].forEach(e=>{t.removeEventListener(e,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var c0=g(35300),u0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i0}silence(t){this.isTraceless=!0,t(),this.isTraceless=!1}isCombo(t){return this.comboIds.has(t)||this.latestRemovedComboIds.has(t)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return this.isCombo(be(i))||(t===void 0||t.includes(be(i)))&&e.push(i),e},[])}getEdgeDatum(t){return eo(this.model.getEdge(t))}getEdgeData(t){return this.model.getAllEdges().reduce((e,n)=>{const i=eo(n);return(t===void 0||t.includes(be(i)))&&e.push(i),e},[])}getComboData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return this.isCombo(be(i))&&(t===void 0||t.includes(be(i)))&&e.push(i),e},[])}getRootsData(t=jt){return this.model.getRoots(t).map(eo)}getAncestorsData(t,e){const{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getAncestors(t,e).map(eo)}getDescendantsData(t){const e=this.getElementDataById(t),n=[];return fa(e,i=>{i!==e&&n.push(i)},i=>this.getChildrenData(be(i)),"TB"),n}getParentData(t,e){const{model:n}=this;if(!e){wn.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(t)||!n.hasTreeStructure(e))return;const i=n.getParent(t,e);return i?eo(i):void 0}getChildrenData(t){const e=this.getElementType(t)==="node"?jt:Ut,{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getChildren(t,e).map(eo)}getElementsDataByType(t){return t==="node"?this.getNodeData():t==="edge"?this.getEdgeData():t==="combo"?this.getComboData():[]}getElementDataById(t){return this.getElementType(t)==="edge"?this.getEdgeDatum(t):this.getNodeLikeDatum(t)}getNodeLikeDatum(t){const e=this.model.getNode(t);return eo(e)}getNodeLikeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return t?t.includes(be(i))&&e.push(i):e.push(i),e},[])}getElementDataByState(t,e){return this.getElementsDataByType(t).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(e)})}getElementState(t){var e;return((e=this.getElementDataById(t))===null||e===void 0?void 0:e.states)||[]}hasNode(t){return this.model.hasNode(t)&&!this.isCombo(t)}hasEdge(t){return this.model.hasEdge(t)}hasCombo(t){return this.model.hasNode(t)&&this.isCombo(t)}getRelatedEdgesData(t,e="both"){return this.model.getRelatedEdges(t,e).map(eo)}getNeighborNodesData(t){return this.model.getNeighbors(t).map(eo)}setData(t){const{nodes:e=[],edges:n=[],combos:i=[]}=t,{nodes:a,edges:A,combos:l}=this.getData(),h=vn(a,e,_=>be(_),eA),v=vn(A,n,_=>be(_),eA),p=vn(l,i,_=>be(_),eA);this.batch(()=>{const _={nodes:h.enter,edges:v.enter,combos:p.enter};this.addData(_),this.computeZIndex(_,"add",!0);const j={nodes:h.update,edges:v.update,combos:p.update};this.updateData(j),this.computeZIndex(j,"update",!0);const q={nodes:h.exit.map(be),edges:v.exit.map(be),combos:p.exit.map(be)};this.removeData(q)})}addData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.addComboData(i),this.addNodeData(e),this.addEdgeData(n)}),this.computeZIndex(t,"add")}addNodeData(t=[]){t.length&&(this.model.addNodes(t.map(e=>(this.pushChange({value:e,type:T.NodeAdded}),Wh(e)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({nodes:t},"add"))}addEdgeData(t=[]){t.length&&(this.model.addEdges(t.map(e=>(this.pushChange({value:e,type:T.EdgeAdded}),Wh(e)))),this.computeZIndex({edges:t},"add"))}addComboData(t=[]){if(!t.length)return;const{model:e}=this;e.hasTreeStructure(Ut)||e.attachTreeStructure(Ut),e.addNodes(t.map(n=>(this.comboIds.add(be(n)),this.pushChange({value:n,type:T.ComboAdded}),Wh(n)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({combos:t},"add")}addChildrenData(t,e){const n=this.getNodeLikeDatum(t),i=e.map(be);this.addNodeData(e),this.updateNodeData([{id:t,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:t,target:a})))}computeZIndex(t,e,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:A=[]}=t;A.forEach(l=>{var h,v,p;const _=be(l);if(e==="add"&&(0,On.Z)((h=l.style)===null||h===void 0?void 0:h.zIndex)||e==="update"&&!("combo"in l))return;const j=this.getParentData(_,Ut),q=j?((p=(v=j.style)===null||v===void 0?void 0:v.zIndex)!==null&&p!==void 0?p:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:_,style:{zIndex:q}}])})}),i.forEach(l=>{var h,v,p;const _=be(l);if(e==="add"&&(0,On.Z)((h=l.style)===null||h===void 0?void 0:h.zIndex)||e==="update"&&!("combo"in l)&&!("children"in l))return;let j=0;const q=this.getParentData(_,Ut);if(q)j=(((v=q.style)===null||v===void 0?void 0:v.zIndex)||0)+1;else{const At=this.getParentData(_,jt);At&&(j=((p=At==null?void 0:At.style)===null||p===void 0?void 0:p.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:_,style:{zIndex:j}}])})}),a.forEach(l=>{var h,v,p,_,j;if((0,On.Z)((h=l.style)===null||h===void 0?void 0:h.zIndex))return;let{id:q,source:At,target:wt}=l;if(!q)q=be(l);else{const ne=this.getEdgeDatum(q);At=ne.source,wt=ne.target}if(!At||!wt)return;const Ot=((p=(v=this.getNodeLikeDatum(At))===null||v===void 0?void 0:v.style)===null||p===void 0?void 0:p.zIndex)||0,Xt=((j=(_=this.getNodeLikeDatum(wt))===null||_===void 0?void 0:_.style)===null||j===void 0?void 0:j.zIndex)||0;this.updateEdgeData([{id:be(l),style:{zIndex:Math.max(Ot,Xt)-1}}])})})}getFrontZIndex(t){var e;const n=this.getElementType(t),i=this.getElementDataById(t),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(A=>be(A)!==t)}),n==="combo"&&!Ca(i)){const A=new Set(this.getAncestorsData(t,Ut).map(be));a.nodes=a.nodes.filter(l=>!A.has(be(l))),a.combos=a.combos.filter(l=>!A.has(be(l))),a.edges=a.edges.filter(({source:l,target:h})=>!A.has(l)&&!A.has(h))}return Math.max(((e=i.style)===null||e===void 0?void 0:e.zIndex)||0,0,...Object.values(a).flat().map(A=>{var l;return(((l=A==null?void 0:A.style)===null||l===void 0?void 0:l.zIndex)||0)+1}))}updateNodeLikeHierarchy(t){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:e}=this;t.forEach(n=>{const i=be(n),a=ri(n);a!==void 0&&(e.hasTreeStructure(Ut)||e.attachTreeStructure(Ut),a===null&&this.refreshComboData(i),this.setParent(i,ri(n),Ut));const A=n.children||[];if(A.length){e.hasTreeStructure(jt)||e.attachTreeStructure(jt);const l=A.filter(h=>e.hasNode(h));l.forEach(h=>this.setParent(h,i,jt)),l.length!==A.length&&this.updateNodeData([{id:i,children:l}])}})}preventUpdateNodeLikeHierarchy(t){this.enableUpdateNodeLikeHierarchy=!1,t(),this.enableUpdateNodeLikeHierarchy=!0}updateData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.updateNodeData(e),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(t,"update")}updateNodeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{const n=[];t.forEach(i=>{const a=be(i),A=eo(e.getNode(a));if(eA(A,i))return;const l=po(A,i);this.pushChange({value:l,original:A,type:T.NodeUpdated}),e.mergeNodeData(a,l),n.push(l)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:t},"update")}refreshData(){const{nodes:t,edges:e,combos:n}=this.getData();t.forEach(i=>{this.pushChange({value:i,original:i,type:T.NodeUpdated})}),e.forEach(i=>{this.pushChange({value:i,original:i,type:T.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:T.ComboUpdated})})}syncNodeLikeDatum(t){const{model:e}=this,n=be(t);if(!e.hasNode(n))return;const i=eo(e.getNode(n)),a=po(i,t);e.mergeNodeData(n,a)}syncEdgeDatum(t){const{model:e}=this,n=be(t);if(!e.hasEdge(n))return;const i=eo(e.getEdge(n)),a=po(i,t);e.mergeEdgeData(n,a)}updateEdgeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{t.forEach(n=>{const i=be(n),a=eo(e.getEdge(i));if(eA(a,n))return;n.source&&a.source!==n.source&&e.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&e.updateEdgeTarget(i,n.target);const A=po(a,n);this.pushChange({value:A,original:a,type:T.EdgeUpdated}),e.mergeEdgeData(i,A)})}),this.computeZIndex({edges:t},"update")}updateComboData(t=[]){if(!t.length)return;const{model:e}=this;e.batch(()=>{const n=[];t.forEach(i=>{const a=be(i),A=eo(e.getNode(a));if(eA(A,i))return;const l=po(A,i);this.pushChange({value:l,original:A,type:T.ComboUpdated}),e.mergeNodeData(a,l),n.push(l)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:t},"update")}setParent(t,e,n,i=!0){if(t===e)return;const a=this.getNodeLikeDatum(t),A=ri(a);if(A!==e&&n===Ut){const l={id:t,combo:e};this.isCombo(t)?this.syncNodeLikeDatum(l):this.syncNodeLikeDatum(l)}this.model.setParent(t,e,n),i&&n===Ut&&(0,c0.Z)([A,e]).forEach(l=>{l!==void 0&&this.refreshComboData(l)})}refreshComboData(t){const e=this.getComboData([t])[0],n=this.getAncestorsData(t,Ut);e&&this.pushChange({value:e,original:e,type:T.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:T.ComboUpdated})})}getElementPosition(t){const e=this.getElementDataById(t);return Re(e)}translateNodeLikeBy(t,e){this.isCombo(t)?this.translateComboBy(t,e):this.translateNodeBy(t,e)}translateNodeLikeTo(t,e){this.isCombo(t)?this.translateComboTo(t,e):this.translateNodeTo(t,e)}translateNodeBy(t,e){const n=this.getElementPosition(t),i=z(n,[...e,0].slice(0,3));this.translateNodeTo(t,i)}translateNodeTo(t,e){const[n=0,i=0,a=0]=e;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:t,style:{x:n,y:i,z:a}}])})}translateComboBy(t,e){const[n=0,i=0,a=0]=e;if([n,i,a].some(isNaN)||[n,i,a].every(h=>h===0))return;const A=this.getComboData([t])[0];if(!A)return;const l=new Set;fa(A,h=>{const v=be(h);if(l.has(v))return;l.add(v);const[p,_,j]=Re(h),q=po(h,{style:{x:p+n,y:_+i,z:j+a}});this.pushChange({value:q,original:h,type:this.isCombo(v)?T.ComboUpdated:T.NodeUpdated}),this.model.mergeNodeData(v,q)},h=>this.getChildrenData(be(h)),"BT")}translateComboTo(t,e){var n;if(e.some(isNaN))return;const[i=0,a=0,A=0]=e,l=(n=this.getComboData([t]))===null||n===void 0?void 0:n[0];if(!l)return;const[h,v,p]=Re(l),_=i-h,j=a-v,q=A-p;fa(l,At=>{const wt=be(At),[Ot,Xt,ne]=Re(At),fe=po(At,{style:{x:Ot+_,y:Xt+j,z:ne+q}});this.pushChange({value:fe,original:At,type:this.isCombo(wt)?T.ComboUpdated:T.NodeUpdated}),this.model.mergeNodeData(wt,fe)},At=>this.getChildrenData(be(At)),"BT")}removeData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(e),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.removeEdgeData(this.getRelatedEdgesData(e).map(be)),this.pushChange({value:this.getNodeData([e])[0],type:T.NodeRemoved}),this.removeNodeLikeHierarchy(e)}),this.model.removeNodes(t)})}removeEdgeData(t=[]){t.length&&(t.forEach(e=>this.pushChange({value:this.getEdgeData([e])[0],type:T.EdgeRemoved})),this.model.removeEdges(t))}removeComboData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.pushChange({value:this.getComboData([e])[0],type:T.ComboRemoved}),this.removeNodeLikeHierarchy(e),this.comboIds.delete(e)}),this.model.removeNodes(t)})}removeNodeLikeHierarchy(t){if(this.model.hasTreeStructure(Ut)){const e=ri(this.getNodeLikeDatum(t));this.setParent(t,void 0,Ut,!1),this.model.getChildren(t,Ut).forEach(n=>{const i=eo(n),a=be(i);this.setParent(be(i),e,Ut,!1);const A=po(i,{id:be(i),combo:e});this.pushChange({value:A,original:i,type:this.isCombo(a)?T.ComboUpdated:T.NodeUpdated}),this.model.mergeNodeData(be(i),A)}),(0,U.Z)(e)||this.refreshComboData(e)}}getElementType(t){if(this.model.hasNode(t))return this.isCombo(t)?"combo":"node";if(this.model.hasEdge(t))return"edge";throw new Error(Ln(`Unknown element type of id: ${t}`))}destroy(){const{model:t}=this,e=t.getAllNodes(),n=t.getAllEdges();t.removeEdges(n.map(i=>i.id)),t.removeNodes(e.map(i=>i.id)),this.context={}}}var mu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class d0{constructor(t){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=t}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:t}=this.context;this.container=t.appendChild(new R.ZA({className:"elements"}))}}emit(t,e){e.silence||zs(this.context.graph,t)}forEachElementData(t){Ba.forEach(e=>{const n=this.context.model.getElementsDataByType(e);t(e,n)})}getElementType(t,e){var n;const{options:i,graph:a}=this.context,A=Za(e)&&((n=i[t])===null||n===void 0?void 0:n.type)||e.type;return A?typeof A=="string"?A:A.call(a,e):t==="edge"?"line":"circle"}getTheme(t){return Rn(this.context.options)[t]||{}}getThemeStyle(t){return this.getTheme(t).style||{}}getThemeStateStyle(t,e){const{state:n={}}=this.getTheme(t);return Object.assign({},...e.map(i=>n[i]||{}))}computePaletteStyle(){const{options:t}=this.context;this.paletteStyle={},this.forEachElementData((e,n)=>{var i,a;const A=Object.assign({},xs((i=this.getTheme(e))===null||i===void 0?void 0:i.palette),xs((a=t[e])===null||a===void 0?void 0:a.palette));A!=null&&A.field&&Object.assign(this.paletteStyle,ua(n,A))})}getPaletteStyle(t,e){const n=this.paletteStyle[e];return n?t==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(t,e){var n;const{options:i}=this.context,a=((n=i[t])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[be(e.datum)]=io(a,e)}computeElementsDefaultStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let A=0;Athis.getElementStateStyle(t,i,n)))}computeElementsStatesStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let A=0;Athis.elementMap[t])}getEdges(){return this.context.model.getEdgeData().map(t=>this.elementMap[be(t)])}getCombos(){return this.context.model.getComboData().map(({id:t})=>this.elementMap[t])}getElementComputedStyle(t,e){const n=be(e),i=this.getThemeStyle(t),a=this.getPaletteStyle(t,n),A=e.style||{},l=this.getDefaultStyle(n),h=this.getThemeStateStyle(t,this.getElementState(n)),v=this.getStateStyle(n),p=Za(e)?Object.assign({},i,a,A,l,h,v):Object.assign({},A);if(t==="combo"){const _=this.context.model.getChildrenData(n),q=!!p.collapsed?[]:_.map(be).filter(At=>this.getElement(At));Object.assign(p,{childrenNode:q,childrenData:_})}return p}getDrawData(t){this.init();const e=this.computeChangesAndDrawData(t);if(!e)return null;const{type:n="draw",stage:i=n}=t;return this.markDestroyElement(e.drawData),this.computeStyle(i),{type:n,stage:i,data:e}}draw(t={animation:!0}){const e=this.getDrawData(t);if(!e)return;const{data:{drawData:{add:n,update:i,remove:a}}}=e;return this.destroyElements(a,t),this.createElements(n,t),this.updateElements(i,t),this.setAnimationTask(t,e)}preLayoutDraw(){return mu(this,arguments,void 0,function*(t={animation:!0}){var e,n;const i=this.getDrawData(t);if(!i)return;const{data:{drawData:a}}=i;yield(n=(e=this.context.layout)===null||e===void 0?void 0:e.preLayout)===null||n===void 0?void 0:n.call(e,a);const{add:A,update:l,remove:h}=a;return this.destroyElements(h,t),this.createElements(A,t),this.updateElements(l,t),this.setAnimationTask(t,i)})}setAnimationTask(t,e){const{animation:n,silence:i}=t,{data:{dataChanges:a,drawData:A},stage:l,type:h}=e;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:a,animation:n,stage:l,render:h==="render"}),t),beforeAnimate:v=>this.emit(new cA(X.BEFORE_ANIMATE,K.DRAW,v,A),t),afterAnimate:v=>this.emit(new cA(X.AFTER_ANIMATE,K.DRAW,v,A),t),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:a,animation:n,stage:l,render:h==="render",firstRender:this.context.graph.rendered===!1}),t)})}computeChangesAndDrawData(t){const{model:e}=this.context,n=e.getChanges(),i=kh(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:A=[],NodeRemoved:l=[],EdgeAdded:h=[],EdgeUpdated:v=[],EdgeRemoved:p=[],ComboAdded:_=[],ComboUpdated:j=[],ComboRemoved:q=[]}=(0,kt.Z)(i,Fn=>Fn.type),At=(Fn,yn)=>{const Zn=[];return Fn.forEach(gn=>{const fr=be(gn.value);this.getElement(fr)?Zn.push(gn):yn.push(gn)}),Zn},wt=At(A,a),Ot=At(v,h),Xt=At(j,_),ne=Fn=>new Map(Fn.map(yn=>{const Zn=yn.value;return[be(Zn),Zn]})),fe={add:{nodes:ne(a),edges:ne(h),combos:ne(_)},update:{nodes:ne(wt),edges:ne(Ot),combos:ne(Xt)},remove:{nodes:ne(l),edges:ne(p),combos:ne(q)}},He=this.transformData(fe,t);return e.clearChanges(),{dataChanges:n,drawData:He}}transformData(t,e){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,e),t)}createElement(t,e,n){var i;const a=be(e);if(this.getElement(a))return;const l=this.getElementType(t,e),h=this.getElementComputedStyle(t,e),v=de(t,l);if(!v)return wn.warn(`The element ${l} of ${t} is not registered.`);this.emit(new vu(X.BEFORE_ELEMENT_CREATE,t,e),n);const p=this.container.appendChild(new v({id:a,context:this.context,style:h}));this.shapeTypeMap[a]=l,this.elementMap[a]=p;const{stage:_="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:p,elementType:t,stage:_,originalStyle:Object.assign({},p.attributes),updatedStyle:h},{after:()=>{var j;this.emit(new vu(X.AFTER_ELEMENT_CREATE,t,e),n),(j=p.onCreate)===null||j===void 0||j.call(p)}})}createElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([l,h])=>{h.forEach(v=>this.createElement(l,v,e))})}getUpdateStageStyle(t,e,n){const{stage:i="update"}=n;if(i==="translate")if(t==="node"||t==="combo"){const{style:{x:a=0,y:A=0,z:l=0}={}}=e;return{x:a,y:A,z:l}}else return{};return this.getElementComputedStyle(t,e)}updateElement(t,e,n){var i;const a=be(e),{stage:A="update"}=n,l=this.getElement(a);if(!l)return()=>null;this.emit(new vu(X.BEFORE_ELEMENT_UPDATE,t,e),n);const h=this.getElementType(t,e),v=this.getUpdateStageStyle(t,e,n);this.shapeTypeMap[a]!==h&&(l.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(t,e,{animation:!1,silence:!0}));const p=A!=="visibility"?A:v.visibility==="hidden"?"hide":"show";p==="hide"&&delete v.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:l,elementType:t,stage:p,originalStyle:Object.assign({},l.attributes),updatedStyle:v},{before:()=>{const _=this.elementMap[a];A!=="collapse"&&vo(_,v),A==="visibility"&&(s0(_,"opacity")||a0(_,"opacity"),this.visibilityCache.set(_,p==="show"?"visible":"hidden"),p==="show"&&un(_,"visible"))},after:()=>{var _;const j=this.elementMap[a];A==="collapse"&&vo(j,v),p==="hide"&&un(j,this.visibilityCache.get(j)),this.emit(new vu(X.AFTER_ELEMENT_UPDATE,t,e),n),(_=j.onUpdate)===null||_===void 0||_.call(j)}})}updateElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([l,h])=>{h.forEach(v=>this.updateElement(l,v,e))})}markDestroyElement(t){Object.values(t.remove).forEach(e=>{e.forEach(n=>{const i=be(n),a=this.getElement(i);a&&_s(a)})})}destroyElement(t,e,n){var i;const{stage:a="exit"}=n,A=be(e),l=this.elementMap[A];if(!l)return()=>null;this.emit(new vu(X.BEFORE_ELEMENT_DESTROY,t,e),n),(i=this.context.animation)===null||i===void 0||i.add({element:l,elementType:t,stage:a,originalStyle:Object.assign({},l.attributes),updatedStyle:{}},{after:()=>{var h;this.clearElement(A),l.destroy(),(h=l.onDestroy)===null||h===void 0||h.call(l),this.emit(new vu(X.AFTER_ELEMENT_DESTROY,t,e),n)}})}destroyElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["combo",a],["edge",i],["node",n]].forEach(([l,h])=>{h.forEach(v=>this.destroyElement(l,v,e))})}clearElement(t){delete this.paletteStyle[t],delete this.defaultStyle[t],delete this.stateStyle[t],delete this.elementMap[t],delete this.shapeTypeMap[t]}alignLayoutResultToElement(t,e){var n,i;const a=(n=t.nodes)===null||n===void 0?void 0:n.find(A=>be(A)===e);if(a){const A=Re(this.context.model.getNodeLikeDatum(e)),l=Re(a),h=Lt(A,l);(i=t.nodes)===null||i===void 0||i.forEach(v=>{var p,_,j;!((p=v.style)===null||p===void 0)&&p.x&&(v.style.x+=h[0]),!((_=v.style)===null||_===void 0)&&_.y&&(v.style.y+=h[1]),!((j=v.style)===null||j===void 0)&&j.z&&(v.style.z+=h[2]||0)})}}syncLayoutResult(t,e){return mu(this,void 0,void 0,function*(){const{layout:n,model:i}=this.context;if(!n)return;const a=this.context.options.layout,A=h=>Array.isArray(h)?h.map(v=>Object.assign(Object.assign({},v),{preLayout:!0})):Object.assign(Object.assign({},h),{preLayout:!0}),l=yield n.simulate(a?A(a):void 0);e&&this.alignLayoutResultToElement(l,t),i.updateData(l)})}collapseNode(t,e){return mu(this,void 0,void 0,function*(){var n;const{animation:i,align:a}=e;yield this.syncLayoutResult(t,a);const A=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!A)return;const{drawData:l}=A,{add:h,remove:v,update:p}=l;this.markDestroyElement(l);const _={animation:i,stage:"collapse",data:l};this.destroyElements(v,_),this.createElements(h,_),this.updateElements(p,_),yield(n=this.context.animation.animate(i,{beforeAnimate:j=>this.emit(new cA(X.BEFORE_ANIMATE,K.COLLAPSE,j,l),_),afterAnimate:j=>this.emit(new cA(X.AFTER_ANIMATE,K.COLLAPSE,j,l),_)},{collapse:{target:t,descendants:Array.from(v.nodes).map(([,j])=>be(j)),position:Re(p.nodes.get(t))}}))===null||n===void 0?void 0:n.finished})}expandNode(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i}=this.context,{animation:a,align:A}=e,l=Re(i.getNodeData([t])[0]);yield this.syncLayoutResult(t,A);const h=this.computeChangesAndDrawData({stage:"expand",animation:a});if(this.createElements(h.drawData.add,{animation:!1,stage:"expand",target:t}),this.context.animation.clear(),this.computeStyle("expand"),!h)return;const{drawData:v}=h,{update:p,add:_}=v,j={animation:a,stage:"expand",data:v};_.edges.forEach(q=>p.edges.set(be(q),q)),_.nodes.forEach(q=>p.nodes.set(be(q),q)),this.updateElements(p,j),yield(n=this.context.animation.animate(a,{beforeAnimate:q=>this.emit(new cA(X.BEFORE_ANIMATE,K.EXPAND,q,v),j),afterAnimate:q=>this.emit(new cA(X.AFTER_ANIMATE,K.EXPAND,q,v),j)},{expand:{target:t,descendants:Array.from(_.nodes).map(([,q])=>be(q)),position:l}}))===null||n===void 0?void 0:n.finished})}collapseCombo(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(t,Ut).some(wt=>Ca(wt)))return;const A=a.getElement(t),l=A.getComboPosition(Object.assign(Object.assign({},A.attributes),{collapsed:!0})),h=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!h)return;const{dataChanges:v,drawData:p}=h;this.markDestroyElement(p);const{update:_,remove:j}=p,q={animation:e,stage:"collapse",data:p};this.destroyElements(j,q),this.updateElements(_,q);const At=wt=>Array.from(wt).map(([,Ot])=>be(Ot));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:v,animation:e}),q),beforeAnimate:wt=>this.emit(new cA(X.BEFORE_ANIMATE,K.COLLAPSE,wt,p),q),afterAnimate:wt=>this.emit(new cA(X.AFTER_ANIMATE,K.COLLAPSE,wt,p),q),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:v,animation:e}),q)},{collapse:{target:t,descendants:[...At(j.nodes),...At(j.combos)],position:l}}))===null||n===void 0?void 0:n.finished})}expandCombo(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=Re(i.getComboData([t])[0]);this.computeStyle("expand");const A=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!A)return;const{dataChanges:l,drawData:h}=A,{add:v,update:p}=h,_={animation:e,stage:"expand",data:h,target:t};this.createElements(v,_),this.updateElements(p,_);const j=q=>Array.from(q).map(([,At])=>be(At));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:l,animation:e}),_),beforeAnimate:q=>this.emit(new cA(X.BEFORE_ANIMATE,K.EXPAND,q,h),_),afterAnimate:q=>this.emit(new cA(X.AFTER_ANIMATE,K.EXPAND,q,h),_),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:l,animation:e}),_)},{expand:{target:t,descendants:[...j(v.nodes),...j(v.combos)],position:a}}))===null||n===void 0?void 0:n.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={}}}var Kf=g(96262);class g0 extends Qh.Z{constructor(t,e,n){super(),this.graph=t,this.layout=e,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=Kf.Ud(new Worker(new URL(g.p+g.u(9283),g.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var t;return(0,Di.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:n}=e,i=(0,Di._T)(e,["onTick"]),a={};Object.keys(i).forEach(v=>{(0,Me.Z)(i[v])||(a[v]=i[v])});const A={layout:{id:this.layout.id,options:a,iterations:(t=this.options)===null||t===void 0?void 0:t.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},l=new Float32Array([0]),[h]=yield this.proxy.calculateLayout(A,[l]);return h})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[Kf.Yy]()}isRunning(){return this.running}}var yu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})},v0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const _=be(p),j=h.nodes.get(_);l.syncNodeLikeDatum(p),j&&Object.assign(j.style,p.style)}),(i=v==null?void 0:v.edges)===null||i===void 0||i.forEach(p=>{const _=be(p),j=h.edges.get(_);l.syncEdgeDatum(p),j&&Object.assign(j.style,p.style)}),(a=v==null?void 0:v.combos)===null||a===void 0||a.forEach(p=>{const _=be(p),j=h.combos.get(_);l.syncNodeLikeDatum(p),j&&Object.assign(j.style,p.style)}),zs(A,new Ns(X.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",t)})}postLayout(){return yu(this,arguments,void 0,function*(t=this.options){if(!t)return;const e=Array.isArray(t)?t:[t],{graph:n}=this.context;zs(n,new Ns(X.BEFORE_LAYOUT,{type:"post"}));for(let i=0;ii.afterLayout(t,e))}simulate(){return yu(this,arguments,void 0,function*(t=this.options){if(!t)return{};const e=Array.isArray(t)?t:[t];let n={};for(let i=0;i{this.updateElementPosition(v,!1)}}):(l.execute(t),l.stop(),l.tick(A));const h=yield l.execute(t);if(i){const v=this.updateElementPosition(h,i);yield v==null?void 0:v.finished}return h})}treeLayout(t,e,n){return yu(this,void 0,void 0,function*(){const{type:i,animation:a}=e,A=de("layout",i);if(!A)return{};const{nodes:l=[],edges:h=[]}=t,v=new Xa.k({nodes:l.map(At=>({id:be(At),data:At.data||{}})),edges:h.map(At=>({id:be(At),source:At.source,target:At.target,data:At.data||{}}))});h0(v);const p={nodes:[],edges:[]},_={nodes:[],edges:[]};v.getRoots(jt).forEach(At=>{fa(At,fe=>{fe.children=v.getSuccessors(fe.id)},fe=>v.getSuccessors(fe.id),"TB");const wt=A(At,e),{x:Ot,y:Xt,z:ne=0}=wt;fa(wt,fe=>{const{id:He,x:Fn,y:yn,z:Zn=0}=fe;p.nodes.push({id:He,style:{x:Ot,y:Xt,z:ne}}),_.nodes.push({id:He,style:{x:Fn,y:yn,z:Zn}})},fe=>fe.children,"TB")});const q=this.inferTreeLayoutOffset(_);if(Gf(_,q),a){Gf(p,q),this.updateElementPosition(p,!1);const At=this.updateElementPosition(_,a);yield At==null?void 0:At.finished}return _})}inferTreeLayoutOffset(t){var e;let[n,i]=[1/0,-1/0],[a,A]=[1/0,-1/0];(e=t.nodes)===null||e===void 0||e.forEach(wt=>{const{x:Ot=0,y:Xt=0}=wt.style||{};n=Math.min(n,Ot),i=Math.max(i,Ot),a=Math.min(a,Xt),A=Math.max(A,Xt)});const{canvas:l}=this.context,h=l.getSize(),[v,p]=l.getCanvasByViewport([0,0]),[_,j]=l.getCanvasByViewport(h);if(n>=v&&i<=_&&a>=p&&A<=j)return[0,0];const q=(v+_)/2,At=(p+j)/2;return[q-(n+i)/2,At-(a+A)/2]}stopLayout(){this.instance&&Ji(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(t){const{nodeFilter:e=()=>!0,comboFilter:n=()=>!0,preLayout:i=!1,isLayoutInvisibleNodes:a=!1}=t,{nodes:A,edges:l,combos:h}=this.context.model.getData(),{element:v,model:p}=this.context,_=Xt=>v.getElement(Xt),j=i?Xt=>{var ne;return!a&&(((ne=Xt.style)===null||ne===void 0?void 0:ne.visibility)==="hidden"||p.getAncestorsData(Xt.id,jt).some(Ca)||p.getAncestorsData(Xt.id,Ut).some(Ca))?!1:e(Xt)}:Xt=>{const ne=be(Xt),fe=_(ne);return!fe||Hs(fe)?!1:e(Xt)},q=A.filter(j),At=h.filter(n),wt=new Map(q.map(Xt=>[be(Xt),Xt]));At.forEach(Xt=>wt.set(be(Xt),Xt));const Ot=l.filter(({source:Xt,target:ne})=>wt.has(Xt)&&wt.has(ne));return{nodes:q,edges:Ot,combos:At}}initGraphLayout(t){var e;const{element:n,viewport:i}=this.context,{type:a,enableWorker:A,animation:l,iterations:h}=t,v=v0(t,["type","enableWorker","animation","iterations"]),[p,_]=i.getCanvasSize(),j=[p/2,_/2],q=(e=t==null?void 0:t.nodeSize)!==null&&e!==void 0?e:ne=>{const fe=n==null?void 0:n.getElement(ne.id);return fe?fe.attributes.size:n==null?void 0:n.getElementComputedStyle("node",ne).size},At=de("layout",a);if(!At)return wn.warn(`The layout of ${a} is not registered.`);const wt=Object.getPrototypeOf(At.prototype)===rA.prototype?At:Bu(At,this.context),Ot=new wt(this.context),Xt={nodeSize:q,width:p,height:_,center:j};switch(Ot.id){case"d3-force":case"d3-force-3d":Object.assign(Xt,{center:{x:p/2,y:_/2,z:0}});break;default:break}return(0,m.Z)(Ot.options,Xt,v),Ot}updateElementPosition(t,e){const{model:n,element:i}=this.context;return i?(n.updateData(t),i.draw({animation:e,silence:!0})):null}destroy(){var t;this.stopLayout(),this.context={},(t=this.supervisor)===null||t===void 0||t.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const Gf=(r,t)=>{var e;const[n,i]=t;(e=r.nodes)===null||e===void 0||e.forEach(a=>{if(a.style){const{x:A=0,y:l=0}=a.style;a.style.x=A+n,a.style.y=l+i}else a.style={x:n,y:i}})};function m0(r){return[y0].reduce((e,n)=>n(e),r)}function y0(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class w0 extends ir{constructor(t){super(t),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(t){this.setExtensions(t)}getPluginInstance(t){const e=this.extensionMap[t];if(e)return e;wn.warn(`Cannot find the plugin ${t}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===t);if(n)return this.extensionMap[n.key]}}const Th=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class E0 extends ir{constructor(t){super(t),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(t){this.setExtensions([...Th.slice(0,Th.length-1),...t,Th[Th.length-1]])}getTransformInstance(t){return t?this.extensionMap[t]:this.extensionMap}}var Wu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class B0{get padding(){return Ke(this.context.options.padding)}get paddingOffset(){const[t,e,n,i]=this.padding,[a,A,l]=[(i-e)/2,(t-n)/2,0];return[a,A,l]}constructor(t){this.landmarkCounter=0,this.context=t;const[e,n]=this.paddingOffset,{zoom:i,rotation:a,x:A=e,y:l=n}=t.options;this.transform({mode:"absolute",scale:i,translate:[A,l],rotate:a},!1)}get camera(){const{canvas:t}=this.context;return new Proxy(t.getCamera(),{get:(e,n)=>{const a=Object.entries(t.getLayers()).filter(([l])=>!["main"].includes(l)).map(([,l])=>l.getCamera()),A=e[n];if(typeof A=="function")return(...l)=>{const h=A.apply(e,l);return a.forEach(v=>{v[n].apply(v,l)}),h}}})}createLandmark(t){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,t)}getAnimation(t){const e=Pt(this.context.options,t);return e?(0,oa.Z)(Object.assign({},e),["easing","duration"]):!1}getCanvasSize(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e,n]}getCanvasCenter(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e/2,n/2,0]}getViewportCenter(){const[t,e]=this.camera.getPosition();return[t,e,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(t){const{camera:e}=this,{mode:n,translate:i=[]}=t,a=this.getZoom(),A=e.getPosition(),l=e.getFocalPoint(),[h,v]=this.getCanvasCenter(),[p=0,_=0,j=0]=i,q=Jt([-p,-_,-j],a);return n==="relative"?{position:z(A,q),focalPoint:z(l,q)}:{position:z([h,v,A[2]],q),focalPoint:z([h,v,l[2]],q)}}getRotateOptions(t){const{mode:e,rotate:n=0}=t;return{roll:e==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(t){const{zoomRange:e}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=t;return(0,El.Z)(i==="relative"?n*a:a,...e)}transform(t,e){return Wu(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:A,origin:l}=t;this.cancelAnimation();const h=this.getAnimation(e);if(zs(n,new Sh(X.BEFORE_TRANSFORM,t)),!a&&A&&!i&&l&&!h){this.camera.setZoomByViewportPoint(this.getZoomOptions(t),l),zs(n,new Sh(X.AFTER_TRANSFORM,t));return}const v={};if(i&&Object.assign(v,this.getTranslateOptions(t)),(0,On.Z)(a)&&Object.assign(v,this.getRotateOptions(t)),(0,On.Z)(A)&&Object.assign(v,{zoom:this.getZoomOptions(t)}),h)return zs(n,new cA(X.BEFORE_ANIMATE,K.TRANSFORM,null,t)),new Promise(p=>{this.transformResolver=p,this.camera.gotoLandmark(this.createLandmark(v),Object.assign(Object.assign({},h),{onfinish:()=>{zs(n,new cA(X.AFTER_ANIMATE,K.TRANSFORM,null,t)),zs(n,new Sh(X.AFTER_TRANSFORM,t)),this.transformResolver=void 0,p()}}))});this.camera.gotoLandmark(this.createLandmark(v),{duration:0}),zs(n,new Sh(X.AFTER_TRANSFORM,t))})}fitView(t,e){return Wu(this,void 0,void 0,function*(){const[n,i,a,A]=this.padding,{when:l="always",direction:h="both"}=t||{},[v,p]=this.context.canvas.getSize(),_=v-A-i,j=p-n-a,q=this.context.canvas.getBounds(),At=this.getBBoxInViewport(q),[wt,Ot]=Yt(At),Xt=h==="x"&&wt>=_||h==="y"&&Ot>=j||h==="both"&&wt>=_&&Ot>=j;if(l==="overflow"&&!Xt)return yield this.fitCenter({animation:e});const ne=_/wt,fe=j/Ot,He=h==="x"?ne:h==="y"?fe:Math.min(ne,fe),Fn=this.getAnimation(e);Number.isFinite(He)&&(yield this.transform({mode:"relative",scale:He,translate:z(Lt(this.getCanvasCenter(),this.getBBoxInViewport(q).center),Jt(this.paddingOffset,He))},Fn))})}fitCenter(t){return Wu(this,void 0,void 0,function*(){const e=this.context.canvas.getBounds();yield this.focus(e,t)})}focusElements(t){return Wu(this,arguments,void 0,function*(e,n={}){const{element:i}=this.context;if(!i)return;const a=l=>n.shapes?l.getShape(n.shapes).getRenderBounds():l.getRenderBounds(),A=ge(e.map(l=>a(i.getElement(l))));yield this.focus(A,n)})}focus(t,e){return Wu(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(t.center),i=e.position||this.getCanvasCenter(),a=Lt(i,n);yield this.transform({mode:"relative",translate:z(a,this.paddingOffset)},e.animation)})}getBBoxInViewport(t){const{min:e,max:n}=t,{graph:i}=this.context,[a,A]=i.getViewportByCanvas(e),[l,h]=i.getViewportByCanvas(n),v=new R.mN;return v.setMinMax([a,A,0],[l,h,0]),v}isInViewport(t,e=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[A,l]=i.getCanvasByViewport([0,0]),[h,v]=i.getCanvasByViewport(a);let p=new R.mN;return p.setMinMax([A,l,0],[h,v,0]),n&&(p=Wt(p,n)),se(t)?oe(t,p):e?me(t,p):p.intersects(t)}cancelAnimation(){var t,e;!((t=this.camera.landmarks)===null||t===void 0)&&t.length&&this.camera.cancelLandmarkAnimation(),(e=this.transformResolver)===null||e===void 0||e.call(this)}}var Ja=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function l(p){try{v(n.next(p))}catch(_){A(_)}}function h(p){try{v(n.throw(p))}catch(_){A(_)}}function v(p){p.done?a(p.value):i(p.value).then(l,h)}v((n=n.apply(r,t||[])).next())})};class Oh extends Qh.Z{constructor(t){var e;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new f0},this.isCollapsingExpanding=!1,this.onResize=(0,Ga.Z)(()=>{this.resize()},300),this._setOptions(Object.assign({},Oh.defaultOptions,t),!0),this.context.graph=this,this.options.autoResize&&((e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(t){this._setOptions(t,!1)}_setOptions(t,e){if(this.updateCanvas(t),Object.assign(this.options,m0(t)),e){const{data:j}=t;j&&this.addData(j);return}const{behaviors:n,combo:i,data:a,edge:A,layout:l,node:h,plugins:v,theme:p,transforms:_}=t;n&&this.setBehaviors(n),a&&this.setData(a),h&&this.setNode(h),A&&this.setEdge(A),i&&this.setCombo(i),l&&this.setLayout(l),p&&this.setTheme(p),v&&this.setPlugins(v),_&&this.setTransforms(_)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(t,e){t&&(this.options.width=t),e&&(this.options.height=e),this.resize(t,e)}setZoomRange(t){this.options.zoomRange=t}getZoomRange(){return this.options.zoomRange}setNode(t){this.options.node=t,this.context.model.refreshData()}setEdge(t){this.options.edge=t,this.context.model.refreshData()}setCombo(t){this.options.combo=t,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(t){this.options.theme=(0,Me.Z)(t)?t(this.getTheme()):t}setLayout(t){this.options.layout=(0,Me.Z)(t)?t(this.getLayout()):t}getLayout(){return this.options.layout}setBehaviors(t){var e;this.options.behaviors=(0,Me.Z)(t)?t(this.getBehaviors()):t,(e=this.context.behavior)===null||e===void 0||e.setBehaviors(this.options.behaviors)}updateBehavior(t){this.setBehaviors(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(t){var e;this.options.plugins=(0,Me.Z)(t)?t(this.getPlugins()):t,(e=this.context.plugin)===null||e===void 0||e.setPlugins(this.options.plugins)}updatePlugin(t){this.setPlugins(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(t){return this.context.plugin.getPluginInstance(t)}setTransforms(t){var e;this.options.transforms=(0,Me.Z)(t)?t(this.getTransforms()):t,(e=this.context.transform)===null||e===void 0||e.setTransforms(this.options.transforms)}updateTransform(t){this.setTransforms(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}hasNode(t){return this.context.model.hasNode(t)}hasEdge(t){return this.context.model.hasEdge(t)}hasCombo(t){return this.context.model.hasCombo(t)}getElementData(t){return Array.isArray(t)?t.map(e=>this.context.model.getElementDataById(e)):this.context.model.getElementDataById(t)}getNodeData(t){return t===void 0?this.context.model.getNodeData():Array.isArray(t)?this.context.model.getNodeData(t):this.context.model.getNodeLikeDatum(t)}getEdgeData(t){return t===void 0?this.context.model.getEdgeData():Array.isArray(t)?this.context.model.getEdgeData(t):this.context.model.getEdgeDatum(t)}getComboData(t){return t===void 0?this.context.model.getComboData():Array.isArray(t)?this.context.model.getComboData(t):this.context.model.getNodeLikeDatum(t)}setData(t){this.context.model.setData((0,Me.Z)(t)?t(this.getData()):t)}addData(t){this.context.model.addData((0,Me.Z)(t)?t(this.getData()):t)}addNodeData(t){this.context.model.addNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}addEdgeData(t){this.context.model.addEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}addComboData(t){this.context.model.addComboData((0,Me.Z)(t)?t(this.getComboData()):t)}addChildrenData(t,e){this.context.model.addChildrenData(t,e)}updateData(t){this.context.model.updateData((0,Me.Z)(t)?t(this.getData()):t)}updateNodeData(t){this.context.model.updateNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}updateEdgeData(t){this.context.model.updateEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}updateComboData(t){this.context.model.updateComboData((0,Me.Z)(t)?t(this.getComboData()):t)}removeData(t){this.context.model.removeData((0,Me.Z)(t)?t(this.getData()):t)}removeNodeData(t){this.context.model.removeNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}removeEdgeData(t){this.context.model.removeEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}removeComboData(t){this.context.model.removeComboData((0,Me.Z)(t)?t(this.getComboData()):t)}getElementType(t){return this.context.model.getElementType(t)}getRelatedEdgesData(t,e="both"){return this.context.model.getRelatedEdgesData(t,e)}getNeighborNodesData(t){return this.context.model.getNeighborNodesData(t)}getAncestorsData(t,e){return this.context.model.getAncestorsData(t,e)}getParentData(t,e){return this.context.model.getParentData(t,e)}getChildrenData(t){return this.context.model.getChildrenData(t)}getDescendantsData(t){return this.context.model.getDescendantsData(t)}getElementDataByState(t,e){return this.context.model.getElementDataByState(t,e)}initCanvas(){return Ja(this,void 0,void 0,function*(){var t;if(this.context.canvas)return yield this.context.canvas.ready;const{container:e="container",width:n,height:i,renderer:a,cursor:A,background:l,canvas:h,devicePixelRatio:v=(t=globalThis.devicePixelRatio)!==null&&t!==void 0?t:1}=this.options;if(e instanceof Rf)this.context.canvas=e,A&&e.setCursor(A),a&&e.setRenderer(a),yield e.ready;else{const p=(0,ui.Z)(e)?document.getElementById(e):e,_=_f(p);this.emit(X.BEFORE_CANVAS_INIT,{container:p,width:n,height:i});const j=Object.assign(Object.assign({},h),{container:p,width:n||_[0],height:i||_[1],background:l,renderer:a,cursor:A,devicePixelRatio:v}),q=new Rf(j);this.context.canvas=q,yield q.ready,this.emit(X.AFTER_CANVAS_INIT,{canvas:q})}})}updateCanvas(t){var e,n;const{renderer:i,cursor:a,height:A,width:l}=t,h=this.context.canvas;h&&(i&&(this.emit(X.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),h.setRenderer(i),this.emit(X.AFTER_RENDERER_CHANGE,{renderer:i})),a&&h.setCursor(a),((0,On.Z)(l)||(0,On.Z)(A))&&this.setSize((e=l!=null?l:this.options.width)!==null&&e!==void 0?e:0,(n=A!=null?A:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new A0(this.context)),this.context.plugin||(this.context.plugin=new w0(this.context)),this.context.viewport||(this.context.viewport=new B0(this.context)),this.context.transform||(this.context.transform=new E0(this.context)),this.context.element||(this.context.element=new d0(this.context)),this.context.animation||(this.context.animation=new o0(this.context)),this.context.layout||(this.context.layout=new p0(this.context)),this.context.behavior||(this.context.behavior=new l0(this.context))}prepare(){return Ja(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(Ln("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return Ja(this,void 0,void 0,function*(){if(yield this.prepare(),zs(this,new Ns(X.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&PA(this.options.layout)){const t=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}this.rendered=!0,zs(this,new Ns(X.AFTER_RENDER))})}draw(){return Ja(this,void 0,void 0,function*(){var t;yield this.prepare(),yield(t=this.context.element.draw())===null||t===void 0?void 0:t.finished})}layout(t){return Ja(this,void 0,void 0,function*(){yield this.context.layout.postLayout(t)})}stopLayout(){this.context.layout.stopLayout()}clear(){return Ja(this,void 0,void 0,function*(){const{model:t,element:e}=this.context;t.setData({}),t.clearChanges(),e==null||e.clear()})}destroy(){var t;zs(this,new Ns(X.BEFORE_DESTROY));const{layout:e,animation:n,element:i,model:a,canvas:A,behavior:l,plugin:h}=this.context;h==null||h.destroy(),l==null||l.destroy(),e==null||e.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),A==null||A.destroy(),this.options={},this.context={},this.off(),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize),this.destroyed=!0,zs(this,new Ns(X.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(t,e){var n;const i=_f((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[t||i[0],e||i[1]];if(!this.context.canvas)return;const A=this.context.canvas.getSize();(0,w.Z)(a,A)||(zs(this,new Ns(X.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),zs(this,new Ns(X.AFTER_SIZE_CHANGE,{size:a})))}fitView(t,e){return Ja(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(t,e)})}fitCenter(t){return Ja(this,void 0,void 0,function*(){var e;yield(e=this.context.viewport)===null||e===void 0?void 0:e.fitCenter({animation:t})})}autoFit(){return Ja(this,void 0,void 0,function*(){const{autoFit:t}=this.context.options;if(t)if((0,ui.Z)(t))t==="view"?yield this.fitView():t==="center"&&(yield this.fitCenter());else{const{type:e,animation:n}=t;e==="view"?yield this.fitView(t.options,n):e==="center"&&(yield this.fitCenter(n))}})}focusElement(t,e){return Ja(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(t)?t:[t],{animation:e})})}zoomBy(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:t,origin:n},e)})}zoomTo(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:t,origin:n},e)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:t,origin:n},e)})}rotateTo(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:t,origin:n},e)})}getRotation(){return this.context.viewport.getRotation()}translateBy(t,e){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:t},e)})}translateTo(t,e){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:t},e)})}getPosition(){return Lt([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,l;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a];Object.entries(h).forEach(([p,_])=>this.context.model.translateNodeLikeBy(p,_)),yield(l=this.context.element.draw({animation:v,stage:"translate"}))===null||l===void 0?void 0:l.finished})}translateElementTo(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,l;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a];Object.entries(h).forEach(([p,_])=>this.context.model.translateNodeLikeTo(p,_)),yield(l=this.context.element.draw({animation:v,stage:"translate"}))===null||l===void 0?void 0:l.finished})}getElementPosition(t){return this.context.model.getElementPosition(t)}getElementRenderStyle(t){return(0,nf.Z)(this.context.element.getElement(t).attributes,["context"])}setElementVisibility(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,l;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a],p={nodes:[],edges:[],combos:[]};Object.entries(h).forEach(([q,At])=>{const wt=this.getElementType(q);p[`${wt}s`].push({id:q,style:{visibility:At}})});const{model:_,element:j}=this.context;_.preventUpdateNodeLikeHierarchy(()=>{_.updateData(p)}),yield(l=j.draw({animation:v,stage:"visibility"}))===null||l===void 0?void 0:l.finished})}showElement(t,e){return Ja(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),e)})}hideElement(t,e){return Ja(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),e)})}getElementVisibility(t){var e,n;const i=this.context.element.getElement(t);return(n=(e=i==null?void 0:i.style)===null||e===void 0?void 0:e.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(t,e){return Ja(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=(0,S.Z)(t)?t:{[t]:e};Object.entries(a).forEach(([h,v])=>{const p=this.getElementType(h);i[`${p}s`].push({id:h,style:{zIndex:v}})});const{model:A,element:l}=this.context;A.preventUpdateNodeLikeHierarchy(()=>A.updateData(i)),yield(n=l.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(t){return Ja(this,void 0,void 0,function*(){const e=Array.isArray(t)?t:[t],{model:n}=this.context,i={};e.map(a=>{const A=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const h=n.getAncestorsData(a,Ut).at(-1)||this.getComboData(a),v=[h,...n.getDescendantsData(be(h))],p=A-Hf(h);v.forEach(j=>{i[be(j)]=this.getElementZIndex(be(j))+p});const{internal:_}=Ur(v.map(be),j=>n.getRelatedEdgesData(j));_.forEach(j=>{const q=be(j);i[q]=this.getElementZIndex(q)+p})}else i[a]=A}),yield this.setElementZIndex(i)})}getElementZIndex(t){return Hf(this.context.model.getElementDataById(t))}setElementState(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,l;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a],p=j=>j?Array.isArray(j)?j:[j]:[],_={nodes:[],edges:[],combos:[]};Object.entries(h).forEach(([j,q])=>{const At=this.getElementType(j);_[`${At}s`].push({id:j,states:p(q)})}),this.updateData(_),yield(l=this.context.element.draw({animation:v,stage:"state"}))===null||l===void 0?void 0:l.finished})}getElementState(t){return this.context.model.getElementState(t)}getElementRenderBounds(t){return this.context.element.getElement(t).getRenderBounds()}collapseElement(t){return Ja(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(Ca(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!1});const A=i.getElementType(e);yield this.frontElement(e),this.isCollapsingExpanding=!0,i.updateData(A==="node"?{nodes:[{id:e,style:{collapsed:!0}}]}:{combos:[{id:e,style:{collapsed:!0}}]}),A==="node"?yield a.collapseNode(e,n):A==="combo"&&(yield a.collapseCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(t){return Ja(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(!Ca(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!1});const A=i.getElementType(e);this.isCollapsingExpanding=!0,i.updateData(A==="node"?{nodes:[{id:e,style:{collapsed:!1}}]}:{combos:[{id:e,style:{collapsed:!1}}]}),A==="node"?yield a.expandNode(e,n):A==="combo"&&(yield a.expandCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(t,e){const n=this.getElementType(t);n==="node"?this.updateNodeData([{id:t,style:{collapsed:e}}]):n==="combo"&&this.updateComboData([{id:t,style:{collapsed:e}}])}toDataURL(){return Ja(this,arguments,void 0,function*(t={}){return this.context.canvas.toDataURL(t)})}getCanvasByViewport(t){return this.context.canvas.getCanvasByViewport(t)}getViewportByCanvas(t){return this.context.canvas.getViewportByCanvas(t)}getClientByCanvas(t){return this.context.canvas.getClientByCanvas(t)}getCanvasByClient(t){return this.context.canvas.getCanvasByClient(t)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(t,e,n){return super.on(t,e,n)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}}Oh.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var b0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{if(l.depth=h,!l.children)return l;const{children:v}=l,p=b0(l,["children"]);return Object.assign(Object.assign({},p),{children:v.map(_=>_.id)})},getEdgeData:n=(l,h)=>({source:l.id,target:h.id}),getChildren:i=l=>l.children||[]}=t||{},a=[],A=[];return fa(r,(l,h)=>{a.push(e(l,h));const v=i(l);for(const p of v)A.push(n(l,p))},l=>i(l),"TB"),{nodes:a,edges:A}}class C0 extends zl{beforeDraw(t){const{add:e,update:n}=t,{model:i}=this.context;return[...e.edges.entries(),...n.edges.entries()].forEach(([,a])=>{zf(i,a)}),t}}const zf=(r,t)=>{const{source:e,target:n}=t,i=r.getElementDataById(e),a=r.getElementDataById(n),A=Fr(i,_=>r.getParentData(_,Ut)),l=Fr(a,_=>r.getParentData(_,Ut)),h=be(A),v=be(l),p={sourceNode:h,targetNode:v};return t.style?Object.assign(t.style,p):t.style=p,t},S0=(r,t,e)=>{const[n,i]=t,[a,A]=e;if(i===n)return a;const l=(r-n)/(i-n);return a+l*(A-a)},M0=(r,t,e)=>{const[n,i]=t,[a,A]=e,l=Math.log(r-n+1)/Math.log(i-n+1);return a+l*(A-a)},T0=(r,t,e,n=2)=>{const[i,a]=t,[A,l]=e,h=Math.pow((r-i)/(a-i),n);return A+h*(l-A)},O0=(r,t,e)=>{const[n,i]=t,[a,A]=e,l=Math.sqrt((r-n)/(i-n));return a+l*(A-a)};class Fh extends zl{constructor(t,e){super(t,(0,m.Z)({},Fh.defaultOptions,e)),this.assignSizeByCentrality=(n,i,a,A,l,h)=>{const v=[i,a],p=[A[0],l[0]],_=[A[1],l[1]],j=[A[2],l[2]],q=(At,wt)=>{if(typeof h=="function")return h(At,v,wt);switch(h){case"linear":return S0(At,v,wt);case"log":return M0(At,v,wt);case"pow":return T0(At,v,wt,2);case"sqrt":return O0(At,v,wt);default:return wt[0]}};return[q(n,p),q(n,_),q(n,j)]}}beforeDraw(t){const{model:e}=this.context,n=e.getNodeData(),i=is(this.options.maxSize),a=is(this.options.minSize),A=this.getCentralities(this.options.centrality),l=A.size>0?Math.max(...A.values()):0,h=A.size>0?Math.min(...A.values()):0;return n.forEach(v=>{var p;const _=this.assignSizeByCentrality(A.get(be(v))||0,h,l,a,i,this.options.scale),j=(p=this.context.element)===null||p===void 0?void 0:p.getElement(be(v)),q={size:_};this.assignLabelStyle(q,_,v,j),(!j||!xh(q,j.attributes))&&Xo(t,j?"update":"add","node",(0,m.Z)(v,{style:q}),!0)}),t}assignLabelStyle(t,e,n,i){var a;const A=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(t,(0,oa.Z)(A,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const l=this.getLabelSizeByNodeSize(e,1/0,Number(t.labelFontSize));Object.assign(t,{labelFontSize:l,labelLineHeight:l+Cn(t.labelPadding)})}return t}getLabelSizeByNodeSize(t,e,n){const i=Math.min(...t)/2,[a,A]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,e];return Math.min(A,Math.max(i,a))}getCentralities(t){const{model:e}=this.context,n=e.getData();if(typeof t=="function")return t(n);const i=e.getRelatedEdgesData.bind(e);return Ze(n,i,t)}}Fh.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Ih extends zl{constructor(t,e){super(t,Object.assign({},Ih.defaultOptions,e))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var t;const e=Re(this.ref),{graph:n,model:i}=this.context;(t=i.getData().nodes)===null||t===void 0||t.forEach(A=>{var l;if(be(A)===be(this.ref))return;const h=Nn(Lt(Re(A),e)),v=Math.abs(h)>Math.PI/2,p=!A.children||A.children.length===0,_=be(A),j=(l=this.context.element)===null||l===void 0?void 0:l.getElement(_);if(!j||!j.isVisible())return;const q=is(n.getElementRenderStyle(_).size)[0]/2,At=(p?1:-1)*(q+this.options.offset),wt=[["translate",At*Math.cos(h),At*Math.sin(h)],["rotate",v?(0,R.BV)(h)+180:(0,R.BV)(h)]];i.updateNodeData([{id:be(A),style:{labelTextAlign:v===p?"right":"left",labelTextBaseline:"middle",labelTransform:wt}}])}),n.draw()}}Ih.defaultOptions={offset:5};const F0="quadratic",Wf=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Lh extends zl{constructor(t,e){super(t,Object.assign({},Lh.defaultOptions,e)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:A,combos:l},remove:{edges:h}}=n,{model:v}=this.context,p=new Map,_=(At,wt)=>{v.getRelatedEdgesData(wt).forEach(Xt=>!p.has(be(Xt))&&p.set(be(Xt),Xt))};a.forEach(_),l.forEach(_);const j=At=>{const wt=new Set(n.remove.edges.keys()),Ot=v.getEdgeData().filter(Xt=>!wt.has(be(Xt))).map(Xt=>zf(v,Xt));I0(At,Ot,!0).forEach(Xt=>{const ne=be(Xt);p.has(ne)||p.set(ne,Xt)})};if(h.size&&h.forEach(j),i.size&&i.forEach(j),A.size){const At=cf(kh(v.getChanges())).update.edges;A.forEach(wt=>{var Ot;j(wt);const Xt=(Ot=At.find(ne=>be(ne.value)===be(wt)))===null||Ot===void 0?void 0:Ot.original;Xt&&!Vh(wt,Xt)&&j(Xt)})}(0,Ka.Z)(this.options.edges)||p.forEach((At,wt)=>!this.options.edges.includes(wt)&&p.delete(wt));const q=v.getEdgeData().map(be);return new Map([...p].sort((At,wt)=>q.indexOf(At[0])-q.indexOf(wt[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:A,reverses:l}=Vf(i);A.forEach(h=>{h.forEach((v,p,_)=>{var j;const q=_.length,At=v.style||{};if(v.source===v.target){const Xt=Wf.length;At.loopPlacement=Wf[p%Xt],At.loopDist=Math.floor(p/Xt)*a+50}else if(q===1)At.curveOffset=0;else{const Xt=(p%2===0?1:-1)*(l[`${v.source}|${v.target}|${p}`]?-1:1);At.curveOffset=q%2===1?Xt*Math.ceil(p/2)*a*2:Xt*(Math.floor(p/2)*a*2+a)}const wt=Object.assign(v,{type:F0,style:At}),Ot=(j=this.context.element)===null||j===void 0?void 0:j.getElement(be(v));(!Ot||!xh(wt.style,Ot.attributes))&&Xo(n,Ot?"update":"add","edge",wt,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(be(n))||{};return Object.keys(a).forEach(A=>{(0,w.Z)(i[A],a[A])&&(n[A]?i[A]=n[A]:delete i[A])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:A}=Vf(i);a.forEach(l=>{var h;if(l.length===1){const p=l[0],_=(h=this.context.element)===null||h===void 0?void 0:h.getElement(be(p)),j=this.resetEdgeStyle(p);(!_||!xh(j,_.attributes))&&Xo(n,_?"update":"add","edge",j);return}const v=l.map(({source:p,target:_,style:j={}},q)=>{const{startArrow:At,endArrow:wt}=j,Ot={},[Xt,ne]=A[`${p}|${_}|${q}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return(0,Rh.Z)(At)&&(Ot[Xt]=At),(0,Rh.Z)(wt)&&(Ot[ne]=wt),Ot}).reduce((p,_)=>Object.assign(Object.assign({},p),_),{});l.forEach((p,_,j)=>{var q;if(_!==0){Xo(n,"remove","edge",p);return}const At=Object.assign({},(0,Me.Z)(this.options.style)?this.options.style(j):this.options.style,{childrenData:j});this.cacheMergeStyle.set(be(p),At);const wt=Object.assign(Object.assign({},p),{type:"line",style:Object.assign(Object.assign(Object.assign({},p.style),v),At)}),Ot=(q=this.context.element)===null||q===void 0?void 0:q.getElement(be(p));(!Ot||!xh(wt.style,Ot.attributes))&&Xo(n,Ot?"update":"add","edge",wt,!0)})})}}beforeDraw(t){const e=this.getAffectedParallelEdges(t);return e.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(t,e,this.options.distance):this.applyMergingStyle(t,e)),t}}Lh.defaultOptions={mode:"bundle",distance:15};const Vf=r=>{const t=new Map,e=new Set,n={},i=new Map;for(const[a,A]of r){if(e.has(a))continue;const{source:l,target:h}=A,v=`${l}-${h}`;t.has(v)||(t.set(v,[]),i.set(v,new Set));const p=t.get(v),_=i.get(v);p&&_&&!_.has(a)&&(p.push(A),_.add(a),e.add(a));for(const[j,q]of r)if(!(e.has(j)||j===a)&&Vh(A,q)){const At=t.get(v),wt=i.get(v);At&&wt&&!wt.has(j)&&(At.push(q),wt.add(j),l===q.target&&h===q.source&&(n[`${q.source}|${q.target}|${At.length-1}`]=!0),e.add(j))}}return{edgeMap:t,reverses:n}},I0=(r,t,e)=>t.filter(n=>(e||be(n)!==be(r))&&Vh(n,r)),Vh=(r,t)=>{const{sourceNode:e,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=t.style||{};return e===i&&n===a||e===a&&n===i};class L0 extends zl{beforeDraw(t,e){const{stage:n}=e;if(n==="visibility")return t;const{model:i}=this.context,{update:{nodes:a,edges:A,combos:l}}=t,h=(v,p)=>{i.getRelatedEdgesData(p).forEach(j=>!A.has(be(j))&&A.set(be(j),j))};return a.forEach(h),l.forEach(h),t}}const N0={animation:{"combo-collapse":Ve,"combo-expand":ce,"node-collapse":Ft,"node-expand":Bt,"path-in":ve,"path-out":nn,fade:pe,translate:Pe},behavior:{"brush-select":ta,"click-select":Ua,"collapse-expand":LA,"create-edge":gs,"drag-canvas":co,"drag-element-force":bu,"drag-element":Wo,"fix-element-size":al,"focus-element":RA,"hover-activate":QA,"lasso-select":Fc,"auto-adapt-label":M,"optimize-viewport-transform":sl,"scroll-canvas":vA,"zoom-canvas":Bl},combo:{circle:So,rect:OA},edge:{cubic:Q,line:ht,polyline:pr,quadratic:Lr,"cubic-horizontal":k,"cubic-radial":Y,"cubic-vertical":at},layout:{"antv-dagre":rr,"combo-combined":As,"compact-box":Sl,"d3-force":qA,"force-atlas2":Xf,circular:vr,concentric:ra,dagre:AA,dendrogram:kc,fishbone:eh,force:$t,fruchterman:qf,grid:ed,indented:Ol,mds:Hi,mindmap:iA,radial:cd,random:pd,snake:nh},node:{circle:Cs,diamond:bo,ellipse:fs,hexagon:Es,html:Go,image:Do,rect:nl,star:Co,donut:hs,triangle:Ss},palette:{spectral:Ed,tableau:Bd,oranges:bd,greens:xd,blues:Cd},theme:{dark:jg,light:Yg},plugin:{"bubble-sets":ih,"edge-bundling":sh,"edge-filter-lens":oh,"grid-line":ch,background:rh,contextmenu:ah,fisheye:Ah,fullscreen:lh,history:uh,hull:gh,legend:ph,minimap:mh,snapline:yh,timebar:wh,title:Pg,toolbar:Eh,tooltip:Bh,watermark:bh},transform:{"arrange-draw-order":Xg,"collapse-expand-combo":Jg,"collapse-expand-node":$g,"get-edge-actual-ends":C0,"map-node-size":Fh,"place-radial-labels":Ih,"process-parallel-edges":Lh,"update-related-edges":L0},shape:{circle:R.Cd,ellipse:R.Pj,group:R.ZA,html:R.k9,image:Bo,line:R.x1,path:R.y$,polygon:R.mg,polyline:R.aH,rect:R.UL,text:R.xv,label:Ia,badge:ao}};function U0(){Object.entries(N0).forEach(([r,t])=>{Object.entries(t).forEach(([e,n])=>{qg(r,e,n)})})}U0();const W0={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},66623:function(gt,dt,g){"use strict";g.d(dt,{$6:function(){return c.$6},Aw:function(){return c.Aw},BB:function(){return c.BB},BV:function(){return c.BV},Cd:function(){return c.Cd},Dk:function(){return c.Dk},Ee:function(){return c.Ee},GZ:function(){return c.GZ},Pj:function(){return c.Pj},UL:function(){return c.UL},Xz:function(){return c.Xz},ZA:function(){return c.ZA},aH:function(){return c.aH},b_:function(){return c.b_},k9:function(){return c.k9},mN:function(){return c.mN},mg:function(){return c.mg},nR:function(){return c.nR},s$:function(){return c.s$},x1:function(){return c.x1},xv:function(){return c.xv},y$:function(){return c.y$}});var c=g(48981),R=g(38705),P=g(17212),U=g(96885),w=g(39153),S=g(77654),E=g(72190),L=g(70208),D=g(1933),T=g(76075),K=g(71879),Z=g(5131),tt=g(94569),V=g(60187),pt=g(92421),st=g(42244),X=g(64270),Mt=g.n(X),ft=g(85899),Ut=g(18642),jt=g(71369);var Gt=function(an){function re(Ae,te,_e,on){var Pn;return(0,R.Z)(this,re),Pn=(0,U.Z)(this,re,[Ae]),Pn.currentTime=_e,Pn.timelineTime=on,Pn.target=te,Pn.type="finish",Pn.bubbles=!1,Pn.currentTarget=te,Pn.defaultPrevented=!1,Pn.eventPhase=Pn.AT_TARGET,Pn.timeStamp=Date.now(),Pn.currentTime=_e,Pn.timelineTime=on,Pn}return(0,w.Z)(re,an),(0,P.Z)(re)}(c.xA),Oe=0,de=function(){function an(re,Ae){var te;(0,R.Z)(this,an),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=re,re.animation=this,this.timeline=Ae,this.id="".concat(Oe++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((te=this.effect)===null||te===void 0?void 0:te.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,P.Z)(an,[{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 Ae=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(te,_e){Ae.resolveReadyPromise=function(){te(Ae)},Ae.rejectReadyPromise=function(){_e(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var Ae=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(te,_e){Ae.resolveFinishedPromise=function(){te(Ae)},Ae.rejectFinishedPromise=function(){_e(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(Ae){if(Ae=Number(Ae),!isNaN(Ae)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var te;this._startTime=Number((te=this.timeline)===null||te===void 0?void 0:te.currentTime)-Ae/this.playbackRate}this.currentTimePending=!1,this._currentTime!==Ae&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(Ae,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(Ae){if(Ae!==null){if(this.updatePromises(),Ae=Number(Ae),isNaN(Ae)||this._paused||this._idle)return;this._startTime=Ae,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(Ae){if(Ae!==this._playbackRate){this.updatePromises();var te=this.currentTime;this._playbackRate=Ae,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),te!==null&&(this.currentTime=te),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 Ae;if((Ae=this.effect.target)!==null&&Ae!==void 0&&Ae.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var te=this.oldPlayState,_e=this.pending?"pending":this.playState;return this.readyPromise&&_e!==te&&(_e==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):te==="pending"?this.resolveReadyPromise():_e==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&_e!==te&&(_e==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):_e==="finished"?this.resolveFinishedPromise():te==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=_e,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 Ae=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=null,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var te=new Gt(null,this,this.currentTime,null);setTimeout(function(){Ae.oncancel(te)})}}},{key:"reverse",value:function(){this.updatePromises();var Ae=this.currentTime;this.playbackRate*=-1,this.play(),Ae!==null&&(this.currentTime=Ae),this.updatePromises()}},{key:"updatePlaybackRate",value:function(Ae){this.playbackRate=Ae}},{key:"targetAnimations",value:function(){var Ae,te=(Ae=this.effect)===null||Ae===void 0?void 0:Ae.target;return te.getAnimations()}},{key:"markTarget",value:function(){var Ae=this.targetAnimations();Ae.indexOf(this)===-1&&Ae.push(this)}},{key:"unmarkTarget",value:function(){var Ae=this.targetAnimations(),te=Ae.indexOf(this);te!==-1&&Ae.splice(te,1)}},{key:"tick",value:function(Ae,te){!this._idle&&!this._paused&&(this._startTime===null?te&&(this.startTime=Ae-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((Ae-this._startTime)*this.playbackRate)),te&&(this.currentTimePending=!1,this.fireEvents(Ae))}},{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(c.jf)}},{key:"addEventListener",value:function(Ae,te,_e){throw new Error(c.jf)}},{key:"removeEventListener",value:function(Ae,te,_e){throw new Error(c.jf)}},{key:"dispatchEvent",value:function(Ae){throw new Error(c.jf)}},{key:"commitStyles",value:function(){throw new Error(c.jf)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var Ae;this._inEffect=!!((Ae=this.effect)!==null&&Ae!==void 0&&Ae.update(-1))}else{var te;this._inEffect=!!((te=this.effect)!==null&&te!==void 0&&te.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(Ae,te){Ae!==this._currentTime&&(this._currentTime=Ae,this._isFinished&&!te&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(Ae){var te=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var _e=new Gt(null,this,this.currentTime,Ae);setTimeout(function(){te.onfinish&&te.onfinish(_e)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var on=new Gt(null,this,this.currentTime,Ae);this.onframe(on)}this._finishedFlag=!1}}}])}(),sn=4,Be=.001,En=1e-7,Ln=10,wn=11,Rn=1/(wn-1),or=typeof Float32Array=="function",pn=function(re,Ae){return 1-3*Ae+3*re},zn=function(re,Ae){return 3*Ae-6*re},Pt=function(re){return 3*re},Se=function(re,Ae,te){return((pn(Ae,te)*re+zn(Ae,te))*re+Pt(Ae))*re},Un=function(re,Ae,te){return 3*pn(Ae,te)*re*re+2*zn(Ae,te)*re+Pt(Ae)},On=function(re,Ae,te,_e,on){var Pn,jn,qn=0;do jn=Ae+(te-Ae)/2,Pn=Se(jn,_e,on)-re,Pn>0?te=jn:Ae=jn;while(Math.abs(Pn)>En&&++qn=0&&re<=1&&te>=0&&te<=1))throw new Error("bezier x values must be in [0, 1] range");if(re===Ae&&te===_e)return function(qn){return qn};for(var on=or?new Float32Array(wn):new Array(wn),Pn=0;Pn=Be?ze(xr,Ci,re,te):di===0?Ci:On(xr,Mr,Mr+Rn,re,te)};return function(qn){return qn===0||qn===1?qn:Se(jn(qn),Ae,_e)}},ln=function(re){return re=re.replace(/([A-Z])/g,function(Ae){return"-".concat(Ae.toLowerCase())}),re.charAt(0)==="-"?re.substring(1):re},pe=function(re){return Math.pow(re,2)},Pe=function(re){return Math.pow(re,3)},Ft=function(re){return Math.pow(re,4)},Bt=function(re){return Math.pow(re,5)},ve=function(re){return Math.pow(re,6)},nn=function(re){return 1-Math.cos(re*Math.PI/2)},Ve=function(re){return 1-Math.sqrt(1-re*re)},ce=function(re){return re*re*(3*re-2)},We=function(re){for(var Ae,te=4;re<((Ae=Math.pow(2,--te))-1)/11;);return 1/Math.pow(4,3-te)-7.5625*Math.pow((Ae*3-2)/22-re,2)},Me=function(re){var Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=(0,E.Z)(Ae,2),_e=te[0],on=_e===void 0?1:_e,Pn=te[1],jn=Pn===void 0?.5:Pn,qn=(0,L.Z)(Number(on),1,10),xr=(0,L.Z)(Number(jn),.1,2);return re===0||re===1?re:-qn*Math.pow(2,10*(re-1))*Math.sin((re-1-xr/(Math.PI*2)*Math.asin(1/qn))*(Math.PI*2)/xr)},kt=function(re){var Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=arguments.length>2?arguments[2]:void 0,_e=(0,E.Z)(Ae,4),on=_e[0],Pn=on===void 0?1:on,jn=_e[1],qn=jn===void 0?100:jn,xr=_e[2],Mr=xr===void 0?10:xr,_r=_e[3],zr=_r===void 0?0:_r;Pn=(0,L.Z)(Pn,.1,1e3),qn=(0,L.Z)(qn,.1,1e3),Mr=(0,L.Z)(Mr,.1,1e3),zr=(0,L.Z)(zr,.1,1e3);var pi=Math.sqrt(qn/Pn),Ci=Mr/(2*Math.sqrt(qn*Pn)),di=Ci<1?pi*Math.sqrt(1-Ci*Ci):0,ui=1,Jn=Ci<1?(Ci*pi+-zr)/di:-zr+pi,Ri=te?te*re/1e3:re;return Ci<1?Ri=Math.exp(-Ri*Ci*pi)*(ui*Math.cos(di*Ri)+Jn*Math.sin(di*Ri)):Ri=(ui+Jn*Ri)*Math.exp(-Ri*pi),re===0||re===1?re:1-Ri},ae=function(re){var Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=Ae,_e=(0,E.Z)(te,2),on=_e[0],Pn=on===void 0?10:on,jn=_e[1],qn=jn==="start"?Math.ceil:Math.floor;return qn((0,L.Z)(re,0,1)*Pn)/Pn},Ie=function(re){var Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],te=(0,E.Z)(Ae,4),_e=te[0],on=te[1],Pn=te[2],jn=te[3];return tn(_e,on,Pn,jn)(re)},F=tn(.42,0,1,1),rt=function(re){return function(Ae){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_e=arguments.length>2?arguments[2]:void 0;return 1-re(1-Ae,te,_e)}},ue=function(re){return function(Ae){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_e=arguments.length>2?arguments[2]:void 0;return Ae<.5?re(Ae*2,te,_e)/2:1-re(Ae*-2+2,te,_e)/2}},se=function(re){return function(Ae){var te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_e=arguments.length>2?arguments[2]:void 0;return Ae<.5?(1-re(1-Ae*2,te,_e))/2:(re(Ae*2-1,te,_e)+1)/2}},je={steps:ae,"step-start":function(re){return ae(re,[1,"start"])},"step-end":function(re){return ae(re,[1,"end"])},linear:function(re){return re},"cubic-bezier":Ie,ease:function(re){return Ie(re,[.25,.1,.25,1])},in:F,out:rt(F),"in-out":ue(F),"out-in":se(F),"in-quad":pe,"out-quad":rt(pe),"in-out-quad":ue(pe),"out-in-quad":se(pe),"in-cubic":Pe,"out-cubic":rt(Pe),"in-out-cubic":ue(Pe),"out-in-cubic":se(Pe),"in-quart":Ft,"out-quart":rt(Ft),"in-out-quart":ue(Ft),"out-in-quart":se(Ft),"in-quint":Bt,"out-quint":rt(Bt),"in-out-quint":ue(Bt),"out-in-quint":se(Bt),"in-expo":ve,"out-expo":rt(ve),"in-out-expo":ue(ve),"out-in-expo":se(ve),"in-sine":nn,"out-sine":rt(nn),"in-out-sine":ue(nn),"out-in-sine":se(nn),"in-circ":Ve,"out-circ":rt(Ve),"in-out-circ":ue(Ve),"out-in-circ":se(Ve),"in-back":ce,"out-back":rt(ce),"in-out-back":ue(ce),"out-in-back":se(ce),"in-bounce":We,"out-bounce":rt(We),"in-out-bounce":ue(We),"out-in-bounce":se(We),"in-elastic":Me,"out-elastic":rt(Me),"in-out-elastic":ue(Me),"out-in-elastic":se(Me),spring:kt,"spring-in":kt,"spring-out":rt(kt),"spring-in-out":ue(kt),"spring-out-in":se(kt)},Ke=function(re){return ln(re).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},Cn=function(re){return je[Ke(re)]||je.linear},bt=function(re){return re},nt=1,Nt=.5,Yt=0;function It(an,re){return function(Ae){if(Ae>=1)return 1;var te=1/an;return Ae+=re*te,Ae-Ae%te}}var Qt="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",Wt=new RegExp("cubic-bezier\\(".concat(Qt,",").concat(Qt,",").concat(Qt,",").concat(Qt,"\\)")),ge=/steps\(\s*(\d+)\s*\)/,me=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function oe(an){var re=Wt.exec(an);if(re)return tn.apply(void 0,(0,S.Z)(re.slice(1).map(Number)));var Ae=ge.exec(an);if(Ae)return It(Number(Ae[1]),Yt);var te=me.exec(an);return te?It(Number(te[1]),{start:nt,middle:Nt,end:Yt}[te[2]]):Cn(an)}function Ge(an){return Math.abs(fn(an)/(an.playbackRate||1))}function fn(an){var re;return an.duration===0||an.iterations===0?0:(an.duration==="auto"?0:Number(an.duration))*((re=an.iterations)!==null&&re!==void 0?re:1)}var An=0,Qn=1,Yn=2,Vn=3;function Nr(an,re,Ae){if(re===null)return An;var te=Ae.endTime;return re=Math.min(Ae.delay+an+Ae.endDelay,te)?Yn:Vn}function ur(an,re,Ae,te,_e){switch(te){case Qn:return re==="backwards"||re==="both"?0:null;case Vn:return Ae-_e;case Yn:return re==="forwards"||re==="both"?an:null;case An:return null}}function yr(an,re,Ae,te,_e){var on=_e;return an===0?re!==Qn&&(on+=Ae):on+=te/an,on}function be(an,re,Ae,te,_e,on){var Pn=an===1/0?re%1:an%1;return Pn===0&&Ae===Yn&&te!==0&&(_e!==0||on===0)&&(Pn=1),Pn}function ri(an,re,Ae,te){return an===Yn&&re===1/0?1/0:Ae===1?Math.floor(te)-1:Math.floor(te)}function mr(an,re,Ae){var te=an;if(an!=="normal"&&an!=="reverse"){var _e=re;an==="alternate-reverse"&&(_e+=1),te="normal",_e!==1/0&&_e%2!==0&&(te="reverse")}return te==="normal"?Ae:1-Ae}function Ze(an,re,Ae){var te=Nr(an,re,Ae),_e=ur(an,Ae.fill,re,te,Ae.delay);if(_e===null)return null;var on=Ae.duration==="auto"?0:Ae.duration,Pn=yr(on,te,Ae.iterations,_e,Ae.iterationStart),jn=be(Pn,Ae.iterationStart,te,Ae.iterations,_e,on),qn=ri(te,Ae.iterations,jn,Pn),xr=mr(Ae.direction,qn,jn);return Ae.currentIteration=qn,Ae.progress=xr,Ae.easingFunction(xr)}function Ce(an,re,Ae){var te=Dt(an,re),_e=Zt(te,Ae);return function(on,Pn){if(Pn!==null)_e.filter(function(qn){return Pn>=qn.applyFrom&&Pn1)throw new Error("Keyframe offsets must be between 0 and 1.");xr.computedOffset=_r}}else if(Mr==="composite"&&["replace","add","accumulate","auto"].indexOf(_r)===-1)throw new Error("".concat(_r," compositing is not supported"));xr[Mr]=_r}return xr.offset===void 0&&(xr.offset=null),xr.easing===void 0&&(xr.easing=(re==null?void 0:re.easing)||"linear"),xr.composite===void 0&&(xr.composite="auto"),xr}),te=!0,_e=-1/0,on=0;on=0&&Number(qn.offset)<=1});function jn(){var qn,xr=Ae,Mr=xr.length;if(Ae[Mr-1].computedOffset=Number((qn=Ae[Mr-1].offset)!==null&&qn!==void 0?qn:1),Mr>1){var _r;Ae[0].computedOffset=Number((_r=Ae[0].offset)!==null&&_r!==void 0?_r:0)}for(var zr=0,pi=Number(Ae[0].computedOffset),Ci=1;Ci90)return this;this.computeMatrix()}return this._getAxes(),this.type===c.iM.ORBITING||this.type===c.iM.EXPLORING?this._getPosition():this.type===c.iM.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(te,_e){var on=(0,c.O4)(te,_e,0),Pn=pt.d9(this.position);return pt.IH(Pn,Pn,pt.bA(pt.Ue(),this.right,on[0])),pt.IH(Pn,Pn,pt.bA(pt.Ue(),this.up,on[1])),this._setPosition(Pn),this.triggerUpdate(),this}},{key:"dolly",value:function(te){var _e=this.forward,on=pt.d9(this.position),Pn=te*this.dollyingStep,jn=this.distance+te*this.dollyingStep;return Pn=Math.max(Math.min(jn,this.maxDistance),this.minDistance)-this.distance,on[0]+=Pn*_e[0],on[1]+=Pn*_e[1],on[2]+=Pn*_e[2],this._setPosition(on),this.type===c.iM.ORBITING||this.type===c.iM.EXPLORING?this._getDistance():this.type===c.iM.TRACKING&&pt.IH(this.focalPoint,on,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(te){var _e,on,Pn,jn,qn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},xr=qn.position,Mr=xr===void 0?this.position:xr,_r=qn.focalPoint,zr=_r===void 0?this.focalPoint:_r,pi=qn.roll,Ci=qn.zoom,di=new c.GZ.CameraContribution;di.setType(this.type,void 0),di.setPosition(Mr[0],(_e=Mr[1])!==null&&_e!==void 0?_e:this.position[1],(on=Mr[2])!==null&&on!==void 0?on:this.position[2]),di.setFocalPoint(zr[0],(Pn=zr[1])!==null&&Pn!==void 0?Pn:this.focalPoint[1],(jn=zr[2])!==null&&jn!==void 0?jn:this.focalPoint[2]),di.setRoll(pi!=null?pi:this.roll),di.setZoom(Ci!=null?Ci:this.zoom);var ui={name:te,matrix:V.clone(di.getWorldTransform()),right:pt.d9(di.right),up:pt.d9(di.up),forward:pt.d9(di.forward),position:pt.d9(di.getPosition()),focalPoint:pt.d9(di.getFocalPoint()),distanceVector:pt.d9(di.getDistanceVector()),distance:di.getDistance(),dollyingStep:di.getDollyingStep(),azimuth:di.getAzimuth(),elevation:di.getElevation(),roll:di.getRoll(),relAzimuth:di.relAzimuth,relElevation:di.relElevation,relRoll:di.relRoll,zoom:di.getZoom()};return this.landmarks.push(ui),ui}},{key:"gotoLandmark",value:function(te){var _e=this,on=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Pn=(0,K.Z)(te)?this.landmarks.find(function(cs){return cs.name===te}):te;if(Pn){var jn=(0,D.Z)(on)?{duration:on}:on,qn=jn.easing,xr=qn===void 0?"linear":qn,Mr=jn.duration,_r=Mr===void 0?100:Mr,zr=jn.easingFunction,pi=zr===void 0?void 0:zr,Ci=jn.onfinish,di=Ci===void 0?void 0:Ci,ui=jn.onframe,Jn=ui===void 0?void 0:ui,Ri=.01;this.cancelLandmarkAnimation();var Xi=Pn.position,ta=Pn.focalPoint,la=Pn.zoom,Ki=Pn.roll,Ba=pi||c.GZ.EasingFunction(xr),fa,da=function(){_e.setFocalPoint(ta),_e.setPosition(Xi),_e.setRoll(Ki),_e.setZoom(la),_e.computeMatrix(),_e.triggerUpdate(),di==null||di()};if(_r===0)return da();var bs=function(ga){fa===void 0&&(fa=ga);var us=ga-fa;if(us>=_r){da();return}var Ua=Ba(us/_r),Ca=pt.Ue(),$a=pt.Ue(),no=1,ro=0;pt.t7(Ca,_e.focalPoint,ta,Ua),pt.t7($a,_e.position,Xi,Ua),ro=_e.roll*(1-Ua)+Ki*Ua,no=_e.zoom*(1-Ua)+la*Ua,_e.setFocalPoint(Ca),_e.setPosition($a),_e.setRoll(ro),_e.setZoom(no);var Is=pt.TK(Ca,ta)+pt.TK($a,Xi);if(Is<=Ri&&la===void 0&&Ki===void 0)return da();_e.computeMatrix(),_e.triggerUpdate(),us<_r&&(Jn==null||Jn(Ua),_e.landmarkAnimationID=_e.canvas.requestAnimationFrame(bs))};this.canvas.requestAnimationFrame(bs)}}}])}(c.V1);c.GZ.CameraContribution=Rt;var Jt=null,qt=null;function en(an,re,Ae){var te=an+re;return Ae?te*2:te}function vt(an,re){var Ae=re?[[an*.25,an*.25],[an*.75,an*.75]]:[[an*.5,an*.5]];return Ae}var mt={size:6,padding:2,backgroundColor:"transparent",opacity:1,fill:"#fff",fillOpacity:1,stroke:"transparent",strokeOpacity:1,lineWidth:0,isStagger:!0};function ct(an){var re=_objectSpread(_objectSpread({},mt),an),Ae=re.size,te=re.padding,_e=re.isStagger,on=re.backgroundColor,Pn=re.backgroundOpacity,jn=re.opacity,qn=re.fill,xr=re.fillOpacity,Mr=re.lineWidth,_r=re.stroke,zr=re.strokeOpacity,pi=en(Ae,te,_e),Ci=vt(pi,_e),di=new Rect({style:{width:pi,height:pi,fill:on,opacity:1,fillOpacity:Pn}}),ui=_createForOfIteratorHelper(Ci),Jn;try{for(ui.s();!(Jn=ui.n()).done;){var Ri=_slicedToArray(Jn.value,2),Xi=Ri[0],ta=Ri[1],la=new Circle({style:{opacity:jn,fill:qn,fillOpacity:xr,cx:Xi,cy:ta,r:Ae/2,lineWidth:Mr,stroke:_r,strokeOpacity:zr}});di.appendChild(la)}}catch(Ki){ui.e(Ki)}finally{ui.f()}return di}var xt={spacing:5,opacity:1,backgroundColor:"transparent",backgroundOpacity:1,strokeOpacity:1,stroke:"#fff",lineWidth:2};function zt(an){var re=_objectSpread(_objectSpread({},xt),an),Ae=re.spacing,te=re.lineWidth,_e=re.backgroundColor,on=re.backgroundOpacity,Pn=re.opacity,jn=re.stroke,qn=re.strokeOpacity,xr=Ae+te||1,Mr=Ae+te||1,_r=` + M 0 0 L `.concat(xr,` 0 + M 0 `).concat(Mr," L ").concat(xr," ").concat(Mr,` + `),zr=new Rect({style:{width:xr,height:Mr,fill:_e,opacity:1,fillOpacity:on}}),pi=new Path({style:{d:_r,opacity:Pn,stroke:jn,strokeOpacity:qn,fillOpacity:1,lineWidth:te}});return zr.appendChild(pi),zr}var Fe={size:6,padding:1,isStagger:!0,backgroundColor:"transparent",opacity:1,fill:"#fff",fillOpacity:1,stroke:"transparent",lineWidth:0};function Vt(an){var re=_objectSpread(_objectSpread({},Fe),an),Ae=re.size,te=re.padding,_e=re.isStagger,on=re.backgroundColor,Pn=re.backgroundOpacity,jn=re.opacity,qn=re.fill,xr=re.fillOpacity,Mr=re.stroke,_r=re.strokeOpacity,zr=re.lineWidth,pi=en(Ae,te,_e),Ci=vt(pi,_e),di=new Rect({style:{width:pi,height:pi,fill:on,opacity:1,fillOpacity:Pn}}),ui=_createForOfIteratorHelper(Ci),Jn;try{for(ui.s();!(Jn=ui.n()).done;){var Ri=_slicedToArray(Jn.value,2),Xi=Ri[0],ta=Ri[1],la=new Rect({style:{opacity:jn,fill:qn,fillOpacity:xr,x:Xi-Ae/2,y:ta-Ae/2,width:Ae,height:Ae,lineWidth:zr,stroke:Mr,strokeOpacity:_r}});di.appendChild(la)}}catch(Ki){ui.e(Ki)}finally{ui.f()}return di}var Te=["body","startHead","endHead","startHeadOffset","endHeadOffset"],Je=["body","startHead","endHead","startHeadOffset","endHeadOffset"],Sn=["body","startHead","endHead","startHeadOffset","endHeadOffset"],Nn=function(an){function re(Ae){var te;(0,R.Z)(this,re),te=(0,U.Z)(this,re,[(0,ft.Z)((0,ft.Z)({},Ae),{},{type:re.tag})]);var _e=te.attributes,on=_e.body,Pn=_e.startHead,jn=_e.endHead;_e.startHeadOffset,_e.endHeadOffset;var qn=(0,st.Z)(_e,Te);if(!on)throw new Error("Arrow's body is required");return te.body=on,te.appendChild(te.body),te.handleBodyAttributeChanged(te.body),Pn&&te.appendArrowHead(te.getArrowHeadType(Pn),!0),jn&&te.appendArrowHead(te.getArrowHeadType(jn),!1),te.applyArrowStyle(qn,[te.body,te.startHead,te.endHead]),te}return(0,w.Z)(re,an),(0,P.Z)(re,[{key:"handleBodyAttributeChanged",value:function(te){var _e=this;te.addEventListener(c.Dk.ATTR_MODIFIED,function(on){var Pn=on.attrName;Pn==="x1"||Pn==="y1"?_e.startHead&&_e.transformArrowHead(_e.startHead,!0):(Pn==="x2"||Pn==="y2")&&_e.endHead&&_e.transformArrowHead(_e.endHead,!1)})}},{key:"getBody",value:function(){return this.body}},{key:"getStartHead",value:function(){return this.startHead}},{key:"getEndHead",value:function(){return this.endHead}},{key:"attributeChangedCallback",value:function(te,_e,on){if(te==="opacity"||te==="strokeOpacity"||te==="stroke"||te==="lineWidth"||te==="increasedLineWidthForHitTesting")this.applyArrowStyle((0,Ut.Z)({},te,on),[this.body,this.startHead,this.endHead]);else if(te==="startHead"||te==="endHead"){var Pn=te==="startHead";if(this.destroyArrowHead(Pn),on){var jn=this.attributes;jn.body,jn.startHead,jn.endHead,jn.startHeadOffset,jn.endHeadOffset;var qn=(0,st.Z)(jn,Je);this.appendArrowHead(this.getArrowHeadType(on),Pn),this.applyArrowStyle(qn,[Pn?this.startHead:this.endHead])}}else if(te==="body"){var xr=this.attributes;xr.body,xr.startHead,xr.endHead,xr.startHeadOffset,xr.endHeadOffset;var Mr=(0,st.Z)(xr,Sn);this.body.destroy(),this.body=on,this.appendChild(this.body),this.applyArrowStyle(Mr,[this.body])}else te==="startHeadOffset"?this.moveArrowHeadAlongTangent(on,!0):te==="endHeadOffset"&&this.moveArrowHeadAlongTangent(on,!1)}},{key:"getArrowHeadType",value:function(te){return typeof te=="boolean"?"default":"custom"}},{key:"appendArrowHead",value:function(te,_e){var on;te==="default"?on=this.createDefaultArrowHead():on=_e?this.attributes.startHead:this.attributes.endHead,this.transformArrowHead(on,_e),on.setAttribute("zIndex",1),_e?this.startHead=on:this.endHead=on,this.appendChild(on);var Pn=_e?this.attributes.startHeadOffset:this.attributes.endHeadOffset;Pn&&this.moveArrowHeadAlongTangent(Pn,_e)}},{key:"transformArrowHead",value:function(te,_e){var on=pt.Ue(),Pn=0,jn=0,qn=0,xr=0,Mr=0,_r=this.body&&this.body.nodeName;if(_r===c.bn.LINE){var zr=this.body.attributes,pi=zr.x1,Ci=zr.x2,di=zr.y1,ui=zr.y2;jn=_e?Ci:pi,qn=_e?pi:Ci,xr=_e?ui:di,Mr=_e?di:ui}else if(_r===c.bn.POLYLINE){var Jn=this.body.attributes.points,Ri=Jn.length;jn=_e?Jn[1][0]:Jn[Ri-2][0],xr=_e?Jn[1][1]:Jn[Ri-2][1],qn=_e?Jn[0][0]:Jn[Ri-1][0],Mr=_e?Jn[0][1]:Jn[Ri-1][1]}else if(_r===c.bn.PATH){var Xi=this.getTangent(this.body,_e),ta=(0,E.Z)(Xi,2),la=ta[0],Ki=ta[1];jn=la[0],xr=la[1],qn=Ki[0],Mr=Ki[1]}var Ba=jn-qn,fa=xr-Mr;Pn=Math.atan2(fa,Ba),on=pt.al(qn,Mr,0),_e?(this.startHeadPosition=on,this.startHeadRad=Pn):(this.endHeadPosition=on,this.endHeadRad=Pn),te.setLocalPosition(on),te.setLocalEulerAngles(Pn*180/Math.PI+te.getLocalEulerAngles())}},{key:"moveArrowHeadAlongTangent",value:function(te,_e){var on=_e?this.startHead:this.endHead;on&&on.setLocalPosition(pt.lu(pt.Ue(),_e?this.startHeadPosition:this.endHeadPosition,pt.al(Math.cos(_e?this.startHeadRad:this.endHeadRad)*te,Math.sin(_e?this.startHeadRad:this.endHeadRad)*te,0))),this.body}},{key:"destroyArrowHead",value:function(te){te&&this.startHead&&(this.startHead.destroy(),this.startHead=void 0),!te&&this.endHead&&(this.endHead.destroy(),this.endHead=void 0)}},{key:"getTangent",value:function(te,_e){return _e?te.getStartTangent():te.getEndTangent()}},{key:"createDefaultArrowHead",value:function(){var te=this.attributes,_e=te.stroke,on=te.lineWidth,Pn=Math.sin,jn=Math.cos,qn=Math.PI,xr=10*jn(qn/6);return new c.y$({style:{d:"M".concat(xr/2,",").concat(10*Pn(qn/6)," L-").concat(xr/2,",0 L").concat(xr/2,",-").concat(10*Pn(qn/6)),stroke:_e,lineWidth:on,transformOrigin:"center"}})}},{key:"applyArrowStyle",value:function(te,_e){var on=te.opacity,Pn=te.stroke,jn=te.strokeOpacity,qn=te.lineWidth,xr=te.increasedLineWidthForHitTesting;_e.forEach(function(Mr){Mr&&((0,T.Z)(on)||(Mr.style.opacity=on),(0,T.Z)(Pn)||(Mr.style.stroke=Pn),(0,T.Z)(jn)||(Mr.style.strokeOpacity=jn),(0,T.Z)(qn)||(Mr.style.lineWidth=qn),(0,T.Z)(xr)||(Mr.style.increasedLineWidthForHitTesting=xr))})}}])}(c.b_);Nn.tag="arrow",Nn.PARSED_STYLE_LIST=new Set([].concat((0,S.Z)(c.b_.PARSED_STYLE_LIST),["body","startHead","endHead","startHeadOffset","endHeadOffset","stroke","lineWidth","opacity","strokeOpacity"]));var er=Math.PI,kn=er*2,Wn=Math.sin,dr=Math.cos,Re=Math.acos,Bn=Math.atan2,ar=Math.sqrt,Gn=Math.max,kr=Math.min,Qr=1e-4,Cr=[{name:"sr",inherits:!1,interpolable:!0,syntax:c.h0.LENGTH_PERCENTAGE},{name:"sr0",inherits:!1,interpolable:!0,syntax:c.h0.LENGTH_PERCENTAGE},{name:"startAngle",inherits:!1,interpolable:!0,syntax:c.h0.ANGLE},{name:"endAngle",inherits:!1,interpolable:!0,syntax:c.h0.ANGLE}];Cr.forEach(function(an){c.ux.registerProperty(an)});var br=function(re,Ae,te,_e){return{x:re+te*Math.cos(_e),y:Ae+te*Math.sin(_e)}};function ei(an,re,Ae,te,_e,on,Pn,jn){var qn=Ae-an,xr=te-re,Mr=Pn-_e,_r=jn-on,zr=_r*qn-Mr*xr;if(!(zr*zrUa*Ua+Ca*Ca&&(fa=bs,da=cs),{cx:fa,cy:da,x0:-Mr,y0:-_r,x1:fa*(_e/la-1),y1:da*(_e/la-1)}}function Yr(an,re){return re=re<0&&an>=0?re+kn:re,re-an<=er?0:1}var mi=function(an){function re(Ae){var te;return(0,R.Z)(this,re),te=(0,U.Z)(this,re,[Ae]),te.updatePath(),te}return(0,w.Z)(re,an),(0,P.Z)(re,[{key:"setAttribute",value:function(te,_e,on){(0,jt.Z)(re,"setAttribute",this,3)([te,_e,on]),["startAngle","endAngle","sr","sr0","radius"].indexOf(te)>-1&&this.updatePath()}},{key:"updatePath",value:function(){var te=this.parsedStyle,_e=te.x,on=te.y,Pn=te.startAngle,jn=te.endAngle,qn=te.sr,xr=te.sr0,Mr=te.radius,_r=this.createPath(_e,on,Pn?(0,c.Vl)(Pn):0,jn?(0,c.Vl)(jn):Math.PI*2,qn||0,xr||0,Mr||[0,0,0,0]);(0,jt.Z)(re,"setAttribute",this,3)(["d",_r])}},{key:"createPath",value:function(te,_e,on,Pn,jn,qn,xr){if(!(jn<=0)){var Mr=br(te,_e,jn,on),_r=br(te,_e,jn,Pn),zr=br(te,_e,qn,on),pi=br(te,_e,qn,Pn);if((0,Z.Z)(Pn-on,Math.PI*2)){var Ci=br(te,_e,jn,on+Math.PI),di=br(te,_e,qn,on+Math.PI),ui=[["M",Mr.x,Mr.y],["A",jn,jn,0,1,1,Ci.x,Ci.y],["A",jn,jn,0,1,1,_r.x,_r.y],["M",zr.x,zr.y]];return qn&&(ui.push(["A",qn,qn,0,1,0,di.x,di.y]),ui.push(["A",qn,qn,0,1,0,pi.x,pi.y])),ui.push(["M",Mr.x,Mr.y]),ui.push(["Z"]),ui}var Jn=Pn-on,Ri=jn*dr(on),Xi=jn*Wn(on),ta=qn*dr(Pn),la=qn*Wn(Pn),Ki=jn*dr(Pn),Ba=jn*Wn(Pn),fa=qn*dr(on),da=qn*Wn(on),bs=(0,E.Z)(xr,4),cs=bs[0],ga=bs[1],us=bs[2],Ua=bs[3],Ca=(jn-qn)/2,$a=kr(Ca,cs),no=kr(Ca,ga),ro=kr(Ca,us),Is=kr(Ca,Ua),Ws=Gn($a,no),Ds=Gn(ro,Is),Gi=Ws,ka=Ds;if((Ws>Qr||Ds>Qr)&&JnQr){var fo=kr(cs,Gi),Wa=kr(ga,Gi),qa=wr(fa,da,Ri,Xi,jn,fo,xs),Wi=wr(Ki,Ba,ta,la,jn,Wa,xs);if(ua.push(["M",te+qa.cx+qa.x0,_e+qa.cy+qa.y0]),Gi0){var js=Bn(qa.y0,qa.x0),aa=Bn(qa.y1,qa.x1),Or=br(te,_e,jn,aa);ua.push(["A",fo,fo,0,Yr(js,aa),1,Or.x,Or.y])}var Ia=Bn(qa.cy+qa.y1,qa.cx+qa.x1),ao=Bn(Wi.cy+Wi.y1,Wi.cx+Wi.x1),Jo=br(te,_e,jn,ao);if(ua.push(["A",jn,jn,0,Yr(Ia,ao),1,Jo.x,Jo.y]),Wa>0){var $o=Bn(Wi.y1,Wi.x1),Qs=Bn(Wi.y0,Wi.x0);ua.push(["A",Wa,Wa,0,Yr($o,Qs),1,te+Wi.cx+Wi.x0,_e+Wi.cy+Wi.y0])}}}else ua.push(["M",Mr.x,Mr.y]),ua.push(["A",jn,jn,0,Vs,1,_r.x,_r.y]);if(qnQr){var so=kr(Ua,ka),oo=kr(us,ka),Sa=wr(ta,la,0,0,qn-jn,oo,xs),Pa=wr(0,0,fa,da,qn-jn,so,xs);if(ua.push(["L",te+Sa.cx+Sa.x0,_e+Sa.cy+Sa.y0]),ka0){var Bo=Bn(Sa.y0,Sa.x0),Va=Bn(Sa.y1,Sa.x1),Da=br(te,_e,qn-jn,Va);ua.push(["A",oo,oo,0,Yr(Bo,Va),1,Da.x,Da.y])}var as=Bn(Sa.cy+Sa.y1,Sa.cx+Sa.x1),ws=Bn(Pa.cy+Pa.y1,Pa.cx+Pa.x1),sa=br(te,_e,qn,ws);if(ua.push(["A",qn,qn,0,Yr(ws,as),0,sa.x,sa.y]),ua.push(["L",sa.x,sa.y]),so>0){var Vi=Bn(Pa.y1,Pa.x1),$i=Bn(Pa.y0,Pa.x0);ua.push(["A",so,so,0,Yr(Vi,$i),1,te+Pa.cx+Pa.x0,_e+Pa.cy+Pa.y0])}}}else ua.push(["L",pi.x,pi.y]),ua.push(["A",qn,qn,0,Vs,0,zr.x,zr.y]);return ua.push(["Z"]),ua}}}])}(c.y$);mi.PARSED_STYLE_LIST=new Set([].concat((0,S.Z)(c.y$.PARSED_STYLE_LIST),["x","y","sr","sr0","radius","startAngle","endAngle"]))},67469:function(gt,dt,g){"use strict";g.d(dt,{k:function(){return U}});var c=g(49336),R=g(54648),P=g(7663);class U extends c.Z{constructor(E){super();ps(this,"nodeMap",new Map);ps(this,"edgeMap",new Map);ps(this,"inEdgesMap",new Map);ps(this,"outEdgesMap",new Map);ps(this,"bothEdgesMap",new Map);ps(this,"treeIndices",new Map);ps(this,"changes",[]);ps(this,"batchCount",0);ps(this,"onChanged",()=>{});ps(this,"batch",E=>{this.batchCount+=1,E(),this.batchCount-=1,this.batchCount||this.commit()});E&&(E.nodes&&this.addNodes(E.nodes),E.edges&&this.addEdges(E.edges),E.tree&&this.addTree(E.tree),E.onChanged&&(this.onChanged=E.onChanged))}commit(){const E=this.changes;this.changes=[];const L={graph:this,changes:E};this.emit("changed",L),this.onChanged(L)}reduceChanges(E){let L=[];return E.forEach(D=>{switch(D.type){case"NodeRemoved":{let T=!1;L=L.filter(K=>{if(K.type==="NodeAdded"){const Z=K.value.id===D.value.id;return Z&&(T=!0),!Z}else{if(K.type==="NodeDataUpdated")return K.id!==D.value.id;if(K.type==="TreeStructureChanged")return K.nodeId!==D.value.id}return!0}),T||L.push(D);break}case"EdgeRemoved":{let T=!1;L=L.filter(K=>{if(K.type==="EdgeAdded"){const Z=K.value.id===D.value.id;return Z&&(T=!0),!Z}else if(K.type==="EdgeDataUpdated"||K.type==="EdgeUpdated")return K.id!==D.value.id;return!0}),T||L.push(D);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const T=L.findIndex(Z=>Z.type===D.type&&Z.id===D.id&&(D.propertyName===void 0||Z.propertyName===D.propertyName)),K=L[T];K?D.propertyName!==void 0?K.newValue=D.newValue:(L.splice(T,1),L.push(D)):L.push(D);break}case"TreeStructureDetached":{L=L.filter(T=>T.type==="TreeStructureAttached"||T.type==="TreeStructureChanged"?T.treeKey!==D.treeKey:!0),L.push(D);break}case"TreeStructureChanged":{const T=L.find(K=>K.type==="TreeStructureChanged"&&K.treeKey===D.treeKey&&K.nodeId===D.nodeId);T?T.newParentId=D.newParentId:L.push(D);break}default:L.push(D);break}}),L}checkNodeExistence(E){this.getNode(E)}hasNode(E){return this.nodeMap.has(E)}areNeighbors(E,L){return this.getNeighbors(L).some(D=>D.id===E)}getNode(E){const L=this.nodeMap.get(E);if(!L)throw new Error("Node not found for id: "+E);return L}getRelatedEdges(E,L){if(this.checkNodeExistence(E),L==="in"){const D=this.inEdgesMap.get(E);return Array.from(D)}else if(L==="out"){const D=this.outEdgesMap.get(E);return Array.from(D)}else{const D=this.bothEdgesMap.get(E);return Array.from(D)}}getDegree(E,L){return this.getRelatedEdges(E,L).length}getSuccessors(E){const D=this.getRelatedEdges(E,"out").map(T=>this.getNode(T.target));return Array.from(new Set(D))}getPredecessors(E){const D=this.getRelatedEdges(E,"in").map(T=>this.getNode(T.source));return Array.from(new Set(D))}getNeighbors(E){const L=this.getPredecessors(E),D=this.getSuccessors(E);return Array.from(new Set([...L,...D]))}doAddNode(E){if(this.hasNode(E.id))throw new Error("Node already exists: "+E.id);this.nodeMap.set(E.id,E),this.inEdgesMap.set(E.id,new Set),this.outEdgesMap.set(E.id,new Set),this.bothEdgesMap.set(E.id,new Set),this.treeIndices.forEach(L=>{L.childrenMap.set(E.id,new Set)}),this.changes.push({type:"NodeAdded",value:E})}addNodes(E){this.batch(()=>{for(const L of E)this.doAddNode(L)})}addNode(E){this.addNodes([E])}doRemoveNode(E){const L=this.getNode(E),D=this.bothEdgesMap.get(E);D==null||D.forEach(T=>this.doRemoveEdge(T.id)),this.nodeMap.delete(E),this.treeIndices.forEach(T=>{var Z,tt;(Z=T.childrenMap.get(E))==null||Z.forEach(V=>{T.parentMap.delete(V.id)});const K=T.parentMap.get(E);K&&((tt=T.childrenMap.get(K.id))==null||tt.delete(L)),T.parentMap.delete(E),T.childrenMap.delete(E)}),this.bothEdgesMap.delete(E),this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.changes.push({type:"NodeRemoved",value:L})}removeNodes(E){this.batch(()=>{E.forEach(L=>this.doRemoveNode(L))})}removeNode(E){this.removeNodes([E])}updateNodeDataProperty(E,L,D){const T=this.getNode(E);this.batch(()=>{const K=T.data[L],Z=D;T.data[L]=Z,this.changes.push({type:"NodeDataUpdated",id:E,propertyName:L,oldValue:K,newValue:Z})})}mergeNodeData(E,L){this.batch(()=>{Object.entries(L).forEach(([D,T])=>{this.updateNodeDataProperty(E,D,T)})})}updateNodeData(...E){const L=E[0],D=this.getNode(L);if(typeof E[1]=="string"){this.updateNodeDataProperty(L,E[1],E[2]);return}let T;if(typeof E[1]=="function"){const K=E[1];T=K(D.data)}else typeof E[1]=="object"&&(T=E[1]);this.batch(()=>{const K=D.data,Z=T;D.data=T,this.changes.push({type:"NodeDataUpdated",id:L,oldValue:K,newValue:Z})})}checkEdgeExistence(E){if(!this.hasEdge(E))throw new Error("Edge not found for id: "+E)}hasEdge(E){return this.edgeMap.has(E)}getEdge(E){return this.checkEdgeExistence(E),this.edgeMap.get(E)}getEdgeDetail(E){const L=this.getEdge(E);return{edge:L,source:this.getNode(L.source),target:this.getNode(L.target)}}doAddEdge(E){if(this.hasEdge(E.id))throw new Error("Edge already exists: "+E.id);this.checkNodeExistence(E.source),this.checkNodeExistence(E.target),this.edgeMap.set(E.id,E);const L=this.inEdgesMap.get(E.target),D=this.outEdgesMap.get(E.source),T=this.bothEdgesMap.get(E.source),K=this.bothEdgesMap.get(E.target);L.add(E),D.add(E),T.add(E),K.add(E),this.changes.push({type:"EdgeAdded",value:E})}addEdges(E){this.batch(()=>{for(const L of E)this.doAddEdge(L)})}addEdge(E){this.addEdges([E])}doRemoveEdge(E){const L=this.getEdge(E),D=this.outEdgesMap.get(L.source),T=this.inEdgesMap.get(L.target),K=this.bothEdgesMap.get(L.source),Z=this.bothEdgesMap.get(L.target);D.delete(L),T.delete(L),K.delete(L),Z.delete(L),this.edgeMap.delete(E),this.changes.push({type:"EdgeRemoved",value:L})}removeEdges(E){this.batch(()=>{E.forEach(L=>this.doRemoveEdge(L))})}removeEdge(E){this.removeEdges([E])}updateEdgeSource(E,L){const D=this.getEdge(E);this.checkNodeExistence(L);const T=D.source,K=L;this.outEdgesMap.get(T).delete(D),this.bothEdgesMap.get(T).delete(D),this.outEdgesMap.get(K).add(D),this.bothEdgesMap.get(K).add(D),D.source=L,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"source",oldValue:T,newValue:K})})}updateEdgeTarget(E,L){const D=this.getEdge(E);this.checkNodeExistence(L);const T=D.target,K=L;this.inEdgesMap.get(T).delete(D),this.bothEdgesMap.get(T).delete(D),this.inEdgesMap.get(K).add(D),this.bothEdgesMap.get(K).add(D),D.target=L,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"target",oldValue:T,newValue:K})})}updateEdgeDataProperty(E,L,D){const T=this.getEdge(E);this.batch(()=>{const K=T.data[L],Z=D;T.data[L]=Z,this.changes.push({type:"EdgeDataUpdated",id:E,propertyName:L,oldValue:K,newValue:Z})})}updateEdgeData(...E){const L=E[0],D=this.getEdge(L);if(typeof E[1]=="string"){this.updateEdgeDataProperty(L,E[1],E[2]);return}let T;if(typeof E[1]=="function"){const K=E[1];T=K(D.data)}else typeof E[1]=="object"&&(T=E[1]);this.batch(()=>{const K=D.data,Z=T;D.data=T,this.changes.push({type:"EdgeDataUpdated",id:L,oldValue:K,newValue:Z})})}mergeEdgeData(E,L){this.batch(()=>{Object.entries(L).forEach(([D,T])=>{this.updateEdgeDataProperty(E,D,T)})})}checkTreeExistence(E){if(!this.hasTreeStructure(E))throw new Error("Tree structure not found for treeKey: "+E)}hasTreeStructure(E){return this.treeIndices.has(E)}attachTreeStructure(E){this.treeIndices.has(E)||(this.treeIndices.set(E,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:E})}))}detachTreeStructure(E){this.checkTreeExistence(E),this.treeIndices.delete(E),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:E})})}addTree(E,L){this.batch(()=>{this.attachTreeStructure(L);const D=[],T=Array.isArray(E)?E:[E];for(;T.length;){const K=T.shift();D.push(K),K.children&&T.push(...K.children)}this.addNodes(D),D.forEach(K=>{var Z;(Z=K.children)==null||Z.forEach(tt=>{this.setParent(tt.id,K.id,L)})})})}getRoots(E){return this.checkTreeExistence(E),this.getAllNodes().filter(L=>!this.getParent(L.id,E))}getChildren(E,L){this.checkNodeExistence(E),this.checkTreeExistence(L);const T=this.treeIndices.get(L).childrenMap.get(E);return Array.from(T||[])}getParent(E,L){return this.checkNodeExistence(E),this.checkTreeExistence(L),this.treeIndices.get(L).parentMap.get(E)||null}getAncestors(E,L){const D=[];let T=this.getNode(E),K;for(;K=this.getParent(T.id,L);)D.push(K),T=K;return D}setParent(E,L,D){var pt,st;this.checkTreeExistence(D);const T=this.treeIndices.get(D);if(!T)return;const K=this.getNode(E),Z=T.parentMap.get(E);if((Z==null?void 0:Z.id)===L)return;if(L==null){Z&&((pt=T.childrenMap.get(Z.id))==null||pt.delete(K)),T.parentMap.delete(E);return}const tt=this.getNode(L);T.parentMap.set(E,tt),Z&&((st=T.childrenMap.get(Z.id))==null||st.delete(K));let V=T.childrenMap.get(tt.id);V||(V=new Set,T.childrenMap.set(tt.id,V)),V.add(K),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:D,nodeId:E,oldParentId:Z==null?void 0:Z.id,newParentId:tt.id})})}dfsTree(E,L,D){const T=K=>this.getChildren(K,D);return(0,P.I)(this.getNode(E),new Set,L,T)}bfsTree(E,L,D){const T=K=>this.getChildren(K,D);return(0,P.O)([this.getNode(E)],new Set,L,T)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(E,L,D="out"){const T={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[D];return(0,P.O)([this.getNode(E)],new Set,L,T)}dfs(E,L,D="out"){const T={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[D];return(0,P.I)(this.getNode(E),new Set,L,T)}clone(){const E=this.getAllNodes().map(T=>Yh(wu({},T),{data:wu({},T.data)})),L=this.getAllEdges().map(T=>Yh(wu({},T),{data:wu({},T.data)})),D=new U({nodes:E,edges:L});return this.treeIndices.forEach(({parentMap:T,childrenMap:K},Z)=>{const tt=new Map;T.forEach((pt,st)=>{tt.set(st,D.getNode(pt.id))});const V=new Map;K.forEach((pt,st)=>{V.set(st,new Set(Array.from(pt).map(X=>D.getNode(X.id))))}),D.treeIndices.set(Z,{parentMap:tt,childrenMap:V})}),D}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(E){return new R.t(wu({graph:this},E))}}},54648:function(gt,dt,g){"use strict";g.d(dt,{t:function(){return P}});var c=g(7663);const R=()=>!0;class P{constructor(w){ps(this,"graph");ps(this,"nodeFilter");ps(this,"edgeFilter");ps(this,"cacheEnabled");ps(this,"inEdgesMap",new Map);ps(this,"outEdgesMap",new Map);ps(this,"bothEdgesMap",new Map);ps(this,"allNodesMap",new Map);ps(this,"allEdgesMap",new Map);ps(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});ps(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(w=>w.id))});ps(this,"updateCache",w=>{const S=new Set;w.forEach(E=>{const L=this.bothEdgesMap.get(E);if(L&&L.forEach(D=>S.add(D.id)),!this.hasNode(E))this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.bothEdgesMap.delete(E),this.allNodesMap.delete(E);else{const D=this.graph.getRelatedEdges(E,"in").filter(this.edgeFilter),T=this.graph.getRelatedEdges(E,"out").filter(this.edgeFilter),K=Array.from(new Set([...D,...T]));K.forEach(Z=>S.add(Z.id)),this.inEdgesMap.set(E,D),this.outEdgesMap.set(E,T),this.bothEdgesMap.set(E,K),this.allNodesMap.set(E,this.graph.getNode(E))}}),S.forEach(E=>{this.hasEdge(E)?this.allEdgesMap.set(E,this.graph.getEdge(E)):this.allEdgesMap.delete(E)})});ps(this,"handleGraphChanged",w=>{const S=new Set;w.changes.forEach(E=>{switch(E.type){case"NodeAdded":S.add(E.value.id);break;case"NodeDataUpdated":S.add(E.id);break;case"EdgeAdded":S.add(E.value.source),S.add(E.value.target);break;case"EdgeUpdated":(E.propertyName==="source"||E.propertyName==="target")&&(S.add(E.oldValue),S.add(E.newValue));break;case"EdgeDataUpdated":if(w.graph.hasEdge(E.id)){const L=w.graph.getEdge(E.id);S.add(L.source),S.add(L.target)}break;case"EdgeRemoved":S.add(E.value.source),S.add(E.value.target);break;case"NodeRemoved":S.add(E.value.id);break;default:break}}),this.updateCache(S)});this.graph=w.graph;const S=w.nodeFilter||R,E=w.edgeFilter||R;this.nodeFilter=S,this.edgeFilter=L=>{const{source:D,target:T}=this.graph.getEdgeDetail(L.id);return!S(D)||!S(T)?!1:E(L,D,T)},w.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):w.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(w){this.getNode(w)}hasNode(w){if(!this.graph.hasNode(w))return!1;const S=this.graph.getNode(w);return this.nodeFilter(S)}areNeighbors(w,S){return this.checkNodeExistence(w),this.getNeighbors(S).some(E=>E.id===w)}getNode(w){const S=this.graph.getNode(w);if(!this.nodeFilter(S))throw new Error("Node not found for id: "+w);return S}getRelatedEdges(w,S){return this.checkNodeExistence(w),this.cacheEnabled?S==="in"?this.inEdgesMap.get(w):S==="out"?this.outEdgesMap.get(w):this.bothEdgesMap.get(w):this.graph.getRelatedEdges(w,S).filter(this.edgeFilter)}getDegree(w,S){return this.getRelatedEdges(w,S).length}getSuccessors(w){const E=this.getRelatedEdges(w,"out").map(L=>this.getNode(L.target));return Array.from(new Set(E))}getPredecessors(w){const E=this.getRelatedEdges(w,"in").map(L=>this.getNode(L.source));return Array.from(new Set(E))}getNeighbors(w){const S=this.getPredecessors(w),E=this.getSuccessors(w);return Array.from(new Set([...S,...E]))}hasEdge(w){if(!this.graph.hasEdge(w))return!1;const S=this.graph.getEdge(w);return this.edgeFilter(S)}getEdge(w){const S=this.graph.getEdge(w);if(!this.edgeFilter(S))throw new Error("Edge not found for id: "+w);return S}getEdgeDetail(w){const S=this.getEdge(w);return{edge:S,source:this.getNode(S.source),target:this.getNode(S.target)}}hasTreeStructure(w){return this.graph.hasTreeStructure(w)}getRoots(w){return this.graph.getRoots(w).filter(this.nodeFilter)}getChildren(w,S){return this.checkNodeExistence(w),this.graph.getChildren(w,S).filter(this.nodeFilter)}getParent(w,S){this.checkNodeExistence(w);const E=this.graph.getParent(w,S);return!E||!this.nodeFilter(E)?null:E}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(w,S,E="out"){const L={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,c.O)([this.getNode(w)],new Set,S,L)}dfs(w,S,E="out"){const L={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,c.I)(this.getNode(w),new Set,S,L)}}},7663:function(gt,dt,g){"use strict";g.d(dt,{I:function(){return R},O:function(){return c}});function c(P,U,w,S){for(;P.length;){const E=P.shift();if(w(E))return!0;U.add(E.id),S(E.id).forEach(D=>{U.has(D.id)||(U.add(D.id),P.push(D))})}return!1}function R(P,U,w,S){if(w(P))return!0;U.add(P.id);for(const L of S(P.id))if(!U.has(L.id)&&R(L,U,w,S))return!0;return!1}},85580:function(gt,dt,g){"use strict";g.d(dt,{L:function(){return c}});function c(R){var P=document.createElement("div");P.innerHTML=R;var U=P.childNodes[0];return U&&P.contains(U)&&P.removeChild(U),U}},70208:function(gt,dt){"use strict";var g=function(c,R,P){return cP?P:c};dt.Z=g},37547:function(gt,dt,g){"use strict";var c=g(39934),R=function(P){if(typeof P!="object"||P===null)return P;var U;if((0,c.Z)(P)){U=[];for(var w=0,S=P.length;w-1:!1},w=U,S=function(L,D){return D===void 0&&(D=[]),P(L,function(T){return!w(D,T)})},E=S},56039:function(gt,dt,g){"use strict";var c=g(39934),R=g(93785);function P(U,w){if(U){var S;if((0,c.Z)(U))for(var E=0,L=U.length;EL&&(E=S,T(1),++w),S[K]=Z}function T(K){w=0,S=Object.create(null),K||(E=Object.create(null))}return T(),{clear:T,has:function(K){return S[K]!==void 0||E[K]!==void 0},get:function(K){var Z=S[K];if(Z!==void 0)return Z;if((Z=E[K])!==void 0)return D(K,Z),Z},set:function(K,Z){S[K]!==void 0?S[K]=Z:D(K,Z)}}}var R=new Map;function P(U,w,S){S===void 0&&(S=128);var E=function(){for(var L=[],D=0;Dc?(P&&(clearTimeout(P),P=null),E=T,S=g.apply(U,w),P||(U=w=null)):!P&&R.trailing!==!1&&(P=setTimeout(L,K)),S};return D.cancel=function(){clearTimeout(P),E=0,P=U=w=null},D}},96862:function(gt,dt,g){"use strict";var c=g(76075);dt.Z=function(R){return(0,c.Z)(R)?"":R.toString()}},35300:function(gt,dt,g){"use strict";g.d(dt,{Z:function(){return c}});function c(R,P){P===void 0&&(P=new Map);var U=[];if(Array.isArray(R))for(var w=0,S=R.length;w1&&(wn=Math.sqrt(wn),pt*=wn,st*=wn);var Rn=pt*pt,or=st*st,pn=(L===D?-1:1)*Math.sqrt(Math.abs((Rn*or-Rn*Ln*Ln-or*En*En)/(Rn*Ln*Ln+or*En*En)));sn=pn*pt*Ln/st+(tt+X)/2,Be=pn*-st*En/pt+(V+Mt)/2,Oe=Math.asin(((V-Be)/st*Math.pow(10,9)>>0)/Math.pow(10,9)),de=Math.asin(((Mt-Be)/st*Math.pow(10,9)>>0)/Math.pow(10,9)),Oe=ttde&&(Oe-=Math.PI*2),!D&&de>Oe&&(de-=Math.PI*2)}var zn=de-Oe;if(Math.abs(zn)>ft){var Pt=de,Se=X,Un=Mt;de=Oe+ft*(D&&de>Oe?1:-1),X=sn+pt*Math.cos(de),Mt=Be+st*Math.sin(de),jt=R(X,Mt,pt,st,E,0,D,Se,Un,[de,Pt,sn,Be])}zn=de-Oe;var On=Math.cos(Oe),ze=Math.sin(Oe),tn=Math.cos(de),ln=Math.sin(de),pe=Math.tan(zn/4),Pe=4/3*pt*pe,Ft=4/3*st*pe,Bt=[tt,V],ve=[tt+Pe*ze,V-Ft*On],nn=[X+Pe*ln,Mt-Ft*tn],Ve=[X,Mt];if(ve[0]=2*Bt[0]-ve[0],ve[1]=2*Bt[1]-ve[1],Z)return ve.concat(nn,Ve,jt);jt=ve.concat(nn,Ve,jt);for(var ce=[],We=0,Me=jt.length;WeMt in X?w(X,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ft}):X[Mt]=ft,Z=(X,Mt)=>{for(var ft in Mt||(Mt={}))D.call(Mt,ft)&&K(X,ft,Mt[ft]);if(L)for(var ft of L(Mt))T.call(Mt,ft)&&K(X,ft,Mt[ft]);return X},tt=(X,Mt)=>S(X,E(Mt));function V(X,Mt,ft=1/3,Ut){let jt=X*Math.PI*2,Gt=Mt*Math.PI*2;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(Oe,de){return OeGt?Math.cos(Gt)*(1+Math.cos(de)*ft):Math.cos(Oe)*(1+Math.cos(de)*ft)},y:function(Oe,de){return OeGt?Math.sin(Gt)*(1+Math.cos(de)*ft):Math.sin(Oe)*(1+Math.cos(de)*ft)},z:function(Oe,de){return Oe<-Math.PI*.5?Math.sin(Oe):Oe>Math.PI*2.5?Math.sin(Oe)*Ut*.1:Math.sin(de)>0?1*Ut*.1:-1}}}function pt({pieData:X=[],internalDiameterRatio:Mt=1/3}){var ft,Ut,jt,Gt;const Oe=[],de=X==null?void 0:X.reduce((wn,Rn)=>(wn||0)+((Rn==null?void 0:Rn.value)||0),0);let sn=0,Be=0;const En=[];for(let wn=0;wn<(X==null?void 0:X.length);wn++){Be=sn+(de==0?1:((ft=X==null?void 0:X[wn])==null?void 0:ft.value)||0);const Rn={itemStyle:((Ut=X==null?void 0:X[wn])==null?void 0:Ut.itemStyle)||{},name:((jt=X==null?void 0:X[wn])==null?void 0:jt.name)||`name${wn}`,type:"surface",parametric:!0,parametricEquation:V(sn/(de||(X==null?void 0:X.length)),Be/(de||(X==null?void 0:X.length)),Mt,((Gt=X==null?void 0:X[wn])==null?void 0:Gt.value)||(de==0?25:0)),wireframe:{show:!1},pieData:X==null?void 0:X[wn]};En.push(Rn.name),Oe.push(Rn),sn=Be}return Oe.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:wn=>`${wn.value} + + ${wn.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...X||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:En},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:Oe}}const st=({dataSource:X=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:Mt="",style:ft={},legend:Ut={},internalDiameterRatio:jt=1/3})=>{const[Gt,Oe]=(0,c.useState)([]),de=(0,c.useCallback)(En=>{const Ln=En.selected||{},wn=X.map(Rn=>Rn.name).filter(Rn=>Ln[Rn]===!1);Oe(wn)},[X]),sn=(0,c.useMemo)(()=>X.filter(En=>!Gt.includes(En.name)),[X,Gt]),Be=(0,c.useMemo)(()=>{const En=pt({pieData:sn,internalDiameterRatio:jt}),Ln=X.map(Rn=>Rn.name),wn=X.reduce((Rn,or)=>(Rn[or.name]=!Gt.includes(or.name),Rn),{});return En.legend=tt(Z(Z({},En.legend),Ut),{data:Ln,selected:wn}),En},[sn,Ut,jt,X,Gt]);return c.createElement(R.Z,{onEvents:{legendselectchanged:de},className:`w-full h-full ${Mt}`,option:Be,style:Z({height:"100%"},ft)})};dt.Z=st},78585:function(gt,dt,g){"use strict";var c,R=Object.defineProperty,P=ot=>{throw TypeError(ot)},U=Math.pow,w=(ot,x,M)=>x in ot?R(ot,x,{enumerable:!0,configurable:!0,writable:!0,value:M}):ot[x]=M,S=(ot,x,M)=>w(ot,typeof x!="symbol"?x+"":x,M),E=(ot,x,M)=>x.has(ot)||P("Cannot "+M),L=(ot,x,M)=>(E(ot,x,"read from private field"),M?M.call(ot):x.get(ot)),D=(ot,x,M)=>x.has(ot)?P("Cannot add the same private member more than once"):x instanceof WeakSet?x.add(ot):x.set(ot,M),T=(ot,x,M,m)=>(E(ot,x,"write to private field"),m?m.call(ot,M):x.set(ot,M),M),K=(ot,x,M)=>(E(ot,x,"access private method"),M),Z,tt,V;c={value:!0};var pt=g(34634),st=g(34402);const X=" ".repeat(2),Mt=" ".repeat(4);function ft(){return Ut(this)}function Ut(ot,x={}){const{maxRows:M=15,maxColumns:m=10,maxNumSize:N=8,padMinus:z="auto"}=x;return`${ot.constructor.name} { +${X}[ +${Mt}${jt(ot,M,m,N,z)} +${X}] +${X}rows: ${ot.rows} +${X}columns: ${ot.columns} +}`}function jt(ot,x,M,m,N){const{rows:z,columns:Lt}=ot,Rt=Math.min(z,x),Jt=Math.min(Lt,M),qt=[];if(N==="auto"){N=!1;t:for(let en=0;en=0&&M?` ${Oe(ot,x-1)}`:Oe(ot,x)).padEnd(x)}function Oe(ot,x){let M=ot.toString();if(M.length<=x)return M;let m=ot.toFixed(x);if(m.length>x&&(m=ot.toFixed(Math.max(0,x-(m.length-x)))),m.length<=x&&!m.startsWith("0.000")&&!m.startsWith("-0.000"))return m;let N=ot.toExponential(x);return N.length>x&&(N=ot.toExponential(Math.max(0,x-(N.length-x)))),N.slice(0)}function de(ot,x){ot.prototype.add=function(m){return typeof m=="number"?this.addS(m):this.addM(m)},ot.prototype.addS=function(m){for(let N=0;N>m);return this},ot.prototype.signPropagatingRightShiftM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let N=0;N>m.get(N,z));return this},ot.signPropagatingRightShift=function(m,N){return new x(m).signPropagatingRightShift(N)},ot.prototype.rightShift=function(m){return typeof m=="number"?this.rightShiftS(m):this.rightShiftM(m)},ot.prototype.rightShiftS=function(m){for(let N=0;N>>m);return this},ot.prototype.rightShiftM=function(m){if(m=x.checkMatrix(m),this.rows!==m.rows||this.columns!==m.columns)throw new RangeError("Matrices dimensions must be equal");for(let N=0;N>>m.get(N,z));return this},ot.rightShift=function(m,N){return new x(m).rightShift(N)},ot.prototype.zeroFillRightShift=ot.prototype.rightShift,ot.prototype.zeroFillRightShiftS=ot.prototype.rightShiftS,ot.prototype.zeroFillRightShiftM=ot.prototype.rightShiftM,ot.zeroFillRightShift=ot.rightShift,ot.prototype.not=function(){for(let m=0;mm)throw new RangeError("Row index out of range")}function Be(ot,x,M){let m=M?ot.columns:ot.columns-1;if(x<0||x>m)throw new RangeError("Column index out of range")}function En(ot,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==ot.columns)throw new RangeError("vector size must be the same as the number of columns");return x}function Ln(ot,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==ot.rows)throw new RangeError("vector size must be the same as the number of rows");return x}function wn(ot,x){if(!pt.isAnyArray(x))throw new TypeError("row indices must be an array");for(let M=0;M=ot.rows)throw new RangeError("row indices are out of range")}function Rn(ot,x){if(!pt.isAnyArray(x))throw new TypeError("column indices must be an array");for(let M=0;M=ot.columns)throw new RangeError("column indices are out of range")}function or(ot,x,M,m,N){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(zn("startRow",x),zn("endRow",M),zn("startColumn",m),zn("endColumn",N),x>M||m>N||x<0||x>=ot.rows||M<0||M>=ot.rows||m<0||m>=ot.columns||N<0||N>=ot.columns)throw new RangeError("Submatrix indices are out of range")}function pn(ot,x=0){let M=[];for(let m=0;m=z)throw new RangeError("min must be smaller than max");let Rt=z-N,Jt=new se(x,M);for(let qt=0;qtm?(z=!0,m=M):(N=!1,z=!0);x++}return N}isReducedEchelonForm(){let x=0,M=0,m=-1,N=!0,z=!1;for(;xm?(z=!0,m=M):(N=!1,z=!0);for(let Lt=M+1;Ltx.get(N,m)&&(N=z);if(x.get(N,m)===0)m++;else{x.swapRows(M,N);let z=x.get(M,m);for(let Lt=m;Lt=0;)if(x.maxRow(N)===0)N--;else{let z=0,Lt=!1;for(;zM[m]&&(M[m]=this.get(m,N));return M}case"column":{const M=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let m=0;mM[N]&&(M[N]=this.get(m,N));return M}case void 0:{let M=this.get(0,0);for(let m=0;mM&&(M=this.get(m,N));return M}default:throw new Error(`invalid option: ${x}`)}}maxIndex(){Pt(this);let x=this.get(0,0),M=[0,0];for(let m=0;mx&&(x=this.get(m,N),M[0]=m,M[1]=N);return M}min(x){if(this.isEmpty())return NaN;switch(x){case"row":{const M=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let m=0;mM&&(M=this.get(x,m));return M}maxRowIndex(x){sn(this,x),Pt(this);let M=this.get(x,0),m=[x,0];for(let N=1;NM&&(M=this.get(x,N),m[1]=N);return m}minRow(x){if(sn(this,x),this.isEmpty())return NaN;let M=this.get(x,0);for(let m=1;mM&&(M=this.get(m,x));return M}maxColumnIndex(x){Be(this,x),Pt(this);let M=this.get(0,x),m=[0,x];for(let N=1;NM&&(M=this.get(N,x),m[0]=N);return m}minColumn(x){if(Be(this,x),this.isEmpty())return NaN;let M=this.get(0,x);for(let m=1;m=1;N/=2)N&1&&(M=M.mmul(m)),m=m.mmul(m);return M}strassen2x2(x){x=se.checkMatrix(x);let M=new se(2,2);const m=this.get(0,0),N=x.get(0,0),z=this.get(0,1),Lt=x.get(0,1),Rt=this.get(1,0),Jt=x.get(1,0),qt=this.get(1,1),en=x.get(1,1),vt=(m+qt)*(N+en),mt=(Rt+qt)*N,ct=m*(Lt-en),xt=qt*(Jt-N),zt=(m+z)*en,Fe=(Rt-m)*(N+Lt),Vt=(z-qt)*(Jt+en),Te=vt+xt-zt+Vt,Je=ct+zt,Sn=mt+xt,Nn=vt-mt+ct+Fe;return M.set(0,0,Te),M.set(0,1,Je),M.set(1,0,Sn),M.set(1,1,Nn),M}strassen3x3(x){x=se.checkMatrix(x);let M=new se(3,3);const m=this.get(0,0),N=this.get(0,1),z=this.get(0,2),Lt=this.get(1,0),Rt=this.get(1,1),Jt=this.get(1,2),qt=this.get(2,0),en=this.get(2,1),vt=this.get(2,2),mt=x.get(0,0),ct=x.get(0,1),xt=x.get(0,2),zt=x.get(1,0),Fe=x.get(1,1),Vt=x.get(1,2),Te=x.get(2,0),Je=x.get(2,1),Sn=x.get(2,2),Nn=(m+N+z-Lt-Rt-en-vt)*Fe,er=(m-Lt)*(-ct+Fe),kn=Rt*(-mt+ct+zt-Fe-Vt-Te+Sn),Wn=(-m+Lt+Rt)*(mt-ct+Fe),dr=(Lt+Rt)*(-mt+ct),Re=m*mt,Bn=(-m+qt+en)*(mt-xt+Vt),ar=(-m+qt)*(xt-Vt),Gn=(qt+en)*(-mt+xt),kr=(m+N+z-Rt-Jt-qt-en)*Vt,Qr=en*(-mt+xt+zt-Fe-Vt-Te+Je),Cr=(-z+en+vt)*(Fe+Te-Je),br=(z-vt)*(Fe-Je),ei=z*Te,wr=(en+vt)*(-Te+Je),Yr=(-z+Rt+Jt)*(Vt+Te-Sn),mi=(z-Jt)*(Vt-Sn),an=(Rt+Jt)*(-Te+Sn),re=N*zt,Ae=Jt*Je,te=Lt*xt,_e=qt*ct,on=vt*Sn,Pn=Re+ei+re,jn=Nn+Wn+dr+Re+Cr+ei+wr,qn=Re+Bn+Gn+kr+ei+Yr+an,xr=er+kn+Wn+Re+ei+Yr+mi,Mr=er+Wn+dr+Re+Ae,_r=ei+Yr+mi+an+te,zr=Re+Bn+ar+Qr+Cr+br+ei,pi=Cr+br+ei+wr+_e,Ci=Re+Bn+ar+Gn+on;return M.set(0,0,Pn),M.set(0,1,jn),M.set(0,2,qn),M.set(1,0,xr),M.set(1,1,Mr),M.set(1,2,_r),M.set(2,0,zr),M.set(2,1,pi),M.set(2,2,Ci),M}mmulStrassen(x){x=se.checkMatrix(x);let M=this.clone(),m=M.rows,N=M.columns,z=x.rows,Lt=x.columns;N!==z&&console.warn(`Multiplying ${m} x ${N} and ${z} x ${Lt} matrix: dimensions do not match.`);function Rt(vt,mt,ct){let xt=vt.rows,zt=vt.columns;if(xt===mt&&zt===ct)return vt;{let Fe=Ie.zeros(mt,ct);return Fe=Fe.setSubMatrix(vt,0,0),Fe}}let Jt=Math.max(m,z),qt=Math.max(N,Lt);M=Rt(M,Jt,qt),x=Rt(x,Jt,qt);function en(vt,mt,ct,xt){if(ct<=512||xt<=512)return vt.mmul(mt);ct%2===1&&xt%2===1?(vt=Rt(vt,ct+1,xt+1),mt=Rt(mt,ct+1,xt+1)):ct%2===1?(vt=Rt(vt,ct+1,xt),mt=Rt(mt,ct+1,xt)):xt%2===1&&(vt=Rt(vt,ct,xt+1),mt=Rt(mt,ct,xt+1));let zt=parseInt(vt.rows/2,10),Fe=parseInt(vt.columns/2,10),Vt=vt.subMatrix(0,zt-1,0,Fe-1),Te=mt.subMatrix(0,zt-1,0,Fe-1),Je=vt.subMatrix(0,zt-1,Fe,vt.columns-1),Sn=mt.subMatrix(0,zt-1,Fe,mt.columns-1),Nn=vt.subMatrix(zt,vt.rows-1,0,Fe-1),er=mt.subMatrix(zt,mt.rows-1,0,Fe-1),kn=vt.subMatrix(zt,vt.rows-1,Fe,vt.columns-1),Wn=mt.subMatrix(zt,mt.rows-1,Fe,mt.columns-1),dr=en(Ie.add(Vt,kn),Ie.add(Te,Wn),zt,Fe),Re=en(Ie.add(Nn,kn),Te,zt,Fe),Bn=en(Vt,Ie.sub(Sn,Wn),zt,Fe),ar=en(kn,Ie.sub(er,Te),zt,Fe),Gn=en(Ie.add(Vt,Je),Wn,zt,Fe),kr=en(Ie.sub(Nn,Vt),Ie.add(Te,Sn),zt,Fe),Qr=en(Ie.sub(Je,kn),Ie.add(er,Wn),zt,Fe),Cr=Ie.add(dr,ar);Cr.sub(Gn),Cr.add(Qr);let br=Ie.add(Bn,Gn),ei=Ie.add(Re,ar),wr=Ie.sub(dr,Re);wr.add(Bn),wr.add(kr);let Yr=Ie.zeros(2*Cr.rows,2*Cr.columns);return Yr=Yr.setSubMatrix(Cr,0,0),Yr=Yr.setSubMatrix(br,Cr.rows,0),Yr=Yr.setSubMatrix(ei,0,Cr.columns),Yr=Yr.setSubMatrix(wr,Cr.rows,Cr.columns),Yr.subMatrix(0,ct-1,0,xt-1)}return en(M,x,Jt,qt)}scaleRows(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:M=0,max:m=1}=x;if(!Number.isFinite(M))throw new TypeError("min must be a number");if(!Number.isFinite(m))throw new TypeError("max must be a number");if(M>=m)throw new RangeError("min must be smaller than max");let N=new se(this.rows,this.columns);for(let z=0;z0&&st(Lt,{min:M,max:m,output:Lt}),N.setRow(z,Lt)}return N}scaleColumns(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:M=0,max:m=1}=x;if(!Number.isFinite(M))throw new TypeError("min must be a number");if(!Number.isFinite(m))throw new TypeError("max must be a number");if(M>=m)throw new RangeError("min must be smaller than max");let N=new se(this.rows,this.columns);for(let z=0;zm||M<0||M>=this.columns||m<0||m>=this.columns)throw new RangeError("Argument out of range");let N=new se(x.length,m-M+1);for(let z=0;z=this.rows)throw new RangeError(`Row index out of range: ${x[z]}`);N.set(z,Lt-M,this.get(x[z],Lt))}return N}subMatrixColumn(x,M,m){if(M===void 0&&(M=0),m===void 0&&(m=this.rows-1),M>m||M<0||M>=this.rows||m<0||m>=this.rows)throw new RangeError("Argument out of range");let N=new se(m-M+1,x.length);for(let z=0;z=this.columns)throw new RangeError(`Column index out of range: ${x[z]}`);N.set(Lt-M,z,this.get(Lt,x[z]))}return N}setSubMatrix(x,M,m){if(x=se.checkMatrix(x),x.isEmpty())return this;let N=M+x.rows-1,z=m+x.columns-1;or(this,M,N,m,z);for(let Lt=0;Lttypeof x=="number")}Ie.random=Ie.rand,Ie.randomInt=Ie.randInt,Ie.diagonal=Ie.diag,Ie.prototype.diagonal=Ie.prototype.diag,Ie.identity=Ie.eye,Ie.prototype.negate=Ie.prototype.neg,Ie.prototype.tensorProduct=Ie.prototype.kroneckerProduct;const ue=class Xh extends Ie{constructor(x,M){if(super(),D(this,Z),S(this,"data"),Xh.isMatrix(x))K(this,Z,tt).call(this,x.rows,x.columns),Xh.copy(x,this);else if(Number.isInteger(x)&&x>=0)K(this,Z,tt).call(this,x,M);else if(pt.isAnyArray(x)){const m=x;if(x=m.length,M=x?m[0].length:0,typeof M!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let N=0;N=0)for(let M=0;M=0)T(this,V,new se(x,x));else if(T(this,V,new se(x)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return L(this,V).size}get rows(){return L(this,V).rows}get columns(){return L(this,V).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(x){return se.isMatrix(x)&&x.klassType==="SymmetricMatrix"}static zeros(x){return new this(x)}static ones(x){return new this(x).fill(1)}clone(){const x=new Jh(this.diagonalSize);for(const[M,m,N]of this.upperRightEntries())x.set(M,m,N);return x}toMatrix(){return new se(this)}get(x,M){return L(this,V).get(x,M)}set(x,M,m){return L(this,V).set(x,M,m),L(this,V).set(M,x,m),this}removeCross(x){return L(this,V).removeRow(x),L(this,V).removeColumn(x),this}addCross(x,M){M===void 0&&(M=x,x=this.diagonalSize);const m=M.slice();return m.splice(x,1),L(this,V).addRow(x,m),L(this,V).addColumn(x,M),this}applyMask(x){if(x.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const M=[];for(const[m,N]of x.entries())N||M.push(m);M.reverse();for(const m of M)this.removeCross(m);return this}toCompact(){const{diagonalSize:x}=this,M=new Array(x*(x+1)/2);for(let m=0,N=0,z=0;z=x&&(m=++N);return M}static fromCompact(x){const M=x.length,m=(Math.sqrt(8*M+1)-1)/2;if(!Number.isInteger(m))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(x)}`);const N=new Jh(m);for(let z=0,Lt=0,Rt=0;Rt=m&&(z=++Lt);return N}*upperRightEntries(){for(let x=0,M=0;x=this.diagonalSize&&(M=++x)}}*upperRightValues(){for(let x=0,M=0;x=this.diagonalSize&&(M=++x)}};V=new WeakMap;let Ke=je;Ke.prototype.klassType="SymmetricMatrix";class Cn extends Ke{static isDistanceMatrix(x){return Ke.isSymmetricMatrix(x)&&x.klassSubType==="DistanceMatrix"}constructor(x){if(super(x),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(x,M,m){return x===M&&(m=0),super.set(x,M,m)}addCross(x,M){return M===void 0&&(M=x,x=this.diagonalSize),M=M.slice(),M[x]=0,super.addCross(x,M)}toSymmetricMatrix(){return new Ke(this)}clone(){const x=new Cn(this.diagonalSize);for(const[M,m,N]of this.upperRightEntries())M!==m&&x.set(M,m,N);return x}toCompact(){const{diagonalSize:x}=this,M=(x-1)*x/2,m=new Array(M);for(let N=1,z=0,Lt=0;Lt=x&&(N=++z+1);return m}static fromCompact(x){const M=x.length;if(M===0)return new this(0);const m=(Math.sqrt(8*M+1)+1)/2;if(!Number.isInteger(m))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(x)}`);const N=new this(m);for(let z=1,Lt=0,Rt=0;Rt=m&&(z=++Lt+1);return N}}Cn.prototype.klassSubType="DistanceMatrix";class bt extends Ie{constructor(x,M,m){super(),this.matrix=x,this.rows=M,this.columns=m}}class nt extends bt{constructor(x,M){Be(x,M),super(x,x.rows,1),this.column=M}set(x,M,m){return this.matrix.set(x,this.column,m),this}get(x){return this.matrix.get(x,this.column)}}class Nt extends bt{constructor(x,M){Rn(x,M),super(x,x.rows,M.length),this.columnIndices=M}set(x,M,m){return this.matrix.set(x,this.columnIndices[M],m),this}get(x,M){return this.matrix.get(x,this.columnIndices[M])}}class Yt extends bt{constructor(x){super(x,x.rows,x.columns)}set(x,M,m){return this.matrix.set(x,this.columns-M-1,m),this}get(x,M){return this.matrix.get(x,this.columns-M-1)}}class It extends bt{constructor(x){super(x,x.rows,x.columns)}set(x,M,m){return this.matrix.set(this.rows-x-1,M,m),this}get(x,M){return this.matrix.get(this.rows-x-1,M)}}class Qt extends bt{constructor(x,M){sn(x,M),super(x,1,x.columns),this.row=M}set(x,M,m){return this.matrix.set(this.row,M,m),this}get(x,M){return this.matrix.get(this.row,M)}}class Wt extends bt{constructor(x,M){wn(x,M),super(x,M.length,x.columns),this.rowIndices=M}set(x,M,m){return this.matrix.set(this.rowIndices[x],M,m),this}get(x,M){return this.matrix.get(this.rowIndices[x],M)}}class ge extends bt{constructor(x,M,m){wn(x,M),Rn(x,m),super(x,M.length,m.length),this.rowIndices=M,this.columnIndices=m}set(x,M,m){return this.matrix.set(this.rowIndices[x],this.columnIndices[M],m),this}get(x,M){return this.matrix.get(this.rowIndices[x],this.columnIndices[M])}}class me extends bt{constructor(x,M,m,N,z){or(x,M,m,N,z),super(x,m-M+1,z-N+1),this.startRow=M,this.startColumn=N}set(x,M,m){return this.matrix.set(this.startRow+x,this.startColumn+M,m),this}get(x,M){return this.matrix.get(this.startRow+x,this.startColumn+M)}}class oe extends bt{constructor(x){super(x,x.columns,x.rows)}set(x,M,m){return this.matrix.set(M,x,m),this}get(x,M){return this.matrix.get(M,x)}}class Ge extends Ie{constructor(x,M={}){const{rows:m=1}=M;if(x.length%m!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=m,this.columns=x.length/m,this.data=x}set(x,M,m){let N=this._calculateIndex(x,M);return this.data[N]=m,this}get(x,M){let m=this._calculateIndex(x,M);return this.data[m]}_calculateIndex(x,M){return x*this.columns+M}}class fn extends Ie{constructor(x){super(),this.data=x,this.rows=x.length,this.columns=x[0].length}set(x,M,m){return this.data[x][M]=m,this}get(x,M){return this.data[x][M]}}function An(ot,x){if(pt.isAnyArray(ot))return ot[0]&&pt.isAnyArray(ot[0])?new fn(ot):new Ge(ot,x);throw new Error("the argument is not an array")}class Qn{constructor(x){x=fn.checkMatrix(x);let M=x.clone(),m=M.rows,N=M.columns,z=new Float64Array(m),Lt=1,Rt,Jt,qt,en,vt,mt,ct,xt,zt;for(Rt=0;RtMath.abs(xt[en])&&(en=Rt);if(en!==Jt){for(qt=0;qt=0;qt--){for(Jt=0;JtLt?N.set(z,Lt,x.get(z,Lt)):z===Lt?N.set(z,Lt,1):N.set(z,Lt,0);return N}get upperTriangularMatrix(){let x=this.LU,M=x.rows,m=x.columns,N=new se(M,m);for(let z=0;zMath.abs(x)?(M=x/ot,Math.abs(ot)*Math.sqrt(1+M*M)):x!==0?(M=ot/x,Math.abs(x)*Math.sqrt(1+M*M)):0}class Vn{constructor(x){x=fn.checkMatrix(x);let M=x.clone(),m=x.rows,N=x.columns,z=new Float64Array(N),Lt,Rt,Jt,qt;for(Jt=0;Jt=0;qt--){for(Jt=0;Jt=0;Rt--){for(z=0;z=0;Re--)if(xt[Re]!==0){for(let Bn=Re+1;Bn=0;Re--){if(Re0;){let Re,Bn;for(Re=kn-2;Re>=-1&&Re!==-1;Re--){const ar=Number.MIN_VALUE+dr*Math.abs(xt[Re]+Math.abs(xt[Re+1]));if(Math.abs(Vt[Re])<=ar||Number.isNaN(Vt[Re])){Vt[Re]=0;break}}if(Re===kn-2)Bn=4;else{let ar;for(ar=kn-1;ar>=Re&&ar!==Re;ar--){let Gn=(ar!==kn?Math.abs(Vt[ar]):0)+(ar!==Re+1?Math.abs(Vt[ar-1]):0);if(Math.abs(xt[ar])<=dr*Gn){xt[ar]=0;break}}ar===Re?Bn=3:ar===kn-1?Bn=1:(Bn=2,Re=ar)}switch(Re++,Bn){case 1:{let ar=Vt[kn-2];Vt[kn-2]=0;for(let Gn=kn-2;Gn>=Re;Gn--){let kr=Yn(xt[Gn],ar),Qr=xt[Gn]/kr,Cr=ar/kr;if(xt[Gn]=kr,Gn!==Re&&(ar=-Cr*Vt[Gn-1],Vt[Gn-1]=Qr*Vt[Gn-1]),qt)for(let br=0;br=xt[Re+1]);){let ar=xt[Re];if(xt[Re]=xt[Re+1],xt[Re+1]=ar,qt&&ReM&&z.set(en,vt,x.get(en,vt)/this.s[vt]);let Lt=this.U,Rt=Lt.rows,Jt=Lt.columns,qt=new se(m,Rt);for(let en=0;enx&&M++;return M}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 se.diag(this.s)}}function ur(ot,x=!1){return ot=fn.checkMatrix(ot),x?new Nr(ot).inverse():yr(ot,se.eye(ot.rows))}function yr(ot,x,M=!1){return ot=fn.checkMatrix(ot),x=fn.checkMatrix(x),M?new Nr(ot).solve(x):ot.isSquare()?new Qn(ot).solve(x):new Vn(ot).solve(x)}function be(ot){if(ot=se.checkMatrix(ot),ot.isSquare()){if(ot.columns===0)return 1;let x,M,m,N;if(ot.columns===2)return x=ot.get(0,0),M=ot.get(0,1),m=ot.get(1,0),N=ot.get(1,1),x*N-M*m;if(ot.columns===3){let z,Lt,Rt;return z=new ge(ot,[1,2],[1,2]),Lt=new ge(ot,[1,2],[0,2]),Rt=new ge(ot,[1,2],[0,1]),x=ot.get(0,0),M=ot.get(0,1),m=ot.get(0,2),x*be(z)-M*be(Lt)+m*be(Rt)}else return new Qn(ot).determinant}else throw Error("determinant can only be calculated for a square matrix")}function ri(ot,x){let M=[];for(let m=0;mN)return new Array(x.rows+1).fill(0);{let z=x.addRow(M,[0]);for(let Lt=0;Ltx?z[Lt]=1/z[Lt]:z[Lt]=0;return N.mmul(se.diag(z).mmul(m.transpose()))}function ye(ot,x=ot,M={}){ot=new se(ot);let m=!1;if(typeof x=="object"&&!se.isMatrix(x)&&!pt.isAnyArray(x)?(M=x,x=ot,m=!0):x=new se(x),ot.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:N=!0}=M;N&&(ot=ot.center("column"),m||(x=x.center("column")));const z=ot.transpose().mmul(x);for(let Lt=0;Lt0?N.set(z,z+1,M[z]):M[z]<0&&N.set(z,z-1,M[z])}return N}}function we(ot,x,M,m){let N,z,Lt,Rt,Jt,qt,en,vt;for(Jt=0;Jt0;Rt--){for(vt=0,Lt=0,qt=0;qt0&&(z=-z),x[Rt]=vt*z,Lt=Lt-N*z,M[Rt-1]=N-z,Jt=0;Jtqt)do{for(N=M[qt],vt=(M[qt+1]-N)/(2*x[qt]),mt=Yn(vt,1),vt<0&&(mt=-mt),M[qt]=x[qt]/(vt+mt),M[qt+1]=x[qt]*(vt+mt),ct=M[qt+1],z=N-M[qt],Lt=qt+2;Lt=qt;Lt--)for(Fe=zt,zt=xt,Je=Te,N=xt*x[Lt],z=xt*vt,mt=Yn(vt,x[Lt]),x[Lt+1]=Te*mt,Te=x[Lt]/mt,xt=vt/mt,vt=xt*M[Lt]-Te*N,M[Lt+1]=z+Te*(xt*N+Te*M[Lt]),Jt=0;Jter*Nn);M[qt]=M[qt]+Sn,x[qt]=0}for(Lt=0;Lt=vt;qt--)M[qt]=x.get(qt,vt-1)/mt,Jt+=M[qt]*M[qt];for(Rt=Math.sqrt(Jt),M[vt]>0&&(Rt=-Rt),Jt=Jt-M[vt]*Rt,M[vt]=M[vt]-Rt,en=vt;en=vt;qt--)Lt+=M[qt]*x.get(qt,en);for(Lt=Lt/Jt,qt=vt;qt<=z;qt++)x.set(qt,en,x.get(qt,en)-Lt*M[qt])}for(qt=0;qt<=z;qt++){for(Lt=0,en=z;en>=vt;en--)Lt+=M[en]*x.get(qt,en);for(Lt=Lt/Jt,en=vt;en<=z;en++)x.set(qt,en,x.get(qt,en)-Lt*M[en])}M[vt]=mt*M[vt],x.set(vt,vt-1,mt*Rt)}}for(qt=0;qt=N+1;vt--)if(x.get(vt,vt-1)!==0){for(qt=vt+1;qt<=z;qt++)M[qt]=x.get(qt,vt-1);for(en=vt;en<=z;en++){for(Rt=0,qt=vt;qt<=z;qt++)Rt+=M[qt]*m.get(qt,en);for(Rt=Rt/M[vt]/x.get(vt,vt-1),qt=vt;qt<=z;qt++)m.set(qt,en,m.get(qt,en)+Rt*M[qt])}}}function vn(ot,x,M,m,N){let z=ot-1,Lt=0,Rt=ot-1,Jt=Number.EPSILON,qt=0,en=0,vt=0,mt=0,ct=0,xt=0,zt=0,Fe=0,Vt,Te,Je,Sn,Nn,er,kn,Wn,dr,Re,Bn,ar,Gn,kr,Qr;for(Vt=0;VtRt)&&(M[Vt]=N.get(Vt,Vt),x[Vt]=0),Te=Math.max(Vt-1,0);Te=Lt;){for(Sn=z;Sn>Lt&&(xt=Math.abs(N.get(Sn-1,Sn-1))+Math.abs(N.get(Sn,Sn)),xt===0&&(xt=en),!(Math.abs(N.get(Sn,Sn-1))=0){for(zt=vt>=0?vt+zt:vt-zt,M[z-1]=Wn+zt,M[z]=M[z-1],zt!==0&&(M[z]=Wn-kn/zt),x[z-1]=0,x[z]=0,Wn=N.get(z,z-1),xt=Math.abs(Wn)+Math.abs(zt),vt=Wn/xt,mt=zt/xt,ct=Math.sqrt(vt*vt+mt*mt),vt=vt/ct,mt=mt/ct,Te=z-1;Te0)){for(xt=Math.sqrt(xt),dr=Sn&&(zt=N.get(Nn,Nn),ct=Wn-zt,xt=dr-zt,vt=(ct*xt-kn)/N.get(Nn+1,Nn)+N.get(Nn,Nn+1),mt=N.get(Nn+1,Nn+1)-zt-ct-xt,ct=N.get(Nn+2,Nn+1),xt=Math.abs(vt)+Math.abs(mt)+Math.abs(ct),vt=vt/xt,mt=mt/xt,ct=ct/xt,!(Nn===Sn||Math.abs(N.get(Nn,Nn-1))*(Math.abs(mt)+Math.abs(ct))Nn+2&&N.set(Vt,Vt-3,0);for(Je=Nn;Je<=z-1&&(kr=Je!==z-1,Je!==Nn&&(vt=N.get(Je,Je-1),mt=N.get(Je+1,Je-1),ct=kr?N.get(Je+2,Je-1):0,Wn=Math.abs(vt)+Math.abs(mt)+Math.abs(ct),Wn!==0&&(vt=vt/Wn,mt=mt/Wn,ct=ct/Wn)),Wn!==0);Je++)if(xt=Math.sqrt(vt*vt+mt*mt+ct*ct),vt<0&&(xt=-xt),xt!==0){for(Je!==Nn?N.set(Je,Je-1,-xt*Wn):Sn!==Nn&&N.set(Je,Je-1,-N.get(Je,Je-1)),vt=vt+xt,Wn=vt/xt,dr=mt/xt,zt=ct/xt,mt=mt/vt,ct=ct/vt,Te=Je;Te=0;z--)if(vt=M[z],mt=x[z],mt===0)for(Sn=z,N.set(z,z,1),Vt=z-1;Vt>=0;Vt--){for(kn=N.get(Vt,Vt)-vt,ct=0,Te=Sn;Te<=z;Te++)ct=ct+N.get(Vt,Te)*N.get(Te,z);if(x[Vt]<0)zt=kn,xt=ct;else if(Sn=Vt,x[Vt]===0?N.set(Vt,z,kn!==0?-ct/kn:-ct/(Jt*en)):(Wn=N.get(Vt,Vt+1),dr=N.get(Vt+1,Vt),mt=(M[Vt]-vt)*(M[Vt]-vt)+x[Vt]*x[Vt],er=(Wn*xt-zt*ct)/mt,N.set(Vt,z,er),N.set(Vt+1,z,Math.abs(Wn)>Math.abs(zt)?(-ct-kn*er)/Wn:(-xt-dr*er)/zt)),er=Math.abs(N.get(Vt,z)),Jt*er*er>1)for(Te=Vt;Te<=z;Te++)N.set(Te,z,N.get(Te,z)/er)}else if(mt<0)for(Sn=z-1,Math.abs(N.get(z,z-1))>Math.abs(N.get(z-1,z))?(N.set(z-1,z-1,mt/N.get(z,z-1)),N.set(z-1,z,-(N.get(z,z)-vt)/N.get(z,z-1))):(Qr=un(0,-N.get(z-1,z),N.get(z-1,z-1)-vt,mt),N.set(z-1,z-1,Qr[0]),N.set(z-1,z,Qr[1])),N.set(z,z-1,0),N.set(z,z,1),Vt=z-2;Vt>=0;Vt--){for(Re=0,Bn=0,Te=Sn;Te<=z;Te++)Re=Re+N.get(Vt,Te)*N.get(Te,z-1),Bn=Bn+N.get(Vt,Te)*N.get(Te,z);if(kn=N.get(Vt,Vt)-vt,x[Vt]<0)zt=kn,ct=Re,xt=Bn;else if(Sn=Vt,x[Vt]===0?(Qr=un(-Re,-Bn,kn,mt),N.set(Vt,z-1,Qr[0]),N.set(Vt,z,Qr[1])):(Wn=N.get(Vt,Vt+1),dr=N.get(Vt+1,Vt),ar=(M[Vt]-vt)*(M[Vt]-vt)+x[Vt]*x[Vt]-mt*mt,Gn=(M[Vt]-vt)*2*mt,ar===0&&Gn===0&&(ar=Jt*en*(Math.abs(kn)+Math.abs(mt)+Math.abs(Wn)+Math.abs(dr)+Math.abs(zt))),Qr=un(Wn*ct-zt*Re+mt*Bn,Wn*xt-zt*Bn-mt*Re,ar,Gn),N.set(Vt,z-1,Qr[0]),N.set(Vt,z,Qr[1]),Math.abs(Wn)>Math.abs(zt)+Math.abs(mt)?(N.set(Vt+1,z-1,(-Re-kn*N.get(Vt,z-1)+mt*N.get(Vt,z))/Wn),N.set(Vt+1,z,(-Bn-kn*N.get(Vt,z)-mt*N.get(Vt,z-1))/Wn)):(Qr=un(-ct-dr*N.get(Vt,z-1),-xt-dr*N.get(Vt,z),zt,mt),N.set(Vt+1,z-1,Qr[0]),N.set(Vt+1,z,Qr[1]))),er=Math.max(Math.abs(N.get(Vt,z-1)),Math.abs(N.get(Vt,z))),Jt*er*er>1)for(Te=Vt;Te<=z;Te++)N.set(Te,z-1,N.get(Te,z-1)/er),N.set(Te,z,N.get(Te,z)/er)}for(Vt=0;VtRt)for(Te=Vt;Te=Lt;Te--)for(Vt=Lt;Vt<=Rt;Vt++){for(zt=0,Je=Lt;Je<=Math.min(Te,Rt);Je++)zt=zt+m.get(Vt,Je)*N.get(Je,Te);m.set(Vt,Te,zt)}}}function un(ot,x,M,m){let N,z;return Math.abs(M)>Math.abs(m)?(N=m/M,z=M+N*m,[(ot+N*x)/z,(x-N*ot)/z]):(N=M/m,z=m+N*M,[(N*ot+x)/z,(N*x-ot)/z])}class Xn{constructor(x){if(x=fn.checkMatrix(x),!x.isSymmetric())throw new Error("Matrix is not symmetric");let M=x,m=M.rows,N=new se(m,m),z=!0,Lt,Rt,Jt;for(Rt=0;Rt0),N.set(Rt,Rt,Math.sqrt(Math.max(qt,0))),Jt=Rt+1;Jt=0;Jt--)for(Rt=0;RtLt;ct++)vt=x.transpose().mmul(Rt).div(Rt.transpose().mmul(Rt).get(0,0)),vt=vt.div(vt.norm()),qt=x.mmul(vt).div(vt.transpose().mmul(vt).get(0,0)),ct>0&&(Jt=qt.clone().sub(mt).pow(2).sum()),mt=qt.clone(),m?(en=m.transpose().mmul(qt).div(qt.transpose().mmul(qt).get(0,0)),en=en.div(en.norm()),Rt=m.mmul(en).div(en.transpose().mmul(en).get(0,0))):Rt=qt;if(m){let ct=x.transpose().mmul(qt).div(qt.transpose().mmul(qt).get(0,0));ct=ct.div(ct.norm());let xt=x.clone().sub(qt.clone().mmul(ct.transpose())),zt=Rt.transpose().mmul(qt).div(qt.transpose().mmul(qt).get(0,0)),Fe=m.clone().sub(qt.clone().mulS(zt.get(0,0)).mmul(en.transpose()));this.t=qt,this.p=ct.transpose(),this.w=vt.transpose(),this.q=en,this.u=Rt,this.s=qt.transpose().mmul(qt),this.xResidual=xt,this.yResidual=Fe,this.betas=zt}else this.w=vt.transpose(),this.s=qt.transpose().mmul(qt).sqrt(),N?this.t=qt.clone().div(this.s.get(0,0)):this.t=qt,this.xResidual=x.sub(qt.mmul(vt.transpose()))}}dt.XA=Ie,dt.a_=Xn,dt.yQ=Xn,dt.Hs=Cn,dt.Ec=Zt,dt.dx=Zt,dt.LU=Qn,dt.Rm=Qn,dt.y3=se,dt.qK=Nt,dt.pb=nt,dt.j=Yt,dt.sO=It,dt.BZ=Wt,dt.EK=Qt,dt.Db=ge,dt.Fx=me,dt.tU=oe,dt.Ym=ir,dt.rs=ir,dt.QR=Vn,dt.TB=Vn,dt.oH=Nr,dt.Sc=Nr,dt.BN=Ke,dt.it=Ge,dt.$r=fn,dt.QM=Dt,dt.AV=ye,c=se,dt.GH=be,dt.SO=ur,dt.uZ=Ze,dt.yU=Ce,dt.F1=yr,dt.re=An},80574:function(gt,dt,g){"use strict";g.d(dt,{Ae:function(){return X},CF:function(){return se},vC:function(){return Ie},x1:function(){return S}});function c(bt,nt,Nt,Yt,It,Qt){const Wt=bt,ge=nt,me=Nt-Wt,oe=Yt-ge;let Ge=It-Wt,fn=Qt-ge,An=Ge*me+fn*oe,Qn=0;An<=0?Qn=0:(Ge=me-Ge,fn=oe-fn,An=Ge*me+fn*oe,An<=0?Qn=0:Qn=An*An/(me*me+oe*oe));const Yn=Ge*Ge+fn*fn-Qn;return Yn<0?0:Yn}function R(bt,nt,Nt,Yt){return(bt-Nt)*(bt-Nt)+(nt-Yt)*(nt-Yt)}function P(bt,nt,Nt,Yt,It){return R(bt,nt,Nt,Yt)Nt;if(bt===0)return Math.round;const nt=Math.pow(10,bt);return Nt=>Math.round(Nt*nt)/nt}function w(bt){const nt=Math.min(bt.x1,bt.x2),Nt=Math.max(bt.x1,bt.x2),Yt=Math.min(bt.y1,bt.y2),It=Math.max(bt.y1,bt.y2);return{x:nt,y:Yt,x2:Nt,y2:It,width:Nt-nt,height:It-Yt}}class S{constructor(nt,Nt,Yt,It){this.x1=nt,this.y1=Nt,this.x2=Yt,this.y2=It}equals(nt){return this.x1===nt.x1&&this.y1===nt.y1&&this.x2===nt.x2&&this.y2===nt.y2}draw(nt){nt.moveTo(this.x1,this.y1),nt.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(nt){return new S(nt.x1,nt.y1,nt.x2,nt.y2)}cuts(nt,Nt){if(this.y1===this.y2||Ntthis.y1&&Nt>=this.y2||nt>this.x1&&nt>=this.x2)return!1;if(ntthis.x2+Yt)return!1}else if(ntthis.x1+Yt)return!1;if(this.y1this.y2+Yt)return!1}else if(Ntthis.y1+Yt)return!1;return!0}}var E;(function(bt){bt[bt.POINT=1]="POINT",bt[bt.PARALLEL=2]="PARALLEL",bt[bt.COINCIDENT=3]="COINCIDENT",bt[bt.NONE=4]="NONE"})(E||(E={}));class L{constructor(nt,Nt=0,Yt=0){this.state=nt,this.x=Nt,this.y=Yt}}function D(bt,nt){const Nt=(nt.x2-nt.x1)*(bt.y1-nt.y1)-(nt.y2-nt.y1)*(bt.x1-nt.x1),Yt=(bt.x2-bt.x1)*(bt.y1-nt.y1)-(bt.y2-bt.y1)*(bt.x1-nt.x1),It=(nt.y2-nt.y1)*(bt.x2-bt.x1)-(nt.x2-nt.x1)*(bt.y2-bt.y1);if(It){const Qt=Nt/It,Wt=Yt/It;return 0<=Qt&&Qt<=1&&0<=Wt&&Wt<=1?new L(E.POINT,bt.x1+Qt*(bt.x2-bt.x1),bt.y1+Qt*(bt.y2-bt.y1)):new L(E.NONE)}return new L(Nt===0||Yt===0?E.COINCIDENT:E.PARALLEL)}function T(bt,nt){const Nt=(nt.x2-nt.x1)*(bt.y1-nt.y1)-(nt.y2-nt.y1)*(bt.x1-nt.x1),Yt=(bt.x2-bt.x1)*(bt.y1-nt.y1)-(bt.y2-bt.y1)*(bt.x1-nt.x1),It=(nt.y2-nt.y1)*(bt.x2-bt.x1)-(nt.x2-nt.x1)*(bt.y2-bt.y1);if(It){const Qt=Nt/It,Wt=Yt/It;if(0<=Qt&&Qt<=1&&0<=Wt&&Wt<=1)return Qt}return Number.POSITIVE_INFINITY}function K(bt,nt){function Nt(It,Qt,Wt,ge){let me=T(nt,new S(It,Qt,Wt,ge));return me=Math.abs(me-.5),me>=0&&me<=1?1:0}let Yt=Nt(bt.x,bt.y,bt.x2,bt.y);return Yt+=Nt(bt.x,bt.y,bt.x,bt.y2),Yt>1||(Yt+=Nt(bt.x,bt.y2,bt.x2,bt.y2),Yt>1)?!0:(Yt+=Nt(bt.x2,bt.y,bt.x2,bt.y2),Yt>0)}var Z;(function(bt){bt[bt.LEFT=0]="LEFT",bt[bt.TOP=1]="TOP",bt[bt.RIGHT=2]="RIGHT",bt[bt.BOTTOM=3]="BOTTOM"})(Z||(Z={}));function tt(bt,nt,Nt){const Yt=new Set;return bt.width<=0?(Yt.add(Z.LEFT),Yt.add(Z.RIGHT)):ntbt.x+bt.width&&Yt.add(Z.RIGHT),bt.height<=0?(Yt.add(Z.TOP),Yt.add(Z.BOTTOM)):Ntbt.y+bt.height&&Yt.add(Z.BOTTOM),Yt}function V(bt,nt){let Nt=nt.x1,Yt=nt.y1;const It=nt.x2,Qt=nt.y2,Wt=Array.from(tt(bt,It,Qt));if(Wt.length===0)return!0;let ge=tt(bt,Nt,Yt);for(;ge.size!==0;){for(const me of Wt)if(ge.has(me))return!1;if(ge.has(Z.RIGHT)||ge.has(Z.LEFT)){let me=bt.x;ge.has(Z.RIGHT)&&(me+=bt.width),Yt=Yt+(me-Nt)*(Qt-Yt)/(It-Nt),Nt=me}else{let me=bt.y;ge.has(Z.BOTTOM)&&(me+=bt.height),Nt=Nt+(me-Yt)*(It-Nt)/(Qt-Yt),Yt=me}ge=tt(bt,Nt,Yt)}return!0}function pt(bt,nt){let Nt=Number.POSITIVE_INFINITY,Yt=0;function It(Qt,Wt,ge,me){let oe=T(nt,new S(Qt,Wt,ge,me));oe=Math.abs(oe-.5),oe>=0&&oe<=1&&(Yt++,oe1||(It(bt.x,bt.y2,bt.x2,bt.y2),Yt>1)?Nt:(It(bt.x2,bt.y,bt.x2,bt.y2),Yt===0?-1:Nt)}function st(bt,nt){let Nt=0;const Yt=D(bt,new S(nt.x,nt.y,nt.x2,nt.y));Nt+=Yt.state===E.POINT?1:0;const It=D(bt,new S(nt.x,nt.y,nt.x,nt.y2));Nt+=It.state===E.POINT?1:0;const Qt=D(bt,new S(nt.x,nt.y2,nt.x2,nt.y2));Nt+=Qt.state===E.POINT?1:0;const Wt=D(bt,new S(nt.x2,nt.y,nt.x2,nt.y2));return Nt+=Wt.state===E.POINT?1:0,{top:Yt,left:It,bottom:Qt,right:Wt,count:Nt}}class X{constructor(nt,Nt,Yt,It){this.x=nt,this.y=Nt,this.width=Yt,this.height=It}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(nt){return new X(nt.x,nt.y,nt.width,nt.height)}equals(nt){return this.x===nt.x&&this.y===nt.y&&this.width===nt.width&&this.height===nt.height}clone(){return new X(this.x,this.y,this.width,this.height)}add(nt){const Nt=Math.min(this.x,nt.x),Yt=Math.min(this.y,nt.y),It=Math.max(this.x2,nt.x+nt.width),Qt=Math.max(this.y2,nt.y+nt.height);this.x=Nt,this.y=Yt,this.width=It-Nt,this.height=Qt-Yt}addPoint(nt){const Nt=Math.min(this.x,nt.x),Yt=Math.min(this.y,nt.y),It=Math.max(this.x2,nt.x),Qt=Math.max(this.y2,nt.y);this.x=Nt,this.y=Yt,this.width=It-Nt,this.height=Qt-Yt}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(nt){nt.rect(this.x,this.y,this.width,this.height)}containsPt(nt,Nt){return nt>=this.x&&nt<=this.x2&&Nt>=this.y&&Nt<=this.y2}get area(){return this.width*this.height}intersects(nt){return this.area<=0||nt.width<=0||nt.height<=0?!1:nt.x+nt.width>this.x&&nt.y+nt.height>this.y&&nt.x=this.width?this.width-1:nt}boundY(nt){return nt=this.height?this.height-1:nt}scaleX(nt){return this.boundX(Math.floor((nt-this.pixelX)/this.pixelGroup))}scaleY(nt){return this.boundY(Math.floor((nt-this.pixelY)/this.pixelGroup))}scale(nt){const Nt=this.scaleX(nt.x),Yt=this.scaleY(nt.y),It=this.boundX(Math.ceil((nt.x+nt.width-this.pixelX)/this.pixelGroup)),Qt=this.boundY(Math.ceil((nt.y+nt.height-this.pixelY)/this.pixelGroup)),Wt=It-Nt,ge=Qt-Yt;return new X(Nt,Yt,Wt,ge)}invertScaleX(nt){return Math.round(nt*this.pixelGroup+this.pixelX)}invertScaleY(nt){return Math.round(nt*this.pixelGroup+this.pixelY)}addPadding(nt,Nt){const Yt=Math.ceil(Nt/this.pixelGroup),It=this.boundX(nt.x-Yt),Qt=this.boundY(nt.y-Yt),Wt=this.boundX(nt.x2+Yt),ge=this.boundY(nt.y2+Yt),me=Wt-It,oe=ge-Qt;return new X(It,Qt,me,oe)}get(nt,Nt){return nt<0||Nt<0||nt>=this.width||Nt>=this.height?Number.NaN:this.area[nt+Nt*this.width]}inc(nt,Nt,Yt){nt<0||Nt<0||nt>=this.width||Nt>=this.height||(this.area[nt+Nt*this.width]+=Yt)}set(nt,Nt,Yt){nt<0||Nt<0||nt>=this.width||Nt>=this.height||(this.area[nt+Nt*this.width]=Yt)}incArea(nt,Nt){if(nt.width<=0||nt.height<=0||Nt===0)return;const Yt=this.width,It=nt.width,Qt=Math.max(0,nt.i),Wt=Math.max(0,nt.j),ge=Math.min(nt.i+nt.width,Yt),me=Math.min(nt.j+nt.height,this.height);if(!(me<=0||ge<=0||Qt>=Yt||me>=this.height))for(let oe=Wt;oeMath.min(Wt,ge),Number.POSITIVE_INFINITY),It=this.area.reduce((Wt,ge)=>Math.max(Wt,ge),Number.NEGATIVE_INFINITY),Qt=Wt=>(Wt-Yt)/(It-Yt);nt.scale(this.pixelGroup,this.pixelGroup);for(let Wt=0;WtNt?"black":"white",nt.fillRect(It,Qt,1,1)}nt.restore()}}}function jt(bt,nt){const Nt=Yt=>({x:Yt.x-nt,y:Yt.y-nt,width:Yt.width+2*nt,height:Yt.height+2*nt});return Array.isArray(bt)?bt.map(Nt):Nt(bt)}function Gt(bt,nt,Nt){return Oe(Object.assign(w(bt),{distSquare:(Yt,It)=>c(bt.x1,bt.y1,bt.x2,bt.y2,Yt,It)}),nt,Nt)}function Oe(bt,nt,Nt){const Yt=jt(bt,Nt),It=nt.scale(Yt),Qt=nt.createSub(It,Yt);return de(Qt,nt,Nt,(Wt,ge)=>bt.distSquare(Wt,ge)),Qt}function de(bt,nt,Nt,Yt){const It=Nt*Nt;for(let Qt=0;Qt{const ge=It.slice(0,Wt);return or(nt,Qt,ge,Nt,Yt)}).flat()}function or(bt,nt,Nt,Yt,It){const Qt=wn(nt.cx,nt.cy),Wt=Pt(Qt,Nt,bt);if(Wt==null)return[];const ge=new S(Qt.x,Qt.y,Wt.cx,Wt.cy),me=pn(ge,bt,Yt,It);return zn(me,bt)}function pn(bt,nt,Nt,Yt){const It=[],Qt=[];Qt.push(bt);let Wt=!0;for(let ge=0;ge0;){const me=Qt.pop(),oe=ze(nt,me),Ge=oe?st(me,oe):null;if(!oe||!Ge||Ge.count!==2){Wt||It.push(me);continue}let fn=Yt,An=ln(oe,fn,Ge,!0),Qn=On(An,Qt)||On(An,It),Yn=Un(An,nt);for(;!Qn&&Yn&&fn>=1;)fn/=1.5,An=ln(oe,fn,Ge,!0),Qn=On(An,Qt)||On(An,It),Yn=Un(An,nt);if(An&&!Qn&&!Yn&&(Qt.push(new S(me.x1,me.y1,An.x,An.y)),Qt.push(new S(An.x,An.y,me.x2,me.y2)),Wt=!0),Wt)continue;fn=Yt,An=ln(oe,fn,Ge,!1);let Vn=On(An,Qt)||On(An,It);for(Yn=Un(An,nt);!Vn&&Yn&&fn>=1;)fn/=1.5,An=ln(oe,fn,Ge,!1),Vn=On(An,Qt)||On(An,It),Yn=Un(An,nt);An&&!Vn&&(Qt.push(new S(me.x1,me.y1,An.x,An.y)),Qt.push(new S(An.x,An.y,me.x2,me.y2)),Wt=!0),Wt||It.push(me)}for(;Qt.length>0;)It.push(Qt.pop());return It}function zn(bt,nt){const Nt=[];for(;bt.length>0;){const Yt=bt.pop();if(bt.length===0){Nt.push(Yt);break}const It=bt.pop(),Qt=new S(Yt.x1,Yt.y1,It.x2,It.y2);ze(nt,Qt)?(Nt.push(Yt),bt.push(It)):bt.push(Qt)}return Nt}function Pt(bt,nt,Nt){let Yt=Number.POSITIVE_INFINITY;return nt.reduce((It,Qt)=>{const Wt=R(bt.x,bt.y,Qt.cx,Qt.cy);if(Wt>Yt)return It;const ge=new S(bt.x,bt.y,Qt.cx,Qt.cy),me=tn(Nt,ge);return Wt*(me+1)*(me+1){nt+=Yt.cx,Nt+=Yt.cy}),nt/=bt.length,Nt/=bt.length,bt.map(Yt=>{const It=nt-Yt.cx,Qt=Nt-Yt.cy,Wt=It*It+Qt*Qt;return[Yt,Wt]}).sort((Yt,It)=>Yt[1]-It[1]).map(Yt=>Yt[0])}function Un(bt,nt){return nt.some(Nt=>Nt.containsPt(bt.x,bt.y))}function On(bt,nt){return nt.some(Nt=>!!(P(Nt.x1,Nt.y1,bt.x,bt.y,.001)||P(Nt.x2,Nt.y2,bt.x,bt.y,.001)))}function ze(bt,nt){let Nt=Number.POSITIVE_INFINITY,Yt=null;for(const It of bt){if(!V(It,nt))continue;const Qt=pt(It,nt);Qt>=0&&QtV(Yt,nt)&&K(Yt,nt)?Nt+1:Nt,0)}function ln(bt,nt,Nt,Yt){const It=Nt.top,Qt=Nt.left,Wt=Nt.bottom,ge=Nt.right;if(Yt){if(Qt.state===E.POINT){if(It.state===E.POINT)return wn(bt.x-nt,bt.y-nt);if(Wt.state===E.POINT)return wn(bt.x-nt,bt.y2+nt);const An=bt.width*bt.height;return bt.width*((Qt.y-bt.y+(ge.y-bt.y))*.5)ge.y?wn(bt.x-nt,bt.y-nt):wn(bt.x2+nt,bt.y-nt):Qt.yWt.x?wn(bt.x-nt,bt.y-nt):wn(bt.x-nt,bt.y2+nt):It.xge.y?wn(bt.x2+nt,bt.y2+nt):wn(bt.x-nt,bt.y2+nt):Qt.yWt.x?wn(bt.x2+nt,bt.y2+nt):wn(bt.x2+nt,bt.y-nt):It.xYt)return!1}return!0}function Pe(bt=0){return nt=>{if(bt<0||nt.length<3)return nt;const Nt=[];let Yt=0;const It=bt*bt;for(;Yt{if(Wt.length<3)return Wt;const ge=[],me=Wt.closed,oe=Wt.length+3-1+(me?0:2);ge.push(Qt(Wt,2-(me?0:2),0));for(let Ge=2-(me?0:2);Ge{let Nt=bt,Yt=nt.length;if(Nt>1)for(Yt=Math.floor(nt.length/Nt);Yt<3&&Nt>1;)Nt-=1,Yt=Math.floor(nt.length/Nt);const It=[];for(let Qt=0,Wt=0;Wt=Yt?this.closed?this.get(nt-Yt):this.points[Yt-1]:this.points[Nt]}get length(){return this.points.length}toString(nt=1/0){const Nt=this.points;if(Nt.length===0)return"";const Yt=typeof nt=="function"?nt:U(nt);let It="M";for(const Qt of Nt)It+=`${Yt(Qt.x)},${Yt(Qt.y)} L`;return It=It.slice(0,-1),this.closed&&(It+=" Z"),It}draw(nt){const Nt=this.points;if(Nt.length!==0){nt.beginPath(),nt.moveTo(Nt[0].x,Nt[0].y);for(const Yt of Nt)nt.lineTo(Yt.x,Yt.y);this.closed&&nt.closePath()}}sample(nt){return ve(nt)(this)}simplify(nt){return Pe(nt)(this)}bSplines(nt){return Bt(nt)(this)}apply(nt){return nt(this)}containsElements(nt){const Nt=Mt(this.points);return Nt?nt.every(Yt=>Nt.containsPt(Yt.cx,Yt.cy)&&this.withinArea(Yt.cx,Yt.cy)):!1}withinArea(nt,Nt){if(this.length===0)return!1;let Yt=0;const It=this.points[0],Qt=new S(It.x,It.y,It.x,It.y);for(let Wt=1;Wtnt?Ge+fn:Ge}function Qt(me,oe){let Ge=ce;return Ge=It(me,oe,Ge,1),Ge=It(me+1,oe,Ge,2),Ge=It(me,oe+1,Ge,4),Ge=It(me+1,oe+1,Ge,8),Number.isNaN(Ge)?-1:Ge}let Wt=We;function ge(me,oe){let Ge=me,fn=oe,An=bt.invertScaleX(Ge),Qn=bt.invertScaleY(fn);for(let Yn=0;Ynrt(Yt.raw,nt));return Nt<0?!1:(this.members.splice(Nt,1),this.dirty.add(ue.MEMBERS),!0)}removeNonMember(nt){const Nt=this.nonMembers.findIndex(Yt=>rt(Yt.raw,nt));return Nt<0?!1:(this.nonMembers.splice(Nt,1),this.dirty.add(ue.NON_MEMBERS),!0)}removeEdge(nt){const Nt=this.edges.findIndex(Yt=>Yt.obj.equals(nt));return Nt<0?!1:(this.edges.splice(Nt,1),this.dirty.add(ue.NON_MEMBERS),!0)}pushNonMember(...nt){if(nt.length!==0){this.dirty.add(ue.NON_MEMBERS);for(const Nt of nt)this.nonMembers.push({raw:Nt,obj:F(Nt)?ft.from(Nt):X.from(Nt),area:null})}}pushEdge(...nt){if(nt.length!==0){this.dirty.add(ue.EDGES);for(const Nt of nt)this.edges.push({raw:Nt,obj:S.from(Nt),area:null})}}update(){const nt=this.dirty.has(ue.MEMBERS),Nt=this.dirty.has(ue.NON_MEMBERS);let Yt=this.dirty.has(ue.EDGES);this.dirty.clear();const It=this.members.map(oe=>oe.obj);if(this.o.virtualEdges&&(nt||Nt)){const oe=this.nonMembers.map(An=>An.obj),Ge=Rn(It,oe,this.o.maxRoutingIterations,this.o.morphBuffer),fn=new Map(this.virtualEdges.map(An=>[An.obj.toString(),An.area]));this.virtualEdges=Ge.map(An=>{var Qn;return{raw:An,obj:An,area:(Qn=fn.get(An.toString()))!==null&&Qn!==void 0?Qn:null}}),Yt=!0}let Qt=!1;if(nt||Yt){const oe=this.virtualEdges.concat(this.edges).map(Qn=>Qn.obj),Ge=Ke(It,oe),fn=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,An=X.from(jt(Ge,fn));An.equals(this.activeRegion)||(Qt=!0,this.activeRegion=An)}if(Qt){const oe=Math.ceil(this.activeRegion.width/this.o.pixelGroup),Ge=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Ut.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(fn=>fn.area=null),this.nonMembers.forEach(fn=>fn.area=null),this.edges.forEach(fn=>fn.area=null),this.virtualEdges.forEach(fn=>fn.area=null)):(oe!==this.potentialArea.width||Ge!==this.potentialArea.height)&&(this.potentialArea=Ut.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const Wt=new Map,ge=oe=>{if(oe.area){const Ge=`${oe.obj.width}x${oe.obj.height}x${oe.obj instanceof X?"R":"C"}`;Wt.set(Ge,oe.area)}},me=oe=>{if(oe.area)return;const Ge=`${oe.obj.width}x${oe.obj.height}x${oe.obj instanceof X?"R":"C"}`;if(Wt.has(Ge)){const An=Wt.get(Ge);oe.area=this.potentialArea.copy(An,{x:oe.obj.x-this.o.nodeR1,y:oe.obj.y-this.o.nodeR1});return}const fn=oe.obj instanceof X?sn(oe.obj,this.potentialArea,this.o.nodeR1):Oe(oe.obj,this.potentialArea,this.o.nodeR1);oe.area=fn,Wt.set(Ge,fn)};this.members.forEach(ge),this.nonMembers.forEach(ge),this.members.forEach(me),this.nonMembers.forEach(oe=>{this.activeRegion.intersects(oe.obj)?me(oe):oe.area=null}),this.edges.forEach(oe=>{oe.area||(oe.area=Gt(oe.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(oe=>{oe.area||(oe.area=Gt(oe.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(nt){for(const Nt of this.members)Nt.obj.draw(nt)}drawNonMembers(nt){for(const Nt of this.nonMembers)Nt.obj.draw(nt)}drawEdges(nt){for(const Nt of this.edges)Nt.obj.draw(nt)}drawPotentialArea(nt,Nt=!0){this.potentialArea.draw(nt,Nt)}compute(){if(this.members.length===0)return new nn([]);this.dirty.size>0&&this.update();const{o:nt,potentialArea:Nt}=this,Yt=this.members.map(ge=>ge.area),It=this.virtualEdges.concat(this.edges).map(ge=>ge.area),Qt=this.nonMembers.filter(ge=>ge.area!=null).map(ge=>ge.area),Wt=this.members.map(ge=>ge.obj);return je(Nt,Yt,It,Qt,ge=>ge.containsElements(Wt),nt)}}function je(bt,nt,Nt,Yt,It,Qt={}){const Wt=Object.assign({},Ie,Qt);let ge=Wt.threshold,me=Wt.memberInfluenceFactor,oe=Wt.edgeInfluenceFactor,Ge=Wt.nonMemberInfluenceFactor;const fn=(Wt.nodeR0-Wt.nodeR1)*(Wt.nodeR0-Wt.nodeR1),An=(Wt.edgeR0-Wt.edgeR1)*(Wt.edgeR0-Wt.edgeR1);for(let Qn=0;Qn0)Ge*=.8;else break}return new nn([])}function Ke(bt,nt){if(bt.length===0)return new X(0,0,0,0);const Nt=X.from(bt[0]);for(const Yt of bt)Nt.add(Yt);for(const Yt of nt)Nt.add(w(Yt));return Nt}function Cn(bt,nt=[],Nt=[],Yt={}){if(bt.length===0)return new nn([]);const It=new se(Yt);return It.pushMember(...bt),It.pushNonMember(...nt),It.pushEdge(...Nt),It.compute()}},45411:function(gt){"use strict";gt.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(gt,dt,g){var c=g(45411),R=g(81683),P=Object.hasOwnProperty,U=Object.create(null);for(var w in c)P.call(c,w)&&(U[c[w]]=w);var S=gt.exports={to:{},get:{}};S.get=function(D){var T=D.substring(0,3).toLowerCase(),K,Z;switch(T){case"hsl":K=S.get.hsl(D),Z="hsl";break;case"hwb":K=S.get.hwb(D),Z="hwb";break;default:K=S.get.rgb(D),Z="rgb";break}return K?{model:Z,value:K}:null},S.get.rgb=function(D){if(!D)return null;var T=/^#([a-f0-9]{3,4})$/i,K=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Z=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,tt=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,V=/^(\w+)$/,pt=[0,0,0,1],st,X,Mt;if(st=D.match(K)){for(Mt=st[2],st=st[1],X=0;X<3;X++){var ft=X*2;pt[X]=parseInt(st.slice(ft,ft+2),16)}Mt&&(pt[3]=parseInt(Mt,16)/255)}else if(st=D.match(T)){for(st=st[1],Mt=st[3],X=0;X<3;X++)pt[X]=parseInt(st[X]+st[X],16);Mt&&(pt[3]=parseInt(Mt+Mt,16)/255)}else if(st=D.match(Z)){for(X=0;X<3;X++)pt[X]=parseInt(st[X+1],0);st[4]&&(st[5]?pt[3]=parseFloat(st[4])*.01:pt[3]=parseFloat(st[4]))}else if(st=D.match(tt)){for(X=0;X<3;X++)pt[X]=Math.round(parseFloat(st[X+1])*2.55);st[4]&&(st[5]?pt[3]=parseFloat(st[4])*.01:pt[3]=parseFloat(st[4]))}else return(st=D.match(V))?st[1]==="transparent"?[0,0,0,0]:P.call(c,st[1])?(pt=c[st[1]],pt[3]=1,pt):null:null;for(X=0;X<3;X++)pt[X]=E(pt[X],0,255);return pt[3]=E(pt[3],0,1),pt},S.get.hsl=function(D){if(!D)return null;var T=/^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*)?\)$/,K=D.match(T);if(K){var Z=parseFloat(K[4]),tt=(parseFloat(K[1])%360+360)%360,V=E(parseFloat(K[2]),0,100),pt=E(parseFloat(K[3]),0,100),st=E(isNaN(Z)?1:Z,0,1);return[tt,V,pt,st]}return null},S.get.hwb=function(D){if(!D)return null;var T=/^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*)?\)$/,K=D.match(T);if(K){var Z=parseFloat(K[4]),tt=(parseFloat(K[1])%360+360)%360,V=E(parseFloat(K[2]),0,100),pt=E(parseFloat(K[3]),0,100),st=E(isNaN(Z)?1:Z,0,1);return[tt,V,pt,st]}return null},S.to.hex=function(){var D=R(arguments);return"#"+L(D[0])+L(D[1])+L(D[2])+(D[3]<1?L(Math.round(D[3]*255)):"")},S.to.rgb=function(){var D=R(arguments);return D.length<4||D[3]===1?"rgb("+Math.round(D[0])+", "+Math.round(D[1])+", "+Math.round(D[2])+")":"rgba("+Math.round(D[0])+", "+Math.round(D[1])+", "+Math.round(D[2])+", "+D[3]+")"},S.to.rgb.percent=function(){var D=R(arguments),T=Math.round(D[0]/255*100),K=Math.round(D[1]/255*100),Z=Math.round(D[2]/255*100);return D.length<4||D[3]===1?"rgb("+T+"%, "+K+"%, "+Z+"%)":"rgba("+T+"%, "+K+"%, "+Z+"%, "+D[3]+")"},S.to.hsl=function(){var D=R(arguments);return D.length<4||D[3]===1?"hsl("+D[0]+", "+D[1]+"%, "+D[2]+"%)":"hsla("+D[0]+", "+D[1]+"%, "+D[2]+"%, "+D[3]+")"},S.to.hwb=function(){var D=R(arguments),T="";return D.length>=4&&D[3]!==1&&(T=", "+D[3]),"hwb("+D[0]+", "+D[1]+"%, "+D[2]+"%"+T+")"},S.to.keyword=function(D){return U[D.slice(0,3)]};function E(D,T,K){return Math.min(Math.max(T,D),K)}function L(D){var T=Math.round(D).toString(16).toUpperCase();return T.length<2?"0"+T:T}},92546:function(gt,dt,g){gt.exports={graphlib:g(76626),layout:g(47194),debug:g(11303),util:{time:g(53063).time,notime:g(53063).notime},version:g(11897)}},81255:function(gt,dt,g){"use strict";var c=g(72361),R=g(39240);gt.exports={run:P,undo:w};function P(S){var E=S.graph().acyclicer==="greedy"?R(S,L(S)):U(S);c.forEach(E,function(D){var T=S.edge(D);S.removeEdge(D),T.forwardName=D.name,T.reversed=!0,S.setEdge(D.w,D.v,T,c.uniqueId("rev"))});function L(D){return function(T){return D.edge(T).weight}}}function U(S){var E=[],L={},D={};function T(K){c.has(D,K)||(D[K]=!0,L[K]=!0,c.forEach(S.outEdges(K),function(Z){c.has(L,Z.w)?E.push(Z):T(Z.w)}),delete L[K])}return c.forEach(S.nodes(),T),E}function w(S){c.forEach(S.edges(),function(E){var L=S.edge(E);if(L.reversed){S.removeEdge(E);var D=L.forwardName;delete L.reversed,delete L.forwardName,S.setEdge(E.w,E.v,L,D)}})}},60765:function(gt,dt,g){var c=g(72361),R=g(53063);gt.exports=P;function P(w){function S(E){var L=w.children(E),D=w.node(E);if(L.length&&c.forEach(L,S),c.has(D,"minRank")){D.borderLeft=[],D.borderRight=[];for(var T=D.minRank,K=D.maxRank+1;T0;--X)if(st=K[X].dequeue(),st){tt=tt.concat(E(T,K,Z,st,!0));break}}}return tt}function E(T,K,Z,tt,V){var pt=V?[]:void 0;return c.forEach(T.inEdges(tt.v),function(st){var X=T.edge(st),Mt=T.node(st.v);V&&pt.push({v:st.v,w:st.w}),Mt.out-=X,D(K,Z,Mt)}),c.forEach(T.outEdges(tt.v),function(st){var X=T.edge(st),Mt=st.w,ft=T.node(Mt);ft.in-=X,D(K,Z,ft)}),T.removeNode(tt.v),pt}function L(T,K){var Z=new R,tt=0,V=0;c.forEach(T.nodes(),function(X){Z.setNode(X,{v:X,in:0,out:0})}),c.forEach(T.edges(),function(X){var Mt=Z.edge(X.v,X.w)||0,ft=K(X),Ut=Mt+ft;Z.setEdge(X.v,X.w,Ut),V=Math.max(V,Z.node(X.v).out+=ft),tt=Math.max(tt,Z.node(X.w).in+=ft)});var pt=c.range(V+tt+3).map(function(){return new P}),st=tt+1;return c.forEach(Z.nodes(),function(X){D(pt,st,Z.node(X))}),{graph:Z,buckets:pt,zeroIdx:st}}function D(T,K,Z){Z.out?Z.in?T[Z.out-Z.in+K].enqueue(Z):T[T.length-1].enqueue(Z):T[0].enqueue(Z)}},47194:function(gt,dt,g){"use strict";var c=g(72361),R=g(81255),P=g(27163),U=g(64505),w=g(53063).normalizeRanks,S=g(71970),E=g(53063).removeEmptyRanks,L=g(31733),D=g(60765),T=g(13257),K=g(62852),Z=g(93021),tt=g(53063),V=g(76626).Graph;gt.exports=pt;function pt(pe,Pe){var Ft=Pe&&Pe.debugTiming?tt.time:tt.notime;Ft("layout",function(){var Bt=Ft(" buildLayoutGraph",function(){return Be(pe)});Ft(" runLayout",function(){st(Bt,Ft)}),Ft(" updateInputGraph",function(){X(pe,Bt)})})}function st(pe,Pe){Pe(" makeSpaceForEdgeLabels",function(){En(pe)}),Pe(" removeSelfEdges",function(){Un(pe)}),Pe(" acyclic",function(){R.run(pe)}),Pe(" nestingGraph.run",function(){L.run(pe)}),Pe(" rank",function(){U(tt.asNonCompoundGraph(pe))}),Pe(" injectEdgeLabelProxies",function(){Ln(pe)}),Pe(" removeEmptyRanks",function(){E(pe)}),Pe(" nestingGraph.cleanup",function(){L.cleanup(pe)}),Pe(" normalizeRanks",function(){w(pe)}),Pe(" assignRankMinMax",function(){wn(pe)}),Pe(" removeEdgeLabelProxies",function(){Rn(pe)}),Pe(" normalize.run",function(){P.run(pe)}),Pe(" parentDummyChains",function(){S(pe)}),Pe(" addBorderSegments",function(){D(pe)}),Pe(" order",function(){K(pe)}),Pe(" insertSelfEdges",function(){On(pe)}),Pe(" adjustCoordinateSystem",function(){T.adjust(pe)}),Pe(" position",function(){Z(pe)}),Pe(" positionSelfEdges",function(){ze(pe)}),Pe(" removeBorderNodes",function(){Se(pe)}),Pe(" normalize.undo",function(){P.undo(pe)}),Pe(" fixupEdgeLabelCoords",function(){zn(pe)}),Pe(" undoCoordinateSystem",function(){T.undo(pe)}),Pe(" translateGraph",function(){or(pe)}),Pe(" assignNodeIntersects",function(){pn(pe)}),Pe(" reversePoints",function(){Pt(pe)}),Pe(" acyclic.undo",function(){R.undo(pe)})}function X(pe,Pe){c.forEach(pe.nodes(),function(Ft){var Bt=pe.node(Ft),ve=Pe.node(Ft);Bt&&(Bt.x=ve.x,Bt.y=ve.y,Pe.children(Ft).length&&(Bt.width=ve.width,Bt.height=ve.height))}),c.forEach(pe.edges(),function(Ft){var Bt=pe.edge(Ft),ve=Pe.edge(Ft);Bt.points=ve.points,c.has(ve,"x")&&(Bt.x=ve.x,Bt.y=ve.y)}),pe.graph().width=Pe.graph().width,pe.graph().height=Pe.graph().height}var Mt=["nodesep","edgesep","ranksep","marginx","marginy"],ft={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Ut=["acyclicer","ranker","rankdir","align"],jt=["width","height"],Gt={width:0,height:0},Oe=["minlen","weight","width","height","labeloffset"],de={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},sn=["labelpos"];function Be(pe){var Pe=new V({multigraph:!0,compound:!0}),Ft=ln(pe.graph());return Pe.setGraph(c.merge({},ft,tn(Ft,Mt),c.pick(Ft,Ut))),c.forEach(pe.nodes(),function(Bt){var ve=ln(pe.node(Bt));Pe.setNode(Bt,c.defaults(tn(ve,jt),Gt)),Pe.setParent(Bt,pe.parent(Bt))}),c.forEach(pe.edges(),function(Bt){var ve=ln(pe.edge(Bt));Pe.setEdge(Bt,c.merge({},de,tn(ve,Oe),c.pick(ve,sn)))}),Pe}function En(pe){var Pe=pe.graph();Pe.ranksep/=2,c.forEach(pe.edges(),function(Ft){var Bt=pe.edge(Ft);Bt.minlen*=2,Bt.labelpos.toLowerCase()!=="c"&&(Pe.rankdir==="TB"||Pe.rankdir==="BT"?Bt.width+=Bt.labeloffset:Bt.height+=Bt.labeloffset)})}function Ln(pe){c.forEach(pe.edges(),function(Pe){var Ft=pe.edge(Pe);if(Ft.width&&Ft.height){var Bt=pe.node(Pe.v),ve=pe.node(Pe.w),nn={rank:(ve.rank-Bt.rank)/2+Bt.rank,e:Pe};tt.addDummyNode(pe,"edge-proxy",nn,"_ep")}})}function wn(pe){var Pe=0;c.forEach(pe.nodes(),function(Ft){var Bt=pe.node(Ft);Bt.borderTop&&(Bt.minRank=pe.node(Bt.borderTop).rank,Bt.maxRank=pe.node(Bt.borderBottom).rank,Pe=c.max(Pe,Bt.maxRank))}),pe.graph().maxRank=Pe}function Rn(pe){c.forEach(pe.nodes(),function(Pe){var Ft=pe.node(Pe);Ft.dummy==="edge-proxy"&&(pe.edge(Ft.e).labelRank=Ft.rank,pe.removeNode(Pe))})}function or(pe){var Pe=Number.POSITIVE_INFINITY,Ft=0,Bt=Number.POSITIVE_INFINITY,ve=0,nn=pe.graph(),Ve=nn.marginx||0,ce=nn.marginy||0;function We(Me){var kt=Me.x,ae=Me.y,Ie=Me.width,F=Me.height;Pe=Math.min(Pe,kt-Ie/2),Ft=Math.max(Ft,kt+Ie/2),Bt=Math.min(Bt,ae-F/2),ve=Math.max(ve,ae+F/2)}c.forEach(pe.nodes(),function(Me){We(pe.node(Me))}),c.forEach(pe.edges(),function(Me){var kt=pe.edge(Me);c.has(kt,"x")&&We(kt)}),Pe-=Ve,Bt-=ce,c.forEach(pe.nodes(),function(Me){var kt=pe.node(Me);kt.x-=Pe,kt.y-=Bt}),c.forEach(pe.edges(),function(Me){var kt=pe.edge(Me);c.forEach(kt.points,function(ae){ae.x-=Pe,ae.y-=Bt}),c.has(kt,"x")&&(kt.x-=Pe),c.has(kt,"y")&&(kt.y-=Bt)}),nn.width=Ft-Pe+Ve,nn.height=ve-Bt+ce}function pn(pe){c.forEach(pe.edges(),function(Pe){var Ft=pe.edge(Pe),Bt=pe.node(Pe.v),ve=pe.node(Pe.w),nn,Ve;Ft.points?(nn=Ft.points[0],Ve=Ft.points[Ft.points.length-1]):(Ft.points=[],nn=ve,Ve=Bt),Ft.points.unshift(tt.intersectRect(Bt,nn)),Ft.points.push(tt.intersectRect(ve,Ve))})}function zn(pe){c.forEach(pe.edges(),function(Pe){var Ft=pe.edge(Pe);if(c.has(Ft,"x"))switch((Ft.labelpos==="l"||Ft.labelpos==="r")&&(Ft.width-=Ft.labeloffset),Ft.labelpos){case"l":Ft.x-=Ft.width/2+Ft.labeloffset;break;case"r":Ft.x+=Ft.width/2+Ft.labeloffset;break}})}function Pt(pe){c.forEach(pe.edges(),function(Pe){var Ft=pe.edge(Pe);Ft.reversed&&Ft.points.reverse()})}function Se(pe){c.forEach(pe.nodes(),function(Pe){if(pe.children(Pe).length){var Ft=pe.node(Pe),Bt=pe.node(Ft.borderTop),ve=pe.node(Ft.borderBottom),nn=pe.node(c.last(Ft.borderLeft)),Ve=pe.node(c.last(Ft.borderRight));Ft.width=Math.abs(Ve.x-nn.x),Ft.height=Math.abs(ve.y-Bt.y),Ft.x=nn.x+Ft.width/2,Ft.y=Bt.y+Ft.height/2}}),c.forEach(pe.nodes(),function(Pe){pe.node(Pe).dummy==="border"&&pe.removeNode(Pe)})}function Un(pe){c.forEach(pe.edges(),function(Pe){if(Pe.v===Pe.w){var Ft=pe.node(Pe.v);Ft.selfEdges||(Ft.selfEdges=[]),Ft.selfEdges.push({e:Pe,label:pe.edge(Pe)}),pe.removeEdge(Pe)}})}function On(pe){var Pe=tt.buildLayerMatrix(pe);c.forEach(Pe,function(Ft){var Bt=0;c.forEach(Ft,function(ve,nn){var Ve=pe.node(ve);Ve.order=nn+Bt,c.forEach(Ve.selfEdges,function(ce){tt.addDummyNode(pe,"selfedge",{width:ce.label.width,height:ce.label.height,rank:Ve.rank,order:nn+ ++Bt,e:ce.e,label:ce.label},"_se")}),delete Ve.selfEdges})})}function ze(pe){c.forEach(pe.nodes(),function(Pe){var Ft=pe.node(Pe);if(Ft.dummy==="selfedge"){var Bt=pe.node(Ft.e.v),ve=Bt.x+Bt.width/2,nn=Bt.y,Ve=Ft.x-ve,ce=Bt.height/2;pe.setEdge(Ft.e,Ft.label),pe.removeNode(Pe),Ft.label.points=[{x:ve+2*Ve/3,y:nn-ce},{x:ve+5*Ve/6,y:nn-ce},{x:ve+Ve,y:nn},{x:ve+5*Ve/6,y:nn+ce},{x:ve+2*Ve/3,y:nn+ce}],Ft.label.x=Ft.x,Ft.label.y=Ft.y}})}function tn(pe,Pe){return c.mapValues(c.pick(pe,Pe),Number)}function ln(pe){var Pe={};return c.forEach(pe,function(Ft,Bt){Pe[Bt.toLowerCase()]=Ft}),Pe}},72361:function(gt,dt,g){var c;try{c={cloneDeep:g(44187),constant:g(46221),defaults:g(34981),each:g(61475),filter:g(3130),find:g(48835),flatten:g(1332),forEach:g(47177),forIn:g(59946),has:g(64760),isUndefined:g(68408),last:g(47522),map:g(81426),mapValues:g(60032),max:g(18038),merge:g(55056),min:g(60169),minBy:g(13604),now:g(76308),pick:g(72333),range:g(69235),reduce:g(9695),sortBy:g(35020),uniqueId:g(69624),values:g(72834),zipObject:g(79261)}}catch(R){}c||(c=window._),gt.exports=c},31733:function(gt,dt,g){var c=g(72361),R=g(53063);gt.exports={run:P,cleanup:E};function P(L){var D=R.addDummyNode(L,"root",{},"_root"),T=w(L),K=c.max(c.values(T))-1,Z=2*K+1;L.graph().nestingRoot=D,c.forEach(L.edges(),function(V){L.edge(V).minlen*=Z});var tt=S(L)+1;c.forEach(L.children(),function(V){U(L,D,Z,tt,K,T,V)}),L.graph().nodeRankFactor=Z}function U(L,D,T,K,Z,tt,V){var pt=L.children(V);if(!pt.length){V!==D&&L.setEdge(D,V,{weight:0,minlen:T});return}var st=R.addBorderNode(L,"_bt"),X=R.addBorderNode(L,"_bb"),Mt=L.node(V);L.setParent(st,V),Mt.borderTop=st,L.setParent(X,V),Mt.borderBottom=X,c.forEach(pt,function(ft){U(L,D,T,K,Z,tt,ft);var Ut=L.node(ft),jt=Ut.borderTop?Ut.borderTop:ft,Gt=Ut.borderBottom?Ut.borderBottom:ft,Oe=Ut.borderTop?K:2*K,de=jt!==Gt?1:Z-tt[V]+1;L.setEdge(st,jt,{weight:Oe,minlen:de,nestingEdge:!0}),L.setEdge(Gt,X,{weight:Oe,minlen:de,nestingEdge:!0})}),L.parent(V)||L.setEdge(D,st,{weight:0,minlen:Z+tt[V]})}function w(L){var D={};function T(K,Z){var tt=L.children(K);tt&&tt.length&&c.forEach(tt,function(V){T(V,Z+1)}),D[K]=Z}return c.forEach(L.children(),function(K){T(K,1)}),D}function S(L){return c.reduce(L.edges(),function(D,T){return D+L.edge(T).weight},0)}function E(L){var D=L.graph();L.removeNode(D.nestingRoot),delete D.nestingRoot,c.forEach(L.edges(),function(T){var K=L.edge(T);K.nestingEdge&&L.removeEdge(T)})}},27163:function(gt,dt,g){"use strict";var c=g(72361),R=g(53063);gt.exports={run:P,undo:w};function P(S){S.graph().dummyChains=[],c.forEach(S.edges(),function(E){U(S,E)})}function U(S,E){var L=E.v,D=S.node(L).rank,T=E.w,K=S.node(T).rank,Z=E.name,tt=S.edge(E),V=tt.labelRank;if(K!==D+1){S.removeEdge(E);var pt,st,X;for(X=0,++D;D0;)V%2&&(pt+=K[V+1]),V=V-1>>1,K[V]+=tt.weight;Z+=tt.weight*pt})),Z}},62852:function(gt,dt,g){"use strict";var c=g(72361),R=g(18043),P=g(45456),U=g(86490),w=g(59105),S=g(52205),E=g(76626).Graph,L=g(53063);gt.exports=D;function D(tt){var V=L.maxRank(tt),pt=T(tt,c.range(1,V+1),"inEdges"),st=T(tt,c.range(V-1,-1,-1),"outEdges"),X=R(tt);Z(tt,X);for(var Mt=Number.POSITIVE_INFINITY,ft,Ut=0,jt=0;jt<4;++Ut,++jt){K(Ut%2?pt:st,Ut%4>=2),X=L.buildLayerMatrix(tt);var Gt=P(tt,X);Gt=T.barycenter)&&U(T,K)}}function L(T){return function(K){K.in.push(T),--K.indegree===0&&w.push(K)}}for(;w.length;){var D=w.pop();S.push(D),c.forEach(D.in.reverse(),E(D)),c.forEach(D.out,L(D))}return c.map(c.filter(S,function(T){return!T.merged}),function(T){return c.pick(T,["vs","i","barycenter","weight"])})}function U(w,S){var E=0,L=0;w.weight&&(E+=w.barycenter*w.weight,L+=w.weight),S.weight&&(E+=S.barycenter*S.weight,L+=S.weight),w.vs=S.vs.concat(w.vs),w.barycenter=E/L,w.weight=L,w.i=Math.min(S.i,w.i),S.merged=!0}},86490:function(gt,dt,g){var c=g(72361),R=g(99506),P=g(45926),U=g(1349);gt.exports=w;function w(L,D,T,K){var Z=L.children(D),tt=L.node(D),V=tt?tt.borderLeft:void 0,pt=tt?tt.borderRight:void 0,st={};V&&(Z=c.filter(Z,function(Gt){return Gt!==V&&Gt!==pt}));var X=R(L,Z);c.forEach(X,function(Gt){if(L.children(Gt.v).length){var Oe=w(L,Gt.v,T,K);st[Gt.v]=Oe,c.has(Oe,"barycenter")&&E(Gt,Oe)}});var Mt=P(X,T);S(Mt,st);var ft=U(Mt,K);if(V&&(ft.vs=c.flatten([V,ft.vs,pt],!0),L.predecessors(V).length)){var Ut=L.node(L.predecessors(V)[0]),jt=L.node(L.predecessors(pt)[0]);c.has(ft,"barycenter")||(ft.barycenter=0,ft.weight=0),ft.barycenter=(ft.barycenter*ft.weight+Ut.order+jt.order)/(ft.weight+2),ft.weight+=2}return ft}function S(L,D){c.forEach(L,function(T){T.vs=c.flatten(T.vs.map(function(K){return D[K]?D[K].vs:K}),!0)})}function E(L,D){c.isUndefined(L.barycenter)?(L.barycenter=D.barycenter,L.weight=D.weight):(L.barycenter=(L.barycenter*L.weight+D.barycenter*D.weight)/(L.weight+D.weight),L.weight+=D.weight)}},1349:function(gt,dt,g){var c=g(72361),R=g(53063);gt.exports=P;function P(S,E){var L=R.partition(S,function(st){return c.has(st,"barycenter")}),D=L.lhs,T=c.sortBy(L.rhs,function(st){return-st.i}),K=[],Z=0,tt=0,V=0;D.sort(w(!!E)),V=U(K,T,V),c.forEach(D,function(st){V+=st.vs.length,K.push(st.vs),Z+=st.barycenter*st.weight,tt+=st.weight,V=U(K,T,V)});var pt={vs:c.flatten(K,!0)};return tt&&(pt.barycenter=Z/tt,pt.weight=tt),pt}function U(S,E,L){for(var D;E.length&&(D=c.last(E)).i<=L;)E.pop(),S.push(D.vs),L++;return L}function w(S){return function(E,L){return E.barycenterL.barycenter?1:S?L.i-E.i:E.i-L.i}}},71970:function(gt,dt,g){var c=g(72361);gt.exports=R;function R(w){var S=U(w);c.forEach(w.graph().dummyChains,function(E){for(var L=w.node(E),D=L.edgeObj,T=P(w,S,D.v,D.w),K=T.path,Z=T.lca,tt=0,V=K[tt],pt=!0;E!==D.w;){if(L=w.node(E),pt){for(;(V=K[tt])!==Z&&w.node(V).maxRankK||Z>S[tt].lim));for(V=tt,tt=L;(tt=w.parent(tt))!==V;)T.push(tt);return{path:D.concat(T.reverse()),lca:V}}function U(w){var S={},E=0;function L(D){var T=E;c.forEach(w.children(D),L),S[D]={low:T,lim:E++}}return c.forEach(w.children(),L),S}},25515:function(gt,dt,g){"use strict";var c=g(72361),R=g(76626).Graph,P=g(53063);gt.exports={positionX:pt,findType1Conflicts:U,findType2Conflicts:w,addConflict:E,hasConflict:L,verticalAlignment:D,horizontalCompaction:T,alignCoordinates:tt,findSmallestWidthAlignment:Z,balance:V};function U(Mt,ft){var Ut={};function jt(Gt,Oe){var de=0,sn=0,Be=Gt.length,En=c.last(Oe);return c.forEach(Oe,function(Ln,wn){var Rn=S(Mt,Ln),or=Rn?Mt.node(Rn).order:Be;(Rn||Ln===En)&&(c.forEach(Oe.slice(sn,wn+1),function(pn){c.forEach(Mt.predecessors(pn),function(zn){var Pt=Mt.node(zn),Se=Pt.order;(SeEn)&&E(Ut,Rn,Ln)})})}function Gt(Oe,de){var sn=-1,Be,En=0;return c.forEach(de,function(Ln,wn){if(Mt.node(Ln).dummy==="border"){var Rn=Mt.predecessors(Ln);Rn.length&&(Be=Mt.node(Rn[0]).order,jt(de,En,wn,sn,Be),En=wn,sn=Be)}jt(de,En,de.length,Be,Oe.length)}),de}return c.reduce(ft,Gt),Ut}function S(Mt,ft){if(Mt.node(ft).dummy)return c.find(Mt.predecessors(ft),function(Ut){return Mt.node(Ut).dummy})}function E(Mt,ft,Ut){if(ft>Ut){var jt=ft;ft=Ut,Ut=jt}var Gt=Mt[ft];Gt||(Mt[ft]=Gt={}),Gt[Ut]=!0}function L(Mt,ft,Ut){if(ft>Ut){var jt=ft;ft=Ut,Ut=jt}return c.has(Mt[ft],Ut)}function D(Mt,ft,Ut,jt){var Gt={},Oe={},de={};return c.forEach(ft,function(sn){c.forEach(sn,function(Be,En){Gt[Be]=Be,Oe[Be]=Be,de[Be]=En})}),c.forEach(ft,function(sn){var Be=-1;c.forEach(sn,function(En){var Ln=jt(En);if(Ln.length){Ln=c.sortBy(Ln,function(zn){return de[zn]});for(var wn=(Ln.length-1)/2,Rn=Math.floor(wn),or=Math.ceil(wn);Rn<=or;++Rn){var pn=Ln[Rn];Oe[En]===En&&BeBe.lim&&(En=Be,Ln=!0);var wn=c.filter(jt.edges(),function(Rn){return Ln===ft(Ut,Ut.node(Rn.v),En)&&Ln!==ft(Ut,Ut.node(Rn.w),En)});return c.minBy(wn,function(Rn){return P(jt,Rn)})}function st(Ut,jt,Gt,Oe){var de=Gt.v,sn=Gt.w;Ut.removeEdge(de,sn),Ut.setEdge(Oe.v,Oe.w,{}),Z(Ut),D(Ut,jt),X(Ut,jt)}function X(Ut,jt){var Gt=c.find(Ut.nodes(),function(de){return!jt.node(de).parent}),Oe=w(Ut,Gt);Oe=Oe.slice(1),c.forEach(Oe,function(de){var sn=Ut.node(de).parent,Be=jt.edge(de,sn),En=!1;Be||(Be=jt.edge(sn,de),En=!0),jt.node(de).rank=jt.node(sn).rank+(En?Be.minlen:-Be.minlen)})}function Mt(Ut,jt,Gt){return Ut.hasEdge(jt,Gt)}function ft(Ut,jt,Gt){return Gt.low<=jt.lim&&jt.lim<=Gt.lim}},2416:function(gt,dt,g){"use strict";var c=g(72361);gt.exports={longestPath:R,slack:P};function R(U){var w={};function S(E){var L=U.node(E);if(c.has(w,E))return L.rank;w[E]=!0;var D=c.min(c.map(U.outEdges(E),function(T){return S(T.w)-U.edge(T).minlen}));return(D===Number.POSITIVE_INFINITY||D===void 0||D===null)&&(D=0),L.rank=D}c.forEach(U.sources(),S)}function P(U,w){return U.node(w.w).rank-U.node(w.v).rank-U.edge(w).minlen}},53063:function(gt,dt,g){"use strict";var c=g(72361),R=g(76626).Graph;gt.exports={addDummyNode:P,simplify:U,asNonCompoundGraph:w,successorWeights:S,predecessorWeights:E,intersectRect:L,buildLayerMatrix:D,normalizeRanks:T,removeEmptyRanks:K,addBorderNode:Z,maxRank:tt,partition:V,time:pt,notime:st};function P(X,Mt,ft,Ut){var jt;do jt=c.uniqueId(Ut);while(X.hasNode(jt));return ft.dummy=Mt,X.setNode(jt,ft),jt}function U(X){var Mt=new R().setGraph(X.graph());return c.forEach(X.nodes(),function(ft){Mt.setNode(ft,X.node(ft))}),c.forEach(X.edges(),function(ft){var Ut=Mt.edge(ft.v,ft.w)||{weight:0,minlen:1},jt=X.edge(ft);Mt.setEdge(ft.v,ft.w,{weight:Ut.weight+jt.weight,minlen:Math.max(Ut.minlen,jt.minlen)})}),Mt}function w(X){var Mt=new R({multigraph:X.isMultigraph()}).setGraph(X.graph());return c.forEach(X.nodes(),function(ft){X.children(ft).length||Mt.setNode(ft,X.node(ft))}),c.forEach(X.edges(),function(ft){Mt.setEdge(ft,X.edge(ft))}),Mt}function S(X){var Mt=c.map(X.nodes(),function(ft){var Ut={};return c.forEach(X.outEdges(ft),function(jt){Ut[jt.w]=(Ut[jt.w]||0)+X.edge(jt).weight}),Ut});return c.zipObject(X.nodes(),Mt)}function E(X){var Mt=c.map(X.nodes(),function(ft){var Ut={};return c.forEach(X.inEdges(ft),function(jt){Ut[jt.v]=(Ut[jt.v]||0)+X.edge(jt).weight}),Ut});return c.zipObject(X.nodes(),Mt)}function L(X,Mt){var ft=X.x,Ut=X.y,jt=Mt.x-ft,Gt=Mt.y-Ut,Oe=X.width/2,de=X.height/2;if(!jt&&!Gt)throw new Error("Not possible to find intersection inside of the rectangle");var sn,Be;return Math.abs(Gt)*Oe>Math.abs(jt)*de?(Gt<0&&(de=-de),sn=de*jt/Gt,Be=de):(jt<0&&(Oe=-Oe),sn=Oe,Be=Oe*Gt/jt),{x:ft+sn,y:Ut+Be}}function D(X){var Mt=c.map(c.range(tt(X)+1),function(){return[]});return c.forEach(X.nodes(),function(ft){var Ut=X.node(ft),jt=Ut.rank;c.isUndefined(jt)||(Mt[jt][Ut.order]=ft)}),Mt}function T(X){var Mt=c.min(c.map(X.nodes(),function(ft){return X.node(ft).rank}));c.forEach(X.nodes(),function(ft){var Ut=X.node(ft);c.has(Ut,"rank")&&(Ut.rank-=Mt)})}function K(X){var Mt=c.min(c.map(X.nodes(),function(Gt){return X.node(Gt).rank})),ft=[];c.forEach(X.nodes(),function(Gt){var Oe=X.node(Gt).rank-Mt;ft[Oe]||(ft[Oe]=[]),ft[Oe].push(Gt)});var Ut=0,jt=X.graph().nodeRankFactor;c.forEach(ft,function(Gt,Oe){c.isUndefined(Gt)&&Oe%jt!==0?--Ut:Ut&&c.forEach(Gt,function(de){X.node(de).rank+=Ut})})}function Z(X,Mt,ft,Ut){var jt={width:0,height:0};return arguments.length>=4&&(jt.rank=ft,jt.order=Ut),P(X,"border",jt,Mt)}function tt(X){return c.max(c.map(X.nodes(),function(Mt){var ft=X.node(Mt).rank;if(!c.isUndefined(ft))return ft}))}function V(X,Mt){var ft={lhs:[],rhs:[]};return c.forEach(X,function(Ut){Mt(Ut)?ft.lhs.push(Ut):ft.rhs.push(Ut)}),ft}function pt(X,Mt){var ft=c.now();try{return Mt()}finally{console.log(X+" time: "+(c.now()-ft)+"ms")}}function st(X,Mt){return Mt()}},11897:function(gt){gt.exports="0.8.5"},94856:function(gt){"use strict";var dt=Object.prototype.hasOwnProperty,g="~";function c(){}Object.create&&(c.prototype=Object.create(null),new c().__proto__||(g=!1));function R(S,E,L){this.fn=S,this.context=E,this.once=L||!1}function P(S,E,L,D,T){if(typeof L!="function")throw new TypeError("The listener must be a function");var K=new R(L,D||S,T),Z=g?g+E:E;return S._events[Z]?S._events[Z].fn?S._events[Z]=[S._events[Z],K]:S._events[Z].push(K):(S._events[Z]=K,S._eventsCount++),S}function U(S,E){--S._eventsCount===0?S._events=new c:delete S._events[E]}function w(){this._events=new c,this._eventsCount=0}w.prototype.eventNames=function(){var E=[],L,D;if(this._eventsCount===0)return E;for(D in L=this._events)dt.call(L,D)&&E.push(g?D.slice(1):D);return Object.getOwnPropertySymbols?E.concat(Object.getOwnPropertySymbols(L)):E},w.prototype.listeners=function(E){var L=g?g+E:E,D=this._events[L];if(!D)return[];if(D.fn)return[D.fn];for(var T=0,K=D.length,Z=new Array(K);T=0?Math.round(Z):Z%.5===0?Math.floor(Z):Math.round(Z)}function S(Z){R=Z}var E=Math.PI/180,L=180/Math.PI;function D(Z){return Z*E}function T(Z){return Z*L}function K(Z,tt){var V=arguments.length>2&&arguments[2]!==void 0?arguments[2]:c;return Math.abs(Z-tt)<=V*Math.max(1,Math.abs(Z),Math.abs(tt))}},79111:function(gt,dt,g){"use strict";g.d(dt,{Ue:function(){return R},al:function(){return S},xO:function(){return P}});var c=g(85551);function R(){var Pt=new c.WT(9);return c.WT!=Float32Array&&(Pt[1]=0,Pt[2]=0,Pt[3]=0,Pt[5]=0,Pt[6]=0,Pt[7]=0),Pt[0]=1,Pt[4]=1,Pt[8]=1,Pt}function P(Pt,Se){return Pt[0]=Se[0],Pt[1]=Se[1],Pt[2]=Se[2],Pt[3]=Se[4],Pt[4]=Se[5],Pt[5]=Se[6],Pt[6]=Se[8],Pt[7]=Se[9],Pt[8]=Se[10],Pt}function U(Pt){var Se=new glMatrix.ARRAY_TYPE(9);return Se[0]=Pt[0],Se[1]=Pt[1],Se[2]=Pt[2],Se[3]=Pt[3],Se[4]=Pt[4],Se[5]=Pt[5],Se[6]=Pt[6],Se[7]=Pt[7],Se[8]=Pt[8],Se}function w(Pt,Se){return Pt[0]=Se[0],Pt[1]=Se[1],Pt[2]=Se[2],Pt[3]=Se[3],Pt[4]=Se[4],Pt[5]=Se[5],Pt[6]=Se[6],Pt[7]=Se[7],Pt[8]=Se[8],Pt}function S(Pt,Se,Un,On,ze,tn,ln,pe,Pe){var Ft=new c.WT(9);return Ft[0]=Pt,Ft[1]=Se,Ft[2]=Un,Ft[3]=On,Ft[4]=ze,Ft[5]=tn,Ft[6]=ln,Ft[7]=pe,Ft[8]=Pe,Ft}function E(Pt,Se,Un,On,ze,tn,ln,pe,Pe,Ft){return Pt[0]=Se,Pt[1]=Un,Pt[2]=On,Pt[3]=ze,Pt[4]=tn,Pt[5]=ln,Pt[6]=pe,Pt[7]=Pe,Pt[8]=Ft,Pt}function L(Pt){return Pt[0]=1,Pt[1]=0,Pt[2]=0,Pt[3]=0,Pt[4]=1,Pt[5]=0,Pt[6]=0,Pt[7]=0,Pt[8]=1,Pt}function D(Pt,Se){if(Pt===Se){var Un=Se[1],On=Se[2],ze=Se[5];Pt[1]=Se[3],Pt[2]=Se[6],Pt[3]=Un,Pt[5]=Se[7],Pt[6]=On,Pt[7]=ze}else Pt[0]=Se[0],Pt[1]=Se[3],Pt[2]=Se[6],Pt[3]=Se[1],Pt[4]=Se[4],Pt[5]=Se[7],Pt[6]=Se[2],Pt[7]=Se[5],Pt[8]=Se[8];return Pt}function T(Pt,Se){var Un=Se[0],On=Se[1],ze=Se[2],tn=Se[3],ln=Se[4],pe=Se[5],Pe=Se[6],Ft=Se[7],Bt=Se[8],ve=Bt*ln-pe*Ft,nn=-Bt*tn+pe*Pe,Ve=Ft*tn-ln*Pe,ce=Un*ve+On*nn+ze*Ve;return ce?(ce=1/ce,Pt[0]=ve*ce,Pt[1]=(-Bt*On+ze*Ft)*ce,Pt[2]=(pe*On-ze*ln)*ce,Pt[3]=nn*ce,Pt[4]=(Bt*Un-ze*Pe)*ce,Pt[5]=(-pe*Un+ze*tn)*ce,Pt[6]=Ve*ce,Pt[7]=(-Ft*Un+On*Pe)*ce,Pt[8]=(ln*Un-On*tn)*ce,Pt):null}function K(Pt,Se){var Un=Se[0],On=Se[1],ze=Se[2],tn=Se[3],ln=Se[4],pe=Se[5],Pe=Se[6],Ft=Se[7],Bt=Se[8];return Pt[0]=ln*Bt-pe*Ft,Pt[1]=ze*Ft-On*Bt,Pt[2]=On*pe-ze*ln,Pt[3]=pe*Pe-tn*Bt,Pt[4]=Un*Bt-ze*Pe,Pt[5]=ze*tn-Un*pe,Pt[6]=tn*Ft-ln*Pe,Pt[7]=On*Pe-Un*Ft,Pt[8]=Un*ln-On*tn,Pt}function Z(Pt){var Se=Pt[0],Un=Pt[1],On=Pt[2],ze=Pt[3],tn=Pt[4],ln=Pt[5],pe=Pt[6],Pe=Pt[7],Ft=Pt[8];return Se*(Ft*tn-ln*Pe)+Un*(-Ft*ze+ln*pe)+On*(Pe*ze-tn*pe)}function tt(Pt,Se,Un){var On=Se[0],ze=Se[1],tn=Se[2],ln=Se[3],pe=Se[4],Pe=Se[5],Ft=Se[6],Bt=Se[7],ve=Se[8],nn=Un[0],Ve=Un[1],ce=Un[2],We=Un[3],Me=Un[4],kt=Un[5],ae=Un[6],Ie=Un[7],F=Un[8];return Pt[0]=nn*On+Ve*ln+ce*Ft,Pt[1]=nn*ze+Ve*pe+ce*Bt,Pt[2]=nn*tn+Ve*Pe+ce*ve,Pt[3]=We*On+Me*ln+kt*Ft,Pt[4]=We*ze+Me*pe+kt*Bt,Pt[5]=We*tn+Me*Pe+kt*ve,Pt[6]=ae*On+Ie*ln+F*Ft,Pt[7]=ae*ze+Ie*pe+F*Bt,Pt[8]=ae*tn+Ie*Pe+F*ve,Pt}function V(Pt,Se,Un){var On=Se[0],ze=Se[1],tn=Se[2],ln=Se[3],pe=Se[4],Pe=Se[5],Ft=Se[6],Bt=Se[7],ve=Se[8],nn=Un[0],Ve=Un[1];return Pt[0]=On,Pt[1]=ze,Pt[2]=tn,Pt[3]=ln,Pt[4]=pe,Pt[5]=Pe,Pt[6]=nn*On+Ve*ln+Ft,Pt[7]=nn*ze+Ve*pe+Bt,Pt[8]=nn*tn+Ve*Pe+ve,Pt}function pt(Pt,Se,Un){var On=Se[0],ze=Se[1],tn=Se[2],ln=Se[3],pe=Se[4],Pe=Se[5],Ft=Se[6],Bt=Se[7],ve=Se[8],nn=Math.sin(Un),Ve=Math.cos(Un);return Pt[0]=Ve*On+nn*ln,Pt[1]=Ve*ze+nn*pe,Pt[2]=Ve*tn+nn*Pe,Pt[3]=Ve*ln-nn*On,Pt[4]=Ve*pe-nn*ze,Pt[5]=Ve*Pe-nn*tn,Pt[6]=Ft,Pt[7]=Bt,Pt[8]=ve,Pt}function st(Pt,Se,Un){var On=Un[0],ze=Un[1];return Pt[0]=On*Se[0],Pt[1]=On*Se[1],Pt[2]=On*Se[2],Pt[3]=ze*Se[3],Pt[4]=ze*Se[4],Pt[5]=ze*Se[5],Pt[6]=Se[6],Pt[7]=Se[7],Pt[8]=Se[8],Pt}function X(Pt,Se){return Pt[0]=1,Pt[1]=0,Pt[2]=0,Pt[3]=0,Pt[4]=1,Pt[5]=0,Pt[6]=Se[0],Pt[7]=Se[1],Pt[8]=1,Pt}function Mt(Pt,Se){var Un=Math.sin(Se),On=Math.cos(Se);return Pt[0]=On,Pt[1]=Un,Pt[2]=0,Pt[3]=-Un,Pt[4]=On,Pt[5]=0,Pt[6]=0,Pt[7]=0,Pt[8]=1,Pt}function ft(Pt,Se){return Pt[0]=Se[0],Pt[1]=0,Pt[2]=0,Pt[3]=0,Pt[4]=Se[1],Pt[5]=0,Pt[6]=0,Pt[7]=0,Pt[8]=1,Pt}function Ut(Pt,Se){return Pt[0]=Se[0],Pt[1]=Se[1],Pt[2]=0,Pt[3]=Se[2],Pt[4]=Se[3],Pt[5]=0,Pt[6]=Se[4],Pt[7]=Se[5],Pt[8]=1,Pt}function jt(Pt,Se){var Un=Se[0],On=Se[1],ze=Se[2],tn=Se[3],ln=Un+Un,pe=On+On,Pe=ze+ze,Ft=Un*ln,Bt=On*ln,ve=On*pe,nn=ze*ln,Ve=ze*pe,ce=ze*Pe,We=tn*ln,Me=tn*pe,kt=tn*Pe;return Pt[0]=1-ve-ce,Pt[3]=Bt-kt,Pt[6]=nn+Me,Pt[1]=Bt+kt,Pt[4]=1-Ft-ce,Pt[7]=Ve-We,Pt[2]=nn-Me,Pt[5]=Ve+We,Pt[8]=1-Ft-ve,Pt}function Gt(Pt,Se){var Un=Se[0],On=Se[1],ze=Se[2],tn=Se[3],ln=Se[4],pe=Se[5],Pe=Se[6],Ft=Se[7],Bt=Se[8],ve=Se[9],nn=Se[10],Ve=Se[11],ce=Se[12],We=Se[13],Me=Se[14],kt=Se[15],ae=Un*pe-On*ln,Ie=Un*Pe-ze*ln,F=Un*Ft-tn*ln,rt=On*Pe-ze*pe,ue=On*Ft-tn*pe,se=ze*Ft-tn*Pe,je=Bt*We-ve*ce,Ke=Bt*Me-nn*ce,Cn=Bt*kt-Ve*ce,bt=ve*Me-nn*We,nt=ve*kt-Ve*We,Nt=nn*kt-Ve*Me,Yt=ae*Nt-Ie*nt+F*bt+rt*Cn-ue*Ke+se*je;return Yt?(Yt=1/Yt,Pt[0]=(pe*Nt-Pe*nt+Ft*bt)*Yt,Pt[1]=(Pe*Cn-ln*Nt-Ft*Ke)*Yt,Pt[2]=(ln*nt-pe*Cn+Ft*je)*Yt,Pt[3]=(ze*nt-On*Nt-tn*bt)*Yt,Pt[4]=(Un*Nt-ze*Cn+tn*Ke)*Yt,Pt[5]=(On*Cn-Un*nt-tn*je)*Yt,Pt[6]=(We*se-Me*ue+kt*rt)*Yt,Pt[7]=(Me*F-ce*se-kt*Ie)*Yt,Pt[8]=(ce*ue-We*F+kt*ae)*Yt,Pt):null}function Oe(Pt,Se,Un){return Pt[0]=2/Se,Pt[1]=0,Pt[2]=0,Pt[3]=0,Pt[4]=-2/Un,Pt[5]=0,Pt[6]=-1,Pt[7]=1,Pt[8]=1,Pt}function de(Pt){return"mat3("+Pt[0]+", "+Pt[1]+", "+Pt[2]+", "+Pt[3]+", "+Pt[4]+", "+Pt[5]+", "+Pt[6]+", "+Pt[7]+", "+Pt[8]+")"}function sn(Pt){return Math.sqrt(Pt[0]*Pt[0]+Pt[1]*Pt[1]+Pt[2]*Pt[2]+Pt[3]*Pt[3]+Pt[4]*Pt[4]+Pt[5]*Pt[5]+Pt[6]*Pt[6]+Pt[7]*Pt[7]+Pt[8]*Pt[8])}function Be(Pt,Se,Un){return Pt[0]=Se[0]+Un[0],Pt[1]=Se[1]+Un[1],Pt[2]=Se[2]+Un[2],Pt[3]=Se[3]+Un[3],Pt[4]=Se[4]+Un[4],Pt[5]=Se[5]+Un[5],Pt[6]=Se[6]+Un[6],Pt[7]=Se[7]+Un[7],Pt[8]=Se[8]+Un[8],Pt}function En(Pt,Se,Un){return Pt[0]=Se[0]-Un[0],Pt[1]=Se[1]-Un[1],Pt[2]=Se[2]-Un[2],Pt[3]=Se[3]-Un[3],Pt[4]=Se[4]-Un[4],Pt[5]=Se[5]-Un[5],Pt[6]=Se[6]-Un[6],Pt[7]=Se[7]-Un[7],Pt[8]=Se[8]-Un[8],Pt}function Ln(Pt,Se,Un){return Pt[0]=Se[0]*Un,Pt[1]=Se[1]*Un,Pt[2]=Se[2]*Un,Pt[3]=Se[3]*Un,Pt[4]=Se[4]*Un,Pt[5]=Se[5]*Un,Pt[6]=Se[6]*Un,Pt[7]=Se[7]*Un,Pt[8]=Se[8]*Un,Pt}function wn(Pt,Se,Un,On){return Pt[0]=Se[0]+Un[0]*On,Pt[1]=Se[1]+Un[1]*On,Pt[2]=Se[2]+Un[2]*On,Pt[3]=Se[3]+Un[3]*On,Pt[4]=Se[4]+Un[4]*On,Pt[5]=Se[5]+Un[5]*On,Pt[6]=Se[6]+Un[6]*On,Pt[7]=Se[7]+Un[7]*On,Pt[8]=Se[8]+Un[8]*On,Pt}function Rn(Pt,Se){return Pt[0]===Se[0]&&Pt[1]===Se[1]&&Pt[2]===Se[2]&&Pt[3]===Se[3]&&Pt[4]===Se[4]&&Pt[5]===Se[5]&&Pt[6]===Se[6]&&Pt[7]===Se[7]&&Pt[8]===Se[8]}function or(Pt,Se){var Un=Pt[0],On=Pt[1],ze=Pt[2],tn=Pt[3],ln=Pt[4],pe=Pt[5],Pe=Pt[6],Ft=Pt[7],Bt=Pt[8],ve=Se[0],nn=Se[1],Ve=Se[2],ce=Se[3],We=Se[4],Me=Se[5],kt=Se[6],ae=Se[7],Ie=Se[8];return Math.abs(Un-ve)<=glMatrix.EPSILON*Math.max(1,Math.abs(Un),Math.abs(ve))&&Math.abs(On-nn)<=glMatrix.EPSILON*Math.max(1,Math.abs(On),Math.abs(nn))&&Math.abs(ze-Ve)<=glMatrix.EPSILON*Math.max(1,Math.abs(ze),Math.abs(Ve))&&Math.abs(tn-ce)<=glMatrix.EPSILON*Math.max(1,Math.abs(tn),Math.abs(ce))&&Math.abs(ln-We)<=glMatrix.EPSILON*Math.max(1,Math.abs(ln),Math.abs(We))&&Math.abs(pe-Me)<=glMatrix.EPSILON*Math.max(1,Math.abs(pe),Math.abs(Me))&&Math.abs(Pe-kt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Pe),Math.abs(kt))&&Math.abs(Ft-ae)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ft),Math.abs(ae))&&Math.abs(Bt-Ie)<=glMatrix.EPSILON*Math.max(1,Math.abs(Bt),Math.abs(Ie))}var pn=null,zn=null},60187:function(gt,dt,g){"use strict";g.r(dt),g.d(dt,{add:function(){return nn},adjoint:function(){return T},clone:function(){return P},copy:function(){return U},create:function(){return R},decompose:function(){return Rn},determinant:function(){return K},equals:function(){return kt},exactEquals:function(){return Me},frob:function(){return ve},fromQuat:function(){return zn},fromQuat2:function(){return Be},fromRotation:function(){return jt},fromRotationTranslation:function(){return sn},fromRotationTranslationScale:function(){return or},fromRotationTranslationScaleOrigin:function(){return pn},fromScaling:function(){return Ut},fromTranslation:function(){return ft},fromValues:function(){return w},fromXRotation:function(){return Gt},fromYRotation:function(){return Oe},fromZRotation:function(){return de},frustum:function(){return Pt},getRotation:function(){return wn},getScaling:function(){return Ln},getTranslation:function(){return En},identity:function(){return E},invert:function(){return D},lookAt:function(){return Pe},mul:function(){return ae},multiply:function(){return Z},multiplyScalar:function(){return ce},multiplyScalarAndAdd:function(){return We},ortho:function(){return ln},orthoNO:function(){return tn},orthoZO:function(){return pe},perspective:function(){return Un},perspectiveFromFieldOfView:function(){return ze},perspectiveNO:function(){return Se},perspectiveZO:function(){return On},rotate:function(){return pt},rotateX:function(){return st},rotateY:function(){return X},rotateZ:function(){return Mt},scale:function(){return V},set:function(){return S},str:function(){return Bt},sub:function(){return Ie},subtract:function(){return Ve},targetTo:function(){return Ft},translate:function(){return tt},transpose:function(){return L}});var c=g(85551);function R(){var F=new c.WT(16);return c.WT!=Float32Array&&(F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[11]=0,F[12]=0,F[13]=0,F[14]=0),F[0]=1,F[5]=1,F[10]=1,F[15]=1,F}function P(F){var rt=new c.WT(16);return rt[0]=F[0],rt[1]=F[1],rt[2]=F[2],rt[3]=F[3],rt[4]=F[4],rt[5]=F[5],rt[6]=F[6],rt[7]=F[7],rt[8]=F[8],rt[9]=F[9],rt[10]=F[10],rt[11]=F[11],rt[12]=F[12],rt[13]=F[13],rt[14]=F[14],rt[15]=F[15],rt}function U(F,rt){return F[0]=rt[0],F[1]=rt[1],F[2]=rt[2],F[3]=rt[3],F[4]=rt[4],F[5]=rt[5],F[6]=rt[6],F[7]=rt[7],F[8]=rt[8],F[9]=rt[9],F[10]=rt[10],F[11]=rt[11],F[12]=rt[12],F[13]=rt[13],F[14]=rt[14],F[15]=rt[15],F}function w(F,rt,ue,se,je,Ke,Cn,bt,nt,Nt,Yt,It,Qt,Wt,ge,me){var oe=new c.WT(16);return oe[0]=F,oe[1]=rt,oe[2]=ue,oe[3]=se,oe[4]=je,oe[5]=Ke,oe[6]=Cn,oe[7]=bt,oe[8]=nt,oe[9]=Nt,oe[10]=Yt,oe[11]=It,oe[12]=Qt,oe[13]=Wt,oe[14]=ge,oe[15]=me,oe}function S(F,rt,ue,se,je,Ke,Cn,bt,nt,Nt,Yt,It,Qt,Wt,ge,me,oe){return F[0]=rt,F[1]=ue,F[2]=se,F[3]=je,F[4]=Ke,F[5]=Cn,F[6]=bt,F[7]=nt,F[8]=Nt,F[9]=Yt,F[10]=It,F[11]=Qt,F[12]=Wt,F[13]=ge,F[14]=me,F[15]=oe,F}function E(F){return F[0]=1,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=1,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[10]=1,F[11]=0,F[12]=0,F[13]=0,F[14]=0,F[15]=1,F}function L(F,rt){if(F===rt){var ue=rt[1],se=rt[2],je=rt[3],Ke=rt[6],Cn=rt[7],bt=rt[11];F[1]=rt[4],F[2]=rt[8],F[3]=rt[12],F[4]=ue,F[6]=rt[9],F[7]=rt[13],F[8]=se,F[9]=Ke,F[11]=rt[14],F[12]=je,F[13]=Cn,F[14]=bt}else F[0]=rt[0],F[1]=rt[4],F[2]=rt[8],F[3]=rt[12],F[4]=rt[1],F[5]=rt[5],F[6]=rt[9],F[7]=rt[13],F[8]=rt[2],F[9]=rt[6],F[10]=rt[10],F[11]=rt[14],F[12]=rt[3],F[13]=rt[7],F[14]=rt[11],F[15]=rt[15];return F}function D(F,rt){var ue=rt[0],se=rt[1],je=rt[2],Ke=rt[3],Cn=rt[4],bt=rt[5],nt=rt[6],Nt=rt[7],Yt=rt[8],It=rt[9],Qt=rt[10],Wt=rt[11],ge=rt[12],me=rt[13],oe=rt[14],Ge=rt[15],fn=ue*bt-se*Cn,An=ue*nt-je*Cn,Qn=ue*Nt-Ke*Cn,Yn=se*nt-je*bt,Vn=se*Nt-Ke*bt,Nr=je*Nt-Ke*nt,ur=Yt*me-It*ge,yr=Yt*oe-Qt*ge,be=Yt*Ge-Wt*ge,ri=It*oe-Qt*me,mr=It*Ge-Wt*me,Ze=Qt*Ge-Wt*oe,Ce=fn*Ze-An*mr+Qn*ri+Yn*be-Vn*yr+Nr*ur;return Ce?(Ce=1/Ce,F[0]=(bt*Ze-nt*mr+Nt*ri)*Ce,F[1]=(je*mr-se*Ze-Ke*ri)*Ce,F[2]=(me*Nr-oe*Vn+Ge*Yn)*Ce,F[3]=(Qt*Vn-It*Nr-Wt*Yn)*Ce,F[4]=(nt*be-Cn*Ze-Nt*yr)*Ce,F[5]=(ue*Ze-je*be+Ke*yr)*Ce,F[6]=(oe*Qn-ge*Nr-Ge*An)*Ce,F[7]=(Yt*Nr-Qt*Qn+Wt*An)*Ce,F[8]=(Cn*mr-bt*be+Nt*ur)*Ce,F[9]=(se*be-ue*mr-Ke*ur)*Ce,F[10]=(ge*Vn-me*Qn+Ge*fn)*Ce,F[11]=(It*Qn-Yt*Vn-Wt*fn)*Ce,F[12]=(bt*yr-Cn*ri-nt*ur)*Ce,F[13]=(ue*ri-se*yr+je*ur)*Ce,F[14]=(me*An-ge*Yn-oe*fn)*Ce,F[15]=(Yt*Yn-It*An+Qt*fn)*Ce,F):null}function T(F,rt){var ue=rt[0],se=rt[1],je=rt[2],Ke=rt[3],Cn=rt[4],bt=rt[5],nt=rt[6],Nt=rt[7],Yt=rt[8],It=rt[9],Qt=rt[10],Wt=rt[11],ge=rt[12],me=rt[13],oe=rt[14],Ge=rt[15],fn=ue*bt-se*Cn,An=ue*nt-je*Cn,Qn=ue*Nt-Ke*Cn,Yn=se*nt-je*bt,Vn=se*Nt-Ke*bt,Nr=je*Nt-Ke*nt,ur=Yt*me-It*ge,yr=Yt*oe-Qt*ge,be=Yt*Ge-Wt*ge,ri=It*oe-Qt*me,mr=It*Ge-Wt*me,Ze=Qt*Ge-Wt*oe;return F[0]=bt*Ze-nt*mr+Nt*ri,F[1]=je*mr-se*Ze-Ke*ri,F[2]=me*Nr-oe*Vn+Ge*Yn,F[3]=Qt*Vn-It*Nr-Wt*Yn,F[4]=nt*be-Cn*Ze-Nt*yr,F[5]=ue*Ze-je*be+Ke*yr,F[6]=oe*Qn-ge*Nr-Ge*An,F[7]=Yt*Nr-Qt*Qn+Wt*An,F[8]=Cn*mr-bt*be+Nt*ur,F[9]=se*be-ue*mr-Ke*ur,F[10]=ge*Vn-me*Qn+Ge*fn,F[11]=It*Qn-Yt*Vn-Wt*fn,F[12]=bt*yr-Cn*ri-nt*ur,F[13]=ue*ri-se*yr+je*ur,F[14]=me*An-ge*Yn-oe*fn,F[15]=Yt*Yn-It*An+Qt*fn,F}function K(F){var rt=F[0],ue=F[1],se=F[2],je=F[3],Ke=F[4],Cn=F[5],bt=F[6],nt=F[7],Nt=F[8],Yt=F[9],It=F[10],Qt=F[11],Wt=F[12],ge=F[13],me=F[14],oe=F[15],Ge=rt*Cn-ue*Ke,fn=rt*bt-se*Ke,An=ue*bt-se*Cn,Qn=Nt*ge-Yt*Wt,Yn=Nt*me-It*Wt,Vn=Yt*me-It*ge,Nr=rt*Vn-ue*Yn+se*Qn,ur=Ke*Vn-Cn*Yn+bt*Qn,yr=Nt*An-Yt*fn+It*Ge,be=Wt*An-ge*fn+me*Ge;return nt*Nr-je*ur+oe*yr-Qt*be}function Z(F,rt,ue){var se=rt[0],je=rt[1],Ke=rt[2],Cn=rt[3],bt=rt[4],nt=rt[5],Nt=rt[6],Yt=rt[7],It=rt[8],Qt=rt[9],Wt=rt[10],ge=rt[11],me=rt[12],oe=rt[13],Ge=rt[14],fn=rt[15],An=ue[0],Qn=ue[1],Yn=ue[2],Vn=ue[3];return F[0]=An*se+Qn*bt+Yn*It+Vn*me,F[1]=An*je+Qn*nt+Yn*Qt+Vn*oe,F[2]=An*Ke+Qn*Nt+Yn*Wt+Vn*Ge,F[3]=An*Cn+Qn*Yt+Yn*ge+Vn*fn,An=ue[4],Qn=ue[5],Yn=ue[6],Vn=ue[7],F[4]=An*se+Qn*bt+Yn*It+Vn*me,F[5]=An*je+Qn*nt+Yn*Qt+Vn*oe,F[6]=An*Ke+Qn*Nt+Yn*Wt+Vn*Ge,F[7]=An*Cn+Qn*Yt+Yn*ge+Vn*fn,An=ue[8],Qn=ue[9],Yn=ue[10],Vn=ue[11],F[8]=An*se+Qn*bt+Yn*It+Vn*me,F[9]=An*je+Qn*nt+Yn*Qt+Vn*oe,F[10]=An*Ke+Qn*Nt+Yn*Wt+Vn*Ge,F[11]=An*Cn+Qn*Yt+Yn*ge+Vn*fn,An=ue[12],Qn=ue[13],Yn=ue[14],Vn=ue[15],F[12]=An*se+Qn*bt+Yn*It+Vn*me,F[13]=An*je+Qn*nt+Yn*Qt+Vn*oe,F[14]=An*Ke+Qn*Nt+Yn*Wt+Vn*Ge,F[15]=An*Cn+Qn*Yt+Yn*ge+Vn*fn,F}function tt(F,rt,ue){var se=ue[0],je=ue[1],Ke=ue[2],Cn,bt,nt,Nt,Yt,It,Qt,Wt,ge,me,oe,Ge;return rt===F?(F[12]=rt[0]*se+rt[4]*je+rt[8]*Ke+rt[12],F[13]=rt[1]*se+rt[5]*je+rt[9]*Ke+rt[13],F[14]=rt[2]*se+rt[6]*je+rt[10]*Ke+rt[14],F[15]=rt[3]*se+rt[7]*je+rt[11]*Ke+rt[15]):(Cn=rt[0],bt=rt[1],nt=rt[2],Nt=rt[3],Yt=rt[4],It=rt[5],Qt=rt[6],Wt=rt[7],ge=rt[8],me=rt[9],oe=rt[10],Ge=rt[11],F[0]=Cn,F[1]=bt,F[2]=nt,F[3]=Nt,F[4]=Yt,F[5]=It,F[6]=Qt,F[7]=Wt,F[8]=ge,F[9]=me,F[10]=oe,F[11]=Ge,F[12]=Cn*se+Yt*je+ge*Ke+rt[12],F[13]=bt*se+It*je+me*Ke+rt[13],F[14]=nt*se+Qt*je+oe*Ke+rt[14],F[15]=Nt*se+Wt*je+Ge*Ke+rt[15]),F}function V(F,rt,ue){var se=ue[0],je=ue[1],Ke=ue[2];return F[0]=rt[0]*se,F[1]=rt[1]*se,F[2]=rt[2]*se,F[3]=rt[3]*se,F[4]=rt[4]*je,F[5]=rt[5]*je,F[6]=rt[6]*je,F[7]=rt[7]*je,F[8]=rt[8]*Ke,F[9]=rt[9]*Ke,F[10]=rt[10]*Ke,F[11]=rt[11]*Ke,F[12]=rt[12],F[13]=rt[13],F[14]=rt[14],F[15]=rt[15],F}function pt(F,rt,ue,se){var je=se[0],Ke=se[1],Cn=se[2],bt=Math.sqrt(je*je+Ke*Ke+Cn*Cn),nt,Nt,Yt,It,Qt,Wt,ge,me,oe,Ge,fn,An,Qn,Yn,Vn,Nr,ur,yr,be,ri,mr,Ze,Ce,ye;return bt0?(ue[0]=(bt*Cn+Yt*se+nt*Ke-Nt*je)*2/It,ue[1]=(nt*Cn+Yt*je+Nt*se-bt*Ke)*2/It,ue[2]=(Nt*Cn+Yt*Ke+bt*je-nt*se)*2/It):(ue[0]=(bt*Cn+Yt*se+nt*Ke-Nt*je)*2,ue[1]=(nt*Cn+Yt*je+Nt*se-bt*Ke)*2,ue[2]=(Nt*Cn+Yt*Ke+bt*je-nt*se)*2),sn(F,rt,ue),F}function En(F,rt){return F[0]=rt[12],F[1]=rt[13],F[2]=rt[14],F}function Ln(F,rt){var ue=rt[0],se=rt[1],je=rt[2],Ke=rt[4],Cn=rt[5],bt=rt[6],nt=rt[8],Nt=rt[9],Yt=rt[10];return F[0]=Math.sqrt(ue*ue+se*se+je*je),F[1]=Math.sqrt(Ke*Ke+Cn*Cn+bt*bt),F[2]=Math.sqrt(nt*nt+Nt*Nt+Yt*Yt),F}function wn(F,rt){var ue=new c.WT(3);Ln(ue,rt);var se=1/ue[0],je=1/ue[1],Ke=1/ue[2],Cn=rt[0]*se,bt=rt[1]*je,nt=rt[2]*Ke,Nt=rt[4]*se,Yt=rt[5]*je,It=rt[6]*Ke,Qt=rt[8]*se,Wt=rt[9]*je,ge=rt[10]*Ke,me=Cn+Yt+ge,oe=0;return me>0?(oe=Math.sqrt(me+1)*2,F[3]=.25*oe,F[0]=(It-Wt)/oe,F[1]=(Qt-nt)/oe,F[2]=(bt-Nt)/oe):Cn>Yt&&Cn>ge?(oe=Math.sqrt(1+Cn-Yt-ge)*2,F[3]=(It-Wt)/oe,F[0]=.25*oe,F[1]=(bt+Nt)/oe,F[2]=(Qt+nt)/oe):Yt>ge?(oe=Math.sqrt(1+Yt-Cn-ge)*2,F[3]=(Qt-nt)/oe,F[0]=(bt+Nt)/oe,F[1]=.25*oe,F[2]=(It+Wt)/oe):(oe=Math.sqrt(1+ge-Cn-Yt)*2,F[3]=(bt-Nt)/oe,F[0]=(Qt+nt)/oe,F[1]=(It+Wt)/oe,F[2]=.25*oe),F}function Rn(F,rt,ue,se){rt[0]=se[12],rt[1]=se[13],rt[2]=se[14];var je=se[0],Ke=se[1],Cn=se[2],bt=se[4],nt=se[5],Nt=se[6],Yt=se[8],It=se[9],Qt=se[10];ue[0]=Math.sqrt(je*je+Ke*Ke+Cn*Cn),ue[1]=Math.sqrt(bt*bt+nt*nt+Nt*Nt),ue[2]=Math.sqrt(Yt*Yt+It*It+Qt*Qt);var Wt=1/ue[0],ge=1/ue[1],me=1/ue[2],oe=je*Wt,Ge=Ke*ge,fn=Cn*me,An=bt*Wt,Qn=nt*ge,Yn=Nt*me,Vn=Yt*Wt,Nr=It*ge,ur=Qt*me,yr=oe+Qn+ur,be=0;return yr>0?(be=Math.sqrt(yr+1)*2,F[3]=.25*be,F[0]=(Yn-Nr)/be,F[1]=(Vn-fn)/be,F[2]=(Ge-An)/be):oe>Qn&&oe>ur?(be=Math.sqrt(1+oe-Qn-ur)*2,F[3]=(Yn-Nr)/be,F[0]=.25*be,F[1]=(Ge+An)/be,F[2]=(Vn+fn)/be):Qn>ur?(be=Math.sqrt(1+Qn-oe-ur)*2,F[3]=(Vn-fn)/be,F[0]=(Ge+An)/be,F[1]=.25*be,F[2]=(Yn+Nr)/be):(be=Math.sqrt(1+ur-oe-Qn)*2,F[3]=(Ge-An)/be,F[0]=(Vn+fn)/be,F[1]=(Yn+Nr)/be,F[2]=.25*be),F}function or(F,rt,ue,se){var je=rt[0],Ke=rt[1],Cn=rt[2],bt=rt[3],nt=je+je,Nt=Ke+Ke,Yt=Cn+Cn,It=je*nt,Qt=je*Nt,Wt=je*Yt,ge=Ke*Nt,me=Ke*Yt,oe=Cn*Yt,Ge=bt*nt,fn=bt*Nt,An=bt*Yt,Qn=se[0],Yn=se[1],Vn=se[2];return F[0]=(1-(ge+oe))*Qn,F[1]=(Qt+An)*Qn,F[2]=(Wt-fn)*Qn,F[3]=0,F[4]=(Qt-An)*Yn,F[5]=(1-(It+oe))*Yn,F[6]=(me+Ge)*Yn,F[7]=0,F[8]=(Wt+fn)*Vn,F[9]=(me-Ge)*Vn,F[10]=(1-(It+ge))*Vn,F[11]=0,F[12]=ue[0],F[13]=ue[1],F[14]=ue[2],F[15]=1,F}function pn(F,rt,ue,se,je){var Ke=rt[0],Cn=rt[1],bt=rt[2],nt=rt[3],Nt=Ke+Ke,Yt=Cn+Cn,It=bt+bt,Qt=Ke*Nt,Wt=Ke*Yt,ge=Ke*It,me=Cn*Yt,oe=Cn*It,Ge=bt*It,fn=nt*Nt,An=nt*Yt,Qn=nt*It,Yn=se[0],Vn=se[1],Nr=se[2],ur=je[0],yr=je[1],be=je[2],ri=(1-(me+Ge))*Yn,mr=(Wt+Qn)*Yn,Ze=(ge-An)*Yn,Ce=(Wt-Qn)*Vn,ye=(1-(Qt+Ge))*Vn,Dt=(oe+fn)*Vn,Zt=(ge+An)*Nr,we=(oe-fn)*Nr,De=(1-(Qt+me))*Nr;return F[0]=ri,F[1]=mr,F[2]=Ze,F[3]=0,F[4]=Ce,F[5]=ye,F[6]=Dt,F[7]=0,F[8]=Zt,F[9]=we,F[10]=De,F[11]=0,F[12]=ue[0]+ur-(ri*ur+Ce*yr+Zt*be),F[13]=ue[1]+yr-(mr*ur+ye*yr+we*be),F[14]=ue[2]+be-(Ze*ur+Dt*yr+De*be),F[15]=1,F}function zn(F,rt){var ue=rt[0],se=rt[1],je=rt[2],Ke=rt[3],Cn=ue+ue,bt=se+se,nt=je+je,Nt=ue*Cn,Yt=se*Cn,It=se*bt,Qt=je*Cn,Wt=je*bt,ge=je*nt,me=Ke*Cn,oe=Ke*bt,Ge=Ke*nt;return F[0]=1-It-ge,F[1]=Yt+Ge,F[2]=Qt-oe,F[3]=0,F[4]=Yt-Ge,F[5]=1-Nt-ge,F[6]=Wt+me,F[7]=0,F[8]=Qt+oe,F[9]=Wt-me,F[10]=1-Nt-It,F[11]=0,F[12]=0,F[13]=0,F[14]=0,F[15]=1,F}function Pt(F,rt,ue,se,je,Ke,Cn){var bt=1/(ue-rt),nt=1/(je-se),Nt=1/(Ke-Cn);return F[0]=Ke*2*bt,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=Ke*2*nt,F[6]=0,F[7]=0,F[8]=(ue+rt)*bt,F[9]=(je+se)*nt,F[10]=(Cn+Ke)*Nt,F[11]=-1,F[12]=0,F[13]=0,F[14]=Cn*Ke*2*Nt,F[15]=0,F}function Se(F,rt,ue,se,je){var Ke=1/Math.tan(rt/2);if(F[0]=Ke/ue,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=Ke,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[11]=-1,F[12]=0,F[13]=0,F[15]=0,je!=null&&je!==1/0){var Cn=1/(se-je);F[10]=(je+se)*Cn,F[14]=2*je*se*Cn}else F[10]=-1,F[14]=-2*se;return F}var Un=Se;function On(F,rt,ue,se,je){var Ke=1/Math.tan(rt/2);if(F[0]=Ke/ue,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=Ke,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[11]=-1,F[12]=0,F[13]=0,F[15]=0,je!=null&&je!==1/0){var Cn=1/(se-je);F[10]=je*Cn,F[14]=je*se*Cn}else F[10]=-1,F[14]=-se;return F}function ze(F,rt,ue,se){var je=Math.tan(rt.upDegrees*Math.PI/180),Ke=Math.tan(rt.downDegrees*Math.PI/180),Cn=Math.tan(rt.leftDegrees*Math.PI/180),bt=Math.tan(rt.rightDegrees*Math.PI/180),nt=2/(Cn+bt),Nt=2/(je+Ke);return F[0]=nt,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=Nt,F[6]=0,F[7]=0,F[8]=-((Cn-bt)*nt*.5),F[9]=(je-Ke)*Nt*.5,F[10]=se/(ue-se),F[11]=-1,F[12]=0,F[13]=0,F[14]=se*ue/(ue-se),F[15]=0,F}function tn(F,rt,ue,se,je,Ke,Cn){var bt=1/(rt-ue),nt=1/(se-je),Nt=1/(Ke-Cn);return F[0]=-2*bt,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=-2*nt,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[10]=2*Nt,F[11]=0,F[12]=(rt+ue)*bt,F[13]=(je+se)*nt,F[14]=(Cn+Ke)*Nt,F[15]=1,F}var ln=tn;function pe(F,rt,ue,se,je,Ke,Cn){var bt=1/(rt-ue),nt=1/(se-je),Nt=1/(Ke-Cn);return F[0]=-2*bt,F[1]=0,F[2]=0,F[3]=0,F[4]=0,F[5]=-2*nt,F[6]=0,F[7]=0,F[8]=0,F[9]=0,F[10]=Nt,F[11]=0,F[12]=(rt+ue)*bt,F[13]=(je+se)*nt,F[14]=Ke*Nt,F[15]=1,F}function Pe(F,rt,ue,se){var je,Ke,Cn,bt,nt,Nt,Yt,It,Qt,Wt,ge=rt[0],me=rt[1],oe=rt[2],Ge=se[0],fn=se[1],An=se[2],Qn=ue[0],Yn=ue[1],Vn=ue[2];return Math.abs(ge-Qn)0&&(Wt=1/Math.sqrt(Wt),Yt*=Wt,It*=Wt,Qt*=Wt);var ge=nt*Qt-Nt*It,me=Nt*Yt-bt*Qt,oe=bt*It-nt*Yt;return Wt=ge*ge+me*me+oe*oe,Wt>0&&(Wt=1/Math.sqrt(Wt),ge*=Wt,me*=Wt,oe*=Wt),F[0]=ge,F[1]=me,F[2]=oe,F[3]=0,F[4]=It*oe-Qt*me,F[5]=Qt*ge-Yt*oe,F[6]=Yt*me-It*ge,F[7]=0,F[8]=Yt,F[9]=It,F[10]=Qt,F[11]=0,F[12]=je,F[13]=Ke,F[14]=Cn,F[15]=1,F}function Bt(F){return"mat4("+F[0]+", "+F[1]+", "+F[2]+", "+F[3]+", "+F[4]+", "+F[5]+", "+F[6]+", "+F[7]+", "+F[8]+", "+F[9]+", "+F[10]+", "+F[11]+", "+F[12]+", "+F[13]+", "+F[14]+", "+F[15]+")"}function ve(F){return Math.sqrt(F[0]*F[0]+F[1]*F[1]+F[2]*F[2]+F[3]*F[3]+F[4]*F[4]+F[5]*F[5]+F[6]*F[6]+F[7]*F[7]+F[8]*F[8]+F[9]*F[9]+F[10]*F[10]+F[11]*F[11]+F[12]*F[12]+F[13]*F[13]+F[14]*F[14]+F[15]*F[15])}function nn(F,rt,ue){return F[0]=rt[0]+ue[0],F[1]=rt[1]+ue[1],F[2]=rt[2]+ue[2],F[3]=rt[3]+ue[3],F[4]=rt[4]+ue[4],F[5]=rt[5]+ue[5],F[6]=rt[6]+ue[6],F[7]=rt[7]+ue[7],F[8]=rt[8]+ue[8],F[9]=rt[9]+ue[9],F[10]=rt[10]+ue[10],F[11]=rt[11]+ue[11],F[12]=rt[12]+ue[12],F[13]=rt[13]+ue[13],F[14]=rt[14]+ue[14],F[15]=rt[15]+ue[15],F}function Ve(F,rt,ue){return F[0]=rt[0]-ue[0],F[1]=rt[1]-ue[1],F[2]=rt[2]-ue[2],F[3]=rt[3]-ue[3],F[4]=rt[4]-ue[4],F[5]=rt[5]-ue[5],F[6]=rt[6]-ue[6],F[7]=rt[7]-ue[7],F[8]=rt[8]-ue[8],F[9]=rt[9]-ue[9],F[10]=rt[10]-ue[10],F[11]=rt[11]-ue[11],F[12]=rt[12]-ue[12],F[13]=rt[13]-ue[13],F[14]=rt[14]-ue[14],F[15]=rt[15]-ue[15],F}function ce(F,rt,ue){return F[0]=rt[0]*ue,F[1]=rt[1]*ue,F[2]=rt[2]*ue,F[3]=rt[3]*ue,F[4]=rt[4]*ue,F[5]=rt[5]*ue,F[6]=rt[6]*ue,F[7]=rt[7]*ue,F[8]=rt[8]*ue,F[9]=rt[9]*ue,F[10]=rt[10]*ue,F[11]=rt[11]*ue,F[12]=rt[12]*ue,F[13]=rt[13]*ue,F[14]=rt[14]*ue,F[15]=rt[15]*ue,F}function We(F,rt,ue,se){return F[0]=rt[0]+ue[0]*se,F[1]=rt[1]+ue[1]*se,F[2]=rt[2]+ue[2]*se,F[3]=rt[3]+ue[3]*se,F[4]=rt[4]+ue[4]*se,F[5]=rt[5]+ue[5]*se,F[6]=rt[6]+ue[6]*se,F[7]=rt[7]+ue[7]*se,F[8]=rt[8]+ue[8]*se,F[9]=rt[9]+ue[9]*se,F[10]=rt[10]+ue[10]*se,F[11]=rt[11]+ue[11]*se,F[12]=rt[12]+ue[12]*se,F[13]=rt[13]+ue[13]*se,F[14]=rt[14]+ue[14]*se,F[15]=rt[15]+ue[15]*se,F}function Me(F,rt){return F[0]===rt[0]&&F[1]===rt[1]&&F[2]===rt[2]&&F[3]===rt[3]&&F[4]===rt[4]&&F[5]===rt[5]&&F[6]===rt[6]&&F[7]===rt[7]&&F[8]===rt[8]&&F[9]===rt[9]&&F[10]===rt[10]&&F[11]===rt[11]&&F[12]===rt[12]&&F[13]===rt[13]&&F[14]===rt[14]&&F[15]===rt[15]}function kt(F,rt){var ue=F[0],se=F[1],je=F[2],Ke=F[3],Cn=F[4],bt=F[5],nt=F[6],Nt=F[7],Yt=F[8],It=F[9],Qt=F[10],Wt=F[11],ge=F[12],me=F[13],oe=F[14],Ge=F[15],fn=rt[0],An=rt[1],Qn=rt[2],Yn=rt[3],Vn=rt[4],Nr=rt[5],ur=rt[6],yr=rt[7],be=rt[8],ri=rt[9],mr=rt[10],Ze=rt[11],Ce=rt[12],ye=rt[13],Dt=rt[14],Zt=rt[15];return Math.abs(ue-fn)<=c.Ib*Math.max(1,Math.abs(ue),Math.abs(fn))&&Math.abs(se-An)<=c.Ib*Math.max(1,Math.abs(se),Math.abs(An))&&Math.abs(je-Qn)<=c.Ib*Math.max(1,Math.abs(je),Math.abs(Qn))&&Math.abs(Ke-Yn)<=c.Ib*Math.max(1,Math.abs(Ke),Math.abs(Yn))&&Math.abs(Cn-Vn)<=c.Ib*Math.max(1,Math.abs(Cn),Math.abs(Vn))&&Math.abs(bt-Nr)<=c.Ib*Math.max(1,Math.abs(bt),Math.abs(Nr))&&Math.abs(nt-ur)<=c.Ib*Math.max(1,Math.abs(nt),Math.abs(ur))&&Math.abs(Nt-yr)<=c.Ib*Math.max(1,Math.abs(Nt),Math.abs(yr))&&Math.abs(Yt-be)<=c.Ib*Math.max(1,Math.abs(Yt),Math.abs(be))&&Math.abs(It-ri)<=c.Ib*Math.max(1,Math.abs(It),Math.abs(ri))&&Math.abs(Qt-mr)<=c.Ib*Math.max(1,Math.abs(Qt),Math.abs(mr))&&Math.abs(Wt-Ze)<=c.Ib*Math.max(1,Math.abs(Wt),Math.abs(Ze))&&Math.abs(ge-Ce)<=c.Ib*Math.max(1,Math.abs(ge),Math.abs(Ce))&&Math.abs(me-ye)<=c.Ib*Math.max(1,Math.abs(me),Math.abs(ye))&&Math.abs(oe-Dt)<=c.Ib*Math.max(1,Math.abs(oe),Math.abs(Dt))&&Math.abs(Ge-Zt)<=c.Ib*Math.max(1,Math.abs(Ge),Math.abs(Zt))}var ae=Z,Ie=Ve},94569:function(gt,dt,g){"use strict";g.d(dt,{Fv:function(){return ze},JG:function(){return En},Jp:function(){return T},Su:function(){return Oe},U_:function(){return Ut},Ue:function(){return w},al:function(){return Be},dC:function(){return Rn},t8:function(){return Ln},yY:function(){return E}});var c=g(85551),R=g(79111),P=g(92421),U=g(97082);function w(){var Bt=new c.WT(4);return c.WT!=Float32Array&&(Bt[0]=0,Bt[1]=0,Bt[2]=0),Bt[3]=1,Bt}function S(Bt){return Bt[0]=0,Bt[1]=0,Bt[2]=0,Bt[3]=1,Bt}function E(Bt,ve,nn){nn=nn*.5;var Ve=Math.sin(nn);return Bt[0]=Ve*ve[0],Bt[1]=Ve*ve[1],Bt[2]=Ve*ve[2],Bt[3]=Math.cos(nn),Bt}function L(Bt,ve){var nn=Math.acos(ve[3])*2,Ve=Math.sin(nn/2);return Ve>glMatrix.EPSILON?(Bt[0]=ve[0]/Ve,Bt[1]=ve[1]/Ve,Bt[2]=ve[2]/Ve):(Bt[0]=1,Bt[1]=0,Bt[2]=0),nn}function D(Bt,ve){var nn=pn(Bt,ve);return Math.acos(2*nn*nn-1)}function T(Bt,ve,nn){var Ve=ve[0],ce=ve[1],We=ve[2],Me=ve[3],kt=nn[0],ae=nn[1],Ie=nn[2],F=nn[3];return Bt[0]=Ve*F+Me*kt+ce*Ie-We*ae,Bt[1]=ce*F+Me*ae+We*kt-Ve*Ie,Bt[2]=We*F+Me*Ie+Ve*ae-ce*kt,Bt[3]=Me*F-Ve*kt-ce*ae-We*Ie,Bt}function K(Bt,ve,nn){nn*=.5;var Ve=ve[0],ce=ve[1],We=ve[2],Me=ve[3],kt=Math.sin(nn),ae=Math.cos(nn);return Bt[0]=Ve*ae+Me*kt,Bt[1]=ce*ae+We*kt,Bt[2]=We*ae-ce*kt,Bt[3]=Me*ae-Ve*kt,Bt}function Z(Bt,ve,nn){nn*=.5;var Ve=ve[0],ce=ve[1],We=ve[2],Me=ve[3],kt=Math.sin(nn),ae=Math.cos(nn);return Bt[0]=Ve*ae-We*kt,Bt[1]=ce*ae+Me*kt,Bt[2]=We*ae+Ve*kt,Bt[3]=Me*ae-ce*kt,Bt}function tt(Bt,ve,nn){nn*=.5;var Ve=ve[0],ce=ve[1],We=ve[2],Me=ve[3],kt=Math.sin(nn),ae=Math.cos(nn);return Bt[0]=Ve*ae+ce*kt,Bt[1]=ce*ae-Ve*kt,Bt[2]=We*ae+Me*kt,Bt[3]=Me*ae-We*kt,Bt}function V(Bt,ve){var nn=ve[0],Ve=ve[1],ce=ve[2];return Bt[0]=nn,Bt[1]=Ve,Bt[2]=ce,Bt[3]=Math.sqrt(Math.abs(1-nn*nn-Ve*Ve-ce*ce)),Bt}function pt(Bt,ve){var nn=ve[0],Ve=ve[1],ce=ve[2],We=ve[3],Me=Math.sqrt(nn*nn+Ve*Ve+ce*ce),kt=Math.exp(We),ae=Me>0?kt*Math.sin(Me)/Me:0;return Bt[0]=nn*ae,Bt[1]=Ve*ae,Bt[2]=ce*ae,Bt[3]=kt*Math.cos(Me),Bt}function st(Bt,ve){var nn=ve[0],Ve=ve[1],ce=ve[2],We=ve[3],Me=Math.sqrt(nn*nn+Ve*Ve+ce*ce),kt=Me>0?Math.atan2(Me,We)/Me:0;return Bt[0]=nn*kt,Bt[1]=Ve*kt,Bt[2]=ce*kt,Bt[3]=.5*Math.log(nn*nn+Ve*Ve+ce*ce+We*We),Bt}function X(Bt,ve,nn){return st(Bt,ve),or(Bt,Bt,nn),pt(Bt,Bt),Bt}function Mt(Bt,ve,nn,Ve){var ce=ve[0],We=ve[1],Me=ve[2],kt=ve[3],ae=nn[0],Ie=nn[1],F=nn[2],rt=nn[3],ue,se,je,Ke,Cn;return se=ce*ae+We*Ie+Me*F+kt*rt,se<0&&(se=-se,ae=-ae,Ie=-Ie,F=-F,rt=-rt),1-se>c.Ib?(ue=Math.acos(se),je=Math.sin(ue),Ke=Math.sin((1-Ve)*ue)/je,Cn=Math.sin(Ve*ue)/je):(Ke=1-Ve,Cn=Ve),Bt[0]=Ke*ce+Cn*ae,Bt[1]=Ke*We+Cn*Ie,Bt[2]=Ke*Me+Cn*F,Bt[3]=Ke*kt+Cn*rt,Bt}function ft(Bt){var ve=glMatrix.RANDOM(),nn=glMatrix.RANDOM(),Ve=glMatrix.RANDOM(),ce=Math.sqrt(1-ve),We=Math.sqrt(ve);return Bt[0]=ce*Math.sin(2*Math.PI*nn),Bt[1]=ce*Math.cos(2*Math.PI*nn),Bt[2]=We*Math.sin(2*Math.PI*Ve),Bt[3]=We*Math.cos(2*Math.PI*Ve),Bt}function Ut(Bt,ve){var nn=ve[0],Ve=ve[1],ce=ve[2],We=ve[3],Me=nn*nn+Ve*Ve+ce*ce+We*We,kt=Me?1/Me:0;return Bt[0]=-nn*kt,Bt[1]=-Ve*kt,Bt[2]=-ce*kt,Bt[3]=We*kt,Bt}function jt(Bt,ve){return Bt[0]=-ve[0],Bt[1]=-ve[1],Bt[2]=-ve[2],Bt[3]=ve[3],Bt}function Gt(Bt,ve){var nn=ve[0]+ve[4]+ve[8],Ve;if(nn>0)Ve=Math.sqrt(nn+1),Bt[3]=.5*Ve,Ve=.5/Ve,Bt[0]=(ve[5]-ve[7])*Ve,Bt[1]=(ve[6]-ve[2])*Ve,Bt[2]=(ve[1]-ve[3])*Ve;else{var ce=0;ve[4]>ve[0]&&(ce=1),ve[8]>ve[ce*3+ce]&&(ce=2);var We=(ce+1)%3,Me=(ce+2)%3;Ve=Math.sqrt(ve[ce*3+ce]-ve[We*3+We]-ve[Me*3+Me]+1),Bt[ce]=.5*Ve,Ve=.5/Ve,Bt[3]=(ve[We*3+Me]-ve[Me*3+We])*Ve,Bt[We]=(ve[We*3+ce]+ve[ce*3+We])*Ve,Bt[Me]=(ve[Me*3+ce]+ve[ce*3+Me])*Ve}return Bt}function Oe(Bt,ve,nn,Ve){var ce=arguments.length>4&&arguments[4]!==void 0?arguments[4]:c.yy,We=Math.PI/360;ve*=We,Ve*=We,nn*=We;var Me=Math.sin(ve),kt=Math.cos(ve),ae=Math.sin(nn),Ie=Math.cos(nn),F=Math.sin(Ve),rt=Math.cos(Ve);switch(ce){case"xyz":Bt[0]=Me*Ie*rt+kt*ae*F,Bt[1]=kt*ae*rt-Me*Ie*F,Bt[2]=kt*Ie*F+Me*ae*rt,Bt[3]=kt*Ie*rt-Me*ae*F;break;case"xzy":Bt[0]=Me*Ie*rt-kt*ae*F,Bt[1]=kt*ae*rt-Me*Ie*F,Bt[2]=kt*Ie*F+Me*ae*rt,Bt[3]=kt*Ie*rt+Me*ae*F;break;case"yxz":Bt[0]=Me*Ie*rt+kt*ae*F,Bt[1]=kt*ae*rt-Me*Ie*F,Bt[2]=kt*Ie*F-Me*ae*rt,Bt[3]=kt*Ie*rt+Me*ae*F;break;case"yzx":Bt[0]=Me*Ie*rt+kt*ae*F,Bt[1]=kt*ae*rt+Me*Ie*F,Bt[2]=kt*Ie*F-Me*ae*rt,Bt[3]=kt*Ie*rt-Me*ae*F;break;case"zxy":Bt[0]=Me*Ie*rt-kt*ae*F,Bt[1]=kt*ae*rt+Me*Ie*F,Bt[2]=kt*Ie*F+Me*ae*rt,Bt[3]=kt*Ie*rt-Me*ae*F;break;case"zyx":Bt[0]=Me*Ie*rt-kt*ae*F,Bt[1]=kt*ae*rt+Me*Ie*F,Bt[2]=kt*Ie*F-Me*ae*rt,Bt[3]=kt*Ie*rt+Me*ae*F;break;default:throw new Error("Unknown angle order "+ce)}return Bt}function de(Bt){return"quat("+Bt[0]+", "+Bt[1]+", "+Bt[2]+", "+Bt[3]+")"}var sn=U.d9,Be=U.al,En=U.JG,Ln=U.t8,wn=U.IH,Rn=T,or=U.bA,pn=U.AK,zn=U.t7,Pt=U.kE,Se=null,Un=U.we,On=null,ze=U.Fv,tn=U.I6;function ln(Bt,ve){return Math.abs(vec4.dot(Bt,ve))>=1-glMatrix.EPSILON}var pe=function(){var Bt=P.Ue(),ve=P.al(1,0,0),nn=P.al(0,1,0);return function(Ve,ce,We){var Me=P.AK(ce,We);return Me<-.999999?(P.kC(Bt,ve,ce),P.Zh(Bt)<1e-6&&P.kC(Bt,nn,ce),P.Fv(Bt,Bt),E(Ve,Bt,Math.PI),Ve):Me>.999999?(Ve[0]=0,Ve[1]=0,Ve[2]=0,Ve[3]=1,Ve):(P.kC(Bt,ce,We),Ve[0]=Bt[0],Ve[1]=Bt[1],Ve[2]=Bt[2],Ve[3]=1+Me,ze(Ve,Ve))}}(),Pe=function(){var Bt=w(),ve=w();return function(nn,Ve,ce,We,Me,kt){return Mt(Bt,Ve,Me,kt),Mt(ve,ce,We,kt),Mt(nn,Bt,ve,2*kt*(1-kt)),nn}}(),Ft=function(){var Bt=R.Ue();return function(ve,nn,Ve,ce){return Bt[0]=Ve[0],Bt[3]=Ve[1],Bt[6]=Ve[2],Bt[1]=ce[0],Bt[4]=ce[1],Bt[7]=ce[2],Bt[2]=-nn[0],Bt[5]=-nn[1],Bt[8]=-nn[2],ze(ve,Gt(ve,Bt))}}()},45545:function(gt,dt,g){"use strict";g.d(dt,{AK:function(){return sn},Fv:function(){return de},I6:function(){return ze},JG:function(){return w},Ue:function(){return R},t8:function(){return S}});var c=g(85551);function R(){var ce=new c.WT(2);return c.WT!=Float32Array&&(ce[0]=0,ce[1]=0),ce}function P(ce){var We=new glMatrix.ARRAY_TYPE(2);return We[0]=ce[0],We[1]=ce[1],We}function U(ce,We){var Me=new glMatrix.ARRAY_TYPE(2);return Me[0]=ce,Me[1]=We,Me}function w(ce,We){return ce[0]=We[0],ce[1]=We[1],ce}function S(ce,We,Me){return ce[0]=We,ce[1]=Me,ce}function E(ce,We,Me){return ce[0]=We[0]+Me[0],ce[1]=We[1]+Me[1],ce}function L(ce,We,Me){return ce[0]=We[0]-Me[0],ce[1]=We[1]-Me[1],ce}function D(ce,We,Me){return ce[0]=We[0]*Me[0],ce[1]=We[1]*Me[1],ce}function T(ce,We,Me){return ce[0]=We[0]/Me[0],ce[1]=We[1]/Me[1],ce}function K(ce,We){return ce[0]=Math.ceil(We[0]),ce[1]=Math.ceil(We[1]),ce}function Z(ce,We){return ce[0]=Math.floor(We[0]),ce[1]=Math.floor(We[1]),ce}function tt(ce,We,Me){return ce[0]=Math.min(We[0],Me[0]),ce[1]=Math.min(We[1],Me[1]),ce}function V(ce,We,Me){return ce[0]=Math.max(We[0],Me[0]),ce[1]=Math.max(We[1],Me[1]),ce}function pt(ce,We){return ce[0]=glMatrix.round(We[0]),ce[1]=glMatrix.round(We[1]),ce}function st(ce,We,Me){return ce[0]=We[0]*Me,ce[1]=We[1]*Me,ce}function X(ce,We,Me,kt){return ce[0]=We[0]+Me[0]*kt,ce[1]=We[1]+Me[1]*kt,ce}function Mt(ce,We){var Me=We[0]-ce[0],kt=We[1]-ce[1];return Math.sqrt(Me*Me+kt*kt)}function ft(ce,We){var Me=We[0]-ce[0],kt=We[1]-ce[1];return Me*Me+kt*kt}function Ut(ce){var We=ce[0],Me=ce[1];return Math.sqrt(We*We+Me*Me)}function jt(ce){var We=ce[0],Me=ce[1];return We*We+Me*Me}function Gt(ce,We){return ce[0]=-We[0],ce[1]=-We[1],ce}function Oe(ce,We){return ce[0]=1/We[0],ce[1]=1/We[1],ce}function de(ce,We){var Me=We[0],kt=We[1],ae=Me*Me+kt*kt;return ae>0&&(ae=1/Math.sqrt(ae)),ce[0]=We[0]*ae,ce[1]=We[1]*ae,ce}function sn(ce,We){return ce[0]*We[0]+ce[1]*We[1]}function Be(ce,We,Me){var kt=We[0]*Me[1]-We[1]*Me[0];return ce[0]=ce[1]=0,ce[2]=kt,ce}function En(ce,We,Me,kt){var ae=We[0],Ie=We[1];return ce[0]=ae+kt*(Me[0]-ae),ce[1]=Ie+kt*(Me[1]-Ie),ce}function Ln(ce,We){We=We===void 0?1:We;var Me=glMatrix.RANDOM()*2*Math.PI;return ce[0]=Math.cos(Me)*We,ce[1]=Math.sin(Me)*We,ce}function wn(ce,We,Me){var kt=We[0],ae=We[1];return ce[0]=Me[0]*kt+Me[2]*ae,ce[1]=Me[1]*kt+Me[3]*ae,ce}function Rn(ce,We,Me){var kt=We[0],ae=We[1];return ce[0]=Me[0]*kt+Me[2]*ae+Me[4],ce[1]=Me[1]*kt+Me[3]*ae+Me[5],ce}function or(ce,We,Me){var kt=We[0],ae=We[1];return ce[0]=Me[0]*kt+Me[3]*ae+Me[6],ce[1]=Me[1]*kt+Me[4]*ae+Me[7],ce}function pn(ce,We,Me){var kt=We[0],ae=We[1];return ce[0]=Me[0]*kt+Me[4]*ae+Me[12],ce[1]=Me[1]*kt+Me[5]*ae+Me[13],ce}function zn(ce,We,Me,kt){var ae=We[0]-Me[0],Ie=We[1]-Me[1],F=Math.sin(kt),rt=Math.cos(kt);return ce[0]=ae*rt-Ie*F+Me[0],ce[1]=ae*F+Ie*rt+Me[1],ce}function Pt(ce,We){var Me=ce[0],kt=ce[1],ae=We[0],Ie=We[1];return Math.abs(Math.atan2(kt*ae-Me*Ie,Me*ae+kt*Ie))}function Se(ce,We){var Me=ce[0],kt=ce[1],ae=We[0],Ie=We[1];return Math.atan2(Me*Ie-kt*ae,Me*ae+kt*Ie)}function Un(ce){return ce[0]=0,ce[1]=0,ce}function On(ce){return"vec2("+ce[0]+", "+ce[1]+")"}function ze(ce,We){return ce[0]===We[0]&&ce[1]===We[1]}function tn(ce,We){var Me=ce[0],kt=ce[1],ae=We[0],Ie=We[1];return Math.abs(Me-ae)<=glMatrix.EPSILON*Math.max(1,Math.abs(Me),Math.abs(ae))&&Math.abs(kt-Ie)<=glMatrix.EPSILON*Math.max(1,Math.abs(kt),Math.abs(Ie))}var ln=null,pe=null,Pe=null,Ft=null,Bt=null,ve=null,nn=null,Ve=function(){var ce=R();return function(We,Me,kt,ae,Ie,F){var rt,ue;for(Me||(Me=2),kt||(kt=0),ae?ue=Math.min(ae*Me+kt,We.length):ue=We.length,rt=kt;rt0&&(ue=1/Math.sqrt(ue)),kt[0]=ae[0]*ue,kt[1]=ae[1]*ue,kt[2]=ae[2]*ue,kt}function sn(kt,ae){return kt[0]*ae[0]+kt[1]*ae[1]+kt[2]*ae[2]}function Be(kt,ae,Ie){var F=ae[0],rt=ae[1],ue=ae[2],se=Ie[0],je=Ie[1],Ke=Ie[2];return kt[0]=rt*Ke-ue*je,kt[1]=ue*se-F*Ke,kt[2]=F*je-rt*se,kt}function En(kt,ae,Ie,F){var rt=ae[0],ue=ae[1],se=ae[2];return kt[0]=rt+F*(Ie[0]-rt),kt[1]=ue+F*(Ie[1]-ue),kt[2]=se+F*(Ie[2]-se),kt}function Ln(kt,ae,Ie,F){var rt=Math.acos(Math.min(Math.max(sn(ae,Ie),-1),1)),ue=Math.sin(rt),se=Math.sin((1-F)*rt)/ue,je=Math.sin(F*rt)/ue;return kt[0]=se*ae[0]+je*Ie[0],kt[1]=se*ae[1]+je*Ie[1],kt[2]=se*ae[2]+je*Ie[2],kt}function wn(kt,ae,Ie,F,rt,ue){var se=ue*ue,je=se*(2*ue-3)+1,Ke=se*(ue-2)+ue,Cn=se*(ue-1),bt=se*(3-2*ue);return kt[0]=ae[0]*je+Ie[0]*Ke+F[0]*Cn+rt[0]*bt,kt[1]=ae[1]*je+Ie[1]*Ke+F[1]*Cn+rt[1]*bt,kt[2]=ae[2]*je+Ie[2]*Ke+F[2]*Cn+rt[2]*bt,kt}function Rn(kt,ae,Ie,F,rt,ue){var se=1-ue,je=se*se,Ke=ue*ue,Cn=je*se,bt=3*ue*je,nt=3*Ke*se,Nt=Ke*ue;return kt[0]=ae[0]*Cn+Ie[0]*bt+F[0]*nt+rt[0]*Nt,kt[1]=ae[1]*Cn+Ie[1]*bt+F[1]*nt+rt[1]*Nt,kt[2]=ae[2]*Cn+Ie[2]*bt+F[2]*nt+rt[2]*Nt,kt}function or(kt,ae){ae=ae===void 0?1:ae;var Ie=glMatrix.RANDOM()*2*Math.PI,F=glMatrix.RANDOM()*2-1,rt=Math.sqrt(1-F*F)*ae;return kt[0]=Math.cos(Ie)*rt,kt[1]=Math.sin(Ie)*rt,kt[2]=F*ae,kt}function pn(kt,ae,Ie){var F=ae[0],rt=ae[1],ue=ae[2],se=Ie[3]*F+Ie[7]*rt+Ie[11]*ue+Ie[15];return se=se||1,kt[0]=(Ie[0]*F+Ie[4]*rt+Ie[8]*ue+Ie[12])/se,kt[1]=(Ie[1]*F+Ie[5]*rt+Ie[9]*ue+Ie[13])/se,kt[2]=(Ie[2]*F+Ie[6]*rt+Ie[10]*ue+Ie[14])/se,kt}function zn(kt,ae,Ie){var F=ae[0],rt=ae[1],ue=ae[2];return kt[0]=F*Ie[0]+rt*Ie[3]+ue*Ie[6],kt[1]=F*Ie[1]+rt*Ie[4]+ue*Ie[7],kt[2]=F*Ie[2]+rt*Ie[5]+ue*Ie[8],kt}function Pt(kt,ae,Ie){var F=Ie[0],rt=Ie[1],ue=Ie[2],se=Ie[3],je=ae[0],Ke=ae[1],Cn=ae[2],bt=rt*Cn-ue*Ke,nt=ue*je-F*Cn,Nt=F*Ke-rt*je;return bt=bt+bt,nt=nt+nt,Nt=Nt+Nt,kt[0]=je+se*bt+rt*Nt-ue*nt,kt[1]=Ke+se*nt+ue*bt-F*Nt,kt[2]=Cn+se*Nt+F*nt-rt*bt,kt}function Se(kt,ae,Ie,F){var rt=[],ue=[];return rt[0]=ae[0]-Ie[0],rt[1]=ae[1]-Ie[1],rt[2]=ae[2]-Ie[2],ue[0]=rt[0],ue[1]=rt[1]*Math.cos(F)-rt[2]*Math.sin(F),ue[2]=rt[1]*Math.sin(F)+rt[2]*Math.cos(F),kt[0]=ue[0]+Ie[0],kt[1]=ue[1]+Ie[1],kt[2]=ue[2]+Ie[2],kt}function Un(kt,ae,Ie,F){var rt=[],ue=[];return rt[0]=ae[0]-Ie[0],rt[1]=ae[1]-Ie[1],rt[2]=ae[2]-Ie[2],ue[0]=rt[2]*Math.sin(F)+rt[0]*Math.cos(F),ue[1]=rt[1],ue[2]=rt[2]*Math.cos(F)-rt[0]*Math.sin(F),kt[0]=ue[0]+Ie[0],kt[1]=ue[1]+Ie[1],kt[2]=ue[2]+Ie[2],kt}function On(kt,ae,Ie,F){var rt=[],ue=[];return rt[0]=ae[0]-Ie[0],rt[1]=ae[1]-Ie[1],rt[2]=ae[2]-Ie[2],ue[0]=rt[0]*Math.cos(F)-rt[1]*Math.sin(F),ue[1]=rt[0]*Math.sin(F)+rt[1]*Math.cos(F),ue[2]=rt[2],kt[0]=ue[0]+Ie[0],kt[1]=ue[1]+Ie[1],kt[2]=ue[2]+Ie[2],kt}function ze(kt,ae){var Ie=kt[0],F=kt[1],rt=kt[2],ue=ae[0],se=ae[1],je=ae[2],Ke=Math.sqrt((Ie*Ie+F*F+rt*rt)*(ue*ue+se*se+je*je)),Cn=Ke&&sn(kt,ae)/Ke;return Math.acos(Math.min(Math.max(Cn,-1),1))}function tn(kt){return kt[0]=0,kt[1]=0,kt[2]=0,kt}function ln(kt){return"vec3("+kt[0]+", "+kt[1]+", "+kt[2]+")"}function pe(kt,ae){return kt[0]===ae[0]&&kt[1]===ae[1]&&kt[2]===ae[2]}function Pe(kt,ae){var Ie=kt[0],F=kt[1],rt=kt[2],ue=ae[0],se=ae[1],je=ae[2];return Math.abs(Ie-ue)<=c.Ib*Math.max(1,Math.abs(Ie),Math.abs(ue))&&Math.abs(F-se)<=c.Ib*Math.max(1,Math.abs(F),Math.abs(se))&&Math.abs(rt-je)<=c.Ib*Math.max(1,Math.abs(rt),Math.abs(je))}var Ft=D,Bt=null,ve=null,nn=ft,Ve=null,ce=U,We=null,Me=function(){var kt=R();return function(ae,Ie,F,rt,ue,se){var je,Ke;for(Ie||(Ie=3),F||(F=0),rt?Ke=Math.min(rt*Ie+F,ae.length):Ke=ae.length,je=F;je0&&(We=1/Math.sqrt(We)),Ft[0]=ve*We,Ft[1]=nn*We,Ft[2]=Ve*We,Ft[3]=ce*We,Ft}function sn(Ft,Bt){return Ft[0]*Bt[0]+Ft[1]*Bt[1]+Ft[2]*Bt[2]+Ft[3]*Bt[3]}function Be(Ft,Bt,ve,nn){var Ve=ve[0]*nn[1]-ve[1]*nn[0],ce=ve[0]*nn[2]-ve[2]*nn[0],We=ve[0]*nn[3]-ve[3]*nn[0],Me=ve[1]*nn[2]-ve[2]*nn[1],kt=ve[1]*nn[3]-ve[3]*nn[1],ae=ve[2]*nn[3]-ve[3]*nn[2],Ie=Bt[0],F=Bt[1],rt=Bt[2],ue=Bt[3];return Ft[0]=F*ae-rt*kt+ue*Me,Ft[1]=-(Ie*ae)+rt*We-ue*ce,Ft[2]=Ie*kt-F*We+ue*Ve,Ft[3]=-(Ie*Me)+F*ce-rt*Ve,Ft}function En(Ft,Bt,ve,nn){var Ve=Bt[0],ce=Bt[1],We=Bt[2],Me=Bt[3];return Ft[0]=Ve+nn*(ve[0]-Ve),Ft[1]=ce+nn*(ve[1]-ce),Ft[2]=We+nn*(ve[2]-We),Ft[3]=Me+nn*(ve[3]-Me),Ft}function Ln(Ft,Bt){Bt=Bt===void 0?1:Bt;var ve,nn,Ve,ce,We,Me,kt;kt=glMatrix.RANDOM(),ve=kt*2-1,nn=(4*glMatrix.RANDOM()-2)*Math.sqrt(kt*-kt+kt),We=ve*ve+nn*nn,kt=glMatrix.RANDOM(),Ve=kt*2-1,ce=(4*glMatrix.RANDOM()-2)*Math.sqrt(kt*-kt+kt),Me=Ve*Ve+ce*ce;var ae=Math.sqrt((1-We)/Me);return Ft[0]=Bt*ve,Ft[1]=Bt*nn,Ft[2]=Bt*Ve*ae,Ft[3]=Bt*ce*ae,Ft}function wn(Ft,Bt,ve){var nn=Bt[0],Ve=Bt[1],ce=Bt[2],We=Bt[3];return Ft[0]=ve[0]*nn+ve[4]*Ve+ve[8]*ce+ve[12]*We,Ft[1]=ve[1]*nn+ve[5]*Ve+ve[9]*ce+ve[13]*We,Ft[2]=ve[2]*nn+ve[6]*Ve+ve[10]*ce+ve[14]*We,Ft[3]=ve[3]*nn+ve[7]*Ve+ve[11]*ce+ve[15]*We,Ft}function Rn(Ft,Bt,ve){var nn=ve[0],Ve=ve[1],ce=ve[2],We=ve[3],Me=Bt[0],kt=Bt[1],ae=Bt[2],Ie=Ve*ae-ce*kt,F=ce*Me-nn*ae,rt=nn*kt-Ve*Me;return Ie=Ie+Ie,F=F+F,rt=rt+rt,Ft[0]=Me+We*Ie+Ve*rt-ce*F,Ft[1]=kt+We*F+ce*Ie-nn*rt,Ft[2]=ae+We*rt+nn*F-Ve*Ie,Ft[3]=Bt[3],Ft}function or(Ft){return Ft[0]=0,Ft[1]=0,Ft[2]=0,Ft[3]=0,Ft}function pn(Ft){return"vec4("+Ft[0]+", "+Ft[1]+", "+Ft[2]+", "+Ft[3]+")"}function zn(Ft,Bt){return Ft[0]===Bt[0]&&Ft[1]===Bt[1]&&Ft[2]===Bt[2]&&Ft[3]===Bt[3]}function Pt(Ft,Bt){var ve=Ft[0],nn=Ft[1],Ve=Ft[2],ce=Ft[3],We=Bt[0],Me=Bt[1],kt=Bt[2],ae=Bt[3];return Math.abs(ve-We)<=glMatrix.EPSILON*Math.max(1,Math.abs(ve),Math.abs(We))&&Math.abs(nn-Me)<=glMatrix.EPSILON*Math.max(1,Math.abs(nn),Math.abs(Me))&&Math.abs(Ve-kt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ve),Math.abs(kt))&&Math.abs(ce-ae)<=glMatrix.EPSILON*Math.max(1,Math.abs(ce),Math.abs(ae))}var Se=null,Un=null,On=null,ze=null,tn=null,ln=null,pe=null,Pe=function(){var Ft=R();return function(Bt,ve,nn,Ve,ce,We){var Me,kt;for(ve||(ve=4),nn||(nn=0),Ve?kt=Math.min(Ve*ve+nn,Bt.length):kt=Bt.length,Me=nn;Me0&&(Z=K.removeMin(),tt=T[Z],tt.distance!==Number.POSITIVE_INFINITY);)D(Z).forEach(V);return T}},59324:function(gt,dt,g){var c=g(95329),R=g(94558);gt.exports=P;function P(U){return c.filter(R(U),function(w){return w.length>1||w.length===1&&U.hasEdge(w[0],w[0])})}},22893:function(gt,dt,g){var c=g(95329);gt.exports=P;var R=c.constant(1);function P(w,S,E){return U(w,S||R,E||function(L){return w.outEdges(L)})}function U(w,S,E){var L={},D=w.nodes();return D.forEach(function(T){L[T]={},L[T][T]={distance:0},D.forEach(function(K){T!==K&&(L[T][K]={distance:Number.POSITIVE_INFINITY})}),E(T).forEach(function(K){var Z=K.v===T?K.w:K.v,tt=S(K);L[T][Z]={distance:tt,predecessor:T}})}),D.forEach(function(T){var K=L[T];D.forEach(function(Z){var tt=L[Z];D.forEach(function(V){var pt=tt[T],st=K[V],X=tt[V],Mt=pt.distance+st.distance;Mt0;){if(T=D.removeMin(),c.has(L,T))E.setEdge(T,L[T]);else{if(Z)throw new Error("Input graph is not connected: "+w);Z=!0}w.nodeEdges(T).forEach(K)}return E}},94558:function(gt,dt,g){var c=g(95329);gt.exports=R;function R(P){var U=0,w=[],S={},E=[];function L(D){var T=S[D]={onStack:!0,lowlink:U,index:U++};if(w.push(D),P.successors(D).forEach(function(tt){c.has(S,tt)?S[tt].onStack&&(T.lowlink=Math.min(T.lowlink,S[tt].index)):(L(tt),T.lowlink=Math.min(T.lowlink,S[tt].lowlink))}),T.lowlink===T.index){var K=[],Z;do Z=w.pop(),S[Z].onStack=!1,K.push(Z);while(D!==Z);E.push(K)}}return P.nodes().forEach(function(D){c.has(S,D)||L(D)}),E}},7793:function(gt,dt,g){var c=g(95329);gt.exports=R,R.CycleException=P;function R(U){var w={},S={},E=[];function L(D){if(c.has(S,D))throw new P;c.has(w,D)||(S[D]=!0,w[D]=!0,c.each(U.predecessors(D),L),delete S[D],E.push(D))}if(c.each(U.sinks(),L),c.size(w)!==U.nodeCount())throw new P;return E}function P(){}P.prototype=new Error},36614:function(gt,dt,g){var c=g(95329);gt.exports=R;function R(){this._arr=[],this._keyIndices={}}R.prototype.size=function(){return this._arr.length},R.prototype.keys=function(){return this._arr.map(function(P){return P.key})},R.prototype.has=function(P){return c.has(this._keyIndices,P)},R.prototype.priority=function(P){var U=this._keyIndices[P];if(U!==void 0)return this._arr[U].priority},R.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},R.prototype.add=function(P,U){var w=this._keyIndices;if(P=String(P),!c.has(w,P)){var S=this._arr,E=S.length;return w[P]=E,S.push({key:P,priority:U}),this._decrease(E),!0}return!1},R.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var P=this._arr.pop();return delete this._keyIndices[P.key],this._heapify(0),P.key},R.prototype.decrease=function(P,U){var w=this._keyIndices[P];if(U>this._arr[w].priority)throw new Error("New priority is greater than current priority. Key: "+P+" Old: "+this._arr[w].priority+" New: "+U);this._arr[w].priority=U,this._decrease(w)},R.prototype._heapify=function(P){var U=this._arr,w=2*P,S=w+1,E=P;w>1,!(U[S].priority1?V.setNode(pt,Z):V.setNode(pt)}),this},w.prototype.setNode=function(K,Z){return c.has(this._nodes,K)?(arguments.length>1&&(this._nodes[K]=Z),this):(this._nodes[K]=arguments.length>1?Z:this._defaultNodeLabelFn(K),this._isCompound&&(this._parent[K]=P,this._children[K]={},this._children[P][K]=!0),this._in[K]={},this._preds[K]={},this._out[K]={},this._sucs[K]={},++this._nodeCount,this)},w.prototype.node=function(K){return this._nodes[K]},w.prototype.hasNode=function(K){return c.has(this._nodes,K)},w.prototype.removeNode=function(K){var Z=this;if(c.has(this._nodes,K)){var tt=function(V){Z.removeEdge(Z._edgeObjs[V])};delete this._nodes[K],this._isCompound&&(this._removeFromParentsChildList(K),delete this._parent[K],c.each(this.children(K),function(V){Z.setParent(V)}),delete this._children[K]),c.each(c.keys(this._in[K]),tt),delete this._in[K],delete this._preds[K],c.each(c.keys(this._out[K]),tt),delete this._out[K],delete this._sucs[K],--this._nodeCount}return this},w.prototype.setParent=function(K,Z){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(Z))Z=P;else{Z+="";for(var tt=Z;!c.isUndefined(tt);tt=this.parent(tt))if(tt===K)throw new Error("Setting "+Z+" as parent of "+K+" would create a cycle");this.setNode(Z)}return this.setNode(K),this._removeFromParentsChildList(K),this._parent[K]=Z,this._children[Z][K]=!0,this},w.prototype._removeFromParentsChildList=function(K){delete this._children[this._parent[K]][K]},w.prototype.parent=function(K){if(this._isCompound){var Z=this._parent[K];if(Z!==P)return Z}},w.prototype.children=function(K){if(c.isUndefined(K)&&(K=P),this._isCompound){var Z=this._children[K];if(Z)return c.keys(Z)}else{if(K===P)return this.nodes();if(this.hasNode(K))return[]}},w.prototype.predecessors=function(K){var Z=this._preds[K];if(Z)return c.keys(Z)},w.prototype.successors=function(K){var Z=this._sucs[K];if(Z)return c.keys(Z)},w.prototype.neighbors=function(K){var Z=this.predecessors(K);if(Z)return c.union(Z,this.successors(K))},w.prototype.isLeaf=function(K){var Z;return this.isDirected()?Z=this.successors(K):Z=this.neighbors(K),Z.length===0},w.prototype.filterNodes=function(K){var Z=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});Z.setGraph(this.graph());var tt=this;c.each(this._nodes,function(st,X){K(X)&&Z.setNode(X,st)}),c.each(this._edgeObjs,function(st){Z.hasNode(st.v)&&Z.hasNode(st.w)&&Z.setEdge(st,tt.edge(st))});var V={};function pt(st){var X=tt.parent(st);return X===void 0||Z.hasNode(X)?(V[st]=X,X):X in V?V[X]:pt(X)}return this._isCompound&&c.each(Z.nodes(),function(st){Z.setParent(st,pt(st))}),Z},w.prototype.setDefaultEdgeLabel=function(K){return c.isFunction(K)||(K=c.constant(K)),this._defaultEdgeLabelFn=K,this},w.prototype.edgeCount=function(){return this._edgeCount},w.prototype.edges=function(){return c.values(this._edgeObjs)},w.prototype.setPath=function(K,Z){var tt=this,V=arguments;return c.reduce(K,function(pt,st){return V.length>1?tt.setEdge(pt,st,Z):tt.setEdge(pt,st),st}),this},w.prototype.setEdge=function(){var K,Z,tt,V,pt=!1,st=arguments[0];typeof st=="object"&&st!==null&&"v"in st?(K=st.v,Z=st.w,tt=st.name,arguments.length===2&&(V=arguments[1],pt=!0)):(K=st,Z=arguments[1],tt=arguments[3],arguments.length>2&&(V=arguments[2],pt=!0)),K=""+K,Z=""+Z,c.isUndefined(tt)||(tt=""+tt);var X=L(this._isDirected,K,Z,tt);if(c.has(this._edgeLabels,X))return pt&&(this._edgeLabels[X]=V),this;if(!c.isUndefined(tt)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(K),this.setNode(Z),this._edgeLabels[X]=pt?V:this._defaultEdgeLabelFn(K,Z,tt);var Mt=D(this._isDirected,K,Z,tt);return K=Mt.v,Z=Mt.w,Object.freeze(Mt),this._edgeObjs[X]=Mt,S(this._preds[Z],K),S(this._sucs[K],Z),this._in[Z][X]=Mt,this._out[K][X]=Mt,this._edgeCount++,this},w.prototype.edge=function(K,Z,tt){var V=arguments.length===1?T(this._isDirected,arguments[0]):L(this._isDirected,K,Z,tt);return this._edgeLabels[V]},w.prototype.hasEdge=function(K,Z,tt){var V=arguments.length===1?T(this._isDirected,arguments[0]):L(this._isDirected,K,Z,tt);return c.has(this._edgeLabels,V)},w.prototype.removeEdge=function(K,Z,tt){var V=arguments.length===1?T(this._isDirected,arguments[0]):L(this._isDirected,K,Z,tt),pt=this._edgeObjs[V];return pt&&(K=pt.v,Z=pt.w,delete this._edgeLabels[V],delete this._edgeObjs[V],E(this._preds[Z],K),E(this._sucs[K],Z),delete this._in[Z][V],delete this._out[K][V],this._edgeCount--),this},w.prototype.inEdges=function(K,Z){var tt=this._in[K];if(tt){var V=c.values(tt);return Z?c.filter(V,function(pt){return pt.v===Z}):V}},w.prototype.outEdges=function(K,Z){var tt=this._out[K];if(tt){var V=c.values(tt);return Z?c.filter(V,function(pt){return pt.w===Z}):V}},w.prototype.nodeEdges=function(K,Z){var tt=this.inEdges(K,Z);if(tt)return tt.concat(this.outEdges(K,Z))};function S(K,Z){K[Z]?K[Z]++:K[Z]=1}function E(K,Z){--K[Z]||delete K[Z]}function L(K,Z,tt,V){var pt=""+Z,st=""+tt;if(!K&&pt>st){var X=pt;pt=st,st=X}return pt+U+st+U+(c.isUndefined(V)?R:V)}function D(K,Z,tt,V){var pt=""+Z,st=""+tt;if(!K&&pt>st){var X=pt;pt=st,st=X}var Mt={v:pt,w:st};return V&&(Mt.name=V),Mt}function T(K,Z){return L(K,Z.v,Z.w,Z.name)}},89224:function(gt,dt,g){gt.exports={Graph:g(6349),version:g(16544)}},17401:function(gt,dt,g){var c=g(95329),R=g(6349);gt.exports={write:P,read:S};function P(E){var L={options:{directed:E.isDirected(),multigraph:E.isMultigraph(),compound:E.isCompound()},nodes:U(E),edges:w(E)};return c.isUndefined(E.graph())||(L.value=c.clone(E.graph())),L}function U(E){return c.map(E.nodes(),function(L){var D=E.node(L),T=E.parent(L),K={v:L};return c.isUndefined(D)||(K.value=D),c.isUndefined(T)||(K.parent=T),K})}function w(E){return c.map(E.edges(),function(L){var D=E.edge(L),T={v:L.v,w:L.w};return c.isUndefined(L.name)||(T.name=L.name),c.isUndefined(D)||(T.value=D),T})}function S(E){var L=new R(E.options).setGraph(E.value);return c.each(E.nodes,function(D){L.setNode(D.v,D.value),D.parent&&L.setParent(D.v,D.parent)}),c.each(E.edges,function(D){L.setEdge({v:D.v,w:D.w,name:D.name},D.value)}),L}},95329:function(gt,dt,g){var c;try{c={clone:g(40633),constant:g(46221),each:g(61475),filter:g(3130),has:g(64760),isArray:g(41594),isEmpty:g(74336),isFunction:g(92581),isUndefined:g(68408),keys:g(66357),map:g(81426),reduce:g(9695),size:g(24727),transform:g(61477),union:g(99477),values:g(72834)}}catch(R){}c||(c=window._),gt.exports=c},16544:function(gt){gt.exports="2.1.8"},64270:function(gt){(function(dt,g){gt.exports=g()})(this,function(){"use strict";var dt=function(B,y){return dt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,O){I.__proto__=O}||function(I,O){for(var et in O)Object.prototype.hasOwnProperty.call(O,et)&&(I[et]=O[et])},dt(B,y)};function g(B,y){if(typeof y!="function"&&y!==null)throw new TypeError("Class extends value "+String(y)+" is not a constructor or null");dt(B,y);function I(){this.constructor=B}B.prototype=y===null?Object.create(y):(I.prototype=y.prototype,new I)}var c=function(){return c=Object.assign||function(y){for(var I,O=1,et=arguments.length;O0&&St[St.length-1])&&(bn[0]===6||bn[0]===2)){I=0;continue}if(bn[0]===3&&(!St||bn[1]>St[0]&&bn[1]=55296&&et<=56319&&I>10)+55296,$t%1024+56320)),(et+1===I||O.length>16384)&&(St+=String.fromCharCode.apply(String,O),O.length=0)}return St},T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",K=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),Z=0;Z>4,In[et++]=($t&15)<<4|Le>>2,In[et++]=(Le&3)<<6|Ne&63;return bn},X=function(B){for(var y=B.length,I=[],O=0;O>ft,de=1<>ft,En=Oe+Be,Ln=En,wn=32,Rn=Ln+wn,or=65536>>Ut,pn=1<=0){if(y<55296||y>56319&&y<=65535)return I=this.index[y>>ft],I=(I<>ft)],I=(I<>Ut),I=this.index[I],I+=y>>ft&zn,I=this.index[I],I=(I<Pe?(et.push(!0),Le-=Pe):et.push(!1),["normal","auto","loose"].indexOf(y)!==-1&&[8208,8211,12316,12448].indexOf(St)!==-1)return O.push($t),I.push(se);if(Le===nn||Le===ae){if($t===0)return O.push($t),I.push(Ge);var Ne=I[$t-1];return ir.indexOf(Ne)===-1?(O.push(O[$t-1]),I.push(Ne)):(O.push($t),I.push(Ge))}if(O.push($t),Le===fn)return I.push(y==="strict"?nt:ur);if(Le===Ze||Le===oe)return I.push(Ge);if(Le===Ce)return St>=131072&&St<=196605||St>=196608&&St<=262141?I.push(ur):I.push(Ge);I.push(Le)}),[O,I,et]},m=function(B,y,I,O){var et=O[I];if(Array.isArray(B)?B.indexOf(et)!==-1:B===et)for(var St=I;St<=O.length;){St++;var $t=O[St];if($t===y)return!0;if($t!==kt)break}if(et===kt)for(var St=I;St>0;){St--;var Le=O[St];if(Array.isArray(B)?B.indexOf(Le)!==-1:B===Le)for(var Ne=I;Ne<=O.length;){Ne++;var $t=O[Ne];if($t===y)return!0;if($t!==kt)break}if(Le!==kt)break}return!1},N=function(B,y){for(var I=B;I>=0;){var O=y[I];if(O===kt)I--;else return O}return 0},z=function(B,y,I,O,et){if(I[O]===0)return Zt;var St=O-1;if(Array.isArray(et)&&et[St]===!0)return Zt;var $t=St-1,Le=St+1,Ne=y[St],bn=$t>=0?y[$t]:0,In=y[Le];if(Ne===Bt&&In===ve)return Zt;if(vn.indexOf(Ne)!==-1)return Dt;if(vn.indexOf(In)!==-1||un.indexOf(In)!==-1)return Zt;if(N(St,y)===We)return we;if(De.get(B[St])===ae||(Ne===An||Ne===Qn)&&De.get(B[Le])===ae||Ne===ce||In===ce||Ne===Me||[kt,F,ue].indexOf(Ne)===-1&&In===Me||[je,Ke,Cn,It,me].indexOf(In)!==-1||N(St,y)===Nt||m(Yt,Nt,St,y)||m([je,Ke],nt,St,y)||m(Ie,Ie,St,y))return Zt;if(Ne===kt)return we;if(Ne===Yt||In===Yt)return Zt;if(In===se||Ne===se)return we;if([F,ue,nt].indexOf(In)!==-1||Ne===rt||bn===Nr&&x.indexOf(Ne)!==-1||Ne===me&&In===Nr||In===bt||Ee.indexOf(In)!==-1&&Ne===Qt||Ee.indexOf(Ne)!==-1&&In===Qt||Ne===ge&&[ur,An,Qn].indexOf(In)!==-1||[ur,An,Qn].indexOf(Ne)!==-1&&In===Wt||Ee.indexOf(Ne)!==-1&&Xn.indexOf(In)!==-1||Xn.indexOf(Ne)!==-1&&Ee.indexOf(In)!==-1||[ge,Wt].indexOf(Ne)!==-1&&(In===Qt||[Nt,ue].indexOf(In)!==-1&&y[Le+1]===Qt)||[Nt,ue].indexOf(Ne)!==-1&&In===Qt||Ne===Qt&&[Qt,me,It].indexOf(In)!==-1)return Zt;if([Qt,me,It,je,Ke].indexOf(In)!==-1)for(var Hn=St;Hn>=0;){var sr=y[Hn];if(sr===Qt)return Zt;if([me,It].indexOf(sr)!==-1)Hn--;else break}if([ge,Wt].indexOf(In)!==-1)for(var Hn=[je,Ke].indexOf(Ne)!==-1?$t:St;Hn>=0;){var sr=y[Hn];if(sr===Qt)return Zt;if([me,It].indexOf(sr)!==-1)Hn--;else break}if(yr===Ne&&[yr,be,Yn,Vn].indexOf(In)!==-1||[be,Yn].indexOf(Ne)!==-1&&[be,ri].indexOf(In)!==-1||[ri,Vn].indexOf(Ne)!==-1&&In===ri||ot.indexOf(Ne)!==-1&&[bt,Wt].indexOf(In)!==-1||ot.indexOf(In)!==-1&&Ne===ge||Ee.indexOf(Ne)!==-1&&Ee.indexOf(In)!==-1||Ne===It&&Ee.indexOf(In)!==-1||Ee.concat(Qt).indexOf(Ne)!==-1&&In===Nt&&ye.indexOf(B[Le])===-1||Ee.concat(Qt).indexOf(In)!==-1&&Ne===Ke)return Zt;if(Ne===mr&&In===mr){for(var ti=I[St],Pr=1;ti>0&&(ti--,y[ti]===mr);)Pr++;if(Pr%2!==0)return Zt}return Ne===An&&In===Qn?Zt:we},Lt=function(B,y){y||(y={lineBreak:"normal",wordBreak:"normal"});var I=M(B,y.lineBreak),O=I[0],et=I[1],St=I[2];(y.wordBreak==="break-all"||y.wordBreak==="break-word")&&(et=et.map(function(Le){return[Qt,Ge,Ze].indexOf(Le)!==-1?ur:Le}));var $t=y.wordBreak==="keep-all"?St.map(function(Le,Ne){return Le&&B[Ne]>=19968&&B[Ne]<=40959}):void 0;return[O,et,$t]},Rt=function(){function B(y,I,O,et){this.codePoints=y,this.required=I===Dt,this.start=O,this.end=et}return B.prototype.slice=function(){return D.apply(void 0,this.codePoints.slice(this.start,this.end))},B}(),Jt=function(B,y){var I=L(B),O=Lt(I,y),et=O[0],St=O[1],$t=O[2],Le=I.length,Ne=0,bn=0;return{next:function(){if(bn>=Le)return{done:!0,value:null};for(var In=Zt;bn=Jn&&B<=57},us=function(B){return B>=55296&&B<=57343},Ua=function(B){return ga(B)||B>=Ba&&B<=da||B>=Ri&&B<=ta},Ca=function(B){return B>=Ri&&B<=Ki},$a=function(B){return B>=Ba&&B<=cs},no=function(B){return Ca(B)||$a(B)},ro=function(B){return B>=Ae},Is=function(B){return B===ct||B===Fe||B===Vt},Ws=function(B){return no(B)||ro(B)||B===Re},Ds=function(B){return Ws(B)||ga(B)||B===Bn},Gi=function(B){return B>=Mr&&B<=_r||B===zr||B>=pi&&B<=Ci||B===di},ka=function(B,y){return B!==zt?!1:y!==ct},_a=function(B,y,I){return B===Bn?Ws(y)||ka(y,I):Ws(B)?!0:!!(B===zt&&ka(B,y))},No=function(B,y,I){return B===on||B===Bn?ga(y)?!0:y===xr&&ga(I):ga(B===xr?y:B)},is=function(B){var y=0,I=1;(B[y]===on||B[y]===Bn)&&(B[y]===Bn&&(I=-1),y++);for(var O=[];ga(B[y]);)O.push(B[y++]);var et=O.length?parseInt(D.apply(void 0,O),10):0;B[y]===xr&&y++;for(var St=[];ga(B[y]);)St.push(B[y++]);var $t=St.length,Le=$t?parseInt(D.apply(void 0,St),10):0;(B[y]===fa||B[y]===Xi)&&y++;var Ne=1;(B[y]===on||B[y]===Bn)&&(B[y]===Bn&&(Ne=-1),y++);for(var bn=[];ga(B[y]);)bn.push(B[y++]);var In=bn.length?parseInt(D.apply(void 0,bn),10):0;return I*(et+Le*Math.pow(10,-$t))*Math.pow(10,Ne*In)},ca={type:2},io={type:3},Ha={type:4},Eo={type:13},Vs={type:8},xs={type:21},ua={type:9},fo={type:10},Wa={type:11},qa={type:12},Wi={type:14},Ka={type:23},Rs={type:1},js={type:25},aa={type:24},Or={type:26},Ia={type:27},ao={type:28},Jo={type:29},$o={type:31},Qs={type:32},so=function(){function B(){this._value=[]}return B.prototype.write=function(y){this._value=this._value.concat(L(y))},B.prototype.read=function(){for(var y=[],I=this.consumeToken();I!==Qs;)y.push(I),I=this.consumeToken();return y},B.prototype.consumeToken=function(){var y=this.consumeCodePoint();switch(y){case Te:return this.consumeStringToken(Te);case Sn:var I=this.peekCodePoint(0),O=this.peekCodePoint(1),et=this.peekCodePoint(2);if(Ds(I)||ka(O,et)){var St=_a(I,O,et)?en:qt,$t=this.consumeName();return{type:5,value:$t,flags:St}}break;case Nn:if(this.peekCodePoint(0)===Je)return this.consumeCodePoint(),Eo;break;case kn:return this.consumeStringToken(kn);case Wn:return ca;case dr:return io;case _e:if(this.peekCodePoint(0)===Je)return this.consumeCodePoint(),Wi;break;case on:if(No(y,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(y),this.consumeNumericToken();break;case Pn:return Ha;case Bn:var Le=y,Ne=this.peekCodePoint(0),bn=this.peekCodePoint(1);if(No(Le,Ne,bn))return this.reconsumeCodePoint(y),this.consumeNumericToken();if(_a(Le,Ne,bn))return this.reconsumeCodePoint(y),this.consumeIdentLikeToken();if(Ne===Bn&&bn===kr)return this.consumeCodePoint(),this.consumeCodePoint(),aa;break;case xr:if(No(y,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(y),this.consumeNumericToken();break;case xt:if(this.peekCodePoint(0)===_e)for(this.consumeCodePoint();;){var In=this.consumeCodePoint();if(In===_e&&(In=this.consumeCodePoint(),In===xt))return this.consumeToken();if(In===ui)return this.consumeToken()}break;case jn:return Or;case qn:return Ia;case Gn:if(this.peekCodePoint(0)===ar&&this.peekCodePoint(1)===Bn&&this.peekCodePoint(2)===Bn)return this.consumeCodePoint(),this.consumeCodePoint(),js;break;case Qr:var Hn=this.peekCodePoint(0),sr=this.peekCodePoint(1),ti=this.peekCodePoint(2);if(_a(Hn,sr,ti)){var $t=this.consumeName();return{type:7,value:$t}}break;case Cr:return ao;case zt:if(ka(y,this.peekCodePoint(0)))return this.reconsumeCodePoint(y),this.consumeIdentLikeToken();break;case br:return Jo;case ei:if(this.peekCodePoint(0)===Je)return this.consumeCodePoint(),Vs;break;case wr:return Wa;case mi:return qa;case la:case bs:var Pr=this.peekCodePoint(0),jr=this.peekCodePoint(1);return Pr===on&&(Ua(jr)||jr===Yr)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(y),this.consumeIdentLikeToken();case an:if(this.peekCodePoint(0)===Je)return this.consumeCodePoint(),ua;if(this.peekCodePoint(0)===an)return this.consumeCodePoint(),xs;break;case re:if(this.peekCodePoint(0)===Je)return this.consumeCodePoint(),fo;break;case ui:return Qs}return Is(y)?(this.consumeWhiteSpace(),$o):ga(y)?(this.reconsumeCodePoint(y),this.consumeNumericToken()):Ws(y)?(this.reconsumeCodePoint(y),this.consumeIdentLikeToken()):{type:6,value:D(y)}},B.prototype.consumeCodePoint=function(){var y=this._value.shift();return typeof y=="undefined"?-1:y},B.prototype.reconsumeCodePoint=function(y){this._value.unshift(y)},B.prototype.peekCodePoint=function(y){return y>=this._value.length?-1:this._value[y]},B.prototype.consumeUnicodeRangeToken=function(){for(var y=[],I=this.consumeCodePoint();Ua(I)&&y.length<6;)y.push(I),I=this.consumeCodePoint();for(var O=!1;I===Yr&&y.length<6;)y.push(I),I=this.consumeCodePoint(),O=!0;if(O){var et=parseInt(D.apply(void 0,y.map(function(Ne){return Ne===Yr?Jn:Ne})),16),St=parseInt(D.apply(void 0,y.map(function(Ne){return Ne===Yr?da:Ne})),16);return{type:30,start:et,end:St}}var $t=parseInt(D.apply(void 0,y),16);if(this.peekCodePoint(0)===Bn&&Ua(this.peekCodePoint(1))){this.consumeCodePoint(),I=this.consumeCodePoint();for(var Le=[];Ua(I)&&Le.length<6;)Le.push(I),I=this.consumeCodePoint();var St=parseInt(D.apply(void 0,Le),16);return{type:30,start:$t,end:St}}else return{type:30,start:$t,end:$t}},B.prototype.consumeIdentLikeToken=function(){var y=this.consumeName();return y.toLowerCase()==="url"&&this.peekCodePoint(0)===Wn?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Wn?(this.consumeCodePoint(),{type:19,value:y}):{type:20,value:y}},B.prototype.consumeUrlToken=function(){var y=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===ui)return{type:22,value:""};var I=this.peekCodePoint(0);if(I===kn||I===Te){var O=this.consumeStringToken(this.consumeCodePoint());return O.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===ui||this.peekCodePoint(0)===dr)?(this.consumeCodePoint(),{type:22,value:O.value}):(this.consumeBadUrlRemnants(),Ka)}for(;;){var et=this.consumeCodePoint();if(et===ui||et===dr)return{type:22,value:D.apply(void 0,y)};if(Is(et))return this.consumeWhiteSpace(),this.peekCodePoint(0)===ui||this.peekCodePoint(0)===dr?(this.consumeCodePoint(),{type:22,value:D.apply(void 0,y)}):(this.consumeBadUrlRemnants(),Ka);if(et===Te||et===kn||et===Wn||Gi(et))return this.consumeBadUrlRemnants(),Ka;if(et===zt)if(ka(et,this.peekCodePoint(0)))y.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Ka;else y.push(et)}},B.prototype.consumeWhiteSpace=function(){for(;Is(this.peekCodePoint(0));)this.consumeCodePoint()},B.prototype.consumeBadUrlRemnants=function(){for(;;){var y=this.consumeCodePoint();if(y===dr||y===ui)return;ka(y,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},B.prototype.consumeStringSlice=function(y){for(var I=5e4,O="";y>0;){var et=Math.min(I,y);O+=D.apply(void 0,this._value.splice(0,et)),y-=et}return this._value.shift(),O},B.prototype.consumeStringToken=function(y){var I="",O=0;do{var et=this._value[O];if(et===ui||et===void 0||et===y)return I+=this.consumeStringSlice(O),{type:0,value:I};if(et===ct)return this._value.splice(0,O),Rs;if(et===zt){var St=this._value[O+1];St!==ui&&St!==void 0&&(St===ct?(I+=this.consumeStringSlice(O),O=-1,this._value.shift()):ka(et,St)&&(I+=this.consumeStringSlice(O),I+=D(this.consumeEscapedCodePoint()),O=-1))}O++}while(!0)},B.prototype.consumeNumber=function(){var y=[],I=vt,O=this.peekCodePoint(0);for((O===on||O===Bn)&&y.push(this.consumeCodePoint());ga(this.peekCodePoint(0));)y.push(this.consumeCodePoint());O=this.peekCodePoint(0);var et=this.peekCodePoint(1);if(O===xr&&ga(et))for(y.push(this.consumeCodePoint(),this.consumeCodePoint()),I=mt;ga(this.peekCodePoint(0));)y.push(this.consumeCodePoint());O=this.peekCodePoint(0),et=this.peekCodePoint(1);var St=this.peekCodePoint(2);if((O===fa||O===Xi)&&((et===on||et===Bn)&&ga(St)||ga(et)))for(y.push(this.consumeCodePoint(),this.consumeCodePoint()),I=mt;ga(this.peekCodePoint(0));)y.push(this.consumeCodePoint());return[is(y),I]},B.prototype.consumeNumericToken=function(){var y=this.consumeNumber(),I=y[0],O=y[1],et=this.peekCodePoint(0),St=this.peekCodePoint(1),$t=this.peekCodePoint(2);if(_a(et,St,$t)){var Le=this.consumeName();return{type:15,number:I,flags:O,unit:Le}}return et===er?(this.consumeCodePoint(),{type:16,number:I,flags:O}):{type:17,number:I,flags:O}},B.prototype.consumeEscapedCodePoint=function(){var y=this.consumeCodePoint();if(Ua(y)){for(var I=D(y);Ua(this.peekCodePoint(0))&&I.length<6;)I+=D(this.consumeCodePoint());Is(this.peekCodePoint(0))&&this.consumeCodePoint();var O=parseInt(I,16);return O===0||us(O)||O>1114111?te:O}return y===ui?te:y},B.prototype.consumeName=function(){for(var y="";;){var I=this.consumeCodePoint();if(Ds(I))y+=D(I);else if(ka(I,this.peekCodePoint(0)))y+=D(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(I),y}},B}(),oo=function(){function B(y){this._tokens=y}return B.create=function(y){var I=new so;return I.write(y),new B(I.read())},B.parseValue=function(y){return B.create(y).parseComponentValue()},B.parseValues=function(y){return B.create(y).parseComponentValues()},B.prototype.parseComponentValue=function(){for(var y=this.consumeToken();y.type===31;)y=this.consumeToken();if(y.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(y);var I=this.consumeComponentValue();do y=this.consumeToken();while(y.type===31);if(y.type===32)return I;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},B.prototype.parseComponentValues=function(){for(var y=[];;){var I=this.consumeComponentValue();if(I.type===32)return y;y.push(I),y.push()}},B.prototype.consumeComponentValue=function(){var y=this.consumeToken();switch(y.type){case 11:case 28:case 2:return this.consumeSimpleBlock(y.type);case 19:return this.consumeFunction(y)}return y},B.prototype.consumeSimpleBlock=function(y){for(var I={type:y,values:[]},O=this.consumeToken();;){if(O.type===32||as(O,y))return I;this.reconsumeToken(O),I.values.push(this.consumeComponentValue()),O=this.consumeToken()}},B.prototype.consumeFunction=function(y){for(var I={name:y.value,values:[],type:18};;){var O=this.consumeToken();if(O.type===32||O.type===3)return I;this.reconsumeToken(O),I.values.push(this.consumeComponentValue())}},B.prototype.consumeToken=function(){var y=this._tokens.shift();return typeof y=="undefined"?Qs:y},B.prototype.reconsumeToken=function(y){this._tokens.unshift(y)},B}(),Sa=function(B){return B.type===15},Pa=function(B){return B.type===17},zi=function(B){return B.type===20},Uo=function(B){return B.type===0},Ao=function(B,y){return zi(B)&&B.value===y},Bo=function(B){return B.type!==31},Va=function(B){return B.type!==31&&B.type!==4},Da=function(B){var y=[],I=[];return B.forEach(function(O){if(O.type===4){if(I.length===0)throw new Error("Error parsing function args, zero tokens for arg");y.push(I),I=[];return}O.type!==31&&I.push(O)}),I.length&&y.push(I),y},as=function(B,y){return y===11&&B.type===12||y===28&&B.type===29?!0:y===2&&B.type===3},ws=function(B){return B.type===17||B.type===15},sa=function(B){return B.type===16||ws(B)},Vi=function(B){return B.length>1?[B[0],B[1]]:[B[0]]},$i={type:17,number:0,flags:vt},ja={type:16,number:50,flags:vt},Ys={type:16,number:100,flags:vt},Cs=function(B,y,I){var O=B[0],et=B[1];return[ea(O,y),ea(typeof et!="undefined"?et:O,I)]},ea=function(B,y){if(B.type===16)return B.number/100*y;if(Sa(B))switch(B.unit){case"rem":case"em":return 16*B.number;case"px":default:return B.number}return B.number},bo="deg",Ko="grad",hs="rad",xo="turn",qo={name:"angle",parse:function(B,y){if(y.type===15)switch(y.unit){case bo:return Math.PI*y.number/180;case Ko:return Math.PI/200*y.number;case hs:return y.number;case xo:return Math.PI*2*y.number}throw new Error("Unsupported angle type")}},hA=function(B){return B.type===15&&(B.unit===bo||B.unit===Ko||B.unit===hs||B.unit===xo)},ba=function(B){var y=B.filter(zi).map(function(I){return I.value}).join(" ");switch(y){case"to bottom right":case"to right bottom":case"left top":case"top left":return[$i,$i];case"to top":case"bottom":return fs(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[$i,Ys];case"to right":case"left":return fs(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Ys,Ys];case"to bottom":case"top":return fs(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Ys,$i];case"to left":case"right":return fs(270)}return 0},fs=function(B){return Math.PI*B/180},Es={name:"color",parse:function(B,y){if(y.type===18){var I=nl[y.name];if(typeof I=="undefined")throw new Error('Attempting to parse an unsupported color function "'+y.name+'"');return I(B,y.values)}if(y.type===5){if(y.value.length===3){var O=y.value.substring(0,1),et=y.value.substring(1,2),St=y.value.substring(2,3);return na(parseInt(O+O,16),parseInt(et+et,16),parseInt(St+St,16),1)}if(y.value.length===4){var O=y.value.substring(0,1),et=y.value.substring(1,2),St=y.value.substring(2,3),$t=y.value.substring(3,4);return na(parseInt(O+O,16),parseInt(et+et,16),parseInt(St+St,16),parseInt($t+$t,16)/255)}if(y.value.length===6){var O=y.value.substring(0,2),et=y.value.substring(2,4),St=y.value.substring(4,6);return na(parseInt(O,16),parseInt(et,16),parseInt(St,16),1)}if(y.value.length===8){var O=y.value.substring(0,2),et=y.value.substring(2,4),St=y.value.substring(4,6),$t=y.value.substring(6,8);return na(parseInt(O,16),parseInt(et,16),parseInt(St,16),parseInt($t,16)/255)}}if(y.type===20){var Le=Ss[y.value.toUpperCase()];if(typeof Le!="undefined")return Le}return Ss.TRANSPARENT}},ss=function(B){return(255&B)===0},oa=function(B){var y=255&B,I=255&B>>8,O=255&B>>16,et=255&B>>24;return y<255?"rgba("+et+","+O+","+I+","+y/255+")":"rgb("+et+","+O+","+I+")"},na=function(B,y,I,O){return(B<<24|y<<16|I<<8|Math.round(O*255)<<0)>>>0},TA=function(B,y){if(B.type===17)return B.number;if(B.type===16){var I=y===3?1:255;return y===3?B.number/100*I:Math.round(B.number/100*I)}return 0},Go=function(B,y){var I=y.filter(Va);if(I.length===3){var O=I.map(TA),et=O[0],St=O[1],$t=O[2];return na(et,St,$t,1)}if(I.length===4){var Le=I.map(TA),et=Le[0],St=Le[1],$t=Le[2],Ne=Le[3];return na(et,St,$t,Ne)}return 0};function Po(B,y,I){return I<0&&(I+=1),I>=1&&(I-=1),I<1/6?(y-B)*I*6+B:I<1/2?y:I<2/3?(y-B)*6*(2/3-I)+B:B}var Do=function(B,y){var I=y.filter(Va),O=I[0],et=I[1],St=I[2],$t=I[3],Le=(O.type===17?fs(O.number):qo.parse(B,O))/(Math.PI*2),Ne=sa(et)?et.number/100:0,bn=sa(St)?St.number/100:0,In=typeof $t!="undefined"&&sa($t)?ea($t,1):1;if(Ne===0)return na(bn*255,bn*255,bn*255,1);var Hn=bn<=.5?bn*(Ne+1):bn+Ne-bn*Ne,sr=bn*2-Hn,ti=Po(sr,Hn,Le+1/3),Pr=Po(sr,Hn,Le),jr=Po(sr,Hn,Le-1/3);return na(ti*255,Pr*255,jr*255,In)},nl={hsl:Do,hsla:Do,rgb:Go,rgba:Go},Co=function(B,y){return Es.parse(B,oo.create(y).parseComponentValue())},Ss={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},fA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(B,y){return y.map(function(I){if(zi(I))switch(I.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Xs={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},So=function(B,y){var I=Es.parse(B,y[0]),O=y[1];return O&&sa(O)?{color:I,stop:O}:{color:I,stop:null}},OA=function(B,y){var I=B[0],O=B[B.length-1];I.stop===null&&(I.stop=$i),O.stop===null&&(O.stop=Ys);for(var et=[],St=0,$t=0;$tSt?et.push(Ne):et.push(St),St=Ne}else et.push(null)}for(var bn=null,$t=0;$t$t.optimumDistance)?{optimumCorner:Le,optimumDistance:In}:$t},{optimumDistance:et?1/0:-1/0,optimumCorner:null}).optimumCorner},Mo=function(B,y,I,O,et){var St=0,$t=0;switch(B.size){case 0:B.shape===0?St=$t=Math.min(Math.abs(y),Math.abs(y-O),Math.abs(I),Math.abs(I-et)):B.shape===1&&(St=Math.min(Math.abs(y),Math.abs(y-O)),$t=Math.min(Math.abs(I),Math.abs(I-et)));break;case 2:if(B.shape===0)St=$t=Math.min(xa(y,I),xa(y,I-et),xa(y-O,I),xa(y-O,I-et));else if(B.shape===1){var Le=Math.min(Math.abs(I),Math.abs(I-et))/Math.min(Math.abs(y),Math.abs(y-O)),Ne=Ms(O,et,y,I,!0),bn=Ne[0],In=Ne[1];St=xa(bn-y,(In-I)/Le),$t=Le*St}break;case 1:B.shape===0?St=$t=Math.max(Math.abs(y),Math.abs(y-O),Math.abs(I),Math.abs(I-et)):B.shape===1&&(St=Math.max(Math.abs(y),Math.abs(y-O)),$t=Math.max(Math.abs(I),Math.abs(I-et)));break;case 3:if(B.shape===0)St=$t=Math.max(xa(y,I),xa(y,I-et),xa(y-O,I),xa(y-O,I-et));else if(B.shape===1){var Le=Math.max(Math.abs(I),Math.abs(I-et))/Math.max(Math.abs(y),Math.abs(y-O)),Hn=Ms(O,et,y,I,!1),bn=Hn[0],In=Hn[1];St=xa(bn-y,(In-I)/Le),$t=Le*St}break}return Array.isArray(B.size)&&(St=ea(B.size[0],O),$t=B.size.length===2?ea(B.size[1],et):St),[St,$t]},ds=function(B,y){var I=fs(180),O=[];return Da(y).forEach(function(et,St){if(St===0){var $t=et[0];if($t.type===20&&$t.value==="to"){I=ba(et);return}else if(hA($t)){I=qo.parse(B,$t);return}}var Le=So(B,et);O.push(Le)}),{angle:I,stops:O,type:1}},ko=function(B,y){var I=fs(180),O=[];return Da(y).forEach(function(et,St){if(St===0){var $t=et[0];if($t.type===20&&["top","left","right","bottom"].indexOf($t.value)!==-1){I=ba(et);return}else if(hA($t)){I=(qo.parse(B,$t)+fs(270))%fs(360);return}}var Le=So(B,et);O.push(Le)}),{angle:I,stops:O,type:1}},FA=function(B,y){var I=fs(180),O=[],et=1,St=0,$t=3,Le=[];return Da(y).forEach(function(Ne,bn){var In=Ne[0];if(bn===0){if(zi(In)&&In.value==="linear"){et=1;return}else if(zi(In)&&In.value==="radial"){et=2;return}}if(In.type===18){if(In.name==="from"){var Hn=Es.parse(B,In.values[0]);O.push({stop:$i,color:Hn})}else if(In.name==="to"){var Hn=Es.parse(B,In.values[0]);O.push({stop:Ys,color:Hn})}else if(In.name==="color-stop"){var sr=In.values.filter(Va);if(sr.length===2){var Hn=Es.parse(B,sr[1]),ti=sr[0];Pa(ti)&&O.push({stop:{type:16,number:ti.number*100,flags:ti.flags},color:Hn})}}}}),et===1?{angle:(I+fs(180))%fs(360),stops:O,type:et}:{size:$t,shape:St,stops:O,position:Le,type:et}},_o="closest-side",To="farthest-side",IA="closest-corner",Ct="farthest-corner",$="circle",it="ellipse",Et="cover",_t="contain",ee=function(B,y){var I=0,O=3,et=[],St=[];return Da(y).forEach(function($t,Le){var Ne=!0;if(Le===0){var bn=!1;Ne=$t.reduce(function(Hn,sr){if(bn)if(zi(sr))switch(sr.value){case"center":return St.push(ja),Hn;case"top":case"left":return St.push($i),Hn;case"right":case"bottom":return St.push(Ys),Hn}else(sa(sr)||ws(sr))&&St.push(sr);else if(zi(sr))switch(sr.value){case $:return I=0,!1;case it:return I=1,!1;case"at":return bn=!0,!1;case _o:return O=0,!1;case Et:case To:return O=1,!1;case _t:case IA:return O=2,!1;case Ct:return O=3,!1}else if(ws(sr)||sa(sr))return Array.isArray(O)||(O=[]),O.push(sr),!1;return Hn},Ne)}if(Ne){var In=So(B,$t);et.push(In)}}),{size:O,shape:I,stops:et,position:St,type:2}},ie=function(B,y){var I=0,O=3,et=[],St=[];return Da(y).forEach(function($t,Le){var Ne=!0;if(Le===0?Ne=$t.reduce(function(In,Hn){if(zi(Hn))switch(Hn.value){case"center":return St.push(ja),!1;case"top":case"left":return St.push($i),!1;case"right":case"bottom":return St.push(Ys),!1}else if(sa(Hn)||ws(Hn))return St.push(Hn),!1;return In},Ne):Le===1&&(Ne=$t.reduce(function(In,Hn){if(zi(Hn))switch(Hn.value){case $:return I=0,!1;case it:return I=1,!1;case _t:case _o:return O=0,!1;case To:return O=1,!1;case IA:return O=2,!1;case Et:case Ct:return O=3,!1}else if(ws(Hn)||sa(Hn))return Array.isArray(O)||(O=[]),O.push(Hn),!1;return In},Ne)),Ne){var bn=So(B,$t);et.push(bn)}}),{size:O,shape:I,stops:et,position:St,type:2}},$e=function(B){return B.type===1},Xe=function(B){return B.type===2},mn={name:"image",parse:function(B,y){if(y.type===22){var I={url:y.value,type:0};return B.cache.addImage(y.value),I}if(y.type===18){var O=xn[y.name];if(typeof O=="undefined")throw new Error('Attempting to parse an unsupported image function "'+y.name+'"');return O(B,y.values)}throw new Error("Unsupported image type "+y.type)}};function Tn(B){return!(B.type===20&&B.value==="none")&&(B.type!==18||!!xn[B.name])}var xn={"linear-gradient":ds,"-moz-linear-gradient":ko,"-ms-linear-gradient":ko,"-o-linear-gradient":ko,"-webkit-linear-gradient":ko,"radial-gradient":ee,"-moz-radial-gradient":ie,"-ms-radial-gradient":ie,"-o-radial-gradient":ie,"-webkit-radial-gradient":ie,"-webkit-gradient":FA},$n={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(B,y){if(y.length===0)return[];var I=y[0];return I.type===20&&I.value==="none"?[]:y.filter(function(O){return Va(O)&&Tn(O)}).map(function(O){return mn.parse(B,O)})}},Kn={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(B,y){return y.map(function(I){if(zi(I))switch(I.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},lr={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(B,y){return Da(y).map(function(I){return I.filter(sa)}).map(Vi)}},gr={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(B,y){return Da(y).map(function(I){return I.filter(zi).map(function(O){return O.value}).join(" ")}).map(cr)}},cr=function(B){switch(B){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},Br;(function(B){B.AUTO="auto",B.CONTAIN="contain",B.COVER="cover"})(Br||(Br={}));var Ur={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(B,y){return Da(y).map(function(I){return I.filter(Fr)})}},Fr=function(B){return zi(B)||sa(B)},Zr=function(B){return{name:"border-"+B+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Wr=Zr("top"),$r=Zr("right"),Bi=Zr("bottom"),vi=Zr("left"),fi=function(B){return{name:"border-radius-"+B,initialValue:"0 0",prefix:!1,type:1,parse:function(y,I){return Vi(I.filter(sa))}}},Mi=fi("top-left"),bi=fi("top-right"),W=fi("bottom-right"),H=fi("bottom-left"),Q=function(B){return{name:"border-"+B+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(y,I){switch(I){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},k=Q("top"),Y=Q("right"),at=Q("bottom"),ht=Q("left"),ut=function(B){return{name:"border-"+B+"-width",initialValue:"0",type:0,prefix:!1,parse:function(y,I){return Sa(I)?I.number:0}}},yt=ut("top"),Ht=ut("right"),he=ut("bottom"),xe=ut("left"),ke={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Ye={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(B,y){switch(y){case"rtl":return 1;case"ltr":default:return 0}}},cn={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(B,y){return y.filter(zi).reduce(function(I,O){return I|_n(O.value)},0)}},_n=function(B){switch(B){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Mn={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(B,y){switch(y){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},tr={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(B,y){return y.type===20&&y.value==="normal"?0:y.type===17||y.type===15?y.number:0}},nr;(function(B){B.NORMAL="normal",B.STRICT="strict"})(nr||(nr={}));var Ar={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(B,y){switch(y){case"strict":return nr.STRICT;case"normal":default:return nr.NORMAL}}},pr={name:"line-height",initialValue:"normal",prefix:!1,type:4},Lr=function(B,y){return zi(B)&&B.value==="normal"?1.2*y:B.type===17?y*B.number:sa(B)?ea(B,y):y},Dr={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(B,y){return y.type===20&&y.value==="none"?null:mn.parse(B,y)}},Kr={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(B,y){switch(y){case"inside":return 0;case"outside":default:return 1}}},ii={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(B,y){switch(y){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},yi=function(B){return{name:"margin-"+B,initialValue:"0",prefix:!1,type:4}},ji=yi("top"),qi=yi("right"),Fi=yi("bottom"),oi=yi("left"),xi={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(B,y){return y.filter(zi).map(function(I){switch(I.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},gi={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(B,y){switch(y){case"break-word":return"break-word";case"normal":default:return"normal"}}},Ti=function(B){return{name:"padding-"+B,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},va=Ti("top"),Ai=Ti("right"),Yi=Ti("bottom"),Qi=Ti("left"),ma={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(B,y){switch(y){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},ki={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(B,y){switch(y){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},_i={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(B,y){return y.length===1&&Ao(y[0],"none")?[]:Da(y).map(function(I){for(var O={color:Ss.TRANSPARENT,offsetX:$i,offsetY:$i,blur:$i},et=0,St=0;St1?1:0],this.overflowWrap=ai(y,gi,I.overflowWrap),this.paddingTop=ai(y,va,I.paddingTop),this.paddingRight=ai(y,Ai,I.paddingRight),this.paddingBottom=ai(y,Yi,I.paddingBottom),this.paddingLeft=ai(y,Qi,I.paddingLeft),this.paintOrder=ai(y,UA,I.paintOrder),this.position=ai(y,ki,I.position),this.textAlign=ai(y,ma,I.textAlign),this.textDecorationColor=ai(y,Vl,(O=I.textDecorationColor)!==null&&O!==void 0?O:I.color),this.textDecorationLine=ai(y,dA,(et=I.textDecorationLine)!==null&&et!==void 0?et:I.textDecoration),this.textShadow=ai(y,_i,I.textShadow),this.textTransform=ai(y,Ma,I.textTransform),this.transform=ai(y,Ls,I.transform),this.transformOrigin=ai(y,go,I.transformOrigin),this.visibility=ai(y,vo,I.visibility),this.webkitTextStrokeColor=ai(y,Wo,I.webkitTextStrokeColor),this.webkitTextStrokeWidth=ai(y,Xa,I.webkitTextStrokeWidth),this.wordBreak=ai(y,_s,I.wordBreak),this.zIndex=ai(y,Hs,I.zIndex)}return B.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},B.prototype.isTransparent=function(){return ss(this.backgroundColor)},B.prototype.isTransformed=function(){return this.transform!==null},B.prototype.isPositioned=function(){return this.position!==0},B.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},B.prototype.isFloating=function(){return this.float!==0},B.prototype.isInlineLevel=function(){return Za(this.display,4)||Za(this.display,33554432)||Za(this.display,268435456)||Za(this.display,536870912)||Za(this.display,67108864)||Za(this.display,134217728)},B}(),ml=function(){function B(y,I){this.content=ai(y,lo,I.content),this.quotes=ai(y,Ga,I.quotes)}return B}(),il=function(){function B(y,I){this.counterIncrement=ai(y,nA,I.counterIncrement),this.counterReset=ai(y,ya,I.counterReset)}return B}(),ai=function(B,y,I){var O=new so,et=I!==null&&typeof I!="undefined"?I.toString():y.initialValue;O.write(et);var St=new oo(O.read());switch(y.type){case 2:var $t=St.parseComponentValue();return y.parse(B,zi($t)?$t.value:y.initialValue);case 0:return y.parse(B,St.parseComponentValue());case 1:return y.parse(B,St.parseComponentValues());case 4:return St.parseComponentValue();case 3:switch(y.format){case"angle":return qo.parse(B,St.parseComponentValue());case"color":return Es.parse(B,St.parseComponentValue());case"image":return mn.parse(B,St.parseComponentValue());case"length":var Le=St.parseComponentValue();return ws(Le)?Le:$i;case"length-percentage":var Ne=St.parseComponentValue();return sa(Ne)?Ne:$i;case"time":return rl.parse(B,St.parseComponentValue())}break}},Eu="data-html2canvas-debug",Oc=function(B){var y=B.getAttribute(Eu);switch(y){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},PA=function(B,y){var I=Oc(B);return I===1||y===I},uo=function(){function B(y,I){if(this.context=y,this.textNodes=[],this.elements=[],this.flags=0,PA(I,3))debugger;this.styles=new rA(y,window.getComputedStyle(I,null)),zA(I)&&(this.styles.animationDuration.some(function(O){return O>0})&&(I.style.animationDuration="0s"),this.styles.transform!==null&&(I.style.transform="none")),this.bounds=S(this.context,I),PA(I,4)&&(this.flags|=16)}return B}(),Bu="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",yl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Zs=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),wl=0;wl>4,In[et++]=($t&15)<<4|Le>>2,In[et++]=(Le&3)<<6|Ne&63;return bn},DA=function(B){for(var y=B.length,I=[],O=0;O>gA,Ic=1<>gA,jl=sl+El,Bl=jl,Lc=32,os=Bl+Lc,Yl=65536>>RA,bl=1<=0){if(y<55296||y>56319&&y<=65535)return I=this.index[y>>gA],I=(I<>gA)],I=(I<>RA),I=this.index[I],I+=y>>gA&Xl,I=this.index[I],I=(I<=55296&&et<=56319&&I>10)+55296,$t%1024+56320)),(et+1===I||O.length>16384)&&(St+=String.fromCharCode.apply(String,O),O.length=0)}return St},Ml=Uc(Bu),Ks="\xD7",HA="\xF7",_c=function(B){return Ml.get(B)},Tl=function(B,y,I){var O=I-2,et=y[O],St=y[I-1],$t=y[I];if(St===Cl&&$t===Ho)return Ks;if(St===Cl||St===Ho||St===Jl||$t===Cl||$t===Ho||$t===Jl)return HA;if(St===Pc&&[Pc,tc,Dc,Rc].indexOf($t)!==-1||(St===Dc||St===tc)&&($t===tc||$t===Sl)||(St===Rc||St===Sl)&&$t===Sl||$t===ec||$t===$l||$t===ql||St===xu)return Ks;if(St===ec&&$t===Qc){for(;et===$l;)et=y[--O];if(et===Qc)return Ks}if(St===nc&&$t===nc){for(var Le=0;et===nc;)Le++,et=y[--O];if(Le%2===0)return Ks}return HA},Ol=function(B){var y=Cu(B),I=y.length,O=0,et=0,St=y.map(_c);return{next:function(){if(O>=I)return{done:!0,value:null};for(var $t=Ks;O$t.x||In.y>$t.y;return $t=In,bn===0?!0:Hn});return B.body.removeChild(y),Le},Su=function(){return typeof new Image().crossOrigin!="undefined"},Mu=function(){return typeof new XMLHttpRequest().responseType=="string"},ic=function(B){var y=new Image,I=B.createElement("canvas"),O=I.getContext("2d");if(!O)return!1;y.src="data:image/svg+xml,";try{O.drawImage(y,0,0),I.toDataURL()}catch(et){return!1}return!0},iA=function(B){return B[0]===0&&B[1]===255&&B[2]===0&&B[3]===255},Vu=function(B){var y=B.createElement("canvas"),I=100;y.width=I,y.height=I;var O=y.getContext("2d");if(!O)return Promise.reject(!1);O.fillStyle="rgb(0, 255, 0)",O.fillRect(0,0,I,I);var et=new Image,St=y.toDataURL();et.src=St;var $t=Hc(I,I,0,0,et);return O.fillStyle="red",O.fillRect(0,0,I,I),Di($t).then(function(Le){O.drawImage(Le,0,0);var Ne=O.getImageData(0,0,I,I).data;O.fillStyle="red",O.fillRect(0,0,I,I);var bn=B.createElement("div");return bn.style.backgroundImage="url("+St+")",bn.style.height=I+"px",iA(Ne)?Di(Hc(I,I,0,0,bn)):Promise.reject(!1)}).then(function(Le){return O.drawImage(Le,0,0),iA(O.getImageData(0,0,I,I).data)}).catch(function(){return!1})},Hc=function(B,y,I,O,et){var St="http://www.w3.org/2000/svg",$t=document.createElementNS(St,"svg"),Le=document.createElementNS(St,"foreignObject");return $t.setAttributeNS(null,"width",B.toString()),$t.setAttributeNS(null,"height",y.toString()),Le.setAttributeNS(null,"width","100%"),Le.setAttributeNS(null,"height","100%"),Le.setAttributeNS(null,"x",I.toString()),Le.setAttributeNS(null,"y",O.toString()),Le.setAttributeNS(null,"externalResourcesRequired","true"),$t.appendChild(Le),Le.appendChild(et),$t},Di=function(B){return new Promise(function(y,I){var O=new Image;O.onload=function(){return y(O)},O.onerror=I,O.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(B))})},Ni={get SUPPORT_RANGE_BOUNDS(){var B=rc(document);return Object.defineProperty(Ni,"SUPPORT_RANGE_BOUNDS",{value:B}),B},get SUPPORT_WORD_BREAKING(){var B=Ni.SUPPORT_RANGE_BOUNDS&&za(document);return Object.defineProperty(Ni,"SUPPORT_WORD_BREAKING",{value:B}),B},get SUPPORT_SVG_DRAWING(){var B=ic(document);return Object.defineProperty(Ni,"SUPPORT_SVG_DRAWING",{value:B}),B},get SUPPORT_FOREIGNOBJECT_DRAWING(){var B=typeof Array.from=="function"&&typeof window.fetch=="function"?Vu(document):Promise.resolve(!1);return Object.defineProperty(Ni,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:B}),B},get SUPPORT_CORS_IMAGES(){var B=Su();return Object.defineProperty(Ni,"SUPPORT_CORS_IMAGES",{value:B}),B},get SUPPORT_RESPONSE_TYPE(){var B=Mu();return Object.defineProperty(Ni,"SUPPORT_RESPONSE_TYPE",{value:B}),B},get SUPPORT_CORS_XHR(){var B="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ni,"SUPPORT_CORS_XHR",{value:B}),B},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var B=!!(typeof Intl!="undefined"&&Intl.Segmenter);return Object.defineProperty(Ni,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:B}),B}},Gs=function(){function B(y,I){this.text=y,this.bounds=I}return B}(),Tu=function(B,y,I,O){var et=sc(y,I),St=[],$t=0;return et.forEach(function(Le){if(I.textDecorationLine.length||Le.trim().length>0)if(Ni.SUPPORT_RANGE_BOUNDS){var Ne=Al(O,$t,Le.length).getClientRects();if(Ne.length>1){var bn=ac(Le),In=0;bn.forEach(function(sr){St.push(new Gs(sr,w.fromDOMRectList(B,Al(O,In+$t,sr.length).getClientRects()))),In+=sr.length})}else St.push(new Gs(Le,w.fromDOMRectList(B,Ne)))}else{var Hn=O.splitText(Le.length);St.push(new Gs(Le,Ou(B,O))),O=Hn}else Ni.SUPPORT_RANGE_BOUNDS||(O=O.splitText(Le.length));$t+=Le.length}),St},Ou=function(B,y){var I=y.ownerDocument;if(I){var O=I.createElement("html2canvaswrapper");O.appendChild(y.cloneNode(!0));var et=y.parentNode;if(et){et.replaceChild(O,y);var St=S(B,O);return O.firstChild&&et.replaceChild(O.firstChild,O),St}}return w.EMPTY},Al=function(B,y,I){var O=B.ownerDocument;if(!O)throw new Error("Node has no owner document");var et=O.createRange();return et.setStart(B,y),et.setEnd(B,y+I),et},ac=function(B){if(Ni.SUPPORT_NATIVE_TEXT_SEGMENTATION){var y=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(y.segment(B)).map(function(I){return I.segment})}return Ts(B)},Fu=function(B,y){if(Ni.SUPPORT_NATIVE_TEXT_SEGMENTATION){var I=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(I.segment(B)).map(function(O){return O.segment})}return oc(B,y)},sc=function(B,y){return y.letterSpacing!==0?ac(B):Fu(B,y)},pA=[32,160,4961,65792,65793,4153,4241],oc=function(B,y){for(var I=Jt(B,{lineBreak:y.lineBreak,wordBreak:y.overflowWrap==="break-word"?"break-word":y.wordBreak}),O=[],et,St=function(){if(et.value){var $t=et.value.slice(),Le=L($t),Ne="";Le.forEach(function(bn){pA.indexOf(bn)===-1?Ne+=D(bn):(Ne.length&&O.push(Ne),O.push(D(bn)),Ne="")}),Ne.length&&O.push(Ne)}};!(et=I.next()).done;)St();return O},mA=function(){function B(y,I,O){this.text=Iu(I.data,O.textTransform),this.textBounds=Tu(y,this.text,O,I)}return B}(),Iu=function(B,y){switch(y){case 1:return B.toLowerCase();case 3:return B.replace(Lu,Nu);case 2:return B.toUpperCase();default:return B}},Lu=/(^|\s|:|-|\(|\))([a-z])/g,Nu=function(B,y,I){return B.length>0?y+I.toUpperCase():B},Oo=function(B){g(y,B);function y(I,O){var et=B.call(this,I,O)||this;return et.src=O.currentSrc||O.src,et.intrinsicWidth=O.naturalWidth,et.intrinsicHeight=O.naturalHeight,et.context.cache.addImage(et.src),et}return y}(uo),aA=function(B){g(y,B);function y(I,O){var et=B.call(this,I,O)||this;return et.canvas=O,et.intrinsicWidth=O.width,et.intrinsicHeight=O.height,et}return y}(uo),ZA=function(B){g(y,B);function y(I,O){var et=B.call(this,I,O)||this,St=new XMLSerializer,$t=S(I,O);return O.setAttribute("width",$t.width+"px"),O.setAttribute("height",$t.height+"px"),et.svg="data:image/svg+xml,"+encodeURIComponent(St.serializeToString(O)),et.intrinsicWidth=O.width.baseVal.value,et.intrinsicHeight=O.height.baseVal.value,et.context.cache.addImage(et.svg),et}return y}(uo),Fl=function(B){g(y,B);function y(I,O){var et=B.call(this,I,O)||this;return et.value=O.value,et}return y}(uo),Ac=function(B){g(y,B);function y(I,O){var et=B.call(this,I,O)||this;return et.start=O.start,et.reversed=typeof O.reversed=="boolean"&&O.reversed===!0,et}return y}(uo),lc=[{type:15,flags:0,unit:"px",number:3}],Zc=[{type:16,flags:0,number:50}],KA=function(B){return B.width>B.height?new w(B.left+(B.width-B.height)/2,B.top,B.height,B.height):B.width0)I.textNodes.push(new mA(B,et,I.styles));else if(GA(et))if(vc(et)&&et.assignedNodes)et.assignedNodes().forEach(function(Le){return Il(B,Le,I,O)});else{var $t=Vc(B,et);$t.styles.isVisible()&&(Er(et,$t,O)?$t.flags|=4:Uu($t.styles)&&($t.flags|=2),Wc.indexOf(et.tagName)!==-1&&($t.flags|=8),I.elements.push($t),et.slot,et.shadowRoot?Il(B,et.shadowRoot,$t,O):!hl(et)&&!Ta(et)&&!wA(et)&&Il(B,et,$t,O))}},Vc=function(B,y){return gc(y)?new Oo(B,y):Fo(y)?new aA(B,y):Ta(y)?new ZA(B,y):Nl(y)?new Fl(B,y):dc(y)?new Ac(B,y):jc(y)?new ul(B,y):wA(y)?new cc(B,y):hl(y)?new uc(B,y):La(y)?new zc(B,y):new uo(B,y)},hc=function(B,y){var I=Vc(B,y);return I.flags|=4,Il(B,y,I,I),I},Er=function(B,y,I){return y.styles.isPositionedWithZIndex()||y.styles.opacity<1||y.styles.isTransformed()||Ul(B)&&I.styles.isTransparent()},Uu=function(B){return B.isPositioned()||B.isFloating()},Ll=function(B){return B.nodeType===Node.TEXT_NODE},GA=function(B){return B.nodeType===Node.ELEMENT_NODE},zA=function(B){return GA(B)&&typeof B.style!="undefined"&&!fc(B)},fc=function(B){return typeof B.className=="object"},Nl=function(B){return B.tagName==="LI"},dc=function(B){return B.tagName==="OL"},jc=function(B){return B.tagName==="INPUT"},Pu=function(B){return B.tagName==="HTML"},Ta=function(B){return B.tagName==="svg"},Ul=function(B){return B.tagName==="BODY"},Fo=function(B){return B.tagName==="CANVAS"},WA=function(B){return B.tagName==="VIDEO"},gc=function(B){return B.tagName==="IMG"},La=function(B){return B.tagName==="IFRAME"},Pl=function(B){return B.tagName==="STYLE"},Du=function(B){return B.tagName==="SCRIPT"},hl=function(B){return B.tagName==="TEXTAREA"},wA=function(B){return B.tagName==="SELECT"},vc=function(B){return B.tagName==="SLOT"},VA=function(B){return B.tagName.indexOf("-")>0},Ru=function(){function B(){this.counters={}}return B.prototype.getCounterValue=function(y){var I=this.counters[y];return I&&I.length?I[I.length-1]:1},B.prototype.getCounterValues=function(y){var I=this.counters[y];return I||[]},B.prototype.pop=function(y){var I=this;y.forEach(function(O){return I.counters[O].pop()})},B.prototype.parse=function(y){var I=this,O=y.counterIncrement,et=y.counterReset,St=!0;O!==null&&O.forEach(function(Le){var Ne=I.counters[Le.counter];Ne&&Le.increment!==0&&(St=!1,Ne.length||Ne.push(1),Ne[Math.max(0,Ne.length-1)]+=Le.increment)});var $t=[];return St&&et.forEach(function(Le){var Ne=I.counters[Le.counter];$t.push(Le.counter),Ne||(Ne=I.counters[Le.counter]=[]),Ne.push(Le.reset)}),$t},B}(),Dl={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Rl={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054F","\u054E","\u054D","\u054C","\u054B","\u054A","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053F","\u053E","\u053D","\u053C","\u053B","\u053A","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},Qu={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05D9\u05F3","\u05D8\u05F3","\u05D7\u05F3","\u05D6\u05F3","\u05D5\u05F3","\u05D4\u05F3","\u05D3\u05F3","\u05D2\u05F3","\u05D1\u05F3","\u05D0\u05F3","\u05EA","\u05E9","\u05E8","\u05E7","\u05E6","\u05E4","\u05E2","\u05E1","\u05E0","\u05DE","\u05DC","\u05DB","\u05D9\u05D8","\u05D9\u05D7","\u05D9\u05D6","\u05D8\u05D6","\u05D8\u05D5","\u05D9","\u05D8","\u05D7","\u05D6","\u05D5","\u05D4","\u05D3","\u05D2","\u05D1","\u05D0"]},pc={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10F5","\u10F0","\u10EF","\u10F4","\u10EE","\u10ED","\u10EC","\u10EB","\u10EA","\u10E9","\u10E8","\u10E7","\u10E6","\u10E5","\u10E4","\u10F3","\u10E2","\u10E1","\u10E0","\u10DF","\u10DE","\u10DD","\u10F2","\u10DC","\u10DB","\u10DA","\u10D9","\u10D8","\u10D7","\u10F1","\u10D6","\u10D5","\u10D4","\u10D3","\u10D2","\u10D1","\u10D0"]},EA=function(B,y,I,O,et,St){return BI?BA(B,et,St.length>0):O.integers.reduce(function($t,Le,Ne){for(;B>=Le;)B-=Le,$t+=O.values[Ne];return $t},"")+St},Ql=function(B,y,I,O){var et="";do I||B--,et=O(B)+et,B/=y;while(B*y>=y);return et},ns=function(B,y,I,O,et){var St=I-y+1;return(B<0?"-":"")+(Ql(Math.abs(B),St,O,function($t){return D(Math.floor($t%St)+y)})+et)},Io=function(B,y,I){I===void 0&&(I=". ");var O=y.length;return Ql(Math.abs(B),O,!1,function(et){return y[Math.floor(et%O)]})+I},jA=1,Zo=2,Lo=4,YA=8,$s=function(B,y,I,O,et,St){if(B<-9999||B>9999)return BA(B,4,et.length>0);var $t=Math.abs(B),Le=et;if($t===0)return y[0]+Le;for(var Ne=0;$t>0&&Ne<=4;Ne++){var bn=$t%10;bn===0&&Za(St,jA)&&Le!==""?Le=y[bn]+Le:bn>1||bn===1&&Ne===0||bn===1&&Ne===1&&Za(St,Zo)||bn===1&&Ne===1&&Za(St,Lo)&&B>100||bn===1&&Ne>1&&Za(St,YA)?Le=y[bn]+(Ne>0?I[Ne-1]:"")+Le:bn===1&&Ne>0&&(Le=I[Ne-1]+Le),$t=Math.floor($t/10)}return(B<0?O:"")+Le},Yc="\u5341\u767E\u5343\u842C",Xc="\u62FE\u4F70\u4EDF\u842C",mc="\u30DE\u30A4\u30CA\u30B9",kl="\uB9C8\uC774\uB108\uC2A4",BA=function(B,y,I){var O=I?". ":"",et=I?"\u3001":"",St=I?", ":"",$t=I?" ":"";switch(y){case 0:return"\u2022"+$t;case 1:return"\u25E6"+$t;case 2:return"\u25FE"+$t;case 5:var Le=ns(B,48,57,!0,O);return Le.length<4?"0"+Le:Le;case 4:return Io(B,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",et);case 6:return EA(B,1,3999,Dl,3,O).toLowerCase();case 7:return EA(B,1,3999,Dl,3,O);case 8:return ns(B,945,969,!1,O);case 9:return ns(B,97,122,!1,O);case 10:return ns(B,65,90,!1,O);case 11:return ns(B,1632,1641,!0,O);case 12:case 49:return EA(B,1,9999,Rl,3,O);case 35:return EA(B,1,9999,Rl,3,O).toLowerCase();case 13:return ns(B,2534,2543,!0,O);case 14:case 30:return ns(B,6112,6121,!0,O);case 15:return Io(B,"\u5B50\u4E11\u5BC5\u536F\u8FB0\u5DF3\u5348\u672A\u7533\u9149\u620C\u4EA5",et);case 16:return Io(B,"\u7532\u4E59\u4E19\u4E01\u620A\u5DF1\u5E9A\u8F9B\u58EC\u7678",et);case 17:case 48:return $s(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",Yc,"\u8CA0",et,Zo|Lo|YA);case 47:return $s(B,"\u96F6\u58F9\u8CB3\u53C3\u8086\u4F0D\u9678\u67D2\u634C\u7396",Xc,"\u8CA0",et,jA|Zo|Lo|YA);case 42:return $s(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",Yc,"\u8D1F",et,Zo|Lo|YA);case 41:return $s(B,"\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396",Xc,"\u8D1F",et,jA|Zo|Lo|YA);case 26:return $s(B,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u4E07",mc,et,0);case 25:return $s(B,"\u96F6\u58F1\u5F10\u53C2\u56DB\u4F0D\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343\u4E07",mc,et,jA|Zo|Lo);case 31:return $s(B,"\uC601\uC77C\uC774\uC0BC\uC0AC\uC624\uC721\uCE60\uD314\uAD6C","\uC2ED\uBC31\uCC9C\uB9CC",kl,St,jA|Zo|Lo);case 33:return $s(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u842C",kl,St,0);case 32:return $s(B,"\u96F6\u58F9\u8CB3\u53C3\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343",kl,St,jA|Zo|Lo);case 18:return ns(B,2406,2415,!0,O);case 20:return EA(B,1,19999,pc,3,O);case 21:return ns(B,2790,2799,!0,O);case 22:return ns(B,2662,2671,!0,O);case 22:return EA(B,1,10999,Qu,3,O);case 23:return Io(B,"\u3042\u3044\u3046\u3048\u304A\u304B\u304D\u304F\u3051\u3053\u3055\u3057\u3059\u305B\u305D\u305F\u3061\u3064\u3066\u3068\u306A\u306B\u306C\u306D\u306E\u306F\u3072\u3075\u3078\u307B\u307E\u307F\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308A\u308B\u308C\u308D\u308F\u3090\u3091\u3092\u3093");case 24:return Io(B,"\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092\u308F\u304B\u3088\u305F\u308C\u305D\u3064\u306D\u306A\u3089\u3080\u3046\u3090\u306E\u304A\u304F\u3084\u307E\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304D\u3086\u3081\u307F\u3057\u3091\u3072\u3082\u305B\u3059");case 27:return ns(B,3302,3311,!0,O);case 28:return Io(B,"\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F0\u30F1\u30F2\u30F3",et);case 29:return Io(B,"\u30A4\u30ED\u30CF\u30CB\u30DB\u30D8\u30C8\u30C1\u30EA\u30CC\u30EB\u30F2\u30EF\u30AB\u30E8\u30BF\u30EC\u30BD\u30C4\u30CD\u30CA\u30E9\u30E0\u30A6\u30F0\u30CE\u30AA\u30AF\u30E4\u30DE\u30B1\u30D5\u30B3\u30A8\u30C6\u30A2\u30B5\u30AD\u30E6\u30E1\u30DF\u30B7\u30F1\u30D2\u30E2\u30BB\u30B9",et);case 34:return ns(B,3792,3801,!0,O);case 37:return ns(B,6160,6169,!0,O);case 38:return ns(B,4160,4169,!0,O);case 39:return ns(B,2918,2927,!0,O);case 40:return ns(B,1776,1785,!0,O);case 43:return ns(B,3046,3055,!0,O);case 44:return ns(B,3174,3183,!0,O);case 45:return ns(B,3664,3673,!0,O);case 46:return ns(B,3872,3881,!0,O);case 3:default:return ns(B,48,57,!0,O)}},yc="data-html2canvas-ignore",Jc=function(){function B(y,I,O){if(this.context=y,this.options=O,this.scrolledElements=[],this.referenceElement=I,this.counters=new Ru,this.quoteDepth=0,!I.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(I.ownerDocument.documentElement,!1)}return B.prototype.toIFrame=function(y,I){var O=this,et=ju(y,I);if(!et.contentWindow)return Promise.reject("Unable to find iframe window");var St=y.defaultView.pageXOffset,$t=y.defaultView.pageYOffset,Le=et.contentWindow,Ne=Le.document,bn=ku(et).then(function(){return R(O,void 0,void 0,function(){var In,Hn;return P(this,function(sr){switch(sr.label){case 0:return this.scrolledElements.forEach(tu),Le&&(Le.scrollTo(I.left,I.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(Le.scrollY!==I.top||Le.scrollX!==I.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(Le.scrollX-I.left,Le.scrollY-I.top,0,0))),In=this.options.onclone,Hn=this.clonedReferenceElement,typeof Hn=="undefined"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:Ne.fonts&&Ne.fonts.ready?[4,Ne.fonts.ready]:[3,2];case 1:sr.sent(),sr.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,wc(Ne)]:[3,4];case 3:sr.sent(),sr.label=4;case 4:return typeof In=="function"?[2,Promise.resolve().then(function(){return In(Ne,Hn)}).then(function(){return et})]:[2,et]}})})});return Ne.open(),Ne.write(fl(document.doctype)+""),qc(this.referenceElement.ownerDocument,St,$t),Ne.replaceChild(Ne.adoptNode(this.documentElement),Ne.documentElement),Ne.close(),bn},B.prototype.createElementClone=function(y){if(PA(y,2))debugger;if(Fo(y))return this.createCanvasClone(y);if(WA(y))return this.createVideoClone(y);if(Pl(y))return this.createStyleClone(y);var I=y.cloneNode(!1);return gc(I)&&(gc(y)&&y.currentSrc&&y.currentSrc!==y.src&&(I.src=y.currentSrc,I.srcset=""),I.loading==="lazy"&&(I.loading="eager")),VA(I)?this.createCustomElementClone(I):I},B.prototype.createCustomElementClone=function(y){var I=document.createElement("html2canvascustomelement");return xA(y.style,I),I},B.prototype.createStyleClone=function(y){try{var I=y.sheet;if(I&&I.cssRules){var O=[].slice.call(I.cssRules,0).reduce(function(St,$t){return $t&&typeof $t.cssText=="string"?St+$t.cssText:St},""),et=y.cloneNode(!1);return et.textContent=O,et}}catch(St){if(this.context.logger.error("Unable to access cssRules property",St),St.name!=="SecurityError")throw St}return y.cloneNode(!1)},B.prototype.createCanvasClone=function(y){var I;if(this.options.inlineImages&&y.ownerDocument){var O=y.ownerDocument.createElement("img");try{return O.src=y.toDataURL(),O}catch(bn){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",y)}}var et=y.cloneNode(!1);try{et.width=y.width,et.height=y.height;var St=y.getContext("2d"),$t=et.getContext("2d");if($t)if(!this.options.allowTaint&&St)$t.putImageData(St.getImageData(0,0,y.width,y.height),0,0);else{var Le=(I=y.getContext("webgl2"))!==null&&I!==void 0?I:y.getContext("webgl");if(Le){var Ne=Le.getContextAttributes();(Ne==null?void 0:Ne.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",y)}$t.drawImage(y,0,0)}return et}catch(bn){this.context.logger.info("Unable to clone canvas as it is tainted",y)}return et},B.prototype.createVideoClone=function(y){var I=y.ownerDocument.createElement("canvas");I.width=y.offsetWidth,I.height=y.offsetHeight;var O=I.getContext("2d");try{return O&&(O.drawImage(y,0,0,I.width,I.height),this.options.allowTaint||O.getImageData(0,0,I.width,I.height)),I}catch(St){this.context.logger.info("Unable to clone video as it is tainted",y)}var et=y.ownerDocument.createElement("canvas");return et.width=y.offsetWidth,et.height=y.offsetHeight,et},B.prototype.appendChildNode=function(y,I,O){(!GA(I)||!Du(I)&&!I.hasAttribute(yc)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(I)))&&(!this.options.copyStyles||!GA(I)||!Pl(I))&&y.appendChild(this.cloneNode(I,O))},B.prototype.cloneChildNodes=function(y,I,O){for(var et=this,St=y.shadowRoot?y.shadowRoot.firstChild:y.firstChild;St;St=St.nextSibling)if(GA(St)&&vc(St)&&typeof St.assignedNodes=="function"){var $t=St.assignedNodes();$t.length&&$t.forEach(function(Le){return et.appendChildNode(I,Le,O)})}else this.appendChildNode(I,St,O)},B.prototype.cloneNode=function(y,I){if(Ll(y))return document.createTextNode(y.data);if(!y.ownerDocument)return y.cloneNode(!1);var O=y.ownerDocument.defaultView;if(O&&GA(y)&&(zA(y)||fc(y))){var et=this.createElementClone(y);et.style.transitionProperty="none";var St=O.getComputedStyle(y),$t=O.getComputedStyle(y,":before"),Le=O.getComputedStyle(y,":after");this.referenceElement===y&&zA(et)&&(this.clonedReferenceElement=et),Ul(et)&&Yu(et);var Ne=this.counters.parse(new il(this.context,St)),bn=this.resolvePseudoContent(y,et,$t,bA.BEFORE);VA(y)&&(I=!0),WA(y)||this.cloneChildNodes(y,et,I),bn&&et.insertBefore(bn,et.firstChild);var In=this.resolvePseudoContent(y,et,Le,bA.AFTER);return In&&et.appendChild(In),this.counters.pop(Ne),(St&&(this.options.copyStyles||fc(y))&&!La(y)||I)&&xA(St,et),(y.scrollTop!==0||y.scrollLeft!==0)&&this.scrolledElements.push([et,y.scrollLeft,y.scrollTop]),(hl(y)||wA(y))&&(hl(et)||wA(et))&&(et.value=y.value),et}return y.cloneNode(!1)},B.prototype.resolvePseudoContent=function(y,I,O,et){var St=this;if(O){var $t=O.content,Le=I.ownerDocument;if(!(!Le||!$t||$t==="none"||$t==="-moz-alt-content"||O.display==="none")){this.counters.parse(new il(this.context,O));var Ne=new ml(this.context,O),bn=Le.createElement("html2canvaspseudoelement");xA(O,bn),Ne.content.forEach(function(Hn){if(Hn.type===0)bn.appendChild(Le.createTextNode(Hn.value));else if(Hn.type===22){var sr=Le.createElement("img");sr.src=Hn.value,sr.style.opacity="1",bn.appendChild(sr)}else if(Hn.type===18){if(Hn.name==="attr"){var ti=Hn.values.filter(zi);ti.length&&bn.appendChild(Le.createTextNode(y.getAttribute(ti[0].value)||""))}else if(Hn.name==="counter"){var Pr=Hn.values.filter(Va),jr=Pr[0],Zi=Pr[1];if(jr&&zi(jr)){var hi=St.counters.getCounterValue(jr.value),si=Zi&&zi(Zi)?ii.parse(St.context,Zi.value):3;bn.appendChild(Le.createTextNode(BA(hi,si,!1)))}}else if(Hn.name==="counters"){var ha=Hn.values.filter(Va),jr=ha[0],Hi=ha[1],Zi=ha[2];if(jr&&zi(jr)){var Oi=St.counters.getCounterValues(jr.value),qr=Zi&&zi(Zi)?ii.parse(St.context,Zi.value):3,Ji=Hi&&Hi.type===0?Hi.value:"",ia=Oi.map(function(ls){return BA(ls,qr,!1)}).join(Ji);bn.appendChild(Le.createTextNode(ia))}}}else if(Hn.type===20)switch(Hn.value){case"open-quote":bn.appendChild(Le.createTextNode(Js(Ne.quotes,St.quoteDepth++,!0)));break;case"close-quote":bn.appendChild(Le.createTextNode(Js(Ne.quotes,--St.quoteDepth,!1)));break;default:bn.appendChild(Le.createTextNode(Hn.value))}}),bn.className=eu+" "+_l;var In=et===bA.BEFORE?" "+eu:" "+_l;return fc(I)?I.className.baseValue+=In:I.className+=In,bn}}},B.destroy=function(y){return y.parentNode?(y.parentNode.removeChild(y),!0):!1},B}(),bA;(function(B){B[B.BEFORE=0]="BEFORE",B[B.AFTER=1]="AFTER"})(bA||(bA={}));var ju=function(B,y){var I=B.createElement("iframe");return I.className="html2canvas-container",I.style.visibility="hidden",I.style.position="fixed",I.style.left="-10000px",I.style.top="0px",I.style.border="0",I.width=y.width.toString(),I.height=y.height.toString(),I.scrolling="no",I.setAttribute(yc,"true"),B.body.appendChild(I),I},ho=function(B){return new Promise(function(y){if(B.complete){y();return}if(!B.src){y();return}B.onload=y,B.onerror=y})},wc=function(B){return Promise.all([].slice.call(B.images,0).map(ho))},ku=function(B){return new Promise(function(y,I){var O=B.contentWindow;if(!O)return I("No window assigned for iframe");var et=O.document;O.onload=B.onload=function(){O.onload=B.onload=null;var St=setInterval(function(){et.body.childNodes.length>0&&et.readyState==="complete"&&(clearInterval(St),y(B))},50)}})},$c=["all","d","content"],xA=function(B,y){for(var I=B.length-1;I>=0;I--){var O=B.item(I);$c.indexOf(O)===-1&&y.style.setProperty(O,B.getPropertyValue(O))}return y},fl=function(B){var y="";return B&&(y+=""),y},qc=function(B,y,I){B&&B.defaultView&&(y!==B.defaultView.pageXOffset||I!==B.defaultView.pageYOffset)&&B.defaultView.scrollTo(y,I)},tu=function(B){var y=B[0],I=B[1],O=B[2];y.scrollLeft=I,y.scrollTop=O},Ec=":before",_u=":after",eu="___html2canvas___pseudoelement_before",_l="___html2canvas___pseudoelement_after",Hl=`{ + content: "" !important; + display: none !important; +}`,Yu=function(B){CA(B,"."+eu+Ec+Hl+` + .`+_l+_u+Hl)},CA=function(B,y){var I=B.ownerDocument;if(I){var O=I.createElement("style");O.textContent=y,B.appendChild(O)}},dl=function(){function B(){}return B.getOrigin=function(y){var I=B._link;return I?(I.href=y,I.href=I.href,I.protocol+I.hostname+I.port):"about:blank"},B.isSameOrigin=function(y){return B.getOrigin(y)===B._origin},B.setContext=function(y){B._link=y.document.createElement("a"),B._origin=B.getOrigin(y.location.href)},B._origin="about:blank",B}(),Vo=function(){function B(y,I){this.context=y,this._options=I,this._cache={}}return B.prototype.addImage=function(y){var I=Promise.resolve();return this.has(y)||(au(y)||nu(y))&&(this._cache[y]=this.loadImage(y)).catch(function(){}),I},B.prototype.match=function(y){return this._cache[y]},B.prototype.loadImage=function(y){return R(this,void 0,void 0,function(){var I,O,et,St,$t=this;return P(this,function(Le){switch(Le.label){case 0:return I=dl.isSameOrigin(y),O=!ru(y)&&this._options.useCORS===!0&&Ni.SUPPORT_CORS_IMAGES&&!I,et=!ru(y)&&!I&&!au(y)&&typeof this._options.proxy=="string"&&Ni.SUPPORT_CORS_XHR&&!O,!I&&this._options.allowTaint===!1&&!ru(y)&&!au(y)&&!et&&!O?[2]:(St=y,et?[4,this.proxy(St)]:[3,2]);case 1:St=Le.sent(),Le.label=2;case 2:return this.context.logger.debug("Added image "+y.substring(0,256)),[4,new Promise(function(Ne,bn){var In=new Image;In.onload=function(){return Ne(In)},In.onerror=bn,(iu(St)||O)&&(In.crossOrigin="anonymous"),In.src=St,In.complete===!0&&setTimeout(function(){return Ne(In)},500),$t._options.imageTimeout>0&&setTimeout(function(){return bn("Timed out ("+$t._options.imageTimeout+"ms) loading image")},$t._options.imageTimeout)})];case 3:return[2,Le.sent()]}})})},B.prototype.has=function(y){return typeof this._cache[y]!="undefined"},B.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},B.prototype.proxy=function(y){var I=this,O=this._options.proxy;if(!O)throw new Error("No proxy defined");var et=y.substring(0,256);return new Promise(function(St,$t){var Le=Ni.SUPPORT_RESPONSE_TYPE?"blob":"text",Ne=new XMLHttpRequest;Ne.onload=function(){if(Ne.status===200)if(Le==="text")St(Ne.response);else{var Hn=new FileReader;Hn.addEventListener("load",function(){return St(Hn.result)},!1),Hn.addEventListener("error",function(sr){return $t(sr)},!1),Hn.readAsDataURL(Ne.response)}else $t("Failed to proxy resource "+et+" with status code "+Ne.status)},Ne.onerror=$t;var bn=O.indexOf("?")>-1?"&":"?";if(Ne.open("GET",""+O+bn+"url="+encodeURIComponent(y)+"&responseType="+Le),Le!=="text"&&Ne instanceof XMLHttpRequest&&(Ne.responseType=Le),I._options.imageTimeout){var In=I._options.imageTimeout;Ne.timeout=In,Ne.ontimeout=function(){return $t("Timed out ("+In+"ms) proxying "+et)}}Ne.send()})},B}(),Xu=/^data:image\/svg\+xml/i,Ju=/^data:image\/.*;base64,/i,Hu=/^data:image\/.*/i,nu=function(B){return Ni.SUPPORT_SVG_DRAWING||!Bc(B)},ru=function(B){return Hu.test(B)},iu=function(B){return Ju.test(B)},au=function(B){return B.substr(0,4)==="blob"},Bc=function(B){return B.substr(-3).toLowerCase()==="svg"||Xu.test(B)},Vr=function(){function B(y,I){this.type=0,this.x=y,this.y=I}return B.prototype.add=function(y,I){return new B(this.x+y,this.y+I)},B}(),XA=function(B,y,I){return new Vr(B.x+(y.x-B.x)*I,B.y+(y.y-B.y)*I)},JA=function(){function B(y,I,O,et){this.type=1,this.start=y,this.startControl=I,this.endControl=O,this.end=et}return B.prototype.subdivide=function(y,I){var O=XA(this.start,this.startControl,y),et=XA(this.startControl,this.endControl,y),St=XA(this.endControl,this.end,y),$t=XA(O,et,y),Le=XA(et,St,y),Ne=XA($t,Le,y);return I?new B(this.start,O,$t,Ne):new B(Ne,Le,St,this.end)},B.prototype.add=function(y,I){return new B(this.start.add(y,I),this.startControl.add(y,I),this.endControl.add(y,I),this.end.add(y,I))},B.prototype.reverse=function(){return new B(this.end,this.endControl,this.startControl,this.start)},B}(),mo=function(B){return B.type===1},bc=function(){function B(y){var I=y.styles,O=y.bounds,et=Cs(I.borderTopLeftRadius,O.width,O.height),St=et[0],$t=et[1],Le=Cs(I.borderTopRightRadius,O.width,O.height),Ne=Le[0],bn=Le[1],In=Cs(I.borderBottomRightRadius,O.width,O.height),Hn=In[0],sr=In[1],ti=Cs(I.borderBottomLeftRadius,O.width,O.height),Pr=ti[0],jr=ti[1],Zi=[];Zi.push((St+Ne)/O.width),Zi.push((Pr+Hn)/O.width),Zi.push(($t+jr)/O.height),Zi.push((bn+sr)/O.height);var hi=Math.max.apply(Math,Zi);hi>1&&(St/=hi,$t/=hi,Ne/=hi,bn/=hi,Hn/=hi,sr/=hi,Pr/=hi,jr/=hi);var si=O.width-Ne,ha=O.height-sr,Hi=O.width-Hn,Oi=O.height-jr,qr=I.borderTopWidth,Ji=I.borderRightWidth,ia=I.borderBottomWidth,Ii=I.borderLeftWidth,As=ea(I.paddingTop,y.bounds.width),ls=ea(I.paddingRight,y.bounds.width),ms=ea(I.paddingBottom,y.bounds.width),Fa=ea(I.paddingLeft,y.bounds.width);this.topLeftBorderDoubleOuterBox=St>0||$t>0?Ra(O.left+Ii/3,O.top+qr/3,St-Ii/3,$t-qr/3,pa.TOP_LEFT):new Vr(O.left+Ii/3,O.top+qr/3),this.topRightBorderDoubleOuterBox=St>0||$t>0?Ra(O.left+si,O.top+qr/3,Ne-Ji/3,bn-qr/3,pa.TOP_RIGHT):new Vr(O.left+O.width-Ji/3,O.top+qr/3),this.bottomRightBorderDoubleOuterBox=Hn>0||sr>0?Ra(O.left+Hi,O.top+ha,Hn-Ji/3,sr-ia/3,pa.BOTTOM_RIGHT):new Vr(O.left+O.width-Ji/3,O.top+O.height-ia/3),this.bottomLeftBorderDoubleOuterBox=Pr>0||jr>0?Ra(O.left+Ii/3,O.top+Oi,Pr-Ii/3,jr-ia/3,pa.BOTTOM_LEFT):new Vr(O.left+Ii/3,O.top+O.height-ia/3),this.topLeftBorderDoubleInnerBox=St>0||$t>0?Ra(O.left+Ii*2/3,O.top+qr*2/3,St-Ii*2/3,$t-qr*2/3,pa.TOP_LEFT):new Vr(O.left+Ii*2/3,O.top+qr*2/3),this.topRightBorderDoubleInnerBox=St>0||$t>0?Ra(O.left+si,O.top+qr*2/3,Ne-Ji*2/3,bn-qr*2/3,pa.TOP_RIGHT):new Vr(O.left+O.width-Ji*2/3,O.top+qr*2/3),this.bottomRightBorderDoubleInnerBox=Hn>0||sr>0?Ra(O.left+Hi,O.top+ha,Hn-Ji*2/3,sr-ia*2/3,pa.BOTTOM_RIGHT):new Vr(O.left+O.width-Ji*2/3,O.top+O.height-ia*2/3),this.bottomLeftBorderDoubleInnerBox=Pr>0||jr>0?Ra(O.left+Ii*2/3,O.top+Oi,Pr-Ii*2/3,jr-ia*2/3,pa.BOTTOM_LEFT):new Vr(O.left+Ii*2/3,O.top+O.height-ia*2/3),this.topLeftBorderStroke=St>0||$t>0?Ra(O.left+Ii/2,O.top+qr/2,St-Ii/2,$t-qr/2,pa.TOP_LEFT):new Vr(O.left+Ii/2,O.top+qr/2),this.topRightBorderStroke=St>0||$t>0?Ra(O.left+si,O.top+qr/2,Ne-Ji/2,bn-qr/2,pa.TOP_RIGHT):new Vr(O.left+O.width-Ji/2,O.top+qr/2),this.bottomRightBorderStroke=Hn>0||sr>0?Ra(O.left+Hi,O.top+ha,Hn-Ji/2,sr-ia/2,pa.BOTTOM_RIGHT):new Vr(O.left+O.width-Ji/2,O.top+O.height-ia/2),this.bottomLeftBorderStroke=Pr>0||jr>0?Ra(O.left+Ii/2,O.top+Oi,Pr-Ii/2,jr-ia/2,pa.BOTTOM_LEFT):new Vr(O.left+Ii/2,O.top+O.height-ia/2),this.topLeftBorderBox=St>0||$t>0?Ra(O.left,O.top,St,$t,pa.TOP_LEFT):new Vr(O.left,O.top),this.topRightBorderBox=Ne>0||bn>0?Ra(O.left+si,O.top,Ne,bn,pa.TOP_RIGHT):new Vr(O.left+O.width,O.top),this.bottomRightBorderBox=Hn>0||sr>0?Ra(O.left+Hi,O.top+ha,Hn,sr,pa.BOTTOM_RIGHT):new Vr(O.left+O.width,O.top+O.height),this.bottomLeftBorderBox=Pr>0||jr>0?Ra(O.left,O.top+Oi,Pr,jr,pa.BOTTOM_LEFT):new Vr(O.left,O.top+O.height),this.topLeftPaddingBox=St>0||$t>0?Ra(O.left+Ii,O.top+qr,Math.max(0,St-Ii),Math.max(0,$t-qr),pa.TOP_LEFT):new Vr(O.left+Ii,O.top+qr),this.topRightPaddingBox=Ne>0||bn>0?Ra(O.left+Math.min(si,O.width-Ji),O.top+qr,si>O.width+Ji?0:Math.max(0,Ne-Ji),Math.max(0,bn-qr),pa.TOP_RIGHT):new Vr(O.left+O.width-Ji,O.top+qr),this.bottomRightPaddingBox=Hn>0||sr>0?Ra(O.left+Math.min(Hi,O.width-Ii),O.top+Math.min(ha,O.height-ia),Math.max(0,Hn-Ji),Math.max(0,sr-ia),pa.BOTTOM_RIGHT):new Vr(O.left+O.width-Ji,O.top+O.height-ia),this.bottomLeftPaddingBox=Pr>0||jr>0?Ra(O.left+Ii,O.top+Math.min(Oi,O.height-ia),Math.max(0,Pr-Ii),Math.max(0,jr-ia),pa.BOTTOM_LEFT):new Vr(O.left+Ii,O.top+O.height-ia),this.topLeftContentBox=St>0||$t>0?Ra(O.left+Ii+Fa,O.top+qr+As,Math.max(0,St-(Ii+Fa)),Math.max(0,$t-(qr+As)),pa.TOP_LEFT):new Vr(O.left+Ii+Fa,O.top+qr+As),this.topRightContentBox=Ne>0||bn>0?Ra(O.left+Math.min(si,O.width+Ii+Fa),O.top+qr+As,si>O.width+Ii+Fa?0:Ne-Ii+Fa,bn-(qr+As),pa.TOP_RIGHT):new Vr(O.left+O.width-(Ji+ls),O.top+qr+As),this.bottomRightContentBox=Hn>0||sr>0?Ra(O.left+Math.min(Hi,O.width-(Ii+Fa)),O.top+Math.min(ha,O.height+qr+As),Math.max(0,Hn-(Ji+ls)),sr-(ia+ms),pa.BOTTOM_RIGHT):new Vr(O.left+O.width-(Ji+ls),O.top+O.height-(ia+ms)),this.bottomLeftContentBox=Pr>0||jr>0?Ra(O.left+Ii+Fa,O.top+Oi,Math.max(0,Pr-(Ii+Fa)),jr-(ia+ms),pa.BOTTOM_LEFT):new Vr(O.left+Ii+Fa,O.top+O.height-(ia+ms))}return B}(),pa;(function(B){B[B.TOP_LEFT=0]="TOP_LEFT",B[B.TOP_RIGHT=1]="TOP_RIGHT",B[B.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",B[B.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(pa||(pa={}));var Ra=function(B,y,I,O,et){var St=4*((Math.sqrt(2)-1)/3),$t=I*St,Le=O*St,Ne=B+I,bn=y+O;switch(et){case pa.TOP_LEFT:return new JA(new Vr(B,bn),new Vr(B,bn-Le),new Vr(Ne-$t,y),new Vr(Ne,y));case pa.TOP_RIGHT:return new JA(new Vr(B,y),new Vr(B+$t,y),new Vr(Ne,bn-Le),new Vr(Ne,bn));case pa.BOTTOM_RIGHT:return new JA(new Vr(Ne,y),new Vr(Ne,y+Le),new Vr(B+$t,bn),new Vr(B,bn));case pa.BOTTOM_LEFT:default:return new JA(new Vr(Ne,bn),new Vr(Ne-$t,bn),new Vr(B,y+Le),new Vr(B,y))}},Os=function(B){return[B.topLeftBorderBox,B.topRightBorderBox,B.bottomRightBorderBox,B.bottomLeftBorderBox]},xc=function(B){return[B.topLeftContentBox,B.topRightContentBox,B.bottomRightContentBox,B.bottomLeftContentBox]},SA=function(B){return[B.topLeftPaddingBox,B.topRightPaddingBox,B.bottomRightPaddingBox,B.bottomLeftPaddingBox]},Cc=function(){function B(y,I,O){this.offsetX=y,this.offsetY=I,this.matrix=O,this.type=0,this.target=6}return B}(),Zl=function(){function B(y,I){this.path=y,this.target=I,this.type=1}return B}(),Zu=function(){function B(y){this.opacity=y,this.type=2,this.target=6}return B}(),Ku=function(B){return B.type===0},Sc=function(B){return B.type===1},Gu=function(B){return B.type===2},su=function(B,y){return B.length===y.length?B.some(function(I,O){return I===y[O]}):!1},ou=function(B,y,I,O,et){return B.map(function(St,$t){switch($t){case 0:return St.add(y,I);case 1:return St.add(y+O,I);case 2:return St.add(y+O,I+et);case 3:return St.add(y,I+et)}return St})},Au=function(){function B(y){this.element=y,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return B}(),lu=function(){function B(y,I){if(this.container=y,this.parent=I,this.effects=[],this.curves=new bc(this.container),this.container.styles.opacity<1&&this.effects.push(new Zu(this.container.styles.opacity)),this.container.styles.transform!==null){var O=this.container.bounds.left+this.container.styles.transformOrigin[0].number,et=this.container.bounds.top+this.container.styles.transformOrigin[1].number,St=this.container.styles.transform;this.effects.push(new Cc(O,et,St))}if(this.container.styles.overflowX!==0){var $t=Os(this.curves),Le=SA(this.curves);su($t,Le)?this.effects.push(new Zl($t,6)):(this.effects.push(new Zl($t,2)),this.effects.push(new Zl(Le,4)))}}return B.prototype.getEffects=function(y){for(var I=[2,3].indexOf(this.container.styles.position)===-1,O=this.parent,et=this.effects.slice(0);O;){var St=O.effects.filter(function(Ne){return!Sc(Ne)});if(I||O.container.styles.position!==0||!O.parent){if(et.unshift.apply(et,St),I=[2,3].indexOf(O.container.styles.position)===-1,O.container.styles.overflowX!==0){var $t=Os(O.curves),Le=SA(O.curves);su($t,Le)||et.unshift(new Zl(Le,6))}}else et.unshift.apply(et,St);O=O.parent}return et.filter(function(Ne){return Za(Ne.target,y)})},B}(),$A=function(B,y,I,O){B.container.elements.forEach(function(et){var St=Za(et.flags,4),$t=Za(et.flags,2),Le=new lu(et,B);Za(et.styles.display,2048)&&O.push(Le);var Ne=Za(et.flags,8)?[]:O;if(St||$t){var bn=St||et.styles.isPositioned()?I:y,In=new Au(Le);if(et.styles.isPositioned()||et.styles.opacity<1||et.styles.isTransformed()){var Hn=et.styles.zIndex.order;if(Hn<0){var sr=0;bn.negativeZIndex.some(function(Pr,jr){return Hn>Pr.element.container.styles.zIndex.order?(sr=jr,!1):sr>0}),bn.negativeZIndex.splice(sr,0,In)}else if(Hn>0){var ti=0;bn.positiveZIndex.some(function(Pr,jr){return Hn>=Pr.element.container.styles.zIndex.order?(ti=jr+1,!1):ti>0}),bn.positiveZIndex.splice(ti,0,In)}else bn.zeroOrAutoZIndexOrTransformedOrOpacity.push(In)}else et.styles.isFloating()?bn.nonPositionedFloats.push(In):bn.nonPositionedInlineLevel.push(In);$A(Le,In,St?In:I,Ne)}else et.styles.isInlineLevel()?y.inlineLevel.push(Le):y.nonInlineLevel.push(Le),$A(Le,y,I,Ne);Za(et.flags,8)&&cu(et,Ne)})},cu=function(B,y){for(var I=B instanceof Ac?B.start:1,O=B instanceof Ac?B.reversed:!1,et=0;et0&&I.intrinsicHeight>0){var St=G(I),$t=SA(O);this.path($t),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(et,0,0,I.intrinsicWidth,I.intrinsicHeight,St.left,St.top,St.width,St.height),this.ctx.restore()}},y.prototype.renderNodeContent=function(I){return R(this,void 0,void 0,function(){var O,et,St,$t,Le,Ne,si,si,bn,In,Hn,sr,Hi,ti,Pr,Oi,jr,Zi,hi,si,ha,Hi,Oi;return P(this,function(qr){switch(qr.label){case 0:this.applyEffects(I.getEffects(4)),O=I.container,et=I.curves,St=O.styles,$t=0,Le=O.textNodes,qr.label=1;case 1:return $t0&&Fs>0&&(ia=St.ctx.createPattern(Oi,"repeat"),St.renderRepeat(As,ia,qs,yo))):Xe(In)&&(Ii=Tt(I,O,[null,null,null]),As=Ii[0],ls=Ii[1],ms=Ii[2],Fa=Ii[3],Fs=Ii[4],sA=In.position.length===0?[ja]:In.position,qs=ea(sA[0],Fa),yo=ea(sA[sA.length-1],Fs),gl=Mo(In,qs,yo,Fa,Fs),oA=gl[0],qA=gl[1],oA>0&&qA>0&&(tl=St.ctx.createRadialGradient(ls+qs,ms+yo,0,ls+qs,ms+yo,oA),OA(In.stops,oA*2).forEach(function(lA){return tl.addColorStop(lA.stop,oa(lA.color))}),St.path(As),St.ctx.fillStyle=tl,oA!==qA?(el=I.bounds.left+.5*I.bounds.width,MA=I.bounds.top+.5*I.bounds.height,AA=qA/oA,jo=1/AA,St.ctx.save(),St.ctx.translate(el,MA),St.ctx.transform(1,0,0,AA,0,0),St.ctx.translate(-el,-MA),St.ctx.fillRect(ls,jo*(ms-MA)+MA,Fa,Fs*jo),St.ctx.restore()):St.ctx.fill())),Yo.label=6;case 6:return O--,[2]}})},St=this,$t=0,Le=I.styles.backgroundImage.slice(0).reverse(),bn.label=1;case 1:return $t0?In.style!==2?[3,5]:[4,this.renderDashedDottedBorder(In.color,In.width,Le,I.curves,2)]:[3,11]):[3,13];case 4:return sr.sent(),[3,11];case 5:return In.style!==3?[3,7]:[4,this.renderDashedDottedBorder(In.color,In.width,Le,I.curves,3)];case 6:return sr.sent(),[3,11];case 7:return In.style!==4?[3,9]:[4,this.renderDoubleBorder(In.color,In.width,Le,I.curves)];case 8:return sr.sent(),[3,11];case 9:return[4,this.renderSolidBorder(In.color,Le,I.curves)];case 10:sr.sent(),sr.label=11;case 11:Le++,sr.label=12;case 12:return Ne++,[3,3];case 13:return[2]}})})},y.prototype.renderDashedDottedBorder=function(I,O,et,St,$t){return R(this,void 0,void 0,function(){var Le,Ne,bn,In,Hn,sr,ti,Pr,jr,Zi,hi,si,ha,Hi,Oi,qr,Oi,qr;return P(this,function(Ji){return this.ctx.save(),Le=o(St,et),Ne=u(St,et),$t===2&&(this.path(Ne),this.ctx.clip()),mo(Ne[0])?(bn=Ne[0].start.x,In=Ne[0].start.y):(bn=Ne[0].x,In=Ne[0].y),mo(Ne[1])?(Hn=Ne[1].end.x,sr=Ne[1].end.y):(Hn=Ne[1].x,sr=Ne[1].y),et===0||et===2?ti=Math.abs(bn-Hn):ti=Math.abs(In-sr),this.ctx.beginPath(),$t===3?this.formatPath(Le):this.formatPath(Ne.slice(0,2)),Pr=O<3?O*3:O*2,jr=O<3?O*2:O,$t===3&&(Pr=O,jr=O),Zi=!0,ti<=Pr*2?Zi=!1:ti<=Pr*2+jr?(hi=ti/(2*Pr+jr),Pr*=hi,jr*=hi):(si=Math.floor((ti+jr)/(Pr+jr)),ha=(ti-si*Pr)/(si-1),Hi=(ti-(si+1)*Pr)/si,jr=Hi<=0||Math.abs(jr-ha)=0&&(g.splice instanceof Function||Object.getOwnPropertyDescriptor(g,g.length-1)&&g.constructor.name!=="String")}},23346:function(gt,dt,g){var c=g(93454),R=g(40911),P=c(R,"DataView");gt.exports=P},36025:function(gt,dt,g){var c=g(93454),R=g(40911),P=c(R,"Promise");gt.exports=P},73230:function(gt,dt,g){var c=g(93454),R=g(40911),P=c(R,"Set");gt.exports=P},66643:function(gt,dt,g){var c=g(97800),R=g(81685),P=g(1324);function U(w){var S=-1,E=w==null?0:w.length;for(this.__data__=new c;++S-1}gt.exports=R},90746:function(gt){function dt(g,c,R){for(var P=-1,U=g==null?0:g.length;++P0&&S(K)?w>1?P(K,w-1,S,E,L):c(L,K):E||(L[L.length]=K)}return L}gt.exports=P},23543:function(gt,dt,g){var c=g(43294),R=g(66357);function P(U,w){return U&&c(U,w,R)}gt.exports=P},96980:function(gt,dt,g){var c=g(89382),R=g(90370);function P(U,w){w=c(w,U);for(var S=0,E=w.length;U!=null&&Sc}gt.exports=dt},11874:function(gt){var dt=Object.prototype,g=dt.hasOwnProperty;function c(R,P){return R!=null&&g.call(R,P)}gt.exports=c},45146:function(gt){function dt(g,c){return g!=null&&c in Object(g)}gt.exports=dt},17713:function(gt,dt,g){var c=g(33405),R=g(17406),P=g(68048);function U(w,S,E){return S===S?P(w,S,E):c(w,R,E)}gt.exports=U},30433:function(gt,dt,g){var c=g(98317),R=g(71161);function P(U,w,S,E,L){return U===w?!0:U==null||w==null||!R(U)&&!R(w)?U!==U&&w!==w:c(U,w,S,E,P,L)}gt.exports=P},98317:function(gt,dt,g){var c=g(26163),R=g(70670),P=g(23499),U=g(83544),w=g(29148),S=g(41594),E=g(33636),L=g(53745),D=1,T="[object Arguments]",K="[object Array]",Z="[object Object]",tt=Object.prototype,V=tt.hasOwnProperty;function pt(st,X,Mt,ft,Ut,jt){var Gt=S(st),Oe=S(X),de=Gt?K:w(st),sn=Oe?K:w(X);de=de==T?Z:de,sn=sn==T?Z:sn;var Be=de==Z,En=sn==Z,Ln=de==sn;if(Ln&&E(st)){if(!E(X))return!1;Gt=!0,Be=!1}if(Ln&&!Be)return jt||(jt=new c),Gt||L(st)?R(st,X,Mt,ft,Ut,jt):P(st,X,de,Mt,ft,Ut,jt);if(!(Mt&D)){var wn=Be&&V.call(st,"__wrapped__"),Rn=En&&V.call(X,"__wrapped__");if(wn||Rn){var or=wn?st.value():st,pn=Rn?X.value():X;return jt||(jt=new c),Ut(or,pn,Mt,ft,jt)}}return Ln?(jt||(jt=new c),U(st,X,Mt,ft,Ut,jt)):!1}gt.exports=pt},9961:function(gt,dt,g){var c=g(29148),R=g(71161),P="[object Map]";function U(w){return R(w)&&c(w)==P}gt.exports=U},44626:function(gt,dt,g){var c=g(26163),R=g(30433),P=1,U=2;function w(S,E,L,D){var T=L.length,K=T,Z=!D;if(S==null)return!K;for(S=Object(S);T--;){var tt=L[T];if(Z&&tt[2]?tt[1]!==S[tt[0]]:!(tt[0]in S))return!1}for(;++T=E){var Mt=T?null:w(D);if(Mt)return S(Mt);pt=!1,tt=U,X=new c}else X=T?[]:st;t:for(;++ZU||L&&D&&K&&!T&&!Z||S&&D&&K||!w&&K||!E)return 1;if(!S&&!L&&!Z&&P=T)return K;var Z=w[S];return K*(Z=="desc"?-1:1)}}return P.index-U.index}gt.exports=R},45280:function(gt,dt,g){var c=g(39408),R=g(69601);function P(U,w){return c(U,R(U),w)}gt.exports=P},24299:function(gt,dt,g){var c=g(39408),R=g(72426);function P(U,w){return c(U,R(U),w)}gt.exports=P},26503:function(gt,dt,g){var c=g(9015);function R(P,U){return function(w,S){if(w==null)return w;if(!c(w))return P(w,S);for(var E=w.length,L=U?E:-1,D=Object(w);(U?L--:++L-1?D[T?S[K]:K]:void 0}}gt.exports=U},6651:function(gt,dt,g){var c=g(91018),R=g(20688),P=g(925);function U(w){return function(S,E,L){return L&&typeof L!="number"&&R(S,E,L)&&(E=L=void 0),S=P(S),E===void 0?(E=S,S=0):E=P(E),L=L===void 0?SV))return!1;var st=Z.get(E),X=Z.get(L);if(st&&X)return st==L&&X==E;var Mt=-1,ft=!0,Ut=D&w?new c:void 0;for(Z.set(E,L),Z.set(L,E);++Mt2?D[2]:void 0;for(Z&&P(D[0],D[1],Z)&&(K=1);++T1&&U(S,E[0],E[1])?E=[]:L>2&&U(E[0],E[1],E[2])&&(E=[E[0]]),R(S,c(E,1),[])});gt.exports=w},57004:function(gt){function dt(){return[]}gt.exports=dt},925:function(gt,dt,g){var c=g(13933),R=1/0,P=17976931348623157e292;function U(w){if(!w)return w===0?w:0;if(w=c(w),w===R||w===-R){var S=w<0?-1:1;return S*P}return w===w?w:0}gt.exports=U},46588:function(gt,dt,g){var c=g(925);function R(P){var U=c(P),w=U%1;return U===U?w?U-w:U:0}gt.exports=R},13933:function(gt,dt,g){var c=g(8944),R=g(71721),P=g(66459),U=NaN,w=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,L=parseInt;function D(T){if(typeof T=="number")return T;if(P(T))return U;if(R(T)){var K=typeof T.valueOf=="function"?T.valueOf():T;T=R(K)?K+"":K}if(typeof T!="string")return T===0?T:+T;T=c(T);var Z=S.test(T);return Z||E.test(T)?L(T.slice(2),Z?2:8):w.test(T)?U:+T}gt.exports=D},14135:function(gt,dt,g){var c=g(12580);function R(P){return P==null?"":c(P)}gt.exports=R},61477:function(gt,dt,g){var c=g(22899),R=g(93511),P=g(23543),U=g(71499),w=g(13530),S=g(41594),E=g(33636),L=g(92581),D=g(71721),T=g(53745);function K(Z,tt,V){var pt=S(Z),st=pt||E(Z)||T(Z);if(tt=U(tt,4),V==null){var X=Z&&Z.constructor;st?V=pt?new X:[]:D(Z)?V=L(X)?R(w(Z)):{}:V={}}return(st?c:P)(Z,function(Mt,ft,Ut){return tt(V,Mt,ft,Ut)}),V}gt.exports=K},99477:function(gt,dt,g){var c=g(27417),R=g(2440),P=g(75996),U=g(20577),w=R(function(S){return P(c(S,1,U,!0))});gt.exports=w},69624:function(gt,dt,g){var c=g(14135),R=0;function P(U){var w=++R;return c(U)+w}gt.exports=P},72834:function(gt,dt,g){var c=g(98030),R=g(66357);function P(U){return U==null?[]:c(U,R(U))}gt.exports=P},79261:function(gt,dt,g){var c=g(78436),R=g(30232);function P(U,w){return R(U||[],w||[],c)}gt.exports=P},34402:function(gt,dt,g){"use strict";g.r(dt),g.d(dt,{default:function(){return U}});var c=g(34634);function R(w){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,c.isAnyArray)(w))throw new TypeError("input must be an array");if(w.length===0)throw new TypeError("input must not be empty");var E=S.fromIndex,L=E===void 0?0:E,D=S.toIndex,T=D===void 0?w.length:D;if(L<0||L>=w.length||!Number.isInteger(L))throw new Error("fromIndex must be a positive integer smaller than length");if(T<=L||T>w.length||!Number.isInteger(T))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var K=w[L],Z=L+1;ZK&&(K=w[Z]);return K}function P(w){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,c.isAnyArray)(w))throw new TypeError("input must be an array");if(w.length===0)throw new TypeError("input must not be empty");var E=S.fromIndex,L=E===void 0?0:E,D=S.toIndex,T=D===void 0?w.length:D;if(L<0||L>=w.length||!Number.isInteger(L))throw new Error("fromIndex must be a positive integer smaller than length");if(T<=L||T>w.length||!Number.isInteger(T))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var K=w[L],Z=L+1;Z1&&arguments[1]!==void 0?arguments[1]:{};if((0,c.isAnyArray)(w)){if(w.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var E;if(S.output!==void 0){if(!(0,c.isAnyArray)(S.output))throw new TypeError("output option must be an array if specified");E=S.output}else E=new Array(w.length);var L=P(w),D=R(w);if(L===D)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var T=S.min,K=T===void 0?S.autoMinMax?L:0:T,Z=S.max,tt=Z===void 0?S.autoMinMax?D:1:Z;if(K>=tt)throw new RangeError("min option must be smaller than max option");for(var V=(tt-K)/(D-L),pt=0;pt=P.length?{done:!0}:{done:!1,value:P[S++]}},e:function(Z){throw Z},f:E}}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 L,D=!0,T=!1;return{s:function(){w=w.call(P)},n:function(){var Z=w.next();return D=Z.done,Z},e:function(Z){T=!0,L=Z},f:function(){try{D||w.return==null||w.return()}finally{if(T)throw L}}}}},71369:function(gt,dt,g){"use strict";g.d(dt,{Z:function(){return U}});var c=g(38882);function R(w,S){for(;!{}.hasOwnProperty.call(w,S)&&(w=(0,c.Z)(w))!==null;);return w}function P(){return P=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(w,S,E){var L=R(w,S);if(L){var D=Object.getOwnPropertyDescriptor(L,S);return D.get?D.get.call(arguments.length<3?w:E):D.value}},P.apply(null,arguments)}function U(w,S,E,L){var D=P((0,c.Z)(1&L?w.prototype:w),S,E);return 2&L&&typeof D=="function"?function(T){return D.apply(E,T)}:D}},25551:function(gt,dt){"use strict";var g={value:()=>{}};function c(){for(var S=0,E=arguments.length,L={},D;S=0&&(D=L.slice(T+1),L=L.slice(0,T)),L&&!E.hasOwnProperty(L))throw new Error("unknown type: "+L);return{type:L,name:D}})}R.prototype=c.prototype={constructor:R,on:function(S,E){var L=this._,D=P(S+"",L),T,K=-1,Z=D.length;if(arguments.length<2){for(;++K0)for(var L=new Array(T),D=0,T,K;Dtypeof pn=="object"&&pn!==null||typeof pn=="function",E={canHandle:pn=>S(pn)&&pn[c],serialize(pn){const{port1:zn,port2:Pt}=new MessageChannel;return K(pn,zn),[Pt,[Pt]]},deserialize(pn){return pn.start(),V(pn)}},L={canHandle:pn=>S(pn)&&w in pn,serialize({value:pn}){let zn;return pn instanceof Error?zn={isError:!0,value:{message:pn.message,name:pn.name,stack:pn.stack}}:zn={isError:!1,value:pn},[zn,[]]},deserialize(pn){throw pn.isError?Object.assign(new Error(pn.value.message),pn.value):pn.value}},D=new Map([["proxy",E],["throw",L]]);function T(pn,zn){for(const Pt of pn)if(zn===Pt||Pt==="*"||Pt instanceof RegExp&&Pt.test(zn))return!0;return!1}function K(pn,zn=globalThis,Pt=["*"]){zn.addEventListener("message",function Se(Un){if(!Un||!Un.data)return;if(!T(Pt,Un.origin)){console.warn(`Invalid origin '${Un.origin}' for comlink proxy`);return}const{id:On,type:ze,path:tn}=Object.assign({path:[]},Un.data),ln=(Un.data.argumentList||[]).map(wn);let pe;try{const Pe=tn.slice(0,-1).reduce((Bt,ve)=>Bt[ve],pn),Ft=tn.reduce((Bt,ve)=>Bt[ve],pn);switch(ze){case"GET":pe=Ft;break;case"SET":Pe[tn.slice(-1)[0]]=wn(Un.data.value),pe=!0;break;case"APPLY":pe=Ft.apply(Pe,ln);break;case"CONSTRUCT":{const Bt=new Ft(...ln);pe=Be(Bt)}break;case"ENDPOINT":{const{port1:Bt,port2:ve}=new MessageChannel;K(pn,ve),pe=sn(Bt,[Bt])}break;case"RELEASE":pe=void 0;break;default:return}}catch(Pe){pe={value:Pe,[w]:0}}Promise.resolve(pe).catch(Pe=>({value:Pe,[w]:0})).then(Pe=>{const[Ft,Bt]=Ln(Pe);zn.postMessage(Object.assign(Object.assign({},Ft),{id:On}),Bt),ze==="RELEASE"&&(zn.removeEventListener("message",Se),tt(zn),U in pn&&typeof pn[U]=="function"&&pn[U]())}).catch(Pe=>{const[Ft,Bt]=Ln({value:new TypeError("Unserializable return value"),[w]:0});zn.postMessage(Object.assign(Object.assign({},Ft),{id:On}),Bt)})}),zn.start&&zn.start()}function Z(pn){return pn.constructor.name==="MessagePort"}function tt(pn){Z(pn)&&pn.close()}function V(pn,zn){const Pt=new Map;return pn.addEventListener("message",function(Un){const{data:On}=Un;if(!On||!On.id)return;const ze=Pt.get(On.id);if(ze)try{ze(On)}finally{Pt.delete(On.id)}}),jt(pn,Pt,[],zn)}function pt(pn){if(pn)throw new Error("Proxy has been released and is not useable")}function st(pn){return Rn(pn,new Map,{type:"RELEASE"}).then(()=>{tt(pn)})}const X=new WeakMap,Mt="FinalizationRegistry"in globalThis&&new FinalizationRegistry(pn=>{const zn=(X.get(pn)||0)-1;X.set(pn,zn),zn===0&&st(pn)});function ft(pn,zn){const Pt=(X.get(zn)||0)+1;X.set(zn,Pt),Mt&&Mt.register(pn,zn,pn)}function Ut(pn){Mt&&Mt.unregister(pn)}function jt(pn,zn,Pt=[],Se=function(){}){let Un=!1;const On=new Proxy(Se,{get(ze,tn){if(pt(Un),tn===P)return()=>{Ut(On),st(pn),zn.clear(),Un=!0};if(tn==="then"){if(Pt.length===0)return{then:()=>On};const ln=Rn(pn,zn,{type:"GET",path:Pt.map(pe=>pe.toString())}).then(wn);return ln.then.bind(ln)}return jt(pn,zn,[...Pt,tn])},set(ze,tn,ln){pt(Un);const[pe,Pe]=Ln(ln);return Rn(pn,zn,{type:"SET",path:[...Pt,tn].map(Ft=>Ft.toString()),value:pe},Pe).then(wn)},apply(ze,tn,ln){pt(Un);const pe=Pt[Pt.length-1];if(pe===R)return Rn(pn,zn,{type:"ENDPOINT"}).then(wn);if(pe==="bind")return jt(pn,zn,Pt.slice(0,-1));const[Pe,Ft]=Oe(ln);return Rn(pn,zn,{type:"APPLY",path:Pt.map(Bt=>Bt.toString()),argumentList:Pe},Ft).then(wn)},construct(ze,tn){pt(Un);const[ln,pe]=Oe(tn);return Rn(pn,zn,{type:"CONSTRUCT",path:Pt.map(Pe=>Pe.toString()),argumentList:ln},pe).then(wn)}});return ft(On,pn),On}function Gt(pn){return Array.prototype.concat.apply([],pn)}function Oe(pn){const zn=pn.map(Ln);return[zn.map(Pt=>Pt[0]),Gt(zn.map(Pt=>Pt[1]))]}const de=new WeakMap;function sn(pn,zn){return de.set(pn,zn),pn}function Be(pn){return Object.assign(pn,{[c]:!0})}function En(pn,zn=globalThis,Pt="*"){return{postMessage:(Se,Un)=>pn.postMessage(Se,Pt,Un),addEventListener:zn.addEventListener.bind(zn),removeEventListener:zn.removeEventListener.bind(zn)}}function Ln(pn){for(const[zn,Pt]of D)if(Pt.canHandle(pn)){const[Se,Un]=Pt.serialize(pn);return[{type:"HANDLER",name:zn,value:Se},Un]}return[{type:"RAW",value:pn},de.get(pn)||[]]}function wn(pn){switch(pn.type){case"HANDLER":return D.get(pn.name).deserialize(pn.value);case"RAW":return pn.value}}function Rn(pn,zn,Pt,Se){return new Promise(Un=>{const On=or();zn.set(On,Un),pn.start&&pn.start(),pn.postMessage(Object.assign({id:On},Pt),Se)})}function or(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}},32575:function(gt,dt,g){"use strict";g.d(dt,{Z:function(){return c}});function c(R,P){var U,w=1;R==null&&(R=0),P==null&&(P=0);function S(){var E,L=U.length,D,T=0,K=0;for(E=0;Eft.index){var Pt=Ut-or.x-or.vx,Se=jt-or.y-or.vy,Un=Pt*Pt+Se*Se;UnUt+zn||wnjt+zn||Rnst.r&&(st.r=st[X].r)}function pt(){if(L){var st,X=L.length,Mt;for(D=new Array(X),st=0;st(w=(c*w+R)%P)/P}},31136:function(gt,dt,g){"use strict";g.d(dt,{Z:function(){return w}});var c=g(91592),R=g(12068);function P(S){return S.index}function U(S,E){var L=S.get(E);if(!L)throw new Error("node not found: "+E);return L}function w(S){var E=P,L=X,D,T=(0,c.Z)(30),K,Z,tt,V,pt,st=1;S==null&&(S=[]);function X(Gt){return 1/Math.min(tt[Gt.source.index],tt[Gt.target.index])}function Mt(Gt){for(var Oe=0,de=S.length;Oe[E(En,Ln,Z),En])),Be;for(Gt=0,tt=new Array(Oe);Gt=tt)return;(ft.data!==E||ft.next)&&(Oe===0&&(Oe=(0,P.Z)(L),Be+=Oe*Oe),de===0&&(de=(0,P.Z)(L),Be+=de*de),Be1?(sn==null?st.delete(de):st.set(de,Oe(sn)),T):st.get(de)},find:function(de,sn,Be){var En=0,Ln=D.length,wn,Rn,or,pn,zn;for(Be==null?Be=1/0:Be*=Be,En=0;En1?(Mt.on(de,sn),T):Mt.on(de)}}}},34123:function(gt,dt,g){"use strict";g.d(dt,{Z:function(){return R}});var c=g(91592);function R(P){var U=(0,c.Z)(.1),w,S,E;typeof P!="function"&&(P=(0,c.Z)(P==null?0:+P));function L(T){for(var K=0,Z=w.length,tt;K=(Mt=(Z+pt)/2))?Z=Mt:pt=Mt,(sn=S>=(ft=(tt+st)/2))?tt=ft:st=ft,(Be=E>=(Ut=(V+X)/2))?V=Ut:X=Ut,D=T,!(T=T[En=Be<<2|sn<<1|de]))return D[En]=K,U;if(jt=+U._x.call(null,T.data),Gt=+U._y.call(null,T.data),Oe=+U._z.call(null,T.data),w===jt&&S===Gt&&E===Oe)return K.next=T,D?D[En]=K:U._root=K,U;do D=D?D[En]=new Array(8):U._root=new Array(8),(de=w>=(Mt=(Z+pt)/2))?Z=Mt:pt=Mt,(sn=S>=(ft=(tt+st)/2))?tt=ft:st=ft,(Be=E>=(Ut=(V+X)/2))?V=Ut:X=Ut;while((En=Be<<2|sn<<1|de)===(Ln=(Oe>=Ut)<<2|(Gt>=ft)<<1|jt>=Mt));return D[Ln]=T,D[En]=K,U}function P(U){Array.isArray(U)||(U=Array.from(U));const w=U.length,S=new Float64Array(w),E=new Float64Array(w),L=new Float64Array(w);let D=1/0,T=1/0,K=1/0,Z=-1/0,tt=-1/0,V=-1/0;for(let pt=0,st,X,Mt,ft;ptZ&&(Z=X),Mttt&&(tt=Mt),ftV&&(V=ft));if(D>Z||T>tt||K>V)return this;this.cover(D,T,K).cover(Z,tt,V);for(let pt=0;ptR||R>=L||S>P||P>=D||E>U||U>=T;)switch(V=(UX||(Z=Gt.y0)>Mt||(tt=Gt.z0)>ft||(V=Gt.x1)=Be)<<2|(U>=sn)<<1|P>=de)&&(Gt=Ut[Ut.length-1],Ut[Ut.length-1]=Ut[Ut.length-1-Oe],Ut[Ut.length-1-Oe]=Gt)}else{var En=P-+this._x.call(null,jt.data),Ln=U-+this._y.call(null,jt.data),wn=w-+this._z.call(null,jt.data),Rn=En*En+Ln*Ln+wn*wn;if(RnMath.sqrt(Wl(P-S,2)+Wl(U-E,2)+Wl(w-L,2));function R(P,U,w,S){const E=[],L=P-S,D=U-S,T=w-S,K=P+S,Z=U+S,tt=w+S;return this.visit((V,pt,st,X,Mt,ft,Ut)=>{if(!V.length)do{const jt=V.data;c(P,U,w,this._x(jt),this._y(jt),this._z(jt))<=S&&E.push(jt)}while(V=V.next);return pt>K||st>Z||X>tt||Mt=(Mt=(D+Z)/2))?D=Mt:Z=Mt,(Gt=st>=(ft=(T+tt)/2))?T=ft:tt=ft,(Oe=X>=(Ut=(K+V)/2))?K=Ut:V=Ut,U=w,!(w=w[de=Oe<<2|Gt<<1|jt]))return this;if(!w.length)break;(U[de+1&7]||U[de+2&7]||U[de+3&7]||U[de+4&7]||U[de+5&7]||U[de+6&7]||U[de+7&7])&&(S=U,sn=de)}for(;w.data!==P;)if(E=w,!(w=w.next))return this;return(L=w.next)&&delete w.next,E?(L?E.next=L:delete E.next,this):U?(L?U[de]=L:delete U[de],(w=U[0]||U[1]||U[2]||U[3]||U[4]||U[5]||U[6]||U[7])&&w===(U[7]||U[6]||U[5]||U[4]||U[3]||U[2]||U[1]||U[0])&&!w.length&&(S?S[sn]=w:this._root=w),this):(this._root=L,this)}function R(P){for(var U=0,w=P.length;U=(pt=(K+tt)/2))?K=pt:tt=pt,(Ut=S>=(st=(Z+V)/2))?Z=st:V=st,L=D,!(D=D[jt=Ut<<1|ft]))return L[jt]=T,U;if(X=+U._x.call(null,D.data),Mt=+U._y.call(null,D.data),w===X&&S===Mt)return T.next=D,L?L[jt]=T:U._root=T,U;do L=L?L[jt]=new Array(4):U._root=new Array(4),(ft=w>=(pt=(K+tt)/2))?K=pt:tt=pt,(Ut=S>=(st=(Z+V)/2))?Z=st:V=st;while((jt=Ut<<1|ft)===(Gt=(Mt>=st)<<1|X>=pt));return L[Gt]=D,L[jt]=T,U}function P(U){var w,S,E=U.length,L,D,T=new Array(E),K=new Array(E),Z=1/0,tt=1/0,V=-1/0,pt=-1/0;for(S=0;SV&&(V=L),Dpt&&(pt=D));if(Z>V||tt>pt)return this;for(this.cover(Z,tt).cover(V,pt),S=0;SR||R>=S||w>P||P>=E;)switch(K=(Ptt||(T=X.y0)>V||(K=X.x1)=Ut)<<1|P>=ft)&&(X=pt[pt.length-1],pt[pt.length-1]=pt[pt.length-1-Mt],pt[pt.length-1-Mt]=X)}else{var jt=P-+this._x.call(null,st.data),Gt=U-+this._y.call(null,st.data),Oe=jt*jt+Gt*Gt;if(Oe=(pt=(D+K)/2))?D=pt:K=pt,(Mt=V>=(st=(T+Z)/2))?T=st:Z=st,U=w,!(w=w[ft=Mt<<1|X]))return this;if(!w.length)break;(U[ft+1&3]||U[ft+2&3]||U[ft+3&3])&&(S=U,Ut=ft)}for(;w.data!==P;)if(E=w,!(w=w.next))return this;return(L=w.next)&&delete w.next,E?(L?E.next=L:delete E.next,this):U?(L?U[ft]=L:delete U[ft],(w=U[0]||U[1]||U[2]||U[3])&&w===(U[3]||U[2]||U[1]||U[0])&&!w.length&&(S?S[Ut]=w:this._root=w),this):(this._root=L,this)}function R(P){for(var U=0,w=P.length;U=0&&jt._call.call(void 0,Gt),jt=jt._next;--c}function X(){L=(E=T.now())+D,c=R=0;try{st()}finally{c=0,ft(),L=0}}function Mt(){var jt=T.now(),Gt=jt-E;Gt>U&&(D-=Gt,E=jt)}function ft(){for(var jt,Gt=w,Oe,de=1/0;Gt;)Gt._call?(de>Gt._time&&(de=Gt._time),jt=Gt,Gt=Gt._next):(Oe=Gt._next,Gt._next=null,Gt=jt?jt._next=Oe:w=Oe);S=jt,Ut(de)}function Ut(jt){if(!c){R&&(R=clearTimeout(R));var Gt=jt-L;Gt>24?(jt<1/0&&(R=setTimeout(X,jt-T.now()-D)),P&&(P=clearInterval(P))):(P||(E=T.now(),P=setInterval(Mt,U)),c=1,K(X))}}},80813:function(gt,dt,g){"use strict";g.d(dt,{CR:function(){return X},Jh:function(){return tt},Q_:function(){return Rn},XA:function(){return st},ZT:function(){return R},_T:function(){return U},ev:function(){return Ut},mG:function(){return Z},pi:function(){return P},pr:function(){return ft}});var c=function(ze,tn){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ln,pe){ln.__proto__=pe}||function(ln,pe){for(var Pe in pe)Object.prototype.hasOwnProperty.call(pe,Pe)&&(ln[Pe]=pe[Pe])},c(ze,tn)};function R(ze,tn){if(typeof tn!="function"&&tn!==null)throw new TypeError("Class extends value "+String(tn)+" is not a constructor or null");c(ze,tn);function ln(){this.constructor=ze}ze.prototype=tn===null?Object.create(tn):(ln.prototype=tn.prototype,new ln)}var P=function(){return P=Object.assign||function(tn){for(var ln,pe=1,Pe=arguments.length;pe=0;ve--)(Bt=ze[ve])&&(Ft=(Pe<3?Bt(Ft):Pe>3?Bt(tn,ln,Ft):Bt(tn,ln))||Ft);return Pe>3&&Ft&&Object.defineProperty(tn,ln,Ft),Ft}function S(ze,tn){return function(ln,pe){tn(ln,pe,ze)}}function E(ze,tn,ln,pe,Pe,Ft){function Bt(rt){if(rt!==void 0&&typeof rt!="function")throw new TypeError("Function expected");return rt}for(var ve=pe.kind,nn=ve==="getter"?"get":ve==="setter"?"set":"value",Ve=!tn&&ze?pe.static?ze:ze.prototype:null,ce=tn||(Ve?Object.getOwnPropertyDescriptor(Ve,pe.name):{}),We,Me=!1,kt=ln.length-1;kt>=0;kt--){var ae={};for(var Ie in pe)ae[Ie]=Ie==="access"?{}:pe[Ie];for(var Ie in pe.access)ae.access[Ie]=pe.access[Ie];ae.addInitializer=function(rt){if(Me)throw new TypeError("Cannot add initializers after decoration has completed");Ft.push(Bt(rt||null))};var F=(0,ln[kt])(ve==="accessor"?{get:ce.get,set:ce.set}:ce[nn],ae);if(ve==="accessor"){if(F===void 0)continue;if(F===null||typeof F!="object")throw new TypeError("Object expected");(We=Bt(F.get))&&(ce.get=We),(We=Bt(F.set))&&(ce.set=We),(We=Bt(F.init))&&Pe.unshift(We)}else(We=Bt(F))&&(ve==="field"?Pe.unshift(We):ce[nn]=We)}Ve&&Object.defineProperty(Ve,pe.name,ce),Me=!0}function L(ze,tn,ln){for(var pe=arguments.length>2,Pe=0;Pe0&&Ft[Ft.length-1])&&(Ve[0]===6||Ve[0]===2)){ln=0;continue}if(Ve[0]===3&&(!Ft||Ve[1]>Ft[0]&&Ve[1]=ze.length&&(ze=void 0),{value:ze&&ze[pe++],done:!ze}}};throw new TypeError(tn?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(ze,tn){var ln=typeof Symbol=="function"&&ze[Symbol.iterator];if(!ln)return ze;var pe=ln.call(ze),Pe,Ft=[],Bt;try{for(;(tn===void 0||tn-- >0)&&!(Pe=pe.next()).done;)Ft.push(Pe.value)}catch(ve){Bt={error:ve}}finally{try{Pe&&!Pe.done&&(ln=pe.return)&&ln.call(pe)}finally{if(Bt)throw Bt.error}}return Ft}function Mt(){for(var ze=[],tn=0;tn1||nn(kt,Ie)})},ae&&(Pe[kt]=ae(Pe[kt])))}function nn(kt,ae){try{Ve(pe[kt](ae))}catch(Ie){Me(Ft[0][3],Ie)}}function Ve(kt){kt.value instanceof jt?Promise.resolve(kt.value.v).then(ce,We):Me(Ft[0][2],kt)}function ce(kt){nn("next",kt)}function We(kt){nn("throw",kt)}function Me(kt,ae){kt(ae),Ft.shift(),Ft.length&&nn(Ft[0][0],Ft[0][1])}}function Oe(ze){var tn,ln;return tn={},pe("next"),pe("throw",function(Pe){throw Pe}),pe("return"),tn[Symbol.iterator]=function(){return this},tn;function pe(Pe,Ft){tn[Pe]=ze[Pe]?function(Bt){return(ln=!ln)?{value:jt(ze[Pe](Bt)),done:!1}:Ft?Ft(Bt):Bt}:Ft}}function de(ze){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var tn=ze[Symbol.asyncIterator],ln;return tn?tn.call(ze):(ze=typeof st=="function"?st(ze):ze[Symbol.iterator](),ln={},pe("next"),pe("throw"),pe("return"),ln[Symbol.asyncIterator]=function(){return this},ln);function pe(Ft){ln[Ft]=ze[Ft]&&function(Bt){return new Promise(function(ve,nn){Bt=ze[Ft](Bt),Pe(ve,nn,Bt.done,Bt.value)})}}function Pe(Ft,Bt,ve,nn){Promise.resolve(nn).then(function(Ve){Ft({value:Ve,done:ve})},Bt)}}function sn(ze,tn){return Object.defineProperty?Object.defineProperty(ze,"raw",{value:tn}):ze.raw=tn,ze}var Be=Object.create?function(ze,tn){Object.defineProperty(ze,"default",{enumerable:!0,value:tn})}:function(ze,tn){ze.default=tn},En=function(ze){return En=Object.getOwnPropertyNames||function(tn){var ln=[];for(var pe in tn)Object.prototype.hasOwnProperty.call(tn,pe)&&(ln[ln.length]=pe);return ln},En(ze)};function Ln(ze){if(ze&&ze.__esModule)return ze;var tn={};if(ze!=null)for(var ln=En(ze),pe=0;pe3&&(this.alpha=T[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var x=this.r.toString(16),b=this.g.toString(16),C=this.b.toString(16);return x.length==1&&(x="0"+x),b.length==1&&(b="0"+b),C.length==1&&(C="0"+C),"#"+x+b+C},this.getHelpXML=function(){for(var x=new Array,b=0;b "+I.toRGB()+" -> "+I.toHex());M.appendChild(w),M.appendChild(F),P.appendChild(M)}catch(j){}return P}}},25499:function(d,S,n){"use strict";var l=n(11800),f=n(16199),v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not a function")}},48274:function(d,S,n){"use strict";var l=n(83174),f=n(16199),v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not a constructor")}},30828:function(d,S,n){"use strict";var l=n(7086),f=String,v=TypeError;d.exports=function(g){if(l(g))return g;throw new v("Can't set "+f(g)+" as a prototype")}},64744:function(d,S,n){"use strict";var l=n(22171),f=n(40079),v=n(92402).f,g=l("unscopables"),y=Array.prototype;y[g]===void 0&&v(y,g,{configurable:!0,value:f(null)}),d.exports=function(T){y[g][T]=!0}},78938:function(d,S,n){"use strict";var l=n(38095).charAt;d.exports=function(f,v,g){return v+(g?l(f,v).length:1)}},70271:function(d,S,n){"use strict";var l=n(93527),f=TypeError;d.exports=function(v,g){if(l(g,v))return v;throw new f("Incorrect invocation")}},14752:function(d,S,n){"use strict";var l=n(46638),f=String,v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not an object")}},76879:function(d,S,n){"use strict";var l=n(18295),f=n(95374),v=n(5668),g=function(y){return function(T,x,b){var C=l(T),A=v(C);if(A===0)return!y&&-1;var R=f(b,A),P;if(y&&x!==x){for(;A>R;)if(P=C[R++],P!==P)return!0}else for(;A>R;R++)if((y||R in C)&&C[R]===x)return y||R||0;return!y&&-1}};d.exports={includes:g(!0),indexOf:g(!1)}},67055:function(d,S,n){"use strict";var l=n(73130);d.exports=function(f,v){var g=[][f];return!!g&&l(function(){g.call(null,v||function(){return 1},1)})}},45333:function(d,S,n){"use strict";var l=n(25499),f=n(57866),v=n(910),g=n(5668),y=TypeError,T="Reduce of empty array with no initial value",x=function(b){return function(C,A,R,P){var M=f(C),I=v(M),w=g(M);if(l(A),w===0&&R<2)throw new y(T);var F=b?w-1:0,Y=b?-1:1;if(R<2)for(;;){if(F in I){P=I[F],F+=Y;break}if(F+=Y,b?F<0:w<=F)throw new y(T)}for(;b?F>=0:w>F;F+=Y)F in I&&(P=A(P,I[F],F,M));return P}};d.exports={left:x(!1),right:x(!0)}},29986:function(d,S,n){"use strict";var l=n(37725);d.exports=l([].slice)},16961:function(d,S,n){"use strict";var l=n(22171),f=l("iterator"),v=!1;try{var g=0,y={next:function(){return{done:!!g++}},return:function(){v=!0}};y[f]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}d.exports=function(T,x){try{if(!x&&!v)return!1}catch(A){return!1}var b=!1;try{var C={};C[f]=function(){return{next:function(){return{done:b=!0}}}},T(C)}catch(A){}return b}},60380:function(d,S,n){"use strict";var l=n(37725),f=l({}.toString),v=l("".slice);d.exports=function(g){return v(f(g),8,-1)}},11298:function(d,S,n){"use strict";var l=n(28043),f=n(11800),v=n(60380),g=n(22171),y=g("toStringTag"),T=Object,x=v(function(){return arguments}())==="Arguments",b=function(C,A){try{return C[A]}catch(R){}};d.exports=l?v:function(C){var A,R,P;return C===void 0?"Undefined":C===null?"Null":typeof(R=b(A=T(C),y))=="string"?R:x?v(A):(P=v(A))==="Object"&&f(A.callee)?"Arguments":P}},9301:function(d,S,n){"use strict";var l=n(57430),f=n(58905),v=n(54398),g=n(92402);d.exports=function(y,T,x){for(var b=f(T),C=g.f,A=v.f,R=0;R0&&x[0]<4?1:+(x[0]+x[1])),!b&&f&&(x=f.match(/Edge\/(\d+)/),(!x||x[1]>=74)&&(x=f.match(/Chrome\/(\d+)/),x&&(b=+x[1]))),d.exports=b},84526:function(d,S,n){"use strict";var l=n(93755),f=n(15856),v=n(60380),g=function(y){return f.slice(0,y.length)===y};d.exports=function(){return g("Bun/")?"BUN":g("Cloudflare-Workers")?"CLOUDFLARE":g("Deno/")?"DENO":g("Node.js/")?"NODE":l.Bun&&typeof Bun.version=="string"?"BUN":l.Deno&&typeof Deno.version=="object"?"DENO":v(l.process)==="process"?"NODE":l.window&&l.document?"BROWSER":"REST"}()},82372:function(d,S,n){"use strict";var l=n(93755),f=n(54398).f,v=n(30600),g=n(11406),y=n(31463),T=n(9301),x=n(26657);d.exports=function(b,C){var A=b.target,R=b.global,P=b.stat,M,I,w,F,Y,j;if(R?I=l:P?I=l[A]||y(A,{}):I=l[A]&&l[A].prototype,I)for(w in C){if(Y=C[w],b.dontCallGetSet?(j=f(I,w),F=j&&j.value):F=I[w],M=x(R?w:A+(P?".":"#")+w,b.forced),!M&&F!==void 0){if(typeof Y==typeof F)continue;T(Y,F)}(b.sham||F&&F.sham)&&v(Y,"sham",!0),g(I,w,Y,b)}}},73130:function(d){"use strict";d.exports=function(S){try{return!!S()}catch(n){return!0}}},78381:function(d,S,n){"use strict";n(24343);var l=n(65318),f=n(11406),v=n(1513),g=n(73130),y=n(22171),T=n(30600),x=y("species"),b=RegExp.prototype;d.exports=function(C,A,R,P){var M=y(C),I=!g(function(){var j={};return j[M]=function(){return 7},""[C](j)!==7}),w=I&&!g(function(){var j=!1,B=/a/;if(C==="split"){var $={};$[x]=function(){return B},B={constructor:$,flags:""},B[M]=/./[M]}return B.exec=function(){return j=!0,null},B[M](""),!j});if(!I||!w||R){var F=/./[M],Y=A(M,""[C],function(j,B,$,X,Q){var _=B.exec;return _===v||_===b.exec?I&&!Q?{done:!0,value:l(F,B,$,X)}:{done:!0,value:l(j,$,B,X)}:{done:!1}});f(String.prototype,C,Y[0]),f(b,M,Y[1])}P&&T(b[M],"sham",!0)}},71016:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype,v=f.apply,g=f.call;d.exports=typeof Reflect=="object"&&Reflect.apply||(l?g.bind(v):function(){return g.apply(v,arguments)})},8206:function(d,S,n){"use strict";var l=n(64866),f=n(25499),v=n(34549),g=l(l.bind);d.exports=function(y,T){return f(y),T===void 0?y:v?g(y,T):function(){return y.apply(T,arguments)}}},34549:function(d,S,n){"use strict";var l=n(73130);d.exports=!l(function(){var f=function(){}.bind();return typeof f!="function"||f.hasOwnProperty("prototype")})},65318:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype.call;d.exports=l?f.bind(f):function(){return f.apply(f,arguments)}},80100:function(d,S,n){"use strict";var l=n(73679),f=n(57430),v=Function.prototype,g=l&&Object.getOwnPropertyDescriptor,y=f(v,"name"),T=y&&function(){}.name==="something",x=y&&(!l||l&&g(v,"name").configurable);d.exports={EXISTS:y,PROPER:T,CONFIGURABLE:x}},49410:function(d,S,n){"use strict";var l=n(37725),f=n(25499);d.exports=function(v,g,y){try{return l(f(Object.getOwnPropertyDescriptor(v,g)[y]))}catch(T){}}},64866:function(d,S,n){"use strict";var l=n(60380),f=n(37725);d.exports=function(v){if(l(v)==="Function")return f(v)}},37725:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype,v=f.call,g=l&&f.bind.bind(v,v);d.exports=l?g:function(y){return function(){return v.apply(y,arguments)}}},4609:function(d,S,n){"use strict";var l=n(93755),f=n(11800),v=function(g){return f(g)?g:void 0};d.exports=function(g,y){return arguments.length<2?v(l[g]):l[g]&&l[g][y]}},48573:function(d,S,n){"use strict";var l=n(11298),f=n(55884),v=n(92606),g=n(85233),y=n(22171),T=y("iterator");d.exports=function(x){if(!v(x))return f(x,T)||f(x,"@@iterator")||g[l(x)]}},11998:function(d,S,n){"use strict";var l=n(65318),f=n(25499),v=n(14752),g=n(16199),y=n(48573),T=TypeError;d.exports=function(x,b){var C=arguments.length<2?y(x):b;if(f(C))return v(l(C,x));throw new T(g(x)+" is not iterable")}},55884:function(d,S,n){"use strict";var l=n(25499),f=n(92606);d.exports=function(v,g){var y=v[g];return f(y)?void 0:l(y)}},92506:function(d,S,n){"use strict";var l=n(37725),f=n(57866),v=Math.floor,g=l("".charAt),y=l("".replace),T=l("".slice),x=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,b=/\$([$&'`]|\d{1,2})/g;d.exports=function(C,A,R,P,M,I){var w=R+C.length,F=P.length,Y=b;return M!==void 0&&(M=f(M),Y=x),y(I,Y,function(j,B){var $;switch(g(B,0)){case"$":return"$";case"&":return C;case"`":return T(A,0,R);case"'":return T(A,w);case"<":$=M[T(B,1,-1)];break;default:var X=+B;if(X===0)return j;if(X>F){var Q=v(X/10);return Q===0?j:Q<=F?P[Q-1]===void 0?g(B,1):P[Q-1]+g(B,1):j}$=P[X-1]}return $===void 0?"":$})}},93755:function(d,S,n){"use strict";var l=function(f){return f&&f.Math===Math&&f};d.exports=l(typeof globalThis=="object"&&globalThis)||l(typeof window=="object"&&window)||l(typeof self=="object"&&self)||l(typeof n.g=="object"&&n.g)||l(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},57430:function(d,S,n){"use strict";var l=n(37725),f=n(57866),v=l({}.hasOwnProperty);d.exports=Object.hasOwn||function(y,T){return v(f(y),T)}},33614:function(d){"use strict";d.exports={}},50358:function(d){"use strict";d.exports=function(S,n){try{arguments.length===1?console.error(S):console.error(S,n)}catch(l){}}},65757:function(d,S,n){"use strict";var l=n(4609);d.exports=l("document","documentElement")},84436:function(d,S,n){"use strict";var l=n(73679),f=n(73130),v=n(27139);d.exports=!l&&!f(function(){return Object.defineProperty(v("div"),"a",{get:function(){return 7}}).a!==7})},910:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(60380),g=Object,y=l("".split);d.exports=f(function(){return!g("z").propertyIsEnumerable(0)})?function(T){return v(T)==="String"?y(T,""):g(T)}:g},79321:function(d,S,n){"use strict";var l=n(37725),f=n(11800),v=n(54163),g=l(Function.toString);f(v.inspectSource)||(v.inspectSource=function(y){return g(y)}),d.exports=v.inspectSource},23836:function(d,S,n){"use strict";var l=n(86639),f=n(93755),v=n(46638),g=n(30600),y=n(57430),T=n(54163),x=n(81196),b=n(33614),C="Object already initialized",A=f.TypeError,R=f.WeakMap,P,M,I,w=function(B){return I(B)?M(B):P(B,{})},F=function(B){return function($){var X;if(!v($)||(X=M($)).type!==B)throw new A("Incompatible receiver, "+B+" required");return X}};if(l||T.state){var Y=T.state||(T.state=new R);Y.get=Y.get,Y.has=Y.has,Y.set=Y.set,P=function(B,$){if(Y.has(B))throw new A(C);return $.facade=B,Y.set(B,$),$},M=function(B){return Y.get(B)||{}},I=function(B){return Y.has(B)}}else{var j=x("state");b[j]=!0,P=function(B,$){if(y(B,j))throw new A(C);return $.facade=B,g(B,j,$),$},M=function(B){return y(B,j)?B[j]:{}},I=function(B){return y(B,j)}}d.exports={set:P,get:M,has:I,enforce:w,getterFor:F}},21871:function(d,S,n){"use strict";var l=n(22171),f=n(85233),v=l("iterator"),g=Array.prototype;d.exports=function(y){return y!==void 0&&(f.Array===y||g[v]===y)}},60221:function(d,S,n){"use strict";var l=n(60380);d.exports=Array.isArray||function(v){return l(v)==="Array"}},11800:function(d){"use strict";var S=typeof document=="object"&&document.all;d.exports=typeof S=="undefined"&&S!==void 0?function(n){return typeof n=="function"||n===S}:function(n){return typeof n=="function"}},83174:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(11800),g=n(11298),y=n(4609),T=n(79321),x=function(){},b=y("Reflect","construct"),C=/^\s*(?:class|function)\b/,A=l(C.exec),R=!C.test(x),P=function(w){if(!v(w))return!1;try{return b(x,[],w),!0}catch(F){return!1}},M=function(w){if(!v(w))return!1;switch(g(w)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return R||!!A(C,T(w))}catch(F){return!0}};M.sham=!0,d.exports=!b||f(function(){var I;return P(P.call)||!P(Object)||!P(function(){I=!0})||I})?M:P},26657:function(d,S,n){"use strict";var l=n(73130),f=n(11800),v=/#|\.prototype\./,g=function(C,A){var R=T[y(C)];return R===b?!0:R===x?!1:f(A)?l(A):!!A},y=g.normalize=function(C){return String(C).replace(v,".").toLowerCase()},T=g.data={},x=g.NATIVE="N",b=g.POLYFILL="P";d.exports=g},92606:function(d){"use strict";d.exports=function(S){return S==null}},46638:function(d,S,n){"use strict";var l=n(11800);d.exports=function(f){return typeof f=="object"?f!==null:l(f)}},7086:function(d,S,n){"use strict";var l=n(46638);d.exports=function(f){return l(f)||f===null}},77667:function(d){"use strict";d.exports=!1},62494:function(d,S,n){"use strict";var l=n(46638),f=n(60380),v=n(22171),g=v("match");d.exports=function(y){var T;return l(y)&&((T=y[g])!==void 0?!!T:f(y)==="RegExp")}},54486:function(d,S,n){"use strict";var l=n(4609),f=n(11800),v=n(93527),g=n(90590),y=Object;d.exports=g?function(T){return typeof T=="symbol"}:function(T){var x=l("Symbol");return f(x)&&v(x.prototype,y(T))}},92948:function(d,S,n){"use strict";var l=n(8206),f=n(65318),v=n(14752),g=n(16199),y=n(21871),T=n(5668),x=n(93527),b=n(11998),C=n(48573),A=n(77647),R=TypeError,P=function(I,w){this.stopped=I,this.result=w},M=P.prototype;d.exports=function(I,w,F){var Y=F&&F.that,j=!!(F&&F.AS_ENTRIES),B=!!(F&&F.IS_RECORD),$=!!(F&&F.IS_ITERATOR),X=!!(F&&F.INTERRUPTED),Q=l(w,Y),_,k,lt,tt,et,st,ot,yt=function(J){return _&&A(_,"normal"),new P(!0,J)},Z=function(J){return j?(v(J),X?Q(J[0],J[1],yt):Q(J[0],J[1])):X?Q(J,yt):Q(J)};if(B)_=I.iterator;else if($)_=I;else{if(k=C(I),!k)throw new R(g(I)+" is not iterable");if(y(k)){for(lt=0,tt=T(I);tt>lt;lt++)if(et=Z(I[lt]),et&&x(M,et))return et;return new P(!1)}_=b(I,k)}for(st=B?I.next:_.next;!(ot=f(st,_)).done;){try{et=Z(ot.value)}catch(J){A(_,"throw",J)}if(typeof et=="object"&&et&&x(M,et))return et}return new P(!1)}},77647:function(d,S,n){"use strict";var l=n(65318),f=n(14752),v=n(55884);d.exports=function(g,y,T){var x,b;f(g);try{if(x=v(g,"return"),!x){if(y==="throw")throw T;return T}x=l(x,g)}catch(C){b=!0,x=C}if(y==="throw")throw T;if(b)throw x;return f(x),T}},27975:function(d,S,n){"use strict";var l=n(10638).IteratorPrototype,f=n(40079),v=n(2262),g=n(21812),y=n(85233),T=function(){return this};d.exports=function(x,b,C,A){var R=b+" Iterator";return x.prototype=f(l,{next:v(+!A,C)}),g(x,R,!1,!0),y[R]=T,x}},58302:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(77667),g=n(80100),y=n(11800),T=n(27975),x=n(96228),b=n(30424),C=n(21812),A=n(30600),R=n(11406),P=n(22171),M=n(85233),I=n(10638),w=g.PROPER,F=g.CONFIGURABLE,Y=I.IteratorPrototype,j=I.BUGGY_SAFARI_ITERATORS,B=P("iterator"),$="keys",X="values",Q="entries",_=function(){return this};d.exports=function(k,lt,tt,et,st,ot,yt){T(tt,lt,et);var Z=function(Vt){if(Vt===st&&ht)return ht;if(!j&&Vt&&Vt in mt)return mt[Vt];switch(Vt){case $:return function(){return new tt(this,Vt)};case X:return function(){return new tt(this,Vt)};case Q:return function(){return new tt(this,Vt)}}return function(){return new tt(this)}},J=lt+" Iterator",wt=!1,mt=k.prototype,ut=mt[B]||mt["@@iterator"]||st&&mt[st],ht=!j&&ut||Z(st),N=lt==="Array"&&mt.entries||ut,ft,Ut,At;if(N&&(ft=x(N.call(new k)),ft!==Object.prototype&&ft.next&&(!v&&x(ft)!==Y&&(b?b(ft,Y):y(ft[B])||R(ft,B,_)),C(ft,J,!0,!0),v&&(M[J]=_))),w&&st===X&&ut&&ut.name!==X&&(!v&&F?A(mt,"name",X):(wt=!0,ht=function(){return f(ut,this)})),st)if(Ut={values:Z(X),keys:ot?ht:Z($),entries:Z(Q)},yt)for(At in Ut)(j||wt||!(At in mt))&&R(mt,At,Ut[At]);else l({target:lt,proto:!0,forced:j||wt},Ut);return(!v||yt)&&mt[B]!==ht&&R(mt,B,ht,{name:st}),M[lt]=ht,Ut}},10638:function(d,S,n){"use strict";var l=n(73130),f=n(11800),v=n(46638),g=n(40079),y=n(96228),T=n(11406),x=n(22171),b=n(77667),C=x("iterator"),A=!1,R,P,M;[].keys&&(M=[].keys(),"next"in M?(P=y(y(M)),P!==Object.prototype&&(R=P)):A=!0);var I=!v(R)||l(function(){var w={};return R[C].call(w)!==w});I?R={}:b&&(R=g(R)),f(R[C])||T(R,C,function(){return this}),d.exports={IteratorPrototype:R,BUGGY_SAFARI_ITERATORS:A}},85233:function(d){"use strict";d.exports={}},5668:function(d,S,n){"use strict";var l=n(56005);d.exports=function(f){return l(f.length)}},56684:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(11800),g=n(57430),y=n(73679),T=n(80100).CONFIGURABLE,x=n(79321),b=n(23836),C=b.enforce,A=b.get,R=String,P=Object.defineProperty,M=l("".slice),I=l("".replace),w=l([].join),F=y&&!f(function(){return P(function(){},"length",{value:8}).length!==8}),Y=String(String).split("String"),j=d.exports=function(B,$,X){M(R($),0,7)==="Symbol("&&($="["+I(R($),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),X&&X.getter&&($="get "+$),X&&X.setter&&($="set "+$),(!g(B,"name")||T&&B.name!==$)&&(y?P(B,"name",{value:$,configurable:!0}):B.name=$),F&&X&&g(X,"arity")&&B.length!==X.arity&&P(B,"length",{value:X.arity});try{X&&g(X,"constructor")&&X.constructor?y&&P(B,"prototype",{writable:!1}):B.prototype&&(B.prototype=void 0)}catch(_){}var Q=C(B);return g(Q,"source")||(Q.source=w(Y,typeof $=="string"?$:"")),B};Function.prototype.toString=j(function(){return v(this)&&A(this).source||x(this)},"toString")},75638:function(d){"use strict";var S=Math.ceil,n=Math.floor;d.exports=Math.trunc||function(f){var v=+f;return(v>0?n:S)(v)}},94734:function(d,S,n){"use strict";var l=n(93755),f=n(28096),v=n(8206),g=n(84812).set,y=n(76408),T=n(54394),x=n(21825),b=n(42637),C=n(12264),A=l.MutationObserver||l.WebKitMutationObserver,R=l.document,P=l.process,M=l.Promise,I=f("queueMicrotask"),w,F,Y,j,B;if(!I){var $=new y,X=function(){var Q,_;for(C&&(Q=P.domain)&&Q.exit();_=$.get();)try{_()}catch(k){throw $.head&&w(),k}Q&&Q.enter()};!T&&!C&&!b&&A&&R?(F=!0,Y=R.createTextNode(""),new A(X).observe(Y,{characterData:!0}),w=function(){Y.data=F=!F}):!x&&M&&M.resolve?(j=M.resolve(void 0),j.constructor=M,B=v(j.then,j),w=function(){B(X)}):C?w=function(){P.nextTick(X)}:(g=v(g,l),w=function(){g(X)}),I=function(Q){$.head||w(),$.add(Q)}}d.exports=I},52878:function(d,S,n){"use strict";var l=n(25499),f=TypeError,v=function(g){var y,T;this.promise=new g(function(x,b){if(y!==void 0||T!==void 0)throw new f("Bad Promise constructor");y=x,T=b}),this.resolve=l(y),this.reject=l(T)};d.exports.f=function(g){return new v(g)}},54914:function(d,S,n){"use strict";var l=n(62494),f=TypeError;d.exports=function(v){if(l(v))throw new f("The method doesn't accept regular expressions");return v}},40079:function(d,S,n){"use strict";var l=n(14752),f=n(54315),v=n(46367),g=n(33614),y=n(65757),T=n(27139),x=n(81196),b=">",C="<",A="prototype",R="script",P=x("IE_PROTO"),M=function(){},I=function(B){return C+R+b+B+C+"/"+R+b},w=function(B){B.write(I("")),B.close();var $=B.parentWindow.Object;return B=null,$},F=function(){var B=T("iframe"),$="java"+R+":",X;return B.style.display="none",y.appendChild(B),B.src=String($),X=B.contentWindow.document,X.open(),X.write(I("document.F=Object")),X.close(),X.F},Y,j=function(){try{Y=new ActiveXObject("htmlfile")}catch($){}j=typeof document!="undefined"?document.domain&&Y?w(Y):F():w(Y);for(var B=v.length;B--;)delete j[A][v[B]];return j()};g[P]=!0,d.exports=Object.create||function($,X){var Q;return $!==null?(M[A]=l($),Q=new M,M[A]=null,Q[P]=$):Q=j(),X===void 0?Q:f.f(Q,X)}},54315:function(d,S,n){"use strict";var l=n(73679),f=n(66577),v=n(92402),g=n(14752),y=n(18295),T=n(1417);S.f=l&&!f?Object.defineProperties:function(b,C){g(b);for(var A=y(C),R=T(C),P=R.length,M=0,I;P>M;)v.f(b,I=R[M++],A[I]);return b}},92402:function(d,S,n){"use strict";var l=n(73679),f=n(84436),v=n(66577),g=n(14752),y=n(76155),T=TypeError,x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,C="enumerable",A="configurable",R="writable";S.f=l?v?function(M,I,w){if(g(M),I=y(I),g(w),typeof M=="function"&&I==="prototype"&&"value"in w&&R in w&&!w[R]){var F=b(M,I);F&&F[R]&&(M[I]=w.value,w={configurable:A in w?w[A]:F[A],enumerable:C in w?w[C]:F[C],writable:!1})}return x(M,I,w)}:x:function(M,I,w){if(g(M),I=y(I),g(w),f)try{return x(M,I,w)}catch(F){}if("get"in w||"set"in w)throw new T("Accessors not supported");return"value"in w&&(M[I]=w.value),M}},54398:function(d,S,n){"use strict";var l=n(73679),f=n(65318),v=n(31559),g=n(2262),y=n(18295),T=n(76155),x=n(57430),b=n(84436),C=Object.getOwnPropertyDescriptor;S.f=l?C:function(R,P){if(R=y(R),P=T(P),b)try{return C(R,P)}catch(M){}if(x(R,P))return g(!f(v.f,R,P),R[P])}},94254:function(d,S,n){"use strict";var l=n(30559),f=n(46367),v=f.concat("length","prototype");S.f=Object.getOwnPropertyNames||function(y){return l(y,v)}},3266:function(d,S){"use strict";S.f=Object.getOwnPropertySymbols},96228:function(d,S,n){"use strict";var l=n(57430),f=n(11800),v=n(57866),g=n(81196),y=n(67715),T=g("IE_PROTO"),x=Object,b=x.prototype;d.exports=y?x.getPrototypeOf:function(C){var A=v(C);if(l(A,T))return A[T];var R=A.constructor;return f(R)&&A instanceof R?R.prototype:A instanceof x?b:null}},93527:function(d,S,n){"use strict";var l=n(37725);d.exports=l({}.isPrototypeOf)},30559:function(d,S,n){"use strict";var l=n(37725),f=n(57430),v=n(18295),g=n(76879).indexOf,y=n(33614),T=l([].push);d.exports=function(x,b){var C=v(x),A=0,R=[],P;for(P in C)!f(y,P)&&f(C,P)&&T(R,P);for(;b.length>A;)f(C,P=b[A++])&&(~g(R,P)||T(R,P));return R}},1417:function(d,S,n){"use strict";var l=n(30559),f=n(46367);d.exports=Object.keys||function(g){return l(g,f)}},31559:function(d,S){"use strict";var n={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,f=l&&!n.call({1:2},1);S.f=f?function(g){var y=l(this,g);return!!y&&y.enumerable}:n},30424:function(d,S,n){"use strict";var l=n(49410),f=n(46638),v=n(72337),g=n(30828);d.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},x;try{x=l(Object.prototype,"__proto__","set"),x(T,[]),y=T instanceof Array}catch(b){}return function(C,A){return v(C),g(A),f(C)&&(y?x(C,A):C.__proto__=A),C}}():void 0)},90487:function(d,S,n){"use strict";var l=n(65318),f=n(11800),v=n(46638),g=TypeError;d.exports=function(y,T){var x,b;if(T==="string"&&f(x=y.toString)&&!v(b=l(x,y))||f(x=y.valueOf)&&!v(b=l(x,y))||T!=="string"&&f(x=y.toString)&&!v(b=l(x,y)))return b;throw new g("Can't convert object to primitive value")}},58905:function(d,S,n){"use strict";var l=n(4609),f=n(37725),v=n(94254),g=n(3266),y=n(14752),T=f([].concat);d.exports=l("Reflect","ownKeys")||function(b){var C=v.f(y(b)),A=g.f;return A?T(C,A(b)):C}},74022:function(d,S,n){"use strict";var l=n(93755);d.exports=l},46193:function(d){"use strict";d.exports=function(S){try{return{error:!1,value:S()}}catch(n){return{error:!0,value:n}}}},98060:function(d,S,n){"use strict";var l=n(93755),f=n(74199),v=n(11800),g=n(26657),y=n(79321),T=n(22171),x=n(84526),b=n(77667),C=n(59410),A=f&&f.prototype,R=T("species"),P=!1,M=v(l.PromiseRejectionEvent),I=g("Promise",function(){var w=y(f),F=w!==String(f);if(!F&&C===66||b&&!(A.catch&&A.finally))return!0;if(!C||C<51||!/native code/.test(w)){var Y=new f(function($){$(1)}),j=function($){$(function(){},function(){})},B=Y.constructor={};if(B[R]=j,P=Y.then(function(){})instanceof j,!P)return!0}return!F&&(x==="BROWSER"||x==="DENO")&&!M});d.exports={CONSTRUCTOR:I,REJECTION_EVENT:M,SUBCLASSING:P}},74199:function(d,S,n){"use strict";var l=n(93755);d.exports=l.Promise},46374:function(d,S,n){"use strict";var l=n(14752),f=n(46638),v=n(52878);d.exports=function(g,y){if(l(g),f(y)&&y.constructor===g)return y;var T=v.f(g),x=T.resolve;return x(y),T.promise}},23056:function(d,S,n){"use strict";var l=n(74199),f=n(16961),v=n(98060).CONSTRUCTOR;d.exports=v||!f(function(g){l.all(g).then(void 0,function(){})})},76408:function(d){"use strict";var S=function(){this.head=null,this.tail=null};S.prototype={add:function(n){var l={item:n,next:null},f=this.tail;f?f.next=l:this.head=l,this.tail=l},get:function(){var n=this.head;if(n){var l=this.head=n.next;return l===null&&(this.tail=null),n.item}}},d.exports=S},35467:function(d,S,n){"use strict";var l=n(65318),f=n(14752),v=n(11800),g=n(60380),y=n(1513),T=TypeError;d.exports=function(x,b){var C=x.exec;if(v(C)){var A=l(C,x,b);return A!==null&&f(A),A}if(g(x)==="RegExp")return l(y,x,b);throw new T("RegExp#exec called on incompatible receiver")}},1513:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(11315),g=n(65317),y=n(88797),T=n(2896),x=n(40079),b=n(23836).get,C=n(62008),A=n(3072),R=T("native-string-replace",String.prototype.replace),P=RegExp.prototype.exec,M=P,I=f("".charAt),w=f("".indexOf),F=f("".replace),Y=f("".slice),j=function(){var Q=/a/,_=/b*/g;return l(P,Q,"a"),l(P,_,"a"),Q.lastIndex!==0||_.lastIndex!==0}(),B=y.BROKEN_CARET,$=/()??/.exec("")[1]!==void 0,X=j||$||B||C||A;X&&(M=function(_){var k=this,lt=b(k),tt=v(_),et=lt.raw,st,ot,yt,Z,J,wt,mt;if(et)return et.lastIndex=k.lastIndex,st=l(M,et,tt),k.lastIndex=et.lastIndex,st;var ut=lt.groups,ht=B&&k.sticky,N=l(g,k),ft=k.source,Ut=0,At=tt;if(ht&&(N=F(N,"y",""),w(N,"g")===-1&&(N+="g"),At=Y(tt,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&I(tt,k.lastIndex-1)!==` +(self.webpackChunk=self.webpackChunk||[]).push([[63754],{94907:function(d,S,n){var l=n(97671);(function(){var f,v,g,y,T,x;typeof performance!="undefined"&&performance!==null&&performance.now?d.exports=function(){return performance.now()}:typeof l!="undefined"&&l!==null&&l.hrtime?(d.exports=function(){return(f()-T)/1e6},v=l.hrtime,f=function(){var b;return b=v(),b[0]*1e9+b[1]},y=f(),x=l.uptime()*1e9,T=y-x):Date.now?(d.exports=function(){return Date.now()-g},g=Date.now()):(d.exports=function(){return new Date().getTime()-g},g=new Date().getTime())}).call(this)},32772:function(d,S,n){for(var l=n(94907),f=typeof window=="undefined"?n.g:window,v=["moz","webkit"],g="AnimationFrame",y=f["request"+g],T=f["cancel"+g]||f["cancelRequest"+g],x=0;!y&&x3&&(this.alpha=T[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var x=this.r.toString(16),b=this.g.toString(16),C=this.b.toString(16);return x.length==1&&(x="0"+x),b.length==1&&(b="0"+b),C.length==1&&(C="0"+C),"#"+x+b+C},this.getHelpXML=function(){for(var x=new Array,b=0;b "+I.toRGB()+" -> "+I.toHex());M.appendChild(w),M.appendChild(F),P.appendChild(M)}catch(j){}return P}}},25499:function(d,S,n){"use strict";var l=n(11800),f=n(16199),v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not a function")}},48274:function(d,S,n){"use strict";var l=n(83174),f=n(16199),v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not a constructor")}},30828:function(d,S,n){"use strict";var l=n(7086),f=String,v=TypeError;d.exports=function(g){if(l(g))return g;throw new v("Can't set "+f(g)+" as a prototype")}},64744:function(d,S,n){"use strict";var l=n(22171),f=n(40079),v=n(92402).f,g=l("unscopables"),y=Array.prototype;y[g]===void 0&&v(y,g,{configurable:!0,value:f(null)}),d.exports=function(T){y[g][T]=!0}},78938:function(d,S,n){"use strict";var l=n(38095).charAt;d.exports=function(f,v,g){return v+(g?l(f,v).length:1)}},70271:function(d,S,n){"use strict";var l=n(93527),f=TypeError;d.exports=function(v,g){if(l(g,v))return v;throw new f("Incorrect invocation")}},14752:function(d,S,n){"use strict";var l=n(46638),f=String,v=TypeError;d.exports=function(g){if(l(g))return g;throw new v(f(g)+" is not an object")}},76879:function(d,S,n){"use strict";var l=n(18295),f=n(95374),v=n(5668),g=function(y){return function(T,x,b){var C=l(T),A=v(C);if(A===0)return!y&&-1;var R=f(b,A),P;if(y&&x!==x){for(;A>R;)if(P=C[R++],P!==P)return!0}else for(;A>R;R++)if((y||R in C)&&C[R]===x)return y||R||0;return!y&&-1}};d.exports={includes:g(!0),indexOf:g(!1)}},67055:function(d,S,n){"use strict";var l=n(73130);d.exports=function(f,v){var g=[][f];return!!g&&l(function(){g.call(null,v||function(){return 1},1)})}},45333:function(d,S,n){"use strict";var l=n(25499),f=n(57866),v=n(910),g=n(5668),y=TypeError,T="Reduce of empty array with no initial value",x=function(b){return function(C,A,R,P){var M=f(C),I=v(M),w=g(M);if(l(A),w===0&&R<2)throw new y(T);var F=b?w-1:0,Y=b?-1:1;if(R<2)for(;;){if(F in I){P=I[F],F+=Y;break}if(F+=Y,b?F<0:w<=F)throw new y(T)}for(;b?F>=0:w>F;F+=Y)F in I&&(P=A(P,I[F],F,M));return P}};d.exports={left:x(!1),right:x(!0)}},29986:function(d,S,n){"use strict";var l=n(37725);d.exports=l([].slice)},16961:function(d,S,n){"use strict";var l=n(22171),f=l("iterator"),v=!1;try{var g=0,y={next:function(){return{done:!!g++}},return:function(){v=!0}};y[f]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}d.exports=function(T,x){try{if(!x&&!v)return!1}catch(A){return!1}var b=!1;try{var C={};C[f]=function(){return{next:function(){return{done:b=!0}}}},T(C)}catch(A){}return b}},60380:function(d,S,n){"use strict";var l=n(37725),f=l({}.toString),v=l("".slice);d.exports=function(g){return v(f(g),8,-1)}},11298:function(d,S,n){"use strict";var l=n(28043),f=n(11800),v=n(60380),g=n(22171),y=g("toStringTag"),T=Object,x=v(function(){return arguments}())==="Arguments",b=function(C,A){try{return C[A]}catch(R){}};d.exports=l?v:function(C){var A,R,P;return C===void 0?"Undefined":C===null?"Null":typeof(R=b(A=T(C),y))=="string"?R:x?v(A):(P=v(A))==="Object"&&f(A.callee)?"Arguments":P}},9301:function(d,S,n){"use strict";var l=n(57430),f=n(58905),v=n(54398),g=n(92402);d.exports=function(y,T,x){for(var b=f(T),C=g.f,A=v.f,R=0;R0&&x[0]<4?1:+(x[0]+x[1])),!b&&f&&(x=f.match(/Edge\/(\d+)/),(!x||x[1]>=74)&&(x=f.match(/Chrome\/(\d+)/),x&&(b=+x[1]))),d.exports=b},84526:function(d,S,n){"use strict";var l=n(93755),f=n(15856),v=n(60380),g=function(y){return f.slice(0,y.length)===y};d.exports=function(){return g("Bun/")?"BUN":g("Cloudflare-Workers")?"CLOUDFLARE":g("Deno/")?"DENO":g("Node.js/")?"NODE":l.Bun&&typeof Bun.version=="string"?"BUN":l.Deno&&typeof Deno.version=="object"?"DENO":v(l.process)==="process"?"NODE":l.window&&l.document?"BROWSER":"REST"}()},82372:function(d,S,n){"use strict";var l=n(93755),f=n(54398).f,v=n(30600),g=n(11406),y=n(31463),T=n(9301),x=n(26657);d.exports=function(b,C){var A=b.target,R=b.global,P=b.stat,M,I,w,F,Y,j;if(R?I=l:P?I=l[A]||y(A,{}):I=l[A]&&l[A].prototype,I)for(w in C){if(Y=C[w],b.dontCallGetSet?(j=f(I,w),F=j&&j.value):F=I[w],M=x(R?w:A+(P?".":"#")+w,b.forced),!M&&F!==void 0){if(typeof Y==typeof F)continue;T(Y,F)}(b.sham||F&&F.sham)&&v(Y,"sham",!0),g(I,w,Y,b)}}},73130:function(d){"use strict";d.exports=function(S){try{return!!S()}catch(n){return!0}}},78381:function(d,S,n){"use strict";n(24343);var l=n(65318),f=n(11406),v=n(1513),g=n(73130),y=n(22171),T=n(30600),x=y("species"),b=RegExp.prototype;d.exports=function(C,A,R,P){var M=y(C),I=!g(function(){var j={};return j[M]=function(){return 7},""[C](j)!==7}),w=I&&!g(function(){var j=!1,B=/a/;if(C==="split"){var $={};$[x]=function(){return B},B={constructor:$,flags:""},B[M]=/./[M]}return B.exec=function(){return j=!0,null},B[M](""),!j});if(!I||!w||R){var F=/./[M],Y=A(M,""[C],function(j,B,$,X,Q){var _=B.exec;return _===v||_===b.exec?I&&!Q?{done:!0,value:l(F,B,$,X)}:{done:!0,value:l(j,$,B,X)}:{done:!1}});f(String.prototype,C,Y[0]),f(b,M,Y[1])}P&&T(b[M],"sham",!0)}},71016:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype,v=f.apply,g=f.call;d.exports=typeof Reflect=="object"&&Reflect.apply||(l?g.bind(v):function(){return g.apply(v,arguments)})},8206:function(d,S,n){"use strict";var l=n(64866),f=n(25499),v=n(34549),g=l(l.bind);d.exports=function(y,T){return f(y),T===void 0?y:v?g(y,T):function(){return y.apply(T,arguments)}}},34549:function(d,S,n){"use strict";var l=n(73130);d.exports=!l(function(){var f=function(){}.bind();return typeof f!="function"||f.hasOwnProperty("prototype")})},65318:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype.call;d.exports=l?f.bind(f):function(){return f.apply(f,arguments)}},80100:function(d,S,n){"use strict";var l=n(73679),f=n(57430),v=Function.prototype,g=l&&Object.getOwnPropertyDescriptor,y=f(v,"name"),T=y&&function(){}.name==="something",x=y&&(!l||l&&g(v,"name").configurable);d.exports={EXISTS:y,PROPER:T,CONFIGURABLE:x}},49410:function(d,S,n){"use strict";var l=n(37725),f=n(25499);d.exports=function(v,g,y){try{return l(f(Object.getOwnPropertyDescriptor(v,g)[y]))}catch(T){}}},64866:function(d,S,n){"use strict";var l=n(60380),f=n(37725);d.exports=function(v){if(l(v)==="Function")return f(v)}},37725:function(d,S,n){"use strict";var l=n(34549),f=Function.prototype,v=f.call,g=l&&f.bind.bind(v,v);d.exports=l?g:function(y){return function(){return v.apply(y,arguments)}}},4609:function(d,S,n){"use strict";var l=n(93755),f=n(11800),v=function(g){return f(g)?g:void 0};d.exports=function(g,y){return arguments.length<2?v(l[g]):l[g]&&l[g][y]}},48573:function(d,S,n){"use strict";var l=n(11298),f=n(55884),v=n(92606),g=n(85233),y=n(22171),T=y("iterator");d.exports=function(x){if(!v(x))return f(x,T)||f(x,"@@iterator")||g[l(x)]}},11998:function(d,S,n){"use strict";var l=n(65318),f=n(25499),v=n(14752),g=n(16199),y=n(48573),T=TypeError;d.exports=function(x,b){var C=arguments.length<2?y(x):b;if(f(C))return v(l(C,x));throw new T(g(x)+" is not iterable")}},55884:function(d,S,n){"use strict";var l=n(25499),f=n(92606);d.exports=function(v,g){var y=v[g];return f(y)?void 0:l(y)}},92506:function(d,S,n){"use strict";var l=n(37725),f=n(57866),v=Math.floor,g=l("".charAt),y=l("".replace),T=l("".slice),x=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,b=/\$([$&'`]|\d{1,2})/g;d.exports=function(C,A,R,P,M,I){var w=R+C.length,F=P.length,Y=b;return M!==void 0&&(M=f(M),Y=x),y(I,Y,function(j,B){var $;switch(g(B,0)){case"$":return"$";case"&":return C;case"`":return T(A,0,R);case"'":return T(A,w);case"<":$=M[T(B,1,-1)];break;default:var X=+B;if(X===0)return j;if(X>F){var Q=v(X/10);return Q===0?j:Q<=F?P[Q-1]===void 0?g(B,1):P[Q-1]+g(B,1):j}$=P[X-1]}return $===void 0?"":$})}},93755:function(d,S,n){"use strict";var l=function(f){return f&&f.Math===Math&&f};d.exports=l(typeof globalThis=="object"&&globalThis)||l(typeof window=="object"&&window)||l(typeof self=="object"&&self)||l(typeof n.g=="object"&&n.g)||l(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},57430:function(d,S,n){"use strict";var l=n(37725),f=n(57866),v=l({}.hasOwnProperty);d.exports=Object.hasOwn||function(y,T){return v(f(y),T)}},33614:function(d){"use strict";d.exports={}},50358:function(d){"use strict";d.exports=function(S,n){try{arguments.length===1?console.error(S):console.error(S,n)}catch(l){}}},65757:function(d,S,n){"use strict";var l=n(4609);d.exports=l("document","documentElement")},84436:function(d,S,n){"use strict";var l=n(73679),f=n(73130),v=n(27139);d.exports=!l&&!f(function(){return Object.defineProperty(v("div"),"a",{get:function(){return 7}}).a!==7})},910:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(60380),g=Object,y=l("".split);d.exports=f(function(){return!g("z").propertyIsEnumerable(0)})?function(T){return v(T)==="String"?y(T,""):g(T)}:g},79321:function(d,S,n){"use strict";var l=n(37725),f=n(11800),v=n(54163),g=l(Function.toString);f(v.inspectSource)||(v.inspectSource=function(y){return g(y)}),d.exports=v.inspectSource},23836:function(d,S,n){"use strict";var l=n(86639),f=n(93755),v=n(46638),g=n(30600),y=n(57430),T=n(54163),x=n(81196),b=n(33614),C="Object already initialized",A=f.TypeError,R=f.WeakMap,P,M,I,w=function(B){return I(B)?M(B):P(B,{})},F=function(B){return function($){var X;if(!v($)||(X=M($)).type!==B)throw new A("Incompatible receiver, "+B+" required");return X}};if(l||T.state){var Y=T.state||(T.state=new R);Y.get=Y.get,Y.has=Y.has,Y.set=Y.set,P=function(B,$){if(Y.has(B))throw new A(C);return $.facade=B,Y.set(B,$),$},M=function(B){return Y.get(B)||{}},I=function(B){return Y.has(B)}}else{var j=x("state");b[j]=!0,P=function(B,$){if(y(B,j))throw new A(C);return $.facade=B,g(B,j,$),$},M=function(B){return y(B,j)?B[j]:{}},I=function(B){return y(B,j)}}d.exports={set:P,get:M,has:I,enforce:w,getterFor:F}},21871:function(d,S,n){"use strict";var l=n(22171),f=n(85233),v=l("iterator"),g=Array.prototype;d.exports=function(y){return y!==void 0&&(f.Array===y||g[v]===y)}},60221:function(d,S,n){"use strict";var l=n(60380);d.exports=Array.isArray||function(v){return l(v)==="Array"}},11800:function(d){"use strict";var S=typeof document=="object"&&document.all;d.exports=typeof S=="undefined"&&S!==void 0?function(n){return typeof n=="function"||n===S}:function(n){return typeof n=="function"}},83174:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(11800),g=n(11298),y=n(4609),T=n(79321),x=function(){},b=y("Reflect","construct"),C=/^\s*(?:class|function)\b/,A=l(C.exec),R=!C.test(x),P=function(w){if(!v(w))return!1;try{return b(x,[],w),!0}catch(F){return!1}},M=function(w){if(!v(w))return!1;switch(g(w)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return R||!!A(C,T(w))}catch(F){return!0}};M.sham=!0,d.exports=!b||f(function(){var I;return P(P.call)||!P(Object)||!P(function(){I=!0})||I})?M:P},26657:function(d,S,n){"use strict";var l=n(73130),f=n(11800),v=/#|\.prototype\./,g=function(C,A){var R=T[y(C)];return R===b?!0:R===x?!1:f(A)?l(A):!!A},y=g.normalize=function(C){return String(C).replace(v,".").toLowerCase()},T=g.data={},x=g.NATIVE="N",b=g.POLYFILL="P";d.exports=g},92606:function(d){"use strict";d.exports=function(S){return S==null}},46638:function(d,S,n){"use strict";var l=n(11800);d.exports=function(f){return typeof f=="object"?f!==null:l(f)}},7086:function(d,S,n){"use strict";var l=n(46638);d.exports=function(f){return l(f)||f===null}},77667:function(d){"use strict";d.exports=!1},62494:function(d,S,n){"use strict";var l=n(46638),f=n(60380),v=n(22171),g=v("match");d.exports=function(y){var T;return l(y)&&((T=y[g])!==void 0?!!T:f(y)==="RegExp")}},54486:function(d,S,n){"use strict";var l=n(4609),f=n(11800),v=n(93527),g=n(90590),y=Object;d.exports=g?function(T){return typeof T=="symbol"}:function(T){var x=l("Symbol");return f(x)&&v(x.prototype,y(T))}},92948:function(d,S,n){"use strict";var l=n(8206),f=n(65318),v=n(14752),g=n(16199),y=n(21871),T=n(5668),x=n(93527),b=n(11998),C=n(48573),A=n(77647),R=TypeError,P=function(I,w){this.stopped=I,this.result=w},M=P.prototype;d.exports=function(I,w,F){var Y=F&&F.that,j=!!(F&&F.AS_ENTRIES),B=!!(F&&F.IS_RECORD),$=!!(F&&F.IS_ITERATOR),X=!!(F&&F.INTERRUPTED),Q=l(w,Y),_,k,lt,tt,et,st,ot,yt=function(J){return _&&A(_,"normal"),new P(!0,J)},Z=function(J){return j?(v(J),X?Q(J[0],J[1],yt):Q(J[0],J[1])):X?Q(J,yt):Q(J)};if(B)_=I.iterator;else if($)_=I;else{if(k=C(I),!k)throw new R(g(I)+" is not iterable");if(y(k)){for(lt=0,tt=T(I);tt>lt;lt++)if(et=Z(I[lt]),et&&x(M,et))return et;return new P(!1)}_=b(I,k)}for(st=B?I.next:_.next;!(ot=f(st,_)).done;){try{et=Z(ot.value)}catch(J){A(_,"throw",J)}if(typeof et=="object"&&et&&x(M,et))return et}return new P(!1)}},77647:function(d,S,n){"use strict";var l=n(65318),f=n(14752),v=n(55884);d.exports=function(g,y,T){var x,b;f(g);try{if(x=v(g,"return"),!x){if(y==="throw")throw T;return T}x=l(x,g)}catch(C){b=!0,x=C}if(y==="throw")throw T;if(b)throw x;return f(x),T}},27975:function(d,S,n){"use strict";var l=n(10638).IteratorPrototype,f=n(40079),v=n(2262),g=n(21812),y=n(85233),T=function(){return this};d.exports=function(x,b,C,A){var R=b+" Iterator";return x.prototype=f(l,{next:v(+!A,C)}),g(x,R,!1,!0),y[R]=T,x}},58302:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(77667),g=n(80100),y=n(11800),T=n(27975),x=n(96228),b=n(30424),C=n(21812),A=n(30600),R=n(11406),P=n(22171),M=n(85233),I=n(10638),w=g.PROPER,F=g.CONFIGURABLE,Y=I.IteratorPrototype,j=I.BUGGY_SAFARI_ITERATORS,B=P("iterator"),$="keys",X="values",Q="entries",_=function(){return this};d.exports=function(k,lt,tt,et,st,ot,yt){T(tt,lt,et);var Z=function(Vt){if(Vt===st&&ht)return ht;if(!j&&Vt&&Vt in mt)return mt[Vt];switch(Vt){case $:return function(){return new tt(this,Vt)};case X:return function(){return new tt(this,Vt)};case Q:return function(){return new tt(this,Vt)}}return function(){return new tt(this)}},J=lt+" Iterator",wt=!1,mt=k.prototype,ut=mt[B]||mt["@@iterator"]||st&&mt[st],ht=!j&&ut||Z(st),N=lt==="Array"&&mt.entries||ut,ft,Ut,At;if(N&&(ft=x(N.call(new k)),ft!==Object.prototype&&ft.next&&(!v&&x(ft)!==Y&&(b?b(ft,Y):y(ft[B])||R(ft,B,_)),C(ft,J,!0,!0),v&&(M[J]=_))),w&&st===X&&ut&&ut.name!==X&&(!v&&F?A(mt,"name",X):(wt=!0,ht=function(){return f(ut,this)})),st)if(Ut={values:Z(X),keys:ot?ht:Z($),entries:Z(Q)},yt)for(At in Ut)(j||wt||!(At in mt))&&R(mt,At,Ut[At]);else l({target:lt,proto:!0,forced:j||wt},Ut);return(!v||yt)&&mt[B]!==ht&&R(mt,B,ht,{name:st}),M[lt]=ht,Ut}},10638:function(d,S,n){"use strict";var l=n(73130),f=n(11800),v=n(46638),g=n(40079),y=n(96228),T=n(11406),x=n(22171),b=n(77667),C=x("iterator"),A=!1,R,P,M;[].keys&&(M=[].keys(),"next"in M?(P=y(y(M)),P!==Object.prototype&&(R=P)):A=!0);var I=!v(R)||l(function(){var w={};return R[C].call(w)!==w});I?R={}:b&&(R=g(R)),f(R[C])||T(R,C,function(){return this}),d.exports={IteratorPrototype:R,BUGGY_SAFARI_ITERATORS:A}},85233:function(d){"use strict";d.exports={}},5668:function(d,S,n){"use strict";var l=n(56005);d.exports=function(f){return l(f.length)}},56684:function(d,S,n){"use strict";var l=n(37725),f=n(73130),v=n(11800),g=n(57430),y=n(73679),T=n(80100).CONFIGURABLE,x=n(79321),b=n(23836),C=b.enforce,A=b.get,R=String,P=Object.defineProperty,M=l("".slice),I=l("".replace),w=l([].join),F=y&&!f(function(){return P(function(){},"length",{value:8}).length!==8}),Y=String(String).split("String"),j=d.exports=function(B,$,X){M(R($),0,7)==="Symbol("&&($="["+I(R($),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),X&&X.getter&&($="get "+$),X&&X.setter&&($="set "+$),(!g(B,"name")||T&&B.name!==$)&&(y?P(B,"name",{value:$,configurable:!0}):B.name=$),F&&X&&g(X,"arity")&&B.length!==X.arity&&P(B,"length",{value:X.arity});try{X&&g(X,"constructor")&&X.constructor?y&&P(B,"prototype",{writable:!1}):B.prototype&&(B.prototype=void 0)}catch(_){}var Q=C(B);return g(Q,"source")||(Q.source=w(Y,typeof $=="string"?$:"")),B};Function.prototype.toString=j(function(){return v(this)&&A(this).source||x(this)},"toString")},75638:function(d){"use strict";var S=Math.ceil,n=Math.floor;d.exports=Math.trunc||function(f){var v=+f;return(v>0?n:S)(v)}},94734:function(d,S,n){"use strict";var l=n(93755),f=n(28096),v=n(8206),g=n(84812).set,y=n(76408),T=n(54394),x=n(21825),b=n(42637),C=n(12264),A=l.MutationObserver||l.WebKitMutationObserver,R=l.document,P=l.process,M=l.Promise,I=f("queueMicrotask"),w,F,Y,j,B;if(!I){var $=new y,X=function(){var Q,_;for(C&&(Q=P.domain)&&Q.exit();_=$.get();)try{_()}catch(k){throw $.head&&w(),k}Q&&Q.enter()};!T&&!C&&!b&&A&&R?(F=!0,Y=R.createTextNode(""),new A(X).observe(Y,{characterData:!0}),w=function(){Y.data=F=!F}):!x&&M&&M.resolve?(j=M.resolve(void 0),j.constructor=M,B=v(j.then,j),w=function(){B(X)}):C?w=function(){P.nextTick(X)}:(g=v(g,l),w=function(){g(X)}),I=function(Q){$.head||w(),$.add(Q)}}d.exports=I},52878:function(d,S,n){"use strict";var l=n(25499),f=TypeError,v=function(g){var y,T;this.promise=new g(function(x,b){if(y!==void 0||T!==void 0)throw new f("Bad Promise constructor");y=x,T=b}),this.resolve=l(y),this.reject=l(T)};d.exports.f=function(g){return new v(g)}},54914:function(d,S,n){"use strict";var l=n(62494),f=TypeError;d.exports=function(v){if(l(v))throw new f("The method doesn't accept regular expressions");return v}},40079:function(d,S,n){"use strict";var l=n(14752),f=n(54315),v=n(46367),g=n(33614),y=n(65757),T=n(27139),x=n(81196),b=">",C="<",A="prototype",R="script",P=x("IE_PROTO"),M=function(){},I=function(B){return C+R+b+B+C+"/"+R+b},w=function(B){B.write(I("")),B.close();var $=B.parentWindow.Object;return B=null,$},F=function(){var B=T("iframe"),$="java"+R+":",X;return B.style.display="none",y.appendChild(B),B.src=String($),X=B.contentWindow.document,X.open(),X.write(I("document.F=Object")),X.close(),X.F},Y,j=function(){try{Y=new ActiveXObject("htmlfile")}catch($){}j=typeof document!="undefined"?document.domain&&Y?w(Y):F():w(Y);for(var B=v.length;B--;)delete j[A][v[B]];return j()};g[P]=!0,d.exports=Object.create||function($,X){var Q;return $!==null?(M[A]=l($),Q=new M,M[A]=null,Q[P]=$):Q=j(),X===void 0?Q:f.f(Q,X)}},54315:function(d,S,n){"use strict";var l=n(73679),f=n(66577),v=n(92402),g=n(14752),y=n(18295),T=n(1417);S.f=l&&!f?Object.defineProperties:function(b,C){g(b);for(var A=y(C),R=T(C),P=R.length,M=0,I;P>M;)v.f(b,I=R[M++],A[I]);return b}},92402:function(d,S,n){"use strict";var l=n(73679),f=n(84436),v=n(66577),g=n(14752),y=n(76155),T=TypeError,x=Object.defineProperty,b=Object.getOwnPropertyDescriptor,C="enumerable",A="configurable",R="writable";S.f=l?v?function(M,I,w){if(g(M),I=y(I),g(w),typeof M=="function"&&I==="prototype"&&"value"in w&&R in w&&!w[R]){var F=b(M,I);F&&F[R]&&(M[I]=w.value,w={configurable:A in w?w[A]:F[A],enumerable:C in w?w[C]:F[C],writable:!1})}return x(M,I,w)}:x:function(M,I,w){if(g(M),I=y(I),g(w),f)try{return x(M,I,w)}catch(F){}if("get"in w||"set"in w)throw new T("Accessors not supported");return"value"in w&&(M[I]=w.value),M}},54398:function(d,S,n){"use strict";var l=n(73679),f=n(65318),v=n(31559),g=n(2262),y=n(18295),T=n(76155),x=n(57430),b=n(84436),C=Object.getOwnPropertyDescriptor;S.f=l?C:function(R,P){if(R=y(R),P=T(P),b)try{return C(R,P)}catch(M){}if(x(R,P))return g(!f(v.f,R,P),R[P])}},94254:function(d,S,n){"use strict";var l=n(30559),f=n(46367),v=f.concat("length","prototype");S.f=Object.getOwnPropertyNames||function(y){return l(y,v)}},3266:function(d,S){"use strict";S.f=Object.getOwnPropertySymbols},96228:function(d,S,n){"use strict";var l=n(57430),f=n(11800),v=n(57866),g=n(81196),y=n(67715),T=g("IE_PROTO"),x=Object,b=x.prototype;d.exports=y?x.getPrototypeOf:function(C){var A=v(C);if(l(A,T))return A[T];var R=A.constructor;return f(R)&&A instanceof R?R.prototype:A instanceof x?b:null}},93527:function(d,S,n){"use strict";var l=n(37725);d.exports=l({}.isPrototypeOf)},30559:function(d,S,n){"use strict";var l=n(37725),f=n(57430),v=n(18295),g=n(76879).indexOf,y=n(33614),T=l([].push);d.exports=function(x,b){var C=v(x),A=0,R=[],P;for(P in C)!f(y,P)&&f(C,P)&&T(R,P);for(;b.length>A;)f(C,P=b[A++])&&(~g(R,P)||T(R,P));return R}},1417:function(d,S,n){"use strict";var l=n(30559),f=n(46367);d.exports=Object.keys||function(g){return l(g,f)}},31559:function(d,S){"use strict";var n={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,f=l&&!n.call({1:2},1);S.f=f?function(g){var y=l(this,g);return!!y&&y.enumerable}:n},30424:function(d,S,n){"use strict";var l=n(49410),f=n(46638),v=n(72337),g=n(30828);d.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},x;try{x=l(Object.prototype,"__proto__","set"),x(T,[]),y=T instanceof Array}catch(b){}return function(C,A){return v(C),g(A),f(C)&&(y?x(C,A):C.__proto__=A),C}}():void 0)},90487:function(d,S,n){"use strict";var l=n(65318),f=n(11800),v=n(46638),g=TypeError;d.exports=function(y,T){var x,b;if(T==="string"&&f(x=y.toString)&&!v(b=l(x,y))||f(x=y.valueOf)&&!v(b=l(x,y))||T!=="string"&&f(x=y.toString)&&!v(b=l(x,y)))return b;throw new g("Can't convert object to primitive value")}},58905:function(d,S,n){"use strict";var l=n(4609),f=n(37725),v=n(94254),g=n(3266),y=n(14752),T=f([].concat);d.exports=l("Reflect","ownKeys")||function(b){var C=v.f(y(b)),A=g.f;return A?T(C,A(b)):C}},74022:function(d,S,n){"use strict";var l=n(93755);d.exports=l},46193:function(d){"use strict";d.exports=function(S){try{return{error:!1,value:S()}}catch(n){return{error:!0,value:n}}}},98060:function(d,S,n){"use strict";var l=n(93755),f=n(74199),v=n(11800),g=n(26657),y=n(79321),T=n(22171),x=n(84526),b=n(77667),C=n(59410),A=f&&f.prototype,R=T("species"),P=!1,M=v(l.PromiseRejectionEvent),I=g("Promise",function(){var w=y(f),F=w!==String(f);if(!F&&C===66||b&&!(A.catch&&A.finally))return!0;if(!C||C<51||!/native code/.test(w)){var Y=new f(function($){$(1)}),j=function($){$(function(){},function(){})},B=Y.constructor={};if(B[R]=j,P=Y.then(function(){})instanceof j,!P)return!0}return!F&&(x==="BROWSER"||x==="DENO")&&!M});d.exports={CONSTRUCTOR:I,REJECTION_EVENT:M,SUBCLASSING:P}},74199:function(d,S,n){"use strict";var l=n(93755);d.exports=l.Promise},46374:function(d,S,n){"use strict";var l=n(14752),f=n(46638),v=n(52878);d.exports=function(g,y){if(l(g),f(y)&&y.constructor===g)return y;var T=v.f(g),x=T.resolve;return x(y),T.promise}},23056:function(d,S,n){"use strict";var l=n(74199),f=n(16961),v=n(98060).CONSTRUCTOR;d.exports=v||!f(function(g){l.all(g).then(void 0,function(){})})},76408:function(d){"use strict";var S=function(){this.head=null,this.tail=null};S.prototype={add:function(n){var l={item:n,next:null},f=this.tail;f?f.next=l:this.head=l,this.tail=l},get:function(){var n=this.head;if(n){var l=this.head=n.next;return l===null&&(this.tail=null),n.item}}},d.exports=S},10253:function(d,S,n){"use strict";var l=n(65318),f=n(14752),v=n(11800),g=n(60380),y=n(1513),T=TypeError;d.exports=function(x,b){var C=x.exec;if(v(C)){var A=l(C,x,b);return A!==null&&f(A),A}if(g(x)==="RegExp")return l(y,x,b);throw new T("RegExp#exec called on incompatible receiver")}},1513:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(11315),g=n(65317),y=n(88797),T=n(2896),x=n(40079),b=n(23836).get,C=n(62008),A=n(3072),R=T("native-string-replace",String.prototype.replace),P=RegExp.prototype.exec,M=P,I=f("".charAt),w=f("".indexOf),F=f("".replace),Y=f("".slice),j=function(){var Q=/a/,_=/b*/g;return l(P,Q,"a"),l(P,_,"a"),Q.lastIndex!==0||_.lastIndex!==0}(),B=y.BROKEN_CARET,$=/()??/.exec("")[1]!==void 0,X=j||$||B||C||A;X&&(M=function(_){var k=this,lt=b(k),tt=v(_),et=lt.raw,st,ot,yt,Z,J,wt,mt;if(et)return et.lastIndex=k.lastIndex,st=l(M,et,tt),k.lastIndex=et.lastIndex,st;var ut=lt.groups,ht=B&&k.sticky,N=l(g,k),ft=k.source,Ut=0,At=tt;if(ht&&(N=F(N,"y",""),w(N,"g")===-1&&(N+="g"),At=Y(tt,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&I(tt,k.lastIndex-1)!==` `)&&(ft="(?: "+ft+")",At=" "+At,Ut++),ot=new RegExp("^(?:"+ft+")",N)),$&&(ot=new RegExp("^"+ft+"$(?!\\s)",N)),j&&(yt=k.lastIndex),Z=l(P,ht?ot:k,At),ht?Z?(Z.input=Y(Z.input,Ut),Z[0]=Y(Z[0],Ut),Z.index=k.lastIndex,k.lastIndex+=Z[0].length):k.lastIndex=0:j&&Z&&(k.lastIndex=k.global?Z.index+Z[0].length:yt),$&&Z&&Z.length>1&&l(R,Z[0],ot,function(){for(J=1;Jb)","g");return g.exec("b").groups.a!=="b"||"b".replace(g,"$c")!=="bc"})},72337:function(d,S,n){"use strict";var l=n(92606),f=TypeError;d.exports=function(v){if(l(v))throw new f("Can't call method on "+v);return v}},28096:function(d,S,n){"use strict";var l=n(93755),f=n(73679),v=Object.getOwnPropertyDescriptor;d.exports=function(g){if(!f)return l[g];var y=v(l,g);return y&&y.value}},29842:function(d,S,n){"use strict";var l=n(4609),f=n(36096),v=n(22171),g=n(73679),y=v("species");d.exports=function(T){var x=l(T);g&&x&&!x[y]&&f(x,y,{configurable:!0,get:function(){return this}})}},21812:function(d,S,n){"use strict";var l=n(92402).f,f=n(57430),v=n(22171),g=v("toStringTag");d.exports=function(y,T,x){y&&!x&&(y=y.prototype),y&&!f(y,g)&&l(y,g,{configurable:!0,value:T})}},81196:function(d,S,n){"use strict";var l=n(2896),f=n(24088),v=l("keys");d.exports=function(g){return v[g]||(v[g]=f(g))}},54163:function(d,S,n){"use strict";var l=n(77667),f=n(93755),v=n(31463),g="__core-js_shared__",y=d.exports=f[g]||v(g,{});(y.versions||(y.versions=[])).push({version:"3.48.0",mode:l?"pure":"global",copyright:"\xA9 2013\u20132025 Denis Pushkarev (zloirock.ru), 2025\u20132026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE",source:"https://github.com/zloirock/core-js"})},2896:function(d,S,n){"use strict";var l=n(54163);d.exports=function(f,v){return l[f]||(l[f]=v||{})}},14099:function(d,S,n){"use strict";var l=n(14752),f=n(48274),v=n(92606),g=n(22171),y=g("species");d.exports=function(T,x){var b=l(T).constructor,C;return b===void 0||v(C=l(b)[y])?x:f(C)}},38095:function(d,S,n){"use strict";var l=n(37725),f=n(30921),v=n(11315),g=n(72337),y=l("".charAt),T=l("".charCodeAt),x=l("".slice),b=function(C){return function(A,R){var P=v(g(A)),M=f(R),I=P.length,w,F;return M<0||M>=I?C?"":void 0:(w=T(P,M),w<55296||w>56319||M+1===I||(F=T(P,M+1))<56320||F>57343?C?y(P,M):w:C?x(P,M,M+2):(w-55296<<10)+(F-56320)+65536)}};d.exports={codeAt:b(!1),charAt:b(!0)}},2659:function(d,S,n){"use strict";var l=n(80100).PROPER,f=n(73130),v=n(29528),g="\u200B\x85\u180E";d.exports=function(y){return f(function(){return!!v[y]()||g[y]()!==g||l&&v[y].name!==y})}},95881:function(d,S,n){"use strict";var l=n(37725),f=n(72337),v=n(11315),g=n(29528),y=l("".replace),T=RegExp("^["+g+"]+"),x=RegExp("(^|[^"+g+"])["+g+"]+$"),b=function(C){return function(A){var R=v(f(A));return C&1&&(R=y(R,T,"")),C&2&&(R=y(R,x,"$1")),R}};d.exports={start:b(1),end:b(2),trim:b(3)}},3494:function(d,S,n){"use strict";var l=n(59410),f=n(73130),v=n(93755),g=v.String;d.exports=!!Object.getOwnPropertySymbols&&!f(function(){var y=Symbol("symbol detection");return!g(y)||!(Object(y)instanceof Symbol)||!Symbol.sham&&l&&l<41})},84812:function(d,S,n){"use strict";var l=n(93755),f=n(71016),v=n(8206),g=n(11800),y=n(57430),T=n(73130),x=n(65757),b=n(29986),C=n(27139),A=n(51631),R=n(54394),P=n(12264),M=l.setImmediate,I=l.clearImmediate,w=l.process,F=l.Dispatch,Y=l.Function,j=l.MessageChannel,B=l.String,$=0,X={},Q="onreadystatechange",_,k,lt,tt;T(function(){_=l.location});var et=function(Z){if(y(X,Z)){var J=X[Z];delete X[Z],J()}},st=function(Z){return function(){et(Z)}},ot=function(Z){et(Z.data)},yt=function(Z){l.postMessage(B(Z),_.protocol+"//"+_.host)};(!M||!I)&&(M=function(J){A(arguments.length,1);var wt=g(J)?J:Y(J),mt=b(arguments,1);return X[++$]=function(){f(wt,void 0,mt)},k($),$},I=function(J){delete X[J]},P?k=function(Z){w.nextTick(st(Z))}:F&&F.now?k=function(Z){F.now(st(Z))}:j&&!R?(lt=new j,tt=lt.port2,lt.port1.onmessage=ot,k=v(tt.postMessage,tt)):l.addEventListener&&g(l.postMessage)&&!l.importScripts&&_&&_.protocol!=="file:"&&!T(yt)?(k=yt,l.addEventListener("message",ot,!1)):Q in C("script")?k=function(Z){x.appendChild(C("script"))[Q]=function(){x.removeChild(this),et(Z)}}:k=function(Z){setTimeout(st(Z),0)}),d.exports={set:M,clear:I}},95374:function(d,S,n){"use strict";var l=n(30921),f=Math.max,v=Math.min;d.exports=function(g,y){var T=l(g);return T<0?f(T+y,0):v(T,y)}},18295:function(d,S,n){"use strict";var l=n(910),f=n(72337);d.exports=function(v){return l(f(v))}},30921:function(d,S,n){"use strict";var l=n(75638);d.exports=function(f){var v=+f;return v!==v||v===0?0:l(v)}},56005:function(d,S,n){"use strict";var l=n(30921),f=Math.min;d.exports=function(v){var g=l(v);return g>0?f(g,9007199254740991):0}},57866:function(d,S,n){"use strict";var l=n(72337),f=Object;d.exports=function(v){return f(l(v))}},77152:function(d,S,n){"use strict";var l=n(65318),f=n(46638),v=n(54486),g=n(55884),y=n(90487),T=n(22171),x=TypeError,b=T("toPrimitive");d.exports=function(C,A){if(!f(C)||v(C))return C;var R=g(C,b),P;if(R){if(A===void 0&&(A="default"),P=l(R,C,A),!f(P)||v(P))return P;throw new x("Can't convert object to primitive value")}return A===void 0&&(A="number"),y(C,A)}},76155:function(d,S,n){"use strict";var l=n(77152),f=n(54486);d.exports=function(v){var g=l(v,"string");return f(g)?g:g+""}},28043:function(d,S,n){"use strict";var l=n(22171),f=l("toStringTag"),v={};v[f]="z",d.exports=String(v)==="[object z]"},11315:function(d,S,n){"use strict";var l=n(11298),f=String;d.exports=function(v){if(l(v)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return f(v)}},16199:function(d){"use strict";var S=String;d.exports=function(n){try{return S(n)}catch(l){return"Object"}}},24088:function(d,S,n){"use strict";var l=n(37725),f=0,v=Math.random(),g=l(1.1.toString);d.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+g(++f+v,36)}},90590:function(d,S,n){"use strict";var l=n(3494);d.exports=l&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},66577:function(d,S,n){"use strict";var l=n(73679),f=n(73130);d.exports=l&&f(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},51631:function(d){"use strict";var S=TypeError;d.exports=function(n,l){if(n1?arguments[1]:void 0;return T?y(this,C,A)||0:v(this,C,A)}})},46220:function(d,S,n){"use strict";var l=n(18295),f=n(64744),v=n(85233),g=n(23836),y=n(92402).f,T=n(58302),x=n(70133),b=n(77667),C=n(73679),A="Array Iterator",R=g.set,P=g.getterFor(A);d.exports=T(Array,"Array",function(I,w){R(this,{type:A,target:l(I),index:0,kind:w})},function(){var I=P(this),w=I.target,F=I.index++;if(!w||F>=w.length)return I.target=null,x(void 0,!0);switch(I.kind){case"keys":return x(F,!1);case"values":return x(w[F],!1)}return x([F,w[F]],!1)},"values");var M=v.Arguments=v.Array;if(f("keys"),f("values"),f("entries"),!b&&C&&M.name!=="values")try{y(M,"name",{value:"values"})}catch(I){}},79075:function(d,S,n){"use strict";var l=n(82372),f=n(45333).left,v=n(67055),g=n(59410),y=n(12264),T=!y&&g>79&&g<83,x=T||!v("reduce");l({target:"Array",proto:!0,forced:x},{reduce:function(C){var A=arguments.length;return f(this,C,A,A>1?arguments[1]:void 0)}})},36342:function(d,S,n){"use strict";var l=n(82372),f=n(37725),v=n(60221),g=f([].reverse),y=[1,2];l({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return v(this)&&(this.length=this.length),g(this)}})},86487:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(25499),g=n(52878),y=n(46193),T=n(92948),x=n(23056);l({target:"Promise",stat:!0,forced:x},{all:function(C){var A=this,R=g.f(A),P=R.resolve,M=R.reject,I=y(function(){var w=v(A.resolve),F=[],Y=0,j=1;T(C,function(B){var $=Y++,X=!1;j++,f(w,A,B).then(function(Q){X||(X=!0,F[$]=Q,--j||P(F))},M)}),--j||P(F)});return I.error&&M(I.value),R.promise}})},95690:function(d,S,n){"use strict";var l=n(82372),f=n(77667),v=n(98060).CONSTRUCTOR,g=n(74199),y=n(4609),T=n(11800),x=n(11406),b=g&&g.prototype;if(l({target:"Promise",proto:!0,forced:v,real:!0},{catch:function(A){return this.then(void 0,A)}}),!f&&T(g)){var C=y("Promise").prototype.catch;b.catch!==C&&x(b,"catch",C,{unsafe:!0})}},93677:function(d,S,n){"use strict";var l=n(82372),f=n(77667),v=n(12264),g=n(93755),y=n(74022),T=n(65318),x=n(11406),b=n(30424),C=n(21812),A=n(29842),R=n(25499),P=n(11800),M=n(46638),I=n(70271),w=n(14099),F=n(84812).set,Y=n(94734),j=n(50358),B=n(46193),$=n(76408),X=n(23836),Q=n(74199),_=n(98060),k=n(52878),lt="Promise",tt=_.CONSTRUCTOR,et=_.REJECTION_EVENT,st=_.SUBCLASSING,ot=X.getterFor(lt),yt=X.set,Z=Q&&Q.prototype,J=Q,wt=Z,mt=g.TypeError,ut=g.document,ht=g.process,N=k.f,ft=N,Ut=!!(ut&&ut.createEvent&&g.dispatchEvent),At="unhandledrejection",Vt="rejectionhandled",qt=0,ie=1,Qt=2,le=1,he=2,_t,fe,ce,Zt,ve=function(W){var nt;return M(W)&&P(nt=W.then)?nt:!1},ge=function(W,nt){var gt=nt.value,dt=nt.state===ie,bt=dt?W.ok:W.fail,me=W.resolve,Le=W.reject,xe=W.domain,Ee,te,$e;try{bt?(dt||(nt.rejection===he&&Ze(nt),nt.rejection=le),bt===!0?Ee=gt:(xe&&xe.enter(),Ee=bt(gt),xe&&(xe.exit(),$e=!0)),Ee===W.promise?Le(new mt("Promise-chain cycle")):(te=ve(Ee))?T(te,Ee,me,Le):me(Ee)):Le(gt)}catch(ae){xe&&!$e&&xe.exit(),Le(ae)}},de=function(W,nt){W.notified||(W.notified=!0,Y(function(){for(var gt=W.reactions,dt;dt=gt.get();)ge(dt,W);W.notified=!1,nt&&!W.rejection&&Kt(W)}))},pe=function(W,nt,gt){var dt,bt;Ut?(dt=ut.createEvent("Event"),dt.promise=nt,dt.reason=gt,dt.initEvent(W,!1,!0),g.dispatchEvent(dt)):dt={promise:nt,reason:gt},!et&&(bt=g["on"+W])?bt(dt):W===At&&j("Unhandled promise rejection",gt)},Kt=function(W){T(F,g,function(){var nt=W.facade,gt=W.value,dt=ze(W),bt;if(dt&&(bt=B(function(){v?ht.emit("unhandledRejection",gt,nt):pe(At,nt,gt)}),W.rejection=v||ze(W)?he:le,bt.error))throw bt.value})},ze=function(W){return W.rejection!==le&&!W.parent},Ze=function(W){T(F,g,function(){var nt=W.facade;v?ht.emit("rejectionHandled",nt):pe(Vt,nt,W.value)})},It=function(W,nt,gt){return function(dt){W(nt,dt,gt)}},ye=function(W,nt,gt){W.done||(W.done=!0,gt&&(W=gt),W.value=nt,W.state=Qt,de(W,!0))},De=function(W,nt,gt){if(!W.done){W.done=!0,gt&&(W=gt);try{if(W.facade===nt)throw new mt("Promise can't be resolved itself");var dt=ve(nt);dt?Y(function(){var bt={done:!1};try{T(dt,nt,It(De,bt,W),It(ye,bt,W))}catch(me){ye(bt,me,W)}}):(W.value=nt,W.state=ie,de(W,!1))}catch(bt){ye({done:!1},bt,W)}}};if(tt&&(J=function(nt){I(this,wt),R(nt),T(_t,this);var gt=ot(this);try{nt(It(De,gt),It(ye,gt))}catch(dt){ye(gt,dt)}},wt=J.prototype,_t=function(nt){yt(this,{type:lt,done:!1,notified:!1,parent:!1,reactions:new $,rejection:!1,state:qt,value:null})},_t.prototype=x(wt,"then",function(nt,gt){var dt=ot(this),bt=N(w(this,J));return dt.parent=!0,bt.ok=P(nt)?nt:!0,bt.fail=P(gt)&>,bt.domain=v?ht.domain:void 0,dt.state===qt?dt.reactions.add(bt):Y(function(){ge(bt,dt)}),bt.promise}),fe=function(){var W=new _t,nt=ot(W);this.promise=W,this.resolve=It(De,nt),this.reject=It(ye,nt)},k.f=N=function(W){return W===J||W===ce?new fe(W):ft(W)},!f&&P(Q)&&Z!==Object.prototype)){Zt=Z.then,st||x(Z,"then",function(nt,gt){var dt=this;return new J(function(bt,me){T(Zt,dt,bt,me)}).then(nt,gt)},{unsafe:!0});try{delete Z.constructor}catch(W){}b&&b(Z,wt)}l({global:!0,constructor:!0,wrap:!0,forced:tt},{Promise:J}),ce=y.Promise,C(J,lt,!1,!0),A(lt)},91597:function(d,S,n){"use strict";n(93677),n(86487),n(95690),n(6523),n(25011),n(64056)},6523:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(25499),g=n(52878),y=n(46193),T=n(92948),x=n(23056);l({target:"Promise",stat:!0,forced:x},{race:function(C){var A=this,R=g.f(A),P=R.reject,M=y(function(){var I=v(A.resolve);T(C,function(w){f(I,A,w).then(R.resolve,P)})});return M.error&&P(M.value),R.promise}})},25011:function(d,S,n){"use strict";var l=n(82372),f=n(52878),v=n(98060).CONSTRUCTOR;l({target:"Promise",stat:!0,forced:v},{reject:function(y){var T=f.f(this),x=T.reject;return x(y),T.promise}})},64056:function(d,S,n){"use strict";var l=n(82372),f=n(4609),v=n(77667),g=n(74199),y=n(98060).CONSTRUCTOR,T=n(46374),x=f("Promise"),b=v&&!y;l({target:"Promise",stat:!0,forced:v||y},{resolve:function(A){return T(b&&this===x?g:this,A)}})},24343:function(d,S,n){"use strict";var l=n(82372),f=n(1513);l({target:"RegExp",proto:!0,forced:/./.exec!==f},{exec:f})},57815:function(d,S,n){"use strict";var l=n(80100).PROPER,f=n(11406),v=n(14752),g=n(11315),y=n(73130),T=n(89556),x="toString",b=RegExp.prototype,C=b[x],A=y(function(){return C.call({source:"a",flags:"b"})!=="/a/b"}),R=l&&C.name!==x;(A||R)&&f(b,x,function(){var M=v(this),I=g(M.source),w=g(T(M));return"/"+I+"/"+w},{unsafe:!0})},30303:function(d,S,n){"use strict";var l=n(82372),f=n(64866),v=n(54398).f,g=n(56005),y=n(11315),T=n(54914),x=n(72337),b=n(37101),C=n(77667),A=f("".slice),R=Math.min,P=b("endsWith"),M=!C&&!P&&!!function(){var I=v(String.prototype,"endsWith");return I&&!I.writable}();l({target:"String",proto:!0,forced:!M&&!P},{endsWith:function(w){var F=y(x(this));T(w);var Y=arguments.length>1?arguments[1]:void 0,j=F.length,B=Y===void 0?j:R(g(Y),j),$=y(w);return A(F,B-$.length,B)===$}})},80027:function(d,S,n){"use strict";var l=n(82372),f=n(37725),v=n(54914),g=n(72337),y=n(11315),T=n(37101),x=f("".indexOf);l({target:"String",proto:!0,forced:!T("includes")},{includes:function(C){return!!~x(y(g(this)),y(v(C)),arguments.length>1?arguments[1]:void 0)}})},8474:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(78381),g=n(14752),y=n(46638),T=n(56005),x=n(11315),b=n(72337),C=n(55884),A=n(78938),R=n(89556),P=n(35467),M=f("".indexOf);v("match",function(I,w,F){return[function(j){var B=b(this),$=y(j)?C(j,I):void 0;return $?l($,j,B):new RegExp(j)[I](x(B))},function(Y){var j=g(this),B=x(Y),$=F(w,j,B);if($.done)return $.value;var X=x(R(j));if(M(X,"g")===-1)return P(j,B);var Q=M(X,"u")!==-1;j.lastIndex=0;for(var _=[],k=0,lt;(lt=P(j,B))!==null;){var tt=x(lt[0]);_[k]=tt,tt===""&&(j.lastIndex=A(B,T(j.lastIndex),Q)),k++}return k===0?null:_}]})},86914:function(d,S,n){"use strict";var l=n(71016),f=n(65318),v=n(37725),g=n(78381),y=n(73130),T=n(14752),x=n(11800),b=n(46638),C=n(30921),A=n(56005),R=n(11315),P=n(72337),M=n(78938),I=n(55884),w=n(92506),F=n(89556),Y=n(35467),j=n(22171),B=j("replace"),$=Math.max,X=Math.min,Q=v([].concat),_=v([].push),k=v("".indexOf),lt=v("".slice),tt=function(yt){return yt===void 0?yt:String(yt)},et=function(){return"a".replace(/./,"$0")==="$0"}(),st=function(){return/./[B]?/./[B]("a","$0")==="":!1}(),ot=!y(function(){var yt=/./;return yt.exec=function(){var Z=[];return Z.groups={a:"7"},Z},"".replace(yt,"$")!=="7"});g("replace",function(yt,Z,J){var wt=st?"$":"$0";return[function(ut,ht){var N=P(this),ft=b(ut)?I(ut,B):void 0;return ft?f(ft,ut,N,ht):f(Z,R(N),ut,ht)},function(mt,ut){var ht=T(this),N=R(mt);if(typeof ut=="string"&&k(ut,wt)===-1&&k(ut,"$<")===-1){var ft=J(Z,ht,N,ut);if(ft.done)return ft.value}var Ut=x(ut);Ut||(ut=R(ut));var At=R(F(ht)),Vt=k(At,"g")!==-1,qt;Vt&&(qt=k(At,"u")!==-1,ht.lastIndex=0);for(var ie=[],Qt;Qt=Y(ht,N),!(Qt===null||(_(ie,Qt),!Vt));){var le=R(Qt[0]);le===""&&(ht.lastIndex=M(N,A(ht.lastIndex),qt))}for(var he="",_t=0,fe=0;fe=_t&&(he+=lt(N,_t,Zt)+ge,_t=Zt+ce.length)}return he+lt(N,_t)}]},!ot||!et||st)},95265:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(78381),g=n(14752),y=n(46638),T=n(72337),x=n(14099),b=n(78938),C=n(56005),A=n(11315),R=n(55884),P=n(35467),M=n(88797),I=n(73130),w=M.UNSUPPORTED_Y,F=4294967295,Y=Math.min,j=f([].push),B=f("".slice),$=!I(function(){var Q=/(?:)/,_=Q.exec;Q.exec=function(){return _.apply(this,arguments)};var k="ab".split(Q);return k.length!==2||k[0]!=="a"||k[1]!=="b"}),X="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;v("split",function(Q,_,k){var lt="0".split(void 0,0).length?function(tt,et){return tt===void 0&&et===0?[]:l(_,this,tt,et)}:_;return[function(et,st){var ot=T(this),yt=y(et)?R(et,Q):void 0;return yt?l(yt,et,ot,st):l(lt,A(ot),et,st)},function(tt,et){var st=g(this),ot=A(tt);if(!X){var yt=k(lt,st,ot,et,lt!==_);if(yt.done)return yt.value}var Z=x(st,RegExp),J=st.unicode,wt=(st.ignoreCase?"i":"")+(st.multiline?"m":"")+(st.unicode?"u":"")+(w?"g":"y"),mt=new Z(w?"^(?:"+st.source+")":st,wt),ut=et===void 0?F:et>>>0;if(ut===0)return[];if(ot.length===0)return P(mt,ot)===null?[ot]:[];for(var ht=0,N=0,ft=[];N1?arguments[1]:void 0,F.length)),j=y(w);return A(F,Y,Y+j.length)===j}})},59483:function(d,S,n){"use strict";var l=n(82372),f=n(95881).trim,v=n(2659);l({target:"String",proto:!0,forced:v("trim")},{trim:function(){return f(this)}})},50610:function(d,S,n){"use strict";var l=n(93755),f=n(53164),v=n(68376),g=n(46220),y=n(30600),T=n(21812),x=n(22171),b=x("iterator"),C=g.values,A=function(P,M){if(P){if(P[b]!==C)try{y(P,b,C)}catch(w){P[b]=C}if(T(P,M,!0),f[M]){for(var I in g)if(P[I]!==g[I])try{y(P,I,g[I])}catch(w){P[I]=g[I]}}}};for(var R in f)A(l[R]&&l[R].prototype,R);A(v,"DOMTokenList")},63754:function(d,S,n){"use strict";n.r(S),n.d(S,{AElement:function(){return un},AnimateColorElement:function(){return en},AnimateElement:function(){return qe},AnimateTransformElement:function(){return rn},BoundingBox:function(){return kt},CB1:function(){return hr},CB2:function(){return fr},CB3:function(){return cr},CB4:function(){return vr},Canvg:function(){return Ne},CircleElement:function(){return Xr},ClipPathElement:function(){return pn},DefsElement:function(){return Jr},DescElement:function(){return On},Document:function(){return ue},Element:function(){return Ct},EllipseElement:function(){return Wr},FeColorMatrixElement:function(){return br},FeCompositeElement:function(){return xn},FeDropShadowElement:function(){return yn},FeGaussianBlurElement:function(){return En},FeMorphologyElement:function(){return mn},FilterElement:function(){return We},Font:function(){return zt},FontElement:function(){return nn},FontFaceElement:function(){return an},GElement:function(){return Je},GlyphElement:function(){return xr},GradientElement:function(){return Or},ImageElement:function(){return fn},LineElement:function(){return Qr},LinearGradientElement:function(){return qr},MarkerElement:function(){return kr},MaskElement:function(){return Xe},Matrix:function(){return yr},MissingGlyphElement:function(){return sn},Mouse:function(){return Br},PSEUDO_ZERO:function(){return ae},Parser:function(){return ke},PathElement:function(){return xt},PathParser:function(){return it},PatternElement:function(){return Kr},Point:function(){return Rt},PolygonElement:function(){return Zr},PolylineElement:function(){return Tr},Property:function(){return q},QB1:function(){return gr},QB2:function(){return dr},QB3:function(){return pr},RadialGradientElement:function(){return _r},RectElement:function(){return Er},RenderedElement:function(){return Oe},Rotate:function(){return Gr},SVGElement:function(){return Be},SVGFontLoader:function(){return vn},Scale:function(){return zr},Screen:function(){return He},Skew:function(){return mr},SkewX:function(){return $r},SkewY:function(){return Hr},StopElement:function(){return tn},StyleElement:function(){return Sr},SymbolElement:function(){return cn},TRefElement:function(){return on},TSpanElement:function(){return Ye},TextElement:function(){return se},TextPathElement:function(){return hn},TitleElement:function(){return Tn},Transform:function(){return Te},Translate:function(){return jr},UnknownElement:function(){return Yr},UseElement:function(){return gn},ViewPort:function(){return Lr},compressSpaces:function(){return Kt},default:function(){return Ne},getSelectorSpecificity:function(){return $e},normalizeAttributeName:function(){return De},normalizeColor:function(){return nt},parseExternalUrl:function(){return W},presets:function(){return pe},toNumbers:function(){return It},trimLeft:function(){return ze},trimRight:function(){return Ze},vectorMagnitude:function(){return ur},vectorsAngle:function(){return lr},vectorsRatio:function(){return Ke}});var l=n(91597),f=n(11576),v=n(8474),g=n(86914),y=n(5542),T=n(46220),x=n(50610),b=n(18642),C=n(79075),A=n(30303),R=n(95265),P=n(32772),M=n(59483),I=n(45810),w=n(1261),F=n(80027),Y=n(36342);var j=function(h,t){return(j=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])})(h,t)};function B(h,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=h}j(h,t),h.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}function $(h){var t="";Array.isArray(h)||(h=[h]);for(var e=0;eh.phi1&&(h.phi2-=2*_),h.sweepFlag===1&&h.phi2r)return[];if(r===0)return[[h*e/(h*h+t*t),t*e/(h*h+t*t)]];var i=Math.sqrt(r);return[[(h*e+t*i)/(h*h+t*t),(t*e-h*i)/(h*h+t*t)],[(h*e-t*i)/(h*h+t*t),(t*e+h*i)/(h*h+t*t)]]}var tt,et=Math.PI/180;function st(h,t,e){return(1-e)*h+e*t}function ot(h,t,e,r){return h+Math.cos(r/180*_)*t+Math.sin(r/180*_)*e}function yt(h,t,e,r){var i=1e-6,a=t-h,o=e-t,s=3*a+3*(r-e)-6*o,u=6*(o-a),c=3*a;return Math.abs(s)H&&(m.sweepFlag=+!m.sweepFlag),m})}function o(){return function(s){var u={};for(var c in s)u[c]=s[c];return u}}h.ROUND=function(s){function u(c){return Math.round(c*s)/s}return s===void 0&&(s=1e13),Q(s),function(c){return c.x1!==void 0&&(c.x1=u(c.x1)),c.y1!==void 0&&(c.y1=u(c.y1)),c.x2!==void 0&&(c.x2=u(c.x2)),c.y2!==void 0&&(c.y2=u(c.y2)),c.x!==void 0&&(c.x=u(c.x)),c.y!==void 0&&(c.y=u(c.y)),c.rX!==void 0&&(c.rX=u(c.rX)),c.rY!==void 0&&(c.rY=u(c.rY)),c}},h.TO_ABS=t,h.TO_REL=function(){return i(function(s,u,c){return s.relative||(s.x1!==void 0&&(s.x1-=u),s.y1!==void 0&&(s.y1-=c),s.x2!==void 0&&(s.x2-=u),s.y2!==void 0&&(s.y2-=c),s.x!==void 0&&(s.x-=u),s.y!==void 0&&(s.y-=c),s.relative=!0),s})},h.NORMALIZE_HVZ=function(s,u,c){return s===void 0&&(s=!0),u===void 0&&(u=!0),c===void 0&&(c=!0),i(function(p,E,O,m,D){if(isNaN(m)&&!(p.type&N.MOVE_TO))throw new Error("path must start with moveto");return u&&p.type&N.HORIZ_LINE_TO&&(p.type=N.LINE_TO,p.y=p.relative?0:O),c&&p.type&N.VERT_LINE_TO&&(p.type=N.LINE_TO,p.x=p.relative?0:E),s&&p.type&N.CLOSE_PATH&&(p.type=N.LINE_TO,p.x=p.relative?m-E:m,p.y=p.relative?D-O:D),p.type&N.ARC&&(p.rX===0||p.rY===0)&&(p.type=N.LINE_TO,delete p.rX,delete p.rY,delete p.xRot,delete p.lArcFlag,delete p.sweepFlag),p})},h.NORMALIZE_ST=e,h.QT_TO_C=r,h.INFO=i,h.SANITIZE=function(s){s===void 0&&(s=0),Q(s);var u=NaN,c=NaN,p=NaN,E=NaN;return i(function(O,m,D,V,L){var U=Math.abs,K=!1,G=0,z=0;if(O.type&N.SMOOTH_CURVE_TO&&(G=isNaN(u)?0:m-u,z=isNaN(c)?0:D-c),O.type&(N.CURVE_TO|N.SMOOTH_CURVE_TO)?(u=O.relative?m+O.x2:O.x2,c=O.relative?D+O.y2:O.y2):(u=NaN,c=NaN),O.type&N.SMOOTH_QUAD_TO?(p=isNaN(p)?m:2*m-p,E=isNaN(E)?D:2*D-E):O.type&N.QUAD_TO?(p=O.relative?m+O.x1:O.x1,E=O.relative?D+O.y1:O.y2):(p=NaN,E=NaN),O.type&N.LINE_COMMANDS||O.type&N.ARC&&(O.rX===0||O.rY===0||!O.lArcFlag)||O.type&N.CURVE_TO||O.type&N.SMOOTH_CURVE_TO||O.type&N.QUAD_TO||O.type&N.SMOOTH_QUAD_TO){var rt=O.x===void 0?0:O.relative?O.x:O.x-m,at=O.y===void 0?0:O.relative?O.y:O.y-D;G=isNaN(p)?O.x1===void 0?G:O.relative?O.x:O.x1-m:p-m,z=isNaN(E)?O.y1===void 0?z:O.relative?O.y:O.y1-D:E-D;var H=O.x2===void 0?0:O.relative?O.x:O.x2-m,ct=O.y2===void 0?0:O.relative?O.y:O.y2-D;U(rt)<=s&&U(at)<=s&&U(G)<=s&&U(z)<=s&&U(H)<=s&&U(ct)<=s&&(K=!0)}return O.type&N.CLOSE_PATH&&U(m-V)<=s&&U(D-L)<=s&&(K=!0),K?[]:O})},h.MATRIX=a,h.ROTATE=function(s,u,c){u===void 0&&(u=0),c===void 0&&(c=0),Q(s,u,c);var p=Math.sin(s),E=Math.cos(s);return a(E,p,-p,E,u-u*E+c*p,c-u*p-c*E)},h.TRANSLATE=function(s,u){return u===void 0&&(u=0),Q(s,u),a(1,0,0,1,s,u)},h.SCALE=function(s,u){return u===void 0&&(u=s),Q(s,u),a(s,0,0,u,0,0)},h.SKEW_X=function(s){return Q(s),a(1,0,Math.atan(s),1,0,0)},h.SKEW_Y=function(s){return Q(s),a(1,Math.atan(s),0,1,0,0)},h.X_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),Q(s),a(-1,0,0,1,s,0)},h.Y_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),Q(s),a(1,0,0,-1,0,s)},h.A_TO_C=function(){return i(function(s,u,c){return N.ARC===s.type?function(p,E,O){var m,D,V,L;p.cX||k(p,E,O);for(var U=Math.min(p.phi1,p.phi2),K=Math.max(p.phi1,p.phi2)-U,G=Math.ceil(K/90),z=new Array(G),rt=E,at=O,H=0;HE.maxX&&(E.maxX=Ot),OtE.maxY&&(E.maxY=Ot),OtEt&&L(Z(m,V.x1,V.x2,V.x,Et));for(var z=0,rt=yt(D,V.y1,V.y2,V.y);zEt&&U(Z(D,V.y1,V.y2,V.y,Et))}if(V.type&N.ARC){L(V.x),U(V.y),k(V,m,D);for(var at=V.xRot/180*Math.PI,H=Math.cos(at)*V.rX,ct=Math.sin(at)*V.rX,vt=-Math.sin(at)*V.rY,pt=Math.cos(at)*V.rY,St=V.phi1V.phi2?[V.phi2+360,V.phi1+360]:[V.phi2,V.phi1],Tt=St[0],Lt=St[1],Bt=function(Ot){var Ft=Ot[0],Gt=Ot[1],Ht=180*Math.atan2(Gt,Ft)/Math.PI;return HtTt&&EtTt&&Et1?arguments[1]:void 0;return T?y(this,C,A)||0:v(this,C,A)}})},46220:function(d,S,n){"use strict";var l=n(18295),f=n(64744),v=n(85233),g=n(23836),y=n(92402).f,T=n(58302),x=n(70133),b=n(77667),C=n(73679),A="Array Iterator",R=g.set,P=g.getterFor(A);d.exports=T(Array,"Array",function(I,w){R(this,{type:A,target:l(I),index:0,kind:w})},function(){var I=P(this),w=I.target,F=I.index++;if(!w||F>=w.length)return I.target=null,x(void 0,!0);switch(I.kind){case"keys":return x(F,!1);case"values":return x(w[F],!1)}return x([F,w[F]],!1)},"values");var M=v.Arguments=v.Array;if(f("keys"),f("values"),f("entries"),!b&&C&&M.name!=="values")try{y(M,"name",{value:"values"})}catch(I){}},79075:function(d,S,n){"use strict";var l=n(82372),f=n(45333).left,v=n(67055),g=n(59410),y=n(12264),T=!y&&g>79&&g<83,x=T||!v("reduce");l({target:"Array",proto:!0,forced:x},{reduce:function(C){var A=arguments.length;return f(this,C,A,A>1?arguments[1]:void 0)}})},36342:function(d,S,n){"use strict";var l=n(82372),f=n(37725),v=n(60221),g=f([].reverse),y=[1,2];l({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return v(this)&&(this.length=this.length),g(this)}})},86487:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(25499),g=n(52878),y=n(46193),T=n(92948),x=n(23056);l({target:"Promise",stat:!0,forced:x},{all:function(C){var A=this,R=g.f(A),P=R.resolve,M=R.reject,I=y(function(){var w=v(A.resolve),F=[],Y=0,j=1;T(C,function(B){var $=Y++,X=!1;j++,f(w,A,B).then(function(Q){X||(X=!0,F[$]=Q,--j||P(F))},M)}),--j||P(F)});return I.error&&M(I.value),R.promise}})},95690:function(d,S,n){"use strict";var l=n(82372),f=n(77667),v=n(98060).CONSTRUCTOR,g=n(74199),y=n(4609),T=n(11800),x=n(11406),b=g&&g.prototype;if(l({target:"Promise",proto:!0,forced:v,real:!0},{catch:function(A){return this.then(void 0,A)}}),!f&&T(g)){var C=y("Promise").prototype.catch;b.catch!==C&&x(b,"catch",C,{unsafe:!0})}},93677:function(d,S,n){"use strict";var l=n(82372),f=n(77667),v=n(12264),g=n(93755),y=n(74022),T=n(65318),x=n(11406),b=n(30424),C=n(21812),A=n(29842),R=n(25499),P=n(11800),M=n(46638),I=n(70271),w=n(14099),F=n(84812).set,Y=n(94734),j=n(50358),B=n(46193),$=n(76408),X=n(23836),Q=n(74199),_=n(98060),k=n(52878),lt="Promise",tt=_.CONSTRUCTOR,et=_.REJECTION_EVENT,st=_.SUBCLASSING,ot=X.getterFor(lt),yt=X.set,Z=Q&&Q.prototype,J=Q,wt=Z,mt=g.TypeError,ut=g.document,ht=g.process,N=k.f,ft=N,Ut=!!(ut&&ut.createEvent&&g.dispatchEvent),At="unhandledrejection",Vt="rejectionhandled",qt=0,ie=1,Qt=2,le=1,he=2,_t,fe,ce,Zt,ve=function(W){var nt;return M(W)&&P(nt=W.then)?nt:!1},ge=function(W,nt){var gt=nt.value,dt=nt.state===ie,bt=dt?W.ok:W.fail,me=W.resolve,Le=W.reject,xe=W.domain,Ee,te,$e;try{bt?(dt||(nt.rejection===he&&Ze(nt),nt.rejection=le),bt===!0?Ee=gt:(xe&&xe.enter(),Ee=bt(gt),xe&&(xe.exit(),$e=!0)),Ee===W.promise?Le(new mt("Promise-chain cycle")):(te=ve(Ee))?T(te,Ee,me,Le):me(Ee)):Le(gt)}catch(ae){xe&&!$e&&xe.exit(),Le(ae)}},de=function(W,nt){W.notified||(W.notified=!0,Y(function(){for(var gt=W.reactions,dt;dt=gt.get();)ge(dt,W);W.notified=!1,nt&&!W.rejection&&Kt(W)}))},pe=function(W,nt,gt){var dt,bt;Ut?(dt=ut.createEvent("Event"),dt.promise=nt,dt.reason=gt,dt.initEvent(W,!1,!0),g.dispatchEvent(dt)):dt={promise:nt,reason:gt},!et&&(bt=g["on"+W])?bt(dt):W===At&&j("Unhandled promise rejection",gt)},Kt=function(W){T(F,g,function(){var nt=W.facade,gt=W.value,dt=ze(W),bt;if(dt&&(bt=B(function(){v?ht.emit("unhandledRejection",gt,nt):pe(At,nt,gt)}),W.rejection=v||ze(W)?he:le,bt.error))throw bt.value})},ze=function(W){return W.rejection!==le&&!W.parent},Ze=function(W){T(F,g,function(){var nt=W.facade;v?ht.emit("rejectionHandled",nt):pe(Vt,nt,W.value)})},It=function(W,nt,gt){return function(dt){W(nt,dt,gt)}},ye=function(W,nt,gt){W.done||(W.done=!0,gt&&(W=gt),W.value=nt,W.state=Qt,de(W,!0))},De=function(W,nt,gt){if(!W.done){W.done=!0,gt&&(W=gt);try{if(W.facade===nt)throw new mt("Promise can't be resolved itself");var dt=ve(nt);dt?Y(function(){var bt={done:!1};try{T(dt,nt,It(De,bt,W),It(ye,bt,W))}catch(me){ye(bt,me,W)}}):(W.value=nt,W.state=ie,de(W,!1))}catch(bt){ye({done:!1},bt,W)}}};if(tt&&(J=function(nt){I(this,wt),R(nt),T(_t,this);var gt=ot(this);try{nt(It(De,gt),It(ye,gt))}catch(dt){ye(gt,dt)}},wt=J.prototype,_t=function(nt){yt(this,{type:lt,done:!1,notified:!1,parent:!1,reactions:new $,rejection:!1,state:qt,value:null})},_t.prototype=x(wt,"then",function(nt,gt){var dt=ot(this),bt=N(w(this,J));return dt.parent=!0,bt.ok=P(nt)?nt:!0,bt.fail=P(gt)&>,bt.domain=v?ht.domain:void 0,dt.state===qt?dt.reactions.add(bt):Y(function(){ge(bt,dt)}),bt.promise}),fe=function(){var W=new _t,nt=ot(W);this.promise=W,this.resolve=It(De,nt),this.reject=It(ye,nt)},k.f=N=function(W){return W===J||W===ce?new fe(W):ft(W)},!f&&P(Q)&&Z!==Object.prototype)){Zt=Z.then,st||x(Z,"then",function(nt,gt){var dt=this;return new J(function(bt,me){T(Zt,dt,bt,me)}).then(nt,gt)},{unsafe:!0});try{delete Z.constructor}catch(W){}b&&b(Z,wt)}l({global:!0,constructor:!0,wrap:!0,forced:tt},{Promise:J}),ce=y.Promise,C(J,lt,!1,!0),A(lt)},91597:function(d,S,n){"use strict";n(93677),n(86487),n(95690),n(6523),n(25011),n(64056)},6523:function(d,S,n){"use strict";var l=n(82372),f=n(65318),v=n(25499),g=n(52878),y=n(46193),T=n(92948),x=n(23056);l({target:"Promise",stat:!0,forced:x},{race:function(C){var A=this,R=g.f(A),P=R.reject,M=y(function(){var I=v(A.resolve);T(C,function(w){f(I,A,w).then(R.resolve,P)})});return M.error&&P(M.value),R.promise}})},25011:function(d,S,n){"use strict";var l=n(82372),f=n(52878),v=n(98060).CONSTRUCTOR;l({target:"Promise",stat:!0,forced:v},{reject:function(y){var T=f.f(this),x=T.reject;return x(y),T.promise}})},64056:function(d,S,n){"use strict";var l=n(82372),f=n(4609),v=n(77667),g=n(74199),y=n(98060).CONSTRUCTOR,T=n(46374),x=f("Promise"),b=v&&!y;l({target:"Promise",stat:!0,forced:v||y},{resolve:function(A){return T(b&&this===x?g:this,A)}})},24343:function(d,S,n){"use strict";var l=n(82372),f=n(1513);l({target:"RegExp",proto:!0,forced:/./.exec!==f},{exec:f})},57815:function(d,S,n){"use strict";var l=n(80100).PROPER,f=n(11406),v=n(14752),g=n(11315),y=n(73130),T=n(89556),x="toString",b=RegExp.prototype,C=b[x],A=y(function(){return C.call({source:"a",flags:"b"})!=="/a/b"}),R=l&&C.name!==x;(A||R)&&f(b,x,function(){var M=v(this),I=g(M.source),w=g(T(M));return"/"+I+"/"+w},{unsafe:!0})},30303:function(d,S,n){"use strict";var l=n(82372),f=n(64866),v=n(54398).f,g=n(56005),y=n(11315),T=n(54914),x=n(72337),b=n(37101),C=n(77667),A=f("".slice),R=Math.min,P=b("endsWith"),M=!C&&!P&&!!function(){var I=v(String.prototype,"endsWith");return I&&!I.writable}();l({target:"String",proto:!0,forced:!M&&!P},{endsWith:function(w){var F=y(x(this));T(w);var Y=arguments.length>1?arguments[1]:void 0,j=F.length,B=Y===void 0?j:R(g(Y),j),$=y(w);return A(F,B-$.length,B)===$}})},80027:function(d,S,n){"use strict";var l=n(82372),f=n(37725),v=n(54914),g=n(72337),y=n(11315),T=n(37101),x=f("".indexOf);l({target:"String",proto:!0,forced:!T("includes")},{includes:function(C){return!!~x(y(g(this)),y(v(C)),arguments.length>1?arguments[1]:void 0)}})},8474:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(78381),g=n(14752),y=n(46638),T=n(56005),x=n(11315),b=n(72337),C=n(55884),A=n(78938),R=n(89556),P=n(10253),M=f("".indexOf);v("match",function(I,w,F){return[function(j){var B=b(this),$=y(j)?C(j,I):void 0;return $?l($,j,B):new RegExp(j)[I](x(B))},function(Y){var j=g(this),B=x(Y),$=F(w,j,B);if($.done)return $.value;var X=x(R(j));if(M(X,"g")===-1)return P(j,B);var Q=M(X,"u")!==-1;j.lastIndex=0;for(var _=[],k=0,lt;(lt=P(j,B))!==null;){var tt=x(lt[0]);_[k]=tt,tt===""&&(j.lastIndex=A(B,T(j.lastIndex),Q)),k++}return k===0?null:_}]})},86914:function(d,S,n){"use strict";var l=n(71016),f=n(65318),v=n(37725),g=n(78381),y=n(73130),T=n(14752),x=n(11800),b=n(46638),C=n(30921),A=n(56005),R=n(11315),P=n(72337),M=n(78938),I=n(55884),w=n(92506),F=n(89556),Y=n(10253),j=n(22171),B=j("replace"),$=Math.max,X=Math.min,Q=v([].concat),_=v([].push),k=v("".indexOf),lt=v("".slice),tt=function(yt){return yt===void 0?yt:String(yt)},et=function(){return"a".replace(/./,"$0")==="$0"}(),st=function(){return/./[B]?/./[B]("a","$0")==="":!1}(),ot=!y(function(){var yt=/./;return yt.exec=function(){var Z=[];return Z.groups={a:"7"},Z},"".replace(yt,"$")!=="7"});g("replace",function(yt,Z,J){var wt=st?"$":"$0";return[function(ut,ht){var N=P(this),ft=b(ut)?I(ut,B):void 0;return ft?f(ft,ut,N,ht):f(Z,R(N),ut,ht)},function(mt,ut){var ht=T(this),N=R(mt);if(typeof ut=="string"&&k(ut,wt)===-1&&k(ut,"$<")===-1){var ft=J(Z,ht,N,ut);if(ft.done)return ft.value}var Ut=x(ut);Ut||(ut=R(ut));var At=R(F(ht)),Vt=k(At,"g")!==-1,qt;Vt&&(qt=k(At,"u")!==-1,ht.lastIndex=0);for(var ie=[],Qt;Qt=Y(ht,N),!(Qt===null||(_(ie,Qt),!Vt));){var le=R(Qt[0]);le===""&&(ht.lastIndex=M(N,A(ht.lastIndex),qt))}for(var he="",_t=0,fe=0;fe=_t&&(he+=lt(N,_t,Zt)+ge,_t=Zt+ce.length)}return he+lt(N,_t)}]},!ot||!et||st)},95265:function(d,S,n){"use strict";var l=n(65318),f=n(37725),v=n(78381),g=n(14752),y=n(46638),T=n(72337),x=n(14099),b=n(78938),C=n(56005),A=n(11315),R=n(55884),P=n(10253),M=n(88797),I=n(73130),w=M.UNSUPPORTED_Y,F=4294967295,Y=Math.min,j=f([].push),B=f("".slice),$=!I(function(){var Q=/(?:)/,_=Q.exec;Q.exec=function(){return _.apply(this,arguments)};var k="ab".split(Q);return k.length!==2||k[0]!=="a"||k[1]!=="b"}),X="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;v("split",function(Q,_,k){var lt="0".split(void 0,0).length?function(tt,et){return tt===void 0&&et===0?[]:l(_,this,tt,et)}:_;return[function(et,st){var ot=T(this),yt=y(et)?R(et,Q):void 0;return yt?l(yt,et,ot,st):l(lt,A(ot),et,st)},function(tt,et){var st=g(this),ot=A(tt);if(!X){var yt=k(lt,st,ot,et,lt!==_);if(yt.done)return yt.value}var Z=x(st,RegExp),J=st.unicode,wt=(st.ignoreCase?"i":"")+(st.multiline?"m":"")+(st.unicode?"u":"")+(w?"g":"y"),mt=new Z(w?"^(?:"+st.source+")":st,wt),ut=et===void 0?F:et>>>0;if(ut===0)return[];if(ot.length===0)return P(mt,ot)===null?[ot]:[];for(var ht=0,N=0,ft=[];N1?arguments[1]:void 0,F.length)),j=y(w);return A(F,Y,Y+j.length)===j}})},59483:function(d,S,n){"use strict";var l=n(82372),f=n(95881).trim,v=n(2659);l({target:"String",proto:!0,forced:v("trim")},{trim:function(){return f(this)}})},50610:function(d,S,n){"use strict";var l=n(93755),f=n(53164),v=n(68376),g=n(46220),y=n(30600),T=n(21812),x=n(22171),b=x("iterator"),C=g.values,A=function(P,M){if(P){if(P[b]!==C)try{y(P,b,C)}catch(w){P[b]=C}if(T(P,M,!0),f[M]){for(var I in g)if(P[I]!==g[I])try{y(P,I,g[I])}catch(w){P[I]=g[I]}}}};for(var R in f)A(l[R]&&l[R].prototype,R);A(v,"DOMTokenList")},63754:function(d,S,n){"use strict";n.r(S),n.d(S,{AElement:function(){return un},AnimateColorElement:function(){return en},AnimateElement:function(){return qe},AnimateTransformElement:function(){return rn},BoundingBox:function(){return kt},CB1:function(){return hr},CB2:function(){return fr},CB3:function(){return cr},CB4:function(){return vr},Canvg:function(){return Ne},CircleElement:function(){return Xr},ClipPathElement:function(){return pn},DefsElement:function(){return Jr},DescElement:function(){return On},Document:function(){return ue},Element:function(){return Ct},EllipseElement:function(){return Wr},FeColorMatrixElement:function(){return br},FeCompositeElement:function(){return xn},FeDropShadowElement:function(){return yn},FeGaussianBlurElement:function(){return En},FeMorphologyElement:function(){return mn},FilterElement:function(){return We},Font:function(){return zt},FontElement:function(){return nn},FontFaceElement:function(){return an},GElement:function(){return Je},GlyphElement:function(){return xr},GradientElement:function(){return Or},ImageElement:function(){return fn},LineElement:function(){return Qr},LinearGradientElement:function(){return qr},MarkerElement:function(){return kr},MaskElement:function(){return Xe},Matrix:function(){return yr},MissingGlyphElement:function(){return sn},Mouse:function(){return Br},PSEUDO_ZERO:function(){return ae},Parser:function(){return ke},PathElement:function(){return xt},PathParser:function(){return it},PatternElement:function(){return Kr},Point:function(){return Rt},PolygonElement:function(){return Zr},PolylineElement:function(){return Tr},Property:function(){return q},QB1:function(){return gr},QB2:function(){return dr},QB3:function(){return pr},RadialGradientElement:function(){return _r},RectElement:function(){return Er},RenderedElement:function(){return Oe},Rotate:function(){return Gr},SVGElement:function(){return Be},SVGFontLoader:function(){return vn},Scale:function(){return zr},Screen:function(){return He},Skew:function(){return mr},SkewX:function(){return $r},SkewY:function(){return Hr},StopElement:function(){return tn},StyleElement:function(){return Sr},SymbolElement:function(){return cn},TRefElement:function(){return on},TSpanElement:function(){return Ye},TextElement:function(){return se},TextPathElement:function(){return hn},TitleElement:function(){return Tn},Transform:function(){return Te},Translate:function(){return jr},UnknownElement:function(){return Yr},UseElement:function(){return gn},ViewPort:function(){return Lr},compressSpaces:function(){return Kt},default:function(){return Ne},getSelectorSpecificity:function(){return $e},normalizeAttributeName:function(){return De},normalizeColor:function(){return nt},parseExternalUrl:function(){return W},presets:function(){return pe},toNumbers:function(){return It},trimLeft:function(){return ze},trimRight:function(){return Ze},vectorMagnitude:function(){return ur},vectorsAngle:function(){return lr},vectorsRatio:function(){return Ke}});var l=n(91597),f=n(11576),v=n(8474),g=n(86914),y=n(5542),T=n(46220),x=n(50610),b=n(18642),C=n(79075),A=n(30303),R=n(95265),P=n(32772),M=n(59483),I=n(45810),w=n(1261),F=n(80027),Y=n(36342);var j=function(h,t){return(j=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])})(h,t)};function B(h,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function e(){this.constructor=h}j(h,t),h.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}function $(h){var t="";Array.isArray(h)||(h=[h]);for(var e=0;eh.phi1&&(h.phi2-=2*_),h.sweepFlag===1&&h.phi2r)return[];if(r===0)return[[h*e/(h*h+t*t),t*e/(h*h+t*t)]];var i=Math.sqrt(r);return[[(h*e+t*i)/(h*h+t*t),(t*e-h*i)/(h*h+t*t)],[(h*e-t*i)/(h*h+t*t),(t*e+h*i)/(h*h+t*t)]]}var tt,et=Math.PI/180;function st(h,t,e){return(1-e)*h+e*t}function ot(h,t,e,r){return h+Math.cos(r/180*_)*t+Math.sin(r/180*_)*e}function yt(h,t,e,r){var i=1e-6,a=t-h,o=e-t,s=3*a+3*(r-e)-6*o,u=6*(o-a),c=3*a;return Math.abs(s)H&&(m.sweepFlag=+!m.sweepFlag),m})}function o(){return function(s){var u={};for(var c in s)u[c]=s[c];return u}}h.ROUND=function(s){function u(c){return Math.round(c*s)/s}return s===void 0&&(s=1e13),Q(s),function(c){return c.x1!==void 0&&(c.x1=u(c.x1)),c.y1!==void 0&&(c.y1=u(c.y1)),c.x2!==void 0&&(c.x2=u(c.x2)),c.y2!==void 0&&(c.y2=u(c.y2)),c.x!==void 0&&(c.x=u(c.x)),c.y!==void 0&&(c.y=u(c.y)),c.rX!==void 0&&(c.rX=u(c.rX)),c.rY!==void 0&&(c.rY=u(c.rY)),c}},h.TO_ABS=t,h.TO_REL=function(){return i(function(s,u,c){return s.relative||(s.x1!==void 0&&(s.x1-=u),s.y1!==void 0&&(s.y1-=c),s.x2!==void 0&&(s.x2-=u),s.y2!==void 0&&(s.y2-=c),s.x!==void 0&&(s.x-=u),s.y!==void 0&&(s.y-=c),s.relative=!0),s})},h.NORMALIZE_HVZ=function(s,u,c){return s===void 0&&(s=!0),u===void 0&&(u=!0),c===void 0&&(c=!0),i(function(p,E,O,m,D){if(isNaN(m)&&!(p.type&N.MOVE_TO))throw new Error("path must start with moveto");return u&&p.type&N.HORIZ_LINE_TO&&(p.type=N.LINE_TO,p.y=p.relative?0:O),c&&p.type&N.VERT_LINE_TO&&(p.type=N.LINE_TO,p.x=p.relative?0:E),s&&p.type&N.CLOSE_PATH&&(p.type=N.LINE_TO,p.x=p.relative?m-E:m,p.y=p.relative?D-O:D),p.type&N.ARC&&(p.rX===0||p.rY===0)&&(p.type=N.LINE_TO,delete p.rX,delete p.rY,delete p.xRot,delete p.lArcFlag,delete p.sweepFlag),p})},h.NORMALIZE_ST=e,h.QT_TO_C=r,h.INFO=i,h.SANITIZE=function(s){s===void 0&&(s=0),Q(s);var u=NaN,c=NaN,p=NaN,E=NaN;return i(function(O,m,D,V,L){var U=Math.abs,K=!1,G=0,z=0;if(O.type&N.SMOOTH_CURVE_TO&&(G=isNaN(u)?0:m-u,z=isNaN(c)?0:D-c),O.type&(N.CURVE_TO|N.SMOOTH_CURVE_TO)?(u=O.relative?m+O.x2:O.x2,c=O.relative?D+O.y2:O.y2):(u=NaN,c=NaN),O.type&N.SMOOTH_QUAD_TO?(p=isNaN(p)?m:2*m-p,E=isNaN(E)?D:2*D-E):O.type&N.QUAD_TO?(p=O.relative?m+O.x1:O.x1,E=O.relative?D+O.y1:O.y2):(p=NaN,E=NaN),O.type&N.LINE_COMMANDS||O.type&N.ARC&&(O.rX===0||O.rY===0||!O.lArcFlag)||O.type&N.CURVE_TO||O.type&N.SMOOTH_CURVE_TO||O.type&N.QUAD_TO||O.type&N.SMOOTH_QUAD_TO){var rt=O.x===void 0?0:O.relative?O.x:O.x-m,at=O.y===void 0?0:O.relative?O.y:O.y-D;G=isNaN(p)?O.x1===void 0?G:O.relative?O.x:O.x1-m:p-m,z=isNaN(E)?O.y1===void 0?z:O.relative?O.y:O.y1-D:E-D;var H=O.x2===void 0?0:O.relative?O.x:O.x2-m,ct=O.y2===void 0?0:O.relative?O.y:O.y2-D;U(rt)<=s&&U(at)<=s&&U(G)<=s&&U(z)<=s&&U(H)<=s&&U(ct)<=s&&(K=!0)}return O.type&N.CLOSE_PATH&&U(m-V)<=s&&U(D-L)<=s&&(K=!0),K?[]:O})},h.MATRIX=a,h.ROTATE=function(s,u,c){u===void 0&&(u=0),c===void 0&&(c=0),Q(s,u,c);var p=Math.sin(s),E=Math.cos(s);return a(E,p,-p,E,u-u*E+c*p,c-u*p-c*E)},h.TRANSLATE=function(s,u){return u===void 0&&(u=0),Q(s,u),a(1,0,0,1,s,u)},h.SCALE=function(s,u){return u===void 0&&(u=s),Q(s,u),a(s,0,0,u,0,0)},h.SKEW_X=function(s){return Q(s),a(1,0,Math.atan(s),1,0,0)},h.SKEW_Y=function(s){return Q(s),a(1,Math.atan(s),0,1,0,0)},h.X_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),Q(s),a(-1,0,0,1,s,0)},h.Y_AXIS_SYMMETRY=function(s){return s===void 0&&(s=0),Q(s),a(1,0,0,-1,0,s)},h.A_TO_C=function(){return i(function(s,u,c){return N.ARC===s.type?function(p,E,O){var m,D,V,L;p.cX||k(p,E,O);for(var U=Math.min(p.phi1,p.phi2),K=Math.max(p.phi1,p.phi2)-U,G=Math.ceil(K/90),z=new Array(G),rt=E,at=O,H=0;HE.maxX&&(E.maxX=Ot),OtE.maxY&&(E.maxY=Ot),OtEt&&L(Z(m,V.x1,V.x2,V.x,Et));for(var z=0,rt=yt(D,V.y1,V.y2,V.y);zEt&&U(Z(D,V.y1,V.y2,V.y,Et))}if(V.type&N.ARC){L(V.x),U(V.y),k(V,m,D);for(var at=V.xRot/180*Math.PI,H=Math.cos(at)*V.rX,ct=Math.sin(at)*V.rX,vt=-Math.sin(at)*V.rY,pt=Math.cos(at)*V.rY,St=V.phi1V.phi2?[V.phi2+360,V.phi1+360]:[V.phi2,V.phi1],Tt=St[0],Lt=St[1],Bt=function(Ot){var Ft=Ot[0],Gt=Ot[1],Ht=180*Math.atan2(Gt,Ft)/Math.PI;return HtTt&&EtTt&&Etp)throw new SyntaxError('Expected positive number, got "'+p+'" at index "'+o+'"')}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError('Expected a flag, got "'+this.curNumber+'" at index "'+o+'"')}this.curArgs.push(p),this.curArgs.length===ft[this.curCommandType]&&(N.HORIZ_LINE_TO===this.curCommandType?a({type:N.HORIZ_LINE_TO,relative:this.curCommandRelative,x:p}):N.VERT_LINE_TO===this.curCommandType?a({type:N.VERT_LINE_TO,relative:this.curCommandRelative,y:p}):this.curCommandType===N.MOVE_TO||this.curCommandType===N.LINE_TO||this.curCommandType===N.SMOOTH_QUAD_TO?(a({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),N.MOVE_TO===this.curCommandType&&(this.curCommandType=N.LINE_TO)):this.curCommandType===N.CURVE_TO?a({type:N.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===N.SMOOTH_CURVE_TO?a({type:N.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===N.QUAD_TO?a({type:N.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===N.ARC&&a({type:N.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!mt(s))if(s===","&&this.canParseCommandOrComma)this.canParseCommandOrComma=!1;else if(s!=="+"&&s!=="-"&&s!==".")if(c)this.curNumber=s,this.curNumberHasDecimal=!1;else{if(this.curArgs.length!==0)throw new SyntaxError("Unterminated command at index "+o+".");if(!this.canParseCommandOrComma)throw new SyntaxError('Unexpected character "'+s+'" at index '+o+". Command cannot follow comma");if(this.canParseCommandOrComma=!1,s!=="z"&&s!=="Z")if(s==="h"||s==="H")this.curCommandType=N.HORIZ_LINE_TO,this.curCommandRelative=s==="h";else if(s==="v"||s==="V")this.curCommandType=N.VERT_LINE_TO,this.curCommandRelative=s==="v";else if(s==="m"||s==="M")this.curCommandType=N.MOVE_TO,this.curCommandRelative=s==="m";else if(s==="l"||s==="L")this.curCommandType=N.LINE_TO,this.curCommandRelative=s==="l";else if(s==="c"||s==="C")this.curCommandType=N.CURVE_TO,this.curCommandRelative=s==="c";else if(s==="s"||s==="S")this.curCommandType=N.SMOOTH_CURVE_TO,this.curCommandRelative=s==="s";else if(s==="q"||s==="Q")this.curCommandType=N.QUAD_TO,this.curCommandRelative=s==="q";else if(s==="t"||s==="T")this.curCommandType=N.SMOOTH_QUAD_TO,this.curCommandRelative=s==="t";else{if(s!=="a"&&s!=="A")throw new SyntaxError('Unexpected character "'+s+'" at index '+o+".");this.curCommandType=N.ARC,this.curCommandRelative=s==="a"}else r.push({type:N.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1}else this.curNumber=s,this.curNumberHasDecimal=s==="."}else this.curNumber+=s,this.curNumberHasDecimal=!0;else this.curNumber+=s;else this.curNumber+=s,this.curNumberHasExp=!0;else this.curNumber+=s,this.curNumberHasExpDigits=this.curNumberHasExp}return r},t.prototype.transform=function(e){return Object.create(this,{parse:{value:function(r,i){i===void 0&&(i=[]);for(var a=0,o=Object.getPrototypeOf(this).parse.call(this,r);a>>rt;if(o[G+3]=Ce,Ce!==0){var Ae=255/Ce;o[G]=(Ot*z>>>rt)*Ae,o[G+1]=(Ft*z>>>rt)*Ae,o[G+2]=(Gt*z>>>rt)*Ae}else o[G]=o[G+1]=o[G+2]=0;Ot-=Mt,Ft-=Nt,Gt-=jt,Ht-=Et,Mt-=L.r,Nt-=L.g,jt-=L.b,Et-=L.a;var re=be+a+1;re=K+(re>>rt,Xt>0?(Xt=255/Xt,o[Wt]=(rr*z>>>rt)*Xt,o[Wt+1]=(nr*z>>>rt)*Xt,o[Wt+2]=(ir*z>>>rt)*Xt):o[Wt]=o[Wt+1]=o[Wt+2]=0,rr-=Ar,nr-=Pr,ir-=Rr,ar-=Nr,Ar-=L.r,Pr-=L.g,Rr-=L.b,Nr-=L.a,Wt=ne+((Wt=Dr+p)>>G,o[H+1]=Mt*K>>>G,o[H+2]=Nt*K>>>G,Pt-=Tt,Mt-=Lt,Nt-=Bt,Tt-=L.r,Lt-=L.g,Bt-=L.b,z=at+((z=Ht+a+1)>>G,o[z+1]=Ce*K>>>G,o[z+2]=Ae*K>>>G,be-=Fe,Ce-=Ue,Ae-=Se,Fe-=L.r,Ue-=L.g,Se-=L.b,z=$t+((z=ne+p)0&&arguments[0]!==void 0?arguments[0]:{},t={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:h,createCanvas(e,r){return new OffscreenCanvas(e,r)},createImage(e){return(0,f.Z)(function*(){var r=yield fetch(e),i=yield r.blob(),a=yield createImageBitmap(i);return a})()}};return(typeof DOMParser!="undefined"||typeof h=="undefined")&&Reflect.deleteProperty(t,"DOMParser"),t}function de(h){var{DOMParser:t,canvas:e,fetch:r}=h;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:t,fetch:r,createCanvas:e.createCanvas,createImage:e.loadImage}}var pe=Object.freeze({__proto__:null,offscreen:ge,node:de});function Kt(h){return h.replace(/(?!\u3000)\s+/gm," ")}function ze(h){return h.replace(/^[\n \t]+/,"")}function Ze(h){return h.replace(/[\n \t]+$/,"")}function It(h){var t=(h||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[];return t.map(parseFloat)}var ye=/^[A-Z-]+$/;function De(h){return ye.test(h)?h.toLowerCase():h}function W(h){var t=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(h)||[];return t[2]||t[3]||t[4]}function nt(h){if(!h.startsWith("rgb"))return h;var t=3,e=h.replace(/\d+(\.\d+)?/g,(r,i)=>t--&&i?String(Math.round(parseFloat(r))):r);return e}var gt=/(\[[^\]]+\])/g,dt=/(#[^\s+>~.[:]+)/g,bt=/(\.[^\s+>~.[:]+)/g,me=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Le=/(:[\w-]+\([^)]*\))/gi,xe=/(:[^\s+>~.[:]+)/g,Ee=/([^\s+>~.[:]+)/g;function te(h,t){var e=t.exec(h);return e?[h.replace(t," "),e.length]:[h,0]}function $e(h){var t=[0,0,0],e=h.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[e,r]=te(e,gt),t[1]+=r,[e,r]=te(e,dt),t[0]+=r,[e,r]=te(e,bt),t[1]+=r,[e,r]=te(e,me),t[2]+=r,[e,r]=te(e,Le),t[1]+=r,[e,r]=te(e,xe),t[1]+=r,e=e.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[e,r]=te(e,Ee),t[2]+=r,t.join("")}var ae=1e-8;function ur(h){return Math.sqrt(Math.pow(h[0],2)+Math.pow(h[1],2))}function Ke(h,t){return(h[0]*t[0]+h[1]*t[1])/(ur(h)*ur(t))}function lr(h,t){return(h[0]*t[1]0&&arguments[0]!==void 0?arguments[0]:" ",{document:e,name:r}=this;return Kt(this.getString()).trim().split(t).map(i=>new q(e,r,i))}hasValue(t){var{value:e}=this;return e!==null&&e!==""&&(t||e!==0)&&typeof e!="undefined"}isString(t){var{value:e}=this,r=typeof e=="string";return!r||!t?r:t.test(e)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;var t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return typeof t=="undefined"||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return typeof t=="undefined"?0:parseFloat(t);var{value:e}=this,r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getString(t){return typeof t=="undefined"||this.hasValue()?typeof this.value=="undefined"?"":String(this.value):String(t)}getColor(t){var e=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,e=nt(e),this.value=e),e}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!this.hasValue())return 0;var[r,i]=typeof t=="boolean"?[void 0,t]:[t],{viewPort:a}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(a.computeSize("x"),a.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(a.computeSize("x"),a.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*a.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*a.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&i):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*a.computeSize(r);default:{var o=this.getNumber();return e&&o<1?o*a.computeSize(r):o}}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():this.getNumber()*1e3:0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){var t=this.getString(),e=/#([^)'"]+)/.exec(t);return e&&(e=e[1]),e||(e=t),this.document.definitions[e]}getFillStyleDefinition(t,e){var r=this.getDefinition();if(!r)return null;if(typeof r.createGradient=="function")return r.createGradient(this.document.ctx,t,e);if(typeof r.createPattern=="function"){if(r.getHrefAttribute().hasValue()){var i=r.getAttribute("patternTransform");r=r.getHrefAttribute().getDefinition(),i.hasValue()&&r.getAttribute("patternTransform",!0).setValue(i.value)}return r.createPattern(this.document.ctx,t,e)}return null}getTextBaseline(){return this.hasValue()?q.textBaselineMapping[this.getString()]:null}addOpacity(t){for(var e=this.getColor(),r=e.length,i=0,a=0;a1&&arguments[1]!==void 0?arguments[1]:0,[r=e,i=e]=It(t);return new Rt(r,i)}static parseScale(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,[r=e,i=r]=It(t);return new Rt(r,i)}static parsePath(t){for(var e=It(t),r=e.length,i=[],a=0;a0}runEvents(){if(this.working){var{screen:t,events:e,eventElements:r}=this,{style:i}=t.ctx.canvas;i&&(i.cursor=""),e.forEach((a,o)=>{for(var{run:s}=a,u=r[o];u;)s(u),u=u.parent}),this.events=[],this.eventElements=[]}}checkPath(t,e){if(!(!this.working||!e)){var{events:r,eventElements:i}=this;r.forEach((a,o)=>{var{x:s,y:u}=a;!i[o]&&e.isPointInPath&&e.isPointInPath(s,u)&&(i[o]=t)})}}checkBoundingBox(t,e){if(!(!this.working||!e)){var{events:r,eventElements:i}=this;r.forEach((a,o)=>{var{x:s,y:u}=a;!i[o]&&e.isPointInBox(s,u)&&(i[o]=t)})}}mapXY(t,e){for(var{window:r,ctx:i}=this.screen,a=new Rt(t,e),o=i.canvas;o;)a.x-=o.offsetLeft,a.y-=o.offsetTop,o=o.offsetParent;return r.scrollX&&(a.x+=r.scrollX),r.scrollY&&(a.y+=r.scrollY),a}onClick(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:e,y:r,run(i){i.onClick&&i.onClick()}})}onMouseMove(t){var{x:e,y:r}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:e,y:r,run(i){i.onMouseMove&&i.onMouseMove()}})}}var Fr=typeof window!="undefined"?window:null,Ur=typeof fetch!="undefined"?fetch.bind(void 0):null;class He{constructor(t){var{fetch:e=Ur,window:r=Fr}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.ctx=t,this.FRAMERATE=30,this.MAX_VIRTUAL_PIXELS=3e4,this.CLIENT_WIDTH=800,this.CLIENT_HEIGHT=600,this.viewPort=new Lr,this.mouse=new Br(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=r,this.fetch=e}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;var t=this.waits.every(e=>e());return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox(t){var{document:e,ctx:r,aspectRatio:i,width:a,desiredWidth:o,height:s,desiredHeight:u,minX:c=0,minY:p=0,refX:E,refY:O,clip:m=!1,clipX:D=0,clipY:V=0}=t,L=Kt(i).replace(/^defer\s/,""),[U,K]=L.split(" "),G=U||"xMidYMid",z=K||"meet",rt=a/o,at=s/u,H=Math.min(rt,at),ct=Math.max(rt,at),vt=o,pt=u;z==="meet"&&(vt*=H,pt*=H),z==="slice"&&(vt*=ct,pt*=ct);var St=new q(e,"refX",E),Tt=new q(e,"refY",O),Lt=St.hasValue()&&Tt.hasValue();if(Lt&&r.translate(-H*St.getPixels("x"),-H*Tt.getPixels("y")),m){var Bt=H*D,Pt=H*V;r.beginPath(),r.moveTo(Bt,Pt),r.lineTo(a,Pt),r.lineTo(a,s),r.lineTo(Bt,s),r.closePath(),r.clip()}if(!Lt){var Mt=z==="meet"&&H===at,Nt=z==="slice"&&ct===at,jt=z==="meet"&&H===rt,Et=z==="slice"&&ct===rt;G.startsWith("xMid")&&(Mt||Nt)&&r.translate(a/2-vt/2,0),G.endsWith("YMid")&&(jt||Et)&&r.translate(0,s/2-pt/2),G.startsWith("xMax")&&(Mt||Nt)&&r.translate(a-vt,0),G.endsWith("YMax")&&(jt||Et)&&r.translate(0,s-pt)}switch(!0){case G==="none":r.scale(rt,at);break;case z==="meet":r.scale(H,H);break;case z==="slice":r.scale(ct,ct);break}r.translate(-c,-p)}start(t){var{enableRedraw:e=!1,ignoreMouse:r=!1,ignoreAnimation:i=!1,ignoreDimensions:a=!1,ignoreClear:o=!1,forceRedraw:s,scaleWidth:u,scaleHeight:c,offsetX:p,offsetY:E}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{FRAMERATE:O,mouse:m}=this,D=1e3/O;if(this.frameDuration=D,this.readyPromise=new Promise(G=>{this.resolveReady=G}),this.isReady()&&this.render(t,a,o,u,c,p,E),!!e){var V=Date.now(),L=V,U=0,K=()=>{V=Date.now(),U=V-L,U>=D&&(L=V-U%D,this.shouldUpdate(i,s)&&(this.render(t,a,o,u,c,p,E),m.runEvents())),this.intervalId=P(K)};r||m.start(),this.intervalId=P(K)}}stop(){this.intervalId&&(P.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,e){if(!t){var{frameDuration:r}=this,i=this.animations.reduce((a,o)=>o.update(r)||a,!1);if(i)return!0}return!!(typeof e=="function"&&e()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(t,e,r,i,a,o,s){var{CLIENT_WIDTH:u,CLIENT_HEIGHT:c,viewPort:p,ctx:E,isFirstRender:O}=this,m=E.canvas;p.clear(),m.width&&m.height?p.setCurrent(m.width,m.height):p.setCurrent(u,c);var D=t.getStyle("width"),V=t.getStyle("height");!e&&(O||typeof i!="number"&&typeof a!="number")&&(D.hasValue()&&(m.width=D.getPixels("x"),m.style&&(m.style.width="".concat(m.width,"px"))),V.hasValue()&&(m.height=V.getPixels("y"),m.style&&(m.style.height="".concat(m.height,"px"))));var L=m.clientWidth||m.width,U=m.clientHeight||m.height;if(e&&D.hasValue()&&V.hasValue()&&(L=D.getPixels("x"),U=V.getPixels("y")),p.setCurrent(L,U),typeof o=="number"&&t.getAttribute("x",!0).setValue(o),typeof s=="number"&&t.getAttribute("y",!0).setValue(s),typeof i=="number"||typeof a=="number"){var K=It(t.getAttribute("viewBox").getString()),G=0,z=0;if(typeof i=="number"){var rt=t.getStyle("width");rt.hasValue()?G=rt.getPixels("x")/i:isNaN(K[2])||(G=K[2]/i)}if(typeof a=="number"){var at=t.getStyle("height");at.hasValue()?z=at.getPixels("y")/a:isNaN(K[3])||(z=K[3]/a)}G||(G=z),z||(z=G),t.getAttribute("width",!0).setValue(i),t.getAttribute("height",!0).setValue(a);var H=t.getStyle("transform",!0,!0);H.setValue("".concat(H.getString()," scale(").concat(1/G,", ").concat(1/z,")"))}r||E.clearRect(0,0,L,U),t.render(E),O&&(this.isFirstRender=!1)}}He.defaultWindow=Fr,He.defaultFetch=Ur;var{defaultFetch:Pn}=He,Rn=typeof DOMParser!="undefined"?DOMParser:null;class ke{constructor(){var{fetch:t=Pn,DOMParser:e=Rn}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.fetch=t,this.DOMParser=e}parse(t){var e=this;return(0,f.Z)(function*(){return t.startsWith("<")?e.parseFromString(t):e.load(t)})()}parseFromString(t){var e=new this.DOMParser;try{return this.checkDocument(e.parseFromString(t,"image/svg+xml"))}catch(r){return this.checkDocument(e.parseFromString(t,"text/xml"))}}checkDocument(t){var e=t.getElementsByTagName("parsererror")[0];if(e)throw new Error(e.textContent);return t}load(t){var e=this;return(0,f.Z)(function*(){var r=yield e.fetch(t),i=yield r.text();return e.parseFromString(i)})()}}class jr{constructor(t,e){this.type="translate",this.point=null,this.point=Rt.parse(e)}apply(t){var{x:e,y:r}=this.point;t.translate(e||0,r||0)}unapply(t){var{x:e,y:r}=this.point;t.translate(-1*e||0,-1*r||0)}applyToPoint(t){var{x:e,y:r}=this.point;t.applyTransform([1,0,0,1,e||0,r||0])}}class Gr{constructor(t,e,r){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var i=It(e);this.angle=new q(t,"angle",i[0]),this.originX=r[0],this.originY=r[1],this.cx=i[1]||0,this.cy=i[2]||0}apply(t){var{cx:e,cy:r,originX:i,originY:a,angle:o}=this,s=e+i.getPixels("x"),u=r+a.getPixels("y");t.translate(s,u),t.rotate(o.getRadians()),t.translate(-s,-u)}unapply(t){var{cx:e,cy:r,originX:i,originY:a,angle:o}=this,s=e+i.getPixels("x"),u=r+a.getPixels("y");t.translate(s,u),t.rotate(-1*o.getRadians()),t.translate(-s,-u)}applyToPoint(t){var{cx:e,cy:r,angle:i}=this,a=i.getRadians();t.applyTransform([1,0,0,1,e||0,r||0]),t.applyTransform([Math.cos(a),Math.sin(a),-Math.sin(a),Math.cos(a),0,0]),t.applyTransform([1,0,0,1,-e||0,-r||0])}}class zr{constructor(t,e,r){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var i=Rt.parseScale(e);(i.x===0||i.y===0)&&(i.x=ae,i.y=ae),this.scale=i,this.originX=r[0],this.originY=r[1]}apply(t){var{scale:{x:e,y:r},originX:i,originY:a}=this,o=i.getPixels("x"),s=a.getPixels("y");t.translate(o,s),t.scale(e,r||e),t.translate(-o,-s)}unapply(t){var{scale:{x:e,y:r},originX:i,originY:a}=this,o=i.getPixels("x"),s=a.getPixels("y");t.translate(o,s),t.scale(1/e,1/r||e),t.translate(-o,-s)}applyToPoint(t){var{x:e,y:r}=this.scale;t.applyTransform([e||0,0,0,r||0,0,0])}}class yr{constructor(t,e,r){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=It(e),this.originX=r[0],this.originY=r[1]}apply(t){var{originX:e,originY:r,matrix:i}=this,a=e.getPixels("x"),o=r.getPixels("y");t.translate(a,o),t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),t.translate(-a,-o)}unapply(t){var{originX:e,originY:r,matrix:i}=this,a=i[0],o=i[2],s=i[4],u=i[1],c=i[3],p=i[5],E=0,O=0,m=1,D=1/(a*(c*m-p*O)-o*(u*m-p*E)+s*(u*O-c*E)),V=e.getPixels("x"),L=r.getPixels("y");t.translate(V,L),t.transform(D*(c*m-p*O),D*(p*E-u*m),D*(s*O-o*m),D*(a*m-s*E),D*(o*p-s*c),D*(s*u-a*p)),t.translate(-V,-L)}applyToPoint(t){t.applyTransform(this.matrix)}}class mr extends yr{constructor(t,e,r){super(t,e,r),this.type="skew",this.angle=null,this.angle=new q(t,"angle",e)}}class $r extends mr{constructor(t,e,r){super(t,e,r),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class Hr extends mr{constructor(t,e,r){super(t,e,r),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}function Nn(h){return Kt(h).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function In(h){var[t,e]=h.split("(");return[t.trim(),e.trim().replace(")","")]}class Te{constructor(t,e,r){this.document=t,this.transforms=[];var i=Nn(e);i.forEach(a=>{if(a!=="none"){var[o,s]=In(a),u=Te.transformTypes[o];typeof u!="undefined"&&this.transforms.push(new u(this.document,s,r))}})}static fromElement(t,e){var r=e.getStyle("transform",!1,!0),[i,a=i]=e.getStyle("transform-origin",!1,!0).split(),o=[i,a];return r.hasValue()?new Te(t,r.getString(),o):null}apply(t){for(var{transforms:e}=this,r=e.length,i=0;i=0;i--)e[i].unapply(t)}applyToPoint(t){for(var{transforms:e}=this,r=e.length,i=0;i2&&arguments[2]!==void 0?arguments[2]:!1;if(this.document=t,this.node=e,this.captureTextNodes=r,this.attributes=Object.create(null),this.styles=Object.create(null),this.stylesSpecificity=Object.create(null),this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],!(!e||e.nodeType!==1)){if(Array.from(e.attributes).forEach(s=>{var u=De(s.nodeName);this.attributes[u]=new q(t,u,s.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()){var i=this.getAttribute("style").getString().split(";").map(s=>s.trim());i.forEach(s=>{if(s){var[u,c]=s.split(":").map(p=>p.trim());this.styles[u]=new q(t,u,c)}})}var{definitions:a}=t,o=this.getAttribute("id");o.hasValue()&&(a[o.getString()]||(a[o.getString()]=this)),Array.from(e.childNodes).forEach(s=>{if(s.nodeType===1)this.addChild(s);else if(r&&(s.nodeType===3||s.nodeType===4)){var u=t.createTextNode(s);u.getText().length>0&&this.addChild(u)}})}}getAttribute(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=this.attributes[t];if(!r&&e){var i=new q(this.document,t,"");return this.attributes[t]=i,i}return r||q.empty(this.document)}getHrefAttribute(){for(var t in this.attributes)if(t==="href"||t.endsWith(":href"))return this.attributes[t];return q.empty(this.document)}getStyle(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=this.styles[t];if(i)return i;var a=this.getAttribute(t);if(a!=null&&a.hasValue())return this.styles[t]=a,a;if(!r){var{parent:o}=this;if(o){var s=o.getStyle(t);if(s!=null&&s.hasValue())return s}}if(e){var u=new q(this.document,t,"");return this.styles[t]=u,u}return i||q.empty(this.document)}render(t){if(!(this.getStyle("display").getString()==="none"||this.getStyle("visibility").getString()==="hidden")){if(t.save(),this.getStyle("mask").hasValue()){var e=this.getStyle("mask").getDefinition();e&&(this.applyEffects(t),e.apply(t,this))}else if(this.getStyle("filter").getValue("none")!=="none"){var r=this.getStyle("filter").getDefinition();r&&(this.applyEffects(t),r.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){var e=Te.fromElement(this.document,this);e&&e.apply(t);var r=this.getStyle("clip-path",!1,!0);if(r.hasValue()){var i=r.getDefinition();i&&i.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach(e=>{e.render(t)})}addChild(t){var e=t instanceof Ct?t:this.document.createElement(t);e.parent=this,Ct.ignoreChildTypes.includes(e.type)||this.children.push(e)}matchesSelector(t){var e,{node:r}=this;if(typeof r.matches=="function")return r.matches(t);var i=(e=r.getAttribute)===null||e===void 0?void 0:e.call(r,"class");return!i||i===""?!1:i.split(" ").some(a=>".".concat(a)===t)}addStylesFromStyleDefinition(){var{styles:t,stylesSpecificity:e}=this.document;for(var r in t)if(!r.startsWith("@")&&this.matchesSelector(r)){var i=t[r],a=e[r];if(i)for(var o in i){var s=this.stylesSpecificity[o];typeof s=="undefined"&&(s="000"),a>=s&&(this.styles[o]=i[o],this.stylesSpecificity[o]=a)}}}removeStyles(t,e){var r=e.reduce((i,a)=>{var o=t.getStyle(a);if(!o.hasValue())return i;var s=o.getString();return o.setValue(""),[...i,[a,s]]},[]);return r}restoreStyles(t,e){e.forEach(r=>{var[i,a]=r;t.getStyle(i,!0).setValue(a)})}isFirstChild(){var t;return((t=this.parent)===null||t===void 0?void 0:t.children.indexOf(this))===0}}Ct.ignoreChildTypes=["title"];class Yr extends Ct{constructor(t,e,r){super(t,e,r)}}function Mn(h){var t=h.trim();return/^('|")/.test(t)?t:'"'.concat(t,'"')}function wn(h){return typeof ve=="undefined"?h:h.trim().split(",").map(Mn).join(",")}function Vn(h){if(!h)return"";var t=h.trim().toLowerCase();switch(t){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return t;default:return/^oblique\s+(-|)\d+deg$/.test(t)?t:""}}function Dn(h){if(!h)return"";var t=h.trim().toLowerCase();switch(t){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return t;default:return/^[\d.]+$/.test(t)?t:""}}class zt{constructor(t,e,r,i,a,o){var s=o?typeof o=="string"?zt.parse(o):o:{};this.fontFamily=a||s.fontFamily,this.fontSize=i||s.fontSize,this.fontStyle=t||s.fontStyle,this.fontWeight=r||s.fontWeight,this.fontVariant=e||s.fontVariant}static parse(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0,r="",i="",a="",o="",s="",u=Kt(t).trim().split(" "),c={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return u.forEach(p=>{switch(!0){case(!c.fontStyle&&zt.styles.includes(p)):p!=="inherit"&&(r=p),c.fontStyle=!0;break;case(!c.fontVariant&&zt.variants.includes(p)):p!=="inherit"&&(i=p),c.fontStyle=!0,c.fontVariant=!0;break;case(!c.fontWeight&&zt.weights.includes(p)):p!=="inherit"&&(a=p),c.fontStyle=!0,c.fontVariant=!0,c.fontWeight=!0;break;case!c.fontSize:p!=="inherit"&&([o]=p.split("/")),c.fontStyle=!0,c.fontVariant=!0,c.fontWeight=!0,c.fontSize=!0;break;default:p!=="inherit"&&(s+=p)}}),new zt(r,i,a,o,s,e)}toString(){return[Vn(this.fontStyle),this.fontVariant,Dn(this.fontWeight),this.fontSize,wn(this.fontFamily)].join(" ").trim()}}zt.styles="normal|italic|oblique|inherit",zt.variants="normal|small-caps|inherit",zt.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class kt{constructor(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.NaN,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.NaN,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Number.NaN,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Number.NaN;this.x1=t,this.y1=e,this.x2=r,this.y2=i,this.addPoint(t,e),this.addPoint(r,i)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,e){typeof t!="undefined"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),tthis.x2&&(this.x2=t)),typeof e!="undefined"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),ethis.y2&&(this.y2=e))}addX(t){this.addPoint(t,null)}addY(t){this.addPoint(null,t)}addBoundingBox(t){if(t){var{x1:e,y1:r,x2:i,y2:a}=t;this.addPoint(e,r),this.addPoint(i,a)}}sumCubic(t,e,r,i,a){return Math.pow(1-t,3)*e+3*Math.pow(1-t,2)*t*r+3*(1-t)*Math.pow(t,2)*i+Math.pow(t,3)*a}bezierCurveAdd(t,e,r,i,a){var o=6*e-12*r+6*i,s=-3*e+9*r-9*i+3*a,u=3*r-3*e;if(s===0){if(o===0)return;var c=-u/o;0=e.length-1}next(){var t=this.commands[++this.i];return this.previousCommand=this.command,this.command=t,t}getPoint(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"x",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y",r=new Rt(this.command[t],this.command[e]);return this.makeAbsolute(r)}getAsControlPoint(t,e){var r=this.getPoint(t,e);return this.control=r,r}getAsCurrentPoint(t,e){var r=this.getPoint(t,e);return this.current=r,r}getReflectedControlPoint(){var t=this.previousCommand.type;if(t!==N.CURVE_TO&&t!==N.SMOOTH_CURVE_TO&&t!==N.QUAD_TO&&t!==N.SMOOTH_QUAD_TO)return this.current;var{current:{x:e,y:r},control:{x:i,y:a}}=this,o=new Rt(2*e-i,2*r-a);return o}makeAbsolute(t){if(this.command.relative){var{x:e,y:r}=this.current;t.x+=e,t.y+=r}return t}addMarker(t,e,r){var{points:i,angles:a}=this;r&&a.length>0&&!a[a.length-1]&&(a[a.length-1]=i[i.length-1].angleTo(r)),this.addMarkerAngle(t,e?e.angleTo(t):null)}addMarkerAngle(t,e){this.points.push(t),this.angles.push(e)}getMarkerPoints(){return this.points}getMarkerAngles(){for(var{angles:t}=this,e=t.length,r=0;r1&&arguments[1]!==void 0?arguments[1]:!1;if(!e){var r=this.getStyle("fill"),i=this.getStyle("fill-opacity"),a=this.getStyle("stroke"),o=this.getStyle("stroke-opacity");if(r.isUrlDefinition()){var s=r.getFillStyleDefinition(this,i);s&&(t.fillStyle=s)}else if(r.hasValue()){r.getString()==="currentColor"&&r.setValue(this.getStyle("color").getColor());var u=r.getColor();u!=="inherit"&&(t.fillStyle=u==="none"?"rgba(0,0,0,0)":u)}if(i.hasValue()){var c=new q(this.document,"fill",t.fillStyle).addOpacity(i).getColor();t.fillStyle=c}if(a.isUrlDefinition()){var p=a.getFillStyleDefinition(this,o);p&&(t.strokeStyle=p)}else if(a.hasValue()){a.getString()==="currentColor"&&a.setValue(this.getStyle("color").getColor());var E=a.getString();E!=="inherit"&&(t.strokeStyle=E==="none"?"rgba(0,0,0,0)":E)}if(o.hasValue()){var O=new q(this.document,"stroke",t.strokeStyle).addOpacity(o).getString();t.strokeStyle=O}var m=this.getStyle("stroke-width");if(m.hasValue()){var D=m.getPixels();t.lineWidth=D||ae}var V=this.getStyle("stroke-linecap"),L=this.getStyle("stroke-linejoin"),U=this.getStyle("stroke-miterlimit"),K=this.getStyle("stroke-dasharray"),G=this.getStyle("stroke-dashoffset");if(V.hasValue()&&(t.lineCap=V.getString()),L.hasValue()&&(t.lineJoin=L.getString()),U.hasValue()&&(t.miterLimit=U.getNumber()),K.hasValue()&&K.getString()!=="none"){var z=It(K.getString());typeof t.setLineDash!="undefined"?t.setLineDash(z):typeof t.webkitLineDash!="undefined"?t.webkitLineDash=z:typeof t.mozDash!="undefined"&&!(z.length===1&&z[0]===0)&&(t.mozDash=z);var rt=G.getPixels();typeof t.lineDashOffset!="undefined"?t.lineDashOffset=rt:typeof t.webkitLineDashOffset!="undefined"?t.webkitLineDashOffset=rt:typeof t.mozDashOffset!="undefined"&&(t.mozDashOffset=rt)}}if(this.modifiedEmSizeStack=!1,typeof t.font!="undefined"){var at=this.getStyle("font"),H=this.getStyle("font-style"),ct=this.getStyle("font-variant"),vt=this.getStyle("font-weight"),pt=this.getStyle("font-size"),St=this.getStyle("font-family"),Tt=new zt(H.getString(),ct.getString(),vt.getString(),pt.hasValue()?"".concat(pt.getPixels(!0),"px"):"",St.getString(),zt.parse(at.getString(),t.font));H.setValue(Tt.fontStyle),ct.setValue(Tt.fontVariant),vt.setValue(Tt.fontWeight),pt.setValue(Tt.fontSize),St.setValue(Tt.fontFamily),t.font=Tt.toString(),pt.isPixels()&&(this.document.emSize=pt.getPixels(),this.modifiedEmSizeStack=!0)}e||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class xt extends Oe{constructor(t,e,r){super(t,e,r),this.type="path",this.pathParser=null,this.pathParser=new it(this.getAttribute("d").getString())}path(t){var{pathParser:e}=this,r=new kt;for(e.reset(),t&&t.beginPath();!e.isEnd();)switch(e.next().type){case it.MOVE_TO:this.pathM(t,r);break;case it.LINE_TO:this.pathL(t,r);break;case it.HORIZ_LINE_TO:this.pathH(t,r);break;case it.VERT_LINE_TO:this.pathV(t,r);break;case it.CURVE_TO:this.pathC(t,r);break;case it.SMOOTH_CURVE_TO:this.pathS(t,r);break;case it.QUAD_TO:this.pathQ(t,r);break;case it.SMOOTH_QUAD_TO:this.pathT(t,r);break;case it.ARC:this.pathA(t,r);break;case it.CLOSE_PATH:this.pathZ(t,r);break}return r}getBoundingBox(t){return this.path()}getMarkers(){var{pathParser:t}=this,e=t.getMarkerPoints(),r=t.getMarkerAngles(),i=e.map((a,o)=>[a,r[o]]);return i}renderChildren(t){this.path(t),this.document.screen.mouse.checkPath(this,t);var e=this.getStyle("fill-rule");t.fillStyle!==""&&(e.getString("inherit")!=="inherit"?t.fill(e.getString()):t.fill()),t.strokeStyle!==""&&(this.getAttribute("vector-effect").getString()==="non-scaling-stroke"?(t.save(),t.setTransform(1,0,0,1,0,0),t.stroke(),t.restore()):t.stroke());var r=this.getMarkers();if(r){var i=r.length-1,a=this.getStyle("marker-start"),o=this.getStyle("marker-mid"),s=this.getStyle("marker-end");if(a.isUrlDefinition()){var u=a.getDefinition(),[c,p]=r[0];u.render(t,c,p)}if(o.isUrlDefinition())for(var E=o.getDefinition(),O=1;O1&&(i*=Math.sqrt(O),a*=Math.sqrt(O));var m=(s===u?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(a,2)-Math.pow(i,2)*Math.pow(E.y,2)-Math.pow(a,2)*Math.pow(E.x,2))/(Math.pow(i,2)*Math.pow(E.y,2)+Math.pow(a,2)*Math.pow(E.x,2)));isNaN(m)&&(m=0);var D=new Rt(m*i*E.y/a,m*-a*E.x/i),V=new Rt((e.x+p.x)/2+Math.cos(c)*D.x-Math.sin(c)*D.y,(e.y+p.y)/2+Math.sin(c)*D.x+Math.cos(c)*D.y),L=lr([1,0],[(E.x-D.x)/i,(E.y-D.y)/a]),U=[(E.x-D.x)/i,(E.y-D.y)/a],K=[(-E.x-D.x)/i,(-E.y-D.y)/a],G=lr(U,K);return Ke(U,K)<=-1&&(G=Math.PI),Ke(U,K)>=1&&(G=0),{currentPoint:p,rX:i,rY:a,sweepFlag:u,xAxisRotation:c,centp:V,a1:L,ad:G}}pathA(t,e){var{pathParser:r}=this,{currentPoint:i,rX:a,rY:o,sweepFlag:s,xAxisRotation:u,centp:c,a1:p,ad:E}=xt.pathA(r),O=1-s?1:-1,m=p+O*(E/2),D=new Rt(c.x+a*Math.cos(m),c.y+o*Math.sin(m));if(r.addMarkerAngle(D,m-O*Math.PI/2),r.addMarkerAngle(i,m-O*Math.PI),e.addPoint(i.x,i.y),t&&!isNaN(p)&&!isNaN(E)){var V=a>o?a:o,L=a>o?1:a/o,U=a>o?o/a:1;t.translate(c.x,c.y),t.rotate(u),t.scale(L,U),t.arc(0,0,V,p,p+E,!!(1-s)),t.scale(1/L,1/U),t.rotate(-u),t.translate(-c.x,-c.y)}}static pathZ(t){t.current=t.start}pathZ(t,e){xt.pathZ(this.pathParser),t&&e.x1!==e.x2&&e.y1!==e.y2&&t.closePath()}}class xr extends xt{constructor(t,e,r){super(t,e,r),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class se extends Oe{constructor(t,e,r){super(t,e,new.target===se?!0:r),this.type="text",this.x=0,this.y=0,this.measureCache=-1}setContext(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;super.setContext(t,e);var r=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();r&&(t.textBaseline=r)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(t){if(this.type!=="text")return this.getTElementBoundingBox(t);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t);var e=null;return this.children.forEach((r,i)=>{var a=this.getChildBoundingBox(t,this,this,i);e?e.addBoundingBox(a):e=a}),e}getFontSize(){var{document:t,parent:e}=this,r=zt.parse(t.ctx.font).fontSize,i=e.getStyle("font-size").getNumber(r);return i}getTElementBoundingBox(t){var e=this.getFontSize();return new kt(this.x,this.y-e,this.x+this.measureText(t),this.y)}getGlyph(t,e,r){var i=e[r],a=null;if(t.isArabic){var o=e.length,s=e[r-1],u=e[r+1],c="isolated";if((r===0||s===" ")&&r0&&s!==" "&&r0&&s!==" "&&(r===o-1||u===" ")&&(c="initial"),typeof t.glyphs[i]!="undefined"){var p=t.glyphs[i];a=p instanceof xr?p:p[c]}}else a=t.glyphs[i];return a||(a=t.missingGlyph),a}getText(){return""}getTextFromNode(t){var e=t||this.node,r=Array.from(e.parentNode.childNodes),i=r.indexOf(e),a=r.length-1,o=Kt(e.textContent||"");return i===0&&(o=ze(o)),i===a&&(o=Ze(o)),o}renderChildren(t){if(this.type!=="text"){this.renderTElementChildren(t);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t),this.children.forEach((r,i)=>{this.renderChild(t,this,this,i)});var{mouse:e}=this.document.screen;e.isWorking()&&e.checkBoundingBox(this,this.getBoundingBox(t))}renderTElementChildren(t){var{document:e,parent:r}=this,i=this.getText(),a=r.getStyle("font-family").getDefinition();if(a){for(var{unitsPerEm:o}=a.fontFace,s=zt.parse(e.ctx.font),u=r.getStyle("font-size").getNumber(s.fontSize),c=r.getStyle("font-style").getString(s.fontStyle),p=u/o,E=a.isRTL?i.split("").reverse().join(""):i,O=It(r.getAttribute("dx").getString()),m=E.length,D=0;D=this.leafTexts.length)){var t=this.leafTexts[this.textChunkStart],e=t.getStyle("text-anchor").getString("start"),r=!1,i=0;e==="start"&&!r||e==="end"&&r?i=t.x-this.minX:e==="end"&&!r||e==="start"&&r?i=t.x-this.maxX:i=t.x-(this.minX+this.maxX)/2;for(var a=this.textChunkStart;a{this.adjustChildCoordinatesRecursiveCore(t,this,this,r)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(t,e,r,i){var a=r.children[i];a.children.length>0?a.children.forEach((o,s)=>{e.adjustChildCoordinatesRecursiveCore(t,e,a,s)}):this.adjustChildCoordinates(t,e,r,i)}adjustChildCoordinates(t,e,r,i){var a=r.children[i];if(typeof a.measureText!="function")return a;t.save(),a.setContext(t,!0);var o=a.getAttribute("x"),s=a.getAttribute("y"),u=a.getAttribute("dx"),c=a.getAttribute("dy"),p=a.getStyle("font-family").getDefinition(),E=!!p&&p.isRTL;i===0&&(o.hasValue()||o.setValue(a.getInheritedAttribute("x")),s.hasValue()||s.setValue(a.getInheritedAttribute("y")),u.hasValue()||u.setValue(a.getInheritedAttribute("dx")),c.hasValue()||c.setValue(a.getInheritedAttribute("dy")));var O=a.measureText(t);return E&&(e.x-=O),o.hasValue()?(e.applyAnchoring(),a.x=o.getPixels("x"),u.hasValue()&&(a.x+=u.getPixels("x"))):(u.hasValue()&&(e.x+=u.getPixels("x")),a.x=e.x),e.x=a.x,E||(e.x+=O),s.hasValue()?(a.y=s.getPixels("y"),c.hasValue()&&(a.y+=c.getPixels("y"))):(c.hasValue()&&(e.y+=c.getPixels("y")),a.y=e.y),e.y=a.y,e.leafTexts.push(a),e.minX=Math.min(e.minX,a.x,a.x+O),e.maxX=Math.max(e.maxX,a.x,a.x+O),a.clearContext(t),t.restore(),a}getChildBoundingBox(t,e,r,i){var a=r.children[i];if(typeof a.getBoundingBox!="function")return null;var o=a.getBoundingBox(t);return o?(a.children.forEach((s,u)=>{var c=e.getChildBoundingBox(t,e,a,u);o.addBoundingBox(c)}),o):null}renderChild(t,e,r,i){var a=r.children[i];a.render(t),a.children.forEach((o,s)=>{e.renderChild(t,e,a,s)})}measureText(t){var{measureCache:e}=this;if(~e)return e;var r=this.getText(),i=this.measureTargetText(t,r);return this.measureCache=i,i}measureTargetText(t,e){if(!e.length)return 0;var{parent:r}=this,i=r.getStyle("font-family").getDefinition();if(i){for(var a=this.getFontSize(),o=i.isRTL?e.split("").reverse().join(""):e,s=It(r.getAttribute("dx").getString()),u=o.length,c=0,p=0;p0?"":this.getTextFromNode()}getText(){return this.text}}class Ln extends Ye{constructor(){super(...arguments),this.type="textNode"}}class Be extends Oe{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(t){var e,{document:r}=this,{screen:i,window:a}=r,o=t.canvas;if(i.setDefaults(t),o.style&&typeof t.font!="undefined"&&a&&typeof a.getComputedStyle!="undefined"){t.font=a.getComputedStyle(o).getPropertyValue("font");var s=new q(r,"fontSize",zt.parse(t.font).fontSize);s.hasValue()&&(r.rootEmSize=s.getPixels("y"),r.emSize=r.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);var{width:u,height:c}=i.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");var p=this.getAttribute("refX"),E=this.getAttribute("refY"),O=this.getAttribute("viewBox"),m=O.hasValue()?It(O.getString()):null,D=!this.root&&this.getStyle("overflow").getValue("hidden")!=="visible",V=0,L=0,U=0,K=0;m&&(V=m[0],L=m[1]),this.root||(u=this.getStyle("width").getPixels("x"),c=this.getStyle("height").getPixels("y"),this.type==="marker"&&(U=V,K=L,V=0,L=0)),i.viewPort.setCurrent(u,c),this.node&&(!this.parent||((e=this.node.parentNode)===null||e===void 0?void 0:e.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(t),t.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),m&&(u=m[2],c=m[3]),r.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:i.viewPort.width,desiredWidth:u,height:i.viewPort.height,desiredHeight:c,minX:V,minY:L,refX:p.getValue(),refY:E.getValue(),clip:D,clipX:U,clipY:K}),m&&(i.viewPort.removeCurrent(),i.viewPort.setCurrent(u,c))}clearContext(t){super.clearContext(t),this.document.screen.viewPort.removeCurrent()}resize(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=this.getAttribute("width",!0),a=this.getAttribute("height",!0),o=this.getAttribute("viewBox"),s=this.getAttribute("style"),u=i.getNumber(0),c=a.getNumber(0);if(r)if(typeof r=="string")this.getAttribute("preserveAspectRatio",!0).setValue(r);else{var p=this.getAttribute("preserveAspectRatio");p.hasValue()&&p.setValue(p.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}if(i.setValue(t),a.setValue(e),o.hasValue()||o.setValue("0 0 ".concat(u||t," ").concat(c||e)),s.hasValue()){var E=this.getStyle("width"),O=this.getStyle("height");E.hasValue()&&E.setValue("".concat(t,"px")),O.hasValue()&&O.setValue("".concat(e,"px"))}}}class Er extends xt{constructor(){super(...arguments),this.type="rect"}path(t){var e=this.getAttribute("x").getPixels("x"),r=this.getAttribute("y").getPixels("y"),i=this.getStyle("width",!1,!0).getPixels("x"),a=this.getStyle("height",!1,!0).getPixels("y"),o=this.getAttribute("rx"),s=this.getAttribute("ry"),u=o.getPixels("x"),c=s.getPixels("y");if(o.hasValue()&&!s.hasValue()&&(c=u),s.hasValue()&&!o.hasValue()&&(u=c),u=Math.min(u,i/2),c=Math.min(c,a/2),t){var p=4*((Math.sqrt(2)-1)/3);t.beginPath(),a>0&&i>0&&(t.moveTo(e+u,r),t.lineTo(e+i-u,r),t.bezierCurveTo(e+i-u+p*u,r,e+i,r+c-p*c,e+i,r+c),t.lineTo(e+i,r+a-c),t.bezierCurveTo(e+i,r+a-c+p*c,e+i-u+p*u,r+a,e+i-u,r+a),t.lineTo(e+u,r+a),t.bezierCurveTo(e+u-p*u,r+a,e,r+a-c+p*c,e,r+a-c),t.lineTo(e,r+c),t.bezierCurveTo(e,r+c-p*c,e+u-p*u,r,e+u,r),t.closePath())}return new kt(e,r,e+i,r+a)}getMarkers(){return null}}class Xr extends xt{constructor(){super(...arguments),this.type="circle"}path(t){var e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),i=this.getAttribute("r").getPixels();return t&&i>0&&(t.beginPath(),t.arc(e,r,i,0,Math.PI*2,!1),t.closePath()),new kt(e-i,r-i,e+i,r+i)}getMarkers(){return null}}class Wr extends xt{constructor(){super(...arguments),this.type="ellipse"}path(t){var e=4*((Math.sqrt(2)-1)/3),r=this.getAttribute("rx").getPixels("x"),i=this.getAttribute("ry").getPixels("y"),a=this.getAttribute("cx").getPixels("x"),o=this.getAttribute("cy").getPixels("y");return t&&r>0&&i>0&&(t.beginPath(),t.moveTo(a+r,o),t.bezierCurveTo(a+r,o+e*i,a+e*r,o+i,a,o+i),t.bezierCurveTo(a-e*r,o+i,a-r,o+e*i,a-r,o),t.bezierCurveTo(a-r,o-e*i,a-e*r,o-i,a,o-i),t.bezierCurveTo(a+e*r,o-i,a+r,o-e*i,a+r,o),t.closePath()),new kt(a-r,o-i,a+r,o+i)}getMarkers(){return null}}class Qr extends xt{constructor(){super(...arguments),this.type="line"}getPoints(){return[new Rt(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new Rt(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(t){var[{x:e,y:r},{x:i,y:a}]=this.getPoints();return t&&(t.beginPath(),t.moveTo(e,r),t.lineTo(i,a)),new kt(e,r,i,a)}getMarkers(){var[t,e]=this.getPoints(),r=t.angleTo(e);return[[t,r],[e,r]]}}class Tr extends xt{constructor(t,e,r){super(t,e,r),this.type="polyline",this.points=[],this.points=Rt.parsePath(this.getAttribute("points").getString())}path(t){var{points:e}=this,[{x:r,y:i}]=e,a=new kt(r,i);return t&&(t.beginPath(),t.moveTo(r,i)),e.forEach(o=>{var{x:s,y:u}=o;a.addPoint(s,u),t&&t.lineTo(s,u)}),a}getMarkers(){var{points:t}=this,e=t.length-1,r=[];return t.forEach((i,a)=>{a!==e&&r.push([i,i.angleTo(t[a+1])])}),r.length>0&&r.push([t[t.length-1],r[r.length-1][1]]),r}}class Zr extends Tr{constructor(){super(...arguments),this.type="polygon"}path(t){var e=super.path(t),[{x:r,y:i}]=this.points;return t&&(t.lineTo(r,i),t.closePath()),e}}class Kr extends Ct{constructor(){super(...arguments),this.type="pattern"}createPattern(t,e,r){var i=this.getStyle("width").getPixels("x",!0),a=this.getStyle("height").getPixels("y",!0),o=new Be(this.document,null);o.attributes.viewBox=new q(this.document,"viewBox",this.getAttribute("viewBox").getValue()),o.attributes.width=new q(this.document,"width","".concat(i,"px")),o.attributes.height=new q(this.document,"height","".concat(a,"px")),o.attributes.transform=new q(this.document,"transform",this.getAttribute("patternTransform").getValue()),o.children=this.children;var s=this.document.createCanvas(i,a),u=s.getContext("2d"),c=this.getAttribute("x"),p=this.getAttribute("y");c.hasValue()&&p.hasValue()&&u.translate(c.getPixels("x",!0),p.getPixels("y",!0)),r.hasValue()?this.styles["fill-opacity"]=r:Reflect.deleteProperty(this.styles,"fill-opacity");for(var E=-1;E<=1;E++)for(var O=-1;O<=1;O++)u.save(),o.attributes.x=new q(this.document,"x",E*s.width),o.attributes.y=new q(this.document,"y",O*s.height),o.render(u),u.restore();var m=t.createPattern(s,"repeat");return m}}class kr extends Ct{constructor(){super(...arguments),this.type="marker"}render(t,e,r){if(e){var{x:i,y:a}=e,o=this.getAttribute("orient").getString("auto"),s=this.getAttribute("markerUnits").getString("strokeWidth");t.translate(i,a),o==="auto"&&t.rotate(r),s==="strokeWidth"&&t.scale(t.lineWidth,t.lineWidth),t.save();var u=new Be(this.document,null);u.type=this.type,u.attributes.viewBox=new q(this.document,"viewBox",this.getAttribute("viewBox").getValue()),u.attributes.refX=new q(this.document,"refX",this.getAttribute("refX").getValue()),u.attributes.refY=new q(this.document,"refY",this.getAttribute("refY").getValue()),u.attributes.width=new q(this.document,"width",this.getAttribute("markerWidth").getValue()),u.attributes.height=new q(this.document,"height",this.getAttribute("markerHeight").getValue()),u.attributes.overflow=new q(this.document,"overflow",this.getAttribute("overflow").getValue()),u.attributes.fill=new q(this.document,"fill",this.getAttribute("fill").getColor("black")),u.attributes.stroke=new q(this.document,"stroke",this.getAttribute("stroke").getValue("none")),u.children=this.children,u.render(t),t.restore(),s==="strokeWidth"&&t.scale(1/t.lineWidth,1/t.lineWidth),o==="auto"&&t.rotate(-r),t.translate(-i,-a)}}}class Jr extends Ct{constructor(){super(...arguments),this.type="defs"}render(){}}class Je extends Oe{constructor(){super(...arguments),this.type="g"}getBoundingBox(t){var e=new kt;return this.children.forEach(r=>{e.addBoundingBox(r.getBoundingBox(t))}),e}}class Or extends Ct{constructor(t,e,r){super(t,e,r),this.attributesToInherit=["gradientUnits"],this.stops=[];var{stops:i,children:a}=this;a.forEach(o=>{o.type==="stop"&&i.push(o)})}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(t,e,r){var i=this;this.getHrefAttribute().hasValue()&&(i=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(i));var{stops:a}=i,o=this.getGradient(t,e);if(!o)return this.addParentOpacity(r,a[a.length-1].color);if(a.forEach(L=>{o.addColorStop(L.offset,this.addParentOpacity(r,L.color))}),this.getAttribute("gradientTransform").hasValue()){var{document:s}=this,{MAX_VIRTUAL_PIXELS:u,viewPort:c}=s.screen,[p]=c.viewPorts,E=new Er(s,null);E.attributes.x=new q(s,"x",-u/3),E.attributes.y=new q(s,"y",-u/3),E.attributes.width=new q(s,"width",u),E.attributes.height=new q(s,"height",u);var O=new Je(s,null);O.attributes.transform=new q(s,"transform",this.getAttribute("gradientTransform").getValue()),O.children=[E];var m=new Be(s,null);m.attributes.x=new q(s,"x",0),m.attributes.y=new q(s,"y",0),m.attributes.width=new q(s,"width",p.width),m.attributes.height=new q(s,"height",p.height),m.children=[O];var D=s.createCanvas(p.width,p.height),V=D.getContext("2d");return V.fillStyle=o,m.render(V),V.createPattern(D,"no-repeat")}return o}inheritStopContainer(t){this.attributesToInherit.forEach(e=>{!this.getAttribute(e).hasValue()&&t.getAttribute(e).hasValue()&&this.getAttribute(e,!0).setValue(t.getAttribute(e).getValue())})}addParentOpacity(t,e){if(t.hasValue()){var r=new q(this.document,"color",e);return r.addOpacity(t).getColor()}return e}}class qr extends Or{constructor(t,e,r){super(t,e,r),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(t,e){var r=this.getGradientUnits()==="objectBoundingBox",i=r?e.getBoundingBox(t):null;if(r&&!i)return null;!this.getAttribute("x1").hasValue()&&!this.getAttribute("y1").hasValue()&&!this.getAttribute("x2").hasValue()&&!this.getAttribute("y2").hasValue()&&(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));var a=r?i.x+i.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),o=r?i.y+i.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),s=r?i.x+i.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),u=r?i.y+i.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return a===s&&o===u?null:t.createLinearGradient(a,o,s,u)}}class _r extends Or{constructor(t,e,r){super(t,e,r),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(t,e){var r=this.getGradientUnits()==="objectBoundingBox",i=e.getBoundingBox(t);if(r&&!i)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");var a=r?i.x+i.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),o=r?i.y+i.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y"),s=a,u=o;this.getAttribute("fx").hasValue()&&(s=r?i.x+i.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(u=r?i.y+i.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));var c=r?(i.width+i.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),p=this.getAttribute("fr").getPixels();return t.createRadialGradient(s,u,p,a,o,c)}}class tn extends Ct{constructor(t,e,r){super(t,e,r),this.type="stop";var i=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),a=this.getStyle("stop-opacity"),o=this.getStyle("stop-color",!0);o.getString()===""&&o.setValue("#000"),a.hasValue()&&(o=o.addOpacity(a)),this.offset=i,this.color=o.getColor()}}class qe extends Ct{constructor(t,e,r){super(t,e,r),this.type="animate",this.duration=0,this.initialValue=null,this.initialUnits="",this.removed=!1,this.frozen=!1,t.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new q(t,"values",null);var i=this.getAttribute("values");i.hasValue()&&this.values.setValue(i.getString().split(";"))}getProperty(){var t=this.getAttribute("attributeType").getString(),e=this.getAttribute("attributeName").getString();return t==="CSS"?this.parent.getStyle(e,!0):this.parent.getAttribute(e,!0)}calcValue(){var{initialUnits:t}=this,{progress:e,from:r,to:i}=this.getProgress(),a=r.getNumber()+(i.getNumber()-r.getNumber())*e;return t==="%"&&(a*=100),"".concat(a).concat(t)}update(t){var{parent:e}=this,r=this.getProperty();if(this.initialValue||(this.initialValue=r.getString(),this.initialUnits=r.getUnits()),this.duration>this.maxDuration){var i=this.getAttribute("fill").getString("remove");if(this.getAttribute("repeatCount").getString()==="indefinite"||this.getAttribute("repeatDur").getString()==="indefinite")this.duration=0;else if(i==="freeze"&&!this.frozen)this.frozen=!0,e.animationFrozen=!0,e.animationFrozenValue=r.getString();else if(i==="remove"&&!this.removed)return this.removed=!0,r.setValue(e.animationFrozen?e.animationFrozenValue:this.initialValue),!0;return!1}this.duration+=t;var a=!1;if(this.begin{var c=a[u];return s+(c-s)*t}).join(" ");return o}}class nn extends Ct{constructor(t,e,r){super(t,e,r),this.type="font",this.glyphs=Object.create(null),this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();var{definitions:i}=t,{children:a}=this;for(var o of a)switch(o.type){case"font-face":{this.fontFace=o;var s=o.getStyle("font-family");s.hasValue()&&(i[s.getString()]=this);break}case"missing-glyph":this.missingGlyph=o;break;case"glyph":{var u=o;u.arabicForm?(this.isRTL=!0,this.isArabic=!0,typeof this.glyphs[u.unicode]=="undefined"&&(this.glyphs[u.unicode]=Object.create(null)),this.glyphs[u.unicode][u.arabicForm]=u):this.glyphs[u.unicode]=u;break}}}render(){}}class an extends Ct{constructor(t,e,r){super(t,e,r),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class sn extends xt{constructor(){super(...arguments),this.type="missing-glyph",this.horizAdvX=0}}class on extends se{constructor(){super(...arguments),this.type="tref"}getText(){var t=this.getHrefAttribute().getDefinition();if(t){var e=t.children[0];if(e)return e.getText()}return""}}class un extends se{constructor(t,e,r){super(t,e,r),this.type="a";var{childNodes:i}=e,a=i[0],o=i.length>0&&Array.from(i).every(s=>s.nodeType===3);this.hasText=o,this.text=o?this.getTextFromNode(a):""}getText(){return this.text}renderChildren(t){if(this.hasText){super.renderChildren(t);var{document:e,x:r,y:i}=this,{mouse:a}=e.screen,o=new q(e,"fontSize",zt.parse(e.ctx.font).fontSize);a.isWorking()&&a.checkBoundingBox(this,new kt(r,i-o.getPixels("y"),r+this.measureText(t),i))}else if(this.children.length>0){var s=new Je(this.document,null);s.children=this.children,s.parent=this,s.render(t)}}onClick(){var{window:t}=this.document;t&&t.open(this.getHrefAttribute().getString())}onMouseMove(){var t=this.document.ctx;t.canvas.style.cursor="pointer"}}function ln(h,t){var e=Object.keys(h);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(h);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(h,i).enumerable})),e.push.apply(e,r)}return e}function _e(h){for(var t=1;t{var{type:i,points:a}=r;switch(i){case it.LINE_TO:t&&t.lineTo(a[0],a[1]);break;case it.MOVE_TO:t&&t.moveTo(a[0],a[1]);break;case it.CURVE_TO:t&&t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case it.QUAD_TO:t&&t.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case it.ARC:{var[o,s,u,c,p,E,O,m]=a,D=u>c?u:c,V=u>c?1:u/c,L=u>c?c/u:1;t&&(t.translate(o,s),t.rotate(O),t.scale(V,L),t.arc(0,0,D,p,p+E,!!(1-m)),t.scale(1/V,1/L),t.rotate(-O),t.translate(-o,-s));break}case it.CLOSE_PATH:t&&t.closePath();break}})}renderChildren(t){this.setTextData(t),t.save();var e=this.parent.getStyle("text-decoration").getString(),r=this.getFontSize(),{glyphInfo:i}=this,a=t.fillStyle;e==="underline"&&t.beginPath(),i.forEach((o,s)=>{var{p0:u,p1:c,rotation:p,text:E}=o;t.save(),t.translate(u.x,u.y),t.rotate(p),t.fillStyle&&t.fillText(E,0,0),t.strokeStyle&&t.strokeText(E,0,0),t.restore(),e==="underline"&&(s===0&&t.moveTo(u.x,u.y+r/8),t.lineTo(c.x,c.y+r/5))}),e==="underline"&&(t.lineWidth=r/20,t.strokeStyle=a,t.stroke(),t.closePath()),t.restore()}getLetterSpacingAt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.letterSpacingCache[t]||0}findSegmentToFitChar(t,e,r,i,a,o,s,u,c){var p=o,E=this.measureText(t,u);u===" "&&e==="justify"&&r-1&&(p+=this.getLetterSpacingAt(c));var O=this.textHeight/20,m=this.getEquidistantPointOnPath(p,O,0),D=this.getEquidistantPointOnPath(p+E,O,0),V={p0:m,p1:D},L=m&&D?Math.atan2(D.y-m.y,D.x-m.x):0;if(s){var U=Math.cos(Math.PI/2+L)*s,K=Math.cos(-L)*s;V.p0=_e(_e({},m),{},{x:m.x+U,y:m.y+K}),V.p1=_e(_e({},D),{},{x:D.x+U,y:D.y+K})}return p+=E,{offset:p,segment:V,rotation:L}}measureText(t,e){var{measuresCache:r}=this,i=e||this.getText();if(r.has(i))return r.get(i);var a=this.measureTargetText(t,i);return r.set(i,a),a}setTextData(t){if(!this.glyphInfo){var e=this.getText(),r=e.split(""),i=e.split(" ").length-1,a=this.parent.getAttribute("dx").split().map(z=>z.getPixels("x")),o=this.parent.getAttribute("dy").getPixels("y"),s=this.parent.getStyle("text-anchor").getString("start"),u=this.getStyle("letter-spacing"),c=this.parent.getStyle("letter-spacing"),p=0;!u.hasValue()||u.getValue()==="inherit"?p=c.getPixels():u.hasValue()&&u.getValue()!=="initial"&&u.getValue()!=="unset"&&(p=u.getPixels());var E=[],O=e.length;this.letterSpacingCache=E;for(var m=0;mat===0?0:z+rt||0,0),V=this.measureText(t),L=Math.max(V+D,0);this.textWidth=V,this.textHeight=this.getFontSize(),this.glyphInfo=[];var U=this.getPathLength(),K=this.getStyle("startOffset").getNumber(0)*U,G=0;(s==="middle"||s==="center")&&(G=-L/2),(s==="end"||s==="right")&&(G=-L),G+=K,r.forEach((z,rt)=>{var{offset:at,segment:H,rotation:ct}=this.findSegmentToFitChar(t,s,L,U,i,G,o,z,rt);G=at,!(!H.p0||!H.p1)&&this.glyphInfo.push({text:r[rt],p0:H.p0,p1:H.p1,rotation:ct})})}}parsePathData(t){if(this.pathLength=-1,!t)return[];var e=[],{pathParser:r}=t;for(r.reset();!r.isEnd();){var{current:i}=r,a=i?i.x:0,o=i?i.y:0,s=r.next(),u=s.type,c=[];switch(s.type){case it.MOVE_TO:this.pathM(r,c);break;case it.LINE_TO:u=this.pathL(r,c);break;case it.HORIZ_LINE_TO:u=this.pathH(r,c);break;case it.VERT_LINE_TO:u=this.pathV(r,c);break;case it.CURVE_TO:this.pathC(r,c);break;case it.SMOOTH_CURVE_TO:u=this.pathS(r,c);break;case it.QUAD_TO:this.pathQ(r,c);break;case it.SMOOTH_QUAD_TO:u=this.pathT(r,c);break;case it.ARC:c=this.pathA(r);break;case it.CLOSE_PATH:xt.pathZ(r);break}s.type!==it.CLOSE_PATH?e.push({type:u,points:c,start:{x:a,y:o},pathLength:this.calcLength(a,o,u,c)}):e.push({type:it.CLOSE_PATH,points:[],pathLength:0})}return e}pathM(t,e){var{x:r,y:i}=xt.pathM(t).point;e.push(r,i)}pathL(t,e){var{x:r,y:i}=xt.pathL(t).point;return e.push(r,i),it.LINE_TO}pathH(t,e){var{x:r,y:i}=xt.pathH(t).point;return e.push(r,i),it.LINE_TO}pathV(t,e){var{x:r,y:i}=xt.pathV(t).point;return e.push(r,i),it.LINE_TO}pathC(t,e){var{point:r,controlPoint:i,currentPoint:a}=xt.pathC(t);e.push(r.x,r.y,i.x,i.y,a.x,a.y)}pathS(t,e){var{point:r,controlPoint:i,currentPoint:a}=xt.pathS(t);return e.push(r.x,r.y,i.x,i.y,a.x,a.y),it.CURVE_TO}pathQ(t,e){var{controlPoint:r,currentPoint:i}=xt.pathQ(t);e.push(r.x,r.y,i.x,i.y)}pathT(t,e){var{controlPoint:r,currentPoint:i}=xt.pathT(t);return e.push(r.x,r.y,i.x,i.y),it.QUAD_TO}pathA(t){var{rX:e,rY:r,sweepFlag:i,xAxisRotation:a,centp:o,a1:s,ad:u}=xt.pathA(t);return i===0&&u>0&&(u-=2*Math.PI),i===1&&u<0&&(u+=2*Math.PI),[o.x,o.y,e,r,s,u,a,i]}calcLength(t,e,r,i){var a=0,o=null,s=null,u=0;switch(r){case it.LINE_TO:return this.getLineLength(t,e,i[0],i[1]);case it.CURVE_TO:for(a=0,o=this.getPointOnCubicBezier(0,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),u=.01;u<=1;u+=.01)s=this.getPointOnCubicBezier(u,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),a+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case it.QUAD_TO:for(a=0,o=this.getPointOnQuadraticBezier(0,t,e,i[0],i[1],i[2],i[3]),u=.01;u<=1;u+=.01)s=this.getPointOnQuadraticBezier(u,t,e,i[0],i[1],i[2],i[3]),a+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;return a;case it.ARC:{a=0;var c=i[4],p=i[5],E=i[4]+p,O=Math.PI/180;if(Math.abs(c-E)E;u-=O)s=this.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),a+=this.getLineLength(o.x,o.y,s.x,s.y),o=s;else for(u=c+O;u5&&arguments[5]!==void 0?arguments[5]:e,s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:r,u=(a-r)/(i-e+ae),c=Math.sqrt(t*t/(1+u*u));ie)return null;var{dataArray:a}=this;for(var o of a){if(o&&(o.pathLength<5e-5||r+o.pathLength+5e-5=0&&u>E)break;i=this.getPointOnEllipticalArc(o.points[0],o.points[1],o.points[2],o.points[3],u,o.points[6]);break}case it.CURVE_TO:u=s/o.pathLength,u>1&&(u=1),i=this.getPointOnCubicBezier(u,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3],o.points[4],o.points[5]);break;case it.QUAD_TO:u=s/o.pathLength,u>1&&(u=1),i=this.getPointOnQuadraticBezier(u,o.start.x,o.start.y,o.points[0],o.points[1],o.points[2],o.points[3]);break}if(i)return i;break}return null}getLineLength(t,e,r,i){return Math.sqrt((r-t)*(r-t)+(i-e)*(i-e))}getPathLength(){return this.pathLength===-1&&(this.pathLength=this.dataArray.reduce((t,e)=>e.pathLength>0?t+e.pathLength:t,0)),this.pathLength}getPointOnCubicBezier(t,e,r,i,a,o,s,u,c){var p=u*hr(t)+o*fr(t)+i*cr(t)+e*vr(t),E=c*hr(t)+s*fr(t)+a*cr(t)+r*vr(t);return{x:p,y:E}}getPointOnQuadraticBezier(t,e,r,i,a,o,s){var u=o*gr(t)+i*dr(t)+e*pr(t),c=s*gr(t)+a*dr(t)+r*pr(t);return{x:u,y:c}}getPointOnEllipticalArc(t,e,r,i,a,o){var s=Math.cos(o),u=Math.sin(o),c={x:r*Math.cos(a),y:i*Math.sin(a)};return{x:t+(c.x*s-c.y*u),y:e+(c.x*u+c.y*s)}}buildEquidistantCache(t,e){var r=this.getPathLength(),i=e||.25,a=t||r/100;if(!this.equidistantCache||this.equidistantCache.step!==a||this.equidistantCache.precision!==i){this.equidistantCache={step:a,precision:i,points:[]};for(var o=0,s=0;s<=r;s+=i){var u=this.getPointOnPath(s),c=this.getPointOnPath(s+i);!u||!c||(o+=this.getLineLength(u.x,u.y,c.x,c.y),o>=a&&(this.equidistantCache.points.push({x:u.x,y:u.y,distance:s}),o-=a))}}}getEquidistantPointOnPath(t,e,r){if(this.buildEquidistantCache(e,r),t<0||t-this.getPathLength()>5e-5)return null;var i=Math.round(t/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[i]||null}}var Bn=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class fn extends Oe{constructor(t,e,r){super(t,e,r),this.type="image",this.loaded=!1;var i=this.getHrefAttribute().getString();if(i){var a=i.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(i);t.images.push(this),a?this.loadSvg(i):this.loadImage(i),this.isSvg=a}}loadImage(t){var e=this;return(0,f.Z)(function*(){try{var r=yield e.document.createImage(t);e.image=r}catch(i){console.error('Error while loading image "'.concat(t,'":'),i)}e.loaded=!0})()}loadSvg(t){var e=this;return(0,f.Z)(function*(){var r=Bn.exec(t);if(r){var i=r[5];r[4]==="base64"?e.image=atob(i):e.image=decodeURIComponent(i)}else try{var a=yield e.document.fetch(t),o=yield a.text();e.image=o}catch(s){console.error('Error while loading image "'.concat(t,'":'),s)}e.loaded=!0})()}renderChildren(t){var{document:e,image:r,loaded:i}=this,a=this.getAttribute("x").getPixels("x"),o=this.getAttribute("y").getPixels("y"),s=this.getStyle("width").getPixels("x"),u=this.getStyle("height").getPixels("y");if(!(!i||!r||!s||!u)){if(t.save(),t.translate(a,o),this.isSvg){var c=e.canvg.forkString(t,this.image,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:s,scaleHeight:u});c.document.documentElement.parent=this,c.render()}else{var p=this.image;e.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:s,desiredWidth:p.width,height:u,desiredHeight:p.height}),this.loaded&&(typeof p.complete=="undefined"||p.complete)&&t.drawImage(p,0,0)}t.restore()}}getBoundingBox(){var t=this.getAttribute("x").getPixels("x"),e=this.getAttribute("y").getPixels("y"),r=this.getStyle("width").getPixels("x"),i=this.getStyle("height").getPixels("y");return new kt(t,e,t+r,e+i)}}class cn extends Oe{constructor(){super(...arguments),this.type="symbol"}render(t){}}class vn{constructor(t){this.document=t,this.loaded=!1,t.fonts.push(this)}load(t,e){var r=this;return(0,f.Z)(function*(){try{var{document:i}=r,a=yield i.canvg.parser.load(e),o=a.getElementsByTagName("font");Array.from(o).forEach(s=>{var u=i.createElement(s);i.definitions[t]=u})}catch(s){console.error('Error while loading font "'.concat(e,'":'),s)}r.loaded=!0})()}}class Sr extends Ct{constructor(t,e,r){super(t,e,r),this.type="style";var i=Kt(Array.from(e.childNodes).map(o=>o.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")),a=i.split("}");a.forEach(o=>{var s=o.trim();if(s){var u=s.split("{"),c=u[0].split(","),p=u[1].split(";");c.forEach(E=>{var O=E.trim();if(O){var m=t.styles[O]||{};if(p.forEach(L=>{var U=L.indexOf(":"),K=L.substr(0,U).trim(),G=L.substr(U+1,L.length-U).trim();K&&G&&(m[K]=new q(t,K,G))}),t.styles[O]=m,t.stylesSpecificity[O]=$e(O),O==="@font-face"){var D=m["font-family"].getString().replace(/"|'/g,""),V=m.src.getString().split(",");V.forEach(L=>{if(L.indexOf('format("svg")')>0){var U=W(L);U&&new vn(t).load(D,U)}})}}})}})}}Sr.parseExternalUrl=W;class gn extends Oe{constructor(){super(...arguments),this.type="use"}setContext(t){super.setContext(t);var e=this.getAttribute("x"),r=this.getAttribute("y");e.hasValue()&&t.translate(e.getPixels("x"),0),r.hasValue()&&t.translate(0,r.getPixels("y"))}path(t){var{element:e}=this;e&&e.path(t)}renderChildren(t){var{document:e,element:r}=this;if(r){var i=r;if(r.type==="symbol"&&(i=new Be(e,null),i.attributes.viewBox=new q(e,"viewBox",r.getAttribute("viewBox").getString()),i.attributes.preserveAspectRatio=new q(e,"preserveAspectRatio",r.getAttribute("preserveAspectRatio").getString()),i.attributes.overflow=new q(e,"overflow",r.getAttribute("overflow").getString()),i.children=r.children,r.styles.opacity=new q(e,"opacity",this.calculateOpacity())),i.type==="svg"){var a=this.getStyle("width",!1,!0),o=this.getStyle("height",!1,!0);a.hasValue()&&(i.attributes.width=new q(e,"width",a.getString())),o.hasValue()&&(i.attributes.height=new q(e,"height",o.getString()))}var s=i.parent;i.parent=this,i.render(t),i.parent=s}}getBoundingBox(t){var{element:e}=this;return e?e.getBoundingBox(t):null}elementTransform(){var{document:t,element:e}=this;return Te.fromElement(t,e)}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function tr(h,t,e,r,i,a){return h[e*r*4+t*4+a]}function er(h,t,e,r,i,a,o){h[e*r*4+t*4+a]=o}function Dt(h,t,e){var r=h[t];return r*e}function oe(h,t,e,r){return t+Math.cos(h)*e+Math.sin(h)*r}class br extends Ct{constructor(t,e,r){super(t,e,r),this.type="feColorMatrix";var i=It(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":{var a=i[0];i=[.213+.787*a,.715-.715*a,.072-.072*a,0,0,.213-.213*a,.715+.285*a,.072-.072*a,0,0,.213-.213*a,.715-.715*a,.072+.928*a,0,0,0,0,0,1,0,0,0,0,0,1];break}case"hueRotate":{var o=i[0]*Math.PI/180;i=[oe(o,.213,.787,-.213),oe(o,.715,-.715,-.715),oe(o,.072,-.072,.928),0,0,oe(o,.213,-.213,.143),oe(o,.715,.285,.14),oe(o,.072,-.072,-.283),0,0,oe(o,.213,-.213,-.787),oe(o,.715,-.715,.715),oe(o,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break}case"luminanceToAlpha":i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1];break}this.matrix=i,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(t,e,r,i,a){for(var{includeOpacity:o,matrix:s}=this,u=t.getImageData(0,0,i,a),c=0;c{u.addBoundingBox(D.getBoundingBox(t))}),i=Math.floor(u.x1),a=Math.floor(u.y1),o=Math.floor(u.width),s=Math.floor(u.height)}var c=this.removeStyles(e,Xe.ignoreStyles),p=r.createCanvas(i+o,a+s),E=p.getContext("2d");r.screen.setDefaults(E),this.renderChildren(E),new br(r,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(E,0,0,i+o,a+s);var O=r.createCanvas(i+o,a+s),m=O.getContext("2d");r.screen.setDefaults(m),e.render(m),m.globalCompositeOperation="destination-in",m.fillStyle=E.createPattern(p,"no-repeat"),m.fillRect(0,0,i+o,a+s),t.fillStyle=m.createPattern(O,"no-repeat"),t.fillRect(0,0,i+o,a+s),this.restoreStyles(e,c)}render(t){}}Xe.ignoreStyles=["mask","transform","clip-path"];var dn=()=>{};class pn extends Ct{constructor(){super(...arguments),this.type="clipPath"}apply(t){var{document:e}=this,r=Reflect.getPrototypeOf(t),{beginPath:i,closePath:a}=t;r&&(r.beginPath=dn,r.closePath=dn),Reflect.apply(i,t,[]),this.children.forEach(o=>{if(typeof o.path!="undefined"){var s=typeof o.elementTransform!="undefined"?o.elementTransform():null;s||(s=Te.fromElement(e,o)),s&&s.apply(t),o.path(t),r&&(r.closePath=a),s&&s.unapply(t)}}),Reflect.apply(a,t,[]),t.clip(),r&&(r.beginPath=i,r.closePath=a)}render(t){}}class We extends Ct{constructor(){super(...arguments),this.type="filter"}apply(t,e){var{document:r,children:i}=this,a=e.getBoundingBox(t);if(a){var o=0,s=0;i.forEach(U=>{var K=U.extraFilterDistance||0;o=Math.max(o,K),s=Math.max(s,K)});var u=Math.floor(a.width),c=Math.floor(a.height),p=u+2*o,E=c+2*s;if(!(p<1||E<1)){var O=Math.floor(a.x),m=Math.floor(a.y),D=this.removeStyles(e,We.ignoreStyles),V=r.createCanvas(p,E),L=V.getContext("2d");r.screen.setDefaults(L),L.translate(-O+o,-m+s),e.render(L),i.forEach(U=>{typeof U.apply=="function"&&U.apply(L,0,0,p,E)}),t.drawImage(V,0,0,p,E,O-o,m-s,p,E),this.restoreStyles(e,D)}}}render(t){}}We.ignoreStyles=["filter","transform","clip-path"];class yn extends Ct{constructor(t,e,r){super(t,e,r),this.type="feDropShadow",this.addStylesFromStyleDefinition()}apply(t,e,r,i,a){}}class mn extends Ct{constructor(){super(...arguments),this.type="feMorphology"}apply(t,e,r,i,a){}}class xn extends Ct{constructor(){super(...arguments),this.type="feComposite"}apply(t,e,r,i,a){}}class En extends Ct{constructor(t,e,r){super(t,e,r),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(t,e,r,i,a){var{document:o,blurRadius:s}=this,u=o.window?o.window.document.body:null,c=t.canvas;c.id=o.getUniqueId(),u&&(c.style.display="none",u.appendChild(c)),he(c,e,r,i,a,s),u&&u.removeChild(c)}}class Tn extends Ct{constructor(){super(...arguments),this.type="title"}}class On extends Ct{constructor(){super(...arguments),this.type="desc"}}var Fn={svg:Be,rect:Er,circle:Xr,ellipse:Wr,line:Qr,polyline:Tr,polygon:Zr,path:xt,pattern:Kr,marker:kr,defs:Jr,linearGradient:qr,radialGradient:_r,stop:tn,animate:qe,animateColor:en,animateTransform:rn,font:nn,"font-face":an,"missing-glyph":sn,glyph:xr,text:se,tspan:Ye,tref:on,a:un,textPath:hn,image:fn,g:Je,symbol:cn,style:Sr,use:gn,mask:Xe,clipPath:pn,filter:We,feDropShadow:yn,feMorphology:mn,feComposite:xn,feColorMatrix:br,feGaussianBlur:En,title:Tn,desc:On};function Sn(h,t){var e=Object.keys(h);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(h);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(h,i).enumerable})),e.push.apply(e,r)}return e}function Un(h){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:!1,e=document.createElement("img");return t&&(e.crossOrigin="Anonymous"),new Promise((r,i)=>{e.onload=()=>{r(e)},e.onerror=(a,o,s,u,c)=>{i(c)},e.src=h})}),Cr.apply(this,arguments)}class ue{constructor(t){var{rootEmSize:e=12,emSize:r=12,createCanvas:i=ue.createCanvas,createImage:a=ue.createImage,anonymousCrossOrigin:o}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.canvg=t,this.definitions=Object.create(null),this.styles=Object.create(null),this.stylesSpecificity=Object.create(null),this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=t.screen,this.rootEmSize=e,this.emSize=r,this.createCanvas=i,this.createImage=this.bindCreateImage(a,o),this.screen.wait(this.isImagesLoaded.bind(this)),this.screen.wait(this.isFontsLoaded.bind(this))}bindCreateImage(t,e){return typeof e=="boolean"?(r,i)=>t(r,typeof i=="boolean"?i:e):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){var{emSizeStack:t}=this;return t[t.length-1]}set emSize(t){var{emSizeStack:e}=this;e.push(t)}popEmSize(){var{emSizeStack:t}=this;t.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every(t=>t.loaded)}isFontsLoaded(){return this.fonts.every(t=>t.loaded)}createDocumentElement(t){var e=this.createElement(t.documentElement);return e.root=!0,e.addStylesFromStyleDefinition(),this.documentElement=e,e}createElement(t){var e=t.nodeName.replace(/^[^:]+:/,""),r=ue.elementTypes[e];return typeof r!="undefined"?new r(this,t):new Yr(this,t)}createTextNode(t){return new Ln(this,t)}setViewBox(t){this.screen.setViewBox(Un({document:this},t))}}ue.createCanvas=jn,ue.createImage=Gn,ue.elementTypes=Fn;function bn(h,t){var e=Object.keys(h);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(h);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(h,i).enumerable})),e.push.apply(e,r)}return e}function Re(h){for(var t=1;t2&&arguments[2]!==void 0?arguments[2]:{};this.parser=new ke(r),this.screen=new He(t,r),this.options=r;var i=new ue(this,r),a=i.createDocumentElement(e);this.document=i,this.documentElement=a}static from(t,e){var r=arguments;return(0,f.Z)(function*(){var i=r.length>2&&r[2]!==void 0?r[2]:{},a=new ke(i),o=yield a.parse(e);return new Ne(t,o,i)})()}static fromString(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=new ke(r),a=i.parseFromString(e);return new Ne(t,a,r)}fork(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Ne.from(t,e,Re(Re({},this.options),r))}forkString(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Ne.fromString(t,e,Re(Re({},this.options),r))}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}render(){var t=arguments,e=this;return(0,f.Z)(function*(){var r=t.length>0&&t[0]!==void 0?t[0]:{};e.start(Re({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0},r)),yield e.ready(),e.stop()})()}start(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{documentElement:e,screen:r,options:i}=this;r.start(e,Re(Re({enableRedraw:!0},i),t))}stop(){this.screen.stop()}resize(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.documentElement.resize(t,e,r)}}}}]); diff --git a/67793.08e8f761.async.js b/67793.08e8f761.async.js deleted file mode 100644 index 483b26acd6..0000000000 --- a/67793.08e8f761.async.js +++ /dev/null @@ -1,5255 +0,0 @@ -!(function(){var X$=Object.defineProperty,j$=Object.defineProperties;var Y$=Object.getOwnPropertyDescriptors;var CP=Object.getOwnPropertySymbols,q$=Object.getPrototypeOf,J$=Object.prototype.hasOwnProperty,eX=Object.prototype.propertyIsEnumerable,tX=Reflect.get;var Bp=Math.pow,IE=(Be,Me,b)=>Me in Be?X$(Be,Me,{enumerable:!0,configurable:!0,writable:!0,value:b}):Be[Me]=b,rl=(Be,Me)=>{for(var b in Me||(Me={}))J$.call(Me,b)&&IE(Be,b,Me[b]);if(CP)for(var b of CP(Me))eX.call(Me,b)&&IE(Be,b,Me[b]);return Be},fd=(Be,Me)=>j$(Be,Y$(Me));var _c=(Be,Me,b)=>IE(Be,typeof Me!="symbol"?Me+"":Me,b);var TP=(Be,Me,b)=>tX(q$(Be),b,Me);var Pa=(Be,Me,b)=>new Promise((m,Z)=>{var V=F=>{try{E(b.next(F))}catch(C){Z(C)}},N=F=>{try{E(b.throw(F))}catch(C){Z(C)}},E=F=>F.done?m(F.value):Promise.resolve(F.value).then(V,N);E((b=b.apply(Be,Me)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[67793],{61485:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return P}});var m=b(60499),Z=b(59301),V={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:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},N=V,E=b(85221),F=function(D,X){return Z.createElement(E.Z,(0,m.Z)({},D,{ref:X,icon:N}))},C=Z.forwardRef(F),P=C},55532:function(Be,Me,b){"use strict";b.d(Me,{ni:function(){return Uh},EF:function(){return yh}});var m=function(me,ce){var Ze=me.nodes,le=me.edges,Nt=[],Dt={};if(!Ze)throw new Error("invalid nodes data!");return Ze&&Ze.forEach(function(pn,Dn){Dt[pn.id]=Dn;var hr=[];Nt.push(hr)}),le&&le.forEach(function(pn){var Dn=pn.source,hr=pn.target,br=Dt[Dn],yr=Dt[hr];!br&&br!==0||!yr&&yr!==0||(Nt[br][yr]=1,ce||(Nt[yr][br]=1))}),Nt},Z=m,V=function(me,ce){return me===ce},N=function(){function He(me,ce){ce===void 0&&(ce=null),this.value=me,this.next=ce}return He.prototype.toString=function(me){return me?me(this.value):"".concat(this.value)},He}(),E=function(){function He(me){me===void 0&&(me=V),this.head=null,this.tail=null,this.compare=me}return He.prototype.prepend=function(me){var ce=new N(me,this.head);return this.head=ce,this.tail||(this.tail=ce),this},He.prototype.append=function(me){var ce=new N(me);return this.head?(this.tail.next=ce,this.tail=ce,this):(this.head=ce,this.tail=ce,this)},He.prototype.delete=function(me){if(!this.head)return null;for(var ce=null;this.head&&this.compare(this.head.value,me);)ce=this.head,this.head=this.head.next;var Ze=this.head;if(Ze!==null)for(;Ze.next;)this.compare(Ze.next.value,me)?(ce=Ze.next,Ze.next=Ze.next.next):Ze=Ze.next;return this.compare(this.tail.value,me)&&(this.tail=Ze),ce},He.prototype.find=function(me){var ce=me.value,Ze=ce===void 0?void 0:ce,le=me.callback,Nt=le===void 0?void 0:le;if(!this.head)return null;for(var Dt=this.head;Dt;){if(Nt&&Nt(Dt.value)||Ze!==void 0&&this.compare(Dt.value,Ze))return Dt;Dt=Dt.next}return null},He.prototype.deleteTail=function(){var me=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,me;for(var ce=this.head;ce.next;)ce.next.next?ce=ce.next:ce.next=null;return this.tail=ce,me},He.prototype.deleteHead=function(){if(!this.head)return null;var me=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),me},He.prototype.fromArray=function(me){var ce=this;return me.forEach(function(Ze){return ce.append(Ze)}),this},He.prototype.toArray=function(){for(var me=[],ce=this.head;ce;)me.push(ce),ce=ce.next;return me},He.prototype.reverse=function(){for(var me=this.head,ce=null,Ze=null;me;)Ze=me.next,me.next=ce,ce=me,me=Ze;this.tail=this.head,this.head=ce},He.prototype.toString=function(me){return me===void 0&&(me=void 0),this.toArray().map(function(ce){return ce.toString(me)}).toString()},He}(),F=E,C=function(){function He(){this.linkedList=new F}return He.prototype.isEmpty=function(){return!this.linkedList.head},He.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},He.prototype.enqueue=function(me){this.linkedList.append(me)},He.prototype.dequeue=function(){var me=this.linkedList.deleteHead();return me?me.value:null},He.prototype.toString=function(me){return this.linkedList.toString(me)},He}(),P=C,H=function(me,ce,Ze){ce===void 0&&(ce=[]);var le=ce.filter(function(Dn){return Dn.source===me||Dn.target===me});if(Ze==="target"){var Nt=function(hr){return hr.source===me};return le.filter(Nt).map(function(Dn){return Dn.target})}if(Ze==="source"){var Dt=function(hr){return hr.target===me};return le.filter(Dt).map(function(Dn){return Dn.source})}var pn=function(hr){return hr.source===me?hr.target:hr.source};return le.map(pn)},D=function(me,ce){return ce.filter(function(Ze){return Ze.source===me})},X=function(me,ce){return ce.filter(function(Ze){return Ze.source===me||Ze.target===me})},j=function(me){me===void 0&&(me=0);var ce="".concat(Math.random()).split(".")[1].substr(0,5),Ze="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(me,"-").concat(ce).concat(Ze)};function de(He){He===void 0&&(He={});var me=He,ce=function(){},Ze=function(){var le={};return function(Nt){var Dt=Nt.next,pn=Dt;return le[pn]?!1:(le[pn]=!0,!0)}}();return me.allowTraversal=He.allowTraversal||Ze,me.enter=He.enter||ce,me.leave=He.leave||ce,me}var he=function(me,ce,Ze,le){le===void 0&&(le=!0);var Nt=de(Ze),Dt=new P,pn=me.edges,Dn=pn===void 0?[]:pn;Dt.enqueue(ce);for(var hr="",br=function(){var xr=Dt.dequeue();Nt.enter({current:xr,previous:hr}),H(xr,Dn,le?"target":void 0).forEach(function(Fr){Nt.allowTraversal({previous:hr,current:xr,next:Fr})&&Dt.enqueue(Fr)}),Nt.leave({current:xr,previous:hr}),hr=xr};!Dt.isEmpty();)br()},we=he,ve=function(me){for(var ce=me.nodes,Ze=ce===void 0?[]:ce,le=me.edges,Nt=le===void 0?[]:le,Dt=[],pn={},Dn=[],hr=function Fr(ri){Dn.push(ri),pn[ri.id]=!0;for(var ai=H(ri.id,Nt),wi=function(as){var Bs=ai[as];if(!pn[Bs]){var Ls=Ze.filter(function(zi){return zi.id===Bs});Ls.length>0&&Fr(Ls[0])}},Vi=0;Vi0;)xr.push(Dn.pop());Dt.push(xr)}}return Dt},Ee=function(me){for(var ce=me.nodes,Ze=ce===void 0?[]:ce,le=me.edges,Nt=le===void 0?[]:le,Dt=[],pn={},Dn={},hr={},br=[],yr=0,xr=function wi(Vi){Dn[Vi.id]=yr,hr[Vi.id]=yr,yr+=1,Dt.push(Vi),pn[Vi.id]=!0;for(var rs=H(Vi.id,Nt,"target").filter(function(Ni){return Ze.map(function(Ns){return Ns.id}).indexOf(Ni)>-1}),as=function(Ns){var Os=rs[Ns];if(!Dn[Os]&&Dn[Os]!==0){var _a=Ze.filter(function(Sa){return Sa.id===Os});_a.length>0&&wi(_a[0]),hr[Vi.id]=Math.min(hr[Vi.id],hr[Os])}else pn[Os]&&(hr[Vi.id]=Math.min(hr[Vi.id],Dn[Os]))},Bs=0;Bs0;){var zi=Dt.pop();if(pn[zi.id]=!1,Ls.push(zi),zi===Vi)break}Ls.length>0&&br.push(Ls)}},Fr=0,ri=Ze;Fr0;)for(var wi=Fr.pop(),Vi=wi.id,rs=H(Vi,me.edges),as=function(zi){var Ni,Ns=rs[zi],Os=me.nodes.find(function(J){return J.id===Ns});if(Ns===Vi)Dt.push((Ni={},Ni[Ns]=wi,Ni));else if(!(Ns in ai))ri[Ns]=wi,Fr.push(Os),ai[Ns]=new Set([wi]);else if(!ai[Vi].has(Os)){for(var _a=!0,Sa=[Os,wi],oe=ri[Vi];ai[Ns].size&&!ai[Ns].has(oe)&&(Sa.push(oe),oe!==ri[oe.id]);)oe=ri[oe.id];if(Sa.push(oe),ce&&Ze?(_a=!1,Sa.findIndex(function(J){return ce.indexOf(J.id)>-1})>-1&&(_a=!0)):ce&&!Ze&&Sa.findIndex(function(J){return ce.indexOf(J.id)>-1})>-1&&(_a=!1),_a){for(var re={},Y=1;Y0;){var Y=re.pop();Nt.has(Y)&&(Nt.delete(Y),Dt[Y.id].forEach(function(J){re.push(J)}),Dt[Y.id].clear())}},yr=function Sa(oe,re,Y){var J=!1;if(ce&&Ze===!1&&ce.indexOf(oe.id)>-1)return J;le.push(oe),Nt.add(oe);for(var fe=Y[oe.id],Te=0;Te-1});nn-1)?pn.push((re={},re[Kt.id]=Kt,re)):mt[Kt.id].push(hr[Nn])}}return{component:Xe,adjList:mt,minIdx:J}},as=0;as=as}),Ls=Ee({nodes:Bs,edges:me.edges}).filter(function(Sa){return Sa.length>1});if(Ls.length===0)break;var zi=rs(Ls),Ni=zi.minIdx,Ns=zi.adjList,Os=zi.component;if(Os.length>1){Os.forEach(function(Sa){Dt[Sa.id]=new Set});var _a=Dn[Ni];if(ce&&Ze&&ce.indexOf(_a.id)===-1)return pn;yr(_a,_a,Ns),as=Ni+1}else break}return pn},In=function(me,ce,Ze,le){return le===void 0&&(le=!0),ce?Xn(me,Ze,le):Wn(me,Ze,le)},zn=Lt,dr=b(80813),vn={}.toString,_r=function(He,me){return vn.call(He)==="[object "+me+"]"},Ge=_r,Tt=function(He){return Ge(He,"Function")},On=function(He){return Array.isArray?Array.isArray(He):Ge(He,"Array")},Vr=function(He){var me=typeof He;return He!==null&&me==="object"||me==="function"};function en(He,me){if(He){var ce;if(On(He))for(var Ze=0,le=He.length;Ze-1;)Tn.call(He,Nt,1);return He},be=null,it=Array.prototype.splice,wt=function(me,ce){if(!isArrayLike(me))return[];for(var Ze=me?ce.length:0,le=Ze-1;Ze--;){var Nt=void 0,Dt=ce[Ze];(Ze===le||Dt!==Nt)&&(Nt=Dt,it.call(me,Dt,1))}return me},ot=null,ut=function(He,me,ce){if(!isArray(He)&&!isPlainObject(He))return He;var Ze=ce;return each(He,function(le,Nt){Ze=me(Ze,le,Nt)}),Ze},_t=null,$t=function(He,me){var ce=[];if(!isArrayLike(He))return ce;for(var Ze=-1,le=[],Nt=He.length;++ZeNt[pn])return 1;if(le[pn]0},Je=null,At=function(He,me){if(isArray(He)){for(var ce,Ze=-1/0,le=0;leZe&&(ce=Nt,Ze=Dt)}return ce}},xt=function(He,me){if(isArray(He)){for(var ce,Ze=1/0,le=0;lepn&&br>pn);)if(Dn.push(hr),pn-=br,Dt=Dt.substr(le),!Dt)return Dn.join("");for(;hr=Dt.substr(0,1),br=measureTextWidth(hr,ce),!(br+Nt>pn);)if(Dn.push(hr),pn-=br,Dt=Dt.substr(1),!Dt)return Dn.join("");return""+Dn.join("")+Ze},No=function(){function He(){this.map={}}return He.prototype.has=function(me){return this.map[me]!==void 0},He.prototype.get=function(me,ce){var Ze=this.map[me];return Ze===void 0?ce:Ze},He.prototype.set=function(me,ce){this.map[me]=ce},He.prototype.clear=function(){this.map={}},He.prototype.delete=function(me){delete this.map[me]},He.prototype.size=function(){return Object.keys(this.map).length},He}(),Uu=null,ws=function(me,ce,Ze){for(var le=1/0,Nt,Dt=0;Dtyr[Ls.id]+oe?(yr[Sa]=yr[Ls.id]+oe,xr[Sa]=[Ls.id]):yr[Sa]===yr[Ls.id]+oe&&xr[Sa].push(Ls.id)})},ai=0;ai0&&br.length>0;){var Fr=br[br.length-1];if(Fr.length){var ri=Fr.shift();ri&&(Dn.push(ri),hr[ri]=!0,xr=le?H(ri,pn,"target"):H(ri,pn),br.push(xr.filter(function(Vi){return!hr[Vi]})))}else{var ai=Dn.pop();hr[ai]=!1,br.pop();continue}if(Dn[Dn.length-1]===Ze){var wi=Dn.map(function(rs){return rs});yr.push(wi);var ai=Dn.pop();hr[ai]=!1,br.pop()}}return yr},sc=function(me,ce){for(var Ze=Z(me,ce),le=[],Nt=Ze.length,Dt=0;Dtle[Dt][Dn]+le[Dn][pn]&&(le[Dt][pn]=le[Dt][Dn]+le[Dn][pn]);return le},pu=sc,ou=function(me,ce,Ze,le){ce===void 0&&(ce=!1),Ze===void 0&&(Ze="weight"),le===void 0&&(le=1e3);var Nt=me.nodes,Dt=Nt===void 0?[]:Nt,pn=me.edges,Dn=pn===void 0?[]:pn,hr={},br={};Dt.forEach(function(Bs,Ls){var zi=j();Bs.clusterId=zi,hr[zi]={id:zi,nodes:[Bs]},br[Bs.id]={node:Bs,idx:Ls}});var yr=Z(me,ce),xr=[],Fr={};yr.forEach(function(Bs,Ls){var zi=0,Ni=Dt[Ls].id;Fr[Ni]={},Bs.forEach(function(Ns,Os){if(Ns){zi+=Ns;var _a=Dt[Os].id;Fr[Ni][_a]=Ns}}),xr.push(zi)});for(var ri=0,ai=function(){var Ls=!1;if(Dt.forEach(function(zi){var Ni={};Object.keys(Fr[zi.id]).forEach(function(J){var fe=Fr[zi.id][J],Te=br[J].node,De=Te.clusterId;Ni[De]||(Ni[De]=0),Ni[De]+=fe});var Ns=-1/0,Os=[];if(Object.keys(Ni).forEach(function(J){Ns=0&&Os.splice(_a,1),Os&&Os.length){Ls=!0;var Sa=hr[zi.clusterId],oe=Sa.nodes.indexOf(zi);Sa.nodes.splice(oe,1);var re=Math.floor(Math.random()*Os.length),Y=hr[Os[re]];Y.nodes.push(zi),zi.clusterId=Y.id}}}),!Ls)return"break";ri++};ri0&&Ns>Os&&Ns-OsOs&&(Sa=yr.map(function(Le){return{node:Le,clusterId:Le.clusterId}}),oe=Gt(rs),Os=Ns),re||_a>100)break;_a++,Object.keys(rs).forEach(function(Le){var Xe=0;Fr.forEach(function(mt){var Kt=mt.source,nn=mt.target,gn=as[Kt].node.clusterId,Nn=as[nn].node.clusterId;(gn===Le&&Nn!==Le||Nn===Le&&gn!==Le)&&(Xe=Xe+(mt[Ze]||1))}),rs[Le].sumTot=Xe}),yr.forEach(function(Le,Xe){var mt=rs[Le.clusterId],Kt=0,nn,gn=Ls[Xe]/(2*Ni),Nn=0,$n=mt.nodes;$n.forEach(function(Ds){var Ba=as[Ds.id].idx;Nn+=Bs[Xe][Ba]||0});var Er=Nn-mt.sumTot*gn,mr=$n.filter(function(Ds){return Ds.id!==Le.id}),ti=[];mr.forEach(function(Ds,Ba){ti[Ba]=ri[Ds.originIndex]});var jr=Lo(mr,ri)*hr,ui=zi[Le.id];if(Object.keys(ui).forEach(function(Ds){var Ba=as[Ds].node,Ka=Ba.clusterId;if(Ka!==Le.clusterId){var xo=rs[Ka],aa=xo.nodes;if(!(!aa||!aa.length)){var di=0;aa.forEach(function(Ya){var pa=as[Ya.id].idx;di+=Bs[Xe][pa]||0});var Ma=di-xo.sumTot*gn,Rs=aa.concat([Le]),lo=[];Rs.forEach(function(Ya,pa){lo[pa]=ri[Ya.originIndex]});var Jo=Lo(Rs,ri)*hr,zs=Ma-Er;Nt&&(zs=Ma+Jo-(Er+jr)),zs>Kt&&(Kt=zs,nn=xo)}}}),Kt>0){nn.nodes.push(Le);var gi=Le.clusterId;Le.clusterId=nn.id;var oi=mt.nodes.indexOf(Le);mt.nodes.splice(oi,1);var ts=0,fs=0;Fr.forEach(function(Ds){var Ba=Ds.source,Ka=Ds.target,xo=as[Ba].node.clusterId,aa=as[Ka].node.clusterId;(xo===nn.id&&aa!==nn.id||aa===nn.id&&xo!==nn.id)&&(ts=ts+(Ds[Ze]||1)),(xo===gi&&aa!==gi||aa===gi&&xo!==gi)&&(fs=fs+(Ds[Ze]||1))}),nn.sumTot=ts,mt.sumTot=fs}})}var Y={},J=0;Object.keys(oe).forEach(function(Le){var Xe=oe[Le];if(!Xe.nodes||!Xe.nodes.length){delete oe[Le];return}var mt=String(J+1);mt!==Le&&(Xe.id=mt,Xe.nodes=Xe.nodes.map(function(Kt){return{id:Kt.id,clusterId:mt}}),oe[mt]=Xe,Y[Le]=mt,delete oe[Le],J++)}),Sa.forEach(function(Le){var Xe=Le.node,mt=Le.clusterId;Xe&&(Xe.clusterId=mt,Xe.clusterId&&Y[Xe.clusterId]&&(Xe.clusterId=Y[Xe.clusterId]))});var fe=[],Te={};Fr.forEach(function(Le){var Xe=Le.source,mt=Le.target,Kt=Le[Ze]||1,nn=as[Xe].node.clusterId,gn=as[mt].node.clusterId;if(!(!nn||!gn)){var Nn="".concat(nn,"---").concat(gn);if(Te[Nn])Te[Nn].weight+=Kt,Te[Nn].count++;else{var $n={source:nn,target:gn,weight:Kt,count:1};Te[Nn]=$n,fe.push($n)}}});var De=[];return Object.keys(oe).forEach(function(Le){De.push(oe[Le])}),{clusters:De,clusterEdges:fe}},$u=Ji,gh=function(me,ce,Ze,le,Nt,Dt,pn,Dn){return ce===void 0&&(ce=!1),Ze===void 0&&(Ze="weight"),le===void 0&&(le=1e-4),Nt===void 0&&(Nt=void 0),Dt===void 0&&(Dt=[]),pn===void 0&&(pn=["id"]),Dn===void 0&&(Dn=1),$u(me,ce,Ze,le,!0,Nt,Dt,pn,Dn)},mh=gh,np=function(me,ce){var Ze;ce===void 0&&(ce=1);for(var le=Gt(me),Nt=le.nodes,Dt=Nt===void 0?[]:Nt,pn=le.edges,Dn=pn===void 0?[]:pn,hr=function(){var xr=ct({nodes:Dt,edges:Dn}),Fr=Object.keys(xr);Fr.sort(function(wi,Vi){var rs,as;return((rs=xr[wi])===null||rs===void 0?void 0:rs.degree)-((as=xr[Vi])===null||as===void 0?void 0:as.degree)});var ri=Fr[0];if(!Dt.length||((Ze=xr[ri])===null||Ze===void 0?void 0:Ze.degree)>=ce)return"break";var ai=Dt.findIndex(function(wi){return wi.id===ri});Dt.splice(ai,1),Dn=Dn.filter(function(wi){return!(wi.source===ri||wi.target===ri)})};;){var br=hr();if(br==="break")break}return{nodes:Dt,edges:Dn}},vh=np,Cu=function(me,ce,Ze){var le=[];switch(me){case lu.EuclideanDistance:le=ce[Ze];break;default:le=[];break}return le},zc=function(me,ce,Ze,le,Nt,Dt){ce===void 0&&(ce=3),Ze===void 0&&(Ze=void 0),le===void 0&&(le=[]),Nt===void 0&&(Nt=["id"]),Dt===void 0&&(Dt=lu.EuclideanDistance);var pn=me.nodes,Dn=pn===void 0?[]:pn,hr=me.edges,br=hr===void 0?[]:hr,yr={clusters:[{id:"0",nodes:Dn}],clusterEdges:[]};if(Dt===lu.EuclideanDistance&&!Dn.every(function(mt){return mt.hasOwnProperty(Ze)}))return yr;var xr=[],Fr=[];if(Dt===lu.EuclideanDistance&&(xr=jo(Dn,Ze),Fr=oo(xr,le,Nt)),!Fr.length)return yr;for(var ri=qn(Fr.map(function(mt){return mt.join("")})),ai=Math.min(ce,Dn.length,ri.length),wi=0;wiLs&&!Vi.find(function(mr){return $a(mr,Cu(Dt,Fr,Dn[nn].originIndex))})&&(Ls=Er,zi=nn)}},Ns=0;Ns=0;Y--)as[Number(Dn[wi].clusterId)][Y].id===Dn[wi].id&&as[Number(Dn[wi].clusterId)].splice(Y,1);Dn[wi].clusterId=String(_a),as[_a].push(Dn[wi])}}for(var J=!1,wi=0;wi=1e3)break}var Le=[],Xe={};return br.forEach(function(mt){var Kt,nn,gn=mt.source,Nn=mt.target,$n=(Kt=Dn.find(function(jr){return jr.id===gn}))===null||Kt===void 0?void 0:Kt.clusterId,Er=(nn=Dn.find(function(jr){return jr.id===Nn}))===null||nn===void 0?void 0:nn.clusterId,mr="".concat($n,"---").concat(Er);if(Xe[mr])Xe[mr].count++;else{var ti={source:$n,target:Er,count:1};Xe[mr]=ti,Le.push(ti)}}),{clusters:as,clusterEdges:Le}},Ul=zc,Xl=function(me,ce){var Ze=new Xo(ce),le=Ze.norm2(),Nt=new Xo(me),Dt=Nt.norm2(),pn=Ze.dot(Nt),Dn=le*Dt,hr=Dn?pn/Dn:0;return hr},Uo=Xl,Ld=function(me,ce,Ze,le,Nt){me===void 0&&(me=[]),Ze===void 0&&(Ze=void 0),le===void 0&&(le=[]),Nt===void 0&&(Nt=[]);var Dt=Gt(me.filter(function(xr){return xr.id!==ce.id})),pn=me.findIndex(function(xr){return xr.id===ce.id}),Dn=jo(me,Ze),hr=oo(Dn,le,Nt),br=hr[pn],yr=[];return Dt.forEach(function(xr,Fr){if(xr.id!==ce.id){var ri=hr[Fr],ai=Uo(ri,br);yr.push(ai),xr.cosineSimilarity=ai}}),Dt.sort(function(xr,Fr){return Fr.cosineSimilarity-xr.cosineSimilarity}),{allCosineSimilarity:yr,similarNodes:Dt}},Yc=Ld,gl=function(){function He(me){this.count=me.length,this.parent={};for(var ce=0,Ze=me;ce0&&(this.list[0]=ce,this.moveDown(0)),me},He.prototype.insert=function(me){if(me!==null){this.list.push(me);var ce=this.list.length-1;return this.moveUp(ce),!0}return!1},He.prototype.moveUp=function(me){for(var ce=this.getParent(me);me&&me>0&&this.compareFn(this.list[ce],this.list[me])>0;){var Ze=this.list[ce];this.list[ce]=this.list[me],this.list[me]=Ze,me=ce,ce=this.getParent(me)}},He.prototype.moveDown=function(me){var ce,Ze=me,le=this.getLeft(me),Nt=this.getRight(me),Dt=this.list.length;le!==null&&le0?Ze=le:Nt!==null&&Nt0&&(Ze=Nt),me!==Ze&&(ce=[this.list[Ze],this.list[me]],this.list[me]=ce[0],this.list[Ze]=ce[1],this.moveDown(Ze))},He}(),mu=Xu,Oo=function(me,ce){var Ze=[],le=me.nodes,Nt=le===void 0?[]:le,Dt=me.edges,pn=Dt===void 0?[]:Dt;if(Nt.length===0)return Ze;var Dn=Nt[0],hr=new Set;hr.add(Dn);var br=function(wi,Vi){return ce?wi.weight-Vi.weight:0},yr=new mu(br);for(X(Dn.id,pn).forEach(function(ai){yr.insert(ai)});!yr.isEmpty();){var xr=yr.delMin(),Fr=xr.source,ri=xr.target;hr.has(Fr)&&hr.has(ri)||(Ze.push(xr),hr.has(Fr)||(hr.add(Fr),X(Fr,pn).forEach(function(ai){yr.insert(ai)})),hr.has(ri)||(hr.add(ri),X(ri,pn).forEach(function(ai){yr.insert(ai)})))}return Ze},Bo=function(me,ce){var Ze=[],le=me.nodes,Nt=le===void 0?[]:le,Dt=me.edges,pn=Dt===void 0?[]:Dt;if(Nt.length===0)return Ze;var Dn=pn.map(function(Fr){return Fr});ce&&Dn.sort(function(Fr,ri){return Fr.weight-ri.weight});for(var hr=new To(Nt.map(function(Fr){return Fr.id}));Dn.length>0;){var br=Dn.shift(),yr=br.source,xr=br.target;hr.connected(yr,xr)||(Ze.push(br),hr.union(yr,xr))}return Ze},_o=function(me,ce,Ze){var le={prim:Oo,kruskal:Bo};return Ze?le[Ze](me,ce):Bo(me,ce)},na=_o,Wa=function(me,ce,Ze){typeof ce!="number"&&(ce=1e-6),typeof Ze!="number"&&(Ze=.85);for(var le=1,Nt=0,Dt=1e3,pn=me.nodes,Dn=pn===void 0?[]:pn,hr=me.edges,br=hr===void 0?[]:hr,yr=Dn.length,xr,Fr={},ri={},ai=0;ai0&&le>ce;){Nt=0;for(var ai=0;ai0&&(xr+=ri[Ls]/zi)}Fr[Vi]=Ze*xr,Nt+=Fr[Vi]}}Nt=(1-Nt)/yr,le=0;for(var ai=0;ai=0;Ze--){var le=this.dfsEdgeList[Ze],Nt=le.fromNode,Dt=le.toNode;NtFr||le.hasNode(Dt[xr.to])||(ce.labelas;Ls--){var zi=Bs(Ls);if(zi==="break")break}if(Vi){var Ni=me.findMinLabel(wi);Dt.dfsEdgeList.push(new bl(ai,rs,wc,Ni.edgeLabel,wc));var Ns=Dt.dfsEdgeList.length-1;return me.dfsCode.dfsEdgeList[Ns]!==Dt.dfsEdgeList[Ns]?!1:yr(wi[Ni.edgeLabel].projected)}var Os={};Vi=!1;var _a=0;xr.forEach(function(fe){var Te=new Go(fe),De=me.findForwardPureEdges(le,Te.edges[Fr[0]],ri,Te);De.length>0&&(Vi=!0,_a=ai,De.forEach(function(Le){var Xe="".concat(Le.label,"-").concat(Nt[Le.to].label);Os[Xe]||(Os[Xe]={projected:[],edgeLabel:Le.label,nodeLabel2:Nt[Le.to].label}),Os[Xe].projected.push({graphId:le.id,edge:Le,preNode:fe})}))});for(var Sa=Fr.length,oe=function(Te){if(Vi)return"break";var De=Fr[Te];xr.forEach(function(Le){var Xe=new Go(Le),mt=me.findForwardRmpathEdges(le,Xe.edges[De],ri,Xe);mt.length>0&&(Vi=!0,_a=Dt.dfsEdgeList[De].fromNode,mt.forEach(function(Kt){var nn="".concat(Kt.label,"-").concat(Nt[Kt.to].label);Os[nn]||(Os[nn]={projected:[],edgeLabel:Kt.label,nodeLabel2:Nt[Kt.to].label}),Os[nn].projected.push({graphId:le.id,edge:Kt,preNode:Le})}))})},Ls=0;Ls=0;ri--){var ai=ce.findBackwardEdge(yr,Fr.edges[Nt[ri]],Fr.edges[Nt[0]],Fr);if(ai){var wi="".concat(ce.dfsCode.dfsEdgeList[Nt[ri]].fromNode,"-").concat(ai.label);hr[wi]||(hr[wi]={projected:[],toNodeId:ce.dfsCode.dfsEdgeList[Nt[ri]].fromNode,edgeLabel:ai.label}),hr[wi].projected.push({graphId:br.graphId,edge:ai,preNode:br})}}if(!(le>=ce.maxNodeNum)){var Vi=ce.findForwardPureEdges(yr,Fr.edges[Nt[0]],pn,Fr);Vi.forEach(function(as){var Bs="".concat(Dt,"-").concat(as.label,"-").concat(xr[as.to].label);Dn[Bs]||(Dn[Bs]={projected:[],fromNodeId:Dt,edgeLabel:as.label,nodeLabel2:xr[as.to].label}),Dn[Bs].projected.push({graphId:br.graphId,edge:as,preNode:br})});for(var rs=function(Bs){var Ls=ce.findForwardRmpathEdges(yr,Fr.edges[Nt[Bs]],pn,Fr);Ls.forEach(function(zi){var Ni="".concat(ce.dfsCode.dfsEdgeList[Nt[Bs]].fromNode,"-").concat(zi.label,"-").concat(xr[zi.to].label);Dn[Ni]||(Dn[Ni]={projected:[],fromNodeId:ce.dfsCode.dfsEdgeList[Nt[Bs]].fromNode,edgeLabel:zi.label,nodeLabel2:xr[zi.to].label}),Dn[Ni].projected.push({graphId:br.graphId,edge:zi,preNode:br})})},ri=0;rias){var Bs=as;as=rs,rs=Bs}var Ls=Vi.label,zi="".concat(hr,"-").concat(rs,"-").concat(Ls,"-").concat(as),Ni="".concat(rs,"-").concat(Ls,"-").concat(as);if(!Dt[Ni]){var Ns=Dt[Ni]||0;Ns++,Dt[Ni]=Ns}Dn[zi]={graphId:hr,nodeLabel1:rs,edgeLabel:Ls,nodeLabel2:as}})})}),Object.keys(Nt).forEach(function(hr){var br=Nt[hr];if(!(br2*ce)););if(wi<2*ce&&(pn["".concat(br,"-").concat(ai)]={start:br,end:ai,distance:Nt[br][ai]},yr++,Dn++,Dn>=Ze))return pn;if(xr++,xr>2*ce)break}if(yrxr&&(Dn=xr);var Fr=Ze[yr.id].inDegree;hr>Fr&&(hr=Fr);var ri=Ze[yr.id].outDegree;br>ri&&(br=ri)}),me[ce]={degree:Dn,inDegree:hr,outDegree:br}),{minPatternNodeLabelDegree:Dn,minPatternNodeLabelInDegree:hr,minPatternNodeLabelOutDegree:br}},qi=function(me,ce,Ze,le,Nt,Dt,pn){var Dn;if(Ze===void 0&&(Ze=!1),Dt===void 0&&(Dt="cluster"),pn===void 0&&(pn="cluster"),!(!me||!me.nodes)){var hr=me.nodes.length;if(hr){var br=pu(me,Ze),yr=pu(ce,Ze),xr=mo(me.nodes,br,Ze),Fr=mo(ce.nodes,yr,Ze),ri=md(me.nodes,Dt),ai=ri.nodeMap,wi=ri.nodeLabelMap,Vi=md(ce.nodes,Dt),rs=Vi.nodeMap,as=Vi.nodeLabelMap;vd(me.edges,pn,ai);var Bs=vd(ce.edges,pn,rs).edgeLabelMap,Ls=[];yr==null||yr.forEach(function(di){Ls=Ls.concat(di)}),Nt||(Nt=Math.max.apply(Math,(0,dr.ev)((0,dr.ev)([],Ls,!1),[2],!1))),le||(le=Nt);var zi=Xh(me,br,Dt,le),Ni=Xh(ce,yr,Dt,le),Ns=Math.min(100,hr*(hr-1)/2),Os=wA(le,hr,Ns,zi,br),_a=Od(Os,zi,me),Sa=10,oe=1,re=1,Y=4,J={graphs:_a,nodeLabelProp:Dt,edgeLabelProp:pn,minSupport:oe,minNodeNum:re,maxNodeNum:Y,directed:Ze},fe=rp(J).slice(0,Sa),Te=fe.length,De=[];fe.forEach(function(di,Ma){De[Ma]={},Object.keys(_a).forEach(function(Rs){var lo=_a[Rs],Jo=jh(lo,di,Dt,pn);De[Ma][Rs]=Jo})});var Le=SA(De,Te,fe),Xe=Le.structure,mt=Le.structureCountMap,Kt=ce.nodes[0],nn=[],gn=(Dn=ce.nodes[0])===null||Dn===void 0?void 0:Dn[Dt],Nn=-1/0;ce.nodes.forEach(function(di){var Ma=di[Dt],Rs=wi[Ma];(Rs==null?void 0:Rs.length)>Nn&&(Nn=Rs.length,nn=Rs,gn=Ma,Kt=di)});var $n={},Er={},mr={},ti={},jr={},ui={};Object.keys(as).forEach(function(di,Ma){jr[di]=[],Ze&&(ui[di]=[]);var Rs=-1/0,lo=as[di],Jo={};lo.forEach(function(qa){var Ua=Fr["".concat(Kt.id,"-").concat(qa.id)];if(Ua&&jr[di].push(Ua),Rsjr[di][Bu]){uc=!0;break}if(uc)return nn.splice(Ua,1),"continue";var cu={};Sc.neighbors.forEach(function(Ho){var jl=xr["".concat(dl.id,"-").concat(Ho.id)];cu["".concat(dl.id,"-").concat(Ho.id)]={start:ai[dl.id].idx,end:ai[Ho.id].idx,distance:jl}}),_a=Od(cu,zi,me,_a);var qc=[];Object.keys(cu).forEach(function(Ho){if(mt[Ho]){qc.push(mt[Ho]);return}var jl=_a[Ho];mt[Ho]=jh(jl,Xe,Dt,pn),qc.push(mt[Ho])}),qc=qc.sort(function(Ho,jl){return jl-Ho});for(var _l=!1,Bu=0;Bu=0;al--)pa(al)});var gi=[];nn==null||nn.forEach(function(di){for(var Ma=ai[di.id].idx,Rs=lc(me.nodes,br[Ma],Ma,Dt,Nt),lo=Rs.neighbors,Jo=lo.length,zs=!1,Ya=Jo-1;Ya>=0;Ya--){if(lo.length+1Sc){lo.splice(Ya,1);continue}if(Ze){var zl="".concat(pa.id,"-").concat(di.id),Gc=xr[zl];dl=ui[al].length-1;var uc=ui[al][dl];if(Gc>uc){lo.splice(Ya,1);continue}}var Bu=mt[qa]?mt[qa]:wa(me,di,pa,ai,Ua,zi,Xe,Dt,pn,mt,_a),cu="".concat(Kt.id,"-").concat(al),qc=ti[cu][ti[cu].length-1];if(Bu=0;Ua--){var uc=Gc(Ua);if(uc==="break")break}if(zl)return gi.splice(Ma,1),"continue";Rs.edges=Ya;var Bu=dh(Rs,Rs.nodes[0].id,!1).length;if(Object.keys(Bu).reverse().forEach(function(Co){if(!(Co===Rs.nodes[0].id||zl)){if(Bu[Co]===1/0){var vu=zs[Co].node[Dt];if(Jo[vu]--,Jo[vu]ts[Ea][ts[Ea].length-1]){var vu=zs[Co].node[Dt];if(Jo[vu]--,Jo[vu]=0;jl--){var Jc=Rs.nodes[jl],eh=zs[Jc.id].degree,df=zs[Jc.id].inDegree,xh=zs[Jc.id].outDegree,MA=Jc[Dt],yl=Dd($n,MA,rs,as),Nc=yl.minPatternNodeLabelDegree,bh=yl.minPatternNodeLabelInDegree,Wf=yl.minPatternNodeLabelOutDegree,_h=Ze?eh=0;ol--){var Bl=Ya[ol];if(!zs[Bl.source]||!zs[Bl.target]){Ya.splice(ol,1);var yd=Bl[pn];if(pa[yd]--,zs[Bl.source]&&(zs[Bl.source].degree--,zs[Bl.source].outDegree--),zs[Bl.target]&&(zs[Bl.target].degree--,zs[Bl.target].inDegree--),Bs[yd]&&pa[yd]=0;Ba--){var Ka=Ds(Ba);if(Ka==="break")break}for(var xo=gi.length,aa=function(Ma){var Rs=gi[Ma],lo={};Rs.edges.forEach(function(Ya){var pa="".concat(Ya.source,"-").concat(Ya.target,"-").concat(Ya.label);lo[pa]?lo[pa]++:lo[pa]=1});for(var Jo=function(pa){var al=gi[pa],qa={};al.edges.forEach(function(dl){var Sc="".concat(dl.source,"-").concat(dl.target,"-").concat(dl.label);qa[Sc]?qa[Sc]++:qa[Sc]=1});var Ua=!0;Object.keys(qa).length!==Object.keys(lo).length?Ua=!1:Object.keys(lo).forEach(function(dl){qa[dl]!==lo[dl]&&(Ua=!1)}),Ua&&gi.splice(pa,1)},zs=xo-1;zs>Ma;zs--)Jo(zs);xo=gi.length},Ba=0;Ba<=xo-1;Ba++)aa(Ba);return gi}}},Du=qi,kn=function(){function He(me){me===void 0&&(me=10),this.linkedList=new F,this.maxStep=me}return Object.defineProperty(He.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),He.prototype.isEmpty=function(){return!this.linkedList.head},He.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},He.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},He.prototype.push=function(me){this.linkedList.prepend(me),this.length>this.maxStep&&this.linkedList.deleteTail()},He.prototype.pop=function(){var me=this.linkedList.deleteHead();return me?me.value:null},He.prototype.toArray=function(){return this.linkedList.toArray().map(function(me){return me.value})},He.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},He}(),kd=kn,Yh=zn,vl={getAdjMatrix:Z,breadthFirstSearch:we,connectedComponent:$e,getDegree:ct,getInDegree:vt,getOutDegree:at,detectCycle:zn,detectDirectedCycle:Yh,detectAllCycles:In,detectAllDirectedCycle:Xn,detectAllUndirectedCycle:Wn,depthFirstSearch:Bn,dijkstra:dh,findAllPath:Ku,findShortestPath:Uh,floydWarshall:pu,labelPropagation:Ad,louvain:$u,iLouvain:mh,kCore:vh,kMeans:Ul,cosineSimilarity:Uo,nodesCosineSimilarity:Yc,minimumSpanningTree:na,pageRank:yh,getNeighbors:H,Stack:kd,GADDI:Du}},86314:function(Be,Me,b){"use strict";b.d(Me,{MG:function(){return E},V7:function(){return C},Yq:function(){return F},eR:function(){return j},jt:function(){return H},tT:function(){return X}});var m=b(80813),Z=b(76075),V=b(69014);function N(de){return typeof de=="boolean"?!1:"enter"in de&&"update"in de&&"exit"in de}function E(de){if(!de)return{enter:!1,update:!1,exit:!1};var he=["enter","update","exit"],we=Object.fromEntries(Object.entries(de).filter(function(ve){var Ee=(0,m.CR)(ve,1),$e=Ee[0];return!he.includes($e)}));return Object.fromEntries(he.map(function(ve){return N(de)?de[ve]===!1?[ve,!1]:[ve,(0,m.pi)((0,m.pi)({},de[ve]),we)]:[ve,we]}))}function F(de,he){de?de.finished.then(he):he()}function C(de,he){de.length===0?he():Promise.all(de.map(function(we){return we==null?void 0:we.finished})).then(he)}function P(de,he){"update"in de?de.update(he):de.attr(he)}function H(de,he,we){if(he.length===0)return null;if(!we){var ve=he.slice(-1)[0];return P(de,{style:ve}),null}return de.animate(he,we)}function D(de,he){return!(de.nodeName!=="text"||he.nodeName!=="text"||de.attributes.text!==he.attributes.text)}function X(de,he,we,ve){if(ve===void 0&&(ve="destroy"),D(de,he))return de.remove(),[null];var Ee=function(){ve==="destroy"?de.destroy():ve==="hide"&&(0,V.Cp)(de),he.isVisible()&&(0,V.$Z)(he)};if(!we)return Ee(),[null];var $e=we.duration,Fe=$e===void 0?0:$e,ct=we.delay,vt=ct===void 0?0:ct,at=Math.ceil(+Fe/2),kt=+Fe/4,It=(0,m.CR)(de.getGeometryBounds().center,2),Bn=It[0],Lt=It[1],Wn=(0,m.CR)(he.getGeometryBounds().center,2),Xn=Wn[0],In=Wn[1],zn=(0,m.CR)([(Bn+Xn)/2-Bn,(Lt+In)/2-Lt],2),dr=zn[0],vn=zn[1],_r=de.style.opacity,Ge=_r===void 0?1:_r,Tt=he.style.opacity,On=Tt===void 0?1:Tt,Vr=de.style.transform||"",en=he.style.transform||"",ln=de.animate([{opacity:Ge,transform:"translate(0, 0) ".concat(Vr)},{opacity:0,transform:"translate(".concat(dr,", ").concat(vn,") ").concat(Vr)}],(0,m.pi)((0,m.pi)({fill:"both"},we),{duration:vt+at+kt})),Cn=he.animate([{opacity:0,transform:"translate(".concat(-dr,", ").concat(-vn,") ").concat(en),offset:.01},{opacity:On,transform:"translate(0, 0) ".concat(en)}],(0,m.pi)((0,m.pi)({fill:"both"},we),{duration:at+kt,delay:vt+at-kt}));return F(Cn,Ee),[ln,Cn]}function j(de,he,we){var ve={},Ee={};return Object.entries(he).forEach(function($e){var Fe=(0,m.CR)($e,2),ct=Fe[0],vt=Fe[1];if(!(0,Z.Z)(vt)){var at=de.style[ct]||de.parsedStyle[ct]||0;at!==vt&&(ve[ct]=at,Ee[ct]=vt)}}),we?H(de,[ve,Ee],(0,m.pi)({fill:"both"},we)):(P(de,Ee),null)}},97304:function(Be,Me,b){"use strict";b.d(Me,{w:function(){return C}});var m=b(80813),Z=b(66623),V=b(69014),N=b(99247),E=b(16915);function F(){(0,V.WD)(this,this.attributes.visibility!=="hidden")}var C=function(P){(0,m.ZT)(H,P);function H(D,X){X===void 0&&(X={});var j=P.call(this,(0,N.n)({},{style:X},D))||this;return j.initialized=!1,j._defaultOptions=X,j}return Object.defineProperty(H.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,E.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(H.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),H.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},H.prototype.disconnectedCallback=function(){var D;(D=this._offscreen)===null||D===void 0||D.destroy()},H.prototype.attributeChangedCallback=function(D){D==="visibility"&&F.call(this)},H.prototype.update=function(D,X){var j;return this.attr((0,N.n)({},this.attributes,D||{})),(j=this.render)===null||j===void 0?void 0:j.call(this,this.attributes,this,X)},H.prototype.clear=function(){this.removeChildren()},H.prototype.bindEvents=function(D,X){},H.prototype.getSubShapeStyle=function(D){var X=D.x,j=D.y,de=D.transform,he=D.transformOrigin,we=D.class,ve=D.className,Ee=D.zIndex,$e=(0,m._T)(D,["x","y","transform","transformOrigin","class","className","zIndex"]);return $e},H}(Z.b_)},42777:function(Be,Me,b){"use strict";b.d(Me,{x:function(){return N}});var m=b(80813),Z=b(66623),V=b(16915),N=function(E){(0,m.ZT)(F,E);function F(C){C===void 0&&(C={});var P=C.style,H=(0,m._T)(C,["style"]);return E.call(this,(0,m.pi)({style:(0,m.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},P)},H))||this}return Object.defineProperty(F.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,V.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),F.prototype.disconnectedCallback=function(){var C;(C=this._offscreen)===null||C===void 0||C.destroy()},F}(Z.xv)},65244:function(Be,Me,b){"use strict";b.d(Me,{W:function(){return Sn}});var m=b(80813),Z=b(97304),V=b(66623),N=b(88839),E=b(38974),F=b(17911),C=b(58688),P=b(33253),H=b(98294),D=b(67756);function X(Oe,Qe,Re){return Re?"".concat(Oe," ").concat(Re,"legend-").concat(Qe):Oe}function j(Oe,Qe,Re){var Ke=Oe.classNamePrefix,gt=Ke===void 0?"":Ke;return X(Qe.name,Re,gt)}var de={title:"title",item:"item",marker:"marker",label:"label",value:"value",focusIcon:"focus-icon",background:"background",ribbon:"ribbon",track:"track",selection:"selection",handle:"handle",handleMarker:"handle-marker",handleLabel:"handle-label",indicator:"indicator",prevBtn:"prev-btn",nextBtn:"next-btn",pageInfo:"page-info"},he=(0,C.A)({text:"text"},"title");function we(Oe,Qe){var Re=Oe.attributes,Ke=Re.position,gt=Re.spacing,tn=Re.inset,yt=Re.text,Yt=Oe.getBBox(),Rn=Qe.getBBox(),er=(0,P.l)(Ke),Jn=(0,m.CR)((0,H.j)(yt?gt:0),4),kr=Jn[0],fr=Jn[1],wr=Jn[2],ei=Jn[3],_n=(0,m.CR)((0,H.j)(tn),4),jn=_n[0],Hr=_n[1],Pr=_n[2],$i=_n[3],Zi=(0,m.CR)([ei+fr,kr+wr],2),Xi=Zi[0],Ei=Zi[1],ms=(0,m.CR)([$i+Hr,jn+Pr],2),_i=ms[0],Es=ms[1];if(er[0]==="l")return new F.b(Yt.x,Yt.y,Rn.width+Yt.width+Xi+_i,Math.max(Rn.height+Es,Yt.height));if(er[0]==="t")return new F.b(Yt.x,Yt.y,Math.max(Rn.width+_i,Yt.width),Rn.height+Yt.height+Ei+Es);var ua=(0,m.CR)([Qe.attributes.width||Rn.width,Qe.attributes.height||Rn.height],2),Hn=ua[0],Pt=ua[1];return new F.b(Rn.x,Rn.y,Hn+Yt.width+Xi+_i,Pt+Yt.height+Ei+Es)}function ve(Oe,Qe){var Re=Object.entries(Qe).reduce(function(Ke,gt){var tn=(0,m.CR)(gt,2),yt=tn[0],Yt=tn[1],Rn=Oe.node().attr(yt);return Rn||(Ke[yt]=Yt),Ke},{});Oe.styles(Re)}function Ee(Oe){var Qe,Re,Ke,gt,tn=Oe,yt=tn.width,Yt=tn.height,Rn=tn.position,er=(0,m.CR)([+yt/2,+Yt/2],2),Jn=er[0],kr=er[1],fr=(0,m.CR)([+Jn,+kr,"center","middle"],4),wr=fr[0],ei=fr[1],_n=fr[2],jn=fr[3],Hr=(0,P.l)(Rn);return Hr.includes("l")&&(Qe=(0,m.CR)([0,"start"],2),wr=Qe[0],_n=Qe[1]),Hr.includes("r")&&(Re=(0,m.CR)([+yt,"end"],2),wr=Re[0],_n=Re[1]),Hr.includes("t")&&(Ke=(0,m.CR)([0,"top"],2),ei=Ke[0],jn=Ke[1]),Hr.includes("b")&&(gt=(0,m.CR)([+Yt,"bottom"],2),ei=gt[0],jn=gt[1]),{x:wr,y:ei,textAlign:_n,textBaseline:jn}}var $e=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re){return Oe.call(this,Re,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return Qe.prototype.getAvailableSpace=function(){var Re=this,Ke=this.attributes,gt=Ke.width,tn=Ke.height,yt=Ke.position,Yt=Ke.spacing,Rn=Ke.inset,er=Re.querySelector(he.text.class);if(!er)return new F.b(0,0,+gt,+tn);var Jn=er.getBBox(),kr=Jn.width,fr=Jn.height,wr=(0,m.CR)((0,H.j)(Yt),4),ei=wr[0],_n=wr[1],jn=wr[2],Hr=wr[3],Pr=(0,m.CR)([0,0,+gt,+tn],4),$i=Pr[0],Zi=Pr[1],Xi=Pr[2],Ei=Pr[3],ms=(0,P.l)(yt);if(ms.includes("i"))return new F.b($i,Zi,Xi,Ei);ms.forEach(function(Ln,gr){var Rr,$r,Ii,Di;Ln==="t"&&(Rr=(0,m.CR)(gr===0?[fr+jn,+tn-fr-jn]:[0,+tn],2),Zi=Rr[0],Ei=Rr[1]),Ln==="r"&&($r=(0,m.CR)([+gt-kr-Hr],1),Xi=$r[0]),Ln==="b"&&(Ii=(0,m.CR)([+tn-fr-ei],1),Ei=Ii[0]),Ln==="l"&&(Di=(0,m.CR)(gr===0?[kr+_n,+gt-kr-_n]:[0,+gt],2),$i=Di[0],Xi=Di[1])});var _i=(0,m.CR)((0,H.j)(Rn),4),Es=_i[0],ua=_i[1],Hn=_i[2],Pt=_i[3],Gt=(0,m.CR)([Pt+ua,Es+Hn],2),Bt=Gt[0],yn=Gt[1];return new F.b($i+Pt,Zi+Es,Xi-Bt,Ei-yn)},Qe.prototype.getBBox=function(){return this.title?this.title.getBBox():new F.b(0,0,0,0)},Qe.prototype.render=function(Re,Ke){var gt=this,tn=Re.width,yt=Re.height,Yt=Re.position,Rn=Re.spacing,er=Re.classNamePrefix,Jn=(0,m._T)(Re,["width","height","position","spacing","classNamePrefix"]),kr=(0,m.CR)((0,N.Hm)(Jn),1),fr=kr[0],wr=Ee(Re),ei=wr.x,_n=wr.y,jn=wr.textAlign,Hr=wr.textBaseline;(0,D.z)(!!Jn.text,(0,E.Ys)(Ke),function(Pr){var $i=X(he.text.name,de.title,er);gt.title=Pr.maybeAppendByClassName(he.text,"text").attr("className",$i).styles(fr).call(ve,{x:ei,y:_n,textAlign:jn,textBaseline:Hr}).node()})},Qe}(Z.w),Fe=function(){},ct=b(37004),vt=b(38242);function at(Oe,Qe){return Oe.reduce(function(Re,Ke){return(Re[Ke[Qe]]=Re[Ke[Qe]]||[]).push(Ke),Re},{})}var kt=b(99247),It=b(70208),Bn=b(78431),Lt=b(86314);function Wn(Oe){var Qe;return((Qe=Oe[0])===null||Qe===void 0?void 0:Qe.map(function(Re,Ke){return Oe.map(function(gt){return gt[Ke]})}))||[]}var Xn=b(69014),In=b(99769),zn=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["A",Re,Re,0,1,0,Oe+Re,Qe],["A",Re,Re,0,1,0,Oe-Re,Qe],["Z"]]},dr=zn,vn=function(Oe,Qe,Re){return[["M",Oe-Re,Qe-Re],["L",Oe+Re,Qe-Re],["L",Oe+Re,Qe+Re],["L",Oe-Re,Qe+Re],["Z"]]},_r=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["L",Oe,Qe-Re],["L",Oe+Re,Qe],["L",Oe,Qe+Re],["Z"]]},Ge=function(Oe,Qe,Re){var Ke=Re*Math.sin(.3333333333333333*Math.PI);return[["M",Oe-Re,Qe+Ke],["L",Oe,Qe-Ke],["L",Oe+Re,Qe+Ke],["Z"]]},Tt=function(Oe,Qe,Re){var Ke=Re*Math.sin(.3333333333333333*Math.PI);return[["M",Oe-Re,Qe-Ke],["L",Oe+Re,Qe-Ke],["L",Oe,Qe+Ke],["Z"]]},On=function(Oe,Qe,Re){var Ke=Re/2*Math.sqrt(3);return[["M",Oe,Qe-Re],["L",Oe+Ke,Qe-Re/2],["L",Oe+Ke,Qe+Re/2],["L",Oe,Qe+Re],["L",Oe-Ke,Qe+Re/2],["L",Oe-Ke,Qe-Re/2],["Z"]]},Vr=function(Oe,Qe,Re){var Ke=Re-1.5;return[["M",Oe-Re,Qe-Ke],["L",Oe+Re,Qe+Ke],["L",Oe+Re,Qe-Ke],["L",Oe-Re,Qe+Ke],["Z"]]},en=function(Oe,Qe,Re){return[["M",Oe,Qe+Re],["L",Oe,Qe-Re]]},ln=function(Oe,Qe,Re){return[["M",Oe-Re,Qe-Re],["L",Oe+Re,Qe+Re],["M",Oe+Re,Qe-Re],["L",Oe-Re,Qe+Re]]},Cn=function(Oe,Qe,Re){return[["M",Oe-Re/2,Qe-Re],["L",Oe+Re/2,Qe-Re],["M",Oe,Qe-Re],["L",Oe,Qe+Re],["M",Oe-Re/2,Qe+Re],["L",Oe+Re/2,Qe+Re]]},Mt=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["L",Oe+Re,Qe],["M",Oe,Qe-Re],["L",Oe,Qe+Re]]},Et=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["L",Oe+Re,Qe]]},pe=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["L",Oe+Re,Qe]]},Ae=pe,Pe=function(Oe,Qe,Re){return[["M",Oe-Re,Qe],["A",Re/2,Re/2,0,1,1,Oe,Qe],["A",Re/2,Re/2,0,1,0,Oe+Re,Qe]]},Ut=function(Oe,Qe,Re){return[["M",Oe-Re-1,Qe-2.5],["L",Oe,Qe-2.5],["L",Oe,Qe+2.5],["L",Oe+Re+1,Qe+2.5]]},jt=function(Oe,Qe,Re){return[["M",Oe-Re-1,Qe+2.5],["L",Oe,Qe+2.5],["L",Oe,Qe-2.5],["L",Oe+Re+1,Qe-2.5]]},ft=function(Oe,Qe,Re){return[["M",Oe-(Re+1),Qe+2.5],["L",Oe-Re/2,Qe+2.5],["L",Oe-Re/2,Qe-2.5],["L",Oe+Re/2,Qe-2.5],["L",Oe+Re/2,Qe+2.5],["L",Oe+Re+1,Qe+2.5]]};function on(Oe,Qe){return[["M",Oe-5,Qe+2.5],["L",Oe-5,Qe],["L",Oe,Qe],["L",Oe,Qe-3],["L",Oe,Qe+3],["L",Oe+6.5,Qe+3]]}var hn=function(Oe,Qe,Re){return[["M",Oe-Re,Qe-Re],["L",Oe+Re,Qe],["L",Oe-Re,Qe+Re],["Z"]]},lt=function(Oe,Qe,Re){var Ke=Re,gt=Re*.2,tn=Re*.7;return[["M",Oe-Ke,Qe],["A",Ke,Ke,0,1,0,Oe+Ke,Qe],["A",Ke,Ke,0,1,0,Oe-Ke,Qe],["Z"],["M",Oe-tn,Qe],["L",Oe-gt,Qe],["M",Oe+gt,Qe],["L",Oe+tn,Qe],["M",Oe,Qe-tn],["L",Oe,Qe-gt],["M",Oe,Qe+gt],["L",Oe,Qe+tn]]},Ct=(0,C.A)({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"),sn=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re){var Ke=Oe.call(this,Re,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:hn(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(gt,tn){return"".concat(gt,"/").concat(tn)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return Ke.playState="idle",Ke.contentGroup=Ke.appendChild(new V.ZA({class:Ct.contentGroup.name})),Ke.playWindow=Ke.contentGroup.appendChild(new V.ZA({class:Ct.playWindow.name})),Ke.innerCurrPage=Ke.defaultPage,Ke}return Object.defineProperty(Qe.prototype,"defaultPage",{get:function(){var Re=this.attributes.defaultPage;return(0,It.Z)(Re,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"pageShape",{get:function(){var Re=this.pageViews,Ke=(0,m.CR)(Wn(Re.map(function(kr){var fr=kr.getBBox(),wr=fr.width,ei=fr.height;return[wr,ei]})).map(function(kr){return Math.max.apply(Math,(0,m.ev)([],(0,m.CR)(kr),!1))}),2),gt=Ke[0],tn=Ke[1],yt=this.attributes,Yt=yt.pageWidth,Rn=Yt===void 0?gt:Yt,er=yt.pageHeight,Jn=er===void 0?tn:er;return{pageWidth:Rn,pageHeight:Jn}},enumerable:!1,configurable:!0}),Qe.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(Qe.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),Qe.prototype.getBBox=function(){var Re=Oe.prototype.getBBox.call(this),Ke=Re.x,gt=Re.y,tn=this.controllerShape,yt=this.pageShape,Yt=yt.pageWidth,Rn=yt.pageHeight;return new F.b(Ke,gt,Yt+tn.width,Rn)},Qe.prototype.goTo=function(Re){var Ke=this,gt=this.attributes.animate,tn=this,yt=tn.currPage,Yt=tn.playState,Rn=tn.playWindow,er=tn.pageViews;if(Yt!=="idle"||Re<0||er.length<=0||Re>=er.length)return null;er[yt].setLocalPosition(0,0),this.prepareFollowingPage(Re);var Jn=(0,m.CR)(this.getFollowingPageDiff(Re),2),kr=Jn[0],fr=Jn[1];this.playState="running";var wr=(0,Lt.jt)(Rn,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-kr,", ").concat(-fr,")")}],gt);return(0,Lt.Yq)(wr,function(){Ke.innerCurrPage=Re,Ke.playState="idle",Ke.setVisiblePages([Re]),Ke.updatePageInfo()}),wr},Qe.prototype.prev=function(){var Re=this.attributes.loop,Ke=this.pageViews.length,gt=this.currPage;if(!Re&><=0)return null;var tn=Re?(gt-1+Ke)%Ke:(0,It.Z)(gt-1,0,Ke);return this.goTo(tn)},Qe.prototype.next=function(){var Re=this.attributes.loop,Ke=this.pageViews.length,gt=this.currPage;if(!Re&>>=Ke-1)return null;var tn=Re?(gt+1)%Ke:(0,It.Z)(gt+1,0,Ke);return this.goTo(tn)},Qe.prototype.renderClipPath=function(Re){var Ke=this.pageShape,gt=Ke.pageWidth,tn=Ke.pageHeight;if(!gt||!tn){this.contentGroup.style.clipPath=void 0;return}this.clipPath=Re.maybeAppendByClassName(Ct.clipPath,"rect").styles({width:gt,height:tn}),this.contentGroup.attr("clipPath",this.clipPath.node())},Qe.prototype.setVisiblePages=function(Re){this.playWindow.children.forEach(function(Ke,gt){Re.includes(gt)?(0,Xn.$Z)(Ke):(0,Xn.Cp)(Ke)})},Qe.prototype.adjustControllerLayout=function(){var Re=this,Ke=Re.prevBtnGroup,gt=Re.nextBtnGroup,tn=Re.pageInfoGroup,yt=this.attributes,Yt=yt.orientation,Rn=yt.controllerPadding,er=tn.getBBox(),Jn=er.width,kr=er.height,fr=(0,m.CR)(Yt==="horizontal"?[-180,0]:[-90,90],2),wr=fr[0],ei=fr[1];Ke.setLocalEulerAngles(wr),gt.setLocalEulerAngles(ei);var _n=Ke.getBBox(),jn=_n.width,Hr=_n.height,Pr=gt.getBBox(),$i=Pr.width,Zi=Pr.height,Xi=Math.max(jn,Jn,$i),Ei=Yt==="horizontal"?{offset:[[0,0],[jn/2+Rn,0],[jn+Jn+Rn*2,0]],textAlign:"start"}:{offset:[[Xi/2,-Hr-Rn],[Xi/2,0],[Xi/2,Zi+Rn]],textAlign:"center"},ms=(0,m.CR)(Ei.offset,3),_i=(0,m.CR)(ms[0],2),Es=_i[0],ua=_i[1],Hn=(0,m.CR)(ms[1],2),Pt=Hn[0],Gt=Hn[1],Bt=(0,m.CR)(ms[2],2),yn=Bt[0],Ln=Bt[1],gr=Ei.textAlign,Rr=tn.querySelector("text");Rr&&(Rr.style.textAlign=gr),Ke.setLocalPosition(Es,ua),tn.setLocalPosition(Pt,Gt),gt.setLocalPosition(yn,Ln)},Qe.prototype.updatePageInfo=function(){var Re,Ke=this,gt=Ke.currPage,tn=Ke.pageViews,yt=Ke.attributes.formatter;tn.length<2||((Re=this.pageInfoGroup.querySelector(Ct.pageInfo.class))===null||Re===void 0||Re.attr("text",yt(gt+1,tn.length)),this.adjustControllerLayout())},Qe.prototype.getFollowingPageDiff=function(Re){var Ke=this.currPage;if(Ke===Re)return[0,0];var gt=this.attributes.orientation,tn=this.pageShape,yt=tn.pageWidth,Yt=tn.pageHeight,Rn=Re=2,fr=Re.maybeAppendByClassName(Ct.controller,"g");if((0,Xn.WD)(fr.node(),kr),!!kr){var wr=(0,N.zs)(this.attributes,"button"),ei=(0,N.zs)(this.attributes,"pageNum"),_n=(0,m.CR)((0,N.Hm)(wr),2),jn=_n[0],Hr=_n[1],Pr=jn.size,$i=(0,m._T)(jn,["size"]),Zi=!fr.select(Ct.prevBtnGroup.class).node(),Xi=fr.maybeAppendByClassName(Ct.prevBtnGroup,"g").styles(Hr);this.prevBtnGroup=Xi.node();var Ei=Xi.maybeAppendByClassName(Ct.prevBtn,"path");if(Yt){var ms=X(Ct.prevBtn.name,de.prevBtn,Yt);Ei.node().setAttribute("class",ms)}var _i=fr.maybeAppendByClassName(Ct.nextBtnGroup,"g").styles(Hr);this.nextBtnGroup=_i.node();var Es=_i.maybeAppendByClassName(Ct.nextBtn,"path");if(Yt){var ua=X(Ct.nextBtn.name,de.nextBtn,Yt);Es.node().setAttribute("class",ua)}[Ei,Es].forEach(function(Bt){Bt.styles((0,m.pi)((0,m.pi)({},$i),{transformOrigin:"center"})),(0,In.b)(Bt.node(),Pr,!0)});var Hn=fr.maybeAppendByClassName(Ct.pageInfoGroup,"g");this.pageInfoGroup=Hn.node();var Pt=Hn.maybeAppendByClassName(Ct.pageInfo,"text");if(Pt.styles(ei),Yt){var Gt=X(Ct.pageInfo.name,de.pageInfo,Yt);Pt.node().setAttribute("class",Gt)}this.updatePageInfo(),fr.node().setLocalPosition(er+tn,Jn/2),Zi&&(this.prevBtnGroup.addEventListener("click",function(){Ke.prev()}),this.nextBtnGroup.addEventListener("click",function(){Ke.next()}))}},Qe.prototype.render=function(Re,Ke){var gt=Re.x,tn=gt===void 0?0:gt,yt=Re.y,Yt=yt===void 0?0:yt;this.attr("transform","translate(".concat(tn,", ").concat(Yt,")"));var Rn=(0,E.Ys)(Ke);this.renderClipPath(Rn),this.renderController(Rn),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},Qe.prototype.bindEvents=function(){var Re=this,Ke=(0,Bn.Z)(function(){return Re.render(Re.attributes,Re)},50);this.playWindow.addEventListener(V.Dk.INSERTED,Ke),this.playWindow.addEventListener(V.Dk.REMOVED,Ke)},Qe}(Z.w),W=b(71018),Se=b(93785),Ht=b(71879);function zt(Oe){var Qe="default";if((0,Se.Z)(Oe)&&Oe instanceof Image)Qe="image";else if((0,W.Z)(Oe))Qe="symbol";else if((0,Ht.Z)(Oe)){var Re=new RegExp("data:(image|text)");Oe.match(Re)?Qe="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(Oe)?Qe="url":Qe="symbol"}return Qe}function Fn(Oe){var Qe=zt(Oe);return["base64","url","image"].includes(Qe)?"image":Oe&&Qe==="symbol"?"path":null}var Tn=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(){return Oe!==null&&Oe.apply(this,arguments)||this}return Qe.prototype.render=function(Re,Ke){var gt=Re.x,tn=gt===void 0?0:gt,yt=Re.y,Yt=yt===void 0?0:yt,Rn=this.getSubShapeStyle(Re),er=Rn.symbol,Jn=Rn.size,kr=Jn===void 0?16:Jn,fr=(0,m._T)(Rn,["symbol","size"]),wr=Fn(er);(0,D.z)(!!wr,(0,E.Ys)(Ke),function(ei){ei.maybeAppendByClassName("marker",wr).attr("className","marker ".concat(wr,"-marker")).call(function(_n){if(wr==="image"){var jn=kr*2;_n.styles({img:er,width:jn,height:jn,x:tn-kr,y:Yt-kr})}else{var jn=kr/2,Hr=(0,W.Z)(er)?er:Qe.getSymbol(er);_n.styles((0,m.pi)({d:Hr==null?void 0:Hr(tn,Yt,jn)},fr))}})})},Qe.MARKER_SYMBOL_MAP=new Map,Qe.registerSymbol=function(Re,Ke){Qe.MARKER_SYMBOL_MAP.set(Re,Ke)},Qe.getSymbol=function(Re){return Qe.MARKER_SYMBOL_MAP.get(Re)},Qe.getSymbols=function(){return Array.from(Qe.MARKER_SYMBOL_MAP.keys())},Qe}(Z.w);Tn.registerSymbol("cross",ln),Tn.registerSymbol("hyphen",Et),Tn.registerSymbol("line",en),Tn.registerSymbol("plus",Mt),Tn.registerSymbol("tick",Cn),Tn.registerSymbol("circle",zn),Tn.registerSymbol("point",dr),Tn.registerSymbol("bowtie",Vr),Tn.registerSymbol("hexagon",On),Tn.registerSymbol("square",vn),Tn.registerSymbol("diamond",_r),Tn.registerSymbol("triangle",Ge),Tn.registerSymbol("triangle-down",Tt),Tn.registerSymbol("line",en),Tn.registerSymbol("dot",pe),Tn.registerSymbol("dash",Ae),Tn.registerSymbol("smooth",Pe),Tn.registerSymbol("hv",Ut),Tn.registerSymbol("vh",jt),Tn.registerSymbol("hvh",ft),Tn.registerSymbol("vhv",on),Tn.registerSymbol("focus",lt);function lr(Oe,Qe,Re){var Ke=Math.round((Oe-Re)/Qe);return Re+Ke*Qe}function je(Oe,Qe,Re){var Ke=1.4,gt=Ke*Re;return[["M",Oe-Re,Qe-gt],["L",Oe+Re,Qe-gt],["L",Oe+Re,Qe+gt],["L",Oe-Re,Qe+gt],["Z"]]}var be=1.4,it=.4;function wt(Oe,Qe,Re){var Ke=Re,gt=Ke*be,tn=Ke/2,yt=Ke/6,Yt=Oe+gt*it;return[["M",Oe,Qe],["L",Yt,Qe+tn],["L",Oe+gt,Qe+tn],["L",Oe+gt,Qe-tn],["L",Yt,Qe-tn],["Z"],["M",Yt,Qe+yt],["L",Oe+gt-2,Qe+yt],["M",Yt,Qe-yt],["L",Oe+gt-2,Qe-yt]]}function ot(Oe,Qe,Re){var Ke=Re,gt=Ke*be,tn=Ke/2,yt=Ke/6,Yt=Qe+gt*it;return[["M",Oe,Qe],["L",Oe-tn,Yt],["L",Oe-tn,Qe+gt],["L",Oe+tn,Qe+gt],["L",Oe+tn,Yt],["Z"],["M",Oe-yt,Yt],["L",Oe-yt,Qe+gt-2],["M",Oe+yt,Yt],["L",Oe+yt,Qe+gt-2]]}Tn.registerSymbol("hiddenHandle",je),Tn.registerSymbol("verticalHandle",wt),Tn.registerSymbol("horizontalHandle",ot);var ut=function(Oe,Qe,Re){return Oe===void 0&&(Oe="horizontal"),Oe==="horizontal"?Qe:Re};function _t(Oe,Qe,Re,Ke){var gt;Ke===void 0&&(Ke=4);var tn=__read(Oe,2),yt=tn[0],Yt=tn[1],Rn=__read(Qe,2),er=Rn[0],Jn=Rn[1],kr=__read(Re,2),fr=kr[0],wr=kr[1],ei=__read([er,Jn],2),_n=ei[0],jn=ei[1],Hr=jn-_n;return _n>jn&&(gt=__read([jn,_n],2),_n=gt[0],jn=gt[1]),Hr>Yt-yt?[yt,Yt]:_nYt?wr===Yt&&fr===_n?[_n,Yt]:[Yt-Hr,Yt]:[_n,jn]}function $t(Oe,Qe,Re){return Oe===void 0&&(Oe="horizontal"),Oe==="horizontal"?Qe:Re}var Vt=b(49527),Qt=b(2080),cn=b(88170),Yn=b(53160),qn=b(23343);function Sr(Oe,Qe){for(var Re in Qe)Qe.hasOwnProperty(Re)&&Re!=="constructor"&&Qe[Re]!==void 0&&(Oe[Re]=Qe[Re])}function Jr(Oe,Qe,Re,Ke){return Qe&&Sr(Oe,Qe),Re&&Sr(Oe,Re),Ke&&Sr(Oe,Ke),Oe}var vr=b(5759);function Ki(Oe){return Oe instanceof Element||Oe instanceof Document}var Mi,yi="component-poptip",qr={CONTAINER:"component-poptip",ARROW:"component-poptip-arrow",TEXT:"component-poptip-text"},es=(Mi={},Mi[".".concat(qr.CONTAINER)]={visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},Mi[".".concat(qr.TEXT)]={"text-align":"center"},Mi[".".concat(qr.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, -100%)"},Mi[".".concat(qr.CONTAINER,"[data-position='left']")]={transform:"translate(-100%, -50%)"},Mi[".".concat(qr.CONTAINER,"[data-position='right']")]={transform:"translate(0, -50%)"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 0)"},Mi[".".concat(qr.CONTAINER,"[data-position='top-left']")]={transform:"translate(0,-100%)"},Mi[".".concat(qr.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%,-100%)"},Mi[".".concat(qr.CONTAINER,"[data-position='left-top']")]={transform:"translate(-100%, 0)"},Mi[".".concat(qr.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(-100%, -100%)"},Mi[".".concat(qr.CONTAINER,"[data-position='right-top']")]={transform:"translate(0, 0)"},Mi[".".concat(qr.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(0, -100%)"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 0)"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 0)"},Mi[".".concat(qr.ARROW)]={width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},Mi[".".concat(qr.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, calc(-100% - 5px))"},Mi["[data-position='top'] .".concat(qr.ARROW)]={bottom:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='left']")]={transform:"translate(calc(-100% - 5px), -50%)"},Mi["[data-position='left'] .".concat(qr.ARROW)]={right:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='right']")]={transform:"translate(5px, -50%)"},Mi["[data-position='right'] .".concat(qr.ARROW)]={left:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 5px)"},Mi["[data-position='bottom'] .".concat(qr.ARROW)]={top:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='top-left']")]={transform:"translate(0, calc(-100% - 5px))"},Mi["[data-position='top-left'] .".concat(qr.ARROW)]={left:"10px",bottom:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%, calc(-100% - 5px))"},Mi["[data-position='top-right'] .".concat(qr.ARROW)]={right:"10px",bottom:"-2px"},Mi[".".concat(qr.CONTAINER,"[data-position='left-top']")]={transform:"translate(calc(-100% - 5px), 0)"},Mi["[data-position='left-top'] .".concat(qr.ARROW)]={right:"-2px",top:"8px"},Mi[".".concat(qr.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(calc(-100% - 5px), -100%)"},Mi["[data-position='left-bottom'] .".concat(qr.ARROW)]={right:"-2px",bottom:"8px"},Mi[".".concat(qr.CONTAINER,"[data-position='right-top']")]={transform:"translate(5px, 0)"},Mi["[data-position='right-top'] .".concat(qr.ARROW)]={left:"-2px",top:"8px"},Mi[".".concat(qr.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(5px, -100%)"},Mi["[data-position='right-bottom'] .".concat(qr.ARROW)]={left:"-2px",bottom:"8px"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 5px)"},Mi["[data-position='bottom-left'] .".concat(qr.ARROW)]={top:"-2px",left:"8px"},Mi[".".concat(qr.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 5px)"},Mi["[data-position='bottom-right'] .".concat(qr.ARROW)]={top:"-2px",right:"8px"},Mi),Ci=void 0;function En(Oe,Qe,Re,Ke,gt,tn){if(gt===void 0&&(gt=!1),tn===void 0&&(tn=!1),tn)return[Oe,Qe];var yt=Re.getBoundingClientRect(),Yt=yt.x,Rn=yt.y,er=yt.width,Jn=yt.height;switch(Ke){case"top":return gt?[Yt+er/2,Rn]:[Oe,Rn];case"left":return gt?[Yt,Rn+Jn/2]:[Yt,Qe];case"bottom":return gt?[Yt+er/2,Rn+Jn]:[Oe,Rn+Jn];case"right":return gt?[Yt+er,Rn+Jn/2]:[Yt+er,Qe];case"top-right":case"right-top":return[Yt+er,Rn];case"left-bottom":case"bottom-left":return[Yt,Rn+Jn];case"right-bottom":case"bottom-right":return[Yt+er,Rn+Jn];case"top-left":case"left-top":default:return[Yt,Rn]}}var rn=function(Oe){var Qe;return function(){for(var Re=[],Ke=0;Ke');Re.innerHTML=Yt,(0,Ht.Z)(tn)?Re.innerHTML+=tn:tn&&Ki(tn)&&Re.appendChild(tn),yt&&(Re.getElementsByClassName(qr.TEXT)[0].textContent=yt),this.applyStyles(),this.container.style.visibility=this.visibility},Qe.prototype.applyStyles=function(){var Re=(0,kt.n)({},es,this.style.domStyles),Ke=Object.entries(Re).reduce(function(tn,yt){var Yt=(0,m.CR)(yt,2),Rn=Yt[0],er=Yt[1],Jn=Object.entries(er).reduce(function(kr,fr){var wr=(0,m.CR)(fr,2),ei=wr[0],_n=wr[1];return"".concat(kr).concat(ei,": ").concat(_n,";")},"");return"".concat(tn).concat(Rn,"{").concat(Jn,"}")},"");if(this.domStyles!==Ke){this.domStyles=Ke;var gt=this.container.querySelector("style");gt&&this.container.removeChild(gt),gt=document.createElement("style"),gt.innerHTML=Ke,this.container.appendChild(gt)}},Qe.prototype.setOffsetPosition=function(Re,Ke,gt){gt===void 0&&(gt=this.style.offset);var tn=(0,m.CR)(gt,2),yt=tn[0],Yt=yt===void 0?0:yt,Rn=tn[1],er=Rn===void 0?0:Rn;this.container.style.left="".concat(Re+Yt,"px"),this.container.style.top="".concat(Ke+er,"px")},Qe.tag="poptip",Qe.defaultOptions={style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:es,template:'
    ')}},Qe}(Z.w),Wt=(0,C.A)({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",focusGroup:"focus-group",focus:"focus",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item"),bn={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};function Jt(Oe){var Qe=Oe.querySelector(Wt.marker.class);return Qe?Qe.style:{}}var ar=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re,Ke){var gt=Oe.call(this,Re,{span:[1,1],marker:function(){return new V.Cd({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this;return gt.keyFields={},gt.keyFields=Ke||{},gt}return Object.defineProperty(Qe.prototype,"showValue",{get:function(){var Re=this.attributes.valueText;return Re?typeof Re=="string"||typeof Re=="number"?Re!=="":typeof Re=="function"?!0:Re.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"actualSpace",{get:function(){var Re=this.labelGroup,Ke=this.valueGroup,gt=this.attributes,tn=gt.markerSize,yt=gt.focus,Yt=gt.focusMarkerSize,Rn=Re.node().getBBox(),er=Rn.width,Jn=Rn.height,kr=Ke.node().getBBox(),fr=kr.width,wr=kr.height,ei=yt?Yt!=null?Yt:12:0;return{markerWidth:tn,labelWidth:er,valueWidth:fr,focusWidth:ei,height:Math.max(tn,Jn,wr)}},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"span",{get:function(){var Re=this.attributes.span;if(!Re)return[1,1];var Ke=(0,m.CR)((0,H.j)(Re),2),gt=Ke[0],tn=Ke[1],yt=this.showValue?tn:0,Yt=gt+yt;return[gt/Yt,yt/Yt]},enumerable:!1,configurable:!0}),Qe.prototype.setAttribute=function(Re,Ke){Oe.prototype.setAttribute.call(this,Re,Ke)},Object.defineProperty(Qe.prototype,"shape",{get:function(){var Re,Ke=this.attributes,gt=Ke.markerSize,tn=Ke.width,yt=this.actualSpace,Yt=yt.markerWidth,Rn=yt.focusWidth,er=yt.height,Jn=this.actualSpace,kr=Jn.labelWidth,fr=Jn.valueWidth,wr=(0,m.CR)(this.spacing,3),ei=wr[0],_n=wr[1],jn=wr[2];if(tn){var Hr=tn-gt-ei-_n-Rn-jn,Pr=(0,m.CR)(this.span,2),$i=Pr[0],Zi=Pr[1];Re=(0,m.CR)([$i*Hr,Zi*Hr],2),kr=Re[0],fr=Re[1]}var Xi=Yt+kr+fr+ei+_n+Rn+jn;return{width:Xi,height:er,markerWidth:Yt,labelWidth:kr,valueWidth:fr,focusWidth:Rn}},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"spacing",{get:function(){var Re=this.attributes,Ke=Re.spacing,gt=Re.focus;if(!Ke)return[0,0,0];var tn=(0,m.CR)((0,H.j)(Ke),3),yt=tn[0],Yt=tn[1],Rn=tn[2];return[yt,this.showValue?Yt:0,gt?Rn:0]},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"layout",{get:function(){var Re=this.shape,Ke=Re.markerWidth,gt=Re.labelWidth,tn=Re.valueWidth,yt=Re.focusWidth,Yt=Re.width,Rn=Re.height,er=(0,m.CR)(this.spacing,3),Jn=er[0],kr=er[1],fr=er[2];return{height:Rn,width:Yt,markerWidth:Ke,labelWidth:gt,valueWidth:tn,focusWidth:yt,position:[Ke/2,Ke+Jn,Ke+gt+Jn+kr,Ke+gt+tn+Jn+kr+fr+yt/2]}},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"scaleSize",{get:function(){var Re=Jt(this.markerGroup.node()),Ke=this.attributes,gt=Ke.markerSize,tn=Ke.markerStrokeWidth,yt=tn===void 0?Re.strokeWidth:tn,Yt=Ke.markerLineWidth,Rn=Yt===void 0?Re.lineWidth:Yt,er=Ke.markerStroke,Jn=er===void 0?Re.stroke:er,kr=+(yt||Rn||(Jn?1:0))*Math.sqrt(2),fr=this.markerGroup.node().getBBox(),wr=fr.width,ei=fr.height;return(1-kr/Math.max(wr,ei))*gt},enumerable:!1,configurable:!0}),Qe.prototype.renderMarker=function(Re){var Ke=this,gt=this.attributes,tn=gt.marker,yt=gt.classNamePrefix,Yt=(0,N.zs)(this.attributes,"marker");this.markerGroup=Re.maybeAppendByClassName(Wt.markerGroup,"g").style("zIndex",0),(0,D.z)(!!tn,this.markerGroup,function(){var Rn,er=Ke.markerGroup.node(),Jn=(Rn=er.childNodes)===null||Rn===void 0?void 0:Rn[0],kr=X(Wt.marker.name,de.marker,yt),fr=typeof tn=="string"?new Tn({style:{symbol:tn},className:kr}):tn();if(Jn)if(fr.nodeName===Jn.nodeName)Jn instanceof Tn?Jn.update((0,m.pi)((0,m.pi)({},Yt),{symbol:tn})):((0,Qt.DM)(Jn,fr),(0,E.Ys)(Jn).styles(Yt));else{if(Jn.remove(),!(fr instanceof Tn)){var ei=X(Wt.marker.name,de.marker,yt);fr.className=ei}(0,E.Ys)(fr).styles(Yt),er.appendChild(fr)}else{if(!(fr instanceof Tn)){var wr=X(Wt.marker.name,de.marker,yt);fr.className=wr,(0,E.Ys)(fr).styles(Yt)}er.appendChild(fr)}Ke.markerGroup.node().scale(1/Ke.markerGroup.node().getScale()[0]);var _n=(0,In.b)(Ke.markerGroup.node(),Ke.scaleSize,!0);Ke.markerGroup.node().style._transform="scale(".concat(_n,")")})},Qe.prototype.renderLabel=function(Re){var Ke=(0,N.zs)(this.attributes,"label"),gt=Ke.text,tn=(0,m._T)(Ke,["text"]),yt=this.attributes.classNamePrefix;this.labelGroup=Re.maybeAppendByClassName(Wt.labelGroup,"g").style("zIndex",0);var Yt=X(Wt.label.name,de.label,yt),Rn=this.labelGroup.maybeAppendByClassName(Wt.label,function(){return(0,cn.S)(gt)});Rn.node().setAttribute("class",Yt),Rn.styles(tn)},Qe.prototype.renderValue=function(Re){var Ke=this,gt=(0,N.zs)(this.attributes,"value"),tn=gt.text,yt=(0,m._T)(gt,["text"]),Yt=this.attributes.classNamePrefix;this.valueGroup=Re.maybeAppendByClassName(Wt.valueGroup,"g").style("zIndex",0),(0,D.z)(this.showValue,this.valueGroup,function(){var Rn=X(Wt.value.name,de.value,Yt),er=Ke.valueGroup.maybeAppendByClassName(Wt.value,function(){return(0,cn.S)(tn)});er.node().setAttribute("class",Rn),er.styles(yt)})},Qe.prototype.createPoptip=function(){var Re=this.attributes.poptip,Ke=Re||{},gt=Ke.render,tn=(0,m._T)(Ke,["render"]),yt=new dt({style:(0,kt.n)(bn,tn)});return this.poptipGroup=yt,yt},Qe.prototype.bindPoptip=function(Re){var Ke=this,gt=this.attributes.poptip;if(gt){var tn=this.poptipGroup||this.createPoptip();tn.bind(Re,function(){var yt=Ke.attributes,Yt=yt.labelText,Rn=yt.valueText,er=yt.markerFill,Jn=typeof Yt=="string"?Yt:Yt==null?void 0:Yt.attr("text"),kr=typeof Rn=="string"?Rn:Rn==null?void 0:Rn.attr("text");if(typeof gt.render=="function")return{html:gt.render((0,m.pi)((0,m.pi)({},Ke.keyFields),{label:Jn,value:kr,color:er}))};var fr="";return(typeof Jn=="string"||typeof Jn=="number")&&(fr+='
    '.concat(Jn,"
    ")),(typeof kr=="string"||typeof kr=="number")&&(fr+='
    '.concat(kr,"
    ")),{html:fr}})}},Qe.prototype.renderFocus=function(Re){var Ke=this,gt=this.attributes,tn=gt.focus,yt=gt.focusMarkerSize,Yt=gt.classNamePrefix,Rn={x:0,y:0,size:yt,opacity:.6,symbol:"focus",stroke:"#aaaaaa",lineWidth:1};(0,Vt.Z)(tn)||(this.focusGroup=Re.maybeAppendByClassName(Wt.focusGroup,"g").style("zIndex",0),(0,D.z)(tn,this.focusGroup,function(){var er=X(Wt.focus.name,de.focusIcon,Yt),Jn=new Tn({style:(0,m.pi)((0,m.pi)({},Rn),{symbol:"focus"}),className:er}),kr=new V.Cd({style:{r:Rn.size/2,fill:"transparent"}}),fr=Ke.focusGroup.node();fr.appendChild(kr),fr.appendChild(Jn),Jn.update({opacity:0}),Re.node().addEventListener("pointerenter",function(){Jn.update({opacity:1})}),Re.node().addEventListener("pointerleave",function(){Jn.update({opacity:0})})}))},Qe.prototype.renderPoptip=function(Re){var Ke=this,gt=this.attributes.poptip;if(gt){var tn=Re.maybeAppendByClassName(Wt.value,"g").node(),yt=Re.maybeAppendByClassName(Wt.label,"g").node();[tn,yt].forEach(function(Yt){Yt&&Ke.bindPoptip(Yt)})}},Qe.prototype.renderBackground=function(Re){var Ke=this.shape,gt=Ke.width,tn=Ke.height,yt=(0,N.zs)(this.attributes,"background");this.background=Re.maybeAppendByClassName(Wt.backgroundGroup,"g").style("zIndex",-1);var Yt=this.background.maybeAppendByClassName(Wt.background,"rect");Yt.styles((0,m.pi)({width:gt,height:tn},yt));var Rn=this.attributes.classNamePrefix,er=Rn===void 0?"":Rn;if(er){var Jn=X(Wt.background.name,de.background,er);Yt.node().setAttribute("class",Jn)}},Qe.prototype.adjustLayout=function(){var Re=this.layout,Ke=Re.labelWidth,gt=Re.valueWidth,tn=Re.height,yt=(0,m.CR)(Re.position,4),Yt=yt[0],Rn=yt[1],er=yt[2],Jn=yt[3],kr=tn/2;this.markerGroup.styles({transform:"translate(".concat(Yt,", ").concat(kr,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(Rn,", ").concat(kr,")")}),this.focusGroup&&this.focusGroup.styles({transform:"translate(".concat(Jn,", ").concat(kr,")")}),(0,Yn.O)(this.labelGroup.select(Wt.label.class).node(),Math.ceil(Ke)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(er,", ").concat(kr,")")}),(0,Yn.O)(this.valueGroup.select(Wt.value.class).node(),Math.ceil(gt)))},Qe.prototype.render=function(Re,Ke){var gt=(0,E.Ys)(Ke),tn=Re.x,yt=tn===void 0?0:tn,Yt=Re.y,Rn=Yt===void 0?0:Yt;gt.styles({transform:"translate(".concat(yt,", ").concat(Rn,")")}),this.renderMarker(gt),this.renderLabel(gt),this.renderValue(gt),this.renderBackground(gt),this.renderPoptip(gt),this.renderFocus(gt),this.adjustLayout()},Qe}(Z.w),rr=(0,C.A)({page:"item-page",navigator:"navigator",item:"item"},"items"),Kr=function(Oe,Qe,Re){return Re===void 0&&(Re=!0),Oe?Qe(Oe):Re},si=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re){var Ke=Oe.call(this,Re,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:Fe,mouseenter:Fe,mouseleave:Fe})||this;return Ke.navigatorShape=[0,0],Ke}return Object.defineProperty(Qe.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"grid",{get:function(){var Re=this.attributes,Ke=Re.gridRow,gt=Re.gridCol,tn=Re.data;if(!Ke&&!gt)throw new Error("gridRow and gridCol can not be set null at the same time");return Ke&>?[Ke,gt]:Ke?[Ke,tn.length]:[tn.length,gt]},enumerable:!1,configurable:!0}),Object.defineProperty(Qe.prototype,"renderData",{get:function(){var Re=this.attributes,Ke=Re.data,gt=Re.layout,tn=Re.poptip,yt=Re.focus,Yt=Re.focusMarkerSize,Rn=Re.classNamePrefix,er=(0,N.zs)(this.attributes,"item"),Jn=Ke.map(function(kr,fr){var wr=kr.id,ei=wr===void 0?fr:wr,_n=kr.label,jn=kr.value;return{id:"".concat(ei),index:fr,style:(0,m.pi)({layout:gt,labelText:_n,valueText:jn,poptip:tn,focus:yt,focusMarkerSize:Yt,classNamePrefix:Rn},Object.fromEntries(Object.entries(er).map(function(Hr){var Pr=(0,m.CR)(Hr,2),$i=Pr[0],Zi=Pr[1];return[$i,(0,vt.S)(Zi,[kr,fr,Ke])]})))}});return Jn},enumerable:!1,configurable:!0}),Qe.prototype.getGridLayout=function(){var Re=this,Ke=this.attributes,gt=Ke.orientation,tn=Ke.width,yt=Ke.rowPadding,Yt=Ke.colPadding,Rn=(0,m.CR)(this.navigatorShape,1),er=Rn[0],Jn=(0,m.CR)(this.grid,2),kr=Jn[0],fr=Jn[1],wr=fr*kr,ei=0;return this.pageViews.children.map(function(_n,jn){var Hr,Pr,$i=Math.floor(jn/wr),Zi=jn%wr,Xi=Re.ifHorizontal(fr,kr),Ei=[Math.floor(Zi/Xi),Zi%Xi];gt==="vertical"&&Ei.reverse();var ms=(0,m.CR)(Ei,2),_i=ms[0],Es=ms[1],ua=(tn-er-(fr-1)*Yt)/fr,Hn=_n.getBBox().height,Pt=(0,m.CR)([0,0],2),Gt=Pt[0],Bt=Pt[1];return gt==="horizontal"?(Hr=(0,m.CR)([ei,_i*(Hn+yt)],2),Gt=Hr[0],Bt=Hr[1],ei=Es===fr-1?0:ei+ua+Yt):(Pr=(0,m.CR)([Es*(ua+Yt),ei],2),Gt=Pr[0],Bt=Pr[1],ei=_i===kr-1?0:ei+Hn+yt),{page:$i,index:jn,row:_i,col:Es,pageIndex:Zi,width:ua,height:Hn,x:Gt,y:Bt}})},Qe.prototype.getFlexLayout=function(){var Re=this.attributes,Ke=Re.width,gt=Re.height,tn=Re.rowPadding,yt=Re.colPadding,Yt=(0,m.CR)(this.navigatorShape,1),Rn=Yt[0],er=(0,m.CR)(this.grid,2),Jn=er[0],kr=er[1],fr=(0,m.CR)([Ke-Rn,gt],2),wr=fr[0],ei=fr[1],_n=(0,m.CR)([0,0,0,0,0,0,0,0],8),jn=_n[0],Hr=_n[1],Pr=_n[2],$i=_n[3],Zi=_n[4],Xi=_n[5],Ei=_n[6],ms=_n[7];return this.pageViews.children.map(function(_i,Es){var ua,Hn,Pt,Gt,Bt=_i.getBBox(),yn=Bt.width,Ln=Bt.height,gr=Ei===0?0:yt,Rr=Ei+gr+yn;if(Rr<=wr&&Kr(Zi,function(Ii){return Ii0?(this.navigatorShape=[55,0],Re.call(this)):Ke},enumerable:!1,configurable:!0}),Qe.prototype.ifHorizontal=function(Re,Ke){var gt=this.attributes.orientation;return $t(gt,Re,Ke)},Qe.prototype.flattenPage=function(Re){Re.querySelectorAll(rr.item.class).forEach(function(Ke){Re.appendChild(Ke)}),Re.querySelectorAll(rr.page.class).forEach(function(Ke){var gt=Re.removeChild(Ke);gt.destroy()})},Qe.prototype.renderItems=function(Re){var Ke=this.attributes,gt=Ke.click,tn=Ke.mouseenter,yt=Ke.mouseleave,Yt=Ke.classNamePrefix;this.flattenPage(Re);var Rn=this.dispatchCustomEvent.bind(this),er=X(rr.item.name,de.item,Yt);(0,E.Ys)(Re).selectAll(rr.item.class).data(this.renderData,function(Jn){return Jn.id}).join(function(Jn){return Jn.append(function(kr){var fr=kr.style,wr=(0,m._T)(kr,["style"]);return new ar({style:fr},wr)}).attr("className",er).on("click",function(){gt==null||gt(this),Rn("itemClick",{item:this})}).on("pointerenter",function(){tn==null||tn(this),Rn("itemMouseenter",{item:this})}).on("pointerleave",function(){yt==null||yt(this),Rn("itemMouseleave",{item:this})})},function(Jn){return Jn.each(function(kr){var fr=kr.style;this.update(fr)})},function(Jn){return Jn.remove()})},Qe.prototype.relayoutNavigator=function(){var Re,Ke=this.attributes,gt=Ke.layout,tn=Ke.width,yt=((Re=this.pageViews.children[0])===null||Re===void 0?void 0:Re.getBBox().height)||0,Yt=(0,m.CR)(this.navigatorShape,2),Rn=Yt[0],er=Yt[1];this.navigator.update(gt==="grid"?{pageWidth:tn-Rn,pageHeight:yt-er}:{})},Qe.prototype.adjustLayout=function(){var Re=this,Ke=Object.entries(at(this.itemsLayout,"page")).map(function(tn){var yt=(0,m.CR)(tn,2),Yt=yt[0],Rn=yt[1];return{page:Yt,layouts:Rn}}),gt=(0,m.ev)([],(0,m.CR)(this.navigator.getContainer().children),!1);Ke.forEach(function(tn){var yt=tn.layouts,Yt=Re.pageViews.appendChild(new V.ZA({className:rr.page.name}));yt.forEach(function(Rn){var er=Rn.x,Jn=Rn.y,kr=Rn.index,fr=Rn.width,wr=Rn.height,ei=gt[kr];Yt.appendChild(ei),(0,ct.Z)(ei,"__layout__",Rn),ei.update({x:er,y:Jn,width:fr,height:wr})})}),this.relayoutNavigator()},Qe.prototype.renderNavigator=function(Re){var Ke=this.attributes,gt=Ke.orientation,tn=Ke.classNamePrefix,yt=(0,N.zs)(this.attributes,"nav"),Yt=(0,kt.n)({orientation:gt,classNamePrefix:tn},yt),Rn=this;return Re.selectAll(rr.navigator.class).data(["nav"]).join(function(er){return er.append(function(){return new sn({style:Yt})}).attr("className",rr.navigator.name).each(function(){Rn.navigator=this})},function(er){return er.each(function(){this.update(Yt)})},function(er){return er.remove()}),this.navigator},Qe.prototype.getBBox=function(){return this.navigator.getBBox()},Qe.prototype.render=function(Re,Ke){var gt=this.attributes.data;if(!(!gt||gt.length===0)){var tn=this.renderNavigator((0,E.Ys)(Ke));this.renderItems(tn.getContainer()),this.adjustLayout()}},Qe.prototype.dispatchCustomEvent=function(Re,Ke){var gt=new V.Aw(Re,{detail:Ke});this.dispatchEvent(gt)},Qe}(Z.w),Ie=(0,C.A)({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),L={showLabel:!0,formatter:function(Oe){return Oe.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},Q=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re){return Oe.call(this,Re,L)||this}return Qe.prototype.render=function(Re,Ke){var gt=(0,E.Ys)(Ke).maybeAppendByClassName(Ie.markerGroup,"g");this.renderMarker(gt);var tn=(0,E.Ys)(Ke).maybeAppendByClassName(Ie.labelGroup,"g");this.renderLabel(tn)},Qe.prototype.renderMarker=function(Re){var Ke=this,gt=this.attributes,tn=gt.orientation,yt=gt.classNamePrefix,Yt=gt.markerSymbol,Rn=Yt===void 0?$t(tn,"horizontalHandle","verticalHandle"):Yt;(0,D.z)(!!Rn,Re,function(er){var Jn=(0,N.zs)(Ke.attributes,"marker"),kr=(0,m.pi)({symbol:Rn},Jn),fr=X(Ie.marker.name,de.handleMarker,yt);if(Ke.marker=er.maybeAppendByClassName(Ie.marker,function(){return new Tn({style:kr,className:fr})}).update(kr),yt){var wr=Ke.marker.node().querySelector(".marker");if(wr){var ei=wr.getAttribute("class")||"",_n=ei.split(" ")[0],jn=X(_n,de.handleMarker,yt);wr.setAttribute("class",jn)}}})},Qe.prototype.renderLabel=function(Re){var Ke=this,gt=this.attributes,tn=gt.showLabel,yt=gt.orientation,Yt=gt.spacing,Rn=Yt===void 0?0:Yt,er=gt.formatter,Jn=gt.classNamePrefix;(0,D.z)(tn,Re,function(kr){var fr,wr=(0,N.zs)(Ke.attributes,"label"),ei=wr.text,_n=(0,m._T)(wr,["text"]),jn=((fr=kr.select(Ie.marker.class))===null||fr===void 0?void 0:fr.node().getBBox())||{},Hr=jn.width,Pr=Hr===void 0?0:Hr,$i=jn.height,Zi=$i===void 0?0:$i,Xi=(0,m.CR)($t(yt,[0,Zi+Rn,"center","top"],[Pr+Rn,0,"start","middle"]),4),Ei=Xi[0],ms=Xi[1],_i=Xi[2],Es=Xi[3],ua=X(Ie.label.name,de.handleLabel,Jn);kr.maybeAppendByClassName(Ie.label,"text").attr("className",ua).styles((0,m.pi)((0,m.pi)({},_n),{x:Ei,y:ms,text:er(ei).toString(),textAlign:_i,textBaseline:Es}))})},Qe}(Z.w),w={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},z=(0,kt.n)({},w,{}),ie=(0,kt.n)({},w,(0,N.dq)(L,"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"}),ze=.01,Je=.5,At=(0,C.A)({title:"title",html:"html",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"),xt=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(){return Oe!==null&&Oe.apply(this,arguments)||this}return Qe.prototype.update=function(Re){this.attr(Re)},Qe}(V.k9),Sn=function(Oe){(0,m.ZT)(Qe,Oe);function Qe(Re){return Oe.call(this,Re,z)||this}return Qe.prototype.renderTitle=function(Re,Ke,gt){var tn=this.attributes,yt=tn.showTitle,Yt=tn.titleText,Rn=tn.classNamePrefix,er=(0,N.zs)(this.attributes,"title"),Jn=(0,m.CR)((0,N.Hm)(er),2),kr=Jn[0],fr=Jn[1];this.titleGroup=Re.maybeAppendByClassName(At.titleGroup,"g").styles(fr);var wr=(0,m.pi)((0,m.pi)({width:Ke,height:gt},kr),{text:yt?Yt:"",classNamePrefix:Rn});this.title=this.titleGroup.maybeAppendByClassName(At.title,function(){return new $e({style:wr})}).update(wr)},Qe.prototype.renderCustom=function(Re){var Ke=this.attributes.data,gt={innerHTML:this.attributes.render(Ke),pointerEvents:"auto"};Re.maybeAppendByClassName(At.html,function(){return new xt({className:At.html.name,style:gt})}).update(gt)},Qe.prototype.renderItems=function(Re,Ke){var gt=Ke.x,tn=Ke.y,yt=Ke.width,Yt=Ke.height,Rn=(0,N.zs)(this.attributes,"title",!0),er=(0,m.CR)((0,N.Hm)(Rn),2),Jn=er[0],kr=er[1],fr=(0,m.pi)((0,m.pi)({},Jn),{width:yt,height:Yt,x:0,y:0});this.itemsGroup=Re.maybeAppendByClassName(At.itemsGroup,"g").styles((0,m.pi)((0,m.pi)({},kr),{transform:"translate(".concat(gt,", ").concat(tn,")")}));var wr=this;this.itemsGroup.selectAll(At.items.class).data(["items"]).join(function(ei){return ei.append(function(){return new si({style:fr})}).attr("className",At.items.name).each(function(){wr.items=(0,E.Ys)(this)})},function(ei){return ei.update(fr)},function(ei){return ei.remove()})},Qe.prototype.adjustLayout=function(){var Re=this.attributes.showTitle;if(Re){var Ke=this.title.node().getAvailableSpace(),gt=Ke.x,tn=Ke.y;this.itemsGroup.node().style.transform="translate(".concat(gt,", ").concat(tn,")")}},Object.defineProperty(Qe.prototype,"availableSpace",{get:function(){var Re=this.attributes,Ke=Re.showTitle,gt=Re.width,tn=Re.height;return Ke?this.title.node().getAvailableSpace():new F.b(0,0,gt,tn)},enumerable:!1,configurable:!0}),Qe.prototype.getBBox=function(){var Re,Ke,gt=(Re=this.title)===null||Re===void 0?void 0:Re.node(),tn=(Ke=this.items)===null||Ke===void 0?void 0:Ke.node();return!gt||!tn?Oe.prototype.getBBox.call(this):we(gt,tn)},Qe.prototype.render=function(Re,Ke){var gt=this.attributes,tn=gt.width,yt=gt.height,Yt=gt.x,Rn=Yt===void 0?0:Yt,er=gt.y,Jn=er===void 0?0:er,kr=gt.classNamePrefix,fr=gt.render,wr=(0,E.Ys)(Ke),ei=Ke.className||"legend-category";kr?Ke.attr("className","".concat(ei," ").concat(kr,"legend")):Ke.className||Ke.attr("className","legend-category"),Ke.style.transform="translate(".concat(Rn,", ").concat(Jn,")"),fr?this.renderCustom(wr):(this.renderTitle(wr,tn,yt),this.renderItems(wr,this.availableSpace),this.adjustLayout())},Qe}(Z.w)},91498:function(Be,Me,b){"use strict";b.d(Me,{s:function(){return Sa}});var m=b(80813),Z=b(70208),V=b(97304),N=b(66623),E=b(99247),F=b(17911),C=b(88839),P=null,H=null;function D(oe){return oe instanceof Date?oe:new Date(oe)}function X(oe){for(var re=__read(oe,2),Y=re[0],J=re[1],fe=P.indexOf(Y),Te=P.indexOf(J),De="",Le=fe;Le<=Te;Le+=1)if(De+=H[Le],Le2&&(Xe=":"),De+=Xe}return De}function j(oe,re){var Y={YYYY:oe.getFullYear(),MM:oe.getMonth()+1,DD:oe.getDate(),HH:oe.getHours(),mm:oe.getMinutes(),ss:oe.getSeconds()},J=re;return Object.keys(Y).forEach(function(fe){var Te=Y[fe];J=J.replace(fe,fe==="YYYY"?"".concat(Te):"".concat(Te).padStart(2,"0"))}),J}function de(oe,re){return D(oe).getTime()-D(re).getTime()}function he(oe,re){var Y=__read([D(oe),D(re)],2),J=Y[0],fe=Y[1];return J.getFullYear()!==fe.getFullYear()?"year":J.getMonth()!==fe.getMonth()?"month":J.getDay()!==fe.getDay()?"day":J.getHours()!==fe.getHours()?"hour":J.getMinutes()!==fe.getMinutes()?"minute":"second"}function we(oe,re){var Y=new Date(oe),J={year:function(fe){fe.setMonth(0),fe.setHours(0,0,0,0)},month:function(fe){fe.setDate(1),fe.setHours(0,0,0,0)},day:function(fe){return fe.setHours(0,0,0,0)},hour:function(fe){return fe.setMinutes(0,0,0)},minute:function(fe){return fe.setSeconds(0,0)},second:function(fe){return fe.setMilliseconds(0)}};return J[re](Y),j(Y,X(["year",re]))}var ve=b(86314),Ee=b(67756);function $e(oe,re){if(oe.length<=re)return oe;for(var Y=Math.floor(oe.length/re),J=[],fe=0;fe180?1:0,Ds=oe>re?0:1,Ba=!1;return Ba?"M".concat(Y,",").concat(J,",L").concat($n,",").concat(Er,",A").concat(Le,",").concat(Xe,",0,").concat(fs,",").concat(Ds,",").concat(ti,",").concat(jr,",L").concat(Y,",").concat(J):"M".concat($n,",").concat(Er,",A").concat(Le,",").concat(Xe,",0,").concat(fs,",").concat(Ds,",").concat(ti,",").concat(jr)}function yi(oe){var re=oe.attributes,Y=re.startAngle,J=re.endAngle,fe=re.center,Te=re.radius;return(0,m.ev)((0,m.ev)([Y,J],(0,m.CR)(fe),!1),[Te],!1)}function qr(oe,re,Y,J){var fe=re.startAngle,Te=re.endAngle,De=re.center,Le=re.radius,Xe=re.classNamePrefix;return oe.selectAll(Lt.line.class).data([{d:Mi.apply(void 0,(0,m.ev)((0,m.ev)([fe,Te],(0,m.CR)(De),!1),[Le],!1))}],function(mt,Kt){return Kt}).join(function(mt){var Kt=mt.append("path").attr("className",Lt.line.name).styles(re).styles({d:function(nn){return nn.d}});return cn(Kt,Lt.line,at.line,Xe),Kt},function(mt){return mt.transition(function(){var Kt=this,nn=Fn(this,yi(this),(0,m.ev)((0,m.ev)([fe,Te],(0,m.CR)(De),!1),[Le],!1),J.update);if(nn){var gn=function(){var Nn=(0,sn.Z)(Kt.attributes,"__keyframe_data__");Kt.style.d=Mi.apply(void 0,(0,m.ev)([],(0,m.CR)(Nn),!1))};nn.onframe=gn,nn.onfinish=gn}return nn}).styles(re)},function(mt){return mt.remove()}).styles(Y).transitions()}function es(oe,re){var Y=re.truncRange,J=re.truncShape,fe=re.lineExtension}function Ci(oe,re,Y){Y===void 0&&(Y=[0,0]);var J=(0,m.CR)([oe,re,Y],3),fe=(0,m.CR)(J[0],2),Te=fe[0],De=fe[1],Le=(0,m.CR)(J[1],2),Xe=Le[0],mt=Le[1],Kt=(0,m.CR)(J[2],2),nn=Kt[0],gn=Kt[1],Nn=(0,m.CR)([Xe-Te,mt-De],2),$n=Nn[0],Er=Nn[1],mr=Math.sqrt(Math.pow($n,2)+Math.pow(Er,2)),ti=(0,m.CR)([-nn/mr,gn/mr],2),jr=ti[0],ui=ti[1];return[jr*$n,jr*Er,ui*$n,ui*Er]}function En(oe){var re=(0,m.CR)(oe,2),Y=(0,m.CR)(re[0],2),J=Y[0],fe=Y[1],Te=(0,m.CR)(re[1],2),De=Te[0],Le=Te[1];return{x1:J,y1:fe,x2:De,y2:Le}}function rn(oe,re,Y,J){var fe=re.showTrunc,Te=re.startPos,De=re.endPos,Le=re.truncRange,Xe=re.lineExtension,mt=re.classNamePrefix,Kt=(0,m.CR)([Te,De],2),nn=(0,m.CR)(Kt[0],2),gn=nn[0],Nn=nn[1],$n=(0,m.CR)(Kt[1],2),Er=$n[0],mr=$n[1],ti=(0,m.CR)(Xe?Ci(Te,De,Xe):new Array(4).fill(0),4),jr=ti[0],ui=ti[1],gi=ti[2],oi=ti[3],ts=function(Ya){return oe.selectAll(Lt.line.class).data(Ya,function(pa,al){return al}).join(function(pa){var al=pa.append("line").styles(Y).transition(function(qa){return(0,ve.eR)(this,En(qa.line),!1)});return al.attr("className",function(qa){if(!mt)return"".concat(Lt.line.name," ").concat(qa.className);var Ua=Vt(Lt.line.name,at.line,mt);if(qa.className===Lt.lineFirst.name){var dl=Vt(Lt.lineFirst.name,at.lineFirst,mt);return"".concat(Ua," ").concat(dl)}if(qa.className===Lt.lineSecond.name){var dl=Vt(Lt.lineSecond.name,at.lineSecond,mt);return"".concat(Ua," ").concat(dl)}return Ua}),al},function(pa){return pa.styles(Y).transition(function(al){var qa=al.line;return(0,ve.eR)(this,En(qa),J.update)})},function(pa){return pa.remove()}).transitions()};if(!fe||!Le)return ts([{line:[[gn+jr,Nn+ui],[Er+gi,mr+oi]],className:Lt.line.name}]);var fs=(0,m.CR)(Le,2),Ds=fs[0],Ba=fs[1],Ka=Er-gn,xo=mr-Nn,aa=(0,m.CR)([gn+Ka*Ds,Nn+xo*Ds],2),di=aa[0],Ma=aa[1],Rs=(0,m.CR)([gn+Ka*Ba,Nn+xo*Ba],2),lo=Rs[0],Jo=Rs[1],zs=ts([{line:[[gn+jr,Nn+ui],[di,Ma]],className:Lt.lineFirst.name},{line:[[lo,Jo],[Er+gi,mr+oi]],className:Lt.lineSecond.name}]);return es(oe,re),zs}function Xt(oe,re,Y,J){var fe=Y.showArrow,Te=Y.showTrunc,De=Y.lineArrow,Le=Y.lineArrowOffset,Xe=Y.lineArrowSize,mt;if(re==="arc"?mt=oe.select(Lt.line.class):Te?mt=oe.select(Lt.lineSecond.class):mt=oe.select(Lt.line.class),!fe||!De||Y.type==="arc"&&Ki(Y.startAngle,Y.endAngle)){var Kt=mt.node();Kt&&(Kt.style.markerEnd=void 0);return}var nn=(0,Tn.S)(De);nn.attr(J),(0,lr.b)(nn,Xe,!0),mt.style("markerEnd",nn).style("markerEndOffset",-Le)}function st(oe,re,Y){var J=re.type,fe,Te=(0,C.zs)(re,"line");return J==="linear"?fe=rn(oe,re,je(Te,"arrow"),Y):fe=qr(oe,re,je(Te,"arrow"),Y),Xt(oe,J,re,Te),fe}function dt(oe,re){return _t(oe,re.gridDirection,re)}function Wt(oe){var re=oe.type,Y=oe.gridCenter;return re==="linear"?Y:Y||oe.center}function bn(oe,re){var Y=re.gridLength;return oe.map(function(J,fe){var Te=J.value,De=(0,m.CR)(Sr(Te,re),2),Le=De[0],Xe=De[1],mt=(0,m.CR)(Xn(dt(Te,re),Y),2),Kt=mt[0],nn=mt[1];return{id:fe,points:[[Le,Xe],[Le+Kt,Xe+nn]]}})}function Jt(oe,re){var Y=re.gridControlAngles,J=Wt(re);if(!J)throw new Error("grid center is not provide");if(oe.length<2)throw new Error("Invalid grid data");if(!Y||Y.length===0)throw new Error("Invalid gridControlAngles");var fe=(0,m.CR)(J,2),Te=fe[0],De=fe[1];return oe.map(function(Le,Xe){var mt=Le.value,Kt=(0,m.CR)(Sr(mt,re),2),nn=Kt[0],gn=Kt[1],Nn=(0,m.CR)([nn-Te,gn-De],2),$n=Nn[0],Er=Nn[1],mr=[];return Y.forEach(function(ti){var jr=Vr(ti),ui=(0,m.CR)([Math.cos(jr),Math.sin(jr)],2),gi=ui[0],oi=ui[1],ts=$n*gi-Er*oi+Te,fs=$n*oi+Er*gi+De;mr.push([ts,fs])}),{points:mr,id:Xe}})}function ar(oe,re,Y,J){var fe=Y.classNamePrefix,Te=(0,C.zs)(Y,"grid"),De=Te.type,Le=Te.areaFill,Xe=Wt(Y),mt=wt(re,Y.gridFilter),Kt=De==="segment"?bn(mt,Y):Jt(mt,Y),nn=(0,m.pi)((0,m.pi)({},Te),{center:Xe,areaFill:(0,Wn.Z)(Le)?mt.map(function(gn,Nn){return(0,ln.S)(Le,[gn,Nn,mt])}):Le,animate:J,data:Kt});return oe.selectAll(Lt.grid.class).data([1]).join(function(gn){var Nn=gn.append(function(){return new Ct({style:nn})}).attr("className",Lt.grid.name);return cn(Nn,Lt.grid,at.grid,fe),Nn},function(gn){return gn.transition(function(){return this.update(nn)})},function(gn){return gn.remove()}).transitions()}function rr(oe,re,Y,J,fe){return J===void 0&&(J=!0),fe===void 0&&(fe=!1),J&&oe===re||fe&&oe===Y?!0:oe>re&&oe0,jr=J-Xe,ui=fe-mt,gi=gn*ui-Nn*jr;if(gi<0===ti)return!1;var oi=$n*ui-Er*jr;return!(oi<0===ti||gi>mr===ti||oi>mr===ti)}function yt(oe,re){var Y=[[oe[0],oe[1],oe[2],oe[3]],[oe[2],oe[3],oe[4],oe[5]],[oe[4],oe[5],oe[6],oe[7]],[oe[6],oe[7],oe[0],oe[1]]];return Y.some(function(J){return tn(re,J)})}var Yt={lineToLine:tn,intersectBoxLine:yt,getBounds:xt};function Rn(oe,re,Y){var J,fe,Te=xt(oe,Y).flat(1),De=xt(re,Y).flat(1),Le=[[Te[0],Te[1],Te[2],Te[3]],[Te[0],Te[1],Te[4],Te[5]],[Te[4],Te[5],Te[6],Te[7]],[Te[2],Te[3],Te[6],Te[7]]];try{for(var Xe=(0,m.XA)(Le),mt=Xe.next();!mt.done;mt=Xe.next()){var Kt=mt.value;if(yt(De,Kt))return!0}}catch(nn){J={error:nn}}finally{try{mt&&!mt.done&&(fe=Xe.return)&&fe.call(Xe)}finally{if(J)throw J.error}}return!1}function er(oe,re){var Y=oe.type,J=oe.labelDirection,fe=oe.crossSize;if(!fe)return!1;if(Y==="arc"){var Te=oe.center,De=oe.radius,Le=(0,m.CR)(Te,2),Xe=Le[0],mt=Le[1],Kt=J==="negative"?0:fe,nn=-De-Kt,gn=De+Kt,Nn=(0,m.CR)((0,Je.j)(re),4),$n=Nn[0],Er=Nn[1],mr=Nn[2],ti=Nn[3];return new At(Xe+nn-ti,mt+nn-$n,Xe+gn+Er,mt+gn+mr)}var jr=(0,m.CR)(oe.startPos,2),ui=jr[0],gi=jr[1],oi=(0,m.CR)(oe.endPos,2),ts=oi[0],fs=oi[1],Ds=(0,m.CR)(vr(oe)?[-re,0,re,0]:[0,re,0,-re],4),Ba=Ds[0],Ka=Ds[1],xo=Ds[2],aa=Ds[3],di=$t(0,oe),Ma=Xn(di,fe),Rs=new At(ui,gi,ts,fs);return Rs.x1+=aa,Rs.y1+=Ba,Rs.x2+=Ka+Ma[0],Rs.y2+=xo+Ma[1],Rs}function Jn(oe,re,Y){var J,fe,Te=re.crossPadding,De=new Set,Le=null,Xe=er(re,Te),mt=function($n){return Xe?gt(Xe,$n):!0},Kt=function($n,Er){return!$n||!$n.firstChild?!0:!Rn($n.firstChild,Er.firstChild,(0,Je.j)(Y))};try{for(var nn=(0,m.XA)(oe),gn=nn.next();!gn.done;gn=nn.next()){var Nn=gn.value;mt(Nn)?!Le||Kt(Le,Nn)?Le=Nn:(De.add(Le),De.add(Nn)):De.add(Nn)}}catch($n){J={error:$n}}finally{try{gn&&!gn.done&&(fe=nn.return)&&fe.call(nn)}finally{if(J)throw J.error}}return Array.from(De)}function kr(oe,re){return re===void 0&&(re={}),(0,ze.Z)(oe)?0:typeof oe=="number"?oe:Math.floor((0,L.Ux)(oe,re))}function fr(oe,re,Y,J){if(!(oe.length<=0)){var fe=re.suffix,Te=fe===void 0?"...":fe,De=re.minLength,Le=re.maxLength,Xe=Le===void 0?1/0:Le,mt=re.step,Kt=mt===void 0?" ":mt,nn=re.margin,gn=nn===void 0?[0,0,0,0]:nn,Nn=(0,L.qT)(J.getTextShape(oe[0])),$n=kr(Kt,Nn),Er=De?kr(De,Nn):$n,mr=kr(Xe,Nn);((0,ze.Z)(mr)||mr===1/0)&&(mr=Math.max.apply(null,oe.map(function(Ma){return Ma.getBBox().width})));for(var ti=oe.slice(),jr=(0,m.CR)(gn,4),ui=jr[0],gi=ui===void 0?0:ui,oi=jr[1],ts=oi===void 0?0:oi,fs=jr[2],Ds=fs===void 0?gi:fs,Ba=jr[3],Ka=Ba===void 0?ts:Ba,xo=function(Ma){if(ti.forEach(function(Rs){J.ellipsis(J.getTextShape(Rs),Ma,Te)}),ti=Jn(oe,Y,gn),ti.length<1)return{value:void 0}},aa=mr;aa>Er+$n;aa-=$n){var di=xo(aa);if(typeof di=="object")return di.value}}}var wr=function(oe){return oe!==void 0&&oe!=null&&!Number.isNaN(oe)},ei=b(2080),_n={parity:function(oe,re){var Y=re.seq,J=Y===void 0?2:Y;return oe.filter(function(fe,Te){return Te%J?((0,si.Cp)(fe),!1):!0})}},jn=function(oe){return oe.filter(wr)};function Hr(oe,re,Y,J){var fe=oe.length,Te=re.keepHeader,De=re.keepTail;if(!(fe<=1||fe===2&&Te&&De)){var Le=_n.parity,Xe=function(ui){return ui.forEach(J.show),ui},mt=2,Kt=oe.slice(),nn=oe.slice(),gn=Math.min.apply(Math,(0,m.ev)([1],(0,m.CR)(oe.map(function(ui){return ui.getBBox().width})),!1));if(Y.type==="linear"&&(Jr(Y)||vr(Y))){var Nn=(0,ei._v)(oe[0]).left,$n=(0,ei._v)(oe[fe-1]).right,Er=Math.abs($n-Nn)||1;mt=Math.max(Math.floor(fe*gn/Er),mt)}var mr,ti;for(Te&&(mr=Kt.splice(0,1)[0]),De&&(ti=Kt.splice(-1,1)[0],Kt.reverse()),Xe(Kt);mtLe)){if(Y.type==="linear"&&Jr(Y)){if(ti(Le),Er())return}else for(var jr=$n;jr<=Le;jr++)if(ti(jr),Er())return;mt&&ti(Nn)}}var Xi=new Map([["hide",Hr],["rotate",Pr],["ellipsis",fr],["wrap",Zi]]);function Ei(oe,re,Y){return re.labelOverlap.length<1?!1:Y==="hide"?!(0,ie.X)(oe[0]):Y==="rotate"?!oe.some(function(J){var fe;return!!(!((fe=J.attr("transform"))===null||fe===void 0)&&fe.includes("rotate"))}):Y==="ellipsis"||Y==="wrap"?oe.filter(function(J){return J.querySelector("text")}).length>=1:!0}function ms(oe,re,Y,J){var fe=re.labelOverlap,Te=fe===void 0?[]:fe;Te.length&&Te.forEach(function(De){var Le=De.type,Xe=Xi.get(Le);Ei(oe,re,Le)&&(Xe==null||Xe(oe,De,re,J,Y))})}function _i(){for(var oe=[],re=0;regn[0]&&Ds0&&Number.isFinite(oe)?re:Y},$h=function(oe,re){return oe*re},Uh=function(oe,re){return oe/2+(re||0)/2},Ku=function(oe){return oe};class sc{constructor(re){this.options=(0,ct.Z)({},this.getDefaultOptions()),this.update(re)}getOptions(){return this.options}update(re={}){this.options=(0,ct.Z)({},this.options,re),this.rescale(re)}rescale(re){}}function pu(oe,re){return re-oe?Y=>(Y-oe)/(re-oe):Y=>.5}function ou(oe,...re){return re.reduce((Y,J)=>fe=>Y(J(fe)),oe)}function Ad(oe,re,Y,J,fe){let Te=Y||0,De=J||oe.length;const Le=fe||(Xe=>Xe);for(;Tere?De=Xe:Te=Xe+1}return Te}var hf=b(75196),Xo=b.n(hf);function fh(oe,re,Y){let J=Y;return J<0&&(J+=1),J>1&&(J-=1),J<1/6?oe+(re-oe)*6*J:J<1/2?re:J<2/3?oe+(re-oe)*(2/3-J)*6:oe}function Qf(oe){const re=oe[0]/360,Y=oe[1]/100,J=oe[2]/100,fe=oe[3];if(Y===0)return[J*255,J*255,J*255,fe];const Te=J<.5?J*(1+Y):J+Y-J*Y,De=2*J-Te,Le=fh(De,Te,re+1/3),Xe=fh(De,Te,re),mt=fh(De,Te,re-1/3);return[Le*255,Xe*255,mt*255,fe]}function pd(oe){const re=Xo().get(oe);if(!re)return null;const{model:Y,value:J}=re;return Y==="rgb"?J:Y==="hsl"?Qf(J):null}const Ah=(oe,re)=>Y=>oe*(1-Y)+re*Y,Vc=(oe,re)=>{const Y=pd(oe),J=pd(re);return Y===null||J===null?Y?()=>oe:()=>re:fe=>{const Te=new Array(4);for(let Kt=0;Kt<4;Kt+=1){const nn=Y[Kt],gn=J[Kt];Te[Kt]=nn*(1-fe)+gn*fe}const[De,Le,Xe,mt]=Te;return`rgba(${Math.round(De)}, ${Math.round(Le)}, ${Math.round(Xe)}, ${mt})`}},jo=(oe,re)=>typeof oe=="number"&&typeof re=="number"?Ah(oe,re):typeof oe=="string"&&typeof re=="string"?Vc(oe,re):()=>oe,gd=(oe,re)=>{const Y=Ah(oe,re);return J=>Math.round(Y(J))};var lu=b(49527);function gu(oe){return oe===null}function oo(oe){return!(0,lu.Z)(oe)&&!gu(oe)&&!Number.isNaN(oe)}const Ic=Math.sqrt(50),jc=Math.sqrt(10),ph=Math.sqrt(2);function Lo(oe,re,Y){const J=(re-oe)/Math.max(0,Y),fe=Math.floor(Math.log(J)/Math.LN10),Te=J/Bp(10,fe);return fe>=0?(Te>=Ic?10:Te>=jc?5:Te>=ph?2:1)*Bp(10,fe):-Bp(10,-fe)/(Te>=Ic?10:Te>=jc?5:Te>=ph?2:1)}function Ji(oe,re,Y){const J=Math.abs(re-oe)/Math.max(0,Y);let fe=Bp(10,Math.floor(Math.log(J)/Math.LN10));const Te=J/fe;return Te>=Ic?fe*=10:Te>=jc?fe*=5:Te>=ph&&(fe*=2),re{const J=[oe,re];let fe=0,Te=J.length-1,De=J[fe],Le=J[Te],Xe;return Le0?(De=Math.floor(De/Xe)*Xe,Le=Math.ceil(Le/Xe)*Xe,Xe=Lo(De,Le,Y)):Xe<0&&(De=Math.ceil(De*Xe)/Xe,Le=Math.floor(Le*Xe)/Xe,Xe=Lo(De,Le,Y)),Xe>0?(J[fe]=Math.floor(De/Xe)*Xe,J[Te]=Math.ceil(Le/Xe)*Xe):Xe<0&&(J[fe]=Math.ceil(De*Xe)/Xe,J[Te]=Math.floor(Le*Xe)/Xe),J};function gh(oe,re){const Y=rere?oe:re;return fe=>Math.min(Math.max(Y,fe),J)}const mh=(oe,re,Y)=>{const[J,fe]=oe,[Te,De]=re;let Le,Xe;return J{const J=Math.min(oe.length,re.length)-1,fe=new Array(J),Te=new Array(J),De=oe[0]>oe[J],Le=De?[...oe].reverse():oe,Xe=De?[...re].reverse():re;for(let mt=0;mt{const Kt=Ad(oe,mt,1,J)-1,nn=fe[Kt],gn=Te[Kt];return ou(gn,nn)(mt)}},vh=(oe,re,Y,J)=>(Math.min(oe.length,re.length)>2?np:mh)(oe,re,J?gd:Y);class Cu extends sc{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Ah,tickCount:5}}map(re){return oo(re)?this.output(re):this.options.unknown}invert(re){return oo(re)?this.input(re):this.options.unknown}nice(){if(!this.options.nice)return;const[re,Y,J,...fe]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(re,Y,J,...fe)}getTicks(){const{tickMethod:re}=this.options,[Y,J,fe,...Te]=this.getTickMethodOptions();return re(Y,J,fe,...Te)}getTickMethodOptions(){const{domain:re,tickCount:Y}=this.options,J=re[0],fe=re[re.length-1];return[J,fe,Y]}chooseNice(){return $u}rescale(){this.nice();const[re,Y]=this.chooseTransforms();this.composeOutput(re,this.chooseClamp(re)),this.composeInput(re,Y,this.chooseClamp(Y))}chooseClamp(re){const{clamp:Y,range:J}=this.options,fe=this.options.domain.map(re),Te=Math.min(fe.length,J.length);return Y?gh(fe[0],fe[Te-1]):Ku}composeOutput(re,Y){const{domain:J,range:fe,round:Te,interpolate:De}=this.options,Le=vh(J.map(re),fe,De,Te);this.output=ou(Le,Y,re)}composeInput(re,Y,J){const{domain:fe,range:Te}=this.options,De=vh(Te,fe.map(re),Ah);this.input=ou(Y,J,De)}}const zc=(oe,re,Y)=>{let J,fe,Te=oe,De=re;if(Te===De&&Y>0)return[Te];let Le=Lo(Te,De,Y);if(Le===0||!Number.isFinite(Le))return[];if(Le>0){Te=Math.ceil(Te/Le),De=Math.floor(De/Le),fe=new Array(J=Math.ceil(De-Te+1));for(let Xe=0;Xe`${re}`:typeof oe=="object"?re=>JSON.stringify(re):re=>re}class Oo extends sc{getDefaultOptions(){return{domain:[],range:[],unknown:To}}constructor(re){super(re)}map(re){return this.domainIndexMap.size===0&&ml(this.domainIndexMap,this.getDomain(),this.domainKey),Xu({value:this.domainKey(re),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(re){return this.rangeIndexMap.size===0&&ml(this.rangeIndexMap,this.getRange(),this.rangeKey),Xu({value:this.rangeKey(re),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(re){const[Y]=this.options.domain,[J]=this.options.range;if(this.domainKey=mu(Y),this.rangeKey=mu(J),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!re||re.range)&&this.rangeIndexMap.clear(),(!re||re.domain||re.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new Oo(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:re,compare:Y}=this.options;return this.sortedDomain=Y?[...re].sort(Y):re,this.sortedDomain}}function Bo(oe){const re=Math.min(...oe);return oe.map(Y=>Y/re)}function _o(oe,re){const Y=oe.length,J=re-Y;return J>0?[...oe,...new Array(J).fill(1)]:J<0?oe.slice(0,re):oe}function na(oe){return Math.round(oe*1e12)/1e12}function Wa(oe){const{domain:re,range:Y,paddingOuter:J,paddingInner:fe,flex:Te,round:De,align:Le}=oe,Xe=re.length,mt=_o(Te,Xe),[Kt,nn]=Y,gn=nn-Kt,Nn=2/Xe*J+1-1/Xe*fe,$n=gn/Nn,Er=$n*fe/Xe,mr=$n-Xe*Er,ti=Bo(mt),jr=ti.reduce((aa,di)=>aa+di),ui=mr/jr,gi=new gl(re.map((aa,di)=>{const Ma=ti[di]*ui;return[aa,De?Math.floor(Ma):Ma]})),oi=new gl(re.map((aa,di)=>{const Rs=ti[di]*ui+Er;return[aa,De?Math.floor(Rs):Rs]})),ts=Array.from(oi.values()).reduce((aa,di)=>aa+di),Ds=(gn-(ts-ts/Xe*fe))*Le,Ba=Kt+Ds;let Ka=De?Math.round(Ba):Ba;const xo=new Array(Xe);for(let aa=0;aagn+ui*Kt);return{valueStep:Kt,valueBandWidth:nn,adjustedRange:ti}}class Yo extends Oo{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:To,flex:[]}}constructor(re){super(re)}clone(){return new Yo(this.options)}getStep(re){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:re===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(re)}getBandWidth(re){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:re===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(re)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:re,paddingInner:Y}=this.options;return re>0?re:Y}getPaddingOuter(){const{padding:re,paddingOuter:Y}=this.options;return re>0?re:Y}rescale(){super.rescale();const{align:re,domain:Y,range:J,round:fe,flex:Te}=this.options,{adjustedRange:De,valueBandWidth:Le,valueStep:Xe}=yh({align:re,range:J,round:fe,flex:Te,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:Y});this.valueStep=Xe,this.valueBandWidth=Le,this.adjustedRange=De}}var Tu=b(37547),uu=b(1933),wc=b(39934),ac=function(oe){(0,m.ZT)(re,oe);function re(Y){var J=this,fe=Y.style,Te=(0,m._T)(Y,["style"]);return J=oe.call(this,(0,ct.Z)({},{type:"column"},(0,m.pi)({style:fe},Te)))||this,J.columnsGroup=new N.ZA({name:"columns"}),J.appendChild(J.columnsGroup),J.render(),J}return re.prototype.render=function(){var Y=this.attributes,J=Y.columns,fe=Y.x,Te=Y.y;this.columnsGroup.style.transform="translate(".concat(fe,", ").concat(Te,")"),(0,Fe.Ys)(this.columnsGroup).selectAll(".column").data(J.flat()).join(function(De){return De.append("rect").attr("className","column").each(function(Le){this.attr(Le)})},function(De){return De.each(function(Le){this.attr(Le)})},function(De){return De.remove()})},re.prototype.update=function(Y){this.attr((0,E.n)({},this.attributes,Y)),this.render()},re.prototype.clear=function(){this.removeChildren()},re}(N.s$),Lr=function(oe){(0,m.ZT)(re,oe);function re(Y){var J=this,fe=Y.style,Te=(0,m._T)(Y,["style"]);return J=oe.call(this,(0,ct.Z)({},{type:"lines"},(0,m.pi)({style:fe},Te)))||this,J.linesGroup=J.appendChild(new N.ZA),J.areasGroup=J.appendChild(new N.ZA),J.render(),J}return re.prototype.render=function(){var Y=this.attributes,J=Y.lines,fe=Y.areas,Te=Y.x,De=Y.y;this.style.transform="translate(".concat(Te,", ").concat(De,")"),J&&this.renderLines(J),fe&&this.renderAreas(fe)},re.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},re.prototype.update=function(Y){this.attr((0,E.n)({},this.attributes,Y)),this.render()},re.prototype.renderLines=function(Y){(0,Fe.Ys)(this.linesGroup).selectAll(".line").data(Y).join(function(J){return J.append("path").attr("className","line").each(function(fe){this.attr(fe)})},function(J){return J.each(function(fe){this.attr(fe)})},function(J){return J.remove()})},re.prototype.renderAreas=function(Y){(0,Fe.Ys)(this.linesGroup).selectAll(".area").data(Y).join(function(J){return J.append("path").attr("className","area").each(function(fe){this.attr(fe)})},function(J){return J.each(function(fe){this.style(fe)})},function(J){return J.remove()})},re}(N.s$),Gr=b(62099);function ki(oe,re,Y,J){var fe,Te=[],De=!!J,Le,Xe,mt=[1/0,1/0],Kt=[-1/0,-1/0],nn,gn,Nn;if(De){fe=(0,m.CR)(J,2),mt=fe[0],Kt=fe[1];for(var $n=0,Er=oe.length;$nDe&&(Y=(0,m.CR)([De,Le],2),Le=Y[0],De=Y[1]),oe.map(function(Xe){var mt=Xe.map(function(Kt,nn){return[J.map(nn),(0,Z.Z)(fe.map(Kt),Le,De)]});return mt})}function qo(oe,re){re===void 0&&(re=!1);var Y=re?oe.length-1:0,J=oe.map(function(fe,Te){return(0,m.ev)([Te===Y?"M":"L"],(0,m.CR)(fe),!1)});return re?J.reverse():J}function Go(oe,re){if(re===void 0&&(re=!1),oe.length<=2)return qo(oe);for(var Y=[],J=oe.length,fe=0;fe=0;fe-=1){var Te=oe[fe],De=qo(Te),Le=void 0;if(fe===0)Le=Ou(De,re,Y);else{var Xe=oe[fe-1],mt=qo(Xe,!0);mt[0][0]="L",Le=(0,m.ev)((0,m.ev)((0,m.ev)([],(0,m.CR)(De),!1),(0,m.CR)(mt),!1),[["Z"]],!1)}J.push(Le)}return J}function Ca(oe,re,Y){for(var J=[],fe=oe.length-1;fe>=0;fe-=1){var Te=oe[fe],De=Go(Te),Le=void 0;if(fe===0)Le=Ou(De,re,Y);else{var Xe=oe[fe-1],mt=Go(Xe,!0),Kt=Te[0];mt[0][0]="L",Le=(0,m.ev)((0,m.ev)((0,m.ev)([],(0,m.CR)(De),!1),(0,m.CR)(mt),!1),[(0,m.ev)(["M"],(0,m.CR)(Kt),!1),["Z"]],!1)}J.push(Le)}return J}var Ud=b(2078),rp=function(oe,re){if((0,wc.Z)(oe)){for(var Y,J=1/0,fe=0;feJ&&(Y=Te,J=De)}return Y}};function wA(oe){return oe.length===0?[0,0]:[(0,Ud.Z)(rp(oe,function(re){return(0,Ud.Z)(re)||0})),(0,Xh.Z)(lc(oe,function(re){return(0,Xh.Z)(re)||0}))]}function Od(oe){for(var re=(0,Tu.Z)(oe),Y=re[0].length,J=(0,m.CR)([Array(Y).fill(0),Array(Y).fill(0)],2),fe=J[0],Te=J[1],De=0;De=0?(Le[Xe]+=fe[Xe],fe[Xe]=Le[Xe]):(Le[Xe]+=Te[Xe],Te[Xe]=Le[Xe]);return re}var jh=function(oe){(0,m.ZT)(re,oe);function re(Y){return oe.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(re.prototype,"rawData",{get:function(){var Y=this.attributes.data;if(!Y||(Y==null?void 0:Y.length)===0)return[[]];var J=(0,Tu.Z)(Y);return(0,uu.Z)(J[0])?[J]:J},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"data",{get:function(){return this.attributes.isStack?Od(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"baseline",{get:function(){var Y=this.scales.y,J=(0,m.CR)(Y.getOptions().domain||[0,0],2),fe=J[0],Te=J[1];return Te<0?Y.map(Te):Y.map(fe<0?0:fe)},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"containerShape",{get:function(){var Y=this.attributes,J=Y.width,fe=Y.height;return{width:J,height:fe}},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"linesStyle",{get:function(){var Y=this,J=this.attributes,fe=J.type,Te=J.isStack,De=J.smooth;if(fe!=="line")throw new Error("linesStyle can only be used in line type");var Le=(0,C.zs)(this.attributes,"area"),Xe=(0,C.zs)(this.attributes,"line"),mt=this.containerShape.width,Kt=this.data;if(Kt[0].length===0)return{lines:[],areas:[]};var nn=this.scales,gn=nn.x,Nn=nn.y,$n=bl(Kt,{type:"line",x:gn,y:Nn}),Er=[];if(Le){var mr=this.baseline;Te?Er=De?Ca($n,mt,mr):oc($n,mt,mr):Er=Oh($n,De,mt,mr)}return{lines:$n.map(function(ti,jr){return(0,m.pi)({stroke:Y.getColor(jr),d:De?Go(ti):qo(ti)},Xe)}),areas:Er.map(function(ti,jr){return(0,m.pi)({d:ti,fill:Y.getColor(jr)},Le)})}},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"columnsStyle",{get:function(){var Y=this,J=(0,C.zs)(this.attributes,"column"),fe=this.attributes,Te=fe.isStack,De=fe.type,Le=fe.scale;if(De!=="column")throw new Error("columnsStyle can only be used in column type");var Xe=this.containerShape.height,mt=this.rawData;if(!mt)return{columns:[]};Te&&(mt=Od(mt));var Kt=this.createScales(mt),nn=Kt.x,gn=Kt.y,Nn=(0,m.CR)(wA(mt),2),$n=Nn[0],Er=Nn[1],mr=new Ul({domain:[0,Er-($n>0?0:$n)],range:[0,Xe*Le]}),ti=nn.getBandWidth(),jr=this.rawData;return{columns:mt.map(function(ui,gi){return ui.map(function(oi,ts){var fs=ti/mt.length,Ds=function(){return{x:nn.map(ts)+fs*gi,y:oi>=0?gn.map(oi):gn.map(0),width:fs,height:mr.map(Math.abs(oi))}},Ba=function(){return{x:nn.map(ts),y:gn.map(oi),width:ti,height:mr.map(jr[gi][ts])}};return(0,m.pi)((0,m.pi)({fill:Y.getColor(gi)},J),Te?Ba():Ds())})})}},enumerable:!1,configurable:!0}),re.prototype.render=function(Y,J){(0,Fe.OV)(J,".container","rect").attr("className","container").node();var fe=Y.type,Te=Y.x,De=Y.y,Le="spark".concat(fe),Xe=(0,m.pi)({x:Te,y:De},fe==="line"?this.linesStyle:this.columnsStyle);(0,Fe.Ys)(J).selectAll(".spark").data([fe]).join(function(mt){return mt.append(function(Kt){return Kt==="line"?new Lr({className:Le,style:Xe}):new ac({className:Le,style:Xe})}).attr("className","spark ".concat(Le))},function(mt){return mt.update(Xe)},function(mt){return mt.remove()})},re.prototype.getColor=function(Y){var J=this.attributes.color;return(0,wc.Z)(J)?J[Y%J.length]:(0,Wn.Z)(J)?J.call(null,Y):J},re.prototype.createScales=function(Y){var J,fe,Te=this.attributes,De=Te.type,Le=Te.scale,Xe=Te.range,mt=Xe===void 0?[]:Xe,Kt=Te.spacing,nn=this.containerShape,gn=nn.width,Nn=nn.height,$n=(0,m.CR)(wA(Y),2),Er=$n[0],mr=$n[1],ti=new Ul({domain:[(J=mt[0])!==null&&J!==void 0?J:Er,(fe=mt[1])!==null&&fe!==void 0?fe:mr],range:[Nn,Nn*(1-Le)]});return De==="line"?{type:De,x:new Ul({domain:[0,Y[0].length-1],range:[0,gn]}),y:ti}:{type:De,x:new Yo({domain:Y[0].map(function(jr,ui){return ui}),range:[0,gn],paddingInner:Kt,paddingOuter:Kt/2,align:.5}),y:ti}},re.tag="sparkline",re}(V.w),SA={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},md={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},vd={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},mo=(0,vt.A)({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),wa=(0,vt.A)({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),Dd=function(oe){(0,m.ZT)(re,oe);function re(){return oe!==null&&oe.apply(this,arguments)||this}return re.prototype.render=function(Y,J){var fe=Y.x,Te=Y.y,De=Y.size,Le=De===void 0?10:De,Xe=Y.radius,mt=Xe===void 0?Le/4:Xe,Kt=Y.orientation,nn=Y.classNamePrefix,gn=(0,m._T)(Y,["x","y","size","radius","orientation","classNamePrefix"]),Nn=Le,$n=Nn*2.4,Er=nn?"".concat(wa.iconRect.name," ").concat(nn,"handle-icon-rect"):wa.iconRect.name,mr=function(ts){return nn?"".concat(wa.iconLine,"-").concat(ts," ").concat(nn,"handle-icon-line"):"".concat(wa.iconLine,"-").concat(ts)},ti=(0,Fe.Ys)(J).maybeAppendByClassName(wa.iconRect,"rect").attr("className",Er).styles((0,m.pi)((0,m.pi)({},gn),{width:Nn,height:$n,radius:mt,x:fe-Nn/2,y:Te-$n/2,transformOrigin:"center"})),jr=fe+1/3*Nn-Nn/2,ui=fe+2/3*Nn-Nn/2,gi=Te+1/4*$n-$n/2,oi=Te+3/4*$n-$n/2;ti.maybeAppendByClassName("".concat(wa.iconLine,"-1"),"line").attr("className",mr(1)).styles((0,m.pi)({x1:jr,x2:jr,y1:gi,y2:oi},gn)),ti.maybeAppendByClassName("".concat(wa.iconLine,"-2"),"line").attr("className",mr(2)).styles((0,m.pi)({x1:ui,x2:ui,y1:gi,y2:oi},gn)),Kt==="vertical"&&(ti.node().style.transform="rotate(90)")},re}(V.w),qi=function(oe){(0,m.ZT)(re,oe);function re(Y){return oe.call(this,Y,vd)||this}return re.prototype.renderLabel=function(Y){var J=this,fe=this.attributes,Te=fe.x,De=fe.y,Le=fe.showLabel,Xe=(0,C.zs)(this.attributes,"label"),mt=Xe.x,Kt=mt===void 0?0:mt,nn=Xe.y,gn=nn===void 0?0:nn,Nn=Xe.transform,$n=Xe.transformOrigin,Er=(0,m._T)(Xe,["x","y","transform","transformOrigin"]),mr=(0,m.CR)((0,C.Hm)(Er,[]),2),ti=mr[0],jr=mr[1],ui=(0,Fe.Ys)(Y).maybeAppendByClassName(wa.labelGroup,"g").styles(jr),gi=(0,m.pi)((0,m.pi)({},md),ti),oi=gi.text,ts=(0,m._T)(gi,["text"]);(0,Ee.z)(!!Le,ui,function(fs){J.label=fs.maybeAppendByClassName(wa.label,"text").styles((0,m.pi)((0,m.pi)({},ts),{x:Te+Kt,y:De+gn,transform:Nn,transformOrigin:$n,text:"".concat(oi)})),J.label.on("mousedown",function(Ds){Ds.stopPropagation()}),J.label.on("touchstart",function(Ds){Ds.stopPropagation()})})},re.prototype.renderIcon=function(Y){var J=this.attributes,fe=J.x,Te=J.y,De=J.orientation,Le=J.type,Xe=J.classNamePrefix,mt=(0,m.pi)((0,m.pi)({x:fe,y:Te,orientation:De,classNamePrefix:Xe},SA),(0,C.zs)(this.attributes,"icon")),Kt=this.attributes.iconShape,nn=Kt===void 0?function(){return new Dd({style:mt})}:Kt,gn=(0,Fe.Ys)(Y).maybeAppendByClassName(wa.iconGroup,"g");gn.selectAll(wa.icon.class).data([nn]).join(function(Nn){return Nn.append(typeof nn=="string"?nn:function(){return nn(Le)}).attr("className",wa.icon.name)},function(Nn){return Nn.update(mt)},function(Nn){return Nn.remove()})},re.prototype.render=function(Y,J){this.renderIcon(J),this.renderLabel(J)},re}(V.w),Du=function(oe){(0,m.ZT)(re,oe);function re(Y){var J=oe.call(this,Y,(0,m.pi)((0,m.pi)((0,m.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(fe){return fe.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},(0,C.dq)(vd,"handle")),(0,C.dq)(SA,"handleIcon")),(0,C.dq)(md,"handleLabel")))||this;return J.range=[0,1],J.onDragStart=function(fe){return function(Te){Te.stopPropagation(),J.target=fe,J.prevPos=J.getOrientVal(ao(Te));var De=J.availableSpace,Le=De.x,Xe=De.y,mt=J.getBBox(),Kt=mt.x,nn=mt.y;J.selectionStartPos=J.getRatio(J.prevPos-J.getOrientVal([Le,Xe])-J.getOrientVal([+Kt,+nn])),J.selectionWidth=0,document.addEventListener("pointermove",J.onDragging),document.addEventListener("pointerup",J.onDragEnd)}},J.onDragging=function(fe){var Te=J.attributes,De=Te.slidable,Le=Te.brushable,Xe=Te.type;fe.stopPropagation();var mt=J.getOrientVal(ao(fe)),Kt=mt-J.prevPos;if(Kt){var nn=J.getRatio(Kt);switch(J.target){case"start":De&&J.setValuesOffset(nn);break;case"end":De&&J.setValuesOffset(0,nn);break;case"selection":De&&J.setValuesOffset(nn,nn);break;case"track":if(!Le)return;J.selectionWidth+=nn,Xe==="range"?J.innerSetValues([J.selectionStartPos,J.selectionStartPos+J.selectionWidth].sort(),!0):J.innerSetValues([0,J.selectionStartPos+J.selectionWidth],!0);break;default:break}J.prevPos=mt}},J.onDragEnd=function(){document.removeEventListener("pointermove",J.onDragging),document.removeEventListener("pointermove",J.onDragging),document.removeEventListener("pointerup",J.onDragEnd),J.target="",J.updateHandlesPosition(!1)},J.onValueChange=function(fe){var Te=J.attributes,De=Te.onChange,Le=Te.type,Xe=Le==="range"?fe:fe[1],mt=Le==="range"?J.getValues():J.getValues()[1],Kt=new N.Aw("valuechange",{detail:{oldValue:Xe,value:mt}});J.dispatchEvent(Kt),De==null||De(mt)},J.selectionStartPos=0,J.selectionWidth=0,J.prevPos=0,J.target="",J}return Object.defineProperty(re.prototype,"values",{get:function(){return this.attributes.values},set:function(Y){this.attributes.values=this.clampValues(Y)},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"sparklineStyle",{get:function(){var Y=this.attributes.orientation;if(Y!=="horizontal")return null;var J=(0,C.zs)(this.attributes,"sparkline");return(0,m.pi)((0,m.pi)({zIndex:0},this.availableSpace),J)},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"shape",{get:function(){var Y=this.attributes,J=Y.trackLength,fe=Y.trackSize,Te=(0,m.CR)(this.getOrientVal([[J,fe],[fe,J]]),2),De=Te[0],Le=Te[1];return{width:De,height:Le}},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"availableSpace",{get:function(){var Y=this.attributes,J=Y.x,fe=Y.y,Te=Y.padding,De=(0,m.CR)((0,Je.j)(Te),4),Le=De[0],Xe=De[1],mt=De[2],Kt=De[3],nn=this.shape,gn=nn.width,Nn=nn.height;return{x:Kt,y:Le,width:gn-(Kt+Xe),height:Nn-(Le+mt)}},enumerable:!1,configurable:!0}),re.prototype.getValues=function(){return this.values},re.prototype.setValues=function(Y,J){Y===void 0&&(Y=[0,0]),J===void 0&&(J=!1),this.attributes.values=Y;var fe=J===!1?!1:this.attributes.animate;this.updateSelectionArea(fe),this.updateHandlesPosition(fe)},re.prototype.updateSelectionArea=function(Y){var J=this.calcSelectionArea();this.foregroundGroup.selectAll(mo.selection.class).each(function(fe,Te){(0,ve.eR)(this,J[Te],Y)})},re.prototype.updateHandlesPosition=function(Y){this.attributes.showHandle&&(this.startHandle&&(0,ve.eR)(this.startHandle,this.getHandleStyle("start"),Y),this.endHandle&&(0,ve.eR)(this.endHandle,this.getHandleStyle("end"),Y))},re.prototype.innerSetValues=function(Y,J){Y===void 0&&(Y=[0,0]),J===void 0&&(J=!1);var fe=this.values,Te=this.clampValues(Y);this.attributes.values=Te,this.setValues(Te),J&&this.onValueChange(fe)},re.prototype.renderTrack=function(Y){var J=this.attributes,fe=J.x,Te=J.y,De=(0,C.zs)(this.attributes,"track");this.trackShape=(0,Fe.Ys)(Y).maybeAppendByClassName(mo.track,"rect").styles((0,m.pi)((0,m.pi)({x:fe,y:Te},this.shape),De))},re.prototype.renderBrushArea=function(Y){var J=this.attributes,fe=J.x,Te=J.y,De=J.brushable;this.brushArea=(0,Fe.Ys)(Y).maybeAppendByClassName(mo.brushArea,"rect").styles((0,m.pi)({x:fe,y:Te,fill:"transparent",cursor:De?"crosshair":"default"},this.shape))},re.prototype.renderSparkline=function(Y){var J=this,fe=this.attributes,Te=fe.x,De=fe.y,Le=fe.orientation,Xe=(0,Fe.Ys)(Y).maybeAppendByClassName(mo.sparklineGroup,"g");(0,Ee.z)(Le==="horizontal",Xe,function(mt){var Kt=(0,m.pi)((0,m.pi)({},J.sparklineStyle),{x:Te,y:De});mt.maybeAppendByClassName(mo.sparkline,function(){return new jh({style:Kt})}).update(Kt)})},re.prototype.renderHandles=function(){var Y=this,J,fe=this.attributes,Te=fe.showHandle,De=fe.type,Le=De==="range"?["start","end"]:["end"],Xe=Te?Le:[],mt=this;(J=this.foregroundGroup)===null||J===void 0||J.selectAll(mo.handle.class).data(Xe.map(function(Kt){return{type:Kt}}),function(Kt){return Kt.type}).join(function(Kt){return Kt.append(function(nn){var gn=nn.type;return new qi({style:Y.getHandleStyle(gn)})}).each(function(nn){var gn=nn.type;this.attr("class","".concat(mo.handle.name," ").concat(gn,"-handle"));var Nn="".concat(gn,"Handle");mt[Nn]=this,this.addEventListener("pointerdown",mt.onDragStart(gn))})},function(Kt){return Kt.each(function(nn){var gn=nn.type;this.update(mt.getHandleStyle(gn))})},function(Kt){return Kt.each(function(nn){var gn=nn.type,Nn="".concat(gn,"Handle");mt[Nn]=void 0}).remove()})},re.prototype.renderSelection=function(Y){var J=this.attributes,fe=J.x,Te=J.y,De=J.type,Le=J.selectionType;this.foregroundGroup=(0,Fe.Ys)(Y).maybeAppendByClassName(mo.foreground,"g");var Xe=(0,C.zs)(this.attributes,"selection"),mt=function(nn){return nn.style("visibility",function(gn){return gn.show?"visible":"hidden"}).style("cursor",function(gn){return Le==="select"?"grab":Le==="invert"?"crosshair":"default"}).styles((0,m.pi)((0,m.pi)({},Xe),{transform:"translate(".concat(fe,", ").concat(Te,")")}))},Kt=this;this.foregroundGroup.selectAll(mo.selection.class).data(De==="value"?[]:this.calcSelectionArea().map(function(nn,gn){return{style:(0,m.pi)({},nn),index:gn,show:Le==="select"?gn===1:gn!==1}}),function(nn){return nn.index}).join(function(nn){return nn.append("rect").attr("className",mo.selection.name).call(mt).each(function(gn,Nn){var $n=this;Nn===1?(Kt.selectionShape=(0,Fe.Ys)(this),this.on("pointerdown",function(Er){$n.attr("cursor","grabbing"),Kt.onDragStart("selection")(Er)}),Kt.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),Kt.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),Kt.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){$n.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){$n.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){$n.attr("cursor","pointer")})):this.on("pointerdown",Kt.onDragStart("track"))})},function(nn){return nn.call(mt)},function(nn){return nn.remove()}),this.updateSelectionArea(!1),this.renderHandles()},re.prototype.render=function(Y,J){this.renderTrack(J),this.renderSparkline(J),this.renderBrushArea(J),this.renderSelection(J)},re.prototype.clampValues=function(Y,J){var fe;J===void 0&&(J=4);var Te=(0,m.CR)(this.range,2),De=Te[0],Le=Te[1],Xe=(0,m.CR)(this.getValues().map(function(mr){return sl(mr,J)}),2),mt=Xe[0],Kt=Xe[1],nn=Array.isArray(Y)?Y:[mt,Y!=null?Y:Kt],gn=(0,m.CR)((nn||[mt,Kt]).map(function(mr){return sl(mr,J)}),2),Nn=gn[0],$n=gn[1];if(this.attributes.type==="value")return[0,(0,Z.Z)($n,De,Le)];Nn>$n&&(fe=(0,m.CR)([$n,Nn],2),Nn=fe[0],$n=fe[1]);var Er=$n-Nn;return Er>Le-De?[De,Le]:NnLe?Kt===Le&&mt===Nn?[Nn,Le]:[Le-Er,Le]:[Nn,$n]},re.prototype.calcSelectionArea=function(Y){var J=(0,m.CR)(this.clampValues(Y),2),fe=J[0],Te=J[1],De=this.availableSpace,Le=De.x,Xe=De.y,mt=De.width,Kt=De.height;return this.getOrientVal([[{y:Xe,height:Kt,x:Le,width:fe*mt},{y:Xe,height:Kt,x:fe*mt+Le,width:(Te-fe)*mt},{y:Xe,height:Kt,x:Te*mt,width:(1-Te)*mt}],[{x:Le,width:mt,y:Xe,height:fe*Kt},{x:Le,width:mt,y:fe*Kt+Xe,height:(Te-fe)*Kt},{x:Le,width:mt,y:Te*Kt,height:(1-Te)*Kt}]])},re.prototype.calcHandlePosition=function(Y){var J=this.attributes.handleIconOffset,fe=this.availableSpace,Te=fe.x,De=fe.y,Le=fe.width,Xe=fe.height,mt=(0,m.CR)(this.clampValues(),2),Kt=mt[0],nn=mt[1],gn=Y==="start"?-J:J,Nn=(Y==="start"?Kt:nn)*this.getOrientVal([Le,Xe])+gn;return{x:Te+this.getOrientVal([Nn,Le/2]),y:De+this.getOrientVal([Xe/2,Nn])}},re.prototype.inferTextStyle=function(Y){var J=this.attributes.orientation;return J==="horizontal"?{}:Y==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:Y==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},re.prototype.calcHandleText=function(Y){var J,fe=this.attributes,Te=fe.type,De=fe.orientation,Le=fe.formatter,Xe=fe.autoFitLabel,mt=(0,C.zs)(this.attributes,"handle"),Kt=(0,C.zs)(mt,"label"),nn=mt.spacing,gn=this.getHandleSize(),Nn=this.clampValues(),$n=Y==="start"?Nn[0]:Nn[1],Er=Le($n),mr=new Ll.x({style:(0,m.pi)((0,m.pi)((0,m.pi)({},Kt),this.inferTextStyle(Y)),{text:Er})}),ti=mr.getBBox(),jr=ti.width,ui=ti.height;if(mr.destroy(),!Xe){if(Te==="value")return{text:Er,x:0,y:-ui-nn};var gi=nn+gn+(De==="horizontal"?jr/2:0);return J={text:Er},J[De==="horizontal"?"x":"y"]=Y==="start"?-gi:gi,J}var oi=0,ts=0,fs=this.availableSpace,Ds=fs.width,Ba=fs.height,Ka=this.calcSelectionArea()[1],xo=Ka.x,aa=Ka.y,di=Ka.width,Ma=Ka.height,Rs=nn+gn;if(De==="horizontal"){var lo=Rs+jr/2;if(Y==="start"){var Jo=xo-Rs-jr;oi=Jo>0?-lo:lo}else{var zs=Ds-xo-di-Rs>jr;oi=zs?lo:-lo}}else{var Ya=Rs,pa=ui+Rs;Y==="start"?ts=aa-gn>ui?-pa:Ya:ts=Ba-(aa+Ma)-gn>ui?pa:-Ya}return{x:oi,y:ts,text:Er}},re.prototype.getHandleLabelStyle=function(Y){var J=(0,C.zs)(this.attributes,"handleLabel");return(0,m.pi)((0,m.pi)((0,m.pi)({},J),this.calcHandleText(Y)),this.inferTextStyle(Y))},re.prototype.getHandleIconStyle=function(){var Y=this.attributes.handleIconShape,J=(0,C.zs)(this.attributes,"handleIcon"),fe=this.getOrientVal(["ew-resize","ns-resize"]),Te=this.getHandleSize();return(0,m.pi)({cursor:fe,shape:Y,size:Te},J)},re.prototype.getHandleStyle=function(Y){var J=this.attributes,fe=J.x,Te=J.y,De=J.showLabel,Le=J.showLabelOnInteraction,Xe=J.orientation,mt=this.calcHandlePosition(Y),Kt=mt.x,nn=mt.y,gn=this.calcHandleText(Y),Nn=De;return!De&&Le&&(this.target?Nn=!0:Nn=!1),(0,m.pi)((0,m.pi)((0,m.pi)({},(0,C.dq)(this.getHandleIconStyle(),"icon")),(0,C.dq)((0,m.pi)((0,m.pi)({},this.getHandleLabelStyle(Y)),gn),"label")),{transform:"translate(".concat(Kt+fe,", ").concat(nn+Te,")"),orientation:Xe,showLabel:Nn,type:Y,zIndex:3})},re.prototype.getHandleSize=function(){var Y=this.attributes,J=Y.handleIconSize,fe=Y.width,Te=Y.height;return J||Math.floor((this.getOrientVal([+Te,+fe])+4)/2.4)},re.prototype.getOrientVal=function(Y){var J=(0,m.CR)(Y,2),fe=J[0],Te=J[1],De=this.attributes.orientation;return De==="horizontal"?fe:Te},re.prototype.setValuesOffset=function(Y,J){J===void 0&&(J=0);var fe=this.attributes.type,Te=(0,m.CR)(this.getValues(),2),De=Te[0],Le=Te[1],Xe=fe==="range"?Y:0,mt=[De+Xe,Le+J].sort();this.innerSetValues(mt,!0)},re.prototype.getRatio=function(Y){var J=this.availableSpace,fe=J.width,Te=J.height;return Y/this.getOrientVal([fe,Te])},re.prototype.dispatchCustomEvent=function(Y,J,fe){var Te=this;Y.on(J,function(De){De.stopPropagation(),Te.dispatchEvent(new N.Aw(fe,{detail:De}))})},re.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"))},re.prototype.onScroll=function(Y){var J=this.attributes.scrollable;if(J){var fe=Y.deltaX,Te=Y.deltaY,De=Te||fe,Le=this.getRatio(De);this.setValuesOffset(Le,Le)}},re.tag="slider",re}(V.w),kn=b(92387),kd={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(oe){return oe.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},Yh=(0,vt.A)({background:"background",labelGroup:"label-group",label:"label"},"indicator"),vl=function(oe){(0,m.ZT)(re,oe);function re(Y){var J=oe.call(this,Y,kd)||this;return J.point=[0,0],J.group=J.appendChild(new N.ZA({})),J.isMutationObserved=!0,J}return re.prototype.renderBackground=function(){if(this.label){var Y=this.attributes,J=Y.position,fe=Y.padding,Te=(0,m.CR)((0,Je.j)(fe),4),De=Te[0],Le=Te[1],Xe=Te[2],mt=Te[3],Kt=this.label.node().getLocalBounds(),nn=Kt.min,gn=Kt.max,Nn=new F.b(nn[0]-mt,nn[1]-De,gn[0]+Le-nn[0]+mt,gn[1]+Xe-nn[1]+De),$n=this.getPath(J,Nn),Er=(0,C.zs)(this.attributes,"background");this.background=(0,Fe.Ys)(this.group).maybeAppendByClassName(Yh.background,"path").styles((0,m.pi)((0,m.pi)({},Er),{d:$n})),this.group.appendChild(this.label.node())}},re.prototype.renderLabel=function(){var Y=this.attributes,J=Y.formatter,fe=Y.labelText,Te=(0,C.zs)(this.attributes,"label"),De=(0,m.CR)((0,C.Hm)(Te),2),Le=De[0],Xe=De[1],mt=Le.text,Kt=(0,m._T)(Le,["text"]);if(this.label=(0,Fe.Ys)(this.group).maybeAppendByClassName(Yh.labelGroup,"g").styles(Xe),!!fe){var nn=this.label.maybeAppendByClassName(Yh.label,function(){return(0,Tn.S)(J(fe))}).style("text",J(fe).toString());nn.selectAll("text").styles(Kt)}},re.prototype.adjustLayout=function(){var Y=(0,m.CR)(this.point,2),J=Y[0],fe=Y[1],Te=this.attributes,De=Te.x,Le=Te.y;this.group.attr("transform","translate(".concat(De-J,", ").concat(Le-fe,")"))},re.prototype.getPath=function(Y,J){var fe=this.attributes.radius,Te=J.x,De=J.y,Le=J.width,Xe=J.height,mt=[["M",Te+fe,De],["L",Te+Le-fe,De],["A",fe,fe,0,0,1,Te+Le,De+fe],["L",Te+Le,De+Xe-fe],["A",fe,fe,0,0,1,Te+Le-fe,De+Xe],["L",Te+fe,De+Xe],["A",fe,fe,0,0,1,Te,De+Xe-fe],["L",Te,De+fe],["A",fe,fe,0,0,1,Te+fe,De],["Z"]],Kt={top:4,right:6,bottom:0,left:2},nn=Kt[Y],gn=this.createCorner([mt[nn].slice(-2),mt[nn+1].slice(-2)]);return mt.splice.apply(mt,(0,m.ev)([nn+1,1],(0,m.CR)(gn),!1)),mt[0][0]="M",mt},re.prototype.createCorner=function(Y,J){J===void 0&&(J=10);var fe=.8,Te=ei.wE.apply(void 0,(0,m.ev)([],(0,m.CR)(Y),!1)),De=(0,m.CR)(Y,2),Le=(0,m.CR)(De[0],2),Xe=Le[0],mt=Le[1],Kt=(0,m.CR)(De[1],2),nn=Kt[0],gn=Kt[1],Nn=(0,m.CR)(Te?[nn-Xe,[Xe,nn]]:[gn-mt,[mt,gn]],2),$n=Nn[0],Er=(0,m.CR)(Nn[1],2),mr=Er[0],ti=Er[1],jr=$n/2,ui=$n/Math.abs($n),gi=J*ui,oi=gi/2,ts=gi*Math.sqrt(3)/2*fe,fs=(0,m.CR)([mr,mr+jr-oi,mr+jr,mr+jr+oi,ti],5),Ds=fs[0],Ba=fs[1],Ka=fs[2],xo=fs[3],aa=fs[4];return Te?(this.point=[Ka,mt-ts],[["L",Ds,mt],["L",Ba,mt],["L",Ka,mt-ts],["L",xo,mt],["L",aa,mt]]):(this.point=[Xe+ts,Ka],[["L",Xe,Ds],["L",Xe,Ba],["L",Xe+ts,Ka],["L",Xe,xo],["L",Xe,aa]])},re.prototype.applyVisibility=function(){var Y=this.attributes.visibility;Y==="hidden"?(0,si.Cp)(this):(0,si.$Z)(this)},re.prototype.bindEvents=function(){this.label.on(N.Dk.BOUNDS_CHANGED,this.renderBackground)},re.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},re}(V.w),He=function(oe){(0,m.ZT)(re,oe);function re(Y){var J=oe.call(this,(0,E.n)({},re.defaultOptions,Y))||this;return J.hoverColor="#f5f5f5",J.selectedColor="#e6f7ff",J.background=J.appendChild(new N.UL({})),J.label=J.background.appendChild(new N.ZA({})),J}return Object.defineProperty(re.prototype,"padding",{get:function(){return(0,Je.j)(this.style.padding)},enumerable:!1,configurable:!0}),re.prototype.renderLabel=function(){var Y=this.style,J=Y.label,fe=Y.value,Te=(0,C.zs)(this.attributes,"label");(0,Fe.Ys)(this.label).maybeAppend(".label",function(){return(0,Tn.S)(J)}).attr("className","label").styles(Te),this.label.attr("__data__",fe)},re.prototype.renderBackground=function(){var Y=this.label.getBBox(),J=(0,m.CR)(this.padding,4),fe=J[0],Te=J[1],De=J[2],Le=J[3],Xe=Y.width,mt=Y.height,Kt=Xe+Le+Te,nn=mt+fe+De,gn=(0,C.zs)(this.attributes,"background"),Nn=this.style,$n=Nn.width,Er=$n===void 0?0:$n,mr=Nn.height,ti=mr===void 0?0:mr,jr=Nn.selected;this.background.attr((0,m.pi)((0,m.pi)({},gn),{width:Math.max(Kt,Er),height:Math.max(nn,ti),fill:jr?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(Le,", ").concat((nn-mt)/2,")")})},re.prototype.render=function(){this.renderLabel(),this.renderBackground()},re.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 J=this;this.addEventListener("click",function(){var fe=Y.style,Te=fe.label,De=fe.value,Le=fe.onClick;Le==null||Le(De,{label:Te,value:De},J)})},re.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},re}(V.w),me=function(oe){(0,m.ZT)(re,oe);function re(Y){var J,fe,Te=oe.call(this,(0,E.n)({},re.defaultOptions,Y))||this;Te.currentValue=(J=re.defaultOptions.style)===null||J===void 0?void 0:J.defaultValue,Te.isPointerInSelect=!1,Te.select=Te.appendChild(new N.UL({className:"select",style:{cursor:"pointer",width:0,height:0}})),Te.dropdown=Te.appendChild(new N.UL({className:"dropdown"}));var De=Te.style.defaultValue;return De&&(!((fe=Te.style.options)===null||fe===void 0)&&fe.some(function(Le){return Le.value===De}))&&(Te.currentValue=De),Te}return re.prototype.setValue=function(Y){this.currentValue=Y,this.render()},re.prototype.getValue=function(){return this.currentValue},Object.defineProperty(re.prototype,"dropdownPadding",{get:function(){return(0,Je.j)(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),re.prototype.renderSelect=function(){var Y=this,J,fe=this.style,Te=fe.x,De=fe.y,Le=fe.width,Xe=fe.height,mt=fe.bordered,Kt=fe.showDropdownIcon,nn=(0,C.zs)(this.attributes,"select"),gn=(0,C.zs)(this.attributes,"placeholder");this.select.attr((0,m.pi)((0,m.pi)({x:Te,y:De,width:Le,height:Xe},nn),{fill:"#fff",strokeWidth:mt?1:0}));var Nn=this.dropdownPadding,$n=10;Kt&&(0,Fe.Ys)(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(Te+Le-$n-Nn[1]-Nn[3],", ").concat(De+Xe/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var Er=(J=this.style.options)===null||J===void 0?void 0:J.find(function(ui){return ui.value===Y.currentValue}),mr=(0,m.pi)({x:Te+Nn[3]},gn);(0,Fe.Ys)(this.select).selectAll(".placeholder").data(Er?[]:[1]).join(function(ui){return ui.append("text").attr("className","placeholder").styles(mr).style("y",function(){var gi=this.getBBox();return De+(Xe-gi.height)/2})},function(ui){return ui.styles(mr)},function(ui){return ui.remove()});var ti=(0,C.zs)(this.attributes,"optionLabel"),jr=(0,m.pi)({x:Te+Nn[3]},ti);(0,Fe.Ys)(this.select).selectAll(".value").data(Er?[Er]:[]).join(function(ui){return ui.append(function(gi){return(0,Tn.S)(gi.label)}).attr("className","value").styles(jr).style("y",function(){var gi=this.getBBox();return De+(Xe-gi.height)/2})},function(ui){return ui.styles(jr)},function(ui){return ui.remove()})},re.prototype.renderDropdown=function(){var Y=this,J,fe,Te=this.style,De=Te.x,Le=Te.y,Xe=Te.width,mt=Te.height,Kt=Te.options,nn=Te.onSelect,gn=Te.open,Nn=(0,C.zs)(this.attributes,"dropdown"),$n=(0,C.zs)(this.attributes,"option"),Er=this.dropdownPadding;(0,Fe.Ys)(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(Kt,function(jr){return jr.value}).join(function(jr){return jr.append(function(ui){return new He({className:"dropdown-item",style:(0,m.pi)((0,m.pi)((0,m.pi)({},ui),$n),{width:Xe-Er[1]-Er[3],selected:ui.value===Y.currentValue,onClick:function(gi,oi,ts){Y.setValue(gi),nn==null||nn(gi,oi,ts),Y.dispatchEvent(new N.Aw("change",{detail:{value:gi,option:oi,item:ts}})),(0,si.Cp)(Y.dropdown)}})})}).each(function(ui,gi){var oi,ts=(oi=this.parentNode)===null||oi===void 0?void 0:oi.children,fs=ts.reduce(function(Ds,Ba,Ka){return KaTe.time?1:0};return Y.sort(J)},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"space",{get:function(){var Y=this.attributes,J=Y.x,fe=Y.y,Te=Y.width,De=Y.height,Le=Y.type,Xe=Y.controllerHeight,mt=(0,Z.Z)(+De-Xe,0,+De),Kt=new F.b(J,fe+ +De-Xe,+Te,Xe),nn,gn=0;Le==="chart"?(gn=35,nn=new F.b(J,fe+mt-gn,+Te,gn)):nn=new F.b;var Nn=Le==="time"?10:mt,$n=new F.b(J,fe+(Le==="time"?mt:mt-Nn),+Te,Nn-gn);return{axisBBox:nn,controllerBBox:Kt,timelineBBox:$n}},enumerable:!1,configurable:!0}),re.prototype.setBySliderValues=function(Y){var J,fe,Te=this.data,De=(0,m.CR)(Array.isArray(Y)?Y:[0,Y],2),Le=De[0],Xe=De[1],mt=Te.length,Kt=Te[Math.floor(Le*mt)],nn=Te[Math.ceil(Xe*mt)-(Array.isArray(Y)?0:1)];this.states.values=[(J=Kt==null?void 0:Kt.time)!==null&&J!==void 0?J:Te[0].time,(fe=nn==null?void 0:nn.time)!==null&&fe!==void 0?fe:1/0]},re.prototype.setByTimebarValues=function(Y){var J,fe,Te,De=this.data,Le=(0,m.CR)(Array.isArray(Y)?Y:[void 0,Y],2),Xe=Le[0],mt=Le[1],Kt=De.find(function(gn){var Nn=gn.time;return Nn===Xe}),nn=De.find(function(gn){var Nn=gn.time;return Nn===mt});this.states.values=[(J=Kt==null?void 0:Kt.time)!==null&&J!==void 0?J:(fe=De[0])===null||fe===void 0?void 0:fe.time,(Te=nn==null?void 0:nn.time)!==null&&Te!==void 0?Te:1/0]},re.prototype.setByIndex=function(Y){var J,fe,Te,De,Le=this.data,Xe=(0,m.CR)(Y,2),mt=Xe[0],Kt=Xe[1];this.states.values=[(fe=(J=Le[mt])===null||J===void 0?void 0:J.time)!==null&&fe!==void 0?fe:Le[0].time,(De=(Te=this.data[Kt])===null||Te===void 0?void 0:Te.time)!==null&&De!==void 0?De:1/0]},Object.defineProperty(re.prototype,"sliderValues",{get:function(){var Y=this.states,J=Y.values,fe=Y.selectionType,Te=(0,m.CR)(Array.isArray(J)?J:[void 0,J],2),De=Te[0],Le=Te[1],Xe=this.data,mt=Xe.length,Kt=fe==="value",nn=function(){var Nn=Xe.findIndex(function($n){var Er=$n.time;return Er===De});return Kt?0:Nn>-1?Nn/mt:0},gn=function(){if(Le===1/0)return 1;var Nn=Xe.findIndex(function($n){var Er=$n.time;return Er===Le});return Nn>-1?Nn/mt:Kt?.5:1};return[nn(),gn()]},enumerable:!1,configurable:!0}),Object.defineProperty(re.prototype,"values",{get:function(){var Y=this.states,J=Y.values,fe=Y.selectionType,Te=(0,m.CR)(Array.isArray(J)?J:[this.data[0].time,J],2),De=Te[0],Le=Te[1];return fe==="value"?Le:[De,Le]},enumerable:!1,configurable:!0}),re.prototype.getDatumByRatio=function(Y){var J=this.data,fe=J.length,Te=Math.floor(Y*(fe-1));return J[Te]},Object.defineProperty(re.prototype,"chartHandleIconShape",{get:function(){var Y=this.states.selectionType,J=this.space.timelineBBox.height;return Y==="range"?function(fe){return new Ni({style:{type:fe,height:J,iconSize:J/6}})}:function(){return new N.x1({style:{x1:0,y1:-J/2,x2:0,y2:J/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),re.prototype.getChartStyle=function(Y){var J=this,fe=Y.x,Te=Y.y,De=Y.width,Le=Y.height,Xe=this.states,mt=Xe.selectionType,Kt=Xe.chartType,nn=this.data,gn=this.attributes,Nn=gn.type,$n=gn.labelFormatter,Er=(0,C.zs)(this.attributes,"chart"),mr=Er.type,ti=(0,m._T)(Er,["type"]),jr=mt==="range";if(Nn==="time")return(0,m.pi)({handleIconShape:function(){return new zi({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:jr?-15:0,autoFitLabel:jr,handleSpacing:jr?-15:0,trackFill:"#edeeef",trackLength:De,trackOpacity:.5,trackRadius:Le/2,trackSize:Le/2,type:mt,values:this.sliderValues,formatter:function(oi){if($n)return $n(oi);var ts=J.getDatumByRatio(oi).time;return typeof ts=="number"?_a(ts):j(ts,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(fe,", ").concat(Te,")"),zIndex:1},ti);var ui=mt==="range"?5:0,gi=nn.map(function(oi){var ts=oi.value;return ts});return(0,m.pi)({handleIconOffset:ui,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:gi,sparklineType:Kt,sparklineScale:.8,trackLength:De,trackSize:Le,type:mt,values:this.sliderValues,transform:"translate(".concat(fe,", ").concat(Te,")"),zIndex:1},ti)},re.prototype.renderChart=function(Y){Y===void 0&&(Y=this.space.timelineBBox),this.timeline.update(this.getChartStyle(Y))},re.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},re.prototype.getAxisStyle=function(Y){var J=this.data,fe=this.attributes,Te=fe.interval,De=fe.labelFormatter,Le=(0,C.zs)(this.attributes,"axis"),Xe=Y.x,mt=Y.y,Kt=Y.width,nn=(0,m.ev)((0,m.ev)([],(0,m.CR)(J),!1),[{time:0}],!1).map(function(Nn,$n,Er){var mr=Nn.time;return{label:"".concat(mr),value:$n/(Er.length-1),time:mr}}),gn=(0,m.pi)({startPos:[Xe,mt],endPos:[Xe+Kt,mt],data:nn,labelFilter:function(Nn,$n){return $nTe?Xe==="value"?[0,0]:mt==="acc"?[fs(oi),fs(oi)]:[0,fs(ts-oi)]:oi<0?mt==="acc"?[0,fs(ts)]:[fs(oi+Te-ts),Te]:[fs(oi),fs(ts)]},jr=ti(mr);return this.setByIndex(jr),this.updateSelection(),jr},re.prototype.internalBackward=function(Y){var J,fe,Te=this.moveSelection("backward",Y);return Y||((fe=(J=this.attributes)===null||J===void 0?void 0:J.onBackward)===null||fe===void 0||fe.call(J),this.dispatchOnChange()),Te},re.prototype.backward=function(){this.internalBackward()},re.prototype.internalPlay=function(Y){var J=this,fe,Te,De=this.data,Le=this.attributes.loop,Xe=this.states.speed,mt=Xe===void 0?1:Xe;this.playInterval=window.setInterval(function(){var Kt=J.internalForward();Kt[1]===De.length&&!Le&&(J.internalPause(),J.renderController())},1e3/mt),this.states.state="play",!Y&&((Te=(fe=this.attributes)===null||fe===void 0?void 0:fe.onPlay)===null||Te===void 0||Te.call(fe))},re.prototype.play=function(){this.internalPlay()},re.prototype.internalPause=function(Y){var J,fe;clearInterval(this.playInterval),this.states.state="pause",!Y&&((fe=(J=this.attributes)===null||J===void 0?void 0:J.onPause)===null||fe===void 0||fe.call(J))},re.prototype.pause=function(){this.internalPause()},re.prototype.internalForward=function(Y){var J,fe,Te=this.moveSelection("forward",Y);return Y||((fe=(J=this.attributes)===null||J===void 0?void 0:J.onForward)===null||fe===void 0||fe.call(J),this.dispatchOnChange()),Te},re.prototype.forward=function(){this.internalForward()},re.prototype.handleSpeedChange=function(Y){var J,fe;this.states.speed=Y;var Te=this.states.state;Te==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(fe=(J=this.attributes)===null||J===void 0?void 0:J.onSpeedChange)===null||fe===void 0||fe.call(J,Y)},re.prototype.handleSelectionTypeChange=function(Y){var J,fe;this.states.selectionType=Y,this.renderChart(),(fe=(J=this.attributes)===null||J===void 0?void 0:J.onSelectionTypeChange)===null||fe===void 0||fe.call(J,Y)},re.prototype.handleChartTypeChange=function(Y){var J,fe;this.states.chartType=Y,this.renderChart(),(fe=(J=this.attributes)===null||J===void 0?void 0:J.onChartTypeChange)===null||fe===void 0||fe.call(J,Y)},re.prototype.render=function(){var Y=this.space,J=Y.axisBBox,fe=Y.controllerBBox,Te=Y.timelineBBox;this.renderController(fe),this.renderAxis(J),this.renderChart(Te),this.states.state==="play"&&this.internalPlay()},re.prototype.destroy=function(){oe.prototype.destroy.call(this),this.internalPause(!0)},re.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"}},re}(V.w)},75242:function(Be,Me,b){"use strict";b.d(Me,{u:function(){return j}});var m=b(80813),Z=b(85580);function V(de,he){return!de||!he?de:de.replace(/\\?\{([^{}]+)\}/g,function(we,ve){return we.charAt(0)==="\\"?we.slice(1):he[ve]===void 0?"":he[ve]})}var N=V,E=b(97304),F=function(de,he){if(he==null){de.innerHTML="";return}de.replaceChildren?Array.isArray(he)?de.replaceChildren.apply(de,(0,m.ev)([],(0,m.CR)(he),!1)):de.replaceChildren(he):(de.innerHTML="",Array.isArray(he)?he.forEach(function(we){return de.appendChild(we)}):de.appendChild(he))},C=b(88839),P=b(17911);function H(de){return de===void 0&&(de=""),{CONTAINER:"".concat(de,"tooltip"),TITLE:"".concat(de,"tooltip-title"),LIST:"".concat(de,"tooltip-list"),LIST_ITEM:"".concat(de,"tooltip-list-item"),NAME:"".concat(de,"tooltip-list-item-name"),MARKER:"".concat(de,"tooltip-list-item-marker"),NAME_LABEL:"".concat(de,"tooltip-list-item-name-label"),VALUE:"".concat(de,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(de,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(de,"tooltip-crosshair-y")}}var D={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function X(de){var he;de===void 0&&(de="");var we=H(de);return he={},he[".".concat(we.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"},he[".".concat(we.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},he[".".concat(we.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},he[".".concat(we.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},he[".".concat(we.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},he[".".concat(we.NAME)]={display:"flex","align-items":"center","max-width":"216px"},he[".".concat(we.NAME_LABEL)]=(0,m.pi)({flex:1},D),he[".".concat(we.VALUE)]=(0,m.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},D),he[".".concat(we.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},he[".".concat(we.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},he}var j=function(de){(0,m.ZT)(he,de);function he(we){var ve=this,Ee,$e,Fe=($e=(Ee=we.style)===null||Ee===void 0?void 0:Ee.template)===null||$e===void 0?void 0:$e.prefixCls,ct=H(Fe);return ve=de.call(this,we,{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:'
    '),title:'
    '),item:'
  • - - - {name} - - {value} -
  • `)},style:X(Fe)})||this,ve.timestamp=-1,ve.prevCustomContentKey=ve.attributes.contentKey,ve.initShape(),ve.render(ve.attributes,ve),ve}return Object.defineProperty(he.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),he.prototype.getContainer=function(){return this.element},Object.defineProperty(he.prototype,"elementSize",{get:function(){var we=this.element.offsetWidth,ve=this.element.offsetHeight;return{width:we,height:ve}},enumerable:!1,configurable:!0}),Object.defineProperty(he.prototype,"HTMLTooltipItemsElements",{get:function(){var we=this.attributes,ve=we.data,Ee=we.template;return ve.map(function($e,Fe){var ct=$e.name,vt=ct===void 0?"":ct,at=$e.color,kt=at===void 0?"black":at,It=$e.index,Bn=(0,m._T)($e,["name","color","index"]),Lt=(0,m.pi)({name:vt,color:kt,index:It!=null?It:Fe},Bn);return(0,Z.L)(N(Ee.item,Lt))})},enumerable:!1,configurable:!0}),he.prototype.render=function(we,ve){this.renderHTMLTooltipElement(),this.updatePosition()},he.prototype.destroy=function(){var we;(we=this.element)===null||we===void 0||we.remove(),de.prototype.destroy.call(this)},he.prototype.show=function(we,ve){var Ee=this;if(we!==void 0&&ve!==void 0){var $e=this.element.style.visibility==="hidden",Fe=function(){Ee.attributes.x=we!=null?we:Ee.attributes.x,Ee.attributes.y=ve!=null?ve:Ee.attributes.y,Ee.updatePosition()};$e?this.closeTransition(Fe):Fe()}this.element.style.visibility="visible"},he.prototype.hide=function(we,ve){we===void 0&&(we=0),ve===void 0&&(ve=0);var Ee=this.attributes.enterable;Ee&&this.isCursorEntered(we,ve)||(this.element.style.visibility="hidden")},he.prototype.initShape=function(){var we=this.attributes.template;this.element=(0,Z.L)(we.container),this.id&&this.element.setAttribute("id",this.id)},he.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var we=this.attributes.content;we&&(typeof we=="string"?this.element.innerHTML=we:F(this.element,we))}},he.prototype.renderHTMLTooltipElement=function(){var we,ve,Ee=this.attributes,$e=Ee.template,Fe=Ee.title,ct=Ee.enterable,vt=Ee.style,at=Ee.content,kt=H($e.prefixCls),It=this.element;if(this.element.style.pointerEvents=ct?"auto":"none",at)this.renderCustomContent();else{Fe?(It.innerHTML=$e.title,It.getElementsByClassName(kt.TITLE)[0].innerHTML=Fe):(ve=(we=It.getElementsByClassName(kt.TITLE))===null||we===void 0?void 0:we[0])===null||ve===void 0||ve.remove();var Bn=this.HTMLTooltipItemsElements,Lt=document.createElement("ul");Lt.className=kt.LIST,F(Lt,Bn);var Wn=this.element.querySelector(".".concat(kt.LIST));Wn?Wn.replaceWith(Lt):It.appendChild(Lt)}(0,C.MC)(It,vt)},he.prototype.getRelativeOffsetFromCursor=function(we){var ve=this.attributes,Ee=ve.position,$e=ve.offset,Fe=we||Ee,ct=Fe.split("-"),vt={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},at=this.elementSize,kt=at.width,It=at.height,Bn=[-kt/2,-It/2];return ct.forEach(function(Lt){var Wn=(0,m.CR)(Bn,2),Xn=Wn[0],In=Wn[1],zn=(0,m.CR)(vt[Lt],2),dr=zn[0],vn=zn[1];Bn=[Xn+(kt/2+$e[0])*dr,In+(It/2+$e[1])*vn]}),Bn},he.prototype.setOffsetPosition=function(we){var ve=(0,m.CR)(we,2),Ee=ve[0],$e=ve[1],Fe=this.attributes,ct=Fe.x,vt=ct===void 0?0:ct,at=Fe.y,kt=at===void 0?0:at,It=Fe.container,Bn=It.x,Lt=It.y;this.element.style.left="".concat(+vt+Bn+Ee,"px"),this.element.style.top="".concat(+kt+Lt+$e,"px")},he.prototype.updatePosition=function(){var we=this.attributes.showDelay,ve=we===void 0?60:we,Ee=Date.now();this.timestamp>0&&Ee-this.timestampdr+_r,top:Invn+Ge},On=[];kt.split("-").forEach(function(en){Tt[en]?On.push(zn[en]):On.push(en)});var Vr=On.join("-");return this.getRelativeOffsetFromCursor(Vr)},he.prototype.isCursorEntered=function(we,ve){if(this.element){var Ee=this.element.getBoundingClientRect(),$e=Ee.x,Fe=Ee.y,ct=Ee.width,vt=Ee.height;return new P.b($e,Fe,ct,vt).isPointIn(we,ve)}return!1},he.prototype.closeTransition=function(we){var ve=this,Ee=this.element.style.transition;this.element.style.transition="none",we(),setTimeout(function(){ve.element.style.transition=Ee},10)},he.tag="tooltip",he}(E.w)},17911:function(Be,Me,b){"use strict";b.d(Me,{b:function(){return m}});var m=function(){function V(N,E,F,C){N===void 0&&(N=0),E===void 0&&(E=0),F===void 0&&(F=0),C===void 0&&(C=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=N,this.y=E,this.width=F,this.height=C}return Object.defineProperty(V.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),V.fromRect=function(N){return new V(N.x,N.y,N.width,N.height)},V.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}},V.prototype.isPointIn=function(N,E){return N>=this.left&&N<=this.right&&E>=this.top&&E<=this.bottom},V}();function Z(V){var N=V.getRenderBounds(),E=__read(N.min,2),F=E[0],C=E[1],P=__read(N.max,2),H=P[0],D=P[1],X=H-F,j=D-C;return new m(F,C,X,j)}},38242:function(Be,Me,b){"use strict";b.d(Me,{S:function(){return V}});var m=b(80813),Z=b(71018);function V(N,E){return(0,Z.Z)(N)?N.apply(void 0,(0,m.ev)([],(0,m.CR)(E),!1)):N}},58688:function(Be,Me,b){"use strict";b.d(Me,{A:function(){return Z}});var m=b(80813),Z=function(V,N){var E=function(C){return"".concat(N,"-").concat(C)},F=Object.fromEntries(Object.entries(V).map(function(C){var P=(0,m.CR)(C,2),H=P[0],D=P[1],X=E(D);return[H,{name:X,class:".".concat(X),id:"#".concat(X),toString:function(){return X}}]}));return Object.assign(F,{prefix:E}),F}},99247:function(Be,Me,b){"use strict";b.d(Me,{n:function(){return F}});var m=b(80813),Z=b(63467),V=b(39934),N=5,E=function(C,P,H,D){H===void 0&&(H=0),D===void 0&&(D=N),Object.entries(P).forEach(function(X){var j=(0,m.CR)(X,2),de=j[0],he=j[1],we=C;Object.prototype.hasOwnProperty.call(P,de)&&(he?(0,Z.Z)(he)?((0,Z.Z)(C[de])||(we[de]={}),H2?[Z[0]]:Z.split("")}},99769:function(Be,Me,b){"use strict";b.d(Me,{b:function(){return m}});function m(Z,V,N){N===void 0&&(N=!1);var E=Z.getBBox(),F=E.width,C=E.height,P=V/Math.max(F,C);return N&&(Z.style.transform="scale(".concat(P,")")),P}},38974:function(Be,Me,b){"use strict";b.d(Me,{OV:function(){return X},Ys:function(){return D}});var m=b(80813),Z=b(39934),V=function(j){if(!(0,Z.Z)(j))return[];for(var de=[],he=0;he="A"&&de<="Z"};function P(X,j,de){de===void 0&&(de=!1);var he={};return Object.entries(X).forEach(function(we){var ve=(0,m.CR)(we,2),Ee=ve[0],$e=ve[1];if(!(Ee==="className"||Ee==="class")){if(C(Ee,"show")&&C(E(Ee,"show"),j)!==de)Ee===N(j,"show")?he[Ee]=$e:he[Ee.replace(new RegExp(Z(j)),"")]=$e;else if(!C(Ee,"show")&&C(Ee,j)!==de){var Fe=E(Ee,j);Fe==="filter"&&typeof $e=="function"||(he[Fe]=$e)}}}),he}function H(X,j){return Object.entries(X).reduce(function(de,he){var we=(0,m.CR)(he,2),ve=we[0],Ee=we[1];return ve.startsWith("show")?de["show".concat(j).concat(ve.slice(4))]=Ee:de["".concat(j).concat(Z(ve))]=Ee,de},{})}function D(X,j){j===void 0&&(j=["x","y","class","className"]);var de=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],he={},we={};return Object.entries(X).forEach(function(ve){var Ee=(0,m.CR)(ve,2),$e=Ee[0],Fe=Ee[1];j.includes($e)||(de.indexOf($e)!==-1?we[$e]=Fe:he[$e]=Fe)}),[he,we]}},58533:function(Be,Me,b){"use strict";b.d(Me,{Rm:function(){return H},U4:function(){return P},Ux:function(){return F},qT:function(){return C}});var m=b(66623),Z=b(40455),V,N;function E(D){N=D}var F=(0,Z.Z)(function(D,X){var j=X.fontSize,de=X.fontFamily,he=X.fontWeight,we=X.fontStyle,ve=X.fontVariant;return N?N(D,j):(V||(V=m.GZ.offscreenCanvasCreator.getOrCreateContext(void 0)),V.font=[we,ve,he,"".concat(j,"px"),de].join(" "),V.measureText(D).width)},function(D,X){return[D,Object.values(X||C(D)).join()].join("")},4096),C=function(D){var X=D.style.fontFamily||"sans-serif",j=D.style.fontWeight||"normal",de=D.style.fontStyle||"normal",he=D.style.fontVariant,we=D.style.fontSize;return we=typeof we=="object"?we.value:we,{fontSize:we,fontFamily:X,fontWeight:j,fontStyle:de,fontVariant:he}};function P(D){return D.nodeName==="text"?D:D.nodeName==="g"&&D.children.length===1&&D.children[0].nodeName==="text"?D.children[0]:null}function H(D,X){var j=P(D);j&&j.attr(X)}},69014:function(Be,Me,b){"use strict";b.d(Me,{Cp:function(){return V},$Z:function(){return Z},WD:function(){return N}});function m(E,F){F(E),E.children&&E.children.forEach(function(C){C&&m(C,F)})}function Z(E){N(E,!0)}function V(E){N(E,!1)}function N(E,F){var C=F?"visible":"hidden";m(E,function(P){P.attr("visibility",C)})}},49336:function(Be,Me){"use strict";var b="*",m=function(){function Z(){this._events={}}return Z.prototype.on=function(V,N,E){return this._events[V]||(this._events[V]=[]),this._events[V].push({callback:N,once:!!E}),this},Z.prototype.once=function(V,N){return this.on(V,N,!0)},Z.prototype.emit=function(V){for(var N=this,E=[],F=1;FOe&&tn>Qe,ze&&(typeof ze.resetTransform=="function"?ze.resetTransform():ze.setTransform(1,0,0,1,0,0),dt.clearFullScreen&&dt.clearRect(ze,0,0,At*Je,xt*Je,bn.background))},w=function(ie,ze){for(var Je=[ie];Je.length>0;){var At,xt=Je.pop();xt.isVisible()&&!xt.isCulled()&&(si?dt.renderDisplayObjectOptimized(xt,ze,dt.context,H(dt,at)[at],st):dt.renderDisplayObject(xt,ze,dt.context,H(dt,at)[at],st));for(var Sn=((At=xt.sortable)===null||At===void 0||(At=At.sorted)===null||At===void 0?void 0:At.length)>0?xt.sortable.sorted:xt.childNodes,Oe=Sn.length-1;Oe>=0;Oe--)Je.push(Sn[Oe])}};ar.hooks.endFrame.tap(En.tag,function(){if(Q(),rr.root.childNodes.length===0){dt.clearFullScreenLastFrame=!0;return}si=bn.renderer.getConfig().enableRenderingOptimization,H(dt,at)[at]={restoreStack:[],prevObject:null,currentContext:H(dt,at)[at].currentContext},H(dt,at)[at].currentContext.clear(),dt.clearFullScreenLastFrame=!1;var z=Ie.getContext(),ie=Ie.getDPR();if(j.fromScaling(dt.dprMatrix,[ie,ie,1]),j.multiply(dt.vpMatrix,dt.dprMatrix,Jt.getOrthoMatrix()),dt.clearFullScreen)si?(z.save(),w(rr.root,z),z.restore()):w(rr.root,z);else{var ze=dt.safeMergeAABB(dt.mergeDirtyAABBs(dt.renderQueue));if(E.mN.isEmpty(ze)){dt.renderQueue=[];return}var Je=dt.convertAABB2Rect(ze),At=Je.x,xt=Je.y,Sn=Je.width,Oe=Je.height,Qe=de.fF(dt.vec3a,[At,xt,0],dt.vpMatrix),Re=de.fF(dt.vec3b,[At+Sn,xt,0],dt.vpMatrix),Ke=de.fF(dt.vec3c,[At,xt+Oe,0],dt.vpMatrix),gt=de.fF(dt.vec3d,[At+Sn,xt+Oe,0],dt.vpMatrix),tn=Math.min(Qe[0],Re[0],gt[0],Ke[0]),yt=Math.min(Qe[1],Re[1],gt[1],Ke[1]),Yt=Math.max(Qe[0],Re[0],gt[0],Ke[0]),Rn=Math.max(Qe[1],Re[1],gt[1],Ke[1]),er=Math.floor(tn),Jn=Math.floor(yt),kr=Math.ceil(Yt-tn),fr=Math.ceil(Rn-yt);z.save(),dt.clearRect(z,er,Jn,kr,fr,bn.background),z.beginPath(),z.rect(er,Jn,kr,fr),z.clip(),z.setTransform(dt.vpMatrix[0],dt.vpMatrix[1],dt.vpMatrix[4],dt.vpMatrix[5],dt.vpMatrix[12],dt.vpMatrix[13]);var wr=bn.renderer.getConfig(),ei=wr.enableDirtyRectangleRenderingDebug;ei&&L.dispatchEvent(new E.Aw(E.$6.DIRTY_RECTANGLE,{dirtyRect:{x:er,y:Jn,width:kr,height:fr}}));var _n=ze.getMin(),jn=(0,P.Z)(_n,2),Hr=jn[0],Pr=jn[1],$i=ze.getMax(),Zi=(0,P.Z)($i,2),Xi=Zi[0],Ei=Zi[1],ms=rr.root.ownerDocument.elementsFromBBox(Hr,Pr,Xi,Ei);ms.sort(function(_i,Es){return _i.sortable.renderOrder-Es.sortable.renderOrder}).forEach(function(_i){_i&&_i.isVisible()&&!_i.isCulled()&&dt.renderDisplayObject(_i,z,dt.context,H(dt,at)[at],st)}),z.restore(),dt.renderQueue.forEach(function(_i){dt.saveDirtyAABB(_i)}),dt.renderQueue=[]}H(dt,at)[at].restoreStack.forEach(function(){z.restore()}),H(dt,at)[at].restoreStack=[]}),ar.hooks.render.tap(En.tag,function(z){dt.clearFullScreen||dt.renderQueue.push(z)})}},{key:"clearRect",value:function(Xt,st,dt,Wt,bn,Jt){Xt.clearRect(st,dt,Wt,bn),Jt&&(Xt.fillStyle=Jt,Xt.fillRect(st,dt,Wt,bn))}},{key:"renderDisplayObjectOptimized",value:function(Xt,st,dt,Wt,bn){var Jt=Xt.nodeName,ar=!1,rr=!1,Kr=this.context.styleRendererFactory[Jt],si=this.pathGeneratorFactory[Jt],Ie=Xt.parsedStyle.clipPath;if(Ie){ar=!Wt.prevObject||!j.exactEquals(Ie.getWorldTransform(),Wt.prevObject.getWorldTransform()),ar&&(this.applyWorldTransform(st,Ie),Wt.prevObject=null);var L=this.pathGeneratorFactory[Ie.nodeName];L&&(st.save(),rr=!0,st.beginPath(),L(st,Ie.parsedStyle),st.closePath(),st.clip())}if(Kr){ar=!Wt.prevObject||!j.exactEquals(Xt.getWorldTransform(),Wt.prevObject.getWorldTransform()),ar&&this.applyWorldTransform(st,Xt);var Q=!Wt.prevObject;if(!Q){var w=Wt.prevObject.nodeName;Jt===E.bn.TEXT?Q=w!==E.bn.TEXT:Jt===E.bn.IMAGE?Q=w!==E.bn.IMAGE:Q=w===E.bn.TEXT||w===E.bn.IMAGE}Kr.applyStyleToContext(st,Xt,Q,Wt),Wt.prevObject=Xt}si&&(st.beginPath(),si(st,Xt.parsedStyle),Jt!==E.bn.LINE&&Jt!==E.bn.PATH&&Jt!==E.bn.POLYLINE&&st.closePath()),Kr&&Kr.drawToContext(st,Xt,H(this,at)[at],this,bn),rr&&st.restore(),Xt.dirty(!1)}},{key:"renderDisplayObject",value:function(Xt,st,dt,Wt,bn){var Jt=Xt.nodeName,ar=Wt.restoreStack[Wt.restoreStack.length-1];ar&&!(Xt.compareDocumentPosition(ar)&E.NB.DOCUMENT_POSITION_CONTAINS)&&(st.restore(),Wt.restoreStack.pop());var rr=this.context.styleRendererFactory[Jt],Kr=this.pathGeneratorFactory[Jt],si=Xt.parsedStyle.clipPath;if(si){this.applyWorldTransform(st,si);var Ie=this.pathGeneratorFactory[si.nodeName];Ie&&(st.save(),Wt.restoreStack.push(Xt),st.beginPath(),Ie(st,si.parsedStyle),st.closePath(),st.clip())}rr&&(this.applyWorldTransform(st,Xt),st.save(),this.applyAttributesToContext(st,Xt)),Kr&&(st.beginPath(),Kr(st,Xt.parsedStyle),Jt!==E.bn.LINE&&Jt!==E.bn.PATH&&Jt!==E.bn.POLYLINE&&st.closePath()),rr&&(rr.render(st,Xt.parsedStyle,Xt,dt,this,bn),st.restore()),Xt.dirty(!1)}},{key:"applyAttributesToContext",value:function(Xt,st){var dt=st.parsedStyle,Wt=dt.stroke,bn=dt.fill,Jt=dt.opacity,ar=dt.lineDash,rr=dt.lineDashOffset;ar&&Xt.setLineDash(ar),(0,he.Z)(rr)||(Xt.lineDashOffset=rr),(0,he.Z)(Jt)||(Xt.globalAlpha*=Jt),!(0,he.Z)(Wt)&&!Array.isArray(Wt)&&!Wt.isNone&&(Xt.strokeStyle=st.attributes.stroke),!(0,he.Z)(bn)&&!Array.isArray(bn)&&!bn.isNone&&(Xt.fillStyle=st.attributes.fill)}},{key:"convertAABB2Rect",value:function(Xt){var st=Xt.getMin(),dt=Xt.getMax(),Wt=Math.floor(st[0]),bn=Math.floor(st[1]),Jt=Math.ceil(dt[0]),ar=Math.ceil(dt[1]),rr=Jt-Wt,Kr=ar-bn;return{x:Wt,y:bn,width:rr,height:Kr}}},{key:"mergeDirtyAABBs",value:function(Xt){var st=new E.mN;return Xt.forEach(function(dt){var Wt=dt.getRenderBounds();st.add(Wt);var bn=dt.renderable.dirtyRenderBounds;bn&&st.add(bn)}),st}},{key:"saveDirtyAABB",value:function(Xt){var st=Xt.renderable;st.dirtyRenderBounds||(st.dirtyRenderBounds=new E.mN);var dt=Xt.getRenderBounds();dt&&st.dirtyRenderBounds.update(dt.center,dt.halfExtents)}},{key:"applyWorldTransform",value:function(Xt,st,dt){dt?(j.copy(this.tmpMat4,st.getLocalTransform()),j.multiply(this.tmpMat4,dt,this.tmpMat4),j.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(j.copy(this.tmpMat4,st.getWorldTransform()),j.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)),Xt.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 Xt=new E.mN,st=arguments.length,dt=new Array(st),Wt=0;Wt0;if(si){if(dt||st.attributes.stroke!==Wt.prevObject.attributes.stroke){var Ie=!(0,he.Z)(Jt.stroke)&&!Array.isArray(Jt.stroke)&&!Jt.stroke.isNone?st.attributes.stroke:Xn.strokeStyle;zn(Xt,"strokeStyle",Ie,Wt.currentContext)}(dt||Jt.lineWidth!==bn.lineWidth)&&zn(Xt,"lineWidth",(0,he.Z)(Jt.lineWidth)?Xn.lineWidth:Jt.lineWidth,Wt.currentContext),(dt||Jt.lineDash!==bn.lineDash)&&zn(Xt,"lineDash",Jt.lineDash||Xn.lineDash,Wt.currentContext),(dt||Jt.lineDashOffset!==bn.lineDashOffset)&&zn(Xt,"lineDashOffset",(0,he.Z)(Jt.lineDashOffset)?Xn.lineDashOffset:Jt.lineDashOffset,Wt.currentContext);for(var L=0;L4&&arguments[4]!==void 0?arguments[4]:!1;if(st){zn(Xt,"shadowColor",Xn.shadowColor,Wt.currentContext);for(var Jt=0;Jt-1&&zn(Xt,"filter",rr.replace(/drop-shadow\([^)]*\)/,"").trim()||Xn.filter,Wt.currentContext)}else zn(Xt,"filter",Xn.filter,Wt.currentContext)}},{key:"fillToContext",value:function(Xt,st,dt,Wt,bn){var Jt=this,ar=st.parsedStyle,rr=ar.fill,Kr=ar.fillRule,si=null;if(Array.isArray(rr)&&rr.length>0)rr.forEach(function(L){var Q=zn(Xt,"fillStyle",Bn(L,st,Xt,Jt.imagePool),dt.currentContext);si=si!=null?si:Q,Kr?Xt.fill(Kr):Xt.fill()});else{if((0,E.R)(rr)){var Ie=It(rr,st,Xt,st.ownerDocument.defaultView.context,Wt,bn,this.imagePool);Ie&&(Xt.fillStyle=Ie,si=!0)}Kr?Xt.fill(Kr):Xt.fill()}si!==null&&zn(Xt,"fillStyle",si,dt.currentContext)}},{key:"strokeToContext",value:function(Xt,st,dt,Wt,bn){var Jt=this,ar=st.parsedStyle.stroke,rr=null;if(Array.isArray(ar)&&ar.length>0)ar.forEach(function(Ie){var L=zn(Xt,"strokeStyle",Bn(Ie,st,Xt,Jt.imagePool),dt.currentContext);rr=rr!=null?rr:L,Xt.stroke()});else{if((0,E.R)(ar)){var Kr=It(ar,st,Xt,st.ownerDocument.defaultView.context,Wt,bn,this.imagePool);if(Kr){var si=zn(Xt,"strokeStyle",Kr,dt.currentContext);rr=rr!=null?rr:si}}Xt.stroke()}rr!==null&&zn(Xt,"strokeStyle",rr,dt.currentContext)}},{key:"drawToContext",value:function(Xt,st,dt,Wt,bn){var Jt,ar=st.nodeName,rr=st.parsedStyle,Kr=rr.opacity,si=Kr===void 0?Xn.globalAlpha:Kr,Ie=rr.fillOpacity,L=Ie===void 0?Xn.fillOpacity:Ie,Q=rr.strokeOpacity,w=Q===void 0?Xn.strokeOpacity:Q,z=rr.lineWidth,ie=z===void 0?Xn.lineWidth:z,ze=rr.fill&&!rr.fill.isNone,Je=rr.stroke&&!rr.stroke.isNone&&ie>0;if(!(!ze&&!Je)){var At=!(0,he.Z)(rr.shadowColor)&&rr.shadowBlur>0,xt=rr.shadowType==="inner",Sn=((Jt=rr.fill)===null||Jt===void 0?void 0:Jt.alpha)===0,Oe=!!(rr.filter&&rr.filter.length),Qe=At&&Je&&(ar===E.bn.PATH||ar===E.bn.LINE||ar===E.bn.POLYLINE||Sn||xt),Re=null;if(ze){Qe||this.applyShadowAndFilterStyleToContext(Xt,st,At,dt);var Ke=si*L;Re=zn(Xt,"globalAlpha",Ke,dt.currentContext),this.fillToContext(Xt,st,dt,Wt,bn),Qe||this.clearShadowAndFilterStyleForContext(Xt,At,Oe,dt)}if(Je){var gt=!1,tn=si*w,yt=zn(Xt,"globalAlpha",tn,dt.currentContext);if(Re=ze?Re:yt,Qe&&(this.applyShadowAndFilterStyleToContext(Xt,st,At,dt),gt=!0,xt)){var Yt=Xt.globalCompositeOperation;Xt.globalCompositeOperation="source-atop",this.strokeToContext(Xt,st,dt,Wt,bn),Xt.globalCompositeOperation=Yt,this.clearShadowAndFilterStyleForContext(Xt,At,Oe,dt,!0)}this.strokeToContext(Xt,st,dt,Wt,bn),gt&&this.clearShadowAndFilterStyleForContext(Xt,At,Oe,dt)}Re!==null&&zn(Xt,"globalAlpha",Re,dt.currentContext)}}}])}(),vn=function(En){function rn(){return(0,Z.Z)(this,rn),(0,V.Z)(this,rn,arguments)}return(0,N.Z)(rn,En),(0,m.Z)(rn,[{key:"render",value:function(st,dt,Wt,bn,Jt,ar){var rr=dt.fill,Kr=dt.fillRule,si=dt.opacity,Ie=si===void 0?1:si,L=dt.fillOpacity,Q=L===void 0?1:L,w=dt.stroke,z=dt.strokeOpacity,ie=z===void 0?1:z,ze=dt.lineWidth,Je=ze===void 0?1:ze,At=dt.lineCap,xt=dt.lineJoin,Sn=dt.shadowType,Oe=dt.shadowColor,Qe=dt.shadowBlur,Re=dt.filter,Ke=dt.miterLimit,gt=rr&&!rr.isNone,tn=w&&!w.isNone&&Je>0,yt=(rr==null?void 0:rr.alpha)===0,Yt=!!(Re&&Re.length),Rn=!(0,he.Z)(Oe)&&Qe>0,er=Wt.nodeName,Jn=Sn==="inner",kr=tn&&Rn&&(er===E.bn.PATH||er===E.bn.LINE||er===E.bn.POLYLINE||yt||Jn);gt&&(st.globalAlpha=Ie*Q,kr||_r(Wt,st,Rn),Ge(st,Wt,rr,Kr,bn,Jt,ar,this.imagePool),kr||this.clearShadowAndFilter(st,Yt,Rn)),tn&&(st.globalAlpha=Ie*ie,st.lineWidth=Je,(0,he.Z)(Ke)||(st.miterLimit=Ke),(0,he.Z)(At)||(st.lineCap=At),(0,he.Z)(xt)||(st.lineJoin=xt),kr&&(Jn&&(st.globalCompositeOperation="source-atop"),_r(Wt,st,!0),Jn&&(Tt(st,Wt,w,bn,Jt,ar,this.imagePool),st.globalCompositeOperation=Xn.globalCompositeOperation,this.clearShadowAndFilter(st,Yt,!0))),Tt(st,Wt,w,bn,Jt,ar,this.imagePool))}},{key:"clearShadowAndFilter",value:function(st,dt,Wt){if(Wt&&(st.shadowColor="transparent",st.shadowBlur=0),dt){var bn=st.filter;!(0,he.Z)(bn)&&bn.indexOf("drop-shadow")>-1&&(st.filter=bn.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(dr);function _r(En,rn,Xt){var st=En.parsedStyle,dt=st.filter,Wt=st.shadowColor,bn=st.shadowBlur,Jt=st.shadowOffsetX,ar=st.shadowOffsetY;dt&&dt.length&&(rn.filter=En.style.filter),Xt&&(rn.shadowColor=Wt.toString(),rn.shadowBlur=bn||0,rn.shadowOffsetX=Jt||0,rn.shadowOffsetY=ar||0)}function Ge(En,rn,Xt,st,dt,Wt,bn,Jt){var ar=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(Xt)?Xt.forEach(function(rr){En.fillStyle=Bn(rr,rn,En,Jt),ar||(st?En.fill(st):En.fill())}):((0,E.R)(Xt)&&(En.fillStyle=It(Xt,rn,En,dt,Wt,bn,Jt)),ar||(st?En.fill(st):En.fill()))}function Tt(En,rn,Xt,st,dt,Wt,bn){var Jt=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(Xt)?Xt.forEach(function(ar){En.strokeStyle=Bn(ar,rn,En,bn),Jt||En.stroke()}):((0,E.R)(Xt)&&(En.strokeStyle=It(Xt,rn,En,st,dt,Wt,bn)),Jt||En.stroke())}function On(En,rn){var Xt=(0,P.Z)(En,4),st=Xt[0],dt=Xt[1],Wt=Xt[2],bn=Xt[3],Jt=(0,P.Z)(rn,4),ar=Jt[0],rr=Jt[1],Kr=Jt[2],si=Jt[3],Ie=Math.max(st,ar),L=Math.max(dt,rr),Q=Math.min(st+Wt,ar+Kr),w=Math.min(dt+bn,rr+si);return Q<=Ie||w<=L?null:[Ie,L,Q-Ie,w-L]}function Vr(En,rn){var Xt=de.fF(de.Ue(),[En[0],En[1],0],rn),st=de.fF(de.Ue(),[En[0]+En[2],En[1],0],rn),dt=de.fF(de.Ue(),[En[0],En[1]+En[3],0],rn),Wt=de.fF(de.Ue(),[En[0]+En[2],En[1]+En[3],0],rn);return[Math.min(Xt[0],st[0],dt[0],Wt[0]),Math.min(Xt[1],st[1],dt[1],Wt[1]),Math.max(Xt[0],st[0],dt[0],Wt[0])-Math.min(Xt[0],st[0],dt[0],Wt[0]),Math.max(Xt[1],st[1],dt[1],Wt[1])-Math.min(Xt[1],st[1],dt[1],Wt[1])]}var en=function(En){function rn(){return(0,Z.Z)(this,rn),(0,V.Z)(this,rn,arguments)}return(0,N.Z)(rn,En),(0,m.Z)(rn,[{key:"renderDownSampled",value:function(st,dt,Wt,bn){var Jt=bn.src,ar=bn.imageCache;if(!ar.downSampled){this.imagePool.createDownSampledImage(Jt,Wt).then(function(){Wt.ownerDocument&&(Wt.dirty(),Wt.ownerDocument.defaultView.context.renderingService.dirty())}).catch(function(rr){console.error(rr)});return}st.drawImage(ar.downSampled,Math.floor(bn.drawRect[0]),Math.floor(bn.drawRect[1]),Math.ceil(bn.drawRect[2]),Math.ceil(bn.drawRect[3]))}},{key:"renderTile",value:function(st,dt,Wt,bn){var Jt=bn.src,ar=bn.imageCache,rr=bn.imageRect,Kr=bn.drawRect,si=ar.size,Ie=st.getTransform(),L=Ie.a,Q=Ie.b,w=Ie.c,z=Ie.d,ie=Ie.e,ze=Ie.f;if(st.resetTransform(),!(ar!=null&&ar.gridSize)){this.imagePool.createImageTiles(Jt,[],function(){Wt.ownerDocument&&(Wt.dirty(),Wt.ownerDocument.defaultView.context.renderingService.dirty())},Wt).catch(function(Rn){console.error(Rn)});return}for(var Je=[si[0]/rr[2],si[1]/rr[3]],At=[ar.tileSize[0]/Je[0],ar.tileSize[1]/Je[1]],xt=[Math.floor((Kr[0]-rr[0])/At[0]),Math.ceil((Kr[0]+Kr[2]-rr[0])/At[0])],Sn=xt[0],Oe=xt[1],Qe=[Math.floor((Kr[1]-rr[1])/At[1]),Math.ceil((Kr[1]+Kr[3]-rr[1])/At[1])],Re=Qe[0],Ke=Qe[1],gt=Re;gt<=Ke;gt++)for(var tn=Sn;tn<=Oe;tn++){var yt=ar.tiles[gt][tn];if(yt){var Yt=[Math.floor(rr[0]+yt.tileX*At[0]),Math.floor(rr[1]+yt.tileY*At[1]),Math.ceil(At[0]),Math.ceil(At[1])];st.drawImage(yt.data,Yt[0],Yt[1],Yt[2],Yt[3])}}st.setTransform(L,Q,w,z,ie,ze)}},{key:"render",value:function(st,dt,Wt){var bn=dt.x,Jt=bn===void 0?0:bn,ar=dt.y,rr=ar===void 0?0:ar,Kr=dt.width,si=dt.height,Ie=dt.src,L=dt.shadowColor,Q=dt.shadowBlur,w=this.imagePool.getImageSync(Ie,Wt),z=w==null?void 0:w.img,ie=Kr,ze=si;if(z){ie||(ie=z.width),ze||(ze=z.height);var Je=!(0,he.Z)(L)&&Q>0;_r(Wt,st,Je);try{var At=Wt.ownerDocument.defaultView.getContextService().getDomElement(),xt=At.width,Sn=At.height,Oe=st.getTransform(),Qe=Oe.a,Re=Oe.b,Ke=Oe.c,gt=Oe.d,tn=Oe.e,yt=Oe.f,Yt=j.fromValues(Qe,Ke,0,0,Re,gt,0,0,0,0,1,0,tn,yt,0,1),Rn=Vr([Jt,rr,ie,ze],Yt),er=On([0,0,xt,Sn],Rn);if(!er)return;if(!Wt.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){rn.renderFull(st,dt,Wt,{image:z,drawRect:[Jt,rr,ie,ze]});return}var Jn=Rn[2]/w.size[0];if(Jn<(w.downSamplingRate||.5)){this.renderDownSampled(st,dt,Wt,{src:Ie,imageCache:w,drawRect:[Jt,rr,ie,ze]});return}if(!ImagePool.isSupportTile){rn.renderFull(st,dt,Wt,{image:z,drawRect:[Jt,rr,ie,ze]});return}this.renderTile(st,dt,Wt,{src:Ie,imageCache:w,imageRect:Rn,drawRect:er})}catch(kr){}}}},{key:"drawToContext",value:function(st,dt,Wt,bn,Jt){this.render(st,dt.parsedStyle,dt)}}],[{key:"renderFull",value:function(st,dt,Wt,bn){st.drawImage(bn.image,Math.floor(bn.drawRect[0]),Math.floor(bn.drawRect[1]),Math.ceil(bn.drawRect[2]),Math.ceil(bn.drawRect[3]))}}])}(vn),ln=function(En){function rn(){return(0,Z.Z)(this,rn),(0,V.Z)(this,rn,arguments)}return(0,N.Z)(rn,En),(0,m.Z)(rn,[{key:"render",value:function(st,dt,Wt,bn,Jt,ar){Wt.getBounds();var rr=dt.lineWidth,Kr=rr===void 0?1:rr,si=dt.textAlign,Ie=si===void 0?"start":si,L=dt.textBaseline,Q=L===void 0?"alphabetic":L,w=dt.lineJoin,z=w===void 0?"miter":w,ie=dt.miterLimit,ze=ie===void 0?10:ie,Je=dt.letterSpacing,At=Je===void 0?0:Je,xt=dt.stroke,Sn=dt.fill,Oe=dt.fillRule,Qe=dt.fillOpacity,Re=Qe===void 0?1:Qe,Ke=dt.strokeOpacity,gt=Ke===void 0?1:Ke,tn=dt.opacity,yt=tn===void 0?1:tn,Yt=dt.metrics,Rn=dt.x,er=Rn===void 0?0:Rn,Jn=dt.y,kr=Jn===void 0?0:Jn,fr=dt.dx,wr=dt.dy,ei=dt.shadowColor,_n=dt.shadowBlur,jn=dt.textDecorationLine,Hr=Yt.font,Pr=Yt.lines,$i=Yt.height,Zi=Yt.lineHeight,Xi=Yt.lineMetrics;st.font=Hr,st.lineWidth=Kr,st.textAlign=Ie==="middle"?"center":Ie;var Ei=Q;Ei==="alphabetic"&&(Ei="bottom"),st.lineJoin=z,(0,he.Z)(ze)||(st.miterLimit=ze);var ms=kr;Q==="middle"?ms+=-$i/2-Zi/2:Q==="bottom"||Q==="alphabetic"||Q==="ideographic"?ms+=-$i:(Q==="top"||Q==="hanging")&&(ms+=-Zi);var _i=er+(fr||0);ms+=wr||0,Pr.length===1&&(Ei==="bottom"?(Ei="middle",ms-=.5*$i):Ei==="top"&&(Ei="middle",ms+=.5*$i)),st.textBaseline=Ei;var Es=!(0,he.Z)(ei)&&_n>0;_r(Wt,st,Es);for(var ua=0;ua0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,rn),Xt=(0,V.Z)(this,rn),Xt.name="canvas-renderer",Xt.options=st,Xt}return(0,N.Z)(rn,En),(0,m.Z)(rn,[{key:"init",value:function(){var st,dt=(0,C.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),Wt=this.context.imagePool,bn=new vn(Wt),Jt=(st={},(0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)(st,E.bn.CIRCLE,bn),E.bn.ELLIPSE,bn),E.bn.RECT,bn),E.bn.IMAGE,new en(Wt)),E.bn.TEXT,new ln(Wt)),E.bn.LINE,bn),E.bn.POLYLINE,bn),E.bn.POLYGON,bn),E.bn.PATH,bn),E.bn.GROUP,void 0),(0,F.Z)((0,F.Z)((0,F.Z)(st,E.bn.HTML,void 0),E.bn.MESH,void 0),E.bn.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=Jt,this.context.styleRendererFactory=Jt,this.addRenderingPlugin(new kt(dt))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(E.F6),Mt=Object.freeze({__proto__:null,CircleRenderer:vn,DefaultRenderer:vn,EllipseRenderer:vn,ImageRenderer:en,LineRenderer:vn,PathRenderer:vn,Plugin:Cn,PolygonRenderer:vn,PolylineRenderer:vn,RectRenderer:vn,TextRenderer:ln}),Et=de.Ue(),pe=de.Ue(),Ae=de.Ue(),Pe=j.create(),Ut=function(){function En(){var rn=this;(0,Z.Z)(this,En),this.isHit=function(Xt,st,dt,Wt){var bn=rn.context.pointInPathPickerFactory[Xt.nodeName];if(bn){var Jt=j.invert(Pe,dt),ar=de.fF(pe,de.t8(Ae,st[0],st[1],0),Jt);if(bn(Xt,new E.E9(ar[0],ar[1]),Wt,rn.isPointInPath,rn.context,rn.runtime))return!0}return!1},this.isPointInPath=function(Xt,st){var dt=rn.runtime.offscreenCanvasCreator.getOrCreateContext(rn.context.config.offscreenCanvas),Wt=rn.context.pathGeneratorFactory[Xt.nodeName];return Wt&&(dt.beginPath(),Wt(dt,Xt.parsedStyle),dt.closePath()),dt.isPointInPath(st.x,st.y)}}return(0,m.Z)(En,[{key:"apply",value:function(Xt,st){var dt,Wt=this,bn=Xt.renderingService,Jt=Xt.renderingContext;this.context=Xt,this.runtime=st;var ar=(dt=Jt.root)===null||dt===void 0?void 0:dt.ownerDocument;bn.hooks.pick.tapPromise(En.tag,function(){var rr=(0,ct.Z)((0,Fe.Z)().mark(function Kr(si){return(0,Fe.Z)().wrap(function(Ie){for(;;)switch(Ie.prev=Ie.next){case 0:return Ie.abrupt("return",Wt.pick(ar,si));case 1:case"end":return Ie.stop()}},Kr)}));return function(Kr){return rr.apply(this,arguments)}}()),bn.hooks.pickSync.tap(En.tag,function(rr){return Wt.pick(ar,rr)})}},{key:"pick",value:function(Xt,st){var dt=st.topmost,Wt=st.position,bn=Wt.x,Jt=Wt.y,ar=de.t8(Et,bn,Jt,0),rr=Xt.elementsFromBBox(ar[0],ar[1],ar[0],ar[1]),Kr=[],si=(0,$e.Z)(rr),Ie;try{for(si.s();!(Ie=si.n()).done;){var L=Ie.value,Q=L.getWorldTransform(),w=this.isHit(L,ar,Q,!1);if(w){var z=(0,E.Oi)(L);if(z){var ie=z.parsedStyle.clipPath,ze=this.isHit(ie,ar,ie.getWorldTransform(),!0);if(ze){if(dt)return st.picked=[L],st;Kr.push(L)}}else{if(dt)return st.picked=[L],st;Kr.push(L)}}}}catch(Je){si.e(Je)}finally{si.f()}return st.picked=Kr,st}}])}();Ut.tag="CanvasPicker";function jt(En,rn,Xt){var st=En.parsedStyle,dt=st.cx,Wt=dt===void 0?0:dt,bn=st.cy,Jt=bn===void 0?0:bn,ar=st.r,rr=st.fill,Kr=st.stroke,si=st.lineWidth,Ie=si===void 0?1:si,L=st.increasedLineWidthForHitTesting,Q=L===void 0?0:L,w=st.pointerEvents,z=w===void 0?"auto":w,ie=(Ie+Q)/2,ze=(0,vt.TE)(Wt,Jt,rn.x,rn.y),Je=(0,E.L1)(z,rr,Kr),At=(0,P.Z)(Je,2),xt=At[0],Sn=At[1];return xt&&Sn||Xt?ze<=ar+ie:xt?ze<=ar:Sn?ze>=ar-ie&&ze<=ar+ie:!1}function ft(En,rn,Xt,st){return En/(Xt*Xt)+rn/(st*st)}function on(En,rn,Xt){var st=En.parsedStyle,dt=st.cx,Wt=dt===void 0?0:dt,bn=st.cy,Jt=bn===void 0?0:bn,ar=st.rx,rr=st.ry,Kr=st.fill,si=st.stroke,Ie=st.lineWidth,L=Ie===void 0?1:Ie,Q=st.increasedLineWidthForHitTesting,w=Q===void 0?0:Q,z=st.pointerEvents,ie=z===void 0?"auto":z,ze=rn.x,Je=rn.y,At=(0,E.L1)(ie,Kr,si),xt=(0,P.Z)(At,2),Sn=xt[0],Oe=xt[1],Qe=(L+w)/2,Re=(ze-Wt)*(ze-Wt),Ke=(Je-Jt)*(Je-Jt);return Sn&&Oe||Xt?ft(Re,Ke,ar+Qe,rr+Qe)<=1:Sn?ft(Re,Ke,ar,rr)<=1:Oe?ft(Re,Ke,ar-Qe,rr-Qe)>=1&&ft(Re,Ke,ar+Qe,rr+Qe)<=1:!1}function hn(En,rn,Xt,st,dt,Wt){return dt>=En&&dt<=En+Xt&&Wt>=rn&&Wt<=rn+st}function lt(En,rn,Xt,st,dt,Wt,bn){var Jt=dt/2;return hn(En-Jt,rn-Jt,Xt,dt,Wt,bn)||hn(En+Xt-Jt,rn-Jt,dt,st,Wt,bn)||hn(En+Jt,rn+st-Jt,Xt,dt,Wt,bn)||hn(En-Jt,rn+Jt,dt,st,Wt,bn)}function Ct(En,rn,Xt,st,dt,Wt,bn,Jt){var ar=(Math.atan2(Jt-rn,bn-En)+Math.PI*2)%(Math.PI*2),rr={x:En+Xt*Math.cos(ar),y:rn+Xt*Math.sin(ar)};return(0,vt.TE)(rr.x,rr.y,bn,Jt)<=Wt/2}function sn(En,rn,Xt,st,dt,Wt,bn){var Jt=Math.min(En,Xt),ar=Math.max(En,Xt),rr=Math.min(rn,st),Kr=Math.max(rn,st),si=dt/2;return Wt>=Jt-si&&Wt<=ar+si&&bn>=rr-si&&bn<=Kr+si?(0,vt._x)(En,rn,Xt,st,Wt,bn)<=dt/2:!1}function W(En,rn,Xt,st,dt){var Wt=En.length;if(Wt<2)return!1;for(var bn=0;bn0!=Ht(Jt[1]-Xt)>0&&Ht(rn-(Xt-bn[1])*(bn[0]-Jt[0])/(bn[1]-Jt[1])-bn[0])<0&&(st=!st)}return st}function Tn(En,rn,Xt){for(var st=!1,dt=0;dt=dt.min[0]&&rn.y>=dt.min[1]&&rn.x<=dt.max[0]&&rn.y<=dt.max[1]}var Vt=function(En){function rn(){var Xt;(0,Z.Z)(this,rn);for(var st=arguments.length,dt=new Array(st),Wt=0;WtJt?bn:Jt,rr=bn>Jt?1:bn/Jt,Kr=bn>Jt?Jt/bn:1;En.save(),En.scale(rr,Kr),En.arc(st,Wt,ar,0,Math.PI*2)}}function qn(En,rn){var Xt=rn.x1,st=rn.y1,dt=rn.x2,Wt=rn.y2,bn=rn.markerStart,Jt=rn.markerEnd,ar=rn.markerStartOffset,rr=rn.markerEndOffset,Kr=0,si=0,Ie=0,L=0,Q=0,w,z;bn&&(0,E.RV)(bn)&&ar&&(w=dt-Xt,z=Wt-st,Q=Math.atan2(z,w),Kr=Math.cos(Q)*(ar||0),si=Math.sin(Q)*(ar||0)),Jt&&(0,E.RV)(Jt)&&rr&&(w=Xt-dt,z=st-Wt,Q=Math.atan2(z,w),Ie=Math.cos(Q)*(rr||0),L=Math.sin(Q)*(rr||0)),En.moveTo(Xt+Kr,st+si),En.lineTo(dt+Ie,Wt+L)}function Sr(En,rn){var Xt=rn.markerStart,st=rn.markerEnd,dt=rn.markerStartOffset,Wt=rn.markerEndOffset,bn=rn.d,Jt=bn.absolutePath,ar=bn.segments,rr=0,Kr=0,si=0,Ie=0,L=0,Q,w;if(Xt&&(0,E.RV)(Xt)&&dt){var z=Xt.parentNode.getStartTangent(),ie=(0,P.Z)(z,2),ze=ie[0],Je=ie[1];Q=ze[0]-Je[0],w=ze[1]-Je[1],L=Math.atan2(w,Q),rr=Math.cos(L)*(dt||0),Kr=Math.sin(L)*(dt||0)}if(st&&(0,E.RV)(st)&&Wt){var At=st.parentNode.getEndTangent(),xt=(0,P.Z)(At,2),Sn=xt[0],Oe=xt[1];Q=Sn[0]-Oe[0],w=Sn[1]-Oe[1],L=Math.atan2(w,Q),si=Math.cos(L)*(Wt||0),Ie=Math.sin(L)*(Wt||0)}for(var Qe=0;Qe$i?Pr:$i,Es=Pr>$i?1:Pr/$i,ua=Pr>$i?$i/Pr:1;En.translate(jn,Hr),En.rotate(Ei),En.scale(Es,ua),En.arc(0,0,_i,Zi,Xi,!!(1-ms)),En.scale(1/Es,1/ua),En.rotate(-Ei),En.translate(-jn,-Hr)}yt&&En.lineTo(Re[6]+si,Re[7]+Ie);break}case"Z":En.closePath();break}}}function Jr(En,rn){var Xt=rn.markerStart,st=rn.markerEnd,dt=rn.markerStartOffset,Wt=rn.markerEndOffset,bn=rn.points.points,Jt=bn.length,ar=bn[0][0],rr=bn[0][1],Kr=bn[Jt-1][0],si=bn[Jt-1][1],Ie=0,L=0,Q=0,w=0,z=0,ie,ze;Xt&&(0,E.RV)(Xt)&&dt&&(ie=bn[1][0]-bn[0][0],ze=bn[1][1]-bn[0][1],z=Math.atan2(ze,ie),Ie=Math.cos(z)*(dt||0),L=Math.sin(z)*(dt||0)),st&&(0,E.RV)(st)&&Wt&&(ie=bn[Jt-1][0]-bn[0][0],ze=bn[Jt-1][1]-bn[0][1],z=Math.atan2(ze,ie),Q=Math.cos(z)*(Wt||0),w=Math.sin(z)*(Wt||0)),En.moveTo(ar+(Ie||Q),rr+(L||w));for(var Je=1;Je0?1:-1,L=ar>0?1:-1,Q=Ie+L===0,w=bn.map(function(xt){return(0,ve.Z)(xt,0,Math.min(Math.abs(rr)/2,Math.abs(Kr)/2))}),z=(0,P.Z)(w,4),ie=z[0],ze=z[1],Je=z[2],At=z[3];En.moveTo(Ie*ie+st,Wt),En.lineTo(rr-Ie*ze+st,Wt),ze!==0&&En.arc(rr-Ie*ze+st,L*ze+Wt,ze,-L*Math.PI/2,Ie>0?0:Math.PI,Q),En.lineTo(rr+st,Kr-L*Je+Wt),Je!==0&&En.arc(rr-Ie*Je+st,Kr-L*Je+Wt,Je,Ie>0?0:Math.PI,L>0?Math.PI/2:1.5*Math.PI,Q),En.lineTo(Ie*At+st,Kr+Wt),At!==0&&En.arc(Ie*At+st,Kr-L*At+Wt,At,L>0?Math.PI/2:-Math.PI/2,Ie>0?Math.PI:0,Q),En.lineTo(st,L*ie+Wt),ie!==0&&En.arc(Ie*ie+st,L*ie+Wt,ie,Ie>0?Math.PI:0,L>0?Math.PI*1.5:Math.PI/2,Q)}}var Mi=function(En){function rn(){var Xt;(0,Z.Z)(this,rn);for(var st=arguments.length,dt=new Array(st),Wt=0;Wt0&&Jt[0]!==void 0?Jt[0]:{},Wt=dt.type,bn=dt.encoderOptions,ar.abrupt("return",this.context.canvas.toDataURL(Wt,bn));case 1:case"end":return ar.stop()}},st,this)}));function Xt(){return rn.apply(this,arguments)}return Xt}()}])}(),es=function(En){function rn(){var Xt;(0,Z.Z)(this,rn);for(var st=arguments.length,dt=new Array(st),Wt=0;Wt=at[f]&&(f==="m"&&A.length>2?(x.segments.push([S].concat(A.splice(0,2))),f="l",S=S==="m"?"l":"L"):x.segments.push([S].concat(A.splice(0,at[f]))),!!at[f]););}function Xn(x){var S=x.index,f=x.pathValue,A=f.charCodeAt(S);if(A===48){x.param=0,x.index+=1;return}if(A===49){x.param=1,x.index+=1;return}x.err='[path-util]: invalid Arc flag "'.concat(f[S],'", expecting 0 or 1 at index ').concat(S)}function In(x){return x>=48&&x<=57||x===43||x===45||x===46}function zn(x){return x>=48&&x<=57}function dr(x){var S=x.max,f=x.pathValue,A=x.index,_=A,k=!1,G=!1,ae=!1,ge=!1,Ue;if(_>=S){x.err="[path-util]: Invalid path value at index ".concat(_,', "pathValue" is missing param');return}if(Ue=f.charCodeAt(_),(Ue===43||Ue===45)&&(_+=1,Ue=f.charCodeAt(_)),!zn(Ue)&&Ue!==46){x.err="[path-util]: Invalid path value at index ".concat(_,', "').concat(f[_],'" is not a number');return}if(Ue!==46){if(k=Ue===48,_+=1,Ue=f.charCodeAt(_),k&&_=5760&&S.includes(x)}function _r(x){for(var S=x.pathValue,f=x.max;x.index0;G-=1){if(Tt(_)&&(G===3||G===4)?Xn(x):dr(x),x.err.length)return;x.data.push(x.param),_r(x),x.index=x.max||!In(f.charCodeAt(x.index)))break}Wn(x)}var Vr=function(){function x(S){this.pathValue=S,this.segments=[],this.max=S.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return x}();function en(x){if(kt(x))return[].concat(x);var S=new Vr(x);for(_r(S);S.index=k)G={x:f,y:A};else{var ae=Et([x,S],[f,A],_/k),ge=ae[0],Ue=ae[1];G={x:ge,y:Ue}}return{length:k,point:G,min:{x:Math.min(x,f),y:Math.min(S,A)},max:{x:Math.max(x,f),y:Math.max(S,A)}}}function Ae(x,S){var f=x.x,A=x.y,_=S.x,k=S.y,G=f*_+A*k,ae=Math.sqrt((Math.pow(f,2)+Math.pow(A,2))*(Math.pow(_,2)+Math.pow(k,2))),ge=f*k-A*_<0?-1:1,Ue=ge*Math.acos(G/ae);return Ue}function Pe(x,S,f,A,_,k,G,ae,ge,Ue){var rt=Math.abs,bt=Math.sin,Zt=Math.cos,wn=Math.sqrt,mn=Math.PI,Gn=rt(f),ir=rt(A),tr=(_%360+360)%360,Zn=tr*(mn/180);if(x===ae&&S===ge)return{x,y:S};if(Gn===0||ir===0)return pe(x,S,ae,ge,Ue).point;var Tr=(x-ae)/2,ni=(S-ge)/2,ns={x:Zt(Zn)*Tr+bt(Zn)*ni,y:-bt(Zn)*Tr+Zt(Zn)*ni},is=Math.pow(ns.x,2)/Math.pow(Gn,2)+Math.pow(ns.y,2)/Math.pow(ir,2);is>1&&(Gn*=wn(is),ir*=wn(is));var bi=Math.pow(Gn,2)*Math.pow(ir,2)-Math.pow(Gn,2)*Math.pow(ns.y,2)-Math.pow(ir,2)*Math.pow(ns.x,2),Ri=Math.pow(Gn,2)*Math.pow(ns.y,2)+Math.pow(ir,2)*Math.pow(ns.x,2),Gs=bi/Ri;Gs=Gs<0?0:Gs;var _s=(k!==G?1:-1)*wn(Gs),Hs={x:_s*(Gn*ns.y/ir),y:_s*(-(ir*ns.x)/Gn)},Zs={x:Zt(Zn)*Hs.x-bt(Zn)*Hs.y+(x+ae)/2,y:bt(Zn)*Hs.x+Zt(Zn)*Hs.y+(S+ge)/2},Ia={x:(ns.x-Hs.x)/Gn,y:(ns.y-Hs.y)/ir},Po=Ae({x:1,y:0},Ia),Ml={x:(-ns.x-Hs.x)/Gn,y:(-ns.y-Hs.y)/ir},El=Ae(Ia,Ml);!G&&El>0?El-=2*mn:G&&El<0&&(El+=2*mn),El%=2*mn;var Ys=Po+El*Ue,U=Gn*Zt(Ys),R=ir*bt(Ys),$={x:Zt(Zn)*U-bt(Zn)*R+Zs.x,y:bt(Zn)*U+Zt(Zn)*R+Zs.y};return $}function Ut(x,S,f,A,_,k,G,ae,ge,Ue,rt){var bt,Zt=rt.bbox,wn=Zt===void 0?!0:Zt,mn=rt.length,Gn=mn===void 0?!0:mn,ir=rt.sampleSize,tr=ir===void 0?30:ir,Zn=typeof Ue=="number",Tr=x,ni=S,ns=0,is=[Tr,ni,ns],bi=[Tr,ni],Ri=0,Gs={x:0,y:0},_s=[{x:Tr,y:ni}];Zn&&Ue<=0&&(Gs={x:Tr,y:ni});for(var Hs=0;Hs<=tr;Hs+=1){if(Ri=Hs/tr,bt=Pe(x,S,f,A,_,k,G,ae,ge,Ri),Tr=bt.x,ni=bt.y,wn&&_s.push({x:Tr,y:ni}),Gn&&(ns+=(0,Ee.y)(bi,[Tr,ni])),bi=[Tr,ni],Zn&&ns>=Ue&&Ue>is[2]){var Zs=(ns-Ue)/(ns-is[2]);Gs={x:bi[0]*(1-Zs)+is[0]*Zs,y:bi[1]*(1-Zs)+is[1]*Zs}}is=[Tr,ni,ns]}return Zn&&Ue>=ns&&(Gs={x:ae,y:ge}),{length:ns,point:Gs,min:{x:Math.min.apply(null,_s.map(function(Ia){return Ia.x})),y:Math.min.apply(null,_s.map(function(Ia){return Ia.y}))},max:{x:Math.max.apply(null,_s.map(function(Ia){return Ia.x})),y:Math.max.apply(null,_s.map(function(Ia){return Ia.y}))}}}function jt(x,S,f,A,_,k,G,ae,ge){var Ue=1-ge;return{x:Math.pow(Ue,3)*x+3*Math.pow(Ue,2)*ge*f+3*Ue*Math.pow(ge,2)*_+Math.pow(ge,3)*G,y:Math.pow(Ue,3)*S+3*Math.pow(Ue,2)*ge*A+3*Ue*Math.pow(ge,2)*k+Math.pow(ge,3)*ae}}function ft(x,S,f,A,_,k,G,ae,ge,Ue){var rt,bt=Ue.bbox,Zt=bt===void 0?!0:bt,wn=Ue.length,mn=wn===void 0?!0:wn,Gn=Ue.sampleSize,ir=Gn===void 0?10:Gn,tr=typeof ge=="number",Zn=x,Tr=S,ni=0,ns=[Zn,Tr,ni],is=[Zn,Tr],bi=0,Ri={x:0,y:0},Gs=[{x:Zn,y:Tr}];tr&&ge<=0&&(Ri={x:Zn,y:Tr});for(var _s=0;_s<=ir;_s+=1){if(bi=_s/ir,rt=jt(x,S,f,A,_,k,G,ae,bi),Zn=rt.x,Tr=rt.y,Zt&&Gs.push({x:Zn,y:Tr}),mn&&(ni+=(0,Ee.y)(is,[Zn,Tr])),is=[Zn,Tr],tr&&ni>=ge&&ge>ns[2]){var Hs=(ni-ge)/(ni-ns[2]);Ri={x:is[0]*(1-Hs)+ns[0]*Hs,y:is[1]*(1-Hs)+ns[1]*Hs}}ns=[Zn,Tr,ni]}return tr&&ge>=ni&&(Ri={x:G,y:ae}),{length:ni,point:Ri,min:{x:Math.min.apply(null,Gs.map(function(Zs){return Zs.x})),y:Math.min.apply(null,Gs.map(function(Zs){return Zs.y}))},max:{x:Math.max.apply(null,Gs.map(function(Zs){return Zs.x})),y:Math.max.apply(null,Gs.map(function(Zs){return Zs.y}))}}}function on(x,S,f,A,_,k,G){var ae=1-G;return{x:Math.pow(ae,2)*x+2*ae*G*f+Math.pow(G,2)*_,y:Math.pow(ae,2)*S+2*ae*G*A+Math.pow(G,2)*k}}function hn(x,S,f,A,_,k,G,ae){var ge,Ue=ae.bbox,rt=Ue===void 0?!0:Ue,bt=ae.length,Zt=bt===void 0?!0:bt,wn=ae.sampleSize,mn=wn===void 0?10:wn,Gn=typeof G=="number",ir=x,tr=S,Zn=0,Tr=[ir,tr,Zn],ni=[ir,tr],ns=0,is={x:0,y:0},bi=[{x:ir,y:tr}];Gn&&G<=0&&(is={x:ir,y:tr});for(var Ri=0;Ri<=mn;Ri+=1){if(ns=Ri/mn,ge=on(x,S,f,A,_,k,ns),ir=ge.x,tr=ge.y,rt&&bi.push({x:ir,y:tr}),Zt&&(Zn+=(0,Ee.y)(ni,[ir,tr])),ni=[ir,tr],Gn&&Zn>=G&&G>Tr[2]){var Gs=(Zn-G)/(Zn-Tr[2]);is={x:ni[0]*(1-Gs)+Tr[0]*Gs,y:ni[1]*(1-Gs)+Tr[1]*Gs}}Tr=[ir,tr,Zn]}return Gn&&G>=Zn&&(is={x:_,y:k}),{length:Zn,point:is,min:{x:Math.min.apply(null,bi.map(function(_s){return _s.x})),y:Math.min.apply(null,bi.map(function(_s){return _s.y}))},max:{x:Math.max.apply(null,bi.map(function(_s){return _s.x})),y:Math.max.apply(null,bi.map(function(_s){return _s.y}))}}}function lt(x,S,f){for(var A,_,k,G,ae,ge,Ue=Mt(x),rt=typeof S=="number",bt,Zt=[],wn,mn=0,Gn=0,ir=0,tr=0,Zn,Tr=[],ni=[],ns=0,is={x:0,y:0},bi=is,Ri=is,Gs=is,_s=0,Hs=0,Zs=Ue.length;Hs=S&&(Gs=Ri),ni.push(bi),Tr.push(is),_s+=ns,ge=wn!=="Z"?Zn.slice(-2):[ir,tr],mn=ge[0],Gn=ge[1];return rt&&S>=_s&&(Gs={x:mn,y:Gn}),{length:_s,point:Gs,min:{x:Math.min.apply(null,Tr.map(function(Ia){return Ia.x})),y:Math.min.apply(null,Tr.map(function(Ia){return Ia.y}))},max:{x:Math.max.apply(null,ni.map(function(Ia){return Ia.x})),y:Math.max.apply(null,ni.map(function(Ia){return Ia.y}))}}}function Ct(x,S){return lt(x,void 0,(0,vt.pi)((0,vt.pi)({},S),{bbox:!1,length:!0})).length}var sn=b(2078),W=b(82639),Se=b(5131),Ht=function(x,S){return(x%S+S)%S},zt=Ht;function Fn(x,S,f){if(x[f].length>7){x[f].shift();for(var A=x[f],_=f;A.length;)S[f]="A",x.splice(_+=1,0,["C"].concat(A.splice(0,6)));x.splice(f,1)}}function Tn(x){return Bn(x)&&x.every(function(S){var f=S[0];return"MC".includes(f)})}var lr=b(66045);function je(x,S,f,A,_,k){var G=.3333333333333333,ae=2/3;return[G*x+ae*f,G*S+ae*A,G*_+ae*f,G*k+ae*A,_,k]}var be=function(x,S,f,A){var _=.5,k=Et([x,S],[f,A],_);return(0,vt.ev)((0,vt.ev)([],k,!0),[f,A,f,A],!1)};function it(x,S){var f=x[0],A=x.slice(1).map(Number),_=A[0],k=A[1],G,ae=S.x1,ge=S.y1,Ue=S.x,rt=S.y;switch("TQ".includes(f)||(S.qx=null,S.qy=null),f){case"M":return S.x=_,S.y=k,x;case"A":return G=[ae,ge].concat(A),["C"].concat((0,lr.W)(G[0],G[1],G[2],G[3],G[4],G[5],G[6],G[7],G[8],G[9]));case"Q":return S.qx=_,S.qy=k,G=[ae,ge].concat(A),["C"].concat(je(G[0],G[1],G[2],G[3],G[4],G[5]));case"L":return["C"].concat(be(ae,ge,_,k));case"Z":return ae===Ue&&ge===rt?["C",ae,ge,Ue,rt,Ue,rt]:["C"].concat(be(ae,ge,Ue,rt));default:}return x}function wt(x,S){if(S===void 0&&(S=!1),Tn(x)){var f=[].concat(x);return S?[f,[]]:f}for(var A=Mt(x),_=(0,vt.pi)({},Lt),k=[],G="",ae=A.length,ge,Ue,rt=[],bt=0;btot)return console.warn("Maximum recursion depth reached in equalizeSegments"),[x,S];var _=_t(x),k=_t(S),G=_.length,ae=k.length,ge=_.filter(function(tr){return tr.l}).length,Ue=k.filter(function(tr){return tr.l}).length,rt=_.filter(function(tr){return tr.l}).reduce(function(tr,Zn){var Tr=Zn.l;return tr+Tr},0)/ge||0,bt=k.filter(function(tr){return tr.l}).reduce(function(tr,Zn){var Tr=Zn.l;return tr+Tr},0)/Ue||0,Zt=f||Math.max(G,ae),wn=[rt,bt],mn=[Zt-G,Zt-ae],Gn=0,ir=[_,k].map(function(tr,Zn){return tr.l===Zt?tr.map(function(Tr){return Tr.s}):tr.map(function(Tr,ni){return Gn=ni&&mn[Zn]&&Tr.l>=wn[Zn],mn[Zn]-=Gn?1:0,Gn?Tr.ss:[Tr.s]}).flat()});return ir[0].length===ir[1].length?ir:$t(ir[0],ir[1],Zt,A+1)}function Vt(x,S,f,A,_,k,G,ae){return 3*((ae-S)*(f+_)-(G-x)*(A+k)+A*(x-_)-f*(S-k)+ae*(_+x/3)-G*(k+S/3))/20}function Qt(x){var S=0,f=0,A=0;return wt(x).map(function(_){var k;switch(_[0]){case"M":return S=_[1],f=_[2],0;default:var G=_.slice(1),ae=G[0],ge=G[1],Ue=G[2],rt=G[3],bt=G[4],Zt=G[5];return A=Vt(S,f,ae,ge,Ue,rt,bt,Zt),k=_.slice(-2),S=k[0],f=k[1],A}}).reduce(function(_,k){return _+k},0)}function cn(x){return Qt(x)>=0}function Yn(x){var S=x.slice(1).map(function(f,A,_){return A?_[A-1].slice(-2).concat(f.slice(1)):x[0].slice(1).concat(f.slice(1))}).map(function(f){return f.map(function(A,_){return f[f.length-_-2*(1-_%2)]})}).reverse();return[["M"].concat(S[0].slice(0,2))].concat(S.map(function(f){return["C"].concat(f.slice(2))}))}function qn(x){return x.map(function(S){return Array.isArray(S)?[].concat(S):S})}function Sr(x){var S=x.length,f=S-1;return x.map(function(A,_){return x.map(function(k,G){var ae=_+G,ge;return G===0||x[ae]&&x[ae][0]==="M"?(ge=x[ae],["M"].concat(ge.slice(-2))):(ae>=S&&(ae-=f),x[ae])})})}function Jr(x,S){var f=x.length-1,A=[],_=0,k=0,G=Sr(x);return G.forEach(function(ae,ge){x.slice(1).forEach(function(Ue,rt){k+=(0,Ee.y)(x[(ge+rt)%f].slice(-2),S[rt%f].slice(-2))}),A[ge]=k,k=0}),_=A.indexOf(Math.min.apply(null,A)),G[_]}var vr=b(49527),Ki=b(39934),Mi=b(50264),yi=b(71018),qr=b(93785);function es(x,S,f){return lt(x,S,(0,vt.pi)((0,vt.pi)({},f),{bbox:!1,length:!0})).point}var Ci=b(18642),En=b(71369),rn=b(13750),Xt=b(19606),st=b(73001),dt=b(11576),Wt=b(72054),bn=b(42244);var Jt=function(x){return x.GROUP="g",x.FRAGMENT="fragment",x.CIRCLE="circle",x.ELLIPSE="ellipse",x.IMAGE="image",x.RECT="rect",x.LINE="line",x.POLYLINE="polyline",x.POLYGON="polygon",x.TEXT="text",x.PATH="path",x.HTML="html",x.MESH="mesh",x}({}),ar=function(x){return x[x.ZERO=0]="ZERO",x[x.NEGATIVE_ONE=1]="NEGATIVE_ONE",x}({}),rr=function(){function x(){(0,Z.Z)(this,x),this.plugins=[]}return(0,V.Z)(x,[{key:"addRenderingPlugin",value:function(f){this.plugins.push(f),this.context.renderingPlugins.push(f)}},{key:"removeAllRenderingPlugins",value:function(){var f=this;this.plugins.forEach(function(A){var _=f.context.renderingPlugins.indexOf(A);_>=0&&f.context.renderingPlugins.splice(_,1)})}}])}(),Kr=function(){function x(S){(0,Z.Z)(this,x),this.clipSpaceNearZ=ar.NEGATIVE_ONE,this.plugins=[],this.config=(0,m.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},S)}return(0,V.Z)(x,[{key:"registerPlugin",value:function(f){var A=this.plugins.findIndex(function(_){return _===f});A===-1&&this.plugins.push(f)}},{key:"unregisterPlugin",value:function(f){var A=this.plugins.findIndex(function(_){return _===f});A>-1&&this.plugins.splice(A,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(f){return this.plugins.find(function(A){return A.name===f})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(f){Object.assign(this.config,f)}}])}(),si=D.IH,Ie=D.JG,L=D.Fp,Q=D.VV,w=D.bA,z=D.lu,ie=function(){function x(){(0,Z.Z)(this,x),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,V.Z)(x,[{key:"update",value:function(f,A){Ie(this.center,f),Ie(this.halfExtents,A),z(this.min,this.center,this.halfExtents),si(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(f,A){si(this.center,A,f),w(this.center,this.center,.5),z(this.halfExtents,A,f),w(this.halfExtents,this.halfExtents,.5),Ie(this.min,f),Ie(this.max,A)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(f){if(!x.isEmpty(f)){if(x.isEmpty(this)){this.setMinMax(f.getMin(),f.getMax());return}var A=this.center,_=A[0],k=A[1],G=A[2],ae=this.halfExtents,ge=ae[0],Ue=ae[1],rt=ae[2],bt=_-ge,Zt=_+ge,wn=k-Ue,mn=k+Ue,Gn=G-rt,ir=G+rt,tr=f.center,Zn=tr[0],Tr=tr[1],ni=tr[2],ns=f.halfExtents,is=ns[0],bi=ns[1],Ri=ns[2],Gs=Zn-is,_s=Zn+is,Hs=Tr-bi,Zs=Tr+bi,Ia=ni-Ri,Po=ni+Ri;GsZt&&(Zt=_s),Hsmn&&(mn=Zs),Iair&&(ir=Po),A[0]=(bt+Zt)*.5,A[1]=(wn+mn)*.5,A[2]=(Gn+ir)*.5,ae[0]=(Zt-bt)*.5,ae[1]=(mn-wn)*.5,ae[2]=(ir-Gn)*.5,this.min[0]=bt,this.min[1]=wn,this.min[2]=Gn,this.max[0]=Zt,this.max[1]=mn,this.max[2]=ir}}},{key:"setFromTransformedAABB",value:function(f,A){var _=this.center,k=this.halfExtents,G=f.center,ae=f.halfExtents,ge=A[0],Ue=A[4],rt=A[8],bt=A[1],Zt=A[5],wn=A[9],mn=A[2],Gn=A[6],ir=A[10],tr=Math.abs(ge),Zn=Math.abs(Ue),Tr=Math.abs(rt),ni=Math.abs(bt),ns=Math.abs(Zt),is=Math.abs(wn),bi=Math.abs(mn),Ri=Math.abs(Gn),Gs=Math.abs(ir);_[0]=A[12]+ge*G[0]+Ue*G[1]+rt*G[2],_[1]=A[13]+bt*G[0]+Zt*G[1]+wn*G[2],_[2]=A[14]+mn*G[0]+Gn*G[1]+ir*G[2],k[0]=tr*ae[0]+Zn*ae[1]+Tr*ae[2],k[1]=ni*ae[0]+ns*ae[1]+is*ae[2],k[2]=bi*ae[0]+Ri*ae[1]+Gs*ae[2],z(this.min,_,k),si(this.max,_,k)}},{key:"intersects",value:function(f){var A=this.getMax(),_=this.getMin(),k=f.getMax(),G=f.getMin();return _[0]<=k[0]&&A[0]>=G[0]&&_[1]<=k[1]&&A[1]>=G[1]&&_[2]<=k[2]&&A[2]>=G[2]}},{key:"intersection",value:function(f){if(!this.intersects(f))return null;var A=new x,_=L([0,0,0],this.getMin(),f.getMin()),k=Q([0,0,0],this.getMax(),f.getMax());return A.setMinMax(_,k),A}},{key:"getNegativeFarPoint",value:function(f){return f.pnVertexFlag===273?Ie([0,0,0],this.min):f.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:f.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:f.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:f.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:f.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:f.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(f){return f.pnVertexFlag===273?Ie([0,0,0],this.max):f.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:f.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:f.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:f.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:f.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:f.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(f){return!f||f.halfExtents[0]===0&&f.halfExtents[1]===0&&f.halfExtents[2]===0}}])}(),ze=function(){function x(S,f){(0,Z.Z)(this,x),this.distance=S||0,this.normal=f||D.al(0,1,0),this.updatePNVertexFlag()}return(0,V.Z)(x,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(f){return D.AK(f,this.normal)-this.distance}},{key:"normalize",value:function(){var f=1/D.Zh(this.normal);D.bA(this.normal,this.normal,f),this.distance*=f}},{key:"intersectsLine",value:function(f,A,_){var k=this.distanceToPoint(f),G=this.distanceToPoint(A),ae=k/(k-G),ge=ae>=0&&ae<=1;return ge&&_&&D.t7(_,f,A,ae),ge}}])}(),Je=function(x){return x[x.OUTSIDE=4294967295]="OUTSIDE",x[x.INSIDE=0]="INSIDE",x[x.INDETERMINATE=2147483647]="INDETERMINATE",x}({}),At=function(){function x(S){if((0,Z.Z)(this,x),this.planes=[],S)this.planes=S;else for(var f=0;f<6;f++)this.planes.push(new ze)}return(0,V.Z)(x,[{key:"extractFromVPMatrix",value:function(f){var A=(0,C.Z)(f,16),_=A[0],k=A[1],G=A[2],ae=A[3],ge=A[4],Ue=A[5],rt=A[6],bt=A[7],Zt=A[8],wn=A[9],mn=A[10],Gn=A[11],ir=A[12],tr=A[13],Zn=A[14],Tr=A[15];D.t8(this.planes[0].normal,ae-_,bt-ge,Gn-Zt),this.planes[0].distance=Tr-ir,D.t8(this.planes[1].normal,ae+_,bt+ge,Gn+Zt),this.planes[1].distance=Tr+ir,D.t8(this.planes[2].normal,ae+k,bt+Ue,Gn+wn),this.planes[2].distance=Tr+tr,D.t8(this.planes[3].normal,ae-k,bt-Ue,Gn-wn),this.planes[3].distance=Tr-tr,D.t8(this.planes[4].normal,ae-G,bt-rt,Gn-mn),this.planes[4].distance=Tr-Zn,D.t8(this.planes[5].normal,ae+G,bt+rt,Gn+mn),this.planes[5].distance=Tr+Zn,this.planes.forEach(function(ni){ni.normalize(),ni.updatePNVertexFlag()})}}])}(),xt=function(){function x(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,Z.Z)(this,x),this.x=0,this.y=0,this.x=S,this.y=f}return(0,V.Z)(x,[{key:"clone",value:function(){return new x(this.x,this.y)}},{key:"copyFrom",value:function(f){this.x=f.x,this.y=f.y}}])}(),Sn=function(){function x(S,f,A,_){(0,Z.Z)(this,x),this.x=S,this.y=f,this.width=A,this.height=_,this.left=S,this.right=S+A,this.top=f,this.bottom=f+_}return(0,V.Z)(x,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(f){return new x(f.x,f.y,f.width,f.height)}},{key:"applyTransform",value:function(f,A){var _=X.al(f.x,f.y,0,1),k=X.al(f.x+f.width,f.y,0,1),G=X.al(f.x,f.y+f.height,0,1),ae=X.al(f.x+f.width,f.y+f.height,0,1),ge=X.Ue(),Ue=X.Ue(),rt=X.Ue(),bt=X.Ue();X.fF(ge,_,A),X.fF(Ue,k,A),X.fF(rt,G,A),X.fF(bt,ae,A);var Zt=Math.min(ge[0],Ue[0],rt[0],bt[0]),wn=Math.min(ge[1],Ue[1],rt[1],bt[1]),mn=Math.max(ge[0],Ue[0],rt[0],bt[0]),Gn=Math.max(ge[1],Ue[1],rt[1],bt[1]);return x.fromRect({x:Zt,y:wn,width:mn-Zt,height:Gn-wn})}}])}(),Oe="Method not implemented.",Qe="Use document.documentElement instead.",Re="Cannot append a destroyed element.";function Ke(x){return x===void 0?0:x>360||x<-360?x%360:x}var gt=D.Ue();function tn(x){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(x)&&x.length===3?A?D.d9(x):D.JG(gt,x):(0,ve.Z)(x)?A?D.al(x,S,f):D.t8(gt,x,S,f):A?D.al(x[0],x[1]||S,x[2]||f):D.t8(gt,x[0],x[1]||S,x[2]||f)}var yt=Math.PI/180;function Yt(x){return x*yt}var Rn=180/Math.PI;function er(x){return x*Rn}var Jn=.9;function kr(x){return x%=400,x<0&&(x+=400),x*Jn}function fr(x){return x/360}function wr(x){return 360*x}var ei=Math.PI/2;function _n(x,S){var f=S[0],A=S[1],_=S[2],k=S[3],G=f*f,ae=A*A,ge=_*_,Ue=k*k,rt=G+ae+ge+Ue,bt=f*k-A*_;return bt>.499995*rt?(x[0]=ei,x[1]=2*Math.atan2(A,f),x[2]=0):bt<-.499995*rt?(x[0]=-ei,x[1]=2*Math.atan2(A,f),x[2]=0):(x[0]=Math.asin(2*(f*_-k*A)),x[1]=Math.atan2(2*(f*k+A*_),1-2*(ge+Ue)),x[2]=Math.atan2(2*(f*A+_*k),1-2*(ae+ge))),x}function jn(x,S){var f,A,_=j.getScaling(D.Ue(),S),k=(0,C.Z)(_,3),G=k[0],ae=k[1],ge=k[2],Ue=Math.asin(-S[2]/G);return Ue-ei?(f=Math.atan2(S[6]/ae,S[10]/ge),A=Math.atan2(S[1]/G,S[0]/G)):(A=0,f=-Math.atan2(S[4]/ae,S[5]/ae)):(A=0,f=Math.atan2(S[4]/ae,S[5]/ae)),x[0]=f,x[1]=Ue,x[2]=A,x}function Hr(x,S){return S.length===16?jn(x,S):_n(x,S)}function Pr(x,S,f,A,_){var k=Math.cos(x),G=Math.sin(x);return de.al(A*k,_*G,0,-A*G,_*k,0,S,f,1)}function $i(x,S,f,A,_,k,G){var ae=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,ge=2*k,Ue=f-S,rt=A-_,bt=ge/Ue,Zt=ge/rt,wn=(f+S)/Ue,mn=(A+_)/rt,Gn,ir,tr=G-k,Zn=G*k;return ae?(Gn=-G/tr,ir=-Zn/tr):(Gn=-(G+k)/tr,ir=-2*Zn/tr),x[0]=bt,x[1]=0,x[2]=0,x[3]=0,x[4]=0,x[5]=Zt,x[6]=0,x[7]=0,x[8]=wn,x[9]=mn,x[10]=Gn,x[11]=-1,x[12]=0,x[13]=0,x[14]=ir,x[15]=0,x}function Zi(x){var S=x[0],f=x[1],A=x[3],_=x[4],k=Math.sqrt(S*S+f*f),G=Math.sqrt(A*A+_*_),ae=S*_-f*A;if(ae<0&&(S<_?k=-k:G=-G),k){var ge=1/k;S*=ge,f*=ge}if(G){var Ue=1/G;A*=Ue,_*=Ue}var rt=Math.atan2(f,S),bt=er(rt);return[x[6],x[7],k,G,bt]}var Xi=j.create(),Ei=j.create(),ms=X.Ue(),_i=[D.Ue(),D.Ue(),D.Ue()],Es=D.Ue();function ua(x,S,f,A,_,k){if(!Hn(Xi,x)||(j.copy(Ei,Xi),Ei[3]=0,Ei[7]=0,Ei[11]=0,Ei[15]=1,Math.abs(j.determinant(Ei))<1e-8))return!1;var G=Xi[3],ae=Xi[7],ge=Xi[11],Ue=Xi[12],rt=Xi[13],bt=Xi[14],Zt=Xi[15];if(G!==0||ae!==0||ge!==0){ms[0]=G,ms[1]=ae,ms[2]=ge,ms[3]=Zt;var wn=j.invert(Ei,Ei);if(!wn)return!1;j.transpose(Ei,Ei),X.fF(_,ms,Ei)}else _[0]=_[1]=_[2]=0,_[3]=1;if(S[0]=Ue,S[1]=rt,S[2]=bt,Pt(_i,Xi),f[0]=D.kE(_i[0]),D.Fv(_i[0],_i[0]),A[0]=D.AK(_i[0],_i[1]),Gt(_i[1],_i[1],_i[0],1,-A[0]),f[1]=D.kE(_i[1]),D.Fv(_i[1],_i[1]),A[0]/=f[1],A[1]=D.AK(_i[0],_i[2]),Gt(_i[2],_i[2],_i[0],1,-A[1]),A[2]=D.AK(_i[1],_i[2]),Gt(_i[2],_i[2],_i[1],1,-A[2]),f[2]=D.kE(_i[2]),D.Fv(_i[2],_i[2]),A[1]/=f[2],A[2]/=f[2],D.kC(Es,_i[1],_i[2]),D.AK(_i[0],Es)<0)for(var mn=0;mn<3;mn++)f[mn]*=-1,_i[mn][0]*=-1,_i[mn][1]*=-1,_i[mn][2]*=-1;return k[0]=.5*Math.sqrt(Math.max(1+_i[0][0]-_i[1][1]-_i[2][2],0)),k[1]=.5*Math.sqrt(Math.max(1-_i[0][0]+_i[1][1]-_i[2][2],0)),k[2]=.5*Math.sqrt(Math.max(1-_i[0][0]-_i[1][1]+_i[2][2],0)),k[3]=.5*Math.sqrt(Math.max(1+_i[0][0]+_i[1][1]+_i[2][2],0)),_i[2][1]>_i[1][2]&&(k[0]=-k[0]),_i[0][2]>_i[2][0]&&(k[1]=-k[1]),_i[1][0]>_i[0][1]&&(k[2]=-k[2]),!0}function Hn(x,S){var f=S[15];if(f===0)return!1;for(var A=1/f,_=0;_<16;_++)x[_]=S[_]*A;return!0}function Pt(x,S){x[0][0]=S[0],x[0][1]=S[1],x[0][2]=S[2],x[1][0]=S[4],x[1][1]=S[5],x[1][2]=S[6],x[2][0]=S[8],x[2][1]=S[9],x[2][2]=S[10]}function Gt(x,S,f,A,_){x[0]=S[0]*A+f[0]*_,x[1]=S[1]*A+f[1]*_,x[2]=S[2]*A+f[2]*_}var Bt=function(x){return x[x.ORBITING=0]="ORBITING",x[x.EXPLORING=1]="EXPLORING",x[x.TRACKING=2]="TRACKING",x}({}),yn=function(x){return x[x.DEFAULT=0]="DEFAULT",x[x.ROTATIONAL=1]="ROTATIONAL",x[x.TRANSLATIONAL=2]="TRANSLATIONAL",x[x.CINEMATIC=3]="CINEMATIC",x}({}),Ln=function(x){return x[x.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",x[x.PERSPECTIVE=1]="PERSPECTIVE",x}({}),gr={UPDATED:"updated"},Rr=2e-4,$r=function(){function x(){(0,Z.Z)(this,x),this.clipSpaceNearZ=ar.NEGATIVE_ONE,this.eventEmitter=new H,this.matrix=j.create(),this.right=D.al(1,0,0),this.up=D.al(0,1,0),this.forward=D.al(0,0,1),this.position=D.al(0,0,1),this.focalPoint=D.al(0,0,0),this.distanceVector=D.al(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=j.create(),this.projectionMatrixInverse=j.create(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Bt.EXPLORING,this.trackingMode=yn.DEFAULT,this.projectionMode=Ln.PERSPECTIVE,this.frustum=new At,this.orthoMatrix=j.create()}return(0,V.Z)(x,[{key:"isOrtho",value:function(){return this.projectionMode===Ln.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(f){this.enableUpdate=f}},{key:"setType",value:function(f,A){return this.type=f,this.type===Bt.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Bt.TRACKING&&A!==void 0&&this.setTrackingMode(A),this}},{key:"setProjectionMode",value:function(f){return this.projectionMode=f,this}},{key:"setTrackingMode",value:function(f){if(this.type!==Bt.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=f,this}},{key:"setWorldRotation",value:function(f){return this.rotateWorld=f,this._getAngles(),this}},{key:"getViewTransform",value:function(){return j.invert(j.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(f,A){var _=j.fromTranslation(j.create(),[f,A,0]);this.jitteredProjectionMatrix=j.multiply(j.create(),_,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(f){return this.matrix=f,this._update(),this}},{key:"setProjectionMatrix",value:function(f){this.projectionMatrix=f}},{key:"setFov",value:function(f){return this.setPerspective(this.near,this.far,f,this.aspect),this}},{key:"setAspect",value:function(f){return this.setPerspective(this.near,this.far,this.fov,f),this}},{key:"setNear",value:function(f){return this.projectionMode===Ln.PERSPECTIVE?this.setPerspective(f,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,f,this.far),this}},{key:"setFar",value:function(f){return this.projectionMode===Ln.PERSPECTIVE?this.setPerspective(this.near,f,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,f),this}},{key:"setViewOffset",value:function(f,A,_,k,G,ae){return this.aspect=f/A,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=f,this.view.fullHeight=A,this.view.offsetX=_,this.view.offsetY=k,this.view.width=G,this.view.height=ae,this.projectionMode===Ln.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===Ln.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(f){return this.zoom=f,this.projectionMode===Ln.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Ln.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(f,A){var _=this.canvas.viewport2Canvas({x:A[0],y:A[1]}),k=_.x,G=_.y,ae=this.roll;this.rotate(0,0,-ae),this.setPosition(k,G),this.setFocalPoint(k,G),this.setZoom(f),this.rotate(0,0,ae);var ge=this.canvas.viewport2Canvas({x:A[0],y:A[1]}),Ue=ge.x,rt=ge.y,bt=D.al(Ue-k,rt-G,0),Zt=D.AK(bt,this.right)/D.kE(this.right),wn=D.AK(bt,this.up)/D.kE(this.up),mn=this.getPosition(),Gn=(0,C.Z)(mn,2),ir=Gn[0],tr=Gn[1],Zn=this.getFocalPoint(),Tr=(0,C.Z)(Zn,2),ni=Tr[0],ns=Tr[1];return this.setPosition(ir-Zt,tr-wn),this.setFocalPoint(ni-Zt,ns-wn),this}},{key:"setPerspective",value:function(f,A,_,k){var G;this.projectionMode=Ln.PERSPECTIVE,this.fov=_,this.near=f,this.far=A,this.aspect=k;var ae=this.near*Math.tan(Yt(.5*this.fov))/this.zoom,ge=2*ae,Ue=this.aspect*ge,rt=-.5*Ue;if((G=this.view)!==null&&G!==void 0&&G.enabled){var bt=this.view.fullWidth,Zt=this.view.fullHeight;rt+=this.view.offsetX*Ue/bt,ae-=this.view.offsetY*ge/Zt,Ue*=this.view.width/bt,ge*=this.view.height/Zt}return $i(this.projectionMatrix,rt,rt+Ue,ae-ge,ae,f,this.far,this.clipSpaceNearZ===ar.ZERO),j.invert(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(f,A,_,k,G,ae){var ge;this.projectionMode=Ln.ORTHOGRAPHIC,this.rright=A,this.left=f,this.top=_,this.bottom=k,this.near=G,this.far=ae;var Ue=(this.rright-this.left)/(2*this.zoom),rt=(this.top-this.bottom)/(2*this.zoom),bt=(this.rright+this.left)/2,Zt=(this.top+this.bottom)/2,wn=bt-Ue,mn=bt+Ue,Gn=Zt+rt,ir=Zt-rt;if((ge=this.view)!==null&&ge!==void 0&&ge.enabled){var tr=(this.rright-this.left)/this.view.fullWidth/this.zoom,Zn=(this.top-this.bottom)/this.view.fullHeight/this.zoom;wn+=tr*this.view.offsetX,mn=wn+tr*this.view.width,Gn-=Zn*this.view.offsetY,ir=Gn-Zn*this.view.height}return this.clipSpaceNearZ===ar.NEGATIVE_ONE?j.ortho(this.projectionMatrix,wn,mn,Gn,ir,G,ae):j.orthoZO(this.projectionMatrix,wn,mn,Gn,ir,G,ae),j.invert(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(f){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],k=tn(f,A,_);return this._setPosition(k),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(f){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],k=D.al(0,1,0);if(this.focalPoint=tn(f,A,_),this.trackingMode===yn.CINEMATIC){var G=D.$X(D.Ue(),this.focalPoint,this.position);f=G[0],A=G[1],_=G[2];var ae=D.kE(G),ge=er(Math.asin(A/ae)),Ue=90+er(Math.atan2(_,f)),rt=j.create();j.rotateY(rt,rt,Yt(Ue)),j.rotateX(rt,rt,Yt(ge)),k=D.fF(D.Ue(),[0,1,0],rt)}return j.invert(this.matrix,j.lookAt(j.create(),this.position,this.focalPoint,k)),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(f){if(this.distance===f||f<0)return this;this.distance=f,this.distance>8&15|S>>4&240,S>>4&15|S&240,(S&15)<<4|S&15,1):f===8?ou(S>>24&255,S>>16&255,S>>8&255,(S&255)/255):f===4?ou(S>>12&15|S>>8&240,S>>8&15|S>>4&240,S>>4&15|S&240,((S&15)<<4|S&15)/255):null):(S=Lu.exec(x))?new Xo(S[1],S[2],S[3],1):(S=ao.exec(x))?new Xo(S[1]*255/100,S[2]*255/100,S[3]*255/100,1):(S=sl.exec(x))?ou(S[1],S[2],S[3],S[4]):(S=No.exec(x))?ou(S[1]*255/100,S[2]*255/100,S[3]*255/100,S[4]):(S=Uu.exec(x))?gd(S[1],S[2]/100,S[3]/100,1):(S=ws.exec(x))?gd(S[1],S[2]/100,S[3]/100,S[4]):Kh.hasOwnProperty(x)?pu(Kh[x]):x==="transparent"?new Xo(NaN,NaN,NaN,0):null}function pu(x){return new Xo(x>>16&255,x>>8&255,x&255,1)}function ou(x,S,f,A){return A<=0&&(x=S=f=NaN),new Xo(x,S,f,A)}function Ad(x){return x instanceof Ko||(x=sc(x)),x?(x=x.rgb(),new Xo(x.r,x.g,x.b,x.opacity)):new Xo}function hf(x,S,f,A){return arguments.length===1?Ad(x):new Xo(x,S,f,A==null?1:A)}function Xo(x,S,f,A){this.r=+x,this.g=+S,this.b=+f,this.opacity=+A}$a(Xo,hf,Zo(Ko,{brighter(x){return x=x==null?bo:Math.pow(bo,x),new Xo(this.r*x,this.g*x,this.b*x,this.opacity)},darker(x){return x=x==null?$o:Math.pow($o,x),new Xo(this.r*x,this.g*x,this.b*x,this.opacity)},rgb(){return this},clamp(){return new Xo(Vc(this.r),Vc(this.g),Vc(this.b),Ah(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:fh,formatHex:fh,formatHex8:Qf,formatRgb:pd,toString:pd}));function fh(){return`#${jo(this.r)}${jo(this.g)}${jo(this.b)}`}function Qf(){return`#${jo(this.r)}${jo(this.g)}${jo(this.b)}${jo((isNaN(this.opacity)?1:this.opacity)*255)}`}function pd(){const x=Ah(this.opacity);return`${x===1?"rgb(":"rgba("}${Vc(this.r)}, ${Vc(this.g)}, ${Vc(this.b)}${x===1?")":`, ${x})`}`}function Ah(x){return isNaN(x)?1:Math.max(0,Math.min(1,x))}function Vc(x){return Math.max(0,Math.min(255,Math.round(x)||0))}function jo(x){return x=Vc(x),(x<16?"0":"")+x.toString(16)}function gd(x,S,f,A){return A<=0?x=S=f=NaN:f<=0||f>=1?x=S=NaN:S<=0&&(x=NaN),new oo(x,S,f,A)}function lu(x){if(x instanceof oo)return new oo(x.h,x.s,x.l,x.opacity);if(x instanceof Ko||(x=sc(x)),!x)return new oo;if(x instanceof oo)return x;x=x.rgb();var S=x.r/255,f=x.g/255,A=x.b/255,_=Math.min(S,f,A),k=Math.max(S,f,A),G=NaN,ae=k-_,ge=(k+_)/2;return ae?(S===k?G=(f-A)/ae+(f0&&ge<1?0:G,new oo(G,ae,ge,x.opacity)}function gu(x,S,f,A){return arguments.length===1?lu(x):new oo(x,S,f,A==null?1:A)}function oo(x,S,f,A){this.h=+x,this.s=+S,this.l=+f,this.opacity=+A}$a(oo,gu,Zo(Ko,{brighter(x){return x=x==null?bo:Math.pow(bo,x),new oo(this.h,this.s,this.l*x,this.opacity)},darker(x){return x=x==null?$o:Math.pow($o,x),new oo(this.h,this.s,this.l*x,this.opacity)},rgb(){var x=this.h%360+(this.h<0)*360,S=isNaN(x)||isNaN(this.s)?0:this.s,f=this.l,A=f+(f<.5?f:1-f)*S,_=2*f-A;return new Xo(ph(x>=240?x-240:x+120,_,A),ph(x,_,A),ph(x<120?x+240:x-120,_,A),this.opacity)},clamp(){return new oo(Ic(this.h),jc(this.s),jc(this.l),Ah(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 x=Ah(this.opacity);return`${x===1?"hsl(":"hsla("}${Ic(this.h)}, ${jc(this.s)*100}%, ${jc(this.l)*100}%${x===1?")":`, ${x})`}`}}));function Ic(x){return x=(x||0)%360,x<0?x+360:x}function jc(x){return Math.max(0,Math.min(1,x||0))}function ph(x,S,f){return(x<60?S+(f-S)*x/60:x<180?f:x<240?S+(f-S)*(240-x)/60:S)*255}function Lo(x,S){if(typeof x!="function"||S!=null&&typeof S!="function")throw new TypeError("Expected a function");var f=function(){for(var _=arguments.length,k=new Array(_),G=0;G<_;G++)k[G]=arguments[G];var ae=S?S.apply(this,k):k[0],ge=f.cache;if(ge.has(ae))return ge.get(ae);var Ue=x.apply(this,k);return f.cache=ge.set(ae,Ue)||ge,Ue};return f.cache=new(Lo.Cache||Map),Lo.cacheList.push(f.cache),f}Lo.Cache=Map,Lo.cacheList=[],Lo.clearCache=function(){Lo.cacheList.forEach(function(x){return x.clear()})};var Ji=function(x){return x[x.kUnknown=0]="kUnknown",x[x.kNumber=1]="kNumber",x[x.kPercentage=2]="kPercentage",x[x.kEms=3]="kEms",x[x.kPixels=4]="kPixels",x[x.kRems=5]="kRems",x[x.kDegrees=6]="kDegrees",x[x.kRadians=7]="kRadians",x[x.kGradians=8]="kGradians",x[x.kTurns=9]="kTurns",x[x.kMilliseconds=10]="kMilliseconds",x[x.kSeconds=11]="kSeconds",x[x.kInteger=12]="kInteger",x}({}),$u=function(x){return x[x.kUNumber=0]="kUNumber",x[x.kUPercent=1]="kUPercent",x[x.kULength=2]="kULength",x[x.kUAngle=3]="kUAngle",x[x.kUTime=4]="kUTime",x[x.kUOther=5]="kUOther",x}({}),gh=function(x){return x[x.kYes=0]="kYes",x[x.kNo=1]="kNo",x}({}),mh=function(x){return x[x.kYes=0]="kYes",x[x.kNo=1]="kNo",x}({}),np=[{name:"em",unit_type:Ji.kEms},{name:"px",unit_type:Ji.kPixels},{name:"deg",unit_type:Ji.kDegrees},{name:"rad",unit_type:Ji.kRadians},{name:"grad",unit_type:Ji.kGradians},{name:"ms",unit_type:Ji.kMilliseconds},{name:"s",unit_type:Ji.kSeconds},{name:"rem",unit_type:Ji.kRems},{name:"turn",unit_type:Ji.kTurns}],vh=function(x){return x[x.kUnknownType=0]="kUnknownType",x[x.kUnparsedType=1]="kUnparsedType",x[x.kKeywordType=2]="kKeywordType",x[x.kUnitType=3]="kUnitType",x[x.kSumType=4]="kSumType",x[x.kProductType=5]="kProductType",x[x.kNegateType=6]="kNegateType",x[x.kInvertType=7]="kInvertType",x[x.kMinType=8]="kMinType",x[x.kMaxType=9]="kMaxType",x[x.kClampType=10]="kClampType",x[x.kTransformType=11]="kTransformType",x[x.kPositionType=12]="kPositionType",x[x.kURLImageType=13]="kURLImageType",x[x.kColorType=14]="kColorType",x[x.kUnsupportedColorType=15]="kUnsupportedColorType",x}({}),Cu=function(S){return np.find(function(f){return f.name===S}).unit_type},zc=function(S){return S?S==="number"?Ji.kNumber:S==="percent"||S==="%"?Ji.kPercentage:Cu(S):Ji.kUnknown},Ul=function(S){switch(S){case Ji.kNumber:case Ji.kInteger:return $u.kUNumber;case Ji.kPercentage:return $u.kUPercent;case Ji.kPixels:return $u.kULength;case Ji.kMilliseconds:case Ji.kSeconds:return $u.kUTime;case Ji.kDegrees:case Ji.kRadians:case Ji.kGradians:case Ji.kTurns:return $u.kUAngle;default:return $u.kUOther}},Xl=function(S){switch(S){case $u.kUNumber:return Ji.kNumber;case $u.kULength:return Ji.kPixels;case $u.kUPercent:return Ji.kPercentage;case $u.kUTime:return Ji.kSeconds;case $u.kUAngle:return Ji.kDegrees;default:return Ji.kUnknown}},Uo=function(S){var f=1;switch(S){case Ji.kPixels:case Ji.kDegrees:case Ji.kSeconds:break;case Ji.kMilliseconds:f=.001;break;case Ji.kRadians:f=180/Math.PI;break;case Ji.kGradians:f=.9;break;case Ji.kTurns:f=360;break}return f},Ld=function(S){switch(S){case Ji.kNumber:case Ji.kInteger:return"";case Ji.kPercentage:return"%";case Ji.kEms:return"em";case Ji.kRems:return"rem";case Ji.kPixels:return"px";case Ji.kDegrees:return"deg";case Ji.kRadians:return"rad";case Ji.kGradians:return"grad";case Ji.kMilliseconds:return"ms";case Ji.kSeconds:return"s";case Ji.kTurns:return"turn"}return""},Yc=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"toString",value:function(){return this.buildCSSText(gh.kNo,mh.kNo,"")}},{key:"isNumericValue",value:function(){return this.getType()>=vh.kUnitType&&this.getType()<=vh.kClampType}}],[{key:"isAngle",value:function(f){return f===Ji.kDegrees||f===Ji.kRadians||f===Ji.kGradians||f===Ji.kTurns}},{key:"isLength",value:function(f){return f>=Ji.kEms&&f1&&arguments[1]!==void 0?arguments[1]:"",A="";return Number.isFinite(S)?A="NaN":S>0?A="infinity":A="-infinity",A+=f},Oo=function(S){return Xl(Ul(S))},Bo=function(x){function S(f){var A,_=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ji.kNumber;(0,Z.Z)(this,S),A=(0,E.Z)(this,S);var k;return typeof _=="string"?k=zc(_):k=_,A.unit=k,A.value=f,A}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"clone",value:function(){return new S(this.value,this.unit)}},{key:"equals",value:function(A){var _=A;return this.value===_.value&&this.unit===_.unit}},{key:"getType",value:function(){return vh.kUnitType}},{key:"convertTo",value:function(A){if(this.unit===A)return new S(this.value,this.unit);var _=Oo(this.unit);if(_!==Oo(A)||_===Ji.kUnknown)return null;var k=Uo(this.unit)/Uo(A);return new S(this.value*k,A)}},{key:"buildCSSText",value:function(A,_,k){var G;switch(this.unit){case Ji.kUnknown:break;case Ji.kInteger:G=Number(this.value).toFixed(0);break;case Ji.kNumber:case Ji.kPercentage:case Ji.kEms:case Ji.kRems:case Ji.kPixels:case Ji.kDegrees:case Ji.kRadians:case Ji.kGradians:case Ji.kMilliseconds:case Ji.kSeconds:case Ji.kTurns:{var ae=-999999,ge=999999,Ue=this.value,rt=Ld(this.unit);if(Uege){var bt=Ld(this.unit);!Number.isFinite(Ue)||Number.isNaN(Ue)?G=mu(Ue,bt):G=Ue+(bt||"")}else G="".concat(Ue).concat(rt)}}return k+=G,k}}])}(Yc),_o=new Bo(0,"px");new Bo(1,"px");var na=new Bo(0,"deg"),Wa=function(x){function S(f,A,_){var k,G=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,ae=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,Z.Z)(this,S),k=(0,E.Z)(this,S,["rgb"]),k.r=f,k.g=A,k.b=_,k.alpha=G,k.isNone=ae,k}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"clone",value:function(){return new S(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(A,_,k){return"".concat(k,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(gl),yh=new Xu("unset"),Yo=new Xu("initial"),Tu=new Xu("inherit"),uu={"":yh,unset:yh,initial:Yo,inherit:Tu},wc=function(S){return uu[S]||(uu[S]=new Xu(S)),uu[S]},ac=new Wa(0,0,0,0,!0),Lr=new Wa(0,0,0,0),Gr=Lo(function(x,S,f,A){return new Wa(x,S,f,A)},function(x,S,f,A){return"rgba(".concat(x,",").concat(S,",").concat(f,",").concat(A,")")}),ki=function(S){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ji.kNumber;return new Bo(S,f)};new Bo(50,"%");function ju(x){var S=x.type,f=x.value;return S==="hex"?"#".concat(f):S==="literal"?f:S==="rgb"?"rgb(".concat(f.join(","),")"):"rgba(".concat(f.join(","),")")}var bl=function(){var x={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]+\.?))/},S="";function f(Ys){throw new Error("".concat(S,": ").concat(Ys))}function A(){var Ys=_();return S.length>0&&f("Invalid input not EOF"),Ys}function _(){return Tr(k)}function k(){return G("linear-gradient",x.linearGradient,ge)||G("repeating-linear-gradient",x.repeatingLinearGradient,ge)||G("radial-gradient",x.radialGradient,bt)||G("repeating-radial-gradient",x.repeatingRadialGradient,bt)||G("conic-gradient",x.conicGradient,bt)}function G(Ys,U,R){return ae(U,function($){var K=R();return K&&(Ml(x.comma)||f("Missing comma before color stops")),{type:Ys,orientation:K,colorStops:Tr(ni)}})}function ae(Ys,U){var R=Ml(Ys);if(R){Ml(x.startCall)||f("Missing (");var $=U(R);return Ml(x.endCall)||f("Missing )"),$}}function ge(){return Ue()||rt()}function Ue(){return Po("directional",x.sideOrCorner,1)}function rt(){return Po("angular",x.angleValue,1)}function bt(){var Ys,U=Zt(),R;return U&&(Ys=[],Ys.push(U),R=S,Ml(x.comma)&&(U=Zt(),U?Ys.push(U):S=R)),Ys}function Zt(){var Ys=wn()||mn();if(Ys)Ys.at=ir();else{var U=Gn();if(U){Ys=U;var R=ir();R&&(Ys.at=R)}else{var $=tr();$&&(Ys={type:"default-radial",at:$})}}return Ys}function wn(){var Ys=Po("shape",/^(circle)/i,0);return Ys&&(Ys.style=Ia()||Gn()),Ys}function mn(){var Ys=Po("shape",/^(ellipse)/i,0);return Ys&&(Ys.style=Hs()||Gn()),Ys}function Gn(){return Po("extent-keyword",x.extentKeywords,1)}function ir(){if(Po("position",/^at/,0)){var Ys=tr();return Ys||f("Missing positioning value"),Ys}}function tr(){var Ys=Zn();if(Ys.x||Ys.y)return{type:"position",value:Ys}}function Zn(){return{x:Hs(),y:Hs()}}function Tr(Ys){var U=Ys(),R=[];if(U)for(R.push(U);Ml(x.comma);)U=Ys(),U?R.push(U):f("One extra comma");return R}function ni(){var Ys=ns();return Ys||f("Expected color definition"),Ys.length=Hs(),Ys}function ns(){return bi()||Gs()||Ri()||is()}function is(){return Po("literal",x.literalColor,0)}function bi(){return Po("hex",x.hexColor,1)}function Ri(){return ae(x.rgbColor,function(){return{type:"rgb",value:Tr(_s)}})}function Gs(){return ae(x.rgbaColor,function(){return{type:"rgba",value:Tr(_s)}})}function _s(){return Ml(x.number)[1]}function Hs(){return Po("%",x.percentageValue,1)||Zs()||Ia()}function Zs(){return Po("position-keyword",x.positionKeywords,1)}function Ia(){return Po("px",x.pixelValue,1)||Po("em",x.emValue,1)}function Po(Ys,U,R){var $=Ml(U);if($)return{type:Ys,value:$[R]}}function Ml(Ys){var U=/^[\n\r\t\s]+/.exec(S);U&&El(U[0].length);var R=Ys.exec(S);return R&&El(R[0].length),R}function El(Ys){S=S.substring(Ys)}return function(Ys){return S=Ys,A()}}();function qo(x,S,f,A){var _=Yt(A.value),k=0,G=0,ae=k+S/2,ge=G+f/2,Ue=Math.abs(S*Math.cos(_))+Math.abs(f*Math.sin(_)),rt=x[0]+ae-Math.cos(_)*Ue/2,bt=x[1]+ge-Math.sin(_)*Ue/2,Zt=x[0]+ae+Math.cos(_)*Ue/2,wn=x[1]+ge+Math.sin(_)*Ue/2;return{x1:rt,y1:bt,x2:Zt,y2:wn}}function Go(x,S,f,A,_,k){var G=A.value,ae=_.value;A.unit===Ji.kPercentage&&(G=A.value/100*S),_.unit===Ji.kPercentage&&(ae=_.value/100*f);var ge=Math.max((0,Ee.y)([0,0],[G,ae]),(0,Ee.y)([0,f],[G,ae]),(0,Ee.y)([S,f],[G,ae]),(0,Ee.y)([S,0],[G,ae]));return k&&(k instanceof Bo?ge=k.value:k instanceof Xu&&(k.value==="closest-side"?ge=Math.min(G,S-G,ae,f-ae):k.value==="farthest-side"?ge=Math.max(G,S-G,ae,f-ae):k.value==="closest-corner"&&(ge=Math.min((0,Ee.y)([0,0],[G,ae]),(0,Ee.y)([0,f],[G,ae]),(0,Ee.y)([S,f],[G,ae]),(0,Ee.y)([S,0],[G,ae]))))),{x:G+x[0],y:ae+x[1],r:ge}}var Ou=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,Oh=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,oc=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,Ca=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function Ud(x){var S,f=x.length;if(x[f-1].length=(S=x[f-1].length)!==null&&S!==void 0?S:{type:"%",value:"100"},f>1){var A;x[0].length=(A=x[0].length)!==null&&A!==void 0?A:{type:"%",value:"0"}}for(var _=0,k=Number(x[0].length.value),G=1;G-1||x.indexOf("radial")>-1){var S=bl(x);return S.map(function(ae){var ge=ae.type,Ue=ae.orientation,rt=ae.colorStops;Ud(rt);var bt=rt.map(function(Tr){return{offset:ki(Number(Tr.length.value),"%"),color:ju(Tr)}});if(ge==="linear-gradient")return new ml(To.LinearGradient,{angle:Ue?Xh(Ue):na,steps:bt});if(ge==="radial-gradient"&&(Ue||(Ue=[{type:"shape",value:"circle"}]),Ue[0].type==="shape"&&Ue[0].value==="circle")){var Zt=lc(Ue[0].at),wn=Zt.cx,mn=Zt.cy,Gn;if(Ue[0].style){var ir=Ue[0].style,tr=ir.type,Zn=ir.value;tr==="extent-keyword"?Gn=wc(Zn):Gn=ki(Zn,tr)}return new ml(To.RadialGradient,{cx:wn,cy:mn,size:Gn,steps:bt})}})}var f=x[0];if(x[1]==="("||x[2]==="("){if(f==="l"){var A=Ou.exec(x);if(A){var _,k=((_=A[2].match(Ca))===null||_===void 0?void 0:_.map(function(ae){return ae.split(":")}))||[];return[new ml(To.LinearGradient,{angle:ki(parseFloat(A[1]),"deg"),steps:k.map(function(ae){var ge=(0,C.Z)(ae,2),Ue=ge[0],rt=ge[1];return{offset:ki(Number(Ue)*100,"%"),color:rt}})})]}}else if(f==="r"){var G=Od(x);if(G)if((0,Fe.Z)(G))x=G;else return[new ml(To.RadialGradient,G)]}else if(f==="p")return jh(x)}});function Od(x){var S=Oh.exec(x);if(S){var f,A=((f=S[4].match(Ca))===null||f===void 0?void 0:f.map(function(_){return _.split(":")}))||[];return{cx:ki(50,"%"),cy:ki(50,"%"),steps:A.map(function(_){var k=(0,C.Z)(_,2),G=k[0],ae=k[1];return{offset:ki(Number(G)*100,"%"),color:ae}})}}return null}function jh(x){var S=oc.exec(x);if(S){var f=S[1],A=S[2];switch(f){case"a":f="repeat";break;case"x":f="repeat-x";break;case"y":f="repeat-y";break;case"n":f="no-repeat";break;default:f="no-repeat"}return{image:A,repetition:f}}return null}function SA(x){return!!x.type&&!!x.value}function md(x){return x&&!!x.image}function vd(x){return x&&!(0,$e.Z)(x.r)&&!(0,$e.Z)(x.g)&&!(0,$e.Z)(x.b)}var mo=Lo(function(x){if(md(x))return(0,m.Z)({repetition:"repeat"},x);if((0,$e.Z)(x)&&(x=""),x==="transparent")return Lr;if(x==="currentColor")x="black";else if(x==="none")return ac;var S=wA(x);if(S)return S;var f=sc(x),A=[0,0,0,0];return f!==null&&(A[0]=f.r||0,A[1]=f.g||0,A[2]=f.b||0,A[3]=f.opacity),Gr.apply(void 0,A)});function wa(x,S){if(!(!vd(x)||!vd(S)))return[[Number(x.r),Number(x.g),Number(x.b),Number(x.alpha)],[Number(S.r),Number(S.g),Number(S.b),Number(S.alpha)],function(f){var A=f.slice();if(A[3])for(var _=0;_<3;_++)A[_]=Math.round((0,ct.Z)(A[_],0,255));return A[3]=(0,ct.Z)(A[3],0,1),"rgba(".concat(A.join(","),")")}]}function Dd(x,S){if((0,$e.Z)(S))return ki(0,"px");if(S="".concat(S).trim().toLowerCase(),isFinite(Number(S))){if("px".search(x)>=0)return ki(Number(S),"px");if("deg".search(x)>=0)return ki(Number(S),"deg")}var f=[];S=S.replace(x,function(_){return f.push(_),"U".concat(_)});var A="U(".concat(x.source,")");return f.map(function(_){return ki(Number(S.replace(new RegExp("U".concat(_),"g"),"").replace(new RegExp(A,"g"),"*0")),_)})[0]}var qi=function(S){return Dd(new RegExp("px","g"),S)},Du=Lo(qi),kn=function(S){return Dd(new RegExp("%","g"),S)};Lo(kn);var kd=function(S){return(0,ve.Z)(S)||isFinite(Number(S))?ki(Number(S)||0,"px"):Dd(new RegExp("px|%|em|rem","g"),S)},Yh=Lo(kd),vl=function(S){return Dd(new RegExp("deg|rad|grad|turn","g"),S)},He=Lo(vl);function me(x,S,f,A){var _=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,k="",G=x.value||0,ae=S.value||0,ge=Oo(x.unit),Ue=x.convertTo(ge),rt=S.convertTo(ge);return Ue&&rt?(G=Ue.value,ae=rt.value,k=Ld(x.unit)):(Bo.isLength(x.unit)||Bo.isLength(S.unit))&&(G=le(x,_,f),ae=le(S,_,f),k="px"),[G,ae,function(bt){return A&&(bt=Math.max(bt,0)),bt+k}]}function ce(x){var S=0;return x.unit===Ji.kDegrees?S=x.value:x.unit===Ji.kRadians?S=er(Number(x.value)):x.unit===Ji.kTurns?S=wr(Number(x.value)):x.value&&(S=x.value),S}function Ze(x,S){var f;return Array.isArray(x)?f=x.map(function(A){return Number(A)}):(0,Fe.Z)(x)?f=x.split(" ").map(function(A){return Number(A)}):(0,ve.Z)(x)&&(f=[x]),S===2?f.length===1?[f[0],f[0]]:[f[0],f[1]]:S===4?f.length===1?[f[0],f[0],f[0],f[0]]:f.length===2?[f[0],f[1],f[0],f[1]]:f.length===3?[f[0],f[1],f[2],f[1]]:[f[0],f[1],f[2],f[3]]:S==="even"&&f.length%2===1?[].concat((0,N.Z)(f),(0,N.Z)(f)):f}function le(x,S,f){var A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(x.unit===Ji.kPixels)return Number(x.value);if(x.unit===Ji.kPercentage&&f){var _=f.nodeName===Jt.GROUP?f.getLocalBounds():f.getGeometryBounds();return(A?_.min[S]:0)+x.value/100*_.halfExtents[S]*2}return 0}var Nt=function(S){return Dd(/deg|rad|grad|turn|px|%/g,S)},Dt=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function pn(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(x=x.toLowerCase().trim(),x==="none")return[];for(var S=/\s*([\w-]+)\(([^)]*)\)/g,f=[],A,_=0;A=S.exec(x);){if(A.index!==_)return[];if(_=A.index+A[0].length,Dt.indexOf(A[1])>-1&&f.push({name:A[1],params:A[2].split(" ").map(function(k){return Nt(k)||mo(k)})}),S.lastIndex===x.length)return f}return[]}function Dn(x){return x.toString()}var hr=function(S){return typeof S=="number"?ki(S):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(S)?ki(Number(S)):ki(0)},br=Lo(hr);Lo(function(x){return(0,Fe.Z)(x)?x.split(" ").map(br):x.map(br)});function yr(x,S){return[x,S,Dn]}function xr(x,S){return function(f,A){return[f,A,function(_){return Dn((0,ct.Z)(_,x,S))}]}}function Fr(x,S){if(x.length===S.length)return[x,S,function(f){return f}]}function ri(x){return x.parsedStyle.d.totalLength===0&&(x.parsedStyle.d.totalLength=Ct(x.parsedStyle.d.absolutePath)),x.parsedStyle.d.totalLength}function ai(x){return x.parsedStyle.points.totalLength===0&&(x.parsedStyle.points.totalLength=(0,Xt.hE)(x.parsedStyle.points.points)),x.parsedStyle.points.totalLength}function wi(x){for(var S=0;S0&&f.push(A),{polygons:S,polylines:f}}function as(x,S){return x[0]===S[0]&&x[1]===S[1]}function Bs(x,S){for(var f=[],A=[],_=[],k=0;kMath.PI/2?Math.PI-Ue:Ue,rt=rt>Math.PI/2?Math.PI-rt:rt;var bt={xExtra:Math.cos(ge/2-Ue)*(S/2*(1/Math.sin(ge/2)))-S/2||0,yExtra:Math.cos(rt-ge/2)*(S/2*(1/Math.sin(ge/2)))-S/2||0};return bt}function zi(x,S){return[S[0]+(S[0]-x[0]),S[1]+(S[1]-x[1])]}var Ni=function(S,f){var A=S.x*f.x+S.y*f.y,_=Math.sqrt((Math.pow(S.x,2)+Math.pow(S.y,2))*(Math.pow(f.x,2)+Math.pow(f.y,2))),k=S.x*f.y-S.y*f.x<0?-1:1,G=k*Math.acos(A/_);return G},Ns=function(S,f,A,_,k,G,ae,ge){f=Math.abs(f),A=Math.abs(A),_=zt(_,360);var Ue=Yt(_);if(S.x===ae.x&&S.y===ae.y)return{x:S.x,y:S.y,ellipticalArcAngle:0};if(f===0||A===0)return{x:0,y:0,ellipticalArcAngle:0};var rt=(S.x-ae.x)/2,bt=(S.y-ae.y)/2,Zt={x:Math.cos(Ue)*rt+Math.sin(Ue)*bt,y:-Math.sin(Ue)*rt+Math.cos(Ue)*bt},wn=Math.pow(Zt.x,2)/Math.pow(f,2)+Math.pow(Zt.y,2)/Math.pow(A,2);wn>1&&(f*=Math.sqrt(wn),A*=Math.sqrt(wn));var mn=Math.pow(f,2)*Math.pow(A,2)-Math.pow(f,2)*Math.pow(Zt.y,2)-Math.pow(A,2)*Math.pow(Zt.x,2),Gn=Math.pow(f,2)*Math.pow(Zt.y,2)+Math.pow(A,2)*Math.pow(Zt.x,2),ir=mn/Gn;ir=ir<0?0:ir;var tr=(k!==G?1:-1)*Math.sqrt(ir),Zn={x:tr*(f*Zt.y/A),y:tr*(-(A*Zt.x)/f)},Tr={x:Math.cos(Ue)*Zn.x-Math.sin(Ue)*Zn.y+(S.x+ae.x)/2,y:Math.sin(Ue)*Zn.x+Math.cos(Ue)*Zn.y+(S.y+ae.y)/2},ni={x:(Zt.x-Zn.x)/f,y:(Zt.y-Zn.y)/A},ns=Ni({x:1,y:0},ni),is={x:(-Zt.x-Zn.x)/f,y:(-Zt.y-Zn.y)/A},bi=Ni(ni,is);!G&&bi>0?bi-=2*Math.PI:G&&bi<0&&(bi+=2*Math.PI),bi%=2*Math.PI;var Ri=ns+bi*ge,Gs=f*Math.cos(Ri),_s=A*Math.sin(Ri),Hs={x:Math.cos(Ue)*Gs-Math.sin(Ue)*_s+Tr.x,y:Math.sin(Ue)*Gs+Math.cos(Ue)*_s+Tr.y,ellipticalArcStartAngle:ns,ellipticalArcEndAngle:ns+bi,ellipticalArcAngle:Ri,ellipticalArcCenter:Tr,resultantRx:f,resultantRy:A};return Hs};function Os(x){for(var S=[],f=null,A=null,_=null,k=0,G=x.length,ae=0;ae2&&arguments[2]!==void 0?arguments[2]:!0,A=x.arcParams,_=A.rx,k=_===void 0?0:_,G=A.ry,ae=G===void 0?0:G,ge=A.xRotation,Ue=A.arcFlag,rt=A.sweepFlag,bt=Ns({x:x.prePoint[0],y:x.prePoint[1]},k,ae,ge,!!Ue,!!rt,{x:x.currentPoint[0],y:x.currentPoint[1]},S),Zt=Ns({x:x.prePoint[0],y:x.prePoint[1]},k,ae,ge,!!Ue,!!rt,{x:x.currentPoint[0],y:x.currentPoint[1]},f?S+.005:S-.005),wn=Zt.x-bt.x,mn=Zt.y-bt.y,Gn=Math.sqrt(wn*wn+mn*mn);return{x:-wn/Gn,y:-mn/Gn}}function Sa(x){return Math.sqrt(x[0]*x[0]+x[1]*x[1])}function oe(x,S){return Sa(x)*Sa(S)?(x[0]*S[0]+x[1]*S[1])/(Sa(x)*Sa(S)):1}function re(x,S){return(x[0]*S[1]1&&(f*=Math.sqrt(wn),A*=Math.sqrt(wn));var mn=f*f*(Zt*Zt)+A*A*(bt*bt),Gn=mn?Math.sqrt((f*f*(A*A)-mn)/mn):1;k===G&&(Gn*=-1),isNaN(Gn)&&(Gn=0);var ir=A?Gn*f*Zt/A:0,tr=f?Gn*-A*bt/f:0,Zn=(ae+Ue)/2+Math.cos(_)*ir-Math.sin(_)*tr,Tr=(ge+rt)/2+Math.sin(_)*ir+Math.cos(_)*tr,ni=[(bt-ir)/f,(Zt-tr)/A],ns=[(-1*bt-ir)/f,(-1*Zt-tr)/A],is=re([1,0],ni),bi=re(ni,ns);return oe(ni,ns)<=-1&&(bi=Math.PI),oe(ni,ns)>=1&&(bi=0),G===0&&bi>0&&(bi-=2*Math.PI),G===1&&bi<0&&(bi+=2*Math.PI),{cx:Zn,cy:Tr,rx:as(x,[Ue,rt])?0:f,ry:as(x,[Ue,rt])?0:A,startAngle:is,endAngle:is+bi,xRotation:_,arcFlag:k,sweepFlag:G}}function J(x,S,f){return x.reduce(function(A,_){var k="";if(_[0]==="M"||_[0]==="L"){var G=vec3.fromValues(_[1],_[2],0);f&&vec3.transformMat4(G,G,f),k="".concat(_[0]).concat(G[0],",").concat(G[1])}else if(_[0]==="Z")k=_[0];else if(_[0]==="C"){var ae=vec3.fromValues(_[1],_[2],0),ge=vec3.fromValues(_[3],_[4],0),Ue=vec3.fromValues(_[5],_[6],0);f&&(vec3.transformMat4(ae,ae,f),vec3.transformMat4(ge,ge,f),vec3.transformMat4(Ue,Ue,f)),k="".concat(_[0]).concat(ae[0],",").concat(ae[1],",").concat(ge[0],",").concat(ge[1],",").concat(Ue[0],",").concat(Ue[1])}else if(_[0]==="A"){var rt=vec3.fromValues(_[6],_[7],0);f&&vec3.transformMat4(rt,rt,f),k="".concat(_[0]).concat(_[1],",").concat(_[2],",").concat(_[3],",").concat(_[4],",").concat(_[5],",").concat(rt[0],",").concat(rt[1])}else if(_[0]==="Q"){var bt=vec3.fromValues(_[1],_[2],0),Zt=vec3.fromValues(_[3],_[4],0);f&&(vec3.transformMat4(bt,bt,f),vec3.transformMat4(Zt,Zt,f)),k="".concat(_[0]).concat(_[1],",").concat(_[2],",").concat(_[3],",").concat(_[4],"}")}return A+=k},"")}function fe(x,S,f,A){return[["M",x,S],["L",f,A]]}function Te(x,S,f,A){var _=(-1+Math.sqrt(2))/3*4,k=x*_,G=S*_,ae=f-x,ge=f+x,Ue=A-S,rt=A+S;return[["M",ae,A],["C",ae,A-G,f-k,Ue,f,Ue],["C",f+k,Ue,ge,A-G,ge,A],["C",ge,A+G,f+k,rt,f,rt],["C",f-k,rt,ae,A+G,ae,A],["Z"]]}function De(x,S){var f=x.map(function(A,_){return[_===0?"M":"L",A[0],A[1]]});return S&&f.push(["Z"]),f}function Le(x,S,f,A,_){if(_){var k=_slicedToArray(_,4),G=k[0],ae=k[1],ge=k[2],Ue=k[3],rt=x>0?1:-1,bt=S>0?1:-1,Zt=rt+bt!==0?1:0;return[["M",rt*G+f,A],["L",x-rt*ae+f,A],ae?["A",ae,ae,0,0,Zt,x+f,bt*ae+A]:null,["L",x+f,S-bt*ge+A],ge?["A",ge,ge,0,0,Zt,x+f-rt*ge,S+A]:null,["L",f+rt*Ue,S+A],Ue?["A",Ue,Ue,0,0,Zt,f,S+A-bt*Ue]:null,["L",f,bt*G+A],G?["A",G,G,0,0,Zt,rt*G+f,A]:null,["Z"]].filter(function(wn){return wn})}return[["M",f,A],["L",f+x,A],["L",f+x,A+S],["L",f,A+S],["Z"]]}function Xe(x){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x.getLocalTransform(),f=[];switch(x.nodeName){case Jt.LINE:var A=x.parsedStyle,_=A.x1,k=_===void 0?0:_,G=A.y1,ae=G===void 0?0:G,ge=A.x2,Ue=ge===void 0?0:ge,rt=A.y2,bt=rt===void 0?0:rt;f=fe(k,ae,Ue,bt);break;case Jt.CIRCLE:{var Zt=x.parsedStyle,wn=Zt.r,mn=wn===void 0?0:wn,Gn=Zt.cx,ir=Gn===void 0?0:Gn,tr=Zt.cy,Zn=tr===void 0?0:tr;f=Te(mn,mn,ir,Zn);break}case Jt.ELLIPSE:{var Tr=x.parsedStyle,ni=Tr.rx,ns=ni===void 0?0:ni,is=Tr.ry,bi=is===void 0?0:is,Ri=Tr.cx,Gs=Ri===void 0?0:Ri,_s=Tr.cy,Hs=_s===void 0?0:_s;f=Te(ns,bi,Gs,Hs);break}case Jt.POLYLINE:case Jt.POLYGON:var Zs=x.parsedStyle.points;f=De(Zs.points,x.nodeName===Jt.POLYGON);break;case Jt.RECT:var Ia=x.parsedStyle,Po=Ia.width,Ml=Po===void 0?0:Po,El=Ia.height,Ys=El===void 0?0:El,U=Ia.x,R=U===void 0?0:U,$=Ia.y,K=$===void 0?0:$,_e=Ia.radius,et=_e&&_e.some(function(dn){return dn!==0});f=Le(Ml,Ys,R,K,et&&_e.map(function(dn){return clamp(dn,0,Math.min(Math.abs(Ml)/2,Math.abs(Ys)/2))}));break;case Jt.PATH:var Ft=x.parsedStyle.d.absolutePath;f=_toConsumableArray(Ft);break}if(f.length)return J(f,x,S)}function mt(x){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,k=x.map(function(G,ae){var ge=G[0],Ue=x[ae+1],rt=ae===0&&(S!==0||f!==0),bt=(ae===x.length-1||Ue&&(Ue[0]==="M"||Ue[0]==="Z"))&&A!==0&&_!==0,Zt=rt?[S,f]:[0,0],wn=_slicedToArray(Zt,2),mn=wn[0],Gn=wn[1],ir=bt?[A,_]:[0,0],tr=_slicedToArray(ir,2),Zn=tr[0],Tr=tr[1];switch(ge){case"M":return"M ".concat(G[1]+mn,",").concat(G[2]+Gn);case"L":return"L ".concat(G[1]+Zn,",").concat(G[2]+Tr);case"Q":return"Q ".concat(G[1]," ").concat(G[2],",").concat(G[3]+Zn," ").concat(G[4]+Tr);case"C":return"C ".concat(G[1]," ").concat(G[2],",").concat(G[3]," ").concat(G[4],",").concat(G[5]+Zn," ").concat(G[6]+Tr);case"A":return"A ".concat(G[1]," ").concat(G[2]," ").concat(G[3]," ").concat(G[4]," ").concat(G[5]," ").concat(G[6]," ").concat(G[7]).concat(bt?" L ".concat(G[6]+A,",").concat(G[7]+_):"");case"Z":return"Z";default:return null}}).filter(function(G){return G!==null}).join(" ");return~k.indexOf("NaN")?"":k}var Kt=function(S){if(S===""||Array.isArray(S)&&S.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var f;try{f=Mt(S)}catch(wn){f=Mt(""),console.error("[g]: Invalid SVG Path definition: ".concat(S))}wi(f);var A=Vi(f),_=rs(f),k=_.polygons,G=_.polylines,ae=Os(f),ge=Bs(ae,0),Ue=ge.x,rt=ge.y,bt=ge.width,Zt=ge.height;return{absolutePath:f,hasArc:A,segments:ae,polygons:k,polylines:G,totalLength:0,rect:{x:Number.isFinite(Ue)?Ue:0,y:Number.isFinite(rt)?rt:0,width:Number.isFinite(bt)?bt:0,height:Number.isFinite(Zt)?Zt:0}}},nn=Lo(Kt);function gn(x){return(0,Fe.Z)(x)?nn(x):Kt(x)}function Nn(x,S,f){var A=x.curve,_=S.curve;(!A||A.length===0)&&(A=wt(x.absolutePath,!1),x.curve=A),(!_||_.length===0)&&(_=wt(S.absolutePath,!1),S.curve=_);var k=[A,_];A.length!==_.length&&(k=$t(A,_));var G=cn(k[0])!==cn(k[1])?Yn(k[0]):qn(k[0]);return[G,Jr(k[1],G),function(ae){return ae}]}function $n(x,S){var f;return(0,Fe.Z)(x)?f=x.split(" ").map(function(A){var _=A.split(","),k=(0,C.Z)(_,2),G=k[0],ae=k[1];return[Number(G),Number(ae)]}):f=x,{points:f,totalLength:0,segments:[]}}function Er(x,S){return[x.points,S.points,function(f){return f}]}var mr=null,ti=/\s*(\w+)\(([^)]*)\)/g;function jr(x){return function(S){var f=0;return x.map(function(A){return A===mr?S[f++]:A})}}function ui(x){return x}var gi={matrix:["NNNNNN",[mr,mr,0,0,mr,mr,0,0,0,0,1,0,mr,mr,0,1],ui],matrix3d:["NNNNNNNNNNNNNNNN",ui],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",jr([mr,mr,new Bo(1)]),ui],scaleX:["N",jr([mr,new Bo(1),new Bo(1)]),jr([mr,new Bo(1)])],scaleY:["N",jr([new Bo(1),mr,new Bo(1)]),jr([new Bo(1),mr])],scaleZ:["N",jr([new Bo(1),new Bo(1),mr])],scale3d:["NNN",ui],skew:["Aa",null,ui],skewX:["A",null,jr([mr,na])],skewY:["A",null,jr([na,mr])],translate:["Tt",jr([mr,mr,_o]),ui],translateX:["T",jr([mr,_o,_o]),jr([mr,_o])],translateY:["T",jr([_o,mr,_o]),jr([_o,mr])],translateZ:["L",jr([_o,_o,mr])],translate3d:["TTL",ui]};function oi(x){for(var S=[],f=x.length,A=0;A2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(f.attributes,A);var k=f.parsedStyle.clipPath,G=f.parsedStyle.offsetPath;Gc(f,A);var ae=!!_.forceUpdateGeometry;if(!ae){for(var ge in A)if(dl.has(ge)){ae=!0;break}}var Ue=uc(f);Ue.has("fill")&&A.fill&&(f.parsedStyle.fill=mo(A.fill)),Ue.has("stroke")&&A.stroke&&(f.parsedStyle.stroke=mo(A.stroke)),Ue.has("shadowColor")&&A.shadowColor&&(f.parsedStyle.shadowColor=mo(A.shadowColor)),Ue.has("filter")&&A.filter&&(f.parsedStyle.filter=pn(A.filter)),Ue.has("radius")&&!(0,$e.Z)(A.radius)&&(f.parsedStyle.radius=Ze(A.radius,4)),Ue.has("lineDash")&&!(0,$e.Z)(A.lineDash)&&(f.parsedStyle.lineDash=Ze(A.lineDash,"even")),Ue.has("points")&&A.points&&(f.parsedStyle.points=$n(A.points)),Ue.has("d")&&A.d===""&&(f.parsedStyle.d=(0,m.Z)({},ca)),Ue.has("d")&&A.d&&(f.parsedStyle.d=gn(A.d)),Ue.has("textTransform")&&A.textTransform&&this.runtime.CSSPropertySyntaxFactory[Ai.TEXT_TRANSFORM].calculator(null,null,{value:A.textTransform},f,null),Ue.has("clipPath")&&!(0,vr.Z)(A.clipPath)&&this.runtime.CSSPropertySyntaxFactory[Ai.DEFINED_PATH].calculator("clipPath",k,A.clipPath,f,this.runtime),Ue.has("offsetPath")&&A.offsetPath&&this.runtime.CSSPropertySyntaxFactory[Ai.DEFINED_PATH].calculator("offsetPath",G,A.offsetPath,f,this.runtime),Ue.has("transform")&&A.transform&&(f.parsedStyle.transform=ts(A.transform)),Ue.has("transformOrigin")&&A.transformOrigin&&(f.parsedStyle.transformOrigin=al(A.transformOrigin)),Ue.has("markerStart")&&A.markerStart&&(f.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[Ai.MARKER].calculator(null,A.markerStart,A.markerStart,null,null)),Ue.has("markerEnd")&&A.markerEnd&&(f.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[Ai.MARKER].calculator(null,A.markerEnd,A.markerEnd,null,null)),Ue.has("markerMid")&&A.markerMid&&(f.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[Ai.MARKER].calculator("",A.markerMid,A.markerMid,null,null)),Ue.has("zIndex")&&!(0,$e.Z)(A.zIndex)&&this.runtime.CSSPropertySyntaxFactory[Ai.Z_INDEX].postProcessor(f),Ue.has("offsetDistance")&&!(0,$e.Z)(A.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[Ai.OFFSET_DISTANCE].postProcessor(f),Ue.has("transform")&&A.transform&&this.runtime.CSSPropertySyntaxFactory[Ai.TRANSFORM].postProcessor(f),Ue.has("transformOrigin")&&A.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[Ai.TRANSFORM_ORIGIN].postProcessor(f),ae&&(f.dirty(!0,!0),_.forceUpdateGeometry||this.runtime.sceneGraphService.dirtyToRoot(f))}},{key:"updateGeometry",value:function(f){var A=f.nodeName,_=this.runtime.geometryUpdaterFactory[A];if(_){var k=f.geometry;k.contentBounds||(k.contentBounds=new ie),k.renderBounds||(k.renderBounds=new ie);var G=f.parsedStyle,ae=_.update(G,f),ge=ae.cx,Ue=ge===void 0?0:ge,rt=ae.cy,bt=rt===void 0?0:rt,Zt=ae.cz,wn=Zt===void 0?0:Zt,mn=ae.hwidth,Gn=mn===void 0?0:mn,ir=ae.hheight,tr=ir===void 0?0:ir,Zn=ae.hdepth,Tr=Zn===void 0?0:Zn,ni=[Math.abs(Gn),Math.abs(tr),Tr],ns=G.stroke,is=G.lineWidth,bi=is===void 0?1:is,Ri=G.increasedLineWidthForHitTesting,Gs=Ri===void 0?0:Ri,_s=G.shadowType,Hs=_s===void 0?"outer":_s,Zs=G.shadowColor,Ia=G.filter,Po=Ia===void 0?[]:Ia,Ml=G.transformOrigin,El=[Ue,bt,wn];k.contentBounds.update(El,ni);var Ys=A===Jt.POLYLINE||A===Jt.POLYGON||A===Jt.PATH?Math.SQRT2:.5,U=ns&&!ns.isNone;if(U){var R=((bi||0)+(Gs||0))*Ys;ni[0]+=R,ni[1]+=R}if(k.renderBounds.update(El,ni),Zs&&Hs&&Hs!=="inner"){var $=k.renderBounds,K=$.min,_e=$.max,et=G.shadowBlur,Ft=G.shadowOffsetX,dn=G.shadowOffsetY,fn=et||0,Ar=Ft||0,ur=dn||0,Ir=K[0]-fn+Ar,fi=_e[0]+fn+Ar,Qs=K[1]-fn+ur,us=_e[1]+fn+ur;K[0]=Math.min(K[0],Ir),_e[0]=Math.max(_e[0],fi),K[1]=Math.min(K[1],Qs),_e[1]=Math.max(_e[1],us),k.renderBounds.setMinMax(K,_e)}Po.forEach(function(ko){var uo=ko.name,Oa=ko.params;if(uo==="blur"){var ks=Oa[0].value;k.renderBounds.update(k.renderBounds.center,D.IH(k.renderBounds.halfExtents,k.renderBounds.halfExtents,[ks,ks,0]))}else if(uo==="drop-shadow"){var So=Oa[0].value,eo=Oa[1].value,za=Oa[2].value,nu=k.renderBounds,wu=nu.min,hu=nu.max,pl=wu[0]-za+So,Nu=hu[0]+za+So,Qh=wu[1]-za+eo,Ju=hu[1]+za+eo;wu[0]=Math.min(wu[0],pl),hu[0]=Math.max(hu[0],Nu),wu[1]=Math.min(wu[1],Qh),hu[1]=Math.max(hu[1],Ju),k.renderBounds.setMinMax(wu,hu)}}),f.geometry.dirty=!1;var bs=Gn<0,Ja=tr<0,fa=(bs?-1:1)*(Ml?le(Ml[0],0,f,!0):0),ea=(Ja?-1:1)*(Ml?le(Ml[1],1,f,!0):0);(fa||ea)&&f.setOrigin(fa,ea)}}},{key:"updateSizeAttenuation",value:function(f,A){f.style.isSizeAttenuation?(f.style.rawLineWidth||(f.style.rawLineWidth=f.style.lineWidth),f.style.lineWidth=(f.style.rawLineWidth||1)/A,f.nodeName===Jt.CIRCLE&&(f.style.rawR||(f.style.rawR=f.style.r),f.style.r=(f.style.rawR||1)/A)):(f.style.rawLineWidth&&(f.style.lineWidth=f.style.rawLineWidth,delete f.style.rawLineWidth),f.nodeName===Jt.CIRCLE&&f.style.rawR&&(f.style.r=f.style.rawR,delete f.style.rawR))}}])}();function Gc(x,S){var f=uc(x);for(var A in S)f.has(A)&&(x.parsedStyle[A]=S[A])}function uc(x){return x.constructor.PARSED_STYLE_LIST}var Bu=function(){function x(){(0,Z.Z)(this,x),this.mixer=yr}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_,k){return ce(_)}}])}(),cu=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_,k,G){return _ instanceof Xu&&(_=null),G.sceneGraphService.updateDisplayObjectDependency(f,A,_,k),f==="clipPath"&&k.forEach(function(ae){ae.childNodes.length===0&&G.sceneGraphService.dirtyToRoot(ae)}),_}}])}(),qc=function(){function x(){(0,Z.Z)(this,x),this.parser=mo,this.mixer=wa}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_,k){return _ instanceof Xu?_.value==="none"?ac:Lr:_}}])}(),_l=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _ instanceof Xu?[]:_}}])}();function Ho(x){var S=x.parsedStyle,f=S.fontSize;return(0,$e.Z)(f)?null:f}var jl=function(){function x(){(0,Z.Z)(this,x),this.mixer=yr}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_,k,G){if((0,ve.Z)(_))return _;if(Bo.isRelativeUnit(_.unit)){if(_.unit===Ji.kPercentage)return 0;if(_.unit===Ji.kEms){if(k.parentNode){var ae=Ho(k.parentNode);if(ae)return ae*=_.value,ae}return 0}if(_.unit===Ji.kRems){var ge;if(k!=null&&(ge=k.ownerDocument)!==null&&ge!==void 0&&ge.documentElement){var Ue=Ho(k.ownerDocument.documentElement);if(Ue)return Ue*=_.value,Ue}return 0}}else return _.value}}])}(),Jc=function(){function x(){(0,Z.Z)(this,x),this.mixer=Fr}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _.map(function(k){return k.value})}}])}(),eh=function(){function x(){(0,Z.Z)(this,x),this.mixer=Fr}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _.map(function(k){return k.value})}}])}(),df=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_,k){var G;_ instanceof Xu&&(_=null);var ae=(G=_)===null||G===void 0?void 0:G.cloneNode(!0);return ae&&(ae.style.isMarker=!0),ae}}])}(),xh=function(){function x(){(0,Z.Z)(this,x),this.mixer=yr}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _.value}}])}(),MA=function(){function x(){(0,Z.Z)(this,x),this.mixer=xr(0,1)}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _.value}},{key:"postProcessor",value:function(f){var A=f.parsedStyle,_=A.offsetPath,k=A.offsetDistance;if(_){var G=_.nodeName;if(G===Jt.LINE||G===Jt.PATH||G===Jt.POLYLINE){var ae=_.getPoint(k);ae&&f.setLocalPosition(ae.x,ae.y)}}}}])}(),yl=function(){function x(){(0,Z.Z)(this,x),this.mixer=xr(0,1)}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _.value}}])}(),Nc=function(){function x(){(0,Z.Z)(this,x),this.parser=gn,this.mixer=Nn}return(0,V.Z)(x,[{key:"calculator",value:function(f,A,_){return _ instanceof Xu&&_.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Sn(0,0,0,0)}:_}}])}(),bh=(0,V.Z)(function x(){(0,Z.Z)(this,x),this.mixer=Er}),Wf=function(x){function S(){var f;(0,Z.Z)(this,S);for(var A=arguments.length,_=new Array(A),k=0;k>>1;Rl(x[_],S)<0?f=_+1:A=_}return f}function Rl(x,S){var f=Number(x.parsedStyle.zIndex||0),A=Number(S.parsedStyle.zIndex||0);if(f===A){var _=x.parentNode;if(_){var k=_.childNodes||[];return k.indexOf(x)-k.indexOf(S)}}return f-A}function Zf(x){var S=x;do{var f,A=(f=S.parsedStyle)===null||f===void 0?void 0:f.clipPath;if(A)return S;S=S.parentElement}while(S!==null);return null}var ku="px";function Dh(x,S,f){vu&&x.style&&(x.style.width=S+ku,x.style.height=f+ku)}function Vu(x,S){if(vu)return document.defaultView.getComputedStyle(x,null).getPropertyValue(S)}function EA(x){var S=Vu(x,"width");return S==="auto"?x.offsetWidth:parseFloat(S)}function zu(x){var S=Vu(x,"height");return S==="auto"?x.offsetHeight:parseFloat(S)}var Wr=1,Hc={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},yu=typeof performance=="object"&&performance.now?performance:Date;function Hl(x){return x.nodeName===Jt.FRAGMENT?!0:x.getRootNode().nodeName===Jt.FRAGMENT}function Yl(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",S=arguments.length>1?arguments[1]:void 0,f=arguments.length>2?arguments[2]:void 0,A=!1,_=!1,k=!!S&&!S.isNone,G=!!f&&!f.isNone;return x==="visiblepainted"||x==="painted"||x==="auto"?(A=k,_=G):x==="visiblefill"||x==="fill"?A=!0:x==="visiblestroke"||x==="stroke"?_=!0:(x==="visible"||x==="all")&&(A=!0,_=!0),[A,_]}var Ql=1,Km=function(){return Ql++},Ol=typeof self=="object"&&self.self===self?self:typeof b.g=="object"&&b.g.global===b.g?b.g:{},Kf=Date.now(),Zv=function(){return Ol.performance&&typeof Ol.performance.now=="function"?Ol.performance.now():Date.now()-Kf},ql={},Rp=Date.now(),$f=function(S){if(typeof S!="function")throw new TypeError("".concat(S," is not a function"));var f=Date.now(),A=f-Rp,_=A>16?0:16-A,k=Km();return ql[k]=S,Object.keys(ql).length>1||setTimeout(function(){Rp=f;var G=ql;ql={},Object.keys(G).forEach(function(ae){return G[ae](Zv())})},_),k},wl=function(S){delete ql[S]},ha=["","webkit","moz","ms","o"],$m=function(S){return typeof S!="string"?$f:S===""?Ol.requestAnimationFrame:Ol["".concat(S,"RequestAnimationFrame")]},kh=function(S){return typeof S!="string"?wl:S===""?Ol.cancelAnimationFrame:Ol["".concat(S,"CancelAnimationFrame")]||Ol["".concat(S,"CancelRequestAnimationFrame")]},lm=function(S,f){for(var A=0;S[A]!==void 0;){if(f(S[A]))return S[A];A+=1}},qh=lm(ha,function(x){return!!$m(x)}),th=$m(qh),ff=kh(qh);Ol.requestAnimationFrame=th,Ol.cancelAnimationFrame=ff;var Yu=function(){function x(){(0,Z.Z)(this,x),this.callbacks=[]}return(0,V.Z)(x,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(f,A){this.callbacks.push(A)}},{key:"promise",value:function(){for(var f=arguments.length,A=new Array(f),_=0;_=0;rt--){var bt=Ue[rt].trim();!Xf.test(bt)&&CA.indexOf(bt)<0&&(bt='"'.concat(bt,'"')),Ue[rt]=bt}return"".concat(k," ").concat(G," ").concat(ae," ").concat(ge," ").concat(Ue.join(","))},function(x){var S=cc(x),f=S.fontSize,A=S.fontFamily,_=S.fontStyle,k=S.fontVariant,G=S.fontWeight;return"".concat(_,"_").concat(k,"_").concat(G,"_").concat(f,"_").concat(A)}),Ru=1e-6,ka=function(S){return Math.max(S,Ru)};function Af(x,S,f){return j.identity(x),x[4]=Math.tan(S),x[1]=Math.tan(f),x}var Sl=j.create(),xd=j.create(),zd={scale:function(S){j.fromScaling(Sl,[S[0].value,S[1].value,1].map(function(f){return ka(f)}))},scaleX:function(S){j.fromScaling(Sl,[S[0].value,1,1].map(function(f){return ka(f)}))},scaleY:function(S){j.fromScaling(Sl,[1,S[0].value,1].map(function(f){return ka(f)}))},scaleZ:function(S){j.fromScaling(Sl,[1,1,S[0].value].map(function(f){return ka(f)}))},scale3d:function(S){j.fromScaling(Sl,[S[0].value,S[1].value,S[2].value].map(function(f){return ka(f)}))},translate:function(S){j.fromTranslation(Sl,[S[0].value,S[1].value,0])},translateX:function(S){j.fromTranslation(Sl,[S[0].value,0,0])},translateY:function(S){j.fromTranslation(Sl,[0,S[0].value,0])},translateZ:function(S){j.fromTranslation(Sl,[0,0,S[0].value])},translate3d:function(S){j.fromTranslation(Sl,[S[0].value,S[1].value,S[2].value])},rotate:function(S){j.fromZRotation(Sl,Yt(ce(S[0])))},rotateX:function(S){j.fromXRotation(Sl,Yt(ce(S[0])))},rotateY:function(S){j.fromYRotation(Sl,Yt(ce(S[0])))},rotateZ:function(S){j.fromZRotation(Sl,Yt(ce(S[0])))},rotate3d:function(S){j.fromRotation(Sl,Yt(ce(S[3])),[S[0].value,S[1].value,S[2].value])},skew:function(S){Af(Sl,Yt(S[0].value),Yt(S[1].value))},skewX:function(S){Af(Sl,Yt(S[0].value),0)},skewY:function(S){Af(Sl,0,Yt(S[0].value))},matrix:function(S){j.set(Sl,S[0].value,S[1].value,0,0,S[2].value,S[3].value,0,0,0,0,1,0,S[4].value,S[5].value,0,1)},matrix3d:function(S){j.set.apply(j,[Sl].concat((0,N.Z)(S.map(function(f){return f.value}))))}},TA=D.al(1,1,1),Gd=D.Ue(),Hd={translate:function(S,f){Oi.sceneGraphService.setLocalScale(S,TA,!1),Oi.sceneGraphService.setLocalEulerAngles(S,Gd,void 0,void 0,!1),Oi.sceneGraphService.setLocalPosition(S,[f[0].value,f[1].value,0],!1),Oi.sceneGraphService.dirtyLocalTransform(S,S.transformable)}};function pf(x,S){if(x.length){if(x.length===1&&Hd[x[0].t]){Hd[x[0].t](S,x[0].d);return}for(var f=j.identity(xd),A=0;A1&&arguments[1]!==void 0?arguments[1]:!1,_=arguments.length>2?arguments[2]:void 0;if(_)return this.dispatchEventToSelf(f),!0;var k;if(this.document)k=this;else if(this.defaultView)k=this.defaultView;else{var G;k=(G=this.ownerDocument)===null||G===void 0?void 0:G.defaultView}if(k){if(f.manager=k.getEventService(),!f.manager)return!1;f.defaultPrevented=!1,f.path?f.path.length=0:f.page=[],A||(f.target=this),f.manager.dispatchEvent(f,f.type,A)}else this.dispatchEventToSelf(f);return!f.defaultPrevented}}])}(),vo=function(x){function S(){var f;(0,Z.Z)(this,S);for(var A=arguments.length,_=new Array(A),k=0;k0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(A):A.composed&&this.host?this.host.getRootNode(A):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(A){throw new Error(Oe)}},{key:"lookupNamespaceURI",value:function(A){throw new Error(Oe)}},{key:"lookupPrefix",value:function(A){throw new Error(Oe)}},{key:"normalize",value:function(){throw new Error(Oe)}},{key:"isEqualNode",value:function(A){return this===A}},{key:"isSameNode",value:function(A){return this.isEqualNode(A)}},{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(A){if(A===this)return 0;for(var _=A,k=this,G=[_],ae=[k];(ge=_.parentNode)!==null&&ge!==void 0?ge:k.parentNode;){var ge;_=_.parentNode?(G.push(_.parentNode),_.parentNode):_,k=k.parentNode?(ae.push(k.parentNode),k.parentNode):k}if(_!==k)return S.DOCUMENT_POSITION_DISCONNECTED|S.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|S.DOCUMENT_POSITION_PRECEDING;var Ue=G.length>ae.length?G:ae,rt=Ue===G?ae:G;if(Ue[Ue.length-rt.length]===rt[0])return Ue===G?S.DOCUMENT_POSITION_CONTAINED_BY|S.DOCUMENT_POSITION_FOLLOWING:S.DOCUMENT_POSITION_CONTAINS|S.DOCUMENT_POSITION_PRECEDING;for(var bt=Ue.length-rt.length,Zt=rt.length-1;Zt>=0;Zt--){var wn=rt[Zt],mn=Ue[bt+Zt];if(mn!==wn){var Gn=wn.parentNode.childNodes;return Gn.indexOf(wn)0&&_;)_=_.parentNode,A--;return _}},{key:"forEach",value:function(A){for(var _=[this];_.length>0;){var k=_.pop(),G=A(k);if(G===!1)break;for(var ae=k.childNodes.length-1;ae>=0;ae--)_.push(k.childNodes[ae])}}}],[{key:"isNode",value:function(A){return!!A.childNodes}}])}(Sg);vo.DOCUMENT_POSITION_DISCONNECTED=1,vo.DOCUMENT_POSITION_PRECEDING=2,vo.DOCUMENT_POSITION_FOLLOWING=4,vo.DOCUMENT_POSITION_CONTAINS=8,vo.DOCUMENT_POSITION_CONTAINED_BY=16,vo.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var gf=2048,mf=function(){function x(S,f){var A=this;(0,Z.Z)(this,x),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=j.create(),this.tmpVec3=D.Ue(),this.onPointerDown=function(_){var k=A.createPointerEvent(_);if(A.dispatchEvent(k,"pointerdown"),k.pointerType==="touch")A.dispatchEvent(k,"touchstart");else if(k.pointerType==="mouse"||k.pointerType==="pen"){var G=k.button===2;A.dispatchEvent(k,G?"rightdown":"mousedown")}var ae=A.trackingData(_.pointerId);ae.pressTargetsByButton[_.button]=k.composedPath(),A.freeEvent(k)},this.onPointerUp=function(_){var k=yu.now(),G=A.createPointerEvent(_,void 0,void 0,A.context.config.alwaysTriggerPointerEventOnCanvas?A.rootTarget:void 0);if(A.dispatchEvent(G,"pointerup"),G.pointerType==="touch")A.dispatchEvent(G,"touchend");else if(G.pointerType==="mouse"||G.pointerType==="pen"){var ae=G.button===2;A.dispatchEvent(G,ae?"rightup":"mouseup")}var ge=A.trackingData(_.pointerId),Ue=A.findMountedTarget(ge.pressTargetsByButton[_.button]),rt=Ue;if(Ue&&!G.composedPath().includes(Ue)){for(var bt=Ue;bt&&!G.composedPath().includes(bt);){if(G.currentTarget=bt,A.notifyTarget(G,"pointerupoutside"),G.pointerType==="touch")A.notifyTarget(G,"touchendoutside");else if(G.pointerType==="mouse"||G.pointerType==="pen"){var Zt=G.button===2;A.notifyTarget(G,Zt?"rightupoutside":"mouseupoutside")}vo.isNode(bt)&&(bt=bt.parentNode)}delete ge.pressTargetsByButton[_.button],rt=bt}if(rt){var wn,mn=A.clonePointerEvent(G,"click");mn.target=rt,mn.path=[],ge.clicksByButton[_.button]||(ge.clicksByButton[_.button]={clickCount:0,target:mn.target,timeStamp:k});var Gn=A.context.renderingContext.root.ownerDocument.defaultView,ir=ge.clicksByButton[_.button];ir.target===mn.target&&k-ir.timeStamp=1;k--)if(f.currentTarget=_[k],this.notifyTarget(f,A),f.propagationStopped||f.propagationImmediatelyStopped)return;if(f.eventPhase=f.AT_TARGET,f.currentTarget=f.target,this.notifyTarget(f,A),!(f.propagationStopped||f.propagationImmediatelyStopped)){var G=_.indexOf(f.currentTarget);f.eventPhase=f.BUBBLING_PHASE;for(var ae=G+1;ae<_.length;ae++)if(f.currentTarget=_[ae],this.notifyTarget(f,A),f.propagationStopped||f.propagationImmediatelyStopped)return}}}},{key:"propagationPath",value:function(f){var A=[f],_=this.rootTarget.defaultView||null;if(_&&_===f)return A.unshift(_.document),A;for(var k=0;kG||_>ae?null:!ge&&this.pickHandler(f)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(f,A){var _,k=A==null?void 0:A.target;if((_=k)!==null&&_!==void 0&&_.shadowRoot&&(k=A.composedPath()[0]),k){if(k===f)return!0;if(f&&f.contains)return f.contains(k)}return A!=null&&A.composedPath?A.composedPath().indexOf(f)>-1:!1}},{key:"getExistedHTML",value:function(f){if(f.nativeEvent.composedPath)for(var A=0,_=f.nativeEvent.composedPath();A<_.length;A++){var k=_[A],G=this.nativeHTMLMap.get(k);if(G)return G}return null}},{key:"pickTarget",value:function(f){return this.hitTest({clientX:f.clientX,clientY:f.clientY,viewportX:f.viewportX,viewportY:f.viewportY,x:f.canvasX,y:f.canvasY})}},{key:"createPointerEvent",value:function(f,A,_,k){var G=this.allocateEvent(Qd);this.copyPointerData(f,G),this.copyMouseData(f,G),this.copyData(f,G),G.nativeEvent=f.nativeEvent,G.originalEvent=f;var ae=this.getExistedHTML(G),ge=this.context.contextService.getDomElement();return G.target=_!=null?_:ae||this.isNativeEventFromCanvas(ge,G.nativeEvent)&&this.pickTarget(G)||k,typeof A=="string"&&(G.type=A),G}},{key:"createWheelEvent",value:function(f){var A=this.allocateEvent(Wd);this.copyWheelData(f,A),this.copyMouseData(f,A),this.copyData(f,A),A.nativeEvent=f.nativeEvent,A.originalEvent=f;var _=this.getExistedHTML(A),k=this.context.contextService.getDomElement();return A.target=_||this.isNativeEventFromCanvas(k,A.nativeEvent)&&this.pickTarget(A),A}},{key:"trackingData",value:function(f){return this.mappingState.trackingData[f]||(this.mappingState.trackingData[f]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[f]}},{key:"cloneWheelEvent",value:function(f){var A=this.allocateEvent(Wd);return A.nativeEvent=f.nativeEvent,A.originalEvent=f.originalEvent,this.copyWheelData(f,A),this.copyMouseData(f,A),this.copyData(f,A),A.target=f.target,A.path=f.composedPath().slice(),A.type=f.type,A}},{key:"clonePointerEvent",value:function(f,A){var _=this.allocateEvent(Qd);return _.nativeEvent=f.nativeEvent,_.originalEvent=f.originalEvent,this.copyPointerData(f,_),this.copyMouseData(f,_),this.copyData(f,_),_.target=f.target,_.path=f.composedPath().slice(),_.type=A!=null?A:_.type,_}},{key:"copyPointerData",value:function(f,A){A.pointerId=f.pointerId,A.width=f.width,A.height=f.height,A.isPrimary=f.isPrimary,A.pointerType=f.pointerType,A.pressure=f.pressure,A.tangentialPressure=f.tangentialPressure,A.tiltX=f.tiltX,A.tiltY=f.tiltY,A.twist=f.twist}},{key:"copyMouseData",value:function(f,A){A.altKey=f.altKey,A.button=f.button,A.buttons=f.buttons,A.ctrlKey=f.ctrlKey,A.metaKey=f.metaKey,A.shiftKey=f.shiftKey,A.client.copyFrom(f.client),A.movement.copyFrom(f.movement),A.canvas.copyFrom(f.canvas),A.screen.copyFrom(f.screen),A.global.copyFrom(f.global),A.offset.copyFrom(f.offset)}},{key:"copyWheelData",value:function(f,A){A.deltaMode=f.deltaMode,A.deltaX=f.deltaX,A.deltaY=f.deltaY,A.deltaZ=f.deltaZ}},{key:"copyData",value:function(f,A){A.isTrusted=f.isTrusted,A.timeStamp=yu.now(),A.type=f.type,A.detail=f.detail,A.view=f.view,A.page.copyFrom(f.page),A.viewport.copyFrom(f.viewport)}},{key:"allocateEvent",value:function(f){this.eventPool.has(f)||this.eventPool.set(f,[]);var A=this.eventPool.get(f).pop()||new f(this);return A.eventPhase=A.NONE,A.currentTarget=null,A.path=[],A.target=null,A}},{key:"freeEvent",value:function(f){if(f.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");var A=f.constructor;this.eventPool.has(A)||this.eventPool.set(A,[]),this.eventPool.get(A).push(f)}},{key:"notifyTarget",value:function(f,A){A=A!=null?A:f.type;var _=f.eventPhase===f.CAPTURING_PHASE||f.eventPhase===f.AT_TARGET?"".concat(A,"capture"):A;this.notifyListeners(f,_),f.eventPhase===f.AT_TARGET&&this.notifyListeners(f,A)}},{key:"notifyListeners",value:function(f,A){var _=f.currentTarget.emitter,k=_._events[A];if(k)if("fn"in k)k.once&&_.removeListener(A,k.fn,void 0,!0),k.fn.call(f.currentTarget||k.context,f);else for(var G=0;G=0;_--){var k=f[_];if(k===this.rootTarget||vo.isNode(k)&&k.parentNode===A)A=f[_];else break}return A}},{key:"getCursor",value:function(f){for(var A=f;A;){var _=Gl(A)&&A.getAttribute("cursor");if(_)return _;A=vo.isNode(A)&&A.parentNode}}}])}(),Np=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"getOrCreateCanvas",value:function(f,A){if(this.canvas)return this.canvas;if(f||Oi.offscreenCanvas)this.canvas=f||Oi.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},A));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},A)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(_){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},A))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(f,A){return this.context?this.context:(this.getOrCreateCanvas(f,A),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(f){}try{return document.createElement("canvas")}catch(f){}return null}}])}(),rh=function(x){return x[x.CAMERA_CHANGED=0]="CAMERA_CHANGED",x[x.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",x[x.NONE=2]="NONE",x}({}),Mc=function(){function x(S,f){(0,Z.Z)(this,x),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new Fc,initAsync:new Yu,dirtycheck:new Gu,cull:new Gu,beginFrame:new Fc,beforeRender:new Fc,render:new Fc,afterRender:new Fc,endFrame:new Fc,destroy:new Fc,pick:new Ui,pickSync:new Gu,pointerDown:new Fc,pointerUp:new Fc,pointerMove:new Fc,pointerOut:new Fc,pointerOver:new Fc,pointerWheel:new Fc,pointerCancel:new Fc,click:new Fc},this.globalRuntime=S,this.context=f}return(0,V.Z)(x,[{key:"init",value:function(f){var A=this,_=(0,m.Z)((0,m.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(k){k.apply(_,A.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,f()):this.hooks.initAsync.promise().then(function(){A.inited=!0,f()}).catch(function(k){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var f=this.context.config.renderer,A=f.getConfig(),_=A.enableDirtyRectangleRendering;return!_||this.context.renderingContext.renderReasons.has(rh.CAMERA_CHANGED)}},{key:"render",value:function(f,A,_){var k=this,G=f.getConfig(),ae=this.context.renderingContext;if(this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0,this.globalRuntime.sceneGraphService.syncHierarchy(ae.root),this.globalRuntime.sceneGraphService.notifyMutationObservers(f),ae.renderReasons.size&&this.inited){ae.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var ge=ae.renderReasons.size===1&&ae.renderReasons.has(rh.CAMERA_CHANGED),Ue=!G.disableRenderHooks||!ge;Ue&&this.renderDisplayObject(ae.root,G,ae),this.hooks.beginFrame.call(A),Ue&&ae.renderListCurrentFrame.forEach(function(rt){k.hooks.beforeRender.call(rt),k.hooks.render.call(rt),k.hooks.afterRender.call(rt)}),this.hooks.endFrame.call(A),ae.renderListCurrentFrame=[],ae.renderReasons.clear(),_()}}},{key:"renderDisplayObject",value:function(f,A,_){var k=this,G=A.renderer.getConfig(),ae=G.enableDirtyCheck,ge=G.enableCulling;function Ue(Gn){var ir=Gn.renderable,tr=Gn.sortable,Zn=ae?ir.dirty||_.dirtyRectangleRenderingDisabled?Gn:null:Gn,Tr=null;Zn&&(Tr=ge?k.hooks.cull.call(Zn,k.context.camera):Zn,Tr&&(k.stats.rendered+=1,_.renderListCurrentFrame.push(Tr))),Gn.dirty(!1),tr.renderOrder=k.zIndexCounter,k.zIndexCounter+=1,k.stats.total+=1,tr.dirty&&(k.sort(Gn,tr),tr.dirty=!1,tr.dirtyChildren=[],tr.dirtyReason=void 0)}for(var rt=[f];rt.length>0;){var bt,Zt=rt.pop();Ue(Zt);for(var wn=((bt=Zt.sortable)===null||bt===void 0||(bt=bt.sorted)===null||bt===void 0?void 0:bt.length)>0?Zt.sortable.sorted:Zt.childNodes,mn=wn.length-1;mn>=0;mn--)rt.push(wn[mn])}}},{key:"sort",value:function(f,A){var _,k;(A==null||(_=A.sorted)===null||_===void 0?void 0:_.length)>0&&A.dirtyReason!==Di.Z_INDEX_CHANGED?A.dirtyChildren.forEach(function(G){var ae=A.sorted.indexOf(G);ae>-1&&A.sorted.splice(ae,1);var ge=f.childNodes.indexOf(G);if(ge>-1)if(A.sorted.length===0)A.sorted.push(G);else{var Ue=Ea(A.sorted,G);A.sorted.splice(Ue,0,G)}}):A.sorted=f.childNodes.slice().sort(Rl),((k=A.sorted)===null||k===void 0?void 0:k.length)>0&&f.childNodes.filter(function(G){return G.parsedStyle.zIndex}).length===0&&(A.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call()}},{key:"dirty",value:function(){this.context.renderingContext.renderReasons.add(rh.DISPLAY_OBJECT_CHANGED)}}])}(),ih=/\[\s*(.*)=(.*)\s*\]/,Fp=function(){function x(){(0,Z.Z)(this,x)}return(0,V.Z)(x,[{key:"selectOne",value:function(f,A){var _=this;if(f.startsWith("."))return A.find(function(ge){return((ge==null?void 0:ge.classList)||[]).indexOf(_.getIdOrClassname(f))>-1});if(f.startsWith("#"))return A.find(function(ge){return ge.id===_.getIdOrClassname(f)});if(f.startsWith("[")){var k=this.getAttribute(f),G=k.name,ae=k.value;return G?A.find(function(ge){return A!==ge&&(G==="name"?ge.name===ae:_.attributeToString(ge,G)===ae)}):null}return A.find(function(ge){return A!==ge&&ge.nodeName===f})}},{key:"selectAll",value:function(f,A){var _=this;if(f.startsWith("."))return A.findAll(function(ge){return A!==ge&&((ge==null?void 0:ge.classList)||[]).indexOf(_.getIdOrClassname(f))>-1});if(f.startsWith("#"))return A.findAll(function(ge){return A!==ge&&ge.id===_.getIdOrClassname(f)});if(f.startsWith("[")){var k=this.getAttribute(f),G=k.name,ae=k.value;return G?A.findAll(function(ge){return A!==ge&&(G==="name"?ge.name===ae:_.attributeToString(ge,G)===ae)}):[]}return A.findAll(function(ge){return A!==ge&&ge.nodeName===f})}},{key:"is",value:function(f,A){if(f.startsWith("."))return A.className===this.getIdOrClassname(f);if(f.startsWith("#"))return A.id===this.getIdOrClassname(f);if(f.startsWith("[")){var _=this.getAttribute(f),k=_.name,G=_.value;return k==="name"?A.name===G:this.attributeToString(A,k)===G}return A.nodeName===f}},{key:"getIdOrClassname",value:function(f){return f.substring(1)}},{key:"getAttribute",value:function(f){var A=f.match(ih),_="",k="";return A&&A.length>2&&(_=A[1].replace(/"/g,""),k=A[2].replace(/"/g,"")),{name:_,value:k}}},{key:"attributeToString",value:function(f,A){if(!f.getAttribute)return"";var _=f.getAttribute(A);return(0,$e.Z)(_)?"":_.toString?_.toString():""}}])}(),Ra=function(x){return x.ATTR_MODIFIED="DOMAttrModified",x.INSERTED="DOMNodeInserted",x.MOUNTED="DOMNodeInsertedIntoDocument",x.REMOVED="removed",x.UNMOUNTED="DOMNodeRemovedFromDocument",x.REPARENT="reparent",x.DESTROY="destroy",x.BOUNDS_CHANGED="bounds-changed",x.CULLED="culled",x}({}),Hu=function(x){function S(f,A,_,k,G,ae,ge,Ue){var rt;return(0,Z.Z)(this,S),rt=(0,E.Z)(this,S,[null]),rt.relatedNode=A,rt.prevValue=_,rt.newValue=k,rt.attrName=G,rt.attrChange=ae,rt.prevParsedValue=ge,rt.newParsedValue=Ue,rt.type=f,rt}return(0,F.Z)(S,x),(0,V.Z)(S)}(Jh);Hu.ADDITION=2,Hu.MODIFICATION=1,Hu.REMOVAL=3;var vf=new Hu(Ra.REPARENT,null,"","","",0,"",""),_d=we.Ue(),wh=D.Ue(),Iu=D.al(1,1,1),yf=j.create(),BA=we.Ue(),Lc=D.Ue(),xf=j.create(),Sh=he.Ue(),bf=D.Ue(),Yf=he.Ue(),RA=D.Ue(),wd=D.Ue(),sh=D.Ue(),Sd=j.create(),IA=he.Ue(),NA=he.Ue(),qf=he.Ue(),Mg=function(){function x(S){(0,Z.Z)(this,x),this.displayObjectDependencyMap=new WeakMap,this.runtime=S}return(0,V.Z)(x,[{key:"matches",value:function(f,A){return this.runtime.sceneGraphSelector.is(f,A)}},{key:"querySelector",value:function(f,A){return this.runtime.sceneGraphSelector.selectOne(f,A)}},{key:"querySelectorAll",value:function(f,A){return this.runtime.sceneGraphSelector.selectAll(f,A)}},{key:"attach",value:function(f,A,_){var k,G=!1;f.parentNode&&(G=f.parentNode!==A,this.detach(f));var ae=f.nodeName===Jt.FRAGMENT,ge=Hl(A);f.parentNode=A;var Ue=ae?f.childNodes:[f];(0,ve.Z)(_)?Ue.forEach(function(Gn){A.childNodes.splice(_,0,Gn),Gn.parentNode=A}):Ue.forEach(function(Gn){A.childNodes.push(Gn),Gn.parentNode=A});var rt=A,bt=rt.sortable;if((bt!=null&&(k=bt.sorted)!==null&&k!==void 0&&k.length||bt.dirty||f.parsedStyle.zIndex)&&(bt.dirtyChildren.indexOf(f)===-1&&bt.dirtyChildren.push(f),bt.dirty=!0,bt.dirtyReason=Di.ADDED),!ge){if(ae)this.dirtyFragment(f);else{var Zt=f.transformable;Zt&&this.dirtyWorldTransform(f,Zt)}if(G){var wn,mn=((wn=A.ownerDocument)===null||wn===void 0||(wn=wn.defaultView)===null||wn===void 0||(wn=wn.getConfig())===null||wn===void 0||(wn=wn.future)===null||wn===void 0?void 0:wn.experimentalCancelEventPropagation)===!0;f.dispatchEvent(vf,mn,mn)}}}},{key:"detach",value:function(f){var A,_;if(f.parentNode){var k=f.transformable,G=f.parentNode,ae=G.sortable;(ae!=null&&(A=ae.sorted)!==null&&A!==void 0&&A.length||(_=f.style)!==null&&_!==void 0&&_.zIndex)&&(ae.dirtyChildren.indexOf(f)===-1&&ae.dirtyChildren.push(f),ae.dirty=!0,ae.dirtyReason=Di.REMOVED);var ge=f.parentNode.childNodes.indexOf(f);ge>-1&&f.parentNode.childNodes.splice(ge,1),k&&this.dirtyWorldTransform(f,k),f.parentNode=null}}},{key:"getLocalPosition",value:function(f){return f.transformable.localPosition}},{key:"getLocalRotation",value:function(f){return f.transformable.localRotation}},{key:"getLocalScale",value:function(f){return f.transformable.localScale}},{key:"getLocalSkew",value:function(f){return f.transformable.localSkew}},{key:"getLocalTransform",value:function(f){var A=f.transformable;return Aa(A),A.localTransform}},{key:"setLocalPosition",value:function(f,A){var _,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,G=f.transformable;wd[0]=A[0],wd[1]=A[1],wd[2]=(_=A[2])!==null&&_!==void 0?_:0,!D.fS(G.localPosition,wd)&&(D.JG(G.localPosition,wd),k&&this.dirtyLocalTransform(f,G))}},{key:"translateLocal",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=D.al(A,_,k));var G=f.transformable;D.fS(A,wh)||(D.VC(A,A,G.localRotation),D.IH(G.localPosition,G.localPosition,A),this.dirtyLocalTransform(f,G))}},{key:"setLocalRotation",value:function(f,A,_,k,G){var ae=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof A=="number"&&(A=he.t8(Sh,A,_,k,G));var ge=f.transformable;he.JG(ge.localRotation,A),ae&&this.dirtyLocalTransform(f,ge)}},{key:"rotateLocal",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=D.al(A,_,k));var G=f.transformable;he.Su(NA,A[0],A[1],A[2]),he.dC(G.localRotation,G.localRotation,NA),this.dirtyLocalTransform(f,G)}},{key:"setLocalScale",value:function(f,A){var _,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,G=f.transformable;D.t8(Lc,A[0],A[1],(_=A[2])!==null&&_!==void 0?_:G.localScale[2]),!D.fS(Lc,G.localScale)&&(D.JG(G.localScale,Lc),k&&this.dirtyLocalTransform(f,G))}},{key:"scaleLocal",value:function(f,A){var _,k=f.transformable;D.Jp(k.localScale,k.localScale,D.t8(Lc,A[0],A[1],(_=A[2])!==null&&_!==void 0?_:1)),this.dirtyLocalTransform(f,k)}},{key:"setLocalSkew",value:function(f,A,_){var k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof A=="number"&&(A=we.t8(BA,A,_));var G=f.transformable;we.JG(G.localSkew,A),k&&this.dirtyLocalTransform(f,G)}},{key:"setLocalEulerAngles",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,G=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof A=="number"&&(A=D.al(A,_,k));var ae=f.transformable;he.Su(ae.localRotation,A[0],A[1],A[2]),G&&this.dirtyLocalTransform(f,ae)}},{key:"setLocalTransform",value:function(f,A){var _=j.getTranslation(bf,A),k=j.getRotation(Yf,A),G=j.getScaling(RA,A);this.setLocalScale(f,G,!1),this.setLocalPosition(f,_,!1),this.setLocalRotation(f,k,void 0,void 0,void 0,!1),this.dirtyLocalTransform(f,f.transformable)}},{key:"resetLocalTransform",value:function(f){this.setLocalScale(f,Iu,!1),this.setLocalPosition(f,wh,!1),this.setLocalEulerAngles(f,wh,void 0,void 0,!1),this.setLocalSkew(f,_d,void 0,!1),this.dirtyLocalTransform(f,f.transformable)}},{key:"getPosition",value:function(f){var A=f.transformable;return j.getTranslation(A.position,this.getWorldTransform(f,A))}},{key:"getRotation",value:function(f){var A=f.transformable;return j.getRotation(A.rotation,this.getWorldTransform(f,A))}},{key:"getScale",value:function(f){var A=f.transformable;return j.getScaling(A.scaling,this.getWorldTransform(f,A))}},{key:"getOrigin",value:function(f){return f.getGeometryBounds(),f.transformable.origin}},{key:"getWorldTransform",value:function(f){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.transformable;return!A.localDirtyFlag&&!A.dirtyFlag||(f.parentNode&&f.parentNode.transformable&&this.getWorldTransform(f.parentNode),this.internalUpdateTransform(f)),A.worldTransform}},{key:"setPosition",value:function(f,A){var _,k=f.transformable;if(sh[0]=A[0],sh[1]=A[1],sh[2]=(_=A[2])!==null&&_!==void 0?_:0,!D.fS(this.getPosition(f),sh)){if(D.JG(k.position,sh),f.parentNode===null||!f.parentNode.transformable)D.JG(k.localPosition,sh);else{var G=f.parentNode.transformable;j.copy(Sd,G.worldTransform),j.invert(Sd,Sd),D.fF(k.localPosition,sh,Sd)}this.dirtyLocalTransform(f,k)}}},{key:"translate",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=D.t8(Lc,A,_,k)),!D.fS(A,wh)&&(D.IH(Lc,this.getPosition(f),A),this.setPosition(f,Lc))}},{key:"setRotation",value:function(f,A,_,k,G){var ae=f.transformable;if(typeof A=="number"&&(A=he.al(A,_,k,G)),f.parentNode===null||!f.parentNode.transformable)this.setLocalRotation(f,A);else{var ge=this.getRotation(f.parentNode);he.JG(Sh,ge),he.U_(Sh,Sh),he.Jp(ae.localRotation,Sh,A),he.Fv(ae.localRotation,ae.localRotation),this.dirtyLocalTransform(f,ae)}}},{key:"rotate",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=D.al(A,_,k));var G=f.transformable;if(f.parentNode===null||!f.parentNode.transformable)this.rotateLocal(f,A);else{var ae=Sh;he.Su(ae,A[0],A[1],A[2]);var ge=this.getRotation(f),Ue=this.getRotation(f.parentNode);he.JG(qf,Ue),he.U_(qf,qf),he.Jp(ae,qf,ae),he.Jp(G.localRotation,ae,ge),he.Fv(G.localRotation,G.localRotation),this.dirtyLocalTransform(f,G)}}},{key:"setOrigin",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=[A,_,k]);var G=f.transformable;if(!(A[0]===G.origin[0]&&A[1]===G.origin[1]&&A[2]===G.origin[2])){var ae=G.origin;ae[0]=A[0],ae[1]=A[1],ae[2]=A[2]||0,this.dirtyLocalTransform(f,G)}}},{key:"setEulerAngles",value:function(f,A){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof A=="number"&&(A=D.al(A,_,k));var G=f.transformable;if(f.parentNode===null||!f.parentNode.transformable)this.setLocalEulerAngles(f,A);else{he.Su(G.localRotation,A[0],A[1],A[2]);var ae=this.getRotation(f.parentNode);he.JG(IA,he.U_(Sh,ae)),he.dC(G.localRotation,G.localRotation,IA),this.dirtyLocalTransform(f,G)}}},{key:"getGeometryBounds",value:function(f){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_=f,k=_.geometry;k.dirty&&Oi.styleValueRegistry.updateGeometry(f);var G=A?k.renderBounds:k.contentBounds||null;return G||new ie}},{key:"getTransformedGeometryBounds",value:function(f){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_=arguments.length>2?arguments[2]:void 0,k=this.getGeometryBounds(f,A);if(!ie.isEmpty(k)){var G=_||new ie;return G.setFromTransformedAABB(k,this.getWorldTransform(f)),G}return null}},{key:"getBounds",value:function(f){var A=this,_=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,k=f,G=k.renderable;if(!G.boundsDirty&&!_&&G.bounds)return G.bounds;if(!G.renderBoundsDirty&&_&&G.renderBounds)return G.renderBounds;var ae=_?G.renderBounds:G.bounds,ge=this.getTransformedGeometryBounds(f,_,ae),Ue=f.childNodes;if(Ue.forEach(function(Zt){var wn=A.getBounds(Zt,_);wn&&(ge?ge.add(wn):(ge=ae||new ie,ge.update(wn.center,wn.halfExtents)))}),ge||(ge=new ie),_){var rt=Zf(f);if(rt){var bt=rt.parsedStyle.clipPath.getBounds(_);ge?bt&&(ge=bt.intersection(ge)):ge.update(bt.center,bt.halfExtents)}}return _?(G.renderBounds=ge,G.renderBoundsDirty=!1):(G.bounds=ge,G.boundsDirty=!1),ge}},{key:"getLocalBounds",value:function(f){if(f.parentNode){var A=yf;f.parentNode.transformable&&(A=j.invert(xf,this.getWorldTransform(f.parentNode)));var _=this.getBounds(f);if(!ie.isEmpty(_)){var k=new ie;return k.setFromTransformedAABB(_,A),k}}return this.getBounds(f)}},{key:"getBoundingClientRect",value:function(f){var A,_,k=this.getGeometryBounds(f);ie.isEmpty(k)||(_=new ie,_.setFromTransformedAABB(k,this.getWorldTransform(f)));var G=(A=f.ownerDocument)===null||A===void 0||(A=A.defaultView)===null||A===void 0?void 0:A.getContextService().getBoundingClientRect();if(_){var ae=_.getMin(),ge=(0,C.Z)(ae,2),Ue=ge[0],rt=ge[1],bt=_.getMax(),Zt=(0,C.Z)(bt,2),wn=Zt[0],mn=Zt[1];return new Sn(Ue+((G==null?void 0:G.left)||0),rt+((G==null?void 0:G.top)||0),wn-Ue,mn-rt)}return new Sn((G==null?void 0:G.left)||0,(G==null?void 0:G.top)||0,0,0)}},{key:"internalUpdateTransform",value:function(f){var A,_=(A=f.parentNode)===null||A===void 0?void 0:A.transformable;Aa(f.transformable),sa(f.transformable,_)}},{key:"internalUpdateElement",value:function(f,A){var _,k,G,ae,ge=((_=f.ownerDocument)===null||_===void 0||(_=_.defaultView)===null||_===void 0||(_=_.getConfig())===null||_===void 0||(_=_.future)===null||_===void 0?void 0:_.experimentalAttributeUpdateOptimization)===!0,Ue=A[A.length-1],rt=(Ue==null?void 0:Ue.transformDirty)||((k=f.transformable)===null||k===void 0?void 0:k.localDirtyFlag);if(f.transformable){var bt;(bt=f.transformable).dirtyFlag||(bt.dirtyFlag=rt)}if(this.internalUpdateTransform(f),rt){var Zt;(Zt=f.dirty)===null||Zt===void 0||Zt.call(f,!0,!0)}var wn=((G=f.renderable)===null||G===void 0?void 0:G.boundsDirty)||((ae=f.renderable)===null||ae===void 0?void 0:ae.renderBoundsDirty);if((rt||wn)&&(Ue==null?void 0:Ue.shapeUpdated)===!1&&ge)for(var mn=A.length-1;mn>=0;){var Gn,ir,tr=A[mn];if(tr.shapeUpdated)break;(Gn=(ir=tr.node).dirty)===null||Gn===void 0||Gn.call(ir,!0,!0),tr.shapeUpdated=!0,mn-=1}return rt}},{key:"syncHierarchy",value:function(f){for(var A,_,k=[f],G=f.parentNode?[{node:f.parentNode,transformDirty:((A=f.parentNode.transformable)===null||A===void 0?void 0:A.localDirtyFlag)||((_=f.parentNode.transformable)===null||_===void 0?void 0:_.dirtyFlag),shapeUpdated:!1}]:[];k.length>0;){for(var ae=k.pop(),ge=G[G.length-1];G.length>0&&ae.parentNode!==ge.node;)ge=G.pop();var Ue=this.internalUpdateElement(ae,G);if(ae.childNodes.length>0){for(var rt=ae.childNodes.length-1;rt>=0;rt--)k.push(ae.childNodes[rt]);G.push({node:ae,transformDirty:Ue,shapeUpdated:!1})}}}},{key:"dirtyLocalTransform",value:function(f,A){Hl(f)||A.localDirtyFlag||(A.localDirtyFlag=!0,A.dirtyFlag||this.dirtyWorldTransform(f,A))}},{key:"dirtyWorldTransform",value:function(f,A){this.dirtyWorldInternal(f,A),this.dirtyToRoot(f,!0)}},{key:"dirtyWorldInternal",value:function(f,A){var _,k=this,G=((_=f.ownerDocument)===null||_===void 0||(_=_.defaultView)===null||_===void 0||(_=_.getConfig())===null||_===void 0||(_=_.future)===null||_===void 0?void 0:_.experimentalAttributeUpdateOptimization)===!0;A.dirtyFlag||(A.dirtyFlag=!0,f.dirty(!0,!0),G||f.childNodes.forEach(function(ae){var ge=ae.transformable;k.dirtyWorldInternal(ae,ge)}))}},{key:"dirtyToRoot",value:function(f){for(var A,_=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,k=f,G=((A=f.ownerDocument)===null||A===void 0||(A=A.defaultView)===null||A===void 0||(A=A.getConfig())===null||A===void 0||(A=A.future)===null||A===void 0?void 0:A.experimentalAttributeUpdateOptimization)===!0;k;){var ae,ge;if((ae=(ge=k).dirty)===null||ae===void 0||ae.call(ge,!0,!0),G)break;k=k.parentNode}_&&f.forEach(function(bt){var Zt;(Zt=bt.dirty)===null||Zt===void 0||Zt.call(bt,!0,!0)}),this.informDependentDisplayObjects(f);var Ue=f.mutations||[],rt=Ue.find(function(bt){return bt.type==="attributes"&&bt._boundsChangeData});rt?rt._boundsChangeData={affectChildren:rt._boundsChangeData.affectChildren||_}:(rt={type:"attributes",target:f,_boundsChangeData:{affectChildren:_}},Ue.push(rt)),f.mutations=Ue}},{key:"dirtyFragment",value:function(f){var A,_,k=f.transformable;k&&(k.dirtyFlag=!0,k.localDirtyFlag=!0),(A=(_=f).dirty)===null||A===void 0||A.call(_,!0,!0);for(var G=f.childNodes.length,ae=0;ae0){var _=new xu(Ra.BOUNDS_CHANGED,{detail:Array.from(A)});f.dispatchEvent(_,!0,!0)}}},{key:"updateDisplayObjectDependency",value:function(f,A,_,k){if(A&&A!==_){var G=this.displayObjectDependencyMap.get(A);if(G&&G[f]){var ae=G[f].indexOf(k);G[f].splice(ae,1)}}if(_){var ge=this.displayObjectDependencyMap.get(_);ge||(this.displayObjectDependencyMap.set(_,{}),ge=this.displayObjectDependencyMap.get(_)),ge[f]||(ge[f]=[]),ge[f].push(k)}}},{key:"informDependentDisplayObjects",value:function(f){var A,_=this,k=this.displayObjectDependencyMap.get(f);if(k){var G=(A=f.ownerDocument)===null||A===void 0||(A=A.defaultView)===null||A===void 0||(A=A.getConfig())===null||A===void 0||(A=A.future)===null||A===void 0?void 0:A.experimentalCancelEventPropagation;Object.keys(k).forEach(function(ae){k[ae].forEach(function(ge){_.dirtyToRoot(ge,!0),ge.dispatchEvent(new Hu(Ra.ATTR_MODIFIED,ge,_,_,ae,Hu.MODIFICATION,_,_),G,G),ge.isCustomElement&&ge.isConnected&&ge.attributeChangedCallback&&ge.attributeChangedCallback(ae,_,_)})})}}}])}(),hm=function(){function x(S){if((0,Z.Z)(this,x),S<=0)throw new Error("LRU capacity must be a positive number.");this.capacity=S,this.cache=new Map}return(0,V.Z)(x,[{key:"get",value:function(f){if(this.cache.has(f)){var A=this.cache.get(f);return this.cache.delete(f),this.cache.set(f,A),A}}},{key:"put",value:function(f,A){if(this.cache.has(f)&&this.cache.delete(f),this.cache.set(f,A),this.cache.size>this.capacity){var _=this.cache.keys().next().value;this.cache.delete(_)}}},{key:"len",value:function(){return this.cache.size}},{key:"clear",value:function(){this.cache.clear()}}])}(),ed={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]},td=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,Jf=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,dm=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,ap=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,Pp=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,Lp=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,Md=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,Up=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,Op=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,_f=new RegExp("".concat(Jf.source,"|").concat(ap.source,"|").concat(Lp.source,"|").concat(Up.source)),eA=new RegExp("".concat(dm.source,"|").concat(Pp.source,"|").concat(Md.source,"|").concat(Op.source)),Zd=function(){function x(S){var f=this;(0,Z.Z)(this,x),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(A,_){return f.isBreakingSpace(_)?!1:!!(A&&(eA.exec(_)||_f.exec(A)))},this.trimByKinsokuShorui=function(A){var _=(0,N.Z)(A),k=_[_.length-2];if(!k)return A;var G=k[k.length-1];return _[_.length-2]=k.slice(0,-1),_[_.length-1]=G+_[_.length-1],_},this.runtime=S,this.charWidthCache=new hm(100)}return(0,V.Z)(x,[{key:"measureFont",value:function(f,A){if(this.fontMetricsCache[f])return this.fontMetricsCache[f];var _={ascent:0,descent:0,fontSize:0},k=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(A),G=this.runtime.offscreenCanvasCreator.getOrCreateContext(A,{willReadFrequently:!0});G.font=f;var ae=ed.MetricsString+ed.BaselineSymbol,ge=Math.ceil(G.measureText(ae).width),Ue=Math.ceil(G.measureText(ed.BaselineSymbol).width),rt=ed.HeightMultiplier*Ue;Ue=Ue*ed.BaselineMultiplier|0,k.width=ge,k.height=rt,G.fillStyle="#f00",G.fillRect(0,0,ge,rt),G.font=f,G.textBaseline="alphabetic",G.fillStyle="#000",G.fillText(ae,0,Ue);var bt=G.getImageData(0,0,ge||1,rt||1).data,Zt=bt.length,wn=ge*4,mn=0,Gn=0,ir=!1;for(mn=0;mnUe;--mn){for(var Zn=0;ZnK&&R>=$;)R-=1,U=U.slice(0,-1);return{lineTxt:U,txtLastCharIndex:R}}function Hs(U,R){if(!(Gs<=0||Gs>ir)){if(!Zn[U]){Zn[U]=tr;return}var $=_s(Zn[U],R,ns+1,ir-Gs);Zn[U]=$.lineTxt+tr}}for(var Zs=0;Zs=wn){Zsir){Hs(Tr,Zs-1),A.isOverflowing=!0;break}if(ni>0&&ni+El>ir){var Ys=_s(Zn[Tr],Zs-1,ns+1,ir);if(Ys.txtLastCharIndex!==Zs-1){if(Zn[Tr]=Ys.lineTxt,Ys.txtLastCharIndex===G.length-1)break;Zs=Ys.txtLastCharIndex+1,Ia=G[Zs],Po=G[Zs-1],Ml=G[Zs+1],El=Ri(Ia)}if(Tr+1>=wn){Hs(Tr,Zs-1),A.isOverflowing=!0;break}if(ns=Zs-1,Tr+=1,ni=0,Zn[Tr]="",this.isBreakingSpace(Ia))continue;this.canBreakInLastChar(Ia)||(Zn=this.trimToBreakable(Zn),ni=this.sumTextWidthByCache(Zn[Tr]||"",Ri)),this.shouldBreakByKinsokuShorui(Ia,Ml)&&(Zn=this.trimByKinsokuShorui(Zn),ni+=Ri(Po||""))}ni+=El,Zn[Tr]+=Ia}return Zn.join(` -`)}},{key:"isBreakingSpace",value:function(f){return typeof f!="string"?!1:ed.BreakingSpaces.indexOf(f.charCodeAt(0))>=0}},{key:"isNewline",value:function(f){return typeof f!="string"?!1:ed.Newlines.indexOf(f.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(f){var A=(0,N.Z)(f),_=A[A.length-2],k=this.findBreakableIndex(_);if(k===-1||!_)return A;var G=_.slice(k,k+1),ae=this.isBreakingSpace(G),ge=k+1,Ue=k+(ae?0:1);return A[A.length-1]+=_.slice(ge,_.length),A[A.length-2]=_.slice(0,Ue),A}},{key:"canBreakInLastChar",value:function(f){return!(f&&td.test(f))}},{key:"sumTextWidthByCache",value:function(f,A){return f.split("").reduce(function(_,k){return _+A(k)},0)}},{key:"findBreakableIndex",value:function(f){for(var A=f.length-1;A>=0;A--)if(!td.test(f[A]))return A;return-1}},{key:"getFromCache",value:function(f,A,_,k){var G=_.get(f);if(typeof G!="number"){var ae=f.length*A,ge=k.measureText(f);G=ge.width+ae,_.put(f,G)}return G}},{key:"clearCache",value:function(){this.fontMetricsCache={},this.charWidthCache.clear()}}])}(),Oi={},op=function(x){var S=new Jl,f=new jf;return x={},(0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)(x,Jt.FRAGMENT,null),Jt.CIRCLE,new Il),Jt.ELLIPSE,new um),Jt.RECT,S),Jt.IMAGE,S),Jt.GROUP,new wg),Jt.LINE,new sp),Jt.TEXT,new cm(Oi)),Jt.POLYLINE,f),Jt.POLYGON,f),(0,Ci.Z)((0,Ci.Z)((0,Ci.Z)(x,Jt.PATH,new bd),Jt.HTML,new Vh),Jt.MESH,null)}(),ah=function(x){var S=new qc,f=new jl;return x={},(0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)(x,Ai.PERCENTAGE,null),Ai.NUMBER,new xh),Ai.ANGLE,new Bu),Ai.DEFINED_PATH,new cu),Ai.PAINT,S),Ai.COLOR,S),Ai.FILTER,new _l),Ai.LENGTH,f),Ai.LENGTH_PERCENTAGE,f),Ai.LENGTH_PERCENTAGE_12,new Jc),(0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)((0,Ci.Z)(x,Ai.LENGTH_PERCENTAGE_14,new eh),Ai.COORDINATE,new jl),Ai.OFFSET_DISTANCE,new MA),Ai.OPACITY_VALUE,new yl),Ai.PATH,new Nc),Ai.LIST_OF_POINTS,new bh),Ai.SHADOW_BLUR,new Wf),Ai.TEXT,new _h),Ai.TEXT_TRANSFORM,new ol),Ai.TRANSFORM,new Ip),(0,Ci.Z)((0,Ci.Z)((0,Ci.Z)(x,Ai.TRANSFORM_ORIGIN,new _g),Ai.Z_INDEX,new ip),Ai.MARKER,new df)}(),tA=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof b.g!="undefined"?b.g:{}};Oi.CameraContribution=$r,Oi.AnimationTimeline=null,Oi.EasingFunction=null,Oi.offscreenCanvasCreator=new Np,Oi.sceneGraphSelector=new Fp,Oi.sceneGraphService=new Mg(Oi),Oi.textService=new Zd(Oi),Oi.geometryUpdaterFactory=op,Oi.CSSPropertySyntaxFactory=ah,Oi.styleValueRegistry=new zl(Oi),Oi.layoutRegistry=null,Oi.globalThis=tA(),Oi.enableStyleSyntax=!0,Oi.enableSizeAttenuation=!1;var wf=0;function Kd(){wf=0}var Mh=new Hu(Ra.INSERTED,null,"","","",0,"",""),Ed=new Hu(Ra.REMOVED,null,"","","",0,"",""),Eg=new xu(Ra.DESTROY),Dp=function(x){function S(){var f;(0,Z.Z)(this,S);for(var A=arguments.length,_=new Array(A),k=0;k0&&arguments[0]!==void 0?arguments[0]:!0,_=arguments.length>1?arguments[1]:void 0;this.renderable.dirty=A,_!==void 0&&(this.renderable.boundsDirty=_,this.renderable.renderBoundsDirty=_,this.geometry.dirty=_)}},{key:"className",get:function(){return this.getAttribute("class")||""},set:function(A){this.setAttribute("class",A)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(A){return A!==""})}},{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 A=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[A+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var A=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[A-1]||null}return null}},{key:"cloneNode",value:function(A){throw new Error(Oe)}},{key:"appendChild",value:function(A,_){var k;if(A.destroyed)throw new Error(Re);return Oi.sceneGraphService.attach(A,this,_),(k=this.ownerDocument)!==null&&k!==void 0&&k.defaultView&&(!Hl(this)&&A.nodeName===Jt.FRAGMENT?this.ownerDocument.defaultView.mountFragment(A):this.ownerDocument.defaultView.mountChildren(A)),this.isMutationObserved&&(Mh.relatedNode=this,A.dispatchEvent(Mh)),A}},{key:"insertBefore",value:function(A,_){if(!_)this.appendChild(A);else{A.parentElement&&A.parentElement.removeChild(A);var k=this.childNodes.indexOf(_);k===-1?this.appendChild(A):this.appendChild(A,k)}return A}},{key:"replaceChild",value:function(A,_){var k=this.childNodes.indexOf(_);return this.removeChild(_),this.appendChild(A,k),_}},{key:"removeChild",value:function(A){var _,k,G=((_=this.ownerDocument)===null||_===void 0||(_=_.defaultView)===null||_===void 0||(_=_.getConfig().future)===null||_===void 0?void 0:_.experimentalCancelEventPropagation)===!0;return Ed.relatedNode=this,A.dispatchEvent(Ed,G,G),(k=A.ownerDocument)!==null&&k!==void 0&&k.defaultView&&A.ownerDocument.defaultView.unmountChildren(A),Oi.sceneGraphService.detach(A),A}},{key:"removeChildren",value:function(){for(var A=this.childNodes.length-1;A>=0;A--){var _=this.childNodes[A];this.removeChild(_)}}},{key:"destroyChildren",value:function(){for(var A=this.childNodes.length-1;A>=0;A--){var _=this.childNodes[A];_.childNodes.length>0&&_.destroyChildren(),_.destroy()}}},{key:"matches",value:function(A){return Oi.sceneGraphService.matches(A,this)}},{key:"getElementById",value:function(A){return Oi.sceneGraphService.querySelector("#".concat(A),this)}},{key:"getElementsByName",value:function(A){return Oi.sceneGraphService.querySelectorAll('[name="'.concat(A,'"]'),this)}},{key:"getElementsByClassName",value:function(A){return Oi.sceneGraphService.querySelectorAll(".".concat(A),this)}},{key:"getElementsByTagName",value:function(A){return Oi.sceneGraphService.querySelectorAll(A,this)}},{key:"querySelector",value:function(A){return Oi.sceneGraphService.querySelector(A,this)}},{key:"querySelectorAll",value:function(A){return Oi.sceneGraphService.querySelectorAll(A,this)}},{key:"closest",value:function(A){var _=this;do{if(Oi.sceneGraphService.matches(A,_))return _;_=_.parentElement}while(_!==null);return null}},{key:"find",value:function(A){var _=this,k=null;return this.forEach(function(G){return G!==_&&A(G)?(k=G,!1):!0}),k}},{key:"findAll",value:function(A){var _=this,k=[];return this.forEach(function(G){G!==_&&A(G)&&k.push(G)}),k}},{key:"after",value:function(){var A=this;if(this.parentNode){for(var _=this.parentNode.childNodes.indexOf(this),k=arguments.length,G=new Array(k),ae=0;ae0&&arguments[0]!==void 0?arguments[0]:!1;return Oi.sceneGraphService.getGeometryBounds(this,A)}},{key:"getTransformedGeometryBounds",value:function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return Oi.sceneGraphService.getTransformedGeometryBounds(this,A)}},{key:"getBounds",value:function(){return Oi.sceneGraphService.getBounds(this)}},{key:"getRenderBounds",value:function(){return Oi.sceneGraphService.getBounds(this,!0)}},{key:"getLocalBounds",value:function(){return Oi.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Oi.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(A){if(typeof A!="symbol"){var _=this.attributes[A];return _}}},{key:"hasAttribute",value:function(A){return this.getAttributeNames().includes(A)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(A){this.setAttribute(A,null),delete this.attributes[A]}},{key:"setAttribute",value:function(A,_){this.attributes[A]=_}},{key:"getAttributeNS",value:function(A,_){throw new Error(Oe)}},{key:"getAttributeNode",value:function(A){throw new Error(Oe)}},{key:"getAttributeNodeNS",value:function(A,_){throw new Error(Oe)}},{key:"hasAttributeNS",value:function(A,_){throw new Error(Oe)}},{key:"removeAttributeNS",value:function(A,_){throw new Error(Oe)}},{key:"removeAttributeNode",value:function(A){throw new Error(Oe)}},{key:"setAttributeNS",value:function(A,_,k){throw new Error(Oe)}},{key:"setAttributeNode",value:function(A){throw new Error(Oe)}},{key:"setAttributeNodeNS",value:function(A){throw new Error(Oe)}},{key:"toggleAttribute",value:function(A,_){throw new Error(Oe)}}])}(vo);function Do(x){return!!(x!=null&&x.nodeName)}var $d=Oi.globalThis.Proxy?Oi.globalThis.Proxy:function(){},Qc=new Hu(Ra.ATTR_MODIFIED,null,null,null,null,Hu.MODIFICATION,null,null),Eh=D.Ue(),lp=he.Ue(),wo=function(x){function S(f){var A;return(0,Z.Z)(this,S),A=(0,E.Z)(this,S),A.isCustomElement=!1,A.isMutationObserved=!1,A.activeAnimations=[],A.config=f,A.id=f.id||"",A.name=f.name||"",(f.className||f.class)&&(A.className=f.className||f.class),A.nodeName=f.type||Jt.GROUP,f.initialParsedStyle&&Object.assign(A.parsedStyle,f.initialParsedStyle),A.initAttributes(f.style),Oi.enableStyleSyntax&&(A.style=new $d({setProperty:function(k,G){A.setAttribute(k,G)},getPropertyValue:function(k){return A.getAttribute(k)},removeProperty:function(k){A.removeAttribute(k)},item:function(){return""}},{get:function(k,G){return k[G]!==void 0?k[G]:A.getAttribute(G)},set:function(k,G,ae){return A.setAttribute(G,ae),!0}})),A}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"destroy",value:function(){(0,En.Z)(S,"destroy",this,3)([]),this.getAnimations().forEach(function(A){A.cancel()})}},{key:"cloneNode",value:function(A,_){var k=(0,m.Z)({},this.attributes);for(var G in k){var ae=k[G];Do(ae)&&G!=="clipPath"&&G!=="offsetPath"&&G!=="textPath"&&(k[G]=ae.cloneNode(A)),_&&(k[G]=_(G,ae))}var ge=new this.constructor((0,m.Z)((0,m.Z)({},this.config),{},{style:k}));return ge.setLocalTransform(this.getLocalTransform()),A&&this.children.forEach(function(Ue){if(!Ue.style.isMarker){var rt=Ue.cloneNode(A);ge.appendChild(rt)}}),ge}},{key:"initAttributes",value:function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_={forceUpdateGeometry:!0};Oi.styleValueRegistry.processProperties(this,A,_),this.dirty()}},{key:"setAttribute",value:function(A,_){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,G=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;(0,vr.Z)(_)||(k||_!==this.attributes[A])&&(this.internalSetAttribute(A,_,{memoize:G}),(0,En.Z)(S,"setAttribute",this,3)([A,_]))}},{key:"setAttributes",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},k=_.skipDispatchAttrModifiedEvent,G=k===void 0?!1:k,ae,ge;if(G||(ae=(0,m.Z)({},this.attributes),ge=(0,m.Z)({},this.parsedStyle)),Oi.styleValueRegistry.processProperties(this,A,_),this.dirty(),!G)for(var Ue in A)this.dispatchAttrModifiedEvent(Ue,ae[Ue],A[Ue],ge[Ue])}},{key:"internalSetAttribute",value:function(A,_){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},G=this.attributes[A],ae=this.parsedStyle[A];Oi.styleValueRegistry.processProperties(this,(0,Ci.Z)({},A,_),k),this.dirty(),this.dispatchAttrModifiedEvent(A,G,_,ae)}},{key:"dispatchAttrModifiedEvent",value:function(A,_,k,G){var ae=this.parsedStyle[A];if(this.isConnected)if(Qc.relatedNode=this,Qc.prevValue=_,Qc.newValue=k,Qc.attrName=A,Qc.prevParsedValue=G,Qc.newParsedValue=ae,this.isMutationObserved)this.dispatchEvent(Qc);else{var ge,Ue=((ge=this.ownerDocument.defaultView.getConfig().future)===null||ge===void 0?void 0:ge.experimentalCancelEventPropagation)===!0;Qc.target=this,this.ownerDocument.defaultView.dispatchEvent(Qc,!0,Ue)}if(this.isCustomElement&&this.isConnected||!this.isCustomElement){var rt,bt;(rt=(bt=this).attributeChangedCallback)===null||rt===void 0||rt.call(bt,A,_,k,G,ae)}}},{key:"getBBox",value:function(){var A=this.getBounds(),_=A.getMin(),k=(0,C.Z)(_,2),G=k[0],ae=k[1],ge=A.getMax(),Ue=(0,C.Z)(ge,2),rt=Ue[0],bt=Ue[1];return new Sn(G,ae,rt-G,bt-ae)}},{key:"setOrigin",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Oi.sceneGraphService.setOrigin(this,tn(A,_,k,!1)),this}},{key:"getOrigin",value:function(){return Oi.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Oi.sceneGraphService.setPosition(this,tn(A,_,k,!1)),this}},{key:"setLocalPosition",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Oi.sceneGraphService.setLocalPosition(this,tn(A,_,k,!1)),this}},{key:"translate",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Oi.sceneGraphService.translate(this,tn(A,_,k,!1)),this}},{key:"translateLocal",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Oi.sceneGraphService.translateLocal(this,tn(A,_,k,!1)),this}},{key:"getPosition",value:function(){return Oi.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Oi.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(A,_,k){return this.scaleLocal(A,_,k)}},{key:"scaleLocal",value:function(A,_,k){return typeof A=="number"&&(_=_||A,k=k||A,A=tn(A,_,k,!1)),Oi.sceneGraphService.scaleLocal(this,A),this}},{key:"setLocalScale",value:function(A,_,k){return typeof A=="number"&&(_=_||A,k=k||A,A=tn(A,_,k,!1)),Oi.sceneGraphService.setLocalScale(this,A),this}},{key:"getLocalScale",value:function(){return Oi.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Oi.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var A=Hr(Eh,Oi.sceneGraphService.getWorldTransform(this)),_=(0,C.Z)(A,3),k=_[2];return er(k)}},{key:"getLocalEulerAngles",value:function(){var A=Hr(Eh,Oi.sceneGraphService.getLocalRotation(this)),_=(0,C.Z)(A,3),k=_[2];return er(k)}},{key:"setEulerAngles",value:function(A){return Oi.sceneGraphService.setEulerAngles(this,0,0,A),this}},{key:"setLocalEulerAngles",value:function(A){return Oi.sceneGraphService.setLocalEulerAngles(this,0,0,A),this}},{key:"rotateLocal",value:function(A,_,k){return(0,$e.Z)(_)&&(0,$e.Z)(k)?Oi.sceneGraphService.rotateLocal(this,0,0,A):Oi.sceneGraphService.rotateLocal(this,A,_,k),this}},{key:"rotate",value:function(A,_,k){return(0,$e.Z)(_)&&(0,$e.Z)(k)?Oi.sceneGraphService.rotate(this,0,0,A):Oi.sceneGraphService.rotate(this,A,_,k),this}},{key:"setRotation",value:function(A,_,k,G){return Oi.sceneGraphService.setRotation(this,A,_,k,G),this}},{key:"setLocalRotation",value:function(A,_,k,G){return Oi.sceneGraphService.setLocalRotation(this,A,_,k,G),this}},{key:"setLocalSkew",value:function(A,_){return Oi.sceneGraphService.setLocalSkew(this,A,_),this}},{key:"getRotation",value:function(){return Oi.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Oi.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Oi.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Oi.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Oi.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(A){return Oi.sceneGraphService.setLocalTransform(this,A),this}},{key:"resetLocalTransform",value:function(){Oi.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(A,_){var k,G=(k=this.ownerDocument)===null||k===void 0?void 0:k.timeline;return G?G.play(this,A,_):null}},{key:"isVisible",value:function(){var A;return((A=this.parsedStyle)===null||A===void 0?void 0:A.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(A){this.style.pointerEvents=A?"auto":"none"}},{key:"isInteractive",value:function(){var A;return((A=this.parsedStyle)===null||A===void 0?void 0:A.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,N.Z)(this.parentNode.children.map(function(A){return Number(A.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,N.Z)(this.parentNode.children.map(function(A){return Number(A.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var A=this,_=arguments.length,k=new Array(_),G=0;G<_;G++)k[G]=arguments[G];var ae=k[0],ge=k[1];return ae?(0,qr.Z)(ae)?(Object.keys(ae).forEach(function(Ue){A.setAttribute(Ue,ae[Ue])}),this):k.length===2?(this.setAttribute(ae,ge),this):this.attributes[ae]:this.attributes}},{key:"getMatrix",value:function(A){var _=A||this.getWorldTransform(),k=j.getTranslation(Eh,_),G=(0,C.Z)(k,2),ae=G[0],ge=G[1],Ue=j.getScaling(Eh,_),rt=(0,C.Z)(Ue,2),bt=rt[0],Zt=rt[1],wn=j.getRotation(lp,_),mn=Hr(Eh,wn),Gn=(0,C.Z)(mn,3),ir=Gn[0],tr=Gn[2];return Pr(ir||tr,ae,ge,bt,Zt)}},{key:"getLocalMatrix",value:function(){return this.getMatrix(this.getLocalTransform())}},{key:"setMatrix",value:function(A){var _=Zi(A),k=(0,C.Z)(_,5),G=k[0],ae=k[1],ge=k[2],Ue=k[3],rt=k[4];this.setEulerAngles(rt).setPosition(G,ae).setLocalScale(ge,Ue)}},{key:"setLocalMatrix",value:function(A){var _=Zi(A),k=(0,C.Z)(_,5),G=k[0],ae=k[1],ge=k[2],Ue=k[3],rt=k[4];this.setLocalEulerAngles(rt).setLocalPosition(G,ae).setLocalScale(ge,Ue)}},{key:"show",value:function(){this.forEach(function(A){A.style.visibility="visible"})}},{key:"hide",value:function(){this.forEach(function(A){A.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(A){return this.children[A]||null}},{key:"add",value:function(A,_){return this.appendChild(A,_)}},{key:"set",value:function(A,_){this.config[A]=_}},{key:"get",value:function(A){return this.config[A]}},{key:"moveTo",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(A,_,k),this}},{key:"move",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(A,_,k),this}},{key:"setZIndex",value:function(A){return this.style.zIndex=A,this}}])}(Dp);wo.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 Ch=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.CIRCLE},f)])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);Ch.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var Cg=["style"],Ec=function(x){function S(){var f,A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=A.style,k=(0,bn.Z)(A,Cg);return(0,Z.Z)(this,S),f=(0,E.Z)(this,S,[(0,m.Z)({style:_},k)]),f.isCustomElement=!0,f}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);Ec.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var zh=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.ELLIPSE},f)])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);zh.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var fm=function(x){function S(){return(0,Z.Z)(this,S),(0,E.Z)(this,S,[{type:Jt.FRAGMENT}])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);fm.PARSED_STYLE_LIST=new Set(["class","className"]);var Xd=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.GROUP},f)])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);Xd.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var qu=["style"],Th=function(x){function S(){var f,A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=A.style,k=(0,bn.Z)(A,qu);return(0,Z.Z)(this,S),f=(0,E.Z)(this,S,[(0,m.Z)({type:Jt.HTML,style:_},k)]),f.cullable.enable=!1,f}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var A=j.invert(j.create(),this.parentNode.getWorldTransform()),_=this.getBounds();if(!ie.isEmpty(_)){var k=new ie;return k.setFromTransformedAABB(_,A),k}}return this.getBounds()}}])}(wo);Th.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var oh=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.IMAGE},f)])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);oh.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var kp=["style"],Sf=function(x){function S(){var f,A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=A.style,k=(0,bn.Z)(A,kp);(0,Z.Z)(this,S),f=(0,E.Z)(this,S,[(0,m.Z)({type:Jt.LINE,style:(0,m.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},_)},k)]),f.markerStartAngle=0,f.markerEndAngle=0;var G=f.parsedStyle,ae=G.markerStart,ge=G.markerEnd;return ae&&Do(ae)&&(f.markerStartAngle=ae.getLocalEulerAngles(),f.appendChild(ae)),ge&&Do(ge)&&(f.markerEndAngle=ge.getLocalEulerAngles(),f.appendChild(ge)),f.transformMarker(!0),f.transformMarker(!1),f}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"attributeChangedCallback",value:function(A,_,k,G,ae){A==="x1"||A==="y1"||A==="x2"||A==="y2"||A==="markerStartOffset"||A==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):A==="markerStart"?(G&&Do(G)&&(this.markerStartAngle=0,G.remove()),ae&&Do(ae)&&(this.markerStartAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!0))):A==="markerEnd"&&(G&&Do(G)&&(this.markerEndAngle=0,G.remove()),ae&&Do(ae)&&(this.markerEndAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!1)))}},{key:"transformMarker",value:function(A){var _=this.parsedStyle,k=_.markerStart,G=_.markerEnd,ae=_.markerStartOffset,ge=_.markerEndOffset,Ue=_.x1,rt=_.x2,bt=_.y1,Zt=_.y2,wn=A?k:G;if(!(!wn||!Do(wn))){var mn=0,Gn,ir,tr,Zn,Tr,ni;A?(tr=Ue,Zn=bt,Gn=rt-Ue,ir=Zt-bt,Tr=ae||0,ni=this.markerStartAngle):(tr=rt,Zn=Zt,Gn=Ue-rt,ir=bt-Zt,Tr=ge||0,ni=this.markerEndAngle),mn=Math.atan2(ir,Gn),wn.setLocalEulerAngles(mn*180/Math.PI+ni),wn.setLocalPosition(tr+Math.cos(mn)*Tr,Zn+Math.sin(mn)*Tr)}}},{key:"getPoint",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,k=this.parsedStyle,G=k.x1,ae=k.y1,ge=k.x2,Ue=k.y2,rt=(0,Xt.U4)(G,ae,ge,Ue,A),bt=rt.x,Zt=rt.y,wn=D.fF(D.Ue(),D.al(bt,Zt,0),_?this.getWorldTransform():this.getLocalTransform());return new xt(wn[0],wn[1])}},{key:"getPointAtLength",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(A/this.getTotalLength(),_)}},{key:"getTotalLength",value:function(){var A=this.parsedStyle,_=A.x1,k=A.y1,G=A.x2,ae=A.y2;return(0,Xt.Xk)(_,k,G,ae)}}])}(wo);Sf.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var Gh=["style"],Mf=function(x){function S(){var f,A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=A.style,k=(0,bn.Z)(A,Gh);(0,Z.Z)(this,S),f=(0,E.Z)(this,S,[(0,m.Z)({type:Jt.PATH,style:_,initialParsedStyle:{miterLimit:4,d:(0,m.Z)({},ca)}},k)]),f.markerStartAngle=0,f.markerEndAngle=0,f.markerMidList=[];var G=f.parsedStyle,ae=G.markerStart,ge=G.markerEnd,Ue=G.markerMid;return ae&&Do(ae)&&(f.markerStartAngle=ae.getLocalEulerAngles(),f.appendChild(ae)),Ue&&Do(Ue)&&f.placeMarkerMid(Ue),ge&&Do(ge)&&(f.markerEndAngle=ge.getLocalEulerAngles(),f.appendChild(ge)),f.transformMarker(!0),f.transformMarker(!1),f}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"attributeChangedCallback",value:function(A,_,k,G,ae){A==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):A==="markerStartOffset"||A==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):A==="markerStart"?(G&&Do(G)&&(this.markerStartAngle=0,G.remove()),ae&&Do(ae)&&(this.markerStartAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!0))):A==="markerEnd"?(G&&Do(G)&&(this.markerEndAngle=0,G.remove()),ae&&Do(ae)&&(this.markerEndAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!1))):A==="markerMid"&&this.placeMarkerMid(ae)}},{key:"transformMarker",value:function(A){var _=this.parsedStyle,k=_.markerStart,G=_.markerEnd,ae=_.markerStartOffset,ge=_.markerEndOffset,Ue=A?k:G;if(!(!Ue||!Do(Ue))){var rt=0,bt,Zt,wn,mn,Gn,ir;if(A){var tr=this.getStartTangent(),Zn=(0,C.Z)(tr,2),Tr=Zn[0],ni=Zn[1];wn=ni[0],mn=ni[1],bt=Tr[0]-ni[0],Zt=Tr[1]-ni[1],Gn=ae||0,ir=this.markerStartAngle}else{var ns=this.getEndTangent(),is=(0,C.Z)(ns,2),bi=is[0],Ri=is[1];wn=Ri[0],mn=Ri[1],bt=bi[0]-Ri[0],Zt=bi[1]-Ri[1],Gn=ge||0,ir=this.markerEndAngle}rt=Math.atan2(Zt,bt),Ue.setLocalEulerAngles(rt*180/Math.PI+ir),Ue.setLocalPosition(wn+Math.cos(rt)*Gn,mn+Math.sin(rt)*Gn)}}},{key:"placeMarkerMid",value:function(A){var _=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(rt){rt.remove()}),A&&Do(A))for(var k=1;k<_.length-1;k++){var G=(0,C.Z)(_[k].currentPoint,2),ae=G[0],ge=G[1],Ue=k===1?A:A.cloneNode(!0);this.markerMidList.push(Ue),this.appendChild(Ue),Ue.setLocalPosition(ae,ge)}}},{key:"getTotalLength",value:function(){return ri(this)}},{key:"getPointAtLength",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,k=this.parsedStyle.d.absolutePath,G=es(k,A),ae=G.x,ge=G.y,Ue=D.fF(D.Ue(),D.al(ae,ge,0),_?this.getWorldTransform():this.getLocalTransform());return new xt(Ue[0],Ue[1])}},{key:"getPoint",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(A*ri(this),_)}},{key:"getStartTangent",value:function(){var A=this.parsedStyle.d.segments,_=[];if(A.length>1){var k=A[0].currentPoint,G=A[1].currentPoint,ae=A[1].startTangent;_=[],ae?(_.push([k[0]-ae[0],k[1]-ae[1]]),_.push([k[0],k[1]])):(_.push([G[0],G[1]]),_.push([k[0],k[1]]))}return _}},{key:"getEndTangent",value:function(){var A=this.parsedStyle.d.segments,_=A.length,k=[];if(_>1){var G=A[_-2].currentPoint,ae=A[_-1].currentPoint,ge=A[_-1].endTangent;k=[],ge?(k.push([ae[0]-ge[0],ae[1]-ge[1]]),k.push([ae[0],ae[1]])):(k.push([G[0],G[1]]),k.push([ae[0],ae[1]]))}return k}}])}(wo);Mf.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var bu=["style"],eu=function(x){function S(){var f,A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=A.style,k=(0,bn.Z)(A,bu);(0,Z.Z)(this,S),f=(0,E.Z)(this,S,[(0,m.Z)({type:Jt.POLYGON,style:_,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},k)]),f.markerStartAngle=0,f.markerEndAngle=0,f.markerMidList=[];var G=f.parsedStyle,ae=G.markerStart,ge=G.markerEnd,Ue=G.markerMid;return ae&&Do(ae)&&(f.markerStartAngle=ae.getLocalEulerAngles(),f.appendChild(ae)),Ue&&Do(Ue)&&f.placeMarkerMid(Ue),ge&&Do(ge)&&(f.markerEndAngle=ge.getLocalEulerAngles(),f.appendChild(ge)),f.transformMarker(!0),f.transformMarker(!1),f}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"attributeChangedCallback",value:function(A,_,k,G,ae){A==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):A==="markerStartOffset"||A==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):A==="markerStart"?(G&&Do(G)&&(this.markerStartAngle=0,G.remove()),ae&&Do(ae)&&(this.markerStartAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!0))):A==="markerEnd"?(G&&Do(G)&&(this.markerEndAngle=0,G.remove()),ae&&Do(ae)&&(this.markerEndAngle=ae.getLocalEulerAngles(),this.appendChild(ae),this.transformMarker(!1))):A==="markerMid"&&this.placeMarkerMid(ae)}},{key:"transformMarker",value:function(A){var _=this.parsedStyle,k=_.markerStart,G=_.markerEnd,ae=_.markerStartOffset,ge=_.markerEndOffset,Ue=_.points,rt=Ue||{},bt=rt.points,Zt=A?k:G;if(!(!Zt||!Do(Zt)||!bt)){var wn=0,mn,Gn,ir,tr,Zn,Tr;if(ir=bt[0][0],tr=bt[0][1],A)mn=bt[1][0]-bt[0][0],Gn=bt[1][1]-bt[0][1],Zn=ae||0,Tr=this.markerStartAngle;else{var ni=bt.length;this.parsedStyle.isClosed?(mn=bt[ni-1][0]-bt[0][0],Gn=bt[ni-1][1]-bt[0][1]):(ir=bt[ni-1][0],tr=bt[ni-1][1],mn=bt[ni-2][0]-bt[ni-1][0],Gn=bt[ni-2][1]-bt[ni-1][1]),Zn=ge||0,Tr=this.markerEndAngle}wn=Math.atan2(Gn,mn),Zt.setLocalEulerAngles(wn*180/Math.PI+Tr),Zt.setLocalPosition(ir+Math.cos(wn)*Zn,tr+Math.sin(wn)*Zn)}}},{key:"placeMarkerMid",value:function(A){var _=this.parsedStyle.points,k=_||{},G=k.points;if(this.markerMidList.forEach(function(bt){bt.remove()}),this.markerMidList=[],A&&Do(A)&&G)for(var ae=1;ae<(this.parsedStyle.isClosed?G.length:G.length-1);ae++){var ge=G[ae][0],Ue=G[ae][1],rt=ae===1?A:A.cloneNode(!0);this.markerMidList.push(rt),this.appendChild(rt),rt.setLocalPosition(ge,Ue)}}}])}(wo);eu.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var Ef=["style"],Dl=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},A=f.style,_=(0,bn.Z)(f,Ef);return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.POLYLINE,style:A,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},_)])}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"getTotalLength",value:function(){return ai(this)}},{key:"getPointAtLength",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(A/this.getTotalLength(),_)}},{key:"getPoint",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,k=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var G=[],ae=0,ge,Ue,rt=this.getTotalLength();k.forEach(function(tr,Zn){k[Zn+1]&&(ge=[0,0],ge[0]=ae/rt,Ue=(0,Xt.Xk)(tr[0],tr[1],k[Zn+1][0],k[Zn+1][1]),ae+=Ue,ge[1]=ae/rt,G.push(ge))}),this.parsedStyle.points.segments=G}var bt=0,Zt=0;this.parsedStyle.points.segments.forEach(function(tr,Zn){A>=tr[0]&&A<=tr[1]&&(bt=(A-tr[0])/(tr[1]-tr[0]),Zt=Zn)});var wn=(0,Xt.U4)(k[Zt][0],k[Zt][1],k[Zt+1][0],k[Zt+1][1],bt),mn=wn.x,Gn=wn.y,ir=D.fF(D.Ue(),D.al(mn,Gn,0),_?this.getWorldTransform():this.getLocalTransform());return new xt(ir[0],ir[1])}},{key:"getStartTangent",value:function(){var A=this.parsedStyle.points.points,_=[];return _.push([A[1][0],A[1][1]]),_.push([A[0][0],A[0][1]]),_}},{key:"getEndTangent",value:function(){var A=this.parsedStyle.points.points,_=A.length-1,k=[];return k.push([A[_-1][0],A[_-1][1]]),k.push([A[_][0],A[_][1]]),k}}])}(eu);Dl.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(eu.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Bh=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.RECT},f)])}return(0,F.Z)(S,x),(0,V.Z)(S)}(wo);Bh.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var Cf=["style"],tu=function(x){function S(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},A=f.style,_=(0,bn.Z)(f,Cf);return(0,Z.Z)(this,S),(0,E.Z)(this,S,[(0,m.Z)({type:Jt.TEXT,style:(0,m.Z)({fill:"black"},A)},_)])}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"getComputedTextLength",value:function(){var A;return this.getGeometryBounds(),((A=this.parsedStyle.metrics)===null||A===void 0?void 0:A.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var A;return this.getGeometryBounds(),((A=this.parsedStyle.metrics)===null||A===void 0?void 0:A.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(wo);tu.PARSED_STYLE_LIST=new Set([].concat((0,N.Z)(wo.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","textDecorationThickness","textPathSide","textPathStartOffset","metrics","dx","dy"]));var FA=function(){function x(){(0,Z.Z)(this,x),this.registry={},this.define(Jt.CIRCLE,Ch),this.define(Jt.ELLIPSE,zh),this.define(Jt.RECT,Bh),this.define(Jt.IMAGE,oh),this.define(Jt.LINE,Sf),this.define(Jt.GROUP,Xd),this.define(Jt.PATH,Mf),this.define(Jt.POLYGON,eu),this.define(Jt.POLYLINE,Dl),this.define(Jt.TEXT,tu),this.define(Jt.HTML,Th)}return(0,V.Z)(x,[{key:"define",value:function(f,A){this.registry[f]=A}},{key:"get",value:function(f){return this.registry[f]}}])}(),Wc={number:function(S){return new Bo(S)},percent:function(S){return new Bo(S,"%")},px:function(S){return new Bo(S,"px")},em:function(S){return new Bo(S,"em")},rem:function(S){return new Bo(S,"rem")},deg:function(S){return new Bo(S,"deg")},grad:function(S){return new Bo(S,"grad")},rad:function(S){return new Bo(S,"rad")},turn:function(S){return new Bo(S,"turn")},s:function(S){return new Bo(S,"s")},ms:function(S){return new Bo(S,"ms")},registerProperty:function(S){var f=S.name,A=S.inherits,_=S.interpolable,k=S.initialValue,G=S.syntax;Oi.styleValueRegistry.registerMetadata({n:f,inh:A,int:_,d:k,syntax:G})},registerLayout:function(S,f){Oi.layoutRegistry.registerLayout(S,f)}},PA=function(x){function S(){var f;(0,Z.Z)(this,S),f=(0,E.Z)(this,S),f.defaultView=null,f.ownerDocument=null,f.nodeName="document";try{f.timeline=new Oi.AnimationTimeline(f)}catch(_){}var A={};return Ua.forEach(function(_){var k=_.n,G=_.inh,ae=_.d;G&&ae&&(A[k]=(0,yi.Z)(ae)?ae(Jt.GROUP):ae)}),f.documentElement=new Xd({id:"g-root",style:A}),f.documentElement.ownerDocument=f,f.documentElement.parentNode=f,f.childNodes=[f.documentElement],f}return(0,F.Z)(S,x),(0,V.Z)(S,[{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(A,_){if(A==="svg")return this.documentElement;var k=this.defaultView.customElements.get(A);k||(console.warn("Unsupported tagName: ",A),k=A==="tspan"?tu:Xd);var G=new k(_);return G.ownerDocument=this,G}},{key:"createElementNS",value:function(A,_,k){return this.createElement(_,k)}},{key:"cloneNode",value:function(A){throw new Error(Oe)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(A){}}},{key:"elementsFromBBox",value:function(A,_,k,G){var ae=[],ge=function(rt){if(!(!rt.isInteractive()||rt.isCulled())){var bt=rt.parsedStyle.pointerEvents,Zt=bt===void 0?"auto":bt,wn=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(Zt);if(!wn||rt.isVisible()){var mn=rt.getTransformedGeometryBounds(!0);mn&&!ie.isEmpty(mn)&&mn.max[0]>=A&&mn.min[0]<=k&&mn.max[1]>=_&&mn.min[1]<=G&&ae.push(rt)}rt.childNodes&&rt.childNodes.forEach(function(Gn){Gn instanceof wo&&ge(Gn)})}};return ge(this.documentElement),ae.sort(function(Ue,rt){return rt.sortable.renderOrder-Ue.sortable.renderOrder}),ae}},{key:"elementFromPointSync",value:function(A,_){var k=this.defaultView.canvas2Viewport({x:A,y:_}),G=k.x,ae=k.y,ge=this.defaultView.getConfig(),Ue=ge.width,rt=ge.height;if(G<0||ae<0||G>Ue||ae>rt)return null;var bt=this.defaultView.viewport2Client({x:G,y:ae}),Zt=bt.x,wn=bt.y,mn=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:A,y:_,viewportX:G,viewportY:ae,clientX:Zt,clientY:wn},picked:[]}),Gn=mn.picked;return Gn&&Gn[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var f=(0,dt.Z)((0,st.Z)().mark(function _(k,G){var ae,ge,Ue,rt,bt,Zt,wn,mn,Gn,ir,tr;return(0,st.Z)().wrap(function(Zn){for(;;)switch(Zn.prev=Zn.next){case 0:if(ae=this.defaultView.canvas2Viewport({x:k,y:G}),ge=ae.x,Ue=ae.y,rt=this.defaultView.getConfig(),bt=rt.width,Zt=rt.height,!(ge<0||Ue<0||ge>bt||Ue>Zt)){Zn.next=1;break}return Zn.abrupt("return",null);case 1:return wn=this.defaultView.viewport2Client({x:ge,y:Ue}),mn=wn.x,Gn=wn.y,Zn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:k,y:G,viewportX:ge,viewportY:Ue,clientX:mn,clientY:Gn},picked:[]});case 2:return ir=Zn.sent,tr=ir.picked,Zn.abrupt("return",tr&&tr[0]||this.documentElement);case 3:case"end":return Zn.stop()}},_,this)}));function A(_,k){return f.apply(this,arguments)}return A}()},{key:"elementsFromPointSync",value:function(A,_){var k=this.defaultView.canvas2Viewport({x:A,y:_}),G=k.x,ae=k.y,ge=this.defaultView.getConfig(),Ue=ge.width,rt=ge.height;if(G<0||ae<0||G>Ue||ae>rt)return[];var bt=this.defaultView.viewport2Client({x:G,y:ae}),Zt=bt.x,wn=bt.y,mn=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:A,y:_,viewportX:G,viewportY:ae,clientX:Zt,clientY:wn},picked:[]}),Gn=mn.picked;return Gn[Gn.length-1]!==this.documentElement&&Gn.push(this.documentElement),Gn}},{key:"elementsFromPoint",value:function(){var f=(0,dt.Z)((0,st.Z)().mark(function _(k,G){var ae,ge,Ue,rt,bt,Zt,wn,mn,Gn,ir,tr;return(0,st.Z)().wrap(function(Zn){for(;;)switch(Zn.prev=Zn.next){case 0:if(ae=this.defaultView.canvas2Viewport({x:k,y:G}),ge=ae.x,Ue=ae.y,rt=this.defaultView.getConfig(),bt=rt.width,Zt=rt.height,!(ge<0||Ue<0||ge>bt||Ue>Zt)){Zn.next=1;break}return Zn.abrupt("return",[]);case 1:return wn=this.defaultView.viewport2Client({x:ge,y:Ue}),mn=wn.x,Gn=wn.y,Zn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:k,y:G,viewportX:ge,viewportY:Ue,clientX:mn,clientY:Gn},picked:[]});case 2:return ir=Zn.sent,tr=ir.picked,tr[tr.length-1]!==this.documentElement&&tr.push(this.documentElement),Zn.abrupt("return",tr);case 3:case"end":return Zn.stop()}},_,this)}));function A(_,k){return f.apply(this,arguments)}return A}()},{key:"appendChild",value:function(A,_){throw new Error(Qe)}},{key:"insertBefore",value:function(A,_){throw new Error(Qe)}},{key:"removeChild",value:function(A,_){throw new Error(Qe)}},{key:"replaceChild",value:function(A,_,k){throw new Error(Qe)}},{key:"append",value:function(){throw new Error(Qe)}},{key:"prepend",value:function(){throw new Error(Qe)}},{key:"getElementById",value:function(A){return this.documentElement.getElementById(A)}},{key:"getElementsByName",value:function(A){return this.documentElement.getElementsByName(A)}},{key:"getElementsByTagName",value:function(A){return this.documentElement.getElementsByTagName(A)}},{key:"getElementsByClassName",value:function(A){return this.documentElement.getElementsByClassName(A)}},{key:"querySelector",value:function(A){return this.documentElement.querySelector(A)}},{key:"querySelectorAll",value:function(A){return this.documentElement.querySelectorAll(A)}},{key:"find",value:function(A){return this.documentElement.find(A)}},{key:"findAll",value:function(A){return this.documentElement.findAll(A)}}])}(vo),jd=function(){function x(S){(0,Z.Z)(this,x),this.strategies=S}return(0,V.Z)(x,[{key:"apply",value:function(f){var A=f.config,_=f.camera,k=f.renderingService,G=f.renderingContext,ae=this.strategies;k.hooks.cull.tap(x.tag,function(ge){if(ge){var Ue,rt=ge.cullable;if(ae.length===0?rt.visible=G.unculledEntities.indexOf(ge.entity)>-1:rt.visible=ae.every(function(Zt){return Zt.isVisible(_,ge)}),!ge.isCulled()&&ge.isVisible())return ge;var bt=((Ue=A.future)===null||Ue===void 0?void 0:Ue.experimentalCancelEventPropagation)===!0;return ge.dispatchEvent(new xu(Ra.CULLED),bt,bt),null}return ge}),k.hooks.afterRender.tap(x.tag,function(ge){ge.cullable.visibilityPlaneMask=-1})}}])}();jd.tag="Culling";var _u=function(){function x(){var S=this;(0,Z.Z)(this,x),this.autoPreventDefault=!1,this.rootPointerEvent=new Qd(null),this.rootWheelEvent=new Wd(null),this.onPointerMove=function(f){var A,_=(A=S.context.renderingContext.root)===null||A===void 0||(A=A.ownerDocument)===null||A===void 0?void 0:A.defaultView;if(!(_.supportsTouchEvents&&f.pointerType==="touch")){var k=S.normalizeToPointerEvent(f,_),G=(0,Wt.Z)(k),ae;try{for(G.s();!(ae=G.n()).done;){var ge=ae.value,Ue=S.bootstrapEvent(S.rootPointerEvent,ge,_,f);S.context.eventService.mapEvent(Ue)}}catch(rt){G.e(rt)}finally{G.f()}S.setCursor(S.context.eventService.cursor)}},this.onClick=function(f){var A,_=(A=S.context.renderingContext.root)===null||A===void 0||(A=A.ownerDocument)===null||A===void 0?void 0:A.defaultView,k=S.normalizeToPointerEvent(f,_),G=(0,Wt.Z)(k),ae;try{for(G.s();!(ae=G.n()).done;){var ge=ae.value,Ue=S.bootstrapEvent(S.rootPointerEvent,ge,_,f);S.context.eventService.mapEvent(Ue)}}catch(rt){G.e(rt)}finally{G.f()}S.setCursor(S.context.eventService.cursor)}}return(0,V.Z)(x,[{key:"apply",value:function(f){var A=this;this.context=f;var _=f.renderingService,k=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(G){var ae=A.context.renderingService.hooks.pickSync.call({position:G,picked:[],topmost:!0}),ge=ae.picked;return ge[0]||null}),_.hooks.pointerWheel.tap(x.tag,function(G){var ae=A.normalizeWheelEvent(G);A.context.eventService.mapEvent(ae)}),_.hooks.pointerDown.tap(x.tag,function(G){if(!(k.supportsTouchEvents&&G.pointerType==="touch")){var ae=A.normalizeToPointerEvent(G,k);if(A.autoPreventDefault&&ae[0].isNormalized){var ge=G.cancelable||!("cancelable"in G);ge&&G.preventDefault()}var Ue=(0,Wt.Z)(ae),rt;try{for(Ue.s();!(rt=Ue.n()).done;){var bt=rt.value,Zt=A.bootstrapEvent(A.rootPointerEvent,bt,k,G);A.context.eventService.mapEvent(Zt)}}catch(wn){Ue.e(wn)}finally{Ue.f()}A.setCursor(A.context.eventService.cursor)}}),_.hooks.pointerUp.tap(x.tag,function(G){if(!(k.supportsTouchEvents&&G.pointerType==="touch")){var ae=A.context.contextService.getDomElement(),ge=A.context.eventService.isNativeEventFromCanvas(ae,G),Ue=ge?"":"outside",rt=A.normalizeToPointerEvent(G,k),bt=(0,Wt.Z)(rt),Zt;try{for(bt.s();!(Zt=bt.n()).done;){var wn=Zt.value,mn=A.bootstrapEvent(A.rootPointerEvent,wn,k,G);mn.type+=Ue,A.context.eventService.mapEvent(mn)}}catch(Gn){bt.e(Gn)}finally{bt.f()}A.setCursor(A.context.eventService.cursor)}}),_.hooks.pointerMove.tap(x.tag,this.onPointerMove),_.hooks.pointerOver.tap(x.tag,this.onPointerMove),_.hooks.pointerOut.tap(x.tag,this.onPointerMove),_.hooks.click.tap(x.tag,this.onClick),_.hooks.pointerCancel.tap(x.tag,function(G){var ae=A.normalizeToPointerEvent(G,k),ge=(0,Wt.Z)(ae),Ue;try{for(ge.s();!(Ue=ge.n()).done;){var rt=Ue.value,bt=A.bootstrapEvent(A.rootPointerEvent,rt,k,G);A.context.eventService.mapEvent(bt)}}catch(Zt){ge.e(Zt)}finally{ge.f()}A.setCursor(A.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(f,A,_,k){f.view=_,f.originalEvent=null,f.nativeEvent=k,f.pointerId=A.pointerId,f.width=A.width,f.height=A.height,f.isPrimary=A.isPrimary,f.pointerType=A.pointerType,f.pressure=A.pressure,f.tangentialPressure=A.tangentialPressure,f.tiltX=A.tiltX,f.tiltY=A.tiltY,f.twist=A.twist,this.transferMouseData(f,A);var G=this.context.eventService.client2Viewport({x:A.clientX,y:A.clientY}),ae=G.x,ge=G.y;f.viewport.x=ae,f.viewport.y=ge;var Ue=this.context.eventService.viewport2Canvas(f.viewport),rt=Ue.x,bt=Ue.y;return f.canvas.x=rt,f.canvas.y=bt,f.global.copyFrom(f.canvas),f.offset.copyFrom(f.canvas),f.isTrusted=k.isTrusted,f.type==="pointerleave"&&(f.type="pointerout"),f.type.startsWith("mouse")&&(f.type=f.type.replace("mouse","pointer")),f.type.startsWith("touch")&&(f.type=Hc[f.type]||f.type),f}},{key:"normalizeWheelEvent",value:function(f){var A=this.rootWheelEvent;this.transferMouseData(A,f),A.deltaMode=f.deltaMode,A.deltaX=f.deltaX,A.deltaY=f.deltaY,A.deltaZ=f.deltaZ;var _=this.context.eventService.client2Viewport({x:f.clientX,y:f.clientY}),k=_.x,G=_.y;A.viewport.x=k,A.viewport.y=G;var ae=this.context.eventService.viewport2Canvas(A.viewport),ge=ae.x,Ue=ae.y;return A.canvas.x=ge,A.canvas.y=Ue,A.global.copyFrom(A.canvas),A.offset.copyFrom(A.canvas),A.nativeEvent=f,A.type=f.type,A}},{key:"transferMouseData",value:function(f,A){f.isTrusted=A.isTrusted,f.srcElement=A.srcElement,f.timeStamp=yu.now(),f.type=A.type,f.altKey=A.altKey,f.metaKey=A.metaKey,f.shiftKey=A.shiftKey,f.ctrlKey=A.ctrlKey,f.button=A.button,f.buttons=A.buttons,f.client.x=A.clientX,f.client.y=A.clientY,f.movement.x=A.movementX,f.movement.y=A.movementY,f.page.x=A.pageX,f.page.y=A.pageY,f.screen.x=A.screenX,f.screen.y=A.screenY,f.relatedTarget=null}},{key:"setCursor",value:function(f){this.context.contextService.applyCursorStyle(f||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(f,A){var _=[];if(A.isTouchEvent(f))for(var k=0;k-1,ge=0,Ue=k.length;ge=1?Math.ceil(_s):1,k&&(Ri=ae||EA(k)||k.width/_s,Gs=ge||zu(k)||k.height/_s),A.customElements=new FA,A.devicePixelRatio=_s,A.requestAnimationFrame=ir!=null?ir:th.bind(Oi.globalThis),A.cancelAnimationFrame=tr!=null?tr:ff.bind(Oi.globalThis),A.createImage=Zn!=null?Zn:function(){return new window.Image},A.supportsTouchEvents=Tr!=null?Tr:"ontouchstart"in Oi.globalThis,A.supportsPointerEvents=ni!=null?ni:!!Oi.globalThis.PointerEvent,A.isTouchEvent=ns!=null?ns:function(Hs){return A.supportsTouchEvents&&Hs instanceof Oi.globalThis.TouchEvent},A.isMouseEvent=is!=null?is:function(Hs){return!Oi.globalThis.MouseEvent||Hs instanceof Oi.globalThis.MouseEvent&&(!A.supportsPointerEvents||!(Hs instanceof Oi.globalThis.PointerEvent))},mn&&(Oi.offscreenCanvas=mn),A.document=new PA,A.document.defaultView=A,bt||Co(_,A,wn),A.initRenderingContext((0,m.Z)((0,m.Z)({},f),{},{width:Ri,height:Gs,background:Ue!=null?Ue:"transparent",cursor:rt!=null?rt:"default",cleanUpOnDestroy:wn,devicePixelRatio:_s,requestAnimationFrame:A.requestAnimationFrame,cancelAnimationFrame:A.cancelAnimationFrame,createImage:A.createImage,supportsTouchEvents:A.supportsTouchEvents,supportsPointerEvents:A.supportsPointerEvents,isTouchEvent:A.isTouchEvent,isMouseEvent:A.isMouseEvent,dblClickSpeed:bi!=null?bi:200})),A.initDefaultCamera(Ri,Gs,G.clipSpaceNearZ),A.initRenderer(G,!0),A}return(0,F.Z)(S,x),(0,V.Z)(S,[{key:"initRenderingContext",value:function(A){this.context.config=A,this.context.renderingContext={root:this.document.documentElement,unculledEntities:[],renderListCurrentFrame:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(A,_,k){var G=this,ae=new Oi.CameraContribution;ae.clipSpaceNearZ=k,ae.setType(Bt.EXPLORING,yn.DEFAULT).setPosition(A/2,_/2,Tf).setFocalPoint(A/2,_/2,0).setOrthographic(A/-2,A/2,_/2,_/-2,cp,Tg),ae.canvas=this,ae.eventEmitter.on(gr.UPDATED,function(){G.context.renderingContext.renderReasons.add(rh.CAMERA_CHANGED),Oi.enableSizeAttenuation&&G.getConfig().renderer.getConfig().enableSizeAttenuation&&G.updateSizeAttenuation()}),this.context.camera=ae}},{key:"updateSizeAttenuation",value:function(){var A=this.getCamera().getZoom();this.document.documentElement.forEach(function(_){Oi.styleValueRegistry.updateSizeAttenuation(_,A)})}},{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 A=this;return this.readyPromise||(this.readyPromise=new Promise(function(_){A.resolveReadyPromise=function(){_(A)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var A,_=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,k=arguments.length>1?arguments[1]:void 0;Lo.clearCache();var G=((A=this.getConfig().future)===null||A===void 0?void 0:A.experimentalCancelEventPropagation)===!0;k||this.dispatchEvent(new xu(fl.BEFORE_DESTROY),G,G),this.frameId&&this.cancelAnimationFrame(this.frameId);var ae=this.getRoot();_&&(this.unmountChildren(ae),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),k||this.dispatchEvent(new xu(fl.AFTER_DESTROY),G,G);var ge=function(rt){rt.currentTarget=null,rt.manager=null,rt.target=null,rt.relatedNode=null};ge(nd),ge(nA),ge(LA),ge(Vp),ge(qd),ge(Qc),ge(Mh),ge(Ed),ge(Eg),Oi.textService.clearCache()}},{key:"changeSize",value:function(A,_){this.resize(A,_)}},{key:"resize",value:function(A,_){var k,G=this.context.config;G.width=A,G.height=_,this.getContextService().resize(A,_);var ae=this.context.camera,ge=ae.getProjectionMode();ae.setPosition(A/2,_/2,Tf).setFocalPoint(A/2,_/2,0),ge===Ln.ORTHOGRAPHIC?ae.setOrthographic(A/-2,A/2,_/2,_/-2,ae.getNear(),ae.getFar()):ae.setAspect(A/_);var Ue=((k=G.future)===null||k===void 0?void 0:k.experimentalCancelEventPropagation)===!0;this.dispatchEvent(new xu(fl.RESIZE,{width:A,height:_}),Ue,Ue)}},{key:"appendChild",value:function(A,_){return this.document.documentElement.appendChild(A,_)}},{key:"insertBefore",value:function(A,_){return this.document.documentElement.insertBefore(A,_)}},{key:"removeChild",value:function(A){return this.document.documentElement.removeChild(A)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(A){var _,k=this;A&&(LA.detail=A,qd.detail=A);var G=((_=this.getConfig().future)===null||_===void 0?void 0:_.experimentalCancelEventPropagation)===!0;this.dispatchEvent(LA,G,G);var ae=this.getRenderingService();ae.render(this,A,function(){k.dispatchEvent(Vp,G,G)}),this.dispatchEvent(qd,G,G)}},{key:"run",value:function(){var A=this,_=function(G,ae){A.render(ae),A.frameId=A.requestAnimationFrame(_)};_()}},{key:"initRenderer",value:function(A){var _=this,k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!A)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new _u,new lh,new jd([new up])),this.loadRendererContainerModule(A),this.context.contextService=new this.context.ContextService((0,m.Z)((0,m.Z)({},Oi),this.context)),this.context.renderingService=new Mc(Oi,this.context),this.context.eventService=new mf(Oi,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(A,k,!0)):this.context.contextService.initAsync().then(function(){_.initRenderingService(A,k)}).catch(function(G){console.error(G)})}},{key:"initRenderingService",value:function(A){var _=this,k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){var ae;_.inited=!0;var ge=((ae=_.getConfig().future)===null||ae===void 0?void 0:ae.experimentalCancelEventPropagation)===!0;k?G?_.requestAnimationFrame(function(){_.dispatchEvent(new xu(fl.READY),ge,ge)}):_.dispatchEvent(new xu(fl.READY),ge,ge):_.dispatchEvent(new xu(fl.RENDERER_CHANGED),ge,ge),_.readyPromise&&_.resolveReadyPromise(),k||_.getRoot().forEach(function(Ue){var rt,bt;(rt=(bt=Ue).dirty)===null||rt===void 0||rt.call(bt,!0,!0)}),_.mountChildren(_.getRoot()),A.getConfig().enableAutoRendering&&_.run()})}},{key:"loadRendererContainerModule",value:function(A){var _=this,k=A.getPlugins();k.forEach(function(G){G.context=_.context,G.init(Oi)})}},{key:"setRenderer",value:function(A){var _=this.getConfig();if(_.renderer!==A){var k=_.renderer;_.renderer=A,this.destroy(!1,!0),(0,N.Z)((k==null?void 0:k.getPlugins())||[]).reverse().forEach(function(G){G.destroy(Oi)}),this.initRenderer(A)}}},{key:"setCursor",value:function(A){var _=this.getConfig();_.cursor=A,this.getContextService().applyCursorStyle(A)}},{key:"unmountChildren",value:function(A){var _=this;if(A.childNodes.forEach(function(ae){_.unmountChildren(ae)}),this.inited){if(A.isMutationObserved)A.dispatchEvent(nA);else{var k,G=((k=this.getConfig().future)===null||k===void 0?void 0:k.experimentalCancelEventPropagation)===!0;nA.target=A,this.dispatchEvent(nA,!0,G)}A!==this.document.documentElement&&(A.ownerDocument=null),A.isConnected=!1}A.isCustomElement&&A.disconnectedCallback&&A.disconnectedCallback()}},{key:"mountChildren",value:function(A){var _=this,k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Hl(A);if(this.inited){if(!A.isConnected&&(A.ownerDocument=this.document,A.isConnected=!0,!k))if(A.isMutationObserved)A.dispatchEvent(nd);else{var G,ae=((G=this.getConfig().future)===null||G===void 0?void 0:G.experimentalCancelEventPropagation)===!0;nd.target=A,this.dispatchEvent(nd,!0,ae)}}else 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: ",A.nodeName);A.childNodes.forEach(function(ge){_.mountChildren(ge,k)}),A.isCustomElement&&A.connectedCallback&&A.connectedCallback()}},{key:"mountFragment",value:function(A){this.mountChildren(A,!1)}},{key:"client2Viewport",value:function(A){return this.getEventService().client2Viewport(A)}},{key:"viewport2Client",value:function(A){return this.getEventService().viewport2Client(A)}},{key:"viewport2Canvas",value:function(A){return this.getEventService().viewport2Canvas(A)}},{key:"canvas2Viewport",value:function(A){return this.getEventService().canvas2Viewport(A)}},{key:"getPointByClient",value:function(A,_){return this.client2Viewport({x:A,y:_})}},{key:"getClientByPoint",value:function(A,_){return this.viewport2Client({x:A,y:_})}}])}(Sg),UA=0,hp=new WeakMap,dp=null,Kv=null,jm=null,fp,rd;function Am(x,S){return fp=new dp(x,S)}function pm(x){return rd||(rd=dp.copy(fp),rd.oldValue=x,rd)}function D0(){fp=rd=void 0}function Ym(x){return x===rd||x===fp}function k0(x,S){return x===S?x:rd&&Ym(x)?rd:null}function gm(x){x.nodes.forEach(function(S){var f=hp.get(S);f&&f.forEach(function(A){A.observer===x&&A.removeTransientObservers()})})}function OA(x,S){for(var f=x;f;f=f.parentNode){var A=hp.get(f);if(A)for(var _=0;_0&&arguments[0]!==void 0?arguments[0]:x.api;x.rafId&&(f.cancelAnimationFrame(x.rafId),x.rafId=null)}},{key:"executeTask",value:function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x.api;sA.length<=0&&Fo.length<=0||(Fo.forEach(function(A){return A()}),Fo=sA.splice(0,x.TASK_NUM_PER_FRAME),x.rafId=f.requestAnimationFrame(function(){x.executeTask(f)}))}},{key:"sliceImage",value:function(f,A,_,k){for(var G=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,ae=arguments.length>5&&arguments[5]!==void 0?arguments[5]:x.api,ge=f.naturalWidth||f.width,Ue=f.naturalHeight||f.height,rt=A-G,bt=_-G,Zt=Math.ceil(ge/rt),wn=Math.ceil(Ue/bt),mn={tileSize:[A,_],gridSize:[wn,Zt],tiles:Array(wn).fill(null).map(function(){return Array(Zt).fill(null)})},Gn=function(Zn){for(var Tr=function(is){sA.push(function(){var bi=is*rt,Ri=Zn*bt,Gs=[Math.min(A,ge-bi),Math.min(_,Ue-Ri)],_s=Gs[0],Hs=Gs[1],Zs=ae.createCanvas();Zs.width=A,Zs.height=_;var Ia=Zs.getContext("2d");Ia.drawImage(f,bi,Ri,_s,Hs,0,0,_s,Hs),mn.tiles[Zn][is]={x:bi,y:Ri,tileX:is,tileY:Zn,data:Zs},k()})},ni=0;ni1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([f[0],f[1],f[4],f[5],f[12]+A[0],f[13]+A[1]].join(","),")")}},{key:"apply",value:function(f,A){var _=this,k=f.camera,G=f.renderingContext,ae=f.renderingService;this.context=f;var ge=G.root.ownerDocument.defaultView,Ue=ge.context.eventService.nativeHTMLMap,rt=function(tr,Zn){Zn.style.transform=_.joinTransformMatrix(tr.getWorldTransform(),tr.getOrigin())},bt=function(tr){var Zn=tr.target;if(Zn.nodeName===Jt.HTML){_.$camera||(_.$camera=_.createCamera(k));var Tr=_.getOrCreateEl(Zn);_.$camera.appendChild(Tr),Object.keys(Zn.attributes).forEach(function(ni){_.updateAttribute(ni,Zn)}),rt(Zn,Tr),Ue.set(Tr,Zn)}},Zt=function(tr){var Zn=tr.target;if(Zn.nodeName===Jt.HTML&&_.$camera){var Tr=_.getOrCreateEl(Zn);Tr&&(Tr.remove(),Ue.delete(Tr))}},wn=function(tr){var Zn=tr.target;if(Zn.nodeName===Jt.HTML){var Tr=tr.attrName;_.updateAttribute(Tr,Zn)}},mn=function(tr){for(var Zn=tr.detail,Tr=0;Tr0?_t:_t*-1}function P(ot,ut,_t,$t,Vt,Qt){var cn=_t,Yn=$t;if(cn===0||Yn===0)return{x:ot,y:ut};for(var qn=Vt-ot,Sr=Qt-ut,Jr=Math.abs(qn),vr=Math.abs(Sr),Ki=cn*cn,Mi=Yn*Yn,yi=Math.PI/4,qr=0,es=0,Ci=0;Ci<4;Ci++){qr=cn*Math.cos(yi),es=Yn*Math.sin(yi);var En=(Ki-Mi)*Math.pow(Math.cos(yi),3)/cn,rn=(Mi-Ki)*Math.pow(Math.sin(yi),3)/Yn,Xt=qr-En,st=es-rn,dt=Jr-En,Wt=vr-rn,bn=Math.hypot(st,Xt),Jt=Math.hypot(Wt,dt),ar=bn*Math.asin((Xt*Wt-st*dt)/(bn*Jt)),rr=ar/Math.sqrt(Ki+Mi-qr*qr-es*es);yi+=rr,yi=Math.min(Math.PI/2,Math.max(0,yi))}return{x:ot+C(qr,qn),y:ut+C(es,Sr)}}function H(ot,ut,_t,$t,Vt,Qt,cn,Yn){return-1*_t*Math.cos(Vt)*Math.sin(Yn)-$t*Math.sin(Vt)*Math.cos(Yn)}function D(ot,ut,_t,$t,Vt,Qt,cn,Yn){return-1*_t*Math.sin(Vt)*Math.sin(Yn)+$t*Math.cos(Vt)*Math.cos(Yn)}function X(ot,ut,_t){return Math.atan(-ut/ot*Math.tan(_t))}function j(ot,ut,_t){return Math.atan(ut/(ot*Math.tan(_t)))}function de(ot,ut,_t,$t,Vt,Qt){return _t*Math.cos(Vt)*Math.cos(Qt)-$t*Math.sin(Vt)*Math.sin(Qt)+ot}function he(ot,ut,_t,$t,Vt,Qt){return _t*Math.sin(Vt)*Math.cos(Qt)+$t*Math.cos(Vt)*Math.sin(Qt)+ut}function we(ot,ut,_t,$t){var Vt=Math.atan2($t*ot,_t*ut);return(Vt+Math.PI*2)%(Math.PI*2)}function ve(ot,ut,_t){return{x:ot*Math.cos(_t),y:ut*Math.sin(_t)}}function Ee(ot,ut,_t){var $t=Math.cos(_t),Vt=Math.sin(_t);return[ot*$t-ut*Vt,ot*Vt+ut*$t]}function $e(ot,ut,_t,$t,Vt,Qt,cn){for(var Yn=X(_t,$t,Vt),qn=1/0,Sr=-1/0,Jr=[Qt,cn],vr=-Math.PI*2;vr<=Math.PI*2;vr+=Math.PI){var Ki=Yn+vr;QtSr&&(Sr=yi)}for(var qr=j(_t,$t,Vt),es=1/0,Ci=-1/0,En=[Qt,cn],rn=-Math.PI*2;rn<=Math.PI*2;rn+=Math.PI){var Xt=qr+rn;QtCi&&(Ci=dt)}return{x:qn,y:es,width:Sr-qn,height:Ci-es}}function Fe(ot,ut,_t,$t,Vt,Qt,cn,Yn,qn){var Sr=Ee(Yn-ot,qn-ut,-Vt),Jr=_slicedToArray(Sr,2),vr=Jr[0],Ki=Jr[1],Mi=P(0,0,_t,$t,vr,Ki),yi=we(_t,$t,Mi.x,Mi.y);yicn&&(Mi=ve(_t,$t,cn));var qr=Ee(Mi.x,Mi.y,Vt);return{x:qr[0]+ot,y:qr[1]+ut}}function ct(ot,ut,_t,$t,Vt,Qt,cn,Yn){var qn=(cn-Qt)*Yn+Qt,Sr=H(ot,ut,_t,$t,Vt,Qt,cn,qn),Jr=D(ot,ut,_t,$t,Vt,Qt,cn,qn);return F(Math.atan2(Jr,Sr))}var vt=1e-4;function at(ot,ut,_t,$t,Vt,Qt){var cn=-1,Yn=1/0,qn=[_t,$t],Sr=20;Qt&&Qt>200&&(Sr=Qt/10);for(var Jr=1/Sr,vr=Jr/10,Ki=0;Ki<=Sr;Ki++){var Mi=Ki*Jr,yi=[Vt.apply(void 0,(0,m.Z)(ot.concat([Mi]))),Vt.apply(void 0,(0,m.Z)(ut.concat([Mi])))],qr=N(qn[0],qn[1],yi[0],yi[1]);qr=0&&stYn?N(_t,$t,Vt,Qt):Xn(ot,ut,_t,$t,Vt,Qt)}function Xn(ot,ut,_t,$t,Vt,Qt){var cn=[_t-ot,$t-ut];if(V.I6(cn,[0,0]))return Math.sqrt((Vt-ot)*(Vt-ot)+(Qt-ut)*(Qt-ut));var Yn=[-cn[1],cn[0]];V.Fv(Yn,Yn);var qn=[Vt-ot,Qt-ut];return Math.abs(V.AK(qn,Yn))}function In(ot,ut,_t,$t){return Math.atan2($t-ut,_t-ot)}function zn(ot,ut,_t,$t,Vt){var Qt=1-Vt;return Qt*Qt*Qt*ot+3*ut*Vt*Qt*Qt+3*_t*Vt*Vt*Qt+$t*Vt*Vt*Vt}function dr(ot,ut,_t,$t,Vt){var Qt=1-Vt;return 3*(Qt*Qt*(ut-ot)+2*Qt*Vt*(_t-ut)+Vt*Vt*($t-_t))}function vn(ot,ut,_t,$t){var Vt=-3*ot+9*ut-9*_t+3*$t,Qt=6*ot-12*ut+6*_t,cn=3*ut-3*ot,Yn=[],qn,Sr,Jr;if((0,Z.Z)(Vt,0))(0,Z.Z)(Qt,0)||(qn=-cn/Qt,qn>=0&&qn<=1&&Yn.push(qn));else{var vr=Qt*Qt-4*Vt*cn;(0,Z.Z)(vr,0)?Yn.push(-Qt/(2*Vt)):vr>0&&(Jr=Math.sqrt(vr),qn=(-Qt+Jr)/(2*Vt),Sr=(-Qt-Jr)/(2*Vt),qn>=0&&qn<=1&&Yn.push(qn),Sr>=0&&Sr<=1&&Yn.push(Sr))}return Yn}function _r(ot,ut,_t,$t,Vt,Qt,cn,Yn,qn){var Sr=zn(ot,_t,Vt,cn,qn),Jr=zn(ut,$t,Qt,Yn,qn),vr=Lt(ot,ut,_t,$t,qn),Ki=Lt(_t,$t,Vt,Qt,qn),Mi=Lt(Vt,Qt,cn,Yn,qn),yi=Lt(vr.x,vr.y,Ki.x,Ki.y,qn),qr=Lt(Ki.x,Ki.y,Mi.x,Mi.y,qn);return[[ot,ut,vr.x,vr.y,yi.x,yi.y,Sr,Jr],[Sr,Jr,qr.x,qr.y,Mi.x,Mi.y,cn,Yn]]}function Ge(ot,ut,_t,$t,Vt,Qt,cn,Yn,qn){if(qn===0)return kt([ot,_t,Vt,cn],[ut,$t,Qt,Yn]);var Sr=_r(ot,ut,_t,$t,Vt,Qt,cn,Yn,.5),Jr=[].concat(_toConsumableArray(Sr[0]),[qn-1]),vr=[].concat(_toConsumableArray(Sr[1]),[qn-1]);return Ge.apply(void 0,_toConsumableArray(Jr))+Ge.apply(void 0,_toConsumableArray(vr))}function Tt(ot,ut,_t,$t,Vt,Qt,cn,Yn){for(var qn=[ot,cn],Sr=[ut,Yn],Jr=vn(ot,_t,Vt,cn),vr=vn(ut,$t,Qt,Yn),Ki=0;Ki1||ut<0||ot.length<2)return null;var _t=Mt(ot),$t=_t.segments,Vt=_t.totalLength;if(Vt===0)return{x:ot[0][0],y:ot[0][1]};for(var Qt=0,cn=null,Yn=0;Yn<$t.length;Yn++){var qn=$t[Yn],Sr=qn.from,Jr=qn.to,vr=qn.length/Vt;if(ut>=Qt&&ut<=Qt+vr){var Ki=(ut-Qt)/vr;cn=Lt(Sr[0],Sr[1],Jr[0],Jr[1],Ki);break}Qt+=vr}return cn}function Ae(ot,ut){if(ut>1||ut<0||ot.length<2)return 0;for(var _t=Mt(ot),$t=_t.segments,Vt=_t.totalLength,Qt=0,cn=0,Yn=0;Yn<$t.length;Yn++){var qn=$t[Yn],Sr=qn.from,Jr=qn.to,vr=qn.length/Vt;if(ut>=Qt&&ut<=Qt+vr){cn=Math.atan2(Jr[1]-Sr[1],Jr[0]-Sr[0]);break}Qt+=vr}return cn}function Pe(ot,ut,_t){for(var $t=1/0,Vt=0;Vt=0?[Vt]:[]}function Tn(ot,ut,_t,$t,Vt,Qt,cn){var Yn=zt(ot,_t,Vt,cn),qn=zt(ut,$t,Qt,cn),Sr=Lt(ot,ut,_t,$t,cn),Jr=Lt(_t,$t,Vt,Qt,cn);return[[ot,ut,Sr.x,Sr.y,Yn,qn],[Yn,qn,Jr.x,Jr.y,Vt,Qt]]}function lr(ot,ut,_t,$t,Vt,Qt,cn){if(cn===0)return(N(ot,ut,_t,$t)+N(_t,$t,Vt,Qt)+N(ot,ut,Vt,Qt))/2;var Yn=Tn(ot,ut,_t,$t,Vt,Qt,.5),qn=Yn[0],Sr=Yn[1];return qn.push(cn-1),Sr.push(cn-1),lr.apply(void 0,_toConsumableArray(qn))+lr.apply(void 0,_toConsumableArray(Sr))}function je(ot,ut,_t,$t,Vt,Qt){var cn=Fn(ot,_t,Vt)[0],Yn=Fn(ut,$t,Qt)[0],qn=[ot,Vt],Sr=[ut,Qt];return cn!==void 0&&qn.push(zt(ot,_t,Vt,cn)),Yn!==void 0&&Sr.push(zt(ut,$t,Qt,Yn)),E(qn,Sr)}function be(ot,ut,_t,$t,Vt,Qt){return lr(ot,ut,_t,$t,Vt,Qt,3)}function it(ot,ut,_t,$t,Vt,Qt,cn,Yn){return at([ot,_t,Vt],[ut,$t,Qt],cn,Yn,zt)}function wt(ot,ut,_t,$t,Vt,Qt,cn,Yn){var qn=it(ot,ut,_t,$t,Vt,Qt,cn,Yn);return N(qn.x,qn.y,cn,Yn)}},59293:function(Be,Me,b){"use strict";b.d(Me,{S:function(){return X}});var m=b(85899),Z=b(38705),V=b(17212),N=b(96885),E=b(39153),F=b(48981),C=b(73001),P=b(11576),H=b(68901);var D=function(){function j(de){(0,Z.Z)(this,j),this.dragndropPluginOptions=de}return(0,V.Z)(j,[{key:"apply",value:function(he){var we=this,ve=he.renderingService,Ee=he.renderingContext,$e=Ee.root.ownerDocument,Fe=$e.defaultView,ct=function(at){var kt=at.target,It=kt===$e,Bn=It&&we.dragndropPluginOptions.isDocumentDraggable?$e:kt.closest&&kt.closest("[draggable=true]");if(Bn){var Lt=!1,Wn=at.timeStamp,Xn=[at.clientX,at.clientY],In=null,zn=[at.clientX,at.clientY],dr=function(){var _r=(0,P.Z)((0,C.Z)().mark(function Ge(Tt){var On,Vr,en,ln,Cn,Mt;return(0,C.Z)().wrap(function(Et){for(;;)switch(Et.prev=Et.next){case 0:if(Lt){Et.next=2;break}if(On=Tt.timeStamp-Wn,Vr=(0,H.y)([Tt.clientX,Tt.clientY],Xn),!(On<=we.dragndropPluginOptions.dragstartTimeThreshold||Vr<=we.dragndropPluginOptions.dragstartDistanceThreshold)){Et.next=1;break}return Et.abrupt("return");case 1:Tt.type="dragstart",Bn.dispatchEvent(Tt),Lt=!0;case 2:if(Tt.type="drag",Tt.dx=Tt.clientX-zn[0],Tt.dy=Tt.clientY-zn[1],Bn.dispatchEvent(Tt),zn=[Tt.clientX,Tt.clientY],It){Et.next=4;break}return en=we.dragndropPluginOptions.overlap==="pointer"?[Tt.canvasX,Tt.canvasY]:kt.getBounds().center,Et.next=3,$e.elementsFromPoint(en[0],en[1]);case 3:ln=Et.sent,Cn=ln[ln.indexOf(kt)+1],Mt=(Cn==null?void 0:Cn.closest("[droppable=true]"))||(we.dragndropPluginOptions.isDocumentDroppable?$e:null),In!==Mt&&(In&&(Tt.type="dragleave",Tt.target=In,In.dispatchEvent(Tt)),Mt&&(Tt.type="dragenter",Tt.target=Mt,Mt.dispatchEvent(Tt)),In=Mt,In&&(Tt.type="dragover",Tt.target=In,In.dispatchEvent(Tt)));case 4:case"end":return Et.stop()}},Ge)}));return function(Tt){return _r.apply(this,arguments)}}();Fe.addEventListener("pointermove",dr);var vn=function(Ge){if(Lt){Ge.detail={preventClick:!0};var Tt=Ge.clone();In&&(Tt.type="drop",Tt.target=In,In.dispatchEvent(Tt)),Tt.type="dragend",Bn.dispatchEvent(Tt),Lt=!1}Fe.removeEventListener("pointermove",dr)};kt.addEventListener("pointerup",vn,{once:!0}),kt.addEventListener("pointerupoutside",vn,{once:!0})}};ve.hooks.init.tap(j.tag,function(){Fe.addEventListener("pointerdown",ct)}),ve.hooks.destroy.tap(j.tag,function(){Fe.removeEventListener("pointerdown",ct)})}}])}();D.tag="Dragndrop";var X=function(j){function de(){var he,we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,Z.Z)(this,de),he=(0,N.Z)(this,de),he.name="dragndrop",he.options=we,he}return(0,E.Z)(de,j),(0,V.Z)(de,[{key:"init",value:function(){this.addRenderingPlugin(new D((0,m.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(we){Object.assign(this.plugins[0].dragndropPluginOptions,we)}}])}(F.F6)},66623:function(Be,Me,b){"use strict";b.d(Me,{$6:function(){return m.$6},Aw:function(){return m.Aw},BB:function(){return m.BB},BV:function(){return m.BV},Cd:function(){return m.Cd},Dk:function(){return m.Dk},Ee:function(){return m.Ee},GZ:function(){return m.GZ},Pj:function(){return m.Pj},UL:function(){return m.UL},Xz:function(){return m.Xz},ZA:function(){return m.ZA},aH:function(){return m.aH},b_:function(){return m.b_},k9:function(){return m.k9},mN:function(){return m.mN},mg:function(){return m.mg},nR:function(){return m.nR},s$:function(){return m.s$},x1:function(){return m.x1},xv:function(){return m.xv},y$:function(){return m.y$}});var m=b(48981),Z=b(38705),V=b(17212),N=b(96885),E=b(39153),F=b(77654),C=b(72190),P=b(70208),H=b(1933),D=b(76075),X=b(71879),j=b(5131),de=b(94569),he=b(60187),we=b(92421),ve=b(42244),Ee=b(64270),$e=b.n(Ee),Fe=b(85899),ct=b(18642),vt=b(71369);var at=function(Hn){function Pt(Gt,Bt,yn,Ln){var gr;return(0,Z.Z)(this,Pt),gr=(0,N.Z)(this,Pt,[Gt]),gr.currentTime=yn,gr.timelineTime=Ln,gr.target=Bt,gr.type="finish",gr.bubbles=!1,gr.currentTarget=Bt,gr.defaultPrevented=!1,gr.eventPhase=gr.AT_TARGET,gr.timeStamp=Date.now(),gr.currentTime=yn,gr.timelineTime=Ln,gr}return(0,E.Z)(Pt,Hn),(0,V.Z)(Pt)}(m.xA),kt=0,It=function(){function Hn(Pt,Gt){var Bt;(0,Z.Z)(this,Hn),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=Pt,Pt.animation=this,this.timeline=Gt,this.id="".concat(kt++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((Bt=this.effect)===null||Bt===void 0?void 0:Bt.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,V.Z)(Hn,[{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 Gt=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(Bt,yn){Gt.resolveReadyPromise=function(){Bt(Gt)},Gt.rejectReadyPromise=function(){yn(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var Gt=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(Bt,yn){Gt.resolveFinishedPromise=function(){Bt(Gt)},Gt.rejectFinishedPromise=function(){yn(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(Gt){if(Gt=Number(Gt),!isNaN(Gt)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var Bt;this._startTime=Number((Bt=this.timeline)===null||Bt===void 0?void 0:Bt.currentTime)-Gt/this.playbackRate}this.currentTimePending=!1,this._currentTime!==Gt&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(Gt,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(Gt){if(Gt!==null){if(this.updatePromises(),Gt=Number(Gt),isNaN(Gt)||this._paused||this._idle)return;this._startTime=Gt,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(Gt){if(Gt!==this._playbackRate){this.updatePromises();var Bt=this.currentTime;this._playbackRate=Gt,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),Bt!==null&&(this.currentTime=Bt),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 Gt;if((Gt=this.effect.target)!==null&&Gt!==void 0&&Gt.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var Bt=this.oldPlayState,yn=this.pending?"pending":this.playState;return this.readyPromise&&yn!==Bt&&(yn==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):Bt==="pending"?this.resolveReadyPromise():yn==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&yn!==Bt&&(yn==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):yn==="finished"?this.resolveFinishedPromise():Bt==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=yn,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 Gt=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=null,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var Bt=new at(null,this,this.currentTime,null);setTimeout(function(){Gt.oncancel(Bt)})}}},{key:"reverse",value:function(){this.updatePromises();var Gt=this.currentTime;this.playbackRate*=-1,this.play(),Gt!==null&&(this.currentTime=Gt),this.updatePromises()}},{key:"updatePlaybackRate",value:function(Gt){this.playbackRate=Gt}},{key:"targetAnimations",value:function(){var Gt,Bt=(Gt=this.effect)===null||Gt===void 0?void 0:Gt.target;return Bt.getAnimations()}},{key:"markTarget",value:function(){var Gt=this.targetAnimations();Gt.indexOf(this)===-1&&Gt.push(this)}},{key:"unmarkTarget",value:function(){var Gt=this.targetAnimations(),Bt=Gt.indexOf(this);Bt!==-1&&Gt.splice(Bt,1)}},{key:"tick",value:function(Gt,Bt){!this._idle&&!this._paused&&(this._startTime===null?Bt&&(this.startTime=Gt-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((Gt-this._startTime)*this.playbackRate)),Bt&&(this.currentTimePending=!1,this.fireEvents(Gt))}},{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(m.jf)}},{key:"addEventListener",value:function(Gt,Bt,yn){throw new Error(m.jf)}},{key:"removeEventListener",value:function(Gt,Bt,yn){throw new Error(m.jf)}},{key:"dispatchEvent",value:function(Gt){throw new Error(m.jf)}},{key:"commitStyles",value:function(){throw new Error(m.jf)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var Gt;this._inEffect=!!((Gt=this.effect)!==null&&Gt!==void 0&&Gt.update(-1))}else{var Bt;this._inEffect=!!((Bt=this.effect)!==null&&Bt!==void 0&&Bt.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(Gt,Bt){Gt!==this._currentTime&&(this._currentTime=Gt,this._isFinished&&!Bt&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(Gt){var Bt=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var yn=new at(null,this,this.currentTime,Gt);setTimeout(function(){Bt.onfinish&&Bt.onfinish(yn)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var Ln=new at(null,this,this.currentTime,Gt);this.onframe(Ln)}this._finishedFlag=!1}}}])}(),Bn=4,Lt=.001,Wn=1e-7,Xn=10,In=11,zn=1/(In-1),dr=typeof Float32Array=="function",vn=function(Pt,Gt){return 1-3*Gt+3*Pt},_r=function(Pt,Gt){return 3*Gt-6*Pt},Ge=function(Pt){return 3*Pt},Tt=function(Pt,Gt,Bt){return((vn(Gt,Bt)*Pt+_r(Gt,Bt))*Pt+Ge(Gt))*Pt},On=function(Pt,Gt,Bt){return 3*vn(Gt,Bt)*Pt*Pt+2*_r(Gt,Bt)*Pt+Ge(Gt)},Vr=function(Pt,Gt,Bt,yn,Ln){var gr,Rr,$r=0;do Rr=Gt+(Bt-Gt)/2,gr=Tt(Rr,yn,Ln)-Pt,gr>0?Bt=Rr:Gt=Rr;while(Math.abs(gr)>Wn&&++$r=0&&Pt<=1&&Bt>=0&&Bt<=1))throw new Error("bezier x values must be in [0, 1] range");if(Pt===Gt&&Bt===yn)return function($r){return $r};for(var Ln=dr?new Float32Array(In):new Array(In),gr=0;gr=Lt?en(Ii,Aa,Pt,Bt):sa===0?Aa:Vr(Ii,Di,Di+zn,Pt,Bt)};return function($r){return $r===0||$r===1?$r:Tt(Rr($r),Gt,yn)}},Cn=function(Pt){return Pt=Pt.replace(/([A-Z])/g,function(Gt){return"-".concat(Gt.toLowerCase())}),Pt.charAt(0)==="-"?Pt.substring(1):Pt},Mt=function(Pt){return Math.pow(Pt,2)},Et=function(Pt){return Math.pow(Pt,3)},pe=function(Pt){return Math.pow(Pt,4)},Ae=function(Pt){return Math.pow(Pt,5)},Pe=function(Pt){return Math.pow(Pt,6)},Ut=function(Pt){return 1-Math.cos(Pt*Math.PI/2)},jt=function(Pt){return 1-Math.sqrt(1-Pt*Pt)},ft=function(Pt){return Pt*Pt*(3*Pt-2)},on=function(Pt){for(var Gt,Bt=4;Pt<((Gt=Math.pow(2,--Bt))-1)/11;);return 1/Math.pow(4,3-Bt)-7.5625*Math.pow((Gt*3-2)/22-Pt,2)},hn=function(Pt){var Gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Bt=(0,C.Z)(Gt,2),yn=Bt[0],Ln=yn===void 0?1:yn,gr=Bt[1],Rr=gr===void 0?.5:gr,$r=(0,P.Z)(Number(Ln),1,10),Ii=(0,P.Z)(Number(Rr),.1,2);return Pt===0||Pt===1?Pt:-$r*Math.pow(2,10*(Pt-1))*Math.sin((Pt-1-Ii/(Math.PI*2)*Math.asin(1/$r))*(Math.PI*2)/Ii)},lt=function(Pt){var Gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Bt=arguments.length>2?arguments[2]:void 0,yn=(0,C.Z)(Gt,4),Ln=yn[0],gr=Ln===void 0?1:Ln,Rr=yn[1],$r=Rr===void 0?100:Rr,Ii=yn[2],Di=Ii===void 0?10:Ii,ss=yn[3],vs=ss===void 0?0:ss;gr=(0,P.Z)(gr,.1,1e3),$r=(0,P.Z)($r,.1,1e3),Di=(0,P.Z)(Di,.1,1e3),vs=(0,P.Z)(vs,.1,1e3);var Cs=Math.sqrt($r/gr),Aa=Di/(2*Math.sqrt($r*gr)),sa=Aa<1?Cs*Math.sqrt(1-Aa*Aa):0,ca=1,Ai=Aa<1?(Aa*Cs+-vs)/sa:-vs+Cs,$a=Bt?Bt*Pt/1e3:Pt;return Aa<1?$a=Math.exp(-$a*Aa*Cs)*(ca*Math.cos(sa*$a)+Ai*Math.sin(sa*$a)):$a=(ca+Ai*$a)*Math.exp(-$a*Cs),Pt===0||Pt===1?Pt:1-$a},Ct=function(Pt){var Gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Bt=Gt,yn=(0,C.Z)(Bt,2),Ln=yn[0],gr=Ln===void 0?10:Ln,Rr=yn[1],$r=Rr==="start"?Math.ceil:Math.floor;return $r((0,P.Z)(Pt,0,1)*gr)/gr},sn=function(Pt){var Gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Bt=(0,C.Z)(Gt,4),yn=Bt[0],Ln=Bt[1],gr=Bt[2],Rr=Bt[3];return ln(yn,Ln,gr,Rr)(Pt)},W=ln(.42,0,1,1),Se=function(Pt){return function(Gt){var Bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],yn=arguments.length>2?arguments[2]:void 0;return 1-Pt(1-Gt,Bt,yn)}},Ht=function(Pt){return function(Gt){var Bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],yn=arguments.length>2?arguments[2]:void 0;return Gt<.5?Pt(Gt*2,Bt,yn)/2:1-Pt(Gt*-2+2,Bt,yn)/2}},zt=function(Pt){return function(Gt){var Bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],yn=arguments.length>2?arguments[2]:void 0;return Gt<.5?(1-Pt(1-Gt*2,Bt,yn))/2:(Pt(Gt*2-1,Bt,yn)+1)/2}},Fn={steps:Ct,"step-start":function(Pt){return Ct(Pt,[1,"start"])},"step-end":function(Pt){return Ct(Pt,[1,"end"])},linear:function(Pt){return Pt},"cubic-bezier":sn,ease:function(Pt){return sn(Pt,[.25,.1,.25,1])},in:W,out:Se(W),"in-out":Ht(W),"out-in":zt(W),"in-quad":Mt,"out-quad":Se(Mt),"in-out-quad":Ht(Mt),"out-in-quad":zt(Mt),"in-cubic":Et,"out-cubic":Se(Et),"in-out-cubic":Ht(Et),"out-in-cubic":zt(Et),"in-quart":pe,"out-quart":Se(pe),"in-out-quart":Ht(pe),"out-in-quart":zt(pe),"in-quint":Ae,"out-quint":Se(Ae),"in-out-quint":Ht(Ae),"out-in-quint":zt(Ae),"in-expo":Pe,"out-expo":Se(Pe),"in-out-expo":Ht(Pe),"out-in-expo":zt(Pe),"in-sine":Ut,"out-sine":Se(Ut),"in-out-sine":Ht(Ut),"out-in-sine":zt(Ut),"in-circ":jt,"out-circ":Se(jt),"in-out-circ":Ht(jt),"out-in-circ":zt(jt),"in-back":ft,"out-back":Se(ft),"in-out-back":Ht(ft),"out-in-back":zt(ft),"in-bounce":on,"out-bounce":Se(on),"in-out-bounce":Ht(on),"out-in-bounce":zt(on),"in-elastic":hn,"out-elastic":Se(hn),"in-out-elastic":Ht(hn),"out-in-elastic":zt(hn),spring:lt,"spring-in":lt,"spring-out":Se(lt),"spring-in-out":Ht(lt),"spring-out-in":zt(lt)},Tn=function(Pt){return Cn(Pt).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},lr=function(Pt){return Fn[Tn(Pt)]||Fn.linear},je=function(Pt){return Pt},be=1,it=.5,wt=0;function ot(Hn,Pt){return function(Gt){if(Gt>=1)return 1;var Bt=1/Hn;return Gt+=Pt*Bt,Gt-Gt%Bt}}var ut="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",_t=new RegExp("cubic-bezier\\(".concat(ut,",").concat(ut,",").concat(ut,",").concat(ut,"\\)")),$t=/steps\(\s*(\d+)\s*\)/,Vt=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function Qt(Hn){var Pt=_t.exec(Hn);if(Pt)return ln.apply(void 0,(0,F.Z)(Pt.slice(1).map(Number)));var Gt=$t.exec(Hn);if(Gt)return ot(Number(Gt[1]),wt);var Bt=Vt.exec(Hn);return Bt?ot(Number(Bt[1]),{start:be,middle:it,end:wt}[Bt[2]]):lr(Hn)}function cn(Hn){return Math.abs(Yn(Hn)/(Hn.playbackRate||1))}function Yn(Hn){var Pt;return Hn.duration===0||Hn.iterations===0?0:(Hn.duration==="auto"?0:Number(Hn.duration))*((Pt=Hn.iterations)!==null&&Pt!==void 0?Pt:1)}var qn=0,Sr=1,Jr=2,vr=3;function Ki(Hn,Pt,Gt){if(Pt===null)return qn;var Bt=Gt.endTime;return Pt=Math.min(Gt.delay+Hn+Gt.endDelay,Bt)?Jr:vr}function Mi(Hn,Pt,Gt,Bt,yn){switch(Bt){case Sr:return Pt==="backwards"||Pt==="both"?0:null;case vr:return Gt-yn;case Jr:return Pt==="forwards"||Pt==="both"?Hn:null;case qn:return null}}function yi(Hn,Pt,Gt,Bt,yn){var Ln=yn;return Hn===0?Pt!==Sr&&(Ln+=Gt):Ln+=Bt/Hn,Ln}function qr(Hn,Pt,Gt,Bt,yn,Ln){var gr=Hn===1/0?Pt%1:Hn%1;return gr===0&&Gt===Jr&&Bt!==0&&(yn!==0||Ln===0)&&(gr=1),gr}function es(Hn,Pt,Gt,Bt){return Hn===Jr&&Pt===1/0?1/0:Gt===1?Math.floor(Bt)-1:Math.floor(Bt)}function Ci(Hn,Pt,Gt){var Bt=Hn;if(Hn!=="normal"&&Hn!=="reverse"){var yn=Pt;Hn==="alternate-reverse"&&(yn+=1),Bt="normal",yn!==1/0&&yn%2!==0&&(Bt="reverse")}return Bt==="normal"?Gt:1-Gt}function En(Hn,Pt,Gt){var Bt=Ki(Hn,Pt,Gt),yn=Mi(Hn,Gt.fill,Pt,Bt,Gt.delay);if(yn===null)return null;var Ln=Gt.duration==="auto"?0:Gt.duration,gr=yi(Ln,Bt,Gt.iterations,yn,Gt.iterationStart),Rr=qr(gr,Gt.iterationStart,Bt,Gt.iterations,yn,Ln),$r=es(Bt,Gt.iterations,Rr,gr),Ii=Ci(Gt.direction,$r,Rr);return Gt.currentIteration=$r,Gt.progress=Ii,Gt.easingFunction(Ii)}function rn(Hn,Pt,Gt){var Bt=st(Hn,Pt),yn=dt(Bt,Gt);return function(Ln,gr){if(gr!==null)yn.filter(function($r){return gr>=$r.applyFrom&&gr<$r.applyTo}).forEach(function($r){var Ii=gr-$r.startOffset,Di=$r.endOffset-$r.startOffset,ss=Di===0?0:Ii/Di;Ln.setAttribute($r.property,$r.interpolation(ss),!1,!1)});else for(var Rr in Bt)Xt(Rr)&&Ln.setAttribute(Rr,null)}}function Xt(Hn){return Hn!=="offset"&&Hn!=="easing"&&Hn!=="composite"&&Hn!=="computedOffset"}function st(Hn,Pt){for(var Gt={},Bt=0;Bt1)throw new Error("Keyframe offsets must be between 0 and 1.");Ii.computedOffset=ss}}else if(Di==="composite"&&["replace","add","accumulate","auto"].indexOf(ss)===-1)throw new Error("".concat(ss," compositing is not supported"));Ii[Di]=ss}return Ii.offset===void 0&&(Ii.offset=null),Ii.easing===void 0&&(Ii.easing=(Pt==null?void 0:Pt.easing)||"linear"),Ii.composite===void 0&&(Ii.composite="auto"),Ii}),Bt=!0,yn=-1/0,Ln=0;Ln=0&&Number($r.offset)<=1});function Rr(){var $r,Ii=Gt,Di=Ii.length;if(Gt[Di-1].computedOffset=Number(($r=Gt[Di-1].offset)!==null&&$r!==void 0?$r:1),Di>1){var ss;Gt[0].computedOffset=Number((ss=Gt[0].offset)!==null&&ss!==void 0?ss:0)}for(var vs=0,Cs=Number(Gt[0].computedOffset),Aa=1;Aa90)return this;this.computeMatrix()}return this._getAxes(),this.type===m.iM.ORBITING||this.type===m.iM.EXPLORING?this._getPosition():this.type===m.iM.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(Bt,yn){var Ln=(0,m.O4)(Bt,yn,0),gr=we.d9(this.position);return we.IH(gr,gr,we.bA(we.Ue(),this.right,Ln[0])),we.IH(gr,gr,we.bA(we.Ue(),this.up,Ln[1])),this._setPosition(gr),this.triggerUpdate(),this}},{key:"dolly",value:function(Bt){var yn=this.forward,Ln=we.d9(this.position),gr=Bt*this.dollyingStep,Rr=this.distance+Bt*this.dollyingStep;return gr=Math.max(Math.min(Rr,this.maxDistance),this.minDistance)-this.distance,Ln[0]+=gr*yn[0],Ln[1]+=gr*yn[1],Ln[2]+=gr*yn[2],this._setPosition(Ln),this.type===m.iM.ORBITING||this.type===m.iM.EXPLORING?this._getDistance():this.type===m.iM.TRACKING&&we.IH(this.focalPoint,Ln,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(Bt){var yn,Ln,gr,Rr,$r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ii=$r.position,Di=Ii===void 0?this.position:Ii,ss=$r.focalPoint,vs=ss===void 0?this.focalPoint:ss,Cs=$r.roll,Aa=$r.zoom,sa=new m.GZ.CameraContribution;sa.setType(this.type,void 0),sa.setPosition(Di[0],(yn=Di[1])!==null&&yn!==void 0?yn:this.position[1],(Ln=Di[2])!==null&&Ln!==void 0?Ln:this.position[2]),sa.setFocalPoint(vs[0],(gr=vs[1])!==null&&gr!==void 0?gr:this.focalPoint[1],(Rr=vs[2])!==null&&Rr!==void 0?Rr:this.focalPoint[2]),sa.setRoll(Cs!=null?Cs:this.roll),sa.setZoom(Aa!=null?Aa:this.zoom);var ca={name:Bt,matrix:he.clone(sa.getWorldTransform()),right:we.d9(sa.right),up:we.d9(sa.up),forward:we.d9(sa.forward),position:we.d9(sa.getPosition()),focalPoint:we.d9(sa.getFocalPoint()),distanceVector:we.d9(sa.getDistanceVector()),distance:sa.getDistance(),dollyingStep:sa.getDollyingStep(),azimuth:sa.getAzimuth(),elevation:sa.getElevation(),roll:sa.getRoll(),relAzimuth:sa.relAzimuth,relElevation:sa.relElevation,relRoll:sa.relRoll,zoom:sa.getZoom()};return this.landmarks.push(ca),ca}},{key:"gotoLandmark",value:function(Bt){var yn=this,Ln=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},gr=(0,X.Z)(Bt)?this.landmarks.find(function(Lu){return Lu.name===Bt}):Bt;if(gr){var Rr=(0,H.Z)(Ln)?{duration:Ln}:Ln,$r=Rr.easing,Ii=$r===void 0?"linear":$r,Di=Rr.duration,ss=Di===void 0?100:Di,vs=Rr.easingFunction,Cs=vs===void 0?void 0:vs,Aa=Rr.onfinish,sa=Aa===void 0?void 0:Aa,ca=Rr.onframe,Ai=ca===void 0?void 0:ca,$a=.01;this.cancelLandmarkAnimation();var Zo=gr.position,Ko=gr.focalPoint,$o=gr.zoom,bo=gr.roll,Pl=Cs||m.GZ.EasingFunction(Ii),il,go=function(){yn.setFocalPoint(Ko),yn.setPosition(Zo),yn.setRoll(bo),yn.setZoom($o),yn.computeMatrix(),yn.triggerUpdate(),sa==null||sa()};if(ss===0)return go();var Ll=function(ao){il===void 0&&(il=ao);var sl=ao-il;if(sl>=ss){go();return}var No=Pl(sl/ss),Uu=we.Ue(),ws=we.Ue(),Kh=1,dh=0;we.t7(Uu,yn.focalPoint,Ko,No),we.t7(ws,yn.position,Zo,No),dh=yn.roll*(1-No)+bo*No,Kh=yn.zoom*(1-No)+$o*No,yn.setFocalPoint(Uu),yn.setPosition(ws),yn.setRoll(dh),yn.setZoom(Kh);var $h=we.TK(Uu,Ko)+we.TK(ws,Zo);if($h<=$a&&$o===void 0&&bo===void 0)return go();yn.computeMatrix(),yn.triggerUpdate(),slNo*No+Uu*Uu&&(il=Ll,go=Lu),{cx:il,cy:go,x0:-Di,y0:-ss,x1:il*(yn/$o-1),y1:go*(yn/$o-1)}}function Es(Hn,Pt){return Pt=Pt<0&&Hn>=0?Pt+fr:Pt,Pt-Hn<=kr?0:1}var ua=function(Hn){function Pt(Gt){var Bt;return(0,Z.Z)(this,Pt),Bt=(0,N.Z)(this,Pt,[Gt]),Bt.updatePath(),Bt}return(0,E.Z)(Pt,Hn),(0,V.Z)(Pt,[{key:"setAttribute",value:function(Bt,yn,Ln){(0,vt.Z)(Pt,"setAttribute",this,3)([Bt,yn,Ln]),["startAngle","endAngle","sr","sr0","radius"].indexOf(Bt)>-1&&this.updatePath()}},{key:"updatePath",value:function(){var Bt=this.parsedStyle,yn=Bt.x,Ln=Bt.y,gr=Bt.startAngle,Rr=Bt.endAngle,$r=Bt.sr,Ii=Bt.sr0,Di=Bt.radius,ss=this.createPath(yn,Ln,gr?(0,m.Vl)(gr):0,Rr?(0,m.Vl)(Rr):Math.PI*2,$r||0,Ii||0,Di||[0,0,0,0]);(0,vt.Z)(Pt,"setAttribute",this,3)(["d",ss])}},{key:"createPath",value:function(Bt,yn,Ln,gr,Rr,$r,Ii){if(!(Rr<=0)){var Di=Ei(Bt,yn,Rr,Ln),ss=Ei(Bt,yn,Rr,gr),vs=Ei(Bt,yn,$r,Ln),Cs=Ei(Bt,yn,$r,gr);if((0,j.Z)(gr-Ln,Math.PI*2)){var Aa=Ei(Bt,yn,Rr,Ln+Math.PI),sa=Ei(Bt,yn,$r,Ln+Math.PI),ca=[["M",Di.x,Di.y],["A",Rr,Rr,0,1,1,Aa.x,Aa.y],["A",Rr,Rr,0,1,1,ss.x,ss.y],["M",vs.x,vs.y]];return $r&&(ca.push(["A",$r,$r,0,1,0,sa.x,sa.y]),ca.push(["A",$r,$r,0,1,0,Cs.x,Cs.y])),ca.push(["M",Di.x,Di.y]),ca.push(["Z"]),ca}var Ai=gr-Ln,$a=Rr*ei(Ln),Zo=Rr*wr(Ln),Ko=$r*ei(gr),$o=$r*wr(gr),bo=Rr*ei(gr),Pl=Rr*wr(gr),il=$r*ei(Ln),go=$r*wr(Ln),Ll=(0,C.Z)(Ii,4),Lu=Ll[0],ao=Ll[1],sl=Ll[2],No=Ll[3],Uu=(Rr-$r)/2,ws=$i(Uu,Lu),Kh=$i(Uu,ao),dh=$i(Uu,sl),$h=$i(Uu,No),Uh=Pr(ws,Kh),Ku=Pr(dh,$h),sc=Uh,pu=Ku;if((Uh>Zi||Ku>Zi)&&AiZi){var gd=$i(Lu,sc),lu=$i(ao,sc),gu=_i(il,go,$a,Zo,Rr,gd,Vc),oo=_i(bo,Pl,Ko,$o,Rr,lu,Vc);if(jo.push(["M",Bt+gu.cx+gu.x0,yn+gu.cy+gu.y0]),sc0){var ph=jn(gu.y0,gu.x0),Lo=jn(gu.y1,gu.x1),Ji=Ei(Bt,yn,Rr,Lo);jo.push(["A",gd,gd,0,Es(ph,Lo),1,Ji.x,Ji.y])}var $u=jn(gu.cy+gu.y1,gu.cx+gu.x1),gh=jn(oo.cy+oo.y1,oo.cx+oo.x1),mh=Ei(Bt,yn,Rr,gh);if(jo.push(["A",Rr,Rr,0,Es($u,gh),1,mh.x,mh.y]),lu>0){var np=jn(oo.y1,oo.x1),vh=jn(oo.y0,oo.x0);jo.push(["A",lu,lu,0,Es(np,vh),1,Bt+oo.cx+oo.x0,yn+oo.cy+oo.y0])}}}else jo.push(["M",Di.x,Di.y]),jo.push(["A",Rr,Rr,0,Ah,1,ss.x,ss.y]);if($rZi){var Cu=$i(No,pu),zc=$i(sl,pu),Ul=_i(Ko,$o,0,0,$r-Rr,zc,Vc),Xl=_i(0,0,il,go,$r-Rr,Cu,Vc);if(jo.push(["L",Bt+Ul.cx+Ul.x0,yn+Ul.cy+Ul.y0]),pu0){var gl=jn(Ul.y0,Ul.x0),To=jn(Ul.y1,Ul.x1),ml=Ei(Bt,yn,$r-Rr,To);jo.push(["A",zc,zc,0,Es(gl,To),1,ml.x,ml.y])}var Xu=jn(Ul.cy+Ul.y1,Ul.cx+Ul.x1),mu=jn(Xl.cy+Xl.y1,Xl.cx+Xl.x1),Oo=Ei(Bt,yn,$r,mu);if(jo.push(["A",$r,$r,0,Es(mu,Xu),0,Oo.x,Oo.y]),jo.push(["L",Oo.x,Oo.y]),Cu>0){var Bo=jn(Xl.y1,Xl.x1),_o=jn(Xl.y0,Xl.x0);jo.push(["A",Cu,Cu,0,Es(Bo,_o),1,Bt+Xl.cx+Xl.x0,yn+Xl.cy+Xl.y0])}}}else jo.push(["L",Cs.x,Cs.y]),jo.push(["A",$r,$r,0,Ah,0,vs.x,vs.y]);return jo.push(["Z"]),jo}}}])}(m.y$);ua.PARSED_STYLE_LIST=new Set([].concat((0,F.Z)(m.y$.PARSED_STYLE_LIST),["x","y","sr","sr0","radius","startAngle","endAngle"]))},67469:function(Be,Me,b){"use strict";b.d(Me,{k:function(){return N}});var m=b(49336),Z=b(54648),V=b(7663);class N extends m.Z{constructor(C){super();_c(this,"nodeMap",new Map);_c(this,"edgeMap",new Map);_c(this,"inEdgesMap",new Map);_c(this,"outEdgesMap",new Map);_c(this,"bothEdgesMap",new Map);_c(this,"treeIndices",new Map);_c(this,"changes",[]);_c(this,"batchCount",0);_c(this,"onChanged",()=>{});_c(this,"batch",C=>{this.batchCount+=1,C(),this.batchCount-=1,this.batchCount||this.commit()});C&&(C.nodes&&this.addNodes(C.nodes),C.edges&&this.addEdges(C.edges),C.tree&&this.addTree(C.tree),C.onChanged&&(this.onChanged=C.onChanged))}commit(){const C=this.changes;this.changes=[];const P={graph:this,changes:C};this.emit("changed",P),this.onChanged(P)}reduceChanges(C){let P=[];return C.forEach(H=>{switch(H.type){case"NodeRemoved":{let D=!1;P=P.filter(X=>{if(X.type==="NodeAdded"){const j=X.value.id===H.value.id;return j&&(D=!0),!j}else{if(X.type==="NodeDataUpdated")return X.id!==H.value.id;if(X.type==="TreeStructureChanged")return X.nodeId!==H.value.id}return!0}),D||P.push(H);break}case"EdgeRemoved":{let D=!1;P=P.filter(X=>{if(X.type==="EdgeAdded"){const j=X.value.id===H.value.id;return j&&(D=!0),!j}else if(X.type==="EdgeDataUpdated"||X.type==="EdgeUpdated")return X.id!==H.value.id;return!0}),D||P.push(H);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const D=P.findIndex(j=>j.type===H.type&&j.id===H.id&&(H.propertyName===void 0||j.propertyName===H.propertyName)),X=P[D];X?H.propertyName!==void 0?X.newValue=H.newValue:(P.splice(D,1),P.push(H)):P.push(H);break}case"TreeStructureDetached":{P=P.filter(D=>D.type==="TreeStructureAttached"||D.type==="TreeStructureChanged"?D.treeKey!==H.treeKey:!0),P.push(H);break}case"TreeStructureChanged":{const D=P.find(X=>X.type==="TreeStructureChanged"&&X.treeKey===H.treeKey&&X.nodeId===H.nodeId);D?D.newParentId=H.newParentId:P.push(H);break}default:P.push(H);break}}),P}checkNodeExistence(C){this.getNode(C)}hasNode(C){return this.nodeMap.has(C)}areNeighbors(C,P){return this.getNeighbors(P).some(H=>H.id===C)}getNode(C){const P=this.nodeMap.get(C);if(!P)throw new Error("Node not found for id: "+C);return P}getRelatedEdges(C,P){if(this.checkNodeExistence(C),P==="in"){const H=this.inEdgesMap.get(C);return Array.from(H)}else if(P==="out"){const H=this.outEdgesMap.get(C);return Array.from(H)}else{const H=this.bothEdgesMap.get(C);return Array.from(H)}}getDegree(C,P){return this.getRelatedEdges(C,P).length}getSuccessors(C){const H=this.getRelatedEdges(C,"out").map(D=>this.getNode(D.target));return Array.from(new Set(H))}getPredecessors(C){const H=this.getRelatedEdges(C,"in").map(D=>this.getNode(D.source));return Array.from(new Set(H))}getNeighbors(C){const P=this.getPredecessors(C),H=this.getSuccessors(C);return Array.from(new Set([...P,...H]))}doAddNode(C){if(this.hasNode(C.id))throw new Error("Node already exists: "+C.id);this.nodeMap.set(C.id,C),this.inEdgesMap.set(C.id,new Set),this.outEdgesMap.set(C.id,new Set),this.bothEdgesMap.set(C.id,new Set),this.treeIndices.forEach(P=>{P.childrenMap.set(C.id,new Set)}),this.changes.push({type:"NodeAdded",value:C})}addNodes(C){this.batch(()=>{for(const P of C)this.doAddNode(P)})}addNode(C){this.addNodes([C])}doRemoveNode(C){const P=this.getNode(C),H=this.bothEdgesMap.get(C);H==null||H.forEach(D=>this.doRemoveEdge(D.id)),this.nodeMap.delete(C),this.treeIndices.forEach(D=>{var j,de;(j=D.childrenMap.get(C))==null||j.forEach(he=>{D.parentMap.delete(he.id)});const X=D.parentMap.get(C);X&&((de=D.childrenMap.get(X.id))==null||de.delete(P)),D.parentMap.delete(C),D.childrenMap.delete(C)}),this.bothEdgesMap.delete(C),this.inEdgesMap.delete(C),this.outEdgesMap.delete(C),this.changes.push({type:"NodeRemoved",value:P})}removeNodes(C){this.batch(()=>{C.forEach(P=>this.doRemoveNode(P))})}removeNode(C){this.removeNodes([C])}updateNodeDataProperty(C,P,H){const D=this.getNode(C);this.batch(()=>{const X=D.data[P],j=H;D.data[P]=j,this.changes.push({type:"NodeDataUpdated",id:C,propertyName:P,oldValue:X,newValue:j})})}mergeNodeData(C,P){this.batch(()=>{Object.entries(P).forEach(([H,D])=>{this.updateNodeDataProperty(C,H,D)})})}updateNodeData(...C){const P=C[0],H=this.getNode(P);if(typeof C[1]=="string"){this.updateNodeDataProperty(P,C[1],C[2]);return}let D;if(typeof C[1]=="function"){const X=C[1];D=X(H.data)}else typeof C[1]=="object"&&(D=C[1]);this.batch(()=>{const X=H.data,j=D;H.data=D,this.changes.push({type:"NodeDataUpdated",id:P,oldValue:X,newValue:j})})}checkEdgeExistence(C){if(!this.hasEdge(C))throw new Error("Edge not found for id: "+C)}hasEdge(C){return this.edgeMap.has(C)}getEdge(C){return this.checkEdgeExistence(C),this.edgeMap.get(C)}getEdgeDetail(C){const P=this.getEdge(C);return{edge:P,source:this.getNode(P.source),target:this.getNode(P.target)}}doAddEdge(C){if(this.hasEdge(C.id))throw new Error("Edge already exists: "+C.id);this.checkNodeExistence(C.source),this.checkNodeExistence(C.target),this.edgeMap.set(C.id,C);const P=this.inEdgesMap.get(C.target),H=this.outEdgesMap.get(C.source),D=this.bothEdgesMap.get(C.source),X=this.bothEdgesMap.get(C.target);P.add(C),H.add(C),D.add(C),X.add(C),this.changes.push({type:"EdgeAdded",value:C})}addEdges(C){this.batch(()=>{for(const P of C)this.doAddEdge(P)})}addEdge(C){this.addEdges([C])}doRemoveEdge(C){const P=this.getEdge(C),H=this.outEdgesMap.get(P.source),D=this.inEdgesMap.get(P.target),X=this.bothEdgesMap.get(P.source),j=this.bothEdgesMap.get(P.target);H.delete(P),D.delete(P),X.delete(P),j.delete(P),this.edgeMap.delete(C),this.changes.push({type:"EdgeRemoved",value:P})}removeEdges(C){this.batch(()=>{C.forEach(P=>this.doRemoveEdge(P))})}removeEdge(C){this.removeEdges([C])}updateEdgeSource(C,P){const H=this.getEdge(C);this.checkNodeExistence(P);const D=H.source,X=P;this.outEdgesMap.get(D).delete(H),this.bothEdgesMap.get(D).delete(H),this.outEdgesMap.get(X).add(H),this.bothEdgesMap.get(X).add(H),H.source=P,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:C,propertyName:"source",oldValue:D,newValue:X})})}updateEdgeTarget(C,P){const H=this.getEdge(C);this.checkNodeExistence(P);const D=H.target,X=P;this.inEdgesMap.get(D).delete(H),this.bothEdgesMap.get(D).delete(H),this.inEdgesMap.get(X).add(H),this.bothEdgesMap.get(X).add(H),H.target=P,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:C,propertyName:"target",oldValue:D,newValue:X})})}updateEdgeDataProperty(C,P,H){const D=this.getEdge(C);this.batch(()=>{const X=D.data[P],j=H;D.data[P]=j,this.changes.push({type:"EdgeDataUpdated",id:C,propertyName:P,oldValue:X,newValue:j})})}updateEdgeData(...C){const P=C[0],H=this.getEdge(P);if(typeof C[1]=="string"){this.updateEdgeDataProperty(P,C[1],C[2]);return}let D;if(typeof C[1]=="function"){const X=C[1];D=X(H.data)}else typeof C[1]=="object"&&(D=C[1]);this.batch(()=>{const X=H.data,j=D;H.data=D,this.changes.push({type:"EdgeDataUpdated",id:P,oldValue:X,newValue:j})})}mergeEdgeData(C,P){this.batch(()=>{Object.entries(P).forEach(([H,D])=>{this.updateEdgeDataProperty(C,H,D)})})}checkTreeExistence(C){if(!this.hasTreeStructure(C))throw new Error("Tree structure not found for treeKey: "+C)}hasTreeStructure(C){return this.treeIndices.has(C)}attachTreeStructure(C){this.treeIndices.has(C)||(this.treeIndices.set(C,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:C})}))}detachTreeStructure(C){this.checkTreeExistence(C),this.treeIndices.delete(C),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:C})})}addTree(C,P){this.batch(()=>{this.attachTreeStructure(P);const H=[],D=Array.isArray(C)?C:[C];for(;D.length;){const X=D.shift();H.push(X),X.children&&D.push(...X.children)}this.addNodes(H),H.forEach(X=>{var j;(j=X.children)==null||j.forEach(de=>{this.setParent(de.id,X.id,P)})})})}getRoots(C){return this.checkTreeExistence(C),this.getAllNodes().filter(P=>!this.getParent(P.id,C))}getChildren(C,P){this.checkNodeExistence(C),this.checkTreeExistence(P);const D=this.treeIndices.get(P).childrenMap.get(C);return Array.from(D||[])}getParent(C,P){return this.checkNodeExistence(C),this.checkTreeExistence(P),this.treeIndices.get(P).parentMap.get(C)||null}getAncestors(C,P){const H=[];let D=this.getNode(C),X;for(;X=this.getParent(D.id,P);)H.push(X),D=X;return H}setParent(C,P,H){var we,ve;this.checkTreeExistence(H);const D=this.treeIndices.get(H);if(!D)return;const X=this.getNode(C),j=D.parentMap.get(C);if((j==null?void 0:j.id)===P)return;if(P==null){j&&((we=D.childrenMap.get(j.id))==null||we.delete(X)),D.parentMap.delete(C);return}const de=this.getNode(P);D.parentMap.set(C,de),j&&((ve=D.childrenMap.get(j.id))==null||ve.delete(X));let he=D.childrenMap.get(de.id);he||(he=new Set,D.childrenMap.set(de.id,he)),he.add(X),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:H,nodeId:C,oldParentId:j==null?void 0:j.id,newParentId:de.id})})}dfsTree(C,P,H){const D=X=>this.getChildren(X,H);return(0,V.I)(this.getNode(C),new Set,P,D)}bfsTree(C,P,H){const D=X=>this.getChildren(X,H);return(0,V.O)([this.getNode(C)],new Set,P,D)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(C,P,H="out"){const D={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[H];return(0,V.O)([this.getNode(C)],new Set,P,D)}dfs(C,P,H="out"){const D={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[H];return(0,V.I)(this.getNode(C),new Set,P,D)}clone(){const C=this.getAllNodes().map(D=>fd(rl({},D),{data:rl({},D.data)})),P=this.getAllEdges().map(D=>fd(rl({},D),{data:rl({},D.data)})),H=new N({nodes:C,edges:P});return this.treeIndices.forEach(({parentMap:D,childrenMap:X},j)=>{const de=new Map;D.forEach((we,ve)=>{de.set(ve,H.getNode(we.id))});const he=new Map;X.forEach((we,ve)=>{he.set(ve,new Set(Array.from(we).map(Ee=>H.getNode(Ee.id))))}),H.treeIndices.set(j,{parentMap:de,childrenMap:he})}),H}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(C){return new Z.t(rl({graph:this},C))}}},54648:function(Be,Me,b){"use strict";b.d(Me,{t:function(){return V}});var m=b(7663);const Z=()=>!0;class V{constructor(E){_c(this,"graph");_c(this,"nodeFilter");_c(this,"edgeFilter");_c(this,"cacheEnabled");_c(this,"inEdgesMap",new Map);_c(this,"outEdgesMap",new Map);_c(this,"bothEdgesMap",new Map);_c(this,"allNodesMap",new Map);_c(this,"allEdgesMap",new Map);_c(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});_c(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(E=>E.id))});_c(this,"updateCache",E=>{const F=new Set;E.forEach(C=>{const P=this.bothEdgesMap.get(C);if(P&&P.forEach(H=>F.add(H.id)),!this.hasNode(C))this.inEdgesMap.delete(C),this.outEdgesMap.delete(C),this.bothEdgesMap.delete(C),this.allNodesMap.delete(C);else{const H=this.graph.getRelatedEdges(C,"in").filter(this.edgeFilter),D=this.graph.getRelatedEdges(C,"out").filter(this.edgeFilter),X=Array.from(new Set([...H,...D]));X.forEach(j=>F.add(j.id)),this.inEdgesMap.set(C,H),this.outEdgesMap.set(C,D),this.bothEdgesMap.set(C,X),this.allNodesMap.set(C,this.graph.getNode(C))}}),F.forEach(C=>{this.hasEdge(C)?this.allEdgesMap.set(C,this.graph.getEdge(C)):this.allEdgesMap.delete(C)})});_c(this,"handleGraphChanged",E=>{const F=new Set;E.changes.forEach(C=>{switch(C.type){case"NodeAdded":F.add(C.value.id);break;case"NodeDataUpdated":F.add(C.id);break;case"EdgeAdded":F.add(C.value.source),F.add(C.value.target);break;case"EdgeUpdated":(C.propertyName==="source"||C.propertyName==="target")&&(F.add(C.oldValue),F.add(C.newValue));break;case"EdgeDataUpdated":if(E.graph.hasEdge(C.id)){const P=E.graph.getEdge(C.id);F.add(P.source),F.add(P.target)}break;case"EdgeRemoved":F.add(C.value.source),F.add(C.value.target);break;case"NodeRemoved":F.add(C.value.id);break;default:break}}),this.updateCache(F)});this.graph=E.graph;const F=E.nodeFilter||Z,C=E.edgeFilter||Z;this.nodeFilter=F,this.edgeFilter=P=>{const{source:H,target:D}=this.graph.getEdgeDetail(P.id);return!F(H)||!F(D)?!1:C(P,H,D)},E.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):E.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(E){this.getNode(E)}hasNode(E){if(!this.graph.hasNode(E))return!1;const F=this.graph.getNode(E);return this.nodeFilter(F)}areNeighbors(E,F){return this.checkNodeExistence(E),this.getNeighbors(F).some(C=>C.id===E)}getNode(E){const F=this.graph.getNode(E);if(!this.nodeFilter(F))throw new Error("Node not found for id: "+E);return F}getRelatedEdges(E,F){return this.checkNodeExistence(E),this.cacheEnabled?F==="in"?this.inEdgesMap.get(E):F==="out"?this.outEdgesMap.get(E):this.bothEdgesMap.get(E):this.graph.getRelatedEdges(E,F).filter(this.edgeFilter)}getDegree(E,F){return this.getRelatedEdges(E,F).length}getSuccessors(E){const C=this.getRelatedEdges(E,"out").map(P=>this.getNode(P.target));return Array.from(new Set(C))}getPredecessors(E){const C=this.getRelatedEdges(E,"in").map(P=>this.getNode(P.source));return Array.from(new Set(C))}getNeighbors(E){const F=this.getPredecessors(E),C=this.getSuccessors(E);return Array.from(new Set([...F,...C]))}hasEdge(E){if(!this.graph.hasEdge(E))return!1;const F=this.graph.getEdge(E);return this.edgeFilter(F)}getEdge(E){const F=this.graph.getEdge(E);if(!this.edgeFilter(F))throw new Error("Edge not found for id: "+E);return F}getEdgeDetail(E){const F=this.getEdge(E);return{edge:F,source:this.getNode(F.source),target:this.getNode(F.target)}}hasTreeStructure(E){return this.graph.hasTreeStructure(E)}getRoots(E){return this.graph.getRoots(E).filter(this.nodeFilter)}getChildren(E,F){return this.checkNodeExistence(E),this.graph.getChildren(E,F).filter(this.nodeFilter)}getParent(E,F){this.checkNodeExistence(E);const C=this.graph.getParent(E,F);return!C||!this.nodeFilter(C)?null:C}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(E,F,C="out"){const P={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[C];(0,m.O)([this.getNode(E)],new Set,F,P)}dfs(E,F,C="out"){const P={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[C];(0,m.I)(this.getNode(E),new Set,F,P)}}},7663:function(Be,Me,b){"use strict";b.d(Me,{I:function(){return Z},O:function(){return m}});function m(V,N,E,F){for(;V.length;){const C=V.shift();if(E(C))return!0;N.add(C.id),F(C.id).forEach(H=>{N.has(H.id)||(N.add(H.id),V.push(H))})}return!1}function Z(V,N,E,F){if(E(V))return!0;N.add(V.id);for(const P of F(V.id))if(!N.has(P.id)&&Z(P,N,E,F))return!0;return!1}},85580:function(Be,Me,b){"use strict";b.d(Me,{L:function(){return m}});function m(Z){var V=document.createElement("div");V.innerHTML=Z;var N=V.childNodes[0];return N&&V.contains(N)&&V.removeChild(N),N}},70208:function(Be,Me){"use strict";var b=function(m,Z,V){return mV?V:m};Me.Z=b},37547:function(Be,Me,b){"use strict";var m=b(39934),Z=function(V){if(typeof V!="object"||V===null)return V;var N;if((0,m.Z)(V)){N=[];for(var E=0,F=V.length;E-1:!1},E=N,F=function(P,H){return H===void 0&&(H=[]),V(P,function(D){return!E(H,D)})},C=F},56039:function(Be,Me,b){"use strict";var m=b(39934),Z=b(93785);function V(N,E){if(N){var F;if((0,m.Z)(N))for(var C=0,P=N.length;CP&&(C=F,D(1),++E),F[X]=j}function D(X){E=0,F=Object.create(null),X||(C=Object.create(null))}return D(),{clear:D,has:function(X){return F[X]!==void 0||C[X]!==void 0},get:function(X){var j=F[X];if(j!==void 0)return j;if((j=C[X])!==void 0)return H(X,j),j},set:function(X,j){F[X]!==void 0?F[X]=j:H(X,j)}}}var Z=new Map;function V(N,E,F){F===void 0&&(F=128);var C=function(){for(var P=[],H=0;Hm?(V&&(clearTimeout(V),V=null),C=D,F=b.apply(N,E),V||(N=E=null)):!V&&Z.trailing!==!1&&(V=setTimeout(P,X)),F};return H.cancel=function(){clearTimeout(V),C=0,V=N=E=null},H}},96862:function(Be,Me,b){"use strict";var m=b(76075);Me.Z=function(Z){return(0,m.Z)(Z)?"":Z.toString()}},35300:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return m}});function m(Z,V){V===void 0&&(V=new Map);var N=[];if(Array.isArray(Z))for(var E=0,F=Z.length;E1&&(In=Math.sqrt(In),we*=In,ve*=In);var zn=we*we,dr=ve*ve,vn=(P===H?-1:1)*Math.sqrt(Math.abs((zn*dr-zn*Xn*Xn-dr*Wn*Wn)/(zn*Xn*Xn+dr*Wn*Wn)));Bn=vn*we*Xn/ve+(de+Ee)/2,Lt=vn*-ve*Wn/we+(he+$e)/2,kt=Math.asin(((he-Lt)/ve*Math.pow(10,9)>>0)/Math.pow(10,9)),It=Math.asin((($e-Lt)/ve*Math.pow(10,9)>>0)/Math.pow(10,9)),kt=deIt&&(kt-=Math.PI*2),!H&&It>kt&&(It-=Math.PI*2)}var _r=It-kt;if(Math.abs(_r)>Fe){var Ge=It,Tt=Ee,On=$e;It=kt+Fe*(H&&It>kt?1:-1),Ee=Bn+we*Math.cos(It),$e=Lt+ve*Math.sin(It),vt=Z(Ee,$e,we,ve,C,0,H,Tt,On,[It,Ge,Bn,Lt])}_r=It-kt;var Vr=Math.cos(kt),en=Math.sin(kt),ln=Math.cos(It),Cn=Math.sin(It),Mt=Math.tan(_r/4),Et=4/3*we*Mt,pe=4/3*ve*Mt,Ae=[de,he],Pe=[de+Et*en,he-pe*Vr],Ut=[Ee+Et*Cn,$e-pe*ln],jt=[Ee,$e];if(Pe[0]=2*Ae[0]-Pe[0],Pe[1]=2*Ae[1]-Pe[1],j)return Pe.concat(Ut,jt,vt);vt=Pe.concat(Ut,jt,vt);for(var ft=[],on=0,hn=vt.length;on{throw TypeError(Ie)},N=Math.pow,E=(Ie,L,Q)=>L in Ie?Z(Ie,L,{enumerable:!0,configurable:!0,writable:!0,value:Q}):Ie[L]=Q,F=(Ie,L,Q)=>E(Ie,typeof L!="symbol"?L+"":L,Q),C=(Ie,L,Q)=>L.has(Ie)||V("Cannot "+Q),P=(Ie,L,Q)=>(C(Ie,L,"read from private field"),Q?Q.call(Ie):L.get(Ie)),H=(Ie,L,Q)=>L.has(Ie)?V("Cannot add the same private member more than once"):L instanceof WeakSet?L.add(Ie):L.set(Ie,Q),D=(Ie,L,Q,w)=>(C(Ie,L,"write to private field"),w?w.call(Ie,Q):L.set(Ie,Q),Q),X=(Ie,L,Q)=>(C(Ie,L,"access private method"),Q),j,de,he;m={value:!0};var we=b(34634),ve=b(34402);const Ee=" ".repeat(2),$e=" ".repeat(4);function Fe(){return ct(this)}function ct(Ie,L={}){const{maxRows:Q=15,maxColumns:w=10,maxNumSize:z=8,padMinus:ie="auto"}=L;return`${Ie.constructor.name} { -${Ee}[ -${$e}${vt(Ie,Q,w,z,ie)} -${Ee}] -${Ee}rows: ${Ie.rows} -${Ee}columns: ${Ie.columns} -}`}function vt(Ie,L,Q,w,z){const{rows:ie,columns:ze}=Ie,Je=Math.min(ie,L),At=Math.min(ze,Q),xt=[];if(z==="auto"){z=!1;e:for(let Sn=0;Sn=0&&Q?` ${kt(Ie,L-1)}`:kt(Ie,L)).padEnd(L)}function kt(Ie,L){let Q=Ie.toString();if(Q.length<=L)return Q;let w=Ie.toFixed(L);if(w.length>L&&(w=Ie.toFixed(Math.max(0,L-(w.length-L)))),w.length<=L&&!w.startsWith("0.000")&&!w.startsWith("-0.000"))return w;let z=Ie.toExponential(L);return z.length>L&&(z=Ie.toExponential(Math.max(0,L-(z.length-L)))),z.slice(0)}function It(Ie,L){Ie.prototype.add=function(w){return typeof w=="number"?this.addS(w):this.addM(w)},Ie.prototype.addS=function(w){for(let z=0;z>w);return this},Ie.prototype.signPropagatingRightShiftM=function(w){if(w=L.checkMatrix(w),this.rows!==w.rows||this.columns!==w.columns)throw new RangeError("Matrices dimensions must be equal");for(let z=0;z>w.get(z,ie));return this},Ie.signPropagatingRightShift=function(w,z){return new L(w).signPropagatingRightShift(z)},Ie.prototype.rightShift=function(w){return typeof w=="number"?this.rightShiftS(w):this.rightShiftM(w)},Ie.prototype.rightShiftS=function(w){for(let z=0;z>>w);return this},Ie.prototype.rightShiftM=function(w){if(w=L.checkMatrix(w),this.rows!==w.rows||this.columns!==w.columns)throw new RangeError("Matrices dimensions must be equal");for(let z=0;z>>w.get(z,ie));return this},Ie.rightShift=function(w,z){return new L(w).rightShift(z)},Ie.prototype.zeroFillRightShift=Ie.prototype.rightShift,Ie.prototype.zeroFillRightShiftS=Ie.prototype.rightShiftS,Ie.prototype.zeroFillRightShiftM=Ie.prototype.rightShiftM,Ie.zeroFillRightShift=Ie.rightShift,Ie.prototype.not=function(){for(let w=0;ww)throw new RangeError("Row index out of range")}function Lt(Ie,L,Q){let w=Q?Ie.columns:Ie.columns-1;if(L<0||L>w)throw new RangeError("Column index out of range")}function Wn(Ie,L){if(L.to1DArray&&(L=L.to1DArray()),L.length!==Ie.columns)throw new RangeError("vector size must be the same as the number of columns");return L}function Xn(Ie,L){if(L.to1DArray&&(L=L.to1DArray()),L.length!==Ie.rows)throw new RangeError("vector size must be the same as the number of rows");return L}function In(Ie,L){if(!we.isAnyArray(L))throw new TypeError("row indices must be an array");for(let Q=0;Q=Ie.rows)throw new RangeError("row indices are out of range")}function zn(Ie,L){if(!we.isAnyArray(L))throw new TypeError("column indices must be an array");for(let Q=0;Q=Ie.columns)throw new RangeError("column indices are out of range")}function dr(Ie,L,Q,w,z){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(_r("startRow",L),_r("endRow",Q),_r("startColumn",w),_r("endColumn",z),L>Q||w>z||L<0||L>=Ie.rows||Q<0||Q>=Ie.rows||w<0||w>=Ie.columns||z<0||z>=Ie.columns)throw new RangeError("Submatrix indices are out of range")}function vn(Ie,L=0){let Q=[];for(let w=0;w=ie)throw new RangeError("min must be smaller than max");let Je=ie-z,At=new zt(L,Q);for(let xt=0;xtw?(ie=!0,w=Q):(z=!1,ie=!0);L++}return z}isReducedEchelonForm(){let L=0,Q=0,w=-1,z=!0,ie=!1;for(;Lw?(ie=!0,w=Q):(z=!1,ie=!0);for(let ze=Q+1;zeL.get(z,w)&&(z=ie);if(L.get(z,w)===0)w++;else{L.swapRows(Q,z);let ie=L.get(Q,w);for(let ze=w;ze=0;)if(L.maxRow(z)===0)z--;else{let ie=0,ze=!1;for(;ieQ[w]&&(Q[w]=this.get(w,z));return Q}case"column":{const Q=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let w=0;wQ[z]&&(Q[z]=this.get(w,z));return Q}case void 0:{let Q=this.get(0,0);for(let w=0;wQ&&(Q=this.get(w,z));return Q}default:throw new Error(`invalid option: ${L}`)}}maxIndex(){Ge(this);let L=this.get(0,0),Q=[0,0];for(let w=0;wL&&(L=this.get(w,z),Q[0]=w,Q[1]=z);return Q}min(L){if(this.isEmpty())return NaN;switch(L){case"row":{const Q=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let w=0;wQ&&(Q=this.get(L,w));return Q}maxRowIndex(L){Bn(this,L),Ge(this);let Q=this.get(L,0),w=[L,0];for(let z=1;zQ&&(Q=this.get(L,z),w[1]=z);return w}minRow(L){if(Bn(this,L),this.isEmpty())return NaN;let Q=this.get(L,0);for(let w=1;wQ&&(Q=this.get(w,L));return Q}maxColumnIndex(L){Lt(this,L),Ge(this);let Q=this.get(0,L),w=[0,L];for(let z=1;zQ&&(Q=this.get(z,L),w[0]=z);return w}minColumn(L){if(Lt(this,L),this.isEmpty())return NaN;let Q=this.get(0,L);for(let w=1;w=1;z/=2)z&1&&(Q=Q.mmul(w)),w=w.mmul(w);return Q}strassen2x2(L){L=zt.checkMatrix(L);let Q=new zt(2,2);const w=this.get(0,0),z=L.get(0,0),ie=this.get(0,1),ze=L.get(0,1),Je=this.get(1,0),At=L.get(1,0),xt=this.get(1,1),Sn=L.get(1,1),Oe=(w+xt)*(z+Sn),Qe=(Je+xt)*z,Re=w*(ze-Sn),Ke=xt*(At-z),gt=(w+ie)*Sn,tn=(Je-w)*(z+ze),yt=(ie-xt)*(At+Sn),Yt=Oe+Ke-gt+yt,Rn=Re+gt,er=Qe+Ke,Jn=Oe-Qe+Re+tn;return Q.set(0,0,Yt),Q.set(0,1,Rn),Q.set(1,0,er),Q.set(1,1,Jn),Q}strassen3x3(L){L=zt.checkMatrix(L);let Q=new zt(3,3);const w=this.get(0,0),z=this.get(0,1),ie=this.get(0,2),ze=this.get(1,0),Je=this.get(1,1),At=this.get(1,2),xt=this.get(2,0),Sn=this.get(2,1),Oe=this.get(2,2),Qe=L.get(0,0),Re=L.get(0,1),Ke=L.get(0,2),gt=L.get(1,0),tn=L.get(1,1),yt=L.get(1,2),Yt=L.get(2,0),Rn=L.get(2,1),er=L.get(2,2),Jn=(w+z+ie-ze-Je-Sn-Oe)*tn,kr=(w-ze)*(-Re+tn),fr=Je*(-Qe+Re+gt-tn-yt-Yt+er),wr=(-w+ze+Je)*(Qe-Re+tn),ei=(ze+Je)*(-Qe+Re),_n=w*Qe,jn=(-w+xt+Sn)*(Qe-Ke+yt),Hr=(-w+xt)*(Ke-yt),Pr=(xt+Sn)*(-Qe+Ke),$i=(w+z+ie-Je-At-xt-Sn)*yt,Zi=Sn*(-Qe+Ke+gt-tn-yt-Yt+Rn),Xi=(-ie+Sn+Oe)*(tn+Yt-Rn),Ei=(ie-Oe)*(tn-Rn),ms=ie*Yt,_i=(Sn+Oe)*(-Yt+Rn),Es=(-ie+Je+At)*(yt+Yt-er),ua=(ie-At)*(yt-er),Hn=(Je+At)*(-Yt+er),Pt=z*gt,Gt=At*Rn,Bt=ze*Ke,yn=xt*Re,Ln=Oe*er,gr=_n+ms+Pt,Rr=Jn+wr+ei+_n+Xi+ms+_i,$r=_n+jn+Pr+$i+ms+Es+Hn,Ii=kr+fr+wr+_n+ms+Es+ua,Di=kr+wr+ei+_n+Gt,ss=ms+Es+ua+Hn+Bt,vs=_n+jn+Hr+Zi+Xi+Ei+ms,Cs=Xi+Ei+ms+_i+yn,Aa=_n+jn+Hr+Pr+Ln;return Q.set(0,0,gr),Q.set(0,1,Rr),Q.set(0,2,$r),Q.set(1,0,Ii),Q.set(1,1,Di),Q.set(1,2,ss),Q.set(2,0,vs),Q.set(2,1,Cs),Q.set(2,2,Aa),Q}mmulStrassen(L){L=zt.checkMatrix(L);let Q=this.clone(),w=Q.rows,z=Q.columns,ie=L.rows,ze=L.columns;z!==ie&&console.warn(`Multiplying ${w} x ${z} and ${ie} x ${ze} matrix: dimensions do not match.`);function Je(Oe,Qe,Re){let Ke=Oe.rows,gt=Oe.columns;if(Ke===Qe&>===Re)return Oe;{let tn=sn.zeros(Qe,Re);return tn=tn.setSubMatrix(Oe,0,0),tn}}let At=Math.max(w,ie),xt=Math.max(z,ze);Q=Je(Q,At,xt),L=Je(L,At,xt);function Sn(Oe,Qe,Re,Ke){if(Re<=512||Ke<=512)return Oe.mmul(Qe);Re%2===1&&Ke%2===1?(Oe=Je(Oe,Re+1,Ke+1),Qe=Je(Qe,Re+1,Ke+1)):Re%2===1?(Oe=Je(Oe,Re+1,Ke),Qe=Je(Qe,Re+1,Ke)):Ke%2===1&&(Oe=Je(Oe,Re,Ke+1),Qe=Je(Qe,Re,Ke+1));let gt=parseInt(Oe.rows/2,10),tn=parseInt(Oe.columns/2,10),yt=Oe.subMatrix(0,gt-1,0,tn-1),Yt=Qe.subMatrix(0,gt-1,0,tn-1),Rn=Oe.subMatrix(0,gt-1,tn,Oe.columns-1),er=Qe.subMatrix(0,gt-1,tn,Qe.columns-1),Jn=Oe.subMatrix(gt,Oe.rows-1,0,tn-1),kr=Qe.subMatrix(gt,Qe.rows-1,0,tn-1),fr=Oe.subMatrix(gt,Oe.rows-1,tn,Oe.columns-1),wr=Qe.subMatrix(gt,Qe.rows-1,tn,Qe.columns-1),ei=Sn(sn.add(yt,fr),sn.add(Yt,wr),gt,tn),_n=Sn(sn.add(Jn,fr),Yt,gt,tn),jn=Sn(yt,sn.sub(er,wr),gt,tn),Hr=Sn(fr,sn.sub(kr,Yt),gt,tn),Pr=Sn(sn.add(yt,Rn),wr,gt,tn),$i=Sn(sn.sub(Jn,yt),sn.add(Yt,er),gt,tn),Zi=Sn(sn.sub(Rn,fr),sn.add(kr,wr),gt,tn),Xi=sn.add(ei,Hr);Xi.sub(Pr),Xi.add(Zi);let Ei=sn.add(jn,Pr),ms=sn.add(_n,Hr),_i=sn.sub(ei,_n);_i.add(jn),_i.add($i);let Es=sn.zeros(2*Xi.rows,2*Xi.columns);return Es=Es.setSubMatrix(Xi,0,0),Es=Es.setSubMatrix(Ei,Xi.rows,0),Es=Es.setSubMatrix(ms,0,Xi.columns),Es=Es.setSubMatrix(_i,Xi.rows,Xi.columns),Es.subMatrix(0,Re-1,0,Ke-1)}return Sn(Q,L,At,xt)}scaleRows(L={}){if(typeof L!="object")throw new TypeError("options must be an object");const{min:Q=0,max:w=1}=L;if(!Number.isFinite(Q))throw new TypeError("min must be a number");if(!Number.isFinite(w))throw new TypeError("max must be a number");if(Q>=w)throw new RangeError("min must be smaller than max");let z=new zt(this.rows,this.columns);for(let ie=0;ie0&&ve(ze,{min:Q,max:w,output:ze}),z.setRow(ie,ze)}return z}scaleColumns(L={}){if(typeof L!="object")throw new TypeError("options must be an object");const{min:Q=0,max:w=1}=L;if(!Number.isFinite(Q))throw new TypeError("min must be a number");if(!Number.isFinite(w))throw new TypeError("max must be a number");if(Q>=w)throw new RangeError("min must be smaller than max");let z=new zt(this.rows,this.columns);for(let ie=0;iew||Q<0||Q>=this.columns||w<0||w>=this.columns)throw new RangeError("Argument out of range");let z=new zt(L.length,w-Q+1);for(let ie=0;ie=this.rows)throw new RangeError(`Row index out of range: ${L[ie]}`);z.set(ie,ze-Q,this.get(L[ie],ze))}return z}subMatrixColumn(L,Q,w){if(Q===void 0&&(Q=0),w===void 0&&(w=this.rows-1),Q>w||Q<0||Q>=this.rows||w<0||w>=this.rows)throw new RangeError("Argument out of range");let z=new zt(w-Q+1,L.length);for(let ie=0;ie=this.columns)throw new RangeError(`Column index out of range: ${L[ie]}`);z.set(ze-Q,ie,this.get(ze,L[ie]))}return z}setSubMatrix(L,Q,w){if(L=zt.checkMatrix(L),L.isEmpty())return this;let z=Q+L.rows-1,ie=w+L.columns-1;dr(this,Q,z,w,ie);for(let ze=0;zetypeof L=="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 Ht=class NE extends sn{constructor(L,Q){if(super(),H(this,j),F(this,"data"),NE.isMatrix(L))X(this,j,de).call(this,L.rows,L.columns),NE.copy(L,this);else if(Number.isInteger(L)&&L>=0)X(this,j,de).call(this,L,Q);else if(we.isAnyArray(L)){const w=L;if(L=w.length,Q=L?w[0].length:0,typeof Q!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let z=0;z=0)for(let Q=0;Q=0)D(this,he,new zt(L,L));else if(D(this,he,new zt(L)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return P(this,he).size}get rows(){return P(this,he).rows}get columns(){return P(this,he).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(L){return zt.isMatrix(L)&&L.klassType==="SymmetricMatrix"}static zeros(L){return new this(L)}static ones(L){return new this(L).fill(1)}clone(){const L=new FE(this.diagonalSize);for(const[Q,w,z]of this.upperRightEntries())L.set(Q,w,z);return L}toMatrix(){return new zt(this)}get(L,Q){return P(this,he).get(L,Q)}set(L,Q,w){return P(this,he).set(L,Q,w),P(this,he).set(Q,L,w),this}removeCross(L){return P(this,he).removeRow(L),P(this,he).removeColumn(L),this}addCross(L,Q){Q===void 0&&(Q=L,L=this.diagonalSize);const w=Q.slice();return w.splice(L,1),P(this,he).addRow(L,w),P(this,he).addColumn(L,Q),this}applyMask(L){if(L.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const Q=[];for(const[w,z]of L.entries())z||Q.push(w);Q.reverse();for(const w of Q)this.removeCross(w);return this}toCompact(){const{diagonalSize:L}=this,Q=new Array(L*(L+1)/2);for(let w=0,z=0,ie=0;ie=L&&(w=++z);return Q}static fromCompact(L){const Q=L.length,w=(Math.sqrt(8*Q+1)-1)/2;if(!Number.isInteger(w))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(L)}`);const z=new FE(w);for(let ie=0,ze=0,Je=0;Je=w&&(ie=++ze);return z}*upperRightEntries(){for(let L=0,Q=0;L=this.diagonalSize&&(Q=++L)}}*upperRightValues(){for(let L=0,Q=0;L=this.diagonalSize&&(Q=++L)}};he=new WeakMap;let Tn=Fn;Tn.prototype.klassType="SymmetricMatrix";class lr extends Tn{static isDistanceMatrix(L){return Tn.isSymmetricMatrix(L)&&L.klassSubType==="DistanceMatrix"}constructor(L){if(super(L),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(L,Q,w){return L===Q&&(w=0),super.set(L,Q,w)}addCross(L,Q){return Q===void 0&&(Q=L,L=this.diagonalSize),Q=Q.slice(),Q[L]=0,super.addCross(L,Q)}toSymmetricMatrix(){return new Tn(this)}clone(){const L=new lr(this.diagonalSize);for(const[Q,w,z]of this.upperRightEntries())Q!==w&&L.set(Q,w,z);return L}toCompact(){const{diagonalSize:L}=this,Q=(L-1)*L/2,w=new Array(Q);for(let z=1,ie=0,ze=0;ze=L&&(z=++ie+1);return w}static fromCompact(L){const Q=L.length;if(Q===0)return new this(0);const w=(Math.sqrt(8*Q+1)+1)/2;if(!Number.isInteger(w))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(L)}`);const z=new this(w);for(let ie=1,ze=0,Je=0;Je=w&&(ie=++ze+1);return z}}lr.prototype.klassSubType="DistanceMatrix";class je extends sn{constructor(L,Q,w){super(),this.matrix=L,this.rows=Q,this.columns=w}}class be extends je{constructor(L,Q){Lt(L,Q),super(L,L.rows,1),this.column=Q}set(L,Q,w){return this.matrix.set(L,this.column,w),this}get(L){return this.matrix.get(L,this.column)}}class it extends je{constructor(L,Q){zn(L,Q),super(L,L.rows,Q.length),this.columnIndices=Q}set(L,Q,w){return this.matrix.set(L,this.columnIndices[Q],w),this}get(L,Q){return this.matrix.get(L,this.columnIndices[Q])}}class wt extends je{constructor(L){super(L,L.rows,L.columns)}set(L,Q,w){return this.matrix.set(L,this.columns-Q-1,w),this}get(L,Q){return this.matrix.get(L,this.columns-Q-1)}}class ot extends je{constructor(L){super(L,L.rows,L.columns)}set(L,Q,w){return this.matrix.set(this.rows-L-1,Q,w),this}get(L,Q){return this.matrix.get(this.rows-L-1,Q)}}class ut extends je{constructor(L,Q){Bn(L,Q),super(L,1,L.columns),this.row=Q}set(L,Q,w){return this.matrix.set(this.row,Q,w),this}get(L,Q){return this.matrix.get(this.row,Q)}}class _t extends je{constructor(L,Q){In(L,Q),super(L,Q.length,L.columns),this.rowIndices=Q}set(L,Q,w){return this.matrix.set(this.rowIndices[L],Q,w),this}get(L,Q){return this.matrix.get(this.rowIndices[L],Q)}}class $t extends je{constructor(L,Q,w){In(L,Q),zn(L,w),super(L,Q.length,w.length),this.rowIndices=Q,this.columnIndices=w}set(L,Q,w){return this.matrix.set(this.rowIndices[L],this.columnIndices[Q],w),this}get(L,Q){return this.matrix.get(this.rowIndices[L],this.columnIndices[Q])}}class Vt extends je{constructor(L,Q,w,z,ie){dr(L,Q,w,z,ie),super(L,w-Q+1,ie-z+1),this.startRow=Q,this.startColumn=z}set(L,Q,w){return this.matrix.set(this.startRow+L,this.startColumn+Q,w),this}get(L,Q){return this.matrix.get(this.startRow+L,this.startColumn+Q)}}class Qt extends je{constructor(L){super(L,L.columns,L.rows)}set(L,Q,w){return this.matrix.set(Q,L,w),this}get(L,Q){return this.matrix.get(Q,L)}}class cn extends sn{constructor(L,Q={}){const{rows:w=1}=Q;if(L.length%w!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=w,this.columns=L.length/w,this.data=L}set(L,Q,w){let z=this._calculateIndex(L,Q);return this.data[z]=w,this}get(L,Q){let w=this._calculateIndex(L,Q);return this.data[w]}_calculateIndex(L,Q){return L*this.columns+Q}}class Yn extends sn{constructor(L){super(),this.data=L,this.rows=L.length,this.columns=L[0].length}set(L,Q,w){return this.data[L][Q]=w,this}get(L,Q){return this.data[L][Q]}}function qn(Ie,L){if(we.isAnyArray(Ie))return Ie[0]&&we.isAnyArray(Ie[0])?new Yn(Ie):new cn(Ie,L);throw new Error("the argument is not an array")}class Sr{constructor(L){L=Yn.checkMatrix(L);let Q=L.clone(),w=Q.rows,z=Q.columns,ie=new Float64Array(w),ze=1,Je,At,xt,Sn,Oe,Qe,Re,Ke,gt;for(Je=0;JeMath.abs(Ke[Sn])&&(Sn=Je);if(Sn!==At){for(xt=0;xt=0;xt--){for(At=0;Atze?z.set(ie,ze,L.get(ie,ze)):ie===ze?z.set(ie,ze,1):z.set(ie,ze,0);return z}get upperTriangularMatrix(){let L=this.LU,Q=L.rows,w=L.columns,z=new zt(Q,w);for(let ie=0;ieMath.abs(L)?(Q=L/Ie,Math.abs(Ie)*Math.sqrt(1+Q*Q)):L!==0?(Q=Ie/L,Math.abs(L)*Math.sqrt(1+Q*Q)):0}class vr{constructor(L){L=Yn.checkMatrix(L);let Q=L.clone(),w=L.rows,z=L.columns,ie=new Float64Array(z),ze,Je,At,xt;for(At=0;At=0;xt--){for(At=0;At=0;Je--){for(ie=0;ie=0;_n--)if(Ke[_n]!==0){for(let jn=_n+1;jn=0;_n--){if(_n0;){let _n,jn;for(_n=fr-2;_n>=-1&&_n!==-1;_n--){const Hr=Number.MIN_VALUE+ei*Math.abs(Ke[_n]+Math.abs(Ke[_n+1]));if(Math.abs(yt[_n])<=Hr||Number.isNaN(yt[_n])){yt[_n]=0;break}}if(_n===fr-2)jn=4;else{let Hr;for(Hr=fr-1;Hr>=_n&&Hr!==_n;Hr--){let Pr=(Hr!==fr?Math.abs(yt[Hr]):0)+(Hr!==_n+1?Math.abs(yt[Hr-1]):0);if(Math.abs(Ke[Hr])<=ei*Pr){Ke[Hr]=0;break}}Hr===_n?jn=3:Hr===fr-1?jn=1:(jn=2,_n=Hr)}switch(_n++,jn){case 1:{let Hr=yt[fr-2];yt[fr-2]=0;for(let Pr=fr-2;Pr>=_n;Pr--){let $i=Jr(Ke[Pr],Hr),Zi=Ke[Pr]/$i,Xi=Hr/$i;if(Ke[Pr]=$i,Pr!==_n&&(Hr=-Xi*yt[Pr-1],yt[Pr-1]=Zi*yt[Pr-1]),xt)for(let Ei=0;Ei=Ke[_n+1]);){let Hr=Ke[_n];if(Ke[_n]=Ke[_n+1],Ke[_n+1]=Hr,xt&&_nQ&&ie.set(Sn,Oe,L.get(Sn,Oe)/this.s[Oe]);let ze=this.U,Je=ze.rows,At=ze.columns,xt=new zt(w,Je);for(let Sn=0;SnL&&Q++;return Q}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 zt.diag(this.s)}}function Mi(Ie,L=!1){return Ie=Yn.checkMatrix(Ie),L?new Ki(Ie).inverse():yi(Ie,zt.eye(Ie.rows))}function yi(Ie,L,Q=!1){return Ie=Yn.checkMatrix(Ie),L=Yn.checkMatrix(L),Q?new Ki(Ie).solve(L):Ie.isSquare()?new Sr(Ie).solve(L):new vr(Ie).solve(L)}function qr(Ie){if(Ie=zt.checkMatrix(Ie),Ie.isSquare()){if(Ie.columns===0)return 1;let L,Q,w,z;if(Ie.columns===2)return L=Ie.get(0,0),Q=Ie.get(0,1),w=Ie.get(1,0),z=Ie.get(1,1),L*z-Q*w;if(Ie.columns===3){let ie,ze,Je;return ie=new $t(Ie,[1,2],[1,2]),ze=new $t(Ie,[1,2],[0,2]),Je=new $t(Ie,[1,2],[0,1]),L=Ie.get(0,0),Q=Ie.get(0,1),w=Ie.get(0,2),L*qr(ie)-Q*qr(ze)+w*qr(Je)}else return new Sr(Ie).determinant}else throw Error("determinant can only be calculated for a square matrix")}function es(Ie,L){let Q=[];for(let w=0;wz)return new Array(L.rows+1).fill(0);{let ie=L.addRow(Q,[0]);for(let ze=0;zeL?ie[ze]=1/ie[ze]:ie[ze]=0;return z.mmul(zt.diag(ie).mmul(w.transpose()))}function Xt(Ie,L=Ie,Q={}){Ie=new zt(Ie);let w=!1;if(typeof L=="object"&&!zt.isMatrix(L)&&!we.isAnyArray(L)?(Q=L,L=Ie,w=!0):L=new zt(L),Ie.rows!==L.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:z=!0}=Q;z&&(Ie=Ie.center("column"),w||(L=L.center("column")));const ie=Ie.transpose().mmul(L);for(let ze=0;ze0?z.set(ie,ie+1,Q[ie]):Q[ie]<0&&z.set(ie,ie-1,Q[ie])}return z}}function Wt(Ie,L,Q,w){let z,ie,ze,Je,At,xt,Sn,Oe;for(At=0;At0;Je--){for(Oe=0,ze=0,xt=0;xt0&&(ie=-ie),L[Je]=Oe*ie,ze=ze-z*ie,Q[Je-1]=z-ie,At=0;Atxt)do{for(z=Q[xt],Oe=(Q[xt+1]-z)/(2*L[xt]),Qe=Jr(Oe,1),Oe<0&&(Qe=-Qe),Q[xt]=L[xt]/(Oe+Qe),Q[xt+1]=L[xt]*(Oe+Qe),Re=Q[xt+1],ie=z-Q[xt],ze=xt+2;ze=xt;ze--)for(tn=gt,gt=Ke,Rn=Yt,z=Ke*L[ze],ie=Ke*Oe,Qe=Jr(Oe,L[ze]),L[ze+1]=Yt*Qe,Yt=L[ze]/Qe,Ke=Oe/Qe,Oe=Ke*Q[ze]-Yt*z,Q[ze+1]=ie+Yt*(Ke*z+Yt*Q[ze]),At=0;Atkr*Jn);Q[xt]=Q[xt]+er,L[xt]=0}for(ze=0;ze=Oe;xt--)Q[xt]=L.get(xt,Oe-1)/Qe,At+=Q[xt]*Q[xt];for(Je=Math.sqrt(At),Q[Oe]>0&&(Je=-Je),At=At-Q[Oe]*Je,Q[Oe]=Q[Oe]-Je,Sn=Oe;Sn=Oe;xt--)ze+=Q[xt]*L.get(xt,Sn);for(ze=ze/At,xt=Oe;xt<=ie;xt++)L.set(xt,Sn,L.get(xt,Sn)-ze*Q[xt])}for(xt=0;xt<=ie;xt++){for(ze=0,Sn=ie;Sn>=Oe;Sn--)ze+=Q[Sn]*L.get(xt,Sn);for(ze=ze/At,Sn=Oe;Sn<=ie;Sn++)L.set(xt,Sn,L.get(xt,Sn)-ze*Q[Sn])}Q[Oe]=Qe*Q[Oe],L.set(Oe,Oe-1,Qe*Je)}}for(xt=0;xt=z+1;Oe--)if(L.get(Oe,Oe-1)!==0){for(xt=Oe+1;xt<=ie;xt++)Q[xt]=L.get(xt,Oe-1);for(Sn=Oe;Sn<=ie;Sn++){for(Je=0,xt=Oe;xt<=ie;xt++)Je+=Q[xt]*w.get(xt,Sn);for(Je=Je/Q[Oe]/L.get(Oe,Oe-1),xt=Oe;xt<=ie;xt++)w.set(xt,Sn,w.get(xt,Sn)+Je*Q[xt])}}}function ar(Ie,L,Q,w,z){let ie=Ie-1,ze=0,Je=Ie-1,At=Number.EPSILON,xt=0,Sn=0,Oe=0,Qe=0,Re=0,Ke=0,gt=0,tn=0,yt,Yt,Rn,er,Jn,kr,fr,wr,ei,_n,jn,Hr,Pr,$i,Zi;for(yt=0;ytJe)&&(Q[yt]=z.get(yt,yt),L[yt]=0),Yt=Math.max(yt-1,0);Yt=ze;){for(er=ie;er>ze&&(Ke=Math.abs(z.get(er-1,er-1))+Math.abs(z.get(er,er)),Ke===0&&(Ke=Sn),!(Math.abs(z.get(er,er-1))=0){for(gt=Oe>=0?Oe+gt:Oe-gt,Q[ie-1]=wr+gt,Q[ie]=Q[ie-1],gt!==0&&(Q[ie]=wr-fr/gt),L[ie-1]=0,L[ie]=0,wr=z.get(ie,ie-1),Ke=Math.abs(wr)+Math.abs(gt),Oe=wr/Ke,Qe=gt/Ke,Re=Math.sqrt(Oe*Oe+Qe*Qe),Oe=Oe/Re,Qe=Qe/Re,Yt=ie-1;Yt0)){for(Ke=Math.sqrt(Ke),ei=er&&(gt=z.get(Jn,Jn),Re=wr-gt,Ke=ei-gt,Oe=(Re*Ke-fr)/z.get(Jn+1,Jn)+z.get(Jn,Jn+1),Qe=z.get(Jn+1,Jn+1)-gt-Re-Ke,Re=z.get(Jn+2,Jn+1),Ke=Math.abs(Oe)+Math.abs(Qe)+Math.abs(Re),Oe=Oe/Ke,Qe=Qe/Ke,Re=Re/Ke,!(Jn===er||Math.abs(z.get(Jn,Jn-1))*(Math.abs(Qe)+Math.abs(Re))Jn+2&&z.set(yt,yt-3,0);for(Rn=Jn;Rn<=ie-1&&($i=Rn!==ie-1,Rn!==Jn&&(Oe=z.get(Rn,Rn-1),Qe=z.get(Rn+1,Rn-1),Re=$i?z.get(Rn+2,Rn-1):0,wr=Math.abs(Oe)+Math.abs(Qe)+Math.abs(Re),wr!==0&&(Oe=Oe/wr,Qe=Qe/wr,Re=Re/wr)),wr!==0);Rn++)if(Ke=Math.sqrt(Oe*Oe+Qe*Qe+Re*Re),Oe<0&&(Ke=-Ke),Ke!==0){for(Rn!==Jn?z.set(Rn,Rn-1,-Ke*wr):er!==Jn&&z.set(Rn,Rn-1,-z.get(Rn,Rn-1)),Oe=Oe+Ke,wr=Oe/Ke,ei=Qe/Ke,gt=Re/Ke,Qe=Qe/Oe,Re=Re/Oe,Yt=Rn;Yt=0;ie--)if(Oe=Q[ie],Qe=L[ie],Qe===0)for(er=ie,z.set(ie,ie,1),yt=ie-1;yt>=0;yt--){for(fr=z.get(yt,yt)-Oe,Re=0,Yt=er;Yt<=ie;Yt++)Re=Re+z.get(yt,Yt)*z.get(Yt,ie);if(L[yt]<0)gt=fr,Ke=Re;else if(er=yt,L[yt]===0?z.set(yt,ie,fr!==0?-Re/fr:-Re/(At*Sn)):(wr=z.get(yt,yt+1),ei=z.get(yt+1,yt),Qe=(Q[yt]-Oe)*(Q[yt]-Oe)+L[yt]*L[yt],kr=(wr*Ke-gt*Re)/Qe,z.set(yt,ie,kr),z.set(yt+1,ie,Math.abs(wr)>Math.abs(gt)?(-Re-fr*kr)/wr:(-Ke-ei*kr)/gt)),kr=Math.abs(z.get(yt,ie)),At*kr*kr>1)for(Yt=yt;Yt<=ie;Yt++)z.set(Yt,ie,z.get(Yt,ie)/kr)}else if(Qe<0)for(er=ie-1,Math.abs(z.get(ie,ie-1))>Math.abs(z.get(ie-1,ie))?(z.set(ie-1,ie-1,Qe/z.get(ie,ie-1)),z.set(ie-1,ie,-(z.get(ie,ie)-Oe)/z.get(ie,ie-1))):(Zi=rr(0,-z.get(ie-1,ie),z.get(ie-1,ie-1)-Oe,Qe),z.set(ie-1,ie-1,Zi[0]),z.set(ie-1,ie,Zi[1])),z.set(ie,ie-1,0),z.set(ie,ie,1),yt=ie-2;yt>=0;yt--){for(_n=0,jn=0,Yt=er;Yt<=ie;Yt++)_n=_n+z.get(yt,Yt)*z.get(Yt,ie-1),jn=jn+z.get(yt,Yt)*z.get(Yt,ie);if(fr=z.get(yt,yt)-Oe,L[yt]<0)gt=fr,Re=_n,Ke=jn;else if(er=yt,L[yt]===0?(Zi=rr(-_n,-jn,fr,Qe),z.set(yt,ie-1,Zi[0]),z.set(yt,ie,Zi[1])):(wr=z.get(yt,yt+1),ei=z.get(yt+1,yt),Hr=(Q[yt]-Oe)*(Q[yt]-Oe)+L[yt]*L[yt]-Qe*Qe,Pr=(Q[yt]-Oe)*2*Qe,Hr===0&&Pr===0&&(Hr=At*Sn*(Math.abs(fr)+Math.abs(Qe)+Math.abs(wr)+Math.abs(ei)+Math.abs(gt))),Zi=rr(wr*Re-gt*_n+Qe*jn,wr*Ke-gt*jn-Qe*_n,Hr,Pr),z.set(yt,ie-1,Zi[0]),z.set(yt,ie,Zi[1]),Math.abs(wr)>Math.abs(gt)+Math.abs(Qe)?(z.set(yt+1,ie-1,(-_n-fr*z.get(yt,ie-1)+Qe*z.get(yt,ie))/wr),z.set(yt+1,ie,(-jn-fr*z.get(yt,ie)-Qe*z.get(yt,ie-1))/wr)):(Zi=rr(-Re-ei*z.get(yt,ie-1),-Ke-ei*z.get(yt,ie),gt,Qe),z.set(yt+1,ie-1,Zi[0]),z.set(yt+1,ie,Zi[1]))),kr=Math.max(Math.abs(z.get(yt,ie-1)),Math.abs(z.get(yt,ie))),At*kr*kr>1)for(Yt=yt;Yt<=ie;Yt++)z.set(Yt,ie-1,z.get(Yt,ie-1)/kr),z.set(Yt,ie,z.get(Yt,ie)/kr)}for(yt=0;ytJe)for(Yt=yt;Yt=ze;Yt--)for(yt=ze;yt<=Je;yt++){for(gt=0,Rn=ze;Rn<=Math.min(Yt,Je);Rn++)gt=gt+w.get(yt,Rn)*z.get(Rn,Yt);w.set(yt,Yt,gt)}}}function rr(Ie,L,Q,w){let z,ie;return Math.abs(Q)>Math.abs(w)?(z=w/Q,ie=Q+z*w,[(Ie+z*L)/ie,(L-z*Ie)/ie]):(z=Q/w,ie=w+z*Q,[(z*Ie+L)/ie,(z*L-Ie)/ie])}class Kr{constructor(L){if(L=Yn.checkMatrix(L),!L.isSymmetric())throw new Error("Matrix is not symmetric");let Q=L,w=Q.rows,z=new zt(w,w),ie=!0,ze,Je,At;for(Je=0;Je0),z.set(Je,Je,Math.sqrt(Math.max(xt,0))),At=Je+1;At=0;At--)for(Je=0;Jeze;Re++)Oe=L.transpose().mmul(Je).div(Je.transpose().mmul(Je).get(0,0)),Oe=Oe.div(Oe.norm()),xt=L.mmul(Oe).div(Oe.transpose().mmul(Oe).get(0,0)),Re>0&&(At=xt.clone().sub(Qe).pow(2).sum()),Qe=xt.clone(),w?(Sn=w.transpose().mmul(xt).div(xt.transpose().mmul(xt).get(0,0)),Sn=Sn.div(Sn.norm()),Je=w.mmul(Sn).div(Sn.transpose().mmul(Sn).get(0,0))):Je=xt;if(w){let Re=L.transpose().mmul(xt).div(xt.transpose().mmul(xt).get(0,0));Re=Re.div(Re.norm());let Ke=L.clone().sub(xt.clone().mmul(Re.transpose())),gt=Je.transpose().mmul(xt).div(xt.transpose().mmul(xt).get(0,0)),tn=w.clone().sub(xt.clone().mulS(gt.get(0,0)).mmul(Sn.transpose()));this.t=xt,this.p=Re.transpose(),this.w=Oe.transpose(),this.q=Sn,this.u=Je,this.s=xt.transpose().mmul(xt),this.xResidual=Ke,this.yResidual=tn,this.betas=gt}else this.w=Oe.transpose(),this.s=xt.transpose().mmul(xt).sqrt(),z?this.t=xt.clone().div(this.s.get(0,0)):this.t=xt,this.xResidual=L.sub(xt.mmul(Oe.transpose()))}}Me.XA=sn,Me.a_=Kr,Me.yQ=Kr,Me.Hs=lr,Me.Ec=dt,Me.dx=dt,Me.LU=Sr,Me.Rm=Sr,Me.y3=zt,Me.qK=it,Me.pb=be,Me.j=wt,Me.sO=ot,Me.BZ=_t,Me.EK=ut,Me.Db=$t,Me.Fx=Vt,Me.tU=Qt,Me.Ym=si,Me.rs=si,Me.QR=vr,Me.TB=vr,Me.oH=Ki,Me.Sc=Ki,Me.BN=Tn,Me.it=cn,Me.$r=Yn,Me.QM=st,Me.AV=Xt,m=zt,Me.GH=qr,Me.SO=Mi,Me.uZ=En,Me.yU=rn,Me.F1=yi,Me.re=qn},78241:function(Be,Me,b){"use strict";b.d(Me,{default:function(){return Q}});var m=b(77654),Z=b(92310),V=b.n(Z),N=b(77900),E=b(59301),F=b(62892),C=b(32441);function P(w){const[z,ie]=E.useState(w);return E.useEffect(()=>{const ze=setTimeout(()=>{ie(w)},w.length?0:10);return()=>{clearTimeout(ze)}},[w]),z}var H=b(17313),D=b(29878),X=b(8378),j=b(37613),de=b(83116),we=w=>{const{componentCls:z}=w,ie=`${z}-show-help`,ze=`${z}-show-help-item`;return{[ie]:{transition:`opacity ${w.motionDurationSlow} ${w.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[ze]:{overflow:"hidden",transition:`height ${w.motionDurationSlow} ${w.motionEaseInOut}, - opacity ${w.motionDurationSlow} ${w.motionEaseInOut}, - transform ${w.motionDurationSlow} ${w.motionEaseInOut} !important`,[`&${ze}-appear, &${ze}-enter`]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},[`&${ze}-leave-active`]:{transform:"translateY(-5px)"}}}}};const ve=w=>({legend:{display:"block",width:"100%",marginBottom:w.marginLG,padding:0,color:w.colorTextDescription,fontSize:w.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${w.lineWidth}px ${w.lineType} ${w.colorBorder}`},label:{fontSize:w.fontSize},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:`0 0 0 ${w.controlOutlineWidth}px ${w.controlOutline}`},output:{display:"block",paddingTop:15,color:w.colorText,fontSize:w.fontSize,lineHeight:w.lineHeight}}),Ee=(w,z)=>{const{formItemCls:ie}=w;return{[ie]:{[`${ie}-label > label`]:{height:z},[`${ie}-control-input`]:{minHeight:z}}}},$e=w=>{const{componentCls:z}=w;return{[w.componentCls]:Object.assign(Object.assign(Object.assign({},(0,H.Wf)(w)),ve(w)),{[`${z}-text`]:{display:"inline-block",paddingInlineEnd:w.paddingSM},"&-small":Object.assign({},Ee(w,w.controlHeightSM)),"&-large":Object.assign({},Ee(w,w.controlHeightLG))})}},Fe=w=>{const{formItemCls:z,iconCls:ie,componentCls:ze,rootPrefixCls:Je,labelRequiredMarkColor:At,labelColor:xt,labelFontSize:Sn,labelHeight:Oe,labelColonMarginInlineStart:Qe,labelColonMarginInlineEnd:Re,itemMarginBottom:Ke}=w;return{[z]:Object.assign(Object.assign({},(0,H.Wf)(w)),{marginBottom:Ke,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden, - &-hidden.${Je}-row`]:{display:"none"},"&-has-warning":{[`${z}-split`]:{color:w.colorError}},"&-has-error":{[`${z}-split`]:{color:w.colorWarning}},[`${z}-label`]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:`${w.lineHeight} - 0.25em`,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:Oe,color:xt,fontSize:Sn,[`> ${ie}`]:{fontSize:w.fontSize,verticalAlign:"top"},[`&${z}-required:not(${z}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:w.marginXXS,color:At,fontSize:w.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${ze}-hide-required-mark &`]:{display:"none"}},[`${z}-optional`]:{display:"inline-block",marginInlineStart:w.marginXXS,color:w.colorTextDescription,[`${ze}-hide-required-mark &`]:{display:"none"}},[`${z}-tooltip`]:{color:w.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:w.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:Qe,marginInlineEnd:Re},[`&${z}-no-colon::after`]:{content:'"\\a0"'}}},[`${z}-control`]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${Je}-col-'"]):not([class*="' ${Je}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:w.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[z]:{"&-explain, &-extra":{clear:"both",color:w.colorTextDescription,fontSize:w.fontSize,lineHeight:w.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:w.controlHeightSM,transition:`color ${w.motionDurationMid} ${w.motionEaseOut}`},"&-explain":{"&-error":{color:w.colorError},"&-warning":{color:w.colorWarning}}},[`&-with-help ${z}-explain`]:{height:"auto",opacity:1},[`${z}-feedback-icon`]:{fontSize:w.fontSize,textAlign:"center",visibility:"visible",animationName:D.kr,animationDuration:w.motionDurationMid,animationTimingFunction:w.motionEaseOutBack,pointerEvents:"none","&-success":{color:w.colorSuccess},"&-error":{color:w.colorError},"&-warning":{color:w.colorWarning},"&-validating":{color:w.colorPrimary}}})}},ct=w=>{const{componentCls:z,formItemCls:ie}=w;return{[`${z}-horizontal`]:{[`${ie}-label`]:{flexGrow:0},[`${ie}-control`]:{flex:"1 1 0",minWidth:0},[`${ie}-label[class$='-24'], ${ie}-label[class*='-24 ']`]:{[`& + ${ie}-control`]:{minWidth:"unset"}}}}},vt=w=>{const{componentCls:z,formItemCls:ie}=w;return{[`${z}-inline`]:{display:"flex",flexWrap:"wrap",[ie]:{flex:"none",marginInlineEnd:w.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${ie}-label, - > ${ie}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${ie}-label`]:{flex:"none"},[`${z}-text`]:{display:"inline-block"},[`${ie}-has-feedback`]:{display:"inline-block"}}}}},at=w=>({padding:w.verticalLabelPadding,margin:w.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),kt=w=>{const{componentCls:z,formItemCls:ie,rootPrefixCls:ze}=w;return{[`${ie} ${ie}-label`]:at(w),[z]:{[ie]:{flexWrap:"wrap",[`${ie}-label, ${ie}-control`]:{[`&:not([class*=" ${ze}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},It=w=>{const{componentCls:z,formItemCls:ie,rootPrefixCls:ze}=w;return{[`${z}-vertical`]:{[ie]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${z}-item-control`]:{width:"100%"}}},[`${z}-vertical ${ie}-label, - .${ze}-col-24${ie}-label, - .${ze}-col-xl-24${ie}-label`]:at(w),[`@media (max-width: ${w.screenXSMax}px)`]:[kt(w),{[z]:{[`.${ze}-col-xs-24${ie}-label`]:at(w)}}],[`@media (max-width: ${w.screenSMMax}px)`]:{[z]:{[`.${ze}-col-sm-24${ie}-label`]:at(w)}},[`@media (max-width: ${w.screenMDMax}px)`]:{[z]:{[`.${ze}-col-md-24${ie}-label`]:at(w)}},[`@media (max-width: ${w.screenLGMax}px)`]:{[z]:{[`.${ze}-col-lg-24${ie}-label`]:at(w)}}}},Bn=(w,z)=>(0,j.TS)(w,{formItemCls:`${w.componentCls}-item`,rootPrefixCls:z});var Lt=(0,de.Z)("Form",(w,z)=>{let{rootPrefixCls:ie}=z;const ze=Bn(w,ie);return[$e(ze),Fe(ze),we(ze),ct(ze),vt(ze),It(ze),(0,X.Z)(ze),D.kr]},w=>({labelRequiredMarkColor:w.colorError,labelColor:w.colorTextHeading,labelFontSize:w.fontSize,labelHeight:w.controlHeight,labelColonMarginInlineStart:w.marginXXS/2,labelColonMarginInlineEnd:w.marginXS,itemMarginBottom:w.marginLG,verticalLabelPadding:`0 0 ${w.paddingXS}px`,verticalLabelMargin:0}),{order:-1e3});const Wn=[];function Xn(w,z,ie){let ze=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof w=="string"?w:`${z}-${ze}`,error:w,errorStatus:ie}}var zn=w=>{let{help:z,helpStatus:ie,errors:ze=Wn,warnings:Je=Wn,className:At,fieldId:xt,onVisibleChanged:Sn}=w;const{prefixCls:Oe}=E.useContext(C.Rk),Qe=`${Oe}-item-explain`,[,Re]=Lt(Oe),Ke=(0,E.useMemo)(()=>(0,F.Z)(Oe),[Oe]),gt=P(ze),tn=P(Je),yt=E.useMemo(()=>z!=null?[Xn(z,"help",ie)]:[].concat((0,m.Z)(gt.map((Rn,er)=>Xn(Rn,"error","error",er))),(0,m.Z)(tn.map((Rn,er)=>Xn(Rn,"warning","warning",er)))),[z,ie,gt,tn]),Yt={};return xt&&(Yt.id=`${xt}_help`),E.createElement(N.default,{motionDeadline:Ke.motionDeadline,motionName:`${Oe}-show-help`,visible:!!yt.length,onVisibleChanged:Sn},Rn=>{const{className:er,style:Jn}=Rn;return E.createElement("div",Object.assign({},Yt,{className:V()(Qe,er,At,Re),style:Jn,role:"alert"}),E.createElement(N.CSSMotionList,Object.assign({keys:yt},(0,F.Z)(Oe),{motionName:`${Oe}-show-help-item`,component:!1}),kr=>{const{key:fr,error:wr,errorStatus:ei,className:_n,style:jn}=kr;return E.createElement("div",{key:fr,className:V()(_n,{[`${Qe}-${ei}`]:ei}),style:jn},wr)}))})},dr=b(95013),vn=b(36355),_r=b(1684),Ge=b(52946),Tt=b(19716),On=b(16722);const Vr=["parentNode"],en="form_item";function ln(w){return w===void 0||w===!1?[]:Array.isArray(w)?w:[w]}function Cn(w,z){if(!w.length)return;const ie=w.join("_");return z?`${z}_${ie}`:Vr.includes(ie)?`${en}_${ie}`:ie}function Mt(w,z,ie,ze,Je,At){let xt=ze;return At!==void 0?xt=At:ie.validating?xt="validating":w.length?xt="error":z.length?xt="warning":(ie.touched||Je&&ie.validated)&&(xt="success"),xt}function Et(w){return ln(w).join("_")}function pe(w){const[z]=(0,dr.useForm)(),ie=E.useRef({}),ze=E.useMemo(()=>w!=null?w:Object.assign(Object.assign({},z),{__INTERNAL__:{itemRef:Je=>At=>{const xt=Et(Je);At?ie.current[xt]=At:delete ie.current[xt]}},scrollToField:function(Je){let At=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const xt=ln(Je),Sn=Cn(xt,ze.__INTERNAL__.name),Oe=Sn?document.getElementById(Sn):null;Oe&&(0,On.Z)(Oe,Object.assign({scrollMode:"if-needed",block:"nearest"},At))},getFieldInstance:Je=>{const At=Et(Je);return ie.current[At]}}),[w,z]);return[ze]}var Ae=b(28726),Pe=function(w,z){var ie={};for(var ze in w)Object.prototype.hasOwnProperty.call(w,ze)&&z.indexOf(ze)<0&&(ie[ze]=w[ze]);if(w!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Je=0,ze=Object.getOwnPropertySymbols(w);Je{const ie=E.useContext(_r.Z),{getPrefixCls:ze,direction:Je,form:At}=E.useContext(vn.E_),{prefixCls:xt,className:Sn,rootClassName:Oe,size:Qe,disabled:Re=ie,form:Ke,colon:gt,labelAlign:tn,labelWrap:yt,labelCol:Yt,wrapperCol:Rn,hideRequiredMark:er,layout:Jn="horizontal",scrollToFirstError:kr,requiredMark:fr,onFinishFailed:wr,name:ei,style:_n,feedbackIcons:jn}=w,Hr=Pe(w,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons"]),Pr=(0,Tt.Z)(Qe),$i=E.useContext(Ae.Z),Zi=(0,E.useMemo)(()=>fr!==void 0?fr:At&&At.requiredMark!==void 0?At.requiredMark:!er,[er,fr,At]),Xi=gt!=null?gt:At==null?void 0:At.colon,Ei=ze("form",xt),[ms,_i]=Lt(Ei),Es=V()(Ei,`${Ei}-${Jn}`,{[`${Ei}-hide-required-mark`]:Zi===!1,[`${Ei}-rtl`]:Je==="rtl",[`${Ei}-${Pr}`]:Pr},_i,At==null?void 0:At.className,Sn,Oe),[ua]=pe(Ke),{__INTERNAL__:Hn}=ua;Hn.name=ei;const Pt=(0,E.useMemo)(()=>({name:ei,labelAlign:tn,labelCol:Yt,labelWrap:yt,wrapperCol:Rn,vertical:Jn==="vertical",colon:Xi,requiredMark:Zi,itemRef:Hn.itemRef,form:ua,feedbackIcons:jn}),[ei,tn,Yt,Rn,Jn,Xi,Zi,ua,jn]);E.useImperativeHandle(z,()=>ua);const Gt=(yn,Ln)=>{if(yn){let gr={block:"nearest"};typeof yn=="object"&&(gr=yn),ua.scrollToField(Ln,gr)}},Bt=yn=>{if(wr==null||wr(yn),yn.errorFields.length){const Ln=yn.errorFields[0].name;if(kr!==void 0){Gt(kr,Ln);return}At&&At.scrollToFirstError!==void 0&&Gt(At.scrollToFirstError,Ln)}};return ms(E.createElement(_r.n,{disabled:Re},E.createElement(Ge.q,{size:Pr},E.createElement(C.RV,Object.assign({},{validateMessages:$i}),E.createElement(C.q3.Provider,{value:Pt},E.createElement(dr.default,Object.assign({id:ei},Hr,{name:ei,onFinishFailed:Bt,form:ua,style:Object.assign(Object.assign({},At==null?void 0:At.style),_n),className:Es})))))))};var ft=E.forwardRef(Ut),on=b(41799),hn=b(8654),lt=b(92343),Ct=b(11592);function sn(w){if(typeof w=="function")return w;const z=(0,Ct.Z)(w);return z.length<=1?z[0]:z}const W=()=>{const{status:w,errors:z=[],warnings:ie=[]}=(0,E.useContext)(C.aM);return{status:w,errors:z,warnings:ie}};W.Context=C.aM;var Se=W,Ht=b(16089);function zt(w){const[z,ie]=E.useState(w),ze=(0,E.useRef)(null),Je=(0,E.useRef)([]),At=(0,E.useRef)(!1);E.useEffect(()=>(At.current=!1,()=>{At.current=!0,Ht.Z.cancel(ze.current),ze.current=null}),[]);function xt(Sn){At.current||(ze.current===null&&(Je.current=[],ze.current=(0,Ht.Z)(()=>{ze.current=null,ie(Oe=>{let Qe=Oe;return Je.current.forEach(Re=>{Qe=Re(Qe)}),Qe})})),Je.current.push(Sn))}return[z,xt]}function Fn(){const{itemRef:w}=E.useContext(C.q3),z=E.useRef({});function ie(ze,Je){const At=Je&&typeof Je=="object"&&Je.ref,xt=ze.join("_");return(z.current.name!==xt||z.current.originRef!==At)&&(z.current.name=xt,z.current.originRef=At,z.current.ref=(0,hn.sQ)(w(ze),At)),z.current.ref}return ie}var Tn=b(29194),lr=b(34280),je=b(2738),be=b(27382),it=b(37028);const wt=w=>{const{formItemCls:z}=w;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${z}-control`]:{display:"flex"}}}};var ot=(0,de.b)(["Form","item-item"],(w,z)=>{let{rootPrefixCls:ie}=z;const ze=Bn(w,ie);return[wt(ze)]}),_t=w=>{const{prefixCls:z,status:ie,wrapperCol:ze,children:Je,errors:At,warnings:xt,_internalItemRender:Sn,extra:Oe,help:Qe,fieldId:Re,marginBottom:Ke,onErrorVisibleChanged:gt}=w,tn=`${z}-item`,yt=E.useContext(C.q3),Yt=ze||yt.wrapperCol||{},Rn=V()(`${tn}-control`,Yt.className),er=E.useMemo(()=>Object.assign({},yt),[yt]);delete er.labelCol,delete er.wrapperCol;const Jn=E.createElement("div",{className:`${tn}-control-input`},E.createElement("div",{className:`${tn}-control-input-content`},Je)),kr=E.useMemo(()=>({prefixCls:z,status:ie}),[z,ie]),fr=Ke!==null||At.length||xt.length?E.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},E.createElement(C.Rk.Provider,{value:kr},E.createElement(zn,{fieldId:Re,errors:At,warnings:xt,help:Qe,helpStatus:ie,className:`${tn}-explain-connected`,onVisibleChanged:gt})),!!Ke&&E.createElement("div",{style:{width:0,height:Ke}})):null,wr={};Re&&(wr.id=`${Re}_extra`);const ei=Oe?E.createElement("div",Object.assign({},wr,{className:`${tn}-extra`}),Oe):null,_n=Sn&&Sn.mark==="pro_table_render"&&Sn.render?Sn.render(w,{input:Jn,errorList:fr,extra:ei}):E.createElement(E.Fragment,null,Jn,fr,ei);return E.createElement(C.q3.Provider,{value:er},E.createElement(it.Z,Object.assign({},Yt,{className:Rn}),_n),E.createElement(ot,{prefixCls:z}))},$t=b(61485),Vt=b(31724),Qt=b(9763),cn=b(6848),Yn=function(w,z){var ie={};for(var ze in w)Object.prototype.hasOwnProperty.call(w,ze)&&z.indexOf(ze)<0&&(ie[ze]=w[ze]);if(w!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Je=0,ze=Object.getOwnPropertySymbols(w);Je{let{prefixCls:z,label:ie,htmlFor:ze,labelCol:Je,labelAlign:At,colon:xt,required:Sn,requiredMark:Oe,tooltip:Qe}=w;var Re;const[Ke]=(0,Qt.Z)("Form"),{vertical:gt,labelAlign:tn,labelCol:yt,labelWrap:Yt,colon:Rn}=E.useContext(C.q3);if(!ie)return null;const er=Je||yt||{},Jn=At||tn,kr=`${z}-item-label`,fr=V()(kr,Jn==="left"&&`${kr}-left`,er.className,{[`${kr}-wrap`]:!!Yt});let wr=ie;const ei=xt===!0||Rn!==!1&&xt!==!1;ei&&!gt&&typeof ie=="string"&&ie.trim()!==""&&(wr=ie.replace(/[:|:]\s*$/,""));const jn=qn(Qe);if(jn){const{icon:Zi=E.createElement($t.Z,null)}=jn,Xi=Yn(jn,["icon"]),Ei=E.createElement(cn.Z,Object.assign({},Xi),E.cloneElement(Zi,{className:`${z}-item-tooltip`,title:""}));wr=E.createElement(E.Fragment,null,wr,Ei)}const Hr=Oe==="optional",Pr=typeof Oe=="function";Pr?wr=Oe(wr,{required:!!Sn}):Hr&&!Sn&&(wr=E.createElement(E.Fragment,null,wr,E.createElement("span",{className:`${z}-item-optional`,title:""},(Ke==null?void 0:Ke.optional)||((Re=Vt.Z.Form)===null||Re===void 0?void 0:Re.optional))));const $i=V()({[`${z}-item-required`]:Sn,[`${z}-item-required-mark-optional`]:Hr||Pr,[`${z}-item-no-colon`]:!ei});return E.createElement(it.Z,Object.assign({},er,{className:fr}),E.createElement("label",{htmlFor:ze,className:$i,title:typeof ie=="string"?ie:""},wr))},vr=b(29679),Ki=b(19248),Mi=b(96512),yi=b(58617);const qr={success:vr.Z,warning:Mi.Z,error:Ki.Z,validating:yi.Z};function es(w){let{children:z,errors:ie,warnings:ze,hasFeedback:Je,validateStatus:At,prefixCls:xt,meta:Sn,noStyle:Oe}=w;const Qe=`${xt}-item`,{feedbackIcons:Re}=E.useContext(C.q3),Ke=Mt(ie,ze,Sn,null,!!Je,At),{isFormItemInput:gt,status:tn}=E.useContext(C.aM),yt=E.useMemo(()=>{var Yt;let Rn;if(Je){const kr=Je!==!0&&Je.icons||Re,fr=Ke&&((Yt=kr==null?void 0:kr({status:Ke,errors:ie,warnings:ze}))===null||Yt===void 0?void 0:Yt[Ke]),wr=Ke&&qr[Ke];Rn=fr!==!1&&wr?E.createElement("span",{className:V()(`${Qe}-feedback-icon`,`${Qe}-feedback-icon-${Ke}`)},fr||E.createElement(wr,null)):null}let er=!0,Jn=Ke||"";return Oe&&(er=gt,Jn=(Ke!=null?Ke:tn)||""),{status:Jn,errors:ie,warnings:ze,hasFeedback:!!Je,feedbackIcon:Rn,isFormItemInput:er}},[Ke,Je,Oe,gt,tn]);return E.createElement(C.aM.Provider,{value:yt},z)}var Ci=function(w,z){var ie={};for(var ze in w)Object.prototype.hasOwnProperty.call(w,ze)&&z.indexOf(ze)<0&&(ie[ze]=w[ze]);if(w!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Je=0,ze=Object.getOwnPropertySymbols(w);Je{if(jn&&fr.current){const _i=getComputedStyle(fr.current);$i(parseInt(_i.marginBottom,10))}},[jn,Hr]);const Zi=_i=>{_i||$i(null)},Ei=function(){let _i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const Es=_i?wr:Qe.errors,ua=_i?ei:Qe.warnings;return Mt(Es,ua,Qe,"",!!Re,Oe)}(),ms=V()(Jn,ie,ze,{[`${Jn}-with-help`]:_n||wr.length||ei.length,[`${Jn}-has-feedback`]:Ei&&Re,[`${Jn}-has-success`]:Ei==="success",[`${Jn}-has-warning`]:Ei==="warning",[`${Jn}-has-error`]:Ei==="error",[`${Jn}-is-validating`]:Ei==="validating",[`${Jn}-hidden`]:Ke});return E.createElement("div",{className:ms,style:Je,ref:fr},E.createElement(be.Z,Object.assign({className:`${Jn}-row`},(0,je.Z)(er,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),E.createElement(Jr,Object.assign({htmlFor:tn},w,{requiredMark:kr,required:yt!=null?yt:Yt,prefixCls:z})),E.createElement(_t,Object.assign({},w,Qe,{errors:wr,warnings:ei,prefixCls:z,status:Ei,help:At,marginBottom:Pr,onErrorVisibleChanged:Zi}),E.createElement(C.qI.Provider,{value:Rn},E.createElement(es,{prefixCls:z,meta:Qe,errors:Qe.errors,warnings:Qe.warnings,hasFeedback:Re,validateStatus:Ei},gt)))),!!Pr&&E.createElement("div",{className:`${Jn}-margin-offset`,style:{marginBottom:-Pr}}))}const rn="__SPLIT__",Xt=null,st=E.memo(w=>{let{children:z}=w;return z},(w,z)=>w.value===z.value&&w.update===z.update&&w.childProps.length===z.childProps.length&&w.childProps.every((ie,ze)=>ie===z.childProps[ze]));function dt(w){return w!=null}function Wt(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function bn(w){const{name:z,noStyle:ie,className:ze,dependencies:Je,prefixCls:At,shouldUpdate:xt,rules:Sn,children:Oe,required:Qe,label:Re,messageVariables:Ke,trigger:gt="onChange",validateTrigger:tn,hidden:yt,help:Yt}=w,{getPrefixCls:Rn}=E.useContext(vn.E_),{name:er}=E.useContext(C.q3),Jn=sn(Oe),kr=typeof Jn=="function",fr=E.useContext(C.qI),{validateTrigger:wr}=E.useContext(dr.FieldContext),ei=tn!==void 0?tn:wr,_n=dt(z),jn=Rn("form",At),[Hr,Pr]=Lt(jn),$i=E.useContext(dr.ListContext),Zi=E.useRef(),[Xi,Ei]=zt({}),[ms,_i]=(0,on.Z)(()=>Wt()),Es=Ln=>{const gr=$i==null?void 0:$i.getKey(Ln.name);if(_i(Ln.destroy?Wt():Ln,!0),ie&&Yt!==!1&&fr){let Rr=Ln.name;if(Ln.destroy)Rr=Zi.current||Rr;else if(gr!==void 0){const[$r,Ii]=gr;Rr=[$r].concat((0,m.Z)(Ii)),Zi.current=Rr}fr(Ln,Rr)}},ua=(Ln,gr)=>{Ei(Rr=>{const $r=Object.assign({},Rr),Di=[].concat((0,m.Z)(Ln.name.slice(0,-1)),(0,m.Z)(gr)).join(rn);return Ln.destroy?delete $r[Di]:$r[Di]=Ln,$r})},[Hn,Pt]=E.useMemo(()=>{const Ln=(0,m.Z)(ms.errors),gr=(0,m.Z)(ms.warnings);return Object.values(Xi).forEach(Rr=>{Ln.push.apply(Ln,(0,m.Z)(Rr.errors||[])),gr.push.apply(gr,(0,m.Z)(Rr.warnings||[]))}),[Ln,gr]},[Xi,ms.errors,ms.warnings]),Gt=Fn();function Bt(Ln,gr,Rr){return ie&&!yt?E.createElement(es,{prefixCls:jn,hasFeedback:w.hasFeedback,validateStatus:w.validateStatus,meta:ms,errors:Hn,warnings:Pt,noStyle:!0},Ln):E.createElement(En,Object.assign({key:"row"},w,{className:V()(ze,Pr),prefixCls:jn,fieldId:gr,isRequired:Rr,errors:Hn,warnings:Pt,meta:ms,onSubItemMetaChange:ua}),Ln)}if(!_n&&!kr&&!Je)return Hr(Bt(Jn));let yn={};return typeof Re=="string"?yn.label=Re:z&&(yn.label=String(z)),Ke&&(yn=Object.assign(Object.assign({},yn),Ke)),Hr(E.createElement(dr.Field,Object.assign({},w,{messageVariables:yn,trigger:gt,validateTrigger:ei,onMetaChange:Es}),(Ln,gr,Rr)=>{const $r=ln(z).length&&gr?gr.name:[],Ii=Cn($r,er),Di=Qe!==void 0?Qe:!!(Sn&&Sn.some(Cs=>{if(Cs&&typeof Cs=="object"&&Cs.required&&!Cs.warningOnly)return!0;if(typeof Cs=="function"){const Aa=Cs(Rr);return Aa&&Aa.required&&!Aa.warningOnly}return!1})),ss=Object.assign({},Ln);let vs=null;if(Array.isArray(Jn)&&_n)vs=Jn;else if(!(kr&&(!(xt||Je)||_n))){if(!(Je&&!kr&&!_n))if((0,lt.l$)(Jn)){const Cs=Object.assign(Object.assign({},Jn.props),ss);if(Cs.id||(Cs.id=Ii),Yt||Hn.length>0||Pt.length>0||w.extra){const ca=[];(Yt||Hn.length>0)&&ca.push(`${Ii}_help`),w.extra&&ca.push(`${Ii}_extra`),Cs["aria-describedby"]=ca.join(" ")}Hn.length>0&&(Cs["aria-invalid"]="true"),Di&&(Cs["aria-required"]="true"),(0,hn.Yr)(Jn)&&(Cs.ref=Gt($r,Jn)),new Set([].concat((0,m.Z)(ln(gt)),(0,m.Z)(ln(ei)))).forEach(ca=>{Cs[ca]=function(){for(var Ai,$a,Zo,Ko,$o,bo=arguments.length,Pl=new Array(bo),il=0;il{var{prefixCls:z,children:ie}=w,ze=rr(w,["prefixCls","children"]);const{getPrefixCls:Je}=E.useContext(vn.E_),At=Je("form",z),xt=E.useMemo(()=>({prefixCls:At,status:"error"}),[At]);return E.createElement(dr.List,Object.assign({},ze),(Sn,Oe,Qe)=>E.createElement(C.Rk.Provider,{value:xt},ie(Sn.map(Re=>Object.assign(Object.assign({},Re),{fieldKey:Re.key})),Oe,{errors:Qe.errors,warnings:Qe.warnings})))};function Ie(){const{form:w}=(0,E.useContext)(C.q3);return w}const L=ft;L.Item=ar,L.List=si,L.ErrorList=zn,L.useForm=pe,L.useFormInstance=Ie,L.useWatch=dr.useWatch,L.Provider=C.RV,L.create=()=>{};var Q=L},5112:function(Be,Me,b){"use strict";b.d(Me,{ZP:function(){return Vr}});var m=b(92310),Z=b.n(m),V=b(18929),N=b(26112),E=b(59301),F=b(36355),C=b(19716);const P=E.createContext(null),H=P.Provider;var D=P;const X=E.createContext(null),j=X.Provider;var de=b(5630),he=b(8654),we=b(1684),ve=b(32441),Ee=b(17313),$e=b(83116),Fe=b(37613);const ct=en=>{const{componentCls:ln,antCls:Cn}=en,Mt=`${ln}-group`;return{[Mt]:Object.assign(Object.assign({},(0,Ee.Wf)(en)),{display:"inline-block",fontSize:0,[`&${Mt}-rtl`]:{direction:"rtl"},[`${Cn}-badge ${Cn}-badge-count`]:{zIndex:1},[`> ${Cn}-badge:not(:first-child) > ${Cn}-button-wrapper`]:{borderInlineStart:"none"}})}},vt=en=>{const{componentCls:ln,wrapperMarginInlineEnd:Cn,colorPrimary:Mt,radioSize:Et,motionDurationSlow:pe,motionDurationMid:Ae,motionEaseInOutCirc:Pe,colorBgContainer:Ut,colorBorder:jt,lineWidth:ft,dotSize:on,colorBgContainerDisabled:hn,colorTextDisabled:lt,paddingXS:Ct,dotColorDisabled:sn,lineType:W,radioDotDisabledSize:Se,wireframe:Ht,colorWhite:zt}=en,Fn=`${ln}-inner`;return{[`${ln}-wrapper`]:Object.assign(Object.assign({},(0,Ee.Wf)(en)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:Cn,cursor:"pointer",[`&${ln}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:en.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${ln}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${ft}px ${W} ${Mt}`,borderRadius:"50%",visibility:"hidden",content:'""'},[ln]:Object.assign(Object.assign({},(0,Ee.Wf)(en)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${ln}-wrapper:hover &, - &:hover ${Fn}`]:{borderColor:Mt},[`${ln}-input:focus-visible + ${Fn}`]:Object.assign({},(0,Ee.oN)(en)),[`${ln}:hover::after, ${ln}-wrapper:hover &::after`]:{visibility:"visible"},[`${ln}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:Et,height:Et,marginBlockStart:Et/-2,marginInlineStart:Et/-2,backgroundColor:Ht?Mt:zt,borderBlockStart:0,borderInlineStart:0,borderRadius:Et,transform:"scale(0)",opacity:0,transition:`all ${pe} ${Pe}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:Et,height:Et,backgroundColor:Ut,borderColor:jt,borderStyle:"solid",borderWidth:ft,borderRadius:"50%",transition:`all ${Ae}`},[`${ln}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${ln}-checked`]:{[Fn]:{borderColor:Mt,backgroundColor:Ht?Ut:Mt,"&::after":{transform:`scale(${on/Et})`,opacity:1,transition:`all ${pe} ${Pe}`}}},[`${ln}-disabled`]:{cursor:"not-allowed",[Fn]:{backgroundColor:hn,borderColor:jt,cursor:"not-allowed","&::after":{backgroundColor:sn}},[`${ln}-input`]:{cursor:"not-allowed"},[`${ln}-disabled + span`]:{color:lt,cursor:"not-allowed"},[`&${ln}-checked`]:{[Fn]:{"&::after":{transform:`scale(${Se/Et})`}}}},[`span${ln} + *`]:{paddingInlineStart:Ct,paddingInlineEnd:Ct}})}},at=en=>{const{buttonColor:ln,controlHeight:Cn,componentCls:Mt,lineWidth:Et,lineType:pe,colorBorder:Ae,motionDurationSlow:Pe,motionDurationMid:Ut,buttonPaddingInline:jt,fontSize:ft,buttonBg:on,fontSizeLG:hn,controlHeightLG:lt,controlHeightSM:Ct,paddingXS:sn,borderRadius:W,borderRadiusSM:Se,borderRadiusLG:Ht,buttonCheckedBg:zt,buttonSolidCheckedColor:Fn,colorTextDisabled:Tn,colorBgContainerDisabled:lr,buttonCheckedBgDisabled:je,buttonCheckedColorDisabled:be,colorPrimary:it,colorPrimaryHover:wt,colorPrimaryActive:ot,buttonSolidCheckedBg:ut,buttonSolidCheckedHoverBg:_t,buttonSolidCheckedActiveBg:$t}=en;return{[`${Mt}-button-wrapper`]:{position:"relative",display:"inline-block",height:Cn,margin:0,paddingInline:jt,paddingBlock:0,color:ln,fontSize:ft,lineHeight:`${Cn-Et*2}px`,background:on,border:`${Et}px ${pe} ${Ae}`,borderBlockStartWidth:Et+.02,borderInlineStartWidth:0,borderInlineEndWidth:Et,cursor:"pointer",transition:[`color ${Ut}`,`background ${Ut}`,`box-shadow ${Ut}`].join(","),a:{color:ln},[`> ${Mt}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:-Et,insetInlineStart:-Et,display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:Et,paddingInline:0,backgroundColor:Ae,transition:`background-color ${Pe}`,content:'""'}},"&:first-child":{borderInlineStart:`${Et}px ${pe} ${Ae}`,borderStartStartRadius:W,borderEndStartRadius:W},"&:last-child":{borderStartEndRadius:W,borderEndEndRadius:W},"&:first-child:last-child":{borderRadius:W},[`${Mt}-group-large &`]:{height:lt,fontSize:hn,lineHeight:`${lt-Et*2}px`,"&:first-child":{borderStartStartRadius:Ht,borderEndStartRadius:Ht},"&:last-child":{borderStartEndRadius:Ht,borderEndEndRadius:Ht}},[`${Mt}-group-small &`]:{height:Ct,paddingInline:sn-Et,paddingBlock:0,lineHeight:`${Ct-Et*2}px`,"&:first-child":{borderStartStartRadius:Se,borderEndStartRadius:Se},"&:last-child":{borderStartEndRadius:Se,borderEndEndRadius:Se}},"&:hover":{position:"relative",color:it},"&:has(:focus-visible)":Object.assign({},(0,Ee.oN)(en)),[`${Mt}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${Mt}-button-wrapper-disabled)`]:{zIndex:1,color:it,background:zt,borderColor:it,"&::before":{backgroundColor:it},"&:first-child":{borderColor:it},"&:hover":{color:wt,borderColor:wt,"&::before":{backgroundColor:wt}},"&:active":{color:ot,borderColor:ot,"&::before":{backgroundColor:ot}}},[`${Mt}-group-solid &-checked:not(${Mt}-button-wrapper-disabled)`]:{color:Fn,background:ut,borderColor:ut,"&:hover":{color:Fn,background:_t,borderColor:_t},"&:active":{color:Fn,background:$t,borderColor:$t}},"&-disabled":{color:Tn,backgroundColor:lr,borderColor:Ae,cursor:"not-allowed","&:first-child, &:hover":{color:Tn,backgroundColor:lr,borderColor:Ae}},[`&-disabled${Mt}-button-wrapper-checked`]:{color:be,backgroundColor:je,borderColor:Ae,boxShadow:"none"}}}},kt=en=>en-4*2;var It=(0,$e.Z)("Radio",en=>{const{controlOutline:ln,controlOutlineWidth:Cn,radioSize:Mt}=en,Et=`0 0 0 ${Cn}px ${ln}`,pe=Et,Ae=kt(Mt),Pe=(0,Fe.TS)(en,{radioDotDisabledSize:Ae,radioFocusShadow:Et,radioButtonFocusShadow:pe});return[ct(Pe),vt(Pe),at(Pe)]},en=>{const{wireframe:ln,padding:Cn,marginXS:Mt,lineWidth:Et,fontSizeLG:pe,colorText:Ae,colorBgContainer:Pe,colorTextDisabled:Ut,controlItemBgActiveDisabled:jt,colorTextLightSolid:ft,colorPrimary:on,colorPrimaryHover:hn,colorPrimaryActive:lt}=en,Ct=4,sn=pe,W=ln?kt(sn):sn-(Ct+Et)*2;return{radioSize:sn,dotSize:W,dotColorDisabled:Ut,buttonSolidCheckedColor:ft,buttonSolidCheckedBg:on,buttonSolidCheckedHoverBg:hn,buttonSolidCheckedActiveBg:lt,buttonBg:Pe,buttonCheckedBg:Pe,buttonColor:Ae,buttonCheckedBgDisabled:jt,buttonCheckedColorDisabled:Ut,buttonPaddingInline:Cn-Et,wrapperMarginInlineEnd:Mt}}),Bn=b(14088),Lt=b(4572),Wn=function(en,ln){var Cn={};for(var Mt in en)Object.prototype.hasOwnProperty.call(en,Mt)&&ln.indexOf(Mt)<0&&(Cn[Mt]=en[Mt]);if(en!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Et=0,Mt=Object.getOwnPropertySymbols(en);Et{var Cn,Mt;const Et=E.useContext(D),pe=E.useContext(X),{getPrefixCls:Ae,direction:Pe,radio:Ut}=E.useContext(F.E_),jt=E.useRef(null),ft=(0,he.sQ)(ln,jt),{isFormItemInput:on}=E.useContext(ve.aM),hn=ot=>{var ut,_t;(ut=en.onChange)===null||ut===void 0||ut.call(en,ot),(_t=Et==null?void 0:Et.onChange)===null||_t===void 0||_t.call(Et,ot)},{prefixCls:lt,className:Ct,rootClassName:sn,children:W,style:Se}=en,Ht=Wn(en,["prefixCls","className","rootClassName","children","style"]),zt=Ae("radio",lt),Fn=((Et==null?void 0:Et.optionType)||pe)==="button",Tn=Fn?`${zt}-button`:zt,[lr,je]=It(zt),be=Object.assign({},Ht),it=E.useContext(we.Z);Et&&(be.name=Et.name,be.onChange=hn,be.checked=en.value===Et.value,be.disabled=(Cn=be.disabled)!==null&&Cn!==void 0?Cn:Et.disabled),be.disabled=(Mt=be.disabled)!==null&&Mt!==void 0?Mt:it;const wt=Z()(`${Tn}-wrapper`,{[`${Tn}-wrapper-checked`]:be.checked,[`${Tn}-wrapper-disabled`]:be.disabled,[`${Tn}-wrapper-rtl`]:Pe==="rtl",[`${Tn}-wrapper-in-form-item`]:on},Ut==null?void 0:Ut.className,Ct,sn,je);return lr(E.createElement(Bn.Z,{component:"Radio",disabled:be.disabled},E.createElement("label",{className:wt,style:Object.assign(Object.assign({},Ut==null?void 0:Ut.style),Se),onMouseEnter:en.onMouseEnter,onMouseLeave:en.onMouseLeave},E.createElement(de.Z,Object.assign({},be,{className:Z()(be.className,!Fn&&Lt.A),type:"radio",prefixCls:Tn,ref:ft})),W!==void 0?E.createElement("span",null,W):null)))};var zn=E.forwardRef(Xn);const dr=E.forwardRef((en,ln)=>{const{getPrefixCls:Cn,direction:Mt}=E.useContext(F.E_),[Et,pe]=(0,V.Z)(en.defaultValue,{value:en.value}),Ae=ut=>{const _t=Et,$t=ut.target.value;"value"in en||pe($t);const{onChange:Vt}=en;Vt&&$t!==_t&&Vt(ut)},{prefixCls:Pe,className:Ut,rootClassName:jt,options:ft,buttonStyle:on="outline",disabled:hn,children:lt,size:Ct,style:sn,id:W,onMouseEnter:Se,onMouseLeave:Ht,onFocus:zt,onBlur:Fn}=en,Tn=Cn("radio",Pe),lr=`${Tn}-group`,[je,be]=It(Tn);let it=lt;ft&&ft.length>0&&(it=ft.map(ut=>typeof ut=="string"||typeof ut=="number"?E.createElement(zn,{key:ut.toString(),prefixCls:Tn,disabled:hn,value:ut,checked:Et===ut},ut):E.createElement(zn,{key:`radio-group-value-options-${ut.value}`,prefixCls:Tn,disabled:ut.disabled||hn,value:ut.value,checked:Et===ut.value,title:ut.title,style:ut.style},ut.label)));const wt=(0,C.Z)(Ct),ot=Z()(lr,`${lr}-${on}`,{[`${lr}-${wt}`]:wt,[`${lr}-rtl`]:Mt==="rtl"},Ut,jt,be);return je(E.createElement("div",Object.assign({},(0,N.Z)(en,{aria:!0,data:!0}),{className:ot,style:sn,onMouseEnter:Se,onMouseLeave:Ht,onFocus:zt,onBlur:Fn,id:W,ref:ln}),E.createElement(H,{value:{onChange:Ae,value:Et,disabled:en.disabled,name:en.name,optionType:en.optionType}},it)))});var vn=E.memo(dr),_r=function(en,ln){var Cn={};for(var Mt in en)Object.prototype.hasOwnProperty.call(en,Mt)&&ln.indexOf(Mt)<0&&(Cn[Mt]=en[Mt]);if(en!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Et=0,Mt=Object.getOwnPropertySymbols(en);Et{const{getPrefixCls:Cn}=E.useContext(F.E_),{prefixCls:Mt}=en,Et=_r(en,["prefixCls"]),pe=Cn("radio",Mt);return E.createElement(j,{value:"button"},E.createElement(zn,Object.assign({prefixCls:pe},Et,{type:"radio",ref:ln})))};var Tt=E.forwardRef(Ge);const On=zn;On.Button=Tt,On.Group=vn,On.__ANT_RADIO=!0;var Vr=On},80574:function(Be,Me,b){"use strict";b.d(Me,{Ae:function(){return Ee},CF:function(){return zt},vC:function(){return sn},x1:function(){return F}});function m(je,be,it,wt,ot,ut){const _t=je,$t=be,Vt=it-_t,Qt=wt-$t;let cn=ot-_t,Yn=ut-$t,qn=cn*Vt+Yn*Qt,Sr=0;qn<=0?Sr=0:(cn=Vt-cn,Yn=Qt-Yn,qn=cn*Vt+Yn*Qt,qn<=0?Sr=0:Sr=qn*qn/(Vt*Vt+Qt*Qt));const Jr=cn*cn+Yn*Yn-Sr;return Jr<0?0:Jr}function Z(je,be,it,wt){return(je-it)*(je-it)+(be-wt)*(be-wt)}function V(je,be,it,wt,ot){return Z(je,be,it,wt)it;if(je===0)return Math.round;const be=Math.pow(10,je);return it=>Math.round(it*be)/be}function E(je){const be=Math.min(je.x1,je.x2),it=Math.max(je.x1,je.x2),wt=Math.min(je.y1,je.y2),ot=Math.max(je.y1,je.y2);return{x:be,y:wt,x2:it,y2:ot,width:it-be,height:ot-wt}}class F{constructor(be,it,wt,ot){this.x1=be,this.y1=it,this.x2=wt,this.y2=ot}equals(be){return this.x1===be.x1&&this.y1===be.y1&&this.x2===be.x2&&this.y2===be.y2}draw(be){be.moveTo(this.x1,this.y1),be.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(be){return new F(be.x1,be.y1,be.x2,be.y2)}cuts(be,it){if(this.y1===this.y2||itthis.y1&&it>=this.y2||be>this.x1&&be>=this.x2)return!1;if(bethis.x2+wt)return!1}else if(bethis.x1+wt)return!1;if(this.y1this.y2+wt)return!1}else if(itthis.y1+wt)return!1;return!0}}var C;(function(je){je[je.POINT=1]="POINT",je[je.PARALLEL=2]="PARALLEL",je[je.COINCIDENT=3]="COINCIDENT",je[je.NONE=4]="NONE"})(C||(C={}));class P{constructor(be,it=0,wt=0){this.state=be,this.x=it,this.y=wt}}function H(je,be){const it=(be.x2-be.x1)*(je.y1-be.y1)-(be.y2-be.y1)*(je.x1-be.x1),wt=(je.x2-je.x1)*(je.y1-be.y1)-(je.y2-je.y1)*(je.x1-be.x1),ot=(be.y2-be.y1)*(je.x2-je.x1)-(be.x2-be.x1)*(je.y2-je.y1);if(ot){const ut=it/ot,_t=wt/ot;return 0<=ut&&ut<=1&&0<=_t&&_t<=1?new P(C.POINT,je.x1+ut*(je.x2-je.x1),je.y1+ut*(je.y2-je.y1)):new P(C.NONE)}return new P(it===0||wt===0?C.COINCIDENT:C.PARALLEL)}function D(je,be){const it=(be.x2-be.x1)*(je.y1-be.y1)-(be.y2-be.y1)*(je.x1-be.x1),wt=(je.x2-je.x1)*(je.y1-be.y1)-(je.y2-je.y1)*(je.x1-be.x1),ot=(be.y2-be.y1)*(je.x2-je.x1)-(be.x2-be.x1)*(je.y2-je.y1);if(ot){const ut=it/ot,_t=wt/ot;if(0<=ut&&ut<=1&&0<=_t&&_t<=1)return ut}return Number.POSITIVE_INFINITY}function X(je,be){function it(ot,ut,_t,$t){let Vt=D(be,new F(ot,ut,_t,$t));return Vt=Math.abs(Vt-.5),Vt>=0&&Vt<=1?1:0}let wt=it(je.x,je.y,je.x2,je.y);return wt+=it(je.x,je.y,je.x,je.y2),wt>1||(wt+=it(je.x,je.y2,je.x2,je.y2),wt>1)?!0:(wt+=it(je.x2,je.y,je.x2,je.y2),wt>0)}var j;(function(je){je[je.LEFT=0]="LEFT",je[je.TOP=1]="TOP",je[je.RIGHT=2]="RIGHT",je[je.BOTTOM=3]="BOTTOM"})(j||(j={}));function de(je,be,it){const wt=new Set;return je.width<=0?(wt.add(j.LEFT),wt.add(j.RIGHT)):beje.x+je.width&&wt.add(j.RIGHT),je.height<=0?(wt.add(j.TOP),wt.add(j.BOTTOM)):itje.y+je.height&&wt.add(j.BOTTOM),wt}function he(je,be){let it=be.x1,wt=be.y1;const ot=be.x2,ut=be.y2,_t=Array.from(de(je,ot,ut));if(_t.length===0)return!0;let $t=de(je,it,wt);for(;$t.size!==0;){for(const Vt of _t)if($t.has(Vt))return!1;if($t.has(j.RIGHT)||$t.has(j.LEFT)){let Vt=je.x;$t.has(j.RIGHT)&&(Vt+=je.width),wt=wt+(Vt-it)*(ut-wt)/(ot-it),it=Vt}else{let Vt=je.y;$t.has(j.BOTTOM)&&(Vt+=je.height),it=it+(Vt-wt)*(ot-it)/(ut-wt),wt=Vt}$t=de(je,it,wt)}return!0}function we(je,be){let it=Number.POSITIVE_INFINITY,wt=0;function ot(ut,_t,$t,Vt){let Qt=D(be,new F(ut,_t,$t,Vt));Qt=Math.abs(Qt-.5),Qt>=0&&Qt<=1&&(wt++,Qt1||(ot(je.x,je.y2,je.x2,je.y2),wt>1)?it:(ot(je.x2,je.y,je.x2,je.y2),wt===0?-1:it)}function ve(je,be){let it=0;const wt=H(je,new F(be.x,be.y,be.x2,be.y));it+=wt.state===C.POINT?1:0;const ot=H(je,new F(be.x,be.y,be.x,be.y2));it+=ot.state===C.POINT?1:0;const ut=H(je,new F(be.x,be.y2,be.x2,be.y2));it+=ut.state===C.POINT?1:0;const _t=H(je,new F(be.x2,be.y,be.x2,be.y2));return it+=_t.state===C.POINT?1:0,{top:wt,left:ot,bottom:ut,right:_t,count:it}}class Ee{constructor(be,it,wt,ot){this.x=be,this.y=it,this.width=wt,this.height=ot}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(be){return new Ee(be.x,be.y,be.width,be.height)}equals(be){return this.x===be.x&&this.y===be.y&&this.width===be.width&&this.height===be.height}clone(){return new Ee(this.x,this.y,this.width,this.height)}add(be){const it=Math.min(this.x,be.x),wt=Math.min(this.y,be.y),ot=Math.max(this.x2,be.x+be.width),ut=Math.max(this.y2,be.y+be.height);this.x=it,this.y=wt,this.width=ot-it,this.height=ut-wt}addPoint(be){const it=Math.min(this.x,be.x),wt=Math.min(this.y,be.y),ot=Math.max(this.x2,be.x),ut=Math.max(this.y2,be.y);this.x=it,this.y=wt,this.width=ot-it,this.height=ut-wt}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(be){be.rect(this.x,this.y,this.width,this.height)}containsPt(be,it){return be>=this.x&&be<=this.x2&&it>=this.y&&it<=this.y2}get area(){return this.width*this.height}intersects(be){return this.area<=0||be.width<=0||be.height<=0?!1:be.x+be.width>this.x&&be.y+be.height>this.y&&be.x=this.width?this.width-1:be}boundY(be){return be=this.height?this.height-1:be}scaleX(be){return this.boundX(Math.floor((be-this.pixelX)/this.pixelGroup))}scaleY(be){return this.boundY(Math.floor((be-this.pixelY)/this.pixelGroup))}scale(be){const it=this.scaleX(be.x),wt=this.scaleY(be.y),ot=this.boundX(Math.ceil((be.x+be.width-this.pixelX)/this.pixelGroup)),ut=this.boundY(Math.ceil((be.y+be.height-this.pixelY)/this.pixelGroup)),_t=ot-it,$t=ut-wt;return new Ee(it,wt,_t,$t)}invertScaleX(be){return Math.round(be*this.pixelGroup+this.pixelX)}invertScaleY(be){return Math.round(be*this.pixelGroup+this.pixelY)}addPadding(be,it){const wt=Math.ceil(it/this.pixelGroup),ot=this.boundX(be.x-wt),ut=this.boundY(be.y-wt),_t=this.boundX(be.x2+wt),$t=this.boundY(be.y2+wt),Vt=_t-ot,Qt=$t-ut;return new Ee(ot,ut,Vt,Qt)}get(be,it){return be<0||it<0||be>=this.width||it>=this.height?Number.NaN:this.area[be+it*this.width]}inc(be,it,wt){be<0||it<0||be>=this.width||it>=this.height||(this.area[be+it*this.width]+=wt)}set(be,it,wt){be<0||it<0||be>=this.width||it>=this.height||(this.area[be+it*this.width]=wt)}incArea(be,it){if(be.width<=0||be.height<=0||it===0)return;const wt=this.width,ot=be.width,ut=Math.max(0,be.i),_t=Math.max(0,be.j),$t=Math.min(be.i+be.width,wt),Vt=Math.min(be.j+be.height,this.height);if(!(Vt<=0||$t<=0||ut>=wt||Vt>=this.height))for(let Qt=_t;QtMath.min(_t,$t),Number.POSITIVE_INFINITY),ot=this.area.reduce((_t,$t)=>Math.max(_t,$t),Number.NEGATIVE_INFINITY),ut=_t=>(_t-wt)/(ot-wt);be.scale(this.pixelGroup,this.pixelGroup);for(let _t=0;_tit?"black":"white",be.fillRect(ot,ut,1,1)}be.restore()}}}function vt(je,be){const it=wt=>({x:wt.x-be,y:wt.y-be,width:wt.width+2*be,height:wt.height+2*be});return Array.isArray(je)?je.map(it):it(je)}function at(je,be,it){return kt(Object.assign(E(je),{distSquare:(wt,ot)=>m(je.x1,je.y1,je.x2,je.y2,wt,ot)}),be,it)}function kt(je,be,it){const wt=vt(je,it),ot=be.scale(wt),ut=be.createSub(ot,wt);return It(ut,be,it,(_t,$t)=>je.distSquare(_t,$t)),ut}function It(je,be,it,wt){const ot=it*it;for(let ut=0;ut{const $t=ot.slice(0,_t);return dr(be,ut,$t,it,wt)}).flat()}function dr(je,be,it,wt,ot){const ut=In(be.cx,be.cy),_t=Ge(ut,it,je);if(_t==null)return[];const $t=new F(ut.x,ut.y,_t.cx,_t.cy),Vt=vn($t,je,wt,ot);return _r(Vt,je)}function vn(je,be,it,wt){const ot=[],ut=[];ut.push(je);let _t=!0;for(let $t=0;$t0;){const Vt=ut.pop(),Qt=en(be,Vt),cn=Qt?ve(Vt,Qt):null;if(!Qt||!cn||cn.count!==2){_t||ot.push(Vt);continue}let Yn=wt,qn=Cn(Qt,Yn,cn,!0),Sr=Vr(qn,ut)||Vr(qn,ot),Jr=On(qn,be);for(;!Sr&&Jr&&Yn>=1;)Yn/=1.5,qn=Cn(Qt,Yn,cn,!0),Sr=Vr(qn,ut)||Vr(qn,ot),Jr=On(qn,be);if(qn&&!Sr&&!Jr&&(ut.push(new F(Vt.x1,Vt.y1,qn.x,qn.y)),ut.push(new F(qn.x,qn.y,Vt.x2,Vt.y2)),_t=!0),_t)continue;Yn=wt,qn=Cn(Qt,Yn,cn,!1);let vr=Vr(qn,ut)||Vr(qn,ot);for(Jr=On(qn,be);!vr&&Jr&&Yn>=1;)Yn/=1.5,qn=Cn(Qt,Yn,cn,!1),vr=Vr(qn,ut)||Vr(qn,ot),Jr=On(qn,be);qn&&!vr&&(ut.push(new F(Vt.x1,Vt.y1,qn.x,qn.y)),ut.push(new F(qn.x,qn.y,Vt.x2,Vt.y2)),_t=!0),_t||ot.push(Vt)}for(;ut.length>0;)ot.push(ut.pop());return ot}function _r(je,be){const it=[];for(;je.length>0;){const wt=je.pop();if(je.length===0){it.push(wt);break}const ot=je.pop(),ut=new F(wt.x1,wt.y1,ot.x2,ot.y2);en(be,ut)?(it.push(wt),je.push(ot)):je.push(ut)}return it}function Ge(je,be,it){let wt=Number.POSITIVE_INFINITY;return be.reduce((ot,ut)=>{const _t=Z(je.x,je.y,ut.cx,ut.cy);if(_t>wt)return ot;const $t=new F(je.x,je.y,ut.cx,ut.cy),Vt=ln(it,$t);return _t*(Vt+1)*(Vt+1){be+=wt.cx,it+=wt.cy}),be/=je.length,it/=je.length,je.map(wt=>{const ot=be-wt.cx,ut=it-wt.cy,_t=ot*ot+ut*ut;return[wt,_t]}).sort((wt,ot)=>wt[1]-ot[1]).map(wt=>wt[0])}function On(je,be){return be.some(it=>it.containsPt(je.x,je.y))}function Vr(je,be){return be.some(it=>!!(V(it.x1,it.y1,je.x,je.y,.001)||V(it.x2,it.y2,je.x,je.y,.001)))}function en(je,be){let it=Number.POSITIVE_INFINITY,wt=null;for(const ot of je){if(!he(ot,be))continue;const ut=we(ot,be);ut>=0&&uthe(wt,be)&&X(wt,be)?it+1:it,0)}function Cn(je,be,it,wt){const ot=it.top,ut=it.left,_t=it.bottom,$t=it.right;if(wt){if(ut.state===C.POINT){if(ot.state===C.POINT)return In(je.x-be,je.y-be);if(_t.state===C.POINT)return In(je.x-be,je.y2+be);const qn=je.width*je.height;return je.width*((ut.y-je.y+($t.y-je.y))*.5)$t.y?In(je.x-be,je.y-be):In(je.x2+be,je.y-be):ut.y<$t.y?In(je.x-be,je.y2+be):In(je.x2+be,je.y2+be)}if($t.state===C.POINT){if(ot.state===C.POINT)return In(je.x2+be,je.y-be);if(_t.state===C.POINT)return In(je.x2+be,je.y2+be)}const cn=je.height*je.width;return je.height*((ot.x-je.x+($t.x-je.x))*.5)_t.x?In(je.x-be,je.y-be):In(je.x-be,je.y2+be):ot.x<_t.x?In(je.x2+be,je.y-be):In(je.x2+be,je.y2+be)}if(ut.state===C.POINT){if(ot.state===C.POINT)return In(je.x2+be,je.y2+be);if(_t.state===C.POINT)return In(je.x2+be,je.y-be);const cn=je.height*je.width;return je.width*((ut.y-je.y+($t.y-je.y))*.5)$t.y?In(je.x2+be,je.y2+be):In(je.x-be,je.y2+be):ut.y<$t.y?In(je.x2+be,je.y-be):In(je.x-be,je.y-be)}if($t.state===C.POINT){if(ot.state===C.POINT)return In(je.x-be,je.y2+be);if(_t.state===C.POINT)return In(je.x-be,je.y-be)}const Vt=je.height*je.width;return je.height*((ot.x-je.x+($t.x-je.x))*.5)_t.x?In(je.x2+be,je.y2+be):In(je.x2+be,je.y-be):ot.x<_t.x?In(je.x-be,je.y2+be):In(je.x-be,je.y-be)}function Mt(je,be,it,wt){if(!(je.closed?itwt)return!1}return!0}function Et(je=0){return be=>{if(je<0||be.length<3)return be;const it=[];let wt=0;const ot=je*je;for(;wt{if(_t.length<3)return _t;const $t=[],Vt=_t.closed,Qt=_t.length+3-1+(Vt?0:2);$t.push(ut(_t,2-(Vt?0:2),0));for(let cn=2-(Vt?0:2);cn{let it=je,wt=be.length;if(it>1)for(wt=Math.floor(be.length/it);wt<3&&it>1;)it-=1,wt=Math.floor(be.length/it);const ot=[];for(let ut=0,_t=0;_t=wt?this.closed?this.get(be-wt):this.points[wt-1]:this.points[it]}get length(){return this.points.length}toString(be=1/0){const it=this.points;if(it.length===0)return"";const wt=typeof be=="function"?be:N(be);let ot="M";for(const ut of it)ot+=`${wt(ut.x)},${wt(ut.y)} L`;return ot=ot.slice(0,-1),this.closed&&(ot+=" Z"),ot}draw(be){const it=this.points;if(it.length!==0){be.beginPath(),be.moveTo(it[0].x,it[0].y);for(const wt of it)be.lineTo(wt.x,wt.y);this.closed&&be.closePath()}}sample(be){return Pe(be)(this)}simplify(be){return Et(be)(this)}bSplines(be){return Ae(be)(this)}apply(be){return be(this)}containsElements(be){const it=$e(this.points);return it?be.every(wt=>it.containsPt(wt.cx,wt.cy)&&this.withinArea(wt.cx,wt.cy)):!1}withinArea(be,it){if(this.length===0)return!1;let wt=0;const ot=this.points[0],ut=new F(ot.x,ot.y,ot.x,ot.y);for(let _t=1;_tbe?cn+Yn:cn}function ut(Vt,Qt){let cn=ft;return cn=ot(Vt,Qt,cn,1),cn=ot(Vt+1,Qt,cn,2),cn=ot(Vt,Qt+1,cn,4),cn=ot(Vt+1,Qt+1,cn,8),Number.isNaN(cn)?-1:cn}let _t=on;function $t(Vt,Qt){let cn=Vt,Yn=Qt,qn=je.invertScaleX(cn),Sr=je.invertScaleY(Yn);for(let Jr=0;JrSe(wt.raw,be));return it<0?!1:(this.members.splice(it,1),this.dirty.add(Ht.MEMBERS),!0)}removeNonMember(be){const it=this.nonMembers.findIndex(wt=>Se(wt.raw,be));return it<0?!1:(this.nonMembers.splice(it,1),this.dirty.add(Ht.NON_MEMBERS),!0)}removeEdge(be){const it=this.edges.findIndex(wt=>wt.obj.equals(be));return it<0?!1:(this.edges.splice(it,1),this.dirty.add(Ht.NON_MEMBERS),!0)}pushNonMember(...be){if(be.length!==0){this.dirty.add(Ht.NON_MEMBERS);for(const it of be)this.nonMembers.push({raw:it,obj:W(it)?Fe.from(it):Ee.from(it),area:null})}}pushEdge(...be){if(be.length!==0){this.dirty.add(Ht.EDGES);for(const it of be)this.edges.push({raw:it,obj:F.from(it),area:null})}}update(){const be=this.dirty.has(Ht.MEMBERS),it=this.dirty.has(Ht.NON_MEMBERS);let wt=this.dirty.has(Ht.EDGES);this.dirty.clear();const ot=this.members.map(Qt=>Qt.obj);if(this.o.virtualEdges&&(be||it)){const Qt=this.nonMembers.map(qn=>qn.obj),cn=zn(ot,Qt,this.o.maxRoutingIterations,this.o.morphBuffer),Yn=new Map(this.virtualEdges.map(qn=>[qn.obj.toString(),qn.area]));this.virtualEdges=cn.map(qn=>{var Sr;return{raw:qn,obj:qn,area:(Sr=Yn.get(qn.toString()))!==null&&Sr!==void 0?Sr:null}}),wt=!0}let ut=!1;if(be||wt){const Qt=this.virtualEdges.concat(this.edges).map(Sr=>Sr.obj),cn=Tn(ot,Qt),Yn=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,qn=Ee.from(vt(cn,Yn));qn.equals(this.activeRegion)||(ut=!0,this.activeRegion=qn)}if(ut){const Qt=Math.ceil(this.activeRegion.width/this.o.pixelGroup),cn=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=ct.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(Yn=>Yn.area=null),this.nonMembers.forEach(Yn=>Yn.area=null),this.edges.forEach(Yn=>Yn.area=null),this.virtualEdges.forEach(Yn=>Yn.area=null)):(Qt!==this.potentialArea.width||cn!==this.potentialArea.height)&&(this.potentialArea=ct.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const _t=new Map,$t=Qt=>{if(Qt.area){const cn=`${Qt.obj.width}x${Qt.obj.height}x${Qt.obj instanceof Ee?"R":"C"}`;_t.set(cn,Qt.area)}},Vt=Qt=>{if(Qt.area)return;const cn=`${Qt.obj.width}x${Qt.obj.height}x${Qt.obj instanceof Ee?"R":"C"}`;if(_t.has(cn)){const qn=_t.get(cn);Qt.area=this.potentialArea.copy(qn,{x:Qt.obj.x-this.o.nodeR1,y:Qt.obj.y-this.o.nodeR1});return}const Yn=Qt.obj instanceof Ee?Bn(Qt.obj,this.potentialArea,this.o.nodeR1):kt(Qt.obj,this.potentialArea,this.o.nodeR1);Qt.area=Yn,_t.set(cn,Yn)};this.members.forEach($t),this.nonMembers.forEach($t),this.members.forEach(Vt),this.nonMembers.forEach(Qt=>{this.activeRegion.intersects(Qt.obj)?Vt(Qt):Qt.area=null}),this.edges.forEach(Qt=>{Qt.area||(Qt.area=at(Qt.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(Qt=>{Qt.area||(Qt.area=at(Qt.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(be){for(const it of this.members)it.obj.draw(be)}drawNonMembers(be){for(const it of this.nonMembers)it.obj.draw(be)}drawEdges(be){for(const it of this.edges)it.obj.draw(be)}drawPotentialArea(be,it=!0){this.potentialArea.draw(be,it)}compute(){if(this.members.length===0)return new Ut([]);this.dirty.size>0&&this.update();const{o:be,potentialArea:it}=this,wt=this.members.map($t=>$t.area),ot=this.virtualEdges.concat(this.edges).map($t=>$t.area),ut=this.nonMembers.filter($t=>$t.area!=null).map($t=>$t.area),_t=this.members.map($t=>$t.obj);return Fn(it,wt,ot,ut,$t=>$t.containsElements(_t),be)}}function Fn(je,be,it,wt,ot,ut={}){const _t=Object.assign({},sn,ut);let $t=_t.threshold,Vt=_t.memberInfluenceFactor,Qt=_t.edgeInfluenceFactor,cn=_t.nonMemberInfluenceFactor;const Yn=(_t.nodeR0-_t.nodeR1)*(_t.nodeR0-_t.nodeR1),qn=(_t.edgeR0-_t.edgeR1)*(_t.edgeR0-_t.edgeR1);for(let Sr=0;Sr<_t.maxMarchingIterations;Sr++){if(je.clear(),Vt!==0){const vr=Vt/Yn;for(const Ki of be)je.incArea(Ki,vr)}if(Qt!==0){const vr=Qt/qn;for(const Ki of it)je.incArea(Ki,vr)}if(cn!==0){const vr=cn/Yn;for(const Ki of wt)je.incArea(Ki,vr)}const Jr=Ct(je,$t);if(Jr&&ot(Jr))return Jr;if($t*=.95,Sr<=_t.maxMarchingIterations*.5)Vt*=1.2,Qt*=1.2;else if(cn!==0&&wt.length>0)cn*=.8;else break}return new Ut([])}function Tn(je,be){if(je.length===0)return new Ee(0,0,0,0);const it=Ee.from(je[0]);for(const wt of je)it.add(wt);for(const wt of be)it.add(E(wt));return it}function lr(je,be=[],it=[],wt={}){if(je.length===0)return new Ut([]);const ot=new zt(wt);return ot.pushMember(...je),ot.pushNonMember(...be),ot.pushEdge(...it),ot.compute()}},45411:function(Be){"use strict";Be.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(Be,Me,b){var m=b(45411),Z=b(81683),V=Object.hasOwnProperty,N=Object.create(null);for(var E in m)V.call(m,E)&&(N[m[E]]=E);var F=Be.exports={to:{},get:{}};F.get=function(H){var D=H.substring(0,3).toLowerCase(),X,j;switch(D){case"hsl":X=F.get.hsl(H),j="hsl";break;case"hwb":X=F.get.hwb(H),j="hwb";break;default:X=F.get.rgb(H),j="rgb";break}return X?{model:j,value:X}:null},F.get.rgb=function(H){if(!H)return null;var D=/^#([a-f0-9]{3,4})$/i,X=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,j=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,de=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,he=/^(\w+)$/,we=[0,0,0,1],ve,Ee,$e;if(ve=H.match(X)){for($e=ve[2],ve=ve[1],Ee=0;Ee<3;Ee++){var Fe=Ee*2;we[Ee]=parseInt(ve.slice(Fe,Fe+2),16)}$e&&(we[3]=parseInt($e,16)/255)}else if(ve=H.match(D)){for(ve=ve[1],$e=ve[3],Ee=0;Ee<3;Ee++)we[Ee]=parseInt(ve[Ee]+ve[Ee],16);$e&&(we[3]=parseInt($e+$e,16)/255)}else if(ve=H.match(j)){for(Ee=0;Ee<3;Ee++)we[Ee]=parseInt(ve[Ee+1],0);ve[4]&&(ve[5]?we[3]=parseFloat(ve[4])*.01:we[3]=parseFloat(ve[4]))}else if(ve=H.match(de)){for(Ee=0;Ee<3;Ee++)we[Ee]=Math.round(parseFloat(ve[Ee+1])*2.55);ve[4]&&(ve[5]?we[3]=parseFloat(ve[4])*.01:we[3]=parseFloat(ve[4]))}else return(ve=H.match(he))?ve[1]==="transparent"?[0,0,0,0]:V.call(m,ve[1])?(we=m[ve[1]],we[3]=1,we):null:null;for(Ee=0;Ee<3;Ee++)we[Ee]=C(we[Ee],0,255);return we[3]=C(we[3],0,1),we},F.get.hsl=function(H){if(!H)return null;var D=/^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*)?\)$/,X=H.match(D);if(X){var j=parseFloat(X[4]),de=(parseFloat(X[1])%360+360)%360,he=C(parseFloat(X[2]),0,100),we=C(parseFloat(X[3]),0,100),ve=C(isNaN(j)?1:j,0,1);return[de,he,we,ve]}return null},F.get.hwb=function(H){if(!H)return null;var D=/^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*)?\)$/,X=H.match(D);if(X){var j=parseFloat(X[4]),de=(parseFloat(X[1])%360+360)%360,he=C(parseFloat(X[2]),0,100),we=C(parseFloat(X[3]),0,100),ve=C(isNaN(j)?1:j,0,1);return[de,he,we,ve]}return null},F.to.hex=function(){var H=Z(arguments);return"#"+P(H[0])+P(H[1])+P(H[2])+(H[3]<1?P(Math.round(H[3]*255)):"")},F.to.rgb=function(){var H=Z(arguments);return H.length<4||H[3]===1?"rgb("+Math.round(H[0])+", "+Math.round(H[1])+", "+Math.round(H[2])+")":"rgba("+Math.round(H[0])+", "+Math.round(H[1])+", "+Math.round(H[2])+", "+H[3]+")"},F.to.rgb.percent=function(){var H=Z(arguments),D=Math.round(H[0]/255*100),X=Math.round(H[1]/255*100),j=Math.round(H[2]/255*100);return H.length<4||H[3]===1?"rgb("+D+"%, "+X+"%, "+j+"%)":"rgba("+D+"%, "+X+"%, "+j+"%, "+H[3]+")"},F.to.hsl=function(){var H=Z(arguments);return H.length<4||H[3]===1?"hsl("+H[0]+", "+H[1]+"%, "+H[2]+"%)":"hsla("+H[0]+", "+H[1]+"%, "+H[2]+"%, "+H[3]+")"},F.to.hwb=function(){var H=Z(arguments),D="";return H.length>=4&&H[3]!==1&&(D=", "+H[3]),"hwb("+H[0]+", "+H[1]+"%, "+H[2]+"%"+D+")"},F.to.keyword=function(H){return N[H.slice(0,3)]};function C(H,D,X){return Math.min(Math.max(D,H),X)}function P(H){var D=Math.round(H).toString(16).toUpperCase();return D.length<2?"0"+D:D}},92546:function(Be,Me,b){Be.exports={graphlib:b(76626),layout:b(47194),debug:b(11303),util:{time:b(53063).time,notime:b(53063).notime},version:b(11897)}},81255:function(Be,Me,b){"use strict";var m=b(72361),Z=b(39240);Be.exports={run:V,undo:E};function V(F){var C=F.graph().acyclicer==="greedy"?Z(F,P(F)):N(F);m.forEach(C,function(H){var D=F.edge(H);F.removeEdge(H),D.forwardName=H.name,D.reversed=!0,F.setEdge(H.w,H.v,D,m.uniqueId("rev"))});function P(H){return function(D){return H.edge(D).weight}}}function N(F){var C=[],P={},H={};function D(X){m.has(H,X)||(H[X]=!0,P[X]=!0,m.forEach(F.outEdges(X),function(j){m.has(P,j.w)?C.push(j):D(j.w)}),delete P[X])}return m.forEach(F.nodes(),D),C}function E(F){m.forEach(F.edges(),function(C){var P=F.edge(C);if(P.reversed){F.removeEdge(C);var H=P.forwardName;delete P.reversed,delete P.forwardName,F.setEdge(C.w,C.v,P,H)}})}},60765:function(Be,Me,b){var m=b(72361),Z=b(53063);Be.exports=V;function V(E){function F(C){var P=E.children(C),H=E.node(C);if(P.length&&m.forEach(P,F),m.has(H,"minRank")){H.borderLeft=[],H.borderRight=[];for(var D=H.minRank,X=H.maxRank+1;D0;--Ee)if(ve=X[Ee].dequeue(),ve){de=de.concat(C(D,X,j,ve,!0));break}}}return de}function C(D,X,j,de,he){var we=he?[]:void 0;return m.forEach(D.inEdges(de.v),function(ve){var Ee=D.edge(ve),$e=D.node(ve.v);he&&we.push({v:ve.v,w:ve.w}),$e.out-=Ee,H(X,j,$e)}),m.forEach(D.outEdges(de.v),function(ve){var Ee=D.edge(ve),$e=ve.w,Fe=D.node($e);Fe.in-=Ee,H(X,j,Fe)}),D.removeNode(de.v),we}function P(D,X){var j=new Z,de=0,he=0;m.forEach(D.nodes(),function(Ee){j.setNode(Ee,{v:Ee,in:0,out:0})}),m.forEach(D.edges(),function(Ee){var $e=j.edge(Ee.v,Ee.w)||0,Fe=X(Ee),ct=$e+Fe;j.setEdge(Ee.v,Ee.w,ct),he=Math.max(he,j.node(Ee.v).out+=Fe),de=Math.max(de,j.node(Ee.w).in+=Fe)});var we=m.range(he+de+3).map(function(){return new V}),ve=de+1;return m.forEach(j.nodes(),function(Ee){H(we,ve,j.node(Ee))}),{graph:j,buckets:we,zeroIdx:ve}}function H(D,X,j){j.out?j.in?D[j.out-j.in+X].enqueue(j):D[D.length-1].enqueue(j):D[0].enqueue(j)}},47194:function(Be,Me,b){"use strict";var m=b(72361),Z=b(81255),V=b(27163),N=b(64505),E=b(53063).normalizeRanks,F=b(71970),C=b(53063).removeEmptyRanks,P=b(31733),H=b(60765),D=b(13257),X=b(62852),j=b(93021),de=b(53063),he=b(76626).Graph;Be.exports=we;function we(Mt,Et){var pe=Et&&Et.debugTiming?de.time:de.notime;pe("layout",function(){var Ae=pe(" buildLayoutGraph",function(){return Lt(Mt)});pe(" runLayout",function(){ve(Ae,pe)}),pe(" updateInputGraph",function(){Ee(Mt,Ae)})})}function ve(Mt,Et){Et(" makeSpaceForEdgeLabels",function(){Wn(Mt)}),Et(" removeSelfEdges",function(){On(Mt)}),Et(" acyclic",function(){Z.run(Mt)}),Et(" nestingGraph.run",function(){P.run(Mt)}),Et(" rank",function(){N(de.asNonCompoundGraph(Mt))}),Et(" injectEdgeLabelProxies",function(){Xn(Mt)}),Et(" removeEmptyRanks",function(){C(Mt)}),Et(" nestingGraph.cleanup",function(){P.cleanup(Mt)}),Et(" normalizeRanks",function(){E(Mt)}),Et(" assignRankMinMax",function(){In(Mt)}),Et(" removeEdgeLabelProxies",function(){zn(Mt)}),Et(" normalize.run",function(){V.run(Mt)}),Et(" parentDummyChains",function(){F(Mt)}),Et(" addBorderSegments",function(){H(Mt)}),Et(" order",function(){X(Mt)}),Et(" insertSelfEdges",function(){Vr(Mt)}),Et(" adjustCoordinateSystem",function(){D.adjust(Mt)}),Et(" position",function(){j(Mt)}),Et(" positionSelfEdges",function(){en(Mt)}),Et(" removeBorderNodes",function(){Tt(Mt)}),Et(" normalize.undo",function(){V.undo(Mt)}),Et(" fixupEdgeLabelCoords",function(){_r(Mt)}),Et(" undoCoordinateSystem",function(){D.undo(Mt)}),Et(" translateGraph",function(){dr(Mt)}),Et(" assignNodeIntersects",function(){vn(Mt)}),Et(" reversePoints",function(){Ge(Mt)}),Et(" acyclic.undo",function(){Z.undo(Mt)})}function Ee(Mt,Et){m.forEach(Mt.nodes(),function(pe){var Ae=Mt.node(pe),Pe=Et.node(pe);Ae&&(Ae.x=Pe.x,Ae.y=Pe.y,Et.children(pe).length&&(Ae.width=Pe.width,Ae.height=Pe.height))}),m.forEach(Mt.edges(),function(pe){var Ae=Mt.edge(pe),Pe=Et.edge(pe);Ae.points=Pe.points,m.has(Pe,"x")&&(Ae.x=Pe.x,Ae.y=Pe.y)}),Mt.graph().width=Et.graph().width,Mt.graph().height=Et.graph().height}var $e=["nodesep","edgesep","ranksep","marginx","marginy"],Fe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},ct=["acyclicer","ranker","rankdir","align"],vt=["width","height"],at={width:0,height:0},kt=["minlen","weight","width","height","labeloffset"],It={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Bn=["labelpos"];function Lt(Mt){var Et=new he({multigraph:!0,compound:!0}),pe=Cn(Mt.graph());return Et.setGraph(m.merge({},Fe,ln(pe,$e),m.pick(pe,ct))),m.forEach(Mt.nodes(),function(Ae){var Pe=Cn(Mt.node(Ae));Et.setNode(Ae,m.defaults(ln(Pe,vt),at)),Et.setParent(Ae,Mt.parent(Ae))}),m.forEach(Mt.edges(),function(Ae){var Pe=Cn(Mt.edge(Ae));Et.setEdge(Ae,m.merge({},It,ln(Pe,kt),m.pick(Pe,Bn)))}),Et}function Wn(Mt){var Et=Mt.graph();Et.ranksep/=2,m.forEach(Mt.edges(),function(pe){var Ae=Mt.edge(pe);Ae.minlen*=2,Ae.labelpos.toLowerCase()!=="c"&&(Et.rankdir==="TB"||Et.rankdir==="BT"?Ae.width+=Ae.labeloffset:Ae.height+=Ae.labeloffset)})}function Xn(Mt){m.forEach(Mt.edges(),function(Et){var pe=Mt.edge(Et);if(pe.width&&pe.height){var Ae=Mt.node(Et.v),Pe=Mt.node(Et.w),Ut={rank:(Pe.rank-Ae.rank)/2+Ae.rank,e:Et};de.addDummyNode(Mt,"edge-proxy",Ut,"_ep")}})}function In(Mt){var Et=0;m.forEach(Mt.nodes(),function(pe){var Ae=Mt.node(pe);Ae.borderTop&&(Ae.minRank=Mt.node(Ae.borderTop).rank,Ae.maxRank=Mt.node(Ae.borderBottom).rank,Et=m.max(Et,Ae.maxRank))}),Mt.graph().maxRank=Et}function zn(Mt){m.forEach(Mt.nodes(),function(Et){var pe=Mt.node(Et);pe.dummy==="edge-proxy"&&(Mt.edge(pe.e).labelRank=pe.rank,Mt.removeNode(Et))})}function dr(Mt){var Et=Number.POSITIVE_INFINITY,pe=0,Ae=Number.POSITIVE_INFINITY,Pe=0,Ut=Mt.graph(),jt=Ut.marginx||0,ft=Ut.marginy||0;function on(hn){var lt=hn.x,Ct=hn.y,sn=hn.width,W=hn.height;Et=Math.min(Et,lt-sn/2),pe=Math.max(pe,lt+sn/2),Ae=Math.min(Ae,Ct-W/2),Pe=Math.max(Pe,Ct+W/2)}m.forEach(Mt.nodes(),function(hn){on(Mt.node(hn))}),m.forEach(Mt.edges(),function(hn){var lt=Mt.edge(hn);m.has(lt,"x")&&on(lt)}),Et-=jt,Ae-=ft,m.forEach(Mt.nodes(),function(hn){var lt=Mt.node(hn);lt.x-=Et,lt.y-=Ae}),m.forEach(Mt.edges(),function(hn){var lt=Mt.edge(hn);m.forEach(lt.points,function(Ct){Ct.x-=Et,Ct.y-=Ae}),m.has(lt,"x")&&(lt.x-=Et),m.has(lt,"y")&&(lt.y-=Ae)}),Ut.width=pe-Et+jt,Ut.height=Pe-Ae+ft}function vn(Mt){m.forEach(Mt.edges(),function(Et){var pe=Mt.edge(Et),Ae=Mt.node(Et.v),Pe=Mt.node(Et.w),Ut,jt;pe.points?(Ut=pe.points[0],jt=pe.points[pe.points.length-1]):(pe.points=[],Ut=Pe,jt=Ae),pe.points.unshift(de.intersectRect(Ae,Ut)),pe.points.push(de.intersectRect(Pe,jt))})}function _r(Mt){m.forEach(Mt.edges(),function(Et){var pe=Mt.edge(Et);if(m.has(pe,"x"))switch((pe.labelpos==="l"||pe.labelpos==="r")&&(pe.width-=pe.labeloffset),pe.labelpos){case"l":pe.x-=pe.width/2+pe.labeloffset;break;case"r":pe.x+=pe.width/2+pe.labeloffset;break}})}function Ge(Mt){m.forEach(Mt.edges(),function(Et){var pe=Mt.edge(Et);pe.reversed&&pe.points.reverse()})}function Tt(Mt){m.forEach(Mt.nodes(),function(Et){if(Mt.children(Et).length){var pe=Mt.node(Et),Ae=Mt.node(pe.borderTop),Pe=Mt.node(pe.borderBottom),Ut=Mt.node(m.last(pe.borderLeft)),jt=Mt.node(m.last(pe.borderRight));pe.width=Math.abs(jt.x-Ut.x),pe.height=Math.abs(Pe.y-Ae.y),pe.x=Ut.x+pe.width/2,pe.y=Ae.y+pe.height/2}}),m.forEach(Mt.nodes(),function(Et){Mt.node(Et).dummy==="border"&&Mt.removeNode(Et)})}function On(Mt){m.forEach(Mt.edges(),function(Et){if(Et.v===Et.w){var pe=Mt.node(Et.v);pe.selfEdges||(pe.selfEdges=[]),pe.selfEdges.push({e:Et,label:Mt.edge(Et)}),Mt.removeEdge(Et)}})}function Vr(Mt){var Et=de.buildLayerMatrix(Mt);m.forEach(Et,function(pe){var Ae=0;m.forEach(pe,function(Pe,Ut){var jt=Mt.node(Pe);jt.order=Ut+Ae,m.forEach(jt.selfEdges,function(ft){de.addDummyNode(Mt,"selfedge",{width:ft.label.width,height:ft.label.height,rank:jt.rank,order:Ut+ ++Ae,e:ft.e,label:ft.label},"_se")}),delete jt.selfEdges})})}function en(Mt){m.forEach(Mt.nodes(),function(Et){var pe=Mt.node(Et);if(pe.dummy==="selfedge"){var Ae=Mt.node(pe.e.v),Pe=Ae.x+Ae.width/2,Ut=Ae.y,jt=pe.x-Pe,ft=Ae.height/2;Mt.setEdge(pe.e,pe.label),Mt.removeNode(Et),pe.label.points=[{x:Pe+2*jt/3,y:Ut-ft},{x:Pe+5*jt/6,y:Ut-ft},{x:Pe+jt,y:Ut},{x:Pe+5*jt/6,y:Ut+ft},{x:Pe+2*jt/3,y:Ut+ft}],pe.label.x=pe.x,pe.label.y=pe.y}})}function ln(Mt,Et){return m.mapValues(m.pick(Mt,Et),Number)}function Cn(Mt){var Et={};return m.forEach(Mt,function(pe,Ae){Et[Ae.toLowerCase()]=pe}),Et}},72361:function(Be,Me,b){var m;try{m={cloneDeep:b(44187),constant:b(46221),defaults:b(34981),each:b(61475),filter:b(3130),find:b(48835),flatten:b(1332),forEach:b(47177),forIn:b(59946),has:b(64760),isUndefined:b(68408),last:b(47522),map:b(81426),mapValues:b(60032),max:b(18038),merge:b(55056),min:b(60169),minBy:b(13604),now:b(76308),pick:b(72333),range:b(69235),reduce:b(9695),sortBy:b(35020),uniqueId:b(69624),values:b(72834),zipObject:b(79261)}}catch(Z){}m||(m=window._),Be.exports=m},31733:function(Be,Me,b){var m=b(72361),Z=b(53063);Be.exports={run:V,cleanup:C};function V(P){var H=Z.addDummyNode(P,"root",{},"_root"),D=E(P),X=m.max(m.values(D))-1,j=2*X+1;P.graph().nestingRoot=H,m.forEach(P.edges(),function(he){P.edge(he).minlen*=j});var de=F(P)+1;m.forEach(P.children(),function(he){N(P,H,j,de,X,D,he)}),P.graph().nodeRankFactor=j}function N(P,H,D,X,j,de,he){var we=P.children(he);if(!we.length){he!==H&&P.setEdge(H,he,{weight:0,minlen:D});return}var ve=Z.addBorderNode(P,"_bt"),Ee=Z.addBorderNode(P,"_bb"),$e=P.node(he);P.setParent(ve,he),$e.borderTop=ve,P.setParent(Ee,he),$e.borderBottom=Ee,m.forEach(we,function(Fe){N(P,H,D,X,j,de,Fe);var ct=P.node(Fe),vt=ct.borderTop?ct.borderTop:Fe,at=ct.borderBottom?ct.borderBottom:Fe,kt=ct.borderTop?X:2*X,It=vt!==at?1:j-de[he]+1;P.setEdge(ve,vt,{weight:kt,minlen:It,nestingEdge:!0}),P.setEdge(at,Ee,{weight:kt,minlen:It,nestingEdge:!0})}),P.parent(he)||P.setEdge(H,ve,{weight:0,minlen:j+de[he]})}function E(P){var H={};function D(X,j){var de=P.children(X);de&&de.length&&m.forEach(de,function(he){D(he,j+1)}),H[X]=j}return m.forEach(P.children(),function(X){D(X,1)}),H}function F(P){return m.reduce(P.edges(),function(H,D){return H+P.edge(D).weight},0)}function C(P){var H=P.graph();P.removeNode(H.nestingRoot),delete H.nestingRoot,m.forEach(P.edges(),function(D){var X=P.edge(D);X.nestingEdge&&P.removeEdge(D)})}},27163:function(Be,Me,b){"use strict";var m=b(72361),Z=b(53063);Be.exports={run:V,undo:E};function V(F){F.graph().dummyChains=[],m.forEach(F.edges(),function(C){N(F,C)})}function N(F,C){var P=C.v,H=F.node(P).rank,D=C.w,X=F.node(D).rank,j=C.name,de=F.edge(C),he=de.labelRank;if(X!==H+1){F.removeEdge(C);var we,ve,Ee;for(Ee=0,++H;H0;)he%2&&(we+=X[he+1]),he=he-1>>1,X[he]+=de.weight;j+=de.weight*we})),j}},62852:function(Be,Me,b){"use strict";var m=b(72361),Z=b(18043),V=b(45456),N=b(86490),E=b(59105),F=b(52205),C=b(76626).Graph,P=b(53063);Be.exports=H;function H(de){var he=P.maxRank(de),we=D(de,m.range(1,he+1),"inEdges"),ve=D(de,m.range(he-1,-1,-1),"outEdges"),Ee=Z(de);j(de,Ee);for(var $e=Number.POSITIVE_INFINITY,Fe,ct=0,vt=0;vt<4;++ct,++vt){X(ct%2?we:ve,ct%4>=2),Ee=P.buildLayerMatrix(de);var at=V(de,Ee);at<$e&&(vt=0,Fe=m.cloneDeep(Ee),$e=at)}j(de,Fe)}function D(de,he,we){return m.map(he,function(ve){return E(de,ve,we)})}function X(de,he){var we=new C;m.forEach(de,function(ve){var Ee=ve.graph().root,$e=N(ve,Ee,we,he);m.forEach($e.vs,function(Fe,ct){ve.node(Fe).order=ct}),F(ve,we,$e.vs)})}function j(de,he){m.forEach(he,function(we){m.forEach(we,function(ve,Ee){de.node(ve).order=Ee})})}},18043:function(Be,Me,b){"use strict";var m=b(72361);Be.exports=Z;function Z(V){var N={},E=m.filter(V.nodes(),function(D){return!V.children(D).length}),F=m.max(m.map(E,function(D){return V.node(D).rank})),C=m.map(m.range(F+1),function(){return[]});function P(D){if(!m.has(N,D)){N[D]=!0;var X=V.node(D);C[X.rank].push(D),m.forEach(V.successors(D),P)}}var H=m.sortBy(E,function(D){return V.node(D).rank});return m.forEach(H,P),C}},45926:function(Be,Me,b){"use strict";var m=b(72361);Be.exports=Z;function Z(E,F){var C={};m.forEach(E,function(H,D){var X=C[H.v]={indegree:0,in:[],out:[],vs:[H.v],i:D};m.isUndefined(H.barycenter)||(X.barycenter=H.barycenter,X.weight=H.weight)}),m.forEach(F.edges(),function(H){var D=C[H.v],X=C[H.w];!m.isUndefined(D)&&!m.isUndefined(X)&&(X.indegree++,D.out.push(C[H.w]))});var P=m.filter(C,function(H){return!H.indegree});return V(P)}function V(E){var F=[];function C(D){return function(X){X.merged||(m.isUndefined(X.barycenter)||m.isUndefined(D.barycenter)||X.barycenter>=D.barycenter)&&N(D,X)}}function P(D){return function(X){X.in.push(D),--X.indegree===0&&E.push(X)}}for(;E.length;){var H=E.pop();F.push(H),m.forEach(H.in.reverse(),C(H)),m.forEach(H.out,P(H))}return m.map(m.filter(F,function(D){return!D.merged}),function(D){return m.pick(D,["vs","i","barycenter","weight"])})}function N(E,F){var C=0,P=0;E.weight&&(C+=E.barycenter*E.weight,P+=E.weight),F.weight&&(C+=F.barycenter*F.weight,P+=F.weight),E.vs=F.vs.concat(E.vs),E.barycenter=C/P,E.weight=P,E.i=Math.min(F.i,E.i),F.merged=!0}},86490:function(Be,Me,b){var m=b(72361),Z=b(99506),V=b(45926),N=b(1349);Be.exports=E;function E(P,H,D,X){var j=P.children(H),de=P.node(H),he=de?de.borderLeft:void 0,we=de?de.borderRight:void 0,ve={};he&&(j=m.filter(j,function(at){return at!==he&&at!==we}));var Ee=Z(P,j);m.forEach(Ee,function(at){if(P.children(at.v).length){var kt=E(P,at.v,D,X);ve[at.v]=kt,m.has(kt,"barycenter")&&C(at,kt)}});var $e=V(Ee,D);F($e,ve);var Fe=N($e,X);if(he&&(Fe.vs=m.flatten([he,Fe.vs,we],!0),P.predecessors(he).length)){var ct=P.node(P.predecessors(he)[0]),vt=P.node(P.predecessors(we)[0]);m.has(Fe,"barycenter")||(Fe.barycenter=0,Fe.weight=0),Fe.barycenter=(Fe.barycenter*Fe.weight+ct.order+vt.order)/(Fe.weight+2),Fe.weight+=2}return Fe}function F(P,H){m.forEach(P,function(D){D.vs=m.flatten(D.vs.map(function(X){return H[X]?H[X].vs:X}),!0)})}function C(P,H){m.isUndefined(P.barycenter)?(P.barycenter=H.barycenter,P.weight=H.weight):(P.barycenter=(P.barycenter*P.weight+H.barycenter*H.weight)/(P.weight+H.weight),P.weight+=H.weight)}},1349:function(Be,Me,b){var m=b(72361),Z=b(53063);Be.exports=V;function V(F,C){var P=Z.partition(F,function(ve){return m.has(ve,"barycenter")}),H=P.lhs,D=m.sortBy(P.rhs,function(ve){return-ve.i}),X=[],j=0,de=0,he=0;H.sort(E(!!C)),he=N(X,D,he),m.forEach(H,function(ve){he+=ve.vs.length,X.push(ve.vs),j+=ve.barycenter*ve.weight,de+=ve.weight,he=N(X,D,he)});var we={vs:m.flatten(X,!0)};return de&&(we.barycenter=j/de,we.weight=de),we}function N(F,C,P){for(var H;C.length&&(H=m.last(C)).i<=P;)C.pop(),F.push(H.vs),P++;return P}function E(F){return function(C,P){return C.barycenterP.barycenter?1:F?P.i-C.i:C.i-P.i}}},71970:function(Be,Me,b){var m=b(72361);Be.exports=Z;function Z(E){var F=N(E);m.forEach(E.graph().dummyChains,function(C){for(var P=E.node(C),H=P.edgeObj,D=V(E,F,H.v,H.w),X=D.path,j=D.lca,de=0,he=X[de],we=!0;C!==H.w;){if(P=E.node(C),we){for(;(he=X[de])!==j&&E.node(he).maxRankX||j>F[de].lim));for(he=de,de=P;(de=E.parent(de))!==he;)D.push(de);return{path:H.concat(D.reverse()),lca:he}}function N(E){var F={},C=0;function P(H){var D=C;m.forEach(E.children(H),P),F[H]={low:D,lim:C++}}return m.forEach(E.children(),P),F}},25515:function(Be,Me,b){"use strict";var m=b(72361),Z=b(76626).Graph,V=b(53063);Be.exports={positionX:we,findType1Conflicts:N,findType2Conflicts:E,addConflict:C,hasConflict:P,verticalAlignment:H,horizontalCompaction:D,alignCoordinates:de,findSmallestWidthAlignment:j,balance:he};function N($e,Fe){var ct={};function vt(at,kt){var It=0,Bn=0,Lt=at.length,Wn=m.last(kt);return m.forEach(kt,function(Xn,In){var zn=F($e,Xn),dr=zn?$e.node(zn).order:Lt;(zn||Xn===Wn)&&(m.forEach(kt.slice(Bn,In+1),function(vn){m.forEach($e.predecessors(vn),function(_r){var Ge=$e.node(_r),Tt=Ge.order;(TtWn)&&C(ct,zn,Xn)})})}function at(kt,It){var Bn=-1,Lt,Wn=0;return m.forEach(It,function(Xn,In){if($e.node(Xn).dummy==="border"){var zn=$e.predecessors(Xn);zn.length&&(Lt=$e.node(zn[0]).order,vt(It,Wn,In,Bn,Lt),Wn=In,Bn=Lt)}vt(It,Wn,It.length,Lt,kt.length)}),It}return m.reduce(Fe,at),ct}function F($e,Fe){if($e.node(Fe).dummy)return m.find($e.predecessors(Fe),function(ct){return $e.node(ct).dummy})}function C($e,Fe,ct){if(Fe>ct){var vt=Fe;Fe=ct,ct=vt}var at=$e[Fe];at||($e[Fe]=at={}),at[ct]=!0}function P($e,Fe,ct){if(Fe>ct){var vt=Fe;Fe=ct,ct=vt}return m.has($e[Fe],ct)}function H($e,Fe,ct,vt){var at={},kt={},It={};return m.forEach(Fe,function(Bn){m.forEach(Bn,function(Lt,Wn){at[Lt]=Lt,kt[Lt]=Lt,It[Lt]=Wn})}),m.forEach(Fe,function(Bn){var Lt=-1;m.forEach(Bn,function(Wn){var Xn=vt(Wn);if(Xn.length){Xn=m.sortBy(Xn,function(_r){return It[_r]});for(var In=(Xn.length-1)/2,zn=Math.floor(In),dr=Math.ceil(In);zn<=dr;++zn){var vn=Xn[zn];kt[Wn]===Wn&&LtLt.lim&&(Wn=Lt,Xn=!0);var In=m.filter(vt.edges(),function(zn){return Xn===Fe(ct,ct.node(zn.v),Wn)&&Xn!==Fe(ct,ct.node(zn.w),Wn)});return m.minBy(In,function(zn){return V(vt,zn)})}function ve(ct,vt,at,kt){var It=at.v,Bn=at.w;ct.removeEdge(It,Bn),ct.setEdge(kt.v,kt.w,{}),j(ct),H(ct,vt),Ee(ct,vt)}function Ee(ct,vt){var at=m.find(ct.nodes(),function(It){return!vt.node(It).parent}),kt=E(ct,at);kt=kt.slice(1),m.forEach(kt,function(It){var Bn=ct.node(It).parent,Lt=vt.edge(It,Bn),Wn=!1;Lt||(Lt=vt.edge(Bn,It),Wn=!0),vt.node(It).rank=vt.node(Bn).rank+(Wn?Lt.minlen:-Lt.minlen)})}function $e(ct,vt,at){return ct.hasEdge(vt,at)}function Fe(ct,vt,at){return at.low<=vt.lim&&vt.lim<=at.lim}},2416:function(Be,Me,b){"use strict";var m=b(72361);Be.exports={longestPath:Z,slack:V};function Z(N){var E={};function F(C){var P=N.node(C);if(m.has(E,C))return P.rank;E[C]=!0;var H=m.min(m.map(N.outEdges(C),function(D){return F(D.w)-N.edge(D).minlen}));return(H===Number.POSITIVE_INFINITY||H===void 0||H===null)&&(H=0),P.rank=H}m.forEach(N.sources(),F)}function V(N,E){return N.node(E.w).rank-N.node(E.v).rank-N.edge(E).minlen}},53063:function(Be,Me,b){"use strict";var m=b(72361),Z=b(76626).Graph;Be.exports={addDummyNode:V,simplify:N,asNonCompoundGraph:E,successorWeights:F,predecessorWeights:C,intersectRect:P,buildLayerMatrix:H,normalizeRanks:D,removeEmptyRanks:X,addBorderNode:j,maxRank:de,partition:he,time:we,notime:ve};function V(Ee,$e,Fe,ct){var vt;do vt=m.uniqueId(ct);while(Ee.hasNode(vt));return Fe.dummy=$e,Ee.setNode(vt,Fe),vt}function N(Ee){var $e=new Z().setGraph(Ee.graph());return m.forEach(Ee.nodes(),function(Fe){$e.setNode(Fe,Ee.node(Fe))}),m.forEach(Ee.edges(),function(Fe){var ct=$e.edge(Fe.v,Fe.w)||{weight:0,minlen:1},vt=Ee.edge(Fe);$e.setEdge(Fe.v,Fe.w,{weight:ct.weight+vt.weight,minlen:Math.max(ct.minlen,vt.minlen)})}),$e}function E(Ee){var $e=new Z({multigraph:Ee.isMultigraph()}).setGraph(Ee.graph());return m.forEach(Ee.nodes(),function(Fe){Ee.children(Fe).length||$e.setNode(Fe,Ee.node(Fe))}),m.forEach(Ee.edges(),function(Fe){$e.setEdge(Fe,Ee.edge(Fe))}),$e}function F(Ee){var $e=m.map(Ee.nodes(),function(Fe){var ct={};return m.forEach(Ee.outEdges(Fe),function(vt){ct[vt.w]=(ct[vt.w]||0)+Ee.edge(vt).weight}),ct});return m.zipObject(Ee.nodes(),$e)}function C(Ee){var $e=m.map(Ee.nodes(),function(Fe){var ct={};return m.forEach(Ee.inEdges(Fe),function(vt){ct[vt.v]=(ct[vt.v]||0)+Ee.edge(vt).weight}),ct});return m.zipObject(Ee.nodes(),$e)}function P(Ee,$e){var Fe=Ee.x,ct=Ee.y,vt=$e.x-Fe,at=$e.y-ct,kt=Ee.width/2,It=Ee.height/2;if(!vt&&!at)throw new Error("Not possible to find intersection inside of the rectangle");var Bn,Lt;return Math.abs(at)*kt>Math.abs(vt)*It?(at<0&&(It=-It),Bn=It*vt/at,Lt=It):(vt<0&&(kt=-kt),Bn=kt,Lt=kt*at/vt),{x:Fe+Bn,y:ct+Lt}}function H(Ee){var $e=m.map(m.range(de(Ee)+1),function(){return[]});return m.forEach(Ee.nodes(),function(Fe){var ct=Ee.node(Fe),vt=ct.rank;m.isUndefined(vt)||($e[vt][ct.order]=Fe)}),$e}function D(Ee){var $e=m.min(m.map(Ee.nodes(),function(Fe){return Ee.node(Fe).rank}));m.forEach(Ee.nodes(),function(Fe){var ct=Ee.node(Fe);m.has(ct,"rank")&&(ct.rank-=$e)})}function X(Ee){var $e=m.min(m.map(Ee.nodes(),function(at){return Ee.node(at).rank})),Fe=[];m.forEach(Ee.nodes(),function(at){var kt=Ee.node(at).rank-$e;Fe[kt]||(Fe[kt]=[]),Fe[kt].push(at)});var ct=0,vt=Ee.graph().nodeRankFactor;m.forEach(Fe,function(at,kt){m.isUndefined(at)&&kt%vt!==0?--ct:ct&&m.forEach(at,function(It){Ee.node(It).rank+=ct})})}function j(Ee,$e,Fe,ct){var vt={width:0,height:0};return arguments.length>=4&&(vt.rank=Fe,vt.order=ct),V(Ee,"border",vt,$e)}function de(Ee){return m.max(m.map(Ee.nodes(),function($e){var Fe=Ee.node($e).rank;if(!m.isUndefined(Fe))return Fe}))}function he(Ee,$e){var Fe={lhs:[],rhs:[]};return m.forEach(Ee,function(ct){$e(ct)?Fe.lhs.push(ct):Fe.rhs.push(ct)}),Fe}function we(Ee,$e){var Fe=m.now();try{return $e()}finally{console.log(Ee+" time: "+(m.now()-Fe)+"ms")}}function ve(Ee,$e){return $e()}},11897:function(Be){Be.exports="0.8.5"},94856:function(Be){"use strict";var Me=Object.prototype.hasOwnProperty,b="~";function m(){}Object.create&&(m.prototype=Object.create(null),new m().__proto__||(b=!1));function Z(F,C,P){this.fn=F,this.context=C,this.once=P||!1}function V(F,C,P,H,D){if(typeof P!="function")throw new TypeError("The listener must be a function");var X=new Z(P,H||F,D),j=b?b+C:C;return F._events[j]?F._events[j].fn?F._events[j]=[F._events[j],X]:F._events[j].push(X):(F._events[j]=X,F._eventsCount++),F}function N(F,C){--F._eventsCount===0?F._events=new m:delete F._events[C]}function E(){this._events=new m,this._eventsCount=0}E.prototype.eventNames=function(){var C=[],P,H;if(this._eventsCount===0)return C;for(H in P=this._events)Me.call(P,H)&&C.push(b?H.slice(1):H);return Object.getOwnPropertySymbols?C.concat(Object.getOwnPropertySymbols(P)):C},E.prototype.listeners=function(C){var P=b?b+C:C,H=this._events[P];if(!H)return[];if(H.fn)return[H.fn];for(var D=0,X=H.length,j=new Array(X);D=0?Math.round(j):j%.5===0?Math.floor(j):Math.round(j)}function F(j){Z=j}var C=Math.PI/180,P=180/Math.PI;function H(j){return j*C}function D(j){return j*P}function X(j,de){var he=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m;return Math.abs(j-de)<=he*Math.max(1,Math.abs(j),Math.abs(de))}},79111:function(Be,Me,b){"use strict";b.d(Me,{Ue:function(){return Z},al:function(){return F},xO:function(){return V}});var m=b(85551);function Z(){var Ge=new m.WT(9);return m.WT!=Float32Array&&(Ge[1]=0,Ge[2]=0,Ge[3]=0,Ge[5]=0,Ge[6]=0,Ge[7]=0),Ge[0]=1,Ge[4]=1,Ge[8]=1,Ge}function V(Ge,Tt){return Ge[0]=Tt[0],Ge[1]=Tt[1],Ge[2]=Tt[2],Ge[3]=Tt[4],Ge[4]=Tt[5],Ge[5]=Tt[6],Ge[6]=Tt[8],Ge[7]=Tt[9],Ge[8]=Tt[10],Ge}function N(Ge){var Tt=new glMatrix.ARRAY_TYPE(9);return Tt[0]=Ge[0],Tt[1]=Ge[1],Tt[2]=Ge[2],Tt[3]=Ge[3],Tt[4]=Ge[4],Tt[5]=Ge[5],Tt[6]=Ge[6],Tt[7]=Ge[7],Tt[8]=Ge[8],Tt}function E(Ge,Tt){return Ge[0]=Tt[0],Ge[1]=Tt[1],Ge[2]=Tt[2],Ge[3]=Tt[3],Ge[4]=Tt[4],Ge[5]=Tt[5],Ge[6]=Tt[6],Ge[7]=Tt[7],Ge[8]=Tt[8],Ge}function F(Ge,Tt,On,Vr,en,ln,Cn,Mt,Et){var pe=new m.WT(9);return pe[0]=Ge,pe[1]=Tt,pe[2]=On,pe[3]=Vr,pe[4]=en,pe[5]=ln,pe[6]=Cn,pe[7]=Mt,pe[8]=Et,pe}function C(Ge,Tt,On,Vr,en,ln,Cn,Mt,Et,pe){return Ge[0]=Tt,Ge[1]=On,Ge[2]=Vr,Ge[3]=en,Ge[4]=ln,Ge[5]=Cn,Ge[6]=Mt,Ge[7]=Et,Ge[8]=pe,Ge}function P(Ge){return Ge[0]=1,Ge[1]=0,Ge[2]=0,Ge[3]=0,Ge[4]=1,Ge[5]=0,Ge[6]=0,Ge[7]=0,Ge[8]=1,Ge}function H(Ge,Tt){if(Ge===Tt){var On=Tt[1],Vr=Tt[2],en=Tt[5];Ge[1]=Tt[3],Ge[2]=Tt[6],Ge[3]=On,Ge[5]=Tt[7],Ge[6]=Vr,Ge[7]=en}else Ge[0]=Tt[0],Ge[1]=Tt[3],Ge[2]=Tt[6],Ge[3]=Tt[1],Ge[4]=Tt[4],Ge[5]=Tt[7],Ge[6]=Tt[2],Ge[7]=Tt[5],Ge[8]=Tt[8];return Ge}function D(Ge,Tt){var On=Tt[0],Vr=Tt[1],en=Tt[2],ln=Tt[3],Cn=Tt[4],Mt=Tt[5],Et=Tt[6],pe=Tt[7],Ae=Tt[8],Pe=Ae*Cn-Mt*pe,Ut=-Ae*ln+Mt*Et,jt=pe*ln-Cn*Et,ft=On*Pe+Vr*Ut+en*jt;return ft?(ft=1/ft,Ge[0]=Pe*ft,Ge[1]=(-Ae*Vr+en*pe)*ft,Ge[2]=(Mt*Vr-en*Cn)*ft,Ge[3]=Ut*ft,Ge[4]=(Ae*On-en*Et)*ft,Ge[5]=(-Mt*On+en*ln)*ft,Ge[6]=jt*ft,Ge[7]=(-pe*On+Vr*Et)*ft,Ge[8]=(Cn*On-Vr*ln)*ft,Ge):null}function X(Ge,Tt){var On=Tt[0],Vr=Tt[1],en=Tt[2],ln=Tt[3],Cn=Tt[4],Mt=Tt[5],Et=Tt[6],pe=Tt[7],Ae=Tt[8];return Ge[0]=Cn*Ae-Mt*pe,Ge[1]=en*pe-Vr*Ae,Ge[2]=Vr*Mt-en*Cn,Ge[3]=Mt*Et-ln*Ae,Ge[4]=On*Ae-en*Et,Ge[5]=en*ln-On*Mt,Ge[6]=ln*pe-Cn*Et,Ge[7]=Vr*Et-On*pe,Ge[8]=On*Cn-Vr*ln,Ge}function j(Ge){var Tt=Ge[0],On=Ge[1],Vr=Ge[2],en=Ge[3],ln=Ge[4],Cn=Ge[5],Mt=Ge[6],Et=Ge[7],pe=Ge[8];return Tt*(pe*ln-Cn*Et)+On*(-pe*en+Cn*Mt)+Vr*(Et*en-ln*Mt)}function de(Ge,Tt,On){var Vr=Tt[0],en=Tt[1],ln=Tt[2],Cn=Tt[3],Mt=Tt[4],Et=Tt[5],pe=Tt[6],Ae=Tt[7],Pe=Tt[8],Ut=On[0],jt=On[1],ft=On[2],on=On[3],hn=On[4],lt=On[5],Ct=On[6],sn=On[7],W=On[8];return Ge[0]=Ut*Vr+jt*Cn+ft*pe,Ge[1]=Ut*en+jt*Mt+ft*Ae,Ge[2]=Ut*ln+jt*Et+ft*Pe,Ge[3]=on*Vr+hn*Cn+lt*pe,Ge[4]=on*en+hn*Mt+lt*Ae,Ge[5]=on*ln+hn*Et+lt*Pe,Ge[6]=Ct*Vr+sn*Cn+W*pe,Ge[7]=Ct*en+sn*Mt+W*Ae,Ge[8]=Ct*ln+sn*Et+W*Pe,Ge}function he(Ge,Tt,On){var Vr=Tt[0],en=Tt[1],ln=Tt[2],Cn=Tt[3],Mt=Tt[4],Et=Tt[5],pe=Tt[6],Ae=Tt[7],Pe=Tt[8],Ut=On[0],jt=On[1];return Ge[0]=Vr,Ge[1]=en,Ge[2]=ln,Ge[3]=Cn,Ge[4]=Mt,Ge[5]=Et,Ge[6]=Ut*Vr+jt*Cn+pe,Ge[7]=Ut*en+jt*Mt+Ae,Ge[8]=Ut*ln+jt*Et+Pe,Ge}function we(Ge,Tt,On){var Vr=Tt[0],en=Tt[1],ln=Tt[2],Cn=Tt[3],Mt=Tt[4],Et=Tt[5],pe=Tt[6],Ae=Tt[7],Pe=Tt[8],Ut=Math.sin(On),jt=Math.cos(On);return Ge[0]=jt*Vr+Ut*Cn,Ge[1]=jt*en+Ut*Mt,Ge[2]=jt*ln+Ut*Et,Ge[3]=jt*Cn-Ut*Vr,Ge[4]=jt*Mt-Ut*en,Ge[5]=jt*Et-Ut*ln,Ge[6]=pe,Ge[7]=Ae,Ge[8]=Pe,Ge}function ve(Ge,Tt,On){var Vr=On[0],en=On[1];return Ge[0]=Vr*Tt[0],Ge[1]=Vr*Tt[1],Ge[2]=Vr*Tt[2],Ge[3]=en*Tt[3],Ge[4]=en*Tt[4],Ge[5]=en*Tt[5],Ge[6]=Tt[6],Ge[7]=Tt[7],Ge[8]=Tt[8],Ge}function Ee(Ge,Tt){return Ge[0]=1,Ge[1]=0,Ge[2]=0,Ge[3]=0,Ge[4]=1,Ge[5]=0,Ge[6]=Tt[0],Ge[7]=Tt[1],Ge[8]=1,Ge}function $e(Ge,Tt){var On=Math.sin(Tt),Vr=Math.cos(Tt);return Ge[0]=Vr,Ge[1]=On,Ge[2]=0,Ge[3]=-On,Ge[4]=Vr,Ge[5]=0,Ge[6]=0,Ge[7]=0,Ge[8]=1,Ge}function Fe(Ge,Tt){return Ge[0]=Tt[0],Ge[1]=0,Ge[2]=0,Ge[3]=0,Ge[4]=Tt[1],Ge[5]=0,Ge[6]=0,Ge[7]=0,Ge[8]=1,Ge}function ct(Ge,Tt){return Ge[0]=Tt[0],Ge[1]=Tt[1],Ge[2]=0,Ge[3]=Tt[2],Ge[4]=Tt[3],Ge[5]=0,Ge[6]=Tt[4],Ge[7]=Tt[5],Ge[8]=1,Ge}function vt(Ge,Tt){var On=Tt[0],Vr=Tt[1],en=Tt[2],ln=Tt[3],Cn=On+On,Mt=Vr+Vr,Et=en+en,pe=On*Cn,Ae=Vr*Cn,Pe=Vr*Mt,Ut=en*Cn,jt=en*Mt,ft=en*Et,on=ln*Cn,hn=ln*Mt,lt=ln*Et;return Ge[0]=1-Pe-ft,Ge[3]=Ae-lt,Ge[6]=Ut+hn,Ge[1]=Ae+lt,Ge[4]=1-pe-ft,Ge[7]=jt-on,Ge[2]=Ut-hn,Ge[5]=jt+on,Ge[8]=1-pe-Pe,Ge}function at(Ge,Tt){var On=Tt[0],Vr=Tt[1],en=Tt[2],ln=Tt[3],Cn=Tt[4],Mt=Tt[5],Et=Tt[6],pe=Tt[7],Ae=Tt[8],Pe=Tt[9],Ut=Tt[10],jt=Tt[11],ft=Tt[12],on=Tt[13],hn=Tt[14],lt=Tt[15],Ct=On*Mt-Vr*Cn,sn=On*Et-en*Cn,W=On*pe-ln*Cn,Se=Vr*Et-en*Mt,Ht=Vr*pe-ln*Mt,zt=en*pe-ln*Et,Fn=Ae*on-Pe*ft,Tn=Ae*hn-Ut*ft,lr=Ae*lt-jt*ft,je=Pe*hn-Ut*on,be=Pe*lt-jt*on,it=Ut*lt-jt*hn,wt=Ct*it-sn*be+W*je+Se*lr-Ht*Tn+zt*Fn;return wt?(wt=1/wt,Ge[0]=(Mt*it-Et*be+pe*je)*wt,Ge[1]=(Et*lr-Cn*it-pe*Tn)*wt,Ge[2]=(Cn*be-Mt*lr+pe*Fn)*wt,Ge[3]=(en*be-Vr*it-ln*je)*wt,Ge[4]=(On*it-en*lr+ln*Tn)*wt,Ge[5]=(Vr*lr-On*be-ln*Fn)*wt,Ge[6]=(on*zt-hn*Ht+lt*Se)*wt,Ge[7]=(hn*W-ft*zt-lt*sn)*wt,Ge[8]=(ft*Ht-on*W+lt*Ct)*wt,Ge):null}function kt(Ge,Tt,On){return Ge[0]=2/Tt,Ge[1]=0,Ge[2]=0,Ge[3]=0,Ge[4]=-2/On,Ge[5]=0,Ge[6]=-1,Ge[7]=1,Ge[8]=1,Ge}function It(Ge){return"mat3("+Ge[0]+", "+Ge[1]+", "+Ge[2]+", "+Ge[3]+", "+Ge[4]+", "+Ge[5]+", "+Ge[6]+", "+Ge[7]+", "+Ge[8]+")"}function Bn(Ge){return Math.sqrt(Ge[0]*Ge[0]+Ge[1]*Ge[1]+Ge[2]*Ge[2]+Ge[3]*Ge[3]+Ge[4]*Ge[4]+Ge[5]*Ge[5]+Ge[6]*Ge[6]+Ge[7]*Ge[7]+Ge[8]*Ge[8])}function Lt(Ge,Tt,On){return Ge[0]=Tt[0]+On[0],Ge[1]=Tt[1]+On[1],Ge[2]=Tt[2]+On[2],Ge[3]=Tt[3]+On[3],Ge[4]=Tt[4]+On[4],Ge[5]=Tt[5]+On[5],Ge[6]=Tt[6]+On[6],Ge[7]=Tt[7]+On[7],Ge[8]=Tt[8]+On[8],Ge}function Wn(Ge,Tt,On){return Ge[0]=Tt[0]-On[0],Ge[1]=Tt[1]-On[1],Ge[2]=Tt[2]-On[2],Ge[3]=Tt[3]-On[3],Ge[4]=Tt[4]-On[4],Ge[5]=Tt[5]-On[5],Ge[6]=Tt[6]-On[6],Ge[7]=Tt[7]-On[7],Ge[8]=Tt[8]-On[8],Ge}function Xn(Ge,Tt,On){return Ge[0]=Tt[0]*On,Ge[1]=Tt[1]*On,Ge[2]=Tt[2]*On,Ge[3]=Tt[3]*On,Ge[4]=Tt[4]*On,Ge[5]=Tt[5]*On,Ge[6]=Tt[6]*On,Ge[7]=Tt[7]*On,Ge[8]=Tt[8]*On,Ge}function In(Ge,Tt,On,Vr){return Ge[0]=Tt[0]+On[0]*Vr,Ge[1]=Tt[1]+On[1]*Vr,Ge[2]=Tt[2]+On[2]*Vr,Ge[3]=Tt[3]+On[3]*Vr,Ge[4]=Tt[4]+On[4]*Vr,Ge[5]=Tt[5]+On[5]*Vr,Ge[6]=Tt[6]+On[6]*Vr,Ge[7]=Tt[7]+On[7]*Vr,Ge[8]=Tt[8]+On[8]*Vr,Ge}function zn(Ge,Tt){return Ge[0]===Tt[0]&&Ge[1]===Tt[1]&&Ge[2]===Tt[2]&&Ge[3]===Tt[3]&&Ge[4]===Tt[4]&&Ge[5]===Tt[5]&&Ge[6]===Tt[6]&&Ge[7]===Tt[7]&&Ge[8]===Tt[8]}function dr(Ge,Tt){var On=Ge[0],Vr=Ge[1],en=Ge[2],ln=Ge[3],Cn=Ge[4],Mt=Ge[5],Et=Ge[6],pe=Ge[7],Ae=Ge[8],Pe=Tt[0],Ut=Tt[1],jt=Tt[2],ft=Tt[3],on=Tt[4],hn=Tt[5],lt=Tt[6],Ct=Tt[7],sn=Tt[8];return Math.abs(On-Pe)<=glMatrix.EPSILON*Math.max(1,Math.abs(On),Math.abs(Pe))&&Math.abs(Vr-Ut)<=glMatrix.EPSILON*Math.max(1,Math.abs(Vr),Math.abs(Ut))&&Math.abs(en-jt)<=glMatrix.EPSILON*Math.max(1,Math.abs(en),Math.abs(jt))&&Math.abs(ln-ft)<=glMatrix.EPSILON*Math.max(1,Math.abs(ln),Math.abs(ft))&&Math.abs(Cn-on)<=glMatrix.EPSILON*Math.max(1,Math.abs(Cn),Math.abs(on))&&Math.abs(Mt-hn)<=glMatrix.EPSILON*Math.max(1,Math.abs(Mt),Math.abs(hn))&&Math.abs(Et-lt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Et),Math.abs(lt))&&Math.abs(pe-Ct)<=glMatrix.EPSILON*Math.max(1,Math.abs(pe),Math.abs(Ct))&&Math.abs(Ae-sn)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ae),Math.abs(sn))}var vn=null,_r=null},60187:function(Be,Me,b){"use strict";b.r(Me),b.d(Me,{add:function(){return Ut},adjoint:function(){return D},clone:function(){return V},copy:function(){return N},create:function(){return Z},decompose:function(){return zn},determinant:function(){return X},equals:function(){return lt},exactEquals:function(){return hn},frob:function(){return Pe},fromQuat:function(){return _r},fromQuat2:function(){return Lt},fromRotation:function(){return vt},fromRotationTranslation:function(){return Bn},fromRotationTranslationScale:function(){return dr},fromRotationTranslationScaleOrigin:function(){return vn},fromScaling:function(){return ct},fromTranslation:function(){return Fe},fromValues:function(){return E},fromXRotation:function(){return at},fromYRotation:function(){return kt},fromZRotation:function(){return It},frustum:function(){return Ge},getRotation:function(){return In},getScaling:function(){return Xn},getTranslation:function(){return Wn},identity:function(){return C},invert:function(){return H},lookAt:function(){return Et},mul:function(){return Ct},multiply:function(){return j},multiplyScalar:function(){return ft},multiplyScalarAndAdd:function(){return on},ortho:function(){return Cn},orthoNO:function(){return ln},orthoZO:function(){return Mt},perspective:function(){return On},perspectiveFromFieldOfView:function(){return en},perspectiveNO:function(){return Tt},perspectiveZO:function(){return Vr},rotate:function(){return we},rotateX:function(){return ve},rotateY:function(){return Ee},rotateZ:function(){return $e},scale:function(){return he},set:function(){return F},str:function(){return Ae},sub:function(){return sn},subtract:function(){return jt},targetTo:function(){return pe},translate:function(){return de},transpose:function(){return P}});var m=b(85551);function Z(){var W=new m.WT(16);return m.WT!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[11]=0,W[12]=0,W[13]=0,W[14]=0),W[0]=1,W[5]=1,W[10]=1,W[15]=1,W}function V(W){var Se=new m.WT(16);return Se[0]=W[0],Se[1]=W[1],Se[2]=W[2],Se[3]=W[3],Se[4]=W[4],Se[5]=W[5],Se[6]=W[6],Se[7]=W[7],Se[8]=W[8],Se[9]=W[9],Se[10]=W[10],Se[11]=W[11],Se[12]=W[12],Se[13]=W[13],Se[14]=W[14],Se[15]=W[15],Se}function N(W,Se){return W[0]=Se[0],W[1]=Se[1],W[2]=Se[2],W[3]=Se[3],W[4]=Se[4],W[5]=Se[5],W[6]=Se[6],W[7]=Se[7],W[8]=Se[8],W[9]=Se[9],W[10]=Se[10],W[11]=Se[11],W[12]=Se[12],W[13]=Se[13],W[14]=Se[14],W[15]=Se[15],W}function E(W,Se,Ht,zt,Fn,Tn,lr,je,be,it,wt,ot,ut,_t,$t,Vt){var Qt=new m.WT(16);return Qt[0]=W,Qt[1]=Se,Qt[2]=Ht,Qt[3]=zt,Qt[4]=Fn,Qt[5]=Tn,Qt[6]=lr,Qt[7]=je,Qt[8]=be,Qt[9]=it,Qt[10]=wt,Qt[11]=ot,Qt[12]=ut,Qt[13]=_t,Qt[14]=$t,Qt[15]=Vt,Qt}function F(W,Se,Ht,zt,Fn,Tn,lr,je,be,it,wt,ot,ut,_t,$t,Vt,Qt){return W[0]=Se,W[1]=Ht,W[2]=zt,W[3]=Fn,W[4]=Tn,W[5]=lr,W[6]=je,W[7]=be,W[8]=it,W[9]=wt,W[10]=ot,W[11]=ut,W[12]=_t,W[13]=$t,W[14]=Vt,W[15]=Qt,W}function C(W){return W[0]=1,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=1,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[10]=1,W[11]=0,W[12]=0,W[13]=0,W[14]=0,W[15]=1,W}function P(W,Se){if(W===Se){var Ht=Se[1],zt=Se[2],Fn=Se[3],Tn=Se[6],lr=Se[7],je=Se[11];W[1]=Se[4],W[2]=Se[8],W[3]=Se[12],W[4]=Ht,W[6]=Se[9],W[7]=Se[13],W[8]=zt,W[9]=Tn,W[11]=Se[14],W[12]=Fn,W[13]=lr,W[14]=je}else W[0]=Se[0],W[1]=Se[4],W[2]=Se[8],W[3]=Se[12],W[4]=Se[1],W[5]=Se[5],W[6]=Se[9],W[7]=Se[13],W[8]=Se[2],W[9]=Se[6],W[10]=Se[10],W[11]=Se[14],W[12]=Se[3],W[13]=Se[7],W[14]=Se[11],W[15]=Se[15];return W}function H(W,Se){var Ht=Se[0],zt=Se[1],Fn=Se[2],Tn=Se[3],lr=Se[4],je=Se[5],be=Se[6],it=Se[7],wt=Se[8],ot=Se[9],ut=Se[10],_t=Se[11],$t=Se[12],Vt=Se[13],Qt=Se[14],cn=Se[15],Yn=Ht*je-zt*lr,qn=Ht*be-Fn*lr,Sr=Ht*it-Tn*lr,Jr=zt*be-Fn*je,vr=zt*it-Tn*je,Ki=Fn*it-Tn*be,Mi=wt*Vt-ot*$t,yi=wt*Qt-ut*$t,qr=wt*cn-_t*$t,es=ot*Qt-ut*Vt,Ci=ot*cn-_t*Vt,En=ut*cn-_t*Qt,rn=Yn*En-qn*Ci+Sr*es+Jr*qr-vr*yi+Ki*Mi;return rn?(rn=1/rn,W[0]=(je*En-be*Ci+it*es)*rn,W[1]=(Fn*Ci-zt*En-Tn*es)*rn,W[2]=(Vt*Ki-Qt*vr+cn*Jr)*rn,W[3]=(ut*vr-ot*Ki-_t*Jr)*rn,W[4]=(be*qr-lr*En-it*yi)*rn,W[5]=(Ht*En-Fn*qr+Tn*yi)*rn,W[6]=(Qt*Sr-$t*Ki-cn*qn)*rn,W[7]=(wt*Ki-ut*Sr+_t*qn)*rn,W[8]=(lr*Ci-je*qr+it*Mi)*rn,W[9]=(zt*qr-Ht*Ci-Tn*Mi)*rn,W[10]=($t*vr-Vt*Sr+cn*Yn)*rn,W[11]=(ot*Sr-wt*vr-_t*Yn)*rn,W[12]=(je*yi-lr*es-be*Mi)*rn,W[13]=(Ht*es-zt*yi+Fn*Mi)*rn,W[14]=(Vt*qn-$t*Jr-Qt*Yn)*rn,W[15]=(wt*Jr-ot*qn+ut*Yn)*rn,W):null}function D(W,Se){var Ht=Se[0],zt=Se[1],Fn=Se[2],Tn=Se[3],lr=Se[4],je=Se[5],be=Se[6],it=Se[7],wt=Se[8],ot=Se[9],ut=Se[10],_t=Se[11],$t=Se[12],Vt=Se[13],Qt=Se[14],cn=Se[15],Yn=Ht*je-zt*lr,qn=Ht*be-Fn*lr,Sr=Ht*it-Tn*lr,Jr=zt*be-Fn*je,vr=zt*it-Tn*je,Ki=Fn*it-Tn*be,Mi=wt*Vt-ot*$t,yi=wt*Qt-ut*$t,qr=wt*cn-_t*$t,es=ot*Qt-ut*Vt,Ci=ot*cn-_t*Vt,En=ut*cn-_t*Qt;return W[0]=je*En-be*Ci+it*es,W[1]=Fn*Ci-zt*En-Tn*es,W[2]=Vt*Ki-Qt*vr+cn*Jr,W[3]=ut*vr-ot*Ki-_t*Jr,W[4]=be*qr-lr*En-it*yi,W[5]=Ht*En-Fn*qr+Tn*yi,W[6]=Qt*Sr-$t*Ki-cn*qn,W[7]=wt*Ki-ut*Sr+_t*qn,W[8]=lr*Ci-je*qr+it*Mi,W[9]=zt*qr-Ht*Ci-Tn*Mi,W[10]=$t*vr-Vt*Sr+cn*Yn,W[11]=ot*Sr-wt*vr-_t*Yn,W[12]=je*yi-lr*es-be*Mi,W[13]=Ht*es-zt*yi+Fn*Mi,W[14]=Vt*qn-$t*Jr-Qt*Yn,W[15]=wt*Jr-ot*qn+ut*Yn,W}function X(W){var Se=W[0],Ht=W[1],zt=W[2],Fn=W[3],Tn=W[4],lr=W[5],je=W[6],be=W[7],it=W[8],wt=W[9],ot=W[10],ut=W[11],_t=W[12],$t=W[13],Vt=W[14],Qt=W[15],cn=Se*lr-Ht*Tn,Yn=Se*je-zt*Tn,qn=Ht*je-zt*lr,Sr=it*$t-wt*_t,Jr=it*Vt-ot*_t,vr=wt*Vt-ot*$t,Ki=Se*vr-Ht*Jr+zt*Sr,Mi=Tn*vr-lr*Jr+je*Sr,yi=it*qn-wt*Yn+ot*cn,qr=_t*qn-$t*Yn+Vt*cn;return be*Ki-Fn*Mi+Qt*yi-ut*qr}function j(W,Se,Ht){var zt=Se[0],Fn=Se[1],Tn=Se[2],lr=Se[3],je=Se[4],be=Se[5],it=Se[6],wt=Se[7],ot=Se[8],ut=Se[9],_t=Se[10],$t=Se[11],Vt=Se[12],Qt=Se[13],cn=Se[14],Yn=Se[15],qn=Ht[0],Sr=Ht[1],Jr=Ht[2],vr=Ht[3];return W[0]=qn*zt+Sr*je+Jr*ot+vr*Vt,W[1]=qn*Fn+Sr*be+Jr*ut+vr*Qt,W[2]=qn*Tn+Sr*it+Jr*_t+vr*cn,W[3]=qn*lr+Sr*wt+Jr*$t+vr*Yn,qn=Ht[4],Sr=Ht[5],Jr=Ht[6],vr=Ht[7],W[4]=qn*zt+Sr*je+Jr*ot+vr*Vt,W[5]=qn*Fn+Sr*be+Jr*ut+vr*Qt,W[6]=qn*Tn+Sr*it+Jr*_t+vr*cn,W[7]=qn*lr+Sr*wt+Jr*$t+vr*Yn,qn=Ht[8],Sr=Ht[9],Jr=Ht[10],vr=Ht[11],W[8]=qn*zt+Sr*je+Jr*ot+vr*Vt,W[9]=qn*Fn+Sr*be+Jr*ut+vr*Qt,W[10]=qn*Tn+Sr*it+Jr*_t+vr*cn,W[11]=qn*lr+Sr*wt+Jr*$t+vr*Yn,qn=Ht[12],Sr=Ht[13],Jr=Ht[14],vr=Ht[15],W[12]=qn*zt+Sr*je+Jr*ot+vr*Vt,W[13]=qn*Fn+Sr*be+Jr*ut+vr*Qt,W[14]=qn*Tn+Sr*it+Jr*_t+vr*cn,W[15]=qn*lr+Sr*wt+Jr*$t+vr*Yn,W}function de(W,Se,Ht){var zt=Ht[0],Fn=Ht[1],Tn=Ht[2],lr,je,be,it,wt,ot,ut,_t,$t,Vt,Qt,cn;return Se===W?(W[12]=Se[0]*zt+Se[4]*Fn+Se[8]*Tn+Se[12],W[13]=Se[1]*zt+Se[5]*Fn+Se[9]*Tn+Se[13],W[14]=Se[2]*zt+Se[6]*Fn+Se[10]*Tn+Se[14],W[15]=Se[3]*zt+Se[7]*Fn+Se[11]*Tn+Se[15]):(lr=Se[0],je=Se[1],be=Se[2],it=Se[3],wt=Se[4],ot=Se[5],ut=Se[6],_t=Se[7],$t=Se[8],Vt=Se[9],Qt=Se[10],cn=Se[11],W[0]=lr,W[1]=je,W[2]=be,W[3]=it,W[4]=wt,W[5]=ot,W[6]=ut,W[7]=_t,W[8]=$t,W[9]=Vt,W[10]=Qt,W[11]=cn,W[12]=lr*zt+wt*Fn+$t*Tn+Se[12],W[13]=je*zt+ot*Fn+Vt*Tn+Se[13],W[14]=be*zt+ut*Fn+Qt*Tn+Se[14],W[15]=it*zt+_t*Fn+cn*Tn+Se[15]),W}function he(W,Se,Ht){var zt=Ht[0],Fn=Ht[1],Tn=Ht[2];return W[0]=Se[0]*zt,W[1]=Se[1]*zt,W[2]=Se[2]*zt,W[3]=Se[3]*zt,W[4]=Se[4]*Fn,W[5]=Se[5]*Fn,W[6]=Se[6]*Fn,W[7]=Se[7]*Fn,W[8]=Se[8]*Tn,W[9]=Se[9]*Tn,W[10]=Se[10]*Tn,W[11]=Se[11]*Tn,W[12]=Se[12],W[13]=Se[13],W[14]=Se[14],W[15]=Se[15],W}function we(W,Se,Ht,zt){var Fn=zt[0],Tn=zt[1],lr=zt[2],je=Math.sqrt(Fn*Fn+Tn*Tn+lr*lr),be,it,wt,ot,ut,_t,$t,Vt,Qt,cn,Yn,qn,Sr,Jr,vr,Ki,Mi,yi,qr,es,Ci,En,rn,Xt;return je0?(Ht[0]=(je*lr+wt*zt+be*Tn-it*Fn)*2/ot,Ht[1]=(be*lr+wt*Fn+it*zt-je*Tn)*2/ot,Ht[2]=(it*lr+wt*Tn+je*Fn-be*zt)*2/ot):(Ht[0]=(je*lr+wt*zt+be*Tn-it*Fn)*2,Ht[1]=(be*lr+wt*Fn+it*zt-je*Tn)*2,Ht[2]=(it*lr+wt*Tn+je*Fn-be*zt)*2),Bn(W,Se,Ht),W}function Wn(W,Se){return W[0]=Se[12],W[1]=Se[13],W[2]=Se[14],W}function Xn(W,Se){var Ht=Se[0],zt=Se[1],Fn=Se[2],Tn=Se[4],lr=Se[5],je=Se[6],be=Se[8],it=Se[9],wt=Se[10];return W[0]=Math.sqrt(Ht*Ht+zt*zt+Fn*Fn),W[1]=Math.sqrt(Tn*Tn+lr*lr+je*je),W[2]=Math.sqrt(be*be+it*it+wt*wt),W}function In(W,Se){var Ht=new m.WT(3);Xn(Ht,Se);var zt=1/Ht[0],Fn=1/Ht[1],Tn=1/Ht[2],lr=Se[0]*zt,je=Se[1]*Fn,be=Se[2]*Tn,it=Se[4]*zt,wt=Se[5]*Fn,ot=Se[6]*Tn,ut=Se[8]*zt,_t=Se[9]*Fn,$t=Se[10]*Tn,Vt=lr+wt+$t,Qt=0;return Vt>0?(Qt=Math.sqrt(Vt+1)*2,W[3]=.25*Qt,W[0]=(ot-_t)/Qt,W[1]=(ut-be)/Qt,W[2]=(je-it)/Qt):lr>wt&&lr>$t?(Qt=Math.sqrt(1+lr-wt-$t)*2,W[3]=(ot-_t)/Qt,W[0]=.25*Qt,W[1]=(je+it)/Qt,W[2]=(ut+be)/Qt):wt>$t?(Qt=Math.sqrt(1+wt-lr-$t)*2,W[3]=(ut-be)/Qt,W[0]=(je+it)/Qt,W[1]=.25*Qt,W[2]=(ot+_t)/Qt):(Qt=Math.sqrt(1+$t-lr-wt)*2,W[3]=(je-it)/Qt,W[0]=(ut+be)/Qt,W[1]=(ot+_t)/Qt,W[2]=.25*Qt),W}function zn(W,Se,Ht,zt){Se[0]=zt[12],Se[1]=zt[13],Se[2]=zt[14];var Fn=zt[0],Tn=zt[1],lr=zt[2],je=zt[4],be=zt[5],it=zt[6],wt=zt[8],ot=zt[9],ut=zt[10];Ht[0]=Math.sqrt(Fn*Fn+Tn*Tn+lr*lr),Ht[1]=Math.sqrt(je*je+be*be+it*it),Ht[2]=Math.sqrt(wt*wt+ot*ot+ut*ut);var _t=1/Ht[0],$t=1/Ht[1],Vt=1/Ht[2],Qt=Fn*_t,cn=Tn*$t,Yn=lr*Vt,qn=je*_t,Sr=be*$t,Jr=it*Vt,vr=wt*_t,Ki=ot*$t,Mi=ut*Vt,yi=Qt+Sr+Mi,qr=0;return yi>0?(qr=Math.sqrt(yi+1)*2,W[3]=.25*qr,W[0]=(Jr-Ki)/qr,W[1]=(vr-Yn)/qr,W[2]=(cn-qn)/qr):Qt>Sr&&Qt>Mi?(qr=Math.sqrt(1+Qt-Sr-Mi)*2,W[3]=(Jr-Ki)/qr,W[0]=.25*qr,W[1]=(cn+qn)/qr,W[2]=(vr+Yn)/qr):Sr>Mi?(qr=Math.sqrt(1+Sr-Qt-Mi)*2,W[3]=(vr-Yn)/qr,W[0]=(cn+qn)/qr,W[1]=.25*qr,W[2]=(Jr+Ki)/qr):(qr=Math.sqrt(1+Mi-Qt-Sr)*2,W[3]=(cn-qn)/qr,W[0]=(vr+Yn)/qr,W[1]=(Jr+Ki)/qr,W[2]=.25*qr),W}function dr(W,Se,Ht,zt){var Fn=Se[0],Tn=Se[1],lr=Se[2],je=Se[3],be=Fn+Fn,it=Tn+Tn,wt=lr+lr,ot=Fn*be,ut=Fn*it,_t=Fn*wt,$t=Tn*it,Vt=Tn*wt,Qt=lr*wt,cn=je*be,Yn=je*it,qn=je*wt,Sr=zt[0],Jr=zt[1],vr=zt[2];return W[0]=(1-($t+Qt))*Sr,W[1]=(ut+qn)*Sr,W[2]=(_t-Yn)*Sr,W[3]=0,W[4]=(ut-qn)*Jr,W[5]=(1-(ot+Qt))*Jr,W[6]=(Vt+cn)*Jr,W[7]=0,W[8]=(_t+Yn)*vr,W[9]=(Vt-cn)*vr,W[10]=(1-(ot+$t))*vr,W[11]=0,W[12]=Ht[0],W[13]=Ht[1],W[14]=Ht[2],W[15]=1,W}function vn(W,Se,Ht,zt,Fn){var Tn=Se[0],lr=Se[1],je=Se[2],be=Se[3],it=Tn+Tn,wt=lr+lr,ot=je+je,ut=Tn*it,_t=Tn*wt,$t=Tn*ot,Vt=lr*wt,Qt=lr*ot,cn=je*ot,Yn=be*it,qn=be*wt,Sr=be*ot,Jr=zt[0],vr=zt[1],Ki=zt[2],Mi=Fn[0],yi=Fn[1],qr=Fn[2],es=(1-(Vt+cn))*Jr,Ci=(_t+Sr)*Jr,En=($t-qn)*Jr,rn=(_t-Sr)*vr,Xt=(1-(ut+cn))*vr,st=(Qt+Yn)*vr,dt=($t+qn)*Ki,Wt=(Qt-Yn)*Ki,bn=(1-(ut+Vt))*Ki;return W[0]=es,W[1]=Ci,W[2]=En,W[3]=0,W[4]=rn,W[5]=Xt,W[6]=st,W[7]=0,W[8]=dt,W[9]=Wt,W[10]=bn,W[11]=0,W[12]=Ht[0]+Mi-(es*Mi+rn*yi+dt*qr),W[13]=Ht[1]+yi-(Ci*Mi+Xt*yi+Wt*qr),W[14]=Ht[2]+qr-(En*Mi+st*yi+bn*qr),W[15]=1,W}function _r(W,Se){var Ht=Se[0],zt=Se[1],Fn=Se[2],Tn=Se[3],lr=Ht+Ht,je=zt+zt,be=Fn+Fn,it=Ht*lr,wt=zt*lr,ot=zt*je,ut=Fn*lr,_t=Fn*je,$t=Fn*be,Vt=Tn*lr,Qt=Tn*je,cn=Tn*be;return W[0]=1-ot-$t,W[1]=wt+cn,W[2]=ut-Qt,W[3]=0,W[4]=wt-cn,W[5]=1-it-$t,W[6]=_t+Vt,W[7]=0,W[8]=ut+Qt,W[9]=_t-Vt,W[10]=1-it-ot,W[11]=0,W[12]=0,W[13]=0,W[14]=0,W[15]=1,W}function Ge(W,Se,Ht,zt,Fn,Tn,lr){var je=1/(Ht-Se),be=1/(Fn-zt),it=1/(Tn-lr);return W[0]=Tn*2*je,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=Tn*2*be,W[6]=0,W[7]=0,W[8]=(Ht+Se)*je,W[9]=(Fn+zt)*be,W[10]=(lr+Tn)*it,W[11]=-1,W[12]=0,W[13]=0,W[14]=lr*Tn*2*it,W[15]=0,W}function Tt(W,Se,Ht,zt,Fn){var Tn=1/Math.tan(Se/2);if(W[0]=Tn/Ht,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=Tn,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[11]=-1,W[12]=0,W[13]=0,W[15]=0,Fn!=null&&Fn!==1/0){var lr=1/(zt-Fn);W[10]=(Fn+zt)*lr,W[14]=2*Fn*zt*lr}else W[10]=-1,W[14]=-2*zt;return W}var On=Tt;function Vr(W,Se,Ht,zt,Fn){var Tn=1/Math.tan(Se/2);if(W[0]=Tn/Ht,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=Tn,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[11]=-1,W[12]=0,W[13]=0,W[15]=0,Fn!=null&&Fn!==1/0){var lr=1/(zt-Fn);W[10]=Fn*lr,W[14]=Fn*zt*lr}else W[10]=-1,W[14]=-zt;return W}function en(W,Se,Ht,zt){var Fn=Math.tan(Se.upDegrees*Math.PI/180),Tn=Math.tan(Se.downDegrees*Math.PI/180),lr=Math.tan(Se.leftDegrees*Math.PI/180),je=Math.tan(Se.rightDegrees*Math.PI/180),be=2/(lr+je),it=2/(Fn+Tn);return W[0]=be,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=it,W[6]=0,W[7]=0,W[8]=-((lr-je)*be*.5),W[9]=(Fn-Tn)*it*.5,W[10]=zt/(Ht-zt),W[11]=-1,W[12]=0,W[13]=0,W[14]=zt*Ht/(Ht-zt),W[15]=0,W}function ln(W,Se,Ht,zt,Fn,Tn,lr){var je=1/(Se-Ht),be=1/(zt-Fn),it=1/(Tn-lr);return W[0]=-2*je,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=-2*be,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[10]=2*it,W[11]=0,W[12]=(Se+Ht)*je,W[13]=(Fn+zt)*be,W[14]=(lr+Tn)*it,W[15]=1,W}var Cn=ln;function Mt(W,Se,Ht,zt,Fn,Tn,lr){var je=1/(Se-Ht),be=1/(zt-Fn),it=1/(Tn-lr);return W[0]=-2*je,W[1]=0,W[2]=0,W[3]=0,W[4]=0,W[5]=-2*be,W[6]=0,W[7]=0,W[8]=0,W[9]=0,W[10]=it,W[11]=0,W[12]=(Se+Ht)*je,W[13]=(Fn+zt)*be,W[14]=Tn*it,W[15]=1,W}function Et(W,Se,Ht,zt){var Fn,Tn,lr,je,be,it,wt,ot,ut,_t,$t=Se[0],Vt=Se[1],Qt=Se[2],cn=zt[0],Yn=zt[1],qn=zt[2],Sr=Ht[0],Jr=Ht[1],vr=Ht[2];return Math.abs($t-Sr)0&&(_t=1/Math.sqrt(_t),wt*=_t,ot*=_t,ut*=_t);var $t=be*ut-it*ot,Vt=it*wt-je*ut,Qt=je*ot-be*wt;return _t=$t*$t+Vt*Vt+Qt*Qt,_t>0&&(_t=1/Math.sqrt(_t),$t*=_t,Vt*=_t,Qt*=_t),W[0]=$t,W[1]=Vt,W[2]=Qt,W[3]=0,W[4]=ot*Qt-ut*Vt,W[5]=ut*$t-wt*Qt,W[6]=wt*Vt-ot*$t,W[7]=0,W[8]=wt,W[9]=ot,W[10]=ut,W[11]=0,W[12]=Fn,W[13]=Tn,W[14]=lr,W[15]=1,W}function Ae(W){return"mat4("+W[0]+", "+W[1]+", "+W[2]+", "+W[3]+", "+W[4]+", "+W[5]+", "+W[6]+", "+W[7]+", "+W[8]+", "+W[9]+", "+W[10]+", "+W[11]+", "+W[12]+", "+W[13]+", "+W[14]+", "+W[15]+")"}function Pe(W){return Math.sqrt(W[0]*W[0]+W[1]*W[1]+W[2]*W[2]+W[3]*W[3]+W[4]*W[4]+W[5]*W[5]+W[6]*W[6]+W[7]*W[7]+W[8]*W[8]+W[9]*W[9]+W[10]*W[10]+W[11]*W[11]+W[12]*W[12]+W[13]*W[13]+W[14]*W[14]+W[15]*W[15])}function Ut(W,Se,Ht){return W[0]=Se[0]+Ht[0],W[1]=Se[1]+Ht[1],W[2]=Se[2]+Ht[2],W[3]=Se[3]+Ht[3],W[4]=Se[4]+Ht[4],W[5]=Se[5]+Ht[5],W[6]=Se[6]+Ht[6],W[7]=Se[7]+Ht[7],W[8]=Se[8]+Ht[8],W[9]=Se[9]+Ht[9],W[10]=Se[10]+Ht[10],W[11]=Se[11]+Ht[11],W[12]=Se[12]+Ht[12],W[13]=Se[13]+Ht[13],W[14]=Se[14]+Ht[14],W[15]=Se[15]+Ht[15],W}function jt(W,Se,Ht){return W[0]=Se[0]-Ht[0],W[1]=Se[1]-Ht[1],W[2]=Se[2]-Ht[2],W[3]=Se[3]-Ht[3],W[4]=Se[4]-Ht[4],W[5]=Se[5]-Ht[5],W[6]=Se[6]-Ht[6],W[7]=Se[7]-Ht[7],W[8]=Se[8]-Ht[8],W[9]=Se[9]-Ht[9],W[10]=Se[10]-Ht[10],W[11]=Se[11]-Ht[11],W[12]=Se[12]-Ht[12],W[13]=Se[13]-Ht[13],W[14]=Se[14]-Ht[14],W[15]=Se[15]-Ht[15],W}function ft(W,Se,Ht){return W[0]=Se[0]*Ht,W[1]=Se[1]*Ht,W[2]=Se[2]*Ht,W[3]=Se[3]*Ht,W[4]=Se[4]*Ht,W[5]=Se[5]*Ht,W[6]=Se[6]*Ht,W[7]=Se[7]*Ht,W[8]=Se[8]*Ht,W[9]=Se[9]*Ht,W[10]=Se[10]*Ht,W[11]=Se[11]*Ht,W[12]=Se[12]*Ht,W[13]=Se[13]*Ht,W[14]=Se[14]*Ht,W[15]=Se[15]*Ht,W}function on(W,Se,Ht,zt){return W[0]=Se[0]+Ht[0]*zt,W[1]=Se[1]+Ht[1]*zt,W[2]=Se[2]+Ht[2]*zt,W[3]=Se[3]+Ht[3]*zt,W[4]=Se[4]+Ht[4]*zt,W[5]=Se[5]+Ht[5]*zt,W[6]=Se[6]+Ht[6]*zt,W[7]=Se[7]+Ht[7]*zt,W[8]=Se[8]+Ht[8]*zt,W[9]=Se[9]+Ht[9]*zt,W[10]=Se[10]+Ht[10]*zt,W[11]=Se[11]+Ht[11]*zt,W[12]=Se[12]+Ht[12]*zt,W[13]=Se[13]+Ht[13]*zt,W[14]=Se[14]+Ht[14]*zt,W[15]=Se[15]+Ht[15]*zt,W}function hn(W,Se){return W[0]===Se[0]&&W[1]===Se[1]&&W[2]===Se[2]&&W[3]===Se[3]&&W[4]===Se[4]&&W[5]===Se[5]&&W[6]===Se[6]&&W[7]===Se[7]&&W[8]===Se[8]&&W[9]===Se[9]&&W[10]===Se[10]&&W[11]===Se[11]&&W[12]===Se[12]&&W[13]===Se[13]&&W[14]===Se[14]&&W[15]===Se[15]}function lt(W,Se){var Ht=W[0],zt=W[1],Fn=W[2],Tn=W[3],lr=W[4],je=W[5],be=W[6],it=W[7],wt=W[8],ot=W[9],ut=W[10],_t=W[11],$t=W[12],Vt=W[13],Qt=W[14],cn=W[15],Yn=Se[0],qn=Se[1],Sr=Se[2],Jr=Se[3],vr=Se[4],Ki=Se[5],Mi=Se[6],yi=Se[7],qr=Se[8],es=Se[9],Ci=Se[10],En=Se[11],rn=Se[12],Xt=Se[13],st=Se[14],dt=Se[15];return Math.abs(Ht-Yn)<=m.Ib*Math.max(1,Math.abs(Ht),Math.abs(Yn))&&Math.abs(zt-qn)<=m.Ib*Math.max(1,Math.abs(zt),Math.abs(qn))&&Math.abs(Fn-Sr)<=m.Ib*Math.max(1,Math.abs(Fn),Math.abs(Sr))&&Math.abs(Tn-Jr)<=m.Ib*Math.max(1,Math.abs(Tn),Math.abs(Jr))&&Math.abs(lr-vr)<=m.Ib*Math.max(1,Math.abs(lr),Math.abs(vr))&&Math.abs(je-Ki)<=m.Ib*Math.max(1,Math.abs(je),Math.abs(Ki))&&Math.abs(be-Mi)<=m.Ib*Math.max(1,Math.abs(be),Math.abs(Mi))&&Math.abs(it-yi)<=m.Ib*Math.max(1,Math.abs(it),Math.abs(yi))&&Math.abs(wt-qr)<=m.Ib*Math.max(1,Math.abs(wt),Math.abs(qr))&&Math.abs(ot-es)<=m.Ib*Math.max(1,Math.abs(ot),Math.abs(es))&&Math.abs(ut-Ci)<=m.Ib*Math.max(1,Math.abs(ut),Math.abs(Ci))&&Math.abs(_t-En)<=m.Ib*Math.max(1,Math.abs(_t),Math.abs(En))&&Math.abs($t-rn)<=m.Ib*Math.max(1,Math.abs($t),Math.abs(rn))&&Math.abs(Vt-Xt)<=m.Ib*Math.max(1,Math.abs(Vt),Math.abs(Xt))&&Math.abs(Qt-st)<=m.Ib*Math.max(1,Math.abs(Qt),Math.abs(st))&&Math.abs(cn-dt)<=m.Ib*Math.max(1,Math.abs(cn),Math.abs(dt))}var Ct=j,sn=jt},94569:function(Be,Me,b){"use strict";b.d(Me,{Fv:function(){return en},JG:function(){return Wn},Jp:function(){return D},Su:function(){return kt},U_:function(){return ct},Ue:function(){return E},al:function(){return Lt},dC:function(){return zn},t8:function(){return Xn},yY:function(){return C}});var m=b(85551),Z=b(79111),V=b(92421),N=b(97082);function E(){var Ae=new m.WT(4);return m.WT!=Float32Array&&(Ae[0]=0,Ae[1]=0,Ae[2]=0),Ae[3]=1,Ae}function F(Ae){return Ae[0]=0,Ae[1]=0,Ae[2]=0,Ae[3]=1,Ae}function C(Ae,Pe,Ut){Ut=Ut*.5;var jt=Math.sin(Ut);return Ae[0]=jt*Pe[0],Ae[1]=jt*Pe[1],Ae[2]=jt*Pe[2],Ae[3]=Math.cos(Ut),Ae}function P(Ae,Pe){var Ut=Math.acos(Pe[3])*2,jt=Math.sin(Ut/2);return jt>glMatrix.EPSILON?(Ae[0]=Pe[0]/jt,Ae[1]=Pe[1]/jt,Ae[2]=Pe[2]/jt):(Ae[0]=1,Ae[1]=0,Ae[2]=0),Ut}function H(Ae,Pe){var Ut=vn(Ae,Pe);return Math.acos(2*Ut*Ut-1)}function D(Ae,Pe,Ut){var jt=Pe[0],ft=Pe[1],on=Pe[2],hn=Pe[3],lt=Ut[0],Ct=Ut[1],sn=Ut[2],W=Ut[3];return Ae[0]=jt*W+hn*lt+ft*sn-on*Ct,Ae[1]=ft*W+hn*Ct+on*lt-jt*sn,Ae[2]=on*W+hn*sn+jt*Ct-ft*lt,Ae[3]=hn*W-jt*lt-ft*Ct-on*sn,Ae}function X(Ae,Pe,Ut){Ut*=.5;var jt=Pe[0],ft=Pe[1],on=Pe[2],hn=Pe[3],lt=Math.sin(Ut),Ct=Math.cos(Ut);return Ae[0]=jt*Ct+hn*lt,Ae[1]=ft*Ct+on*lt,Ae[2]=on*Ct-ft*lt,Ae[3]=hn*Ct-jt*lt,Ae}function j(Ae,Pe,Ut){Ut*=.5;var jt=Pe[0],ft=Pe[1],on=Pe[2],hn=Pe[3],lt=Math.sin(Ut),Ct=Math.cos(Ut);return Ae[0]=jt*Ct-on*lt,Ae[1]=ft*Ct+hn*lt,Ae[2]=on*Ct+jt*lt,Ae[3]=hn*Ct-ft*lt,Ae}function de(Ae,Pe,Ut){Ut*=.5;var jt=Pe[0],ft=Pe[1],on=Pe[2],hn=Pe[3],lt=Math.sin(Ut),Ct=Math.cos(Ut);return Ae[0]=jt*Ct+ft*lt,Ae[1]=ft*Ct-jt*lt,Ae[2]=on*Ct+hn*lt,Ae[3]=hn*Ct-on*lt,Ae}function he(Ae,Pe){var Ut=Pe[0],jt=Pe[1],ft=Pe[2];return Ae[0]=Ut,Ae[1]=jt,Ae[2]=ft,Ae[3]=Math.sqrt(Math.abs(1-Ut*Ut-jt*jt-ft*ft)),Ae}function we(Ae,Pe){var Ut=Pe[0],jt=Pe[1],ft=Pe[2],on=Pe[3],hn=Math.sqrt(Ut*Ut+jt*jt+ft*ft),lt=Math.exp(on),Ct=hn>0?lt*Math.sin(hn)/hn:0;return Ae[0]=Ut*Ct,Ae[1]=jt*Ct,Ae[2]=ft*Ct,Ae[3]=lt*Math.cos(hn),Ae}function ve(Ae,Pe){var Ut=Pe[0],jt=Pe[1],ft=Pe[2],on=Pe[3],hn=Math.sqrt(Ut*Ut+jt*jt+ft*ft),lt=hn>0?Math.atan2(hn,on)/hn:0;return Ae[0]=Ut*lt,Ae[1]=jt*lt,Ae[2]=ft*lt,Ae[3]=.5*Math.log(Ut*Ut+jt*jt+ft*ft+on*on),Ae}function Ee(Ae,Pe,Ut){return ve(Ae,Pe),dr(Ae,Ae,Ut),we(Ae,Ae),Ae}function $e(Ae,Pe,Ut,jt){var ft=Pe[0],on=Pe[1],hn=Pe[2],lt=Pe[3],Ct=Ut[0],sn=Ut[1],W=Ut[2],Se=Ut[3],Ht,zt,Fn,Tn,lr;return zt=ft*Ct+on*sn+hn*W+lt*Se,zt<0&&(zt=-zt,Ct=-Ct,sn=-sn,W=-W,Se=-Se),1-zt>m.Ib?(Ht=Math.acos(zt),Fn=Math.sin(Ht),Tn=Math.sin((1-jt)*Ht)/Fn,lr=Math.sin(jt*Ht)/Fn):(Tn=1-jt,lr=jt),Ae[0]=Tn*ft+lr*Ct,Ae[1]=Tn*on+lr*sn,Ae[2]=Tn*hn+lr*W,Ae[3]=Tn*lt+lr*Se,Ae}function Fe(Ae){var Pe=glMatrix.RANDOM(),Ut=glMatrix.RANDOM(),jt=glMatrix.RANDOM(),ft=Math.sqrt(1-Pe),on=Math.sqrt(Pe);return Ae[0]=ft*Math.sin(2*Math.PI*Ut),Ae[1]=ft*Math.cos(2*Math.PI*Ut),Ae[2]=on*Math.sin(2*Math.PI*jt),Ae[3]=on*Math.cos(2*Math.PI*jt),Ae}function ct(Ae,Pe){var Ut=Pe[0],jt=Pe[1],ft=Pe[2],on=Pe[3],hn=Ut*Ut+jt*jt+ft*ft+on*on,lt=hn?1/hn:0;return Ae[0]=-Ut*lt,Ae[1]=-jt*lt,Ae[2]=-ft*lt,Ae[3]=on*lt,Ae}function vt(Ae,Pe){return Ae[0]=-Pe[0],Ae[1]=-Pe[1],Ae[2]=-Pe[2],Ae[3]=Pe[3],Ae}function at(Ae,Pe){var Ut=Pe[0]+Pe[4]+Pe[8],jt;if(Ut>0)jt=Math.sqrt(Ut+1),Ae[3]=.5*jt,jt=.5/jt,Ae[0]=(Pe[5]-Pe[7])*jt,Ae[1]=(Pe[6]-Pe[2])*jt,Ae[2]=(Pe[1]-Pe[3])*jt;else{var ft=0;Pe[4]>Pe[0]&&(ft=1),Pe[8]>Pe[ft*3+ft]&&(ft=2);var on=(ft+1)%3,hn=(ft+2)%3;jt=Math.sqrt(Pe[ft*3+ft]-Pe[on*3+on]-Pe[hn*3+hn]+1),Ae[ft]=.5*jt,jt=.5/jt,Ae[3]=(Pe[on*3+hn]-Pe[hn*3+on])*jt,Ae[on]=(Pe[on*3+ft]+Pe[ft*3+on])*jt,Ae[hn]=(Pe[hn*3+ft]+Pe[ft*3+hn])*jt}return Ae}function kt(Ae,Pe,Ut,jt){var ft=arguments.length>4&&arguments[4]!==void 0?arguments[4]:m.yy,on=Math.PI/360;Pe*=on,jt*=on,Ut*=on;var hn=Math.sin(Pe),lt=Math.cos(Pe),Ct=Math.sin(Ut),sn=Math.cos(Ut),W=Math.sin(jt),Se=Math.cos(jt);switch(ft){case"xyz":Ae[0]=hn*sn*Se+lt*Ct*W,Ae[1]=lt*Ct*Se-hn*sn*W,Ae[2]=lt*sn*W+hn*Ct*Se,Ae[3]=lt*sn*Se-hn*Ct*W;break;case"xzy":Ae[0]=hn*sn*Se-lt*Ct*W,Ae[1]=lt*Ct*Se-hn*sn*W,Ae[2]=lt*sn*W+hn*Ct*Se,Ae[3]=lt*sn*Se+hn*Ct*W;break;case"yxz":Ae[0]=hn*sn*Se+lt*Ct*W,Ae[1]=lt*Ct*Se-hn*sn*W,Ae[2]=lt*sn*W-hn*Ct*Se,Ae[3]=lt*sn*Se+hn*Ct*W;break;case"yzx":Ae[0]=hn*sn*Se+lt*Ct*W,Ae[1]=lt*Ct*Se+hn*sn*W,Ae[2]=lt*sn*W-hn*Ct*Se,Ae[3]=lt*sn*Se-hn*Ct*W;break;case"zxy":Ae[0]=hn*sn*Se-lt*Ct*W,Ae[1]=lt*Ct*Se+hn*sn*W,Ae[2]=lt*sn*W+hn*Ct*Se,Ae[3]=lt*sn*Se-hn*Ct*W;break;case"zyx":Ae[0]=hn*sn*Se-lt*Ct*W,Ae[1]=lt*Ct*Se+hn*sn*W,Ae[2]=lt*sn*W-hn*Ct*Se,Ae[3]=lt*sn*Se+hn*Ct*W;break;default:throw new Error("Unknown angle order "+ft)}return Ae}function It(Ae){return"quat("+Ae[0]+", "+Ae[1]+", "+Ae[2]+", "+Ae[3]+")"}var Bn=N.d9,Lt=N.al,Wn=N.JG,Xn=N.t8,In=N.IH,zn=D,dr=N.bA,vn=N.AK,_r=N.t7,Ge=N.kE,Tt=null,On=N.we,Vr=null,en=N.Fv,ln=N.I6;function Cn(Ae,Pe){return Math.abs(vec4.dot(Ae,Pe))>=1-glMatrix.EPSILON}var Mt=function(){var Ae=V.Ue(),Pe=V.al(1,0,0),Ut=V.al(0,1,0);return function(jt,ft,on){var hn=V.AK(ft,on);return hn<-.999999?(V.kC(Ae,Pe,ft),V.Zh(Ae)<1e-6&&V.kC(Ae,Ut,ft),V.Fv(Ae,Ae),C(jt,Ae,Math.PI),jt):hn>.999999?(jt[0]=0,jt[1]=0,jt[2]=0,jt[3]=1,jt):(V.kC(Ae,ft,on),jt[0]=Ae[0],jt[1]=Ae[1],jt[2]=Ae[2],jt[3]=1+hn,en(jt,jt))}}(),Et=function(){var Ae=E(),Pe=E();return function(Ut,jt,ft,on,hn,lt){return $e(Ae,jt,hn,lt),$e(Pe,ft,on,lt),$e(Ut,Ae,Pe,2*lt*(1-lt)),Ut}}(),pe=function(){var Ae=Z.Ue();return function(Pe,Ut,jt,ft){return Ae[0]=jt[0],Ae[3]=jt[1],Ae[6]=jt[2],Ae[1]=ft[0],Ae[4]=ft[1],Ae[7]=ft[2],Ae[2]=-Ut[0],Ae[5]=-Ut[1],Ae[8]=-Ut[2],en(Pe,at(Pe,Ae))}}()},45545:function(Be,Me,b){"use strict";b.d(Me,{AK:function(){return Bn},Fv:function(){return It},I6:function(){return en},JG:function(){return E},Ue:function(){return Z},t8:function(){return F}});var m=b(85551);function Z(){var ft=new m.WT(2);return m.WT!=Float32Array&&(ft[0]=0,ft[1]=0),ft}function V(ft){var on=new glMatrix.ARRAY_TYPE(2);return on[0]=ft[0],on[1]=ft[1],on}function N(ft,on){var hn=new glMatrix.ARRAY_TYPE(2);return hn[0]=ft,hn[1]=on,hn}function E(ft,on){return ft[0]=on[0],ft[1]=on[1],ft}function F(ft,on,hn){return ft[0]=on,ft[1]=hn,ft}function C(ft,on,hn){return ft[0]=on[0]+hn[0],ft[1]=on[1]+hn[1],ft}function P(ft,on,hn){return ft[0]=on[0]-hn[0],ft[1]=on[1]-hn[1],ft}function H(ft,on,hn){return ft[0]=on[0]*hn[0],ft[1]=on[1]*hn[1],ft}function D(ft,on,hn){return ft[0]=on[0]/hn[0],ft[1]=on[1]/hn[1],ft}function X(ft,on){return ft[0]=Math.ceil(on[0]),ft[1]=Math.ceil(on[1]),ft}function j(ft,on){return ft[0]=Math.floor(on[0]),ft[1]=Math.floor(on[1]),ft}function de(ft,on,hn){return ft[0]=Math.min(on[0],hn[0]),ft[1]=Math.min(on[1],hn[1]),ft}function he(ft,on,hn){return ft[0]=Math.max(on[0],hn[0]),ft[1]=Math.max(on[1],hn[1]),ft}function we(ft,on){return ft[0]=glMatrix.round(on[0]),ft[1]=glMatrix.round(on[1]),ft}function ve(ft,on,hn){return ft[0]=on[0]*hn,ft[1]=on[1]*hn,ft}function Ee(ft,on,hn,lt){return ft[0]=on[0]+hn[0]*lt,ft[1]=on[1]+hn[1]*lt,ft}function $e(ft,on){var hn=on[0]-ft[0],lt=on[1]-ft[1];return Math.sqrt(hn*hn+lt*lt)}function Fe(ft,on){var hn=on[0]-ft[0],lt=on[1]-ft[1];return hn*hn+lt*lt}function ct(ft){var on=ft[0],hn=ft[1];return Math.sqrt(on*on+hn*hn)}function vt(ft){var on=ft[0],hn=ft[1];return on*on+hn*hn}function at(ft,on){return ft[0]=-on[0],ft[1]=-on[1],ft}function kt(ft,on){return ft[0]=1/on[0],ft[1]=1/on[1],ft}function It(ft,on){var hn=on[0],lt=on[1],Ct=hn*hn+lt*lt;return Ct>0&&(Ct=1/Math.sqrt(Ct)),ft[0]=on[0]*Ct,ft[1]=on[1]*Ct,ft}function Bn(ft,on){return ft[0]*on[0]+ft[1]*on[1]}function Lt(ft,on,hn){var lt=on[0]*hn[1]-on[1]*hn[0];return ft[0]=ft[1]=0,ft[2]=lt,ft}function Wn(ft,on,hn,lt){var Ct=on[0],sn=on[1];return ft[0]=Ct+lt*(hn[0]-Ct),ft[1]=sn+lt*(hn[1]-sn),ft}function Xn(ft,on){on=on===void 0?1:on;var hn=glMatrix.RANDOM()*2*Math.PI;return ft[0]=Math.cos(hn)*on,ft[1]=Math.sin(hn)*on,ft}function In(ft,on,hn){var lt=on[0],Ct=on[1];return ft[0]=hn[0]*lt+hn[2]*Ct,ft[1]=hn[1]*lt+hn[3]*Ct,ft}function zn(ft,on,hn){var lt=on[0],Ct=on[1];return ft[0]=hn[0]*lt+hn[2]*Ct+hn[4],ft[1]=hn[1]*lt+hn[3]*Ct+hn[5],ft}function dr(ft,on,hn){var lt=on[0],Ct=on[1];return ft[0]=hn[0]*lt+hn[3]*Ct+hn[6],ft[1]=hn[1]*lt+hn[4]*Ct+hn[7],ft}function vn(ft,on,hn){var lt=on[0],Ct=on[1];return ft[0]=hn[0]*lt+hn[4]*Ct+hn[12],ft[1]=hn[1]*lt+hn[5]*Ct+hn[13],ft}function _r(ft,on,hn,lt){var Ct=on[0]-hn[0],sn=on[1]-hn[1],W=Math.sin(lt),Se=Math.cos(lt);return ft[0]=Ct*Se-sn*W+hn[0],ft[1]=Ct*W+sn*Se+hn[1],ft}function Ge(ft,on){var hn=ft[0],lt=ft[1],Ct=on[0],sn=on[1];return Math.abs(Math.atan2(lt*Ct-hn*sn,hn*Ct+lt*sn))}function Tt(ft,on){var hn=ft[0],lt=ft[1],Ct=on[0],sn=on[1];return Math.atan2(hn*sn-lt*Ct,hn*Ct+lt*sn)}function On(ft){return ft[0]=0,ft[1]=0,ft}function Vr(ft){return"vec2("+ft[0]+", "+ft[1]+")"}function en(ft,on){return ft[0]===on[0]&&ft[1]===on[1]}function ln(ft,on){var hn=ft[0],lt=ft[1],Ct=on[0],sn=on[1];return Math.abs(hn-Ct)<=glMatrix.EPSILON*Math.max(1,Math.abs(hn),Math.abs(Ct))&&Math.abs(lt-sn)<=glMatrix.EPSILON*Math.max(1,Math.abs(lt),Math.abs(sn))}var Cn=null,Mt=null,Et=null,pe=null,Ae=null,Pe=null,Ut=null,jt=function(){var ft=Z();return function(on,hn,lt,Ct,sn,W){var Se,Ht;for(hn||(hn=2),lt||(lt=0),Ct?Ht=Math.min(Ct*hn+lt,on.length):Ht=on.length,Se=lt;Se0&&(Ht=1/Math.sqrt(Ht)),lt[0]=Ct[0]*Ht,lt[1]=Ct[1]*Ht,lt[2]=Ct[2]*Ht,lt}function Bn(lt,Ct){return lt[0]*Ct[0]+lt[1]*Ct[1]+lt[2]*Ct[2]}function Lt(lt,Ct,sn){var W=Ct[0],Se=Ct[1],Ht=Ct[2],zt=sn[0],Fn=sn[1],Tn=sn[2];return lt[0]=Se*Tn-Ht*Fn,lt[1]=Ht*zt-W*Tn,lt[2]=W*Fn-Se*zt,lt}function Wn(lt,Ct,sn,W){var Se=Ct[0],Ht=Ct[1],zt=Ct[2];return lt[0]=Se+W*(sn[0]-Se),lt[1]=Ht+W*(sn[1]-Ht),lt[2]=zt+W*(sn[2]-zt),lt}function Xn(lt,Ct,sn,W){var Se=Math.acos(Math.min(Math.max(Bn(Ct,sn),-1),1)),Ht=Math.sin(Se),zt=Math.sin((1-W)*Se)/Ht,Fn=Math.sin(W*Se)/Ht;return lt[0]=zt*Ct[0]+Fn*sn[0],lt[1]=zt*Ct[1]+Fn*sn[1],lt[2]=zt*Ct[2]+Fn*sn[2],lt}function In(lt,Ct,sn,W,Se,Ht){var zt=Ht*Ht,Fn=zt*(2*Ht-3)+1,Tn=zt*(Ht-2)+Ht,lr=zt*(Ht-1),je=zt*(3-2*Ht);return lt[0]=Ct[0]*Fn+sn[0]*Tn+W[0]*lr+Se[0]*je,lt[1]=Ct[1]*Fn+sn[1]*Tn+W[1]*lr+Se[1]*je,lt[2]=Ct[2]*Fn+sn[2]*Tn+W[2]*lr+Se[2]*je,lt}function zn(lt,Ct,sn,W,Se,Ht){var zt=1-Ht,Fn=zt*zt,Tn=Ht*Ht,lr=Fn*zt,je=3*Ht*Fn,be=3*Tn*zt,it=Tn*Ht;return lt[0]=Ct[0]*lr+sn[0]*je+W[0]*be+Se[0]*it,lt[1]=Ct[1]*lr+sn[1]*je+W[1]*be+Se[1]*it,lt[2]=Ct[2]*lr+sn[2]*je+W[2]*be+Se[2]*it,lt}function dr(lt,Ct){Ct=Ct===void 0?1:Ct;var sn=glMatrix.RANDOM()*2*Math.PI,W=glMatrix.RANDOM()*2-1,Se=Math.sqrt(1-W*W)*Ct;return lt[0]=Math.cos(sn)*Se,lt[1]=Math.sin(sn)*Se,lt[2]=W*Ct,lt}function vn(lt,Ct,sn){var W=Ct[0],Se=Ct[1],Ht=Ct[2],zt=sn[3]*W+sn[7]*Se+sn[11]*Ht+sn[15];return zt=zt||1,lt[0]=(sn[0]*W+sn[4]*Se+sn[8]*Ht+sn[12])/zt,lt[1]=(sn[1]*W+sn[5]*Se+sn[9]*Ht+sn[13])/zt,lt[2]=(sn[2]*W+sn[6]*Se+sn[10]*Ht+sn[14])/zt,lt}function _r(lt,Ct,sn){var W=Ct[0],Se=Ct[1],Ht=Ct[2];return lt[0]=W*sn[0]+Se*sn[3]+Ht*sn[6],lt[1]=W*sn[1]+Se*sn[4]+Ht*sn[7],lt[2]=W*sn[2]+Se*sn[5]+Ht*sn[8],lt}function Ge(lt,Ct,sn){var W=sn[0],Se=sn[1],Ht=sn[2],zt=sn[3],Fn=Ct[0],Tn=Ct[1],lr=Ct[2],je=Se*lr-Ht*Tn,be=Ht*Fn-W*lr,it=W*Tn-Se*Fn;return je=je+je,be=be+be,it=it+it,lt[0]=Fn+zt*je+Se*it-Ht*be,lt[1]=Tn+zt*be+Ht*je-W*it,lt[2]=lr+zt*it+W*be-Se*je,lt}function Tt(lt,Ct,sn,W){var Se=[],Ht=[];return Se[0]=Ct[0]-sn[0],Se[1]=Ct[1]-sn[1],Se[2]=Ct[2]-sn[2],Ht[0]=Se[0],Ht[1]=Se[1]*Math.cos(W)-Se[2]*Math.sin(W),Ht[2]=Se[1]*Math.sin(W)+Se[2]*Math.cos(W),lt[0]=Ht[0]+sn[0],lt[1]=Ht[1]+sn[1],lt[2]=Ht[2]+sn[2],lt}function On(lt,Ct,sn,W){var Se=[],Ht=[];return Se[0]=Ct[0]-sn[0],Se[1]=Ct[1]-sn[1],Se[2]=Ct[2]-sn[2],Ht[0]=Se[2]*Math.sin(W)+Se[0]*Math.cos(W),Ht[1]=Se[1],Ht[2]=Se[2]*Math.cos(W)-Se[0]*Math.sin(W),lt[0]=Ht[0]+sn[0],lt[1]=Ht[1]+sn[1],lt[2]=Ht[2]+sn[2],lt}function Vr(lt,Ct,sn,W){var Se=[],Ht=[];return Se[0]=Ct[0]-sn[0],Se[1]=Ct[1]-sn[1],Se[2]=Ct[2]-sn[2],Ht[0]=Se[0]*Math.cos(W)-Se[1]*Math.sin(W),Ht[1]=Se[0]*Math.sin(W)+Se[1]*Math.cos(W),Ht[2]=Se[2],lt[0]=Ht[0]+sn[0],lt[1]=Ht[1]+sn[1],lt[2]=Ht[2]+sn[2],lt}function en(lt,Ct){var sn=lt[0],W=lt[1],Se=lt[2],Ht=Ct[0],zt=Ct[1],Fn=Ct[2],Tn=Math.sqrt((sn*sn+W*W+Se*Se)*(Ht*Ht+zt*zt+Fn*Fn)),lr=Tn&&Bn(lt,Ct)/Tn;return Math.acos(Math.min(Math.max(lr,-1),1))}function ln(lt){return lt[0]=0,lt[1]=0,lt[2]=0,lt}function Cn(lt){return"vec3("+lt[0]+", "+lt[1]+", "+lt[2]+")"}function Mt(lt,Ct){return lt[0]===Ct[0]&<[1]===Ct[1]&<[2]===Ct[2]}function Et(lt,Ct){var sn=lt[0],W=lt[1],Se=lt[2],Ht=Ct[0],zt=Ct[1],Fn=Ct[2];return Math.abs(sn-Ht)<=m.Ib*Math.max(1,Math.abs(sn),Math.abs(Ht))&&Math.abs(W-zt)<=m.Ib*Math.max(1,Math.abs(W),Math.abs(zt))&&Math.abs(Se-Fn)<=m.Ib*Math.max(1,Math.abs(Se),Math.abs(Fn))}var pe=H,Ae=null,Pe=null,Ut=Fe,jt=null,ft=N,on=null,hn=function(){var lt=Z();return function(Ct,sn,W,Se,Ht,zt){var Fn,Tn;for(sn||(sn=3),W||(W=0),Se?Tn=Math.min(Se*sn+W,Ct.length):Tn=Ct.length,Fn=W;Fn0&&(on=1/Math.sqrt(on)),pe[0]=Pe*on,pe[1]=Ut*on,pe[2]=jt*on,pe[3]=ft*on,pe}function Bn(pe,Ae){return pe[0]*Ae[0]+pe[1]*Ae[1]+pe[2]*Ae[2]+pe[3]*Ae[3]}function Lt(pe,Ae,Pe,Ut){var jt=Pe[0]*Ut[1]-Pe[1]*Ut[0],ft=Pe[0]*Ut[2]-Pe[2]*Ut[0],on=Pe[0]*Ut[3]-Pe[3]*Ut[0],hn=Pe[1]*Ut[2]-Pe[2]*Ut[1],lt=Pe[1]*Ut[3]-Pe[3]*Ut[1],Ct=Pe[2]*Ut[3]-Pe[3]*Ut[2],sn=Ae[0],W=Ae[1],Se=Ae[2],Ht=Ae[3];return pe[0]=W*Ct-Se*lt+Ht*hn,pe[1]=-(sn*Ct)+Se*on-Ht*ft,pe[2]=sn*lt-W*on+Ht*jt,pe[3]=-(sn*hn)+W*ft-Se*jt,pe}function Wn(pe,Ae,Pe,Ut){var jt=Ae[0],ft=Ae[1],on=Ae[2],hn=Ae[3];return pe[0]=jt+Ut*(Pe[0]-jt),pe[1]=ft+Ut*(Pe[1]-ft),pe[2]=on+Ut*(Pe[2]-on),pe[3]=hn+Ut*(Pe[3]-hn),pe}function Xn(pe,Ae){Ae=Ae===void 0?1:Ae;var Pe,Ut,jt,ft,on,hn,lt;lt=glMatrix.RANDOM(),Pe=lt*2-1,Ut=(4*glMatrix.RANDOM()-2)*Math.sqrt(lt*-lt+lt),on=Pe*Pe+Ut*Ut,lt=glMatrix.RANDOM(),jt=lt*2-1,ft=(4*glMatrix.RANDOM()-2)*Math.sqrt(lt*-lt+lt),hn=jt*jt+ft*ft;var Ct=Math.sqrt((1-on)/hn);return pe[0]=Ae*Pe,pe[1]=Ae*Ut,pe[2]=Ae*jt*Ct,pe[3]=Ae*ft*Ct,pe}function In(pe,Ae,Pe){var Ut=Ae[0],jt=Ae[1],ft=Ae[2],on=Ae[3];return pe[0]=Pe[0]*Ut+Pe[4]*jt+Pe[8]*ft+Pe[12]*on,pe[1]=Pe[1]*Ut+Pe[5]*jt+Pe[9]*ft+Pe[13]*on,pe[2]=Pe[2]*Ut+Pe[6]*jt+Pe[10]*ft+Pe[14]*on,pe[3]=Pe[3]*Ut+Pe[7]*jt+Pe[11]*ft+Pe[15]*on,pe}function zn(pe,Ae,Pe){var Ut=Pe[0],jt=Pe[1],ft=Pe[2],on=Pe[3],hn=Ae[0],lt=Ae[1],Ct=Ae[2],sn=jt*Ct-ft*lt,W=ft*hn-Ut*Ct,Se=Ut*lt-jt*hn;return sn=sn+sn,W=W+W,Se=Se+Se,pe[0]=hn+on*sn+jt*Se-ft*W,pe[1]=lt+on*W+ft*sn-Ut*Se,pe[2]=Ct+on*Se+Ut*W-jt*sn,pe[3]=Ae[3],pe}function dr(pe){return pe[0]=0,pe[1]=0,pe[2]=0,pe[3]=0,pe}function vn(pe){return"vec4("+pe[0]+", "+pe[1]+", "+pe[2]+", "+pe[3]+")"}function _r(pe,Ae){return pe[0]===Ae[0]&&pe[1]===Ae[1]&&pe[2]===Ae[2]&&pe[3]===Ae[3]}function Ge(pe,Ae){var Pe=pe[0],Ut=pe[1],jt=pe[2],ft=pe[3],on=Ae[0],hn=Ae[1],lt=Ae[2],Ct=Ae[3];return Math.abs(Pe-on)<=glMatrix.EPSILON*Math.max(1,Math.abs(Pe),Math.abs(on))&&Math.abs(Ut-hn)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ut),Math.abs(hn))&&Math.abs(jt-lt)<=glMatrix.EPSILON*Math.max(1,Math.abs(jt),Math.abs(lt))&&Math.abs(ft-Ct)<=glMatrix.EPSILON*Math.max(1,Math.abs(ft),Math.abs(Ct))}var Tt=null,On=null,Vr=null,en=null,ln=null,Cn=null,Mt=null,Et=function(){var pe=Z();return function(Ae,Pe,Ut,jt,ft,on){var hn,lt;for(Pe||(Pe=4),Ut||(Ut=0),jt?lt=Math.min(jt*Pe+Ut,Ae.length):lt=Ae.length,hn=Ut;hn0&&(j=X.removeMin(),de=D[j],de.distance!==Number.POSITIVE_INFINITY);)H(j).forEach(he);return D}},59324:function(Be,Me,b){var m=b(95329),Z=b(94558);Be.exports=V;function V(N){return m.filter(Z(N),function(E){return E.length>1||E.length===1&&N.hasEdge(E[0],E[0])})}},22893:function(Be,Me,b){var m=b(95329);Be.exports=V;var Z=m.constant(1);function V(E,F,C){return N(E,F||Z,C||function(P){return E.outEdges(P)})}function N(E,F,C){var P={},H=E.nodes();return H.forEach(function(D){P[D]={},P[D][D]={distance:0},H.forEach(function(X){D!==X&&(P[D][X]={distance:Number.POSITIVE_INFINITY})}),C(D).forEach(function(X){var j=X.v===D?X.w:X.v,de=F(X);P[D][j]={distance:de,predecessor:D}})}),H.forEach(function(D){var X=P[D];H.forEach(function(j){var de=P[j];H.forEach(function(he){var we=de[D],ve=X[he],Ee=de[he],$e=we.distance+ve.distance;$e0;){if(D=H.removeMin(),m.has(P,D))C.setEdge(D,P[D]);else{if(j)throw new Error("Input graph is not connected: "+E);j=!0}E.nodeEdges(D).forEach(X)}return C}},94558:function(Be,Me,b){var m=b(95329);Be.exports=Z;function Z(V){var N=0,E=[],F={},C=[];function P(H){var D=F[H]={onStack:!0,lowlink:N,index:N++};if(E.push(H),V.successors(H).forEach(function(de){m.has(F,de)?F[de].onStack&&(D.lowlink=Math.min(D.lowlink,F[de].index)):(P(de),D.lowlink=Math.min(D.lowlink,F[de].lowlink))}),D.lowlink===D.index){var X=[],j;do j=E.pop(),F[j].onStack=!1,X.push(j);while(H!==j);C.push(X)}}return V.nodes().forEach(function(H){m.has(F,H)||P(H)}),C}},7793:function(Be,Me,b){var m=b(95329);Be.exports=Z,Z.CycleException=V;function Z(N){var E={},F={},C=[];function P(H){if(m.has(F,H))throw new V;m.has(E,H)||(F[H]=!0,E[H]=!0,m.each(N.predecessors(H),P),delete F[H],C.push(H))}if(m.each(N.sinks(),P),m.size(E)!==N.nodeCount())throw new V;return C}function V(){}V.prototype=new Error},36614:function(Be,Me,b){var m=b(95329);Be.exports=Z;function Z(){this._arr=[],this._keyIndices={}}Z.prototype.size=function(){return this._arr.length},Z.prototype.keys=function(){return this._arr.map(function(V){return V.key})},Z.prototype.has=function(V){return m.has(this._keyIndices,V)},Z.prototype.priority=function(V){var N=this._keyIndices[V];if(N!==void 0)return this._arr[N].priority},Z.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},Z.prototype.add=function(V,N){var E=this._keyIndices;if(V=String(V),!m.has(E,V)){var F=this._arr,C=F.length;return E[V]=C,F.push({key:V,priority:N}),this._decrease(C),!0}return!1},Z.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var V=this._arr.pop();return delete this._keyIndices[V.key],this._heapify(0),V.key},Z.prototype.decrease=function(V,N){var E=this._keyIndices[V];if(N>this._arr[E].priority)throw new Error("New priority is greater than current priority. Key: "+V+" Old: "+this._arr[E].priority+" New: "+N);this._arr[E].priority=N,this._decrease(E)},Z.prototype._heapify=function(V){var N=this._arr,E=2*V,F=E+1,C=V;E>1,!(N[F].priority1?he.setNode(we,j):he.setNode(we)}),this},E.prototype.setNode=function(X,j){return m.has(this._nodes,X)?(arguments.length>1&&(this._nodes[X]=j),this):(this._nodes[X]=arguments.length>1?j:this._defaultNodeLabelFn(X),this._isCompound&&(this._parent[X]=V,this._children[X]={},this._children[V][X]=!0),this._in[X]={},this._preds[X]={},this._out[X]={},this._sucs[X]={},++this._nodeCount,this)},E.prototype.node=function(X){return this._nodes[X]},E.prototype.hasNode=function(X){return m.has(this._nodes,X)},E.prototype.removeNode=function(X){var j=this;if(m.has(this._nodes,X)){var de=function(he){j.removeEdge(j._edgeObjs[he])};delete this._nodes[X],this._isCompound&&(this._removeFromParentsChildList(X),delete this._parent[X],m.each(this.children(X),function(he){j.setParent(he)}),delete this._children[X]),m.each(m.keys(this._in[X]),de),delete this._in[X],delete this._preds[X],m.each(m.keys(this._out[X]),de),delete this._out[X],delete this._sucs[X],--this._nodeCount}return this},E.prototype.setParent=function(X,j){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(m.isUndefined(j))j=V;else{j+="";for(var de=j;!m.isUndefined(de);de=this.parent(de))if(de===X)throw new Error("Setting "+j+" as parent of "+X+" would create a cycle");this.setNode(j)}return this.setNode(X),this._removeFromParentsChildList(X),this._parent[X]=j,this._children[j][X]=!0,this},E.prototype._removeFromParentsChildList=function(X){delete this._children[this._parent[X]][X]},E.prototype.parent=function(X){if(this._isCompound){var j=this._parent[X];if(j!==V)return j}},E.prototype.children=function(X){if(m.isUndefined(X)&&(X=V),this._isCompound){var j=this._children[X];if(j)return m.keys(j)}else{if(X===V)return this.nodes();if(this.hasNode(X))return[]}},E.prototype.predecessors=function(X){var j=this._preds[X];if(j)return m.keys(j)},E.prototype.successors=function(X){var j=this._sucs[X];if(j)return m.keys(j)},E.prototype.neighbors=function(X){var j=this.predecessors(X);if(j)return m.union(j,this.successors(X))},E.prototype.isLeaf=function(X){var j;return this.isDirected()?j=this.successors(X):j=this.neighbors(X),j.length===0},E.prototype.filterNodes=function(X){var j=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});j.setGraph(this.graph());var de=this;m.each(this._nodes,function(ve,Ee){X(Ee)&&j.setNode(Ee,ve)}),m.each(this._edgeObjs,function(ve){j.hasNode(ve.v)&&j.hasNode(ve.w)&&j.setEdge(ve,de.edge(ve))});var he={};function we(ve){var Ee=de.parent(ve);return Ee===void 0||j.hasNode(Ee)?(he[ve]=Ee,Ee):Ee in he?he[Ee]:we(Ee)}return this._isCompound&&m.each(j.nodes(),function(ve){j.setParent(ve,we(ve))}),j},E.prototype.setDefaultEdgeLabel=function(X){return m.isFunction(X)||(X=m.constant(X)),this._defaultEdgeLabelFn=X,this},E.prototype.edgeCount=function(){return this._edgeCount},E.prototype.edges=function(){return m.values(this._edgeObjs)},E.prototype.setPath=function(X,j){var de=this,he=arguments;return m.reduce(X,function(we,ve){return he.length>1?de.setEdge(we,ve,j):de.setEdge(we,ve),ve}),this},E.prototype.setEdge=function(){var X,j,de,he,we=!1,ve=arguments[0];typeof ve=="object"&&ve!==null&&"v"in ve?(X=ve.v,j=ve.w,de=ve.name,arguments.length===2&&(he=arguments[1],we=!0)):(X=ve,j=arguments[1],de=arguments[3],arguments.length>2&&(he=arguments[2],we=!0)),X=""+X,j=""+j,m.isUndefined(de)||(de=""+de);var Ee=P(this._isDirected,X,j,de);if(m.has(this._edgeLabels,Ee))return we&&(this._edgeLabels[Ee]=he),this;if(!m.isUndefined(de)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(X),this.setNode(j),this._edgeLabels[Ee]=we?he:this._defaultEdgeLabelFn(X,j,de);var $e=H(this._isDirected,X,j,de);return X=$e.v,j=$e.w,Object.freeze($e),this._edgeObjs[Ee]=$e,F(this._preds[j],X),F(this._sucs[X],j),this._in[j][Ee]=$e,this._out[X][Ee]=$e,this._edgeCount++,this},E.prototype.edge=function(X,j,de){var he=arguments.length===1?D(this._isDirected,arguments[0]):P(this._isDirected,X,j,de);return this._edgeLabels[he]},E.prototype.hasEdge=function(X,j,de){var he=arguments.length===1?D(this._isDirected,arguments[0]):P(this._isDirected,X,j,de);return m.has(this._edgeLabels,he)},E.prototype.removeEdge=function(X,j,de){var he=arguments.length===1?D(this._isDirected,arguments[0]):P(this._isDirected,X,j,de),we=this._edgeObjs[he];return we&&(X=we.v,j=we.w,delete this._edgeLabels[he],delete this._edgeObjs[he],C(this._preds[j],X),C(this._sucs[X],j),delete this._in[j][he],delete this._out[X][he],this._edgeCount--),this},E.prototype.inEdges=function(X,j){var de=this._in[X];if(de){var he=m.values(de);return j?m.filter(he,function(we){return we.v===j}):he}},E.prototype.outEdges=function(X,j){var de=this._out[X];if(de){var he=m.values(de);return j?m.filter(he,function(we){return we.w===j}):he}},E.prototype.nodeEdges=function(X,j){var de=this.inEdges(X,j);if(de)return de.concat(this.outEdges(X,j))};function F(X,j){X[j]?X[j]++:X[j]=1}function C(X,j){--X[j]||delete X[j]}function P(X,j,de,he){var we=""+j,ve=""+de;if(!X&&we>ve){var Ee=we;we=ve,ve=Ee}return we+N+ve+N+(m.isUndefined(he)?Z:he)}function H(X,j,de,he){var we=""+j,ve=""+de;if(!X&&we>ve){var Ee=we;we=ve,ve=Ee}var $e={v:we,w:ve};return he&&($e.name=he),$e}function D(X,j){return P(X,j.v,j.w,j.name)}},89224:function(Be,Me,b){Be.exports={Graph:b(6349),version:b(16544)}},17401:function(Be,Me,b){var m=b(95329),Z=b(6349);Be.exports={write:V,read:F};function V(C){var P={options:{directed:C.isDirected(),multigraph:C.isMultigraph(),compound:C.isCompound()},nodes:N(C),edges:E(C)};return m.isUndefined(C.graph())||(P.value=m.clone(C.graph())),P}function N(C){return m.map(C.nodes(),function(P){var H=C.node(P),D=C.parent(P),X={v:P};return m.isUndefined(H)||(X.value=H),m.isUndefined(D)||(X.parent=D),X})}function E(C){return m.map(C.edges(),function(P){var H=C.edge(P),D={v:P.v,w:P.w};return m.isUndefined(P.name)||(D.name=P.name),m.isUndefined(H)||(D.value=H),D})}function F(C){var P=new Z(C.options).setGraph(C.value);return m.each(C.nodes,function(H){P.setNode(H.v,H.value),H.parent&&P.setParent(H.v,H.parent)}),m.each(C.edges,function(H){P.setEdge({v:H.v,w:H.w,name:H.name},H.value)}),P}},95329:function(Be,Me,b){var m;try{m={clone:b(40633),constant:b(46221),each:b(61475),filter:b(3130),has:b(64760),isArray:b(41594),isEmpty:b(74336),isFunction:b(92581),isUndefined:b(68408),keys:b(66357),map:b(81426),reduce:b(9695),size:b(24727),transform:b(61477),union:b(99477),values:b(72834)}}catch(Z){}m||(m=window._),Be.exports=m},16544:function(Be){Be.exports="2.1.8"},64270:function(Be){(function(Me,b){Be.exports=b()})(this,function(){"use strict";var Me=function(U,R){return Me=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,K){$.__proto__=K}||function($,K){for(var _e in K)Object.prototype.hasOwnProperty.call(K,_e)&&($[_e]=K[_e])},Me(U,R)};function b(U,R){if(typeof R!="function"&&R!==null)throw new TypeError("Class extends value "+String(R)+" is not a constructor or null");Me(U,R);function $(){this.constructor=U}U.prototype=R===null?Object.create(R):($.prototype=R.prototype,new $)}var m=function(){return m=Object.assign||function(R){for(var $,K=1,_e=arguments.length;K<_e;K++){$=arguments[K];for(var et in $)Object.prototype.hasOwnProperty.call($,et)&&(R[et]=$[et])}return R},m.apply(this,arguments)};function Z(U,R,$,K){function _e(et){return et instanceof $?et:new $(function(Ft){Ft(et)})}return new($||($=Promise))(function(et,Ft){function dn(ur){try{Ar(K.next(ur))}catch(Ir){Ft(Ir)}}function fn(ur){try{Ar(K.throw(ur))}catch(Ir){Ft(Ir)}}function Ar(ur){ur.done?et(ur.value):_e(ur.value).then(dn,fn)}Ar((K=K.apply(U,R||[])).next())})}function V(U,R){var $={label:0,sent:function(){if(et[0]&1)throw et[1];return et[1]},trys:[],ops:[]},K,_e,et,Ft;return Ft={next:dn(0),throw:dn(1),return:dn(2)},typeof Symbol=="function"&&(Ft[Symbol.iterator]=function(){return this}),Ft;function dn(Ar){return function(ur){return fn([Ar,ur])}}function fn(Ar){if(K)throw new TypeError("Generator is already executing.");for(;$;)try{if(K=1,_e&&(et=Ar[0]&2?_e.return:Ar[0]?_e.throw||((et=_e.return)&&et.call(_e),0):_e.next)&&!(et=et.call(_e,Ar[1])).done)return et;switch(_e=0,et&&(Ar=[Ar[0]&2,et.value]),Ar[0]){case 0:case 1:et=Ar;break;case 4:return $.label++,{value:Ar[1],done:!1};case 5:$.label++,_e=Ar[1],Ar=[0];continue;case 7:Ar=$.ops.pop(),$.trys.pop();continue;default:if(et=$.trys,!(et=et.length>0&&et[et.length-1])&&(Ar[0]===6||Ar[0]===2)){$=0;continue}if(Ar[0]===3&&(!et||Ar[1]>et[0]&&Ar[1]=55296&&_e<=56319&&$>10)+55296,Ft%1024+56320)),(_e+1===$||K.length>16384)&&(et+=String.fromCharCode.apply(String,K),K.length=0)}return et},D="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",X=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),j=0;j>4,ur[_e++]=(Ft&15)<<4|dn>>2,ur[_e++]=(dn&3)<<6|fn&63;return Ar},Ee=function(U){for(var R=U.length,$=[],K=0;K>Fe,It=1<>Fe,Wn=kt+Lt,Xn=Wn,In=32,zn=Xn+In,dr=65536>>ct,vn=1<=0){if(R<55296||R>56319&&R<=65535)return $=this.index[R>>Fe],$=($<>Fe)],$=($<>ct),$=this.index[$],$+=R>>Fe&_r,$=this.index[$],$=($<Et?(_e.push(!0),dn-=Et):_e.push(!1),["normal","auto","loose"].indexOf(R)!==-1&&[8208,8211,12316,12448].indexOf(et)!==-1)return K.push(Ft),$.push(zt);if(dn===Ut||dn===Ct){if(Ft===0)return K.push(Ft),$.push(cn);var fn=$[Ft-1];return si.indexOf(fn)===-1?(K.push(K[Ft-1]),$.push(fn)):(K.push(Ft),$.push(cn))}if(K.push(Ft),dn===Yn)return $.push(R==="strict"?be:Mi);if(dn===En||dn===Qt)return $.push(cn);if(dn===rn)return et>=131072&&et<=196605||et>=196608&&et<=262141?$.push(Mi):$.push(cn);$.push(dn)}),[K,$,_e]},w=function(U,R,$,K){var _e=K[$];if(Array.isArray(U)?U.indexOf(_e)!==-1:U===_e)for(var et=$;et<=K.length;){et++;var Ft=K[et];if(Ft===R)return!0;if(Ft!==lt)break}if(_e===lt)for(var et=$;et>0;){et--;var dn=K[et];if(Array.isArray(U)?U.indexOf(dn)!==-1:U===dn)for(var fn=$;fn<=K.length;){fn++;var Ft=K[fn];if(Ft===R)return!0;if(Ft!==lt)break}if(dn!==lt)break}return!1},z=function(U,R){for(var $=U;$>=0;){var K=R[$];if(K===lt)$--;else return K}return 0},ie=function(U,R,$,K,_e){if($[K]===0)return dt;var et=K-1;if(Array.isArray(_e)&&_e[et]===!0)return dt;var Ft=et-1,dn=et+1,fn=R[et],Ar=Ft>=0?R[Ft]:0,ur=R[dn];if(fn===Ae&&ur===Pe)return dt;if(ar.indexOf(fn)!==-1)return st;if(ar.indexOf(ur)!==-1||rr.indexOf(ur)!==-1)return dt;if(z(et,R)===on)return Wt;if(bn.get(U[et])===Ct||(fn===qn||fn===Sr)&&bn.get(U[dn])===Ct||fn===ft||ur===ft||fn===hn||[lt,W,Ht].indexOf(fn)===-1&&ur===hn||[Fn,Tn,lr,ot,Vt].indexOf(ur)!==-1||z(et,R)===it||w(wt,it,et,R)||w([Fn,Tn],be,et,R)||w(sn,sn,et,R))return dt;if(fn===lt)return Wt;if(fn===wt||ur===wt)return dt;if(ur===zt||fn===zt)return Wt;if([W,Ht,be].indexOf(ur)!==-1||fn===Se||Ar===Ki&&L.indexOf(fn)!==-1||fn===Vt&&ur===Ki||ur===je||Jt.indexOf(ur)!==-1&&fn===ut||Jt.indexOf(fn)!==-1&&ur===ut||fn===$t&&[Mi,qn,Sr].indexOf(ur)!==-1||[Mi,qn,Sr].indexOf(fn)!==-1&&ur===_t||Jt.indexOf(fn)!==-1&&Kr.indexOf(ur)!==-1||Kr.indexOf(fn)!==-1&&Jt.indexOf(ur)!==-1||[$t,_t].indexOf(fn)!==-1&&(ur===ut||[it,Ht].indexOf(ur)!==-1&&R[dn+1]===ut)||[it,Ht].indexOf(fn)!==-1&&ur===ut||fn===ut&&[ut,Vt,ot].indexOf(ur)!==-1)return dt;if([ut,Vt,ot,Fn,Tn].indexOf(ur)!==-1)for(var Ir=et;Ir>=0;){var fi=R[Ir];if(fi===ut)return dt;if([Vt,ot].indexOf(fi)!==-1)Ir--;else break}if([$t,_t].indexOf(ur)!==-1)for(var Ir=[Fn,Tn].indexOf(fn)!==-1?Ft:et;Ir>=0;){var fi=R[Ir];if(fi===ut)return dt;if([Vt,ot].indexOf(fi)!==-1)Ir--;else break}if(yi===fn&&[yi,qr,Jr,vr].indexOf(ur)!==-1||[qr,Jr].indexOf(fn)!==-1&&[qr,es].indexOf(ur)!==-1||[es,vr].indexOf(fn)!==-1&&ur===es||Ie.indexOf(fn)!==-1&&[je,_t].indexOf(ur)!==-1||Ie.indexOf(ur)!==-1&&fn===$t||Jt.indexOf(fn)!==-1&&Jt.indexOf(ur)!==-1||fn===ot&&Jt.indexOf(ur)!==-1||Jt.concat(ut).indexOf(fn)!==-1&&ur===it&&Xt.indexOf(U[dn])===-1||Jt.concat(ut).indexOf(ur)!==-1&&fn===Tn)return dt;if(fn===Ci&&ur===Ci){for(var Qs=$[et],us=1;Qs>0&&(Qs--,R[Qs]===Ci);)us++;if(us%2!==0)return dt}return fn===qn&&ur===Sr?dt:Wt},ze=function(U,R){R||(R={lineBreak:"normal",wordBreak:"normal"});var $=Q(U,R.lineBreak),K=$[0],_e=$[1],et=$[2];(R.wordBreak==="break-all"||R.wordBreak==="break-word")&&(_e=_e.map(function(dn){return[ut,cn,En].indexOf(dn)!==-1?Mi:dn}));var Ft=R.wordBreak==="keep-all"?et.map(function(dn,fn){return dn&&U[fn]>=19968&&U[fn]<=40959}):void 0;return[K,_e,Ft]},Je=function(){function U(R,$,K,_e){this.codePoints=R,this.required=$===st,this.start=K,this.end=_e}return U.prototype.slice=function(){return H.apply(void 0,this.codePoints.slice(this.start,this.end))},U}(),At=function(U,R){var $=P(U),K=ze($,R),_e=K[0],et=K[1],Ft=K[2],dn=$.length,fn=0,Ar=0;return{next:function(){if(Ar>=dn)return{done:!0,value:null};for(var ur=dt;Ar=Ai&&U<=57},sl=function(U){return U>=55296&&U<=57343},No=function(U){return ao(U)||U>=Pl&&U<=go||U>=$a&&U<=Ko},Uu=function(U){return U>=$a&&U<=bo},ws=function(U){return U>=Pl&&U<=Lu},Kh=function(U){return Uu(U)||ws(U)},dh=function(U){return U>=Gt},$h=function(U){return U===Re||U===tn||U===yt},Uh=function(U){return Kh(U)||dh(U)||U===_n},Ku=function(U){return Uh(U)||ao(U)||U===jn},sc=function(U){return U>=Di&&U<=ss||U===vs||U>=Cs&&U<=Aa||U===sa},pu=function(U,R){return U!==gt?!1:R!==Re},ou=function(U,R,$){return U===jn?Uh(R)||pu(R,$):Uh(U)?!0:!!(U===gt&&pu(U,R))},Ad=function(U,R,$){return U===Ln||U===jn?ao(R)?!0:R===Ii&&ao($):ao(U===Ii?R:U)},hf=function(U){var R=0,$=1;(U[R]===Ln||U[R]===jn)&&(U[R]===jn&&($=-1),R++);for(var K=[];ao(U[R]);)K.push(U[R++]);var _e=K.length?parseInt(H.apply(void 0,K),10):0;U[R]===Ii&&R++;for(var et=[];ao(U[R]);)et.push(U[R++]);var Ft=et.length,dn=Ft?parseInt(H.apply(void 0,et),10):0;(U[R]===il||U[R]===Zo)&&R++;var fn=1;(U[R]===Ln||U[R]===jn)&&(U[R]===jn&&(fn=-1),R++);for(var Ar=[];ao(U[R]);)Ar.push(U[R++]);var ur=Ar.length?parseInt(H.apply(void 0,Ar),10):0;return $*(_e+dn*Math.pow(10,-Ft))*Math.pow(10,fn*ur)},Xo={type:2},fh={type:3},Qf={type:4},pd={type:13},Ah={type:8},Vc={type:21},jo={type:9},gd={type:10},lu={type:11},gu={type:12},oo={type:14},Ic={type:23},jc={type:1},ph={type:25},Lo={type:24},Ji={type:26},$u={type:27},gh={type:28},mh={type:29},np={type:31},vh={type:32},Cu=function(){function U(){this._value=[]}return U.prototype.write=function(R){this._value=this._value.concat(P(R))},U.prototype.read=function(){for(var R=[],$=this.consumeToken();$!==vh;)R.push($),$=this.consumeToken();return R},U.prototype.consumeToken=function(){var R=this.consumeCodePoint();switch(R){case Yt:return this.consumeStringToken(Yt);case er:var $=this.peekCodePoint(0),K=this.peekCodePoint(1),_e=this.peekCodePoint(2);if(Ku($)||pu(K,_e)){var et=ou($,K,_e)?Sn:xt,Ft=this.consumeName();return{type:5,value:Ft,flags:et}}break;case Jn:if(this.peekCodePoint(0)===Rn)return this.consumeCodePoint(),pd;break;case fr:return this.consumeStringToken(fr);case wr:return Xo;case ei:return fh;case yn:if(this.peekCodePoint(0)===Rn)return this.consumeCodePoint(),oo;break;case Ln:if(Ad(R,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(R),this.consumeNumericToken();break;case gr:return Qf;case jn:var dn=R,fn=this.peekCodePoint(0),Ar=this.peekCodePoint(1);if(Ad(dn,fn,Ar))return this.reconsumeCodePoint(R),this.consumeNumericToken();if(ou(dn,fn,Ar))return this.reconsumeCodePoint(R),this.consumeIdentLikeToken();if(fn===jn&&Ar===$i)return this.consumeCodePoint(),this.consumeCodePoint(),Lo;break;case Ii:if(Ad(R,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(R),this.consumeNumericToken();break;case Ke:if(this.peekCodePoint(0)===yn)for(this.consumeCodePoint();;){var ur=this.consumeCodePoint();if(ur===yn&&(ur=this.consumeCodePoint(),ur===Ke))return this.consumeToken();if(ur===ca)return this.consumeToken()}break;case Rr:return Ji;case $r:return $u;case Pr:if(this.peekCodePoint(0)===Hr&&this.peekCodePoint(1)===jn&&this.peekCodePoint(2)===jn)return this.consumeCodePoint(),this.consumeCodePoint(),ph;break;case Zi:var Ir=this.peekCodePoint(0),fi=this.peekCodePoint(1),Qs=this.peekCodePoint(2);if(ou(Ir,fi,Qs)){var Ft=this.consumeName();return{type:7,value:Ft}}break;case Xi:return gh;case gt:if(pu(R,this.peekCodePoint(0)))return this.reconsumeCodePoint(R),this.consumeIdentLikeToken();break;case Ei:return mh;case ms:if(this.peekCodePoint(0)===Rn)return this.consumeCodePoint(),Ah;break;case _i:return lu;case ua:return gu;case $o:case Ll:var us=this.peekCodePoint(0),bs=this.peekCodePoint(1);return us===Ln&&(No(bs)||bs===Es)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(R),this.consumeIdentLikeToken();case Hn:if(this.peekCodePoint(0)===Rn)return this.consumeCodePoint(),jo;if(this.peekCodePoint(0)===Hn)return this.consumeCodePoint(),Vc;break;case Pt:if(this.peekCodePoint(0)===Rn)return this.consumeCodePoint(),gd;break;case ca:return vh}return $h(R)?(this.consumeWhiteSpace(),np):ao(R)?(this.reconsumeCodePoint(R),this.consumeNumericToken()):Uh(R)?(this.reconsumeCodePoint(R),this.consumeIdentLikeToken()):{type:6,value:H(R)}},U.prototype.consumeCodePoint=function(){var R=this._value.shift();return typeof R=="undefined"?-1:R},U.prototype.reconsumeCodePoint=function(R){this._value.unshift(R)},U.prototype.peekCodePoint=function(R){return R>=this._value.length?-1:this._value[R]},U.prototype.consumeUnicodeRangeToken=function(){for(var R=[],$=this.consumeCodePoint();No($)&&R.length<6;)R.push($),$=this.consumeCodePoint();for(var K=!1;$===Es&&R.length<6;)R.push($),$=this.consumeCodePoint(),K=!0;if(K){var _e=parseInt(H.apply(void 0,R.map(function(fn){return fn===Es?Ai:fn})),16),et=parseInt(H.apply(void 0,R.map(function(fn){return fn===Es?go:fn})),16);return{type:30,start:_e,end:et}}var Ft=parseInt(H.apply(void 0,R),16);if(this.peekCodePoint(0)===jn&&No(this.peekCodePoint(1))){this.consumeCodePoint(),$=this.consumeCodePoint();for(var dn=[];No($)&&dn.length<6;)dn.push($),$=this.consumeCodePoint();var et=parseInt(H.apply(void 0,dn),16);return{type:30,start:Ft,end:et}}else return{type:30,start:Ft,end:Ft}},U.prototype.consumeIdentLikeToken=function(){var R=this.consumeName();return R.toLowerCase()==="url"&&this.peekCodePoint(0)===wr?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===wr?(this.consumeCodePoint(),{type:19,value:R}):{type:20,value:R}},U.prototype.consumeUrlToken=function(){var R=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===ca)return{type:22,value:""};var $=this.peekCodePoint(0);if($===fr||$===Yt){var K=this.consumeStringToken(this.consumeCodePoint());return K.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===ca||this.peekCodePoint(0)===ei)?(this.consumeCodePoint(),{type:22,value:K.value}):(this.consumeBadUrlRemnants(),Ic)}for(;;){var _e=this.consumeCodePoint();if(_e===ca||_e===ei)return{type:22,value:H.apply(void 0,R)};if($h(_e))return this.consumeWhiteSpace(),this.peekCodePoint(0)===ca||this.peekCodePoint(0)===ei?(this.consumeCodePoint(),{type:22,value:H.apply(void 0,R)}):(this.consumeBadUrlRemnants(),Ic);if(_e===Yt||_e===fr||_e===wr||sc(_e))return this.consumeBadUrlRemnants(),Ic;if(_e===gt)if(pu(_e,this.peekCodePoint(0)))R.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Ic;else R.push(_e)}},U.prototype.consumeWhiteSpace=function(){for(;$h(this.peekCodePoint(0));)this.consumeCodePoint()},U.prototype.consumeBadUrlRemnants=function(){for(;;){var R=this.consumeCodePoint();if(R===ei||R===ca)return;pu(R,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},U.prototype.consumeStringSlice=function(R){for(var $=5e4,K="";R>0;){var _e=Math.min($,R);K+=H.apply(void 0,this._value.splice(0,_e)),R-=_e}return this._value.shift(),K},U.prototype.consumeStringToken=function(R){var $="",K=0;do{var _e=this._value[K];if(_e===ca||_e===void 0||_e===R)return $+=this.consumeStringSlice(K),{type:0,value:$};if(_e===Re)return this._value.splice(0,K),jc;if(_e===gt){var et=this._value[K+1];et!==ca&&et!==void 0&&(et===Re?($+=this.consumeStringSlice(K),K=-1,this._value.shift()):pu(_e,et)&&($+=this.consumeStringSlice(K),$+=H(this.consumeEscapedCodePoint()),K=-1))}K++}while(!0)},U.prototype.consumeNumber=function(){var R=[],$=Oe,K=this.peekCodePoint(0);for((K===Ln||K===jn)&&R.push(this.consumeCodePoint());ao(this.peekCodePoint(0));)R.push(this.consumeCodePoint());K=this.peekCodePoint(0);var _e=this.peekCodePoint(1);if(K===Ii&&ao(_e))for(R.push(this.consumeCodePoint(),this.consumeCodePoint()),$=Qe;ao(this.peekCodePoint(0));)R.push(this.consumeCodePoint());K=this.peekCodePoint(0),_e=this.peekCodePoint(1);var et=this.peekCodePoint(2);if((K===il||K===Zo)&&((_e===Ln||_e===jn)&&ao(et)||ao(_e)))for(R.push(this.consumeCodePoint(),this.consumeCodePoint()),$=Qe;ao(this.peekCodePoint(0));)R.push(this.consumeCodePoint());return[hf(R),$]},U.prototype.consumeNumericToken=function(){var R=this.consumeNumber(),$=R[0],K=R[1],_e=this.peekCodePoint(0),et=this.peekCodePoint(1),Ft=this.peekCodePoint(2);if(ou(_e,et,Ft)){var dn=this.consumeName();return{type:15,number:$,flags:K,unit:dn}}return _e===kr?(this.consumeCodePoint(),{type:16,number:$,flags:K}):{type:17,number:$,flags:K}},U.prototype.consumeEscapedCodePoint=function(){var R=this.consumeCodePoint();if(No(R)){for(var $=H(R);No(this.peekCodePoint(0))&&$.length<6;)$+=H(this.consumeCodePoint());$h(this.peekCodePoint(0))&&this.consumeCodePoint();var K=parseInt($,16);return K===0||sl(K)||K>1114111?Bt:K}return R===ca?Bt:R},U.prototype.consumeName=function(){for(var R="";;){var $=this.consumeCodePoint();if(Ku($))R+=H($);else if(pu($,this.peekCodePoint(0)))R+=H(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint($),R}},U}(),zc=function(){function U(R){this._tokens=R}return U.create=function(R){var $=new Cu;return $.write(R),new U($.read())},U.parseValue=function(R){return U.create(R).parseComponentValue()},U.parseValues=function(R){return U.create(R).parseComponentValues()},U.prototype.parseComponentValue=function(){for(var R=this.consumeToken();R.type===31;)R=this.consumeToken();if(R.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(R);var $=this.consumeComponentValue();do R=this.consumeToken();while(R.type===31);if(R.type===32)return $;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},U.prototype.parseComponentValues=function(){for(var R=[];;){var $=this.consumeComponentValue();if($.type===32)return R;R.push($),R.push()}},U.prototype.consumeComponentValue=function(){var R=this.consumeToken();switch(R.type){case 11:case 28:case 2:return this.consumeSimpleBlock(R.type);case 19:return this.consumeFunction(R)}return R},U.prototype.consumeSimpleBlock=function(R){for(var $={type:R,values:[]},K=this.consumeToken();;){if(K.type===32||Xu(K,R))return $;this.reconsumeToken(K),$.values.push(this.consumeComponentValue()),K=this.consumeToken()}},U.prototype.consumeFunction=function(R){for(var $={name:R.value,values:[],type:18};;){var K=this.consumeToken();if(K.type===32||K.type===3)return $;this.reconsumeToken(K),$.values.push(this.consumeComponentValue())}},U.prototype.consumeToken=function(){var R=this._tokens.shift();return typeof R=="undefined"?vh:R},U.prototype.reconsumeToken=function(R){this._tokens.unshift(R)},U}(),Ul=function(U){return U.type===15},Xl=function(U){return U.type===17},Uo=function(U){return U.type===20},Ld=function(U){return U.type===0},Yc=function(U,R){return Uo(U)&&U.value===R},gl=function(U){return U.type!==31},To=function(U){return U.type!==31&&U.type!==4},ml=function(U){var R=[],$=[];return U.forEach(function(K){if(K.type===4){if($.length===0)throw new Error("Error parsing function args, zero tokens for arg");R.push($),$=[];return}K.type!==31&&$.push(K)}),$.length&&R.push($),R},Xu=function(U,R){return R===11&&U.type===12||R===28&&U.type===29?!0:R===2&&U.type===3},mu=function(U){return U.type===17||U.type===15},Oo=function(U){return U.type===16||mu(U)},Bo=function(U){return U.length>1?[U[0],U[1]]:[U[0]]},_o={type:17,number:0,flags:Oe},na={type:16,number:50,flags:Oe},Wa={type:16,number:100,flags:Oe},yh=function(U,R,$){var K=U[0],_e=U[1];return[Yo(K,R),Yo(typeof _e!="undefined"?_e:K,$)]},Yo=function(U,R){if(U.type===16)return U.number/100*R;if(Ul(U))switch(U.unit){case"rem":case"em":return 16*U.number;case"px":default:return U.number}return U.number},Tu="deg",uu="grad",wc="rad",ac="turn",Lr={name:"angle",parse:function(U,R){if(R.type===15)switch(R.unit){case Tu:return Math.PI*R.number/180;case uu:return Math.PI/200*R.number;case wc:return R.number;case ac:return Math.PI*2*R.number}throw new Error("Unsupported angle type")}},Gr=function(U){return U.type===15&&(U.unit===Tu||U.unit===uu||U.unit===wc||U.unit===ac)},ki=function(U){var R=U.filter(Uo).map(function($){return $.value}).join(" ");switch(R){case"to bottom right":case"to right bottom":case"left top":case"top left":return[_o,_o];case"to top":case"bottom":return ju(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[_o,Wa];case"to right":case"left":return ju(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Wa,Wa];case"to bottom":case"top":return ju(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Wa,_o];case"to left":case"right":return ju(270)}return 0},ju=function(U){return Math.PI*U/180},bl={name:"color",parse:function(U,R){if(R.type===18){var $=rp[R.name];if(typeof $=="undefined")throw new Error('Attempting to parse an unsupported color function "'+R.name+'"');return $(U,R.values)}if(R.type===5){if(R.value.length===3){var K=R.value.substring(0,1),_e=R.value.substring(1,2),et=R.value.substring(2,3);return Ou(parseInt(K+K,16),parseInt(_e+_e,16),parseInt(et+et,16),1)}if(R.value.length===4){var K=R.value.substring(0,1),_e=R.value.substring(1,2),et=R.value.substring(2,3),Ft=R.value.substring(3,4);return Ou(parseInt(K+K,16),parseInt(_e+_e,16),parseInt(et+et,16),parseInt(Ft+Ft,16)/255)}if(R.value.length===6){var K=R.value.substring(0,2),_e=R.value.substring(2,4),et=R.value.substring(4,6);return Ou(parseInt(K,16),parseInt(_e,16),parseInt(et,16),1)}if(R.value.length===8){var K=R.value.substring(0,2),_e=R.value.substring(2,4),et=R.value.substring(4,6),Ft=R.value.substring(6,8);return Ou(parseInt(K,16),parseInt(_e,16),parseInt(et,16),parseInt(Ft,16)/255)}}if(R.type===20){var dn=lc[R.value.toUpperCase()];if(typeof dn!="undefined")return dn}return lc.TRANSPARENT}},qo=function(U){return(255&U)===0},Go=function(U){var R=255&U,$=255&U>>8,K=255&U>>16,_e=255&U>>24;return R<255?"rgba("+_e+","+K+","+$+","+R/255+")":"rgb("+_e+","+K+","+$+")"},Ou=function(U,R,$,K){return(U<<24|R<<16|$<<8|Math.round(K*255)<<0)>>>0},Oh=function(U,R){if(U.type===17)return U.number;if(U.type===16){var $=R===3?1:255;return R===3?U.number/100*$:Math.round(U.number/100*$)}return 0},oc=function(U,R){var $=R.filter(To);if($.length===3){var K=$.map(Oh),_e=K[0],et=K[1],Ft=K[2];return Ou(_e,et,Ft,1)}if($.length===4){var dn=$.map(Oh),_e=dn[0],et=dn[1],Ft=dn[2],fn=dn[3];return Ou(_e,et,Ft,fn)}return 0};function Ca(U,R,$){return $<0&&($+=1),$>=1&&($-=1),$<1/6?(R-U)*$*6+U:$<1/2?R:$<2/3?(R-U)*6*(2/3-$)+U:U}var Ud=function(U,R){var $=R.filter(To),K=$[0],_e=$[1],et=$[2],Ft=$[3],dn=(K.type===17?ju(K.number):Lr.parse(U,K))/(Math.PI*2),fn=Oo(_e)?_e.number/100:0,Ar=Oo(et)?et.number/100:0,ur=typeof Ft!="undefined"&&Oo(Ft)?Yo(Ft,1):1;if(fn===0)return Ou(Ar*255,Ar*255,Ar*255,1);var Ir=Ar<=.5?Ar*(fn+1):Ar+fn-Ar*fn,fi=Ar*2-Ir,Qs=Ca(fi,Ir,dn+1/3),us=Ca(fi,Ir,dn),bs=Ca(fi,Ir,dn-1/3);return Ou(Qs*255,us*255,bs*255,ur)},rp={hsl:Ud,hsla:Ud,rgb:oc,rgba:oc},Xh=function(U,R){return bl.parse(U,zc.create(R).parseComponentValue())},lc={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},wA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(U,R){return R.map(function($){if(Uo($))switch($.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Od={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jh=function(U,R){var $=bl.parse(U,R[0]),K=R[1];return K&&Oo(K)?{color:$,stop:K}:{color:$,stop:null}},SA=function(U,R){var $=U[0],K=U[U.length-1];$.stop===null&&($.stop=_o),K.stop===null&&(K.stop=Wa);for(var _e=[],et=0,Ft=0;Ftet?_e.push(fn):_e.push(et),et=fn}else _e.push(null)}for(var Ar=null,Ft=0;Ft<_e.length;Ft++){var ur=_e[Ft];if(ur===null)Ar===null&&(Ar=Ft);else if(Ar!==null){for(var Ir=Ft-Ar,fi=_e[Ar-1],Qs=(ur-fi)/(Ir+1),us=1;us<=Ir;us++)_e[Ar+us-1]=Qs*us;Ar=null}}return U.map(function(bs,Ja){var fa=bs.color;return{color:fa,stop:Math.max(Math.min(1,_e[Ja]/R),0)}})},md=function(U,R,$){var K=R/2,_e=$/2,et=Yo(U[0],R)-K,Ft=_e-Yo(U[1],$);return(Math.atan2(Ft,et)+Math.PI*2)%(Math.PI*2)},vd=function(U,R,$){var K=typeof U=="number"?U:md(U,R,$),_e=Math.abs(R*Math.sin(K))+Math.abs($*Math.cos(K)),et=R/2,Ft=$/2,dn=_e/2,fn=Math.sin(K-Math.PI/2)*dn,Ar=Math.cos(K-Math.PI/2)*dn;return[_e,et-Ar,et+Ar,Ft-fn,Ft+fn]},mo=function(U,R){return Math.sqrt(U*U+R*R)},wa=function(U,R,$,K,_e){var et=[[0,0],[0,R],[U,0],[U,R]];return et.reduce(function(Ft,dn){var fn=dn[0],Ar=dn[1],ur=mo($-fn,K-Ar);return(_e?urFt.optimumDistance)?{optimumCorner:dn,optimumDistance:ur}:Ft},{optimumDistance:_e?1/0:-1/0,optimumCorner:null}).optimumCorner},Dd=function(U,R,$,K,_e){var et=0,Ft=0;switch(U.size){case 0:U.shape===0?et=Ft=Math.min(Math.abs(R),Math.abs(R-K),Math.abs($),Math.abs($-_e)):U.shape===1&&(et=Math.min(Math.abs(R),Math.abs(R-K)),Ft=Math.min(Math.abs($),Math.abs($-_e)));break;case 2:if(U.shape===0)et=Ft=Math.min(mo(R,$),mo(R,$-_e),mo(R-K,$),mo(R-K,$-_e));else if(U.shape===1){var dn=Math.min(Math.abs($),Math.abs($-_e))/Math.min(Math.abs(R),Math.abs(R-K)),fn=wa(K,_e,R,$,!0),Ar=fn[0],ur=fn[1];et=mo(Ar-R,(ur-$)/dn),Ft=dn*et}break;case 1:U.shape===0?et=Ft=Math.max(Math.abs(R),Math.abs(R-K),Math.abs($),Math.abs($-_e)):U.shape===1&&(et=Math.max(Math.abs(R),Math.abs(R-K)),Ft=Math.max(Math.abs($),Math.abs($-_e)));break;case 3:if(U.shape===0)et=Ft=Math.max(mo(R,$),mo(R,$-_e),mo(R-K,$),mo(R-K,$-_e));else if(U.shape===1){var dn=Math.max(Math.abs($),Math.abs($-_e))/Math.max(Math.abs(R),Math.abs(R-K)),Ir=wa(K,_e,R,$,!1),Ar=Ir[0],ur=Ir[1];et=mo(Ar-R,(ur-$)/dn),Ft=dn*et}break}return Array.isArray(U.size)&&(et=Yo(U.size[0],K),Ft=U.size.length===2?Yo(U.size[1],_e):et),[et,Ft]},qi=function(U,R){var $=ju(180),K=[];return ml(R).forEach(function(_e,et){if(et===0){var Ft=_e[0];if(Ft.type===20&&Ft.value==="to"){$=ki(_e);return}else if(Gr(Ft)){$=Lr.parse(U,Ft);return}}var dn=jh(U,_e);K.push(dn)}),{angle:$,stops:K,type:1}},Du=function(U,R){var $=ju(180),K=[];return ml(R).forEach(function(_e,et){if(et===0){var Ft=_e[0];if(Ft.type===20&&["top","left","right","bottom"].indexOf(Ft.value)!==-1){$=ki(_e);return}else if(Gr(Ft)){$=(Lr.parse(U,Ft)+ju(270))%ju(360);return}}var dn=jh(U,_e);K.push(dn)}),{angle:$,stops:K,type:1}},kn=function(U,R){var $=ju(180),K=[],_e=1,et=0,Ft=3,dn=[];return ml(R).forEach(function(fn,Ar){var ur=fn[0];if(Ar===0){if(Uo(ur)&&ur.value==="linear"){_e=1;return}else if(Uo(ur)&&ur.value==="radial"){_e=2;return}}if(ur.type===18){if(ur.name==="from"){var Ir=bl.parse(U,ur.values[0]);K.push({stop:_o,color:Ir})}else if(ur.name==="to"){var Ir=bl.parse(U,ur.values[0]);K.push({stop:Wa,color:Ir})}else if(ur.name==="color-stop"){var fi=ur.values.filter(To);if(fi.length===2){var Ir=bl.parse(U,fi[1]),Qs=fi[0];Xl(Qs)&&K.push({stop:{type:16,number:Qs.number*100,flags:Qs.flags},color:Ir})}}}}),_e===1?{angle:($+ju(180))%ju(360),stops:K,type:_e}:{size:Ft,shape:et,stops:K,position:dn,type:_e}},kd="closest-side",Yh="farthest-side",vl="closest-corner",He="farthest-corner",me="circle",ce="ellipse",Ze="cover",le="contain",Nt=function(U,R){var $=0,K=3,_e=[],et=[];return ml(R).forEach(function(Ft,dn){var fn=!0;if(dn===0){var Ar=!1;fn=Ft.reduce(function(Ir,fi){if(Ar)if(Uo(fi))switch(fi.value){case"center":return et.push(na),Ir;case"top":case"left":return et.push(_o),Ir;case"right":case"bottom":return et.push(Wa),Ir}else(Oo(fi)||mu(fi))&&et.push(fi);else if(Uo(fi))switch(fi.value){case me:return $=0,!1;case ce:return $=1,!1;case"at":return Ar=!0,!1;case kd:return K=0,!1;case Ze:case Yh:return K=1,!1;case le:case vl:return K=2,!1;case He:return K=3,!1}else if(mu(fi)||Oo(fi))return Array.isArray(K)||(K=[]),K.push(fi),!1;return Ir},fn)}if(fn){var ur=jh(U,Ft);_e.push(ur)}}),{size:K,shape:$,stops:_e,position:et,type:2}},Dt=function(U,R){var $=0,K=3,_e=[],et=[];return ml(R).forEach(function(Ft,dn){var fn=!0;if(dn===0?fn=Ft.reduce(function(ur,Ir){if(Uo(Ir))switch(Ir.value){case"center":return et.push(na),!1;case"top":case"left":return et.push(_o),!1;case"right":case"bottom":return et.push(Wa),!1}else if(Oo(Ir)||mu(Ir))return et.push(Ir),!1;return ur},fn):dn===1&&(fn=Ft.reduce(function(ur,Ir){if(Uo(Ir))switch(Ir.value){case me:return $=0,!1;case ce:return $=1,!1;case le:case kd:return K=0,!1;case Yh:return K=1,!1;case vl:return K=2,!1;case Ze:case He:return K=3,!1}else if(mu(Ir)||Oo(Ir))return Array.isArray(K)||(K=[]),K.push(Ir),!1;return ur},fn)),fn){var Ar=jh(U,Ft);_e.push(Ar)}}),{size:K,shape:$,stops:_e,position:et,type:2}},pn=function(U){return U.type===1},Dn=function(U){return U.type===2},hr={name:"image",parse:function(U,R){if(R.type===22){var $={url:R.value,type:0};return U.cache.addImage(R.value),$}if(R.type===18){var K=yr[R.name];if(typeof K=="undefined")throw new Error('Attempting to parse an unsupported image function "'+R.name+'"');return K(U,R.values)}throw new Error("Unsupported image type "+R.type)}};function br(U){return!(U.type===20&&U.value==="none")&&(U.type!==18||!!yr[U.name])}var yr={"linear-gradient":qi,"-moz-linear-gradient":Du,"-ms-linear-gradient":Du,"-o-linear-gradient":Du,"-webkit-linear-gradient":Du,"radial-gradient":Nt,"-moz-radial-gradient":Dt,"-ms-radial-gradient":Dt,"-o-radial-gradient":Dt,"-webkit-radial-gradient":Dt,"-webkit-gradient":kn},xr={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(U,R){if(R.length===0)return[];var $=R[0];return $.type===20&&$.value==="none"?[]:R.filter(function(K){return To(K)&&br(K)}).map(function(K){return hr.parse(U,K)})}},Fr={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(U,R){return R.map(function($){if(Uo($))switch($.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ri={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(U,R){return ml(R).map(function($){return $.filter(Oo)}).map(Bo)}},ai={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(U,R){return ml(R).map(function($){return $.filter(Uo).map(function(K){return K.value}).join(" ")}).map(wi)}},wi=function(U){switch(U){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},Vi;(function(U){U.AUTO="auto",U.CONTAIN="contain",U.COVER="cover"})(Vi||(Vi={}));var rs={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(U,R){return ml(R).map(function($){return $.filter(as)})}},as=function(U){return Uo(U)||Oo(U)},Bs=function(U){return{name:"border-"+U+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Ls=Bs("top"),zi=Bs("right"),Ni=Bs("bottom"),Ns=Bs("left"),Os=function(U){return{name:"border-radius-"+U,initialValue:"0 0",prefix:!1,type:1,parse:function(R,$){return Bo($.filter(Oo))}}},_a=Os("top-left"),Sa=Os("top-right"),oe=Os("bottom-right"),re=Os("bottom-left"),Y=function(U){return{name:"border-"+U+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(R,$){switch($){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},J=Y("top"),fe=Y("right"),Te=Y("bottom"),De=Y("left"),Le=function(U){return{name:"border-"+U+"-width",initialValue:"0",type:0,prefix:!1,parse:function(R,$){return Ul($)?$.number:0}}},Xe=Le("top"),mt=Le("right"),Kt=Le("bottom"),nn=Le("left"),gn={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Nn={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(U,R){switch(R){case"rtl":return 1;case"ltr":default:return 0}}},$n={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(U,R){return R.filter(Uo).reduce(function($,K){return $|Er(K.value)},0)}},Er=function(U){switch(U){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},mr={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(U,R){switch(R){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},ti={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(U,R){return R.type===20&&R.value==="normal"?0:R.type===17||R.type===15?R.number:0}},jr;(function(U){U.NORMAL="normal",U.STRICT="strict"})(jr||(jr={}));var ui={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(U,R){switch(R){case"strict":return jr.STRICT;case"normal":default:return jr.NORMAL}}},gi={name:"line-height",initialValue:"normal",prefix:!1,type:4},oi=function(U,R){return Uo(U)&&U.value==="normal"?1.2*R:U.type===17?R*U.number:Oo(U)?Yo(U,R):R},ts={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(U,R){return R.type===20&&R.value==="none"?null:hr.parse(U,R)}},fs={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(U,R){switch(R){case"inside":return 0;case"outside":default:return 1}}},Ds={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(U,R){switch(R){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},Ba=function(U){return{name:"margin-"+U,initialValue:"0",prefix:!1,type:4}},Ka=Ba("top"),xo=Ba("right"),aa=Ba("bottom"),di=Ba("left"),Ma={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(U,R){return R.filter(Uo).map(function($){switch($.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},Rs={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(U,R){switch(R){case"break-word":return"break-word";case"normal":default:return"normal"}}},lo=function(U){return{name:"padding-"+U,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Jo=lo("top"),zs=lo("right"),Ya=lo("bottom"),pa=lo("left"),al={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(U,R){switch(R){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},qa={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(U,R){switch(R){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Ua={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(U,R){return R.length===1&&Yc(R[0],"none")?[]:ml(R).map(function($){for(var K={color:lc.TRANSPARENT,offsetX:_o,offsetY:_o,blur:_o},_e=0,et=0;et<$.length;et++){var Ft=$[et];mu(Ft)?(_e===0?K.offsetX=Ft:_e===1?K.offsetY=Ft:K.blur=Ft,_e++):K.color=bl.parse(U,Ft)}return K})}},dl={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(U,R){switch(R){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},Sc={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(U,R){if(R.type===20&&R.value==="none")return null;if(R.type===18){var $=uc[R.name];if(typeof $=="undefined")throw new Error('Attempting to parse an unsupported transform function "'+R.name+'"');return $(R.values)}return null}},zl=function(U){var R=U.filter(function($){return $.type===17}).map(function($){return $.number});return R.length===6?R:null},Gc=function(U){var R=U.filter(function(fn){return fn.type===17}).map(function(fn){return fn.number}),$=R[0],K=R[1];R[2],R[3];var _e=R[4],et=R[5];R[6],R[7],R[8],R[9],R[10],R[11];var Ft=R[12],dn=R[13];return R[14],R[15],R.length===16?[$,K,_e,et,Ft,dn]:null},uc={matrix:zl,matrix3d:Gc},Bu={type:16,number:50,flags:Oe},cu=[Bu,Bu],qc={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(U,R){var $=R.filter(Oo);return $.length!==2?cu:[$[0],$[1]]}},_l={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(U,R){switch(R){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},Ho;(function(U){U.NORMAL="normal",U.BREAK_ALL="break-all",U.KEEP_ALL="keep-all"})(Ho||(Ho={}));for(var jl={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(U,R){switch(R){case"break-all":return Ho.BREAK_ALL;case"keep-all":return Ho.KEEP_ALL;case"normal":default:return Ho.NORMAL}}},Jc={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(U,R){if(R.type===20)return{auto:!0,order:0};if(Xl(R))return{auto:!1,order:R.number};throw new Error("Invalid z-index number parsed")}},eh={name:"time",parse:function(U,R){if(R.type===15)switch(R.unit.toLowerCase()){case"s":return 1e3*R.number;case"ms":return R.number}throw new Error("Unsupported time type")}},df={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(U,R){return Xl(R)?R.number:1}},xh={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},MA={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(U,R){return R.filter(Uo).map(function($){switch($.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function($){return $!==0})}},yl={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(U,R){var $=[],K=[];return R.forEach(function(_e){switch(_e.type){case 20:case 0:$.push(_e.value);break;case 17:$.push(_e.number.toString());break;case 4:K.push($.join(" ")),$.length=0;break}}),$.length&&K.push($.join(" ")),K.map(function(_e){return _e.indexOf(" ")===-1?_e:"'"+_e+"'"})}},Nc={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},bh={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(U,R){if(Xl(R))return R.number;if(Uo(R))switch(R.value){case"bold":return 700;case"normal":default:return 400}return 400}},Wf={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(U,R){return R.filter(Uo).map(function($){return $.value})}},_h={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(U,R){switch(R){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},ol=function(U,R){return(U&R)!==0},Bl={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(U,R){if(R.length===0)return[];var $=R[0];return $.type===20&&$.value==="none"?[]:R}},yd={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(U,R){if(R.length===0)return null;var $=R[0];if($.type===20&&$.value==="none")return null;for(var K=[],_e=R.filter(gl),et=0;et<_e.length;et++){var Ft=_e[et],dn=_e[et+1];if(Ft.type===20){var fn=dn&&Xl(dn)?dn.number:1;K.push({counter:Ft.value,increment:fn})}}return K}},Co={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(U,R){if(R.length===0)return[];for(var $=[],K=R.filter(gl),_e=0;_e1?1:0],this.overflowWrap=Wr(R,Rs,$.overflowWrap),this.paddingTop=Wr(R,Jo,$.paddingTop),this.paddingRight=Wr(R,zs,$.paddingRight),this.paddingBottom=Wr(R,Ya,$.paddingBottom),this.paddingLeft=Wr(R,pa,$.paddingLeft),this.paintOrder=Wr(R,Zf,$.paintOrder),this.position=Wr(R,qa,$.position),this.textAlign=Wr(R,al,$.textAlign),this.textDecorationColor=Wr(R,xh,(K=$.textDecorationColor)!==null&&K!==void 0?K:$.color),this.textDecorationLine=Wr(R,MA,(_e=$.textDecorationLine)!==null&&_e!==void 0?_e:$.textDecoration),this.textShadow=Wr(R,Ua,$.textShadow),this.textTransform=Wr(R,dl,$.textTransform),this.transform=Wr(R,Sc,$.transform),this.transformOrigin=Wr(R,qc,$.transformOrigin),this.visibility=Wr(R,_l,$.visibility),this.webkitTextStrokeColor=Wr(R,ku,$.webkitTextStrokeColor),this.webkitTextStrokeWidth=Wr(R,Dh,$.webkitTextStrokeWidth),this.wordBreak=Wr(R,jl,$.wordBreak),this.zIndex=Wr(R,Jc,$.zIndex)}return U.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},U.prototype.isTransparent=function(){return qo(this.backgroundColor)},U.prototype.isTransformed=function(){return this.transform!==null},U.prototype.isPositioned=function(){return this.position!==0},U.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},U.prototype.isFloating=function(){return this.float!==0},U.prototype.isInlineLevel=function(){return ol(this.display,4)||ol(this.display,33554432)||ol(this.display,268435456)||ol(this.display,536870912)||ol(this.display,67108864)||ol(this.display,134217728)},U}(),EA=function(){function U(R,$){this.content=Wr(R,Bl,$.content),this.quotes=Wr(R,Gl,$.quotes)}return U}(),zu=function(){function U(R,$){this.counterIncrement=Wr(R,yd,$.counterIncrement),this.counterReset=Wr(R,Co,$.counterReset)}return U}(),Wr=function(U,R,$){var K=new Cu,_e=$!==null&&typeof $!="undefined"?$.toString():R.initialValue;K.write(_e);var et=new zc(K.read());switch(R.type){case 2:var Ft=et.parseComponentValue();return R.parse(U,Uo(Ft)?Ft.value:R.initialValue);case 0:return R.parse(U,et.parseComponentValue());case 1:return R.parse(U,et.parseComponentValues());case 4:return et.parseComponentValue();case 3:switch(R.format){case"angle":return Lr.parse(U,et.parseComponentValue());case"color":return bl.parse(U,et.parseComponentValue());case"image":return hr.parse(U,et.parseComponentValue());case"length":var dn=et.parseComponentValue();return mu(dn)?dn:_o;case"length-percentage":var fn=et.parseComponentValue();return Oo(fn)?fn:_o;case"time":return eh.parse(U,et.parseComponentValue())}break}},Hc="data-html2canvas-debug",yu=function(U){var R=U.getAttribute(Hc);switch(R){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},Hl=function(U,R){var $=yu(U);return $===1||R===$},Yl=function(){function U(R,$){if(this.context=R,this.textNodes=[],this.elements=[],this.flags=0,Hl($,3))debugger;this.styles=new Vu(R,window.getComputedStyle($,null)),wf($)&&(this.styles.animationDuration.some(function(K){return K>0})&&($.style.animationDuration="0s"),this.styles.transform!==null&&($.style.transform="none")),this.bounds=F(this.context,$),Hl($,4)&&(this.flags|=16)}return U}(),Ql="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Km="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ol=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),Kf=0;Kf>4,ur[_e++]=(Ft&15)<<4|dn>>2,ur[_e++]=(dn&3)<<6|fn&63;return Ar},ql=function(U){for(var R=U.length,$=[],K=0;K>$f,lm=1<<$f,qh=lm-1,th=1024>>$f,ff=kh+th,Yu=ff,Ui=32,Fc=Yu+Ui,Gu=65536>>wl,CA=1<<$m,Xf=CA-1,cc=function(U,R,$){return U.slice?U.slice(R,$):new Uint16Array(Array.prototype.slice.call(U,R,$))},Vd=function(U,R,$){return U.slice?U.slice(R,$):new Uint32Array(Array.prototype.slice.call(U,R,$))},Ru=function(U,R){var $=Zv(U),K=Array.isArray($)?Rp($):new Uint32Array($),_e=Array.isArray($)?ql($):new Uint16Array($),et=24,Ft=cc(_e,et/2,K[4]/2),dn=K[5]===2?cc(_e,(et+K[4])/2):Vd(K,Math.ceil((et+K[4])/4));return new ka(K[0],K[1],K[2],K[3],Ft,dn)},ka=function(){function U(R,$,K,_e,et,Ft){this.initialValue=R,this.errorValue=$,this.highStart=K,this.highValueIndex=_e,this.index=et,this.data=Ft}return U.prototype.get=function(R){var $;if(R>=0){if(R<55296||R>56319&&R<=65535)return $=this.index[R>>$f],$=($<>$f)],$=($<>wl),$=this.index[$],$+=R>>$f&Xf,$=this.index[$],$=($<=55296&&_e<=56319&&$>10)+55296,Ft%1024+56320)),(_e+1===$||K.length>16384)&&(et+=String.fromCharCode.apply(String,K),K.length=0)}return et},Vh=Ru(Ql),Pc="\xD7",Jh="\xF7",nh=function(U){return Vh.get(U)},Qd=function(U,R,$){var K=$-2,_e=R[K],et=R[$-1],Ft=R[$];if(et===TA&&Ft===Gd)return Pc;if(et===TA||et===Gd||et===Hd||Ft===TA||Ft===Gd||Ft===Hd)return Jh;if(et===_g&&[_g,ip,um,sp].indexOf(Ft)!==-1||(et===um||et===ip)&&(Ft===ip||Ft===Il)||(et===sp||et===Il)&&Ft===Il||Ft===bd||Ft===pf||Ft===Ip||et===zd)return Pc;if(et===bd&&Ft===jf){for(;_e===pf;)_e=R[--K];if(_e===jf)return Pc}if(et===Jl&&Ft===Jl){for(var dn=0;_e===Jl;)dn++,_e=R[--K];if(dn%2===0)return Pc}return Jh},Wd=function(U){var R=cm(U),$=R.length,K=0,_e=0,et=R.map(nh);return{next:function(){if(K>=$)return{done:!0,value:null};for(var Ft=Pc;K<$&&(Ft=Qd(R,et,++K))===Pc;);if(Ft!==Pc||K===$){var dn=wg.apply(null,R.slice(_e,K));return _e=K,{value:dn,done:!1}}return{done:!0,value:null}}}},xu=function(U){for(var R=Wd(U),$=[],K;!(K=R.next()).done;)K.value&&$.push(K.value.slice());return $},Sg=function(U){var R=123;if(U.createRange){var $=U.createRange();if($.getBoundingClientRect){var K=U.createElement("boundtest");K.style.height=R+"px",K.style.display="block",U.body.appendChild(K),$.selectNode(K);var _e=$.getBoundingClientRect(),et=Math.round(_e.height);if(U.body.removeChild(K),et===R)return!0}}return!1},vo=function(U){var R=U.createElement("boundtest");R.style.width="50px",R.style.display="block",R.style.fontSize="12px",R.style.letterSpacing="0px",R.style.wordSpacing="0px",U.body.appendChild(R);var $=U.createRange();R.innerHTML=typeof"".repeat=="function"?"👨".repeat(10):"";var K=R.firstChild,_e=P(K.data).map(function(fn){return H(fn)}),et=0,Ft={},dn=_e.every(function(fn,Ar){$.setStart(K,et),$.setEnd(K,et+fn.length);var ur=$.getBoundingClientRect();et+=fn.length;var Ir=ur.x>Ft.x||ur.y>Ft.y;return Ft=ur,Ar===0?!0:Ir});return U.body.removeChild(R),dn},gf=function(){return typeof new Image().crossOrigin!="undefined"},mf=function(){return typeof new XMLHttpRequest().responseType=="string"},Np=function(U){var R=new Image,$=U.createElement("canvas"),K=$.getContext("2d");if(!K)return!1;R.src="data:image/svg+xml,";try{K.drawImage(R,0,0),$.toDataURL()}catch(_e){return!1}return!0},rh=function(U){return U[0]===0&&U[1]===255&&U[2]===0&&U[3]===255},Mc=function(U){var R=U.createElement("canvas"),$=100;R.width=$,R.height=$;var K=R.getContext("2d");if(!K)return Promise.reject(!1);K.fillStyle="rgb(0, 255, 0)",K.fillRect(0,0,$,$);var _e=new Image,et=R.toDataURL();_e.src=et;var Ft=ih($,$,0,0,_e);return K.fillStyle="red",K.fillRect(0,0,$,$),Fp(Ft).then(function(dn){K.drawImage(dn,0,0);var fn=K.getImageData(0,0,$,$).data;K.fillStyle="red",K.fillRect(0,0,$,$);var Ar=U.createElement("div");return Ar.style.backgroundImage="url("+et+")",Ar.style.height=$+"px",rh(fn)?Fp(ih($,$,0,0,Ar)):Promise.reject(!1)}).then(function(dn){return K.drawImage(dn,0,0),rh(K.getImageData(0,0,$,$).data)}).catch(function(){return!1})},ih=function(U,R,$,K,_e){var et="http://www.w3.org/2000/svg",Ft=document.createElementNS(et,"svg"),dn=document.createElementNS(et,"foreignObject");return Ft.setAttributeNS(null,"width",U.toString()),Ft.setAttributeNS(null,"height",R.toString()),dn.setAttributeNS(null,"width","100%"),dn.setAttributeNS(null,"height","100%"),dn.setAttributeNS(null,"x",$.toString()),dn.setAttributeNS(null,"y",K.toString()),dn.setAttributeNS(null,"externalResourcesRequired","true"),Ft.appendChild(dn),dn.appendChild(_e),Ft},Fp=function(U){return new Promise(function(R,$){var K=new Image;K.onload=function(){return R(K)},K.onerror=$,K.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(U))})},Ra={get SUPPORT_RANGE_BOUNDS(){var U=Sg(document);return Object.defineProperty(Ra,"SUPPORT_RANGE_BOUNDS",{value:U}),U},get SUPPORT_WORD_BREAKING(){var U=Ra.SUPPORT_RANGE_BOUNDS&&vo(document);return Object.defineProperty(Ra,"SUPPORT_WORD_BREAKING",{value:U}),U},get SUPPORT_SVG_DRAWING(){var U=Np(document);return Object.defineProperty(Ra,"SUPPORT_SVG_DRAWING",{value:U}),U},get SUPPORT_FOREIGNOBJECT_DRAWING(){var U=typeof Array.from=="function"&&typeof window.fetch=="function"?Mc(document):Promise.resolve(!1);return Object.defineProperty(Ra,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:U}),U},get SUPPORT_CORS_IMAGES(){var U=gf();return Object.defineProperty(Ra,"SUPPORT_CORS_IMAGES",{value:U}),U},get SUPPORT_RESPONSE_TYPE(){var U=mf();return Object.defineProperty(Ra,"SUPPORT_RESPONSE_TYPE",{value:U}),U},get SUPPORT_CORS_XHR(){var U="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ra,"SUPPORT_CORS_XHR",{value:U}),U},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var U=!!(typeof Intl!="undefined"&&Intl.Segmenter);return Object.defineProperty(Ra,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:U}),U}},Hu=function(){function U(R,$){this.text=R,this.bounds=$}return U}(),vf=function(U,R,$,K){var _e=BA(R,$),et=[],Ft=0;return _e.forEach(function(dn){if($.textDecorationLine.length||dn.trim().length>0)if(Ra.SUPPORT_RANGE_BOUNDS){var fn=wh(K,Ft,dn.length).getClientRects();if(fn.length>1){var Ar=Iu(dn),ur=0;Ar.forEach(function(fi){et.push(new Hu(fi,E.fromDOMRectList(U,wh(K,ur+Ft,fi.length).getClientRects()))),ur+=fi.length})}else et.push(new Hu(dn,E.fromDOMRectList(U,fn)))}else{var Ir=K.splitText(dn.length);et.push(new Hu(dn,_d(U,K))),K=Ir}else Ra.SUPPORT_RANGE_BOUNDS||(K=K.splitText(dn.length));Ft+=dn.length}),et},_d=function(U,R){var $=R.ownerDocument;if($){var K=$.createElement("html2canvaswrapper");K.appendChild(R.cloneNode(!0));var _e=R.parentNode;if(_e){_e.replaceChild(K,R);var et=F(U,K);return K.firstChild&&_e.replaceChild(K.firstChild,K),et}}return E.EMPTY},wh=function(U,R,$){var K=U.ownerDocument;if(!K)throw new Error("Node has no owner document");var _e=K.createRange();return _e.setStart(U,R),_e.setEnd(U,R+$),_e},Iu=function(U){if(Ra.SUPPORT_NATIVE_TEXT_SEGMENTATION){var R=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(R.segment(U)).map(function($){return $.segment})}return xu(U)},yf=function(U,R){if(Ra.SUPPORT_NATIVE_TEXT_SEGMENTATION){var $=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from($.segment(U)).map(function(K){return K.segment})}return xf(U,R)},BA=function(U,R){return R.letterSpacing!==0?Iu(U):yf(U,R)},Lc=[32,160,4961,65792,65793,4153,4241],xf=function(U,R){for(var $=At(U,{lineBreak:R.lineBreak,wordBreak:R.overflowWrap==="break-word"?"break-word":R.wordBreak}),K=[],_e,et=function(){if(_e.value){var Ft=_e.value.slice(),dn=P(Ft),fn="";dn.forEach(function(Ar){Lc.indexOf(Ar)===-1?fn+=H(Ar):(fn.length&&K.push(fn),K.push(H(Ar)),fn="")}),fn.length&&K.push(fn)}};!(_e=$.next()).done;)et();return K},Sh=function(){function U(R,$,K){this.text=bf($.data,K.textTransform),this.textBounds=vf(R,this.text,K,$)}return U}(),bf=function(U,R){switch(R){case 1:return U.toLowerCase();case 3:return U.replace(Yf,RA);case 2:return U.toUpperCase();default:return U}},Yf=/(^|\s|:|-|\(|\))([a-z])/g,RA=function(U,R,$){return U.length>0?R+$.toUpperCase():U},wd=function(U){b(R,U);function R($,K){var _e=U.call(this,$,K)||this;return _e.src=K.currentSrc||K.src,_e.intrinsicWidth=K.naturalWidth,_e.intrinsicHeight=K.naturalHeight,_e.context.cache.addImage(_e.src),_e}return R}(Yl),sh=function(U){b(R,U);function R($,K){var _e=U.call(this,$,K)||this;return _e.canvas=K,_e.intrinsicWidth=K.width,_e.intrinsicHeight=K.height,_e}return R}(Yl),Sd=function(U){b(R,U);function R($,K){var _e=U.call(this,$,K)||this,et=new XMLSerializer,Ft=F($,K);return K.setAttribute("width",Ft.width+"px"),K.setAttribute("height",Ft.height+"px"),_e.svg="data:image/svg+xml,"+encodeURIComponent(et.serializeToString(K)),_e.intrinsicWidth=K.width.baseVal.value,_e.intrinsicHeight=K.height.baseVal.value,_e.context.cache.addImage(_e.svg),_e}return R}(Yl),IA=function(U){b(R,U);function R($,K){var _e=U.call(this,$,K)||this;return _e.value=K.value,_e}return R}(Yl),NA=function(U){b(R,U);function R($,K){var _e=U.call(this,$,K)||this;return _e.start=K.start,_e.reversed=typeof K.reversed=="boolean"&&K.reversed===!0,_e}return R}(Yl),qf=[{type:15,flags:0,unit:"px",number:3}],Mg=[{type:16,flags:0,number:50}],hm=function(U){return U.width>U.height?new E(U.left+(U.width-U.height)/2,U.top,U.height,U.height):U.width0)$.textNodes.push(new Sh(U,_e,$.styles));else if(tA(_e))if(fm(_e)&&_e.assignedNodes)_e.assignedNodes().forEach(function(dn){return _f(U,dn,$,K)});else{var Ft=eA(U,_e);Ft.styles.isVisible()&&(Oi(_e,Ft,K)?Ft.flags|=4:op(Ft.styles)&&(Ft.flags|=2),Op.indexOf(_e.tagName)!==-1&&(Ft.flags|=8),$.elements.push(Ft),_e.slot,_e.shadowRoot?_f(U,_e.shadowRoot,Ft,K):!Ec(_e)&&!Do(_e)&&!zh(_e)&&_f(U,_e,Ft,K))}},eA=function(U,R){return lp(R)?new wd(U,R):Qc(R)?new sh(U,R):Do(R)?new Sd(U,R):Mh(R)?new IA(U,R):Ed(R)?new NA(U,R):Eg(R)?new Pp(U,R):zh(R)?new Lp(U,R):Ec(R)?new Md(U,R):wo(R)?new Up(U,R):new Yl(U,R)},Zd=function(U,R){var $=eA(U,R);return $.flags|=4,_f(U,R,$,$),$},Oi=function(U,R,$){return R.styles.isPositionedWithZIndex()||R.styles.opacity<1||R.styles.isTransformed()||$d(U)&&$.styles.isTransparent()},op=function(U){return U.isPositioned()||U.isFloating()},ah=function(U){return U.nodeType===Node.TEXT_NODE},tA=function(U){return U.nodeType===Node.ELEMENT_NODE},wf=function(U){return tA(U)&&typeof U.style!="undefined"&&!Kd(U)},Kd=function(U){return typeof U.className=="object"},Mh=function(U){return U.tagName==="LI"},Ed=function(U){return U.tagName==="OL"},Eg=function(U){return U.tagName==="INPUT"},Dp=function(U){return U.tagName==="HTML"},Do=function(U){return U.tagName==="svg"},$d=function(U){return U.tagName==="BODY"},Qc=function(U){return U.tagName==="CANVAS"},Eh=function(U){return U.tagName==="VIDEO"},lp=function(U){return U.tagName==="IMG"},wo=function(U){return U.tagName==="IFRAME"},Ch=function(U){return U.tagName==="STYLE"},Cg=function(U){return U.tagName==="SCRIPT"},Ec=function(U){return U.tagName==="TEXTAREA"},zh=function(U){return U.tagName==="SELECT"},fm=function(U){return U.tagName==="SLOT"},Xd=function(U){return U.tagName.indexOf("-")>0},qu=function(){function U(){this.counters={}}return U.prototype.getCounterValue=function(R){var $=this.counters[R];return $&&$.length?$[$.length-1]:1},U.prototype.getCounterValues=function(R){var $=this.counters[R];return $||[]},U.prototype.pop=function(R){var $=this;R.forEach(function(K){return $.counters[K].pop()})},U.prototype.parse=function(R){var $=this,K=R.counterIncrement,_e=R.counterReset,et=!0;K!==null&&K.forEach(function(dn){var fn=$.counters[dn.counter];fn&&dn.increment!==0&&(et=!1,fn.length||fn.push(1),fn[Math.max(0,fn.length-1)]+=dn.increment)});var Ft=[];return et&&_e.forEach(function(dn){var fn=$.counters[dn.counter];Ft.push(dn.counter),fn||(fn=$.counters[dn.counter]=[]),fn.push(dn.reset)}),Ft},U}(),Th={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},oh={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054F","\u054E","\u054D","\u054C","\u054B","\u054A","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053F","\u053E","\u053D","\u053C","\u053B","\u053A","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},kp={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05D9\u05F3","\u05D8\u05F3","\u05D7\u05F3","\u05D6\u05F3","\u05D5\u05F3","\u05D4\u05F3","\u05D3\u05F3","\u05D2\u05F3","\u05D1\u05F3","\u05D0\u05F3","\u05EA","\u05E9","\u05E8","\u05E7","\u05E6","\u05E4","\u05E2","\u05E1","\u05E0","\u05DE","\u05DC","\u05DB","\u05D9\u05D8","\u05D9\u05D7","\u05D9\u05D6","\u05D8\u05D6","\u05D8\u05D5","\u05D9","\u05D8","\u05D7","\u05D6","\u05D5","\u05D4","\u05D3","\u05D2","\u05D1","\u05D0"]},Sf={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10F5","\u10F0","\u10EF","\u10F4","\u10EE","\u10ED","\u10EC","\u10EB","\u10EA","\u10E9","\u10E8","\u10E7","\u10E6","\u10E5","\u10E4","\u10F3","\u10E2","\u10E1","\u10E0","\u10DF","\u10DE","\u10DD","\u10F2","\u10DC","\u10DB","\u10DA","\u10D9","\u10D8","\u10D7","\u10F1","\u10D6","\u10D5","\u10D4","\u10D3","\u10D2","\u10D1","\u10D0"]},Gh=function(U,R,$,K,_e,et){return U$?_u(U,_e,et.length>0):K.integers.reduce(function(Ft,dn,fn){for(;U>=dn;)U-=dn,Ft+=K.values[fn];return Ft},"")+et},Mf=function(U,R,$,K){var _e="";do $||U--,_e=K(U)+_e,U/=R;while(U*R>=R);return _e},bu=function(U,R,$,K,_e){var et=$-R+1;return(U<0?"-":"")+(Mf(Math.abs(U),et,K,function(Ft){return H(Math.floor(Ft%et)+R)})+_e)},eu=function(U,R,$){$===void 0&&($=". ");var K=R.length;return Mf(Math.abs(U),K,!1,function(_e){return R[Math.floor(_e%K)]})+$},Ef=1,Dl=2,Bh=4,Cf=8,tu=function(U,R,$,K,_e,et){if(U<-9999||U>9999)return _u(U,4,_e.length>0);var Ft=Math.abs(U),dn=_e;if(Ft===0)return R[0]+dn;for(var fn=0;Ft>0&&fn<=4;fn++){var Ar=Ft%10;Ar===0&&ol(et,Ef)&&dn!==""?dn=R[Ar]+dn:Ar>1||Ar===1&&fn===0||Ar===1&&fn===1&&ol(et,Dl)||Ar===1&&fn===1&&ol(et,Bh)&&U>100||Ar===1&&fn>1&&ol(et,Cf)?dn=R[Ar]+(fn>0?$[fn-1]:"")+dn:Ar===1&&fn>0&&(dn=$[fn-1]+dn),Ft=Math.floor(Ft/10)}return(U<0?K:"")+dn},FA="\u5341\u767E\u5343\u842C",Wc="\u62FE\u4F70\u4EDF\u842C",PA="\u30DE\u30A4\u30CA\u30B9",jd="\uB9C8\uC774\uB108\uC2A4",_u=function(U,R,$){var K=$?". ":"",_e=$?"\u3001":"",et=$?", ":"",Ft=$?" ":"";switch(R){case 0:return"\u2022"+Ft;case 1:return"\u25E6"+Ft;case 2:return"\u25FE"+Ft;case 5:var dn=bu(U,48,57,!0,K);return dn.length<4?"0"+dn:dn;case 4:return eu(U,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",_e);case 6:return Gh(U,1,3999,Th,3,K).toLowerCase();case 7:return Gh(U,1,3999,Th,3,K);case 8:return bu(U,945,969,!1,K);case 9:return bu(U,97,122,!1,K);case 10:return bu(U,65,90,!1,K);case 11:return bu(U,1632,1641,!0,K);case 12:case 49:return Gh(U,1,9999,oh,3,K);case 35:return Gh(U,1,9999,oh,3,K).toLowerCase();case 13:return bu(U,2534,2543,!0,K);case 14:case 30:return bu(U,6112,6121,!0,K);case 15:return eu(U,"\u5B50\u4E11\u5BC5\u536F\u8FB0\u5DF3\u5348\u672A\u7533\u9149\u620C\u4EA5",_e);case 16:return eu(U,"\u7532\u4E59\u4E19\u4E01\u620A\u5DF1\u5E9A\u8F9B\u58EC\u7678",_e);case 17:case 48:return tu(U,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",FA,"\u8CA0",_e,Dl|Bh|Cf);case 47:return tu(U,"\u96F6\u58F9\u8CB3\u53C3\u8086\u4F0D\u9678\u67D2\u634C\u7396",Wc,"\u8CA0",_e,Ef|Dl|Bh|Cf);case 42:return tu(U,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",FA,"\u8D1F",_e,Dl|Bh|Cf);case 41:return tu(U,"\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396",Wc,"\u8D1F",_e,Ef|Dl|Bh|Cf);case 26:return tu(U,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u4E07",PA,_e,0);case 25:return tu(U,"\u96F6\u58F1\u5F10\u53C2\u56DB\u4F0D\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343\u4E07",PA,_e,Ef|Dl|Bh);case 31:return tu(U,"\uC601\uC77C\uC774\uC0BC\uC0AC\uC624\uC721\uCE60\uD314\uAD6C","\uC2ED\uBC31\uCC9C\uB9CC",jd,et,Ef|Dl|Bh);case 33:return tu(U,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u842C",jd,et,0);case 32:return tu(U,"\u96F6\u58F9\u8CB3\u53C3\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343",jd,et,Ef|Dl|Bh);case 18:return bu(U,2406,2415,!0,K);case 20:return Gh(U,1,19999,Sf,3,K);case 21:return bu(U,2790,2799,!0,K);case 22:return bu(U,2662,2671,!0,K);case 22:return Gh(U,1,10999,kp,3,K);case 23:return eu(U,"\u3042\u3044\u3046\u3048\u304A\u304B\u304D\u304F\u3051\u3053\u3055\u3057\u3059\u305B\u305D\u305F\u3061\u3064\u3066\u3068\u306A\u306B\u306C\u306D\u306E\u306F\u3072\u3075\u3078\u307B\u307E\u307F\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308A\u308B\u308C\u308D\u308F\u3090\u3091\u3092\u3093");case 24:return eu(U,"\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092\u308F\u304B\u3088\u305F\u308C\u305D\u3064\u306D\u306A\u3089\u3080\u3046\u3090\u306E\u304A\u304F\u3084\u307E\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304D\u3086\u3081\u307F\u3057\u3091\u3072\u3082\u305B\u3059");case 27:return bu(U,3302,3311,!0,K);case 28:return eu(U,"\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F0\u30F1\u30F2\u30F3",_e);case 29:return eu(U,"\u30A4\u30ED\u30CF\u30CB\u30DB\u30D8\u30C8\u30C1\u30EA\u30CC\u30EB\u30F2\u30EF\u30AB\u30E8\u30BF\u30EC\u30BD\u30C4\u30CD\u30CA\u30E9\u30E0\u30A6\u30F0\u30CE\u30AA\u30AF\u30E4\u30DE\u30B1\u30D5\u30B3\u30A8\u30C6\u30A2\u30B5\u30AD\u30E6\u30E1\u30DF\u30B7\u30F1\u30D2\u30E2\u30BB\u30B9",_e);case 34:return bu(U,3792,3801,!0,K);case 37:return bu(U,6160,6169,!0,K);case 38:return bu(U,4160,4169,!0,K);case 39:return bu(U,2918,2927,!0,K);case 40:return bu(U,1776,1785,!0,K);case 43:return bu(U,3046,3055,!0,K);case 44:return bu(U,3174,3183,!0,K);case 45:return bu(U,3664,3673,!0,K);case 46:return bu(U,3872,3881,!0,K);case 3:default:return bu(U,48,57,!0,K)}},Yd="data-html2canvas-ignore",up=function(){function U(R,$,K){if(this.context=R,this.options=K,this.scrolledElements=[],this.referenceElement=$,this.counters=new qu,this.quoteDepth=0,!$.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode($.ownerDocument.documentElement,!1)}return U.prototype.toIFrame=function(R,$){var K=this,_e=Xm(R,$);if(!_e.contentWindow)return Promise.reject("Unable to find iframe window");var et=R.defaultView.pageXOffset,Ft=R.defaultView.pageYOffset,dn=_e.contentWindow,fn=dn.document,Ar=cp(_e).then(function(){return Z(K,void 0,void 0,function(){var ur,Ir;return V(this,function(fi){switch(fi.label){case 0:return this.scrolledElements.forEach(Vp),dn&&(dn.scrollTo($.left,$.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(dn.scrollY!==$.top||dn.scrollX!==$.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(dn.scrollX-$.left,dn.scrollY-$.top,0,0))),ur=this.options.onclone,Ir=this.clonedReferenceElement,typeof Ir=="undefined"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:fn.fonts&&fn.fonts.ready?[4,fn.fonts.ready]:[3,2];case 1:fi.sent(),fi.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Tf(fn)]:[3,4];case 3:fi.sent(),fi.label=4;case 4:return typeof ur=="function"?[2,Promise.resolve().then(function(){return ur(fn,Ir)}).then(function(){return _e})]:[2,_e]}})})});return fn.open(),fn.write(nA(document.doctype)+""),LA(this.referenceElement.ownerDocument,et,Ft),fn.replaceChild(fn.adoptNode(this.documentElement),fn.documentElement),fn.close(),Ar},U.prototype.createElementClone=function(R){if(Hl(R,2))debugger;if(Qc(R))return this.createCanvasClone(R);if(Eh(R))return this.createVideoClone(R);if(Ch(R))return this.createStyleClone(R);var $=R.cloneNode(!1);return lp($)&&(lp(R)&&R.currentSrc&&R.currentSrc!==R.src&&($.src=R.currentSrc,$.srcset=""),$.loading==="lazy"&&($.loading="eager")),Xd($)?this.createCustomElementClone($):$},U.prototype.createCustomElementClone=function(R){var $=document.createElement("html2canvascustomelement");return nd(R.style,$),$},U.prototype.createStyleClone=function(R){try{var $=R.sheet;if($&&$.cssRules){var K=[].slice.call($.cssRules,0).reduce(function(et,Ft){return Ft&&typeof Ft.cssText=="string"?et+Ft.cssText:et},""),_e=R.cloneNode(!1);return _e.textContent=K,_e}}catch(et){if(this.context.logger.error("Unable to access cssRules property",et),et.name!=="SecurityError")throw et}return R.cloneNode(!1)},U.prototype.createCanvasClone=function(R){var $;if(this.options.inlineImages&&R.ownerDocument){var K=R.ownerDocument.createElement("img");try{return K.src=R.toDataURL(),K}catch(Ar){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",R)}}var _e=R.cloneNode(!1);try{_e.width=R.width,_e.height=R.height;var et=R.getContext("2d"),Ft=_e.getContext("2d");if(Ft)if(!this.options.allowTaint&&et)Ft.putImageData(et.getImageData(0,0,R.width,R.height),0,0);else{var dn=($=R.getContext("webgl2"))!==null&&$!==void 0?$:R.getContext("webgl");if(dn){var fn=dn.getContextAttributes();(fn==null?void 0:fn.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",R)}Ft.drawImage(R,0,0)}return _e}catch(Ar){this.context.logger.info("Unable to clone canvas as it is tainted",R)}return _e},U.prototype.createVideoClone=function(R){var $=R.ownerDocument.createElement("canvas");$.width=R.offsetWidth,$.height=R.offsetHeight;var K=$.getContext("2d");try{return K&&(K.drawImage(R,0,0,$.width,$.height),this.options.allowTaint||K.getImageData(0,0,$.width,$.height)),$}catch(et){this.context.logger.info("Unable to clone video as it is tainted",R)}var _e=R.ownerDocument.createElement("canvas");return _e.width=R.offsetWidth,_e.height=R.offsetHeight,_e},U.prototype.appendChildNode=function(R,$,K){(!tA($)||!Cg($)&&!$.hasAttribute(Yd)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements($)))&&(!this.options.copyStyles||!tA($)||!Ch($))&&R.appendChild(this.cloneNode($,K))},U.prototype.cloneChildNodes=function(R,$,K){for(var _e=this,et=R.shadowRoot?R.shadowRoot.firstChild:R.firstChild;et;et=et.nextSibling)if(tA(et)&&fm(et)&&typeof et.assignedNodes=="function"){var Ft=et.assignedNodes();Ft.length&&Ft.forEach(function(dn){return _e.appendChildNode($,dn,K)})}else this.appendChildNode($,et,K)},U.prototype.cloneNode=function(R,$){if(ah(R))return document.createTextNode(R.data);if(!R.ownerDocument)return R.cloneNode(!1);var K=R.ownerDocument.defaultView;if(K&&tA(R)&&(wf(R)||Kd(R))){var _e=this.createElementClone(R);_e.style.transitionProperty="none";var et=K.getComputedStyle(R),Ft=K.getComputedStyle(R,":before"),dn=K.getComputedStyle(R,":after");this.referenceElement===R&&wf(_e)&&(this.clonedReferenceElement=_e),$d(_e)&&Kv(_e);var fn=this.counters.parse(new zu(this.context,et)),Ar=this.resolvePseudoContent(R,_e,Ft,lh.BEFORE);Xd(R)&&($=!0),Eh(R)||this.cloneChildNodes(R,_e,$),Ar&&_e.insertBefore(Ar,_e.firstChild);var ur=this.resolvePseudoContent(R,_e,dn,lh.AFTER);return ur&&_e.appendChild(ur),this.counters.pop(fn),(et&&(this.options.copyStyles||Kd(R))&&!wo(R)||$)&&nd(et,_e),(R.scrollTop!==0||R.scrollLeft!==0)&&this.scrolledElements.push([_e,R.scrollLeft,R.scrollTop]),(Ec(R)||zh(R))&&(Ec(_e)||zh(_e))&&(_e.value=R.value),_e}return R.cloneNode(!1)},U.prototype.resolvePseudoContent=function(R,$,K,_e){var et=this;if(K){var Ft=K.content,dn=$.ownerDocument;if(!(!dn||!Ft||Ft==="none"||Ft==="-moz-alt-content"||K.display==="none")){this.counters.parse(new zu(this.context,K));var fn=new EA(this.context,K),Ar=dn.createElement("html2canvaspseudoelement");nd(K,Ar),fn.content.forEach(function(Ir){if(Ir.type===0)Ar.appendChild(dn.createTextNode(Ir.value));else if(Ir.type===22){var fi=dn.createElement("img");fi.src=Ir.value,fi.style.opacity="1",Ar.appendChild(fi)}else if(Ir.type===18){if(Ir.name==="attr"){var Qs=Ir.values.filter(Uo);Qs.length&&Ar.appendChild(dn.createTextNode(R.getAttribute(Qs[0].value)||""))}else if(Ir.name==="counter"){var us=Ir.values.filter(To),bs=us[0],Ja=us[1];if(bs&&Uo(bs)){var fa=et.counters.getCounterValue(bs.value),ea=Ja&&Uo(Ja)?Ds.parse(et.context,Ja.value):3;Ar.appendChild(dn.createTextNode(_u(fa,ea,!1)))}}else if(Ir.name==="counters"){var ko=Ir.values.filter(To),bs=ko[0],uo=ko[1],Ja=ko[2];if(bs&&Uo(bs)){var Oa=et.counters.getCounterValues(bs.value),ks=Ja&&Uo(Ja)?Ds.parse(et.context,Ja.value):3,So=uo&&uo.type===0?uo.value:"",eo=Oa.map(function(wu){return _u(wu,ks,!1)}).join(So);Ar.appendChild(dn.createTextNode(eo))}}}else if(Ir.type===20)switch(Ir.value){case"open-quote":Ar.appendChild(dn.createTextNode(Ea(fn.quotes,et.quoteDepth++,!0)));break;case"close-quote":Ar.appendChild(dn.createTextNode(Ea(fn.quotes,--et.quoteDepth,!1)));break;default:Ar.appendChild(dn.createTextNode(Ir.value))}}),Ar.className=UA+" "+hp;var ur=_e===lh.BEFORE?" "+UA:" "+hp;return Kd($)?$.className.baseValue+=ur:$.className+=ur,Ar}}},U.destroy=function(R){return R.parentNode?(R.parentNode.removeChild(R),!0):!1},U}(),lh;(function(U){U[U.BEFORE=0]="BEFORE",U[U.AFTER=1]="AFTER"})(lh||(lh={}));var Xm=function(U,R){var $=U.createElement("iframe");return $.className="html2canvas-container",$.style.visibility="hidden",$.style.position="fixed",$.style.left="-10000px",$.style.top="0px",$.style.border="0",$.width=R.width.toString(),$.height=R.height.toString(),$.scrolling="no",$.setAttribute(Yd,"true"),U.body.appendChild($),$},fl=function(U){return new Promise(function(R){if(U.complete){R();return}if(!U.src){R();return}U.onload=R,U.onerror=R})},Tf=function(U){return Promise.all([].slice.call(U.images,0).map(fl))},cp=function(U){return new Promise(function(R,$){var K=U.contentWindow;if(!K)return $("No window assigned for iframe");var _e=K.document;K.onload=U.onload=function(){K.onload=U.onload=null;var et=setInterval(function(){_e.body.childNodes.length>0&&_e.readyState==="complete"&&(clearInterval(et),R(U))},50)}})},Tg=["all","d","content"],nd=function(U,R){for(var $=U.length-1;$>=0;$--){var K=U.item($);Tg.indexOf(K)===-1&&R.style.setProperty(K,U.getPropertyValue(K))}return R},nA=function(U){var R="";return U&&(R+=""),R},LA=function(U,R,$){U&&U.defaultView&&(R!==U.defaultView.pageXOffset||$!==U.defaultView.pageYOffset)&&U.defaultView.scrollTo(R,$)},Vp=function(U){var R=U[0],$=U[1],K=U[2];R.scrollLeft=$,R.scrollTop=K},qd=":before",rA=":after",UA="___html2canvas___pseudoelement_before",hp="___html2canvas___pseudoelement_after",dp=`{ - content: "" !important; - display: none !important; -}`,Kv=function(U){jm(U,"."+UA+qd+dp+` - .`+hp+rA+dp)},jm=function(U,R){var $=U.ownerDocument;if($){var K=$.createElement("style");K.textContent=R,U.appendChild(K)}},fp=function(){function U(){}return U.getOrigin=function(R){var $=U._link;return $?($.href=R,$.href=$.href,$.protocol+$.hostname+$.port):"about:blank"},U.isSameOrigin=function(R){return U.getOrigin(R)===U._origin},U.setContext=function(R){U._link=R.document.createElement("a"),U._origin=U.getOrigin(R.location.href)},U._origin="about:blank",U}(),rd=function(){function U(R,$){this.context=R,this._options=$,this._cache={}}return U.prototype.addImage=function(R){var $=Promise.resolve();return this.has(R)||(OA(R)||Ym(R))&&(this._cache[R]=this.loadImage(R)).catch(function(){}),$},U.prototype.match=function(R){return this._cache[R]},U.prototype.loadImage=function(R){return Z(this,void 0,void 0,function(){var $,K,_e,et,Ft=this;return V(this,function(dn){switch(dn.label){case 0:return $=fp.isSameOrigin(R),K=!k0(R)&&this._options.useCORS===!0&&Ra.SUPPORT_CORS_IMAGES&&!$,_e=!k0(R)&&!$&&!OA(R)&&typeof this._options.proxy=="string"&&Ra.SUPPORT_CORS_XHR&&!K,!$&&this._options.allowTaint===!1&&!k0(R)&&!OA(R)&&!_e&&!K?[2]:(et=R,_e?[4,this.proxy(et)]:[3,2]);case 1:et=dn.sent(),dn.label=2;case 2:return this.context.logger.debug("Added image "+R.substring(0,256)),[4,new Promise(function(fn,Ar){var ur=new Image;ur.onload=function(){return fn(ur)},ur.onerror=Ar,(gm(et)||K)&&(ur.crossOrigin="anonymous"),ur.src=et,ur.complete===!0&&setTimeout(function(){return fn(ur)},500),Ft._options.imageTimeout>0&&setTimeout(function(){return Ar("Timed out ("+Ft._options.imageTimeout+"ms) loading image")},Ft._options.imageTimeout)})];case 3:return[2,dn.sent()]}})})},U.prototype.has=function(R){return typeof this._cache[R]!="undefined"},U.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},U.prototype.proxy=function(R){var $=this,K=this._options.proxy;if(!K)throw new Error("No proxy defined");var _e=R.substring(0,256);return new Promise(function(et,Ft){var dn=Ra.SUPPORT_RESPONSE_TYPE?"blob":"text",fn=new XMLHttpRequest;fn.onload=function(){if(fn.status===200)if(dn==="text")et(fn.response);else{var Ir=new FileReader;Ir.addEventListener("load",function(){return et(Ir.result)},!1),Ir.addEventListener("error",function(fi){return Ft(fi)},!1),Ir.readAsDataURL(fn.response)}else Ft("Failed to proxy resource "+_e+" with status code "+fn.status)},fn.onerror=Ft;var Ar=K.indexOf("?")>-1?"&":"?";if(fn.open("GET",""+K+Ar+"url="+encodeURIComponent(R)+"&responseType="+dn),dn!=="text"&&fn instanceof XMLHttpRequest&&(fn.responseType=dn),$._options.imageTimeout){var ur=$._options.imageTimeout;fn.timeout=ur,fn.ontimeout=function(){return Ft("Timed out ("+ur+"ms) proxying "+_e)}}fn.send()})},U}(),Am=/^data:image\/svg\+xml/i,pm=/^data:image\/.*;base64,/i,D0=/^data:image\/.*/i,Ym=function(U){return Ra.SUPPORT_SVG_DRAWING||!DA(U)},k0=function(U){return D0.test(U)},gm=function(U){return pm.test(U)},OA=function(U){return U.substr(0,4)==="blob"},DA=function(U){return U.substr(-3).toLowerCase()==="svg"||Am.test(U)},Us=function(){function U(R,$){this.type=0,this.x=R,this.y=$}return U.prototype.add=function(R,$){return new U(this.x+R,this.y+$)},U}(),Cd=function(U,R,$){return new Us(U.x+(R.x-U.x)*$,U.y+(R.y-U.y)*$)},iA=function(){function U(R,$,K,_e){this.type=1,this.start=R,this.startControl=$,this.endControl=K,this.end=_e}return U.prototype.subdivide=function(R,$){var K=Cd(this.start,this.startControl,R),_e=Cd(this.startControl,this.endControl,R),et=Cd(this.endControl,this.end,R),Ft=Cd(K,_e,R),dn=Cd(_e,et,R),fn=Cd(Ft,dn,R);return $?new U(this.start,K,Ft,fn):new U(fn,dn,et,this.end)},U.prototype.add=function(R,$){return new U(this.start.add(R,$),this.startControl.add(R,$),this.endControl.add(R,$),this.end.add(R,$))},U.prototype.reverse=function(){return new U(this.end,this.endControl,this.startControl,this.start)},U}(),Al=function(U){return U.type===1},sA=function(){function U(R){var $=R.styles,K=R.bounds,_e=yh($.borderTopLeftRadius,K.width,K.height),et=_e[0],Ft=_e[1],dn=yh($.borderTopRightRadius,K.width,K.height),fn=dn[0],Ar=dn[1],ur=yh($.borderBottomRightRadius,K.width,K.height),Ir=ur[0],fi=ur[1],Qs=yh($.borderBottomLeftRadius,K.width,K.height),us=Qs[0],bs=Qs[1],Ja=[];Ja.push((et+fn)/K.width),Ja.push((us+Ir)/K.width),Ja.push((Ft+bs)/K.height),Ja.push((Ar+fi)/K.height);var fa=Math.max.apply(Math,Ja);fa>1&&(et/=fa,Ft/=fa,fn/=fa,Ar/=fa,Ir/=fa,fi/=fa,us/=fa,bs/=fa);var ea=K.width-fn,ko=K.height-fi,uo=K.width-Ir,Oa=K.height-bs,ks=$.borderTopWidth,So=$.borderRightWidth,eo=$.borderBottomWidth,za=$.borderLeftWidth,nu=Yo($.paddingTop,R.bounds.width),wu=Yo($.paddingRight,R.bounds.width),hu=Yo($.paddingBottom,R.bounds.width),pl=Yo($.paddingLeft,R.bounds.width);this.topLeftBorderDoubleOuterBox=et>0||Ft>0?ll(K.left+za/3,K.top+ks/3,et-za/3,Ft-ks/3,Fo.TOP_LEFT):new Us(K.left+za/3,K.top+ks/3),this.topRightBorderDoubleOuterBox=et>0||Ft>0?ll(K.left+ea,K.top+ks/3,fn-So/3,Ar-ks/3,Fo.TOP_RIGHT):new Us(K.left+K.width-So/3,K.top+ks/3),this.bottomRightBorderDoubleOuterBox=Ir>0||fi>0?ll(K.left+uo,K.top+ko,Ir-So/3,fi-eo/3,Fo.BOTTOM_RIGHT):new Us(K.left+K.width-So/3,K.top+K.height-eo/3),this.bottomLeftBorderDoubleOuterBox=us>0||bs>0?ll(K.left+za/3,K.top+Oa,us-za/3,bs-eo/3,Fo.BOTTOM_LEFT):new Us(K.left+za/3,K.top+K.height-eo/3),this.topLeftBorderDoubleInnerBox=et>0||Ft>0?ll(K.left+za*2/3,K.top+ks*2/3,et-za*2/3,Ft-ks*2/3,Fo.TOP_LEFT):new Us(K.left+za*2/3,K.top+ks*2/3),this.topRightBorderDoubleInnerBox=et>0||Ft>0?ll(K.left+ea,K.top+ks*2/3,fn-So*2/3,Ar-ks*2/3,Fo.TOP_RIGHT):new Us(K.left+K.width-So*2/3,K.top+ks*2/3),this.bottomRightBorderDoubleInnerBox=Ir>0||fi>0?ll(K.left+uo,K.top+ko,Ir-So*2/3,fi-eo*2/3,Fo.BOTTOM_RIGHT):new Us(K.left+K.width-So*2/3,K.top+K.height-eo*2/3),this.bottomLeftBorderDoubleInnerBox=us>0||bs>0?ll(K.left+za*2/3,K.top+Oa,us-za*2/3,bs-eo*2/3,Fo.BOTTOM_LEFT):new Us(K.left+za*2/3,K.top+K.height-eo*2/3),this.topLeftBorderStroke=et>0||Ft>0?ll(K.left+za/2,K.top+ks/2,et-za/2,Ft-ks/2,Fo.TOP_LEFT):new Us(K.left+za/2,K.top+ks/2),this.topRightBorderStroke=et>0||Ft>0?ll(K.left+ea,K.top+ks/2,fn-So/2,Ar-ks/2,Fo.TOP_RIGHT):new Us(K.left+K.width-So/2,K.top+ks/2),this.bottomRightBorderStroke=Ir>0||fi>0?ll(K.left+uo,K.top+ko,Ir-So/2,fi-eo/2,Fo.BOTTOM_RIGHT):new Us(K.left+K.width-So/2,K.top+K.height-eo/2),this.bottomLeftBorderStroke=us>0||bs>0?ll(K.left+za/2,K.top+Oa,us-za/2,bs-eo/2,Fo.BOTTOM_LEFT):new Us(K.left+za/2,K.top+K.height-eo/2),this.topLeftBorderBox=et>0||Ft>0?ll(K.left,K.top,et,Ft,Fo.TOP_LEFT):new Us(K.left,K.top),this.topRightBorderBox=fn>0||Ar>0?ll(K.left+ea,K.top,fn,Ar,Fo.TOP_RIGHT):new Us(K.left+K.width,K.top),this.bottomRightBorderBox=Ir>0||fi>0?ll(K.left+uo,K.top+ko,Ir,fi,Fo.BOTTOM_RIGHT):new Us(K.left+K.width,K.top+K.height),this.bottomLeftBorderBox=us>0||bs>0?ll(K.left,K.top+Oa,us,bs,Fo.BOTTOM_LEFT):new Us(K.left,K.top+K.height),this.topLeftPaddingBox=et>0||Ft>0?ll(K.left+za,K.top+ks,Math.max(0,et-za),Math.max(0,Ft-ks),Fo.TOP_LEFT):new Us(K.left+za,K.top+ks),this.topRightPaddingBox=fn>0||Ar>0?ll(K.left+Math.min(ea,K.width-So),K.top+ks,ea>K.width+So?0:Math.max(0,fn-So),Math.max(0,Ar-ks),Fo.TOP_RIGHT):new Us(K.left+K.width-So,K.top+ks),this.bottomRightPaddingBox=Ir>0||fi>0?ll(K.left+Math.min(uo,K.width-za),K.top+Math.min(ko,K.height-eo),Math.max(0,Ir-So),Math.max(0,fi-eo),Fo.BOTTOM_RIGHT):new Us(K.left+K.width-So,K.top+K.height-eo),this.bottomLeftPaddingBox=us>0||bs>0?ll(K.left+za,K.top+Math.min(Oa,K.height-eo),Math.max(0,us-za),Math.max(0,bs-eo),Fo.BOTTOM_LEFT):new Us(K.left+za,K.top+K.height-eo),this.topLeftContentBox=et>0||Ft>0?ll(K.left+za+pl,K.top+ks+nu,Math.max(0,et-(za+pl)),Math.max(0,Ft-(ks+nu)),Fo.TOP_LEFT):new Us(K.left+za+pl,K.top+ks+nu),this.topRightContentBox=fn>0||Ar>0?ll(K.left+Math.min(ea,K.width+za+pl),K.top+ks+nu,ea>K.width+za+pl?0:fn-za+pl,Ar-(ks+nu),Fo.TOP_RIGHT):new Us(K.left+K.width-(So+wu),K.top+ks+nu),this.bottomRightContentBox=Ir>0||fi>0?ll(K.left+Math.min(uo,K.width-(za+pl)),K.top+Math.min(ko,K.height+ks+nu),Math.max(0,Ir-(So+wu)),fi-(eo+hu),Fo.BOTTOM_RIGHT):new Us(K.left+K.width-(So+wu),K.top+K.height-(eo+hu)),this.bottomLeftContentBox=us>0||bs>0?ll(K.left+za+pl,K.top+Oa,Math.max(0,us-(za+pl)),bs-(eo+hu),Fo.BOTTOM_LEFT):new Us(K.left+za+pl,K.top+K.height-(eo+hu))}return U}(),Fo;(function(U){U[U.TOP_LEFT=0]="TOP_LEFT",U[U.TOP_RIGHT=1]="TOP_RIGHT",U[U.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",U[U.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(Fo||(Fo={}));var ll=function(U,R,$,K,_e){var et=4*((Math.sqrt(2)-1)/3),Ft=$*et,dn=K*et,fn=U+$,Ar=R+K;switch(_e){case Fo.TOP_LEFT:return new iA(new Us(U,Ar),new Us(U,Ar-dn),new Us(fn-Ft,R),new Us(fn,R));case Fo.TOP_RIGHT:return new iA(new Us(U,R),new Us(U+Ft,R),new Us(fn,Ar-dn),new Us(fn,Ar));case Fo.BOTTOM_RIGHT:return new iA(new Us(fn,R),new Us(fn,R+dn),new Us(U+Ft,Ar),new Us(U,Ar));case Fo.BOTTOM_LEFT:default:return new iA(new Us(fn,Ar),new Us(fn-Ft,Ar),new Us(U,R+dn),new Us(U,R))}},hc=function(U){return[U.topLeftBorderBox,U.topRightBorderBox,U.bottomRightBorderBox,U.bottomLeftBorderBox]},Cc=function(U){return[U.topLeftContentBox,U.topRightContentBox,U.bottomRightContentBox,U.bottomLeftContentBox]},Rh=function(U){return[U.topLeftPaddingBox,U.topRightPaddingBox,U.bottomRightPaddingBox,U.bottomLeftPaddingBox]},Bf=function(){function U(R,$,K){this.offsetX=R,this.offsetY=$,this.matrix=K,this.type=0,this.target=6}return U}(),Rf=function(){function U(R,$){this.path=R,this.target=$,this.type=1}return U}(),aA=function(){function U(R){this.opacity=R,this.type=2,this.target=6}return U}(),kA=function(U){return U.type===0},oA=function(U){return U.type===1},VA=function(U){return U.type===2},mm=function(U,R){return U.length===R.length?U.some(function($,K){return $===R[K]}):!1},Hh=function(U,R,$,K,_e){return U.map(function(et,Ft){switch(Ft){case 0:return et.add(R,$);case 1:return et.add(R+K,$);case 2:return et.add(R+K,$+_e);case 3:return et.add(R,$+_e)}return et})},zp=function(){function U(R){this.element=R,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return U}(),vm=function(){function U(R,$){if(this.container=R,this.parent=$,this.effects=[],this.curves=new sA(this.container),this.container.styles.opacity<1&&this.effects.push(new aA(this.container.styles.opacity)),this.container.styles.transform!==null){var K=this.container.bounds.left+this.container.styles.transformOrigin[0].number,_e=this.container.bounds.top+this.container.styles.transformOrigin[1].number,et=this.container.styles.transform;this.effects.push(new Bf(K,_e,et))}if(this.container.styles.overflowX!==0){var Ft=hc(this.curves),dn=Rh(this.curves);mm(Ft,dn)?this.effects.push(new Rf(Ft,6)):(this.effects.push(new Rf(Ft,2)),this.effects.push(new Rf(dn,4)))}}return U.prototype.getEffects=function(R){for(var $=[2,3].indexOf(this.container.styles.position)===-1,K=this.parent,_e=this.effects.slice(0);K;){var et=K.effects.filter(function(fn){return!oA(fn)});if($||K.container.styles.position!==0||!K.parent){if(_e.unshift.apply(_e,et),$=[2,3].indexOf(K.container.styles.position)===-1,K.container.styles.overflowX!==0){var Ft=hc(K.curves),dn=Rh(K.curves);mm(Ft,dn)||_e.unshift(new Rf(dn,6))}}else _e.unshift.apply(_e,et);K=K.parent}return _e.filter(function(fn){return ol(fn.target,R)})},U}(),zA=function(U,R,$,K){U.container.elements.forEach(function(_e){var et=ol(_e.flags,4),Ft=ol(_e.flags,2),dn=new vm(_e,U);ol(_e.styles.display,2048)&&K.push(dn);var fn=ol(_e.flags,8)?[]:K;if(et||Ft){var Ar=et||_e.styles.isPositioned()?$:R,ur=new zp(dn);if(_e.styles.isPositioned()||_e.styles.opacity<1||_e.styles.isTransformed()){var Ir=_e.styles.zIndex.order;if(Ir<0){var fi=0;Ar.negativeZIndex.some(function(us,bs){return Ir>us.element.container.styles.zIndex.order?(fi=bs,!1):fi>0}),Ar.negativeZIndex.splice(fi,0,ur)}else if(Ir>0){var Qs=0;Ar.positiveZIndex.some(function(us,bs){return Ir>=us.element.container.styles.zIndex.order?(Qs=bs+1,!1):Qs>0}),Ar.positiveZIndex.splice(Qs,0,ur)}else Ar.zeroOrAutoZIndexOrTransformedOrOpacity.push(ur)}else _e.styles.isFloating()?Ar.nonPositionedFloats.push(ur):Ar.nonPositionedInlineLevel.push(ur);zA(dn,ur,et?ur:$,fn)}else _e.styles.isInlineLevel()?R.inlineLevel.push(dn):R.nonInlineLevel.push(dn),zA(dn,R,$,fn);ol(_e.flags,8)&&Jd(_e,fn)})},Jd=function(U,R){for(var $=U instanceof NA?U.start:1,K=U instanceof NA?U.reversed:!1,_e=0;_e0&&$.intrinsicHeight>0){var et=ae($),Ft=Rh(K);this.path(Ft),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(_e,0,0,$.intrinsicWidth,$.intrinsicHeight,et.left,et.top,et.width,et.height),this.ctx.restore()}},R.prototype.renderNodeContent=function($){return Z(this,void 0,void 0,function(){var K,_e,et,Ft,dn,fn,ea,ea,Ar,ur,Ir,fi,uo,Qs,us,Oa,bs,Ja,fa,ea,ko,uo,Oa;return V(this,function(ks){switch(ks.label){case 0:this.applyEffects($.getEffects(4)),K=$.container,_e=$.curves,et=K.styles,Ft=0,dn=K.textNodes,ks.label=1;case 1:return Ft0&&Nu>0&&(eo=et.ctx.createPattern(Oa,"repeat"),et.renderRepeat(nu,eo,Ju,Tc))):Dn(ur)&&(za=rt($,K,[null,null,null]),nu=za[0],wu=za[1],hu=za[2],pl=za[3],Nu=za[4],Qh=ur.position.length===0?[na]:ur.position,Ju=Yo(Qh[0],pl),Tc=Yo(Qh[Qh.length-1],Nu),If=Dd(ur,Ju,Tc,pl,Nu),id=If[0],GA=If[1],id>0&&GA>0&&(sd=et.ctx.createRadialGradient(wu+Ju,hu+Tc,0,wu+Ju,hu+Tc,id),SA(ur.stops,id*2).forEach(function(Hp){return sd.addColorStop(Hp.stop,Go(Hp.color))}),et.path(nu),et.ctx.fillStyle=sd,id!==GA?(lA=$.bounds.left+.5*$.bounds.width,ef=$.bounds.top+.5*$.bounds.height,Nf=GA/id,Td=1/Nf,et.ctx.save(),et.ctx.translate(lA,ef),et.ctx.transform(1,0,0,Nf,0,0),et.ctx.translate(-lA,-ef),et.ctx.fillRect(wu,Td*(hu-ef)+ef,pl,Nu*Td),et.ctx.restore()):et.ctx.fill())),Gp.label=6;case 6:return K--,[2]}})},et=this,Ft=0,dn=$.styles.backgroundImage.slice(0).reverse(),Ar.label=1;case 1:return Ft0?ur.style!==2?[3,5]:[4,this.renderDashedDottedBorder(ur.color,ur.width,dn,$.curves,2)]:[3,11]):[3,13];case 4:return fi.sent(),[3,11];case 5:return ur.style!==3?[3,7]:[4,this.renderDashedDottedBorder(ur.color,ur.width,dn,$.curves,3)];case 6:return fi.sent(),[3,11];case 7:return ur.style!==4?[3,9]:[4,this.renderDoubleBorder(ur.color,ur.width,dn,$.curves)];case 8:return fi.sent(),[3,11];case 9:return[4,this.renderSolidBorder(ur.color,dn,$.curves)];case 10:fi.sent(),fi.label=11;case 11:dn++,fi.label=12;case 12:return fn++,[3,3];case 13:return[2]}})})},R.prototype.renderDashedDottedBorder=function($,K,_e,et,Ft){return Z(this,void 0,void 0,function(){var dn,fn,Ar,ur,Ir,fi,Qs,us,bs,Ja,fa,ea,ko,uo,Oa,ks,Oa,ks;return V(this,function(So){return this.ctx.save(),dn=A(et,_e),fn=x(et,_e),Ft===2&&(this.path(fn),this.ctx.clip()),Al(fn[0])?(Ar=fn[0].start.x,ur=fn[0].start.y):(Ar=fn[0].x,ur=fn[0].y),Al(fn[1])?(Ir=fn[1].end.x,fi=fn[1].end.y):(Ir=fn[1].x,fi=fn[1].y),_e===0||_e===2?Qs=Math.abs(Ar-Ir):Qs=Math.abs(ur-fi),this.ctx.beginPath(),Ft===3?this.formatPath(dn):this.formatPath(fn.slice(0,2)),us=K<3?K*3:K*2,bs=K<3?K*2:K,Ft===3&&(us=K,bs=K),Ja=!0,Qs<=us*2?Ja=!1:Qs<=us*2+bs?(fa=Qs/(2*us+bs),us*=fa,bs*=fa):(ea=Math.floor((Qs+bs)/(us+bs)),ko=(Qs-ea*us)/(ea-1),uo=(Qs-(ea+1)*us)/ea,bs=uo<=0||Math.abs(bs-ko)=0&&(b.splice instanceof Function||Object.getOwnPropertyDescriptor(b,b.length-1)&&b.constructor.name!=="String")}},23346:function(Be,Me,b){var m=b(93454),Z=b(40911),V=m(Z,"DataView");Be.exports=V},36025:function(Be,Me,b){var m=b(93454),Z=b(40911),V=m(Z,"Promise");Be.exports=V},73230:function(Be,Me,b){var m=b(93454),Z=b(40911),V=m(Z,"Set");Be.exports=V},66643:function(Be,Me,b){var m=b(97800),Z=b(81685),V=b(1324);function N(E){var F=-1,C=E==null?0:E.length;for(this.__data__=new m;++F-1}Be.exports=Z},90746:function(Be){function Me(b,m,Z){for(var V=-1,N=b==null?0:b.length;++V0&&F(X)?E>1?V(X,E-1,F,C,P):m(P,X):C||(P[P.length]=X)}return P}Be.exports=V},23543:function(Be,Me,b){var m=b(43294),Z=b(66357);function V(N,E){return N&&m(N,E,Z)}Be.exports=V},96980:function(Be,Me,b){var m=b(89382),Z=b(90370);function V(N,E){E=m(E,N);for(var F=0,C=E.length;N!=null&&Fm}Be.exports=Me},11874:function(Be){var Me=Object.prototype,b=Me.hasOwnProperty;function m(Z,V){return Z!=null&&b.call(Z,V)}Be.exports=m},45146:function(Be){function Me(b,m){return b!=null&&m in Object(b)}Be.exports=Me},17713:function(Be,Me,b){var m=b(33405),Z=b(17406),V=b(68048);function N(E,F,C){return F===F?V(E,F,C):m(E,Z,C)}Be.exports=N},30433:function(Be,Me,b){var m=b(98317),Z=b(71161);function V(N,E,F,C,P){return N===E?!0:N==null||E==null||!Z(N)&&!Z(E)?N!==N&&E!==E:m(N,E,F,C,V,P)}Be.exports=V},98317:function(Be,Me,b){var m=b(26163),Z=b(70670),V=b(23499),N=b(83544),E=b(29148),F=b(41594),C=b(33636),P=b(53745),H=1,D="[object Arguments]",X="[object Array]",j="[object Object]",de=Object.prototype,he=de.hasOwnProperty;function we(ve,Ee,$e,Fe,ct,vt){var at=F(ve),kt=F(Ee),It=at?X:E(ve),Bn=kt?X:E(Ee);It=It==D?j:It,Bn=Bn==D?j:Bn;var Lt=It==j,Wn=Bn==j,Xn=It==Bn;if(Xn&&C(ve)){if(!C(Ee))return!1;at=!0,Lt=!1}if(Xn&&!Lt)return vt||(vt=new m),at||P(ve)?Z(ve,Ee,$e,Fe,ct,vt):V(ve,Ee,It,$e,Fe,ct,vt);if(!($e&H)){var In=Lt&&he.call(ve,"__wrapped__"),zn=Wn&&he.call(Ee,"__wrapped__");if(In||zn){var dr=In?ve.value():ve,vn=zn?Ee.value():Ee;return vt||(vt=new m),ct(dr,vn,$e,Fe,vt)}}return Xn?(vt||(vt=new m),N(ve,Ee,$e,Fe,ct,vt)):!1}Be.exports=we},9961:function(Be,Me,b){var m=b(29148),Z=b(71161),V="[object Map]";function N(E){return Z(E)&&m(E)==V}Be.exports=N},44626:function(Be,Me,b){var m=b(26163),Z=b(30433),V=1,N=2;function E(F,C,P,H){var D=P.length,X=D,j=!H;if(F==null)return!X;for(F=Object(F);D--;){var de=P[D];if(j&&de[2]?de[1]!==F[de[0]]:!(de[0]in F))return!1}for(;++D=C){var $e=D?null:E(H);if($e)return F($e);we=!1,de=N,Ee=new m}else Ee=D?[]:ve;e:for(;++jN||P&&H&&X&&!D&&!j||F&&H&&X||!E&&X||!C)return 1;if(!F&&!P&&!j&&V=D)return X;var j=E[F];return X*(j=="desc"?-1:1)}}return V.index-N.index}Be.exports=Z},45280:function(Be,Me,b){var m=b(39408),Z=b(69601);function V(N,E){return m(N,Z(N),E)}Be.exports=V},24299:function(Be,Me,b){var m=b(39408),Z=b(72426);function V(N,E){return m(N,Z(N),E)}Be.exports=V},26503:function(Be,Me,b){var m=b(9015);function Z(V,N){return function(E,F){if(E==null)return E;if(!m(E))return V(E,F);for(var C=E.length,P=N?C:-1,H=Object(E);(N?P--:++P-1?H[D?F[X]:X]:void 0}}Be.exports=N},6651:function(Be,Me,b){var m=b(91018),Z=b(20688),V=b(925);function N(E){return function(F,C,P){return P&&typeof P!="number"&&Z(F,C,P)&&(C=P=void 0),F=V(F),C===void 0?(C=F,F=0):C=V(C),P=P===void 0?Fhe))return!1;var ve=j.get(C),Ee=j.get(P);if(ve&&Ee)return ve==P&&Ee==C;var $e=-1,Fe=!0,ct=H&E?new m:void 0;for(j.set(C,P),j.set(P,C);++$e2?H[2]:void 0;for(j&&V(H[0],H[1],j)&&(X=1);++D1&&N(F,C[0],C[1])?C=[]:P>2&&N(C[0],C[1],C[2])&&(C=[C[0]]),Z(F,m(C,1),[])});Be.exports=E},57004:function(Be){function Me(){return[]}Be.exports=Me},925:function(Be,Me,b){var m=b(13933),Z=1/0,V=17976931348623157e292;function N(E){if(!E)return E===0?E:0;if(E=m(E),E===Z||E===-Z){var F=E<0?-1:1;return F*V}return E===E?E:0}Be.exports=N},46588:function(Be,Me,b){var m=b(925);function Z(V){var N=m(V),E=N%1;return N===N?E?N-E:N:0}Be.exports=Z},13933:function(Be,Me,b){var m=b(8944),Z=b(71721),V=b(66459),N=NaN,E=/^[-+]0x[0-9a-f]+$/i,F=/^0b[01]+$/i,C=/^0o[0-7]+$/i,P=parseInt;function H(D){if(typeof D=="number")return D;if(V(D))return N;if(Z(D)){var X=typeof D.valueOf=="function"?D.valueOf():D;D=Z(X)?X+"":X}if(typeof D!="string")return D===0?D:+D;D=m(D);var j=F.test(D);return j||C.test(D)?P(D.slice(2),j?2:8):E.test(D)?N:+D}Be.exports=H},14135:function(Be,Me,b){var m=b(12580);function Z(V){return V==null?"":m(V)}Be.exports=Z},61477:function(Be,Me,b){var m=b(22899),Z=b(93511),V=b(23543),N=b(71499),E=b(13530),F=b(41594),C=b(33636),P=b(92581),H=b(71721),D=b(53745);function X(j,de,he){var we=F(j),ve=we||C(j)||D(j);if(de=N(de,4),he==null){var Ee=j&&j.constructor;ve?he=we?new Ee:[]:H(j)?he=P(Ee)?Z(E(j)):{}:he={}}return(ve?m:V)(j,function($e,Fe,ct){return de(he,$e,Fe,ct)}),he}Be.exports=X},99477:function(Be,Me,b){var m=b(27417),Z=b(2440),V=b(75996),N=b(20577),E=Z(function(F){return V(m(F,1,N,!0))});Be.exports=E},69624:function(Be,Me,b){var m=b(14135),Z=0;function V(N){var E=++Z;return m(N)+E}Be.exports=V},72834:function(Be,Me,b){var m=b(98030),Z=b(66357);function V(N){return N==null?[]:m(N,Z(N))}Be.exports=V},79261:function(Be,Me,b){var m=b(78436),Z=b(30232);function V(N,E){return Z(N||[],E||[],m)}Be.exports=V},34402:function(Be,Me,b){"use strict";b.r(Me),b.d(Me,{default:function(){return N}});var m=b(34634);function Z(E){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,m.isAnyArray)(E))throw new TypeError("input must be an array");if(E.length===0)throw new TypeError("input must not be empty");var C=F.fromIndex,P=C===void 0?0:C,H=F.toIndex,D=H===void 0?E.length:H;if(P<0||P>=E.length||!Number.isInteger(P))throw new Error("fromIndex must be a positive integer smaller than length");if(D<=P||D>E.length||!Number.isInteger(D))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var X=E[P],j=P+1;jX&&(X=E[j]);return X}function V(E){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,m.isAnyArray)(E))throw new TypeError("input must be an array");if(E.length===0)throw new TypeError("input must not be empty");var C=F.fromIndex,P=C===void 0?0:C,H=F.toIndex,D=H===void 0?E.length:H;if(P<0||P>=E.length||!Number.isInteger(P))throw new Error("fromIndex must be a positive integer smaller than length");if(D<=P||D>E.length||!Number.isInteger(D))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var X=E[P],j=P+1;j1&&arguments[1]!==void 0?arguments[1]:{};if((0,m.isAnyArray)(E)){if(E.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var C;if(F.output!==void 0){if(!(0,m.isAnyArray)(F.output))throw new TypeError("output option must be an array if specified");C=F.output}else C=new Array(E.length);var P=V(E),H=Z(E);if(P===H)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var D=F.min,X=D===void 0?F.autoMinMax?P:0:D,j=F.max,de=j===void 0?F.autoMinMax?H:1:j;if(X>=de)throw new RangeError("min option must be smaller than max option");for(var he=(de-X)/(H-P),we=0;we19?_r:vn;E&&typeof E.nodeMass=="function"&&(P=E.nodeMass);var H=new Map,D={},X=0,j=C.settings.springTransform||V;kt(),ct();var de=!1,he={step:function(){if(X===0)return we(!0),!0;var Ge=C.step();he.lastMove=Ge,he.fire("step");var Tt=Ge/X,On=Tt<=.01;return we(On),On},getNodePosition:function(Ge){return dr(Ge).pos},setNodePosition:function(Ge){var Tt=dr(Ge);Tt.setPosition.apply(Tt,Array.prototype.slice.call(arguments,1))},getLinkPosition:function(Ge){var Tt=D[Ge];if(Tt)return{from:Tt.from.pos,to:Tt.to.pos}},getGraphRect:function(){return C.getBBox()},forEachBody:ve,pinNode:function(Ge,Tt){var On=dr(Ge.id);On.isPinned=!!Tt},isNodePinned:function(Ge){return dr(Ge.id).isPinned},dispose:function(){N.off("changed",at),he.fire("disposed")},getBody:Fe,getSpring:$e,getForceVectorLength:Ee,simulator:C,graph:N,lastMove:0};return m(he),he;function we(Ge){de!==Ge&&(de=Ge,vt(Ge))}function ve(Ge){H.forEach(Ge)}function Ee(){var Ge=0,Tt=0;return ve(function(On){Ge+=Math.abs(On.force.x),Tt+=Math.abs(On.force.y)}),Math.sqrt(Ge*Ge+Tt*Tt)}function $e(Ge,Tt){var On;if(Tt===void 0)typeof Ge!="object"?On=Ge:On=Ge.id;else{var Vr=N.hasLink(Ge,Tt);if(!Vr)return;On=Vr.id}return D[On]}function Fe(Ge){return H.get(Ge)}function ct(){N.on("changed",at)}function vt(Ge){he.fire("stable",Ge)}function at(Ge){for(var Tt=0;Tt max_{var}) max_{var} = bodyPos.{var};",{indent:6})} - } - - ${E("boundingBox.min_{var} = min_{var};",{indent:4})} - ${E("boundingBox.max_{var} = max_{var};",{indent:4})} - } - - function resetBoundingBox() { - ${E("boundingBox.min_{var} = boundingBox.max_{var} = 0;",{indent:4})} - } -`}},53623:function(Be,Me,b){const m=b(98786);Be.exports=Z,Be.exports.generateCreateBodyFunctionBody=V,Be.exports.getVectorCode=E,Be.exports.getBodyCode=N;function Z(F,C){let P=V(F,C),{Body:H}=new Function(P)();return H}function V(F,C){return` -${E(F,C)} -${N(F,C)} -return {Body: Body, Vector: Vector}; -`}function N(F){let C=m(F),P=C("{var}",{join:", "});return` -function Body(${P}) { - this.isPinned = false; - this.pos = new Vector(${P}); - this.force = new Vector(); - this.velocity = new Vector(); - this.mass = 1; - - this.springCount = 0; - this.springLength = 0; -} - -Body.prototype.reset = function() { - this.force.reset(); - this.springCount = 0; - this.springLength = 0; -} - -Body.prototype.setPosition = function (${P}) { - ${C("this.pos.{var} = {var} || 0;",{indent:2})} -};`}function E(F,C){let P=m(F),H="";return C&&(H=`${P(` - var v{var}; -Object.defineProperty(this, '{var}', { - set: function(v) { - if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}'); - v{var} = v; - }, - get: function() { return v{var}; } -});`)}`),`function Vector(${P("{var}",{join:", "})}) { - ${H} - if (typeof arguments[0] === 'object') { - // could be another vector - let v = arguments[0]; - ${P('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',{indent:4})} - ${P("this.{var} = v.{var};",{indent:4})} - } else { - ${P('this.{var} = typeof {var} === "number" ? {var} : 0;',{indent:4})} - } - } - - Vector.prototype.reset = function () { - ${P("this.{var} = ",{join:""})}0; - };`}},48812:function(Be,Me,b){const m=b(98786);Be.exports=Z,Be.exports.generateCreateDragForceFunctionBody=V;function Z(N){let E=V(N);return new Function("options",E)}function V(N){return` - if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number'); - - return { - update: function(body) { - ${m(N)("body.force.{var} -= options.dragCoefficient * body.velocity.{var};",{indent:6})} - } - }; -`}},7584:function(Be,Me,b){const m=b(98786);Be.exports=Z,Be.exports.generateCreateSpringForceFunctionBody=V;function Z(N){let E=V(N);return new Function("options","random",E)}function V(N){let E=m(N);return` - if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number'); - if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number'); - - return { - /** - * Updates forces acting on a spring - */ - update: function (spring) { - var body1 = spring.from; - var body2 = spring.to; - var length = spring.length < 0 ? options.springLength : spring.length; - ${E("var d{var} = body2.pos.{var} - body1.pos.{var};",{indent:6})} - var r = Math.sqrt(${E("d{var} * d{var}",{join:" + "})}); - - if (r === 0) { - ${E("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:8})} - r = Math.sqrt(${E("d{var} * d{var}",{join:" + "})}); - } - - var d = r - length; - var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r; - - ${E("body1.force.{var} += coefficient * d{var}",{indent:6})}; - body1.springCount += 1; - body1.springLength += r; - - ${E("body2.force.{var} -= coefficient * d{var}",{indent:6})}; - body2.springCount += 1; - body2.springLength += r; - } - }; -`}},26302:function(Be,Me,b){const m=b(98786);Be.exports=Z,Be.exports.generateIntegratorFunctionBody=V;function Z(N){let E=V(N);return new Function("bodies","timeStep","adaptiveTimeStepWeight",E)}function V(N){let E=m(N);return` - var length = bodies.length; - if (length === 0) return 0; - - ${E("var d{var} = 0, t{var} = 0;",{indent:2})} - - for (var i = 0; i < length; ++i) { - var body = bodies[i]; - if (body.isPinned) continue; - - if (adaptiveTimeStepWeight && body.springCount) { - timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount); - } - - var coeff = timeStep / body.mass; - - ${E("body.velocity.{var} += coeff * body.force.{var};",{indent:4})} - ${E("var v{var} = body.velocity.{var};",{indent:4})} - var v = Math.sqrt(${E("v{var} * v{var}",{join:" + "})}); - - if (v > 1) { - // We normalize it so that we move within timeStep range. - // for the case when v <= 1 - we let velocity to fade out. - ${E("body.velocity.{var} = v{var} / v;",{indent:6})} - } - - ${E("d{var} = timeStep * body.velocity.{var};",{indent:4})} - - ${E("body.pos.{var} += d{var};",{indent:4})} - - ${E("t{var} += Math.abs(d{var});",{indent:4})} - } - - return (${E("t{var} * t{var}",{join:" + "})})/length; -`}},24454:function(Be,Me,b){const m=b(98786),Z=b(59321);Be.exports=V,Be.exports.generateQuadTreeFunctionBody=N,Be.exports.getInsertStackCode=H,Be.exports.getQuadNodeCode=P,Be.exports.isSamePosition=E,Be.exports.getChildBodyCode=C,Be.exports.setChildBodyCode=F;function V(D){let X=N(D);return new Function(X)()}function N(D){let X=m(D),j=Math.pow(2,D);return` -${H()} -${P(D)} -${E(D)} -${C(D)} -${F(D)} - -function createQuadTree(options, random) { - options = options || {}; - options.gravity = typeof options.gravity === 'number' ? options.gravity : -1; - options.theta = typeof options.theta === 'number' ? options.theta : 0.8; - - var gravity = options.gravity; - var updateQueue = []; - var insertStack = new InsertStack(); - var theta = options.theta; - - var nodesCache = []; - var currentInCache = 0; - var root = newNode(); - - return { - insertBodies: insertBodies, - - /** - * Gets root node if it is present - */ - getRoot: function() { - return root; - }, - - updateBodyForce: update, - - options: function(newOptions) { - if (newOptions) { - if (typeof newOptions.gravity === 'number') { - gravity = newOptions.gravity; - } - if (typeof newOptions.theta === 'number') { - theta = newOptions.theta; - } - - return this; - } - - return { - gravity: gravity, - theta: theta - }; - } - }; - - function newNode() { - // To avoid pressure on GC we reuse nodes. - var node = nodesCache[currentInCache]; - if (node) { -${ve(" node.")} - node.body = null; - node.mass = ${X("node.mass_{var} = ",{join:""})}0; - ${X("node.min_{var} = node.max_{var} = ",{join:""})}0; - } else { - node = new QuadNode(); - nodesCache[currentInCache] = node; - } - - ++currentInCache; - return node; - } - - function update(sourceBody) { - var queue = updateQueue; - var v; - ${X("var d{var};",{indent:4})} - var r; - ${X("var f{var} = 0;",{indent:4})} - var queueLength = 1; - var shiftIdx = 0; - var pushIdx = 1; - - queue[0] = root; - - while (queueLength) { - var node = queue[shiftIdx]; - var body = node.body; - - queueLength -= 1; - shiftIdx += 1; - var differentBody = (body !== sourceBody); - if (body && differentBody) { - // If the current node is a leaf node (and it is not source body), - // calculate the force exerted by the current node on body, and add this - // amount to body's net force. - ${X("d{var} = body.pos.{var} - sourceBody.pos.{var};",{indent:8})} - r = Math.sqrt(${X("d{var} * d{var}",{join:" + "})}); - - if (r === 0) { - // Poor man's protection against zero distance. - ${X("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})} - r = Math.sqrt(${X("d{var} * d{var}",{join:" + "})}); - } - - // This is standard gravitation force calculation but we divide - // by r^3 to save two operations when normalizing force vector. - v = gravity * body.mass * sourceBody.mass / (r * r * r); - ${X("f{var} += v * d{var};",{indent:8})} - } else if (differentBody) { - // Otherwise, calculate the ratio s / r, where s is the width of the region - // represented by the internal node, and r is the distance between the body - // and the node's center-of-mass - ${X("d{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};",{indent:8})} - r = Math.sqrt(${X("d{var} * d{var}",{join:" + "})}); - - if (r === 0) { - // Sorry about code duplication. I don't want to create many functions - // right away. Just want to see performance first. - ${X("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})} - r = Math.sqrt(${X("d{var} * d{var}",{join:" + "})}); - } - // If s / r < \u03B8, treat this internal node as a single body, and calculate the - // force it exerts on sourceBody, and add this amount to sourceBody's net force. - if ((node.max_${Z(0)} - node.min_${Z(0)}) / r < theta) { - // in the if statement above we consider node's width only - // because the region was made into square during tree creation. - // Thus there is no difference between using width or height. - v = gravity * node.mass * sourceBody.mass / (r * r * r); - ${X("f{var} += v * d{var};",{indent:10})} - } else { - // Otherwise, run the procedure recursively on each of the current node's children. - - // I intentionally unfolded this loop, to save several CPU cycles. -${we()} - } - } - } - - ${X("sourceBody.force.{var} += f{var};",{indent:4})} - } - - function insertBodies(bodies) { - ${X("var {var}min = Number.MAX_VALUE;",{indent:4})} - ${X("var {var}max = Number.MIN_VALUE;",{indent:4})} - var i = bodies.length; - - // To reduce quad tree depth we are looking for exact bounding box of all particles. - while (i--) { - var pos = bodies[i].pos; - ${X("if (pos.{var} < {var}min) {var}min = pos.{var};",{indent:6})} - ${X("if (pos.{var} > {var}max) {var}max = pos.{var};",{indent:6})} - } - - // Makes the bounds square. - var maxSideLength = -Infinity; - ${X("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;",{indent:4})} - - currentInCache = 0; - root = newNode(); - ${X("root.min_{var} = {var}min;",{indent:4})} - ${X("root.max_{var} = {var}min + maxSideLength;",{indent:4})} - - i = bodies.length - 1; - if (i >= 0) { - root.body = bodies[i]; - } - while (i--) { - insert(bodies[i], root); - } - } - - function insert(newBody) { - insertStack.reset(); - insertStack.push(root, newBody); - - while (!insertStack.isEmpty()) { - var stackItem = insertStack.pop(); - var node = stackItem.node; - var body = stackItem.body; - - if (!node.body) { - // This is internal node. Update the total mass of the node and center-of-mass. - ${X("var {var} = body.pos.{var};",{indent:8})} - node.mass += body.mass; - ${X("node.mass_{var} += body.mass * {var};",{indent:8})} - - // Recursively insert the body in the appropriate quadrant. - // But first find the appropriate quadrant. - var quadIdx = 0; // Assume we are in the 0's quad. - ${X("var min_{var} = node.min_{var};",{indent:8})} - ${X("var max_{var} = (min_{var} + node.max_{var}) / 2;",{indent:8})} - -${he(8)} - - var child = getChild(node, quadIdx); - - if (!child) { - // The node is internal but this quadrant is not taken. Add - // subnode to it. - child = newNode(); - ${X("child.min_{var} = min_{var};",{indent:10})} - ${X("child.max_{var} = max_{var};",{indent:10})} - child.body = body; - - setChild(node, quadIdx, child); - } else { - // continue searching in this quadrant. - insertStack.push(child, body); - } - } else { - // We are trying to add to the leaf node. - // We have to convert current leaf into internal node - // and continue adding two nodes. - var oldBody = node.body; - node.body = null; // internal nodes do not cary bodies - - if (isSamePosition(oldBody.pos, body.pos)) { - // Prevent infinite subdivision by bumping one node - // anywhere in this quadrant - var retriesCount = 3; - do { - var offset = random.nextDouble(); - ${X("var d{var} = (node.max_{var} - node.min_{var}) * offset;",{indent:12})} - - ${X("oldBody.pos.{var} = node.min_{var} + d{var};",{indent:12})} - retriesCount -= 1; - // Make sure we don't bump it out of the box. If we do, next iteration should fix it - } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos)); - - if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) { - // This is very bad, we ran out of precision. - // if we do not return from the method we'll get into - // infinite loop here. So we sacrifice correctness of layout, and keep the app running - // Next layout iteration should get larger bounding box in the first step and fix this - return; - } - } - // Next iteration should subdivide node further. - insertStack.push(node, oldBody); - insertStack.push(node, body); - } - } - } -} -return createQuadTree; - -`;function he(Ee){let $e=[],Fe=Array(Ee+1).join(" ");for(let ct=0;ct max_${Z(ct)}) {`),$e.push(Fe+` quadIdx = quadIdx + ${Math.pow(2,ct)};`),$e.push(Fe+` min_${Z(ct)} = max_${Z(ct)};`),$e.push(Fe+` max_${Z(ct)} = node.max_${Z(ct)};`),$e.push(Fe+"}");return $e.join(` -`)}function we(){let Ee=Array(11).join(" "),$e=[];for(let Fe=0;Fe 0) { - return this.stack[--this.popIdx]; - } - }, - reset: function () { - this.popIdx = 0; - } -}; - -function InsertStackElement(node, body) { - this.node = node; // QuadTree node - this.body = body; // physical body which needs to be inserted to node -} -`}},59321:function(Be){Be.exports=function(b){return b===0?"x":b===1?"y":b===2?"z":"c"+(b+1)}},72879:function(Be,Me,b){Be.exports=P;var m=b(53623),Z=b(24454),V=b(41085),N=b(48812),E=b(7584),F=b(26302),C={};function P(X){var j=b(75877),de=b(35764),he=b(82396);if(X){if(X.springCoeff!==void 0)throw new Error("springCoeff was renamed to springCoefficient");if(X.dragCoeff!==void 0)throw new Error("dragCoeff was renamed to dragCoefficient")}X=de(X,{springLength:10,springCoefficient:.8,gravity:-12,theta:.8,dragCoefficient:.9,timeStep:.5,adaptiveTimeStepWeight:0,dimensions:2,debug:!1});var we=C[X.dimensions];if(!we){var ve=X.dimensions;we={Body:m(ve,X.debug),createQuadTree:Z(ve),createBounds:V(ve),createDragForce:N(ve),createSpringForce:E(ve),integrate:F(ve)},C[ve]=we}var Ee=we.Body,$e=we.createQuadTree,Fe=we.createBounds,ct=we.createDragForce,vt=we.createSpringForce,at=we.integrate,kt=Et=>new Ee(Et),It=b(40232).random(42),Bn=[],Lt=[],Wn=$e(X,It),Xn=Fe(Bn,X,It),In=vt(X,It),zn=ct(X),dr=0,vn=[],_r=new Map,Ge=0;Vr("nbody",Cn),Vr("spring",Mt);var Tt={bodies:Bn,quadTree:Wn,springs:Lt,settings:X,addForce:Vr,removeForce:en,getForces:ln,step:function(){for(var Et=0;Et=0?Pe:-1);return Lt.push(Ut),Ut},getTotalMovement:function(){return dr},removeSpring:function(Et){if(Et){var pe=Lt.indexOf(Et);if(pe>-1)return Lt.splice(pe,1),!0}},getBestNewBodyPosition:function(Et){return Xn.getBestNewPosition(Et)},getBBox:On,getBoundingBox:On,invalidateBBox:function(){console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call")},gravity:function(Et){return Et!==void 0?(X.gravity=Et,Wn.options({gravity:Et}),this):X.gravity},theta:function(Et){return Et!==void 0?(X.theta=Et,Wn.options({theta:Et}),this):X.theta},random:It};return H(X,Tt),he(Tt),Tt;function On(){return Xn.update(),Xn.box}function Vr(Et,pe){if(_r.has(Et))throw new Error("Force "+Et+" is already added");_r.set(Et,pe),vn.push(pe)}function en(Et){var pe=vn.indexOf(_r.get(Et));pe<0||(vn.splice(pe,1),_r.delete(Et))}function ln(){return _r}function Cn(){if(Bn.length!==0){Wn.insertBodies(Bn);for(var Et=Bn.length;Et--;){var pe=Bn[Et];pe.isPinned||(pe.reset(),Wn.updateBodyForce(pe),zn.update(pe))}}}function Mt(){for(var Et=Lt.length;Et--;)In.update(Lt[Et])}}function H(X,j){for(var de in X)D(X,j,de)}function D(X,j,de){if(X.hasOwnProperty(de)&&typeof j[de]!="function"){var he=Number.isFinite(X[de]);he?j[de]=function(we){if(we!==void 0){if(!Number.isFinite(we))throw new Error("Value of "+de+" should be a valid number.");return X[de]=we,j}return X[de]}:j[de]=function(we){return we!==void 0?(X[de]=we,j):X[de]}}}},75877:function(Be){Be.exports=Me;function Me(b,m,Z,V){this.from=b,this.to=m,this.length=Z,this.coefficient=V}},35764:function(Be){Be.exports=Me;function Me(b,m){var Z;if(b||(b={}),m){for(Z in m)if(m.hasOwnProperty(Z)){var V=b.hasOwnProperty(Z),N=typeof m[Z],E=!V||typeof b[Z]!==N;E?b[Z]=m[Z]:N==="object"&&(b[Z]=Me(b[Z],m[Z]))}}return b}},40232:function(Be){Be.exports=Me,Be.exports.random=Me,Be.exports.randomIterator=F;function Me(C){var P=typeof C=="number"?C:+new Date;return new b(P)}function b(C){this.seed=C}b.prototype.next=E,b.prototype.nextDouble=N,b.prototype.uniform=N,b.prototype.gaussian=m,b.prototype.random=N;function m(){var C,P,H;do P=this.nextDouble()*2-1,H=this.nextDouble()*2-1,C=P*P+H*H;while(C>=1||C===0);return P*Math.sqrt(-2*Math.log(C)/C)}b.prototype.levy=Z;function Z(){var C=1.5,P=Math.pow(V(1+C)*Math.sin(Math.PI*C/2)/(V((1+C)/2)*C*Math.pow(2,(C-1)/2)),1/C);return this.gaussian()*P/Math.pow(Math.abs(this.gaussian()),1/C)}function V(C){return Math.sqrt(2*Math.PI/C)*Math.pow(1/Math.E*(C+1/(12*C-1/(10*C))),C)}function N(){var C=this.seed;return C=C+2127912214+(C<<12)&4294967295,C=(C^3345072700^C>>>19)&4294967295,C=C+374761393+(C<<5)&4294967295,C=(C+3550635116^C<<9)&4294967295,C=C+4251993797+(C<<3)&4294967295,C=(C^3042594569^C>>>16)&4294967295,this.seed=C,(C&268435455)/268435456}function E(C){return Math.floor(this.nextDouble()*C)}function F(C,P){var H=P||Me();if(typeof H.next!="function")throw new Error("customRandom does not match expected API: next() function is missing");return{forEach:X,shuffle:D};function D(){var j,de,he;for(j=C.length-1;j>0;--j)de=H.next(j+1),he=C[de],C[de]=C[j],C[j]=he;return C}function X(j){var de,he,we;for(de=C.length-1;de>0;--de)he=H.next(de+1),we=C[he],C[he]=C[de],C[de]=we,j(we);C.length&&j(C[0])}}},5630:function(Be,Me,b){"use strict";var m=b(60499),Z=b(85899),V=b(18642),N=b(72190),E=b(42244),F=b(92310),C=b.n(F),P=b(18929),H=b(59301),D=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],X=(0,H.forwardRef)(function(j,de){var he,we=j.prefixCls,ve=we===void 0?"rc-checkbox":we,Ee=j.className,$e=j.style,Fe=j.checked,ct=j.disabled,vt=j.defaultChecked,at=vt===void 0?!1:vt,kt=j.type,It=kt===void 0?"checkbox":kt,Bn=j.title,Lt=j.onChange,Wn=(0,E.Z)(j,D),Xn=(0,H.useRef)(null),In=(0,P.Z)(at,{value:Fe}),zn=(0,N.Z)(In,2),dr=zn[0],vn=zn[1];(0,H.useImperativeHandle)(de,function(){return{focus:function(){var On;(On=Xn.current)===null||On===void 0||On.focus()},blur:function(){var On;(On=Xn.current)===null||On===void 0||On.blur()},input:Xn.current}});var _r=C()(ve,Ee,(he={},(0,V.Z)(he,"".concat(ve,"-checked"),dr),(0,V.Z)(he,"".concat(ve,"-disabled"),ct),he)),Ge=function(On){ct||("checked"in j||vn(On.target.checked),Lt==null||Lt({target:(0,Z.Z)((0,Z.Z)({},j),{},{type:It,checked:On.target.checked}),stopPropagation:function(){On.stopPropagation()},preventDefault:function(){On.preventDefault()},nativeEvent:On.nativeEvent}))};return H.createElement("span",{className:_r,title:Bn,style:$e},H.createElement("input",(0,m.Z)({},Wn,{className:"".concat(ve,"-input"),ref:Xn,onChange:Ge,disabled:ct,checked:!!dr,type:It})),H.createElement("span",{className:"".concat(ve,"-inner")}))});Me.Z=X},81683:function(Be,Me,b){"use strict";var m=b(55973),Z=Array.prototype.concat,V=Array.prototype.slice,N=Be.exports=function(F){for(var C=[],P=0,H=F.length;P"u")return V=Object.create(null),Z;if(V[N])if(typeof E!="function")delete V[N];else{const F=V[N];for(let C=0;C1&&(F=Array.prototype.slice.call(arguments,1));for(let C=0;C=0;--e)if(s[e]>=65535)return!0;return!1}const Bo={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function _o(s,e){return new Bo[s](e)}function na(s){return ArrayBuffer.isView(s)&&!(s instanceof DataView)}function Wa(s){return document.createElementNS("http://www.w3.org/1999/xhtml",s)}function yh(){const s=Wa("canvas");return s.style.display="block",s}const Yo={};let Tu=null;function uu(s){Tu=s}function wc(){return Tu}function ac(...s){const e="THREE."+s.shift();Tu?Tu("log",e,...s):console.log(e,...s)}function Lr(...s){const e="THREE."+s.shift();Tu?Tu("warn",e,...s):console.warn(e,...s)}function Gr(...s){const e="THREE."+s.shift();Tu?Tu("error",e,...s):console.error(e,...s)}function ki(...s){const e=s.join(" ");e in Yo||(Yo[e]=!0,Lr(...s))}function ju(s,e,t){return new Promise(function(n,i){function a(){switch(s.clientWaitSync(e,s.SYNC_FLUSH_COMMANDS_BIT,0)){case s.WAIT_FAILED:i();break;case s.TIMEOUT_EXPIRED:setTimeout(a,t);break;default:n()}}setTimeout(a,t)})}class bl{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){const n=this._listeners;if(n===void 0)return;const i=n[e];if(i!==void 0){const a=i.indexOf(t);a!==-1&&i.splice(a,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const n=t[e.type];if(n!==void 0){e.target=this;const i=n.slice(0);for(let a=0,o=i.length;a>8&255]+qo[s>>16&255]+qo[s>>24&255]+"-"+qo[e&255]+qo[e>>8&255]+"-"+qo[e>>16&15|64]+qo[e>>24&255]+"-"+qo[t&63|128]+qo[t>>8&255]+"-"+qo[t>>16&255]+qo[t>>24&255]+qo[n&255]+qo[n>>8&255]+qo[n>>16&255]+qo[n>>24&255]).toLowerCase()}function Ca(s,e,t){return Math.max(e,Math.min(t,s))}function Ud(s,e){return(s%e+e)%e}function rp(s,e,t,n,i){return n+(s-e)*(i-n)/(t-e)}function Xh(s,e,t){return s!==e?(t-s)/(e-s):0}function lc(s,e,t){return(1-t)*s+t*e}function wA(s,e,t,n){return lc(s,e,1-Math.exp(-t*n))}function Od(s,e=1){return e-Math.abs(Ud(s,e*2)-e)}function jh(s,e,t){return s<=e?0:s>=t?1:(s=(s-e)/(t-e),s*s*(3-2*s))}function SA(s,e,t){return s<=e?0:s>=t?1:(s=(s-e)/(t-e),s*s*s*(s*(s*6-15)+10))}function md(s,e){return s+Math.floor(Math.random()*(e-s+1))}function vd(s,e){return s+Math.random()*(e-s)}function mo(s){return s*(.5-Math.random())}function wa(s){s!==void 0&&(Go=s);let e=Go+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Dd(s){return s*Ou}function qi(s){return s*Oh}function Du(s){return(s&s-1)===0&&s!==0}function kn(s){return Math.pow(2,Math.ceil(Math.log(s)/Math.LN2))}function kd(s){return Math.pow(2,Math.floor(Math.log(s)/Math.LN2))}function Yh(s,e,t,n,i){const a=Math.cos,o=Math.sin,u=a(t/2),c=o(t/2),d=a((e+n)/2),g=o((e+n)/2),v=a((e-n)/2),M=o((e-n)/2),B=a((n-e)/2),I=o((n-e)/2);switch(i){case"XYX":s.set(u*g,c*v,c*M,u*d);break;case"YZY":s.set(c*M,u*g,c*v,u*d);break;case"ZXZ":s.set(c*v,c*M,u*g,u*d);break;case"XZX":s.set(u*g,c*I,c*B,u*d);break;case"YXY":s.set(c*B,u*g,c*I,u*d);break;case"ZYZ":s.set(c*I,c*B,u*g,u*d);break;default:Lr("MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function vl(s,e){switch(e.constructor){case Float32Array:return s;case Uint32Array:return s/4294967295;case Uint16Array:return s/65535;case Uint8Array:return s/255;case Int32Array:return Math.max(s/2147483647,-1);case Int16Array:return Math.max(s/32767,-1);case Int8Array:return Math.max(s/127,-1);default:throw new Error("Invalid component type.")}}function He(s,e){switch(e.constructor){case Float32Array:return s;case Uint32Array:return Math.round(s*4294967295);case Uint16Array:return Math.round(s*65535);case Uint8Array:return Math.round(s*255);case Int32Array:return Math.round(s*2147483647);case Int16Array:return Math.round(s*32767);case Int8Array:return Math.round(s*127);default:throw new Error("Invalid component type.")}}const me={DEG2RAD:Ou,RAD2DEG:Oh,generateUUID:oc,clamp:Ca,euclideanModulo:Ud,mapLinear:rp,inverseLerp:Xh,lerp:lc,damp:wA,pingpong:Od,smoothstep:jh,smootherstep:SA,randInt:md,randFloat:vd,randFloatSpread:mo,seededRandom:wa,degToRad:Dd,radToDeg:qi,isPowerOfTwo:Du,ceilPowerOfTwo:kn,floorPowerOfTwo:kd,setQuaternionFromProperEuler:Yh,normalize:He,denormalize:vl};class ce{constructor(e=0,t=0){ce.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Ca(this.x,e.x,t.x),this.y=Ca(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Ca(this.x,e,t),this.y=Ca(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ca(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ca(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),i=Math.sin(t),a=this.x-e.x,o=this.y-e.y;return this.x=a*n-o*i+e.x,this.y=a*i+o*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ze{constructor(e=0,t=0,n=0,i=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=i}static slerpFlat(e,t,n,i,a,o,u){let c=n[i+0],d=n[i+1],g=n[i+2],v=n[i+3],M=a[o+0],B=a[o+1],I=a[o+2],ne=a[o+3];if(u<=0){e[t+0]=c,e[t+1]=d,e[t+2]=g,e[t+3]=v;return}if(u>=1){e[t+0]=M,e[t+1]=B,e[t+2]=I,e[t+3]=ne;return}if(v!==ne||c!==M||d!==B||g!==I){let ee=c*M+d*B+g*I+v*ne;ee<0&&(M=-M,B=-B,I=-I,ne=-ne,ee=-ee);let q=1-u;if(ee<.9995){const ye=Math.acos(ee),Ce=Math.sin(ye);q=Math.sin(q*ye)/Ce,u=Math.sin(u*ye)/Ce,c=c*q+M*u,d=d*q+B*u,g=g*q+I*u,v=v*q+ne*u}else{c=c*q+M*u,d=d*q+B*u,g=g*q+I*u,v=v*q+ne*u;const ye=1/Math.sqrt(c*c+d*d+g*g+v*v);c*=ye,d*=ye,g*=ye,v*=ye}}e[t]=c,e[t+1]=d,e[t+2]=g,e[t+3]=v}static multiplyQuaternionsFlat(e,t,n,i,a,o){const u=n[i],c=n[i+1],d=n[i+2],g=n[i+3],v=a[o],M=a[o+1],B=a[o+2],I=a[o+3];return e[t]=u*I+g*v+c*B-d*M,e[t+1]=c*I+g*M+d*v-u*B,e[t+2]=d*I+g*B+u*M-c*v,e[t+3]=g*I-u*v-c*M-d*B,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,i=e._y,a=e._z,o=e._order,u=Math.cos,c=Math.sin,d=u(n/2),g=u(i/2),v=u(a/2),M=c(n/2),B=c(i/2),I=c(a/2);switch(o){case"XYZ":this._x=M*g*v+d*B*I,this._y=d*B*v-M*g*I,this._z=d*g*I+M*B*v,this._w=d*g*v-M*B*I;break;case"YXZ":this._x=M*g*v+d*B*I,this._y=d*B*v-M*g*I,this._z=d*g*I-M*B*v,this._w=d*g*v+M*B*I;break;case"ZXY":this._x=M*g*v-d*B*I,this._y=d*B*v+M*g*I,this._z=d*g*I+M*B*v,this._w=d*g*v-M*B*I;break;case"ZYX":this._x=M*g*v-d*B*I,this._y=d*B*v+M*g*I,this._z=d*g*I-M*B*v,this._w=d*g*v+M*B*I;break;case"YZX":this._x=M*g*v+d*B*I,this._y=d*B*v+M*g*I,this._z=d*g*I-M*B*v,this._w=d*g*v-M*B*I;break;case"XZY":this._x=M*g*v-d*B*I,this._y=d*B*v-M*g*I,this._z=d*g*I+M*B*v,this._w=d*g*v+M*B*I;break;default:Lr("Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],i=t[4],a=t[8],o=t[1],u=t[5],c=t[9],d=t[2],g=t[6],v=t[10],M=n+u+v;if(M>0){const B=.5/Math.sqrt(M+1);this._w=.25/B,this._x=(g-c)*B,this._y=(a-d)*B,this._z=(o-i)*B}else if(n>u&&n>v){const B=2*Math.sqrt(1+n-u-v);this._w=(g-c)/B,this._x=.25*B,this._y=(i+o)/B,this._z=(a+d)/B}else if(u>v){const B=2*Math.sqrt(1+u-n-v);this._w=(a-d)/B,this._x=(i+o)/B,this._y=.25*B,this._z=(c+g)/B}else{const B=2*Math.sqrt(1+v-n-u);this._w=(o-i)/B,this._x=(a+d)/B,this._y=(c+g)/B,this._z=.25*B}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ca(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,i=e._y,a=e._z,o=e._w,u=t._x,c=t._y,d=t._z,g=t._w;return this._x=n*g+o*u+i*d-a*c,this._y=i*g+o*c+a*u-n*d,this._z=a*g+o*d+n*c-i*u,this._w=o*g-n*u-i*c-a*d,this._onChangeCallback(),this}slerp(e,t){if(t<=0)return this;if(t>=1)return this.copy(e);let n=e._x,i=e._y,a=e._z,o=e._w,u=this.dot(e);u<0&&(n=-n,i=-i,a=-a,o=-o,u=-u);let c=1-t;if(u<.9995){const d=Math.acos(u),g=Math.sin(d);c=Math.sin(c*d)/g,t=Math.sin(t*d)/g,this._x=this._x*c+n*t,this._y=this._y*c+i*t,this._z=this._z*c+a*t,this._w=this._w*c+o*t,this._onChangeCallback()}else this._x=this._x*c+n*t,this._y=this._y*c+i*t,this._z=this._z*c+a*t,this._w=this._w*c+o*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),i=Math.sqrt(1-n),a=Math.sqrt(n);return this.set(i*Math.sin(e),i*Math.cos(e),a*Math.sin(t),a*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class le{constructor(e=0,t=0,n=0){le.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Dt.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Dt.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,i=this.z,a=e.elements;return this.x=a[0]*t+a[3]*n+a[6]*i,this.y=a[1]*t+a[4]*n+a[7]*i,this.z=a[2]*t+a[5]*n+a[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,a=e.elements,o=1/(a[3]*t+a[7]*n+a[11]*i+a[15]);return this.x=(a[0]*t+a[4]*n+a[8]*i+a[12])*o,this.y=(a[1]*t+a[5]*n+a[9]*i+a[13])*o,this.z=(a[2]*t+a[6]*n+a[10]*i+a[14])*o,this}applyQuaternion(e){const t=this.x,n=this.y,i=this.z,a=e.x,o=e.y,u=e.z,c=e.w,d=2*(o*i-u*n),g=2*(u*t-a*i),v=2*(a*n-o*t);return this.x=t+c*d+o*v-u*g,this.y=n+c*g+u*d-a*v,this.z=i+c*v+a*g-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,i=this.z,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*i,this.y=a[1]*t+a[5]*n+a[9]*i,this.z=a[2]*t+a[6]*n+a[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Ca(this.x,e.x,t.x),this.y=Ca(this.y,e.y,t.y),this.z=Ca(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Ca(this.x,e,t),this.y=Ca(this.y,e,t),this.z=Ca(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ca(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,i=e.y,a=e.z,o=t.x,u=t.y,c=t.z;return this.x=i*c-a*u,this.y=a*o-n*c,this.z=n*u-i*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Nt.copy(this).projectOnVector(e),this.sub(Nt)}reflect(e){return this.sub(Nt.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ca(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Nt=new le,Dt=new Ze;class pn{constructor(e,t,n,i,a,o,u,c,d){pn.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,i,a,o,u,c,d)}set(e,t,n,i,a,o,u,c,d){const g=this.elements;return g[0]=e,g[1]=i,g[2]=u,g[3]=t,g[4]=a,g[5]=c,g[6]=n,g[7]=o,g[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,a=this.elements,o=n[0],u=n[3],c=n[6],d=n[1],g=n[4],v=n[7],M=n[2],B=n[5],I=n[8],ne=i[0],ee=i[3],q=i[6],ye=i[1],Ce=i[4],ke=i[7],nt=i[2],Ye=i[5],ht=i[8];return a[0]=o*ne+u*ye+c*nt,a[3]=o*ee+u*Ce+c*Ye,a[6]=o*q+u*ke+c*ht,a[1]=d*ne+g*ye+v*nt,a[4]=d*ee+g*Ce+v*Ye,a[7]=d*q+g*ke+v*ht,a[2]=M*ne+B*ye+I*nt,a[5]=M*ee+B*Ce+I*Ye,a[8]=M*q+B*ke+I*ht,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],u=e[5],c=e[6],d=e[7],g=e[8];return t*o*g-t*u*d-n*a*g+n*u*c+i*a*d-i*o*c}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],u=e[5],c=e[6],d=e[7],g=e[8],v=g*o-u*d,M=u*c-g*a,B=d*a-o*c,I=t*v+n*M+i*B;if(I===0)return this.set(0,0,0,0,0,0,0,0,0);const ne=1/I;return e[0]=v*ne,e[1]=(i*d-g*n)*ne,e[2]=(u*n-i*o)*ne,e[3]=M*ne,e[4]=(g*t-i*c)*ne,e[5]=(i*a-u*t)*ne,e[6]=B*ne,e[7]=(n*c-d*t)*ne,e[8]=(o*t-n*a)*ne,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,i,a,o,u){const c=Math.cos(a),d=Math.sin(a);return this.set(n*c,n*d,-n*(c*o+d*u)+o+e,-i*d,i*c,-i*(-d*o+c*u)+u+t,0,0,1),this}scale(e,t){return this.premultiply(Dn.makeScale(e,t)),this}rotate(e){return this.premultiply(Dn.makeRotation(-e)),this}translate(e,t){return this.premultiply(Dn.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Dn=new pn,hr=new pn().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),br=new pn().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function yr(){const s={enabled:!0,workingColorSpace:No,spaces:{},convert:function(i,a,o){return this.enabled===!1||a===o||!a||!o||(this.spaces[a].transfer===ws&&(i.r=Fr(i.r),i.g=Fr(i.g),i.b=Fr(i.b)),this.spaces[a].primaries!==this.spaces[o].primaries&&(i.applyMatrix3(this.spaces[a].toXYZ),i.applyMatrix3(this.spaces[o].fromXYZ)),this.spaces[o].transfer===ws&&(i.r=ri(i.r),i.g=ri(i.g),i.b=ri(i.b))),i},workingToColorSpace:function(i,a){return this.convert(i,this.workingColorSpace,a)},colorSpaceToWorking:function(i,a){return this.convert(i,a,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===ao?Uu:this.spaces[i].transfer},getToneMappingMode:function(i){return this.spaces[i].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(i,a=this.workingColorSpace){return i.fromArray(this.spaces[a].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,a,o){return i.copy(this.spaces[a].toXYZ).multiply(this.spaces[o].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(i,a){return ki("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),s.workingToColorSpace(i,a)},toWorkingColorSpace:function(i,a){return ki("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),s.colorSpaceToWorking(i,a)}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return s.define({[No]:{primaries:e,whitePoint:n,transfer:Uu,toXYZ:hr,fromXYZ:br,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:sl},outputColorSpaceConfig:{drawingBufferColorSpace:sl}},[sl]:{primaries:e,whitePoint:n,transfer:ws,toXYZ:hr,fromXYZ:br,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:sl}}}),s}const xr=yr();function Fr(s){return s<.04045?s*.0773993808:Math.pow(s*.9478672986+.0521327014,2.4)}function ri(s){return s<.0031308?s*12.92:1.055*Math.pow(s,.41666)-.055}let ai;class wi{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{ai===void 0&&(ai=Wa("canvas")),ai.width=e.width,ai.height=e.height;const i=ai.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),n=ai}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=Wa("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const i=n.getImageData(0,0,e.width,e.height),a=i.data;for(let o=0;o1),this.pmremVersion=0}get width(){return this.source.getSize(Ls).x}get height(){return this.source.getSize(Ls).y}get depth(){return this.source.getSize(Ls).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const t in e){const n=e[t];if(n===void 0){Lr(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){Lr(`Texture.setValues(): property '${t}' does not exist.`);continue}i&&n&&i.isVector2&&n.isVector2||i&&n&&i.isVector3&&n.isVector3||i&&n&&i.isMatrix3&&n.isMatrix3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const n={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==be)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case $t:e.x=e.x-Math.floor(e.x);break;case Vt:e.x=e.x<0?0:1;break;case Qt:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case $t:e.y=e.y-Math.floor(e.y);break;case Vt:e.y=e.y<0?0:1;break;case Qt:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}zi.DEFAULT_IMAGE=null,zi.DEFAULT_MAPPING=be,zi.DEFAULT_ANISOTROPY=1;class Ni{constructor(e=0,t=0,n=0,i=1){Ni.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,a=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*i+o[12]*a,this.y=o[1]*t+o[5]*n+o[9]*i+o[13]*a,this.z=o[2]*t+o[6]*n+o[10]*i+o[14]*a,this.w=o[3]*t+o[7]*n+o[11]*i+o[15]*a,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,a;const c=e.elements,d=c[0],g=c[4],v=c[8],M=c[1],B=c[5],I=c[9],ne=c[2],ee=c[6],q=c[10];if(Math.abs(g-M)<.01&&Math.abs(v-ne)<.01&&Math.abs(I-ee)<.01){if(Math.abs(g+M)<.1&&Math.abs(v+ne)<.1&&Math.abs(I+ee)<.1&&Math.abs(d+B+q-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const Ce=(d+1)/2,ke=(B+1)/2,nt=(q+1)/2,Ye=(g+M)/4,ht=(v+ne)/4,Rt=(I+ee)/4;return Ce>ke&&Ce>nt?Ce<.01?(n=0,i=.707106781,a=.707106781):(n=Math.sqrt(Ce),i=Ye/n,a=ht/n):ke>nt?ke<.01?(n=.707106781,i=0,a=.707106781):(i=Math.sqrt(ke),n=Ye/i,a=Rt/i):nt<.01?(n=.707106781,i=.707106781,a=0):(a=Math.sqrt(nt),n=ht/a,i=Rt/a),this.set(n,i,a,t),this}let ye=Math.sqrt((ee-I)*(ee-I)+(v-ne)*(v-ne)+(M-g)*(M-g));return Math.abs(ye)<.001&&(ye=1),this.x=(ee-I)/ye,this.y=(v-ne)/ye,this.z=(M-g)/ye,this.w=Math.acos((d+B+q-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Ca(this.x,e.x,t.x),this.y=Ca(this.y,e.y,t.y),this.z=Ca(this.z,e.z,t.z),this.w=Ca(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Ca(this.x,e,t),this.y=Ca(this.y,e,t),this.z=Ca(this.z,e,t),this.w=Ca(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ca(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class Ns extends bl{constructor(e=1,t=1,n={}){super(),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:vr,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},n),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=n.depth,this.scissor=new Ni(0,0,e,t),this.scissorTest=!1,this.viewport=new Ni(0,0,e,t);const i={width:e,height:t,depth:n.depth},a=new zi(i);this.textures=[];const o=n.count;for(let u=0;u1);this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,fe),fe.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(gn),Nn.subVectors(this.max,gn),De.subVectors(e.a,gn),Le.subVectors(e.b,gn),Xe.subVectors(e.c,gn),mt.subVectors(Le,De),Kt.subVectors(Xe,Le),nn.subVectors(De,Xe);let t=[0,-mt.z,mt.y,0,-Kt.z,Kt.y,0,-nn.z,nn.y,mt.z,0,-mt.x,Kt.z,0,-Kt.x,nn.z,0,-nn.x,-mt.y,mt.x,0,-Kt.y,Kt.x,0,-nn.y,nn.x,0];return!mr(t,De,Le,Xe,Nn)||(t=[1,0,0,0,1,0,0,0,1],!mr(t,De,Le,Xe,Nn))?!1:($n.crossVectors(mt,Kt),t=[$n.x,$n.y,$n.z],mr(t,De,Le,Xe,Nn))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,fe).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(fe).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(J[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),J[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),J[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),J[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),J[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),J[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),J[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),J[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(J),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}const J=[new le,new le,new le,new le,new le,new le,new le,new le],fe=new le,Te=new Y,De=new le,Le=new le,Xe=new le,mt=new le,Kt=new le,nn=new le,gn=new le,Nn=new le,$n=new le,Er=new le;function mr(s,e,t,n,i){for(let a=0,o=s.length-3;a<=o;a+=3){Er.fromArray(s,a);const u=i.x*Math.abs(Er.x)+i.y*Math.abs(Er.y)+i.z*Math.abs(Er.z),c=e.dot(Er),d=t.dot(Er),g=n.dot(Er);if(Math.max(-Math.max(c,d,g),Math.min(c,d,g))>u)return!1}return!0}const ti=new Y,jr=new le,ui=new le;class gi{constructor(e=new le,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):ti.setFromPoints(e).getCenter(n);let i=0;for(let a=0,o=e.length;athis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;jr.subVectors(e,this.center);const t=jr.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.addScaledVector(jr,i/n),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ui.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(jr.copy(e.center).add(ui)),this.expandByPoint(jr.copy(e.center).sub(ui))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}const oi=new le,ts=new le,fs=new le,Ds=new le,Ba=new le,Ka=new le,xo=new le;class aa{constructor(e=new le,t=new le(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,oi)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=oi.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(oi.copy(this.origin).addScaledVector(this.direction,t),oi.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){ts.copy(e).add(t).multiplyScalar(.5),fs.copy(t).sub(e).normalize(),Ds.copy(this.origin).sub(ts);const a=e.distanceTo(t)*.5,o=-this.direction.dot(fs),u=Ds.dot(this.direction),c=-Ds.dot(fs),d=Ds.lengthSq(),g=Math.abs(1-o*o);let v,M,B,I;if(g>0)if(v=o*c-u,M=o*u-c,I=a*g,v>=0)if(M>=-I)if(M<=I){const ne=1/g;v*=ne,M*=ne,B=v*(v+o*M+2*u)+M*(o*v+M+2*c)+d}else M=a,v=Math.max(0,-(o*M+u)),B=-v*v+M*(M+2*c)+d;else M=-a,v=Math.max(0,-(o*M+u)),B=-v*v+M*(M+2*c)+d;else M<=-I?(v=Math.max(0,-(-o*a+u)),M=v>0?-a:Math.min(Math.max(-a,-c),a),B=-v*v+M*(M+2*c)+d):M<=I?(v=0,M=Math.min(Math.max(-a,-c),a),B=M*(M+2*c)+d):(v=Math.max(0,-(o*a+u)),M=v>0?a:Math.min(Math.max(-a,-c),a),B=-v*v+M*(M+2*c)+d);else M=o>0?-a:a,v=Math.max(0,-(o*M+u)),B=-v*v+M*(M+2*c)+d;return n&&n.copy(this.origin).addScaledVector(this.direction,v),i&&i.copy(ts).addScaledVector(fs,M),B}intersectSphere(e,t){oi.subVectors(e.center,this.origin);const n=oi.dot(this.direction),i=oi.dot(oi)-n*n,a=e.radius*e.radius;if(i>a)return null;const o=Math.sqrt(a-i),u=n-o,c=n+o;return c<0?null:u<0?this.at(c,t):this.at(u,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,a,o,u,c;const d=1/this.direction.x,g=1/this.direction.y,v=1/this.direction.z,M=this.origin;return d>=0?(n=(e.min.x-M.x)*d,i=(e.max.x-M.x)*d):(n=(e.max.x-M.x)*d,i=(e.min.x-M.x)*d),g>=0?(a=(e.min.y-M.y)*g,o=(e.max.y-M.y)*g):(a=(e.max.y-M.y)*g,o=(e.min.y-M.y)*g),n>o||a>i||((a>n||isNaN(n))&&(n=a),(o=0?(u=(e.min.z-M.z)*v,c=(e.max.z-M.z)*v):(u=(e.max.z-M.z)*v,c=(e.min.z-M.z)*v),n>c||u>i)||((u>n||n!==n)&&(n=u),(c=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,oi)!==null}intersectTriangle(e,t,n,i,a){Ba.subVectors(t,e),Ka.subVectors(n,e),xo.crossVectors(Ba,Ka);let o=this.direction.dot(xo),u;if(o>0){if(i)return null;u=1}else if(o<0)u=-1,o=-o;else return null;Ds.subVectors(this.origin,e);const c=u*this.direction.dot(Ka.crossVectors(Ds,Ka));if(c<0)return null;const d=u*this.direction.dot(Ba.cross(Ds));if(d<0||c+d>o)return null;const g=-u*Ds.dot(xo);return g<0?null:this.at(g/o,a)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class di{constructor(e,t,n,i,a,o,u,c,d,g,v,M,B,I,ne,ee){di.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,i,a,o,u,c,d,g,v,M,B,I,ne,ee)}set(e,t,n,i,a,o,u,c,d,g,v,M,B,I,ne,ee){const q=this.elements;return q[0]=e,q[4]=t,q[8]=n,q[12]=i,q[1]=a,q[5]=o,q[9]=u,q[13]=c,q[2]=d,q[6]=g,q[10]=v,q[14]=M,q[3]=B,q[7]=I,q[11]=ne,q[15]=ee,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new di().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return this.determinant()===0?(e.set(1,0,0),t.set(0,1,0),n.set(0,0,1),this):(e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this)}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){if(e.determinant()===0)return this.identity();const t=this.elements,n=e.elements,i=1/Ma.setFromMatrixColumn(e,0).length(),a=1/Ma.setFromMatrixColumn(e,1).length(),o=1/Ma.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*a,t[5]=n[5]*a,t[6]=n[6]*a,t[7]=0,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,i=e.y,a=e.z,o=Math.cos(n),u=Math.sin(n),c=Math.cos(i),d=Math.sin(i),g=Math.cos(a),v=Math.sin(a);if(e.order==="XYZ"){const M=o*g,B=o*v,I=u*g,ne=u*v;t[0]=c*g,t[4]=-c*v,t[8]=d,t[1]=B+I*d,t[5]=M-ne*d,t[9]=-u*c,t[2]=ne-M*d,t[6]=I+B*d,t[10]=o*c}else if(e.order==="YXZ"){const M=c*g,B=c*v,I=d*g,ne=d*v;t[0]=M+ne*u,t[4]=I*u-B,t[8]=o*d,t[1]=o*v,t[5]=o*g,t[9]=-u,t[2]=B*u-I,t[6]=ne+M*u,t[10]=o*c}else if(e.order==="ZXY"){const M=c*g,B=c*v,I=d*g,ne=d*v;t[0]=M-ne*u,t[4]=-o*v,t[8]=I+B*u,t[1]=B+I*u,t[5]=o*g,t[9]=ne-M*u,t[2]=-o*d,t[6]=u,t[10]=o*c}else if(e.order==="ZYX"){const M=o*g,B=o*v,I=u*g,ne=u*v;t[0]=c*g,t[4]=I*d-B,t[8]=M*d+ne,t[1]=c*v,t[5]=ne*d+M,t[9]=B*d-I,t[2]=-d,t[6]=u*c,t[10]=o*c}else if(e.order==="YZX"){const M=o*c,B=o*d,I=u*c,ne=u*d;t[0]=c*g,t[4]=ne-M*v,t[8]=I*v+B,t[1]=v,t[5]=o*g,t[9]=-u*g,t[2]=-d*g,t[6]=B*v+I,t[10]=M-ne*v}else if(e.order==="XZY"){const M=o*c,B=o*d,I=u*c,ne=u*d;t[0]=c*g,t[4]=-v,t[8]=d*g,t[1]=M*v+ne,t[5]=o*g,t[9]=B*v-I,t[2]=I*v-B,t[6]=u*g,t[10]=ne*v+M}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(lo,e,Jo)}lookAt(e,t,n){const i=this.elements;return pa.subVectors(e,t),pa.lengthSq()===0&&(pa.z=1),pa.normalize(),zs.crossVectors(n,pa),zs.lengthSq()===0&&(Math.abs(n.z)===1?pa.x+=1e-4:pa.z+=1e-4,pa.normalize(),zs.crossVectors(n,pa)),zs.normalize(),Ya.crossVectors(pa,zs),i[0]=zs.x,i[4]=Ya.x,i[8]=pa.x,i[1]=zs.y,i[5]=Ya.y,i[9]=pa.y,i[2]=zs.z,i[6]=Ya.z,i[10]=pa.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,a=this.elements,o=n[0],u=n[4],c=n[8],d=n[12],g=n[1],v=n[5],M=n[9],B=n[13],I=n[2],ne=n[6],ee=n[10],q=n[14],ye=n[3],Ce=n[7],ke=n[11],nt=n[15],Ye=i[0],ht=i[4],Rt=i[8],qe=i[12],pt=i[1],xn=i[5],cr=i[9],pr=i[13],Br=i[2],zr=i[6],Dr=i[10],Zr=i[14],Ti=i[3],ds=i[7],As=i[11],Xr=i[15];return a[0]=o*Ye+u*pt+c*Br+d*Ti,a[4]=o*ht+u*xn+c*zr+d*ds,a[8]=o*Rt+u*cr+c*Dr+d*As,a[12]=o*qe+u*pr+c*Zr+d*Xr,a[1]=g*Ye+v*pt+M*Br+B*Ti,a[5]=g*ht+v*xn+M*zr+B*ds,a[9]=g*Rt+v*cr+M*Dr+B*As,a[13]=g*qe+v*pr+M*Zr+B*Xr,a[2]=I*Ye+ne*pt+ee*Br+q*Ti,a[6]=I*ht+ne*xn+ee*zr+q*ds,a[10]=I*Rt+ne*cr+ee*Dr+q*As,a[14]=I*qe+ne*pr+ee*Zr+q*Xr,a[3]=ye*Ye+Ce*pt+ke*Br+nt*Ti,a[7]=ye*ht+Ce*xn+ke*zr+nt*ds,a[11]=ye*Rt+Ce*cr+ke*Dr+nt*As,a[15]=ye*qe+Ce*pr+ke*Zr+nt*Xr,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],i=e[8],a=e[12],o=e[1],u=e[5],c=e[9],d=e[13],g=e[2],v=e[6],M=e[10],B=e[14],I=e[3],ne=e[7],ee=e[11],q=e[15],ye=c*B-d*M,Ce=u*B-d*v,ke=u*M-c*v,nt=o*B-d*g,Ye=o*M-c*g,ht=o*v-u*g;return t*(ne*ye-ee*Ce+q*ke)-n*(I*ye-ee*nt+q*Ye)+i*(I*Ce-ne*nt+q*ht)-a*(I*ke-ne*Ye+ee*ht)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],a=e[3],o=e[4],u=e[5],c=e[6],d=e[7],g=e[8],v=e[9],M=e[10],B=e[11],I=e[12],ne=e[13],ee=e[14],q=e[15],ye=v*ee*d-ne*M*d+ne*c*B-u*ee*B-v*c*q+u*M*q,Ce=I*M*d-g*ee*d-I*c*B+o*ee*B+g*c*q-o*M*q,ke=g*ne*d-I*v*d+I*u*B-o*ne*B-g*u*q+o*v*q,nt=I*v*c-g*ne*c-I*u*M+o*ne*M+g*u*ee-o*v*ee,Ye=t*ye+n*Ce+i*ke+a*nt;if(Ye===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const ht=1/Ye;return e[0]=ye*ht,e[1]=(ne*M*a-v*ee*a-ne*i*B+n*ee*B+v*i*q-n*M*q)*ht,e[2]=(u*ee*a-ne*c*a+ne*i*d-n*ee*d-u*i*q+n*c*q)*ht,e[3]=(v*c*a-u*M*a-v*i*d+n*M*d+u*i*B-n*c*B)*ht,e[4]=Ce*ht,e[5]=(g*ee*a-I*M*a+I*i*B-t*ee*B-g*i*q+t*M*q)*ht,e[6]=(I*c*a-o*ee*a-I*i*d+t*ee*d+o*i*q-t*c*q)*ht,e[7]=(o*M*a-g*c*a+g*i*d-t*M*d-o*i*B+t*c*B)*ht,e[8]=ke*ht,e[9]=(I*v*a-g*ne*a-I*n*B+t*ne*B+g*n*q-t*v*q)*ht,e[10]=(o*ne*a-I*u*a+I*n*d-t*ne*d-o*n*q+t*u*q)*ht,e[11]=(g*u*a-o*v*a-g*n*d+t*v*d+o*n*B-t*u*B)*ht,e[12]=nt*ht,e[13]=(g*ne*i-I*v*i+I*n*M-t*ne*M-g*n*ee+t*v*ee)*ht,e[14]=(I*u*i-o*ne*i-I*n*c+t*ne*c+o*n*ee-t*u*ee)*ht,e[15]=(o*v*i-g*u*i+g*n*c-t*v*c-o*n*M+t*u*M)*ht,this}scale(e){const t=this.elements,n=e.x,i=e.y,a=e.z;return t[0]*=n,t[4]*=i,t[8]*=a,t[1]*=n,t[5]*=i,t[9]*=a,t[2]*=n,t[6]*=i,t[10]*=a,t[3]*=n,t[7]*=i,t[11]*=a,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),i=Math.sin(t),a=1-n,o=e.x,u=e.y,c=e.z,d=a*o,g=a*u;return this.set(d*o+n,d*u-i*c,d*c+i*u,0,d*u+i*c,g*u+n,g*c-i*o,0,d*c-i*u,g*c+i*o,a*c*c+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,a,o){return this.set(1,n,a,0,e,1,o,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){const i=this.elements,a=t._x,o=t._y,u=t._z,c=t._w,d=a+a,g=o+o,v=u+u,M=a*d,B=a*g,I=a*v,ne=o*g,ee=o*v,q=u*v,ye=c*d,Ce=c*g,ke=c*v,nt=n.x,Ye=n.y,ht=n.z;return i[0]=(1-(ne+q))*nt,i[1]=(B+ke)*nt,i[2]=(I-Ce)*nt,i[3]=0,i[4]=(B-ke)*Ye,i[5]=(1-(M+q))*Ye,i[6]=(ee+ye)*Ye,i[7]=0,i[8]=(I+Ce)*ht,i[9]=(ee-ye)*ht,i[10]=(1-(M+ne))*ht,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){const i=this.elements;if(e.x=i[12],e.y=i[13],e.z=i[14],this.determinant()===0)return n.set(1,1,1),t.identity(),this;let a=Ma.set(i[0],i[1],i[2]).length();const o=Ma.set(i[4],i[5],i[6]).length(),u=Ma.set(i[8],i[9],i[10]).length();this.determinant()<0&&(a=-a),Rs.copy(this);const d=1/a,g=1/o,v=1/u;return Rs.elements[0]*=d,Rs.elements[1]*=d,Rs.elements[2]*=d,Rs.elements[4]*=g,Rs.elements[5]*=g,Rs.elements[6]*=g,Rs.elements[8]*=v,Rs.elements[9]*=v,Rs.elements[10]*=v,t.setFromRotationMatrix(Rs),n.x=a,n.y=o,n.z=u,this}makePerspective(e,t,n,i,a,o,u=gl,c=!1){const d=this.elements,g=2*a/(t-e),v=2*a/(n-i),M=(t+e)/(t-e),B=(n+i)/(n-i);let I,ne;if(c)I=a/(o-a),ne=o*a/(o-a);else if(u===gl)I=-(o+a)/(o-a),ne=-2*o*a/(o-a);else if(u===To)I=-o/(o-a),ne=-o*a/(o-a);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+u);return d[0]=g,d[4]=0,d[8]=M,d[12]=0,d[1]=0,d[5]=v,d[9]=B,d[13]=0,d[2]=0,d[6]=0,d[10]=I,d[14]=ne,d[3]=0,d[7]=0,d[11]=-1,d[15]=0,this}makeOrthographic(e,t,n,i,a,o,u=gl,c=!1){const d=this.elements,g=2/(t-e),v=2/(n-i),M=-(t+e)/(t-e),B=-(n+i)/(n-i);let I,ne;if(c)I=1/(o-a),ne=o/(o-a);else if(u===gl)I=-2/(o-a),ne=-(o+a)/(o-a);else if(u===To)I=-1/(o-a),ne=-a/(o-a);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+u);return d[0]=g,d[4]=0,d[8]=0,d[12]=M,d[1]=0,d[5]=v,d[9]=0,d[13]=B,d[2]=0,d[6]=0,d[10]=I,d[14]=ne,d[3]=0,d[7]=0,d[11]=0,d[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Ma=new le,Rs=new di,lo=new le(0,0,0),Jo=new le(1,1,1),zs=new le,Ya=new le,pa=new le,al=new di,qa=new Ze;class Ua{constructor(e=0,t=0,n=0,i=Ua.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const i=e.elements,a=i[0],o=i[4],u=i[8],c=i[1],d=i[5],g=i[9],v=i[2],M=i[6],B=i[10];switch(t){case"XYZ":this._y=Math.asin(Ca(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(-g,B),this._z=Math.atan2(-o,a)):(this._x=Math.atan2(M,d),this._z=0);break;case"YXZ":this._x=Math.asin(-Ca(g,-1,1)),Math.abs(g)<.9999999?(this._y=Math.atan2(u,B),this._z=Math.atan2(c,d)):(this._y=Math.atan2(-v,a),this._z=0);break;case"ZXY":this._x=Math.asin(Ca(M,-1,1)),Math.abs(M)<.9999999?(this._y=Math.atan2(-v,B),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(c,a));break;case"ZYX":this._y=Math.asin(-Ca(v,-1,1)),Math.abs(v)<.9999999?(this._x=Math.atan2(M,B),this._z=Math.atan2(c,a)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(Ca(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-g,d),this._y=Math.atan2(-v,a)):(this._x=0,this._y=Math.atan2(u,B));break;case"XZY":this._z=Math.asin(-Ca(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(M,d),this._y=Math.atan2(u,a)):(this._x=Math.atan2(-g,B),this._y=0);break;default:Lr("Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return al.makeRotationFromQuaternion(e),this.setFromRotationMatrix(al,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return qa.setFromEuler(this),this.setFromQuaternion(qa,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Ua.DEFAULT_ORDER="XYZ";class dl{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.geometryInfo=this._geometryInfo.map(u=>fd(rl({},u),{boundingBox:u.boundingBox?u.boundingBox.toJSON():void 0,boundingSphere:u.boundingSphere?u.boundingSphere.toJSON():void 0})),i.instanceInfo=this._instanceInfo.map(u=>rl({},u)),i.availableInstanceIds=this._availableInstanceIds.slice(),i.availableGeometryIds=this._availableGeometryIds.slice(),i.nextIndexStart=this._nextIndexStart,i.nextVertexStart=this._nextVertexStart,i.geometryCount=this._geometryCount,i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.matricesTexture=this._matricesTexture.toJSON(e),i.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(i.boundingBox=this.boundingBox.toJSON()));function a(u,c){return u[c.uuid]===void 0&&(u[c.uuid]=c.toJSON(e)),c.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=a(e.geometries,this.geometry);const u=this.geometry.parameters;if(u!==void 0&&u.shapes!==void 0){const c=u.shapes;if(Array.isArray(c))for(let d=0,g=c.length;d0){i.children=[];for(let u=0;u0){i.animations=[];for(let u=0;u0&&(n.geometries=u),c.length>0&&(n.materials=c),d.length>0&&(n.textures=d),g.length>0&&(n.images=g),v.length>0&&(n.shapes=v),M.length>0&&(n.skeletons=M),B.length>0&&(n.animations=B),I.length>0&&(n.nodes=I)}return n.object=i,n;function o(u){const c=[];for(const d in u){const g=u[d];delete g.metadata,c.push(g)}return c}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(a)):i.set(0,0,0)}static getBarycoord(e,t,n,i,a){Nc.subVectors(i,t),bh.subVectors(n,t),Wf.subVectors(e,t);const o=Nc.dot(Nc),u=Nc.dot(bh),c=Nc.dot(Wf),d=bh.dot(bh),g=bh.dot(Wf),v=o*d-u*u;if(v===0)return a.set(0,0,0),null;const M=1/v,B=(d*c-u*g)*M,I=(o*g-u*c)*M;return a.set(1-B-I,I,B)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,_h)===null?!1:_h.x>=0&&_h.y>=0&&_h.x+_h.y<=1}static getInterpolation(e,t,n,i,a,o,u,c){return this.getBarycoord(e,t,n,i,_h)===null?(c.x=0,c.y=0,"z"in c&&(c.z=0),"w"in c&&(c.w=0),null):(c.setScalar(0),c.addScaledVector(a,_h.x),c.addScaledVector(o,_h.y),c.addScaledVector(u,_h.z),c)}static getInterpolatedAttribute(e,t,n,i,a,o){return Ea.setScalar(0),Rl.setScalar(0),Zf.setScalar(0),Ea.fromBufferAttribute(e,t),Rl.fromBufferAttribute(e,n),Zf.fromBufferAttribute(e,i),o.setScalar(0),o.addScaledVector(Ea,a.x),o.addScaledVector(Rl,a.y),o.addScaledVector(Zf,a.z),o}static isFrontFacing(e,t,n,i){return Nc.subVectors(n,t),bh.subVectors(e,t),Nc.cross(bh).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,t,n,i){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Nc.subVectors(this.c,this.b),bh.subVectors(this.a,this.b),Nc.cross(bh).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ku.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ku.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,i,a){return ku.getInterpolation(e,this.a,this.b,this.c,t,n,i,a)}containsPoint(e){return ku.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ku.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,i=this.b,a=this.c;let o,u;ol.subVectors(i,n),Bl.subVectors(a,n),Co.subVectors(e,n);const c=ol.dot(Co),d=Bl.dot(Co);if(c<=0&&d<=0)return t.copy(n);vu.subVectors(e,i);const g=ol.dot(vu),v=Bl.dot(vu);if(g>=0&&v<=g)return t.copy(i);const M=c*v-g*d;if(M<=0&&c>=0&&g<=0)return o=c/(c-g),t.copy(n).addScaledVector(ol,o);Gl.subVectors(e,a);const B=ol.dot(Gl),I=Bl.dot(Gl);if(I>=0&&B<=I)return t.copy(a);const ne=B*d-c*I;if(ne<=0&&d>=0&&I<=0)return u=d/(d-I),t.copy(n).addScaledVector(Bl,u);const ee=g*I-B*v;if(ee<=0&&v-g>=0&&B-I>=0)return yd.subVectors(a,i),u=(v-g)/(v-g+(B-I)),t.copy(i).addScaledVector(yd,u);const q=1/(ee+ne+M);return o=ne*q,u=M*q,t.copy(n).addScaledVector(ol,o).addScaledVector(Bl,u)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const Dh={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},Vu={h:0,s:0,l:0},EA={h:0,s:0,l:0};function zu(s,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?s+(e-s)*6*t:t<1/2?e:t<2/3?s+(e-s)*6*(2/3-t):s}class Wr{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=sl){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,xr.colorSpaceToWorking(this,t),this}setRGB(e,t,n,i=xr.workingColorSpace){return this.r=e,this.g=t,this.b=n,xr.colorSpaceToWorking(this,i),this}setHSL(e,t,n,i=xr.workingColorSpace){if(e=Ud(e,1),t=Ca(t,0,1),n=Ca(n,0,1),t===0)this.r=this.g=this.b=n;else{const a=n<=.5?n*(1+t):n+t-n*t,o=2*n-a;this.r=zu(o,a,e+1/3),this.g=zu(o,a,e),this.b=zu(o,a,e-1/3)}return xr.colorSpaceToWorking(this,i),this}setStyle(e,t=sl){function n(a){a!==void 0&&parseFloat(a)<1&&Lr("Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let a;const o=i[1],u=i[2];switch(o){case"rgb":case"rgba":if(a=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return n(a[4]),this.setRGB(Math.min(255,parseInt(a[1],10))/255,Math.min(255,parseInt(a[2],10))/255,Math.min(255,parseInt(a[3],10))/255,t);if(a=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return n(a[4]),this.setRGB(Math.min(100,parseInt(a[1],10))/100,Math.min(100,parseInt(a[2],10))/100,Math.min(100,parseInt(a[3],10))/100,t);break;case"hsl":case"hsla":if(a=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return n(a[4]),this.setHSL(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,t);break;default:Lr("Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const a=i[1],o=a.length;if(o===3)return this.setRGB(parseInt(a.charAt(0),16)/15,parseInt(a.charAt(1),16)/15,parseInt(a.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(a,16),t);Lr("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=sl){const n=Dh[e.toLowerCase()];return n!==void 0?this.setHex(n,t):Lr("Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Fr(e.r),this.g=Fr(e.g),this.b=Fr(e.b),this}copyLinearToSRGB(e){return this.r=ri(e.r),this.g=ri(e.g),this.b=ri(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=sl){return xr.workingToColorSpace(Hc.copy(this),e),Math.round(Ca(Hc.r*255,0,255))*65536+Math.round(Ca(Hc.g*255,0,255))*256+Math.round(Ca(Hc.b*255,0,255))}getHexString(e=sl){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=xr.workingColorSpace){xr.workingToColorSpace(Hc.copy(this),t);const n=Hc.r,i=Hc.g,a=Hc.b,o=Math.max(n,i,a),u=Math.min(n,i,a);let c,d;const g=(u+o)/2;if(u===o)c=0,d=0;else{const v=o-u;switch(d=g<=.5?v/(o+u):v/(2-o-u),o){case n:c=(i-a)/v+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){Lr(`Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){Lr(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==ve&&(n.blending=this.blending),this.side!==j&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==zn&&(n.blendSrc=this.blendSrc),this.blendDst!==dr&&(n.blendDst=this.blendDst),this.blendEquation!==vt&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Ae&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==lu&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Ku&&(n.stencilFail=this.stencilFail),this.stencilZFail!==Ku&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==Ku&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.allowOverride===!1&&(n.allowOverride=!1),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(a){const o=[];for(const u in a){const c=a[u];delete c.metadata,o.push(c)}return o}if(t){const a=i(e.textures),o=i(e.images);a.length>0&&(n.textures=a),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const i=t.length;n=new Array(i);for(let a=0;a!==i;++a)n[a]=t[a].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.allowOverride=e.allowOverride,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class Yl extends Hl{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Wr(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ua,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Ql=Km();function Km(){const s=new ArrayBuffer(4),e=new Float32Array(s),t=new Uint32Array(s),n=new Uint32Array(512),i=new Uint32Array(512);for(let c=0;c<256;++c){const d=c-127;d<-27?(n[c]=0,n[c|256]=32768,i[c]=24,i[c|256]=24):d<-14?(n[c]=1024>>-d-14,n[c|256]=1024>>-d-14|32768,i[c]=-d-1,i[c|256]=-d-1):d<=15?(n[c]=d+15<<10,n[c|256]=d+15<<10|32768,i[c]=13,i[c|256]=13):d<128?(n[c]=31744,n[c|256]=64512,i[c]=24,i[c|256]=24):(n[c]=31744,n[c|256]=64512,i[c]=13,i[c|256]=13)}const a=new Uint32Array(2048),o=new Uint32Array(64),u=new Uint32Array(64);for(let c=1;c<1024;++c){let d=c<<13,g=0;for(;!(d&8388608);)d<<=1,g-=8388608;d&=-8388609,g+=947912704,a[c]=d|g}for(let c=1024;c<2048;++c)a[c]=939524096+(c-1024<<13);for(let c=1;c<31;++c)o[c]=c<<23;o[31]=1199570944,o[32]=2147483648;for(let c=33;c<63;++c)o[c]=2147483648+(c-32<<23);o[63]=3347054592;for(let c=1;c<64;++c)c!==32&&(u[c]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:a,exponentTable:o,offsetTable:u}}function Ol(s){Math.abs(s)>65504&&Lr("DataUtils.toHalfFloat(): Value out of range."),s=Ca(s,-65504,65504),Ql.floatView[0]=s;const e=Ql.uint32View[0],t=e>>23&511;return Ql.baseTable[t]+((e&8388607)>>Ql.shiftTable[t])}function Kf(s){const e=s>>10;return Ql.uint32View[0]=Ql.mantissaTable[Ql.offsetTable[e]+(s&1023)]+Ql.exponentTable[e],Ql.floatView[0]}class Zv{static toHalfFloat(e){return Ol(e)}static fromHalfFloat(e){return Kf(e)}}const ql=new le,Rp=new ce;let $f=0;class wl{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:$f++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=gh,this.updateRanges=[],this.gpuType=dt,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let i=0,a=this.itemSize;it.count&&Lr("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Y);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){Gr("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new le(-1/0,-1/0,-1/0),new le(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,i=t.length;n0&&(e.userData=this.userData),this.parameters!==void 0){const c=this.parameters;for(const d in c)c[d]!==void 0&&(e[d]=c[d]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const c in n){const d=n[c];e.data.attributes[c]=d.toJSON(e.data)}const i={};let a=!1;for(const c in this.morphAttributes){const d=this.morphAttributes[c],g=[];for(let v=0,M=d.length;v0&&(i[c]=g,a=!0)}a&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const u=this.boundingSphere;return u!==null&&(e.data.boundingSphere=u.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone());const i=e.attributes;for(const d in i){const g=i[d];this.setAttribute(d,g.clone(t))}const a=e.morphAttributes;for(const d in a){const g=[],v=a[d];for(let M=0,B=v.length;M0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=i.length;aBp(e.far-e.near,2)))&&(Af.copy(a).invert(),Sl.copy(e.ray).applyMatrix4(Af),!(n.boundingBox!==null&&Sl.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Sl)))}_computeIntersections(e,t,n){let i;const a=this.geometry,o=this.material,u=a.index,c=a.attributes.position,d=a.attributes.uv,g=a.attributes.uv1,v=a.attributes.normal,M=a.groups,B=a.drawRange;if(u!==null)if(Array.isArray(o))for(let I=0,ne=M.length;It.far?null:{distance:d,point:ip.clone(),object:s}}function sp(s,e,t,n,i,a,o,u,c,d){s.getVertexPosition(u,TA),s.getVertexPosition(c,Gd),s.getVertexPosition(d,Hd);const g=um(s,e,t,n,TA,Gd,Hd,_g);if(g){const v=new le;ku.getBarycoord(_g,TA,Gd,Hd,v),i&&(g.uv=ku.getInterpolatedAttribute(i,u,c,d,v,new ce)),a&&(g.uv1=ku.getInterpolatedAttribute(a,u,c,d,v,new ce)),o&&(g.normal=ku.getInterpolatedAttribute(o,u,c,d,v,new le),g.normal.dot(n.direction)>0&&g.normal.multiplyScalar(-1));const M={a:u,b:c,c:d,normal:new le,materialIndex:0};ku.getNormal(TA,Gd,Hd,M.normal),g.face=M,g.barycoord=v}return g}class bd extends ka{constructor(e=1,t=1,n=1,i=1,a=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:a,depthSegments:o};const u=this;i=Math.floor(i),a=Math.floor(a),o=Math.floor(o);const c=[],d=[],g=[],v=[];let M=0,B=0;I("z","y","x",-1,-1,n,t,e,o,a,0),I("z","y","x",1,-1,n,t,-e,o,a,1),I("x","z","y",1,1,e,n,t,i,o,2),I("x","z","y",1,-1,e,n,-t,i,o,3),I("x","y","z",1,-1,e,t,n,i,a,4),I("x","y","z",-1,-1,e,t,-n,i,a,5),this.setIndex(c),this.setAttribute("position",new Ui(d,3)),this.setAttribute("normal",new Ui(g,3)),this.setAttribute("uv",new Ui(v,2));function I(ne,ee,q,ye,Ce,ke,nt,Ye,ht,Rt,qe){const pt=ke/ht,xn=nt/Rt,cr=ke/2,pr=nt/2,Br=Ye/2,zr=ht+1,Dr=Rt+1;let Zr=0,Ti=0;const ds=new le;for(let As=0;As0?1:-1,g.push(ds.x,ds.y,ds.z),v.push(Yi/ht),v.push(1-As/Rt),Zr+=1}}for(let As=0;As0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class Qd extends yl{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new di,this.projectionMatrix=new di,this.projectionMatrixInverse=new di,this.coordinateSystem=gl,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Wd=new le,xu=new ce,Sg=new ce;class vo extends Qd{constructor(e=50,t=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Oh*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Ou*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Oh*2*Math.atan(Math.tan(Ou*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){Wd.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Wd.x,Wd.y).multiplyScalar(-e/Wd.z),Wd.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Wd.x,Wd.y).multiplyScalar(-e/Wd.z)}getViewSize(e,t){return this.getViewBounds(e,xu,Sg),t.subVectors(Sg,xu)}setViewOffset(e,t,n,i,a,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=a,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Ou*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,a=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const c=o.fullWidth,d=o.fullHeight;a+=o.offsetX*i/c,t-=o.offsetY*n/d,i*=o.width/c,n*=o.height/d}const u=this.filmOffset;u!==0&&(a+=e*u/this.getFilmWidth()),this.projectionMatrix.makePerspective(a,a+i,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const gf=-90,mf=1;class Np extends yl{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new vo(gf,mf,e,t);i.layers=this.layers,this.add(i);const a=new vo(gf,mf,e,t);a.layers=this.layers,this.add(a);const o=new vo(gf,mf,e,t);o.layers=this.layers,this.add(o);const u=new vo(gf,mf,e,t);u.layers=this.layers,this.add(u);const c=new vo(gf,mf,e,t);c.layers=this.layers,this.add(c);const d=new vo(gf,mf,e,t);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,i,a,o,u,c]=t;for(const d of t)this.remove(d);if(e===gl)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),a.up.set(0,0,-1),a.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),u.up.set(0,1,0),u.lookAt(0,0,1),c.up.set(0,1,0),c.lookAt(0,0,-1);else if(e===To)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),a.up.set(0,0,1),a.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),u.up.set(0,-1,0),u.lookAt(0,0,1),c.up.set(0,-1,0),c.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const d of t)this.add(d),d.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[a,o,u,c,d,g]=this.children,v=e.getRenderTarget(),M=e.getActiveCubeFace(),B=e.getActiveMipmapLevel(),I=e.xr.enabled;e.xr.enabled=!1;const ne=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,i),e.render(t,a),e.setRenderTarget(n,1,i),e.render(t,o),e.setRenderTarget(n,2,i),e.render(t,u),e.setRenderTarget(n,3,i),e.render(t,c),e.setRenderTarget(n,4,i),e.render(t,d),n.texture.generateMipmaps=ne,e.setRenderTarget(n,5,i),e.render(t,g),e.setRenderTarget(v,M,B),e.xr.enabled=I,n.texture.needsPMREMUpdate=!0}}class rh extends zi{constructor(e=[],t=it,n,i,a,o,u,c,d,g){super(e,t,n,i,a,o,u,c,d,g),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Mc extends Os{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},i=[n,n,n,n,n,n];this.texture=new rh(i),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` - - varying vec3 vWorldDirection; - - vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); - - } - - void main() { - - vWorldDirection = transformDirection( position, modelMatrix ); - - #include - #include - - } - `,fragmentShader:` - - uniform sampler2D tEquirect; - - varying vec3 vWorldDirection; - - #include - - void main() { - - vec3 direction = normalize( vWorldDirection ); - - vec2 sampleUV = equirectUv( direction ); - - gl_FragColor = texture2D( tEquirect, sampleUV ); - - } - `},i=new bd(5,5,5),a=new nh({name:"CubemapFromEquirect",uniforms:jf(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:de,blending:we});a.uniforms.tEquirect.value=t;const o=new Il(i,a),u=t.minFilter;return t.minFilter===yi&&(t.minFilter=vr),new Np(1,10,this).update(e,o),t.minFilter=u,o.geometry.dispose(),o.material.dispose(),this}clear(e,t=!0,n=!0,i=!0){const a=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,n,i);e.setRenderTarget(a)}}class ih extends yl{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Fp={type:"move"};class Ra{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ih,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ih,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new le,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new le),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ih,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new le,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new le),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let i=null,a=null,o=null;const u=this._targetRay,c=this._grip,d=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const ne of e.hand.values()){const ee=t.getJointPose(ne,n),q=this._getHandJoint(d,ne);ee!==null&&(q.matrix.fromArray(ee.transform.matrix),q.matrix.decompose(q.position,q.rotation,q.scale),q.matrixWorldNeedsUpdate=!0,q.jointRadius=ee.radius),q.visible=ee!==null}const g=d.joints["index-finger-tip"],v=d.joints["thumb-tip"],M=g.position.distanceTo(v.position),B=.02,I=.005;d.inputState.pinching&&M>B+I?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&M<=B-I&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else c!==null&&e.gripSpace&&(a=t.getPose(e.gripSpace,n),a!==null&&(c.matrix.fromArray(a.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,a.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(a.linearVelocity)):c.hasLinearVelocity=!1,a.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(a.angularVelocity)):c.hasAngularVelocity=!1));u!==null&&(i=t.getPose(e.targetRaySpace,n),i===null&&a!==null&&(i=a),i!==null&&(u.matrix.fromArray(i.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),u.matrixWorldNeedsUpdate=!0,i.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(i.linearVelocity)):u.hasLinearVelocity=!1,i.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(i.angularVelocity)):u.hasAngularVelocity=!1,this.dispatchEvent(Fp)))}return u!==null&&(u.visible=i!==null),c!==null&&(c.visible=a!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new ih;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class Hu{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new Wr(e),this.density=t}clone(){return new Hu(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class vf{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new Wr(e),this.near=t,this.far=n}clone(){return new vf(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class _d extends yl{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Ua,this.environmentIntensity=1,this.environmentRotation=new Ua,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class wh{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=gh,this.updateRanges=[],this.version=0,this.uuid=oc()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let i=0,a=this.stride;ie.far||t.push({distance:c,point:xf.clone(),uv:ku.getInterpolation(xf,sh,Sd,IA,NA,qf,Mg,new ce),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function ed(s,e,t,n,i,a){Yf.subVectors(s,t).addScalar(.5).multiply(n),i!==void 0?(RA.x=a*Yf.x-i*Yf.y,RA.y=i*Yf.x+a*Yf.y):RA.copy(Yf),s.copy(e),s.x+=RA.x,s.y+=RA.y,s.applyMatrix4(wd)}const td=new le,Jf=new le;class dm extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,i=t.length;n0){let n,i;for(n=1,i=t.length;n0){td.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(td);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){td.setFromMatrixPosition(e.matrixWorld),Jf.setFromMatrixPosition(this.matrixWorld);const n=td.distanceTo(Jf)/e.zoom;t[0].object.visible=!0;let i,a;for(i=1,a=t.length;i=o)t[i-1].object.visible=!1,t[i].object.visible=!0;else break}for(this._currentLevel=i-1;i1?null:t.copy(e.start).addScaledVector(n,a)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Cg.getNormalMatrix(e),i=this.coplanarPoint(wo).applyMatrix4(e),a=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(a),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const zh=new gi,fm=new ce(.5,.5),Xd=new le;class qu{constructor(e=new Ec,t=new Ec,n=new Ec,i=new Ec,a=new Ec,o=new Ec){this.planes=[e,t,n,i,a,o]}set(e,t,n,i,a,o){const u=this.planes;return u[0].copy(e),u[1].copy(t),u[2].copy(n),u[3].copy(i),u[4].copy(a),u[5].copy(o),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=gl,n=!1){const i=this.planes,a=e.elements,o=a[0],u=a[1],c=a[2],d=a[3],g=a[4],v=a[5],M=a[6],B=a[7],I=a[8],ne=a[9],ee=a[10],q=a[11],ye=a[12],Ce=a[13],ke=a[14],nt=a[15];if(i[0].setComponents(d-o,B-g,q-I,nt-ye).normalize(),i[1].setComponents(d+o,B+g,q+I,nt+ye).normalize(),i[2].setComponents(d+u,B+v,q+ne,nt+Ce).normalize(),i[3].setComponents(d-u,B-v,q-ne,nt-Ce).normalize(),n)i[4].setComponents(c,M,ee,ke).normalize(),i[5].setComponents(d-c,B-M,q-ee,nt-ke).normalize();else if(i[4].setComponents(d-c,B-M,q-ee,nt-ke).normalize(),t===gl)i[5].setComponents(d+c,B+M,q+ee,nt+ke).normalize();else if(t===To)i[5].setComponents(c,M,ee,ke).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),zh.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),zh.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(zh)}intersectsSprite(e){zh.center.set(0,0,0);const t=fm.distanceTo(e.center);return zh.radius=.7071067811865476+t,zh.applyMatrix4(e.matrixWorld),this.intersectsSphere(zh)}intersectsSphere(e){const t=this.planes,n=e.center,i=-e.radius;for(let a=0;a<6;a++)if(t[a].distanceToPoint(n)0?e.max.x:e.min.x,Xd.y=i.normal.y>0?e.max.y:e.min.y,Xd.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(Xd)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const Th=new di,oh=new qu;class kp{constructor(){this.coordinateSystem=gl}intersectsObject(e,t){if(!t.isArrayCamera||t.cameras.length===0)return!1;for(let n=0;n=a.length&&a.push({start:-1,count:-1,z:-1,index:-1});const u=a[this.index];o.push(u),this.index++,u.start=e,u.count=t,u.z=n,u.index=i}reset(){this.list.length=0,this.index=0}}const eu=new di,Ef=new Wr(1,1,1),Dl=new qu,Bh=new kp,Cf=new Y,tu=new gi,FA=new le,Wc=new le,PA=new le,jd=new bu,_u=new Il,Yd=null;function up(s,e,t=0){const n=e.itemSize;if(s.isInterleavedBufferAttribute||s.array.constructor!==e.array.constructor){const i=s.count;for(let a=0;a65535?new Uint32Array(i):new Uint16Array(i);t.setIndex(new wl(a,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const i=e.getAttribute(n),a=t.getAttribute(n);if(i.itemSize!==a.itemSize||i.normalized!==a.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Y);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(Sf),i=this._availableInstanceIds.shift(),this._instanceInfo[i]=n):(i=this._instanceInfo.length,this._instanceInfo.push(n));const a=this._matricesTexture;eu.identity().toArray(a.image.data,i*16),a.needsUpdate=!0;const o=this._colorsTexture;return o&&(Ef.toArray(o.image.data,i*4),o.needsUpdate=!0),this._visibilityChanged=!0,i}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const i={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},a=this._geometryInfo;i.vertexStart=this._nextVertexStart,i.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const o=e.getIndex();if(o!==null&&(i.indexStart=this._nextIndexStart,i.reservedIndexCount=n===-1?o.count:n),i.indexStart!==-1&&i.indexStart+i.reservedIndexCount>this._maxIndexCount||i.vertexStart+i.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let c;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(Sf),c=this._availableGeometryIds.shift(),a[c]=i):(c=this._geometryCount,this._geometryCount++,a.push(i)),this.setGeometryAt(c,e),this._nextIndexStart=i.indexStart+i.reservedIndexCount,this._nextVertexStart=i.vertexStart+i.reservedVertexCount,c}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,i=n.getIndex()!==null,a=n.getIndex(),o=t.getIndex(),u=this._geometryInfo[e];if(i&&o.count>u.reservedIndexCount||t.attributes.position.count>u.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const c=u.vertexStart,d=u.reservedVertexCount;u.vertexCount=t.getAttribute("position").count;for(const g in n.attributes){const v=t.getAttribute(g),M=n.getAttribute(g);up(v,M,c);const B=v.itemSize;for(let I=v.count,ne=d;I=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let i=0,a=n.length;iu).sort((o,u)=>n[o].vertexStart-n[u].vertexStart),a=this.geometry;for(let o=0,u=n.length;o=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingBox===null){const a=new Y,o=n.index,u=n.attributes.position;for(let c=i.start,d=i.start+i.count;c=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingSphere===null){const a=new gi;this.getBoundingBoxAt(e,Cf),Cf.getCenter(a.center);const o=n.index,u=n.attributes.position;let c=0;for(let d=i.start,g=i.start+i.count;du.active);if(Math.max(...n.map(u=>u.vertexStart+u.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(c=>c.indexStart+c.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const a=this.geometry;a.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new ka,this._initializeGeometry(a));const o=this.geometry;a.index&&lh(a.index.array,o.index.array);for(const u in a.attributes)lh(a.attributes[u].array,o.attributes[u].array)}raycast(e,t){const n=this._instanceInfo,i=this._geometryInfo,a=this.matrixWorld,o=this.geometry;_u.material=this.material,_u.geometry.index=o.index,_u.geometry.attributes=o.attributes,_u.geometry.boundingBox===null&&(_u.geometry.boundingBox=new Y),_u.geometry.boundingSphere===null&&(_u.geometry.boundingSphere=new gi);for(let u=0,c=n.length;ufd(rl({},t),{boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>rl({},t)),this._availableInstanceIds=e._availableInstanceIds.slice(),this._availableGeometryIds=e._availableGeometryIds.slice(),this._nextIndexStart=e._nextIndexStart,this._nextVertexStart=e._nextVertexStart,this._geometryCount=e._geometryCount,this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._indirectTexture=e._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(e,t,n,i,a){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=i.getIndex(),u=o===null?1:o.array.BYTES_PER_ELEMENT,c=this._instanceInfo,d=this._multiDrawStarts,g=this._multiDrawCounts,v=this._geometryInfo,M=this.perObjectFrustumCulled,B=this._indirectTexture,I=B.image.data,ne=n.isArrayCamera?Bh:Dl;M&&!n.isArrayCamera&&(eu.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Dl.setFromProjectionMatrix(eu,n.coordinateSystem,n.reversedDepth));let ee=0;if(this.sortObjects){eu.copy(this.matrixWorld).invert(),FA.setFromMatrixPosition(n.matrixWorld).applyMatrix4(eu),Wc.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(eu);for(let Ce=0,ke=c.length;Ce0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=i.length;an)return;LA.applyMatrix4(s.matrixWorld);const d=e.ray.origin.distanceTo(LA);if(!(de.far))return{distance:d,point:Vp.clone().applyMatrix4(s.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:s}}const UA=new le,hp=new le;class dp extends null{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let i=0,a=t.count;i0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let a=0,o=i.length;ai.far)return;a.push({distance:d,distanceToRay:Math.sqrt(u),point:c,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class k0 extends null{constructor(e,t,n,i,a=vr,o=vr,u,c,d){super(e,t,n,i,a,o,u,c,d),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;const g=this;function v(){g.needsUpdate=!0,g._requestVideoFrameCallbackId=e.requestVideoFrameCallback(v)}"requestVideoFrameCallback"in e&&(this._requestVideoFrameCallbackId=e.requestVideoFrameCallback(v))}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&(this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0),super.dispose()}}class gm extends null{constructor(e,t,n,i,a,o,u,c){super({},e,t,n,i,a,o,u,c),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(e){this.image=e,this.needsUpdate=!0}}class OA extends zi{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=cn,this.minFilter=cn,this.generateMipmaps=!1,this.needsUpdate=!0}}class DA extends null{constructor(e,t,n,i,a,o,u,c,d,g,v,M){super(null,o,u,c,d,g,i,a,v,M),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Us extends null{constructor(e,t,n,i,a,o){super(e,t,n,a,o),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=Vt,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class Cd extends null{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,it),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class iA extends null{constructor(e,t,n,i,a,o,u,c,d){super(e,t,n,i,a,o,u,c,d),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Al extends zi{constructor(e,t,n=st,i,a,o,u=cn,c=cn,d,g=Q,v=1){if(g!==Q&&g!==w)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const M={width:e,height:t,depth:v};super(M,i,a,o,u,c,g,n,d),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new rs(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class sA extends Al{constructor(e,t=st,n=it,i,a,o=cn,u=cn,c,d=Q){const g={width:e,height:e,depth:1},v=[g,g,g,g,g,g];super(e,e,t,n,i,a,o,u,c,d),this.image=v,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}}class Fo extends zi{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}}class ll extends ka{constructor(e=1,t=1,n=4,i=8,a=1){super(),this.type="CapsuleGeometry",this.parameters={radius:e,height:t,capSegments:n,radialSegments:i,heightSegments:a},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),i=Math.max(3,Math.floor(i)),a=Math.max(1,Math.floor(a));const o=[],u=[],c=[],d=[],g=t/2,v=Math.PI/2*e,M=t,B=2*v+M,I=n*2+a,ne=i+1,ee=new le,q=new le;for(let ye=0;ye<=I;ye++){let Ce=0,ke=0,nt=0,Ye=0;if(ye<=n){const qe=ye/n,pt=qe*Math.PI/2;ke=-g-e*Math.cos(pt),nt=e*Math.sin(pt),Ye=-e*Math.cos(pt),Ce=qe*v}else if(ye<=n+a){const qe=(ye-n)/a;ke=-g+qe*t,nt=e,Ye=0,Ce=v+qe*M}else{const qe=(ye-n-a)/n,pt=qe*Math.PI/2;ke=g+e*Math.sin(pt),nt=e*Math.cos(pt),Ye=e*Math.sin(pt),Ce=v+M+qe*v}const ht=Math.max(0,Math.min(1,Ce/B));let Rt=0;ye===0?Rt=.5/i:ye===I&&(Rt=-.5/i);for(let qe=0;qe<=i;qe++){const pt=qe/i,xn=pt*Math.PI*2,cr=Math.sin(xn),pr=Math.cos(xn);q.x=-nt*pr,q.y=ke,q.z=nt*cr,u.push(q.x,q.y,q.z),ee.set(-nt*pr,Ye,nt*cr),ee.normalize(),c.push(ee.x,ee.y,ee.z),d.push(pt+Rt,ht)}if(ye>0){const qe=(ye-1)*ne;for(let pt=0;pt0&&Ce(!0),t>0&&Ce(!1)),this.setIndex(g),this.setAttribute("position",new Ui(v,3)),this.setAttribute("normal",new Ui(M,3)),this.setAttribute("uv",new Ui(B,2));function ye(){const ke=new le,nt=new le;let Ye=0;const ht=(t-e)/n;for(let Rt=0;Rt<=a;Rt++){const qe=[],pt=Rt/a,xn=pt*(t-e)+e;for(let cr=0;cr<=i;cr++){const pr=cr/i,Br=pr*c+u,zr=Math.sin(Br),Dr=Math.cos(Br);nt.x=xn*zr,nt.y=-pt*n+ee,nt.z=xn*Dr,v.push(nt.x,nt.y,nt.z),ke.set(zr,ht,Dr).normalize(),M.push(ke.x,ke.y,ke.z),B.push(pr,1-pt),qe.push(I++)}ne.push(qe)}for(let Rt=0;Rt0||qe!==0)&&(g.push(pt,xn,pr),Ye+=3),(t>0||qe!==a-1)&&(g.push(xn,cr,pr),Ye+=3)}d.addGroup(q,Ye,0),q+=Ye}function Ce(ke){const nt=I,Ye=new ce,ht=new le;let Rt=0;const qe=ke===!0?e:t,pt=ke===!0?1:-1;for(let cr=1;cr<=i;cr++)v.push(0,ee*pt,0),M.push(0,pt,0),B.push(.5,.5),I++;const xn=I;for(let cr=0;cr<=i;cr++){const Br=cr/i*c+u,zr=Math.cos(Br),Dr=Math.sin(Br);ht.x=qe*Dr,ht.y=ee*pt,ht.z=qe*zr,v.push(ht.x,ht.y,ht.z),M.push(0,pt,0),Ye.x=zr*.5+.5,Ye.y=Dr*.5*pt+.5,B.push(Ye.x,Ye.y),I++}for(let cr=0;cr.9&&ht<.1&&(Ce<.2&&(o[ye+0]+=1),ke<.2&&(o[ye+2]+=1),nt<.2&&(o[ye+4]+=1))}}function M(ye){a.push(ye.x,ye.y,ye.z)}function B(ye,Ce){const ke=ye*3;Ce.x=e[ke+0],Ce.y=e[ke+1],Ce.z=e[ke+2]}function I(){const ye=new le,Ce=new le,ke=new le,nt=new le,Ye=new ce,ht=new ce,Rt=new ce;for(let qe=0,pt=0;qe0)c=i-1;else{c=i;break}if(i=c,n[i]===o)return i/(a-1);const g=n[i],M=n[i+1]-g,B=(o-g)/M;return(i+B)/(a-1)}getTangent(e,t){let i=e-1e-4,a=e+1e-4;i<0&&(i=0),a>1&&(a=1);const o=this.getPoint(i),u=this.getPoint(a),c=t||(o.isVector2?new ce:new le);return c.copy(u).sub(o).normalize(),c}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){const n=new le,i=[],a=[],o=[],u=new le,c=new di;for(let B=0;B<=e;B++){const I=B/e;i[B]=this.getTangentAt(I,new le)}a[0]=new le,o[0]=new le;let d=Number.MAX_VALUE;const g=Math.abs(i[0].x),v=Math.abs(i[0].y),M=Math.abs(i[0].z);g<=d&&(d=g,n.set(1,0,0)),v<=d&&(d=v,n.set(0,1,0)),M<=d&&n.set(0,0,1),u.crossVectors(i[0],n).normalize(),a[0].crossVectors(i[0],u),o[0].crossVectors(i[0],a[0]);for(let B=1;B<=e;B++){if(a[B]=a[B-1].clone(),o[B]=o[B-1].clone(),u.crossVectors(i[B-1],i[B]),u.length()>Number.EPSILON){u.normalize();const I=Math.acos(Ca(i[B-1].dot(i[B]),-1,1));a[B].applyMatrix4(c.makeRotationAxis(u,I))}o[B].crossVectors(i[B],a[B])}if(t===!0){let B=Math.acos(Ca(a[0].dot(a[e]),-1,1));B/=e,i[0].dot(u.crossVectors(a[0],a[e]))>0&&(B=-B);for(let I=1;I<=e;I++)a[I].applyMatrix4(c.makeRotationAxis(i[I],B*I)),o[I].crossVectors(i[I],a[I])}return{tangents:i,normals:a,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class zp extends Hh{constructor(e=0,t=0,n=1,i=1,a=0,o=Math.PI*2,u=!1,c=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=i,this.aStartAngle=a,this.aEndAngle=o,this.aClockwise=u,this.aRotation=c}getPoint(e,t=new ce){const n=t,i=Math.PI*2;let a=this.aEndAngle-this.aStartAngle;const o=Math.abs(a)i;)a-=i;a0?0:(Math.floor(Math.abs(u)/a)+1)*a:c===0&&u===a-1&&(u=a-2,c=1);let d,g;this.closed||u>0?d=i[(u-1)%a]:(Jd.subVectors(i[0],i[1]).add(i[0]),d=Jd);const v=i[u%a],M=i[(u+1)%a];if(this.closed||u+2i.length-2?i.length-1:o+1],v=i[o>i.length-3?i.length-1:o+2];return n.set(A(u,c.x,d.x,g.x,v.x),A(u,c.y,d.y,g.y,v.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const o=i[a]-n,u=this.curves[a],c=u.getLength(),d=c===0?0:1-o/c;return u.getPointAt(d,t)}a++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,i=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const v=d.getPoint(0);v.equals(this.currentPoint)||this.lineTo(v.x,v.y)}this.curves.push(d);const g=d.getPoint(1);return this.currentPoint.copy(g),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class bi extends is{constructor(e){super(e),this.uuid=oc(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,i=this.holes.length;n80*t){u=s[0],c=s[1];let g=u,v=c;for(let M=t;Mg&&(g=B),I>v&&(v=I)}d=Math.max(g-u,v-c),d=d!==0?32767/d:0}return Hs(a,o,t,u,c,d,0),o}function Gs(s,e,t,n,i){let a;if(i===ks(s,e,t,n)>0)for(let o=e;o=e;o-=n)a=ko(o/n|0,s[o],s[o+1],a);return a&&Ir(a,a.next)&&(uo(a),a=a.next),a}function _s(s,e){if(!s)return s;e||(e=s);let t=s,n;do if(n=!1,!t.steiner&&(Ir(t,t.next)||ur(t.prev,t,t.next)===0)){if(uo(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function Hs(s,e,t,n,i,a,o){if(!s)return;!o&&a&&K(s,n,i,a);let u=s;for(;s.prev!==s.next;){const c=s.prev,d=s.next;if(a?Ia(s,n,i,a):Zs(s)){e.push(c.i,s.i,d.i),uo(s),s=d.next,u=d.next;continue}if(s=d,s===u){o?o===1?(s=Po(_s(s),e),Hs(s,e,t,n,i,a,2)):o===2&&Ml(s,e,t,n,i,a):Hs(_s(s),e,t,n,i,a,1);break}}}function Zs(s){const e=s.prev,t=s,n=s.next;if(ur(e,t,n)>=0)return!1;const i=e.x,a=t.x,o=n.x,u=e.y,c=t.y,d=n.y,g=Math.min(i,a,o),v=Math.min(u,c,d),M=Math.max(i,a,o),B=Math.max(u,c,d);let I=n.next;for(;I!==e;){if(I.x>=g&&I.x<=M&&I.y>=v&&I.y<=B&&fn(i,u,a,c,o,d,I.x,I.y)&&ur(I.prev,I,I.next)>=0)return!1;I=I.next}return!0}function Ia(s,e,t,n){const i=s.prev,a=s,o=s.next;if(ur(i,a,o)>=0)return!1;const u=i.x,c=a.x,d=o.x,g=i.y,v=a.y,M=o.y,B=Math.min(u,c,d),I=Math.min(g,v,M),ne=Math.max(u,c,d),ee=Math.max(g,v,M),q=et(B,I,e,t,n),ye=et(ne,ee,e,t,n);let Ce=s.prevZ,ke=s.nextZ;for(;Ce&&Ce.z>=q&&ke&&ke.z<=ye;){if(Ce.x>=B&&Ce.x<=ne&&Ce.y>=I&&Ce.y<=ee&&Ce!==i&&Ce!==o&&fn(u,g,c,v,d,M,Ce.x,Ce.y)&&ur(Ce.prev,Ce,Ce.next)>=0||(Ce=Ce.prevZ,ke.x>=B&&ke.x<=ne&&ke.y>=I&&ke.y<=ee&&ke!==i&&ke!==o&&fn(u,g,c,v,d,M,ke.x,ke.y)&&ur(ke.prev,ke,ke.next)>=0))return!1;ke=ke.nextZ}for(;Ce&&Ce.z>=q;){if(Ce.x>=B&&Ce.x<=ne&&Ce.y>=I&&Ce.y<=ee&&Ce!==i&&Ce!==o&&fn(u,g,c,v,d,M,Ce.x,Ce.y)&&ur(Ce.prev,Ce,Ce.next)>=0)return!1;Ce=Ce.prevZ}for(;ke&&ke.z<=ye;){if(ke.x>=B&&ke.x<=ne&&ke.y>=I&&ke.y<=ee&&ke!==i&&ke!==o&&fn(u,g,c,v,d,M,ke.x,ke.y)&&ur(ke.prev,ke,ke.next)>=0)return!1;ke=ke.nextZ}return!0}function Po(s,e){let t=s;do{const n=t.prev,i=t.next.next;!Ir(n,i)&&fi(n,t,t.next,i)&&Ja(n,i)&&Ja(i,n)&&(e.push(n.i,t.i,i.i),uo(t),uo(t.next),t=s=i),t=t.next}while(t!==s);return _s(t)}function Ml(s,e,t,n,i,a){let o=s;do{let u=o.next.next;for(;u!==o.prev;){if(o.i!==u.i&&Ar(o,u)){let c=ea(o,u);o=_s(o,o.next),c=_s(c,c.next),Hs(o,e,t,n,i,a,0),Hs(c,e,t,n,i,a,0);return}u=u.next}o=o.next}while(o!==s)}function El(s,e,t,n){const i=[];for(let a=0,o=e.length;a=t.next.y&&t.next.y!==t.y){const v=t.x+(i-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(v<=n&&v>a&&(a=v,o=t.x=t.x&&t.x>=c&&n!==t.x&&dn(io.x||t.x===o.x&&$(o,t)))&&(o=t,g=v)}t=t.next}while(t!==u);return o}function $(s,e){return ur(s.prev,s,e.prev)<0&&ur(e.next,s,s.next)<0}function K(s,e,t,n){let i=s;do i.z===0&&(i.z=et(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==s);i.prevZ.nextZ=null,i.prevZ=null,_e(i)}function _e(s){let e,t=1;do{let n=s,i;s=null;let a=null;for(e=0;n;){e++;let o=n,u=0;for(let d=0;d0||c>0&&o;)u!==0&&(c===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,u--):(i=o,o=o.nextZ,c--),a?a.nextZ=i:s=i,i.prevZ=a,a=i;n=o}a.nextZ=null,t*=2}while(e>1);return s}function et(s,e,t,n,i){return s=(s-t)*i|0,e=(e-n)*i|0,s=(s|s<<8)&16711935,s=(s|s<<4)&252645135,s=(s|s<<2)&858993459,s=(s|s<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,s|e<<1}function Ft(s){let e=s,t=s;do(e.x=(s-o)*(a-u)&&(s-o)*(n-u)>=(t-o)*(e-u)&&(t-o)*(a-u)>=(i-o)*(n-u)}function fn(s,e,t,n,i,a,o,u){return!(s===o&&e===u)&&dn(s,e,t,n,i,a,o,u)}function Ar(s,e){return s.next.i!==e.i&&s.prev.i!==e.i&&!bs(s,e)&&(Ja(s,e)&&Ja(e,s)&&fa(s,e)&&(ur(s.prev,s,e.prev)||ur(s,e.prev,e))||Ir(s,e)&&ur(s.prev,s,s.next)>0&&ur(e.prev,e,e.next)>0)}function ur(s,e,t){return(e.y-s.y)*(t.x-e.x)-(e.x-s.x)*(t.y-e.y)}function Ir(s,e){return s.x===e.x&&s.y===e.y}function fi(s,e,t,n){const i=us(ur(s,e,t)),a=us(ur(s,e,n)),o=us(ur(t,n,s)),u=us(ur(t,n,e));return!!(i!==a&&o!==u||i===0&&Qs(s,t,e)||a===0&&Qs(s,n,e)||o===0&&Qs(t,s,n)||u===0&&Qs(t,e,n))}function Qs(s,e,t){return e.x<=Math.max(s.x,t.x)&&e.x>=Math.min(s.x,t.x)&&e.y<=Math.max(s.y,t.y)&&e.y>=Math.min(s.y,t.y)}function us(s){return s>0?1:s<0?-1:0}function bs(s,e){let t=s;do{if(t.i!==s.i&&t.next.i!==s.i&&t.i!==e.i&&t.next.i!==e.i&&fi(t,t.next,s,e))return!0;t=t.next}while(t!==s);return!1}function Ja(s,e){return ur(s.prev,s,s.next)<0?ur(s,e,s.next)>=0&&ur(s,s.prev,e)>=0:ur(s,e,s.prev)<0||ur(s,s.next,e)<0}function fa(s,e){let t=s,n=!1;const i=(s.x+e.x)/2,a=(s.y+e.y)/2;do t.y>a!=t.next.y>a&&t.next.y!==t.y&&i<(t.next.x-t.x)*(a-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==s);return n}function ea(s,e){const t=Oa(s.i,s.x,s.y),n=Oa(e.i,e.x,e.y),i=s.next,a=e.prev;return s.next=e,e.prev=s,t.next=i,i.prev=t,n.next=t,t.prev=n,a.next=n,n.prev=a,n}function ko(s,e,t,n){const i=Oa(s,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uo(s){s.next.prev=s.prev,s.prev.next=s.next,s.prevZ&&(s.prevZ.nextZ=s.nextZ),s.nextZ&&(s.nextZ.prevZ=s.prevZ)}function Oa(s,e,t){return{i:s,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function ks(s,e,t,n){let i=0;for(let a=e,o=t-n;a2&&s[e-1].equals(s[0])&&s.pop()}function nu(s,e){for(let t=0;tNumber.EPSILON){const xi=Math.sqrt(St),Qi=Math.sqrt(Ps*Ps+Mn*Mn),Si=os.x-ho/xi,La=os.y+da/xi,Vs=Hi.x-Mn/Qi,Na=Hi.y+Ps/Qi,po=((Vs-Si)*Mn-(Na-La)*Ps)/(da*Mn-ho*Ps);Fs=Si+da*po-Li.x,Pn=La+ho*po-Li.y;const hs=Fs*Fs+Pn*Pn;if(hs<=2)return new ce(Fs,Pn);ja=Math.sqrt(hs/2)}else{let xi=!1;da>Number.EPSILON?Ps>Number.EPSILON&&(xi=!0):da<-Number.EPSILON?Ps<-Number.EPSILON&&(xi=!0):Math.sign(ho)===Math.sign(Mn)&&(xi=!0),xi?(Fs=-ho,Pn=da,ja=Math.sqrt(St)):(Fs=da,Pn=ho,ja=Math.sqrt(St/2))}return new ce(Fs/ja,Pn/ja)}const ds=[];for(let Li=0,os=zr.length,Hi=os-1,Fs=Li+1;Li=0;Li--){const os=Li/ee,Hi=B*Math.cos(os*Math.PI/2),Fs=I*Math.sin(os*Math.PI/2)+ne;for(let Pn=0,ja=zr.length;Pn=0;){const Fs=Hi;let Pn=Hi-1;Pn<0&&(Pn=Li.length-1);for(let ja=0,da=g+ee*2;ja0)&&B.push(Ce,ke,Ye),(q!==n-1||c0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class Xv extends Hl{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Wr(16777215),this.specular=new Wr(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Wr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ll,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ua,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class jv extends Hl{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Wr(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Wr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ll,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class V0 extends Hl{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ll,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class qm extends Hl{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Wr(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Wr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ll,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ua,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Bx extends Hl{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=bo,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Rx extends Hl{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class nw extends Hl{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Wr(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ll,this.normalScale=new ce(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this.fog=e.fog,this}}class xm extends fl{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Bg(s,e){return!s||s.constructor===e?s:typeof e.BYTES_PER_ELEMENT=="number"?new e(s):Array.prototype.slice.call(s)}function Yv(s){function e(i,a){return s[i]-s[a]}const t=s.length,n=new Array(t);for(let i=0;i!==t;++i)n[i]=i;return n.sort(e),n}function qv(s,e,t){const n=s.length,i=new s.constructor(n);for(let a=0,o=0;o!==n;++a){const u=t[a]*e;for(let c=0;c!==e;++c)i[o++]=s[u+c]}return i}function tf(s,e,t,n){let i=1,a=s[0];for(;a!==void 0&&a[n]===void 0;)a=s[i++];if(a===void 0)return;let o=a[n];if(o!==void 0)if(Array.isArray(o))do o=a[n],o!==void 0&&(e.push(a.time),t.push(...o)),a=s[i++];while(a!==void 0);else if(o.toArray!==void 0)do o=a[n],o!==void 0&&(e.push(a.time),o.toArray(t,t.length)),a=s[i++];while(a!==void 0);else do o=a[n],o!==void 0&&(e.push(a.time),t.push(o)),a=s[i++];while(a!==void 0)}function bm(s,e,t,n,i=30){const a=s.clone();a.name=e;const o=[];for(let c=0;c=n)){v.push(d.times[B]);for(let ne=0;nea.tracks[c].times[0]&&(u=a.tracks[c].times[0]);for(let c=0;c=u.times[I]){const q=I*v+g,ye=q+v-g;ne=u.values.slice(q,ye)}else{const q=u.createInterpolant(),ye=g,Ce=v-g;q.evaluate(a),ne=q.resultBuffer.slice(ye,Ce)}c==="quaternion"&&new Ze().fromArray(ne).normalize().conjugate().toArray(ne);const ee=d.times.length;for(let q=0;q=a)){const u=t[1];e=a)break t}o=n,n=0;break n}break e}for(;n>>1;et;)--o;if(++o,a!==0||o!==i){a>=o&&(o=Math.max(o,1),a=o-1);const u=this.getValueSize();this.times=n.slice(a,o),this.values=this.values.slice(a*u,o*u)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(Gr("KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,i=this.values,a=n.length;a===0&&(Gr("KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let u=0;u!==a;u++){const c=n[u];if(typeof c=="number"&&isNaN(c)){Gr("KeyframeTrack: Time is not a valid number.",this,u,c),e=!1;break}if(o!==null&&o>c){Gr("KeyframeTrack: Out of order keys.",this,u,c,o),e=!1;break}o=c}if(i!==void 0&&na(i))for(let u=0,c=i.length;u!==c;++u){const d=i[u];if(isNaN(d)){Gr("KeyframeTrack: Value is not a valid number.",this,u,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Cs,a=e.length-1;let o=1;for(let u=1;u0){e[o]=e[a];for(let u=a*n,c=o*n,d=0;d!==n;++d)t[c+d]=t[u+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,i=new n(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}Bd.prototype.ValueTypeName="",Bd.prototype.TimeBufferType=Float32Array,Bd.prototype.ValueBufferType=Float32Array,Bd.prototype.DefaultInterpolation=vs;class _m extends Bd{constructor(e,t,n){super(e,t,n)}}_m.prototype.ValueTypeName="bool",_m.prototype.ValueBufferType=Array,_m.prototype.DefaultInterpolation=ss,_m.prototype.InterpolantFactoryMethodLinear=void 0,_m.prototype.InterpolantFactoryMethodSmooth=void 0;class Nx extends Bd{constructor(e,t,n,i){super(e,t,n,i)}}Nx.prototype.ValueTypeName="color";class Ff extends Bd{constructor(e,t,n,i){super(e,t,n,i)}}Ff.prototype.ValueTypeName="number";class Fx extends z0{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const a=this.resultBuffer,o=this.sampleValues,u=this.valueSize,c=(n-t)/(i-t);let d=e*u;for(let g=d+u;d!==g;d+=4)Ze.slerpFlat(a,0,o,d-u,o,d,c);return a}}class Q0 extends Bd{constructor(e,t,n,i){super(e,t,n,i)}InterpolantFactoryMethodLinear(e){return new Fx(this.times,this.values,this.getValueSize(),e)}}Q0.prototype.ValueTypeName="quaternion",Q0.prototype.InterpolantFactoryMethodSmooth=void 0;class wm extends Bd{constructor(e,t,n){super(e,t,n)}}wm.prototype.ValueTypeName="string",wm.prototype.ValueBufferType=Array,wm.prototype.DefaultInterpolation=ss,wm.prototype.InterpolantFactoryMethodLinear=void 0,wm.prototype.InterpolantFactoryMethodSmooth=void 0;class Pf extends Bd{constructor(e,t,n,i){super(e,t,n,i)}}Pf.prototype.ValueTypeName="vector";class W0{constructor(e="",t=-1,n=[],i=Ai){this.name=e,this.tracks=n,this.duration=t,this.blendMode=i,this.uuid=oc(),this.userData={},this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,i=1/(e.fps||1);for(let o=0,u=n.length;o!==u;++o)t.push(PE(n[o]).scale(i));const a=new this(e.name,e.duration,t,e.blendMode);return a.uuid=e.uuid,a.userData=JSON.parse(e.userData||"{}"),a}static toJSON(e){const t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode,userData:JSON.stringify(e.userData)};for(let a=0,o=n.length;a!==o;++a)t.push(Bd.toJSON(n[a]));return i}static CreateFromMorphTargetSequence(e,t,n,i){const a=t.length,o=[];for(let u=0;u1){const v=g[1];let M=i[v];M||(i[v]=M=[]),M.push(d)}}const o=[];for(const u in i)o.push(this.CreateFromMorphTargetSequence(u,i[u],t,n));return o}static parseAnimation(e,t){if(Lr("AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!e)return Gr("AnimationClip: No animation in JSONLoader data."),null;const n=function(v,M,B,I,ne){if(B.length!==0){const ee=[],q=[];tf(B,ee,q,I),ee.length!==0&&ne.push(new v(M,ee,q))}},i=[],a=e.name||"default",o=e.fps||30,u=e.blendMode;let c=e.length||-1;const d=e.hierarchy||[];for(let v=0;v{t&&t(a),this.manager.itemEnd(e)},0),a;if(Kp[e]!==void 0){Kp[e].push({onLoad:t,onProgress:n,onError:i});return}Kp[e]=[],Kp[e].push({onLoad:t,onProgress:n,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),u=this.mimeType,c=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&Lr("FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||d.body===void 0||d.body.getReader===void 0)return d;const g=Kp[e],v=d.body.getReader(),M=d.headers.get("X-File-Size")||d.headers.get("Content-Length"),B=M?parseInt(M):0,I=B!==0;let ne=0;const ee=new ReadableStream({start(q){ye();function ye(){v.read().then(({done:Ce,value:ke})=>{if(Ce)q.close();else{ne+=ke.byteLength;const nt=new ProgressEvent("progress",{lengthComputable:I,loaded:ne,total:B});for(let Ye=0,ht=g.length;Ye{q.error(Ce)})}}});return new Response(ee)}else throw new LE(`fetch for "${d.url}" responded with ${d.status}: ${d.statusText}`,d)}).then(d=>{switch(c){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(g=>new DOMParser().parseFromString(g,u));case"json":return d.json();default:if(u==="")return d.text();{const v=/charset="?([^;"\s]*)"?/i.exec(u),M=v&&v[1]?v[1].toLowerCase():void 0,B=new TextDecoder(M);return d.arrayBuffer().then(I=>B.decode(I))}}}).then(d=>{Zp.add(`file:${e}`,d);const g=Kp[e];delete Kp[e];for(let v=0,M=g.length;v{const g=Kp[e];if(g===void 0)throw this.manager.itemError(e),d;delete Kp[e];for(let v=0,M=g.length;v{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}class UE extends null{constructor(e){super(e)}load(e,t,n,i){const a=this,o=new Ng(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(u){try{t(a.parse(JSON.parse(u)))}catch(c){i?i(c):Gr(c),a.manager.itemError(e)}},n,i)}parse(e){const t=[];for(let n=0;n0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const a in e.uniforms){const o=e.uniforms[a];switch(i.uniforms[a]={},o.type){case"t":i.uniforms[a].value=n(o.value);break;case"c":i.uniforms[a].value=new Wr().setHex(o.value);break;case"v2":i.uniforms[a].value=new ce().fromArray(o.value);break;case"v3":i.uniforms[a].value=new le().fromArray(o.value);break;case"v4":i.uniforms[a].value=new Ni().fromArray(o.value);break;case"m3":i.uniforms[a].value=new pn().fromArray(o.value);break;case"m4":i.uniforms[a].value=new di().fromArray(o.value);break;default:i.uniforms[a].value=o.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const a in e.extensions)i.extensions[a]=e.extensions[a];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=n(e.map)),e.matcap!==void 0&&(i.matcap=n(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let a=e.normalScale;Array.isArray(a)===!1&&(a=[a,a]),i.normalScale=new ce().fromArray(a)}return e.displacementMap!==void 0&&(i.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=n(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new ce().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=n(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return ey.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:Cx,SpriteMaterial:BA,RawShaderMaterial:Tx,ShaderMaterial:nh,PointsMaterial:jm,MeshPhysicalMaterial:Qp,MeshStandardMaterial:$v,MeshPhongMaterial:Xv,MeshToonMaterial:jv,MeshNormalMaterial:V0,MeshLambertMaterial:qm,MeshDepthMaterial:Bx,MeshDistanceMaterial:Rx,MeshBasicMaterial:Yl,MeshMatcapMaterial:nw,LineDashedMaterial:xm,LineBasicMaterial:fl,Material:Hl};return new t[e]}}class ty{static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class zx extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class ny extends null{constructor(e){super(e)}load(e,t,n,i){const a=this,o=new Ng(a.manager);o.setPath(a.path),o.setRequestHeader(a.requestHeader),o.setWithCredentials(a.withCredentials),o.load(e,function(u){try{t(a.parse(JSON.parse(u)))}catch(c){i?i(c):Gr(c),a.manager.itemError(e)}},n,i)}parse(e){const t={},n={};function i(B,I){if(t[I]!==void 0)return t[I];const ee=B.interleavedBuffers[I],q=a(B,ee.buffer),ye=_o(ee.type,q),Ce=new wh(ye,ee.stride);return Ce.uuid=ee.uuid,t[I]=Ce,Ce}function a(B,I){if(n[I]!==void 0)return n[I];const ee=B.arrayBuffers[I],q=new Uint32Array(ee).buffer;return n[I]=q,q}const o=e.isInstancedBufferGeometry?new zx:new ka,u=e.data.index;if(u!==void 0){const B=_o(u.type,u.array);o.setIndex(new wl(B,1))}const c=e.data.attributes;for(const B in c){const I=c[B];let ne;if(I.isInterleavedBufferAttribute){const ee=i(e.data,I.data);ne=new yf(ee,I.itemSize,I.offset,I.normalized)}else{const ee=_o(I.type,I.array),q=I.isInstancedBufferAttribute?Mh:wl;ne=new q(ee,I.itemSize,I.normalized)}I.name!==void 0&&(ne.name=I.name),I.usage!==void 0&&ne.setUsage(I.usage),o.setAttribute(B,ne)}const d=e.data.morphAttributes;if(d)for(const B in d){const I=d[B],ne=[];for(let ee=0,q=I.length;ee0){const c=new Ig(t);a=new Jm(c),a.setCrossOrigin(this.crossOrigin);for(let d=0,g=e.length;d0){i=new Jm(this.manager),i.setCrossOrigin(this.crossOrigin);for(let o=0,u=e.length;o{let q=null,ye=null;return ee.boundingBox!==void 0&&(q=new Y().fromJSON(ee.boundingBox)),ee.boundingSphere!==void 0&&(ye=new gi().fromJSON(ee.boundingSphere)),fd(rl({},ee),{boundingBox:q,boundingSphere:ye})}),o._instanceInfo=e.instanceInfo,o._availableInstanceIds=e._availableInstanceIds,o._availableGeometryIds=e._availableGeometryIds,o._nextIndexStart=e.nextIndexStart,o._nextVertexStart=e.nextVertexStart,o._geometryCount=e.geometryCount,o._maxInstanceCount=e.maxInstanceCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._matricesTexture=d(e.matricesTexture.uuid),o._indirectTexture=d(e.indirectTexture.uuid),e.colorsTexture!==void 0&&(o._colorsTexture=d(e.colorsTexture.uuid)),e.boundingSphere!==void 0&&(o.boundingSphere=new gi().fromJSON(e.boundingSphere)),e.boundingBox!==void 0&&(o.boundingBox=new Y().fromJSON(e.boundingBox));break;case"LOD":o=new dm;break;case"Line":o=new qd(u(e.geometry),c(e.material));break;case"LineLoop":o=new Kv(u(e.geometry),c(e.material));break;case"LineSegments":o=new dp(u(e.geometry),c(e.material));break;case"PointCloud":case"Points":o=new D0(u(e.geometry),c(e.material));break;case"Sprite":o=new hm(c(e.material));break;case"Group":o=new ih;break;case"Bone":o=new op;break;default:o=new yl}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(o.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const M=e.children;for(let B=0;B{if(Y0.has(o)===!0)i&&i(Y0.get(o)),a.manager.itemError(e),a.manager.itemEnd(e);else return t&&t(d),a.manager.itemEnd(e),d});return}return setTimeout(function(){t&&t(o),a.manager.itemEnd(e)},0),o}const u={};u.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",u.headers=this.requestHeader,u.signal=typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;const c=fetch(e,u).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,Object.assign(a.options,{colorSpaceConversion:"none"}))}).then(function(d){return Zp.add(`image-bitmap:${e}`,d),t&&t(d),a.manager.itemEnd(e),d}).catch(function(d){i&&i(d),Y0.set(c,d),Zp.remove(`image-bitmap:${e}`),a.manager.itemError(e),a.manager.itemEnd(e)});Zp.add(`image-bitmap:${e}`,c),a.manager.itemStart(e)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}let HA;class cw{static getContext(){return HA===void 0&&(HA=new(window.AudioContext||window.webkitAudioContext)),HA}static setContext(e){HA=e}}class IP extends null{constructor(e){super(e)}load(e,t,n,i){const a=this,o=new Ng(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(c){try{const d=c.slice(0);cw.getContext().decodeAudioData(d,function(v){t(v)}).catch(u)}catch(d){u(d)}},n,i);function u(c){i?i(c):Gr(c),a.manager.itemError(e)}}}const Gx=new di,Xp=new di,Ap=new di;class DE{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new vo,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new vo,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Ap.copy(e.projectionMatrix);const i=t.eyeSep/2,a=i*t.near/t.focus,o=t.near*Math.tan(Ou*t.fov*.5)/t.zoom;let u,c;Xp.elements[12]=-i,Gx.elements[12]=i,u=-o*t.aspect+a,c=o*t.aspect+a,Ap.elements[0]=2*t.near/(c-u),Ap.elements[8]=(c+u)/(c-u),this.cameraL.projectionMatrix.copy(Ap),u=-o*t.aspect-a,c=o*t.aspect-a,Ap.elements[0]=2*t.near/(c-u),Ap.elements[8]=(c+u)/(c-u),this.cameraR.projectionMatrix.copy(Ap)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Xp),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Gx)}}class jp extends vo{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}}class pp{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=performance.now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}const Mm=new le,Hx=new Ze,Lg=new le,Yp=new le,Ug=new le;class Em extends null{constructor(){super(),this.type="AudioListener",this.context=cw.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new pp}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Mm,Hx,Lg),Yp.set(0,0,-1).applyQuaternion(Hx),Ug.set(0,1,0).applyQuaternion(Hx),t.positionX){const n=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Mm.x,n),t.positionY.linearRampToValueAtTime(Mm.y,n),t.positionZ.linearRampToValueAtTime(Mm.z,n),t.forwardX.linearRampToValueAtTime(Yp.x,n),t.forwardY.linearRampToValueAtTime(Yp.y,n),t.forwardZ.linearRampToValueAtTime(Yp.z,n),t.upX.linearRampToValueAtTime(Ug.x,n),t.upY.linearRampToValueAtTime(Ug.y,n),t.upZ.linearRampToValueAtTime(Ug.z,n)}else t.setPosition(Mm.x,Mm.y,Mm.z),t.setOrientation(Yp.x,Yp.y,Yp.z,Ug.x,Ug.y,Ug.z)}}class NP extends null{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){Lr("Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){Lr("Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){Lr("Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){Lr("Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,i,this._addIndex*t,1,t);for(let c=t,d=t+t;c!==d;++c)if(n[c]!==n[c+t]){u.setValue(n,i);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,i=n*this._origIndex;e.getValue(t,i);for(let a=n,o=i;a!==o;++a)t[a]=t[i+a%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let o=0;o!==a;++o)e[t+o]=e[n+o]}_slerp(e,t,n,i){Ze.slerpFlat(e,t,e,t,e,n,i)}_slerpAdditive(e,t,n,i,a){const o=this._workIndex*a;Ze.multiplyQuaternionsFlat(e,o,e,t,e,n),Ze.slerpFlat(e,t,e,t,e,o,i)}_lerp(e,t,n,i,a){const o=1-i;for(let u=0;u!==a;++u){const c=t+u;e[c]=e[c]*o+e[n+u]*i}}_lerpAdditive(e,t,n,i,a){for(let o=0;o!==a;++o){const u=t+o;e[u]=e[u]+e[n+o]*i}}}const sy="\\[\\]\\.:\\/",dw=new RegExp("["+sy+"]","g"),ay="[^"+sy+"]",fw="[^"+sy.replace("\\.","")+"]",Aw=/((?:WC+[\/:])*)/.source.replace("WC",ay),pw=/(WCOD+)?/.source.replace("WCOD",fw),Cl=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ay),VE=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ay),gw=new RegExp("^"+Aw+pw+Cl+VE+"$"),mw=["material","materials","bones","map"];class zE{constructor(e,t,n){const i=n||Nl.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,a=n.length;i!==a;++i)n[i].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class Nl{constructor(e,t,n){this.path=t,this.parsedPath=n||Nl.parseTrackName(t),this.node=Nl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Nl.Composite(e,t,n):new Nl(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(dw,"")}static parseTrackName(e){const t=gw.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const a=n.nodeName.substring(i+1);mw.indexOf(a)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=a)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(a){for(let o=0;o=a){const v=a++,M=e[v];t[M.uuid]=g,e[g]=M,t[d]=v,e[v]=c;for(let B=0,I=i;B!==I;++B){const ne=n[B],ee=ne[v],q=ne[g];ne[g]=ee,ne[v]=q}}}this.nCachedObjects_=a}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let a=this.nCachedObjects_,o=e.length;for(let u=0,c=arguments.length;u!==c;++u){const d=arguments[u],g=d.uuid,v=t[g];if(v!==void 0)if(delete t[g],v0&&(t[B.uuid]=v),e[v]=B,e.pop();for(let I=0,ne=i;I!==ne;++I){const ee=n[I];ee[v]=ee[M],ee.pop()}}}this.nCachedObjects_=a}subscribe_(e,t){const n=this._bindingsIndicesByPath;let i=n[e];const a=this._bindings;if(i!==void 0)return a[i];const o=this._paths,u=this._parsedPaths,c=this._objects,d=c.length,g=this.nCachedObjects_,v=new Array(d);i=a.length,n[e]=i,o.push(e),u.push(t),a.push(v);for(let M=g,B=c.length;M!==B;++M){const I=c[M];v[M]=new Nl(I,e,t)}return v}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const i=this._paths,a=this._parsedPaths,o=this._bindings,u=o.length-1,c=o[u],d=e[u];t[d]=n,o[n]=c,o.pop(),a[n]=a[u],a.pop(),i[n]=i[u],i.pop()}}}class yw{constructor(e,t,n=null,i=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=i;const a=t.tracks,o=a.length,u=new Array(o),c={endingStart:Aa,endingEnd:Aa};for(let d=0;d!==o;++d){const g=a[d].createInterpolant(null);u[d]=g,g.settings=c}this._interpolantSettings=c,this._interpolants=u,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ii,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n=!1){if(e.fadeOut(t),this.fadeIn(t),n===!0){const i=this._clip.duration,a=e._clip.duration,o=a/i,u=i/a;e.warp(1,o,t),this.warp(u,1,t)}return this}crossFadeTo(e,t,n=!1){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const i=this._mixer,a=i.time,o=this.timeScale;let u=this._timeScaleInterpolant;u===null&&(u=i._lendControlInterpolant(),this._timeScaleInterpolant=u);const c=u.parameterPositions,d=u.sampleValues;return c[0]=a,c[1]=a+n,d[0]=e/o,d[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,i){if(!this.enabled){this._updateWeight(e);return}const a=this._startTime;if(a!==null){const c=(e-a)*n;c<0||n===0?t=0:(this._startTime=null,t=n*c)}t*=this._updateTimeScale(e);const o=this._updateTime(t),u=this._updateWeight(e);if(u>0){const c=this._interpolants,d=this._propertyBindings;switch(this.blendMode){case $a:for(let g=0,v=c.length;g!==v;++g)c[g].evaluate(o),d[g].accumulateAdditive(u);break;case Ai:default:for(let g=0,v=c.length;g!==v;++g)c[g].evaluate(o),d[g].accumulate(i,u)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let i=this.time+e,a=this._loopCount;const o=n===Di;if(e===0)return a===-1?i:o&&(a&1)===1?t-i:i;if(n===$r){a===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=t)i=t;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(a===-1&&(e>=0?(a=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),i>=t||i<0){const u=Math.floor(i/t);i-=t*u,a+=Math.abs(u);const c=this.repetitions-a;if(c<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(c===1){const d=e<0;this._setEndings(d,!d,o)}else this._setEndings(!1,!1,o);this._loopCount=a,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:u})}}else this.time=i;if(o&&(a&1)===1)return t-i}return i}_setEndings(e,t,n){const i=this._interpolantSettings;n?(i.endingStart=sa,i.endingEnd=sa):(e?i.endingStart=this.zeroSlopeAtStart?sa:Aa:i.endingStart=ca,t?i.endingEnd=this.zeroSlopeAtEnd?sa:Aa:i.endingEnd=ca)}_scheduleFading(e,t,n){const i=this._mixer,a=i.time;let o=this._weightInterpolant;o===null&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const u=o.parameterPositions,c=o.sampleValues;return u[0]=a,c[0]=t,u[1]=a+e,c[1]=n,this}}const GE=new Float32Array(1);class FP extends null{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,i=e._clip.tracks,a=i.length,o=e._propertyBindings,u=e._interpolants,c=n.uuid,d=this._bindingsByRootAndName;let g=d[c];g===void 0&&(g={},d[c]=g);for(let v=0;v!==a;++v){const M=i[v],B=M.name;let I=g[B];if(I!==void 0)++I.referenceCount,o[v]=I;else{if(I=o[v],I!==void 0){I._cacheIndex===null&&(++I.referenceCount,this._addInactiveBinding(I,c,B));continue}const ne=t&&t._propertyBindings[v].binding.parsedPath;I=new hw(Nl.create(n,B,ne),M.ValueTypeName,M.getValueSize()),++I.referenceCount,this._addInactiveBinding(I,c,B),o[v]=I}u[v].resultBuffer=I.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,i=e._clip.uuid,a=this._actionsByClip[i];this._bindAction(e,a&&a.knownActions[0]),this._addInactiveAction(e,i,n)}const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const a=t[n];a.useCount++===0&&(this._lendBinding(a),a.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const a=t[n];--a.useCount===0&&(a.restoreOriginalState(),this._takeBackBinding(a))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,i=this.time+=e,a=Math.sign(e),o=this._accuIndex^=1;for(let d=0;d!==n;++d)t[d]._update(i,e,a,o);const u=this._bindings,c=this._nActiveBindings;for(let d=0;d!==c;++d)u[d].apply(o);return this}setTime(e){this.time=0;for(let t=0;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Dg).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const $x=new le,J0=new le,n0=new le,kg=new le,Xx=new le,qp=new le,ev=new le;class jx{constructor(e=new le,t=new le){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){$x.subVectors(e,this.start),J0.subVectors(this.end,this.start);const n=J0.dot(J0);let a=J0.dot($x)/n;return t&&(a=Ca(a,0,1)),a}closestPointToPoint(e,t,n){const i=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(i).add(this.start)}distanceSqToLine3(e,t=qp,n=ev){const i=10000000000000001e-32;let a,o;const u=this.start,c=e.start,d=this.end,g=e.end;n0.subVectors(d,u),kg.subVectors(g,c),Xx.subVectors(u,c);const v=n0.dot(n0),M=kg.dot(kg),B=kg.dot(Xx);if(v<=i&&M<=i)return t.copy(u),n.copy(c),t.sub(n),t.dot(t);if(v<=i)a=0,o=B/M,o=Ca(o,0,1);else{const I=n0.dot(Xx);if(M<=i)o=0,a=Ca(-I/v,0,1);else{const ne=n0.dot(kg),ee=v*M-ne*ne;ee!==0?a=Ca((ne*B-I*M)/ee,0,1):a=0,o=(ne*a+B)/M,o<0?(o=0,a=Ca(-I/v,0,1)):o>1&&(o=1,a=Ca((ne-I)/v,0,1))}}return t.copy(u).add(n0.multiplyScalar(a)),n.copy(c).add(kg.multiplyScalar(o)),t.sub(n),t.dot(t)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Sw=new le;class Mw extends null{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new ka,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,u=1,c=32;o1)for(let v=0;v.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Bw.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Bw,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class KE extends null{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new ka;i.setAttribute("position",new Ui(t,3)),i.setAttribute("color",new Ui(n,3));const a=new fl({vertexColors:!0,toneMapped:!1});super(i,a),this.type="AxesHelper"}setColors(e,t,n){const i=new Wr,a=this.geometry.attributes.color.array;return i.set(e),i.toArray(a,0),i.toArray(a,3),i.set(t),i.toArray(a,6),i.toArray(a,9),i.set(n),i.toArray(a,12),i.toArray(a,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class $E{constructor(){this.type="ShapePath",this.color=new Wr,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new is,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,i){return this.currentPath.quadraticCurveTo(e,t,n,i),this}bezierCurveTo(e,t,n,i,a,o){return this.currentPath.bezierCurveTo(e,t,n,i,a,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(q){const ye=[];for(let Ce=0,ke=q.length;CeNumber.EPSILON){if(pt<0&&(ht=ye[Ye],qe=-qe,Rt=ye[nt],pt=-pt),q.yRt.y)continue;if(q.y===ht.y){if(q.x===ht.x)return!0}else{const xn=pt*(q.x-ht.x)-qe*(q.y-ht.y);if(xn===0)return!0;if(xn<0)continue;ke=!ke}}else{if(q.y!==ht.y)continue;if(Rt.x<=q.x&&q.x<=ht.x||ht.x<=q.x&&q.x<=Rt.x)return!0}}return ke}const i=eo.isClockWise,a=this.subPaths;if(a.length===0)return[];let o,u,c;const d=[];if(a.length===1)return u=a[0],c=new bi,c.curves=u.curves,d.push(c),d;let g=!i(a[0].getPoints());g=e?!g:g;const v=[],M=[];let B=[],I=0,ne;M[I]=void 0,B[I]=[];for(let q=0,ye=a.length;q1){let q=!1,ye=0;for(let Ce=0,ke=M.length;Ce0&&q===!1&&(B=v)}let ee;for(let q=0,ye=M.length;qe?(s.repeat.x=1,s.repeat.y=t/e,s.offset.x=0,s.offset.y=(1-s.repeat.y)/2):(s.repeat.x=e/t,s.repeat.y=1,s.offset.x=(1-s.repeat.x)/2,s.offset.y=0),s}function ue(s,e){const t=s.image&&s.image.width?s.image.width/s.image.height:1;return t>e?(s.repeat.x=e/t,s.repeat.y=1,s.offset.x=(1-s.repeat.x)/2,s.offset.y=0):(s.repeat.x=1,s.repeat.y=t/e,s.offset.x=0,s.offset.y=(1-s.repeat.y)/2),s}function r(s){return s.repeat.x=1,s.repeat.y=1,s.offset.x=0,s.offset.y=0,s}function l(s,e,t,n){const i=h(n);switch(t){case si:return s*e;case z:return s*e/i.components*i.byteLength;case ie:return s*e/i.components*i.byteLength;case ze:return s*e*2/i.components*i.byteLength;case Je:return s*e*2/i.components*i.byteLength;case Ie:return s*e*3/i.components*i.byteLength;case L:return s*e*4/i.components*i.byteLength;case xt:return s*e*4/i.components*i.byteLength;case Sn:case Oe:return Math.floor((s+3)/4)*Math.floor((e+3)/4)*8;case Qe:case Re:return Math.floor((s+3)/4)*Math.floor((e+3)/4)*16;case gt:case yt:return Math.max(s,16)*Math.max(e,8)/4;case Ke:case tn:return Math.max(s,8)*Math.max(e,8)/2;case Yt:case Rn:case Jn:case kr:return Math.floor((s+3)/4)*Math.floor((e+3)/4)*8;case er:case fr:case wr:return Math.floor((s+3)/4)*Math.floor((e+3)/4)*16;case ei:return Math.floor((s+3)/4)*Math.floor((e+3)/4)*16;case _n:return Math.floor((s+4)/5)*Math.floor((e+3)/4)*16;case jn:return Math.floor((s+4)/5)*Math.floor((e+4)/5)*16;case Hr:return Math.floor((s+5)/6)*Math.floor((e+4)/5)*16;case Pr:return Math.floor((s+5)/6)*Math.floor((e+5)/6)*16;case $i:return Math.floor((s+7)/8)*Math.floor((e+4)/5)*16;case Zi:return Math.floor((s+7)/8)*Math.floor((e+5)/6)*16;case Xi:return Math.floor((s+7)/8)*Math.floor((e+7)/8)*16;case Ei:return Math.floor((s+9)/10)*Math.floor((e+4)/5)*16;case ms:return Math.floor((s+9)/10)*Math.floor((e+5)/6)*16;case _i:return Math.floor((s+9)/10)*Math.floor((e+7)/8)*16;case Es:return Math.floor((s+9)/10)*Math.floor((e+9)/10)*16;case ua:return Math.floor((s+11)/12)*Math.floor((e+9)/10)*16;case Hn:return Math.floor((s+11)/12)*Math.floor((e+11)/12)*16;case Pt:case Gt:case Bt:return Math.ceil(s/4)*Math.ceil(e/4)*16;case yn:case Ln:return Math.ceil(s/4)*Math.ceil(e/4)*8;case gr:case Rr:return Math.ceil(s/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function h(s){switch(s){case es:case Ci:return{byteLength:1,components:1};case rn:case En:case Wt:return{byteLength:2,components:1};case bn:case Jt:return{byteLength:2,components:4};case st:case Xt:case dt:return{byteLength:4,components:1};case rr:case Kr:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${s}.`)}class p{static contain(e,t){return XE(e,t)}static cover(e,t){return ue(e,t)}static fill(e){return r(e)}static getByteLength(e,t,n,i){return l(e,t,n,i)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:m}})),typeof window!="undefined"&&(window.__THREE__?Lr("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=m);const y=new Ec,T=new ce,O=new le,te=new ce,se=new ce,xe=new le,Ne=new le,Ve=new di,We=new le,tt=new le;let Ot=null,An=null;const un=[],Un={NONE:-1,PAN:0,ROTATE:1};class Vn extends rv{constructor(e,t,n=null){super(t,n),this.objects=e,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new bw,this.mouseButtons={LEFT:Z.PAN,MIDDLE:Z.PAN,RIGHT:Z.ROTATE},this.touches={ONE:V.PAN},this._onPointerMove=nr.bind(this),this._onPointerDown=ii.bind(this),this._onPointerCancel=pi.bind(this),this._onContextMenu=Bi.bind(this),n!==null&&this.connect(n)}connect(e){super.connect(e),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="auto",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(e){const t=this.domElement.getBoundingClientRect();T.x=(e.clientX-t.left)/t.width*2-1,T.y=-(e.clientY-t.top)/t.height*2+1}_updateState(e){let t;if(e.pointerType==="touch")t=this.touches.ONE;else switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=null}switch(t){case Z.PAN:case V.PAN:this.state=Un.PAN;break;case Z.ROTATE:case V.ROTATE:this.state=Un.ROTATE;break;default:this.state=Un.NONE}}}function nr(s){const e=this.object,t=this.domElement,n=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(s),n.setFromCamera(T,e),Ot)this.state===Un.PAN?n.ray.intersectPlane(y,xe)&&(Ot.position.copy(xe.sub(O).applyMatrix4(Ve)),this.dispatchEvent({type:"drag",object:Ot})):this.state===Un.ROTATE&&(te.subVectors(T,se).multiplyScalar(this.rotateSpeed),Ot.rotateOnWorldAxis(We,te.x),Ot.rotateOnWorldAxis(tt.normalize(),-te.y),this.dispatchEvent({type:"drag",object:Ot})),se.copy(T);else if(s.pointerType==="mouse"||s.pointerType==="pen")if(un.length=0,n.setFromCamera(T,e),n.intersectObjects(this.objects,this.recursive,un),un.length>0){const i=un[0].object;y.setFromNormalAndCoplanarPoint(e.getWorldDirection(y.normal),Ne.setFromMatrixPosition(i.matrixWorld)),An!==i&&An!==null&&(this.dispatchEvent({type:"hoveroff",object:An}),t.style.cursor="auto",An=null),An!==i&&(this.dispatchEvent({type:"hoveron",object:i}),t.style.cursor="pointer",An=i)}else An!==null&&(this.dispatchEvent({type:"hoveroff",object:An}),t.style.cursor="auto",An=null);se.copy(T)}}function ii(s){const e=this.object,t=this.domElement,n=this.raycaster;this.enabled!==!1&&(this._updatePointer(s),this._updateState(s),un.length=0,n.setFromCamera(T,e),n.intersectObjects(this.objects,this.recursive,un),un.length>0&&(this.transformGroup===!0?Ot=mi(un[0].object):Ot=un[0].object,y.setFromNormalAndCoplanarPoint(e.getWorldDirection(y.normal),Ne.setFromMatrixPosition(Ot.matrixWorld)),n.ray.intersectPlane(y,xe)&&(this.state===Un.PAN?(Ve.copy(Ot.parent.matrixWorld).invert(),O.copy(xe).sub(Ne.setFromMatrixPosition(Ot.matrixWorld)),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Ot})):this.state===Un.ROTATE&&(We.set(0,1,0).applyQuaternion(e.quaternion).normalize(),tt.set(1,0,0).applyQuaternion(e.quaternion).normalize(),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Ot})))),se.copy(T))}function pi(){this.enabled!==!1&&(Ot&&(this.dispatchEvent({type:"dragend",object:Ot}),Ot=null),this.domElement.style.cursor=An?"pointer":"auto",this.state=Un.NONE)}function Bi(s){this.enabled!==!1&&s.preventDefault()}function mi(s,e=null){return s.isGroup&&(e=s),s.parent===null?e:mi(s.parent,e)}var ls=b(21668),ys=b(76633),Da=b(61147),Mo=b(38192),Ro=b(85320);function du(s,e,t,n){var i,a,o=(0,Ro.Z)(.1),u,c;typeof s!="function"&&(s=(0,Ro.Z)(+s)),e==null&&(e=0),t==null&&(t=0),n==null&&(n=0);function d(v){for(var M=0,B=i.length;M1&&(I.vy+=ee*Ce),a>2&&(I.vz+=q*Ce)}}function g(){if(i){var v,M=i.length;for(u=new Array(M),c=new Array(M),v=0;v[1,2,3].includes(B))||2,g()},d.strength=function(v){return arguments.length?(o=typeof v=="function"?v:(0,Ro.Z)(+v),g(),d):o},d.radius=function(v){return arguments.length?(s=typeof v=="function"?v:(0,Ro.Z)(+v),g(),d):s},d.x=function(v){return arguments.length?(e=+v,d):e},d.y=function(v){return arguments.length?(t=+v,d):t},d.z=function(v){return arguments.length?(n=+v,d):n},d}function ru(s){Ih(s);const e=Zc(s);return s.on=e.on,s.off=e.off,s.fire=e.fire,s}function Zc(s){let e=Object.create(null);return{on:function(t,n,i){if(typeof n!="function")throw new Error("callback is expected to be a function");let a=e[t];return a||(a=e[t]=[]),a.push({callback:n,ctx:i}),s},off:function(t,n){if(typeof t=="undefined")return e=Object.create(null),s;if(e[t])if(typeof n!="function")delete e[t];else{const o=e[t];for(let u=0;u1&&(i=Array.prototype.slice.call(arguments,1));for(let a=0;a0&&(v.fire("changed",o),o.length=0)}function As(Xr){if(typeof Xr!="function")throw new Error("Function is expected to iterate over graph nodes. You passed "+Xr);for(var Yi=e.values(),ps=Yi.next();!ps.done;){if(Xr(ps.value))return!0;ps=Yi.next()}}}function Uc(s,e){this.id=s,this.links=null,this.data=e}function tc(s,e){s.links?s.links.add(e):s.links=new Set([e])}function Lf(s,e,t,n){this.fromId=s,this.toId=e,this.data=t,this.id=n}function ad(s,e){return s.toString()+"\u{1F449} "+e.toString()}var Tm=b(91998),Gg=b(58094),Rw=b(8248),Iw=function(){return Rw.Z.Date.now()},iv=Iw,mp=/\s/;function sv(s){for(var e=s.length;e--&&mp.test(s.charAt(e)););return e}var Nw=sv,vp=/^\s+/;function yp(s){return s&&s.slice(0,Nw(s)+1).replace(vp,"")}var Xs=yp,ma=b(69053),ya=b(82144),Za="[object Symbol]";function Ga(s){return typeof s=="symbol"||(0,ya.Z)(s)&&(0,ma.Z)(s)==Za}var Tl=Ga,Io=NaN,Qu=/^[-+]0x[0-9a-f]+$/i,nc=/^0b[01]+$/i,Kc=/^0o[0-7]+$/i,nf=parseInt;function Hg(s){if(typeof s=="number")return s;if(Tl(s))return Io;if((0,Gg.Z)(s)){var e=typeof s.valueOf=="function"?s.valueOf():s;s=(0,Gg.Z)(e)?e+"":e}if(typeof s!="string")return s===0?s:+s;s=Xs(s);var t=nc.test(s);return t||Kc.test(s)?nf(s.slice(2),t?2:8):Qu.test(s)?Io:+s}var Rd=Hg,qx="Expected a function",Jx=Math.max,eb=Math.min;function Fw(s,e,t){var n,i,a,o,u,c,d=0,g=!1,v=!1,M=!0;if(typeof s!="function")throw new TypeError(qx);e=Rd(e)||0,(0,Gg.Z)(t)&&(g=!!t.leading,v="maxWait"in t,a=v?Jx(Rd(t.maxWait)||0,e):a,M="trailing"in t?!!t.trailing:M);function B(Ye){var ht=n,Rt=i;return n=i=void 0,d=Ye,o=s.apply(Rt,ht),o}function I(Ye){return d=Ye,u=setTimeout(q,e),g?B(Ye):o}function ne(Ye){var ht=Ye-c,Rt=Ye-d,qe=e-ht;return v?eb(qe,a-Rt):qe}function ee(Ye){var ht=Ye-c,Rt=Ye-d;return c===void 0||ht>=e||ht<0||v&&Rt>=a}function q(){var Ye=iv();if(ee(Ye))return ye(Ye);u=setTimeout(q,ne(Ye))}function ye(Ye){return u=void 0,M&&n?B(Ye):(n=i=void 0,o)}function Ce(){u!==void 0&&clearTimeout(u),d=0,n=c=i=u=void 0}function ke(){return u===void 0?o:ye(iv())}function nt(){var Ye=iv(),ht=ee(Ye);if(n=arguments,i=this,c=Ye,ht){if(u===void 0)return I(c);if(v)return clearTimeout(u),u=setTimeout(q,e),B(c)}return u===void 0&&(u=setTimeout(q,e)),o}return nt.cancel=Ce,nt.flush=ke,nt}var Pw=Fw;function vy(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=Array(e);tn||t===void 0&&n>=n)&&(t=n);else{let n=-1;for(let i of s)(i=e(i,++n,s))!=null&&(t>i||t===void 0&&i>=i)&&(t=i)}return t}function XP(s,e){let t;if(e===void 0)for(const n of s)n!=null&&(t=n)&&(t=n);else{let n=-1;for(let i of s)(i=e(i,++n,s))!=null&&(t=i)&&(t=i)}return t}function Lw(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=Array(e);ts.length)&&(e=s.length);for(var t=0,n=Array(e);t1&&arguments[1]!==void 0?arguments[1]:{},a=i.dataBindAttr,o=a===void 0?"__data":a,u=i.objBindAttr,c=u===void 0?"__threeObj":u;return oC(this,e),n=aC(this,e),ib(n,"scene",void 0),lC(n,$w,void 0),lC(n,sb,void 0),n.scene=t,uC($w,n,o),uC(sb,n,c),n.onRemoveObj(function(){}),n}return dC(e,s),hC(e,[{key:"onCreateObj",value:function(n){var i=this;return Ww(e,"onCreateObj",this)([function(a){var o=n(a);return a[zw(sb,i)]=o,o[zw($w,i)]=a,i.scene.add(o),o}]),this}},{key:"onRemoveObj",value:function(n){var i=this;return Ww(e,"onRemoveObj",this)([function(a,o){var u=Ww(e,"getData",i)([a]);n(a,o),i.scene.remove(a),Kw(a),delete u[zw(sb,i)]}]),this}}])}(cL),_y=function(e){return isNaN(e)?parseInt((0,iC.Z)(e).toHex(),16):e},Xw=function(e){return isNaN(e)?(0,iC.Z)(e).getAlpha():1},CL=rC(fL);function vC(s,e,t){!e||typeof t!="string"||s.filter(function(n){return!n[t]}).forEach(function(n){n[t]=CL(e(n))})}function TL(s,e){var t=s.nodes,n=s.links,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=i.nodeFilter,o=a===void 0?function(){return!0}:a,u=i.onLoopError,c=u===void 0?function(B){throw"Invalid DAG structure! Found cycle in node path: ".concat(B.join(" -> "),".")}:u,d={};t.forEach(function(B){return d[e(B)]={data:B,out:[],depth:-1,skip:!o(B)}}),n.forEach(function(B){var I=B.source,ne=B.target,ee=ke(I),q=ke(ne);if(!d.hasOwnProperty(ee))throw"Missing source node with id: ".concat(ee);if(!d.hasOwnProperty(q))throw"Missing target node with id: ".concat(q);var ye=d[ee],Ce=d[q];ye.out.push(Ce);function ke(nt){return Zw(nt)==="object"?e(nt):nt}});var g=[];M(Object.values(d));var v=Object.assign.apply(Object,[{}].concat(xp(Object.entries(d).filter(function(B){var I=xy(B,2),ne=I[1];return!ne.skip}).map(function(B){var I=xy(B,2),ne=I[0],ee=I[1];return ib({},ne,ee.depth)}))));return v;function M(B){for(var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],ne=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,ee=function(){var ke=B[q];if(I.indexOf(ke)!==-1){var nt=[].concat(xp(I.slice(I.indexOf(ke))),[ke]).map(function(Ye){return e(Ye.data)});return g.some(function(Ye){return Ye.length===nt.length&&Ye.every(function(ht,Rt){return ht===nt[Rt]})})||(g.push(nt),c(nt)),1}ne>ke.depth&&(ke.depth=ne,M(ke.out,[].concat(xp(I),[ke]),ne+(ke.skip?0:1)))},q=0,ye=B.length;q2?-60:-30),e<3&&i(t.graphData.nodes,"z"),e<2&&i(t.graphData.nodes,"y");function i(a,o){a.forEach(function(u){delete u[o],delete u["v".concat(o)]})}}},dagMode:{onChange:function(e,t){!e&&t.forceEngine==="d3"&&(t.graphData.nodes||[]).forEach(function(n){return n.fx=n.fy=n.fz=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},nodePositionUpdate:{triggerUpdate:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},linkDirectionalParticleThreeObject:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.velocityDecay(e)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(e){return e._flushObjects=!0,e._rerender(),this},d3Force:function(e,t,n){return n===void 0?e.d3ForceLayout.force(t):(e.d3ForceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},tickFrame:function(e){var t=e.forceEngine!=="ngraph";return e.engineRunning&&n(),i(),a(),this;function n(){++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||t&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()0){var Ye=ne.x-I.x,ht=ne.y-I.y||0,Rt=new fo.Vector3().subVectors(ye,q),qe=Rt.clone().multiplyScalar(ee).cross(Ye!==0||ht!==0?new fo.Vector3(0,0,1):new fo.Vector3(0,1,0)).applyAxisAngle(Rt.normalize(),nt).add(new fo.Vector3().addVectors(q,ye).divideScalar(2));ke=new fo.QuadraticBezierCurve3(q,qe,ye)}else{var pt=ee*70,xn=-nt,cr=xn+Math.PI/2;ke=new fo.CubicBezierCurve3(q,new fo.Vector3(pt*Math.cos(cr),pt*Math.sin(cr),0).add(q),new fo.Vector3(pt*Math.cos(xn),pt*Math.sin(xn),0).add(q),ye)}M.__curve=ke}}}}function i(){var o=ul(e.linkDirectionalArrowRelPos),u=ul(e.linkDirectionalArrowLength),c=ul(e.nodeVal);e.arrowDataMapper.entries().forEach(function(d){var g=xy(d,2),v=g[0],M=g[1];if(M){var B=t?v:e.layout.getLinkPosition(e.layout.graph.getLink(v.source,v.target).id),I=B[t?"source":"from"],ne=B[t?"target":"to"];if(!(!I||!ne||!I.hasOwnProperty("x")||!ne.hasOwnProperty("x"))){var ee=Math.cbrt(Math.max(0,c(I)||1))*e.nodeRelSize,q=Math.cbrt(Math.max(0,c(ne)||1))*e.nodeRelSize,ye=u(v),Ce=o(v),ke=v.__curve?function(pt){return v.__curve.getPoint(pt)}:function(pt){var xn=function(pr,Br,zr,Dr){return Br[pr]+(zr[pr]-Br[pr])*Dr||0};return{x:xn("x",I,ne,pt),y:xn("y",I,ne,pt),z:xn("z",I,ne,pt)}},nt=v.__curve?v.__curve.getLength():Math.sqrt(["x","y","z"].map(function(pt){return Math.pow((ne[pt]||0)-(I[pt]||0),2)}).reduce(function(pt,xn){return pt+xn},0)),Ye=ee+ye+(nt-ee-q-ye)*Ce,ht=ke(Ye/nt),Rt=ke((Ye-ye)/nt);["x","y","z"].forEach(function(pt){return M.position[pt]=Rt[pt]});var qe=cC(fo.Vector3,xp(["x","y","z"].map(function(pt){return ht[pt]})));M.parent.localToWorld(qe),M.lookAt(qe)}}})}function a(){var o=ul(e.linkDirectionalParticleSpeed),u=ul(e.linkDirectionalParticleOffset);e.graphData.links.forEach(function(c){var d=e.particlesDataMapper.getObj(c),g=d&&d.children,v=c.__singleHopPhotonsObj&&c.__singleHopPhotonsObj.children;if(!((!v||!v.length)&&(!g||!g.length))){var M=t?c:e.layout.getLinkPosition(e.layout.graph.getLink(c.source,c.target).id),B=M[t?"source":"from"],I=M[t?"target":"to"];if(!(!B||!I||!B.hasOwnProperty("x")||!I.hasOwnProperty("x"))){var ne=o(c),ee=Math.abs(u(c)),q=c.__curve?function(Ce){return c.__curve.getPoint(Ce)}:function(Ce){var ke=function(Ye,ht,Rt,qe){return ht[Ye]+(Rt[Ye]-ht[Ye])*qe||0};return{x:ke("x",B,I,Ce),y:ke("y",B,I,Ce),z:ke("z",B,I,Ce)}},ye=[].concat(xp(g||[]),xp(v||[]));ye.forEach(function(Ce,ke){var nt=Ce.parent.__linkThreeObjType==="singleHopPhotons";if(Ce.hasOwnProperty("__progressRatio")||(Ce.__progressRatio=nt?0:(ke+ee)/g.length),Ce.__progressRatio+=ne,Ce.__progressRatio>=1)if(!nt)Ce.__progressRatio=Ce.__progressRatio%1;else{Ce.parent.remove(Ce),Kw(Ce);return}var Ye=Ce.__progressRatio,ht=q(Ye);Ce.geometry.type!=="SphereGeometry"&&Ce.lookAt(ht.x,ht.y,ht.z),["x","y","z"].forEach(function(Rt){return Ce.position[Rt]=ht[Rt]})})}}})}},emitParticle:function(e,t){if(t&&e.graphData.links.includes(t)){if(!t.__singleHopPhotonsObj){var n=new fo.Group;n.__linkThreeObjType="singleHopPhotons",t.__singleHopPhotonsObj=n,e.graphScene.add(n)}var i=ul(e.linkDirectionalParticleThreeObject)(t);if(i&&e.linkDirectionalParticleThreeObject===i&&(i=i.clone()),!i){var a=ul(e.linkDirectionalParticleWidth),o=Math.ceil(a(t)*10)/10/2,u=e.linkDirectionalParticleResolution,c=new fo.SphereGeometry(o,u,u),d=ul(e.linkColor),g=ul(e.linkDirectionalParticleColor),v=g(t)||d(t)||"#f0f0f0",M=new fo.Color(_y(v)),B=e.linkOpacity*3,I=new fo.MeshLambertMaterial({color:M,transparent:!0,opacity:B});i=new fo.Mesh(c,I)}t.__singleHopPhotonsObj.add(i)}return this},getGraphBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0};if(!e.initialised)return null;var n=function i(a){var o=[];if(a.geometry){a.geometry.computeBoundingBox();var u=new fo.Box3;u.copy(a.geometry.boundingBox).applyMatrix4(a.matrixWorld),o.push(u)}return o.concat.apply(o,xp((a.children||[]).filter(function(c){return!c.hasOwnProperty("__graphObjType")||c.__graphObjType==="node"&&t(c.__data)}).map(i)))}(e.graphScene);return n.length?Object.assign.apply(Object,xp(["x","y","z"].map(function(i){return ib({},i,[$P(n,function(a){return a.min[i]}),XP(n,function(a){return a.max[i]})])}))):null}},stateInit:function(){return{d3ForceLayout:(0,ls.Z)().force("link",(0,ys.Z)()).force("charge",(0,Da.Z)()).force("center",(0,Mo.Z)()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.graphScene=e,t.nodeDataMapper=new by(e,{objBindAttr:"__threeObj"}),t.linkDataMapper=new by(e,{objBindAttr:"__lineObj"}),t.arrowDataMapper=new by(e,{objBindAttr:"__arrowObj"}),t.particlesDataMapper=new by(e,{objBindAttr:"__photonsObj"})},update:function(e,t){var n=function(Nr){return Nr.some(function(Yr){return t.hasOwnProperty(Yr)})};if(e.engineRunning=!1,typeof e.onUpdate=="function"&&e.onUpdate(),e.nodeAutoColorBy!==null&&n(["nodeAutoColorBy","graphData","nodeColor"])&&vC(e.graphData.nodes,ul(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&n(["linkAutoColorBy","graphData","linkColor"])&&vC(e.graphData.links,ul(e.linkAutoColorBy),e.linkColor),e._flushObjects||n(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var i=ul(e.nodeThreeObject),a=ul(e.nodeThreeObjectExtend),o=ul(e.nodeVal),u=ul(e.nodeColor),c=ul(e.nodeVisibility),d={},g={};(e._flushObjects||n(["nodeThreeObject","nodeThreeObjectExtend"]))&&e.nodeDataMapper.clear(),e.nodeDataMapper.onCreateObj(function(Pi){var Nr=i(Pi),Yr=a(Pi);Nr&&e.nodeThreeObject===Nr&&(Nr=Nr.clone());var cs;return Nr&&!Yr?cs=Nr:(cs=new fo.Mesh,cs.__graphDefaultObj=!0,Nr&&Yr&&cs.add(Nr)),cs.__graphObjType="node",cs}).onUpdateObj(function(Pi,Nr){if(Pi.__graphDefaultObj){var Yr=o(Nr)||1,cs=Math.cbrt(Yr)*e.nodeRelSize,oa=e.nodeResolution;(!Pi.geometry.type.match(/^Sphere(Buffer)?Geometry$/)||Pi.geometry.parameters.radius!==cs||Pi.geometry.parameters.widthSegments!==oa)&&(d.hasOwnProperty(Yr)||(d[Yr]=new fo.SphereGeometry(cs,oa,oa)),Pi.geometry.dispose(),Pi.geometry=d[Yr]);var Ms=u(Nr),Ha=new fo.Color(_y(Ms||"#ffffaa")),Qo=e.nodeOpacity*Xw(Ms);(Pi.material.type!=="MeshLambertMaterial"||!Pi.material.color.equals(Ha)||Pi.material.opacity!==Qo)&&(g.hasOwnProperty(Ms)||(g[Ms]=new fo.MeshLambertMaterial({color:Ha,transparent:!0,opacity:Qo})),Pi.material.dispose(),Pi.material=g[Ms])}}).digest(e.graphData.nodes.filter(c))}if(e._flushObjects||n(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","linkDirectionalParticleThreeObject"])){var v=ul(e.linkThreeObject),M=ul(e.linkThreeObjectExtend),B=ul(e.linkMaterial),I=ul(e.linkVisibility),ne=ul(e.linkColor),ee=ul(e.linkWidth),q={},ye={},Ce={},ke=e.graphData.links.filter(I);if((e._flushObjects||n(["linkThreeObject","linkThreeObjectExtend","linkWidth"]))&&e.linkDataMapper.clear(),e.linkDataMapper.onRemoveObj(function(Pi){var Nr=Pi.__data&&Pi.__data.__singleHopPhotonsObj;Nr&&(Nr.parent.remove(Nr),Kw(Nr),delete Pi.__data.__singleHopPhotonsObj)}).onCreateObj(function(Pi){var Nr=v(Pi),Yr=M(Pi);Nr&&e.linkThreeObject===Nr&&(Nr=Nr.clone());var cs;if(!Nr||Yr){var oa=!!ee(Pi);if(oa)cs=new fo.Mesh;else{var Ms=new fo.BufferGeometry;Ms[jw]("position",new fo.BufferAttribute(new Float32Array(2*3),3)),cs=new fo.Line(Ms)}}var Ha;return Nr?Yr?(Ha=new fo.Group,Ha.__graphDefaultObj=!0,Ha.add(cs),Ha.add(Nr)):Ha=Nr:(Ha=cs,Ha.__graphDefaultObj=!0),Ha.renderOrder=10,Ha.__graphObjType="link",Ha}).onUpdateObj(function(Pi,Nr){if(Pi.__graphDefaultObj){var Yr=Pi.children.length?Pi.children[0]:Pi,cs=Math.ceil(ee(Nr)*10)/10,oa=!!cs;if(oa){var Ms=cs/2,Ha=e.linkResolution;if(!Yr.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||Yr.geometry.parameters.radiusTop!==Ms||Yr.geometry.parameters.radialSegments!==Ha){if(!q.hasOwnProperty(cs)){var Qo=new fo.CylinderGeometry(Ms,Ms,1,Ha,1,!1);Qo[ab](new fo.Matrix4().makeTranslation(0,1/2,0)),Qo[ab](new fo.Matrix4().makeRotationX(Math.PI/2)),q[cs]=Qo}Yr.geometry.dispose(),Yr.geometry=q[cs]}}var co=B(Nr);if(co)Yr.material=co;else{var Li=ne(Nr),os=new fo.Color(_y(Li||"#f0f0f0")),Hi=e.linkOpacity*Xw(Li),Fs=oa?"MeshLambertMaterial":"LineBasicMaterial";if(Yr.material.type!==Fs||!Yr.material.color.equals(os)||Yr.material.opacity!==Hi){var Pn=oa?ye:Ce;Pn.hasOwnProperty(Li)||(Pn[Li]=new fo[Fs]({color:os,transparent:Hi<1,opacity:Hi,depthWrite:Hi>=1})),Yr.material.dispose(),Yr.material=Pn[Li]}}}}).digest(ke),e.linkDirectionalArrowLength||t.hasOwnProperty("linkDirectionalArrowLength")){var nt=ul(e.linkDirectionalArrowLength),Ye=ul(e.linkDirectionalArrowColor);e.arrowDataMapper.onCreateObj(function(){var Pi=new fo.Mesh(void 0,new fo.MeshLambertMaterial({transparent:!0}));return Pi.__linkThreeObjType="arrow",Pi}).onUpdateObj(function(Pi,Nr){var Yr=nt(Nr),cs=e.linkDirectionalArrowResolution;if(!Pi.geometry.type.match(/^Cone(Buffer)?Geometry$/)||Pi.geometry.parameters.height!==Yr||Pi.geometry.parameters.radialSegments!==cs){var oa=new fo.ConeGeometry(Yr*.25,Yr,cs);oa.translate(0,Yr/2,0),oa.rotateX(Math.PI/2),Pi.geometry.dispose(),Pi.geometry=oa}var Ms=Ye(Nr)||ne(Nr)||"#f0f0f0";Pi.material.color=new fo.Color(_y(Ms)),Pi.material.opacity=e.linkOpacity*3*Xw(Ms)}).digest(ke.filter(nt))}if(e.linkDirectionalParticles||t.hasOwnProperty("linkDirectionalParticles")){var ht=ul(e.linkDirectionalParticles),Rt=ul(e.linkDirectionalParticleWidth),qe=ul(e.linkDirectionalParticleColor),pt=ul(e.linkDirectionalParticleThreeObject),xn={},cr={};e.particlesDataMapper.onCreateObj(function(){var Pi=new fo.Group;return Pi.__linkThreeObjType="photons",Pi.__photonDataMapper=new by(Pi),Pi}).onUpdateObj(function(Pi,Nr){var Yr=!!Pi.children.length&&Pi.children[0],cs=pt(Nr),oa,Ms;if(cs)oa=cs.geometry,Ms=cs.material;else{var Ha=Math.ceil(Rt(Nr)*10)/10/2,Qo=e.linkDirectionalParticleResolution;Yr&&Yr.geometry.parameters.radius===Ha&&Yr.geometry.parameters.widthSegments===Qo?oa=Yr.geometry:(cr.hasOwnProperty(Ha)||(cr[Ha]=new fo.SphereGeometry(Ha,Qo,Qo)),oa=cr[Ha]);var co=qe(Nr)||ne(Nr)||"#f0f0f0",Li=new fo.Color(_y(co)),os=e.linkOpacity*3;Yr&&Yr.material.color.equals(Li)&&Yr.material.opacity===os?Ms=Yr.material:(xn.hasOwnProperty(co)||(xn[co]=new fo.MeshLambertMaterial({color:Li,transparent:!0,opacity:os})),Ms=xn[co])}Yr&&(Yr.geometry!==oa&&Yr.geometry.dispose(),Yr.material!==Ms&&Yr.material.dispose());var Hi=Math.round(Math.abs(ht(Nr)));Pi.__photonDataMapper.id(function(Fs){return Fs.idx}).onCreateObj(function(){return new fo.Mesh(oa,Ms)}).onUpdateObj(function(Fs){Fs.geometry=oa,Fs.material=Ms}).digest(xp(new Array(Hi)).map(function(Fs,Pn){return{idx:Pn}}))}).digest(ke.filter(ht))}}if(e._flushObjects=!1,n(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){e.engineRunning=!1,e.graphData.links.forEach(function(Pi){Pi.source=Pi[e.linkSource],Pi.target=Pi[e.linkTarget]});var pr=e.forceEngine!=="ngraph",Br;if(pr){(Br=e.d3ForceLayout).stop().alpha(1).numDimensions(e.numDimensions).nodes(e.graphData.nodes);var zr=e.d3ForceLayout.force("link");zr&&zr.id(function(Pi){return Pi[e.nodeId]}).links(e.graphData.links);var Dr=e.dagMode&&TL(e.graphData,function(Pi){return Pi[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),Zr=Math.max.apply(Math,xp(Object.values(Dr||[]))),Ti=e.dagLevelDistance||e.graphData.nodes.length/(Zr||1)*BL*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu","zin","zout"].includes(t.dagMode)){var ds=["lr","rl"].includes(t.dagMode)?"fx":["td","bu"].includes(t.dagMode)?"fy":"fz";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(Pi){return delete Pi[ds]})}if(["lr","rl","td","bu","zin","zout"].includes(e.dagMode)){var As=["rl","td","zout"].includes(e.dagMode),Xr=function(Nr){return(Dr[Nr[e.nodeId]]-Zr/2)*Ti*(As?-1:1)},Yi=["lr","rl"].includes(e.dagMode)?"fx":["td","bu"].includes(e.dagMode)?"fy":"fz";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(Pi){return Pi[Yi]=Xr(Pi)})}e.d3ForceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?du(function(Pi){var Nr=Dr[Pi[e.nodeId]]||-1;return(e.dagMode==="radialin"?Zr-Nr:Nr)*Ti}).strength(function(Pi){return e.dagNodeFilter(Pi)?1:0}):null)}else{var ps=yC.graph();e.graphData.nodes.forEach(function(Pi){ps.addNode(Pi[e.nodeId])}),e.graphData.links.forEach(function(Pi){ps.addLink(Pi.source,Pi.target)}),Br=yC.forcelayout(ps,wL({dimensions:e.numDimensions},e.ngraphPhysics)),Br.graph=ps}for(var Xa=0;Xa0&&e.d3ForceLayout.alpha()1&&arguments[1]!==void 0?arguments[1]:Object,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=function(i){function a(){var o;oC(this,a);for(var u=arguments.length,c=new Array(u),d=0;dB.start-I.start);let M=0;for(let B=1;B 0 - vec4 plane; - #ifdef ALPHA_TO_COVERAGE - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - if ( clipOpacity == 0.0 ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - float unionClipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - } - #pragma unroll_loop_end - clipOpacity *= 1.0 - unionClipOpacity; - #endif - diffuseColor.a *= clipOpacity; - if ( diffuseColor.a == 0.0 ) discard; - #else - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - bool clipped = true; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; - } - #pragma unroll_loop_end - if ( clipped ) discard; - #endif - #endif -#endif`,jL=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,YL=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; -#endif`,qL=`#if NUM_CLIPPING_PLANES > 0 - vClipPosition = - mvPosition.xyz; -#endif`,JL=`#if defined( USE_COLOR_ALPHA ) - diffuseColor *= vColor; -#elif defined( USE_COLOR ) - diffuseColor.rgb *= vColor; -#endif`,eU=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) - varying vec3 vColor; -#endif`,tU=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) - varying vec3 vColor; -#endif`,nU=`#if defined( USE_COLOR_ALPHA ) - vColor = vec4( 1.0 ); -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) - vColor = vec3( 1.0 ); -#endif -#ifdef USE_COLOR - vColor *= color; -#endif -#ifdef USE_INSTANCING_COLOR - vColor.xyz *= instanceColor.xyz; -#endif -#ifdef USE_BATCHING_COLOR - vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); - vColor.xyz *= batchingColor.xyz; -#endif`,rU=`#define PI 3.141592653589793 -#define PI2 6.283185307179586 -#define PI_HALF 1.5707963267948966 -#define RECIPROCAL_PI 0.3183098861837907 -#define RECIPROCAL_PI2 0.15915494309189535 -#define EPSILON 1e-6 -#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -#define whiteComplement( a ) ( 1.0 - saturate( a ) ) -float pow2( const in float x ) { return x*x; } -vec3 pow2( const in vec3 x ) { return x*x; } -float pow3( const in float x ) { return x*x*x; } -float pow4( const in float x ) { float x2 = x*x; return x2*x2; } -float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } -float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } -highp float rand( const in 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, PI ); - return fract( sin( sn ) * c ); -} -#ifdef HIGH_PRECISION - float precisionSafeLength( vec3 v ) { return length( v ); } -#else - float precisionSafeLength( vec3 v ) { - float maxComponent = max3( abs( v ) ); - return length( v / maxComponent ) * maxComponent; - } -#endif -struct IncidentLight { - vec3 color; - vec3 direction; - bool visible; -}; -struct ReflectedLight { - vec3 directDiffuse; - vec3 directSpecular; - vec3 indirectDiffuse; - vec3 indirectSpecular; -}; -#ifdef USE_ALPHAHASH - varying vec3 vPosition; -#endif -vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); -} -vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); -} -bool isPerspectiveMatrix( mat4 m ) { - return m[ 2 ][ 3 ] == - 1.0; -} -vec2 equirectUv( in vec3 dir ) { - float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; - float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; - return vec2( u, v ); -} -vec3 BRDF_Lambert( const in vec3 diffuseColor ) { - return RECIPROCAL_PI * diffuseColor; -} -vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} -float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,iU=`#ifdef ENVMAP_TYPE_CUBE_UV - #define cubeUV_minMipLevel 4.0 - #define cubeUV_minTileSize 16.0 - float getFace( vec3 direction ) { - vec3 absDirection = abs( direction ); - float face = - 1.0; - if ( absDirection.x > absDirection.z ) { - if ( absDirection.x > absDirection.y ) - face = direction.x > 0.0 ? 0.0 : 3.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } else { - if ( absDirection.z > absDirection.y ) - face = direction.z > 0.0 ? 2.0 : 5.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } - return face; - } - vec2 getUV( vec3 direction, float face ) { - vec2 uv; - if ( face == 0.0 ) { - uv = vec2( direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 1.0 ) { - uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); - } else if ( face == 2.0 ) { - uv = vec2( - direction.x, direction.y ) / abs( direction.z ); - } else if ( face == 3.0 ) { - uv = vec2( - direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 4.0 ) { - uv = vec2( - direction.x, direction.z ) / abs( direction.y ); - } else { - uv = vec2( direction.x, direction.y ) / abs( direction.z ); - } - return 0.5 * ( uv + 1.0 ); - } - vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { - float face = getFace( direction ); - float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); - mipInt = max( mipInt, cubeUV_minMipLevel ); - float faceSize = exp2( mipInt ); - highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; - if ( face > 2.0 ) { - uv.y += faceSize; - face -= 3.0; - } - uv.x += face * faceSize; - uv.x += filterInt * 3.0 * cubeUV_minTileSize; - uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); - uv.x *= CUBEUV_TEXEL_WIDTH; - uv.y *= CUBEUV_TEXEL_HEIGHT; - #ifdef texture2DGradEXT - return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; - #else - return texture2D( envMap, uv ).rgb; - #endif - } - #define cubeUV_r0 1.0 - #define cubeUV_m0 - 2.0 - #define cubeUV_r1 0.8 - #define cubeUV_m1 - 1.0 - #define cubeUV_r4 0.4 - #define cubeUV_m4 2.0 - #define cubeUV_r5 0.305 - #define cubeUV_m5 3.0 - #define cubeUV_r6 0.21 - #define cubeUV_m6 4.0 - float roughnessToMip( float roughness ) { - float mip = 0.0; - if ( roughness >= cubeUV_r1 ) { - mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; - } else if ( roughness >= cubeUV_r4 ) { - mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; - } else if ( roughness >= cubeUV_r5 ) { - mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; - } else if ( roughness >= cubeUV_r6 ) { - mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; - } else { - mip = - 2.0 * log2( 1.16 * roughness ); } - return mip; - } - vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { - float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); - float mipF = fract( mip ); - float mipInt = floor( mip ); - vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); - if ( mipF == 0.0 ) { - return vec4( color0, 1.0 ); - } else { - vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); - return vec4( mix( color0, color1, mipF ), 1.0 ); - } - } -#endif`,sU=`vec3 transformedNormal = objectNormal; -#ifdef USE_TANGENT - vec3 transformedTangent = objectTangent; -#endif -#ifdef USE_BATCHING - mat3 bm = mat3( batchingMatrix ); - transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); - transformedNormal = bm * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = bm * transformedTangent; - #endif -#endif -#ifdef USE_INSTANCING - mat3 im = mat3( instanceMatrix ); - transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); - transformedNormal = im * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = im * transformedTangent; - #endif -#endif -transformedNormal = normalMatrix * transformedNormal; -#ifdef FLIP_SIDED - transformedNormal = - transformedNormal; -#endif -#ifdef USE_TANGENT - transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; - #ifdef FLIP_SIDED - transformedTangent = - transformedTangent; - #endif -#endif`,aU=`#ifdef USE_DISPLACEMENTMAP - uniform sampler2D displacementMap; - uniform float displacementScale; - uniform float displacementBias; -#endif`,oU=`#ifdef USE_DISPLACEMENTMAP - transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,lU=`#ifdef USE_EMISSIVEMAP - vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); - #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE - emissiveColor = sRGBTransferEOTF( emissiveColor ); - #endif - totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,uU=`#ifdef USE_EMISSIVEMAP - uniform sampler2D emissiveMap; -#endif`,cU="gl_FragColor = linearToOutputTexel( gl_FragColor );",hU=`vec4 LinearTransferOETF( in vec4 value ) { - return value; -} -vec4 sRGBTransferEOTF( 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.a ); -} -vec4 sRGBTransferOETF( 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.a ); -}`,dU=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vec3 cameraToFrag; - if ( isOrthographic ) { - cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToFrag = normalize( vWorldPosition - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vec3 reflectVec = reflect( cameraToFrag, worldNormal ); - #else - vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); - #endif - #else - vec3 reflectVec = vReflect; - #endif - #ifdef ENVMAP_TYPE_CUBE - vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); - #else - vec4 envColor = vec4( 0.0 ); - #endif - #ifdef ENVMAP_BLENDING_MULTIPLY - outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_MIX ) - outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_ADD ) - outgoingLight += envColor.xyz * specularStrength * reflectivity; - #endif -#endif`,fU=`#ifdef USE_ENVMAP - uniform float envMapIntensity; - uniform float flipEnvMap; - uniform mat3 envMapRotation; - #ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; - #else - uniform sampler2D envMap; - #endif -#endif`,AU=`#ifdef USE_ENVMAP - uniform float reflectivity; - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - varying vec3 vWorldPosition; - uniform float refractionRatio; - #else - varying vec3 vReflect; - #endif -#endif`,pU=`#ifdef USE_ENVMAP - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - - varying vec3 vWorldPosition; - #else - varying vec3 vReflect; - uniform float refractionRatio; - #endif -#endif`,gU=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vWorldPosition = worldPosition.xyz; - #else - vec3 cameraToVertex; - if ( isOrthographic ) { - cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vReflect = reflect( cameraToVertex, worldNormal ); - #else - vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); - #endif - #endif -#endif`,mU=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; -#endif`,vU=`#ifdef USE_FOG - varying float vFogDepth; -#endif`,yU=`#ifdef USE_FOG - #ifdef FOG_EXP2 - float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); - #else - float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); - #endif - gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,xU=`#ifdef USE_FOG - uniform vec3 fogColor; - varying float vFogDepth; - #ifdef FOG_EXP2 - uniform float fogDensity; - #else - uniform float fogNear; - uniform float fogFar; - #endif -#endif`,bU=`#ifdef USE_GRADIENTMAP - uniform sampler2D gradientMap; -#endif -vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { - float dotNL = dot( normal, lightDirection ); - vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); - #ifdef USE_GRADIENTMAP - return vec3( texture2D( gradientMap, coord ).r ); - #else - vec2 fw = fwidth( coord ) * 0.5; - return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); - #endif -}`,_U=`#ifdef USE_LIGHTMAP - uniform sampler2D lightMap; - uniform float lightMapIntensity; -#endif`,wU=`LambertMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,SU=`varying vec3 vViewPosition; -struct LambertMaterial { - vec3 diffuseColor; - float specularStrength; -}; -void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,MU=`uniform bool receiveShadow; -uniform vec3 ambientLightColor; -#if defined( USE_LIGHT_PROBES ) - uniform vec3 lightProbe[ 9 ]; -#endif -vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { - float x = normal.x, y = normal.y, z = normal.z; - vec3 result = shCoefficients[ 0 ] * 0.886227; - result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; - result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; - result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; - result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; - result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; - result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); - result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; - result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); - return result; -} -vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); - return irradiance; -} -vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { - vec3 irradiance = ambientLightColor; - return irradiance; -} -float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { - float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); - if ( cutoffDistance > 0.0 ) { - distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); - } - return distanceFalloff; -} -float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { - return smoothstep( coneCosine, penumbraCosine, angleCosine ); -} -#if NUM_DIR_LIGHTS > 0 - struct DirectionalLight { - vec3 direction; - vec3 color; - }; - uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; - void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { - light.color = directionalLight.color; - light.direction = directionalLight.direction; - light.visible = true; - } -#endif -#if NUM_POINT_LIGHTS > 0 - struct PointLight { - vec3 position; - vec3 color; - float distance; - float decay; - }; - uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; - void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = pointLight.position - geometryPosition; - light.direction = normalize( lVector ); - float lightDistance = length( lVector ); - light.color = pointLight.color; - light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } -#endif -#if NUM_SPOT_LIGHTS > 0 - struct SpotLight { - vec3 position; - vec3 direction; - vec3 color; - float distance; - float decay; - float coneCos; - float penumbraCos; - }; - uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; - void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = spotLight.position - geometryPosition; - light.direction = normalize( lVector ); - float angleCos = dot( light.direction, spotLight.direction ); - float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); - if ( spotAttenuation > 0.0 ) { - float lightDistance = length( lVector ); - light.color = spotLight.color * spotAttenuation; - light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } else { - light.color = vec3( 0.0 ); - light.visible = false; - } - } -#endif -#if NUM_RECT_AREA_LIGHTS > 0 - struct RectAreaLight { - vec3 color; - vec3 position; - vec3 halfWidth; - vec3 halfHeight; - }; - uniform sampler2D ltc_1; uniform sampler2D ltc_2; - uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; -#endif -#if NUM_HEMI_LIGHTS > 0 - struct HemisphereLight { - vec3 direction; - vec3 skyColor; - vec3 groundColor; - }; - uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; - vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { - float dotNL = dot( normal, hemiLight.direction ); - float hemiDiffuseWeight = 0.5 * dotNL + 0.5; - vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); - return irradiance; - } -#endif`,EU=`#ifdef USE_ENVMAP - vec3 getIBLIrradiance( const in vec3 normal ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); - return PI * envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 reflectVec = reflect( - viewDir, normal ); - reflectVec = normalize( mix( reflectVec, normal, pow4( roughness ) ) ); - reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); - return envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - #ifdef USE_ANISOTROPY - vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 bentNormal = cross( bitangent, viewDir ); - bentNormal = normalize( cross( bentNormal, bitangent ) ); - bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); - return getIBLRadiance( viewDir, bentNormal, roughness ); - #else - return vec3( 0.0 ); - #endif - } - #endif -#endif`,CU=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,TU=`varying vec3 vViewPosition; -struct ToonMaterial { - vec3 diffuseColor; -}; -void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,BU=`BlinnPhongMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularColor = specular; -material.specularShininess = shininess; -material.specularStrength = specularStrength;`,RU=`varying vec3 vViewPosition; -struct BlinnPhongMaterial { - vec3 diffuseColor; - vec3 specularColor; - float specularShininess; - float specularStrength; -}; -void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); - reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; -} -void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,IU=`PhysicalMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.diffuseContribution = diffuseColor.rgb * ( 1.0 - metalnessFactor ); -material.metalness = metalnessFactor; -vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); -float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); -material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; -material.roughness = min( material.roughness, 1.0 ); -#ifdef IOR - material.ior = ior; - #ifdef USE_SPECULAR - float specularIntensityFactor = specularIntensity; - vec3 specularColorFactor = specularColor; - #ifdef USE_SPECULAR_COLORMAP - specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; - #endif - material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); - #else - float specularIntensityFactor = 1.0; - vec3 specularColorFactor = vec3( 1.0 ); - material.specularF90 = 1.0; - #endif - material.specularColor = min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor; - material.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor ); -#else - material.specularColor = vec3( 0.04 ); - material.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor ); - material.specularF90 = 1.0; -#endif -#ifdef USE_CLEARCOAT - material.clearcoat = clearcoat; - material.clearcoatRoughness = clearcoatRoughness; - material.clearcoatF0 = vec3( 0.04 ); - material.clearcoatF90 = 1.0; - #ifdef USE_CLEARCOATMAP - material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; - #endif - #ifdef USE_CLEARCOAT_ROUGHNESSMAP - material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; - #endif - material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); - material.clearcoatRoughness += geometryRoughness; - material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); -#endif -#ifdef USE_DISPERSION - material.dispersion = dispersion; -#endif -#ifdef USE_IRIDESCENCE - material.iridescence = iridescence; - material.iridescenceIOR = iridescenceIOR; - #ifdef USE_IRIDESCENCEMAP - material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; - #endif - #ifdef USE_IRIDESCENCE_THICKNESSMAP - material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; - #else - material.iridescenceThickness = iridescenceThicknessMaximum; - #endif -#endif -#ifdef USE_SHEEN - material.sheenColor = sheenColor; - #ifdef USE_SHEEN_COLORMAP - material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; - #endif - material.sheenRoughness = clamp( sheenRoughness, 0.0001, 1.0 ); - #ifdef USE_SHEEN_ROUGHNESSMAP - material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; - #endif -#endif -#ifdef USE_ANISOTROPY - #ifdef USE_ANISOTROPYMAP - mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); - vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; - vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; - #else - vec2 anisotropyV = anisotropyVector; - #endif - material.anisotropy = length( anisotropyV ); - if( material.anisotropy == 0.0 ) { - anisotropyV = vec2( 1.0, 0.0 ); - } else { - anisotropyV /= material.anisotropy; - material.anisotropy = saturate( material.anisotropy ); - } - material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); - material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; - material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,NU=`uniform sampler2D dfgLUT; -struct PhysicalMaterial { - vec3 diffuseColor; - vec3 diffuseContribution; - vec3 specularColor; - vec3 specularColorBlended; - float roughness; - float metalness; - float specularF90; - float dispersion; - #ifdef USE_CLEARCOAT - float clearcoat; - float clearcoatRoughness; - vec3 clearcoatF0; - float clearcoatF90; - #endif - #ifdef USE_IRIDESCENCE - float iridescence; - float iridescenceIOR; - float iridescenceThickness; - vec3 iridescenceFresnel; - vec3 iridescenceF0; - vec3 iridescenceFresnelDielectric; - vec3 iridescenceFresnelMetallic; - #endif - #ifdef USE_SHEEN - vec3 sheenColor; - float sheenRoughness; - #endif - #ifdef IOR - float ior; - #endif - #ifdef USE_TRANSMISSION - float transmission; - float transmissionAlpha; - float thickness; - float attenuationDistance; - vec3 attenuationColor; - #endif - #ifdef USE_ANISOTROPY - float anisotropy; - float alphaT; - vec3 anisotropyT; - vec3 anisotropyB; - #endif -}; -vec3 clearcoatSpecularDirect = vec3( 0.0 ); -vec3 clearcoatSpecularIndirect = vec3( 0.0 ); -vec3 sheenSpecularDirect = vec3( 0.0 ); -vec3 sheenSpecularIndirect = vec3(0.0 ); -vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { - float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); - float x2 = x * x; - float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); - return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); -} -float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { - float a2 = pow2( alpha ); - float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); - float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); - return 0.5 / max( gv + gl, EPSILON ); -} -float D_GGX( const in float alpha, const in float dotNH ) { - float a2 = pow2( alpha ); - float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; - return RECIPROCAL_PI * a2 / pow2( denom ); -} -#ifdef USE_ANISOTROPY - float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { - float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); - float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); - float v = 0.5 / ( gv + gl ); - return v; - } - float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { - float a2 = alphaT * alphaB; - highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); - highp float v2 = dot( v, v ); - float w2 = a2 / v2; - return RECIPROCAL_PI * a2 * pow2 ( w2 ); - } -#endif -#ifdef USE_CLEARCOAT - vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { - vec3 f0 = material.clearcoatF0; - float f90 = material.clearcoatF90; - float roughness = material.clearcoatRoughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - return F * ( V * D ); - } -#endif -vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 f0 = material.specularColorBlended; - float f90 = material.specularF90; - float roughness = material.roughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - #ifdef USE_IRIDESCENCE - F = mix( F, material.iridescenceFresnel, material.iridescence ); - #endif - #ifdef USE_ANISOTROPY - float dotTL = dot( material.anisotropyT, lightDir ); - float dotTV = dot( material.anisotropyT, viewDir ); - float dotTH = dot( material.anisotropyT, halfDir ); - float dotBL = dot( material.anisotropyB, lightDir ); - float dotBV = dot( material.anisotropyB, viewDir ); - float dotBH = dot( material.anisotropyB, halfDir ); - float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); - float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); - #else - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - #endif - return F * ( V * D ); -} -vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { - const float LUT_SIZE = 64.0; - const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; - const float LUT_BIAS = 0.5 / LUT_SIZE; - float dotNV = saturate( dot( N, V ) ); - vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); - uv = uv * LUT_SCALE + LUT_BIAS; - return uv; -} -float LTC_ClippedSphereFormFactor( const in vec3 f ) { - float l = length( f ); - return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); -} -vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { - float x = dot( v1, v2 ); - float y = abs( x ); - float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; - float b = 3.4175940 + ( 4.1616724 + y ) * y; - float v = a / b; - float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; - return cross( v1, v2 ) * theta_sintheta; -} -vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { - vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; - vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; - vec3 lightNormal = cross( v1, v2 ); - if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); - vec3 T1, T2; - T1 = normalize( V - N * dot( V, N ) ); - T2 = - cross( N, T1 ); - mat3 mat = mInv * transpose( mat3( T1, T2, N ) ); - vec3 coords[ 4 ]; - coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); - coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); - coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); - coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); - coords[ 0 ] = normalize( coords[ 0 ] ); - coords[ 1 ] = normalize( coords[ 1 ] ); - coords[ 2 ] = normalize( coords[ 2 ] ); - coords[ 3 ] = normalize( coords[ 3 ] ); - vec3 vectorFormFactor = vec3( 0.0 ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); - float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); - return vec3( result ); -} -#if defined( USE_SHEEN ) -float D_Charlie( float roughness, float dotNH ) { - float alpha = pow2( roughness ); - float invAlpha = 1.0 / alpha; - float cos2h = dotNH * dotNH; - float sin2h = max( 1.0 - cos2h, 0.0078125 ); - return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); -} -float V_Neubelt( float dotNV, float dotNL ) { - return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); -} -vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float D = D_Charlie( sheenRoughness, dotNH ); - float V = V_Neubelt( dotNV, dotNL ); - return sheenColor * ( D * V ); -} -#endif -float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - float r2 = roughness * roughness; - float rInv = 1.0 / ( roughness + 0.1 ); - float a = -1.9362 + 1.0678 * roughness + 0.4573 * r2 - 0.8469 * rInv; - float b = -0.6014 + 0.5538 * roughness - 0.4670 * r2 - 0.1255 * rInv; - float DG = exp( a * dotNV + b ); - return saturate( DG ); -} -vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg; - return specularColor * fab.x + specularF90 * fab.y; -} -#ifdef USE_IRIDESCENCE -void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#else -void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#endif - float dotNV = saturate( dot( normal, viewDir ) ); - vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg; - #ifdef USE_IRIDESCENCE - vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); - #else - vec3 Fr = specularColor; - #endif - vec3 FssEss = Fr * fab.x + specularF90 * fab.y; - float Ess = fab.x + fab.y; - float Ems = 1.0 - Ess; - vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); - singleScatter += FssEss; - multiScatter += Fms * Ems; -} -vec3 BRDF_GGX_Multiscatter( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 singleScatter = BRDF_GGX( lightDir, viewDir, normal, material ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - vec2 dfgV = texture2D( dfgLUT, vec2( material.roughness, dotNV ) ).rg; - vec2 dfgL = texture2D( dfgLUT, vec2( material.roughness, dotNL ) ).rg; - vec3 FssEss_V = material.specularColorBlended * dfgV.x + material.specularF90 * dfgV.y; - vec3 FssEss_L = material.specularColorBlended * dfgL.x + material.specularF90 * dfgL.y; - float Ess_V = dfgV.x + dfgV.y; - float Ess_L = dfgL.x + dfgL.y; - float Ems_V = 1.0 - Ess_V; - float Ems_L = 1.0 - Ess_L; - vec3 Favg = material.specularColorBlended + ( 1.0 - material.specularColorBlended ) * 0.047619; - vec3 Fms = FssEss_V * FssEss_L * Favg / ( 1.0 - Ems_V * Ems_L * Favg + EPSILON ); - float compensationFactor = Ems_V * Ems_L; - vec3 multiScatter = Fms * compensationFactor; - return singleScatter + multiScatter; -} -#if NUM_RECT_AREA_LIGHTS > 0 - void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 normal = geometryNormal; - vec3 viewDir = geometryViewDir; - vec3 position = geometryPosition; - vec3 lightPos = rectAreaLight.position; - vec3 halfWidth = rectAreaLight.halfWidth; - vec3 halfHeight = rectAreaLight.halfHeight; - vec3 lightColor = rectAreaLight.color; - float roughness = material.roughness; - vec3 rectCoords[ 4 ]; - rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; - rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; - rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; - vec2 uv = LTC_Uv( normal, viewDir, roughness ); - vec4 t1 = texture2D( ltc_1, uv ); - vec4 t2 = texture2D( ltc_2, uv ); - mat3 mInv = mat3( - vec3( t1.x, 0, t1.y ), - vec3( 0, 1, 0 ), - vec3( t1.z, 0, t1.w ) - ); - vec3 fresnel = ( material.specularColorBlended * t2.x + ( vec3( 1.0 ) - material.specularColorBlended ) * t2.y ); - reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); - reflectedLight.directDiffuse += lightColor * material.diffuseContribution * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); - } -#endif -void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - #ifdef USE_CLEARCOAT - float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); - vec3 ccIrradiance = dotNLcc * directLight.color; - clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); - #endif - #ifdef USE_SHEEN - - sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); - - float sheenAlbedoV = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - float sheenAlbedoL = IBLSheenBRDF( geometryNormal, directLight.direction, material.sheenRoughness ); - - float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * max( sheenAlbedoV, sheenAlbedoL ); - - irradiance *= sheenEnergyComp; - - #endif - reflectedLight.directSpecular += irradiance * BRDF_GGX_Multiscatter( directLight.direction, geometryViewDir, geometryNormal, material ); - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseContribution ); -} -void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 diffuse = irradiance * BRDF_Lambert( material.diffuseContribution ); - #ifdef USE_SHEEN - float sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo; - diffuse *= sheenEnergyComp; - #endif - reflectedLight.indirectDiffuse += diffuse; -} -void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { - #ifdef USE_CLEARCOAT - clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); - #endif - #ifdef USE_SHEEN - sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ) * RECIPROCAL_PI; - #endif - vec3 singleScatteringDielectric = vec3( 0.0 ); - vec3 multiScatteringDielectric = vec3( 0.0 ); - vec3 singleScatteringMetallic = vec3( 0.0 ); - vec3 multiScatteringMetallic = vec3( 0.0 ); - #ifdef USE_IRIDESCENCE - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnelDielectric, material.roughness, singleScatteringDielectric, multiScatteringDielectric ); - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.iridescence, material.iridescenceFresnelMetallic, material.roughness, singleScatteringMetallic, multiScatteringMetallic ); - #else - computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScatteringDielectric, multiScatteringDielectric ); - computeMultiscattering( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.roughness, singleScatteringMetallic, multiScatteringMetallic ); - #endif - vec3 singleScattering = mix( singleScatteringDielectric, singleScatteringMetallic, material.metalness ); - vec3 multiScattering = mix( multiScatteringDielectric, multiScatteringMetallic, material.metalness ); - vec3 totalScatteringDielectric = singleScatteringDielectric + multiScatteringDielectric; - vec3 diffuse = material.diffuseContribution * ( 1.0 - totalScatteringDielectric ); - vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; - vec3 indirectSpecular = radiance * singleScattering; - indirectSpecular += multiScattering * cosineWeightedIrradiance; - vec3 indirectDiffuse = diffuse * cosineWeightedIrradiance; - #ifdef USE_SHEEN - float sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo; - indirectSpecular *= sheenEnergyComp; - indirectDiffuse *= sheenEnergyComp; - #endif - reflectedLight.indirectSpecular += indirectSpecular; - reflectedLight.indirectDiffuse += indirectDiffuse; -} -#define RE_Direct RE_Direct_Physical -#define RE_Direct_RectArea RE_Direct_RectArea_Physical -#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical -#define RE_IndirectSpecular RE_IndirectSpecular_Physical -float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { - return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,FU=` -vec3 geometryPosition = - vViewPosition; -vec3 geometryNormal = normal; -vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); -vec3 geometryClearcoatNormal = vec3( 0.0 ); -#ifdef USE_CLEARCOAT - geometryClearcoatNormal = clearcoatNormal; -#endif -#ifdef USE_IRIDESCENCE - float dotNVi = saturate( dot( normal, geometryViewDir ) ); - if ( material.iridescenceThickness == 0.0 ) { - material.iridescence = 0.0; - } else { - material.iridescence = saturate( material.iridescence ); - } - if ( material.iridescence > 0.0 ) { - material.iridescenceFresnelDielectric = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); - material.iridescenceFresnelMetallic = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.diffuseColor ); - material.iridescenceFresnel = mix( material.iridescenceFresnelDielectric, material.iridescenceFresnelMetallic, material.metalness ); - material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); - } -#endif -IncidentLight directLight; -#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) - PointLight pointLight; - #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 - PointLightShadow pointLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { - pointLight = pointLights[ i ]; - getPointLightInfo( pointLight, geometryPosition, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) ) - pointLightShadow = pointLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) - SpotLight spotLight; - vec4 spotColor; - vec3 spotLightCoord; - bool inSpotLightMap; - #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { - spotLight = spotLights[ i ]; - getSpotLightInfo( spotLight, geometryPosition, directLight ); - #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX - #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS - #else - #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #endif - #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) - spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; - inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); - spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); - directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; - #endif - #undef SPOT_LIGHT_MAP_INDEX - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - spotLightShadow = spotLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) - DirectionalLight directionalLight; - #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { - directionalLight = directionalLights[ i ]; - getDirectionalLightInfo( directionalLight, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) - directionalLightShadow = directionalLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) - RectAreaLight rectAreaLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { - rectAreaLight = rectAreaLights[ i ]; - RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if defined( RE_IndirectDiffuse ) - vec3 iblIrradiance = vec3( 0.0 ); - vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); - #if defined( USE_LIGHT_PROBES ) - irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); - #endif - #if ( NUM_HEMI_LIGHTS > 0 ) - #pragma unroll_loop_start - for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { - irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); - } - #pragma unroll_loop_end - #endif -#endif -#if defined( RE_IndirectSpecular ) - vec3 radiance = vec3( 0.0 ); - vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,PU=`#if defined( RE_IndirectDiffuse ) - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - irradiance += lightMapIrradiance; - #endif - #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) - iblIrradiance += getIBLIrradiance( geometryNormal ); - #endif -#endif -#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) - #ifdef USE_ANISOTROPY - radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); - #else - radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); - #endif - #ifdef USE_CLEARCOAT - clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); - #endif -#endif`,LU=`#if defined( RE_IndirectDiffuse ) - RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif -#if defined( RE_IndirectSpecular ) - RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,UU=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) - gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,OU=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) - uniform float logDepthBufFC; - varying float vFragDepth; - varying float vIsPerspective; -#endif`,DU=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER - varying float vFragDepth; - varying float vIsPerspective; -#endif`,kU=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER - vFragDepth = 1.0 + gl_Position.w; - vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); -#endif`,VU=`#ifdef USE_MAP - vec4 sampledDiffuseColor = texture2D( map, vMapUv ); - #ifdef DECODE_VIDEO_TEXTURE - sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); - #endif - diffuseColor *= sampledDiffuseColor; -#endif`,zU=`#ifdef USE_MAP - uniform sampler2D map; -#endif`,GU=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - #if defined( USE_POINTS_UV ) - vec2 uv = vUv; - #else - vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; - #endif -#endif -#ifdef USE_MAP - diffuseColor *= texture2D( map, uv ); -#endif -#ifdef USE_ALPHAMAP - diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,HU=`#if defined( USE_POINTS_UV ) - varying vec2 vUv; -#else - #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - uniform mat3 uvTransform; - #endif -#endif -#ifdef USE_MAP - uniform sampler2D map; -#endif -#ifdef USE_ALPHAMAP - uniform sampler2D alphaMap; -#endif`,QU=`float metalnessFactor = metalness; -#ifdef USE_METALNESSMAP - vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); - metalnessFactor *= texelMetalness.b; -#endif`,WU=`#ifdef USE_METALNESSMAP - uniform sampler2D metalnessMap; -#endif`,ZU=`#ifdef USE_INSTANCING_MORPH - float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; - } -#endif`,KU=`#if defined( USE_MORPHCOLORS ) - vColor *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - #if defined( USE_COLOR_ALPHA ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; - #elif defined( USE_COLOR ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; - #endif - } -#endif`,$U=`#ifdef USE_MORPHNORMALS - objectNormal *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; - } -#endif`,XU=`#ifdef USE_MORPHTARGETS - #ifndef USE_INSTANCING_MORPH - uniform float morphTargetBaseInfluence; - uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - #endif - uniform sampler2DArray morphTargetsTexture; - uniform ivec2 morphTargetsTextureSize; - vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { - int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; - int y = texelIndex / morphTargetsTextureSize.x; - int x = texelIndex - y * morphTargetsTextureSize.x; - ivec3 morphUV = ivec3( x, y, morphTargetIndex ); - return texelFetch( morphTargetsTexture, morphUV, 0 ); - } -#endif`,jU=`#ifdef USE_MORPHTARGETS - transformed *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; - } -#endif`,YU=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; -#ifdef FLAT_SHADED - vec3 fdx = dFdx( vViewPosition ); - vec3 fdy = dFdy( vViewPosition ); - vec3 normal = normalize( cross( fdx, fdy ) ); -#else - vec3 normal = normalize( vNormal ); - #ifdef DOUBLE_SIDED - normal *= faceDirection; - #endif -#endif -#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) - #ifdef USE_TANGENT - mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn = getTangentFrame( - vViewPosition, normal, - #if defined( USE_NORMALMAP ) - vNormalMapUv - #elif defined( USE_CLEARCOAT_NORMALMAP ) - vClearcoatNormalMapUv - #else - vUv - #endif - ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn[0] *= faceDirection; - tbn[1] *= faceDirection; - #endif -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - #ifdef USE_TANGENT - mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn2[0] *= faceDirection; - tbn2[1] *= faceDirection; - #endif -#endif -vec3 nonPerturbedNormal = normal;`,qU=`#ifdef USE_NORMALMAP_OBJECTSPACE - normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - #ifdef FLIP_SIDED - normal = - normal; - #endif - #ifdef DOUBLE_SIDED - normal = normal * faceDirection; - #endif - normal = normalize( normalMatrix * normal ); -#elif defined( USE_NORMALMAP_TANGENTSPACE ) - vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - mapN.xy *= normalScale; - normal = normalize( tbn * mapN ); -#elif defined( USE_BUMPMAP ) - normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,JU=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,eO=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,tO=`#ifndef FLAT_SHADED - vNormal = normalize( transformedNormal ); - #ifdef USE_TANGENT - vTangent = normalize( transformedTangent ); - vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); - #endif -#endif`,nO=`#ifdef USE_NORMALMAP - uniform sampler2D normalMap; - uniform vec2 normalScale; -#endif -#ifdef USE_NORMALMAP_OBJECTSPACE - uniform mat3 normalMatrix; -#endif -#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) - mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { - vec3 q0 = dFdx( eye_pos.xyz ); - vec3 q1 = dFdy( eye_pos.xyz ); - vec2 st0 = dFdx( uv.st ); - vec2 st1 = dFdy( uv.st ); - vec3 N = surf_norm; - vec3 q1perp = cross( q1, N ); - vec3 q0perp = cross( N, q0 ); - vec3 T = q1perp * st0.x + q0perp * st1.x; - vec3 B = q1perp * st0.y + q0perp * st1.y; - float det = max( dot( T, T ), dot( B, B ) ); - float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); - return mat3( T * scale, B * scale, N ); - } -#endif`,rO=`#ifdef USE_CLEARCOAT - vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,iO=`#ifdef USE_CLEARCOAT_NORMALMAP - vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; - clearcoatMapN.xy *= clearcoatNormalScale; - clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,sO=`#ifdef USE_CLEARCOATMAP - uniform sampler2D clearcoatMap; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform sampler2D clearcoatNormalMap; - uniform vec2 clearcoatNormalScale; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform sampler2D clearcoatRoughnessMap; -#endif`,aO=`#ifdef USE_IRIDESCENCEMAP - uniform sampler2D iridescenceMap; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform sampler2D iridescenceThicknessMap; -#endif`,oO=`#ifdef OPAQUE -diffuseColor.a = 1.0; -#endif -#ifdef USE_TRANSMISSION -diffuseColor.a *= material.transmissionAlpha; -#endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,lO=`vec3 packNormalToRGB( const in vec3 normal ) { - return normalize( normal ) * 0.5 + 0.5; -} -vec3 unpackRGBToNormal( const in vec3 rgb ) { - return 2.0 * rgb.xyz - 1.0; -} -const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; -const float Inv255 = 1. / 255.; -const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); -const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); -const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); -const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); -vec4 packDepthToRGBA( const in float v ) { - if( v <= 0.0 ) - return vec4( 0., 0., 0., 0. ); - if( v >= 1.0 ) - return vec4( 1., 1., 1., 1. ); - float vuf; - float af = modf( v * PackFactors.a, vuf ); - float bf = modf( vuf * ShiftRight8, vuf ); - float gf = modf( vuf * ShiftRight8, vuf ); - return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); -} -vec3 packDepthToRGB( const in float v ) { - if( v <= 0.0 ) - return vec3( 0., 0., 0. ); - if( v >= 1.0 ) - return vec3( 1., 1., 1. ); - float vuf; - float bf = modf( v * PackFactors.b, vuf ); - float gf = modf( vuf * ShiftRight8, vuf ); - return vec3( vuf * Inv255, gf * PackUpscale, bf ); -} -vec2 packDepthToRG( const in float v ) { - if( v <= 0.0 ) - return vec2( 0., 0. ); - if( v >= 1.0 ) - return vec2( 1., 1. ); - float vuf; - float gf = modf( v * 256., vuf ); - return vec2( vuf * Inv255, gf ); -} -float unpackRGBAToDepth( const in vec4 v ) { - return dot( v, UnpackFactors4 ); -} -float unpackRGBToDepth( const in vec3 v ) { - return dot( v, UnpackFactors3 ); -} -float unpackRGToDepth( const in vec2 v ) { - return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; -} -vec4 pack2HalfToRGBA( const in vec2 v ) { - vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); - return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); -} -vec2 unpackRGBATo2Half( const in vec4 v ) { - return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); -} -float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { - return ( viewZ + near ) / ( near - far ); -} -float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { - return depth * ( near - far ) - near; -} -float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { - return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); -} -float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { - return ( near * far ) / ( ( far - near ) * depth - far ); -}`,uO=`#ifdef PREMULTIPLIED_ALPHA - gl_FragColor.rgb *= gl_FragColor.a; -#endif`,cO=`vec4 mvPosition = vec4( transformed, 1.0 ); -#ifdef USE_BATCHING - mvPosition = batchingMatrix * mvPosition; -#endif -#ifdef USE_INSTANCING - mvPosition = instanceMatrix * mvPosition; -#endif -mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,hO=`#ifdef DITHERING - gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,dO=`#ifdef DITHERING - vec3 dithering( vec3 color ) { - float grid_position = rand( gl_FragCoord.xy ); - vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); - dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); - return color + dither_shift_RGB; - } -#endif`,fO=`float roughnessFactor = roughness; -#ifdef USE_ROUGHNESSMAP - vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); - roughnessFactor *= texelRoughness.g; -#endif`,AO=`#ifdef USE_ROUGHNESSMAP - uniform sampler2D roughnessMap; -#endif`,pO=`#if NUM_SPOT_LIGHT_COORDS > 0 - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#if NUM_SPOT_LIGHT_MAPS > 0 - uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - #if defined( SHADOWMAP_TYPE_PCF ) - uniform sampler2DShadow directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - #else - uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - #if defined( SHADOWMAP_TYPE_PCF ) - uniform sampler2DShadow spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - #else - uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - struct SpotLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - #if defined( SHADOWMAP_TYPE_PCF ) - uniform samplerCubeShadow pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - #elif defined( SHADOWMAP_TYPE_BASIC ) - uniform samplerCube pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - #if defined( SHADOWMAP_TYPE_PCF ) - float interleavedGradientNoise( vec2 position ) { - return fract( 52.9829189 * fract( dot( position, vec2( 0.06711056, 0.00583715 ) ) ) ); - } - vec2 vogelDiskSample( int sampleIndex, int samplesCount, float phi ) { - const float goldenAngle = 2.399963229728653; - float r = sqrt( ( float( sampleIndex ) + 0.5 ) / float( samplesCount ) ); - float theta = float( sampleIndex ) * goldenAngle + phi; - return vec2( cos( theta ), sin( theta ) ) * r; - } - #endif - #if defined( SHADOWMAP_TYPE_PCF ) - float getShadow( sampler2DShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float radius = shadowRadius * texelSize.x; - float phi = interleavedGradientNoise( gl_FragCoord.xy ) * 6.28318530718; - shadow = ( - texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 0, 5, phi ) * radius, shadowCoord.z ) ) + - texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 1, 5, phi ) * radius, shadowCoord.z ) ) + - texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 2, 5, phi ) * radius, shadowCoord.z ) ) + - texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 3, 5, phi ) * radius, shadowCoord.z ) ) + - texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 4, 5, phi ) * radius, shadowCoord.z ) ) - ) * 0.2; - } - return mix( 1.0, shadow, shadowIntensity ); - } - #elif defined( SHADOWMAP_TYPE_VSM ) - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - vec2 distribution = texture2D( shadowMap, shadowCoord.xy ).rg; - float mean = distribution.x; - float variance = distribution.y * distribution.y; - #ifdef USE_REVERSED_DEPTH_BUFFER - float hard_shadow = step( mean, shadowCoord.z ); - #else - float hard_shadow = step( shadowCoord.z, mean ); - #endif - if ( hard_shadow == 1.0 ) { - shadow = 1.0; - } else { - variance = max( variance, 0.0000001 ); - float d = shadowCoord.z - mean; - float p_max = variance / ( variance + d * d ); - p_max = clamp( ( p_max - 0.3 ) / 0.65, 0.0, 1.0 ); - shadow = max( hard_shadow, p_max ); - } - } - return mix( 1.0, shadow, shadowIntensity ); - } - #else - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - float depth = texture2D( shadowMap, shadowCoord.xy ).r; - #ifdef USE_REVERSED_DEPTH_BUFFER - shadow = step( depth, shadowCoord.z ); - #else - shadow = step( shadowCoord.z, depth ); - #endif - } - return mix( 1.0, shadow, shadowIntensity ); - } - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - #if defined( SHADOWMAP_TYPE_PCF ) - float getPointShadow( samplerCubeShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - float shadow = 1.0; - vec3 lightToPosition = shadowCoord.xyz; - vec3 bd3D = normalize( lightToPosition ); - vec3 absVec = abs( lightToPosition ); - float viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z ); - if ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) { - float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) ); - dp += shadowBias; - float texelSize = shadowRadius / shadowMapSize.x; - vec3 absDir = abs( bd3D ); - vec3 tangent = absDir.x > absDir.z ? vec3( 0.0, 1.0, 0.0 ) : vec3( 1.0, 0.0, 0.0 ); - tangent = normalize( cross( bd3D, tangent ) ); - vec3 bitangent = cross( bd3D, tangent ); - float phi = interleavedGradientNoise( gl_FragCoord.xy ) * 6.28318530718; - shadow = ( - texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 0, 5, phi ).x + bitangent * vogelDiskSample( 0, 5, phi ).y ) * texelSize, dp ) ) + - texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 1, 5, phi ).x + bitangent * vogelDiskSample( 1, 5, phi ).y ) * texelSize, dp ) ) + - texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 2, 5, phi ).x + bitangent * vogelDiskSample( 2, 5, phi ).y ) * texelSize, dp ) ) + - texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 3, 5, phi ).x + bitangent * vogelDiskSample( 3, 5, phi ).y ) * texelSize, dp ) ) + - texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 4, 5, phi ).x + bitangent * vogelDiskSample( 4, 5, phi ).y ) * texelSize, dp ) ) - ) * 0.2; - } - return mix( 1.0, shadow, shadowIntensity ); - } - #elif defined( SHADOWMAP_TYPE_BASIC ) - float getPointShadow( samplerCube shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - float shadow = 1.0; - vec3 lightToPosition = shadowCoord.xyz; - vec3 bd3D = normalize( lightToPosition ); - vec3 absVec = abs( lightToPosition ); - float viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z ); - if ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) { - float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) ); - dp += shadowBias; - float depth = textureCube( shadowMap, bd3D ).r; - #ifdef USE_REVERSED_DEPTH_BUFFER - shadow = step( depth, dp ); - #else - shadow = step( dp, depth ); - #endif - } - return mix( 1.0, shadow, shadowIntensity ); - } - #endif - #endif -#endif`,gO=`#if NUM_SPOT_LIGHT_COORDS > 0 - uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - struct SpotLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif -#endif`,mO=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) - vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - vec4 shadowWorldPosition; -#endif -#if defined( USE_SHADOWMAP ) - #if NUM_DIR_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); - vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); - vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif -#endif -#if NUM_SPOT_LIGHT_COORDS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { - shadowWorldPosition = worldPosition; - #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; - #endif - vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end -#endif`,vO=`float getShadowMask() { - float shadow = 1.0; - #ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - directionalLight = directionalLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { - spotLight = spotLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) ) - PointLightShadow pointLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - pointLight = pointLightShadows[ i ]; - shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; - } - #pragma unroll_loop_end - #endif - #endif - return shadow; -}`,yO=`#ifdef USE_SKINNING - mat4 boneMatX = getBoneMatrix( skinIndex.x ); - mat4 boneMatY = getBoneMatrix( skinIndex.y ); - mat4 boneMatZ = getBoneMatrix( skinIndex.z ); - mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,xO=`#ifdef USE_SKINNING - uniform mat4 bindMatrix; - uniform mat4 bindMatrixInverse; - uniform highp sampler2D boneTexture; - mat4 getBoneMatrix( const in float i ) { - int size = textureSize( boneTexture, 0 ).x; - int j = int( i ) * 4; - int x = j % size; - int y = j / size; - vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); - vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); - vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); - vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); - return mat4( v1, v2, v3, v4 ); - } -#endif`,bO=`#ifdef USE_SKINNING - vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); - vec4 skinned = vec4( 0.0 ); - skinned += boneMatX * skinVertex * skinWeight.x; - skinned += boneMatY * skinVertex * skinWeight.y; - skinned += boneMatZ * skinVertex * skinWeight.z; - skinned += boneMatW * skinVertex * skinWeight.w; - transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,_O=`#ifdef USE_SKINNING - mat4 skinMatrix = mat4( 0.0 ); - skinMatrix += skinWeight.x * boneMatX; - skinMatrix += skinWeight.y * boneMatY; - skinMatrix += skinWeight.z * boneMatZ; - skinMatrix += skinWeight.w * boneMatW; - skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; - objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; - #ifdef USE_TANGENT - objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; - #endif -#endif`,wO=`float specularStrength; -#ifdef USE_SPECULARMAP - vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); - specularStrength = texelSpecular.r; -#else - specularStrength = 1.0; -#endif`,SO=`#ifdef USE_SPECULARMAP - uniform sampler2D specularMap; -#endif`,MO=`#if defined( TONE_MAPPING ) - gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,EO=`#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -uniform float toneMappingExposure; -vec3 LinearToneMapping( vec3 color ) { - return saturate( toneMappingExposure * color ); -} -vec3 ReinhardToneMapping( vec3 color ) { - color *= toneMappingExposure; - return saturate( color / ( vec3( 1.0 ) + color ) ); -} -vec3 CineonToneMapping( vec3 color ) { - color *= toneMappingExposure; - color = max( vec3( 0.0 ), color - 0.004 ); - return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); -} -vec3 RRTAndODTFit( vec3 v ) { - vec3 a = v * ( v + 0.0245786 ) - 0.000090537; - vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; - return a / b; -} -vec3 ACESFilmicToneMapping( vec3 color ) { - const mat3 ACESInputMat = mat3( - vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), - vec3( 0.04823, 0.01566, 0.83777 ) - ); - const mat3 ACESOutputMat = mat3( - vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), - vec3( -0.07367, -0.00605, 1.07602 ) - ); - color *= toneMappingExposure / 0.6; - color = ACESInputMat * color; - color = RRTAndODTFit( color ); - color = ACESOutputMat * color; - return saturate( color ); -} -const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( - vec3( 1.6605, - 0.1246, - 0.0182 ), - vec3( - 0.5876, 1.1329, - 0.1006 ), - vec3( - 0.0728, - 0.0083, 1.1187 ) -); -const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( - vec3( 0.6274, 0.0691, 0.0164 ), - vec3( 0.3293, 0.9195, 0.0880 ), - vec3( 0.0433, 0.0113, 0.8956 ) -); -vec3 agxDefaultContrastApprox( vec3 x ) { - vec3 x2 = x * x; - vec3 x4 = x2 * x2; - return + 15.5 * x4 * x2 - - 40.14 * x4 * x - + 31.96 * x4 - - 6.868 * x2 * x - + 0.4298 * x2 - + 0.1191 * x - - 0.00232; -} -vec3 AgXToneMapping( vec3 color ) { - const mat3 AgXInsetMatrix = mat3( - vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), - vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), - vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) - ); - const mat3 AgXOutsetMatrix = mat3( - vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), - vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), - vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) - ); - const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; - color *= toneMappingExposure; - color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; - color = AgXInsetMatrix * color; - color = max( color, 1e-10 ); color = log2( color ); - color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); - color = clamp( color, 0.0, 1.0 ); - color = agxDefaultContrastApprox( color ); - color = AgXOutsetMatrix * color; - color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); - color = LINEAR_REC2020_TO_LINEAR_SRGB * color; - color = clamp( color, 0.0, 1.0 ); - return color; -} -vec3 NeutralToneMapping( vec3 color ) { - const float StartCompression = 0.8 - 0.04; - const float Desaturation = 0.15; - color *= toneMappingExposure; - float x = min( color.r, min( color.g, color.b ) ); - float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; - color -= offset; - float peak = max( color.r, max( color.g, color.b ) ); - if ( peak < StartCompression ) return color; - float d = 1. - StartCompression; - float newPeak = 1. - d * d / ( peak + d - StartCompression ); - color *= newPeak / peak; - float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); - return mix( color, vec3( newPeak ), g ); -} -vec3 CustomToneMapping( vec3 color ) { return color; }`,CO=`#ifdef USE_TRANSMISSION - material.transmission = transmission; - material.transmissionAlpha = 1.0; - material.thickness = thickness; - material.attenuationDistance = attenuationDistance; - material.attenuationColor = attenuationColor; - #ifdef USE_TRANSMISSIONMAP - material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; - #endif - #ifdef USE_THICKNESSMAP - material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; - #endif - vec3 pos = vWorldPosition; - vec3 v = normalize( cameraPosition - pos ); - vec3 n = inverseTransformDirection( normal, viewMatrix ); - vec4 transmitted = getIBLVolumeRefraction( - n, v, material.roughness, material.diffuseContribution, material.specularColorBlended, material.specularF90, - pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, - material.attenuationColor, material.attenuationDistance ); - material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); - totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,TO=`#ifdef USE_TRANSMISSION - uniform float transmission; - uniform float thickness; - uniform float attenuationDistance; - uniform vec3 attenuationColor; - #ifdef USE_TRANSMISSIONMAP - uniform sampler2D transmissionMap; - #endif - #ifdef USE_THICKNESSMAP - uniform sampler2D thicknessMap; - #endif - uniform vec2 transmissionSamplerSize; - uniform sampler2D transmissionSamplerMap; - uniform mat4 modelMatrix; - uniform mat4 projectionMatrix; - varying vec3 vWorldPosition; - float w0( float a ) { - return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); - } - float w1( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); - } - float w2( float a ){ - return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); - } - float w3( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * a ); - } - float g0( float a ) { - return w0( a ) + w1( a ); - } - float g1( float a ) { - return w2( a ) + w3( a ); - } - float h0( float a ) { - return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); - } - float h1( float a ) { - return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); - } - vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { - uv = uv * texelSize.zw + 0.5; - vec2 iuv = floor( uv ); - vec2 fuv = fract( uv ); - float g0x = g0( fuv.x ); - float g1x = g1( fuv.x ); - float h0x = h0( fuv.x ); - float h1x = h1( fuv.x ); - float h0y = h0( fuv.y ); - float h1y = h1( fuv.y ); - vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + - g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); - } - vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { - vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); - vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); - vec2 fLodSizeInv = 1.0 / fLodSize; - vec2 cLodSizeInv = 1.0 / cLodSize; - vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); - vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); - return mix( fSample, cSample, fract( lod ) ); - } - vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { - vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); - vec3 modelScale; - modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); - modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); - modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); - return normalize( refractionVector ) * thickness * modelScale; - } - float applyIorToRoughness( const in float roughness, const in float ior ) { - return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); - } - vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { - float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); - return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); - } - vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { - if ( isinf( attenuationDistance ) ) { - return vec3( 1.0 ); - } else { - vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; - vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; - } - } - vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, - const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, - const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, - const in vec3 attenuationColor, const in float attenuationDistance ) { - vec4 transmittedLight; - vec3 transmittance; - #ifdef USE_DISPERSION - float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; - vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); - for ( int i = 0; i < 3; i ++ ) { - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); - transmittedLight[ i ] = transmissionSample[ i ]; - transmittedLight.a += transmissionSample.a; - transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; - } - transmittedLight.a /= 3.0; - #else - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); - transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); - #endif - vec3 attenuatedColor = transmittance * transmittedLight.rgb; - vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); - float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; - return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); - } -#endif`,BO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - varying vec2 vNormalMapUv; -#endif -#ifdef USE_EMISSIVEMAP - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_SPECULARMAP - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,RO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - uniform mat3 mapTransform; - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - uniform mat3 alphaMapTransform; - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - uniform mat3 lightMapTransform; - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - uniform mat3 aoMapTransform; - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - uniform mat3 bumpMapTransform; - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - uniform mat3 normalMapTransform; - varying vec2 vNormalMapUv; -#endif -#ifdef USE_DISPLACEMENTMAP - uniform mat3 displacementMapTransform; - varying vec2 vDisplacementMapUv; -#endif -#ifdef USE_EMISSIVEMAP - uniform mat3 emissiveMapTransform; - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - uniform mat3 metalnessMapTransform; - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - uniform mat3 roughnessMapTransform; - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - uniform mat3 anisotropyMapTransform; - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - uniform mat3 clearcoatMapTransform; - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform mat3 clearcoatNormalMapTransform; - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform mat3 clearcoatRoughnessMapTransform; - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - uniform mat3 sheenColorMapTransform; - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - uniform mat3 sheenRoughnessMapTransform; - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - uniform mat3 iridescenceMapTransform; - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform mat3 iridescenceThicknessMapTransform; - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SPECULARMAP - uniform mat3 specularMapTransform; - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - uniform mat3 specularColorMapTransform; - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - uniform mat3 specularIntensityMapTransform; - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,IO=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - vUv = vec3( uv, 1 ).xy; -#endif -#ifdef USE_MAP - vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ALPHAMAP - vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_LIGHTMAP - vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_AOMAP - vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_BUMPMAP - vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_NORMALMAP - vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_DISPLACEMENTMAP - vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_EMISSIVEMAP - vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_METALNESSMAP - vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ROUGHNESSMAP - vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ANISOTROPYMAP - vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOATMAP - vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCEMAP - vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_COLORMAP - vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULARMAP - vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_COLORMAP - vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_TRANSMISSIONMAP - vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_THICKNESSMAP - vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,NO=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 - vec4 worldPosition = vec4( transformed, 1.0 ); - #ifdef USE_BATCHING - worldPosition = batchingMatrix * worldPosition; - #endif - #ifdef USE_INSTANCING - worldPosition = instanceMatrix * worldPosition; - #endif - worldPosition = modelMatrix * worldPosition; -#endif`;const Vo={alphahash_fragment:PL,alphahash_pars_fragment:LL,alphamap_fragment:UL,alphamap_pars_fragment:OL,alphatest_fragment:DL,alphatest_pars_fragment:kL,aomap_fragment:VL,aomap_pars_fragment:zL,batching_pars_vertex:GL,batching_vertex:HL,begin_vertex:QL,beginnormal_vertex:WL,bsdfs:ZL,iridescence_fragment:KL,bumpmap_pars_fragment:$L,clipping_planes_fragment:XL,clipping_planes_pars_fragment:jL,clipping_planes_pars_vertex:YL,clipping_planes_vertex:qL,color_fragment:JL,color_pars_fragment:eU,color_pars_vertex:tU,color_vertex:nU,common:rU,cube_uv_reflection_fragment:iU,defaultnormal_vertex:sU,displacementmap_pars_vertex:aU,displacementmap_vertex:oU,emissivemap_fragment:lU,emissivemap_pars_fragment:uU,colorspace_fragment:cU,colorspace_pars_fragment:hU,envmap_fragment:dU,envmap_common_pars_fragment:fU,envmap_pars_fragment:AU,envmap_pars_vertex:pU,envmap_physical_pars_fragment:EU,envmap_vertex:gU,fog_vertex:mU,fog_pars_vertex:vU,fog_fragment:yU,fog_pars_fragment:xU,gradientmap_pars_fragment:bU,lightmap_pars_fragment:_U,lights_lambert_fragment:wU,lights_lambert_pars_fragment:SU,lights_pars_begin:MU,lights_toon_fragment:CU,lights_toon_pars_fragment:TU,lights_phong_fragment:BU,lights_phong_pars_fragment:RU,lights_physical_fragment:IU,lights_physical_pars_fragment:NU,lights_fragment_begin:FU,lights_fragment_maps:PU,lights_fragment_end:LU,logdepthbuf_fragment:UU,logdepthbuf_pars_fragment:OU,logdepthbuf_pars_vertex:DU,logdepthbuf_vertex:kU,map_fragment:VU,map_pars_fragment:zU,map_particle_fragment:GU,map_particle_pars_fragment:HU,metalnessmap_fragment:QU,metalnessmap_pars_fragment:WU,morphinstance_vertex:ZU,morphcolor_vertex:KU,morphnormal_vertex:$U,morphtarget_pars_vertex:XU,morphtarget_vertex:jU,normal_fragment_begin:YU,normal_fragment_maps:qU,normal_pars_fragment:JU,normal_pars_vertex:eO,normal_vertex:tO,normalmap_pars_fragment:nO,clearcoat_normal_fragment_begin:rO,clearcoat_normal_fragment_maps:iO,clearcoat_pars_fragment:sO,iridescence_pars_fragment:aO,opaque_fragment:oO,packing:lO,premultiplied_alpha_fragment:uO,project_vertex:cO,dithering_fragment:hO,dithering_pars_fragment:dO,roughnessmap_fragment:fO,roughnessmap_pars_fragment:AO,shadowmap_pars_fragment:pO,shadowmap_pars_vertex:gO,shadowmap_vertex:mO,shadowmask_pars_fragment:vO,skinbase_vertex:yO,skinning_pars_vertex:xO,skinning_vertex:bO,skinnormal_vertex:_O,specularmap_fragment:wO,specularmap_pars_fragment:SO,tonemapping_fragment:MO,tonemapping_pars_fragment:EO,transmission_fragment:CO,transmission_pars_fragment:TO,uv_pars_fragment:BO,uv_pars_vertex:RO,uv_vertex:IO,worldpos_vertex:NO,background_vert:`varying vec2 vUv; -uniform mat3 uvTransform; -void main() { - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,background_frag:`uniform sampler2D t2D; -uniform float backgroundIntensity; -varying vec2 vUv; -void main() { - vec4 texColor = texture2D( t2D, vUv ); - #ifdef DECODE_VIDEO_TEXTURE - texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,backgroundCube_vert:`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,backgroundCube_frag:`#ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; -#elif defined( ENVMAP_TYPE_CUBE_UV ) - uniform sampler2D envMap; -#endif -uniform float flipEnvMap; -uniform float backgroundBlurriness; -uniform float backgroundIntensity; -uniform mat3 backgroundRotation; -varying vec3 vWorldDirection; -#include -void main() { - #ifdef ENVMAP_TYPE_CUBE - vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); - #elif defined( ENVMAP_TYPE_CUBE_UV ) - vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); - #else - vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,cube_vert:`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,cube_frag:`uniform samplerCube tCube; -uniform float tFlip; -uniform float opacity; -varying vec3 vWorldDirection; -void main() { - vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); - gl_FragColor = texColor; - gl_FragColor.a *= opacity; - #include - #include -}`,depth_vert:`#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vHighPrecisionZW = gl_Position.zw; -}`,depth_frag:`#if DEPTH_PACKING == 3200 - uniform float opacity; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - vec4 diffuseColor = vec4( 1.0 ); - #include - #if DEPTH_PACKING == 3200 - diffuseColor.a = opacity; - #endif - #include - #include - #include - #include - #include - #ifdef USE_REVERSED_DEPTH_BUFFER - float fragCoordZ = vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ]; - #else - float fragCoordZ = 0.5 * vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ] + 0.5; - #endif - #if DEPTH_PACKING == 3200 - gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); - #elif DEPTH_PACKING == 3201 - gl_FragColor = packDepthToRGBA( fragCoordZ ); - #elif DEPTH_PACKING == 3202 - gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); - #elif DEPTH_PACKING == 3203 - gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); - #endif -}`,distance_vert:`#define DISTANCE -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vWorldPosition = worldPosition.xyz; -}`,distance_frag:`#define DISTANCE -uniform vec3 referencePosition; -uniform float nearDistance; -uniform float farDistance; -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main () { - vec4 diffuseColor = vec4( 1.0 ); - #include - #include - #include - #include - #include - float dist = length( vWorldPosition - referencePosition ); - dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); - dist = saturate( dist ); - gl_FragColor = vec4( dist, 0.0, 0.0, 1.0 ); -}`,equirect_vert:`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include -}`,equirect_frag:`uniform sampler2D tEquirect; -varying vec3 vWorldDirection; -#include -void main() { - vec3 direction = normalize( vWorldDirection ); - vec2 sampleUV = equirectUv( direction ); - gl_FragColor = texture2D( tEquirect, sampleUV ); - #include - #include -}`,linedashed_vert:`uniform float scale; -attribute float lineDistance; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vLineDistance = scale * lineDistance; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,linedashed_frag:`uniform vec3 diffuse; -uniform float opacity; -uniform float dashSize; -uniform float totalSize; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - if ( mod( vLineDistance, totalSize ) > dashSize ) { - discard; - } - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,meshbasic_vert:`#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) - #include - #include - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,meshbasic_frag:`uniform vec3 diffuse; -uniform float opacity; -#ifndef FLAT_SHADED - varying vec3 vNormal; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; - #else - reflectedLight.indirectDiffuse += vec3( 1.0 ); - #endif - #include - reflectedLight.indirectDiffuse *= diffuseColor.rgb; - vec3 outgoingLight = reflectedLight.indirectDiffuse; - #include - #include - #include - #include - #include - #include - #include -}`,meshlambert_vert:`#define LAMBERT -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,meshlambert_frag:`#define LAMBERT -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,meshmatcap_vert:`#define MATCAP -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; -}`,meshmatcap_frag:`#define MATCAP -uniform vec3 diffuse; -uniform float opacity; -uniform sampler2D matcap; -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 viewDir = normalize( vViewPosition ); - vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); - vec3 y = cross( viewDir, x ); - vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; - #ifdef USE_MATCAP - vec4 matcapColor = texture2D( matcap, uv ); - #else - vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); - #endif - vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; - #include - #include - #include - #include - #include - #include -}`,meshnormal_vert:`#define NORMAL -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - vViewPosition = - mvPosition.xyz; -#endif -}`,meshnormal_frag:`#define NORMAL -uniform float opacity; -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); - #include - #include - #include - #include - gl_FragColor = vec4( normalize( normal ) * 0.5 + 0.5, diffuseColor.a ); - #ifdef OPAQUE - gl_FragColor.a = 1.0; - #endif -}`,meshphong_vert:`#define PHONG -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,meshphong_frag:`#define PHONG -uniform vec3 diffuse; -uniform vec3 emissive; -uniform vec3 specular; -uniform float shininess; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,meshphysical_vert:`#define STANDARD -varying vec3 vViewPosition; -#ifdef USE_TRANSMISSION - varying vec3 vWorldPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -#ifdef USE_TRANSMISSION - vWorldPosition = worldPosition.xyz; -#endif -}`,meshphysical_frag:`#define STANDARD -#ifdef PHYSICAL - #define IOR - #define USE_SPECULAR -#endif -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float roughness; -uniform float metalness; -uniform float opacity; -#ifdef IOR - uniform float ior; -#endif -#ifdef USE_SPECULAR - uniform float specularIntensity; - uniform vec3 specularColor; - #ifdef USE_SPECULAR_COLORMAP - uniform sampler2D specularColorMap; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - uniform sampler2D specularIntensityMap; - #endif -#endif -#ifdef USE_CLEARCOAT - uniform float clearcoat; - uniform float clearcoatRoughness; -#endif -#ifdef USE_DISPERSION - uniform float dispersion; -#endif -#ifdef USE_IRIDESCENCE - uniform float iridescence; - uniform float iridescenceIOR; - uniform float iridescenceThicknessMinimum; - uniform float iridescenceThicknessMaximum; -#endif -#ifdef USE_SHEEN - uniform vec3 sheenColor; - uniform float sheenRoughness; - #ifdef USE_SHEEN_COLORMAP - uniform sampler2D sheenColorMap; - #endif - #ifdef USE_SHEEN_ROUGHNESSMAP - uniform sampler2D sheenRoughnessMap; - #endif -#endif -#ifdef USE_ANISOTROPY - uniform vec2 anisotropyVector; - #ifdef USE_ANISOTROPYMAP - uniform sampler2D anisotropyMap; - #endif -#endif -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; - #include - vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; - #ifdef USE_SHEEN - - outgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect; - - #endif - #ifdef USE_CLEARCOAT - float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); - vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); - outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; - #endif - #include - #include - #include - #include - #include - #include -}`,meshtoon_vert:`#define TOON -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -}`,meshtoon_frag:`#define TOON -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include -}`,points_vert:`uniform float size; -uniform float scale; -#include -#include -#include -#include -#include -#include -#ifdef USE_POINTS_UV - varying vec2 vUv; - uniform mat3 uvTransform; -#endif -void main() { - #ifdef USE_POINTS_UV - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - #endif - #include - #include - #include - #include - #include - #include - gl_PointSize = size; - #ifdef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); - #endif - #include - #include - #include - #include -}`,points_frag:`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,shadow_vert:`#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,shadow_frag:`uniform vec3 color; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); - #include - #include - #include -}`,sprite_vert:`uniform float rotation; -uniform vec2 center; -#include -#include -#include -#include -#include -void main() { - #include - vec4 mvPosition = modelViewMatrix[ 3 ]; - vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); - #ifndef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) scale *= - mvPosition.z; - #endif - vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; - vec2 rotatedPosition; - rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; - rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; - mvPosition.xy += rotatedPosition; - gl_Position = projectionMatrix * mvPosition; - #include - #include - #include -}`,sprite_frag:`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include -}`},Js={common:{diffuse:{value:new Wr(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new pn},alphaMap:{value:null},alphaMapTransform:{value:new pn},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new pn}},envmap:{envMap:{value:null},envMapRotation:{value:new pn},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new pn}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new pn}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new pn},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new pn},normalScale:{value:new ce(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new pn},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new pn}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new pn}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new pn}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Wr(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Wr(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new pn},alphaTest:{value:0},uvTransform:{value:new pn}},sprite:{diffuse:{value:new Wr(16777215)},opacity:{value:1},center:{value:new ce(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new pn},alphaMap:{value:null},alphaMapTransform:{value:new pn},alphaTest:{value:0}}},Jp={basic:{uniforms:Jl([Js.common,Js.specularmap,Js.envmap,Js.aomap,Js.lightmap,Js.fog]),vertexShader:Vo.meshbasic_vert,fragmentShader:Vo.meshbasic_frag},lambert:{uniforms:Jl([Js.common,Js.specularmap,Js.envmap,Js.aomap,Js.lightmap,Js.emissivemap,Js.bumpmap,Js.normalmap,Js.displacementmap,Js.fog,Js.lights,{emissive:{value:new Wr(0)}}]),vertexShader:Vo.meshlambert_vert,fragmentShader:Vo.meshlambert_frag},phong:{uniforms:Jl([Js.common,Js.specularmap,Js.envmap,Js.aomap,Js.lightmap,Js.emissivemap,Js.bumpmap,Js.normalmap,Js.displacementmap,Js.fog,Js.lights,{emissive:{value:new Wr(0)},specular:{value:new Wr(1118481)},shininess:{value:30}}]),vertexShader:Vo.meshphong_vert,fragmentShader:Vo.meshphong_frag},standard:{uniforms:Jl([Js.common,Js.envmap,Js.aomap,Js.lightmap,Js.emissivemap,Js.bumpmap,Js.normalmap,Js.displacementmap,Js.roughnessmap,Js.metalnessmap,Js.fog,Js.lights,{emissive:{value:new Wr(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Vo.meshphysical_vert,fragmentShader:Vo.meshphysical_frag},toon:{uniforms:Jl([Js.common,Js.aomap,Js.lightmap,Js.emissivemap,Js.bumpmap,Js.normalmap,Js.displacementmap,Js.gradientmap,Js.fog,Js.lights,{emissive:{value:new Wr(0)}}]),vertexShader:Vo.meshtoon_vert,fragmentShader:Vo.meshtoon_frag},matcap:{uniforms:Jl([Js.common,Js.bumpmap,Js.normalmap,Js.displacementmap,Js.fog,{matcap:{value:null}}]),vertexShader:Vo.meshmatcap_vert,fragmentShader:Vo.meshmatcap_frag},points:{uniforms:Jl([Js.points,Js.fog]),vertexShader:Vo.points_vert,fragmentShader:Vo.points_frag},dashed:{uniforms:Jl([Js.common,Js.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Vo.linedashed_vert,fragmentShader:Vo.linedashed_frag},depth:{uniforms:Jl([Js.common,Js.displacementmap]),vertexShader:Vo.depth_vert,fragmentShader:Vo.depth_frag},normal:{uniforms:Jl([Js.common,Js.bumpmap,Js.normalmap,Js.displacementmap,{opacity:{value:1}}]),vertexShader:Vo.meshnormal_vert,fragmentShader:Vo.meshnormal_frag},sprite:{uniforms:Jl([Js.sprite,Js.fog]),vertexShader:Vo.sprite_vert,fragmentShader:Vo.sprite_frag},background:{uniforms:{uvTransform:{value:new pn},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Vo.background_vert,fragmentShader:Vo.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new pn}},vertexShader:Vo.backgroundCube_vert,fragmentShader:Vo.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Vo.cube_vert,fragmentShader:Vo.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Vo.equirect_vert,fragmentShader:Vo.equirect_frag},distance:{uniforms:Jl([Js.common,Js.displacementmap,{referencePosition:{value:new le},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Vo.distance_vert,fragmentShader:Vo.distance_frag},shadow:{uniforms:Jl([Js.lights,Js.fog,{color:{value:new Wr(0)},opacity:{value:1}}]),vertexShader:Vo.shadow_vert,fragmentShader:Vo.shadow_frag}};Jp.physical={uniforms:Jl([Jp.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new pn},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new pn},clearcoatNormalScale:{value:new ce(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new pn},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new pn},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new pn},sheen:{value:0},sheenColor:{value:new Wr(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new pn},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new pn},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new pn},transmissionSamplerSize:{value:new ce},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new pn},attenuationDistance:{value:0},attenuationColor:{value:new Wr(0)},specularColor:{value:new Wr(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new pn},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new pn},anisotropyVector:{value:new ce},anisotropyMap:{value:null},anisotropyMapTransform:{value:new pn}}]),vertexShader:Vo.meshphysical_vert,fragmentShader:Vo.meshphysical_frag};const ob={r:0,b:0,g:0},i0=new Ua,FO=new di;function PO(s,e,t,n,i,a,o){const u=new Wr(0);let c=a===!0?0:1,d,g,v=null,M=0,B=null;function I(Ce){let ke=Ce.isScene===!0?Ce.background:null;return ke&&ke.isTexture&&(ke=(Ce.backgroundBlurriness>0?t:e).get(ke)),ke}function ne(Ce){let ke=!1;const nt=I(Ce);nt===null?q(u,c):nt&&nt.isColor&&(q(nt,1),ke=!0);const Ye=s.xr.getEnvironmentBlendMode();Ye==="additive"?n.buffers.color.setClear(0,0,0,1,o):Ye==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,o),(s.autoClear||ke)&&(n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),s.clear(s.autoClearColor,s.autoClearDepth,s.autoClearStencil))}function ee(Ce,ke){const nt=I(ke);nt&&(nt.isCubeTexture||nt.mapping===_t)?(g===void 0&&(g=new Il(new bd(1,1,1),new nh({name:"BackgroundCubeMaterial",uniforms:jf(Jp.backgroundCube.uniforms),vertexShader:Jp.backgroundCube.vertexShader,fragmentShader:Jp.backgroundCube.fragmentShader,side:de,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),g.geometry.deleteAttribute("normal"),g.geometry.deleteAttribute("uv"),g.onBeforeRender=function(Ye,ht,Rt){this.matrixWorld.copyPosition(Rt.matrixWorld)},Object.defineProperty(g.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(g)),i0.copy(ke.backgroundRotation),i0.x*=-1,i0.y*=-1,i0.z*=-1,nt.isCubeTexture&&nt.isRenderTargetTexture===!1&&(i0.y*=-1,i0.z*=-1),g.material.uniforms.envMap.value=nt,g.material.uniforms.flipEnvMap.value=nt.isCubeTexture&&nt.isRenderTargetTexture===!1?-1:1,g.material.uniforms.backgroundBlurriness.value=ke.backgroundBlurriness,g.material.uniforms.backgroundIntensity.value=ke.backgroundIntensity,g.material.uniforms.backgroundRotation.value.setFromMatrix4(FO.makeRotationFromEuler(i0)),g.material.toneMapped=xr.getTransfer(nt.colorSpace)!==ws,(v!==nt||M!==nt.version||B!==s.toneMapping)&&(g.material.needsUpdate=!0,v=nt,M=nt.version,B=s.toneMapping),g.layers.enableAll(),Ce.unshift(g,g.geometry,g.material,0,0,null)):nt&&nt.isTexture&&(d===void 0&&(d=new Il(new Tc(2,2),new nh({name:"BackgroundMaterial",uniforms:jf(Jp.background.uniforms),vertexShader:Jp.background.vertexShader,fragmentShader:Jp.background.fragmentShader,side:j,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(d)),d.material.uniforms.t2D.value=nt,d.material.uniforms.backgroundIntensity.value=ke.backgroundIntensity,d.material.toneMapped=xr.getTransfer(nt.colorSpace)!==ws,nt.matrixAutoUpdate===!0&&nt.updateMatrix(),d.material.uniforms.uvTransform.value.copy(nt.matrix),(v!==nt||M!==nt.version||B!==s.toneMapping)&&(d.material.needsUpdate=!0,v=nt,M=nt.version,B=s.toneMapping),d.layers.enableAll(),Ce.unshift(d,d.geometry,d.material,0,0,null))}function q(Ce,ke){Ce.getRGB(ob,wg(s)),n.buffers.color.setClear(ob.r,ob.g,ob.b,ke,o)}function ye(){g!==void 0&&(g.geometry.dispose(),g.material.dispose(),g=void 0),d!==void 0&&(d.geometry.dispose(),d.material.dispose(),d=void 0)}return{getClearColor:function(){return u},setClearColor:function(Ce,ke=1){u.set(Ce),c=ke,q(u,c)},getClearAlpha:function(){return c},setClearAlpha:function(Ce){c=Ce,q(u,c)},render:ne,addToRenderList:ee,dispose:ye}}function LO(s,e){const t=s.getParameter(s.MAX_VERTEX_ATTRIBS),n={},i=M(null);let a=i,o=!1;function u(pt,xn,cr,pr,Br){let zr=!1;const Dr=v(pr,cr,xn);a!==Dr&&(a=Dr,d(a.object)),zr=B(pt,pr,cr,Br),zr&&I(pt,pr,cr,Br),Br!==null&&e.update(Br,s.ELEMENT_ARRAY_BUFFER),(zr||o)&&(o=!1,ke(pt,xn,cr,pr),Br!==null&&s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,e.get(Br).buffer))}function c(){return s.createVertexArray()}function d(pt){return s.bindVertexArray(pt)}function g(pt){return s.deleteVertexArray(pt)}function v(pt,xn,cr){const pr=cr.wireframe===!0;let Br=n[pt.id];Br===void 0&&(Br={},n[pt.id]=Br);let zr=Br[xn.id];zr===void 0&&(zr={},Br[xn.id]=zr);let Dr=zr[pr];return Dr===void 0&&(Dr=M(c()),zr[pr]=Dr),Dr}function M(pt){const xn=[],cr=[],pr=[];for(let Br=0;Br=0){const As=Br[Ti];let Xr=zr[Ti];if(Xr===void 0&&(Ti==="instanceMatrix"&&pt.instanceMatrix&&(Xr=pt.instanceMatrix),Ti==="instanceColor"&&pt.instanceColor&&(Xr=pt.instanceColor)),As===void 0||As.attribute!==Xr||Xr&&As.data!==Xr.data)return!0;Dr++}return a.attributesNum!==Dr||a.index!==pr}function I(pt,xn,cr,pr){const Br={},zr=xn.attributes;let Dr=0;const Zr=cr.getAttributes();for(const Ti in Zr)if(Zr[Ti].location>=0){let As=zr[Ti];As===void 0&&(Ti==="instanceMatrix"&&pt.instanceMatrix&&(As=pt.instanceMatrix),Ti==="instanceColor"&&pt.instanceColor&&(As=pt.instanceColor));const Xr={};Xr.attribute=As,As&&As.data&&(Xr.data=As.data),Br[Ti]=Xr,Dr++}a.attributes=Br,a.attributesNum=Dr,a.index=pr}function ne(){const pt=a.newAttributes;for(let xn=0,cr=pt.length;xn=0){let ds=Br[Zr];if(ds===void 0&&(Zr==="instanceMatrix"&&pt.instanceMatrix&&(ds=pt.instanceMatrix),Zr==="instanceColor"&&pt.instanceColor&&(ds=pt.instanceColor)),ds!==void 0){const As=ds.normalized,Xr=ds.itemSize,Yi=e.get(ds);if(Yi===void 0)continue;const ps=Yi.buffer,Xa=Yi.type,Pi=Yi.bytesPerElement,Nr=Xa===s.INT||Xa===s.UNSIGNED_INT||ds.gpuType===Xt;if(ds.isInterleavedBufferAttribute){const Yr=ds.data,cs=Yr.stride,oa=ds.offset;if(Yr.isInstancedInterleavedBuffer){for(let Ms=0;Ms0&&s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.HIGH_FLOAT).precision>0)return"highp";ht="mediump"}return ht==="mediump"&&s.getShaderPrecisionFormat(s.VERTEX_SHADER,s.MEDIUM_FLOAT).precision>0&&s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let d=t.precision!==void 0?t.precision:"highp";const g=c(d);g!==d&&(Lr("WebGLRenderer:",d,"not supported, using",g,"instead."),d=g);const v=t.logarithmicDepthBuffer===!0,M=t.reversedDepthBuffer===!0&&e.has("EXT_clip_control"),B=s.getParameter(s.MAX_TEXTURE_IMAGE_UNITS),I=s.getParameter(s.MAX_VERTEX_TEXTURE_IMAGE_UNITS),ne=s.getParameter(s.MAX_TEXTURE_SIZE),ee=s.getParameter(s.MAX_CUBE_MAP_TEXTURE_SIZE),q=s.getParameter(s.MAX_VERTEX_ATTRIBS),ye=s.getParameter(s.MAX_VERTEX_UNIFORM_VECTORS),Ce=s.getParameter(s.MAX_VARYING_VECTORS),ke=s.getParameter(s.MAX_FRAGMENT_UNIFORM_VECTORS),nt=s.getParameter(s.MAX_SAMPLES),Ye=s.getParameter(s.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:c,textureFormatReadable:o,textureTypeReadable:u,precision:d,logarithmicDepthBuffer:v,reversedDepthBuffer:M,maxTextures:B,maxVertexTextures:I,maxTextureSize:ne,maxCubemapSize:ee,maxAttributes:q,maxVertexUniforms:ye,maxVaryings:Ce,maxFragmentUniforms:ke,maxSamples:nt,samples:Ye}}function DO(s){const e=this;let t=null,n=0,i=!1,a=!1;const o=new Ec,u=new pn,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(v,M){const B=v.length!==0||M||n!==0||i;return i=M,n=v.length,B},this.beginShadows=function(){a=!0,g(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(v,M){t=g(v,M,0)},this.setState=function(v,M,B){const I=v.clippingPlanes,ne=v.clipIntersection,ee=v.clipShadows,q=s.get(v);if(!i||I===null||I.length===0||a&&!ee)a?g(null):d();else{const ye=a?0:n,Ce=ye*4;let ke=q.clippingState||null;c.value=ke,ke=g(I,M,Ce,B);for(let nt=0;nt!==Ce;++nt)ke[nt]=t[nt];q.clippingState=ke,this.numIntersection=ne?this.numPlanes:0,this.numPlanes+=ye}};function d(){c.value!==t&&(c.value=t,c.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function g(v,M,B,I){const ne=v!==null?v.length:0;let ee=null;if(ne!==0){if(ee=c.value,I!==!0||ee===null){const q=B+ne*4,ye=M.matrixWorldInverse;u.getNormalMatrix(ye),(ee===null||ee.length0){const d=new Mc(c.height);return d.fromEquirectangularTexture(s,o),e.set(o,d),o.addEventListener("dispose",i),t(d.texture,o.mapping)}else return null}}return o}function i(o){const u=o.target;u.removeEventListener("dispose",i);const c=e.get(u);c!==void 0&&(e.delete(u),c.dispose())}function a(){e=new WeakMap}return{get:n,dispose:a}}const Bm=4,_C=[.125,.215,.35,.446,.526,.582],s0=20,VO=256,wy=new Pg,wC=new Wr;let Yw=null,qw=0,Jw=0,e1=!1;const zO=new le;class SC{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(e,t=0,n=.1,i=100,a={}){const{size:o=256,position:u=zO}=a;Yw=this._renderer.getRenderTarget(),qw=this._renderer.getActiveCubeFace(),Jw=this._renderer.getActiveMipmapLevel(),e1=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(o);const c=this._allocateTargets();return c.depthBuffer=!0,this._sceneToCubeUV(e,n,i,c,u),t>0&&this._blur(c,0,0,t),this._applyPMREM(c),this._cleanup(c),c}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=CC(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=EC(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?nt:0,nt,nt),v.setRenderTarget(i),q&&v.render(ne,c),v.render(e,c)}v.toneMapping=B,v.autoClear=M,e.background=ye}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===it||e.mapping===wt;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=CC()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=EC());const a=i?this._cubemapMaterial:this._equirectMaterial,o=this._lodMeshes[0];o.material=a;const u=a.uniforms;u.envMap.value=e;const c=this._cubeSize;cv(t,0,0,3*c,2*c),n.setRenderTarget(t),n.render(o,wy)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const i=this._lodMeshes.length;for(let a=1;aI-Bm?n-I+Bm:0),q=4*(this._cubeSize-ne);c.envMap.value=e.texture,c.roughness.value=B,c.mipInt.value=I-t,cv(a,ee,q,3*ne,2*ne),i.setRenderTarget(a),i.render(u,wy),c.envMap.value=a.texture,c.roughness.value=0,c.mipInt.value=I-n,cv(e,ee,q,3*ne,2*ne),i.setRenderTarget(e),i.render(u,wy)}_blur(e,t,n,i,a){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,n,i,"latitudinal",a),this._halfBlur(o,e,n,n,i,"longitudinal",a)}_halfBlur(e,t,n,i,a,o,u){const c=this._renderer,d=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&Gr("blur direction must be either latitudinal or longitudinal!");const g=3,v=this._lodMeshes[i];v.material=d;const M=d.uniforms,B=this._sizeLods[n]-1,I=isFinite(a)?Math.PI/(2*B):2*Math.PI/(2*s0-1),ne=a/I,ee=isFinite(a)?1+Math.floor(g*ne):s0;ee>s0&&Lr(`sigmaRadians, ${a}, is too large and will clip, as it requested ${ee} samples when the maximum is set to ${s0}`);const q=[];let ye=0;for(let ht=0;htCe-Bm?i-Ce+Bm:0),Ye=4*(this._cubeSize-ke);cv(t,nt,Ye,3*ke,2*ke),c.setRenderTarget(t),c.render(v,wy)}}function GO(s){const e=[],t=[],n=[];let i=s;const a=s-Bm+1+_C.length;for(let o=0;os-Bm?c=_C[o-s+Bm-1]:o===0&&(c=0),t.push(c);const d=1/(u-2),g=-d,v=1+d,M=[g,g,v,g,v,v,g,g,v,v,g,v],B=6,I=6,ne=3,ee=2,q=1,ye=new Float32Array(ne*I*B),Ce=new Float32Array(ee*I*B),ke=new Float32Array(q*I*B);for(let Ye=0;Ye2?0:-1,qe=[ht,Rt,0,ht+2/3,Rt,0,ht+2/3,Rt+1,0,ht,Rt,0,ht+2/3,Rt+1,0,ht,Rt+1,0];ye.set(qe,ne*I*Ye),Ce.set(M,ee*I*Ye);const pt=[Ye,Ye,Ye,Ye,Ye,Ye];ke.set(pt,q*I*Ye)}const nt=new ka;nt.setAttribute("position",new wl(ye,ne)),nt.setAttribute("uv",new wl(Ce,ee)),nt.setAttribute("faceIndex",new wl(ke,q)),n.push(new Il(nt,null)),i>Bm&&i--}return{lodMeshes:n,sizeLods:e,sigmas:t}}function MC(s,e,t){const n=new Os(s,e,t);return n.texture.mapping=_t,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function cv(s,e,t,n,i){s.viewport.set(e,t,n,i),s.scissor.set(e,t,n,i)}function HO(s,e,t){return new nh({name:"PMREMGGXConvolution",defines:{GGX_SAMPLES:VO,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${s}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:lb(),fragmentShader:` - - precision highp float; - precision highp int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - uniform float roughness; - uniform float mipInt; - - #define ENVMAP_TYPE_CUBE_UV - #include - - #define PI 3.14159265359 - - // Van der Corput radical inverse - float radicalInverse_VdC(uint bits) { - bits = (bits << 16u) | (bits >> 16u); - bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); - bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); - bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); - bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); - return float(bits) * 2.3283064365386963e-10; // / 0x100000000 - } - - // Hammersley sequence - vec2 hammersley(uint i, uint N) { - return vec2(float(i) / float(N), radicalInverse_VdC(i)); - } - - // GGX VNDF importance sampling (Eric Heitz 2018) - // "Sampling the GGX Distribution of Visible Normals" - // https://jcgt.org/published/0007/04/01/ - vec3 importanceSampleGGX_VNDF(vec2 Xi, vec3 V, float roughness) { - float alpha = roughness * roughness; - - // Section 3.2: Transform view direction to hemisphere configuration - vec3 Vh = normalize(vec3(alpha * V.x, alpha * V.y, V.z)); - - // Section 4.1: Orthonormal basis - float lensq = Vh.x * Vh.x + Vh.y * Vh.y; - vec3 T1 = lensq > 0.0 ? vec3(-Vh.y, Vh.x, 0.0) / sqrt(lensq) : vec3(1.0, 0.0, 0.0); - vec3 T2 = cross(Vh, T1); - - // Section 4.2: Parameterization of projected area - float r = sqrt(Xi.x); - float phi = 2.0 * PI * Xi.y; - float t1 = r * cos(phi); - float t2 = r * sin(phi); - float s = 0.5 * (1.0 + Vh.z); - t2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2; - - // Section 4.3: Reprojection onto hemisphere - vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * Vh; - - // Section 3.4: Transform back to ellipsoid configuration - return normalize(vec3(alpha * Nh.x, alpha * Nh.y, max(0.0, Nh.z))); - } - - void main() { - vec3 N = normalize(vOutputDirection); - vec3 V = N; // Assume view direction equals normal for pre-filtering - - vec3 prefilteredColor = vec3(0.0); - float totalWeight = 0.0; - - // For very low roughness, just sample the environment directly - if (roughness < 0.001) { - gl_FragColor = vec4(bilinearCubeUV(envMap, N, mipInt), 1.0); - return; - } - - // Tangent space basis for VNDF sampling - vec3 up = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); - vec3 tangent = normalize(cross(up, N)); - vec3 bitangent = cross(N, tangent); - - for(uint i = 0u; i < uint(GGX_SAMPLES); i++) { - vec2 Xi = hammersley(i, uint(GGX_SAMPLES)); - - // For PMREM, V = N, so in tangent space V is always (0, 0, 1) - vec3 H_tangent = importanceSampleGGX_VNDF(Xi, vec3(0.0, 0.0, 1.0), roughness); - - // Transform H back to world space - vec3 H = normalize(tangent * H_tangent.x + bitangent * H_tangent.y + N * H_tangent.z); - vec3 L = normalize(2.0 * dot(V, H) * H - V); - - float NdotL = max(dot(N, L), 0.0); - - if(NdotL > 0.0) { - // Sample environment at fixed mip level - // VNDF importance sampling handles the distribution filtering - vec3 sampleColor = bilinearCubeUV(envMap, L, mipInt); - - // Weight by NdotL for the split-sum approximation - // VNDF PDF naturally accounts for the visible microfacet distribution - prefilteredColor += sampleColor * NdotL; - totalWeight += NdotL; - } - } - - if (totalWeight > 0.0) { - prefilteredColor = prefilteredColor / totalWeight; - } - - gl_FragColor = vec4(prefilteredColor, 1.0); - } - `,blending:we,depthTest:!1,depthWrite:!1})}function QO(s,e,t){const n=new Float32Array(s0),i=new le(0,1,0);return new nh({name:"SphericalGaussianBlur",defines:{n:s0,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${s}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:lb(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - uniform int samples; - uniform float weights[ n ]; - uniform bool latitudinal; - uniform float dTheta; - uniform float mipInt; - uniform vec3 poleAxis; - - #define ENVMAP_TYPE_CUBE_UV - #include - - vec3 getSample( float theta, vec3 axis ) { - - float cosTheta = cos( theta ); - // Rodrigues' axis-angle rotation - vec3 sampleDirection = vOutputDirection * cosTheta - + cross( axis, vOutputDirection ) * sin( theta ) - + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); - - return bilinearCubeUV( envMap, sampleDirection, mipInt ); - - } - - void main() { - - vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); - - if ( all( equal( axis, vec3( 0.0 ) ) ) ) { - - axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); - - } - - axis = normalize( axis ); - - gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); - - for ( int i = 1; i < n; i++ ) { - - if ( i >= samples ) { - - break; - - } - - float theta = dTheta * float( i ); - gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); - gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); - - } - - } - `,blending:we,depthTest:!1,depthWrite:!1})}function EC(){return new nh({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:lb(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - - #include - - void main() { - - vec3 outputDirection = normalize( vOutputDirection ); - vec2 uv = equirectUv( outputDirection ); - - gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); - - } - `,blending:we,depthTest:!1,depthWrite:!1})}function CC(){return new nh({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:lb(),fragmentShader:` - - precision mediump float; - precision mediump int; - - uniform float flipEnvMap; - - varying vec3 vOutputDirection; - - uniform samplerCube envMap; - - void main() { - - gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); - - } - `,blending:we,depthTest:!1,depthWrite:!1})}function lb(){return` - - precision mediump float; - precision mediump int; - - attribute float faceIndex; - - varying vec3 vOutputDirection; - - // RH coordinate system; PMREM face-indexing convention - vec3 getDirection( vec2 uv, float face ) { - - uv = 2.0 * uv - 1.0; - - vec3 direction = vec3( uv, 1.0 ); - - if ( face == 0.0 ) { - - direction = direction.zyx; // ( 1, v, u ) pos x - - } else if ( face == 1.0 ) { - - direction = direction.xzy; - direction.xz *= -1.0; // ( -u, 1, -v ) pos y - - } else if ( face == 2.0 ) { - - direction.x *= -1.0; // ( -u, v, 1 ) pos z - - } else if ( face == 3.0 ) { - - direction = direction.zyx; - direction.xz *= -1.0; // ( -1, v, -u ) neg x - - } else if ( face == 4.0 ) { - - direction = direction.xzy; - direction.xy *= -1.0; // ( -u, -1, v ) neg y - - } else if ( face == 5.0 ) { - - direction.z *= -1.0; // ( u, v, -1 ) neg z - - } - - return direction; - - } - - void main() { - - vOutputDirection = getDirection( uv, faceIndex ); - gl_Position = vec4( position, 1.0 ); - - } - `}function WO(s){let e=new WeakMap,t=null;function n(u){if(u&&u.isTexture){const c=u.mapping,d=c===ot||c===ut,g=c===it||c===wt;if(d||g){let v=e.get(u);const M=v!==void 0?v.texture.pmremVersion:0;if(u.isRenderTargetTexture&&u.pmremVersion!==M)return t===null&&(t=new SC(s)),v=d?t.fromEquirectangular(u,v):t.fromCubemap(u,v),v.texture.pmremVersion=u.pmremVersion,e.set(u,v),v.texture;if(v!==void 0)return v.texture;{const B=u.image;return d&&B&&B.height>0||g&&B&&i(B)?(t===null&&(t=new SC(s)),v=d?t.fromEquirectangular(u):t.fromCubemap(u),v.texture.pmremVersion=u.pmremVersion,e.set(u,v),u.addEventListener("dispose",a),v.texture):null}}}return u}function i(u){let c=0;const d=6;for(let g=0;ge.maxTextureSize&&(nt=Math.ceil(ke/e.maxTextureSize),ke=e.maxTextureSize);const Ye=new Float32Array(ke*nt*4*v),ht=new _a(Ye,ke,nt,v);ht.type=dt,ht.needsUpdate=!0;const Rt=Ce*4;for(let pt=0;pt - #include - - void main() { - gl_FragColor = texture2D( tDiffuse, vUv ); - - #ifdef LINEAR_TONE_MAPPING - gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb ); - #elif defined( REINHARD_TONE_MAPPING ) - gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb ); - #elif defined( CINEON_TONE_MAPPING ) - gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb ); - #elif defined( ACES_FILMIC_TONE_MAPPING ) - gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb ); - #elif defined( AGX_TONE_MAPPING ) - gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb ); - #elif defined( NEUTRAL_TONE_MAPPING ) - gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb ); - #elif defined( CUSTOM_TONE_MAPPING ) - gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb ); - #endif - - #ifdef SRGB_TRANSFER - gl_FragColor = sRGBTransferOETF( gl_FragColor ); - #endif - }`,depthTest:!1,depthWrite:!1}),d=new Il(u,c),g=new Pg(-1,1,1,-1,0,1);let v=null,M=null,B=!1,I,ne=null,ee=[],q=!1;this.setSize=function(ye,Ce){a.setSize(ye,Ce),o.setSize(ye,Ce);for(let ke=0;ke0&&ee[0].isRenderPass===!0;const Ce=a.width,ke=a.height;for(let nt=0;nt0)return s;const i=e*t;let a=NC[i];if(a===void 0&&(a=new Float32Array(i),NC[i]=a),e!==0){n.toArray(a,0);for(let o=1,u=0;o!==e;++o)u+=t,s[o].toArray(a,u)}return a}function Nh(s,e){if(s.length!==e.length)return!1;for(let t=0,n=s.length;t0&&(this.seq=i.concat(a))}setValue(e,t,n,i){const a=this.map[t];a!==void 0&&a.setValue(e,n,i)}setOptional(e,t,n){const i=t[n];i!==void 0&&this.setValue(e,n,i)}static upload(e,t,n,i){for(let a=0,o=t.length;a!==o;++a){const u=t[a],c=n[u.id];c.needsUpdate!==!1&&u.setValue(e,c.value,i)}}static seqWithValue(e,t){const n=[];for(let i=0,a=e.length;i!==a;++i){const o=e[i];o.id in t&&n.push(o)}return n}}function DC(s,e,t){const n=s.createShader(e);return s.shaderSource(n,t),s.compileShader(n),n}const QD=37297;let WD=0;function ZD(s,e){const t=s.split(` -`),n=[],i=Math.max(e-6,0),a=Math.min(e+6,t.length);for(let o=i;o":" "} ${u}: ${t[o]}`)}return n.join(` -`)}const kC=new pn;function KD(s){xr._getMatrix(kC,xr.workingColorSpace,s);const e=`mat3( ${kC.elements.map(t=>t.toFixed(4))} )`;switch(xr.getTransfer(s)){case Uu:return[e,"LinearTransferOETF"];case ws:return[e,"sRGBTransferOETF"];default:return Lr("WebGLProgram: Unsupported color space: ",s),[e,"LinearTransferOETF"]}}function VC(s,e,t){const n=s.getShaderParameter(e,s.COMPILE_STATUS),a=(s.getShaderInfoLog(e)||"").trim();if(n&&a==="")return"";const o=/ERROR: 0:(\d+)/.exec(a);if(o){const u=parseInt(o[1]);return t.toUpperCase()+` - -`+a+` - -`+ZD(s.getShaderSource(e),u)}else return a}function $D(s,e){const t=KD(e);return[`vec4 ${s}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` -`)}const XD={[sn]:"Linear",[W]:"Reinhard",[Se]:"Cineon",[Ht]:"ACESFilmic",[Fn]:"AgX",[Tn]:"Neutral",[zt]:"Custom"};function jD(s,e){const t=XD[e];return t===void 0?(Lr("WebGLProgram: Unsupported toneMapping:",e),"vec3 "+s+"( vec3 color ) { return LinearToneMapping( color ); }"):"vec3 "+s+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const hb=new le;function YD(){xr.getLuminanceCoefficients(hb);const s=hb.x.toFixed(4),e=hb.y.toFixed(4),t=hb.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${s}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` -`)}function qD(s){return[s.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",s.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Sy).join(` -`)}function JD(s){const e=[];for(const t in s){const n=s[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` -`)}function e3(s,e){const t={},n=s.getProgramParameter(e,s.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function r1(s){return s.replace(t3,r3)}const n3=new Map;function r3(s,e){let t=Vo[e];if(t===void 0){const n=n3.get(e);if(n!==void 0)t=Vo[n],Lr('WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return r1(t)}const i3=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function HC(s){return s.replace(i3,s3)}function s3(s,e,t,n){let i="";for(let a=parseInt(e);a0&&(ee+=` -`),q=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I].filter(Sy).join(` -`),q.length>0&&(q+=` -`)):(ee=[QC(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+g:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",t.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` -`].filter(Sy).join(` -`),q=[QC(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,I,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.envMap?"#define "+g:"",t.envMap?"#define "+v:"",M?"#define CUBEUV_TEXEL_WIDTH "+M.texelWidth:"",M?"#define CUBEUV_TEXEL_HEIGHT "+M.texelHeight:"",M?"#define CUBEUV_MAX_MIP "+M.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+c:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",t.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ct?"#define TONE_MAPPING":"",t.toneMapping!==Ct?Vo.tonemapping_pars_fragment:"",t.toneMapping!==Ct?jD("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Vo.colorspace_pars_fragment,$D("linearToOutputTexel",t.outputColorSpace),YD(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` -`].filter(Sy).join(` -`)),o=r1(o),o=zC(o,t),o=GC(o,t),u=r1(u),u=zC(u,t),u=GC(u,t),o=HC(o),u=HC(u),t.isRawShaderMaterial!==!0&&(ye=`#version 300 es -`,ee=[B,"#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+ee,q=["#define varying in",t.glslVersion===Yc?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Yc?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` -`)+` -`+q);const Ce=ye+ee+o,ke=ye+q+u,nt=DC(i,i.VERTEX_SHADER,Ce),Ye=DC(i,i.FRAGMENT_SHADER,ke);i.attachShader(ne,nt),i.attachShader(ne,Ye),t.index0AttributeName!==void 0?i.bindAttribLocation(ne,0,t.index0AttributeName):t.morphTargets===!0&&i.bindAttribLocation(ne,0,"position"),i.linkProgram(ne);function ht(xn){if(s.debug.checkShaderErrors){const cr=i.getProgramInfoLog(ne)||"",pr=i.getShaderInfoLog(nt)||"",Br=i.getShaderInfoLog(Ye)||"",zr=cr.trim(),Dr=pr.trim(),Zr=Br.trim();let Ti=!0,ds=!0;if(i.getProgramParameter(ne,i.LINK_STATUS)===!1)if(Ti=!1,typeof s.debug.onShaderError=="function")s.debug.onShaderError(i,ne,nt,Ye);else{const As=VC(i,nt,"vertex"),Xr=VC(i,Ye,"fragment");Gr("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(ne,i.VALIDATE_STATUS)+` - -Material Name: `+xn.name+` -Material Type: `+xn.type+` - -Program Info Log: `+zr+` -`+As+` -`+Xr)}else zr!==""?Lr("WebGLProgram: Program Info Log:",zr):(Dr===""||Zr==="")&&(ds=!1);ds&&(xn.diagnostics={runnable:Ti,programLog:zr,vertexShader:{log:Dr,prefix:ee},fragmentShader:{log:Zr,prefix:q}})}i.deleteShader(nt),i.deleteShader(Ye),Rt=new cb(i,ne),qe=e3(i,ne)}let Rt;this.getUniforms=function(){return Rt===void 0&&ht(this),Rt};let qe;this.getAttributes=function(){return qe===void 0&&ht(this),qe};let pt=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return pt===!1&&(pt=i.getProgramParameter(ne,QD)),pt},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(ne),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=WD++,this.cacheKey=e,this.usedTimes=1,this.program=ne,this.vertexShader=nt,this.fragmentShader=Ye,this}let g3=0;class m3{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,i=this._getShaderStage(t),a=this._getShaderStage(n),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(a)===!1&&(o.add(a),a.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new v3(e),t.set(e,n)),n}}class v3{constructor(e){this.id=g3++,this.code=e,this.usedTimes=0}}function y3(s,e,t,n,i,a,o){const u=new dl,c=new m3,d=new Set,g=[],v=new Map,M=i.logarithmicDepthBuffer;let B=i.precision;const I={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distance",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function ne(qe){return d.add(qe),qe===0?"uv":`uv${qe}`}function ee(qe,pt,xn,cr,pr){const Br=cr.fog,zr=pr.geometry,Dr=qe.isMeshStandardMaterial?cr.environment:null,Zr=(qe.isMeshStandardMaterial?t:e).get(qe.envMap||Dr),Ti=Zr&&Zr.mapping===_t?Zr.image.height:null,ds=I[qe.type];qe.precision!==null&&(B=i.getMaxPrecision(qe.precision),B!==qe.precision&&Lr("WebGLProgram.getParameters:",qe.precision,"not supported, using",B,"instead."));const As=zr.morphAttributes.position||zr.morphAttributes.normal||zr.morphAttributes.color,Xr=As!==void 0?As.length:0;let Yi=0;zr.morphAttributes.position!==void 0&&(Yi=1),zr.morphAttributes.normal!==void 0&&(Yi=2),zr.morphAttributes.color!==void 0&&(Yi=3);let ps,Xa,Pi,Nr;if(ds){const fu=Jp[ds];ps=fu.vertexShader,Xa=fu.fragmentShader}else ps=qe.vertexShader,Xa=qe.fragmentShader,c.update(qe),Pi=c.getVertexShaderID(qe),Nr=c.getFragmentShaderID(qe);const Yr=s.getRenderTarget(),cs=s.state.buffers.depth.getReversed(),oa=pr.isInstancedMesh===!0,Ms=pr.isBatchedMesh===!0,Ha=!!qe.map,Qo=!!qe.matcap,co=!!Zr,Li=!!qe.aoMap,os=!!qe.lightMap,Hi=!!qe.bumpMap,Fs=!!qe.normalMap,Pn=!!qe.displacementMap,ja=!!qe.emissiveMap,da=!!qe.metalnessMap,ho=!!qe.roughnessMap,Ps=qe.anisotropy>0,Mn=qe.clearcoat>0,St=qe.dispersion>0,Cr=qe.iridescence>0,xi=qe.sheen>0,Qi=qe.transmission>0,Si=Ps&&!!qe.anisotropyMap,La=Mn&&!!qe.clearcoatMap,Vs=Mn&&!!qe.clearcoatNormalMap,Na=Mn&&!!qe.clearcoatRoughnessMap,po=Cr&&!!qe.iridescenceMap,hs=Cr&&!!qe.iridescenceThicknessMap,js=xi&&!!qe.sheenColorMap,Fa=xi&&!!qe.sheenRoughnessMap,Va=!!qe.specularMap,$s=!!qe.specularColorMap,Wo=!!qe.specularIntensityMap,Mr=Qi&&!!qe.transmissionMap,la=Qi&&!!qe.thicknessMap,Ts=!!qe.gradientMap,ga=!!qe.alphaMap,gs=qe.alphaTest>0,Wi=!!qe.alphaHash,Ws=!!qe.extensions;let Eo=Ct;qe.toneMapped&&(Yr===null||Yr.isXRRenderTarget===!0)&&(Eo=s.toneMapping);const Wu={shaderID:ds,shaderType:qe.type,shaderName:qe.name,vertexShader:ps,fragmentShader:Xa,defines:qe.defines,customVertexShaderID:Pi,customFragmentShaderID:Nr,isRawShaderMaterial:qe.isRawShaderMaterial===!0,glslVersion:qe.glslVersion,precision:B,batching:Ms,batchingColor:Ms&&pr._colorsTexture!==null,instancing:oa,instancingColor:oa&&pr.instanceColor!==null,instancingMorph:oa&&pr.morphTexture!==null,outputColorSpace:Yr===null?s.outputColorSpace:Yr.isXRRenderTarget===!0?Yr.texture.colorSpace:No,alphaToCoverage:!!qe.alphaToCoverage,map:Ha,matcap:Qo,envMap:co,envMapMode:co&&Zr.mapping,envMapCubeUVHeight:Ti,aoMap:Li,lightMap:os,bumpMap:Hi,normalMap:Fs,displacementMap:Pn,emissiveMap:ja,normalMapObjectSpace:Fs&&qe.normalMapType===Lu,normalMapTangentSpace:Fs&&qe.normalMapType===Ll,metalnessMap:da,roughnessMap:ho,anisotropy:Ps,anisotropyMap:Si,clearcoat:Mn,clearcoatMap:La,clearcoatNormalMap:Vs,clearcoatRoughnessMap:Na,dispersion:St,iridescence:Cr,iridescenceMap:po,iridescenceThicknessMap:hs,sheen:xi,sheenColorMap:js,sheenRoughnessMap:Fa,specularMap:Va,specularColorMap:$s,specularIntensityMap:Wo,transmission:Qi,transmissionMap:Mr,thicknessMap:la,gradientMap:Ts,opaque:qe.transparent===!1&&qe.blending===ve&&qe.alphaToCoverage===!1,alphaMap:ga,alphaTest:gs,alphaHash:Wi,combine:qe.combine,mapUv:Ha&&ne(qe.map.channel),aoMapUv:Li&&ne(qe.aoMap.channel),lightMapUv:os&&ne(qe.lightMap.channel),bumpMapUv:Hi&&ne(qe.bumpMap.channel),normalMapUv:Fs&&ne(qe.normalMap.channel),displacementMapUv:Pn&&ne(qe.displacementMap.channel),emissiveMapUv:ja&&ne(qe.emissiveMap.channel),metalnessMapUv:da&&ne(qe.metalnessMap.channel),roughnessMapUv:ho&&ne(qe.roughnessMap.channel),anisotropyMapUv:Si&&ne(qe.anisotropyMap.channel),clearcoatMapUv:La&&ne(qe.clearcoatMap.channel),clearcoatNormalMapUv:Vs&&ne(qe.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Na&&ne(qe.clearcoatRoughnessMap.channel),iridescenceMapUv:po&&ne(qe.iridescenceMap.channel),iridescenceThicknessMapUv:hs&&ne(qe.iridescenceThicknessMap.channel),sheenColorMapUv:js&&ne(qe.sheenColorMap.channel),sheenRoughnessMapUv:Fa&&ne(qe.sheenRoughnessMap.channel),specularMapUv:Va&&ne(qe.specularMap.channel),specularColorMapUv:$s&&ne(qe.specularColorMap.channel),specularIntensityMapUv:Wo&&ne(qe.specularIntensityMap.channel),transmissionMapUv:Mr&&ne(qe.transmissionMap.channel),thicknessMapUv:la&&ne(qe.thicknessMap.channel),alphaMapUv:ga&&ne(qe.alphaMap.channel),vertexTangents:!!zr.attributes.tangent&&(Fs||Ps),vertexColors:qe.vertexColors,vertexAlphas:qe.vertexColors===!0&&!!zr.attributes.color&&zr.attributes.color.itemSize===4,pointsUvs:pr.isPoints===!0&&!!zr.attributes.uv&&(Ha||ga),fog:!!Br,useFog:qe.fog===!0,fogExp2:!!Br&&Br.isFogExp2,flatShading:qe.flatShading===!0&&qe.wireframe===!1,sizeAttenuation:qe.sizeAttenuation===!0,logarithmicDepthBuffer:M,reversedDepthBuffer:cs,skinning:pr.isSkinnedMesh===!0,morphTargets:zr.morphAttributes.position!==void 0,morphNormals:zr.morphAttributes.normal!==void 0,morphColors:zr.morphAttributes.color!==void 0,morphTargetsCount:Xr,morphTextureStride:Yi,numDirLights:pt.directional.length,numPointLights:pt.point.length,numSpotLights:pt.spot.length,numSpotLightMaps:pt.spotLightMap.length,numRectAreaLights:pt.rectArea.length,numHemiLights:pt.hemi.length,numDirLightShadows:pt.directionalShadowMap.length,numPointLightShadows:pt.pointShadowMap.length,numSpotLightShadows:pt.spotShadowMap.length,numSpotLightShadowsWithMaps:pt.numSpotLightShadowsWithMaps,numLightProbes:pt.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:qe.dithering,shadowMapEnabled:s.shadowMap.enabled&&xn.length>0,shadowMapType:s.shadowMap.type,toneMapping:Eo,decodeVideoTexture:Ha&&qe.map.isVideoTexture===!0&&xr.getTransfer(qe.map.colorSpace)===ws,decodeVideoTextureEmissive:ja&&qe.emissiveMap.isVideoTexture===!0&&xr.getTransfer(qe.emissiveMap.colorSpace)===ws,premultipliedAlpha:qe.premultipliedAlpha,doubleSided:qe.side===he,flipSided:qe.side===de,useDepthPacking:qe.depthPacking>=0,depthPacking:qe.depthPacking||0,index0AttributeName:qe.index0AttributeName,extensionClipCullDistance:Ws&&qe.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(Ws&&qe.extensions.multiDraw===!0||Ms)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:qe.customProgramCacheKey()};return Wu.vertexUv1s=d.has(1),Wu.vertexUv2s=d.has(2),Wu.vertexUv3s=d.has(3),d.clear(),Wu}function q(qe){const pt=[];if(qe.shaderID?pt.push(qe.shaderID):(pt.push(qe.customVertexShaderID),pt.push(qe.customFragmentShaderID)),qe.defines!==void 0)for(const xn in qe.defines)pt.push(xn),pt.push(qe.defines[xn]);return qe.isRawShaderMaterial===!1&&(ye(pt,qe),Ce(pt,qe),pt.push(s.outputColorSpace)),pt.push(qe.customProgramCacheKey),pt.join()}function ye(qe,pt){qe.push(pt.precision),qe.push(pt.outputColorSpace),qe.push(pt.envMapMode),qe.push(pt.envMapCubeUVHeight),qe.push(pt.mapUv),qe.push(pt.alphaMapUv),qe.push(pt.lightMapUv),qe.push(pt.aoMapUv),qe.push(pt.bumpMapUv),qe.push(pt.normalMapUv),qe.push(pt.displacementMapUv),qe.push(pt.emissiveMapUv),qe.push(pt.metalnessMapUv),qe.push(pt.roughnessMapUv),qe.push(pt.anisotropyMapUv),qe.push(pt.clearcoatMapUv),qe.push(pt.clearcoatNormalMapUv),qe.push(pt.clearcoatRoughnessMapUv),qe.push(pt.iridescenceMapUv),qe.push(pt.iridescenceThicknessMapUv),qe.push(pt.sheenColorMapUv),qe.push(pt.sheenRoughnessMapUv),qe.push(pt.specularMapUv),qe.push(pt.specularColorMapUv),qe.push(pt.specularIntensityMapUv),qe.push(pt.transmissionMapUv),qe.push(pt.thicknessMapUv),qe.push(pt.combine),qe.push(pt.fogExp2),qe.push(pt.sizeAttenuation),qe.push(pt.morphTargetsCount),qe.push(pt.morphAttributeCount),qe.push(pt.numDirLights),qe.push(pt.numPointLights),qe.push(pt.numSpotLights),qe.push(pt.numSpotLightMaps),qe.push(pt.numHemiLights),qe.push(pt.numRectAreaLights),qe.push(pt.numDirLightShadows),qe.push(pt.numPointLightShadows),qe.push(pt.numSpotLightShadows),qe.push(pt.numSpotLightShadowsWithMaps),qe.push(pt.numLightProbes),qe.push(pt.shadowMapType),qe.push(pt.toneMapping),qe.push(pt.numClippingPlanes),qe.push(pt.numClipIntersection),qe.push(pt.depthPacking)}function Ce(qe,pt){u.disableAll(),pt.instancing&&u.enable(0),pt.instancingColor&&u.enable(1),pt.instancingMorph&&u.enable(2),pt.matcap&&u.enable(3),pt.envMap&&u.enable(4),pt.normalMapObjectSpace&&u.enable(5),pt.normalMapTangentSpace&&u.enable(6),pt.clearcoat&&u.enable(7),pt.iridescence&&u.enable(8),pt.alphaTest&&u.enable(9),pt.vertexColors&&u.enable(10),pt.vertexAlphas&&u.enable(11),pt.vertexUv1s&&u.enable(12),pt.vertexUv2s&&u.enable(13),pt.vertexUv3s&&u.enable(14),pt.vertexTangents&&u.enable(15),pt.anisotropy&&u.enable(16),pt.alphaHash&&u.enable(17),pt.batching&&u.enable(18),pt.dispersion&&u.enable(19),pt.batchingColor&&u.enable(20),pt.gradientMap&&u.enable(21),qe.push(u.mask),u.disableAll(),pt.fog&&u.enable(0),pt.useFog&&u.enable(1),pt.flatShading&&u.enable(2),pt.logarithmicDepthBuffer&&u.enable(3),pt.reversedDepthBuffer&&u.enable(4),pt.skinning&&u.enable(5),pt.morphTargets&&u.enable(6),pt.morphNormals&&u.enable(7),pt.morphColors&&u.enable(8),pt.premultipliedAlpha&&u.enable(9),pt.shadowMapEnabled&&u.enable(10),pt.doubleSided&&u.enable(11),pt.flipSided&&u.enable(12),pt.useDepthPacking&&u.enable(13),pt.dithering&&u.enable(14),pt.transmission&&u.enable(15),pt.sheen&&u.enable(16),pt.opaque&&u.enable(17),pt.pointsUvs&&u.enable(18),pt.decodeVideoTexture&&u.enable(19),pt.decodeVideoTextureEmissive&&u.enable(20),pt.alphaToCoverage&&u.enable(21),qe.push(u.mask)}function ke(qe){const pt=I[qe.type];let xn;if(pt){const cr=Jp[pt];xn=Vh.clone(cr.uniforms)}else xn=qe.uniforms;return xn}function nt(qe,pt){let xn=v.get(pt);return xn!==void 0?++xn.usedTimes:(xn=new p3(s,pt,qe,a),g.push(xn),v.set(pt,xn)),xn}function Ye(qe){if(--qe.usedTimes===0){const pt=g.indexOf(qe);g[pt]=g[g.length-1],g.pop(),v.delete(qe.cacheKey),qe.destroy()}}function ht(qe){c.remove(qe)}function Rt(){c.dispose()}return{getParameters:ee,getProgramCacheKey:q,getUniforms:ke,acquireProgram:nt,releaseProgram:Ye,releaseShaderCache:ht,programs:g,dispose:Rt}}function x3(){let s=new WeakMap;function e(o){return s.has(o)}function t(o){let u=s.get(o);return u===void 0&&(u={},s.set(o,u)),u}function n(o){s.delete(o)}function i(o,u,c){s.get(o)[u]=c}function a(){s=new WeakMap}return{has:e,get:t,remove:n,update:i,dispose:a}}function b3(s,e){return s.groupOrder!==e.groupOrder?s.groupOrder-e.groupOrder:s.renderOrder!==e.renderOrder?s.renderOrder-e.renderOrder:s.material.id!==e.material.id?s.material.id-e.material.id:s.z!==e.z?s.z-e.z:s.id-e.id}function WC(s,e){return s.groupOrder!==e.groupOrder?s.groupOrder-e.groupOrder:s.renderOrder!==e.renderOrder?s.renderOrder-e.renderOrder:s.z!==e.z?e.z-s.z:s.id-e.id}function ZC(){const s=[];let e=0;const t=[],n=[],i=[];function a(){e=0,t.length=0,n.length=0,i.length=0}function o(v,M,B,I,ne,ee){let q=s[e];return q===void 0?(q={id:v.id,object:v,geometry:M,material:B,groupOrder:I,renderOrder:v.renderOrder,z:ne,group:ee},s[e]=q):(q.id=v.id,q.object=v,q.geometry=M,q.material=B,q.groupOrder=I,q.renderOrder=v.renderOrder,q.z=ne,q.group=ee),e++,q}function u(v,M,B,I,ne,ee){const q=o(v,M,B,I,ne,ee);B.transmission>0?n.push(q):B.transparent===!0?i.push(q):t.push(q)}function c(v,M,B,I,ne,ee){const q=o(v,M,B,I,ne,ee);B.transmission>0?n.unshift(q):B.transparent===!0?i.unshift(q):t.unshift(q)}function d(v,M){t.length>1&&t.sort(v||b3),n.length>1&&n.sort(M||WC),i.length>1&&i.sort(M||WC)}function g(){for(let v=e,M=s.length;v=a.length?(o=new ZC,a.push(o)):o=a[i],o}function t(){s=new WeakMap}return{get:e,dispose:t}}function w3(){const s={};return{get:function(e){if(s[e.id]!==void 0)return s[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new le,color:new Wr};break;case"SpotLight":t={position:new le,direction:new le,color:new Wr,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new le,color:new Wr,distance:0,decay:0};break;case"HemisphereLight":t={direction:new le,skyColor:new Wr,groundColor:new Wr};break;case"RectAreaLight":t={color:new Wr,position:new le,halfWidth:new le,halfHeight:new le};break}return s[e.id]=t,t}}}function S3(){const s={};return{get:function(e){if(s[e.id]!==void 0)return s[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ce,shadowCameraNear:1,shadowCameraFar:1e3};break}return s[e.id]=t,t}}}let M3=0;function E3(s,e){return(e.castShadow?2:0)-(s.castShadow?2:0)+(e.map?1:0)-(s.map?1:0)}function C3(s){const e=new w3,t=S3(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)n.probe.push(new le);const i=new le,a=new di,o=new di;function u(d){let g=0,v=0,M=0;for(let qe=0;qe<9;qe++)n.probe[qe].set(0,0,0);let B=0,I=0,ne=0,ee=0,q=0,ye=0,Ce=0,ke=0,nt=0,Ye=0,ht=0;d.sort(E3);for(let qe=0,pt=d.length;qe0&&(s.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Js.LTC_FLOAT_1,n.rectAreaLTC2=Js.LTC_FLOAT_2):(n.rectAreaLTC1=Js.LTC_HALF_1,n.rectAreaLTC2=Js.LTC_HALF_2)),n.ambient[0]=g,n.ambient[1]=v,n.ambient[2]=M;const Rt=n.hash;(Rt.directionalLength!==B||Rt.pointLength!==I||Rt.spotLength!==ne||Rt.rectAreaLength!==ee||Rt.hemiLength!==q||Rt.numDirectionalShadows!==ye||Rt.numPointShadows!==Ce||Rt.numSpotShadows!==ke||Rt.numSpotMaps!==nt||Rt.numLightProbes!==ht)&&(n.directional.length=B,n.spot.length=ne,n.rectArea.length=ee,n.point.length=I,n.hemi.length=q,n.directionalShadow.length=ye,n.directionalShadowMap.length=ye,n.pointShadow.length=Ce,n.pointShadowMap.length=Ce,n.spotShadow.length=ke,n.spotShadowMap.length=ke,n.directionalShadowMatrix.length=ye,n.pointShadowMatrix.length=Ce,n.spotLightMatrix.length=ke+nt-Ye,n.spotLightMap.length=nt,n.numSpotLightShadowsWithMaps=Ye,n.numLightProbes=ht,Rt.directionalLength=B,Rt.pointLength=I,Rt.spotLength=ne,Rt.rectAreaLength=ee,Rt.hemiLength=q,Rt.numDirectionalShadows=ye,Rt.numPointShadows=Ce,Rt.numSpotShadows=ke,Rt.numSpotMaps=nt,Rt.numLightProbes=ht,n.version=M3++)}function c(d,g){let v=0,M=0,B=0,I=0,ne=0;const ee=g.matrixWorldInverse;for(let q=0,ye=d.length;q=o.length?(u=new KC(s),o.push(u)):u=o[a],u}function n(){e=new WeakMap}return{get:t,dispose:n}}const B3=`void main() { - gl_Position = vec4( position, 1.0 ); -}`,R3=`uniform sampler2D shadow_pass; -uniform vec2 resolution; -uniform float radius; -void main() { - const float samples = float( VSM_SAMPLES ); - float mean = 0.0; - float squared_mean = 0.0; - float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); - float uvStart = samples <= 1.0 ? 0.0 : - 1.0; - for ( float i = 0.0; i < samples; i ++ ) { - float uvOffset = uvStart + i * uvStride; - #ifdef HORIZONTAL_PASS - vec2 distribution = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ).rg; - mean += distribution.x; - squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; - #else - float depth = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ).r; - mean += depth; - squared_mean += depth * depth; - #endif - } - mean = mean / samples; - squared_mean = squared_mean / samples; - float std_dev = sqrt( max( 0.0, squared_mean - mean * mean ) ); - gl_FragColor = vec4( mean, std_dev, 0.0, 1.0 ); -}`,I3=[new le(1,0,0),new le(-1,0,0),new le(0,1,0),new le(0,-1,0),new le(0,0,1),new le(0,0,-1)],N3=[new le(0,-1,0),new le(0,-1,0),new le(0,0,1),new le(0,0,-1),new le(0,-1,0),new le(0,-1,0)],$C=new di,My=new le,i1=new le;function F3(s,e,t){let n=new qu;const i=new ce,a=new ce,o=new Ni,u=new Bx,c=new Rx,d={},g=t.maxTextureSize,v={[j]:de,[de]:j,[he]:he},M=new nh({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ce},radius:{value:4}},vertexShader:B3,fragmentShader:R3}),B=M.clone();B.defines.HORIZONTAL_PASS=1;const I=new ka;I.setAttribute("position",new wl(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const ne=new Il(I,M),ee=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=H;let q=this.type;this.render=function(Ye,ht,Rt){if(ee.enabled===!1||ee.autoUpdate===!1&&ee.needsUpdate===!1||Ye.length===0)return;Ye.type===D&&(Lr("WebGLShadowMap: PCFSoftShadowMap has been deprecated. Using PCFShadowMap instead."),Ye.type=H);const qe=s.getRenderTarget(),pt=s.getActiveCubeFace(),xn=s.getActiveMipmapLevel(),cr=s.state;cr.setBlending(we),cr.buffers.depth.getReversed()===!0?cr.buffers.color.setClear(0,0,0,0):cr.buffers.color.setClear(1,1,1,1),cr.buffers.depth.setTest(!0),cr.setScissorTest(!1);const pr=q!==this.type;pr&&ht.traverse(function(Br){Br.material&&(Array.isArray(Br.material)?Br.material.forEach(zr=>zr.needsUpdate=!0):Br.material.needsUpdate=!0)});for(let Br=0,zr=Ye.length;Brg||i.y>g)&&(i.x>g&&(a.x=Math.floor(g/Ti.x),i.x=a.x*Ti.x,Zr.mapSize.x=a.x),i.y>g&&(a.y=Math.floor(g/Ti.y),i.y=a.y*Ti.y,Zr.mapSize.y=a.y)),Zr.map===null||pr===!0){if(Zr.map!==null&&(Zr.map.depthTexture!==null&&(Zr.map.depthTexture.dispose(),Zr.map.depthTexture=null),Zr.map.dispose()),this.type===X){if(Dr.isPointLight){Lr("WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.");continue}Zr.map=new Os(i.x,i.y,{format:ze,type:Wt,minFilter:vr,magFilter:vr,generateMipmaps:!1}),Zr.map.texture.name=Dr.name+".shadowMap",Zr.map.depthTexture=new Al(i.x,i.y,dt),Zr.map.depthTexture.name=Dr.name+".shadowMapDepth",Zr.map.depthTexture.format=Q,Zr.map.depthTexture.compareFunction=null,Zr.map.depthTexture.minFilter=cn,Zr.map.depthTexture.magFilter=cn}else{Dr.isPointLight?(Zr.map=new Mc(i.x),Zr.map.depthTexture=new sA(i.x,st)):(Zr.map=new Os(i.x,i.y),Zr.map.depthTexture=new Al(i.x,i.y,st)),Zr.map.depthTexture.name=Dr.name+".shadowMap",Zr.map.depthTexture.format=Q;const As=s.state.buffers.depth.getReversed();this.type===H?(Zr.map.depthTexture.compareFunction=As?Ji:jc,Zr.map.depthTexture.minFilter=vr,Zr.map.depthTexture.magFilter=vr):(Zr.map.depthTexture.compareFunction=null,Zr.map.depthTexture.minFilter=cn,Zr.map.depthTexture.magFilter=cn)}Zr.camera.updateProjectionMatrix()}const ds=Zr.map.isWebGLCubeRenderTarget?6:1;for(let As=0;As0||ht.map&&ht.alphaTest>0||ht.alphaToCoverage===!0){const cr=pt.uuid,pr=ht.uuid;let Br=d[cr];Br===void 0&&(Br={},d[cr]=Br);let zr=Br[pr];zr===void 0&&(zr=pt.clone(),Br[pr]=zr,ht.addEventListener("dispose",nt)),pt=zr}if(pt.visible=ht.visible,pt.wireframe=ht.wireframe,qe===X?pt.side=ht.shadowSide!==null?ht.shadowSide:ht.side:pt.side=ht.shadowSide!==null?ht.shadowSide:v[ht.side],pt.alphaMap=ht.alphaMap,pt.alphaTest=ht.alphaToCoverage===!0?.5:ht.alphaTest,pt.map=ht.map,pt.clipShadows=ht.clipShadows,pt.clippingPlanes=ht.clippingPlanes,pt.clipIntersection=ht.clipIntersection,pt.displacementMap=ht.displacementMap,pt.displacementScale=ht.displacementScale,pt.displacementBias=ht.displacementBias,pt.wireframeLinewidth=ht.wireframeLinewidth,pt.linewidth=ht.linewidth,Rt.isPointLight===!0&&pt.isMeshDistanceMaterial===!0){const cr=s.properties.get(pt);cr.light=Rt}return pt}function ke(Ye,ht,Rt,qe,pt){if(Ye.visible===!1)return;if(Ye.layers.test(ht.layers)&&(Ye.isMesh||Ye.isLine||Ye.isPoints)&&(Ye.castShadow||Ye.receiveShadow&&pt===X)&&(!Ye.frustumCulled||n.intersectsObject(Ye))){Ye.modelViewMatrix.multiplyMatrices(Rt.matrixWorldInverse,Ye.matrixWorld);const pr=e.update(Ye),Br=Ye.material;if(Array.isArray(Br)){const zr=pr.groups;for(let Dr=0,Zr=zr.length;Dr=1):Ti.indexOf("OpenGL ES")!==-1&&(Zr=parseFloat(/^OpenGL ES (\d)/.exec(Ti)[1]),Dr=Zr>=2);let ds=null,As={};const Xr=s.getParameter(s.SCISSOR_BOX),Yi=s.getParameter(s.VIEWPORT),ps=new Ni().fromArray(Xr),Xa=new Ni().fromArray(Yi);function Pi(Mr,la,Ts,ga){const gs=new Uint8Array(4),Wi=s.createTexture();s.bindTexture(Mr,Wi),s.texParameteri(Mr,s.TEXTURE_MIN_FILTER,s.NEAREST),s.texParameteri(Mr,s.TEXTURE_MAG_FILTER,s.NEAREST);for(let Ws=0;WsCr||Qi.height>Cr)&&(xi=Cr/Math.max(Qi.width,Qi.height)),xi<1)if(typeof HTMLImageElement!="undefined"&&Mn instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&Mn instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&Mn instanceof ImageBitmap||typeof VideoFrame!="undefined"&&Mn instanceof VideoFrame){const Si=Math.floor(xi*Qi.width),La=Math.floor(xi*Qi.height);v===void 0&&(v=I(Si,La));const Vs=St?I(Si,La):v;return Vs.width=Si,Vs.height=La,Vs.getContext("2d").drawImage(Mn,0,0,Si,La),Lr("WebGLRenderer: Texture has been resized from ("+Qi.width+"x"+Qi.height+") to ("+Si+"x"+La+")."),Vs}else return"data"in Mn&&Lr("WebGLRenderer: Image in DataTexture is too big ("+Qi.width+"x"+Qi.height+")."),Mn;return Mn}function ee(Mn){return Mn.generateMipmaps}function q(Mn){s.generateMipmap(Mn)}function ye(Mn){return Mn.isWebGLCubeRenderTarget?s.TEXTURE_CUBE_MAP:Mn.isWebGL3DRenderTarget?s.TEXTURE_3D:Mn.isWebGLArrayRenderTarget||Mn.isCompressedArrayTexture?s.TEXTURE_2D_ARRAY:s.TEXTURE_2D}function Ce(Mn,St,Cr,xi,Qi=!1){if(Mn!==null){if(s[Mn]!==void 0)return s[Mn];Lr("WebGLRenderer: Attempt to use non-existing WebGL internal format '"+Mn+"'")}let Si=St;if(St===s.RED&&(Cr===s.FLOAT&&(Si=s.R32F),Cr===s.HALF_FLOAT&&(Si=s.R16F),Cr===s.UNSIGNED_BYTE&&(Si=s.R8)),St===s.RED_INTEGER&&(Cr===s.UNSIGNED_BYTE&&(Si=s.R8UI),Cr===s.UNSIGNED_SHORT&&(Si=s.R16UI),Cr===s.UNSIGNED_INT&&(Si=s.R32UI),Cr===s.BYTE&&(Si=s.R8I),Cr===s.SHORT&&(Si=s.R16I),Cr===s.INT&&(Si=s.R32I)),St===s.RG&&(Cr===s.FLOAT&&(Si=s.RG32F),Cr===s.HALF_FLOAT&&(Si=s.RG16F),Cr===s.UNSIGNED_BYTE&&(Si=s.RG8)),St===s.RG_INTEGER&&(Cr===s.UNSIGNED_BYTE&&(Si=s.RG8UI),Cr===s.UNSIGNED_SHORT&&(Si=s.RG16UI),Cr===s.UNSIGNED_INT&&(Si=s.RG32UI),Cr===s.BYTE&&(Si=s.RG8I),Cr===s.SHORT&&(Si=s.RG16I),Cr===s.INT&&(Si=s.RG32I)),St===s.RGB_INTEGER&&(Cr===s.UNSIGNED_BYTE&&(Si=s.RGB8UI),Cr===s.UNSIGNED_SHORT&&(Si=s.RGB16UI),Cr===s.UNSIGNED_INT&&(Si=s.RGB32UI),Cr===s.BYTE&&(Si=s.RGB8I),Cr===s.SHORT&&(Si=s.RGB16I),Cr===s.INT&&(Si=s.RGB32I)),St===s.RGBA_INTEGER&&(Cr===s.UNSIGNED_BYTE&&(Si=s.RGBA8UI),Cr===s.UNSIGNED_SHORT&&(Si=s.RGBA16UI),Cr===s.UNSIGNED_INT&&(Si=s.RGBA32UI),Cr===s.BYTE&&(Si=s.RGBA8I),Cr===s.SHORT&&(Si=s.RGBA16I),Cr===s.INT&&(Si=s.RGBA32I)),St===s.RGB&&(Cr===s.UNSIGNED_INT_5_9_9_9_REV&&(Si=s.RGB9_E5),Cr===s.UNSIGNED_INT_10F_11F_11F_REV&&(Si=s.R11F_G11F_B10F)),St===s.RGBA){const La=Qi?Uu:xr.getTransfer(xi);Cr===s.FLOAT&&(Si=s.RGBA32F),Cr===s.HALF_FLOAT&&(Si=s.RGBA16F),Cr===s.UNSIGNED_BYTE&&(Si=La===ws?s.SRGB8_ALPHA8:s.RGBA8),Cr===s.UNSIGNED_SHORT_4_4_4_4&&(Si=s.RGBA4),Cr===s.UNSIGNED_SHORT_5_5_5_1&&(Si=s.RGB5_A1)}return(Si===s.R16F||Si===s.R32F||Si===s.RG16F||Si===s.RG32F||Si===s.RGBA16F||Si===s.RGBA32F)&&e.get("EXT_color_buffer_float"),Si}function ke(Mn,St){let Cr;return Mn?St===null||St===st||St===ar?Cr=s.DEPTH24_STENCIL8:St===dt?Cr=s.DEPTH32F_STENCIL8:St===rn&&(Cr=s.DEPTH24_STENCIL8,Lr("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):St===null||St===st||St===ar?Cr=s.DEPTH_COMPONENT24:St===dt?Cr=s.DEPTH_COMPONENT32F:St===rn&&(Cr=s.DEPTH_COMPONENT16),Cr}function nt(Mn,St){return ee(Mn)===!0||Mn.isFramebufferTexture&&Mn.minFilter!==cn&&Mn.minFilter!==vr?Math.log2(Math.max(St.width,St.height))+1:Mn.mipmaps!==void 0&&Mn.mipmaps.length>0?Mn.mipmaps.length:Mn.isCompressedTexture&&Array.isArray(Mn.image)?St.mipmaps.length:1}function Ye(Mn){const St=Mn.target;St.removeEventListener("dispose",Ye),Rt(St),St.isVideoTexture&&g.delete(St)}function ht(Mn){const St=Mn.target;St.removeEventListener("dispose",ht),pt(St)}function Rt(Mn){const St=n.get(Mn);if(St.__webglInit===void 0)return;const Cr=Mn.source,xi=M.get(Cr);if(xi){const Qi=xi[St.__cacheKey];Qi.usedTimes--,Qi.usedTimes===0&&qe(Mn),Object.keys(xi).length===0&&M.delete(Cr)}n.remove(Mn)}function qe(Mn){const St=n.get(Mn);s.deleteTexture(St.__webglTexture);const Cr=Mn.source,xi=M.get(Cr);delete xi[St.__cacheKey],o.memory.textures--}function pt(Mn){const St=n.get(Mn);if(Mn.depthTexture&&(Mn.depthTexture.dispose(),n.remove(Mn.depthTexture)),Mn.isWebGLCubeRenderTarget)for(let xi=0;xi<6;xi++){if(Array.isArray(St.__webglFramebuffer[xi]))for(let Qi=0;Qi=i.maxTextures&&Lr("WebGLTextures: Trying to use "+Mn+" texture units while this GPU supports only "+i.maxTextures),xn+=1,Mn}function Br(Mn){const St=[];return St.push(Mn.wrapS),St.push(Mn.wrapT),St.push(Mn.wrapR||0),St.push(Mn.magFilter),St.push(Mn.minFilter),St.push(Mn.anisotropy),St.push(Mn.internalFormat),St.push(Mn.format),St.push(Mn.type),St.push(Mn.generateMipmaps),St.push(Mn.premultiplyAlpha),St.push(Mn.flipY),St.push(Mn.unpackAlignment),St.push(Mn.colorSpace),St.join()}function zr(Mn,St){const Cr=n.get(Mn);if(Mn.isVideoTexture&&da(Mn),Mn.isRenderTargetTexture===!1&&Mn.isExternalTexture!==!0&&Mn.version>0&&Cr.__version!==Mn.version){const xi=Mn.image;if(xi===null)Lr("WebGLRenderer: Texture marked for update but no image data found.");else if(xi.complete===!1)Lr("WebGLRenderer: Texture marked for update but image is incomplete");else{Nr(Cr,Mn,St);return}}else Mn.isExternalTexture&&(Cr.__webglTexture=Mn.sourceTexture?Mn.sourceTexture:null);t.bindTexture(s.TEXTURE_2D,Cr.__webglTexture,s.TEXTURE0+St)}function Dr(Mn,St){const Cr=n.get(Mn);if(Mn.isRenderTargetTexture===!1&&Mn.version>0&&Cr.__version!==Mn.version){Nr(Cr,Mn,St);return}else Mn.isExternalTexture&&(Cr.__webglTexture=Mn.sourceTexture?Mn.sourceTexture:null);t.bindTexture(s.TEXTURE_2D_ARRAY,Cr.__webglTexture,s.TEXTURE0+St)}function Zr(Mn,St){const Cr=n.get(Mn);if(Mn.isRenderTargetTexture===!1&&Mn.version>0&&Cr.__version!==Mn.version){Nr(Cr,Mn,St);return}t.bindTexture(s.TEXTURE_3D,Cr.__webglTexture,s.TEXTURE0+St)}function Ti(Mn,St){const Cr=n.get(Mn);if(Mn.isCubeDepthTexture!==!0&&Mn.version>0&&Cr.__version!==Mn.version){Yr(Cr,Mn,St);return}t.bindTexture(s.TEXTURE_CUBE_MAP,Cr.__webglTexture,s.TEXTURE0+St)}const ds={[$t]:s.REPEAT,[Vt]:s.CLAMP_TO_EDGE,[Qt]:s.MIRRORED_REPEAT},As={[cn]:s.NEAREST,[Yn]:s.NEAREST_MIPMAP_NEAREST,[Sr]:s.NEAREST_MIPMAP_LINEAR,[vr]:s.LINEAR,[Ki]:s.LINEAR_MIPMAP_NEAREST,[yi]:s.LINEAR_MIPMAP_LINEAR},Xr={[gu]:s.NEVER,[$u]:s.ALWAYS,[oo]:s.LESS,[jc]:s.LEQUAL,[Ic]:s.EQUAL,[Ji]:s.GEQUAL,[ph]:s.GREATER,[Lo]:s.NOTEQUAL};function Yi(Mn,St){if(St.type===dt&&e.has("OES_texture_float_linear")===!1&&(St.magFilter===vr||St.magFilter===Ki||St.magFilter===Sr||St.magFilter===yi||St.minFilter===vr||St.minFilter===Ki||St.minFilter===Sr||St.minFilter===yi)&&Lr("WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),s.texParameteri(Mn,s.TEXTURE_WRAP_S,ds[St.wrapS]),s.texParameteri(Mn,s.TEXTURE_WRAP_T,ds[St.wrapT]),(Mn===s.TEXTURE_3D||Mn===s.TEXTURE_2D_ARRAY)&&s.texParameteri(Mn,s.TEXTURE_WRAP_R,ds[St.wrapR]),s.texParameteri(Mn,s.TEXTURE_MAG_FILTER,As[St.magFilter]),s.texParameteri(Mn,s.TEXTURE_MIN_FILTER,As[St.minFilter]),St.compareFunction&&(s.texParameteri(Mn,s.TEXTURE_COMPARE_MODE,s.COMPARE_REF_TO_TEXTURE),s.texParameteri(Mn,s.TEXTURE_COMPARE_FUNC,Xr[St.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(St.magFilter===cn||St.minFilter!==Sr&&St.minFilter!==yi||St.type===dt&&e.has("OES_texture_float_linear")===!1)return;if(St.anisotropy>1||n.get(St).__currentAnisotropy){const Cr=e.get("EXT_texture_filter_anisotropic");s.texParameterf(Mn,Cr.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(St.anisotropy,i.getMaxAnisotropy())),n.get(St).__currentAnisotropy=St.anisotropy}}}function ps(Mn,St){let Cr=!1;Mn.__webglInit===void 0&&(Mn.__webglInit=!0,St.addEventListener("dispose",Ye));const xi=St.source;let Qi=M.get(xi);Qi===void 0&&(Qi={},M.set(xi,Qi));const Si=Br(St);if(Si!==Mn.__cacheKey){Qi[Si]===void 0&&(Qi[Si]={texture:s.createTexture(),usedTimes:0},o.memory.textures++,Cr=!0),Qi[Si].usedTimes++;const La=Qi[Mn.__cacheKey];La!==void 0&&(Qi[Mn.__cacheKey].usedTimes--,La.usedTimes===0&&qe(St)),Mn.__cacheKey=Si,Mn.__webglTexture=Qi[Si].texture}return Cr}function Xa(Mn,St,Cr){return Math.floor(Math.floor(Mn/Cr)/St)}function Pi(Mn,St,Cr,xi){const Si=Mn.updateRanges;if(Si.length===0)t.texSubImage2D(s.TEXTURE_2D,0,0,0,St.width,St.height,Cr,xi,St.data);else{Si.sort((hs,js)=>hs.start-js.start);let La=0;for(let hs=1;hs0){Mr&&la&&t.texStorage2D(s.TEXTURE_2D,ga,Va,Wo[0].width,Wo[0].height);for(let gs=0,Wi=Wo.length;gs0){const Ws=l($s.width,$s.height,St.format,St.type);for(const Eo of St.layerUpdates){const Wu=$s.data.subarray(Eo*Ws/$s.data.BYTES_PER_ELEMENT,(Eo+1)*Ws/$s.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(s.TEXTURE_2D_ARRAY,gs,0,0,Eo,$s.width,$s.height,1,js,Wu)}St.clearLayerUpdates()}else t.compressedTexSubImage3D(s.TEXTURE_2D_ARRAY,gs,0,0,0,$s.width,$s.height,hs.depth,js,$s.data)}else t.compressedTexImage3D(s.TEXTURE_2D_ARRAY,gs,Va,$s.width,$s.height,hs.depth,0,$s.data,0,0);else Lr("WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else Mr?Ts&&t.texSubImage3D(s.TEXTURE_2D_ARRAY,gs,0,0,0,$s.width,$s.height,hs.depth,js,Fa,$s.data):t.texImage3D(s.TEXTURE_2D_ARRAY,gs,Va,$s.width,$s.height,hs.depth,0,js,Fa,$s.data)}else{Mr&&la&&t.texStorage2D(s.TEXTURE_2D,ga,Va,Wo[0].width,Wo[0].height);for(let gs=0,Wi=Wo.length;gs0){const gs=l(hs.width,hs.height,St.format,St.type);for(const Wi of St.layerUpdates){const Ws=hs.data.subarray(Wi*gs/hs.data.BYTES_PER_ELEMENT,(Wi+1)*gs/hs.data.BYTES_PER_ELEMENT);t.texSubImage3D(s.TEXTURE_2D_ARRAY,0,0,0,Wi,hs.width,hs.height,1,js,Fa,Ws)}St.clearLayerUpdates()}else t.texSubImage3D(s.TEXTURE_2D_ARRAY,0,0,0,0,hs.width,hs.height,hs.depth,js,Fa,hs.data)}else t.texImage3D(s.TEXTURE_2D_ARRAY,0,Va,hs.width,hs.height,hs.depth,0,js,Fa,hs.data);else if(St.isData3DTexture)Mr?(la&&t.texStorage3D(s.TEXTURE_3D,ga,Va,hs.width,hs.height,hs.depth),Ts&&t.texSubImage3D(s.TEXTURE_3D,0,0,0,0,hs.width,hs.height,hs.depth,js,Fa,hs.data)):t.texImage3D(s.TEXTURE_3D,0,Va,hs.width,hs.height,hs.depth,0,js,Fa,hs.data);else if(St.isFramebufferTexture){if(la)if(Mr)t.texStorage2D(s.TEXTURE_2D,ga,Va,hs.width,hs.height);else{let gs=hs.width,Wi=hs.height;for(let Ws=0;Ws>=1,Wi>>=1}}else if(Wo.length>0){if(Mr&&la){const gs=Ps(Wo[0]);t.texStorage2D(s.TEXTURE_2D,ga,Va,gs.width,gs.height)}for(let gs=0,Wi=Wo.length;gs0&&ga++;const Wi=Ps(js[0]);t.texStorage2D(s.TEXTURE_CUBE_MAP,ga,Wo,Wi.width,Wi.height)}for(let Wi=0;Wi<6;Wi++)if(hs){Mr?Ts&&t.texSubImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+Wi,0,0,0,js[Wi].width,js[Wi].height,Va,$s,js[Wi].data):t.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+Wi,0,Wo,js[Wi].width,js[Wi].height,0,Va,$s,js[Wi].data);for(let Ws=0;Ws>Si),Fa=Math.max(1,St.height>>Si);Qi===s.TEXTURE_3D||Qi===s.TEXTURE_2D_ARRAY?t.texImage3D(Qi,Si,Na,js,Fa,St.depth,0,La,Vs,null):t.texImage2D(Qi,Si,Na,js,Fa,0,La,Vs,null)}t.bindFramebuffer(s.FRAMEBUFFER,Mn),ja(St)?u.framebufferTexture2DMultisampleEXT(s.FRAMEBUFFER,xi,Qi,hs.__webglTexture,0,Pn(St)):(Qi===s.TEXTURE_2D||Qi>=s.TEXTURE_CUBE_MAP_POSITIVE_X&&Qi<=s.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&s.framebufferTexture2D(s.FRAMEBUFFER,xi,Qi,hs.__webglTexture,Si),t.bindFramebuffer(s.FRAMEBUFFER,null)}function oa(Mn,St,Cr){if(s.bindRenderbuffer(s.RENDERBUFFER,Mn),St.depthBuffer){const xi=St.depthTexture,Qi=xi&&xi.isDepthTexture?xi.type:null,Si=ke(St.stencilBuffer,Qi),La=St.stencilBuffer?s.DEPTH_STENCIL_ATTACHMENT:s.DEPTH_ATTACHMENT;ja(St)?u.renderbufferStorageMultisampleEXT(s.RENDERBUFFER,Pn(St),Si,St.width,St.height):Cr?s.renderbufferStorageMultisample(s.RENDERBUFFER,Pn(St),Si,St.width,St.height):s.renderbufferStorage(s.RENDERBUFFER,Si,St.width,St.height),s.framebufferRenderbuffer(s.FRAMEBUFFER,La,s.RENDERBUFFER,Mn)}else{const xi=St.textures;for(let Qi=0;Qi{delete St.__boundDepthTexture,delete St.__depthDisposeCallback,xi.removeEventListener("dispose",Qi)};xi.addEventListener("dispose",Qi),St.__depthDisposeCallback=Qi}St.__boundDepthTexture=xi}if(Mn.depthTexture&&!St.__autoAllocateDepthBuffer)if(Cr)for(let xi=0;xi<6;xi++)Ms(St.__webglFramebuffer[xi],Mn,xi);else{const xi=Mn.texture.mipmaps;xi&&xi.length>0?Ms(St.__webglFramebuffer[0],Mn,0):Ms(St.__webglFramebuffer,Mn,0)}else if(Cr){St.__webglDepthbuffer=[];for(let xi=0;xi<6;xi++)if(t.bindFramebuffer(s.FRAMEBUFFER,St.__webglFramebuffer[xi]),St.__webglDepthbuffer[xi]===void 0)St.__webglDepthbuffer[xi]=s.createRenderbuffer(),oa(St.__webglDepthbuffer[xi],Mn,!1);else{const Qi=Mn.stencilBuffer?s.DEPTH_STENCIL_ATTACHMENT:s.DEPTH_ATTACHMENT,Si=St.__webglDepthbuffer[xi];s.bindRenderbuffer(s.RENDERBUFFER,Si),s.framebufferRenderbuffer(s.FRAMEBUFFER,Qi,s.RENDERBUFFER,Si)}}else{const xi=Mn.texture.mipmaps;if(xi&&xi.length>0?t.bindFramebuffer(s.FRAMEBUFFER,St.__webglFramebuffer[0]):t.bindFramebuffer(s.FRAMEBUFFER,St.__webglFramebuffer),St.__webglDepthbuffer===void 0)St.__webglDepthbuffer=s.createRenderbuffer(),oa(St.__webglDepthbuffer,Mn,!1);else{const Qi=Mn.stencilBuffer?s.DEPTH_STENCIL_ATTACHMENT:s.DEPTH_ATTACHMENT,Si=St.__webglDepthbuffer;s.bindRenderbuffer(s.RENDERBUFFER,Si),s.framebufferRenderbuffer(s.FRAMEBUFFER,Qi,s.RENDERBUFFER,Si)}}t.bindFramebuffer(s.FRAMEBUFFER,null)}function Qo(Mn,St,Cr){const xi=n.get(Mn);St!==void 0&&cs(xi.__webglFramebuffer,Mn,Mn.texture,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,0),Cr!==void 0&&Ha(Mn)}function co(Mn){const St=Mn.texture,Cr=n.get(Mn),xi=n.get(St);Mn.addEventListener("dispose",ht);const Qi=Mn.textures,Si=Mn.isWebGLCubeRenderTarget===!0,La=Qi.length>1;if(La||(xi.__webglTexture===void 0&&(xi.__webglTexture=s.createTexture()),xi.__version=St.version,o.memory.textures++),Si){Cr.__webglFramebuffer=[];for(let Vs=0;Vs<6;Vs++)if(St.mipmaps&&St.mipmaps.length>0){Cr.__webglFramebuffer[Vs]=[];for(let Na=0;Na0){Cr.__webglFramebuffer=[];for(let Vs=0;Vs0&&ja(Mn)===!1){Cr.__webglMultisampledFramebuffer=s.createFramebuffer(),Cr.__webglColorRenderbuffer=[],t.bindFramebuffer(s.FRAMEBUFFER,Cr.__webglMultisampledFramebuffer);for(let Vs=0;Vs0)for(let Na=0;Na0)for(let Na=0;Na0){if(ja(Mn)===!1){const St=Mn.textures,Cr=Mn.width,xi=Mn.height;let Qi=s.COLOR_BUFFER_BIT;const Si=Mn.stencilBuffer?s.DEPTH_STENCIL_ATTACHMENT:s.DEPTH_ATTACHMENT,La=n.get(Mn),Vs=St.length>1;if(Vs)for(let po=0;po0?t.bindFramebuffer(s.DRAW_FRAMEBUFFER,La.__webglFramebuffer[0]):t.bindFramebuffer(s.DRAW_FRAMEBUFFER,La.__webglFramebuffer);for(let po=0;po0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&St.__useRenderToTexture!==!1}function da(Mn){const St=o.render.frame;g.get(Mn)!==St&&(g.set(Mn,St),Mn.update())}function ho(Mn,St){const Cr=Mn.colorSpace,xi=Mn.format,Qi=Mn.type;return Mn.isCompressedTexture===!0||Mn.isVideoTexture===!0||Cr!==No&&Cr!==ao&&(xr.getTransfer(Cr)===ws?(xi!==L||Qi!==es)&&Lr("WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):Gr("WebGLTextures: Unsupported texture color space:",Cr)),St}function Ps(Mn){return typeof HTMLImageElement!="undefined"&&Mn instanceof HTMLImageElement?(d.width=Mn.naturalWidth||Mn.width,d.height=Mn.naturalHeight||Mn.height):typeof VideoFrame!="undefined"&&Mn instanceof VideoFrame?(d.width=Mn.displayWidth,d.height=Mn.displayHeight):(d.width=Mn.width,d.height=Mn.height),d}this.allocateTextureUnit=pr,this.resetTextureUnits=cr,this.setTexture2D=zr,this.setTexture2DArray=Dr,this.setTexture3D=Zr,this.setTextureCube=Ti,this.rebindTextures=Qo,this.setupRenderTarget=co,this.updateRenderTargetMipmap=Li,this.updateMultisampleRenderTarget=Fs,this.setupDepthRenderbuffer=Ha,this.setupFrameBufferTexture=cs,this.useMultisampledRTT=ja,this.isReversedDepthBuffer=function(){return t.buffers.depth.getReversed()}}function O3(s,e){function t(n,i=ao){let a;const o=xr.getTransfer(i);if(n===es)return s.UNSIGNED_BYTE;if(n===bn)return s.UNSIGNED_SHORT_4_4_4_4;if(n===Jt)return s.UNSIGNED_SHORT_5_5_5_1;if(n===rr)return s.UNSIGNED_INT_5_9_9_9_REV;if(n===Kr)return s.UNSIGNED_INT_10F_11F_11F_REV;if(n===Ci)return s.BYTE;if(n===En)return s.SHORT;if(n===rn)return s.UNSIGNED_SHORT;if(n===Xt)return s.INT;if(n===st)return s.UNSIGNED_INT;if(n===dt)return s.FLOAT;if(n===Wt)return s.HALF_FLOAT;if(n===si)return s.ALPHA;if(n===Ie)return s.RGB;if(n===L)return s.RGBA;if(n===Q)return s.DEPTH_COMPONENT;if(n===w)return s.DEPTH_STENCIL;if(n===z)return s.RED;if(n===ie)return s.RED_INTEGER;if(n===ze)return s.RG;if(n===Je)return s.RG_INTEGER;if(n===xt)return s.RGBA_INTEGER;if(n===Sn||n===Oe||n===Qe||n===Re)if(o===ws)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(n===Sn)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Oe)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Qe)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Re)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(n===Sn)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Oe)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Qe)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Re)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===Ke||n===gt||n===tn||n===yt)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(n===Ke)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===gt)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===tn)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===yt)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===Yt||n===Rn||n===er||n===Jn||n===kr||n===fr||n===wr)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(n===Yt||n===Rn)return o===ws?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(n===er)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC;if(n===Jn)return a.COMPRESSED_R11_EAC;if(n===kr)return a.COMPRESSED_SIGNED_R11_EAC;if(n===fr)return a.COMPRESSED_RG11_EAC;if(n===wr)return a.COMPRESSED_SIGNED_RG11_EAC}else return null;if(n===ei||n===_n||n===jn||n===Hr||n===Pr||n===$i||n===Zi||n===Xi||n===Ei||n===ms||n===_i||n===Es||n===ua||n===Hn)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(n===ei)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===_n)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===jn)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Hr)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===Pr)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===$i)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Zi)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===Xi)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===Ei)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===ms)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===_i)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===Es)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===ua)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===Hn)return o===ws?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Pt||n===Gt||n===Bt)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(n===Pt)return o===ws?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===Gt)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===Bt)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===yn||n===Ln||n===gr||n===Rr)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(n===yn)return a.COMPRESSED_RED_RGTC1_EXT;if(n===Ln)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===gr)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===Rr)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===ar?s.UNSIGNED_INT_24_8:s[n]!==void 0?s[n]:null}return{convert:t}}const D3=` -void main() { - - gl_Position = vec4( position, 1.0 ); - -}`,k3=` -uniform sampler2DArray depthColor; -uniform float depthWidth; -uniform float depthHeight; - -void main() { - - vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); - - if ( coord.x >= 1.0 ) { - - gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; - - } else { - - gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; - - } - -}`;class V3{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){const n=new Fo(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new nh({vertexShader:D3,fragmentShader:k3,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Il(new Tc(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class z3 extends bl{constructor(e,t){super();const n=this;let i=null,a=1,o=null,u="local-floor",c=1,d=null,g=null,v=null,M=null,B=null,I=null;const ne=typeof XRWebGLBinding!="undefined",ee=new V3,q={},ye=t.getContextAttributes();let Ce=null,ke=null;const nt=[],Ye=[],ht=new ce;let Rt=null;const qe=new vo;qe.viewport=new Ni;const pt=new vo;pt.viewport=new Ni;const xn=[qe,pt],cr=new jp;let pr=null,Br=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Nr){let Yr=nt[Nr];return Yr===void 0&&(Yr=new Ra,nt[Nr]=Yr),Yr.getTargetRaySpace()},this.getControllerGrip=function(Nr){let Yr=nt[Nr];return Yr===void 0&&(Yr=new Ra,nt[Nr]=Yr),Yr.getGripSpace()},this.getHand=function(Nr){let Yr=nt[Nr];return Yr===void 0&&(Yr=new Ra,nt[Nr]=Yr),Yr.getHandSpace()};function zr(Nr){const Yr=Ye.indexOf(Nr.inputSource);if(Yr===-1)return;const cs=nt[Yr];cs!==void 0&&(cs.update(Nr.inputSource,Nr.frame,d||o),cs.dispatchEvent({type:Nr.type,data:Nr.inputSource}))}function Dr(){i.removeEventListener("select",zr),i.removeEventListener("selectstart",zr),i.removeEventListener("selectend",zr),i.removeEventListener("squeeze",zr),i.removeEventListener("squeezestart",zr),i.removeEventListener("squeezeend",zr),i.removeEventListener("end",Dr),i.removeEventListener("inputsourceschange",Zr);for(let Nr=0;Nr=0&&(Ye[oa]=null,nt[oa].disconnect(cs))}for(let Yr=0;Yr=Ye.length){Ye.push(cs),oa=Ha;break}else if(Ye[Ha]===null){Ye[Ha]=cs,oa=Ha;break}if(oa===-1)break}const Ms=nt[oa];Ms&&Ms.connect(cs)}}const Ti=new le,ds=new le;function As(Nr,Yr,cs){Ti.setFromMatrixPosition(Yr.matrixWorld),ds.setFromMatrixPosition(cs.matrixWorld);const oa=Ti.distanceTo(ds),Ms=Yr.projectionMatrix.elements,Ha=cs.projectionMatrix.elements,Qo=Ms[14]/(Ms[10]-1),co=Ms[14]/(Ms[10]+1),Li=(Ms[9]+1)/Ms[5],os=(Ms[9]-1)/Ms[5],Hi=(Ms[8]-1)/Ms[0],Fs=(Ha[8]+1)/Ha[0],Pn=Qo*Hi,ja=Qo*Fs,da=oa/(-Hi+Fs),ho=da*-Hi;if(Yr.matrixWorld.decompose(Nr.position,Nr.quaternion,Nr.scale),Nr.translateX(ho),Nr.translateZ(da),Nr.matrixWorld.compose(Nr.position,Nr.quaternion,Nr.scale),Nr.matrixWorldInverse.copy(Nr.matrixWorld).invert(),Ms[10]===-1)Nr.projectionMatrix.copy(Yr.projectionMatrix),Nr.projectionMatrixInverse.copy(Yr.projectionMatrixInverse);else{const Ps=Qo+da,Mn=co+da,St=Pn-ho,Cr=ja+(oa-ho),xi=Li*co/Mn*Ps,Qi=os*co/Mn*Ps;Nr.projectionMatrix.makePerspective(St,Cr,xi,Qi,Ps,Mn),Nr.projectionMatrixInverse.copy(Nr.projectionMatrix).invert()}}function Xr(Nr,Yr){Yr===null?Nr.matrixWorld.copy(Nr.matrix):Nr.matrixWorld.multiplyMatrices(Yr.matrixWorld,Nr.matrix),Nr.matrixWorldInverse.copy(Nr.matrixWorld).invert()}this.updateCamera=function(Nr){if(i===null)return;let Yr=Nr.near,cs=Nr.far;ee.texture!==null&&(ee.depthNear>0&&(Yr=ee.depthNear),ee.depthFar>0&&(cs=ee.depthFar)),cr.near=pt.near=qe.near=Yr,cr.far=pt.far=qe.far=cs,(pr!==cr.near||Br!==cr.far)&&(i.updateRenderState({depthNear:cr.near,depthFar:cr.far}),pr=cr.near,Br=cr.far),cr.layers.mask=Nr.layers.mask|6,qe.layers.mask=cr.layers.mask&3,pt.layers.mask=cr.layers.mask&5;const oa=Nr.parent,Ms=cr.cameras;Xr(cr,oa);for(let Ha=0;Ha0&&(ee.alphaTest.value=q.alphaTest);const ye=e.get(q),Ce=ye.envMap,ke=ye.envMapRotation;Ce&&(ee.envMap.value=Ce,a0.copy(ke),a0.x*=-1,a0.y*=-1,a0.z*=-1,Ce.isCubeTexture&&Ce.isRenderTargetTexture===!1&&(a0.y*=-1,a0.z*=-1),ee.envMapRotation.value.setFromMatrix4(G3.makeRotationFromEuler(a0)),ee.flipEnvMap.value=Ce.isCubeTexture&&Ce.isRenderTargetTexture===!1?-1:1,ee.reflectivity.value=q.reflectivity,ee.ior.value=q.ior,ee.refractionRatio.value=q.refractionRatio),q.lightMap&&(ee.lightMap.value=q.lightMap,ee.lightMapIntensity.value=q.lightMapIntensity,t(q.lightMap,ee.lightMapTransform)),q.aoMap&&(ee.aoMap.value=q.aoMap,ee.aoMapIntensity.value=q.aoMapIntensity,t(q.aoMap,ee.aoMapTransform))}function o(ee,q){ee.diffuse.value.copy(q.color),ee.opacity.value=q.opacity,q.map&&(ee.map.value=q.map,t(q.map,ee.mapTransform))}function u(ee,q){ee.dashSize.value=q.dashSize,ee.totalSize.value=q.dashSize+q.gapSize,ee.scale.value=q.scale}function c(ee,q,ye,Ce){ee.diffuse.value.copy(q.color),ee.opacity.value=q.opacity,ee.size.value=q.size*ye,ee.scale.value=Ce*.5,q.map&&(ee.map.value=q.map,t(q.map,ee.uvTransform)),q.alphaMap&&(ee.alphaMap.value=q.alphaMap,t(q.alphaMap,ee.alphaMapTransform)),q.alphaTest>0&&(ee.alphaTest.value=q.alphaTest)}function d(ee,q){ee.diffuse.value.copy(q.color),ee.opacity.value=q.opacity,ee.rotation.value=q.rotation,q.map&&(ee.map.value=q.map,t(q.map,ee.mapTransform)),q.alphaMap&&(ee.alphaMap.value=q.alphaMap,t(q.alphaMap,ee.alphaMapTransform)),q.alphaTest>0&&(ee.alphaTest.value=q.alphaTest)}function g(ee,q){ee.specular.value.copy(q.specular),ee.shininess.value=Math.max(q.shininess,1e-4)}function v(ee,q){q.gradientMap&&(ee.gradientMap.value=q.gradientMap)}function M(ee,q){ee.metalness.value=q.metalness,q.metalnessMap&&(ee.metalnessMap.value=q.metalnessMap,t(q.metalnessMap,ee.metalnessMapTransform)),ee.roughness.value=q.roughness,q.roughnessMap&&(ee.roughnessMap.value=q.roughnessMap,t(q.roughnessMap,ee.roughnessMapTransform)),q.envMap&&(ee.envMapIntensity.value=q.envMapIntensity)}function B(ee,q,ye){ee.ior.value=q.ior,q.sheen>0&&(ee.sheenColor.value.copy(q.sheenColor).multiplyScalar(q.sheen),ee.sheenRoughness.value=q.sheenRoughness,q.sheenColorMap&&(ee.sheenColorMap.value=q.sheenColorMap,t(q.sheenColorMap,ee.sheenColorMapTransform)),q.sheenRoughnessMap&&(ee.sheenRoughnessMap.value=q.sheenRoughnessMap,t(q.sheenRoughnessMap,ee.sheenRoughnessMapTransform))),q.clearcoat>0&&(ee.clearcoat.value=q.clearcoat,ee.clearcoatRoughness.value=q.clearcoatRoughness,q.clearcoatMap&&(ee.clearcoatMap.value=q.clearcoatMap,t(q.clearcoatMap,ee.clearcoatMapTransform)),q.clearcoatRoughnessMap&&(ee.clearcoatRoughnessMap.value=q.clearcoatRoughnessMap,t(q.clearcoatRoughnessMap,ee.clearcoatRoughnessMapTransform)),q.clearcoatNormalMap&&(ee.clearcoatNormalMap.value=q.clearcoatNormalMap,t(q.clearcoatNormalMap,ee.clearcoatNormalMapTransform),ee.clearcoatNormalScale.value.copy(q.clearcoatNormalScale),q.side===de&&ee.clearcoatNormalScale.value.negate())),q.dispersion>0&&(ee.dispersion.value=q.dispersion),q.iridescence>0&&(ee.iridescence.value=q.iridescence,ee.iridescenceIOR.value=q.iridescenceIOR,ee.iridescenceThicknessMinimum.value=q.iridescenceThicknessRange[0],ee.iridescenceThicknessMaximum.value=q.iridescenceThicknessRange[1],q.iridescenceMap&&(ee.iridescenceMap.value=q.iridescenceMap,t(q.iridescenceMap,ee.iridescenceMapTransform)),q.iridescenceThicknessMap&&(ee.iridescenceThicknessMap.value=q.iridescenceThicknessMap,t(q.iridescenceThicknessMap,ee.iridescenceThicknessMapTransform))),q.transmission>0&&(ee.transmission.value=q.transmission,ee.transmissionSamplerMap.value=ye.texture,ee.transmissionSamplerSize.value.set(ye.width,ye.height),q.transmissionMap&&(ee.transmissionMap.value=q.transmissionMap,t(q.transmissionMap,ee.transmissionMapTransform)),ee.thickness.value=q.thickness,q.thicknessMap&&(ee.thicknessMap.value=q.thicknessMap,t(q.thicknessMap,ee.thicknessMapTransform)),ee.attenuationDistance.value=q.attenuationDistance,ee.attenuationColor.value.copy(q.attenuationColor)),q.anisotropy>0&&(ee.anisotropyVector.value.set(q.anisotropy*Math.cos(q.anisotropyRotation),q.anisotropy*Math.sin(q.anisotropyRotation)),q.anisotropyMap&&(ee.anisotropyMap.value=q.anisotropyMap,t(q.anisotropyMap,ee.anisotropyMapTransform))),ee.specularIntensity.value=q.specularIntensity,ee.specularColor.value.copy(q.specularColor),q.specularColorMap&&(ee.specularColorMap.value=q.specularColorMap,t(q.specularColorMap,ee.specularColorMapTransform)),q.specularIntensityMap&&(ee.specularIntensityMap.value=q.specularIntensityMap,t(q.specularIntensityMap,ee.specularIntensityMapTransform))}function I(ee,q){q.matcap&&(ee.matcap.value=q.matcap)}function ne(ee,q){const ye=e.get(q).light;ee.referencePosition.value.setFromMatrixPosition(ye.matrixWorld),ee.nearDistance.value=ye.shadow.camera.near,ee.farDistance.value=ye.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function Q3(s,e,t,n){let i={},a={},o=[];const u=s.getParameter(s.MAX_UNIFORM_BUFFER_BINDINGS);function c(ye,Ce){const ke=Ce.program;n.uniformBlockBinding(ye,ke)}function d(ye,Ce){let ke=i[ye.id];ke===void 0&&(I(ye),ke=g(ye),i[ye.id]=ke,ye.addEventListener("dispose",ee));const nt=Ce.program;n.updateUBOMapping(ye,nt);const Ye=e.render.frame;a[ye.id]!==Ye&&(M(ye),a[ye.id]=Ye)}function g(ye){const Ce=v();ye.__bindingPointIndex=Ce;const ke=s.createBuffer(),nt=ye.__size,Ye=ye.usage;return s.bindBuffer(s.UNIFORM_BUFFER,ke),s.bufferData(s.UNIFORM_BUFFER,nt,Ye),s.bindBuffer(s.UNIFORM_BUFFER,null),s.bindBufferBase(s.UNIFORM_BUFFER,Ce,ke),ke}function v(){for(let ye=0;ye0&&(ke+=nt-Ye),ye.__size=ke,ye.__cache={},this}function ne(ye){const Ce={boundary:0,storage:0};return typeof ye=="number"||typeof ye=="boolean"?(Ce.boundary=4,Ce.storage=4):ye.isVector2?(Ce.boundary=8,Ce.storage=8):ye.isVector3||ye.isColor?(Ce.boundary=16,Ce.storage=12):ye.isVector4?(Ce.boundary=16,Ce.storage=16):ye.isMatrix3?(Ce.boundary=48,Ce.storage=48):ye.isMatrix4?(Ce.boundary=64,Ce.storage=64):ye.isTexture?Lr("WebGLRenderer: Texture samplers can not be part of an uniforms group."):Lr("WebGLRenderer: Unsupported uniform value type.",ye),Ce}function ee(ye){const Ce=ye.target;Ce.removeEventListener("dispose",ee);const ke=o.indexOf(Ce.__bindingPointIndex);o.splice(ke,1),s.deleteBuffer(i[Ce.id]),delete i[Ce.id],delete a[Ce.id]}function q(){for(const ye in i)s.deleteBuffer(i[ye]);o=[],i={},a={}}return{bind:c,update:d,dispose:q}}const W3=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let eg=null;function Z3(){return eg===null&&(eg=new ah(W3,16,16,ze,Wt),eg.name="DFG_LUT",eg.minFilter=vr,eg.magFilter=vr,eg.wrapS=Vt,eg.wrapT=Vt,eg.generateMipmaps=!1,eg.needsUpdate=!0),eg}class K3{constructor(e={}){const{canvas:t=yh(),context:n=null,depth:i=!0,stencil:a=!1,alpha:o=!1,antialias:u=!1,premultipliedAlpha:c=!0,preserveDrawingBuffer:d=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:v=!1,reversedDepthBuffer:M=!1,outputBufferType:B=es}=e;this.isWebGLRenderer=!0;let I;if(n!==null){if(typeof WebGLRenderingContext!="undefined"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");I=n.getContextAttributes().alpha}else I=o;const ne=B,ee=new Set([xt,Je,ie]),q=new Set([es,st,rn,ar,bn,Jt]),ye=new Uint32Array(4),Ce=new Int32Array(4);let ke=null,nt=null;const Ye=[],ht=[];let Rt=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=Ct,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const qe=this;let pt=!1;this._outputColorSpace=sl;let xn=0,cr=0,pr=null,Br=-1,zr=null;const Dr=new Ni,Zr=new Ni;let Ti=null;const ds=new Wr(0);let As=0,Xr=t.width,Yi=t.height,ps=1,Xa=null,Pi=null;const Nr=new Ni(0,0,Xr,Yi),Yr=new Ni(0,0,Xr,Yi);let cs=!1;const oa=new qu;let Ms=!1,Ha=!1;const Qo=new di,co=new le,Li=new Ni,os={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Hi=!1;function Fs(){return pr===null?ps:1}let Pn=n;function ja(an,Ur){return t.getContext(an,Ur)}try{const an={alpha:!0,depth:i,stencil:a,antialias:u,premultipliedAlpha:c,preserveDrawingBuffer:d,powerPreference:g,failIfMajorPerformanceCaveat:v};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${m}`),t.addEventListener("webglcontextlost",Eo,!1),t.addEventListener("webglcontextrestored",Wu,!1),t.addEventListener("webglcontextcreationerror",fu,!1),Pn===null){const Ur="webgl2";if(Pn=ja(Ur,an),Pn===null)throw ja(Ur)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(an){throw Gr("WebGLRenderer: "+an.message),an}let da,ho,Ps,Mn,St,Cr,xi,Qi,Si,La,Vs,Na,po,hs,js,Fa,Va,$s,Wo,Mr,la,Ts,ga,gs;function Wi(){da=new ZO(Pn),da.init(),Ts=new O3(Pn,da),ho=new OO(Pn,da,e,Ts),Ps=new L3(Pn,da),ho.reversedDepthBuffer&&M&&Ps.buffers.depth.setReversed(!0),Mn=new XO(Pn),St=new x3,Cr=new U3(Pn,da,Ps,St,ho,Ts,Mn),xi=new kO(qe),Qi=new WO(qe),Si=new FL(Pn),ga=new LO(Pn,Si),La=new KO(Pn,Si,Mn,ga),Vs=new YO(Pn,La,Si,Mn),Wo=new jO(Pn,ho,Cr),Fa=new DO(St),Na=new y3(qe,xi,Qi,da,ho,ga,Fa),po=new H3(qe,St),hs=new _3,js=new T3(da),$s=new PO(qe,xi,Qi,Ps,Vs,I,c),Va=new F3(qe,Vs,ho),gs=new Q3(Pn,Mn,ho,Ps),Mr=new UO(Pn,da,Mn),la=new $O(Pn,da,Mn),Mn.programs=Na.programs,qe.capabilities=ho,qe.extensions=da,qe.properties=St,qe.renderLists=hs,qe.shadowMap=Va,qe.state=Ps,qe.info=Mn}Wi(),ne!==es&&(Rt=new JO(ne,t.width,t.height,i,a));const Ws=new z3(qe,Pn);this.xr=Ws,this.getContext=function(){return Pn},this.getContextAttributes=function(){return Pn.getContextAttributes()},this.forceContextLoss=function(){const an=da.get("WEBGL_lose_context");an&&an.loseContext()},this.forceContextRestore=function(){const an=da.get("WEBGL_lose_context");an&&an.restoreContext()},this.getPixelRatio=function(){return ps},this.setPixelRatio=function(an){an!==void 0&&(ps=an,this.setSize(Xr,Yi,!1))},this.getSize=function(an){return an.set(Xr,Yi)},this.setSize=function(an,Ur,hi=!0){if(Ws.isPresenting){Lr("WebGLRenderer: Can't change size while VR device is presenting.");return}Xr=an,Yi=Ur,t.width=Math.floor(an*ps),t.height=Math.floor(Ur*ps),hi===!0&&(t.style.width=an+"px",t.style.height=Ur+"px"),Rt!==null&&Rt.setSize(t.width,t.height),this.setViewport(0,0,an,Ur)},this.getDrawingBufferSize=function(an){return an.set(Xr*ps,Yi*ps).floor()},this.setDrawingBufferSize=function(an,Ur,hi){Xr=an,Yi=Ur,ps=hi,t.width=Math.floor(an*hi),t.height=Math.floor(Ur*hi),this.setViewport(0,0,an,Ur)},this.setEffects=function(an){if(ne===es){console.error("THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.");return}if(an){for(let Ur=0;Ur{function qs(){if(li.forEach(function(ba){St.get(ba).currentProgram.isReady()&&li.delete(ba)}),li.size===0){Qr(an);return}setTimeout(qs,10)}da.get("KHR_parallel_shader_compile")!==null?qs():setTimeout(qs,10)})};let TE=null;function G$(an){TE&&TE(an)}function xP(){U0.stop()}function bP(){U0.start()}const U0=new bC;U0.setAnimationLoop(G$),typeof self!="undefined"&&U0.setContext(self),this.setAnimationLoop=function(an){TE=an,Ws.setAnimationLoop(an),an===null?U0.stop():U0.start()},Ws.addEventListener("sessionstart",xP),Ws.addEventListener("sessionend",bP),this.render=function(an,Ur){if(Ur!==void 0&&Ur.isCamera!==!0){Gr("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(pt===!0)return;const hi=Ws.enabled===!0&&Ws.isPresenting===!0,li=Rt!==null&&(pr===null||hi)&&Rt.begin(qe,pr);if(an.matrixWorldAutoUpdate===!0&&an.updateMatrixWorld(),Ur.parent===null&&Ur.matrixWorldAutoUpdate===!0&&Ur.updateMatrixWorld(),Ws.enabled===!0&&Ws.isPresenting===!0&&(Rt===null||Rt.isCompositing()===!1)&&(Ws.cameraAutoUpdate===!0&&Ws.updateCamera(Ur),Ur=Ws.getCamera()),an.isScene===!0&&an.onBeforeRender(qe,an,Ur,pr),nt=js.get(an,ht.length),nt.init(Ur),ht.push(nt),Qo.multiplyMatrices(Ur.projectionMatrix,Ur.matrixWorldInverse),oa.setFromProjectionMatrix(Qo,gl,Ur.reversedDepth),Ha=this.localClippingEnabled,Ms=Fa.init(this.clippingPlanes,Ha),ke=hs.get(an,Ye.length),ke.init(),Ye.push(ke),Ws.enabled===!0&&Ws.isPresenting===!0){const ba=qe.xr.getDepthSensingMesh();ba!==null&&BE(ba,Ur,-1/0,qe.sortObjects)}BE(an,Ur,0,qe.sortObjects),ke.finish(),qe.sortObjects===!0&&ke.sort(Xa,Pi),Hi=Ws.enabled===!1||Ws.isPresenting===!1||Ws.hasDepthSensing()===!1,Hi&&$s.addToRenderList(ke,an),this.info.render.frame++,Ms===!0&&Fa.beginShadows();const Qr=nt.state.shadowsArray;if(Va.render(Qr,an,Ur),Ms===!0&&Fa.endShadows(),this.info.autoReset===!0&&this.info.reset(),(li&&Rt.hasRenderPass())===!1){const ba=ke.opaque,ia=ke.transmissive;if(nt.setupLights(),Ur.isArrayCamera){const Ta=Ur.cameras;if(ia.length>0)for(let Qa=0,yo=Ta.length;Qa0&&wP(ba,ia,an,Ur),Hi&&$s.render(an),_P(ke,an,Ur)}pr!==null&&cr===0&&(Cr.updateMultisampleRenderTarget(pr),Cr.updateRenderTargetMipmap(pr)),li&&Rt.end(qe),an.isScene===!0&&an.onAfterRender(qe,an,Ur),ga.resetDefaultState(),Br=-1,zr=null,ht.pop(),ht.length>0?(nt=ht[ht.length-1],Ms===!0&&Fa.setGlobalState(qe.clippingPlanes,nt.state.camera)):nt=null,Ye.pop(),Ye.length>0?ke=Ye[Ye.length-1]:ke=null};function BE(an,Ur,hi,li){if(an.visible===!1)return;if(an.layers.test(Ur.layers)){if(an.isGroup)hi=an.renderOrder;else if(an.isLOD)an.autoUpdate===!0&&an.update(Ur);else if(an.isLight)nt.pushLight(an),an.castShadow&&nt.pushShadow(an);else if(an.isSprite){if(!an.frustumCulled||oa.intersectsSprite(an)){li&&Li.setFromMatrixPosition(an.matrixWorld).applyMatrix4(Qo);const ba=Vs.update(an),ia=an.material;ia.visible&&ke.push(an,ba,ia,hi,Li.z,null)}}else if((an.isMesh||an.isLine||an.isPoints)&&(!an.frustumCulled||oa.intersectsObject(an))){const ba=Vs.update(an),ia=an.material;if(li&&(an.boundingSphere!==void 0?(an.boundingSphere===null&&an.computeBoundingSphere(),Li.copy(an.boundingSphere.center)):(ba.boundingSphere===null&&ba.computeBoundingSphere(),Li.copy(ba.boundingSphere.center)),Li.applyMatrix4(an.matrixWorld).applyMatrix4(Qo)),Array.isArray(ia)){const Ta=ba.groups;for(let Qa=0,yo=Ta.length;Qa0&&ew(Qr,Ur,hi),qs.length>0&&ew(qs,Ur,hi),ba.length>0&&ew(ba,Ur,hi),Ps.buffers.depth.setTest(!0),Ps.buffers.depth.setMask(!0),Ps.buffers.color.setMask(!0),Ps.setPolygonOffset(!1)}function wP(an,Ur,hi,li){if((hi.isScene===!0?hi.overrideMaterial:null)!==null)return;if(nt.state.transmissionRenderTarget[li.id]===void 0){const nl=da.has("EXT_color_buffer_half_float")||da.has("EXT_color_buffer_float");nt.state.transmissionRenderTarget[li.id]=new Os(1,1,{generateMipmaps:!0,type:nl?Wt:es,minFilter:yi,samples:ho.samples,stencilBuffer:a,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:xr.workingColorSpace})}const qs=nt.state.transmissionRenderTarget[li.id],ba=li.viewport||Dr;qs.setSize(ba.z*qe.transmissionResolutionScale,ba.w*qe.transmissionResolutionScale);const ia=qe.getRenderTarget(),Ta=qe.getActiveCubeFace(),Qa=qe.getActiveMipmapLevel();qe.setRenderTarget(qs),qe.getClearColor(ds),As=qe.getClearAlpha(),As<1&&qe.setClearColor(16777215,.5),qe.clear(),Hi&&$s.render(hi);const yo=qe.toneMapping;qe.toneMapping=Ct;const io=li.viewport;if(li.viewport!==void 0&&(li.viewport=void 0),nt.setupLightsView(li),Ms===!0&&Fa.setGlobalState(qe.clippingPlanes,li),ew(an,hi,li),Cr.updateMultisampleRenderTarget(qs),Cr.updateRenderTargetMipmap(qs),da.has("WEBGL_multisampled_render_to_texture")===!1){let nl=!1;for(let Eu=0,Dc=Ur.length;Eu0),io=!!hi.morphAttributes.position,nl=!!hi.morphAttributes.normal,Eu=!!hi.morphAttributes.color;let Dc=Ct;li.toneMapped&&(pr===null||pr.isXRRenderTarget===!0)&&(Dc=qe.toneMapping);const kc=hi.morphAttributes.position||hi.morphAttributes.normal||hi.morphAttributes.color,Pu=kc!==void 0?kc.length:0,so=St.get(li),Au=nt.state.lights;if(Ms===!0&&(Ha===!0||an!==zr)){const cf=an===zr&&li.id===Br;Fa.setState(li,an,cf)}let Vl=!1;li.version===so.__version?(so.needsLights&&so.lightsStateVersion!==Au.state.version||so.outputColorSpace!==ia||Qr.isBatchedMesh&&so.batching===!1||!Qr.isBatchedMesh&&so.batching===!0||Qr.isBatchedMesh&&so.batchingColor===!0&&Qr.colorTexture===null||Qr.isBatchedMesh&&so.batchingColor===!1&&Qr.colorTexture!==null||Qr.isInstancedMesh&&so.instancing===!1||!Qr.isInstancedMesh&&so.instancing===!0||Qr.isSkinnedMesh&&so.skinning===!1||!Qr.isSkinnedMesh&&so.skinning===!0||Qr.isInstancedMesh&&so.instancingColor===!0&&Qr.instanceColor===null||Qr.isInstancedMesh&&so.instancingColor===!1&&Qr.instanceColor!==null||Qr.isInstancedMesh&&so.instancingMorph===!0&&Qr.morphTexture===null||Qr.isInstancedMesh&&so.instancingMorph===!1&&Qr.morphTexture!==null||so.envMap!==Ta||li.fog===!0&&so.fog!==qs||so.numClippingPlanes!==void 0&&(so.numClippingPlanes!==Fa.numPlanes||so.numIntersection!==Fa.numIntersection)||so.vertexAlphas!==Qa||so.vertexTangents!==yo||so.morphTargets!==io||so.morphNormals!==nl||so.morphColors!==Eu||so.toneMapping!==Dc||so.morphTargetsCount!==Pu)&&(Vl=!0):(Vl=!0,so.__version=li.version);let bA=so.currentProgram;Vl===!0&&(bA=tw(li,Ur,Qr));let Wv=!1,_A=!1,Mx=!1;const Zu=bA.getUniforms(),Gf=so.uniforms;if(Ps.useProgram(bA.program)&&(Wv=!0,_A=!0,Mx=!0),li.id!==Br&&(Br=li.id,_A=!0),Wv||zr!==an){Ps.buffers.depth.getReversed()&&an.reversedDepth!==!0&&(an._reversedDepth=!0,an.updateProjectionMatrix()),Zu.setValue(Pn,"projectionMatrix",an.projectionMatrix),Zu.setValue(Pn,"viewMatrix",an.matrixWorldInverse);const Hf=Zu.map.cameraPosition;Hf!==void 0&&Hf.setValue(Pn,co.setFromMatrixPosition(an.matrixWorld)),ho.logarithmicDepthBuffer&&Zu.setValue(Pn,"logDepthBufFC",2/(Math.log(an.far+1)/Math.LN2)),(li.isMeshPhongMaterial||li.isMeshToonMaterial||li.isMeshLambertMaterial||li.isMeshBasicMaterial||li.isMeshStandardMaterial||li.isShaderMaterial)&&Zu.setValue(Pn,"isOrthographic",an.isOrthographicCamera===!0),zr!==an&&(zr=an,_A=!0,Mx=!0)}if(so.needsLights&&(Au.state.directionalShadowMap.length>0&&Zu.setValue(Pn,"directionalShadowMap",Au.state.directionalShadowMap,Cr),Au.state.spotShadowMap.length>0&&Zu.setValue(Pn,"spotShadowMap",Au.state.spotShadowMap,Cr),Au.state.pointShadowMap.length>0&&Zu.setValue(Pn,"pointShadowMap",Au.state.pointShadowMap,Cr)),Qr.isSkinnedMesh){Zu.setOptional(Pn,Qr,"bindMatrix"),Zu.setOptional(Pn,Qr,"bindMatrixInverse");const cf=Qr.skeleton;cf&&(cf.boneTexture===null&&cf.computeBoneTexture(),Zu.setValue(Pn,"boneTexture",cf.boneTexture,Cr))}Qr.isBatchedMesh&&(Zu.setOptional(Pn,Qr,"batchingTexture"),Zu.setValue(Pn,"batchingTexture",Qr._matricesTexture,Cr),Zu.setOptional(Pn,Qr,"batchingIdTexture"),Zu.setValue(Pn,"batchingIdTexture",Qr._indirectTexture,Cr),Zu.setOptional(Pn,Qr,"batchingColorTexture"),Qr._colorsTexture!==null&&Zu.setValue(Pn,"batchingColorTexture",Qr._colorsTexture,Cr));const tp=hi.morphAttributes;if((tp.position!==void 0||tp.normal!==void 0||tp.color!==void 0)&&Wo.update(Qr,hi,bA),(_A||so.receiveShadow!==Qr.receiveShadow)&&(so.receiveShadow=Qr.receiveShadow,Zu.setValue(Pn,"receiveShadow",Qr.receiveShadow)),li.isMeshGouraudMaterial&&li.envMap!==null&&(Gf.envMap.value=Ta,Gf.flipEnvMap.value=Ta.isCubeTexture&&Ta.isRenderTargetTexture===!1?-1:1),li.isMeshStandardMaterial&&li.envMap===null&&Ur.environment!==null&&(Gf.envMapIntensity.value=Ur.environmentIntensity),Gf.dfgLUT!==void 0&&(Gf.dfgLUT.value=Z3()),_A&&(Zu.setValue(Pn,"toneMappingExposure",qe.toneMappingExposure),so.needsLights&&Q$(Gf,Mx),qs&&li.fog===!0&&po.refreshFogUniforms(Gf,qs),po.refreshMaterialUniforms(Gf,li,ps,Yi,nt.state.transmissionRenderTarget[an.id]),cb.upload(Pn,MP(so),Gf,Cr)),li.isShaderMaterial&&li.uniformsNeedUpdate===!0&&(cb.upload(Pn,MP(so),Gf,Cr),li.uniformsNeedUpdate=!1),li.isSpriteMaterial&&Zu.setValue(Pn,"center",Qr.center),Zu.setValue(Pn,"modelViewMatrix",Qr.modelViewMatrix),Zu.setValue(Pn,"normalMatrix",Qr.normalMatrix),Zu.setValue(Pn,"modelMatrix",Qr.matrixWorld),li.isShaderMaterial||li.isRawShaderMaterial){const cf=li.uniformsGroups;for(let Hf=0,RE=cf.length;Hf0&&Cr.useMultisampledRTT(an)===!1?li=St.get(an).__webglMultisampledFramebuffer:Array.isArray(Qa)?li=Qa[hi]:li=Qa,Dr.copy(an.viewport),Zr.copy(an.scissor),Ti=an.scissorTest}else Dr.copy(Nr).multiplyScalar(ps).floor(),Zr.copy(Yr).multiplyScalar(ps).floor(),Ti=cs;if(hi!==0&&(li=Z$),Ps.bindFramebuffer(Pn.FRAMEBUFFER,li)&&Ps.drawBuffers(an,li),Ps.viewport(Dr),Ps.scissor(Zr),Ps.setScissorTest(Ti),Qr){const ia=St.get(an.texture);Pn.framebufferTexture2D(Pn.FRAMEBUFFER,Pn.COLOR_ATTACHMENT0,Pn.TEXTURE_CUBE_MAP_POSITIVE_X+Ur,ia.__webglTexture,hi)}else if(qs){const ia=Ur;for(let Ta=0;Ta=0&&Ur<=an.width-li&&hi>=0&&hi<=an.height-Qr&&(an.textures.length>1&&Pn.readBuffer(Pn.COLOR_ATTACHMENT0+ia),Pn.readPixels(Ur,hi,li,Qr,Ts.convert(yo),Ts.convert(io),qs))}finally{const Qa=pr!==null?St.get(pr).__webglFramebuffer:null;Ps.bindFramebuffer(Pn.FRAMEBUFFER,Qa)}}},this.readRenderTargetPixelsAsync=function(an,Ur,hi,li,Qr,qs,ba,ia=0){return Pa(this,null,function*(){if(!(an&&an.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let Ta=St.get(an).__webglFramebuffer;if(an.isWebGLCubeRenderTarget&&ba!==void 0&&(Ta=Ta[ba]),Ta)if(Ur>=0&&Ur<=an.width-li&&hi>=0&&hi<=an.height-Qr){Ps.bindFramebuffer(Pn.FRAMEBUFFER,Ta);const Qa=an.textures[ia],yo=Qa.format,io=Qa.type;if(!ho.textureFormatReadable(yo))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!ho.textureTypeReadable(io))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const nl=Pn.createBuffer();Pn.bindBuffer(Pn.PIXEL_PACK_BUFFER,nl),Pn.bufferData(Pn.PIXEL_PACK_BUFFER,qs.byteLength,Pn.STREAM_READ),an.textures.length>1&&Pn.readBuffer(Pn.COLOR_ATTACHMENT0+ia),Pn.readPixels(Ur,hi,li,Qr,Ts.convert(yo),Ts.convert(io),0);const Eu=pr!==null?St.get(pr).__webglFramebuffer:null;Ps.bindFramebuffer(Pn.FRAMEBUFFER,Eu);const Dc=Pn.fenceSync(Pn.SYNC_GPU_COMMANDS_COMPLETE,0);return Pn.flush(),yield ju(Pn,Dc,4),Pn.bindBuffer(Pn.PIXEL_PACK_BUFFER,nl),Pn.getBufferSubData(Pn.PIXEL_PACK_BUFFER,0,qs),Pn.deleteBuffer(nl),Pn.deleteSync(Dc),qs}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")})},this.copyFramebufferToTexture=function(an,Ur=null,hi=0){const li=Math.pow(2,-hi),Qr=Math.floor(an.image.width*li),qs=Math.floor(an.image.height*li),ba=Ur!==null?Ur.x:0,ia=Ur!==null?Ur.y:0;Cr.setTexture2D(an,0),Pn.copyTexSubImage2D(Pn.TEXTURE_2D,hi,0,0,ba,ia,Qr,qs),Ps.unbindTexture()};const K$=Pn.createFramebuffer(),$$=Pn.createFramebuffer();this.copyTextureToTexture=function(an,Ur,hi=null,li=null,Qr=0,qs=null){qs===null&&(Qr!==0?(ki("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),qs=Qr,Qr=0):qs=0);let ba,ia,Ta,Qa,yo,io,nl,Eu,Dc;const kc=an.isCompressedTexture?an.mipmaps[qs]:an.image;if(hi!==null)ba=hi.max.x-hi.min.x,ia=hi.max.y-hi.min.y,Ta=hi.isBox3?hi.max.z-hi.min.z:1,Qa=hi.min.x,yo=hi.min.y,io=hi.isBox3?hi.min.z:0;else{const tp=Math.pow(2,-Qr);ba=Math.floor(kc.width*tp),ia=Math.floor(kc.height*tp),an.isDataArrayTexture?Ta=kc.depth:an.isData3DTexture?Ta=Math.floor(kc.depth*tp):Ta=1,Qa=0,yo=0,io=0}li!==null?(nl=li.x,Eu=li.y,Dc=li.z):(nl=0,Eu=0,Dc=0);const Pu=Ts.convert(Ur.format),so=Ts.convert(Ur.type);let Au;Ur.isData3DTexture?(Cr.setTexture3D(Ur,0),Au=Pn.TEXTURE_3D):Ur.isDataArrayTexture||Ur.isCompressedArrayTexture?(Cr.setTexture2DArray(Ur,0),Au=Pn.TEXTURE_2D_ARRAY):(Cr.setTexture2D(Ur,0),Au=Pn.TEXTURE_2D),Pn.pixelStorei(Pn.UNPACK_FLIP_Y_WEBGL,Ur.flipY),Pn.pixelStorei(Pn.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Ur.premultiplyAlpha),Pn.pixelStorei(Pn.UNPACK_ALIGNMENT,Ur.unpackAlignment);const Vl=Pn.getParameter(Pn.UNPACK_ROW_LENGTH),bA=Pn.getParameter(Pn.UNPACK_IMAGE_HEIGHT),Wv=Pn.getParameter(Pn.UNPACK_SKIP_PIXELS),_A=Pn.getParameter(Pn.UNPACK_SKIP_ROWS),Mx=Pn.getParameter(Pn.UNPACK_SKIP_IMAGES);Pn.pixelStorei(Pn.UNPACK_ROW_LENGTH,kc.width),Pn.pixelStorei(Pn.UNPACK_IMAGE_HEIGHT,kc.height),Pn.pixelStorei(Pn.UNPACK_SKIP_PIXELS,Qa),Pn.pixelStorei(Pn.UNPACK_SKIP_ROWS,yo),Pn.pixelStorei(Pn.UNPACK_SKIP_IMAGES,io);const Zu=an.isDataArrayTexture||an.isData3DTexture,Gf=Ur.isDataArrayTexture||Ur.isData3DTexture;if(an.isDepthTexture){const tp=St.get(an),cf=St.get(Ur),Hf=St.get(tp.__renderTarget),RE=St.get(cf.__renderTarget);Ps.bindFramebuffer(Pn.READ_FRAMEBUFFER,Hf.__webglFramebuffer),Ps.bindFramebuffer(Pn.DRAW_FRAMEBUFFER,RE.__webglFramebuffer);for(let O0=0;O00){const{width:o,height:u}=e.context;t.bufferWidth=o,t.bufferHeight=u}t.lights=this.getLightsData(e.lightsNode.getLights()),this.renderObjects.set(e,t)}return t}getAttributesData(e){const t={};for(const n in e){const i=e[n];t[n]={version:i.version}}return t}containsNode(e){const t=e.material;for(const n in t)if(t[n]&&t[n].isNode)return!0;return!!(e.context.modelViewMatrix||e.context.modelNormalViewMatrix||e.context.getAO||e.context.getShadow)}getMaterialData(e){const t={};for(const n of this.refreshUniforms){const i=e[n];i!=null&&(typeof i=="object"&&i.clone!==void 0?i.isTexture===!0?t[n]={id:i.id,version:i.version}:t[n]=i.clone():t[n]=i)}return t}equals(e,t){const{object:n,material:i,geometry:a}=e,o=this.getRenderObjectData(e);if(o.worldMatrix.equals(n.matrixWorld)!==!0)return o.worldMatrix.copy(n.matrixWorld),!1;const u=o.material;for(const ee in u){const q=u[ee],ye=i[ee];if(q.equals!==void 0){if(q.equals(ye)===!1)return q.copy(ye),!1}else if(ye.isTexture===!0){if(q.id!==ye.id||q.version!==ye.version)return q.id=ye.id,q.version=ye.version,!1}else if(q!==ye)return u[ee]=ye,!1}if(u.transmission>0){const{width:ee,height:q}=e.context;if(o.bufferWidth!==ee||o.bufferHeight!==q)return o.bufferWidth=ee,o.bufferHeight=q,!1}const c=o.geometry,d=a.attributes,g=c.attributes,v=Object.keys(g),M=Object.keys(d);if(c.id!==a.id)return c.id=a.id,!1;if(v.length!==M.length)return o.geometry.attributes=this.getAttributesData(d),!1;for(const ee of v){const q=g[ee],ye=d[ee];if(ye===void 0)return delete g[ee],!1;if(q.version!==ye.version)return q.version=ye.version,!1}const B=a.index,I=c.indexVersion,ne=B?B.version:null;if(I!==ne)return c.indexVersion=ne,!1;if(c.drawRange.start!==a.drawRange.start||c.drawRange.count!==a.drawRange.count)return c.drawRange.start=a.drawRange.start,c.drawRange.count=a.drawRange.count,!1;if(o.morphTargetInfluences){let ee=!1;for(let q=0;q>>16,2246822507),t^=Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)}const dv=s=>a1(s),o0=s=>a1(s),fv=(...s)=>a1(s),j3=new Map([[1,"float"],[2,"vec2"],[3,"vec3"],[4,"vec4"],[9,"mat3"],[16,"mat4"]]),XC=new WeakMap;function o1(s){return j3.get(s)}function Ey(s){if(/[iu]?vec\d/.test(s))return s.startsWith("ivec")?Int32Array:s.startsWith("uvec")?Uint32Array:Float32Array;if(/mat\d/.test(s)||/float/.test(s))return Float32Array;if(/uint/.test(s))return Uint32Array;if(/int/.test(s))return Int32Array;throw new Error(`THREE.NodeUtils: Unsupported type: ${s}`)}function l1(s){if(/float|int|uint/.test(s))return 1;if(/vec2/.test(s))return 2;if(/vec3/.test(s))return 3;if(/vec4/.test(s)||/mat2/.test(s))return 4;if(/mat3/.test(s))return 9;if(/mat4/.test(s))return 16;Gr("TSL: Unsupported type:",s)}function jC(s){if(/float|int|uint/.test(s))return 1;if(/vec2/.test(s))return 2;if(/vec3/.test(s))return 3;if(/vec4/.test(s)||/mat2/.test(s))return 4;if(/mat3/.test(s))return 12;if(/mat4/.test(s))return 16;Gr("TSL: Unsupported type:",s)}function YC(s){if(/float|int|uint/.test(s))return 4;if(/vec2/.test(s))return 8;if(/vec3/.test(s)||/vec4/.test(s))return 16;if(/mat2/.test(s))return 8;if(/mat3/.test(s)||/mat4/.test(s))return 16;Gr("TSL: Unsupported type:",s)}function Qg(s){if(s==null)return null;const e=typeof s;return s.isNode===!0?"node":e==="number"?"float":e==="boolean"?"bool":e==="string"?"string":e==="function"?"shader":s.isVector2===!0?"vec2":s.isVector3===!0?"vec3":s.isVector4===!0?"vec4":s.isMatrix2===!0?"mat2":s.isMatrix3===!0?"mat3":s.isMatrix4===!0?"mat4":s.isColor===!0?"color":s instanceof ArrayBuffer?"ArrayBuffer":null}function db(s,...e){const t=s?s.slice(-4):void 0;return e.length===1&&(t==="vec2"?e=[e[0],e[0]]:t==="vec3"?e=[e[0],e[0],e[0]]:t==="vec4"&&(e=[e[0],e[0],e[0],e[0]])),s==="color"?new Wr(...e):t==="vec2"?new ce(...e):t==="vec3"?new le(...e):t==="vec4"?new Ni(...e):t==="mat2"?new gp(...e):t==="mat3"?new pn(...e):t==="mat4"?new di(...e):s==="bool"?e[0]||!1:s==="float"||s==="int"||s==="uint"?e[0]||0:s==="string"?e[0]||"":s==="ArrayBuffer"?h1(e[0]):null}function u1(s){let e=XC.get(s);return e===void 0&&(e={},XC.set(s,e)),e}function c1(s){let e="";const t=new Uint8Array(s);for(let n=0;ne.charCodeAt(0)).buffer}var DX=Object.freeze({__proto__:null,arrayBufferToBase64:c1,base64ToArrayBuffer:h1,getAlignmentFromType:YC,getDataFromObject:u1,getLengthFromType:l1,getMemoryLengthFromType:jC,getTypeFromLength:o1,getTypedArrayFromType:Ey,getValueFromType:db,getValueType:Qg,hash:fv,hashArray:o0,hashString:dv});const Cy={VERTEX:"vertex",FRAGMENT:"fragment"},Ao={NONE:"none",FRAME:"frame",RENDER:"render",OBJECT:"object"},Y3={BOOLEAN:"bool",INTEGER:"int",FLOAT:"float",VECTOR2:"vec2",VECTOR3:"vec3",VECTOR4:"vec4",MATRIX2:"mat2",MATRIX3:"mat3",MATRIX4:"mat4"},od={READ_ONLY:"readOnly",WRITE_ONLY:"writeOnly",READ_WRITE:"readWrite"},qC=["fragment","vertex"],d1=["setup","analyze","generate"],f1=[...qC,"compute"],l0=["x","y","z","w"],q3={analyze:"setup",generate:"analyze"};let J3=0;class ta extends bl{static get type(){return"Node"}constructor(e=null){super(),this.nodeType=e,this.updateType=Ao.NONE,this.updateBeforeType=Ao.NONE,this.updateAfterType=Ao.NONE,this.uuid=me.generateUUID(),this.version=0,this.name="",this.global=!1,this.parents=!1,this.isNode=!0,this._beforeNodes=null,this._cacheKey=null,this._cacheKeyVersion=0,Object.defineProperty(this,"id",{value:J3++})}set needsUpdate(e){e===!0&&this.version++}get type(){return this.constructor.type}onUpdate(e,t){return this.updateType=t,this.update=e.bind(this),this}onFrameUpdate(e){return this.onUpdate(e,Ao.FRAME)}onRenderUpdate(e){return this.onUpdate(e,Ao.RENDER)}onObjectUpdate(e){return this.onUpdate(e,Ao.OBJECT)}onReference(e){return this.updateReference=e.bind(this),this}updateReference(){return this}isGlobal(){return this.global}*getChildren(){for(const{childNode:e}of this._getChildren())yield e}dispose(){this.dispatchEvent({type:"dispose"})}traverse(e){e(this);for(const t of this.getChildren())t.traverse(e)}_getChildren(e=new Set){const t=[];e.add(this);for(const n of Object.getOwnPropertyNames(this)){const i=this[n];if(!(n.startsWith("_")===!0||e.has(i))){if(Array.isArray(i)===!0)for(let a=0;a0&&(e.inputNodes=n)}deserialize(e){if(e.inputNodes!==void 0){const t=e.meta.nodes;for(const n in e.inputNodes)if(Array.isArray(e.inputNodes[n])){const i=[];for(const a of e.inputNodes[n])i.push(t[a]);this[n]=i}else if(typeof e.inputNodes[n]=="object"){const i={};for(const a in e.inputNodes[n]){const o=e.inputNodes[n][a];i[a]=t[o]}this[n]=i}else{const i=e.inputNodes[n];this[n]=t[i]}}}toJSON(e){const{uuid:t,type:n}=this,i=e===void 0||typeof e=="string";i&&(e={textures:{},images:{},nodes:{}});let a=e.nodes[t];a===void 0&&(a={uuid:t,type:n,meta:e,metadata:{version:4.7,type:"Node",generator:"Node.toJSON"}},i!==!0&&(e.nodes[a.uuid]=a),this.serialize(a),delete a.meta);function o(u){const c=[];for(const d in u){const g=u[d];delete g.metadata,c.push(g)}return c}if(i){const u=o(e.textures),c=o(e.images),d=o(e.nodes);u.length>0&&(a.textures=u),c.length>0&&(a.images=c),d.length>0&&(a.nodes=d)}return a}}class u0 extends ta{static get type(){return"ArrayElementNode"}constructor(e,t){super(),this.node=e,this.indexNode=t,this.isArrayElementNode=!0}getNodeType(e){return this.node.getElementType(e)}getMemberType(e,t){return this.node.getMemberType(e,t)}generate(e){const t=this.indexNode.getNodeType(e),n=this.node.build(e),i=this.indexNode.build(e,!e.isVector(t)&&e.isInteger(t)?t:"uint");return`${n}[ ${i} ]`}}class JC extends ta{static get type(){return"ConvertNode"}constructor(e,t){super(),this.node=e,this.convertTo=t}getNodeType(e){const t=this.node.getNodeType(e);let n=null;for(const i of this.convertTo.split("|"))(n===null||e.getTypeLength(t)===e.getTypeLength(i))&&(n=i);return n}serialize(e){super.serialize(e),e.convertTo=this.convertTo}deserialize(e){super.deserialize(e),this.convertTo=e.convertTo}generate(e,t){const n=this.node,i=this.getNodeType(e),a=n.build(e,i);return e.format(a,i,t)}}class pc extends ta{static get type(){return"TempNode"}constructor(e=null){super(e),this.isTempNode=!0}hasDependencies(e){return e.getDataFromNode(this).usageCount>1}build(e,t){if(e.getBuildStage()==="generate"){const i=e.getVectorType(this.getNodeType(e,t)),a=e.getDataFromNode(this);if(a.propertyName!==void 0)return e.format(a.propertyName,i,t);if(i!=="void"&&t!=="void"&&this.hasDependencies(e)){const o=super.build(e,i),u=e.getVarFromNode(this,null,i),c=e.getPropertyName(u);return e.addLineFlowCode(`${c} = ${o}`,this),a.snippet=o,a.propertyName=c,e.format(a.propertyName,i,t)}}return super.build(e,t)}}class ek extends pc{static get type(){return"JoinNode"}constructor(e=[],t=null){super(t),this.nodes=e}getNodeType(e){return this.nodeType!==null?e.getVectorType(this.nodeType):e.getTypeFromLength(this.nodes.reduce((t,n)=>t+e.getTypeLength(n.getNodeType(e)),0))}generate(e,t){const n=this.getNodeType(e),i=e.getTypeLength(n),a=this.nodes,o=e.getComponentType(n),u=[];let c=0;for(const g of a){if(c>=i){Gr(`TSL: Length of parameters exceeds maximum length of function '${n}()' type.`);break}let v=g.getNodeType(e),M=e.getTypeLength(v),B;if(c+M>i&&(Gr(`TSL: Length of '${n}()' data exceeds maximum length of output type.`),M=i-c,v=e.getTypeFromLength(M)),c+=M,B=g.build(e,v),e.getComponentType(v)!==o){const ne=e.getTypeFromLength(M,o);B=e.format(B,v,ne)}u.push(B)}const d=`${e.getType(n)}( ${u.join(", ")} )`;return e.format(d,n,t)}}const tk=l0.join("");class eT extends ta{static get type(){return"SplitNode"}constructor(e,t="x"){super(),this.node=e,this.components=t,this.isSplitNode=!0}getVectorLength(){let e=this.components.length;for(const t of this.components)e=Math.max(l0.indexOf(t)+1,e);return e}getComponentType(e){return e.getComponentType(this.node.getNodeType(e))}getNodeType(e){return e.getTypeFromLength(this.components.length,this.getComponentType(e))}getScope(){return this.node.getScope()}generate(e,t){const n=this.node,i=e.getTypeLength(n.getNodeType(e));let a=null;if(i>1){let o=null;this.getVectorLength()>=i&&(o=e.getTypeFromLength(this.getVectorLength(),this.getComponentType(e)));const c=n.build(e,o);this.components.length===i&&this.components===tk.slice(0,this.components.length)?a=e.format(c,o,t):a=e.format(`${c}.${this.components}`,this.getNodeType(e),t)}else a=n.build(e,t);return a}serialize(e){super.serialize(e),e.components=this.components}deserialize(e){super.deserialize(e),this.components=e.components}}class nk extends pc{static get type(){return"SetNode"}constructor(e,t,n){super(),this.sourceNode=e,this.components=t,this.targetNode=n}getNodeType(e){return this.sourceNode.getNodeType(e)}generate(e){const{sourceNode:t,components:n,targetNode:i}=this,a=this.getNodeType(e),o=e.getComponentType(i.getNodeType(e)),u=e.getTypeFromLength(n.length,o),c=i.build(e,u),d=t.build(e,a),g=e.getTypeLength(a),v=[];for(let M=0;Ms.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),nT=s=>sk(s).split("").sort().join("");ta.prototype.assign=function(...s){if(this.isStackNode!==!0)return Rm!==null?Rm.assign(this,...s):Gr("TSL: No stack defined for assign operation. Make sure the assign is inside a Fn()."),this;{const e=p1.get("assign");return this.addToStack(e(...s))}},ta.prototype.toVarIntent=function(){return this},ta.prototype.get=function(s){return new ik(this,s)};const Ty={};function fb(s,e,t){Ty[s]=Ty[e]=Ty[t]={get(){this._cache=this._cache||{};let o=this._cache[s];return o===void 0&&(o=new eT(this,s),this._cache[s]=o),o},set(o){this[s].assign(Ss(o))}};const n=s.toUpperCase(),i=e.toUpperCase(),a=t.toUpperCase();ta.prototype["set"+n]=ta.prototype["set"+i]=ta.prototype["set"+a]=function(o){const u=nT(s);return new nk(this,u,Ss(o))},ta.prototype["flip"+n]=ta.prototype["flip"+i]=ta.prototype["flip"+a]=function(){const o=nT(s);return new rk(this,o)}}const tg=["x","y","z","w"],ng=["r","g","b","a"],rg=["s","t","p","q"];for(let s=0;s<4;s++){let e=tg[s],t=ng[s],n=rg[s];fb(e,t,n);for(let i=0;i<4;i++){e=tg[s]+tg[i],t=ng[s]+ng[i],n=rg[s]+rg[i],fb(e,t,n);for(let a=0;a<4;a++){e=tg[s]+tg[i]+tg[a],t=ng[s]+ng[i]+ng[a],n=rg[s]+rg[i]+rg[a],fb(e,t,n);for(let o=0;o<4;o++)e=tg[s]+tg[i]+tg[a]+tg[o],t=ng[s]+ng[i]+ng[a]+ng[o],n=rg[s]+rg[i]+rg[a]+rg[o],fb(e,t,n)}}}for(let s=0;s<32;s++)Ty[s]={get(){this._cache=this._cache||{};let e=this._cache[s];return e===void 0&&(e=new u0(this,new QA(s,"uint")),this._cache[s]=e),e},set(e){this[s].assign(Ss(e))}};Object.defineProperties(ta.prototype,Ty);const rT=new WeakMap,ak=function(s,e=null){const t=Qg(s);return t==="node"?s:e===null&&(t==="float"||t==="boolean")||t&&t!=="shader"&&t!=="string"?Ss(y1(s,e)):t==="shader"?s.isFn?s:or(s):s},ok=function(s,e=null){for(const t in s)s[t]=Ss(s[t],e);return s},lk=function(s,e=null){const t=s.length;for(let n=0;nc?(Gr(`TSL: "${v}" parameter length exceeds limit.`),g.slice(0,c)):g}return e===null?a=(...g)=>i(new s(...c0(d(g)))):t!==null?(t=Ss(t),a=(...g)=>i(new s(e,...c0(d(g)),t))):a=(...g)=>i(new s(e,...c0(d(g)))),a.setParameterLength=(...g)=>(g.length===1?u=c=g[0]:g.length===2&&([u,c]=g),a),a.setName=g=>(o=g,a),a},uk=function(s,...e){return new s(...c0(e))};class ck extends ta{constructor(e,t){super(),this.shaderNode=e,this.rawInputs=t,this.isShaderCallNodeInternal=!0}getNodeType(e){return this.shaderNode.nodeType||this.getOutputNode(e).getNodeType(e)}getElementType(e){return this.getOutputNode(e).getElementType(e)}getMemberType(e,t){return this.getOutputNode(e).getMemberType(e,t)}call(e){const{shaderNode:t,rawInputs:n}=this,i=e.getNodeProperties(t),a=e.getClosestSubBuild(t.subBuilds)||"",o=a||"default";if(i[o])return i[o];const u=e.subBuildFn,c=e.fnCall;e.subBuildFn=a,e.fnCall=this;let d=null;if(t.layout){let g=rT.get(e.constructor);g===void 0&&(g=new WeakMap,rT.set(e.constructor,g));let v=g.get(t);v===void 0&&(v=Ss(e.buildFunctionNode(t)),g.set(t,v)),e.addInclude(v);const M=n?hk(n):null;d=Ss(v.call(M))}else{const g=new Proxy(e,{get:(ne,ee,q)=>{let ye;return Symbol.iterator===ee?ye=function*(){yield void 0}:ye=Reflect.get(ne,ee,q),ye}}),v=n?dk(n):null,M=Array.isArray(n)?n.length>0:n!==null,B=t.jsFunc,I=M||B.length>1?B(v,g):B(g);d=Ss(I)}return e.subBuildFn=u,e.fnCall=c,t.once&&(i[o]=d),d}setupOutput(e){return e.addStack(),e.stack.outputNode=this.call(e),e.removeStack()}getOutputNode(e){const t=e.getNodeProperties(this),n=e.getSubBuildOutput(this);return t[n]=t[n]||this.setupOutput(e),t[n].subBuild=e.getClosestSubBuild(this),t[n]}build(e,t=null){let n=null;const i=e.getBuildStage(),a=e.getNodeProperties(this),o=e.getSubBuildOutput(this),u=this.getOutputNode(e),c=e.fnCall;if(e.fnCall=this,i==="setup"){const d=e.getSubBuildProperty("initialized",this);if(a[d]!==!0&&(a[d]=!0,a[o]=this.getOutputNode(e),a[o].build(e),this.shaderNode.subBuilds))for(const g of e.chaining){const v=e.getDataFromNode(g,"any");v.subBuilds=v.subBuilds||new Set;for(const M of this.shaderNode.subBuilds)v.subBuilds.add(M)}n=a[o]}else i==="analyze"?u.build(e,t):i==="generate"&&(n=u.build(e,t)||"");return e.fnCall=c,n}}function hk(s){let e;return gb(s),s[0]&&(s[0].isNode||Object.getPrototypeOf(s[0])!==Object.prototype)?e=[...s]:e=s[0],e}function dk(s){let e=0;return gb(s),new Proxy(s,{get:(t,n,i)=>{let a;if(n==="length")return a=s.length,a;if(Symbol.iterator===n)a=function*(){for(const o of s)yield Ss(o)};else{if(s.length>0)if(Object.getPrototypeOf(s[0])===Object.prototype){const o=s[0];o[n]===void 0?a=o[e++]:a=Reflect.get(o,n,i)}else s[0]instanceof ta&&(s[n]===void 0?a=s[e++]:a=Reflect.get(s,n,i));else a=Reflect.get(t,n,i);a=Ss(a)}return a}})}class fk extends ta{constructor(e,t){super(t),this.jsFunc=e,this.layout=null,this.global=!0,this.once=!1}setLayout(e){return this.layout=e,this}getLayout(){return this.layout}call(e=null){return new ck(this,e)}setup(){return this.call()}}const Ak=[!1,!0],pk=[0,1,2,3],gk=[-1,-2],sT=[.5,1.5,1/3,1e-6,1e6,Math.PI,Math.PI*2,1/Math.PI,2/Math.PI,1/(Math.PI*2),Math.PI/2],g1=new Map;for(const s of Ak)g1.set(s,new QA(s));const m1=new Map;for(const s of pk)m1.set(s,new QA(s,"uint"));const v1=new Map([...m1].map(s=>new QA(s.value,"int")));for(const s of gk)v1.set(s,new QA(s,"int"));const Ab=new Map([...v1].map(s=>new QA(s.value)));for(const s of sT)Ab.set(s,new QA(s));for(const s of sT)Ab.set(-s,new QA(-s));const pb={bool:g1,uint:m1,ints:v1,float:Ab},aT=new Map([...g1,...Ab]),y1=(s,e)=>aT.has(s)?aT.get(s):s.isNode===!0?s:new QA(s,e),uh=function(s,e=null){return(...t)=>{for(const i of t)if(i===void 0)return Gr(`TSL: Invalid parameter for the type "${s}".`),new QA(0,s);if((t.length===0||!["bool","float","int","uint"].includes(s)&&t.every(i=>{const a=typeof i;return a!=="object"&&a!=="function"}))&&(t=[db(s,...t)]),t.length===1&&e!==null&&e.has(t[0]))return Ry(e.get(t[0]));if(t.length===1){const i=y1(t[0],s);return i.nodeType===s?Ry(i):Ry(new JC(i,s))}const n=t.map(i=>y1(i));return Ry(new ek(n,s))}},By=s=>typeof s=="object"&&s!==null?s.value:s,oT=s=>s!=null?s.nodeType||s.convertTo||(typeof s=="string"?s:null):null;function Av(s,e){return new fk(s,e)}const Ss=(s,e=null)=>ak(s,e),Ry=(s,e=null)=>Ss(s,e).toVarIntent(),gb=(s,e=null)=>new ok(s,e),c0=(s,e=null)=>new lk(s,e),to=(s,e=null,t=null,n=null)=>new iT(s,e,t,n),xs=(s,...e)=>new uk(s,...e),ji=(s,e=null,t=null,n={})=>new iT(s,e,t,fd(rl({},n),{intent:!0}));let mk=0;class vk extends ta{constructor(e,t=null){super();let n=null;t!==null&&(typeof t=="object"?n=t.return:(typeof t=="string"?n=t:Gr("TSL: Invalid layout type."),t=null)),this.shaderNode=new Av(e,n),t!==null&&this.setLayout(t),this.isFn=!0}setLayout(e){const t=this.shaderNode.nodeType;if(typeof e.inputs!="object"){const n={name:"fn"+mk++,type:t,inputs:[]};for(const i in e)i!=="return"&&n.inputs.push({name:i,type:e[i]});e=n}return this.shaderNode.setLayout(e),this}getNodeType(e){return this.shaderNode.getNodeType(e)||"float"}call(...e){const t=this.shaderNode.call(e);return this.shaderNode.nodeType==="void"&&t.toStack(),t.toVarIntent()}once(e=null){return this.shaderNode.once=!0,this.shaderNode.subBuilds=e,this}generate(e){const t=this.getNodeType(e);return Gr('TSL: "Fn()" was declared but not invoked. Try calling it like "Fn()( ...params )".'),e.generateConst(t)}}function or(s,e=null){const t=new vk(s,e);return new Proxy(()=>{},{apply(n,i,a){return t.call(...a)},get(n,i,a){return Reflect.get(t,i,a)},set(n,i,a,o){return Reflect.set(t,i,a,o)}})}const Iy=s=>{Rm=s},x1=()=>Rm,ra=(...s)=>Rm.If(...s),yk=(...s)=>Rm.Switch(...s);function mb(s){return Rm&&Rm.addToStack(s),s}ci("toStack",mb);const lT=new uh("color"),qt=new uh("float",pb.float),Qn=new uh("int",pb.ints),Fi=new uh("uint",pb.uint),WA=new uh("bool",pb.bool),Gi=new uh("vec2"),ch=new uh("ivec2"),b1=new uh("uvec2"),uT=new uh("bvec2"),Kn=new uh("vec3"),_1=new uh("ivec3"),h0=new uh("uvec3"),w1=new uh("bvec3"),Ks=new uh("vec4"),S1=new uh("ivec4"),M1=new uh("uvec4"),cT=new uh("bvec4"),vb=new uh("mat2"),ld=new uh("mat3"),Im=new uh("mat4"),xk=(s="")=>new QA(s,"string"),bk=s=>new QA(s,"ArrayBuffer");ci("toColor",lT),ci("toFloat",qt),ci("toInt",Qn),ci("toUint",Fi),ci("toBool",WA),ci("toVec2",Gi),ci("toIVec2",ch),ci("toUVec2",b1),ci("toBVec2",uT),ci("toVec3",Kn),ci("toIVec3",_1),ci("toUVec3",h0),ci("toBVec3",w1),ci("toVec4",Ks),ci("toIVec4",S1),ci("toUVec4",M1),ci("toBVec4",cT),ci("toMat2",vb),ci("toMat3",ld),ci("toMat4",Im);const hT=to(u0).setParameterLength(2),dT=(s,e)=>Ss(new JC(Ss(s),e)),_k=(s,e)=>Ss(new eT(Ss(s),e));ci("element",hT),ci("convert",dT);const wk=s=>(Lr("TSL: append() has been renamed to Stack()."),mb(s));ci("append",s=>(Lr("TSL: .append() has been renamed to .toStack()."),mb(s)));class Fl extends ta{static get type(){return"PropertyNode"}constructor(e,t=null,n=!1){super(e),this.name=t,this.varying=n,this.isPropertyNode=!0,this.global=!0}customCacheKey(){return dv(this.type+":"+(this.name||"")+":"+(this.varying?"1":"0"))}getHash(e){return this.name||super.getHash(e)}generate(e){let t;return this.varying===!0?(t=e.getVaryingFromNode(this,this.name),t.needsInterpolation=!0):t=e.getVarFromNode(this,this.name),e.getPropertyName(t)}}const bp=(s,e)=>new Fl(s,e),cA=(s,e)=>new Fl(s,e,!0),Wl=xs(Fl,"vec4","DiffuseColor"),d0=xs(Fl,"vec3","DiffuseContribution"),E1=xs(Fl,"vec3","EmissiveColor"),ig=xs(Fl,"float","Roughness"),Wg=xs(Fl,"float","Metalness"),yb=xs(Fl,"float","Clearcoat"),Ny=xs(Fl,"float","ClearcoatRoughness"),hA=xs(Fl,"vec3","Sheen"),Nm=xs(Fl,"float","SheenRoughness"),xb=xs(Fl,"float","Iridescence"),bb=xs(Fl,"float","IridescenceIOR"),_b=xs(Fl,"float","IridescenceThickness"),wb=xs(Fl,"float","AlphaT"),Fm=xs(Fl,"float","Anisotropy"),Fy=xs(Fl,"vec3","AnisotropyT"),f0=xs(Fl,"vec3","AnisotropyB"),Pm=xs(Fl,"color","SpecularColor"),A0=xs(Fl,"color","SpecularColorBlended"),pv=xs(Fl,"float","SpecularF90"),Sb=xs(Fl,"float","Shininess"),gv=xs(Fl,"vec4","Output"),p0=xs(Fl,"float","dashSize"),Py=xs(Fl,"float","gapSize"),Sk=xs(Fl,"float","pointWidth"),Ly=xs(Fl,"float","IOR"),Mb=xs(Fl,"float","Transmission"),C1=xs(Fl,"float","Thickness"),T1=xs(Fl,"float","AttenuationDistance"),B1=xs(Fl,"color","AttenuationColor"),R1=xs(Fl,"float","Dispersion");class fT extends ta{static get type(){return"UniformGroupNode"}constructor(e,t=!1,n=1){super("string"),this.name=e,this.shared=t,this.order=n,this.isUniformGroup=!0}serialize(e){super.serialize(e),e.name=this.name,e.version=this.version,e.shared=this.shared}deserialize(e){super.deserialize(e),this.name=e.name,this.version=e.version,this.shared=e.shared}}const AT=s=>new fT(s),Eb=(s,e=0)=>new fT(s,!0,e),pT=Eb("frame"),xa=Eb("render"),I1=AT("object");class Uy extends A1{static get type(){return"UniformNode"}constructor(e,t=null){super(e,t),this.isUniformNode=!0,this.name="",this.groupNode=I1}setName(e){return this.name=e,this}label(e){return Lr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setGroup(e){return this.groupNode=e,this}getGroup(){return this.groupNode}getUniformHash(e){return this.getHash(e)}onUpdate(e,t){return e=e.bind(this),super.onUpdate(n=>{const i=e(n,this);i!==void 0&&(this.value=i)},t)}getInputType(e){let t=super.getInputType(e);return t==="bool"&&(t="uint"),t}generate(e,t){const n=this.getNodeType(e),i=this.getUniformHash(e);let a=e.getNodeFromHash(i);a===void 0&&(e.setHashNode(this,i),a=this);const o=a.getInputType(e),u=e.getUniformFromNode(a,o,e.shaderStage,this.name||e.context.nodeName),c=e.getPropertyName(u);e.context.nodeName!==void 0&&delete e.context.nodeName;let d=c;if(n==="bool"){const g=e.getDataFromNode(this);let v=g.propertyName;if(v===void 0){const M=e.getVarFromNode(this,null,"bool");v=e.getPropertyName(M),g.propertyName=v,d=e.format(c,o,n),e.addLineFlowCode(`${v} = ${d}`,this)}d=v}return e.format(d,n,t)}}const va=(s,e)=>{const t=oT(e||s);if(t===s&&(s=db(t)),s&&s.isNode===!0){let n=s.value;s.traverse(i=>{i.isConstNode===!0&&(n=i.value)}),s=n}return new Uy(s,t)};class gT extends pc{static get type(){return"ArrayNode"}constructor(e,t,n=null){super(e),this.count=t,this.values=n,this.isArrayNode=!0}getArrayCount(){return this.count}getNodeType(e){return this.nodeType===null?this.values[0].getNodeType(e):this.nodeType}getElementType(e){return this.getNodeType(e)}getMemberType(e,t){return this.nodeType===null?this.values[0].getMemberType(e,t):super.getMemberType(e,t)}generate(e){const t=this.getNodeType(e);return e.generateArray(t,this.count,this.values)}}const mT=(...s)=>{let e;if(s.length===1){const t=s[0];e=new gT(null,t.length,t)}else{const t=s[0],n=s[1];e=new gT(t,n)}return Ss(e)};ci("toArray",(s,e)=>mT(Array(e).fill(s)));class Mk extends pc{static get type(){return"AssignNode"}constructor(e,t){super(),this.targetNode=e,this.sourceNode=t,this.isAssignNode=!0}hasDependencies(){return!1}getNodeType(e,t){return t!=="void"?this.targetNode.getNodeType(e):"void"}needsSplitAssign(e){const{targetNode:t}=this;if(e.isAvailable("swizzleAssign")===!1&&t.isSplitNode&&t.components.length>1){const n=e.getTypeLength(t.node.getNodeType(e));return l0.join("").slice(0,n)!==t.components}return!1}setup(e){const{targetNode:t,sourceNode:n}=this,i=t.getScope(),a=e.getDataFromNode(i);a.assign=!0;const o=e.getNodeProperties(this);o.sourceNode=n,o.targetNode=t.context({assign:!0})}generate(e,t){const{targetNode:n,sourceNode:i}=e.getNodeProperties(this),a=this.needsSplitAssign(e),o=n.build(e),u=n.getNodeType(e),c=i.build(e,u),d=i.getNodeType(e),g=e.getDataFromNode(this);let v;if(g.initialized===!0)t!=="void"&&(v=o);else if(a){const M=e.getVarFromNode(this,null,u),B=e.getPropertyName(M);e.addLineFlowCode(`${B} = ${c}`,this);const I=n.node,ee=I.node.context({assign:!0}).build(e);for(let q=0;q{const g=d.type,v=g==="pointer";let M;return v?M="&"+c.build(e):M=c.build(e,g),M};if(Array.isArray(a)){if(a.length>i.length)Gr("TSL: The number of provided parameters exceeds the expected number of inputs in 'Fn()'."),a.length=i.length;else if(a.length(e=e.length>1||e[0]&&e[0].isNode===!0?c0(e):gb(e[0]),new Ek(Ss(s),e));ci("call",yT);const Ck={"==":"equal","!=":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEqual",">=":"greaterThanEqual","%":"mod"};class gc extends pc{static get type(){return"OperatorNode"}constructor(e,t,n,...i){if(super(),i.length>0){let a=new gc(e,t,n);for(let o=0;o>"||n==="<<")return e.getIntegerType(o);if(n==="!"||n==="&&"||n==="||"||n==="^^")return"bool";if(n==="=="||n==="!="||n==="<"||n===">"||n==="<="||n===">="){const c=Math.max(e.getTypeLength(o),e.getTypeLength(u));return c>1?`bvec${c}`:"bool"}else{if(e.isMatrix(o)){if(u==="float")return o;if(e.isVector(u))return e.getVectorFromMatrix(o);if(e.isMatrix(u))return o}else if(e.isMatrix(u)){if(o==="float")return u;if(e.isVector(o))return e.getVectorFromMatrix(u)}return e.getTypeLength(u)>e.getTypeLength(o)?u:o}}generate(e,t){const n=this.op,{aNode:i,bNode:a}=this,o=this.getNodeType(e,t);let u=null,c=null;o!=="void"?(u=i.getNodeType(e),c=a?a.getNodeType(e):null,n==="<"||n===">"||n==="<="||n===">="||n==="=="||n==="!="?e.isVector(u)?c=u:e.isVector(c)?u=c:u!==c&&(u=c="float"):n===">>"||n==="<<"?(u=o,c=e.changeComponentType(c,"uint")):n==="%"?(u=o,c=e.isInteger(u)&&e.isInteger(c)?c:u):e.isMatrix(u)?c==="float"?c="float":e.isVector(c)?c=e.getVectorFromMatrix(u):e.isMatrix(c)||(u=c=o):e.isMatrix(c)?u==="float"?u="float":e.isVector(u)?u=e.getVectorFromMatrix(c):u=c=o:u=c=o):u=c=o;const d=i.build(e,u),g=a?a.build(e,c):null,v=e.getFunctionOperator(n);if(t!=="void"){const M=e.renderer.coordinateSystem===gl;if(n==="=="||n==="!="||n==="<"||n===">"||n==="<="||n===">=")return M?e.isVector(u)?e.format(`${this.getOperatorMethod(e,t)}( ${d}, ${g} )`,o,t):e.format(`( ${d} ${n} ${g} )`,o,t):e.format(`( ${d} ${n} ${g} )`,o,t);if(n==="%")return e.isInteger(c)?e.format(`( ${d} % ${g} )`,o,t):e.format(`${this.getOperatorMethod(e,o)}( ${d}, ${g} )`,o,t);if(n==="!"||n==="~")return e.format(`(${n}${d})`,u,t);if(v)return e.format(`${v}( ${d}, ${g} )`,o,t);if(e.isMatrix(u)&&c==="float")return e.format(`( ${g} ${n} ${d} )`,o,t);if(u==="float"&&e.isMatrix(c))return e.format(`${d} ${n} ${g}`,o,t);{let B=`( ${d} ${n} ${g} )`;return!M&&o==="bool"&&e.isVector(u)&&e.isVector(c)&&(B=`all${B}`),e.format(B,o,t)}}else if(u!=="void")return v?e.format(`${v}( ${d}, ${g} )`,o,t):e.isMatrix(u)&&c==="float"?e.format(`${g} ${n} ${d}`,o,t):e.format(`${d} ${n} ${g}`,o,t)}serialize(e){super.serialize(e),e.op=this.op}deserialize(e){super.deserialize(e),this.op=e.op}}const $c=ji(gc,"+").setParameterLength(2,1/0).setName("add"),el=ji(gc,"-").setParameterLength(2,1/0).setName("sub"),no=ji(gc,"*").setParameterLength(2,1/0).setName("mul"),dA=ji(gc,"/").setParameterLength(2,1/0).setName("div"),Oy=ji(gc,"%").setParameterLength(2).setName("mod"),N1=ji(gc,"==").setParameterLength(2).setName("equal"),xT=ji(gc,"!=").setParameterLength(2).setName("notEqual"),bT=ji(gc,"<").setParameterLength(2).setName("lessThan"),F1=ji(gc,">").setParameterLength(2).setName("greaterThan"),_T=ji(gc,"<=").setParameterLength(2).setName("lessThanEqual"),wT=ji(gc,">=").setParameterLength(2).setName("greaterThanEqual"),ST=ji(gc,"&&").setParameterLength(2,1/0).setName("and"),MT=ji(gc,"||").setParameterLength(2,1/0).setName("or"),ET=ji(gc,"!").setParameterLength(1).setName("not"),CT=ji(gc,"^^").setParameterLength(2).setName("xor"),TT=ji(gc,"&").setParameterLength(2).setName("bitAnd"),BT=ji(gc,"~").setParameterLength(1).setName("bitNot"),RT=ji(gc,"|").setParameterLength(2).setName("bitOr"),IT=ji(gc,"^").setParameterLength(2).setName("bitXor"),NT=ji(gc,"<<").setParameterLength(2).setName("shiftLeft"),FT=ji(gc,">>").setParameterLength(2).setName("shiftRight"),PT=or(([s])=>(s.addAssign(1),s)),LT=or(([s])=>(s.subAssign(1),s)),UT=or(([s])=>{const e=Qn(s).toConst();return s.addAssign(1),e}),OT=or(([s])=>{const e=Qn(s).toConst();return s.subAssign(1),e});ci("add",$c),ci("sub",el),ci("mul",no),ci("div",dA),ci("mod",Oy),ci("equal",N1),ci("notEqual",xT),ci("lessThan",bT),ci("greaterThan",F1),ci("lessThanEqual",_T),ci("greaterThanEqual",wT),ci("and",ST),ci("or",MT),ci("not",ET),ci("xor",CT),ci("bitAnd",TT),ci("bitNot",BT),ci("bitOr",RT),ci("bitXor",IT),ci("shiftLeft",NT),ci("shiftRight",FT),ci("incrementBefore",PT),ci("decrementBefore",LT),ci("increment",UT),ci("decrement",OT);const DT=(s,e)=>(Lr('TSL: "modInt()" is deprecated. Use "mod( int( ... ) )" instead.'),Oy(Qn(s),Qn(e)));ci("modInt",DT);class Or extends pc{static get type(){return"MathNode"}constructor(e,t,n=null,i=null){if(super(),(e===Or.MAX||e===Or.MIN)&&arguments.length>3){let a=new Or(e,t,n);for(let o=2;oo&&a>u?t:o>u?n:u>a?i:t}getNodeType(e){const t=this.method;return t===Or.LENGTH||t===Or.DISTANCE||t===Or.DOT?"float":t===Or.CROSS?"vec3":t===Or.ALL||t===Or.ANY?"bool":t===Or.EQUALS?e.changeComponentType(this.aNode.getNodeType(e),"bool"):this.getInputType(e)}setup(e){const{aNode:t,bNode:n,method:i}=this;let a=null;if(i===Or.ONE_MINUS)a=el(1,t);else if(i===Or.RECIPROCAL)a=dA(1,t);else if(i===Or.DIFFERENCE)a=Su(el(t,n));else if(i===Or.TRANSFORM_DIRECTION){let o=t,u=n;e.isMatrix(o.getNodeType(e))?u=Ks(Kn(u),0):o=Ks(Kn(o),0);const c=no(o,u).xyz;a=rf(c)}return a!==null?a:super.setup(e)}generate(e,t){if(e.getNodeProperties(this).outputNode)return super.generate(e,t);let i=this.method;const a=this.getNodeType(e),o=this.getInputType(e),u=this.aNode,c=this.bNode,d=this.cNode,g=e.renderer.coordinateSystem;if(i===Or.NEGATE)return e.format("( - "+u.build(e,o)+" )",a,t);{const v=[];return i===Or.CROSS?v.push(u.build(e,a),c.build(e,a)):g===gl&&i===Or.STEP?v.push(u.build(e,e.getTypeLength(u.getNodeType(e))===1?"float":o),c.build(e,o)):g===gl&&(i===Or.MIN||i===Or.MAX)?v.push(u.build(e,o),c.build(e,e.getTypeLength(c.getNodeType(e))===1?"float":o)):i===Or.REFRACT?v.push(u.build(e,o),c.build(e,o),d.build(e,"float")):i===Or.MIX?v.push(u.build(e,o),c.build(e,o),d.build(e,e.getTypeLength(d.getNodeType(e))===1?"float":o)):(g===To&&i===Or.ATAN&&c!==null&&(i="atan2"),e.shaderStage!=="fragment"&&(i===Or.DFDX||i===Or.DFDY)&&(Lr(`TSL: '${i}' is not supported in the ${e.shaderStage} stage.`),i="/*"+i+"*/"),v.push(u.build(e,o)),c!==null&&v.push(c.build(e,o)),d!==null&&v.push(d.build(e,o))),e.format(`${e.getMethod(i,a)}( ${v.join(", ")} )`,a,t)}}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}Or.ALL="all",Or.ANY="any",Or.RADIANS="radians",Or.DEGREES="degrees",Or.EXP="exp",Or.EXP2="exp2",Or.LOG="log",Or.LOG2="log2",Or.SQRT="sqrt",Or.INVERSE_SQRT="inversesqrt",Or.FLOOR="floor",Or.CEIL="ceil",Or.NORMALIZE="normalize",Or.FRACT="fract",Or.SIN="sin",Or.COS="cos",Or.TAN="tan",Or.ASIN="asin",Or.ACOS="acos",Or.ATAN="atan",Or.ABS="abs",Or.SIGN="sign",Or.LENGTH="length",Or.NEGATE="negate",Or.ONE_MINUS="oneMinus",Or.DFDX="dFdx",Or.DFDY="dFdy",Or.ROUND="round",Or.RECIPROCAL="reciprocal",Or.TRUNC="trunc",Or.FWIDTH="fwidth",Or.TRANSPOSE="transpose",Or.DETERMINANT="determinant",Or.INVERSE="inverse",Or.EQUALS="equals",Or.MIN="min",Or.MAX="max",Or.STEP="step",Or.REFLECT="reflect",Or.DISTANCE="distance",Or.DIFFERENCE="difference",Or.DOT="dot",Or.CROSS="cross",Or.POW="pow",Or.TRANSFORM_DIRECTION="transformDirection",Or.MIX="mix",Or.CLAMP="clamp",Or.REFRACT="refract",Or.SMOOTHSTEP="smoothstep",Or.FACEFORWARD="faceforward";const P1=qt(1e-6),Tk=qt(1e6),Cb=qt(Math.PI),Bk=qt(Math.PI*2),Rk=qt(Math.PI*2),Ik=qt(Math.PI*.5),kT=ji(Or,Or.ALL).setParameterLength(1),VT=ji(Or,Or.ANY).setParameterLength(1),zT=ji(Or,Or.RADIANS).setParameterLength(1),GT=ji(Or,Or.DEGREES).setParameterLength(1),L1=ji(Or,Or.EXP).setParameterLength(1),mv=ji(Or,Or.EXP2).setParameterLength(1),Tb=ji(Or,Or.LOG).setParameterLength(1),sg=ji(Or,Or.LOG2).setParameterLength(1),Nd=ji(Or,Or.SQRT).setParameterLength(1),U1=ji(Or,Or.INVERSE_SQRT).setParameterLength(1),ag=ji(Or,Or.FLOOR).setParameterLength(1),Bb=ji(Or,Or.CEIL).setParameterLength(1),rf=ji(Or,Or.NORMALIZE).setParameterLength(1),_p=ji(Or,Or.FRACT).setParameterLength(1),sf=ji(Or,Or.SIN).setParameterLength(1),wp=ji(Or,Or.COS).setParameterLength(1),HT=ji(Or,Or.TAN).setParameterLength(1),QT=ji(Or,Or.ASIN).setParameterLength(1),O1=ji(Or,Or.ACOS).setParameterLength(1),Rb=ji(Or,Or.ATAN).setParameterLength(1,2),Su=ji(Or,Or.ABS).setParameterLength(1),D1=ji(Or,Or.SIGN).setParameterLength(1),og=ji(Or,Or.LENGTH).setParameterLength(1),k1=ji(Or,Or.NEGATE).setParameterLength(1),WT=ji(Or,Or.ONE_MINUS).setParameterLength(1),V1=ji(Or,Or.DFDX).setParameterLength(1),z1=ji(Or,Or.DFDY).setParameterLength(1),ZT=ji(Or,Or.ROUND).setParameterLength(1),KT=ji(Or,Or.RECIPROCAL).setParameterLength(1),G1=ji(Or,Or.TRUNC).setParameterLength(1),H1=ji(Or,Or.FWIDTH).setParameterLength(1),$T=ji(Or,Or.TRANSPOSE).setParameterLength(1),XT=ji(Or,Or.DETERMINANT).setParameterLength(1),jT=ji(Or,Or.INVERSE).setParameterLength(1),YT=(s,e)=>(Lr('TSL: "equals" is deprecated. Use "equal" inside a vector instead, like: "bvec*( equal( ... ) )"'),N1(s,e)),Uf=ji(Or,Or.MIN).setParameterLength(2,1/0),mc=ji(Or,Or.MAX).setParameterLength(2,1/0),Ib=ji(Or,Or.STEP).setParameterLength(2),qT=ji(Or,Or.REFLECT).setParameterLength(2),JT=ji(Or,Or.DISTANCE).setParameterLength(2),eB=ji(Or,Or.DIFFERENCE).setParameterLength(2),ZA=ji(Or,Or.DOT).setParameterLength(2),Zg=ji(Or,Or.CROSS).setParameterLength(2),KA=ji(Or,Or.POW).setParameterLength(2),Q1=s=>no(s,s),tB=s=>no(s,s,s),W1=s=>no(s,s,s,s),nB=ji(Or,Or.TRANSFORM_DIRECTION).setParameterLength(2),rB=s=>no(D1(s),KA(Su(s),1/3)),Z1=s=>ZA(s,s),zo=ji(Or,Or.MIX).setParameterLength(3),Sp=(s,e=0,t=1)=>Ss(new Or(Or.CLAMP,Ss(s),Ss(e),Ss(t))),Nb=s=>Sp(s),K1=ji(Or,Or.REFRACT).setParameterLength(3),fA=ji(Or,Or.SMOOTHSTEP).setParameterLength(3),$1=ji(Or,Or.FACEFORWARD).setParameterLength(3),iB=or(([s])=>{const n=43758.5453,i=ZA(s.xy,Gi(12.9898,78.233)),a=Oy(i,Cb);return _p(sf(a).mul(n))}),sB=(s,e,t)=>zo(e,t,s),aB=(s,e,t)=>fA(e,t,s),oB=(s,e)=>Ib(e,s),lB=(s,e)=>(Lr('TSL: "atan2" is overloaded. Use "atan" instead.'),Rb(s,e)),Nk=$1,Fk=U1;ci("all",kT),ci("any",VT),ci("equals",YT),ci("radians",zT),ci("degrees",GT),ci("exp",L1),ci("exp2",mv),ci("log",Tb),ci("log2",sg),ci("sqrt",Nd),ci("inverseSqrt",U1),ci("floor",ag),ci("ceil",Bb),ci("normalize",rf),ci("fract",_p),ci("sin",sf),ci("cos",wp),ci("tan",HT),ci("asin",QT),ci("acos",O1),ci("atan",Rb),ci("abs",Su),ci("sign",D1),ci("length",og),ci("lengthSq",Z1),ci("negate",k1),ci("oneMinus",WT),ci("dFdx",V1),ci("dFdy",z1),ci("round",ZT),ci("reciprocal",KT),ci("trunc",G1),ci("fwidth",H1),ci("atan2",lB),ci("min",Uf),ci("max",mc),ci("step",oB),ci("reflect",qT),ci("distance",JT),ci("dot",ZA),ci("cross",Zg),ci("pow",KA),ci("pow2",Q1),ci("pow3",tB),ci("pow4",W1),ci("transformDirection",nB),ci("mix",sB),ci("clamp",Sp),ci("refract",K1),ci("smoothstep",aB),ci("faceForward",$1),ci("difference",eB),ci("saturate",Nb),ci("cbrt",rB),ci("transpose",$T),ci("determinant",XT),ci("inverse",jT),ci("rand",iB);class Pk extends ta{static get type(){return"ConditionalNode"}constructor(e,t,n=null){super(),this.condNode=e,this.ifNode=t,this.elseNode=n}getNodeType(e){const{ifNode:t,elseNode:n}=e.getNodeProperties(this);if(t===void 0)return e.flowBuildStage(this,"setup"),this.getNodeType(e);const i=t.getNodeType(e);if(n!==null){const a=n.getNodeType(e);if(e.getTypeLength(a)>e.getTypeLength(i))return a}return i}setup(e){const t=this.condNode,n=this.ifNode.isolate(),i=this.elseNode?this.elseNode.isolate():null,a=e.context.nodeBlock;e.getDataFromNode(n).parentNodeBlock=a,i!==null&&(e.getDataFromNode(i).parentNodeBlock=a);const o=e.context.uniformFlow,u=e.getNodeProperties(this);u.condNode=t,u.ifNode=o?n:n.context({nodeBlock:n}),u.elseNode=i?o?i:i.context({nodeBlock:i}):null}generate(e,t){const n=this.getNodeType(e),i=e.getDataFromNode(this);if(i.nodeProperty!==void 0)return i.nodeProperty;const{condNode:a,ifNode:o,elseNode:u}=e.getNodeProperties(this),c=e.currentFunctionNode,d=t!=="void",g=d?bp(n).build(e):"";i.nodeProperty=g;const v=a.build(e,"bool");if(e.context.uniformFlow&&u!==null){const I=o.build(e,n),ne=u.build(e,n),ee=e.getTernary(v,I,ne);return e.format(ee,n,t)}e.addFlowCode(` -${e.tab}if ( ${v} ) { - -`).addFlowTab();let B=o.build(e,n);if(B&&(d?B=g+" = "+B+";":(B="return "+B+";",c===null&&(Lr("TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),B="// "+B))),e.removeFlowTab().addFlowCode(e.tab+" "+B+` - -`+e.tab+"}"),u!==null){e.addFlowCode(` else { - -`).addFlowTab();let I=u.build(e,n);I&&(d?I=g+" = "+I+";":(I="return "+I+";",c===null&&(Lr("TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),I="// "+I))),e.removeFlowTab().addFlowCode(e.tab+" "+I+` - -`+e.tab+`} - -`)}else e.addFlowCode(` - -`);return e.format(g,n,t)}}const ud=to(Pk).setParameterLength(2,3);ci("select",ud);class uB extends ta{static get type(){return"ContextNode"}constructor(e=null,t={}){super(),this.isContextNode=!0,this.node=e,this.value=t}getScope(){return this.node.getScope()}getNodeType(e){return this.node.getNodeType(e)}getFlowContextData(){const e=[];return this.traverse(t=>{t.isContextNode===!0&&e.push(t.value)}),Object.assign({},...e)}getMemberType(e,t){return this.node.getMemberType(e,t)}analyze(e){const t=e.addContext(this.value);this.node.build(e),e.setContext(t)}setup(e){const t=e.addContext(this.value);this.node.build(e),e.setContext(t)}generate(e,t){const n=e.addContext(this.value),i=this.node.build(e,t);return e.setContext(n),i}}const Kg=(s=null,e={})=>{let t=s;return(t===null||t.isNode!==!0)&&(e=t||e,t=null),new uB(t,e)},cB=s=>Kg(s,{uniformFlow:!0}),X1=(s,e)=>Kg(s,{nodeName:e});function hB(s,e,t=null){return Kg(t,{getShadow:({light:n,shadowColorNode:i})=>e===n?i.mul(s):i})}function dB(s,e=null){return Kg(e,{getAO:(t,{material:n})=>n.transparent===!0?t:t!==null?t.mul(s):s})}function fB(s,e){return Lr('TSL: "label()" has been deprecated. Use "setName()" instead.'),X1(s,e)}ci("context",Kg),ci("label",fB),ci("uniformFlow",cB),ci("setName",X1),ci("builtinShadowContext",(s,e,t)=>hB(e,t,s)),ci("builtinAOContext",(s,e)=>dB(e,s));class Fb extends ta{static get type(){return"VarNode"}constructor(e,t=null,n=!1){super(),this.node=e,this.name=t,this.global=!0,this.isVarNode=!0,this.readOnly=n,this.parents=!0,this.intent=!1}setIntent(e){return this.intent=e,this}isIntent(e){return e.getDataFromNode(this).forceDeclaration===!0?!1:this.intent}getIntent(){return this.intent}getMemberType(e,t){return this.node.getMemberType(e,t)}getElementType(e){return this.node.getElementType(e)}getNodeType(e){return this.node.getNodeType(e)}getArrayCount(e){return this.node.getArrayCount(e)}isAssign(e){return e.getDataFromNode(this).assign}build(...e){const t=e[0];if(this._hasStack(t)===!1&&t.buildStage==="setup"&&(t.context.nodeLoop||t.context.nodeBlock)){let n=!1;if(this.node.isShaderCallNodeInternal&&this.node.shaderNode.getLayout()===null&&t.fnCall&&t.fnCall.shaderNode&&t.getDataFromNode(this.node.shaderNode).hasLoop){const o=t.getDataFromNode(this);o.forceDeclaration=!0,n=!0}const i=t.getBaseStack();n?i.addToStackBefore(this):i.addToStack(this)}return this.isIntent(t)&&this.isAssign(t)!==!0?this.node.build(...e):super.build(...e)}generate(e){const{node:t,name:n,readOnly:i}=this,{renderer:a}=e,o=a.backend.isWebGPUBackend===!0;let u=!1,c=!1;i&&(u=e.isDeterministic(t),c=o?i:u);const d=this.getNodeType(e);if(d=="void")return this.isIntent(e)!==!0&&Gr('TSL: ".toVar()" can not be used with void type.'),t.build(e);const g=e.getVectorType(d),v=t.build(e,g),M=e.getVarFromNode(this,n,g,void 0,c),B=e.getPropertyName(M);let I=B;if(c)if(o)I=u?`const ${B}`:`let ${B}`;else{const ne=t.getArrayCount(e);I=`const ${e.getVar(M.type,B,ne)}`}return e.addLineFlowCode(`${I} = ${v}`,this),B}_hasStack(e){return e.getDataFromNode(this).stack!==void 0}}const j1=to(Fb),AB=(s,e=null)=>j1(s,e).toStack(),pB=(s,e=null)=>j1(s,e,!0).toStack(),gB=s=>j1(s).setIntent(!0).toStack();ci("toVar",AB),ci("toConst",pB),ci("toVarIntent",gB);class Lk extends ta{static get type(){return"SubBuild"}constructor(e,t,n=null){super(n),this.node=e,this.name=t,this.isSubBuildNode=!0}getNodeType(e){if(this.nodeType!==null)return this.nodeType;e.addSubBuild(this.name);const t=this.node.getNodeType(e);return e.removeSubBuild(),t}build(e,...t){e.addSubBuild(this.name);const n=this.node.build(e,...t);return e.removeSubBuild(),n}}const vv=(s,e,t=null)=>Ss(new Lk(Ss(s),e,t));class Uk extends ta{static get type(){return"VaryingNode"}constructor(e,t=null){super(),this.node=e,this.name=t,this.isVaryingNode=!0,this.interpolationType=null,this.interpolationSampling=null,this.global=!0}setInterpolation(e,t=null){return this.interpolationType=e,this.interpolationSampling=t,this}getHash(e){return this.name||super.getHash(e)}getNodeType(e){return this.node.getNodeType(e)}setupVarying(e){const t=e.getNodeProperties(this);let n=t.varying;if(n===void 0){const i=this.name,a=this.getNodeType(e),o=this.interpolationType,u=this.interpolationSampling;t.varying=n=e.getVaryingFromNode(this,i,a,o,u),t.node=vv(this.node,"VERTEX")}return n.needsInterpolation||(n.needsInterpolation=e.shaderStage==="fragment"),n}setup(e){this.setupVarying(e),e.flowNodeFromShaderStage(Cy.VERTEX,this.node)}analyze(e){this.setupVarying(e),e.flowNodeFromShaderStage(Cy.VERTEX,this.node)}generate(e){const t=e.getSubBuildProperty("property",e.currentStack),n=e.getNodeProperties(this),i=this.setupVarying(e);if(n[t]===void 0){const a=this.getNodeType(e),o=e.getPropertyName(i,Cy.VERTEX);e.flowNodeFromShaderStage(Cy.VERTEX,n.node,a,o),n[t]=o}return e.getPropertyName(i)}}const lg=to(Uk).setParameterLength(1,2),mB=s=>lg(s);ci("toVarying",lg),ci("toVertexStage",mB),ci("varying",(...s)=>(Lr("TSL: .varying() has been renamed to .toVarying()."),lg(...s))),ci("vertexStage",(...s)=>(Lr("TSL: .vertexStage() has been renamed to .toVertexStage()."),lg(...s)));const vB=or(([s])=>{const e=s.mul(.9478672986).add(.0521327014).pow(2.4),t=s.mul(.0773993808),n=s.lessThanEqual(.04045);return zo(e,t,n)}).setLayout({name:"sRGBTransferEOTF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),yB=or(([s])=>{const e=s.pow(.41666).mul(1.055).sub(.055),t=s.mul(12.92),n=s.lessThanEqual(.0031308);return zo(e,t,n)}).setLayout({name:"sRGBTransferOETF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),Y1="WorkingColorSpace",Ok="OutputColorSpace";class q1 extends pc{static get type(){return"ColorSpaceNode"}constructor(e,t,n){super("vec4"),this.colorNode=e,this.source=t,this.target=n}resolveColorSpace(e,t){return t===Y1?xr.workingColorSpace:t===Ok?e.context.outputColorSpace||e.renderer.outputColorSpace:t}setup(e){const{colorNode:t}=this,n=this.resolveColorSpace(e,this.source),i=this.resolveColorSpace(e,this.target);let a=t;return xr.enabled===!1||n===i||!n||!i||(xr.getTransfer(n)===ws&&(a=Ks(vB(a.rgb),a.a)),xr.getPrimaries(n)!==xr.getPrimaries(i)&&(a=Ks(ld(xr._getMatrix(new pn,n,i)).mul(a.rgb),a.a)),xr.getTransfer(i)===ws&&(a=Ks(yB(a.rgb),a.a))),a}}const xB=(s,e)=>Ss(new q1(Ss(s),Y1,e)),Pb=(s,e)=>Ss(new q1(Ss(s),e,Y1)),Dk=(s,e,t)=>Ss(new q1(Ss(s),e,t));ci("workingToColorSpace",xB),ci("colorSpaceToWorking",Pb);let kk=class extends u0{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),n=this.referenceNode.getNodeType(),i=this.getNodeType();return e.format(t,n,i)}};class bB extends ta{static get type(){return"ReferenceBaseNode"}constructor(e,t,n=null,i=null){super(),this.property=e,this.uniformType=t,this.object=n,this.count=i,this.properties=e.split("."),this.reference=n,this.node=null,this.group=null,this.updateType=Ao.OBJECT}setGroup(e){return this.group=e,this}element(e){return new kk(this,Ss(e))}setNodeType(e){const t=va(null,e);this.group!==null&&t.setGroup(this.group),this.node=t}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateValue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let n=e[t[0]];for(let i=1;inew bB(s,e,t);class zk extends bB{static get type(){return"RendererReferenceNode"}constructor(e,t,n=null){super(e,t,n),this.renderer=n,this.setGroup(xa)}updateReference(e){return this.reference=this.renderer!==null?this.renderer:e.renderer,this.reference}}const _B=(s,e,t=null)=>new zk(s,e,t);class Gk extends pc{static get type(){return"ToneMappingNode"}constructor(e,t=SB,n=null){super("vec3"),this._toneMapping=e,this.exposureNode=t,this.colorNode=n}customCacheKey(){return fv(this._toneMapping)}setToneMapping(e){return this._toneMapping=e,this}getToneMapping(){return this._toneMapping}setup(e){const t=this.colorNode||e.context.color,n=this._toneMapping;if(n===Ct)return t;let i=null;const a=e.renderer.library.getToneMappingFunction(n);return a!==null?i=Ks(a(t.rgb,this.exposureNode),t.a):(Gr("ToneMappingNode: Unsupported Tone Mapping configuration.",n),i=t),i}}const wB=(s,e,t)=>Ss(new Gk(s,Ss(e),Ss(t))),SB=_B("toneMappingExposure","float");ci("toneMapping",(s,e,t)=>wB(e,t,s));const MB=new WeakMap;function EB(s,e){let t=MB.get(s);return t===void 0&&(t=new wh(s,e),MB.set(s,t)),t}class Lm extends A1{static get type(){return"BufferAttributeNode"}constructor(e,t=null,n=0,i=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferStride=n,this.bufferOffset=i,this.usage=gh,this.instanced=!1,this.attribute=null,this.global=!0,e&&e.isBufferAttribute===!0&&e.itemSize<=4&&(this.attribute=e,this.usage=e.usage,this.instanced=e.isInstancedBufferAttribute)}getHash(e){if(this.bufferStride===0&&this.bufferOffset===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getNodeType(e){return this.bufferType===null&&(this.bufferType=e.getTypeFromAttribute(this.attribute)),this.bufferType}setup(e){if(this.attribute!==null)return;const t=this.getNodeType(e),n=e.getTypeLength(t),i=this.value,a=this.bufferStride||n,o=this.bufferOffset;let u;i.isInterleavedBuffer===!0?u=i:i.isBufferAttribute===!0?u=EB(i.array,a):u=EB(i,a);const c=new yf(u,n,o);u.setUsage(this.usage),this.attribute=c,this.attribute.isInstancedBufferAttribute=this.instanced}generate(e){const t=this.getNodeType(e),n=e.getBufferAttributeFromNode(this,t),i=e.getPropertyName(n);let a=null;return e.shaderStage==="vertex"||e.shaderStage==="compute"?(this.name=i,a=i):a=lg(this).build(e,t),a}getInputType(){return"bufferAttribute"}setUsage(e){return this.usage=e,this.attribute&&this.attribute.isBufferAttribute===!0&&(this.attribute.usage=e),this}setInstanced(e){return this.instanced=e,this}}function Lb(s,e=null,t=0,n=0,i=gh,a=!1){return e==="mat3"||e===null&&s.itemSize===9?ld(new Lm(s,"vec3",9,0).setUsage(i).setInstanced(a),new Lm(s,"vec3",9,3).setUsage(i).setInstanced(a),new Lm(s,"vec3",9,6).setUsage(i).setInstanced(a)):e==="mat4"||e===null&&s.itemSize===16?Im(new Lm(s,"vec4",16,0).setUsage(i).setInstanced(a),new Lm(s,"vec4",16,4).setUsage(i).setInstanced(a),new Lm(s,"vec4",16,8).setUsage(i).setInstanced(a),new Lm(s,"vec4",16,12).setUsage(i).setInstanced(a)):new Lm(s,e,t,n)}const J1=(s,e=null,t=0,n=0)=>Lb(s,e,t,n),Hk=(s,e=null,t=0,n=0)=>Lb(s,e,t,n,mh),Ub=(s,e=null,t=0,n=0)=>Lb(s,e,t,n,gh,!0),eS=(s,e=null,t=0,n=0)=>Lb(s,e,t,n,mh,!0);ci("toAttribute",s=>J1(s.value));class Qk extends ta{static get type(){return"ComputeNode"}constructor(e,t){super("void"),this.isComputeNode=!0,this.computeNode=e,this.workgroupSize=t,this.count=null,this.version=1,this.name="",this.updateBeforeType=Ao.OBJECT,this.onInitFunction=null}setCount(e){return this.count=e,this}getCount(){return this.count}dispose(){this.dispatchEvent({type:"dispose"})}setName(e){return this.name=e,this}label(e){return Lr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}onInit(e){return this.onInitFunction=e,this}updateBefore({renderer:e}){e.compute(this)}setup(e){const t=this.computeNode.build(e);if(t){const n=e.getNodeProperties(this);n.outputComputeNode=t.outputNode,t.outputNode=null}return t}generate(e,t){const{shaderStage:n}=e;if(n==="compute"){const i=this.computeNode.build(e,"void");i!==""&&e.addLineFlowCode(i,this)}else{const a=e.getNodeProperties(this).outputComputeNode;if(a)return a.build(e,t)}}}const tS=(s,e=[64])=>{(e.length===0||e.length>3)&&Gr("TSL: compute() workgroupSize must have 1, 2, or 3 elements");for(let t=0;ttS(s,t).setCount(e);ci("compute",CB),ci("computeKernel",tS);class Wk extends ta{static get type(){return"IsolateNode"}constructor(e,t=!0){super(),this.node=e,this.parent=t,this.isIsolateNode=!0}getNodeType(e){const t=e.getCache(),n=e.getCacheFromNode(this,this.parent);e.setCache(n);const i=this.node.getNodeType(e);return e.setCache(t),i}build(e,...t){const n=e.getCache(),i=e.getCacheFromNode(this,this.parent);e.setCache(i);const a=this.node.build(e,...t);return e.setCache(n),a}setParent(e){return this.parent=e,this}getParent(){return this.parent}}const yv=s=>new Wk(Ss(s));function TB(s,e=!0){return Lr('TSL: "cache()" has been deprecated. Use "isolate()" instead.'),yv(s).setParent(e)}ci("cache",TB),ci("isolate",yv);class Zk extends ta{static get type(){return"BypassNode"}constructor(e,t){super(),this.isBypassNode=!0,this.outputNode=e,this.callNode=t}getNodeType(e){return this.outputNode.getNodeType(e)}generate(e){const t=this.callNode.build(e,"void");return t!==""&&e.addLineFlowCode(t,this),this.outputNode.build(e)}}const BB=to(Zk).setParameterLength(2);ci("bypass",BB);class RB extends ta{static get type(){return"RemapNode"}constructor(e,t,n,i=qt(0),a=qt(1)){super(),this.node=e,this.inLowNode=t,this.inHighNode=n,this.outLowNode=i,this.outHighNode=a,this.doClamp=!0}setup(){const{node:e,inLowNode:t,inHighNode:n,outLowNode:i,outHighNode:a,doClamp:o}=this;let u=e.sub(t).div(n.sub(t));return o===!0&&(u=u.clamp()),u.mul(a.sub(i)).add(i)}}const IB=to(RB,null,null,{doClamp:!1}).setParameterLength(3,5),NB=to(RB).setParameterLength(3,5);ci("remap",IB),ci("remapClamp",NB);class Ob extends ta{static get type(){return"ExpressionNode"}constructor(e="",t="void"){super(t),this.snippet=e}generate(e,t){const n=this.getNodeType(e),i=this.snippet;if(n==="void")e.addLineFlowCode(i,this);else return e.format(i,n,t)}}const $g=to(Ob).setParameterLength(1,2),FB=s=>(s?ud(s,$g("discard")):$g("discard")).toStack(),Kk=()=>$g("return").toStack();ci("discard",FB);class $k extends pc{static get type(){return"RenderOutputNode"}constructor(e,t,n){super("vec4"),this.colorNode=e,this._toneMapping=t,this.outputColorSpace=n,this.isRenderOutputNode=!0}setToneMapping(e){return this._toneMapping=e,this}getToneMapping(){return this._toneMapping}setup({context:e}){let t=this.colorNode||e.color;const n=(this._toneMapping!==null?this._toneMapping:e.toneMapping)||Ct,i=(this.outputColorSpace!==null?this.outputColorSpace:e.outputColorSpace)||ao;return n!==Ct&&(t=t.toneMapping(n)),i!==ao&&i!==xr.workingColorSpace&&(t=t.workingToColorSpace(i)),t}}const nS=(s,e=null,t=null)=>Ss(new $k(Ss(s),e,t));ci("renderOutput",nS);class Xk extends pc{static get type(){return"DebugNode"}constructor(e,t=null){super(),this.node=e,this.callback=t}getNodeType(e){return this.node.getNodeType(e)}setup(e){return this.node.build(e)}analyze(e){return this.node.build(e)}generate(e){const t=this.callback,n=this.node.build(e),i="--- TSL debug - "+e.shaderStage+" shader ---",a="-".repeat(i.length);let o="";return o+="// #"+i+`# -`,o+=e.flow.code.replace(/^\t/mg,"")+` -`,o+="/* ... */ "+n+` /* ... */ -`,o+="// #"+a+`# -`,t!==null?t(e,o):ac(o),n}}const PB=(s,e=null)=>Ss(new Xk(Ss(s),e)).toStack();ci("debug",PB);class LB{constructor(){this._renderer=null,this.currentFrame=null}get nodeFrame(){return this._renderer._nodes.nodeFrame}setRenderer(e){return this._renderer=e,this}getRenderer(){return this._renderer}init(){}begin(){}finish(){}inspect(){}computeAsync(){}beginCompute(){}finishCompute(){}beginRender(){}finishRender(){}copyTextureToTexture(){}copyFramebufferToTexture(){}}class jk extends ta{static get type(){return"InspectorNode"}constructor(e,t="",n=null){super(),this.node=e,this.name=t,this.callback=n,this.updateType=Ao.FRAME,this.isInspectorNode=!0}getName(){return this.name||this.node.name}update(e){e.renderer.inspector.inspect(this)}getNodeType(e){return this.node.getNodeType(e)}setup(e){let t=this.node;return e.context.inspector===!0&&this.callback!==null&&(t=this.callback(t)),e.renderer.backend.isWebGPUBackend!==!0&&e.renderer.inspector.constructor!==LB&&ki('TSL: ".toInspector()" is only available with WebGPU.'),t}}function UB(s,e="",t=null){return s=Ss(s),s.before(new jk(s,e,t))}ci("toInspector",UB);function Yk(s){Lr("TSL: AddNodeElement has been removed in favor of tree-shaking. Trying add",s)}class OB extends ta{static get type(){return"AttributeNode"}constructor(e,t=null){super(t),this.global=!0,this._attributeName=e}getHash(e){return this.getAttributeName(e)}getNodeType(e){let t=this.nodeType;if(t===null){const n=this.getAttributeName(e);if(e.hasGeometryAttribute(n)){const i=e.geometry.getAttribute(n);t=e.getTypeFromAttribute(i)}else t="float"}return t}setAttributeName(e){return this._attributeName=e,this}getAttributeName(){return this._attributeName}generate(e){const t=this.getAttributeName(e),n=this.getNodeType(e);if(e.hasGeometryAttribute(t)===!0){const a=e.geometry.getAttribute(t),o=e.getTypeFromAttribute(a),u=e.getAttribute(t,o);return e.shaderStage==="vertex"?e.format(u.name,o,n):lg(this).build(e,n)}else return Lr(`AttributeNode: Vertex attribute "${t}" not found on geometry.`),e.generateConst(n)}serialize(e){super.serialize(e),e.global=this.global,e._attributeName=this._attributeName}deserialize(e){super.deserialize(e),this.global=e.global,this._attributeName=e._attributeName}}const af=(s,e=null)=>new OB(s,e),Zl=(s=0)=>af("uv"+(s>0?s:""),"vec2");class qk extends ta{static get type(){return"TextureSizeNode"}constructor(e,t=null){super("uvec2"),this.isTextureSizeNode=!0,this.textureNode=e,this.levelNode=t}generate(e,t){const n=this.textureNode.build(e,"property"),i=this.levelNode===null?"0":this.levelNode.build(e,"int");return e.format(`${e.getMethod("textureDimensions")}( ${n}, ${i} )`,this.getNodeType(e),t)}}const Xg=to(qk).setParameterLength(1,2);class Jk extends Uy{static get type(){return"MaxMipLevelNode"}constructor(e){super(0),this._textureNode=e,this.updateType=Ao.FRAME}get textureNode(){return this._textureNode}get texture(){return this._textureNode.value}update(){const e=this.texture,t=e.images,n=t&&t.length>0?t[0]&&t[0].image||t[0]:e.image;if(n&&n.width!==void 0){const{width:i,height:a}=n;this.value=Math.log2(Math.max(i,a))}}}const rS=to(Jk).setParameterLength(1),iS=new zi;class ug extends Uy{static get type(){return"TextureNode"}constructor(e=iS,t=null,n=null,i=null){super(e),this.isTextureNode=!0,this.uvNode=t,this.levelNode=n,this.biasNode=i,this.compareNode=null,this.depthNode=null,this.gradNode=null,this.offsetNode=null,this.sampler=!0,this.updateMatrix=!1,this.updateType=Ao.NONE,this.referenceNode=null,this._value=e,this._matrixUniform=null,this._flipYUniform=null,this.setUpdateMatrix(t===null)}set value(e){this.referenceNode?this.referenceNode.value=e:this._value=e}get value(){return this.referenceNode?this.referenceNode.value:this._value}getUniformHash(){return this.value.uuid}getNodeType(){return this.value.isDepthTexture===!0?"float":this.value.type===st?"uvec4":this.value.type===Xt?"ivec4":"vec4"}getInputType(){return"texture"}getDefaultUV(){return Zl(this.value.channel)}updateReference(){return this.value}getTransformedUV(e){return this._matrixUniform===null&&(this._matrixUniform=va(this.value.matrix)),this._matrixUniform.mul(Kn(e,1)).xy}setUpdateMatrix(e){return this.updateMatrix=e,this}setupUV(e,t){return e.isFlipY()&&(this._flipYUniform===null&&(this._flipYUniform=va(!1)),t=t.toVar(),this.sampler?t=this._flipYUniform.select(t.flipY(),t):t=this._flipYUniform.select(t.setY(Qn(Xg(this,this.levelNode).y).sub(t.y).sub(1)),t)),t}setup(e){const t=e.getNodeProperties(this);t.referenceNode=this.referenceNode;const n=this.value;if(!n||n.isTexture!==!0)throw new Error("THREE.TSL: `texture( value )` function expects a valid instance of THREE.Texture().");const i=or(()=>{let o=this.uvNode;return(o===null||e.context.forceUVContext===!0)&&e.context.getUV&&(o=e.context.getUV(this,e)),o||(o=this.getDefaultUV()),this.updateMatrix===!0&&(o=this.getTransformedUV(o)),o=this.setupUV(e,o),this.updateType=this._matrixUniform!==null||this._flipYUniform!==null?Ao.OBJECT:Ao.NONE,o})();let a=this.levelNode;a===null&&e.context.getTextureLevel&&(a=e.context.getTextureLevel(this)),t.uvNode=i,t.levelNode=a,t.biasNode=this.biasNode,t.compareNode=this.compareNode,t.gradNode=this.gradNode,t.depthNode=this.depthNode,t.offsetNode=this.offsetNode}generateUV(e,t){return t.build(e,this.sampler===!0?"vec2":"ivec2")}generateOffset(e,t){return t.build(e,"ivec2")}generateSnippet(e,t,n,i,a,o,u,c,d){const g=this.value;let v;return a?v=e.generateTextureBias(g,t,n,a,o,d):c?v=e.generateTextureGrad(g,t,n,c,o,d):u?v=e.generateTextureCompare(g,t,n,u,o,d):this.sampler===!1?v=e.generateTextureLoad(g,t,n,i,o,d):i?v=e.generateTextureLevel(g,t,n,i,o,d):v=e.generateTexture(g,t,n,o,d),v}generate(e,t){const n=this.value,i=e.getNodeProperties(this),a=super.generate(e,"property");if(/^sampler/.test(t))return a+"_sampler";if(e.isReference(t))return a;{const o=e.getDataFromNode(this);let u=o.propertyName;if(u===void 0){const{uvNode:g,levelNode:v,biasNode:M,compareNode:B,depthNode:I,gradNode:ne,offsetNode:ee}=i,q=this.generateUV(e,g),ye=v?v.build(e,"float"):null,Ce=M?M.build(e,"float"):null,ke=I?I.build(e,"int"):null,nt=B?B.build(e,"float"):null,Ye=ne?[ne[0].build(e,"vec2"),ne[1].build(e,"vec2")]:null,ht=ee?this.generateOffset(e,ee):null,Rt=e.getVarFromNode(this);u=e.getPropertyName(Rt);const qe=this.generateSnippet(e,a,q,ye,Ce,ke,nt,Ye,ht);e.addLineFlowCode(`${u} = ${qe}`,this),o.snippet=qe,o.propertyName=u}let c=u;const d=this.getNodeType(e);return e.needsToWorkingColorSpace(n)&&(c=Pb($g(c,d),n.colorSpace).setup(e).build(e,d)),e.format(c,d,t)}}setSampler(e){return this.sampler=e,this}getSampler(){return this.sampler}uv(e){return Lr("TextureNode: .uv() has been renamed. Use .sample() instead."),this.sample(e)}sample(e){const t=this.clone();return t.uvNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}load(e){return this.sample(e).setSampler(!1)}blur(e){const t=this.clone();t.biasNode=Ss(e).mul(rS(t)),t.referenceNode=this.getBase();const n=t.value;return t.generateMipmaps===!1&&(n&&n.generateMipmaps===!1||n.minFilter===cn||n.magFilter===cn)&&(Lr("TSL: texture().blur() requires mipmaps and sampling. Use .generateMipmaps=true and .minFilter/.magFilter=THREE.LinearFilter in the Texture."),t.biasNode=null),Ss(t)}level(e){const t=this.clone();return t.levelNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}size(e){return Xg(this,e)}bias(e){const t=this.clone();return t.biasNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}getBase(){return this.referenceNode?this.referenceNode.getBase():this}compare(e){const t=this.clone();return t.compareNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}grad(e,t){const n=this.clone();return n.gradNode=[Ss(e),Ss(t)],n.referenceNode=this.getBase(),Ss(n)}depth(e){const t=this.clone();return t.depthNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}offset(e){const t=this.clone();return t.offsetNode=Ss(e),t.referenceNode=this.getBase(),Ss(t)}serialize(e){super.serialize(e),e.value=this.value.toJSON(e.meta).uuid,e.sampler=this.sampler,e.updateMatrix=this.updateMatrix,e.updateType=this.updateType}deserialize(e){super.deserialize(e),this.value=e.meta.textures[e.value],this.sampler=e.sampler,this.updateMatrix=e.updateMatrix,this.updateType=e.updateType}update(){const e=this.value,t=this._matrixUniform;t!==null&&(t.value=e.matrix),e.matrixAutoUpdate===!0&&e.updateMatrix();const n=this._flipYUniform;n!==null&&(n.value=e.image instanceof ImageBitmap&&e.flipY===!0||e.isRenderTargetTexture===!0||e.isFramebufferTexture===!0||e.isDepthTexture===!0)}clone(){const e=new this.constructor(this.value,this.uvNode,this.levelNode,this.biasNode);return e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e}}const e4=to(ug).setParameterLength(1,4).setName("texture"),xl=(s=iS,e=null,t=null,n=null)=>{let i;return s&&s.isTextureNode===!0?(i=Ss(s.clone()),i.referenceNode=s.getBase(),e!==null&&(i.uvNode=Ss(e)),t!==null&&(i.levelNode=Ss(t)),n!==null&&(i.biasNode=Ss(n))):i=e4(s,e,t,n),i},t4=(s=iS)=>xl(s),Rc=(...s)=>xl(...s).setSampler(!1),n4=(s,e,t)=>xl(s,e).level(t),r4=s=>(s.isNode===!0?s:xl(s)).convert("sampler"),i4=s=>(s.isNode===!0?s:xl(s)).convert("samplerComparison");class sS extends Uy{static get type(){return"BufferNode"}constructor(e,t,n=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferCount=n,this.updateRanges=[]}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}getElementType(e){return this.getNodeType(e)}getInputType(){return"buffer"}}const Dy=(s,e,t)=>new sS(s,e,t);class s4 extends u0{static get type(){return"UniformArrayElementNode"}constructor(e,t){super(e,t),this.isArrayBufferElementNode=!0}generate(e){const t=super.generate(e),n=this.getNodeType(),i=this.node.getPaddedType();return e.format(t,i,n)}}class a4 extends sS{static get type(){return"UniformArrayNode"}constructor(e,t=null){super(null),this.array=e,this.elementType=t===null?Qg(e[0]):t,this.paddedType=this.getPaddedType(),this.updateType=Ao.RENDER,this.isArrayBufferNode=!0}getNodeType(){return this.paddedType}getElementType(){return this.elementType}getPaddedType(){const e=this.elementType;let t="vec4";return e==="mat2"?t="mat2":/mat/.test(e)===!0?t="mat4":e.charAt(0)==="i"?t="ivec4":e.charAt(0)==="u"&&(t="uvec4"),t}update(){const{array:e,value:t}=this,n=this.elementType;if(n==="float"||n==="int"||n==="uint")for(let i=0;inew a4(s,e);class o4 extends ta{constructor(e){super("float"),this.name=e,this.isBuiltinNode=!0}generate(){return this.name}}const jg=to(o4).setParameterLength(1);let ky,Vy;class Fu extends ta{static get type(){return"ScreenNode"}constructor(e){super(),this.scope=e,this._output=null,this.isViewportNode=!0}getNodeType(){return this.scope===Fu.DPR?"float":this.scope===Fu.VIEWPORT?"vec4":"vec2"}getUpdateType(){let e=Ao.NONE;return(this.scope===Fu.SIZE||this.scope===Fu.VIEWPORT||this.scope===Fu.DPR)&&(e=Ao.RENDER),this.updateType=e,e}update({renderer:e}){const t=e.getRenderTarget();this.scope===Fu.VIEWPORT?t!==null?Vy.copy(t.viewport):(e.getViewport(Vy),Vy.multiplyScalar(e.getPixelRatio())):this.scope===Fu.DPR?this._output.value=e.getPixelRatio():t!==null?(ky.width=t.width,ky.height=t.height):e.getDrawingBufferSize(ky)}setup(){const e=this.scope;let t=null;return e===Fu.SIZE?t=va(ky||(ky=new ce)):e===Fu.VIEWPORT?t=va(Vy||(Vy=new Ni)):e===Fu.DPR?t=va(1):t=Gi(m0.div(g0)),this._output=t,t}generate(e){if(this.scope===Fu.COORDINATE){let t=e.getFragCoord();if(e.isFlipY()){const n=e.getNodeProperties(g0).outputNode.build(e);t=`${e.getType("vec2")}( ${t}.x, ${n}.y - ${t}.y )`}return t}return super.generate(e)}}Fu.COORDINATE="coordinate",Fu.VIEWPORT="viewport",Fu.SIZE="size",Fu.UV="uv",Fu.DPR="dpr";const aS=xs(Fu,Fu.DPR),Yg=xs(Fu,Fu.UV),g0=xs(Fu,Fu.SIZE),m0=xs(Fu,Fu.COORDINATE),xv=xs(Fu,Fu.VIEWPORT),oS=xv.zw,DB=m0.sub(xv.xy),l4=DB.div(oS),u4=or(()=>(Lr('TSL: "viewportResolution" is deprecated. Use "screenSize" instead.'),g0),"vec2").once()(),Um=va(0,"uint").setName("u_cameraIndex").setGroup(Eb("cameraIndex")).toVarying("v_cameraIndex"),qg=va("float").setName("cameraNear").setGroup(xa).onRenderUpdate(({camera:s})=>s.near),Jg=va("float").setName("cameraFar").setGroup(xa).onRenderUpdate(({camera:s})=>s.far),of=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.projectionMatrix);e=Fd(t).setGroup(xa).setName("cameraProjectionMatrices").element(s.isMultiViewCamera?jg("gl_ViewID_OVR"):Um).toConst("cameraProjectionMatrix")}else e=va("mat4").setName("cameraProjectionMatrix").setGroup(xa).onRenderUpdate(({camera:t})=>t.projectionMatrix);return e}).once()(),c4=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.projectionMatrixInverse);e=Fd(t).setGroup(xa).setName("cameraProjectionMatricesInverse").element(s.isMultiViewCamera?jg("gl_ViewID_OVR"):Um).toConst("cameraProjectionMatrixInverse")}else e=va("mat4").setName("cameraProjectionMatrixInverse").setGroup(xa).onRenderUpdate(({camera:t})=>t.projectionMatrixInverse);return e}).once()(),AA=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.matrixWorldInverse);e=Fd(t).setGroup(xa).setName("cameraViewMatrices").element(s.isMultiViewCamera?jg("gl_ViewID_OVR"):Um).toConst("cameraViewMatrix")}else e=va("mat4").setName("cameraViewMatrix").setGroup(xa).onRenderUpdate(({camera:t})=>t.matrixWorldInverse);return e}).once()(),h4=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.matrixWorld);e=Fd(t).setGroup(xa).setName("cameraWorldMatrices").element(s.isMultiViewCamera?jg("gl_ViewID_OVR"):Um).toConst("cameraWorldMatrix")}else e=va("mat4").setName("cameraWorldMatrix").setGroup(xa).onRenderUpdate(({camera:t})=>t.matrixWorld);return e}).once()(),d4=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.normalMatrix);e=Fd(t).setGroup(xa).setName("cameraNormalMatrices").element(s.isMultiViewCamera?jg("gl_ViewID_OVR"):Um).toConst("cameraNormalMatrix")}else e=va("mat3").setName("cameraNormalMatrix").setGroup(xa).onRenderUpdate(({camera:t})=>t.normalMatrix);return e}).once()(),zy=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(let i=0,a=s.cameras.length;i{const o=i.cameras,u=a.array;for(let c=0,d=o.length;cn.value.setFromMatrixPosition(t.matrixWorld));return e}).once()(),f4=or(({camera:s})=>{let e;if(s.isArrayCamera&&s.cameras.length>0){const t=[];for(const i of s.cameras)t.push(i.viewport);e=Fd(t,"vec4").setGroup(xa).setName("cameraViewports").element(Um).toConst("cameraViewport")}else e=Ks(0,0,g0.x,g0.y).toConst("cameraViewport");return e}).once()(),kB=new gi;class tl extends ta{static get type(){return"Object3DNode"}constructor(e,t=null){super(),this.scope=e,this.object3d=t,this.updateType=Ao.OBJECT,this.uniformNode=new Uy(null)}getNodeType(){const e=this.scope;if(e===tl.WORLD_MATRIX)return"mat4";if(e===tl.POSITION||e===tl.VIEW_POSITION||e===tl.DIRECTION||e===tl.SCALE)return"vec3";if(e===tl.RADIUS)return"float"}update(e){const t=this.object3d,n=this.uniformNode,i=this.scope;if(i===tl.WORLD_MATRIX)n.value=t.matrixWorld;else if(i===tl.POSITION)n.value=n.value||new le,n.value.setFromMatrixPosition(t.matrixWorld);else if(i===tl.SCALE)n.value=n.value||new le,n.value.setFromMatrixScale(t.matrixWorld);else if(i===tl.DIRECTION)n.value=n.value||new le,t.getWorldDirection(n.value);else if(i===tl.VIEW_POSITION){const a=e.camera;n.value=n.value||new le,n.value.setFromMatrixPosition(t.matrixWorld),n.value.applyMatrix4(a.matrixWorldInverse)}else if(i===tl.RADIUS){const a=e.object.geometry;a.boundingSphere===null&&a.computeBoundingSphere(),kB.copy(a.boundingSphere).applyMatrix4(t.matrixWorld),n.value=kB.radius}}generate(e){const t=this.scope;return t===tl.WORLD_MATRIX?this.uniformNode.nodeType="mat4":t===tl.POSITION||t===tl.VIEW_POSITION||t===tl.DIRECTION||t===tl.SCALE?this.uniformNode.nodeType="vec3":t===tl.RADIUS&&(this.uniformNode.nodeType="float"),this.uniformNode.build(e)}serialize(e){super.serialize(e),e.scope=this.scope}deserialize(e){super.deserialize(e),this.scope=e.scope}}tl.WORLD_MATRIX="worldMatrix",tl.POSITION="position",tl.SCALE="scale",tl.VIEW_POSITION="viewPosition",tl.DIRECTION="direction",tl.RADIUS="radius";const A4=to(tl,tl.DIRECTION).setParameterLength(1),p4=to(tl,tl.WORLD_MATRIX).setParameterLength(1),VB=to(tl,tl.POSITION).setParameterLength(1),g4=to(tl,tl.SCALE).setParameterLength(1),m4=to(tl,tl.VIEW_POSITION).setParameterLength(1),v4=to(tl,tl.RADIUS).setParameterLength(1);class $A extends tl{static get type(){return"ModelNode"}constructor(e){super(e)}update(e){this.object3d=e.object,super.update(e)}}const y4=xs($A,$A.DIRECTION),XA=xs($A,$A.WORLD_MATRIX),x4=xs($A,$A.POSITION),b4=xs($A,$A.SCALE),_4=xs($A,$A.VIEW_POSITION),zB=xs($A,$A.RADIUS),GB=va(new pn).onObjectUpdate(({object:s},e)=>e.value.getNormalMatrix(s.matrixWorld)),w4=va(new di).onObjectUpdate(({object:s},e)=>e.value.copy(s.matrixWorld).invert()),cg=or(s=>s.context.modelViewMatrix||HB).once()().toVar("modelViewMatrix"),HB=AA.mul(XA),lS=or(s=>(s.context.isHighPrecisionModelViewMatrix=!0,va("mat4").onObjectUpdate(({object:e,camera:t})=>e.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,e.matrixWorld)))).once()().toVar("highpModelViewMatrix"),uS=or(s=>{const e=s.context.isHighPrecisionModelViewMatrix;return va("mat3").onObjectUpdate(({object:t,camera:n})=>(e!==!0&&t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix)))}).once()().toVar("highpModelNormalViewMatrix"),cd=af("position","vec3"),vc=cd.toVarying("positionLocal"),Db=cd.toVarying("positionPrevious"),pA=or(s=>XA.mul(vc).xyz.toVarying(s.getSubBuildProperty("v_positionWorld")),"vec3").once(["POSITION"])(),cS=or(()=>vc.transformDirection(XA).toVarying("v_positionWorldDirection").normalize().toVar("positionWorldDirection"),"vec3").once(["POSITION"])(),Oc=or(s=>s.context.setupPositionView().toVarying("v_positionView"),"vec3").once(["POSITION"])(),iu=or(s=>{let e;return s.camera.isOrthographicCamera?e=Kn(0,0,1):e=Oc.negate().toVarying("v_positionViewDirection").normalize(),e.toVar("positionViewDirection")},"vec3").once(["POSITION"])();class S4 extends ta{static get type(){return"FrontFacingNode"}constructor(){super("bool"),this.isFrontFacingNode=!0}generate(e){if(e.shaderStage!=="fragment")return"true";const{material:t}=e;return t.side===de?"false":e.getFrontFacing()}}const QB=xs(S4),hS=qt(QB).mul(2).sub(1),bv=or(([s],{material:e})=>{const t=e.side;return t===de?s=s.mul(-1):t===he&&(s=s.mul(hS)),s}),kb=af("normal","vec3"),Of=or(s=>s.geometry.hasAttribute("normal")===!1?(Lr('TSL: Vertex attribute "normal" not found on geometry.'),Kn(0,1,0)):kb,"vec3").once()().toVar("normalLocal"),WB=Oc.dFdx().cross(Oc.dFdy()).normalize().toVar("normalFlat"),_v=or(s=>{let e;return s.material.flatShading===!0?e=WB:e=dS(Of).toVarying("v_normalViewGeometry").normalize(),e},"vec3").once()().toVar("normalViewGeometry"),ZB=or(s=>{let e=_v.transformDirection(AA);return s.material.flatShading!==!0&&(e=e.toVarying("v_normalWorldGeometry")),e.normalize().toVar("normalWorldGeometry")},"vec3").once()(),cl=or(({subBuildFn:s,material:e,context:t})=>{let n;return s==="NORMAL"||s==="VERTEX"?(n=_v,e.flatShading!==!0&&(n=bv(n))):n=t.setupNormal().context({getUV:null}),n},"vec3").once(["NORMAL","VERTEX"])().toVar("normalView"),Om=cl.transformDirection(AA).toVar("normalWorld"),v0=or(({subBuildFn:s,context:e})=>{let t;return s==="NORMAL"||s==="VERTEX"?t=cl:t=e.setupClearcoatNormal().context({getUV:null}),t},"vec3").once(["NORMAL","VERTEX"])().toVar("clearcoatNormalView"),KB=or(([s,e=XA])=>{const t=ld(e),n=s.div(Kn(t[0].dot(t[0]),t[1].dot(t[1]),t[2].dot(t[2])));return t.mul(n).xyz}),dS=or(([s],e)=>{const t=e.context.modelNormalViewMatrix;if(t)return t.transformDirection(s);const n=GB.mul(s);return AA.transformDirection(n)}),M4=or(()=>(Lr('TSL: "transformedNormalView" is deprecated. Use "normalView" instead.'),cl)).once(["NORMAL","VERTEX"])(),E4=or(()=>(Lr('TSL: "transformedNormalWorld" is deprecated. Use "normalWorld" instead.'),Om)).once(["NORMAL","VERTEX"])(),C4=or(()=>(Lr('TSL: "transformedClearcoatNormalView" is deprecated. Use "clearcoatNormalView" instead.'),v0)).once(["NORMAL","VERTEX"])(),$B=new Ua,fS=new di,XB=va(0).onReference(({material:s})=>s).onObjectUpdate(({material:s})=>s.refractionRatio),Vb=va(1).onReference(({material:s})=>s).onObjectUpdate(function({material:s,scene:e}){return s.envMap?s.envMapIntensity:e.environmentIntensity}),AS=va(new di).onReference(function(s){return s.material}).onObjectUpdate(function({material:s,scene:e}){const t=e.environment!==null&&s.envMap===null?e.environmentRotation:s.envMapRotation;return t?($B.copy(t),fS.makeRotationFromEuler($B)):fS.identity(),fS}),jB=iu.negate().reflect(cl),YB=iu.negate().refract(cl,XB),qB=jB.transformDirection(AA).toVar("reflectVector"),JB=YB.transformDirection(AA).toVar("reflectVector"),e2=new rh;class T4 extends ug{static get type(){return"CubeTextureNode"}constructor(e,t=null,n=null,i=null){super(e,t,n,i),this.isCubeTextureNode=!0}getInputType(){return this.value.isDepthTexture===!0?"cubeDepthTexture":"cubeTexture"}getDefaultUV(){const e=this.value;return e.mapping===it?qB:e.mapping===wt?JB:(Gr('CubeTextureNode: Mapping "%s" not supported.',e.mapping),Kn(0,0,0))}setUpdateMatrix(){}setupUV(e,t){const n=this.value;return n.isDepthTexture===!0?e.renderer.coordinateSystem===To?Kn(t.x,t.y.negate(),t.z):t:((e.renderer.coordinateSystem===To||!n.isRenderTargetTexture)&&(t=Kn(t.x.negate(),t.yz)),AS.mul(t))}generateUV(e,t){return t.build(e,this.sampler===!0?"vec3":"ivec3")}}const pS=to(T4).setParameterLength(1,4).setName("cubeTexture"),lf=(s=e2,e=null,t=null,n=null)=>{let i;return s&&s.isCubeTextureNode===!0?(i=Ss(s.clone()),i.referenceNode=s,e!==null&&(i.uvNode=Ss(e)),t!==null&&(i.levelNode=Ss(t)),n!==null&&(i.biasNode=Ss(n))):i=pS(s,e,t,n),i},B4=(s=e2)=>pS(s);class R4 extends u0{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),n=this.referenceNode.getNodeType(),i=this.getNodeType();return e.format(t,n,i)}}class zb extends ta{static get type(){return"ReferenceNode"}constructor(e,t,n=null,i=null){super(),this.property=e,this.uniformType=t,this.object=n,this.count=i,this.properties=e.split("."),this.reference=n,this.node=null,this.group=null,this.name=null,this.updateType=Ao.OBJECT}element(e){return new R4(this,Ss(e))}setGroup(e){return this.group=e,this}setName(e){return this.name=e,this}label(e){return Lr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setNodeType(e){let t=null;this.count!==null?t=Dy(null,e,this.count):Array.isArray(this.getValueFromReference())?t=Fd(null,e):e==="texture"?t=xl(null):e==="cubeTexture"?t=lf(null):t=va(null,e),this.group!==null&&t.setGroup(this.group),this.name!==null&&t.setName(this.name),this.node=t}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateValue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let n=e[t[0]];for(let i=1;inew zb(s,e,t),gS=(s,e,t,n)=>new zb(s,e,n,t);class I4 extends zb{static get type(){return"MaterialReferenceNode"}constructor(e,t,n=null){super(e,t,n),this.material=n,this.isMaterialReferenceNode=!0}updateReference(e){return this.reference=this.material!==null?this.material:e.material,this.reference}}const em=(s,e,t=null)=>new I4(s,e,t),t2=Zl(),N4=Oc.dFdx(),F4=Oc.dFdy(),n2=t2.dFdx(),r2=t2.dFdy(),i2=cl,s2=F4.cross(i2),a2=i2.cross(N4),mS=s2.mul(n2.x).add(a2.mul(r2.x)),vS=s2.mul(n2.y).add(a2.mul(r2.y)),o2=mS.dot(mS).max(vS.dot(vS)),l2=o2.equal(0).select(0,o2.inverseSqrt()),P4=mS.mul(l2).toVar("tangentViewFrame"),L4=vS.mul(l2).toVar("bitangentViewFrame"),Gb=af("tangent","vec4"),Gy=Gb.xyz.toVar("tangentLocal"),Hb=or(({subBuildFn:s,geometry:e,material:t})=>{let n;return s==="VERTEX"||e.hasAttribute("tangent")?n=cg.mul(Ks(Gy,0)).xyz.toVarying("v_tangentView").normalize():n=P4,t.flatShading!==!0&&(n=bv(n)),n},"vec3").once(["NORMAL","VERTEX"])().toVar("tangentView"),u2=Hb.transformDirection(AA).toVarying("v_tangentWorld").normalize().toVar("tangentWorld"),Qb=or(([s,e],{subBuildFn:t,material:n})=>{let i=s.mul(Gb.w).xyz;return t==="NORMAL"&&n.flatShading!==!0&&(i=i.toVarying(e)),i}).once(["NORMAL"]),U4=Qb(kb.cross(Gb),"v_bitangentGeometry").normalize().toVar("bitangentGeometry"),O4=Qb(Of.cross(Gy),"v_bitangentLocal").normalize().toVar("bitangentLocal"),c2=or(({subBuildFn:s,geometry:e,material:t})=>{let n;return s==="VERTEX"||e.hasAttribute("tangent")?n=Qb(cl.cross(Hb),"v_bitangentView").normalize():n=L4,t.flatShading!==!0&&(n=bv(n)),n},"vec3").once(["NORMAL","VERTEX"])().toVar("bitangentView"),D4=Qb(Om.cross(u2),"v_bitangentWorld").normalize().toVar("bitangentWorld"),y0=ld(Hb,c2,cl).toVar("TBNViewMatrix"),h2=iu.mul(y0),k4=(s,e)=>s.sub(h2.mul(e)),d2=or(()=>{let s=f0.cross(iu);return s=s.cross(f0).normalize(),s=zo(s,cl,Fm.mul(ig.oneMinus()).oneMinus().pow2().pow2()).normalize(),s}).once()(),f2=s=>Ss(s).mul(.5).add(.5),V4=s=>Ss(s).mul(2).sub(1),yS=s=>Kn(s,Nd(Nb(qt(1).sub(ZA(s,s)))));class z4 extends pc{static get type(){return"NormalMapNode"}constructor(e,t=null){super("vec3"),this.node=e,this.scaleNode=t,this.normalMapType=Ll,this.unpackNormalMode=Kh}setup({material:e}){const{normalMapType:t,scaleNode:n,unpackNormalMode:i}=this;let a=this.node.mul(2).sub(1);if(t===Ll?i===dh?a=yS(a.xy):i===$h?a=yS(a.yw):i!==Kh&&console.error(`THREE.NodeMaterial: Unexpected unpack normal mode: ${i}`):i!==Kh&&console.error(`THREE.NodeMaterial: Normal map type '${t}' is not compatible with unpack normal mode '${i}'`),n!==null){let u=n;e.flatShading===!0&&(u=bv(u)),a=Kn(a.xy.mul(u),a.z)}let o=null;return t===Lu?o=dS(a):t===Ll?o=y0.mul(a).normalize():(Gr(`NodeMaterial: Unsupported normal map type: ${t}`),o=cl),o}}const xS=to(z4).setParameterLength(1,2),G4=or(({textureNode:s,bumpScale:e})=>{const t=i=>s.isolate().context({getUV:a=>i(a.uvNode||Zl()),forceUVContext:!0}),n=qt(t(i=>i));return Gi(qt(t(i=>i.add(i.dFdx()))).sub(n),qt(t(i=>i.add(i.dFdy()))).sub(n)).mul(e)}),H4=or(s=>{const{surf_pos:e,surf_norm:t,dHdxy:n}=s,i=e.dFdx().normalize(),a=e.dFdy().normalize(),o=t,u=a.cross(o),c=o.cross(i),d=i.dot(u).mul(hS),g=d.sign().mul(n.x.mul(u).add(n.y.mul(c)));return d.abs().mul(t).sub(g).normalize()});class Q4 extends pc{static get type(){return"BumpMapNode"}constructor(e,t=null){super("vec3"),this.textureNode=e,this.scaleNode=t}setup(){const e=this.scaleNode!==null?this.scaleNode:1,t=G4({textureNode:this.textureNode,bumpScale:e});return H4({surf_pos:Oc,surf_norm:cl,dHdxy:t})}}const bS=to(Q4).setParameterLength(1,2),A2=new Map;class vi extends ta{static get type(){return"MaterialNode"}constructor(e){super(),this.scope=e}getCache(e,t){let n=A2.get(e);return n===void 0&&(n=em(e,t),A2.set(e,n)),n}getFloat(e){return this.getCache(e,"float")}getColor(e){return this.getCache(e,"color")}getTexture(e){return this.getCache(e==="map"?"map":e+"Map","texture")}setup(e){const t=e.context.material,n=this.scope;let i=null;if(n===vi.COLOR){const a=t.color!==void 0?this.getColor(n):Kn();t.map&&t.map.isTexture===!0?i=a.mul(this.getTexture("map")):i=a}else if(n===vi.OPACITY){const a=this.getFloat(n);t.alphaMap&&t.alphaMap.isTexture===!0?i=a.mul(this.getTexture("alpha")):i=a}else if(n===vi.SPECULAR_STRENGTH)t.specularMap&&t.specularMap.isTexture===!0?i=this.getTexture("specular").r:i=qt(1);else if(n===vi.SPECULAR_INTENSITY){const a=this.getFloat(n);t.specularIntensityMap&&t.specularIntensityMap.isTexture===!0?i=a.mul(this.getTexture(n).a):i=a}else if(n===vi.SPECULAR_COLOR){const a=this.getColor(n);t.specularColorMap&&t.specularColorMap.isTexture===!0?i=a.mul(this.getTexture(n).rgb):i=a}else if(n===vi.ROUGHNESS){const a=this.getFloat(n);t.roughnessMap&&t.roughnessMap.isTexture===!0?i=a.mul(this.getTexture(n).g):i=a}else if(n===vi.METALNESS){const a=this.getFloat(n);t.metalnessMap&&t.metalnessMap.isTexture===!0?i=a.mul(this.getTexture(n).b):i=a}else if(n===vi.EMISSIVE){const a=this.getFloat("emissiveIntensity"),o=this.getColor(n).mul(a);t.emissiveMap&&t.emissiveMap.isTexture===!0?i=o.mul(this.getTexture(n)):i=o}else if(n===vi.NORMAL)t.normalMap?(i=xS(this.getTexture("normal"),this.getCache("normalScale","vec2")),i.normalMapType=t.normalMapType,(t.normalMap.format==ze||t.normalMap.format==gr||t.normalMap.format==fr)&&(i.unpackNormalMode=dh)):t.bumpMap?i=bS(this.getTexture("bump").r,this.getFloat("bumpScale")):i=cl;else if(n===vi.CLEARCOAT){const a=this.getFloat(n);t.clearcoatMap&&t.clearcoatMap.isTexture===!0?i=a.mul(this.getTexture(n).r):i=a}else if(n===vi.CLEARCOAT_ROUGHNESS){const a=this.getFloat(n);t.clearcoatRoughnessMap&&t.clearcoatRoughnessMap.isTexture===!0?i=a.mul(this.getTexture(n).r):i=a}else if(n===vi.CLEARCOAT_NORMAL)t.clearcoatNormalMap?i=xS(this.getTexture(n),this.getCache(n+"Scale","vec2")):i=cl;else if(n===vi.SHEEN){const a=this.getColor("sheenColor").mul(this.getFloat("sheen"));t.sheenColorMap&&t.sheenColorMap.isTexture===!0?i=a.mul(this.getTexture("sheenColor").rgb):i=a}else if(n===vi.SHEEN_ROUGHNESS){const a=this.getFloat(n);t.sheenRoughnessMap&&t.sheenRoughnessMap.isTexture===!0?i=a.mul(this.getTexture(n).a):i=a,i=i.clamp(1e-4,1)}else if(n===vi.ANISOTROPY)if(t.anisotropyMap&&t.anisotropyMap.isTexture===!0){const a=this.getTexture(n);i=vb(wv.x,wv.y,wv.y.negate(),wv.x).mul(a.rg.mul(2).sub(Gi(1)).normalize().mul(a.b))}else i=wv;else if(n===vi.IRIDESCENCE_THICKNESS){const a=su("1","float",t.iridescenceThicknessRange);if(t.iridescenceThicknessMap){const o=su("0","float",t.iridescenceThicknessRange);i=a.sub(o).mul(this.getTexture(n).g).add(o)}else i=a}else if(n===vi.TRANSMISSION){const a=this.getFloat(n);t.transmissionMap?i=a.mul(this.getTexture(n).r):i=a}else if(n===vi.THICKNESS){const a=this.getFloat(n);t.thicknessMap?i=a.mul(this.getTexture(n).g):i=a}else if(n===vi.IOR)i=this.getFloat(n);else if(n===vi.LIGHT_MAP)i=this.getTexture(n).rgb.mul(this.getFloat("lightMapIntensity"));else if(n===vi.AO)i=this.getTexture(n).r.sub(1).mul(this.getFloat("aoMapIntensity")).add(1);else if(n===vi.LINE_DASH_OFFSET)i=t.dashOffset?this.getFloat(n):qt(0);else{const a=this.getNodeType(e);i=this.getCache(n,a)}return i}}vi.ALPHA_TEST="alphaTest",vi.COLOR="color",vi.OPACITY="opacity",vi.SHININESS="shininess",vi.SPECULAR="specular",vi.SPECULAR_STRENGTH="specularStrength",vi.SPECULAR_INTENSITY="specularIntensity",vi.SPECULAR_COLOR="specularColor",vi.REFLECTIVITY="reflectivity",vi.ROUGHNESS="roughness",vi.METALNESS="metalness",vi.NORMAL="normal",vi.CLEARCOAT="clearcoat",vi.CLEARCOAT_ROUGHNESS="clearcoatRoughness",vi.CLEARCOAT_NORMAL="clearcoatNormal",vi.EMISSIVE="emissive",vi.ROTATION="rotation",vi.SHEEN="sheen",vi.SHEEN_ROUGHNESS="sheenRoughness",vi.ANISOTROPY="anisotropy",vi.IRIDESCENCE="iridescence",vi.IRIDESCENCE_IOR="iridescenceIOR",vi.IRIDESCENCE_THICKNESS="iridescenceThickness",vi.IOR="ior",vi.TRANSMISSION="transmission",vi.THICKNESS="thickness",vi.ATTENUATION_DISTANCE="attenuationDistance",vi.ATTENUATION_COLOR="attenuationColor",vi.LINE_SCALE="scale",vi.LINE_DASH_SIZE="dashSize",vi.LINE_GAP_SIZE="gapSize",vi.LINE_WIDTH="linewidth",vi.LINE_DASH_OFFSET="dashOffset",vi.POINT_SIZE="size",vi.DISPERSION="dispersion",vi.LIGHT_MAP="light",vi.AO="ao";const p2=xs(vi,vi.ALPHA_TEST),Wb=xs(vi,vi.COLOR),g2=xs(vi,vi.SHININESS),m2=xs(vi,vi.EMISSIVE),Zb=xs(vi,vi.OPACITY),v2=xs(vi,vi.SPECULAR),_S=xs(vi,vi.SPECULAR_INTENSITY),y2=xs(vi,vi.SPECULAR_COLOR),Hy=xs(vi,vi.SPECULAR_STRENGTH),Kb=xs(vi,vi.REFLECTIVITY),x2=xs(vi,vi.ROUGHNESS),b2=xs(vi,vi.METALNESS),_2=xs(vi,vi.NORMAL),w2=xs(vi,vi.CLEARCOAT),S2=xs(vi,vi.CLEARCOAT_ROUGHNESS),M2=xs(vi,vi.CLEARCOAT_NORMAL),E2=xs(vi,vi.ROTATION),C2=xs(vi,vi.SHEEN),T2=xs(vi,vi.SHEEN_ROUGHNESS),B2=xs(vi,vi.ANISOTROPY),R2=xs(vi,vi.IRIDESCENCE),I2=xs(vi,vi.IRIDESCENCE_IOR),N2=xs(vi,vi.IRIDESCENCE_THICKNESS),F2=xs(vi,vi.TRANSMISSION),P2=xs(vi,vi.THICKNESS),L2=xs(vi,vi.IOR),U2=xs(vi,vi.ATTENUATION_DISTANCE),O2=xs(vi,vi.ATTENUATION_COLOR),wS=xs(vi,vi.LINE_SCALE),SS=xs(vi,vi.LINE_DASH_SIZE),MS=xs(vi,vi.LINE_GAP_SIZE),$b=xs(vi,vi.LINE_WIDTH),ES=xs(vi,vi.LINE_DASH_OFFSET),D2=xs(vi,vi.POINT_SIZE),k2=xs(vi,vi.DISPERSION),CS=xs(vi,vi.LIGHT_MAP),V2=xs(vi,vi.AO),wv=va(new ce).onReference(function(s){return s.material}).onRenderUpdate(function({material:s}){this.value.set(s.anisotropy*Math.cos(s.anisotropyRotation),s.anisotropy*Math.sin(s.anisotropyRotation))}),z2=or(s=>s.context.setupModelViewProjection(),"vec4").once()().toVarying("v_modelViewProjection");class W4 extends u0{static get type(){return"StorageArrayElementNode"}constructor(e,t){super(e,t),this.isStorageArrayElementNode=!0}set storageBufferNode(e){this.node=e}get storageBufferNode(){return this.node}getMemberType(e,t){const n=this.storageBufferNode.structTypeNode;return n?n.getMemberType(e,t):"void"}setup(e){return e.isAvailable("storageBuffer")===!1&&this.node.isPBO===!0&&e.setupPBO(this.node),super.setup(e)}generate(e,t){let n;const i=e.context.assign;if(e.isAvailable("storageBuffer")===!1?this.node.isPBO===!0&&i!==!0&&(this.node.value.isInstancedBufferAttribute||e.shaderStage!=="compute")?n=e.generatePBO(this):n=this.node.build(e):n=super.generate(e),i!==!0){const a=this.getNodeType(e);n=e.format(n,a,t)}return n}}const Z4=to(W4).setParameterLength(2);class K4 extends sS{static get type(){return"StorageBufferNode"}constructor(e,t=null,n=0){let i,a=null;t&&t.isStruct?(i="struct",a=t.layout,(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)&&(n=e.count)):t===null&&(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)?(i=o1(e.itemSize),n=e.count):i=t,super(e,i,n),this.isStorageBufferNode=!0,this.structTypeNode=a,this.access=od.READ_WRITE,this.isAtomic=!1,this.isPBO=!1,this._attribute=null,this._varying=null,this.global=!0,e.isStorageBufferAttribute!==!0&&e.isStorageInstancedBufferAttribute!==!0&&(e.isInstancedBufferAttribute?e.isStorageInstancedBufferAttribute=!0:e.isStorageBufferAttribute=!0)}getHash(e){if(this.bufferCount===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getInputType(){return this.value.isIndirectStorageBufferAttribute?"indirectStorageBuffer":"storageBuffer"}element(e){return Z4(this,e)}setPBO(e){return this.isPBO=e,this}getPBO(){return this.isPBO}setAccess(e){return this.access=e,this}toReadOnly(){return this.setAccess(od.READ_ONLY)}setAtomic(e){return this.isAtomic=e,this}toAtomic(){return this.setAtomic(!0)}getAttributeData(){return this._attribute===null&&(this._attribute=J1(this.value),this._varying=lg(this._attribute)),{attribute:this._attribute,varying:this._varying}}getNodeType(e){if(this.structTypeNode!==null)return this.structTypeNode.getNodeType(e);if(e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.getNodeType(e);const{attribute:t}=this.getAttributeData();return t.getNodeType(e)}getMemberType(e,t){return this.structTypeNode!==null?this.structTypeNode.getMemberType(e,t):"void"}generate(e){if(this.structTypeNode!==null&&this.structTypeNode.build(e),e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.generate(e);const{attribute:t,varying:n}=this.getAttributeData(),i=n.build(e);return e.registerTransform(i,t),i}}const tm=(s,e=null,t=0)=>new K4(s,e,t),$4=(s,e,t)=>(Lr('TSL: "storageObject()" is deprecated. Use "storage().setPBO( true )" instead.'),tm(s,e,t).setPBO(!0));class rc extends ta{static get type(){return"IndexNode"}constructor(e){super("uint"),this.scope=e,this.isIndexNode=!0}generate(e){const t=this.getNodeType(e),n=this.scope;let i;if(n===rc.VERTEX)i=e.getVertexIndex();else if(n===rc.INSTANCE)i=e.getInstanceIndex();else if(n===rc.DRAW)i=e.getDrawIndex();else if(n===rc.INVOCATION_LOCAL)i=e.getInvocationLocalIndex();else if(n===rc.INVOCATION_SUBGROUP)i=e.getInvocationSubgroupIndex();else if(n===rc.SUBGROUP)i=e.getSubgroupIndex();else throw new Error("THREE.IndexNode: Unknown scope: "+n);let a;return e.shaderStage==="vertex"||e.shaderStage==="compute"?a=i:a=lg(this).build(e,t),a}}rc.VERTEX="vertex",rc.INSTANCE="instance",rc.SUBGROUP="subgroup",rc.INVOCATION_LOCAL="invocationLocal",rc.INVOCATION_SUBGROUP="invocationSubgroup",rc.DRAW="draw";const G2=xs(rc,rc.VERTEX),hg=xs(rc,rc.INSTANCE),X4=xs(rc,rc.SUBGROUP),j4=xs(rc,rc.INVOCATION_SUBGROUP),Y4=xs(rc,rc.INVOCATION_LOCAL),H2=xs(rc,rc.DRAW);class Q2 extends ta{static get type(){return"InstanceNode"}constructor(e,t,n=null){super("void"),this.count=e,this.instanceMatrix=t,this.instanceColor=n,this.instanceMatrixNode=null,this.instanceColorNode=null,this.updateType=Ao.FRAME,this.buffer=null,this.bufferColor=null}get isStorageMatrix(){const{instanceMatrix:e}=this;return e&&e.isStorageInstancedBufferAttribute===!0}get isStorageColor(){const{instanceColor:e}=this;return e&&e.isStorageInstancedBufferAttribute===!0}setup(e){const{instanceMatrix:t,instanceColor:n,isStorageMatrix:i,isStorageColor:a}=this,{count:o}=t;let{instanceMatrixNode:u,instanceColorNode:c}=this;if(u===null){if(i)u=tm(t,"mat4",Math.max(o,1)).element(hg);else if(o<=1e3)u=Dy(t.array,"mat4",Math.max(o,1)).element(hg);else{const g=new ly(t.array,16,1);this.buffer=g;const v=t.usage===mh?eS:Ub,M=[v(g,"vec4",16,0),v(g,"vec4",16,4),v(g,"vec4",16,8),v(g,"vec4",16,12)];u=Im(...M)}this.instanceMatrixNode=u}if(n&&c===null){if(a)c=tm(n,"vec3",Math.max(n.count,1)).element(hg);else{const g=new Mh(n.array,3),v=n.usage===mh?eS:Ub;this.bufferColor=g,c=Kn(v(g,"vec3",3,0))}this.instanceColorNode=c}const d=u.mul(vc).xyz;if(vc.assign(d),e.hasGeometryAttribute("normal")){const g=KB(Of,u);Of.assign(g)}this.instanceColorNode!==null&&cA("vec3","vInstanceColor").assign(this.instanceColorNode)}update(){this.buffer!==null&&this.isStorageMatrix!==!0&&(this.buffer.clearUpdateRanges(),this.buffer.updateRanges.push(...this.instanceMatrix.updateRanges),this.instanceMatrix.usage!==mh&&this.instanceMatrix.version!==this.buffer.version&&(this.buffer.version=this.instanceMatrix.version)),this.instanceColor&&this.bufferColor!==null&&this.isStorageColor!==!0&&(this.bufferColor.clearUpdateRanges(),this.bufferColor.updateRanges.push(...this.instanceColor.updateRanges),this.instanceColor.usage!==mh&&this.instanceColor.version!==this.bufferColor.version&&(this.bufferColor.version=this.instanceColor.version))}}const q4=to(Q2).setParameterLength(2,3);class J4 extends Q2{static get type(){return"InstancedMeshNode"}constructor(e){const{count:t,instanceMatrix:n,instanceColor:i}=e;super(t,n,i),this.instancedMesh=e}}const W2=to(J4).setParameterLength(1);class eV extends ta{static get type(){return"BatchNode"}constructor(e){super("void"),this.batchMesh=e,this.batchingIdNode=null}setup(e){this.batchingIdNode===null&&(e.getDrawIndex()===null?this.batchingIdNode=hg:this.batchingIdNode=H2);const n=or(([I])=>{const ne=Qn(Xg(Rc(this.batchMesh._indirectTexture),0).x).toConst(),ee=Qn(I).mod(ne).toConst(),q=Qn(I).div(ne).toConst();return Rc(this.batchMesh._indirectTexture,ch(ee,q)).x}).setLayout({name:"getIndirectIndex",type:"uint",inputs:[{name:"id",type:"int"}]})(Qn(this.batchingIdNode)),i=this.batchMesh._matricesTexture,a=Qn(Xg(Rc(i),0).x).toConst(),o=qt(n).mul(4).toInt().toConst(),u=o.mod(a).toConst(),c=o.div(a).toConst(),d=Im(Rc(i,ch(u,c)),Rc(i,ch(u.add(1),c)),Rc(i,ch(u.add(2),c)),Rc(i,ch(u.add(3),c))),g=this.batchMesh._colorsTexture;if(g!==null){const ne=or(([ee])=>{const q=Qn(Xg(Rc(g),0).x).toConst(),ye=ee,Ce=ye.mod(q).toConst(),ke=ye.div(q).toConst();return Rc(g,ch(Ce,ke)).rgb}).setLayout({name:"getBatchingColor",type:"vec3",inputs:[{name:"id",type:"int"}]})(n);cA("vec3","vBatchColor").assign(ne)}const v=ld(d);vc.assign(d.mul(vc));const M=Of.div(Kn(v[0].dot(v[0]),v[1].dot(v[1]),v[2].dot(v[2]))),B=v.mul(M).xyz;Of.assign(B),e.hasGeometryAttribute("tangent")&&Gy.mulAssign(v)}}const Z2=to(eV).setParameterLength(1),K2=new WeakMap;class $2 extends ta{static get type(){return"SkinningNode"}constructor(e){super("void"),this.skinnedMesh=e,this.updateType=Ao.OBJECT,this.skinIndexNode=af("skinIndex","uvec4"),this.skinWeightNode=af("skinWeight","vec4"),this.bindMatrixNode=su("bindMatrix","mat4"),this.bindMatrixInverseNode=su("bindMatrixInverse","mat4"),this.boneMatricesNode=gS("skeleton.boneMatrices","mat4",e.skeleton.bones.length),this.positionNode=vc,this.toPositionNode=vc,this.previousBoneMatricesNode=null}getSkinnedPosition(e=this.boneMatricesNode,t=this.positionNode){const{skinIndexNode:n,skinWeightNode:i,bindMatrixNode:a,bindMatrixInverseNode:o}=this,u=e.element(n.x),c=e.element(n.y),d=e.element(n.z),g=e.element(n.w),v=a.mul(t),M=$c(u.mul(i.x).mul(v),c.mul(i.y).mul(v),d.mul(i.z).mul(v),g.mul(i.w).mul(v));return o.mul(M).xyz}getSkinnedNormal(e=this.boneMatricesNode,t=Of){const{skinIndexNode:n,skinWeightNode:i,bindMatrixNode:a,bindMatrixInverseNode:o}=this,u=e.element(n.x),c=e.element(n.y),d=e.element(n.z),g=e.element(n.w);let v=$c(i.x.mul(u),i.y.mul(c),i.z.mul(d),i.w.mul(g));return v=o.mul(v).mul(a),v.transformDirection(t).xyz}getPreviousSkinnedPosition(e){const t=e.object;return this.previousBoneMatricesNode===null&&(t.skeleton.previousBoneMatrices=new Float32Array(t.skeleton.boneMatrices),this.previousBoneMatricesNode=gS("skeleton.previousBoneMatrices","mat4",t.skeleton.bones.length)),this.getSkinnedPosition(this.previousBoneMatricesNode,Db)}needsPreviousBoneMatrices(e){const t=e.renderer.getMRT();return t&&t.has("velocity")||u1(e.object).useVelocity===!0}setup(e){this.needsPreviousBoneMatrices(e)&&Db.assign(this.getPreviousSkinnedPosition(e));const t=this.getSkinnedPosition();if(this.toPositionNode&&this.toPositionNode.assign(t),e.hasGeometryAttribute("normal")){const n=this.getSkinnedNormal();Of.assign(n),e.hasGeometryAttribute("tangent")&&Gy.assign(n)}return t}generate(e,t){if(t!=="void")return super.generate(e,t)}update(e){const t=e.object&&e.object.skeleton?e.object.skeleton:this.skinnedMesh.skeleton;K2.get(t)!==e.frameId&&(K2.set(t,e.frameId),this.previousBoneMatricesNode!==null&&(t.previousBoneMatrices===null&&(t.previousBoneMatrices=new Float32Array(t.boneMatrices)),t.previousBoneMatrices.set(t.boneMatrices)),t.update())}}const X2=s=>new $2(s),tV=(s,e=null)=>{const t=new $2(s);return t.positionNode=tm(new Mh(s.geometry.getAttribute("position").array,3),"vec3").setPBO(!0).toReadOnly().element(hg).toVar(),t.skinIndexNode=tm(new Mh(new Uint32Array(s.geometry.getAttribute("skinIndex").array),4),"uvec4").setPBO(!0).toReadOnly().element(hg).toVar(),t.skinWeightNode=tm(new Mh(s.geometry.getAttribute("skinWeight").array,4),"vec4").setPBO(!0).toReadOnly().element(hg).toVar(),t.bindMatrixNode=va(s.bindMatrix,"mat4"),t.bindMatrixInverseNode=va(s.bindMatrixInverse,"mat4"),t.boneMatricesNode=Dy(s.skeleton.boneMatrices,"mat4",s.skeleton.bones.length),t.toPositionNode=e,Ss(t)};class nV extends ta{static get type(){return"LoopNode"}constructor(e=[]){super("void"),this.params=e}getVarName(e){return String.fromCharCode(105+e)}getProperties(e){const t=e.getNodeProperties(this);if(t.stackNode!==void 0)return t;const n={};for(let u=0,c=this.params.length-1;uNumber(v)?I=">=":I="<"));let ee;if(d)ee=`while ( ${v} )`;else{const q={start:g,end:v},ye=q.start,Ce=q.end;let ke;const nt=()=>I.includes("<")?"+=":"-=";if(ne!=null)switch(typeof ne){case"function":ke=e.flowStagesNode(t.updateNode,"void").code.replace(/\t|;/g,"");break;case"number":ke=M+" "+nt()+" "+e.generateConst(B,ne);break;case"string":ke=M+" "+ne;break;default:ne.isNode?ke=M+" "+nt()+" "+ne.build(e):(Gr("TSL: 'Loop( { update: ... } )' is not a function, string or number."),ke="break /* invalid update */")}else B==="int"||B==="uint"?ne=I.includes("<")?"++":"--":ne=nt()+" 1.",ke=M+" "+ne;const Ye=e.getVar(B,M)+" = "+ye,ht=M+" "+I+" "+Ce;ee=`for ( ${Ye}; ${ht}; ${ke} )`}e.addFlowCode((o===0?` -`:"")+e.tab+ee+` { - -`).addFlowTab()}const a=i.build(e,"void");t.returnsNode.build(e,"void"),e.removeFlowTab().addFlowCode(` -`+e.tab+a);for(let o=0,u=this.params.length-1;onew nV(c0(s,"int")).toStack(),rV=()=>$g("continue").toStack(),j2=()=>$g("break").toStack(),TS=new WeakMap,gA=new Ni,Y2=or(({bufferMap:s,influence:e,stride:t,width:n,depth:i,offset:a})=>{const o=Qn(G2).mul(t).add(a),u=o.div(n),c=o.sub(u.mul(n));return Rc(s,ch(c,u)).depth(i).xyz.mul(e)});function iV(s){const e=s.morphAttributes.position!==void 0,t=s.morphAttributes.normal!==void 0,n=s.morphAttributes.color!==void 0,i=s.morphAttributes.position||s.morphAttributes.normal||s.morphAttributes.color,a=i!==void 0?i.length:0;let o=TS.get(s);if(o===void 0||o.count!==a){let q=function(){ne.dispose(),TS.delete(s),s.removeEventListener("dispose",q)};o!==void 0&&o.texture.dispose();const u=s.morphAttributes.position||[],c=s.morphAttributes.normal||[],d=s.morphAttributes.color||[];let g=0;e===!0&&(g=1),t===!0&&(g=2),n===!0&&(g=3);let v=s.attributes.position.count*g,M=1;const B=4096;v>B&&(M=Math.ceil(v/B),v=B);const I=new Float32Array(v*M*4*a),ne=new _a(I,v,M,a);ne.type=dt,ne.needsUpdate=!0;const ee=g*4;for(let ye=0;ye{const M=qt(0).toVar();this.mesh.count>1&&this.mesh.morphTexture!==null&&this.mesh.morphTexture!==void 0?M.assign(Rc(this.mesh.morphTexture,ch(Qn(v).add(1),Qn(hg))).r):M.assign(su("morphTargetInfluences","float").element(v).toVar()),ra(M.notEqual(0),()=>{n===!0&&vc.addAssign(Y2({bufferMap:u,influence:M,stride:c,width:g,depth:v,offset:Qn(0)})),i===!0&&Of.addAssign(Y2({bufferMap:u,influence:M,stride:c,width:g,depth:v,offset:Qn(1)}))})})}update(){const e=this.morphBaseInfluence;this.mesh.geometry.morphTargetsRelative?e.value=1:e.value=1-this.mesh.morphTargetInfluences.reduce((t,n)=>t+n,0)}}const q2=to(sV).setParameterLength(1);class Sv extends ta{static get type(){return"LightingNode"}constructor(){super("vec3"),this.isLightingNode=!0}}class aV extends Sv{static get type(){return"AONode"}constructor(e=null){super(),this.aoNode=e}setup(e){e.context.ambientOcclusion.mulAssign(this.aoNode)}}class oV extends uB{static get type(){return"LightingContextNode"}constructor(e,t=null,n=null,i=null){super(e),this.lightingModel=t,this.backdropNode=n,this.backdropAlphaNode=i,this._value=null}getContext(){const{backdropNode:e,backdropAlphaNode:t}=this,n=Kn().toVar("directDiffuse"),i=Kn().toVar("directSpecular"),a=Kn().toVar("indirectDiffuse"),o=Kn().toVar("indirectSpecular"),u={directDiffuse:n,directSpecular:i,indirectDiffuse:a,indirectSpecular:o};return{radiance:Kn().toVar("radiance"),irradiance:Kn().toVar("irradiance"),iblIrradiance:Kn().toVar("iblIrradiance"),ambientOcclusion:qt(1).toVar("ambientOcclusion"),reflectedLight:u,backdrop:e,backdropAlpha:t}}setup(e){return this.value=this._value||(this._value=this.getContext()),this.value.lightingModel=this.lightingModel||e.context.lightingModel,super.setup(e)}}const J2=to(oV);class lV extends Sv{static get type(){return"IrradianceNode"}constructor(e){super(),this.node=e}setup(e){e.context.irradiance.addAssign(this.node)}}const Mv=new ce;class Xb extends ug{static get type(){return"ViewportTextureNode"}constructor(e=Yg,t=null,n=null){let i=null;n===null?(i=new OA,i.minFilter=yi,n=i):i=n,super(n,e,t),this.generateMipmaps=!1,this.defaultFramebuffer=i,this.isOutputTextureNode=!0,this.updateBeforeType=Ao.FRAME,this._cacheTextures=new WeakMap}getTextureForReference(e=null){let t,n;if(this.referenceNode?(t=this.referenceNode.defaultFramebuffer,n=this.referenceNode._cacheTextures):(t=this.defaultFramebuffer,n=this._cacheTextures),e===null)return t;if(n.has(e)===!1){const i=t.clone();n.set(e,i)}return n.get(e)}updateReference(e){const t=e.renderer.getRenderTarget();return this.value=this.getTextureForReference(t),this.value}updateBefore(e){const t=e.renderer,n=t.getRenderTarget();n===null?t.getDrawingBufferSize(Mv):Mv.set(n.width,n.height);const i=this.getTextureForReference(n);(i.image.width!==Mv.width||i.image.height!==Mv.height)&&(i.image.width=Mv.width,i.image.height=Mv.height,i.needsUpdate=!0);const a=i.generateMipmaps;i.generateMipmaps=this.generateMipmaps,t.copyFramebufferToTexture(i),i.generateMipmaps=a}clone(){const e=new this.constructor(this.uvNode,this.levelNode,this.value);return e.generateMipmaps=this.generateMipmaps,e}}const uV=to(Xb).setParameterLength(0,3),BS=to(Xb,null,null,{generateMipmaps:!0}).setParameterLength(0,3);let jb=null;class cV extends Xb{static get type(){return"ViewportDepthTextureNode"}constructor(e=Yg,t=null){jb===null&&(jb=new Al),super(e,t,jb)}getTextureForReference(){return jb}}const RS=to(cV).setParameterLength(0,2);class Df extends ta{static get type(){return"ViewportDepthNode"}constructor(e,t=null){super("float"),this.scope=e,this.valueNode=t,this.isViewportDepthNode=!0}generate(e){const{scope:t}=this;return t===Df.DEPTH_BASE?e.getFragDepth():super.generate(e)}setup({camera:e}){const{scope:t}=this,n=this.valueNode;let i=null;if(t===Df.DEPTH_BASE)n!==null&&(i=eR().assign(n));else if(t===Df.DEPTH)e.isPerspectiveCamera?i=IS(Oc.z,qg,Jg):i=Ev(Oc.z,qg,Jg);else if(t===Df.LINEAR_DEPTH)if(n!==null)if(e.isPerspectiveCamera){const a=NS(n,qg,Jg);i=Ev(a,qg,Jg)}else i=n;else i=Ev(Oc.z,qg,Jg);return i}}Df.DEPTH_BASE="depthBase",Df.DEPTH="depth",Df.LINEAR_DEPTH="linearDepth";const Ev=(s,e,t)=>s.add(e).div(e.sub(t)),hV=(s,e,t)=>e.sub(t).mul(s).sub(e),IS=(s,e,t)=>e.add(s).mul(t).div(t.sub(e).mul(s)),NS=(s,e,t)=>e.mul(t).div(t.sub(e).mul(s).sub(t)),FS=(s,e,t)=>{e=e.max(1e-6).toVar();const n=sg(s.negate().div(e)),i=sg(t.div(e));return n.div(i)},dV=(s,e,t)=>{const n=s.mul(Tb(t.div(e)));return qt(Math.E).pow(n).mul(e).negate()},eR=to(Df,Df.DEPTH_BASE),PS=xs(Df,Df.DEPTH),Cv=to(Df,Df.LINEAR_DEPTH).setParameterLength(0,1),fV=Cv(RS());PS.assign=s=>eR(s);class jA extends ta{static get type(){return"ClippingNode"}constructor(e=jA.DEFAULT){super(),this.scope=e}setup(e){super.setup(e);const t=e.clippingContext,{intersectionPlanes:n,unionPlanes:i}=t;return this.hardwareClipping=e.material.hardwareClipping,this.scope===jA.ALPHA_TO_COVERAGE?this.setupAlphaToCoverage(n,i):this.scope===jA.HARDWARE?this.setupHardwareClipping(i,e):this.setupDefault(n,i)}setupAlphaToCoverage(e,t){return or(()=>{const n=qt().toVar("distanceToPlane"),i=qt().toVar("distanceToGradient"),a=qt(1).toVar("clipOpacity"),o=t.length;if(this.hardwareClipping===!1&&o>0){const c=Fd(t).setGroup(xa);kl(o,({i:d})=>{const g=c.element(d);n.assign(Oc.dot(g.xyz).negate().add(g.w)),i.assign(n.fwidth().div(2)),a.mulAssign(fA(i.negate(),i,n))})}const u=e.length;if(u>0){const c=Fd(e).setGroup(xa),d=qt(1).toVar("intersectionClipOpacity");kl(u,({i:g})=>{const v=c.element(g);n.assign(Oc.dot(v.xyz).negate().add(v.w)),i.assign(n.fwidth().div(2)),d.mulAssign(fA(i.negate(),i,n).oneMinus())}),a.mulAssign(d.oneMinus())}Wl.a.mulAssign(a),Wl.a.equal(0).discard()})()}setupDefault(e,t){return or(()=>{const n=t.length;if(this.hardwareClipping===!1&&n>0){const a=Fd(t).setGroup(xa);kl(n,({i:o})=>{const u=a.element(o);Oc.dot(u.xyz).greaterThan(u.w).discard()})}const i=e.length;if(i>0){const a=Fd(e).setGroup(xa),o=WA(!0).toVar("clipped");kl(i,({i:u})=>{const c=a.element(u);o.assign(Oc.dot(c.xyz).greaterThan(c.w).and(o))}),o.discard()}})()}setupHardwareClipping(e,t){const n=e.length;return t.enableHardwareClipping(n),or(()=>{const i=Fd(e).setGroup(xa),a=jg(t.getClipDistance());kl(n,({i:o})=>{const u=i.element(o),c=Oc.dot(u.xyz).sub(u.w).negate();a.element(o).assign(c)})})()}}jA.ALPHA_TO_COVERAGE="alphaToCoverage",jA.DEFAULT="default",jA.HARDWARE="hardware";const AV=()=>new jA,pV=()=>new jA(jA.ALPHA_TO_COVERAGE),gV=()=>new jA(jA.HARDWARE),mV=.05,tR=or(([s])=>_p(no(1e4,sf(no(17,s.x).add(no(.1,s.y)))).mul($c(.1,Su(sf(no(13,s.y).add(s.x))))))),nR=or(([s])=>tR(Gi(tR(s.xy),s.z))),vV=or(([s])=>{const e=mc(og(V1(s.xyz)),og(z1(s.xyz))),t=qt(1).div(qt(mV).mul(e)).toVar("pixScale"),n=Gi(mv(ag(sg(t))),mv(Bb(sg(t)))),i=Gi(nR(ag(n.x.mul(s.xyz))),nR(ag(n.y.mul(s.xyz)))),a=_p(sg(t)),o=$c(no(a.oneMinus(),i.x),no(a,i.y)),u=Uf(a,a.oneMinus()),c=Kn(o.mul(o).div(no(2,u).mul(el(1,u))),o.sub(no(.5,u)).div(el(1,u)),el(1,el(1,o).mul(el(1,o)).div(no(2,u).mul(el(1,u))))),d=o.lessThan(u.oneMinus()).select(o.lessThan(u).select(c.x,c.y),c.z);return Sp(d,1e-6,1)}).setLayout({name:"getAlphaHashThreshold",type:"float",inputs:[{name:"position",type:"vec3"}]});class yV extends OB{static get type(){return"VertexColorNode"}constructor(e){super(null,"vec4"),this.isVertexColorNode=!0,this.index=e}getAttributeName(){const e=this.index;return"color"+(e>0?e:"")}generate(e){const t=this.getAttributeName(e),n=e.hasGeometryAttribute(t);let i;return n===!0?i=super.generate(e):i=e.generateConst(this.nodeType,new Ni(1,1,1,1)),i}serialize(e){super.serialize(e),e.index=this.index}deserialize(e){super.deserialize(e),this.index=e.index}}const rR=(s=0)=>new yV(s),iR=or(([s,e])=>Uf(1,s.oneMinus().div(e)).oneMinus()).setLayout({name:"blendBurn",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),sR=or(([s,e])=>Uf(s.div(e.oneMinus()),1)).setLayout({name:"blendDodge",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),aR=or(([s,e])=>s.oneMinus().mul(e.oneMinus()).oneMinus()).setLayout({name:"blendScreen",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),oR=or(([s,e])=>zo(s.mul(2).mul(e),s.oneMinus().mul(2).mul(e.oneMinus()).oneMinus(),Ib(.5,s))).setLayout({name:"blendOverlay",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),xV=or(([s,e])=>{const t=e.a.add(s.a.mul(e.a.oneMinus()));return Ks(e.rgb.mul(e.a).add(s.rgb.mul(s.a).mul(e.a.oneMinus())).div(t),t)}).setLayout({name:"blendColor",type:"vec4",inputs:[{name:"base",type:"vec4"},{name:"blend",type:"vec4"}]}),lR=or(([s])=>Ks(s.rgb.mul(s.a),s.a),{color:"vec4",return:"vec4"}),bV=or(([s])=>(ra(s.a.equal(0),()=>Ks(0)),Ks(s.rgb.div(s.a),s.a)),{color:"vec4",return:"vec4"}),_V=(...s)=>(Lr('TSL: "burn" has been renamed. Use "blendBurn" instead.'),iR(s)),wV=(...s)=>(Lr('TSL: "dodge" has been renamed. Use "blendDodge" instead.'),sR(s)),SV=(...s)=>(Lr('TSL: "screen" has been renamed. Use "blendScreen" instead.'),aR(s)),MV=(...s)=>(Lr('TSL: "overlay" has been renamed. Use "blendOverlay" instead.'),oR(s));class yc extends Hl{static get type(){return"NodeMaterial"}get type(){return this.constructor.type}set type(e){}constructor(){super(),this.isNodeMaterial=!0,this.fog=!0,this.lights=!1,this.hardwareClipping=!1,this.lightsNode=null,this.envNode=null,this.aoNode=null,this.colorNode=null,this.normalNode=null,this.opacityNode=null,this.backdropNode=null,this.backdropAlphaNode=null,this.alphaTestNode=null,this.maskNode=null,this.positionNode=null,this.geometryNode=null,this.depthNode=null,this.receivedShadowPositionNode=null,this.castShadowPositionNode=null,this.receivedShadowNode=null,this.castShadowNode=null,this.outputNode=null,this.mrtNode=null,this.fragmentNode=null,this.vertexNode=null,this.contextNode=null,Object.defineProperty(this,"shadowPositionNode",{get:()=>this.receivedShadowPositionNode,set:e=>{Lr('NodeMaterial: ".shadowPositionNode" was renamed to ".receivedShadowPositionNode".'),this.receivedShadowPositionNode=e}})}_getNodeChildren(){const e=[];for(const t of Object.getOwnPropertyNames(this)){if(t.startsWith("_")===!0)continue;const n=this[t];n&&n.isNode===!0&&e.push({property:t,childNode:n})}return e}customProgramCacheKey(){const e=[];for(const{property:t,childNode:n}of this._getNodeChildren())e.push(dv(t.slice(0,-4)),n.getCacheKey());return this.type+o0(e)}build(e){this.setup(e)}setupObserver(e){return new X3(e)}setup(e){e.context.setupNormal=()=>vv(this.setupNormal(e),"NORMAL","vec3"),e.context.setupPositionView=()=>this.setupPositionView(e),e.context.setupModelViewProjection=()=>this.setupModelViewProjection(e);const t=e.renderer,n=t.getRenderTarget();t.contextNode.isContextNode===!0?e.context=rl(rl({},e.context),t.contextNode.getFlowContextData()):Gr('NodeMaterial: "renderer.contextNode" must be an instance of `context()`.'),this.contextNode!==null&&(this.contextNode.isContextNode===!0?e.context=rl(rl({},e.context),this.contextNode.getFlowContextData()):Gr('NodeMaterial: "material.contextNode" must be an instance of `context()`.')),e.addStack();const i=vv(this.setupVertex(e),"VERTEX"),a=this.vertexNode||i;e.stack.outputNode=a,this.setupHardwareClipping(e),this.geometryNode!==null&&(e.stack.outputNode=e.stack.outputNode.bypass(this.geometryNode)),e.addFlow("vertex",e.removeStack()),e.addStack();let o;const u=this.setupClipping(e);if((this.depthWrite===!0||this.depthTest===!0)&&(n!==null?n.depthBuffer===!0&&this.setupDepth(e):t.depth===!0&&this.setupDepth(e)),this.fragmentNode===null){this.setupDiffuseColor(e),this.setupVariants(e);const c=this.setupLighting(e);u!==null&&e.stack.addToStack(u);const d=Ks(c,Wl.a).max(0);o=this.setupOutput(e,d),gv.assign(o);const g=this.outputNode!==null;if(g&&(o=this.outputNode),e.context.getOutput&&(o=e.context.getOutput(o,e)),n!==null){const v=t.getMRT(),M=this.mrtNode;v!==null?(g&&gv.assign(o),o=v,M!==null&&(o=v.merge(M))):M!==null&&(o=M)}}else{let c=this.fragmentNode;c.isOutputStructNode!==!0&&(c=Ks(c)),o=this.setupOutput(e,c)}e.stack.outputNode=o,e.addFlow("fragment",e.removeStack()),e.observer=this.setupObserver(e)}setupClipping(e){if(e.clippingContext===null)return null;const{unionPlanes:t,intersectionPlanes:n}=e.clippingContext;let i=null;if(t.length>0||n.length>0){const a=e.renderer.currentSamples;this.alphaToCoverage&&a>1?i=pV():e.stack.addToStack(AV())}return i}setupHardwareClipping(e){if(this.hardwareClipping=!1,e.clippingContext===null)return;const t=e.clippingContext.unionPlanes.length;t>0&&t<=8&&e.isAvailable("clipDistance")&&(e.stack.addToStack(gV()),this.hardwareClipping=!0)}setupDepth(e){const{renderer:t,camera:n}=e;let i=this.depthNode;if(i===null){const a=t.getMRT();a&&a.has("depth")?i=a.get("depth"):t.logarithmicDepthBuffer===!0&&(n.isPerspectiveCamera?i=FS(Oc.z,qg,Jg):i=Ev(Oc.z,qg,Jg))}i!==null&&PS.assign(i).toStack()}setupPositionView(){return cg.mul(vc).xyz}setupModelViewProjection(){return of.mul(Oc)}setupVertex(e){return e.addStack(),this.setupPosition(e),e.context.vertex=e.removeStack(),z2}setupPosition(e){const{object:t,geometry:n}=e;if((n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color)&&q2(t).toStack(),t.isSkinnedMesh===!0&&X2(t).toStack(),this.displacementMap){const i=em("displacementMap","texture"),a=em("displacementScale","float"),o=em("displacementBias","float");vc.addAssign(Of.normalize().mul(i.x.mul(a).add(o)))}return t.isBatchedMesh&&Z2(t).toStack(),t.isInstancedMesh&&t.instanceMatrix&&t.instanceMatrix.isInstancedBufferAttribute===!0&&W2(t).toStack(),this.positionNode!==null&&vc.assign(vv(this.positionNode,"POSITION","vec3")),vc}setupDiffuseColor(e){const{object:t,geometry:n}=e;this.maskNode!==null&&WA(this.maskNode).not().discard();let i=this.colorNode?Ks(this.colorNode):Wb;this.vertexColors===!0&&n.hasAttribute("color")&&(i=i.mul(rR())),t.instanceColor&&(i=cA("vec3","vInstanceColor").mul(i)),t.isBatchedMesh&&t._colorsTexture&&(i=cA("vec3","vBatchColor").mul(i)),Wl.assign(i);const a=this.opacityNode?qt(this.opacityNode):Zb;Wl.a.assign(Wl.a.mul(a));let o=null;(this.alphaTestNode!==null||this.alphaTest>0)&&(o=this.alphaTestNode!==null?qt(this.alphaTestNode):p2,this.alphaToCoverage===!0?(Wl.a=fA(o,o.add(H1(Wl.a)),Wl.a),Wl.a.lessThanEqual(0).discard()):Wl.a.lessThanEqual(o).discard()),this.alphaHash===!0&&Wl.a.lessThan(vV(vc)).discard(),e.isOpaque()&&Wl.a.assign(1)}setupVariants(){}setupOutgoingLight(){return this.lights===!0?Kn(0):Wl.rgb}setupNormal(){return this.normalNode?Kn(this.normalNode):_2}setupEnvironment(){let e=null;return this.envNode?e=this.envNode:this.envMap&&(e=this.envMap.isCubeTexture?em("envMap","cubeTexture"):em("envMap","texture")),e}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new lV(CS)),t}setupLights(e){const t=[],n=this.setupEnvironment(e);n&&n.isLightingNode&&t.push(n);const i=this.setupLightMap(e);i&&i.isLightingNode&&t.push(i);let a=this.aoNode;a===null&&e.material.aoMap&&(a=V2),e.context.getAO&&(a=e.context.getAO(a,e)),a&&t.push(new aV(a));let o=this.lightsNode||e.lightsNode;return t.length>0&&(o=e.renderer.lighting.createNode([...o.getLights(),...t])),o}setupLightingModel(){}setupLighting(e){const{material:t}=e,{backdropNode:n,backdropAlphaNode:i,emissiveNode:a}=this,u=this.lights===!0||this.lightsNode!==null?this.setupLights(e):null;let c=this.setupOutgoingLight(e);if(u&&u.getScope().hasLights){const d=this.setupLightingModel(e)||null;c=J2(u,d,n,i)}else n!==null&&(c=Kn(i!==null?zo(c,n,i):n));return(a&&a.isNode===!0||t.emissive&&t.emissive.isColor===!0)&&(E1.assign(Kn(a||m2)),c=c.add(E1)),c}setupFog(e,t){const n=e.fogNode;return n&&(gv.assign(t),t=Ks(n.toVar())),t}setupPremultipliedAlpha(e,t){return lR(t)}setupOutput(e,t){return this.fog===!0&&(t=this.setupFog(e,t)),this.premultipliedAlpha===!0&&(t=this.setupPremultipliedAlpha(e,t)),t}setDefaultValues(e){for(const n in e){const i=e[n];this[n]===void 0&&(this[n]=i,i&&i.clone&&(this[n]=i.clone()))}const t=Object.getOwnPropertyDescriptors(e.constructor.prototype);for(const n in t)Object.getOwnPropertyDescriptor(this.constructor.prototype,n)===void 0&&t[n].get!==void 0&&Object.defineProperty(this.constructor.prototype,n,t[n])}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{},nodes:{}});const n=Hl.prototype.toJSON.call(this,e);n.inputNodes={};for(const{property:a,childNode:o}of this._getNodeChildren())n.inputNodes[a]=o.toJSON(e).uuid;function i(a){const o=[];for(const u in a){const c=a[u];delete c.metadata,o.push(c)}return o}if(t){const a=i(e.textures),o=i(e.images),u=i(e.nodes);a.length>0&&(n.textures=a),o.length>0&&(n.images=o),u.length>0&&(n.nodes=u)}return n}copy(e){return this.lightsNode=e.lightsNode,this.envNode=e.envNode,this.aoNode=e.aoNode,this.colorNode=e.colorNode,this.normalNode=e.normalNode,this.opacityNode=e.opacityNode,this.backdropNode=e.backdropNode,this.backdropAlphaNode=e.backdropAlphaNode,this.alphaTestNode=e.alphaTestNode,this.maskNode=e.maskNode,this.positionNode=e.positionNode,this.geometryNode=e.geometryNode,this.depthNode=e.depthNode,this.receivedShadowPositionNode=e.receivedShadowPositionNode,this.castShadowPositionNode=e.castShadowPositionNode,this.receivedShadowNode=e.receivedShadowNode,this.castShadowNode=e.castShadowNode,this.outputNode=e.outputNode,this.mrtNode=e.mrtNode,this.fragmentNode=e.fragmentNode,this.vertexNode=e.vertexNode,this.contextNode=e.contextNode,super.copy(e)}}const EV=new fl;class CV extends yc{static get type(){return"LineBasicNodeMaterial"}constructor(e){super(),this.isLineBasicNodeMaterial=!0,this.setDefaultValues(EV),this.setValues(e)}}const TV=new xm;class BV extends yc{static get type(){return"LineDashedNodeMaterial"}constructor(e){super(),this.isLineDashedNodeMaterial=!0,this.setDefaultValues(TV),this.dashOffset=0,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.setValues(e)}setupVariants(){const e=this.offsetNode?qt(this.offsetNode):ES,t=this.dashScaleNode?qt(this.dashScaleNode):wS,n=this.dashSizeNode?qt(this.dashSizeNode):SS,i=this.gapSizeNode?qt(this.gapSizeNode):MS;p0.assign(n),Py.assign(i);const a=lg(af("lineDistance").mul(t));(e?a.add(e):a).mod(p0.add(Py)).greaterThan(p0).discard()}}let Yb=null;class RV extends Xb{static get type(){return"ViewportSharedTextureNode"}constructor(e=Yg,t=null){Yb===null&&(Yb=new OA),super(e,t,Yb)}getTextureForReference(){return Yb}updateReference(){return this}}const uR=to(RV).setParameterLength(0,2),IV=new xm;class kX extends null{static get type(){return"Line2NodeMaterial"}constructor(e={}){super(),this.isLine2NodeMaterial=!0,this.setDefaultValues(IV),this.useColor=e.vertexColors,this.dashOffset=0,this.lineColorNode=null,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.blending=NoBlending,this._useDash=e.dashed,this._useAlphaToCoverage=!0,this._useWorldUnits=!1,this.setValues(e)}setup(e){const{renderer:t}=e,n=this._useAlphaToCoverage,i=this.useColor,a=this._useDash,o=this._useWorldUnits,u=or(({start:d,end:g})=>{const v=of.element(2).element(2),I=of.element(3).element(2).mul(-.5).div(v).sub(d.z).div(g.z.sub(d.z));return Ks(zo(d.xyz,g.xyz,I),g.w)}).setLayout({name:"trimSegment",type:"vec4",inputs:[{name:"start",type:"vec4"},{name:"end",type:"vec4"}]});this.vertexNode=or(()=>{const d=af("instanceStart"),g=af("instanceEnd"),v=Ks(cg.mul(Ks(d,1))).toVar("start"),M=Ks(cg.mul(Ks(g,1))).toVar("end");if(a){const nt=this.dashScaleNode?qt(this.dashScaleNode):wS,Ye=this.offsetNode?qt(this.offsetNode):ES,ht=af("instanceDistanceStart"),Rt=af("instanceDistanceEnd");let qe=cd.y.lessThan(.5).select(nt.mul(ht),nt.mul(Rt));qe=qe.add(Ye),cA("float","lineDistance").assign(qe)}o&&(cA("vec3","worldStart").assign(v.xyz),cA("vec3","worldEnd").assign(M.xyz));const B=xv.z.div(xv.w),I=of.element(2).element(3).equal(-1);ra(I,()=>{ra(v.z.lessThan(0).and(M.z.greaterThan(0)),()=>{M.assign(u({start:v,end:M}))}).ElseIf(M.z.lessThan(0).and(v.z.greaterThanEqual(0)),()=>{v.assign(u({start:M,end:v}))})});const ne=of.mul(v),ee=of.mul(M),q=ne.xyz.div(ne.w),ye=ee.xyz.div(ee.w),Ce=ye.xy.sub(q.xy).toVar();Ce.x.assign(Ce.x.mul(B)),Ce.assign(Ce.normalize());const ke=Ks().toVar();if(o){const nt=M.xyz.sub(v.xyz).normalize(),Ye=zo(v.xyz,M.xyz,.5).normalize(),ht=nt.cross(Ye).normalize(),Rt=nt.cross(ht),qe=cA("vec4","worldPos");qe.assign(cd.y.lessThan(.5).select(v,M));const pt=$b.mul(.5);qe.addAssign(Ks(cd.x.lessThan(0).select(ht.mul(pt),ht.mul(pt).negate()),0)),a||(qe.addAssign(Ks(cd.y.lessThan(.5).select(nt.mul(pt).negate(),nt.mul(pt)),0)),qe.addAssign(Ks(Rt.mul(pt),0)),ra(cd.y.greaterThan(1).or(cd.y.lessThan(0)),()=>{qe.subAssign(Ks(Rt.mul(2).mul(pt),0))})),ke.assign(of.mul(qe));const xn=Kn().toVar();xn.assign(cd.y.lessThan(.5).select(q,ye)),ke.z.assign(xn.z.mul(ke.w))}else{const nt=Gi(Ce.y,Ce.x.negate()).toVar("offset");Ce.x.assign(Ce.x.div(B)),nt.x.assign(nt.x.div(B)),nt.assign(cd.x.lessThan(0).select(nt.negate(),nt)),ra(cd.y.lessThan(0),()=>{nt.assign(nt.sub(Ce))}).ElseIf(cd.y.greaterThan(1),()=>{nt.assign(nt.add(Ce))}),nt.assign(nt.mul($b)),nt.assign(nt.div(xv.w.div(aS))),ke.assign(cd.y.lessThan(.5).select(ne,ee)),nt.assign(nt.mul(ke.w)),ke.assign(ke.add(Ks(nt,0,0)))}return ke})();const c=or(({p1:d,p2:g,p3:v,p4:M})=>{const B=d.sub(v),I=M.sub(v),ne=g.sub(d),ee=B.dot(I),q=I.dot(ne),ye=B.dot(ne),Ce=I.dot(I),nt=ne.dot(ne).mul(Ce).sub(q.mul(q)),ht=ee.mul(q).sub(ye.mul(Ce)).div(nt).clamp(),Rt=ee.add(q.mul(ht)).div(Ce).clamp();return Gi(ht,Rt)});if(this.colorNode=or(()=>{const d=Zl();if(a){const M=this.dashSizeNode?qt(this.dashSizeNode):SS,B=this.gapSizeNode?qt(this.gapSizeNode):MS;p0.assign(M),Py.assign(B);const I=cA("float","lineDistance");d.y.lessThan(-1).or(d.y.greaterThan(1)).discard(),I.mod(p0.add(Py)).greaterThan(p0).discard()}const g=qt(1).toVar("alpha");if(o){const M=cA("vec3","worldStart"),B=cA("vec3","worldEnd"),I=cA("vec4","worldPos").xyz.normalize().mul(1e5),ne=B.sub(M),ee=c({p1:M,p2:B,p3:Kn(0,0,0),p4:I}),q=M.add(ne.mul(ee.x)),ye=I.mul(ee.y),nt=q.sub(ye).length().div($b);if(!a)if(n&&t.currentSamples>0){const Ye=nt.fwidth();g.assign(fA(Ye.negate().add(.5),Ye.add(.5),nt).oneMinus())}else nt.greaterThan(.5).discard()}else if(n&&t.currentSamples>0){const M=d.x,B=d.y.greaterThan(0).select(d.y.sub(1),d.y.add(1)),I=M.mul(M).add(B.mul(B)),ne=qt(I.fwidth()).toVar("dlen");ra(d.y.abs().greaterThan(1),()=>{g.assign(fA(ne.oneMinus(),ne.add(1),I).oneMinus())})}else ra(d.y.abs().greaterThan(1),()=>{const M=d.x,B=d.y.greaterThan(0).select(d.y.sub(1),d.y.add(1));M.mul(M).add(B.mul(B)).greaterThan(1).discard()});let v;if(this.lineColorNode)v=this.lineColorNode;else if(i){const M=af("instanceColorStart"),B=af("instanceColorEnd");v=cd.y.lessThan(.5).select(M,B).mul(Wb)}else v=Wb;return Ks(v,g)})(),this.transparent){const d=this.opacityNode?qt(this.opacityNode):Zb;this.outputNode=Ks(this.colorNode.rgb.mul(d).add(uR().rgb.mul(d.oneMinus())),this.colorNode.a)}super.setup(e)}get worldUnits(){return this._useWorldUnits}set worldUnits(e){this._useWorldUnits!==e&&(this._useWorldUnits=e,this.needsUpdate=!0)}get dashed(){return this._useDash}set dashed(e){this._useDash!==e&&(this._useDash=e,this.needsUpdate=!0)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(e){this._useAlphaToCoverage!==e&&(this._useAlphaToCoverage=e,this.needsUpdate=!0)}}const NV=new V0;class FV extends yc{static get type(){return"MeshNormalNodeMaterial"}constructor(e){super(),this.isMeshNormalNodeMaterial=!0,this.setDefaultValues(NV),this.setValues(e)}setupDiffuseColor(){const e=this.opacityNode?qt(this.opacityNode):Zb;Wl.assign(Pb(Ks(f2(cl),e),sl))}}const LS=or(([s=cS])=>{const e=s.z.atan(s.x).mul(1/(Math.PI*2)).add(.5),t=s.y.clamp(-1,1).asin().mul(1/Math.PI).add(.5);return Gi(e,t)});class cR extends Mc{constructor(e=1,t={}){super(e,t),this.isCubeRenderTarget=!0}fromEquirectangularTexture(e,t){const n=t.minFilter,i=t.generateMipmaps;t.generateMipmaps=!0,this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const a=new bd(5,5,5),o=LS(cS),u=new yc;u.colorNode=xl(t,o,0),u.side=de,u.blending=we;const c=new Il(a,u),d=new _d;d.add(c),t.minFilter===yi&&(t.minFilter=vr);const g=new Np(1,10,this),v=e.getMRT();return e.setMRT(null),g.update(e,d),e.setMRT(v),t.minFilter=n,t.currentGenerateMipmaps=i,c.geometry.dispose(),c.material.dispose(),this}}const Qy=new WeakMap;class PV extends pc{static get type(){return"CubeMapNode"}constructor(e){super("vec3"),this.envNode=e,this._cubeTexture=null,this._cubeTextureNode=lf(null);const t=new rh;t.isRenderTargetTexture=!0,this._defaultTexture=t,this.updateBeforeType=Ao.RENDER}updateBefore(e){const{renderer:t,material:n}=e,i=this.envNode;if(i.isTextureNode||i.isMaterialReferenceNode){const a=i.isTextureNode?i.value:n[i.property];if(a&&a.isTexture){const o=a.mapping;if(o===ot||o===ut){if(Qy.has(a)){const u=Qy.get(a);dR(u,a.mapping),this._cubeTexture=u}else{const u=a.image;if(LV(u)){const c=new cR(u.height);c.fromEquirectangularTexture(t,a),dR(c.texture,a.mapping),this._cubeTexture=c.texture,Qy.set(a,c.texture),a.addEventListener("dispose",hR)}else this._cubeTexture=this._defaultTexture}this._cubeTextureNode.value=this._cubeTexture}else this._cubeTextureNode=this.envNode}}}setup(e){return this.updateBefore(e),this._cubeTextureNode}}function LV(s){return s==null?!1:s.height>0}function hR(s){const e=s.target;e.removeEventListener("dispose",hR);const t=Qy.get(e);t!==void 0&&(Qy.delete(e),t.dispose())}function dR(s,e){e===ot?s.mapping=it:e===ut&&(s.mapping=wt)}const fR=to(PV).setParameterLength(1);class US extends Sv{static get type(){return"BasicEnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){e.context.environment=fR(this.envNode)}}class UV extends Sv{static get type(){return"BasicLightMapNode"}constructor(e=null){super(),this.lightMapNode=e}setup(e){const t=qt(1/Math.PI);e.context.irradianceLightMap=this.lightMapNode.mul(t)}}class qb{start(e){e.lightsNode.setupLights(e,e.lightsNode.getLightNodes(e)),this.indirect(e)}finish(){}direct(){}directRectArea(){}indirect(){}ambientOcclusion(){}}class AR extends qb{constructor(){super()}indirect({context:e}){const t=e.ambientOcclusion,n=e.reflectedLight,i=e.irradianceLightMap;n.indirectDiffuse.assign(Ks(0)),i?n.indirectDiffuse.addAssign(i):n.indirectDiffuse.addAssign(Ks(1,1,1,0)),n.indirectDiffuse.mulAssign(t),n.indirectDiffuse.mulAssign(Wl.rgb)}finish(e){const{material:t,context:n}=e,i=n.outgoingLight,a=e.context.environment;if(a)switch(t.combine){case on:i.rgb.assign(zo(i.rgb,i.rgb.mul(a.rgb),Hy.mul(Kb)));break;case hn:i.rgb.assign(zo(i.rgb,a.rgb,Hy.mul(Kb)));break;case lt:i.rgb.addAssign(a.rgb.mul(Hy.mul(Kb)));break;default:Lr("BasicLightingModel: Unsupported .combine value:",t.combine);break}}}const OV=new Yl;class DV extends yc{static get type(){return"MeshBasicNodeMaterial"}constructor(e){super(),this.isMeshBasicNodeMaterial=!0,this.lights=!0,this.setDefaultValues(OV),this.setValues(e)}setupNormal(){return bv(_v)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new US(t):null}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new UV(CS)),t}setupOutgoingLight(){return Wl.rgb}setupLightingModel(){return new AR}}const Tv=or(({f0:s,f90:e,dotVH:t})=>{const n=t.mul(-5.55473).sub(6.98316).mul(t).exp2();return s.mul(n.oneMinus()).add(e.mul(n))}),x0=or(s=>s.diffuseColor.mul(1/Math.PI)),kV=()=>qt(.25),VV=or(({dotNH:s})=>Sb.mul(qt(.5)).add(1).mul(qt(1/Math.PI)).mul(s.pow(Sb))),zV=or(({lightDirection:s})=>{const e=s.add(iu).normalize(),t=cl.dot(e).clamp(),n=iu.dot(e).clamp(),i=Tv({f0:Pm,f90:1,dotVH:n}),a=kV(),o=VV({dotNH:t});return i.mul(a).mul(o)});class pR extends AR{constructor(e=!0){super(),this.specular=e}direct({lightDirection:e,lightColor:t,reflectedLight:n}){const a=cl.dot(e).clamp().mul(t);n.directDiffuse.addAssign(a.mul(x0({diffuseColor:Wl.rgb}))),this.specular===!0&&n.directSpecular.addAssign(a.mul(zV({lightDirection:e})).mul(Hy))}indirect(e){const{ambientOcclusion:t,irradiance:n,reflectedLight:i}=e.context;i.indirectDiffuse.addAssign(n.mul(x0({diffuseColor:Wl}))),i.indirectDiffuse.mulAssign(t)}}const GV=new qm;class HV extends yc{static get type(){return"MeshLambertNodeMaterial"}constructor(e){super(),this.isMeshLambertNodeMaterial=!0,this.lights=!0,this.setDefaultValues(GV),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new US(t):null}setupLightingModel(){return new pR(!1)}}const QV=new Xv;class WV extends yc{static get type(){return"MeshPhongNodeMaterial"}constructor(e){super(),this.isMeshPhongNodeMaterial=!0,this.lights=!0,this.shininessNode=null,this.specularNode=null,this.setDefaultValues(QV),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new US(t):null}setupLightingModel(){return new pR}setupVariants(){const e=(this.shininessNode?qt(this.shininessNode):g2).max(1e-4);Sb.assign(e);const t=this.specularNode||v2;Pm.assign(t)}copy(e){return this.shininessNode=e.shininessNode,this.specularNode=e.specularNode,super.copy(e)}}const gR=or(s=>{if(s.geometry.hasAttribute("normal")===!1)return qt(0);const e=_v.dFdx().abs().max(_v.dFdy().abs());return e.x.max(e.y).max(e.z)}),OS=or(s=>{const{roughness:e}=s,t=gR();let n=e.max(.0525);return n=n.add(t),n=n.min(1),n}),mR=or(({alpha:s,dotNL:e,dotNV:t})=>{const n=s.pow2(),i=e.mul(n.add(n.oneMinus().mul(t.pow2())).sqrt()),a=t.mul(n.add(n.oneMinus().mul(e.pow2())).sqrt());return dA(.5,i.add(a).max(P1))}).setLayout({name:"V_GGX_SmithCorrelated",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNL",type:"float"},{name:"dotNV",type:"float"}]}),ZV=or(({alphaT:s,alphaB:e,dotTV:t,dotBV:n,dotTL:i,dotBL:a,dotNV:o,dotNL:u})=>{const c=u.mul(Kn(s.mul(t),e.mul(n),o).length()),d=o.mul(Kn(s.mul(i),e.mul(a),u).length());return dA(.5,c.add(d))}).setLayout({name:"V_GGX_SmithCorrelated_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotTV",type:"float",qualifier:"in"},{name:"dotBV",type:"float",qualifier:"in"},{name:"dotTL",type:"float",qualifier:"in"},{name:"dotBL",type:"float",qualifier:"in"},{name:"dotNV",type:"float",qualifier:"in"},{name:"dotNL",type:"float",qualifier:"in"}]}),vR=or(({alpha:s,dotNH:e})=>{const t=s.pow2(),n=e.pow2().mul(t.oneMinus()).oneMinus();return t.div(n.pow2()).mul(1/Math.PI)}).setLayout({name:"D_GGX",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNH",type:"float"}]}),KV=qt(1/Math.PI),$V=or(({alphaT:s,alphaB:e,dotNH:t,dotTH:n,dotBH:i})=>{const a=s.mul(e),o=Kn(e.mul(n),s.mul(i),a.mul(t)),u=o.dot(o),c=a.div(u);return KV.mul(a.mul(c.pow2()))}).setLayout({name:"D_GGX_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotNH",type:"float",qualifier:"in"},{name:"dotTH",type:"float",qualifier:"in"},{name:"dotBH",type:"float",qualifier:"in"}]}),DS=or(({lightDirection:s,f0:e,f90:t,roughness:n,f:i,normalView:a=cl,USE_IRIDESCENCE:o,USE_ANISOTROPY:u})=>{const c=n.pow2(),d=s.add(iu).normalize(),g=a.dot(s).clamp(),v=a.dot(iu).clamp(),M=a.dot(d).clamp(),B=iu.dot(d).clamp();let I=Tv({f0:e,f90:t,dotVH:B}),ne,ee;if(By(o)&&(I=xb.mix(I,i)),By(u)){const q=Fy.dot(s),ye=Fy.dot(iu),Ce=Fy.dot(d),ke=f0.dot(s),nt=f0.dot(iu),Ye=f0.dot(d);ne=ZV({alphaT:wb,alphaB:c,dotTV:ye,dotBV:nt,dotTL:q,dotBL:ke,dotNV:v,dotNL:g}),ee=$V({alphaT:wb,alphaB:c,dotNH:M,dotTH:Ce,dotBH:Ye})}else ne=mR({alpha:c,dotNL:g,dotNV:v}),ee=vR({alpha:c,dotNH:M});return I.mul(ne).mul(ee)}),XV=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let dg=null;const Wy=or(({roughness:s,dotNV:e})=>{dg===null&&(dg=new ah(XV,16,16,ze,Wt),dg.name="DFG_LUT",dg.minFilter=vr,dg.magFilter=vr,dg.wrapS=Vt,dg.wrapT=Vt,dg.generateMipmaps=!1,dg.needsUpdate=!0);const t=Gi(s,e);return xl(dg,t).rg}),jV=or(({lightDirection:s,f0:e,f90:t,roughness:n,f:i,USE_IRIDESCENCE:a,USE_ANISOTROPY:o})=>{const u=DS({lightDirection:s,f0:e,f90:t,roughness:n,f:i,USE_IRIDESCENCE:a,USE_ANISOTROPY:o}),c=cl.dot(s).clamp(),d=cl.dot(iu).clamp(),g=Wy({roughness:n,dotNV:d}),v=Wy({roughness:n,dotNV:c}),M=e.mul(g.x).add(t.mul(g.y)),B=e.mul(v.x).add(t.mul(v.y)),I=g.x.add(g.y),ne=v.x.add(v.y),ee=qt(1).sub(I),q=qt(1).sub(ne),ye=e.add(e.oneMinus().mul(.047619)),Ce=M.mul(B).mul(ye).div(qt(1).sub(ee.mul(q).mul(ye).mul(ye)).add(P1)),ke=ee.mul(q),nt=Ce.mul(ke);return u.add(nt)}),yR=or(s=>{const{dotNV:e,specularColor:t,specularF90:n,roughness:i}=s,a=Wy({dotNV:e,roughness:i});return t.mul(a.x).add(n.mul(a.y))}),kS=or(({f:s,f90:e,dotVH:t})=>{const n=t.oneMinus().saturate(),i=n.mul(n),a=n.mul(i,i).clamp(0,.9999);return s.sub(Kn(e).mul(a)).div(a.oneMinus())}).setLayout({name:"Schlick_to_F0",type:"vec3",inputs:[{name:"f",type:"vec3"},{name:"f90",type:"float"},{name:"dotVH",type:"float"}]}),YV=or(({roughness:s,dotNH:e})=>{const t=s.pow2(),n=qt(1).div(t),a=e.pow2().oneMinus().max(.0078125);return qt(2).add(n).mul(a.pow(n.mul(.5))).div(2*Math.PI)}).setLayout({name:"D_Charlie",type:"float",inputs:[{name:"roughness",type:"float"},{name:"dotNH",type:"float"}]}),qV=or(({dotNV:s,dotNL:e})=>qt(1).div(qt(4).mul(e.add(s).sub(e.mul(s))))).setLayout({name:"V_Neubelt",type:"float",inputs:[{name:"dotNV",type:"float"},{name:"dotNL",type:"float"}]}),JV=or(({lightDirection:s})=>{const e=s.add(iu).normalize(),t=cl.dot(s).clamp(),n=cl.dot(iu).clamp(),i=cl.dot(e).clamp(),a=YV({roughness:Nm,dotNH:i}),o=qV({dotNV:n,dotNL:t});return hA.mul(a).mul(o)}),ez=or(({N:s,V:e,roughness:t})=>{const a=.0078125,o=s.dot(e).saturate(),u=Gi(t,o.oneMinus().sqrt());return u.assign(u.mul(.984375).add(a)),u}).setLayout({name:"LTC_Uv",type:"vec2",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"roughness",type:"float"}]}),xR=or(({f:s})=>{const e=s.length();return mc(e.mul(e).add(s.z).div(e.add(1)),0)}).setLayout({name:"LTC_ClippedSphereFormFactor",type:"float",inputs:[{name:"f",type:"vec3"}]}),Dm=or(({v1:s,v2:e})=>{const t=s.dot(e),n=t.abs().toVar(),i=n.mul(.0145206).add(.4965155).mul(n).add(.8543985).toVar(),a=n.add(4.1616724).mul(n).add(3.417594).toVar(),o=i.div(a),u=t.greaterThan(0).select(o,mc(t.mul(t).oneMinus(),1e-7).inverseSqrt().mul(.5).sub(o));return s.cross(e).mul(u)}).setLayout({name:"LTC_EdgeVectorFormFactor",type:"vec3",inputs:[{name:"v1",type:"vec3"},{name:"v2",type:"vec3"}]}),bR=or(({N:s,V:e,P:t,mInv:n,p0:i,p1:a,p2:o,p3:u})=>{const c=a.sub(i).toVar(),d=u.sub(i).toVar(),g=c.cross(d),v=Kn().toVar();return ra(g.dot(t.sub(i)).greaterThanEqual(0),()=>{const M=e.sub(s.mul(e.dot(s))).normalize(),B=s.cross(M).negate(),I=n.mul(ld(M,B,s).transpose()).toVar(),ne=I.mul(i.sub(t)).normalize().toVar(),ee=I.mul(a.sub(t)).normalize().toVar(),q=I.mul(o.sub(t)).normalize().toVar(),ye=I.mul(u.sub(t)).normalize().toVar(),Ce=Kn(0).toVar();Ce.addAssign(Dm({v1:ne,v2:ee})),Ce.addAssign(Dm({v1:ee,v2:q})),Ce.addAssign(Dm({v1:q,v2:ye})),Ce.addAssign(Dm({v1:ye,v2:ne})),v.assign(Kn(xR({f:Ce})))}),v}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"P",type:"vec3"},{name:"mInv",type:"mat3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),tz=or(({P:s,p0:e,p1:t,p2:n,p3:i})=>{const a=t.sub(e).toVar(),o=i.sub(e).toVar(),u=a.cross(o),c=Kn().toVar();return ra(u.dot(s.sub(e)).greaterThanEqual(0),()=>{const d=e.sub(s).normalize().toVar(),g=t.sub(s).normalize().toVar(),v=n.sub(s).normalize().toVar(),M=i.sub(s).normalize().toVar(),B=Kn(0).toVar();B.addAssign(Dm({v1:d,v2:g})),B.addAssign(Dm({v1:g,v2:v})),B.addAssign(Dm({v1:v,v2:M})),B.addAssign(Dm({v1:M,v2:d})),c.assign(Kn(xR({f:B.abs()})))}),c}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"P",type:"vec3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),Jb=1/6,_R=s=>no(Jb,no(s,no(s,s.negate().add(3)).sub(3)).add(1)),VS=s=>no(Jb,no(s,no(s,no(3,s).sub(6))).add(4)),wR=s=>no(Jb,no(s,no(s,no(-3,s).add(3)).add(3)).add(1)),zS=s=>no(Jb,KA(s,3)),SR=s=>_R(s).add(VS(s)),MR=s=>wR(s).add(zS(s)),ER=s=>$c(-1,VS(s).div(_R(s).add(VS(s)))),CR=s=>$c(1,zS(s).div(wR(s).add(zS(s)))),TR=(s,e,t)=>{const n=s.uvNode,i=no(n,e.zw).add(.5),a=ag(i),o=_p(i),u=SR(o.x),c=MR(o.x),d=ER(o.x),g=CR(o.x),v=ER(o.y),M=CR(o.y),B=Gi(a.x.add(d),a.y.add(v)).sub(.5).mul(e.xy),I=Gi(a.x.add(g),a.y.add(v)).sub(.5).mul(e.xy),ne=Gi(a.x.add(d),a.y.add(M)).sub(.5).mul(e.xy),ee=Gi(a.x.add(g),a.y.add(M)).sub(.5).mul(e.xy),q=SR(o.y).mul($c(u.mul(s.sample(B).level(t)),c.mul(s.sample(I).level(t)))),ye=MR(o.y).mul($c(u.mul(s.sample(ne).level(t)),c.mul(s.sample(ee).level(t))));return q.add(ye)},GS=or(([s,e])=>{const t=Gi(s.size(Qn(e))),n=Gi(s.size(Qn(e.add(1)))),i=dA(1,t),a=dA(1,n),o=TR(s,Ks(i,t),ag(e)),u=TR(s,Ks(a,n),Bb(e));return _p(e).mix(o,u)}),nz=or(([s,e])=>{const t=e.mul(rS(s));return GS(s,t)}),BR=or(([s,e,t,n,i])=>{const a=Kn(K1(e.negate(),rf(s),dA(1,n))),o=Kn(og(i[0].xyz),og(i[1].xyz),og(i[2].xyz));return rf(a).mul(t.mul(o))}).setLayout({name:"getVolumeTransmissionRay",type:"vec3",inputs:[{name:"n",type:"vec3"},{name:"v",type:"vec3"},{name:"thickness",type:"float"},{name:"ior",type:"float"},{name:"modelMatrix",type:"mat4"}]}),rz=or(([s,e])=>s.mul(Sp(e.mul(2).sub(2),0,1))).setLayout({name:"applyIorToRoughness",type:"float",inputs:[{name:"roughness",type:"float"},{name:"ior",type:"float"}]}),iz=BS(),sz=BS(),RR=or(([s,e,t],{material:n})=>{const a=(n.side===de?iz:sz).sample(s),o=sg(g0.x).mul(rz(e,t));return GS(a,o)}),IR=or(([s,e,t])=>(ra(t.notEqual(0),()=>{const n=Tb(e).negate().div(t);return L1(n.negate().mul(s))}),Kn(1))).setLayout({name:"volumeAttenuation",type:"vec3",inputs:[{name:"transmissionDistance",type:"float"},{name:"attenuationColor",type:"vec3"},{name:"attenuationDistance",type:"float"}]}),az=or(([s,e,t,n,i,a,o,u,c,d,g,v,M,B,I])=>{let ne,ee;if(I){ne=Ks().toVar(),ee=Kn().toVar();const nt=g.sub(1).mul(I.mul(.025)),Ye=Kn(g.sub(nt),g,g.add(nt));kl({start:0,end:3},({i:ht})=>{const Rt=Ye.element(ht),qe=BR(s,e,v,Rt,u),pt=o.add(qe),xn=d.mul(c.mul(Ks(pt,1))),cr=Gi(xn.xy.div(xn.w)).toVar();cr.addAssign(1),cr.divAssign(2),cr.assign(Gi(cr.x,cr.y.oneMinus()));const pr=RR(cr,t,Rt);ne.element(ht).assign(pr.element(ht)),ne.a.addAssign(pr.a),ee.element(ht).assign(n.element(ht).mul(IR(og(qe),M,B).element(ht)))}),ne.a.divAssign(3)}else{const nt=BR(s,e,v,g,u),Ye=o.add(nt),ht=d.mul(c.mul(Ks(Ye,1))),Rt=Gi(ht.xy.div(ht.w)).toVar();Rt.addAssign(1),Rt.divAssign(2),Rt.assign(Gi(Rt.x,Rt.y.oneMinus())),ne=RR(Rt,t,g),ee=n.mul(IR(og(nt),M,B))}const q=ee.rgb.mul(ne.rgb),ye=s.dot(e).clamp(),Ce=Kn(yR({dotNV:ye,specularColor:i,specularF90:a,roughness:t})),ke=ee.r.add(ee.g,ee.b).div(3);return Ks(Ce.oneMinus().mul(q),ne.a.oneMinus().mul(ke).oneMinus())}),oz=ld(3.2404542,-.969266,.0556434,-1.5371385,1.8760108,-.2040259,-.4985314,.041556,1.0572252),lz=s=>{const e=s.sqrt();return Kn(1).add(e).div(Kn(1).sub(e))},NR=(s,e)=>s.sub(e).div(s.add(e)).pow2(),uz=(s,e)=>{const t=s.mul(2*Math.PI*1e-9),n=Kn(54856e-17,44201e-17,52481e-17),i=Kn(1681e3,1795300,2208400),a=Kn(43278e5,93046e5,66121e5),o=qt(9747e-17*Math.sqrt(2*Math.PI*45282e5)).mul(t.mul(2239900).add(e.x).cos()).mul(t.pow2().mul(-45282e5).exp());let u=n.mul(a.mul(2*Math.PI).sqrt()).mul(i.mul(t).add(e).cos()).mul(t.pow2().negate().mul(a).exp());return u=Kn(u.x.add(o),u.y,u.z).div(10685e-11),oz.mul(u)},FR=or(({outsideIOR:s,eta2:e,cosTheta1:t,thinFilmThickness:n,baseF0:i})=>{const a=zo(s,e,fA(0,.03,n)),u=s.div(a).pow2().mul(t.pow2().oneMinus()).oneMinus();ra(u.lessThan(0),()=>Kn(1));const c=u.sqrt(),d=NR(a,s),g=Tv({f0:d,f90:1,dotVH:t}),v=g.oneMinus(),M=a.lessThan(s).select(Math.PI,0),B=qt(Math.PI).sub(M),I=lz(i.clamp(0,.9999)),ne=NR(I,a.toVec3()),ee=Tv({f0:ne,f90:1,dotVH:c}),q=Kn(I.x.lessThan(a).select(Math.PI,0),I.y.lessThan(a).select(Math.PI,0),I.z.lessThan(a).select(Math.PI,0)),ye=a.mul(n,c,2),Ce=Kn(B).add(q),ke=g.mul(ee).clamp(1e-5,.9999),nt=ke.sqrt(),Ye=v.pow2().mul(ee).div(Kn(1).sub(ke)),Rt=g.add(Ye).toVar(),qe=Ye.sub(v).toVar();return kl({start:1,end:2,condition:"<=",name:"m"},({m:pt})=>{qe.mulAssign(nt);const xn=uz(qt(pt).mul(ye),qt(pt).mul(Ce)).mul(2);Rt.addAssign(qe.mul(xn))}),Rt.max(Kn(0))}).setLayout({name:"evalIridescence",type:"vec3",inputs:[{name:"outsideIOR",type:"float"},{name:"eta2",type:"float"},{name:"cosTheta1",type:"float"},{name:"thinFilmThickness",type:"float"},{name:"baseF0",type:"vec3"}]}),Zy=or(({normal:s,viewDir:e,roughness:t})=>{const n=s.dot(e).saturate(),i=t.mul(t),a=t.add(.1).reciprocal(),o=qt(-1.9362).add(t.mul(1.0678)).add(i.mul(.4573)).sub(a.mul(.8469)),u=qt(-.6014).add(t.mul(.5538)).sub(i.mul(.467)).sub(a.mul(.1255));return o.mul(n).add(u).exp().saturate()}),HS=Kn(.04),QS=qt(1);class PR extends qb{constructor(e=!1,t=!1,n=!1,i=!1,a=!1,o=!1){super(),this.clearcoat=e,this.sheen=t,this.iridescence=n,this.anisotropy=i,this.transmission=a,this.dispersion=o,this.clearcoatRadiance=null,this.clearcoatSpecularDirect=null,this.clearcoatSpecularIndirect=null,this.sheenSpecularDirect=null,this.sheenSpecularIndirect=null,this.iridescenceFresnel=null,this.iridescenceF0=null,this.iridescenceF0Dielectric=null,this.iridescenceF0Metallic=null}start(e){if(this.clearcoat===!0&&(this.clearcoatRadiance=Kn().toVar("clearcoatRadiance"),this.clearcoatSpecularDirect=Kn().toVar("clearcoatSpecularDirect"),this.clearcoatSpecularIndirect=Kn().toVar("clearcoatSpecularIndirect")),this.sheen===!0&&(this.sheenSpecularDirect=Kn().toVar("sheenSpecularDirect"),this.sheenSpecularIndirect=Kn().toVar("sheenSpecularIndirect")),this.iridescence===!0){const t=cl.dot(iu).clamp(),n=FR({outsideIOR:qt(1),eta2:bb,cosTheta1:t,thinFilmThickness:_b,baseF0:Pm}),i=FR({outsideIOR:qt(1),eta2:bb,cosTheta1:t,thinFilmThickness:_b,baseF0:Wl.rgb});this.iridescenceFresnel=zo(n,i,Wg),this.iridescenceF0Dielectric=kS({f:n,f90:1,dotVH:t}),this.iridescenceF0Metallic=kS({f:i,f90:1,dotVH:t}),this.iridescenceF0=zo(this.iridescenceF0Dielectric,this.iridescenceF0Metallic,Wg)}if(this.transmission===!0){const t=pA,n=zy.sub(pA).normalize(),i=Om,a=e.context;a.backdrop=az(i,n,ig,d0,A0,pv,t,XA,AA,of,Ly,C1,B1,T1,this.dispersion?R1:null),a.backdropAlpha=Mb,Wl.a.mulAssign(zo(1,a.backdrop.a,Mb))}super.start(e)}computeMultiscattering(e,t,n,i,a=null){const o=cl.dot(iu).clamp(),u=Wy({roughness:ig,dotNV:o}),c=a?xb.mix(i,a):i,d=c.mul(u.x).add(n.mul(u.y)),v=u.x.add(u.y).oneMinus(),M=c.add(c.oneMinus().mul(.047619)),B=d.mul(M).div(v.mul(M).oneMinus());e.addAssign(d),t.addAssign(B.mul(v))}direct({lightDirection:e,lightColor:t,reflectedLight:n}){const a=cl.dot(e).clamp().mul(t).toVar();if(this.sheen===!0){this.sheenSpecularDirect.addAssign(a.mul(JV({lightDirection:e})));const o=Zy({normal:cl,viewDir:iu,roughness:Nm}),u=Zy({normal:cl,viewDir:e,roughness:Nm}),c=hA.r.max(hA.g).max(hA.b).mul(o.max(u)).oneMinus();a.mulAssign(c)}if(this.clearcoat===!0){const u=v0.dot(e).clamp().mul(t);this.clearcoatSpecularDirect.addAssign(u.mul(DS({lightDirection:e,f0:HS,f90:QS,roughness:Ny,normalView:v0})))}n.directDiffuse.addAssign(a.mul(x0({diffuseColor:d0}))),n.directSpecular.addAssign(a.mul(jV({lightDirection:e,f0:A0,f90:1,roughness:ig,f:this.iridescenceFresnel,USE_IRIDESCENCE:this.iridescence,USE_ANISOTROPY:this.anisotropy})))}directRectArea({lightColor:e,lightPosition:t,halfWidth:n,halfHeight:i,reflectedLight:a,ltc_1:o,ltc_2:u}){const c=t.add(n).sub(i),d=t.sub(n).sub(i),g=t.sub(n).add(i),v=t.add(n).add(i),M=cl,B=iu,I=Oc.toVar(),ne=ez({N:M,V:B,roughness:ig}),ee=o.sample(ne).toVar(),q=u.sample(ne).toVar(),ye=ld(Kn(ee.x,0,ee.y),Kn(0,1,0),Kn(ee.z,0,ee.w)).toVar(),Ce=A0.mul(q.x).add(A0.oneMinus().mul(q.y)).toVar();a.directSpecular.addAssign(e.mul(Ce).mul(bR({N:M,V:B,P:I,mInv:ye,p0:c,p1:d,p2:g,p3:v}))),a.directDiffuse.addAssign(e.mul(d0).mul(bR({N:M,V:B,P:I,mInv:ld(1,0,0,0,1,0,0,0,1),p0:c,p1:d,p2:g,p3:v})))}indirect(e){this.indirectDiffuse(e),this.indirectSpecular(e),this.ambientOcclusion(e)}indirectDiffuse(e){const{irradiance:t,reflectedLight:n}=e.context,i=t.mul(x0({diffuseColor:d0})).toVar();if(this.sheen===!0){const a=Zy({normal:cl,viewDir:iu,roughness:Nm}),o=hA.r.max(hA.g).max(hA.b).mul(a).oneMinus();i.mulAssign(o)}n.indirectDiffuse.addAssign(i)}indirectSpecular(e){const{radiance:t,iblIrradiance:n,reflectedLight:i}=e.context;if(this.sheen===!0&&this.sheenSpecularIndirect.addAssign(n.mul(hA,Zy({normal:cl,viewDir:iu,roughness:Nm}))),this.clearcoat===!0){const ee=v0.dot(iu).clamp(),q=yR({dotNV:ee,specularColor:HS,specularF90:QS,roughness:Ny});this.clearcoatSpecularIndirect.addAssign(this.clearcoatRadiance.mul(q))}const a=Kn().toVar("singleScatteringDielectric"),o=Kn().toVar("multiScatteringDielectric"),u=Kn().toVar("singleScatteringMetallic"),c=Kn().toVar("multiScatteringMetallic");this.computeMultiscattering(a,o,pv,Pm,this.iridescenceF0Dielectric),this.computeMultiscattering(u,c,pv,Wl.rgb,this.iridescenceF0Metallic);const d=zo(a,u,Wg),g=zo(o,c,Wg),v=a.add(o),M=d0.mul(v.oneMinus()),B=n.mul(1/Math.PI),I=t.mul(d).add(g.mul(B)).toVar(),ne=M.mul(B).toVar();if(this.sheen===!0){const ee=Zy({normal:cl,viewDir:iu,roughness:Nm}),q=hA.r.max(hA.g).max(hA.b).mul(ee).oneMinus();I.mulAssign(q),ne.mulAssign(q)}i.indirectSpecular.addAssign(I),i.indirectDiffuse.addAssign(ne)}ambientOcclusion(e){const{ambientOcclusion:t,reflectedLight:n}=e.context,a=cl.dot(iu).clamp().add(t),o=ig.mul(-16).oneMinus().negate().exp2(),u=t.sub(a.pow(o).oneMinus()).clamp();this.clearcoat===!0&&this.clearcoatSpecularIndirect.mulAssign(t),this.sheen===!0&&this.sheenSpecularIndirect.mulAssign(t),n.indirectDiffuse.mulAssign(t),n.indirectSpecular.mulAssign(u)}finish({context:e}){const{outgoingLight:t}=e;if(this.clearcoat===!0){const n=v0.dot(iu).clamp(),i=Tv({dotVH:n,f0:HS,f90:QS}),a=t.mul(yb.mul(i).oneMinus()).add(this.clearcoatSpecularDirect.add(this.clearcoatSpecularIndirect).mul(yb));t.assign(a)}if(this.sheen===!0){const n=t.add(this.sheenSpecularDirect,this.sheenSpecularIndirect.mul(1/Math.PI));t.assign(n)}}}const LR=qt(1),WS=qt(-2),e_=qt(.8),ZS=qt(-1),t_=qt(.4),KS=qt(2),n_=qt(.305),$S=qt(3),UR=qt(.21),cz=qt(4),OR=qt(4),hz=qt(16),dz=or(([s])=>{const e=Kn(Su(s)).toVar(),t=qt(-1).toVar();return ra(e.x.greaterThan(e.z),()=>{ra(e.x.greaterThan(e.y),()=>{t.assign(ud(s.x.greaterThan(0),0,3))}).Else(()=>{t.assign(ud(s.y.greaterThan(0),1,4))})}).Else(()=>{ra(e.z.greaterThan(e.y),()=>{t.assign(ud(s.z.greaterThan(0),2,5))}).Else(()=>{t.assign(ud(s.y.greaterThan(0),1,4))})}),t}).setLayout({name:"getFace",type:"float",inputs:[{name:"direction",type:"vec3"}]}),fz=or(([s,e])=>{const t=Gi().toVar();return ra(e.equal(0),()=>{t.assign(Gi(s.z,s.y).div(Su(s.x)))}).ElseIf(e.equal(1),()=>{t.assign(Gi(s.x.negate(),s.z.negate()).div(Su(s.y)))}).ElseIf(e.equal(2),()=>{t.assign(Gi(s.x.negate(),s.y).div(Su(s.z)))}).ElseIf(e.equal(3),()=>{t.assign(Gi(s.z.negate(),s.y).div(Su(s.x)))}).ElseIf(e.equal(4),()=>{t.assign(Gi(s.x.negate(),s.z).div(Su(s.y)))}).Else(()=>{t.assign(Gi(s.x,s.y).div(Su(s.z)))}),no(.5,t.add(1))}).setLayout({name:"getUV",type:"vec2",inputs:[{name:"direction",type:"vec3"},{name:"face",type:"float"}]}),Az=or(([s])=>{const e=qt(0).toVar();return ra(s.greaterThanEqual(e_),()=>{e.assign(LR.sub(s).mul(ZS.sub(WS)).div(LR.sub(e_)).add(WS))}).ElseIf(s.greaterThanEqual(t_),()=>{e.assign(e_.sub(s).mul(KS.sub(ZS)).div(e_.sub(t_)).add(ZS))}).ElseIf(s.greaterThanEqual(n_),()=>{e.assign(t_.sub(s).mul($S.sub(KS)).div(t_.sub(n_)).add(KS))}).ElseIf(s.greaterThanEqual(UR),()=>{e.assign(n_.sub(s).mul(cz.sub($S)).div(n_.sub(UR)).add($S))}).Else(()=>{e.assign(qt(-2).mul(sg(no(1.16,s))))}),e}).setLayout({name:"roughnessToMip",type:"float",inputs:[{name:"roughness",type:"float"}]}),DR=or(([s,e])=>{const t=s.toVar();t.assign(no(2,t).sub(1));const n=Kn(t,1).toVar();return ra(e.equal(0),()=>{n.assign(n.zyx)}).ElseIf(e.equal(1),()=>{n.assign(n.xzy),n.xz.mulAssign(-1)}).ElseIf(e.equal(2),()=>{n.x.mulAssign(-1)}).ElseIf(e.equal(3),()=>{n.assign(n.zyx),n.xz.mulAssign(-1)}).ElseIf(e.equal(4),()=>{n.assign(n.xzy),n.xy.mulAssign(-1)}).ElseIf(e.equal(5),()=>{n.z.mulAssign(-1)}),n}).setLayout({name:"getDirection",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"face",type:"float"}]}),kR=or(([s,e,t,n,i,a])=>{const o=qt(t),u=Kn(e),c=Sp(Az(o),WS,a),d=_p(c),g=ag(c),v=Kn(Ky(s,u,g,n,i,a)).toVar();return ra(d.notEqual(0),()=>{const M=Kn(Ky(s,u,g.add(1),n,i,a)).toVar();v.assign(zo(v,M,d))}),v}),Ky=or(([s,e,t,n,i,a])=>{const o=qt(t).toVar(),u=Kn(e),c=qt(dz(u)).toVar(),d=qt(mc(OR.sub(o),0)).toVar();o.assign(mc(o,OR));const g=qt(mv(o)).toVar(),v=Gi(fz(u,c).mul(g.sub(2)).add(1)).toVar();return ra(c.greaterThan(2),()=>{v.y.addAssign(g),c.subAssign(3)}),v.x.addAssign(c.mul(g)),v.x.addAssign(d.mul(no(3,hz))),v.y.addAssign(no(4,mv(a).sub(g))),v.x.mulAssign(n),v.y.mulAssign(i),s.sample(v).grad(Gi(),Gi())}),XS=or(({envMap:s,mipInt:e,outputDirection:t,theta:n,axis:i,CUBEUV_TEXEL_WIDTH:a,CUBEUV_TEXEL_HEIGHT:o,CUBEUV_MAX_MIP:u})=>{const c=wp(n),d=t.mul(c).add(i.cross(t).mul(sf(n))).add(i.mul(i.dot(t).mul(c.oneMinus())));return Ky(s,d,e,a,o,u)}),VR=or(({n:s,latitudinal:e,poleAxis:t,outputDirection:n,weights:i,samples:a,dTheta:o,mipInt:u,envMap:c,CUBEUV_TEXEL_WIDTH:d,CUBEUV_TEXEL_HEIGHT:g,CUBEUV_MAX_MIP:v})=>{const M=Kn(ud(e,t,Zg(t,n))).toVar();ra(M.equal(Kn(0)),()=>{M.assign(Kn(n.z,0,n.x.negate()))}),M.assign(rf(M));const B=Kn().toVar();return B.addAssign(i.element(0).mul(XS({theta:0,axis:M,outputDirection:n,mipInt:u,envMap:c,CUBEUV_TEXEL_WIDTH:d,CUBEUV_TEXEL_HEIGHT:g,CUBEUV_MAX_MIP:v}))),kl({start:Qn(1),end:s},({i:I})=>{ra(I.greaterThanEqual(a),()=>{j2()});const ne=qt(o.mul(qt(I))).toVar();B.addAssign(i.element(I).mul(XS({theta:ne.mul(-1),axis:M,outputDirection:n,mipInt:u,envMap:c,CUBEUV_TEXEL_WIDTH:d,CUBEUV_TEXEL_HEIGHT:g,CUBEUV_MAX_MIP:v}))),B.addAssign(i.element(I).mul(XS({theta:ne,axis:M,outputDirection:n,mipInt:u,envMap:c,CUBEUV_TEXEL_WIDTH:d,CUBEUV_TEXEL_HEIGHT:g,CUBEUV_MAX_MIP:v})))}),Ks(B,1)}),pz=or(([s])=>{const e=Fi(s).toVar();return e.assign(e.shiftLeft(Fi(16)).bitOr(e.shiftRight(Fi(16)))),e.assign(e.bitAnd(Fi(1431655765)).shiftLeft(Fi(1)).bitOr(e.bitAnd(Fi(2863311530)).shiftRight(Fi(1)))),e.assign(e.bitAnd(Fi(858993459)).shiftLeft(Fi(2)).bitOr(e.bitAnd(Fi(3435973836)).shiftRight(Fi(2)))),e.assign(e.bitAnd(Fi(252645135)).shiftLeft(Fi(4)).bitOr(e.bitAnd(Fi(4042322160)).shiftRight(Fi(4)))),e.assign(e.bitAnd(Fi(16711935)).shiftLeft(Fi(8)).bitOr(e.bitAnd(Fi(4278255360)).shiftRight(Fi(8)))),qt(e).mul(23283064365386963e-26)}),gz=or(([s,e])=>Gi(qt(s).div(qt(e)),pz(s))),mz=or(([s,e,t])=>{const n=Kn(e).toVar(),i=qt(t),a=i.mul(i).toVar(),o=rf(Kn(a.mul(n.x),a.mul(n.y),n.z)).toVar(),u=o.x.mul(o.x).add(o.y.mul(o.y)),c=ud(u.greaterThan(0),Kn(o.y.negate(),o.x,0).div(Nd(u)),Kn(1,0,0)).toVar(),d=Zg(o,c).toVar(),g=Nd(s.x),v=no(2,3.14159265359).mul(s.y),M=g.mul(wp(v)).toVar(),B=g.mul(sf(v)).toVar(),I=no(.5,o.z.add(1));B.assign(I.oneMinus().mul(Nd(M.mul(M).oneMinus())).add(I.mul(B)));const ne=c.mul(M).add(d.mul(B)).add(o.mul(Nd(mc(0,M.mul(M).add(B.mul(B)).oneMinus()))));return rf(Kn(a.mul(ne.x),a.mul(ne.y),mc(0,ne.z)))}),zR=or(({roughness:s,mipInt:e,envMap:t,N_immutable:n,GGX_SAMPLES:i,CUBEUV_TEXEL_WIDTH:a,CUBEUV_TEXEL_HEIGHT:o,CUBEUV_MAX_MIP:u})=>{const c=Kn(n).toVar(),d=Kn(0).toVar(),g=qt(0).toVar();return ra(s.lessThan(.001),()=>{d.assign(Ky(t,c,e,a,o,u))}).Else(()=>{const v=ud(Su(c.z).lessThan(.999),Kn(0,0,1),Kn(1,0,0)),M=rf(Zg(v,c)).toVar(),B=Zg(c,M).toVar();kl({start:Fi(0),end:i},({i:I})=>{const ne=gz(I,i),ee=mz(ne,Kn(0,0,1),s),q=rf(M.mul(ee.x).add(B.mul(ee.y)).add(c.mul(ee.z))),ye=rf(q.mul(ZA(c,q).mul(2)).sub(c)),Ce=mc(ZA(c,ye),0);ra(Ce.greaterThan(0),()=>{const ke=Ky(t,ye,e,a,o,u);d.addAssign(ke.mul(Ce)),g.addAssign(Ce)})}),ra(g.greaterThan(0),()=>{d.assign(d.div(g))})}),Ks(d,1)}),km=4,GR=[.125,.215,.35,.446,.526,.582],b0=20,vz=512,$y=new Pg(-1,1,1,-1,0,1),yz=new vo(90,1),HR=new Wr;let jS=null,YS=0,qS=0;const xz=new le,r_=new WeakMap,bz=[3,1,5,0,4,2],JS=DR(Zl(),af("faceIndex")).normalize(),i_=Kn(JS.x,JS.y,JS.z);class _z{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._blurMaterial=null,this._ggxMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._backgroundBox=null}get _hasInitialized(){return this._renderer.hasInitialized()}fromScene(e,t=0,n=.1,i=100,a={}){const{size:o=256,position:u=xz,renderTarget:c=null}=a;if(this._setSize(o),this._hasInitialized===!1){Lr('PMREMGenerator: ".fromScene()" called before the backend is initialized. Try using "await renderer.init()" instead.');const g=c||this._allocateTarget();return a.renderTarget=g,this.fromSceneAsync(e,t,n,i,a),g}jS=this._renderer.getRenderTarget(),YS=this._renderer.getActiveCubeFace(),qS=this._renderer.getActiveMipmapLevel();const d=c||this._allocateTarget();return d.depthBuffer=!0,this._init(d),this._sceneToCubeUV(e,n,i,d,u),t>0&&this._blur(d,0,0,t),this._applyPMREM(d),this._cleanup(d),d}fromSceneAsync(o){return Pa(this,arguments,function*(e,t=0,n=.1,i=100,a={}){return ki('PMREMGenerator: ".fromSceneAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this.fromScene(e,t,n,i,a)})}fromEquirectangular(e,t=null){if(this._hasInitialized===!1){Lr('PMREMGenerator: .fromEquirectangular() called before the backend is initialized. Try using "await renderer.init()" instead.'),this._setSizeFromTexture(e);const n=t||this._allocateTarget();return this.fromEquirectangularAsync(e,n),n}return this._fromTexture(e,t)}fromEquirectangularAsync(e,t=null){return Pa(this,null,function*(){return ki('PMREMGenerator: ".fromEquirectangularAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this._fromTexture(e,t)})}fromCubemap(e,t=null){if(this._hasInitialized===!1){Lr("PMREMGenerator: .fromCubemap() called before the backend is initialized. Try using .fromCubemapAsync() instead."),this._setSizeFromTexture(e);const n=t||this._allocateTarget();return this.fromCubemapAsync(e,t),n}return this._fromTexture(e,t)}fromCubemapAsync(e,t=null){return Pa(this,null,function*(){return ki('PMREMGenerator: ".fromCubemapAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this._fromTexture(e,t)})}compileCubemapShader(){return Pa(this,null,function*(){this._cubemapMaterial===null&&(this._cubemapMaterial=WR(),yield this._compileMaterial(this._cubemapMaterial))})}compileEquirectangularShader(){return Pa(this,null,function*(){this._equirectMaterial===null&&(this._equirectMaterial=ZR(),yield this._compileMaterial(this._equirectMaterial))})}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSizeFromTexture(e){e.mapping===it||e.mapping===wt?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4)}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?q:0,q,q),d.render(e,o)}d.autoClear=g,e.background=I}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===it||e.mapping===wt;i?this._cubemapMaterial===null&&(this._cubemapMaterial=WR(e)):this._equirectMaterial===null&&(this._equirectMaterial=ZR(e));const a=i?this._cubemapMaterial:this._equirectMaterial;a.fragmentNode.value=e;const o=this._lodMeshes[0];o.material=a;const u=this._cubeSize;Bv(t,0,0,3*u,2*u),n.setRenderTarget(t),n.render(o,$y)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const i=this._lodMeshes.length;for(let a=1;aI-km?n-I+km:0),q=4*(this._cubeSize-ne);e.texture.frame=(e.texture.frame||0)+1,c.envMap.value=e.texture,c.roughness.value=B,c.mipInt.value=I-t,Bv(a,ee,q,3*ne,2*ne),i.setRenderTarget(a),i.render(u,$y),a.texture.frame=(a.texture.frame||0)+1,c.envMap.value=a.texture,c.roughness.value=0,c.mipInt.value=I-n,Bv(e,ee,q,3*ne,2*ne),i.setRenderTarget(e),i.render(u,$y)}_blur(e,t,n,i,a){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,n,i,"latitudinal",a),this._halfBlur(o,e,n,n,i,"longitudinal",a)}_halfBlur(e,t,n,i,a,o,u){const c=this._renderer,d=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&Gr("blur direction must be either latitudinal or longitudinal!");const g=3,v=this._lodMeshes[i];v.material=d;const M=r_.get(d),B=this._sizeLods[n]-1,I=isFinite(a)?Math.PI/(2*B):2*Math.PI/(2*b0-1),ne=a/I,ee=isFinite(a)?1+Math.floor(g*ne):b0;ee>b0&&Lr(`sigmaRadians, ${a}, is too large and will clip, as it requested ${ee} samples when the maximum is set to ${b0}`);const q=[];let ye=0;for(let ht=0;htCe-km?i-Ce+km:0),Ye=4*(this._cubeSize-ke);Bv(t,nt,Ye,3*ke,2*ke),c.setRenderTarget(t),c.render(v,$y)}}function wz(s){const e=[],t=[],n=[];let i=s;const a=s-km+1+GR.length;for(let o=0;os-km?c=GR[o-s+km-1]:o===0&&(c=0),t.push(c);const d=1/(u-2),g=-d,v=1+d,M=[g,g,v,g,v,v,g,g,v,v,g,v],B=6,I=6,ne=3,ee=2,q=1,ye=new Float32Array(ne*I*B),Ce=new Float32Array(ee*I*B),ke=new Float32Array(q*I*B);for(let Ye=0;Ye2?0:-1,qe=[ht,Rt,0,ht+2/3,Rt,0,ht+2/3,Rt+1,0,ht,Rt,0,ht+2/3,Rt+1,0,ht,Rt+1,0],pt=bz[Ye];ye.set(qe,ne*I*pt),Ce.set(M,ee*I*pt);const xn=[pt,pt,pt,pt,pt,pt];ke.set(xn,q*I*pt)}const nt=new ka;nt.setAttribute("position",new wl(ye,ne)),nt.setAttribute("uv",new wl(Ce,ee)),nt.setAttribute("faceIndex",new wl(ke,q)),n.push(new Il(nt,null)),i>km&&i--}return{lodMeshes:n,sizeLods:e,sigmas:t}}function QR(s,e){const t={magFilter:vr,minFilter:vr,generateMipmaps:!1,type:Wt,format:L,colorSpace:No},n=new Ns(s,e,t);return n.texture.mapping=_t,n.texture.name="PMREM.cubeUv",n.texture.isPMREMTexture=!0,n.scissorTest=!0,n}function Bv(s,e,t,n,i){s.viewport.set(e,t,n,i),s.scissor.set(e,t,n,i)}function s_(s){const e=new yc;return e.depthTest=!1,e.depthWrite=!1,e.blending=we,e.name=`PMREM_${s}`,e}function Sz(s,e,t){const n=Fd(new Array(b0).fill(0)),i=va(new le(0,1,0)),a=va(0),o=qt(b0),u=va(0),c=va(1),d=xl(),g=va(0),v=qt(1/e),M=qt(1/t),B=qt(s),I={n:o,latitudinal:u,weights:n,poleAxis:i,outputDirection:i_,dTheta:a,samples:c,envMap:d,mipInt:g,CUBEUV_TEXEL_WIDTH:v,CUBEUV_TEXEL_HEIGHT:M,CUBEUV_MAX_MIP:B},ne=s_("blur");return ne.fragmentNode=VR(fd(rl({},I),{latitudinal:u.equal(1)})),r_.set(ne,I),ne}function Mz(s,e,t){const n=xl(),i=va(0),a=va(0),o=qt(1/e),u=qt(1/t),c=qt(s),d={envMap:n,roughness:i,mipInt:a,CUBEUV_TEXEL_WIDTH:o,CUBEUV_TEXEL_HEIGHT:u,CUBEUV_MAX_MIP:c},g=s_("ggx");return g.fragmentNode=zR(fd(rl({},d),{N_immutable:i_,GGX_SAMPLES:Fi(vz)})),r_.set(g,d),g}function WR(s){const e=s_("cubemap");return e.fragmentNode=lf(s,i_),e}function ZR(s){const e=s_("equirect");return e.fragmentNode=xl(s,LS(i_),0),e}const KR=new WeakMap;function Ez(s){const e=Math.log2(s)-2,t=1/s;return{texelWidth:1/(3*Math.max(Math.pow(2,e),7*16)),texelHeight:t,maxMip:e}}function Cz(s,e,t){const n=Tz(e);let i=n.get(s);if((i!==void 0?i.pmremVersion:-1)!==s.pmremVersion){const o=s.image;if(s.isCubeTexture)if(Rz(o))i=t.fromCubemap(s,i);else return null;else if(Iz(o))i=t.fromEquirectangular(s,i);else return null;i.pmremVersion=s.pmremVersion,n.set(s,i)}return i.texture}function Tz(s){let e=KR.get(s);return e===void 0&&(e=new WeakMap,KR.set(s,e)),e}class Bz extends pc{static get type(){return"PMREMNode"}constructor(e,t=null,n=null){super("vec3"),this._value=e,this._pmrem=null,this.uvNode=t,this.levelNode=n,this._generator=null;const i=new zi;i.isRenderTargetTexture=!0,this._texture=xl(i),this._width=va(0),this._height=va(0),this._maxMip=va(0),this.updateBeforeType=Ao.RENDER}set value(e){this._value=e,this._pmrem=null}get value(){return this._value}updateFromTexture(e){const t=Ez(e.image.height);this._texture.value=e,this._width.value=t.texelWidth,this._height.value=t.texelHeight,this._maxMip.value=t.maxMip}updateBefore(e){let t=this._pmrem;const n=t?t.pmremVersion:-1,i=this._value;n!==i.pmremVersion&&(i.isPMREMTexture===!0?t=i:t=Cz(i,e.renderer,this._generator),t!==null&&(this._pmrem=t,this.updateFromTexture(t)))}setup(e){this._generator===null&&(this._generator=new _z(e.renderer)),this.updateBefore(e);let t=this.uvNode;t===null&&e.context.getUV&&(t=e.context.getUV(this,e)),t=AS.mul(Kn(t.x,t.y.negate(),t.z));let n=this.levelNode;return n===null&&e.context.getTextureLevel&&(n=e.context.getTextureLevel(this)),kR(this._texture,t,n,this._width,this._height,this._maxMip)}dispose(){super.dispose(),this._generator!==null&&this._generator.dispose()}}function Rz(s){if(s==null)return!1;let e=0;const t=6;for(let n=0;n0}const eM=to(Bz).setParameterLength(1,3),$R=new WeakMap;class Nz extends Sv{static get type(){return"EnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){const{material:t}=e;let n=this.envNode;if(n.isTextureNode||n.isMaterialReferenceNode){const v=n.isTextureNode?n.value:t[n.property];let M=$R.get(v);M===void 0&&(M=eM(v),$R.set(v,M)),n=M}const a=t.useAnisotropy===!0||t.anisotropy>0?d2:cl,o=n.context(XR(ig,a)).mul(Vb),u=n.context(Fz(Om)).mul(Math.PI).mul(Vb),c=yv(o),d=yv(u);e.context.radiance.addAssign(c),e.context.iblIrradiance.addAssign(d);const g=e.context.lightingModel.clearcoatRadiance;if(g){const v=n.context(XR(Ny,v0)).mul(Vb),M=yv(v);g.addAssign(M)}}}const XR=(s,e)=>{let t=null;return{getUV:()=>(t===null&&(t=iu.negate().reflect(e),t=W1(s).mix(t,e).normalize(),t=t.transformDirection(AA)),t),getTextureLevel:()=>s}},Fz=s=>({getUV:()=>s,getTextureLevel:()=>qt(1)}),Pz=new $v;class jR extends yc{static get type(){return"MeshStandardNodeMaterial"}constructor(e){super(),this.isMeshStandardNodeMaterial=!0,this.lights=!0,this.emissiveNode=null,this.metalnessNode=null,this.roughnessNode=null,this.setDefaultValues(Pz),this.setValues(e)}setupEnvironment(e){let t=super.setupEnvironment(e);return t===null&&e.environmentNode&&(t=e.environmentNode),t?new Nz(t):null}setupLightingModel(){return new PR}setupSpecular(){const e=zo(Kn(.04),Wl.rgb,Wg);Pm.assign(Kn(.04)),A0.assign(e),pv.assign(1)}setupVariants(){const e=this.metalnessNode?qt(this.metalnessNode):b2;Wg.assign(e);let t=this.roughnessNode?qt(this.roughnessNode):x2;t=OS({roughness:t}),ig.assign(t),this.setupSpecular(),d0.assign(Wl.rgb.mul(e.oneMinus()))}copy(e){return this.emissiveNode=e.emissiveNode,this.metalnessNode=e.metalnessNode,this.roughnessNode=e.roughnessNode,super.copy(e)}}const Lz=new Qp;class Uz extends jR{static get type(){return"MeshPhysicalNodeMaterial"}constructor(e){super(),this.isMeshPhysicalNodeMaterial=!0,this.clearcoatNode=null,this.clearcoatRoughnessNode=null,this.clearcoatNormalNode=null,this.sheenNode=null,this.sheenRoughnessNode=null,this.iridescenceNode=null,this.iridescenceIORNode=null,this.iridescenceThicknessNode=null,this.specularIntensityNode=null,this.specularColorNode=null,this.iorNode=null,this.transmissionNode=null,this.thicknessNode=null,this.attenuationDistanceNode=null,this.attenuationColorNode=null,this.dispersionNode=null,this.anisotropyNode=null,this.setDefaultValues(Lz),this.setValues(e)}get useClearcoat(){return this.clearcoat>0||this.clearcoatNode!==null}get useIridescence(){return this.iridescence>0||this.iridescenceNode!==null}get useSheen(){return this.sheen>0||this.sheenNode!==null}get useAnisotropy(){return this.anisotropy>0||this.anisotropyNode!==null}get useTransmission(){return this.transmission>0||this.transmissionNode!==null}get useDispersion(){return this.dispersion>0||this.dispersionNode!==null}setupSpecular(){const e=this.iorNode?qt(this.iorNode):L2;Ly.assign(e),Pm.assign(Uf(Q1(Ly.sub(1).div(Ly.add(1))).mul(y2),Kn(1)).mul(_S)),A0.assign(zo(Pm,Wl.rgb,Wg)),pv.assign(zo(_S,1,Wg))}setupLightingModel(){return new PR(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion)}setupVariants(e){if(super.setupVariants(e),this.useClearcoat){const t=this.clearcoatNode?qt(this.clearcoatNode):w2,n=this.clearcoatRoughnessNode?qt(this.clearcoatRoughnessNode):S2;yb.assign(t),Ny.assign(OS({roughness:n}))}if(this.useSheen){const t=this.sheenNode?Kn(this.sheenNode):C2,n=this.sheenRoughnessNode?qt(this.sheenRoughnessNode):T2;hA.assign(t),Nm.assign(n)}if(this.useIridescence){const t=this.iridescenceNode?qt(this.iridescenceNode):R2,n=this.iridescenceIORNode?qt(this.iridescenceIORNode):I2,i=this.iridescenceThicknessNode?qt(this.iridescenceThicknessNode):N2;xb.assign(t),bb.assign(n),_b.assign(i)}if(this.useAnisotropy){const t=(this.anisotropyNode?Gi(this.anisotropyNode):B2).toVar();Fm.assign(t.length()),ra(Fm.equal(0),()=>{t.assign(Gi(1,0))}).Else(()=>{t.divAssign(Gi(Fm)),Fm.assign(Fm.saturate())}),wb.assign(Fm.pow2().mix(ig.pow2(),1)),Fy.assign(y0[0].mul(t.x).add(y0[1].mul(t.y))),f0.assign(y0[1].mul(t.x).sub(y0[0].mul(t.y)))}if(this.useTransmission){const t=this.transmissionNode?qt(this.transmissionNode):F2,n=this.thicknessNode?qt(this.thicknessNode):P2,i=this.attenuationDistanceNode?qt(this.attenuationDistanceNode):U2,a=this.attenuationColorNode?Kn(this.attenuationColorNode):O2;if(Mb.assign(t),C1.assign(n),T1.assign(i),B1.assign(a),this.useDispersion){const o=this.dispersionNode?qt(this.dispersionNode):k2;R1.assign(o)}}}setupClearcoatNormal(){return this.clearcoatNormalNode?Kn(this.clearcoatNormalNode):M2}setup(e){e.context.setupClearcoatNormal=()=>vv(this.setupClearcoatNormal(e),"NORMAL","vec3"),super.setup(e)}copy(e){return this.clearcoatNode=e.clearcoatNode,this.clearcoatRoughnessNode=e.clearcoatRoughnessNode,this.clearcoatNormalNode=e.clearcoatNormalNode,this.sheenNode=e.sheenNode,this.sheenRoughnessNode=e.sheenRoughnessNode,this.iridescenceNode=e.iridescenceNode,this.iridescenceIORNode=e.iridescenceIORNode,this.iridescenceThicknessNode=e.iridescenceThicknessNode,this.specularIntensityNode=e.specularIntensityNode,this.specularColorNode=e.specularColorNode,this.transmissionNode=e.transmissionNode,this.thicknessNode=e.thicknessNode,this.attenuationDistanceNode=e.attenuationDistanceNode,this.attenuationColorNode=e.attenuationColorNode,this.dispersionNode=e.dispersionNode,this.anisotropyNode=e.anisotropyNode,super.copy(e)}}class Oz extends null{constructor(e=!1,t=!1,n=!1,i=!1,a=!1,o=!1,u=!1){super(e,t,n,i,a,o),this.useSSS=u}direct({lightDirection:e,lightColor:t,reflectedLight:n},i){if(this.useSSS===!0){const a=i.material,{thicknessColorNode:o,thicknessDistortionNode:u,thicknessAmbientNode:c,thicknessAttenuationNode:d,thicknessPowerNode:g,thicknessScaleNode:v}=a,M=e.add(cl.mul(u)).normalize(),B=qt(iu.dot(M.negate()).saturate().pow(g).mul(v)),I=Kn(B.add(c).mul(o));n.directDiffuse.addAssign(I.mul(d.mul(t)))}super.direct({lightDirection:e,lightColor:t,reflectedLight:n},i)}}class VX extends null{static get type(){return"MeshSSSNodeMaterial"}constructor(e){super(e),this.thicknessColorNode=null,this.thicknessDistortionNode=qt(.1),this.thicknessAmbientNode=qt(0),this.thicknessAttenuationNode=qt(.1),this.thicknessPowerNode=qt(2),this.thicknessScaleNode=qt(10)}get useSSS(){return this.thicknessColorNode!==null}setupLightingModel(){return new Oz(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion,this.useSSS)}copy(e){return this.thicknessColorNode=e.thicknessColorNode,this.thicknessDistortionNode=e.thicknessDistortionNode,this.thicknessAmbientNode=e.thicknessAmbientNode,this.thicknessAttenuationNode=e.thicknessAttenuationNode,this.thicknessPowerNode=e.thicknessPowerNode,this.thicknessScaleNode=e.thicknessScaleNode,super.copy(e)}}const Dz=or(({normal:s,lightDirection:e,builder:t})=>{const n=s.dot(e),i=Gi(n.mul(.5).add(.5),0);if(t.material.gradientMap){const a=em("gradientMap","texture").context({getUV:()=>i});return Kn(a.r)}else{const a=i.fwidth().mul(.5);return zo(Kn(.7),Kn(1),fA(qt(.7).sub(a.x),qt(.7).add(a.x),i.x))}});class kz extends qb{direct({lightDirection:e,lightColor:t,reflectedLight:n},i){const a=Dz({normal:kb,lightDirection:e,builder:i}).mul(t);n.directDiffuse.addAssign(a.mul(x0({diffuseColor:Wl.rgb})))}indirect(e){const{ambientOcclusion:t,irradiance:n,reflectedLight:i}=e.context;i.indirectDiffuse.addAssign(n.mul(x0({diffuseColor:Wl}))),i.indirectDiffuse.mulAssign(t)}}const Vz=new jv;class zz extends yc{static get type(){return"MeshToonNodeMaterial"}constructor(e){super(),this.isMeshToonNodeMaterial=!0,this.lights=!0,this.setDefaultValues(Vz),this.setValues(e)}setupLightingModel(){return new kz}}const YR=or(()=>{const s=Kn(iu.z,0,iu.x.negate()).normalize(),e=iu.cross(s);return Gi(s.dot(cl),e.dot(cl)).mul(.495).add(.5)}).once(["NORMAL","VERTEX"])().toVar("matcapUV"),Gz=new nw;class Hz extends yc{static get type(){return"MeshMatcapNodeMaterial"}constructor(e){super(),this.isMeshMatcapNodeMaterial=!0,this.setDefaultValues(Gz),this.setValues(e)}setupVariants(e){const t=YR;let n;e.material.matcap?n=em("matcap","texture").context({getUV:()=>t}):n=Kn(zo(.2,.8,t.y)),Wl.rgb.mulAssign(n.rgb)}}class Qz extends pc{static get type(){return"RotateNode"}constructor(e,t){super(),this.positionNode=e,this.rotationNode=t}getNodeType(e){return this.positionNode.getNodeType(e)}setup(e){const{rotationNode:t,positionNode:n}=this;if(this.getNodeType(e)==="vec2"){const a=t.cos(),o=t.sin();return vb(a,o,o.negate(),a).mul(n)}else{const a=t,o=Im(Ks(1,0,0,0),Ks(0,wp(a.x),sf(a.x).negate(),0),Ks(0,sf(a.x),wp(a.x),0),Ks(0,0,0,1)),u=Im(Ks(wp(a.y),0,sf(a.y),0),Ks(0,1,0,0),Ks(sf(a.y).negate(),0,wp(a.y),0),Ks(0,0,0,1)),c=Im(Ks(wp(a.z),sf(a.z).negate(),0,0),Ks(sf(a.z),wp(a.z),0,0),Ks(0,0,1,0),Ks(0,0,0,1));return o.mul(u).mul(c).mul(Ks(n,1)).xyz}}}const Xy=to(Qz).setParameterLength(2),Wz=new BA;class qR extends yc{static get type(){return"SpriteNodeMaterial"}constructor(e){super(),this.isSpriteNodeMaterial=!0,this._useSizeAttenuation=!0,this.positionNode=null,this.rotationNode=null,this.scaleNode=null,this.transparent=!0,this.setDefaultValues(Wz),this.setValues(e)}setupPositionView(e){const{object:t,camera:n}=e,{positionNode:i,rotationNode:a,scaleNode:o,sizeAttenuation:u}=this,c=cg.mul(Kn(i||0));let d=Gi(XA[0].xyz.length(),XA[1].xyz.length());o!==null&&(d=d.mul(Gi(o))),n.isPerspectiveCamera&&u===!1&&(d=d.mul(c.z.negate()));let g=cd.xy;if(t.center&&t.center.isVector2===!0){const B=Vk("center","vec2",t);g=g.sub(B.sub(.5))}g=g.mul(d);const v=qt(a||E2),M=Xy(g,v);return Ks(c.xy.add(M),c.zw)}copy(e){return this.positionNode=e.positionNode,this.rotationNode=e.rotationNode,this.scaleNode=e.scaleNode,super.copy(e)}get sizeAttenuation(){return this._useSizeAttenuation}set sizeAttenuation(e){this._useSizeAttenuation!==e&&(this._useSizeAttenuation=e,this.needsUpdate=!0)}}const Zz=new jm,Kz=new ce;class $z extends qR{static get type(){return"PointsNodeMaterial"}constructor(e){super(),this.sizeNode=null,this.isPointsNodeMaterial=!0,this.setDefaultValues(Zz),this.setValues(e)}setupPositionView(){const{positionNode:e}=this;return cg.mul(Kn(e||vc)).xyz}setupVertexSprite(e){const{material:t,camera:n}=e,{rotationNode:i,scaleNode:a,sizeNode:o,sizeAttenuation:u}=this;let c=super.setupVertex(e);if(t.isNodeMaterial!==!0)return c;let d=o!==null?Gi(o):D2;d=d.mul(aS),n.isPerspectiveCamera&&u===!0&&(d=d.mul(Xz.div(Oc.z.negate()))),a&&a.isNode&&(d=d.mul(Gi(a)));let g=cd.xy;if(i&&i.isNode){const v=qt(i);g=Xy(g,v)}return g=g.mul(d),g=g.div(oS.div(2)),g=g.mul(c.w),c=c.add(Ks(g,0,0)),c}setupVertex(e){return e.object.isPoints?super.setupVertex(e):this.setupVertexSprite(e)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(e){this._useAlphaToCoverage!==e&&(this._useAlphaToCoverage=e,this.needsUpdate=!0)}}const Xz=va(1).onFrameUpdate(function({renderer:s}){const e=s.getSize(Kz);this.value=.5*e.y});class jz extends qb{constructor(){super(),this.shadowNode=qt(1).toVar("shadowMask")}direct({lightNode:e}){e.shadowNode!==null&&this.shadowNode.mulAssign(e.shadowNode)}finish({context:e}){Wl.a.mulAssign(this.shadowNode.oneMinus()),e.outgoingLight.rgb.assign(Wl.rgb)}}const Yz=new Cx;class qz extends yc{static get type(){return"ShadowNodeMaterial"}constructor(e){super(),this.isShadowNodeMaterial=!0,this.lights=!0,this.transparent=!0,this.setDefaultValues(Yz),this.setValues(e)}setupLightingModel(){return new jz}}const jy=bp("vec3"),JR=bp("vec3"),eI=bp("vec3");class Jz extends null{constructor(){super()}start(e){const{material:t}=e,n=bp("vec3"),i=bp("vec3");ra(zy.sub(pA).length().greaterThan(zB.mul(2)),()=>{n.assign(zy),i.assign(pA)}).Else(()=>{n.assign(pA),i.assign(zy)});const a=i.sub(n),o=va("int").onRenderUpdate(({material:v})=>v.steps),u=a.length().div(o).toVar(),c=a.normalize().toVar(),d=qt(0).toVar(),g=Kn(1).toVar();t.offsetNode&&d.addAssign(t.offsetNode.mul(u)),kl(o,()=>{const v=n.add(c.mul(d)),M=AA.mul(Ks(v,1)).xyz;t.depthNode!==null&&(JR.assign(Cv(IS(M.z,qg,Jg))),e.context.sceneDepthNode=Cv(t.depthNode).toVar()),e.context.positionWorld=v,e.context.shadowPositionWorld=v,e.context.positionView=M,jy.assign(0);let B;t.scatteringNode&&(B=t.scatteringNode({positionRay:v})),super.start(e),B&&jy.mulAssign(B);const I=jy.mul(.01).negate().mul(u).exp();g.mulAssign(I),d.addAssign(u)}),eI.addAssign(g.saturate().oneMinus())}scatteringLight(e,t){const n=t.context.sceneDepthNode;n?ra(n.greaterThanEqual(JR),()=>{jy.addAssign(e)}):jy.addAssign(e)}direct({lightNode:e,lightColor:t},n){if(e.light.distance===void 0)return;const i=t.xyz.toVar();i.mulAssign(e.shadowNode),this.scatteringLight(i,n)}directRectArea({lightColor:e,lightPosition:t,halfWidth:n,halfHeight:i},a){const o=t.add(n).sub(i),u=t.sub(n).sub(i),c=t.sub(n).add(i),d=t.add(n).add(i),g=a.context.positionView,v=e.xyz.mul(tz({P:g,p0:o,p1:u,p2:c,p3:d})).pow(1.5);this.scatteringLight(v,a)}finish(e){e.context.outgoingLight.assign(eI)}}class zX extends null{static get type(){return"VolumeNodeMaterial"}constructor(e){super(),this.isVolumeNodeMaterial=!0,this.steps=25,this.offsetNode=null,this.scatteringNode=null,this.lights=!0,this.transparent=!0,this.side=BackSide,this.depthTest=!1,this.depthWrite=!1,this.setValues(e)}setupLightingModel(){return new Jz}}class e5{constructor(e,t,n){this.renderer=e,this.nodes=t,this.info=n,this._context=typeof self!="undefined"?self:null,this._animationLoop=null,this._requestId=null}start(){const e=(t,n)=>{this._requestId=this._context.requestAnimationFrame(e),this.info.autoReset===!0&&this.info.reset(),this.nodes.nodeFrame.update(),this.info.frame=this.nodes.nodeFrame.frameId,this.renderer._inspector.begin(),this._animationLoop!==null&&this._animationLoop(t,n),this.renderer._inspector.finish()};e()}stop(){this._context.cancelAnimationFrame(this._requestId),this._requestId=null}getAnimationLoop(){return this._animationLoop}setAnimationLoop(e){this._animationLoop=e}getContext(){return this._context}setContext(e){this._context=e}dispose(){this.stop()}}class Mp{constructor(){this.weakMaps={}}_getWeakMap(e){const t=e.length;let n=this.weakMaps[t];return n===void 0&&(n=new WeakMap,this.weakMaps[t]=n),n}get(e){let t=this._getWeakMap(e);for(let n=0;n{this.dispose()},this.onGeometryDispose=()=>{this.attributes=null,this.attributesId=null},this.material.addEventListener("dispose",this.onMaterialDispose),this.geometry.addEventListener("dispose",this.onGeometryDispose)}updateClipping(e){this.clippingContext=e}get clippingNeedsUpdate(){return this.clippingContext===null||this.clippingContext.cacheKey===this.clippingContextCacheKey?!1:(this.clippingContextCacheKey=this.clippingContext.cacheKey,!0)}get hardwareClippingPlanes(){return this.material.hardwareClipping===!0?this.clippingContext.unionClippingCount:0}getNodeBuilderState(){return this._nodeBuilderState||(this._nodeBuilderState=this._nodes.getForRender(this))}getMonitor(){return this._monitor||(this._monitor=this.getNodeBuilderState().observer)}getBindings(){return this._bindings||(this._bindings=this.getNodeBuilderState().createBindings())}getBindingGroup(e){for(const t of this.getBindings())if(t.name===e)return t}getIndex(){return this._geometries.getIndex(this)}getIndirect(){return this._geometries.getIndirect(this)}getIndirectOffset(){return this._geometries.getIndirectOffset(this)}getChainArray(){return[this.object,this.material,this.context,this.lightsNode]}setGeometry(e){this.geometry=e,this.attributes=null,this.attributesId=null}getAttributes(){if(this.attributes!==null)return this.attributes;const e=this.getNodeBuilderState().nodeAttributes,t=this.geometry,n=[],i=new Set,a={};for(const o of e){let u;if(o.node&&o.node.attribute?u=o.node.attribute:(u=t.getAttribute(o.name),a[o.name]=u.version),u===void 0)continue;n.push(u);const c=u.isInterleavedBufferAttribute?u.data:u;i.add(c)}return this.attributes=n,this.attributesId=a,this.vertexBuffers=Array.from(i.values()),n}getVertexBuffers(){return this.vertexBuffers===null&&this.getAttributes(),this.vertexBuffers}getDrawParameters(){const{object:e,material:t,geometry:n,group:i,drawRange:a}=this,o=this.drawParams||(this.drawParams={vertexCount:0,firstVertex:0,instanceCount:0,firstInstance:0}),u=this.getIndex(),c=u!==null;let d=1;if(n.isInstancedBufferGeometry===!0?d=n.instanceCount:e.count!==void 0&&(d=Math.max(0,e.count)),d===0)return null;if(o.instanceCount=d,e.isBatchedMesh===!0)return o;let g=1;t.wireframe===!0&&!e.isPoints&&!e.isLineSegments&&!e.isLine&&!e.isLineLoop&&(g=2);let v=a.start*g,M=(a.start+a.count)*g;i!==null&&(v=Math.max(v,i.start*g),M=Math.min(M,(i.start+i.count)*g));const B=n.attributes.position;let I=1/0;c?I=u.count:B!=null&&(I=B.count),v=Math.max(v,0),M=Math.min(M,I);const ne=M-v;return ne<0||ne===1/0?null:(o.vertexCount=ne,o.firstVertex=v,o)}getGeometryCacheKey(){const{geometry:e}=this;let t="";for(const n of Object.keys(e.attributes).sort()){const i=e.attributes[n];t+=n+",",i.data&&(t+=i.data.stride+","),i.offset&&(t+=i.offset+","),i.itemSize&&(t+=i.itemSize+","),i.normalized&&(t+="n,")}for(const n of Object.keys(e.morphAttributes).sort()){const i=e.morphAttributes[n];t+="morph-"+n+",";for(let a=0,o=i.length;a1||Array.isArray(e.morphTargetInfluences))&&(i+=e.uuid+","),i+=this.context.id+",",i+=e.receiveShadow+",",dv(i)}get needsGeometryUpdate(){if(this.geometry.id!==this.object.geometry.id)return!0;if(this.attributes!==null){const e=this.attributesId;for(const t in e){const n=this.geometry.getAttribute(t);if(n===void 0||e[t]!==n.id)return!0}}return!1}get needsUpdate(){return this.initialNodesCacheKey!==this.getDynamicCacheKey()||this.clippingNeedsUpdate}getDynamicCacheKey(){let e=0;return this.material.isShadowPassMaterial!==!0&&(e=this._nodes.getCacheKey(this.scene,this.lightsNode)),this.camera.isArrayCamera&&(e=fv(e,this.camera.cameras.length)),this.object.receiveShadow&&(e=fv(e,1)),e=fv(e,this.camera.id,this.renderer.contextNode.id,this.renderer.contextNode.version),e}getCacheKey(){return this.getMaterialCacheKey()+this.getDynamicCacheKey()}dispose(){this.material.removeEventListener("dispose",this.onMaterialDispose),this.geometry.removeEventListener("dispose",this.onGeometryDispose),this.onDispose()}}const _0=[];class i5{constructor(e,t,n,i,a,o){this.renderer=e,this.nodes=t,this.geometries=n,this.pipelines=i,this.bindings=a,this.info=o,this.chainMaps={}}get(e,t,n,i,a,o,u,c){const d=this.getChainMap(c);_0[0]=e,_0[1]=t,_0[2]=o,_0[3]=a;let g=d.get(_0);return g===void 0?(g=this.createRenderObject(this.nodes,this.geometries,this.renderer,e,t,n,i,a,o,u,c),d.set(_0,g)):(g.updateClipping(u),g.needsGeometryUpdate&&g.setGeometry(e.geometry),(g.version!==t.version||g.needsUpdate)&&(g.initialCacheKey!==g.getCacheKey()?(g.dispose(),g=this.get(e,t,n,i,a,o,u,c)):g.version=t.version)),_0.length=0,g}getChainMap(e="default"){return this.chainMaps[e]||(this.chainMaps[e]=new Mp)}dispose(){this.chainMaps={}}createRenderObject(e,t,n,i,a,o,u,c,d,g,v){const M=this.getChainMap(v),B=new r5(e,t,n,i,a,o,u,c,d,g);return B.onDispose=()=>{this.pipelines.delete(B),this.bindings.deleteForRender(B),this.nodes.delete(B),M.delete(B.getChainArray())},B}}class Vm{constructor(){this.data=new WeakMap}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}delete(e){let t=null;return this.data.has(e)&&(t=this.data.get(e),this.data.delete(e)),t}has(e){return this.data.has(e)}dispose(){this.data=new WeakMap}}const YA={VERTEX:1,INDEX:2,STORAGE:3,INDIRECT:4},zm=16,s5=211,a5=212;class o5 extends Vm{constructor(e){super(),this.backend=e}delete(e){const t=super.delete(e);return t!==null&&this.backend.destroyAttribute(e),t}update(e,t){const n=this.get(e);if(n.version===void 0)t===YA.VERTEX?this.backend.createAttribute(e):t===YA.INDEX?this.backend.createIndexAttribute(e):t===YA.STORAGE?this.backend.createStorageAttribute(e):t===YA.INDIRECT&&this.backend.createIndirectStorageAttribute(e),n.version=this._getBufferAttribute(e).version;else{const i=this._getBufferAttribute(e);(n.version{this.info.memory.geometries--;const a=t.index,o=e.getAttributes();a!==null&&this.attributes.delete(a);for(const c of o)this.attributes.delete(c);const u=this.wireframes.get(t);u!==void 0&&this.attributes.delete(u),t.removeEventListener("dispose",i),this._geometryDisposeListeners.delete(t)};t.addEventListener("dispose",i),this._geometryDisposeListeners.set(t,i)}updateAttributes(e){const t=e.getAttributes();for(const a of t)a.isStorageBufferAttribute||a.isStorageInstancedBufferAttribute?this.updateAttribute(a,YA.STORAGE):this.updateAttribute(a,YA.VERTEX);const n=this.getIndex(e);n!==null&&this.updateAttribute(n,YA.INDEX);const i=e.geometry.indirect;i!==null&&this.updateAttribute(i,YA.INDIRECT)}updateAttribute(e,t){const n=this.info.render.calls;e.isInterleavedBufferAttribute?this.attributeCall.get(e)===void 0?(this.attributes.update(e,t),this.attributeCall.set(e,n)):this.attributeCall.get(e.data)!==n&&(this.attributes.update(e,t),this.attributeCall.set(e.data,n),this.attributeCall.set(e,n)):this.attributeCall.get(e)!==n&&(this.attributes.update(e,t),this.attributeCall.set(e,n))}getIndirect(e){return e.geometry.indirect}getIndirectOffset(e){return e.geometry.indirectOffset}getIndex(e){const{geometry:t,material:n}=e;let i=t.index;if(n.wireframe===!0){const a=this.wireframes;let o=a.get(t);o===void 0?(o=nI(t),a.set(t,o)):o.version!==tI(t)&&(this.attributes.delete(o),o=nI(t),a.set(t,o)),i=o}return i}dispose(){for(const[e,t]of this._geometryDisposeListeners.entries())e.removeEventListener("dispose",t);this._geometryDisposeListeners.clear()}}class u5{constructor(){this.autoReset=!0,this.frame=0,this.calls=0,this.render={calls:0,frameCalls:0,drawCalls:0,triangles:0,points:0,lines:0,timestamp:0},this.compute={calls:0,frameCalls:0,timestamp:0},this.memory={geometries:0,textures:0}}update(e,t,n){this.render.drawCalls++,e.isMesh||e.isSprite?this.render.triangles+=n*(t/3):e.isPoints?this.render.points+=n*t:e.isLineSegments?this.render.lines+=n*(t/2):e.isLine?this.render.lines+=n*(t-1):Gr("WebGPUInfo: Unknown object type.")}reset(){this.render.drawCalls=0,this.render.frameCalls=0,this.compute.frameCalls=0,this.render.triangles=0,this.render.points=0,this.render.lines=0}dispose(){this.reset(),this.calls=0,this.render.calls=0,this.compute.calls=0,this.render.timestamp=0,this.compute.timestamp=0,this.memory.geometries=0,this.memory.textures=0}}class rI{constructor(e){this.cacheKey=e,this.usedTimes=0}}class c5 extends rI{constructor(e,t,n){super(e),this.vertexProgram=t,this.fragmentProgram=n}}class h5 extends rI{constructor(e,t){super(e),this.computeProgram=t,this.isComputePipeline=!0}}let d5=0;class tM{constructor(e,t,n,i=null,a=null){this.id=d5++,this.code=e,this.stage=t,this.name=n,this.transforms=i,this.attributes=a,this.usedTimes=0}}class f5 extends Vm{constructor(e,t){super(),this.backend=e,this.nodes=t,this.bindings=null,this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}getForCompute(e,t){const{backend:n}=this,i=this.get(e);if(this._needsComputeUpdate(e)){const a=i.pipeline;a&&(a.usedTimes--,a.computeProgram.usedTimes--);const o=this.nodes.getForCompute(e);let u=this.programs.compute.get(o.computeShader);u===void 0&&(a&&a.computeProgram.usedTimes===0&&this._releaseProgram(a.computeProgram),u=new tM(o.computeShader,"compute",e.name,o.transforms,o.nodeAttributes),this.programs.compute.set(o.computeShader,u),n.createProgram(u));const c=this._getComputeCacheKey(e,u);let d=this.caches.get(c);d===void 0&&(a&&a.usedTimes===0&&this._releasePipeline(a),d=this._getComputePipeline(e,u,c,t)),d.usedTimes++,u.usedTimes++,i.version=e.version,i.pipeline=d}return i.pipeline}getForRender(e,t=null){const{backend:n}=this,i=this.get(e);if(this._needsRenderUpdate(e)){const a=i.pipeline;a&&(a.usedTimes--,a.vertexProgram.usedTimes--,a.fragmentProgram.usedTimes--);const o=e.getNodeBuilderState(),u=e.material?e.material.name:"";let c=this.programs.vertex.get(o.vertexShader);c===void 0&&(a&&a.vertexProgram.usedTimes===0&&this._releaseProgram(a.vertexProgram),c=new tM(o.vertexShader,"vertex",u),this.programs.vertex.set(o.vertexShader,c),n.createProgram(c));let d=this.programs.fragment.get(o.fragmentShader);d===void 0&&(a&&a.fragmentProgram.usedTimes===0&&this._releaseProgram(a.fragmentProgram),d=new tM(o.fragmentShader,"fragment",u),this.programs.fragment.set(o.fragmentShader,d),n.createProgram(d));const g=this._getRenderCacheKey(e,c,d);let v=this.caches.get(g);v===void 0?(a&&a.usedTimes===0&&this._releasePipeline(a),v=this._getRenderPipeline(e,c,d,g,t)):e.pipeline=v,v.usedTimes++,c.usedTimes++,d.usedTimes++,i.pipeline=v}return i.pipeline}delete(e){const t=this.get(e).pipeline;return t&&(t.usedTimes--,t.usedTimes===0&&this._releasePipeline(t),t.isComputePipeline?(t.computeProgram.usedTimes--,t.computeProgram.usedTimes===0&&this._releaseProgram(t.computeProgram)):(t.fragmentProgram.usedTimes--,t.vertexProgram.usedTimes--,t.vertexProgram.usedTimes===0&&this._releaseProgram(t.vertexProgram),t.fragmentProgram.usedTimes===0&&this._releaseProgram(t.fragmentProgram))),super.delete(e)}dispose(){super.dispose(),this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}updateForRender(e){this.getForRender(e)}_getComputePipeline(e,t,n,i){n=n||this._getComputeCacheKey(e,t);let a=this.caches.get(n);return a===void 0&&(a=new h5(n,t),this.caches.set(n,a),this.backend.createComputePipeline(a,i)),a}_getRenderPipeline(e,t,n,i,a){i=i||this._getRenderCacheKey(e,t,n);let o=this.caches.get(i);return o===void 0&&(o=new c5(i,t,n),this.caches.set(i,o),e.pipeline=o,this.backend.createRenderPipeline(e,a)),o}_getComputeCacheKey(e,t){return e.id+","+t.id}_getRenderCacheKey(e,t,n){return t.id+","+n.id+","+this.backend.getRenderCacheKey(e)}_releasePipeline(e){this.caches.delete(e.cacheKey)}_releaseProgram(e){const t=e.code,n=e.stage;this.programs[n].delete(t)}_needsComputeUpdate(e){const t=this.get(e);return t.pipeline===void 0||t.version!==e.version}_needsRenderUpdate(e){return this.get(e).pipeline===void 0||this.backend.needsRenderUpdate(e)}}class A5 extends Vm{constructor(e,t,n,i,a,o){super(),this.backend=e,this.textures=n,this.pipelines=a,this.attributes=i,this.nodes=t,this.info=o,this.pipelines.bindings=this}getForRender(e){const t=e.getBindings();for(const n of t){const i=this.get(n);i.bindGroup===void 0&&(this._init(n),this.backend.createBindings(n,t,0),i.bindGroup=n)}return t}getForCompute(e){const t=this.nodes.getForCompute(e).bindings;for(const n of t){const i=this.get(n);i.bindGroup===void 0&&(this._init(n),this.backend.createBindings(n,t,0),i.bindGroup=n)}return t}updateForCompute(e){this._updateBindings(this.getForCompute(e))}updateForRender(e){this._updateBindings(this.getForRender(e))}deleteForCompute(e){const t=this.nodes.getForCompute(e).bindings;for(const n of t)this.backend.deleteBindGroupData(n),this.delete(n)}deleteForRender(e){const t=e.getBindings();for(const n of t)this.backend.deleteBindGroupData(n),this.delete(n)}_updateBindings(e){for(const t of e)this._update(t,e)}_init(e){for(const t of e.bindings)if(t.isSampledTexture)this.textures.updateTexture(t.texture);else if(t.isSampler)this.textures.updateSampler(t.texture);else if(t.isStorageBuffer){const n=t.attribute,i=n.isIndirectStorageBufferAttribute?YA.INDIRECT:YA.STORAGE;this.attributes.update(n,i)}}_update(e,t){const{backend:n}=this;let i=!1,a=!0,o=0,u=0;for(const c of e.bindings)if(this.nodes.updateGroup(c)!==!1){if(c.isStorageBuffer){const g=c.attribute,v=g.isIndirectStorageBufferAttribute?YA.INDIRECT:YA.STORAGE;this.attributes.update(g,v)}if(c.isUniformBuffer)c.update()&&n.updateBinding(c);else if(c.isSampledTexture){const g=c.update(),v=c.texture,M=this.textures.get(v);if(g&&(this.textures.updateTexture(v),c.generation!==M.generation&&(c.generation=M.generation,i=!0,a=!1)),n.get(v).externalTexture!==void 0||M.isDefaultTexture?a=!1:(o=o*10+v.id,u+=v.version),v.isStorageTexture===!0&&v.mipmapsAutoUpdate===!0){const I=this.get(v);c.store===!0?I.needsMipmap=!0:this.textures.needsMipmaps(v)&&I.needsMipmap===!0&&(this.backend.generateMipmaps(v),I.needsMipmap=!1)}}else if(c.isSampler&&c.update()){const v=this.textures.updateSampler(c.texture);c.samplerKey!==v&&(c.samplerKey=v,i=!0,a=!1)}}i===!0&&this.backend.updateBindings(e,t,a?o:0,u)}}function p5(s,e){return s.groupOrder!==e.groupOrder?s.groupOrder-e.groupOrder:s.renderOrder!==e.renderOrder?s.renderOrder-e.renderOrder:s.z!==e.z?s.z-e.z:s.id-e.id}function iI(s,e){return s.groupOrder!==e.groupOrder?s.groupOrder-e.groupOrder:s.renderOrder!==e.renderOrder?s.renderOrder-e.renderOrder:s.z!==e.z?e.z-s.z:s.id-e.id}function sI(s){return(s.transmission>0||s.transmissionNode&&s.transmissionNode.isNode)&&s.side===he&&s.forceSinglePass===!1}class g5{constructor(e,t,n){this.renderItems=[],this.renderItemsIndex=0,this.opaque=[],this.transparentDoublePass=[],this.transparent=[],this.bundles=[],this.lightsNode=e.getNode(t,n),this.lightsArray=[],this.scene=t,this.camera=n,this.occlusionQueryCount=0}begin(){return this.renderItemsIndex=0,this.opaque.length=0,this.transparentDoublePass.length=0,this.transparent.length=0,this.bundles.length=0,this.lightsArray.length=0,this.occlusionQueryCount=0,this}getNextRenderItem(e,t,n,i,a,o,u){let c=this.renderItems[this.renderItemsIndex];return c===void 0?(c={id:e.id,object:e,geometry:t,material:n,groupOrder:i,renderOrder:e.renderOrder,z:a,group:o,clippingContext:u},this.renderItems[this.renderItemsIndex]=c):(c.id=e.id,c.object=e,c.geometry=t,c.material=n,c.groupOrder=i,c.renderOrder=e.renderOrder,c.z=a,c.group=o,c.clippingContext=u),this.renderItemsIndex++,c}push(e,t,n,i,a,o,u){const c=this.getNextRenderItem(e,t,n,i,a,o,u);e.occlusionTest===!0&&this.occlusionQueryCount++,n.transparent===!0||n.transmission>0||n.transmissionNode&&n.transmissionNode.isNode||n.backdropNode&&n.backdropNode.isNode?(sI(n)&&this.transparentDoublePass.push(c),this.transparent.push(c)):this.opaque.push(c)}unshift(e,t,n,i,a,o,u){const c=this.getNextRenderItem(e,t,n,i,a,o,u);n.transparent===!0||n.transmission>0||n.transmissionNode&&n.transmissionNode.isNode||n.backdropNode&&n.backdropNode.isNode?(sI(n)&&this.transparentDoublePass.unshift(c),this.transparent.unshift(c)):this.opaque.unshift(c)}pushBundle(e){this.bundles.push(e)}pushLight(e){this.lightsArray.push(e)}sort(e,t){this.opaque.length>1&&this.opaque.sort(e||p5),this.transparentDoublePass.length>1&&this.transparentDoublePass.sort(t||iI),this.transparent.length>1&&this.transparent.sort(t||iI)}finish(){this.lightsNode.setLights(this.lightsArray);for(let e=this.renderItemsIndex,t=this.renderItems.length;e>t,d=u.height>>t;let g=e.depthTexture||a[t];const v=e.depthBuffer===!0||e.stencilBuffer===!0;let M=!1;g===void 0&&v&&(g=new Al,g.format=e.stencilBuffer?w:Q,g.type=e.stencilBuffer?ar:st,g.image.width=c,g.image.height=d,g.image.depth=u.depth,g.renderTarget=e,g.isArrayTexture=e.multiview===!0&&u.depth>1,a[t]=g),(n.width!==u.width||u.height!==n.height)&&(M=!0,g&&(g.needsUpdate=!0,g.image.width=c,g.image.height=d,g.image.depth=g.isArrayTexture?g.image.depth:1)),n.width=u.width,n.height=u.height,n.textures=o,n.depthTexture=g||null,n.depth=e.depthBuffer,n.stencil=e.stencilBuffer,n.renderTarget=e,n.sampleCount!==i&&(M=!0,g&&(g.needsUpdate=!0),n.sampleCount=i);const B={sampleCount:i};if(e.isXRRenderTarget!==!0){for(let I=0;I{this._destroyRenderTarget(e)},e.addEventListener("dispose",n.onDispose))}updateTexture(e,t={}){const n=this.get(e);if(n.initialized===!0&&n.version===e.version)return;const i=e.isRenderTargetTexture||e.isDepthTexture||e.isFramebufferTexture,a=this.backend;if(i&&n.initialized===!0&&a.destroyTexture(e),e.isFramebufferTexture){const d=this.renderer.getRenderTarget();d?e.type=d.texture.type:e.type=es}const{width:o,height:u,depth:c}=this.getSize(e);if(t.width=o,t.height=u,t.depth=c,t.needsMipmaps=this.needsMipmaps(e),t.levels=t.needsMipmaps?this.getMipLevels(e,o,u):1,e.isCubeTexture&&e.mipmaps.length>0&&t.levels++,i||e.isStorageTexture===!0||e.isExternalTexture===!0)a.createTexture(e,t),n.generation=e.version;else if(e.version>0){const d=e.image;if(d===void 0)Lr("Renderer: Texture marked for update but image is undefined.");else if(d.complete===!1)Lr("Renderer: Texture marked for update but image is incomplete.");else{if(e.images){const v=[];for(const M of e.images)v.push(M);t.images=v}else t.image=d;(n.isDefaultTexture===void 0||n.isDefaultTexture===!0)&&(a.createTexture(e,t),n.isDefaultTexture=!1,n.generation=e.version),e.source.dataReady===!0&&a.updateTexture(e,t);const g=e.isStorageTexture===!0&&e.mipmapsAutoUpdate===!1;t.needsMipmaps&&e.mipmaps.length===0&&!g&&a.generateMipmaps(e),e.onUpdate&&e.onUpdate(e)}}else a.createDefaultTexture(e),n.isDefaultTexture=!0,n.generation=e.version;n.initialized!==!0&&(n.initialized=!0,n.generation=e.version,this.info.memory.textures++,e.isVideoTexture&&xr.enabled===!0&&xr.getTransfer(e.colorSpace)!==ws&&Lr("WebGPURenderer: Video textures must use a color space with a sRGB transfer function, e.g. SRGBColorSpace."),n.onDispose=()=>{this._destroyTexture(e)},e.addEventListener("dispose",n.onDispose)),n.version=e.version}updateSampler(e){return this.backend.updateSampler(e)}getSize(e,t=w5){let n=e.images?e.images[0]:e.image;return n?(n.image!==void 0&&(n=n.image),typeof HTMLVideoElement!="undefined"&&n instanceof HTMLVideoElement?(t.width=n.videoWidth||1,t.height=n.videoHeight||1,t.depth=1):typeof VideoFrame!="undefined"&&n instanceof VideoFrame?(t.width=n.displayWidth||1,t.height=n.displayHeight||1,t.depth=1):(t.width=n.width||1,t.height=n.height||1,t.depth=e.isCubeTexture?6:n.depth||1)):t.width=t.height=t.depth=1,t}getMipLevels(e,t,n){let i;return e.mipmaps.length>0?i=e.mipmaps.length:e.isCompressedTexture===!0?i=1:i=Math.floor(Math.log2(Math.max(t,n)))+1,i}needsMipmaps(e){return e.generateMipmaps===!0||e.mipmaps.length>0}_destroyRenderTarget(e){if(this.has(e)===!0){const t=this.get(e),n=t.textures,i=t.depthTexture;e.removeEventListener("dispose",t.onDispose);for(let a=0;anew oI(s,e);class E5 extends ta{static get type(){return"StackNode"}constructor(e=null){super(),this.nodes=[],this.outputNode=null,this.parent=e,this._currentCond=null,this._expressionNode=null,this._currentNode=null,this.isStackNode=!0}getElementType(e){return this.hasOutput?this.outputNode.getElementType(e):"void"}getNodeType(e){return this.hasOutput?this.outputNode.getNodeType(e):"void"}getMemberType(e,t){return this.hasOutput?this.outputNode.getMemberType(e,t):"void"}addToStack(e,t=this.nodes.length){return e.isNode!==!0?(Gr("TSL: Invalid node added to stack."),this):(this.nodes.splice(t,0,e),this)}addToStackBefore(e){const t=this._currentNode?this.nodes.indexOf(this._currentNode):0;return this.addToStack(e,t)}If(e,t){const n=new Av(t);return this._currentCond=ud(e,n),this.addToStack(this._currentCond)}ElseIf(e,t){const n=new Av(t),i=ud(e,n);return this._currentCond.elseNode=i,this._currentCond=i,this}Else(e){return this._currentCond.elseNode=new Av(e),this}Switch(e){return this._expressionNode=Ss(e),this}Case(...e){const t=[];if(e.length>=2)for(let u=0;u{if(this._currentNode=d,!(d.isVarNode&&d.isIntent(e)&&d.isAssign(e)!==!0)){if(i==="setup")d.build(e);else if(i==="analyze")d.build(e,this);else if(i==="generate"){const g=e.getDataFromNode(d,"any").stages,v=g&&g[e.shaderStage];if(d.isVarNode&&v&&v.length===1&&v[0]&&v[0].isStackNode)return;d.build(e,"void")}}},o=[...this.nodes];for(const d of o)a(d);this._currentNode=null;const u=this.nodes.filter(d=>o.indexOf(d)===-1);for(const d of u)a(d);let c;return this.hasOutput?c=this.outputNode.build(e,...t):c=super.build(e,...t),Iy(n),e.removeActiveStack(this),c}}const a_=to(E5).setParameterLength(0,1);function C5(s){return Object.entries(s).map(([e,t])=>typeof t=="string"?{name:e,type:t,atomic:!1}:{name:e,type:t.type,atomic:t.atomic||!1})}class T5 extends ta{static get type(){return"StructTypeNode"}constructor(e,t=null){super("struct"),this.membersLayout=C5(e),this.name=t,this.isStructLayoutNode=!0}getLength(){const e=Float32Array.BYTES_PER_ELEMENT;let t=1,n=0;for(const i of this.membersLayout){const a=i.type,o=jC(a),u=YC(a)/e;t=Math.max(t,u);const d=n%t%u;d!==0&&(n+=u-d),n+=o}return Math.ceil(n/t)*t}getMemberType(e,t){const n=this.membersLayout.find(i=>i.name===t);return n?n.type:"void"}getNodeType(e){return e.getStructTypeFromNode(this,this.membersLayout,this.name).name}setup(e){e.getStructTypeFromNode(this,this.membersLayout,this.name),e.addInclude(this)}generate(e){return this.getNodeType(e)}}class B5 extends ta{static get type(){return"StructNode"}constructor(e,t){super("vec3"),this.structTypeNode=e,this.values=t,this.isStructNode=!0}getNodeType(e){return this.structTypeNode.getNodeType(e)}getMemberType(e,t){return this.structTypeNode.getMemberType(e,t)}generate(e){const t=e.getVarFromNode(this),n=t.type,i=e.getPropertyName(t);return e.addLineFlowCode(`${i} = ${e.generateStruct(n,this.structTypeNode.membersLayout,this.values)}`,this),t.name}}const R5=(s,e=null)=>{const t=new T5(s,e),n=(...i)=>{let a=null;if(i.length>0)if(i[0].isNode){a={};const o=Object.keys(s);for(let u=0;unew qy(s,"int","float"),dI=s=>new qy(s,"uint","float"),P5=s=>new qy(s,"float","int"),L5=s=>new qy(s,"float","uint"),o_={};class mA extends Or{static get type(){return"BitcountNode"}constructor(e,t){super(e,t),this.isBitcountNode=!0}_resolveElementType(e,t,n){n==="int"?t.assign(hI(e,"uint")):t.assign(e)}_returnDataNode(e){switch(e){case"uint":return Fi;case"int":return Qn;case"uvec2":return b1;case"uvec3":return h0;case"uvec4":return M1;case"ivec2":return ch;case"ivec3":return _1;case"ivec4":return S1}}_createTrailingZerosBaseLayout(e,t){const n=this._returnDataNode(t);return or(([a])=>{const o=Fi(0);this._resolveElementType(a,o,t);const u=qt(o.bitAnd(k1(o))),d=dI(u).shiftRight(23).sub(127);return n(d)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createLeadingZerosBaseLayout(e,t){const n=this._returnDataNode(t);return or(([a])=>{ra(a.equal(Fi(0)),()=>Fi(32));const o=Fi(0),u=Fi(0);return this._resolveElementType(a,o,t),ra(o.shiftRight(16).equal(0),()=>{u.addAssign(16),o.shiftLeftAssign(16)}),ra(o.shiftRight(24).equal(0),()=>{u.addAssign(8),o.shiftLeftAssign(8)}),ra(o.shiftRight(28).equal(0),()=>{u.addAssign(4),o.shiftLeftAssign(4)}),ra(o.shiftRight(30).equal(0),()=>{u.addAssign(2),o.shiftLeftAssign(2)}),ra(o.shiftRight(31).equal(0),()=>{u.addAssign(1)}),n(u)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createOneBitsBaseLayout(e,t){const n=this._returnDataNode(t);return or(([a])=>{const o=Fi(0);this._resolveElementType(a,o,t),o.assign(o.sub(o.shiftRight(Fi(1)).bitAnd(Fi(1431655765)))),o.assign(o.bitAnd(Fi(858993459)).add(o.shiftRight(Fi(2)).bitAnd(Fi(858993459))));const u=o.add(o.shiftRight(Fi(4))).bitAnd(Fi(252645135)).mul(Fi(16843009)).shiftRight(Fi(24));return n(u)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createMainLayout(e,t,n,i){const a=this._returnDataNode(t);return or(([u])=>{if(n===1)return a(i(u));{const c=a(0),d=["x","y","z","w"];for(let g=0;gv(n))()}}mA.COUNT_TRAILING_ZEROS="countTrailingZeros",mA.COUNT_LEADING_ZEROS="countLeadingZeros",mA.COUNT_ONE_BITS="countOneBits";const U5=ji(mA,mA.COUNT_TRAILING_ZEROS).setParameterLength(1),O5=ji(mA,mA.COUNT_LEADING_ZEROS).setParameterLength(1),D5=ji(mA,mA.COUNT_ONE_BITS).setParameterLength(1),k5=or(([s])=>{const e=s.toUint().mul(747796405).add(2891336453),t=e.shiftRight(e.shiftRight(28).add(4)).bitXor(e).mul(277803737);return t.shiftRight(22).bitXor(t).toFloat().mul(1/Bp(2,32))}),rM=(s,e)=>KA(no(4,s.mul(el(1,s))),e),V5=(s,e)=>s.lessThan(.5)?rM(s.mul(2),e).div(2):el(1,rM(no(el(1,s),2),e).div(2)),z5=(s,e,t)=>KA(dA(KA(s,e),$c(KA(s,e),KA(el(1,s),t))),1/e),G5=(s,e)=>sf(Cb.mul(e.mul(s).sub(1))).div(Cb.mul(e.mul(s).sub(1)));class iM extends pc{static get type(){return"PackFloatNode"}constructor(e,t){super(),this.vectorNode=t,this.encoding=e,this.isPackFloatNode=!0}getNodeType(){return"uint"}generate(e){const t=this.vectorNode.getNodeType(e);return`${e.getFloatPackingMethod(this.encoding)}(${this.vectorNode.build(e,t)})`}}const H5=ji(iM,"snorm").setParameterLength(1),Q5=ji(iM,"unorm").setParameterLength(1),W5=ji(iM,"float16").setParameterLength(1);class sM extends pc{static get type(){return"UnpackFloatNode"}constructor(e,t){super(),this.uintNode=t,this.encoding=e,this.isUnpackFloatNode=!0}getNodeType(){return"vec2"}generate(e){const t=this.uintNode.getNodeType(e);return`${e.getFloatUnpackingMethod(this.encoding)}(${this.uintNode.build(e,t)})`}}const Z5=ji(sM,"snorm").setParameterLength(1),K5=ji(sM,"unorm").setParameterLength(1),$5=ji(sM,"float16").setParameterLength(1),nm=or(([s])=>s.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),X5=or(([s])=>Kn(nm(s.z.add(nm(s.y.mul(1)))),nm(s.z.add(nm(s.x.mul(1)))),nm(s.y.add(nm(s.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),j5=or(([s,e,t])=>{const n=Kn(s).toVar(),i=qt(1.4).toVar(),a=qt(0).toVar(),o=Kn(n).toVar();return kl({start:qt(0),end:qt(3),type:"float",condition:"<="},()=>{const u=Kn(X5(o.mul(2))).toVar();n.addAssign(u.add(t.mul(qt(.1).mul(e)))),o.mulAssign(1.8),i.mulAssign(1.5),n.mulAssign(1.2);const c=qt(nm(n.z.add(nm(n.x.add(nm(n.y)))))).toVar();a.addAssign(c.div(i)),o.addAssign(.14)}),a}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"position",type:"vec3"},{name:"speed",type:"float"},{name:"time",type:"float"}]});class Y5 extends ta{static get type(){return"FunctionOverloadingNode"}constructor(e=[],...t){super(),this.functionNodes=e,this.parametersNodes=t,this._candidateFn=null,this.global=!0}getNodeType(e){return this.getCandidateFn(e).shaderNode.layout.type}getCandidateFn(e){const t=this.parametersNodes;let n=this._candidateFn;if(n===null){let i=null,a=-1;for(const o of this.functionNodes){const c=o.shaderNode.layout;if(c===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const d=c.inputs;if(t.length===d.length){let g=0;for(let v=0;va&&(i=o,a=g)}}this._candidateFn=n=i}return n}setup(e){return this.getCandidateFn(e)(...this.parametersNodes)}}const q5=to(Y5),hd=s=>(...e)=>q5(s,...e),Iv=va(0).setGroup(xa).onRenderUpdate(s=>s.time),J5=va(0).setGroup(xa).onRenderUpdate(s=>s.deltaTime),fI=va(0,"uint").setGroup(xa).onRenderUpdate(s=>s.frameId),eG=(s=Iv)=>s.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5),tG=(s=Iv)=>s.fract().round(),nG=(s=Iv)=>s.add(.5).fract().mul(2).sub(1).abs(),rG=(s=Iv)=>s.fract();function iG(s,e=null){return Kg(e,{getUV:s})}const sG=or(([s,e,t=Gi(.5)])=>Xy(s.sub(t),e).add(t)),aG=or(([s,e,t=Gi(.5)])=>{const n=s.sub(t),i=n.dot(n),o=i.mul(i).mul(e);return s.add(n.mul(o))}),oG=or(({position:s=null,horizontal:e=!0,vertical:t=!1})=>{let n;s!==null?(n=XA.toVar(),n[3][0]=s.x,n[3][1]=s.y,n[3][2]=s.z):n=XA;const i=AA.mul(n);return By(e)&&(i[0][0]=XA[0].length(),i[0][1]=0,i[0][2]=0),By(t)&&(i[1][0]=0,i[1][1]=XA[1].length(),i[1][2]=0),i[2][0]=0,i[2][1]=0,i[2][2]=1,of.mul(i).mul(vc)}),lG=or(([s=null])=>{const e=Cv();return Cv(RS(s)).sub(e).lessThan(0).select(Yg,s)});class uG extends ta{static get type(){return"SpriteSheetUVNode"}constructor(e,t=Zl(),n=qt(0)){super("vec2"),this.countNode=e,this.uvNode=t,this.frameNode=n}setup(){const{frameNode:e,uvNode:t,countNode:n}=this,{width:i,height:a}=n,o=e.mod(i.mul(a)).floor(),u=o.mod(i),c=a.sub(o.add(1).div(i).ceil()),d=n.reciprocal(),g=Gi(u,c);return t.add(g).mul(d)}}const cG=to(uG).setParameterLength(3),AI=or(([s,e=null,t=null,n=qt(1),i=vc,a=Of])=>{let o=a.abs().normalize();o=o.div(o.dot(Kn(1)));const u=i.yz.mul(n),c=i.zx.mul(n),d=i.xy.mul(n),g=s.value,v=e!==null?e.value:g,M=t!==null?t.value:g,B=xl(g,u).mul(o.x),I=xl(v,c).mul(o.y),ne=xl(M,d).mul(o.z);return $c(B,I,ne)}),hG=(...s)=>AI(...s),Nv=new Ec,w0=new le,Fv=new le,aM=new le,Jy=new di,l_=new le(0,0,-1),fg=new Ni,ex=new le,u_=new le,tx=new Ni,c_=new ce,h_=new Ns,dG=Yg.flipX();h_.depthTexture=new Al(1,1);let d_=!1;class oM extends ug{static get type(){return"ReflectorNode"}constructor(e={}){super(e.defaultTexture||h_.texture,dG),this._reflectorBaseNode=e.reflector||new fG(this,e),this._depthNode=null,this.setUpdateMatrix(!1)}get reflector(){return this._reflectorBaseNode}get target(){return this._reflectorBaseNode.target}getDepthNode(){if(this._depthNode===null){if(this._reflectorBaseNode.depth!==!0)throw new Error("THREE.ReflectorNode: Depth node can only be requested when the reflector is created with { depth: true }. ");this._depthNode=Ss(new oM({defaultTexture:h_.depthTexture,reflector:this._reflectorBaseNode}))}return this._depthNode}setup(e){return e.object.isQuadMesh||this._reflectorBaseNode.build(e),super.setup(e)}clone(){const e=new this.constructor(this.reflectorNode);return e.uvNode=this.uvNode,e.levelNode=this.levelNode,e.biasNode=this.biasNode,e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e._reflectorBaseNode=this._reflectorBaseNode,e}dispose(){super.dispose(),this._reflectorBaseNode.dispose()}}class fG extends ta{static get type(){return"ReflectorBaseNode"}constructor(e,t={}){super();const{target:n=new yl,resolutionScale:i=1,generateMipmaps:a=!1,bounces:o=!0,depth:u=!1,samples:c=0}=t;this.textureNode=e,this.target=n,this.resolutionScale=i,t.resolution!==void 0&&(ki('ReflectorNode: The "resolution" parameter has been renamed to "resolutionScale".'),this.resolutionScale=t.resolution),this.generateMipmaps=a,this.bounces=o,this.depth=u,this.samples=c,this.updateBeforeType=o?Ao.RENDER:Ao.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new Map,this.forceUpdate=!1,this.hasOutput=!1}_updateResolution(e,t){const n=this.resolutionScale;t.getDrawingBufferSize(c_),e.setSize(Math.round(c_.width*n),Math.round(c_.height*n))}setup(e){return this._updateResolution(h_,e.renderer),super.setup(e)}dispose(){super.dispose();for(const e of this.renderTargets.values())e.dispose()}getVirtualCamera(e){let t=this.virtualCameras.get(e);return t===void 0&&(t=e.clone(),this.virtualCameras.set(e,t)),t}getRenderTarget(e){let t=this.renderTargets.get(e);return t===void 0&&(t=new Ns(0,0,{type:Wt,samples:this.samples}),this.generateMipmaps===!0&&(t.texture.minFilter=qr,t.texture.generateMipmaps=!0),this.depth===!0&&(t.depthTexture=new Al),this.renderTargets.set(e,t)),t}updateBefore(e){if(this.bounces===!1&&d_)return!1;d_=!0;const{scene:t,camera:n,renderer:i,material:a}=e,{target:o}=this,u=this.getVirtualCamera(n),c=this.getRenderTarget(u);i.getDrawingBufferSize(c_),this._updateResolution(c,i),Fv.setFromMatrixPosition(o.matrixWorld),aM.setFromMatrixPosition(n.matrixWorld),Jy.extractRotation(o.matrixWorld),w0.set(0,0,1),w0.applyMatrix4(Jy),ex.subVectors(Fv,aM);const d=ex.dot(w0)>0;let g=!1;if(d===!0&&this.forceUpdate===!1){if(this.hasOutput===!1){d_=!1;return}g=!0}ex.reflect(w0).negate(),ex.add(Fv),Jy.extractRotation(n.matrixWorld),l_.set(0,0,-1),l_.applyMatrix4(Jy),l_.add(aM),u_.subVectors(Fv,l_),u_.reflect(w0).negate(),u_.add(Fv),u.coordinateSystem=n.coordinateSystem,u.position.copy(ex),u.up.set(0,1,0),u.up.applyMatrix4(Jy),u.up.reflect(w0),u.lookAt(u_),u.near=n.near,u.far=n.far,u.updateMatrixWorld(),u.projectionMatrix.copy(n.projectionMatrix),Nv.setFromNormalAndCoplanarPoint(w0,Fv),Nv.applyMatrix4(u.matrixWorldInverse),fg.set(Nv.normal.x,Nv.normal.y,Nv.normal.z,Nv.constant);const v=u.projectionMatrix;tx.x=(Math.sign(fg.x)+v.elements[8])/v.elements[0],tx.y=(Math.sign(fg.y)+v.elements[9])/v.elements[5],tx.z=-1,tx.w=(1+v.elements[10])/v.elements[14],fg.multiplyScalar(1/fg.dot(tx));const M=0;v.elements[2]=fg.x,v.elements[6]=fg.y,v.elements[10]=i.coordinateSystem===To?fg.z-M:fg.z+1-M,v.elements[14]=fg.w,this.textureNode.value=c.texture,this.depth===!0&&(this.textureNode.getDepthNode().value=c.depthTexture),a.visible=!1;const B=i.getRenderTarget(),I=i.getMRT(),ne=i.autoClear;i.setMRT(null),i.setRenderTarget(c),i.autoClear=!0;const ee=t.name;t.name=(t.name||"Scene")+" [ Reflector ]",g?(i.clear(),this.hasOutput=!1):(i.render(t,u),this.hasOutput=!0),t.name=ee,i.setMRT(I),i.setRenderTarget(B),i.autoClear=ne,a.visible=!0,d_=!1,this.forceUpdate=!1}get resolution(){return ki('ReflectorNode: The "resolution" property has been renamed to "resolutionScale".'),this.resolutionScale}set resolution(e){ki('ReflectorNode: The "resolution" property has been renamed to "resolutionScale".'),this.resolutionScale=e}}const AG=s=>new oM(s),lM=new Pg(-1,1,1,-1,0,1);class pG extends ka{constructor(e=!1){super();const t=e===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new Ui([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new Ui(t,2))}}const gG=new pG;class nx extends Il{constructor(e=null){super(gG,e),this.camera=lM,this.isQuadMesh=!0}renderAsync(e){return Pa(this,null,function*(){ki('QuadMesh: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield e.init(),e.render(this,lM)})}render(e){e.render(this,lM)}}const mG=new ce;class vG extends ug{static get type(){return"RTTNode"}constructor(e,t=null,n=null,i={type:Wt}){const a=new Ns(t,n,i);super(a.texture,Zl()),this.isRTTNode=!0,this.node=e,this.width=t,this.height=n,this.pixelRatio=1,this.renderTarget=a,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this._rttNode=null,this._quadMesh=new nx(new yc),this.updateBeforeType=Ao.RENDER}get autoResize(){return this.width===null}setup(e){return this._rttNode=this.node.context(e.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(e)}setSize(e,t){this.width=e,this.height=t;const n=e*this.pixelRatio,i=t*this.pixelRatio;this.renderTarget.setSize(n,i),this.textureNeedsUpdate=!0}setPixelRatio(e){this.pixelRatio=e,this.setSize(this.width,this.height)}updateBefore({renderer:e}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoResize===!0){const i=e.getPixelRatio(),a=e.getSize(mG),o=Math.floor(a.width*i),u=Math.floor(a.height*i);(o!==this.renderTarget.width||u!==this.renderTarget.height)&&(this.renderTarget.setSize(o,u),this.textureNeedsUpdate=!0)}let t="RTT";this.node.name&&(t=this.node.name+" [ "+t+" ]"),this._quadMesh.material.fragmentNode=this._rttNode,this._quadMesh.name=t;const n=e.getRenderTarget();e.setRenderTarget(this.renderTarget),this._quadMesh.render(e),e.setRenderTarget(n)}clone(){const e=new ug(this.value,this.uvNode,this.levelNode);return e.sampler=this.sampler,e.referenceNode=this,e}}const pI=(s,...e)=>Ss(new vG(Ss(s),...e)),yG=(s,...e)=>s.isSampleNode||s.isTextureNode?s:s.isPassNode?s.getTextureNode():pI(s,...e),Pv=or(([s,e,t],n)=>{let i;n.renderer.coordinateSystem===To?(s=Gi(s.x,s.y.oneMinus()).mul(2).sub(1),i=Ks(Kn(s,e),1)):i=Ks(Kn(s.x,s.y.oneMinus(),e).mul(2).sub(1),1);const a=Ks(t.mul(i));return a.xyz.div(a.w)}),xG=or(([s,e])=>{const t=e.mul(Ks(s,1)),n=t.xy.div(t.w).mul(.5).add(.5).toVar();return Gi(n.x,n.y.oneMinus())}),bG=or(([s,e,t])=>{const n=Xg(Rc(e)),i=ch(s.mul(n)).toVar(),a=Rc(e,i).toVar(),o=Rc(e,i.sub(ch(2,0))).toVar(),u=Rc(e,i.sub(ch(1,0))).toVar(),c=Rc(e,i.add(ch(1,0))).toVar(),d=Rc(e,i.add(ch(2,0))).toVar(),g=Rc(e,i.add(ch(0,2))).toVar(),v=Rc(e,i.add(ch(0,1))).toVar(),M=Rc(e,i.sub(ch(0,1))).toVar(),B=Rc(e,i.sub(ch(0,2))).toVar(),I=Su(el(qt(2).mul(u).sub(o),a)).toVar(),ne=Su(el(qt(2).mul(c).sub(d),a)).toVar(),ee=Su(el(qt(2).mul(v).sub(g),a)).toVar(),q=Su(el(qt(2).mul(M).sub(B),a)).toVar(),ye=Pv(s,a,t).toVar(),Ce=I.lessThan(ne).select(ye.sub(Pv(s.sub(Gi(qt(1).div(n.x),0)),u,t)),ye.negate().add(Pv(s.add(Gi(qt(1).div(n.x),0)),c,t))),ke=ee.lessThan(q).select(ye.sub(Pv(s.add(Gi(0,qt(1).div(n.y))),v,t)),ye.negate().add(Pv(s.sub(Gi(0,qt(1).div(n.y))),M,t)));return rf(Zg(Ce,ke))}),uM=or(([s])=>_p(qt(52.9829189).mul(_p(ZA(s,Gi(.06711056,.00583715)))))).setLayout({name:"interleavedGradientNoise",type:"float",inputs:[{name:"position",type:"vec2"}]}),Ep=or(([s,e,t])=>{const n=qt(2.399963229728653),i=Nd(qt(s).add(.5).div(qt(e))),a=qt(s).mul(n).add(t);return Gi(wp(a),sf(a)).mul(i)}).setLayout({name:"vogelDiskSample",type:"vec2",inputs:[{name:"sampleIndex",type:"int"},{name:"samplesCount",type:"int"},{name:"phi",type:"float"}]});class _G extends ta{static get type(){return"SampleNode"}constructor(e,t=null){super(),this.callback=e,this.uvNode=t,this.isSampleNode=!0}setup(){return this.sample(Zl())}sample(e){return this.callback(e)}}const wG=(s,e=null)=>new _G(s,Ss(e));class kf extends ta{static get type(){return"EventNode"}constructor(e,t){super("void"),this.eventType=e,this.callback=t,e===kf.OBJECT?this.updateType=Ao.OBJECT:e===kf.MATERIAL?this.updateType=Ao.RENDER:e===kf.BEFORE_OBJECT?this.updateBeforeType=Ao.OBJECT:e===kf.BEFORE_MATERIAL&&(this.updateBeforeType=Ao.RENDER)}update(e){this.callback(e)}updateBefore(e){this.callback(e)}}kf.OBJECT="object",kf.MATERIAL="material",kf.BEFORE_OBJECT="beforeObject",kf.BEFORE_MATERIAL="beforeMaterial";const f_=(s,e)=>new kf(s,e).toStack(),SG=s=>f_(kf.OBJECT,s),MG=s=>f_(kf.MATERIAL,s),EG=s=>f_(kf.BEFORE_OBJECT,s),CG=s=>f_(kf.BEFORE_MATERIAL,s);class TG extends Mh{constructor(e,t,n=Float32Array){const i=ArrayBuffer.isView(e)?e:new n(e*t);super(i,t),this.isStorageInstancedBufferAttribute=!0}}class BG extends wl{constructor(e,t,n=Float32Array){const i=ArrayBuffer.isView(e)?e:new n(e*t);super(i,t),this.isStorageBufferAttribute=!0}}const RG=(s,e="float")=>{let t,n;e.isStruct===!0?(t=e.layout.getLength(),n=Ey("float")):(t=l1(e),n=Ey(e));const i=new BG(s,t,n);return tm(i,e,s)},IG=(s,e="float")=>{let t,n;e.isStruct===!0?(t=e.layout.getLength(),n=Ey("float")):(t=l1(e),n=Ey(e));const i=new TG(s,t,n);return tm(i,e,s)};class NG extends ta{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const FG=xs(NG),rx=new Ua,cM=new di;class Vf extends ta{static get type(){return"SceneNode"}constructor(e=Vf.BACKGROUND_BLURRINESS,t=null){super(),this.scope=e,this.scene=t}setup(e){const t=this.scope,n=this.scene!==null?this.scene:e.scene;let i;return t===Vf.BACKGROUND_BLURRINESS?i=su("backgroundBlurriness","float",n):t===Vf.BACKGROUND_INTENSITY?i=su("backgroundIntensity","float",n):t===Vf.BACKGROUND_ROTATION?i=va("mat4").setName("backgroundRotation").setGroup(xa).onRenderUpdate(()=>{const a=n.background;return a!==null&&a.isTexture&&a.mapping!==be?(rx.copy(n.backgroundRotation),rx.x*=-1,rx.y*=-1,rx.z*=-1,cM.makeRotationFromEuler(rx)):cM.identity(),cM}):Gr("SceneNode: Unknown scope:",t),i}}Vf.BACKGROUND_BLURRINESS="backgroundBlurriness",Vf.BACKGROUND_INTENSITY="backgroundIntensity",Vf.BACKGROUND_ROTATION="backgroundRotation";const gI=xs(Vf,Vf.BACKGROUND_BLURRINESS),hM=xs(Vf,Vf.BACKGROUND_INTENSITY),mI=xs(Vf,Vf.BACKGROUND_ROTATION);class PG extends ug{static get type(){return"StorageTextureNode"}constructor(e,t,n=null){super(e,t),this.storeNode=n,this.mipLevel=0,this.isStorageTextureNode=!0,this.access=od.WRITE_ONLY}getInputType(){return"storageTexture"}setup(e){super.setup(e);const t=e.getNodeProperties(this);return t.storeNode=this.storeNode,t}setAccess(e){return this.access=e,this}setMipLevel(e){return this.mipLevel=e,this}generate(e,t){let n;return this.storeNode!==null?n=this.generateStore(e):n=super.generate(e,t),n}toReadWrite(){return this.setAccess(od.READ_WRITE)}toReadOnly(){return this.setAccess(od.READ_ONLY)}toWriteOnly(){return this.setAccess(od.WRITE_ONLY)}generateStore(e){const t=e.getNodeProperties(this),{uvNode:n,storeNode:i,depthNode:a}=t,o=super.generate(e,"property"),u=n.build(e,this.value.is3DTexture===!0?"uvec3":"uvec2"),c=i.build(e,"vec4"),d=a?a.build(e,"int"):null,g=e.generateTextureStore(e,o,u,d,c);e.addLineFlowCode(g,this)}clone(){const e=super.clone();return e.storeNode=this.storeNode,e.mipLevel=this.mipLevel,e}}const vI=to(PG).setParameterLength(1,3),LG=(s,e,t)=>{const n=vI(s,e,t);return t!==null&&n.toStack(),n},UG=or(({texture:s,uv:e})=>{const n=Kn().toVar();return ra(e.x.lessThan(1e-4),()=>{n.assign(Kn(1,0,0))}).ElseIf(e.y.lessThan(1e-4),()=>{n.assign(Kn(0,1,0))}).ElseIf(e.z.lessThan(1e-4),()=>{n.assign(Kn(0,0,1))}).ElseIf(e.x.greaterThan(1-1e-4),()=>{n.assign(Kn(-1,0,0))}).ElseIf(e.y.greaterThan(1-1e-4),()=>{n.assign(Kn(0,-1,0))}).ElseIf(e.z.greaterThan(1-1e-4),()=>{n.assign(Kn(0,0,-1))}).Else(()=>{const a=s.sample(e.add(Kn(-.01,0,0))).r.sub(s.sample(e.add(Kn(.01,0,0))).r),o=s.sample(e.add(Kn(0,-.01,0))).r.sub(s.sample(e.add(Kn(0,.01,0))).r),u=s.sample(e.add(Kn(0,0,-.01))).r.sub(s.sample(e.add(Kn(0,0,.01))).r);n.assign(Kn(a,o,u))}),n.normalize()});class OG extends ug{static get type(){return"Texture3DNode"}constructor(e,t=null,n=null){super(e,t,n),this.isTexture3DNode=!0}getInputType(){return"texture3D"}getDefaultUV(){return Kn(.5,.5,.5)}setUpdateMatrix(){}setupUV(e,t){const n=this.value;return e.isFlipY()&&(n.isRenderTargetTexture===!0||n.isFramebufferTexture===!0)&&(this.sampler?t=t.flipY():t=t.setY(Qn(Xg(this,this.levelNode).y).sub(t.y).sub(1))),t}generateUV(e,t){return t.build(e,this.sampler===!0?"vec3":"ivec3")}generateOffset(e,t){return t.build(e,"ivec3")}normal(e){return UG({texture:this,uv:e})}}const A_=to(OG).setParameterLength(1,3),DG=(...s)=>A_(...s).setSampler(!1),kG=(s,e,t)=>A_(s,e).level(t);class VG extends zb{static get type(){return"UserDataNode"}constructor(e,t,n=null){super(e,t,n),this.userData=n}updateReference(e){return this.reference=this.userData!==null?this.userData:e.object.userData,this.reference}}const zG=(s,e,t)=>new VG(s,e,t),yI=new WeakMap;class GG extends pc{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.projectionMatrix=null,this.updateType=Ao.OBJECT,this.updateAfterType=Ao.OBJECT,this.previousModelWorldMatrix=va(new di),this.previousProjectionMatrix=va(new di).setGroup(xa),this.previousCameraViewMatrix=va(new di)}setProjectionMatrix(e){this.projectionMatrix=e}update({frameId:e,camera:t,object:n}){const i=bI(n);this.previousModelWorldMatrix.value.copy(i);const a=xI(t);a.frameId!==e&&(a.frameId=e,a.previousProjectionMatrix===void 0?(a.previousProjectionMatrix=new di,a.previousCameraViewMatrix=new di,a.currentProjectionMatrix=new di,a.currentCameraViewMatrix=new di,a.previousProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),a.previousCameraViewMatrix.copy(t.matrixWorldInverse)):(a.previousProjectionMatrix.copy(a.currentProjectionMatrix),a.previousCameraViewMatrix.copy(a.currentCameraViewMatrix)),a.currentProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),a.currentCameraViewMatrix.copy(t.matrixWorldInverse),this.previousProjectionMatrix.value.copy(a.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(a.previousCameraViewMatrix))}updateAfter({object:e}){bI(e).copy(e.matrixWorld)}setup(){const e=this.projectionMatrix===null?of:va(this.projectionMatrix),t=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),n=e.mul(cg).mul(vc),i=this.previousProjectionMatrix.mul(t).mul(Db),a=n.xy.div(n.w),o=i.xy.div(i.w);return el(a,o)}}function xI(s){let e=yI.get(s);return e===void 0&&(e={},yI.set(s,e)),e}function bI(s,e=0){const t=xI(s);let n=t[e];return n===void 0&&(t[e]=n=new di,t[e].copy(s.matrixWorld)),n}const HG=xs(GG),QG=or(([s])=>dM(s.rgb)),WG=or(([s,e=qt(1)])=>e.mix(dM(s.rgb),s.rgb)),ZG=or(([s,e=qt(1)])=>{const t=$c(s.r,s.g,s.b).div(3),n=s.r.max(s.g.max(s.b)),i=n.sub(t).mul(e).mul(-3);return zo(s.rgb,n,i)}),KG=or(([s,e=qt(1)])=>{const t=Kn(.57735,.57735,.57735),n=e.cos();return Kn(s.rgb.mul(n).add(t.cross(s.rgb).mul(e.sin()).add(t.mul(ZA(t,s.rgb).mul(n.oneMinus())))))}),dM=(s,e=Kn(xr.getLuminanceCoefficients(new le)))=>ZA(s,e),$G=or(([s,e=Kn(1),t=Kn(0),n=Kn(1),i=qt(1),a=Kn(xr.getLuminanceCoefficients(new le,No))])=>{const o=s.rgb.dot(Kn(a)),u=mc(s.rgb.mul(e).add(t),0).toVar(),c=u.pow(n).toVar();return ra(u.r.greaterThan(0),()=>{u.r.assign(c.r)}),ra(u.g.greaterThan(0),()=>{u.g.assign(c.g)}),ra(u.b.greaterThan(0),()=>{u.b.assign(c.b)}),u.assign(o.add(u.sub(o).mul(i))),Ks(u.rgb,s.a)});class XG extends pc{static get type(){return"PosterizeNode"}constructor(e,t){super(),this.sourceNode=e,this.stepsNode=t}setup(){const{sourceNode:e,stepsNode:t}=this;return e.mul(t).floor().div(t)}}const jG=to(XG).setParameterLength(2),p_=new ce;class _I extends ug{static get type(){return"PassTextureNode"}constructor(e,t){super(t),this.passNode=e,this.setUpdateMatrix(!1)}setup(e){return this.passNode.build(e),super.setup(e)}clone(){return new this.constructor(this.passNode,this.value)}}class wI extends _I{static get type(){return"PassMultipleTextureNode"}constructor(e,t,n=!1){super(e,null),this.textureName=t,this.previousTexture=n}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(e){return this.updateTexture(),super.setup(e)}clone(){const e=new this.constructor(this.passNode,this.textureName,this.previousTexture);return e.uvNode=this.uvNode,e.levelNode=this.levelNode,e.biasNode=this.biasNode,e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e}}class Ag extends pc{static get type(){return"PassNode"}constructor(e,t,n,i={}){super("vec4"),this.scope=e,this.scene=t,this.camera=n,this.options=i,this._pixelRatio=1,this._width=1,this._height=1;const a=new Al;a.isRenderTargetTexture=!0,a.name="depth";const o=new Ns(this._width*this._pixelRatio,this._height*this._pixelRatio,rl({type:Wt},i));o.texture.name="output",o.depthTexture=a,this.renderTarget=o,this.overrideMaterial=null,this.transparent=!0,this.opaque=!0,this.contextNode=null,this._contextNodeCache=null,this._textures={output:o.texture,depth:a},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=va(0),this._cameraFar=va(0),this._mrt=null,this._layers=null,this._resolutionScale=1,this._viewport=null,this._scissor=null,this.isPassNode=!0,this.updateBeforeType=Ao.FRAME,this.global=!0}setResolutionScale(e){return this._resolutionScale=e,this}getResolutionScale(){return this._resolutionScale}setResolution(e){return Lr("PassNode: .setResolution() is deprecated. Use .setResolutionScale() instead."),this.setResolutionScale(e)}getResolution(){return Lr("PassNode: .getResolution() is deprecated. Use .getResolutionScale() instead."),this.getResolutionScale()}setLayers(e){return this._layers=e,this}getLayers(){return this._layers}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getTexture(e){let t=this._textures[e];return t===void 0&&(t=this.renderTarget.texture.clone(),t.name=e,this._textures[e]=t,this.renderTarget.textures.push(t)),t}getPreviousTexture(e){let t=this._previousTextures[e];return t===void 0&&(t=this.getTexture(e).clone(),this._previousTextures[e]=t),t}toggleTexture(e){const t=this._previousTextures[e];if(t!==void 0){const n=this._textures[e],i=this.renderTarget.textures.indexOf(n);this.renderTarget.textures[i]=t,this._textures[e]=t,this._previousTextures[e]=n,this._textureNodes[e].updateTexture(),this._previousTextureNodes[e].updateTexture()}}getTextureNode(e="output"){let t=this._textureNodes[e];return t===void 0&&(t=new wI(this,e),t.updateTexture(),this._textureNodes[e]=t),t}getPreviousTextureNode(e="output"){let t=this._previousTextureNodes[e];return t===void 0&&(this._textureNodes[e]===void 0&&this.getTextureNode(e),t=new wI(this,e,!0),t.updateTexture(),this._previousTextureNodes[e]=t),t}getViewZNode(e="depth"){let t=this._viewZNodes[e];if(t===void 0){const n=this._cameraNear,i=this._cameraFar;this._viewZNodes[e]=t=NS(this.getTextureNode(e),n,i)}return t}getLinearDepthNode(e="depth"){let t=this._linearDepthNodes[e];if(t===void 0){const n=this._cameraNear,i=this._cameraFar,a=this.getViewZNode(e);this._linearDepthNodes[e]=t=Ev(a,n,i)}return t}compileAsync(e){return Pa(this,null,function*(){const t=e.getRenderTarget(),n=e.getMRT();e.setRenderTarget(this.renderTarget),e.setMRT(this._mrt),yield e.compileAsync(this.scene,this.camera),e.setRenderTarget(t),e.setMRT(n)})}setup({renderer:e}){return this.renderTarget.samples=this.options.samples===void 0?e.samples:this.options.samples,this.renderTarget.texture.type=e.getOutputBufferType(),this.scope===Ag.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(e){const{renderer:t}=e,{scene:n}=this;let i,a;const o=t.getOutputRenderTarget();o&&o.isXRRenderTarget===!0?(a=1,i=t.xr.getCamera(),t.xr.updateCamera(i),p_.set(o.width,o.height)):(i=this.camera,a=t.getPixelRatio(),t.getSize(p_)),this._pixelRatio=a,this.setSize(p_.width,p_.height);const u=t.getRenderTarget(),c=t.getMRT(),d=t.autoClear,g=t.transparent,v=t.opaque,M=i.layers.mask,B=t.contextNode,I=n.overrideMaterial;this._cameraNear.value=i.near,this._cameraFar.value=i.far,this._layers!==null&&(i.layers.mask=this._layers.mask);for(const ee in this._previousTextures)this.toggleTexture(ee);this.overrideMaterial!==null&&(n.overrideMaterial=this.overrideMaterial),t.setRenderTarget(this.renderTarget),t.setMRT(this._mrt),t.autoClear=!0,t.transparent=this.transparent,t.opaque=this.opaque,this.contextNode!==null&&((this._contextNodeCache===null||this._contextNodeCache.version!==this.version)&&(this._contextNodeCache={version:this.version,context:Kg(rl(rl({},t.contextNode.getFlowContextData()),this.contextNode.getFlowContextData()))}),t.contextNode=this._contextNodeCache.context);const ne=n.name;n.name=this.name?this.name:n.name,t.render(n,i),n.name=ne,n.overrideMaterial=I,t.setRenderTarget(u),t.setMRT(c),t.autoClear=d,t.transparent=g,t.opaque=v,t.contextNode=B,i.layers.mask=M}setSize(e,t){this._width=e,this._height=t;const n=Math.floor(this._width*this._pixelRatio*this._resolutionScale),i=Math.floor(this._height*this._pixelRatio*this._resolutionScale);this.renderTarget.setSize(n,i),this._scissor!==null&&this.renderTarget.scissor.copy(this._scissor),this._viewport!==null&&this.renderTarget.viewport.copy(this._viewport)}setScissor(e,t,n,i){e===null?this._scissor=null:(this._scissor===null&&(this._scissor=new Ni),e.isVector4?this._scissor.copy(e):this._scissor.set(e,t,n,i),this._scissor.multiplyScalar(this._pixelRatio*this._resolutionScale).floor())}setViewport(e,t,n,i){e===null?this._viewport=null:(this._viewport===null&&(this._viewport=new Ni),e.isVector4?this._viewport.copy(e):this._viewport.set(e,t,n,i),this._viewport.multiplyScalar(this._pixelRatio*this._resolutionScale).floor())}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}Ag.COLOR="color",Ag.DEPTH="depth";const YG=(s,e,t)=>new Ag(Ag.COLOR,s,e,t),qG=(s,e)=>new _I(s,e),JG=(s,e,t)=>new Ag(Ag.DEPTH,s,e,t);class eH extends Ag{static get type(){return"ToonOutlinePassNode"}constructor(e,t,n,i,a){super(Ag.COLOR,e,t),this.colorNode=n,this.thicknessNode=i,this.alphaNode=a,this._materialCache=new WeakMap,this.name="Outline Pass"}updateBefore(e){const{renderer:t}=e,n=t.getRenderObjectFunction();t.setRenderObjectFunction((i,a,o,u,c,d,g,v)=>{if((c.isMeshToonMaterial||c.isMeshToonNodeMaterial)&&c.wireframe===!1){const M=this._getOutlineMaterial(c);t.renderObject(i,a,o,u,M,d,g,v)}t.renderObject(i,a,o,u,c,d,g,v)}),super.updateBefore(e),t.setRenderObjectFunction(n)}_createMaterial(){const e=new yc;e.isMeshToonOutlineMaterial=!0,e.name="Toon_Outline",e.side=de;const t=Of.negate(),n=of.mul(cg),i=qt(1),a=n.mul(Ks(vc,1)),o=n.mul(Ks(vc.add(t),1)),u=rf(a.sub(o));return e.vertexNode=a.add(u.mul(this.thicknessNode).mul(a.w).mul(i)),e.colorNode=Ks(this.colorNode,this.alphaNode),e}_getOutlineMaterial(e){let t=this._materialCache.get(e);return t===void 0&&(t=this._createMaterial(),this._materialCache.set(e,t)),t}}const tH=(s,e,t=new Wr(0,0,0),n=.003,i=1)=>Ss(new eH(s,e,Ss(t),Ss(n),Ss(i))),SI=or(([s,e])=>s.mul(e).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),MI=or(([s,e])=>(s=s.mul(e),s.div(s.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),EI=or(([s,e])=>{s=s.mul(e),s=s.sub(.004).max(0);const t=s.mul(s.mul(6.2).add(.5)),n=s.mul(s.mul(6.2).add(1.7)).add(.06);return t.div(n).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),nH=or(([s])=>{const e=s.mul(s.add(.0245786)).sub(90537e-9),t=s.mul(s.add(.432951).mul(.983729)).add(.238081);return e.div(t)}),CI=or(([s,e])=>{const t=ld(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),n=ld(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return s=s.mul(e).div(.6),s=t.mul(s),s=nH(s),s=n.mul(s),s.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),rH=ld(Kn(1.6605,-.1246,-.0182),Kn(-.5876,1.1329,-.1006),Kn(-.0728,-.0083,1.1187)),iH=ld(Kn(.6274,.0691,.0164),Kn(.3293,.9195,.088),Kn(.0433,.0113,.8956)),sH=or(([s])=>{const e=Kn(s).toVar(),t=Kn(e.mul(e)).toVar(),n=Kn(t.mul(t)).toVar();return qt(15.5).mul(n.mul(t)).sub(no(40.14,n.mul(e))).add(no(31.96,n).sub(no(6.868,t.mul(e))).add(no(.4298,t).add(no(.1191,e).sub(.00232))))}),TI=or(([s,e])=>{const t=Kn(s).toVar(),n=ld(Kn(.856627153315983,.137318972929847,.11189821299995),Kn(.0951212405381588,.761241990602591,.0767994186031903),Kn(.0482516061458583,.101439036467562,.811302368396859)),i=ld(Kn(1.1271005818144368,-.1413297634984383,-.14132976349843826),Kn(-.11060664309660323,1.157823702216272,-.11060664309660294),Kn(-.016493938717834573,-.016493938717834257,1.2519364065950405)),a=qt(-12.47393),o=qt(4.026069);return t.mulAssign(e),t.assign(iH.mul(t)),t.assign(n.mul(t)),t.assign(mc(t,1e-10)),t.assign(sg(t)),t.assign(t.sub(a).div(o.sub(a))),t.assign(Sp(t,0,1)),t.assign(sH(t)),t.assign(i.mul(t)),t.assign(KA(mc(Kn(0),t),Kn(2.2))),t.assign(rH.mul(t)),t.assign(Sp(t,0,1)),t}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),BI=or(([s,e])=>{const t=qt(.76),n=qt(.15);s=s.mul(e);const i=Uf(s.r,Uf(s.g,s.b)),a=ud(i.lessThan(.08),i.sub(no(6.25,i.mul(i))),.04);s.subAssign(a);const o=mc(s.r,mc(s.g,s.b));ra(o.lessThan(t),()=>s);const u=el(1,t),c=el(1,u.mul(u).div(o.add(u.sub(t))));s.mulAssign(c.div(o));const d=el(1,dA(1,n.mul(o.sub(c)).add(1)));return zo(s,Kn(c),d)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class Wh extends ta{static get type(){return"CodeNode"}constructor(e="",t=[],n=""){super("code"),this.isCodeNode=!0,this.global=!0,this.code=e,this.includes=t,this.language=n}setIncludes(e){return this.includes=e,this}getIncludes(){return this.includes}generate(e){const t=this.getIncludes(e);for(const i of t)i.build(e);const n=e.getCodeFromNode(this,this.getNodeType(e));return n.code=this.code,n.code}serialize(e){super.serialize(e),e.code=this.code,e.language=this.language}deserialize(e){super.deserialize(e),this.code=e.code,this.language=e.language}}const g_=to(Wh).setParameterLength(1,3),aH=(s,e)=>g_(s,e,"js"),oH=(s,e)=>g_(s,e,"wgsl"),lH=(s,e)=>g_(s,e,"glsl");class RI extends Wh{static get type(){return"FunctionNode"}constructor(e="",t=[],n=""){super(e,t,n)}getNodeType(e){return this.getNodeFunction(e).type}getMemberType(e,t){const n=this.getNodeType(e);return e.getStructTypeNode(n).getMemberType(e,t)}getInputs(e){return this.getNodeFunction(e).inputs}getNodeFunction(e){const t=e.getDataFromNode(this);let n=t.nodeFunction;return n===void 0&&(n=e.parser.parseFunction(this.code),t.nodeFunction=n),n}generate(e,t){super.generate(e);const n=this.getNodeFunction(e),i=n.name,a=n.type,o=e.getCodeFromNode(this,a);i!==""&&(o.name=i);const u=e.getPropertyName(o),c=this.getNodeFunction(e).getCode(u);return o.code=c+` -`,t==="property"?u:e.format(`${u}()`,a,t)}}const II=(s,e=[],t="")=>{for(let a=0;an.call(...a);return i.functionNode=n,i},uH=(s,e)=>II(s,e,"glsl"),cH=(s,e)=>II(s,e,"wgsl");class hH extends ta{static get type(){return"ScriptableValueNode"}constructor(e=null){super(),this._value=e,this._cache=null,this.inputType=null,this.outputType=null,this.events=new bl,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(e){this._value!==e&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=e,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const e=this.value;if(e&&this._cache===null&&this.inputType==="URL"&&e.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([e.value]));else if(e&&e.value!==null&&e.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof e.value=="string"||this.inputType==="Number"&&typeof e.value=="number"||this.inputType==="Vector2"&&e.value.isVector2||this.inputType==="Vector3"&&e.value.isVector3||this.inputType==="Vector4"&&e.value.isVector4||this.inputType==="Color"&&e.value.isColor||this.inputType==="Matrix3"&&e.value.isMatrix3||this.inputType==="Matrix4"&&e.value.isMatrix4))return e.value;return this._cache||e}getNodeType(e){return this.value&&this.value.isNode?this.value.getNodeType(e):"float"}setup(){return this.value&&this.value.isNode?this.value:qt()}serialize(e){super.serialize(e),this.value!==null?this.inputType==="ArrayBuffer"?e.value=c1(this.value):e.value=this.value?this.value.toJSON(e.meta).uuid:null:e.value=null,e.inputType=this.inputType,e.outputType=this.outputType}deserialize(e){super.deserialize(e);let t=null;e.value!==null&&(e.inputType==="ArrayBuffer"?t=h1(e.value):e.inputType==="Texture"?t=e.meta.textures[e.value]:t=e.meta.nodes[e.value]||null),this.value=t,this.inputType=e.inputType,this.outputType=e.outputType}}const m_=to(hH).setParameterLength(1);class NI extends Map{get(e,t=null,...n){if(this.has(e))return super.get(e);if(t!==null){const i=t(...n);return this.set(e,i),i}}}class dH{constructor(e){this.scriptableNode=e}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(e){return this.scriptableNode.getInputLayout(e)}get(e){const t=this.parameters[e];return t?t.getValue():null}}const v_=new NI;class fH extends ta{static get type(){return"ScriptableNode"}constructor(e=null,t={}){super(),this.codeNode=e,this.parameters=t,this._local=new NI,this._output=m_(null),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}get source(){return this.codeNode?this.codeNode.code:""}setLocal(e,t){return this._local.set(e,t)}getLocal(e){return this._local.get(e)}onRefresh(){this._refresh()}getInputLayout(e){for(const t of this.getLayout())if(t.inputType&&(t.id===e||t.name===e))return t}getOutputLayout(e){for(const t of this.getLayout())if(t.outputType&&(t.id===e||t.name===e))return t}setOutput(e,t){const n=this._outputs;return n[e]===void 0?n[e]=m_(t):n[e].value=t,this}getOutput(e){return this._outputs[e]}getParameter(e){return this.parameters[e]}setParameter(e,t){const n=this.parameters;return t&&t.isScriptableNode?(this.deleteParameter(e),n[e]=t,n[e].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):t&&t.isScriptableValueNode?(this.deleteParameter(e),n[e]=t,n[e].events.addEventListener("refresh",this.onRefresh)):n[e]===void 0?(n[e]=m_(t),n[e].events.addEventListener("refresh",this.onRefresh)):n[e].value=t,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(e){let t=this.parameters[e];return t&&(t.isScriptableNode&&(t=t.getDefaultOutput()),t.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const e of Object.keys(this.parameters))this.deleteParameter(e);return this.needsUpdate=!0,this}call(e,...t){const i=this.getObject()[e];if(typeof i=="function")return i(...t)}callAsync(e,...t){return Pa(this,null,function*(){const i=this.getObject()[e];if(typeof i=="function")return i.constructor.name==="AsyncFunction"?yield i(...t):i(...t)})}getNodeType(e){return this.getDefaultOutputNode().getNodeType(e)}refresh(e=null){e!==null?this.getOutput(e).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const e=()=>this.refresh(),t=(d,g)=>this.setOutput(d,g),n=new dH(this),i=v_.get("THREE"),a=v_.get("TSL"),o=this.getMethod(),u=[n,this._local,v_,e,t,i,a];this._object=o(...u);const c=this._object.layout;if(c&&(c.cache===!1&&this._local.clear(),this._output.outputType=c.outputType||null,Array.isArray(c.elements)))for(const d of c.elements){const g=d.id||d.name;d.inputType&&(this.getParameter(g)===void 0&&this.setParameter(g,null),this.getParameter(g).inputType=d.inputType),d.outputType&&(this.getOutput(g)===void 0&&this.setOutput(g,null),this.getOutput(g).outputType=d.outputType)}return this._object}deserialize(e){super.deserialize(e);for(const t in this.parameters){let n=this.parameters[t];n.isScriptableNode&&(n=n.getDefaultOutput()),n.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const e=this.getDefaultOutput().value;return e&&e.isNode?e:qt()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const e=["parameters","local","global","refresh","setOutput","THREE","TSL"],n=["layout","init","main","dispose"].join(", "),i="var "+n+`; var output = {}; -`,a=` -return { ...output, `+n+" };",o=i+this.codeNode.code+a;return this._method=new Function(...e,o),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(e){const t=[dv(this.source),this.getDefaultOutputNode().getCacheKey(e)];for(const n in this.parameters)t.push(this.parameters[n].getCacheKey(e));return o0(t)}set needsUpdate(e){e===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const AH=to(fH).setParameterLength(1,2);function FI(s){let e;const t=s.context.getViewZ;return t!==void 0&&(e=t(this)),(e||Oc.z).negate()}const fM=or(([s,e],t)=>{const n=FI(t);return fA(s,e,n)}),AM=or(([s],e)=>{const t=FI(e);return s.mul(s,t,t).negate().exp().oneMinus()}),ix=or(([s,e])=>Ks(e.toFloat().mix(gv.rgb,s.toVec3()),gv.a));function pH(s,e,t){return Lr('TSL: "rangeFog( color, near, far )" is deprecated. Use "fog( color, rangeFogFactor( near, far ) )" instead.'),ix(s,fM(e,t))}function gH(s,e){return Lr('TSL: "densityFog( color, density )" is deprecated. Use "fog( color, densityFogFactor( density ) )" instead.'),ix(s,AM(e))}let S0=null,M0=null;class mH extends ta{static get type(){return"RangeNode"}constructor(e=qt(),t=qt()){super(),this.minNode=e,this.maxNode=t}getVectorLength(e){const t=this.getConstNode(this.minNode),n=this.getConstNode(this.maxNode),i=e.getTypeLength(Qg(t.value)),a=e.getTypeLength(Qg(n.value));return i>a?i:a}getNodeType(e){return e.object.count>1?e.getTypeFromLength(this.getVectorLength(e)):"float"}getConstNode(e){let t=null;if(e.traverse(n=>{n.isConstNode===!0&&(t=n)}),t===null)throw new Error('THREE.TSL: No "ConstNode" found in node graph.');return t}setup(e){const t=e.object;let n=null;if(t.count>1){const i=this.getConstNode(this.minNode),a=this.getConstNode(this.maxNode),o=i.value,u=a.value,c=e.getTypeLength(Qg(o)),d=e.getTypeLength(Qg(u));S0=S0||new Ni,M0=M0||new Ni,S0.setScalar(0),M0.setScalar(0),c===1?S0.setScalar(o):o.isColor?S0.set(o.r,o.g,o.b,1):S0.set(o.x,o.y,o.z||0,o.w||0),d===1?M0.setScalar(u):u.isColor?M0.set(u.r,u.g,u.b,1):M0.set(u.x,u.y,u.z||0,u.w||0);const g=4,v=g*t.count,M=new Float32Array(v);for(let I=0;Inew yH(s,e),xH=sx("numWorkgroups","uvec3"),bH=sx("workgroupId","uvec3"),_H=sx("globalId","uvec3"),wH=sx("localId","uvec3"),SH=sx("subgroupSize","uint");class MH extends ta{constructor(e){super(),this.scope=e}generate(e){const{scope:t}=this,{renderer:n}=e;n.backend.isWebGLBackend===!0?e.addFlowCode(` // ${t}Barrier -`):e.addLineFlowCode(`${t}Barrier()`,this)}}const pM=to(MH),EH=()=>pM("workgroup").toStack(),CH=()=>pM("storage").toStack(),TH=()=>pM("texture").toStack();class BH extends u0{constructor(e,t){super(e,t),this.isWorkgroupInfoElementNode=!0}generate(e,t){let n;const i=e.context.assign;if(n=super.generate(e),i!==!0){const a=this.getNodeType(e);n=e.format(n,a,t)}return n}}class RH extends ta{constructor(e,t,n=0){super(t),this.bufferType=t,this.bufferCount=n,this.isWorkgroupInfoNode=!0,this.elementType=t,this.scope=e,this.name=""}setName(e){return this.name=e,this}label(e){return Lr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setScope(e){return this.scope=e,this}getElementType(){return this.elementType}getInputType(){return`${this.scope}Array`}element(e){return new BH(this,e)}generate(e){const t=this.name!==""?this.name:`${this.scope}Array_${this.id}`;return e.getScopedArray(t,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const IH=(s,e)=>new RH("Workgroup",s,e);class Ph extends ta{static get type(){return"AtomicFunctionNode"}constructor(e,t,n){super("uint"),this.method=e,this.pointerNode=t,this.valueNode=n,this.parents=!0}getInputType(e){return this.pointerNode.getNodeType(e)}getNodeType(e){return this.getInputType(e)}generate(e){const t=e.getNodeProperties(this),n=t.parents,i=this.method,a=this.getNodeType(e),o=this.getInputType(e),u=this.pointerNode,c=this.valueNode,d=[];d.push(`&${u.build(e,o)}`),c!==null&&d.push(c.build(e,o));const g=`${e.getMethod(i,a)}( ${d.join(", ")} )`;if(n?n.length===1&&n[0].isStackNode===!0:!1)e.addLineFlowCode(g,this);else return t.constNode===void 0&&(t.constNode=$g(g,a).toConst()),t.constNode.build(e)}}Ph.ATOMIC_LOAD="atomicLoad",Ph.ATOMIC_STORE="atomicStore",Ph.ATOMIC_ADD="atomicAdd",Ph.ATOMIC_SUB="atomicSub",Ph.ATOMIC_MAX="atomicMax",Ph.ATOMIC_MIN="atomicMin",Ph.ATOMIC_AND="atomicAnd",Ph.ATOMIC_OR="atomicOr",Ph.ATOMIC_XOR="atomicXor";const NH=to(Ph),pg=(s,e,t)=>NH(s,e,t).toStack(),FH=s=>pg(Ph.ATOMIC_LOAD,s,null),PH=(s,e)=>pg(Ph.ATOMIC_STORE,s,e),LH=(s,e)=>pg(Ph.ATOMIC_ADD,s,e),UH=(s,e)=>pg(Ph.ATOMIC_SUB,s,e),OH=(s,e)=>pg(Ph.ATOMIC_MAX,s,e),DH=(s,e)=>pg(Ph.ATOMIC_MIN,s,e),kH=(s,e)=>pg(Ph.ATOMIC_AND,s,e),VH=(s,e)=>pg(Ph.ATOMIC_OR,s,e),zH=(s,e)=>pg(Ph.ATOMIC_XOR,s,e);class Is extends pc{static get type(){return"SubgroupFunctionNode"}constructor(e,t=null,n=null){super(),this.method=e,this.aNode=t,this.bNode=n}getInputType(e){const t=this.aNode?this.aNode.getNodeType(e):null,n=this.bNode?this.bNode.getNodeType(e):null,i=e.isMatrix(t)?0:e.getTypeLength(t),a=e.isMatrix(n)?0:e.getTypeLength(n);return i>a?t:n}getNodeType(e){const t=this.method;return t===Is.SUBGROUP_ELECT?"bool":t===Is.SUBGROUP_BALLOT?"uvec4":this.getInputType(e)}generate(e,t){const n=this.method,i=this.getNodeType(e),a=this.getInputType(e),o=this.aNode,u=this.bNode,c=[];if(n===Is.SUBGROUP_BROADCAST||n===Is.SUBGROUP_SHUFFLE||n===Is.QUAD_BROADCAST){const g=u.getNodeType(e);c.push(o.build(e,i),u.build(e,g==="float"?"int":i))}else n===Is.SUBGROUP_SHUFFLE_XOR||n===Is.SUBGROUP_SHUFFLE_DOWN||n===Is.SUBGROUP_SHUFFLE_UP?c.push(o.build(e,i),u.build(e,"uint")):(o!==null&&c.push(o.build(e,a)),u!==null&&c.push(u.build(e,a)));const d=c.length===0?"()":`( ${c.join(", ")} )`;return e.format(`${e.getMethod(n,i)}${d}`,i,t)}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}Is.SUBGROUP_ELECT="subgroupElect",Is.SUBGROUP_BALLOT="subgroupBallot",Is.SUBGROUP_ADD="subgroupAdd",Is.SUBGROUP_INCLUSIVE_ADD="subgroupInclusiveAdd",Is.SUBGROUP_EXCLUSIVE_AND="subgroupExclusiveAdd",Is.SUBGROUP_MUL="subgroupMul",Is.SUBGROUP_INCLUSIVE_MUL="subgroupInclusiveMul",Is.SUBGROUP_EXCLUSIVE_MUL="subgroupExclusiveMul",Is.SUBGROUP_AND="subgroupAnd",Is.SUBGROUP_OR="subgroupOr",Is.SUBGROUP_XOR="subgroupXor",Is.SUBGROUP_MIN="subgroupMin",Is.SUBGROUP_MAX="subgroupMax",Is.SUBGROUP_ALL="subgroupAll",Is.SUBGROUP_ANY="subgroupAny",Is.SUBGROUP_BROADCAST_FIRST="subgroupBroadcastFirst",Is.QUAD_SWAP_X="quadSwapX",Is.QUAD_SWAP_Y="quadSwapY",Is.QUAD_SWAP_DIAGONAL="quadSwapDiagonal",Is.SUBGROUP_BROADCAST="subgroupBroadcast",Is.SUBGROUP_SHUFFLE="subgroupShuffle",Is.SUBGROUP_SHUFFLE_XOR="subgroupShuffleXor",Is.SUBGROUP_SHUFFLE_UP="subgroupShuffleUp",Is.SUBGROUP_SHUFFLE_DOWN="subgroupShuffleDown",Is.QUAD_BROADCAST="quadBroadcast";const GH=ji(Is,Is.SUBGROUP_ELECT).setParameterLength(0),HH=ji(Is,Is.SUBGROUP_BALLOT).setParameterLength(1),QH=ji(Is,Is.SUBGROUP_ADD).setParameterLength(1),WH=ji(Is,Is.SUBGROUP_INCLUSIVE_ADD).setParameterLength(1),ZH=ji(Is,Is.SUBGROUP_EXCLUSIVE_AND).setParameterLength(1),KH=ji(Is,Is.SUBGROUP_MUL).setParameterLength(1),$H=ji(Is,Is.SUBGROUP_INCLUSIVE_MUL).setParameterLength(1),XH=ji(Is,Is.SUBGROUP_EXCLUSIVE_MUL).setParameterLength(1),jH=ji(Is,Is.SUBGROUP_AND).setParameterLength(1),YH=ji(Is,Is.SUBGROUP_OR).setParameterLength(1),qH=ji(Is,Is.SUBGROUP_XOR).setParameterLength(1),JH=ji(Is,Is.SUBGROUP_MIN).setParameterLength(1),eQ=ji(Is,Is.SUBGROUP_MAX).setParameterLength(1),tQ=ji(Is,Is.SUBGROUP_ALL).setParameterLength(0),nQ=ji(Is,Is.SUBGROUP_ANY).setParameterLength(0),rQ=ji(Is,Is.SUBGROUP_BROADCAST_FIRST).setParameterLength(2),iQ=ji(Is,Is.QUAD_SWAP_X).setParameterLength(1),sQ=ji(Is,Is.QUAD_SWAP_Y).setParameterLength(1),aQ=ji(Is,Is.QUAD_SWAP_DIAGONAL).setParameterLength(1),oQ=ji(Is,Is.SUBGROUP_BROADCAST).setParameterLength(2),lQ=ji(Is,Is.SUBGROUP_SHUFFLE).setParameterLength(2),uQ=ji(Is,Is.SUBGROUP_SHUFFLE_XOR).setParameterLength(2),cQ=ji(Is,Is.SUBGROUP_SHUFFLE_UP).setParameterLength(2),hQ=ji(Is,Is.SUBGROUP_SHUFFLE_DOWN).setParameterLength(2),dQ=ji(Is,Is.QUAD_BROADCAST).setParameterLength(1);let y_;function x_(s){y_=y_||new WeakMap;let e=y_.get(s);return e===void 0&&y_.set(s,e={}),e}function b_(s){const e=x_(s);return e.shadowMatrix||(e.shadowMatrix=va("mat4").setGroup(xa).onRenderUpdate(t=>((s.castShadow!==!0||t.renderer.shadowMap.enabled===!1)&&(s.shadow.camera.coordinateSystem!==t.camera.coordinateSystem&&(s.shadow.camera.coordinateSystem=t.camera.coordinateSystem,s.shadow.camera.updateProjectionMatrix()),s.shadow.updateMatrices(s)),s.shadow.matrix)))}function PI(s,e=pA){const t=b_(s).mul(e);return t.xyz.div(t.w)}function gM(s){const e=x_(s);return e.position||(e.position=va(new le).setGroup(xa).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(s.matrixWorld)))}function LI(s){const e=x_(s);return e.targetPosition||(e.targetPosition=va(new le).setGroup(xa).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(s.target.matrixWorld)))}function mM(s){const e=x_(s);return e.viewPosition||(e.viewPosition=va(new le).setGroup(xa).onRenderUpdate(({camera:t},n)=>{n.value=n.value||new le,n.value.setFromMatrixPosition(s.matrixWorld),n.value.applyMatrix4(t.matrixWorldInverse)}))}const vM=s=>AA.transformDirection(gM(s).sub(LI(s))),fQ=s=>s.sort((e,t)=>e.id-t.id),AQ=(s,e)=>{for(const t of e)if(t.isAnalyticLightNode&&t.light.id===s)return t;return null},yM=new WeakMap,ax=[];class xM extends ta{static get type(){return"LightsNode"}constructor(){super("vec3"),this.totalDiffuseNode=bp("vec3","totalDiffuse"),this.totalSpecularNode=bp("vec3","totalSpecular"),this.outgoingLightNode=bp("vec3","outgoingLight"),this._lights=[],this._lightNodes=null,this._lightNodesHash=null,this.global=!0}customCacheKey(){const e=this._lights;for(let n=0;n0}}const pQ=(s=[])=>new xM().setLights(s);class gQ extends ta{static get type(){return"ShadowBaseNode"}constructor(e){super(),this.light=e,this.updateBeforeType=Ao.RENDER,this.isShadowBaseNode=!0}setupShadowPosition({context:e,material:t}){bM.assign(t.receivedShadowPositionNode||e.shadowPositionWorld||pA)}}const bM=bp("vec3","shadowPositionWorld");function _M(s,e={}){return e.toneMapping=s.toneMapping,e.toneMappingExposure=s.toneMappingExposure,e.outputColorSpace=s.outputColorSpace,e.renderTarget=s.getRenderTarget(),e.activeCubeFace=s.getActiveCubeFace(),e.activeMipmapLevel=s.getActiveMipmapLevel(),e.renderObjectFunction=s.getRenderObjectFunction(),e.pixelRatio=s.getPixelRatio(),e.mrt=s.getMRT(),e.clearColor=s.getClearColor(e.clearColor||new Wr),e.clearAlpha=s.getClearAlpha(),e.autoClear=s.autoClear,e.scissorTest=s.getScissorTest(),e}function UI(s,e){return e=_M(s,e),s.setMRT(null),s.setRenderObjectFunction(null),s.setClearColor(0,1),s.autoClear=!0,e}function OI(s,e){s.toneMapping=e.toneMapping,s.toneMappingExposure=e.toneMappingExposure,s.outputColorSpace=e.outputColorSpace,s.setRenderTarget(e.renderTarget,e.activeCubeFace,e.activeMipmapLevel),s.setRenderObjectFunction(e.renderObjectFunction),s.setPixelRatio(e.pixelRatio),s.setMRT(e.mrt),s.setClearColor(e.clearColor,e.clearAlpha),s.autoClear=e.autoClear,s.setScissorTest(e.scissorTest)}function wM(s,e={}){return e.background=s.background,e.backgroundNode=s.backgroundNode,e.overrideMaterial=s.overrideMaterial,e}function DI(s,e){return e=wM(s,e),s.background=null,s.backgroundNode=null,s.overrideMaterial=null,e}function kI(s,e){s.background=e.background,s.backgroundNode=e.backgroundNode,s.overrideMaterial=e.overrideMaterial}function mQ(s,e,t={}){return t=_M(s,t),t=wM(e,t),t}function VI(s,e,t){return t=UI(s,t),t=DI(e,t),t}function zI(s,e,t){OI(s,t),kI(e,t)}var GX=Object.freeze({__proto__:null,resetRendererAndSceneState:VI,resetRendererState:UI,resetSceneState:DI,restoreRendererAndSceneState:zI,restoreRendererState:OI,restoreSceneState:kI,saveRendererAndSceneState:mQ,saveRendererState:_M,saveSceneState:wM});const __=new WeakMap,GI=or(({depthTexture:s,shadowCoord:e,depthLayer:t})=>{let n=xl(s,e.xy).setName("t_basic");return s.isArrayTexture&&(n=n.depth(t)),n.compare(e.z)}),HI=or(({depthTexture:s,shadowCoord:e,shadow:t,depthLayer:n})=>{const i=(g,v)=>{let M=xl(s,g);return s.isArrayTexture&&(M=M.depth(n)),M.compare(v)},a=su("mapSize","vec2",t).setGroup(xa),o=su("radius","float",t).setGroup(xa),u=Gi(1).div(a),c=o.mul(u.x),d=uM(m0.xy).mul(6.28318530718);return $c(i(e.xy.add(Ep(0,5,d).mul(c)),e.z),i(e.xy.add(Ep(1,5,d).mul(c)),e.z),i(e.xy.add(Ep(2,5,d).mul(c)),e.z),i(e.xy.add(Ep(3,5,d).mul(c)),e.z),i(e.xy.add(Ep(4,5,d).mul(c)),e.z)).mul(1/5)}),QI=or(({depthTexture:s,shadowCoord:e,shadow:t,depthLayer:n})=>{const i=(v,M)=>{let B=xl(s,v);return s.isArrayTexture&&(B=B.depth(n)),B.compare(M)},a=su("mapSize","vec2",t).setGroup(xa),o=Gi(1).div(a),u=o.x,c=o.y,d=e.xy,g=_p(d.mul(a).add(.5));return d.subAssign(g.mul(o)),$c(i(d,e.z),i(d.add(Gi(u,0)),e.z),i(d.add(Gi(0,c)),e.z),i(d.add(o),e.z),zo(i(d.add(Gi(u.negate(),0)),e.z),i(d.add(Gi(u.mul(2),0)),e.z),g.x),zo(i(d.add(Gi(u.negate(),c)),e.z),i(d.add(Gi(u.mul(2),c)),e.z),g.x),zo(i(d.add(Gi(0,c.negate())),e.z),i(d.add(Gi(0,c.mul(2))),e.z),g.y),zo(i(d.add(Gi(u,c.negate())),e.z),i(d.add(Gi(u,c.mul(2))),e.z),g.y),zo(zo(i(d.add(Gi(u.negate(),c.negate())),e.z),i(d.add(Gi(u.mul(2),c.negate())),e.z),g.x),zo(i(d.add(Gi(u.negate(),c.mul(2))),e.z),i(d.add(Gi(u.mul(2),c.mul(2))),e.z),g.x),g.y)).mul(1/9)}),WI=or(({depthTexture:s,shadowCoord:e,depthLayer:t})=>{let n=xl(s).sample(e.xy);s.isArrayTexture&&(n=n.depth(t)),n=n.rg;const i=n.x,a=mc(1e-7,n.y.mul(n.y)),o=Ib(e.z,i);ra(o.equal(1),()=>qt(1));const u=e.z.sub(i);let c=a.div(a.add(u.mul(u)));return c=Sp(el(c,.3).div(.65)),mc(o,c)}),vQ=or(([s,e,t])=>{let n=pA.sub(s).length();return n=n.sub(e).div(t.sub(e)),n=n.saturate(),n}),yQ=s=>{const e=s.shadow.camera,t=su("near","float",e).setGroup(xa),n=su("far","float",e).setGroup(xa),i=VB(s);return vQ(i,t,n)},ZI=s=>{let e=__.get(s);if(e===void 0){const t=s.isPointLight?yQ(s):null;e=new yc,e.colorNode=Ks(0,0,0,1),e.depthNode=t,e.isShadowPassMaterial=!0,e.name="ShadowMaterial",e.fog=!1,__.set(s,e)}return e},KI=s=>{const e=__.get(s);e!==void 0&&(e.dispose(),__.delete(s))},$I=new Mp,Lv=[],XI=(s,e,t,n)=>{Lv[0]=s,Lv[1]=e;let i=$I.get(Lv);return(i===void 0||i.shadowType!==t||i.useVelocity!==n)&&(i=(a,o,u,c,d,g,...v)=>{(a.castShadow===!0||a.receiveShadow&&t===X)&&(n&&(u1(a).useVelocity=!0),a.onBeforeShadow(s,a,u,e.camera,c,o.overrideMaterial,g),s.renderObject(a,o,u,c,d,g,...v),a.onAfterShadow(s,a,u,e.camera,c,o.overrideMaterial,g))},i.shadowType=t,i.useVelocity=n,$I.set(Lv,i)),Lv[0]=null,Lv[1]=null,i},xQ=or(({samples:s,radius:e,size:t,shadowPass:n,depthLayer:i})=>{const a=qt(0).toVar("meanVertical"),o=qt(0).toVar("squareMeanVertical"),u=s.lessThanEqual(qt(1)).select(qt(0),qt(2).div(s.sub(1))),c=s.lessThanEqual(qt(1)).select(qt(0),qt(-1));kl({start:Qn(0),end:Qn(s),type:"int",condition:"<"},({i:g})=>{const v=c.add(qt(g).mul(u));let M=n.sample($c(m0.xy,Gi(0,v).mul(e)).div(t));n.value.isArrayTexture&&(M=M.depth(i)),M=M.x,a.addAssign(M),o.addAssign(M.mul(M))}),a.divAssign(s),o.divAssign(s);const d=Nd(o.sub(a.mul(a)).max(0));return Gi(a,d)}),bQ=or(({samples:s,radius:e,size:t,shadowPass:n,depthLayer:i})=>{const a=qt(0).toVar("meanHorizontal"),o=qt(0).toVar("squareMeanHorizontal"),u=s.lessThanEqual(qt(1)).select(qt(0),qt(2).div(s.sub(1))),c=s.lessThanEqual(qt(1)).select(qt(0),qt(-1));kl({start:Qn(0),end:Qn(s),type:"int",condition:"<"},({i:g})=>{const v=c.add(qt(g).mul(u));let M=n.sample($c(m0.xy,Gi(v,0).mul(e)).div(t));n.value.isArrayTexture&&(M=M.depth(i)),a.addAssign(M.x),o.addAssign($c(M.y.mul(M.y),M.x.mul(M.x)))}),a.divAssign(s),o.divAssign(s);const d=Nd(o.sub(a.mul(a)).max(0));return Gi(a,d)}),_Q=[GI,HI,QI,WI];let SM;const w_=new nx;class jI extends gQ{static get type(){return"ShadowNode"}constructor(e,t=null){super(e),this.shadow=t||e.shadow,this.shadowMap=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this._node=null,this._currentShadowType=null,this._cameraFrameId=new WeakMap,this.isShadowNode=!0,this.depthLayer=0}setupShadowFilter(e,{filterFn:t,depthTexture:n,shadowCoord:i,shadow:a,depthLayer:o}){const u=i.x.greaterThanEqual(0).and(i.x.lessThanEqual(1)).and(i.y.greaterThanEqual(0)).and(i.y.lessThanEqual(1)).and(i.z.lessThanEqual(1)),c=t({depthTexture:n,shadowCoord:i,shadow:a,depthLayer:o});return u.select(c,qt(1))}setupShadowCoord(e,t){const{shadow:n}=this,{renderer:i}=e,a=su("bias","float",n).setGroup(xa);let o=t,u;if(n.camera.isOrthographicCamera||i.logarithmicDepthBuffer!==!0)o=o.xyz.div(o.w),u=o.z,i.coordinateSystem===To&&(u=u.mul(2).sub(1));else{const c=o.w;o=o.xy.div(c);const d=su("near","float",n.camera).setGroup(xa),g=su("far","float",n.camera).setGroup(xa);u=FS(c.negate(),d,g)}return o=Kn(o.x,o.y.oneMinus(),u.add(a)),o}getShadowFilterFn(e){return _Q[e]}setupRenderTarget(e,t){const n=new Al(e.mapSize.width,e.mapSize.height);n.name="ShadowDepthTexture",n.compareFunction=oo;const i=t.createRenderTarget(e.mapSize.width,e.mapSize.height);return i.texture.name="ShadowMap",i.texture.type=e.mapType,i.depthTexture=n,{shadowMap:i,depthTexture:n}}setupShadow(e){const{renderer:t,camera:n}=e,{light:i,shadow:a}=this,o=t.shadowMap.type,{depthTexture:u,shadowMap:c}=this.setupRenderTarget(a,e);if(a.camera.coordinateSystem=n.coordinateSystem,a.camera.updateProjectionMatrix(),o===X&&a.isPointLightShadow!==!0){u.compareFunction=null,c.depth>1?(c._vsmShadowMapVertical||(c._vsmShadowMapVertical=e.createRenderTarget(a.mapSize.width,a.mapSize.height,{format:ze,type:Wt,depth:c.depth,depthBuffer:!1}),c._vsmShadowMapVertical.texture.name="VSMVertical"),this.vsmShadowMapVertical=c._vsmShadowMapVertical,c._vsmShadowMapHorizontal||(c._vsmShadowMapHorizontal=e.createRenderTarget(a.mapSize.width,a.mapSize.height,{format:ze,type:Wt,depth:c.depth,depthBuffer:!1}),c._vsmShadowMapHorizontal.texture.name="VSMHorizontal"),this.vsmShadowMapHorizontal=c._vsmShadowMapHorizontal):(this.vsmShadowMapVertical=e.createRenderTarget(a.mapSize.width,a.mapSize.height,{format:ze,type:Wt,depthBuffer:!1}),this.vsmShadowMapHorizontal=e.createRenderTarget(a.mapSize.width,a.mapSize.height,{format:ze,type:Wt,depthBuffer:!1}));let Ce=xl(u);u.isArrayTexture&&(Ce=Ce.depth(this.depthLayer));let ke=xl(this.vsmShadowMapVertical.texture);u.isArrayTexture&&(ke=ke.depth(this.depthLayer));const nt=su("blurSamples","float",a).setGroup(xa),Ye=su("radius","float",a).setGroup(xa),ht=su("mapSize","vec2",a).setGroup(xa);let Rt=this.vsmMaterialVertical||(this.vsmMaterialVertical=new yc);Rt.fragmentNode=xQ({samples:nt,radius:Ye,size:ht,shadowPass:Ce,depthLayer:this.depthLayer}).context(e.getSharedContext()),Rt.name="VSMVertical",Rt=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new yc),Rt.fragmentNode=bQ({samples:nt,radius:Ye,size:ht,shadowPass:ke,depthLayer:this.depthLayer}).context(e.getSharedContext()),Rt.name="VSMHorizontal"}const d=su("intensity","float",a).setGroup(xa),g=su("normalBias","float",a).setGroup(xa),v=b_(i).mul(bM.add(Om.mul(g))),M=this.setupShadowCoord(e,v),B=a.filterNode||this.getShadowFilterFn(t.shadowMap.type)||null;if(B===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const I=o===X&&a.isPointLightShadow!==!0?this.vsmShadowMapHorizontal.texture:u,ne=this.setupShadowFilter(e,{filterFn:B,shadowTexture:c.texture,depthTexture:I,shadowCoord:M,shadow:a,depthLayer:this.depthLayer});let ee;c.texture.isCubeTexture?ee=lf(c.texture,M.xyz):(ee=xl(c.texture,M),u.isArrayTexture&&(ee=ee.depth(this.depthLayer)));const q=zo(1,ne.rgb.mix(ee,1),d.mul(ee.a)).toVar();this.shadowMap=c,this.shadow.map=c;const ye=`${this.light.type} Shadow [ ${this.light.name||"ID: "+this.light.id} ]`;return q.toInspector(`${ye} / Color`,()=>this.shadowMap.texture.isCubeTexture?lf(this.shadowMap.texture):xl(this.shadowMap.texture)).toInspector(`${ye} / Depth`,()=>this.shadowMap.texture.isCubeTexture?lf(this.shadowMap.texture).r.oneMinus():Rc(this.shadowMap.depthTexture,Zl().mul(Xg(xl(this.shadowMap.depthTexture)))).r.oneMinus())}setup(e){if(e.renderer.shadowMap.enabled!==!1)return or(()=>{const t=e.renderer.shadowMap.type;this._currentShadowType!==t&&(this._reset(),this._node=null);let n=this._node;return this.setupShadowPosition(e),n===null&&(this._node=n=this.setupShadow(e),this._currentShadowType=t),e.material.shadowNode&&Lr('NodeMaterial: ".shadowNode" is deprecated. Use ".castShadowNode" instead.'),e.material.receivedShadowNode&&(n=e.material.receivedShadowNode(n)),n})()}renderShadow(e){const{shadow:t,shadowMap:n,light:i}=this,{renderer:a,scene:o}=e;t.updateMatrices(i),n.setSize(t.mapSize.width,t.mapSize.height,n.depth);const u=o.name;o.name=`Shadow Map [ ${i.name||"ID: "+i.id} ]`,a.render(o,t.camera),o.name=u}updateShadow(e){const{shadowMap:t,light:n,shadow:i}=this,{renderer:a,scene:o,camera:u}=e,c=a.shadowMap.type,d=t.depthTexture.version;this._depthVersionCached=d;const g=i.camera.layers.mask;i.camera.layers.mask&4294967294||(i.camera.layers.mask=u.layers.mask);const v=a.getRenderObjectFunction(),M=a.getMRT(),B=M?M.has("velocity"):!1;SM=VI(a,o,SM),o.overrideMaterial=ZI(n),a.setRenderObjectFunction(XI(a,i,c,B)),a.setClearColor(0,0),a.setRenderTarget(t),this.renderShadow(e),a.setRenderObjectFunction(v),c===X&&i.isPointLightShadow!==!0&&this.vsmPass(a),i.camera.layers.mask=g,zI(a,o,SM)}vsmPass(e){const{shadow:t}=this,n=this.shadowMap.depth;this.vsmShadowMapVertical.setSize(t.mapSize.width,t.mapSize.height,n),this.vsmShadowMapHorizontal.setSize(t.mapSize.width,t.mapSize.height,n),e.setRenderTarget(this.vsmShadowMapVertical),w_.material=this.vsmMaterialVertical,w_.render(e),e.setRenderTarget(this.vsmShadowMapHorizontal),w_.material=this.vsmMaterialHorizontal,w_.render(e)}dispose(){this._reset(),super.dispose()}_reset(){this._currentShadowType=null,KI(this.light),this.shadowMap&&(this.shadowMap.dispose(),this.shadowMap=null),this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null)}updateBefore(e){const{shadow:t}=this;let n=t.needsUpdate||t.autoUpdate;n&&(this._cameraFrameId[e.camera]===e.frameId&&(n=!1),this._cameraFrameId[e.camera]=e.frameId),n&&(this.updateShadow(e),this.shadowMap.depthTexture.version===this._depthVersionCached&&(t.needsUpdate=!1))}}const YI=(s,e)=>new jI(s,e),wQ=new Wr,qI=new di,ox=new le,MM=new le,SQ=[new le(1,0,0),new le(-1,0,0),new le(0,-1,0),new le(0,1,0),new le(0,0,1),new le(0,0,-1)],MQ=[new le(0,-1,0),new le(0,-1,0),new le(0,0,-1),new le(0,0,1),new le(0,-1,0),new le(0,-1,0)],EQ=[new le(1,0,0),new le(-1,0,0),new le(0,1,0),new le(0,-1,0),new le(0,0,1),new le(0,0,-1)],CQ=[new le(0,-1,0),new le(0,-1,0),new le(0,0,1),new le(0,0,-1),new le(0,-1,0),new le(0,-1,0)],JI=or(({depthTexture:s,bd3D:e,dp:t})=>lf(s,e).compare(t)),eN=or(({depthTexture:s,bd3D:e,dp:t,shadow:n})=>{const i=su("radius","float",n).setGroup(xa),a=su("mapSize","vec2",n).setGroup(xa),o=i.div(a.x),u=Su(e),c=rf(Zg(e,u.x.greaterThan(u.z).select(Kn(0,1,0),Kn(1,0,0)))),d=Zg(e,c),g=uM(m0.xy).mul(6.28318530718),v=Ep(0,5,g),M=Ep(1,5,g),B=Ep(2,5,g),I=Ep(3,5,g),ne=Ep(4,5,g);return lf(s,e.add(c.mul(v.x).add(d.mul(v.y)).mul(o))).compare(t).add(lf(s,e.add(c.mul(M.x).add(d.mul(M.y)).mul(o))).compare(t)).add(lf(s,e.add(c.mul(B.x).add(d.mul(B.y)).mul(o))).compare(t)).add(lf(s,e.add(c.mul(I.x).add(d.mul(I.y)).mul(o))).compare(t)).add(lf(s,e.add(c.mul(ne.x).add(d.mul(ne.y)).mul(o))).compare(t)).mul(1/5)}),TQ=or(({filterFn:s,depthTexture:e,shadowCoord:t,shadow:n})=>{const i=t.xyz.toVar(),a=i.length(),o=va("float").setGroup(xa).onRenderUpdate(()=>n.camera.near),u=va("float").setGroup(xa).onRenderUpdate(()=>n.camera.far),c=su("bias","float",n).setGroup(xa),d=qt(1).toVar();return ra(a.sub(u).lessThanEqual(0).and(a.sub(o).greaterThanEqual(0)),()=>{const g=a.sub(o).div(u.sub(o)).toVar();g.addAssign(c);const v=i.normalize();d.assign(s({depthTexture:e,bd3D:v,dp:g,shadow:n}))}),d});class BQ extends jI{static get type(){return"PointShadowNode"}constructor(e,t=null){super(e,t)}getShadowFilterFn(e){return e===P?JI:eN}setupShadowCoord(e,t){return t}setupShadowFilter(e,{filterFn:t,depthTexture:n,shadowCoord:i,shadow:a}){return TQ({filterFn:t,depthTexture:n,shadowCoord:i,shadow:a})}setupRenderTarget(e,t){const n=new sA(e.mapSize.width);n.name="PointShadowDepthTexture",n.compareFunction=oo;const i=t.createCubeRenderTarget(e.mapSize.width);return i.texture.name="PointShadowMap",i.depthTexture=n,{shadowMap:i,depthTexture:n}}renderShadow(e){const{shadow:t,shadowMap:n,light:i}=this,{renderer:a,scene:o}=e,u=t.camera,c=t.matrix,d=a.coordinateSystem===To,g=d?SQ:EQ,v=d?MQ:CQ;n.setSize(t.mapSize.width,t.mapSize.width);const M=a.autoClear,B=a.getClearColor(wQ),I=a.getClearAlpha();a.autoClear=!1,a.setClearColor(t.clearColor,t.clearAlpha);for(let ne=0;ne<6;ne++){a.setRenderTarget(n,ne),a.clear();const ee=i.distance||u.far;ee!==u.far&&(u.far=ee,u.updateProjectionMatrix()),ox.setFromMatrixPosition(i.matrixWorld),u.position.copy(ox),MM.copy(u.position),MM.add(g[ne]),u.up.copy(v[ne]),u.lookAt(MM),u.updateMatrixWorld(),c.makeTranslation(-ox.x,-ox.y,-ox.z),qI.multiplyMatrices(u.projectionMatrix,u.matrixWorldInverse),t._frustum.setFromProjectionMatrix(qI,u.coordinateSystem,u.reversedDepth);const q=o.name;o.name=`Point Light Shadow [ ${i.name||"ID: "+i.id} ] - Face ${ne+1}`,a.render(o,u),o.name=q}a.autoClear=M,a.setClearColor(B,I)}}const tN=(s,e)=>new BQ(s,e);class E0 extends Sv{static get type(){return"AnalyticLightNode"}constructor(e=null){super(),this.light=e,this.color=new Wr,this.colorNode=e&&e.colorNode||va(this.color).setGroup(xa),this.baseColorNode=null,this.shadowNode=null,this.shadowColorNode=null,this.isAnalyticLightNode=!0,this.updateType=Ao.FRAME,e&&e.shadow&&(this._shadowDisposeListener=()=>{this.disposeShadow()},e.addEventListener("dispose",this._shadowDisposeListener))}dispose(){this._shadowDisposeListener&&this.light.removeEventListener("dispose",this._shadowDisposeListener),super.dispose()}disposeShadow(){this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null),this.shadowColorNode=null,this.baseColorNode!==null&&(this.colorNode=this.baseColorNode,this.baseColorNode=null)}getHash(){return this.light.uuid}getLightVector(e){return mM(this.light).sub(e.context.positionView||Oc)}setupDirect(){}setupDirectRectArea(){}setupShadowNode(){return YI(this.light)}setupShadow(e){const{renderer:t}=e;if(t.shadowMap.enabled===!1)return;let n=this.shadowColorNode;if(n===null){const i=this.light.shadow.shadowNode;let a;i!==void 0?a=Ss(i):a=this.setupShadowNode(),this.shadowNode=a,this.shadowColorNode=n=this.colorNode.mul(a),this.baseColorNode=this.colorNode}e.context.getShadow&&(n=e.context.getShadow(this,e)),this.colorNode=n}setup(e){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?e.object.receiveShadow&&this.setupShadow(e):this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null,this.shadowColorNode=null);const t=this.setupDirect(e),n=this.setupDirectRectArea(e);t&&e.lightsNode.setupDirectLight(e,this,t),n&&e.lightsNode.setupDirectRectAreaLight(e,this,n)}update(){const{light:e}=this;this.color.copy(e.color).multiplyScalar(e.intensity)}}const EM=or(({lightDistance:s,cutoffDistance:e,decayExponent:t})=>{const n=s.pow(t).max(.01).reciprocal();return e.greaterThan(0).select(n.mul(s.div(e).pow4().oneMinus().clamp().pow2()),n)}),nN=({color:s,lightVector:e,cutoffDistance:t,decayExponent:n})=>{const i=e.normalize(),a=e.length(),o=EM({lightDistance:a,cutoffDistance:t,decayExponent:n}),u=s.mul(o);return{lightDirection:i,lightColor:u}};class RQ extends E0{static get type(){return"PointLightNode"}constructor(e=null){super(e),this.cutoffDistanceNode=va(0).setGroup(xa),this.decayExponentNode=va(2).setGroup(xa)}update(e){const{light:t}=this;super.update(e),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}setupShadowNode(){return tN(this.light)}setupDirect(e){return nN({color:this.colorNode,lightVector:this.getLightVector(e),cutoffDistance:this.cutoffDistanceNode,decayExponent:this.decayExponentNode})}}const IQ=or(([s=Zl()])=>{const e=s.mul(2),t=e.x.floor(),n=e.y.floor();return t.add(n).mod(2).sign()}),NQ=or(([s=Zl()],{renderer:e,material:t})=>{const n=Z1(s.mul(2).sub(1));let i;if(t.alphaToCoverage&&e.currentSamples>0){const a=qt(n.fwidth()).toVar();i=fA(a.oneMinus(),a.add(1),n).oneMinus()}else i=ud(n.greaterThan(1),0,1);return i}),lx=or(([s,e,t])=>{const n=qt(t).toVar(),i=qt(e).toVar(),a=WA(s).toVar();return ud(a,i,n)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),S_=or(([s,e])=>{const t=WA(e).toVar(),n=qt(s).toVar();return ud(t,n.negate(),n)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),Xc=or(([s])=>{const e=qt(s).toVar();return Qn(ag(e))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),ic=or(([s,e])=>{const t=qt(s).toVar();return e.assign(Xc(t)),t.sub(qt(e))}),rN=hd([or(([s,e,t,n,i,a])=>{const o=qt(a).toVar(),u=qt(i).toVar(),c=qt(n).toVar(),d=qt(t).toVar(),g=qt(e).toVar(),v=qt(s).toVar(),M=qt(el(1,u)).toVar();return el(1,o).mul(v.mul(M).add(g.mul(u))).add(o.mul(d.mul(M).add(c.mul(u))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),or(([s,e,t,n,i,a])=>{const o=qt(a).toVar(),u=qt(i).toVar(),c=Kn(n).toVar(),d=Kn(t).toVar(),g=Kn(e).toVar(),v=Kn(s).toVar(),M=qt(el(1,u)).toVar();return el(1,o).mul(v.mul(M).add(g.mul(u))).add(o.mul(d.mul(M).add(c.mul(u))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]})]),iN=hd([or(([s,e,t,n,i,a,o,u,c,d,g])=>{const v=qt(g).toVar(),M=qt(d).toVar(),B=qt(c).toVar(),I=qt(u).toVar(),ne=qt(o).toVar(),ee=qt(a).toVar(),q=qt(i).toVar(),ye=qt(n).toVar(),Ce=qt(t).toVar(),ke=qt(e).toVar(),nt=qt(s).toVar(),Ye=qt(el(1,B)).toVar(),ht=qt(el(1,M)).toVar();return qt(el(1,v)).toVar().mul(ht.mul(nt.mul(Ye).add(ke.mul(B))).add(M.mul(Ce.mul(Ye).add(ye.mul(B))))).add(v.mul(ht.mul(q.mul(Ye).add(ee.mul(B))).add(M.mul(ne.mul(Ye).add(I.mul(B))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),or(([s,e,t,n,i,a,o,u,c,d,g])=>{const v=qt(g).toVar(),M=qt(d).toVar(),B=qt(c).toVar(),I=Kn(u).toVar(),ne=Kn(o).toVar(),ee=Kn(a).toVar(),q=Kn(i).toVar(),ye=Kn(n).toVar(),Ce=Kn(t).toVar(),ke=Kn(e).toVar(),nt=Kn(s).toVar(),Ye=qt(el(1,B)).toVar(),ht=qt(el(1,M)).toVar();return qt(el(1,v)).toVar().mul(ht.mul(nt.mul(Ye).add(ke.mul(B))).add(M.mul(Ce.mul(Ye).add(ye.mul(B))))).add(v.mul(ht.mul(q.mul(Ye).add(ee.mul(B))).add(M.mul(ne.mul(Ye).add(I.mul(B))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]})]),Zh=hd([or(([s,e,t])=>{const n=qt(t).toVar(),i=qt(e).toVar(),a=Fi(s).toVar(),o=Fi(a.bitAnd(Fi(7))).toVar(),u=qt(lx(o.lessThan(Fi(4)),i,n)).toVar(),c=qt(no(2,lx(o.lessThan(Fi(4)),n,i))).toVar();return S_(u,WA(o.bitAnd(Fi(1)))).add(S_(c,WA(o.bitAnd(Fi(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=qt(e).toVar(),u=Fi(s).toVar(),c=Fi(u.bitAnd(Fi(15))).toVar(),d=qt(lx(c.lessThan(Fi(8)),o,a)).toVar(),g=qt(lx(c.lessThan(Fi(4)),a,lx(c.equal(Fi(12)).or(c.equal(Fi(14))),o,i))).toVar();return S_(d,WA(c.bitAnd(Fi(1)))).add(S_(g,WA(c.bitAnd(Fi(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),qA=hd([or(([s,e,t])=>{const n=qt(t).toVar(),i=qt(e).toVar(),a=h0(s).toVar();return Kn(Zh(a.x,i,n),Zh(a.y,i,n),Zh(a.z,i,n))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=qt(e).toVar(),u=h0(s).toVar();return Kn(Zh(u.x,o,a,i),Zh(u.y,o,a,i),Zh(u.z,o,a,i))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),FQ=or(([s])=>{const e=qt(s).toVar();return no(.6616,e)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),PQ=or(([s])=>{const e=qt(s).toVar();return no(.982,e)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),sN=hd([FQ,or(([s])=>{const e=Kn(s).toVar();return no(.6616,e)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),aN=hd([PQ,or(([s])=>{const e=Kn(s).toVar();return no(.982,e)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),vA=or(([s,e])=>{const t=Qn(e).toVar(),n=Fi(s).toVar();return n.shiftLeft(t).bitOr(n.shiftRight(Qn(32).sub(t)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),oN=or(([s,e,t])=>{s.subAssign(t),s.bitXorAssign(vA(t,Qn(4))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(vA(s,Qn(6))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(vA(e,Qn(8))),e.addAssign(s),s.subAssign(t),s.bitXorAssign(vA(t,Qn(16))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(vA(s,Qn(19))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(vA(e,Qn(4))),e.addAssign(s)}),ux=or(([s,e,t])=>{const n=Fi(t).toVar(),i=Fi(e).toVar(),a=Fi(s).toVar();return n.bitXorAssign(i),n.subAssign(vA(i,Qn(14))),a.bitXorAssign(n),a.subAssign(vA(n,Qn(11))),i.bitXorAssign(a),i.subAssign(vA(a,Qn(25))),n.bitXorAssign(i),n.subAssign(vA(i,Qn(16))),a.bitXorAssign(n),a.subAssign(vA(n,Qn(4))),i.bitXorAssign(a),i.subAssign(vA(a,Qn(14))),n.bitXorAssign(i),n.subAssign(vA(i,Qn(24))),n}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),Pd=or(([s])=>{const e=Fi(s).toVar();return qt(e).div(qt(Fi(Qn(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),gg=or(([s])=>{const e=qt(s).toVar();return e.mul(e).mul(e).mul(e.mul(e.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),au=hd([or(([s])=>{const e=Qn(s).toVar(),t=Fi(Fi(1)).toVar(),n=Fi(Fi(Qn(3735928559)).add(t.shiftLeft(Fi(2))).add(Fi(13))).toVar();return ux(n.add(Fi(e)),n,n)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),or(([s,e])=>{const t=Qn(e).toVar(),n=Qn(s).toVar(),i=Fi(Fi(2)).toVar(),a=Fi().toVar(),o=Fi().toVar(),u=Fi().toVar();return a.assign(o.assign(u.assign(Fi(Qn(3735928559)).add(i.shiftLeft(Fi(2))).add(Fi(13))))),a.addAssign(Fi(n)),o.addAssign(Fi(t)),ux(a,o,u)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),or(([s,e,t])=>{const n=Qn(t).toVar(),i=Qn(e).toVar(),a=Qn(s).toVar(),o=Fi(Fi(3)).toVar(),u=Fi().toVar(),c=Fi().toVar(),d=Fi().toVar();return u.assign(c.assign(d.assign(Fi(Qn(3735928559)).add(o.shiftLeft(Fi(2))).add(Fi(13))))),u.addAssign(Fi(a)),c.addAssign(Fi(i)),d.addAssign(Fi(n)),ux(u,c,d)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),or(([s,e,t,n])=>{const i=Qn(n).toVar(),a=Qn(t).toVar(),o=Qn(e).toVar(),u=Qn(s).toVar(),c=Fi(Fi(4)).toVar(),d=Fi().toVar(),g=Fi().toVar(),v=Fi().toVar();return d.assign(g.assign(v.assign(Fi(Qn(3735928559)).add(c.shiftLeft(Fi(2))).add(Fi(13))))),d.addAssign(Fi(u)),g.addAssign(Fi(o)),v.addAssign(Fi(a)),oN(d,g,v),d.addAssign(Fi(i)),ux(d,g,v)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),or(([s,e,t,n,i])=>{const a=Qn(i).toVar(),o=Qn(n).toVar(),u=Qn(t).toVar(),c=Qn(e).toVar(),d=Qn(s).toVar(),g=Fi(Fi(5)).toVar(),v=Fi().toVar(),M=Fi().toVar(),B=Fi().toVar();return v.assign(M.assign(B.assign(Fi(Qn(3735928559)).add(g.shiftLeft(Fi(2))).add(Fi(13))))),v.addAssign(Fi(d)),M.addAssign(Fi(c)),B.addAssign(Fi(u)),oN(v,M,B),v.addAssign(Fi(o)),M.addAssign(Fi(a)),ux(v,M,B)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]})]),JA=hd([or(([s,e])=>{const t=Qn(e).toVar(),n=Qn(s).toVar(),i=Fi(au(n,t)).toVar(),a=h0().toVar();return a.x.assign(i.bitAnd(Qn(255))),a.y.assign(i.shiftRight(Qn(8)).bitAnd(Qn(255))),a.z.assign(i.shiftRight(Qn(16)).bitAnd(Qn(255))),a}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),or(([s,e,t])=>{const n=Qn(t).toVar(),i=Qn(e).toVar(),a=Qn(s).toVar(),o=Fi(au(a,i,n)).toVar(),u=h0().toVar();return u.x.assign(o.bitAnd(Qn(255))),u.y.assign(o.shiftRight(Qn(8)).bitAnd(Qn(255))),u.z.assign(o.shiftRight(Qn(16)).bitAnd(Qn(255))),u}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]})]),CM=hd([or(([s])=>{const e=Gi(s).toVar(),t=Qn().toVar(),n=Qn().toVar(),i=qt(ic(e.x,t)).toVar(),a=qt(ic(e.y,n)).toVar(),o=qt(gg(i)).toVar(),u=qt(gg(a)).toVar(),c=qt(rN(Zh(au(t,n),i,a),Zh(au(t.add(Qn(1)),n),i.sub(1),a),Zh(au(t,n.add(Qn(1))),i,a.sub(1)),Zh(au(t.add(Qn(1)),n.add(Qn(1))),i.sub(1),a.sub(1)),o,u)).toVar();return sN(c)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),or(([s])=>{const e=Kn(s).toVar(),t=Qn().toVar(),n=Qn().toVar(),i=Qn().toVar(),a=qt(ic(e.x,t)).toVar(),o=qt(ic(e.y,n)).toVar(),u=qt(ic(e.z,i)).toVar(),c=qt(gg(a)).toVar(),d=qt(gg(o)).toVar(),g=qt(gg(u)).toVar(),v=qt(iN(Zh(au(t,n,i),a,o,u),Zh(au(t.add(Qn(1)),n,i),a.sub(1),o,u),Zh(au(t,n.add(Qn(1)),i),a,o.sub(1),u),Zh(au(t.add(Qn(1)),n.add(Qn(1)),i),a.sub(1),o.sub(1),u),Zh(au(t,n,i.add(Qn(1))),a,o,u.sub(1)),Zh(au(t.add(Qn(1)),n,i.add(Qn(1))),a.sub(1),o,u.sub(1)),Zh(au(t,n.add(Qn(1)),i.add(Qn(1))),a,o.sub(1),u.sub(1)),Zh(au(t.add(Qn(1)),n.add(Qn(1)),i.add(Qn(1))),a.sub(1),o.sub(1),u.sub(1)),c,d,g)).toVar();return aN(v)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]})]),cx=hd([or(([s])=>{const e=Gi(s).toVar(),t=Qn().toVar(),n=Qn().toVar(),i=qt(ic(e.x,t)).toVar(),a=qt(ic(e.y,n)).toVar(),o=qt(gg(i)).toVar(),u=qt(gg(a)).toVar(),c=Kn(rN(qA(JA(t,n),i,a),qA(JA(t.add(Qn(1)),n),i.sub(1),a),qA(JA(t,n.add(Qn(1))),i,a.sub(1)),qA(JA(t.add(Qn(1)),n.add(Qn(1))),i.sub(1),a.sub(1)),o,u)).toVar();return sN(c)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),or(([s])=>{const e=Kn(s).toVar(),t=Qn().toVar(),n=Qn().toVar(),i=Qn().toVar(),a=qt(ic(e.x,t)).toVar(),o=qt(ic(e.y,n)).toVar(),u=qt(ic(e.z,i)).toVar(),c=qt(gg(a)).toVar(),d=qt(gg(o)).toVar(),g=qt(gg(u)).toVar(),v=Kn(iN(qA(JA(t,n,i),a,o,u),qA(JA(t.add(Qn(1)),n,i),a.sub(1),o,u),qA(JA(t,n.add(Qn(1)),i),a,o.sub(1),u),qA(JA(t.add(Qn(1)),n.add(Qn(1)),i),a.sub(1),o.sub(1),u),qA(JA(t,n,i.add(Qn(1))),a,o,u.sub(1)),qA(JA(t.add(Qn(1)),n,i.add(Qn(1))),a.sub(1),o,u.sub(1)),qA(JA(t,n.add(Qn(1)),i.add(Qn(1))),a,o.sub(1),u.sub(1)),qA(JA(t.add(Qn(1)),n.add(Qn(1)),i.add(Qn(1))),a.sub(1),o.sub(1),u.sub(1)),c,d,g)).toVar();return aN(v)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]})]),LQ=hd([or(([s])=>{const e=qt(s).toVar(),t=Qn(Xc(e)).toVar();return Pd(au(t))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),or(([s])=>{const e=Gi(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar();return Pd(au(t,n))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),or(([s])=>{const e=Kn(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar(),i=Qn(Xc(e.z)).toVar();return Pd(au(t,n,i))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),or(([s])=>{const e=Ks(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar(),i=Qn(Xc(e.z)).toVar(),a=Qn(Xc(e.w)).toVar();return Pd(au(t,n,i,a))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]})]),M_=hd([or(([s])=>{const e=qt(s).toVar(),t=Qn(Xc(e)).toVar();return Kn(Pd(au(t,Qn(0))),Pd(au(t,Qn(1))),Pd(au(t,Qn(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),or(([s])=>{const e=Gi(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar();return Kn(Pd(au(t,n,Qn(0))),Pd(au(t,n,Qn(1))),Pd(au(t,n,Qn(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),or(([s])=>{const e=Kn(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar(),i=Qn(Xc(e.z)).toVar();return Kn(Pd(au(t,n,i,Qn(0))),Pd(au(t,n,i,Qn(1))),Pd(au(t,n,i,Qn(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),or(([s])=>{const e=Ks(s).toVar(),t=Qn(Xc(e.x)).toVar(),n=Qn(Xc(e.y)).toVar(),i=Qn(Xc(e.z)).toVar(),a=Qn(Xc(e.w)).toVar();return Kn(Pd(au(t,n,i,a,Qn(0))),Pd(au(t,n,i,a,Qn(1))),Pd(au(t,n,i,a,Qn(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]})]),E_=or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=Qn(e).toVar(),u=Kn(s).toVar(),c=qt(0).toVar(),d=qt(1).toVar();return kl(o,()=>{c.addAssign(d.mul(CM(u))),d.mulAssign(i),u.mulAssign(a)}),c}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),C_=or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=Qn(e).toVar(),u=Kn(s).toVar(),c=Kn(0).toVar(),d=qt(1).toVar();return kl(o,()=>{c.addAssign(d.mul(cx(u))),d.mulAssign(i),u.mulAssign(a)}),c}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),UQ=or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=Qn(e).toVar(),u=Kn(s).toVar();return Gi(E_(u,o,a,i),E_(u.add(Kn(Qn(19),Qn(193),Qn(17))),o,a,i))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),OQ=or(([s,e,t,n])=>{const i=qt(n).toVar(),a=qt(t).toVar(),o=Qn(e).toVar(),u=Kn(s).toVar(),c=Kn(C_(u,o,a,i)).toVar(),d=qt(E_(u.add(Kn(Qn(19),Qn(193),Qn(17))),o,a,i)).toVar();return Ks(c,d)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),Uv=hd([or(([s,e,t,n,i,a,o])=>{const u=Qn(o).toVar(),c=qt(a).toVar(),d=Qn(i).toVar(),g=Qn(n).toVar(),v=Qn(t).toVar(),M=Qn(e).toVar(),B=Gi(s).toVar(),I=Kn(M_(Gi(M.add(g),v.add(d)))).toVar(),ne=Gi(I.x,I.y).toVar();ne.subAssign(.5),ne.mulAssign(c),ne.addAssign(.5);const ee=Gi(Gi(qt(M),qt(v)).add(ne)).toVar(),q=Gi(ee.sub(B)).toVar();return ra(u.equal(Qn(2)),()=>Su(q.x).add(Su(q.y))),ra(u.equal(Qn(3)),()=>mc(Su(q.x),Su(q.y))),ZA(q,q)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),or(([s,e,t,n,i,a,o,u,c])=>{const d=Qn(c).toVar(),g=qt(u).toVar(),v=Qn(o).toVar(),M=Qn(a).toVar(),B=Qn(i).toVar(),I=Qn(n).toVar(),ne=Qn(t).toVar(),ee=Qn(e).toVar(),q=Kn(s).toVar(),ye=Kn(M_(Kn(ee.add(B),ne.add(M),I.add(v)))).toVar();ye.subAssign(.5),ye.mulAssign(g),ye.addAssign(.5);const Ce=Kn(Kn(qt(ee),qt(ne),qt(I)).add(ye)).toVar(),ke=Kn(Ce.sub(q)).toVar();return ra(d.equal(Qn(2)),()=>Su(ke.x).add(Su(ke.y)).add(Su(ke.z))),ra(d.equal(Qn(3)),()=>mc(Su(ke.x),Su(ke.y),Su(ke.z))),ZA(ke,ke)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),DQ=or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Gi(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Gi(ic(a.x,o),ic(a.y,u)).toVar(),d=qt(1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:g})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:v})=>{const M=qt(Uv(c,g,v,o,u,i,n)).toVar();d.assign(Uf(d,M))})}),ra(n.equal(Qn(0)),()=>{d.assign(Nd(d))}),d}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),kQ=or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Gi(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Gi(ic(a.x,o),ic(a.y,u)).toVar(),d=Gi(1e6,1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:g})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:v})=>{const M=qt(Uv(c,g,v,o,u,i,n)).toVar();ra(M.lessThan(d.x),()=>{d.y.assign(d.x),d.x.assign(M)}).ElseIf(M.lessThan(d.y),()=>{d.y.assign(M)})})}),ra(n.equal(Qn(0)),()=>{d.assign(Nd(d))}),d}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),VQ=or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Gi(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Gi(ic(a.x,o),ic(a.y,u)).toVar(),d=Kn(1e6,1e6,1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:g})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:v})=>{const M=qt(Uv(c,g,v,o,u,i,n)).toVar();ra(M.lessThan(d.x),()=>{d.z.assign(d.y),d.y.assign(d.x),d.x.assign(M)}).ElseIf(M.lessThan(d.y),()=>{d.z.assign(d.y),d.y.assign(M)}).ElseIf(M.lessThan(d.z),()=>{d.z.assign(M)})})}),ra(n.equal(Qn(0)),()=>{d.assign(Nd(d))}),d}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),zQ=hd([DQ,or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Kn(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Qn().toVar(),d=Kn(ic(a.x,o),ic(a.y,u),ic(a.z,c)).toVar(),g=qt(1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:v})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:M})=>{kl({start:-1,end:Qn(1),name:"z",condition:"<="},({z:B})=>{const I=qt(Uv(d,v,M,B,o,u,c,i,n)).toVar();g.assign(Uf(g,I))})})}),ra(n.equal(Qn(0)),()=>{g.assign(Nd(g))}),g}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),GQ=hd([kQ,or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Kn(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Qn().toVar(),d=Kn(ic(a.x,o),ic(a.y,u),ic(a.z,c)).toVar(),g=Gi(1e6,1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:v})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:M})=>{kl({start:-1,end:Qn(1),name:"z",condition:"<="},({z:B})=>{const I=qt(Uv(d,v,M,B,o,u,c,i,n)).toVar();ra(I.lessThan(g.x),()=>{g.y.assign(g.x),g.x.assign(I)}).ElseIf(I.lessThan(g.y),()=>{g.y.assign(I)})})})}),ra(n.equal(Qn(0)),()=>{g.assign(Nd(g))}),g}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),TM=hd([VQ,or(([s,e,t])=>{const n=Qn(t).toVar(),i=qt(e).toVar(),a=Kn(s).toVar(),o=Qn().toVar(),u=Qn().toVar(),c=Qn().toVar(),d=Kn(ic(a.x,o),ic(a.y,u),ic(a.z,c)).toVar(),g=Kn(1e6,1e6,1e6).toVar();return kl({start:-1,end:Qn(1),name:"x",condition:"<="},({x:v})=>{kl({start:-1,end:Qn(1),name:"y",condition:"<="},({y:M})=>{kl({start:-1,end:Qn(1),name:"z",condition:"<="},({z:B})=>{const I=qt(Uv(d,v,M,B,o,u,c,i,n)).toVar();ra(I.lessThan(g.x),()=>{g.z.assign(g.y),g.y.assign(g.x),g.x.assign(I)}).ElseIf(I.lessThan(g.y),()=>{g.z.assign(g.y),g.y.assign(I)}).ElseIf(I.lessThan(g.z),()=>{g.z.assign(I)})})})}),ra(n.equal(Qn(0)),()=>{g.assign(Nd(g))}),g}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),HQ=or(([s,e,t,n,i,a,o,u,c,d,g])=>{const v=Qn(s).toVar(),M=Gi(e).toVar(),B=Gi(t).toVar(),I=Gi(n).toVar(),ne=qt(i).toVar(),ee=qt(a).toVar(),q=qt(o).toVar(),ye=WA(u).toVar(),Ce=Qn(c).toVar(),ke=qt(d).toVar(),nt=qt(g).toVar(),Ye=M.mul(B).add(I),ht=qt(0).toVar();return ra(v.equal(Qn(0)),()=>{ht.assign(cx(Ye))}),ra(v.equal(Qn(1)),()=>{ht.assign(M_(Ye))}),ra(v.equal(Qn(2)),()=>{ht.assign(TM(Ye,ne,Qn(0)))}),ra(v.equal(Qn(3)),()=>{ht.assign(C_(Kn(Ye,0),Ce,ke,nt))}),ht.assign(ht.mul(q.sub(ee)).add(ee)),ra(ye,()=>{ht.assign(Sp(ht,ee,q))}),ht}).setLayout({name:"mx_unifiednoise2d",type:"float",inputs:[{name:"noiseType",type:"int"},{name:"texcoord",type:"vec2"},{name:"freq",type:"vec2"},{name:"offset",type:"vec2"},{name:"jitter",type:"float"},{name:"outmin",type:"float"},{name:"outmax",type:"float"},{name:"clampoutput",type:"bool"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),QQ=or(([s,e,t,n,i,a,o,u,c,d,g])=>{const v=Qn(s).toVar(),M=Kn(e).toVar(),B=Kn(t).toVar(),I=Kn(n).toVar(),ne=qt(i).toVar(),ee=qt(a).toVar(),q=qt(o).toVar(),ye=WA(u).toVar(),Ce=Qn(c).toVar(),ke=qt(d).toVar(),nt=qt(g).toVar(),Ye=M.mul(B).add(I),ht=qt(0).toVar();return ra(v.equal(Qn(0)),()=>{ht.assign(cx(Ye))}),ra(v.equal(Qn(1)),()=>{ht.assign(M_(Ye))}),ra(v.equal(Qn(2)),()=>{ht.assign(TM(Ye,ne,Qn(0)))}),ra(v.equal(Qn(3)),()=>{ht.assign(C_(Ye,Ce,ke,nt))}),ht.assign(ht.mul(q.sub(ee)).add(ee)),ra(ye,()=>{ht.assign(Sp(ht,ee,q))}),ht}).setLayout({name:"mx_unifiednoise3d",type:"float",inputs:[{name:"noiseType",type:"int"},{name:"position",type:"vec3"},{name:"freq",type:"vec3"},{name:"offset",type:"vec3"},{name:"jitter",type:"float"},{name:"outmin",type:"float"},{name:"outmax",type:"float"},{name:"clampoutput",type:"bool"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),WQ=or(([s])=>{const e=s.y,t=s.z,n=Kn().toVar();return ra(e.lessThan(1e-4),()=>{n.assign(Kn(t,t,t))}).Else(()=>{let i=s.x;i=i.sub(ag(i)).mul(6).toVar();const a=Qn(G1(i)),o=i.sub(qt(a)),u=t.mul(e.oneMinus()),c=t.mul(e.mul(o).oneMinus()),d=t.mul(e.mul(o.oneMinus()).oneMinus());ra(a.equal(Qn(0)),()=>{n.assign(Kn(t,d,u))}).ElseIf(a.equal(Qn(1)),()=>{n.assign(Kn(c,t,u))}).ElseIf(a.equal(Qn(2)),()=>{n.assign(Kn(u,t,d))}).ElseIf(a.equal(Qn(3)),()=>{n.assign(Kn(u,c,t))}).ElseIf(a.equal(Qn(4)),()=>{n.assign(Kn(d,u,t))}).Else(()=>{n.assign(Kn(t,u,c))})}),n}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),ZQ=or(([s])=>{const e=Kn(s).toVar(),t=qt(e.x).toVar(),n=qt(e.y).toVar(),i=qt(e.z).toVar(),a=qt(Uf(t,Uf(n,i))).toVar(),o=qt(mc(t,mc(n,i))).toVar(),u=qt(o.sub(a)).toVar(),c=qt().toVar(),d=qt().toVar(),g=qt().toVar();return g.assign(o),ra(o.greaterThan(0),()=>{d.assign(u.div(o))}).Else(()=>{d.assign(0)}),ra(d.lessThanEqual(0),()=>{c.assign(0)}).Else(()=>{ra(t.greaterThanEqual(o),()=>{c.assign(n.sub(i).div(u))}).ElseIf(n.greaterThanEqual(o),()=>{c.assign($c(2,i.sub(t).div(u)))}).Else(()=>{c.assign($c(4,t.sub(n).div(u)))}),c.mulAssign(1/6),ra(c.lessThan(0),()=>{c.addAssign(1)})}),Kn(c,d,g)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),KQ=or(([s])=>{const e=Kn(s).toVar(),t=w1(F1(e,Kn(.04045))).toVar(),n=Kn(e.div(12.92)).toVar(),i=Kn(KA(mc(e.add(Kn(.055)),Kn(0)).div(1.055),Kn(2.4))).toVar();return zo(n,i,t)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),lN=(s,e)=>{s=qt(s),e=qt(e);const t=Gi(e.dFdx(),e.dFdy()).length().mul(.7071067811865476);return fA(s.sub(t),s.add(t),e)},uN=(s,e,t,n)=>zo(s,e,t[n].clamp()),$Q=(s,e,t=Zl())=>uN(s,e,t,"x"),XQ=(s,e,t=Zl())=>uN(s,e,t,"y"),jQ=(s,e,t,n,i=Zl())=>{const a=i.x.clamp(),o=i.y.clamp(),u=zo(s,e,a),c=zo(t,n,a);return zo(u,c,o)},cN=(s,e,t,n,i)=>zo(s,e,lN(t,n[i])),YQ=(s,e,t,n=Zl())=>cN(s,e,t,n,"x"),qQ=(s,e,t,n=Zl())=>cN(s,e,t,n,"y"),JQ=(s=1,e=0,t=Zl())=>t.mul(s).add(e),e6=(s,e=1)=>(s=qt(s),s.abs().pow(e).mul(s.sign())),t6=(s,e=1,t=.5)=>qt(s).sub(t).mul(e).add(t),n6=(s=Zl(),e=1,t=0)=>CM(s.convert("vec2|vec3")).mul(e).add(t),r6=(s=Zl(),e=1,t=0)=>cx(s.convert("vec2|vec3")).mul(e).add(t),i6=(s=Zl(),e=1,t=0)=>(s=s.convert("vec2|vec3"),Ks(cx(s),CM(s.add(Gi(19,73)))).mul(e).add(t)),s6=(s,e=Zl(),t=Gi(1,1),n=Gi(0,0),i=1,a=0,o=1,u=!1,c=1,d=2,g=.5)=>HQ(s,e.convert("vec2|vec3"),t,n,i,a,o,u,c,d,g),a6=(s,e=Zl(),t=Gi(1,1),n=Gi(0,0),i=1,a=0,o=1,u=!1,c=1,d=2,g=.5)=>QQ(s,e.convert("vec2|vec3"),t,n,i,a,o,u,c,d,g),o6=(s=Zl(),e=1)=>zQ(s.convert("vec2|vec3"),e,Qn(1)),l6=(s=Zl(),e=1)=>GQ(s.convert("vec2|vec3"),e,Qn(1)),u6=(s=Zl(),e=1)=>TM(s.convert("vec2|vec3"),e,Qn(1)),c6=(s=Zl())=>LQ(s.convert("vec2|vec3")),h6=(s=Zl(),e=3,t=2,n=.5,i=1)=>E_(s,Qn(e),t,n).mul(i),d6=(s=Zl(),e=3,t=2,n=.5,i=1)=>UQ(s,Qn(e),t,n).mul(i),f6=(s=Zl(),e=3,t=2,n=.5,i=1)=>C_(s,Qn(e),t,n).mul(i),A6=(s=Zl(),e=3,t=2,n=.5,i=1)=>OQ(s,Qn(e),t,n).mul(i),p6=(s,e=qt(0))=>$c(s,e),g6=(s,e=qt(0))=>el(s,e),m6=(s,e=qt(1))=>no(s,e),v6=(s,e=qt(1))=>dA(s,e),y6=(s,e=qt(1))=>Oy(s,e),x6=(s,e=qt(1))=>KA(s,e),b6=(s=qt(0),e=qt(1))=>Rb(s,e),_6=()=>Iv,w6=()=>fI,S6=(s,e=qt(1))=>el(e,s),M6=(s,e,t,n)=>s.greaterThan(e).mix(t,n),E6=(s,e,t,n)=>s.greaterThanEqual(e).mix(t,n),C6=(s,e,t,n)=>s.equal(e).mix(t,n),T6=(s,e=null)=>{if(typeof e=="string"){const t={x:0,r:0,y:1,g:1,z:2,b:2,w:3,a:3},n=e.replace(/^out/,"").toLowerCase();if(t[n]!==void 0)return s.element(t[n])}if(typeof e=="number")return s.element(e);if(typeof e=="string"&&e.length===1){const t={x:0,r:0,y:1,g:1,z:2,b:2,w:3,a:3};if(t[e]!==void 0)return s.element(t[e])}return s},B6=(s,e=Gi(.5,.5),t=Gi(1,1),n=qt(0),i=Gi(0,0))=>{let a=s;if(e&&(a=a.sub(e)),t&&(a=a.mul(t)),n){const o=n.mul(Math.PI/180),u=o.cos(),c=o.sin();a=Gi(a.x.mul(u).sub(a.y.mul(c)),a.x.mul(c).add(a.y.mul(u)))}return e&&(a=a.add(e)),i&&(a=a.add(i)),a},R6=(s,e)=>{s=Gi(s),e=qt(e);const t=e.mul(Math.PI/180);return Xy(s,t)},I6=(s,e,t)=>{s=Kn(s),e=qt(e),t=Kn(t);const n=e.mul(Math.PI/180),i=t.normalize(),a=n.cos(),o=n.sin(),u=qt(1).sub(a);return s.mul(a).add(i.cross(s).mul(o)).add(i.mul(i.dot(s)).mul(u))},N6=(s,e)=>(s=Kn(s),e=qt(e),bS(s,e)),F6=or(([s,e,t])=>{const n=rf(s).toVar(),i=el(qt(.5).mul(e.sub(t)),pA).div(n).toVar(),a=el(qt(-.5).mul(e.sub(t)),pA).div(n).toVar(),o=Kn().toVar();o.x=n.x.greaterThan(qt(0)).select(i.x,a.x),o.y=n.y.greaterThan(qt(0)).select(i.y,a.y),o.z=n.z.greaterThan(qt(0)).select(i.z,a.z);const u=Uf(o.x,o.y,o.z).toVar();return pA.add(n.mul(u)).toVar().sub(t)}),hN=or(([s,e])=>{const t=s.x,n=s.y,i=s.z;let a=e.element(0).mul(.886227);return a=a.add(e.element(1).mul(2*.511664).mul(n)),a=a.add(e.element(2).mul(2*.511664).mul(i)),a=a.add(e.element(3).mul(2*.511664).mul(t)),a=a.add(e.element(4).mul(2*.429043).mul(t).mul(n)),a=a.add(e.element(5).mul(2*.429043).mul(n).mul(i)),a=a.add(e.element(6).mul(i.mul(i).mul(.743125).sub(.247708))),a=a.add(e.element(7).mul(2*.429043).mul(t).mul(i)),a=a.add(e.element(8).mul(.429043).mul(no(t,t).sub(no(n,n)))),a});var wj=Object.freeze({__proto__:null,BRDF_GGX:DS,BRDF_Lambert:x0,BasicPointShadowFilter:JI,BasicShadowFilter:GI,Break:j2,Const:pB,Continue:rV,DFGLUT:Wy,D_GGX:vR,Discard:FB,EPSILON:P1,F_Schlick:Tv,Fn:or,HALF_PI:Ik,INFINITY:Tk,If:ra,Loop:kl,NodeAccess:od,NodeShaderStage:Cy,NodeType:Y3,NodeUpdateType:Ao,OnBeforeMaterialUpdate:CG,OnBeforeObjectUpdate:EG,OnMaterialUpdate:MG,OnObjectUpdate:SG,PCFShadowFilter:HI,PCFSoftShadowFilter:QI,PI:Cb,PI2:Bk,PointShadowFilter:eN,Return:Kk,Schlick_to_F0:kS,ScriptableNodeResources:v_,ShaderNode:Av,Stack:mb,Switch:yk,TBNViewMatrix:y0,TWO_PI:Rk,VSMShadowFilter:WI,V_GGX_SmithCorrelated:mR,Var:AB,VarIntent:gB,abs:Su,acesFilmicToneMapping:CI,acos:O1,add:$c,addMethodChaining:ci,addNodeElement:Yk,agxToneMapping:TI,all:kT,alphaT:wb,and:ST,anisotropy:Fm,anisotropyB:f0,anisotropyT:Fy,any:VT,append:wk,array:mT,arrayBuffer:bk,asin:QT,assign:vT,atan:Rb,atan2:lB,atomicAdd:LH,atomicAnd:kH,atomicFunc:pg,atomicLoad:FH,atomicMax:OH,atomicMin:DH,atomicOr:VH,atomicStore:PH,atomicSub:UH,atomicXor:zH,attenuationColor:B1,attenuationDistance:T1,attribute:af,attributeArray:RG,backgroundBlurriness:gI,backgroundIntensity:hM,backgroundRotation:mI,batch:Z2,bentNormalView:d2,billboarding:oG,bitAnd:TT,bitNot:BT,bitOr:RT,bitXor:IT,bitangentGeometry:U4,bitangentLocal:O4,bitangentView:c2,bitangentWorld:D4,bitcast:hI,blendBurn:iR,blendColor:xV,blendDodge:sR,blendOverlay:oR,blendScreen:aR,blur:VR,bool:WA,buffer:Dy,bufferAttribute:J1,builtin:jg,builtinAOContext:dB,builtinShadowContext:hB,bumpMap:bS,burn:_V,bvec2:uT,bvec3:w1,bvec4:cT,bypass:BB,cache:TB,call:yT,cameraFar:Jg,cameraIndex:Um,cameraNear:qg,cameraNormalMatrix:d4,cameraPosition:zy,cameraProjectionMatrix:of,cameraProjectionMatrixInverse:c4,cameraViewMatrix:AA,cameraViewport:f4,cameraWorldMatrix:h4,cbrt:rB,cdl:$G,ceil:Bb,checker:IQ,cineonToneMapping:EI,clamp:Sp,clearcoat:yb,clearcoatNormalView:v0,clearcoatRoughness:Ny,code:g_,color:lT,colorSpaceToWorking:Pb,colorToDirection:V4,compute:CB,computeKernel:tS,computeSkinning:tV,context:Kg,convert:dT,convertColorSpace:Dk,convertToTexture:yG,cos:wp,countLeadingZeros:O5,countOneBits:D5,countTrailingZeros:U5,cross:Zg,cubeTexture:lf,cubeTextureBase:pS,dFdx:V1,dFdy:z1,dashSize:p0,debug:PB,decrement:OT,decrementBefore:LT,defaultBuildStages:d1,defaultShaderStages:qC,defined:By,degrees:GT,deltaTime:J5,densityFog:gH,densityFogFactor:AM,depth:PS,depthPass:JG,determinant:XT,difference:eB,diffuseColor:Wl,diffuseContribution:d0,directPointLight:nN,directionToColor:f2,directionToFaceDirection:bv,dispersion:R1,disposeShadowMaterial:KI,distance:JT,div:dA,dodge:wV,dot:ZA,drawIndex:H2,dynamicBufferAttribute:Hk,element:hT,emissive:E1,equal:N1,equals:YT,equirectUV:LS,exp:L1,exp2:mv,expression:$g,faceDirection:hS,faceForward:$1,faceforward:Nk,float:qt,floatBitsToInt:F5,floatBitsToUint:dI,floor:ag,fog:ix,fract:_p,frameGroup:pT,frameId:fI,frontFacing:QB,fwidth:H1,gain:V5,gapSize:Py,getConstNodeType:oT,getCurrentStack:x1,getDirection:DR,getDistanceAttenuation:EM,getGeometryRoughness:gR,getNormalFromDepth:bG,getParallaxCorrectNormal:F6,getRoughness:OS,getScreenPosition:xG,getShIrradianceAt:hN,getShadowMaterial:ZI,getShadowRenderObjectFunction:XI,getTextureIndex:uI,getViewPosition:Pv,ggxConvolution:zR,globalId:_H,glsl:lH,glslFn:uH,grayscale:QG,greaterThan:F1,greaterThanEqual:wT,hash:k5,highpModelNormalViewMatrix:uS,highpModelViewMatrix:lS,hue:KG,increment:UT,incrementBefore:PT,inspector:UB,instance:q4,instanceIndex:hg,instancedArray:IG,instancedBufferAttribute:Ub,instancedDynamicBufferAttribute:eS,instancedMesh:W2,int:Qn,intBitsToFloat:P5,interleavedGradientNoise:uM,inverse:jT,inverseSqrt:U1,inversesqrt:Fk,invocationLocalIndex:Y4,invocationSubgroupIndex:j4,ior:Ly,iridescence:xb,iridescenceIOR:bb,iridescenceThickness:_b,isolate:yv,ivec2:ch,ivec3:_1,ivec4:S1,js:aH,label:fB,length:og,lengthSq:Z1,lessThan:bT,lessThanEqual:_T,lightPosition:gM,lightProjectionUV:PI,lightShadowMatrix:b_,lightTargetDirection:vM,lightTargetPosition:LI,lightViewPosition:mM,lightingContext:J2,lights:pQ,linearDepth:Cv,linearToneMapping:SI,localId:wH,log:Tb,log2:sg,logarithmicDepthToViewZ:dV,luminance:dM,mat2:vb,mat3:ld,mat4:Im,matcapUV:YR,materialAO:V2,materialAlphaTest:p2,materialAnisotropy:B2,materialAnisotropyVector:wv,materialAttenuationColor:O2,materialAttenuationDistance:U2,materialClearcoat:w2,materialClearcoatNormal:M2,materialClearcoatRoughness:S2,materialColor:Wb,materialDispersion:k2,materialEmissive:m2,materialEnvIntensity:Vb,materialEnvRotation:AS,materialIOR:L2,materialIridescence:R2,materialIridescenceIOR:I2,materialIridescenceThickness:N2,materialLightMap:CS,materialLineDashOffset:ES,materialLineDashSize:SS,materialLineGapSize:MS,materialLineScale:wS,materialLineWidth:$b,materialMetalness:b2,materialNormal:_2,materialOpacity:Zb,materialPointSize:D2,materialReference:em,materialReflectivity:Kb,materialRefractionRatio:XB,materialRotation:E2,materialRoughness:x2,materialSheen:C2,materialSheenRoughness:T2,materialShininess:g2,materialSpecular:v2,materialSpecularColor:y2,materialSpecularIntensity:_S,materialSpecularStrength:Hy,materialThickness:P2,materialTransmission:F2,max:mc,maxMipLevel:rS,mediumpModelViewMatrix:HB,metalness:Wg,min:Uf,mix:zo,mixElement:sB,mod:Oy,modInt:DT,modelDirection:y4,modelNormalMatrix:GB,modelPosition:x4,modelRadius:zB,modelScale:b4,modelViewMatrix:cg,modelViewPosition:_4,modelViewProjection:z2,modelWorldMatrix:XA,modelWorldMatrixInverse:w4,morphReference:q2,mrt:cI,mul:no,mx_aastep:lN,mx_add:p6,mx_atan2:b6,mx_cell_noise_float:c6,mx_contrast:t6,mx_divide:v6,mx_fractal_noise_float:h6,mx_fractal_noise_vec2:d6,mx_fractal_noise_vec3:f6,mx_fractal_noise_vec4:A6,mx_frame:w6,mx_heighttonormal:N6,mx_hsvtorgb:WQ,mx_ifequal:C6,mx_ifgreater:M6,mx_ifgreatereq:E6,mx_invert:S6,mx_modulo:y6,mx_multiply:m6,mx_noise_float:n6,mx_noise_vec3:r6,mx_noise_vec4:i6,mx_place2d:B6,mx_power:x6,mx_ramp4:jQ,mx_ramplr:$Q,mx_ramptb:XQ,mx_rgbtohsv:ZQ,mx_rotate2d:R6,mx_rotate3d:I6,mx_safepower:e6,mx_separate:T6,mx_splitlr:YQ,mx_splittb:qQ,mx_srgb_texture_to_lin_rec709:KQ,mx_subtract:g6,mx_timer:_6,mx_transform_uv:JQ,mx_unifiednoise2d:s6,mx_unifiednoise3d:a6,mx_worley_noise_float:o6,mx_worley_noise_vec2:l6,mx_worley_noise_vec3:u6,negate:k1,neutralToneMapping:BI,nodeArray:c0,nodeImmutable:xs,nodeObject:Ss,nodeObjectIntent:Ry,nodeObjects:gb,nodeProxy:to,nodeProxyIntent:ji,normalFlat:WB,normalGeometry:kb,normalLocal:Of,normalMap:xS,normalView:cl,normalViewGeometry:_v,normalWorld:Om,normalWorldGeometry:ZB,normalize:rf,not:ET,notEqual:xT,numWorkgroups:xH,objectDirection:A4,objectGroup:I1,objectPosition:VB,objectRadius:v4,objectScale:g4,objectViewPosition:m4,objectWorldMatrix:p4,oneMinus:WT,or:MT,orthographicDepthToViewZ:hV,oscSawtooth:rG,oscSine:eG,oscSquare:tG,oscTriangle:nG,output:gv,outputStruct:I5,overlay:MV,overloadingFn:hd,packHalf2x16:W5,packSnorm2x16:H5,packUnorm2x16:Q5,parabola:rM,parallaxDirection:h2,parallaxUV:k4,parameter:M5,pass:YG,passTexture:qG,pcurve:z5,perspectiveDepthToViewZ:NS,pmremTexture:eM,pointShadow:tN,pointUV:FG,pointWidth:Sk,positionGeometry:cd,positionLocal:vc,positionPrevious:Db,positionView:Oc,positionViewDirection:iu,positionWorld:pA,positionWorldDirection:cS,posterize:jG,pow:KA,pow2:Q1,pow3:tB,pow4:W1,premultiplyAlpha:lR,property:bp,quadBroadcast:dQ,quadSwapDiagonal:aQ,quadSwapX:iQ,quadSwapY:sQ,radians:zT,rand:iB,range:vH,rangeFog:pH,rangeFogFactor:fM,reciprocal:KT,reference:su,referenceBuffer:gS,reflect:qT,reflectVector:qB,reflectView:jB,reflector:AG,refract:K1,refractVector:JB,refractView:YB,reinhardToneMapping:MI,remap:IB,remapClamp:NB,renderGroup:xa,renderOutput:nS,rendererReference:_B,replaceDefaultUV:iG,rotate:Xy,rotateUV:sG,roughness:ig,round:ZT,rtt:pI,sRGBTransferEOTF:vB,sRGBTransferOETF:yB,sample:wG,sampler:r4,samplerComparison:i4,saturate:Nb,saturation:WG,screen:SV,screenCoordinate:m0,screenDPR:aS,screenSize:g0,screenUV:Yg,scriptable:AH,scriptableValue:m_,select:ud,setCurrentStack:Iy,setName:X1,shaderStages:f1,shadow:YI,shadowPositionWorld:bM,shapeCircle:NQ,sharedUniformGroup:Eb,sheen:hA,sheenRoughness:Nm,shiftLeft:NT,shiftRight:FT,shininess:Sb,sign:D1,sin:sf,sinc:G5,skinning:X2,smoothstep:fA,smoothstepElement:aB,specularColor:Pm,specularColorBlended:A0,specularF90:pv,spherizeUV:aG,split:_k,spritesheetUV:cG,sqrt:Nd,stack:a_,step:Ib,stepElement:oB,storage:tm,storageBarrier:CH,storageObject:$4,storageTexture:vI,string:xk,struct:R5,sub:el,subBuild:vv,subgroupAdd:QH,subgroupAll:tQ,subgroupAnd:jH,subgroupAny:nQ,subgroupBallot:HH,subgroupBroadcast:oQ,subgroupBroadcastFirst:rQ,subgroupElect:GH,subgroupExclusiveAdd:ZH,subgroupExclusiveMul:XH,subgroupInclusiveAdd:WH,subgroupInclusiveMul:$H,subgroupIndex:X4,subgroupMax:eQ,subgroupMin:JH,subgroupMul:KH,subgroupOr:YH,subgroupShuffle:lQ,subgroupShuffleDown:hQ,subgroupShuffleUp:cQ,subgroupShuffleXor:uQ,subgroupSize:SH,subgroupXor:qH,tan:HT,tangentGeometry:Gb,tangentLocal:Gy,tangentView:Hb,tangentWorld:u2,texture:xl,texture3D:A_,texture3DLevel:kG,texture3DLoad:DG,textureBarrier:TH,textureBicubic:nz,textureBicubicLevel:GS,textureCubeUV:kR,textureLevel:n4,textureLoad:Rc,textureSize:Xg,textureStore:LG,thickness:C1,time:Iv,toneMapping:wB,toneMappingExposure:SB,toonOutlinePass:tH,transformDirection:nB,transformNormal:KB,transformNormalToView:dS,transformedClearcoatNormalView:C4,transformedNormalView:M4,transformedNormalWorld:E4,transmission:Mb,transpose:$T,triNoise3D:j5,triplanarTexture:hG,triplanarTextures:AI,trunc:G1,uint:Fi,uintBitsToFloat:L5,uniform:va,uniformArray:Fd,uniformCubeTexture:B4,uniformFlow:cB,uniformGroup:AT,uniformTexture:t4,unpackHalf2x16:$5,unpackNormal:yS,unpackSnorm2x16:Z5,unpackUnorm2x16:K5,unpremultiplyAlpha:bV,userData:zG,uv:Zl,uvec2:b1,uvec3:h0,uvec4:M1,varying:lg,varyingProperty:cA,vec2:Gi,vec3:Kn,vec4:Ks,vectorComponents:l0,velocity:HG,vertexColor:rR,vertexIndex:G2,vertexStage:mB,vibrance:ZG,viewZToLogarithmicDepth:FS,viewZToOrthographicDepth:Ev,viewZToPerspectiveDepth:IS,viewport:xv,viewportCoordinate:DB,viewportDepthTexture:RS,viewportLinearDepth:fV,viewportMipTexture:BS,viewportResolution:u4,viewportSafeUV:lG,viewportSharedTexture:uR,viewportSize:oS,viewportTexture:uV,viewportUV:l4,vogelDiskSample:Ep,wgsl:oH,wgslFn:cH,workgroupArray:IH,workgroupBarrier:EH,workgroupId:bH,workingToColorSpace:xB,xor:CT});const Cp=new nM;class P6 extends Vm{constructor(e,t){super(),this.renderer=e,this.nodes=t}update(e,t,n){const i=this.renderer,a=this.nodes.getBackgroundNode(e)||e.background;let o=!1;if(a===null)i._clearColor.getRGB(Cp),Cp.a=i._clearColor.a;else if(a.isColor===!0)a.getRGB(Cp),Cp.a=1,o=!0;else if(a.isNode===!0){const c=this.get(e),d=a;Cp.copy(i._clearColor);let g=c.backgroundMesh;if(g===void 0){let ye=function(){a.removeEventListener("dispose",ye),g.material.dispose(),g.geometry.dispose()};const M=Ks(d).mul(hM).context({getUV:()=>mI.mul(ZB),getTextureLevel:()=>gI}),B=of.element(3).element(3).equal(1),I=dA(1,of.element(1).element(1)).mul(3),ne=B.select(vc.mul(I),vc);let ee=of.mul(cg.mul(Ks(ne,0)));ee=ee.setZ(ee.w);const q=new yc;q.name="Background.material",q.side=de,q.depthTest=!1,q.depthWrite=!1,q.allowOverride=!1,q.fog=!1,q.lights=!1,q.vertexNode=ee,q.colorNode=M,c.backgroundMeshNode=M,c.backgroundMesh=g=new Il(new sd(1,32,32),q),g.frustumCulled=!1,g.name="Background.mesh",a.addEventListener("dispose",ye)}const v=d.getCacheKey();c.backgroundCacheKey!==v&&(c.backgroundMeshNode.node=Ks(d).mul(hM),c.backgroundMeshNode.needsUpdate=!0,g.material.needsUpdate=!0,c.backgroundCacheKey=v),t.unshift(g,g.geometry,g.material,0,0,null,null)}else Gr("Renderer: Unsupported background configuration.",a);const u=i.xr.getEnvironmentBlendMode();if(u==="additive"?Cp.set(0,0,0,1):u==="alpha-blend"&&Cp.set(0,0,0,0),i.autoClear===!0||o===!0){const c=n.clearColorValue;c.r=Cp.r,c.g=Cp.g,c.b=Cp.b,c.a=Cp.a,(i.backend.isWebGLBackend===!0||i.alpha===!0)&&(c.r*=c.a,c.g*=c.a,c.b*=c.a),n.depthClearValue=i._clearDepth,n.stencilClearValue=i._clearStencil,n.clearColor=i.autoClearColor===!0,n.clearDepth=i.autoClearDepth===!0,n.clearStencil=i.autoClearStencil===!0}else n.clearColor=!1,n.clearDepth=!1,n.clearStencil=!1}}let L6=0;class BM{constructor(e="",t=[],n=0,i=[]){this.name=e,this.bindings=t,this.index=n,this.bindingsReference=i,this.id=L6++}}class U6{constructor(e,t,n,i,a,o,u,c,d,g=[]){this.vertexShader=e,this.fragmentShader=t,this.computeShader=n,this.transforms=g,this.nodeAttributes=i,this.bindings=a,this.updateNodes=o,this.updateBeforeNodes=u,this.updateAfterNodes=c,this.observer=d,this.usedTimes=0}createBindings(){const e=[];for(const t of this.bindings)if(t.bindings[0].groupNode.shared!==!0){const i=new BM(t.name,[],t.index,t.bindingsReference);e.push(i);for(const a of t.bindings)i.bindings.push(a.clone())}else e.push(t);return e}}class dN{constructor(e,t,n=null){this.isNodeAttribute=!0,this.name=e,this.type=t,this.node=n}}class O6{constructor(e,t,n){this.isNodeUniform=!0,this.name=e,this.type=t,this.node=n}get value(){return this.node.value}set value(e){this.node.value=e}get id(){return this.node.id}get groupNode(){return this.node.groupNode}}class fN{constructor(e,t,n=!1,i=null){this.isNodeVar=!0,this.name=e,this.type=t,this.readOnly=n,this.count=i}}class D6 extends fN{constructor(e,t,n=null,i=null){super(e,t),this.needsInterpolation=!1,this.isNodeVarying=!0,this.interpolationType=n,this.interpolationSampling=i}}class k6{constructor(e,t,n=""){this.name=e,this.type=t,this.code=n,Object.defineProperty(this,"isNodeCode",{value:!0})}}let V6=0;class RM{constructor(e=null){this.id=V6++,this.nodesData=new WeakMap,this.parent=e}getData(e){let t=this.nodesData.get(e);return t===void 0&&this.parent!==null&&(t=this.parent.getData(e)),t}setData(e,t){this.nodesData.set(e,t)}}class z6{constructor(e,t){this.name=e,this.members=t,this.output=!1}}class Gm{constructor(e,t){this.name=e,this.value=t,this.boundary=0,this.itemSize=0,this.offset=0}setValue(e){this.value=e}getValue(){return this.value}}class G6 extends Gm{constructor(e,t=0){super(e,t),this.isNumberUniform=!0,this.boundary=4,this.itemSize=1}}class H6 extends Gm{constructor(e,t=new ce){super(e,t),this.isVector2Uniform=!0,this.boundary=8,this.itemSize=2}}class Q6 extends Gm{constructor(e,t=new le){super(e,t),this.isVector3Uniform=!0,this.boundary=16,this.itemSize=3}}class W6 extends Gm{constructor(e,t=new Ni){super(e,t),this.isVector4Uniform=!0,this.boundary=16,this.itemSize=4}}class Z6 extends Gm{constructor(e,t=new Wr){super(e,t),this.isColorUniform=!0,this.boundary=16,this.itemSize=3}}class K6 extends Gm{constructor(e,t=new gp){super(e,t),this.isMatrix2Uniform=!0,this.boundary=8,this.itemSize=4}}class $6 extends Gm{constructor(e,t=new pn){super(e,t),this.isMatrix3Uniform=!0,this.boundary=48,this.itemSize=12}}class X6 extends Gm{constructor(e,t=new di){super(e,t),this.isMatrix4Uniform=!0,this.boundary=64,this.itemSize=16}}class j6 extends G6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Y6 extends H6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class q6 extends Q6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class J6 extends W6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class e8 extends Z6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class t8 extends K6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class n8 extends $6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class r8 extends X6{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}let i8=0;const s8=new WeakMap,AN=new WeakMap,a8=new Map([[Int8Array,"int"],[Int16Array,"int"],[Int32Array,"int"],[Uint8Array,"uint"],[Uint16Array,"uint"],[Uint32Array,"uint"],[Float32Array,"float"]]),T_=s=>/e/g.test(s)?String(s).replace(/\+/g,""):(s=Number(s),s+(s%1?"":".0"));class pN{constructor(e,t,n){this.object=e,this.material=e&&e.material||null,this.geometry=e&&e.geometry||null,this.renderer=t,this.parser=n,this.scene=null,this.camera=null,this.nodes=[],this.sequentialNodes=[],this.updateNodes=[],this.updateBeforeNodes=[],this.updateAfterNodes=[],this.hashNodes={},this.observer=null,this.lightsNode=null,this.environmentNode=null,this.fogNode=null,this.clippingContext=null,this.vertexShader=null,this.fragmentShader=null,this.computeShader=null,this.flowNodes={vertex:[],fragment:[],compute:[]},this.flowCode={vertex:"",fragment:"",compute:""},this.uniforms={vertex:[],fragment:[],compute:[],index:0},this.structs={vertex:[],fragment:[],compute:[],index:0},this.types={vertex:[],fragment:[],compute:[],index:0},this.bindings={vertex:{},fragment:{},compute:{}},this.bindingsIndexes={},this.bindGroups=null,this.attributes=[],this.bufferAttributes=[],this.varyings=[],this.codes={},this.vars={},this.declarations={},this.flow={code:""},this.chaining=[],this.stack=a_(),this.stacks=[],this.tab=" ",this.currentFunctionNode=null,this.context={material:this.material},this.cache=new RM,this.globalCache=this.cache,this.flowsData=new WeakMap,this.shaderStage=null,this.buildStage=null,this.subBuildLayers=[],this.activeStacks=[],this.subBuildFn=null,this.fnCall=null,Object.defineProperty(this,"id",{value:i8++})}isOpaque(){const e=this.material;return e.transparent===!1&&e.blending===ve&&e.alphaToCoverage===!1}getBindGroupsCache(){let e=AN.get(this.renderer);return e===void 0&&(e=new Mp,AN.set(this.renderer,e)),e}createRenderTarget(e,t,n){return new Ns(e,t,n)}createCubeRenderTarget(e,t){return new cR(e,t)}includes(e){return this.nodes.includes(e)}getOutputStructName(){}_getBindGroup(e,t){const n=this.getBindGroupsCache(),i=[];let a=!0;for(const u of t)i.push(u),a=a&&u.groupNode.shared!==!0;let o;return a?(o=n.get(i),o===void 0&&(o=new BM(e,i,this.bindingsIndexes[e].group,i),n.set(i,o))):o=new BM(e,i,this.bindingsIndexes[e].group,i),o}getBindGroupArray(e,t){const n=this.bindings[t];let i=n[e];return i===void 0&&(this.bindingsIndexes[e]===void 0&&(this.bindingsIndexes[e]={binding:0,group:Object.keys(this.bindingsIndexes).length}),n[e]=i=[]),i}getBindings(){let e=this.bindGroups;if(e===null){const t={},n=this.bindings;for(const i of f1)for(const a in n[i]){const o=n[i][a];(t[a]||(t[a]=[])).push(...o)}e=[];for(const i in t){const a=t[i],o=this._getBindGroup(i,a);e.push(o)}this.bindGroups=e}return e}sortBindingGroups(){const e=this.getBindings();e.sort((t,n)=>t.bindings[0].groupNode.order-n.bindings[0].groupNode.order);for(let t=0;t=0?`${Math.round(t)}u`:"0u";if(e==="bool")return t?"true":"false";if(e==="color")return`${this.getType("vec3")}( ${T_(t.r)}, ${T_(t.g)}, ${T_(t.b)} )`;const n=this.getTypeLength(e),i=this.getComponentType(e),a=o=>this.generateConst(i,o);if(n===2)return`${this.getType(e)}( ${a(t.x)}, ${a(t.y)} )`;if(n===3)return`${this.getType(e)}( ${a(t.x)}, ${a(t.y)}, ${a(t.z)} )`;if(n===4&&e!=="mat2")return`${this.getType(e)}( ${a(t.x)}, ${a(t.y)}, ${a(t.z)}, ${a(t.w)} )`;if(n>=4&&t&&(t.isMatrix2||t.isMatrix3||t.isMatrix4))return`${this.getType(e)}( ${t.elements.map(a).join(", ")} )`;if(n>4)return`${this.getType(e)}()`;throw new Error(`NodeBuilder: Type '${e}' not found in generate constant attempt.`)}getType(e){return e==="color"?"vec3":e}hasGeometryAttribute(e){return this.geometry&&this.geometry.getAttribute(e)!==void 0}getAttribute(e,t){const n=this.attributes;for(const a of n)if(a.name===e)return a;const i=new dN(e,t);return this.registerDeclaration(i),n.push(i),i}getPropertyName(e){return e.name}isVector(e){return/vec\d/.test(e)}isMatrix(e){return/mat\d/.test(e)}isReference(e){return e==="void"||e==="property"||e==="sampler"||e==="samplerComparison"||e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="depthTexture"||e==="texture3D"}needsToWorkingColorSpace(){return!1}getComponentTypeFromTexture(e){const t=e.type;if(e.isDataTexture){if(t===Xt)return"int";if(t===st)return"uint"}return"float"}getElementType(e){return e==="mat2"?"vec2":e==="mat3"?"vec3":e==="mat4"?"vec4":this.getComponentType(e)}getComponentType(e){if(e=this.getVectorType(e),e==="float"||e==="bool"||e==="int"||e==="uint")return e;const t=/(b|i|u|)(vec|mat)([2-4])/.exec(e);return t===null?null:t[1]==="b"?"bool":t[1]==="i"?"int":t[1]==="u"?"uint":"float"}getVectorType(e){return e==="color"?"vec3":e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="texture3D"?"vec4":e}getTypeFromLength(e,t="float"){if(e===1)return t;let n=o1(e);const i=t==="float"?"":t[0];return/mat2/.test(t)===!0&&(n=n.replace("vec","mat")),i+n}getTypeFromArray(e){return a8.get(e.constructor)}isInteger(e){return/int|uint|(i|u)vec/.test(e)}getTypeFromAttribute(e){let t=e;e.isInterleavedBufferAttribute&&(t=e.data);const n=t.array,i=e.itemSize,a=e.normalized;let o;return!(e instanceof Yu)&&a!==!0&&(o=this.getTypeFromArray(n)),this.getTypeFromLength(i,o)}getTypeLength(e){const t=this.getVectorType(e),n=/vec([2-4])/.exec(t);return n!==null?Number(n[1]):t==="float"||t==="bool"||t==="int"||t==="uint"?1:/mat2/.test(e)===!0?4:/mat3/.test(e)===!0?9:/mat4/.test(e)===!0?16:0}getVectorFromMatrix(e){return e.replace("mat","vec")}changeComponentType(e,t){return this.getTypeFromLength(this.getTypeLength(e),t)}getIntegerType(e){const t=this.getComponentType(e);return t==="int"||t==="uint"?e:this.changeComponentType(e,"int")}setActiveStack(e){this.activeStacks.push(e)}removeActiveStack(e){if(this.activeStacks[this.activeStacks.length-1]===e)this.activeStacks.pop();else throw new Error("NodeBuilder: Invalid active stack removal.")}getActiveStack(){return this.activeStacks[this.activeStacks.length-1]}getBaseStack(){return this.activeStacks[0]}addStack(){this.stack=a_(this.stack);const e=x1();return this.stacks.push(e),Iy(this.stack),this.stack}removeStack(){const e=this.stack;for(const t of e.nodes){const n=this.getDataFromNode(t);n.stack=e}return this.stack=e.parent,Iy(this.stacks.pop()),e}getDataFromNode(e,t=this.shaderStage,n=null){n=n===null?e.isGlobal(this)?this.globalCache:this.cache:n;let i=n.getData(e);i===void 0&&(i={},n.setData(e,i)),i[t]===void 0&&(i[t]={});let a=i[t];const o=i.any?i.any.subBuilds:null,u=this.getClosestSubBuild(o);return u&&(a.subBuildsCache===void 0&&(a.subBuildsCache={}),a=a.subBuildsCache[u]||(a.subBuildsCache[u]={}),a.subBuilds=o),a}getNodeProperties(e,t="any"){const n=this.getDataFromNode(e,t);return n.properties||(n.properties={outputNode:null})}getBufferAttributeFromNode(e,t){const n=this.getDataFromNode(e,"vertex");let i=n.bufferAttribute;if(i===void 0){const a=this.uniforms.index++;i=new dN("nodeAttribute"+a,t,e),this.bufferAttributes.push(i),n.bufferAttribute=i}return i}getStructTypeNode(e,t=this.shaderStage){return this.types[t][e]||null}getStructTypeFromNode(e,t,n=null,i=this.shaderStage){const a=this.getDataFromNode(e,i,this.globalCache);let o=a.structType;if(o===void 0){const u=this.structs.index++;n===null&&(n="StructType"+u),o=new z6(n,t),this.structs[i].push(o),this.types[i][n]=e,a.structType=o}return o}getOutputStructTypeFromNode(e,t){const n=this.getStructTypeFromNode(e,t,"OutputType","fragment");return n.output=!0,n}getUniformFromNode(e,t,n=this.shaderStage,i=null){const a=this.getDataFromNode(e,n,this.globalCache);let o=a.uniform;if(o===void 0){const u=this.uniforms.index++;o=new O6(i||"nodeUniform"+u,t,e),this.uniforms[n].push(o),this.registerDeclaration(o),a.uniform=o}return o}getVarFromNode(e,t=null,n=e.getNodeType(this),i=this.shaderStage,a=!1){const o=this.getDataFromNode(e,i),u=this.getSubBuildProperty("variable",o.subBuilds);let c=o[u];if(c===void 0){const d=a?"_const":"_var",g=this.vars[i]||(this.vars[i]=[]),v=this.vars[d]||(this.vars[d]=0);t===null&&(t=(a?"nodeConst":"nodeVar")+v,this.vars[d]++),u!=="variable"&&(t=this.getSubBuildProperty(t,o.subBuilds));const M=e.getArrayCount(this);c=new fN(t,n,a,M),a||g.push(c),this.registerDeclaration(c),o[u]=c}return c}isDeterministic(e){if(e.isMathNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0)&&(e.cNode?this.isDeterministic(e.cNode):!0);if(e.isOperatorNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0);if(e.isArrayNode){if(e.values!==null){for(const t of e.values)if(!this.isDeterministic(t))return!1}return!0}else if(e.isConstNode)return!0;return!1}getVaryingFromNode(e,t=null,n=e.getNodeType(this),i=null,a=null){const o=this.getDataFromNode(e,"any"),u=this.getSubBuildProperty("varying",o.subBuilds);let c=o[u];if(c===void 0){const d=this.varyings,g=d.length;t===null&&(t="nodeVarying"+g),u!=="varying"&&(t=this.getSubBuildProperty(t,o.subBuilds)),c=new D6(t,n,i,a),d.push(c),this.registerDeclaration(c),o[u]=c}return c}registerDeclaration(e){const t=this.shaderStage,n=this.declarations[t]||(this.declarations[t]={}),i=this.getPropertyName(e);let a=1,o=i;for(;n[o]!==void 0;)o=i+"_"+a++;a>1&&(e.name=o,Lr(`TSL: Declaration name '${i}' of '${e.type}' already in use. Renamed to '${o}'.`)),n[o]=e}getCodeFromNode(e,t,n=this.shaderStage){const i=this.getDataFromNode(e);let a=i.code;if(a===void 0){const o=this.codes[n]||(this.codes[n]=[]),u=o.length;a=new k6("nodeCode"+u,t),o.push(a),i.code=a}return a}addFlowCodeHierarchy(e,t){const{flowCodes:n,flowCodeBlock:i}=this.getDataFromNode(e);let a=!0,o=t;for(;o;){if(i.get(o)===!0){a=!1;break}o=this.getDataFromNode(o).parentNodeBlock}if(a)for(const u of n)this.addLineFlowCode(u)}addLineFlowCodeBlock(e,t,n){const i=this.getDataFromNode(e),a=i.flowCodes||(i.flowCodes=[]),o=i.flowCodeBlock||(i.flowCodeBlock=new WeakMap);a.push(t),o.set(n,!0)}addLineFlowCode(e,t=null){return e===""?this:(t!==null&&this.context.nodeBlock&&this.addLineFlowCodeBlock(t,e,this.context.nodeBlock),e=this.tab+e,/;\s*$/.test(e)||(e=e+`; -`),this.flow.code+=e,this)}addFlowCode(e){return this.flow.code+=e,this}addFlowTab(){return this.tab+=" ",this}removeFlowTab(){return this.tab=this.tab.slice(0,-1),this}getFlowData(e){return this.flowsData.get(e)}flowNode(e){const t=e.getNodeType(this),n=this.flowChildNode(e,t);return this.flowsData.set(e,n),n}addInclude(e){this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(e)}buildFunctionNode(e){const t=new RI,n=this.currentFunctionNode;return this.currentFunctionNode=t,t.code=this.buildFunctionCode(e),this.currentFunctionNode=n,t}flowShaderNode(e){const t=e.layout,n={[Symbol.iterator](){let o=0;const u=Object.values(this);return{next:()=>({value:u[o],done:o++>=u.length})}}};for(const o of t.inputs)n[o.name]=new oI(o.type,o.name);e.layout=null;const i=e.call(n),a=this.flowStagesNode(i,t.type);return e.layout=t,a}flowBuildStage(e,t,n=null){const i=this.getBuildStage();this.setBuildStage(t);const a=e.build(this,n);return this.setBuildStage(i),a}flowStagesNode(e,t=null){const n=this.flow,i=this.vars,a=this.declarations,o=this.cache,u=this.buildStage,c=this.stack,d={code:""};this.flow=d,this.vars={},this.declarations={},this.cache=new RM,this.stack=a_();for(const g of d1)this.setBuildStage(g),d.result=e.build(this,t);return d.vars=this.getVars(this.shaderStage),this.flow=n,this.vars=i,this.declarations=a,this.cache=o,this.stack=c,this.setBuildStage(u),d}getFunctionOperator(){return null}buildFunctionCode(){Lr("Abstract function.")}flowChildNode(e,t=null){const n=this.flow,i={code:""};return this.flow=i,i.result=e.build(this,t),this.flow=n,i}flowNodeFromShaderStage(e,t,n=null,i=null){const a=this.tab,o=this.cache,u=this.shaderStage,c=this.context;this.setShaderStage(e);const d=rl({},this.context);delete d.nodeBlock,this.cache=this.globalCache,this.tab=" ",this.context=d;let g=null;if(this.buildStage==="generate"){const v=this.flowChildNode(t,n);i!==null&&(v.code+=`${this.tab+i} = ${v.result}; -`),this.flowCode[e]=this.flowCode[e]+v.code,g=v}else g=t.build(this);return this.setShaderStage(u),this.cache=o,this.tab=a,this.context=c,g}getAttributesArray(){return this.attributes.concat(this.bufferAttributes)}getAttributes(){Lr("Abstract function.")}getVaryings(){Lr("Abstract function.")}getVar(e,t,n=null){return`${n!==null?this.generateArrayDeclaration(e,n):this.getType(e)} ${t}`}getVars(e){let t="";const n=this.vars[e];if(n!==void 0)for(const i of n)t+=`${this.getVar(i.type,i.name)}; `;return t}getUniforms(){Lr("Abstract function.")}getCodes(e){const t=this.codes[e];let n="";if(t!==void 0)for(const i of t)n+=i.code+` -`;return n}getHash(){return this.vertexShader+this.fragmentShader+this.computeShader}setShaderStage(e){this.shaderStage=e}getShaderStage(){return this.shaderStage}setBuildStage(e){this.buildStage=e}getBuildStage(){return this.buildStage}buildCode(){Lr("Abstract function.")}get subBuild(){return this.subBuildLayers[this.subBuildLayers.length-1]||null}addSubBuild(e){this.subBuildLayers.push(e)}removeSubBuild(){return this.subBuildLayers.pop()}getClosestSubBuild(e){let t;if(e&&e.isNode?e.isShaderCallNodeInternal?t=e.shaderNode.subBuilds:e.isStackNode?t=[e.subBuild]:t=this.getDataFromNode(e,"any").subBuilds:e instanceof Set?t=[...e]:t=e,!t)return null;const n=this.subBuildLayers;for(let i=t.length-1;i>=0;i--){const a=t[i];if(n.includes(a))return a}return null}getSubBuildOutput(e){return this.getSubBuildProperty("outputNode",e)}getSubBuildProperty(e="",t=null){let n;t!==null?n=this.getClosestSubBuild(t):n=this.subBuildFn;let i;return n?i=e?n+"_"+e:n:i=e,i}build(){const{object:e,material:t,renderer:n}=this;if(t!==null){let i=n.library.fromMaterial(t);i===null&&(Gr(`NodeMaterial: Material "${t.type}" is not compatible.`),i=new yc),i.build(this)}else this.addFlow("compute",e);for(const i of d1){this.setBuildStage(i),this.context.vertex&&this.context.vertex.isNode&&this.flowNodeFromShaderStage("vertex",this.context.vertex);for(const a of f1){this.setShaderStage(a);const o=this.flowNodes[a];for(const u of o)i==="generate"?this.flowNode(u):u.build(this)}}return this.setBuildStage(null),this.setShaderStage(null),this.buildCode(),this.buildUpdateNodes(),this}getSharedDataFromNode(e){let t=s8.get(e);return t===void 0&&(t={}),t}getNodeUniform(e,t){const n=this.getSharedDataFromNode(e);let i=n.cache;if(i===void 0){if(t==="float"||t==="int"||t==="uint")i=new j6(e);else if(t==="vec2"||t==="ivec2"||t==="uvec2")i=new Y6(e);else if(t==="vec3"||t==="ivec3"||t==="uvec3")i=new q6(e);else if(t==="vec4"||t==="ivec4"||t==="uvec4")i=new J6(e);else if(t==="color")i=new e8(e);else if(t==="mat2")i=new t8(e);else if(t==="mat3")i=new n8(e);else if(t==="mat4")i=new r8(e);else throw new Error(`Uniform "${t}" not implemented.`);n.cache=i}return i}format(e,t,n){if(t=this.getVectorType(t),n=this.getVectorType(n),t===n||n===null||this.isReference(n))return e;const i=this.getTypeLength(t),a=this.getTypeLength(n);return i===16&&a===9?`${this.getType(n)}( ${e}[ 0 ].xyz, ${e}[ 1 ].xyz, ${e}[ 2 ].xyz )`:i===9&&a===4?`${this.getType(n)}( ${e}[ 0 ].xy, ${e}[ 1 ].xy )`:i>4||a>4||a===0?e:i===a?`${this.getType(n)}( ${e} )`:i>a?(e=n==="bool"?`all( ${e} )`:`${e}.${"xyz".slice(0,a)}`,this.format(e,this.getTypeFromLength(a,this.getComponentType(t)),n)):a===4&&i>1?`${this.getType(n)}( ${this.format(e,t,"vec3")}, 1.0 )`:i===2?`${this.getType(n)}( ${this.format(e,t,"vec2")}, 0.0 )`:(i===1&&a>1&&t!==this.getComponentType(n)&&(e=`${this.getType(this.getComponentType(n))}( ${e} )`),`${this.getType(n)}( ${e} )`)}getSignature(){return`// Three.js r${m} - Node System -`}}class gN{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(e,t){let n=e.get(t);return n===void 0&&(n={renderId:0,frameId:0},e.set(t,n)),n}updateBeforeNode(e){const t=e.getUpdateBeforeType(),n=e.updateReference(this);if(t===Ao.FRAME){const i=this._getMaps(this.updateBeforeMap,n);if(i.frameId!==this.frameId){const a=i.frameId;i.frameId=this.frameId,e.updateBefore(this)===!1&&(i.frameId=a)}}else if(t===Ao.RENDER){const i=this._getMaps(this.updateBeforeMap,n);if(i.renderId!==this.renderId){const a=i.renderId;i.renderId=this.renderId,e.updateBefore(this)===!1&&(i.renderId=a)}}else t===Ao.OBJECT&&e.updateBefore(this)}updateAfterNode(e){const t=e.getUpdateAfterType(),n=e.updateReference(this);if(t===Ao.FRAME){const i=this._getMaps(this.updateAfterMap,n);i.frameId!==this.frameId&&e.updateAfter(this)!==!1&&(i.frameId=this.frameId)}else if(t===Ao.RENDER){const i=this._getMaps(this.updateAfterMap,n);i.renderId!==this.renderId&&e.updateAfter(this)!==!1&&(i.renderId=this.renderId)}else t===Ao.OBJECT&&e.updateAfter(this)}updateNode(e){const t=e.getUpdateType(),n=e.updateReference(this);if(t===Ao.FRAME){const i=this._getMaps(this.updateMap,n);i.frameId!==this.frameId&&e.update(this)!==!1&&(i.frameId=this.frameId)}else if(t===Ao.RENDER){const i=this._getMaps(this.updateMap,n);i.renderId!==this.renderId&&e.update(this)!==!1&&(i.renderId=this.renderId)}else t===Ao.OBJECT&&e.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class IM{constructor(e,t,n=null,i="",a=!1){this.type=e,this.name=t,this.count=n,this.qualifier=i,this.isConst=a}}IM.isNodeFunctionInput=!0;class o8 extends E0{static get type(){return"DirectionalLightNode"}constructor(e=null){super(e)}setupDirect(){const e=this.colorNode;return{lightDirection:vM(this.light),lightColor:e}}}const NM=new di,B_=new di;let hx=null;class l8 extends E0{static get type(){return"RectAreaLightNode"}constructor(e=null){super(e),this.halfHeight=va(new le).setGroup(xa),this.halfWidth=va(new le).setGroup(xa),this.updateType=Ao.RENDER}update(e){super.update(e);const{light:t}=this,n=e.camera.matrixWorldInverse;B_.identity(),NM.copy(t.matrixWorld),NM.premultiply(n),B_.extractRotation(NM),this.halfWidth.value.set(t.width*.5,0,0),this.halfHeight.value.set(0,t.height*.5,0),this.halfWidth.value.applyMatrix4(B_),this.halfHeight.value.applyMatrix4(B_)}setupDirectRectArea(e){let t,n;e.isAvailable("float32Filterable")?(t=xl(hx.LTC_FLOAT_1),n=xl(hx.LTC_FLOAT_2)):(t=xl(hx.LTC_HALF_1),n=xl(hx.LTC_HALF_2));const{colorNode:i,light:a}=this,o=mM(a);return{lightColor:i,lightPosition:o,halfWidth:this.halfWidth,halfHeight:this.halfHeight,ltc_1:t,ltc_2:n}}static setLTC(e){hx=e}}class FM extends E0{static get type(){return"SpotLightNode"}constructor(e=null){super(e),this.coneCosNode=va(0).setGroup(xa),this.penumbraCosNode=va(0).setGroup(xa),this.cutoffDistanceNode=va(0).setGroup(xa),this.decayExponentNode=va(0).setGroup(xa),this.colorNode=va(this.color).setGroup(xa)}update(e){super.update(e);const{light:t}=this;this.coneCosNode.value=Math.cos(t.angle),this.penumbraCosNode.value=Math.cos(t.angle*(1-t.penumbra)),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}getSpotAttenuation(e,t){const{coneCosNode:n,penumbraCosNode:i}=this;return fA(n,i,t)}getLightCoord(e){const t=e.getNodeProperties(this);let n=t.projectionUV;return n===void 0&&(n=PI(this.light,e.context.positionWorld),t.projectionUV=n),n}setupDirect(e){const{colorNode:t,cutoffDistanceNode:n,decayExponentNode:i,light:a}=this,o=this.getLightVector(e),u=o.normalize(),c=u.dot(vM(a)),d=this.getSpotAttenuation(e,c),g=o.length(),v=EM({lightDistance:g,cutoffDistance:n,decayExponent:i});let M=t.mul(d).mul(v),B,I;return a.colorNode?(I=this.getLightCoord(e),B=a.colorNode(I)):a.map&&(I=this.getLightCoord(e),B=xl(a.map,I.xy).onRenderUpdate(()=>a.map)),B&&(M=I.mul(2).sub(1).abs().lessThan(1).all().select(M.mul(B),M)),{lightColor:M,lightDirection:u}}}class u8 extends FM{static get type(){return"IESSpotLightNode"}getSpotAttenuation(e,t){const n=this.light.iesMap;let i=null;if(n&&n.isTexture===!0){const a=t.acos().mul(1/Math.PI);i=xl(n,Gi(a,0),0).r}else i=super.getSpotAttenuation(t);return i}}const c8=or(([s,e])=>{const t=s.abs().sub(e);return og(mc(t,0)).add(Uf(mc(t.x,t.y),0))});class h8 extends FM{static get type(){return"ProjectorLightNode"}update(e){super.update(e);const t=this.light;if(this.penumbraCosNode.value=Math.min(Math.cos(t.angle*(1-t.penumbra)),.99999),t.aspect===null){let n=1;t.map!==null&&(n=t.map.width/t.map.height),t.shadow.aspect=n}else t.shadow.aspect=t.aspect}getSpotAttenuation(e){const t=qt(0),n=this.penumbraCosNode,i=b_(this.light).mul(e.context.positionWorld||pA);return ra(i.w.greaterThan(0),()=>{const a=i.xyz.div(i.w),o=c8(a.xy.sub(Gi(.5)),Gi(.5)),u=dA(-1,el(1,O1(n)).sub(1));t.assign(Nb(o.mul(-2).mul(u)))}),t}}class d8 extends E0{static get type(){return"AmbientLightNode"}constructor(e=null){super(e)}setup({context:e}){e.irradiance.addAssign(this.colorNode)}}class f8 extends E0{static get type(){return"HemisphereLightNode"}constructor(e=null){super(e),this.lightPositionNode=gM(e),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=va(new Wr).setGroup(xa)}update(e){const{light:t}=this;super.update(e),this.lightPositionNode.object3d=t,this.groundColorNode.value.copy(t.groundColor).multiplyScalar(t.intensity)}setup(e){const{colorNode:t,groundColorNode:n,lightDirectionNode:i}=this,o=Om.dot(i).mul(.5).add(.5),u=zo(n,t,o);e.context.irradiance.addAssign(u)}}class A8 extends E0{static get type(){return"LightProbeNode"}constructor(e=null){super(e);const t=[];for(let n=0;n<9;n++)t.push(new le);this.lightProbe=Fd(t)}update(e){const{light:t}=this;super.update(e);for(let n=0;n<9;n++)this.lightProbe.array[n].copy(t.sh.coefficients[n]).multiplyScalar(t.intensity)}setup(e){const t=hN(Om,this.lightProbe);e.context.irradiance.addAssign(t)}}class mN{parseFunction(){Lr("Abstract function.")}}class PM{constructor(e,t,n="",i=""){this.type=e,this.inputs=t,this.name=n,this.precision=i}getCode(){Lr("Abstract function.")}}PM.isNodeFunction=!0;const p8=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,g8=/[a-z_0-9]+/ig,vN="#pragma main",m8=s=>{s=s.trim();const e=s.indexOf(vN),t=e!==-1?s.slice(e+vN.length):s,n=t.match(p8);if(n!==null&&n.length===5){const i=n[4],a=[];let o=null;for(;(o=g8.exec(i))!==null;)a.push(o);const u=[];let c=0;for(;c{const d=this.backend.createNodeBuilder(e.object,this.renderer);return d.scene=e.scene,d.material=c,d.camera=e.camera,d.context.material=c,d.lightsNode=e.lightsNode,d.environmentNode=this.getEnvironmentNode(e.scene),d.fogNode=this.getFogNode(e.scene),d.clippingContext=e.clippingContext,this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview&&d.enableMultiview(),d};let u=o(e.material);try{u.build()}catch(c){u=o(new yc),u.build(),Gr("TSL: "+c)}n=this._createNodeBuilderState(u),i.set(a,n)}n.usedTimes++,t.nodeBuilderState=n}return n}delete(e){if(e.isRenderObject){const t=this.get(e).nodeBuilderState;t.usedTimes--,t.usedTimes===0&&this.nodeBuilderCache.delete(this.getForRenderCacheKey(e))}return super.delete(e)}getForCompute(e){const t=this.get(e);let n=t.nodeBuilderState;if(n===void 0){const i=this.backend.createNodeBuilder(e,this.renderer);i.build(),n=this._createNodeBuilderState(i),t.nodeBuilderState=n}return n}_createNodeBuilderState(e){return new U6(e.vertexShader,e.fragmentShader,e.computeShader,e.getAttributesArray(),e.getBindings(),e.updateNodes,e.updateBeforeNodes,e.updateAfterNodes,e.observer,e.transforms)}getEnvironmentNode(e){this.updateEnvironment(e);let t=null;if(e.environmentNode&&e.environmentNode.isNode)t=e.environmentNode;else{const n=this.get(e);n.environmentNode&&(t=n.environmentNode)}return t}getBackgroundNode(e){this.updateBackground(e);let t=null;if(e.backgroundNode&&e.backgroundNode.isNode)t=e.backgroundNode;else{const n=this.get(e);n.backgroundNode&&(t=n.backgroundNode)}return t}getFogNode(e){return this.updateFog(e),e.fogNode||this.get(e).fogNode||null}getCacheKey(e,t){mg[0]=e,mg[1]=t;const n=this.renderer.info.calls,i=this.callHashCache.get(mg)||{};if(i.callId!==n){const a=this.getEnvironmentNode(e),o=this.getFogNode(e);t&&Hm.push(t.getCacheKey(!0)),a&&Hm.push(a.getCacheKey()),o&&Hm.push(o.getCacheKey()),Hm.push(this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview?1:0),Hm.push(this.renderer.shadowMap.enabled?1:0),Hm.push(this.renderer.shadowMap.type),i.callId=n,i.cacheKey=o0(Hm),this.callHashCache.set(mg,i),Hm.length=0}return mg.length=0,i.cacheKey}get isToneMappingState(){return!this.renderer.getRenderTarget()}updateBackground(e){const t=this.get(e),n=e.background;if(n){const i=e.backgroundBlurriness===0&&t.backgroundBlurriness>0||e.backgroundBlurriness>0&&t.backgroundBlurriness===0;if(t.background!==n||i){const a=this.getCacheNode("background",n,()=>{if(n.isCubeTexture===!0||n.mapping===ot||n.mapping===ut||n.mapping===_t){if(e.backgroundBlurriness>0||n.mapping===_t)return eM(n);{let o;return n.isCubeTexture===!0?o=lf(n):o=xl(n),fR(o)}}else{if(n.isTexture===!0)return xl(n,Yg.flipY()).setUpdateMatrix(!0);n.isColor!==!0&&Gr("WebGPUNodes: Unsupported background configuration.",n)}},i);t.backgroundNode=a,t.background=n,t.backgroundBlurriness=e.backgroundBlurriness}}else t.backgroundNode&&(delete t.backgroundNode,delete t.background)}getCacheNode(e,t,n,i=!1){const a=this.cacheLib[e]||(this.cacheLib[e]=new WeakMap);let o=a.get(t);return(o===void 0||i)&&(o=n(),a.set(t,o)),o}updateFog(e){const t=this.get(e),n=e.fog;if(n){if(t.fog!==n){const i=this.getCacheNode("fog",n,()=>{if(n.isFogExp2){const a=su("color","color",n).setGroup(xa),o=su("density","float",n).setGroup(xa);return ix(a,AM(o))}else if(n.isFog){const a=su("color","color",n).setGroup(xa),o=su("near","float",n).setGroup(xa),u=su("far","float",n).setGroup(xa);return ix(a,fM(o,u))}else Gr("Renderer: Unsupported fog configuration.",n)});t.fogNode=i,t.fog=n}}else delete t.fogNode,delete t.fog}updateEnvironment(e){const t=this.get(e),n=e.environment;if(n){if(t.environment!==n){const i=this.getCacheNode("environment",n,()=>{if(n.isCubeTexture===!0)return lf(n);if(n.isTexture===!0)return xl(n);Gr("Nodes: Unsupported environment configuration.",n)});t.environmentNode=i,t.environment=n}}else t.environmentNode&&(delete t.environmentNode,delete t.environment)}getNodeFrame(e=this.renderer,t=null,n=null,i=null,a=null){const o=this.nodeFrame;return o.renderer=e,o.scene=t,o.object=n,o.camera=i,o.material=a,o}getNodeFrameForRender(e){return this.getNodeFrame(e.renderer,e.scene,e.object,e.camera,e.material)}getOutputCacheKey(){const e=this.renderer;return e.toneMapping+","+e.currentColorSpace+","+e.xr.isPresenting}hasOutputChange(e){return yN.get(e)!==this.getOutputCacheKey()}getOutputNode(e){const t=this.renderer,n=this.getOutputCacheKey(),i=e.isArrayTexture?A_(e,Kn(Yg,jg("gl_ViewID_OVR"))).renderOutput(t.toneMapping,t.currentColorSpace):xl(e,Yg).renderOutput(t.toneMapping,t.currentColorSpace);return yN.set(e,n),i}updateBefore(e){const t=e.getNodeBuilderState();for(const n of t.updateBeforeNodes)this.getNodeFrameForRender(e).updateBeforeNode(n)}updateAfter(e){const t=e.getNodeBuilderState();for(const n of t.updateAfterNodes)this.getNodeFrameForRender(e).updateAfterNode(n)}updateForCompute(e){const t=this.getNodeFrame(),n=this.getForCompute(e);for(const i of n.updateNodes)t.updateNode(i)}updateForRender(e){const t=this.getNodeFrameForRender(e),n=e.getNodeBuilderState();for(const i of n.updateNodes)t.updateNode(i)}needsRefresh(e){const t=this.getNodeFrameForRender(e);return e.getMonitor().needsRefresh(e,t)}dispose(){super.dispose(),this.nodeFrame=new gN,this.nodeBuilderCache=new Map,this.cacheLib={}}}const LM=new Ec;class R_{constructor(e=null){this.version=0,this.clipIntersection=null,this.cacheKey="",this.shadowPass=!1,this.viewNormalMatrix=new pn,this.clippingGroupContexts=new WeakMap,this.intersectionPlanes=[],this.unionPlanes=[],this.parentVersion=null,e!==null&&(this.viewNormalMatrix=e.viewNormalMatrix,this.clippingGroupContexts=e.clippingGroupContexts,this.shadowPass=e.shadowPass,this.viewMatrix=e.viewMatrix)}projectPlanes(e,t,n){const i=e.length;for(let a=0;a0,alpha:!0,depth:t.depth,stencil:t.stencil,framebufferScaleFactor:this.getFramebufferScaleFactor()},u=new XRWebGLLayer(e,i,o);this._glBaseLayer=u,e.updateRenderState({baseLayer:u}),t.setPixelRatio(1),t._setXRLayerSize(u.framebufferWidth,u.framebufferHeight),this._xrRenderTarget=new Ax(u.framebufferWidth,u.framebufferHeight,{format:L,type:es,colorSpace:t.outputColorSpace,stencilBuffer:t.stencil,resolveDepthBuffer:u.ignoreDepthValues===!1,resolveStencilBuffer:u.ignoreDepthValues===!1}),this._xrRenderTarget._isOpaqueFramebuffer=!0,this._referenceSpace=yield e.requestReferenceSpace(this.getReferenceSpaceType())}this.setFoveation(this.getFoveation()),t._animation.setAnimationLoop(this._onAnimationFrame),t._animation.setContext(e),t._animation.start(),this.isPresenting=!0,this.dispatchEvent({type:"sessionstart"})}})}updateCamera(e){const t=this._session;if(t===null)return;const n=e.near,i=e.far,a=this._cameraXR,o=this._cameraL,u=this._cameraR;a.near=u.near=o.near=n,a.far=u.far=o.far=i,a.isMultiViewCamera=this._useMultiview,(this._currentDepthNear!==a.near||this._currentDepthFar!==a.far)&&(t.updateRenderState({depthNear:a.near,depthFar:a.far}),this._currentDepthNear=a.near,this._currentDepthFar=a.far),a.layers.mask=e.layers.mask|6,o.layers.mask=a.layers.mask&3,u.layers.mask=a.layers.mask&5;const c=e.parent,d=a.cameras;wN(a,c);for(let g=0;g=0&&(t[a]=null,e[a].disconnect(i))}for(let n=0;n=t.length){t.push(i),a=u;break}else if(t[u]===null){t[u]=i,a=u;break}if(a===-1)break}const o=e[a];o&&o.connect(i)}}function I8(s){return s.type==="quad"?this._glBinding.createQuadLayer({transform:new XRRigidTransform(s.translation,s.quaternion),width:s.width/2,height:s.height/2,space:this._referenceSpace,viewPixelWidth:s.pixelwidth,viewPixelHeight:s.pixelheight,clearOnAccess:!1}):this._glBinding.createCylinderLayer({transform:new XRRigidTransform(s.translation,s.quaternion),radius:s.radius,centralAngle:s.centralAngle,aspectRatio:s.aspectRatio,space:this._referenceSpace,viewPixelWidth:s.pixelwidth,viewPixelHeight:s.pixelheight,clearOnAccess:!1})}function N8(s,e){if(e===void 0)return;const t=this._cameraXR,n=this._renderer,i=n.backend,a=this._glBaseLayer,o=this.getReferenceSpace(),u=e.getViewerPose(o);if(this._xrFrame=e,u!==null){const c=u.views;this._glBaseLayer!==null&&i.setXRTarget(a.framebuffer);let d=!1;c.length!==t.cameras.length&&(t.cameras.length=0,d=!0);for(let g=0;gPa(this,null,function*(){yield this.compileAsync(B,I);const ee=this._renderLists.get(B,I),q=this._renderContexts.get(B,I,this._renderTarget,this._mrt),ye=B.overrideMaterial||ne.material,Ce=this._objects.get(ne,ye,B,I,ee.lightsNode,q,q.clippingContext),{fragmentShader:ke,vertexShader:nt}=Ce.getNodeBuilderState();return{fragmentShader:ke,vertexShader:nt}})}}init(){return Pa(this,null,function*(){return this._initPromise!==null?this._initPromise:(this._initPromise=new Promise((e,t)=>Pa(this,null,function*(){let n=this.backend;try{yield n.init(this)}catch(i){if(this._getFallback!==null)try{this.backend=n=this._getFallback(i),yield n.init(this)}catch(a){t(a);return}else{t(i);return}}this._nodes=new x8(this,n),this._animation=new e5(this,this._nodes,this.info),this._attributes=new o5(n),this._background=new P6(this,this._nodes),this._geometries=new l5(this._attributes,this.info),this._textures=new S5(this,n,this.info),this._pipelines=new f5(n,this._nodes),this._bindings=new A5(n,this._nodes,this._textures,this._attributes,this._pipelines,this.info),this._objects=new i5(this,this._nodes,this._geometries,this._pipelines,this._bindings,this.info),this._renderLists=new m5(this.lighting),this._bundles=new _8,this._renderContexts=new _5,this._animation.start(),this._initialized=!0,this._inspector.init(),e(this)})),this._initPromise)})}get domElement(){return this._canvasTarget.domElement}get coordinateSystem(){return this.backend.coordinateSystem}compileAsync(e,t,n=null){return Pa(this,null,function*(){if(this._isDeviceLost===!0)return;this._initialized===!1&&(yield this.init());const i=this._nodes.nodeFrame,a=i.renderId,o=this._currentRenderContext,u=this._currentRenderObjectFunction,c=this._compilationPromises,d=e.isScene===!0?e:SN;n===null&&(n=e);const g=this._renderTarget,v=this._renderContexts.get(n,t,g,this._mrt),M=this._activeMipmapLevel,B=[];this._currentRenderContext=v,this._currentRenderObjectFunction=this.renderObject,this._handleObjectFunction=this._createObjectPipeline,this._compilationPromises=B,i.renderId++,i.update(),v.depth=this.depth,v.stencil=this.stencil,v.clippingContext||(v.clippingContext=new R_),v.clippingContext.updateGlobal(d,t),d.onBeforeRender(this,e,t,g);const I=this._renderLists.get(e,t);if(I.begin(),this._projectObject(e,t,0,I,v.clippingContext),n!==e&&n.traverseVisible(function(Ce){Ce.isLight&&Ce.layers.test(t.layers)&&I.pushLight(Ce)}),I.finish(),g!==null){this._textures.updateRenderTarget(g,M);const Ce=this._textures.get(g);v.textures=Ce.textures,v.depthTexture=Ce.depthTexture}else v.textures=null,v.depthTexture=null;this._background.update(d,I,v);const ne=I.opaque,ee=I.transparent,q=I.transparentDoublePass,ye=I.lightsNode;this.opaque===!0&&ne.length>0&&this._renderObjects(ne,t,d,ye),this.transparent===!0&&ee.length>0&&this._renderTransparents(ee,q,t,d,ye),i.renderId=a,this._currentRenderContext=o,this._currentRenderObjectFunction=u,this._compilationPromises=c,this._handleObjectFunction=this._renderObjectDirect,yield Promise.all(B)})}renderAsync(e,t){return Pa(this,null,function*(){ki('Renderer: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.render(e,t)})}waitForGPU(){return Pa(this,null,function*(){Gr("Renderer: waitForGPU() has been removed. Read https://github.com/mrdoob/three.js/issues/32012 for more information.")})}set inspector(e){this._inspector!==null&&this._inspector.setRenderer(null),this._inspector=e,this._inspector.setRenderer(this)}get inspector(){return this._inspector}set highPrecision(e){const t=this.contextNode.value;e===!0?(t.modelViewMatrix=lS,t.modelNormalViewMatrix=uS):this.highPrecision&&(delete t.modelViewMatrix,delete t.modelNormalViewMatrix)}get highPrecision(){const e=this.contextNode.value;return e.modelViewMatrix===lS&&e.modelNormalViewMatrix===uS}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getOutputBufferType(){return this._outputBufferType}getColorBufferType(){return ki('Renderer: ".getColorBufferType()" has been renamed to ".getOutputBufferType()".'),this.getOutputBufferType()}_onDeviceLost(e){let t=`THREE.WebGPURenderer: ${e.api} Device Lost: - -Message: ${e.message}`;e.reason&&(t+=` -Reason: ${e.reason}`),Gr(t),this._isDeviceLost=!0}_renderBundle(e,t,n){const{bundleGroup:i,camera:a,renderList:o}=e,u=this._currentRenderContext,c=this._bundles.get(i,a),d=this.backend.get(c);d.renderContexts===void 0&&(d.renderContexts=new Set);const g=i.version!==d.version,v=d.renderContexts.has(u)===!1||g;if(d.renderContexts.add(u),v){this.backend.beginBundle(u),(d.renderObjects===void 0||g)&&(d.renderObjects=[]),this._currentRenderBundle=c;const{transparentDoublePass:M,transparent:B,opaque:I}=o;this.opaque===!0&&I.length>0&&this._renderObjects(I,a,t,n),this.transparent===!0&&B.length>0&&this._renderTransparents(B,M,a,t,n),this._currentRenderBundle=null,this.backend.finishBundle(u,c),d.version=i.version}else{const{renderObjects:M}=d;for(let B=0,I=M.length;B>=M,I.viewportValue.height>>=M,I.viewportValue.minDepth=nt,I.viewportValue.maxDepth=Ye,I.viewport=I.viewportValue.equals(UM)===!1,I.scissorValue.copy(Ce).multiplyScalar(ke).floor(),I.scissor=q._scissorTest&&I.scissorValue.equals(UM)===!1,I.scissorValue.width>>=M,I.scissorValue.height>>=M,I.clippingContext||(I.clippingContext=new R_),I.clippingContext.updateGlobal(d,t),d.onBeforeRender(this,e,t,B);const ht=t.isArrayCamera?DM:OM;t.isArrayCamera||(I_.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ht.setFromProjectionMatrix(I_,t.coordinateSystem,t.reversedDepth));const Rt=this._renderLists.get(e,t);if(Rt.begin(),this._projectObject(e,t,0,Rt,I.clippingContext),Rt.finish(),this.sortObjects===!0&&Rt.sort(this._opaqueSort,this._transparentSort),B!==null){this._textures.updateRenderTarget(B,M);const Br=this._textures.get(B);I.textures=Br.textures,I.depthTexture=Br.depthTexture,I.width=Br.width,I.height=Br.height,I.renderTarget=B,I.depth=B.depthBuffer,I.stencil=B.stencilBuffer}else I.textures=null,I.depthTexture=null,I.width=Ov.width,I.height=Ov.height,I.depth=this.depth,I.stencil=this.stencil;I.width>>=M,I.height>>=M,I.activeCubeFace=v,I.activeMipmapLevel=M,I.occlusionQueryCount=Rt.occlusionQueryCount,I.scissorValue.max(rm.set(0,0,0,0)),I.scissorValue.x+I.scissorValue.width>I.width&&(I.scissorValue.width=Math.max(I.width-I.scissorValue.x,0)),I.scissorValue.y+I.scissorValue.height>I.height&&(I.scissorValue.height=Math.max(I.height-I.scissorValue.y,0)),this._background.update(d,Rt,I),I.camera=t,this.backend.beginRender(I);const{bundles:qe,lightsNode:pt,transparentDoublePass:xn,transparent:cr,opaque:pr}=Rt;return qe.length>0&&this._renderBundles(qe,d,pt),this.opaque===!0&&pr.length>0&&this._renderObjects(pr,t,d,pt),this.transparent===!0&&cr.length>0&&this._renderTransparents(cr,xn,t,d,pt),this.backend.finishRender(I),a.renderId=o,this._currentRenderContext=u,this._currentRenderObjectFunction=c,i!==null&&(this.setRenderTarget(g,v,M),this._renderOutput(B)),d.onAfterRender(this,e,t,B),this.inspector.finishRender(this.backend.getTimestampUID(I)),I}_setXRLayerSize(e,t){this._canvasTarget._width=e,this._canvasTarget._height=t,this.setViewport(0,0,e,t)}_renderOutput(e){const t=this._quad;this._nodes.hasOutputChange(e.texture)&&(t.material.fragmentNode=this._nodes.getOutputNode(e.texture),t.material.needsUpdate=!0);const n=this.autoClear,i=this.xr.enabled;this.autoClear=!1,this.xr.enabled=!1,this._renderScene(t,t.camera,!1),this.autoClear=n,this.xr.enabled=i}getMaxAnisotropy(){return this.backend.getMaxAnisotropy()}getActiveCubeFace(){return this._activeCubeFace}getActiveMipmapLevel(){return this._activeMipmapLevel}setAnimationLoop(e){return Pa(this,null,function*(){this._initialized===!1&&(yield this.init()),this._animation.setAnimationLoop(e)})}getAnimationLoop(){return this._animation.getAnimationLoop()}getArrayBufferAsync(e){return Pa(this,null,function*(){return yield this.backend.getArrayBufferAsync(e)})}getContext(){return this.backend.getContext()}getPixelRatio(){return this._canvasTarget.getPixelRatio()}getDrawingBufferSize(e){return this._canvasTarget.getDrawingBufferSize(e)}getSize(e){return this._canvasTarget.getSize(e)}setPixelRatio(e=1){this._canvasTarget.setPixelRatio(e)}setDrawingBufferSize(e,t,n){this.xr&&this.xr.isPresenting||this._canvasTarget.setDrawingBufferSize(e,t,n)}setSize(e,t,n=!0){this.xr&&this.xr.isPresenting||this._canvasTarget.setSize(e,t,n)}setOpaqueSort(e){this._opaqueSort=e}setTransparentSort(e){this._transparentSort=e}getScissor(e){return this._canvasTarget.getScissor(e)}setScissor(e,t,n,i){this._canvasTarget.setScissor(e,t,n,i)}getScissorTest(){return this._canvasTarget.getScissorTest()}setScissorTest(e){this._canvasTarget.setScissorTest(e),this.backend.setScissorTest(e)}getViewport(e){return this._canvasTarget.getViewport(e)}setViewport(e,t,n,i,a=0,o=1){this._canvasTarget.setViewport(e,t,n,i,a,o)}getClearColor(e){return e.copy(this._clearColor)}setClearColor(e,t=1){this._clearColor.set(e),this._clearColor.a=t}getClearAlpha(){return this._clearColor.a}setClearAlpha(e){this._clearColor.a=e}getClearDepth(){return this._clearDepth}setClearDepth(e){this._clearDepth=e}getClearStencil(){return this._clearStencil}setClearStencil(e){this._clearStencil=e}isOccluded(e){const t=this._currentRenderContext;return t&&this.backend.isOccluded(t,e)}clear(e=!0,t=!0,n=!0){if(this._initialized===!1)throw new Error('Renderer: .clear() called before the backend is initialized. Use "await renderer.init();" before before using this method.');const i=this._renderTarget||this._getFrameBufferTarget();let a=null;if(i!==null){this._textures.updateRenderTarget(i);const o=this._textures.get(i);a=this._renderContexts.getForClear(i),a.textures=o.textures,a.depthTexture=o.depthTexture,a.width=o.width,a.height=o.height,a.renderTarget=i,a.depth=i.depthBuffer,a.stencil=i.stencilBuffer,a.clearColorValue=this.backend.getClearColor(),a.activeCubeFace=this.getActiveCubeFace(),a.activeMipmapLevel=this.getActiveMipmapLevel()}this.backend.clear(e,t,n,a),i!==null&&this._renderTarget===null&&this._renderOutput(i)}clearColor(){this.clear(!0,!1,!1)}clearDepth(){this.clear(!1,!0,!1)}clearStencil(){this.clear(!1,!1,!0)}clearAsync(e=!0,t=!0,n=!0){return Pa(this,null,function*(){ki('Renderer: "clearAsync()" has been deprecated. Use "clear()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.clear(e,t,n)})}clearColorAsync(){return Pa(this,null,function*(){ki('Renderer: "clearColorAsync()" has been deprecated. Use "clearColor()" and "await renderer.init();" when creating the renderer.'),this.clear(!0,!1,!1)})}clearDepthAsync(){return Pa(this,null,function*(){ki('Renderer: "clearDepthAsync()" has been deprecated. Use "clearDepth()" and "await renderer.init();" when creating the renderer.'),this.clear(!1,!0,!1)})}clearStencilAsync(){return Pa(this,null,function*(){ki('Renderer: "clearStencilAsync()" has been deprecated. Use "clearStencil()" and "await renderer.init();" when creating the renderer.'),this.clear(!1,!1,!0)})}get needsFrameBufferTarget(){const e=this.currentToneMapping!==Ct,t=this.currentColorSpace!==xr.workingColorSpace;return e||t}get samples(){return this._samples}get currentSamples(){let e=this._samples;return this._renderTarget!==null?e=this._renderTarget.samples:this.needsFrameBufferTarget&&(e=0),e}get currentToneMapping(){return this.isOutputTarget?this.toneMapping:Ct}get currentColorSpace(){return this.isOutputTarget?this.outputColorSpace:xr.workingColorSpace}get isOutputTarget(){return this._renderTarget===this._outputRenderTarget||this._renderTarget===null}dispose(){this._initialized===!0&&(this.info.dispose(),this.backend.dispose(),this._animation.dispose(),this._objects.dispose(),this._geometries.dispose(),this._pipelines.dispose(),this._nodes.dispose(),this._bindings.dispose(),this._renderLists.dispose(),this._renderContexts.dispose(),this._textures.dispose(),this._frameBufferTarget!==null&&this._frameBufferTarget.dispose(),Object.values(this.backend.timestampQueryPool).forEach(e=>{e!==null&&e.dispose()})),this.setRenderTarget(null),this.setAnimationLoop(null)}setRenderTarget(e,t=0,n=0){this._renderTarget=e,this._activeCubeFace=t,this._activeMipmapLevel=n}getRenderTarget(){return this._renderTarget}setOutputRenderTarget(e){this._outputRenderTarget=e}getOutputRenderTarget(){return this._outputRenderTarget}setCanvasTarget(e){this._canvasTarget.removeEventListener("resize",this._onCanvasTargetResize),this._canvasTarget=e,this._canvasTarget.addEventListener("resize",this._onCanvasTargetResize)}getCanvasTarget(){return this._canvasTarget}_resetXRState(){this.backend.setXRTarget(null),this.setOutputRenderTarget(null),this.setRenderTarget(null),this._frameBufferTarget.dispose(),this._frameBufferTarget=null}setRenderObjectFunction(e){this._renderObjectFunction=e}getRenderObjectFunction(){return this._renderObjectFunction}compute(e,t=null){if(this._isDeviceLost===!0)return;if(this._initialized===!1)return Lr("Renderer: .compute() called before the backend is initialized. Try using .computeAsync() instead."),this.computeAsync(e,t);const n=this._nodes.nodeFrame,i=n.renderId;this.info.calls++,this.info.compute.calls++,this.info.compute.frameCalls++,n.renderId=this.info.calls,this.backend.updateTimeStampUID(e),this.inspector.beginCompute(this.backend.getTimestampUID(e),e);const a=this.backend,o=this._pipelines,u=this._bindings,c=this._nodes,d=Array.isArray(e)?e:[e];if(d[0]===void 0||d[0].isComputeNode!==!0)throw new Error("THREE.Renderer: .compute() expects a ComputeNode.");a.beginCompute(e);for(const g of d){if(o.has(g)===!1){const B=()=>{g.removeEventListener("dispose",B),o.delete(g),u.deleteForCompute(g),c.delete(g)};g.addEventListener("dispose",B);const I=g.onInitFunction;I!==null&&I.call(g,{renderer:this})}c.updateForCompute(g),u.updateForCompute(g);const v=u.getForCompute(g),M=o.getForCompute(g,v);a.compute(e,g,v,M,t)}a.finishCompute(e),n.renderId=i,this.inspector.finishCompute(this.backend.getTimestampUID(e))}computeAsync(e,t=null){return Pa(this,null,function*(){this._initialized===!1&&(yield this.init()),this.compute(e,t)})}hasFeatureAsync(e){return Pa(this,null,function*(){return ki('Renderer: "hasFeatureAsync()" has been deprecated. Use "hasFeature()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.hasFeature(e)})}resolveTimestampsAsync(e="render"){return Pa(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.resolveTimestampsAsync(e)})}hasFeature(e){if(this._initialized===!1)throw new Error('Renderer: .hasFeature() called before the backend is initialized. Use "await renderer.init();" before before using this method.');return this.backend.hasFeature(e)}hasInitialized(){return this._initialized}initTextureAsync(e){return Pa(this,null,function*(){ki('Renderer: "initTextureAsync()" has been deprecated. Use "initTexture()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.initTexture(e)})}initTexture(e){if(this._initialized===!1)throw new Error('Renderer: .initTexture() called before the backend is initialized. Use "await renderer.init();" before before using this method.');this._textures.updateTexture(e)}copyFramebufferToTexture(e,t=null){if(t!==null)if(t.isVector2)t=rm.set(t.x,t.y,e.image.width,e.image.height).floor();else if(t.isVector4)t=rm.copy(t).floor();else{Gr("Renderer.copyFramebufferToTexture: Invalid rectangle.");return}else t=rm.set(0,0,e.image.width,e.image.height);let n=this._currentRenderContext,i;n!==null?i=n.renderTarget:(i=this._renderTarget||this._getFrameBufferTarget(),i!==null&&(this._textures.updateRenderTarget(i),n=this._textures.get(i))),this._textures.updateTexture(e,{renderTarget:i}),this.backend.copyFramebufferToTexture(e,n,t),this._inspector.copyFramebufferToTexture(e)}copyTextureToTexture(e,t,n=null,i=null,a=0,o=0){this._textures.updateTexture(e),this._textures.updateTexture(t),this.backend.copyTextureToTexture(e,t,n,i,a,o),this._inspector.copyTextureToTexture(e,t)}readRenderTargetPixelsAsync(e,t,n,i,a,o=0,u=0){return Pa(this,null,function*(){return this.backend.copyTextureToBuffer(e.textures[o],t,n,i,a,u)})}_projectObject(e,t,n,i,a){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder,e.isClippingGroup&&e.enabled&&(a=a.getGroupContext(e));else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)i.pushLight(e);else if(e.isSprite){const c=t.isArrayCamera?DM:OM;if(!e.frustumCulled||c.intersectsSprite(e,t)){this.sortObjects===!0&&rm.setFromMatrixPosition(e.matrixWorld).applyMatrix4(I_);const{geometry:d,material:g}=e;g.visible&&i.push(e,d,g,n,rm.z,null,a)}}else if(e.isLineLoop)Gr("Renderer: Objects of type THREE.LineLoop are not supported. Please use THREE.Line or THREE.LineSegments.");else if(e.isMesh||e.isLine||e.isPoints){const c=t.isArrayCamera?DM:OM;if(!e.frustumCulled||c.intersectsObject(e,t)){const{geometry:d,material:g}=e;if(this.sortObjects===!0&&(d.boundingSphere===null&&d.computeBoundingSphere(),rm.copy(d.boundingSphere.center).applyMatrix4(e.matrixWorld).applyMatrix4(I_)),Array.isArray(g)){const v=d.groups;for(let M=0,B=v.length;M0){for(const{material:o}of t)o.side=de;this._renderObjects(t,n,i,a,"backSide");for(const{material:o}of t)o.side=j;this._renderObjects(e,n,i,a);for(const{material:o}of t)o.side=he}else this._renderObjects(e,n,i,a)}_renderObjects(e,t,n,i,a=null){for(let o=0,u=e.length;o0||a.transmissionNode&&a.transmissionNode.isNode||a.backdropNode&&a.backdropNode.isNode,ne.isShadowPassMaterial){const{colorNode:ee,depthNode:q,positionNode:ye}=this._getShadowNodes(a);ne.side=a.shadowSide===null?a.side:a.shadowSide,ee!==null&&(ne.colorNode=ee),q!==null&&(ne.depthNode=q),ye!==null&&(ne.positionNode=ye)}a=ne}a.transparent===!0&&a.side===he&&a.forceSinglePass===!1?(a.side=de,this._handleObjectFunction(e,a,t,n,u,o,c,"backSide"),a.side=j,this._handleObjectFunction(e,a,t,n,u,o,c,d),a.side=he):this._handleObjectFunction(e,a,t,n,u,o,c,d),g&&(t.overrideMaterial.colorNode=v,t.overrideMaterial.depthNode=M,t.overrideMaterial.positionNode=B,t.overrideMaterial.side=I),e.onAfterRender(this,t,n,i,a,o)}_renderObjectDirect(e,t,n,i,a,o,u,c){const d=this._objects.get(e,t,n,i,a,this._currentRenderContext,u,c);d.drawRange=e.geometry.drawRange,d.group=o;const g=this._nodes.needsRefresh(d);g&&(this._nodes.updateBefore(d),this._geometries.updateForRender(d),this._nodes.updateForRender(d),this._bindings.updateForRender(d)),this._pipelines.updateForRender(d),this._currentRenderBundle!==null&&(this.backend.get(this._currentRenderBundle).renderObjects.push(d),d.bundle=this._currentRenderBundle.bundleGroup),this.backend.draw(d,this.info),g&&this._nodes.updateAfter(d)}_createObjectPipeline(e,t,n,i,a,o,u,c){const d=this._objects.get(e,t,n,i,a,this._currentRenderContext,u,c);d.drawRange=e.geometry.drawRange,d.group=o,this._nodes.updateBefore(d),this._geometries.updateForRender(d),this._nodes.updateForRender(d),this._bindings.updateForRender(d),this._pipelines.getForRender(d,this._compilationPromises),this._nodes.updateAfter(d)}_onCanvasTargetResize(){this._initialized&&this.backend.updateSize()}get compile(){return this.compileAsync}}class MN{constructor(e=""){this.name=e,this.visibility=0}setVisibility(e){this.visibility|=e}getVisibility(){return this.visibility}clone(){return Object.assign(new this.constructor,this)}}function L8(s){return s+(zm-s%zm)%zm}class EN extends MN{constructor(e,t=null){super(e),this.isBuffer=!0,this.bytesPerElement=Float32Array.BYTES_PER_ELEMENT,this._buffer=t,this._updateRanges=[]}get updateRanges(){return this._updateRanges}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}get byteLength(){return L8(this._buffer.byteLength)}get buffer(){return this._buffer}update(){return!0}}class CN extends EN{constructor(e,t=null){super(e,t),this.isUniformBuffer=!0}}let U8=0;class TN extends CN{constructor(e,t){super("UniformBuffer_"+U8++,e?e.value:null),this.nodeUniform=e,this.groupNode=t,this.isNodeUniformBuffer=!0}set updateRanges(e){this.nodeUniform.updateRanges=e}get updateRanges(){return this.nodeUniform.updateRanges}addUpdateRange(e,t){this.nodeUniform.addUpdateRange(e,t)}clearUpdateRanges(){this.nodeUniform.clearUpdateRanges()}get buffer(){return this.nodeUniform.value}}class O8 extends CN{constructor(e){super(e),this.isUniformsGroup=!0,this._values=null,this.uniforms=[]}addUniform(e){return this.uniforms.push(e),this}removeUniform(e){const t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}get values(){return this._values===null&&(this._values=Array.from(this.buffer)),this._values}get buffer(){let e=this._buffer;if(e===null){const t=this.byteLength;e=new Float32Array(new ArrayBuffer(t)),this._buffer=e}return e}get byteLength(){const e=this.bytesPerElement;let t=0;for(let n=0,i=this.uniforms.length;n{this.generation=null,this.version=0},this.texture=t,this.version=t?t.version:0,this.generation=null,this.samplerKey="",this.isSampler=!0}set texture(e){this._texture!==e&&(this._texture&&this._texture.removeEventListener("dispose",this._onTextureDispose),this._texture=e,this.generation=null,this.version=0,this._texture&&this._texture.addEventListener("dispose",this._onTextureDispose))}get texture(){return this._texture}update(){const{texture:e,version:t}=this;return t!==e.version?(this.version=e.version,!0):!1}clone(){const e=super.clone();return e._texture=null,e._onTextureDispose=()=>{e.generation=null,e.version=0},e.texture=this.texture,e}}let z8=0;class G8 extends RN{constructor(e,t){super(e,t),this.id=z8++,this.store=!1,this.mipLevel=0,this.isSampledTexture=!0}}class N_ extends G8{constructor(e,t,n,i=null){super(e,t?t.value:null),this.textureNode=t,this.groupNode=n,this.access=i}update(){const{textureNode:e}=this;return this.texture!==e.value?(this.texture=e.value,!0):super.update()}}class IN extends N_{constructor(e,t,n,i=null){super(e,t,n,i),this.isSampledCubeTexture=!0}}class kM extends N_{constructor(e,t,n,i=null){super(e,t,n,i),this.isSampledTexture3D=!0}}const NN={bitcast_int_uint:new Wh("uint tsl_bitcast_int_to_uint ( int x ) { return floatBitsToUint( intBitsToFloat ( x ) ); }"),bitcast_uint_int:new Wh("uint tsl_bitcast_uint_to_int ( uint x ) { return floatBitsToInt( uintBitsToFloat ( x ) ); }")},H8={textureDimensions:"textureSize",equals:"equal",bitcast_float_int:"floatBitsToInt",bitcast_int_float:"intBitsToFloat",bitcast_uint_float:"uintBitsToFloat",bitcast_float_uint:"floatBitsToUint",bitcast_uint_int:"tsl_bitcast_uint_to_int",bitcast_int_uint:"tsl_bitcast_int_to_uint",floatpack_snorm_2x16:"packSnorm2x16",floatpack_unorm_2x16:"packUnorm2x16",floatpack_float16_2x16:"packHalf2x16",floatunpack_snorm_2x16:"unpackSnorm2x16",floatunpack_unorm_2x16:"unpackUnorm2x16",floatunpack_float16_2x16:"unpackHalf2x16"},Q8={low:"lowp",medium:"mediump",high:"highp"},FN={swizzleAssign:!0,storageBuffer:!1},PN={perspective:"smooth",linear:"noperspective"},LN={centroid:"centroid"},UN=` -precision highp float; -precision highp int; -precision highp sampler2D; -precision highp sampler3D; -precision highp samplerCube; -precision highp sampler2DArray; - -precision highp usampler2D; -precision highp usampler3D; -precision highp usamplerCube; -precision highp usampler2DArray; - -precision highp isampler2D; -precision highp isampler3D; -precision highp isamplerCube; -precision highp isampler2DArray; - -precision lowp sampler2DShadow; -precision lowp sampler2DArrayShadow; -precision lowp samplerCubeShadow; -`;class W8 extends pN{constructor(e,t){super(e,t,new y8),this.uniformGroups={},this.transforms=[],this.extensions={},this.builtins={vertex:[],fragment:[],compute:[]}}needsToWorkingColorSpace(e){return e.isVideoTexture===!0&&e.colorSpace!==ao}_include(e){const t=NN[e];return t.build(this),this.addInclude(t),t}getMethod(e){return NN[e]!==void 0&&this._include(e),H8[e]||e}getBitcastMethod(e,t){return this.getMethod(`bitcast_${t}_${e}`)}getFloatPackingMethod(e){return this.getMethod(`floatpack_${e}_2x16`)}getFloatUnpackingMethod(e){return this.getMethod(`floatunpack_${e}_2x16`)}getTernary(e,t,n){return`${e} ? ${t} : ${n}`}getOutputStructName(){return""}buildFunctionCode(e){const t=e.layout,n=this.flowShaderNode(e),i=[];for(const o of t.inputs)i.push(this.getType(o.type)+" "+o.name);return`${this.getType(t.type)} ${t.name}( ${i.join(", ")} ) { - - ${n.vars} - -${n.code} - return ${n.result}; - -}`}setupPBO(e){const t=e.value;if(t.pbo===void 0){const n=t.array,i=t.count*t.itemSize,{itemSize:a}=t,o=t.array.constructor.name.toLowerCase().includes("int");let u=o?ie:z;a===2?u=o?Je:ze:a===3?u=o?At:Ie:a===4&&(u=o?xt:L);const c={Float32Array:dt,Uint8Array:es,Uint16Array:rn,Uint32Array:st,Int8Array:Ci,Int16Array:En,Int32Array:Xt,Uint8ClampedArray:es},d=Math.pow(2,Math.ceil(Math.log2(Math.sqrt(i/a))));let g=Math.ceil(i/a/d);d*g*a0?M:"";u=`${g.name} { - ${v} ${o.name}[${B}]; -}; -`}else u=`${this.getVectorType(o.type)} ${this.getPropertyName(o,e)};`,c=!0;const d=o.node.precision;if(d!==null&&(u=Q8[d]+" "+u),c){u=" "+u;const g=o.groupNode.name;(i[g]||(i[g]=[])).push(u)}else u="uniform "+u,n.push(u)}let a="";for(const o in i){const u=i[o];a+=this._getGLSLUniformStruct(e+"_"+o,u.join(` -`))+` -`}return a+=n.join(` -`),a}getTypeFromAttribute(e){let t=super.getTypeFromAttribute(e);if(/^[iu]/.test(t)&&e.gpuType!==Xt){let n=e;e.isInterleavedBufferAttribute&&(n=e.data);const i=n.array;i instanceof Uint32Array||i instanceof Int32Array||(t=t.slice(1))}return t}getAttributes(e){let t="";if(e==="vertex"||e==="compute"){const n=this.getAttributesArray();let i=0;for(const a of n)t+=`layout( location = ${i++} ) in ${a.type} ${a.name}; -`}return t}getStructMembers(e){const t=[];for(const n of e.members)t.push(` ${n.type} ${n.name};`);return t.join(` -`)}getStructs(e){const t=[],n=this.structs[e],i=[];for(const a of n)if(a.output)for(const o of a.members)i.push(`layout( location = ${o.index} ) out ${o.type} ${o.name};`);else{let o="struct "+a.name+` { -`;o+=this.getStructMembers(a),o+=` -}; -`,t.push(o)}return i.length===0&&i.push("layout( location = 0 ) out vec4 fragColor;"),` -`+i.join(` -`)+` - -`+t.join(` -`)}getVaryings(e){let t="";const n=this.varyings;if(e==="vertex"||e==="compute")for(const i of n){e==="compute"&&(i.needsInterpolation=!0);const a=this.getType(i.type);if(i.needsInterpolation)if(i.interpolationType){const o=PN[i.interpolationType]||i.interpolationType,u=LN[i.interpolationSampling]||"";t+=`${o} ${u} out ${a} ${i.name}; -`}else{const o=a.includes("int")||a.includes("uv")||a.includes("iv")?"flat ":"";t+=`${o}out ${a} ${i.name}; -`}else t+=`${a} ${i.name}; -`}else if(e==="fragment"){for(const i of n)if(i.needsInterpolation){const a=this.getType(i.type);if(i.interpolationType){const o=PN[i.interpolationType]||i.interpolationType,u=LN[i.interpolationSampling]||"";t+=`${o} ${u} in ${a} ${i.name}; -`}else{const o=a.includes("int")||a.includes("uv")||a.includes("iv")?"flat ":"";t+=`${o}in ${a} ${i.name}; -`}}}for(const i of this.builtins[e])t+=`${i}; -`;return t}getVertexIndex(){return"uint( gl_VertexID )"}getInstanceIndex(){return"uint( gl_InstanceID )"}getInvocationLocalIndex(){return`uint( gl_InstanceID ) % ${this.object.workgroupSize.reduce((n,i)=>n*i,1)}u`}getSubgroupSize(){Gr("GLSLNodeBuilder: WebGLBackend does not support the subgroupSize node")}getInvocationSubgroupIndex(){Gr("GLSLNodeBuilder: WebGLBackend does not support the invocationSubgroupIndex node")}getSubgroupIndex(){Gr("GLSLNodeBuilder: WebGLBackend does not support the subgroupIndex node")}getDrawIndex(){return this.renderer.backend.extensions.has("WEBGL_multi_draw")?"uint( gl_DrawID )":null}getFrontFacing(){return"gl_FrontFacing"}getFragCoord(){return"gl_FragCoord.xy"}getFragDepth(){return"gl_FragDepth"}enableExtension(e,t,n=this.shaderStage){const i=this.extensions[n]||(this.extensions[n]=new Map);i.has(e)===!1&&i.set(e,{name:e,behavior:t})}getExtensions(e){const t=[];if(e==="vertex"){const i=this.renderer.backend.extensions;this.object.isBatchedMesh&&i.has("WEBGL_multi_draw")&&this.enableExtension("GL_ANGLE_multi_draw","require",e)}const n=this.extensions[e];if(n!==void 0)for(const{name:i,behavior:a}of n.values())t.push(`#extension ${i} : ${a}`);return t.join(` -`)}getClipDistance(){return"gl_ClipDistance"}isAvailable(e){let t=FN[e];if(t===void 0){let n;switch(t=!1,e){case"float32Filterable":n="OES_texture_float_linear";break;case"clipDistance":n="WEBGL_clip_cull_distance";break}if(n!==void 0){const i=this.renderer.backend.extensions;i.has(n)&&(i.get(n),t=!0)}FN[e]=t}return t}isFlipY(){return!0}enableHardwareClipping(e){this.enableExtension("GL_ANGLE_clip_cull_distance","require"),this.builtins.vertex.push(`out float gl_ClipDistance[ ${e} ]`)}enableMultiview(){this.enableExtension("GL_OVR_multiview2","require","fragment"),this.enableExtension("GL_OVR_multiview2","require","vertex"),this.builtins.vertex.push("layout(num_views = 2) in")}registerTransform(e,t){this.transforms.push({varyingName:e,attributeNode:t})}getTransforms(){const e=this.transforms;let t="";for(let n=0;n0&&(n+=` -`),n+=` // flow -> ${d} - `),n+=`${c.code} - `,u===a&&t!=="compute"&&(n+=`// result - `,t==="vertex"?(n+="gl_Position = ",n+=`${c.result};`):t==="fragment"&&(u.outputNode.isOutputStructNode||(n+="fragColor = ",n+=`${c.result};`)))}const o=e[t];o.extensions=this.getExtensions(t),o.uniforms=this.getUniforms(t),o.attributes=this.getAttributes(t),o.varyings=this.getVaryings(t),o.vars=this.getVars(t),o.structs=this.getStructs(t),o.codes=this.getCodes(t),o.transforms=this.getTransforms(t),o.flow=n}this.material!==null?(this.vertexShader=this._getGLSLVertexCode(e.vertex),this.fragmentShader=this._getGLSLFragmentCode(e.fragment)):this.computeShader=this._getGLSLVertexCode(e.compute)}getUniformFromNode(e,t,n,i=null){const a=super.getUniformFromNode(e,t,n,i),o=this.getDataFromNode(e,n,this.globalCache);let u=o.uniformGPU;if(u===void 0){const c=e.groupNode,d=c.name,g=this.getBindGroupArray(d,n);if(t==="texture")u=new N_(a.name,a.node,c),g.push(u);else if(t==="cubeTexture"||t==="cubeDepthTexture")u=new IN(a.name,a.node,c),g.push(u);else if(t==="texture3D")u=new kM(a.name,a.node,c),g.push(u);else if(t==="buffer"){a.name=`buffer${e.id}`;const v=this.getSharedDataFromNode(e);let M=v.buffer;M===void 0&&(e.name=`NodeBuffer_${e.id}`,M=new TN(e,c),M.name=e.name,v.buffer=M),g.push(M),u=M}else{const v=this.uniformGroups[n]||(this.uniformGroups[n]={});let M=v[d];M===void 0&&(M=new BN(n+"_"+d,c),v[d]=M,g.push(M)),u=this.getNodeUniform(a,t),M.addUniform(u)}o.uniformGPU=u}return a}}let VM=null,Dv=null;class ON{constructor(e={}){this.parameters=Object.assign({},e),this.data=new WeakMap,this.renderer=null,this.domElement=null,this.timestampQueryPool={[ml.RENDER]:null,[ml.COMPUTE]:null},this.trackTimestamp=e.trackTimestamp===!0}init(e){return Pa(this,null,function*(){this.renderer=e})}get coordinateSystem(){}beginRender(){}finishRender(){}beginCompute(){}finishCompute(){}draw(){}compute(){}createProgram(){}destroyProgram(){}createBindings(){}updateBindings(){}updateBinding(){}createRenderPipeline(){}createComputePipeline(){}needsRenderUpdate(){}getRenderCacheKey(){}createNodeBuilder(){}updateSampler(){}createDefaultTexture(){}createTexture(){}updateTexture(){}generateMipmaps(){}destroyTexture(){}copyTextureToBuffer(){return Pa(this,null,function*(){})}copyTextureToTexture(){}copyFramebufferToTexture(){}createAttribute(){}createIndexAttribute(){}createStorageAttribute(){}updateAttribute(){}destroyAttribute(){}getContext(){}updateSize(){}updateViewport(){}updateTimeStampUID(e){const t=this.get(e),n=this.renderer.info.frame;let i;e.isComputeNode===!0?i="c:"+this.renderer.info.compute.frameCalls:i="r:"+this.renderer.info.render.frameCalls,t.timestampUID=i+":"+e.id+":f"+n}getTimestampUID(e){return this.get(e).timestampUID}getTimestampFrames(e){const t=this.timestampQueryPool[e];return t?t.getTimestampFrames():[]}_getQueryPool(e){const t=e.startsWith("c:")?ml.COMPUTE:ml.RENDER;return this.timestampQueryPool[t]}getTimestamp(e){return this._getQueryPool(e).getTimestamp(e)}hasTimestamp(e){return this._getQueryPool(e).hasTimestamp(e)}isOccluded(){}resolveTimestampsAsync(e="render"){return Pa(this,null,function*(){if(!this.trackTimestamp){ki("WebGPURenderer: Timestamp tracking is disabled.");return}const t=this.timestampQueryPool[e];if(!t)return;const n=yield t.resolveQueriesAsync();return this.renderer.info[e].timestamp=n,n})}getArrayBufferAsync(){return Pa(this,null,function*(){})}hasFeatureAsync(){return Pa(this,null,function*(){})}hasFeature(){}getMaxAnisotropy(){}getDrawingBufferSize(){return VM=VM||new ce,this.renderer.getDrawingBufferSize(VM)}setScissorTest(){}getClearColor(){const e=this.renderer;return Dv=Dv||new nM,e.getClearColor(Dv),Dv.getRGB(Dv),Dv}getDomElement(){let e=this.domElement;return e===null&&(e=this.parameters.canvas!==void 0?this.parameters.canvas:yh(),"setAttribute"in e&&e.setAttribute("data-engine",`three.js r${m} webgpu`),this.domElement=e),e}set(e,t){this.data.set(e,t)}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}has(e){return this.data.has(e)}delete(e){this.data.delete(e)}deleteBindGroupData(){}dispose(){}}let Z8=0;class K8{constructor(e,t){this.buffers=[e.bufferGPU,t],this.type=e.type,this.bufferType=e.bufferType,this.pbo=e.pbo,this.byteLength=e.byteLength,this.bytesPerElement=e.BYTES_PER_ELEMENT,this.version=e.version,this.isInteger=e.isInteger,this.activeBufferIndex=0,this.baseId=e.id}get id(){return`${this.baseId}|${this.activeBufferIndex}`}get bufferGPU(){return this.buffers[this.activeBufferIndex]}get transformBuffer(){return this.buffers[this.activeBufferIndex^1]}switchBuffers(){this.activeBufferIndex^=1}}class $8{constructor(e){this.backend=e}createAttribute(e,t){const n=this.backend,{gl:i}=n,a=e.array,o=e.usage||i.STATIC_DRAW,u=e.isInterleavedBufferAttribute?e.data:e,c=n.get(u);let d=c.bufferGPU;d===void 0&&(d=this._createBuffer(i,t,a,o),c.bufferGPU=d,c.bufferType=t,c.version=u.version);let g;if(a instanceof Float32Array)g=i.FLOAT;else if(typeof Float16Array!="undefined"&&a instanceof Float16Array)g=i.HALF_FLOAT;else if(a instanceof Uint16Array)e.isFloat16BufferAttribute?g=i.HALF_FLOAT:g=i.UNSIGNED_SHORT;else if(a instanceof Int16Array)g=i.SHORT;else if(a instanceof Uint32Array)g=i.UNSIGNED_INT;else if(a instanceof Int32Array)g=i.INT;else if(a instanceof Int8Array)g=i.BYTE;else if(a instanceof Uint8Array)g=i.UNSIGNED_BYTE;else if(a instanceof Uint8ClampedArray)g=i.UNSIGNED_BYTE;else throw new Error("THREE.WebGLBackend: Unsupported buffer data format: "+a);let v={bufferGPU:d,bufferType:t,type:g,byteLength:a.byteLength,bytesPerElement:a.BYTES_PER_ELEMENT,version:e.version,pbo:e.pbo,isInteger:g===i.INT||g===i.UNSIGNED_INT||e.gpuType===Xt,id:Z8++};if(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute){const M=this._createBuffer(i,t,a,o);v=new K8(v,M)}n.set(e,v)}updateAttribute(e){const t=this.backend,{gl:n}=t,i=e.array,a=e.isInterleavedBufferAttribute?e.data:e,o=t.get(a),u=o.bufferType,c=e.isInterleavedBufferAttribute?e.data.updateRanges:e.updateRanges;if(n.bindBuffer(u,o.bufferGPU),c.length===0)n.bufferSubData(u,0,i);else{for(let d=0,g=c.length;d0?this.enable(i.SAMPLE_ALPHA_TO_COVERAGE):this.disable(i.SAMPLE_ALPHA_TO_COVERAGE),n>0&&this.currentClippingPlanes!==n)for(let c=0;c<8;c++)c{function a(){const o=e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0);if(o===e.WAIT_FAILED){e.deleteSync(t),i();return}if(o===e.TIMEOUT_EXPIRED){requestAnimationFrame(a);return}e.deleteSync(t),n()}a()})}}let DN=!1,F_,GM,kN;class Y8{constructor(e){this.backend=e,this.gl=e.gl,this.extensions=e.extensions,this.defaultTextures={},this._srcFramebuffer=null,this._dstFramebuffer=null,DN===!1&&(this._init(),DN=!0)}_init(){const e=this.gl;F_={[$t]:e.REPEAT,[Vt]:e.CLAMP_TO_EDGE,[Qt]:e.MIRRORED_REPEAT},GM={[cn]:e.NEAREST,[Yn]:e.NEAREST_MIPMAP_NEAREST,[Sr]:e.NEAREST_MIPMAP_LINEAR,[vr]:e.LINEAR,[Ki]:e.LINEAR_MIPMAP_NEAREST,[yi]:e.LINEAR_MIPMAP_LINEAR},kN={[gu]:e.NEVER,[$u]:e.ALWAYS,[oo]:e.LESS,[jc]:e.LEQUAL,[Ic]:e.EQUAL,[Ji]:e.GEQUAL,[ph]:e.GREATER,[Lo]:e.NOTEQUAL}}getGLTextureType(e){const{gl:t}=this;let n;return e.isCubeTexture===!0?n=t.TEXTURE_CUBE_MAP:e.isArrayTexture===!0||e.isDataArrayTexture===!0||e.isCompressedArrayTexture===!0?n=t.TEXTURE_2D_ARRAY:e.isData3DTexture===!0?n=t.TEXTURE_3D:n=t.TEXTURE_2D,n}getInternalFormat(e,t,n,i,a=!1){const{gl:o,extensions:u}=this;if(e!==null){if(o[e]!==void 0)return o[e];Lr("WebGLBackend: Attempt to use non-existing WebGL internal format '"+e+"'")}let c=t;if(t===o.RED&&(n===o.FLOAT&&(c=o.R32F),n===o.HALF_FLOAT&&(c=o.R16F),n===o.UNSIGNED_BYTE&&(c=o.R8),n===o.UNSIGNED_SHORT&&(c=o.R16),n===o.UNSIGNED_INT&&(c=o.R32UI),n===o.BYTE&&(c=o.R8I),n===o.SHORT&&(c=o.R16I),n===o.INT&&(c=o.R32I)),t===o.RED_INTEGER&&(n===o.UNSIGNED_BYTE&&(c=o.R8UI),n===o.UNSIGNED_SHORT&&(c=o.R16UI),n===o.UNSIGNED_INT&&(c=o.R32UI),n===o.BYTE&&(c=o.R8I),n===o.SHORT&&(c=o.R16I),n===o.INT&&(c=o.R32I)),t===o.RG&&(n===o.FLOAT&&(c=o.RG32F),n===o.HALF_FLOAT&&(c=o.RG16F),n===o.UNSIGNED_BYTE&&(c=o.RG8),n===o.UNSIGNED_SHORT&&(c=o.RG16),n===o.UNSIGNED_INT&&(c=o.RG32UI),n===o.BYTE&&(c=o.RG8I),n===o.SHORT&&(c=o.RG16I),n===o.INT&&(c=o.RG32I)),t===o.RG_INTEGER&&(n===o.UNSIGNED_BYTE&&(c=o.RG8UI),n===o.UNSIGNED_SHORT&&(c=o.RG16UI),n===o.UNSIGNED_INT&&(c=o.RG32UI),n===o.BYTE&&(c=o.RG8I),n===o.SHORT&&(c=o.RG16I),n===o.INT&&(c=o.RG32I)),t===o.RGB){const d=a?Uu:xr.getTransfer(i);n===o.FLOAT&&(c=o.RGB32F),n===o.HALF_FLOAT&&(c=o.RGB16F),n===o.UNSIGNED_BYTE&&(c=o.RGB8),n===o.UNSIGNED_SHORT&&(c=o.RGB16),n===o.UNSIGNED_INT&&(c=o.RGB32UI),n===o.BYTE&&(c=o.RGB8I),n===o.SHORT&&(c=o.RGB16I),n===o.INT&&(c=o.RGB32I),n===o.UNSIGNED_BYTE&&(c=d===ws?o.SRGB8:o.RGB8),n===o.UNSIGNED_SHORT_5_6_5&&(c=o.RGB565),n===o.UNSIGNED_SHORT_5_5_5_1&&(c=o.RGB5_A1),n===o.UNSIGNED_SHORT_4_4_4_4&&(c=o.RGB4),n===o.UNSIGNED_INT_5_9_9_9_REV&&(c=o.RGB9_E5),n===o.UNSIGNED_INT_10F_11F_11F_REV&&(c=o.R11F_G11F_B10F)}if(t===o.RGB_INTEGER&&(n===o.UNSIGNED_BYTE&&(c=o.RGB8UI),n===o.UNSIGNED_SHORT&&(c=o.RGB16UI),n===o.UNSIGNED_INT&&(c=o.RGB32UI),n===o.BYTE&&(c=o.RGB8I),n===o.SHORT&&(c=o.RGB16I),n===o.INT&&(c=o.RGB32I)),t===o.RGBA){const d=a?Uu:xr.getTransfer(i);n===o.FLOAT&&(c=o.RGBA32F),n===o.HALF_FLOAT&&(c=o.RGBA16F),n===o.UNSIGNED_BYTE&&(c=o.RGBA8),n===o.UNSIGNED_SHORT&&(c=o.RGBA16),n===o.UNSIGNED_INT&&(c=o.RGBA32UI),n===o.BYTE&&(c=o.RGBA8I),n===o.SHORT&&(c=o.RGBA16I),n===o.INT&&(c=o.RGBA32I),n===o.UNSIGNED_BYTE&&(c=d===ws?o.SRGB8_ALPHA8:o.RGBA8),n===o.UNSIGNED_SHORT_4_4_4_4&&(c=o.RGBA4),n===o.UNSIGNED_SHORT_5_5_5_1&&(c=o.RGB5_A1)}return t===o.RGBA_INTEGER&&(n===o.UNSIGNED_BYTE&&(c=o.RGBA8UI),n===o.UNSIGNED_SHORT&&(c=o.RGBA16UI),n===o.UNSIGNED_INT&&(c=o.RGBA32UI),n===o.BYTE&&(c=o.RGBA8I),n===o.SHORT&&(c=o.RGBA16I),n===o.INT&&(c=o.RGBA32I)),t===o.DEPTH_COMPONENT&&(n===o.UNSIGNED_SHORT&&(c=o.DEPTH_COMPONENT16),n===o.UNSIGNED_INT&&(c=o.DEPTH_COMPONENT24),n===o.FLOAT&&(c=o.DEPTH_COMPONENT32F)),t===o.DEPTH_STENCIL&&n===o.UNSIGNED_INT_24_8&&(c=o.DEPTH24_STENCIL8),(c===o.R16F||c===o.R32F||c===o.RG16F||c===o.RG32F||c===o.RGBA16F||c===o.RGBA32F)&&u.get("EXT_color_buffer_float"),c}setTextureParameters(e,t){const{gl:n,extensions:i,backend:a}=this,o=xr.getPrimaries(xr.workingColorSpace),u=t.colorSpace===ao?null:xr.getPrimaries(t.colorSpace),c=t.colorSpace===ao||o===u?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,t.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,t.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,c),n.texParameteri(e,n.TEXTURE_WRAP_S,F_[t.wrapS]),n.texParameteri(e,n.TEXTURE_WRAP_T,F_[t.wrapT]),(e===n.TEXTURE_3D||e===n.TEXTURE_2D_ARRAY)&&(t.isArrayTexture||n.texParameteri(e,n.TEXTURE_WRAP_R,F_[t.wrapR])),n.texParameteri(e,n.TEXTURE_MAG_FILTER,GM[t.magFilter]);const d=t.mipmaps!==void 0&&t.mipmaps.length>0,g=t.minFilter===vr&&d?yi:t.minFilter;if(n.texParameteri(e,n.TEXTURE_MIN_FILTER,GM[g]),t.compareFunction&&(n.texParameteri(e,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(e,n.TEXTURE_COMPARE_FUNC,kN[t.compareFunction])),i.has("EXT_texture_filter_anisotropic")===!0){if(t.magFilter===cn||t.minFilter!==Sr&&t.minFilter!==yi||t.type===dt&&i.has("OES_texture_float_linear")===!1)return;if(t.anisotropy>1){const v=i.get("EXT_texture_filter_anisotropic");n.texParameterf(e,v.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(t.anisotropy,a.getMaxAnisotropy()))}}}createDefaultTexture(e){const{gl:t,backend:n,defaultTextures:i}=this,a=this.getGLTextureType(e);let o=i[a];o===void 0&&(o=t.createTexture(),n.state.bindTexture(a,o),t.texParameteri(a,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(a,t.TEXTURE_MAG_FILTER,t.NEAREST),i[a]=o),n.set(e,{textureGPU:o,glTextureType:a})}createTexture(e,t){const{gl:n,backend:i}=this,{levels:a,width:o,height:u,depth:c}=t,d=i.utils.convert(e.format,e.colorSpace),g=i.utils.convert(e.type),v=this.getInternalFormat(e.internalFormat,d,g,e.colorSpace,e.isVideoTexture),M=n.createTexture(),B=this.getGLTextureType(e);i.state.bindTexture(B,M),this.setTextureParameters(B,e),e.isArrayTexture||e.isDataArrayTexture||e.isCompressedArrayTexture?n.texStorage3D(n.TEXTURE_2D_ARRAY,a,v,o,u,c):e.isData3DTexture?n.texStorage3D(n.TEXTURE_3D,a,v,o,u,c):e.isVideoTexture||n.texStorage2D(B,a,v,o,u),i.set(e,{textureGPU:M,glTextureType:B,glFormat:d,glType:g,glInternalFormat:v})}copyBufferToTexture(e,t){const{gl:n,backend:i}=this,{textureGPU:a,glTextureType:o,glFormat:u,glType:c}=i.get(t),{width:d,height:g}=t.source.data;n.bindBuffer(n.PIXEL_UNPACK_BUFFER,e),i.state.bindTexture(o,a),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.texSubImage2D(o,0,0,0,d,g,u,c,0),n.bindBuffer(n.PIXEL_UNPACK_BUFFER,null),i.state.unbindTexture()}updateTexture(e,t){const{gl:n}=this,{width:i,height:a}=t,{textureGPU:o,glTextureType:u,glFormat:c,glType:d,glInternalFormat:g}=this.backend.get(e);if(!(e.isRenderTargetTexture||o===void 0))if(this.backend.state.bindTexture(u,o),this.setTextureParameters(u,e),e.isCompressedTexture){const v=e.mipmaps,M=t.image;for(let B=0;B0){const M=l(v.width,v.height,e.format,e.type);for(const B of e.layerUpdates){const I=v.data.subarray(B*M/v.data.BYTES_PER_ELEMENT,(B+1)*M/v.data.BYTES_PER_ELEMENT);n.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,B,v.width,v.height,1,c,d,I)}e.clearLayerUpdates()}else n.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,v.width,v.height,v.depth,c,d,v.data)}else if(e.isData3DTexture){const v=t.image;n.texSubImage3D(n.TEXTURE_3D,0,0,0,0,v.width,v.height,v.depth,c,d,v.data)}else if(e.isVideoTexture)e.update(),n.texImage2D(u,0,g,c,d,t.image);else{const v=e.mipmaps;if(v.length>0)for(let M=0,B=v.length;M0,M=t.renderTarget?t.renderTarget.height:this.backend.getDrawingBufferSize().y;if(v){const B=u!==0||c!==0;let I,ne;if(e.isDepthTexture===!0?(I=i.DEPTH_BUFFER_BIT,ne=i.DEPTH_ATTACHMENT,t.stencil&&(I|=i.STENCIL_BUFFER_BIT)):(I=i.COLOR_BUFFER_BIT,ne=i.COLOR_ATTACHMENT0),B){const ee=this.backend.get(t.renderTarget),q=ee.framebuffers[t.getCacheKey()],ye=ee.msaaFrameBuffer;a.bindFramebuffer(i.DRAW_FRAMEBUFFER,q),a.bindFramebuffer(i.READ_FRAMEBUFFER,ye);const Ce=M-c-g;i.blitFramebuffer(u,Ce,u+d,Ce+g,u,Ce,u+d,Ce+g,I,i.NEAREST),a.bindFramebuffer(i.READ_FRAMEBUFFER,q),a.bindTexture(i.TEXTURE_2D,o),i.copyTexSubImage2D(i.TEXTURE_2D,0,0,0,u,Ce,d,g),a.unbindTexture()}else{const ee=i.createFramebuffer();a.bindFramebuffer(i.DRAW_FRAMEBUFFER,ee),i.framebufferTexture2D(i.DRAW_FRAMEBUFFER,ne,i.TEXTURE_2D,o,0),i.blitFramebuffer(0,0,d,g,0,0,d,g,I,i.NEAREST),i.deleteFramebuffer(ee)}}else a.bindTexture(i.TEXTURE_2D,o),i.copyTexSubImage2D(i.TEXTURE_2D,0,0,0,u,M-g-c,d,g),a.unbindTexture();e.generateMipmaps&&this.generateMipmaps(e),this.backend._setFramebuffer(t)}setupRenderBufferStorage(e,t,n,i=!1){const{gl:a}=this,o=t.renderTarget,{depthTexture:u,depthBuffer:c,stencilBuffer:d,width:g,height:v}=o;if(a.bindRenderbuffer(a.RENDERBUFFER,e),c&&!d){let M=a.DEPTH_COMPONENT24;i===!0?this.extensions.get("WEBGL_multisampled_render_to_texture").renderbufferStorageMultisampleEXT(a.RENDERBUFFER,o.samples,M,g,v):n>0?(u&&u.isDepthTexture&&u.type===a.FLOAT&&(M=a.DEPTH_COMPONENT32F),a.renderbufferStorageMultisample(a.RENDERBUFFER,n,M,g,v)):a.renderbufferStorage(a.RENDERBUFFER,M,g,v),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.RENDERBUFFER,e)}else c&&d&&(n>0?a.renderbufferStorageMultisample(a.RENDERBUFFER,n,a.DEPTH24_STENCIL8,g,v):a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_STENCIL,g,v),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.RENDERBUFFER,e));a.bindRenderbuffer(a.RENDERBUFFER,null)}copyTextureToBuffer(e,t,n,i,a,o){return Pa(this,null,function*(){const{backend:u,gl:c}=this,{textureGPU:d,glFormat:g,glType:v}=this.backend.get(e),M=c.createFramebuffer();u.state.bindFramebuffer(c.READ_FRAMEBUFFER,M);const B=e.isCubeTexture?c.TEXTURE_CUBE_MAP_POSITIVE_X+o:c.TEXTURE_2D;c.framebufferTexture2D(c.READ_FRAMEBUFFER,c.COLOR_ATTACHMENT0,B,d,0);const I=this._getTypedArrayType(v),ne=this._getBytesPerTexel(v,g),q=i*a*ne,ye=c.createBuffer();c.bindBuffer(c.PIXEL_PACK_BUFFER,ye),c.bufferData(c.PIXEL_PACK_BUFFER,q,c.STREAM_READ),c.readPixels(t,n,i,a,g,v,0),c.bindBuffer(c.PIXEL_PACK_BUFFER,null),yield u.utils._clientWaitAsync();const Ce=new I(q/I.BYTES_PER_ELEMENT);return c.bindBuffer(c.PIXEL_PACK_BUFFER,ye),c.getBufferSubData(c.PIXEL_PACK_BUFFER,0,Ce),c.bindBuffer(c.PIXEL_PACK_BUFFER,null),u.state.bindFramebuffer(c.READ_FRAMEBUFFER,null),c.deleteFramebuffer(M),Ce})}_getTypedArrayType(e){const{gl:t}=this;if(e===t.UNSIGNED_BYTE)return Uint8Array;if(e===t.UNSIGNED_SHORT_4_4_4_4||e===t.UNSIGNED_SHORT_5_5_5_1||e===t.UNSIGNED_SHORT_5_6_5||e===t.UNSIGNED_SHORT)return Uint16Array;if(e===t.UNSIGNED_INT)return Uint32Array;if(e===t.HALF_FLOAT)return Uint16Array;if(e===t.FLOAT)return Float32Array;throw new Error(`Unsupported WebGL type: ${e}`)}_getBytesPerTexel(e,t){const{gl:n}=this;let i=0;if(e===n.UNSIGNED_BYTE&&(i=1),(e===n.UNSIGNED_SHORT_4_4_4_4||e===n.UNSIGNED_SHORT_5_5_5_1||e===n.UNSIGNED_SHORT_5_6_5||e===n.UNSIGNED_SHORT||e===n.HALF_FLOAT)&&(i=2),(e===n.UNSIGNED_INT||e===n.FLOAT)&&(i=4),t===n.RGBA)return i*4;if(t===n.RGB)return i*3;if(t===n.ALPHA)return i}dispose(){const{gl:e}=this;this._srcFramebuffer!==null&&e.deleteFramebuffer(this._srcFramebuffer),this._dstFramebuffer!==null&&e.deleteFramebuffer(this._dstFramebuffer)}}function P_(s){return s.isDataTexture?s.image.data:typeof HTMLImageElement!="undefined"&&s instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&s instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&s instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&s instanceof OffscreenCanvas?s:s.data}class q8{constructor(e){this.backend=e,this.gl=this.backend.gl,this.availableExtensions=this.gl.getSupportedExtensions(),this.extensions={}}get(e){let t=this.extensions[e];return t===void 0&&(t=this.gl.getExtension(e),this.extensions[e]=t),t}has(e){return this.availableExtensions.includes(e)}}class J8{constructor(e){this.backend=e,this.maxAnisotropy=null}getMaxAnisotropy(){if(this.maxAnisotropy!==null)return this.maxAnisotropy;const e=this.backend.gl,t=this.backend.extensions;if(t.has("EXT_texture_filter_anisotropic")===!0){const n=t.get("EXT_texture_filter_anisotropic");this.maxAnisotropy=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else this.maxAnisotropy=0;return this.maxAnisotropy}}const VN={WEBGL_multi_draw:"WEBGL_multi_draw",WEBGL_compressed_texture_astc:"texture-compression-astc",WEBGL_compressed_texture_etc:"texture-compression-etc2",WEBGL_compressed_texture_etc1:"texture-compression-etc1",WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBGL_compressed_texture_s3tc:"texture-compression-s3tc",EXT_texture_compression_bptc:"texture-compression-bc",EXT_disjoint_timer_query_webgl2:"timestamp-query",OVR_multiview2:"OVR_multiview2"};class eW{constructor(e){this.gl=e.gl,this.extensions=e.extensions,this.info=e.renderer.info,this.mode=null,this.index=0,this.type=null,this.object=null}render(e,t){const{gl:n,mode:i,object:a,type:o,info:u,index:c}=this;c!==0?n.drawElements(i,t,o,e):n.drawArrays(i,e,t),u.update(a,t,1)}renderInstances(e,t,n){const{gl:i,mode:a,type:o,index:u,object:c,info:d}=this;n!==0&&(u!==0?i.drawElementsInstanced(a,t,o,e,n):i.drawArraysInstanced(a,e,t,n),d.update(c,t,n))}renderMultiDraw(e,t,n){const{extensions:i,mode:a,object:o,info:u}=this;if(n===0)return;const c=i.get("WEBGL_multi_draw");if(c===null)for(let d=0;dthis.maxQueries)return ki(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryStates.set(t,"inactive"),this.queryOffsets.set(e,t),t}beginQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e);if(t==null||this.activeQuery!==null)return;const n=this.queries[t];if(n)try{this.queryStates.get(t)==="inactive"&&(this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,n),this.activeQuery=t,this.queryStates.set(t,"started"))}catch(i){Gr("Error in beginQuery:",i),this.activeQuery=null,this.queryStates.set(t,"inactive")}}endQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e);if(t!=null&&this.activeQuery===t)try{this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.queryStates.set(t,"ended"),this.activeQuery=null}catch(n){Gr("Error in endQuery:",n),this.queryStates.set(t,"inactive"),this.activeQuery=null}}resolveQueriesAsync(){return Pa(this,null,function*(){if(!this.trackTimestamp||this.pendingResolve)return this.lastValue;this.pendingResolve=!0;try{const e=new Map;for(const[a,o]of this.queryOffsets)if(this.queryStates.get(o)==="ended"){const c=this.queries[o];e.set(a,this.resolveQuery(c))}if(e.size===0)return this.lastValue;const t={},n=[];for(const[a,o]of e){const u=a.match(/^(.*):f(\d+)$/),c=parseInt(u[2]);n.includes(c)===!1&&n.push(c),t[c]===void 0&&(t[c]=0);const d=yield o;this.timestamps.set(a,d),t[c]+=d}const i=t[n[n.length-1]];return this.lastValue=i,this.frames=n,this.currentQueryIndex=0,this.queryOffsets.clear(),this.queryStates.clear(),this.activeQuery=null,i}catch(e){return Gr("Error resolving queries:",e),this.lastValue}finally{this.pendingResolve=!1}})}resolveQuery(e){return Pa(this,null,function*(){return new Promise(t=>{if(this.isDisposed){t(this.lastValue);return}let n,i=!1;const a=()=>{n&&(clearTimeout(n),n=null)},o=c=>{i||(i=!0,a(),t(c))},u=()=>{if(this.isDisposed){o(this.lastValue);return}try{if(this.gl.getParameter(this.ext.GPU_DISJOINT_EXT)){o(this.lastValue);return}if(!this.gl.getQueryParameter(e,this.gl.QUERY_RESULT_AVAILABLE)){n=setTimeout(u,1);return}const g=this.gl.getQueryParameter(e,this.gl.QUERY_RESULT);t(Number(g)/1e6)}catch(c){Gr("Error checking query:",c),t(this.lastValue)}};u()})})}dispose(){if(!this.isDisposed&&(this.isDisposed=!0,!!this.trackTimestamp)){for(const e of this.queries)this.gl.deleteQuery(e);this.queries=[],this.queryStates.clear(),this.queryOffsets.clear(),this.lastValue=0,this.activeQuery=null}}}class GN extends ON{constructor(e={}){super(e),this.isWebGLBackend=!0,this.attributeUtils=null,this.extensions=null,this.capabilities=null,this.textureUtils=null,this.bufferRenderer=null,this.gl=null,this.state=null,this.utils=null,this.vaoCache={},this.transformFeedbackCache={},this.discard=!1,this.disjoint=null,this.parallel=null,this._currentContext=null,this._knownBindings=new WeakSet,this._supportsInvalidateFramebuffer=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),this._xrFramebuffer=null}init(e){super.init(e);const t=this.parameters,n={antialias:e.currentSamples>0,alpha:!0,depth:e.depth,stencil:e.stencil},i=t.context!==void 0?t.context:e.domElement.getContext("webgl2",n);function a(o){o.preventDefault();const u={api:"WebGL",message:o.statusMessage||"Unknown reason",reason:null,originalEvent:o};e.onDeviceLost(u)}this._onContextLost=a,e.domElement.addEventListener("webglcontextlost",a,!1),this.gl=i,this.extensions=new q8(this),this.capabilities=new J8(this),this.attributeUtils=new $8(this),this.textureUtils=new Y8(this),this.bufferRenderer=new eW(this),this.state=new X8(this),this.utils=new j8(this),this.extensions.get("EXT_color_buffer_float"),this.extensions.get("WEBGL_clip_cull_distance"),this.extensions.get("OES_texture_float_linear"),this.extensions.get("EXT_color_buffer_half_float"),this.extensions.get("WEBGL_multisampled_render_to_texture"),this.extensions.get("WEBGL_render_shared_exponent"),this.extensions.get("WEBGL_multi_draw"),this.extensions.get("OVR_multiview2"),this.disjoint=this.extensions.get("EXT_disjoint_timer_query_webgl2"),this.parallel=this.extensions.get("KHR_parallel_shader_compile"),this.drawBuffersIndexedExt=this.extensions.get("OES_draw_buffers_indexed")}get coordinateSystem(){return gl}getArrayBufferAsync(e){return Pa(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(e)})}makeXRCompatible(){return Pa(this,null,function*(){this.gl.getContextAttributes().xrCompatible!==!0&&(yield this.gl.makeXRCompatible())})}setXRTarget(e){this._xrFramebuffer=e}setXRRenderTargetTextures(e,t,n=null){const i=this.gl;if(this.set(e.texture,{textureGPU:t,glInternalFormat:i.RGBA8}),n!==null){const a=e.stencilBuffer?i.DEPTH24_STENCIL8:i.DEPTH_COMPONENT24;this.set(e.depthTexture,{textureGPU:n,glInternalFormat:a}),this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e._autoAllocateDepthBuffer===!0&&e.multiview===!1&&Lr("WebGLBackend: Render-to-texture extension was disabled because an external texture was provided"),e._autoAllocateDepthBuffer=!1}}initTimestampQuery(e,t){if(!this.disjoint||!this.trackTimestamp)return;this.timestampQueryPool[e]||(this.timestampQueryPool[e]=new tW(this.gl,e,2048));const n=this.timestampQueryPool[e];n.allocateQueriesForContext(t)!==null&&n.beginQuery(t)}prepareTimestampBuffer(e,t){if(!this.disjoint||!this.trackTimestamp)return;this.timestampQueryPool[e].endQuery(t)}getContext(){return this.gl}beginRender(e){const{state:t}=this,n=this.get(e);if(e.viewport)this.updateViewport(e);else{const{width:a,height:o}=this.getDrawingBufferSize();t.viewport(0,0,a,o)}if(e.scissor){const{x:a,y:o,width:u,height:c}=e.scissorValue;t.scissor(a,e.height-c-o,u,c)}this.initTimestampQuery(ml.RENDER,this.getTimestampUID(e)),n.previousContext=this._currentContext,this._currentContext=e,this._setFramebuffer(e),this.clear(e.clearColor,e.clearDepth,e.clearStencil,e,!1);const i=e.occlusionQueryCount;i>0&&(n.currentOcclusionQueries=n.occlusionQueries,n.currentOcclusionQueryObjects=n.occlusionQueryObjects,n.lastOcclusionObject=null,n.occlusionQueries=new Array(i),n.occlusionQueryObjects=new Array(i),n.occlusionQueryIndex=0)}finishRender(e){const{gl:t,state:n}=this,i=this.get(e),a=i.previousContext;n.resetVertexState();const o=e.occlusionQueryCount;o>0&&(o>i.occlusionQueryIndex&&t.endQuery(t.ANY_SAMPLES_PASSED),this.resolveOccludedAsync(e));const u=e.textures;if(u!==null)for(let c=0;c{let c=0;for(let d=0;d1&&d.setMRTBlending(a.textures),d.useProgram(u);const B=e.getAttributes(),I=this.get(B);let ne=I.vaoGPU;if(ne===void 0){const Rt=this._getVaoKey(B);ne=this.vaoCache[Rt],ne===void 0&&(ne=this._createVao(B),this.vaoCache[Rt]=ne,I.vaoGPU=ne)}const ee=e.getIndex(),q=ee!==null?this.get(ee).bufferGPU:null;d.setVertexState(ne,q);const ye=g.lastOcclusionObject;if(ye!==t&&ye!==void 0){if(ye!==null&&ye.occlusionTest===!0&&(c.endQuery(c.ANY_SAMPLES_PASSED),g.occlusionQueryIndex++),t.occlusionTest===!0){const Rt=c.createQuery();c.beginQuery(c.ANY_SAMPLES_PASSED,Rt),g.occlusionQueries[g.occlusionQueryIndex]=Rt,g.occlusionQueryObjects[g.occlusionQueryIndex]=t}g.lastOcclusionObject=t}const Ce=this.bufferRenderer;t.isPoints?Ce.mode=c.POINTS:t.isLineSegments?Ce.mode=c.LINES:t.isLine?Ce.mode=c.LINE_STRIP:t.isLineLoop?Ce.mode=c.LINE_LOOP:i.wireframe===!0?(d.setLineWidth(i.wireframeLinewidth*this.renderer.getPixelRatio()),Ce.mode=c.LINES):Ce.mode=c.TRIANGLES;const{vertexCount:ke,instanceCount:nt}=v;let{firstVertex:Ye}=v;if(Ce.object=t,ee!==null){Ye*=ee.array.BYTES_PER_ELEMENT;const Rt=this.get(ee);Ce.index=ee.count,Ce.type=Rt.type}else Ce.index=0;const ht=()=>{t.isBatchedMesh?t._multiDrawInstances!==null?(ki("WebGLBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),Ce.renderMultiDrawInstances(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount,t._multiDrawInstances)):this.hasFeature("WEBGL_multi_draw")?Ce.renderMultiDraw(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount):ki("WebGLBackend: WEBGL_multi_draw not supported."):nt>1?Ce.renderInstances(Ye,ke,nt):Ce.render(Ye,ke)};if(e.camera.isArrayCamera===!0&&e.camera.cameras.length>0&&e.camera.isMultiViewCamera===!1){const Rt=this.get(e.camera),qe=e.camera.cameras,pt=e.getBindingGroup("cameraIndex").bindings[0];if(Rt.indexesGPU===void 0||Rt.indexesGPU.length!==qe.length){const Dr=new Uint32Array([0,0,0,0]),Zr=[];for(let Ti=0,ds=qe.length;Ti{const M=this.parallel,B=()=>{n.getProgramParameter(u,M.COMPLETION_STATUS_KHR)?(this._completeCompile(e,i),v()):requestAnimationFrame(B)};B()});t.push(g);return}this._completeCompile(e,i)}_handleSource(e,t){const n=e.split(` -`),i=[],a=Math.max(t-6,0),o=Math.min(t+6,n.length);for(let u=a;u":" "} ${c}: ${n[u]}`)}return i.join(` -`)}_getShaderErrors(e,t,n){const i=e.getShaderParameter(t,e.COMPILE_STATUS),o=(e.getShaderInfoLog(t)||"").trim();if(i&&o==="")return"";const u=/ERROR: 0:(\d+)/.exec(o);if(u){const c=parseInt(u[1]);return n.toUpperCase()+` - -`+o+` - -`+this._handleSource(e.getShaderSource(t),c)}else return o}_logProgramError(e,t,n){if(this.renderer.debug.checkShaderErrors){const i=this.gl,o=(i.getProgramInfoLog(e)||"").trim();if(i.getProgramParameter(e,i.LINK_STATUS)===!1)if(typeof this.renderer.debug.onShaderError=="function")this.renderer.debug.onShaderError(i,e,n,t);else{const u=this._getShaderErrors(i,n,"vertex"),c=this._getShaderErrors(i,t,"fragment");Gr("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(e,i.VALIDATE_STATUS)+` - -Program Info Log: `+o+` -`+u+` -`+c)}else o!==""&&Lr("WebGLProgram: Program Info Log:",o)}}_completeCompile(e,t){const{state:n,gl:i}=this,a=this.get(t),{programGPU:o,fragmentShader:u,vertexShader:c}=a;i.getProgramParameter(o,i.LINK_STATUS)===!1&&this._logProgramError(o,u,c),n.useProgram(o);const d=e.getBindings();this._setupBindings(d,o),this.set(t,{programGPU:o})}createComputePipeline(e,t){const{state:n,gl:i}=this,a={stage:"fragment",code:`#version 300 es -precision highp float; -void main() {}`};this.createProgram(a);const{computeProgram:o}=e,u=i.createProgram(),c=this.get(a).shaderGPU,d=this.get(o).shaderGPU,g=o.transforms,v=[],M=[];for(let ee=0;eeVN[i]===e),n=this.extensions;for(let i=0;i1,B=a.isXRRenderTarget===!0,I=B===!0&&a._hasExternalTextures===!0;let ne=o.msaaFrameBuffer,ee=o.depthRenderbuffer;const q=this.extensions.get("WEBGL_multisampled_render_to_texture"),ye=this.extensions.get("OVR_multiview2"),Ce=this._useMultisampledExtension(a),ke=aI(e);let nt;if(g?(o.cubeFramebuffers||(o.cubeFramebuffers={}),nt=o.cubeFramebuffers[ke]):B&&I===!1?nt=this._xrFramebuffer:(o.framebuffers||(o.framebuffers={}),nt=o.framebuffers[ke]),nt===void 0){nt=t.createFramebuffer(),n.bindFramebuffer(t.FRAMEBUFFER,nt);const Ye=e.textures,ht=[];if(g){o.cubeFramebuffers[ke]=nt;const{textureGPU:qe}=this.get(Ye[0]),pt=this.renderer._activeCubeFace,xn=this.renderer._activeMipmapLevel;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+pt,qe,xn)}else{o.framebuffers[ke]=nt;for(let qe=0;qe0&&Ce===!1&&!a.multiview){if(ne===void 0){const Ye=[];ne=t.createFramebuffer(),n.bindFramebuffer(t.FRAMEBUFFER,ne);const ht=[],Rt=e.textures;for(let qe=0;qe0&&this._useMultisampledExtension(i)===!1){const o=a.framebuffers[e.getCacheKey()];let u=t.COLOR_BUFFER_BIT;i.resolveDepthBuffer&&(i.depthBuffer&&(u|=t.DEPTH_BUFFER_BIT),i.stencilBuffer&&i.resolveStencilBuffer&&(u|=t.STENCIL_BUFFER_BIT));const c=a.msaaFrameBuffer,d=a.msaaRenderbuffers,g=e.textures,v=g.length>1;if(n.bindFramebuffer(t.READ_FRAMEBUFFER,c),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,o),v)for(let M=0;M0&&this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e._autoAllocateDepthBuffer!==!1}dispose(){this.textureUtils!==null&&this.textureUtils.dispose();const e=this.extensions.get("WEBGL_lose_context");e&&e.loseContext(),this.renderer.domElement.removeEventListener("webglcontextlost",this._onContextLost)}}const kv={PointList:"point-list",LineList:"line-list",LineStrip:"line-strip",TriangleList:"triangle-list",TriangleStrip:"triangle-strip"},C0=typeof self!="undefined"?self.GPUShaderStage:{VERTEX:1,FRAGMENT:2,COMPUTE:4},dd={Never:"never",Less:"less",Equal:"equal",LessEqual:"less-equal",Greater:"greater",NotEqual:"not-equal",GreaterEqual:"greater-equal",Always:"always"},uf={Store:"store"},Kl={Load:"load",Clear:"clear"},HN={CCW:"ccw",CW:"cw"},QN={None:"none",Back:"back"},Vv={Uint16:"uint16",Uint32:"uint32"},sr={R8Unorm:"r8unorm",R8Snorm:"r8snorm",R8Uint:"r8uint",R8Sint:"r8sint",R16Uint:"r16uint",R16Sint:"r16sint",R16Float:"r16float",RG8Unorm:"rg8unorm",RG8Snorm:"rg8snorm",RG8Uint:"rg8uint",RG8Sint:"rg8sint",R32Uint:"r32uint",R32Sint:"r32sint",R32Float:"r32float",RG16Uint:"rg16uint",RG16Sint:"rg16sint",RG16Float:"rg16float",RGBA8Unorm:"rgba8unorm",RGBA8UnormSRGB:"rgba8unorm-srgb",RGBA8Snorm:"rgba8snorm",RGBA8Uint:"rgba8uint",RGBA8Sint:"rgba8sint",BGRA8Unorm:"bgra8unorm",BGRA8UnormSRGB:"bgra8unorm-srgb",RGB9E5UFloat:"rgb9e5ufloat",RGB10A2Unorm:"rgb10a2unorm",RG11B10UFloat:"rg11b10ufloat",RG32Uint:"rg32uint",RG32Sint:"rg32sint",RG32Float:"rg32float",RGBA16Uint:"rgba16uint",RGBA16Sint:"rgba16sint",RGBA16Float:"rgba16float",RGBA32Uint:"rgba32uint",RGBA32Sint:"rgba32sint",RGBA32Float:"rgba32float",Depth16Unorm:"depth16unorm",Depth24Plus:"depth24plus",Depth24PlusStencil8:"depth24plus-stencil8",Depth32Float:"depth32float",Depth32FloatStencil8:"depth32float-stencil8",BC1RGBAUnorm:"bc1-rgba-unorm",BC1RGBAUnormSRGB:"bc1-rgba-unorm-srgb",BC2RGBAUnorm:"bc2-rgba-unorm",BC2RGBAUnormSRGB:"bc2-rgba-unorm-srgb",BC3RGBAUnorm:"bc3-rgba-unorm",BC3RGBAUnormSRGB:"bc3-rgba-unorm-srgb",BC4RUnorm:"bc4-r-unorm",BC4RSnorm:"bc4-r-snorm",BC5RGUnorm:"bc5-rg-unorm",BC5RGSnorm:"bc5-rg-snorm",BC6HRGBUFloat:"bc6h-rgb-ufloat",BC6HRGBFloat:"bc6h-rgb-float",BC7RGBAUnorm:"bc7-rgba-unorm",BC7RGBAUnormSRGB:"bc7-rgba-unorm-srgb",ETC2RGB8Unorm:"etc2-rgb8unorm",ETC2RGB8UnormSRGB:"etc2-rgb8unorm-srgb",ETC2RGB8A1Unorm:"etc2-rgb8a1unorm",ETC2RGB8A1UnormSRGB:"etc2-rgb8a1unorm-srgb",ETC2RGBA8Unorm:"etc2-rgba8unorm",ETC2RGBA8UnormSRGB:"etc2-rgba8unorm-srgb",EACR11Unorm:"eac-r11unorm",EACR11Snorm:"eac-r11snorm",EACRG11Unorm:"eac-rg11unorm",EACRG11Snorm:"eac-rg11snorm",ASTC4x4Unorm:"astc-4x4-unorm",ASTC4x4UnormSRGB:"astc-4x4-unorm-srgb",ASTC5x4Unorm:"astc-5x4-unorm",ASTC5x4UnormSRGB:"astc-5x4-unorm-srgb",ASTC5x5Unorm:"astc-5x5-unorm",ASTC5x5UnormSRGB:"astc-5x5-unorm-srgb",ASTC6x5Unorm:"astc-6x5-unorm",ASTC6x5UnormSRGB:"astc-6x5-unorm-srgb",ASTC6x6Unorm:"astc-6x6-unorm",ASTC6x6UnormSRGB:"astc-6x6-unorm-srgb",ASTC8x5Unorm:"astc-8x5-unorm",ASTC8x5UnormSRGB:"astc-8x5-unorm-srgb",ASTC8x6Unorm:"astc-8x6-unorm",ASTC8x6UnormSRGB:"astc-8x6-unorm-srgb",ASTC8x8Unorm:"astc-8x8-unorm",ASTC8x8UnormSRGB:"astc-8x8-unorm-srgb",ASTC10x5Unorm:"astc-10x5-unorm",ASTC10x5UnormSRGB:"astc-10x5-unorm-srgb",ASTC10x6Unorm:"astc-10x6-unorm",ASTC10x6UnormSRGB:"astc-10x6-unorm-srgb",ASTC10x8Unorm:"astc-10x8-unorm",ASTC10x8UnormSRGB:"astc-10x8-unorm-srgb",ASTC10x10Unorm:"astc-10x10-unorm",ASTC10x10UnormSRGB:"astc-10x10-unorm-srgb",ASTC12x10Unorm:"astc-12x10-unorm",ASTC12x10UnormSRGB:"astc-12x10-unorm-srgb",ASTC12x12Unorm:"astc-12x12-unorm",ASTC12x12UnormSRGB:"astc-12x12-unorm-srgb"},HM={ClampToEdge:"clamp-to-edge",Repeat:"repeat",MirrorRepeat:"mirror-repeat"},T0={Linear:"linear",Nearest:"nearest"},hl={Zero:"zero",One:"one",Src:"src",OneMinusSrc:"one-minus-src",SrcAlpha:"src-alpha",OneMinusSrcAlpha:"one-minus-src-alpha",Dst:"dst",OneMinusDst:"one-minus-dst",DstAlpha:"dst-alpha",OneMinusDstAlpha:"one-minus-dst-alpha",SrcAlphaSaturated:"src-alpha-saturated",Constant:"constant",OneMinusConstant:"one-minus-constant"},B0={Add:"add",Subtract:"subtract",ReverseSubtract:"reverse-subtract",Min:"min",Max:"max"},WN={None:0,All:15},Qm={Keep:"keep",Zero:"zero",Replace:"replace",Invert:"invert",IncrementClamp:"increment-clamp",DecrementClamp:"decrement-clamp",IncrementWrap:"increment-wrap",DecrementWrap:"decrement-wrap"},QM={Storage:"storage",ReadOnlyStorage:"read-only-storage"},WM={WriteOnly:"write-only",ReadOnly:"read-only",ReadWrite:"read-write"},ZN={NonFiltering:"non-filtering",Comparison:"comparison"},R0={Float:"float",UnfilterableFloat:"unfilterable-float",Depth:"depth",SInt:"sint",UInt:"uint"},KN={TwoD:"2d",ThreeD:"3d"},hh={TwoD:"2d",TwoDArray:"2d-array",Cube:"cube",ThreeD:"3d"},nW={All:"all"},L_={Vertex:"vertex",Instance:"instance"},ZM={CoreFeaturesAndLimits:"core-features-and-limits",DepthClipControl:"depth-clip-control",Depth32FloatStencil8:"depth32float-stencil8",TextureCompressionBC:"texture-compression-bc",TextureCompressionBCSliced3D:"texture-compression-bc-sliced-3d",TextureCompressionETC2:"texture-compression-etc2",TextureCompressionASTC:"texture-compression-astc",TextureCompressionASTCSliced3D:"texture-compression-astc-sliced-3d",TimestampQuery:"timestamp-query",IndirectFirstInstance:"indirect-first-instance",ShaderF16:"shader-f16",RG11B10UFloat:"rg11b10ufloat-renderable",BGRA8UNormStorage:"bgra8unorm-storage",Float32Filterable:"float32-filterable",Float32Blendable:"float32-blendable",ClipDistances:"clip-distances",DualSourceBlending:"dual-source-blending",Subgroups:"subgroups",TextureFormatsTier1:"texture-formats-tier1",TextureFormatsTier2:"texture-formats-tier2"},$N={"texture-compression-s3tc":"texture-compression-bc","texture-compression-etc1":"texture-compression-etc2"};class rW extends RN{constructor(e,t,n){super(e,t?t.value:null),this.textureNode=t,this.groupNode=n}update(){const{textureNode:e}=this;return this.texture!==e.value?(this.texture=e.value,!0):super.update()}}class iW extends EN{constructor(e,t){super(e,t?t.array:null),this.attribute=t,this.isStorageBuffer=!0}}let sW=0;class aW extends iW{constructor(e,t){super("StorageBuffer_"+sW++,e?e.value:null),this.nodeUniform=e,this.access=e?e.access:od.READ_WRITE,this.groupNode=t}get buffer(){return this.nodeUniform.value}}class oW extends Vm{constructor(e){super(),this.device=e;const t=` -struct VarysStruct { - @builtin( position ) Position: vec4, - @location( 0 ) vTex : vec2 -}; - -@vertex -fn main( @builtin( vertex_index ) vertexIndex : u32 ) -> VarysStruct { - - var Varys : VarysStruct; - - var pos = array< vec2, 4 >( - vec2( -1.0, 1.0 ), - vec2( 1.0, 1.0 ), - vec2( -1.0, -1.0 ), - vec2( 1.0, -1.0 ) - ); - - var tex = array< vec2, 4 >( - vec2( 0.0, 0.0 ), - vec2( 1.0, 0.0 ), - vec2( 0.0, 1.0 ), - vec2( 1.0, 1.0 ) - ); - - Varys.vTex = tex[ vertexIndex ]; - Varys.Position = vec4( pos[ vertexIndex ], 0.0, 1.0 ); - - return Varys; - -} -`,n=` -@group( 0 ) @binding( 0 ) -var imgSampler : sampler; - -@group( 0 ) @binding( 1 ) -var img : texture_2d; - -@fragment -fn main( @location( 0 ) vTex : vec2 ) -> @location( 0 ) vec4 { - - return textureSample( img, imgSampler, vTex ); - -} -`,i=` -@group( 0 ) @binding( 0 ) -var imgSampler : sampler; - -@group( 0 ) @binding( 1 ) -var img : texture_2d; - -@fragment -fn main( @location( 0 ) vTex : vec2 ) -> @location( 0 ) vec4 { - - return textureSample( img, imgSampler, vec2( vTex.x, 1.0 - vTex.y ) ); - -} -`;this.mipmapSampler=e.createSampler({minFilter:T0.Linear}),this.flipYSampler=e.createSampler({minFilter:T0.Nearest}),this.transferPipelines={},this.flipYPipelines={},this.mipmapVertexShaderModule=e.createShaderModule({label:"mipmapVertex",code:t}),this.mipmapFragmentShaderModule=e.createShaderModule({label:"mipmapFragment",code:n}),this.flipYFragmentShaderModule=e.createShaderModule({label:"flipYFragment",code:i})}getTransferPipeline(e){let t=this.transferPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`mipmap-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.mipmapFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:kv.TriangleStrip,stripIndexFormat:Vv.Uint32},layout:"auto"}),this.transferPipelines[e]=t),t}getFlipYPipeline(e){let t=this.flipYPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`flipY-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.flipYFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:kv.TriangleStrip,stripIndexFormat:Vv.Uint32},layout:"auto"}),this.flipYPipelines[e]=t),t}flipY(e,t,n=0){const i=t.format,{width:a,height:o}=t.size,u=this.getTransferPipeline(i),c=this.getFlipYPipeline(i),d=this.device.createTexture({size:{width:a,height:o,depthOrArrayLayers:1},format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),g=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:hh.TwoD,baseArrayLayer:n}),v=d.createView({baseMipLevel:0,mipLevelCount:1,dimension:hh.TwoD,baseArrayLayer:0}),M=this.device.createCommandEncoder({}),B=(I,ne,ee)=>{const q=I.getBindGroupLayout(0),ye=this.device.createBindGroup({layout:q,entries:[{binding:0,resource:this.flipYSampler},{binding:1,resource:ne}]}),Ce=M.beginRenderPass({colorAttachments:[{view:ee,loadOp:Kl.Clear,storeOp:uf.Store,clearValue:[0,0,0,0]}]});Ce.setPipeline(I),Ce.setBindGroup(0,ye),Ce.draw(4,1,0,0),Ce.end()};B(u,g,v),B(c,v,g),this.device.queue.submit([M.finish()]),d.destroy()}generateMipmaps(e,t,n=0,i=null){const a=this.get(e);a.layers===void 0&&(a.layers=[]);const o=a.layers[n]||this._mipmapCreateBundles(e,t,n),u=i||this.device.createCommandEncoder({label:"mipmapEncoder"});this._mipmapRunBundles(u,o),i===null&&this.device.queue.submit([u.finish()]),a.layers[n]=o}_mipmapCreateBundles(e,t,n){const i=this.getTransferPipeline(t.format),a=i.getBindGroupLayout(0);let o=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:hh.TwoD,baseArrayLayer:n});const u=[];for(let c=1;c0)for(let o=0,u=i.length;o0)for(let o=0,u=i.length;o0?e.width:n.size.width,g=u>0?e.height:n.size.height;try{c.queue.copyExternalImageToTexture({source:e,flipY:a},{texture:t,mipLevel:u,origin:{x:0,y:0,z:i},premultipliedAlpha:o},{width:d,height:g,depthOrArrayLayers:1})}catch(v){}}_getPassUtils(){let e=this._passUtils;return e===null&&(this._passUtils=e=new oW(this.backend.device)),e}_generateMipmaps(e,t,n=0,i=null){this._getPassUtils().generateMipmaps(e,t,n,i)}_flipY(e,t,n=0){this._getPassUtils().flipY(e,t,n)}_copyBufferToTexture(e,t,n,i,a,o=0,u=0){const c=this.backend.device,d=e.data,g=this._getBytesPerTexel(n.format),v=e.width*g;c.queue.writeTexture({texture:t,mipLevel:u,origin:{x:0,y:0,z:i}},d,{offset:e.width*e.height*g*o,bytesPerRow:v},{width:e.width,height:e.height,depthOrArrayLayers:1}),a===!0&&this._flipY(t,n,i)}_copyCompressedBufferToTexture(e,t,n){const i=this.backend.device,a=this._getBlockData(n.format),o=n.size.depthOrArrayLayers>1;for(let u=0;u]*\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/i,dW=/([a-z_0-9]+)\s*:\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/ig,XN={f32:"float",i32:"int",u32:"uint",bool:"bool","vec2":"vec2","vec2":"ivec2","vec2":"uvec2","vec2":"bvec2",vec2f:"vec2",vec2i:"ivec2",vec2u:"uvec2",vec2b:"bvec2","vec3":"vec3","vec3":"ivec3","vec3":"uvec3","vec3":"bvec3",vec3f:"vec3",vec3i:"ivec3",vec3u:"uvec3",vec3b:"bvec3","vec4":"vec4","vec4":"ivec4","vec4":"uvec4","vec4":"bvec4",vec4f:"vec4",vec4i:"ivec4",vec4u:"uvec4",vec4b:"bvec4","mat2x2":"mat2",mat2x2f:"mat2","mat3x3":"mat3",mat3x3f:"mat3","mat4x4":"mat4",mat4x4f:"mat4",sampler:"sampler",texture_1d:"texture",texture_2d:"texture",texture_2d_array:"texture",texture_multisampled_2d:"cubeTexture",texture_depth_2d:"depthTexture",texture_depth_2d_array:"depthTexture",texture_depth_multisampled_2d:"depthTexture",texture_depth_cube:"depthTexture",texture_depth_cube_array:"depthTexture",texture_3d:"texture3D",texture_cube:"cubeTexture",texture_cube_array:"cubeTexture",texture_storage_1d:"storageTexture",texture_storage_2d:"storageTexture",texture_storage_2d_array:"storageTexture",texture_storage_3d:"storageTexture"},fW=s=>{s=s.trim();const e=s.match(hW);if(e!==null&&e.length===4){const t=e[2],n=[];let i=null;for(;(i=dW.exec(t))!==null;)n.push({name:i[1],type:i[2]});const a=[];for(let g=0;g "+this.outputType:"";return`fn ${e} ( ${this.inputsCode.trim()} ) ${t}`+this.blockCode}}class pW extends mN{parseFunction(e){return new AW(e)}}const gW={[od.READ_ONLY]:"read",[od.WRITE_ONLY]:"write",[od.READ_WRITE]:"read_write"},jN={[$t]:"repeat",[Vt]:"clamp",[Qt]:"mirror"},U_={vertex:C0.VERTEX,fragment:C0.FRAGMENT,compute:C0.COMPUTE},YN={instance:!0,swizzleAssign:!1,storageBuffer:!0},mW={"^^":"tsl_xor"},vW={float:"f32",int:"i32",uint:"u32",bool:"bool",color:"vec3",vec2:"vec2",ivec2:"vec2",uvec2:"vec2",bvec2:"vec2",vec3:"vec3",ivec3:"vec3",uvec3:"vec3",bvec3:"vec3",vec4:"vec4",ivec4:"vec4",uvec4:"vec4",bvec4:"vec4",mat2:"mat2x2",mat3:"mat3x3",mat4:"mat4x4"},qN={},gx={tsl_xor:new Wh("fn tsl_xor( a : bool, b : bool ) -> bool { return ( a || b ) && !( a && b ); }"),mod_float:new Wh("fn tsl_mod_float( x : f32, y : f32 ) -> f32 { return x - y * floor( x / y ); }"),mod_vec2:new Wh("fn tsl_mod_vec2( x : vec2f, y : vec2f ) -> vec2f { return x - y * floor( x / y ); }"),mod_vec3:new Wh("fn tsl_mod_vec3( x : vec3f, y : vec3f ) -> vec3f { return x - y * floor( x / y ); }"),mod_vec4:new Wh("fn tsl_mod_vec4( x : vec4f, y : vec4f ) -> vec4f { return x - y * floor( x / y ); }"),equals_bool:new Wh("fn tsl_equals_bool( a : bool, b : bool ) -> bool { return a == b; }"),equals_bvec2:new Wh("fn tsl_equals_bvec2( a : vec2f, b : vec2f ) -> vec2 { return vec2( a.x == b.x, a.y == b.y ); }"),equals_bvec3:new Wh("fn tsl_equals_bvec3( a : vec3f, b : vec3f ) -> vec3 { return vec3( a.x == b.x, a.y == b.y, a.z == b.z ); }"),equals_bvec4:new Wh("fn tsl_equals_bvec4( a : vec4f, b : vec4f ) -> vec4 { return vec4( a.x == b.x, a.y == b.y, a.z == b.z, a.w == b.w ); }"),repeatWrapping_float:new Wh("fn tsl_repeatWrapping_float( coord: f32 ) -> f32 { return fract( coord ); }"),mirrorWrapping_float:new Wh("fn tsl_mirrorWrapping_float( coord: f32 ) -> f32 { let mirrored = fract( coord * 0.5 ) * 2.0; return 1.0 - abs( 1.0 - mirrored ); }"),clampWrapping_float:new Wh("fn tsl_clampWrapping_float( coord: f32 ) -> f32 { return clamp( coord, 0.0, 1.0 ); }"),biquadraticTexture:new Wh(` -fn tsl_biquadraticTexture( map : texture_2d, coord : vec2f, iRes : vec2u, level : u32 ) -> vec4f { - - let res = vec2f( iRes ); - - let uvScaled = coord * res; - let uvWrapping = ( ( uvScaled % res ) + res ) % res; - - // https://www.shadertoy.com/view/WtyXRy - - let uv = uvWrapping - 0.5; - let iuv = floor( uv ); - let f = fract( uv ); - - let rg1 = textureLoad( map, vec2u( iuv + vec2( 0.5, 0.5 ) ) % iRes, level ); - let rg2 = textureLoad( map, vec2u( iuv + vec2( 1.5, 0.5 ) ) % iRes, level ); - let rg3 = textureLoad( map, vec2u( iuv + vec2( 0.5, 1.5 ) ) % iRes, level ); - let rg4 = textureLoad( map, vec2u( iuv + vec2( 1.5, 1.5 ) ) % iRes, level ); - - return mix( mix( rg1, rg2, f.x ), mix( rg3, rg4, f.x ), f.y ); - -} -`)},yW={dFdx:"dpdx",dFdy:"- dpdy",mod_float:"tsl_mod_float",mod_vec2:"tsl_mod_vec2",mod_vec3:"tsl_mod_vec3",mod_vec4:"tsl_mod_vec4",equals_bool:"tsl_equals_bool",equals_bvec2:"tsl_equals_bvec2",equals_bvec3:"tsl_equals_bvec3",equals_bvec4:"tsl_equals_bvec4",inversesqrt:"inverseSqrt",bitcast:"bitcast",floatpack_snorm_2x16:"pack2x16snorm",floatpack_unorm_2x16:"pack2x16unorm",floatpack_float16_2x16:"pack2x16float",floatunpack_snorm_2x16:"unpack2x16snorm",floatunpack_unorm_2x16:"unpack2x16unorm",floatunpack_float16_2x16:"unpack2x16float"};let JN="";(typeof navigator!="undefined"&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(JN+=`diagnostic( off, derivative_uniformity ); -`);class xW extends pN{constructor(e,t){super(e,t,new pW),this.uniformGroups={},this.builtins={},this.directives={},this.scopedArrays=new Map}_generateTextureSample(e,t,n,i,a,o=this.shaderStage){return o==="fragment"?i?a?`textureSample( ${t}, ${t}_sampler, ${n}, ${i}, ${a} )`:`textureSample( ${t}, ${t}_sampler, ${n}, ${i} )`:a?`textureSample( ${t}, ${t}_sampler, ${n}, ${a} )`:`textureSample( ${t}, ${t}_sampler, ${n} )`:this.generateTextureSampleLevel(e,t,n,"0",i)}generateTextureSampleLevel(e,t,n,i,a,o){return this.isUnfilterable(e)===!1?o?`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${i}, ${o} )`:`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${i} )`:this.isFilteredTexture(e)?this.generateFilteredTexture(e,t,n,o,i):this.generateTextureLod(e,t,n,a,o,i)}generateWrapFunction(e){const t=`tsl_coord_${jN[e.wrapS]}S_${jN[e.wrapT]}_${e.is3DTexture||e.isData3DTexture?"3d":"2d"}T`;let n=qN[t];if(n===void 0){const i=[],a=e.is3DTexture||e.isData3DTexture?"vec3f":"vec2f";let o=`fn ${t}( coord : ${a} ) -> ${a} { - - return ${a}( -`;const u=(c,d)=>{c===$t?(i.push(gx.repeatWrapping_float),o+=` tsl_repeatWrapping_float( coord.${d} )`):c===Vt?(i.push(gx.clampWrapping_float),o+=` tsl_clampWrapping_float( coord.${d} )`):c===Qt?(i.push(gx.mirrorWrapping_float),o+=` tsl_mirrorWrapping_float( coord.${d} )`):(o+=` coord.${d}`,Lr(`WebGPURenderer: Unsupported texture wrap type "${c}" for vertex shader.`))};u(e.wrapS,"x"),o+=`, -`,u(e.wrapT,"y"),(e.is3DTexture||e.isData3DTexture)&&(o+=`, -`,u(e.wrapR,"z")),o+=` - ); - -} -`,qN[t]=n=new Wh(o,i)}return n.build(this),t}generateArrayDeclaration(e,t){return`array< ${this.getType(e)}, ${t} >`}generateTextureDimension(e,t,n){const i=this.getDataFromNode(e,this.shaderStage,this.globalCache);i.dimensionsSnippet===void 0&&(i.dimensionsSnippet={});let a=i.dimensionsSnippet[n];if(i.dimensionsSnippet[n]===void 0){let o,u;const{primarySamples:c}=this.renderer.backend.utils.getTextureSampleData(e),d=c>1;e.is3DTexture||e.isData3DTexture?u="vec3":u="vec2",d||e.isStorageTexture?o=t:o=`${t}${n?`, u32( ${n} )`:""}`,a=new Fb(new Ob(`textureDimensions( ${o} )`,u)),i.dimensionsSnippet[n]=a,(e.isArrayTexture||e.isDataArrayTexture||e.is3DTexture||e.isData3DTexture)&&(i.arrayLayerCount=new Fb(new Ob(`textureNumLayers(${t})`,"u32"))),e.isTextureCube&&(i.cubeFaceCount=new Fb(new Ob("6u","u32")))}return a.build(this)}generateFilteredTexture(e,t,n,i,a="0u"){this._include("biquadraticTexture");const o=this.generateWrapFunction(e),u=this.generateTextureDimension(e,t,a);return i&&(n=`${n} + vec2(${i}) / ${u}`),`tsl_biquadraticTexture( ${t}, ${o}( ${n} ), ${u}, u32( ${a} ) )`}generateTextureLod(e,t,n,i,a,o="0u"){const u=this.generateWrapFunction(e),c=this.generateTextureDimension(e,t,o),d=e.is3DTexture||e.isData3DTexture?"vec3":"vec2";a&&(n=`${n} + ${d}(${a}) / ${d}( ${c} )`);const g=`${d}( ${u}( ${n} ) * ${d}( ${c} ) )`;return this.generateTextureLoad(e,t,g,o,i,null)}generateTextureLoad(e,t,n,i,a,o){i===null&&(i="0u"),o&&(n=`${n} + ${o}`);let u;return a?u=`textureLoad( ${t}, ${n}, ${a}, u32( ${i} ) )`:(u=`textureLoad( ${t}, ${n}, u32( ${i} ) )`,this.renderer.backend.compatibilityMode&&e.isDepthTexture&&(u+=".x")),u}generateTextureStore(e,t,n,i,a){let o;return i?o=`textureStore( ${t}, ${n}, ${i}, ${a} )`:o=`textureStore( ${t}, ${n}, ${a} )`,o}isSampleCompare(e){return e.isDepthTexture===!0&&e.compareFunction!==null}isUnfilterable(e){return this.getComponentTypeFromTexture(e)!=="float"||!this.isAvailable("float32Filterable")&&e.isDataTexture===!0&&e.type===dt||this.isSampleCompare(e)===!1&&e.minFilter===cn&&e.magFilter===cn||this.renderer.backend.utils.getTextureSampleData(e).primarySamples>1}generateTexture(e,t,n,i,a,o=this.shaderStage){let u=null;return this.isUnfilterable(e)?u=this.generateTextureLod(e,t,n,i,a,"0",o):u=this._generateTextureSample(e,t,n,i,a,o),u}generateTextureGrad(e,t,n,i,a,o,u=this.shaderStage){if(u==="fragment")return o?`textureSampleGrad( ${t}, ${t}_sampler, ${n}, ${i[0]}, ${i[1]}, ${o} )`:`textureSampleGrad( ${t}, ${t}_sampler, ${n}, ${i[0]}, ${i[1]} )`;Gr(`WebGPURenderer: THREE.TextureNode.gradient() does not support ${u} shader.`)}generateTextureCompare(e,t,n,i,a,o,u=this.shaderStage){if(u==="fragment")return e.isDepthTexture===!0&&e.isArrayTexture===!0?o?`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${a}, ${i}, ${o} )`:`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${a}, ${i} )`:o?`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${i}, ${o} )`:`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${i} )`;Gr(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${u} shader.`)}generateTextureLevel(e,t,n,i,a,o){return this.isUnfilterable(e)===!1?o?`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${i}, ${o} )`:`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${i} )`:this.isFilteredTexture(e)?this.generateFilteredTexture(e,t,n,o,i):this.generateTextureLod(e,t,n,a,o,i)}generateTextureBias(e,t,n,i,a,o,u=this.shaderStage){if(u==="fragment")return o?`textureSampleBias( ${t}, ${t}_sampler, ${n}, ${i}, ${o} )`:`textureSampleBias( ${t}, ${t}_sampler, ${n}, ${i} )`;Gr(`WebGPURenderer: THREE.TextureNode.biasNode does not support ${u} shader.`)}getPropertyName(e,t=this.shaderStage){if(e.isNodeVarying===!0&&e.needsInterpolation===!0){if(t==="vertex")return`varyings.${e.name}`}else if(e.isNodeUniform===!0){const n=e.name,i=e.type;return i==="texture"||i==="cubeTexture"||i==="cubeDepthTexture"||i==="storageTexture"||i==="texture3D"?n:i==="buffer"||i==="storageBuffer"||i==="indirectStorageBuffer"?this.isCustomStruct(e)?n:n+".value":e.groupNode.name+"."+n}return super.getPropertyName(e)}getOutputStructName(){return"output"}getFunctionOperator(e){const t=mW[e];return t!==void 0?(this._include(t),t):null}getNodeAccess(e,t){return t!=="compute"?e.isAtomic===!0?(Lr("WebGPURenderer: Atomic operations are only supported in compute shaders."),od.READ_WRITE):od.READ_ONLY:e.access}getStorageAccess(e,t){return gW[this.getNodeAccess(e,t)]}getUniformFromNode(e,t,n,i=null){const a=super.getUniformFromNode(e,t,n,i),o=this.getDataFromNode(e,n,this.globalCache);if(o.uniformGPU===void 0){let u;const c=e.groupNode,d=c.name,g=this.getBindGroupArray(d,n);if(t==="texture"||t==="cubeTexture"||t==="cubeDepthTexture"||t==="storageTexture"||t==="texture3D"){let v=null;const M=this.getNodeAccess(e,n);if(t==="texture"||t==="storageTexture"?e.value.is3DTexture===!0?v=new kM(a.name,a.node,c,M):v=new N_(a.name,a.node,c,M):t==="cubeTexture"||t==="cubeDepthTexture"?v=new IN(a.name,a.node,c,M):t==="texture3D"&&(v=new kM(a.name,a.node,c,M)),v.store=e.isStorageTextureNode===!0,v.mipLevel=v.store?e.mipLevel:0,v.setVisibility(U_[n]),this.isUnfilterable(e.value)===!1&&v.store===!1){const B=new rW(`${a.name}_sampler`,a.node,c);B.setVisibility(U_[n]),g.push(B,v),u=[B,v]}else g.push(v),u=[v]}else if(t==="buffer"||t==="storageBuffer"||t==="indirectStorageBuffer"){const v=this.getSharedDataFromNode(e);let M=v.buffer;if(M===void 0){const B=t==="buffer"?TN:aW;M=new B(e,c),v.buffer=M}M.setVisibility(M.getVisibility()|U_[n]),g.push(M),u=M,a.name=i||"NodeBuffer_"+a.id}else{const v=this.uniformGroups[n]||(this.uniformGroups[n]={});let M=v[d];M===void 0&&(M=new BN(d,c),M.setVisibility(U_[n]),v[d]=M,g.push(M)),u=this.getNodeUniform(a,t),M.addUniform(u)}o.uniformGPU=u}return a}getBuiltin(e,t,n,i=this.shaderStage){const a=this.builtins[i]||(this.builtins[i]=new Map);return a.has(e)===!1&&a.set(e,{name:e,property:t,type:n}),t}hasBuiltin(e,t=this.shaderStage){return this.builtins[t]!==void 0&&this.builtins[t].has(e)}getVertexIndex(){return this.shaderStage==="vertex"?this.getBuiltin("vertex_index","vertexIndex","u32","attribute"):"vertexIndex"}buildFunctionCode(e){const t=e.layout,n=this.flowShaderNode(e),i=[];for(const o of t.inputs)i.push(o.name+" : "+this.getType(o.type));let a=`fn ${t.name}( ${i.join(", ")} ) -> ${this.getType(t.type)} { -${n.vars} -${n.code} -`;return n.result&&(a+=` return ${n.result}; -`),a+=` -} -`,a}getInstanceIndex(){return this.shaderStage==="vertex"?this.getBuiltin("instance_index","instanceIndex","u32","attribute"):"instanceIndex"}getInvocationLocalIndex(){return this.getBuiltin("local_invocation_index","invocationLocalIndex","u32","attribute")}getSubgroupSize(){return this.enableSubGroups(),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute")}getInvocationSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_invocation_id","invocationSubgroupIndex","u32","attribute")}getSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_id","subgroupIndex","u32","attribute")}getDrawIndex(){return null}getFrontFacing(){return this.getBuiltin("front_facing","isFront","bool")}getFragCoord(){return this.getBuiltin("position","fragCoord","vec4")+".xy"}getFragDepth(){return"output."+this.getBuiltin("frag_depth","depth","f32","output")}getClipDistance(){return"varyings.hw_clip_distances"}isFlipY(){return!1}enableDirective(e,t=this.shaderStage){(this.directives[t]||(this.directives[t]=new Set)).add(e)}getDirectives(e){const t=[],n=this.directives[e];if(n!==void 0)for(const i of n)t.push(`enable ${i};`);return t.join(` -`)}enableSubGroups(){this.enableDirective("subgroups")}enableSubgroupsF16(){this.enableDirective("subgroups-f16")}enableClipDistances(){this.enableDirective("clip_distances")}enableShaderF16(){this.enableDirective("f16")}enableDualSourceBlending(){this.enableDirective("dual_source_blending")}enableHardwareClipping(e){this.enableClipDistances(),this.getBuiltin("clip_distances","hw_clip_distances",`array`,"vertex")}getBuiltins(e){const t=[],n=this.builtins[e];if(n!==void 0)for(const{name:i,property:a,type:o}of n.values())t.push(`@builtin( ${i} ) ${a} : ${o}`);return t.join(`, - `)}getScopedArray(e,t,n,i){return this.scopedArrays.has(e)===!1&&this.scopedArrays.set(e,{name:e,scope:t,bufferType:n,bufferCount:i}),e}getScopedArrays(e){if(e!=="compute")return;const t=[];for(const{name:n,scope:i,bufferType:a,bufferCount:o}of this.scopedArrays.values()){const u=this.getType(a);t.push(`var<${i}> ${n}: array< ${u}, ${o} >;`)}return t.join(` -`)}getAttributes(e){const t=[];if(e==="compute"&&(this.getBuiltin("global_invocation_id","globalId","vec3","attribute"),this.getBuiltin("workgroup_id","workgroupId","vec3","attribute"),this.getBuiltin("local_invocation_id","localId","vec3","attribute"),this.getBuiltin("num_workgroups","numWorkgroups","vec3","attribute"),this.renderer.hasFeature("subgroups")&&(this.enableDirective("subgroups",e),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute"))),e==="vertex"||e==="compute"){const n=this.getBuiltins("attribute");n&&t.push(n);const i=this.getAttributesArray();for(let a=0,o=i.length;a"),t.push(` ${i+n.name} : ${a}`)}return e.output&&t.push(` ${this.getBuiltins("output")}`),t.join(`, -`)}getStructs(e){let t="";const n=this.structs[e];if(n.length>0){const i=[];for(const a of n){let o=`struct ${a.name} { -`;o+=this.getStructMembers(a),o+=` -};`,i.push(o)}t=` -`+i.join(` - -`)+` -`}return t}getVar(e,t,n=null){let i=`var ${t} : `;return n!==null?i+=this.generateArrayDeclaration(e,n):i+=this.getType(e),i}getVars(e){const t=[],n=this.vars[e];if(n!==void 0)for(const i of n)t.push(` ${this.getVar(i.type,i.name,i.count)};`);return` -${t.join(` -`)} -`}getVaryings(e){const t=[];if(e==="vertex"&&this.getBuiltin("position","Vertex","vec4","vertex"),e==="vertex"||e==="fragment"){const a=this.varyings,o=this.vars[e];for(let u=0;un.value.itemSize;return i&&!a}getUniforms(e){const t=this.uniforms[e],n=[],i=[],a=[],o={};for(const c of t){const d=c.groupNode.name,g=this.bindingsIndexes[d];if(c.type==="texture"||c.type==="cubeTexture"||c.type==="cubeDepthTexture"||c.type==="storageTexture"||c.type==="texture3D"){const v=c.node.value;this.isUnfilterable(v)===!1&&c.node.isStorageTextureNode!==!0&&(this.isSampleCompare(v)?n.push(`@binding( ${g.binding++} ) @group( ${g.group} ) var ${c.name}_sampler : sampler_comparison;`):n.push(`@binding( ${g.binding++} ) @group( ${g.group} ) var ${c.name}_sampler : sampler;`));let M,B="";const{primarySamples:I}=this.renderer.backend.utils.getTextureSampleData(v);if(I>1&&(B="_multisampled"),v.isCubeTexture===!0&&v.isDepthTexture===!0)M="texture_depth_cube";else if(v.isCubeTexture===!0)M="texture_cube";else if(v.isDepthTexture===!0)this.renderer.backend.compatibilityMode&&v.compareFunction===null?M=`texture${B}_2d`:M=`texture_depth${B}_2d${v.isArrayTexture===!0?"_array":""}`;else if(c.node.isStorageTextureNode===!0){const ne=KM(v),ee=this.getStorageAccess(c.node,e),q=c.node.value.is3DTexture,ye=c.node.value.isArrayTexture;M=`texture_storage_${q?"3d":`2d${ye?"_array":""}`}<${ne}, ${ee}>`}else if(v.isArrayTexture===!0||v.isDataArrayTexture===!0||v.isCompressedArrayTexture===!0)M="texture_2d_array";else if(v.is3DTexture===!0||v.isData3DTexture===!0)M="texture_3d";else{const ne=this.getComponentTypeFromTexture(v).charAt(0);M=`texture${B}_2d<${ne}32>`}n.push(`@binding( ${g.binding++} ) @group( ${g.group} ) var ${c.name} : ${M};`)}else if(c.type==="buffer"||c.type==="storageBuffer"||c.type==="indirectStorageBuffer"){const v=c.node,M=this.getType(v.getNodeType(this)),B=v.bufferCount,I=B>0&&c.type==="buffer"?", "+B:"",ne=v.isStorageBufferNode?`storage, ${this.getStorageAccess(v,e)}`:"uniform";if(this.isCustomStruct(c))i.push(`@binding( ${g.binding++} ) @group( ${g.group} ) var<${ne}> ${c.name} : ${M};`);else{const q=` value : array< ${v.isAtomic?`atomic<${M}>`:`${M}`}${I} >`;i.push(this._getWGSLStructBinding(c.name,q,ne,g.binding++,g.group))}}else{const v=this.getType(this.getVectorType(c.type)),M=c.groupNode.name;(o[M]||(o[M]={index:g.binding++,id:g.group,snippets:[]})).snippets.push(` ${c.name} : ${v}`)}}for(const c in o){const d=o[c];a.push(this._getWGSLStructBinding(c,d.snippets.join(`, -`),"uniform",d.index,d.id))}return[...n,...i,...a].join(` -`)}buildCode(){const e=this.material!==null?{fragment:{},vertex:{}}:{compute:{}};this.sortBindingGroups();for(const t in e){this.shaderStage=t;const n=e[t];n.uniforms=this.getUniforms(t),n.attributes=this.getAttributes(t),n.varyings=this.getVaryings(t),n.structs=this.getStructs(t),n.vars=this.getVars(t),n.codes=this.getCodes(t),n.directives=this.getDirectives(t),n.scopedArrays=this.getScopedArrays(t);let i=`// code - -`;i+=this.flowCode[t];const a=this.flowNodes[t],o=a[a.length-1],u=o.outputNode,c=u!==void 0&&u.isOutputStructNode===!0;for(const d of a){const g=this.getFlowData(d),v=d.name;if(v&&(i.length>0&&(i+=` -`),i+=` // flow -> ${v} -`),i+=`${g.code} - `,d===o&&t!=="compute"){if(i+=`// result - - `,t==="vertex")i+=`varyings.Vertex = ${g.result};`;else if(t==="fragment")if(c)n.returnType=u.getNodeType(this),n.structs+="var output : "+n.returnType+";",i+=`return ${g.result};`;else{let M=" @location(0) color: vec4";const B=this.getBuiltins("output");B&&(M+=`, - `+B),n.returnType="OutputStruct",n.structs+=this._getWGSLStruct("OutputStruct",M),n.structs+=` -var output : OutputStruct;`,i+=`output.color = ${g.result}; - - return output;`}}}n.flow=i}if(this.shaderStage=null,this.material!==null)this.vertexShader=this._getWGSLVertexCode(e.vertex),this.fragmentShader=this._getWGSLFragmentCode(e.fragment);else{const t=this.object.workgroupSize;this.computeShader=this._getWGSLComputeCode(e.compute,t)}}getMethod(e,t=null){let n;return t!==null&&(n=this._getWGSLMethod(e+"_"+t)),n===void 0&&(n=this._getWGSLMethod(e)),n||e}getBitcastMethod(e){return`bitcast<${this.getType(e)}>`}getFloatPackingMethod(e){return this.getMethod(`floatpack_${e}_2x16`)}getFloatUnpackingMethod(e){return this.getMethod(`floatunpack_${e}_2x16`)}getTernary(e,t,n){return`select( ${n}, ${t}, ${e} )`}getType(e){return vW[e]||e}isAvailable(e){let t=YN[e];return t===void 0&&(e==="float32Filterable"?t=this.renderer.hasFeature("float32-filterable"):e==="clipDistance"&&(t=this.renderer.hasFeature("clip-distances")),YN[e]=t),t}_getWGSLMethod(e){return gx[e]!==void 0&&this._include(e),yW[e]}_include(e){const t=gx[e];return t.build(this),this.addInclude(t),t}_getWGSLVertexCode(e){return`${this.getSignature()} -// directives -${e.directives} - -// structs -${e.structs} - -// uniforms -${e.uniforms} - -// varyings -${e.varyings} -var varyings : VaryingsStruct; - -// codes -${e.codes} - -@vertex -fn main( ${e.attributes} ) -> VaryingsStruct { - - // vars - ${e.vars} - - // flow - ${e.flow} - - return varyings; - -} -`}_getWGSLFragmentCode(e){return`${this.getSignature()} -// global -${JN} - -// structs -${e.structs} - -// uniforms -${e.uniforms} - -// codes -${e.codes} - -@fragment -fn main( ${e.varyings} ) -> ${e.returnType} { - - // vars - ${e.vars} - - // flow - ${e.flow} - -} -`}_getWGSLComputeCode(e,t){const[n,i,a]=t;return`${this.getSignature()} -// directives -${e.directives} - -// system -var instanceIndex : u32; - -// locals -${e.scopedArrays} - -// structs -${e.structs} - -// uniforms -${e.uniforms} - -// codes -${e.codes} - -@compute @workgroup_size( ${n}, ${i}, ${a} ) -fn main( ${e.attributes} ) { - - // system - instanceIndex = globalId.x - + globalId.y * ( ${n} * numWorkgroups.x ) - + globalId.z * ( ${n} * numWorkgroups.x ) * ( ${i} * numWorkgroups.y ); - - // vars - ${e.vars} - - // flow - ${e.flow} - -} -`}_getWGSLStruct(e,t){return` -struct ${e} { -${t} -};`}_getWGSLStructBinding(e,t,n,i=0,a=0){const o=e+"Struct";return`${this._getWGSLStruct(o,t)} -@binding( ${i} ) @group( ${a} ) -var<${n}> ${e} : ${o};`}}class bW{constructor(e){this.backend=e}getCurrentDepthStencilFormat(e){let t;return e.depthTexture!==null?t=this.getTextureFormatGPU(e.depthTexture):e.depth&&e.stencil?t=sr.Depth24PlusStencil8:e.depth&&(t=sr.Depth24Plus),t}getTextureFormatGPU(e){return this.backend.get(e).format}getTextureSampleData(e){let t;if(e.isFramebufferTexture)t=1;else if(e.isDepthTexture&&!e.renderTarget){const a=this.backend.renderer,o=a.getRenderTarget();t=o?o.samples:a.currentSamples}else e.renderTarget&&(t=e.renderTarget.samples);t=t||1;const n=t>1&&e.renderTarget!==null&&e.isDepthTexture!==!0&&e.isFramebufferTexture!==!0;return{samples:t,primarySamples:n?1:t,isMSAA:n}}getCurrentColorFormat(e){let t;return e.textures!==null?t=this.getTextureFormatGPU(e.textures[0]):t=this.getPreferredCanvasFormat(),t}getCurrentColorFormats(e){return e.textures!==null?e.textures.map(t=>this.getTextureFormatGPU(t)):[this.getPreferredCanvasFormat()]}getCurrentColorSpace(e){return e.textures!==null?e.textures[0].colorSpace:this.backend.renderer.outputColorSpace}getPrimitiveTopology(e,t){if(e.isPoints)return kv.PointList;if(e.isLineSegments||e.isMesh&&t.wireframe===!0)return kv.LineList;if(e.isLine)return kv.LineStrip;if(e.isMesh)return kv.TriangleList}getSampleCount(e){return e>=4?4:1}getSampleCountRenderContext(e){return e.textures!==null?this.getSampleCount(e.sampleCount):this.getSampleCount(this.backend.renderer.currentSamples)}getPreferredCanvasFormat(){const t=this.backend.parameters.outputType;if(t===void 0)return navigator.gpu.getPreferredCanvasFormat();if(t===es)return sr.BGRA8Unorm;if(t===Wt)return sr.RGBA16Float;throw new Error("Unsupported output buffer type.")}}const eF=new Map([[Int8Array,["sint8","snorm8"]],[Uint8Array,["uint8","unorm8"]],[Int16Array,["sint16","snorm16"]],[Uint16Array,["uint16","unorm16"]],[Int32Array,["sint32","snorm32"]],[Uint32Array,["uint32","unorm32"]],[Float32Array,["float32"]]]);typeof Float16Array!="undefined"&&eF.set(Float16Array,["float16"]);const _W=new Map([[Yu,["float16"]]]),wW=new Map([[Int32Array,"sint32"],[Int16Array,"sint32"],[Uint32Array,"uint32"],[Uint16Array,"uint32"],[Float32Array,"float32"]]);class SW{constructor(e){this.backend=e}createAttribute(e,t){const n=this._getBufferAttribute(e),i=this.backend,a=i.get(n);let o=a.buffer;if(o===void 0){const u=i.device;let c=n.array;if(e.normalized===!1){if(c.constructor===Int16Array||c.constructor===Int8Array)c=new Int32Array(c);else if((c.constructor===Uint16Array||c.constructor===Uint8Array)&&(c=new Uint32Array(c),t&GPUBufferUsage.INDEX))for(let v=0;v0&&(o.groups===void 0&&(o.groups=[],o.versions=[]),o.versions[n]===i&&(c=o.groups[n])),c===void 0&&(c=this.createBindGroup(e,u),n>0&&(o.groups[n]=c,o.versions[n]=i)),o.group=c}updateBinding(e){const t=this.backend,n=t.device,i=e.buffer,a=t.get(e).buffer,o=e.updateRanges;if(o.length===0)n.queue.writeBuffer(a,0,i,0);else{const u=na(i),c=u?1:i.BYTES_PER_ELEMENT;for(let d=0,g=o.length;d1&&(M+=`-${c.texture.depthOrArrayLayers}`),M+=`-${g}-${v}`,d=c[M],d===void 0){const B=nW.All;let I;u.isSampledCubeTexture?I=hh.Cube:u.isSampledTexture3D?I=hh.ThreeD:u.texture.isArrayTexture||u.texture.isDataArrayTexture||u.texture.isCompressedArrayTexture?I=hh.TwoDArray:I=hh.TwoD,d=c[M]=c.texture.createView({aspect:B,dimension:I,mipLevelCount:g,baseMipLevel:v})}}o.push({binding:a,resource:d})}else if(u.isSampler){const c=n.get(u.texture);o.push({binding:a,resource:c.sampler})}a++}return i.createBindGroup({label:"bindGroup_"+e.name,layout:t,entries:o})}_createLayoutEntries(e){const t=[];let n=0;for(const i of e.bindings){const a=this.backend,o={binding:n,visibility:i.visibility};if(i.isUniformBuffer||i.isStorageBuffer){const u={};i.isStorageBuffer&&(i.visibility&C0.COMPUTE&&(i.access===od.READ_WRITE||i.access===od.WRITE_ONLY)?u.type=QM.Storage:u.type=QM.ReadOnlyStorage),o.buffer=u}else if(i.isSampledTexture&&i.store){const u={};u.format=this.backend.get(i.texture).texture.format;const c=i.access;c===od.READ_WRITE?u.access=WM.ReadWrite:c===od.WRITE_ONLY?u.access=WM.WriteOnly:u.access=WM.ReadOnly,i.texture.isArrayTexture?u.viewDimension=hh.TwoDArray:i.texture.is3DTexture&&(u.viewDimension=hh.ThreeD),o.storageTexture=u}else if(i.isSampledTexture){const u={},{primarySamples:c}=a.utils.getTextureSampleData(i.texture);if(c>1&&(u.multisampled=!0,i.texture.isDepthTexture||(u.sampleType=R0.UnfilterableFloat)),i.texture.isDepthTexture)a.compatibilityMode&&i.texture.compareFunction===null?u.sampleType=R0.UnfilterableFloat:u.sampleType=R0.Depth;else if(i.texture.isDataTexture||i.texture.isDataArrayTexture||i.texture.isData3DTexture){const d=i.texture.type;d===Xt?u.sampleType=R0.SInt:d===st?u.sampleType=R0.UInt:d===dt&&(this.backend.hasFeature("float32-filterable")?u.sampleType=R0.Float:u.sampleType=R0.UnfilterableFloat)}i.isSampledCubeTexture?u.viewDimension=hh.Cube:i.texture.isArrayTexture||i.texture.isDataArrayTexture||i.texture.isCompressedArrayTexture?u.viewDimension=hh.TwoDArray:i.isSampledTexture3D&&(u.viewDimension=hh.ThreeD),o.texture=u}else if(i.isSampler){const u={};i.texture.isDepthTexture&&(i.texture.compareFunction!==null?u.type=ZN.Comparison:a.compatibilityMode&&(u.type=ZN.NonFiltering)),o.sampler=u}else Gr(`WebGPUBindingUtils: Unsupported binding "${i}".`);t.push(o),n++}return t}deleteBindGroupData(e){const{backend:t}=this,n=t.get(e);n.layout&&(n.layout.usedTimes--,n.layout.usedTimes===0&&this._bindGroupLayoutCache.delete(n.layoutKey),n.layout=void 0,n.layoutKey=void 0)}dispose(){this._bindGroupLayoutCache.clear()}}class CW{constructor(e){this.backend=e,this._activePipelines=new WeakMap}setPipeline(e,t){this._activePipelines.get(e)!==t&&(e.setPipeline(t),this._activePipelines.set(e,t))}_getSampleCount(e){return this.backend.utils.getSampleCountRenderContext(e)}createRenderPipeline(e,t){const{object:n,material:i,geometry:a,pipeline:o}=e,{vertexProgram:u,fragmentProgram:c}=o,d=this.backend,g=d.device,v=d.utils,M=d.get(o),B=[];for(const pr of e.getBindings()){const Br=d.get(pr),{layoutGPU:zr}=Br.layout;B.push(zr)}const I=d.attributeUtils.createShaderVertexBuffers(e);let ne;i.blending!==we&&(i.blending!==ve||i.transparent!==!1)&&(ne=this._getBlending(i));let ee={};i.stencilWrite===!0&&(ee={compare:this._getStencilCompare(i),failOp:this._getStencilOperation(i.stencilFail),depthFailOp:this._getStencilOperation(i.stencilZFail),passOp:this._getStencilOperation(i.stencilZPass)});const q=this._getColorWriteMask(i),ye=[];if(e.context.textures!==null){const pr=e.context.textures;for(let Br=0;Br1},layout:g.createPipelineLayout({bindGroupLayouts:B})},pt={},xn=e.context.depth,cr=e.context.stencil;if((xn===!0||cr===!0)&&(xn===!0&&(pt.format=ht,pt.depthWriteEnabled=i.depthWrite,pt.depthCompare=Ye),cr===!0&&(pt.stencilFront=ee,pt.stencilBack={},pt.stencilReadMask=i.stencilFuncMask,pt.stencilWriteMask=i.stencilWriteMask),i.polygonOffset===!0&&(pt.depthBias=i.polygonOffsetUnits,pt.depthBiasSlopeScale=i.polygonOffsetFactor,pt.depthBiasClamp=0),qe.depthStencil=pt),g.pushErrorScope("validation"),t===null)M.pipeline=g.createRenderPipeline(qe),g.popErrorScope().then(pr=>{pr!==null&&(M.error=!0,Gr(pr.message))});else{const pr=new Promise(Br=>Pa(this,null,function*(){try{M.pipeline=yield g.createRenderPipelineAsync(qe)}catch(Dr){}const zr=yield g.popErrorScope();zr!==null&&(M.error=!0,Gr(zr.message)),Br()}));t.push(pr)}}createBundleEncoder(e,t="renderBundleEncoder"){const n=this.backend,{utils:i,device:a}=n,o=i.getCurrentDepthStencilFormat(e),u=i.getCurrentColorFormats(e),c=this._getSampleCount(e),d={label:t,colorFormats:u,depthStencilFormat:o,sampleCount:c};return a.createRenderBundleEncoder(d)}createComputePipeline(e,t){const n=this.backend,i=n.device,a=n.get(e.computeProgram).module,o=n.get(e),u=[];for(const c of t){const d=n.get(c),{layoutGPU:g}=d.layout;u.push(g)}o.pipeline=i.createComputePipeline({compute:a,layout:i.createPipelineLayout({bindGroupLayouts:u})})}_getBlending(e){let t,n;const i=e.blending,a=e.blendSrc,o=e.blendDst,u=e.blendEquation;if(i===ct){const c=e.blendSrcAlpha!==null?e.blendSrcAlpha:a,d=e.blendDstAlpha!==null?e.blendDstAlpha:o,g=e.blendEquationAlpha!==null?e.blendEquationAlpha:u;t={srcFactor:this._getBlendFactor(a),dstFactor:this._getBlendFactor(o),operation:this._getBlendOperation(u)},n={srcFactor:this._getBlendFactor(c),dstFactor:this._getBlendFactor(d),operation:this._getBlendOperation(g)}}else{const c=e.premultipliedAlpha,d=(g,v,M,B)=>{t={srcFactor:g,dstFactor:v,operation:B0.Add},n={srcFactor:M,dstFactor:B,operation:B0.Add}};if(c)switch(i){case ve:d(hl.One,hl.OneMinusSrcAlpha,hl.One,hl.OneMinusSrcAlpha);break;case Ee:d(hl.One,hl.One,hl.One,hl.One);break;case $e:d(hl.Zero,hl.OneMinusSrc,hl.Zero,hl.One);break;case Fe:d(hl.Dst,hl.OneMinusSrcAlpha,hl.Zero,hl.One);break}else switch(i){case ve:d(hl.SrcAlpha,hl.OneMinusSrcAlpha,hl.One,hl.OneMinusSrcAlpha);break;case Ee:d(hl.SrcAlpha,hl.One,hl.One,hl.One);break;case $e:Gr("WebGPURenderer: SubtractiveBlending requires material.premultipliedAlpha = true");break;case Fe:Gr("WebGPURenderer: MultiplyBlending requires material.premultipliedAlpha = true");break}}if(t!==void 0&&n!==void 0)return{color:t,alpha:n};Gr("WebGPURenderer: Invalid blending: ",i)}_getBlendFactor(e){let t;switch(e){case Lt:t=hl.Zero;break;case Wn:t=hl.One;break;case Xn:t=hl.Src;break;case In:t=hl.OneMinusSrc;break;case zn:t=hl.SrcAlpha;break;case dr:t=hl.OneMinusSrcAlpha;break;case Ge:t=hl.Dst;break;case Tt:t=hl.OneMinusDst;break;case vn:t=hl.DstAlpha;break;case _r:t=hl.OneMinusDstAlpha;break;case On:t=hl.SrcAlphaSaturated;break;case s5:t=hl.Constant;break;case a5:t=hl.OneMinusConstant;break;default:Gr("WebGPURenderer: Blend factor not supported.",e)}return t}_getStencilCompare(e){let t;const n=e.stencilFunc;switch(n){case fh:t=dd.Never;break;case lu:t=dd.Always;break;case Qf:t=dd.Less;break;case Ah:t=dd.LessEqual;break;case pd:t=dd.Equal;break;case gd:t=dd.GreaterEqual;break;case Vc:t=dd.Greater;break;case jo:t=dd.NotEqual;break;default:Gr("WebGPURenderer: Invalid stencil function.",n)}return t}_getStencilOperation(e){let t;switch(e){case Ku:t=Qm.Keep;break;case Uh:t=Qm.Zero;break;case sc:t=Qm.Replace;break;case Xo:t=Qm.Invert;break;case pu:t=Qm.IncrementClamp;break;case ou:t=Qm.DecrementClamp;break;case Ad:t=Qm.IncrementWrap;break;case hf:t=Qm.DecrementWrap;break;default:Gr("WebGPURenderer: Invalid stencil operation.",t)}return t}_getBlendOperation(e){let t;switch(e){case vt:t=B0.Add;break;case at:t=B0.Subtract;break;case kt:t=B0.ReverseSubtract;break;case It:t=B0.Min;break;case Bn:t=B0.Max;break;default:Gr("WebGPUPipelineUtils: Blend equation not supported.",e)}return t}_getPrimitiveState(e,t,n){const i={},a=this.backend.utils;i.topology=a.getPrimitiveTopology(e,n),t.index!==null&&e.isLine===!0&&e.isLineSegments!==!0&&(i.stripIndexFormat=t.index.array instanceof Uint16Array?Vv.Uint16:Vv.Uint32);let o=n.side===de;return e.isMesh&&e.matrixWorld.determinant()<0&&(o=!o),i.frontFace=o===!0?HN.CW:HN.CCW,i.cullMode=n.side===he?QN.None:QN.Back,i}_getColorWriteMask(e){return e.colorWrite===!0?WN.All:WN.None}_getDepthCompare(e){let t;if(e.depthTest===!1)t=dd.Always;else{const n=e.depthFunc;switch(n){case Mt:t=dd.Never;break;case Et:t=dd.Always;break;case pe:t=dd.Less;break;case Ae:t=dd.LessEqual;break;case Pe:t=dd.Equal;break;case Ut:t=dd.GreaterEqual;break;case jt:t=dd.Greater;break;case ft:t=dd.NotEqual;break;default:Gr("WebGPUPipelineUtils: Invalid depth function.",n)}}return t}}class TW extends zN{constructor(e,t,n=2048){super(n),this.device=e,this.type=t,this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxQueries,label:`queryset_global_timestamp_${t}`});const i=this.maxQueries*8;this.resolveBuffer=this.device.createBuffer({label:`buffer_timestamp_resolve_${t}`,size:i,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.resultBuffer=this.device.createBuffer({label:`buffer_timestamp_result_${t}`,size:i,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})}allocateQueriesForContext(e){if(!this.trackTimestamp||this.isDisposed)return null;if(this.currentQueryIndex+2>this.maxQueries)return ki(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryOffsets.set(e,t),t}resolveQueriesAsync(){return Pa(this,null,function*(){if(!this.trackTimestamp||this.currentQueryIndex===0||this.isDisposed)return this.lastValue;if(this.pendingResolve)return this.pendingResolve;this.pendingResolve=this._resolveQueries();try{return yield this.pendingResolve}finally{this.pendingResolve=null}})}_resolveQueries(){return Pa(this,null,function*(){if(this.isDisposed)return this.lastValue;try{if(this.resultBuffer.mapState!=="unmapped")return this.lastValue;const e=new Map(this.queryOffsets),t=this.currentQueryIndex,n=t*8;this.currentQueryIndex=0,this.queryOffsets.clear();const i=this.device.createCommandEncoder();i.resolveQuerySet(this.querySet,0,t,this.resolveBuffer,0),i.copyBufferToBuffer(this.resolveBuffer,0,this.resultBuffer,0,n);const a=i.finish();if(this.device.queue.submit([a]),this.resultBuffer.mapState!=="unmapped")return this.lastValue;if(yield this.resultBuffer.mapAsync(GPUMapMode.READ,0,n),this.isDisposed)return this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue;const o=new BigUint64Array(this.resultBuffer.getMappedRange(0,n)),u={},c=[];for(const[g,v]of e){const M=g.match(/^(.*):f(\d+)$/),B=parseInt(M[2]);c.includes(B)===!1&&c.push(B),u[B]===void 0&&(u[B]=0);const I=o[v],ne=o[v+1],ee=Number(ne-I)/1e6;this.timestamps.set(g,ee),u[B]+=ee}const d=u[c[c.length-1]];return this.resultBuffer.unmap(),this.lastValue=d,this.frames=c,d}catch(e){return Gr("Error resolving queries:",e),this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue}})}dispose(){return Pa(this,null,function*(){if(!this.isDisposed){if(this.isDisposed=!0,this.pendingResolve)try{yield this.pendingResolve}catch(e){Gr("Error waiting for pending resolve:",e)}if(this.resultBuffer&&this.resultBuffer.mapState==="mapped")try{this.resultBuffer.unmap()}catch(e){Gr("Error unmapping buffer:",e)}this.querySet&&(this.querySet.destroy(),this.querySet=null),this.resolveBuffer&&(this.resolveBuffer.destroy(),this.resolveBuffer=null),this.resultBuffer&&(this.resultBuffer.destroy(),this.resultBuffer=null),this.queryOffsets.clear(),this.pendingResolve=null}})}}class $M extends ON{constructor(e={}){super(e),this.isWebGPUBackend=!0,this.parameters.alpha=e.alpha===void 0?!0:e.alpha,this.parameters.compatibilityMode=e.compatibilityMode===void 0?!1:e.compatibilityMode,this.parameters.requiredLimits=e.requiredLimits===void 0?{}:e.requiredLimits,this.compatibilityMode=this.parameters.compatibilityMode,this.device=null,this.defaultRenderPassdescriptor=null,this.utils=new bW(this),this.attributeUtils=new SW(this),this.bindingUtils=new EW(this),this.pipelineUtils=new CW(this),this.textureUtils=new cW(this),this.occludedResolveCache=new Map}init(e){return Pa(this,null,function*(){yield TP($M.prototype,this,"init").call(this,e);const t=this.parameters;let n;if(t.device===void 0){const i={powerPreference:t.powerPreference,featureLevel:t.compatibilityMode?"compatibility":void 0},a=typeof navigator!="undefined"?yield navigator.gpu.requestAdapter(i):null;if(a===null)throw new Error("WebGPUBackend: Unable to create WebGPU adapter.");const o=Object.values(ZM),u=[];for(const d of o)a.features.has(d)&&u.push(d);const c={requiredFeatures:u,requiredLimits:t.requiredLimits};n=yield a.requestDevice(c)}else n=t.device;n.lost.then(i=>{if(i.reason==="destroyed")return;const a={api:"WebGPU",message:i.message||"Unknown reason",reason:i.reason||null,originalEvent:i};e.onDeviceLost(a)}),this.device=n,this.trackTimestamp=this.trackTimestamp&&this.hasFeature(ZM.TimestampQuery),this.updateSize()})}get context(){const e=this.renderer.getCanvasTarget(),t=this.get(e);let n=t.context;if(n===void 0){const i=this.parameters;e.isDefaultCanvasTarget===!0&&i.context!==void 0?n=i.context:n=e.domElement.getContext("webgpu"),"setAttribute"in e.domElement&&e.domElement.setAttribute("data-engine",`three.js r${m} webgpu`);const a=i.alpha?"premultiplied":"opaque",o=i.outputType===Wt?"extended":"standard";n.configure({device:this.device,format:this.utils.getPreferredCanvasFormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,alphaMode:a,toneMapping:{mode:o}}),t.context=n}return n}get coordinateSystem(){return To}getArrayBufferAsync(e){return Pa(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(e)})}getContext(){return this.context}_getDefaultRenderPassDescriptor(){const e=this.renderer,t=e.getCanvasTarget(),n=this.get(t),i=e.currentSamples;let a=n.descriptor;if(a===void 0||n.samples!==i){a={colorAttachments:[{view:null}]},(e.depth===!0||e.stencil===!0)&&(a.depthStencilAttachment={view:this.textureUtils.getDepthBuffer(e.depth,e.stencil).createView()});const u=a.colorAttachments[0];i>0?u.view=this.textureUtils.getColorBuffer().createView():u.resolveTarget=void 0,n.descriptor=a,n.samples=i}const o=a.colorAttachments[0];return i>0?o.resolveTarget=this.context.getCurrentTexture().createView():o.view=this.context.getCurrentTexture().createView(),a}_isRenderCameraDepthArray(e){return e.depthTexture&&e.depthTexture.image.depth>1&&e.camera.isArrayCamera}_getRenderPassDescriptor(e,t={}){const n=e.renderTarget,i=this.get(n);let a=i.descriptors;(a===void 0||i.width!==n.width||i.height!==n.height||i.samples!==n.samples)&&(a={},i.descriptors=a);const o=e.getCacheKey();let u=a[o];if(u===void 0){const d=e.textures,g=[];let v;const M=this._isRenderCameraDepthArray(e);for(let B=0;B1)if(M===!0){const ee=e.camera.cameras;for(let q=0;q0&&(t.currentOcclusionQuerySet&&t.currentOcclusionQuerySet.destroy(),t.currentOcclusionQueryBuffer&&t.currentOcclusionQueryBuffer.destroy(),t.currentOcclusionQuerySet=t.occlusionQuerySet,t.currentOcclusionQueryBuffer=t.occlusionQueryBuffer,t.currentOcclusionQueryObjects=t.occlusionQueryObjects,a=n.createQuerySet({type:"occlusion",count:i,label:`occlusionQuerySet_${e.id}`}),t.occlusionQuerySet=a,t.occlusionQueryIndex=0,t.occlusionQueryObjects=new Array(i),t.lastOcclusionObject=null);let o;e.textures===null?o=this._getDefaultRenderPassDescriptor():o=this._getRenderPassDescriptor(e,{loadOp:Kl.Load}),this.initTimestampQuery(ml.RENDER,this.getTimestampUID(e),o),o.occlusionQuerySet=a;const u=o.depthStencilAttachment;if(e.textures!==null){const d=o.colorAttachments;for(let g=0;g0&&t.currentPass.executeBundles(t.renderBundles),n>t.occlusionQueryIndex&&t.currentPass.endOcclusionQuery();const i=t.encoder;if(this._isRenderCameraDepthArray(e)===!0){const a=[];for(let o=0;o0){const a=n*8;let o=this.occludedResolveCache.get(a);o===void 0&&(o=this.device.createBuffer({size:a,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.occludedResolveCache.set(a,o));const u=this.device.createBuffer({size:a,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});t.encoder.resolveQuerySet(t.occlusionQuerySet,0,n,o,0),t.encoder.copyBufferToBuffer(o,0,u,0,a),t.occlusionQueryBuffer=u,this.resolveOccludedAsync(e)}if(this.device.queue.submit([t.encoder.finish()]),e.textures!==null){const a=e.textures;for(let o=0;oB&&(a[0]=Math.min(M,B),a[1]=Math.ceil(M/B)),o.dispatchSize=a}a=o.dispatchSize}u.dispatchWorkgroups(a[0],a[1]||1,a[2]||1)}finishCompute(e){const t=this.get(e);t.passEncoderGPU.end(),this.device.queue.submit([t.cmdEncoderGPU.finish()])}draw(e,t){const{object:n,material:i,context:a,pipeline:o}=e,u=e.getBindings(),c=this.get(a),d=this.get(o),g=d.pipeline;if(d.error===!0)return;const v=e.getIndex(),M=v!==null,B=e.getDrawParameters();if(B===null)return;const I=(ee,q)=>{this.pipelineUtils.setPipeline(ee,g),q.pipeline=g;const ye=q.bindingGroups;for(let ke=0,nt=u.length;ke{if(I(ee,q),n.isBatchedMesh===!0){const ye=n._multiDrawStarts,Ce=n._multiDrawCounts,ke=n._multiDrawCount,nt=n._multiDrawInstances;nt!==null&&ki("WebGPUBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.");for(let Ye=0;Ye1?0:Ye;M===!0?ee.drawIndexed(Ce[Ye],ht,ye[Ye]/v.array.BYTES_PER_ELEMENT,0,Rt):ee.draw(Ce[Ye],ht,ye[Ye],Rt),t.update(n,Ce[Ye],ht)}}else if(M===!0){const{vertexCount:ye,instanceCount:Ce,firstVertex:ke}=B,nt=e.getIndirect();if(nt!==null){const Ye=this.get(nt).buffer,ht=e.getIndirectOffset(),Rt=Array.isArray(ht)?ht:[ht];for(let qe=0;qe0){const ee=this.get(e.camera),q=e.camera.cameras,ye=e.getBindingGroup("cameraIndex");if(ee.indexesGPU===void 0||ee.indexesGPU.length!==q.length){const ke=this.get(ye),nt=[],Ye=new Uint32Array([0,0,0,0]);for(let ht=0,Rt=q.length;ht(Lr("WebGPURenderer: WebGPU is not available, running under WebGL2 backend."),new GN(e)));const n=new t(e);super(n,e),this.library=new IW,this.isWebGPURenderer=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}}class Sj extends null{constructor(){super(),this.isBundleGroup=!0,this.type="BundleGroup",this.static=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}}class Mj{constructor(e,t=Ks(0,0,1,1)){this.renderer=e,this.outputNode=t,this.outputColorTransform=!0,this.needsUpdate=!0;const n=new yc;n.name="PostProcessing",this._quadMesh=new nx(n),this._quadMesh.name="Post-Processing",this._context=null}render(){const e=this.renderer;this._update(),this._context.onBeforePostProcessing!==null&&this._context.onBeforePostProcessing();const t=e.toneMapping,n=e.outputColorSpace;e.toneMapping=NoToneMapping,e.outputColorSpace=ColorManagement.workingColorSpace;const i=e.xr.enabled;e.xr.enabled=!1,this._quadMesh.render(e),e.xr.enabled=i,e.toneMapping=t,e.outputColorSpace=n,this._context.onAfterPostProcessing!==null&&this._context.onAfterPostProcessing()}get context(){return this._context}dispose(){this._quadMesh.material.dispose()}_update(){if(this.needsUpdate===!0){const e=this.renderer,t=e.toneMapping,n=e.outputColorSpace,i={postProcessing:this,onBeforePostProcessing:null,onAfterPostProcessing:null};let a=this.outputNode;this.outputColorTransform===!0?(a=a.context(i),a=nS(a,t,n)):(i.toneMapping=t,i.outputColorSpace=n,a=a.context(i)),this._context=i,this._quadMesh.material.fragmentNode=a,this._quadMesh.material.needsUpdate=!0,this.needsUpdate=!1}}renderAsync(){return Pa(this,null,function*(){warnOnce('PostProcessing: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield this.renderer.init(),this.render()})}}class Ej extends null{constructor(e=1,t=1){super(),this.image={width:e,height:t},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0,this.mipmapsAutoUpdate=!0}setSize(e,t){(this.image.width!==e||this.image.height!==t)&&(this.image.width=e,this.image.height=t,this.dispose())}}class Cj extends null{constructor(e=1,t=1,n=1){super(),this.isArrayTexture=!1,this.image={width:e,height:t,depth:n},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.wrapR=ClampToEdgeWrapping,this.isStorageTexture=!0,this.is3DTexture=!0}setSize(e,t,n){(this.image.width!==e||this.image.height!==t||this.image.depth!==n)&&(this.image.width=e,this.image.height=t,this.image.depth=n,this.dispose())}}class Tj extends null{constructor(e=1,t=1,n=1){super(),this.isArrayTexture=!0,this.image={width:e,height:t,depth:n},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}setSize(e,t,n){(this.image.width!==e||this.image.height!==t||this.image.depth!==n)&&(this.image.width=e,this.image.height=t,this.image.depth=n,this.dispose())}}class Bj extends null{constructor(e,t){super(e,t,Uint32Array),this.isIndirectStorageBufferAttribute=!0}}class FW extends null{constructor(e){super(e),this.textures={},this.nodes={}}load(e,t,n,i){const a=new FileLoader(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,o=>{try{t(this.parse(JSON.parse(o)))}catch(u){i?i(u):error(u),this.manager.itemError(e)}},n,i)}parseNodes(e){const t={};if(e!==void 0){for(const i of e){const{uuid:a,type:o}=i;t[a]=this.createNodeFromType(o),t[a].uuid=a}const n={nodes:t,textures:this.textures};for(const i of e)i.meta=n,t[i.uuid].deserialize(i),delete i.meta}return t}parse(e){const t=this.createNodeFromType(e.type);t.uuid=e.uuid;const i={nodes:this.parseNodes(e.nodes),textures:this.textures};return e.meta=i,t.deserialize(e),delete e.meta,t}setTextures(e){return this.textures=e,this}setNodes(e){return this.nodes=e,this}createNodeFromType(e){return this.nodes[e]===void 0?(error("NodeLoader: Node type not found:",e),qt()):new this.nodes[e]}}class PW extends null{constructor(e){super(e),this.nodes={},this.nodeMaterials={}}parse(e){const t=super.parse(e),n=this.nodes,i=e.inputNodes;for(const a in i){const o=i[a];t[a]=n[o]}return t}setNodes(e){return this.nodes=e,this}setNodeMaterials(e){return this.nodeMaterials=e,this}createMaterialFromType(e){const t=this.nodeMaterials[e];return t!==void 0?new t:super.createMaterialFromType(e)}}class Rj extends null{constructor(e){super(e),this.nodes={},this.nodeMaterials={},this._nodesJSON=null}setNodes(e){return this.nodes=e,this}setNodeMaterials(e){return this.nodeMaterials=e,this}parse(e,t){this._nodesJSON=e.nodes;const n=super.parse(e,t);return this._nodesJSON=null,n}parseNodes(e,t){if(e!==void 0){const n=new FW;return n.setNodes(this.nodes),n.setTextures(t),n.parseNodes(e)}return{}}parseMaterials(e,t){const n={};if(e!==void 0){const i=this.parseNodes(this._nodesJSON,t),a=new PW;a.setTextures(t),a.setNodes(i),a.setNodeMaterials(this.nodeMaterials);for(let o=0,u=e.length;otF&&(this.dispatchEvent(XM),this._lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this._lastPosition.distanceToSquared(this.object.position)>tF||this._lastZoom!==this.object.zoom)&&(this.dispatchEvent(XM),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type.")}reset(){this.state=$l.NONE,this.keyState=$l.NONE,this.target.copy(this._target0),this.object.position.copy(this._position0),this.object.up.copy(this._up0),this.object.zoom=this._zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(XM),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom}_panCamera(){if(Wm.copy(this._panEnd).sub(this._panStart),Wm.lengthSq()){if(this.object.isOrthographicCamera){const e=(this.object.right-this.object.left)/this.object.zoom/this.domElement.clientWidth,t=(this.object.top-this.object.bottom)/this.object.zoom/this.domElement.clientWidth;Wm.x*=e,Wm.y*=t}Wm.multiplyScalar(this._eye.length()*this.panSpeed),D_.copy(this._eye).cross(this.object.up).setLength(Wm.x),D_.add(LW.copy(this.object.up).setLength(Wm.y)),this.object.position.add(D_),this.target.add(D_),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(Wm.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}_rotateCamera(){V_.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let e=V_.length();e?(this._eye.copy(this.object.position).sub(this.target),nF.copy(this._eye).normalize(),k_.copy(this.object.up).normalize(),JM.crossVectors(k_,nF).normalize(),k_.setLength(this._moveCurr.y-this._movePrev.y),JM.setLength(this._moveCurr.x-this._movePrev.x),V_.copy(k_.add(JM)),qM.crossVectors(V_,this._eye).normalize(),e*=this.rotateSpeed,zv.setFromAxisAngle(qM,e),this._eye.applyQuaternion(zv),this.object.up.applyQuaternion(zv),this._lastAxis.copy(qM),this._lastAngle=e):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),zv.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(zv),this.object.up.applyQuaternion(zv)),this._movePrev.copy(this._moveCurr)}_zoomCamera(){let e;this.state===$l.TOUCH_ZOOM_PAN?(e=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=me.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,e!==1&&e>0&&(this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=me.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor)}_getMouseOnScreen(e,t){return O_.set((e-this.screen.left)/this.screen.width,(t-this.screen.top)/this.screen.height),O_}_getMouseOnCircle(e,t){return O_.set((e-this.screen.width*.5-this.screen.left)/(this.screen.width*.5),(this.screen.height+2*(this.screen.top-t))/this.screen.width),O_}_addPointer(e){this._pointers.push(e)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;tthis.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()Math.PI&&(n-=zf),i<-Math.PI?i+=zf:i>Math.PI&&(i-=zf),n<=i?this._spherical.theta=Math.max(n,Math.min(i,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+i)/2?Math.max(n,this._spherical.theta):Math.min(i,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let a=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const o=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),a=o!=this._spherical.radius}if(Lh.setFromSpherical(this._spherical),Lh.applyQuaternion(this._quatInverse),t.copy(this.target).add(Lh),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let o=null;if(this.object.isPerspectiveCamera){const u=Lh.length();o=this._clampDistance(u*this._scale);const c=u-o;this.object.position.addScaledVector(this._dollyDirection,c),this.object.updateMatrixWorld(),a=!!c}else if(this.object.isOrthographicCamera){const u=new le(this._mouse.x,this._mouse.y,0);u.unproject(this.object);const c=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),a=c!==this.object.zoom;const d=new le(this._mouse.x,this._mouse.y,0);d.unproject(this.object),this.object.position.sub(d).add(u),this.object.updateMatrixWorld(),o=Lh.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;o!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position):(z_.origin.copy(this.object.position),z_.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(z_.direction))tE||8*(1-this._lastQuaternion.dot(this.object.quaternion))>tE||this._lastTargetPosition.distanceToSquared(this.target)>tE?(this.dispatchEvent(rF),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?zf/60*this.autoRotateSpeed*e:zf/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Lh.setFromMatrixColumn(t,0),Lh.multiplyScalar(-e),this._panOffset.add(Lh)}_panUp(e,t){this.screenSpacePanning===!0?Lh.setFromMatrixColumn(t,1):(Lh.setFromMatrixColumn(t,0),Lh.crossVectors(this.object.up,Lh)),Lh.multiplyScalar(e),this._panOffset.add(Lh)}_pan(e,t){const n=this.domElement;if(this.object.isPerspectiveCamera){const i=this.object.position;Lh.copy(i).sub(this.target);let a=Lh.length();a*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*a/n.clientHeight,this.object.matrix),this._panUp(2*t*a/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const n=this.domElement.getBoundingClientRect(),i=e-n.left,a=t-n.top,o=n.width,u=n.height;this._mouse.x=i/o*2-1,this._mouse.y=-(a/u)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(zf*this._rotateDelta.x/t.clientHeight),this._rotateUp(zf*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(zf*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-zf*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(zf*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-zf*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._rotateStart.set(n,i)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._panStart.set(n,i)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,i=e.pageY-t.y,a=Math.sqrt(n*n+i*i);this._dollyStart.set(0,a)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),i=.5*(e.pageX+n.x),a=.5*(e.pageY+n.y);this._rotateEnd.set(i,a)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(zf*this._rotateDelta.x/t.clientHeight),this._rotateUp(zf*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._panEnd.set(n,i)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,i=e.pageY-t.y,a=Math.sqrt(n*n+i*i);this._dollyEnd.set(0,a),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const o=(e.pageX+t.x)*.5,u=(e.pageY+t.y)*.5;this._updateZoomParameters(o,u)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;taF||8*(1-this._lastQuaternion.dot(t.quaternion))>aF)&&(this.dispatchEvent(h9),this._lastQuaternion.copy(t.quaternion),this._lastPosition.copy(t.position))}_updateMovementVector(){const e=this._moveState.forward||this.autoForward&&!this._moveState.back?1:0;this._moveVector.x=-this._moveState.left+this._moveState.right,this._moveVector.y=-this._moveState.down+this._moveState.up,this._moveVector.z=-e+this._moveState.back}_updateRotationVector(){this._rotationVector.x=-this._moveState.pitchDown+this._moveState.pitchUp,this._rotationVector.y=-this._moveState.yawRight+this._moveState.yawLeft,this._rotationVector.z=-this._moveState.rollRight+this._moveState.rollLeft}_getContainerDimensions(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}}}function f9(s){if(!(s.altKey||this.enabled===!1)){switch(s.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this._moveState.forward=1;break;case"KeyS":this._moveState.back=1;break;case"KeyA":this._moveState.left=1;break;case"KeyD":this._moveState.right=1;break;case"KeyR":this._moveState.up=1;break;case"KeyF":this._moveState.down=1;break;case"ArrowUp":this._moveState.pitchUp=1;break;case"ArrowDown":this._moveState.pitchDown=1;break;case"ArrowLeft":this._moveState.yawLeft=1;break;case"ArrowRight":this._moveState.yawRight=1;break;case"KeyQ":this._moveState.rollLeft=1;break;case"KeyE":this._moveState.rollRight=1;break}this._updateMovementVector(),this._updateRotationVector()}}function A9(s){if(this.enabled!==!1){switch(s.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this._moveState.forward=0;break;case"KeyS":this._moveState.back=0;break;case"KeyA":this._moveState.left=0;break;case"KeyD":this._moveState.right=0;break;case"KeyR":this._moveState.up=0;break;case"KeyF":this._moveState.down=0;break;case"ArrowUp":this._moveState.pitchUp=0;break;case"ArrowDown":this._moveState.pitchDown=0;break;case"ArrowLeft":this._moveState.yawLeft=0;break;case"ArrowRight":this._moveState.yawRight=0;break;case"KeyQ":this._moveState.rollLeft=0;break;case"KeyE":this._moveState.rollRight=0;break}this._updateMovementVector(),this._updateRotationVector()}}function p9(s){if(this.enabled!==!1)if(this.dragToLook)this._status++;else{switch(s.button){case 0:this._moveState.forward=1;break;case 2:this._moveState.back=1;break}this._updateMovementVector()}}function g9(s){if(this.enabled!==!1&&(!this.dragToLook||this._status>0)){const e=this._getContainerDimensions(),t=e.size[0]/2,n=e.size[1]/2;this._moveState.yawLeft=-(s.pageX-e.offset[0]-t)/t,this._moveState.pitchDown=(s.pageY-e.offset[1]-n)/n,this._updateRotationVector()}}function m9(s){if(this.enabled!==!1){if(this.dragToLook)this._status--,this._moveState.yawLeft=this._moveState.pitchDown=0;else{switch(s.button){case 0:this._moveState.forward=0;break;case 2:this._moveState.back=0;break}this._updateMovementVector()}this._updateRotationVector()}}function v9(){this.enabled!==!1&&(this.dragToLook?(this._status=0,this._moveState.yawLeft=this._moveState.pitchDown=0):(this._moveState.forward=0,this._moveState.back=0,this._updateMovementVector()),this._updateRotationVector())}function y9(s){this.enabled!==!1&&s.preventDefault()}const x9={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` - - varying vec2 vUv; - - void main() { - - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - - }`,fragmentShader:` - - uniform float opacity; - - uniform sampler2D tDiffuse; - - varying vec2 vUv; - - void main() { - - vec4 texel = texture2D( tDiffuse, vUv ); - gl_FragColor = opacity * texel; - - - }`};class G_{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const b9=new Pg(-1,1,1,-1,0,1);class _9 extends ka{constructor(){super(),this.setAttribute("position",new Ui([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new Ui([0,2,0,0,2,0],2))}}const w9=new _9;class S9{constructor(e){this._mesh=new Il(w9,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,b9)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class M9 extends G_{constructor(e,t="tDiffuse"){super(),this.textureID=t,this.uniforms=null,this.material=null,e instanceof nh?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=Vh.clone(e.uniforms),this.material=new nh({name:e.name!==void 0?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this._fsQuad=new S9(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this._fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}}class lF extends G_{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const i=e.getContext(),a=e.state;a.buffers.color.setMask(!1),a.buffers.depth.setMask(!1),a.buffers.color.setLocked(!0),a.buffers.depth.setLocked(!0);let o,u;this.inverse?(o=0,u=1):(o=1,u=0),a.buffers.stencil.setTest(!0),a.buffers.stencil.setOp(i.REPLACE,i.REPLACE,i.REPLACE),a.buffers.stencil.setFunc(i.ALWAYS,o,4294967295),a.buffers.stencil.setClear(u),a.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),a.buffers.color.setLocked(!1),a.buffers.depth.setLocked(!1),a.buffers.color.setMask(!0),a.buffers.depth.setMask(!0),a.buffers.stencil.setLocked(!1),a.buffers.stencil.setFunc(i.EQUAL,1,4294967295),a.buffers.stencil.setOp(i.KEEP,i.KEEP,i.KEEP),a.buffers.stencil.setLocked(!0)}}class E9 extends G_{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class C9{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){const n=e.getSize(new ce);this._width=n.width,this._height=n.height,t=new Os(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:Wt}),t.texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new M9(x9),this.copyPass.material.blending=we,this.clock=new pp}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t0)break}while(fF(i,a));u=I.notation==="postfix",I.symbol!==")"&&(i.push(I),u&&fF(i,a))}else if(v){if(i.push(v.prefix||v.func),v.func&&(n=o.exec(s),!n||n[0]!=="("))throw new ro(38,n?n.index:s.length,s)}else a.push(+d),u=!0}while(n&&i.length);if(i.length)throw new ro(39,n?n.index:s.length,s);if(n)throw new ro(40,n?n.index:s.length,s);return a.pop()}function rE(s){return s.split("").reverse().join("")}function Lj(s,e){var t=rE(s),n=t.match(dF);if(n&&!n.every(function(a){return a===n[0]}))throw new ro(41);var i=rE(t.replace(dF,""));return""+Q9(i,e)+(n?rE(n[0]):"")}var W9=/--[\S]*/g;function Uj(s,e){if(!s||!s.match(W9))throw new ro(73);var t;if(typeof document!="undefined"&&document.documentElement!==null&&(t=getComputedStyle(document.documentElement).getPropertyValue(s)),t)return t.trim();if(e)return e;throw new ro(74)}function mx(s){return s.charAt(0).toUpperCase()+s.slice(1)}var Z9=null;function K9(s,e){if(!s)return e.toLowerCase();var t=s.split("-");if(t.length>1)return t.splice(1,0,e),t.reduce(function(i,a){return""+i+mx(a)});var n=s.replace(/([a-z])([A-Z])/g,"$1"+e+"$2");return s===n?""+s+e:n}function $9(s,e){for(var t={},n=0;n1?e-1:0),n=1;n=0)?t[n]=s[n]+" !important":t[n]=s[n]}),t}var mF={minorSecond:1.067,majorSecond:1.125,minorThird:1.2,majorThird:1.25,perfectFourth:1.333,augFourth:1.414,perfectFifth:1.5,minorSixth:1.6,goldenSection:1.618,majorSixth:1.667,minorSeventh:1.778,majorSeventh:1.875,octave:2,majorTenth:2.5,majorEleventh:2.667,majorTwelfth:3,doubleOctave:4};function J9(s){return mF[s]}function kj(s,e,t){if(e===void 0&&(e="1em"),t===void 0&&(t=1.333),typeof s!="number")throw new ro(42);if(typeof t=="string"&&!mF[t])throw new ro(43);var n=typeof e=="string"?im(e):[e,""],i=n[0],a=n[1],o=typeof t=="string"?J9(t):t;if(typeof i=="string")throw new ro(44,e);return""+i*Math.pow(o,s)+(a||"")}var Vj=gF("rem"),zj=null,iE=16;function vF(s){var e=im(s);if(e[1]==="px")return parseFloat(s);if(e[1]==="%")return parseFloat(s)/100*iE;throw new ro(78,e[1])}function eZ(){if(typeof document!="undefined"&&document.documentElement!==null){var s=getComputedStyle(document.documentElement).fontSize;return s?vF(s):iE}return iE}function Gj(s,e){var t=im(s);if(t[1]!=="rem"&&t[1]!=="")throw new ro(77,t[1]);var n=e?vF(e):eZ();return t[0]*n+"px"}var tZ={back:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",circ:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",cubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",expo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",quad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",quart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",quint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",sine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)"};function Hj(s){return tZ[s.toLowerCase().trim()]}var nZ={back:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",circ:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",cubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",expo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",quad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",quart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",quint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",sine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function Qj(s){return nZ[s.toLowerCase().trim()]}var rZ={back:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",cubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",circ:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",expo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",quad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",quart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",quint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",sine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};function Wj(s){return rZ[s.toLowerCase().trim()]}function yF(s,e,t,n){t===void 0&&(t="320px"),n===void 0&&(n="1200px");var i=im(s),a=i[0],o=i[1],u=im(e),c=u[0],d=u[1],g=im(t),v=g[0],M=g[1],B=im(n),I=B[0],ne=B[1];if(typeof v!="number"||typeof I!="number"||!M||!ne||M!==ne)throw new ro(47);if(typeof a!="number"||typeof c!="number"||o!==d)throw new ro(48);if(o!==M||d!==ne)throw new ro(76);var ee=(a-c)/(v-I),q=c-ee*I;return"calc("+q.toFixed(2)+(o||"")+" + "+(100*ee).toFixed(2)+"vw)"}function Zj(s){var e;s===void 0&&(s="&");var t=s+"::after";return e={},e[t]={clear:"both",content:'""',display:"table"},e}function Kj(s){return s===void 0&&(s=0),{position:"absolute",top:s,right:s,bottom:s,left:s}}function $j(s,e){e===void 0&&(e=1);var t={display:"inline-block",maxWidth:s||"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordWrap:"normal"};return e>1?_extends({},t,{WebkitBoxOrient:"vertical",WebkitLineClamp:e,display:"-webkit-box",whiteSpace:"normal"}):t}function iZ(s,e){var t=typeof Symbol!="undefined"&&s[Symbol.iterator]||s["@@iterator"];if(t)return(t=t.call(s)).next.bind(t);if(Array.isArray(s)||(t=sZ(s))||e&&s&&typeof s.length=="number"){t&&(s=t);var n=0;return function(){return n>=s.length?{done:!0}:{done:!1,value:s[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sZ(s,e){if(s){if(typeof s=="string")return xF(s,e);var t=Object.prototype.toString.call(s).slice(8,-1);if(t==="Object"&&s.constructor&&(t=s.constructor.name),t==="Map"||t==="Set")return Array.from(s);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return xF(s,e)}}function xF(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=new Array(e);t1?t-1:0),i=1;i1?(e=e.slice(0,-1),e+=", "+n[a]):o.length===1&&(e+=""+n[a])}else n[a]&&(e+=n[a]+" ");return e.trim()}var wF;function Jj(s){var e=s.colorStops,t=s.fallback,n=s.toDirection,i=n===void 0?"":n;if(!e||e.length<2)throw new ro(56);return{backgroundColor:t||e[0].replace(/,\s+/g,",").split(" ")[0].replace(/,(?=\S)/g,", "),backgroundImage:_F(wF||(wF=_taggedTemplateLiteralLoose(["linear-gradient(","",")"])),i,e.join(", ").replace(/,(?=\S)/g,", "))}}function eY(){var s;return[(s={html:{lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:"0"},main:{display:"block"},h1:{fontSize:"2em",margin:"0.67em 0"},hr:{boxSizing:"content-box",height:"0",overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{backgroundColor:"transparent"},"abbr[title]":{borderBottom:"none",textDecoration:"underline"}},s[`b, - strong`]={fontWeight:"bolder"},s[`code, - kbd, - samp`]={fontFamily:"monospace, monospace",fontSize:"1em"},s.small={fontSize:"80%"},s[`sub, - sup`]={fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},s.sub={bottom:"-0.25em"},s.sup={top:"-0.5em"},s.img={borderStyle:"none"},s[`button, - input, - optgroup, - select, - textarea`]={fontFamily:"inherit",fontSize:"100%",lineHeight:"1.15",margin:"0"},s[`button, - input`]={overflow:"visible"},s[`button, - select`]={textTransform:"none"},s[`button, - html [type="button"], - [type="reset"], - [type="submit"]`]={WebkitAppearance:"button"},s[`button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner`]={borderStyle:"none",padding:"0"},s[`button:-moz-focusring, - [type="button"]:-moz-focusring, - [type="reset"]:-moz-focusring, - [type="submit"]:-moz-focusring`]={outline:"1px dotted ButtonText"},s.fieldset={padding:"0.35em 0.625em 0.75em"},s.legend={boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:"0",whiteSpace:"normal"},s.progress={verticalAlign:"baseline"},s.textarea={overflow:"auto"},s[`[type="checkbox"], - [type="radio"]`]={boxSizing:"border-box",padding:"0"},s[`[type="number"]::-webkit-inner-spin-button, - [type="number"]::-webkit-outer-spin-button`]={height:"auto"},s['[type="search"]']={WebkitAppearance:"textfield",outlineOffset:"-2px"},s['[type="search"]::-webkit-search-decoration']={WebkitAppearance:"none"},s["::-webkit-file-upload-button"]={WebkitAppearance:"button",font:"inherit"},s.details={display:"block"},s.summary={display:"list-item"},s.template={display:"none"},s["[hidden]"]={display:"none"},s),{"abbr[title]":{textDecoration:"underline dotted"}}]}var SF;function tY(s){var e=s.colorStops,t=s.extent,n=t===void 0?"":t,i=s.fallback,a=s.position,o=a===void 0?"":a,u=s.shape,c=u===void 0?"":u;if(!e||e.length<2)throw new ro(57);return{backgroundColor:i||e[0].split(" ")[0],backgroundImage:_F(SF||(SF=_taggedTemplateLiteralLoose(["radial-gradient(","","","",")"])),o,c,n,e.join(", "))}}function nY(s,e,t,n,i){var a;if(t===void 0&&(t="png"),i===void 0&&(i="_2x"),!s)throw new ro(58);var o=t.replace(/^\./,""),u=n?n+"."+o:""+s+i+"."+o;return a={backgroundImage:"url("+s+"."+o+")"},a[dZ()]=_extends({backgroundImage:"url("+u+")"},e?{backgroundSize:e}:{}),a}var fZ={easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeInCirc:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",easeInCubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",easeInExpo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",easeInQuad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",easeInQuart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",easeInQuint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",easeInSine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)",easeOutBack:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",easeOutCubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",easeOutCirc:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",easeOutExpo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",easeOutQuad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",easeOutQuart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",easeOutQuint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",easeOutSine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",easeInOutCirc:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",easeInOutCubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",easeInOutExpo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",easeInOutQuad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",easeInOutQuart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",easeInOutQuint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",easeInOutSine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function AZ(s){return fZ[s]}function rY(s){return AZ(s)}var pZ=function(e,t,n){var i=""+n[0]+(n[1]||""),a=""+n[0]/2+(n[1]||""),o=""+t[0]+(t[1]||""),u=""+t[0]/2+(t[1]||"");switch(e){case"top":return"0 "+a+" "+o+" "+a;case"topLeft":return i+" "+o+" 0 0";case"left":return u+" "+i+" "+u+" 0";case"bottomLeft":return i+" 0 0 "+o;case"bottom":return o+" "+a+" 0 "+a;case"bottomRight":return"0 0 "+i+" "+o;case"right":return u+" 0 "+u+" "+i;case"topRight":default:return"0 "+i+" "+o+" 0"}},gZ=function(e,t){switch(e){case"top":case"bottomRight":return{borderBottomColor:t};case"right":case"bottomLeft":return{borderLeftColor:t};case"bottom":case"topLeft":return{borderTopColor:t};case"left":case"topRight":return{borderRightColor:t};default:throw new ro(59)}};function iY(s){var e=s.pointingDirection,t=s.height,n=s.width,i=s.foregroundColor,a=s.backgroundColor,o=a===void 0?"transparent":a,u=im(n),c=im(t);if(isNaN(c[0])||isNaN(u[0]))throw new ro(60);return _extends({width:"0",height:"0",borderColor:o},gZ(e,i),{borderStyle:"solid",borderWidth:pZ(e,c,u)})}function sY(s){s===void 0&&(s="break-word");var e=s==="break-word"?"break-all":s;return{overflowWrap:s,wordWrap:s,wordBreak:e}}function sE(s){return Math.round(s*255)}function mZ(s,e,t){return sE(s)+","+sE(e)+","+sE(t)}function vx(s,e,t,n){if(n===void 0&&(n=mZ),e===0)return n(t,t,t);var i=(s%360+360)%360/60,a=(1-Math.abs(2*t-1))*e,o=a*(1-Math.abs(i%2-1)),u=0,c=0,d=0;i>=0&&i<1?(u=a,c=o):i>=1&&i<2?(u=o,c=a):i>=2&&i<3?(c=a,d=o):i>=3&&i<4?(c=o,d=a):i>=4&&i<5?(u=o,d=a):i>=5&&i<6&&(u=a,d=o);var g=t-a/2,v=u+g,M=c+g,B=d+g;return n(v,M,B)}var MF={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function vZ(s){if(typeof s!="string")return s;var e=s.toLowerCase();return MF[e]?"#"+MF[e]:s}var yZ=/^#[a-fA-F0-9]{6}$/,xZ=/^#[a-fA-F0-9]{8}$/,bZ=/^#[a-fA-F0-9]{3}$/,_Z=/^#[a-fA-F0-9]{4}$/,aE=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,wZ=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,SZ=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,MZ=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function sm(s){if(typeof s!="string")throw new ro(3);var e=vZ(s);if(e.match(yZ))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(xZ)){var t=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alpha:t}}if(e.match(bZ))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(_Z)){var n=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:n}}var i=aE.exec(e);if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10)};var a=wZ.exec(e.substring(0,50));if(a)return{red:parseInt(""+a[1],10),green:parseInt(""+a[2],10),blue:parseInt(""+a[3],10),alpha:parseFloat(""+a[4])>1?parseFloat(""+a[4])/100:parseFloat(""+a[4])};var o=SZ.exec(e);if(o){var u=parseInt(""+o[1],10),c=parseInt(""+o[2],10)/100,d=parseInt(""+o[3],10)/100,g="rgb("+vx(u,c,d)+")",v=aE.exec(g);if(!v)throw new ro(4,e,g);return{red:parseInt(""+v[1],10),green:parseInt(""+v[2],10),blue:parseInt(""+v[3],10)}}var M=MZ.exec(e.substring(0,50));if(M){var B=parseInt(""+M[1],10),I=parseInt(""+M[2],10)/100,ne=parseInt(""+M[3],10)/100,ee="rgb("+vx(B,I,ne)+")",q=aE.exec(ee);if(!q)throw new ro(4,e,ee);return{red:parseInt(""+q[1],10),green:parseInt(""+q[2],10),blue:parseInt(""+q[3],10),alpha:parseFloat(""+M[4])>1?parseFloat(""+M[4])/100:parseFloat(""+M[4])}}throw new ro(5)}function EZ(s){var e=s.red/255,t=s.green/255,n=s.blue/255,i=Math.max(e,t,n),a=Math.min(e,t,n),o=(i+a)/2;if(i===a)return s.alpha!==void 0?{hue:0,saturation:0,lightness:o,alpha:s.alpha}:{hue:0,saturation:0,lightness:o};var u,c=i-a,d=o>.5?c/(2-i-a):c/(i+a);switch(i){case e:u=(t-n)/c+(t=1?H_(s,e,t):"rgba("+vx(s,e,t)+","+n+")";if(typeof s=="object"&&e===void 0&&t===void 0&&n===void 0)return s.alpha>=1?H_(s.hue,s.saturation,s.lightness):"rgba("+vx(s.hue,s.saturation,s.lightness)+","+s.alpha+")";throw new ro(2)}function Q_(s,e,t){if(typeof s=="number"&&typeof e=="number"&&typeof t=="number")return oE("#"+N0(s)+N0(e)+N0(t));if(typeof s=="object"&&e===void 0&&t===void 0)return oE("#"+N0(s.red)+N0(s.green)+N0(s.blue));throw new ro(6)}function yx(s,e,t,n){if(typeof s=="string"&&typeof e=="number"){var i=sm(s);return"rgba("+i.red+","+i.green+","+i.blue+","+e+")"}else{if(typeof s=="number"&&typeof e=="number"&&typeof t=="number"&&typeof n=="number")return n>=1?Q_(s,e,t):"rgba("+s+","+e+","+t+","+n+")";if(typeof s=="object"&&e===void 0&&t===void 0&&n===void 0)return s.alpha>=1?Q_(s.red,s.green,s.blue):"rgba("+s.red+","+s.green+","+s.blue+","+s.alpha+")"}throw new ro(7)}var BZ=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha=="undefined")},RZ=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},IZ=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha=="undefined")},NZ=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function Tp(s){if(typeof s!="object")throw new ro(8);if(RZ(s))return yx(s);if(BZ(s))return Q_(s);if(NZ(s))return CF(s);if(IZ(s))return EF(s);throw new ro(8)}function TF(s,e,t){return function(){var i=t.concat(Array.prototype.slice.call(arguments));return i.length>=e?s.apply(this,i):TF(s,e,i)}}function yA(s){return TF(s,s.length,[])}function FZ(s,e){if(e==="transparent")return e;var t=vg(e);return Tp((0,ep.Z)({},t,{hue:t.hue+parseFloat(s)}))}var aY=yA(FZ),oY=null;function lY(s){if(s==="transparent")return s;var e=vg(s);return Tp(_extends({},e,{hue:(e.hue+180)%360}))}function Gv(s,e,t){return Math.max(s,Math.min(e,t))}function PZ(s,e){if(e==="transparent")return e;var t=vg(e);return Tp((0,ep.Z)({},t,{lightness:Gv(0,1,t.lightness-parseFloat(s))}))}var uY=yA(PZ),cY=null;function LZ(s,e){if(e==="transparent")return e;var t=vg(e);return Tp((0,ep.Z)({},t,{saturation:Gv(0,1,t.saturation-parseFloat(s))}))}var hY=yA(LZ),dY=null;function uE(s){if(s==="transparent")return 0;var e=sm(s),t=Object.keys(e).map(function(o){var u=e[o]/255;return u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4)}),n=t[0],i=t[1],a=t[2];return parseFloat((.2126*n+.7152*i+.0722*a).toFixed(3))}function BF(s,e){var t=uE(s),n=uE(e);return parseFloat((t>n?(t+.05)/(n+.05):(n+.05)/(t+.05)).toFixed(2))}function fY(s){return s==="transparent"?s:Tp(_extends({},vg(s),{saturation:0}))}function AY(s){if(typeof s=="object"&&typeof s.hue=="number"&&typeof s.saturation=="number"&&typeof s.lightness=="number")return s.alpha&&typeof s.alpha=="number"?CF({hue:s.hue,saturation:s.saturation,lightness:s.lightness,alpha:s.alpha}):EF({hue:s.hue,saturation:s.saturation,lightness:s.lightness});throw new ro(45)}function pY(s){if(s==="transparent")return s;var e=sm(s);return Tp(_extends({},e,{red:255-e.red,green:255-e.green,blue:255-e.blue}))}function UZ(s,e){if(e==="transparent")return e;var t=vg(e);return Tp((0,ep.Z)({},t,{lightness:Gv(0,1,t.lightness+parseFloat(s))}))}var gY=yA(UZ),mY=null;function vY(s,e){var t=BF(s,e);return{AA:t>=4.5,AALarge:t>=3,AAA:t>=7,AAALarge:t>=4.5}}function OZ(s,e,t){if(e==="transparent")return t;if(t==="transparent")return e;if(s===0)return t;var n=sm(e),i=(0,ep.Z)({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),a=sm(t),o=(0,ep.Z)({},a,{alpha:typeof a.alpha=="number"?a.alpha:1}),u=i.alpha-o.alpha,c=parseFloat(s)*2-1,d=c*u===-1?c:c+u,g=1+c*u,v=(d/g+1)/2,M=1-v,B={red:Math.floor(i.red*v+o.red*M),green:Math.floor(i.green*v+o.green*M),blue:Math.floor(i.blue*v+o.blue*M),alpha:i.alpha*parseFloat(s)+o.alpha*(1-parseFloat(s))};return yx(B)}var DZ=yA(OZ),RF=DZ;function kZ(s,e){if(e==="transparent")return e;var t=sm(e),n=typeof t.alpha=="number"?t.alpha:1,i=(0,ep.Z)({},t,{alpha:Gv(0,1,(n*100+parseFloat(s)*100)/100)});return yx(i)}var VZ=yA(kZ),zZ=VZ,IF="#000",NF="#fff";function yY(s,e,t,n){e===void 0&&(e=IF),t===void 0&&(t=NF),n===void 0&&(n=!0);var i=uE(s)>.179,a=i?e:t;return!n||BF(s,a)>=4.5?a:i?IF:NF}function xY(s){if(typeof s=="object"&&typeof s.red=="number"&&typeof s.green=="number"&&typeof s.blue=="number")return typeof s.alpha=="number"?yx({red:s.red,green:s.green,blue:s.blue,alpha:s.alpha}):Q_({red:s.red,green:s.green,blue:s.blue});throw new ro(46)}function GZ(s,e){if(e==="transparent")return e;var t=vg(e);return Tp((0,ep.Z)({},t,{saturation:Gv(0,1,t.saturation+parseFloat(s))}))}var bY=yA(GZ),_Y=null;function HZ(s,e){return e==="transparent"?e:Tp((0,ep.Z)({},vg(e),{hue:parseFloat(s)}))}var wY=yA(HZ),SY=null;function QZ(s,e){return e==="transparent"?e:Tp((0,ep.Z)({},vg(e),{lightness:parseFloat(s)}))}var MY=yA(QZ),EY=null;function WZ(s,e){return e==="transparent"?e:Tp((0,ep.Z)({},vg(e),{saturation:parseFloat(s)}))}var CY=yA(WZ),TY=null;function ZZ(s,e){return e==="transparent"?e:RF(parseFloat(s),"rgb(0, 0, 0)",e)}var BY=yA(ZZ),RY=null;function KZ(s,e){return e==="transparent"?e:RF(parseFloat(s),"rgb(255, 255, 255)",e)}var IY=yA(KZ),NY=null;function $Z(s,e){if(e==="transparent")return e;var t=sm(e),n=typeof t.alpha=="number"?t.alpha:1,i=(0,ep.Z)({},t,{alpha:Gv(0,1,+(n*100-parseFloat(s)*100).toFixed(2)/100)});return yx(i)}var FY=yA($Z),PY=null;function LY(){for(var s=arguments.length,e=new Array(s),t=0;t8)throw new ro(64);var i=e.map(function(a){if(n&&!Array.isArray(a)||!n&&Array.isArray(a))throw new ro(65);if(Array.isArray(a)&&a.length>8)throw new ro(66);return Array.isArray(a)?a.join(" "):a}).join(", ");return{animation:i}}function UY(){for(var s=arguments.length,e=new Array(s),t=0;t1?e-1:0),n=1;n=0){var i;return i={},i["border"+mx(s)+"Width"]=t[0],i["border"+mx(s)+"Style"]=t[1],i["border"+mx(s)+"Color"]=t[2],i}else return t.unshift(s),{borderWidth:t[0],borderStyle:t[1],borderColor:t[2]}}function kY(){for(var s=arguments.length,e=new Array(s),t=0;t1?e-1:0),n=1;n=0&&s?_extends({},I0.apply(void 0,[""].concat(t)),{position:s}):I0.apply(void 0,["",s].concat(t))}function KY(s,e){return e===void 0&&(e=s),{height:s,width:e}}var JZ=null;function e7(s){return'input[type="color"]'+s+`, - input[type="date"]`+s+`, - input[type="datetime"]`+s+`, - input[type="datetime-local"]`+s+`, - input[type="email"]`+s+`, - input[type="month"]`+s+`, - input[type="number"]`+s+`, - input[type="password"]`+s+`, - input[type="search"]`+s+`, - input[type="tel"]`+s+`, - input[type="text"]`+s+`, - input[type="time"]`+s+`, - input[type="url"]`+s+`, - input[type="week"]`+s+`, - input:not([type])`+s+`, - textarea`+s}function $Y(){for(var s=arguments.length,e=new Array(s),t=0;t1e4?1e4:s,{In:function(e){return Math.pow(e,s)},Out:function(e){return 1-Math.pow(1-e,s)},InOut:function(e){return e<.5?Math.pow(e*2,s)/2:(1-Math.pow(2-e*2,s))/2+.5}}}}),Hv=function(){return performance.now()},cE=function(){function s(){for(var e=[],t=0;t0;){this._tweensAddedDuringUpdate={};for(var i=0;i1?a(s[t],s[t-1],t-n):a(s[i],s[i+1>t?t:i+1],n-i)},Bezier:function(s,e){for(var t=0,n=s.length-1,i=Math.pow,a=F0.Utils.Bernstein,o=0;o<=n;o++)t+=i(1-e,n-o)*i(e,o)*s[o]*a(n,o);return t},CatmullRom:function(s,e){var t=s.length-1,n=t*e,i=Math.floor(n),a=F0.Utils.CatmullRom;return s[0]===s[t]?(e<0&&(i=Math.floor(n=t*(1+e))),a(s[(i-1+t)%t],s[i],s[(i+1)%t],s[(i+2)%t],n-i)):e<0?s[0]-(a(s[0],s[0],s[1],s[1],-n)-s[0]):e>1?s[t]-(a(s[t],s[t],s[t-1],s[t-1],n-t)-s[t]):a(s[i?i-1:0],s[i],s[t1;n--)t*=n;return s[e]=t,t}}(),CatmullRom:function(s,e,t,n,i){var a=(t-s)*.5,o=(n-e)*.5,u=i*i,c=i*u;return(2*e-2*t+a+o)*c+(-3*e+3*t-2*a-o)*u+a*i+e}}},hE=function(){function s(){}return s.nextId=function(){return s._nextId++},s._nextId=0,s}(),dE=new cE,fE=function(){function s(e,t){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Zm.Linear.None,this._interpolationFunction=F0.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=hE.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=e,typeof t=="object"?(this._group=t,t.add(this)):t===!0&&(this._group=dE,dE.add(this))}return s.prototype.getId=function(){return this._id},s.prototype.isPlaying=function(){return this._isPlaying},s.prototype.isPaused=function(){return this._isPaused},s.prototype.getDuration=function(){return this._duration},s.prototype.to=function(e,t){if(t===void 0&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=t<0?0:t,this},s.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e<0?0:e,this},s.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},s.prototype.start=function(e,t){if(e===void 0&&(e=Hv()),t===void 0&&(t=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var i={};for(var a in this._valuesEnd)i[a]=this._valuesEnd[a];this._valuesEnd=i}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},s.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},s.prototype._setupProperties=function(e,t,n,i,a){for(var o in n){var u=e[o],c=Array.isArray(u),d=c?"array":typeof u,g=!c&&Array.isArray(n[o]);if(!(d==="undefined"||d==="function")){if(g){var v=n[o];if(v.length===0)continue;for(var M=[u],B=0,I=v.length;Bc)return 1;var ne=Math.trunc(o/u),ee=o-ne*u,q=Math.min(ee/n._duration,1);return q===0&&o===n._duration?1:q},g=d(),v=this._easingFunction(g);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,v),this._onUpdateCallback&&this._onUpdateCallback(this._object,g),this._duration===0||o>=this._duration)if(this._repeat>0){var M=Math.min(Math.trunc((o-this._duration)/u)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=M);for(a in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[a]=="string"&&(this._valuesStartRepeat[a]=this._valuesStartRepeat[a]+parseFloat(this._valuesEnd[a])),this._yoyo&&this._swapEndStartRepeatValues(a),this._valuesStart[a]=this._valuesStartRepeat[a];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=u*M,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var B=0,I=this._chainedTweens.length;B=Ce&&(Ce=ye+1);!(nt=ee[Ce])&&++Ce=0;)(o=n[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function U7(s){s||(s=O7);function e(v,M){return v&&M?s(v.__data__,M.__data__):!v-!M}for(var t=this._groups,n=t.length,i=new Array(n),a=0;ae?1:s>=e?0:NaN}function D7(){var s=arguments[0];return arguments[0]=this,s.apply(null,arguments),this}function k7(){return Array.from(this)}function V7(){for(var s=this._groups,e=0,t=s.length;e=0&&(e=s.slice(0,t))!=="xmlns"&&(s=s.slice(t+1)),DF.hasOwnProperty(e)?{space:DF[e],local:s}:s}function Q7(s){return function(){this.removeAttribute(s)}}function W7(s){return function(){this.removeAttributeNS(s.space,s.local)}}function Z7(s,e){return function(){this.setAttribute(s,e)}}function K7(s,e){return function(){this.setAttributeNS(s.space,s.local,e)}}function $7(s,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttribute(s):this.setAttribute(s,t)}}function X7(s,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttributeNS(s.space,s.local):this.setAttributeNS(s.space,s.local,t)}}function j7(s,e){var t=kF(s);if(arguments.length<2){var n=this.node();return t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}return this.each((e==null?t.local?W7:Q7:typeof e=="function"?t.local?X7:$7:t.local?K7:Z7)(t,e))}function VF(s){return s.ownerDocument&&s.ownerDocument.defaultView||s.document&&s||s.defaultView}function Y7(s){return function(){this.style.removeProperty(s)}}function q7(s,e,t){return function(){this.style.setProperty(s,e,t)}}function J7(s,e,t){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(s):this.style.setProperty(s,n,t)}}function eK(s,e,t){return arguments.length>1?this.each((e==null?Y7:typeof e=="function"?J7:q7)(s,e,t==null?"":t)):tK(this.node(),s)}function tK(s,e){return s.style.getPropertyValue(e)||VF(s).getComputedStyle(s,null).getPropertyValue(e)}function nK(s){return function(){delete this[s]}}function rK(s,e){return function(){this[s]=e}}function iK(s,e){return function(){var t=e.apply(this,arguments);t==null?delete this[s]:this[s]=t}}function sK(s,e){return arguments.length>1?this.each((e==null?nK:typeof e=="function"?iK:rK)(s,e)):this.node()[s]}function zF(s){return s.trim().split(/^|\s+/)}function pE(s){return s.classList||new GF(s)}function GF(s){this._node=s,this._names=zF(s.getAttribute("class")||"")}GF.prototype={add:function(s){var e=this._names.indexOf(s);e<0&&(this._names.push(s),this._node.setAttribute("class",this._names.join(" ")))},remove:function(s){var e=this._names.indexOf(s);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(s){return this._names.indexOf(s)>=0}};function HF(s,e){for(var t=pE(s),n=-1,i=e.length;++n=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function LK(s){return function(){var e=this.__on;if(e){for(var t=0,n=-1,i=e.length,a;t2&&(o.children=arguments.length>3?xx.call(arguments,2):t),typeof s=="function"&&s.defaultProps!=null)for(a in s.defaultProps)o[a]===void 0&&(o[a]=s.defaultProps[a]);return wx(s,o,n,i,null)}function wx(s,e,t,n,i){var a={type:s,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i==null?++$F:i,__i:-1,__u:0};return i==null&&xc.vnode!=null&&xc.vnode(a),a}function qY(){return{current:null}}function Z_(s){return s.children}function K_(s,e){this.props=s,this.context=e}function Qv(s,e){if(e==null)return s.__?Qv(s.__,s.__i+1):null;for(var t;eu&&P0.sort(qF),s=P0.shift(),u=P0.length,s.__d&&(t=void 0,n=void 0,i=(n=(e=s).__v).__e,a=[],o=[],e.__P&&((t=xg({},n)).__v=n.__v+1,xc.vnode&&xc.vnode(t),bE(e.__P,t,n,e.__n,e.__P.namespaceURI,32&n.__u?[i]:null,a,i==null?Qv(n):i,!!(32&n.__u),o),t.__v=n.__v,t.__.__k[t.__i]=t,oP(a,t,o),n.__e=n.__=null,t.__e!=i&&nP(t)));$_.__r=0}function rP(s,e,t,n,i,a,o,u,c,d,g){var v,M,B,I,ne,ee,q,ye=n&&n.__k||tP,Ce=e.length;for(c=XK(t,e,ye,c,Ce),v=0;v0?o=s.__k[a]=wx(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):s.__k[a]=o,c=a+M,o.__=s,o.__b=s.__b+1,u=null,(d=o.__i=YK(o,t,c,v))!=-1&&(v--,(u=t[d])&&(u.__u|=2)),u==null||u.__v==null?(d==-1&&(i>g?M--:ic?M--:M++,o.__u|=4))):s.__k[a]=null;if(v)for(a=0;a(g?1:0)){for(i=t-1,a=t+1;i>=0||a=0?i--:a++])!=null&&!(2&d.__u)&&u==d.key&&c==d.type)return o}return-1}function sP(s,e,t){e[0]=="-"?s.setProperty(e,t==null?"":t):s[e]=t==null?"":typeof t!="number"||KK.test(e)?t:t+"px"}function X_(s,e,t,n,i){var a,o;e:if(e=="style")if(typeof t=="string")s.style.cssText=t;else{if(typeof n=="string"&&(s.style.cssText=n=""),n)for(e in n)t&&e in t||sP(s.style,e,"");if(t)for(e in t)n&&t[e]==n[e]||sP(s.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")a=e!=(e=e.replace(JF,"$1")),o=e.toLowerCase(),e=o in s||e=="onFocusOut"||e=="onFocusIn"?o.slice(2):e.slice(2),s.l||(s.l={}),s.l[e+a]=t,t?n?t.u=n.u:(t.u=gE,s.addEventListener(e,a?vE:mE,a)):s.removeEventListener(e,a?vE:mE,a);else{if(i=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in s)try{s[e]=t==null?"":t;break e}catch(u){}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?s.removeAttribute(e):s.setAttribute(e,e=="popover"&&t==1?"":t))}}function aP(s){return function(e){if(this.l){var t=this.l[e.type+s];if(e.t==null)e.t=gE++;else if(e.t0?s:_x(s)?s.map(lP):xg({},s)}function qK(s,e,t,n,i,a,o,u,c){var d,g,v,M,B,I,ne,ee=t.props||bx,q=e.props,ye=e.type;if(ye=="svg"?i="http://www.w3.org/2000/svg":ye=="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),a!=null){for(d=0;d2&&(u.children=arguments.length>3?xx.call(arguments,2):t),wx(s.type,u,n||s.key,i||s.ref,null)}function JY(s){function e(t){var n,i;return this.getChildContext||(n=new Set,(i={})[e.__c]=this,this.getChildContext=function(){return i},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(a){this.props.value!=a.value&&n.forEach(function(o){o.__e=!0,xE(o)})},this.sub=function(a){n.add(a);var o=a.componentWillUnmount;a.componentWillUnmount=function(){n&&n.delete(a),o&&o.call(a)}}),t.children}return e.__c="__cC"+eP++,e.__=s,e.Provider=e.__l=(e.Consumer=function(t,n){return t.children(n)}).contextType=e,e}xx=tP.slice,xc={__e:function(s,e,t,n){for(var i,a,o;e=e.__;)if((i=e.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(s)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(s,n||{}),o=i.__d),o)return i.__E=i}catch(u){s=u}throw s}},$F=0,XF=function(s){return s!=null&&s.constructor===void 0},K_.prototype.setState=function(s,e){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=xg({},this.state),typeof s=="function"&&(s=s(xg({},t),this.props)),s&&xg(t,s),s!=null&&this.__v&&(e&&this._sb.push(e),xE(this))},K_.prototype.forceUpdate=function(s){this.__v&&(this.__e=!0,s&&this.__h.push(s),xE(this))},K_.prototype.render=Z_,P0=[],YF=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,qF=function(s,e){return s.__v.__b-e.__v.__b},$_.__r=0,JF=/(PointerCapture)$|Capture$/i,gE=0,mE=aP(!1),vE=aP(!0),eP=0;function dP(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=Array(e);t2&&arguments[2]!==void 0?arguments[2]:{},i=n.style,a=i===void 0?{}:i,o=!!e&&j_(e)==="object"&&!!e.node&&typeof e.node=="function",u=QK(o?e.node():e);u.style("position")==="static"&&u.style("position","relative"),t.tooltipEl=u.append("div").attr("class","float-tooltip-kap"),Object.entries(a).forEach(function(d){var g=a$(d,2),v=g[0],M=g[1];return t.tooltipEl.style(v,M)}),t.tooltipEl.style("left","-10000px").style("display","none");var c="tooltip-".concat(Math.round(Math.random()*1e12));t.mouseInside=!1,u.on("mousemove.".concat(c),function(d){t.mouseInside=!0;var g=ZK(d),v=u.node(),M=v.offsetWidth,B=v.offsetHeight,I=[t.offsetX===null||t.offsetX===void 0?"-".concat(g[0]/M*100,"%"):typeof t.offsetX=="number"?"calc(-50% + ".concat(t.offsetX,"px)"):t.offsetX,t.offsetY===null||t.offsetY===void 0?B>130&&B-g[1]<100?"calc(-100% - 6px)":"21px":typeof t.offsetY=="number"?t.offsetY<0?"calc(-100% - ".concat(Math.abs(t.offsetY),"px)"):"".concat(t.offsetY,"px"):t.offsetY];t.tooltipEl.style("left",g[0]+"px").style("top",g[1]+"px").style("transform","translate(".concat(I.join(","),")")),t.content&&t.tooltipEl.style("display","inline")}),u.on("mouseover.".concat(c),function(){t.mouseInside=!0,t.content&&t.tooltipEl.style("display","inline")}),u.on("mouseout.".concat(c),function(){t.mouseInside=!1,t.tooltipEl.style("display","none")})},update:function(e){e.tooltipEl.style("display",e.content&&e.mouseInside?"inline":"none"),e.content?e.content instanceof HTMLElement?(e.tooltipEl.text(""),e.tooltipEl.append(function(){return e.content})):typeof e.content=="string"?e.tooltipEl.html(e.content):c$(e.content)?(e.tooltipEl.text(""),h$(e.content,e.tooltipEl.node())):(e.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",e.content,e.content.toString())):e.tooltipEl.text("")}});function p$(s,e){e===void 0&&(e={});var t=e.insertAt;if(typeof document!="undefined"){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",t==="top"&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=s:i.appendChild(document.createTextNode(s))}}var g$=`.scene-nav-info { - position: absolute; - bottom: 5px; - width: 100%; - text-align: center; - color: slategrey; - opacity: 0.7; - font-size: 10px; - font-family: sans-serif; - pointer-events: none; - user-select: none; -} - -.scene-container canvas:focus { - outline: none; -}`;p$(g$);function ME(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=Array(e);t=e.pointerRaycasterThrottleMs){e.lastRaycasterCheck=t;var n=null;if(e.hoverDuringDrag||!e.isPointerDragging){var i=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y);e.hoverOrderComparator&&i.sort(function(o,u){return e.hoverOrderComparator(o.object,u.object)});var a=i.find(function(o){return e.hoverFilter(o.object)})||null;n=a?a.object:null,e.intersection=a||null}n!==e.hoverObj&&(e.onHover(n,e.hoverObj,e.intersection),e.tooltip.content(n&&ul(e.tooltipContent)(n,e.intersection)||null),e.hoverObj=n)}e.tweenGroup.update()}return this},getPointerPos:function(e){var t=e.pointerPos,n=t.x,i=t.y;return{x:n,y:i}},cameraPosition:function(e,t,n,i){var a=e.camera;if(t&&e.initialised){var o=t,u=n||{x:0,y:0,z:0};if(!i)g(o),v(u);else{var c=Object.assign({},a.position),d=M();e.tweenGroup.add(new fE(c).to(o,i).easing(Zm.Quadratic.Out).onUpdate(g).start()),e.tweenGroup.add(new fE(d).to(u,i/3).easing(Zm.Quadratic.Out).onUpdate(v).start())}return this}return Object.assign({},a.position,{lookAt:M()});function g(B){var I=B.x,ne=B.y,ee=B.z;I!==void 0&&(a.position.x=I),ne!==void 0&&(a.position.y=ne),ee!==void 0&&(a.position.z=ee)}function v(B){var I=new bc.Vector3(B.x,B.y,B.z);e.controls.enabled&&e.controls.target?e.controls.target=I:a.lookAt(I)}function M(){return Object.assign(new bc.Vector3(0,0,-1e3).applyQuaternion(a.quaternion).add(a.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,i=arguments.length,a=new Array(i>3?i-3:0),o=3;o2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,a=e.camera;if(t){var o=new bc.Vector3(0,0,0),u=Math.max.apply(Math,L0(Object.entries(t).map(function(B){var I=S$(B,2),ne=I[0],ee=I[1];return Math.max.apply(Math,L0(ee.map(function(q){return Math.abs(o[ne]-q)})))})))*2,c=(1-i*2/e.height)*a.fov,d=u/Math.atan(c*Math.PI/180),g=d/a.aspect,v=Math.max(d,g);if(v>0){var M=o.clone().sub(a.position).normalize().multiplyScalar(-v);this.cameraPosition(M,o,n)}}return this},getBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},n=new bc.Box3(new bc.Vector3(0,0,0),new bc.Vector3(0,0,0)),i=e.objects.filter(t);return i.length?(i.forEach(function(a){return n.expandByObject(a)}),Object.assign.apply(Object,L0(["x","y","z"].map(function(a){return y$({},a,[n.min[a],n.max[a]])})))):null},getScreenCoords:function(e,t,n,i){var a=new bc.Vector3(t,n,i);return a.project(this.camera()),{x:(a.x+1)*e.width/2,y:-(a.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=new bc.Vector2(t/e.width*2-1,-(n/e.height)*2+1),o=new bc.Raycaster;return o.setFromCamera(a,e.camera),Object.assign({},o.ray.at(i,new bc.Vector3))},intersectingObjects:function(e,t,n){var i=new bc.Vector2(t/e.width*2-1,-(n/e.height)*2+1),a=new bc.Raycaster;return a.params.Line.threshold=e.lineHoverPrecision,a.params.Points.threshold=e.pointsHoverPrecision,a.setFromCamera(i,e.camera),a.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new bc.Scene,camera:new bc.PerspectiveCamera,clock:new bc.Clock,tweenGroup:new cE,lastRaycasterCheck:0}},init:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=n.controlType,a=i===void 0?"trackball":i,o=n.useWebGPU,u=o===void 0?!1:o,c=n.rendererConfig,d=c===void 0?{}:c,g=n.extraRenderers,v=g===void 0?[]:g,M=n.waitForLoadComplete,B=M===void 0?!0:M;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[a]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.tooltip=new A$(t.container),t.pointerPos=new bc.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(I){return t.container.addEventListener(I,function(ne){if(I==="pointerdown"&&(t.isPointerPressed=!0),!t.isPointerDragging&&ne.type==="pointermove"&&(ne.pressure>0||t.isPointerPressed)&&(ne.pointerType==="mouse"||ne.movementX===void 0||[ne.movementX,ne.movementY].some(function(ye){return Math.abs(ye)>1}))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var ee=q(t.container);t.pointerPos.x=ne.pageX-ee.left,t.pointerPos.y=ne.pageY-ee.top}function q(ye){var Ce=ye.getBoundingClientRect(),ke=window.pageXOffset||document.documentElement.scrollLeft,nt=window.pageYOffset||document.documentElement.scrollTop;return{top:Ce.top+nt,left:Ce.left+ke}}},{passive:!0})}),t.container.addEventListener("pointerup",function(I){t.isPointerPressed&&(t.isPointerPressed=!1,!(t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag))&&requestAnimationFrame(function(){I.button===0&&t.onClick(t.hoverObj||null,I,t.intersection),I.button===2&&t.onRightClick&&t.onRightClick(t.hoverObj||null,I,t.intersection)}))},{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",function(I){t.onRightClick&&I.preventDefault()}),t.renderer=new(u?NW:bc.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},d)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=v,t.extraRenderers.forEach(function(I){I.domElement.style.position="absolute",I.domElement.style.top="0px",I.domElement.style.pointerEvents="none",t.container.appendChild(I.domElement)}),t.postProcessingComposer=new C9(t.renderer),t.postProcessingComposer.addPass(new T9(t.scene,t.camera)),t.controls=new{trackball:UW,orbit:qW,fly:d9}[a](t.camera,t.renderer.domElement),a==="fly"&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),(a==="trackball"||a==="orbit")&&(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",function(){t.controlsEngaged=!0}),t.controls.addEventListener("change",function(){t.controlsEngaged&&(t.controlsDragging=!0)}),t.controls.addEventListener("end",function(){t.controlsEngaged=!1,t.controlsDragging=!1})),[t.renderer,t.postProcessingComposer].concat(L0(t.extraRenderers)).forEach(function(I){return I.setSize(t.width,t.height)}),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new bc.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!B,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))){var n,i=e.width,a=e.height;e.container.style.width="".concat(i,"px"),e.container.style.height="".concat(a,"px"),[e.renderer,e.postProcessingComposer].concat(L0(e.extraRenderers)).forEach(function(B){return B.setSize(i,a)}),e.camera.aspect=i/a;var o=e.viewOffset.slice(0,2);o.some(function(B){return B})&&(n=e.camera).setViewOffset.apply(n,[i,a].concat(L0(o),[i,a])),e.camera.updateProjectionMatrix()}if(t.hasOwnProperty("viewOffset")){var u,c=e.width,d=e.height,g=e.viewOffset.slice(0,2);g.some(function(B){return B})?(u=e.camera).setViewOffset.apply(u,[c,d].concat(L0(g),[c,d])):e.camera.clearViewOffset()}if(t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=e.skyRadius*2.5,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new bc.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var v=sm(e.backgroundColor).alpha;v===void 0&&(v=1),e.renderer.setClearColor(new bc.Color(zZ(1,e.backgroundColor)),v)}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?new bc.TextureLoader().load(e.backgroundImageUrl,function(B){B.colorSpace=bc.SRGBColorSpace,e.skysphere.material=new bc.MeshBasicMaterial({map:B,side:bc.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&M()}):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&M())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("lights")&&((t.lights||[]).forEach(function(B){return e.scene.remove(B)}),e.lights.forEach(function(B){return e.scene.add(B)})),t.hasOwnProperty("objects")&&((t.objects||[]).forEach(function(B){return e.scene.remove(B)}),e.objects.forEach(function(B){return e.scene.add(B)}));function M(){e.loadComplete=e.scene.visible=!0}}});function C$(s,e){e===void 0&&(e={});var t=e.insertAt;if(typeof document!="undefined"){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",t==="top"&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=s:i.appendChild(document.createTextNode(s))}}var T$=`.graph-info-msg { - top: 50%; - width: 100%; - text-align: center; - color: lavender; - opacity: 0.7; - font-size: 22px; - position: absolute; - font-family: Sans-serif; -} - -.scene-container .clickable { - cursor: pointer; -} - -.scene-container .grabbable { - cursor: move; - cursor: grab; - cursor: -moz-grab; - cursor: -webkit-grab; -} - -.scene-container .grabbable:active { - cursor: grabbing; - cursor: -moz-grabbing; - cursor: -webkit-grabbing; -}`;C$(T$);function EE(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,n=Array(e);t1?u-1:0),d=1;d3?a-3:0),u=3;u=V.length?{done:!0}:{done:!1,value:V[F++]}},e:function(j){throw j},f:C}}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 P,H=!0,D=!1;return{s:function(){E=E.call(V)},n:function(){var j=E.next();return H=j.done,j},e:function(j){D=!0,P=j},f:function(){try{H||E.return==null||E.return()}finally{if(D)throw P}}}}},84255:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return Z}});var m=b(29658);function Z(V,N){V.prototype=Object.create(N.prototype),V.prototype.constructor=V,(0,m.Z)(V,N)}},71369:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return N}});var m=b(38882);function Z(E,F){for(;!{}.hasOwnProperty.call(E,F)&&(E=(0,m.Z)(E))!==null;);return E}function V(){return V=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(E,F,C){var P=Z(E,F);if(P){var H=Object.getOwnPropertyDescriptor(P,F);return H.get?H.get.call(arguments.length<3?E:C):H.value}},V.apply(null,arguments)}function N(E,F,C,P){var H=V((0,m.Z)(1&P?E.prototype:E),F,C);return 2&P&&typeof H=="function"?function(D){return H.apply(C,D)}:H}},25551:function(Be,Me){"use strict";var b={value:()=>{}};function m(){for(var F=0,C=arguments.length,P={},H;F=0&&(H=P.slice(D+1),P=P.slice(0,D)),P&&!C.hasOwnProperty(P))throw new Error("unknown type: "+P);return{type:P,name:H}})}Z.prototype=m.prototype={constructor:Z,on:function(F,C){var P=this._,H=V(F+"",P),D,X=-1,j=H.length;if(arguments.length<2){for(;++X0)for(var P=new Array(D),H=0,D,X;Htypeof vn=="object"&&vn!==null||typeof vn=="function",C={canHandle:vn=>F(vn)&&vn[m],serialize(vn){const{port1:_r,port2:Ge}=new MessageChannel;return X(vn,_r),[Ge,[Ge]]},deserialize(vn){return vn.start(),he(vn)}},P={canHandle:vn=>F(vn)&&E in vn,serialize({value:vn}){let _r;return vn instanceof Error?_r={isError:!0,value:{message:vn.message,name:vn.name,stack:vn.stack}}:_r={isError:!1,value:vn},[_r,[]]},deserialize(vn){throw vn.isError?Object.assign(new Error(vn.value.message),vn.value):vn.value}},H=new Map([["proxy",C],["throw",P]]);function D(vn,_r){for(const Ge of vn)if(_r===Ge||Ge==="*"||Ge instanceof RegExp&&Ge.test(_r))return!0;return!1}function X(vn,_r=globalThis,Ge=["*"]){_r.addEventListener("message",function Tt(On){if(!On||!On.data)return;if(!D(Ge,On.origin)){console.warn(`Invalid origin '${On.origin}' for comlink proxy`);return}const{id:Vr,type:en,path:ln}=Object.assign({path:[]},On.data),Cn=(On.data.argumentList||[]).map(In);let Mt;try{const Et=ln.slice(0,-1).reduce((Ae,Pe)=>Ae[Pe],vn),pe=ln.reduce((Ae,Pe)=>Ae[Pe],vn);switch(en){case"GET":Mt=pe;break;case"SET":Et[ln.slice(-1)[0]]=In(On.data.value),Mt=!0;break;case"APPLY":Mt=pe.apply(Et,Cn);break;case"CONSTRUCT":{const Ae=new pe(...Cn);Mt=Lt(Ae)}break;case"ENDPOINT":{const{port1:Ae,port2:Pe}=new MessageChannel;X(vn,Pe),Mt=Bn(Ae,[Ae])}break;case"RELEASE":Mt=void 0;break;default:return}}catch(Et){Mt={value:Et,[E]:0}}Promise.resolve(Mt).catch(Et=>({value:Et,[E]:0})).then(Et=>{const[pe,Ae]=Xn(Et);_r.postMessage(Object.assign(Object.assign({},pe),{id:Vr}),Ae),en==="RELEASE"&&(_r.removeEventListener("message",Tt),de(_r),N in vn&&typeof vn[N]=="function"&&vn[N]())}).catch(Et=>{const[pe,Ae]=Xn({value:new TypeError("Unserializable return value"),[E]:0});_r.postMessage(Object.assign(Object.assign({},pe),{id:Vr}),Ae)})}),_r.start&&_r.start()}function j(vn){return vn.constructor.name==="MessagePort"}function de(vn){j(vn)&&vn.close()}function he(vn,_r){const Ge=new Map;return vn.addEventListener("message",function(On){const{data:Vr}=On;if(!Vr||!Vr.id)return;const en=Ge.get(Vr.id);if(en)try{en(Vr)}finally{Ge.delete(Vr.id)}}),vt(vn,Ge,[],_r)}function we(vn){if(vn)throw new Error("Proxy has been released and is not useable")}function ve(vn){return zn(vn,new Map,{type:"RELEASE"}).then(()=>{de(vn)})}const Ee=new WeakMap,$e="FinalizationRegistry"in globalThis&&new FinalizationRegistry(vn=>{const _r=(Ee.get(vn)||0)-1;Ee.set(vn,_r),_r===0&&ve(vn)});function Fe(vn,_r){const Ge=(Ee.get(_r)||0)+1;Ee.set(_r,Ge),$e&&$e.register(vn,_r,vn)}function ct(vn){$e&&$e.unregister(vn)}function vt(vn,_r,Ge=[],Tt=function(){}){let On=!1;const Vr=new Proxy(Tt,{get(en,ln){if(we(On),ln===V)return()=>{ct(Vr),ve(vn),_r.clear(),On=!0};if(ln==="then"){if(Ge.length===0)return{then:()=>Vr};const Cn=zn(vn,_r,{type:"GET",path:Ge.map(Mt=>Mt.toString())}).then(In);return Cn.then.bind(Cn)}return vt(vn,_r,[...Ge,ln])},set(en,ln,Cn){we(On);const[Mt,Et]=Xn(Cn);return zn(vn,_r,{type:"SET",path:[...Ge,ln].map(pe=>pe.toString()),value:Mt},Et).then(In)},apply(en,ln,Cn){we(On);const Mt=Ge[Ge.length-1];if(Mt===Z)return zn(vn,_r,{type:"ENDPOINT"}).then(In);if(Mt==="bind")return vt(vn,_r,Ge.slice(0,-1));const[Et,pe]=kt(Cn);return zn(vn,_r,{type:"APPLY",path:Ge.map(Ae=>Ae.toString()),argumentList:Et},pe).then(In)},construct(en,ln){we(On);const[Cn,Mt]=kt(ln);return zn(vn,_r,{type:"CONSTRUCT",path:Ge.map(Et=>Et.toString()),argumentList:Cn},Mt).then(In)}});return Fe(Vr,vn),Vr}function at(vn){return Array.prototype.concat.apply([],vn)}function kt(vn){const _r=vn.map(Xn);return[_r.map(Ge=>Ge[0]),at(_r.map(Ge=>Ge[1]))]}const It=new WeakMap;function Bn(vn,_r){return It.set(vn,_r),vn}function Lt(vn){return Object.assign(vn,{[m]:!0})}function Wn(vn,_r=globalThis,Ge="*"){return{postMessage:(Tt,On)=>vn.postMessage(Tt,Ge,On),addEventListener:_r.addEventListener.bind(_r),removeEventListener:_r.removeEventListener.bind(_r)}}function Xn(vn){for(const[_r,Ge]of H)if(Ge.canHandle(vn)){const[Tt,On]=Ge.serialize(vn);return[{type:"HANDLER",name:_r,value:Tt},On]}return[{type:"RAW",value:vn},It.get(vn)||[]]}function In(vn){switch(vn.type){case"HANDLER":return H.get(vn.name).deserialize(vn.value);case"RAW":return vn.value}}function zn(vn,_r,Ge,Tt){return new Promise(On=>{const Vr=dr();_r.set(Vr,On),vn.start&&vn.start(),vn.postMessage(Object.assign({id:Vr},Ge),Tt)})}function dr(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}},14310:function(Be,Me,b){"use strict";b.d(Me,{H:function(){return V},Z:function(){return m}});function m(N){const E=+this._x.call(null,N);return Z(this.cover(E),E,N)}function Z(N,E,F){if(isNaN(E))return N;var C,P=N._root,H={data:F},D=N._x0,X=N._x1,j,de,he,we,ve;if(!P)return N._root=H,N;for(;P.length;)if((he=E>=(j=(D+X)/2))?D=j:X=j,C=P,!(P=P[we=+he]))return C[we]=H,N;if(de=+N._x.call(null,P.data),E===de)return H.next=P,C?C[we]=H:N._root=H,N;do C=C?C[we]=new Array(2):N._root=new Array(2),(he=E>=(j=(D+X)/2))?D=j:X=j;while((we=+he)==(ve=+(de>=j)));return C[ve]=P,C[we]=H,N}function V(N){Array.isArray(N)||(N=Array.from(N));const E=N.length,F=new Float64Array(E);let C=1/0,P=-1/0;for(let H=0,D;HP&&(P=D));if(C>P)return this;this.cover(C).cover(P);for(let H=0;HZ||Z>=N;)switch(P=+(ZH||(P=j.x1)=he))&&(j=D[D.length-1],D[D.length-1]=D[D.length-1-de],D[D.length-1-de]=j)}else{var we=Math.abs(V-+this._x.call(null,X.data));we=(j=(H+D)/2))?H=j:D=j,N=E,!(E=E[he=+de]))return this;if(!E.length)break;N[he+1&1]&&(F=N,we=he)}for(;E.data!==V;)if(C=E,!(E=E.next))return this;return(P=E.next)&&delete E.next,C?(P?C.next=P:delete C.next,this):N?(P?N[he]=P:delete N[he],(E=N[0]||N[1])&&E===(N[1]||N[0])&&!E.length&&(F?F[we]=E:this._root=E),this):(this._root=P,this)}function Z(V){for(var N=0,E=V.length;N(E=(m*E+Z)%V)/V}},76633:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return E}});var m=b(85320),Z=b(50277);function V(F){return F.index}function N(F,C){var P=F.get(C);if(!P)throw new Error("node not found: "+C);return P}function E(F){var C=V,P=$e,H,D=(0,m.Z)(30),X,j,de,he,we,ve,Ee=1;F==null&&(F=[]);function $e(kt){return 1/Math.min(he[kt.source.index],he[kt.target.index])}function Fe(kt){for(var It=0,Bn=F.length;It1&&(dr=In.y+In.vy-Xn.y-Xn.vy||(0,Z.Z)(ve)),de>2&&(vn=In.z+In.vz-Xn.z-Xn.vz||(0,Z.Z)(ve)),_r=Math.sqrt(zn*zn+dr*dr+vn*vn),_r=(_r-X[Lt])/_r*kt*H[Lt],zn*=_r,dr*=_r,vn*=_r,In.vx-=zn*(Ge=we[Lt]),de>1&&(In.vy-=dr*Ge),de>2&&(In.vz-=vn*Ge),Xn.vx+=zn*(Ge=1-Ge),de>1&&(Xn.vy+=dr*Ge),de>2&&(Xn.vz+=vn*Ge)}function ct(){if(j){var kt,It=j.length,Bn=F.length,Lt=new Map(j.map((Xn,In)=>[C(Xn,In,j),Xn])),Wn;for(kt=0,he=new Array(It);kttypeof Bn=="function")||Math.random,de=It.find(Bn=>[1,2,3].includes(Bn))||2,ct()},Fe.links=function(kt){return arguments.length?(F=kt,ct(),Fe):F},Fe.id=function(kt){return arguments.length?(C=kt,Fe):C},Fe.iterations=function(kt){return arguments.length?(Ee=+kt,Fe):Ee},Fe.strength=function(kt){return arguments.length?(P=typeof kt=="function"?kt:(0,m.Z)(+kt),vt(),Fe):P},Fe.distance=function(kt){return arguments.length?(D=typeof kt=="function"?kt:(0,m.Z)(+kt),at(),Fe):D},Fe}},61147:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return C}});var m=b(33662),Z=b(14301),V=b(7695),N=b(85320),E=b(50277),F=b(21668);function C(){var P,H,D,X,j,de=(0,N.Z)(-30),he,we=1,ve=1/0,Ee=.81;function $e(at){var kt,It=P.length,Bn=(H===1?(0,m.Z)(P,F.x):H===2?(0,Z.Z)(P,F.x,F.y):H===3?(0,V.Z)(P,F.x,F.y,F.z):null).visitAfter(ct);for(j=at,kt=0;kt1&&(at.y=Xn/Lt),H>2&&(at.z=In/Lt)}else{It=at,It.x=It.data.x,H>1&&(It.y=It.data.y),H>2&&(It.z=It.data.z);do kt+=he[It.data.index];while(It=It.next)}at.value=kt}function vt(at,kt,It,Bn,Lt){if(!at.value)return!0;var Wn=[It,Bn,Lt][H-1],Xn=at.x-D.x,In=H>1?at.y-D.y:0,zn=H>2?at.z-D.z:0,dr=Wn-kt,vn=Xn*Xn+In*In+zn*zn;if(dr*dr/Ee1&&In===0&&(In=(0,E.Z)(X),vn+=In*In),H>2&&zn===0&&(zn=(0,E.Z)(X),vn+=zn*zn),vn1&&(D.vy+=In*at.value*j/vn),H>2&&(D.vz+=zn*at.value*j/vn)),!0;if(at.length||vn>=ve)return;(at.data!==D||at.next)&&(Xn===0&&(Xn=(0,E.Z)(X),vn+=Xn*Xn),H>1&&In===0&&(In=(0,E.Z)(X),vn+=In*In),H>2&&zn===0&&(zn=(0,E.Z)(X),vn+=zn*zn),vn1&&(D.vy+=In*dr),H>2&&(D.vz+=zn*dr));while(at=at.next)}return $e.initialize=function(at,...kt){P=at,X=kt.find(It=>typeof It=="function")||Math.random,H=kt.find(It=>[1,2,3].includes(It))||2,Fe()},$e.strength=function(at){return arguments.length?(de=typeof at=="function"?at:(0,N.Z)(+at),Fe(),$e):de},$e.distanceMin=function(at){return arguments.length?(we=at*at,$e):Math.sqrt(we)},$e.distanceMax=function(at){return arguments.length?(ve=at*at,$e):Math.sqrt(ve)},$e.theta=function(at){return arguments.length?(Ee=at*at,$e):Math.sqrt(Ee)},$e}},21668:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return X},x:function(){return E},y:function(){return F},z:function(){return C}});var m=b(25551),Z=b(83833),V=b(1076),N=3;function E(j){return j.x}function F(j){return j.y}function C(j){return j.z}var P=10,H=Math.PI*(3-Math.sqrt(5)),D=Math.PI*20/(9+Math.sqrt(221));function X(j,de){de=de||2;var he=Math.min(N,Math.max(1,Math.round(de))),we,ve=1,Ee=.001,$e=1-Math.pow(Ee,1/300),Fe=0,ct=.6,vt=new Map,at=(0,Z.HT)(Bn),kt=(0,m.Z)("tick","end"),It=(0,V.Z)();j==null&&(j=[]);function Bn(){Lt(),kt.call("tick",we),ve1&&(vn.fy==null?vn.y+=vn.vy*=ct:(vn.y=vn.fy,vn.vy=0)),he>2&&(vn.fz==null?vn.z+=vn.vz*=ct:(vn.z=vn.fz,vn.vz=0));return we}function Wn(){for(var In=0,zn=j.length,dr;In1&&isNaN(dr.y)||he>2&&isNaN(dr.z)){var vn=P*(he>2?Math.cbrt(.5+In):he>1?Math.sqrt(.5+In):In),_r=In*H,Ge=In*D;he===1?dr.x=vn:he===2?(dr.x=vn*Math.cos(_r),dr.y=vn*Math.sin(_r)):(dr.x=vn*Math.sin(_r)*Math.cos(Ge),dr.y=vn*Math.cos(_r),dr.z=vn*Math.sin(_r)*Math.sin(Ge))}(isNaN(dr.vx)||he>1&&isNaN(dr.vy)||he>2&&isNaN(dr.vz))&&(dr.vx=0,he>1&&(dr.vy=0),he>2&&(dr.vz=0))}}function Xn(In){return In.initialize&&In.initialize(j,It,he),In}return Wn(),we={tick:Lt,restart:function(){return at.restart(Bn),we},stop:function(){return at.stop(),we},numDimensions:function(In){return arguments.length?(he=Math.min(N,Math.max(1,Math.round(In))),vt.forEach(Xn),we):he},nodes:function(In){return arguments.length?(j=In,Wn(),vt.forEach(Xn),we):j},alpha:function(In){return arguments.length?(ve=+In,we):ve},alphaMin:function(In){return arguments.length?(Ee=+In,we):Ee},alphaDecay:function(In){return arguments.length?($e=+In,we):+$e},alphaTarget:function(In){return arguments.length?(Fe=+In,we):Fe},velocityDecay:function(In){return arguments.length?(ct=1-In,we):1-ct},randomSource:function(In){return arguments.length?(It=In,vt.forEach(Xn),we):It},force:function(In,zn){return arguments.length>1?(zn==null?vt.delete(In):vt.set(In,Xn(zn)),we):vt.get(In)},find:function(){var In=Array.prototype.slice.call(arguments),zn=In.shift()||0,dr=(he>1?In.shift():null)||0,vn=(he>2?In.shift():null)||0,_r=In.shift()||1/0,Ge=0,Tt=j.length,On,Vr,en,ln,Cn,Mt;for(_r*=_r,Ge=0;Ge1?(kt.on(In,zn),we):kt.on(In)}}}},32575:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return m}});function m(Z,V){var N,E=1;Z==null&&(Z=0),V==null&&(V=0);function F(){var C,P=N.length,H,D=0,X=0;for(C=0;CFe.index){var Ge=ct-dr.x-dr.vx,Tt=vt-dr.y-dr.vy,On=Ge*Ge+Tt*Tt;On<_r*_r&&(Ge===0&&(Ge=(0,V.Z)(D),On+=Ge*Ge),Tt===0&&(Tt=(0,V.Z)(D),On+=Tt*Tt),On=(_r-(On=Math.sqrt(On)))/On*X,Fe.vx+=(Ge*=On)*(_r=(vn*=vn)/(kt+vn)),Fe.vy+=(Tt*=On)*_r,dr.vx-=Ge*(_r=1-_r),dr.vy-=Tt*_r)}return}return Wn>ct+_r||Invt+_r||znve.r&&(ve.r=ve[Ee].r)}function we(){if(P){var ve,Ee=P.length,$e;for(H=new Array(Ee),ve=0;ve(E=(m*E+Z)%V)/V}},31136:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return E}});var m=b(91592),Z=b(12068);function V(F){return F.index}function N(F,C){var P=F.get(C);if(!P)throw new Error("node not found: "+C);return P}function E(F){var C=V,P=Ee,H,D=(0,m.Z)(30),X,j,de,he,we,ve=1;F==null&&(F=[]);function Ee(at){return 1/Math.min(de[at.source.index],de[at.target.index])}function $e(at){for(var kt=0,It=F.length;kt[C(Wn,Xn,j),Wn])),Lt;for(at=0,de=new Array(kt);at=de)return;(Fe.data!==C||Fe.next)&&(kt===0&&(kt=(0,V.Z)(P),Lt+=kt*kt),It===0&&(It=(0,V.Z)(P),Lt+=It*It),Lt1?(Bn==null?ve.delete(It):ve.set(It,kt(Bn)),D):ve.get(It)},find:function(It,Bn,Lt){var Wn=0,Xn=H.length,In,zn,dr,vn,_r;for(Lt==null?Lt=1/0:Lt*=Lt,Wn=0;Wn1?($e.on(It,Bn),D):$e.on(It)}}}},34123:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return Z}});var m=b(91592);function Z(V){var N=(0,m.Z)(.1),E,F,C;typeof V!="function"&&(V=(0,m.Z)(V==null?0:+V));function P(D){for(var X=0,j=E.length,de;X=($e=(j+we)/2))?j=$e:we=$e,(Bn=F>=(Fe=(de+ve)/2))?de=Fe:ve=Fe,(Lt=C>=(ct=(he+Ee)/2))?he=ct:Ee=ct,H=D,!(D=D[Wn=Lt<<2|Bn<<1|It]))return H[Wn]=X,N;if(vt=+N._x.call(null,D.data),at=+N._y.call(null,D.data),kt=+N._z.call(null,D.data),E===vt&&F===at&&C===kt)return X.next=D,H?H[Wn]=X:N._root=X,N;do H=H?H[Wn]=new Array(8):N._root=new Array(8),(It=E>=($e=(j+we)/2))?j=$e:we=$e,(Bn=F>=(Fe=(de+ve)/2))?de=Fe:ve=Fe,(Lt=C>=(ct=(he+Ee)/2))?he=ct:Ee=ct;while((Wn=Lt<<2|Bn<<1|It)===(Xn=(kt>=ct)<<2|(at>=Fe)<<1|vt>=$e));return H[Xn]=D,H[Wn]=X,N}function V(N){Array.isArray(N)||(N=Array.from(N));const E=N.length,F=new Float64Array(E),C=new Float64Array(E),P=new Float64Array(E);let H=1/0,D=1/0,X=1/0,j=-1/0,de=-1/0,he=-1/0;for(let we=0,ve,Ee,$e,Fe;wej&&(j=Ee),$ede&&(de=$e),Fehe&&(he=Fe));if(H>j||D>de||X>he)return this;this.cover(H,D,X).cover(j,de,he);for(let we=0;weZ||Z>=P||F>V||V>=H||C>N||N>=D;)switch(he=(NEe||(j=at.y0)>$e||(de=at.z0)>Fe||(he=at.x1)=Lt)<<2|(N>=Bn)<<1|V>=It)&&(at=ct[ct.length-1],ct[ct.length-1]=ct[ct.length-1-kt],ct[ct.length-1-kt]=at)}else{var Wn=V-+this._x.call(null,vt.data),Xn=N-+this._y.call(null,vt.data),In=E-+this._z.call(null,vt.data),zn=Wn*Wn+Xn*Xn+In*In;if(znMath.sqrt(Bp(V-F,2)+Bp(N-C,2)+Bp(E-P,2));function Z(V,N,E,F){const C=[],P=V-F,H=N-F,D=E-F,X=V+F,j=N+F,de=E+F;return this.visit((he,we,ve,Ee,$e,Fe,ct)=>{if(!he.length)do{const vt=he.data;m(V,N,E,this._x(vt),this._y(vt),this._z(vt))<=F&&C.push(vt)}while(he=he.next);return we>X||ve>j||Ee>de||$e=($e=(H+j)/2))?H=$e:j=$e,(at=ve>=(Fe=(D+de)/2))?D=Fe:de=Fe,(kt=Ee>=(ct=(X+he)/2))?X=ct:he=ct,N=E,!(E=E[It=kt<<2|at<<1|vt]))return this;if(!E.length)break;(N[It+1&7]||N[It+2&7]||N[It+3&7]||N[It+4&7]||N[It+5&7]||N[It+6&7]||N[It+7&7])&&(F=N,Bn=It)}for(;E.data!==V;)if(C=E,!(E=E.next))return this;return(P=E.next)&&delete E.next,C?(P?C.next=P:delete C.next,this):N?(P?N[It]=P:delete N[It],(E=N[0]||N[1]||N[2]||N[3]||N[4]||N[5]||N[6]||N[7])&&E===(N[7]||N[6]||N[5]||N[4]||N[3]||N[2]||N[1]||N[0])&&!E.length&&(F?F[Bn]=E:this._root=E),this):(this._root=P,this)}function Z(V){for(var N=0,E=V.length;N=(we=(X+de)/2))?X=we:de=we,(ct=F>=(ve=(j+he)/2))?j=ve:he=ve,P=H,!(H=H[vt=ct<<1|Fe]))return P[vt]=D,N;if(Ee=+N._x.call(null,H.data),$e=+N._y.call(null,H.data),E===Ee&&F===$e)return D.next=H,P?P[vt]=D:N._root=D,N;do P=P?P[vt]=new Array(4):N._root=new Array(4),(Fe=E>=(we=(X+de)/2))?X=we:de=we,(ct=F>=(ve=(j+he)/2))?j=ve:he=ve;while((vt=ct<<1|Fe)===(at=($e>=ve)<<1|Ee>=we));return P[at]=H,P[vt]=D,N}function V(N){var E,F,C=N.length,P,H,D=new Array(C),X=new Array(C),j=1/0,de=1/0,he=-1/0,we=-1/0;for(F=0;Fhe&&(he=P),Hwe&&(we=H));if(j>he||de>we)return this;for(this.cover(j,de).cover(he,we),F=0;FZ||Z>=F||E>V||V>=C;)switch(X=(Vde||(D=Ee.y0)>he||(X=Ee.x1)=ct)<<1|V>=Fe)&&(Ee=we[we.length-1],we[we.length-1]=we[we.length-1-$e],we[we.length-1-$e]=Ee)}else{var vt=V-+this._x.call(null,ve.data),at=N-+this._y.call(null,ve.data),kt=vt*vt+at*at;if(kt=(we=(H+X)/2))?H=we:X=we,($e=he>=(ve=(D+j)/2))?D=ve:j=ve,N=E,!(E=E[Fe=$e<<1|Ee]))return this;if(!E.length)break;(N[Fe+1&3]||N[Fe+2&3]||N[Fe+3&3])&&(F=N,ct=Fe)}for(;E.data!==V;)if(C=E,!(E=E.next))return this;return(P=E.next)&&delete E.next,C?(P?C.next=P:delete C.next,this):N?(P?N[Fe]=P:delete N[Fe],(E=N[0]||N[1]||N[2]||N[3])&&E===(N[3]||N[2]||N[1]||N[0])&&!E.length&&(F?F[ct]=E:this._root=E),this):(this._root=P,this)}function Z(V){for(var N=0,E=V.length;N=0&&vt._call.call(void 0,at),vt=vt._next;--m}function Ee(){P=(C=D.now())+H,m=Z=0;try{ve()}finally{m=0,Fe(),P=0}}function $e(){var vt=D.now(),at=vt-C;at>N&&(H-=at,C=vt)}function Fe(){for(var vt,at=E,kt,It=1/0;at;)at._call?(It>at._time&&(It=at._time),vt=at,at=at._next):(kt=at._next,at._next=null,at=vt?vt._next=kt:E=kt);F=vt,ct(It)}function ct(vt){if(!m){Z&&(Z=clearTimeout(Z));var at=vt-P;at>24?(vt<1/0&&(Z=setTimeout(Ee,vt-D.now()-H)),V&&(V=clearInterval(V))):(V||(C=D.now(),V=setInterval($e,N)),m=1,X(Ee))}}},69053:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return $e}});var m=b(8248),Z=m.Z.Symbol,V=Z,N=Object.prototype,E=N.hasOwnProperty,F=N.toString,C=V?V.toStringTag:void 0;function P(Fe){var ct=E.call(Fe,C),vt=Fe[C];try{Fe[C]=void 0;var at=!0}catch(It){}var kt=F.call(Fe);return at&&(ct?Fe[C]=vt:delete Fe[C]),kt}var H=P,D=Object.prototype,X=D.toString;function j(Fe){return X.call(Fe)}var de=j,he="[object Null]",we="[object Undefined]",ve=V?V.toStringTag:void 0;function Ee(Fe){return Fe==null?Fe===void 0?we:he:ve&&ve in Object(Fe)?H(Fe):de(Fe)}var $e=Ee},92734:function(Be,Me){"use strict";var b=typeof global=="object"&&global&&global.Object===Object&&global;Me.Z=b},8248:function(Be,Me,b){"use strict";var m=b(92734),Z=typeof self=="object"&&self&&self.Object===Object&&self,V=m.Z||Z||Function("return this")();Me.Z=V},58094:function(Be,Me){"use strict";function b(m){var Z=typeof m;return m!=null&&(Z=="object"||Z=="function")}Me.Z=b},82144:function(Be,Me){"use strict";function b(m){return m!=null&&typeof m=="object"}Me.Z=b},51910:function(Be,Me,b){"use strict";b.d(Me,{KI_:function(){return go},Kj0:function(){return zd},ROQ:function(){return D0},TlE:function(){return Ql},ZAu:function(){return xu},ehD:function(){return he},jyi:function(){return RA},u9r:function(){return Ui},vBJ:function(){return Dh},xeV:function(){return Fp},xo$:function(){return hu},xoR:function(){return Nf}});const m="181",Z={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},V={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},N=0,E=1,F=2,C=3,P=0,H=1,D=2,X=3,j=0,de=1,he=2,we=0,ve=1,Ee=2,$e=3,Fe=4,ct=5,vt=100,at=101,kt=102,It=103,Bn=104,Lt=200,Wn=201,Xn=202,In=203,zn=204,dr=205,vn=206,_r=207,Ge=208,Tt=209,On=210,Vr=211,en=212,ln=213,Cn=214,Mt=0,Et=1,pe=2,Ae=3,Pe=4,Ut=5,jt=6,ft=7,on=0,hn=1,lt=2,Ct=0,sn=1,W=2,Se=3,Ht=4,zt=5,Fn=6,Tn=7,lr="attached",je="detached",be=300,it=301,wt=302,ot=303,ut=304,_t=306,$t=1e3,Vt=1001,Qt=1002,cn=1003,Yn=1004,qn=1004,Sr=1005,Jr=1005,vr=1006,Ki=1007,Mi=1007,yi=1008,qr=1008,es=1009,Ci=1010,En=1011,rn=1012,Xt=1013,st=1014,dt=1015,Wt=1016,bn=1017,Jt=1018,ar=1020,rr=35902,Kr=35899,si=1021,Ie=1022,L=1023,Q=1026,w=1027,z=1028,ie=1029,ze=1030,Je=1031,At=1032,xt=1033,Sn=33776,Oe=33777,Qe=33778,Re=33779,Ke=35840,gt=35841,tn=35842,yt=35843,Yt=36196,Rn=37492,er=37496,Jn=37808,kr=37809,fr=37810,wr=37811,ei=37812,_n=37813,jn=37814,Hr=37815,Pr=37816,$i=37817,Zi=37818,Xi=37819,Ei=37820,ms=37821,_i=36492,Es=36494,ua=36495,Hn=36283,Pt=36284,Gt=36285,Bt=36286,yn=2200,Ln=2201,gr=2202,Rr=2300,$r=2301,Ii=2302,Di=2400,ss=2401,vs=2402,Cs=2500,Aa=2501,sa=0,ca=1,Ai=2,$a=3200,Zo=3201,Ko=3202,$o=3203,bo=0,Pl=1,il="",go="srgb",Ll="srgb-linear",Lu="linear",ao="srgb",sl=0,No=7680,Uu=7681,ws=7682,Kh=7683,dh=34055,$h=34056,Uh=5386,Ku=512,sc=513,pu=514,ou=515,Ad=516,hf=517,Xo=518,fh=519,Qf=512,pd=513,Ah=514,Vc=515,jo=516,gd=517,lu=518,gu=519,oo=35044,Ic=35048,jc=35040,ph=35045,Lo=35049,Ji=35041,$u=35046,gh=35050,mh=35042,np="100",vh="300 es",Cu=2e3,zc=2001,Ul={COMPUTE:"compute",RENDER:"render"},Xl={PERSPECTIVE:"perspective",LINEAR:"linear",FLAT:"flat"},Uo={NORMAL:"normal",CENTROID:"centroid",SAMPLE:"sample",FIRST:"first",EITHER:"either"};function Ld(ue){for(let r=ue.length-1;r>=0;--r)if(ue[r]>=65535)return!0;return!1}const Yc={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function gl(ue,r){return new Yc[ue](r)}function To(ue){return document.createElementNS("http://www.w3.org/1999/xhtml",ue)}function ml(){const ue=To("canvas");return ue.style.display="block",ue}const Xu={};let mu=null;function Oo(ue){mu=ue}function Bo(){return mu}function _o(...ue){const r="THREE."+ue.shift();mu?mu("log",r,...ue):console.log(r,...ue)}function na(...ue){const r="THREE."+ue.shift();mu?mu("warn",r,...ue):console.warn(r,...ue)}function Wa(...ue){const r="THREE."+ue.shift();mu?mu("error",r,...ue):console.error(r,...ue)}function yh(...ue){const r=ue.join(" ");r in Xu||(Xu[r]=!0,na(...ue))}function Yo(ue,r,l){return new Promise(function(h,p){function y(){switch(ue.clientWaitSync(r,ue.SYNC_FLUSH_COMMANDS_BIT,0)){case ue.WAIT_FAILED:p();break;case ue.TIMEOUT_EXPIRED:setTimeout(y,l);break;default:h()}}setTimeout(y,l)})}class Tu{addEventListener(r,l){this._listeners===void 0&&(this._listeners={});const h=this._listeners;h[r]===void 0&&(h[r]=[]),h[r].indexOf(l)===-1&&h[r].push(l)}hasEventListener(r,l){const h=this._listeners;return h===void 0?!1:h[r]!==void 0&&h[r].indexOf(l)!==-1}removeEventListener(r,l){const h=this._listeners;if(h===void 0)return;const p=h[r];if(p!==void 0){const y=p.indexOf(l);y!==-1&&p.splice(y,1)}}dispatchEvent(r){const l=this._listeners;if(l===void 0)return;const h=l[r.type];if(h!==void 0){r.target=this;const p=h.slice(0);for(let y=0,T=p.length;y>8&255]+uu[ue>>16&255]+uu[ue>>24&255]+"-"+uu[r&255]+uu[r>>8&255]+"-"+uu[r>>16&15|64]+uu[r>>24&255]+"-"+uu[l&63|128]+uu[l>>8&255]+"-"+uu[l>>16&255]+uu[l>>24&255]+uu[h&255]+uu[h>>8&255]+uu[h>>16&255]+uu[h>>24&255]).toLowerCase()}function ki(ue,r,l){return Math.max(r,Math.min(l,ue))}function ju(ue,r){return(ue%r+r)%r}function bl(ue,r,l,h,p){return h+(ue-r)*(p-h)/(l-r)}function qo(ue,r,l){return ue!==r?(l-ue)/(r-ue):0}function Go(ue,r,l){return(1-l)*ue+l*r}function Ou(ue,r,l,h){return Go(ue,r,1-Math.exp(-l*h))}function Oh(ue,r=1){return r-Math.abs(ju(ue,r*2)-r)}function oc(ue,r,l){return ue<=r?0:ue>=l?1:(ue=(ue-r)/(l-r),ue*ue*(3-2*ue))}function Ca(ue,r,l){return ue<=r?0:ue>=l?1:(ue=(ue-r)/(l-r),ue*ue*ue*(ue*(ue*6-15)+10))}function Ud(ue,r){return ue+Math.floor(Math.random()*(r-ue+1))}function rp(ue,r){return ue+Math.random()*(r-ue)}function Xh(ue){return ue*(.5-Math.random())}function lc(ue){ue!==void 0&&(wc=ue);let r=wc+=1831565813;return r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61),((r^r>>>14)>>>0)/4294967296}function wA(ue){return ue*ac}function Od(ue){return ue*Lr}function jh(ue){return(ue&ue-1)===0&&ue!==0}function SA(ue){return Math.pow(2,Math.ceil(Math.log(ue)/Math.LN2))}function md(ue){return Math.pow(2,Math.floor(Math.log(ue)/Math.LN2))}function vd(ue,r,l,h,p){const y=Math.cos,T=Math.sin,O=y(l/2),te=T(l/2),se=y((r+h)/2),xe=T((r+h)/2),Ne=y((r-h)/2),Ve=T((r-h)/2),We=y((h-r)/2),tt=T((h-r)/2);switch(p){case"XYX":ue.set(O*xe,te*Ne,te*Ve,O*se);break;case"YZY":ue.set(te*Ve,O*xe,te*Ne,O*se);break;case"ZXZ":ue.set(te*Ne,te*Ve,O*xe,O*se);break;case"XZX":ue.set(O*xe,te*tt,te*We,O*se);break;case"YXY":ue.set(te*We,O*xe,te*tt,O*se);break;case"ZYZ":ue.set(te*tt,te*We,O*xe,O*se);break;default:na("MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+p)}}function mo(ue,r){switch(r.constructor){case Float32Array:return ue;case Uint32Array:return ue/4294967295;case Uint16Array:return ue/65535;case Uint8Array:return ue/255;case Int32Array:return Math.max(ue/2147483647,-1);case Int16Array:return Math.max(ue/32767,-1);case Int8Array:return Math.max(ue/127,-1);default:throw new Error("Invalid component type.")}}function wa(ue,r){switch(r.constructor){case Float32Array:return ue;case Uint32Array:return Math.round(ue*4294967295);case Uint16Array:return Math.round(ue*65535);case Uint8Array:return Math.round(ue*255);case Int32Array:return Math.round(ue*2147483647);case Int16Array:return Math.round(ue*32767);case Int8Array:return Math.round(ue*127);default:throw new Error("Invalid component type.")}}const Dd={DEG2RAD:ac,RAD2DEG:Lr,generateUUID:Gr,clamp:ki,euclideanModulo:ju,mapLinear:bl,inverseLerp:qo,lerp:Go,damp:Ou,pingpong:Oh,smoothstep:oc,smootherstep:Ca,randInt:Ud,randFloat:rp,randFloatSpread:Xh,seededRandom:lc,degToRad:wA,radToDeg:Od,isPowerOfTwo:jh,ceilPowerOfTwo:SA,floorPowerOfTwo:md,setQuaternionFromProperEuler:vd,normalize:wa,denormalize:mo};class qi{constructor(r=0,l=0){qi.prototype.isVector2=!0,this.x=r,this.y=l}get width(){return this.x}set width(r){this.x=r}get height(){return this.y}set height(r){this.y=r}set(r,l){return this.x=r,this.y=l,this}setScalar(r){return this.x=r,this.y=r,this}setX(r){return this.x=r,this}setY(r){return this.y=r,this}setComponent(r,l){switch(r){case 0:this.x=l;break;case 1:this.y=l;break;default:throw new Error("index is out of range: "+r)}return this}getComponent(r){switch(r){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+r)}}clone(){return new this.constructor(this.x,this.y)}copy(r){return this.x=r.x,this.y=r.y,this}add(r){return this.x+=r.x,this.y+=r.y,this}addScalar(r){return this.x+=r,this.y+=r,this}addVectors(r,l){return this.x=r.x+l.x,this.y=r.y+l.y,this}addScaledVector(r,l){return this.x+=r.x*l,this.y+=r.y*l,this}sub(r){return this.x-=r.x,this.y-=r.y,this}subScalar(r){return this.x-=r,this.y-=r,this}subVectors(r,l){return this.x=r.x-l.x,this.y=r.y-l.y,this}multiply(r){return this.x*=r.x,this.y*=r.y,this}multiplyScalar(r){return this.x*=r,this.y*=r,this}divide(r){return this.x/=r.x,this.y/=r.y,this}divideScalar(r){return this.multiplyScalar(1/r)}applyMatrix3(r){const l=this.x,h=this.y,p=r.elements;return this.x=p[0]*l+p[3]*h+p[6],this.y=p[1]*l+p[4]*h+p[7],this}min(r){return this.x=Math.min(this.x,r.x),this.y=Math.min(this.y,r.y),this}max(r){return this.x=Math.max(this.x,r.x),this.y=Math.max(this.y,r.y),this}clamp(r,l){return this.x=ki(this.x,r.x,l.x),this.y=ki(this.y,r.y,l.y),this}clampScalar(r,l){return this.x=ki(this.x,r,l),this.y=ki(this.y,r,l),this}clampLength(r,l){const h=this.length();return this.divideScalar(h||1).multiplyScalar(ki(h,r,l))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(r){return this.x*r.x+this.y*r.y}cross(r){return this.x*r.y-this.y*r.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(r){const l=Math.sqrt(this.lengthSq()*r.lengthSq());if(l===0)return Math.PI/2;const h=this.dot(r)/l;return Math.acos(ki(h,-1,1))}distanceTo(r){return Math.sqrt(this.distanceToSquared(r))}distanceToSquared(r){const l=this.x-r.x,h=this.y-r.y;return l*l+h*h}manhattanDistanceTo(r){return Math.abs(this.x-r.x)+Math.abs(this.y-r.y)}setLength(r){return this.normalize().multiplyScalar(r)}lerp(r,l){return this.x+=(r.x-this.x)*l,this.y+=(r.y-this.y)*l,this}lerpVectors(r,l,h){return this.x=r.x+(l.x-r.x)*h,this.y=r.y+(l.y-r.y)*h,this}equals(r){return r.x===this.x&&r.y===this.y}fromArray(r,l=0){return this.x=r[l],this.y=r[l+1],this}toArray(r=[],l=0){return r[l]=this.x,r[l+1]=this.y,r}fromBufferAttribute(r,l){return this.x=r.getX(l),this.y=r.getY(l),this}rotateAround(r,l){const h=Math.cos(l),p=Math.sin(l),y=this.x-r.x,T=this.y-r.y;return this.x=y*h-T*p+r.x,this.y=y*p+T*h+r.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Du{constructor(r=0,l=0,h=0,p=1){this.isQuaternion=!0,this._x=r,this._y=l,this._z=h,this._w=p}static slerpFlat(r,l,h,p,y,T,O){let te=h[p+0],se=h[p+1],xe=h[p+2],Ne=h[p+3],Ve=y[T+0],We=y[T+1],tt=y[T+2],Ot=y[T+3];if(O<=0){r[l+0]=te,r[l+1]=se,r[l+2]=xe,r[l+3]=Ne;return}if(O>=1){r[l+0]=Ve,r[l+1]=We,r[l+2]=tt,r[l+3]=Ot;return}if(Ne!==Ot||te!==Ve||se!==We||xe!==tt){let An=te*Ve+se*We+xe*tt+Ne*Ot;An<0&&(Ve=-Ve,We=-We,tt=-tt,Ot=-Ot,An=-An);let un=1-O;if(An<.9995){const Un=Math.acos(An),Vn=Math.sin(Un);un=Math.sin(un*Un)/Vn,O=Math.sin(O*Un)/Vn,te=te*un+Ve*O,se=se*un+We*O,xe=xe*un+tt*O,Ne=Ne*un+Ot*O}else{te=te*un+Ve*O,se=se*un+We*O,xe=xe*un+tt*O,Ne=Ne*un+Ot*O;const Un=1/Math.sqrt(te*te+se*se+xe*xe+Ne*Ne);te*=Un,se*=Un,xe*=Un,Ne*=Un}}r[l]=te,r[l+1]=se,r[l+2]=xe,r[l+3]=Ne}static multiplyQuaternionsFlat(r,l,h,p,y,T){const O=h[p],te=h[p+1],se=h[p+2],xe=h[p+3],Ne=y[T],Ve=y[T+1],We=y[T+2],tt=y[T+3];return r[l]=O*tt+xe*Ne+te*We-se*Ve,r[l+1]=te*tt+xe*Ve+se*Ne-O*We,r[l+2]=se*tt+xe*We+O*Ve-te*Ne,r[l+3]=xe*tt-O*Ne-te*Ve-se*We,r}get x(){return this._x}set x(r){this._x=r,this._onChangeCallback()}get y(){return this._y}set y(r){this._y=r,this._onChangeCallback()}get z(){return this._z}set z(r){this._z=r,this._onChangeCallback()}get w(){return this._w}set w(r){this._w=r,this._onChangeCallback()}set(r,l,h,p){return this._x=r,this._y=l,this._z=h,this._w=p,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(r){return this._x=r.x,this._y=r.y,this._z=r.z,this._w=r.w,this._onChangeCallback(),this}setFromEuler(r,l=!0){const h=r._x,p=r._y,y=r._z,T=r._order,O=Math.cos,te=Math.sin,se=O(h/2),xe=O(p/2),Ne=O(y/2),Ve=te(h/2),We=te(p/2),tt=te(y/2);switch(T){case"XYZ":this._x=Ve*xe*Ne+se*We*tt,this._y=se*We*Ne-Ve*xe*tt,this._z=se*xe*tt+Ve*We*Ne,this._w=se*xe*Ne-Ve*We*tt;break;case"YXZ":this._x=Ve*xe*Ne+se*We*tt,this._y=se*We*Ne-Ve*xe*tt,this._z=se*xe*tt-Ve*We*Ne,this._w=se*xe*Ne+Ve*We*tt;break;case"ZXY":this._x=Ve*xe*Ne-se*We*tt,this._y=se*We*Ne+Ve*xe*tt,this._z=se*xe*tt+Ve*We*Ne,this._w=se*xe*Ne-Ve*We*tt;break;case"ZYX":this._x=Ve*xe*Ne-se*We*tt,this._y=se*We*Ne+Ve*xe*tt,this._z=se*xe*tt-Ve*We*Ne,this._w=se*xe*Ne+Ve*We*tt;break;case"YZX":this._x=Ve*xe*Ne+se*We*tt,this._y=se*We*Ne+Ve*xe*tt,this._z=se*xe*tt-Ve*We*Ne,this._w=se*xe*Ne-Ve*We*tt;break;case"XZY":this._x=Ve*xe*Ne-se*We*tt,this._y=se*We*Ne-Ve*xe*tt,this._z=se*xe*tt+Ve*We*Ne,this._w=se*xe*Ne+Ve*We*tt;break;default:na("Quaternion: .setFromEuler() encountered an unknown order: "+T)}return l===!0&&this._onChangeCallback(),this}setFromAxisAngle(r,l){const h=l/2,p=Math.sin(h);return this._x=r.x*p,this._y=r.y*p,this._z=r.z*p,this._w=Math.cos(h),this._onChangeCallback(),this}setFromRotationMatrix(r){const l=r.elements,h=l[0],p=l[4],y=l[8],T=l[1],O=l[5],te=l[9],se=l[2],xe=l[6],Ne=l[10],Ve=h+O+Ne;if(Ve>0){const We=.5/Math.sqrt(Ve+1);this._w=.25/We,this._x=(xe-te)*We,this._y=(y-se)*We,this._z=(T-p)*We}else if(h>O&&h>Ne){const We=2*Math.sqrt(1+h-O-Ne);this._w=(xe-te)/We,this._x=.25*We,this._y=(p+T)/We,this._z=(y+se)/We}else if(O>Ne){const We=2*Math.sqrt(1+O-h-Ne);this._w=(y-se)/We,this._x=(p+T)/We,this._y=.25*We,this._z=(te+xe)/We}else{const We=2*Math.sqrt(1+Ne-h-O);this._w=(T-p)/We,this._x=(y+se)/We,this._y=(te+xe)/We,this._z=.25*We}return this._onChangeCallback(),this}setFromUnitVectors(r,l){let h=r.dot(l)+1;return h<1e-8?(h=0,Math.abs(r.x)>Math.abs(r.z)?(this._x=-r.y,this._y=r.x,this._z=0,this._w=h):(this._x=0,this._y=-r.z,this._z=r.y,this._w=h)):(this._x=r.y*l.z-r.z*l.y,this._y=r.z*l.x-r.x*l.z,this._z=r.x*l.y-r.y*l.x,this._w=h),this.normalize()}angleTo(r){return 2*Math.acos(Math.abs(ki(this.dot(r),-1,1)))}rotateTowards(r,l){const h=this.angleTo(r);if(h===0)return this;const p=Math.min(1,l/h);return this.slerp(r,p),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(r){return this._x*r._x+this._y*r._y+this._z*r._z+this._w*r._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let r=this.length();return r===0?(this._x=0,this._y=0,this._z=0,this._w=1):(r=1/r,this._x=this._x*r,this._y=this._y*r,this._z=this._z*r,this._w=this._w*r),this._onChangeCallback(),this}multiply(r){return this.multiplyQuaternions(this,r)}premultiply(r){return this.multiplyQuaternions(r,this)}multiplyQuaternions(r,l){const h=r._x,p=r._y,y=r._z,T=r._w,O=l._x,te=l._y,se=l._z,xe=l._w;return this._x=h*xe+T*O+p*se-y*te,this._y=p*xe+T*te+y*O-h*se,this._z=y*xe+T*se+h*te-p*O,this._w=T*xe-h*O-p*te-y*se,this._onChangeCallback(),this}slerp(r,l){if(l<=0)return this;if(l>=1)return this.copy(r);let h=r._x,p=r._y,y=r._z,T=r._w,O=this.dot(r);O<0&&(h=-h,p=-p,y=-y,T=-T,O=-O);let te=1-l;if(O<.9995){const se=Math.acos(O),xe=Math.sin(se);te=Math.sin(te*se)/xe,l=Math.sin(l*se)/xe,this._x=this._x*te+h*l,this._y=this._y*te+p*l,this._z=this._z*te+y*l,this._w=this._w*te+T*l,this._onChangeCallback()}else this._x=this._x*te+h*l,this._y=this._y*te+p*l,this._z=this._z*te+y*l,this._w=this._w*te+T*l,this.normalize();return this}slerpQuaternions(r,l,h){return this.copy(r).slerp(l,h)}random(){const r=2*Math.PI*Math.random(),l=2*Math.PI*Math.random(),h=Math.random(),p=Math.sqrt(1-h),y=Math.sqrt(h);return this.set(p*Math.sin(r),p*Math.cos(r),y*Math.sin(l),y*Math.cos(l))}equals(r){return r._x===this._x&&r._y===this._y&&r._z===this._z&&r._w===this._w}fromArray(r,l=0){return this._x=r[l],this._y=r[l+1],this._z=r[l+2],this._w=r[l+3],this._onChangeCallback(),this}toArray(r=[],l=0){return r[l]=this._x,r[l+1]=this._y,r[l+2]=this._z,r[l+3]=this._w,r}fromBufferAttribute(r,l){return this._x=r.getX(l),this._y=r.getY(l),this._z=r.getZ(l),this._w=r.getW(l),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(r){return this._onChangeCallback=r,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class kn{constructor(r=0,l=0,h=0){kn.prototype.isVector3=!0,this.x=r,this.y=l,this.z=h}set(r,l,h){return h===void 0&&(h=this.z),this.x=r,this.y=l,this.z=h,this}setScalar(r){return this.x=r,this.y=r,this.z=r,this}setX(r){return this.x=r,this}setY(r){return this.y=r,this}setZ(r){return this.z=r,this}setComponent(r,l){switch(r){case 0:this.x=l;break;case 1:this.y=l;break;case 2:this.z=l;break;default:throw new Error("index is out of range: "+r)}return this}getComponent(r){switch(r){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+r)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(r){return this.x=r.x,this.y=r.y,this.z=r.z,this}add(r){return this.x+=r.x,this.y+=r.y,this.z+=r.z,this}addScalar(r){return this.x+=r,this.y+=r,this.z+=r,this}addVectors(r,l){return this.x=r.x+l.x,this.y=r.y+l.y,this.z=r.z+l.z,this}addScaledVector(r,l){return this.x+=r.x*l,this.y+=r.y*l,this.z+=r.z*l,this}sub(r){return this.x-=r.x,this.y-=r.y,this.z-=r.z,this}subScalar(r){return this.x-=r,this.y-=r,this.z-=r,this}subVectors(r,l){return this.x=r.x-l.x,this.y=r.y-l.y,this.z=r.z-l.z,this}multiply(r){return this.x*=r.x,this.y*=r.y,this.z*=r.z,this}multiplyScalar(r){return this.x*=r,this.y*=r,this.z*=r,this}multiplyVectors(r,l){return this.x=r.x*l.x,this.y=r.y*l.y,this.z=r.z*l.z,this}applyEuler(r){return this.applyQuaternion(Yh.setFromEuler(r))}applyAxisAngle(r,l){return this.applyQuaternion(Yh.setFromAxisAngle(r,l))}applyMatrix3(r){const l=this.x,h=this.y,p=this.z,y=r.elements;return this.x=y[0]*l+y[3]*h+y[6]*p,this.y=y[1]*l+y[4]*h+y[7]*p,this.z=y[2]*l+y[5]*h+y[8]*p,this}applyNormalMatrix(r){return this.applyMatrix3(r).normalize()}applyMatrix4(r){const l=this.x,h=this.y,p=this.z,y=r.elements,T=1/(y[3]*l+y[7]*h+y[11]*p+y[15]);return this.x=(y[0]*l+y[4]*h+y[8]*p+y[12])*T,this.y=(y[1]*l+y[5]*h+y[9]*p+y[13])*T,this.z=(y[2]*l+y[6]*h+y[10]*p+y[14])*T,this}applyQuaternion(r){const l=this.x,h=this.y,p=this.z,y=r.x,T=r.y,O=r.z,te=r.w,se=2*(T*p-O*h),xe=2*(O*l-y*p),Ne=2*(y*h-T*l);return this.x=l+te*se+T*Ne-O*xe,this.y=h+te*xe+O*se-y*Ne,this.z=p+te*Ne+y*xe-T*se,this}project(r){return this.applyMatrix4(r.matrixWorldInverse).applyMatrix4(r.projectionMatrix)}unproject(r){return this.applyMatrix4(r.projectionMatrixInverse).applyMatrix4(r.matrixWorld)}transformDirection(r){const l=this.x,h=this.y,p=this.z,y=r.elements;return this.x=y[0]*l+y[4]*h+y[8]*p,this.y=y[1]*l+y[5]*h+y[9]*p,this.z=y[2]*l+y[6]*h+y[10]*p,this.normalize()}divide(r){return this.x/=r.x,this.y/=r.y,this.z/=r.z,this}divideScalar(r){return this.multiplyScalar(1/r)}min(r){return this.x=Math.min(this.x,r.x),this.y=Math.min(this.y,r.y),this.z=Math.min(this.z,r.z),this}max(r){return this.x=Math.max(this.x,r.x),this.y=Math.max(this.y,r.y),this.z=Math.max(this.z,r.z),this}clamp(r,l){return this.x=ki(this.x,r.x,l.x),this.y=ki(this.y,r.y,l.y),this.z=ki(this.z,r.z,l.z),this}clampScalar(r,l){return this.x=ki(this.x,r,l),this.y=ki(this.y,r,l),this.z=ki(this.z,r,l),this}clampLength(r,l){const h=this.length();return this.divideScalar(h||1).multiplyScalar(ki(h,r,l))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(r){return this.x*r.x+this.y*r.y+this.z*r.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(r){return this.normalize().multiplyScalar(r)}lerp(r,l){return this.x+=(r.x-this.x)*l,this.y+=(r.y-this.y)*l,this.z+=(r.z-this.z)*l,this}lerpVectors(r,l,h){return this.x=r.x+(l.x-r.x)*h,this.y=r.y+(l.y-r.y)*h,this.z=r.z+(l.z-r.z)*h,this}cross(r){return this.crossVectors(this,r)}crossVectors(r,l){const h=r.x,p=r.y,y=r.z,T=l.x,O=l.y,te=l.z;return this.x=p*te-y*O,this.y=y*T-h*te,this.z=h*O-p*T,this}projectOnVector(r){const l=r.lengthSq();if(l===0)return this.set(0,0,0);const h=r.dot(this)/l;return this.copy(r).multiplyScalar(h)}projectOnPlane(r){return kd.copy(this).projectOnVector(r),this.sub(kd)}reflect(r){return this.sub(kd.copy(r).multiplyScalar(2*this.dot(r)))}angleTo(r){const l=Math.sqrt(this.lengthSq()*r.lengthSq());if(l===0)return Math.PI/2;const h=this.dot(r)/l;return Math.acos(ki(h,-1,1))}distanceTo(r){return Math.sqrt(this.distanceToSquared(r))}distanceToSquared(r){const l=this.x-r.x,h=this.y-r.y,p=this.z-r.z;return l*l+h*h+p*p}manhattanDistanceTo(r){return Math.abs(this.x-r.x)+Math.abs(this.y-r.y)+Math.abs(this.z-r.z)}setFromSpherical(r){return this.setFromSphericalCoords(r.radius,r.phi,r.theta)}setFromSphericalCoords(r,l,h){const p=Math.sin(l)*r;return this.x=p*Math.sin(h),this.y=Math.cos(l)*r,this.z=p*Math.cos(h),this}setFromCylindrical(r){return this.setFromCylindricalCoords(r.radius,r.theta,r.y)}setFromCylindricalCoords(r,l,h){return this.x=r*Math.sin(l),this.y=h,this.z=r*Math.cos(l),this}setFromMatrixPosition(r){const l=r.elements;return this.x=l[12],this.y=l[13],this.z=l[14],this}setFromMatrixScale(r){const l=this.setFromMatrixColumn(r,0).length(),h=this.setFromMatrixColumn(r,1).length(),p=this.setFromMatrixColumn(r,2).length();return this.x=l,this.y=h,this.z=p,this}setFromMatrixColumn(r,l){return this.fromArray(r.elements,l*4)}setFromMatrix3Column(r,l){return this.fromArray(r.elements,l*3)}setFromEuler(r){return this.x=r._x,this.y=r._y,this.z=r._z,this}setFromColor(r){return this.x=r.r,this.y=r.g,this.z=r.b,this}equals(r){return r.x===this.x&&r.y===this.y&&r.z===this.z}fromArray(r,l=0){return this.x=r[l],this.y=r[l+1],this.z=r[l+2],this}toArray(r=[],l=0){return r[l]=this.x,r[l+1]=this.y,r[l+2]=this.z,r}fromBufferAttribute(r,l){return this.x=r.getX(l),this.y=r.getY(l),this.z=r.getZ(l),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const r=Math.random()*Math.PI*2,l=Math.random()*2-1,h=Math.sqrt(1-l*l);return this.x=h*Math.cos(r),this.y=l,this.z=h*Math.sin(r),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const kd=new kn,Yh=new Du;class vl{constructor(r,l,h,p,y,T,O,te,se){vl.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],r!==void 0&&this.set(r,l,h,p,y,T,O,te,se)}set(r,l,h,p,y,T,O,te,se){const xe=this.elements;return xe[0]=r,xe[1]=p,xe[2]=O,xe[3]=l,xe[4]=y,xe[5]=te,xe[6]=h,xe[7]=T,xe[8]=se,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(r){const l=this.elements,h=r.elements;return l[0]=h[0],l[1]=h[1],l[2]=h[2],l[3]=h[3],l[4]=h[4],l[5]=h[5],l[6]=h[6],l[7]=h[7],l[8]=h[8],this}extractBasis(r,l,h){return r.setFromMatrix3Column(this,0),l.setFromMatrix3Column(this,1),h.setFromMatrix3Column(this,2),this}setFromMatrix4(r){const l=r.elements;return this.set(l[0],l[4],l[8],l[1],l[5],l[9],l[2],l[6],l[10]),this}multiply(r){return this.multiplyMatrices(this,r)}premultiply(r){return this.multiplyMatrices(r,this)}multiplyMatrices(r,l){const h=r.elements,p=l.elements,y=this.elements,T=h[0],O=h[3],te=h[6],se=h[1],xe=h[4],Ne=h[7],Ve=h[2],We=h[5],tt=h[8],Ot=p[0],An=p[3],un=p[6],Un=p[1],Vn=p[4],nr=p[7],ii=p[2],pi=p[5],Bi=p[8];return y[0]=T*Ot+O*Un+te*ii,y[3]=T*An+O*Vn+te*pi,y[6]=T*un+O*nr+te*Bi,y[1]=se*Ot+xe*Un+Ne*ii,y[4]=se*An+xe*Vn+Ne*pi,y[7]=se*un+xe*nr+Ne*Bi,y[2]=Ve*Ot+We*Un+tt*ii,y[5]=Ve*An+We*Vn+tt*pi,y[8]=Ve*un+We*nr+tt*Bi,this}multiplyScalar(r){const l=this.elements;return l[0]*=r,l[3]*=r,l[6]*=r,l[1]*=r,l[4]*=r,l[7]*=r,l[2]*=r,l[5]*=r,l[8]*=r,this}determinant(){const r=this.elements,l=r[0],h=r[1],p=r[2],y=r[3],T=r[4],O=r[5],te=r[6],se=r[7],xe=r[8];return l*T*xe-l*O*se-h*y*xe+h*O*te+p*y*se-p*T*te}invert(){const r=this.elements,l=r[0],h=r[1],p=r[2],y=r[3],T=r[4],O=r[5],te=r[6],se=r[7],xe=r[8],Ne=xe*T-O*se,Ve=O*te-xe*y,We=se*y-T*te,tt=l*Ne+h*Ve+p*We;if(tt===0)return this.set(0,0,0,0,0,0,0,0,0);const Ot=1/tt;return r[0]=Ne*Ot,r[1]=(p*se-xe*h)*Ot,r[2]=(O*h-p*T)*Ot,r[3]=Ve*Ot,r[4]=(xe*l-p*te)*Ot,r[5]=(p*y-O*l)*Ot,r[6]=We*Ot,r[7]=(h*te-se*l)*Ot,r[8]=(T*l-h*y)*Ot,this}transpose(){let r;const l=this.elements;return r=l[1],l[1]=l[3],l[3]=r,r=l[2],l[2]=l[6],l[6]=r,r=l[5],l[5]=l[7],l[7]=r,this}getNormalMatrix(r){return this.setFromMatrix4(r).invert().transpose()}transposeIntoArray(r){const l=this.elements;return r[0]=l[0],r[1]=l[3],r[2]=l[6],r[3]=l[1],r[4]=l[4],r[5]=l[7],r[6]=l[2],r[7]=l[5],r[8]=l[8],this}setUvTransform(r,l,h,p,y,T,O){const te=Math.cos(y),se=Math.sin(y);return this.set(h*te,h*se,-h*(te*T+se*O)+T+r,-p*se,p*te,-p*(-se*T+te*O)+O+l,0,0,1),this}scale(r,l){return this.premultiply(He.makeScale(r,l)),this}rotate(r){return this.premultiply(He.makeRotation(-r)),this}translate(r,l){return this.premultiply(He.makeTranslation(r,l)),this}makeTranslation(r,l){return r.isVector2?this.set(1,0,r.x,0,1,r.y,0,0,1):this.set(1,0,r,0,1,l,0,0,1),this}makeRotation(r){const l=Math.cos(r),h=Math.sin(r);return this.set(l,-h,0,h,l,0,0,0,1),this}makeScale(r,l){return this.set(r,0,0,0,l,0,0,0,1),this}equals(r){const l=this.elements,h=r.elements;for(let p=0;p<9;p++)if(l[p]!==h[p])return!1;return!0}fromArray(r,l=0){for(let h=0;h<9;h++)this.elements[h]=r[h+l];return this}toArray(r=[],l=0){const h=this.elements;return r[l]=h[0],r[l+1]=h[1],r[l+2]=h[2],r[l+3]=h[3],r[l+4]=h[4],r[l+5]=h[5],r[l+6]=h[6],r[l+7]=h[7],r[l+8]=h[8],r}clone(){return new this.constructor().fromArray(this.elements)}}const He=new vl,me=new vl().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),ce=new vl().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Ze(){const ue={enabled:!0,workingColorSpace:Ll,spaces:{},convert:function(p,y,T){return this.enabled===!1||y===T||!y||!T||(this.spaces[y].transfer===ao&&(p.r=Nt(p.r),p.g=Nt(p.g),p.b=Nt(p.b)),this.spaces[y].primaries!==this.spaces[T].primaries&&(p.applyMatrix3(this.spaces[y].toXYZ),p.applyMatrix3(this.spaces[T].fromXYZ)),this.spaces[T].transfer===ao&&(p.r=Dt(p.r),p.g=Dt(p.g),p.b=Dt(p.b))),p},workingToColorSpace:function(p,y){return this.convert(p,this.workingColorSpace,y)},colorSpaceToWorking:function(p,y){return this.convert(p,y,this.workingColorSpace)},getPrimaries:function(p){return this.spaces[p].primaries},getTransfer:function(p){return p===il?Lu:this.spaces[p].transfer},getToneMappingMode:function(p){return this.spaces[p].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(p,y=this.workingColorSpace){return p.fromArray(this.spaces[y].luminanceCoefficients)},define:function(p){Object.assign(this.spaces,p)},_getMatrix:function(p,y,T){return p.copy(this.spaces[y].toXYZ).multiply(this.spaces[T].fromXYZ)},_getDrawingBufferColorSpace:function(p){return this.spaces[p].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(p=this.workingColorSpace){return this.spaces[p].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(p,y){return yh("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),ue.workingToColorSpace(p,y)},toWorkingColorSpace:function(p,y){return yh("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),ue.colorSpaceToWorking(p,y)}},r=[.64,.33,.3,.6,.15,.06],l=[.2126,.7152,.0722],h=[.3127,.329];return ue.define({[Ll]:{primaries:r,whitePoint:h,transfer:Lu,toXYZ:me,fromXYZ:ce,luminanceCoefficients:l,workingColorSpaceConfig:{unpackColorSpace:go},outputColorSpaceConfig:{drawingBufferColorSpace:go}},[go]:{primaries:r,whitePoint:h,transfer:ao,toXYZ:me,fromXYZ:ce,luminanceCoefficients:l,outputColorSpaceConfig:{drawingBufferColorSpace:go}}}),ue}const le=Ze();function Nt(ue){return ue<.04045?ue*.0773993808:Math.pow(ue*.9478672986+.0521327014,2.4)}function Dt(ue){return ue<.0031308?ue*12.92:1.055*Math.pow(ue,.41666)-.055}let pn;class Dn{static getDataURL(r,l="image/png"){if(/^data:/i.test(r.src)||typeof HTMLCanvasElement=="undefined")return r.src;let h;if(r instanceof HTMLCanvasElement)h=r;else{pn===void 0&&(pn=To("canvas")),pn.width=r.width,pn.height=r.height;const p=pn.getContext("2d");r instanceof ImageData?p.putImageData(r,0,0):p.drawImage(r,0,0,r.width,r.height),h=pn}return h.toDataURL(l)}static sRGBToLinear(r){if(typeof HTMLImageElement!="undefined"&&r instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&r instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&r instanceof ImageBitmap){const l=To("canvas");l.width=r.width,l.height=r.height;const h=l.getContext("2d");h.drawImage(r,0,0,r.width,r.height);const p=h.getImageData(0,0,r.width,r.height),y=p.data;for(let T=0;T1),this.pmremVersion=0}get width(){return this.source.getSize(Fr).x}get height(){return this.source.getSize(Fr).y}get depth(){return this.source.getSize(Fr).z}get image(){return this.source.data}set image(r=null){this.source.data=r}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(r,l){this.updateRanges.push({start:r,count:l})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(r){return this.name=r.name,this.source=r.source,this.mipmaps=r.mipmaps.slice(0),this.mapping=r.mapping,this.channel=r.channel,this.wrapS=r.wrapS,this.wrapT=r.wrapT,this.magFilter=r.magFilter,this.minFilter=r.minFilter,this.anisotropy=r.anisotropy,this.format=r.format,this.internalFormat=r.internalFormat,this.type=r.type,this.offset.copy(r.offset),this.repeat.copy(r.repeat),this.center.copy(r.center),this.rotation=r.rotation,this.matrixAutoUpdate=r.matrixAutoUpdate,this.matrix.copy(r.matrix),this.generateMipmaps=r.generateMipmaps,this.premultiplyAlpha=r.premultiplyAlpha,this.flipY=r.flipY,this.unpackAlignment=r.unpackAlignment,this.colorSpace=r.colorSpace,this.renderTarget=r.renderTarget,this.isRenderTargetTexture=r.isRenderTargetTexture,this.isArrayTexture=r.isArrayTexture,this.userData=JSON.parse(JSON.stringify(r.userData)),this.needsUpdate=!0,this}setValues(r){for(const l in r){const h=r[l];if(h===void 0){na(`Texture.setValues(): parameter '${l}' has value of undefined.`);continue}const p=this[l];if(p===void 0){na(`Texture.setValues(): property '${l}' does not exist.`);continue}p&&h&&p.isVector2&&h.isVector2||p&&h&&p.isVector3&&h.isVector3||p&&h&&p.isMatrix3&&h.isMatrix3?p.copy(h):this[l]=h}}toJSON(r){const l=r===void 0||typeof r=="string";if(!l&&r.textures[this.uuid]!==void 0)return r.textures[this.uuid];const h={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(r).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(h.userData=this.userData),l||(r.textures[this.uuid]=h),h}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(r){if(this.mapping!==be)return r;if(r.applyMatrix3(this.matrix),r.x<0||r.x>1)switch(this.wrapS){case $t:r.x=r.x-Math.floor(r.x);break;case Vt:r.x=r.x<0?0:1;break;case Qt:Math.abs(Math.floor(r.x)%2)===1?r.x=Math.ceil(r.x)-r.x:r.x=r.x-Math.floor(r.x);break}if(r.y<0||r.y>1)switch(this.wrapT){case $t:r.y=r.y-Math.floor(r.y);break;case Vt:r.y=r.y<0?0:1;break;case Qt:Math.abs(Math.floor(r.y)%2)===1?r.y=Math.ceil(r.y)-r.y:r.y=r.y-Math.floor(r.y);break}return this.flipY&&(r.y=1-r.y),r}set needsUpdate(r){r===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(r){r===!0&&this.pmremVersion++}}ri.DEFAULT_IMAGE=null,ri.DEFAULT_MAPPING=be,ri.DEFAULT_ANISOTROPY=1;class ai{constructor(r=0,l=0,h=0,p=1){ai.prototype.isVector4=!0,this.x=r,this.y=l,this.z=h,this.w=p}get width(){return this.z}set width(r){this.z=r}get height(){return this.w}set height(r){this.w=r}set(r,l,h,p){return this.x=r,this.y=l,this.z=h,this.w=p,this}setScalar(r){return this.x=r,this.y=r,this.z=r,this.w=r,this}setX(r){return this.x=r,this}setY(r){return this.y=r,this}setZ(r){return this.z=r,this}setW(r){return this.w=r,this}setComponent(r,l){switch(r){case 0:this.x=l;break;case 1:this.y=l;break;case 2:this.z=l;break;case 3:this.w=l;break;default:throw new Error("index is out of range: "+r)}return this}getComponent(r){switch(r){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+r)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(r){return this.x=r.x,this.y=r.y,this.z=r.z,this.w=r.w!==void 0?r.w:1,this}add(r){return this.x+=r.x,this.y+=r.y,this.z+=r.z,this.w+=r.w,this}addScalar(r){return this.x+=r,this.y+=r,this.z+=r,this.w+=r,this}addVectors(r,l){return this.x=r.x+l.x,this.y=r.y+l.y,this.z=r.z+l.z,this.w=r.w+l.w,this}addScaledVector(r,l){return this.x+=r.x*l,this.y+=r.y*l,this.z+=r.z*l,this.w+=r.w*l,this}sub(r){return this.x-=r.x,this.y-=r.y,this.z-=r.z,this.w-=r.w,this}subScalar(r){return this.x-=r,this.y-=r,this.z-=r,this.w-=r,this}subVectors(r,l){return this.x=r.x-l.x,this.y=r.y-l.y,this.z=r.z-l.z,this.w=r.w-l.w,this}multiply(r){return this.x*=r.x,this.y*=r.y,this.z*=r.z,this.w*=r.w,this}multiplyScalar(r){return this.x*=r,this.y*=r,this.z*=r,this.w*=r,this}applyMatrix4(r){const l=this.x,h=this.y,p=this.z,y=this.w,T=r.elements;return this.x=T[0]*l+T[4]*h+T[8]*p+T[12]*y,this.y=T[1]*l+T[5]*h+T[9]*p+T[13]*y,this.z=T[2]*l+T[6]*h+T[10]*p+T[14]*y,this.w=T[3]*l+T[7]*h+T[11]*p+T[15]*y,this}divide(r){return this.x/=r.x,this.y/=r.y,this.z/=r.z,this.w/=r.w,this}divideScalar(r){return this.multiplyScalar(1/r)}setAxisAngleFromQuaternion(r){this.w=2*Math.acos(r.w);const l=Math.sqrt(1-r.w*r.w);return l<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=r.x/l,this.y=r.y/l,this.z=r.z/l),this}setAxisAngleFromRotationMatrix(r){let l,h,p,y;const te=r.elements,se=te[0],xe=te[4],Ne=te[8],Ve=te[1],We=te[5],tt=te[9],Ot=te[2],An=te[6],un=te[10];if(Math.abs(xe-Ve)<.01&&Math.abs(Ne-Ot)<.01&&Math.abs(tt-An)<.01){if(Math.abs(xe+Ve)<.1&&Math.abs(Ne+Ot)<.1&&Math.abs(tt+An)<.1&&Math.abs(se+We+un-3)<.1)return this.set(1,0,0,0),this;l=Math.PI;const Vn=(se+1)/2,nr=(We+1)/2,ii=(un+1)/2,pi=(xe+Ve)/4,Bi=(Ne+Ot)/4,mi=(tt+An)/4;return Vn>nr&&Vn>ii?Vn<.01?(h=0,p=.707106781,y=.707106781):(h=Math.sqrt(Vn),p=pi/h,y=Bi/h):nr>ii?nr<.01?(h=.707106781,p=0,y=.707106781):(p=Math.sqrt(nr),h=pi/p,y=mi/p):ii<.01?(h=.707106781,p=.707106781,y=0):(y=Math.sqrt(ii),h=Bi/y,p=mi/y),this.set(h,p,y,l),this}let Un=Math.sqrt((An-tt)*(An-tt)+(Ne-Ot)*(Ne-Ot)+(Ve-xe)*(Ve-xe));return Math.abs(Un)<.001&&(Un=1),this.x=(An-tt)/Un,this.y=(Ne-Ot)/Un,this.z=(Ve-xe)/Un,this.w=Math.acos((se+We+un-1)/2),this}setFromMatrixPosition(r){const l=r.elements;return this.x=l[12],this.y=l[13],this.z=l[14],this.w=l[15],this}min(r){return this.x=Math.min(this.x,r.x),this.y=Math.min(this.y,r.y),this.z=Math.min(this.z,r.z),this.w=Math.min(this.w,r.w),this}max(r){return this.x=Math.max(this.x,r.x),this.y=Math.max(this.y,r.y),this.z=Math.max(this.z,r.z),this.w=Math.max(this.w,r.w),this}clamp(r,l){return this.x=ki(this.x,r.x,l.x),this.y=ki(this.y,r.y,l.y),this.z=ki(this.z,r.z,l.z),this.w=ki(this.w,r.w,l.w),this}clampScalar(r,l){return this.x=ki(this.x,r,l),this.y=ki(this.y,r,l),this.z=ki(this.z,r,l),this.w=ki(this.w,r,l),this}clampLength(r,l){const h=this.length();return this.divideScalar(h||1).multiplyScalar(ki(h,r,l))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(r){return this.x*r.x+this.y*r.y+this.z*r.z+this.w*r.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(r){return this.normalize().multiplyScalar(r)}lerp(r,l){return this.x+=(r.x-this.x)*l,this.y+=(r.y-this.y)*l,this.z+=(r.z-this.z)*l,this.w+=(r.w-this.w)*l,this}lerpVectors(r,l,h){return this.x=r.x+(l.x-r.x)*h,this.y=r.y+(l.y-r.y)*h,this.z=r.z+(l.z-r.z)*h,this.w=r.w+(l.w-r.w)*h,this}equals(r){return r.x===this.x&&r.y===this.y&&r.z===this.z&&r.w===this.w}fromArray(r,l=0){return this.x=r[l],this.y=r[l+1],this.z=r[l+2],this.w=r[l+3],this}toArray(r=[],l=0){return r[l]=this.x,r[l+1]=this.y,r[l+2]=this.z,r[l+3]=this.w,r}fromBufferAttribute(r,l){return this.x=r.getX(l),this.y=r.getY(l),this.z=r.getZ(l),this.w=r.getW(l),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class wi extends null{constructor(r=1,l=1,h={}){super(),h=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:vr,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},h),this.isRenderTarget=!0,this.width=r,this.height=l,this.depth=h.depth,this.scissor=new ai(0,0,r,l),this.scissorTest=!1,this.viewport=new ai(0,0,r,l);const p={width:r,height:l,depth:h.depth},y=new ri(p);this.textures=[];const T=h.count;for(let O=0;O1);this.dispose()}this.viewport.set(0,0,r,l),this.scissor.set(0,0,r,l)}clone(){return new this.constructor().copy(this)}copy(r){this.width=r.width,this.height=r.height,this.depth=r.depth,this.scissor.copy(r.scissor),this.scissorTest=r.scissorTest,this.viewport.copy(r.viewport),this.textures.length=0;for(let l=0,h=r.textures.length;l=this.min.x&&r.x<=this.max.x&&r.y>=this.min.y&&r.y<=this.max.y&&r.z>=this.min.z&&r.z<=this.max.z}containsBox(r){return this.min.x<=r.min.x&&r.max.x<=this.max.x&&this.min.y<=r.min.y&&r.max.y<=this.max.y&&this.min.z<=r.min.z&&r.max.z<=this.max.z}getParameter(r,l){return l.set((r.x-this.min.x)/(this.max.x-this.min.x),(r.y-this.min.y)/(this.max.y-this.min.y),(r.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(r){return r.max.x>=this.min.x&&r.min.x<=this.max.x&&r.max.y>=this.min.y&&r.min.y<=this.max.y&&r.max.z>=this.min.z&&r.min.z<=this.max.z}intersectsSphere(r){return this.clampPoint(r.center,Ns),Ns.distanceToSquared(r.center)<=r.radius*r.radius}intersectsPlane(r){let l,h;return r.normal.x>0?(l=r.normal.x*this.min.x,h=r.normal.x*this.max.x):(l=r.normal.x*this.max.x,h=r.normal.x*this.min.x),r.normal.y>0?(l+=r.normal.y*this.min.y,h+=r.normal.y*this.max.y):(l+=r.normal.y*this.max.y,h+=r.normal.y*this.min.y),r.normal.z>0?(l+=r.normal.z*this.min.z,h+=r.normal.z*this.max.z):(l+=r.normal.z*this.max.z,h+=r.normal.z*this.min.z),l<=-r.constant&&h>=-r.constant}intersectsTriangle(r){if(this.isEmpty())return!1;this.getCenter(fe),Te.subVectors(this.max,fe),_a.subVectors(r.a,fe),Sa.subVectors(r.b,fe),oe.subVectors(r.c,fe),re.subVectors(Sa,_a),Y.subVectors(oe,Sa),J.subVectors(_a,oe);let l=[0,-re.z,re.y,0,-Y.z,Y.y,0,-J.z,J.y,re.z,0,-re.x,Y.z,0,-Y.x,J.z,0,-J.x,-re.y,re.x,0,-Y.y,Y.x,0,-J.y,J.x,0];return!Xe(l,_a,Sa,oe,Te)||(l=[1,0,0,0,1,0,0,0,1],!Xe(l,_a,Sa,oe,Te))?!1:(De.crossVectors(re,Y),l=[De.x,De.y,De.z],Xe(l,_a,Sa,oe,Te))}clampPoint(r,l){return l.copy(r).clamp(this.min,this.max)}distanceToPoint(r){return this.clampPoint(r,Ns).distanceTo(r)}getBoundingSphere(r){return this.isEmpty()?r.makeEmpty():(this.getCenter(r.center),r.radius=this.getSize(Ns).length()*.5),r}intersect(r){return this.min.max(r.min),this.max.min(r.max),this.isEmpty()&&this.makeEmpty(),this}union(r){return this.min.min(r.min),this.max.max(r.max),this}applyMatrix4(r){return this.isEmpty()?this:(Ni[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(r),Ni[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(r),Ni[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(r),Ni[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(r),Ni[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(r),Ni[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(r),Ni[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(r),Ni[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(r),this.setFromPoints(Ni),this)}translate(r){return this.min.add(r),this.max.add(r),this}equals(r){return r.min.equals(this.min)&&r.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(r){return this.min.fromArray(r.min),this.max.fromArray(r.max),this}}const Ni=[new kn,new kn,new kn,new kn,new kn,new kn,new kn,new kn],Ns=new kn,Os=new zi,_a=new kn,Sa=new kn,oe=new kn,re=new kn,Y=new kn,J=new kn,fe=new kn,Te=new kn,De=new kn,Le=new kn;function Xe(ue,r,l,h,p){for(let y=0,T=ue.length-3;y<=T;y+=3){Le.fromArray(ue,y);const O=p.x*Math.abs(Le.x)+p.y*Math.abs(Le.y)+p.z*Math.abs(Le.z),te=r.dot(Le),se=l.dot(Le),xe=h.dot(Le);if(Math.max(-Math.max(te,se,xe),Math.min(te,se,xe))>O)return!1}return!0}const mt=new zi,Kt=new kn,nn=new kn;class gn{constructor(r=new kn,l=-1){this.isSphere=!0,this.center=r,this.radius=l}set(r,l){return this.center.copy(r),this.radius=l,this}setFromPoints(r,l){const h=this.center;l!==void 0?h.copy(l):mt.setFromPoints(r).getCenter(h);let p=0;for(let y=0,T=r.length;ythis.radius*this.radius&&(l.sub(this.center).normalize(),l.multiplyScalar(this.radius).add(this.center)),l}getBoundingBox(r){return this.isEmpty()?(r.makeEmpty(),r):(r.set(this.center,this.center),r.expandByScalar(this.radius),r)}applyMatrix4(r){return this.center.applyMatrix4(r),this.radius=this.radius*r.getMaxScaleOnAxis(),this}translate(r){return this.center.add(r),this}expandByPoint(r){if(this.isEmpty())return this.center.copy(r),this.radius=0,this;Kt.subVectors(r,this.center);const l=Kt.lengthSq();if(l>this.radius*this.radius){const h=Math.sqrt(l),p=(h-this.radius)*.5;this.center.addScaledVector(Kt,p/h),this.radius+=p}return this}union(r){return r.isEmpty()?this:this.isEmpty()?(this.copy(r),this):(this.center.equals(r.center)===!0?this.radius=Math.max(this.radius,r.radius):(nn.subVectors(r.center,this.center).setLength(r.radius),this.expandByPoint(Kt.copy(r.center).add(nn)),this.expandByPoint(Kt.copy(r.center).sub(nn))),this)}equals(r){return r.center.equals(this.center)&&r.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(r){return this.radius=r.radius,this.center.fromArray(r.center),this}}const Nn=new kn,$n=new kn,Er=new kn,mr=new kn,ti=new kn,jr=new kn,ui=new kn;class gi{constructor(r=new kn,l=new kn(0,0,-1)){this.origin=r,this.direction=l}set(r,l){return this.origin.copy(r),this.direction.copy(l),this}copy(r){return this.origin.copy(r.origin),this.direction.copy(r.direction),this}at(r,l){return l.copy(this.origin).addScaledVector(this.direction,r)}lookAt(r){return this.direction.copy(r).sub(this.origin).normalize(),this}recast(r){return this.origin.copy(this.at(r,Nn)),this}closestPointToPoint(r,l){l.subVectors(r,this.origin);const h=l.dot(this.direction);return h<0?l.copy(this.origin):l.copy(this.origin).addScaledVector(this.direction,h)}distanceToPoint(r){return Math.sqrt(this.distanceSqToPoint(r))}distanceSqToPoint(r){const l=Nn.subVectors(r,this.origin).dot(this.direction);return l<0?this.origin.distanceToSquared(r):(Nn.copy(this.origin).addScaledVector(this.direction,l),Nn.distanceToSquared(r))}distanceSqToSegment(r,l,h,p){$n.copy(r).add(l).multiplyScalar(.5),Er.copy(l).sub(r).normalize(),mr.copy(this.origin).sub($n);const y=r.distanceTo(l)*.5,T=-this.direction.dot(Er),O=mr.dot(this.direction),te=-mr.dot(Er),se=mr.lengthSq(),xe=Math.abs(1-T*T);let Ne,Ve,We,tt;if(xe>0)if(Ne=T*te-O,Ve=T*O-te,tt=y*xe,Ne>=0)if(Ve>=-tt)if(Ve<=tt){const Ot=1/xe;Ne*=Ot,Ve*=Ot,We=Ne*(Ne+T*Ve+2*O)+Ve*(T*Ne+Ve+2*te)+se}else Ve=y,Ne=Math.max(0,-(T*Ve+O)),We=-Ne*Ne+Ve*(Ve+2*te)+se;else Ve=-y,Ne=Math.max(0,-(T*Ve+O)),We=-Ne*Ne+Ve*(Ve+2*te)+se;else Ve<=-tt?(Ne=Math.max(0,-(-T*y+O)),Ve=Ne>0?-y:Math.min(Math.max(-y,-te),y),We=-Ne*Ne+Ve*(Ve+2*te)+se):Ve<=tt?(Ne=0,Ve=Math.min(Math.max(-y,-te),y),We=Ve*(Ve+2*te)+se):(Ne=Math.max(0,-(T*y+O)),Ve=Ne>0?y:Math.min(Math.max(-y,-te),y),We=-Ne*Ne+Ve*(Ve+2*te)+se);else Ve=T>0?-y:y,Ne=Math.max(0,-(T*Ve+O)),We=-Ne*Ne+Ve*(Ve+2*te)+se;return h&&h.copy(this.origin).addScaledVector(this.direction,Ne),p&&p.copy($n).addScaledVector(Er,Ve),We}intersectSphere(r,l){Nn.subVectors(r.center,this.origin);const h=Nn.dot(this.direction),p=Nn.dot(Nn)-h*h,y=r.radius*r.radius;if(p>y)return null;const T=Math.sqrt(y-p),O=h-T,te=h+T;return te<0?null:O<0?this.at(te,l):this.at(O,l)}intersectsSphere(r){return r.radius<0?!1:this.distanceSqToPoint(r.center)<=r.radius*r.radius}distanceToPlane(r){const l=r.normal.dot(this.direction);if(l===0)return r.distanceToPoint(this.origin)===0?0:null;const h=-(this.origin.dot(r.normal)+r.constant)/l;return h>=0?h:null}intersectPlane(r,l){const h=this.distanceToPlane(r);return h===null?null:this.at(h,l)}intersectsPlane(r){const l=r.distanceToPoint(this.origin);return l===0||r.normal.dot(this.direction)*l<0}intersectBox(r,l){let h,p,y,T,O,te;const se=1/this.direction.x,xe=1/this.direction.y,Ne=1/this.direction.z,Ve=this.origin;return se>=0?(h=(r.min.x-Ve.x)*se,p=(r.max.x-Ve.x)*se):(h=(r.max.x-Ve.x)*se,p=(r.min.x-Ve.x)*se),xe>=0?(y=(r.min.y-Ve.y)*xe,T=(r.max.y-Ve.y)*xe):(y=(r.max.y-Ve.y)*xe,T=(r.min.y-Ve.y)*xe),h>T||y>p||((y>h||isNaN(h))&&(h=y),(T=0?(O=(r.min.z-Ve.z)*Ne,te=(r.max.z-Ve.z)*Ne):(O=(r.max.z-Ve.z)*Ne,te=(r.min.z-Ve.z)*Ne),h>te||O>p)||((O>h||h!==h)&&(h=O),(te=0?h:p,l)}intersectsBox(r){return this.intersectBox(r,Nn)!==null}intersectTriangle(r,l,h,p,y){ti.subVectors(l,r),jr.subVectors(h,r),ui.crossVectors(ti,jr);let T=this.direction.dot(ui),O;if(T>0){if(p)return null;O=1}else if(T<0)O=-1,T=-T;else return null;mr.subVectors(this.origin,r);const te=O*this.direction.dot(jr.crossVectors(mr,jr));if(te<0)return null;const se=O*this.direction.dot(ti.cross(mr));if(se<0||te+se>T)return null;const xe=-O*mr.dot(ui);return xe<0?null:this.at(xe/T,y)}applyMatrix4(r){return this.origin.applyMatrix4(r),this.direction.transformDirection(r),this}equals(r){return r.origin.equals(this.origin)&&r.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class oi{constructor(r,l,h,p,y,T,O,te,se,xe,Ne,Ve,We,tt,Ot,An){oi.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r!==void 0&&this.set(r,l,h,p,y,T,O,te,se,xe,Ne,Ve,We,tt,Ot,An)}set(r,l,h,p,y,T,O,te,se,xe,Ne,Ve,We,tt,Ot,An){const un=this.elements;return un[0]=r,un[4]=l,un[8]=h,un[12]=p,un[1]=y,un[5]=T,un[9]=O,un[13]=te,un[2]=se,un[6]=xe,un[10]=Ne,un[14]=Ve,un[3]=We,un[7]=tt,un[11]=Ot,un[15]=An,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new oi().fromArray(this.elements)}copy(r){const l=this.elements,h=r.elements;return l[0]=h[0],l[1]=h[1],l[2]=h[2],l[3]=h[3],l[4]=h[4],l[5]=h[5],l[6]=h[6],l[7]=h[7],l[8]=h[8],l[9]=h[9],l[10]=h[10],l[11]=h[11],l[12]=h[12],l[13]=h[13],l[14]=h[14],l[15]=h[15],this}copyPosition(r){const l=this.elements,h=r.elements;return l[12]=h[12],l[13]=h[13],l[14]=h[14],this}setFromMatrix3(r){const l=r.elements;return this.set(l[0],l[3],l[6],0,l[1],l[4],l[7],0,l[2],l[5],l[8],0,0,0,0,1),this}extractBasis(r,l,h){return r.setFromMatrixColumn(this,0),l.setFromMatrixColumn(this,1),h.setFromMatrixColumn(this,2),this}makeBasis(r,l,h){return this.set(r.x,l.x,h.x,0,r.y,l.y,h.y,0,r.z,l.z,h.z,0,0,0,0,1),this}extractRotation(r){const l=this.elements,h=r.elements,p=1/ts.setFromMatrixColumn(r,0).length(),y=1/ts.setFromMatrixColumn(r,1).length(),T=1/ts.setFromMatrixColumn(r,2).length();return l[0]=h[0]*p,l[1]=h[1]*p,l[2]=h[2]*p,l[3]=0,l[4]=h[4]*y,l[5]=h[5]*y,l[6]=h[6]*y,l[7]=0,l[8]=h[8]*T,l[9]=h[9]*T,l[10]=h[10]*T,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this}makeRotationFromEuler(r){const l=this.elements,h=r.x,p=r.y,y=r.z,T=Math.cos(h),O=Math.sin(h),te=Math.cos(p),se=Math.sin(p),xe=Math.cos(y),Ne=Math.sin(y);if(r.order==="XYZ"){const Ve=T*xe,We=T*Ne,tt=O*xe,Ot=O*Ne;l[0]=te*xe,l[4]=-te*Ne,l[8]=se,l[1]=We+tt*se,l[5]=Ve-Ot*se,l[9]=-O*te,l[2]=Ot-Ve*se,l[6]=tt+We*se,l[10]=T*te}else if(r.order==="YXZ"){const Ve=te*xe,We=te*Ne,tt=se*xe,Ot=se*Ne;l[0]=Ve+Ot*O,l[4]=tt*O-We,l[8]=T*se,l[1]=T*Ne,l[5]=T*xe,l[9]=-O,l[2]=We*O-tt,l[6]=Ot+Ve*O,l[10]=T*te}else if(r.order==="ZXY"){const Ve=te*xe,We=te*Ne,tt=se*xe,Ot=se*Ne;l[0]=Ve-Ot*O,l[4]=-T*Ne,l[8]=tt+We*O,l[1]=We+tt*O,l[5]=T*xe,l[9]=Ot-Ve*O,l[2]=-T*se,l[6]=O,l[10]=T*te}else if(r.order==="ZYX"){const Ve=T*xe,We=T*Ne,tt=O*xe,Ot=O*Ne;l[0]=te*xe,l[4]=tt*se-We,l[8]=Ve*se+Ot,l[1]=te*Ne,l[5]=Ot*se+Ve,l[9]=We*se-tt,l[2]=-se,l[6]=O*te,l[10]=T*te}else if(r.order==="YZX"){const Ve=T*te,We=T*se,tt=O*te,Ot=O*se;l[0]=te*xe,l[4]=Ot-Ve*Ne,l[8]=tt*Ne+We,l[1]=Ne,l[5]=T*xe,l[9]=-O*xe,l[2]=-se*xe,l[6]=We*Ne+tt,l[10]=Ve-Ot*Ne}else if(r.order==="XZY"){const Ve=T*te,We=T*se,tt=O*te,Ot=O*se;l[0]=te*xe,l[4]=-Ne,l[8]=se*xe,l[1]=Ve*Ne+Ot,l[5]=T*xe,l[9]=We*Ne-tt,l[2]=tt*Ne-We,l[6]=O*xe,l[10]=Ot*Ne+Ve}return l[3]=0,l[7]=0,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this}makeRotationFromQuaternion(r){return this.compose(Ds,r,Ba)}lookAt(r,l,h){const p=this.elements;return aa.subVectors(r,l),aa.lengthSq()===0&&(aa.z=1),aa.normalize(),Ka.crossVectors(h,aa),Ka.lengthSq()===0&&(Math.abs(h.z)===1?aa.x+=1e-4:aa.z+=1e-4,aa.normalize(),Ka.crossVectors(h,aa)),Ka.normalize(),xo.crossVectors(aa,Ka),p[0]=Ka.x,p[4]=xo.x,p[8]=aa.x,p[1]=Ka.y,p[5]=xo.y,p[9]=aa.y,p[2]=Ka.z,p[6]=xo.z,p[10]=aa.z,this}multiply(r){return this.multiplyMatrices(this,r)}premultiply(r){return this.multiplyMatrices(r,this)}multiplyMatrices(r,l){const h=r.elements,p=l.elements,y=this.elements,T=h[0],O=h[4],te=h[8],se=h[12],xe=h[1],Ne=h[5],Ve=h[9],We=h[13],tt=h[2],Ot=h[6],An=h[10],un=h[14],Un=h[3],Vn=h[7],nr=h[11],ii=h[15],pi=p[0],Bi=p[4],mi=p[8],ls=p[12],ys=p[1],Da=p[5],Mo=p[9],Ro=p[13],du=p[2],ru=p[6],Zc=p[10],Ih=p[14],uA=p[3],Ac=p[7],Uc=p[11],tc=p[15];return y[0]=T*pi+O*ys+te*du+se*uA,y[4]=T*Bi+O*Da+te*ru+se*Ac,y[8]=T*mi+O*Mo+te*Zc+se*Uc,y[12]=T*ls+O*Ro+te*Ih+se*tc,y[1]=xe*pi+Ne*ys+Ve*du+We*uA,y[5]=xe*Bi+Ne*Da+Ve*ru+We*Ac,y[9]=xe*mi+Ne*Mo+Ve*Zc+We*Uc,y[13]=xe*ls+Ne*Ro+Ve*Ih+We*tc,y[2]=tt*pi+Ot*ys+An*du+un*uA,y[6]=tt*Bi+Ot*Da+An*ru+un*Ac,y[10]=tt*mi+Ot*Mo+An*Zc+un*Uc,y[14]=tt*ls+Ot*Ro+An*Ih+un*tc,y[3]=Un*pi+Vn*ys+nr*du+ii*uA,y[7]=Un*Bi+Vn*Da+nr*ru+ii*Ac,y[11]=Un*mi+Vn*Mo+nr*Zc+ii*Uc,y[15]=Un*ls+Vn*Ro+nr*Ih+ii*tc,this}multiplyScalar(r){const l=this.elements;return l[0]*=r,l[4]*=r,l[8]*=r,l[12]*=r,l[1]*=r,l[5]*=r,l[9]*=r,l[13]*=r,l[2]*=r,l[6]*=r,l[10]*=r,l[14]*=r,l[3]*=r,l[7]*=r,l[11]*=r,l[15]*=r,this}determinant(){const r=this.elements,l=r[0],h=r[4],p=r[8],y=r[12],T=r[1],O=r[5],te=r[9],se=r[13],xe=r[2],Ne=r[6],Ve=r[10],We=r[14],tt=r[3],Ot=r[7],An=r[11],un=r[15];return tt*(+y*te*Ne-p*se*Ne-y*O*Ve+h*se*Ve+p*O*We-h*te*We)+Ot*(+l*te*We-l*se*Ve+y*T*Ve-p*T*We+p*se*xe-y*te*xe)+An*(+l*se*Ne-l*O*We-y*T*Ne+h*T*We+y*O*xe-h*se*xe)+un*(-p*O*xe-l*te*Ne+l*O*Ve+p*T*Ne-h*T*Ve+h*te*xe)}transpose(){const r=this.elements;let l;return l=r[1],r[1]=r[4],r[4]=l,l=r[2],r[2]=r[8],r[8]=l,l=r[6],r[6]=r[9],r[9]=l,l=r[3],r[3]=r[12],r[12]=l,l=r[7],r[7]=r[13],r[13]=l,l=r[11],r[11]=r[14],r[14]=l,this}setPosition(r,l,h){const p=this.elements;return r.isVector3?(p[12]=r.x,p[13]=r.y,p[14]=r.z):(p[12]=r,p[13]=l,p[14]=h),this}invert(){const r=this.elements,l=r[0],h=r[1],p=r[2],y=r[3],T=r[4],O=r[5],te=r[6],se=r[7],xe=r[8],Ne=r[9],Ve=r[10],We=r[11],tt=r[12],Ot=r[13],An=r[14],un=r[15],Un=Ne*An*se-Ot*Ve*se+Ot*te*We-O*An*We-Ne*te*un+O*Ve*un,Vn=tt*Ve*se-xe*An*se-tt*te*We+T*An*We+xe*te*un-T*Ve*un,nr=xe*Ot*se-tt*Ne*se+tt*O*We-T*Ot*We-xe*O*un+T*Ne*un,ii=tt*Ne*te-xe*Ot*te-tt*O*Ve+T*Ot*Ve+xe*O*An-T*Ne*An,pi=l*Un+h*Vn+p*nr+y*ii;if(pi===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const Bi=1/pi;return r[0]=Un*Bi,r[1]=(Ot*Ve*y-Ne*An*y-Ot*p*We+h*An*We+Ne*p*un-h*Ve*un)*Bi,r[2]=(O*An*y-Ot*te*y+Ot*p*se-h*An*se-O*p*un+h*te*un)*Bi,r[3]=(Ne*te*y-O*Ve*y-Ne*p*se+h*Ve*se+O*p*We-h*te*We)*Bi,r[4]=Vn*Bi,r[5]=(xe*An*y-tt*Ve*y+tt*p*We-l*An*We-xe*p*un+l*Ve*un)*Bi,r[6]=(tt*te*y-T*An*y-tt*p*se+l*An*se+T*p*un-l*te*un)*Bi,r[7]=(T*Ve*y-xe*te*y+xe*p*se-l*Ve*se-T*p*We+l*te*We)*Bi,r[8]=nr*Bi,r[9]=(tt*Ne*y-xe*Ot*y-tt*h*We+l*Ot*We+xe*h*un-l*Ne*un)*Bi,r[10]=(T*Ot*y-tt*O*y+tt*h*se-l*Ot*se-T*h*un+l*O*un)*Bi,r[11]=(xe*O*y-T*Ne*y-xe*h*se+l*Ne*se+T*h*We-l*O*We)*Bi,r[12]=ii*Bi,r[13]=(xe*Ot*p-tt*Ne*p+tt*h*Ve-l*Ot*Ve-xe*h*An+l*Ne*An)*Bi,r[14]=(tt*O*p-T*Ot*p-tt*h*te+l*Ot*te+T*h*An-l*O*An)*Bi,r[15]=(T*Ne*p-xe*O*p+xe*h*te-l*Ne*te-T*h*Ve+l*O*Ve)*Bi,this}scale(r){const l=this.elements,h=r.x,p=r.y,y=r.z;return l[0]*=h,l[4]*=p,l[8]*=y,l[1]*=h,l[5]*=p,l[9]*=y,l[2]*=h,l[6]*=p,l[10]*=y,l[3]*=h,l[7]*=p,l[11]*=y,this}getMaxScaleOnAxis(){const r=this.elements,l=r[0]*r[0]+r[1]*r[1]+r[2]*r[2],h=r[4]*r[4]+r[5]*r[5]+r[6]*r[6],p=r[8]*r[8]+r[9]*r[9]+r[10]*r[10];return Math.sqrt(Math.max(l,h,p))}makeTranslation(r,l,h){return r.isVector3?this.set(1,0,0,r.x,0,1,0,r.y,0,0,1,r.z,0,0,0,1):this.set(1,0,0,r,0,1,0,l,0,0,1,h,0,0,0,1),this}makeRotationX(r){const l=Math.cos(r),h=Math.sin(r);return this.set(1,0,0,0,0,l,-h,0,0,h,l,0,0,0,0,1),this}makeRotationY(r){const l=Math.cos(r),h=Math.sin(r);return this.set(l,0,h,0,0,1,0,0,-h,0,l,0,0,0,0,1),this}makeRotationZ(r){const l=Math.cos(r),h=Math.sin(r);return this.set(l,-h,0,0,h,l,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(r,l){const h=Math.cos(l),p=Math.sin(l),y=1-h,T=r.x,O=r.y,te=r.z,se=y*T,xe=y*O;return this.set(se*T+h,se*O-p*te,se*te+p*O,0,se*O+p*te,xe*O+h,xe*te-p*T,0,se*te-p*O,xe*te+p*T,y*te*te+h,0,0,0,0,1),this}makeScale(r,l,h){return this.set(r,0,0,0,0,l,0,0,0,0,h,0,0,0,0,1),this}makeShear(r,l,h,p,y,T){return this.set(1,h,y,0,r,1,T,0,l,p,1,0,0,0,0,1),this}compose(r,l,h){const p=this.elements,y=l._x,T=l._y,O=l._z,te=l._w,se=y+y,xe=T+T,Ne=O+O,Ve=y*se,We=y*xe,tt=y*Ne,Ot=T*xe,An=T*Ne,un=O*Ne,Un=te*se,Vn=te*xe,nr=te*Ne,ii=h.x,pi=h.y,Bi=h.z;return p[0]=(1-(Ot+un))*ii,p[1]=(We+nr)*ii,p[2]=(tt-Vn)*ii,p[3]=0,p[4]=(We-nr)*pi,p[5]=(1-(Ve+un))*pi,p[6]=(An+Un)*pi,p[7]=0,p[8]=(tt+Vn)*Bi,p[9]=(An-Un)*Bi,p[10]=(1-(Ve+Ot))*Bi,p[11]=0,p[12]=r.x,p[13]=r.y,p[14]=r.z,p[15]=1,this}decompose(r,l,h){const p=this.elements;let y=ts.set(p[0],p[1],p[2]).length();const T=ts.set(p[4],p[5],p[6]).length(),O=ts.set(p[8],p[9],p[10]).length();this.determinant()<0&&(y=-y),r.x=p[12],r.y=p[13],r.z=p[14],fs.copy(this);const se=1/y,xe=1/T,Ne=1/O;return fs.elements[0]*=se,fs.elements[1]*=se,fs.elements[2]*=se,fs.elements[4]*=xe,fs.elements[5]*=xe,fs.elements[6]*=xe,fs.elements[8]*=Ne,fs.elements[9]*=Ne,fs.elements[10]*=Ne,l.setFromRotationMatrix(fs),h.x=y,h.y=T,h.z=O,this}makePerspective(r,l,h,p,y,T,O=Cu,te=!1){const se=this.elements,xe=2*y/(l-r),Ne=2*y/(h-p),Ve=(l+r)/(l-r),We=(h+p)/(h-p);let tt,Ot;if(te)tt=y/(T-y),Ot=T*y/(T-y);else if(O===Cu)tt=-(T+y)/(T-y),Ot=-2*T*y/(T-y);else if(O===zc)tt=-T/(T-y),Ot=-T*y/(T-y);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+O);return se[0]=xe,se[4]=0,se[8]=Ve,se[12]=0,se[1]=0,se[5]=Ne,se[9]=We,se[13]=0,se[2]=0,se[6]=0,se[10]=tt,se[14]=Ot,se[3]=0,se[7]=0,se[11]=-1,se[15]=0,this}makeOrthographic(r,l,h,p,y,T,O=Cu,te=!1){const se=this.elements,xe=2/(l-r),Ne=2/(h-p),Ve=-(l+r)/(l-r),We=-(h+p)/(h-p);let tt,Ot;if(te)tt=1/(T-y),Ot=T/(T-y);else if(O===Cu)tt=-2/(T-y),Ot=-(T+y)/(T-y);else if(O===zc)tt=-1/(T-y),Ot=-y/(T-y);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+O);return se[0]=xe,se[4]=0,se[8]=0,se[12]=Ve,se[1]=0,se[5]=Ne,se[9]=0,se[13]=We,se[2]=0,se[6]=0,se[10]=tt,se[14]=Ot,se[3]=0,se[7]=0,se[11]=0,se[15]=1,this}equals(r){const l=this.elements,h=r.elements;for(let p=0;p<16;p++)if(l[p]!==h[p])return!1;return!0}fromArray(r,l=0){for(let h=0;h<16;h++)this.elements[h]=r[h+l];return this}toArray(r=[],l=0){const h=this.elements;return r[l]=h[0],r[l+1]=h[1],r[l+2]=h[2],r[l+3]=h[3],r[l+4]=h[4],r[l+5]=h[5],r[l+6]=h[6],r[l+7]=h[7],r[l+8]=h[8],r[l+9]=h[9],r[l+10]=h[10],r[l+11]=h[11],r[l+12]=h[12],r[l+13]=h[13],r[l+14]=h[14],r[l+15]=h[15],r}}const ts=new kn,fs=new oi,Ds=new kn(0,0,0),Ba=new kn(1,1,1),Ka=new kn,xo=new kn,aa=new kn,di=new oi,Ma=new Du;class Rs{constructor(r=0,l=0,h=0,p=Rs.DEFAULT_ORDER){this.isEuler=!0,this._x=r,this._y=l,this._z=h,this._order=p}get x(){return this._x}set x(r){this._x=r,this._onChangeCallback()}get y(){return this._y}set y(r){this._y=r,this._onChangeCallback()}get z(){return this._z}set z(r){this._z=r,this._onChangeCallback()}get order(){return this._order}set order(r){this._order=r,this._onChangeCallback()}set(r,l,h,p=this._order){return this._x=r,this._y=l,this._z=h,this._order=p,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(r){return this._x=r._x,this._y=r._y,this._z=r._z,this._order=r._order,this._onChangeCallback(),this}setFromRotationMatrix(r,l=this._order,h=!0){const p=r.elements,y=p[0],T=p[4],O=p[8],te=p[1],se=p[5],xe=p[9],Ne=p[2],Ve=p[6],We=p[10];switch(l){case"XYZ":this._y=Math.asin(ki(O,-1,1)),Math.abs(O)<.9999999?(this._x=Math.atan2(-xe,We),this._z=Math.atan2(-T,y)):(this._x=Math.atan2(Ve,se),this._z=0);break;case"YXZ":this._x=Math.asin(-ki(xe,-1,1)),Math.abs(xe)<.9999999?(this._y=Math.atan2(O,We),this._z=Math.atan2(te,se)):(this._y=Math.atan2(-Ne,y),this._z=0);break;case"ZXY":this._x=Math.asin(ki(Ve,-1,1)),Math.abs(Ve)<.9999999?(this._y=Math.atan2(-Ne,We),this._z=Math.atan2(-T,se)):(this._y=0,this._z=Math.atan2(te,y));break;case"ZYX":this._y=Math.asin(-ki(Ne,-1,1)),Math.abs(Ne)<.9999999?(this._x=Math.atan2(Ve,We),this._z=Math.atan2(te,y)):(this._x=0,this._z=Math.atan2(-T,se));break;case"YZX":this._z=Math.asin(ki(te,-1,1)),Math.abs(te)<.9999999?(this._x=Math.atan2(-xe,se),this._y=Math.atan2(-Ne,y)):(this._x=0,this._y=Math.atan2(O,We));break;case"XZY":this._z=Math.asin(-ki(T,-1,1)),Math.abs(T)<.9999999?(this._x=Math.atan2(Ve,se),this._y=Math.atan2(O,y)):(this._x=Math.atan2(-xe,We),this._y=0);break;default:na("Euler: .setFromRotationMatrix() encountered an unknown order: "+l)}return this._order=l,h===!0&&this._onChangeCallback(),this}setFromQuaternion(r,l,h){return di.makeRotationFromQuaternion(r),this.setFromRotationMatrix(di,l,h)}setFromVector3(r,l=this._order){return this.set(r.x,r.y,r.z,l)}reorder(r){return Ma.setFromEuler(this),this.setFromQuaternion(Ma,r)}equals(r){return r._x===this._x&&r._y===this._y&&r._z===this._z&&r._order===this._order}fromArray(r){return this._x=r[0],this._y=r[1],this._z=r[2],r[3]!==void 0&&(this._order=r[3]),this._onChangeCallback(),this}toArray(r=[],l=0){return r[l]=this._x,r[l+1]=this._y,r[l+2]=this._z,r[l+3]=this._order,r}_onChange(r){return this._onChangeCallback=r,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Rs.DEFAULT_ORDER="XYZ";class lo{constructor(){this.mask=1}set(r){this.mask=(1<>>0}enable(r){this.mask|=1<1){for(let l=0;l1){for(let h=0;h0&&(p.userData=this.userData),p.layers=this.layers.mask,p.matrix=this.matrix.toArray(),p.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(p.matrixAutoUpdate=!1),this.isInstancedMesh&&(p.type="InstancedMesh",p.count=this.count,p.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(p.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(p.type="BatchedMesh",p.perObjectFrustumCulled=this.perObjectFrustumCulled,p.sortObjects=this.sortObjects,p.drawRanges=this._drawRanges,p.reservedRanges=this._reservedRanges,p.geometryInfo=this._geometryInfo.map(O=>fd(rl({},O),{boundingBox:O.boundingBox?O.boundingBox.toJSON():void 0,boundingSphere:O.boundingSphere?O.boundingSphere.toJSON():void 0})),p.instanceInfo=this._instanceInfo.map(O=>rl({},O)),p.availableInstanceIds=this._availableInstanceIds.slice(),p.availableGeometryIds=this._availableGeometryIds.slice(),p.nextIndexStart=this._nextIndexStart,p.nextVertexStart=this._nextVertexStart,p.geometryCount=this._geometryCount,p.maxInstanceCount=this._maxInstanceCount,p.maxVertexCount=this._maxVertexCount,p.maxIndexCount=this._maxIndexCount,p.geometryInitialized=this._geometryInitialized,p.matricesTexture=this._matricesTexture.toJSON(r),p.indirectTexture=this._indirectTexture.toJSON(r),this._colorsTexture!==null&&(p.colorsTexture=this._colorsTexture.toJSON(r)),this.boundingSphere!==null&&(p.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(p.boundingBox=this.boundingBox.toJSON()));function y(O,te){return O[te.uuid]===void 0&&(O[te.uuid]=te.toJSON(r)),te.uuid}if(this.isScene)this.background&&(this.background.isColor?p.background=this.background.toJSON():this.background.isTexture&&(p.background=this.background.toJSON(r).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(p.environment=this.environment.toJSON(r).uuid);else if(this.isMesh||this.isLine||this.isPoints){p.geometry=y(r.geometries,this.geometry);const O=this.geometry.parameters;if(O!==void 0&&O.shapes!==void 0){const te=O.shapes;if(Array.isArray(te))for(let se=0,xe=te.length;se0){p.children=[];for(let O=0;O0){p.animations=[];for(let O=0;O0&&(h.geometries=O),te.length>0&&(h.materials=te),se.length>0&&(h.textures=se),xe.length>0&&(h.images=xe),Ne.length>0&&(h.shapes=Ne),Ve.length>0&&(h.skeletons=Ve),We.length>0&&(h.animations=We),tt.length>0&&(h.nodes=tt)}return h.object=p,h;function T(O){const te=[];for(const se in O){const xe=O[se];delete xe.metadata,te.push(xe)}return te}}clone(r){return new this.constructor().copy(this,r)}copy(r,l=!0){if(this.name=r.name,this.up.copy(r.up),this.position.copy(r.position),this.rotation.order=r.rotation.order,this.quaternion.copy(r.quaternion),this.scale.copy(r.scale),this.matrix.copy(r.matrix),this.matrixWorld.copy(r.matrixWorld),this.matrixAutoUpdate=r.matrixAutoUpdate,this.matrixWorldAutoUpdate=r.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=r.matrixWorldNeedsUpdate,this.layers.mask=r.layers.mask,this.visible=r.visible,this.castShadow=r.castShadow,this.receiveShadow=r.receiveShadow,this.frustumCulled=r.frustumCulled,this.renderOrder=r.renderOrder,this.animations=r.animations.slice(),this.userData=JSON.parse(JSON.stringify(r.userData)),l===!0)for(let h=0;h0?p.multiplyScalar(1/Math.sqrt(y)):p.set(0,0,0)}static getBarycoord(r,l,h,p,y){Ho.subVectors(p,l),jl.subVectors(h,l),Jc.subVectors(r,l);const T=Ho.dot(Ho),O=Ho.dot(jl),te=Ho.dot(Jc),se=jl.dot(jl),xe=jl.dot(Jc),Ne=T*se-O*O;if(Ne===0)return y.set(0,0,0),null;const Ve=1/Ne,We=(se*te-O*xe)*Ve,tt=(T*xe-O*te)*Ve;return y.set(1-We-tt,tt,We)}static containsPoint(r,l,h,p){return this.getBarycoord(r,l,h,p,eh)===null?!1:eh.x>=0&&eh.y>=0&&eh.x+eh.y<=1}static getInterpolation(r,l,h,p,y,T,O,te){return this.getBarycoord(r,l,h,p,eh)===null?(te.x=0,te.y=0,"z"in te&&(te.z=0),"w"in te&&(te.w=0),null):(te.setScalar(0),te.addScaledVector(y,eh.x),te.addScaledVector(T,eh.y),te.addScaledVector(O,eh.z),te)}static getInterpolatedAttribute(r,l,h,p,y,T){return Wf.setScalar(0),_h.setScalar(0),ol.setScalar(0),Wf.fromBufferAttribute(r,l),_h.fromBufferAttribute(r,h),ol.fromBufferAttribute(r,p),T.setScalar(0),T.addScaledVector(Wf,y.x),T.addScaledVector(_h,y.y),T.addScaledVector(ol,y.z),T}static isFrontFacing(r,l,h,p){return Ho.subVectors(h,l),jl.subVectors(r,l),Ho.cross(jl).dot(p)<0}set(r,l,h){return this.a.copy(r),this.b.copy(l),this.c.copy(h),this}setFromPointsAndIndices(r,l,h,p){return this.a.copy(r[l]),this.b.copy(r[h]),this.c.copy(r[p]),this}setFromAttributeAndIndices(r,l,h,p){return this.a.fromBufferAttribute(r,l),this.b.fromBufferAttribute(r,h),this.c.fromBufferAttribute(r,p),this}clone(){return new this.constructor().copy(this)}copy(r){return this.a.copy(r.a),this.b.copy(r.b),this.c.copy(r.c),this}getArea(){return Ho.subVectors(this.c,this.b),jl.subVectors(this.a,this.b),Ho.cross(jl).length()*.5}getMidpoint(r){return r.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(r){return Bl.getNormal(this.a,this.b,this.c,r)}getPlane(r){return r.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(r,l){return Bl.getBarycoord(r,this.a,this.b,this.c,l)}getInterpolation(r,l,h,p,y){return Bl.getInterpolation(r,this.a,this.b,this.c,l,h,p,y)}containsPoint(r){return Bl.containsPoint(r,this.a,this.b,this.c)}isFrontFacing(r){return Bl.isFrontFacing(this.a,this.b,this.c,r)}intersectsBox(r){return r.intersectsTriangle(this)}closestPointToPoint(r,l){const h=this.a,p=this.b,y=this.c;let T,O;df.subVectors(p,h),xh.subVectors(y,h),yl.subVectors(r,h);const te=df.dot(yl),se=xh.dot(yl);if(te<=0&&se<=0)return l.copy(h);Nc.subVectors(r,p);const xe=df.dot(Nc),Ne=xh.dot(Nc);if(xe>=0&&Ne<=xe)return l.copy(p);const Ve=te*Ne-xe*se;if(Ve<=0&&te>=0&&xe<=0)return T=te/(te-xe),l.copy(h).addScaledVector(df,T);bh.subVectors(r,y);const We=df.dot(bh),tt=xh.dot(bh);if(tt>=0&&We<=tt)return l.copy(y);const Ot=We*se-te*tt;if(Ot<=0&&se>=0&&tt<=0)return O=se/(se-tt),l.copy(h).addScaledVector(xh,O);const An=xe*tt-We*Ne;if(An<=0&&Ne-xe>=0&&We-tt>=0)return MA.subVectors(y,p),O=(Ne-xe)/(Ne-xe+(We-tt)),l.copy(p).addScaledVector(MA,O);const un=1/(An+Ot+Ve);return T=Ot*un,O=Ve*un,l.copy(h).addScaledVector(df,T).addScaledVector(xh,O)}equals(r){return r.a.equals(this.a)&&r.b.equals(this.b)&&r.c.equals(this.c)}}const yd={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},Co={h:0,s:0,l:0},vu={h:0,s:0,l:0};function Gl(ue,r,l){return l<0&&(l+=1),l>1&&(l-=1),l<1/6?ue+(r-ue)*6*l:l<1/2?r:l<2/3?ue+(r-ue)*6*(2/3-l):ue}class Ea{constructor(r,l,h){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(r,l,h)}set(r,l,h){if(l===void 0&&h===void 0){const p=r;p&&p.isColor?this.copy(p):typeof p=="number"?this.setHex(p):typeof p=="string"&&this.setStyle(p)}else this.setRGB(r,l,h);return this}setScalar(r){return this.r=r,this.g=r,this.b=r,this}setHex(r,l=go){return r=Math.floor(r),this.r=(r>>16&255)/255,this.g=(r>>8&255)/255,this.b=(r&255)/255,le.colorSpaceToWorking(this,l),this}setRGB(r,l,h,p=le.workingColorSpace){return this.r=r,this.g=l,this.b=h,le.colorSpaceToWorking(this,p),this}setHSL(r,l,h,p=le.workingColorSpace){if(r=ju(r,1),l=ki(l,0,1),h=ki(h,0,1),l===0)this.r=this.g=this.b=h;else{const y=h<=.5?h*(1+l):h+l-h*l,T=2*h-y;this.r=Gl(T,y,r+1/3),this.g=Gl(T,y,r),this.b=Gl(T,y,r-1/3)}return le.colorSpaceToWorking(this,p),this}setStyle(r,l=go){function h(y){y!==void 0&&parseFloat(y)<1&&na("Color: Alpha component of "+r+" will be ignored.")}let p;if(p=/^(\w+)\(([^\)]*)\)/.exec(r)){let y;const T=p[1],O=p[2];switch(T){case"rgb":case"rgba":if(y=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(O))return h(y[4]),this.setRGB(Math.min(255,parseInt(y[1],10))/255,Math.min(255,parseInt(y[2],10))/255,Math.min(255,parseInt(y[3],10))/255,l);if(y=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(O))return h(y[4]),this.setRGB(Math.min(100,parseInt(y[1],10))/100,Math.min(100,parseInt(y[2],10))/100,Math.min(100,parseInt(y[3],10))/100,l);break;case"hsl":case"hsla":if(y=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(O))return h(y[4]),this.setHSL(parseFloat(y[1])/360,parseFloat(y[2])/100,parseFloat(y[3])/100,l);break;default:na("Color: Unknown color model "+r)}}else if(p=/^\#([A-Fa-f\d]+)$/.exec(r)){const y=p[1],T=y.length;if(T===3)return this.setRGB(parseInt(y.charAt(0),16)/15,parseInt(y.charAt(1),16)/15,parseInt(y.charAt(2),16)/15,l);if(T===6)return this.setHex(parseInt(y,16),l);na("Color: Invalid hex color "+r)}else if(r&&r.length>0)return this.setColorName(r,l);return this}setColorName(r,l=go){const h=yd[r.toLowerCase()];return h!==void 0?this.setHex(h,l):na("Color: Unknown color "+r),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(r){return this.r=r.r,this.g=r.g,this.b=r.b,this}copySRGBToLinear(r){return this.r=Nt(r.r),this.g=Nt(r.g),this.b=Nt(r.b),this}copyLinearToSRGB(r){return this.r=Dt(r.r),this.g=Dt(r.g),this.b=Dt(r.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(r=go){return le.workingToColorSpace(Rl.copy(this),r),Math.round(ki(Rl.r*255,0,255))*65536+Math.round(ki(Rl.g*255,0,255))*256+Math.round(ki(Rl.b*255,0,255))}getHexString(r=go){return("000000"+this.getHex(r).toString(16)).slice(-6)}getHSL(r,l=le.workingColorSpace){le.workingToColorSpace(Rl.copy(this),l);const h=Rl.r,p=Rl.g,y=Rl.b,T=Math.max(h,p,y),O=Math.min(h,p,y);let te,se;const xe=(O+T)/2;if(O===T)te=0,se=0;else{const Ne=T-O;switch(se=xe<=.5?Ne/(T+O):Ne/(2-T-O),T){case h:te=(p-y)/Ne+(p0!=r>0&&this.version++,this._alphaTest=r}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(r){if(r!==void 0)for(const l in r){const h=r[l];if(h===void 0){na(`Material: parameter '${l}' has value of undefined.`);continue}const p=this[l];if(p===void 0){na(`Material: '${l}' is not a property of THREE.${this.type}.`);continue}p&&p.isColor?p.set(h):p&&p.isVector3&&h&&h.isVector3?p.copy(h):this[l]=h}}toJSON(r){const l=r===void 0||typeof r=="string";l&&(r={textures:{},images:{}});const h={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};h.uuid=this.uuid,h.type=this.type,this.name!==""&&(h.name=this.name),this.color&&this.color.isColor&&(h.color=this.color.getHex()),this.roughness!==void 0&&(h.roughness=this.roughness),this.metalness!==void 0&&(h.metalness=this.metalness),this.sheen!==void 0&&(h.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(h.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(h.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(h.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(h.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(h.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(h.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(h.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(h.shininess=this.shininess),this.clearcoat!==void 0&&(h.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(h.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(h.clearcoatMap=this.clearcoatMap.toJSON(r).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(h.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(r).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(h.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(r).uuid,h.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(h.sheenColorMap=this.sheenColorMap.toJSON(r).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(h.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(r).uuid),this.dispersion!==void 0&&(h.dispersion=this.dispersion),this.iridescence!==void 0&&(h.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(h.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(h.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(h.iridescenceMap=this.iridescenceMap.toJSON(r).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(h.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(r).uuid),this.anisotropy!==void 0&&(h.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(h.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(h.anisotropyMap=this.anisotropyMap.toJSON(r).uuid),this.map&&this.map.isTexture&&(h.map=this.map.toJSON(r).uuid),this.matcap&&this.matcap.isTexture&&(h.matcap=this.matcap.toJSON(r).uuid),this.alphaMap&&this.alphaMap.isTexture&&(h.alphaMap=this.alphaMap.toJSON(r).uuid),this.lightMap&&this.lightMap.isTexture&&(h.lightMap=this.lightMap.toJSON(r).uuid,h.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(h.aoMap=this.aoMap.toJSON(r).uuid,h.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(h.bumpMap=this.bumpMap.toJSON(r).uuid,h.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(h.normalMap=this.normalMap.toJSON(r).uuid,h.normalMapType=this.normalMapType,h.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(h.displacementMap=this.displacementMap.toJSON(r).uuid,h.displacementScale=this.displacementScale,h.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(h.roughnessMap=this.roughnessMap.toJSON(r).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(h.metalnessMap=this.metalnessMap.toJSON(r).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(h.emissiveMap=this.emissiveMap.toJSON(r).uuid),this.specularMap&&this.specularMap.isTexture&&(h.specularMap=this.specularMap.toJSON(r).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(h.specularIntensityMap=this.specularIntensityMap.toJSON(r).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(h.specularColorMap=this.specularColorMap.toJSON(r).uuid),this.envMap&&this.envMap.isTexture&&(h.envMap=this.envMap.toJSON(r).uuid,this.combine!==void 0&&(h.combine=this.combine)),this.envMapRotation!==void 0&&(h.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(h.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(h.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(h.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(h.gradientMap=this.gradientMap.toJSON(r).uuid),this.transmission!==void 0&&(h.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(h.transmissionMap=this.transmissionMap.toJSON(r).uuid),this.thickness!==void 0&&(h.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(h.thicknessMap=this.thicknessMap.toJSON(r).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(h.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(h.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(h.size=this.size),this.shadowSide!==null&&(h.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(h.sizeAttenuation=this.sizeAttenuation),this.blending!==ve&&(h.blending=this.blending),this.side!==j&&(h.side=this.side),this.vertexColors===!0&&(h.vertexColors=!0),this.opacity<1&&(h.opacity=this.opacity),this.transparent===!0&&(h.transparent=!0),this.blendSrc!==zn&&(h.blendSrc=this.blendSrc),this.blendDst!==dr&&(h.blendDst=this.blendDst),this.blendEquation!==vt&&(h.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(h.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(h.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(h.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(h.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(h.blendAlpha=this.blendAlpha),this.depthFunc!==Ae&&(h.depthFunc=this.depthFunc),this.depthTest===!1&&(h.depthTest=this.depthTest),this.depthWrite===!1&&(h.depthWrite=this.depthWrite),this.colorWrite===!1&&(h.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(h.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==fh&&(h.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(h.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(h.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==No&&(h.stencilFail=this.stencilFail),this.stencilZFail!==No&&(h.stencilZFail=this.stencilZFail),this.stencilZPass!==No&&(h.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(h.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(h.rotation=this.rotation),this.polygonOffset===!0&&(h.polygonOffset=!0),this.polygonOffsetFactor!==0&&(h.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(h.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(h.linewidth=this.linewidth),this.dashSize!==void 0&&(h.dashSize=this.dashSize),this.gapSize!==void 0&&(h.gapSize=this.gapSize),this.scale!==void 0&&(h.scale=this.scale),this.dithering===!0&&(h.dithering=!0),this.alphaTest>0&&(h.alphaTest=this.alphaTest),this.alphaHash===!0&&(h.alphaHash=!0),this.alphaToCoverage===!0&&(h.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(h.premultipliedAlpha=!0),this.forceSinglePass===!0&&(h.forceSinglePass=!0),this.wireframe===!0&&(h.wireframe=!0),this.wireframeLinewidth>1&&(h.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(h.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(h.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(h.flatShading=!0),this.visible===!1&&(h.visible=!1),this.toneMapped===!1&&(h.toneMapped=!1),this.fog===!1&&(h.fog=!1),Object.keys(this.userData).length>0&&(h.userData=this.userData);function p(y){const T=[];for(const O in y){const te=y[O];delete te.metadata,T.push(te)}return T}if(l){const y=p(r.textures),T=p(r.images);y.length>0&&(h.textures=y),T.length>0&&(h.images=T)}return h}clone(){return new this.constructor().copy(this)}copy(r){this.name=r.name,this.blending=r.blending,this.side=r.side,this.vertexColors=r.vertexColors,this.opacity=r.opacity,this.transparent=r.transparent,this.blendSrc=r.blendSrc,this.blendDst=r.blendDst,this.blendEquation=r.blendEquation,this.blendSrcAlpha=r.blendSrcAlpha,this.blendDstAlpha=r.blendDstAlpha,this.blendEquationAlpha=r.blendEquationAlpha,this.blendColor.copy(r.blendColor),this.blendAlpha=r.blendAlpha,this.depthFunc=r.depthFunc,this.depthTest=r.depthTest,this.depthWrite=r.depthWrite,this.stencilWriteMask=r.stencilWriteMask,this.stencilFunc=r.stencilFunc,this.stencilRef=r.stencilRef,this.stencilFuncMask=r.stencilFuncMask,this.stencilFail=r.stencilFail,this.stencilZFail=r.stencilZFail,this.stencilZPass=r.stencilZPass,this.stencilWrite=r.stencilWrite;const l=r.clippingPlanes;let h=null;if(l!==null){const p=l.length;h=new Array(p);for(let y=0;y!==p;++y)h[y]=l[y].clone()}return this.clippingPlanes=h,this.clipIntersection=r.clipIntersection,this.clipShadows=r.clipShadows,this.shadowSide=r.shadowSide,this.colorWrite=r.colorWrite,this.precision=r.precision,this.polygonOffset=r.polygonOffset,this.polygonOffsetFactor=r.polygonOffsetFactor,this.polygonOffsetUnits=r.polygonOffsetUnits,this.dithering=r.dithering,this.alphaTest=r.alphaTest,this.alphaHash=r.alphaHash,this.alphaToCoverage=r.alphaToCoverage,this.premultipliedAlpha=r.premultipliedAlpha,this.forceSinglePass=r.forceSinglePass,this.visible=r.visible,this.toneMapped=r.toneMapped,this.userData=JSON.parse(JSON.stringify(r.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(r){r===!0&&this.version++}}class Dh extends ku{constructor(r){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ea(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Rs,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(r)}copy(r){return super.copy(r),this.color.copy(r.color),this.map=r.map,this.lightMap=r.lightMap,this.lightMapIntensity=r.lightMapIntensity,this.aoMap=r.aoMap,this.aoMapIntensity=r.aoMapIntensity,this.specularMap=r.specularMap,this.alphaMap=r.alphaMap,this.envMap=r.envMap,this.envMapRotation.copy(r.envMapRotation),this.combine=r.combine,this.reflectivity=r.reflectivity,this.refractionRatio=r.refractionRatio,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.wireframeLinecap=r.wireframeLinecap,this.wireframeLinejoin=r.wireframeLinejoin,this.fog=r.fog,this}}const Vu=null;function EA(){const ue=new ArrayBuffer(4),r=new Float32Array(ue),l=new Uint32Array(ue),h=new Uint32Array(512),p=new Uint32Array(512);for(let te=0;te<256;++te){const se=te-127;se<-27?(h[te]=0,h[te|256]=32768,p[te]=24,p[te|256]=24):se<-14?(h[te]=1024>>-se-14,h[te|256]=1024>>-se-14|32768,p[te]=-se-1,p[te|256]=-se-1):se<=15?(h[te]=se+15<<10,h[te|256]=se+15<<10|32768,p[te]=13,p[te|256]=13):se<128?(h[te]=31744,h[te|256]=64512,p[te]=24,p[te|256]=24):(h[te]=31744,h[te|256]=64512,p[te]=13,p[te|256]=13)}const y=new Uint32Array(2048),T=new Uint32Array(64),O=new Uint32Array(64);for(let te=1;te<1024;++te){let se=te<<13,xe=0;for(;!(se&8388608);)se<<=1,xe-=8388608;se&=-8388609,xe+=947912704,y[te]=se|xe}for(let te=1024;te<2048;++te)y[te]=939524096+(te-1024<<13);for(let te=1;te<31;++te)T[te]=te<<23;T[31]=1199570944,T[32]=2147483648;for(let te=33;te<63;++te)T[te]=2147483648+(te-32<<23);T[63]=3347054592;for(let te=1;te<64;++te)te!==32&&(O[te]=1024);return{floatView:r,uint32View:l,baseTable:h,shiftTable:p,mantissaTable:y,exponentTable:T,offsetTable:O}}function zu(ue){Math.abs(ue)>65504&&na("DataUtils.toHalfFloat(): Value out of range."),ue=ki(ue,-65504,65504),Vu.floatView[0]=ue;const r=Vu.uint32View[0],l=r>>23&511;return Vu.baseTable[l]+((r&8388607)>>Vu.shiftTable[l])}function Wr(ue){const r=ue>>10;return Vu.uint32View[0]=Vu.mantissaTable[Vu.offsetTable[r]+(ue&1023)]+Vu.exponentTable[r],Vu.floatView[0]}class Hc{static toHalfFloat(r){return zu(r)}static fromHalfFloat(r){return Wr(r)}}const yu=new kn,Hl=new qi;let Yl=0;class Ql{constructor(r,l,h=!1){if(Array.isArray(r))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:Yl++}),this.name="",this.array=r,this.itemSize=l,this.count=r!==void 0?r.length/l:0,this.normalized=h,this.usage=oo,this.updateRanges=[],this.gpuType=dt,this.version=0}onUploadCallback(){}set needsUpdate(r){r===!0&&this.version++}setUsage(r){return this.usage=r,this}addUpdateRange(r,l){this.updateRanges.push({start:r,count:l})}clearUpdateRanges(){this.updateRanges.length=0}copy(r){return this.name=r.name,this.array=new r.array.constructor(r.array),this.itemSize=r.itemSize,this.count=r.count,this.normalized=r.normalized,this.usage=r.usage,this.gpuType=r.gpuType,this}copyAt(r,l,h){r*=this.itemSize,h*=l.itemSize;for(let p=0,y=this.itemSize;pl.count&&na("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),l.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new zi);const r=this.attributes.position,l=this.morphAttributes.position;if(r&&r.isGLBufferAttribute){Wa("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new kn(-1/0,-1/0,-1/0),new kn(1/0,1/0,1/0));return}if(r!==void 0){if(this.boundingBox.setFromBufferAttribute(r),l)for(let h=0,p=l.length;h0&&(r.userData=this.userData),this.parameters!==void 0){const te=this.parameters;for(const se in te)te[se]!==void 0&&(r[se]=te[se]);return r}r.data={attributes:{}};const l=this.index;l!==null&&(r.data.index={type:l.array.constructor.name,array:Array.prototype.slice.call(l.array)});const h=this.attributes;for(const te in h){const se=h[te];r.data.attributes[te]=se.toJSON(r.data)}const p={};let y=!1;for(const te in this.morphAttributes){const se=this.morphAttributes[te],xe=[];for(let Ne=0,Ve=se.length;Ne0&&(p[te]=xe,y=!0)}y&&(r.data.morphAttributes=p,r.data.morphTargetsRelative=this.morphTargetsRelative);const T=this.groups;T.length>0&&(r.data.groups=JSON.parse(JSON.stringify(T)));const O=this.boundingSphere;return O!==null&&(r.data.boundingSphere=O.toJSON()),r}clone(){return new this.constructor().copy(this)}copy(r){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const l={};this.name=r.name;const h=r.index;h!==null&&this.setIndex(h.clone());const p=r.attributes;for(const se in p){const xe=p[se];this.setAttribute(se,xe.clone(l))}const y=r.morphAttributes;for(const se in y){const xe=[],Ne=y[se];for(let Ve=0,We=Ne.length;Ve0){const p=l[h[0]];if(p!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let y=0,T=p.length;yBp(r.far-r.near,2)))&&(Fc.copy(y).invert(),Gu.copy(r.ray).applyMatrix4(Fc),!(h.boundingBox!==null&&Gu.intersectsBox(h.boundingBox)===!1)&&this._computeIntersections(r,l,Gu)))}_computeIntersections(r,l,h){let p;const y=this.geometry,T=this.material,O=y.index,te=y.attributes.position,se=y.attributes.uv,xe=y.attributes.uv1,Ne=y.attributes.normal,Ve=y.groups,We=y.drawRange;if(O!==null)if(Array.isArray(T))for(let tt=0,Ot=Ve.length;ttl.far?null:{distance:se,point:xd.clone(),object:ue}}function Gd(ue,r,l,h,p,y,T,O,te,se){ue.getVertexPosition(O,cc),ue.getVertexPosition(te,Vd),ue.getVertexPosition(se,Ru);const xe=TA(ue,r,l,h,cc,Vd,Ru,Sl);if(xe){const Ne=new kn;Bl.getBarycoord(Sl,cc,Vd,Ru,Ne),p&&(xe.uv=Bl.getInterpolatedAttribute(p,O,te,se,Ne,new qi)),y&&(xe.uv1=Bl.getInterpolatedAttribute(y,O,te,se,Ne,new qi)),T&&(xe.normal=Bl.getInterpolatedAttribute(T,O,te,se,Ne,new kn),xe.normal.dot(h.direction)>0&&xe.normal.multiplyScalar(-1));const Ve={a:O,b:te,c:se,normal:new kn,materialIndex:0};Bl.getNormal(cc,Vd,Ru,Ve.normal),xe.face=Ve,xe.barycoord=Ne}return xe}class Hd extends Ui{constructor(r=1,l=1,h=1,p=1,y=1,T=1){super(),this.type="BoxGeometry",this.parameters={width:r,height:l,depth:h,widthSegments:p,heightSegments:y,depthSegments:T};const O=this;p=Math.floor(p),y=Math.floor(y),T=Math.floor(T);const te=[],se=[],xe=[],Ne=[];let Ve=0,We=0;tt("z","y","x",-1,-1,h,l,r,T,y,0),tt("z","y","x",1,-1,h,l,-r,T,y,1),tt("x","z","y",1,1,r,h,l,p,T,2),tt("x","z","y",1,-1,r,h,-l,p,T,3),tt("x","y","z",1,-1,r,l,h,p,y,4),tt("x","y","z",-1,-1,r,l,-h,p,y,5),this.setIndex(te),this.setAttribute("position",new ha(se,3)),this.setAttribute("normal",new ha(xe,3)),this.setAttribute("uv",new ha(Ne,2));function tt(Ot,An,un,Un,Vn,nr,ii,pi,Bi,mi,ls){const ys=nr/Bi,Da=ii/mi,Mo=nr/2,Ro=ii/2,du=pi/2,ru=Bi+1,Zc=mi+1;let Ih=0,uA=0;const Ac=new kn;for(let Uc=0;Uc0?1:-1,xe.push(Ac.x,Ac.y,Ac.z),Ne.push(Lf/Bi),Ne.push(1-Uc/mi),Ih+=1}}for(let Uc=0;Uc0&&(l.defines=this.defines),l.vertexShader=this.vertexShader,l.fragmentShader=this.fragmentShader,l.lights=this.lights,l.clipping=this.clipping;const h={};for(const p in this.extensions)this.extensions[p]===!0&&(h[p]=!0);return Object.keys(h).length>0&&(l.extensions=h),l}}class jf extends _l{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new oi,this.projectionMatrix=new oi,this.projectionMatrixInverse=new oi,this.coordinateSystem=Cu,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(r,l){return super.copy(r,l),this.matrixWorldInverse.copy(r.matrixWorldInverse),this.projectionMatrix.copy(r.projectionMatrix),this.projectionMatrixInverse.copy(r.projectionMatrixInverse),this.coordinateSystem=r.coordinateSystem,this}getWorldDirection(r){return super.getWorldDirection(r).negate()}updateMatrixWorld(r){super.updateMatrixWorld(r),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(r,l){super.updateWorldMatrix(r,l),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Jl=new kn,cm=new qi,wg=new qi;class Vh extends null{constructor(r=50,l=1,h=.1,p=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=r,this.zoom=1,this.near=h,this.far=p,this.focus=10,this.aspect=l,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(r,l){return super.copy(r,l),this.fov=r.fov,this.zoom=r.zoom,this.near=r.near,this.far=r.far,this.focus=r.focus,this.aspect=r.aspect,this.view=r.view===null?null:Object.assign({},r.view),this.filmGauge=r.filmGauge,this.filmOffset=r.filmOffset,this}setFocalLength(r){const l=.5*this.getFilmHeight()/r;this.fov=Lr*2*Math.atan(l),this.updateProjectionMatrix()}getFocalLength(){const r=Math.tan(ac*.5*this.fov);return .5*this.getFilmHeight()/r}getEffectiveFOV(){return Lr*2*Math.atan(Math.tan(ac*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(r,l,h){Jl.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),l.set(Jl.x,Jl.y).multiplyScalar(-r/Jl.z),Jl.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),h.set(Jl.x,Jl.y).multiplyScalar(-r/Jl.z)}getViewSize(r,l){return this.getViewBounds(r,cm,wg),l.subVectors(wg,cm)}setViewOffset(r,l,h,p,y,T){this.aspect=r/l,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=r,this.view.fullHeight=l,this.view.offsetX=h,this.view.offsetY=p,this.view.width=y,this.view.height=T,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const r=this.near;let l=r*Math.tan(ac*.5*this.fov)/this.zoom,h=2*l,p=this.aspect*h,y=-.5*p;const T=this.view;if(this.view!==null&&this.view.enabled){const te=T.fullWidth,se=T.fullHeight;y+=T.offsetX*p/te,l-=T.offsetY*h/se,p*=T.width/te,h*=T.height/se}const O=this.filmOffset;O!==0&&(y+=r*O/this.getFilmWidth()),this.projectionMatrix.makePerspective(y,y+p,l,l-h,r,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(r){const l=super.toJSON(r);return l.object.fov=this.fov,l.object.zoom=this.zoom,l.object.near=this.near,l.object.far=this.far,l.object.focus=this.focus,l.object.aspect=this.aspect,this.view!==null&&(l.object.view=Object.assign({},this.view)),l.object.filmGauge=this.filmGauge,l.object.filmOffset=this.filmOffset,l}}const Pc=null,Jh=1;class nh extends null{constructor(r,l,h){super(),this.type="CubeCamera",this.renderTarget=h,this.coordinateSystem=null,this.activeMipmapLevel=0;const p=new Vh(Pc,Jh,r,l);p.layers=this.layers,this.add(p);const y=new Vh(Pc,Jh,r,l);y.layers=this.layers,this.add(y);const T=new Vh(Pc,Jh,r,l);T.layers=this.layers,this.add(T);const O=new Vh(Pc,Jh,r,l);O.layers=this.layers,this.add(O);const te=new Vh(Pc,Jh,r,l);te.layers=this.layers,this.add(te);const se=new Vh(Pc,Jh,r,l);se.layers=this.layers,this.add(se)}updateCoordinateSystem(){const r=this.coordinateSystem,l=this.children.concat(),[h,p,y,T,O,te]=l;for(const se of l)this.remove(se);if(r===Cu)h.up.set(0,1,0),h.lookAt(1,0,0),p.up.set(0,1,0),p.lookAt(-1,0,0),y.up.set(0,0,-1),y.lookAt(0,1,0),T.up.set(0,0,1),T.lookAt(0,-1,0),O.up.set(0,1,0),O.lookAt(0,0,1),te.up.set(0,1,0),te.lookAt(0,0,-1);else if(r===zc)h.up.set(0,-1,0),h.lookAt(-1,0,0),p.up.set(0,-1,0),p.lookAt(1,0,0),y.up.set(0,0,1),y.lookAt(0,1,0),T.up.set(0,0,-1),T.lookAt(0,-1,0),O.up.set(0,-1,0),O.lookAt(0,0,1),te.up.set(0,-1,0),te.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+r);for(const se of l)this.add(se),se.updateMatrixWorld()}update(r,l){this.parent===null&&this.updateMatrixWorld();const{renderTarget:h,activeMipmapLevel:p}=this;this.coordinateSystem!==r.coordinateSystem&&(this.coordinateSystem=r.coordinateSystem,this.updateCoordinateSystem());const[y,T,O,te,se,xe]=this.children,Ne=r.getRenderTarget(),Ve=r.getActiveCubeFace(),We=r.getActiveMipmapLevel(),tt=r.xr.enabled;r.xr.enabled=!1;const Ot=h.texture.generateMipmaps;h.texture.generateMipmaps=!1,r.setRenderTarget(h,0,p),r.render(l,y),r.setRenderTarget(h,1,p),r.render(l,T),r.setRenderTarget(h,2,p),r.render(l,O),r.setRenderTarget(h,3,p),r.render(l,te),r.setRenderTarget(h,4,p),r.render(l,se),h.texture.generateMipmaps=Ot,r.setRenderTarget(h,5,p),r.render(l,xe),r.setRenderTarget(Ne,Ve,We),r.xr.enabled=tt,h.texture.needsPMREMUpdate=!0}}class Qd extends null{constructor(r=[],l=it,h,p,y,T,O,te,se,xe){super(r,l,h,p,y,T,O,te,se,xe),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(r){this.image=r}}class Wd extends null{constructor(r=1,l={}){super(r,r,l),this.isWebGLCubeRenderTarget=!0;const h={width:r,height:r,depth:1},p=[h,h,h,h,h,h];this.texture=new Qd(p),this._setTextureOptions(l),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(r,l){this.texture.type=l.type,this.texture.colorSpace=l.colorSpace,this.texture.generateMipmaps=l.generateMipmaps,this.texture.minFilter=l.minFilter,this.texture.magFilter=l.magFilter;const h={uniforms:{tEquirect:{value:null}},vertexShader:` - - varying vec3 vWorldDirection; - - vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); - - } - - void main() { - - vWorldDirection = transformDirection( position, modelMatrix ); - - #include - #include - - } - `,fragmentShader:` - - uniform sampler2D tEquirect; - - varying vec3 vWorldDirection; - - #include - - void main() { - - vec3 direction = normalize( vWorldDirection ); - - vec2 sampleUV = equirectUv( direction ); - - gl_FragColor = texture2D( tEquirect, sampleUV ); - - } - `},p=new Hd(5,5,5),y=new bd({name:"CubemapFromEquirect",uniforms:pf(h.uniforms),vertexShader:h.vertexShader,fragmentShader:h.fragmentShader,side:de,blending:we});y.uniforms.tEquirect.value=l;const T=new zd(p,y),O=l.minFilter;return l.minFilter===yi&&(l.minFilter=vr),new nh(1,10,this).update(r,T),l.minFilter=O,T.geometry.dispose(),T.material.dispose(),this}clear(r,l=!0,h=!0,p=!0){const y=r.getRenderTarget();for(let T=0;T<6;T++)r.setRenderTarget(this,T),r.clear(l,h,p);r.setRenderTarget(y)}}class xu extends _l{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Sg={type:"move"};class vo{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new xu,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new xu,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new kn,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new kn),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new xu,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new kn,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new kn),this._grip}dispatchEvent(r){return this._targetRay!==null&&this._targetRay.dispatchEvent(r),this._grip!==null&&this._grip.dispatchEvent(r),this._hand!==null&&this._hand.dispatchEvent(r),this}connect(r){if(r&&r.hand){const l=this._hand;if(l)for(const h of r.hand.values())this._getHandJoint(l,h)}return this.dispatchEvent({type:"connected",data:r}),this}disconnect(r){return this.dispatchEvent({type:"disconnected",data:r}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(r,l,h){let p=null,y=null,T=null;const O=this._targetRay,te=this._grip,se=this._hand;if(r&&l.session.visibilityState!=="visible-blurred"){if(se&&r.hand){T=!0;for(const Ot of r.hand.values()){const An=l.getJointPose(Ot,h),un=this._getHandJoint(se,Ot);An!==null&&(un.matrix.fromArray(An.transform.matrix),un.matrix.decompose(un.position,un.rotation,un.scale),un.matrixWorldNeedsUpdate=!0,un.jointRadius=An.radius),un.visible=An!==null}const xe=se.joints["index-finger-tip"],Ne=se.joints["thumb-tip"],Ve=xe.position.distanceTo(Ne.position),We=.02,tt=.005;se.inputState.pinching&&Ve>We+tt?(se.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:r.handedness,target:this})):!se.inputState.pinching&&Ve<=We-tt&&(se.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:r.handedness,target:this}))}else te!==null&&r.gripSpace&&(y=l.getPose(r.gripSpace,h),y!==null&&(te.matrix.fromArray(y.transform.matrix),te.matrix.decompose(te.position,te.rotation,te.scale),te.matrixWorldNeedsUpdate=!0,y.linearVelocity?(te.hasLinearVelocity=!0,te.linearVelocity.copy(y.linearVelocity)):te.hasLinearVelocity=!1,y.angularVelocity?(te.hasAngularVelocity=!0,te.angularVelocity.copy(y.angularVelocity)):te.hasAngularVelocity=!1));O!==null&&(p=l.getPose(r.targetRaySpace,h),p===null&&y!==null&&(p=y),p!==null&&(O.matrix.fromArray(p.transform.matrix),O.matrix.decompose(O.position,O.rotation,O.scale),O.matrixWorldNeedsUpdate=!0,p.linearVelocity?(O.hasLinearVelocity=!0,O.linearVelocity.copy(p.linearVelocity)):O.hasLinearVelocity=!1,p.angularVelocity?(O.hasAngularVelocity=!0,O.angularVelocity.copy(p.angularVelocity)):O.hasAngularVelocity=!1,this.dispatchEvent(Sg)))}return O!==null&&(O.visible=p!==null),te!==null&&(te.visible=y!==null),se!==null&&(se.visible=T!==null),this}_getHandJoint(r,l){if(r.joints[l.jointName]===void 0){const h=new xu;h.matrixAutoUpdate=!1,h.visible=!1,r.joints[l.jointName]=h,r.add(h)}return r.joints[l.jointName]}}class gf{constructor(r,l=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ea(r),this.density=l}clone(){return new gf(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class mf{constructor(r,l=1,h=1e3){this.isFog=!0,this.name="",this.color=new Ea(r),this.near=l,this.far=h}clone(){return new mf(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Np extends null{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Rs,this.environmentIntensity=1,this.environmentRotation=new Rs,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(r,l){return super.copy(r,l),r.background!==null&&(this.background=r.background.clone()),r.environment!==null&&(this.environment=r.environment.clone()),r.fog!==null&&(this.fog=r.fog.clone()),this.backgroundBlurriness=r.backgroundBlurriness,this.backgroundIntensity=r.backgroundIntensity,this.backgroundRotation.copy(r.backgroundRotation),this.environmentIntensity=r.environmentIntensity,this.environmentRotation.copy(r.environmentRotation),r.overrideMaterial!==null&&(this.overrideMaterial=r.overrideMaterial.clone()),this.matrixAutoUpdate=r.matrixAutoUpdate,this}toJSON(r){const l=super.toJSON(r);return this.fog!==null&&(l.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(l.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(l.object.backgroundIntensity=this.backgroundIntensity),l.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(l.object.environmentIntensity=this.environmentIntensity),l.object.environmentRotation=this.environmentRotation.toArray(),l}}class rh{constructor(r,l){this.isInterleavedBuffer=!0,this.array=r,this.stride=l,this.count=r!==void 0?r.length/l:0,this.usage=oo,this.updateRanges=[],this.version=0,this.uuid=Gr()}onUploadCallback(){}set needsUpdate(r){r===!0&&this.version++}setUsage(r){return this.usage=r,this}addUpdateRange(r,l){this.updateRanges.push({start:r,count:l})}clearUpdateRanges(){this.updateRanges.length=0}copy(r){return this.array=new r.array.constructor(r.array),this.count=r.count,this.stride=r.stride,this.usage=r.usage,this}copyAt(r,l,h){r*=this.stride,h*=l.stride;for(let p=0,y=this.stride;pr.far||l.push({distance:te,point:Hu.clone(),uv:Bl.getInterpolation(Hu,BA,Lc,xf,Sh,bf,Yf,new qi),face:null,object:this})}copy(r,l){return super.copy(r,l),r.center!==void 0&&this.center.copy(r.center),this.material=r.material,this}}function wd(ue,r,l,h,p,y){wh.subVectors(ue,l).addScalar(.5).multiply(h),p!==void 0?(Iu.x=y*wh.x-p*wh.y,Iu.y=p*wh.x+y*wh.y):Iu.copy(wh),ue.copy(r),ue.x+=Iu.x,ue.y+=Iu.y,ue.applyMatrix4(yf)}const sh=new kn,Sd=new kn;class IA extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(r){super.copy(r,!1);const l=r.levels;for(let h=0,p=l.length;h0){let h,p;for(h=1,p=l.length;h0){sh.setFromMatrixPosition(this.matrixWorld);const p=r.ray.origin.distanceTo(sh);this.getObjectForDistance(p).raycast(r,l)}}update(r){const l=this.levels;if(l.length>1){sh.setFromMatrixPosition(r.matrixWorld),Sd.setFromMatrixPosition(this.matrixWorld);const h=sh.distanceTo(Sd)/r.zoom;l[0].object.visible=!0;let p,y;for(p=1,y=l.length;p=T)l[p-1].object.visible=!1,l[p].object.visible=!0;else break}for(this._currentLevel=p-1;p1?null:l.copy(r.start).addScaledVector(h,y)}intersectsLine(r){const l=this.distanceToPoint(r.start),h=this.distanceToPoint(r.end);return l<0&&h>0||h<0&&l>0}intersectsBox(r){return r.intersectsPlane(this)}intersectsSphere(r){return r.intersectsPlane(this)}coplanarPoint(r){return r.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(r,l){const h=l||Dp.getNormalMatrix(r),p=this.coplanarPoint(Ed).applyMatrix4(r),y=this.normal.applyMatrix3(h).normalize();return this.constant=-p.dot(y),this}translate(r){return this.constant-=r.dot(this.normal),this}equals(r){return r.normal.equals(this.normal)&&r.constant===this.constant}clone(){return new this.constructor().copy(this)}}const $d=new gn,Qc=new qi(.5,.5),Eh=new kn;class lp{constructor(r=new Do,l=new Do,h=new Do,p=new Do,y=new Do,T=new Do){this.planes=[r,l,h,p,y,T]}set(r,l,h,p,y,T){const O=this.planes;return O[0].copy(r),O[1].copy(l),O[2].copy(h),O[3].copy(p),O[4].copy(y),O[5].copy(T),this}copy(r){const l=this.planes;for(let h=0;h<6;h++)l[h].copy(r.planes[h]);return this}setFromProjectionMatrix(r,l=Cu,h=!1){const p=this.planes,y=r.elements,T=y[0],O=y[1],te=y[2],se=y[3],xe=y[4],Ne=y[5],Ve=y[6],We=y[7],tt=y[8],Ot=y[9],An=y[10],un=y[11],Un=y[12],Vn=y[13],nr=y[14],ii=y[15];if(p[0].setComponents(se-T,We-xe,un-tt,ii-Un).normalize(),p[1].setComponents(se+T,We+xe,un+tt,ii+Un).normalize(),p[2].setComponents(se+O,We+Ne,un+Ot,ii+Vn).normalize(),p[3].setComponents(se-O,We-Ne,un-Ot,ii-Vn).normalize(),h)p[4].setComponents(te,Ve,An,nr).normalize(),p[5].setComponents(se-te,We-Ve,un-An,ii-nr).normalize();else if(p[4].setComponents(se-te,We-Ve,un-An,ii-nr).normalize(),l===Cu)p[5].setComponents(se+te,We+Ve,un+An,ii+nr).normalize();else if(l===zc)p[5].setComponents(te,Ve,An,nr).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+l);return this}intersectsObject(r){if(r.boundingSphere!==void 0)r.boundingSphere===null&&r.computeBoundingSphere(),$d.copy(r.boundingSphere).applyMatrix4(r.matrixWorld);else{const l=r.geometry;l.boundingSphere===null&&l.computeBoundingSphere(),$d.copy(l.boundingSphere).applyMatrix4(r.matrixWorld)}return this.intersectsSphere($d)}intersectsSprite(r){$d.center.set(0,0,0);const l=Qc.distanceTo(r.center);return $d.radius=.7071067811865476+l,$d.applyMatrix4(r.matrixWorld),this.intersectsSphere($d)}intersectsSphere(r){const l=this.planes,h=r.center,p=-r.radius;for(let y=0;y<6;y++)if(l[y].distanceToPoint(h)0?r.max.x:r.min.x,Eh.y=p.normal.y>0?r.max.y:r.min.y,Eh.z=p.normal.z>0?r.max.z:r.min.z,p.distanceToPoint(Eh)<0)return!1}return!0}containsPoint(r){const l=this.planes;for(let h=0;h<6;h++)if(l[h].distanceToPoint(r)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const wo=new oi,Ch=new lp;class Cg{constructor(){this.coordinateSystem=Cu}intersectsObject(r,l){if(!l.isArrayCamera||l.cameras.length===0)return!1;for(let h=0;h=y.length&&y.push({start:-1,count:-1,z:-1,index:-1});const O=y[this.index];T.push(O),this.index++,O.start=r,O.count=l,O.z=h,O.index=p}reset(){this.list.length=0,this.index=0}}const qu=new oi,Th=new Ea(1,1,1),oh=new lp,kp=new Cg,Sf=new zi,Gh=new gn,Mf=new kn,bu=new kn,eu=new kn,Ef=new Xd,Dl=new zd,Bh=null;function Cf(ue,r,l=0){const h=r.itemSize;if(ue.isInterleavedBufferAttribute||ue.array.constructor!==r.array.constructor){const p=ue.count;for(let y=0;y65535?new Uint32Array(p):new Uint16Array(p);l.setIndex(new Ql(y,1))}this._geometryInitialized=!0}}_validateGeometry(r){const l=this.geometry;if(!!r.getIndex()!=!!l.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const h in l.attributes){if(!r.hasAttribute(h))throw new Error(`THREE.BatchedMesh: Added geometry missing "${h}". All geometries must have consistent attributes.`);const p=r.getAttribute(h),y=l.getAttribute(h);if(p.itemSize!==y.itemSize||p.normalized!==y.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(r){const l=this._instanceInfo;if(r<0||r>=l.length||l[r].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${r}. Instance is either out of range or has been deleted.`)}validateGeometryId(r){const l=this._geometryInfo;if(r<0||r>=l.length||l[r].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${r}. Geometry is either out of range or has been deleted.`)}setCustomSort(r){return this.customSort=r,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new zi);const r=this.boundingBox,l=this._instanceInfo;r.makeEmpty();for(let h=0,p=l.length;h=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const h={visible:!0,active:!0,geometryIndex:r};let p=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(Ec),p=this._availableInstanceIds.shift(),this._instanceInfo[p]=h):(p=this._instanceInfo.length,this._instanceInfo.push(h));const y=this._matricesTexture;qu.identity().toArray(y.image.data,p*16),y.needsUpdate=!0;const T=this._colorsTexture;return T&&(Th.toArray(T.image.data,p*4),T.needsUpdate=!0),this._visibilityChanged=!0,p}addGeometry(r,l=-1,h=-1){this._initializeGeometry(r),this._validateGeometry(r);const p={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},y=this._geometryInfo;p.vertexStart=this._nextVertexStart,p.reservedVertexCount=l===-1?r.getAttribute("position").count:l;const T=r.getIndex();if(T!==null&&(p.indexStart=this._nextIndexStart,p.reservedIndexCount=h===-1?T.count:h),p.indexStart!==-1&&p.indexStart+p.reservedIndexCount>this._maxIndexCount||p.vertexStart+p.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let te;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(Ec),te=this._availableGeometryIds.shift(),y[te]=p):(te=this._geometryCount,this._geometryCount++,y.push(p)),this.setGeometryAt(te,r),this._nextIndexStart=p.indexStart+p.reservedIndexCount,this._nextVertexStart=p.vertexStart+p.reservedVertexCount,te}setGeometryAt(r,l){if(r>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(l);const h=this.geometry,p=h.getIndex()!==null,y=h.getIndex(),T=l.getIndex(),O=this._geometryInfo[r];if(p&&T.count>O.reservedIndexCount||l.attributes.position.count>O.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const te=O.vertexStart,se=O.reservedVertexCount;O.vertexCount=l.getAttribute("position").count;for(const xe in h.attributes){const Ne=l.getAttribute(xe),Ve=h.getAttribute(xe);Cf(Ne,Ve,te);const We=Ne.itemSize;for(let tt=Ne.count,Ot=se;tt=l.length||l[r].active===!1)return this;const h=this._instanceInfo;for(let p=0,y=h.length;pO).sort((T,O)=>h[T].vertexStart-h[O].vertexStart),y=this.geometry;for(let T=0,O=h.length;T=this._geometryCount)return null;const h=this.geometry,p=this._geometryInfo[r];if(p.boundingBox===null){const y=new zi,T=h.index,O=h.attributes.position;for(let te=p.start,se=p.start+p.count;te=this._geometryCount)return null;const h=this.geometry,p=this._geometryInfo[r];if(p.boundingSphere===null){const y=new gn;this.getBoundingBoxAt(r,Sf),Sf.getCenter(y.center);const T=h.index,O=h.attributes.position;let te=0;for(let se=p.start,xe=p.start+p.count;seO.active);if(Math.max(...h.map(O=>O.vertexStart+O.reservedVertexCount))>r)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${l}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...h.map(te=>te.indexStart+te.reservedIndexCount))>l)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${l}. Cannot shrink further.`);const y=this.geometry;y.dispose(),this._maxVertexCount=r,this._maxIndexCount=l,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Ui,this._initializeGeometry(y));const T=this.geometry;y.index&&tu(y.index.array,T.index.array);for(const O in y.attributes)tu(y.attributes[O].array,T.attributes[O].array)}raycast(r,l){const h=this._instanceInfo,p=this._geometryInfo,y=this.matrixWorld,T=this.geometry;Dl.material=this.material,Dl.geometry.index=T.index,Dl.geometry.attributes=T.attributes,Dl.geometry.boundingBox===null&&(Dl.geometry.boundingBox=new zi),Dl.geometry.boundingSphere===null&&(Dl.geometry.boundingSphere=new gn);for(let O=0,te=h.length;Ofd(rl({},l),{boundingBox:l.boundingBox!==null?l.boundingBox.clone():null,boundingSphere:l.boundingSphere!==null?l.boundingSphere.clone():null})),this._instanceInfo=r._instanceInfo.map(l=>rl({},l)),this._availableInstanceIds=r._availableInstanceIds.slice(),this._availableGeometryIds=r._availableGeometryIds.slice(),this._nextIndexStart=r._nextIndexStart,this._nextVertexStart=r._nextVertexStart,this._geometryCount=r._geometryCount,this._maxInstanceCount=r._maxInstanceCount,this._maxVertexCount=r._maxVertexCount,this._maxIndexCount=r._maxIndexCount,this._geometryInitialized=r._geometryInitialized,this._multiDrawCounts=r._multiDrawCounts.slice(),this._multiDrawStarts=r._multiDrawStarts.slice(),this._indirectTexture=r._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=r._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=r._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(r,l,h,p,y){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const T=p.getIndex(),O=T===null?1:T.array.BYTES_PER_ELEMENT,te=this._instanceInfo,se=this._multiDrawStarts,xe=this._multiDrawCounts,Ne=this._geometryInfo,Ve=this.perObjectFrustumCulled,We=this._indirectTexture,tt=We.image.data,Ot=h.isArrayCamera?kp:oh;Ve&&!h.isArrayCamera&&(qu.multiplyMatrices(h.projectionMatrix,h.matrixWorldInverse).multiply(this.matrixWorld),oh.setFromProjectionMatrix(qu,h.coordinateSystem,h.reversedDepth));let An=0;if(this.sortObjects){qu.copy(this.matrixWorld).invert(),Mf.setFromMatrixPosition(h.matrixWorld).applyMatrix4(qu),bu.set(0,0,-1).transformDirection(h.matrixWorld).transformDirection(qu);for(let Vn=0,nr=te.length;Vn0){const p=l[h[0]];if(p!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let y=0,T=p.length;yh)return;lh.applyMatrix4(ue.matrixWorld);const se=r.ray.origin.distanceTo(lh);if(!(ser.far))return{distance:se,point:Xm.clone().applyMatrix4(ue.matrixWorld),index:T,face:null,faceIndex:null,barycoord:null,object:ue}}const cp=new kn,Tg=new kn;class nd extends null{constructor(r,l){super(r,l),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const r=this.geometry;if(r.index===null){const l=r.attributes.position,h=[];for(let p=0,y=l.count;p0){const p=l[h[0]];if(p!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let y=0,T=p.length;yp.far)return;y.push({distance:se,distanceToRay:Math.sqrt(O),point:te,index:r,face:null,faceIndex:null,barycoord:null,object:T})}}class Kv extends null{constructor(r,l,h,p,y=vr,T=vr,O,te,se){super(r,l,h,p,y,T,O,te,se),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;const xe=this;function Ne(){xe.needsUpdate=!0,xe._requestVideoFrameCallbackId=r.requestVideoFrameCallback(Ne)}"requestVideoFrameCallback"in r&&(this._requestVideoFrameCallbackId=r.requestVideoFrameCallback(Ne))}clone(){return new this.constructor(this.image).copy(this)}update(){const r=this.image;"requestVideoFrameCallback"in r===!1&&r.readyState>=r.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&(this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0),super.dispose()}}class jm extends null{constructor(r,l,h,p,y,T,O,te){super({},r,l,h,p,y,T,O,te),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(r){this.image=r,this.needsUpdate=!0}}class fp extends null{constructor(r,l){super({width:r,height:l}),this.isFramebufferTexture=!0,this.magFilter=cn,this.minFilter=cn,this.generateMipmaps=!1,this.needsUpdate=!0}}class rd extends null{constructor(r,l,h,p,y,T,O,te,se,xe,Ne,Ve){super(null,T,O,te,se,xe,p,y,Ne,Ve),this.isCompressedTexture=!0,this.image={width:l,height:h},this.mipmaps=r,this.flipY=!1,this.generateMipmaps=!1}}class Am extends null{constructor(r,l,h,p,y,T){super(r,l,h,y,T),this.isCompressedArrayTexture=!0,this.image.depth=p,this.wrapR=Vt,this.layerUpdates=new Set}addLayerUpdate(r){this.layerUpdates.add(r)}clearLayerUpdates(){this.layerUpdates.clear()}}class pm extends null{constructor(r,l,h){super(void 0,r[0].width,r[0].height,l,h,it),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=r}}class D0 extends ri{constructor(r,l,h,p,y,T,O,te,se){super(r,l,h,p,y,T,O,te,se),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ym extends null{constructor(r,l,h=st,p,y,T,O=cn,te=cn,se,xe=Q,Ne=1){if(xe!==Q&&xe!==w)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const Ve={width:r,height:l,depth:Ne};super(Ve,p,y,T,O,te,xe,h,se),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(r){return super.copy(r),this.source=new br(Object.assign({},r.image)),this.compareFunction=r.compareFunction,this}toJSON(r){const l=super.toJSON(r);return this.compareFunction!==null&&(l.compareFunction=this.compareFunction),l}}class k0 extends null{constructor(r=null){super(),this.sourceTexture=r,this.isExternalTexture=!0}copy(r){return super.copy(r),this.sourceTexture=r.sourceTexture,this}}class gm extends Ui{constructor(r=1,l=1,h=4,p=8,y=1){super(),this.type="CapsuleGeometry",this.parameters={radius:r,height:l,capSegments:h,radialSegments:p,heightSegments:y},l=Math.max(0,l),h=Math.max(1,Math.floor(h)),p=Math.max(3,Math.floor(p)),y=Math.max(1,Math.floor(y));const T=[],O=[],te=[],se=[],xe=l/2,Ne=Math.PI/2*r,Ve=l,We=2*Ne+Ve,tt=h*2+y,Ot=p+1,An=new kn,un=new kn;for(let Un=0;Un<=tt;Un++){let Vn=0,nr=0,ii=0,pi=0;if(Un<=h){const ls=Un/h,ys=ls*Math.PI/2;nr=-xe-r*Math.cos(ys),ii=r*Math.sin(ys),pi=-r*Math.cos(ys),Vn=ls*Ne}else if(Un<=h+y){const ls=(Un-h)/y;nr=-xe+ls*l,ii=r,pi=0,Vn=Ne+ls*Ve}else{const ls=(Un-h-y)/h,ys=ls*Math.PI/2;nr=xe+r*Math.sin(ys),ii=r*Math.cos(ys),pi=r*Math.sin(ys),Vn=Ne+Ve+ls*Ne}const Bi=Math.max(0,Math.min(1,Vn/We));let mi=0;Un===0?mi=.5/p:Un===tt&&(mi=-.5/p);for(let ls=0;ls<=p;ls++){const ys=ls/p,Da=ys*Math.PI*2,Mo=Math.sin(Da),Ro=Math.cos(Da);un.x=-ii*Ro,un.y=nr,un.z=ii*Mo,O.push(un.x,un.y,un.z),An.set(-ii*Ro,pi,ii*Mo),An.normalize(),te.push(An.x,An.y,An.z),se.push(ys+mi,Bi)}if(Un>0){const ls=(Un-1)*Ot;for(let ys=0;ys0&&Vn(!0),l>0&&Vn(!1)),this.setIndex(xe),this.setAttribute("position",new ha(Ne,3)),this.setAttribute("normal",new ha(Ve,3)),this.setAttribute("uv",new ha(We,2));function Un(){const nr=new kn,ii=new kn;let pi=0;const Bi=(l-r)/h;for(let mi=0;mi<=y;mi++){const ls=[],ys=mi/y,Da=ys*(l-r)+r;for(let Mo=0;Mo<=p;Mo++){const Ro=Mo/p,du=Ro*te+O,ru=Math.sin(du),Zc=Math.cos(du);ii.x=Da*ru,ii.y=-ys*h+An,ii.z=Da*Zc,Ne.push(ii.x,ii.y,ii.z),nr.set(ru,Bi,Zc).normalize(),Ve.push(nr.x,nr.y,nr.z),We.push(Ro,1-ys),ls.push(tt++)}Ot.push(ls)}for(let mi=0;mi0||ls!==0)&&(xe.push(ys,Da,Ro),pi+=3),(l>0||ls!==y-1)&&(xe.push(Da,Mo,Ro),pi+=3)}se.addGroup(un,pi,0),un+=pi}function Vn(nr){const ii=tt,pi=new qi,Bi=new kn;let mi=0;const ls=nr===!0?r:l,ys=nr===!0?1:-1;for(let Mo=1;Mo<=p;Mo++)Ne.push(0,An*ys,0),Ve.push(0,ys,0),We.push(.5,.5),tt++;const Da=tt;for(let Mo=0;Mo<=p;Mo++){const du=Mo/p*te+O,ru=Math.cos(du),Zc=Math.sin(du);Bi.x=ls*Zc,Bi.y=An*ys,Bi.z=ls*ru,Ne.push(Bi.x,Bi.y,Bi.z),Ve.push(0,ys,0),pi.x=ru*.5+.5,pi.y=Zc*.5*ys+.5,We.push(pi.x,pi.y),tt++}for(let Mo=0;Mo.9&&Bi<.1&&(Vn<.2&&(T[Un+0]+=1),nr<.2&&(T[Un+2]+=1),ii<.2&&(T[Un+4]+=1))}}function Ve(Un){y.push(Un.x,Un.y,Un.z)}function We(Un,Vn){const nr=Un*3;Vn.x=r[nr+0],Vn.y=r[nr+1],Vn.z=r[nr+2]}function tt(){const Un=new kn,Vn=new kn,nr=new kn,ii=new kn,pi=new qi,Bi=new qi,mi=new qi;for(let ls=0,ys=0;ls0)te=p-1;else{te=p;break}if(p=te,h[p]===T)return p/(y-1);const xe=h[p],Ve=h[p+1]-xe,We=(T-xe)/Ve;return(p+We)/(y-1)}getTangent(r,l){let p=r-1e-4,y=r+1e-4;p<0&&(p=0),y>1&&(y=1);const T=this.getPoint(p),O=this.getPoint(y),te=l||(T.isVector2?new qi:new kn);return te.copy(O).sub(T).normalize(),te}getTangentAt(r,l){const h=this.getUtoTmapping(r);return this.getTangent(h,l)}computeFrenetFrames(r,l=!1){const h=new kn,p=[],y=[],T=[],O=new kn,te=new oi;for(let We=0;We<=r;We++){const tt=We/r;p[We]=this.getTangentAt(tt,new kn)}y[0]=new kn,T[0]=new kn;let se=Number.MAX_VALUE;const xe=Math.abs(p[0].x),Ne=Math.abs(p[0].y),Ve=Math.abs(p[0].z);xe<=se&&(se=xe,h.set(1,0,0)),Ne<=se&&(se=Ne,h.set(0,1,0)),Ve<=se&&h.set(0,0,1),O.crossVectors(p[0],h).normalize(),y[0].crossVectors(p[0],O),T[0].crossVectors(p[0],y[0]);for(let We=1;We<=r;We++){if(y[We]=y[We-1].clone(),T[We]=T[We-1].clone(),O.crossVectors(p[We-1],p[We]),O.length()>Number.EPSILON){O.normalize();const tt=Math.acos(ki(p[We-1].dot(p[We]),-1,1));y[We].applyMatrix4(te.makeRotationAxis(O,tt))}T[We].crossVectors(p[We],y[We])}if(l===!0){let We=Math.acos(ki(y[0].dot(y[r]),-1,1));We/=r,p[0].dot(O.crossVectors(y[0],y[r]))>0&&(We=-We);for(let tt=1;tt<=r;tt++)y[tt].applyMatrix4(te.makeRotationAxis(p[tt],We*tt)),T[tt].crossVectors(p[tt],y[tt])}return{tangents:p,normals:y,binormals:T}}clone(){return new this.constructor().copy(this)}copy(r){return this.arcLengthDivisions=r.arcLengthDivisions,this}toJSON(){const r={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return r.arcLengthDivisions=this.arcLengthDivisions,r.type=this.type,r}fromJSON(r){return this.arcLengthDivisions=r.arcLengthDivisions,this}}class Rh extends Cc{constructor(r=0,l=0,h=1,p=1,y=0,T=Math.PI*2,O=!1,te=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=r,this.aY=l,this.xRadius=h,this.yRadius=p,this.aStartAngle=y,this.aEndAngle=T,this.aClockwise=O,this.aRotation=te}getPoint(r,l=new qi){const h=l,p=Math.PI*2;let y=this.aEndAngle-this.aStartAngle;const T=Math.abs(y)p;)y-=p;y0?0:(Math.floor(Math.abs(O)/y)+1)*y:te===0&&O===y-1&&(O=y-2,te=1);let se,xe;this.closed||O>0?se=p[(O-1)%y]:(aA.subVectors(p[0],p[1]).add(p[0]),se=aA);const Ne=p[O%y],Ve=p[(O+1)%y];if(this.closed||O+2p.length-2?p.length-1:T+1],Ne=p[T>p.length-3?p.length-1:T+2];return h.set(Hh(O,te.x,se.x,xe.x,Ne.x),Hh(O,te.y,se.y,xe.y,Ne.y)),h}copy(r){super.copy(r),this.points=[];for(let l=0,h=r.points.length;l=h){const T=p[y]-h,O=this.curves[y],te=O.getLength(),se=te===0?0:1-T/te;return O.getPointAt(se,l)}y++}return null}getLength(){const r=this.getCurveLengths();return r[r.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const r=[];let l=0;for(let h=0,p=this.curves.length;h1&&!l[l.length-1].equals(l[0])&&l.push(l[0]),l}copy(r){super.copy(r),this.curves=[];for(let l=0,h=r.curves.length;l0){const Ne=se.getPoint(0);Ne.equals(this.currentPoint)||this.lineTo(Ne.x,Ne.y)}this.curves.push(se);const xe=se.getPoint(1);return this.currentPoint.copy(xe),this}copy(r){return super.copy(r),this.currentPoint.copy(r.currentPoint),this}toJSON(){const r=super.toJSON();return r.currentPoint=this.currentPoint.toArray(),r}fromJSON(r){return super.fromJSON(r),this.currentPoint.fromArray(r.currentPoint),this}}class mn extends wn{constructor(r){super(r),this.uuid=Gr(),this.type="Shape",this.holes=[]}getPointsHoles(r){const l=[];for(let h=0,p=this.holes.length;h80*l){O=ue[0],te=ue[1];let xe=O,Ne=te;for(let Ve=l;Vexe&&(xe=We),tt>Ne&&(Ne=tt)}se=Math.max(xe-O,Ne-te),se=se!==0?32767/se:0}return Zn(y,T,l,O,te,se,0),T}function ir(ue,r,l,h,p){let y;if(p===Qs(ue,r,l,h)>0)for(let T=r;T=r;T-=h)y=ur(T/h|0,ue[T],ue[T+1],y);return y&&$(y,y.next)&&(Ir(y),y=y.next),y}function tr(ue,r){if(!ue)return ue;r||(r=ue);let l=ue,h;do if(h=!1,!l.steiner&&($(l,l.next)||R(l.prev,l,l.next)===0)){if(Ir(l),l=r=l.prev,l===l.next)break;h=!0}else l=l.next;while(h||l!==r);return r}function Zn(ue,r,l,h,p,y,T){if(!ue)return;!T&&y&&Zs(ue,h,p,y);let O=ue;for(;ue.prev!==ue.next;){const te=ue.prev,se=ue.next;if(y?ni(ue,h,p,y):Tr(ue)){r.push(te.i,ue.i,se.i),Ir(ue),ue=se.next,O=se.next;continue}if(ue=se,ue===O){T?T===1?(ue=ns(tr(ue),r),Zn(ue,r,l,h,p,y,2)):T===2&&is(ue,r,l,h,p,y):Zn(tr(ue),r,l,h,p,y,1);break}}}function Tr(ue){const r=ue.prev,l=ue,h=ue.next;if(R(r,l,h)>=0)return!1;const p=r.x,y=l.x,T=h.x,O=r.y,te=l.y,se=h.y,xe=Math.min(p,y,T),Ne=Math.min(O,te,se),Ve=Math.max(p,y,T),We=Math.max(O,te,se);let tt=h.next;for(;tt!==r;){if(tt.x>=xe&&tt.x<=Ve&&tt.y>=Ne&&tt.y<=We&&Ys(p,O,y,te,T,se,tt.x,tt.y)&&R(tt.prev,tt,tt.next)>=0)return!1;tt=tt.next}return!0}function ni(ue,r,l,h){const p=ue.prev,y=ue,T=ue.next;if(R(p,y,T)>=0)return!1;const O=p.x,te=y.x,se=T.x,xe=p.y,Ne=y.y,Ve=T.y,We=Math.min(O,te,se),tt=Math.min(xe,Ne,Ve),Ot=Math.max(O,te,se),An=Math.max(xe,Ne,Ve),un=Po(We,tt,r,l,h),Un=Po(Ot,An,r,l,h);let Vn=ue.prevZ,nr=ue.nextZ;for(;Vn&&Vn.z>=un&&nr&&nr.z<=Un;){if(Vn.x>=We&&Vn.x<=Ot&&Vn.y>=tt&&Vn.y<=An&&Vn!==p&&Vn!==T&&Ys(O,xe,te,Ne,se,Ve,Vn.x,Vn.y)&&R(Vn.prev,Vn,Vn.next)>=0||(Vn=Vn.prevZ,nr.x>=We&&nr.x<=Ot&&nr.y>=tt&&nr.y<=An&&nr!==p&&nr!==T&&Ys(O,xe,te,Ne,se,Ve,nr.x,nr.y)&&R(nr.prev,nr,nr.next)>=0))return!1;nr=nr.nextZ}for(;Vn&&Vn.z>=un;){if(Vn.x>=We&&Vn.x<=Ot&&Vn.y>=tt&&Vn.y<=An&&Vn!==p&&Vn!==T&&Ys(O,xe,te,Ne,se,Ve,Vn.x,Vn.y)&&R(Vn.prev,Vn,Vn.next)>=0)return!1;Vn=Vn.prevZ}for(;nr&&nr.z<=Un;){if(nr.x>=We&&nr.x<=Ot&&nr.y>=tt&&nr.y<=An&&nr!==p&&nr!==T&&Ys(O,xe,te,Ne,se,Ve,nr.x,nr.y)&&R(nr.prev,nr,nr.next)>=0)return!1;nr=nr.nextZ}return!0}function ns(ue,r){let l=ue;do{const h=l.prev,p=l.next.next;!$(h,p)&&K(h,l,l.next,p)&&dn(h,p)&&dn(p,h)&&(r.push(h.i,l.i,p.i),Ir(l),Ir(l.next),l=ue=p),l=l.next}while(l!==ue);return tr(l)}function is(ue,r,l,h,p,y){let T=ue;do{let O=T.next.next;for(;O!==T.prev;){if(T.i!==O.i&&U(T,O)){let te=Ar(T,O);T=tr(T,T.next),te=tr(te,te.next),Zn(T,r,l,h,p,y,0),Zn(te,r,l,h,p,y,0);return}O=O.next}T=T.next}while(T!==ue)}function bi(ue,r,l,h){const p=[];for(let y=0,T=r.length;y=l.next.y&&l.next.y!==l.y){const Ne=l.x+(p-l.y)*(l.next.x-l.x)/(l.next.y-l.y);if(Ne<=h&&Ne>y&&(y=Ne,T=l.x=l.x&&l.x>=te&&h!==l.x&&El(pT.x||l.x===T.x&&Hs(T,l)))&&(T=l,xe=Ne)}l=l.next}while(l!==O);return T}function Hs(ue,r){return R(ue.prev,ue,r.prev)<0&&R(r.next,ue,ue.next)<0}function Zs(ue,r,l,h){let p=ue;do p.z===0&&(p.z=Po(p.x,p.y,r,l,h)),p.prevZ=p.prev,p.nextZ=p.next,p=p.next;while(p!==ue);p.prevZ.nextZ=null,p.prevZ=null,Ia(p)}function Ia(ue){let r,l=1;do{let h=ue,p;ue=null;let y=null;for(r=0;h;){r++;let T=h,O=0;for(let se=0;se0||te>0&&T;)O!==0&&(te===0||!T||h.z<=T.z)?(p=h,h=h.nextZ,O--):(p=T,T=T.nextZ,te--),y?y.nextZ=p:ue=p,p.prevZ=y,y=p;h=T}y.nextZ=null,l*=2}while(r>1);return ue}function Po(ue,r,l,h,p){return ue=(ue-l)*p|0,r=(r-h)*p|0,ue=(ue|ue<<8)&16711935,ue=(ue|ue<<4)&252645135,ue=(ue|ue<<2)&858993459,ue=(ue|ue<<1)&1431655765,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,ue|r<<1}function Ml(ue){let r=ue,l=ue;do(r.x=(ue-T)*(y-O)&&(ue-T)*(h-O)>=(l-T)*(r-O)&&(l-T)*(y-O)>=(p-T)*(h-O)}function Ys(ue,r,l,h,p,y,T,O){return!(ue===T&&r===O)&&El(ue,r,l,h,p,y,T,O)}function U(ue,r){return ue.next.i!==r.i&&ue.prev.i!==r.i&&!Ft(ue,r)&&(dn(ue,r)&&dn(r,ue)&&fn(ue,r)&&(R(ue.prev,ue,r.prev)||R(ue,r.prev,r))||$(ue,r)&&R(ue.prev,ue,ue.next)>0&&R(r.prev,r,r.next)>0)}function R(ue,r,l){return(r.y-ue.y)*(l.x-r.x)-(r.x-ue.x)*(l.y-r.y)}function $(ue,r){return ue.x===r.x&&ue.y===r.y}function K(ue,r,l,h){const p=et(R(ue,r,l)),y=et(R(ue,r,h)),T=et(R(l,h,ue)),O=et(R(l,h,r));return!!(p!==y&&T!==O||p===0&&_e(ue,l,r)||y===0&&_e(ue,h,r)||T===0&&_e(l,ue,h)||O===0&&_e(l,r,h))}function _e(ue,r,l){return r.x<=Math.max(ue.x,l.x)&&r.x>=Math.min(ue.x,l.x)&&r.y<=Math.max(ue.y,l.y)&&r.y>=Math.min(ue.y,l.y)}function et(ue){return ue>0?1:ue<0?-1:0}function Ft(ue,r){let l=ue;do{if(l.i!==ue.i&&l.next.i!==ue.i&&l.i!==r.i&&l.next.i!==r.i&&K(l,l.next,ue,r))return!0;l=l.next}while(l!==ue);return!1}function dn(ue,r){return R(ue.prev,ue,ue.next)<0?R(ue,r,ue.next)>=0&&R(ue,ue.prev,r)>=0:R(ue,r,ue.prev)<0||R(ue,ue.next,r)<0}function fn(ue,r){let l=ue,h=!1;const p=(ue.x+r.x)/2,y=(ue.y+r.y)/2;do l.y>y!=l.next.y>y&&l.next.y!==l.y&&p<(l.next.x-l.x)*(y-l.y)/(l.next.y-l.y)+l.x&&(h=!h),l=l.next;while(l!==ue);return h}function Ar(ue,r){const l=fi(ue.i,ue.x,ue.y),h=fi(r.i,r.x,r.y),p=ue.next,y=r.prev;return ue.next=r,r.prev=ue,l.next=p,p.prev=l,h.next=l,l.prev=h,y.next=h,h.prev=y,h}function ur(ue,r,l,h){const p=fi(ue,r,l);return h?(p.next=h.next,p.prev=h,h.next.prev=p,h.next=p):(p.prev=p,p.next=p),p}function Ir(ue){ue.next.prev=ue.prev,ue.prev.next=ue.next,ue.prevZ&&(ue.prevZ.nextZ=ue.nextZ),ue.nextZ&&(ue.nextZ.prevZ=ue.prevZ)}function fi(ue,r,l){return{i:ue,x:r,y:l,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Qs(ue,r,l,h){let p=0;for(let y=r,T=l-h;y2&&ue[r-1].equals(ue[0])&&ue.pop()}function fa(ue,r){for(let l=0;lNumber.EPSILON){const Rd=Math.sqrt(nf),qx=Math.sqrt(nc*nc+Kc*Kc),Jx=ma.x-Qu/Rd,eb=ma.y+Io/Rd,Fw=ya.x-Kc/qx,Pw=ya.y+nc/qx,vy=((Fw-Jx)*Kc-(Pw-eb)*nc)/(Io*Kc-Qu*nc);Za=Jx+Io*vy-Xs.x,Ga=eb+Qu*vy-Xs.y;const tb=Za*Za+Ga*Ga;if(tb<=2)return new qi(Za,Ga);Tl=Math.sqrt(tb/2)}else{let Rd=!1;Io>Number.EPSILON?nc>Number.EPSILON&&(Rd=!0):Io<-Number.EPSILON?nc<-Number.EPSILON&&(Rd=!0):Math.sign(Qu)===Math.sign(Kc)&&(Rd=!0),Rd?(Za=-Qu,Ga=Io,Tl=Math.sqrt(nf)):(Za=Io,Ga=Qu,Tl=Math.sqrt(nf/2))}return new qi(Za/Tl,Ga/Tl)}const Ac=[];for(let Xs=0,ma=ru.length,ya=ma-1,Za=Xs+1;Xs=0;Xs--){const ma=Xs/An,ya=We*Math.cos(ma*Math.PI/2),Za=tt*Math.sin(ma*Math.PI/2)+Ot;for(let Ga=0,Tl=ru.length;Ga=0;){const Za=ya;let Ga=ya-1;Ga<0&&(Ga=Xs.length-1);for(let Tl=0,Io=xe+An*2;Tl0)&&We.push(Vn,nr,pi),(un!==h-1||te0!=r>0&&this.version++,this._anisotropy=r}get clearcoat(){return this._clearcoat}set clearcoat(r){this._clearcoat>0!=r>0&&this.version++,this._clearcoat=r}get iridescence(){return this._iridescence}set iridescence(r){this._iridescence>0!=r>0&&this.version++,this._iridescence=r}get dispersion(){return this._dispersion}set dispersion(r){this._dispersion>0!=r>0&&this.version++,this._dispersion=r}get sheen(){return this._sheen}set sheen(r){this._sheen>0!=r>0&&this.version++,this._sheen=r}get transmission(){return this._transmission}set transmission(r){this._transmission>0!=r>0&&this.version++,this._transmission=r}copy(r){return super.copy(r),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=r.anisotropy,this.anisotropyRotation=r.anisotropyRotation,this.anisotropyMap=r.anisotropyMap,this.clearcoat=r.clearcoat,this.clearcoatMap=r.clearcoatMap,this.clearcoatRoughness=r.clearcoatRoughness,this.clearcoatRoughnessMap=r.clearcoatRoughnessMap,this.clearcoatNormalMap=r.clearcoatNormalMap,this.clearcoatNormalScale.copy(r.clearcoatNormalScale),this.dispersion=r.dispersion,this.ior=r.ior,this.iridescence=r.iridescence,this.iridescenceMap=r.iridescenceMap,this.iridescenceIOR=r.iridescenceIOR,this.iridescenceThicknessRange=[...r.iridescenceThicknessRange],this.iridescenceThicknessMap=r.iridescenceThicknessMap,this.sheen=r.sheen,this.sheenColor.copy(r.sheenColor),this.sheenColorMap=r.sheenColorMap,this.sheenRoughness=r.sheenRoughness,this.sheenRoughnessMap=r.sheenRoughnessMap,this.transmission=r.transmission,this.transmissionMap=r.transmissionMap,this.thickness=r.thickness,this.thicknessMap=r.thicknessMap,this.attenuationDistance=r.attenuationDistance,this.attenuationColor.copy(r.attenuationColor),this.specularIntensity=r.specularIntensity,this.specularIntensityMap=r.specularIntensityMap,this.specularColor.copy(r.specularColor),this.specularColorMap=r.specularColorMap,this}}class Nf extends ku{constructor(r){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ea(16777215),this.specular=new Ea(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ea(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=bo,this.normalScale=new qi(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Rs,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(r)}copy(r){return super.copy(r),this.color.copy(r.color),this.specular.copy(r.specular),this.shininess=r.shininess,this.map=r.map,this.lightMap=r.lightMap,this.lightMapIntensity=r.lightMapIntensity,this.aoMap=r.aoMap,this.aoMapIntensity=r.aoMapIntensity,this.emissive.copy(r.emissive),this.emissiveMap=r.emissiveMap,this.emissiveIntensity=r.emissiveIntensity,this.bumpMap=r.bumpMap,this.bumpScale=r.bumpScale,this.normalMap=r.normalMap,this.normalMapType=r.normalMapType,this.normalScale.copy(r.normalScale),this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.specularMap=r.specularMap,this.alphaMap=r.alphaMap,this.envMap=r.envMap,this.envMapRotation.copy(r.envMapRotation),this.combine=r.combine,this.reflectivity=r.reflectivity,this.refractionRatio=r.refractionRatio,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.wireframeLinecap=r.wireframeLinecap,this.wireframeLinejoin=r.wireframeLinejoin,this.flatShading=r.flatShading,this.fog=r.fog,this}}class Td extends null{constructor(r){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ea(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ea(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=bo,this.normalScale=new qi(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(r)}copy(r){return super.copy(r),this.color.copy(r.color),this.map=r.map,this.gradientMap=r.gradientMap,this.lightMap=r.lightMap,this.lightMapIntensity=r.lightMapIntensity,this.aoMap=r.aoMap,this.aoMapIntensity=r.aoMapIntensity,this.emissive.copy(r.emissive),this.emissiveMap=r.emissiveMap,this.emissiveIntensity=r.emissiveIntensity,this.bumpMap=r.bumpMap,this.bumpScale=r.bumpScale,this.normalMap=r.normalMap,this.normalMapType=r.normalMapType,this.normalScale.copy(r.normalScale),this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.alphaMap=r.alphaMap,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.wireframeLinecap=r.wireframeLinecap,this.wireframeLinejoin=r.wireframeLinejoin,this.fog=r.fog,this}}class Gp extends null{constructor(r){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=bo,this.normalScale=new qi(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(r)}copy(r){return super.copy(r),this.bumpMap=r.bumpMap,this.bumpScale=r.bumpScale,this.normalMap=r.normalMap,this.normalMapType=r.normalMapType,this.normalScale.copy(r.normalScale),this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.flatShading=r.flatShading,this}}class Hp extends null{constructor(r){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ea(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ea(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=bo,this.normalScale=new qi(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Rs,this.combine=on,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(r)}copy(r){return super.copy(r),this.color.copy(r.color),this.map=r.map,this.lightMap=r.lightMap,this.lightMapIntensity=r.lightMapIntensity,this.aoMap=r.aoMap,this.aoMapIntensity=r.aoMapIntensity,this.emissive.copy(r.emissive),this.emissiveMap=r.emissiveMap,this.emissiveIntensity=r.emissiveIntensity,this.bumpMap=r.bumpMap,this.bumpScale=r.bumpScale,this.normalMap=r.normalMap,this.normalMapType=r.normalMapType,this.normalScale.copy(r.normalScale),this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.specularMap=r.specularMap,this.alphaMap=r.alphaMap,this.envMap=r.envMap,this.envMapRotation.copy(r.envMapRotation),this.combine=r.combine,this.reflectivity=r.reflectivity,this.refractionRatio=r.refractionRatio,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.wireframeLinecap=r.wireframeLinecap,this.wireframeLinejoin=r.wireframeLinejoin,this.flatShading=r.flatShading,this.fog=r.fog,this}}class Ex extends null{constructor(r){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=$a,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(r)}copy(r){return super.copy(r),this.depthPacking=r.depthPacking,this.map=r.map,this.alphaMap=r.alphaMap,this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this}}class Cx extends null{constructor(r){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(r)}copy(r){return super.copy(r),this.map=r.map,this.alphaMap=r.alphaMap,this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this}}class Tx extends null{constructor(r){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ea(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=bo,this.normalScale=new qi(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(r)}copy(r){return super.copy(r),this.defines={MATCAP:""},this.color.copy(r.color),this.matcap=r.matcap,this.map=r.map,this.bumpMap=r.bumpMap,this.bumpScale=r.bumpScale,this.normalMap=r.normalMap,this.normalMapType=r.normalMapType,this.normalScale.copy(r.normalScale),this.displacementMap=r.displacementMap,this.displacementScale=r.displacementScale,this.displacementBias=r.displacementBias,this.alphaMap=r.alphaMap,this.wireframe=r.wireframe,this.wireframeLinewidth=r.wireframeLinewidth,this.flatShading=r.flatShading,this.fog=r.fog,this}}class $v extends null{constructor(r){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(r)}copy(r){return super.copy(r),this.scale=r.scale,this.dashSize=r.dashSize,this.gapSize=r.gapSize,this}}function Qp(ue,r){return!ue||ue.constructor===r?ue:typeof r.BYTES_PER_ELEMENT=="number"?new r(ue):Array.prototype.slice.call(ue)}function Xv(ue){return ArrayBuffer.isView(ue)&&!(ue instanceof DataView)}function jv(ue){function r(p,y){return ue[p]-ue[y]}const l=ue.length,h=new Array(l);for(let p=0;p!==l;++p)h[p]=p;return h.sort(r),h}function V0(ue,r,l){const h=ue.length,p=new ue.constructor(h);for(let y=0,T=0;T!==h;++y){const O=l[y]*r;for(let te=0;te!==r;++te)p[T++]=ue[O+te]}return p}function qm(ue,r,l,h){let p=1,y=ue[0];for(;y!==void 0&&y[h]===void 0;)y=ue[p++];if(y===void 0)return;let T=y[h];if(T!==void 0)if(Array.isArray(T))do T=y[h],T!==void 0&&(r.push(y.time),l.push(...T)),y=ue[p++];while(y!==void 0);else if(T.toArray!==void 0)do T=y[h],T!==void 0&&(r.push(y.time),T.toArray(l,l.length)),y=ue[p++];while(y!==void 0);else do T=y[h],T!==void 0&&(r.push(y.time),l.push(T)),y=ue[p++];while(y!==void 0)}function Bx(ue,r,l,h,p=30){const y=ue.clone();y.name=r;const T=[];for(let te=0;te=h)){Ne.push(se.times[We]);for(let Ot=0;Oty.tracks[te].times[0]&&(O=y.tracks[te].times[0]);for(let te=0;te=O.times[tt]){const un=tt*Ne+xe,Un=un+Ne-xe;Ot=O.values.slice(un,Un)}else{const un=O.createInterpolant(),Un=xe,Vn=Ne-xe;un.evaluate(y),Ot=un.resultBuffer.slice(Un,Vn)}te==="quaternion"&&new Du().fromArray(Ot).normalize().conjugate().toArray(Ot);const An=se.times.length;for(let un=0;un=y)){const O=l[1];r=y)break t}T=h,h=0;break n}break e}for(;h>>1;rl;)--T;if(++T,y!==0||T!==p){y>=T&&(T=Math.max(T,1),y=T-1);const O=this.getValueSize();this.times=h.slice(y,T),this.values=this.values.slice(y*O,T*O)}return this}validate(){let r=!0;const l=this.getValueSize();l-Math.floor(l)!==0&&(Wa("KeyframeTrack: Invalid value size in track.",this),r=!1);const h=this.times,p=this.values,y=h.length;y===0&&(Wa("KeyframeTrack: Track is empty.",this),r=!1);let T=null;for(let O=0;O!==y;O++){const te=h[O];if(typeof te=="number"&&isNaN(te)){Wa("KeyframeTrack: Time is not a valid number.",this,O,te),r=!1;break}if(T!==null&&T>te){Wa("KeyframeTrack: Out of order keys.",this,O,te,T),r=!1;break}T=te}if(p!==void 0&&Xv(p))for(let O=0,te=p.length;O!==te;++O){const se=p[O];if(isNaN(se)){Wa("KeyframeTrack: Value is not a valid number.",this,O,se),r=!1;break}}return r}optimize(){const r=this.times.slice(),l=this.values.slice(),h=this.getValueSize(),p=this.getInterpolation()===Ii,y=r.length-1;let T=1;for(let O=1;O0){r[T]=r[y];for(let O=y*h,te=T*h,se=0;se!==h;++se)l[te+se]=l[O+se];++T}return T!==r.length?(this.times=r.slice(0,T),this.values=l.slice(0,T*h)):(this.times=r,this.values=l),this}clone(){const r=this.times.slice(),l=this.values.slice(),h=this.constructor,p=new h(this.name,r,l);return p.createInterpolant=this.createInterpolant,p}}tf.prototype.ValueTypeName="",tf.prototype.TimeBufferType=Float32Array,tf.prototype.ValueBufferType=Float32Array,tf.prototype.DefaultInterpolation=$r;class bm extends tf{constructor(r,l,h){super(r,l,h)}}bm.prototype.ValueTypeName="bool",bm.prototype.ValueBufferType=Array,bm.prototype.DefaultInterpolation=Rr,bm.prototype.InterpolantFactoryMethodLinear=void 0,bm.prototype.InterpolantFactoryMethodSmooth=void 0;class Ix extends tf{constructor(r,l,h,p){super(r,l,h,p)}}Ix.prototype.ValueTypeName="color";class Jv extends tf{constructor(r,l,h,p){super(r,l,h,p)}}Jv.prototype.ValueTypeName="number";class z0 extends xm{constructor(r,l,h,p){super(r,l,h,p)}interpolate_(r,l,h,p){const y=this.resultBuffer,T=this.sampleValues,O=this.valueSize,te=(h-l)/(p-l);let se=r*O;for(let xe=se+O;se!==xe;se+=4)Du.slerpFlat(y,0,T,se-O,T,se,te);return y}}class G0 extends tf{constructor(r,l,h,p){super(r,l,h,p)}InterpolantFactoryMethodLinear(r){return new z0(this.times,this.values,this.getValueSize(),r)}}G0.prototype.ValueTypeName="quaternion",G0.prototype.InterpolantFactoryMethodSmooth=void 0;class Rg extends tf{constructor(r,l,h){super(r,l,h)}}Rg.prototype.ValueTypeName="string",Rg.prototype.ValueBufferType=Array,Rg.prototype.DefaultInterpolation=Rr,Rg.prototype.InterpolantFactoryMethodLinear=void 0,Rg.prototype.InterpolantFactoryMethodSmooth=void 0;class H0 extends tf{constructor(r,l,h,p){super(r,l,h,p)}}H0.prototype.ValueTypeName="vector";class Bd{constructor(r="",l=-1,h=[],p=Cs){this.name=r,this.tracks=h,this.duration=l,this.blendMode=p,this.uuid=Gr(),this.userData={},this.duration<0&&this.resetDuration()}static parse(r){const l=[],h=r.tracks,p=1/(r.fps||1);for(let T=0,O=h.length;T!==O;++T)l.push(Nx(h[T]).scale(p));const y=new this(r.name,r.duration,l,r.blendMode);return y.uuid=r.uuid,y.userData=JSON.parse(r.userData||"{}"),y}static toJSON(r){const l=[],h=r.tracks,p={name:r.name,duration:r.duration,tracks:l,uuid:r.uuid,blendMode:r.blendMode,userData:JSON.stringify(r.userData)};for(let y=0,T=h.length;y!==T;++y)l.push(tf.toJSON(h[y]));return p}static CreateFromMorphTargetSequence(r,l,h,p){const y=l.length,T=[];for(let O=0;O1){const Ne=xe[1];let Ve=p[Ne];Ve||(p[Ne]=Ve=[]),Ve.push(se)}}const T=[];for(const O in p)T.push(this.CreateFromMorphTargetSequence(O,p[O],l,h));return T}static parseAnimation(r,l){if(na("AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!r)return Wa("AnimationClip: No animation in JSONLoader data."),null;const h=function(Ne,Ve,We,tt,Ot){if(We.length!==0){const An=[],un=[];qm(We,An,un,tt),An.length!==0&&Ot.push(new Ne(Ve,An,un))}},p=[],y=r.name||"default",T=r.fps||30,O=r.blendMode;let te=r.length||-1;const se=r.hierarchy||[];for(let Ne=0;Ne{l&&l(y),this.manager.itemEnd(r)},0),y;if(Pf[r]!==void 0){Pf[r].push({onLoad:l,onProgress:h,onError:p});return}Pf[r]=[],Pf[r].push({onLoad:l,onProgress:h,onError:p});const T=new Request(r,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),O=this.mimeType,te=this.responseType;fetch(T).then(se=>{if(se.status===200||se.status===0){if(se.status===0&&na("FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||se.body===void 0||se.body.getReader===void 0)return se;const xe=Pf[r],Ne=se.body.getReader(),Ve=se.headers.get("X-File-Size")||se.headers.get("Content-Length"),We=Ve?parseInt(Ve):0,tt=We!==0;let Ot=0;const An=new ReadableStream({start(un){Un();function Un(){Ne.read().then(({done:Vn,value:nr})=>{if(Vn)un.close();else{Ot+=nr.byteLength;const ii=new ProgressEvent("progress",{lengthComputable:tt,loaded:Ot,total:We});for(let pi=0,Bi=xe.length;pi{un.error(Vn)})}}});return new Response(An)}else throw new W0(`fetch for "${se.url}" responded with ${se.status}: ${se.statusText}`,se)}).then(se=>{switch(te){case"arraybuffer":return se.arrayBuffer();case"blob":return se.blob();case"document":return se.text().then(xe=>new DOMParser().parseFromString(xe,O));case"json":return se.json();default:if(O==="")return se.text();{const Ne=/charset="?([^;"\s]*)"?/i.exec(O),Ve=Ne&&Ne[1]?Ne[1].toLowerCase():void 0,We=new TextDecoder(Ve);return se.arrayBuffer().then(tt=>We.decode(tt))}}}).then(se=>{Ff.add(`file:${r}`,se);const xe=Pf[r];delete Pf[r];for(let Ne=0,Ve=xe.length;Ne{const xe=Pf[r];if(xe===void 0)throw this.manager.itemError(r),se;delete Pf[r];for(let Ne=0,Ve=xe.length;Ne{this.manager.itemEnd(r)}),this.manager.itemStart(r)}setResponseType(r){return this.responseType=r,this}setMimeType(r){return this.mimeType=r,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}class PE extends null{constructor(r){super(r)}load(r,l,h,p){const y=this,T=new Wp(this.manager);T.setPath(this.path),T.setRequestHeader(this.requestHeader),T.setWithCredentials(this.withCredentials),T.load(r,function(O){try{l(y.parse(JSON.parse(O)))}catch(te){p?p(te):Wa(te),y.manager.itemError(r)}},h,p)}parse(r){const l=[];for(let h=0;h0:p.vertexColors=r.vertexColors),r.uniforms!==void 0)for(const y in r.uniforms){const T=r.uniforms[y];switch(p.uniforms[y]={},T.type){case"t":p.uniforms[y].value=h(T.value);break;case"c":p.uniforms[y].value=new Ea().setHex(T.value);break;case"v2":p.uniforms[y].value=new qi().fromArray(T.value);break;case"v3":p.uniforms[y].value=new kn().fromArray(T.value);break;case"v4":p.uniforms[y].value=new ai().fromArray(T.value);break;case"m3":p.uniforms[y].value=new vl().fromArray(T.value);break;case"m4":p.uniforms[y].value=new oi().fromArray(T.value);break;default:p.uniforms[y].value=T.value}}if(r.defines!==void 0&&(p.defines=r.defines),r.vertexShader!==void 0&&(p.vertexShader=r.vertexShader),r.fragmentShader!==void 0&&(p.fragmentShader=r.fragmentShader),r.glslVersion!==void 0&&(p.glslVersion=r.glslVersion),r.extensions!==void 0)for(const y in r.extensions)p.extensions[y]=r.extensions[y];if(r.lights!==void 0&&(p.lights=r.lights),r.clipping!==void 0&&(p.clipping=r.clipping),r.size!==void 0&&(p.size=r.size),r.sizeAttenuation!==void 0&&(p.sizeAttenuation=r.sizeAttenuation),r.map!==void 0&&(p.map=h(r.map)),r.matcap!==void 0&&(p.matcap=h(r.matcap)),r.alphaMap!==void 0&&(p.alphaMap=h(r.alphaMap)),r.bumpMap!==void 0&&(p.bumpMap=h(r.bumpMap)),r.bumpScale!==void 0&&(p.bumpScale=r.bumpScale),r.normalMap!==void 0&&(p.normalMap=h(r.normalMap)),r.normalMapType!==void 0&&(p.normalMapType=r.normalMapType),r.normalScale!==void 0){let y=r.normalScale;Array.isArray(y)===!1&&(y=[y,y]),p.normalScale=new qi().fromArray(y)}return r.displacementMap!==void 0&&(p.displacementMap=h(r.displacementMap)),r.displacementScale!==void 0&&(p.displacementScale=r.displacementScale),r.displacementBias!==void 0&&(p.displacementBias=r.displacementBias),r.roughnessMap!==void 0&&(p.roughnessMap=h(r.roughnessMap)),r.metalnessMap!==void 0&&(p.metalnessMap=h(r.metalnessMap)),r.emissiveMap!==void 0&&(p.emissiveMap=h(r.emissiveMap)),r.emissiveIntensity!==void 0&&(p.emissiveIntensity=r.emissiveIntensity),r.specularMap!==void 0&&(p.specularMap=h(r.specularMap)),r.specularIntensityMap!==void 0&&(p.specularIntensityMap=h(r.specularIntensityMap)),r.specularColorMap!==void 0&&(p.specularColorMap=h(r.specularColorMap)),r.envMap!==void 0&&(p.envMap=h(r.envMap)),r.envMapRotation!==void 0&&p.envMapRotation.fromArray(r.envMapRotation),r.envMapIntensity!==void 0&&(p.envMapIntensity=r.envMapIntensity),r.reflectivity!==void 0&&(p.reflectivity=r.reflectivity),r.refractionRatio!==void 0&&(p.refractionRatio=r.refractionRatio),r.lightMap!==void 0&&(p.lightMap=h(r.lightMap)),r.lightMapIntensity!==void 0&&(p.lightMapIntensity=r.lightMapIntensity),r.aoMap!==void 0&&(p.aoMap=h(r.aoMap)),r.aoMapIntensity!==void 0&&(p.aoMapIntensity=r.aoMapIntensity),r.gradientMap!==void 0&&(p.gradientMap=h(r.gradientMap)),r.clearcoatMap!==void 0&&(p.clearcoatMap=h(r.clearcoatMap)),r.clearcoatRoughnessMap!==void 0&&(p.clearcoatRoughnessMap=h(r.clearcoatRoughnessMap)),r.clearcoatNormalMap!==void 0&&(p.clearcoatNormalMap=h(r.clearcoatNormalMap)),r.clearcoatNormalScale!==void 0&&(p.clearcoatNormalScale=new qi().fromArray(r.clearcoatNormalScale)),r.iridescenceMap!==void 0&&(p.iridescenceMap=h(r.iridescenceMap)),r.iridescenceThicknessMap!==void 0&&(p.iridescenceThicknessMap=h(r.iridescenceThicknessMap)),r.transmissionMap!==void 0&&(p.transmissionMap=h(r.transmissionMap)),r.thicknessMap!==void 0&&(p.thicknessMap=h(r.thicknessMap)),r.anisotropyMap!==void 0&&(p.anisotropyMap=h(r.anisotropyMap)),r.sheenColorMap!==void 0&&(p.sheenColorMap=h(r.sheenColorMap)),r.sheenRoughnessMap!==void 0&&(p.sheenRoughnessMap=h(r.sheenRoughnessMap)),p}setTextures(r){return this.textures=r,this}createMaterialFromType(r){return t0.createMaterialFromType(r)}static createMaterialFromType(r){const l={ShadowMaterial:GA,SpriteMaterial:Fp,RawShaderMaterial:sd,ShaderMaterial:bd,PointsMaterial:LA,MeshPhysicalMaterial:ef,MeshStandardMaterial:lA,MeshPhongMaterial:Nf,MeshToonMaterial:Td,MeshNormalMaterial:Gp,MeshLambertMaterial:Hp,MeshDepthMaterial:Ex,MeshDistanceMaterial:Cx,MeshBasicMaterial:Dh,MeshMatcapMaterial:Tx,LineDashedMaterial:$v,LineBasicMaterial:Wc,Material:ku};return new l[r]}}class X0{static extractUrlBase(r){const l=r.lastIndexOf("/");return l===-1?"./":r.slice(0,l+1)}static resolveURL(r,l){return typeof r!="string"||r===""?"":(/^https?:\/\//i.test(l)&&/^\//.test(r)&&(l=l.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(r)||/^data:.*,.*$/i.test(r)||/^blob:.*$/i.test(r)?r:l+r)}}class kx extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(r){return super.copy(r),this.instanceCount=r.instanceCount,this}toJSON(){const r=super.toJSON();return r.instanceCount=this.instanceCount,r.isInstancedBufferGeometry=!0,r}}class Vx extends null{constructor(r){super(r)}load(r,l,h,p){const y=this,T=new Wp(y.manager);T.setPath(y.path),T.setRequestHeader(y.requestHeader),T.setWithCredentials(y.withCredentials),T.load(r,function(O){try{l(y.parse(JSON.parse(O)))}catch(te){p?p(te):Wa(te),y.manager.itemError(r)}},h,p)}parse(r){const l={},h={};function p(We,tt){if(l[tt]!==void 0)return l[tt];const An=We.interleavedBuffers[tt],un=y(We,An.buffer),Un=gl(An.type,un),Vn=new rh(Un,An.stride);return Vn.uuid=An.uuid,l[tt]=Vn,Vn}function y(We,tt){if(h[tt]!==void 0)return h[tt];const An=We.arrayBuffers[tt],un=new Uint32Array(An).buffer;return h[tt]=un,un}const T=r.isInstancedBufferGeometry?new kx:new Ui,O=r.data.index;if(O!==void 0){const We=gl(O.type,O.array);T.setIndex(new Ql(We,1))}const te=r.data.attributes;for(const We in te){const tt=te[We];let Ot;if(tt.isInterleavedBufferAttribute){const An=p(r.data,tt.data);Ot=new ih(An,tt.itemSize,tt.offset,tt.normalized)}else{const An=gl(tt.type,tt.array),un=tt.isInstancedBufferAttribute?eA:Ql;Ot=new un(An,tt.itemSize,tt.normalized)}tt.name!==void 0&&(Ot.name=tt.name),tt.usage!==void 0&&Ot.setUsage(tt.usage),T.setAttribute(We,Ot)}const se=r.data.morphAttributes;if(se)for(const We in se){const tt=se[We],Ot=[];for(let An=0,un=tt.length;An0){const te=new Fx(l);y=new Z0(te),y.setCrossOrigin(this.crossOrigin);for(let se=0,xe=r.length;se0){p=new Z0(this.manager),p.setCrossOrigin(this.crossOrigin);for(let T=0,O=r.length;T{let An=null,un=null;return Ot.boundingBox!==void 0&&(An=new zi().fromJSON(Ot.boundingBox)),Ot.boundingSphere!==void 0&&(un=new gn().fromJSON(Ot.boundingSphere)),fd(rl({},Ot),{boundingBox:An,boundingSphere:un})}),T._instanceInfo=r.instanceInfo,T._availableInstanceIds=r._availableInstanceIds,T._availableGeometryIds=r._availableGeometryIds,T._nextIndexStart=r.nextIndexStart,T._nextVertexStart=r.nextVertexStart,T._geometryCount=r.geometryCount,T._maxInstanceCount=r.maxInstanceCount,T._maxVertexCount=r.maxVertexCount,T._maxIndexCount=r.maxIndexCount,T._geometryInitialized=r.geometryInitialized,T._matricesTexture=se(r.matricesTexture.uuid),T._indirectTexture=se(r.indirectTexture.uuid),r.colorsTexture!==void 0&&(T._colorsTexture=se(r.colorsTexture.uuid)),r.boundingSphere!==void 0&&(T.boundingSphere=new gn().fromJSON(r.boundingSphere)),r.boundingBox!==void 0&&(T.boundingBox=new zi().fromJSON(r.boundingBox));break;case"LOD":T=new IA;break;case"Line":T=new fl(O(r.geometry),te(r.material));break;case"LineLoop":T=new nA(O(r.geometry),te(r.material));break;case"LineSegments":T=new nd(O(r.geometry),te(r.material));break;case"PointCloud":case"Points":T=new hp(O(r.geometry),te(r.material));break;case"Sprite":T=new RA(te(r.material));break;case"Group":T=new xu;break;case"Bone":T=new Lp;break;default:T=new _l}if(T.uuid=r.uuid,r.name!==void 0&&(T.name=r.name),r.matrix!==void 0?(T.matrix.fromArray(r.matrix),r.matrixAutoUpdate!==void 0&&(T.matrixAutoUpdate=r.matrixAutoUpdate),T.matrixAutoUpdate&&T.matrix.decompose(T.position,T.quaternion,T.scale)):(r.position!==void 0&&T.position.fromArray(r.position),r.rotation!==void 0&&T.rotation.fromArray(r.rotation),r.quaternion!==void 0&&T.quaternion.fromArray(r.quaternion),r.scale!==void 0&&T.scale.fromArray(r.scale)),r.up!==void 0&&T.up.fromArray(r.up),r.castShadow!==void 0&&(T.castShadow=r.castShadow),r.receiveShadow!==void 0&&(T.receiveShadow=r.receiveShadow),r.shadow&&(r.shadow.intensity!==void 0&&(T.shadow.intensity=r.shadow.intensity),r.shadow.bias!==void 0&&(T.shadow.bias=r.shadow.bias),r.shadow.normalBias!==void 0&&(T.shadow.normalBias=r.shadow.normalBias),r.shadow.radius!==void 0&&(T.shadow.radius=r.shadow.radius),r.shadow.mapSize!==void 0&&T.shadow.mapSize.fromArray(r.shadow.mapSize),r.shadow.camera!==void 0&&(T.shadow.camera=this.parseObject(r.shadow.camera))),r.visible!==void 0&&(T.visible=r.visible),r.frustumCulled!==void 0&&(T.frustumCulled=r.frustumCulled),r.renderOrder!==void 0&&(T.renderOrder=r.renderOrder),r.userData!==void 0&&(T.userData=r.userData),r.layers!==void 0&&(T.layers.mask=r.layers),r.children!==void 0){const Ve=r.children;for(let We=0;We{if(ny.has(T)===!0)p&&p(ny.get(T)),y.manager.itemError(r),y.manager.itemEnd(r);else return l&&l(se),y.manager.itemEnd(r),se});return}return setTimeout(function(){l&&l(T),y.manager.itemEnd(r)},0),T}const O={};O.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",O.headers=this.requestHeader,O.signal=typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;const te=fetch(r,O).then(function(se){return se.blob()}).then(function(se){return createImageBitmap(se,Object.assign(y.options,{colorSpaceConversion:"none"}))}).then(function(se){return Ff.add(`image-bitmap:${r}`,se),l&&l(se),y.manager.itemEnd(r),se}).catch(function(se){p&&p(se),ny.set(te,se),Ff.remove(`image-bitmap:${r}`),y.manager.itemError(r),y.manager.itemEnd(r)});Ff.add(`image-bitmap:${r}`,te),y.manager.itemStart(r)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}let j0;class ry{static getContext(){return j0===void 0&&(j0=new(window.AudioContext||window.webkitAudioContext)),j0}static setContext(r){j0=r}}class lw extends null{constructor(r){super(r)}load(r,l,h,p){const y=this,T=new Wp(this.manager);T.setResponseType("arraybuffer"),T.setPath(this.path),T.setRequestHeader(this.requestHeader),T.setWithCredentials(this.withCredentials),T.load(r,function(te){try{const se=te.slice(0);ry.getContext().decodeAudioData(se,function(Ne){l(Ne)}).catch(O)}catch(se){O(se)}},h,p);function O(te){p?p(te):Wa(te),y.manager.itemError(r)}}}const Y0=new oi,uw=new oi,HA=new oi;class cw{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Vh,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Vh,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(r){const l=this._cache;if(l.focus!==r.focus||l.fov!==r.fov||l.aspect!==r.aspect*this.aspect||l.near!==r.near||l.far!==r.far||l.zoom!==r.zoom||l.eyeSep!==this.eyeSep){l.focus=r.focus,l.fov=r.fov,l.aspect=r.aspect*this.aspect,l.near=r.near,l.far=r.far,l.zoom=r.zoom,l.eyeSep=this.eyeSep,HA.copy(r.projectionMatrix);const p=l.eyeSep/2,y=p*l.near/l.focus,T=l.near*Math.tan(ac*l.fov*.5)/l.zoom;let O,te;uw.elements[12]=-p,Y0.elements[12]=p,O=-T*l.aspect+y,te=T*l.aspect+y,HA.elements[0]=2*l.near/(te-O),HA.elements[8]=(te+O)/(te-O),this.cameraL.projectionMatrix.copy(HA),O=-T*l.aspect-y,te=T*l.aspect-y,HA.elements[0]=2*l.near/(te-O),HA.elements[8]=(te+O)/(te-O),this.cameraR.projectionMatrix.copy(HA)}this.cameraL.matrixWorld.copy(r.matrixWorld).multiply(uw),this.cameraR.matrixWorld.copy(r.matrixWorld).multiply(Y0)}}class IP extends null{constructor(r=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=r}}class Gx{constructor(r=!0){this.autoStart=r,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let r=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const l=performance.now();r=(l-this.oldTime)/1e3,this.oldTime=l,this.elapsedTime+=r}return r}}const Xp=new kn,Ap=new Du,DE=new kn,jp=new kn,pp=new kn;class Mm extends null{constructor(){super(),this.type="AudioListener",this.context=ry.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Gx}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(r){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=r,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(r){return this.gain.gain.setTargetAtTime(r,this.context.currentTime,.01),this}updateMatrixWorld(r){super.updateMatrixWorld(r);const l=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Xp,Ap,DE),jp.set(0,0,-1).applyQuaternion(Ap),pp.set(0,1,0).applyQuaternion(Ap),l.positionX){const h=this.context.currentTime+this.timeDelta;l.positionX.linearRampToValueAtTime(Xp.x,h),l.positionY.linearRampToValueAtTime(Xp.y,h),l.positionZ.linearRampToValueAtTime(Xp.z,h),l.forwardX.linearRampToValueAtTime(jp.x,h),l.forwardY.linearRampToValueAtTime(jp.y,h),l.forwardZ.linearRampToValueAtTime(jp.z,h),l.upX.linearRampToValueAtTime(pp.x,h),l.upY.linearRampToValueAtTime(pp.y,h),l.upZ.linearRampToValueAtTime(pp.z,h)}else l.setPosition(Xp.x,Xp.y,Xp.z),l.setOrientation(jp.x,jp.y,jp.z,pp.x,pp.y,pp.z)}}class Hx extends null{constructor(r){super(),this.type="Audio",this.listener=r,this.context=r.context,this.gain=this.context.createGain(),this.gain.connect(r.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(r){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=r,this.connect(),this}setMediaElementSource(r){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(r),this.connect(),this}setMediaStreamSource(r){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(r),this.connect(),this}setBuffer(r){return this.buffer=r,this.sourceType="buffer",this.autoplay&&this.play(),this}play(r=0){if(this.isPlaying===!0){na("Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){na("Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+r;const l=this.context.createBufferSource();return l.buffer=this.buffer,l.loop=this.loop,l.loopStart=this.loopStart,l.loopEnd=this.loopEnd,l.onended=this.onEnded.bind(this),l.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=l,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){na("Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(r=0){if(this.hasPlaybackControl===!1){na("Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+r),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let r=1,l=this.filters.length;r0){this.source.disconnect(this.filters[0]);for(let r=1,l=this.filters.length;r0&&this._mixBufferRegionAdditive(h,p,this._addIndex*l,1,l);for(let te=l,se=l+l;te!==se;++te)if(h[te]!==h[te+l]){O.setValue(h,p);break}}saveOriginalState(){const r=this.binding,l=this.buffer,h=this.valueSize,p=h*this._origIndex;r.getValue(l,p);for(let y=h,T=p;y!==T;++y)l[y]=l[p+y%h];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const r=this.valueSize*3;this.binding.setValue(this.buffer,r)}_setAdditiveIdentityNumeric(){const r=this._addIndex*this.valueSize,l=r+this.valueSize;for(let h=r;h=.5)for(let T=0;T!==y;++T)r[l+T]=r[h+T]}_slerp(r,l,h,p){Du.slerpFlat(r,l,r,l,r,h,p)}_slerpAdditive(r,l,h,p,y){const T=this._workIndex*y;Du.multiplyQuaternionsFlat(r,T,r,l,r,h),Du.slerpFlat(r,l,r,l,r,T,p)}_lerp(r,l,h,p,y){const T=1-p;for(let O=0;O!==y;++O){const te=l+O;r[te]=r[te]*T+r[h+O]*p}}_lerpAdditive(r,l,h,p,y){for(let T=0;T!==y;++T){const O=l+T;r[O]=r[O]+r[h+T]*p}}}const iy="\\[\\]\\.:\\/",Og=new RegExp("["+iy+"]","g"),Wx="[^"+iy+"]",kE="[^"+iy.replace("\\.","")+"]",hw=/((?:WC+[\/:])*)/.source.replace("WC",Wx),sy=/(WCOD+)?/.source.replace("WCOD",kE),dw=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Wx),ay=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Wx),fw=new RegExp("^"+hw+sy+dw+ay+"$"),Aw=["material","materials","bones","map"];class pw{constructor(r,l,h){const p=h||Cl.parseTrackName(l);this._targetGroup=r,this._bindings=r.subscribe_(l,p)}getValue(r,l){this.bind();const h=this._targetGroup.nCachedObjects_,p=this._bindings[h];p!==void 0&&p.getValue(r,l)}setValue(r,l){const h=this._bindings;for(let p=this._targetGroup.nCachedObjects_,y=h.length;p!==y;++p)h[p].setValue(r,l)}bind(){const r=this._bindings;for(let l=this._targetGroup.nCachedObjects_,h=r.length;l!==h;++l)r[l].bind()}unbind(){const r=this._bindings;for(let l=this._targetGroup.nCachedObjects_,h=r.length;l!==h;++l)r[l].unbind()}}class Cl{constructor(r,l,h){this.path=l,this.parsedPath=h||Cl.parseTrackName(l),this.node=Cl.findNode(r,this.parsedPath.nodeName),this.rootNode=r,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(r,l,h){return r&&r.isAnimationObjectGroup?new Cl.Composite(r,l,h):new Cl(r,l,h)}static sanitizeNodeName(r){return r.replace(/\s/g,"_").replace(Og,"")}static parseTrackName(r){const l=fw.exec(r);if(l===null)throw new Error("PropertyBinding: Cannot parse trackName: "+r);const h={nodeName:l[2],objectName:l[3],objectIndex:l[4],propertyName:l[5],propertyIndex:l[6]},p=h.nodeName&&h.nodeName.lastIndexOf(".");if(p!==void 0&&p!==-1){const y=h.nodeName.substring(p+1);Aw.indexOf(y)!==-1&&(h.nodeName=h.nodeName.substring(0,p),h.objectName=y)}if(h.propertyName===null||h.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+r);return h}static findNode(r,l){if(l===void 0||l===""||l==="."||l===-1||l===r.name||l===r.uuid)return r;if(r.skeleton){const h=r.skeleton.getBoneByName(l);if(h!==void 0)return h}if(r.children){const h=function(y){for(let T=0;T=y){const Ne=y++,Ve=r[Ne];l[Ve.uuid]=xe,r[xe]=Ve,l[se]=Ne,r[Ne]=te;for(let We=0,tt=p;We!==tt;++We){const Ot=h[We],An=Ot[Ne],un=Ot[xe];Ot[xe]=An,Ot[Ne]=un}}}this.nCachedObjects_=y}uncache(){const r=this._objects,l=this._indicesByUUID,h=this._bindings,p=h.length;let y=this.nCachedObjects_,T=r.length;for(let O=0,te=arguments.length;O!==te;++O){const se=arguments[O],xe=se.uuid,Ne=l[xe];if(Ne!==void 0)if(delete l[xe],Ne0&&(l[We.uuid]=Ne),r[Ne]=We,r.pop();for(let tt=0,Ot=p;tt!==Ot;++tt){const An=h[tt];An[Ne]=An[Ve],An.pop()}}}this.nCachedObjects_=y}subscribe_(r,l){const h=this._bindingsIndicesByPath;let p=h[r];const y=this._bindings;if(p!==void 0)return y[p];const T=this._paths,O=this._parsedPaths,te=this._objects,se=te.length,xe=this.nCachedObjects_,Ne=new Array(se);p=y.length,h[r]=p,T.push(r),O.push(l),y.push(Ne);for(let Ve=xe,We=te.length;Ve!==We;++Ve){const tt=te[Ve];Ne[Ve]=new Cl(tt,r,l)}return Ne}unsubscribe_(r){const l=this._bindingsIndicesByPath,h=l[r];if(h!==void 0){const p=this._paths,y=this._parsedPaths,T=this._bindings,O=T.length-1,te=T[O],se=r[O];l[se]=h,T[h]=te,T.pop(),y[h]=y[O],y.pop(),p[h]=p[O],p.pop()}}}class gw{constructor(r,l,h=null,p=l.blendMode){this._mixer=r,this._clip=l,this._localRoot=h,this.blendMode=p;const y=l.tracks,T=y.length,O=new Array(T),te={endingStart:Di,endingEnd:Di};for(let se=0;se!==T;++se){const xe=y[se].createInterpolant(null);O[se]=xe,xe.settings=te}this._interpolantSettings=te,this._interpolants=O,this._propertyBindings=new Array(T),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ln,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(r){return this._startTime=r,this}setLoop(r,l){return this.loop=r,this.repetitions=l,this}setEffectiveWeight(r){return this.weight=r,this._effectiveWeight=this.enabled?r:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(r){return this._scheduleFading(r,0,1)}fadeOut(r){return this._scheduleFading(r,1,0)}crossFadeFrom(r,l,h=!1){if(r.fadeOut(l),this.fadeIn(l),h===!0){const p=this._clip.duration,y=r._clip.duration,T=y/p,O=p/y;r.warp(1,T,l),this.warp(O,1,l)}return this}crossFadeTo(r,l,h=!1){return r.crossFadeFrom(this,l,h)}stopFading(){const r=this._weightInterpolant;return r!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(r)),this}setEffectiveTimeScale(r){return this.timeScale=r,this._effectiveTimeScale=this.paused?0:r,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(r){return this.timeScale=this._clip.duration/r,this.stopWarping()}syncWith(r){return this.time=r.time,this.timeScale=r.timeScale,this.stopWarping()}halt(r){return this.warp(this._effectiveTimeScale,0,r)}warp(r,l,h){const p=this._mixer,y=p.time,T=this.timeScale;let O=this._timeScaleInterpolant;O===null&&(O=p._lendControlInterpolant(),this._timeScaleInterpolant=O);const te=O.parameterPositions,se=O.sampleValues;return te[0]=y,te[1]=y+h,se[0]=r/T,se[1]=l/T,this}stopWarping(){const r=this._timeScaleInterpolant;return r!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(r)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(r,l,h,p){if(!this.enabled){this._updateWeight(r);return}const y=this._startTime;if(y!==null){const te=(r-y)*h;te<0||h===0?l=0:(this._startTime=null,l=h*te)}l*=this._updateTimeScale(r);const T=this._updateTime(l),O=this._updateWeight(r);if(O>0){const te=this._interpolants,se=this._propertyBindings;switch(this.blendMode){case Aa:for(let xe=0,Ne=te.length;xe!==Ne;++xe)te[xe].evaluate(T),se[xe].accumulateAdditive(O);break;case Cs:default:for(let xe=0,Ne=te.length;xe!==Ne;++xe)te[xe].evaluate(T),se[xe].accumulate(p,O)}}}_updateWeight(r){let l=0;if(this.enabled){l=this.weight;const h=this._weightInterpolant;if(h!==null){const p=h.evaluate(r)[0];l*=p,r>h.parameterPositions[1]&&(this.stopFading(),p===0&&(this.enabled=!1))}}return this._effectiveWeight=l,l}_updateTimeScale(r){let l=0;if(!this.paused){l=this.timeScale;const h=this._timeScaleInterpolant;if(h!==null){const p=h.evaluate(r)[0];l*=p,r>h.parameterPositions[1]&&(this.stopWarping(),l===0?this.paused=!0:this.timeScale=l)}}return this._effectiveTimeScale=l,l}_updateTime(r){const l=this._clip.duration,h=this.loop;let p=this.time+r,y=this._loopCount;const T=h===gr;if(r===0)return y===-1?p:T&&(y&1)===1?l-p:p;if(h===yn){y===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(p>=l)p=l;else if(p<0)p=0;else{this.time=p;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=p,this._mixer.dispatchEvent({type:"finished",action:this,direction:r<0?-1:1})}}else{if(y===-1&&(r>=0?(y=0,this._setEndings(!0,this.repetitions===0,T)):this._setEndings(this.repetitions===0,!0,T)),p>=l||p<0){const O=Math.floor(p/l);p-=l*O,y+=Math.abs(O);const te=this.repetitions-y;if(te<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,p=r>0?l:0,this.time=p,this._mixer.dispatchEvent({type:"finished",action:this,direction:r>0?1:-1});else{if(te===1){const se=r<0;this._setEndings(se,!se,T)}else this._setEndings(!1,!1,T);this._loopCount=y,this.time=p,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:O})}}else this.time=p;if(T&&(y&1)===1)return l-p}return p}_setEndings(r,l,h){const p=this._interpolantSettings;h?(p.endingStart=ss,p.endingEnd=ss):(r?p.endingStart=this.zeroSlopeAtStart?ss:Di:p.endingStart=vs,l?p.endingEnd=this.zeroSlopeAtEnd?ss:Di:p.endingEnd=vs)}_scheduleFading(r,l,h){const p=this._mixer,y=p.time;let T=this._weightInterpolant;T===null&&(T=p._lendControlInterpolant(),this._weightInterpolant=T);const O=T.parameterPositions,te=T.sampleValues;return O[0]=y,te[0]=l,O[1]=y+r,te[1]=h,this}}const mw=new Float32Array(1);class zE extends null{constructor(r){super(),this._root=r,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(r,l){const h=r._localRoot||this._root,p=r._clip.tracks,y=p.length,T=r._propertyBindings,O=r._interpolants,te=h.uuid,se=this._bindingsByRootAndName;let xe=se[te];xe===void 0&&(xe={},se[te]=xe);for(let Ne=0;Ne!==y;++Ne){const Ve=p[Ne],We=Ve.name;let tt=xe[We];if(tt!==void 0)++tt.referenceCount,T[Ne]=tt;else{if(tt=T[Ne],tt!==void 0){tt._cacheIndex===null&&(++tt.referenceCount,this._addInactiveBinding(tt,te,We));continue}const Ot=l&&l._propertyBindings[Ne].binding.parsedPath;tt=new Qx(Cl.create(h,We,Ot),Ve.ValueTypeName,Ve.getValueSize()),++tt.referenceCount,this._addInactiveBinding(tt,te,We),T[Ne]=tt}O[Ne].resultBuffer=tt.buffer}}_activateAction(r){if(!this._isActiveAction(r)){if(r._cacheIndex===null){const h=(r._localRoot||this._root).uuid,p=r._clip.uuid,y=this._actionsByClip[p];this._bindAction(r,y&&y.knownActions[0]),this._addInactiveAction(r,p,h)}const l=r._propertyBindings;for(let h=0,p=l.length;h!==p;++h){const y=l[h];y.useCount++===0&&(this._lendBinding(y),y.saveOriginalState())}this._lendAction(r)}}_deactivateAction(r){if(this._isActiveAction(r)){const l=r._propertyBindings;for(let h=0,p=l.length;h!==p;++h){const y=l[h];--y.useCount===0&&(y.restoreOriginalState(),this._takeBackBinding(y))}this._takeBackAction(r)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const r=this;this.stats={actions:{get total(){return r._actions.length},get inUse(){return r._nActiveActions}},bindings:{get total(){return r._bindings.length},get inUse(){return r._nActiveBindings}},controlInterpolants:{get total(){return r._controlInterpolants.length},get inUse(){return r._nActiveControlInterpolants}}}}_isActiveAction(r){const l=r._cacheIndex;return l!==null&&l=0;--h)r[h].stop();return this}update(r){r*=this.timeScale;const l=this._actions,h=this._nActiveActions,p=this.time+=r,y=Math.sign(r),T=this._accuIndex^=1;for(let se=0;se!==h;++se)l[se]._update(p,r,y,T);const O=this._bindings,te=this._nActiveBindings;for(let se=0;se!==te;++se)O[se].apply(T);return this}setTime(r){this.time=0;for(let l=0;l=this.min.x&&r.x<=this.max.x&&r.y>=this.min.y&&r.y<=this.max.y}containsBox(r){return this.min.x<=r.min.x&&r.max.x<=this.max.x&&this.min.y<=r.min.y&&r.max.y<=this.max.y}getParameter(r,l){return l.set((r.x-this.min.x)/(this.max.x-this.min.x),(r.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(r){return r.max.x>=this.min.x&&r.min.x<=this.max.x&&r.max.y>=this.min.y&&r.min.y<=this.max.y}clampPoint(r,l){return l.copy(r).clamp(this.min,this.max)}distanceToPoint(r){return this.clampPoint(r,ww).distanceTo(r)}intersect(r){return this.min.max(r.min),this.max.min(r.max),this.isEmpty()&&this.makeEmpty(),this}union(r){return this.min.min(r.min),this.max.max(r.max),this}translate(r){return this.min.add(r),this.max.add(r),this}equals(r){return r.min.equals(this.min)&&r.max.equals(this.max)}}const uy=new kn,cy=new kn,gp=new kn,Dg=new kn,Kx=new kn,$x=new kn,J0=new kn;class n0{constructor(r=new kn,l=new kn){this.start=r,this.end=l}set(r,l){return this.start.copy(r),this.end.copy(l),this}copy(r){return this.start.copy(r.start),this.end.copy(r.end),this}getCenter(r){return r.addVectors(this.start,this.end).multiplyScalar(.5)}delta(r){return r.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(r,l){return this.delta(l).multiplyScalar(r).add(this.start)}closestPointToPointParameter(r,l){uy.subVectors(r,this.start),cy.subVectors(this.end,this.start);const h=cy.dot(cy);let y=cy.dot(uy)/h;return l&&(y=ki(y,0,1)),y}closestPointToPoint(r,l,h){const p=this.closestPointToPointParameter(r,l);return this.delta(h).multiplyScalar(p).add(this.start)}distanceSqToLine3(r,l=$x,h=J0){const p=10000000000000001e-32;let y,T;const O=this.start,te=r.start,se=this.end,xe=r.end;gp.subVectors(se,O),Dg.subVectors(xe,te),Kx.subVectors(O,te);const Ne=gp.dot(gp),Ve=Dg.dot(Dg),We=Dg.dot(Kx);if(Ne<=p&&Ve<=p)return l.copy(O),h.copy(te),l.sub(h),l.dot(l);if(Ne<=p)y=0,T=We/Ve,T=ki(T,0,1);else{const tt=gp.dot(Kx);if(Ve<=p)T=0,y=ki(-tt/Ne,0,1);else{const Ot=gp.dot(Dg),An=Ne*Ve-Ot*Ot;An!==0?y=ki((Ot*We-tt*Ve)/An,0,1):y=0,T=(Ot*y+We)/Ve,T<0?(T=0,y=ki(-tt/Ne,0,1)):T>1&&(T=1,y=ki((Ot-tt)/Ne,0,1))}}return l.copy(O).add(gp.multiplyScalar(y)),h.copy(te).add(Dg.multiplyScalar(T)),l.sub(h),l.dot(l)}applyMatrix4(r){return this.start.applyMatrix4(r),this.end.applyMatrix4(r),this}equals(r){return r.start.equals(this.start)&&r.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const kg=new kn;class Xx extends null{constructor(r,l){super(),this.light=r,this.matrixAutoUpdate=!1,this.color=l,this.type="SpotLightHelper";const h=new Ui,p=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let T=0,O=1,te=32;T1)for(let Ne=0;Ne.99999)this.quaternion.set(0,0,0,1);else if(r.y<-.99999)this.quaternion.set(1,0,0,0);else{fc.set(r.z,0,-r.x).normalize();const l=Math.acos(r.y);this.quaternion.setFromAxisAngle(fc,l)}}setLength(r,l=r*.2,h=l*.2){this.line.scale.set(1,Math.max(1e-4,r-l),1),this.line.updateMatrix(),this.cone.scale.set(h,l,h),this.cone.position.y=r,this.cone.updateMatrix()}setColor(r){this.line.material.color.set(r),this.cone.material.color.set(r)}copy(r){return super.copy(r,!1),this.line.copy(r.line),this.cone.copy(r.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class VP extends null{constructor(r=1){const l=[0,0,0,r,0,0,0,0,0,0,r,0,0,0,0,0,0,r],h=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],p=new Ui;p.setAttribute("position",new ha(l,3)),p.setAttribute("color",new ha(h,3));const y=new Wc({vertexColors:!0,toneMapped:!1});super(p,y),this.type="AxesHelper"}setColors(r,l,h){const p=new Ea,y=this.geometry.attributes.color.array;return p.set(r),p.toArray(y,0),p.toArray(y,3),p.set(l),p.toArray(y,6),p.toArray(y,9),p.set(h),p.toArray(y,12),p.toArray(y,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Bw{constructor(){this.type="ShapePath",this.color=new Ea,this.subPaths=[],this.currentPath=null}moveTo(r,l){return this.currentPath=new wn,this.subPaths.push(this.currentPath),this.currentPath.moveTo(r,l),this}lineTo(r,l){return this.currentPath.lineTo(r,l),this}quadraticCurveTo(r,l,h,p){return this.currentPath.quadraticCurveTo(r,l,h,p),this}bezierCurveTo(r,l,h,p,y,T){return this.currentPath.bezierCurveTo(r,l,h,p,y,T),this}splineThru(r){return this.currentPath.splineThru(r),this}toShapes(r){function l(un){const Un=[];for(let Vn=0,nr=un.length;VnNumber.EPSILON){if(ys<0&&(Bi=Un[pi],ls=-ls,mi=Un[ii],ys=-ys),un.ymi.y)continue;if(un.y===Bi.y){if(un.x===Bi.x)return!0}else{const Da=ys*(un.x-Bi.x)-ls*(un.y-Bi.y);if(Da===0)return!0;if(Da<0)continue;nr=!nr}}else{if(un.y!==Bi.y)continue;if(mi.x<=un.x&&un.x<=Bi.x||Bi.x<=un.x&&un.x<=mi.x)return!0}}return nr}const p=bs.isClockWise,y=this.subPaths;if(y.length===0)return[];let T,O,te;const se=[];if(y.length===1)return O=y[0],te=new mn,te.curves=O.curves,se.push(te),se;let xe=!p(y[0].getPoints());xe=r?!xe:xe;const Ne=[],Ve=[];let We=[],tt=0,Ot;Ve[tt]=void 0,We[tt]=[];for(let un=0,Un=y.length;un1){let un=!1,Un=0;for(let Vn=0,nr=Ve.length;Vn0&&un===!1&&(We=Ne)}let An;for(let un=0,Un=Ve.length;unr?(ue.repeat.x=1,ue.repeat.y=l/r,ue.offset.x=0,ue.offset.y=(1-ue.repeat.y)/2):(ue.repeat.x=r/l,ue.repeat.y=1,ue.offset.x=(1-ue.repeat.x)/2,ue.offset.y=0),ue}function ZE(ue,r){const l=ue.image&&ue.image.width?ue.image.width/ue.image.height:1;return l>r?(ue.repeat.x=r/l,ue.repeat.y=1,ue.offset.x=(1-ue.repeat.x)/2,ue.offset.y=0):(ue.repeat.x=1,ue.repeat.y=l/r,ue.offset.x=0,ue.offset.y=(1-ue.repeat.y)/2),ue}function KE(ue){return ue.repeat.x=1,ue.repeat.y=1,ue.offset.x=0,ue.offset.y=0,ue}function $E(ue,r,l,h){const p=rv(h);switch(l){case si:return ue*r;case z:return ue*r/p.components*p.byteLength;case ie:return ue*r/p.components*p.byteLength;case ze:return ue*r*2/p.components*p.byteLength;case Je:return ue*r*2/p.components*p.byteLength;case Ie:return ue*r*3/p.components*p.byteLength;case L:return ue*r*4/p.components*p.byteLength;case xt:return ue*r*4/p.components*p.byteLength;case Sn:case Oe:return Math.floor((ue+3)/4)*Math.floor((r+3)/4)*8;case Qe:case Re:return Math.floor((ue+3)/4)*Math.floor((r+3)/4)*16;case gt:case yt:return Math.max(ue,16)*Math.max(r,8)/4;case Ke:case tn:return Math.max(ue,8)*Math.max(r,8)/2;case Yt:case Rn:return Math.floor((ue+3)/4)*Math.floor((r+3)/4)*8;case er:return Math.floor((ue+3)/4)*Math.floor((r+3)/4)*16;case Jn:return Math.floor((ue+3)/4)*Math.floor((r+3)/4)*16;case kr:return Math.floor((ue+4)/5)*Math.floor((r+3)/4)*16;case fr:return Math.floor((ue+4)/5)*Math.floor((r+4)/5)*16;case wr:return Math.floor((ue+5)/6)*Math.floor((r+4)/5)*16;case ei:return Math.floor((ue+5)/6)*Math.floor((r+5)/6)*16;case _n:return Math.floor((ue+7)/8)*Math.floor((r+4)/5)*16;case jn:return Math.floor((ue+7)/8)*Math.floor((r+5)/6)*16;case Hr:return Math.floor((ue+7)/8)*Math.floor((r+7)/8)*16;case Pr:return Math.floor((ue+9)/10)*Math.floor((r+4)/5)*16;case $i:return Math.floor((ue+9)/10)*Math.floor((r+5)/6)*16;case Zi:return Math.floor((ue+9)/10)*Math.floor((r+7)/8)*16;case Xi:return Math.floor((ue+9)/10)*Math.floor((r+9)/10)*16;case Ei:return Math.floor((ue+11)/12)*Math.floor((r+9)/10)*16;case ms:return Math.floor((ue+11)/12)*Math.floor((r+11)/12)*16;case _i:case Es:case ua:return Math.ceil(ue/4)*Math.ceil(r/4)*16;case Hn:case Pt:return Math.ceil(ue/4)*Math.ceil(r/4)*8;case Gt:case Bt:return Math.ceil(ue/4)*Math.ceil(r/4)*16}throw new Error(`Unable to determine texture byte length for ${l} format.`)}function rv(ue){switch(ue){case es:case Ci:return{byteLength:1,components:1};case rn:case En:case Wt:return{byteLength:2,components:1};case bn:case Jt:return{byteLength:2,components:4};case st:case Xt:case dt:return{byteLength:4,components:1};case rr:case Kr:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${ue}.`)}class XE{static contain(r,l){return my(r,l)}static cover(r,l){return ZE(r,l)}static fill(r){return KE(r)}static getByteLength(r,l,h,p){return $E(r,l,h,p)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:m}})),typeof window!="undefined"&&(window.__THREE__?na("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=m)},23097:function(Be,Me,b){"use strict";b.d(Me,{Z:function(){return N}});function m(pe){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ae){return typeof Ae}:function(Ae){return Ae&&typeof Symbol=="function"&&Ae.constructor===Symbol&&Ae!==Symbol.prototype?"symbol":typeof Ae},m(pe)}var Z=/^\s+/,V=/\s+$/;function N(pe,Ae){if(pe=pe||"",Ae=Ae||{},pe instanceof N)return pe;if(!(this instanceof N))return new N(pe,Ae);var Pe=E(pe);this._originalInput=pe,this._r=Pe.r,this._g=Pe.g,this._b=Pe.b,this._a=Pe.a,this._roundA=Math.round(100*this._a)/100,this._format=Ae.format||Pe.format,this._gradientType=Ae.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=Pe.ok}N.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var Ae=this.toRgb();return(Ae.r*299+Ae.g*587+Ae.b*114)/1e3},getLuminance:function(){var Ae=this.toRgb(),Pe,Ut,jt,ft,on,hn;return Pe=Ae.r/255,Ut=Ae.g/255,jt=Ae.b/255,Pe<=.03928?ft=Pe/12.92:ft=Math.pow((Pe+.055)/1.055,2.4),Ut<=.03928?on=Ut/12.92:on=Math.pow((Ut+.055)/1.055,2.4),jt<=.03928?hn=jt/12.92:hn=Math.pow((jt+.055)/1.055,2.4),.2126*ft+.7152*on+.0722*hn},setAlpha:function(Ae){return this._a=In(Ae),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var Ae=H(this._r,this._g,this._b);return{h:Ae.h*360,s:Ae.s,v:Ae.v,a:this._a}},toHsvString:function(){var Ae=H(this._r,this._g,this._b),Pe=Math.round(Ae.h*360),Ut=Math.round(Ae.s*100),jt=Math.round(Ae.v*100);return this._a==1?"hsv("+Pe+", "+Ut+"%, "+jt+"%)":"hsva("+Pe+", "+Ut+"%, "+jt+"%, "+this._roundA+")"},toHsl:function(){var Ae=C(this._r,this._g,this._b);return{h:Ae.h*360,s:Ae.s,l:Ae.l,a:this._a}},toHslString:function(){var Ae=C(this._r,this._g,this._b),Pe=Math.round(Ae.h*360),Ut=Math.round(Ae.s*100),jt=Math.round(Ae.l*100);return this._a==1?"hsl("+Pe+", "+Ut+"%, "+jt+"%)":"hsla("+Pe+", "+Ut+"%, "+jt+"%, "+this._roundA+")"},toHex:function(Ae){return X(this._r,this._g,this._b,Ae)},toHexString:function(Ae){return"#"+this.toHex(Ae)},toHex8:function(Ae){return j(this._r,this._g,this._b,this._a,Ae)},toHex8String:function(Ae){return"#"+this.toHex8(Ae)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(zn(this._r,255)*100)+"%",g:Math.round(zn(this._g,255)*100)+"%",b:Math.round(zn(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(zn(this._r,255)*100)+"%, "+Math.round(zn(this._g,255)*100)+"%, "+Math.round(zn(this._b,255)*100)+"%)":"rgba("+Math.round(zn(this._r,255)*100)+"%, "+Math.round(zn(this._g,255)*100)+"%, "+Math.round(zn(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Wn[X(this._r,this._g,this._b,!0)]||!1},toFilter:function(Ae){var Pe="#"+de(this._r,this._g,this._b,this._a),Ut=Pe,jt=this._gradientType?"GradientType = 1, ":"";if(Ae){var ft=N(Ae);Ut="#"+de(ft._r,ft._g,ft._b,ft._a)}return"progid:DXImageTransform.Microsoft.gradient("+jt+"startColorstr="+Pe+",endColorstr="+Ut+")"},toString:function(Ae){var Pe=!!Ae;Ae=Ae||this._format;var Ut=!1,jt=this._a<1&&this._a>=0,ft=!Pe&&jt&&(Ae==="hex"||Ae==="hex6"||Ae==="hex3"||Ae==="hex4"||Ae==="hex8"||Ae==="name");return ft?Ae==="name"&&this._a===0?this.toName():this.toRgbString():(Ae==="rgb"&&(Ut=this.toRgbString()),Ae==="prgb"&&(Ut=this.toPercentageRgbString()),(Ae==="hex"||Ae==="hex6")&&(Ut=this.toHexString()),Ae==="hex3"&&(Ut=this.toHexString(!0)),Ae==="hex4"&&(Ut=this.toHex8String(!0)),Ae==="hex8"&&(Ut=this.toHex8String()),Ae==="name"&&(Ut=this.toName()),Ae==="hsl"&&(Ut=this.toHslString()),Ae==="hsv"&&(Ut=this.toHsvString()),Ut||this.toHexString())},clone:function(){return N(this.toString())},_applyModification:function(Ae,Pe){var Ut=Ae.apply(null,[this].concat([].slice.call(Pe)));return this._r=Ut._r,this._g=Ut._g,this._b=Ut._b,this.setAlpha(Ut._a),this},lighten:function(){return this._applyModification(Ee,arguments)},brighten:function(){return this._applyModification($e,arguments)},darken:function(){return this._applyModification(Fe,arguments)},desaturate:function(){return this._applyModification(he,arguments)},saturate:function(){return this._applyModification(we,arguments)},greyscale:function(){return this._applyModification(ve,arguments)},spin:function(){return this._applyModification(ct,arguments)},_applyCombination:function(Ae,Pe){return Ae.apply(null,[this].concat([].slice.call(Pe)))},analogous:function(){return this._applyCombination(It,arguments)},complement:function(){return this._applyCombination(vt,arguments)},monochromatic:function(){return this._applyCombination(Bn,arguments)},splitcomplement:function(){return this._applyCombination(kt,arguments)},triad:function(){return this._applyCombination(at,[3])},tetrad:function(){return this._applyCombination(at,[4])}},N.fromRatio=function(pe,Ae){if(m(pe)=="object"){var Pe={};for(var Ut in pe)pe.hasOwnProperty(Ut)&&(Ut==="a"?Pe[Ut]=pe[Ut]:Pe[Ut]=On(pe[Ut]));pe=Pe}return N(pe,Ae)};function E(pe){var Ae={r:0,g:0,b:0},Pe=1,Ut=null,jt=null,ft=null,on=!1,hn=!1;return typeof pe=="string"&&(pe=Mt(pe)),m(pe)=="object"&&(Cn(pe.r)&&Cn(pe.g)&&Cn(pe.b)?(Ae=F(pe.r,pe.g,pe.b),on=!0,hn=String(pe.r).substr(-1)==="%"?"prgb":"rgb"):Cn(pe.h)&&Cn(pe.s)&&Cn(pe.v)?(Ut=On(pe.s),jt=On(pe.v),Ae=D(pe.h,Ut,jt),on=!0,hn="hsv"):Cn(pe.h)&&Cn(pe.s)&&Cn(pe.l)&&(Ut=On(pe.s),ft=On(pe.l),Ae=P(pe.h,Ut,ft),on=!0,hn="hsl"),pe.hasOwnProperty("a")&&(Pe=pe.a)),Pe=In(Pe),{ok:on,format:pe.format||hn,r:Math.min(255,Math.max(Ae.r,0)),g:Math.min(255,Math.max(Ae.g,0)),b:Math.min(255,Math.max(Ae.b,0)),a:Pe}}function F(pe,Ae,Pe){return{r:zn(pe,255)*255,g:zn(Ae,255)*255,b:zn(Pe,255)*255}}function C(pe,Ae,Pe){pe=zn(pe,255),Ae=zn(Ae,255),Pe=zn(Pe,255);var Ut=Math.max(pe,Ae,Pe),jt=Math.min(pe,Ae,Pe),ft,on,hn=(Ut+jt)/2;if(Ut==jt)ft=on=0;else{var lt=Ut-jt;switch(on=hn>.5?lt/(2-Ut-jt):lt/(Ut+jt),Ut){case pe:ft=(Ae-Pe)/lt+(Ae1&&(W-=1),W<1/6?Ct+(sn-Ct)*6*W:W<1/2?sn:W<2/3?Ct+(sn-Ct)*(2/3-W)*6:Ct}if(Ae===0)Ut=jt=ft=Pe;else{var hn=Pe<.5?Pe*(1+Ae):Pe+Ae-Pe*Ae,lt=2*Pe-hn;Ut=on(lt,hn,pe+1/3),jt=on(lt,hn,pe),ft=on(lt,hn,pe-1/3)}return{r:Ut*255,g:jt*255,b:ft*255}}function H(pe,Ae,Pe){pe=zn(pe,255),Ae=zn(Ae,255),Pe=zn(Pe,255);var Ut=Math.max(pe,Ae,Pe),jt=Math.min(pe,Ae,Pe),ft,on,hn=Ut,lt=Ut-jt;if(on=Ut===0?0:lt/Ut,Ut==jt)ft=0;else{switch(Ut){case pe:ft=(Ae-Pe)/lt+(Ae>1)+720)%360;--Ae;)Ut.h=(Ut.h+jt)%360,ft.push(N(Ut));return ft}function Bn(pe,Ae){Ae=Ae||6;for(var Pe=N(pe).toHsv(),Ut=Pe.h,jt=Pe.s,ft=Pe.v,on=[],hn=1/Ae;Ae--;)on.push(N({h:Ut,s:jt,v:ft})),ft=(ft+hn)%1;return on}N.mix=function(pe,Ae,Pe){Pe=Pe===0?0:Pe||50;var Ut=N(pe).toRgb(),jt=N(Ae).toRgb(),ft=Pe/100,on={r:(jt.r-Ut.r)*ft+Ut.r,g:(jt.g-Ut.g)*ft+Ut.g,b:(jt.b-Ut.b)*ft+Ut.b,a:(jt.a-Ut.a)*ft+Ut.a};return N(on)},N.readability=function(pe,Ae){var Pe=N(pe),Ut=N(Ae);return(Math.max(Pe.getLuminance(),Ut.getLuminance())+.05)/(Math.min(Pe.getLuminance(),Ut.getLuminance())+.05)},N.isReadable=function(pe,Ae,Pe){var Ut=N.readability(pe,Ae),jt,ft;switch(ft=!1,jt=Et(Pe),jt.level+jt.size){case"AAsmall":case"AAAlarge":ft=Ut>=4.5;break;case"AAlarge":ft=Ut>=3;break;case"AAAsmall":ft=Ut>=7;break}return ft},N.mostReadable=function(pe,Ae,Pe){var Ut=null,jt=0,ft,on,hn,lt;Pe=Pe||{},on=Pe.includeFallbackColors,hn=Pe.level,lt=Pe.size;for(var Ct=0;Ctjt&&(jt=ft,Ut=N(Ae[Ct]));return N.isReadable(pe,Ut,{level:hn,size:lt})||!on?Ut:(Pe.includeFallbackColors=!1,N.mostReadable(pe,["#fff","#000"],Pe))};var Lt=N.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Wn=N.hexNames=Xn(Lt);function Xn(pe){var Ae={};for(var Pe in pe)pe.hasOwnProperty(Pe)&&(Ae[pe[Pe]]=Pe);return Ae}function In(pe){return pe=parseFloat(pe),(isNaN(pe)||pe<0||pe>1)&&(pe=1),pe}function zn(pe,Ae){_r(pe)&&(pe="100%");var Pe=Ge(pe);return pe=Math.min(Ae,Math.max(0,parseFloat(pe))),Pe&&(pe=parseInt(pe*Ae,10)/100),Math.abs(pe-Ae)<1e-6?1:pe%Ae/parseFloat(Ae)}function dr(pe){return Math.min(1,Math.max(0,pe))}function vn(pe){return parseInt(pe,16)}function _r(pe){return typeof pe=="string"&&pe.indexOf(".")!=-1&&parseFloat(pe)===1}function Ge(pe){return typeof pe=="string"&&pe.indexOf("%")!=-1}function Tt(pe){return pe.length==1?"0"+pe:""+pe}function On(pe){return pe<=1&&(pe=pe*100+"%"),pe}function Vr(pe){return Math.round(parseFloat(pe)*255).toString(16)}function en(pe){return vn(pe)/255}var ln=function(){var pe="[-\\+]?\\d+%?",Ae="[-\\+]?\\d*\\.\\d+%?",Pe="(?:"+Ae+")|(?:"+pe+")",Ut="[\\s|\\(]+("+Pe+")[,|\\s]+("+Pe+")[,|\\s]+("+Pe+")\\s*\\)?",jt="[\\s|\\(]+("+Pe+")[,|\\s]+("+Pe+")[,|\\s]+("+Pe+")[,|\\s]+("+Pe+")\\s*\\)?";return{CSS_UNIT:new RegExp(Pe),rgb:new RegExp("rgb"+Ut),rgba:new RegExp("rgba"+jt),hsl:new RegExp("hsl"+Ut),hsla:new RegExp("hsla"+jt),hsv:new RegExp("hsv"+Ut),hsva:new RegExp("hsva"+jt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Cn(pe){return!!ln.CSS_UNIT.exec(pe)}function Mt(pe){pe=pe.replace(Z,"").replace(V,"").toLowerCase();var Ae=!1;if(Lt[pe])pe=Lt[pe],Ae=!0;else if(pe=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var Pe;return(Pe=ln.rgb.exec(pe))?{r:Pe[1],g:Pe[2],b:Pe[3]}:(Pe=ln.rgba.exec(pe))?{r:Pe[1],g:Pe[2],b:Pe[3],a:Pe[4]}:(Pe=ln.hsl.exec(pe))?{h:Pe[1],s:Pe[2],l:Pe[3]}:(Pe=ln.hsla.exec(pe))?{h:Pe[1],s:Pe[2],l:Pe[3],a:Pe[4]}:(Pe=ln.hsv.exec(pe))?{h:Pe[1],s:Pe[2],v:Pe[3]}:(Pe=ln.hsva.exec(pe))?{h:Pe[1],s:Pe[2],v:Pe[3],a:Pe[4]}:(Pe=ln.hex8.exec(pe))?{r:vn(Pe[1]),g:vn(Pe[2]),b:vn(Pe[3]),a:en(Pe[4]),format:Ae?"name":"hex8"}:(Pe=ln.hex6.exec(pe))?{r:vn(Pe[1]),g:vn(Pe[2]),b:vn(Pe[3]),format:Ae?"name":"hex"}:(Pe=ln.hex4.exec(pe))?{r:vn(Pe[1]+""+Pe[1]),g:vn(Pe[2]+""+Pe[2]),b:vn(Pe[3]+""+Pe[3]),a:en(Pe[4]+""+Pe[4]),format:Ae?"name":"hex8"}:(Pe=ln.hex3.exec(pe))?{r:vn(Pe[1]+""+Pe[1]),g:vn(Pe[2]+""+Pe[2]),b:vn(Pe[3]+""+Pe[3]),format:Ae?"name":"hex"}:!1}function Et(pe){var Ae,Pe;return pe=pe||{level:"AA",size:"small"},Ae=(pe.level||"AA").toUpperCase(),Pe=(pe.size||"small").toLowerCase(),Ae!=="AA"&&Ae!=="AAA"&&(Ae="AA"),Pe!=="small"&&Pe!=="large"&&(Pe="small"),{level:Ae,size:Pe}}},80813:function(Be,Me,b){"use strict";b.d(Me,{CR:function(){return Ee},Jh:function(){return de},Q_:function(){return zn},XA:function(){return ve},ZT:function(){return Z},_T:function(){return N},ev:function(){return ct},mG:function(){return j},pi:function(){return V},pr:function(){return Fe}});var m=function(en,ln){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Cn,Mt){Cn.__proto__=Mt}||function(Cn,Mt){for(var Et in Mt)Object.prototype.hasOwnProperty.call(Mt,Et)&&(Cn[Et]=Mt[Et])},m(en,ln)};function Z(en,ln){if(typeof ln!="function"&&ln!==null)throw new TypeError("Class extends value "+String(ln)+" is not a constructor or null");m(en,ln);function Cn(){this.constructor=en}en.prototype=ln===null?Object.create(ln):(Cn.prototype=ln.prototype,new Cn)}var V=function(){return V=Object.assign||function(ln){for(var Cn,Mt=1,Et=arguments.length;Mt=0;Pe--)(Ae=en[Pe])&&(pe=(Et<3?Ae(pe):Et>3?Ae(ln,Cn,pe):Ae(ln,Cn))||pe);return Et>3&&pe&&Object.defineProperty(ln,Cn,pe),pe}function F(en,ln){return function(Cn,Mt){ln(Cn,Mt,en)}}function C(en,ln,Cn,Mt,Et,pe){function Ae(Se){if(Se!==void 0&&typeof Se!="function")throw new TypeError("Function expected");return Se}for(var Pe=Mt.kind,Ut=Pe==="getter"?"get":Pe==="setter"?"set":"value",jt=!ln&&en?Mt.static?en:en.prototype:null,ft=ln||(jt?Object.getOwnPropertyDescriptor(jt,Mt.name):{}),on,hn=!1,lt=Cn.length-1;lt>=0;lt--){var Ct={};for(var sn in Mt)Ct[sn]=sn==="access"?{}:Mt[sn];for(var sn in Mt.access)Ct.access[sn]=Mt.access[sn];Ct.addInitializer=function(Se){if(hn)throw new TypeError("Cannot add initializers after decoration has completed");pe.push(Ae(Se||null))};var W=(0,Cn[lt])(Pe==="accessor"?{get:ft.get,set:ft.set}:ft[Ut],Ct);if(Pe==="accessor"){if(W===void 0)continue;if(W===null||typeof W!="object")throw new TypeError("Object expected");(on=Ae(W.get))&&(ft.get=on),(on=Ae(W.set))&&(ft.set=on),(on=Ae(W.init))&&Et.unshift(on)}else(on=Ae(W))&&(Pe==="field"?Et.unshift(on):ft[Ut]=on)}jt&&Object.defineProperty(jt,Mt.name,ft),hn=!0}function P(en,ln,Cn){for(var Mt=arguments.length>2,Et=0;Et0&&pe[pe.length-1])&&(jt[0]===6||jt[0]===2)){Cn=0;continue}if(jt[0]===3&&(!pe||jt[1]>pe[0]&&jt[1]=en.length&&(en=void 0),{value:en&&en[Mt++],done:!en}}};throw new TypeError(ln?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ee(en,ln){var Cn=typeof Symbol=="function"&&en[Symbol.iterator];if(!Cn)return en;var Mt=Cn.call(en),Et,pe=[],Ae;try{for(;(ln===void 0||ln-- >0)&&!(Et=Mt.next()).done;)pe.push(Et.value)}catch(Pe){Ae={error:Pe}}finally{try{Et&&!Et.done&&(Cn=Mt.return)&&Cn.call(Mt)}finally{if(Ae)throw Ae.error}}return pe}function $e(){for(var en=[],ln=0;ln1||Ut(lt,sn)})},Ct&&(Et[lt]=Ct(Et[lt])))}function Ut(lt,Ct){try{jt(Mt[lt](Ct))}catch(sn){hn(pe[0][3],sn)}}function jt(lt){lt.value instanceof vt?Promise.resolve(lt.value.v).then(ft,on):hn(pe[0][2],lt)}function ft(lt){Ut("next",lt)}function on(lt){Ut("throw",lt)}function hn(lt,Ct){lt(Ct),pe.shift(),pe.length&&Ut(pe[0][0],pe[0][1])}}function kt(en){var ln,Cn;return ln={},Mt("next"),Mt("throw",function(Et){throw Et}),Mt("return"),ln[Symbol.iterator]=function(){return this},ln;function Mt(Et,pe){ln[Et]=en[Et]?function(Ae){return(Cn=!Cn)?{value:vt(en[Et](Ae)),done:!1}:pe?pe(Ae):Ae}:pe}}function It(en){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ln=en[Symbol.asyncIterator],Cn;return ln?ln.call(en):(en=typeof ve=="function"?ve(en):en[Symbol.iterator](),Cn={},Mt("next"),Mt("throw"),Mt("return"),Cn[Symbol.asyncIterator]=function(){return this},Cn);function Mt(pe){Cn[pe]=en[pe]&&function(Ae){return new Promise(function(Pe,Ut){Ae=en[pe](Ae),Et(Pe,Ut,Ae.done,Ae.value)})}}function Et(pe,Ae,Pe,Ut){Promise.resolve(Ut).then(function(jt){pe({value:jt,done:Pe})},Ae)}}function Bn(en,ln){return Object.defineProperty?Object.defineProperty(en,"raw",{value:ln}):en.raw=ln,en}var Lt=Object.create?function(en,ln){Object.defineProperty(en,"default",{enumerable:!0,value:ln})}:function(en,ln){en.default=ln},Wn=function(en){return Wn=Object.getOwnPropertyNames||function(ln){var Cn=[];for(var Mt in ln)Object.prototype.hasOwnProperty.call(ln,Mt)&&(Cn[Cn.length]=Mt);return Cn},Wn(en)};function Xn(en){if(en&&en.__esModule)return en;var ln={};if(en!=null)for(var Cn=Wn(en),Mt=0;Mt - + \ No newline at end of file diff --git a/p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index.0477ea34.async.js b/p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index.0477ea34.async.js deleted file mode 100644 index 761d79308b..0000000000 --- a/p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index.0477ea34.async.js +++ /dev/null @@ -1,147 +0,0 @@ -!(function(){var U0=Object.defineProperty,D0=Object.defineProperties;var R0=Object.getOwnPropertyDescriptors;var Vd=Object.getOwnPropertySymbols;var Q0=Object.prototype.hasOwnProperty,k0=Object.prototype.propertyIsEnumerable;var Wl=Math.pow,jh=(gt,dt,f)=>dt in gt?U0(gt,dt,{enumerable:!0,configurable:!0,writable:!0,value:f}):gt[dt]=f,wu=(gt,dt)=>{for(var f in dt||(dt={}))Q0.call(dt,f)&&jh(gt,f,dt[f]);if(Vd)for(var f of Vd(dt))k0.call(dt,f)&&jh(gt,f,dt[f]);return gt},Yh=(gt,dt)=>D0(gt,R0(dt));var ps=(gt,dt,f)=>jh(gt,typeof dt!="symbol"?dt+"":dt,f);(self.webpackChunk=self.webpackChunk||[]).push([[92524],{55532:function(gt,dt,f){"use strict";f.d(dt,{ni:function(){return Ws},EF:function(){return Cs}});var l=function(q,it){var bt=q.nodes,Ht=q.edges,se=[],ce={};if(!bt)throw new Error("invalid nodes data!");return bt&&bt.forEach(function(hn,ln){ce[hn.id]=ln;var On=[];se.push(On)}),Ht&&Ht.forEach(function(hn){var ln=hn.source,On=hn.target,Qn=ce[ln],Dn=ce[On];!Qn&&Qn!==0||!Dn&&Dn!==0||(se[Qn][Dn]=1,it||(se[Dn][Qn]=1))}),se},R=l,U=function(q,it){return q===it},P=function(){function St(q,it){it===void 0&&(it=null),this.value=q,this.next=it}return St.prototype.toString=function(q){return q?q(this.value):"".concat(this.value)},St}(),m=function(){function St(q){q===void 0&&(q=U),this.head=null,this.tail=null,this.compare=q}return St.prototype.prepend=function(q){var it=new P(q,this.head);return this.head=it,this.tail||(this.tail=it),this},St.prototype.append=function(q){var it=new P(q);return this.head?(this.tail.next=it,this.tail=it,this):(this.head=it,this.tail=it,this)},St.prototype.delete=function(q){if(!this.head)return null;for(var it=null;this.head&&this.compare(this.head.value,q);)it=this.head,this.head=this.head.next;var bt=this.head;if(bt!==null)for(;bt.next;)this.compare(bt.next.value,q)?(it=bt.next,bt.next=bt.next.next):bt=bt.next;return this.compare(this.tail.value,q)&&(this.tail=bt),it},St.prototype.find=function(q){var it=q.value,bt=it===void 0?void 0:it,Ht=q.callback,se=Ht===void 0?void 0:Ht;if(!this.head)return null;for(var ce=this.head;ce;){if(se&&se(ce.value)||bt!==void 0&&this.compare(ce.value,bt))return ce;ce=ce.next}return null},St.prototype.deleteTail=function(){var q=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,q;for(var it=this.head;it.next;)it.next.next?it=it.next:it.next=null;return this.tail=it,q},St.prototype.deleteHead=function(){if(!this.head)return null;var q=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),q},St.prototype.fromArray=function(q){var it=this;return q.forEach(function(bt){return it.append(bt)}),this},St.prototype.toArray=function(){for(var q=[],it=this.head;it;)q.push(it),it=it.next;return q},St.prototype.reverse=function(){for(var q=this.head,it=null,bt=null;q;)bt=q.next,q.next=it,it=q,q=bt;this.tail=this.head,this.head=it},St.prototype.toString=function(q){return q===void 0&&(q=void 0),this.toArray().map(function(it){return it.toString(q)}).toString()},St}(),S=m,E=function(){function St(){this.linkedList=new S}return St.prototype.isEmpty=function(){return!this.linkedList.head},St.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},St.prototype.enqueue=function(q){this.linkedList.append(q)},St.prototype.dequeue=function(){var q=this.linkedList.deleteHead();return q?q.value:null},St.prototype.toString=function(q){return this.linkedList.toString(q)},St}(),F=E,Q=function(q,it,bt){it===void 0&&(it=[]);var Ht=it.filter(function(ln){return ln.source===q||ln.target===q});if(bt==="target"){var se=function(On){return On.source===q};return Ht.filter(se).map(function(ln){return ln.target})}if(bt==="source"){var ce=function(On){return On.target===q};return Ht.filter(ce).map(function(ln){return ln.source})}var hn=function(On){return On.source===q?On.target:On.source};return Ht.map(hn)},O=function(q,it){return it.filter(function(bt){return bt.source===q})},T=function(q,it){return it.filter(function(bt){return bt.source===q||bt.target===q})},Z=function(q){q===void 0&&(q=0);var it="".concat(Math.random()).split(".")[1].substr(0,5),bt="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(q,"-").concat(it).concat(bt)};function tt(St){St===void 0&&(St={});var q=St,it=function(){},bt=function(){var Ht={};return function(se){var ce=se.next,hn=ce;return Ht[hn]?!1:(Ht[hn]=!0,!0)}}();return q.allowTraversal=St.allowTraversal||bt,q.enter=St.enter||it,q.leave=St.leave||it,q}var W=function(q,it,bt,Ht){Ht===void 0&&(Ht=!0);var se=tt(bt),ce=new F,hn=q.edges,ln=hn===void 0?[]:hn;ce.enqueue(it);for(var On="",Qn=function(){var nr=ce.dequeue();se.enter({current:nr,previous:On}),Q(nr,ln,Ht?"target":void 0).forEach(function(Jn){se.allowTraversal({previous:On,current:nr,next:Jn})&&ce.enqueue(Jn)}),se.leave({current:nr,previous:On}),On=nr};!ce.isEmpty();)Qn()},vt=W,st=function(q){for(var it=q.nodes,bt=it===void 0?[]:it,Ht=q.edges,se=Ht===void 0?[]:Ht,ce=[],hn={},ln=[],On=function Jn(fr){ln.push(fr),hn[fr.id]=!0;for(var yr=Q(fr.id,se),vr=function(Nr){var Gr=yr[Nr];if(!hn[Gr]){var Yr=bt.filter(function(ti){return ti.id===Gr});Yr.length>0&&Jn(Yr[0])}},Sr=0;Sr0;)nr.push(ln.pop());ce.push(nr)}}return ce},X=function(q){for(var it=q.nodes,bt=it===void 0?[]:it,Ht=q.edges,se=Ht===void 0?[]:Ht,ce=[],hn={},ln={},On={},Qn=[],Dn=0,nr=function vr(Sr){ln[Sr.id]=Dn,On[Sr.id]=Dn,Dn+=1,ce.push(Sr),hn[Sr.id]=!0;for(var Dr=Q(Sr.id,se,"target").filter(function(Bi){return bt.map(function(pi){return pi.id}).indexOf(Bi)>-1}),Nr=function(pi){var fi=Dr[pi];if(!ln[fi]&&ln[fi]!==0){var Mi=bt.filter(function(bi){return bi.id===fi});Mi.length>0&&vr(Mi[0]),On[Sr.id]=Math.min(On[Sr.id],On[fi])}else hn[fi]&&(On[Sr.id]=Math.min(On[Sr.id],ln[fi]))},Gr=0;Gr0;){var ti=ce.pop();if(hn[ti.id]=!1,Yr.push(ti),ti===Sr)break}Yr.length>0&&Qn.push(Yr)}},Jn=0,fr=bt;Jn0;)for(var vr=Jn.pop(),Sr=vr.id,Dr=Q(Sr,q.edges),Nr=function(ti){var Bi,pi=Dr[ti],fi=q.nodes.find(function(_){return _.id===pi});if(pi===Sr)ce.push((Bi={},Bi[pi]=vr,Bi));else if(!(pi in yr))fr[pi]=vr,Jn.push(fi),yr[pi]=new Set([vr]);else if(!yr[Sr].has(fi)){for(var Mi=!0,bi=[fi,vr],V=fr[Sr];yr[pi].size&&!yr[pi].has(V)&&(bi.push(V),V!==fr[V.id]);)V=fr[V.id];if(bi.push(V),it&&bt?(Mi=!1,bi.findIndex(function(_){return it.indexOf(_.id)>-1})>-1&&(Mi=!0)):it&&!bt&&bi.findIndex(function(_){return it.indexOf(_.id)>-1})>-1&&(Mi=!1),Mi){for(var K={},k=1;k0;){var k=K.pop();se.has(k)&&(se.delete(k),ce[k.id].forEach(function(_){K.push(_)}),ce[k.id].clear())}},Dn=function bi(V,K,k){var _=!1;if(it&&bt===!1&&it.indexOf(V.id)>-1)return _;Ht.push(V),se.add(V);for(var Y=k[V.id],at=0;at-1});Te-1)?hn.push((K={},K[Ce.id]=Ce,K)):Zt[Ce.id].push(On[on])}}return{component:wt,adjList:Zt,minIdx:_}},Nr=0;Nr=Nr}),Yr=X({nodes:Gr,edges:q.edges}).filter(function(bi){return bi.length>1});if(Yr.length===0)break;var ti=Dr(Yr),Bi=ti.minIdx,pi=ti.adjList,fi=ti.component;if(fi.length>1){fi.forEach(function(bi){ce[bi.id]=new Set});var Mi=ln[Bi];if(it&&bt&&it.indexOf(Mi.id)===-1)return hn;Dn(Mi,Mi,pi),Nr=Bi+1}else break}return hn},we=function(q,it,bt,Ht){return Ht===void 0&&(Ht=!0),it?cn(q,bt,Ht):pn(q,bt,Ht)},Ye=ye,Un=f(80813),Ze={}.toString,Ie=function(St,q){return Ze.call(St)==="[object "+q+"]"},xt=Ie,Jt=function(St){return xt(St,"Function")},tn=function(St){return Array.isArray?Array.isArray(St):xt(St,"Array")},qe=function(St){var q=typeof St;return St!==null&&q==="object"||q==="function"};function Re(St,q){if(St){var it;if(tn(St))for(var bt=0,Ht=St.length;bt-1;)Ge.call(St,se,1);return St},et=null,Pt=Array.prototype.splice,Xt=function(q,it){if(!isArrayLike(q))return[];for(var bt=q?it.length:0,Ht=bt-1;bt--;){var se=void 0,ce=it[bt];(bt===Ht||ce!==se)&&(se=ce,Pt.call(q,ce,1))}return q},Lt=null,_t=function(St,q,it){if(!isArray(St)&&!isPlainObject(St))return St;var bt=it;return each(St,function(Ht,se){bt=q(bt,Ht,se)}),bt},Vt=null,Ee=function(St,q){var it=[];if(!isArrayLike(St))return it;for(var bt=-1,Ht=[],se=St.length;++btse[hn])return 1;if(Ht[hn]0},Qt=null,qt=function(St,q){if(isArray(St)){for(var it,bt=-1/0,Ht=0;Htbt&&(it=se,bt=ce)}return it}},ne=function(St,q){if(isArray(St)){for(var it,bt=1/0,Ht=0;Hthn&&Qn>hn);)if(ln.push(On),hn-=Qn,ce=ce.substr(Ht),!ce)return ln.join("");for(;On=ce.substr(0,1),Qn=measureTextWidth(On,it),!(Qn+se>hn);)if(ln.push(On),hn-=Qn,ce=ce.substr(1),!ce)return ln.join("");return""+ln.join("")+bt},Pa=function(){function St(){this.map={}}return St.prototype.has=function(q){return this.map[q]!==void 0},St.prototype.get=function(q,it){var bt=this.map[q];return bt===void 0?it:bt},St.prototype.set=function(q,it){this.map[q]=it},St.prototype.clear=function(){this.map={}},St.prototype.delete=function(q){delete this.map[q]},St.prototype.size=function(){return Object.keys(this.map).length},St}(),Ca=null,qa=function(q,it,bt){for(var Ht=1/0,se,ce=0;ceDn[Yr.id]+V?(Dn[bi]=Dn[Yr.id]+V,nr[bi]=[Yr.id]):Dn[bi]===Dn[Yr.id]+V&&nr[bi].push(Yr.id)})},yr=0;yr0&&Qn.length>0;){var Jn=Qn[Qn.length-1];if(Jn.length){var fr=Jn.shift();fr&&(ln.push(fr),On[fr]=!0,nr=Ht?Q(fr,hn,"target"):Q(fr,hn),Qn.push(nr.filter(function(Sr){return!On[Sr]})))}else{var yr=ln.pop();On[yr]=!1,Qn.pop();continue}if(ln[ln.length-1]===bt){var vr=ln.map(function(Dr){return Dr});Dn.push(vr);var yr=ln.pop();On[yr]=!1,Qn.pop()}}return Dn},Gi=function(q,it){for(var bt=R(q,it),Ht=[],se=bt.length,ce=0;ceHt[ce][ln]+Ht[ln][hn]&&(Ht[ce][hn]=Ht[ce][ln]+Ht[ln][hn]);return Ht},ka=Gi,_a=function(q,it,bt,Ht){it===void 0&&(it=!1),bt===void 0&&(bt="weight"),Ht===void 0&&(Ht=1e3);var se=q.nodes,ce=se===void 0?[]:se,hn=q.edges,ln=hn===void 0?[]:hn,On={},Qn={};ce.forEach(function(Gr,Yr){var ti=Z();Gr.clusterId=ti,On[ti]={id:ti,nodes:[Gr]},Qn[Gr.id]={node:Gr,idx:Yr}});var Dn=R(q,it),nr=[],Jn={};Dn.forEach(function(Gr,Yr){var ti=0,Bi=ce[Yr].id;Jn[Bi]={},Gr.forEach(function(pi,fi){if(pi){ti+=pi;var Mi=ce[fi].id;Jn[Bi][Mi]=pi}}),nr.push(ti)});for(var fr=0,yr=function(){var Yr=!1;if(ce.forEach(function(ti){var Bi={};Object.keys(Jn[ti.id]).forEach(function(_){var Y=Jn[ti.id][_],at=Qn[_].node,ft=at.clusterId;Bi[ft]||(Bi[ft]=0),Bi[ft]+=Y});var pi=-1/0,fi=[];if(Object.keys(Bi).forEach(function(_){pi=0&&fi.splice(Mi,1),fi&&fi.length){Yr=!0;var bi=On[ti.clusterId],V=bi.nodes.indexOf(ti);bi.nodes.splice(V,1);var K=Math.floor(Math.random()*fi.length),k=On[fi[K]];k.nodes.push(ti),ti.clusterId=k.id}}}),!Yr)return"break";fr++};fr0&&pi>fi&&pi-fifi&&(bi=Dn.map(function(ut){return{node:ut,clusterId:ut.clusterId}}),V=ue(Dr),fi=pi),K||Mi>100)break;Mi++,Object.keys(Dr).forEach(function(ut){var wt=0;Jn.forEach(function(Zt){var Ce=Zt.source,Te=Zt.target,je=Nr[Ce].node.clusterId,on=Nr[Te].node.clusterId;(je===ut&&on!==ut||on===ut&&je!==ut)&&(wt=wt+(Zt[bt]||1))}),Dr[ut].sumTot=wt}),Dn.forEach(function(ut,wt){var Zt=Dr[ut.clusterId],Ce=0,Te,je=Yr[wt]/(2*Bi),on=0,Bn=Zt.nodes;Bn.forEach(function(ai){var yi=Nr[ai.id].idx;on+=Gr[wt][yi]||0});var Vn=on-Zt.sumTot*je,Rn=Bn.filter(function(ai){return ai.id!==ut.id}),sr=[];Rn.forEach(function(ai,yi){sr[yi]=fr[ai.originIndex]});var Ar=aa(Rn,fr)*On,dr=ti[ut.id];if(Object.keys(dr).forEach(function(ai){var yi=Nr[ai].node,ji=yi.clusterId;if(ji!==ut.clusterId){var $i=Dr[ji],Fi=$i.nodes;if(!(!Fi||!Fi.length)){var Ai=0;Fi.forEach(function(Yi){var Qi=Nr[Yi.id].idx;Ai+=Gr[wt][Qi]||0});var xi=Ai-$i.sumTot*je,vi=Fi.concat([ut]),Oi=[];vi.forEach(function(Yi,Qi){Oi[Qi]=fr[Yi.originIndex]});var va=aa(vi,fr)*On,li=xi-Vn;se&&(li=xi+va-(Vn+Ar)),li>Ce&&(Ce=li,Te=$i)}}}),Ce>0){Te.nodes.push(ut);var Er=ut.clusterId;ut.clusterId=Te.id;var Ur=Zt.nodes.indexOf(ut);Zt.nodes.splice(Ur,1);var Qr=0,zr=0;Jn.forEach(function(ai){var yi=ai.source,ji=ai.target,$i=Nr[yi].node.clusterId,Fi=Nr[ji].node.clusterId;($i===Te.id&&Fi!==Te.id||Fi===Te.id&&$i!==Te.id)&&(Qr=Qr+(ai[bt]||1)),($i===Er&&Fi!==Er||Fi===Er&&$i!==Er)&&(zr=zr+(ai[bt]||1))}),Te.sumTot=Qr,Zt.sumTot=zr}})}var k={},_=0;Object.keys(V).forEach(function(ut){var wt=V[ut];if(!wt.nodes||!wt.nodes.length){delete V[ut];return}var Zt=String(_+1);Zt!==ut&&(wt.id=Zt,wt.nodes=wt.nodes.map(function(Ce){return{id:Ce.id,clusterId:Zt}}),V[Zt]=wt,k[ut]=Zt,delete V[ut],_++)}),bi.forEach(function(ut){var wt=ut.node,Zt=ut.clusterId;wt&&(wt.clusterId=Zt,wt.clusterId&&k[wt.clusterId]&&(wt.clusterId=k[wt.clusterId]))});var Y=[],at={};Jn.forEach(function(ut){var wt=ut.source,Zt=ut.target,Ce=ut[bt]||1,Te=Nr[wt].node.clusterId,je=Nr[Zt].node.clusterId;if(!(!Te||!je)){var on="".concat(Te,"---").concat(je);if(at[on])at[on].weight+=Ce,at[on].count++;else{var Bn={source:Te,target:je,weight:Ce,count:1};at[on]=Bn,Y.push(Bn)}}});var ft=[];return Object.keys(V).forEach(function(ut){ft.push(V[ut])}),{clusters:ft,clusterEdges:Y}},Ia=Lr,ao=function(q,it,bt,Ht,se,ce,hn,ln){return it===void 0&&(it=!1),bt===void 0&&(bt="weight"),Ht===void 0&&(Ht=1e-4),se===void 0&&(se=void 0),ce===void 0&&(ce=[]),hn===void 0&&(hn=["id"]),ln===void 0&&(ln=1),Ia(q,it,bt,Ht,!0,se,ce,hn,ln)},Jo=ao,qo=function(q,it){var bt;it===void 0&&(it=1);for(var Ht=ue(q),se=Ht.nodes,ce=se===void 0?[]:se,hn=Ht.edges,ln=hn===void 0?[]:hn,On=function(){var nr=Dt({nodes:ce,edges:ln}),Jn=Object.keys(nr);Jn.sort(function(vr,Sr){var Dr,Nr;return((Dr=nr[vr])===null||Dr===void 0?void 0:Dr.degree)-((Nr=nr[Sr])===null||Nr===void 0?void 0:Nr.degree)});var fr=Jn[0];if(!ce.length||((bt=nr[fr])===null||bt===void 0?void 0:bt.degree)>=it)return"break";var yr=ce.findIndex(function(vr){return vr.id===fr});ce.splice(yr,1),ln=ln.filter(function(vr){return!(vr.source===fr||vr.target===fr)})};;){var Qn=On();if(Qn==="break")break}return{nodes:ce,edges:ln}},Qs=qo,so=function(q,it,bt){var Ht=[];switch(q){case Wa.EuclideanDistance:Ht=it[bt];break;default:Ht=[];break}return Ht},oo=function(q,it,bt,Ht,se,ce){it===void 0&&(it=3),bt===void 0&&(bt=void 0),Ht===void 0&&(Ht=[]),se===void 0&&(se=["id"]),ce===void 0&&(ce=Wa.EuclideanDistance);var hn=q.nodes,ln=hn===void 0?[]:hn,On=q.edges,Qn=On===void 0?[]:On,Dn={clusters:[{id:"0",nodes:ln}],clusterEdges:[]};if(ce===Wa.EuclideanDistance&&!ln.every(function(Zt){return Zt.hasOwnProperty(bt)}))return Dn;var nr=[],Jn=[];if(ce===Wa.EuclideanDistance&&(nr=ua(ln,bt),Jn=Wi(nr,Ht,se)),!Jn.length)return Dn;for(var fr=fn(Jn.map(function(Zt){return Zt.join("")})),yr=Math.min(it,ln.length,fr.length),vr=0;vrYr&&!Sr.find(function(Rn){return Ri(Rn,so(ce,Jn,ln[Te].originIndex))})&&(Yr=Vn,ti=Te)}},pi=0;pi=0;k--)Nr[Number(ln[vr].clusterId)][k].id===ln[vr].id&&Nr[Number(ln[vr].clusterId)].splice(k,1);ln[vr].clusterId=String(Mi),Nr[Mi].push(ln[vr])}}for(var _=!1,vr=0;vr=1e3)break}var ut=[],wt={};return Qn.forEach(function(Zt){var Ce,Te,je=Zt.source,on=Zt.target,Bn=(Ce=ln.find(function(Ar){return Ar.id===je}))===null||Ce===void 0?void 0:Ce.clusterId,Vn=(Te=ln.find(function(Ar){return Ar.id===on}))===null||Te===void 0?void 0:Te.clusterId,Rn="".concat(Bn,"---").concat(Vn);if(wt[Rn])wt[Rn].count++;else{var sr={source:Bn,target:Vn,count:1};wt[Rn]=sr,ut.push(sr)}}),{clusters:Nr,clusterEdges:ut}},Sa=oo,Ua=function(q,it){var bt=new ca(it),Ht=bt.norm2(),se=new ca(q),ce=se.norm2(),hn=bt.dot(se),ln=Ht*ce,On=ln?hn/ln:0;return On},zi=Ua,Po=function(q,it,bt,Ht,se){q===void 0&&(q=[]),bt===void 0&&(bt=void 0),Ht===void 0&&(Ht=[]),se===void 0&&(se=[]);var ce=ue(q.filter(function(nr){return nr.id!==it.id})),hn=q.findIndex(function(nr){return nr.id===it.id}),ln=ua(q,bt),On=Wi(ln,Ht,se),Qn=On[hn],Dn=[];return ce.forEach(function(nr,Jn){if(nr.id!==it.id){var fr=On[Jn],yr=zi(fr,Qn);Dn.push(yr),nr.cosineSimilarity=yr}}),ce.sort(function(nr,Jn){return Jn.cosineSimilarity-nr.cosineSimilarity}),{allCosineSimilarity:Dn,similarNodes:ce}},Ao=Po,Bo=function(){function St(q){this.count=q.length,this.parent={};for(var it=0,bt=q;it0&&(this.list[0]=it,this.moveDown(0)),q},St.prototype.insert=function(q){if(q!==null){this.list.push(q);var it=this.list.length-1;return this.moveUp(it),!0}return!1},St.prototype.moveUp=function(q){for(var it=this.getParent(q);q&&q>0&&this.compareFn(this.list[it],this.list[q])>0;){var bt=this.list[it];this.list[it]=this.list[q],this.list[q]=bt,q=it,it=this.getParent(q)}},St.prototype.moveDown=function(q){var it,bt=q,Ht=this.getLeft(q),se=this.getRight(q),ce=this.list.length;Ht!==null&&Ht0?bt=Ht:se!==null&&se0&&(bt=se),q!==bt&&(it=[this.list[bt],this.list[q]],this.list[q]=it[0],this.list[bt]=it[1],this.moveDown(bt))},St}(),ws=as,sa=function(q,it){var bt=[],Ht=q.nodes,se=Ht===void 0?[]:Ht,ce=q.edges,hn=ce===void 0?[]:ce;if(se.length===0)return bt;var ln=se[0],On=new Set;On.add(ln);var Qn=function(vr,Sr){return it?vr.weight-Sr.weight:0},Dn=new ws(Qn);for(T(ln.id,hn).forEach(function(yr){Dn.insert(yr)});!Dn.isEmpty();){var nr=Dn.delMin(),Jn=nr.source,fr=nr.target;On.has(Jn)&&On.has(fr)||(bt.push(nr),On.has(Jn)||(On.add(Jn),T(Jn,hn).forEach(function(yr){Dn.insert(yr)})),On.has(fr)||(On.add(fr),T(fr,hn).forEach(function(yr){Dn.insert(yr)})))}return bt},Vi=function(q,it){var bt=[],Ht=q.nodes,se=Ht===void 0?[]:Ht,ce=q.edges,hn=ce===void 0?[]:ce;if(se.length===0)return bt;var ln=hn.map(function(Jn){return Jn});it&&ln.sort(function(Jn,fr){return Jn.weight-fr.weight});for(var On=new Va(se.map(function(Jn){return Jn.id}));ln.length>0;){var Qn=ln.shift(),Dn=Qn.source,nr=Qn.target;On.connected(Dn,nr)||(bt.push(Qn),On.union(Dn,nr))}return bt},qi=function(q,it,bt){var Ht={prim:sa,kruskal:Vi};return bt?Ht[bt](q,it):Vi(q,it)},ja=qi,Ys=function(q,it,bt){typeof it!="number"&&(it=1e-6),typeof bt!="number"&&(bt=.85);for(var Ht=1,se=0,ce=1e3,hn=q.nodes,ln=hn===void 0?[]:hn,On=q.edges,Qn=On===void 0?[]:On,Dn=ln.length,nr,Jn={},fr={},yr=0;yr0&&Ht>it;){se=0;for(var yr=0;yr0&&(nr+=fr[Yr]/ti)}Jn[Sr]=bt*nr,se+=Jn[Sr]}}se=(1-se)/Dn,Ht=0;for(var yr=0;yr=0;bt--){var Ht=this.dfsEdgeList[bt],se=Ht.fromNode,ce=Ht.toNode;seJn||Ht.hasNode(ce[nr.to])||(it.labelNr;Yr--){var ti=Gr(Yr);if(ti==="break")break}if(Sr){var Bi=q.findMinLabel(vr);ce.dfsEdgeList.push(new Es(yr,Dr,hs,Bi.edgeLabel,hs));var pi=ce.dfsEdgeList.length-1;return q.dfsCode.dfsEdgeList[pi]!==ce.dfsEdgeList[pi]?!1:Dn(vr[Bi.edgeLabel].projected)}var fi={};Sr=!1;var Mi=0;nr.forEach(function(Y){var at=new oa(Y),ft=q.findForwardPureEdges(Ht,at.edges[Jn[0]],fr,at);ft.length>0&&(Sr=!0,Mi=yr,ft.forEach(function(ut){var wt="".concat(ut.label,"-").concat(se[ut.to].label);fi[wt]||(fi[wt]={projected:[],edgeLabel:ut.label,nodeLabel2:se[ut.to].label}),fi[wt].projected.push({graphId:Ht.id,edge:ut,preNode:Y})}))});for(var bi=Jn.length,V=function(at){if(Sr)return"break";var ft=Jn[at];nr.forEach(function(ut){var wt=new oa(ut),Zt=q.findForwardRmpathEdges(Ht,wt.edges[ft],fr,wt);Zt.length>0&&(Sr=!0,Mi=ce.dfsEdgeList[ft].fromNode,Zt.forEach(function(Ce){var Te="".concat(Ce.label,"-").concat(se[Ce.to].label);fi[Te]||(fi[Te]={projected:[],edgeLabel:Ce.label,nodeLabel2:se[Ce.to].label}),fi[Te].projected.push({graphId:Ht.id,edge:Ce,preNode:ut})}))})},Yr=0;Yr=0;fr--){var yr=it.findBackwardEdge(Dn,Jn.edges[se[fr]],Jn.edges[se[0]],Jn);if(yr){var vr="".concat(it.dfsCode.dfsEdgeList[se[fr]].fromNode,"-").concat(yr.label);On[vr]||(On[vr]={projected:[],toNodeId:it.dfsCode.dfsEdgeList[se[fr]].fromNode,edgeLabel:yr.label}),On[vr].projected.push({graphId:Qn.graphId,edge:yr,preNode:Qn})}}if(!(Ht>=it.maxNodeNum)){var Sr=it.findForwardPureEdges(Dn,Jn.edges[se[0]],hn,Jn);Sr.forEach(function(Nr){var Gr="".concat(ce,"-").concat(Nr.label,"-").concat(nr[Nr.to].label);ln[Gr]||(ln[Gr]={projected:[],fromNodeId:ce,edgeLabel:Nr.label,nodeLabel2:nr[Nr.to].label}),ln[Gr].projected.push({graphId:Qn.graphId,edge:Nr,preNode:Qn})});for(var Dr=function(Gr){var Yr=it.findForwardRmpathEdges(Dn,Jn.edges[se[Gr]],hn,Jn);Yr.forEach(function(ti){var Bi="".concat(it.dfsCode.dfsEdgeList[se[Gr]].fromNode,"-").concat(ti.label,"-").concat(nr[ti.to].label);ln[Bi]||(ln[Bi]={projected:[],fromNodeId:it.dfsCode.dfsEdgeList[se[Gr]].fromNode,edgeLabel:ti.label,nodeLabel2:nr[ti.to].label}),ln[Bi].projected.push({graphId:Qn.graphId,edge:ti,preNode:Qn})})},fr=0;frNr){var Gr=Nr;Nr=Dr,Dr=Gr}var Yr=Sr.label,ti="".concat(On,"-").concat(Dr,"-").concat(Yr,"-").concat(Nr),Bi="".concat(Dr,"-").concat(Yr,"-").concat(Nr);if(!ce[Bi]){var pi=ce[Bi]||0;pi++,ce[Bi]=pi}ln[ti]={graphId:On,nodeLabel1:Dr,edgeLabel:Yr,nodeLabel2:Nr}})})}),Object.keys(se).forEach(function(On){var Qn=se[On];if(!(Qn2*it)););if(vr<2*it&&(hn["".concat(Qn,"-").concat(yr)]={start:Qn,end:yr,distance:se[Qn][yr]},Dn++,ln++,ln>=bt))return hn;if(nr++,nr>2*it)break}if(Dnnr&&(ln=nr);var Jn=bt[Dn.id].inDegree;On>Jn&&(On=Jn);var fr=bt[Dn.id].outDegree;Qn>fr&&(Qn=fr)}),q[it]={degree:ln,inDegree:On,outDegree:Qn}),{minPatternNodeLabelDegree:ln,minPatternNodeLabelInDegree:On,minPatternNodeLabelOutDegree:Qn}},fs=function(q,it,bt,Ht,se,ce,hn){var ln;if(bt===void 0&&(bt=!1),ce===void 0&&(ce="cluster"),hn===void 0&&(hn="cluster"),!(!q||!q.nodes)){var On=q.nodes.length;if(On){var Qn=ka(q,bt),Dn=ka(it,bt),nr=xa(q.nodes,Qn,bt),Jn=xa(it.nodes,Dn,bt),fr=Ro(q.nodes,ce),yr=fr.nodeMap,vr=fr.nodeLabelMap,Sr=Ro(it.nodes,ce),Dr=Sr.nodeMap,Nr=Sr.nodeLabelMap;Qo(q.edges,hn,yr);var Gr=Qo(it.edges,hn,Dr).edgeLabelMap,Yr=[];Dn==null||Dn.forEach(function(Ai){Yr=Yr.concat(Ai)}),se||(se=Math.max.apply(Math,(0,Un.ev)((0,Un.ev)([],Yr,!1),[2],!1))),Ht||(Ht=se);var ti=Co(q,Qn,ce,Ht),Bi=Co(it,Dn,ce,Ht),pi=Math.min(100,On*(On-1)/2),fi=dA(Ht,On,pi,ti,Qn),Mi=Xs(fi,ti,q),bi=10,V=1,K=1,k=4,_={graphs:Mi,nodeLabelProp:ce,edgeLabelProp:hn,minSupport:V,minNodeNum:K,maxNodeNum:k,directed:bt},Y=nl(_).slice(0,bi),at=Y.length,ft=[];Y.forEach(function(Ai,xi){ft[xi]={},Object.keys(Mi).forEach(function(vi){var Oi=Mi[vi],va=So(Oi,Ai,ce,hn);ft[xi][vi]=va})});var ut=TA(ft,at,Y),wt=ut.structure,Zt=ut.structureCountMap,Ce=it.nodes[0],Te=[],je=(ln=it.nodes[0])===null||ln===void 0?void 0:ln[ce],on=-1/0;it.nodes.forEach(function(Ai){var xi=Ai[ce],vi=vr[xi];(vi==null?void 0:vi.length)>on&&(on=vi.length,Te=vi,je=xi,Ce=Ai)});var Bn={},Vn={},Rn={},sr={},Ar={},dr={};Object.keys(Nr).forEach(function(Ai,xi){Ar[Ai]=[],bt&&(dr[Ai]=[]);var vi=-1/0,Oi=Nr[Ai],va={};Oi.forEach(function(ki){var _i=Jn["".concat(Ce.id,"-").concat(ki.id)];if(_i&&Ar[Ai].push(_i),vi<_i&&(vi=_i),va["".concat(Ce.id,"-").concat(ki.id)]={start:0,end:Dr[ki.id].idx,distance:_i},bt){var Ma=Jn["".concat(ki.id,"-").concat(Ce.id)];Ma&&dr[Ai].push(Ma)}}),Ar[Ai]=Ar[Ai].sort(function(ki,_i){return ki-_i}),bt&&(dr[Ai]=dr[Ai].sort(function(ki,_i){return ki-_i})),Vn=Xs(va,Bi,it,Vn);var li=[];if(Object.keys(va).forEach(function(ki){if(Rn[ki]){li.push(Rn[ki]);return}var _i=Vn[ki];Rn[ki]=So(_i,wt,ce,hn),li.push(Rn[ki])}),li=li.sort(function(ki,_i){return _i-ki}),sr["".concat(Ce.id,"-").concat(Ai)]=li,Ai!==je)for(var Yi=(Te==null?void 0:Te.length)||0,Qi=function(_i){var Ma=Te[_i],Ls=ti[yr[Ma.id].idx],Ya=Ls.nodeLabelCountMap[Ai],zo=Nr[Ai].length;if(!Ya||Ya.countAr[Ai][Bs]){tA=!0;break}if(tA)return Te.splice(_i,1),"continue";var ks={};Ls.neighbors.forEach(function(ts){var _s=nr["".concat(Ma.id,"-").concat(ts.id)];ks["".concat(Ma.id,"-").concat(ts.id)]={start:yr[Ma.id].idx,end:yr[ts.id].idx,distance:_s}}),Mi=Xs(ks,ti,q,Mi);var go=[];Object.keys(ks).forEach(function(ts){if(Zt[ts]){go.push(Zt[ts]);return}var _s=Mi[ts];Zt[ts]=So(_s,wt,ce,hn),go.push(Zt[ts])}),go=go.sort(function(ts,_s){return _s-ts});for(var vo=!1,Bs=0;Bs=0;ma--)Qi(ma)});var Er=[];Te==null||Te.forEach(function(Ai){for(var xi=yr[Ai.id].idx,vi=Ss(q.nodes,Qn[xi],xi,ce,se),Oi=vi.neighbors,va=Oi.length,li=!1,Yi=va-1;Yi>=0;Yi--){if(Oi.length+1Ls){Oi.splice(Yi,1);continue}if(bt){var Ya="".concat(Qi.id,"-").concat(Ai.id),zo=nr[Ya];Ma=dr[ma].length-1;var tA=dr[ma][Ma];if(zo>tA){Oi.splice(Yi,1);continue}}var Bs=Zt[ki]?Zt[ki]:Ms(q,Ai,Qi,yr,_i,ti,wt,ce,hn,Zt,Mi),ks="".concat(Ce.id,"-").concat(ma),go=sr[ks][sr[ks].length-1];if(Bs=0;_i--){var tA=zo(_i);if(tA==="break")break}if(Ya)return Er.splice(xi,1),"continue";vi.edges=Yi;var Bs=ro(vi,vi.nodes[0].id,!1).length;if(Object.keys(Bs).reverse().forEach(function(ya){if(!(ya===vi.nodes[0].id||Ya)){if(Bs[ya]===1/0){var gs=li[ya].node[ce];if(va[gs]--,va[gs]Qr[Js][Qr[Js].length-1]){var gs=li[ya].node[ce];if(va[gs]--,va[gs]=0;_s--){var Hs=vi.nodes[_s],rl=li[Hs.id].degree,LA=li[Hs.id].inDegree,Vl=li[Hs.id].outDegree,fA=Hs[ce],po=Mo(Bn,fA,Dr,Nr),NA=po.minPatternNodeLabelDegree,Oc=po.minPatternNodeLabelInDegree,eA=po.minPatternNodeLabelOutDegree,pl=bt?rl=0;Za--){var lo=Yi[Za];if(!li[lo.source]||!li[lo.target]){Yi.splice(Za,1);var nA=lo[hn];if(Qi[nA]--,li[lo.source]&&(li[lo.source].degree--,li[lo.source].outDegree--),li[lo.target]&&(li[lo.target].degree--,li[lo.target].inDegree--),Gr[nA]&&Qi[nA]=0;yi--){var ji=ai(yi);if(ji==="break")break}for(var $i=Er.length,Fi=function(xi){var vi=Er[xi],Oi={};vi.edges.forEach(function(Yi){var Qi="".concat(Yi.source,"-").concat(Yi.target,"-").concat(Yi.label);Oi[Qi]?Oi[Qi]++:Oi[Qi]=1});for(var va=function(Qi){var ma=Er[Qi],ki={};ma.edges.forEach(function(Ma){var Ls="".concat(Ma.source,"-").concat(Ma.target,"-").concat(Ma.label);ki[Ls]?ki[Ls]++:ki[Ls]=1});var _i=!0;Object.keys(ki).length!==Object.keys(Oi).length?_i=!1:Object.keys(Oi).forEach(function(Ma){ki[Ma]!==Oi[Ma]&&(_i=!1)}),_i&&Er.splice(Qi,1)},li=$i-1;li>xi;li--)va(li);$i=Er.length},yi=0;yi<=$i-1;yi++)Fi(yi);return Er}}},ko=fs,FA=function(){function St(q){q===void 0&&(q=10),this.linkedList=new S,this.maxStep=q}return Object.defineProperty(St.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),St.prototype.isEmpty=function(){return!this.linkedList.head},St.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},St.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},St.prototype.push=function(q){this.linkedList.prepend(q),this.length>this.maxStep&&this.linkedList.deleteTail()},St.prototype.pop=function(){var q=this.linkedList.deleteHead();return q?q.value:null},St.prototype.toArray=function(){return this.linkedList.toArray().map(function(q){return q.value})},St.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},St}(),_o=FA,Oo=Ye,IA={getAdjMatrix:R,breadthFirstSearch:vt,connectedComponent:Mt,getDegree:Dt,getInDegree:Gt,getOutDegree:Kt,detectCycle:Ye,detectDirectedCycle:Oo,detectAllCycles:we,detectAllDirectedCycle:cn,detectAllUndirectedCycle:pn,depthFirstSearch:an,dijkstra:ro,findAllPath:Ds,findShortestPath:Ws,floydWarshall:ka,labelPropagation:No,louvain:Ia,iLouvain:Jo,kCore:Qs,kMeans:Sa,cosineSimilarity:zi,nodesCosineSimilarity:Ao,minimumSpanningTree:ja,pageRank:Cs,getNeighbors:Q,Stack:_o,GADDI:ko}},86314:function(gt,dt,f){"use strict";f.d(dt,{MG:function(){return m},V7:function(){return E},Yq:function(){return S},eR:function(){return Z},jt:function(){return Q},tT:function(){return T}});var l=f(80813),R=f(76075),U=f(69014);function P(tt){return typeof tt=="boolean"?!1:"enter"in tt&&"update"in tt&&"exit"in tt}function m(tt){if(!tt)return{enter:!1,update:!1,exit:!1};var W=["enter","update","exit"],vt=Object.fromEntries(Object.entries(tt).filter(function(st){var X=(0,l.CR)(st,1),Mt=X[0];return!W.includes(Mt)}));return Object.fromEntries(W.map(function(st){return P(tt)?tt[st]===!1?[st,!1]:[st,(0,l.pi)((0,l.pi)({},tt[st]),vt)]:[st,vt]}))}function S(tt,W){tt?tt.finished.then(W):W()}function E(tt,W){tt.length===0?W():Promise.all(tt.map(function(vt){return vt==null?void 0:vt.finished})).then(W)}function F(tt,W){"update"in tt?tt.update(W):tt.attr(W)}function Q(tt,W,vt){if(W.length===0)return null;if(!vt){var st=W.slice(-1)[0];return F(tt,{style:st}),null}return tt.animate(W,vt)}function O(tt,W){return!(tt.nodeName!=="text"||W.nodeName!=="text"||tt.attributes.text!==W.attributes.text)}function T(tt,W,vt,st){if(st===void 0&&(st="destroy"),O(tt,W))return tt.remove(),[null];var X=function(){st==="destroy"?tt.destroy():st==="hide"&&(0,U.Cp)(tt),W.isVisible()&&(0,U.$Z)(W)};if(!vt)return X(),[null];var Mt=vt.duration,ht=Mt===void 0?0:Mt,Dt=vt.delay,Gt=Dt===void 0?0:Dt,Kt=Math.ceil(+ht/2),Fe=+ht/4,me=(0,l.CR)(tt.getGeometryBounds().center,2),an=me[0],ye=me[1],pn=(0,l.CR)(W.getGeometryBounds().center,2),cn=pn[0],we=pn[1],Ye=(0,l.CR)([(an+cn)/2-an,(ye+we)/2-ye],2),Un=Ye[0],Ze=Ye[1],Ie=tt.style.opacity,xt=Ie===void 0?1:Ie,Jt=W.style.opacity,tn=Jt===void 0?1:Jt,qe=tt.style.transform||"",Re=W.style.transform||"",Je=tt.animate([{opacity:xt,transform:"translate(0, 0) ".concat(qe)},{opacity:0,transform:"translate(".concat(Un,", ").concat(Ze,") ").concat(qe)}],(0,l.pi)((0,l.pi)({fill:"both"},vt),{duration:Gt+Kt+Fe})),rn=W.animate([{opacity:0,transform:"translate(".concat(-Un,", ").concat(-Ze,") ").concat(Re),offset:.01},{opacity:tn,transform:"translate(0, 0) ".concat(Re)}],(0,l.pi)((0,l.pi)({fill:"both"},vt),{duration:Kt+Fe,delay:Gt+Kt-Fe}));return S(rn,X),[Je,rn]}function Z(tt,W,vt){var st={},X={};return Object.entries(W).forEach(function(Mt){var ht=(0,l.CR)(Mt,2),Dt=ht[0],Gt=ht[1];if(!(0,R.Z)(Gt)){var Kt=tt.style[Dt]||tt.parsedStyle[Dt]||0;Kt!==Gt&&(st[Dt]=Kt,X[Dt]=Gt)}}),vt?Q(tt,[st,X],(0,l.pi)({fill:"both"},vt)):(F(tt,X),null)}},97304:function(gt,dt,f){"use strict";f.d(dt,{w:function(){return E}});var l=f(80813),R=f(66623),U=f(69014),P=f(99247),m=f(16915);function S(){(0,U.WD)(this,this.attributes.visibility!=="hidden")}var E=function(F){(0,l.ZT)(Q,F);function Q(O,T){T===void 0&&(T={});var Z=F.call(this,(0,P.n)({},{style:T},O))||this;return Z.initialized=!1,Z._defaultOptions=T,Z}return Object.defineProperty(Q.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,m.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(Q.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),Q.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},Q.prototype.disconnectedCallback=function(){var O;(O=this._offscreen)===null||O===void 0||O.destroy()},Q.prototype.attributeChangedCallback=function(O){O==="visibility"&&S.call(this)},Q.prototype.update=function(O,T){var Z;return this.attr((0,P.n)({},this.attributes,O||{})),(Z=this.render)===null||Z===void 0?void 0:Z.call(this,this.attributes,this,T)},Q.prototype.clear=function(){this.removeChildren()},Q.prototype.bindEvents=function(O,T){},Q.prototype.getSubShapeStyle=function(O){var T=O.x,Z=O.y,tt=O.transform,W=O.transformOrigin,vt=O.class,st=O.className,X=O.zIndex,Mt=(0,l._T)(O,["x","y","transform","transformOrigin","class","className","zIndex"]);return Mt},Q}(R.b_)},42777:function(gt,dt,f){"use strict";f.d(dt,{x:function(){return P}});var l=f(80813),R=f(66623),U=f(16915),P=function(m){(0,l.ZT)(S,m);function S(E){E===void 0&&(E={});var F=E.style,Q=(0,l._T)(E,["style"]);return m.call(this,(0,l.pi)({style:(0,l.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},F)},Q))||this}return Object.defineProperty(S.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,U.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),S.prototype.disconnectedCallback=function(){var E;(E=this._offscreen)===null||E===void 0||E.destroy()},S}(R.xv)},65244:function(gt,dt,f){"use strict";f.d(dt,{W:function(){return un}});var l=f(80813),R=f(97304),U=f(66623),P=f(88839),m=f(38974),S=f(17911),E=f(58688),F=f(33253),Q=f(98294),O=f(67756);function T(pt,mt,ct){return ct?"".concat(pt," ").concat(ct,"legend-").concat(mt):pt}function Z(pt,mt,ct){var Ct=pt.classNamePrefix,zt=Ct===void 0?"":Ct;return T(mt.name,ct,zt)}var tt={title:"title",item:"item",marker:"marker",label:"label",value:"value",focusIcon:"focus-icon",background:"background",ribbon:"ribbon",track:"track",selection:"selection",handle:"handle",handleMarker:"handle-marker",handleLabel:"handle-label",indicator:"indicator",prevBtn:"prev-btn",nextBtn:"next-btn",pageInfo:"page-info"},W=(0,E.A)({text:"text"},"title");function vt(pt,mt){var ct=pt.attributes,Ct=ct.position,zt=ct.spacing,De=ct.inset,Yt=ct.text,Le=pt.getBBox(),sn=mt.getBBox(),Mn=(0,F.l)(Ct),Nn=(0,l.CR)((0,Q.j)(Yt?zt:0),4),ir=Nn[0],Kn=Nn[1],qn=Nn[2],gr=Nn[3],He=(0,l.CR)((0,Q.j)(De),4),Tn=He[0],or=He[1],En=He[2],kr=He[3],_r=(0,l.CR)([gr+Kn,ir+qn],2),Cr=_r[0],br=_r[1],ni=(0,l.CR)([kr+or,Tn+En],2),Br=ni[0],Wr=ni[1];if(Mn[0]==="l")return new S.b(Le.x,Le.y,sn.width+Le.width+Cr+Br,Math.max(sn.height+Wr,Le.height));if(Mn[0]==="t")return new S.b(Le.x,Le.y,Math.max(sn.width+Br,Le.width),sn.height+Le.height+br+Wr);var Pn=(0,l.CR)([mt.attributes.width||sn.width,mt.attributes.height||sn.height],2),An=Pn[0],ie=Pn[1];return new S.b(sn.x,sn.y,An+Le.width+Cr+Br,ie+Le.height+br+Wr)}function st(pt,mt){var ct=Object.entries(mt).reduce(function(Ct,zt){var De=(0,l.CR)(zt,2),Yt=De[0],Le=De[1],sn=pt.node().attr(Yt);return sn||(Ct[Yt]=Le),Ct},{});pt.styles(ct)}function X(pt){var mt,ct,Ct,zt,De=pt,Yt=De.width,Le=De.height,sn=De.position,Mn=(0,l.CR)([+Yt/2,+Le/2],2),Nn=Mn[0],ir=Mn[1],Kn=(0,l.CR)([+Nn,+ir,"center","middle"],4),qn=Kn[0],gr=Kn[1],He=Kn[2],Tn=Kn[3],or=(0,F.l)(sn);return or.includes("l")&&(mt=(0,l.CR)([0,"start"],2),qn=mt[0],He=mt[1]),or.includes("r")&&(ct=(0,l.CR)([+Yt,"end"],2),qn=ct[0],He=ct[1]),or.includes("t")&&(Ct=(0,l.CR)([0,"top"],2),gr=Ct[0],Tn=Ct[1]),or.includes("b")&&(zt=(0,l.CR)([+Le,"bottom"],2),gr=zt[0],Tn=zt[1]),{x:qn,y:gr,textAlign:He,textBaseline:Tn}}var Mt=function(pt){(0,l.ZT)(mt,pt);function mt(ct){return pt.call(this,ct,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return mt.prototype.getAvailableSpace=function(){var ct=this,Ct=this.attributes,zt=Ct.width,De=Ct.height,Yt=Ct.position,Le=Ct.spacing,sn=Ct.inset,Mn=ct.querySelector(W.text.class);if(!Mn)return new S.b(0,0,+zt,+De);var Nn=Mn.getBBox(),ir=Nn.width,Kn=Nn.height,qn=(0,l.CR)((0,Q.j)(Le),4),gr=qn[0],He=qn[1],Tn=qn[2],or=qn[3],En=(0,l.CR)([0,0,+zt,+De],4),kr=En[0],_r=En[1],Cr=En[2],br=En[3],ni=(0,F.l)(Yt);if(ni.includes("i"))return new S.b(kr,_r,Cr,br);ni.forEach(function(wn,zn){var tr,ar,Or,Fr;wn==="t"&&(tr=(0,l.CR)(zn===0?[Kn+Tn,+De-Kn-Tn]:[0,+De],2),_r=tr[0],br=tr[1]),wn==="r"&&(ar=(0,l.CR)([+zt-ir-or],1),Cr=ar[0]),wn==="b"&&(Or=(0,l.CR)([+De-Kn-gr],1),br=Or[0]),wn==="l"&&(Fr=(0,l.CR)(zn===0?[ir+He,+zt-ir-He]:[0,+zt],2),kr=Fr[0],Cr=Fr[1])});var Br=(0,l.CR)((0,Q.j)(sn),4),Wr=Br[0],Pn=Br[1],An=Br[2],ie=Br[3],ue=(0,l.CR)([ie+Pn,Wr+An],2),$t=ue[0],Ve=ue[1];return new S.b(kr+ie,_r+Wr,Cr-$t,br-Ve)},mt.prototype.getBBox=function(){return this.title?this.title.getBBox():new S.b(0,0,0,0)},mt.prototype.render=function(ct,Ct){var zt=this,De=ct.width,Yt=ct.height,Le=ct.position,sn=ct.spacing,Mn=ct.classNamePrefix,Nn=(0,l._T)(ct,["width","height","position","spacing","classNamePrefix"]),ir=(0,l.CR)((0,P.Hm)(Nn),1),Kn=ir[0],qn=X(ct),gr=qn.x,He=qn.y,Tn=qn.textAlign,or=qn.textBaseline;(0,O.z)(!!Nn.text,(0,m.Ys)(Ct),function(En){var kr=T(W.text.name,tt.title,Mn);zt.title=En.maybeAppendByClassName(W.text,"text").attr("className",kr).styles(Kn).call(st,{x:gr,y:He,textAlign:Tn,textBaseline:or}).node()})},mt}(R.w),ht=function(){},Dt=f(37004),Gt=f(38242);function Kt(pt,mt){return pt.reduce(function(ct,Ct){return(ct[Ct[mt]]=ct[Ct[mt]]||[]).push(Ct),ct},{})}var Fe=f(99247),me=f(70208),an=f(78431),ye=f(86314);function pn(pt){var mt;return((mt=pt[0])===null||mt===void 0?void 0:mt.map(function(ct,Ct){return pt.map(function(zt){return zt[Ct]})}))||[]}var cn=f(69014),we=f(99769),Ye=function(pt,mt,ct){return[["M",pt-ct,mt],["A",ct,ct,0,1,0,pt+ct,mt],["A",ct,ct,0,1,0,pt-ct,mt],["Z"]]},Un=Ye,Ze=function(pt,mt,ct){return[["M",pt-ct,mt-ct],["L",pt+ct,mt-ct],["L",pt+ct,mt+ct],["L",pt-ct,mt+ct],["Z"]]},Ie=function(pt,mt,ct){return[["M",pt-ct,mt],["L",pt,mt-ct],["L",pt+ct,mt],["L",pt,mt+ct],["Z"]]},xt=function(pt,mt,ct){var Ct=ct*Math.sin(.3333333333333333*Math.PI);return[["M",pt-ct,mt+Ct],["L",pt,mt-Ct],["L",pt+ct,mt+Ct],["Z"]]},Jt=function(pt,mt,ct){var Ct=ct*Math.sin(.3333333333333333*Math.PI);return[["M",pt-ct,mt-Ct],["L",pt+ct,mt-Ct],["L",pt,mt+Ct],["Z"]]},tn=function(pt,mt,ct){var Ct=ct/2*Math.sqrt(3);return[["M",pt,mt-ct],["L",pt+Ct,mt-ct/2],["L",pt+Ct,mt+ct/2],["L",pt,mt+ct],["L",pt-Ct,mt+ct/2],["L",pt-Ct,mt-ct/2],["Z"]]},qe=function(pt,mt,ct){var Ct=ct-1.5;return[["M",pt-ct,mt-Ct],["L",pt+ct,mt+Ct],["L",pt+ct,mt-Ct],["L",pt-ct,mt+Ct],["Z"]]},Re=function(pt,mt,ct){return[["M",pt,mt+ct],["L",pt,mt-ct]]},Je=function(pt,mt,ct){return[["M",pt-ct,mt-ct],["L",pt+ct,mt+ct],["M",pt+ct,mt-ct],["L",pt-ct,mt+ct]]},rn=function(pt,mt,ct){return[["M",pt-ct/2,mt-ct],["L",pt+ct/2,mt-ct],["M",pt,mt-ct],["L",pt,mt+ct],["M",pt-ct/2,mt+ct],["L",pt+ct/2,mt+ct]]},ge=function(pt,mt,ct){return[["M",pt-ct,mt],["L",pt+ct,mt],["M",pt,mt-ct],["L",pt,mt+ct]]},Pe=function(pt,mt,ct){return[["M",pt-ct,mt],["L",pt+ct,mt]]},Tt=function(pt,mt,ct){return[["M",pt-ct,mt],["L",pt+ct,mt]]},yt=Tt,fe=function(pt,mt,ct){return[["M",pt-ct,mt],["A",ct/2,ct/2,0,1,1,pt,mt],["A",ct/2,ct/2,0,1,0,pt+ct,mt]]},nn=function(pt,mt,ct){return[["M",pt-ct-1,mt-2.5],["L",pt,mt-2.5],["L",pt,mt+2.5],["L",pt+ct+1,mt+2.5]]},We=function(pt,mt,ct){return[["M",pt-ct-1,mt+2.5],["L",pt,mt+2.5],["L",pt,mt-2.5],["L",pt+ct+1,mt-2.5]]},le=function(pt,mt,ct){return[["M",pt-(ct+1),mt+2.5],["L",pt-ct/2,mt+2.5],["L",pt-ct/2,mt-2.5],["L",pt+ct/2,mt-2.5],["L",pt+ct/2,mt+2.5],["L",pt+ct+1,mt+2.5]]};function Ke(pt,mt){return[["M",pt-5,mt+2.5],["L",pt-5,mt],["L",pt,mt],["L",pt,mt-3],["L",pt,mt+3],["L",pt+6.5,mt+3]]}var Me=function(pt,mt,ct){return[["M",pt-ct,mt-ct],["L",pt+ct,mt],["L",pt-ct,mt+ct],["Z"]]},kt=function(pt,mt,ct){var Ct=ct,zt=ct*.2,De=ct*.7;return[["M",pt-Ct,mt],["A",Ct,Ct,0,1,0,pt+Ct,mt],["A",Ct,Ct,0,1,0,pt-Ct,mt],["Z"],["M",pt-De,mt],["L",pt-zt,mt],["M",pt+zt,mt],["L",pt+De,mt],["M",pt,mt-De],["L",pt,mt-zt],["M",pt,mt+zt],["L",pt,mt+De]]},ee=(0,E.A)({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"),Ne=function(pt){(0,l.ZT)(mt,pt);function mt(ct){var Ct=pt.call(this,ct,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:Me(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(zt,De){return"".concat(zt,"/").concat(De)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return Ct.playState="idle",Ct.contentGroup=Ct.appendChild(new U.ZA({class:ee.contentGroup.name})),Ct.playWindow=Ct.contentGroup.appendChild(new U.ZA({class:ee.playWindow.name})),Ct.innerCurrPage=Ct.defaultPage,Ct}return Object.defineProperty(mt.prototype,"defaultPage",{get:function(){var ct=this.attributes.defaultPage;return(0,me.Z)(ct,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"pageShape",{get:function(){var ct=this.pageViews,Ct=(0,l.CR)(pn(ct.map(function(ir){var Kn=ir.getBBox(),qn=Kn.width,gr=Kn.height;return[qn,gr]})).map(function(ir){return Math.max.apply(Math,(0,l.ev)([],(0,l.CR)(ir),!1))}),2),zt=Ct[0],De=Ct[1],Yt=this.attributes,Le=Yt.pageWidth,sn=Le===void 0?zt:Le,Mn=Yt.pageHeight,Nn=Mn===void 0?De:Mn;return{pageWidth:sn,pageHeight:Nn}},enumerable:!1,configurable:!0}),mt.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(mt.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),mt.prototype.getBBox=function(){var ct=pt.prototype.getBBox.call(this),Ct=ct.x,zt=ct.y,De=this.controllerShape,Yt=this.pageShape,Le=Yt.pageWidth,sn=Yt.pageHeight;return new S.b(Ct,zt,Le+De.width,sn)},mt.prototype.goTo=function(ct){var Ct=this,zt=this.attributes.animate,De=this,Yt=De.currPage,Le=De.playState,sn=De.playWindow,Mn=De.pageViews;if(Le!=="idle"||ct<0||Mn.length<=0||ct>=Mn.length)return null;Mn[Yt].setLocalPosition(0,0),this.prepareFollowingPage(ct);var Nn=(0,l.CR)(this.getFollowingPageDiff(ct),2),ir=Nn[0],Kn=Nn[1];this.playState="running";var qn=(0,ye.jt)(sn,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-ir,", ").concat(-Kn,")")}],zt);return(0,ye.Yq)(qn,function(){Ct.innerCurrPage=ct,Ct.playState="idle",Ct.setVisiblePages([ct]),Ct.updatePageInfo()}),qn},mt.prototype.prev=function(){var ct=this.attributes.loop,Ct=this.pageViews.length,zt=this.currPage;if(!ct&&zt<=0)return null;var De=ct?(zt-1+Ct)%Ct:(0,me.Z)(zt-1,0,Ct);return this.goTo(De)},mt.prototype.next=function(){var ct=this.attributes.loop,Ct=this.pageViews.length,zt=this.currPage;if(!ct&&zt>=Ct-1)return null;var De=ct?(zt+1)%Ct:(0,me.Z)(zt+1,0,Ct);return this.goTo(De)},mt.prototype.renderClipPath=function(ct){var Ct=this.pageShape,zt=Ct.pageWidth,De=Ct.pageHeight;if(!zt||!De){this.contentGroup.style.clipPath=void 0;return}this.clipPath=ct.maybeAppendByClassName(ee.clipPath,"rect").styles({width:zt,height:De}),this.contentGroup.attr("clipPath",this.clipPath.node())},mt.prototype.setVisiblePages=function(ct){this.playWindow.children.forEach(function(Ct,zt){ct.includes(zt)?(0,cn.$Z)(Ct):(0,cn.Cp)(Ct)})},mt.prototype.adjustControllerLayout=function(){var ct=this,Ct=ct.prevBtnGroup,zt=ct.nextBtnGroup,De=ct.pageInfoGroup,Yt=this.attributes,Le=Yt.orientation,sn=Yt.controllerPadding,Mn=De.getBBox(),Nn=Mn.width,ir=Mn.height,Kn=(0,l.CR)(Le==="horizontal"?[-180,0]:[-90,90],2),qn=Kn[0],gr=Kn[1];Ct.setLocalEulerAngles(qn),zt.setLocalEulerAngles(gr);var He=Ct.getBBox(),Tn=He.width,or=He.height,En=zt.getBBox(),kr=En.width,_r=En.height,Cr=Math.max(Tn,Nn,kr),br=Le==="horizontal"?{offset:[[0,0],[Tn/2+sn,0],[Tn+Nn+sn*2,0]],textAlign:"start"}:{offset:[[Cr/2,-or-sn],[Cr/2,0],[Cr/2,_r+sn]],textAlign:"center"},ni=(0,l.CR)(br.offset,3),Br=(0,l.CR)(ni[0],2),Wr=Br[0],Pn=Br[1],An=(0,l.CR)(ni[1],2),ie=An[0],ue=An[1],$t=(0,l.CR)(ni[2],2),Ve=$t[0],wn=$t[1],zn=br.textAlign,tr=De.querySelector("text");tr&&(tr.style.textAlign=zn),Ct.setLocalPosition(Wr,Pn),De.setLocalPosition(ie,ue),zt.setLocalPosition(Ve,wn)},mt.prototype.updatePageInfo=function(){var ct,Ct=this,zt=Ct.currPage,De=Ct.pageViews,Yt=Ct.attributes.formatter;De.length<2||((ct=this.pageInfoGroup.querySelector(ee.pageInfo.class))===null||ct===void 0||ct.attr("text",Yt(zt+1,De.length)),this.adjustControllerLayout())},mt.prototype.getFollowingPageDiff=function(ct){var Ct=this.currPage;if(Ct===ct)return[0,0];var zt=this.attributes.orientation,De=this.pageShape,Yt=De.pageWidth,Le=De.pageHeight,sn=ct=2,Kn=ct.maybeAppendByClassName(ee.controller,"g");if((0,cn.WD)(Kn.node(),ir),!!ir){var qn=(0,P.zs)(this.attributes,"button"),gr=(0,P.zs)(this.attributes,"pageNum"),He=(0,l.CR)((0,P.Hm)(qn),2),Tn=He[0],or=He[1],En=Tn.size,kr=(0,l._T)(Tn,["size"]),_r=!Kn.select(ee.prevBtnGroup.class).node(),Cr=Kn.maybeAppendByClassName(ee.prevBtnGroup,"g").styles(or);this.prevBtnGroup=Cr.node();var br=Cr.maybeAppendByClassName(ee.prevBtn,"path");if(Le){var ni=T(ee.prevBtn.name,tt.prevBtn,Le);br.node().setAttribute("class",ni)}var Br=Kn.maybeAppendByClassName(ee.nextBtnGroup,"g").styles(or);this.nextBtnGroup=Br.node();var Wr=Br.maybeAppendByClassName(ee.nextBtn,"path");if(Le){var Pn=T(ee.nextBtn.name,tt.nextBtn,Le);Wr.node().setAttribute("class",Pn)}[br,Wr].forEach(function($t){$t.styles((0,l.pi)((0,l.pi)({},kr),{transformOrigin:"center"})),(0,we.b)($t.node(),En,!0)});var An=Kn.maybeAppendByClassName(ee.pageInfoGroup,"g");this.pageInfoGroup=An.node();var ie=An.maybeAppendByClassName(ee.pageInfo,"text");if(ie.styles(gr),Le){var ue=T(ee.pageInfo.name,tt.pageInfo,Le);ie.node().setAttribute("class",ue)}this.updatePageInfo(),Kn.node().setLocalPosition(Mn+De,Nn/2),_r&&(this.prevBtnGroup.addEventListener("click",function(){Ct.prev()}),this.nextBtnGroup.addEventListener("click",function(){Ct.next()}))}},mt.prototype.render=function(ct,Ct){var zt=ct.x,De=zt===void 0?0:zt,Yt=ct.y,Le=Yt===void 0?0:Yt;this.attr("transform","translate(".concat(De,", ").concat(Le,")"));var sn=(0,m.Ys)(Ct);this.renderClipPath(sn),this.renderController(sn),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},mt.prototype.bindEvents=function(){var ct=this,Ct=(0,an.Z)(function(){return ct.render(ct.attributes,ct)},50);this.playWindow.addEventListener(U.Dk.INSERTED,Ct),this.playWindow.addEventListener(U.Dk.REMOVED,Ct)},mt}(R.w),I=f(71018),rt=f(93785),de=f(71879);function ae(pt){var mt="default";if((0,rt.Z)(pt)&&pt instanceof Image)mt="image";else if((0,I.Z)(pt))mt="symbol";else if((0,de.Z)(pt)){var ct=new RegExp("data:(image|text)");pt.match(ct)?mt="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(pt)?mt="url":mt="symbol"}return mt}function $e(pt){var mt=ae(pt);return["base64","url","image"].includes(mt)?"image":pt&&mt==="symbol"?"path":null}var Ge=function(pt){(0,l.ZT)(mt,pt);function mt(){return pt!==null&&pt.apply(this,arguments)||this}return mt.prototype.render=function(ct,Ct){var zt=ct.x,De=zt===void 0?0:zt,Yt=ct.y,Le=Yt===void 0?0:Yt,sn=this.getSubShapeStyle(ct),Mn=sn.symbol,Nn=sn.size,ir=Nn===void 0?16:Nn,Kn=(0,l._T)(sn,["symbol","size"]),qn=$e(Mn);(0,O.z)(!!qn,(0,m.Ys)(Ct),function(gr){gr.maybeAppendByClassName("marker",qn).attr("className","marker ".concat(qn,"-marker")).call(function(He){if(qn==="image"){var Tn=ir*2;He.styles({img:Mn,width:Tn,height:Tn,x:De-ir,y:Le-ir})}else{var Tn=ir/2,or=(0,I.Z)(Mn)?Mn:mt.getSymbol(Mn);He.styles((0,l.pi)({d:or==null?void 0:or(De,Le,Tn)},Kn))}})})},mt.MARKER_SYMBOL_MAP=new Map,mt.registerSymbol=function(ct,Ct){mt.MARKER_SYMBOL_MAP.set(ct,Ct)},mt.getSymbol=function(ct){return mt.MARKER_SYMBOL_MAP.get(ct)},mt.getSymbols=function(){return Array.from(mt.MARKER_SYMBOL_MAP.keys())},mt}(R.w);Ge.registerSymbol("cross",Je),Ge.registerSymbol("hyphen",Pe),Ge.registerSymbol("line",Re),Ge.registerSymbol("plus",ge),Ge.registerSymbol("tick",rn),Ge.registerSymbol("circle",Ye),Ge.registerSymbol("point",Un),Ge.registerSymbol("bowtie",qe),Ge.registerSymbol("hexagon",tn),Ge.registerSymbol("square",Ze),Ge.registerSymbol("diamond",Ie),Ge.registerSymbol("triangle",xt),Ge.registerSymbol("triangle-down",Jt),Ge.registerSymbol("line",Re),Ge.registerSymbol("dot",Tt),Ge.registerSymbol("dash",yt),Ge.registerSymbol("smooth",fe),Ge.registerSymbol("hv",nn),Ge.registerSymbol("vh",We),Ge.registerSymbol("hvh",le),Ge.registerSymbol("vhv",Ke),Ge.registerSymbol("focus",kt);function Sn(pt,mt,ct){var Ct=Math.round((pt-ct)/mt);return ct+Ct*mt}function Bt(pt,mt,ct){var Ct=1.4,zt=Ct*ct;return[["M",pt-ct,mt-zt],["L",pt+ct,mt-zt],["L",pt+ct,mt+zt],["L",pt-ct,mt+zt],["Z"]]}var et=1.4,Pt=.4;function Xt(pt,mt,ct){var Ct=ct,zt=Ct*et,De=Ct/2,Yt=Ct/6,Le=pt+zt*Pt;return[["M",pt,mt],["L",Le,mt+De],["L",pt+zt,mt+De],["L",pt+zt,mt-De],["L",Le,mt-De],["Z"],["M",Le,mt+Yt],["L",pt+zt-2,mt+Yt],["M",Le,mt-Yt],["L",pt+zt-2,mt-Yt]]}function Lt(pt,mt,ct){var Ct=ct,zt=Ct*et,De=Ct/2,Yt=Ct/6,Le=mt+zt*Pt;return[["M",pt,mt],["L",pt-De,Le],["L",pt-De,mt+zt],["L",pt+De,mt+zt],["L",pt+De,Le],["Z"],["M",pt-Yt,Le],["L",pt-Yt,mt+zt-2],["M",pt+Yt,Le],["L",pt+Yt,mt+zt-2]]}Ge.registerSymbol("hiddenHandle",Bt),Ge.registerSymbol("verticalHandle",Xt),Ge.registerSymbol("horizontalHandle",Lt);var _t=function(pt,mt,ct){return pt===void 0&&(pt="horizontal"),pt==="horizontal"?mt:ct};function Vt(pt,mt,ct,Ct){var zt;Ct===void 0&&(Ct=4);var De=__read(pt,2),Yt=De[0],Le=De[1],sn=__read(mt,2),Mn=sn[0],Nn=sn[1],ir=__read(ct,2),Kn=ir[0],qn=ir[1],gr=__read([Mn,Nn],2),He=gr[0],Tn=gr[1],or=Tn-He;return He>Tn&&(zt=__read([Tn,He],2),He=zt[0],Tn=zt[1]),or>Le-Yt?[Yt,Le]:HeLe?qn===Le&&Kn===He?[He,Le]:[Le-or,Le]:[He,Tn]}function Ee(pt,mt,ct){return pt===void 0&&(pt="horizontal"),pt==="horizontal"?mt:ct}var xe=f(49527),Ae=f(2080),Xe=f(88170),yn=f(53160),fn=f(23343);function Hn(pt,mt){for(var ct in mt)mt.hasOwnProperty(ct)&&ct!=="constructor"&&mt[ct]!==void 0&&(pt[ct]=mt[ct])}function Zn(pt,mt,ct,Ct){return mt&&Hn(pt,mt),ct&&Hn(pt,ct),Ct&&Hn(pt,Ct),pt}var Gn=f(5759);function Mr(pt){return pt instanceof Element||pt instanceof Document}var ur,In="component-poptip",jt={CONTAINER:"component-poptip",ARROW:"component-poptip-arrow",TEXT:"component-poptip-text"},rr=(ur={},ur[".".concat(jt.CONTAINER)]={visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},ur[".".concat(jt.TEXT)]={"text-align":"center"},ur[".".concat(jt.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, -100%)"},ur[".".concat(jt.CONTAINER,"[data-position='left']")]={transform:"translate(-100%, -50%)"},ur[".".concat(jt.CONTAINER,"[data-position='right']")]={transform:"translate(0, -50%)"},ur[".".concat(jt.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 0)"},ur[".".concat(jt.CONTAINER,"[data-position='top-left']")]={transform:"translate(0,-100%)"},ur[".".concat(jt.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%,-100%)"},ur[".".concat(jt.CONTAINER,"[data-position='left-top']")]={transform:"translate(-100%, 0)"},ur[".".concat(jt.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(-100%, -100%)"},ur[".".concat(jt.CONTAINER,"[data-position='right-top']")]={transform:"translate(0, 0)"},ur[".".concat(jt.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(0, -100%)"},ur[".".concat(jt.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 0)"},ur[".".concat(jt.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 0)"},ur[".".concat(jt.ARROW)]={width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},ur[".".concat(jt.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, calc(-100% - 5px))"},ur["[data-position='top'] .".concat(jt.ARROW)]={bottom:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='left']")]={transform:"translate(calc(-100% - 5px), -50%)"},ur["[data-position='left'] .".concat(jt.ARROW)]={right:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='right']")]={transform:"translate(5px, -50%)"},ur["[data-position='right'] .".concat(jt.ARROW)]={left:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 5px)"},ur["[data-position='bottom'] .".concat(jt.ARROW)]={top:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='top-left']")]={transform:"translate(0, calc(-100% - 5px))"},ur["[data-position='top-left'] .".concat(jt.ARROW)]={left:"10px",bottom:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%, calc(-100% - 5px))"},ur["[data-position='top-right'] .".concat(jt.ARROW)]={right:"10px",bottom:"-2px"},ur[".".concat(jt.CONTAINER,"[data-position='left-top']")]={transform:"translate(calc(-100% - 5px), 0)"},ur["[data-position='left-top'] .".concat(jt.ARROW)]={right:"-2px",top:"8px"},ur[".".concat(jt.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(calc(-100% - 5px), -100%)"},ur["[data-position='left-bottom'] .".concat(jt.ARROW)]={right:"-2px",bottom:"8px"},ur[".".concat(jt.CONTAINER,"[data-position='right-top']")]={transform:"translate(5px, 0)"},ur["[data-position='right-top'] .".concat(jt.ARROW)]={left:"-2px",top:"8px"},ur[".".concat(jt.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(5px, -100%)"},ur["[data-position='right-bottom'] .".concat(jt.ARROW)]={left:"-2px",bottom:"8px"},ur[".".concat(jt.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 5px)"},ur["[data-position='bottom-left'] .".concat(jt.ARROW)]={top:"-2px",left:"8px"},ur[".".concat(jt.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 5px)"},ur["[data-position='bottom-right'] .".concat(jt.ARROW)]={top:"-2px",right:"8px"},ur),cr=void 0;function Ue(pt,mt,ct,Ct,zt,De){if(zt===void 0&&(zt=!1),De===void 0&&(De=!1),De)return[pt,mt];var Yt=ct.getBoundingClientRect(),Le=Yt.x,sn=Yt.y,Mn=Yt.width,Nn=Yt.height;switch(Ct){case"top":return zt?[Le+Mn/2,sn]:[pt,sn];case"left":return zt?[Le,sn+Nn/2]:[Le,mt];case"bottom":return zt?[Le+Mn/2,sn+Nn]:[pt,sn+Nn];case"right":return zt?[Le+Mn,sn+Nn/2]:[Le+Mn,mt];case"top-right":case"right-top":return[Le+Mn,sn];case"left-bottom":case"bottom-left":return[Le,sn+Nn];case"right-bottom":case"bottom-right":return[Le+Mn,sn+Nn];case"top-left":case"left-top":default:return[Le,sn]}}var be=function(pt){var mt;return function(){for(var ct=[],Ct=0;Ct');ct.innerHTML=Le,(0,de.Z)(De)?ct.innerHTML+=De:De&&Mr(De)&&ct.appendChild(De),Yt&&(ct.getElementsByClassName(jt.TEXT)[0].textContent=Yt),this.applyStyles(),this.container.style.visibility=this.visibility},mt.prototype.applyStyles=function(){var ct=(0,Fe.n)({},rr,this.style.domStyles),Ct=Object.entries(ct).reduce(function(De,Yt){var Le=(0,l.CR)(Yt,2),sn=Le[0],Mn=Le[1],Nn=Object.entries(Mn).reduce(function(ir,Kn){var qn=(0,l.CR)(Kn,2),gr=qn[0],He=qn[1];return"".concat(ir).concat(gr,": ").concat(He,";")},"");return"".concat(De).concat(sn,"{").concat(Nn,"}")},"");if(this.domStyles!==Ct){this.domStyles=Ct;var zt=this.container.querySelector("style");zt&&this.container.removeChild(zt),zt=document.createElement("style"),zt.innerHTML=Ct,this.container.appendChild(zt)}},mt.prototype.setOffsetPosition=function(ct,Ct,zt){zt===void 0&&(zt=this.style.offset);var De=(0,l.CR)(zt,2),Yt=De[0],Le=Yt===void 0?0:Yt,sn=De[1],Mn=sn===void 0?0:sn;this.container.style.left="".concat(ct+Le,"px"),this.container.style.top="".concat(Ct+Mn,"px")},mt.tag="poptip",mt.defaultOptions={style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:rr,template:'
    ')}},mt}(R.w),he=(0,E.A)({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",focusGroup:"focus-group",focus:"focus",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item"),Oe={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};function Be(pt){var mt=pt.querySelector(he.marker.class);return mt?mt.style:{}}var gn=function(pt){(0,l.ZT)(mt,pt);function mt(ct,Ct){var zt=pt.call(this,ct,{span:[1,1],marker:function(){return new U.Cd({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this;return zt.keyFields={},zt.keyFields=Ct||{},zt}return Object.defineProperty(mt.prototype,"showValue",{get:function(){var ct=this.attributes.valueText;return ct?typeof ct=="string"||typeof ct=="number"?ct!=="":typeof ct=="function"?!0:ct.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"actualSpace",{get:function(){var ct=this.labelGroup,Ct=this.valueGroup,zt=this.attributes,De=zt.markerSize,Yt=zt.focus,Le=zt.focusMarkerSize,sn=ct.node().getBBox(),Mn=sn.width,Nn=sn.height,ir=Ct.node().getBBox(),Kn=ir.width,qn=ir.height,gr=Yt?Le!=null?Le:12:0;return{markerWidth:De,labelWidth:Mn,valueWidth:Kn,focusWidth:gr,height:Math.max(De,Nn,qn)}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"span",{get:function(){var ct=this.attributes.span;if(!ct)return[1,1];var Ct=(0,l.CR)((0,Q.j)(ct),2),zt=Ct[0],De=Ct[1],Yt=this.showValue?De:0,Le=zt+Yt;return[zt/Le,Yt/Le]},enumerable:!1,configurable:!0}),mt.prototype.setAttribute=function(ct,Ct){pt.prototype.setAttribute.call(this,ct,Ct)},Object.defineProperty(mt.prototype,"shape",{get:function(){var ct,Ct=this.attributes,zt=Ct.markerSize,De=Ct.width,Yt=this.actualSpace,Le=Yt.markerWidth,sn=Yt.focusWidth,Mn=Yt.height,Nn=this.actualSpace,ir=Nn.labelWidth,Kn=Nn.valueWidth,qn=(0,l.CR)(this.spacing,3),gr=qn[0],He=qn[1],Tn=qn[2];if(De){var or=De-zt-gr-He-sn-Tn,En=(0,l.CR)(this.span,2),kr=En[0],_r=En[1];ct=(0,l.CR)([kr*or,_r*or],2),ir=ct[0],Kn=ct[1]}var Cr=Le+ir+Kn+gr+He+sn+Tn;return{width:Cr,height:Mn,markerWidth:Le,labelWidth:ir,valueWidth:Kn,focusWidth:sn}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"spacing",{get:function(){var ct=this.attributes,Ct=ct.spacing,zt=ct.focus;if(!Ct)return[0,0,0];var De=(0,l.CR)((0,Q.j)(Ct),3),Yt=De[0],Le=De[1],sn=De[2];return[Yt,this.showValue?Le:0,zt?sn:0]},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"layout",{get:function(){var ct=this.shape,Ct=ct.markerWidth,zt=ct.labelWidth,De=ct.valueWidth,Yt=ct.focusWidth,Le=ct.width,sn=ct.height,Mn=(0,l.CR)(this.spacing,3),Nn=Mn[0],ir=Mn[1],Kn=Mn[2];return{height:sn,width:Le,markerWidth:Ct,labelWidth:zt,valueWidth:De,focusWidth:Yt,position:[Ct/2,Ct+Nn,Ct+zt+Nn+ir,Ct+zt+De+Nn+ir+Kn+Yt/2]}},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"scaleSize",{get:function(){var ct=Be(this.markerGroup.node()),Ct=this.attributes,zt=Ct.markerSize,De=Ct.markerStrokeWidth,Yt=De===void 0?ct.strokeWidth:De,Le=Ct.markerLineWidth,sn=Le===void 0?ct.lineWidth:Le,Mn=Ct.markerStroke,Nn=Mn===void 0?ct.stroke:Mn,ir=+(Yt||sn||(Nn?1:0))*Math.sqrt(2),Kn=this.markerGroup.node().getBBox(),qn=Kn.width,gr=Kn.height;return(1-ir/Math.max(qn,gr))*zt},enumerable:!1,configurable:!0}),mt.prototype.renderMarker=function(ct){var Ct=this,zt=this.attributes,De=zt.marker,Yt=zt.classNamePrefix,Le=(0,P.zs)(this.attributes,"marker");this.markerGroup=ct.maybeAppendByClassName(he.markerGroup,"g").style("zIndex",0),(0,O.z)(!!De,this.markerGroup,function(){var sn,Mn=Ct.markerGroup.node(),Nn=(sn=Mn.childNodes)===null||sn===void 0?void 0:sn[0],ir=T(he.marker.name,tt.marker,Yt),Kn=typeof De=="string"?new Ge({style:{symbol:De},className:ir}):De();if(Nn)if(Kn.nodeName===Nn.nodeName)Nn instanceof Ge?Nn.update((0,l.pi)((0,l.pi)({},Le),{symbol:De})):((0,Ae.DM)(Nn,Kn),(0,m.Ys)(Nn).styles(Le));else{if(Nn.remove(),!(Kn instanceof Ge)){var gr=T(he.marker.name,tt.marker,Yt);Kn.className=gr}(0,m.Ys)(Kn).styles(Le),Mn.appendChild(Kn)}else{if(!(Kn instanceof Ge)){var qn=T(he.marker.name,tt.marker,Yt);Kn.className=qn,(0,m.Ys)(Kn).styles(Le)}Mn.appendChild(Kn)}Ct.markerGroup.node().scale(1/Ct.markerGroup.node().getScale()[0]);var He=(0,we.b)(Ct.markerGroup.node(),Ct.scaleSize,!0);Ct.markerGroup.node().style._transform="scale(".concat(He,")")})},mt.prototype.renderLabel=function(ct){var Ct=(0,P.zs)(this.attributes,"label"),zt=Ct.text,De=(0,l._T)(Ct,["text"]),Yt=this.attributes.classNamePrefix;this.labelGroup=ct.maybeAppendByClassName(he.labelGroup,"g").style("zIndex",0);var Le=T(he.label.name,tt.label,Yt),sn=this.labelGroup.maybeAppendByClassName(he.label,function(){return(0,Xe.S)(zt)});sn.node().setAttribute("class",Le),sn.styles(De)},mt.prototype.renderValue=function(ct){var Ct=this,zt=(0,P.zs)(this.attributes,"value"),De=zt.text,Yt=(0,l._T)(zt,["text"]),Le=this.attributes.classNamePrefix;this.valueGroup=ct.maybeAppendByClassName(he.valueGroup,"g").style("zIndex",0),(0,O.z)(this.showValue,this.valueGroup,function(){var sn=T(he.value.name,tt.value,Le),Mn=Ct.valueGroup.maybeAppendByClassName(he.value,function(){return(0,Xe.S)(De)});Mn.node().setAttribute("class",sn),Mn.styles(Yt)})},mt.prototype.createPoptip=function(){var ct=this.attributes.poptip,Ct=ct||{},zt=Ct.render,De=(0,l._T)(Ct,["render"]),Yt=new Rt({style:(0,Fe.n)(Oe,De)});return this.poptipGroup=Yt,Yt},mt.prototype.bindPoptip=function(ct){var Ct=this,zt=this.attributes.poptip;if(zt){var De=this.poptipGroup||this.createPoptip();De.bind(ct,function(){var Yt=Ct.attributes,Le=Yt.labelText,sn=Yt.valueText,Mn=Yt.markerFill,Nn=typeof Le=="string"?Le:Le==null?void 0:Le.attr("text"),ir=typeof sn=="string"?sn:sn==null?void 0:sn.attr("text");if(typeof zt.render=="function")return{html:zt.render((0,l.pi)((0,l.pi)({},Ct.keyFields),{label:Nn,value:ir,color:Mn}))};var Kn="";return(typeof Nn=="string"||typeof Nn=="number")&&(Kn+='
    '.concat(Nn,"
    ")),(typeof ir=="string"||typeof ir=="number")&&(Kn+='
    '.concat(ir,"
    ")),{html:Kn}})}},mt.prototype.renderFocus=function(ct){var Ct=this,zt=this.attributes,De=zt.focus,Yt=zt.focusMarkerSize,Le=zt.classNamePrefix,sn={x:0,y:0,size:Yt,opacity:.6,symbol:"focus",stroke:"#aaaaaa",lineWidth:1};(0,xe.Z)(De)||(this.focusGroup=ct.maybeAppendByClassName(he.focusGroup,"g").style("zIndex",0),(0,O.z)(De,this.focusGroup,function(){var Mn=T(he.focus.name,tt.focusIcon,Le),Nn=new Ge({style:(0,l.pi)((0,l.pi)({},sn),{symbol:"focus"}),className:Mn}),ir=new U.Cd({style:{r:sn.size/2,fill:"transparent"}}),Kn=Ct.focusGroup.node();Kn.appendChild(ir),Kn.appendChild(Nn),Nn.update({opacity:0}),ct.node().addEventListener("pointerenter",function(){Nn.update({opacity:1})}),ct.node().addEventListener("pointerleave",function(){Nn.update({opacity:0})})}))},mt.prototype.renderPoptip=function(ct){var Ct=this,zt=this.attributes.poptip;if(zt){var De=ct.maybeAppendByClassName(he.value,"g").node(),Yt=ct.maybeAppendByClassName(he.label,"g").node();[De,Yt].forEach(function(Le){Le&&Ct.bindPoptip(Le)})}},mt.prototype.renderBackground=function(ct){var Ct=this.shape,zt=Ct.width,De=Ct.height,Yt=(0,P.zs)(this.attributes,"background");this.background=ct.maybeAppendByClassName(he.backgroundGroup,"g").style("zIndex",-1);var Le=this.background.maybeAppendByClassName(he.background,"rect");Le.styles((0,l.pi)({width:zt,height:De},Yt));var sn=this.attributes.classNamePrefix,Mn=sn===void 0?"":sn;if(Mn){var Nn=T(he.background.name,tt.background,Mn);Le.node().setAttribute("class",Nn)}},mt.prototype.adjustLayout=function(){var ct=this.layout,Ct=ct.labelWidth,zt=ct.valueWidth,De=ct.height,Yt=(0,l.CR)(ct.position,4),Le=Yt[0],sn=Yt[1],Mn=Yt[2],Nn=Yt[3],ir=De/2;this.markerGroup.styles({transform:"translate(".concat(Le,", ").concat(ir,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(sn,", ").concat(ir,")")}),this.focusGroup&&this.focusGroup.styles({transform:"translate(".concat(Nn,", ").concat(ir,")")}),(0,yn.O)(this.labelGroup.select(he.label.class).node(),Math.ceil(Ct)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(Mn,", ").concat(ir,")")}),(0,yn.O)(this.valueGroup.select(he.value.class).node(),Math.ceil(zt)))},mt.prototype.render=function(ct,Ct){var zt=(0,m.Ys)(Ct),De=ct.x,Yt=De===void 0?0:De,Le=ct.y,sn=Le===void 0?0:Le;zt.styles({transform:"translate(".concat(Yt,", ").concat(sn,")")}),this.renderMarker(zt),this.renderLabel(zt),this.renderValue(zt),this.renderBackground(zt),this.renderPoptip(zt),this.renderFocus(zt),this.adjustLayout()},mt}(R.w),mn=(0,E.A)({page:"item-page",navigator:"navigator",item:"item"},"items"),$n=function(pt,mt,ct){return ct===void 0&&(ct=!0),pt?mt(pt):ct},Yn=function(pt){(0,l.ZT)(mt,pt);function mt(ct){var Ct=pt.call(this,ct,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:ht,mouseenter:ht,mouseleave:ht})||this;return Ct.navigatorShape=[0,0],Ct}return Object.defineProperty(mt.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"grid",{get:function(){var ct=this.attributes,Ct=ct.gridRow,zt=ct.gridCol,De=ct.data;if(!Ct&&!zt)throw new Error("gridRow and gridCol can not be set null at the same time");return Ct&&zt?[Ct,zt]:Ct?[Ct,De.length]:[De.length,zt]},enumerable:!1,configurable:!0}),Object.defineProperty(mt.prototype,"renderData",{get:function(){var ct=this.attributes,Ct=ct.data,zt=ct.layout,De=ct.poptip,Yt=ct.focus,Le=ct.focusMarkerSize,sn=ct.classNamePrefix,Mn=(0,P.zs)(this.attributes,"item"),Nn=Ct.map(function(ir,Kn){var qn=ir.id,gr=qn===void 0?Kn:qn,He=ir.label,Tn=ir.value;return{id:"".concat(gr),index:Kn,style:(0,l.pi)({layout:zt,labelText:He,valueText:Tn,poptip:De,focus:Yt,focusMarkerSize:Le,classNamePrefix:sn},Object.fromEntries(Object.entries(Mn).map(function(or){var En=(0,l.CR)(or,2),kr=En[0],_r=En[1];return[kr,(0,Gt.S)(_r,[ir,Kn,Ct])]})))}});return Nn},enumerable:!1,configurable:!0}),mt.prototype.getGridLayout=function(){var ct=this,Ct=this.attributes,zt=Ct.orientation,De=Ct.width,Yt=Ct.rowPadding,Le=Ct.colPadding,sn=(0,l.CR)(this.navigatorShape,1),Mn=sn[0],Nn=(0,l.CR)(this.grid,2),ir=Nn[0],Kn=Nn[1],qn=Kn*ir,gr=0;return this.pageViews.children.map(function(He,Tn){var or,En,kr=Math.floor(Tn/qn),_r=Tn%qn,Cr=ct.ifHorizontal(Kn,ir),br=[Math.floor(_r/Cr),_r%Cr];zt==="vertical"&&br.reverse();var ni=(0,l.CR)(br,2),Br=ni[0],Wr=ni[1],Pn=(De-Mn-(Kn-1)*Le)/Kn,An=He.getBBox().height,ie=(0,l.CR)([0,0],2),ue=ie[0],$t=ie[1];return zt==="horizontal"?(or=(0,l.CR)([gr,Br*(An+Yt)],2),ue=or[0],$t=or[1],gr=Wr===Kn-1?0:gr+Pn+Le):(En=(0,l.CR)([Wr*(Pn+Le),gr],2),ue=En[0],$t=En[1],gr=Br===ir-1?0:gr+An+Yt),{page:kr,index:Tn,row:Br,col:Wr,pageIndex:_r,width:Pn,height:An,x:ue,y:$t}})},mt.prototype.getFlexLayout=function(){var ct=this.attributes,Ct=ct.width,zt=ct.height,De=ct.rowPadding,Yt=ct.colPadding,Le=(0,l.CR)(this.navigatorShape,1),sn=Le[0],Mn=(0,l.CR)(this.grid,2),Nn=Mn[0],ir=Mn[1],Kn=(0,l.CR)([Ct-sn,zt],2),qn=Kn[0],gr=Kn[1],He=(0,l.CR)([0,0,0,0,0,0,0,0],8),Tn=He[0],or=He[1],En=He[2],kr=He[3],_r=He[4],Cr=He[5],br=He[6],ni=He[7];return this.pageViews.children.map(function(Br,Wr){var Pn,An,ie,ue,$t=Br.getBBox(),Ve=$t.width,wn=$t.height,zn=br===0?0:Yt,tr=br+zn+Ve;if(tr<=qn&&$n(_r,function(Or){return Or0?(this.navigatorShape=[55,0],ct.call(this)):Ct},enumerable:!1,configurable:!0}),mt.prototype.ifHorizontal=function(ct,Ct){var zt=this.attributes.orientation;return Ee(zt,ct,Ct)},mt.prototype.flattenPage=function(ct){ct.querySelectorAll(mn.item.class).forEach(function(Ct){ct.appendChild(Ct)}),ct.querySelectorAll(mn.page.class).forEach(function(Ct){var zt=ct.removeChild(Ct);zt.destroy()})},mt.prototype.renderItems=function(ct){var Ct=this.attributes,zt=Ct.click,De=Ct.mouseenter,Yt=Ct.mouseleave,Le=Ct.classNamePrefix;this.flattenPage(ct);var sn=this.dispatchCustomEvent.bind(this),Mn=T(mn.item.name,tt.item,Le);(0,m.Ys)(ct).selectAll(mn.item.class).data(this.renderData,function(Nn){return Nn.id}).join(function(Nn){return Nn.append(function(ir){var Kn=ir.style,qn=(0,l._T)(ir,["style"]);return new gn({style:Kn},qn)}).attr("className",Mn).on("click",function(){zt==null||zt(this),sn("itemClick",{item:this})}).on("pointerenter",function(){De==null||De(this),sn("itemMouseenter",{item:this})}).on("pointerleave",function(){Yt==null||Yt(this),sn("itemMouseleave",{item:this})})},function(Nn){return Nn.each(function(ir){var Kn=ir.style;this.update(Kn)})},function(Nn){return Nn.remove()})},mt.prototype.relayoutNavigator=function(){var ct,Ct=this.attributes,zt=Ct.layout,De=Ct.width,Yt=((ct=this.pageViews.children[0])===null||ct===void 0?void 0:ct.getBBox().height)||0,Le=(0,l.CR)(this.navigatorShape,2),sn=Le[0],Mn=Le[1];this.navigator.update(zt==="grid"?{pageWidth:De-sn,pageHeight:Yt-Mn}:{})},mt.prototype.adjustLayout=function(){var ct=this,Ct=Object.entries(Kt(this.itemsLayout,"page")).map(function(De){var Yt=(0,l.CR)(De,2),Le=Yt[0],sn=Yt[1];return{page:Le,layouts:sn}}),zt=(0,l.ev)([],(0,l.CR)(this.navigator.getContainer().children),!1);Ct.forEach(function(De){var Yt=De.layouts,Le=ct.pageViews.appendChild(new U.ZA({className:mn.page.name}));Yt.forEach(function(sn){var Mn=sn.x,Nn=sn.y,ir=sn.index,Kn=sn.width,qn=sn.height,gr=zt[ir];Le.appendChild(gr),(0,Dt.Z)(gr,"__layout__",sn),gr.update({x:Mn,y:Nn,width:Kn,height:qn})})}),this.relayoutNavigator()},mt.prototype.renderNavigator=function(ct){var Ct=this.attributes,zt=Ct.orientation,De=Ct.classNamePrefix,Yt=(0,P.zs)(this.attributes,"nav"),Le=(0,Fe.n)({orientation:zt,classNamePrefix:De},Yt),sn=this;return ct.selectAll(mn.navigator.class).data(["nav"]).join(function(Mn){return Mn.append(function(){return new Ne({style:Le})}).attr("className",mn.navigator.name).each(function(){sn.navigator=this})},function(Mn){return Mn.each(function(){this.update(Le)})},function(Mn){return Mn.remove()}),this.navigator},mt.prototype.getBBox=function(){return this.navigator.getBBox()},mt.prototype.render=function(ct,Ct){var zt=this.attributes.data;if(!(!zt||zt.length===0)){var De=this.renderNavigator((0,m.Ys)(Ct));this.renderItems(De.getContainer()),this.adjustLayout()}},mt.prototype.dispatchCustomEvent=function(ct,Ct){var zt=new U.Aw(ct,{detail:Ct});this.dispatchEvent(zt)},mt}(R.w),ot=(0,E.A)({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),x={showLabel:!0,formatter:function(pt){return pt.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},M=function(pt){(0,l.ZT)(mt,pt);function mt(ct){return pt.call(this,ct,x)||this}return mt.prototype.render=function(ct,Ct){var zt=(0,m.Ys)(Ct).maybeAppendByClassName(ot.markerGroup,"g");this.renderMarker(zt);var De=(0,m.Ys)(Ct).maybeAppendByClassName(ot.labelGroup,"g");this.renderLabel(De)},mt.prototype.renderMarker=function(ct){var Ct=this,zt=this.attributes,De=zt.orientation,Yt=zt.classNamePrefix,Le=zt.markerSymbol,sn=Le===void 0?Ee(De,"horizontalHandle","verticalHandle"):Le;(0,O.z)(!!sn,ct,function(Mn){var Nn=(0,P.zs)(Ct.attributes,"marker"),ir=(0,l.pi)({symbol:sn},Nn),Kn=T(ot.marker.name,tt.handleMarker,Yt);if(Ct.marker=Mn.maybeAppendByClassName(ot.marker,function(){return new Ge({style:ir,className:Kn})}).update(ir),Yt){var qn=Ct.marker.node().querySelector(".marker");if(qn){var gr=qn.getAttribute("class")||"",He=gr.split(" ")[0],Tn=T(He,tt.handleMarker,Yt);qn.setAttribute("class",Tn)}}})},mt.prototype.renderLabel=function(ct){var Ct=this,zt=this.attributes,De=zt.showLabel,Yt=zt.orientation,Le=zt.spacing,sn=Le===void 0?0:Le,Mn=zt.formatter,Nn=zt.classNamePrefix;(0,O.z)(De,ct,function(ir){var Kn,qn=(0,P.zs)(Ct.attributes,"label"),gr=qn.text,He=(0,l._T)(qn,["text"]),Tn=((Kn=ir.select(ot.marker.class))===null||Kn===void 0?void 0:Kn.node().getBBox())||{},or=Tn.width,En=or===void 0?0:or,kr=Tn.height,_r=kr===void 0?0:kr,Cr=(0,l.CR)(Ee(Yt,[0,_r+sn,"center","top"],[En+sn,0,"start","middle"]),4),br=Cr[0],ni=Cr[1],Br=Cr[2],Wr=Cr[3],Pn=T(ot.label.name,tt.handleLabel,Nn);ir.maybeAppendByClassName(ot.label,"text").attr("className",Pn).styles((0,l.pi)((0,l.pi)({},He),{x:br,y:ni,text:Mn(gr).toString(),textAlign:Br,textBaseline:Wr}))})},mt}(R.w),y={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},D=(0,Fe.n)({},y,{}),z=(0,Fe.n)({},y,(0,P.dq)(x,"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"}),Nt=.01,Qt=.5,qt=(0,E.A)({title:"title",html:"html",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"),ne=function(pt){(0,l.ZT)(mt,pt);function mt(){return pt!==null&&pt.apply(this,arguments)||this}return mt.prototype.update=function(ct){this.attr(ct)},mt}(U.k9),un=function(pt){(0,l.ZT)(mt,pt);function mt(ct){return pt.call(this,ct,D)||this}return mt.prototype.renderTitle=function(ct,Ct,zt){var De=this.attributes,Yt=De.showTitle,Le=De.titleText,sn=De.classNamePrefix,Mn=(0,P.zs)(this.attributes,"title"),Nn=(0,l.CR)((0,P.Hm)(Mn),2),ir=Nn[0],Kn=Nn[1];this.titleGroup=ct.maybeAppendByClassName(qt.titleGroup,"g").styles(Kn);var qn=(0,l.pi)((0,l.pi)({width:Ct,height:zt},ir),{text:Yt?Le:"",classNamePrefix:sn});this.title=this.titleGroup.maybeAppendByClassName(qt.title,function(){return new Mt({style:qn})}).update(qn)},mt.prototype.renderCustom=function(ct){var Ct=this.attributes.data,zt={innerHTML:this.attributes.render(Ct),pointerEvents:"auto"};ct.maybeAppendByClassName(qt.html,function(){return new ne({className:qt.html.name,style:zt})}).update(zt)},mt.prototype.renderItems=function(ct,Ct){var zt=Ct.x,De=Ct.y,Yt=Ct.width,Le=Ct.height,sn=(0,P.zs)(this.attributes,"title",!0),Mn=(0,l.CR)((0,P.Hm)(sn),2),Nn=Mn[0],ir=Mn[1],Kn=(0,l.pi)((0,l.pi)({},Nn),{width:Yt,height:Le,x:0,y:0});this.itemsGroup=ct.maybeAppendByClassName(qt.itemsGroup,"g").styles((0,l.pi)((0,l.pi)({},ir),{transform:"translate(".concat(zt,", ").concat(De,")")}));var qn=this;this.itemsGroup.selectAll(qt.items.class).data(["items"]).join(function(gr){return gr.append(function(){return new Yn({style:Kn})}).attr("className",qt.items.name).each(function(){qn.items=(0,m.Ys)(this)})},function(gr){return gr.update(Kn)},function(gr){return gr.remove()})},mt.prototype.adjustLayout=function(){var ct=this.attributes.showTitle;if(ct){var Ct=this.title.node().getAvailableSpace(),zt=Ct.x,De=Ct.y;this.itemsGroup.node().style.transform="translate(".concat(zt,", ").concat(De,")")}},Object.defineProperty(mt.prototype,"availableSpace",{get:function(){var ct=this.attributes,Ct=ct.showTitle,zt=ct.width,De=ct.height;return Ct?this.title.node().getAvailableSpace():new S.b(0,0,zt,De)},enumerable:!1,configurable:!0}),mt.prototype.getBBox=function(){var ct,Ct,zt=(ct=this.title)===null||ct===void 0?void 0:ct.node(),De=(Ct=this.items)===null||Ct===void 0?void 0:Ct.node();return!zt||!De?pt.prototype.getBBox.call(this):vt(zt,De)},mt.prototype.render=function(ct,Ct){var zt=this.attributes,De=zt.width,Yt=zt.height,Le=zt.x,sn=Le===void 0?0:Le,Mn=zt.y,Nn=Mn===void 0?0:Mn,ir=zt.classNamePrefix,Kn=zt.render,qn=(0,m.Ys)(Ct),gr=Ct.className||"legend-category";ir?Ct.attr("className","".concat(gr," ").concat(ir,"legend")):Ct.className||Ct.attr("className","legend-category"),Ct.style.transform="translate(".concat(sn,", ").concat(Nn,")"),Kn?this.renderCustom(qn):(this.renderTitle(qn,De,Yt),this.renderItems(qn,this.availableSpace),this.adjustLayout())},mt}(R.w)},91498:function(gt,dt,f){"use strict";f.d(dt,{s:function(){return bi}});var l=f(80813),R=f(70208),U=f(97304),P=f(66623),m=f(99247),S=f(17911),E=f(88839),F=null,Q=null;function O(V){return V instanceof Date?V:new Date(V)}function T(V){for(var K=__read(V,2),k=K[0],_=K[1],Y=F.indexOf(k),at=F.indexOf(_),ft="",ut=Y;ut<=at;ut+=1)if(ft+=Q[ut],ut2&&(wt=":"),ft+=wt}return ft}function Z(V,K){var k={YYYY:V.getFullYear(),MM:V.getMonth()+1,DD:V.getDate(),HH:V.getHours(),mm:V.getMinutes(),ss:V.getSeconds()},_=K;return Object.keys(k).forEach(function(Y){var at=k[Y];_=_.replace(Y,Y==="YYYY"?"".concat(at):"".concat(at).padStart(2,"0"))}),_}function tt(V,K){return O(V).getTime()-O(K).getTime()}function W(V,K){var k=__read([O(V),O(K)],2),_=k[0],Y=k[1];return _.getFullYear()!==Y.getFullYear()?"year":_.getMonth()!==Y.getMonth()?"month":_.getDay()!==Y.getDay()?"day":_.getHours()!==Y.getHours()?"hour":_.getMinutes()!==Y.getMinutes()?"minute":"second"}function vt(V,K){var k=new Date(V),_={year:function(Y){Y.setMonth(0),Y.setHours(0,0,0,0)},month:function(Y){Y.setDate(1),Y.setHours(0,0,0,0)},day:function(Y){return Y.setHours(0,0,0,0)},hour:function(Y){return Y.setMinutes(0,0,0)},minute:function(Y){return Y.setSeconds(0,0)},second:function(Y){return Y.setMilliseconds(0)}};return _[K](k),Z(k,T(["year",K]))}var st=f(86314),X=f(67756);function Mt(V,K){if(V.length<=K)return V;for(var k=Math.floor(V.length/K),_=[],Y=0;Y180?1:0,ai=V>K?0:1,yi=!1;return yi?"M".concat(k,",").concat(_,",L").concat(Bn,",").concat(Vn,",A").concat(ut,",").concat(wt,",0,").concat(zr,",").concat(ai,",").concat(sr,",").concat(Ar,",L").concat(k,",").concat(_):"M".concat(Bn,",").concat(Vn,",A").concat(ut,",").concat(wt,",0,").concat(zr,",").concat(ai,",").concat(sr,",").concat(Ar)}function In(V){var K=V.attributes,k=K.startAngle,_=K.endAngle,Y=K.center,at=K.radius;return(0,l.ev)((0,l.ev)([k,_],(0,l.CR)(Y),!1),[at],!1)}function jt(V,K,k,_){var Y=K.startAngle,at=K.endAngle,ft=K.center,ut=K.radius,wt=K.classNamePrefix;return V.selectAll(ye.line.class).data([{d:ur.apply(void 0,(0,l.ev)((0,l.ev)([Y,at],(0,l.CR)(ft),!1),[ut],!1))}],function(Zt,Ce){return Ce}).join(function(Zt){var Ce=Zt.append("path").attr("className",ye.line.name).styles(K).styles({d:function(Te){return Te.d}});return Xe(Ce,ye.line,Kt.line,wt),Ce},function(Zt){return Zt.transition(function(){var Ce=this,Te=$e(this,In(this),(0,l.ev)((0,l.ev)([Y,at],(0,l.CR)(ft),!1),[ut],!1),_.update);if(Te){var je=function(){var on=(0,Ne.Z)(Ce.attributes,"__keyframe_data__");Ce.style.d=ur.apply(void 0,(0,l.ev)([],(0,l.CR)(on),!1))};Te.onframe=je,Te.onfinish=je}return Te}).styles(K)},function(Zt){return Zt.remove()}).styles(k).transitions()}function rr(V,K){var k=K.truncRange,_=K.truncShape,Y=K.lineExtension}function cr(V,K,k){k===void 0&&(k=[0,0]);var _=(0,l.CR)([V,K,k],3),Y=(0,l.CR)(_[0],2),at=Y[0],ft=Y[1],ut=(0,l.CR)(_[1],2),wt=ut[0],Zt=ut[1],Ce=(0,l.CR)(_[2],2),Te=Ce[0],je=Ce[1],on=(0,l.CR)([wt-at,Zt-ft],2),Bn=on[0],Vn=on[1],Rn=Math.sqrt(Math.pow(Bn,2)+Math.pow(Vn,2)),sr=(0,l.CR)([-Te/Rn,je/Rn],2),Ar=sr[0],dr=sr[1];return[Ar*Bn,Ar*Vn,dr*Bn,dr*Vn]}function Ue(V){var K=(0,l.CR)(V,2),k=(0,l.CR)(K[0],2),_=k[0],Y=k[1],at=(0,l.CR)(K[1],2),ft=at[0],ut=at[1];return{x1:_,y1:Y,x2:ft,y2:ut}}function be(V,K,k,_){var Y=K.showTrunc,at=K.startPos,ft=K.endPos,ut=K.truncRange,wt=K.lineExtension,Zt=K.classNamePrefix,Ce=(0,l.CR)([at,ft],2),Te=(0,l.CR)(Ce[0],2),je=Te[0],on=Te[1],Bn=(0,l.CR)(Ce[1],2),Vn=Bn[0],Rn=Bn[1],sr=(0,l.CR)(wt?cr(at,ft,wt):new Array(4).fill(0),4),Ar=sr[0],dr=sr[1],Er=sr[2],Ur=sr[3],Qr=function(Yi){return V.selectAll(ye.line.class).data(Yi,function(Qi,ma){return ma}).join(function(Qi){var ma=Qi.append("line").styles(k).transition(function(ki){return(0,st.eR)(this,Ue(ki.line),!1)});return ma.attr("className",function(ki){if(!Zt)return"".concat(ye.line.name," ").concat(ki.className);var _i=xe(ye.line.name,Kt.line,Zt);if(ki.className===ye.lineFirst.name){var Ma=xe(ye.lineFirst.name,Kt.lineFirst,Zt);return"".concat(_i," ").concat(Ma)}if(ki.className===ye.lineSecond.name){var Ma=xe(ye.lineSecond.name,Kt.lineSecond,Zt);return"".concat(_i," ").concat(Ma)}return _i}),ma},function(Qi){return Qi.styles(k).transition(function(ma){var ki=ma.line;return(0,st.eR)(this,Ue(ki),_.update)})},function(Qi){return Qi.remove()}).transitions()};if(!Y||!ut)return Qr([{line:[[je+Ar,on+dr],[Vn+Er,Rn+Ur]],className:ye.line.name}]);var zr=(0,l.CR)(ut,2),ai=zr[0],yi=zr[1],ji=Vn-je,$i=Rn-on,Fi=(0,l.CR)([je+ji*ai,on+$i*ai],2),Ai=Fi[0],xi=Fi[1],vi=(0,l.CR)([je+ji*yi,on+$i*yi],2),Oi=vi[0],va=vi[1],li=Qr([{line:[[je+Ar,on+dr],[Ai,xi]],className:ye.lineFirst.name},{line:[[Oi,va],[Vn+Er,Rn+Ur]],className:ye.lineSecond.name}]);return rr(V,K),li}function ve(V,K,k,_){var Y=k.showArrow,at=k.showTrunc,ft=k.lineArrow,ut=k.lineArrowOffset,wt=k.lineArrowSize,Zt;if(K==="arc"?Zt=V.select(ye.line.class):at?Zt=V.select(ye.lineSecond.class):Zt=V.select(ye.line.class),!Y||!ft||k.type==="arc"&&Mr(k.startAngle,k.endAngle)){var Ce=Zt.node();Ce&&(Ce.style.markerEnd=void 0);return}var Te=(0,Ge.S)(ft);Te.attr(_),(0,Sn.b)(Te,wt,!0),Zt.style("markerEnd",Te).style("markerEndOffset",-ut)}function Ut(V,K,k){var _=K.type,Y,at=(0,E.zs)(K,"line");return _==="linear"?Y=be(V,K,Bt(at,"arrow"),k):Y=jt(V,K,Bt(at,"arrow"),k),ve(V,_,K,at),Y}function Rt(V,K){return Vt(V,K.gridDirection,K)}function he(V){var K=V.type,k=V.gridCenter;return K==="linear"?k:k||V.center}function Oe(V,K){var k=K.gridLength;return V.map(function(_,Y){var at=_.value,ft=(0,l.CR)(Hn(at,K),2),ut=ft[0],wt=ft[1],Zt=(0,l.CR)(cn(Rt(at,K),k),2),Ce=Zt[0],Te=Zt[1];return{id:Y,points:[[ut,wt],[ut+Ce,wt+Te]]}})}function Be(V,K){var k=K.gridControlAngles,_=he(K);if(!_)throw new Error("grid center is not provide");if(V.length<2)throw new Error("Invalid grid data");if(!k||k.length===0)throw new Error("Invalid gridControlAngles");var Y=(0,l.CR)(_,2),at=Y[0],ft=Y[1];return V.map(function(ut,wt){var Zt=ut.value,Ce=(0,l.CR)(Hn(Zt,K),2),Te=Ce[0],je=Ce[1],on=(0,l.CR)([Te-at,je-ft],2),Bn=on[0],Vn=on[1],Rn=[];return k.forEach(function(sr){var Ar=qe(sr),dr=(0,l.CR)([Math.cos(Ar),Math.sin(Ar)],2),Er=dr[0],Ur=dr[1],Qr=Bn*Er-Vn*Ur+at,zr=Bn*Ur+Vn*Er+ft;Rn.push([Qr,zr])}),{points:Rn,id:wt}})}function gn(V,K,k,_){var Y=k.classNamePrefix,at=(0,E.zs)(k,"grid"),ft=at.type,ut=at.areaFill,wt=he(k),Zt=Xt(K,k.gridFilter),Ce=ft==="segment"?Oe(Zt,k):Be(Zt,k),Te=(0,l.pi)((0,l.pi)({},at),{center:wt,areaFill:(0,pn.Z)(ut)?Zt.map(function(je,on){return(0,Je.S)(ut,[je,on,Zt])}):ut,animate:_,data:Ce});return V.selectAll(ye.grid.class).data([1]).join(function(je){var on=je.append(function(){return new ee({style:Te})}).attr("className",ye.grid.name);return Xe(on,ye.grid,Kt.grid,Y),on},function(je){return je.transition(function(){return this.update(Te)})},function(je){return je.remove()}).transitions()}function mn(V,K,k,_,Y){return _===void 0&&(_=!0),Y===void 0&&(Y=!1),_&&V===K||Y&&V===k?!0:V>K&&V0,Ar=_-wt,dr=Y-Zt,Er=je*dr-on*Ar;if(Er<0===sr)return!1;var Ur=Bn*dr-Vn*Ar;return!(Ur<0===sr||Er>Rn===sr||Ur>Rn===sr)}function Yt(V,K){var k=[[V[0],V[1],V[2],V[3]],[V[2],V[3],V[4],V[5]],[V[4],V[5],V[6],V[7]],[V[6],V[7],V[0],V[1]]];return k.some(function(_){return De(K,_)})}var Le={lineToLine:De,intersectBoxLine:Yt,getBounds:ne};function sn(V,K,k){var _,Y,at=ne(V,k).flat(1),ft=ne(K,k).flat(1),ut=[[at[0],at[1],at[2],at[3]],[at[0],at[1],at[4],at[5]],[at[4],at[5],at[6],at[7]],[at[2],at[3],at[6],at[7]]];try{for(var wt=(0,l.XA)(ut),Zt=wt.next();!Zt.done;Zt=wt.next()){var Ce=Zt.value;if(Yt(ft,Ce))return!0}}catch(Te){_={error:Te}}finally{try{Zt&&!Zt.done&&(Y=wt.return)&&Y.call(wt)}finally{if(_)throw _.error}}return!1}function Mn(V,K){var k=V.type,_=V.labelDirection,Y=V.crossSize;if(!Y)return!1;if(k==="arc"){var at=V.center,ft=V.radius,ut=(0,l.CR)(at,2),wt=ut[0],Zt=ut[1],Ce=_==="negative"?0:Y,Te=-ft-Ce,je=ft+Ce,on=(0,l.CR)((0,Qt.j)(K),4),Bn=on[0],Vn=on[1],Rn=on[2],sr=on[3];return new qt(wt+Te-sr,Zt+Te-Bn,wt+je+Vn,Zt+je+Rn)}var Ar=(0,l.CR)(V.startPos,2),dr=Ar[0],Er=Ar[1],Ur=(0,l.CR)(V.endPos,2),Qr=Ur[0],zr=Ur[1],ai=(0,l.CR)(Gn(V)?[-K,0,K,0]:[0,K,0,-K],4),yi=ai[0],ji=ai[1],$i=ai[2],Fi=ai[3],Ai=Ee(0,V),xi=cn(Ai,Y),vi=new qt(dr,Er,Qr,zr);return vi.x1+=Fi,vi.y1+=yi,vi.x2+=ji+xi[0],vi.y2+=$i+xi[1],vi}function Nn(V,K,k){var _,Y,at=K.crossPadding,ft=new Set,ut=null,wt=Mn(K,at),Zt=function(Bn){return wt?zt(wt,Bn):!0},Ce=function(Bn,Vn){return!Bn||!Bn.firstChild?!0:!sn(Bn.firstChild,Vn.firstChild,(0,Qt.j)(k))};try{for(var Te=(0,l.XA)(V),je=Te.next();!je.done;je=Te.next()){var on=je.value;Zt(on)?!ut||Ce(ut,on)?ut=on:(ft.add(ut),ft.add(on)):ft.add(on)}}catch(Bn){_={error:Bn}}finally{try{je&&!je.done&&(Y=Te.return)&&Y.call(Te)}finally{if(_)throw _.error}}return Array.from(ft)}function ir(V,K){return K===void 0&&(K={}),(0,Nt.Z)(V)?0:typeof V=="number"?V:Math.floor((0,x.Ux)(V,K))}function Kn(V,K,k,_){if(!(V.length<=0)){var Y=K.suffix,at=Y===void 0?"...":Y,ft=K.minLength,ut=K.maxLength,wt=ut===void 0?1/0:ut,Zt=K.step,Ce=Zt===void 0?" ":Zt,Te=K.margin,je=Te===void 0?[0,0,0,0]:Te,on=(0,x.qT)(_.getTextShape(V[0])),Bn=ir(Ce,on),Vn=ft?ir(ft,on):Bn,Rn=ir(wt,on);((0,Nt.Z)(Rn)||Rn===1/0)&&(Rn=Math.max.apply(null,V.map(function(xi){return xi.getBBox().width})));for(var sr=V.slice(),Ar=(0,l.CR)(je,4),dr=Ar[0],Er=dr===void 0?0:dr,Ur=Ar[1],Qr=Ur===void 0?0:Ur,zr=Ar[2],ai=zr===void 0?Er:zr,yi=Ar[3],ji=yi===void 0?Qr:yi,$i=function(xi){if(sr.forEach(function(vi){_.ellipsis(_.getTextShape(vi),xi,at)}),sr=Nn(V,k,je),sr.length<1)return{value:void 0}},Fi=Rn;Fi>Vn+Bn;Fi-=Bn){var Ai=$i(Fi);if(typeof Ai=="object")return Ai.value}}}var qn=function(V){return V!==void 0&&V!=null&&!Number.isNaN(V)},gr=f(2080),He={parity:function(V,K){var k=K.seq,_=k===void 0?2:k;return V.filter(function(Y,at){return at%_?((0,Yn.Cp)(Y),!1):!0})}},Tn=function(V){return V.filter(qn)};function or(V,K,k,_){var Y=V.length,at=K.keepHeader,ft=K.keepTail;if(!(Y<=1||Y===2&&at&&ft)){var ut=He.parity,wt=function(dr){return dr.forEach(_.show),dr},Zt=2,Ce=V.slice(),Te=V.slice(),je=Math.min.apply(Math,(0,l.ev)([1],(0,l.CR)(V.map(function(dr){return dr.getBBox().width})),!1));if(k.type==="linear"&&(Zn(k)||Gn(k))){var on=(0,gr._v)(V[0]).left,Bn=(0,gr._v)(V[Y-1]).right,Vn=Math.abs(Bn-on)||1;Zt=Math.max(Math.floor(Y*je/Vn),Zt)}var Rn,sr;for(at&&(Rn=Ce.splice(0,1)[0]),ft&&(sr=Ce.splice(-1,1)[0],Ce.reverse()),wt(Ce);Ztut)){if(k.type==="linear"&&Zn(k)){if(sr(ut),Vn())return}else for(var Ar=Bn;Ar<=ut;Ar++)if(sr(Ar),Vn())return;Zt&&sr(on)}}var Cr=new Map([["hide",or],["rotate",En],["ellipsis",Kn],["wrap",_r]]);function br(V,K,k){return K.labelOverlap.length<1?!1:k==="hide"?!(0,z.X)(V[0]):k==="rotate"?!V.some(function(_){var Y;return!!(!((Y=_.attr("transform"))===null||Y===void 0)&&Y.includes("rotate"))}):k==="ellipsis"||k==="wrap"?V.filter(function(_){return _.querySelector("text")}).length>=1:!0}function ni(V,K,k,_){var Y=K.labelOverlap,at=Y===void 0?[]:Y;at.length&&at.forEach(function(ft){var ut=ft.type,wt=Cr.get(ut);br(V,K,ut)&&(wt==null||wt(V,ft,K,_,k))})}function Br(){for(var V=[],K=0;Kje[0]&&ai0&&Number.isFinite(V)?K:k},Is=function(V,K){return V*K},Ws=function(V,K){return V/2+(K||0)/2},Ds=function(V){return V};class Gi{constructor(K){this.options=(0,Dt.Z)({},this.getDefaultOptions()),this.update(K)}getOptions(){return this.options}update(K={}){this.options=(0,Dt.Z)({},this.options,K),this.rescale(K)}rescale(K){}}function ka(V,K){return K-V?k=>(k-V)/(K-V):k=>.5}function _a(V,...K){return K.reduce((k,_)=>Y=>k(_(Y)),V)}function No(V,K,k,_,Y){let at=k||0,ft=_||V.length;const ut=Y||(wt=>wt);for(;atK?ft=wt:at=wt+1}return at}var is=f(75196),ca=f.n(is);function io(V,K,k){let _=k;return _<0&&(_+=1),_>1&&(_-=1),_<1/6?V+(K-V)*6*_:_<1/2?K:_<2/3?V+(K-V)*(2/3-_)*6:V}function Ha(V){const K=V[0]/360,k=V[1]/100,_=V[2]/100,Y=V[3];if(k===0)return[_*255,_*255,_*255,Y];const at=_<.5?_*(1+k):_+k-_*k,ft=2*_-at,ut=io(ft,at,K+1/3),wt=io(ft,at,K),Zt=io(ft,at,K-1/3);return[ut*255,wt*255,Zt*255,Y]}function Eo(V){const K=ca().get(V);if(!K)return null;const{model:k,value:_}=K;return k==="rgb"?_:k==="hsl"?Ha(_):null}const Vs=(V,K)=>k=>V*(1-k)+K*k,xs=(V,K)=>{const k=Eo(V),_=Eo(K);return k===null||_===null?k?()=>V:()=>K:Y=>{const at=new Array(4);for(let Ce=0;Ce<4;Ce+=1){const Te=k[Ce],je=_[Ce];at[Ce]=Te*(1-Y)+je*Y}const[ft,ut,wt,Zt]=at;return`rgba(${Math.round(ft)}, ${Math.round(ut)}, ${Math.round(wt)}, ${Zt})`}},ua=(V,K)=>typeof V=="number"&&typeof K=="number"?Vs(V,K):typeof V=="string"&&typeof K=="string"?xs(V,K):()=>V,fo=(V,K)=>{const k=Vs(V,K);return _=>Math.round(k(_))};var Wa=f(49527);function $a(V){return V===null}function Wi(V){return!(0,Wa.Z)(V)&&!$a(V)&&!Number.isNaN(V)}const Ka=Math.sqrt(50),Rs=Math.sqrt(10),js=Math.sqrt(2);function aa(V,K,k){const _=(K-V)/Math.max(0,k),Y=Math.floor(Math.log(_)/Math.LN10),at=_/Wl(10,Y);return Y>=0?(at>=Ka?10:at>=Rs?5:at>=js?2:1)*Wl(10,Y):-Wl(10,-Y)/(at>=Ka?10:at>=Rs?5:at>=js?2:1)}function Lr(V,K,k){const _=Math.abs(K-V)/Math.max(0,k);let Y=Wl(10,Math.floor(Math.log(_)/Math.LN10));const at=_/Y;return at>=Ka?Y*=10:at>=Rs?Y*=5:at>=js&&(Y*=2),K{const _=[V,K];let Y=0,at=_.length-1,ft=_[Y],ut=_[at],wt;return ut0?(ft=Math.floor(ft/wt)*wt,ut=Math.ceil(ut/wt)*wt,wt=aa(ft,ut,k)):wt<0&&(ft=Math.ceil(ft*wt)/wt,ut=Math.floor(ut*wt)/wt,wt=aa(ft,ut,k)),wt>0?(_[Y]=Math.floor(ft/wt)*wt,_[at]=Math.ceil(ut/wt)*wt):wt<0&&(_[Y]=Math.ceil(ft*wt)/wt,_[at]=Math.floor(ut*wt)/wt),_};function ao(V,K){const k=KK?V:K;return Y=>Math.min(Math.max(k,Y),_)}const Jo=(V,K,k)=>{const[_,Y]=V,[at,ft]=K;let ut,wt;return _{const _=Math.min(V.length,K.length)-1,Y=new Array(_),at=new Array(_),ft=V[0]>V[_],ut=ft?[...V].reverse():V,wt=ft?[...K].reverse():K;for(let Zt=0;Zt<_;Zt+=1)Y[Zt]=ka(ut[Zt],ut[Zt+1]),at[Zt]=k(wt[Zt],wt[Zt+1]);return Zt=>{const Ce=No(V,Zt,1,_)-1,Te=Y[Ce],je=at[Ce];return _a(je,Te)(Zt)}},Qs=(V,K,k,_)=>(Math.min(V.length,K.length)>2?qo:Jo)(V,K,_?fo:k);class so extends Gi{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Vs,tickCount:5}}map(K){return Wi(K)?this.output(K):this.options.unknown}invert(K){return Wi(K)?this.input(K):this.options.unknown}nice(){if(!this.options.nice)return;const[K,k,_,...Y]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(K,k,_,...Y)}getTicks(){const{tickMethod:K}=this.options,[k,_,Y,...at]=this.getTickMethodOptions();return K(k,_,Y,...at)}getTickMethodOptions(){const{domain:K,tickCount:k}=this.options,_=K[0],Y=K[K.length-1];return[_,Y,k]}chooseNice(){return Ia}rescale(){this.nice();const[K,k]=this.chooseTransforms();this.composeOutput(K,this.chooseClamp(K)),this.composeInput(K,k,this.chooseClamp(k))}chooseClamp(K){const{clamp:k,range:_}=this.options,Y=this.options.domain.map(K),at=Math.min(Y.length,_.length);return k?ao(Y[0],Y[at-1]):Ds}composeOutput(K,k){const{domain:_,range:Y,round:at,interpolate:ft}=this.options,ut=Qs(_.map(K),Y,ft,at);this.output=_a(ut,k,K)}composeInput(K,k,_){const{domain:Y,range:at}=this.options,ft=Qs(at,Y.map(K),Vs);this.input=_a(k,_,ft)}}const oo=(V,K,k)=>{let _,Y,at=V,ft=K;if(at===ft&&k>0)return[at];let ut=aa(at,ft,k);if(ut===0||!Number.isFinite(ut))return[];if(ut>0){at=Math.ceil(at/ut),ft=Math.floor(ft/ut),Y=new Array(_=Math.ceil(ft-at+1));for(let wt=0;wt<_;wt+=1)Y[wt]=(at+wt)*ut}else{ut=-ut,at=Math.ceil(at*ut),ft=Math.floor(ft*ut),Y=new Array(_=Math.ceil(ft-at+1));for(let wt=0;wt<_;wt+=1)Y[wt]=(at+wt)/ut}return Y};class Sa extends so{getDefaultOptions(){return{domain:[0,1],range:[0,1],unknown:void 0,nice:!1,clamp:!1,round:!1,interpolate:ua,tickMethod:oo,tickCount:5}}chooseTransforms(){return[Ds,Ds]}clone(){return new Sa(this.options)}}function Ua({map:V,initKey:K},k){const _=K(k);return V.has(_)?V.get(_):k}function zi({map:V,initKey:K},k){const _=K(k);return V.has(_)?V.get(_):(V.set(_,k),k)}function Po({map:V,initKey:K},k){const _=K(k);return V.has(_)&&(k=V.get(_),V.delete(_)),k}function Ao(V){return typeof V=="object"?V.valueOf():V}class Bo extends Map{constructor(K){if(super(),this.map=new Map,this.initKey=Ao,K!==null)for(const[k,_]of K)this.set(k,_)}get(K){return super.get(Ua({map:this.map,initKey:this.initKey},K))}has(K){return super.has(Ua({map:this.map,initKey:this.initKey},K))}set(K,k){return super.set(zi({map:this.map,initKey:this.initKey},K),k)}delete(K){return super.delete(Po({map:this.map,initKey:this.initKey},K))}}const Va=Symbol("defaultUnknown");function Da(V,K,k){for(let _=0;_`${K}`:typeof V=="object"?K=>JSON.stringify(K):K=>K}class sa extends Gi{getDefaultOptions(){return{domain:[],range:[],unknown:Va}}constructor(K){super(K)}map(K){return this.domainIndexMap.size===0&&Da(this.domainIndexMap,this.getDomain(),this.domainKey),as({value:this.domainKey(K),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(K){return this.rangeIndexMap.size===0&&Da(this.rangeIndexMap,this.getRange(),this.rangeKey),as({value:this.rangeKey(K),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(K){const[k]=this.options.domain,[_]=this.options.range;if(this.domainKey=ws(k),this.rangeKey=ws(_),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!K||K.range)&&this.rangeIndexMap.clear(),(!K||K.domain||K.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new sa(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:K,compare:k}=this.options;return this.sortedDomain=k?[...K].sort(k):K,this.sortedDomain}}function Vi(V){const K=Math.min(...V);return V.map(k=>k/K)}function qi(V,K){const k=V.length,_=K-k;return _>0?[...V,...new Array(_).fill(1)]:_<0?V.slice(0,K):V}function ja(V){return Math.round(V*1e12)/1e12}function Ys(V){const{domain:K,range:k,paddingOuter:_,paddingInner:Y,flex:at,round:ft,align:ut}=V,wt=K.length,Zt=qi(at,wt),[Ce,Te]=k,je=Te-Ce,on=2/wt*_+1-1/wt*Y,Bn=je/on,Vn=Bn*Y/wt,Rn=Bn-wt*Vn,sr=Vi(Zt),Ar=sr.reduce((Fi,Ai)=>Fi+Ai),dr=Rn/Ar,Er=new Bo(K.map((Fi,Ai)=>{const xi=sr[Ai]*dr;return[Fi,ft?Math.floor(xi):xi]})),Ur=new Bo(K.map((Fi,Ai)=>{const vi=sr[Ai]*dr+Vn;return[Fi,ft?Math.floor(vi):vi]})),Qr=Array.from(Ur.values()).reduce((Fi,Ai)=>Fi+Ai),ai=(je-(Qr-Qr/wt*Y))*ut,yi=Ce+ai;let ji=ft?Math.round(yi):yi;const $i=new Array(wt);for(let Fi=0;Fije+dr*Ce);return{valueStep:Ce,valueBandWidth:Te,adjustedRange:sr}}class ea extends sa{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:Va,flex:[]}}constructor(K){super(K)}clone(){return new ea(this.options)}getStep(K){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:K===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(K)}getBandWidth(K){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:K===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(K)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:K,paddingInner:k}=this.options;return K>0?K:k}getPaddingOuter(){const{padding:K,paddingOuter:k}=this.options;return K>0?K:k}rescale(){super.rescale();const{align:K,domain:k,range:_,round:Y,flex:at}=this.options,{adjustedRange:ft,valueBandWidth:ut,valueStep:wt}=Cs({align:K,range:_,round:Y,flex:at,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:k});this.valueStep=wt,this.valueBandWidth=ut,this.adjustedRange=ft}}var bo=f(37547),Ko=f(1933),hs=f(39934),xo=function(V){(0,l.ZT)(K,V);function K(k){var _=this,Y=k.style,at=(0,l._T)(k,["style"]);return _=V.call(this,(0,Dt.Z)({},{type:"column"},(0,l.pi)({style:Y},at)))||this,_.columnsGroup=new P.ZA({name:"columns"}),_.appendChild(_.columnsGroup),_.render(),_}return K.prototype.render=function(){var k=this.attributes,_=k.columns,Y=k.x,at=k.y;this.columnsGroup.style.transform="translate(".concat(Y,", ").concat(at,")"),(0,ht.Ys)(this.columnsGroup).selectAll(".column").data(_.flat()).join(function(ft){return ft.append("rect").attr("className","column").each(function(ut){this.attr(ut)})},function(ft){return ft.each(function(ut){this.attr(ut)})},function(ft){return ft.remove()})},K.prototype.update=function(k){this.attr((0,m.n)({},this.attributes,k)),this.render()},K.prototype.clear=function(){this.removeChildren()},K}(P.s$),$o=function(V){(0,l.ZT)(K,V);function K(k){var _=this,Y=k.style,at=(0,l._T)(k,["style"]);return _=V.call(this,(0,Dt.Z)({},{type:"lines"},(0,l.pi)({style:Y},at)))||this,_.linesGroup=_.appendChild(new P.ZA),_.areasGroup=_.appendChild(new P.ZA),_.render(),_}return K.prototype.render=function(){var k=this.attributes,_=k.lines,Y=k.areas,at=k.x,ft=k.y;this.style.transform="translate(".concat(at,", ").concat(ft,")"),_&&this.renderLines(_),Y&&this.renderAreas(Y)},K.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},K.prototype.update=function(k){this.attr((0,m.n)({},this.attributes,k)),this.render()},K.prototype.renderLines=function(k){(0,ht.Ys)(this.linesGroup).selectAll(".line").data(k).join(function(_){return _.append("path").attr("className","line").each(function(Y){this.attr(Y)})},function(_){return _.each(function(Y){this.attr(Y)})},function(_){return _.remove()})},K.prototype.renderAreas=function(k){(0,ht.Ys)(this.linesGroup).selectAll(".area").data(k).join(function(_){return _.append("path").attr("className","area").each(function(Y){this.attr(Y)})},function(_){return _.each(function(Y){this.style(Y)})},function(_){return _.remove()})},K}(P.s$),hA=f(62099);function ba(V,K,k,_){var Y,at=[],ft=!!_,ut,wt,Zt=[1/0,1/0],Ce=[-1/0,-1/0],Te,je,on;if(ft){Y=(0,l.CR)(_,2),Zt=Y[0],Ce=Y[1];for(var Bn=0,Vn=V.length;Bnft&&(k=(0,l.CR)([ft,ut],2),ut=k[0],ft=k[1]),V.map(function(wt){var Zt=wt.map(function(Ce,Te){return[_.map(Te),(0,R.Z)(Y.map(Ce),ut,ft)]});return Zt})}function ss(V,K){K===void 0&&(K=!1);var k=K?V.length-1:0,_=V.map(function(Y,at){return(0,l.ev)([at===k?"M":"L"],(0,l.CR)(Y),!1)});return K?_.reverse():_}function oa(V,K){if(K===void 0&&(K=!1),V.length<=2)return ss(V);for(var k=[],_=V.length,Y=0;Y<_;Y+=1){var at=K?V[_-Y-1]:V[Y];(0,hA.Z)(at,k.slice(-2))||k.push.apply(k,(0,l.ev)([],(0,l.CR)(at),!1))}var ft=ds(k,!1);return K?ft.unshift((0,l.ev)(["M"],(0,l.CR)(V[_-1]),!1)):ft.unshift((0,l.ev)(["M"],(0,l.CR)(V[0]),!1)),ft}function na(V,K,k){var _=(0,bo.Z)(V);return _.push(["L",K,k],["L",0,k],["Z"]),_}function OA(V,K,k,_){return V.map(function(Y){return na(K?oa(Y):ss(Y),k,_)})}function Go(V,K,k){for(var _=[],Y=V.length-1;Y>=0;Y-=1){var at=V[Y],ft=ss(at),ut=void 0;if(Y===0)ut=na(ft,K,k);else{var wt=V[Y-1],Zt=ss(wt,!0);Zt[0][0]="L",ut=(0,l.ev)((0,l.ev)((0,l.ev)([],(0,l.CR)(ft),!1),(0,l.CR)(Zt),!1),[["Z"]],!1)}_.push(ut)}return _}function Uo(V,K,k){for(var _=[],Y=V.length-1;Y>=0;Y-=1){var at=V[Y],ft=oa(at),ut=void 0;if(Y===0)ut=na(ft,K,k);else{var wt=V[Y-1],Zt=oa(wt,!0),Ce=at[0];Zt[0][0]="L",ut=(0,l.ev)((0,l.ev)((0,l.ev)([],(0,l.CR)(ft),!1),(0,l.CR)(Zt),!1),[(0,l.ev)(["M"],(0,l.CR)(Ce),!1),["Z"]],!1)}_.push(ut)}return _}var Do=f(2078),nl=function(V,K){if((0,hs.Z)(V)){for(var k,_=1/0,Y=0;Y_&&(k=at,_=ft)}return k}};function dA(V){return V.length===0?[0,0]:[(0,Do.Z)(nl(V,function(K){return(0,Do.Z)(K)||0})),(0,Co.Z)(Ss(V,function(K){return(0,Co.Z)(K)||0}))]}function Xs(V){for(var K=(0,bo.Z)(V),k=K[0].length,_=(0,l.CR)([Array(k).fill(0),Array(k).fill(0)],2),Y=_[0],at=_[1],ft=0;ft=0?(ut[wt]+=Y[wt],Y[wt]=ut[wt]):(ut[wt]+=at[wt],at[wt]=ut[wt]);return K}var So=function(V){(0,l.ZT)(K,V);function K(k){return V.call(this,k,{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(K.prototype,"rawData",{get:function(){var k=this.attributes.data;if(!k||(k==null?void 0:k.length)===0)return[[]];var _=(0,bo.Z)(k);return(0,Ko.Z)(_[0])?[_]:_},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"data",{get:function(){return this.attributes.isStack?Xs(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"baseline",{get:function(){var k=this.scales.y,_=(0,l.CR)(k.getOptions().domain||[0,0],2),Y=_[0],at=_[1];return at<0?k.map(at):k.map(Y<0?0:Y)},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"containerShape",{get:function(){var k=this.attributes,_=k.width,Y=k.height;return{width:_,height:Y}},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"linesStyle",{get:function(){var k=this,_=this.attributes,Y=_.type,at=_.isStack,ft=_.smooth;if(Y!=="line")throw new Error("linesStyle can only be used in line type");var ut=(0,E.zs)(this.attributes,"area"),wt=(0,E.zs)(this.attributes,"line"),Zt=this.containerShape.width,Ce=this.data;if(Ce[0].length===0)return{lines:[],areas:[]};var Te=this.scales,je=Te.x,on=Te.y,Bn=Es(Ce,{type:"line",x:je,y:on}),Vn=[];if(ut){var Rn=this.baseline;at?Vn=ft?Uo(Bn,Zt,Rn):Go(Bn,Zt,Rn):Vn=OA(Bn,ft,Zt,Rn)}return{lines:Bn.map(function(sr,Ar){return(0,l.pi)({stroke:k.getColor(Ar),d:ft?oa(sr):ss(sr)},wt)}),areas:Vn.map(function(sr,Ar){return(0,l.pi)({d:sr,fill:k.getColor(Ar)},ut)})}},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"columnsStyle",{get:function(){var k=this,_=(0,E.zs)(this.attributes,"column"),Y=this.attributes,at=Y.isStack,ft=Y.type,ut=Y.scale;if(ft!=="column")throw new Error("columnsStyle can only be used in column type");var wt=this.containerShape.height,Zt=this.rawData;if(!Zt)return{columns:[]};at&&(Zt=Xs(Zt));var Ce=this.createScales(Zt),Te=Ce.x,je=Ce.y,on=(0,l.CR)(dA(Zt),2),Bn=on[0],Vn=on[1],Rn=new Sa({domain:[0,Vn-(Bn>0?0:Bn)],range:[0,wt*ut]}),sr=Te.getBandWidth(),Ar=this.rawData;return{columns:Zt.map(function(dr,Er){return dr.map(function(Ur,Qr){var zr=sr/Zt.length,ai=function(){return{x:Te.map(Qr)+zr*Er,y:Ur>=0?je.map(Ur):je.map(0),width:zr,height:Rn.map(Math.abs(Ur))}},yi=function(){return{x:Te.map(Qr),y:je.map(Ur),width:sr,height:Rn.map(Ar[Er][Qr])}};return(0,l.pi)((0,l.pi)({fill:k.getColor(Er)},_),at?yi():ai())})})}},enumerable:!1,configurable:!0}),K.prototype.render=function(k,_){(0,ht.OV)(_,".container","rect").attr("className","container").node();var Y=k.type,at=k.x,ft=k.y,ut="spark".concat(Y),wt=(0,l.pi)({x:at,y:ft},Y==="line"?this.linesStyle:this.columnsStyle);(0,ht.Ys)(_).selectAll(".spark").data([Y]).join(function(Zt){return Zt.append(function(Ce){return Ce==="line"?new $o({className:ut,style:wt}):new xo({className:ut,style:wt})}).attr("className","spark ".concat(ut))},function(Zt){return Zt.update(wt)},function(Zt){return Zt.remove()})},K.prototype.getColor=function(k){var _=this.attributes.color;return(0,hs.Z)(_)?_[k%_.length]:(0,pn.Z)(_)?_.call(null,k):_},K.prototype.createScales=function(k){var _,Y,at=this.attributes,ft=at.type,ut=at.scale,wt=at.range,Zt=wt===void 0?[]:wt,Ce=at.spacing,Te=this.containerShape,je=Te.width,on=Te.height,Bn=(0,l.CR)(dA(k),2),Vn=Bn[0],Rn=Bn[1],sr=new Sa({domain:[(_=Zt[0])!==null&&_!==void 0?_:Vn,(Y=Zt[1])!==null&&Y!==void 0?Y:Rn],range:[on,on*(1-ut)]});return ft==="line"?{type:ft,x:new Sa({domain:[0,k[0].length-1],range:[0,je]}),y:sr}:{type:ft,x:new ea({domain:k[0].map(function(Ar,dr){return dr}),range:[0,je],paddingInner:Ce,paddingOuter:Ce/2,align:.5}),y:sr}},K.tag="sparkline",K}(U.w),TA={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},Ro={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},Qo={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},xa=(0,Gt.A)({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),Ms=(0,Gt.A)({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),Mo=function(V){(0,l.ZT)(K,V);function K(){return V!==null&&V.apply(this,arguments)||this}return K.prototype.render=function(k,_){var Y=k.x,at=k.y,ft=k.size,ut=ft===void 0?10:ft,wt=k.radius,Zt=wt===void 0?ut/4:wt,Ce=k.orientation,Te=k.classNamePrefix,je=(0,l._T)(k,["x","y","size","radius","orientation","classNamePrefix"]),on=ut,Bn=on*2.4,Vn=Te?"".concat(Ms.iconRect.name," ").concat(Te,"handle-icon-rect"):Ms.iconRect.name,Rn=function(Qr){return Te?"".concat(Ms.iconLine,"-").concat(Qr," ").concat(Te,"handle-icon-line"):"".concat(Ms.iconLine,"-").concat(Qr)},sr=(0,ht.Ys)(_).maybeAppendByClassName(Ms.iconRect,"rect").attr("className",Vn).styles((0,l.pi)((0,l.pi)({},je),{width:on,height:Bn,radius:Zt,x:Y-on/2,y:at-Bn/2,transformOrigin:"center"})),Ar=Y+1/3*on-on/2,dr=Y+2/3*on-on/2,Er=at+1/4*Bn-Bn/2,Ur=at+3/4*Bn-Bn/2;sr.maybeAppendByClassName("".concat(Ms.iconLine,"-1"),"line").attr("className",Rn(1)).styles((0,l.pi)({x1:Ar,x2:Ar,y1:Er,y2:Ur},je)),sr.maybeAppendByClassName("".concat(Ms.iconLine,"-2"),"line").attr("className",Rn(2)).styles((0,l.pi)({x1:dr,x2:dr,y1:Er,y2:Ur},je)),Ce==="vertical"&&(sr.node().style.transform="rotate(90)")},K}(U.w),fs=function(V){(0,l.ZT)(K,V);function K(k){return V.call(this,k,Qo)||this}return K.prototype.renderLabel=function(k){var _=this,Y=this.attributes,at=Y.x,ft=Y.y,ut=Y.showLabel,wt=(0,E.zs)(this.attributes,"label"),Zt=wt.x,Ce=Zt===void 0?0:Zt,Te=wt.y,je=Te===void 0?0:Te,on=wt.transform,Bn=wt.transformOrigin,Vn=(0,l._T)(wt,["x","y","transform","transformOrigin"]),Rn=(0,l.CR)((0,E.Hm)(Vn,[]),2),sr=Rn[0],Ar=Rn[1],dr=(0,ht.Ys)(k).maybeAppendByClassName(Ms.labelGroup,"g").styles(Ar),Er=(0,l.pi)((0,l.pi)({},Ro),sr),Ur=Er.text,Qr=(0,l._T)(Er,["text"]);(0,X.z)(!!ut,dr,function(zr){_.label=zr.maybeAppendByClassName(Ms.label,"text").styles((0,l.pi)((0,l.pi)({},Qr),{x:at+Ce,y:ft+je,transform:on,transformOrigin:Bn,text:"".concat(Ur)})),_.label.on("mousedown",function(ai){ai.stopPropagation()}),_.label.on("touchstart",function(ai){ai.stopPropagation()})})},K.prototype.renderIcon=function(k){var _=this.attributes,Y=_.x,at=_.y,ft=_.orientation,ut=_.type,wt=_.classNamePrefix,Zt=(0,l.pi)((0,l.pi)({x:Y,y:at,orientation:ft,classNamePrefix:wt},TA),(0,E.zs)(this.attributes,"icon")),Ce=this.attributes.iconShape,Te=Ce===void 0?function(){return new Mo({style:Zt})}:Ce,je=(0,ht.Ys)(k).maybeAppendByClassName(Ms.iconGroup,"g");je.selectAll(Ms.icon.class).data([Te]).join(function(on){return on.append(typeof Te=="string"?Te:function(){return Te(ut)}).attr("className",Ms.icon.name)},function(on){return on.update(Zt)},function(on){return on.remove()})},K.prototype.render=function(k,_){this.renderIcon(_),this.renderLabel(_)},K}(U.w),ko=function(V){(0,l.ZT)(K,V);function K(k){var _=V.call(this,k,(0,l.pi)((0,l.pi)((0,l.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(Y){return Y.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},(0,E.dq)(Qo,"handle")),(0,E.dq)(TA,"handleIcon")),(0,E.dq)(Ro,"handleLabel")))||this;return _.range=[0,1],_.onDragStart=function(Y){return function(at){at.stopPropagation(),_.target=Y,_.prevPos=_.getOrientVal(ga(at));var ft=_.availableSpace,ut=ft.x,wt=ft.y,Zt=_.getBBox(),Ce=Zt.x,Te=Zt.y;_.selectionStartPos=_.getRatio(_.prevPos-_.getOrientVal([ut,wt])-_.getOrientVal([+Ce,+Te])),_.selectionWidth=0,document.addEventListener("pointermove",_.onDragging),document.addEventListener("pointerup",_.onDragEnd)}},_.onDragging=function(Y){var at=_.attributes,ft=at.slidable,ut=at.brushable,wt=at.type;Y.stopPropagation();var Zt=_.getOrientVal(ga(Y)),Ce=Zt-_.prevPos;if(Ce){var Te=_.getRatio(Ce);switch(_.target){case"start":ft&&_.setValuesOffset(Te);break;case"end":ft&&_.setValuesOffset(0,Te);break;case"selection":ft&&_.setValuesOffset(Te,Te);break;case"track":if(!ut)return;_.selectionWidth+=Te,wt==="range"?_.innerSetValues([_.selectionStartPos,_.selectionStartPos+_.selectionWidth].sort(),!0):_.innerSetValues([0,_.selectionStartPos+_.selectionWidth],!0);break;default:break}_.prevPos=Zt}},_.onDragEnd=function(){document.removeEventListener("pointermove",_.onDragging),document.removeEventListener("pointermove",_.onDragging),document.removeEventListener("pointerup",_.onDragEnd),_.target="",_.updateHandlesPosition(!1)},_.onValueChange=function(Y){var at=_.attributes,ft=at.onChange,ut=at.type,wt=ut==="range"?Y:Y[1],Zt=ut==="range"?_.getValues():_.getValues()[1],Ce=new P.Aw("valuechange",{detail:{oldValue:wt,value:Zt}});_.dispatchEvent(Ce),ft==null||ft(Zt)},_.selectionStartPos=0,_.selectionWidth=0,_.prevPos=0,_.target="",_}return Object.defineProperty(K.prototype,"values",{get:function(){return this.attributes.values},set:function(k){this.attributes.values=this.clampValues(k)},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"sparklineStyle",{get:function(){var k=this.attributes.orientation;if(k!=="horizontal")return null;var _=(0,E.zs)(this.attributes,"sparkline");return(0,l.pi)((0,l.pi)({zIndex:0},this.availableSpace),_)},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"shape",{get:function(){var k=this.attributes,_=k.trackLength,Y=k.trackSize,at=(0,l.CR)(this.getOrientVal([[_,Y],[Y,_]]),2),ft=at[0],ut=at[1];return{width:ft,height:ut}},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"availableSpace",{get:function(){var k=this.attributes,_=k.x,Y=k.y,at=k.padding,ft=(0,l.CR)((0,Qt.j)(at),4),ut=ft[0],wt=ft[1],Zt=ft[2],Ce=ft[3],Te=this.shape,je=Te.width,on=Te.height;return{x:Ce,y:ut,width:je-(Ce+wt),height:on-(ut+Zt)}},enumerable:!1,configurable:!0}),K.prototype.getValues=function(){return this.values},K.prototype.setValues=function(k,_){k===void 0&&(k=[0,0]),_===void 0&&(_=!1),this.attributes.values=k;var Y=_===!1?!1:this.attributes.animate;this.updateSelectionArea(Y),this.updateHandlesPosition(Y)},K.prototype.updateSelectionArea=function(k){var _=this.calcSelectionArea();this.foregroundGroup.selectAll(xa.selection.class).each(function(Y,at){(0,st.eR)(this,_[at],k)})},K.prototype.updateHandlesPosition=function(k){this.attributes.showHandle&&(this.startHandle&&(0,st.eR)(this.startHandle,this.getHandleStyle("start"),k),this.endHandle&&(0,st.eR)(this.endHandle,this.getHandleStyle("end"),k))},K.prototype.innerSetValues=function(k,_){k===void 0&&(k=[0,0]),_===void 0&&(_=!1);var Y=this.values,at=this.clampValues(k);this.attributes.values=at,this.setValues(at),_&&this.onValueChange(Y)},K.prototype.renderTrack=function(k){var _=this.attributes,Y=_.x,at=_.y,ft=(0,E.zs)(this.attributes,"track");this.trackShape=(0,ht.Ys)(k).maybeAppendByClassName(xa.track,"rect").styles((0,l.pi)((0,l.pi)({x:Y,y:at},this.shape),ft))},K.prototype.renderBrushArea=function(k){var _=this.attributes,Y=_.x,at=_.y,ft=_.brushable;this.brushArea=(0,ht.Ys)(k).maybeAppendByClassName(xa.brushArea,"rect").styles((0,l.pi)({x:Y,y:at,fill:"transparent",cursor:ft?"crosshair":"default"},this.shape))},K.prototype.renderSparkline=function(k){var _=this,Y=this.attributes,at=Y.x,ft=Y.y,ut=Y.orientation,wt=(0,ht.Ys)(k).maybeAppendByClassName(xa.sparklineGroup,"g");(0,X.z)(ut==="horizontal",wt,function(Zt){var Ce=(0,l.pi)((0,l.pi)({},_.sparklineStyle),{x:at,y:ft});Zt.maybeAppendByClassName(xa.sparkline,function(){return new So({style:Ce})}).update(Ce)})},K.prototype.renderHandles=function(){var k=this,_,Y=this.attributes,at=Y.showHandle,ft=Y.type,ut=ft==="range"?["start","end"]:["end"],wt=at?ut:[],Zt=this;(_=this.foregroundGroup)===null||_===void 0||_.selectAll(xa.handle.class).data(wt.map(function(Ce){return{type:Ce}}),function(Ce){return Ce.type}).join(function(Ce){return Ce.append(function(Te){var je=Te.type;return new fs({style:k.getHandleStyle(je)})}).each(function(Te){var je=Te.type;this.attr("class","".concat(xa.handle.name," ").concat(je,"-handle"));var on="".concat(je,"Handle");Zt[on]=this,this.addEventListener("pointerdown",Zt.onDragStart(je))})},function(Ce){return Ce.each(function(Te){var je=Te.type;this.update(Zt.getHandleStyle(je))})},function(Ce){return Ce.each(function(Te){var je=Te.type,on="".concat(je,"Handle");Zt[on]=void 0}).remove()})},K.prototype.renderSelection=function(k){var _=this.attributes,Y=_.x,at=_.y,ft=_.type,ut=_.selectionType;this.foregroundGroup=(0,ht.Ys)(k).maybeAppendByClassName(xa.foreground,"g");var wt=(0,E.zs)(this.attributes,"selection"),Zt=function(Te){return Te.style("visibility",function(je){return je.show?"visible":"hidden"}).style("cursor",function(je){return ut==="select"?"grab":ut==="invert"?"crosshair":"default"}).styles((0,l.pi)((0,l.pi)({},wt),{transform:"translate(".concat(Y,", ").concat(at,")")}))},Ce=this;this.foregroundGroup.selectAll(xa.selection.class).data(ft==="value"?[]:this.calcSelectionArea().map(function(Te,je){return{style:(0,l.pi)({},Te),index:je,show:ut==="select"?je===1:je!==1}}),function(Te){return Te.index}).join(function(Te){return Te.append("rect").attr("className",xa.selection.name).call(Zt).each(function(je,on){var Bn=this;on===1?(Ce.selectionShape=(0,ht.Ys)(this),this.on("pointerdown",function(Vn){Bn.attr("cursor","grabbing"),Ce.onDragStart("selection")(Vn)}),Ce.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),Ce.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),Ce.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){Bn.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){Bn.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){Bn.attr("cursor","pointer")})):this.on("pointerdown",Ce.onDragStart("track"))})},function(Te){return Te.call(Zt)},function(Te){return Te.remove()}),this.updateSelectionArea(!1),this.renderHandles()},K.prototype.render=function(k,_){this.renderTrack(_),this.renderSparkline(_),this.renderBrushArea(_),this.renderSelection(_)},K.prototype.clampValues=function(k,_){var Y;_===void 0&&(_=4);var at=(0,l.CR)(this.range,2),ft=at[0],ut=at[1],wt=(0,l.CR)(this.getValues().map(function(Rn){return us(Rn,_)}),2),Zt=wt[0],Ce=wt[1],Te=Array.isArray(k)?k:[Zt,k!=null?k:Ce],je=(0,l.CR)((Te||[Zt,Ce]).map(function(Rn){return us(Rn,_)}),2),on=je[0],Bn=je[1];if(this.attributes.type==="value")return[0,(0,R.Z)(Bn,ft,ut)];on>Bn&&(Y=(0,l.CR)([Bn,on],2),on=Y[0],Bn=Y[1]);var Vn=Bn-on;return Vn>ut-ft?[ft,ut]:onut?Ce===ut&&Zt===on?[on,ut]:[ut-Vn,ut]:[on,Bn]},K.prototype.calcSelectionArea=function(k){var _=(0,l.CR)(this.clampValues(k),2),Y=_[0],at=_[1],ft=this.availableSpace,ut=ft.x,wt=ft.y,Zt=ft.width,Ce=ft.height;return this.getOrientVal([[{y:wt,height:Ce,x:ut,width:Y*Zt},{y:wt,height:Ce,x:Y*Zt+ut,width:(at-Y)*Zt},{y:wt,height:Ce,x:at*Zt,width:(1-at)*Zt}],[{x:ut,width:Zt,y:wt,height:Y*Ce},{x:ut,width:Zt,y:Y*Ce+wt,height:(at-Y)*Ce},{x:ut,width:Zt,y:at*Ce,height:(1-at)*Ce}]])},K.prototype.calcHandlePosition=function(k){var _=this.attributes.handleIconOffset,Y=this.availableSpace,at=Y.x,ft=Y.y,ut=Y.width,wt=Y.height,Zt=(0,l.CR)(this.clampValues(),2),Ce=Zt[0],Te=Zt[1],je=k==="start"?-_:_,on=(k==="start"?Ce:Te)*this.getOrientVal([ut,wt])+je;return{x:at+this.getOrientVal([on,ut/2]),y:ft+this.getOrientVal([wt/2,on])}},K.prototype.inferTextStyle=function(k){var _=this.attributes.orientation;return _==="horizontal"?{}:k==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:k==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},K.prototype.calcHandleText=function(k){var _,Y=this.attributes,at=Y.type,ft=Y.orientation,ut=Y.formatter,wt=Y.autoFitLabel,Zt=(0,E.zs)(this.attributes,"handle"),Ce=(0,E.zs)(Zt,"label"),Te=Zt.spacing,je=this.getHandleSize(),on=this.clampValues(),Bn=k==="start"?on[0]:on[1],Vn=ut(Bn),Rn=new bs.x({style:(0,l.pi)((0,l.pi)((0,l.pi)({},Ce),this.inferTextStyle(k)),{text:Vn})}),sr=Rn.getBBox(),Ar=sr.width,dr=sr.height;if(Rn.destroy(),!wt){if(at==="value")return{text:Vn,x:0,y:-dr-Te};var Er=Te+je+(ft==="horizontal"?Ar/2:0);return _={text:Vn},_[ft==="horizontal"?"x":"y"]=k==="start"?-Er:Er,_}var Ur=0,Qr=0,zr=this.availableSpace,ai=zr.width,yi=zr.height,ji=this.calcSelectionArea()[1],$i=ji.x,Fi=ji.y,Ai=ji.width,xi=ji.height,vi=Te+je;if(ft==="horizontal"){var Oi=vi+Ar/2;if(k==="start"){var va=$i-vi-Ar;Ur=va>0?-Oi:Oi}else{var li=ai-$i-Ai-vi>Ar;Ur=li?Oi:-Oi}}else{var Yi=vi,Qi=dr+vi;k==="start"?Qr=Fi-je>dr?-Qi:Yi:Qr=yi-(Fi+xi)-je>dr?Qi:-Yi}return{x:Ur,y:Qr,text:Vn}},K.prototype.getHandleLabelStyle=function(k){var _=(0,E.zs)(this.attributes,"handleLabel");return(0,l.pi)((0,l.pi)((0,l.pi)({},_),this.calcHandleText(k)),this.inferTextStyle(k))},K.prototype.getHandleIconStyle=function(){var k=this.attributes.handleIconShape,_=(0,E.zs)(this.attributes,"handleIcon"),Y=this.getOrientVal(["ew-resize","ns-resize"]),at=this.getHandleSize();return(0,l.pi)({cursor:Y,shape:k,size:at},_)},K.prototype.getHandleStyle=function(k){var _=this.attributes,Y=_.x,at=_.y,ft=_.showLabel,ut=_.showLabelOnInteraction,wt=_.orientation,Zt=this.calcHandlePosition(k),Ce=Zt.x,Te=Zt.y,je=this.calcHandleText(k),on=ft;return!ft&&ut&&(this.target?on=!0:on=!1),(0,l.pi)((0,l.pi)((0,l.pi)({},(0,E.dq)(this.getHandleIconStyle(),"icon")),(0,E.dq)((0,l.pi)((0,l.pi)({},this.getHandleLabelStyle(k)),je),"label")),{transform:"translate(".concat(Ce+Y,", ").concat(Te+at,")"),orientation:wt,showLabel:on,type:k,zIndex:3})},K.prototype.getHandleSize=function(){var k=this.attributes,_=k.handleIconSize,Y=k.width,at=k.height;return _||Math.floor((this.getOrientVal([+at,+Y])+4)/2.4)},K.prototype.getOrientVal=function(k){var _=(0,l.CR)(k,2),Y=_[0],at=_[1],ft=this.attributes.orientation;return ft==="horizontal"?Y:at},K.prototype.setValuesOffset=function(k,_){_===void 0&&(_=0);var Y=this.attributes.type,at=(0,l.CR)(this.getValues(),2),ft=at[0],ut=at[1],wt=Y==="range"?k:0,Zt=[ft+wt,ut+_].sort();this.innerSetValues(Zt,!0)},K.prototype.getRatio=function(k){var _=this.availableSpace,Y=_.width,at=_.height;return k/this.getOrientVal([Y,at])},K.prototype.dispatchCustomEvent=function(k,_,Y){var at=this;k.on(_,function(ft){ft.stopPropagation(),at.dispatchEvent(new P.Aw(Y,{detail:ft}))})},K.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var k=this.brushArea;this.dispatchCustomEvent(k,"click","trackClick"),this.dispatchCustomEvent(k,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(k,"pointerleave","trackMouseleave"),k.on("pointerdown",this.onDragStart("track"))},K.prototype.onScroll=function(k){var _=this.attributes.scrollable;if(_){var Y=k.deltaX,at=k.deltaY,ft=at||Y,ut=this.getRatio(ft);this.setValuesOffset(ut,ut)}},K.tag="slider",K}(U.w),FA=f(92387),_o={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(V){return V.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},Oo=(0,Gt.A)({background:"background",labelGroup:"label-group",label:"label"},"indicator"),IA=function(V){(0,l.ZT)(K,V);function K(k){var _=V.call(this,k,_o)||this;return _.point=[0,0],_.group=_.appendChild(new P.ZA({})),_.isMutationObserved=!0,_}return K.prototype.renderBackground=function(){if(this.label){var k=this.attributes,_=k.position,Y=k.padding,at=(0,l.CR)((0,Qt.j)(Y),4),ft=at[0],ut=at[1],wt=at[2],Zt=at[3],Ce=this.label.node().getLocalBounds(),Te=Ce.min,je=Ce.max,on=new S.b(Te[0]-Zt,Te[1]-ft,je[0]+ut-Te[0]+Zt,je[1]+wt-Te[1]+ft),Bn=this.getPath(_,on),Vn=(0,E.zs)(this.attributes,"background");this.background=(0,ht.Ys)(this.group).maybeAppendByClassName(Oo.background,"path").styles((0,l.pi)((0,l.pi)({},Vn),{d:Bn})),this.group.appendChild(this.label.node())}},K.prototype.renderLabel=function(){var k=this.attributes,_=k.formatter,Y=k.labelText,at=(0,E.zs)(this.attributes,"label"),ft=(0,l.CR)((0,E.Hm)(at),2),ut=ft[0],wt=ft[1],Zt=ut.text,Ce=(0,l._T)(ut,["text"]);if(this.label=(0,ht.Ys)(this.group).maybeAppendByClassName(Oo.labelGroup,"g").styles(wt),!!Y){var Te=this.label.maybeAppendByClassName(Oo.label,function(){return(0,Ge.S)(_(Y))}).style("text",_(Y).toString());Te.selectAll("text").styles(Ce)}},K.prototype.adjustLayout=function(){var k=(0,l.CR)(this.point,2),_=k[0],Y=k[1],at=this.attributes,ft=at.x,ut=at.y;this.group.attr("transform","translate(".concat(ft-_,", ").concat(ut-Y,")"))},K.prototype.getPath=function(k,_){var Y=this.attributes.radius,at=_.x,ft=_.y,ut=_.width,wt=_.height,Zt=[["M",at+Y,ft],["L",at+ut-Y,ft],["A",Y,Y,0,0,1,at+ut,ft+Y],["L",at+ut,ft+wt-Y],["A",Y,Y,0,0,1,at+ut-Y,ft+wt],["L",at+Y,ft+wt],["A",Y,Y,0,0,1,at,ft+wt-Y],["L",at,ft+Y],["A",Y,Y,0,0,1,at+Y,ft],["Z"]],Ce={top:4,right:6,bottom:0,left:2},Te=Ce[k],je=this.createCorner([Zt[Te].slice(-2),Zt[Te+1].slice(-2)]);return Zt.splice.apply(Zt,(0,l.ev)([Te+1,1],(0,l.CR)(je),!1)),Zt[0][0]="M",Zt},K.prototype.createCorner=function(k,_){_===void 0&&(_=10);var Y=.8,at=gr.wE.apply(void 0,(0,l.ev)([],(0,l.CR)(k),!1)),ft=(0,l.CR)(k,2),ut=(0,l.CR)(ft[0],2),wt=ut[0],Zt=ut[1],Ce=(0,l.CR)(ft[1],2),Te=Ce[0],je=Ce[1],on=(0,l.CR)(at?[Te-wt,[wt,Te]]:[je-Zt,[Zt,je]],2),Bn=on[0],Vn=(0,l.CR)(on[1],2),Rn=Vn[0],sr=Vn[1],Ar=Bn/2,dr=Bn/Math.abs(Bn),Er=_*dr,Ur=Er/2,Qr=Er*Math.sqrt(3)/2*Y,zr=(0,l.CR)([Rn,Rn+Ar-Ur,Rn+Ar,Rn+Ar+Ur,sr],5),ai=zr[0],yi=zr[1],ji=zr[2],$i=zr[3],Fi=zr[4];return at?(this.point=[ji,Zt-Qr],[["L",ai,Zt],["L",yi,Zt],["L",ji,Zt-Qr],["L",$i,Zt],["L",Fi,Zt]]):(this.point=[wt+Qr,ji],[["L",wt,ai],["L",wt,yi],["L",wt+Qr,ji],["L",wt,$i],["L",wt,Fi]])},K.prototype.applyVisibility=function(){var k=this.attributes.visibility;k==="hidden"?(0,Yn.Cp)(this):(0,Yn.$Z)(this)},K.prototype.bindEvents=function(){this.label.on(P.Dk.BOUNDS_CHANGED,this.renderBackground)},K.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},K}(U.w),St=function(V){(0,l.ZT)(K,V);function K(k){var _=V.call(this,(0,m.n)({},K.defaultOptions,k))||this;return _.hoverColor="#f5f5f5",_.selectedColor="#e6f7ff",_.background=_.appendChild(new P.UL({})),_.label=_.background.appendChild(new P.ZA({})),_}return Object.defineProperty(K.prototype,"padding",{get:function(){return(0,Qt.j)(this.style.padding)},enumerable:!1,configurable:!0}),K.prototype.renderLabel=function(){var k=this.style,_=k.label,Y=k.value,at=(0,E.zs)(this.attributes,"label");(0,ht.Ys)(this.label).maybeAppend(".label",function(){return(0,Ge.S)(_)}).attr("className","label").styles(at),this.label.attr("__data__",Y)},K.prototype.renderBackground=function(){var k=this.label.getBBox(),_=(0,l.CR)(this.padding,4),Y=_[0],at=_[1],ft=_[2],ut=_[3],wt=k.width,Zt=k.height,Ce=wt+ut+at,Te=Zt+Y+ft,je=(0,E.zs)(this.attributes,"background"),on=this.style,Bn=on.width,Vn=Bn===void 0?0:Bn,Rn=on.height,sr=Rn===void 0?0:Rn,Ar=on.selected;this.background.attr((0,l.pi)((0,l.pi)({},je),{width:Math.max(Ce,Vn),height:Math.max(Te,sr),fill:Ar?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(ut,", ").concat((Te-Zt)/2,")")})},K.prototype.render=function(){this.renderLabel(),this.renderBackground()},K.prototype.bindEvents=function(){var k=this;this.addEventListener("pointerenter",function(){k.style.selected||k.background.attr("fill",k.hoverColor)}),this.addEventListener("pointerleave",function(){k.style.selected||k.background.attr("fill",k.style.backgroundFill)});var _=this;this.addEventListener("click",function(){var Y=k.style,at=Y.label,ft=Y.value,ut=Y.onClick;ut==null||ut(ft,{label:at,value:ft},_)})},K.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},K}(U.w),q=function(V){(0,l.ZT)(K,V);function K(k){var _,Y,at=V.call(this,(0,m.n)({},K.defaultOptions,k))||this;at.currentValue=(_=K.defaultOptions.style)===null||_===void 0?void 0:_.defaultValue,at.isPointerInSelect=!1,at.select=at.appendChild(new P.UL({className:"select",style:{cursor:"pointer",width:0,height:0}})),at.dropdown=at.appendChild(new P.UL({className:"dropdown"}));var ft=at.style.defaultValue;return ft&&(!((Y=at.style.options)===null||Y===void 0)&&Y.some(function(ut){return ut.value===ft}))&&(at.currentValue=ft),at}return K.prototype.setValue=function(k){this.currentValue=k,this.render()},K.prototype.getValue=function(){return this.currentValue},Object.defineProperty(K.prototype,"dropdownPadding",{get:function(){return(0,Qt.j)(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),K.prototype.renderSelect=function(){var k=this,_,Y=this.style,at=Y.x,ft=Y.y,ut=Y.width,wt=Y.height,Zt=Y.bordered,Ce=Y.showDropdownIcon,Te=(0,E.zs)(this.attributes,"select"),je=(0,E.zs)(this.attributes,"placeholder");this.select.attr((0,l.pi)((0,l.pi)({x:at,y:ft,width:ut,height:wt},Te),{fill:"#fff",strokeWidth:Zt?1:0}));var on=this.dropdownPadding,Bn=10;Ce&&(0,ht.Ys)(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(at+ut-Bn-on[1]-on[3],", ").concat(ft+wt/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var Vn=(_=this.style.options)===null||_===void 0?void 0:_.find(function(dr){return dr.value===k.currentValue}),Rn=(0,l.pi)({x:at+on[3]},je);(0,ht.Ys)(this.select).selectAll(".placeholder").data(Vn?[]:[1]).join(function(dr){return dr.append("text").attr("className","placeholder").styles(Rn).style("y",function(){var Er=this.getBBox();return ft+(wt-Er.height)/2})},function(dr){return dr.styles(Rn)},function(dr){return dr.remove()});var sr=(0,E.zs)(this.attributes,"optionLabel"),Ar=(0,l.pi)({x:at+on[3]},sr);(0,ht.Ys)(this.select).selectAll(".value").data(Vn?[Vn]:[]).join(function(dr){return dr.append(function(Er){return(0,Ge.S)(Er.label)}).attr("className","value").styles(Ar).style("y",function(){var Er=this.getBBox();return ft+(wt-Er.height)/2})},function(dr){return dr.styles(Ar)},function(dr){return dr.remove()})},K.prototype.renderDropdown=function(){var k=this,_,Y,at=this.style,ft=at.x,ut=at.y,wt=at.width,Zt=at.height,Ce=at.options,Te=at.onSelect,je=at.open,on=(0,E.zs)(this.attributes,"dropdown"),Bn=(0,E.zs)(this.attributes,"option"),Vn=this.dropdownPadding;(0,ht.Ys)(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(Ce,function(Ar){return Ar.value}).join(function(Ar){return Ar.append(function(dr){return new St({className:"dropdown-item",style:(0,l.pi)((0,l.pi)((0,l.pi)({},dr),Bn),{width:wt-Vn[1]-Vn[3],selected:dr.value===k.currentValue,onClick:function(Er,Ur,Qr){k.setValue(Er),Te==null||Te(Er,Ur,Qr),k.dispatchEvent(new P.Aw("change",{detail:{value:Er,option:Ur,item:Qr}})),(0,Yn.Cp)(k.dropdown)}})})}).each(function(dr,Er){var Ur,Qr=(Ur=this.parentNode)===null||Ur===void 0?void 0:Ur.children,zr=Qr.reduce(function(ai,yi,ji){return jiat.time?1:0};return k.sort(_)},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"space",{get:function(){var k=this.attributes,_=k.x,Y=k.y,at=k.width,ft=k.height,ut=k.type,wt=k.controllerHeight,Zt=(0,R.Z)(+ft-wt,0,+ft),Ce=new S.b(_,Y+ +ft-wt,+at,wt),Te,je=0;ut==="chart"?(je=35,Te=new S.b(_,Y+Zt-je,+at,je)):Te=new S.b;var on=ut==="time"?10:Zt,Bn=new S.b(_,Y+(ut==="time"?Zt:Zt-on),+at,on-je);return{axisBBox:Te,controllerBBox:Ce,timelineBBox:Bn}},enumerable:!1,configurable:!0}),K.prototype.setBySliderValues=function(k){var _,Y,at=this.data,ft=(0,l.CR)(Array.isArray(k)?k:[0,k],2),ut=ft[0],wt=ft[1],Zt=at.length,Ce=at[Math.floor(ut*Zt)],Te=at[Math.ceil(wt*Zt)-(Array.isArray(k)?0:1)];this.states.values=[(_=Ce==null?void 0:Ce.time)!==null&&_!==void 0?_:at[0].time,(Y=Te==null?void 0:Te.time)!==null&&Y!==void 0?Y:1/0]},K.prototype.setByTimebarValues=function(k){var _,Y,at,ft=this.data,ut=(0,l.CR)(Array.isArray(k)?k:[void 0,k],2),wt=ut[0],Zt=ut[1],Ce=ft.find(function(je){var on=je.time;return on===wt}),Te=ft.find(function(je){var on=je.time;return on===Zt});this.states.values=[(_=Ce==null?void 0:Ce.time)!==null&&_!==void 0?_:(Y=ft[0])===null||Y===void 0?void 0:Y.time,(at=Te==null?void 0:Te.time)!==null&&at!==void 0?at:1/0]},K.prototype.setByIndex=function(k){var _,Y,at,ft,ut=this.data,wt=(0,l.CR)(k,2),Zt=wt[0],Ce=wt[1];this.states.values=[(Y=(_=ut[Zt])===null||_===void 0?void 0:_.time)!==null&&Y!==void 0?Y:ut[0].time,(ft=(at=this.data[Ce])===null||at===void 0?void 0:at.time)!==null&&ft!==void 0?ft:1/0]},Object.defineProperty(K.prototype,"sliderValues",{get:function(){var k=this.states,_=k.values,Y=k.selectionType,at=(0,l.CR)(Array.isArray(_)?_:[void 0,_],2),ft=at[0],ut=at[1],wt=this.data,Zt=wt.length,Ce=Y==="value",Te=function(){var on=wt.findIndex(function(Bn){var Vn=Bn.time;return Vn===ft});return Ce?0:on>-1?on/Zt:0},je=function(){if(ut===1/0)return 1;var on=wt.findIndex(function(Bn){var Vn=Bn.time;return Vn===ut});return on>-1?on/Zt:Ce?.5:1};return[Te(),je()]},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"values",{get:function(){var k=this.states,_=k.values,Y=k.selectionType,at=(0,l.CR)(Array.isArray(_)?_:[this.data[0].time,_],2),ft=at[0],ut=at[1];return Y==="value"?ut:[ft,ut]},enumerable:!1,configurable:!0}),K.prototype.getDatumByRatio=function(k){var _=this.data,Y=_.length,at=Math.floor(k*(Y-1));return _[at]},Object.defineProperty(K.prototype,"chartHandleIconShape",{get:function(){var k=this.states.selectionType,_=this.space.timelineBBox.height;return k==="range"?function(Y){return new Bi({style:{type:Y,height:_,iconSize:_/6}})}:function(){return new P.x1({style:{x1:0,y1:-_/2,x2:0,y2:_/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),K.prototype.getChartStyle=function(k){var _=this,Y=k.x,at=k.y,ft=k.width,ut=k.height,wt=this.states,Zt=wt.selectionType,Ce=wt.chartType,Te=this.data,je=this.attributes,on=je.type,Bn=je.labelFormatter,Vn=(0,E.zs)(this.attributes,"chart"),Rn=Vn.type,sr=(0,l._T)(Vn,["type"]),Ar=Zt==="range";if(on==="time")return(0,l.pi)({handleIconShape:function(){return new ti({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:Ar?-15:0,autoFitLabel:Ar,handleSpacing:Ar?-15:0,trackFill:"#edeeef",trackLength:ft,trackOpacity:.5,trackRadius:ut/2,trackSize:ut/2,type:Zt,values:this.sliderValues,formatter:function(Ur){if(Bn)return Bn(Ur);var Qr=_.getDatumByRatio(Ur).time;return typeof Qr=="number"?Mi(Qr):Z(Qr,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(Y,", ").concat(at,")"),zIndex:1},sr);var dr=Zt==="range"?5:0,Er=Te.map(function(Ur){var Qr=Ur.value;return Qr});return(0,l.pi)({handleIconOffset:dr,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:Er,sparklineType:Ce,sparklineScale:.8,trackLength:ft,trackSize:ut,type:Zt,values:this.sliderValues,transform:"translate(".concat(Y,", ").concat(at,")"),zIndex:1},sr)},K.prototype.renderChart=function(k){k===void 0&&(k=this.space.timelineBBox),this.timeline.update(this.getChartStyle(k))},K.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},K.prototype.getAxisStyle=function(k){var _=this.data,Y=this.attributes,at=Y.interval,ft=Y.labelFormatter,ut=(0,E.zs)(this.attributes,"axis"),wt=k.x,Zt=k.y,Ce=k.width,Te=(0,l.ev)((0,l.ev)([],(0,l.CR)(_),!1),[{time:0}],!1).map(function(on,Bn,Vn){var Rn=on.time;return{label:"".concat(Rn),value:Bn/(Vn.length-1),time:Rn}}),je=(0,l.pi)({startPos:[wt,Zt],endPos:[wt+Ce,Zt],data:Te,labelFilter:function(on,Bn){return Bnat?wt==="value"?[0,0]:Zt==="acc"?[zr(Ur),zr(Ur)]:[0,zr(Qr-Ur)]:Ur<0?Zt==="acc"?[0,zr(Qr)]:[zr(Ur+at-Qr),at]:[zr(Ur),zr(Qr)]},Ar=sr(Rn);return this.setByIndex(Ar),this.updateSelection(),Ar},K.prototype.internalBackward=function(k){var _,Y,at=this.moveSelection("backward",k);return k||((Y=(_=this.attributes)===null||_===void 0?void 0:_.onBackward)===null||Y===void 0||Y.call(_),this.dispatchOnChange()),at},K.prototype.backward=function(){this.internalBackward()},K.prototype.internalPlay=function(k){var _=this,Y,at,ft=this.data,ut=this.attributes.loop,wt=this.states.speed,Zt=wt===void 0?1:wt;this.playInterval=window.setInterval(function(){var Ce=_.internalForward();Ce[1]===ft.length&&!ut&&(_.internalPause(),_.renderController())},1e3/Zt),this.states.state="play",!k&&((at=(Y=this.attributes)===null||Y===void 0?void 0:Y.onPlay)===null||at===void 0||at.call(Y))},K.prototype.play=function(){this.internalPlay()},K.prototype.internalPause=function(k){var _,Y;clearInterval(this.playInterval),this.states.state="pause",!k&&((Y=(_=this.attributes)===null||_===void 0?void 0:_.onPause)===null||Y===void 0||Y.call(_))},K.prototype.pause=function(){this.internalPause()},K.prototype.internalForward=function(k){var _,Y,at=this.moveSelection("forward",k);return k||((Y=(_=this.attributes)===null||_===void 0?void 0:_.onForward)===null||Y===void 0||Y.call(_),this.dispatchOnChange()),at},K.prototype.forward=function(){this.internalForward()},K.prototype.handleSpeedChange=function(k){var _,Y;this.states.speed=k;var at=this.states.state;at==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(Y=(_=this.attributes)===null||_===void 0?void 0:_.onSpeedChange)===null||Y===void 0||Y.call(_,k)},K.prototype.handleSelectionTypeChange=function(k){var _,Y;this.states.selectionType=k,this.renderChart(),(Y=(_=this.attributes)===null||_===void 0?void 0:_.onSelectionTypeChange)===null||Y===void 0||Y.call(_,k)},K.prototype.handleChartTypeChange=function(k){var _,Y;this.states.chartType=k,this.renderChart(),(Y=(_=this.attributes)===null||_===void 0?void 0:_.onChartTypeChange)===null||Y===void 0||Y.call(_,k)},K.prototype.render=function(){var k=this.space,_=k.axisBBox,Y=k.controllerBBox,at=k.timelineBBox;this.renderController(Y),this.renderAxis(_),this.renderChart(at),this.states.state==="play"&&this.internalPlay()},K.prototype.destroy=function(){V.prototype.destroy.call(this),this.internalPause(!0)},K.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"}},K}(U.w)},75242:function(gt,dt,f){"use strict";f.d(dt,{u:function(){return Z}});var l=f(80813),R=f(85580);function U(tt,W){return!tt||!W?tt:tt.replace(/\\?\{([^{}]+)\}/g,function(vt,st){return vt.charAt(0)==="\\"?vt.slice(1):W[st]===void 0?"":W[st]})}var P=U,m=f(97304),S=function(tt,W){if(W==null){tt.innerHTML="";return}tt.replaceChildren?Array.isArray(W)?tt.replaceChildren.apply(tt,(0,l.ev)([],(0,l.CR)(W),!1)):tt.replaceChildren(W):(tt.innerHTML="",Array.isArray(W)?W.forEach(function(vt){return tt.appendChild(vt)}):tt.appendChild(W))},E=f(88839),F=f(17911);function Q(tt){return tt===void 0&&(tt=""),{CONTAINER:"".concat(tt,"tooltip"),TITLE:"".concat(tt,"tooltip-title"),LIST:"".concat(tt,"tooltip-list"),LIST_ITEM:"".concat(tt,"tooltip-list-item"),NAME:"".concat(tt,"tooltip-list-item-name"),MARKER:"".concat(tt,"tooltip-list-item-marker"),NAME_LABEL:"".concat(tt,"tooltip-list-item-name-label"),VALUE:"".concat(tt,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(tt,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(tt,"tooltip-crosshair-y")}}var O={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function T(tt){var W;tt===void 0&&(tt="");var vt=Q(tt);return W={},W[".".concat(vt.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"},W[".".concat(vt.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},W[".".concat(vt.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},W[".".concat(vt.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},W[".".concat(vt.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},W[".".concat(vt.NAME)]={display:"flex","align-items":"center","max-width":"216px"},W[".".concat(vt.NAME_LABEL)]=(0,l.pi)({flex:1},O),W[".".concat(vt.VALUE)]=(0,l.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},O),W[".".concat(vt.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},W[".".concat(vt.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},W}var Z=function(tt){(0,l.ZT)(W,tt);function W(vt){var st=this,X,Mt,ht=(Mt=(X=vt.style)===null||X===void 0?void 0:X.template)===null||Mt===void 0?void 0:Mt.prefixCls,Dt=Q(ht);return st=tt.call(this,vt,{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:'
    '),title:'
    '),item:'
  • - - - {name} - - {value} -
  • `)},style:T(ht)})||this,st.timestamp=-1,st.prevCustomContentKey=st.attributes.contentKey,st.initShape(),st.render(st.attributes,st),st}return Object.defineProperty(W.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),W.prototype.getContainer=function(){return this.element},Object.defineProperty(W.prototype,"elementSize",{get:function(){var vt=this.element.offsetWidth,st=this.element.offsetHeight;return{width:vt,height:st}},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"HTMLTooltipItemsElements",{get:function(){var vt=this.attributes,st=vt.data,X=vt.template;return st.map(function(Mt,ht){var Dt=Mt.name,Gt=Dt===void 0?"":Dt,Kt=Mt.color,Fe=Kt===void 0?"black":Kt,me=Mt.index,an=(0,l._T)(Mt,["name","color","index"]),ye=(0,l.pi)({name:Gt,color:Fe,index:me!=null?me:ht},an);return(0,R.L)(P(X.item,ye))})},enumerable:!1,configurable:!0}),W.prototype.render=function(vt,st){this.renderHTMLTooltipElement(),this.updatePosition()},W.prototype.destroy=function(){var vt;(vt=this.element)===null||vt===void 0||vt.remove(),tt.prototype.destroy.call(this)},W.prototype.show=function(vt,st){var X=this;if(vt!==void 0&&st!==void 0){var Mt=this.element.style.visibility==="hidden",ht=function(){X.attributes.x=vt!=null?vt:X.attributes.x,X.attributes.y=st!=null?st:X.attributes.y,X.updatePosition()};Mt?this.closeTransition(ht):ht()}this.element.style.visibility="visible"},W.prototype.hide=function(vt,st){vt===void 0&&(vt=0),st===void 0&&(st=0);var X=this.attributes.enterable;X&&this.isCursorEntered(vt,st)||(this.element.style.visibility="hidden")},W.prototype.initShape=function(){var vt=this.attributes.template;this.element=(0,R.L)(vt.container),this.id&&this.element.setAttribute("id",this.id)},W.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var vt=this.attributes.content;vt&&(typeof vt=="string"?this.element.innerHTML=vt:S(this.element,vt))}},W.prototype.renderHTMLTooltipElement=function(){var vt,st,X=this.attributes,Mt=X.template,ht=X.title,Dt=X.enterable,Gt=X.style,Kt=X.content,Fe=Q(Mt.prefixCls),me=this.element;if(this.element.style.pointerEvents=Dt?"auto":"none",Kt)this.renderCustomContent();else{ht?(me.innerHTML=Mt.title,me.getElementsByClassName(Fe.TITLE)[0].innerHTML=ht):(st=(vt=me.getElementsByClassName(Fe.TITLE))===null||vt===void 0?void 0:vt[0])===null||st===void 0||st.remove();var an=this.HTMLTooltipItemsElements,ye=document.createElement("ul");ye.className=Fe.LIST,S(ye,an);var pn=this.element.querySelector(".".concat(Fe.LIST));pn?pn.replaceWith(ye):me.appendChild(ye)}(0,E.MC)(me,Gt)},W.prototype.getRelativeOffsetFromCursor=function(vt){var st=this.attributes,X=st.position,Mt=st.offset,ht=vt||X,Dt=ht.split("-"),Gt={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},Kt=this.elementSize,Fe=Kt.width,me=Kt.height,an=[-Fe/2,-me/2];return Dt.forEach(function(ye){var pn=(0,l.CR)(an,2),cn=pn[0],we=pn[1],Ye=(0,l.CR)(Gt[ye],2),Un=Ye[0],Ze=Ye[1];an=[cn+(Fe/2+Mt[0])*Un,we+(me/2+Mt[1])*Ze]}),an},W.prototype.setOffsetPosition=function(vt){var st=(0,l.CR)(vt,2),X=st[0],Mt=st[1],ht=this.attributes,Dt=ht.x,Gt=Dt===void 0?0:Dt,Kt=ht.y,Fe=Kt===void 0?0:Kt,me=ht.container,an=me.x,ye=me.y;this.element.style.left="".concat(+Gt+an+X,"px"),this.element.style.top="".concat(+Fe+ye+Mt,"px")},W.prototype.updatePosition=function(){var vt=this.attributes.showDelay,st=vt===void 0?60:vt,X=Date.now();this.timestamp>0&&X-this.timestampUn+Ie,top:weZe+xt},tn=[];Fe.split("-").forEach(function(Re){Jt[Re]?tn.push(Ye[Re]):tn.push(Re)});var qe=tn.join("-");return this.getRelativeOffsetFromCursor(qe)},W.prototype.isCursorEntered=function(vt,st){if(this.element){var X=this.element.getBoundingClientRect(),Mt=X.x,ht=X.y,Dt=X.width,Gt=X.height;return new F.b(Mt,ht,Dt,Gt).isPointIn(vt,st)}return!1},W.prototype.closeTransition=function(vt){var st=this,X=this.element.style.transition;this.element.style.transition="none",vt(),setTimeout(function(){st.element.style.transition=X},10)},W.tag="tooltip",W}(m.w)},17911:function(gt,dt,f){"use strict";f.d(dt,{b:function(){return l}});var l=function(){function U(P,m,S,E){P===void 0&&(P=0),m===void 0&&(m=0),S===void 0&&(S=0),E===void 0&&(E=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=P,this.y=m,this.width=S,this.height=E}return Object.defineProperty(U.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(U.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(U.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(U.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),U.fromRect=function(P){return new U(P.x,P.y,P.width,P.height)},U.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}},U.prototype.isPointIn=function(P,m){return P>=this.left&&P<=this.right&&m>=this.top&&m<=this.bottom},U}();function R(U){var P=U.getRenderBounds(),m=__read(P.min,2),S=m[0],E=m[1],F=__read(P.max,2),Q=F[0],O=F[1],T=Q-S,Z=O-E;return new l(S,E,T,Z)}},38242:function(gt,dt,f){"use strict";f.d(dt,{S:function(){return U}});var l=f(80813),R=f(71018);function U(P,m){return(0,R.Z)(P)?P.apply(void 0,(0,l.ev)([],(0,l.CR)(m),!1)):P}},58688:function(gt,dt,f){"use strict";f.d(dt,{A:function(){return R}});var l=f(80813),R=function(U,P){var m=function(E){return"".concat(P,"-").concat(E)},S=Object.fromEntries(Object.entries(U).map(function(E){var F=(0,l.CR)(E,2),Q=F[0],O=F[1],T=m(O);return[Q,{name:T,class:".".concat(T),id:"#".concat(T),toString:function(){return T}}]}));return Object.assign(S,{prefix:m}),S}},99247:function(gt,dt,f){"use strict";f.d(dt,{n:function(){return S}});var l=f(80813),R=f(63467),U=f(39934),P=5,m=function(E,F,Q,O){Q===void 0&&(Q=0),O===void 0&&(O=P),Object.entries(F).forEach(function(T){var Z=(0,l.CR)(T,2),tt=Z[0],W=Z[1],vt=E;Object.prototype.hasOwnProperty.call(F,tt)&&(W?(0,R.Z)(W)?((0,R.Z)(E[tt])||(vt[tt]={}),Q2?[R[0]]:R.split("")}},99769:function(gt,dt,f){"use strict";f.d(dt,{b:function(){return l}});function l(R,U,P){P===void 0&&(P=!1);var m=R.getBBox(),S=m.width,E=m.height,F=U/Math.max(S,E);return P&&(R.style.transform="scale(".concat(F,")")),F}},38974:function(gt,dt,f){"use strict";f.d(dt,{OV:function(){return T},Ys:function(){return O}});var l=f(80813),R=f(39934),U=function(Z){if(!(0,R.Z)(Z))return[];for(var tt=[],W=0;W="A"&&tt<="Z"};function F(T,Z,tt){tt===void 0&&(tt=!1);var W={};return Object.entries(T).forEach(function(vt){var st=(0,l.CR)(vt,2),X=st[0],Mt=st[1];if(!(X==="className"||X==="class")){if(E(X,"show")&&E(m(X,"show"),Z)!==tt)X===P(Z,"show")?W[X]=Mt:W[X.replace(new RegExp(R(Z)),"")]=Mt;else if(!E(X,"show")&&E(X,Z)!==tt){var ht=m(X,Z);ht==="filter"&&typeof Mt=="function"||(W[ht]=Mt)}}}),W}function Q(T,Z){return Object.entries(T).reduce(function(tt,W){var vt=(0,l.CR)(W,2),st=vt[0],X=vt[1];return st.startsWith("show")?tt["show".concat(Z).concat(st.slice(4))]=X:tt["".concat(Z).concat(R(st))]=X,tt},{})}function O(T,Z){Z===void 0&&(Z=["x","y","class","className"]);var tt=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],W={},vt={};return Object.entries(T).forEach(function(st){var X=(0,l.CR)(st,2),Mt=X[0],ht=X[1];Z.includes(Mt)||(tt.indexOf(Mt)!==-1?vt[Mt]=ht:W[Mt]=ht)}),[W,vt]}},58533:function(gt,dt,f){"use strict";f.d(dt,{Rm:function(){return Q},U4:function(){return F},Ux:function(){return S},qT:function(){return E}});var l=f(66623),R=f(40455),U,P;function m(O){P=O}var S=(0,R.Z)(function(O,T){var Z=T.fontSize,tt=T.fontFamily,W=T.fontWeight,vt=T.fontStyle,st=T.fontVariant;return P?P(O,Z):(U||(U=l.GZ.offscreenCanvasCreator.getOrCreateContext(void 0)),U.font=[vt,st,W,"".concat(Z,"px"),tt].join(" "),U.measureText(O).width)},function(O,T){return[O,Object.values(T||E(O)).join()].join("")},4096),E=function(O){var T=O.style.fontFamily||"sans-serif",Z=O.style.fontWeight||"normal",tt=O.style.fontStyle||"normal",W=O.style.fontVariant,vt=O.style.fontSize;return vt=typeof vt=="object"?vt.value:vt,{fontSize:vt,fontFamily:T,fontWeight:Z,fontStyle:tt,fontVariant:W}};function F(O){return O.nodeName==="text"?O:O.nodeName==="g"&&O.children.length===1&&O.children[0].nodeName==="text"?O.children[0]:null}function Q(O,T){var Z=F(O);Z&&Z.attr(T)}},69014:function(gt,dt,f){"use strict";f.d(dt,{Cp:function(){return U},$Z:function(){return R},WD:function(){return P}});function l(m,S){S(m),m.children&&m.children.forEach(function(E){E&&l(E,S)})}function R(m){P(m,!0)}function U(m){P(m,!1)}function P(m,S){var E=S?"visible":"hidden";l(m,function(F){F.attr("visibility",E)})}},49336:function(gt,dt){"use strict";var f="*",l=function(){function R(){this._events={}}return R.prototype.on=function(U,P,m){return this._events[U]||(this._events[U]=[]),this._events[U].push({callback:P,once:!!m}),this},R.prototype.once=function(U,P){return this.on(U,P,!0)},R.prototype.emit=function(U){for(var P=this,m=[],S=1;Spt&&De>mt,Nt&&(typeof Nt.resetTransform=="function"?Nt.resetTransform():Nt.setTransform(1,0,0,1,0,0),Rt.clearFullScreen&&Rt.clearRect(Nt,0,0,qt*Qt,ne*Qt,Oe.background))},y=function(z,Nt){for(var Qt=[z];Qt.length>0;){var qt,ne=Qt.pop();ne.isVisible()&&!ne.isCulled()&&(Yn?Rt.renderDisplayObjectOptimized(ne,Nt,Rt.context,Q(Rt,Kt)[Kt],Ut):Rt.renderDisplayObject(ne,Nt,Rt.context,Q(Rt,Kt)[Kt],Ut));for(var un=((qt=ne.sortable)===null||qt===void 0||(qt=qt.sorted)===null||qt===void 0?void 0:qt.length)>0?ne.sortable.sorted:ne.childNodes,pt=un.length-1;pt>=0;pt--)Qt.push(un[pt])}};gn.hooks.endFrame.tap(Ue.tag,function(){if(M(),mn.root.childNodes.length===0){Rt.clearFullScreenLastFrame=!0;return}Yn=Oe.renderer.getConfig().enableRenderingOptimization,Q(Rt,Kt)[Kt]={restoreStack:[],prevObject:null,currentContext:Q(Rt,Kt)[Kt].currentContext},Q(Rt,Kt)[Kt].currentContext.clear(),Rt.clearFullScreenLastFrame=!1;var D=ot.getContext(),z=ot.getDPR();if(Z.fromScaling(Rt.dprMatrix,[z,z,1]),Z.multiply(Rt.vpMatrix,Rt.dprMatrix,Be.getOrthoMatrix()),Rt.clearFullScreen)Yn?(D.save(),y(mn.root,D),D.restore()):y(mn.root,D);else{var Nt=Rt.safeMergeAABB(Rt.mergeDirtyAABBs(Rt.renderQueue));if(m.mN.isEmpty(Nt)){Rt.renderQueue=[];return}var Qt=Rt.convertAABB2Rect(Nt),qt=Qt.x,ne=Qt.y,un=Qt.width,pt=Qt.height,mt=tt.fF(Rt.vec3a,[qt,ne,0],Rt.vpMatrix),ct=tt.fF(Rt.vec3b,[qt+un,ne,0],Rt.vpMatrix),Ct=tt.fF(Rt.vec3c,[qt,ne+pt,0],Rt.vpMatrix),zt=tt.fF(Rt.vec3d,[qt+un,ne+pt,0],Rt.vpMatrix),De=Math.min(mt[0],ct[0],zt[0],Ct[0]),Yt=Math.min(mt[1],ct[1],zt[1],Ct[1]),Le=Math.max(mt[0],ct[0],zt[0],Ct[0]),sn=Math.max(mt[1],ct[1],zt[1],Ct[1]),Mn=Math.floor(De),Nn=Math.floor(Yt),ir=Math.ceil(Le-De),Kn=Math.ceil(sn-Yt);D.save(),Rt.clearRect(D,Mn,Nn,ir,Kn,Oe.background),D.beginPath(),D.rect(Mn,Nn,ir,Kn),D.clip(),D.setTransform(Rt.vpMatrix[0],Rt.vpMatrix[1],Rt.vpMatrix[4],Rt.vpMatrix[5],Rt.vpMatrix[12],Rt.vpMatrix[13]);var qn=Oe.renderer.getConfig(),gr=qn.enableDirtyRectangleRenderingDebug;gr&&x.dispatchEvent(new m.Aw(m.$6.DIRTY_RECTANGLE,{dirtyRect:{x:Mn,y:Nn,width:ir,height:Kn}}));var He=Nt.getMin(),Tn=(0,F.Z)(He,2),or=Tn[0],En=Tn[1],kr=Nt.getMax(),_r=(0,F.Z)(kr,2),Cr=_r[0],br=_r[1],ni=mn.root.ownerDocument.elementsFromBBox(or,En,Cr,br);ni.sort(function(Br,Wr){return Br.sortable.renderOrder-Wr.sortable.renderOrder}).forEach(function(Br){Br&&Br.isVisible()&&!Br.isCulled()&&Rt.renderDisplayObject(Br,D,Rt.context,Q(Rt,Kt)[Kt],Ut)}),D.restore(),Rt.renderQueue.forEach(function(Br){Rt.saveDirtyAABB(Br)}),Rt.renderQueue=[]}Q(Rt,Kt)[Kt].restoreStack.forEach(function(){D.restore()}),Q(Rt,Kt)[Kt].restoreStack=[]}),gn.hooks.render.tap(Ue.tag,function(D){Rt.clearFullScreen||Rt.renderQueue.push(D)})}},{key:"clearRect",value:function(ve,Ut,Rt,he,Oe,Be){ve.clearRect(Ut,Rt,he,Oe),Be&&(ve.fillStyle=Be,ve.fillRect(Ut,Rt,he,Oe))}},{key:"renderDisplayObjectOptimized",value:function(ve,Ut,Rt,he,Oe){var Be=ve.nodeName,gn=!1,mn=!1,$n=this.context.styleRendererFactory[Be],Yn=this.pathGeneratorFactory[Be],ot=ve.parsedStyle.clipPath;if(ot){gn=!he.prevObject||!Z.exactEquals(ot.getWorldTransform(),he.prevObject.getWorldTransform()),gn&&(this.applyWorldTransform(Ut,ot),he.prevObject=null);var x=this.pathGeneratorFactory[ot.nodeName];x&&(Ut.save(),mn=!0,Ut.beginPath(),x(Ut,ot.parsedStyle),Ut.closePath(),Ut.clip())}if($n){gn=!he.prevObject||!Z.exactEquals(ve.getWorldTransform(),he.prevObject.getWorldTransform()),gn&&this.applyWorldTransform(Ut,ve);var M=!he.prevObject;if(!M){var y=he.prevObject.nodeName;Be===m.bn.TEXT?M=y!==m.bn.TEXT:Be===m.bn.IMAGE?M=y!==m.bn.IMAGE:M=y===m.bn.TEXT||y===m.bn.IMAGE}$n.applyStyleToContext(Ut,ve,M,he),he.prevObject=ve}Yn&&(Ut.beginPath(),Yn(Ut,ve.parsedStyle),Be!==m.bn.LINE&&Be!==m.bn.PATH&&Be!==m.bn.POLYLINE&&Ut.closePath()),$n&&$n.drawToContext(Ut,ve,Q(this,Kt)[Kt],this,Oe),mn&&Ut.restore(),ve.dirty(!1)}},{key:"renderDisplayObject",value:function(ve,Ut,Rt,he,Oe){var Be=ve.nodeName,gn=he.restoreStack[he.restoreStack.length-1];gn&&!(ve.compareDocumentPosition(gn)&m.NB.DOCUMENT_POSITION_CONTAINS)&&(Ut.restore(),he.restoreStack.pop());var mn=this.context.styleRendererFactory[Be],$n=this.pathGeneratorFactory[Be],Yn=ve.parsedStyle.clipPath;if(Yn){this.applyWorldTransform(Ut,Yn);var ot=this.pathGeneratorFactory[Yn.nodeName];ot&&(Ut.save(),he.restoreStack.push(ve),Ut.beginPath(),ot(Ut,Yn.parsedStyle),Ut.closePath(),Ut.clip())}mn&&(this.applyWorldTransform(Ut,ve),Ut.save(),this.applyAttributesToContext(Ut,ve)),$n&&(Ut.beginPath(),$n(Ut,ve.parsedStyle),Be!==m.bn.LINE&&Be!==m.bn.PATH&&Be!==m.bn.POLYLINE&&Ut.closePath()),mn&&(mn.render(Ut,ve.parsedStyle,ve,Rt,this,Oe),Ut.restore()),ve.dirty(!1)}},{key:"applyAttributesToContext",value:function(ve,Ut){var Rt=Ut.parsedStyle,he=Rt.stroke,Oe=Rt.fill,Be=Rt.opacity,gn=Rt.lineDash,mn=Rt.lineDashOffset;gn&&ve.setLineDash(gn),(0,W.Z)(mn)||(ve.lineDashOffset=mn),(0,W.Z)(Be)||(ve.globalAlpha*=Be),!(0,W.Z)(he)&&!Array.isArray(he)&&!he.isNone&&(ve.strokeStyle=Ut.attributes.stroke),!(0,W.Z)(Oe)&&!Array.isArray(Oe)&&!Oe.isNone&&(ve.fillStyle=Ut.attributes.fill)}},{key:"convertAABB2Rect",value:function(ve){var Ut=ve.getMin(),Rt=ve.getMax(),he=Math.floor(Ut[0]),Oe=Math.floor(Ut[1]),Be=Math.ceil(Rt[0]),gn=Math.ceil(Rt[1]),mn=Be-he,$n=gn-Oe;return{x:he,y:Oe,width:mn,height:$n}}},{key:"mergeDirtyAABBs",value:function(ve){var Ut=new m.mN;return ve.forEach(function(Rt){var he=Rt.getRenderBounds();Ut.add(he);var Oe=Rt.renderable.dirtyRenderBounds;Oe&&Ut.add(Oe)}),Ut}},{key:"saveDirtyAABB",value:function(ve){var Ut=ve.renderable;Ut.dirtyRenderBounds||(Ut.dirtyRenderBounds=new m.mN);var Rt=ve.getRenderBounds();Rt&&Ut.dirtyRenderBounds.update(Rt.center,Rt.halfExtents)}},{key:"applyWorldTransform",value:function(ve,Ut,Rt){Rt?(Z.copy(this.tmpMat4,Ut.getLocalTransform()),Z.multiply(this.tmpMat4,Rt,this.tmpMat4),Z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(Z.copy(this.tmpMat4,Ut.getWorldTransform()),Z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)),ve.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 ve=new m.mN,Ut=arguments.length,Rt=new Array(Ut),he=0;he0;if(Yn){if(Rt||Ut.attributes.stroke!==he.prevObject.attributes.stroke){var ot=!(0,W.Z)(Be.stroke)&&!Array.isArray(Be.stroke)&&!Be.stroke.isNone?Ut.attributes.stroke:cn.strokeStyle;Ye(ve,"strokeStyle",ot,he.currentContext)}(Rt||Be.lineWidth!==Oe.lineWidth)&&Ye(ve,"lineWidth",(0,W.Z)(Be.lineWidth)?cn.lineWidth:Be.lineWidth,he.currentContext),(Rt||Be.lineDash!==Oe.lineDash)&&Ye(ve,"lineDash",Be.lineDash||cn.lineDash,he.currentContext),(Rt||Be.lineDashOffset!==Oe.lineDashOffset)&&Ye(ve,"lineDashOffset",(0,W.Z)(Be.lineDashOffset)?cn.lineDashOffset:Be.lineDashOffset,he.currentContext);for(var x=0;x4&&arguments[4]!==void 0?arguments[4]:!1;if(Ut){Ye(ve,"shadowColor",cn.shadowColor,he.currentContext);for(var Be=0;Be-1&&Ye(ve,"filter",mn.replace(/drop-shadow\([^)]*\)/,"").trim()||cn.filter,he.currentContext)}else Ye(ve,"filter",cn.filter,he.currentContext)}},{key:"fillToContext",value:function(ve,Ut,Rt,he,Oe){var Be=this,gn=Ut.parsedStyle,mn=gn.fill,$n=gn.fillRule,Yn=null;if(Array.isArray(mn)&&mn.length>0)mn.forEach(function(x){var M=Ye(ve,"fillStyle",an(x,Ut,ve,Be.imagePool),Rt.currentContext);Yn=Yn!=null?Yn:M,$n?ve.fill($n):ve.fill()});else{if((0,m.R)(mn)){var ot=me(mn,Ut,ve,Ut.ownerDocument.defaultView.context,he,Oe,this.imagePool);ot&&(ve.fillStyle=ot,Yn=!0)}$n?ve.fill($n):ve.fill()}Yn!==null&&Ye(ve,"fillStyle",Yn,Rt.currentContext)}},{key:"strokeToContext",value:function(ve,Ut,Rt,he,Oe){var Be=this,gn=Ut.parsedStyle.stroke,mn=null;if(Array.isArray(gn)&&gn.length>0)gn.forEach(function(ot){var x=Ye(ve,"strokeStyle",an(ot,Ut,ve,Be.imagePool),Rt.currentContext);mn=mn!=null?mn:x,ve.stroke()});else{if((0,m.R)(gn)){var $n=me(gn,Ut,ve,Ut.ownerDocument.defaultView.context,he,Oe,this.imagePool);if($n){var Yn=Ye(ve,"strokeStyle",$n,Rt.currentContext);mn=mn!=null?mn:Yn}}ve.stroke()}mn!==null&&Ye(ve,"strokeStyle",mn,Rt.currentContext)}},{key:"drawToContext",value:function(ve,Ut,Rt,he,Oe){var Be,gn=Ut.nodeName,mn=Ut.parsedStyle,$n=mn.opacity,Yn=$n===void 0?cn.globalAlpha:$n,ot=mn.fillOpacity,x=ot===void 0?cn.fillOpacity:ot,M=mn.strokeOpacity,y=M===void 0?cn.strokeOpacity:M,D=mn.lineWidth,z=D===void 0?cn.lineWidth:D,Nt=mn.fill&&!mn.fill.isNone,Qt=mn.stroke&&!mn.stroke.isNone&&z>0;if(!(!Nt&&!Qt)){var qt=!(0,W.Z)(mn.shadowColor)&&mn.shadowBlur>0,ne=mn.shadowType==="inner",un=((Be=mn.fill)===null||Be===void 0?void 0:Be.alpha)===0,pt=!!(mn.filter&&mn.filter.length),mt=qt&&Qt&&(gn===m.bn.PATH||gn===m.bn.LINE||gn===m.bn.POLYLINE||un||ne),ct=null;if(Nt){mt||this.applyShadowAndFilterStyleToContext(ve,Ut,qt,Rt);var Ct=Yn*x;ct=Ye(ve,"globalAlpha",Ct,Rt.currentContext),this.fillToContext(ve,Ut,Rt,he,Oe),mt||this.clearShadowAndFilterStyleForContext(ve,qt,pt,Rt)}if(Qt){var zt=!1,De=Yn*y,Yt=Ye(ve,"globalAlpha",De,Rt.currentContext);if(ct=Nt?ct:Yt,mt&&(this.applyShadowAndFilterStyleToContext(ve,Ut,qt,Rt),zt=!0,ne)){var Le=ve.globalCompositeOperation;ve.globalCompositeOperation="source-atop",this.strokeToContext(ve,Ut,Rt,he,Oe),ve.globalCompositeOperation=Le,this.clearShadowAndFilterStyleForContext(ve,qt,pt,Rt,!0)}this.strokeToContext(ve,Ut,Rt,he,Oe),zt&&this.clearShadowAndFilterStyleForContext(ve,qt,pt,Rt)}ct!==null&&Ye(ve,"globalAlpha",ct,Rt.currentContext)}}}])}(),Ze=function(Ue){function be(){return(0,R.Z)(this,be),(0,U.Z)(this,be,arguments)}return(0,P.Z)(be,Ue),(0,l.Z)(be,[{key:"render",value:function(Ut,Rt,he,Oe,Be,gn){var mn=Rt.fill,$n=Rt.fillRule,Yn=Rt.opacity,ot=Yn===void 0?1:Yn,x=Rt.fillOpacity,M=x===void 0?1:x,y=Rt.stroke,D=Rt.strokeOpacity,z=D===void 0?1:D,Nt=Rt.lineWidth,Qt=Nt===void 0?1:Nt,qt=Rt.lineCap,ne=Rt.lineJoin,un=Rt.shadowType,pt=Rt.shadowColor,mt=Rt.shadowBlur,ct=Rt.filter,Ct=Rt.miterLimit,zt=mn&&!mn.isNone,De=y&&!y.isNone&&Qt>0,Yt=(mn==null?void 0:mn.alpha)===0,Le=!!(ct&&ct.length),sn=!(0,W.Z)(pt)&&mt>0,Mn=he.nodeName,Nn=un==="inner",ir=De&&sn&&(Mn===m.bn.PATH||Mn===m.bn.LINE||Mn===m.bn.POLYLINE||Yt||Nn);zt&&(Ut.globalAlpha=ot*M,ir||Ie(he,Ut,sn),xt(Ut,he,mn,$n,Oe,Be,gn,this.imagePool),ir||this.clearShadowAndFilter(Ut,Le,sn)),De&&(Ut.globalAlpha=ot*z,Ut.lineWidth=Qt,(0,W.Z)(Ct)||(Ut.miterLimit=Ct),(0,W.Z)(qt)||(Ut.lineCap=qt),(0,W.Z)(ne)||(Ut.lineJoin=ne),ir&&(Nn&&(Ut.globalCompositeOperation="source-atop"),Ie(he,Ut,!0),Nn&&(Jt(Ut,he,y,Oe,Be,gn,this.imagePool),Ut.globalCompositeOperation=cn.globalCompositeOperation,this.clearShadowAndFilter(Ut,Le,!0))),Jt(Ut,he,y,Oe,Be,gn,this.imagePool))}},{key:"clearShadowAndFilter",value:function(Ut,Rt,he){if(he&&(Ut.shadowColor="transparent",Ut.shadowBlur=0),Rt){var Oe=Ut.filter;!(0,W.Z)(Oe)&&Oe.indexOf("drop-shadow")>-1&&(Ut.filter=Oe.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(Un);function Ie(Ue,be,ve){var Ut=Ue.parsedStyle,Rt=Ut.filter,he=Ut.shadowColor,Oe=Ut.shadowBlur,Be=Ut.shadowOffsetX,gn=Ut.shadowOffsetY;Rt&&Rt.length&&(be.filter=Ue.style.filter),ve&&(be.shadowColor=he.toString(),be.shadowBlur=Oe||0,be.shadowOffsetX=Be||0,be.shadowOffsetY=gn||0)}function xt(Ue,be,ve,Ut,Rt,he,Oe,Be){var gn=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(ve)?ve.forEach(function(mn){Ue.fillStyle=an(mn,be,Ue,Be),gn||(Ut?Ue.fill(Ut):Ue.fill())}):((0,m.R)(ve)&&(Ue.fillStyle=me(ve,be,Ue,Rt,he,Oe,Be)),gn||(Ut?Ue.fill(Ut):Ue.fill()))}function Jt(Ue,be,ve,Ut,Rt,he,Oe){var Be=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(ve)?ve.forEach(function(gn){Ue.strokeStyle=an(gn,be,Ue,Oe),Be||Ue.stroke()}):((0,m.R)(ve)&&(Ue.strokeStyle=me(ve,be,Ue,Ut,Rt,he,Oe)),Be||Ue.stroke())}function tn(Ue,be){var ve=(0,F.Z)(Ue,4),Ut=ve[0],Rt=ve[1],he=ve[2],Oe=ve[3],Be=(0,F.Z)(be,4),gn=Be[0],mn=Be[1],$n=Be[2],Yn=Be[3],ot=Math.max(Ut,gn),x=Math.max(Rt,mn),M=Math.min(Ut+he,gn+$n),y=Math.min(Rt+Oe,mn+Yn);return M<=ot||y<=x?null:[ot,x,M-ot,y-x]}function qe(Ue,be){var ve=tt.fF(tt.Ue(),[Ue[0],Ue[1],0],be),Ut=tt.fF(tt.Ue(),[Ue[0]+Ue[2],Ue[1],0],be),Rt=tt.fF(tt.Ue(),[Ue[0],Ue[1]+Ue[3],0],be),he=tt.fF(tt.Ue(),[Ue[0]+Ue[2],Ue[1]+Ue[3],0],be);return[Math.min(ve[0],Ut[0],Rt[0],he[0]),Math.min(ve[1],Ut[1],Rt[1],he[1]),Math.max(ve[0],Ut[0],Rt[0],he[0])-Math.min(ve[0],Ut[0],Rt[0],he[0]),Math.max(ve[1],Ut[1],Rt[1],he[1])-Math.min(ve[1],Ut[1],Rt[1],he[1])]}var Re=function(Ue){function be(){return(0,R.Z)(this,be),(0,U.Z)(this,be,arguments)}return(0,P.Z)(be,Ue),(0,l.Z)(be,[{key:"renderDownSampled",value:function(Ut,Rt,he,Oe){var Be=Oe.src,gn=Oe.imageCache;if(!gn.downSampled){this.imagePool.createDownSampledImage(Be,he).then(function(){he.ownerDocument&&(he.dirty(),he.ownerDocument.defaultView.context.renderingService.dirty())}).catch(function(mn){console.error(mn)});return}Ut.drawImage(gn.downSampled,Math.floor(Oe.drawRect[0]),Math.floor(Oe.drawRect[1]),Math.ceil(Oe.drawRect[2]),Math.ceil(Oe.drawRect[3]))}},{key:"renderTile",value:function(Ut,Rt,he,Oe){var Be=Oe.src,gn=Oe.imageCache,mn=Oe.imageRect,$n=Oe.drawRect,Yn=gn.size,ot=Ut.getTransform(),x=ot.a,M=ot.b,y=ot.c,D=ot.d,z=ot.e,Nt=ot.f;if(Ut.resetTransform(),!(gn!=null&&gn.gridSize)){this.imagePool.createImageTiles(Be,[],function(){he.ownerDocument&&(he.dirty(),he.ownerDocument.defaultView.context.renderingService.dirty())},he).catch(function(sn){console.error(sn)});return}for(var Qt=[Yn[0]/mn[2],Yn[1]/mn[3]],qt=[gn.tileSize[0]/Qt[0],gn.tileSize[1]/Qt[1]],ne=[Math.floor(($n[0]-mn[0])/qt[0]),Math.ceil(($n[0]+$n[2]-mn[0])/qt[0])],un=ne[0],pt=ne[1],mt=[Math.floor(($n[1]-mn[1])/qt[1]),Math.ceil(($n[1]+$n[3]-mn[1])/qt[1])],ct=mt[0],Ct=mt[1],zt=ct;zt<=Ct;zt++)for(var De=un;De<=pt;De++){var Yt=gn.tiles[zt][De];if(Yt){var Le=[Math.floor(mn[0]+Yt.tileX*qt[0]),Math.floor(mn[1]+Yt.tileY*qt[1]),Math.ceil(qt[0]),Math.ceil(qt[1])];Ut.drawImage(Yt.data,Le[0],Le[1],Le[2],Le[3])}}Ut.setTransform(x,M,y,D,z,Nt)}},{key:"render",value:function(Ut,Rt,he){var Oe=Rt.x,Be=Oe===void 0?0:Oe,gn=Rt.y,mn=gn===void 0?0:gn,$n=Rt.width,Yn=Rt.height,ot=Rt.src,x=Rt.shadowColor,M=Rt.shadowBlur,y=this.imagePool.getImageSync(ot,he),D=y==null?void 0:y.img,z=$n,Nt=Yn;if(D){z||(z=D.width),Nt||(Nt=D.height);var Qt=!(0,W.Z)(x)&&M>0;Ie(he,Ut,Qt);try{var qt=he.ownerDocument.defaultView.getContextService().getDomElement(),ne=qt.width,un=qt.height,pt=Ut.getTransform(),mt=pt.a,ct=pt.b,Ct=pt.c,zt=pt.d,De=pt.e,Yt=pt.f,Le=Z.fromValues(mt,Ct,0,0,ct,zt,0,0,0,0,1,0,De,Yt,0,1),sn=qe([Be,mn,z,Nt],Le),Mn=tn([0,0,ne,un],sn);if(!Mn)return;if(!he.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){be.renderFull(Ut,Rt,he,{image:D,drawRect:[Be,mn,z,Nt]});return}var Nn=sn[2]/y.size[0];if(Nn<(y.downSamplingRate||.5)){this.renderDownSampled(Ut,Rt,he,{src:ot,imageCache:y,drawRect:[Be,mn,z,Nt]});return}if(!ImagePool.isSupportTile){be.renderFull(Ut,Rt,he,{image:D,drawRect:[Be,mn,z,Nt]});return}this.renderTile(Ut,Rt,he,{src:ot,imageCache:y,imageRect:sn,drawRect:Mn})}catch(ir){}}}},{key:"drawToContext",value:function(Ut,Rt,he,Oe,Be){this.render(Ut,Rt.parsedStyle,Rt)}}],[{key:"renderFull",value:function(Ut,Rt,he,Oe){Ut.drawImage(Oe.image,Math.floor(Oe.drawRect[0]),Math.floor(Oe.drawRect[1]),Math.ceil(Oe.drawRect[2]),Math.ceil(Oe.drawRect[3]))}}])}(Ze),Je=function(Ue){function be(){return(0,R.Z)(this,be),(0,U.Z)(this,be,arguments)}return(0,P.Z)(be,Ue),(0,l.Z)(be,[{key:"render",value:function(Ut,Rt,he,Oe,Be,gn){he.getBounds();var mn=Rt.lineWidth,$n=mn===void 0?1:mn,Yn=Rt.textAlign,ot=Yn===void 0?"start":Yn,x=Rt.textBaseline,M=x===void 0?"alphabetic":x,y=Rt.lineJoin,D=y===void 0?"miter":y,z=Rt.miterLimit,Nt=z===void 0?10:z,Qt=Rt.letterSpacing,qt=Qt===void 0?0:Qt,ne=Rt.stroke,un=Rt.fill,pt=Rt.fillRule,mt=Rt.fillOpacity,ct=mt===void 0?1:mt,Ct=Rt.strokeOpacity,zt=Ct===void 0?1:Ct,De=Rt.opacity,Yt=De===void 0?1:De,Le=Rt.metrics,sn=Rt.x,Mn=sn===void 0?0:sn,Nn=Rt.y,ir=Nn===void 0?0:Nn,Kn=Rt.dx,qn=Rt.dy,gr=Rt.shadowColor,He=Rt.shadowBlur,Tn=Rt.textDecorationLine,or=Le.font,En=Le.lines,kr=Le.height,_r=Le.lineHeight,Cr=Le.lineMetrics;Ut.font=or,Ut.lineWidth=$n,Ut.textAlign=ot==="middle"?"center":ot;var br=M;br==="alphabetic"&&(br="bottom"),Ut.lineJoin=D,(0,W.Z)(Nt)||(Ut.miterLimit=Nt);var ni=ir;M==="middle"?ni+=-kr/2-_r/2:M==="bottom"||M==="alphabetic"||M==="ideographic"?ni+=-kr:(M==="top"||M==="hanging")&&(ni+=-_r);var Br=Mn+(Kn||0);ni+=qn||0,En.length===1&&(br==="bottom"?(br="middle",ni-=.5*kr):br==="top"&&(br="middle",ni+=.5*kr)),Ut.textBaseline=br;var Wr=!(0,W.Z)(gr)&&He>0;Ie(he,Ut,Wr);for(var Pn=0;Pn0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,be),ve=(0,U.Z)(this,be),ve.name="canvas-renderer",ve.options=Ut,ve}return(0,P.Z)(be,Ue),(0,l.Z)(be,[{key:"init",value:function(){var Ut,Rt=(0,E.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),he=this.context.imagePool,Oe=new Ze(he),Be=(Ut={},(0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)(Ut,m.bn.CIRCLE,Oe),m.bn.ELLIPSE,Oe),m.bn.RECT,Oe),m.bn.IMAGE,new Re(he)),m.bn.TEXT,new Je(he)),m.bn.LINE,Oe),m.bn.POLYLINE,Oe),m.bn.POLYGON,Oe),m.bn.PATH,Oe),m.bn.GROUP,void 0),(0,S.Z)((0,S.Z)((0,S.Z)(Ut,m.bn.HTML,void 0),m.bn.MESH,void 0),m.bn.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=Be,this.context.styleRendererFactory=Be,this.addRenderingPlugin(new Fe(Rt))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(m.F6),ge=Object.freeze({__proto__:null,CircleRenderer:Ze,DefaultRenderer:Ze,EllipseRenderer:Ze,ImageRenderer:Re,LineRenderer:Ze,PathRenderer:Ze,Plugin:rn,PolygonRenderer:Ze,PolylineRenderer:Ze,RectRenderer:Ze,TextRenderer:Je}),Pe=tt.Ue(),Tt=tt.Ue(),yt=tt.Ue(),fe=Z.create(),nn=function(){function Ue(){var be=this;(0,R.Z)(this,Ue),this.isHit=function(ve,Ut,Rt,he){var Oe=be.context.pointInPathPickerFactory[ve.nodeName];if(Oe){var Be=Z.invert(fe,Rt),gn=tt.fF(Tt,tt.t8(yt,Ut[0],Ut[1],0),Be);if(Oe(ve,new m.E9(gn[0],gn[1]),he,be.isPointInPath,be.context,be.runtime))return!0}return!1},this.isPointInPath=function(ve,Ut){var Rt=be.runtime.offscreenCanvasCreator.getOrCreateContext(be.context.config.offscreenCanvas),he=be.context.pathGeneratorFactory[ve.nodeName];return he&&(Rt.beginPath(),he(Rt,ve.parsedStyle),Rt.closePath()),Rt.isPointInPath(Ut.x,Ut.y)}}return(0,l.Z)(Ue,[{key:"apply",value:function(ve,Ut){var Rt,he=this,Oe=ve.renderingService,Be=ve.renderingContext;this.context=ve,this.runtime=Ut;var gn=(Rt=Be.root)===null||Rt===void 0?void 0:Rt.ownerDocument;Oe.hooks.pick.tapPromise(Ue.tag,function(){var mn=(0,Dt.Z)((0,ht.Z)().mark(function $n(Yn){return(0,ht.Z)().wrap(function(ot){for(;;)switch(ot.prev=ot.next){case 0:return ot.abrupt("return",he.pick(gn,Yn));case 1:case"end":return ot.stop()}},$n)}));return function($n){return mn.apply(this,arguments)}}()),Oe.hooks.pickSync.tap(Ue.tag,function(mn){return he.pick(gn,mn)})}},{key:"pick",value:function(ve,Ut){var Rt=Ut.topmost,he=Ut.position,Oe=he.x,Be=he.y,gn=tt.t8(Pe,Oe,Be,0),mn=ve.elementsFromBBox(gn[0],gn[1],gn[0],gn[1]),$n=[],Yn=(0,Mt.Z)(mn),ot;try{for(Yn.s();!(ot=Yn.n()).done;){var x=ot.value,M=x.getWorldTransform(),y=this.isHit(x,gn,M,!1);if(y){var D=(0,m.Oi)(x);if(D){var z=D.parsedStyle.clipPath,Nt=this.isHit(z,gn,z.getWorldTransform(),!0);if(Nt){if(Rt)return Ut.picked=[x],Ut;$n.push(x)}}else{if(Rt)return Ut.picked=[x],Ut;$n.push(x)}}}}catch(Qt){Yn.e(Qt)}finally{Yn.f()}return Ut.picked=$n,Ut}}])}();nn.tag="CanvasPicker";function We(Ue,be,ve){var Ut=Ue.parsedStyle,Rt=Ut.cx,he=Rt===void 0?0:Rt,Oe=Ut.cy,Be=Oe===void 0?0:Oe,gn=Ut.r,mn=Ut.fill,$n=Ut.stroke,Yn=Ut.lineWidth,ot=Yn===void 0?1:Yn,x=Ut.increasedLineWidthForHitTesting,M=x===void 0?0:x,y=Ut.pointerEvents,D=y===void 0?"auto":y,z=(ot+M)/2,Nt=(0,Gt.TE)(he,Be,be.x,be.y),Qt=(0,m.L1)(D,mn,$n),qt=(0,F.Z)(Qt,2),ne=qt[0],un=qt[1];return ne&&un||ve?Nt<=gn+z:ne?Nt<=gn:un?Nt>=gn-z&&Nt<=gn+z:!1}function le(Ue,be,ve,Ut){return Ue/(ve*ve)+be/(Ut*Ut)}function Ke(Ue,be,ve){var Ut=Ue.parsedStyle,Rt=Ut.cx,he=Rt===void 0?0:Rt,Oe=Ut.cy,Be=Oe===void 0?0:Oe,gn=Ut.rx,mn=Ut.ry,$n=Ut.fill,Yn=Ut.stroke,ot=Ut.lineWidth,x=ot===void 0?1:ot,M=Ut.increasedLineWidthForHitTesting,y=M===void 0?0:M,D=Ut.pointerEvents,z=D===void 0?"auto":D,Nt=be.x,Qt=be.y,qt=(0,m.L1)(z,$n,Yn),ne=(0,F.Z)(qt,2),un=ne[0],pt=ne[1],mt=(x+y)/2,ct=(Nt-he)*(Nt-he),Ct=(Qt-Be)*(Qt-Be);return un&&pt||ve?le(ct,Ct,gn+mt,mn+mt)<=1:un?le(ct,Ct,gn,mn)<=1:pt?le(ct,Ct,gn-mt,mn-mt)>=1&&le(ct,Ct,gn+mt,mn+mt)<=1:!1}function Me(Ue,be,ve,Ut,Rt,he){return Rt>=Ue&&Rt<=Ue+ve&&he>=be&&he<=be+Ut}function kt(Ue,be,ve,Ut,Rt,he,Oe){var Be=Rt/2;return Me(Ue-Be,be-Be,ve,Rt,he,Oe)||Me(Ue+ve-Be,be-Be,Rt,Ut,he,Oe)||Me(Ue+Be,be+Ut-Be,ve,Rt,he,Oe)||Me(Ue-Be,be+Be,Rt,Ut,he,Oe)}function ee(Ue,be,ve,Ut,Rt,he,Oe,Be){var gn=(Math.atan2(Be-be,Oe-Ue)+Math.PI*2)%(Math.PI*2),mn={x:Ue+ve*Math.cos(gn),y:be+ve*Math.sin(gn)};return(0,Gt.TE)(mn.x,mn.y,Oe,Be)<=he/2}function Ne(Ue,be,ve,Ut,Rt,he,Oe){var Be=Math.min(Ue,ve),gn=Math.max(Ue,ve),mn=Math.min(be,Ut),$n=Math.max(be,Ut),Yn=Rt/2;return he>=Be-Yn&&he<=gn+Yn&&Oe>=mn-Yn&&Oe<=$n+Yn?(0,Gt._x)(Ue,be,ve,Ut,he,Oe)<=Rt/2:!1}function I(Ue,be,ve,Ut,Rt){var he=Ue.length;if(he<2)return!1;for(var Oe=0;Oe0!=de(Be[1]-ve)>0&&de(be-(ve-Oe[1])*(Oe[0]-Be[0])/(Oe[1]-Be[1])-Oe[0])<0&&(Ut=!Ut)}return Ut}function Ge(Ue,be,ve){for(var Ut=!1,Rt=0;Rt=Rt.min[0]&&be.y>=Rt.min[1]&&be.x<=Rt.max[0]&&be.y<=Rt.max[1]}var xe=function(Ue){function be(){var ve;(0,R.Z)(this,be);for(var Ut=arguments.length,Rt=new Array(Ut),he=0;heBe?Oe:Be,mn=Oe>Be?1:Oe/Be,$n=Oe>Be?Be/Oe:1;Ue.save(),Ue.scale(mn,$n),Ue.arc(Ut,he,gn,0,Math.PI*2)}}function fn(Ue,be){var ve=be.x1,Ut=be.y1,Rt=be.x2,he=be.y2,Oe=be.markerStart,Be=be.markerEnd,gn=be.markerStartOffset,mn=be.markerEndOffset,$n=0,Yn=0,ot=0,x=0,M=0,y,D;Oe&&(0,m.RV)(Oe)&&gn&&(y=Rt-ve,D=he-Ut,M=Math.atan2(D,y),$n=Math.cos(M)*(gn||0),Yn=Math.sin(M)*(gn||0)),Be&&(0,m.RV)(Be)&&mn&&(y=ve-Rt,D=Ut-he,M=Math.atan2(D,y),ot=Math.cos(M)*(mn||0),x=Math.sin(M)*(mn||0)),Ue.moveTo(ve+$n,Ut+Yn),Ue.lineTo(Rt+ot,he+x)}function Hn(Ue,be){var ve=be.markerStart,Ut=be.markerEnd,Rt=be.markerStartOffset,he=be.markerEndOffset,Oe=be.d,Be=Oe.absolutePath,gn=Oe.segments,mn=0,$n=0,Yn=0,ot=0,x=0,M,y;if(ve&&(0,m.RV)(ve)&&Rt){var D=ve.parentNode.getStartTangent(),z=(0,F.Z)(D,2),Nt=z[0],Qt=z[1];M=Nt[0]-Qt[0],y=Nt[1]-Qt[1],x=Math.atan2(y,M),mn=Math.cos(x)*(Rt||0),$n=Math.sin(x)*(Rt||0)}if(Ut&&(0,m.RV)(Ut)&&he){var qt=Ut.parentNode.getEndTangent(),ne=(0,F.Z)(qt,2),un=ne[0],pt=ne[1];M=un[0]-pt[0],y=un[1]-pt[1],x=Math.atan2(y,M),Yn=Math.cos(x)*(he||0),ot=Math.sin(x)*(he||0)}for(var mt=0;mtkr?En:kr,Wr=En>kr?1:En/kr,Pn=En>kr?kr/En:1;Ue.translate(Tn,or),Ue.rotate(br),Ue.scale(Wr,Pn),Ue.arc(0,0,Br,_r,Cr,!!(1-ni)),Ue.scale(1/Wr,1/Pn),Ue.rotate(-br),Ue.translate(-Tn,-or)}Yt&&Ue.lineTo(ct[6]+Yn,ct[7]+ot);break}case"Z":Ue.closePath();break}}}function Zn(Ue,be){var ve=be.markerStart,Ut=be.markerEnd,Rt=be.markerStartOffset,he=be.markerEndOffset,Oe=be.points.points,Be=Oe.length,gn=Oe[0][0],mn=Oe[0][1],$n=Oe[Be-1][0],Yn=Oe[Be-1][1],ot=0,x=0,M=0,y=0,D=0,z,Nt;ve&&(0,m.RV)(ve)&&Rt&&(z=Oe[1][0]-Oe[0][0],Nt=Oe[1][1]-Oe[0][1],D=Math.atan2(Nt,z),ot=Math.cos(D)*(Rt||0),x=Math.sin(D)*(Rt||0)),Ut&&(0,m.RV)(Ut)&&he&&(z=Oe[Be-1][0]-Oe[0][0],Nt=Oe[Be-1][1]-Oe[0][1],D=Math.atan2(Nt,z),M=Math.cos(D)*(he||0),y=Math.sin(D)*(he||0)),Ue.moveTo(gn+(ot||M),mn+(x||y));for(var Qt=1;Qt0?1:-1,x=gn>0?1:-1,M=ot+x===0,y=Oe.map(function(ne){return(0,st.Z)(ne,0,Math.min(Math.abs(mn)/2,Math.abs($n)/2))}),D=(0,F.Z)(y,4),z=D[0],Nt=D[1],Qt=D[2],qt=D[3];Ue.moveTo(ot*z+Ut,he),Ue.lineTo(mn-ot*Nt+Ut,he),Nt!==0&&Ue.arc(mn-ot*Nt+Ut,x*Nt+he,Nt,-x*Math.PI/2,ot>0?0:Math.PI,M),Ue.lineTo(mn+Ut,$n-x*Qt+he),Qt!==0&&Ue.arc(mn-ot*Qt+Ut,$n-x*Qt+he,Qt,ot>0?0:Math.PI,x>0?Math.PI/2:1.5*Math.PI,M),Ue.lineTo(ot*qt+Ut,$n+he),qt!==0&&Ue.arc(ot*qt+Ut,$n-x*qt+he,qt,x>0?Math.PI/2:-Math.PI/2,ot>0?Math.PI:0,M),Ue.lineTo(Ut,x*z+he),z!==0&&Ue.arc(ot*z+Ut,x*z+he,z,ot>0?Math.PI:0,x>0?Math.PI*1.5:Math.PI/2,M)}}var ur=function(Ue){function be(){var ve;(0,R.Z)(this,be);for(var Ut=arguments.length,Rt=new Array(Ut),he=0;he0&&Be[0]!==void 0?Be[0]:{},he=Rt.type,Oe=Rt.encoderOptions,gn.abrupt("return",this.context.canvas.toDataURL(he,Oe));case 1:case"end":return gn.stop()}},Ut,this)}));function ve(){return be.apply(this,arguments)}return ve}()}])}(),rr=function(Ue){function be(){var ve;(0,R.Z)(this,be);for(var Ut=arguments.length,Rt=new Array(Ut),he=0;he=Kt[s]&&(s==="m"&&o.length>2?(u.segments.push([g].concat(o.splice(0,2))),s="l",g=g==="m"?"l":"L"):u.segments.push([g].concat(o.splice(0,Kt[s]))),!!Kt[s]););}function cn(u){var g=u.index,s=u.pathValue,o=s.charCodeAt(g);if(o===48){u.param=0,u.index+=1;return}if(o===49){u.param=1,u.index+=1;return}u.err='[path-util]: invalid Arc flag "'.concat(s[g],'", expecting 0 or 1 at index ').concat(g)}function we(u){return u>=48&&u<=57||u===43||u===45||u===46}function Ye(u){return u>=48&&u<=57}function Un(u){var g=u.max,s=u.pathValue,o=u.index,d=o,b=!1,C=!1,G=!1,J=!1,lt;if(d>=g){u.err="[path-util]: Invalid path value at index ".concat(d,', "pathValue" is missing param');return}if(lt=s.charCodeAt(d),(lt===43||lt===45)&&(d+=1,lt=s.charCodeAt(d)),!Ye(lt)&<!==46){u.err="[path-util]: Invalid path value at index ".concat(d,', "').concat(s[d],'" is not a number');return}if(lt!==46){if(b=lt===48,d+=1,lt=s.charCodeAt(d),b&&d=5760&&g.includes(u)}function Ie(u){for(var g=u.pathValue,s=u.max;u.index0;C-=1){if(Jt(d)&&(C===3||C===4)?cn(u):Un(u),u.err.length)return;u.data.push(u.param),Ie(u),u.index=u.max||!we(s.charCodeAt(u.index)))break}pn(u)}var qe=function(){function u(g){this.pathValue=g,this.segments=[],this.max=g.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return u}();function Re(u){if(Fe(u))return[].concat(u);var g=new qe(u);for(Ie(g);g.index=b)C={x:s,y:o};else{var G=Pe([u,g],[s,o],d/b),J=G[0],lt=G[1];C={x:J,y:lt}}return{length:b,point:C,min:{x:Math.min(u,s),y:Math.min(g,o)},max:{x:Math.max(u,s),y:Math.max(g,o)}}}function yt(u,g){var s=u.x,o=u.y,d=g.x,b=g.y,C=s*d+o*b,G=Math.sqrt((Math.pow(s,2)+Math.pow(o,2))*(Math.pow(d,2)+Math.pow(b,2))),J=s*b-o*d<0?-1:1,lt=J*Math.acos(C/G);return lt}function fe(u,g,s,o,d,b,C,G,J,lt){var Ft=Math.abs,Wt=Math.sin,pe=Math.cos,ze=Math.sqrt,_e=Math.PI,dn=Ft(s),bn=Ft(o),xn=(d%360+360)%360,vn=xn*(_e/180);if(u===G&&g===J)return{x:u,y:g};if(dn===0||bn===0)return Tt(u,g,G,J,lt).point;var Wn=(u-G)/2,lr=(g-J)/2,Ir={x:pe(vn)*Wn+Wt(vn)*lr,y:-Wt(vn)*Wn+pe(vn)*lr},Tr=Math.pow(Ir.x,2)/Math.pow(dn,2)+Math.pow(Ir.y,2)/Math.pow(bn,2);Tr>1&&(dn*=ze(Tr),bn*=ze(Tr));var pr=Math.pow(dn,2)*Math.pow(bn,2)-Math.pow(dn,2)*Math.pow(Ir.y,2)-Math.pow(bn,2)*Math.pow(Ir.x,2),wr=Math.pow(dn,2)*Math.pow(Ir.y,2)+Math.pow(bn,2)*Math.pow(Ir.x,2),qr=pr/wr;qr=qr<0?0:qr;var Vr=(b!==C?1:-1)*ze(qr),ii={x:Vr*(dn*Ir.y/bn),y:Vr*(-(bn*Ir.x)/dn)},Kr={x:pe(vn)*ii.x-Wt(vn)*ii.y+(u+G)/2,y:Wt(vn)*ii.x+pe(vn)*ii.y+(g+J)/2},wi={x:(Ir.x-ii.x)/dn,y:(Ir.y-ii.y)/bn},ra=yt({x:1,y:0},wi),Ta={x:(-Ir.x-ii.x)/dn,y:(-Ir.y-ii.y)/bn},Na=yt(wi,Ta);!C&&Na>0?Na-=2*_e:C&&Na<0&&(Na+=2*_e),Na%=2*_e;var ci=ra+Na*lt,B=dn*pe(ci),w=bn*Wt(ci),N={x:pe(vn)*B-Wt(vn)*w+Kr.x,y:Wt(vn)*B+pe(vn)*w+Kr.y};return N}function nn(u,g,s,o,d,b,C,G,J,lt,Ft){var Wt,pe=Ft.bbox,ze=pe===void 0?!0:pe,_e=Ft.length,dn=_e===void 0?!0:_e,bn=Ft.sampleSize,xn=bn===void 0?30:bn,vn=typeof lt=="number",Wn=u,lr=g,Ir=0,Tr=[Wn,lr,Ir],pr=[Wn,lr],wr=0,qr={x:0,y:0},Vr=[{x:Wn,y:lr}];vn&<<=0&&(qr={x:Wn,y:lr});for(var ii=0;ii<=xn;ii+=1){if(wr=ii/xn,Wt=fe(u,g,s,o,d,b,C,G,J,wr),Wn=Wt.x,lr=Wt.y,ze&&Vr.push({x:Wn,y:lr}),dn&&(Ir+=(0,X.y)(pr,[Wn,lr])),pr=[Wn,lr],vn&&Ir>=lt&<>Tr[2]){var Kr=(Ir-lt)/(Ir-Tr[2]);qr={x:pr[0]*(1-Kr)+Tr[0]*Kr,y:pr[1]*(1-Kr)+Tr[1]*Kr}}Tr=[Wn,lr,Ir]}return vn&<>=Ir&&(qr={x:G,y:J}),{length:Ir,point:qr,min:{x:Math.min.apply(null,Vr.map(function(wi){return wi.x})),y:Math.min.apply(null,Vr.map(function(wi){return wi.y}))},max:{x:Math.max.apply(null,Vr.map(function(wi){return wi.x})),y:Math.max.apply(null,Vr.map(function(wi){return wi.y}))}}}function We(u,g,s,o,d,b,C,G,J){var lt=1-J;return{x:Math.pow(lt,3)*u+3*Math.pow(lt,2)*J*s+3*lt*Math.pow(J,2)*d+Math.pow(J,3)*C,y:Math.pow(lt,3)*g+3*Math.pow(lt,2)*J*o+3*lt*Math.pow(J,2)*b+Math.pow(J,3)*G}}function le(u,g,s,o,d,b,C,G,J,lt){var Ft,Wt=lt.bbox,pe=Wt===void 0?!0:Wt,ze=lt.length,_e=ze===void 0?!0:ze,dn=lt.sampleSize,bn=dn===void 0?10:dn,xn=typeof J=="number",vn=u,Wn=g,lr=0,Ir=[vn,Wn,lr],Tr=[vn,Wn],pr=0,wr={x:0,y:0},qr=[{x:vn,y:Wn}];xn&&J<=0&&(wr={x:vn,y:Wn});for(var Vr=0;Vr<=bn;Vr+=1){if(pr=Vr/bn,Ft=We(u,g,s,o,d,b,C,G,pr),vn=Ft.x,Wn=Ft.y,pe&&qr.push({x:vn,y:Wn}),_e&&(lr+=(0,X.y)(Tr,[vn,Wn])),Tr=[vn,Wn],xn&&lr>=J&&J>Ir[2]){var ii=(lr-J)/(lr-Ir[2]);wr={x:Tr[0]*(1-ii)+Ir[0]*ii,y:Tr[1]*(1-ii)+Ir[1]*ii}}Ir=[vn,Wn,lr]}return xn&&J>=lr&&(wr={x:C,y:G}),{length:lr,point:wr,min:{x:Math.min.apply(null,qr.map(function(Kr){return Kr.x})),y:Math.min.apply(null,qr.map(function(Kr){return Kr.y}))},max:{x:Math.max.apply(null,qr.map(function(Kr){return Kr.x})),y:Math.max.apply(null,qr.map(function(Kr){return Kr.y}))}}}function Ke(u,g,s,o,d,b,C){var G=1-C;return{x:Math.pow(G,2)*u+2*G*C*s+Math.pow(C,2)*d,y:Math.pow(G,2)*g+2*G*C*o+Math.pow(C,2)*b}}function Me(u,g,s,o,d,b,C,G){var J,lt=G.bbox,Ft=lt===void 0?!0:lt,Wt=G.length,pe=Wt===void 0?!0:Wt,ze=G.sampleSize,_e=ze===void 0?10:ze,dn=typeof C=="number",bn=u,xn=g,vn=0,Wn=[bn,xn,vn],lr=[bn,xn],Ir=0,Tr={x:0,y:0},pr=[{x:bn,y:xn}];dn&&C<=0&&(Tr={x:bn,y:xn});for(var wr=0;wr<=_e;wr+=1){if(Ir=wr/_e,J=Ke(u,g,s,o,d,b,Ir),bn=J.x,xn=J.y,Ft&&pr.push({x:bn,y:xn}),pe&&(vn+=(0,X.y)(lr,[bn,xn])),lr=[bn,xn],dn&&vn>=C&&C>Wn[2]){var qr=(vn-C)/(vn-Wn[2]);Tr={x:lr[0]*(1-qr)+Wn[0]*qr,y:lr[1]*(1-qr)+Wn[1]*qr}}Wn=[bn,xn,vn]}return dn&&C>=vn&&(Tr={x:d,y:b}),{length:vn,point:Tr,min:{x:Math.min.apply(null,pr.map(function(Vr){return Vr.x})),y:Math.min.apply(null,pr.map(function(Vr){return Vr.y}))},max:{x:Math.max.apply(null,pr.map(function(Vr){return Vr.x})),y:Math.max.apply(null,pr.map(function(Vr){return Vr.y}))}}}function kt(u,g,s){for(var o,d,b,C,G,J,lt=ge(u),Ft=typeof g=="number",Wt,pe=[],ze,_e=0,dn=0,bn=0,xn=0,vn,Wn=[],lr=[],Ir=0,Tr={x:0,y:0},pr=Tr,wr=Tr,qr=Tr,Vr=0,ii=0,Kr=lt.length;ii=g&&(qr=wr),lr.push(pr),Wn.push(Tr),Vr+=Ir,J=ze!=="Z"?vn.slice(-2):[bn,xn],_e=J[0],dn=J[1];return Ft&&g>=Vr&&(qr={x:_e,y:dn}),{length:Vr,point:qr,min:{x:Math.min.apply(null,Wn.map(function(wi){return wi.x})),y:Math.min.apply(null,Wn.map(function(wi){return wi.y}))},max:{x:Math.max.apply(null,lr.map(function(wi){return wi.x})),y:Math.max.apply(null,lr.map(function(wi){return wi.y}))}}}function ee(u,g){return kt(u,void 0,(0,Gt.pi)((0,Gt.pi)({},g),{bbox:!1,length:!0})).length}var Ne=f(2078),I=f(82639),rt=f(5131),de=function(u,g){return(u%g+g)%g},ae=de;function $e(u,g,s){if(u[s].length>7){u[s].shift();for(var o=u[s],d=s;o.length;)g[s]="A",u.splice(d+=1,0,["C"].concat(o.splice(0,6)));u.splice(s,1)}}function Ge(u){return an(u)&&u.every(function(g){var s=g[0];return"MC".includes(s)})}var Sn=f(66045);function Bt(u,g,s,o,d,b){var C=.3333333333333333,G=2/3;return[C*u+G*s,C*g+G*o,C*d+G*s,C*b+G*o,d,b]}var et=function(u,g,s,o){var d=.5,b=Pe([u,g],[s,o],d);return(0,Gt.ev)((0,Gt.ev)([],b,!0),[s,o,s,o],!1)};function Pt(u,g){var s=u[0],o=u.slice(1).map(Number),d=o[0],b=o[1],C,G=g.x1,J=g.y1,lt=g.x,Ft=g.y;switch("TQ".includes(s)||(g.qx=null,g.qy=null),s){case"M":return g.x=d,g.y=b,u;case"A":return C=[G,J].concat(o),["C"].concat((0,Sn.W)(C[0],C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],C[9]));case"Q":return g.qx=d,g.qy=b,C=[G,J].concat(o),["C"].concat(Bt(C[0],C[1],C[2],C[3],C[4],C[5]));case"L":return["C"].concat(et(G,J,d,b));case"Z":return G===lt&&J===Ft?["C",G,J,lt,Ft,lt,Ft]:["C"].concat(et(G,J,lt,Ft));default:}return u}function Xt(u,g){if(g===void 0&&(g=!1),Ge(u)){var s=[].concat(u);return g?[s,[]]:s}for(var o=ge(u),d=(0,Gt.pi)({},ye),b=[],C="",G=o.length,J,lt,Ft=[],Wt=0;WtLt)return console.warn("Maximum recursion depth reached in equalizeSegments"),[u,g];var d=Vt(u),b=Vt(g),C=d.length,G=b.length,J=d.filter(function(xn){return xn.l}).length,lt=b.filter(function(xn){return xn.l}).length,Ft=d.filter(function(xn){return xn.l}).reduce(function(xn,vn){var Wn=vn.l;return xn+Wn},0)/J||0,Wt=b.filter(function(xn){return xn.l}).reduce(function(xn,vn){var Wn=vn.l;return xn+Wn},0)/lt||0,pe=s||Math.max(C,G),ze=[Ft,Wt],_e=[pe-C,pe-G],dn=0,bn=[d,b].map(function(xn,vn){return xn.l===pe?xn.map(function(Wn){return Wn.s}):xn.map(function(Wn,lr){return dn=lr&&_e[vn]&&Wn.l>=ze[vn],_e[vn]-=dn?1:0,dn?Wn.ss:[Wn.s]}).flat()});return bn[0].length===bn[1].length?bn:Ee(bn[0],bn[1],pe,o+1)}function xe(u,g,s,o,d,b,C,G){return 3*((G-g)*(s+d)-(C-u)*(o+b)+o*(u-d)-s*(g-b)+G*(d+u/3)-C*(b+g/3))/20}function Ae(u){var g=0,s=0,o=0;return Xt(u).map(function(d){var b;switch(d[0]){case"M":return g=d[1],s=d[2],0;default:var C=d.slice(1),G=C[0],J=C[1],lt=C[2],Ft=C[3],Wt=C[4],pe=C[5];return o=xe(g,s,G,J,lt,Ft,Wt,pe),b=d.slice(-2),g=b[0],s=b[1],o}}).reduce(function(d,b){return d+b},0)}function Xe(u){return Ae(u)>=0}function yn(u){var g=u.slice(1).map(function(s,o,d){return o?d[o-1].slice(-2).concat(s.slice(1)):u[0].slice(1).concat(s.slice(1))}).map(function(s){return s.map(function(o,d){return s[s.length-d-2*(1-d%2)]})}).reverse();return[["M"].concat(g[0].slice(0,2))].concat(g.map(function(s){return["C"].concat(s.slice(2))}))}function fn(u){return u.map(function(g){return Array.isArray(g)?[].concat(g):g})}function Hn(u){var g=u.length,s=g-1;return u.map(function(o,d){return u.map(function(b,C){var G=d+C,J;return C===0||u[G]&&u[G][0]==="M"?(J=u[G],["M"].concat(J.slice(-2))):(G>=g&&(G-=s),u[G])})})}function Zn(u,g){var s=u.length-1,o=[],d=0,b=0,C=Hn(u);return C.forEach(function(G,J){u.slice(1).forEach(function(lt,Ft){b+=(0,X.y)(u[(J+Ft)%s].slice(-2),g[Ft%s].slice(-2))}),o[J]=b,b=0}),d=o.indexOf(Math.min.apply(null,o)),C[d]}var Gn=f(49527),Mr=f(39934),ur=f(50264),In=f(71018),jt=f(93785);function rr(u,g,s){return kt(u,g,(0,Gt.pi)((0,Gt.pi)({},s),{bbox:!1,length:!0})).point}var cr=f(18642),Ue=f(71369),be=f(13750),ve=f(19606),Ut=f(73001),Rt=f(11576),he=f(72054),Oe=f(42244);var Be=function(u){return u.GROUP="g",u.FRAGMENT="fragment",u.CIRCLE="circle",u.ELLIPSE="ellipse",u.IMAGE="image",u.RECT="rect",u.LINE="line",u.POLYLINE="polyline",u.POLYGON="polygon",u.TEXT="text",u.PATH="path",u.HTML="html",u.MESH="mesh",u}({}),gn=function(u){return u[u.ZERO=0]="ZERO",u[u.NEGATIVE_ONE=1]="NEGATIVE_ONE",u}({}),mn=function(){function u(){(0,R.Z)(this,u),this.plugins=[]}return(0,U.Z)(u,[{key:"addRenderingPlugin",value:function(s){this.plugins.push(s),this.context.renderingPlugins.push(s)}},{key:"removeAllRenderingPlugins",value:function(){var s=this;this.plugins.forEach(function(o){var d=s.context.renderingPlugins.indexOf(o);d>=0&&s.context.renderingPlugins.splice(d,1)})}}])}(),$n=function(){function u(g){(0,R.Z)(this,u),this.clipSpaceNearZ=gn.NEGATIVE_ONE,this.plugins=[],this.config=(0,l.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},g)}return(0,U.Z)(u,[{key:"registerPlugin",value:function(s){var o=this.plugins.findIndex(function(d){return d===s});o===-1&&this.plugins.push(s)}},{key:"unregisterPlugin",value:function(s){var o=this.plugins.findIndex(function(d){return d===s});o>-1&&this.plugins.splice(o,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(s){return this.plugins.find(function(o){return o.name===s})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(s){Object.assign(this.config,s)}}])}(),Yn=O.IH,ot=O.JG,x=O.Fp,M=O.VV,y=O.bA,D=O.lu,z=function(){function u(){(0,R.Z)(this,u),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,U.Z)(u,[{key:"update",value:function(s,o){ot(this.center,s),ot(this.halfExtents,o),D(this.min,this.center,this.halfExtents),Yn(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(s,o){Yn(this.center,o,s),y(this.center,this.center,.5),D(this.halfExtents,o,s),y(this.halfExtents,this.halfExtents,.5),ot(this.min,s),ot(this.max,o)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(s){if(!u.isEmpty(s)){if(u.isEmpty(this)){this.setMinMax(s.getMin(),s.getMax());return}var o=this.center,d=o[0],b=o[1],C=o[2],G=this.halfExtents,J=G[0],lt=G[1],Ft=G[2],Wt=d-J,pe=d+J,ze=b-lt,_e=b+lt,dn=C-Ft,bn=C+Ft,xn=s.center,vn=xn[0],Wn=xn[1],lr=xn[2],Ir=s.halfExtents,Tr=Ir[0],pr=Ir[1],wr=Ir[2],qr=vn-Tr,Vr=vn+Tr,ii=Wn-pr,Kr=Wn+pr,wi=lr-wr,ra=lr+wr;qrpe&&(pe=Vr),ii_e&&(_e=Kr),wibn&&(bn=ra),o[0]=(Wt+pe)*.5,o[1]=(ze+_e)*.5,o[2]=(dn+bn)*.5,G[0]=(pe-Wt)*.5,G[1]=(_e-ze)*.5,G[2]=(bn-dn)*.5,this.min[0]=Wt,this.min[1]=ze,this.min[2]=dn,this.max[0]=pe,this.max[1]=_e,this.max[2]=bn}}},{key:"setFromTransformedAABB",value:function(s,o){var d=this.center,b=this.halfExtents,C=s.center,G=s.halfExtents,J=o[0],lt=o[4],Ft=o[8],Wt=o[1],pe=o[5],ze=o[9],_e=o[2],dn=o[6],bn=o[10],xn=Math.abs(J),vn=Math.abs(lt),Wn=Math.abs(Ft),lr=Math.abs(Wt),Ir=Math.abs(pe),Tr=Math.abs(ze),pr=Math.abs(_e),wr=Math.abs(dn),qr=Math.abs(bn);d[0]=o[12]+J*C[0]+lt*C[1]+Ft*C[2],d[1]=o[13]+Wt*C[0]+pe*C[1]+ze*C[2],d[2]=o[14]+_e*C[0]+dn*C[1]+bn*C[2],b[0]=xn*G[0]+vn*G[1]+Wn*G[2],b[1]=lr*G[0]+Ir*G[1]+Tr*G[2],b[2]=pr*G[0]+wr*G[1]+qr*G[2],D(this.min,d,b),Yn(this.max,d,b)}},{key:"intersects",value:function(s){var o=this.getMax(),d=this.getMin(),b=s.getMax(),C=s.getMin();return d[0]<=b[0]&&o[0]>=C[0]&&d[1]<=b[1]&&o[1]>=C[1]&&d[2]<=b[2]&&o[2]>=C[2]}},{key:"intersection",value:function(s){if(!this.intersects(s))return null;var o=new u,d=x([0,0,0],this.getMin(),s.getMin()),b=M([0,0,0],this.getMax(),s.getMax());return o.setMinMax(d,b),o}},{key:"getNegativeFarPoint",value:function(s){return s.pnVertexFlag===273?ot([0,0,0],this.min):s.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:s.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:s.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:s.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:s.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:s.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(s){return s.pnVertexFlag===273?ot([0,0,0],this.max):s.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:s.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:s.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:s.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:s.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:s.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(s){return!s||s.halfExtents[0]===0&&s.halfExtents[1]===0&&s.halfExtents[2]===0}}])}(),Nt=function(){function u(g,s){(0,R.Z)(this,u),this.distance=g||0,this.normal=s||O.al(0,1,0),this.updatePNVertexFlag()}return(0,U.Z)(u,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(s){return O.AK(s,this.normal)-this.distance}},{key:"normalize",value:function(){var s=1/O.Zh(this.normal);O.bA(this.normal,this.normal,s),this.distance*=s}},{key:"intersectsLine",value:function(s,o,d){var b=this.distanceToPoint(s),C=this.distanceToPoint(o),G=b/(b-C),J=G>=0&&G<=1;return J&&d&&O.t7(d,s,o,G),J}}])}(),Qt=function(u){return u[u.OUTSIDE=4294967295]="OUTSIDE",u[u.INSIDE=0]="INSIDE",u[u.INDETERMINATE=2147483647]="INDETERMINATE",u}({}),qt=function(){function u(g){if((0,R.Z)(this,u),this.planes=[],g)this.planes=g;else for(var s=0;s<6;s++)this.planes.push(new Nt)}return(0,U.Z)(u,[{key:"extractFromVPMatrix",value:function(s){var o=(0,E.Z)(s,16),d=o[0],b=o[1],C=o[2],G=o[3],J=o[4],lt=o[5],Ft=o[6],Wt=o[7],pe=o[8],ze=o[9],_e=o[10],dn=o[11],bn=o[12],xn=o[13],vn=o[14],Wn=o[15];O.t8(this.planes[0].normal,G-d,Wt-J,dn-pe),this.planes[0].distance=Wn-bn,O.t8(this.planes[1].normal,G+d,Wt+J,dn+pe),this.planes[1].distance=Wn+bn,O.t8(this.planes[2].normal,G+b,Wt+lt,dn+ze),this.planes[2].distance=Wn+xn,O.t8(this.planes[3].normal,G-b,Wt-lt,dn-ze),this.planes[3].distance=Wn-xn,O.t8(this.planes[4].normal,G-C,Wt-Ft,dn-_e),this.planes[4].distance=Wn-vn,O.t8(this.planes[5].normal,G+C,Wt+Ft,dn+_e),this.planes[5].distance=Wn+vn,this.planes.forEach(function(lr){lr.normalize(),lr.updatePNVertexFlag()})}}])}(),ne=function(){function u(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,R.Z)(this,u),this.x=0,this.y=0,this.x=g,this.y=s}return(0,U.Z)(u,[{key:"clone",value:function(){return new u(this.x,this.y)}},{key:"copyFrom",value:function(s){this.x=s.x,this.y=s.y}}])}(),un=function(){function u(g,s,o,d){(0,R.Z)(this,u),this.x=g,this.y=s,this.width=o,this.height=d,this.left=g,this.right=g+o,this.top=s,this.bottom=s+d}return(0,U.Z)(u,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(s){return new u(s.x,s.y,s.width,s.height)}},{key:"applyTransform",value:function(s,o){var d=T.al(s.x,s.y,0,1),b=T.al(s.x+s.width,s.y,0,1),C=T.al(s.x,s.y+s.height,0,1),G=T.al(s.x+s.width,s.y+s.height,0,1),J=T.Ue(),lt=T.Ue(),Ft=T.Ue(),Wt=T.Ue();T.fF(J,d,o),T.fF(lt,b,o),T.fF(Ft,C,o),T.fF(Wt,G,o);var pe=Math.min(J[0],lt[0],Ft[0],Wt[0]),ze=Math.min(J[1],lt[1],Ft[1],Wt[1]),_e=Math.max(J[0],lt[0],Ft[0],Wt[0]),dn=Math.max(J[1],lt[1],Ft[1],Wt[1]);return u.fromRect({x:pe,y:ze,width:_e-pe,height:dn-ze})}}])}(),pt="Method not implemented.",mt="Use document.documentElement instead.",ct="Cannot append a destroyed element.";function Ct(u){return u===void 0?0:u>360||u<-360?u%360:u}var zt=O.Ue();function De(u){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(u)&&u.length===3?o?O.d9(u):O.JG(zt,u):(0,st.Z)(u)?o?O.al(u,g,s):O.t8(zt,u,g,s):o?O.al(u[0],u[1]||g,u[2]||s):O.t8(zt,u[0],u[1]||g,u[2]||s)}var Yt=Math.PI/180;function Le(u){return u*Yt}var sn=180/Math.PI;function Mn(u){return u*sn}var Nn=.9;function ir(u){return u%=400,u<0&&(u+=400),u*Nn}function Kn(u){return u/360}function qn(u){return 360*u}var gr=Math.PI/2;function He(u,g){var s=g[0],o=g[1],d=g[2],b=g[3],C=s*s,G=o*o,J=d*d,lt=b*b,Ft=C+G+J+lt,Wt=s*b-o*d;return Wt>.499995*Ft?(u[0]=gr,u[1]=2*Math.atan2(o,s),u[2]=0):Wt<-.499995*Ft?(u[0]=-gr,u[1]=2*Math.atan2(o,s),u[2]=0):(u[0]=Math.asin(2*(s*d-b*o)),u[1]=Math.atan2(2*(s*b+o*d),1-2*(J+lt)),u[2]=Math.atan2(2*(s*o+d*b),1-2*(G+J))),u}function Tn(u,g){var s,o,d=Z.getScaling(O.Ue(),g),b=(0,E.Z)(d,3),C=b[0],G=b[1],J=b[2],lt=Math.asin(-g[2]/C);return lt-gr?(s=Math.atan2(g[6]/G,g[10]/J),o=Math.atan2(g[1]/C,g[0]/C)):(o=0,s=-Math.atan2(g[4]/G,g[5]/G)):(o=0,s=Math.atan2(g[4]/G,g[5]/G)),u[0]=s,u[1]=lt,u[2]=o,u}function or(u,g){return g.length===16?Tn(u,g):He(u,g)}function En(u,g,s,o,d){var b=Math.cos(u),C=Math.sin(u);return tt.al(o*b,d*C,0,-o*C,d*b,0,g,s,1)}function kr(u,g,s,o,d,b,C){var G=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,J=2*b,lt=s-g,Ft=o-d,Wt=J/lt,pe=J/Ft,ze=(s+g)/lt,_e=(o+d)/Ft,dn,bn,xn=C-b,vn=C*b;return G?(dn=-C/xn,bn=-vn/xn):(dn=-(C+b)/xn,bn=-2*vn/xn),u[0]=Wt,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=pe,u[6]=0,u[7]=0,u[8]=ze,u[9]=_e,u[10]=dn,u[11]=-1,u[12]=0,u[13]=0,u[14]=bn,u[15]=0,u}function _r(u){var g=u[0],s=u[1],o=u[3],d=u[4],b=Math.sqrt(g*g+s*s),C=Math.sqrt(o*o+d*d),G=g*d-s*o;if(G<0&&(gBr[1][2]&&(b[0]=-b[0]),Br[0][2]>Br[2][0]&&(b[1]=-b[1]),Br[1][0]>Br[0][1]&&(b[2]=-b[2]),!0}function An(u,g){var s=g[15];if(s===0)return!1;for(var o=1/s,d=0;d<16;d++)u[d]=g[d]*o;return!0}function ie(u,g){u[0][0]=g[0],u[0][1]=g[1],u[0][2]=g[2],u[1][0]=g[4],u[1][1]=g[5],u[1][2]=g[6],u[2][0]=g[8],u[2][1]=g[9],u[2][2]=g[10]}function ue(u,g,s,o,d){u[0]=g[0]*o+s[0]*d,u[1]=g[1]*o+s[1]*d,u[2]=g[2]*o+s[2]*d}var $t=function(u){return u[u.ORBITING=0]="ORBITING",u[u.EXPLORING=1]="EXPLORING",u[u.TRACKING=2]="TRACKING",u}({}),Ve=function(u){return u[u.DEFAULT=0]="DEFAULT",u[u.ROTATIONAL=1]="ROTATIONAL",u[u.TRANSLATIONAL=2]="TRANSLATIONAL",u[u.CINEMATIC=3]="CINEMATIC",u}({}),wn=function(u){return u[u.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",u[u.PERSPECTIVE=1]="PERSPECTIVE",u}({}),zn={UPDATED:"updated"},tr=2e-4,ar=function(){function u(){(0,R.Z)(this,u),this.clipSpaceNearZ=gn.NEGATIVE_ONE,this.eventEmitter=new Q,this.matrix=Z.create(),this.right=O.al(1,0,0),this.up=O.al(0,1,0),this.forward=O.al(0,0,1),this.position=O.al(0,0,1),this.focalPoint=O.al(0,0,0),this.distanceVector=O.al(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=Z.create(),this.projectionMatrixInverse=Z.create(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=$t.EXPLORING,this.trackingMode=Ve.DEFAULT,this.projectionMode=wn.PERSPECTIVE,this.frustum=new qt,this.orthoMatrix=Z.create()}return(0,U.Z)(u,[{key:"isOrtho",value:function(){return this.projectionMode===wn.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(s){this.enableUpdate=s}},{key:"setType",value:function(s,o){return this.type=s,this.type===$t.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===$t.TRACKING&&o!==void 0&&this.setTrackingMode(o),this}},{key:"setProjectionMode",value:function(s){return this.projectionMode=s,this}},{key:"setTrackingMode",value:function(s){if(this.type!==$t.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=s,this}},{key:"setWorldRotation",value:function(s){return this.rotateWorld=s,this._getAngles(),this}},{key:"getViewTransform",value:function(){return Z.invert(Z.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(s,o){var d=Z.fromTranslation(Z.create(),[s,o,0]);this.jitteredProjectionMatrix=Z.multiply(Z.create(),d,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(s){return this.matrix=s,this._update(),this}},{key:"setProjectionMatrix",value:function(s){this.projectionMatrix=s}},{key:"setFov",value:function(s){return this.setPerspective(this.near,this.far,s,this.aspect),this}},{key:"setAspect",value:function(s){return this.setPerspective(this.near,this.far,this.fov,s),this}},{key:"setNear",value:function(s){return this.projectionMode===wn.PERSPECTIVE?this.setPerspective(s,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,s,this.far),this}},{key:"setFar",value:function(s){return this.projectionMode===wn.PERSPECTIVE?this.setPerspective(this.near,s,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,s),this}},{key:"setViewOffset",value:function(s,o,d,b,C,G){return this.aspect=s/o,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=s,this.view.fullHeight=o,this.view.offsetX=d,this.view.offsetY=b,this.view.width=C,this.view.height=G,this.projectionMode===wn.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===wn.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(s){return this.zoom=s,this.projectionMode===wn.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===wn.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(s,o){var d=this.canvas.viewport2Canvas({x:o[0],y:o[1]}),b=d.x,C=d.y,G=this.roll;this.rotate(0,0,-G),this.setPosition(b,C),this.setFocalPoint(b,C),this.setZoom(s),this.rotate(0,0,G);var J=this.canvas.viewport2Canvas({x:o[0],y:o[1]}),lt=J.x,Ft=J.y,Wt=O.al(lt-b,Ft-C,0),pe=O.AK(Wt,this.right)/O.kE(this.right),ze=O.AK(Wt,this.up)/O.kE(this.up),_e=this.getPosition(),dn=(0,E.Z)(_e,2),bn=dn[0],xn=dn[1],vn=this.getFocalPoint(),Wn=(0,E.Z)(vn,2),lr=Wn[0],Ir=Wn[1];return this.setPosition(bn-pe,xn-ze),this.setFocalPoint(lr-pe,Ir-ze),this}},{key:"setPerspective",value:function(s,o,d,b){var C;this.projectionMode=wn.PERSPECTIVE,this.fov=d,this.near=s,this.far=o,this.aspect=b;var G=this.near*Math.tan(Le(.5*this.fov))/this.zoom,J=2*G,lt=this.aspect*J,Ft=-.5*lt;if((C=this.view)!==null&&C!==void 0&&C.enabled){var Wt=this.view.fullWidth,pe=this.view.fullHeight;Ft+=this.view.offsetX*lt/Wt,G-=this.view.offsetY*J/pe,lt*=this.view.width/Wt,J*=this.view.height/pe}return kr(this.projectionMatrix,Ft,Ft+lt,G-J,G,s,this.far,this.clipSpaceNearZ===gn.ZERO),Z.invert(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(s,o,d,b,C,G){var J;this.projectionMode=wn.ORTHOGRAPHIC,this.rright=o,this.left=s,this.top=d,this.bottom=b,this.near=C,this.far=G;var lt=(this.rright-this.left)/(2*this.zoom),Ft=(this.top-this.bottom)/(2*this.zoom),Wt=(this.rright+this.left)/2,pe=(this.top+this.bottom)/2,ze=Wt-lt,_e=Wt+lt,dn=pe+Ft,bn=pe-Ft;if((J=this.view)!==null&&J!==void 0&&J.enabled){var xn=(this.rright-this.left)/this.view.fullWidth/this.zoom,vn=(this.top-this.bottom)/this.view.fullHeight/this.zoom;ze+=xn*this.view.offsetX,_e=ze+xn*this.view.width,dn-=vn*this.view.offsetY,bn=dn-vn*this.view.height}return this.clipSpaceNearZ===gn.NEGATIVE_ONE?Z.ortho(this.projectionMatrix,ze,_e,dn,bn,C,G):Z.orthoZO(this.projectionMatrix,ze,_e,dn,bn,C,G),Z.invert(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],b=De(s,o,d);return this._setPosition(b),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],b=O.al(0,1,0);if(this.focalPoint=De(s,o,d),this.trackingMode===Ve.CINEMATIC){var C=O.$X(O.Ue(),this.focalPoint,this.position);s=C[0],o=C[1],d=C[2];var G=O.kE(C),J=Mn(Math.asin(o/G)),lt=90+Mn(Math.atan2(d,s)),Ft=Z.create();Z.rotateY(Ft,Ft,Le(lt)),Z.rotateX(Ft,Ft,Le(J)),b=O.fF(O.Ue(),[0,1,0],Ft)}return Z.invert(this.matrix,Z.lookAt(Z.create(),this.position,this.focalPoint,b)),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(s){if(this.distance===s||s<0)return this;this.distance=s,this.distance>8&15|g>>4&240,g>>4&15|g&240,(g&15)<<4|g&15,1):s===8?_a(g>>24&255,g>>16&255,g>>8&255,(g&255)/255):s===4?_a(g>>12&15|g>>8&240,g>>8&15|g>>4&240,g>>4&15|g&240,((g&15)<<4|g&15)/255):null):(g=cs.exec(u))?new ca(g[1],g[2],g[3],1):(g=ga.exec(u))?new ca(g[1]*255/100,g[2]*255/100,g[3]*255/100,1):(g=us.exec(u))?_a(g[1],g[2],g[3],g[4]):(g=Pa.exec(u))?_a(g[1]*255/100,g[2]*255/100,g[3]*255/100,g[4]):(g=Ca.exec(u))?fo(g[1],g[2]/100,g[3]/100,1):(g=qa.exec(u))?fo(g[1],g[2]/100,g[3]/100,g[4]):no.hasOwnProperty(u)?ka(no[u]):u==="transparent"?new ca(NaN,NaN,NaN,0):null}function ka(u){return new ca(u>>16&255,u>>8&255,u&255,1)}function _a(u,g,s,o){return o<=0&&(u=g=s=NaN),new ca(u,g,s,o)}function No(u){return u instanceof ta||(u=Gi(u)),u?(u=u.rgb(),new ca(u.r,u.g,u.b,u.opacity)):new ca}function is(u,g,s,o){return arguments.length===1?No(u):new ca(u,g,s,o==null?1:o)}function ca(u,g,s,o){this.r=+u,this.g=+g,this.b=+s,this.opacity=+o}Ri(ca,is,Xi(ta,{brighter(u){return u=u==null?Ki:Math.pow(Ki,u),new ca(this.r*u,this.g*u,this.b*u,this.opacity)},darker(u){return u=u==null?la:Math.pow(la,u),new ca(this.r*u,this.g*u,this.b*u,this.opacity)},rgb(){return this},clamp(){return new ca(xs(this.r),xs(this.g),xs(this.b),Vs(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:io,formatHex:io,formatHex8:Ha,formatRgb:Eo,toString:Eo}));function io(){return`#${ua(this.r)}${ua(this.g)}${ua(this.b)}`}function Ha(){return`#${ua(this.r)}${ua(this.g)}${ua(this.b)}${ua((isNaN(this.opacity)?1:this.opacity)*255)}`}function Eo(){const u=Vs(this.opacity);return`${u===1?"rgb(":"rgba("}${xs(this.r)}, ${xs(this.g)}, ${xs(this.b)}${u===1?")":`, ${u})`}`}function Vs(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function xs(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function ua(u){return u=xs(u),(u<16?"0":"")+u.toString(16)}function fo(u,g,s,o){return o<=0?u=g=s=NaN:s<=0||s>=1?u=g=NaN:g<=0&&(u=NaN),new Wi(u,g,s,o)}function Wa(u){if(u instanceof Wi)return new Wi(u.h,u.s,u.l,u.opacity);if(u instanceof ta||(u=Gi(u)),!u)return new Wi;if(u instanceof Wi)return u;u=u.rgb();var g=u.r/255,s=u.g/255,o=u.b/255,d=Math.min(g,s,o),b=Math.max(g,s,o),C=NaN,G=b-d,J=(b+d)/2;return G?(g===b?C=(s-o)/G+(s0&&J<1?0:C,new Wi(C,G,J,u.opacity)}function $a(u,g,s,o){return arguments.length===1?Wa(u):new Wi(u,g,s,o==null?1:o)}function Wi(u,g,s,o){this.h=+u,this.s=+g,this.l=+s,this.opacity=+o}Ri(Wi,$a,Xi(ta,{brighter(u){return u=u==null?Ki:Math.pow(Ki,u),new Wi(this.h,this.s,this.l*u,this.opacity)},darker(u){return u=u==null?la:Math.pow(la,u),new Wi(this.h,this.s,this.l*u,this.opacity)},rgb(){var u=this.h%360+(this.h<0)*360,g=isNaN(u)||isNaN(this.s)?0:this.s,s=this.l,o=s+(s<.5?s:1-s)*g,d=2*s-o;return new ca(js(u>=240?u-240:u+120,d,o),js(u,d,o),js(u<120?u+240:u-120,d,o),this.opacity)},clamp(){return new Wi(Ka(this.h),Rs(this.s),Rs(this.l),Vs(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 u=Vs(this.opacity);return`${u===1?"hsl(":"hsla("}${Ka(this.h)}, ${Rs(this.s)*100}%, ${Rs(this.l)*100}%${u===1?")":`, ${u})`}`}}));function Ka(u){return u=(u||0)%360,u<0?u+360:u}function Rs(u){return Math.max(0,Math.min(1,u||0))}function js(u,g,s){return(u<60?g+(s-g)*u/60:u<180?s:u<240?g+(s-g)*(240-u)/60:g)*255}function aa(u,g){if(typeof u!="function"||g!=null&&typeof g!="function")throw new TypeError("Expected a function");var s=function(){for(var d=arguments.length,b=new Array(d),C=0;C=Qs.kUnitType&&this.getType()<=Qs.kClampType}}],[{key:"isAngle",value:function(s){return s===Lr.kDegrees||s===Lr.kRadians||s===Lr.kGradians||s===Lr.kTurns}},{key:"isLength",value:function(s){return s>=Lr.kEms&&s1&&arguments[1]!==void 0?arguments[1]:"",o="";return Number.isFinite(g)?o="NaN":g>0?o="infinity":o="-infinity",o+=s},sa=function(g){return Ua(Sa(g))},Vi=function(u){function g(s){var o,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Lr.kNumber;(0,R.Z)(this,g),o=(0,m.Z)(this,g);var b;return typeof d=="string"?b=oo(d):b=d,o.unit=b,o.value=s,o}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"clone",value:function(){return new g(this.value,this.unit)}},{key:"equals",value:function(o){var d=o;return this.value===d.value&&this.unit===d.unit}},{key:"getType",value:function(){return Qs.kUnitType}},{key:"convertTo",value:function(o){if(this.unit===o)return new g(this.value,this.unit);var d=sa(this.unit);if(d!==sa(o)||d===Lr.kUnknown)return null;var b=zi(this.unit)/zi(o);return new g(this.value*b,o)}},{key:"buildCSSText",value:function(o,d,b){var C;switch(this.unit){case Lr.kUnknown:break;case Lr.kInteger:C=Number(this.value).toFixed(0);break;case Lr.kNumber:case Lr.kPercentage:case Lr.kEms:case Lr.kRems:case Lr.kPixels:case Lr.kDegrees:case Lr.kRadians:case Lr.kGradians:case Lr.kMilliseconds:case Lr.kSeconds:case Lr.kTurns:{var G=-999999,J=999999,lt=this.value,Ft=Po(this.unit);if(ltJ){var Wt=Po(this.unit);!Number.isFinite(lt)||Number.isNaN(lt)?C=ws(lt,Wt):C=lt+(Wt||"")}else C="".concat(lt).concat(Ft)}}return b+=C,b}}])}(Ao),qi=new Vi(0,"px");new Vi(1,"px");var ja=new Vi(0,"deg"),Ys=function(u){function g(s,o,d){var b,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,G=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,R.Z)(this,g),b=(0,m.Z)(this,g,["rgb"]),b.r=s,b.g=o,b.b=d,b.alpha=C,b.isNone=G,b}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"clone",value:function(){return new g(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(o,d,b){return"".concat(b,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(Bo),Cs=new as("unset"),ea=new as("initial"),bo=new as("inherit"),Ko={"":Cs,unset:Cs,initial:ea,inherit:bo},hs=function(g){return Ko[g]||(Ko[g]=new as(g)),Ko[g]},xo=new Ys(0,0,0,0,!0),$o=new Ys(0,0,0,0),hA=aa(function(u,g,s,o){return new Ys(u,g,s,o)},function(u,g,s,o){return"rgba(".concat(u,",").concat(g,",").concat(s,",").concat(o,")")}),ba=function(g){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Lr.kNumber;return new Vi(g,s)};new Vi(50,"%");function ds(u){var g=u.type,s=u.value;return g==="hex"?"#".concat(s):g==="literal"?s:g==="rgb"?"rgb(".concat(s.join(","),")"):"rgba(".concat(s.join(","),")")}var Es=function(){var u={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]+\.?))/},g="";function s(ci){throw new Error("".concat(g,": ").concat(ci))}function o(){var ci=d();return g.length>0&&s("Invalid input not EOF"),ci}function d(){return Wn(b)}function b(){return C("linear-gradient",u.linearGradient,J)||C("repeating-linear-gradient",u.repeatingLinearGradient,J)||C("radial-gradient",u.radialGradient,Wt)||C("repeating-radial-gradient",u.repeatingRadialGradient,Wt)||C("conic-gradient",u.conicGradient,Wt)}function C(ci,B,w){return G(B,function(N){var L=w();return L&&(Ta(u.comma)||s("Missing comma before color stops")),{type:ci,orientation:L,colorStops:Wn(lr)}})}function G(ci,B){var w=Ta(ci);if(w){Ta(u.startCall)||s("Missing (");var N=B(w);return Ta(u.endCall)||s("Missing )"),N}}function J(){return lt()||Ft()}function lt(){return ra("directional",u.sideOrCorner,1)}function Ft(){return ra("angular",u.angleValue,1)}function Wt(){var ci,B=pe(),w;return B&&(ci=[],ci.push(B),w=g,Ta(u.comma)&&(B=pe(),B?ci.push(B):g=w)),ci}function pe(){var ci=ze()||_e();if(ci)ci.at=bn();else{var B=dn();if(B){ci=B;var w=bn();w&&(ci.at=w)}else{var N=xn();N&&(ci={type:"default-radial",at:N})}}return ci}function ze(){var ci=ra("shape",/^(circle)/i,0);return ci&&(ci.style=wi()||dn()),ci}function _e(){var ci=ra("shape",/^(ellipse)/i,0);return ci&&(ci.style=ii()||dn()),ci}function dn(){return ra("extent-keyword",u.extentKeywords,1)}function bn(){if(ra("position",/^at/,0)){var ci=xn();return ci||s("Missing positioning value"),ci}}function xn(){var ci=vn();if(ci.x||ci.y)return{type:"position",value:ci}}function vn(){return{x:ii(),y:ii()}}function Wn(ci){var B=ci(),w=[];if(B)for(w.push(B);Ta(u.comma);)B=ci(),B?w.push(B):s("One extra comma");return w}function lr(){var ci=Ir();return ci||s("Expected color definition"),ci.length=ii(),ci}function Ir(){return pr()||qr()||wr()||Tr()}function Tr(){return ra("literal",u.literalColor,0)}function pr(){return ra("hex",u.hexColor,1)}function wr(){return G(u.rgbColor,function(){return{type:"rgb",value:Wn(Vr)}})}function qr(){return G(u.rgbaColor,function(){return{type:"rgba",value:Wn(Vr)}})}function Vr(){return Ta(u.number)[1]}function ii(){return ra("%",u.percentageValue,1)||Kr()||wi()}function Kr(){return ra("position-keyword",u.positionKeywords,1)}function wi(){return ra("px",u.pixelValue,1)||ra("em",u.emValue,1)}function ra(ci,B,w){var N=Ta(B);if(N)return{type:ci,value:N[w]}}function Ta(ci){var B=/^[\n\r\t\s]+/.exec(g);B&&Na(B[0].length);var w=ci.exec(g);return w&&Na(w[0].length),w}function Na(ci){g=g.substring(ci)}return function(ci){return g=ci,o()}}();function ss(u,g,s,o){var d=Le(o.value),b=0,C=0,G=b+g/2,J=C+s/2,lt=Math.abs(g*Math.cos(d))+Math.abs(s*Math.sin(d)),Ft=u[0]+G-Math.cos(d)*lt/2,Wt=u[1]+J-Math.sin(d)*lt/2,pe=u[0]+G+Math.cos(d)*lt/2,ze=u[1]+J+Math.sin(d)*lt/2;return{x1:Ft,y1:Wt,x2:pe,y2:ze}}function oa(u,g,s,o,d,b){var C=o.value,G=d.value;o.unit===Lr.kPercentage&&(C=o.value/100*g),d.unit===Lr.kPercentage&&(G=d.value/100*s);var J=Math.max((0,X.y)([0,0],[C,G]),(0,X.y)([0,s],[C,G]),(0,X.y)([g,s],[C,G]),(0,X.y)([g,0],[C,G]));return b&&(b instanceof Vi?J=b.value:b instanceof as&&(b.value==="closest-side"?J=Math.min(C,g-C,G,s-G):b.value==="farthest-side"?J=Math.max(C,g-C,G,s-G):b.value==="closest-corner"&&(J=Math.min((0,X.y)([0,0],[C,G]),(0,X.y)([0,s],[C,G]),(0,X.y)([g,s],[C,G]),(0,X.y)([g,0],[C,G]))))),{x:C+u[0],y:G+u[1],r:J}}var na=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,OA=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,Go=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,Uo=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function Do(u){var g,s=u.length;if(u[s-1].length=(g=u[s-1].length)!==null&&g!==void 0?g:{type:"%",value:"100"},s>1){var o;u[0].length=(o=u[0].length)!==null&&o!==void 0?o:{type:"%",value:"0"}}for(var d=0,b=Number(u[0].length.value),C=1;C-1||u.indexOf("radial")>-1){var g=Es(u);return g.map(function(G){var J=G.type,lt=G.orientation,Ft=G.colorStops;Do(Ft);var Wt=Ft.map(function(Wn){return{offset:ba(Number(Wn.length.value),"%"),color:ds(Wn)}});if(J==="linear-gradient")return new Da(Va.LinearGradient,{angle:lt?Co(lt):ja,steps:Wt});if(J==="radial-gradient"&&(lt||(lt=[{type:"shape",value:"circle"}]),lt[0].type==="shape"&<[0].value==="circle")){var pe=Ss(lt[0].at),ze=pe.cx,_e=pe.cy,dn;if(lt[0].style){var bn=lt[0].style,xn=bn.type,vn=bn.value;xn==="extent-keyword"?dn=hs(vn):dn=ba(vn,xn)}return new Da(Va.RadialGradient,{cx:ze,cy:_e,size:dn,steps:Wt})}})}var s=u[0];if(u[1]==="("||u[2]==="("){if(s==="l"){var o=na.exec(u);if(o){var d,b=((d=o[2].match(Uo))===null||d===void 0?void 0:d.map(function(G){return G.split(":")}))||[];return[new Da(Va.LinearGradient,{angle:ba(parseFloat(o[1]),"deg"),steps:b.map(function(G){var J=(0,E.Z)(G,2),lt=J[0],Ft=J[1];return{offset:ba(Number(lt)*100,"%"),color:Ft}})})]}}else if(s==="r"){var C=Xs(u);if(C)if((0,ht.Z)(C))u=C;else return[new Da(Va.RadialGradient,C)]}else if(s==="p")return So(u)}});function Xs(u){var g=OA.exec(u);if(g){var s,o=((s=g[4].match(Uo))===null||s===void 0?void 0:s.map(function(d){return d.split(":")}))||[];return{cx:ba(50,"%"),cy:ba(50,"%"),steps:o.map(function(d){var b=(0,E.Z)(d,2),C=b[0],G=b[1];return{offset:ba(Number(C)*100,"%"),color:G}})}}return null}function So(u){var g=Go.exec(u);if(g){var s=g[1],o=g[2];switch(s){case"a":s="repeat";break;case"x":s="repeat-x";break;case"y":s="repeat-y";break;case"n":s="no-repeat";break;default:s="no-repeat"}return{image:o,repetition:s}}return null}function TA(u){return!!u.type&&!!u.value}function Ro(u){return u&&!!u.image}function Qo(u){return u&&!(0,Mt.Z)(u.r)&&!(0,Mt.Z)(u.g)&&!(0,Mt.Z)(u.b)}var xa=aa(function(u){if(Ro(u))return(0,l.Z)({repetition:"repeat"},u);if((0,Mt.Z)(u)&&(u=""),u==="transparent")return $o;if(u==="currentColor")u="black";else if(u==="none")return xo;var g=dA(u);if(g)return g;var s=Gi(u),o=[0,0,0,0];return s!==null&&(o[0]=s.r||0,o[1]=s.g||0,o[2]=s.b||0,o[3]=s.opacity),hA.apply(void 0,o)});function Ms(u,g){if(!(!Qo(u)||!Qo(g)))return[[Number(u.r),Number(u.g),Number(u.b),Number(u.alpha)],[Number(g.r),Number(g.g),Number(g.b),Number(g.alpha)],function(s){var o=s.slice();if(o[3])for(var d=0;d<3;d++)o[d]=Math.round((0,Dt.Z)(o[d],0,255));return o[3]=(0,Dt.Z)(o[3],0,1),"rgba(".concat(o.join(","),")")}]}function Mo(u,g){if((0,Mt.Z)(g))return ba(0,"px");if(g="".concat(g).trim().toLowerCase(),isFinite(Number(g))){if("px".search(u)>=0)return ba(Number(g),"px");if("deg".search(u)>=0)return ba(Number(g),"deg")}var s=[];g=g.replace(u,function(d){return s.push(d),"U".concat(d)});var o="U(".concat(u.source,")");return s.map(function(d){return ba(Number(g.replace(new RegExp("U".concat(d),"g"),"").replace(new RegExp(o,"g"),"*0")),d)})[0]}var fs=function(g){return Mo(new RegExp("px","g"),g)},ko=aa(fs),FA=function(g){return Mo(new RegExp("%","g"),g)};aa(FA);var _o=function(g){return(0,st.Z)(g)||isFinite(Number(g))?ba(Number(g)||0,"px"):Mo(new RegExp("px|%|em|rem","g"),g)},Oo=aa(_o),IA=function(g){return Mo(new RegExp("deg|rad|grad|turn","g"),g)},St=aa(IA);function q(u,g,s,o){var d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,b="",C=u.value||0,G=g.value||0,J=sa(u.unit),lt=u.convertTo(J),Ft=g.convertTo(J);return lt&&Ft?(C=lt.value,G=Ft.value,b=Po(u.unit)):(Vi.isLength(u.unit)||Vi.isLength(g.unit))&&(C=Ht(u,d,s),G=Ht(g,d,s),b="px"),[C,G,function(Wt){return o&&(Wt=Math.max(Wt,0)),Wt+b}]}function it(u){var g=0;return u.unit===Lr.kDegrees?g=u.value:u.unit===Lr.kRadians?g=Mn(Number(u.value)):u.unit===Lr.kTurns?g=qn(Number(u.value)):u.value&&(g=u.value),g}function bt(u,g){var s;return Array.isArray(u)?s=u.map(function(o){return Number(o)}):(0,ht.Z)(u)?s=u.split(" ").map(function(o){return Number(o)}):(0,st.Z)(u)&&(s=[u]),g===2?s.length===1?[s[0],s[0]]:[s[0],s[1]]:g===4?s.length===1?[s[0],s[0],s[0],s[0]]:s.length===2?[s[0],s[1],s[0],s[1]]:s.length===3?[s[0],s[1],s[2],s[1]]:[s[0],s[1],s[2],s[3]]:g==="even"&&s.length%2===1?[].concat((0,P.Z)(s),(0,P.Z)(s)):s}function Ht(u,g,s){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(u.unit===Lr.kPixels)return Number(u.value);if(u.unit===Lr.kPercentage&&s){var d=s.nodeName===Be.GROUP?s.getLocalBounds():s.getGeometryBounds();return(o?d.min[g]:0)+u.value/100*d.halfExtents[g]*2}return 0}var se=function(g){return Mo(/deg|rad|grad|turn|px|%/g,g)},ce=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function hn(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(u=u.toLowerCase().trim(),u==="none")return[];for(var g=/\s*([\w-]+)\(([^)]*)\)/g,s=[],o,d=0;o=g.exec(u);){if(o.index!==d)return[];if(d=o.index+o[0].length,ce.indexOf(o[1])>-1&&s.push({name:o[1],params:o[2].split(" ").map(function(b){return se(b)||xa(b)})}),g.lastIndex===u.length)return s}return[]}function ln(u){return u.toString()}var On=function(g){return typeof g=="number"?ba(g):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(g)?ba(Number(g)):ba(0)},Qn=aa(On);aa(function(u){return(0,ht.Z)(u)?u.split(" ").map(Qn):u.map(Qn)});function Dn(u,g){return[u,g,ln]}function nr(u,g){return function(s,o){return[s,o,function(d){return ln((0,Dt.Z)(d,u,g))}]}}function Jn(u,g){if(u.length===g.length)return[u,g,function(s){return s}]}function fr(u){return u.parsedStyle.d.totalLength===0&&(u.parsedStyle.d.totalLength=ee(u.parsedStyle.d.absolutePath)),u.parsedStyle.d.totalLength}function yr(u){return u.parsedStyle.points.totalLength===0&&(u.parsedStyle.points.totalLength=(0,ve.hE)(u.parsedStyle.points.points)),u.parsedStyle.points.totalLength}function vr(u){for(var g=0;g0&&s.push(o),{polygons:g,polylines:s}}function Nr(u,g){return u[0]===g[0]&&u[1]===g[1]}function Gr(u,g){for(var s=[],o=[],d=[],b=0;bMath.PI/2?Math.PI-lt:lt,Ft=Ft>Math.PI/2?Math.PI-Ft:Ft;var Wt={xExtra:Math.cos(J/2-lt)*(g/2*(1/Math.sin(J/2)))-g/2||0,yExtra:Math.cos(Ft-J/2)*(g/2*(1/Math.sin(J/2)))-g/2||0};return Wt}function ti(u,g){return[g[0]+(g[0]-u[0]),g[1]+(g[1]-u[1])]}var Bi=function(g,s){var o=g.x*s.x+g.y*s.y,d=Math.sqrt((Math.pow(g.x,2)+Math.pow(g.y,2))*(Math.pow(s.x,2)+Math.pow(s.y,2))),b=g.x*s.y-g.y*s.x<0?-1:1,C=b*Math.acos(o/d);return C},pi=function(g,s,o,d,b,C,G,J){s=Math.abs(s),o=Math.abs(o),d=ae(d,360);var lt=Le(d);if(g.x===G.x&&g.y===G.y)return{x:g.x,y:g.y,ellipticalArcAngle:0};if(s===0||o===0)return{x:0,y:0,ellipticalArcAngle:0};var Ft=(g.x-G.x)/2,Wt=(g.y-G.y)/2,pe={x:Math.cos(lt)*Ft+Math.sin(lt)*Wt,y:-Math.sin(lt)*Ft+Math.cos(lt)*Wt},ze=Math.pow(pe.x,2)/Math.pow(s,2)+Math.pow(pe.y,2)/Math.pow(o,2);ze>1&&(s*=Math.sqrt(ze),o*=Math.sqrt(ze));var _e=Math.pow(s,2)*Math.pow(o,2)-Math.pow(s,2)*Math.pow(pe.y,2)-Math.pow(o,2)*Math.pow(pe.x,2),dn=Math.pow(s,2)*Math.pow(pe.y,2)+Math.pow(o,2)*Math.pow(pe.x,2),bn=_e/dn;bn=bn<0?0:bn;var xn=(b!==C?1:-1)*Math.sqrt(bn),vn={x:xn*(s*pe.y/o),y:xn*(-(o*pe.x)/s)},Wn={x:Math.cos(lt)*vn.x-Math.sin(lt)*vn.y+(g.x+G.x)/2,y:Math.sin(lt)*vn.x+Math.cos(lt)*vn.y+(g.y+G.y)/2},lr={x:(pe.x-vn.x)/s,y:(pe.y-vn.y)/o},Ir=Bi({x:1,y:0},lr),Tr={x:(-pe.x-vn.x)/s,y:(-pe.y-vn.y)/o},pr=Bi(lr,Tr);!C&&pr>0?pr-=2*Math.PI:C&&pr<0&&(pr+=2*Math.PI),pr%=2*Math.PI;var wr=Ir+pr*J,qr=s*Math.cos(wr),Vr=o*Math.sin(wr),ii={x:Math.cos(lt)*qr-Math.sin(lt)*Vr+Wn.x,y:Math.sin(lt)*qr+Math.cos(lt)*Vr+Wn.y,ellipticalArcStartAngle:Ir,ellipticalArcEndAngle:Ir+pr,ellipticalArcAngle:wr,ellipticalArcCenter:Wn,resultantRx:s,resultantRy:o};return ii};function fi(u){for(var g=[],s=null,o=null,d=null,b=0,C=u.length,G=0;G2&&arguments[2]!==void 0?arguments[2]:!0,o=u.arcParams,d=o.rx,b=d===void 0?0:d,C=o.ry,G=C===void 0?0:C,J=o.xRotation,lt=o.arcFlag,Ft=o.sweepFlag,Wt=pi({x:u.prePoint[0],y:u.prePoint[1]},b,G,J,!!lt,!!Ft,{x:u.currentPoint[0],y:u.currentPoint[1]},g),pe=pi({x:u.prePoint[0],y:u.prePoint[1]},b,G,J,!!lt,!!Ft,{x:u.currentPoint[0],y:u.currentPoint[1]},s?g+.005:g-.005),ze=pe.x-Wt.x,_e=pe.y-Wt.y,dn=Math.sqrt(ze*ze+_e*_e);return{x:-ze/dn,y:-_e/dn}}function bi(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function V(u,g){return bi(u)*bi(g)?(u[0]*g[0]+u[1]*g[1])/(bi(u)*bi(g)):1}function K(u,g){return(u[0]*g[1]1&&(s*=Math.sqrt(ze),o*=Math.sqrt(ze));var _e=s*s*(pe*pe)+o*o*(Wt*Wt),dn=_e?Math.sqrt((s*s*(o*o)-_e)/_e):1;b===C&&(dn*=-1),isNaN(dn)&&(dn=0);var bn=o?dn*s*pe/o:0,xn=s?dn*-o*Wt/s:0,vn=(G+lt)/2+Math.cos(d)*bn-Math.sin(d)*xn,Wn=(J+Ft)/2+Math.sin(d)*bn+Math.cos(d)*xn,lr=[(Wt-bn)/s,(pe-xn)/o],Ir=[(-1*Wt-bn)/s,(-1*pe-xn)/o],Tr=K([1,0],lr),pr=K(lr,Ir);return V(lr,Ir)<=-1&&(pr=Math.PI),V(lr,Ir)>=1&&(pr=0),C===0&&pr>0&&(pr-=2*Math.PI),C===1&&pr<0&&(pr+=2*Math.PI),{cx:vn,cy:Wn,rx:Nr(u,[lt,Ft])?0:s,ry:Nr(u,[lt,Ft])?0:o,startAngle:Tr,endAngle:Tr+pr,xRotation:d,arcFlag:b,sweepFlag:C}}function _(u,g,s){return u.reduce(function(o,d){var b="";if(d[0]==="M"||d[0]==="L"){var C=vec3.fromValues(d[1],d[2],0);s&&vec3.transformMat4(C,C,s),b="".concat(d[0]).concat(C[0],",").concat(C[1])}else if(d[0]==="Z")b=d[0];else if(d[0]==="C"){var G=vec3.fromValues(d[1],d[2],0),J=vec3.fromValues(d[3],d[4],0),lt=vec3.fromValues(d[5],d[6],0);s&&(vec3.transformMat4(G,G,s),vec3.transformMat4(J,J,s),vec3.transformMat4(lt,lt,s)),b="".concat(d[0]).concat(G[0],",").concat(G[1],",").concat(J[0],",").concat(J[1],",").concat(lt[0],",").concat(lt[1])}else if(d[0]==="A"){var Ft=vec3.fromValues(d[6],d[7],0);s&&vec3.transformMat4(Ft,Ft,s),b="".concat(d[0]).concat(d[1],",").concat(d[2],",").concat(d[3],",").concat(d[4],",").concat(d[5],",").concat(Ft[0],",").concat(Ft[1])}else if(d[0]==="Q"){var Wt=vec3.fromValues(d[1],d[2],0),pe=vec3.fromValues(d[3],d[4],0);s&&(vec3.transformMat4(Wt,Wt,s),vec3.transformMat4(pe,pe,s)),b="".concat(d[0]).concat(d[1],",").concat(d[2],",").concat(d[3],",").concat(d[4],"}")}return o+=b},"")}function Y(u,g,s,o){return[["M",u,g],["L",s,o]]}function at(u,g,s,o){var d=(-1+Math.sqrt(2))/3*4,b=u*d,C=g*d,G=s-u,J=s+u,lt=o-g,Ft=o+g;return[["M",G,o],["C",G,o-C,s-b,lt,s,lt],["C",s+b,lt,J,o-C,J,o],["C",J,o+C,s+b,Ft,s,Ft],["C",s-b,Ft,G,o+C,G,o],["Z"]]}function ft(u,g){var s=u.map(function(o,d){return[d===0?"M":"L",o[0],o[1]]});return g&&s.push(["Z"]),s}function ut(u,g,s,o,d){if(d){var b=_slicedToArray(d,4),C=b[0],G=b[1],J=b[2],lt=b[3],Ft=u>0?1:-1,Wt=g>0?1:-1,pe=Ft+Wt!==0?1:0;return[["M",Ft*C+s,o],["L",u-Ft*G+s,o],G?["A",G,G,0,0,pe,u+s,Wt*G+o]:null,["L",u+s,g-Wt*J+o],J?["A",J,J,0,0,pe,u+s-Ft*J,g+o]:null,["L",s+Ft*lt,g+o],lt?["A",lt,lt,0,0,pe,s,g+o-Wt*lt]:null,["L",s,Wt*C+o],C?["A",C,C,0,0,pe,Ft*C+s,o]:null,["Z"]].filter(function(ze){return ze})}return[["M",s,o],["L",s+u,o],["L",s+u,o+g],["L",s,o+g],["Z"]]}function wt(u){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:u.getLocalTransform(),s=[];switch(u.nodeName){case Be.LINE:var o=u.parsedStyle,d=o.x1,b=d===void 0?0:d,C=o.y1,G=C===void 0?0:C,J=o.x2,lt=J===void 0?0:J,Ft=o.y2,Wt=Ft===void 0?0:Ft;s=Y(b,G,lt,Wt);break;case Be.CIRCLE:{var pe=u.parsedStyle,ze=pe.r,_e=ze===void 0?0:ze,dn=pe.cx,bn=dn===void 0?0:dn,xn=pe.cy,vn=xn===void 0?0:xn;s=at(_e,_e,bn,vn);break}case Be.ELLIPSE:{var Wn=u.parsedStyle,lr=Wn.rx,Ir=lr===void 0?0:lr,Tr=Wn.ry,pr=Tr===void 0?0:Tr,wr=Wn.cx,qr=wr===void 0?0:wr,Vr=Wn.cy,ii=Vr===void 0?0:Vr;s=at(Ir,pr,qr,ii);break}case Be.POLYLINE:case Be.POLYGON:var Kr=u.parsedStyle.points;s=ft(Kr.points,u.nodeName===Be.POLYGON);break;case Be.RECT:var wi=u.parsedStyle,ra=wi.width,Ta=ra===void 0?0:ra,Na=wi.height,ci=Na===void 0?0:Na,B=wi.x,w=B===void 0?0:B,N=wi.y,L=N===void 0?0:N,nt=wi.radius,Ot=nt&&nt.some(function(Qe){return Qe!==0});s=ut(Ta,ci,w,L,Ot&&nt.map(function(Qe){return clamp(Qe,0,Math.min(Math.abs(Ta)/2,Math.abs(ci)/2))}));break;case Be.PATH:var re=u.parsedStyle.d.absolutePath;s=_toConsumableArray(re);break}if(s.length)return _(s,u,g)}function Zt(u){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,b=u.map(function(C,G){var J=C[0],lt=u[G+1],Ft=G===0&&(g!==0||s!==0),Wt=(G===u.length-1||lt&&(lt[0]==="M"||lt[0]==="Z"))&&o!==0&&d!==0,pe=Ft?[g,s]:[0,0],ze=_slicedToArray(pe,2),_e=ze[0],dn=ze[1],bn=Wt?[o,d]:[0,0],xn=_slicedToArray(bn,2),vn=xn[0],Wn=xn[1];switch(J){case"M":return"M ".concat(C[1]+_e,",").concat(C[2]+dn);case"L":return"L ".concat(C[1]+vn,",").concat(C[2]+Wn);case"Q":return"Q ".concat(C[1]," ").concat(C[2],",").concat(C[3]+vn," ").concat(C[4]+Wn);case"C":return"C ".concat(C[1]," ").concat(C[2],",").concat(C[3]," ").concat(C[4],",").concat(C[5]+vn," ").concat(C[6]+Wn);case"A":return"A ".concat(C[1]," ").concat(C[2]," ").concat(C[3]," ").concat(C[4]," ").concat(C[5]," ").concat(C[6]," ").concat(C[7]).concat(Wt?" L ".concat(C[6]+o,",").concat(C[7]+d):"");case"Z":return"Z";default:return null}}).filter(function(C){return C!==null}).join(" ");return~b.indexOf("NaN")?"":b}var Ce=function(g){if(g===""||Array.isArray(g)&&g.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var s;try{s=ge(g)}catch(ze){s=ge(""),console.error("[g]: Invalid SVG Path definition: ".concat(g))}vr(s);var o=Sr(s),d=Dr(s),b=d.polygons,C=d.polylines,G=fi(s),J=Gr(G,0),lt=J.x,Ft=J.y,Wt=J.width,pe=J.height;return{absolutePath:s,hasArc:o,segments:G,polygons:b,polylines:C,totalLength:0,rect:{x:Number.isFinite(lt)?lt:0,y:Number.isFinite(Ft)?Ft:0,width:Number.isFinite(Wt)?Wt:0,height:Number.isFinite(pe)?pe:0}}},Te=aa(Ce);function je(u){return(0,ht.Z)(u)?Te(u):Ce(u)}function on(u,g,s){var o=u.curve,d=g.curve;(!o||o.length===0)&&(o=Xt(u.absolutePath,!1),u.curve=o),(!d||d.length===0)&&(d=Xt(g.absolutePath,!1),g.curve=d);var b=[o,d];o.length!==d.length&&(b=Ee(o,d));var C=Xe(b[0])!==Xe(b[1])?yn(b[0]):fn(b[0]);return[C,Zn(b[1],C),function(G){return G}]}function Bn(u,g){var s;return(0,ht.Z)(u)?s=u.split(" ").map(function(o){var d=o.split(","),b=(0,E.Z)(d,2),C=b[0],G=b[1];return[Number(C),Number(G)]}):s=u,{points:s,totalLength:0,segments:[]}}function Vn(u,g){return[u.points,g.points,function(s){return s}]}var Rn=null,sr=/\s*(\w+)\(([^)]*)\)/g;function Ar(u){return function(g){var s=0;return u.map(function(o){return o===Rn?g[s++]:o})}}function dr(u){return u}var Er={matrix:["NNNNNN",[Rn,Rn,0,0,Rn,Rn,0,0,0,0,1,0,Rn,Rn,0,1],dr],matrix3d:["NNNNNNNNNNNNNNNN",dr],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",Ar([Rn,Rn,new Vi(1)]),dr],scaleX:["N",Ar([Rn,new Vi(1),new Vi(1)]),Ar([Rn,new Vi(1)])],scaleY:["N",Ar([new Vi(1),Rn,new Vi(1)]),Ar([new Vi(1),Rn])],scaleZ:["N",Ar([new Vi(1),new Vi(1),Rn])],scale3d:["NNN",dr],skew:["Aa",null,dr],skewX:["A",null,Ar([Rn,ja])],skewY:["A",null,Ar([ja,Rn])],translate:["Tt",Ar([Rn,Rn,qi]),dr],translateX:["T",Ar([Rn,qi,qi]),Ar([Rn,qi])],translateY:["T",Ar([qi,Rn,qi]),Ar([qi,Rn])],translateZ:["L",Ar([qi,qi,Rn])],translate3d:["TTL",dr]};function Ur(u){for(var g=[],s=u.length,o=0;o2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(s.attributes,o);var b=s.parsedStyle.clipPath,C=s.parsedStyle.offsetPath;zo(s,o);var G=!!d.forceUpdateGeometry;if(!G){for(var J in o)if(Ma.has(J)){G=!0;break}}var lt=tA(s);lt.has("fill")&&o.fill&&(s.parsedStyle.fill=xa(o.fill)),lt.has("stroke")&&o.stroke&&(s.parsedStyle.stroke=xa(o.stroke)),lt.has("shadowColor")&&o.shadowColor&&(s.parsedStyle.shadowColor=xa(o.shadowColor)),lt.has("filter")&&o.filter&&(s.parsedStyle.filter=hn(o.filter)),lt.has("radius")&&!(0,Mt.Z)(o.radius)&&(s.parsedStyle.radius=bt(o.radius,4)),lt.has("lineDash")&&!(0,Mt.Z)(o.lineDash)&&(s.parsedStyle.lineDash=bt(o.lineDash,"even")),lt.has("points")&&o.points&&(s.parsedStyle.points=Bn(o.points)),lt.has("d")&&o.d===""&&(s.parsedStyle.d=(0,l.Z)({},hi)),lt.has("d")&&o.d&&(s.parsedStyle.d=je(o.d)),lt.has("textTransform")&&o.textTransform&&this.runtime.CSSPropertySyntaxFactory[er.TEXT_TRANSFORM].calculator(null,null,{value:o.textTransform},s,null),lt.has("clipPath")&&!(0,Gn.Z)(o.clipPath)&&this.runtime.CSSPropertySyntaxFactory[er.DEFINED_PATH].calculator("clipPath",b,o.clipPath,s,this.runtime),lt.has("offsetPath")&&o.offsetPath&&this.runtime.CSSPropertySyntaxFactory[er.DEFINED_PATH].calculator("offsetPath",C,o.offsetPath,s,this.runtime),lt.has("transform")&&o.transform&&(s.parsedStyle.transform=Qr(o.transform)),lt.has("transformOrigin")&&o.transformOrigin&&(s.parsedStyle.transformOrigin=ma(o.transformOrigin)),lt.has("markerStart")&&o.markerStart&&(s.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[er.MARKER].calculator(null,o.markerStart,o.markerStart,null,null)),lt.has("markerEnd")&&o.markerEnd&&(s.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[er.MARKER].calculator(null,o.markerEnd,o.markerEnd,null,null)),lt.has("markerMid")&&o.markerMid&&(s.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[er.MARKER].calculator("",o.markerMid,o.markerMid,null,null)),lt.has("zIndex")&&!(0,Mt.Z)(o.zIndex)&&this.runtime.CSSPropertySyntaxFactory[er.Z_INDEX].postProcessor(s),lt.has("offsetDistance")&&!(0,Mt.Z)(o.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[er.OFFSET_DISTANCE].postProcessor(s),lt.has("transform")&&o.transform&&this.runtime.CSSPropertySyntaxFactory[er.TRANSFORM].postProcessor(s),lt.has("transformOrigin")&&o.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[er.TRANSFORM_ORIGIN].postProcessor(s),G&&(s.dirty(!0,!0),d.forceUpdateGeometry||this.runtime.sceneGraphService.dirtyToRoot(s))}},{key:"updateGeometry",value:function(s){var o=s.nodeName,d=this.runtime.geometryUpdaterFactory[o];if(d){var b=s.geometry;b.contentBounds||(b.contentBounds=new z),b.renderBounds||(b.renderBounds=new z);var C=s.parsedStyle,G=d.update(C,s),J=G.cx,lt=J===void 0?0:J,Ft=G.cy,Wt=Ft===void 0?0:Ft,pe=G.cz,ze=pe===void 0?0:pe,_e=G.hwidth,dn=_e===void 0?0:_e,bn=G.hheight,xn=bn===void 0?0:bn,vn=G.hdepth,Wn=vn===void 0?0:vn,lr=[Math.abs(dn),Math.abs(xn),Wn],Ir=C.stroke,Tr=C.lineWidth,pr=Tr===void 0?1:Tr,wr=C.increasedLineWidthForHitTesting,qr=wr===void 0?0:wr,Vr=C.shadowType,ii=Vr===void 0?"outer":Vr,Kr=C.shadowColor,wi=C.filter,ra=wi===void 0?[]:wi,Ta=C.transformOrigin,Na=[lt,Wt,ze];b.contentBounds.update(Na,lr);var ci=o===Be.POLYLINE||o===Be.POLYGON||o===Be.PATH?Math.SQRT2:.5,B=Ir&&!Ir.isNone;if(B){var w=((pr||0)+(qr||0))*ci;lr[0]+=w,lr[1]+=w}if(b.renderBounds.update(Na,lr),Kr&&ii&&ii!=="inner"){var N=b.renderBounds,L=N.min,nt=N.max,Ot=C.shadowBlur,re=C.shadowOffsetX,Qe=C.shadowOffsetY,ke=Ot||0,Ln=re||0,_n=Qe||0,jn=L[0]-ke+Ln,hr=nt[0]+ke+Ln,ri=L[1]-ke+_n,Rr=nt[1]+ke+_n;L[0]=Math.min(L[0],jn),nt[0]=Math.max(nt[0],hr),L[1]=Math.min(L[1],ri),nt[1]=Math.max(nt[1],Rr),b.renderBounds.setMinMax(L,nt)}ra.forEach(function(ha){var Hi=ha.name,Ti=ha.params;if(Hi==="blur"){var ei=Ti[0].value;b.renderBounds.update(b.renderBounds.center,O.IH(b.renderBounds.halfExtents,b.renderBounds.halfExtents,[ei,ei,0]))}else if(Hi==="drop-shadow"){var Ji=Ti[0].value,ia=Ti[1].value,Ii=Ti[2].value,As=b.renderBounds,ls=As.min,ms=As.max,Fa=ls[0]-Ii+Ji,Fs=ms[0]+Ii+Ji,sA=ls[1]-Ii+ia,$s=ms[1]+Ii+ia;ls[0]=Math.min(ls[0],Fa),ms[0]=Math.max(ms[0],Fs),ls[1]=Math.min(ls[1],sA),ms[1]=Math.max(ms[1],$s),b.renderBounds.setMinMax(ls,ms)}}),s.geometry.dirty=!1;var Jr=dn<0,Zi=xn<0,di=(Jr?-1:1)*(Ta?Ht(Ta[0],0,s,!0):0),oi=(Zi?-1:1)*(Ta?Ht(Ta[1],1,s,!0):0);(di||oi)&&s.setOrigin(di,oi)}}},{key:"updateSizeAttenuation",value:function(s,o){s.style.isSizeAttenuation?(s.style.rawLineWidth||(s.style.rawLineWidth=s.style.lineWidth),s.style.lineWidth=(s.style.rawLineWidth||1)/o,s.nodeName===Be.CIRCLE&&(s.style.rawR||(s.style.rawR=s.style.r),s.style.r=(s.style.rawR||1)/o)):(s.style.rawLineWidth&&(s.style.lineWidth=s.style.rawLineWidth,delete s.style.rawLineWidth),s.nodeName===Be.CIRCLE&&s.style.rawR&&(s.style.r=s.style.rawR,delete s.style.rawR))}}])}();function zo(u,g){var s=tA(u);for(var o in g)s.has(o)&&(u.parsedStyle[o]=g[o])}function tA(u){return u.constructor.PARSED_STYLE_LIST}var Bs=function(){function u(){(0,R.Z)(this,u),this.mixer=Dn}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d,b){return it(d)}}])}(),ks=function(){function u(){(0,R.Z)(this,u)}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d,b,C){return d instanceof as&&(d=null),C.sceneGraphService.updateDisplayObjectDependency(s,o,d,b),s==="clipPath"&&b.forEach(function(G){G.childNodes.length===0&&C.sceneGraphService.dirtyToRoot(G)}),d}}])}(),go=function(){function u(){(0,R.Z)(this,u),this.parser=xa,this.mixer=Ms}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d,b){return d instanceof as?d.value==="none"?xo:$o:d}}])}(),vo=function(){function u(){(0,R.Z)(this,u)}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d instanceof as?[]:d}}])}();function ts(u){var g=u.parsedStyle,s=g.fontSize;return(0,Mt.Z)(s)?null:s}var _s=function(){function u(){(0,R.Z)(this,u),this.mixer=Dn}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d,b,C){if((0,st.Z)(d))return d;if(Vi.isRelativeUnit(d.unit)){if(d.unit===Lr.kPercentage)return 0;if(d.unit===Lr.kEms){if(b.parentNode){var G=ts(b.parentNode);if(G)return G*=d.value,G}return 0}if(d.unit===Lr.kRems){var J;if(b!=null&&(J=b.ownerDocument)!==null&&J!==void 0&&J.documentElement){var lt=ts(b.ownerDocument.documentElement);if(lt)return lt*=d.value,lt}return 0}}else return d.value}}])}(),Hs=function(){function u(){(0,R.Z)(this,u),this.mixer=Jn}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d.map(function(b){return b.value})}}])}(),rl=function(){function u(){(0,R.Z)(this,u),this.mixer=Jn}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d.map(function(b){return b.value})}}])}(),LA=function(){function u(){(0,R.Z)(this,u)}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d,b){var C;d instanceof as&&(d=null);var G=(C=d)===null||C===void 0?void 0:C.cloneNode(!0);return G&&(G.style.isMarker=!0),G}}])}(),Vl=function(){function u(){(0,R.Z)(this,u),this.mixer=Dn}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d.value}}])}(),fA=function(){function u(){(0,R.Z)(this,u),this.mixer=nr(0,1)}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d.value}},{key:"postProcessor",value:function(s){var o=s.parsedStyle,d=o.offsetPath,b=o.offsetDistance;if(d){var C=d.nodeName;if(C===Be.LINE||C===Be.PATH||C===Be.POLYLINE){var G=d.getPoint(b);G&&s.setLocalPosition(G.x,G.y)}}}}])}(),po=function(){function u(){(0,R.Z)(this,u),this.mixer=nr(0,1)}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d.value}}])}(),NA=function(){function u(){(0,R.Z)(this,u),this.parser=je,this.mixer=on}return(0,U.Z)(u,[{key:"calculator",value:function(s,o,d){return d instanceof as&&d.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new un(0,0,0,0)}:d}}])}(),Oc=(0,U.Z)(function u(){(0,R.Z)(this,u),this.mixer=Vn}),eA=function(u){function g(){var s;(0,R.Z)(this,g);for(var o=arguments.length,d=new Array(o),b=0;b>>1;co(u[d],g)<0?s=d+1:o=d}return s}function co(u,g){var s=Number(u.parsedStyle.zIndex||0),o=Number(g.parsedStyle.zIndex||0);if(s===o){var d=u.parentNode;if(d){var b=d.childNodes||[];return b.indexOf(u)-b.indexOf(g)}}return s-o}function PA(u){var g=u;do{var s,o=(s=g.parsedStyle)===null||s===void 0?void 0:s.clipPath;if(o)return g;g=g.parentElement}while(g!==null);return null}var Wo="px";function Xa(u,g,s){gs&&u.style&&(u.style.width=g+Wo,u.style.height=s+Wo)}function rA(u,g){if(gs)return document.defaultView.getComputedStyle(u,null).getPropertyValue(g)}function ml(u){var g=rA(u,"width");return g==="auto"?u.offsetWidth:parseFloat(g)}function il(u){var g=rA(u,"height");return g==="auto"?u.offsetHeight:parseFloat(g)}var si=1,Eu={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Tc=typeof performance=="object"&&performance.now?performance:Date;function UA(u){return u.nodeName===Be.FRAGMENT?!0:u.getRootNode().nodeName===Be.FRAGMENT}function uo(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",g=arguments.length>1?arguments[1]:void 0,s=arguments.length>2?arguments[2]:void 0,o=!1,d=!1,b=!!g&&!g.isNone,C=!!s&&!s.isNone;return u==="visiblepainted"||u==="painted"||u==="auto"?(o=b,d=C):u==="visiblefill"||u==="fill"?o=!0:u==="visiblestroke"||u==="stroke"?d=!0:(u==="visible"||u==="all")&&(o=!0,d=!0),[o,d]}var Bu=1,yl=function(){return Bu++},Zs=typeof self=="object"&&self.self===self?self:typeof f.g=="object"&&f.g.global===f.g?f.g:{},wl=Date.now(),bu=function(){return Zs.performance&&typeof Zs.performance.now=="function"?Zs.performance.now():Date.now()-wl},DA={},al=Date.now(),gA=function(g){if(typeof g!="function")throw new TypeError("".concat(g," is not a function"));var s=Date.now(),o=s-al,d=o>16?0:16-o,b=yl();return DA[b]=g,Object.keys(DA).length>1||setTimeout(function(){al=s;var C=DA;DA={},Object.keys(C).forEach(function(G){return C[G](bu())})},d),b},RA=function(g){delete DA[g]},QA=["","webkit","moz","ms","o"],Fc=function(g){return typeof g!="string"?gA:g===""?Zs.requestAnimationFrame:Zs["".concat(g,"RequestAnimationFrame")]},sl=function(g){return typeof g!="string"?RA:g===""?Zs.cancelAnimationFrame:Zs["".concat(g,"CancelAnimationFrame")]||Zs["".concat(g,"CancelRequestAnimationFrame")]},Ic=function(g,s){for(var o=0;g[o]!==void 0;){if(s(g[o]))return g[o];o+=1}},vA=Ic(QA,function(u){return!!Fc(u)}),El=Fc(vA),jl=sl(vA);Zs.requestAnimationFrame=El,Zs.cancelAnimationFrame=jl;var Bl=function(){function u(){(0,R.Z)(this,u),this.callbacks=[]}return(0,U.Z)(u,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(s,o){this.callbacks.push(o)}},{key:"promise",value:function(){for(var s=arguments.length,o=new Array(s),d=0;d=0;Ft--){var Wt=lt[Ft].trim();!Xl.test(Wt)&&bl.indexOf(Wt)<0&&(Wt='"'.concat(Wt,'"')),lt[Ft]=Wt}return"".concat(b," ").concat(C," ").concat(G," ").concat(J," ").concat(lt.join(","))},function(u){var g=kA(u),s=g.fontSize,o=g.fontFamily,d=g.fontStyle,b=g.fontVariant,C=g.fontWeight;return"".concat(d,"_").concat(b,"_").concat(C,"_").concat(s,"_").concat(o)}),Pc=1e-6,_A=function(g){return Math.max(g,Pc)};function xl(u,g,s){return Z.identity(u),u[4]=Math.tan(g),u[1]=Math.tan(s),u}var es=Z.create(),ol=Z.create(),xu={scale:function(g){Z.fromScaling(es,[g[0].value,g[1].value,1].map(function(s){return _A(s)}))},scaleX:function(g){Z.fromScaling(es,[g[0].value,1,1].map(function(s){return _A(s)}))},scaleY:function(g){Z.fromScaling(es,[1,g[0].value,1].map(function(s){return _A(s)}))},scaleZ:function(g){Z.fromScaling(es,[1,1,g[0].value].map(function(s){return _A(s)}))},scale3d:function(g){Z.fromScaling(es,[g[0].value,g[1].value,g[2].value].map(function(s){return _A(s)}))},translate:function(g){Z.fromTranslation(es,[g[0].value,g[1].value,0])},translateX:function(g){Z.fromTranslation(es,[g[0].value,0,0])},translateY:function(g){Z.fromTranslation(es,[0,g[0].value,0])},translateZ:function(g){Z.fromTranslation(es,[0,0,g[0].value])},translate3d:function(g){Z.fromTranslation(es,[g[0].value,g[1].value,g[2].value])},rotate:function(g){Z.fromZRotation(es,Le(it(g[0])))},rotateX:function(g){Z.fromXRotation(es,Le(it(g[0])))},rotateY:function(g){Z.fromYRotation(es,Le(it(g[0])))},rotateZ:function(g){Z.fromZRotation(es,Le(it(g[0])))},rotate3d:function(g){Z.fromRotation(es,Le(it(g[3])),[g[0].value,g[1].value,g[2].value])},skew:function(g){xl(es,Le(g[0].value),Le(g[1].value))},skewX:function(g){xl(es,Le(g[0].value),0)},skewY:function(g){xl(es,0,Le(g[0].value))},matrix:function(g){Z.set(es,g[0].value,g[1].value,0,0,g[2].value,g[3].value,0,0,0,0,1,0,g[4].value,g[5].value,0,1)},matrix3d:function(g){Z.set.apply(Z,[es].concat((0,P.Z)(g.map(function(s){return s.value}))))}},Cl=O.al(1,1,1),Ho=O.Ue(),Jl={translate:function(g,s){xr.sceneGraphService.setLocalScale(g,Cl,!1),xr.sceneGraphService.setLocalEulerAngles(g,Ho,void 0,void 0,!1),xr.sceneGraphService.setLocalPosition(g,[s[0].value,s[1].value,0],!1),xr.sceneGraphService.dirtyLocalTransform(g,g.transformable)}};function ql(u,g){if(u.length){if(u.length===1&&Jl[u[0].t]){Jl[u[0].t](g,u[0].d);return}for(var s=Z.identity(ol),o=0;o1&&arguments[1]!==void 0?arguments[1]:!1,d=arguments.length>2?arguments[2]:void 0;if(d)return this.dispatchEventToSelf(s),!0;var b;if(this.document)b=this;else if(this.defaultView)b=this.defaultView;else{var C;b=(C=this.ownerDocument)===null||C===void 0?void 0:C.defaultView}if(b){if(s.manager=b.getEventService(),!s.manager)return!1;s.defaultPrevented=!1,s.path?s.path.length=0:s.page=[],o||(s.target=this),s.manager.dispatchEvent(s,s.type,o)}else this.dispatchEventToSelf(s);return!s.defaultPrevented}}])}(),za=function(u){function g(){var s;(0,R.Z)(this,g);for(var o=arguments.length,d=new Array(o),b=0;b0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(o):o.composed&&this.host?this.host.getRootNode(o):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(o){throw new Error(pt)}},{key:"lookupNamespaceURI",value:function(o){throw new Error(pt)}},{key:"lookupPrefix",value:function(o){throw new Error(pt)}},{key:"normalize",value:function(){throw new Error(pt)}},{key:"isEqualNode",value:function(o){return this===o}},{key:"isSameNode",value:function(o){return this.isEqualNode(o)}},{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(o){if(o===this)return 0;for(var d=o,b=this,C=[d],G=[b];(J=d.parentNode)!==null&&J!==void 0?J:b.parentNode;){var J;d=d.parentNode?(C.push(d.parentNode),d.parentNode):d,b=b.parentNode?(G.push(b.parentNode),b.parentNode):b}if(d!==b)return g.DOCUMENT_POSITION_DISCONNECTED|g.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|g.DOCUMENT_POSITION_PRECEDING;var lt=C.length>G.length?C:G,Ft=lt===C?G:C;if(lt[lt.length-Ft.length]===Ft[0])return lt===C?g.DOCUMENT_POSITION_CONTAINED_BY|g.DOCUMENT_POSITION_FOLLOWING:g.DOCUMENT_POSITION_CONTAINS|g.DOCUMENT_POSITION_PRECEDING;for(var Wt=lt.length-Ft.length,pe=Ft.length-1;pe>=0;pe--){var ze=Ft[pe],_e=lt[Wt+pe];if(_e!==ze){var dn=ze.parentNode.childNodes;return dn.indexOf(ze)0&&d;)d=d.parentNode,o--;return d}},{key:"forEach",value:function(o){for(var d=[this];d.length>0;){var b=d.pop(),C=o(b);if(C===!1)break;for(var G=b.childNodes.length-1;G>=0;G--)d.push(b.childNodes[G])}}}],[{key:"isNode",value:function(o){return!!o.childNodes}}])}(rc);za.DOCUMENT_POSITION_DISCONNECTED=1,za.DOCUMENT_POSITION_PRECEDING=2,za.DOCUMENT_POSITION_FOLLOWING=4,za.DOCUMENT_POSITION_CONTAINS=8,za.DOCUMENT_POSITION_CONTAINED_BY=16,za.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var Su=2048,Mu=function(){function u(g,s){var o=this;(0,R.Z)(this,u),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=Z.create(),this.tmpVec3=O.Ue(),this.onPointerDown=function(d){var b=o.createPointerEvent(d);if(o.dispatchEvent(b,"pointerdown"),b.pointerType==="touch")o.dispatchEvent(b,"touchstart");else if(b.pointerType==="mouse"||b.pointerType==="pen"){var C=b.button===2;o.dispatchEvent(b,C?"rightdown":"mousedown")}var G=o.trackingData(d.pointerId);G.pressTargetsByButton[d.button]=b.composedPath(),o.freeEvent(b)},this.onPointerUp=function(d){var b=Tc.now(),C=o.createPointerEvent(d,void 0,void 0,o.context.config.alwaysTriggerPointerEventOnCanvas?o.rootTarget:void 0);if(o.dispatchEvent(C,"pointerup"),C.pointerType==="touch")o.dispatchEvent(C,"touchend");else if(C.pointerType==="mouse"||C.pointerType==="pen"){var G=C.button===2;o.dispatchEvent(C,G?"rightup":"mouseup")}var J=o.trackingData(d.pointerId),lt=o.findMountedTarget(J.pressTargetsByButton[d.button]),Ft=lt;if(lt&&!C.composedPath().includes(lt)){for(var Wt=lt;Wt&&!C.composedPath().includes(Wt);){if(C.currentTarget=Wt,o.notifyTarget(C,"pointerupoutside"),C.pointerType==="touch")o.notifyTarget(C,"touchendoutside");else if(C.pointerType==="mouse"||C.pointerType==="pen"){var pe=C.button===2;o.notifyTarget(C,pe?"rightupoutside":"mouseupoutside")}za.isNode(Wt)&&(Wt=Wt.parentNode)}delete J.pressTargetsByButton[d.button],Ft=Wt}if(Ft){var ze,_e=o.clonePointerEvent(C,"click");_e.target=Ft,_e.path=[],J.clicksByButton[d.button]||(J.clicksByButton[d.button]={clickCount:0,target:_e.target,timeStamp:b});var dn=o.context.renderingContext.root.ownerDocument.defaultView,bn=J.clicksByButton[d.button];bn.target===_e.target&&b-bn.timeStamp=1;b--)if(s.currentTarget=d[b],this.notifyTarget(s,o),s.propagationStopped||s.propagationImmediatelyStopped)return;if(s.eventPhase=s.AT_TARGET,s.currentTarget=s.target,this.notifyTarget(s,o),!(s.propagationStopped||s.propagationImmediatelyStopped)){var C=d.indexOf(s.currentTarget);s.eventPhase=s.BUBBLING_PHASE;for(var G=C+1;GC||d>G?null:!J&&this.pickHandler(s)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(s,o){var d,b=o==null?void 0:o.target;if((d=b)!==null&&d!==void 0&&d.shadowRoot&&(b=o.composedPath()[0]),b){if(b===s)return!0;if(s&&s.contains)return s.contains(b)}return o!=null&&o.composedPath?o.composedPath().indexOf(s)>-1:!1}},{key:"getExistedHTML",value:function(s){if(s.nativeEvent.composedPath)for(var o=0,d=s.nativeEvent.composedPath();o=0;d--){var b=s[d];if(b===this.rootTarget||za.isNode(b)&&b.parentNode===o)o=s[d];else break}return o}},{key:"getCursor",value:function(s){for(var o=s;o;){var d=Ga(o)&&o.getAttribute("cursor");if(d)return d;o=za.isNode(o)&&o.parentNode}}}])}(),ic=function(){function u(){(0,R.Z)(this,u)}return(0,U.Z)(u,[{key:"getOrCreateCanvas",value:function(s,o){if(this.canvas)return this.canvas;if(s||xr.offscreenCanvas)this.canvas=s||xr.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,l.Z)({willReadFrequently:!0},o));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,l.Z)({willReadFrequently:!0},o)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(d){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,l.Z)({willReadFrequently:!0},o))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(s,o){return this.context?this.context:(this.getOrCreateCanvas(s,o),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(s){}try{return document.createElement("canvas")}catch(s){}return null}}])}(),iA=function(u){return u[u.CAMERA_CHANGED=0]="CAMERA_CHANGED",u[u.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",u[u.NONE=2]="NONE",u}({}),Vu=function(){function u(g,s){(0,R.Z)(this,u),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new os,initAsync:new Bl,dirtycheck:new Yl,cull:new Yl,beginFrame:new os,beforeRender:new os,render:new os,afterRender:new os,endFrame:new os,destroy:new os,pick:new Lc,pickSync:new Yl,pointerDown:new os,pointerUp:new os,pointerMove:new os,pointerOut:new os,pointerOver:new os,pointerWheel:new os,pointerCancel:new os,click:new os},this.globalRuntime=g,this.context=s}return(0,U.Z)(u,[{key:"init",value:function(s){var o=this,d=(0,l.Z)((0,l.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(b){b.apply(d,o.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,s()):this.hooks.initAsync.promise().then(function(){o.inited=!0,s()}).catch(function(b){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var s=this.context.config.renderer,o=s.getConfig(),d=o.enableDirtyRectangleRendering;return!d||this.context.renderingContext.renderReasons.has(iA.CAMERA_CHANGED)}},{key:"render",value:function(s,o,d){var b=this,C=s.getConfig(),G=this.context.renderingContext;if(this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0,this.globalRuntime.sceneGraphService.syncHierarchy(G.root),this.globalRuntime.sceneGraphService.notifyMutationObservers(s),G.renderReasons.size&&this.inited){G.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var J=G.renderReasons.size===1&&G.renderReasons.has(iA.CAMERA_CHANGED),lt=!C.disableRenderHooks||!J;lt&&this.renderDisplayObject(G.root,C,G),this.hooks.beginFrame.call(o),lt&&G.renderListCurrentFrame.forEach(function(Ft){b.hooks.beforeRender.call(Ft),b.hooks.render.call(Ft),b.hooks.afterRender.call(Ft)}),this.hooks.endFrame.call(o),G.renderListCurrentFrame=[],G.renderReasons.clear(),d()}}},{key:"renderDisplayObject",value:function(s,o,d){var b=this,C=o.renderer.getConfig(),G=C.enableDirtyCheck,J=C.enableCulling;function lt(dn){var bn=dn.renderable,xn=dn.sortable,vn=G?bn.dirty||d.dirtyRectangleRenderingDisabled?dn:null:dn,Wn=null;vn&&(Wn=J?b.hooks.cull.call(vn,b.context.camera):vn,Wn&&(b.stats.rendered+=1,d.renderListCurrentFrame.push(Wn))),dn.dirty(!1),xn.renderOrder=b.zIndexCounter,b.zIndexCounter+=1,b.stats.total+=1,xn.dirty&&(b.sort(dn,xn),xn.dirty=!1,xn.dirtyChildren=[],xn.dirtyReason=void 0)}for(var Ft=[s];Ft.length>0;){var Wt,pe=Ft.pop();lt(pe);for(var ze=((Wt=pe.sortable)===null||Wt===void 0||(Wt=Wt.sorted)===null||Wt===void 0?void 0:Wt.length)>0?pe.sortable.sorted:pe.childNodes,_e=ze.length-1;_e>=0;_e--)Ft.push(ze[_e])}}},{key:"sort",value:function(s,o){var d,b;(o==null||(d=o.sorted)===null||d===void 0?void 0:d.length)>0&&o.dirtyReason!==Fr.Z_INDEX_CHANGED?o.dirtyChildren.forEach(function(C){var G=o.sorted.indexOf(C);G>-1&&o.sorted.splice(G,1);var J=s.childNodes.indexOf(C);if(J>-1)if(o.sorted.length===0)o.sorted.push(C);else{var lt=Js(o.sorted,C);o.sorted.splice(lt,0,C)}}):o.sorted=s.childNodes.slice().sort(co),((b=o.sorted)===null||b===void 0?void 0:b.length)>0&&s.childNodes.filter(function(C){return C.parsedStyle.zIndex}).length===0&&(o.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call()}},{key:"dirty",value:function(){this.context.renderingContext.renderReasons.add(iA.DISPLAY_OBJECT_CHANGED)}}])}(),Hc=/\[\s*(.*)=(.*)\s*\]/,Di=function(){function u(){(0,R.Z)(this,u)}return(0,U.Z)(u,[{key:"selectOne",value:function(s,o){var d=this;if(s.startsWith("."))return o.find(function(J){return((J==null?void 0:J.classList)||[]).indexOf(d.getIdOrClassname(s))>-1});if(s.startsWith("#"))return o.find(function(J){return J.id===d.getIdOrClassname(s)});if(s.startsWith("[")){var b=this.getAttribute(s),C=b.name,G=b.value;return C?o.find(function(J){return o!==J&&(C==="name"?J.name===G:d.attributeToString(J,C)===G)}):null}return o.find(function(J){return o!==J&&J.nodeName===s})}},{key:"selectAll",value:function(s,o){var d=this;if(s.startsWith("."))return o.findAll(function(J){return o!==J&&((J==null?void 0:J.classList)||[]).indexOf(d.getIdOrClassname(s))>-1});if(s.startsWith("#"))return o.findAll(function(J){return o!==J&&J.id===d.getIdOrClassname(s)});if(s.startsWith("[")){var b=this.getAttribute(s),C=b.name,G=b.value;return C?o.findAll(function(J){return o!==J&&(C==="name"?J.name===G:d.attributeToString(J,C)===G)}):[]}return o.findAll(function(J){return o!==J&&J.nodeName===s})}},{key:"is",value:function(s,o){if(s.startsWith("."))return o.className===this.getIdOrClassname(s);if(s.startsWith("#"))return o.id===this.getIdOrClassname(s);if(s.startsWith("[")){var d=this.getAttribute(s),b=d.name,C=d.value;return b==="name"?o.name===C:this.attributeToString(o,b)===C}return o.nodeName===s}},{key:"getIdOrClassname",value:function(s){return s.substring(1)}},{key:"getAttribute",value:function(s){var o=s.match(Hc),d="",b="";return o&&o.length>2&&(d=o[1].replace(/"/g,""),b=o[2].replace(/"/g,"")),{name:d,value:b}}},{key:"attributeToString",value:function(s,o){if(!s.getAttribute)return"";var d=s.getAttribute(o);return(0,Mt.Z)(d)?"":d.toString?d.toString():""}}])}(),Ni=function(u){return u.ATTR_MODIFIED="DOMAttrModified",u.INSERTED="DOMNodeInserted",u.MOUNTED="DOMNodeInsertedIntoDocument",u.REMOVED="removed",u.UNMOUNTED="DOMNodeRemovedFromDocument",u.REPARENT="reparent",u.DESTROY="destroy",u.BOUNDS_CHANGED="bounds-changed",u.CULLED="culled",u}({}),Gs=function(u){function g(s,o,d,b,C,G,J,lt){var Ft;return(0,R.Z)(this,g),Ft=(0,m.Z)(this,g,[null]),Ft.relatedNode=o,Ft.prevValue=d,Ft.newValue=b,Ft.attrName=C,Ft.attrChange=G,Ft.prevParsedValue=J,Ft.newParsedValue=lt,Ft.type=s,Ft}return(0,S.Z)(g,u),(0,U.Z)(g)}(HA);Gs.ADDITION=2,Gs.MODIFICATION=1,Gs.REMOVAL=3;var Ou=new Gs(Ni.REPARENT,null,"","","",0,"",""),Tu=vt.Ue(),Al=O.Ue(),ac=O.al(1,1,1),Fu=Z.create(),sc=vt.Ue(),pA=O.Ue(),oc=Z.create(),mA=W.Ue(),Iu=O.Ue(),Lu=W.Ue(),Nu=O.Ue(),To=O.Ue(),aA=O.Ue(),ZA=Z.create(),Fl=W.Ue(),Ac=W.Ue(),lc=W.Ue(),Zc=function(){function u(g){(0,R.Z)(this,u),this.displayObjectDependencyMap=new WeakMap,this.runtime=g}return(0,U.Z)(u,[{key:"matches",value:function(s,o){return this.runtime.sceneGraphSelector.is(s,o)}},{key:"querySelector",value:function(s,o){return this.runtime.sceneGraphSelector.selectOne(s,o)}},{key:"querySelectorAll",value:function(s,o){return this.runtime.sceneGraphSelector.selectAll(s,o)}},{key:"attach",value:function(s,o,d){var b,C=!1;s.parentNode&&(C=s.parentNode!==o,this.detach(s));var G=s.nodeName===Be.FRAGMENT,J=UA(o);s.parentNode=o;var lt=G?s.childNodes:[s];(0,st.Z)(d)?lt.forEach(function(dn){o.childNodes.splice(d,0,dn),dn.parentNode=o}):lt.forEach(function(dn){o.childNodes.push(dn),dn.parentNode=o});var Ft=o,Wt=Ft.sortable;if((Wt!=null&&(b=Wt.sorted)!==null&&b!==void 0&&b.length||Wt.dirty||s.parsedStyle.zIndex)&&(Wt.dirtyChildren.indexOf(s)===-1&&Wt.dirtyChildren.push(s),Wt.dirty=!0,Wt.dirtyReason=Fr.ADDED),!J){if(G)this.dirtyFragment(s);else{var pe=s.transformable;pe&&this.dirtyWorldTransform(s,pe)}if(C){var ze,_e=((ze=o.ownerDocument)===null||ze===void 0||(ze=ze.defaultView)===null||ze===void 0||(ze=ze.getConfig())===null||ze===void 0||(ze=ze.future)===null||ze===void 0?void 0:ze.experimentalCancelEventPropagation)===!0;s.dispatchEvent(Ou,_e,_e)}}}},{key:"detach",value:function(s){var o,d;if(s.parentNode){var b=s.transformable,C=s.parentNode,G=C.sortable;(G!=null&&(o=G.sorted)!==null&&o!==void 0&&o.length||(d=s.style)!==null&&d!==void 0&&d.zIndex)&&(G.dirtyChildren.indexOf(s)===-1&&G.dirtyChildren.push(s),G.dirty=!0,G.dirtyReason=Fr.REMOVED);var J=s.parentNode.childNodes.indexOf(s);J>-1&&s.parentNode.childNodes.splice(J,1),b&&this.dirtyWorldTransform(s,b),s.parentNode=null}}},{key:"getLocalPosition",value:function(s){return s.transformable.localPosition}},{key:"getLocalRotation",value:function(s){return s.transformable.localRotation}},{key:"getLocalScale",value:function(s){return s.transformable.localScale}},{key:"getLocalSkew",value:function(s){return s.transformable.localSkew}},{key:"getLocalTransform",value:function(s){var o=s.transformable;return Ci(o),o.localTransform}},{key:"setLocalPosition",value:function(s,o){var d,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=s.transformable;To[0]=o[0],To[1]=o[1],To[2]=(d=o[2])!==null&&d!==void 0?d:0,!O.fS(C.localPosition,To)&&(O.JG(C.localPosition,To),b&&this.dirtyLocalTransform(s,C))}},{key:"translateLocal",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=O.al(o,d,b));var C=s.transformable;O.fS(o,Al)||(O.VC(o,o,C.localRotation),O.IH(C.localPosition,C.localPosition,o),this.dirtyLocalTransform(s,C))}},{key:"setLocalRotation",value:function(s,o,d,b,C){var G=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof o=="number"&&(o=W.t8(mA,o,d,b,C));var J=s.transformable;W.JG(J.localRotation,o),G&&this.dirtyLocalTransform(s,J)}},{key:"rotateLocal",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=O.al(o,d,b));var C=s.transformable;W.Su(Ac,o[0],o[1],o[2]),W.dC(C.localRotation,C.localRotation,Ac),this.dirtyLocalTransform(s,C)}},{key:"setLocalScale",value:function(s,o){var d,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,C=s.transformable;O.t8(pA,o[0],o[1],(d=o[2])!==null&&d!==void 0?d:C.localScale[2]),!O.fS(pA,C.localScale)&&(O.JG(C.localScale,pA),b&&this.dirtyLocalTransform(s,C))}},{key:"scaleLocal",value:function(s,o){var d,b=s.transformable;O.Jp(b.localScale,b.localScale,O.t8(pA,o[0],o[1],(d=o[2])!==null&&d!==void 0?d:1)),this.dirtyLocalTransform(s,b)}},{key:"setLocalSkew",value:function(s,o,d){var b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof o=="number"&&(o=vt.t8(sc,o,d));var C=s.transformable;vt.JG(C.localSkew,o),b&&this.dirtyLocalTransform(s,C)}},{key:"setLocalEulerAngles",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof o=="number"&&(o=O.al(o,d,b));var G=s.transformable;W.Su(G.localRotation,o[0],o[1],o[2]),C&&this.dirtyLocalTransform(s,G)}},{key:"setLocalTransform",value:function(s,o){var d=Z.getTranslation(Iu,o),b=Z.getRotation(Lu,o),C=Z.getScaling(Nu,o);this.setLocalScale(s,C,!1),this.setLocalPosition(s,d,!1),this.setLocalRotation(s,b,void 0,void 0,void 0,!1),this.dirtyLocalTransform(s,s.transformable)}},{key:"resetLocalTransform",value:function(s){this.setLocalScale(s,ac,!1),this.setLocalPosition(s,Al,!1),this.setLocalEulerAngles(s,Al,void 0,void 0,!1),this.setLocalSkew(s,Tu,void 0,!1),this.dirtyLocalTransform(s,s.transformable)}},{key:"getPosition",value:function(s){var o=s.transformable;return Z.getTranslation(o.position,this.getWorldTransform(s,o))}},{key:"getRotation",value:function(s){var o=s.transformable;return Z.getRotation(o.rotation,this.getWorldTransform(s,o))}},{key:"getScale",value:function(s){var o=s.transformable;return Z.getScaling(o.scaling,this.getWorldTransform(s,o))}},{key:"getOrigin",value:function(s){return s.getGeometryBounds(),s.transformable.origin}},{key:"getWorldTransform",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s.transformable;return!o.localDirtyFlag&&!o.dirtyFlag||(s.parentNode&&s.parentNode.transformable&&this.getWorldTransform(s.parentNode),this.internalUpdateTransform(s)),o.worldTransform}},{key:"setPosition",value:function(s,o){var d,b=s.transformable;if(aA[0]=o[0],aA[1]=o[1],aA[2]=(d=o[2])!==null&&d!==void 0?d:0,!O.fS(this.getPosition(s),aA)){if(O.JG(b.position,aA),s.parentNode===null||!s.parentNode.transformable)O.JG(b.localPosition,aA);else{var C=s.parentNode.transformable;Z.copy(ZA,C.worldTransform),Z.invert(ZA,ZA),O.fF(b.localPosition,aA,ZA)}this.dirtyLocalTransform(s,b)}}},{key:"translate",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=O.t8(pA,o,d,b)),!O.fS(o,Al)&&(O.IH(pA,this.getPosition(s),o),this.setPosition(s,pA))}},{key:"setRotation",value:function(s,o,d,b,C){var G=s.transformable;if(typeof o=="number"&&(o=W.al(o,d,b,C)),s.parentNode===null||!s.parentNode.transformable)this.setLocalRotation(s,o);else{var J=this.getRotation(s.parentNode);W.JG(mA,J),W.U_(mA,mA),W.Jp(G.localRotation,mA,o),W.Fv(G.localRotation,G.localRotation),this.dirtyLocalTransform(s,G)}}},{key:"rotate",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=O.al(o,d,b));var C=s.transformable;if(s.parentNode===null||!s.parentNode.transformable)this.rotateLocal(s,o);else{var G=mA;W.Su(G,o[0],o[1],o[2]);var J=this.getRotation(s),lt=this.getRotation(s.parentNode);W.JG(lc,lt),W.U_(lc,lc),W.Jp(G,lc,G),W.Jp(C.localRotation,G,J),W.Fv(C.localRotation,C.localRotation),this.dirtyLocalTransform(s,C)}}},{key:"setOrigin",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=[o,d,b]);var C=s.transformable;if(!(o[0]===C.origin[0]&&o[1]===C.origin[1]&&o[2]===C.origin[2])){var G=C.origin;G[0]=o[0],G[1]=o[1],G[2]=o[2]||0,this.dirtyLocalTransform(s,C)}}},{key:"setEulerAngles",value:function(s,o){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof o=="number"&&(o=O.al(o,d,b));var C=s.transformable;if(s.parentNode===null||!s.parentNode.transformable)this.setLocalEulerAngles(s,o);else{W.Su(C.localRotation,o[0],o[1],o[2]);var G=this.getRotation(s.parentNode);W.JG(Fl,W.U_(mA,G)),W.dC(C.localRotation,C.localRotation,Fl),this.dirtyLocalTransform(s,C)}}},{key:"getGeometryBounds",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d=s,b=d.geometry;b.dirty&&xr.styleValueRegistry.updateGeometry(s);var C=o?b.renderBounds:b.contentBounds||null;return C||new z}},{key:"getTransformedGeometryBounds",value:function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d=arguments.length>2?arguments[2]:void 0,b=this.getGeometryBounds(s,o);if(!z.isEmpty(b)){var C=d||new z;return C.setFromTransformedAABB(b,this.getWorldTransform(s)),C}return null}},{key:"getBounds",value:function(s){var o=this,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=s,C=b.renderable;if(!C.boundsDirty&&!d&&C.bounds)return C.bounds;if(!C.renderBoundsDirty&&d&&C.renderBounds)return C.renderBounds;var G=d?C.renderBounds:C.bounds,J=this.getTransformedGeometryBounds(s,d,G),lt=s.childNodes;if(lt.forEach(function(pe){var ze=o.getBounds(pe,d);ze&&(J?J.add(ze):(J=G||new z,J.update(ze.center,ze.halfExtents)))}),J||(J=new z),d){var Ft=PA(s);if(Ft){var Wt=Ft.parsedStyle.clipPath.getBounds(d);J?Wt&&(J=Wt.intersection(J)):J.update(Wt.center,Wt.halfExtents)}}return d?(C.renderBounds=J,C.renderBoundsDirty=!1):(C.bounds=J,C.boundsDirty=!1),J}},{key:"getLocalBounds",value:function(s){if(s.parentNode){var o=Fu;s.parentNode.transformable&&(o=Z.invert(oc,this.getWorldTransform(s.parentNode)));var d=this.getBounds(s);if(!z.isEmpty(d)){var b=new z;return b.setFromTransformedAABB(d,o),b}}return this.getBounds(s)}},{key:"getBoundingClientRect",value:function(s){var o,d,b=this.getGeometryBounds(s);z.isEmpty(b)||(d=new z,d.setFromTransformedAABB(b,this.getWorldTransform(s)));var C=(o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0?void 0:o.getContextService().getBoundingClientRect();if(d){var G=d.getMin(),J=(0,E.Z)(G,2),lt=J[0],Ft=J[1],Wt=d.getMax(),pe=(0,E.Z)(Wt,2),ze=pe[0],_e=pe[1];return new un(lt+((C==null?void 0:C.left)||0),Ft+((C==null?void 0:C.top)||0),ze-lt,_e-Ft)}return new un((C==null?void 0:C.left)||0,(C==null?void 0:C.top)||0,0,0)}},{key:"internalUpdateTransform",value:function(s){var o,d=(o=s.parentNode)===null||o===void 0?void 0:o.transformable;Ci(s.transformable),gi(s.transformable,d)}},{key:"internalUpdateElement",value:function(s,o){var d,b,C,G,J=((d=s.ownerDocument)===null||d===void 0||(d=d.defaultView)===null||d===void 0||(d=d.getConfig())===null||d===void 0||(d=d.future)===null||d===void 0?void 0:d.experimentalAttributeUpdateOptimization)===!0,lt=o[o.length-1],Ft=(lt==null?void 0:lt.transformDirty)||((b=s.transformable)===null||b===void 0?void 0:b.localDirtyFlag);if(s.transformable){var Wt;(Wt=s.transformable).dirtyFlag||(Wt.dirtyFlag=Ft)}if(this.internalUpdateTransform(s),Ft){var pe;(pe=s.dirty)===null||pe===void 0||pe.call(s,!0,!0)}var ze=((C=s.renderable)===null||C===void 0?void 0:C.boundsDirty)||((G=s.renderable)===null||G===void 0?void 0:G.renderBoundsDirty);if((Ft||ze)&&(lt==null?void 0:lt.shapeUpdated)===!1&&J)for(var _e=o.length-1;_e>=0;){var dn,bn,xn=o[_e];if(xn.shapeUpdated)break;(dn=(bn=xn.node).dirty)===null||dn===void 0||dn.call(bn,!0,!0),xn.shapeUpdated=!0,_e-=1}return Ft}},{key:"syncHierarchy",value:function(s){for(var o,d,b=[s],C=s.parentNode?[{node:s.parentNode,transformDirty:((o=s.parentNode.transformable)===null||o===void 0?void 0:o.localDirtyFlag)||((d=s.parentNode.transformable)===null||d===void 0?void 0:d.dirtyFlag),shapeUpdated:!1}]:[];b.length>0;){for(var G=b.pop(),J=C[C.length-1];C.length>0&&G.parentNode!==J.node;)J=C.pop();var lt=this.internalUpdateElement(G,C);if(G.childNodes.length>0){for(var Ft=G.childNodes.length-1;Ft>=0;Ft--)b.push(G.childNodes[Ft]);C.push({node:G,transformDirty:lt,shapeUpdated:!1})}}}},{key:"dirtyLocalTransform",value:function(s,o){UA(s)||o.localDirtyFlag||(o.localDirtyFlag=!0,o.dirtyFlag||this.dirtyWorldTransform(s,o))}},{key:"dirtyWorldTransform",value:function(s,o){this.dirtyWorldInternal(s,o),this.dirtyToRoot(s,!0)}},{key:"dirtyWorldInternal",value:function(s,o){var d,b=this,C=((d=s.ownerDocument)===null||d===void 0||(d=d.defaultView)===null||d===void 0||(d=d.getConfig())===null||d===void 0||(d=d.future)===null||d===void 0?void 0:d.experimentalAttributeUpdateOptimization)===!0;o.dirtyFlag||(o.dirtyFlag=!0,s.dirty(!0,!0),C||s.childNodes.forEach(function(G){var J=G.transformable;b.dirtyWorldInternal(G,J)}))}},{key:"dirtyToRoot",value:function(s){for(var o,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=s,C=((o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0||(o=o.getConfig())===null||o===void 0||(o=o.future)===null||o===void 0?void 0:o.experimentalAttributeUpdateOptimization)===!0;b;){var G,J;if((G=(J=b).dirty)===null||G===void 0||G.call(J,!0,!0),C)break;b=b.parentNode}d&&s.forEach(function(Wt){var pe;(pe=Wt.dirty)===null||pe===void 0||pe.call(Wt,!0,!0)}),this.informDependentDisplayObjects(s);var lt=s.mutations||[],Ft=lt.find(function(Wt){return Wt.type==="attributes"&&Wt._boundsChangeData});Ft?Ft._boundsChangeData={affectChildren:Ft._boundsChangeData.affectChildren||d}:(Ft={type:"attributes",target:s,_boundsChangeData:{affectChildren:d}},lt.push(Ft)),s.mutations=lt}},{key:"dirtyFragment",value:function(s){var o,d,b=s.transformable;b&&(b.dirtyFlag=!0,b.localDirtyFlag=!0),(o=(d=s).dirty)===null||o===void 0||o.call(d,!0,!0);for(var C=s.childNodes.length,G=0;G0){var d=new Os(Ni.BOUNDS_CHANGED,{detail:Array.from(o)});s.dispatchEvent(d,!0,!0)}}},{key:"updateDisplayObjectDependency",value:function(s,o,d,b){if(o&&o!==d){var C=this.displayObjectDependencyMap.get(o);if(C&&C[s]){var G=C[s].indexOf(b);C[s].splice(G,1)}}if(d){var J=this.displayObjectDependencyMap.get(d);J||(this.displayObjectDependencyMap.set(d,{}),J=this.displayObjectDependencyMap.get(d)),J[s]||(J[s]=[]),J[s].push(b)}}},{key:"informDependentDisplayObjects",value:function(s){var o,d=this,b=this.displayObjectDependencyMap.get(s);if(b){var C=(o=s.ownerDocument)===null||o===void 0||(o=o.defaultView)===null||o===void 0||(o=o.getConfig())===null||o===void 0||(o=o.future)===null||o===void 0?void 0:o.experimentalCancelEventPropagation;Object.keys(b).forEach(function(G){b[G].forEach(function(J){d.dirtyToRoot(J,!0),J.dispatchEvent(new Gs(Ni.ATTR_MODIFIED,J,d,d,G,Gs.MODIFICATION,d,d),C,C),J.isCustomElement&&J.isConnected&&J.attributeChangedCallback&&J.attributeChangedCallback(G,d,d)})})}}}])}(),KA=function(){function u(g){if((0,R.Z)(this,u),g<=0)throw new Error("LRU capacity must be a positive number.");this.capacity=g,this.cache=new Map}return(0,U.Z)(u,[{key:"get",value:function(s){if(this.cache.has(s)){var o=this.cache.get(s);return this.cache.delete(s),this.cache.set(s,o),o}}},{key:"put",value:function(s,o){if(this.cache.has(s)&&this.cache.delete(s),this.cache.set(s,o),this.cache.size>this.capacity){var d=this.cache.keys().next().value;this.cache.delete(d)}}},{key:"len",value:function(){return this.cache.size}},{key:"clear",value:function(){this.cache.clear()}}])}(),yA={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]},ll=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,cl=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,Kc=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,Gc=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,ul=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,cc=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,uc=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,zc=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,Wc=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,Il=new RegExp("".concat(cl.source,"|").concat(Gc.source,"|").concat(cc.source,"|").concat(zc.source)),Vc=new RegExp("".concat(Kc.source,"|").concat(ul.source,"|").concat(uc.source,"|").concat(Wc.source)),hc=function(){function u(g){var s=this;(0,R.Z)(this,u),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(o,d){return s.isBreakingSpace(d)?!1:!!(o&&(Vc.exec(d)||Il.exec(o)))},this.trimByKinsokuShorui=function(o){var d=(0,P.Z)(o),b=d[d.length-2];if(!b)return o;var C=b[b.length-1];return d[d.length-2]=b.slice(0,-1),d[d.length-1]=C+d[d.length-1],d},this.runtime=g,this.charWidthCache=new KA(100)}return(0,U.Z)(u,[{key:"measureFont",value:function(s,o){if(this.fontMetricsCache[s])return this.fontMetricsCache[s];var d={ascent:0,descent:0,fontSize:0},b=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(o),C=this.runtime.offscreenCanvasCreator.getOrCreateContext(o,{willReadFrequently:!0});C.font=s;var G=yA.MetricsString+yA.BaselineSymbol,J=Math.ceil(C.measureText(G).width),lt=Math.ceil(C.measureText(yA.BaselineSymbol).width),Ft=yA.HeightMultiplier*lt;lt=lt*yA.BaselineMultiplier|0,b.width=J,b.height=Ft,C.fillStyle="#f00",C.fillRect(0,0,J,Ft),C.font=s,C.textBaseline="alphabetic",C.fillStyle="#000",C.fillText(G,0,lt);var Wt=C.getImageData(0,0,J||1,Ft||1).data,pe=Wt.length,ze=J*4,_e=0,dn=0,bn=!1;for(_e=0;_elt;--_e){for(var vn=0;vnL&&w>=N;)w-=1,B=B.slice(0,-1);return{lineTxt:B,txtLastCharIndex:w}}function ii(B,w){if(!(qr<=0||qr>bn)){if(!vn[B]){vn[B]=xn;return}var N=Vr(vn[B],w,Ir+1,bn-qr);vn[B]=N.lineTxt+xn}}for(var Kr=0;Kr=ze){Krbn){ii(Wn,Kr-1),o.isOverflowing=!0;break}if(lr>0&&lr+Na>bn){var ci=Vr(vn[Wn],Kr-1,Ir+1,bn);if(ci.txtLastCharIndex!==Kr-1){if(vn[Wn]=ci.lineTxt,ci.txtLastCharIndex===C.length-1)break;Kr=ci.txtLastCharIndex+1,wi=C[Kr],ra=C[Kr-1],Ta=C[Kr+1],Na=wr(wi)}if(Wn+1>=ze){ii(Wn,Kr-1),o.isOverflowing=!0;break}if(Ir=Kr-1,Wn+=1,lr=0,vn[Wn]="",this.isBreakingSpace(wi))continue;this.canBreakInLastChar(wi)||(vn=this.trimToBreakable(vn),lr=this.sumTextWidthByCache(vn[Wn]||"",wr)),this.shouldBreakByKinsokuShorui(wi,Ta)&&(vn=this.trimByKinsokuShorui(vn),lr+=wr(ra||""))}lr+=Na,vn[Wn]+=wi}return vn.join(` -`)}},{key:"isBreakingSpace",value:function(s){return typeof s!="string"?!1:yA.BreakingSpaces.indexOf(s.charCodeAt(0))>=0}},{key:"isNewline",value:function(s){return typeof s!="string"?!1:yA.Newlines.indexOf(s.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(s){var o=(0,P.Z)(s),d=o[o.length-2],b=this.findBreakableIndex(d);if(b===-1||!d)return o;var C=d.slice(b,b+1),G=this.isBreakingSpace(C),J=b+1,lt=b+(G?0:1);return o[o.length-1]+=d.slice(J,d.length),o[o.length-2]=d.slice(0,lt),o}},{key:"canBreakInLastChar",value:function(s){return!(s&&ll.test(s))}},{key:"sumTextWidthByCache",value:function(s,o){return s.split("").reduce(function(d,b){return d+o(b)},0)}},{key:"findBreakableIndex",value:function(s){for(var o=s.length-1;o>=0;o--)if(!ll.test(s[o]))return o;return-1}},{key:"getFromCache",value:function(s,o,d,b){var C=d.get(s);if(typeof C!="number"){var G=s.length*o,J=b.measureText(s);C=J.width+G,d.put(s,C)}return C}},{key:"clearCache",value:function(){this.fontMetricsCache={},this.charWidthCache.clear()}}])}(),xr={},Pu=function(u){var g=new nc,s=new Qc;return u={},(0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)(u,Be.FRAGMENT,null),Be.CIRCLE,new Sl),Be.ELLIPSE,new Dc),Be.RECT,g),Be.IMAGE,g),Be.GROUP,new kc),Be.LINE,new Rc),Be.TEXT,new Cu(xr)),Be.POLYLINE,s),Be.POLYGON,s),(0,cr.Z)((0,cr.Z)((0,cr.Z)(u,Be.PATH,new ec),Be.HTML,new Ml),Be.MESH,null)}(),Ll=function(u){var g=new go,s=new _s;return u={},(0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)(u,er.PERCENTAGE,null),er.NUMBER,new Vl),er.ANGLE,new Bs),er.DEFINED_PATH,new ks),er.PAINT,g),er.COLOR,g),er.FILTER,new vo),er.LENGTH,s),er.LENGTH_PERCENTAGE,s),er.LENGTH_PERCENTAGE_12,new Hs),(0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)((0,cr.Z)(u,er.LENGTH_PERCENTAGE_14,new rl),er.COORDINATE,new _s),er.OFFSET_DISTANCE,new fA),er.OPACITY_VALUE,new po),er.PATH,new NA),er.LIST_OF_POINTS,new Oc),er.SHADOW_BLUR,new eA),er.TEXT,new pl),er.TEXT_TRANSFORM,new Za),er.TRANSFORM,new $l),(0,cr.Z)((0,cr.Z)((0,cr.Z)(u,er.TRANSFORM_ORIGIN,new Uc),er.Z_INDEX,new tc),er.MARKER,new LA)}(),GA=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof f.g!="undefined"?f.g:{}};xr.CameraContribution=ar,xr.AnimationTimeline=null,xr.EasingFunction=null,xr.offscreenCanvasCreator=new ic,xr.sceneGraphSelector=new Di,xr.sceneGraphService=new Zc(xr),xr.textService=new hc(xr),xr.geometryUpdaterFactory=Pu,xr.CSSPropertySyntaxFactory=Ll,xr.styleValueRegistry=new Ya(xr),xr.layoutRegistry=null,xr.globalThis=GA(),xr.enableStyleSyntax=!0,xr.enableSizeAttenuation=!1;var zA=0;function dc(){zA=0}var Nl=new Gs(Ni.INSERTED,null,"","","",0,"",""),fc=new Gs(Ni.REMOVED,null,"","","",0,"",""),jc=new Os(Ni.DESTROY),Uu=function(u){function g(){var s;(0,R.Z)(this,g);for(var o=arguments.length,d=new Array(o),b=0;b0&&arguments[0]!==void 0?arguments[0]:!0,d=arguments.length>1?arguments[1]:void 0;this.renderable.dirty=o,d!==void 0&&(this.renderable.boundsDirty=d,this.renderable.renderBoundsDirty=d,this.geometry.dirty=d)}},{key:"className",get:function(){return this.getAttribute("class")||""},set:function(o){this.setAttribute("class",o)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(o){return o!==""})}},{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 o=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[o+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var o=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[o-1]||null}return null}},{key:"cloneNode",value:function(o){throw new Error(pt)}},{key:"appendChild",value:function(o,d){var b;if(o.destroyed)throw new Error(ct);return xr.sceneGraphService.attach(o,this,d),(b=this.ownerDocument)!==null&&b!==void 0&&b.defaultView&&(!UA(this)&&o.nodeName===Be.FRAGMENT?this.ownerDocument.defaultView.mountFragment(o):this.ownerDocument.defaultView.mountChildren(o)),this.isMutationObserved&&(Nl.relatedNode=this,o.dispatchEvent(Nl)),o}},{key:"insertBefore",value:function(o,d){if(!d)this.appendChild(o);else{o.parentElement&&o.parentElement.removeChild(o);var b=this.childNodes.indexOf(d);b===-1?this.appendChild(o):this.appendChild(o,b)}return o}},{key:"replaceChild",value:function(o,d){var b=this.childNodes.indexOf(d);return this.removeChild(d),this.appendChild(o,b),d}},{key:"removeChild",value:function(o){var d,b,C=((d=this.ownerDocument)===null||d===void 0||(d=d.defaultView)===null||d===void 0||(d=d.getConfig().future)===null||d===void 0?void 0:d.experimentalCancelEventPropagation)===!0;return fc.relatedNode=this,o.dispatchEvent(fc,C,C),(b=o.ownerDocument)!==null&&b!==void 0&&b.defaultView&&o.ownerDocument.defaultView.unmountChildren(o),xr.sceneGraphService.detach(o),o}},{key:"removeChildren",value:function(){for(var o=this.childNodes.length-1;o>=0;o--){var d=this.childNodes[o];this.removeChild(d)}}},{key:"destroyChildren",value:function(){for(var o=this.childNodes.length-1;o>=0;o--){var d=this.childNodes[o];d.childNodes.length>0&&d.destroyChildren(),d.destroy()}}},{key:"matches",value:function(o){return xr.sceneGraphService.matches(o,this)}},{key:"getElementById",value:function(o){return xr.sceneGraphService.querySelector("#".concat(o),this)}},{key:"getElementsByName",value:function(o){return xr.sceneGraphService.querySelectorAll('[name="'.concat(o,'"]'),this)}},{key:"getElementsByClassName",value:function(o){return xr.sceneGraphService.querySelectorAll(".".concat(o),this)}},{key:"getElementsByTagName",value:function(o){return xr.sceneGraphService.querySelectorAll(o,this)}},{key:"querySelector",value:function(o){return xr.sceneGraphService.querySelector(o,this)}},{key:"querySelectorAll",value:function(o){return xr.sceneGraphService.querySelectorAll(o,this)}},{key:"closest",value:function(o){var d=this;do{if(xr.sceneGraphService.matches(o,d))return d;d=d.parentElement}while(d!==null);return null}},{key:"find",value:function(o){var d=this,b=null;return this.forEach(function(C){return C!==d&&o(C)?(b=C,!1):!0}),b}},{key:"findAll",value:function(o){var d=this,b=[];return this.forEach(function(C){C!==d&&o(C)&&b.push(C)}),b}},{key:"after",value:function(){var o=this;if(this.parentNode){for(var d=this.parentNode.childNodes.indexOf(this),b=arguments.length,C=new Array(b),G=0;G0&&arguments[0]!==void 0?arguments[0]:!1;return xr.sceneGraphService.getGeometryBounds(this,o)}},{key:"getTransformedGeometryBounds",value:function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return xr.sceneGraphService.getTransformedGeometryBounds(this,o)}},{key:"getBounds",value:function(){return xr.sceneGraphService.getBounds(this)}},{key:"getRenderBounds",value:function(){return xr.sceneGraphService.getBounds(this,!0)}},{key:"getLocalBounds",value:function(){return xr.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return xr.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(o){if(typeof o!="symbol"){var d=this.attributes[o];return d}}},{key:"hasAttribute",value:function(o){return this.getAttributeNames().includes(o)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(o){this.setAttribute(o,null),delete this.attributes[o]}},{key:"setAttribute",value:function(o,d){this.attributes[o]=d}},{key:"getAttributeNS",value:function(o,d){throw new Error(pt)}},{key:"getAttributeNode",value:function(o){throw new Error(pt)}},{key:"getAttributeNodeNS",value:function(o,d){throw new Error(pt)}},{key:"hasAttributeNS",value:function(o,d){throw new Error(pt)}},{key:"removeAttributeNS",value:function(o,d){throw new Error(pt)}},{key:"removeAttributeNode",value:function(o){throw new Error(pt)}},{key:"setAttributeNS",value:function(o,d,b){throw new Error(pt)}},{key:"setAttributeNode",value:function(o){throw new Error(pt)}},{key:"setAttributeNodeNS",value:function(o){throw new Error(pt)}},{key:"toggleAttribute",value:function(o,d){throw new Error(pt)}}])}(za);function Oa(u){return!!(u!=null&&u.nodeName)}var Pl=xr.globalThis.Proxy?xr.globalThis.Proxy:function(){},Fo=new Gs(Ni.ATTR_MODIFIED,null,null,null,null,Gs.MODIFICATION,null,null),WA=O.Ue(),gc=W.Ue(),La=function(u){function g(s){var o;return(0,R.Z)(this,g),o=(0,m.Z)(this,g),o.isCustomElement=!1,o.isMutationObserved=!1,o.activeAnimations=[],o.config=s,o.id=s.id||"",o.name=s.name||"",(s.className||s.class)&&(o.className=s.className||s.class),o.nodeName=s.type||Be.GROUP,s.initialParsedStyle&&Object.assign(o.parsedStyle,s.initialParsedStyle),o.initAttributes(s.style),xr.enableStyleSyntax&&(o.style=new Pl({setProperty:function(b,C){o.setAttribute(b,C)},getPropertyValue:function(b){return o.getAttribute(b)},removeProperty:function(b){o.removeAttribute(b)},item:function(){return""}},{get:function(b,C){return b[C]!==void 0?b[C]:o.getAttribute(C)},set:function(b,C,G){return o.setAttribute(C,G),!0}})),o}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"destroy",value:function(){(0,Ue.Z)(g,"destroy",this,3)([]),this.getAnimations().forEach(function(o){o.cancel()})}},{key:"cloneNode",value:function(o,d){var b=(0,l.Z)({},this.attributes);for(var C in b){var G=b[C];Oa(G)&&C!=="clipPath"&&C!=="offsetPath"&&C!=="textPath"&&(b[C]=G.cloneNode(o)),d&&(b[C]=d(C,G))}var J=new this.constructor((0,l.Z)((0,l.Z)({},this.config),{},{style:b}));return J.setLocalTransform(this.getLocalTransform()),o&&this.children.forEach(function(lt){if(!lt.style.isMarker){var Ft=lt.cloneNode(o);J.appendChild(Ft)}}),J}},{key:"initAttributes",value:function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d={forceUpdateGeometry:!0};xr.styleValueRegistry.processProperties(this,o,d),this.dirty()}},{key:"setAttribute",value:function(o,d){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;(0,Gn.Z)(d)||(b||d!==this.attributes[o])&&(this.internalSetAttribute(o,d,{memoize:C}),(0,Ue.Z)(g,"setAttribute",this,3)([o,d]))}},{key:"setAttributes",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=d.skipDispatchAttrModifiedEvent,C=b===void 0?!1:b,G,J;if(C||(G=(0,l.Z)({},this.attributes),J=(0,l.Z)({},this.parsedStyle)),xr.styleValueRegistry.processProperties(this,o,d),this.dirty(),!C)for(var lt in o)this.dispatchAttrModifiedEvent(lt,G[lt],o[lt],J[lt])}},{key:"internalSetAttribute",value:function(o,d){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},C=this.attributes[o],G=this.parsedStyle[o];xr.styleValueRegistry.processProperties(this,(0,cr.Z)({},o,d),b),this.dirty(),this.dispatchAttrModifiedEvent(o,C,d,G)}},{key:"dispatchAttrModifiedEvent",value:function(o,d,b,C){var G=this.parsedStyle[o];if(this.isConnected)if(Fo.relatedNode=this,Fo.prevValue=d,Fo.newValue=b,Fo.attrName=o,Fo.prevParsedValue=C,Fo.newParsedValue=G,this.isMutationObserved)this.dispatchEvent(Fo);else{var J,lt=((J=this.ownerDocument.defaultView.getConfig().future)===null||J===void 0?void 0:J.experimentalCancelEventPropagation)===!0;Fo.target=this,this.ownerDocument.defaultView.dispatchEvent(Fo,!0,lt)}if(this.isCustomElement&&this.isConnected||!this.isCustomElement){var Ft,Wt;(Ft=(Wt=this).attributeChangedCallback)===null||Ft===void 0||Ft.call(Wt,o,d,b,C,G)}}},{key:"getBBox",value:function(){var o=this.getBounds(),d=o.getMin(),b=(0,E.Z)(d,2),C=b[0],G=b[1],J=o.getMax(),lt=(0,E.Z)(J,2),Ft=lt[0],Wt=lt[1];return new un(C,G,Ft-C,Wt-G)}},{key:"setOrigin",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xr.sceneGraphService.setOrigin(this,De(o,d,b,!1)),this}},{key:"getOrigin",value:function(){return xr.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xr.sceneGraphService.setPosition(this,De(o,d,b,!1)),this}},{key:"setLocalPosition",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xr.sceneGraphService.setLocalPosition(this,De(o,d,b,!1)),this}},{key:"translate",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xr.sceneGraphService.translate(this,De(o,d,b,!1)),this}},{key:"translateLocal",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return xr.sceneGraphService.translateLocal(this,De(o,d,b,!1)),this}},{key:"getPosition",value:function(){return xr.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return xr.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(o,d,b){return this.scaleLocal(o,d,b)}},{key:"scaleLocal",value:function(o,d,b){return typeof o=="number"&&(d=d||o,b=b||o,o=De(o,d,b,!1)),xr.sceneGraphService.scaleLocal(this,o),this}},{key:"setLocalScale",value:function(o,d,b){return typeof o=="number"&&(d=d||o,b=b||o,o=De(o,d,b,!1)),xr.sceneGraphService.setLocalScale(this,o),this}},{key:"getLocalScale",value:function(){return xr.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return xr.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var o=or(WA,xr.sceneGraphService.getWorldTransform(this)),d=(0,E.Z)(o,3),b=d[2];return Mn(b)}},{key:"getLocalEulerAngles",value:function(){var o=or(WA,xr.sceneGraphService.getLocalRotation(this)),d=(0,E.Z)(o,3),b=d[2];return Mn(b)}},{key:"setEulerAngles",value:function(o){return xr.sceneGraphService.setEulerAngles(this,0,0,o),this}},{key:"setLocalEulerAngles",value:function(o){return xr.sceneGraphService.setLocalEulerAngles(this,0,0,o),this}},{key:"rotateLocal",value:function(o,d,b){return(0,Mt.Z)(d)&&(0,Mt.Z)(b)?xr.sceneGraphService.rotateLocal(this,0,0,o):xr.sceneGraphService.rotateLocal(this,o,d,b),this}},{key:"rotate",value:function(o,d,b){return(0,Mt.Z)(d)&&(0,Mt.Z)(b)?xr.sceneGraphService.rotate(this,0,0,o):xr.sceneGraphService.rotate(this,o,d,b),this}},{key:"setRotation",value:function(o,d,b,C){return xr.sceneGraphService.setRotation(this,o,d,b,C),this}},{key:"setLocalRotation",value:function(o,d,b,C){return xr.sceneGraphService.setLocalRotation(this,o,d,b,C),this}},{key:"setLocalSkew",value:function(o,d){return xr.sceneGraphService.setLocalSkew(this,o,d),this}},{key:"getRotation",value:function(){return xr.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return xr.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return xr.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return xr.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return xr.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(o){return xr.sceneGraphService.setLocalTransform(this,o),this}},{key:"resetLocalTransform",value:function(){xr.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(o,d){var b,C=(b=this.ownerDocument)===null||b===void 0?void 0:b.timeline;return C?C.play(this,o,d):null}},{key:"isVisible",value:function(){var o;return((o=this.parsedStyle)===null||o===void 0?void 0:o.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(o){this.style.pointerEvents=o?"auto":"none"}},{key:"isInteractive",value:function(){var o;return((o=this.parsedStyle)===null||o===void 0?void 0:o.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,P.Z)(this.parentNode.children.map(function(o){return Number(o.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,P.Z)(this.parentNode.children.map(function(o){return Number(o.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var o=this,d=arguments.length,b=new Array(d),C=0;C1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(o,d,b),this}},{key:"move",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(o,d,b),this}},{key:"setZIndex",value:function(o){return this.style.zIndex=o,this}}])}(Uu);La.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 Ul=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.CIRCLE},s)])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);Ul.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var Du=["style"],hl=function(u){function g(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=o.style,b=(0,Oe.Z)(o,Du);return(0,R.Z)(this,g),s=(0,m.Z)(this,g,[(0,l.Z)({style:d},b)]),s.isCustomElement=!0,s}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);hl.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var wA=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.ELLIPSE},s)])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);wA.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var vc=function(u){function g(){return(0,R.Z)(this,g),(0,m.Z)(this,g,[{type:Be.FRAGMENT}])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);vc.PARSED_STYLE_LIST=new Set(["class","className"]);var VA=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.GROUP},s)])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);VA.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var Ru=["style"],Dl=function(u){function g(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=o.style,b=(0,Oe.Z)(o,Ru);return(0,R.Z)(this,g),s=(0,m.Z)(this,g,[(0,l.Z)({type:Be.HTML,style:d},b)]),s.cullable.enable=!1,s}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var o=Z.invert(Z.create(),this.parentNode.getWorldTransform()),d=this.getBounds();if(!z.isEmpty(d)){var b=new z;return b.setFromTransformedAABB(d,o),b}}return this.getBounds()}}])}(La);Dl.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Rl=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.IMAGE},s)])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);Rl.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var Qu=["style"],pc=function(u){function g(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=o.style,b=(0,Oe.Z)(o,Qu);(0,R.Z)(this,g),s=(0,m.Z)(this,g,[(0,l.Z)({type:Be.LINE,style:(0,l.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},d)},b)]),s.markerStartAngle=0,s.markerEndAngle=0;var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd;return G&&Oa(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),J&&Oa(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"attributeChangedCallback",value:function(o,d,b,C,G){o==="x1"||o==="y1"||o==="x2"||o==="y2"||o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Oa(C)&&(this.markerStartAngle=0,C.remove()),G&&Oa(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"&&(C&&Oa(C)&&(this.markerEndAngle=0,C.remove()),G&&Oa(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1)))}},{key:"transformMarker",value:function(o){var d=this.parsedStyle,b=d.markerStart,C=d.markerEnd,G=d.markerStartOffset,J=d.markerEndOffset,lt=d.x1,Ft=d.x2,Wt=d.y1,pe=d.y2,ze=o?b:C;if(!(!ze||!Oa(ze))){var _e=0,dn,bn,xn,vn,Wn,lr;o?(xn=lt,vn=Wt,dn=Ft-lt,bn=pe-Wt,Wn=G||0,lr=this.markerStartAngle):(xn=Ft,vn=pe,dn=lt-Ft,bn=Wt-pe,Wn=J||0,lr=this.markerEndAngle),_e=Math.atan2(bn,dn),ze.setLocalEulerAngles(_e*180/Math.PI+lr),ze.setLocalPosition(xn+Math.cos(_e)*Wn,vn+Math.sin(_e)*Wn)}}},{key:"getPoint",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle,C=b.x1,G=b.y1,J=b.x2,lt=b.y2,Ft=(0,ve.U4)(C,G,J,lt,o),Wt=Ft.x,pe=Ft.y,ze=O.fF(O.Ue(),O.al(Wt,pe,0),d?this.getWorldTransform():this.getLocalTransform());return new ne(ze[0],ze[1])}},{key:"getPointAtLength",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(o/this.getTotalLength(),d)}},{key:"getTotalLength",value:function(){var o=this.parsedStyle,d=o.x1,b=o.y1,C=o.x2,G=o.y2;return(0,ve.Xk)(d,b,C,G)}}])}(La);pc.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var EA=["style"],Ql=function(u){function g(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=o.style,b=(0,Oe.Z)(o,EA);(0,R.Z)(this,g),s=(0,m.Z)(this,g,[(0,l.Z)({type:Be.PATH,style:d,initialParsedStyle:{miterLimit:4,d:(0,l.Z)({},hi)}},b)]),s.markerStartAngle=0,s.markerEndAngle=0,s.markerMidList=[];var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd,lt=C.markerMid;return G&&Oa(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),lt&&Oa(lt)&&s.placeMarkerMid(lt),J&&Oa(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"attributeChangedCallback",value:function(o,d,b,C,G){o==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Oa(C)&&(this.markerStartAngle=0,C.remove()),G&&Oa(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"?(C&&Oa(C)&&(this.markerEndAngle=0,C.remove()),G&&Oa(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1))):o==="markerMid"&&this.placeMarkerMid(G)}},{key:"transformMarker",value:function(o){var d=this.parsedStyle,b=d.markerStart,C=d.markerEnd,G=d.markerStartOffset,J=d.markerEndOffset,lt=o?b:C;if(!(!lt||!Oa(lt))){var Ft=0,Wt,pe,ze,_e,dn,bn;if(o){var xn=this.getStartTangent(),vn=(0,E.Z)(xn,2),Wn=vn[0],lr=vn[1];ze=lr[0],_e=lr[1],Wt=Wn[0]-lr[0],pe=Wn[1]-lr[1],dn=G||0,bn=this.markerStartAngle}else{var Ir=this.getEndTangent(),Tr=(0,E.Z)(Ir,2),pr=Tr[0],wr=Tr[1];ze=wr[0],_e=wr[1],Wt=pr[0]-wr[0],pe=pr[1]-wr[1],dn=J||0,bn=this.markerEndAngle}Ft=Math.atan2(pe,Wt),lt.setLocalEulerAngles(Ft*180/Math.PI+bn),lt.setLocalPosition(ze+Math.cos(Ft)*dn,_e+Math.sin(Ft)*dn)}}},{key:"placeMarkerMid",value:function(o){var d=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(Ft){Ft.remove()}),o&&Oa(o))for(var b=1;b1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle.d.absolutePath,C=rr(b,o),G=C.x,J=C.y,lt=O.fF(O.Ue(),O.al(G,J,0),d?this.getWorldTransform():this.getLocalTransform());return new ne(lt[0],lt[1])}},{key:"getPoint",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(o*fr(this),d)}},{key:"getStartTangent",value:function(){var o=this.parsedStyle.d.segments,d=[];if(o.length>1){var b=o[0].currentPoint,C=o[1].currentPoint,G=o[1].startTangent;d=[],G?(d.push([b[0]-G[0],b[1]-G[1]]),d.push([b[0],b[1]])):(d.push([C[0],C[1]]),d.push([b[0],b[1]]))}return d}},{key:"getEndTangent",value:function(){var o=this.parsedStyle.d.segments,d=o.length,b=[];if(d>1){var C=o[d-2].currentPoint,G=o[d-1].currentPoint,J=o[d-1].endTangent;b=[],J?(b.push([G[0]-J[0],G[1]-J[1]]),b.push([G[0],G[1]])):(b.push([C[0],C[1]]),b.push([G[0],G[1]]))}return b}}])}(La);Ql.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var ns=["style"],Io=function(u){function g(){var s,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=o.style,b=(0,Oe.Z)(o,ns);(0,R.Z)(this,g),s=(0,m.Z)(this,g,[(0,l.Z)({type:Be.POLYGON,style:d,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},b)]),s.markerStartAngle=0,s.markerEndAngle=0,s.markerMidList=[];var C=s.parsedStyle,G=C.markerStart,J=C.markerEnd,lt=C.markerMid;return G&&Oa(G)&&(s.markerStartAngle=G.getLocalEulerAngles(),s.appendChild(G)),lt&&Oa(lt)&&s.placeMarkerMid(lt),J&&Oa(J)&&(s.markerEndAngle=J.getLocalEulerAngles(),s.appendChild(J)),s.transformMarker(!0),s.transformMarker(!1),s}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"attributeChangedCallback",value:function(o,d,b,C,G){o==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):o==="markerStartOffset"||o==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):o==="markerStart"?(C&&Oa(C)&&(this.markerStartAngle=0,C.remove()),G&&Oa(G)&&(this.markerStartAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!0))):o==="markerEnd"?(C&&Oa(C)&&(this.markerEndAngle=0,C.remove()),G&&Oa(G)&&(this.markerEndAngle=G.getLocalEulerAngles(),this.appendChild(G),this.transformMarker(!1))):o==="markerMid"&&this.placeMarkerMid(G)}},{key:"transformMarker",value:function(o){var d=this.parsedStyle,b=d.markerStart,C=d.markerEnd,G=d.markerStartOffset,J=d.markerEndOffset,lt=d.points,Ft=lt||{},Wt=Ft.points,pe=o?b:C;if(!(!pe||!Oa(pe)||!Wt)){var ze=0,_e,dn,bn,xn,vn,Wn;if(bn=Wt[0][0],xn=Wt[0][1],o)_e=Wt[1][0]-Wt[0][0],dn=Wt[1][1]-Wt[0][1],vn=G||0,Wn=this.markerStartAngle;else{var lr=Wt.length;this.parsedStyle.isClosed?(_e=Wt[lr-1][0]-Wt[0][0],dn=Wt[lr-1][1]-Wt[0][1]):(bn=Wt[lr-1][0],xn=Wt[lr-1][1],_e=Wt[lr-2][0]-Wt[lr-1][0],dn=Wt[lr-2][1]-Wt[lr-1][1]),vn=J||0,Wn=this.markerEndAngle}ze=Math.atan2(dn,_e),pe.setLocalEulerAngles(ze*180/Math.PI+Wn),pe.setLocalPosition(bn+Math.cos(ze)*vn,xn+Math.sin(ze)*vn)}}},{key:"placeMarkerMid",value:function(o){var d=this.parsedStyle.points,b=d||{},C=b.points;if(this.markerMidList.forEach(function(Wt){Wt.remove()}),this.markerMidList=[],o&&Oa(o)&&C)for(var G=1;G<(this.parsedStyle.isClosed?C.length:C.length-1);G++){var J=C[G][0],lt=C[G][1],Ft=G===1?o:o.cloneNode(!0);this.markerMidList.push(Ft),this.appendChild(Ft),Ft.setLocalPosition(J,lt)}}}])}(La);Io.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var jA=["style"],Zo=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=s.style,d=(0,Oe.Z)(s,jA);return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.POLYLINE,style:o,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},d)])}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"getTotalLength",value:function(){return yr(this)}},{key:"getPointAtLength",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(o/this.getTotalLength(),d)}},{key:"getPoint",value:function(o){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,b=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var C=[],G=0,J,lt,Ft=this.getTotalLength();b.forEach(function(xn,vn){b[vn+1]&&(J=[0,0],J[0]=G/Ft,lt=(0,ve.Xk)(xn[0],xn[1],b[vn+1][0],b[vn+1][1]),G+=lt,J[1]=G/Ft,C.push(J))}),this.parsedStyle.points.segments=C}var Wt=0,pe=0;this.parsedStyle.points.segments.forEach(function(xn,vn){o>=xn[0]&&o<=xn[1]&&(Wt=(o-xn[0])/(xn[1]-xn[0]),pe=vn)});var ze=(0,ve.U4)(b[pe][0],b[pe][1],b[pe+1][0],b[pe+1][1],Wt),_e=ze.x,dn=ze.y,bn=O.fF(O.Ue(),O.al(_e,dn,0),d?this.getWorldTransform():this.getLocalTransform());return new ne(bn[0],bn[1])}},{key:"getStartTangent",value:function(){var o=this.parsedStyle.points.points,d=[];return d.push([o[1][0],o[1][1]]),d.push([o[0][0],o[0][1]]),d}},{key:"getEndTangent",value:function(){var o=this.parsedStyle.points.points,d=o.length-1,b=[];return b.push([o[d-1][0],o[d-1][1]]),b.push([o[d][0],o[d][1]]),b}}])}(Io);Zo.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(Io.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var Lo=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.RECT},s)])}return(0,S.Z)(g,u),(0,U.Z)(g)}(La);Lo.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var YA=["style"],qs=function(u){function g(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=s.style,d=(0,Oe.Z)(s,YA);return(0,R.Z)(this,g),(0,m.Z)(this,g,[(0,l.Z)({type:Be.TEXT,style:(0,l.Z)({fill:"black"},o)},d)])}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"getComputedTextLength",value:function(){var o;return this.getGeometryBounds(),((o=this.parsedStyle.metrics)===null||o===void 0?void 0:o.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var o;return this.getGeometryBounds(),((o=this.parsedStyle.metrics)===null||o===void 0?void 0:o.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(La);qs.PARSED_STYLE_LIST=new Set([].concat((0,P.Z)(La.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","textDecorationThickness","textPathSide","textPathStartOffset","metrics","dx","dy"]));var Yc=function(){function u(){(0,R.Z)(this,u),this.registry={},this.define(Be.CIRCLE,Ul),this.define(Be.ELLIPSE,wA),this.define(Be.RECT,Lo),this.define(Be.IMAGE,Rl),this.define(Be.LINE,pc),this.define(Be.GROUP,VA),this.define(Be.PATH,Ql),this.define(Be.POLYGON,Io),this.define(Be.POLYLINE,Zo),this.define(Be.TEXT,qs),this.define(Be.HTML,Dl)}return(0,U.Z)(u,[{key:"define",value:function(s,o){this.registry[s]=o}},{key:"get",value:function(s){return this.registry[s]}}])}(),Xc={number:function(g){return new Vi(g)},percent:function(g){return new Vi(g,"%")},px:function(g){return new Vi(g,"px")},em:function(g){return new Vi(g,"em")},rem:function(g){return new Vi(g,"rem")},deg:function(g){return new Vi(g,"deg")},grad:function(g){return new Vi(g,"grad")},rad:function(g){return new Vi(g,"rad")},turn:function(g){return new Vi(g,"turn")},s:function(g){return new Vi(g,"s")},ms:function(g){return new Vi(g,"ms")},registerProperty:function(g){var s=g.name,o=g.inherits,d=g.interpolable,b=g.initialValue,C=g.syntax;xr.styleValueRegistry.registerMetadata({n:s,inh:o,int:d,d:b,syntax:C})},registerLayout:function(g,s){xr.layoutRegistry.registerLayout(g,s)}},mc=function(u){function g(){var s;(0,R.Z)(this,g),s=(0,m.Z)(this,g),s.defaultView=null,s.ownerDocument=null,s.nodeName="document";try{s.timeline=new xr.AnimationTimeline(s)}catch(d){}var o={};return _i.forEach(function(d){var b=d.n,C=d.inh,G=d.d;C&&G&&(o[b]=(0,In.Z)(G)?G(Be.GROUP):G)}),s.documentElement=new VA({id:"g-root",style:o}),s.documentElement.ownerDocument=s,s.documentElement.parentNode=s,s.childNodes=[s.documentElement],s}return(0,S.Z)(g,u),(0,U.Z)(g,[{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(o,d){if(o==="svg")return this.documentElement;var b=this.defaultView.customElements.get(o);b||(console.warn("Unsupported tagName: ",o),b=o==="tspan"?qs:VA);var C=new b(d);return C.ownerDocument=this,C}},{key:"createElementNS",value:function(o,d,b){return this.createElement(d,b)}},{key:"cloneNode",value:function(o){throw new Error(pt)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(o){}}},{key:"elementsFromBBox",value:function(o,d,b,C){var G=[],J=function(Ft){if(!(!Ft.isInteractive()||Ft.isCulled())){var Wt=Ft.parsedStyle.pointerEvents,pe=Wt===void 0?"auto":Wt,ze=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(pe);if(!ze||Ft.isVisible()){var _e=Ft.getTransformedGeometryBounds(!0);_e&&!z.isEmpty(_e)&&_e.max[0]>=o&&_e.min[0]<=b&&_e.max[1]>=d&&_e.min[1]<=C&&G.push(Ft)}Ft.childNodes&&Ft.childNodes.forEach(function(dn){dn instanceof La&&J(dn)})}};return J(this.documentElement),G.sort(function(lt,Ft){return Ft.sortable.renderOrder-lt.sortable.renderOrder}),G}},{key:"elementFromPointSync",value:function(o,d){var b=this.defaultView.canvas2Viewport({x:o,y:d}),C=b.x,G=b.y,J=this.defaultView.getConfig(),lt=J.width,Ft=J.height;if(C<0||G<0||C>lt||G>Ft)return null;var Wt=this.defaultView.viewport2Client({x:C,y:G}),pe=Wt.x,ze=Wt.y,_e=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:o,y:d,viewportX:C,viewportY:G,clientX:pe,clientY:ze},picked:[]}),dn=_e.picked;return dn&&dn[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var s=(0,Rt.Z)((0,Ut.Z)().mark(function d(b,C){var G,J,lt,Ft,Wt,pe,ze,_e,dn,bn,xn;return(0,Ut.Z)().wrap(function(vn){for(;;)switch(vn.prev=vn.next){case 0:if(G=this.defaultView.canvas2Viewport({x:b,y:C}),J=G.x,lt=G.y,Ft=this.defaultView.getConfig(),Wt=Ft.width,pe=Ft.height,!(J<0||lt<0||J>Wt||lt>pe)){vn.next=1;break}return vn.abrupt("return",null);case 1:return ze=this.defaultView.viewport2Client({x:J,y:lt}),_e=ze.x,dn=ze.y,vn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:b,y:C,viewportX:J,viewportY:lt,clientX:_e,clientY:dn},picked:[]});case 2:return bn=vn.sent,xn=bn.picked,vn.abrupt("return",xn&&xn[0]||this.documentElement);case 3:case"end":return vn.stop()}},d,this)}));function o(d,b){return s.apply(this,arguments)}return o}()},{key:"elementsFromPointSync",value:function(o,d){var b=this.defaultView.canvas2Viewport({x:o,y:d}),C=b.x,G=b.y,J=this.defaultView.getConfig(),lt=J.width,Ft=J.height;if(C<0||G<0||C>lt||G>Ft)return[];var Wt=this.defaultView.viewport2Client({x:C,y:G}),pe=Wt.x,ze=Wt.y,_e=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:o,y:d,viewportX:C,viewportY:G,clientX:pe,clientY:ze},picked:[]}),dn=_e.picked;return dn[dn.length-1]!==this.documentElement&&dn.push(this.documentElement),dn}},{key:"elementsFromPoint",value:function(){var s=(0,Rt.Z)((0,Ut.Z)().mark(function d(b,C){var G,J,lt,Ft,Wt,pe,ze,_e,dn,bn,xn;return(0,Ut.Z)().wrap(function(vn){for(;;)switch(vn.prev=vn.next){case 0:if(G=this.defaultView.canvas2Viewport({x:b,y:C}),J=G.x,lt=G.y,Ft=this.defaultView.getConfig(),Wt=Ft.width,pe=Ft.height,!(J<0||lt<0||J>Wt||lt>pe)){vn.next=1;break}return vn.abrupt("return",[]);case 1:return ze=this.defaultView.viewport2Client({x:J,y:lt}),_e=ze.x,dn=ze.y,vn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:b,y:C,viewportX:J,viewportY:lt,clientX:_e,clientY:dn},picked:[]});case 2:return bn=vn.sent,xn=bn.picked,xn[xn.length-1]!==this.documentElement&&xn.push(this.documentElement),vn.abrupt("return",xn);case 3:case"end":return vn.stop()}},d,this)}));function o(d,b){return s.apply(this,arguments)}return o}()},{key:"appendChild",value:function(o,d){throw new Error(mt)}},{key:"insertBefore",value:function(o,d){throw new Error(mt)}},{key:"removeChild",value:function(o,d){throw new Error(mt)}},{key:"replaceChild",value:function(o,d,b){throw new Error(mt)}},{key:"append",value:function(){throw new Error(mt)}},{key:"prepend",value:function(){throw new Error(mt)}},{key:"getElementById",value:function(o){return this.documentElement.getElementById(o)}},{key:"getElementsByName",value:function(o){return this.documentElement.getElementsByName(o)}},{key:"getElementsByTagName",value:function(o){return this.documentElement.getElementsByTagName(o)}},{key:"getElementsByClassName",value:function(o){return this.documentElement.getElementsByClassName(o)}},{key:"querySelector",value:function(o){return this.documentElement.querySelector(o)}},{key:"querySelectorAll",value:function(o){return this.documentElement.querySelectorAll(o)}},{key:"find",value:function(o){return this.documentElement.find(o)}},{key:"findAll",value:function(o){return this.documentElement.findAll(o)}}])}(za),kl=function(){function u(g){(0,R.Z)(this,u),this.strategies=g}return(0,U.Z)(u,[{key:"apply",value:function(s){var o=s.config,d=s.camera,b=s.renderingService,C=s.renderingContext,G=this.strategies;b.hooks.cull.tap(u.tag,function(J){if(J){var lt,Ft=J.cullable;if(G.length===0?Ft.visible=C.unculledEntities.indexOf(J.entity)>-1:Ft.visible=G.every(function(pe){return pe.isVisible(d,J)}),!J.isCulled()&&J.isVisible())return J;var Wt=((lt=o.future)===null||lt===void 0?void 0:lt.experimentalCancelEventPropagation)===!0;return J.dispatchEvent(new Os(Ni.CULLED),Wt,Wt),null}return J}),b.hooks.afterRender.tap(u.tag,function(J){J.cullable.visibilityPlaneMask=-1})}}])}();kl.tag="Culling";var BA=function(){function u(){var g=this;(0,R.Z)(this,u),this.autoPreventDefault=!1,this.rootPointerEvent=new Ol(null),this.rootWheelEvent=new Tl(null),this.onPointerMove=function(s){var o,d=(o=g.context.renderingContext.root)===null||o===void 0||(o=o.ownerDocument)===null||o===void 0?void 0:o.defaultView;if(!(d.supportsTouchEvents&&s.pointerType==="touch")){var b=g.normalizeToPointerEvent(s,d),C=(0,he.Z)(b),G;try{for(C.s();!(G=C.n()).done;){var J=G.value,lt=g.bootstrapEvent(g.rootPointerEvent,J,d,s);g.context.eventService.mapEvent(lt)}}catch(Ft){C.e(Ft)}finally{C.f()}g.setCursor(g.context.eventService.cursor)}},this.onClick=function(s){var o,d=(o=g.context.renderingContext.root)===null||o===void 0||(o=o.ownerDocument)===null||o===void 0?void 0:o.defaultView,b=g.normalizeToPointerEvent(s,d),C=(0,he.Z)(b),G;try{for(C.s();!(G=C.n()).done;){var J=G.value,lt=g.bootstrapEvent(g.rootPointerEvent,J,d,s);g.context.eventService.mapEvent(lt)}}catch(Ft){C.e(Ft)}finally{C.f()}g.setCursor(g.context.eventService.cursor)}}return(0,U.Z)(u,[{key:"apply",value:function(s){var o=this;this.context=s;var d=s.renderingService,b=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(C){var G=o.context.renderingService.hooks.pickSync.call({position:C,picked:[],topmost:!0}),J=G.picked;return J[0]||null}),d.hooks.pointerWheel.tap(u.tag,function(C){var G=o.normalizeWheelEvent(C);o.context.eventService.mapEvent(G)}),d.hooks.pointerDown.tap(u.tag,function(C){if(!(b.supportsTouchEvents&&C.pointerType==="touch")){var G=o.normalizeToPointerEvent(C,b);if(o.autoPreventDefault&&G[0].isNormalized){var J=C.cancelable||!("cancelable"in C);J&&C.preventDefault()}var lt=(0,he.Z)(G),Ft;try{for(lt.s();!(Ft=lt.n()).done;){var Wt=Ft.value,pe=o.bootstrapEvent(o.rootPointerEvent,Wt,b,C);o.context.eventService.mapEvent(pe)}}catch(ze){lt.e(ze)}finally{lt.f()}o.setCursor(o.context.eventService.cursor)}}),d.hooks.pointerUp.tap(u.tag,function(C){if(!(b.supportsTouchEvents&&C.pointerType==="touch")){var G=o.context.contextService.getDomElement(),J=o.context.eventService.isNativeEventFromCanvas(G,C),lt=J?"":"outside",Ft=o.normalizeToPointerEvent(C,b),Wt=(0,he.Z)(Ft),pe;try{for(Wt.s();!(pe=Wt.n()).done;){var ze=pe.value,_e=o.bootstrapEvent(o.rootPointerEvent,ze,b,C);_e.type+=lt,o.context.eventService.mapEvent(_e)}}catch(dn){Wt.e(dn)}finally{Wt.f()}o.setCursor(o.context.eventService.cursor)}}),d.hooks.pointerMove.tap(u.tag,this.onPointerMove),d.hooks.pointerOver.tap(u.tag,this.onPointerMove),d.hooks.pointerOut.tap(u.tag,this.onPointerMove),d.hooks.click.tap(u.tag,this.onClick),d.hooks.pointerCancel.tap(u.tag,function(C){var G=o.normalizeToPointerEvent(C,b),J=(0,he.Z)(G),lt;try{for(J.s();!(lt=J.n()).done;){var Ft=lt.value,Wt=o.bootstrapEvent(o.rootPointerEvent,Ft,b,C);o.context.eventService.mapEvent(Wt)}}catch(pe){J.e(pe)}finally{J.f()}o.setCursor(o.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(s,o,d,b){s.view=d,s.originalEvent=null,s.nativeEvent=b,s.pointerId=o.pointerId,s.width=o.width,s.height=o.height,s.isPrimary=o.isPrimary,s.pointerType=o.pointerType,s.pressure=o.pressure,s.tangentialPressure=o.tangentialPressure,s.tiltX=o.tiltX,s.tiltY=o.tiltY,s.twist=o.twist,this.transferMouseData(s,o);var C=this.context.eventService.client2Viewport({x:o.clientX,y:o.clientY}),G=C.x,J=C.y;s.viewport.x=G,s.viewport.y=J;var lt=this.context.eventService.viewport2Canvas(s.viewport),Ft=lt.x,Wt=lt.y;return s.canvas.x=Ft,s.canvas.y=Wt,s.global.copyFrom(s.canvas),s.offset.copyFrom(s.canvas),s.isTrusted=b.isTrusted,s.type==="pointerleave"&&(s.type="pointerout"),s.type.startsWith("mouse")&&(s.type=s.type.replace("mouse","pointer")),s.type.startsWith("touch")&&(s.type=Eu[s.type]||s.type),s}},{key:"normalizeWheelEvent",value:function(s){var o=this.rootWheelEvent;this.transferMouseData(o,s),o.deltaMode=s.deltaMode,o.deltaX=s.deltaX,o.deltaY=s.deltaY,o.deltaZ=s.deltaZ;var d=this.context.eventService.client2Viewport({x:s.clientX,y:s.clientY}),b=d.x,C=d.y;o.viewport.x=b,o.viewport.y=C;var G=this.context.eventService.viewport2Canvas(o.viewport),J=G.x,lt=G.y;return o.canvas.x=J,o.canvas.y=lt,o.global.copyFrom(o.canvas),o.offset.copyFrom(o.canvas),o.nativeEvent=s,o.type=s.type,o}},{key:"transferMouseData",value:function(s,o){s.isTrusted=o.isTrusted,s.srcElement=o.srcElement,s.timeStamp=Tc.now(),s.type=o.type,s.altKey=o.altKey,s.metaKey=o.metaKey,s.shiftKey=o.shiftKey,s.ctrlKey=o.ctrlKey,s.button=o.button,s.buttons=o.buttons,s.client.x=o.clientX,s.client.y=o.clientY,s.movement.x=o.movementX,s.movement.y=o.movementY,s.page.x=o.pageX,s.page.y=o.pageY,s.screen.x=o.screenX,s.screen.y=o.screenY,s.relatedTarget=null}},{key:"setCursor",value:function(s){this.context.contextService.applyCursorStyle(s||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(s,o){var d=[];if(o.isTouchEvent(s))for(var b=0;b-1,J=0,lt=b.length;J=1?Math.ceil(Vr):1,b&&(wr=G||ml(b)||b.width/Vr,qr=J||il(b)||b.height/Vr),o.customElements=new Yc,o.devicePixelRatio=Vr,o.requestAnimationFrame=bn!=null?bn:El.bind(xr.globalThis),o.cancelAnimationFrame=xn!=null?xn:jl.bind(xr.globalThis),o.createImage=vn!=null?vn:function(){return new window.Image},o.supportsTouchEvents=Wn!=null?Wn:"ontouchstart"in xr.globalThis,o.supportsPointerEvents=lr!=null?lr:!!xr.globalThis.PointerEvent,o.isTouchEvent=Ir!=null?Ir:function(ii){return o.supportsTouchEvents&&ii instanceof xr.globalThis.TouchEvent},o.isMouseEvent=Tr!=null?Tr:function(ii){return!xr.globalThis.MouseEvent||ii instanceof xr.globalThis.MouseEvent&&(!o.supportsPointerEvents||!(ii instanceof xr.globalThis.PointerEvent))},_e&&(xr.offscreenCanvas=_e),o.document=new mc,o.document.defaultView=o,Wt||ya(d,o,ze),o.initRenderingContext((0,l.Z)((0,l.Z)({},s),{},{width:wr,height:qr,background:lt!=null?lt:"transparent",cursor:Ft!=null?Ft:"default",cleanUpOnDestroy:ze,devicePixelRatio:Vr,requestAnimationFrame:o.requestAnimationFrame,cancelAnimationFrame:o.cancelAnimationFrame,createImage:o.createImage,supportsTouchEvents:o.supportsTouchEvents,supportsPointerEvents:o.supportsPointerEvents,isTouchEvent:o.isTouchEvent,isMouseEvent:o.isMouseEvent,dblClickSpeed:pr!=null?pr:200})),o.initDefaultCamera(wr,qr,C.clipSpaceNearZ),o.initRenderer(C,!0),o}return(0,S.Z)(g,u),(0,U.Z)(g,[{key:"initRenderingContext",value:function(o){this.context.config=o,this.context.renderingContext={root:this.document.documentElement,unculledEntities:[],renderListCurrentFrame:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(o,d,b){var C=this,G=new xr.CameraContribution;G.clipSpaceNearZ=b,G.setType($t.EXPLORING,Ve.DEFAULT).setPosition(o/2,d/2,wc).setFocalPoint(o/2,d/2,0).setOrthographic(o/-2,o/2,d/2,d/-2,ku,qc),G.canvas=this,G.eventEmitter.on(zn.UPDATED,function(){C.context.renderingContext.renderReasons.add(iA.CAMERA_CHANGED),xr.enableSizeAttenuation&&C.getConfig().renderer.getConfig().enableSizeAttenuation&&C.updateSizeAttenuation()}),this.context.camera=G}},{key:"updateSizeAttenuation",value:function(){var o=this.getCamera().getZoom();this.document.documentElement.forEach(function(d){xr.styleValueRegistry.updateSizeAttenuation(d,o)})}},{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 o=this;return this.readyPromise||(this.readyPromise=new Promise(function(d){o.resolveReadyPromise=function(){d(o)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var o,d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,b=arguments.length>1?arguments[1]:void 0;aa.clearCache();var C=((o=this.getConfig().future)===null||o===void 0?void 0:o.experimentalCancelEventPropagation)===!0;b||this.dispatchEvent(new Os(ho.BEFORE_DESTROY),C,C),this.frameId&&this.cancelAnimationFrame(this.frameId);var G=this.getRoot();d&&(this.unmountChildren(G),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),b||this.dispatchEvent(new Os(ho.AFTER_DESTROY),C,C);var J=function(Ft){Ft.currentTarget=null,Ft.manager=null,Ft.target=null,Ft.relatedNode=null};J(xA),J(dl),J($c),J(tu),J(Ec),J(Fo),J(Nl),J(fc),J(jc),xr.textService.clearCache()}},{key:"changeSize",value:function(o,d){this.resize(o,d)}},{key:"resize",value:function(o,d){var b,C=this.context.config;C.width=o,C.height=d,this.getContextService().resize(o,d);var G=this.context.camera,J=G.getProjectionMode();G.setPosition(o/2,d/2,wc).setFocalPoint(o/2,d/2,0),J===wn.ORTHOGRAPHIC?G.setOrthographic(o/-2,o/2,d/2,d/-2,G.getNear(),G.getFar()):G.setAspect(o/d);var lt=((b=C.future)===null||b===void 0?void 0:b.experimentalCancelEventPropagation)===!0;this.dispatchEvent(new Os(ho.RESIZE,{width:o,height:d}),lt,lt)}},{key:"appendChild",value:function(o,d){return this.document.documentElement.appendChild(o,d)}},{key:"insertBefore",value:function(o,d){return this.document.documentElement.insertBefore(o,d)}},{key:"removeChild",value:function(o){return this.document.documentElement.removeChild(o)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(o){var d,b=this;o&&($c.detail=o,Ec.detail=o);var C=((d=this.getConfig().future)===null||d===void 0?void 0:d.experimentalCancelEventPropagation)===!0;this.dispatchEvent($c,C,C);var G=this.getRenderingService();G.render(this,o,function(){b.dispatchEvent(tu,C,C)}),this.dispatchEvent(Ec,C,C)}},{key:"run",value:function(){var o=this,d=function(C,G){o.render(G),o.frameId=o.requestAnimationFrame(d)};d()}},{key:"initRenderer",value:function(o){var d=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!o)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new BA,new bA,new kl([new Jc])),this.loadRendererContainerModule(o),this.context.contextService=new this.context.ContextService((0,l.Z)((0,l.Z)({},xr),this.context)),this.context.renderingService=new Vu(xr,this.context),this.context.eventService=new Mu(xr,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(o,b,!0)):this.context.contextService.initAsync().then(function(){d.initRenderingService(o,b)}).catch(function(C){console.error(C)})}},{key:"initRenderingService",value:function(o){var d=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){var G;d.inited=!0;var J=((G=d.getConfig().future)===null||G===void 0?void 0:G.experimentalCancelEventPropagation)===!0;b?C?d.requestAnimationFrame(function(){d.dispatchEvent(new Os(ho.READY),J,J)}):d.dispatchEvent(new Os(ho.READY),J,J):d.dispatchEvent(new Os(ho.RENDERER_CHANGED),J,J),d.readyPromise&&d.resolveReadyPromise(),b||d.getRoot().forEach(function(lt){var Ft,Wt;(Ft=(Wt=lt).dirty)===null||Ft===void 0||Ft.call(Wt,!0,!0)}),d.mountChildren(d.getRoot()),o.getConfig().enableAutoRendering&&d.run()})}},{key:"loadRendererContainerModule",value:function(o){var d=this,b=o.getPlugins();b.forEach(function(C){C.context=d.context,C.init(xr)})}},{key:"setRenderer",value:function(o){var d=this.getConfig();if(d.renderer!==o){var b=d.renderer;d.renderer=o,this.destroy(!1,!0),(0,P.Z)((b==null?void 0:b.getPlugins())||[]).reverse().forEach(function(C){C.destroy(xr)}),this.initRenderer(o)}}},{key:"setCursor",value:function(o){var d=this.getConfig();d.cursor=o,this.getContextService().applyCursorStyle(o)}},{key:"unmountChildren",value:function(o){var d=this;if(o.childNodes.forEach(function(G){d.unmountChildren(G)}),this.inited){if(o.isMutationObserved)o.dispatchEvent(dl);else{var b,C=((b=this.getConfig().future)===null||b===void 0?void 0:b.experimentalCancelEventPropagation)===!0;dl.target=o,this.dispatchEvent(dl,!0,C)}o!==this.document.documentElement&&(o.ownerDocument=null),o.isConnected=!1}o.isCustomElement&&o.disconnectedCallback&&o.disconnectedCallback()}},{key:"mountChildren",value:function(o){var d=this,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:UA(o);if(this.inited){if(!o.isConnected&&(o.ownerDocument=this.document,o.isConnected=!0,!b))if(o.isMutationObserved)o.dispatchEvent(xA);else{var C,G=((C=this.getConfig().future)===null||C===void 0?void 0:C.experimentalCancelEventPropagation)===!0;xA.target=o,this.dispatchEvent(xA,!0,G)}}else 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: ",o.nodeName);o.childNodes.forEach(function(J){d.mountChildren(J,b)}),o.isCustomElement&&o.connectedCallback&&o.connectedCallback()}},{key:"mountFragment",value:function(o){this.mountChildren(o,!1)}},{key:"client2Viewport",value:function(o){return this.getEventService().client2Viewport(o)}},{key:"viewport2Client",value:function(o){return this.getEventService().viewport2Client(o)}},{key:"viewport2Canvas",value:function(o){return this.getEventService().viewport2Canvas(o)}},{key:"canvas2Viewport",value:function(o){return this.getEventService().canvas2Viewport(o)}},{key:"getPointByClient",value:function(o,d){return this.client2Viewport({x:o,y:d})}},{key:"getClientByPoint",value:function(o,d){return this.viewport2Client({x:o,y:d})}}])}(rc),eu=0,_l=new WeakMap,Hl=null,Yu=null,CA=null,fl,Vo;function Xu(u,g){return fl=new Hl(u,g)}function Ju(u){return Vo||(Vo=Hl.copy(fl),Vo.oldValue=u,Vo)}function Hu(){fl=Vo=void 0}function nu(u){return u===Vo||u===fl}function ru(u,g){return u===g?u:Vo&&nu(u)?Vo:null}function iu(u){u.nodes.forEach(function(g){var s=_l.get(g);s&&s.forEach(function(o){o.observer===u&&o.removeTransientObservers()})})}function au(u,g){for(var s=u;s;s=s.parentNode){var o=_l.get(s);if(o)for(var d=0;d0&&arguments[0]!==void 0?arguments[0]:u.api;u.rafId&&(s.cancelAnimationFrame(u.rafId),u.rafId=null)}},{key:"executeTask",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:u.api;bc.length<=0&&pa.length<=0||(pa.forEach(function(o){return o()}),pa=bc.splice(0,u.TASK_NUM_PER_FRAME),u.rafId=s.requestAnimationFrame(function(){u.executeTask(s)}))}},{key:"sliceImage",value:function(s,o,d,b){for(var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,G=arguments.length>5&&arguments[5]!==void 0?arguments[5]:u.api,J=s.naturalWidth||s.width,lt=s.naturalHeight||s.height,Ft=o-C,Wt=d-C,pe=Math.ceil(J/Ft),ze=Math.ceil(lt/Wt),_e={tileSize:[o,d],gridSize:[ze,pe],tiles:Array(ze).fill(null).map(function(){return Array(pe).fill(null)})},dn=function(vn){for(var Wn=function(Tr){bc.push(function(){var pr=Tr*Ft,wr=vn*Wt,qr=[Math.min(o,J-pr),Math.min(d,lt-wr)],Vr=qr[0],ii=qr[1],Kr=G.createCanvas();Kr.width=o,Kr.height=d;var wi=Kr.getContext("2d");wi.drawImage(s,pr,wr,Vr,ii,0,0,Vr,ii),_e.tiles[vn][Tr]={x:pr,y:wr,tileX:Tr,tileY:vn,data:Kr},b()})},lr=0;lr1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([s[0],s[1],s[4],s[5],s[12]+o[0],s[13]+o[1]].join(","),")")}},{key:"apply",value:function(s,o){var d=this,b=s.camera,C=s.renderingContext,G=s.renderingService;this.context=s;var J=C.root.ownerDocument.defaultView,lt=J.context.eventService.nativeHTMLMap,Ft=function(xn,vn){vn.style.transform=d.joinTransformMatrix(xn.getWorldTransform(),xn.getOrigin())},Wt=function(xn){var vn=xn.target;if(vn.nodeName===Be.HTML){d.$camera||(d.$camera=d.createCamera(b));var Wn=d.getOrCreateEl(vn);d.$camera.appendChild(Wn),Object.keys(vn.attributes).forEach(function(lr){d.updateAttribute(lr,vn)}),Ft(vn,Wn),lt.set(Wn,vn)}},pe=function(xn){var vn=xn.target;if(vn.nodeName===Be.HTML&&d.$camera){var Wn=d.getOrCreateEl(vn);Wn&&(Wn.remove(),lt.delete(Wn))}},ze=function(xn){var vn=xn.target;if(vn.nodeName===Be.HTML){var Wn=xn.attrName;d.updateAttribute(Wn,vn)}},_e=function(xn){for(var vn=xn.detail,Wn=0;Wn0?Vt:Vt*-1}function F(Lt,_t,Vt,Ee,xe,Ae){var Xe=Vt,yn=Ee;if(Xe===0||yn===0)return{x:Lt,y:_t};for(var fn=xe-Lt,Hn=Ae-_t,Zn=Math.abs(fn),Gn=Math.abs(Hn),Mr=Xe*Xe,ur=yn*yn,In=Math.PI/4,jt=0,rr=0,cr=0;cr<4;cr++){jt=Xe*Math.cos(In),rr=yn*Math.sin(In);var Ue=(Mr-ur)*Math.pow(Math.cos(In),3)/Xe,be=(ur-Mr)*Math.pow(Math.sin(In),3)/yn,ve=jt-Ue,Ut=rr-be,Rt=Zn-Ue,he=Gn-be,Oe=Math.hypot(Ut,ve),Be=Math.hypot(he,Rt),gn=Oe*Math.asin((ve*he-Ut*Rt)/(Oe*Be)),mn=gn/Math.sqrt(Mr+ur-jt*jt-rr*rr);In+=mn,In=Math.min(Math.PI/2,Math.max(0,In))}return{x:Lt+E(jt,fn),y:_t+E(rr,Hn)}}function Q(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){return-1*Vt*Math.cos(xe)*Math.sin(yn)-Ee*Math.sin(xe)*Math.cos(yn)}function O(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){return-1*Vt*Math.sin(xe)*Math.sin(yn)+Ee*Math.cos(xe)*Math.cos(yn)}function T(Lt,_t,Vt){return Math.atan(-_t/Lt*Math.tan(Vt))}function Z(Lt,_t,Vt){return Math.atan(_t/(Lt*Math.tan(Vt)))}function tt(Lt,_t,Vt,Ee,xe,Ae){return Vt*Math.cos(xe)*Math.cos(Ae)-Ee*Math.sin(xe)*Math.sin(Ae)+Lt}function W(Lt,_t,Vt,Ee,xe,Ae){return Vt*Math.sin(xe)*Math.cos(Ae)+Ee*Math.cos(xe)*Math.sin(Ae)+_t}function vt(Lt,_t,Vt,Ee){var xe=Math.atan2(Ee*Lt,Vt*_t);return(xe+Math.PI*2)%(Math.PI*2)}function st(Lt,_t,Vt){return{x:Lt*Math.cos(Vt),y:_t*Math.sin(Vt)}}function X(Lt,_t,Vt){var Ee=Math.cos(Vt),xe=Math.sin(Vt);return[Lt*Ee-_t*xe,Lt*xe+_t*Ee]}function Mt(Lt,_t,Vt,Ee,xe,Ae,Xe){for(var yn=T(Vt,Ee,xe),fn=1/0,Hn=-1/0,Zn=[Ae,Xe],Gn=-Math.PI*2;Gn<=Math.PI*2;Gn+=Math.PI){var Mr=yn+Gn;AeHn&&(Hn=In)}for(var jt=Z(Vt,Ee,xe),rr=1/0,cr=-1/0,Ue=[Ae,Xe],be=-Math.PI*2;be<=Math.PI*2;be+=Math.PI){var ve=jt+be;Aecr&&(cr=Rt)}return{x:fn,y:rr,width:Hn-fn,height:cr-rr}}function ht(Lt,_t,Vt,Ee,xe,Ae,Xe,yn,fn){var Hn=X(yn-Lt,fn-_t,-xe),Zn=_slicedToArray(Hn,2),Gn=Zn[0],Mr=Zn[1],ur=F(0,0,Vt,Ee,Gn,Mr),In=vt(Vt,Ee,ur.x,ur.y);InXe&&(ur=st(Vt,Ee,Xe));var jt=X(ur.x,ur.y,xe);return{x:jt[0]+Lt,y:jt[1]+_t}}function Dt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){var fn=(Xe-Ae)*yn+Ae,Hn=Q(Lt,_t,Vt,Ee,xe,Ae,Xe,fn),Zn=O(Lt,_t,Vt,Ee,xe,Ae,Xe,fn);return S(Math.atan2(Zn,Hn))}var Gt=1e-4;function Kt(Lt,_t,Vt,Ee,xe,Ae){var Xe=-1,yn=1/0,fn=[Vt,Ee],Hn=20;Ae&&Ae>200&&(Hn=Ae/10);for(var Zn=1/Hn,Gn=Zn/10,Mr=0;Mr<=Hn;Mr++){var ur=Mr*Zn,In=[xe.apply(void 0,(0,l.Z)(Lt.concat([ur]))),xe.apply(void 0,(0,l.Z)(_t.concat([ur])))],jt=P(fn[0],fn[1],In[0],In[1]);jt=0&&Utyn?P(Vt,Ee,xe,Ae):cn(Lt,_t,Vt,Ee,xe,Ae)}function cn(Lt,_t,Vt,Ee,xe,Ae){var Xe=[Vt-Lt,Ee-_t];if(U.I6(Xe,[0,0]))return Math.sqrt((xe-Lt)*(xe-Lt)+(Ae-_t)*(Ae-_t));var yn=[-Xe[1],Xe[0]];U.Fv(yn,yn);var fn=[xe-Lt,Ae-_t];return Math.abs(U.AK(fn,yn))}function we(Lt,_t,Vt,Ee){return Math.atan2(Ee-_t,Vt-Lt)}function Ye(Lt,_t,Vt,Ee,xe){var Ae=1-xe;return Ae*Ae*Ae*Lt+3*_t*xe*Ae*Ae+3*Vt*xe*xe*Ae+Ee*xe*xe*xe}function Un(Lt,_t,Vt,Ee,xe){var Ae=1-xe;return 3*(Ae*Ae*(_t-Lt)+2*Ae*xe*(Vt-_t)+xe*xe*(Ee-Vt))}function Ze(Lt,_t,Vt,Ee){var xe=-3*Lt+9*_t-9*Vt+3*Ee,Ae=6*Lt-12*_t+6*Vt,Xe=3*_t-3*Lt,yn=[],fn,Hn,Zn;if((0,R.Z)(xe,0))(0,R.Z)(Ae,0)||(fn=-Xe/Ae,fn>=0&&fn<=1&&yn.push(fn));else{var Gn=Ae*Ae-4*xe*Xe;(0,R.Z)(Gn,0)?yn.push(-Ae/(2*xe)):Gn>0&&(Zn=Math.sqrt(Gn),fn=(-Ae+Zn)/(2*xe),Hn=(-Ae-Zn)/(2*xe),fn>=0&&fn<=1&&yn.push(fn),Hn>=0&&Hn<=1&&yn.push(Hn))}return yn}function Ie(Lt,_t,Vt,Ee,xe,Ae,Xe,yn,fn){var Hn=Ye(Lt,Vt,xe,Xe,fn),Zn=Ye(_t,Ee,Ae,yn,fn),Gn=ye(Lt,_t,Vt,Ee,fn),Mr=ye(Vt,Ee,xe,Ae,fn),ur=ye(xe,Ae,Xe,yn,fn),In=ye(Gn.x,Gn.y,Mr.x,Mr.y,fn),jt=ye(Mr.x,Mr.y,ur.x,ur.y,fn);return[[Lt,_t,Gn.x,Gn.y,In.x,In.y,Hn,Zn],[Hn,Zn,jt.x,jt.y,ur.x,ur.y,Xe,yn]]}function xt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn,fn){if(fn===0)return Fe([Lt,Vt,xe,Xe],[_t,Ee,Ae,yn]);var Hn=Ie(Lt,_t,Vt,Ee,xe,Ae,Xe,yn,.5),Zn=[].concat(_toConsumableArray(Hn[0]),[fn-1]),Gn=[].concat(_toConsumableArray(Hn[1]),[fn-1]);return xt.apply(void 0,_toConsumableArray(Zn))+xt.apply(void 0,_toConsumableArray(Gn))}function Jt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){for(var fn=[Lt,Xe],Hn=[_t,yn],Zn=Ze(Lt,Vt,xe,Xe),Gn=Ze(_t,Ee,Ae,yn),Mr=0;Mr1||_t<0||Lt.length<2)return null;var Vt=ge(Lt),Ee=Vt.segments,xe=Vt.totalLength;if(xe===0)return{x:Lt[0][0],y:Lt[0][1]};for(var Ae=0,Xe=null,yn=0;yn=Ae&&_t<=Ae+Gn){var Mr=(_t-Ae)/Gn;Xe=ye(Hn[0],Hn[1],Zn[0],Zn[1],Mr);break}Ae+=Gn}return Xe}function yt(Lt,_t){if(_t>1||_t<0||Lt.length<2)return 0;for(var Vt=ge(Lt),Ee=Vt.segments,xe=Vt.totalLength,Ae=0,Xe=0,yn=0;yn=Ae&&_t<=Ae+Gn){Xe=Math.atan2(Zn[1]-Hn[1],Zn[0]-Hn[0]);break}Ae+=Gn}return Xe}function fe(Lt,_t,Vt){for(var Ee=1/0,xe=0;xe=0?[xe]:[]}function Ge(Lt,_t,Vt,Ee,xe,Ae,Xe){var yn=ae(Lt,Vt,xe,Xe),fn=ae(_t,Ee,Ae,Xe),Hn=ye(Lt,_t,Vt,Ee,Xe),Zn=ye(Vt,Ee,xe,Ae,Xe);return[[Lt,_t,Hn.x,Hn.y,yn,fn],[yn,fn,Zn.x,Zn.y,xe,Ae]]}function Sn(Lt,_t,Vt,Ee,xe,Ae,Xe){if(Xe===0)return(P(Lt,_t,Vt,Ee)+P(Vt,Ee,xe,Ae)+P(Lt,_t,xe,Ae))/2;var yn=Ge(Lt,_t,Vt,Ee,xe,Ae,.5),fn=yn[0],Hn=yn[1];return fn.push(Xe-1),Hn.push(Xe-1),Sn.apply(void 0,_toConsumableArray(fn))+Sn.apply(void 0,_toConsumableArray(Hn))}function Bt(Lt,_t,Vt,Ee,xe,Ae){var Xe=$e(Lt,Vt,xe)[0],yn=$e(_t,Ee,Ae)[0],fn=[Lt,xe],Hn=[_t,Ae];return Xe!==void 0&&fn.push(ae(Lt,Vt,xe,Xe)),yn!==void 0&&Hn.push(ae(_t,Ee,Ae,yn)),m(fn,Hn)}function et(Lt,_t,Vt,Ee,xe,Ae){return Sn(Lt,_t,Vt,Ee,xe,Ae,3)}function Pt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){return Kt([Lt,Vt,xe],[_t,Ee,Ae],Xe,yn,ae)}function Xt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn){var fn=Pt(Lt,_t,Vt,Ee,xe,Ae,Xe,yn);return P(fn.x,fn.y,Xe,yn)}},59293:function(gt,dt,f){"use strict";f.d(dt,{S:function(){return T}});var l=f(85899),R=f(38705),U=f(17212),P=f(96885),m=f(39153),S=f(48981),E=f(73001),F=f(11576),Q=f(68901);var O=function(){function Z(tt){(0,R.Z)(this,Z),this.dragndropPluginOptions=tt}return(0,U.Z)(Z,[{key:"apply",value:function(W){var vt=this,st=W.renderingService,X=W.renderingContext,Mt=X.root.ownerDocument,ht=Mt.defaultView,Dt=function(Kt){var Fe=Kt.target,me=Fe===Mt,an=me&&vt.dragndropPluginOptions.isDocumentDraggable?Mt:Fe.closest&&Fe.closest("[draggable=true]");if(an){var ye=!1,pn=Kt.timeStamp,cn=[Kt.clientX,Kt.clientY],we=null,Ye=[Kt.clientX,Kt.clientY],Un=function(){var Ie=(0,F.Z)((0,E.Z)().mark(function xt(Jt){var tn,qe,Re,Je,rn,ge;return(0,E.Z)().wrap(function(Pe){for(;;)switch(Pe.prev=Pe.next){case 0:if(ye){Pe.next=2;break}if(tn=Jt.timeStamp-pn,qe=(0,Q.y)([Jt.clientX,Jt.clientY],cn),!(tn<=vt.dragndropPluginOptions.dragstartTimeThreshold||qe<=vt.dragndropPluginOptions.dragstartDistanceThreshold)){Pe.next=1;break}return Pe.abrupt("return");case 1:Jt.type="dragstart",an.dispatchEvent(Jt),ye=!0;case 2:if(Jt.type="drag",Jt.dx=Jt.clientX-Ye[0],Jt.dy=Jt.clientY-Ye[1],an.dispatchEvent(Jt),Ye=[Jt.clientX,Jt.clientY],me){Pe.next=4;break}return Re=vt.dragndropPluginOptions.overlap==="pointer"?[Jt.canvasX,Jt.canvasY]:Fe.getBounds().center,Pe.next=3,Mt.elementsFromPoint(Re[0],Re[1]);case 3:Je=Pe.sent,rn=Je[Je.indexOf(Fe)+1],ge=(rn==null?void 0:rn.closest("[droppable=true]"))||(vt.dragndropPluginOptions.isDocumentDroppable?Mt:null),we!==ge&&(we&&(Jt.type="dragleave",Jt.target=we,we.dispatchEvent(Jt)),ge&&(Jt.type="dragenter",Jt.target=ge,ge.dispatchEvent(Jt)),we=ge,we&&(Jt.type="dragover",Jt.target=we,we.dispatchEvent(Jt)));case 4:case"end":return Pe.stop()}},xt)}));return function(Jt){return Ie.apply(this,arguments)}}();ht.addEventListener("pointermove",Un);var Ze=function(xt){if(ye){xt.detail={preventClick:!0};var Jt=xt.clone();we&&(Jt.type="drop",Jt.target=we,we.dispatchEvent(Jt)),Jt.type="dragend",an.dispatchEvent(Jt),ye=!1}ht.removeEventListener("pointermove",Un)};Fe.addEventListener("pointerup",Ze,{once:!0}),Fe.addEventListener("pointerupoutside",Ze,{once:!0})}};st.hooks.init.tap(Z.tag,function(){ht.addEventListener("pointerdown",Dt)}),st.hooks.destroy.tap(Z.tag,function(){ht.removeEventListener("pointerdown",Dt)})}}])}();O.tag="Dragndrop";var T=function(Z){function tt(){var W,vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,R.Z)(this,tt),W=(0,P.Z)(this,tt),W.name="dragndrop",W.options=vt,W}return(0,m.Z)(tt,Z),(0,U.Z)(tt,[{key:"init",value:function(){this.addRenderingPlugin(new O((0,l.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(vt){Object.assign(this.plugins[0].dragndropPluginOptions,vt)}}])}(S.F6)},95278:function(gt,dt,f){"use strict";f.d(dt,{kJ:function(){return Th},RN:function(){return x0}});var l={};f.r(l),f.d(l,{circle:function(){return Yr},diamond:function(){return Bi},rect:function(){return fi},simple:function(){return bi},triangle:function(){return ti},triangleRect:function(){return Mi},vee:function(){return pi}});var R=f(66623),U=f(18178),P=f(76075),m=f(62099),S=f(93785);const E={duration:500},F={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},Q={CHANGE:"change"};var O;(function(r){r.NodeAdded="NodeAdded",r.NodeUpdated="NodeUpdated",r.NodeRemoved="NodeRemoved",r.EdgeAdded="EdgeAdded",r.EdgeUpdated="EdgeUpdated",r.EdgeRemoved="EdgeRemoved",r.ComboAdded="ComboAdded",r.ComboUpdated="ComboUpdated",r.ComboRemoved="ComboRemoved"})(O||(O={}));var T;(function(r){r.DRAW="draw",r.COLLAPSE="collapse",r.EXPAND="expand",r.TRANSFORM="transform"})(T||(T={}));var Z;(function(r){r.CLICK="canvas:click",r.DBLCLICK="canvas:dblclick",r.POINTER_OVER="canvas:pointerover",r.POINTER_LEAVE="canvas:pointerleave",r.POINTER_ENTER="canvas:pointerenter",r.POINTER_MOVE="canvas:pointermove",r.POINTER_OUT="canvas:pointerout",r.POINTER_DOWN="canvas:pointerdown",r.POINTER_UP="canvas:pointerup",r.CONTEXT_MENU="canvas:contextmenu",r.DRAG_START="canvas:dragstart",r.DRAG="canvas:drag",r.DRAG_END="canvas:dragend",r.DRAG_ENTER="canvas:dragenter",r.DRAG_OVER="canvas:dragover",r.DRAG_LEAVE="canvas:dragleave",r.DROP="canvas:drop",r.WHEEL="canvas:wheel"})(Z||(Z={}));var tt;(function(r){r.CLICK="combo:click",r.DBLCLICK="combo:dblclick",r.POINTER_OVER="combo:pointerover",r.POINTER_LEAVE="combo:pointerleave",r.POINTER_ENTER="combo:pointerenter",r.POINTER_MOVE="combo:pointermove",r.POINTER_OUT="combo:pointerout",r.POINTER_DOWN="combo:pointerdown",r.POINTER_UP="combo:pointerup",r.CONTEXT_MENU="combo:contextmenu",r.DRAG_START="combo:dragstart",r.DRAG="combo:drag",r.DRAG_END="combo:dragend",r.DRAG_ENTER="combo:dragenter",r.DRAG_OVER="combo:dragover",r.DRAG_LEAVE="combo:dragleave",r.DROP="combo:drop"})(tt||(tt={}));var W;(function(r){r.CLICK="click",r.DBLCLICK="dblclick",r.POINTER_OVER="pointerover",r.POINTER_LEAVE="pointerleave",r.POINTER_ENTER="pointerenter",r.POINTER_MOVE="pointermove",r.POINTER_OUT="pointerout",r.POINTER_DOWN="pointerdown",r.POINTER_UP="pointerup",r.CONTEXT_MENU="contextmenu",r.DRAG_START="dragstart",r.DRAG="drag",r.DRAG_END="dragend",r.DRAG_ENTER="dragenter",r.DRAG_OVER="dragover",r.DRAG_LEAVE="dragleave",r.DROP="drop",r.KEY_DOWN="keydown",r.KEY_UP="keyup",r.WHEEL="wheel",r.PINCH="pinch"})(W||(W={}));var vt;(function(r){r.KEY_DOWN="keydown",r.KEY_UP="keyup"})(vt||(vt={}));var st;(function(r){r.CLICK="edge:click",r.DBLCLICK="edge:dblclick",r.POINTER_OVER="edge:pointerover",r.POINTER_LEAVE="edge:pointerleave",r.POINTER_ENTER="edge:pointerenter",r.POINTER_MOVE="edge:pointermove",r.POINTER_OUT="edge:pointerout",r.POINTER_DOWN="edge:pointerdown",r.POINTER_UP="edge:pointerup",r.CONTEXT_MENU="edge:contextmenu",r.DRAG_ENTER="edge:dragenter",r.DRAG_OVER="edge:dragover",r.DRAG_LEAVE="edge:dragleave",r.DROP="edge:drop"})(st||(st={}));var X;(function(r){r.BEFORE_CANVAS_INIT="beforecanvasinit",r.AFTER_CANVAS_INIT="aftercanvasinit",r.BEFORE_SIZE_CHANGE="beforesizechange",r.AFTER_SIZE_CHANGE="aftersizechange",r.BEFORE_ELEMENT_CREATE="beforeelementcreate",r.AFTER_ELEMENT_CREATE="afterelementcreate",r.BEFORE_ELEMENT_UPDATE="beforeelementupdate",r.AFTER_ELEMENT_UPDATE="afterelementupdate",r.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",r.AFTER_ELEMENT_DESTROY="afterelementdestroy",r.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",r.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",r.BEFORE_DRAW="beforedraw",r.AFTER_DRAW="afterdraw",r.BEFORE_RENDER="beforerender",r.AFTER_RENDER="afterrender",r.BEFORE_ANIMATE="beforeanimate",r.AFTER_ANIMATE="afteranimate",r.BEFORE_LAYOUT="beforelayout",r.AFTER_LAYOUT="afterlayout",r.BEFORE_STAGE_LAYOUT="beforestagelayout",r.AFTER_STAGE_LAYOUT="afterstagelayout",r.BEFORE_TRANSFORM="beforetransform",r.AFTER_TRANSFORM="aftertransform",r.BATCH_START="batchstart",r.BATCH_END="batchend",r.BEFORE_DESTROY="beforedestroy",r.AFTER_DESTROY="afterdestroy",r.BEFORE_RENDERER_CHANGE="beforerendererchange",r.AFTER_RENDERER_CHANGE="afterrendererchange"})(X||(X={}));var Mt;(function(r){r.UNDO="undo",r.REDO="redo",r.CANCEL="cancel",r.ADD="add",r.CLEAR="clear",r.CHANGE="change"})(Mt||(Mt={}));var ht;(function(r){r.CLICK="node:click",r.DBLCLICK="node:dblclick",r.POINTER_OVER="node:pointerover",r.POINTER_LEAVE="node:pointerleave",r.POINTER_ENTER="node:pointerenter",r.POINTER_MOVE="node:pointermove",r.POINTER_OUT="node:pointerout",r.POINTER_DOWN="node:pointerdown",r.POINTER_UP="node:pointerup",r.CONTEXT_MENU="node:contextmenu",r.DRAG_START="node:dragstart",r.DRAG="node:drag",r.DRAG_END="node:dragend",r.DRAG_ENTER="node:dragenter",r.DRAG_OVER="node:dragover",r.DRAG_LEAVE="node:dragleave",r.DROP="node:drop"})(ht||(ht={}));const Dt="combo",Gt="tree";var Kt;(function(r){r.NODE="node",r.EDGE="edge",r.COMBO="combo",r.THEME="theme",r.PALETTE="palette",r.LAYOUT="layout",r.BEHAVIOR="behavior",r.PLUGIN="plugin",r.ANIMATION="animation",r.TRANSFORM="transform",r.SHAPE="shape"})(Kt||(Kt={}));const Fe={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function me(r,t){var e;const n=(e=Fe[r])===null||e===void 0?void 0:e[t];if(n)return n}function an(r){return EXTENSION_REGISTRY[r]}const ye="5.0.51",pn="G6";function cn(r){return`[${pn} v${ye}] ${r}`}const we={mute:!1,debug:r=>{!we.mute&&console.debug(cn(r))},info:r=>{!we.mute&&console.info(cn(r))},warn:r=>{!we.mute&&console.warn(cn(r))},error:r=>{!we.mute&&console.error(cn(r))}};function Ye(r){const{theme:t}=r;if(!t)return{};const e=me(Kt.THEME,t);return e||(we.warn(`The theme of ${t} is not registered.`),{})}function Un(r,t){if(Array.isArray(r)&&r.length===0)return null;const e=Array.isArray(r)?r[0]:r,n=Array.isArray(r)?r.slice(1):t||[];return new Proxy(e,{get(i,a){return typeof i[a]=="function"&&!["onframe","onfinish"].includes(a)?(...A)=>{i[a](...A),n.forEach(c=>{var h;return(h=c[a])===null||h===void 0?void 0:h.call(c,...A)})}:a==="finished"?Promise.all([e.finished,...n.map(A=>A.finished)]):Reflect.get(i,a)},set(i,a,A){return["onframe","onfinish"].includes(a)||n.forEach(c=>{c[a]=A}),Reflect.set(i,a,A)}})}function Ze(r){const t=r.reduce((n,i)=>(Object.entries(i).forEach(([a,A])=>{n[a]===void 0?n[a]=[A]:n[a].push(A)}),n),{});Object.entries(t).forEach(([n,i])=>{(i.length!==r.length||i.some(a=>(0,P.Z)(a))||i.every(a=>!["sourceNode","targetNode","childrenNode"].includes(n)&&(0,m.Z)(a,i[0])))&&delete t[n]});const e=Object.entries(t).reduce((n,[i,a])=>(a.forEach((A,c)=>{n[c]?n[c][i]=A:n[c]={[i]:A}}),n),[]);return r.length!==0&&e.length===0&&e.push({_:0},{_:0}),e}function Ie(r){switch(r){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 xt(r,t){const{animation:e}=r;if(e===!1||t===!1)return!1;const n=Object.assign({},E);return(0,S.Z)(e)&&Object.assign(n,e),(0,S.Z)(t)&&Object.assign(n,t),n}function Jt(r){if(typeof r=="string"){const t=me(Kt.ANIMATION,r);return t||(we.warn(`The animation of ${r} is not registered.`),[])}return r}function tn(r,t,e,n){var i,a;const{animation:A}=r;if(A===!1||n===!1)return[];const c=(i=r==null?void 0:r[t])===null||i===void 0?void 0:i.animation;if(c===!1)return[];const h=c==null?void 0:c[e];if(h===!1)return[];const v=(a=Ye(r)[t])===null||a===void 0?void 0:a.animation,p=(j=[])=>Jt(j).map($=>Object.assign(Object.assign(Object.assign(Object.assign({},F),(0,S.Z)(A)&&A),$),(0,S.Z)(n)&&n));if(h)return p(h);if(!v)return[];const H=v[e];return H===!1?[]:p(H)}var qe=f(1933);function Re(r,t,e,n=[]){if(!n&&r===0&&t===0&&e===0)return null;if(Array.isArray(n)){let a=-1;const A=[];for(let c=0;c{if(!e.length)return null;const[n,i]=t,a=v=>{var p;if(v){const H=r.getShape(v);if(!H)return null;const j=`get${(0,U.Z)(v)}Style`,$=((p=r==null?void 0:r[j])===null||p===void 0?void 0:p.bind(r))||(It=>It),At=($==null?void 0:$(n))||{},Et=($==null?void 0:$(i))||{};return{shape:H,fromStyle:At,toStyle:Et}}else return{shape:r,fromStyle:n,toStyle:i}};let A;const c=e.map(v=>{var{fields:p,shape:H,states:j}=v,$=Je(v,["fields","shape","states"]);const At=a(H);if(!At)return null;const{shape:Et,fromStyle:It,toStyle:te}=At,oe=[{},{}];if(p.forEach(en=>{var kn,Fn;Object.assign(oe[0],{[en]:(kn=It[en])!==null&&kn!==void 0?kn:Ie(en)}),Object.assign(oe[1],{[en]:(Fn=te[en])!==null&&Fn!==void 0?Fn:Ie(en)})}),oe.some(en=>Object.keys(en).some(kn=>["x","y","z"].includes(kn)))){const{x:en=0,y:kn=0,z:Fn,transform:Xn=""}=Et.attributes||{};oe.forEach(Cn=>{var mr,Hr,$r;Cn.transform=Re((mr=Cn.x)!==null&&mr!==void 0?mr:en,(Hr=Cn.y)!==null&&Hr!==void 0?Hr:kn,($r=Cn.z)!==null&&$r!==void 0?$r:Fn,Xn)})}const Se=Et.animate(Ze(oe),$);return H===void 0&&(A=Se),Se}).filter(Boolean),h=A||(c==null?void 0:c[0]);return h?Un(h,c.filter(v=>v!==v)):null},ge=[{fields:["opacity"]}],Pe=[{fields:["x","y"]}],Tt=[{fields:["x","y"]}],yt=Tt,fe=[{fields:["sourceNode","targetNode"]}],nn=fe,We=[{fields:["childrenNode","x","y"]}],le=We,Ke=[{fields:["childrenNode","x","y"]}];var Me=f(71018),kt=f(15610),ee=f(62199),Ne=f(37547);function I(r){return"source"in r&&"target"in r}function rt(r){return r.length===2}function de(r){return r.length===3}function ae(r){return r instanceof Float32Array?!0:Array.isArray(r)&&(r.length===2||r.length===3)?r.every(t=>typeof t=="number"):!1}function $e(r,t,e){return r>=t&&r<=e}function Ge(r=0){if(Array.isArray(r)){const[t=0,e=t,n=t,i=e]=r;return[t,e,n,i]}return[r,r,r,r]}function Sn(r=0){const t=Ge(r);return t[0]+t[2]}function Bt(r=0){const t=Ge(r);return t[1]+t[3]}function et(r){return r.max[0]-r.min[0]}function Pt(r){return r.max[1]-r.min[1]}function Xt(r){return[et(r),Pt(r)]}function Lt(r,t){const e=ae(r)?_t(r):r.getShape("key").getBounds();return t?Vt(e,t):e}function _t(r){const[t,e,n=0]=r,i=new R.mN;return i.setMinMax([t,e,n],[t,e,n]),i}function Vt(r,t){const[e,n,i,a]=Ge(t),[A,c,h]=r.min,[v,p,H]=r.max,j=new R.mN;return j.setMinMax([A-a,c-e,h],[v+n,p+i,H]),j}function Ee(r){if(r.length===0)return new R.mN;if(r.length===1)return r[0];const t=new R.mN;t.setMinMax(r[0].min,r[0].max);for(let e=1;e=A&&i<=h&&n>=c&&a<=v}function Ae(r,t){return $e(r[0],t.min[0],t.max[0])&&$e(r[1],t.min[1],t.max[1])}function Xe(r,t,e=!1){const{min:[n,i],max:[a,A]}=t,c=(r[1]===i||r[1]===A)&&(e||$e(r[0],n,a)),h=(r[0]===n||r[0]===a)&&(e||$e(r[1],i,A));return c||h}function yn(r,t){return!Ae(r,t)}function fn(r,t){const{center:e}=t;return r[0]===e[0]&&r[1]===e[1]}function Hn(r,t){const[e,n]=r,[i,a]=t.min,[A,c]=t.max,h=e-i,v=A-e,p=n-a,H=c-n,j=Math.min(h,v,p,H);return j===h?"left":j===v?"right":j===p?"top":j===H?"bottom":"left"}function Zn(r,t){const e=(0,Ne.Z)(r);if(Ae(r,t))switch(Hn(r,t)){case"left":e[0]=t.min[0];break;case"right":e[0]=t.max[0];break;case"top":e[1]=t.min[1];break;case"bottom":e[1]=t.max[1];break}else{const[n,i]=r,[a,A]=t.min,[c,h]=t.max;e[0]=$e(n,a,c)?n:n{var n;switch(e.type){case"degree":{const i=new Map;return(n=r.nodes)===null||n===void 0||n.forEach(a=>{const A=t(jt(a),e.direction).length;i.set(jt(a),A)}),i}case"betweenness":return ve(r,e.directed,e.weightPropertyName);case"closeness":return Ut(r,e.directed,e.weightPropertyName);case"eigenvector":return he(r,e.directed);case"pagerank":return Rt(r,e.epsilon,e.linkProb);default:return be(r)}},be=r=>{var t;const e=new Map;return(t=r.nodes)===null||t===void 0||t.forEach(n=>{e.set(jt(n),0)}),e},ve=(r,t,e)=>{const n=be(r),{nodes:i=[]}=r;return i.forEach(a=>{i.forEach(A=>{if(a!==A){const{allPath:c}=(0,In.ni)(r,jt(a),jt(A),t,e),h=c.length;c.flat().forEach(v=>{v!==jt(a)&&v!==jt(A)&&n.set(v,n.get(v)+1/h)})}})}),n},Ut=(r,t,e)=>{const n=new Map,{nodes:i=[]}=r;return i.forEach(a=>{const A=i.reduce((c,h)=>{if(a!==h){const{length:v}=(0,In.ni)(r,jt(a),jt(h),t,e);c+=v}return c},0);n.set(jt(a),1/A)}),n},Rt=(r,t,e)=>{var n;const i=new Map,a=(0,In.EF)(r,t,e);return(n=r.nodes)===null||n===void 0||n.forEach(A=>{i.set(jt(A),a[jt(A)])}),i},he=(r,t)=>{const{nodes:e=[]}=r,n=Oe(r,t),i=Be(n,e.length),a=new Map;return e.forEach((A,c)=>{a.set(jt(A),i[c])}),a},Oe=(r,t)=>{const{nodes:e=[],edges:n=[]}=r,i=Array(e.length).fill(null).map(()=>Array(e.length).fill(0));return n.forEach(({source:a,target:A})=>{const c=e.findIndex(v=>jt(v)===a),h=e.findIndex(v=>jt(v)===A);t?i[c][h]=1:(i[c][h]=1,i[h][c]=1)}),i},Be=(r,t,e=100,n=1e-6)=>{let i=Array(t).fill(1),a=1/0;for(let A=0;An;A++){const c=Array(t).fill(0);for(let v=0;vv+p*p,0));for(let v=0;vv+(p-i[H])*p,0)),i=c}return i};function gn(r,t,e,n=m.Z){const i=new Map(r.map(j=>[e(j),j])),a=new Map(t.map(j=>[e(j),j])),A=new Set(i.keys()),c=new Set(a.keys()),h=[],v=[],p=[],H=[];return c.forEach(j=>{A.has(j)?n(i.get(j),a.get(j))?H.push(a.get(j)):v.push(a.get(j)):h.push(a.get(j))}),A.forEach(j=>{c.has(j)||p.push(i.get(j))}),{enter:h,exit:p,keep:H,update:v}}function mn(r,t,e){const n=i=>{e&&!e(i)||(i.style.visibility=t)};r.forEach(i=>{n(i)})}function $n(r,t,e){const n={},i=a=>(a in n||(n[a]=0),`${t}-${a}-${n[a]++}`);return e.map(a=>typeof a=="string"?{type:a,key:i(a)}:typeof a=="function"?a.call(r):a.key?a:Object.assign(Object.assign({},a),{key:i(a.type)}))}class Yn{constructor(t){this.extensions=[],this.extensionMap={},this.context=t}setExtensions(t){const e=$n(this.context.graph,this.category,t),{enter:n,update:i,exit:a,keep:A}=gn(this.extensions,e,c=>c.key);this.createExtensions(n),this.updateExtensions([...i,...A]),this.destroyExtensions(a),this.extensions=e}createExtension(t){const{category:e}=this,{key:n,type:i}=t,a=me(e,i);if(!a)return we.warn(`The extension ${i} of ${e} is not registered.`);const A=new a(this.context,t);A.initialized=!0,this.extensionMap[n]=A}createExtensions(t){t.forEach(e=>this.createExtension(e))}updateExtension(t){const{key:e}=t,n=this.extensionMap[e];n&&n.update(t)}updateExtensions(t){t.forEach(e=>this.updateExtension(e))}destroyExtension(t){const e=this.extensionMap[t];e&&(e.initialized&&!e.destroyed&&e.destroy(),delete this.extensionMap[t])}destroyExtensions(t){t.forEach(({key:e})=>this.destroyExtension(e))}destroy(){this.destroyExtensions(this.extensions),this.context={},this.extensions=[],this.extensionMap={}}}class ot{constructor(t,e){this.events=[],this.initialized=!1,this.destroyed=!1,this.context=t,this.options=e}update(t){this.options=Object.assign(this.options,t)}destroy(){this.context={},this.options={},this.destroyed=!0}}class x extends ot{}class M extends x{constructor(t,e){super(t,Object.assign({},M.defaultOptions,e)),this.isOverlapping=(n,i)=>i.some(a=>n.intersects(a)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,a={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(A=>{const c=A.getShape("label").getRenderBounds();i.isInViewport(c,!0)&&!this.isOverlapping(c,this.occupiedBounds)?(a.show.push(A),this.occupiedBounds.push(Vt(c,this.options.padding))):a.hide.push(A)}),a},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:a}=gn(n,i,A=>A.id);a==null||a.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:a}=this.context,A=a.getData(),c=a.getRelatedEdgesData.bind(a);return n.map(v=>(this.nodeCentralities.has(v.id)||(this.nodeCentralities=Ue(A,c,i)),{node:v,centrality:this.nodeCentralities.get(v.id)})).sort((v,p)=>p.centrality-v.centrality).map(v=>v.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:a,sortCombo:A,sortEdge:c}=this.options,{model:h}=this.context;if((0,Me.Z)(i))return n.sort((Et,It)=>i(h.getElementDataById(Et.id),h.getElementDataById(It.id)));const{node:v=[],edge:p=[],combo:H=[]}=(0,kt.Z)(n,Et=>Et.type),j=(0,Me.Z)(A)?H.sort((Et,It)=>A(...h.getComboData([Et.id,It.id]))):H,$=(0,Me.Z)(a)?v.sort((Et,It)=>a(...h.getNodeData([Et.id,It.id]))):this.sortNodesByCentrality(v,a),At=(0,Me.Z)(c)?p.sort((Et,It)=>c(...h.getEdgeData([Et.id,It.id]))):p;return[...j,...$,...At]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=n=>{var i;if(((i=n.data)===null||i===void 0?void 0:i.stage)==="zIndex")return;if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const a=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,a),this.labelElementsInView=a;const A=this.sortLabelElementsInView(this.labelElementsInView),{show:c,hide:h}=this.detectLabelCollision(A);for(let v=c.length-1;v>=0;v--)this.showLabel(c[v]);h.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&mn(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&mn(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=(0,ee.Z)(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=n=>{this.enableToggle&&this.onToggleVisibility(n)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=n=>{this.onToggleVisibility(n),this.enableToggle=!0},this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:t}=this.context.element,e=[];for(const n in t){const i=t[n];i.isVisible()&&i.getShape("label")&&e.push(i)}return e}getLabelElementsInView(){const t=this.context.viewport;return this.getLabelElements().filter(e=>t.isInViewport(e.getShape("key").getRenderBounds()))}bindEvents(){const{graph:t}=this.context;t.on(X.BEFORE_RENDER,this.onBeforeRender),t.on(X.AFTER_RENDER,this.onAfterRender),t.on(X.AFTER_DRAW,this.toggle),t.on(X.AFTER_LAYOUT,this.toggle),t.on(X.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(X.BEFORE_RENDER,this.onBeforeRender),t.off(X.AFTER_RENDER,this.onAfterRender),t.off(X.AFTER_DRAW,this.toggle),t.off(X.AFTER_LAYOUT,this.toggle),t.off(X.AFTER_TRANSFORM,this.onTransform)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}M.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var y=f(23343);const D=[0,0,0];function z(r,t){return r.map((e,n)=>e+t[n])}function Nt(r,t){return r.map((e,n)=>e-t[n])}function Qt(r,t){return typeof t=="number"?r.map(e=>e*t):r.map((e,n)=>e*t[n])}function qt(r,t){return typeof t=="number"?r.map(e=>e/t):r.map((e,n)=>e/t[n])}function ne(r,t){return r.reduce((e,n,i)=>e+n*t[i],0)}function un(r,t){const e=Mn(r),n=Mn(t);return[e[1]*n[2]-e[2]*n[1],e[2]*n[0]-e[0]*n[2],e[0]*n[1]-e[1]*n[0]]}function pt(r,t){return r.map(e=>e*t)}function mt(r,t){return Math.sqrt(r.reduce((e,n,i)=>e+Math.pow(n-t[i]||0,2),0))}function ct(r,t){return r.reduce((e,n,i)=>e+Math.abs(n-t[i]),0)}function Ct(r){const t=r.reduce((e,n)=>e+Math.pow(n,2),0);return r.map(e=>e/Math.sqrt(t))}function zt(r,t,e=!1){const n=r[0]*t[1]-r[1]*t[0];let i=Math.acos(Qt(r,t).reduce((a,A)=>a+A,0)/(mt(r,D)*mt(t,D)));return e&&n<0&&(i=2*Math.PI-i),i}function De(r,t){return r.every((e,n)=>e===t[n])}function Yt(r,t=!0){return t?[-r[1],r[0]]:[r[1],-r[0]]}function Le(r,t){return r.map(e=>e%t)}function sn(r){return[r[0],r[1]]}function Mn(r){return rt(r)?[r[0],r[1],0]:r}function Nn(r){const[t,e]=r;return!t&&!e?0:Math.atan2(e,t)}function ir(r,t){const[e,n]=r;if(t%360===0)return[e,n];const i=t*Math.PI/180,a=Math.cos(i),A=Math.sin(i);return[e*a-n*A,e*A+n*a]}function Kn(r,t){const[e,n]=r,[i,a]=t,A=Nt(e,n),c=Nt(i,a);return un(A,c).every(h=>h===0)}function qn(r,t,e=!1){if(Kn(r,t))return;const[n,i]=r,[a,A]=t,c=((n[0]-a[0])*(a[1]-A[1])-(n[1]-a[1])*(a[0]-A[0]))/((n[0]-i[0])*(a[1]-A[1])-(n[1]-i[1])*(a[0]-A[0])),h=A[0]-a[0]?(n[0]-a[0]+c*(i[0]-n[0]))/(A[0]-a[0]):(n[1]-a[1]+c*(i[1]-n[1]))/(A[1]-a[1]);if(!(!e&&(!$e(c,0,1)||!$e(h,0,1))))return[n[0]+c*(i[0]-n[0]),n[1]+c*(i[1]-n[1])]}function gr(r){if(Array.isArray(r))return $e(r[0],0,1)&&$e(r[1],0,1)?r:[.5,.5];const t=r.split("-"),e=t.includes("left")?0:t.includes("right")?1:.5,n=t.includes("top")?0:t.includes("bottom")?1:.5;return[e,n]}function He(r){const{x:t=0,y:e=0,z:n=0}=r.style||{};return[+t,+e,+n]}function Tn(r){const{x:t,y:e,z:n}=r.style||{};return t!==void 0||e!==void 0||n!==void 0}function or(r,t){const[e,n]=t,{min:i,max:a}=r;return[i[0]+e*(a[0]-i[0]),i[1]+n*(a[1]-i[1])]}function En(r,t="center"){const e=gr(t);return or(r,e)}function kr(r,t){const e=parseAnchor(t);return or(r,e)}const _r=r=>{const[t,e]=r;return{left:Math.min(t[0],e[0]),right:Math.max(t[0],e[0]),top:Math.min(t[1],e[1]),bottom:Math.max(t[1],e[1])}};function Cr(r){var t;return[r.x,r.y,(t=r.z)!==null&&t!==void 0?t:0]}function br(r){var t;return{x:r[0],y:r[1],z:(t=r[2])!==null&&t!==void 0?t:0}}function ni(r){return r.sort((t,e)=>t[0]-e[0]||t[1]-e[1])}function Br(r){const t=new Set;return r.filter(e=>{const n=e.join(",");return t.has(n)?!1:(t.add(n),!0)})}function Wr(r,t=0){return r.map(e=>parseFloat(e.toFixed(t)))}function Pn(r,t,e,n=!1){if((0,m.Z)(r,t))return r;const i=n?Nt(r,t):Nt(t,r),a=Ct(i),A=[a[0]*e,a[1]*e];return z(sn(r),A)}function An(r,t){return r[1]===t[1]}function ie(r,t){return r[0]===t[0]}function ue(r,t){return An(r,t)||ie(r,t)}function $t(r,t,e){return Kn([r,t],[t,e])}function Ve(r,t){return[2*t[0]-r[0],2*t[1]-r[1]]}function wn(r,t,e,n=!0,i=!1){for(let a=0;aa!=$>a&&i<(j-p)*(a-H)/($-H)+p&&(A=!A)}return A}function tr(r,t,e=!1){const n=En(t,"center"),i=[En(t,"left-top"),En(t,"right-top"),En(t,"right-bottom"),En(t,"left-bottom")];return wn(r,n,i,!1,e).point}function ar(r,t,e=!1){const n=t.center,i=e?Ve(r,n):r,a=Nt(i,t.center),A=Math.atan2(a[1],a[0]);if(isNaN(A))return n;const c=et(t)/2,h=Pt(t)/2,v=n[0]+c*Math.cos(A),p=n[1]+h*Math.sin(A);return[v,p]}function Or(r,t){let e=1/0,n=[r[0],t[0]];return r.forEach(i=>{t.forEach(a=>{const A=mt(i,a);A{const a=Zr(r,i);a1?p=1:p<0&&(p=0);const H=e+p*h,j=n+p*v;return[H,j]}function mi(r){const t=r.reduce((e,n)=>z(e,n),[0,0]);return qt(t,r.length)}function Ci(r,t=!0){const e=mi(r);return r.sort(([n,i],[a,A])=>{const c=Math.atan2(i-e[1],n-e[0]),h=Math.atan2(A-e[1],a-e[0]);return t?h-c:c-h})}function gi(r,t){return[r,[r[0],t[1]],t,[t[0],r[1]]]}var hi=f(71879);class er{constructor(t,e,n){if(this.phase=e,this.pointerByTouch=[],this.initialDistance=null,this.emitter=t,er.instance)return er.callbacks[this.phase].push(n),er.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),er.instance=this,er.callbacks[this.phase].push(n)}bindEvents(){const{emitter:t}=this;t.on(W.POINTER_DOWN,this.onPointerDown),t.on(W.POINTER_MOVE,this.onPointerMove),t.on(W.POINTER_UP,this.onPointerUp)}updatePointerPosition(t,e,n){const i=this.pointerByTouch.findIndex(a=>a.pointerId===t);i>=0&&(this.pointerByTouch[i]={x:e,y:n,pointerId:t})}onPointerDown(t){const{x:e,y:n}=t.client||{};if(!(e===void 0||n===void 0)&&(this.pointerByTouch.push({x:e,y:n,pointerId:t.pointerId}),t.pointerType==="touch"&&this.pointerByTouch.length===2)){er.isPinching=!0;const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(i*i+a*a),er.callbacks.pinchstart.forEach(A=>A(t,{scale:0}))}}onPointerMove(t){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x:e,y:n}=t.client||{};if(e===void 0||n===void 0)return;this.updatePointerPosition(t.pointerId,e,n);const i=this.pointerByTouch[0].x-this.pointerByTouch[1].x,a=this.pointerByTouch[0].y-this.pointerByTouch[1].y,c=Math.sqrt(i*i+a*a)/this.initialDistance;er.callbacks.pinchmove.forEach(h=>h(t,{scale:(c-1)*5}))}onPointerUp(t){var e;er.callbacks.pinchend.forEach(n=>n(t,{scale:0})),er.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(e=er.instance)===null||e===void 0||e.tryDestroy()}destroy(){this.emitter.off(W.POINTER_DOWN,this.onPointerDown),this.emitter.off(W.POINTER_MOVE,this.onPointerMove),this.emitter.off(W.POINTER_UP,this.onPointerUp),er.instance=null}off(t,e){const n=er.callbacks[t].indexOf(e);n>-1&&er.callbacks[t].splice(n,1),this.tryDestroy()}tryDestroy(){Object.values(er.callbacks).every(t=>t.length===0)&&this.destroy()}}er.isPinching=!1,er.instance=null,er.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const Ri=r=>r.map(t=>(0,hi.Z)(t)?t.toLocaleLowerCase():t);class Xi{constructor(t){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=e=>{e!=null&&e.key&&(this.recordKey.add(e.key),this.trigger(e))},this.onKeyUp=e=>{e!=null&&e.key&&this.recordKey.delete(e.key)},this.onWheel=e=>{this.triggerExtendKey(W.WHEEL,e)},this.onDrag=e=>{this.triggerExtendKey(W.DRAG,e)},this.handlePinch=(e,n)=>{this.triggerExtendKey(W.PINCH,Object.assign(Object.assign({},e),n))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=t,this.bindEvents()}bind(t,e){t.length!==0&&(t.includes(W.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new er(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(t,e))}unbind(t,e){this.map.forEach((n,i)=>{(0,m.Z)(i,t)&&(!e||e===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(t){const e=Ri(Array.from(this.recordKey)).sort(),n=Ri(t).sort();return(0,m.Z)(e,n)}bindEvents(){var t;const{emitter:e}=this;e.on(W.KEY_DOWN,this.onKeyDown),e.on(W.KEY_UP,this.onKeyUp),e.on(W.WHEEL,this.onWheel),e.on(W.DRAG,this.onDrag),(t=globalThis.addEventListener)===null||t===void 0||t.call(globalThis,"focus",this.onFocus)}trigger(t){this.map.forEach((e,n)=>{this.match(n)&&e(t)})}triggerExtendKey(t,e){this.map.forEach((n,i)=>{i.includes(t)&&(0,m.Z)(Array.from(this.recordKey),i.filter(a=>a!==t))&&n(e)})}destroy(){var t,e;this.unbindAll(),this.emitter.off(W.KEY_DOWN,this.onKeyDown),this.emitter.off(W.KEY_UP,this.onKeyUp),this.emitter.off(W.WHEEL,this.onWheel),this.emitter.off(W.DRAG,this.onDrag),(t=this.pinchHandler)===null||t===void 0||t.off("pinchmove",this.boundHandlePinch),(e=globalThis.removeEventListener)===null||e===void 0||e.call(globalThis,"focus",this.onFocus)}}class ta extends x{constructor(t,e){super(t,(0,y.Z)({},ta.defaultOptions,e)),this.shortcut=new Xi(t.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(t){if(!this.validate(t)||!this.isKeydown()||this.startPoint)return;const{canvas:e,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new R.UL({id:"g6-brush-select",style:i}),e.appendChild(this.rectShape),this.startPoint=[t.canvas.x,t.canvas.y]}onPointerMove(t){var e;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=la(t,this.context.graph),(e=this.rectShape)===null||e===void 0||e.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])}),n&&i==="default"&&this.updateElementsStates(gi(this.startPoint,this.endPoint))}onPointerUp(t){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=la(t,this.context.graph),this.updateElementsStates(gi(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:t}=this.context,e=Object.values(t.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((a,A)=>{var c;const h=(c=A.states||[])===null||c===void 0?void 0:c.filter(v=>v!==this.options.state);return a[jt(A)]=h,a},{})),{});t.setElementState(e,this.options.animation)}updateElementsStates(t){const{graph:e}=this.context,{enableElements:n,state:i,mode:a,onSelect:A}=this.options,c=this.selector(e,t,n),h={};switch(a){case"union":c.forEach(v=>{h[v]=[...e.getElementState(v),i]});break;case"diff":c.forEach(v=>{const p=e.getElementState(v);h[v]=p.includes(i)?p.filter(H=>H!==i):[...p,i]});break;case"intersect":c.forEach(v=>{const p=e.getElementState(v);h[v]=p.includes(i)?[i]:[]});break;case"default":default:c.forEach(v=>{h[v]=[i]});break}(0,Me.Z)(A)&&A(h),e.setElementState(h,this.options.animation)}selector(t,e,n){if(!n||n.length===0)return[];const i=[],a=t.getData();if(n.forEach(A=>{a[`${A}s`].forEach(c=>{const h=jt(c);t.getElementVisibility(h)!=="hidden"&&zn(t.getElementPosition(h),e)&&i.push(h)})}),n.includes("edge")){const A=a.edges;A==null||A.forEach(c=>{const{source:h,target:v}=c;i.includes(h)&&i.includes(v)&&i.push(jt(c))})}return i}clearBrush(){var t;(t=this.rectShape)===null||t===void 0||t.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:t}=this.options,e=Array.isArray(t)?t:[t];return this.shortcut.match(e.filter(n=>n!=="drag"))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}bindEvents(){const{graph:t}=this.context;t.on(W.POINTER_DOWN,this.onPointerDown),t.on(W.POINTER_MOVE,this.onPointerMove),t.on(W.POINTER_UP,this.onPointerUp),t.on(Z.CLICK,this.clearStates)}unbindEvents(){const{graph:t}=this.context;t.off(W.POINTER_DOWN,this.onPointerDown),t.off(W.POINTER_MOVE,this.onPointerMove),t.off(W.POINTER_UP,this.onPointerUp),t.off(Z.CLICK,this.clearStates)}update(t){this.unbindEvents(),this.options=(0,y.Z)(this.options,t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ta.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 la=(r,t)=>{if((r.targetType==="node"||r.targetType==="combo")&&!(r.nativeEvent.target instanceof HTMLCanvasElement)){const[e,n]=t.getCanvasByClient([r.client.x,r.client.y]);return[e,n]}return[r.canvas.x,r.canvas.y]},Ki=.8,Ba=["node","edge","combo"];function da(r,t,e,n,i=0){n==="TB"&&t(r,i);const a=e(r);if(a)for(const A of a)da(A,t,e,n,i+1);n==="BT"&&t(r,i)}function fa(r,t,e){const n=[[r,0]];for(;n.length;){const[i,a]=n.shift();t(i,a);const A=e(i);if(A)for(const c of A)n.push([c,a+1])}}function bs(r,t,e,n,i="both"){if(t==="combo"||t==="node")return cs(r,e,n,i);const a=r.getEdgeData(e);if(!a)return[];const A=cs(r,a.source,n-1,i),c=cs(r,a.target,n-1,i);return Array.from(new Set([...A,...c,e]))}function cs(r,t,e,n="both"){const i=new Set,a=new Set,A=new Set;return fa(t,(c,h)=>{h>e||(A.add(c),r.getRelatedEdgesData(c,n).forEach(v=>{const p=jt(v);!a.has(p)&&hr.getRelatedEdgesData(c,n).map(h=>h.source===c?h.target:h.source).filter(h=>i.has(h)?!1:(i.add(h),!0))),Array.from(A)}function ga(r){return r.states||[]}var us=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Pa extends x{constructor(t,e){super(t,Object.assign({},Pa.defaultOptions,e)),this.onClickSelect=n=>us(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.updateState(n),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.onClickCanvas=n=>us(this,void 0,void 0,function*(){var i,a;this.validate(n)&&(yield this.clearState(),(a=(i=this.options).onClick)===null||a===void 0||a.call(i,n))}),this.shortcut=new Xi(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(e=>{t.on(`${e}:${W.CLICK}`,this.onClickSelect)}),t.on(Z.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:t,trigger:e}=this.options;return t&&this.shortcut.match(e)}getNeighborIds(t){const{target:e,targetType:n}=t,{graph:i}=this.context,{degree:a}=this.options;return bs(i,n,e.id,typeof a=="function"?a(t):a).filter(A=>A!==e.id)}updateState(t){return us(this,void 0,void 0,function*(){const{state:e,unselectedState:n,neighborState:i,animation:a}=this.options;if(!e&&!i&&!n)return;const{target:A}=t,{graph:c}=this.context,h=c.getElementData(A.id),v=ga(h).includes(e)?"unselect":"select",p={},H=this.isMultipleSelect,j=[A.id],$=this.getNeighborIds(t);if(H)if(Object.assign(p,this.getDataStates()),v==="select"){const At=(Et,It)=>{Et.forEach(te=>{const oe=new Set(c.getElementState(te));oe.add(It),oe.delete(n),p[te]=Array.from(oe)})};At(j,e),At($,i),n&&Object.keys(p).forEach(Et=>{const It=p[Et];!It.includes(e)&&!It.includes(i)&&!It.includes(n)&&p[Et].push(n)})}else{const At=p[A.id];p[A.id]=At.filter(Et=>Et!==e&&Et!==i),At.includes(n)||p[A.id].push(n),$.forEach(Et=>{p[Et]=p[Et].filter(It=>It!==i),p[Et].includes(e)||p[Et].push(n)})}else if(v==="select"){Object.assign(p,this.getClearStates(!!n));const At=(Et,It)=>{Et.forEach(te=>{p[te]||(p[te]=c.getElementState(te)),p[te].push(It)})};At(j,e),At($,i),n&&Object.keys(p).forEach(Et=>{!j.includes(Et)&&!$.includes(Et)&&p[Et].push(n)})}else Object.assign(p,this.getClearStates());yield c.setElementState(p,a)})}getDataStates(){const{graph:t}=this.context,{nodes:e,edges:n,combos:i}=t.getData(),a={};return[...e,...n,...i].forEach(A=>{a[jt(A)]=ga(A)}),a}getClearStates(t=!1){const{graph:e}=this.context,{state:n,unselectedState:i,neighborState:a}=this.options,A=new Set([n,i,a]),{nodes:c,edges:h,combos:v}=e.getData(),p={};return[...c,...h,...v].forEach(H=>{const j=ga(H),$=j.filter(At=>!A.has(At));(t||$.length!==j.length)&&(p[jt(H)]=$)}),p}clearState(){return us(this,void 0,void 0,function*(){const{graph:t}=this.context;yield t.setElementState(this.getClearStates(),this.options.animation)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ba.forEach(e=>{t.off(`${e}:${W.CLICK}`,this.onClickSelect)}),t.off(Z.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Pa.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function Ca(r){var t;return!!(!((t=r.style)===null||t===void 0)&&t.collapsed)}var qa=f(5759),no=f(37004),ro=f(45642);function Is(r,t){if(!r.startsWith(t))return!1;const e=r[t.length];return e>="A"&&e<="Z"}function Ws(r,t){return`${t}${(0,U.Z)(r)}`}function Ds(r,t,e=!0){if(!t||!Is(r,t))return r;const n=r.slice(t.length);return e?(0,ro.Z)(n):n}function Gi(r,t){const e=Object.entries(r).reduce((n,[i,a])=>(i==="className"||i==="class"||Is(i,t)&&Object.assign(n,{[Ds(i,t)]:a}),n),{});if("opacity"in r){const n=Ws("opacity",t),i=r.opacity;if(n in r){const a=r[n];Object.assign(e,{opacity:i*a})}else Object.assign(e,{opacity:i})}return e}function ka(r,t){const e=t.length;return Object.keys(r).reduce((n,i)=>{if(i.startsWith(t)){const a=i.slice(e);n[a]=r[i]}return n},{})}function _a(r,t){const e=typeof t=="string"?[t]:t,n={};return Object.keys(r).forEach(i=>{e.find(a=>i.startsWith(a))||(n[i]=r[i])}),n}function No(r,t,e){return Object.entries(r).reduce((n,[i,a])=>(Is(i,t)?n[Ws(Ds(i,t,!1),e)]=a:n[i]=a,n),{})}function is(r=0){if(typeof r=="number")return[r,r,r];const[t,e=t,n=t]=r;return[t,e,n]}var ca=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);itypeof a=="function"?[i,a.call(n,e)]:[i,a]))}function Ha(r,t){const e=(r==null?void 0:r.style)||{},n=(t==null?void 0:t.style)||{};for(const i in e)i in n||(n[i]=e[i]);return Object.assign({},r,t,{style:n})}function Eo(r){const{x:t,y:e,z:n,class:i,className:a,transform:A,transformOrigin:c,zIndex:h,visibility:v}=r;return ca(r,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function Vs(r,t){const e=is(r);let n={};return t.text&&!t.fontSize&&(n={fontSize:Math.min(...e)*.5}),t.src&&(!t.width||!t.height)&&(n={width:e[0]*.5,height:e[1]*.5}),n}function xs(r){if(r)return typeof r=="string"||typeof r=="function"||Array.isArray(r)?{type:"group",field:t=>t.id,color:r,invert:!1}:r}function ua(r,t){if(!t)return{};const{type:e,color:n,field:i,invert:a}=t,A=h=>{const v=typeof n=="string"?me("palette",n):n;if(typeof v=="function"){const p={};return h.forEach(([H,j])=>{p[H]=v(a?1-j:j)}),p}else if(Array.isArray(v)){const p=a?[...v].reverse():v,H={};return h.forEach(([j,$])=>{H[j]=p[$%v.length]}),H}return{}},c=(h,v)=>{var p;return typeof h=="string"?(p=v.data)===null||p===void 0?void 0:p[h]:h==null?void 0:h(v)};if(e==="group"){const h=(0,kt.Z)(r,j=>{if(!i)return"default";const $=c(i,j);return $?String($):"default"}),v=Object.keys(h),p=A(v.map((j,$)=>[j,$])),H={};return Object.entries(h).forEach(([j,$])=>{$.forEach(At=>{H[jt(At)]=p[j]})}),H}else if(e==="value"){const[h,v]=r.reduce(([H,j],$)=>{const At=c(i,$);if(typeof At!="number")throw new Error(cn(`Palette field ${i} is not a number`));return[Math.min(H,At),Math.max(j,At)]},[1/0,-1/0]),p=v-h;return A(r.map(H=>[H.id,(c(i,H)-h)/p]))}}function fo(r){const t=typeof r=="string"?me("palette",r):r;if(typeof t!="function")return t}function Wa(r,t){let e=2*r;return typeof t=="string"?e=r*Number(t.replace("%",""))/100:typeof t=="number"&&(e=t),isNaN(e)&&(e=2*r),e}function $a(r,t,e=1,n=!1){const i=n?e:1,a=(r.max[0]-r.min[0])*i;return Wa(a,t)}function Wi(r,t,e=1){const n=mt(r[0],r[1])*e;return Wa(n,t)}var Ka=f(42791);class Rs extends R.b_{constructor(t){aa(t.style),super(t),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(t,e,n,i,a){var A,c,h,v,p,H,j,$;const At=this.shapeMap[t];if(n===!1){At&&((A=a==null?void 0:a.beforeDestroy)===null||A===void 0||A.call(a,At),i.removeChild(At),delete this.shapeMap[t],(c=a==null?void 0:a.afterDestroy)===null||c===void 0||c.call(a,At));return}const Et=typeof e=="string"?me(Kt.SHAPE,e):e;if(!Et)throw new Error(cn(`Shape ${e} not found`));if(!At||At.destroyed||!(At instanceof Et)){At&&((h=a==null?void 0:a.beforeDestroy)===null||h===void 0||h.call(a,At),At==null||At.destroy(),(v=a==null?void 0:a.afterDestroy)===null||v===void 0||v.call(a,At)),(p=a==null?void 0:a.beforeCreate)===null||p===void 0||p.call(a);const It=new Et({className:t,style:n});return i.appendChild(It),this.shapeMap[t]=It,(H=a==null?void 0:a.afterCreate)===null||H===void 0||H.call(a,It),It}return(j=a==null?void 0:a.beforeUpdate)===null||j===void 0||j.call(a,At),vo(At,n),($=a==null?void 0:a.afterUpdate)===null||$===void 0||$.call(a,At),At}update(t={}){const e=Object.assign({},this.attributes,t);aa(e),go(this,e),this.render(e,this),this.setVisibility()}bindEvents(){}getGraphicStyle(t){return Eo(t)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(t,e){if(t.length===0)return null;const n=[];if(t[0].x!==void 0||t[0].y!==void 0||t[0].z!==void 0){const{x:a=0,y:A=0,z:c=0}=this.attributes;t.forEach(h=>{const{x:v=a,y:p=A,z:H=c}=h;Object.assign(h,{transform:H?[["translate3d",v,p,H]]:[["translate",v,p]]})})}const i=super.animate(t,e);if(i&&(js(this,i),n.push(i)),Array.isArray(t)&&t.length>0){const a=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(t[0]).some(A=>!a.includes(A))){Object.entries(this.shapeMap).forEach(([c,h])=>{const v=`get${(0,U.Z)(c)}Style`,p=this[v];if((0,Me.Z)(p)){const H=t.map($=>p.call(this,Object.assign(Object.assign({},this.attributes),$))),j=h.animate(Ze(H),e);j&&(js(h,j),n.push(j))}});const A=(c,h)=>{if(!(0,Ka.Z)(c)){const v=`get${(0,U.Z)(h)}Style`,p=this[v];if((0,Me.Z)(p)){const H=t.map(j=>p.call(this,Object.assign(Object.assign({},this.attributes),j)));Object.entries(H[0]).map(([j])=>{const $=H.map(Et=>Et[j]),At=c[j];if(At){const Et=At.animate(Ze($),e);Et&&(js(At,Et),n.push(Et))}})}}};this.compositeShapes.forEach(([c,h])=>{const v=ka(this.shapeMap,h);A(v,c)})}}return Un(n)}getShape(t){return this.shapeMap[t]}setVisibility(){const{visibility:t}=this.attributes;mn(this,t)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function js(r,t){t==null||t.finished.then(()=>{const e=r.activeAnimations.findIndex(n=>n===t);e>-1&&r.activeAnimations.splice(e,1)})}function aa(r){if(!r)return{};if("x"in r||"y"in r||"z"in r){const{x:t=0,y:e=0,z:n,transform:i}=r,a=Re(t,e,n,i);a&&(r.transform=a)}return r}var Lr=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{e.push([i===0?"M":"L",...n])}),t&&e.push(["Z"]),e}const qo={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 Qs(r){const t=r.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),e=[];let n="",i={};for(;t.length>0;){let a=t.shift();a in qo?n=a:t.unshift(a),i={type:n},qo[n].forEach(h=>{a=t.shift(),i[h]=a}),n==="M"?n="L":n==="m"&&(n="l");const[A,...c]=Object.values(i);e.push([A,...c.map(Number)])}return e}function so(r){const t=[];return(typeof r=="string"?Qs(r):r).forEach(n=>{const i=n[0];if(i==="Z"){t.push(t[0]);return}if(i!=="A")for(let a=1;a{if(r.length<2)return[["M",0,0],["L",0,0]];const t=r[0],e=r[1],n=r[r.length-1],i=r[r.length-2];r.unshift(i,n),r.push(t,e);const a=[["M",n[0],n[1]]];for(let A=1;A{const It=At,te=p[(Et+1)%p.length];return(0,m.Z)(It,te)?null:[It,te]}).filter(Boolean),j=Fr([c,h],H),$=jr([c,h],j);if($&&j&&(v.transform=[["translate",$[0]+e,$[1]+n]],A)){const At=Math.atan((j[0][1]-j[1][1])/(j[0][0]-j[1][0]));v.transform.push(["rotate",At/Math.PI*180]),v.textAlign="center",(t==="right"||t==="left")&&(At>0?v.textBaseline=t==="right"?"bottom":"top":v.textBaseline=t==="right"?"top":"bottom")}return v}var Ua=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{n!=null&&n.children.length&&n.children.forEach(i=>{t.push(i),e(i)})};return e(r),t}function Ao(r){const t=[];let e=r.parentNode;for(;e;)t.push(e),e=e.parentNode;return t}class Bo extends R.Ee{constructor(t){super(t),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Da=this,this.isMutationObserved=!0,this.addEventListener(R.Dk.MOUNTED,this.onMounted),this.addEventListener(R.Dk.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:t,clipPath:e,width:n=0,height:i=0}=this.attributes;if(t&&n&&i){const[a,A]=this.getBounds().min,c={x:a,y:A,radius:t,width:n,height:i};if(e)Object.assign(this.parsedStyle.clipPath.style,c);else{const h=new R.UL({style:c});this.style.clipPath=h}}else e&&(this.style.clipPath=null)}}const Va=new WeakMap;let Da=null;const as=r=>{if(Da&&Ao(Da).includes(r)){const t=Va.get(r);t?t.includes(Da)||t.push(Da):Va.set(r,[Da])}},ws=r=>{const t=Va.get(r);t&&t.forEach(e=>e.handleRadius())};class sa extends Rs{constructor(t){super(t)}isImage(){const{src:t}=this.attributes;return!!t}getIconStyle(t=this.attributes){const{width:e=0,height:n=0}=t,i=this.getGraphicStyle(t);return this.isImage()?Object.assign({x:-e/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(t=this.attributes,e=this){this.upsert("icon",this.isImage()?Bo:R.xv,this.getIconStyle(t),e)}}class Vi extends Rs{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(t,e){const n=super.animate(t,e);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var qi=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{i[H]=!1}),t.badge===!1||!(!((e=t.badges)===null||e===void 0)&&e.length))return i;const{badges:a=[],badgePalette:A,opacity:c=1}=t,h=qi(t,["badges","badgePalette","opacity"]),v=fo(A),p=Gi(this.getGraphicStyle(h),"badge");return a.forEach((H,j)=>{i[j]=Object.assign(Object.assign({backgroundFill:v?v[j%(v==null?void 0:v.length)]:void 0,opacity:c},p),this.getBadgeStyle(H))}),i}getBadgeStyle(t){const e=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:a}=t,A=qi(t,["placement","offsetX","offsetY"]),c=_i(e.getLocalBounds(),n,i,a,!0);return Object.assign(Object.assign({},c),A)}getPortsStyle(t){var e;const n=this.getPorts(),i={};if(Object.keys(n).forEach(c=>{i[c]=!1}),t.port===!1||!(!((e=t.ports)===null||e===void 0)&&e.length))return i;const a=Gi(this.getGraphicStyle(t),"port"),{ports:A=[]}=t;return A.forEach((c,h)=>{const v=c.key||h,p=Object.assign(Object.assign({},a),c);if(vi(p))i[v]=!1;else{const[H,j]=this.getPortXY(t,c);i[v]=Object.assign({transform:[["translate",H,j]]},p)}}),i}getPortXY(t,e){const{placement:n="left"}=e,i=this.getShape("key");return Ai(Ys(this.context,i),n)}getPorts(){return ka(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return tr(t,n,e)}drawHaloShape(t,e){const n=this.getHaloStyle(t),i=this.getShape("key");this.upsert("halo",i.constructor,n,e)}drawIconShape(t,e){const n=this.getIconStyle(t);this.upsert("icon",sa,n,e),as(this)}drawBadgeShapes(t,e){const n=this.getBadgesStyle(t);Object.keys(n).forEach(i=>{const a=n[i];this.upsert(`badge-${i}`,ao,a,e)})}drawPortShapes(t,e){const n=this.getPortsStyle(t);Object.keys(n).forEach(i=>{const a=n[i],A=`port-${i}`;this.upsert(A,R.Cd,a,e)})}drawLabelShape(t,e){const n=this.getLabelStyle(t);this.upsert("label",Ia,n,e)}_drawKeyShape(t,e){return this.drawKeyShape(t,e)}render(t=this.parsedAttributes,e=this){this._drawKeyShape(t,e),this.getShape("key")&&(this.drawHaloShape(t,e),this.drawIconShape(t,e),this.drawBadgeShapes(t,e),this.drawLabelShape(t,e),this.drawPortShapes(t,e))}update(t){super.update(t),t&&("x"in t||"y"in t||"z"in t)&&ws(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}ja.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 Ys(r,t){if(!r)return t.getLocalBounds();const e=r.canvas.getLayer(),n=t.cloneNode();mn(n,"hidden"),e.appendChild(n);const i=n.getLocalBounds();return n.destroy(),i}class Cs extends ja{constructor(t){super(Ha({style:Cs.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",R.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{r:Math.min(...this.getSize(t))/2})}getIconStyle(t){const e=super.getIconStyle(t),{r:n}=this.getShape("key").attributes,i=n*2*Ki;return e?Object.assign({width:i,height:i},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return ar(t,n,e)}}Cs.defaultStyleProps={size:32};class ea extends ja{constructor(t){super(t)}get parsedAttributes(){return this.attributes}drawKeyShape(t,e){return this.upsert("key",R.mg,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{points:this.getPoints(t)})}getIntersectPoint(t,e=!1){var n,i;const{points:a}=this.getShape("key").attributes,A=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return wn(t,A,a,!0,e).point}}class bo extends ea{constructor(t){super(t)}getPoints(t){const[e,n]=this.getSize(t);return Bs(e,n)}}var Ko=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i(0,qe.Z)(H)?{value:H}:H),a=Gi(this.getGraphicStyle(t),"donut"),A=fo(t.donutPalette);if(!A)return;const c=i.reduce((H,j)=>{var $;return H+(($=j.value)!==null&&$!==void 0?$:0)},0),h=this.parseOuterR(),v=this.parseInnerR();let p=0;i.forEach((H,j)=>{const{value:$=0,color:At=A[j%A.length]}=H,Et=Ko(H,["value","color"]),It=(c===0?1/i.length:$/c)*360;this.upsert(`round${j}`,R.y$,Object.assign(Object.assign(Object.assign({},a),{d:ba(h,v,p,p+It),fill:At}),Et),e),p+=It})}render(t,e=this){super.render(t,e),this.drawDonutShape(t,e)}}hs.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const xo=(r,t,e,n)=>[r+Math.sin(n)*e,t-Math.cos(n)*e],$o=(r,t,e,n)=>n<=0||e<=n?[["M",r-e,t],["A",e,e,0,1,1,r+e,t],["A",e,e,0,1,1,r-e,t],["Z"]]:[["M",r-e,t],["A",e,e,0,1,1,r+e,t],["A",e,e,0,1,1,r-e,t],["Z"],["M",r+n,t],["A",n,n,0,1,0,r-n,t],["A",n,n,0,1,0,r+n,t],["Z"]],hA=(r,t,e,n,i,a)=>{const[A,c]=[i/360*2*Math.PI,a/360*2*Math.PI],h=[xo(r,t,n,A),xo(r,t,e,A),xo(r,t,e,c),xo(r,t,n,c)],v=c-A>Math.PI?1:0;return[["M",h[0][0],h[0][1]],["L",h[1][0],h[1][1]],["A",e,e,0,v,1,h[2][0],h[2][1]],["L",h[3][0],h[3][1]],["A",n,n,0,v,0,h[0][0],h[0][1]],["Z"]]},ba=(r=0,t=0,e,n)=>{const[i,a]=[0,0];return Math.abs(e-n)%360<1e-6?$o(i,a,r,t):hA(i,a,r,t,e,n)};class ds extends ja{constructor(t){super(Ha({style:ds.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",R.Pj,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getSize(t);return Object.assign(Object.assign({},e),{rx:n/2,ry:i/2})}getIconStyle(t){const e=super.getIconStyle(t),{rx:n,ry:i}=this.getShape("key").attributes,a=Math.min(+n,+i)*2*Ki;return e?Object.assign({width:a,height:a},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return ar(t,n,e)}}ds.defaultStyleProps={size:[45,35]};class Es extends ea{constructor(t){super(t)}getOuterR(t){return t.outerR||Math.min(...this.getSize(t))/2}getPoints(t){return ts(this.getOuterR(t))}getIconStyle(t){const e=super.getIconStyle(t),n=this.getOuterR(t)*Ki;return e?Object.assign({width:n,height:n},e):!1}}var ss=f(94344),oa=f(84502),na=f(49527),OA=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(e,i).forEach(A=>{const c=this.bootstrapEvent(this.rootPointerEvent,A,i,e);(0,no.Z)(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(c)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[W.CLICK,W.POINTER_DOWN,W.POINTER_MOVE,W.POINTER_UP,W.POINTER_OVER,W.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.drawPortShapes(t,e)}getKeyStyle(t){const e=(0,oa.Z)(t,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=e,a=OA(e,["dx","dy"]),[A,c]=this.getSize(t);return Object.assign(Object.assign({x:n,y:i},a),{width:A,height:c})}drawKeyShape(t,e){const n=this.getKeyStyle(t),{x:i,y:a,width:A=0,height:c=0}=n,h=this.upsert("key-container",R.UL,{x:i,y:a,width:A,height:c,opacity:0},e);return this.upsert("key",R.k9,n,h)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof ss.Th))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(t,e,n){t==="zIndex"&&e!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const t=this.getDomElement();this.events.forEach(e=>{t.removeEventListener(e,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(t,e){const n=[];if(e.isTouchEvent(t))for(let i=0;ithis.context.element.getElement(A)).filter(Boolean);if(i.length===0){const A=new R.mN,{x:c=0,y:h=0,size:v}=t,[p,H]=is(v);return A.setMinMax([c-p/2,h-H/2,0],[c+p/2,h+H/2,0]),A}const a=Ee(i.map(A=>A.getBounds()));return n?Vt(a,n):a}drawCollapsedMarkerShape(t,e){const n=this.getCollapsedMarkerStyle(t);this.upsert("collapsed-marker",sa,n,e),as(this)}getCollapsedMarkerStyle(t){if(!t.collapsed||!t.collapsedMarker)return!1;const e=Gi(this.getGraphicStyle(t),"collapsedMarker"),{type:n}=e,i=dA(e,["type"]),a=this.getShape("key"),[A,c]=En(a.getLocalBounds(),"center"),h=Object.assign(Object.assign({},i),{x:A,y:c});if(n){const v=this.getCollapsedMarkerText(n,t);Object.assign(h,{text:v})}return h}getCollapsedMarkerText(t,e){const{childrenData:n=[]}=e,{model:i}=this.context;return t==="descendant-count"?i.getDescendantsData(this.id).length.toString():t==="child-count"?n.length.toString():t==="node-count"?i.getDescendantsData(this.id).filter(a=>i.getElementType(jt(a))==="node").length.toString():(0,Me.Z)(t)?t(n):""}getComboPosition(t){const{x:e=0,y:n=0,collapsed:i,childrenData:a=[]}=t;if(a.length===0)return[+e,+n,0];if(i){const{model:A}=this.context,c=A.getDescendantsData(this.id).filter(h=>!A.isCombo(jt(h)));if(c.length>0&&c.some(Tn)){const h=c.reduce((v,p)=>z(v,He(p)),[0,0,0]);return qt(h,c.length)}return[+e,+n,0]}return this.getContentBBox(t).center}getComboStyle(t){const[e,n]=this.getComboPosition(t);return{x:e,y:n,transform:[["translate",e,n]]}}updateComboPosition(t){const e=this.getComboStyle(t);Object.assign(this.style,e);const{x:n,y:i}=e;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:n,y:i}}),ws(this)}render(t,e=this){super.render(t,e),this.drawCollapsedMarkerShape(t,e)}update(t={}){super.update(t),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(t,e){const n=super.animate(this.attributes.collapsed?t:t.map(i=>{var{x:a,y:A,z:c,transform:h}=i,v=dA(i,["x","y","z","transform"]);return v}),e);return n&&new Proxy(n,{set:(i,a,A)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,A))})}}Xs.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class So extends Xs{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",R.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const{collapsed:e}=t,n=super.getKeyStyle(t),[i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},n),e&&Gi(n,"collapsed")),{r:i/2})}getCollapsedKeySize(t){const[e,n]=is(t.collapsedSize),i=Math.max(e,n)/2;return[i*2,i*2,0]}getExpandedKeySize(t){const e=this.getContentBBox(t),[n,i]=Xt(e),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[a*2,a*2,0]}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return ar(t,n,e)}}class TA extends Xs{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",R.UL,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},e),t.collapsed&&Gi(e,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var Ro=f(47182);const Qo={padding:10};function xa(r,t,e,n,i,a){const{padding:A}=Object.assign(Qo,a),c=Lt(e,A),h=Lt(n,A),v=[r,...i,t];let p=null;const H=[];for(let j=0,$=v.length;j<$-1;j++){const At=j+1,Et=v[j],It=v[At],te=ue(Et,It);let oe=null;if(j===0)if(At===$-1)if(c.intersects(h))oe=St(Et,It,c,h);else if(!fn(Et,c)&&!fn(It,h)){const Se=Zn(Et,c),en=Zn(It,h);oe=FA(Se,en,fs(Se,en)),oe.points.unshift(Se),oe.points.push(en)}else te||(oe=IA(Et,It,c,h));else Ae(It,c)?oe=St(Et,It,c,Lt(It,A),p):te||(oe=_o(Et,It,c));else At===$-1?Ae(Et,h)?oe=St(Et,It,Lt(Et,A),h,p):te||(oe=Oo(Et,It,h,p)):te||(oe=FA(Et,It,p));oe?(H.push(...oe.points),p=oe.direction):p=fs(Et,It),At<$-1&&H.push(It)}return H.map(sn)}const Ms={N:"S",S:"N",W:"E",E:"W"},Mo={N:-Math.PI/2,S:Math.PI/2,E:0,W:Math.PI};function fs(r,t){const[e,n]=r,[i,a]=t;return e===i?n>a?"N":"S":n===a?e>i?"W":"E":null}function ko(r,t){return t==="N"||t==="S"?Pt(r):et(r)}function FA(r,t,e){const n=[r[0],t[1]],i=[t[0],r[1]],a=fs(r,n),A=fs(r,i),c=e?Ms[e]:null,h=a===e||a!==c&&A!==e?n:i;return{points:[h],direction:fs(h,t)}}function _o(r,t,e){if(fn(r,e)){const n=q(r,t,e);return{points:[n],direction:fs(n,t)}}else{const n=Zn(r,e),a=["left","right"].includes(Hn(r,e))?[t[0],n[1]]:[n[0],t[1]];return{points:[a],direction:fs(a,t)}}}function Oo(r,t,e,n){const i=fn(t,e)?t:Zn(t,e),a=[[i[0],r[1]],[r[0],i[1]]],A=a.filter(h=>yn(h,e)&&!Xe(h,e,!0)),c=A.filter(h=>fs(h,r)!==n);if(c.length>0){const h=c.find(v=>fs(r,v)===n)||c[0];return{points:[h],direction:fs(h,t)}}else{const h=(0,Ro.Z)(a,A)[0],v=Pn(t,h,ko(e,n)/2);return{points:[q(v,r,e),v],direction:fs(v,t)}}}function IA(r,t,e,n){let i=_o(r,t,e);const a=Mn(i.points[0]);if(Ae(a,n)){i=_o(t,r,n);const A=Mn(i.points[0]);if(Ae(A,e)){const c=Pn(r,a,ko(e,fs(r,a))/2),h=Pn(t,A,ko(n,fs(t,A))/2),v=[(c[0]+h[0])/2,(c[1]+h[1])/2],p=_o(r,v,e),H=Oo(v,t,n,p.direction);i.points=[p.points[0],H.points[0]],i.direction=H.direction}}return i}function St(r,t,e,n,i){const A=Ee([e,n]),c=mt(t,A.center)>mt(r,A.center),[h,v]=c?[t,r]:[r,t],p=Pt(A)+et(A);let H;if(i){const At=[h[0]+p*Math.cos(Mo[i]),h[1]+p*Math.sin(Mo[i])];H=Pn(Zn(At,A),At,.01)}else H=Pn(Zn(h,A),h,-.01);let j=q(H,v,A),$=[Wr(H,2),Wr(j,2)];if((0,m.Z)(Wr(H),Wr(j))){const At=zt(Nt(H,h),[1,0,0])+Math.PI/2;j=[v[0]+p*Math.cos(At),v[1]+p*Math.sin(At),0],j=Wr(Pn(Zn(j,A),v,-.01),2);const Et=q(H,j,A);$=[H,Et,j]}return{points:c?$.reverse():$,direction:fs(c?H:j,t)}}function q(r,t,e){let n=[r[0],t[1]];return Ae(n,e)&&(n=[t[0],r[1]]),n}function it(r,t,e,n,i){let h=typeof t=="number"?t:.5;t==="start"&&(h=0),t==="end"&&(h=.99);const v=Cr(r.getPoint(h)),p=Cr(r.getPoint(h+.01));let H=t==="start"?"left":t==="end"?"right":"center";if(An(v,p)||!e){const[te,oe]=Ht(r,h,n,i);return{transform:[["translate",te,oe]],textAlign:H}}let j=Math.atan2(p[1]-v[1],p[0]-v[0]);p[0]{const p=A[v-1]||i,H=A[v+1]||a;if(!$t(p,h,H)&&t){const[j,$]=Dn(p,h,H,t);c.push(["L",j[0],j[1]],["Q",h[0],h[1],$[0],$[1]],["L",$[0],$[1]])}else c.push(["L",h[0],h[1]])}),c.push(["L",a[0],a[1]]),e&&c.push(["Z"]),c}function Dn(r,t,e,n){const i=ct(r,t),a=ct(e,t),A=Math.min(n,Math.min(i,a)/2),c=[t[0]-A/i*(t[0]-r[0]),t[1]-A/i*(t[1]-r[1])],h=[t[0]-A/a*(t[0]-e[0]),t[1]-A/a*(t[1]-e[1])];return[c,h]}const nr=r=>{const t=Math.PI/2,e=Pt(r)/2,n=et(r)/2,i=Math.atan2(e,n)/2,a=Math.atan2(n,e)/2;return{top:[-t-a,-t+a],"top-right":[-t+a,-i],"right-top":[-t+a,-i],right:[-i,i],"bottom-right":[i,t-a],"right-bottom":[i,t-a],bottom:[t-a,t+a],"bottom-left":[t+a,Math.PI-i],"left-bottom":[t+a,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-t-a],"left-top":[Math.PI+i,-t-a]}};function Jn(r,t,e,n,i){const a=Lt(r),A=r.getCenter();let c=n&&Oi(n),h=i&&Oi(i);if(!c||!h){const v=nr(a),p=v[t][0],H=v[t][1],[j,$]=Xt(a),At=Math.max(j,$),Et=z(A,[At*Math.cos(p),At*Math.sin(p),0]),It=z(A,[At*Math.cos(H),At*Math.sin(H),0]);c=ki(r,Et),h=ki(r,It),e||([c,h]=[h,c])}return[c,h]}function fr(r,t,e,n,i,a){const A=r.getPorts()[i||a],c=r.getPorts()[a||i];let[h,v]=Jn(r,t,e,A,c);const p=yr(r,h,v,n);return A&&(h=ma(A,p[0])),c&&(v=ma(c,p.at(-1))),On(h,v,p)}function yr(r,t,e,n){const i=r.getCenter();if((0,m.Z)(t,e)){const a=Nt(t,i),A=[n*Math.sign(a[0])||n/2,n*Math.sign(a[1])||-n/2,0];return[z(t,A),z(e,Qt(A,[1,-1,1]))]}return[Pn(i,t,mt(i,t)+n),Pn(i,e,mt(i,e)+n)]}function vr(r,t,e,n,i,a,A){const c=xi(r),h=c[a||A],v=c[A||a];let[p,H]=Jn(r,e,n,h,v);const j=Sr(r,p,H,i);return h&&(p=ma(h,j[0])),v&&(H=ma(v,j.at(-1))),Qn([p,...j,H],t)}function Sr(r,t,e,n){const i=[],a=Lt(r);if((0,m.Z)(t,e))switch(Hn(t,a)){case"left":i.push([t[0]-n,t[1]]),i.push([t[0]-n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"right":i.push([t[0]+n,t[1]]),i.push([t[0]+n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"top":i.push([t[0],t[1]-n]),i.push([t[0]+n,t[1]-n]),i.push([t[0]+n,t[1]]);break;case"bottom":i.push([t[0],t[1]+n]),i.push([t[0]+n,t[1]+n]),i.push([t[0]+n,t[1]]);break}else{const A=Hn(t,a),c=Hn(e,a);if(A===c){const h=A;let v,p;switch(h){case"left":v=Math.min(t[0],e[0])-n,i.push([v,t[1]]),i.push([v,e[1]]);break;case"right":v=Math.max(t[0],e[0])+n,i.push([v,t[1]]),i.push([v,e[1]]);break;case"top":p=Math.min(t[1],e[1])-n,i.push([t[0],p]),i.push([e[0],p]);break;case"bottom":p=Math.max(t[1],e[1])+n,i.push([t[0],p]),i.push([e[0],p]);break}}else{const h=(j,$)=>({left:[$[0]-n,$[1]],right:[$[0]+n,$[1]],top:[$[0],$[1]-n],bottom:[$[0],$[1]+n]})[j],v=h(A,t),p=h(c,e),H=q(v,p,a);i.push(v,H,p)}}return i}function Dr(r,t){const e=new Set,n=new Set,i=new Set;return r.forEach(a=>{t(a).forEach(c=>{e.add(c),r.includes(c.source)&&r.includes(c.target)?n.add(c):i.add(c)})}),{edges:Array.from(e),internal:Array.from(n),external:Array.from(i)}}function Nr(r,t){const e=[];let n=r;for(;n;){e.push(n);const i=t(jt(n));if(i)n=i;else break}if(e.some(i=>{var a;return(a=i.style)===null||a===void 0?void 0:a.collapsed})){const i=e.reverse().findIndex(Ca);return e[i]||e.at(-1)}return r}function Gr(r,t){return t||(r<4?10:r===4?12:r*2.5)}const Yr=(r,t)=>{const e=Math.max(r,t)/2;return[["M",-r/2,0],["A",e,e,0,1,0,2*e-r/2,0],["A",e,e,0,1,0,-r/2,0],["Z"]]},ti=(r,t)=>[["M",-r/2,0],["L",r/2,-t/2],["L",r/2,t/2],["Z"]],Bi=(r,t)=>[["M",-r/2,0],["L",0,-t/2],["L",r/2,0],["L",0,t/2],["Z"]],pi=(r,t)=>[["M",-r/2,0],["L",r/2,-t/2],["L",4*r/5-r/2,0],["L",r/2,t/2],["Z"]],fi=(r,t)=>[["M",-r/2,-t/2],["L",r/2,-t/2],["L",r/2,t/2],["L",-r/2,t/2],["Z"]],Mi=(r,t)=>{const e=r/2,n=r/7,i=r-n;return[["M",-e,0],["L",0,-t/2],["L",0,t/2],["Z"],["M",i-e,-t/2],["L",i+n-e,-t/2],["L",i+n-e,t/2],["L",i-e,t/2],["Z"]]},bi=(r,t)=>[["M",r/2,-t/2],["L",-r/2,0],["L",r/2,0],["L",-r/2,0],["L",r/2,t/2]];var V=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{v in i&&(h[v]=i[v])}),h}getLoopPath(t){const{sourcePort:e,targetPort:n}=t,i=this.sourceNode,a=Lt(i),A=Math.max(et(a),Pt(a)),{placement:c,clockwise:h,dist:v=A}=Gi(this.getGraphicStyle(t),"loop");return fr(i,c,h,v,e,n)}getEndpoints(t,e=!0,n=[]){const{sourcePort:i,targetPort:a}=t,{sourceNode:A,targetNode:c}=this,[h,v]=va(A,c,i,a);if(!e){const $=h?Oi(h):A.getCenter(),At=v?Oi(v):c.getCenter();return[$,At]}const p=typeof n=="function"?n():n,H=Qi(h||A,p[0]||v||c),j=Qi(v||c,p[p.length-1]||h||A);return[H,j]}getHaloStyle(t){if(t.halo===!1)return!1;const e=this.getKeyStyle(t),n=Gi(this.getGraphicStyle(t),"halo");return Object.assign(Object.assign({},e),n)}getLabelStyle(t){if(t.label===!1||!t.labelText)return!1;const e=Gi(this.getGraphicStyle(t),"label"),{placement:n,offsetX:i,offsetY:a,autoRotate:A,maxWidth:c}=e,h=V(e,["placement","offsetX","offsetY","autoRotate","maxWidth"]),v=it(this.shapeMap.key,n,A,i,a),p=this.shapeMap.key.getLocalBounds(),H=Wi([p.min,p.max],c);return Object.assign({wordWrapWidth:H},v,h)}getBadgeStyle(t){if(t.badge===!1||!t.badgeText)return!1;const e=Gi(t,"badge"),{offsetX:n,offsetY:i,placement:a}=e,A=V(e,["offsetX","offsetY","placement"]);return Object.assign(A,bt(this.shapeMap,a,t.labelPlacement,n,i))}drawArrow(t,e){var n;const i=e==="start",A=t[e==="start"?"startArrow":"endArrow"],c=this.shapeMap.key;if(A){const h=this.getArrowStyle(t,i),[v,p,H]=i?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],j=c.parsedStyle[v];if(j)j.attr(h);else{const $=h.src?R.Ee:R.y$,At=new $({style:h});c.style[v]=At}c.style[p]=t[H]||h.width/2+ +h.lineWidth}else{const h=i?"markerStart":"markerEnd";(n=c.style[h])===null||n===void 0||n.destroy(),c.style[h]=null}}getArrowStyle(t,e){const n=this.getShape("key").attributes,i=e?"startArrow":"endArrow",a=Gi(this.getGraphicStyle(t),i),{size:A,type:c}=a,h=V(a,["size","type"]),[v,p]=is(Gr(n.lineWidth,A)),j=((0,Me.Z)(c)?c:l[c]||ti)(v,p);return Object.assign((0,oa.Z)(n,["stroke","strokeOpacity","fillOpacity"]),{width:v,height:p},Object.assign({},j&&{d:j,fill:c==="simple"?"":n.stroke}),h)}drawLabelShape(t,e){const n=this.getLabelStyle(t);this.upsert("label",Ia,n,e)}drawHaloShape(t,e){const n=this.getHaloStyle(t);this.upsert("halo",R.y$,n,e)}drawBadgeShape(t,e){const n=this.getBadgeStyle(t);this.upsert("badge",ao,n,e)}drawSourceArrow(t){this.drawArrow(t,"start")}drawTargetArrow(t){this.drawArrow(t,"end")}drawKeyShape(t,e){const n=this.getKeyStyle(t);return this.upsert("key",R.y$,n,e)}render(t=this.parsedAttributes,e=this){this.drawKeyShape(t,e),this.getShape("key")&&(this.drawSourceArrow(t),this.drawTargetArrow(t),this.drawLabelShape(t,e),this.drawHaloShape(t,e),this.drawBadgeShape(t,e))}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(t,e){const n=super.animate(t,e);return n&&new Proxy(n,{set:(i,a,A)=>(a==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,a,A))})}}K.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 k extends K{constructor(t){super(Ha({style:k.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t),{controlPoints:i,curvePosition:a,curveOffset:A}=t,c=this.getControlPoints(e,n,hn(a),ce(A),i);return On(e,n,c)}getControlPoints(t,e,n,i,a){return(a==null?void 0:a.length)===2?a:[se(t,e,n[0],i[0]),se(t,e,n[1],i[1])]}}k.defaultStyleProps={curvePosition:.5,curveOffset:20};class _ extends k{constructor(t){super(Ha({style:_.defaultStyleProps},t))}getControlPoints(t,e,n,i){const a=e[0]-t[0];return[[t[0]+a*n[0]+i[0],t[1]],[e[0]-a*n[1]+i[1],e[1]]]}}_.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Y extends k{constructor(t){super(Ha({style:Y.defaultStyleProps},t))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(t){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(t);const e=He(this.ref),n=this.sourceNode.getIntersectPoint(e,!0),i=this.targetNode.getIntersectPoint(e);return[n,i]}toRadialCoordinate(t){const e=He(this.ref),n=mt(t,e),i=Nn(Nt(t,e));return[n,i]}getControlPoints(t,e,n,i){const[a,A]=this.toRadialCoordinate(t),[c]=this.toRadialCoordinate(e),h=c-a;return[[t[0]+(h*n[0]+i[0])*Math.cos(A),t[1]+(h*n[0]+i[0])*Math.sin(A)],[e[0]-(h*n[1]-i[0])*Math.cos(A),e[1]-(h*n[1]-i[0])*Math.sin(A)]]}}Y.defaultStyleProps={curvePosition:.5,curveOffset:20};class at extends k{constructor(t){super(Ha({style:at.defaultStyleProps},t))}getControlPoints(t,e,n,i){const a=e[1]-t[1];return[[t[0],t[1]+a*n[0]+i[0]],[e[0],e[1]-a*n[1]+i[1]]]}}at.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class ft extends K{constructor(t){super(Ha({style:ft.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t);return[["M",e[0],e[1]],["L",n[0],n[1]]]}}ft.defaultStyleProps={};const ut={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:ct},wt=r=>`${Math.round(r[0])}|||${Math.round(r[1])}`;function Zt(r,t){const e=n=>Math.round(n/t);return(0,qe.Z)(r)?e(r):r.map(e)}function Ce(r,t){const e=Math.abs(r-t);return e>Math.PI?2*Math.PI-e:e}function Te(r,t){const e=t[0]-r[0],n=t[1]-r[1];return!e&&!n?0:Math.atan2(n,e)}function je(r,t,e,n){const i=Te(r,t),a=e[wt(r)],c=Te(a||n,r);return Ce(c,i)}const on=(r,t)=>{const{offset:e,gridSize:n}=t,i={};return r.forEach(a=>{if(!a||a.destroyed||!a.isVisible())return;const A=Vt(a.getRenderBounds(),e);for(let c=Zt(A.min[0],n);c<=Zt(A.max[0],n);c+=1)for(let h=Zt(A.min[1],n);h<=Zt(A.max[1],n);h+=1)i[`${c}|||${h}`]=!0}),i};function Bn(r,t,e){return Math.min(...t.map(n=>e(r,n)))}function Vn(r,t,e){let n=r[0],i=e(r[0],t);for(let a=0;a{if(!t)return[r];const{directionMap:i,offset:a}=n,A=Vt(t.getRenderBounds(),a),c=Object.keys(i).reduce((h,v)=>{if(e.includes(v)){const p=i[v],[H,j]=Xt(A),$=[r[0]+p.stepX*H,r[1]+p.stepY*j],At=ur(A);for(let Et=0;EtZt(h,n.gridSize))},sr=(r,t,e,n,i,a,A)=>{const c=[];let h=[a[0]===n[0]?n[0]:r[0]*A,a[1]===n[1]?n[1]:r[1]*A];c.unshift(h);let v=r,p=t[wt(v)];for(;p;){const $=p,At=v;je($,At,t,e)&&(h=[$[0]===At[0]?h[0]:$[0]*A,$[1]===At[1]?h[1]:$[1]*A],c.unshift(h)),p=t[wt($)],v=$}const H=i.map($=>[$[0]*A,$[1]*A]),j=Vn(H,h,ct);return c.unshift(j),c};function Ar(r,t,e,n){const i=sn(r.getCenter()),a=sn(t.getCenter()),A=Object.assign(ut,n),{gridSize:c}=A,h=A.enableObstacleAvoidance?e:[r,t],v=on(h,A),p=Zt(i,c),H=Zt(a,c),j=Rn(i,r,A.startDirections,A),$=Rn(a,t,A.endDirections,A);j.forEach(Cn=>delete v[wt(Cn)]),$.forEach(Cn=>delete v[wt(Cn)]);const At={},Et={},It={},te={},oe={},Se=new dr;for(let Cn=0;Cnwt(Cn));let kn=A.maximumLoops,Fn,Xn=1/0;for(const[Cn,mr]of Object.entries(At))oe[Cn]<=Xn&&(Xn=oe[Cn],Fn=mr);for(;Object.keys(At).length>0&&kn>0;){const Cn=Se.minId(!1);if(Cn)Fn=At[Cn];else break;const mr=wt(Fn);if(en.includes(mr))return sr(Fn,It,p,a,j,H,c);delete At[mr],Se.remove(mr),Et[mr]=!0;for(const Hr of Object.values(A.directionMap)){const $r=z(Fn,[Hr.stepX,Hr.stepY]),Li=wt($r);if(Et[Li])continue;const Ei=je(Fn,$r,It,p);if(Ei>A.maxAllowedDirectionChange||v[Li])continue;At[Li]||(At[Li]=$r);const Si=A.penalties[Ei],ui=A.distFunc(Fn,$r)+(isNaN(Si)?c:Si),Ui=te[mr]+ui,Qa=te[Li];Qa&&Ui>=Qa||(It[Li]=Fn,te[Li]=Ui,oe[Li]=Ui+Bn($r,$,A.distFunc),Se.add({id:Li,value:oe[Li]}))}kn-=1}return[]}class dr{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(t,e){let n=0,i=e-1;for(;i-n>1;){const a=Math.floor((n+i)/2);if(this.arr[a].value>t.value)i=a;else if(this.arr[a].value=0;e--)this.map[this.arr[e].id]?t=this.arr[e].id:this.arr.splice(e,1);return t}_findFirstId(){for(;this.arr.length;){const t=this.arr.shift();if(this.map[t.id])return t.id}}minId(t){return t?this._clearAndGetMinId():this._findFirstId()}}class Er extends K{constructor(t){super(Ha({style:Er.defaultStyleProps},t))}getControlPoints(t){const{router:e}=t,{sourceNode:n,targetNode:i}=this,[a,A]=this.getEndpoints(t,!1);let c=[];if(!e)c=t.controlPoints;else if(e.type==="shortest-path"){const h=this.context.element.getNodes();c=Ar(n,i,h,e),c.length||(c=xa(a,A,n,i,t.controlPoints,{padding:e.offset}))}else e.type==="orth"&&(c=xa(a,A,n,i,t.controlPoints,e));return c}getPoints(t){const e=this.getControlPoints(t),[n,i]=this.getEndpoints(t,!0,e);return[n,...e,i]}getKeyPath(t){const e=this.getPoints(t);return Qn(e,t.radius)}getLoopPath(t){const{sourcePort:e,targetPort:n,radius:i}=t,a=this.sourceNode,A=Lt(a),c=Math.max(et(A),Pt(A))/4,{placement:h,clockwise:v,dist:p=c}=Gi(this.getGraphicStyle(t),"loop");return vr(a,i,h,v,p,e,n)}}Er.defaultStyleProps={radius:0,controlPoints:[],router:!1};class Ur extends K{constructor(t){super(Ha({style:Ur.defaultStyleProps},t))}getKeyPath(t){const{curvePosition:e,curveOffset:n}=t,[i,a]=this.getEndpoints(t),A=t.controlPoint||se(i,a,e,n);return ln(i,a,A)}}Ur.defaultStyleProps={curvePosition:.5,curveOffset:30};var Qr=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{var a;const{key:A,placement:c}=n;vi(n)&&(t[a=A||i]||(t[a]=En(r.getShape("key").getBounds(),c)))}),t}function vi(r){const{r:t}=r;return!t||Number(t)===0}function Oi(r){return ae(r)?r:r.getPosition()}function va(r,t,e,n){const i=li(r,t,e,n),a=li(t,r,n,e);return[i,a]}function li(r,t,e,n){const i=xi(r);if(e)return i[e];const a=Object.values(i);if(a.length===0)return;const A=a.map(v=>Oi(v)),c=Yi(t,n),[h]=Or(A,c);return a.find(v=>Oi(v)===h)}function Yi(r,t){const e=xi(r);if(t)return[Oi(e[t])];const n=Object.values(e);return n.length>0?n.map(i=>Oi(i)):[r.getCenter()]}function Qi(r,t){return yi(r)||zr(r)?ki(r,t):ma(r,t)}function ma(r,t){if(!r||!t)return[0,0,0];if(ae(r))return r;if(r.attributes.linkToCenter)return r.getPosition();const e=ae(t)?t:zr(t)?t.getCenter():t.getPosition();return ar(e,r.getBounds())}function ki(r,t){if(!r||!t)return[0,0,0];const e=ae(t)?t:zr(t)?t.getCenter():t.getPosition();return r.getIntersectPoint(e)||r.getCenter()}function _i(r,t="bottom",e=0,n=0,i=!1){const a=t.split("-"),[A,c]=En(r,t),[h,v]=i?["bottom","top"]:["top","bottom"],p=a.includes("top")?v:a.includes("bottom")?h:"middle",H=a.includes("left")?"right":a.includes("right")?"left":"center";return{transform:[["translate",A+e,c+n]],textBaseline:p,textAlign:H}}function Ma(r,t){return[[0,-r],[t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)],[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[0,t],[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],[-t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],[-t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)]]}function Ls(r,t){const e={};return e.top=[0,-r],e.left=[-r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],e["left-bottom"]=[-r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],e.bottom=[0,t],e["right-bottom"]=[r*Math.cos(3*Math.PI/10),r*Math.sin(3*Math.PI/10)],e.right=e.default=[r*Math.cos(Math.PI/10),-r*Math.sin(Math.PI/10)],e}function Ya(r,t,e){const n=t/2,i=r/2,a={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return a[e]||a.up}function zo(r,t,e){const n=t/2,i=r/2,a={};return e==="down"?(a.bottom=a.default=[0,n],a.right=[i,-n],a.left=[-i,-n]):e==="left"?(a.top=[i,-n],a.bottom=[i,n],a.left=a.default=[-i,0]):e==="right"?(a.top=[-i,-n],a.bottom=[-i,n],a.right=a.default=[i,0]):(a.left=[-i,n],a.top=a.default=[0,-n],a.right=[i,n]),a}function tA(r,t){return[[r/2,-t/2],[r/2,t/2],[-r/2,t/2],[-r/2,-t/2]]}function Bs(r,t){return[[0,-t/2],[r/2,0],[0,t/2],[-r/2,0]]}function ks(r){return(0,qa.Z)(r,["style","visibility"])!=="hidden"}function go(r,t){const{zIndex:e,transform:n,transformOrigin:i,visibility:a,cursor:A,clipPath:c,component:h}=t,v=Qr(t,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(r.attributes,v),n&&r.setAttribute("transform",n),(0,qe.Z)(e)&&r.setAttribute("zIndex",e),i&&r.setAttribute("transformOrigin",i),a&&r.setAttribute("visibility",a),A&&r.setAttribute("cursor",A),c&&r.setAttribute("clipPath",c),h&&r.setAttribute("component",h)}function vo(r,t){"update"in r?r.update(t):r.attr(t)}function ts(r){return[[0,r],[r*Math.sqrt(3)/2,r/2],[r*Math.sqrt(3)/2,-r/2],[0,-r],[-r*Math.sqrt(3)/2,-r/2],[-r*Math.sqrt(3)/2,r/2]]}function _s(r){(0,no.Z)(r,"__to_be_destroyed__",!0)}function Hs(r){return(0,qa.Z)(r,"__to_be_destroyed__",!1)}var rl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class LA extends x{constructor(t,e){super(t,Object.assign({},LA.defaultOptions,e)),this.onCollapseExpand=n=>rl(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!ji(i))return;const a=i.id,{model:A,graph:c}=this.context,h=A.getElementDataById(a);if(!h)return!1;const{onCollapse:v,onExpand:p,animation:H,align:j}=this.options;Ca(h)?(yield c.expandElement(a,{animation:H,align:j}),p==null||p(a)):(yield c.collapseElement(a,{animation:H,align:j}),v==null||v(a))}),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`node:${e}`,this.onCollapseExpand),t.on(`combo:${e}`,this.onCollapseExpand)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`node:${e}`,this.onCollapseExpand),t.off(`combo:${e}`,this.onCollapseExpand)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}LA.defaultOptions={enable:!0,animation:!0,trigger:W.DBLCLICK,align:!0};var Vl=f(63178),fA=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);iAt.length!==Et.length?!1:At.every((It,te)=>It===Et[te]),$=(At,Et)=>{const It=Object.keys(At),te=Object.keys(Et);return It.length!==te.length?!1:It.every(oe=>At[oe]===Et[oe])};return!(!$(A,H)||!j(a,p)||!j(e,c)||!$(n,h)||!$(i,v))}const pl="__internal_override__";function Za(r){return r[pl]!==!1}var lo=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};const nA="g6-create-edge-assist-edge-id",ya="g6-create-edge-assist-node-id";class gs extends x{constructor(t,e){super(t,Object.assign({},gs.defaultOptions,e)),this.drop=n=>lo(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>lo(this,void 0,void 0,function*(){var i,a,A;if(!this.validate(n))return;const{graph:c,canvas:h,batch:v,element:p}=this.context,{style:H}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}v.startBatch(),h.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const j=c.getElementData(this.source);c.addNodeData([{id:ya,type:"circle",[pl]:!1,style:{size:1,visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=j.style)===null||i===void 0?void 0:i.x,y:(a=j.style)===null||a===void 0?void 0:a.y}}]),c.addEdgeData([{id:nA,source:this.source,target:ya,style:Object.assign({pointerEvents:"none"},H)}]),yield(A=p.draw({animation:!1}))===null||A===void 0?void 0:A.finished}),this.updateAssistEdge=n=>lo(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:a,element:A}=this.context;a.translateNodeTo(ya,[n.client.x,n.client.y]),yield(i=A.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,a;const{graph:A}=this.context,{style:c,onFinish:h,onCreate:v}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const H=(a=this.getSelectedNodeIDs([n.target.id]))===null||a===void 0?void 0:a[0],j=`${this.source}-${H}-${(0,Vl.Z)()}`,$=v({id:j,source:this.source,target:H,style:c});$&&(A.addEdgeData([$]),h($))},this.cancelEdge=()=>lo(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:a,batch:A}=this.context;i.removeNodeData([ya]),this.source=void 0,yield(n=a.draw({animation:!1}))===null||n===void 0?void 0:n.finished,A.endBatch()}),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;this.unbindEvents(),e==="click"?(t.on(ht.CLICK,this.handleCreateEdge),t.on(tt.CLICK,this.handleCreateEdge),t.on(Z.CLICK,this.cancelEdge),t.on(st.CLICK,this.cancelEdge)):(t.on(ht.DRAG_START,this.handleCreateEdge),t.on(tt.DRAG_START,this.handleCreateEdge),t.on(W.POINTER_UP,this.drop)),t.on(W.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;t.off(ht.CLICK,this.handleCreateEdge),t.off(tt.CLICK,this.handleCreateEdge),t.off(Z.CLICK,this.cancelEdge),t.off(st.CLICK,this.cancelEdge),t.off(ht.DRAG_START,this.handleCreateEdge),t.off(tt.DRAG_START,this.handleCreateEdge),t.off(W.POINTER_UP,this.drop),t.off(W.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}gs.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:r=>r,onFinish:()=>{}};var Ga=f(78431),Js=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class co extends x{constructor(t,e){super(t,Object.assign({},co.defaultOptions,e)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{var i,a,A,c;if(!this.isDragging||er.isPinching)return;const h=(a=(i=n.movement)===null||i===void 0?void 0:i.x)!==null&&a!==void 0?a:n.dx,v=(c=(A=n.movement)===null||A===void 0?void 0:A.y)!==null&&c!==void 0?c:n.dy;h|v&&this.translate([h,v],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=(0,Ga.Z)(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new Xi(t.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if((0,S.Z)(t)){const{up:e=[],down:n=[],left:i=[],right:a=[]}=t;this.shortcut.bind(e,A=>this.onTranslate([0,1],A)),this.shortcut.bind(n,A=>this.onTranslate([0,-1],A)),this.shortcut.bind(i,A=>this.onTranslate([1,0],A)),this.shortcut.bind(a,A=>this.onTranslate([-1,0],A))}else{const{graph:e}=this.context;e.on(W.DRAG_START,this.onDragStart),e.on(W.DRAG,this.onDrag),e.on(W.DRAG_END,this.onDragEnd)}}onTranslate(t,e){return Js(this,void 0,void 0,function*(){if(!this.validate(e))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(Qt(t,i),this.options.animation),this.invokeOnFinish()})}translate(t,e){return Js(this,void 0,void 0,function*(){t=this.clampByDirection(t),t=this.clampByRange(t),t=this.clampByRotation(t),yield this.context.graph.translateBy(t,e)})}clampByRotation([t,e]){const n=this.context.graph.getRotation();return ir([t,e],n)}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[a,A]=i.getSize(),[c,h,v,p]=Ge(this.options.range),H=[A*c,a*h,A*v,a*p],j=Vt(_t(n.getCanvasCenter()),H),$=Nt(n.getViewportCenter(),[t,e,0]);if(!Ae($,j)){const{min:[At,Et],max:[It,te]}=j;($[0]0||$[0]>It&&t<0)&&(t=0),($[1]0||$[1]>te&&e<0)&&(e=0)}return[t,e]}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return typeof e=="function"?e(t):!!e}unbindEvents(){this.shortcut.unbindAll();const{graph:t}=this.context;t.off(W.DRAG_START,this.onDragStart),t.off(W.DRAG,this.onDrag),t.off(W.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}co.defaultOptions={enable:r=>"targetType"in r?r.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var PA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Wo extends x{constructor(t,e){super(t,Object.assign({},Wo.defaultOptions,e)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>PA(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:a,element:A}=this.context,c=n.target.id;this.target.forEach(h=>{const v=a.getParentData(h,Dt);v&&jt(v)===c&&a.refreshComboData(c),a.setParent(h,c,Dt)}),yield(i=A==null?void 0:A.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:a}=this.context,{cursor:A}=this.options;i===W.POINTER_ENTER?a.setCursor((A==null?void 0:A.grab)||"grab"):a.setCursor((A==null?void 0:A.default)||"default")},this.shortcut=new Xi(t.graph),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(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.on(`${i}:${W.DRAG_START}`,this.onDragStart),t.on(`${i}:${W.DRAG}`,this.onDrag),t.on(`${i}:${W.DRAG_END}`,this.onDragEnd),t.on(`${i}:${W.POINTER_ENTER}`,this.setCursor),t.on(`${i}:${W.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(t.on(tt.DROP,this.onDrop),t.on(Z.DROP,this.onDrop))}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}getDelta(t){const e=this.context.graph.getZoom();return qt([t.dx,t.dy],e)}onDragStart(t){var e;if(this.enable=this.validate(t),!this.enable)return;const{batch:n,canvas:i,graph:a}=this.context;i.setCursor(((e=this.options.cursor)===null||e===void 0?void 0:e.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch();const A=t.target.id;a.getElementState(A).includes(this.options.state)?this.target=this.getSelectedNodeIDs([A]):this.target=[A],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.options.shadow?this.moveShadow(e):this.moveElement(this.target,e)}onDragEnd(){var t,e,n;if(!this.enable)return;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:A=0,y:c=0}=this.shadow.attributes,[h,v]=Nt([+A,+c],this.shadowOrigin);this.moveElement(this.target,[h,v])}this.showEdges(),(e=(t=this.options).onFinish)===null||e===void 0||e.call(t,this.target);const{batch:i,canvas:a}=this.context;i.endBatch(),a.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}isKeydown(){const{trigger:t}=this.options;return t!=null&&t.length?this.shortcut.match(t):!0}validate(t){if(this.destroyed||Hs(t.target)||this.context.graph.isCollapsingExpanding||!this.isKeydown())return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}clampByRotation([t,e]){const n=this.context.graph.getRotation();return ir([t,e],n)}moveElement(t,e){return PA(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:a}=this.options;a==="move"&&t.forEach(A=>i.refreshComboData(A)),n.translateElementBy(Object.fromEntries(t.map(A=>[A,this.clampByRotation(e)])),!1)})}moveShadow(t){if(!this.shadow)return;const{x:e=0,y:n=0}=this.shadow.attributes,[i,a]=t;this.shadow.attr({x:+e+i,y:+n+a})}createShadow(t){const e=Gi(this.options,"shadow"),n=Ee(t.map(v=>this.context.element.getElement(v).getBounds())),[i,a]=n.min;this.shadowOrigin=[i,a];const[A,c]=Xt(n),h={width:A,height:c,x:i,y:a};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},e),h),{visibility:"visible"})):(this.shadow=new R.UL({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},e),h),{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:t,shadow:e}=this.options;if(t==="none"||e)return;const{graph:n}=this.context;t==="all"?this.hiddenEdges=n.getEdgeData().map(jt):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,t).map(jt)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.off(`${i}:${W.DRAG_START}`,this.onDragStart),t.off(`${i}:${W.DRAG}`,this.onDrag),t.off(`${i}:${W.DRAG_END}`,this.onDragEnd),t.off(`${i}:${W.POINTER_ENTER}`,this.setCursor),t.off(`${i}:${W.POINTER_LEAVE}`,this.setCursor)}),t.off(`combo:${W.DROP}`,this.onDrop),t.off(`canvas:${W.DROP}`,this.onDrop)}destroy(){var t;this.unbindEvents(),(t=this.shadow)===null||t===void 0||t.destroy(),super.destroy()}}Wo.defaultOptions={animation:!0,enable:r=>["node","combo"].includes(r.targetType),trigger:[],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 Xa=f(67469);class rA{constructor(t,e){this.context=t,this.options=e||{}}}var ml=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})},il=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const a=i.data._isCombo?n.combos:n.nodes,{x:A,y:c,z:h=0}=i.data;a==null||a.push({id:i.id,style:{x:A,y:c,z:h}})}),e.forEach(i=>{const{id:a,source:A,target:c,data:{points:h=[],controlPoints:v=h.slice(1,h.length-1)}}=i;n.edges.push({id:a,source:A,target:c,style:Object.assign({},v!=null&&v.length?{controlPoints:v.map(Cr)}:{})})}),n}function Bu(r,t){class e extends rA{constructor(i,a){if(super(i,a),this.instance=new r({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const A=this.instance;this.stop=A.stop.bind(A),this.tick=c=>{const h=A.tick(c);return uo(h)}}}execute(i,a){return ml(this,void 0,void 0,function*(){return uo(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions((0,y.Z)({},this.options,a))))})}transformOptions(i){if(!("onTick"in i))return i;const a=i.onTick;return i.onTick=A=>a(uo(A)),i}graphData2LayoutModel(i){const{nodes:a=[],edges:A=[],combos:c=[]}=i,h=a.map($=>{const At=jt($),{data:Et,style:It,combo:te}=$,oe=il($,["data","style","combo"]),Se={id:At,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Et),{data:Et}),te?{parentId:te}:{}),{style:It}),oe)};return It!=null&&It.x&&Object.assign(Se.data,{x:It.x}),It!=null&&It.y&&Object.assign(Se.data,{y:It.y}),It!=null&&It.z&&Object.assign(Se.data,{z:It.z}),Se}),v=new Map(h.map($=>[$.id,$])),p=A.filter($=>{const{source:At,target:Et}=$;return v.has(At)&&v.has(Et)}).map($=>{const{source:At,target:Et,data:It,style:te}=$;return{id:jt($),source:At,target:Et,data:Object.assign({},It),style:Object.assign({},te)}}),H=c.map($=>({id:jt($),data:Object.assign({_isCombo:!0},$.data),style:Object.assign({},$.style)})),j=new Xa.k({nodes:[...h,...H],edges:p});return t.model.model.hasTreeStructure(Dt)&&(j.attachTreeStructure(Dt),h.forEach($=>{const At=t.model.model.getParent($.id,Dt);At&&j.hasNode(At.id)&&j.setParent($.id,At.id,Dt)})),j}}return e}function yl(r,t,...e){if(t in r)return r[t](...e);if("instance"in r){const n=r.instance;if(t in n)return n[t](...e)}return null}function Zs(r,t){if(t in r)return r[t];if("instance"in r){const e=r.instance;if(t in e)return e[t]}return null}var wl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class bu extends Wo{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(t=>["d3-force","d3-force-3d"].includes(t==null?void 0:t.id))}validate(t){return this.context.layout?this.forceLayoutInstance?super.validate(t):(we.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(t,e){return wl(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(t).forEach((i,a)=>{const{x:A=0,y:c=0}=i.style||{};n&&yl(n,"setFixedPosition",t[a],[...z([+A,+c],this.clampByRotation(e))])})})}onDragStart(t){if(this.enable=this.validate(t),!this.enable)return;this.target=this.getSelectedNodeIDs([t.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const e=this.forceLayoutInstance;e&&Zs(e,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:a=0}=n.style||{};e&&yl(e,"setFixedPosition",jt(n),[+i,+a])})}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.moveElement(this.target,e)}onDragEnd(){const t=this.forceLayoutInstance;t&&Zs(t,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(e=>{t&&yl(t,"setFixedPosition",jt(e),[null,null,null])})}}var DA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class al extends x{constructor(t,e){super(t,Object.assign({},al.defaultOptions,e)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>DA(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:a,nodeFilter:A,edgeFilter:c,comboFilter:h}=this.options,v=(a?i.getElementDataByState("node",a):i.getNodeData()).filter(A),p=(a?i.getElementDataByState("edge",a):i.getEdgeData()).filter(c),H=(a?i.getElementDataByState("combo",a):i.getComboData()).filter(h),j=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,$=[...v,...H];$.length>0&&$.forEach(At=>this.fixNodeLike(At,j)),this.updateRelatedEdges(),p.length>0&&p.forEach(At=>this.fixEdge(At,j))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,a)=>{var A;const c=this.cachedStyles.get(n)||[],h=((A=c.find(v=>v.shape===i))===null||A===void 0?void 0:A.style)||{};return a in h||(h[a]=i.attributes[a],this.cachedStyles.set(n,[...c.filter(v=>v.shape!==i),{shape:i,style:h}])),h[a]},this.scaleEntireElement=(n,i,a)=>{i.setLocalScale(1/a);const A=this.cachedStyles.get(n)||[];A.push({shape:i}),this.cachedStyles.set(n,A)},this.scaleSpecificShapes=(n,i,a)=>{const A=Po(n);(Array.isArray(a)?a:[a]).forEach(h=>{const{shape:v,fields:p}=h,H=typeof v=="function"?v(A):n.getShape(v);if(H){if(!p){this.scaleEntireElement(n.id,H,i);return}p.forEach(j=>{const $=this.getOriginalFieldValue(n.id,H,j);(0,qe.Z)($)&&(H.style[j]=$/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const a=jt(n),{element:A,model:c}=this.context,h=A.getElement(a);if(!h||this.skipIfExceedViewport(h))return;c.getRelatedEdgesData(a).forEach(H=>this.relatedEdgeToUpdate.add(jt(H)));const p=this.options[h.type];if(!p){this.scaleEntireElement(a,h,i);return}this.scaleSpecificShapes(h,i,p)},this.fixEdge=(n,i)=>{const a=jt(n),A=this.context.element.getElement(a);if(!A||this.skipIfExceedViewport(A))return;const c=this.options.edge;if(!c){A.style.transformOrigin="center",this.scaleEntireElement(a,A,i);return}this.scaleSpecificShapes(A,i,c)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const a=n.getElement(i);a==null||a.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=n=>DA(this,void 0,void 0,function*(){var i;!((i=n.data)===null||i===void 0)&&i.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:a,style:A})=>{if((0,Ka.Z)(A))a.setLocalScale(1);else{if(this.options.state)return;Object.entries(A).forEach(([c,h])=>a.style[c]=h)}})});const{graph:t,element:e}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&t.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(a=>{t.getRelatedEdgesData(a).forEach(A=>i.add(jt(A)))}),i.forEach(a=>{const A=e==null?void 0:e.getElement(a);A==null||A.update({})})}}}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_DRAW,this.resetTransform),t.on(X.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.resetTransform),t.off(X.AFTER_TRANSFORM,this.fixElementSize)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}al.defaultOptions={enable:r=>r.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var gA=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class RA extends x{constructor(t,e){super(t,Object.assign({},RA.defaultOptions,e)),this.focus=n=>gA(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.shortcut=new Xi(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(e=>{t.on(`${e}:${W.CLICK}`,this.focus)})}validate(t){if(this.destroyed||!this.isKeydown())return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}isKeydown(){const{trigger:t}=this.options;return t!=null&&t.length?this.shortcut.match(t):!0}unbindEvents(){const{graph:t}=this.context;Ba.forEach(e=>{t.off(`${e}:${W.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),this.shortcut.destroy(),super.destroy()}}RA.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0,trigger:[]};class QA extends x{constructor(t,e){super(t,Object.assign({},QA.defaultOptions,e)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===W.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:a,onHoverEnd:A}=this.options;i?a==null||a(n):A==null||A(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:a}=this.context,{state:A,animation:c,inactiveState:h}=this.options,v=this.getActiveIds(n),p={};if(A&&Object.assign(p,this.getElementsState(v,A,i)),h){const H=cr(a.getData(),!0).filter(j=>!v.includes(j));Object.assign(p,this.getElementsState(H,h,i))}a.setElementState(p,c)},this.getElementsState=(n,i,a)=>{const{graph:A}=this.context,c={};return n.forEach(h=>{const v=A.getElementState(h);a?c[h]=v.includes(i)?v:[...v,i]:c[h]=v.filter(p=>p!==i)}),c},this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),Ba.forEach(n=>{t.on(`${n}:${W.POINTER_ENTER}`,this.hoverElement),t.on(`${n}:${W.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.addEventListener(`${W.DRAG_START}`,this.toggleFrozen),e.addEventListener(`${W.DRAG_END}`,this.toggleFrozen)}getActiveIds(t){const{graph:e}=this.context,{degree:n,direction:i}=this.options,a=t.target.id;return n?bs(e,t.targetType,a,typeof n=="function"?n(t):n,i):[a]}validate(t){if(this.destroyed||this.isFrozen||Hs(t.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;Ba.forEach(n=>{t.off(`${n}:${W.POINTER_ENTER}`,this.hoverElement),t.off(`${n}:${W.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.removeEventListener(`${W.DRAG_START}`,this.toggleFrozen),e.removeEventListener(`${W.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}QA.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class Fc extends ta{onPointerDown(t){if(!super.validate(t)||!super.isKeydown()||this.points)return;const{canvas:e,graph:n}=this.context;this.pathShape=new R.y$({id:"g6-lasso-select",style:this.options.style}),e.appendChild(this.pathShape),this.points=[la(t,n)]}onPointerMove(t){var e;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(la(t,this.context.graph)),(e=this.pathShape)===null||e===void 0||e.setAttribute("d",Jo(this.points)),n&&i==="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 t;(t=this.pathShape)===null||t===void 0||t.remove(),this.pathShape=void 0,this.points=void 0}}class sl extends x{constructor(t,e){super(t,Object.assign({},sl.defaultOptions,e)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,a)=>{n.filter(Boolean).forEach(A=>{i==="hidden"&&!A.isVisible()?this.hiddenShapes.push(A):i==="visible"&&this.hiddenShapes.includes(A)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(A),1):mn(A,i,a)})},this.filterShapes=(n,i)=>{if((0,Me.Z)(i))return A=>!i(n,A);const a=i==null?void 0:i[n];return A=>A.className?!(a!=null&&a.includes(A.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:a={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",a)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",a)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",a)),this.isVisible=!1},this.showShapes=(0,Ga.Z)(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:t}=this.context;t.on(X.BEFORE_TRANSFORM,this.hideShapes),t.on(X.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:t}=this.context;t.off(X.BEFORE_TRANSFORM,this.hideShapes),t.off(X.AFTER_TRANSFORM,this.showShapes)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}sl.defaultOptions={enable:!0,debounce:200,shapes:r=>r==="node"};var Ic=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class vA extends x{constructor(t,e){super(t,Object.assign({},vA.defaultOptions,e)),this.onWheel=n=>Ic(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,a=n.deltaY;yield this.scroll([-i,-a],n)}),this.shortcut=new Xi(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){var t,e;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),(0,S.Z)(n)){(t=this.graphDom)===null||t===void 0||t.removeEventListener(W.WHEEL,this.onWheel);const{up:i=[],down:a=[],left:A=[],right:c=[]}=n;this.shortcut.bind(i,h=>this.scroll([0,-10],h)),this.shortcut.bind(a,h=>this.scroll([0,10],h)),this.shortcut.bind(A,h=>this.scroll([-10,0],h)),this.shortcut.bind(c,h=>this.scroll([10,0],h))}else(e=this.graphDom)===null||e===void 0||e.addEventListener(W.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(t){const{sensitivity:e}=this.options;return t=Qt(t,e),t=this.clampByDirection(t),t=this.clampByRange(t),t}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[a,A]=i.getSize(),[c,h,v,p]=Ge(this.options.range),H=[A*c,a*h,A*v,a*p],j=Vt(_t(n.getCanvasCenter()),H),$=Nt(n.getViewportCenter(),[t,e,0]);if(!Ae($,j)){const{min:[At,Et],max:[It,te]}=j;($[0]0||$[0]>It&&t<0)&&(t=0),($[1]0||$[1]>te&&e<0)&&(e=0)}return[t,e]}scroll(t,e){return Ic(this,void 0,void 0,function*(){if(!this.validate(e))return;const{onFinish:n}=this.options,i=this.context.graph,a=this.formatDisplacement(t);yield i.translateBy(a,!1),n==null||n()})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.graphDom)===null||t===void 0||t.removeEventListener(W.WHEEL,this.onWheel),super.destroy()}}vA.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var El=f(70208),jl=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Bl extends x{constructor(t,e){super(t,Object.assign({},Bl.defaultOptions,e)),this.zoom=(n,i,a)=>jl(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:A}=this.context;let c=this.options.origin;!c&&"viewport"in i&&(c=Cr(i.viewport));const{sensitivity:h,onFinish:v}=this.options,p=1+(0,El.Z)(n,-50,50)*h/100,H=A.getZoom();yield A.zoomTo(H*p,a,c),v==null||v()}),this.onReset=()=>jl(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new Xi(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if(this.shortcut.unbindAll(),Array.isArray(t))if(t.includes(W.PINCH))this.shortcut.bind([W.PINCH],e=>{this.zoom(e.scale,e,!1)});else{const e=this.context.canvas.getContainer();e==null||e.addEventListener(W.WHEEL,this.preventDefault),this.shortcut.bind([...t,W.WHEEL],n=>{const{deltaX:i,deltaY:a}=n;this.zoom(-(a!=null?a:i),n,!1)})}if(typeof t=="object"){const{zoomIn:e=[],zoomOut:n=[],reset:i=[]}=t;this.shortcut.bind(e,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(n,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(i,this.onReset)}}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Me.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.context.canvas.getContainer())===null||t===void 0||t.removeEventListener(W.WHEEL,this.preventDefault),super.destroy()}}Bl.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};function Lc(r,t,e,n="height"){const i=r[n],a=t[n];return e==="center"?(i+a)/2:r.height}const os=Object.assign,Yl={getId:r=>r.id||r.name,getPreH:r=>r.preH||0,getPreV:r=>r.preV||0,getHGap:r=>r.hgap||18,getVGap:r=>r.vgap||18,getChildren:r=>r.children,getHeight:r=>r.height||36,getWidth(r){const t=r.label||" ";return r.width||18*t.split("").length}};class bl{constructor(t,e){if(this.x=0,this.y=0,this.depth=0,this.children=[],this.hgap=0,this.vgap=0,t instanceof bl||"x"in t&&"y"in t&&"children"in t){const a=t;return this.data=a.data,this.id=a.id,this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height,this.depth=a.depth,this.children=a.children,this.parent=a.parent,this.hgap=a.hgap,this.vgap=a.vgap,this.preH=a.preH,void(this.preV=a.preV)}this.data=t;const n=e.getHGap(t),i=e.getVGap(t);this.preH=e.getPreH(t),this.preV=e.getPreV(t),this.width=e.getWidth(t),this.height=e.getHeight(t),this.width+=this.preH,this.height+=this.preV,this.id=e.getId(t),this.addGap(n,i)}isRoot(){return this.depth===0}isLeaf(){return this.children.length===0}addGap(t,e){this.hgap+=t,this.vgap+=e,this.width+=2*t,this.height+=2*e}eachNode(t){let e,n=[this];for(;e=n.shift();)t(e),n=e.children.concat(n)}DFTraverse(t){this.eachNode(t)}BFTraverse(t){let e,n=[this];for(;e=n.shift();)t(e),n=n.concat(e.children)}getBoundingBox(){const t={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(e=>{t.left=Math.min(t.left,e.x),t.top=Math.min(t.top,e.y),t.width=Math.max(t.width,e.x+e.width),t.height=Math.max(t.height,e.y+e.height)}),t}translate(t=0,e=0){this.eachNode(n=>{n.x+=t,n.y+=e,n.x+=n.preH,n.y+=n.preV})}right2left(){const t=this.getBoundingBox();this.eachNode(e=>{e.x=e.x-2*(e.x-t.left)-e.width}),this.translate(t.width,0)}bottom2top(){const t=this.getBoundingBox();this.eachNode(e=>{e.y=e.y-2*(e.y-t.top)-e.height}),this.translate(0,t.height)}}function Xl(r,t={},e){t=os({},Yl,t);const n=new bl(r,t),i=[n];let a;if(!e&&!r.collapsed){for(;a=i.shift();)if(!a.data.collapsed){const A=t.getChildren(a.data),c=A?A.length:0;if(a.children=new Array(c),A&&c)for(let h=0;h{const a=Nh.fromNode(i,e);a&&n.push(a)}),e?new Nh(t.height,t.width,t.x,n):new Nh(t.width,t.height,t.y,n)}};function Pc(r,t,e){e?r.y+=t:r.x+=t,r.children.forEach(n=>{Pc(n,t,e)})}function _A(r,t){let e=t?r.y:r.x;return r.children.forEach(n=>{e=Math.min(_A(n,t),e)}),e}function xl(r,t){Pc(r,-_A(r,t),t)}function es(r,t,e){e?t.y=r.x:t.x=r.x,r.c.forEach((n,i)=>{es(n,t.children[i],e)})}function ol(r,t,e=0){t?(r.x=e,e+=r.width):(r.y=e,e+=r.height),r.children.forEach(n=>{ol(n,t,e)})}function xu(r,t={}){const e=t.isHorizontal;function n(H){H.cs===0?(H.el=H,H.er=H,H.msel=H.mser=0):(H.el=H.c[0].el,H.msel=H.c[0].msel,H.er=H.c[H.cs-1].er,H.mser=H.c[H.cs-1].mser)}function i(H,j,$){let At=H.c[j-1],Et=At.mod,It=H.c[j],te=It.mod;for(;At!==null&&It!==null;){$&&h(At)>$.low&&($=$.nxt);const oe=Et+At.prelim+At.w-(te+It.prelim);oe>0&&(te+=oe,$&&a(H,j,$.index,oe));const Se=h(At),en=h(It);Se<=en&&(At=c(At),At!==null&&(Et+=At.mod)),Se>=en&&(It=A(It),It!==null&&(te+=It.mod))}!At&&It?function(oe,Se,en,kn){const Fn=oe.c[0].el;Fn.tl=en;const Xn=kn-en.mod-oe.c[0].msel;Fn.mod+=Xn,Fn.prelim-=Xn,oe.c[0].el=oe.c[Se].el,oe.c[0].msel=oe.c[Se].msel}(H,j,It,te):At&&!It&&function(oe,Se,en,kn){const Fn=oe.c[Se].er;Fn.tr=en;const Xn=kn-en.mod-oe.c[Se].mser;Fn.mod+=Xn,Fn.prelim-=Xn,oe.c[Se].er=oe.c[Se-1].er,oe.c[Se].mser=oe.c[Se-1].mser}(H,j,At,Et)}function a(H,j,$,At){H.c[j].mod+=At,H.c[j].msel+=At,H.c[j].mser+=At,function(Et,It,te,oe){if(te!==It-1){const Se=It-te;Et.c[te+1].shift+=oe/Se,Et.c[It].shift-=oe/Se,Et.c[It].change-=oe-oe/Se}}(H,j,$,At)}function A(H){return H.cs===0?H.tl:H.c[0]}function c(H){return H.cs===0?H.tr:H.c[H.cs-1]}function h(H){return H.y+H.h}function v(H,j,$){for(;$!==null&&H>=$.low;)$=$.nxt;return{low:H,index:j,nxt:$}}ol(r,e);const p=Nc.fromNode(r,e);return p&&(function H(j){if(j.cs===0)return void n(j);H(j.c[0]);let $=v(h(j.c[0].el),0,null);for(let At=1;At{c.isRoot()||(c.side="left")}),n.eachNode(c=>{c.isRoot()||(c.side="right")}),{left:e,right:n}}const Ho=["LR","RL","TB","BT","H","V"],Jl=["LR","RL","H"],ql=Ho[0];function $l(r,t,e){const n=t.direction||ql;if(t.isHorizontal=(a=>Jl.indexOf(a)>-1)(n),n&&Ho.indexOf(n)===-1)throw new TypeError(`Invalid direction: ${n}`);if(n===Ho[0])e(r,t);else if(n===Ho[1])e(r,t),r.right2left();else if(n===Ho[2])e(r,t);else if(n===Ho[3])e(r,t),r.bottom2top();else if(n===Ho[4]||n===Ho[5]){const{left:a,right:A}=Cl(r,t);e(a,t),e(A,t),t.isHorizontal?a.right2left():a.bottom2top(),A.translate(a.x-A.x,a.y-A.y),r.x=a.x,r.y=A.y;const c=r.getBoundingBox();t.isHorizontal?c.top<0&&r.translate(0,-c.top):c.left<0&&r.translate(-c.left,0)}let i=t.fixedRoot;return i===void 0&&(i=!0),i&&r.translate(-(r.x+r.width/2+r.hgap),-(r.y+r.height/2+r.vgap)),function(a,A){if(A.radial){const[c,h]=A.isHorizontal?["x","y"]:["y","x"],v={x:1/0,y:1/0},p={x:-1/0,y:-1/0};let H=0;a.DFTraverse(At=>{H++;const{x:Et,y:It}=At;v.x=Math.min(v.x,Et),v.y=Math.min(v.y,It),p.x=Math.max(p.x,Et),p.y=Math.max(p.y,It)});const j=p[h]-v[h];if(j===0)return;const $=2*Math.PI/H;a.DFTraverse(At=>{const Et=At[h],It=v[h],te=At[c],oe=a[c],Se=(Et-It)/j*(2*Math.PI-$)+$,en=te-oe;At.x=Math.cos(Se)*en,At.y=Math.sin(Se)*en})}}(r,t),r}class Uc extends kA{execute(){return $l(this.rootNode,this.options,xu)}}const tc={};function Sl(r,t){const e=os({},tc,t);return new Uc(r,e).execute()}class Dc{constructor(t=0,e=[]){this.x=0,this.y=0,this.leftChild=null,this.rightChild=null,this.isLeaf=!1,this.height=t,this.children=e}}const Rc={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function ec(r,t,e){e?(t.x=r.x,t.y=r.y):(t.x=r.y,t.y=r.x),r.children.forEach((n,i)=>{ec(n,t.children[i],e)})}function Qc(r,t={}){const e=os({},Rc,t);let n=0,i=null;const a=function A(c){c.width=0,c.depth&&c.depth>n&&(n=c.depth);const h=c.children,v=h.length,p=new Dc(0,[]);return h.forEach((H,j)=>{const $=A(H);p.children.push($),j===0&&(p.leftChild=$),j===v-1&&(p.rightChild=$)}),p.originNode=c,p.isLeaf=c.isLeaf(),p}(r);return function A(c){if(c.isLeaf||c.children.length===0)c.drawingDepth=n;else{const h=c.children.map(p=>A(p)),v=Math.min(...h);c.drawingDepth=v-1}return c.drawingDepth}(a),function A(c){c.x=c.drawingDepth*e.rankSep,c.isLeaf?(c.y=0,i&&(c.y=i.y+i.height+e.nodeSep,c.originNode.parent!==i.originNode.parent&&(c.y+=e.subTreeSep)),i=c):(c.children.forEach(h=>{A(h)}),c.y=(c.leftChild.y+c.rightChild.y)/2)}(a),ec(a,r,e.isHorizontal),r}class nc extends kA{execute(){return this.rootNode.width=0,$l(this.rootNode,this.options,Qc)}}const Cu={};function kc(r,t){const e=os({},Cu,t);return new nc(r,e).execute()}function Ml(r,t,e,n){let i=null;r.eachNode(a=>{(function(A,c,h,v,p){const H=(typeof h=="function"?h(A):h)*A.depth;if(!v)try{if(A.parent&&A.id===A.parent.children[0].id)return A.x+=H,void(A.y=c?c.y:0)}catch(j){}if(A.x+=H,c){if(A.y=c.y+Lc(c,A,p),c.parent&&A.parent&&A.parent.id!==c.parent.id){const j=c.parent,$=j.y+Lc(j,A,p);A.y=$>A.y?$:A.y}}else A.y=0})(a,i,t,e,n),i=a})}const Ks=["LR","RL","H"],HA=Ks[0];class _c extends kA{execute(){const t=this.options,e=this.rootNode;t.isHorizontal=!0;const{indent:n=20,dropCap:i=!0,direction:a=HA,align:A}=t;if(a&&Ks.indexOf(a)===-1)throw new TypeError(`Invalid direction: ${a}`);if(a===Ks[0])Ml(e,n,i,A);else if(a===Ks[1])Ml(e,n,i,A),e.right2left();else if(a===Ks[2]){const{left:c,right:h}=Cl(e,t);Ml(c,n,i,A),c.right2left(),Ml(h,n,i,A);const v=c.getBoundingBox();h.translate(v.width,0),e.x=h.x-e.width/2}return e}}const Ol={};function Tl(r,t){const e=os({},Ol,t);return new _c(r,e).execute()}function Os(r,t){let e=0;return r.children.length?r.children.forEach(n=>{e+=Os(n,t)}):e=r.height,r._subTreeSep=t.getSubTreeSep(r.data),r.totalHeight=Math.max(r.height,e)+2*r._subTreeSep,r.totalHeight}function rc(r){const t=r.children,e=t.length;if(e){t.forEach(c=>{rc(c)});const n=t[0],i=t[e-1],a=i.y-n.y+i.height;let A=0;if(t.forEach(c=>{A+=c.totalHeight}),a>r.height)r.y=n.y+a/2-r.height/2;else if(t.length!==1||r.height>A){const c=r.y+(r.height-a)/2-n.y;t.forEach(h=>{h.translate(0,c)})}else r.y=(n.y+n.height/2+i.y+i.height/2)/2-r.height/2}}const za={getSubTreeSep:()=>0};function Su(r,t={}){return t=os({},za,t),r.parent={x:0,width:0,height:0,y:0},r.BFTraverse(e=>{e.x=e.parent.x+e.parent.width}),r.parent=void 0,Os(r,t),r.startY=0,r.y=r.totalHeight/2-r.height/2,r.eachNode(e=>{const n=e.children,i=n.length;if(i){const a=n[0];if(a.startY=e.startY+e._subTreeSep,i===1)a.y=e.y+e.height/2-a.height/2;else{a.y=a.startY+a.totalHeight/2-a.height/2;for(let A=1;A{if(r!=="next"&&r!=="prev")return t},Gs=r=>{r.prev.next=r.next,r.next.prev=r.prev,delete r.next,delete r.prev};class Ou{constructor(){const t={};t.prev=t,t.next=t.prev,this.shortcut=t}dequeue(){const t=this.shortcut,e=t.prev;if(e&&e!==t)return Gs(e),e}enqueue(t){const e=this.shortcut;t.prev&&t.next&&Gs(t),t.next=e.next,e.next.prev=t,e.next=t,t.prev=e}toString(){const t=[],e=this.shortcut;let n=e.prev;for(;n!==e;)t.push(JSON.stringify(n,Ni)),n=n==null?void 0:n.prev;return`[${t.join(", ")}]`}}class Tu extends Ou{}const Al=()=>1,ac=(r,t)=>{var e;if(r.getAllNodes().length<=1)return[];const n=pA(r,t||Al);return(e=Fu(n.graph,n.buckets,n.zeroIdx).map(a=>r.getRelatedEdges(a.v,"out").filter(({target:A})=>A===a.w)))===null||e===void 0?void 0:e.flat()},Fu=(r,t,e)=>{let n=[];const i=t[t.length-1],a=t[0];let A;for(;r.getAllNodes().length;){for(;A=a.dequeue();)sc(r,t,e,A);for(;A=i.dequeue();)sc(r,t,e,A);if(r.getAllNodes().length){for(let c=t.length-2;c>0;--c)if(A=t[c].dequeue(),A){n=n.concat(sc(r,t,e,A,!0));break}}}return n},sc=(r,t,e,n,i)=>{var a,A;const c=[];return r.hasNode(n.v)&&((a=r.getRelatedEdges(n.v,"in"))===null||a===void 0||a.forEach(h=>{const v=h.data.weight,p=r.getNode(h.source);i&&c.push({v:h.source,w:h.target,in:0,out:0}),p.data.out===void 0&&(p.data.out=0),p.data.out-=v,oc(t,e,Object.assign({v:p.id},p.data))}),(A=r.getRelatedEdges(n.v,"out"))===null||A===void 0||A.forEach(h=>{const v=h.data.weight,p=h.target,H=r.getNode(p);H.data.in===void 0&&(H.data.in=0),H.data.in-=v,oc(t,e,Object.assign({v:H.id},H.data))}),r.removeNode(n.v)),i?c:void 0},pA=(r,t)=>{const e=new Xa.k;let n=0,i=0;r.getAllNodes().forEach(h=>{e.addNode({id:h.id,data:{v:h.id,in:0,out:0}})}),r.getAllEdges().forEach(h=>{const v=e.getRelatedEdges(h.source,"out").find(H=>H.target===h.target),p=(t==null?void 0:t(h))||1;v?e.updateEdgeData(v==null?void 0:v.id,Object.assign(Object.assign({},v.data),{weight:v.data.weight+p})):e.addEdge({id:h.id,source:h.source,target:h.target,data:{weight:p}}),i=Math.max(i,e.getNode(h.source).data.out+=p),n=Math.max(n,e.getNode(h.target).data.in+=p)});const a=[],A=i+n+3;for(let h=0;h{oc(a,c,Object.assign({v:h.id},e.getNode(h.id).data))}),{buckets:a,zeroIdx:c,graph:e}},oc=(r,t,e)=>{e.out?e.in?r[e.out-e.in+t].enqueue(e):r[r.length-1].enqueue(e):r[0].enqueue(e)},mA=(r,t)=>{const n=t==="greedy"?ac(r,(i=>a=>a.data.weight||1)(r)):Iu(r);n==null||n.forEach(i=>{const a=i.data;r.removeEdge(i.id),a.forwardName=i.data.name,a.reversed=!0,r.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},a)})})},Iu=r=>{const t=[],e={},n={},i=a=>{n[a]||(n[a]=!0,e[a]=!0,r.getRelatedEdges(a,"out").forEach(A=>{e[A.target]?t.push(A):i(A.target)}),delete e[a])};return r.getAllNodes().forEach(a=>i(a.id)),t},Lu=r=>{r.getAllEdges().forEach(t=>{const e=t.data;if(e.reversed){r.removeEdge(t.id);const n=e.forwardName;delete e.reversed,delete e.forwardName,r.addEdge({id:t.id,source:t.target,target:t.source,data:Object.assign(Object.assign({},e),{forwardName:n})})}})},Nu=(r,t)=>Number(r)-Number(t),To=(r,t,e,n)=>{let i;do i=`${n}${Math.random()}`;while(r.hasNode(i));return e.dummy=t,r.addNode({id:i,data:e}),i},aA=r=>{const t=new Xa.k;return r.getAllNodes().forEach(e=>{t.addNode(Object.assign({},e))}),r.getAllEdges().forEach(e=>{const n=t.getRelatedEdges(e.source,"out").find(i=>i.target===e.target);n?t.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+e.data.weight||0,minlen:Math.max(n.data.minlen,e.data.minlen||1)})):t.addEdge({id:e.id,source:e.source,target:e.target,data:{weight:e.data.weight||0,minlen:e.data.minlen||1}})}),t},ZA=r=>{const t=new Xa.k;return r.getAllNodes().forEach(e=>{r.getChildren(e.id).length||t.addNode(Object.assign({},e))}),r.getAllEdges().forEach(e=>{t.addEdge(e)}),t},Fl=(r,t)=>r==null?void 0:r.reduce((e,n,i)=>(e[n]=t[i],e),{}),Ac=r=>{const t={};return r.getAllNodes().forEach(e=>{const n={};r.getRelatedEdges(e.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),t[e.id]=n}),t},lc=r=>{const t=r.getAllNodes(),e=t.map(n=>{const i={};return r.getRelatedEdges(n.id,"in").forEach(a=>{i[a.source]=(i[a.source]||0)+a.data.weight}),i});return Fl(t.map(n=>n.id),e)},Zc=(r,t)=>{const e=Number(r.x),n=Number(r.y),i=Number(t.x)-e,a=Number(t.y)-n;let A=Number(r.width)/2,c=Number(r.height)/2;if(!i&&!a)return{x:0,y:0};let h,v;return Math.abs(a)*A>Math.abs(i)*c?(a<0&&(c=-c),h=c*i/a,v=c):(i<0&&(A=-A),h=A,v=A*a/i),{x:e+h,y:n+v}},KA=r=>{const t=[],e=Kc(r)+1;for(let n=0;n{const i=n.data.rank;i!==void 0&&t[i]&&t[i].push(n.id)});for(let n=0;nNu(r.getNode(i).data.order,r.getNode(a).data.order));return t},yA=r=>{const t=r.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),e=Math.min(...t);r.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&e!==1/0&&(n.data.rank-=e)})},ll=(r,t=0)=>{const e=r.getAllNodes(),n=e.filter(c=>c.data.rank!==void 0).map(c=>c.data.rank),i=Math.min(...n),a=[];e.forEach(c=>{const h=(c.data.rank||0)-i;a[h]||(a[h]=[]),a[h].push(c.id)});let A=0;for(let c=0;c{const p=r.getNode(v);p&&(p.data.rank=p.data.rank||0,p.data.rank+=A)}))}},cl=(r,t,e,n)=>{const i={width:0,height:0};return(0,qe.Z)(e)&&(0,qe.Z)(n)&&(i.rank=e,i.order=n),To(r,"border",i,t)},Kc=r=>{let t;return r.getAllNodes().forEach(e=>{const n=e.data.rank;n!==void 0&&(t===void 0||n>t)&&(t=n)}),t||(t=0),t},Gc=(r,t)=>{const e={lhs:[],rhs:[]};return r==null||r.forEach(n=>{t(n)?e.lhs.push(n):e.rhs.push(n)}),e},ul=(r,t)=>r.reduce((e,n)=>{const i=t(e),a=t(n);return i>a?n:e}),cc=(r,t,e,n,i,a)=>{n.includes(t.id)||(n.push(t.id),e||a.push(t.id),i(t.id).forEach(A=>cc(r,A,e,n,i,a)),e&&a.push(t.id))},uc=(r,t,e,n)=>{const i=Array.isArray(t)?t:[t],a=h=>n?r.getSuccessors(h):r.getNeighbors(h),A=[],c=[];return i.forEach(h=>{if(r.hasNode(h.id))cc(r,h,e==="post",c,a,A);else throw new Error(`Graph does not have node: ${h}`)}),A},zc=r=>{const t=e=>{const n=r.getChildren(e),i=r.getNode(e);if(n!=null&&n.length&&n.forEach(a=>t(a.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let a=i.data.minRank,A=i.data.maxRank+1;at(e.id))},Wc=(r,t,e,n,i,a)=>{const A={rank:a,borderType:t,width:0,height:0},c=i.data[t][a-1],h=To(r,"border",A,e);i.data[t][a]=h,r.setParent(h,n),c&&r.addEdge({id:`e${Math.random()}`,source:c,target:h,data:{weight:1}})},Il=(r,t)=>{const e=t.toLowerCase();(e==="lr"||e==="rl")&&hc(r)},Vc=(r,t)=>{const e=t.toLowerCase();(e==="bt"||e==="rl")&&Pu(r),(e==="lr"||e==="rl")&&(GA(r),hc(r))},hc=r=>{r.getAllNodes().forEach(t=>{xr(t)}),r.getAllEdges().forEach(t=>{xr(t)})},xr=r=>{const t=r.data.width;r.data.width=r.data.height,r.data.height=t},Pu=r=>{r.getAllNodes().forEach(t=>{Ll(t.data)}),r.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>Ll(n)),t.data.hasOwnProperty("y")&&Ll(t.data)})},Ll=r=>{r!=null&&r.y&&(r.y=-r.y)},GA=r=>{r.getAllNodes().forEach(t=>{zA(t.data)}),r.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>zA(n)),t.data.hasOwnProperty("x")&&zA(t.data)})},zA=r=>{const t=r.x;r.x=r.y,r.y=t},dc=r=>{const t=To(r,"root",{},"_root"),e=fc(r);let n=Math.max(...Object.values(e));Math.abs(n)===1/0&&(n=1);const i=n-1,a=2*i+1;r.getAllEdges().forEach(c=>{c.data.minlen*=a});const A=jc(r)+1;return r.getRoots().forEach(c=>{Nl(r,t,a,A,i,e,c.id)}),{nestingRoot:t,nodeRankFactor:a}},Nl=(r,t,e,n,i,a,A)=>{const c=r.getChildren(A);if(!(c!=null&&c.length)){A!==t&&r.addEdge({id:`e${Math.random()}`,source:t,target:A,data:{weight:0,minlen:e}});return}const h=cl(r,"_bt"),v=cl(r,"_bb"),p=r.getNode(A);r.setParent(h,A),p.data.borderTop=h,r.setParent(v,A),p.data.borderBottom=v,c==null||c.forEach(H=>{Nl(r,t,e,n,i,a,H.id);const j=H.data.borderTop?H.data.borderTop:H.id,$=H.data.borderBottom?H.data.borderBottom:H.id,At=H.data.borderTop?n:2*n,Et=j!==$?1:i-a[A]+1;r.addEdge({id:`e${Math.random()}`,source:h,target:j,data:{minlen:Et,weight:At,nestingEdge:!0}}),r.addEdge({id:`e${Math.random()}`,source:$,target:v,data:{minlen:Et,weight:At,nestingEdge:!0}})}),r.getParent(A)||r.addEdge({id:`e${Math.random()}`,source:t,target:h,data:{weight:0,minlen:i+a[A]}})},fc=r=>{const t={},e=(n,i)=>{const a=r.getChildren(n);a==null||a.forEach(A=>e(A.id,i+1)),t[n]=i};return r.getRoots().forEach(n=>e(n.id,1)),t},jc=r=>{let t=0;return r.getAllEdges().forEach(e=>{t+=e.data.weight}),t},Uu=(r,t)=>{t&&r.removeNode(t),r.getAllEdges().forEach(e=>{e.data.nestingEdge&&r.removeEdge(e.id)})},Oa="edge",Pl="edge-label",Fo=(r,t)=>{r.getAllEdges().forEach(e=>WA(r,e,t))},WA=(r,t,e)=>{let n=t.source,i=r.getNode(n).data.rank;const a=t.target,A=r.getNode(a).data.rank,c=t.data.labelRank;if(A===i+1)return;r.removeEdge(t.id);let h,v,p;for(p=0,++i;i{t.forEach(e=>{let n=r.getNode(e);const{data:i}=n,a=i.originalEdge;let A;a&&r.addEdge(a);let c=e;for(;n.data.dummy;)A=r.getSuccessors(c)[0],r.removeNode(c),a.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===Pl&&(a.data.x=n.data.x,a.data.y=n.data.y,a.data.width=n.data.width,a.data.height=n.data.height),c=A.id,n=r.getNode(c)})},La=(r,t,e)=>{const n={};let i;e==null||e.forEach(a=>{let A=r.getParent(a),c,h;for(;A;){if(c=r.getParent(A.id),c?(h=n[c.id],n[c.id]=A.id):(h=i,i=A.id),h&&h!==A.id){t.hasNode(h)||t.addNode({id:h,data:{}}),t.hasNode(A.id)||t.addNode({id:A.id,data:{}}),t.hasEdge(`e${h}-${A.id}`)||t.addEdge({id:`e${h}-${A.id}`,source:h,target:A.id,data:{}});return}A=c}})},Ul=(r,t,e)=>{const n=Du(r),i=new Xa.k({tree:[{id:n,children:[],data:{}}]});return r.getAllNodes().forEach(a=>{const A=r.getParent(a.id);(a.data.rank===t||a.data.minRank<=t&&t<=a.data.maxRank)&&(i.hasNode(a.id)||i.addNode(Object.assign({},a)),A!=null&&A.id&&!i.hasNode(A==null?void 0:A.id)&&i.addNode(Object.assign({},A)),i.setParent(a.id,(A==null?void 0:A.id)||n),r.getRelatedEdges(a.id,e).forEach(c=>{const h=c.source===a.id?c.target:c.source;i.hasNode(h)||i.addNode(Object.assign({},r.getNode(h)));const v=i.getRelatedEdges(h,"out").find(({target:H})=>H===a.id),p=v!==void 0?v.data.weight:0;v?i.updateEdgeData(v.id,Object.assign(Object.assign({},v.data),{weight:c.data.weight+p})):i.addEdge({id:c.id,source:h,target:a.id,data:{weight:c.data.weight+p}})}),a.data.hasOwnProperty("minRank")&&i.updateNodeData(a.id,Object.assign(Object.assign({},a.data),{borderLeft:a.data.borderLeft[t],borderRight:a.data.borderRight[t]})))}),i},Du=r=>{let t;for(;r.hasNode(t=`_root${Math.random()}`););return t},hl=(r,t,e)=>{const n=Fl(e,e.map((p,H)=>H)),a=t.map(p=>{const H=r.getRelatedEdges(p,"out").map(j=>({pos:n[j.target]||0,weight:j.data.weight}));return H==null?void 0:H.sort((j,$)=>j.pos-$.pos)}).flat().filter(p=>p!==void 0);let A=1;for(;A{if(p){let H=p.pos+A;h[H]+=p.weight;let j=0;for(;H>0;)H%2&&(j+=h[H+1]),H=H-1>>1,h[H]+=p.weight;v+=p.weight*j}}),v},wA=(r,t)=>{let e=0;for(let n=1;n<(t==null?void 0:t.length);n+=1)e+=hl(r,t[n-1],t[n]);return e},vc=r=>{const t={},e=r.getAllNodes(),n=e.map(v=>{var p;return(p=v.data.rank)!==null&&p!==void 0?p:-1/0}),i=Math.max(...n),a=[];for(let v=0;vr.getNode(v.id).data.rank-r.getNode(p.id).data.rank),h=A.filter(v=>r.getNode(v.id).data.fixorder!==void 0).sort((v,p)=>r.getNode(v.id).data.fixorder-r.getNode(p.id).data.fixorder);return h==null||h.forEach(v=>{isNaN(r.getNode(v.id).data.rank)||a[r.getNode(v.id).data.rank].push(v.id),t[v.id]=!0}),A==null||A.forEach(v=>r.dfsTree(v.id,p=>{if(t.hasOwnProperty(p.id))return!0;t[p.id]=!0,isNaN(p.data.rank)||a[p.data.rank].push(p.id)})),a},VA=(r,t)=>t.map(e=>{const n=r.getRelatedEdges(e,"in");if(!(n!=null&&n.length))return{v:e};const i={sum:0,weight:0};return n==null||n.forEach(a=>{const A=r.getNode(a.source);i.sum+=a.data.weight*A.data.order,i.weight+=a.data.weight}),{v:e,barycenter:i.sum/i.weight,weight:i.weight}}),Ru=(r,t)=>{var e,n,i;const a={};r==null||r.forEach((c,h)=>{a[c.v]={i:h,indegree:0,in:[],out:[],vs:[c.v]};const v=a[c.v];c.barycenter!==void 0&&(v.barycenter=c.barycenter,v.weight=c.weight)}),(e=t.getAllEdges())===null||e===void 0||e.forEach(c=>{const h=a[c.source],v=a[c.target];h!==void 0&&v!==void 0&&(v.indegree++,h.out.push(a[c.target]))});const A=(i=(n=Object.values(a)).filter)===null||i===void 0?void 0:i.call(n,c=>!c.indegree);return Dl(A)},Dl=r=>{var t,e;const n=[],i=h=>v=>{v.merged||(v.barycenter===void 0||h.barycenter===void 0||v.barycenter>=h.barycenter)&&Rl(h,v)},a=h=>v=>{v.in.push(h),--v.indegree===0&&r.push(v)};for(;r!=null&&r.length;){const h=r.pop();n.push(h),(t=h.in.reverse())===null||t===void 0||t.forEach(v=>i(h)(v)),(e=h.out)===null||e===void 0||e.forEach(v=>a(h)(v))}const A=n.filter(h=>!h.merged),c=["vs","i","barycenter","weight"];return A.map(h=>{const v={};return c==null||c.forEach(p=>{h[p]!==void 0&&(v[p]=h[p])}),v})},Rl=(r,t)=>{var e;let n=0,i=0;r.weight&&(n+=r.barycenter*r.weight,i+=r.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),r.vs=(e=t.vs)===null||e===void 0?void 0:e.concat(r.vs),r.barycenter=n/i,r.weight=i,r.i=Math.min(t.i,r.i),t.merged=!0};var Qu=Ru;const pc=(r,t,e,n)=>{const i=Gc(r,j=>{const $=j.hasOwnProperty("fixorder")&&!isNaN(j.fixorder);return n?!$&&j.hasOwnProperty("barycenter"):$||j.hasOwnProperty("barycenter")}),a=i.lhs,A=i.rhs.sort((j,$)=>-j.i- -$.i),c=[];let h=0,v=0,p=0;a==null||a.sort(Ql(!!t,!!e)),p=EA(c,A,p),a==null||a.forEach(j=>{var $;p+=($=j.vs)===null||$===void 0?void 0:$.length,c.push(j.vs),h+=j.barycenter*j.weight,v+=j.weight,p=EA(c,A,p)});const H={vs:c.flat()};return v&&(H.barycenter=h/v,H.weight=v),H},EA=(r,t,e)=>{let n=e,i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),r==null||r.push(i.vs),n++;return n},Ql=(r,t)=>(e,n)=>{if(e.fixorder!==void 0&&n.fixorder!==void 0)return e.fixorder-n.fixorder;if(e.barycentern.barycenter)return 1;if(t&&e.order!==void 0&&n.order!==void 0){if(e.ordern.order)return 1}return r?n.i-e.i:e.i-n.i},ns=(r,t,e,n,i,a)=>{var A,c,h,v;let p=r.getChildren(t).map(oe=>oe.id);const H=r.getNode(t),j=H?H.data.borderLeft:void 0,$=H?H.data.borderRight:void 0,At={};j&&(p=p==null?void 0:p.filter(oe=>oe!==j&&oe!==$));const Et=VA(r,p||[]);Et==null||Et.forEach(oe=>{var Se;if(!((Se=r.getChildren(oe.v))===null||Se===void 0)&&Se.length){const en=ns(r,oe.v,e,n,a);At[oe.v]=en,en.hasOwnProperty("barycenter")&&jA(oe,en)}});const It=Qu(Et,e);Io(It,At),(A=It.filter(oe=>oe.vs.length>0))===null||A===void 0||A.forEach(oe=>{const Se=r.getNode(oe.vs[0]);Se&&(oe.fixorder=Se.data.fixorder,oe.order=Se.data.order)});const te=pc(It,n,i,a);if(j&&(te.vs=[j,te.vs,$].flat(),!((c=r.getPredecessors(j))===null||c===void 0)&&c.length)){const oe=r.getNode(((h=r.getPredecessors(j))===null||h===void 0?void 0:h[0].id)||""),Se=r.getNode(((v=r.getPredecessors($))===null||v===void 0?void 0:v[0].id)||"");te.hasOwnProperty("barycenter")||(te.barycenter=0,te.weight=0),te.barycenter=(te.barycenter*te.weight+oe.data.order+Se.data.order)/(te.weight+2),te.weight+=2}return te},Io=(r,t)=>{r==null||r.forEach(e=>{var n;const i=(n=e.vs)===null||n===void 0?void 0:n.map(a=>t[a]?t[a].vs:a);e.vs=i.flat()})},jA=(r,t)=>{r.barycenter!==void 0?(r.barycenter=(r.barycenter*r.weight+t.barycenter*t.weight)/(r.weight+t.weight),r.weight+=t.weight):(r.barycenter=t.barycenter,r.weight=t.weight)},Zo=(r,t)=>{const e=Kc(r),n=[],i=[];for(let p=1;p-1;p--)i.push(p);const a=Lo(r,n,"in"),A=Lo(r,i,"out");let c=vc(r);qs(r,c);let h=Number.POSITIVE_INFINITY,v;for(let p=0,H=0;H<4;++p,++H){YA(p%2?a:A,p%4>=2,!1,t),c=KA(r);const j=wA(r,c);j=2,!0,t),c=KA(r);const j=wA(r,c);jt.map(n=>Ul(r,n,e)),YA=(r,t,e,n)=>{const i=new Xa.k;r==null||r.forEach(a=>{var A;const c=a.getRoots()[0].id,h=ns(a,c,i,t,e,n);for(let v=0;v<((A=h.vs)===null||A===void 0?void 0:A.length);v++){const p=a.getNode(h.vs[v]);p&&(p.data.order=v)}La(a,i,h.vs)})},qs=(r,t)=>{t==null||t.forEach(e=>{e==null||e.forEach((n,i)=>{r.getNode(n).data.order=i})})},Yc=(r,t)=>{const n=r.getAllNodes().filter(A=>{var c;return!(!((c=r.getChildren(A.id))===null||c===void 0)&&c.length)}).map(A=>A.data.rank),i=Math.max(...n),a=[];for(let A=0;A{const c=r.getNode(A);!c||c.data.dummy||isNaN(c.data.rank)||(c.data.fixorder=a[c.data.rank].length,a[c.data.rank].push(A))})},Xc=r=>{const t={};let e=0;const n=i=>{const a=e;r.getChildren(i).forEach(A=>n(A.id)),t[i]={low:a,lim:e++}};return r.getRoots().forEach(i=>n(i.id)),t},mc=(r,t,e,n)=>{var i,a;const A=[],c=[],h=Math.min(t[e].low,t[n].low),v=Math.max(t[e].lim,t[n].lim);let p,H;p=e;do p=(i=r.getParent(p))===null||i===void 0?void 0:i.id,A.push(p);while(p&&(t[p].low>h||v>t[p].lim));for(H=p,p=n;p&&p!==H;)c.push(p),p=(a=r.getParent(p))===null||a===void 0?void 0:a.id;return{lca:H,path:A.concat(c.reverse())}},kl=(r,t)=>{const e=Xc(r);t.forEach(n=>{var i,a;let A=n,c=r.getNode(A);const h=c.data.originalEdge;if(!h)return;const v=mc(r,e,h.source,h.target),p=v.path,H=v.lca;let j=0,$=p[j],At=!0;for(;A!==h.target;){if(c=r.getNode(A),At){for(;$!==H&&((i=r.getNode($))===null||i===void 0?void 0:i.data.maxRank){const e={},n=(i,a)=>{let A=0,c=0;const h=i.length,v=a==null?void 0:a[(a==null?void 0:a.length)-1];return a==null||a.forEach((p,H)=>{var j;const $=Jc(r,p),At=$?r.getNode($.id).data.order:h;($||p===v)&&((j=a.slice(c,H+1))===null||j===void 0||j.forEach(Et=>{var It;(It=r.getPredecessors(Et))===null||It===void 0||It.forEach(te=>{var oe;const Se=r.getNode(te.id),en=Se.data.order;(en{const e={};function n(c,h,v,p,H){var j,$;let At;for(let Et=h;Et{const te=r.getNode(It.id);te.data.dummy&&(te.data.orderH)&&bA(e,It.id,At)}))}function i(c){return JSON.stringify(c.slice(1))}function a(c,h){const v=i(c);h.get(v)||(n(...c),h.set(v,!0))}const A=(c,h)=>{let v=-1,p,H=0;const j=new Map;return h==null||h.forEach(($,At)=>{var Et;if(((Et=r.getNode($))===null||Et===void 0?void 0:Et.data.dummy)==="border"){const It=r.getPredecessors($)||[];It.length&&(p=r.getNode(It[0].id).data.order,a([h,H,At,v,p],j),H=At,v=p)}a([h,H,h.length,p,c.length],j)}),h};return t!=null&&t.length&&t.reduce(A),e},Jc=(r,t)=>{var e,n;if(!((e=r.getNode(t))===null||e===void 0)&&e.data.dummy)return(n=r.getPredecessors(t))===null||n===void 0?void 0:n.find(i=>r.getNode(i.id).data.dummy)},bA=(r,t,e)=>{let n=t,i=e;if(n>i){const A=n;n=i,i=A}let a=r[n];a||(r[n]=a={}),a[i]=!0},ju=(r,t,e)=>{let n=t,i=e;if(n>i){const a=t;n=i,i=a}return!!r[n]},ho=(r,t,e,n)=>{const i={},a={},A={};return t==null||t.forEach(c=>{c==null||c.forEach((h,v)=>{i[h]=h,a[h]=h,A[h]=v})}),t==null||t.forEach(c=>{let h=-1;c==null||c.forEach(v=>{let p=n(v).map(H=>H.id);if(p.length){p=p.sort((j,$)=>A[j]-A[$]);const H=(p.length-1)/2;for(let j=Math.floor(H),$=Math.ceil(H);j<=$;++j){const At=p[j];a[v]===v&&h{var c;const h={},v=ku(r,t,e,i,a,A),p=A?"borderLeft":"borderRight",H=(At,Et)=>{let It=v.getAllNodes(),te=It.pop();const oe={};for(;te;)oe[te.id]?At(te.id):(oe[te.id]=!0,It.push(te),It=It.concat(Et(te.id))),te=It.pop()},j=At=>{h[At]=(v.getRelatedEdges(At,"in")||[]).reduce((Et,It)=>Math.max(Et,(h[It.source]||0)+It.data.weight),0)},$=At=>{const Et=(v.getRelatedEdges(At,"out")||[]).reduce((te,oe)=>Math.min(te,(h[oe.target]||0)-oe.data.weight),Number.POSITIVE_INFINITY),It=r.getNode(At);Et!==Number.POSITIVE_INFINITY&&It.data.borderType!==p&&(h[At]=Math.max(h[At],Et))};return H(j,v.getPredecessors.bind(v)),H($,v.getSuccessors.bind(v)),(c=Object.values(n))===null||c===void 0||c.forEach(At=>{h[At]=h[e[At]]}),h},ku=(r,t,e,n,i,a)=>{const A=new Xa.k,c=tu(n,i,a);return t==null||t.forEach(h=>{let v;h==null||h.forEach(p=>{const H=e[p];if(A.hasNode(H)||A.addNode({id:H,data:{}}),v){const j=e[v],$=A.getRelatedEdges(j,"out").find(At=>At.target===H);$?A.updateEdgeData($.id,Object.assign(Object.assign({},$.data),{weight:Math.max(c(r,p,v),$.data.weight||0)})):A.addEdge({id:`e${Math.random()}`,source:j,target:H,data:{weight:Math.max(c(r,p,v),0)}})}v=p})}),A},qc=(r,t)=>ul(Object.values(t),e=>{var n;let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;return(n=Object.keys(e))===null||n===void 0||n.forEach(A=>{const c=e[A],h=Ec(r,A)/2;i=Math.max(c+h,i),a=Math.min(c-h,a)}),i-a});function xA(r,t){const e=Object.values(t),n=Math.min(...e),i=Math.max(...e);["u","d"].forEach(a=>{["l","r"].forEach(A=>{const c=a+A,h=r[c];let v;if(h===t)return;const p=Object.values(h);v=A==="l"?n-Math.min(...p):i-Math.max(...p),v&&(r[c]={},Object.keys(h).forEach(H=>{r[c][H]=h[H]+v}))})})}const dl=(r,t)=>{const e={};return Object.keys(r.ul).forEach(n=>{if(t)e[n]=r[t.toLowerCase()][n];else{const i=Object.values(r).map(a=>a[n]);e[n]=(i[0]+i[1])/2}}),e},$c=(r,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},a=buildLayerMatrix(r),A=Object.assign(BA(r,a),yc(r,a)),c={};let h;["u","d"].forEach(p=>{h=p==="u"?a:Object.values(a).reverse(),["l","r"].forEach(H=>{H==="r"&&(h=h.map(Et=>Object.values(Et).reverse()));const j=(p==="u"?r.getPredecessors:r.getSuccessors).bind(r),$=ho(r,h,A,j),At=wc(r,h,$.root,$.align,n,i,H==="r");H==="r"&&Object.keys(At).forEach(Et=>{At[Et]=-At[Et]}),c[p+H]=At})});const v=qc(r,c);return xA(c,v),dl(c,e)},tu=(r,t,e)=>(n,i,a)=>{const A=n.getNode(i),c=n.getNode(a);let h=0,v=0;if(h+=A.data.width/2,A.data.hasOwnProperty("labelpos"))switch((A.data.labelpos||"").toLowerCase()){case"l":v=-A.data.width/2;break;case"r":v=A.data.width/2;break}if(v&&(h+=e?v:-v),v=0,h+=(A.data.dummy?t:r)/2,h+=(c.data.dummy?t:r)/2,h+=c.data.width/2,c.data.labelpos)switch((c.data.labelpos||"").toLowerCase()){case"l":v=c.data.width/2;break;case"r":v=-c.data.width/2;break}return v&&(h+=e?v:-v),v=0,h},Ec=(r,t)=>r.getNode(t).data.width||0,_u=(r,t)=>{const{ranksep:e=0}=t||{},n=KA(r);let i=0;n==null||n.forEach(a=>{const A=a.map(h=>r.getNode(h).data.height),c=Math.max(...A,0);a==null||a.forEach(h=>{r.getNode(h).data.y=i+c/2}),i+=c+e})},eu=(r,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},a=KA(r),A=Object.assign(BA(r,a),yc(r,a)),c={};let h=[];["u","d"].forEach(p=>{h=p==="u"?a:Object.values(a).reverse(),["l","r"].forEach(H=>{H==="r"&&(h=h.map(Et=>Object.values(Et).reverse()));const j=(p==="u"?r.getPredecessors:r.getSuccessors).bind(r),$=ho(r,h,A,j),At=wc(r,h,$.root,$.align,n,i,H==="r");H==="r"&&Object.keys(At).forEach(Et=>At[Et]=-At[Et]),c[p+H]=At})});const v=qc(r,c);return v&&xA(c,v),dl(c,e)},_l=(r,t)=>{var e;const n=ZA(r);_u(n,t);const i=eu(n,t);(e=Object.keys(i))===null||e===void 0||e.forEach(a=>{n.getNode(a).data.x=i[a]})},Hl=r=>{const t={},e=n=>{var i;const a=r.getNode(n);if(!a)return 0;if(t[n])return a.data.rank;t[n]=!0;let A;return(i=r.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(c=>{const h=e(c.target),v=c.data.minlen,p=h-v;p&&(A===void 0||pr.getRelatedEdges(n.id,"in").length===0).forEach(n=>e(n.id))},Yu=r=>{const t={};let e;const n=A=>{var c;const h=r.getNode(A);if(!h)return 0;if(t[A])return h.data.rank;t[A]=!0;let v;return(c=r.getRelatedEdges(A,"out"))===null||c===void 0||c.forEach(p=>{const H=n(p.target),j=p.data.minlen,$=H-j;$&&(v===void 0||$r.getRelatedEdges(A.id,"in").length===0).forEach(A=>{A&&n(A.id)}),e===void 0&&(e=0);const i={},a=(A,c)=>{var h;const v=r.getNode(A),p=isNaN(v.data.layer)?c:v.data.layer;(v.data.rank===void 0||v.data.rank{a(H.target,p+H.data.minlen)}))};r.getAllNodes().forEach(A=>{const c=A.data;c&&(isNaN(c.layer)?c.rank-=e:a(A.id,c.layer))})},CA=(r,t)=>r.getNode(t.target).data.rank-r.getNode(t.source).data.rank-t.data.minlen,fl=r=>{const t=new Xa.k({tree:[]}),e=r.getAllNodes()[0],n=r.getAllNodes().length;t.addNode(e);let i,a;for(;Vo(t,r){const e=n=>{t.getRelatedEdges(n,"both").forEach(i=>{const a=i.source,A=n===a?i.target:a;!r.hasNode(A)&&!CA(t,i)&&(r.addNode({id:A,data:{}}),r.addEdge({id:i.id,source:n,target:A,data:{}}),e(A))})};return r.getAllNodes().forEach(n=>e(n.id)),r.getAllNodes().length},Xu=r=>{const t=new Xa.k({tree:[]}),e=r.getAllNodes()[0],n=r.getAllNodes().length;t.addNode(e);let i,a;for(;Ju(t,r){const e=n=>{var i;(i=t.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(a=>{const A=a.source,c=n===A?a.target:A;!r.hasNode(c)&&(t.getNode(c).data.layer!==void 0||!CA(t,a))&&(r.addNode({id:c,data:{}}),r.addEdge({id:a.id,source:n,target:c,data:{}}),e(c))})};return r.getAllNodes().forEach(n=>e(n.id)),r.getAllNodes().length},Hu=(r,t)=>ul(t.getAllEdges(),e=>r.hasNode(e.source)!==r.hasNode(e.target)?CA(t,e):1/0),nu=(r,t,e)=>{r.getAllNodes().forEach(n=>{const i=t.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=e})},ru=r=>{const t=aA(r);Hl(t);const e=fl(t);Xr(e),iu(e,t);let n,i;for(;n=JA(e);)i=mo(e,t,n),bc(e,t,n,i)},iu=(r,t)=>{let e=uc(r,r.getAllNodes(),"post",!1);e=e.slice(0,(e==null?void 0:e.length)-1),e.forEach(n=>{au(r,t,n)})},au=(r,t,e)=>{const i=r.getNode(e).data.parent,a=r.getRelatedEdges(e,"both").find(A=>A.target===i||A.source===i);a.data.cutvalue=Bc(r,t,e)},Bc=(r,t,e)=>{const i=r.getNode(e).data.parent;let a=!0,A=t.getRelatedEdges(e,"out").find(h=>h.target===i),c=0;return A||(a=!1,A=t.getRelatedEdges(i,"out").find(h=>h.target===e)),c=A.data.weight,t.getRelatedEdges(e,"both").forEach(h=>{const v=h.source===e,p=v?h.target:h.source;if(p!==i){const H=v===a,j=h.data.weight;if(c+=H?j:-j,Ra(r,e,p)){const $=r.getRelatedEdges(e,"both").find(At=>At.source===p||At.target===p).data.cutvalue;c+=H?-$:$}}}),c},Xr=(r,t=r.getAllNodes()[0].id)=>{XA(r,{},1,t)},XA=(r,t,e,n,i)=>{var a;const A=e;let c=e;const h=r.getNode(n);return t[n]=!0,(a=r.getNeighbors(n))===null||a===void 0||a.forEach(v=>{t[v.id]||(c=XA(r,t,c,v.id,n))}),h.data.low=A,h.data.lim=c++,i?h.data.parent=i:delete h.data.parent,c},JA=r=>r.getAllEdges().find(t=>t.data.cutvalue<0),mo=(r,t,e)=>{let n=e.source,i=e.target;t.getRelatedEdges(n,"out").find(p=>p.target===i)||(n=e.target,i=e.source);const a=r.getNode(n),A=r.getNode(i);let c=a,h=!1;a.data.lim>A.data.lim&&(c=A,h=!0);const v=t.getAllEdges().filter(p=>h===Ts(r.getNode(p.source),c)&&h!==Ts(r.getNode(p.target),c));return ul(v,p=>CA(t,p))},bc=(r,t,e,n)=>{const i=r.getRelatedEdges(e.source,"both").find(a=>a.source===e.target||a.target===e.target);i&&r.removeEdge(i.id),r.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),Xr(r),iu(r,t),pa(r,t)},pa=(r,t)=>{const e=r.getAllNodes().find(i=>!i.data.parent);let n=uc(r,e,"pre",!1);n=n.slice(1),n.forEach(i=>{const a=r.getNode(i).data.parent;let A=t.getRelatedEdges(i,"out").find(h=>h.target===a),c=!1;!A&&t.hasNode(a)&&(A=t.getRelatedEdges(a,"out").find(h=>h.target===i),c=!0),t.getNode(i).data.rank=(t.hasNode(a)&&t.getNode(a).data.rank||0)+(c?A==null?void 0:A.data.minlen:-(A==null?void 0:A.data.minlen))})},Ra=(r,t,e)=>r.getRelatedEdges(t,"both").find(n=>n.source===e||n.target===e),Ts=(r,t)=>t.data.low<=r.data.lim&&r.data.lim<=t.data.lim,xc=(r,t)=>{switch(t){case"network-simplex":Zl(r);break;case"tight-tree":Cc(r);break;case"longest-path":SA(r);break;default:Cc(r)}},SA=Hl,Cc=r=>{Yu(r),Xu(r)},Zl=r=>{ru(r)},Zu=(r,t)=>{const{edgeLabelSpace:e,keepNodeOrder:n,prevGraph:i,rankdir:a,ranksep:A}=t;!n&&i&&Sc(r,i);const c=cu(r);e&&(t.ranksep=qu(c,{rankdir:a,ranksep:A}));let h;try{h=Ku(c,t)}catch(v){if(v.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: -`,v);return}throw v}return Gu(r,c),h},Ku=(r,t)=>{const{acyclicer:e,ranker:n,rankdir:i="tb",nodeOrder:a,keepNodeOrder:A,align:c,nodesep:h=50,edgesep:v=20,ranksep:p=50}=t;J(r),mA(r,e);const{nestingRoot:H,nodeRankFactor:j}=dc(r);xc(ZA(r),n),u(r),ll(r,j),Uu(r,H),yA(r),g(r),s(r);const $=[];Fo(r,$),kl(r,$),zc(r),A&&Yc(r,a),Zo(r,A),lt(r),Il(r,i),_l(r,{align:c,nodesep:h,edgesep:v,ranksep:p}),Ft(r),G(r),gc(r,$),b(r),Vc(r,i);const{width:At,height:Et}=o(r);return d(r),C(r),Lu(r),{width:At,height:Et}},Sc=(r,t)=>{r.getAllNodes().forEach(e=>{const n=r.getNode(e.id);if(t.hasNode(e.id)){const i=t.getNode(e.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},Gu=(r,t)=>{r.getAllNodes().forEach(e=>{var n;const i=r.getNode(e.id);if(i){const a=t.getNode(e.id);i.data.x=a.data.x,i.data.y=a.data.y,i.data._order=a.data.order,i.data._rank=a.data.rank,!((n=t.getChildren(e.id))===null||n===void 0)&&n.length&&(i.data.width=a.data.width,i.data.height=a.data.height)}}),r.getAllEdges().forEach(e=>{const n=r.getEdge(e.id),i=t.getEdge(e.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},su=["width","height","layer","fixorder"],ou={width:0,height:0},Au=["minlen","weight","width","height","labeloffset"],lu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},qA=["labelpos"],cu=r=>{const t=new Xa.k({tree:[]});return r.getAllNodes().forEach(e=>{const n=pe(r.getNode(e.id).data),i=Object.assign(Object.assign({},ou),n),a=Wt(i,su);t.hasNode(e.id)||t.addNode({id:e.id,data:Object.assign({},a)});const A=r.hasTreeStructure("combo")?r.getParent(e.id,"combo"):r.getParent(e.id);(0,P.Z)(A)||(t.hasNode(A.id)||t.addNode(Object.assign({},A)),t.setParent(e.id,A.id))}),r.getAllEdges().forEach(e=>{const n=pe(r.getEdge(e.id).data),i={};qA==null||qA.forEach(a=>{n[a]!==void 0&&(i[a]=n[a])}),t.addEdge({id:e.id,source:e.source,target:e.target,data:Object.assign({},lu,Wt(n,Au),i)})}),t},qu=(r,t)=>{const{ranksep:e=0,rankdir:n}=t;return r.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),r.getAllEdges().forEach(i=>{var a;i.data.minlen*=2,((a=i.data.labelpos)===null||a===void 0?void 0:a.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),e/2},u=r=>{r.getAllEdges().forEach(t=>{if(t.data.width&&t.data.height){const e=r.getNode(t.source),n=r.getNode(t.target),i={e:t,rank:(n.data.rank-e.data.rank)/2+e.data.rank};To(r,"edge-proxy",i,"_ep")}})},g=r=>{let t=0;return r.getAllNodes().forEach(e=>{var n,i;e.data.borderTop&&(e.data.minRank=(n=r.getNode(e.data.borderTop))===null||n===void 0?void 0:n.data.rank,e.data.maxRank=(i=r.getNode(e.data.borderBottom))===null||i===void 0?void 0:i.data.rank,t=Math.max(t,e.data.maxRank||-1/0))}),t},s=r=>{r.getAllNodes().forEach(t=>{t.data.dummy==="edge-proxy"&&(r.getEdge(t.data.e.id).data.labelRank=t.data.rank,r.removeNode(t.id))})},o=(r,t)=>{let e,n=0,i,a=0;const{marginx:A=0,marginy:c=0}=t||{},h=v=>{if(!v.data)return;const p=v.data.x,H=v.data.y,j=v.data.width,$=v.data.height;!isNaN(p)&&!isNaN(j)&&(e===void 0&&(e=p-j/2),e=Math.min(e,p-j/2),n=Math.max(n,p+j/2)),!isNaN(H)&&!isNaN($)&&(i===void 0&&(i=H-$/2),i=Math.min(i,H-$/2),a=Math.max(a,H+$/2))};return r.getAllNodes().forEach(v=>{h(v)}),r.getAllEdges().forEach(v=>{v!=null&&v.data.hasOwnProperty("x")&&h(v)}),e-=A,i-=c,r.getAllNodes().forEach(v=>{v.data.x-=e,v.data.y-=i}),r.getAllEdges().forEach(v=>{var p;(p=v.data.points)===null||p===void 0||p.forEach(H=>{H.x-=e,H.y-=i}),v.data.hasOwnProperty("x")&&(v.data.x-=e),v.data.hasOwnProperty("y")&&(v.data.y-=i)}),{width:n-e+A,height:a-i+c}},d=r=>{r.getAllEdges().forEach(t=>{const e=r.getNode(t.source),n=r.getNode(t.target);let i,a;t.data.points?(i=t.data.points[0],a=t.data.points[t.data.points.length-1]):(t.data.points=[],i={x:n.data.x,y:n.data.y},a={x:e.data.x,y:e.data.y}),t.data.points.unshift(Zc(e.data,i)),t.data.points.push(Zc(n.data,a))})},b=r=>{r.getAllEdges().forEach(t=>{if(t.data.hasOwnProperty("x"))switch((t.data.labelpos==="l"||t.data.labelpos==="r")&&(t.data.width-=t.data.labeloffset),t.data.labelpos){case"l":t.data.x-=t.data.width/2+t.data.labeloffset;break;case"r":t.data.x+=t.data.width/2+t.data.labeloffset;break}})},C=r=>{r.getAllEdges().forEach(t=>{var e;t.data.reversed&&((e=t.data.points)===null||e===void 0||e.reverse())})},G=r=>{r.getAllNodes().forEach(t=>{var e,n,i;if(!((e=r.getChildren(t.id))===null||e===void 0)&&e.length){const a=r.getNode(t.id),A=r.getNode(a.data.borderTop),c=r.getNode(a.data.borderBottom),h=r.getNode(a.data.borderLeft[((n=a.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),v=r.getNode(a.data.borderRight[((i=a.data.borderRight)===null||i===void 0?void 0:i.length)-1]);a.data.width=Math.abs((v==null?void 0:v.data.x)-(h==null?void 0:h.data.x))||10,a.data.height=Math.abs((c==null?void 0:c.data.y)-(A==null?void 0:A.data.y))||10,a.data.x=((h==null?void 0:h.data.x)||0)+a.data.width/2,a.data.y=((A==null?void 0:A.data.y)||0)+a.data.height/2}}),r.getAllNodes().forEach(t=>{t.data.dummy==="border"&&r.removeNode(t.id)})},J=r=>{r.getAllEdges().forEach(t=>{if(t.source===t.target){const e=r.getNode(t.source);e.data.selfEdges||(e.data.selfEdges=[]),e.data.selfEdges.push(t),r.removeEdge(t.id)}})},lt=r=>{const t=KA(r);t==null||t.forEach(e=>{let n=0;e==null||e.forEach((i,a)=>{var A;const c=r.getNode(i);c.data.order=a+n,(A=c.data.selfEdges)===null||A===void 0||A.forEach(h=>{To(r,"selfedge",{width:h.data.width,height:h.data.height,rank:c.data.rank,order:a+ ++n,e:h},"_se")}),delete c.data.selfEdges})})},Ft=r=>{r.getAllNodes().forEach(t=>{const e=r.getNode(t.id);if(e.data.dummy==="selfedge"){const n=r.getNode(e.data.e.source),i=n.data.x+n.data.width/2,a=n.data.y,A=e.data.x-i,c=n.data.height/2;r.hasEdge(e.data.e.id)?r.updateEdgeData(e.data.e.id,e.data.e.data):r.addEdge({id:e.data.e.id,source:e.data.e.source,target:e.data.e.target,data:e.data.e.data}),r.removeNode(t.id),e.data.e.data.points=[{x:i+2*A/3,y:a-c},{x:i+5*A/6,y:a-c},{y:a,x:i+A},{x:i+5*A/6,y:a+c},{x:i+2*A/3,y:a+c}],e.data.e.data.x=e.data.x,e.data.e.data.y=e.data.y}})},Wt=(r,t)=>{const e={};return t==null||t.forEach(n=>{r[n]!==void 0&&(e[n]=+r[n])}),e},pe=(r={})=>{const t={};return Object.keys(r).forEach(e=>{t[e.toLowerCase()]=r[e]}),t};function ze(r){if(!r)return[0,0,0];if((0,qe.Z)(r))return[r,r,r];if(r.length===0)return[0,0,0];const[t,e=t,n=t]=r;return[t,e,n]}function _e(r,t){let e;return(0,Me.Z)(t)?e=t:(0,qe.Z)(t)?e=()=>t:e=()=>r,e}function dn(r,t,e=!0){return!t&&t!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?e?Math.max(...i)||r:i:(0,S.Z)(i)&&i.width&&i.height?e?Math.max(i.width,i.height)||r:[i.width,i.height]:i:r}:(0,Me.Z)(t)?t:(0,qe.Z)(t)?()=>t:Array.isArray(t)?()=>e?Math.max(...t)||r:t:(0,S.Z)(t)&&t.width&&t.height?()=>e?Math.max(t.width,t.height)||r:[t.width,t.height]:()=>r}const bn=(r,t,e=10)=>{let n;const i=typeof t=="function"?t:()=>t||0;return r?Array.isArray(r)?n=A=>r:(0,Me.Z)(r)?n=r:n=A=>r:n=A=>{var c,h,v;if(!((c=A.data)===null||c===void 0)&&c.bboxSize)return(h=A.data)===null||h===void 0?void 0:h.bboxSize;if(!((v=A.data)===null||v===void 0)&&v.size){const p=A.data.size;return Array.isArray(p)?p:(0,S.Z)(p)?[p.width,p.height]:p}return e},A=>{const c=n(A),h=i(A);return Math.max(...ze(c))+h}},xn=r=>{if(r===null)return r;if(r instanceof Date)return new Date(r.getTime());if(r instanceof Array){const t=[];return r.forEach(e=>{t.push(e)}),t.map(e=>xn(e))}if(typeof r=="object"){const t={};return Object.keys(r).forEach(e=>{t[e]=xn(r[e])}),t}return r},vn=(r,t)=>{const e=xn(r);return e.data=e.data||{},t&&((0,qe.Z)(e.data.x)||(e.data.x=Math.random()*t[0]),(0,qe.Z)(e.data.y)||(e.data.y=Math.random()*t[1])),e},Wn={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class lr{constructor(t={}){this.options=t,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Wn),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,e)})}genericDagreLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:a,align:A,rankdir:c="TB",ranksep:h,nodesep:v,ranksepFunc:p,nodesepFunc:H,edgeLabelSpace:j,ranker:$,nodeOrder:At,begin:Et,controlPoints:It,radial:te,sortByCombo:oe,preset:Se}=i,en=new Xa.k({tree:[]}),kn=_e(h||50,p),Fn=_e(v||50,H);let Xn=Fn,Cn=kn;(c==="LR"||c==="RL")&&(Xn=kn,Cn=Fn);const mr=dn(10,a,!1),Hr=e.getAllNodes(),$r=e.getAllEdges();Hr.forEach(Pr=>{const Pi=ze(mr(Pr)),Aa=Cn(Pr),wa=Xn(Pr),rs=Pi[0]+2*wa,Ps=Pi[1]+2*Aa,Ea=Pr.data.layer;(0,qe.Z)(Ea)?en.addNode({id:Pr.id,data:{width:rs,height:Ps,layer:Ea}}):en.addNode({id:Pr.id,data:{width:rs,height:Ps}})}),oe&&(en.attachTreeStructure("combo"),Hr.forEach(Pr=>{const{parentId:Pi}=Pr.data;Pi!==void 0&&en.hasNode(Pi)&&en.setParent(Pr.id,Pi,"combo")})),$r.forEach(Pr=>{en.addEdge({id:Pr.id,source:Pr.source,target:Pr.target,data:{weight:Pr.data.weight||1}})});let Li;Se!=null&&Se.length&&(Li=new Xa.k({nodes:Se})),Zu(en,{prevGraph:Li,edgeLabelSpace:j,keepNodeOrder:!!At,nodeOrder:At||[],acyclicer:"greedy",ranker:$,rankdir:c,nodesep:v,align:A});const Ei=[0,0];if(Et){let Pr=1/0,Pi=1/0;en.getAllNodes().forEach(Aa=>{Pr>Aa.data.x&&(Pr=Aa.data.x),Pi>Aa.data.y&&(Pi=Aa.data.y)}),en.getAllEdges().forEach(Aa=>{var wa;(wa=Aa.data.points)===null||wa===void 0||wa.forEach(rs=>{Pr>rs.x&&(Pr=rs.x),Pi>rs.y&&(Pi=rs.y)})}),Ei[0]=Et[0]-Pr,Ei[1]=Et[1]-Pi}const Si=c==="LR"||c==="RL";if(!te){const Pr=new Set,Aa=c==="BT"||c==="RL"?(Ea,ys)=>ys-Ea:(Ea,ys)=>Ea-ys;en.getAllNodes().forEach(Ea=>{Ea.data.x=Ea.data.x+Ei[0],Ea.data.y=Ea.data.y+Ei[1],Pr.add(Si?Ea.data.x:Ea.data.y)});const wa=Array.from(Pr).sort(Aa),rs=Si?(Ea,ys)=>Ea.x!==ys.x:(Ea,ys)=>Ea.y!==ys.y,Ps=Si?(Ea,ys,Us)=>{const vs=Math.max(ys.y,Us.y),uA=Math.min(ys.y,Us.y);return Ea.filter(vl=>vl.y<=vs&&vl.y>=uA)}:(Ea,ys,Us)=>{const vs=Math.max(ys.x,Us.x),uA=Math.min(ys.x,Us.x);return Ea.filter(vl=>vl.x<=vs&&vl.x>=uA)};en.getAllEdges().forEach((Ea,ys)=>{var Us;j&&It&&Ea.data.type!=="loop"&&(Ea.data.controlPoints=Ir((Us=Ea.data.points)===null||Us===void 0?void 0:Us.map(({x:vs,y:uA})=>({x:vs+Ei[0],y:uA+Ei[1]})),en.getNode(Ea.source),en.getNode(Ea.target),wa,Si,rs,Ps))})}let ui=[];ui=en.getAllNodes().map(Pr=>vn(Pr));const Ui=en.getAllEdges();return t&&(ui.forEach(Pr=>{e.mergeNodeData(Pr.id,{x:Pr.data.x,y:Pr.data.y})}),Ui.forEach(Pr=>{e.mergeEdgeData(Pr.id,{controlPoints:Pr.data.controlPoints})})),{nodes:ui,edges:Ui}})}}const Ir=(r,t,e,n,i,a,A)=>{let c=(r==null?void 0:r.slice(1,r.length-1))||[];if(t&&e){let{x:h,y:v}=t.data,{x:p,y:H}=e.data;if(i&&(h=t.data.y,v=t.data.x,p=e.data.y,H=e.data.x),H!==v&&h!==p){const j=n.indexOf(v),$=n[j+1];if($){const It=c[0],te=i?{x:(v+$)/2,y:(It==null?void 0:It.y)||p}:{x:(It==null?void 0:It.x)||p,y:(v+$)/2};(!It||a(It,te))&&c.unshift(te)}const At=n.indexOf(H),Et=Math.abs(At-j);if(Et===1)c=A(c,t.data,e.data),c.length||c.push(i?{x:(v+H)/2,y:h}:{x:h,y:(v+H)/2});else if(Et>1){const It=n[At-1];if(It){const te=c[c.length-1],oe=i?{x:(H+It)/2,y:(te==null?void 0:te.y)||p}:{x:(te==null?void 0:te.x)||h,y:(H+It)/2};(!te||a(te,oe))&&c.push(oe)}}}}return c},Tr=(r,t,e)=>{const n=r.getAllNodes(),i=r.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return t&&r.mergeNodeData(n[0].id,{x:e[0],y:e[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:e[0],y:e[1]})})],edges:i}},pr={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class wr{constructor(t={}){this.options=t,this.id="circular",this.options=Object.assign(Object.assign({},pr),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,t,e)})}genericCircularLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:A,center:c,divisions:h,startAngle:v=0,endAngle:p=2*Math.PI,angleRatio:H,ordering:j,clockwise:$,nodeSpacing:At,nodeSize:Et}=i,It=e.getAllNodes(),te=e.getAllEdges(),[oe,Se,en]=ii(a,A,c),kn=It==null?void 0:It.length;if(!kn||kn===1)return Tr(e,t,en);const Fn=(p-v)/kn;let{radius:Xn,startRadius:Cn,endRadius:mr}=i;if(At){const Si=_e(10,At),ui=dn(10,Et);let Ui=-1/0;It.forEach(Pr=>{const Pi=ui(Pr);Ui{Pi===0?Qa+=Ui||10:Qa+=(Si(Pr)||0)+(Ui||10)}),Xn=Qa/(2*Math.PI)}else!Xn&&!Cn&&!mr?Xn=Math.min(Se,oe)/2:!Cn&&mr?Cn=mr:Cn&&!mr&&(mr=Cn);const Hr=Fn*H;let $r=[];j==="topology"?$r=qr(e,It):j==="topology-directed"?$r=qr(e,It,!0):j==="degree"?$r=Vr(e,It):$r=It.map(Si=>vn(Si));const Li=Math.ceil(kn/h);for(let Si=0;Si{e.mergeNodeData(Si.id,{x:Si.data.x,y:Si.data.y})}),{nodes:$r,edges:te}})}}const qr=(r,t,e=!1)=>{const n=[vn(t[0])],i={},a=t.length;i[t[0].id]=!0;let A=0;return t.forEach((c,h)=>{if(h!==0)if((h===a-1||r.getDegree(c.id,"both")!==r.getDegree(t[h+1].id,"both")||r.areNeighbors(n[A].id,c.id))&&!i[c.id])n.push(vn(c)),i[c.id]=!0,A++;else{const v=e?r.getSuccessors(n[A].id):r.getNeighbors(n[A].id);let p=!1;for(let j=0;j{e.push(vn(n))}),e.sort((n,i)=>r.getDegree(n.id,"both")-r.getDegree(i.id,"both")),e}const ii=(r,t,e)=>{let n=r,i=t,a=e;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),a||(a=[n/2,i/2]),[n,i,a]},Kr=Array.isArray,wi={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class ra{constructor(t={}){this.options=t,this.id="concentric",this.options=Object.assign(Object.assign({},wi),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,t,e)})}genericConcentricLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:A,height:c,sortBy:h,maxLevelDiff:v,sweep:p,clockwise:H,equidistant:j,preventOverlap:$,startAngle:At=3/2*Math.PI,nodeSize:Et,nodeSpacing:It}=i,te=e.getAllNodes(),oe=e.getAllEdges(),Se=!A&&typeof window!="undefined"?window.innerWidth:A,en=!c&&typeof window!="undefined"?window.innerHeight:c,kn=a||[Se/2,en/2];if(!(te!=null&&te.length)||te.length===1)return Tr(e,t,kn);const Fn=[];let Xn,Cn=0;Kr(Et)?Xn=Math.max(Et[0],Et[1]):(0,Me.Z)(Et)?(Xn=-1/0,te.forEach(Pr=>{const Pi=Math.max(...ze(Et(Pr)));Pi>Xn&&(Xn=Pi)})):Xn=Et,Kr(It)?Cn=Math.max(It[0],It[1]):(0,qe.Z)(It)&&(Cn=It),te.forEach(Pr=>{const Pi=vn(Pr);Fn.push(Pi);let Aa=Xn;const{data:wa}=Pi;Kr(wa.size)?Aa=Math.max(wa.size[0],wa.size[1]):(0,qe.Z)(wa.size)?Aa=wa.size:(0,S.Z)(wa.size)&&(Aa=Math.max(wa.size.width,wa.size.height)),Xn=Math.max(Xn,Aa),(0,Me.Z)(It)&&(Cn=Math.max(It(Pr),Cn))});const mr={};Fn.forEach((Pr,Pi)=>{mr[Pr.id]=Pi});let Hr=h;(!(0,hi.Z)(Hr)||Fn[0].data[Hr]===void 0)&&(Hr="degree"),Hr==="degree"?Fn.sort((Pr,Pi)=>e.getDegree(Pi.id,"both")-e.getDegree(Pr.id,"both")):Fn.sort((Pr,Pi)=>Pi.data[Hr]-Pr.data[Hr]);const $r=Fn[0],Li=(v||(Hr==="degree"?e.getDegree($r.id,"both"):$r.data[Hr]))/4,Ei=[{nodes:[]}];let Si=Ei[0];Fn.forEach(Pr=>{if(Si.nodes.length>0){const Pi=Math.abs(Hr==="degree"?e.getDegree(Si.nodes[0].id,"both")-e.getDegree(Pr.id,"both"):Si.nodes[0].data[Hr]-Pr.data[Hr]);Li&&Pi>=Li&&(Si={nodes:[]},Ei.push(Si))}Si.nodes.push(Pr)});let ui=Xn+Cn;if(!$){const Pr=Ei.length>0&&Ei[0].nodes.length>1,Aa=(Math.min(Se,en)/2-ui)/(Ei.length+(Pr?1:0));ui=Math.min(ui,Aa)}let Ui=0;if(Ei.forEach(Pr=>{const Pi=p===void 0?2*Math.PI-2*Math.PI/Pr.nodes.length:p;if(Pr.dTheta=Pi/Math.max(1,Pr.nodes.length-1),Pr.nodes.length>1&&$){const Aa=Math.cos(Pr.dTheta)-Math.cos(0),wa=Math.sin(Pr.dTheta)-Math.sin(0),rs=Math.sqrt(ui*ui/(Aa*Aa+wa*wa));Ui=Math.max(rs,Ui)}Pr.r=Ui,Ui+=ui}),j){let Pr=0,Pi=0;for(let Aa=0;Aa{wa===0&&(Pi=Aa.r||0),Aa.r=Pi,Pi+=Pr})}return Ei.forEach(Pr=>{const Pi=Pr.dTheta||0,Aa=Pr.r||0;Pr.nodes.forEach((wa,rs)=>{const Ps=At+(H?1:-1)*Pi*rs;wa.data.x=kn[0]+Aa*Math.cos(Ps),wa.data.y=kn[1]+Aa*Math.sin(Ps)})}),t&&Fn.forEach(Pr=>e.mergeNodeData(Pr.id,{x:Pr.data.x,y:Pr.data.y})),{nodes:Fn,edges:oe}})}}var Ta=f(14301),Na=f(7695);const ci=.81,B=.1;function w(r,t,e,n,i=2){const a=t/e,A=r.getAllNodes(),c=A.map((p,H)=>{const{nodeStrength:j,x:$,y:At,z:Et,size:It}=p.data;return{x:$,y:At,z:Et,size:It,index:H,id:p.id,vx:0,vy:0,vz:0,weight:a*j}}),h=(i===2?(0,Ta.Z)(c,p=>p.x,p=>p.y):(0,Na.Z)(c,p=>p.x,p=>p.y,p=>p.z)).visitAfter(N),v=new Map;return c.forEach(p=>{v.set(p.id,p),nt(p,h,i)}),c.map((p,H)=>{const{id:j,data:$}=A[H],{mass:At=1}=$;n[j]={x:p.vx/At,y:p.vy/At,z:p.vz/At}}),n}function N(r){let t=0,e=0,n=0,i=0,a=0;const A=r.length;if(A){for(let c=0;c{var c;if(((c=r.data)===null||c===void 0?void 0:c.id)===a.id)return;const h=[e,n,i][A-1],v=a.x-r.x||B,p=a.y-r.y||B,H=a.z-r.z||B,j=[v,p,H],$=h-t;let At=0;for(let te=0;teL(n,i,a,A,c,r,e))}const Ot={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 re{constructor(t={}){this.options=t,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},Ot),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericForceLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),a=e.getAllNodes(),A=e.getAllEdges(),c=this.formatOptions(i,e),{dimensions:h,width:v,height:p,nodeSize:H,getMass:j,nodeStrength:$,edgeStrength:At,linkDistance:Et}=c,It=a.map((Cn,mr)=>Object.assign(Object.assign({},Cn),{data:Object.assign(Object.assign({},Cn.data),{x:(0,qe.Z)(Cn.data.x)?Cn.data.x:Math.random()*v,y:(0,qe.Z)(Cn.data.y)?Cn.data.y:Math.random()*p,z:(0,qe.Z)(Cn.data.z)?Cn.data.z:Math.random()*Math.sqrt(v*p),size:H(Cn)||30,mass:j(Cn),nodeStrength:$(Cn)})})),te=A.map(Cn=>Object.assign(Object.assign({},Cn),{data:Object.assign(Object.assign({},Cn.data),{edgeStrength:At(Cn),linkDistance:Et(Cn,e.getNode(Cn.source),e.getNode(Cn.target))})}));if(!(a!=null&&a.length))return this.lastResult={nodes:[],edges:A},{nodes:[],edges:A};const oe={};a.forEach((Cn,mr)=>{oe[Cn.id]={x:0,y:0,z:0}});const Se=new Xa.k({nodes:It,edges:te});this.formatCentripetal(c,Se);const{maxIteration:en,minMovement:kn,onTick:Fn}=c;if(this.lastLayoutNodes=It,this.lastLayoutEdges=te,this.lastAssign=t,this.lastGraph=e,this.lastCalcGraph=Se,this.lastOptions=c,this.lastVelMap=oe,typeof window=="undefined")return;let Xn=0;return new Promise(Cn=>{this.timeInterval=window.setInterval(()=>{(!a||!this.running)&&Cn({nodes:jn(e,It),edges:A}),this.runOneStep(Se,e,Xn,oe,c),this.updatePosition(e,Se,oe,c),t&&It.forEach(mr=>e.mergeNodeData(mr.id,{x:mr.data.x,y:mr.data.y,z:h===3?mr.data.z:void 0})),Fn==null||Fn({nodes:jn(e,It),edges:A}),Xn++,(Xn>=en||this.judgingDistance{let v=1;(0,qe.Z)(h==null?void 0:h.data.mass)&&(v=h==null?void 0:h.data.mass);const p=e.getDegree(h.id,"both");return!p||p<5?v:p*5*v}),n.nodeSize=bn(t.nodeSize,t.nodeSpacing);const c=t.linkDistance?_e(1,t.linkDistance):h=>1+n.nodeSize(e.getNode(h.source))+n.nodeSize(e.getNode(h.target));return n.linkDistance=c,n.nodeStrength=_e(1,t.nodeStrength),n.edgeStrength=_e(1,t.edgeStrength),n}formatCentripetal(t,e){const{dimensions:n,centripetalOptions:i,center:a,clusterNodeStrength:A,leafCluster:c,clustering:h,nodeClusterBy:v}=t,p=e.getAllNodes(),H=i||{leaf:2,single:2,others:1,center:te=>({x:a[0],y:a[1],z:n===3?a[2]:void 0})};typeof A!="function"&&(t.clusterNodeStrength=te=>A);let j,$;if(c&&v&&(j=Qe(e,v),$=Array.from(new Set(p==null?void 0:p.map(te=>te.data[v])))||[],t.centripetalOptions=Object.assign(H,{single:100,leaf:te=>{const{siblingLeaves:oe,sameTypeLeaves:Se}=j[te.id]||{};return(Se==null?void 0:Se.length)===(oe==null?void 0:oe.length)||($==null?void 0:$.length)===1?1:t.clusterNodeStrength(te)},others:1,center:te=>{const oe=e.getDegree(te.id,"both");if(!oe)return{x:100,y:100,z:0};let Se;if(oe===1){const{sameTypeLeaves:en=[]}=j[te.id]||{};en.length===1?Se=void 0:en.length>1&&(Se=_n(en))}else Se=void 0;return{x:Se==null?void 0:Se.x,y:Se==null?void 0:Se.y,z:Se==null?void 0:Se.z}}})),h&&v){j||(j=Qe(e,v)),$||($=Array.from(new Set(p.map(oe=>oe.data[v])))),$=$.filter(oe=>oe!==void 0);const te={};$.forEach(oe=>{const Se=p.filter(en=>en.data[v]===oe).map(en=>e.getNode(en.id));te[oe]=_n(Se)}),t.centripetalOptions=Object.assign(H,{single:oe=>t.clusterNodeStrength(oe),leaf:oe=>t.clusterNodeStrength(oe),others:oe=>t.clusterNodeStrength(oe),center:oe=>{const Se=te[oe.data[v]];return{x:Se==null?void 0:Se.x,y:Se==null?void 0:Se.y,z:Se==null?void 0:Se.z}}})}const{leaf:At,single:Et,others:It}=t.centripetalOptions||{};At&&typeof At!="function"&&(t.centripetalOptions.leaf=()=>At),Et&&typeof Et!="function"&&(t.centripetalOptions.single=()=>Et),It&&typeof It!="function"&&(t.centripetalOptions.others=()=>It)}runOneStep(t,e,n,i,a){const A={},c=t.getAllNodes(),h=t.getAllEdges();if(!(c!=null&&c.length))return;const{monitor:v}=a;if(this.calRepulsive(t,A,a),h&&this.calAttractive(t,A,a),this.calGravity(t,e,A,a),this.updateVelocity(t,A,i,a),v){const p=this.calTotalEnergy(A,c);v({energy:p,nodes:e.getAllNodes(),edges:e.getAllEdges(),iterations:n})}}calTotalEnergy(t,e){if(!(e!=null&&e.length))return 0;let n=0;return e.forEach((i,a)=>{const A=t[i.id].x,c=t[i.id].y,h=this.options.dimensions===3?t[i.id].z:0,v=A*A+c*c+h*h,{mass:p=1}=i.data;n+=p*v*.5}),n}calRepulsive(t,e,n){const{dimensions:i,factor:a,coulombDisScale:A}=n;w(t,a,A*A,e,i)}calAttractive(t,e,n){const{dimensions:i,nodeSize:a}=n;t.getAllEdges().forEach((A,c)=>{const{source:h,target:v}=A,p=t.getNode(h),H=t.getNode(v);if(!p||!H)return;let j=H.data.x-p.data.x,$=H.data.y-p.data.y,At=i===3?H.data.z-p.data.z:0;!j&&!$&&(j=Math.random()*.01,$=Math.random()*.01,i===3&&!At&&(At=Math.random()*.01));const Et=Math.sqrt(j*j+$*$+At*At);if(Et{const{id:Et,data:It}=At,{mass:te,x:oe,y:Se,z:en}=It,kn=e.getNode(Et);let Fn=0,Xn=0,Cn=0,mr=j;const Hr=t.getDegree(Et,"in"),$r=t.getDegree(Et,"out"),Li=t.getDegree(Et,"both"),Ei=a==null?void 0:a(kn,Li);if(Ei){const[Si,ui,Ui]=Ei;Fn=oe-Si,Xn=Se-ui,mr=Ui}else Fn=oe-H[0],Xn=Se-H[1],Cn=en-H[2];if(mr&&(n[Et].x-=mr*Fn/te,n[Et].y-=mr*Xn/te,n[Et].z-=mr*Cn/te),$){const{leaf:Si,single:ui,others:Ui,center:Qa}=$,{x:Pr,y:Pi,z:Aa,centerStrength:wa}=(Qa==null?void 0:Qa(kn,c,h,v,p))||{x:0,y:0,z:0,centerStrength:0};if(!(0,qe.Z)(Pr)||!(0,qe.Z)(Pi))return;const rs=(oe-Pr)/te,Ps=(Se-Pi)/te,Ea=(en-Aa)/te;if(wa&&(n[Et].x-=wa*rs,n[Et].y-=wa*Ps,n[Et].z-=wa*Ea),Li===0){const Us=ui(kn);if(!Us)return;n[Et].x-=Us*rs,n[Et].y-=Us*Ps,n[Et].z-=Us*Ea;return}if(Hr===0||$r===0){const Us=Si(kn,c,h);if(!Us)return;n[Et].x-=Us*rs,n[Et].y-=Us*Ps,n[Et].z-=Us*Ea;return}const ys=Ui(kn);if(!ys)return;n[Et].x-=ys*rs,n[Et].y-=ys*Ps,n[Et].z-=ys*Ea}})}updateVelocity(t,e,n,i){const{damping:a,maxSpeed:A,interval:c,dimensions:h}=i,v=t.getAllNodes();v!=null&&v.length&&v.forEach(p=>{const{id:H}=p;let j=(n[H].x+e[H].x*c)*a||.01,$=(n[H].y+e[H].y*c)*a||.01,At=h===3?(n[H].z+e[H].z*c)*a||.01:0;const Et=Math.sqrt(j*j+$*$+At*At);if(Et>A){const It=A/Et;j=It*j,$=It*$,At=It*At}n[H]={x:j,y:$,z:At}})}updatePosition(t,e,n,i){const{distanceThresholdMode:a,interval:A,dimensions:c}=i,h=e.getAllNodes();if(!(h!=null&&h.length)){this.judgingDistance=0;return}let v=0;a==="max"?this.judgingDistance=-1/0:a==="min"&&(this.judgingDistance=1/0),h.forEach(p=>{const{id:H}=p,j=t.getNode(H);if((0,qe.Z)(j.data.fx)&&(0,qe.Z)(j.data.fy)){e.mergeNodeData(H,{x:j.data.fx,y:j.data.fy,z:c===3?j.data.fz:void 0});return}const $=n[H].x*A,At=n[H].y*A,Et=c===3?n[H].z*A:0;e.mergeNodeData(H,{x:p.data.x+$,y:p.data.y+At,z:p.data.z+Et});const It=Math.sqrt($*$+At*At+Et*Et);switch(a){case"max":this.judgingDistanceIt&&(this.judgingDistance=It);break;default:v=v+It;break}}),(!a||a==="mean")&&(this.judgingDistance=v/h.length)}}const Qe=(r,t)=>{const e=r.getAllNodes();if(!(e!=null&&e.length))return{};const n={};return e.forEach((i,a)=>{r.getDegree(i.id,"both")===1&&(n[i.id]=ke(r,"leaf",i,t))}),n},ke=(r,t,e,n)=>{const i=r.getDegree(e.id,"in"),a=r.getDegree(e.id,"out");let A=e,c=[];i===0?(A=r.getSuccessors(e.id)[0],c=r.getNeighbors(A.id)):a===0&&(A=r.getPredecessors(e.id)[0],c=r.getNeighbors(A.id)),c=c.filter(v=>r.getDegree(v.id,"in")===0||r.getDegree(v.id,"out")===0);const h=Ln(r,t,n,e,c);return{coreNode:A,siblingLeaves:c,sameTypeLeaves:h}},Ln=(r,t,e,n,i)=>{const a=n.data[e]||"";let A=(i==null?void 0:i.filter(c=>c.data[e]===a))||[];return t==="leaf"&&(A=A.filter(c=>r.getDegree(c.id,"in")===0||r.getDegree(c.id,"out")===0)),A},_n=r=>{const t={x:0,y:0};r.forEach(n=>{const{x:i,y:a}=n.data;t.x+=i||0,t.y+=a||0});const e=r.length||1;return{x:t.x/e,y:t.y/e}},jn=(r,t)=>t.map(e=>{const{id:n,data:i}=e,a=r.getNode(n);return Object.assign(Object.assign({},a),{data:Object.assign(Object.assign({},a.data),{x:i.x,y:i.y,z:i.z})})});var hr=f(16970);const ri=r=>{const t=[],e=r.length;for(let n=0;nt[i][n]+t[n][a]&&(t[i][a]=t[i][n]+t[n][a]);return t},Rr=(r,t)=>{const{nodes:e,edges:n}=r,i=[],a={};if(!e)throw new Error("invalid nodes data!");return e&&e.forEach((A,c)=>{a[A.id]=c;const h=[];i.push(h)}),n==null||n.forEach(A=>{const{source:c,target:h}=A,v=a[c],p=a[h];v===void 0||p===void 0||(i[v][p]=1,t||(i[p][v]=1))}),i},Jr=(r,t)=>{const e=[];return r.forEach(n=>{const i=[];n.forEach(a=>{i.push(a*t)}),e.push(i)}),e},Zi=r=>{let t=1/0,e=1/0,n=-1/0,i=-1/0;return r.forEach(a=>{let A=a.data.size;Kr(A)?A.length===1&&(A=[A[0],A[0]]):(0,qe.Z)(A)?A=[A,A]:(A===void 0||isNaN(A))&&(A=[30,30]);const c=[A[0]/2,A[1]/2],h=a.data.x-c[0],v=a.data.x+c[0],p=a.data.y-c[1],H=a.data.y+c[1];t>h&&(t=h),e>p&&(e=p),nMath.sqrt((r.x-t.x)*(r.x-t.x)+(r.y-t.y)*(r.y-t.y)),oi=(r,t,e,n="TB",i,a={})=>{if(!(t!=null&&t.length))return;const{stopBranchFn:A,stopAllFn:c}=a;for(let h=0;h{const te=vn(c[It]);te.data.x=Et[0]+a[0],te.data.y=Et[1]+a[1],$.push(te)}),t&&$.forEach(Et=>e.mergeNodeData(Et.id,{x:Et.data.x,y:Et.data.y})),{nodes:$,edges:h}})}}const Ti=r=>{let t=-999999;r.forEach(e=>{e.forEach(n=>{n!==1/0&&t{e.forEach((i,a)=>{i===1/0&&(r[n][a]=t)})})},ei=r=>{const e=hr.y3.mul(hr.y3.pow(r,2),-.5),n=e.mean("row"),i=e.mean("column"),a=e.mean();e.add(a).subRowVector(n).subColumnVector(i);const A=new hr.Sc(e),c=hr.y3.sqrt(A.diagonalMatrix).diagonal();return A.leftSingularVectors.toJSON().map(h=>hr.y3.mul([h],[c]).toJSON()[0].splice(0,2))};function Ji(r){return!!r.tick&&!!r.stop}const ia={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},Ii={center:[0,0],comboPadding:10,treeKey:"combo"};class As{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},Ii),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:a,treeKey:A,outerLayout:c}=i,h=e.getAllNodes().filter(Cn=>!Cn.data._isCombo),v=e.getAllNodes().filter(Cn=>Cn.data._isCombo),p=e.getAllEdges(),H=h==null?void 0:h.length;if(!H||H===1)return Tr(e,t,a);const j=[],$=new Map;h.forEach(Cn=>{$.set(Cn.id,Cn)});const At=new Map;v.forEach(Cn=>{At.set(Cn.id,Cn)});const Et=new Map,It=this.getInnerGraphs(e,A,$,At,p,i,Et);yield Promise.all(It);const te=new Map,oe=[],Se=new Map;let en=!0;e.getRoots(A).forEach(Cn=>{const mr=Et.get(Cn.id),Hr=At.get(Cn.id)||$.get(Cn.id),$r={id:Cn.id,data:Object.assign(Object.assign({},Cn.data),{x:mr.data.x||Hr.data.x,y:mr.data.y||Hr.data.y,fx:mr.data.fx||Hr.data.fx,fy:mr.data.fy||Hr.data.fy,mass:mr.data.mass||Hr.data.mass,size:mr.data.size})};oe.push($r),te.set(Cn.id,!0),!isNaN($r.data.x)&&$r.data.x!==0&&!isNaN($r.data.y)&&$r.data.y!==0?en=!1:($r.data.x=Math.random()*100,$r.data.y=Math.random()*100),oi(e,[Cn],Li=>{Li.id!==Cn.id&&Se.set(Li.id,Cn.id)},"TB",A)});const kn=[];p.forEach(Cn=>{const mr=Se.get(Cn.source)||Cn.source,Hr=Se.get(Cn.target)||Cn.target;mr!==Hr&&te.has(mr)&&te.has(Hr)&&kn.push({id:Cn.id,source:mr,target:Hr,data:{}})});let Fn;if(oe!=null&&oe.length){if(oe.length===1)oe[0].data.x=a[0],oe[0].data.y=a[1];else{const Cn=new Xa.k({nodes:oe,edges:kn}),mr=c||new re;en&&ia[mr.id]&&(yield(oe.length<100?new Hi:new ra).assign(Cn));const Hr=Object.assign({center:a,kg:5,preventOverlap:!0,animate:!1},mr.id==="force"?{gravity:1,factor:4,linkDistance:($r,Li,Ei)=>{const Si=Math.max(...Li.data.size)||32,ui=Math.max(...Ei.data.size)||32;return Si/2+ui/2+200}}:{});Fn=yield ls(mr,Cn,Hr)}Et.forEach(Cn=>{var mr;const Hr=Fn.nodes.find(Ei=>Ei.id===Cn.id);if(Hr){const{x:Ei,y:Si}=Hr.data;Cn.data.visited=!0,Cn.data.x=Ei,Cn.data.y=Si,j.push({id:Cn.id,data:{x:Ei,y:Si}})}const{x:$r,y:Li}=Cn.data;(mr=Cn.data.nodes)===null||mr===void 0||mr.forEach(Ei=>{j.push({id:Ei.id,data:{x:Ei.data.x+$r,y:Ei.data.y+Li}})})}),Et.forEach(({data:Cn})=>{const{x:mr,y:Hr,visited:$r,nodes:Li}=Cn;Li==null||Li.forEach(Ei=>{if(!$r){const Si=j.find(ui=>ui.id===Ei.id);Si.data.x+=mr||0,Si.data.y+=Hr||0}})})}return t&&j.forEach(Cn=>{e.mergeNodeData(Cn.id,{x:Cn.data.x,y:Cn.data.y})}),{nodes:j,edges:p}})}initVals(t){const e=Object.assign({},t),{nodeSize:n,spacing:i,comboPadding:a}=t;let A,c;if((0,qe.Z)(i)?c=()=>i:(0,Me.Z)(i)?c=i:c=()=>0,e.spacing=c,!n)A=v=>{const p=c(v);return v.size?Kr(v.size)?((v.size[0]>v.size[1]?v.size[0]:v.size[1])+p)/2:(0,S.Z)(v.size)?((v.size.width>v.size.height?v.size.width:v.size.height)+p)/2:(v.size+p)/2:32+p/2};else if((0,Me.Z)(n))A=v=>{const p=n(v),H=c(v);return Kr(v.size)?((v.size[0]>v.size[1]?v.size[0]:v.size[1])+H)/2:((p||32)+H)/2};else if(Kr(n)){const p=(n[0]>n[1]?n[0]:n[1])/2;A=H=>p+c(H)/2}else{const v=n/2;A=p=>v+c(p)/2}e.nodeSize=A;let h;return(0,qe.Z)(a)?h=()=>a:Kr(a)?h=()=>Math.max.apply(null,a):(0,Me.Z)(a)?h=a:h=()=>0,e.comboPadding=h,e}getInnerGraphs(t,e,n,i,a,A,c){const{nodeSize:h,comboPadding:v,spacing:p,innerLayout:H}=A,j=H||new ra({}),$={center:[0,0],preventOverlap:!0,nodeSpacing:p},At=[],Et=It=>{let te=(v==null?void 0:v(It))||10;return Kr(te)&&(te=Math.max(...te)),{size:te?[te*2,te*2]:[30,30],padding:te}};return t.getRoots(e).forEach(It=>{c.set(It.id,{id:It.id,data:{nodes:[],size:Et(It).size}});let te=Promise.resolve();oi(t,[It],oe=>{var Se;if(!oe.data._isCombo)return;const{size:en,padding:kn}=Et(oe);if(!(!((Se=t.getChildren(oe.id,e))===null||Se===void 0)&&Se.length))c.set(oe.id,{id:oe.id,data:Object.assign(Object.assign({},oe.data),{size:en})});else{const Fn=c.get(oe.id);c.set(oe.id,{id:oe.id,data:Object.assign({nodes:[]},Fn==null?void 0:Fn.data)});const Xn=new Map,Cn=t.getChildren(oe.id,e).map($r=>{if($r.data._isCombo)return c.has($r.id)||c.set($r.id,{id:$r.id,data:Object.assign({},$r.data)}),Xn.set($r.id,!0),c.get($r.id);const Li=n.get($r.id)||i.get($r.id);return Xn.set($r.id,!0),{id:$r.id,data:Object.assign(Object.assign({},Li.data),$r.data)}}),mr={nodes:Cn,edges:a.filter($r=>Xn.has($r.source)&&Xn.has($r.target))};let Hr=1/0;Cn.forEach($r=>{var Li;let{size:Ei}=$r.data;Ei||(Ei=((Li=c.get($r.id))===null||Li===void 0?void 0:Li.data.size)||(h==null?void 0:h($r))||[30,30]),(0,qe.Z)(Ei)&&(Ei=[Ei,Ei]);const[Si,ui]=Ei;Hr>Si&&(Hr=Si),Hr>ui&&(Hr=ui),$r.data.size=Ei}),te=te.then(()=>(0,Di.mG)(this,void 0,void 0,function*(){const $r=new Xa.k(mr);yield ls(j,$r,$,!0);const{minX:Li,minY:Ei,maxX:Si,maxY:ui}=Zi(Cn),Ui={x:(Si+Li)/2,y:(ui+Ei)/2};mr.nodes.forEach(Pr=>{Pr.data.x-=Ui.x,Pr.data.y-=Ui.y});const Qa=[Math.max(Si-Li,Hr)+kn*2,Math.max(ui-Ei,Hr)+kn*2];c.get(oe.id).data.size=Qa,c.get(oe.id).data.nodes=Cn}))}return!0},"BT",e),At.push(te)}),At}}function ls(r,t,e,n){var i;return(0,Di.mG)(this,void 0,void 0,function*(){return Ji(r)?(r.execute(t,e),r.stop(),r.tick((i=e.iterations)!==null&&i!==void 0?i:300)):n?yield r.assign(t,e):yield r.execute(t,e)})}var ms=f(31136),Fa=f(84365),Fs=f(32575),sA=f(33039),$s=f(54774),yo=f(34123),gl=f(97468),oA=f(74515);class $A{constructor(t){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:ms.Z,manyBody:Fa.Z,center:Fs.Z,collide:sA.Z,radial:$s.Z,x:yo.Z,y:gl.Z},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},(0,y.Z)(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const n=this.context.nodes.find(i=>i.id===t);n&&e.forEach((i,a)=>{if(typeof i=="number"||i===null){const A=["fx","fy","fz"][a];n[A]=i}})}getOptions(t){var e,n;const i=(0,y.Z)({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(t,e,n){var i;return(0,Di.mG)(this,void 0,void 0,function*(){const a=this.getOptions(n),A=e.getAllNodes().map(({id:p,data:H})=>Object.assign(Object.assign({id:p},H),(0,oa.Z)(H.data,this.config.inputNodeAttrs))),c=e.getAllEdges().map(p=>Object.assign({},p));Object.assign(this.context,{assign:t,nodes:A,edges:c,graph:e});const h=new Promise(p=>{this.resolver=p}),v=this.setSimulation(a);return v.nodes(A),(i=v.force("link"))===null||i===void 0||i.links(c),h})}getResult(){const{assign:t,nodes:e,edges:n,graph:i}=this.context,a=e.map(c=>({id:c.id,data:Object.assign(Object.assign({},c.data),(0,oa.Z)(c,this.config.outputNodeAttrs))})),A=n.map(({id:c,source:h,target:v,data:p})=>({id:c,source:typeof h=="object"?h.id:h,target:typeof v=="object"?v.id:v,data:p}));return t&&a.forEach(c=>i.mergeNodeData(c.id,c.data)),{nodes:a,edges:A}}initSimulation(){return(0,oA.Z)()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var n;return(n=t.onTick)===null||n===void 0?void 0:n.call(t,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),tl(e,this.config.simulationAttrs.map(n=>[n,t[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const a=n;if(t[n]){let A=e.force(a);A||(A=i(),e.force(a,A)),tl(A,Object.entries(t[a]))}else e.force(a,null)}),e}}const tl=(r,t)=>t.reduce((e,[n,i])=>!e[n]||i===void 0?e:e[n].call(r,i),r);var el=f(92546),MA=f.n(el);class AA{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,AA.defaultOptions,t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=n,a=new el.graphlib.Graph;a.setGraph(n),a.setDefaultEdgeLabel(()=>({}));const A=e.getAllNodes(),c=e.getAllEdges();[...A,...c].some(({id:v})=>(0,qe.Z)(v))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(v=>{const{id:p}=v,H=Object.assign({},v.data);if(i!==void 0){const[j,$]=ze((0,Me.Z)(i)?i(v):i);Object.assign(H,{width:j,height:$})}a.setNode(p.toString(),H)}),e.getAllEdges().forEach(({id:v,source:p,target:H})=>{a.setEdge(p.toString(),H.toString(),{id:v})}),MA().layout(a);const h={nodes:[],edges:[]};return a.nodes().forEach(v=>{const p=a.node(v);h.nodes.push({id:v,data:p}),t&&e.mergeNodeData(v,p)}),a.edges().forEach(v=>{const p=a.edge(v),{id:H}=p,j=(0,Di._T)(p,["id"]),{v:$,w:At}=v;h.edges.push({id:H,source:$,target:At,data:j}),t&&e.mergeEdgeData(H,j)}),h})}}AA.defaultOptions={};class jo{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,n=t.ry-this.ry;let i=Math.hypot(e,n);i=i<1e-4?1e-4:i;const a=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=a*e/i,this.fy+=a*n/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,n=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,a=this.degree+t.degree,A={rx:n,ry:i,mass:e,degree:a};return new jo(A)}}class Yo{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Yo(i)}}class lA{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new lA(this.quad.NW()),this.NE=new lA(this.quad.NE()),this.SW=new lA(this.quad.SW()),this.SE=new lA(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,n=this.body.distanceTo(t);e/nvn(te,[c,h])),At=i.filter(te=>{const{source:oe,target:Se}=te;return oe!==Se}),Et=new Xa.k({nodes:$,edges:At}),It=this.getSizes(Et,H);if(this.run(Et,e,p,It,t,A),v){for(let oe=0;oe250&&(n.barnesHut=!0),h===void 0&&e>100&&(n.prune=!0),v===0&&!h?(n.maxIteration=250,e<=200&&e>100?n.maxIteration=1e3:e>200&&(n.maxIteration=1200)):v===0&&h&&(n.maxIteration=100,e<=200&&e>100?n.maxIteration=500:e>200&&(n.maxIteration=950)),p||(n.kr=50,e>100&&e<=500?n.kr=20:e>500&&(n.kr=1)),H||(n.kg=20,e>100&&e<=500?n.kg=10:e>500&&(n.kg=1)),n}run(t,e,n,i,a,A){const{kr:c,barnesHut:h,onTick:v}=A,p=t.getAllNodes();let H=0,j=n;const $={},At={},Et={};for(let It=0;It0;)H=this.oneStep(t,{iter:j,preventOverlapIters:50,krPrime:100,sg:H,forces:$,preForces:At,bodies:Et,sizes:i},A),j--,v==null||v({nodes:p,edges:e.getAllEdges()});return t}oneStep(t,e,n){const{iter:i,preventOverlapIters:a,krPrime:A,sg:c,preForces:h,bodies:v,sizes:p}=e;let{forces:H}=e;const{preventOverlap:j,barnesHut:$}=n,At=t.getAllNodes();for(let Et=0;Eta||!j)?H=this.getOptRepGraForces(t,H,v,n):H=this.getRepGraForces(t,i,a,H,A,p,n),this.updatePos(t,H,h,c,n)}getAttrForces(t,e,n,i,a,A){const{preventOverlap:c,dissuadeHubs:h,mode:v,prune:p}=A,H=t.getAllEdges();for(let j=0;j0&&(kn=en,Fn=en),a[$][0]+=kn*Se[0],a[At][0]-=Fn*Se[0],a[$][1]+=kn*Se[1],a[At][1]-=Fn*Se[1]}return a}getOptRepGraForces(t,e,n,i){const{kg:a,center:A,prune:c}=i,h=t.getAllNodes(),v=h.length;let p=9e10,H=-9e10,j=9e10,$=-9e10;for(let oe=0;oe=H&&(H=en.x),en.x<=p&&(p=en.x),en.y>=$&&($=en.y),en.y<=j&&(j=en.y))}const At=Math.max(H-p,$-j),Et={xmid:(H+p)/2,ymid:($+j)/2,length:At,massCenter:A,mass:v},It=new Yo(Et),te=new lA(It);for(let oe=0;oe0&&(Hr=v*(te+1)*(Xn+1)/mr),i[It.id][0]-=Hr*Cn[0],i[Fn.id][0]+=Hr*Cn[0],i[It.id][1]-=Hr*Cn[1],i[Fn.id][1]+=Hr*Cn[1]}const oe=[It.data.x-H[0],It.data.y-H[1]],Se=Math.hypot(oe[0],oe[1]);oe[0]=oe[0]/Se,oe[1]=oe[1]/Se;const en=p*(te+1);i[It.id][0]-=en*oe[0],i[It.id][1]-=en*oe[1]}return i}updatePos(t,e,n,i,a){const{ks:A,tao:c,prune:h,ksmax:v}=a,p=t.getAllNodes(),H=p.length,j=[],$=[];let At=0,Et=0,It=i;for(let oe=0;oe1.5*te?1.5*te:It);for(let oe=0;oeCn?Cn:Fn;const mr=Fn*e[Se][0],Hr=Fn*e[Se][1];t.mergeNodeData(Se,{x:en.x+mr,y:en.y+Hr})}return It}}const Xd={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},Jd=800;class qd{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},Xd),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericFruchtermanLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:a,width:A,height:c,center:h,clustering:v,nodeClusterBy:p,maxIteration:H,onTick:j}=i,$=e.getAllNodes(),At=e.getAllEdges();if(!($!=null&&$.length)){const Se={nodes:[],edges:At};return this.lastResult=Se,Se}if($.length===1){t&&e.mergeNodeData($[0].id,{x:h[0],y:h[1],z:a===3?h[2]:void 0});const Se={nodes:[Object.assign(Object.assign({},$[0]),{data:Object.assign(Object.assign({},$[0].data),{x:h[0],y:h[1],z:a===3?h[2]:void 0})})],edges:At};return this.lastResult=Se,Se}const Et=$.map(Se=>vn(Se,[A,c])),It=new Xa.k({nodes:Et,edges:At}),te={};if(v&&Et.forEach(Se=>{const en=Se.data[p];te[en]||(te[en]={name:en,cx:0,cy:0,count:0})}),this.lastLayoutNodes=Et,this.lastLayoutEdges=At,this.lastAssign=t,this.lastGraph=It,this.lastOptions=i,this.lastClusterMap=te,typeof window=="undefined")return;let oe=0;return new Promise(Se=>{this.timeInterval=window.setInterval(()=>{if(!this.running){Se({nodes:Et,edges:At});return}this.runOneStep(It,te,i),t&&Et.forEach(({id:en,data:kn})=>e.mergeNodeData(en,{x:kn.x,y:kn.y,z:a===3?kn.z:void 0})),j==null||j({nodes:Et,edges:At}),oe++,oe>=H&&(window.clearInterval(this.timeInterval),Se({nodes:Et,edges:At}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:n,nodeClusterBy:i}=e,{center:a,width:A,height:c}=e;return e.width=!A&&typeof window!="undefined"?window.innerWidth:A,e.height=!c&&typeof window!="undefined"?window.innerHeight:c,e.center=a||[e.width/2,e.height/2],e.clustering=n&&!!i,e}runOneStep(t,e,n){const{dimensions:i,height:a,width:A,gravity:c,center:h,speed:v,clustering:p,nodeClusterBy:H,clusterGravity:j}=n,$=a*A,At=Math.sqrt($)/10,Et=t.getAllNodes(),It=$/(Et.length+1),te=Math.sqrt(It),oe={};if(this.applyCalculate(t,oe,te,It),p){for(const en in e)e[en].cx=0,e[en].cy=0,e[en].count=0;Et.forEach(en=>{const{data:kn}=en,Fn=e[kn[H]];(0,qe.Z)(kn.x)&&(Fn.cx+=kn.x),(0,qe.Z)(kn.y)&&(Fn.cy+=kn.y),Fn.count++});for(const en in e)e[en].cx/=e[en].count,e[en].cy/=e[en].count;const Se=j||c;Et.forEach((en,kn)=>{const{id:Fn,data:Xn}=en;if(!(0,qe.Z)(Xn.x)||!(0,qe.Z)(Xn.y))return;const Cn=e[Xn[H]],mr=Math.sqrt((Xn.x-Cn.cx)*(Xn.x-Cn.cx)+(Xn.y-Cn.cy)*(Xn.y-Cn.cy)),Hr=te*Se;oe[Fn].x-=Hr*(Xn.x-Cn.cx)/mr,oe[Fn].y-=Hr*(Xn.y-Cn.cy)/mr})}Et.forEach((Se,en)=>{const{id:kn,data:Fn}=Se;if(!(0,qe.Z)(Fn.x)||!(0,qe.Z)(Fn.y))return;const Xn=.01*te*c;oe[kn].x-=Xn*(Fn.x-h[0]),oe[kn].y-=Xn*(Fn.y-h[1]),i===3&&(oe[kn].z-=Xn*(Fn.z-h[2]))}),Et.forEach((Se,en)=>{const{id:kn,data:Fn}=Se;if((0,qe.Z)(Fn.fx)&&(0,qe.Z)(Fn.fy)){Fn.x=Fn.fx,Fn.y=Fn.fy,i===3&&(Fn.z=Fn.fz);return}if(!(0,qe.Z)(Fn.x)||!(0,qe.Z)(Fn.y))return;const Xn=Math.sqrt(oe[kn].x*oe[kn].x+oe[kn].y*oe[kn].y+(i===3?oe[kn].z*oe[kn].z:0));if(Xn>0){const Cn=Math.min(At*(v/Jd),Xn);t.mergeNodeData(kn,{x:Fn.x+oe[kn].x/Xn*Cn,y:Fn.y+oe[kn].y/Xn*Cn,z:i===3?Fn.z+oe[kn].z/Xn*Cn:void 0})}})}applyCalculate(t,e,n,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,n)}calRepulsive(t,e,n){const i=t.getAllNodes();i.forEach(({data:a,id:A},c)=>{e[A]={x:0,y:0,z:0},i.forEach(({data:h,id:v},p)=>{if(c<=p||!(0,qe.Z)(a.x)||!(0,qe.Z)(h.x)||!(0,qe.Z)(a.y)||!(0,qe.Z)(h.y))return;let H=a.x-h.x,j=a.y-h.y,$=this.options.dimensions===3?a.z-h.z:0,At=H*H+j*j+$*$;At===0&&(At=1,H=.01,j=.01,$=.01);const Et=n/At,It=H*Et,te=j*Et,oe=$*Et;e[A].x+=It,e[A].y+=te,e[v].x-=It,e[v].y-=te,this.options.dimensions===3&&(e[A].z+=oe,e[v].z-=oe)})})}calAttractive(t,e,n){t.getAllEdges().forEach(a=>{const{source:A,target:c}=a;if(!A||!c||A===c)return;const{data:h}=t.getNode(A),{data:v}=t.getNode(c);if(!(0,qe.Z)(v.x)||!(0,qe.Z)(h.x)||!(0,qe.Z)(v.y)||!(0,qe.Z)(h.y))return;const p=v.x-h.x,H=v.y-h.y,j=this.options.dimensions===3?v.z-h.z:0,$=Math.sqrt(p*p+H*H+j*j)/n,At=p*$,Et=H*$,It=j*$;e[A].x+=At,e[A].y+=Et,e[c].x-=At,e[c].y-=Et,this.options.dimensions===3&&(e[A].z+=It,e[c].z-=It)})}}const $d={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 tf{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},$d),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:a=[0,0],condense:A,preventOverlapPadding:c,preventOverlap:h,rows:v,cols:p,nodeSpacing:H,nodeSize:j,width:$,height:At,position:Et}=i;let{sortBy:It}=i;const te=e.getAllNodes(),oe=e.getAllEdges(),Se=te==null?void 0:te.length;if(!Se||Se===1)return Tr(e,t,a);const en=te.map(ui=>vn(ui));It!=="id"&&(!(0,hi.Z)(It)||en[0].data[It]===void 0)&&(It="degree"),It==="degree"?en.sort((ui,Ui)=>e.getDegree(Ui.id,"both")-e.getDegree(ui.id,"both")):It==="id"?en.sort((ui,Ui)=>(0,qe.Z)(Ui.id)&&(0,qe.Z)(ui.id)?Ui.id-ui.id:`${ui.id}`.localeCompare(`${Ui.id}`)):en.sort((ui,Ui)=>Ui.data[It]-ui.data[It]);const kn=!$&&typeof window!="undefined"?window.innerWidth:$,Fn=!At&&typeof window!="undefined"?window.innerHeight:At,Xn=Se,Cn={rows:v,cols:p};if(v!=null&&p!=null)Cn.rows=v,Cn.cols=p;else if(v!=null&&p==null)Cn.rows=v,Cn.cols=Math.ceil(Xn/Cn.rows);else if(v==null&&p!=null)Cn.cols=p,Cn.rows=Math.ceil(Xn/Cn.cols);else{const ui=Math.sqrt(Xn*Fn/kn);Cn.rows=Math.round(ui),Cn.cols=Math.round(kn/Fn*ui)}if(Cn.rows=Math.max(Cn.rows,1),Cn.cols=Math.max(Cn.cols,1),Cn.cols*Cn.rows>Xn){const ui=$u(Cn),Ui=th(Cn);(ui-1)*Ui>=Xn?$u(Cn,ui-1):(Ui-1)*ui>=Xn&&th(Cn,Ui-1)}else for(;Cn.cols*Cn.rows=Xn?th(Cn,Ui+1):$u(Cn,ui+1)}let mr=A?0:kn/Cn.cols,Hr=A?0:Fn/Cn.rows;if(h||H){const ui=_e(10,H),Ui=dn(30,j,!1);en.forEach(Qa=>{(!Qa.data.x||!Qa.data.y)&&(Qa.data.x=0,Qa.data.y=0);const Pr=e.getNode(Qa.id),[Pi,Aa]=ze(Ui(Pr)||30),wa=ui!==void 0?ui(Qa):c,rs=Pi+wa,Ps=Aa+wa;mr=Math.max(mr,rs),Hr=Math.max(Hr,Ps)})}const $r={},Li={row:0,col:0},Ei={};for(let ui=0;ui{e.mergeNodeData(ui.id,{x:ui.data.x,y:ui.data.y})}),Si})}}const $u=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.min(n,i):Math.min(n,i)===r.rows?r.rows=t:r.cols=t,e},th=(r,t)=>{let e;const n=r.rows||5,i=r.cols||5;return t==null?e=Math.max(n,i):Math.max(n,i)===r.rows?r.rows=t:r.cols=t,e},Ph=(r,t)=>r[`c-${t.row}-${t.col}`]||!1,qh=(r,t)=>r[`c-${t.row}-${t.col}`]=!0,$h=(r,t)=>{const e=r.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},ef=(r,t,e,n,i,a,A,c)=>{let h,v;const p=i[r.id];if(p)h=p.col*e+e/2+t[0],v=p.row*n+n/2+t[1];else{for(;Ph(c,A);)$h(a,A);h=A.col*e+e/2+t[0],v=A.row*n+n/2+t[1],qh(c,A),$h(a,A)}r.data.x=h,r.data.y=v},nf=(r,t,e)=>{try{const n=hr.y3.mul(hr.y3.pow(t,2),-.5),i=n.mean("row"),a=n.mean("column"),A=n.mean();n.add(A).subRowVector(i).subColumnVector(a);const c=new hr.Sc(n),h=hr.y3.sqrt(c.diagonalMatrix).diagonal();return c.leftSingularVectors.toJSON().map(v=>hr.y3.mul([v],[h]).toJSON()[0].splice(0,r))}catch(n){const i=[];for(let a=0;a{const e=Object.assign(Object.assign({},af),t),{positions:n,iterations:i,width:a,k:A,speed:c=100,strictRadial:h,focusIdx:v,radii:p=[],nodeSizeFunc:H}=e,j=r.getAllNodes(),$=[],At=a/10;for(let Et=0;Et{$[te]={x:0,y:0}}),of(j,n,$,A,p,H),Af(n,$,c,h,v,At,a,p);return n},of=(r,t,e,n,i,a)=>{t.forEach((A,c)=>{e[c]={x:0,y:0},t.forEach((h,v)=>{if(c===v||i[c]!==i[v])return;let p=A.x-h.x,H=A.y-h.y,j=Math.sqrt(p*p+H*H);if(j===0){j=1;const $=c>v?1:-1;p=.01*$,H=.01*$}if(j{const h=a||A/10;return n&&t.forEach((v,p)=>{const H=r[p].x-r[i].x,j=r[p].y-r[i].y,$=Math.sqrt(H*H+j*j);let At=j/$,Et=-H/$;const It=Math.sqrt(v.x*v.x+v.y*v.y);let te=Math.acos((At*v.x+Et*v.y)/It);te>Math.PI/2&&(te-=Math.PI/2,At*=-1,Et*=-1);const oe=Math.cos(te)*It;v.x=At*oe,v.y=Et*oe}),r.forEach((v,p)=>{if(p===i)return;const H=Math.sqrt(t[p].x*t[p].x+t[p].y*t[p].y);if(H>0&&p!==i){const j=Math.min(h*(e/rf),H);if(v.x+=t[p].x/H*j,v.y+=t[p].y/H*j,n){let $=v.x-r[i].x,At=v.y-r[i].y;const Et=Math.sqrt($*$+At*At);$=$/Et*c[p],At=At/Et*c[p],v.x=r[i].x+$,v.y=r[i].y+At}}}),r},lf={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class cf{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},lf),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:a,height:A,center:c,focusNode:h,unitRadius:v,nodeSize:p,nodeSpacing:H,strictRadial:j,preventOverlap:$,maxPreventOverlapIteration:At,sortBy:Et,linkDistance:It=50,sortStrength:te=10,maxIteration:oe=1e3}=i,Se=e.getAllNodes(),en=e.getAllEdges(),kn=!a&&typeof window!="undefined"?window.innerWidth:a,Fn=!A&&typeof window!="undefined"?window.innerHeight:A,Xn=c||[kn/2,Fn/2];if(!(Se!=null&&Se.length)||Se.length===1)return Tr(e,t,Xn);let Cn=Se[0];if((0,hi.Z)(h)){for(let vs=0;vsXn[0]?Xn[0]:kn-Xn[0],ui=Fn-Xn[1]>Xn[1]?Xn[1]:Fn-Xn[1];Si===0&&(Si=kn/2),ui===0&&(ui=Fn/2);const Ui=Math.min(Si,ui),Qa=Math.max(...Ei),Pr=[],Pi=v||Ui/Qa;Ei.forEach((vs,uA)=>{Pr[uA]=vs*Pi});const Aa=uf(Se,$r,It,Pr,Pi,Et,te),wa=hf(Aa),rs=nf(It,Aa,It);let Ps=rs.map(([vs,uA])=>({x:(isNaN(vs)?Math.random()*It:vs)-rs[mr][0],y:(isNaN(uA)?Math.random()*It:uA)-rs[mr][1]}));this.run(oe,Ps,wa,Aa,Pr,mr);let Ea;if($){Ea=bn(p,H);const vs={nodes:Se,nodeSizeFunc:Ea,positions:Ps,radii:Pr,height:Fn,width:kn,strictRadial:!!j,focusIdx:mr,iterations:At||200,k:Ps.length/4.5};Ps=sf(e,vs)}const ys=[];return Ps.forEach((vs,uA)=>{const vl=vn(Se[uA]);vl.data.x=vs.x+Xn[0],vl.data.y=vs.y+Xn[1],ys.push(vl)}),t&&ys.forEach(vs=>e.mergeNodeData(vs.id,{x:vs.data.x,y:vs.data.y})),{nodes:ys,edges:en}})}run(t,e,n,i,a,A){for(let c=0;c<=t;c++){const h=c/t;this.oneIteration(h,e,a,i,n,A)}}oneIteration(t,e,n,i,a,A){const c=1-t;e.forEach((h,v)=>{const p=di(h,{x:0,y:0}),H=p===0?0:1/p;if(v===A)return;let j=0,$=0,At=0;e.forEach((It,te)=>{if(v===te)return;const oe=di(h,It),Se=oe===0?0:1/oe,en=i[te][v];At+=a[v][te],j+=a[v][te]*(It.x+en*(h.x-It.x)*Se),$+=a[v][te]*(It.y+en*(h.y-It.y)*Se)});const Et=n[v]===0?0:1/n[v];At*=c,At+=t*Et*Et,j*=c,j+=t*Et*h.x*H,h.x=j/At,$*=c,$+=t*Et*h.y*H,h.y=$/At})}}const uf=(r,t,e,n,i,a,A)=>{if(!r)return[];const c=[];if(t){const h={};t.forEach((v,p)=>{const H=[];v.forEach((j,$)=>{var At,Et;if(p===$)H.push(0);else if(n[p]===n[$])if(a==="data")H.push(j*(Math.abs(p-$)*A)/(n[p]/i));else if(a){let It,te;if(h[r[p].id])It=h[r[p].id];else{const oe=(a==="id"?r[p].id:(At=r[p].data)===null||At===void 0?void 0:At[a])||0;(0,hi.Z)(oe)?It=oe.charCodeAt(0):It=oe,h[r[p].id]=It}if(h[r[$].id])te=h[r[$].id];else{const oe=(a==="id"?r[$].id:(Et=r[$].data)===null||Et===void 0?void 0:Et[a])||0;(0,hi.Z)(oe)?te=oe.charCodeAt(0):te=oe,h[r[$].id]=te}H.push(j*(Math.abs(It-te)*A)/(n[p]/i))}else H.push(j*e/(n[p]/i));else{const It=(e+i)/2;H.push(j*It)}}),c.push(H)})}return c},hf=r=>{const t=r.length,e=r[0].length,n=[];for(let i=0;i{let e=-1;return r.forEach((n,i)=>{n.id===t&&(e=i)}),Math.max(e,0)},ff=(r,t,e)=>{const n=r.length;for(let i=0;i{let e=0;for(let n=0;ne?r[t][n]:e);return e},vf={center:[0,0],width:300,height:300};class pf{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},vf),t)}execute(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return(0,Di.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,n){return(0,Di.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:a,width:A,height:c}=i,h=e.getAllNodes(),v=.9,p=!A&&typeof window!="undefined"?window.innerWidth:A,H=!c&&typeof window!="undefined"?window.innerHeight:c,j=a||[p/2,H/2],$=[];return h&&h.forEach(Et=>{$.push({id:Et.id,data:{x:(Math.random()-.5)*v*p+j[0],y:(Math.random()-.5)*v*H+j[1]}})}),t&&$.forEach(Et=>e.mergeNodeData(Et.id,{x:Et.data.x,y:Et.data.y})),{nodes:$,edges:e.getAllEdges()}})}}var td=f(40455),mf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class eh extends rA{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const t=this.context.model.getRootsData();if(!((0,Ka.Z)(t)||t.length>2))return t[0]}formatSize(t){const e=typeof t=="function"?t:()=>t;return n=>is(e(n))}doLayout(t,e){const{hGap:n,getRibSep:i,vGap:a,nodeSize:A,height:c}=e,{model:h}=this.context,v=this.formatSize(A);let p=v(t)[0]+i(t);const H=(Se,en=0)=>{var kn;return en+=n*((Se.children||[]).length+1),(kn=Se.children)===null||kn===void 0||kn.forEach(Fn=>{var Xn;(Xn=h.getNodeLikeDatum(Fn).children)===null||Xn===void 0||Xn.forEach(mr=>{const Hr=h.getNodeLikeDatum(mr);en=H(Hr,en)})}),en},j=Se=>{if(Se.depth===1)return p;const en=h.getParentData(Se.id,"tree");if(uu(Se)){const kn=h.getParentData(en.id,"tree"),Fn=Et(Se)-Et(kn);return j(en)+Fn*n/a}else{const kn=(en.children||[]).indexOf(Se.id),Fn=h.getNodeData((en.children||[]).slice(kn));return $(en)-Fn.reduce((Xn,Cn)=>Xn+H(Cn),0)-v(en)[0]/2}},$=(0,td.Z)(Se=>{if(Uh(Se))return v(Se)[0]/2;const en=h.getParentData(Se.id,"tree");if(uu(Se))return j(Se)+H(Se)+v(Se)[0]/2;{const kn=Et(Se)-Et(en),Fn=n/a;return j(Se)+kn*Fn}},Se=>Se.id),At=Se=>Et(h.getParentData(Se,"tree")),Et=(0,td.Z)(Se=>{if(Uh(Se))return c/2;if(uu(Se)){const en=h.getParentData(Se.id,"tree"),kn=en.children.indexOf(Se.id);if(kn===0)return At(en.id)+a;const Fn=h.getNodeLikeDatum(en.children[kn-1]);if((0,Ka.Z)(Fn.children))return Et(Fn)+a;const Xn=h.getDescendantsData(Fn.id);return Math.max(...Xn.map(Cn=>uu(Cn)?At(Cn.id):Et(Cn)))+a}else{if((0,Ka.Z)(Se.children))return At(Se.id)+a;const en=h.getNodeLikeDatum(Se.children.slice(-1)[0]);if((0,Ka.Z)(en.children))return Et(en)+a;const kn=h.getDescendantsData(Se.id).slice(-1)[0];return(uu(kn)?At(kn.id):Et(kn))+a}},Se=>Se.id);let It=0;const te={nodes:[],edges:[]},oe=Se=>{var en;(en=Se.children)===null||en===void 0||en.forEach(mr=>oe(h.getNodeLikeDatum(mr)));const kn=Et(Se),Fn=$(Se);if(te.nodes.push({id:Se.id,x:Fn,y:kn}),Uh(Se))return;const Xn=h.getRelatedEdgesData(Se.id,"in")[0],Cn=[j(Se),uu(Se)?kn:At(Se.id)];te.edges.push({id:jt(Xn),controlPoints:[Cn],relatedNodeId:Se.id}),It=Math.max(It,Fn+i(Se)),Se.depth===1&&(p=It)};return oe(t),te}placeAlterative(t,e){const n=(e.children||[]).filter((c,h)=>h%2!==0);if(n.length===0)return t;const{model:i}=this.context,a=t.nodes.find(c=>c.id===e.id).y,A=c=>{const h=i.getAncestorsData(c,"tree");if((0,Ka.Z)(h))return!1;const v=h.length===1?c:h[h.length-2].id;return n.includes(v)};t.nodes.forEach(c=>{A(c.id)&&(c.y=2*a-c.y)}),t.edges.forEach(c=>{A(c.relatedNodeId)&&(c.controlPoints=c.controlPoints.map(h=>[h[0],2*a-h[1]]))})}rightToLeft(t,e){return t.nodes.forEach(n=>n.x=e.width-n.x),t.edges.forEach(n=>{n.controlPoints=n.controlPoints.map(i=>[e.width-i[0],i[1]])}),t}execute(t,e){return mf(this,void 0,void 0,function*(){const n=Object.assign(Object.assign(Object.assign({},eh.defaultOptions),this.options),e),{direction:i,nodeSize:a}=n,A=this.getRoot();if(!A)return t;const c=this.formatSize(a);n.vGap||(n.vGap=Math.max(...(t.nodes||[]).map(j=>c(j)[1]))),n.hGap||(n.hGap=Math.max(...(t.nodes||[]).map(j=>c(j)[0])));let h=this.doLayout(A,n);this.placeAlterative(h,A),i==="RL"&&(h=this.rightToLeft(h,n));const{model:v}=this.context,p=[],H=[];return h.nodes.forEach(j=>{const{id:$,x:At,y:Et}=j,It=v.getNodeLikeDatum($);p.push(ed(It,{x:At,y:Et}))}),h.edges.forEach(j=>{const{id:$,controlPoints:At}=j,Et=v.getEdgeDatum($);H.push(ed(Et,{controlPoints:At}))}),{nodes:p,edges:H}})}}eh.defaultOptions={direction:"RL",getRibSep:()=>60};const ed=(r,t)=>Object.assign(Object.assign({},r),{style:Object.assign(Object.assign({},r.style||{}),t)}),Uh=r=>r.depth===0,uu=r=>(r.depth||(r.depth=0))%2===0;var yf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class nh extends rA{constructor(){super(...arguments),this.id="snake"}formatSize(t,e){const n=typeof e=="function"?e:()=>e;return t.reduce((i,a)=>{const[A,c]=is(n(a))||[0,0];return[Math.max(i[0],A),Math.max(i[1],c)]},[0,0])}validate(t){const{nodes:e=[],edges:n=[]}=t,i={},a={},A={};e.forEach(j=>{i[j.id]=0,a[j.id]=0,A[j.id]=[]}),n.forEach(j=>{i[j.target]++,a[j.source]++,A[j.source].push(j.target)});const c=new Set,h=j=>{c.has(j)||(c.add(j),A[j].forEach(h))};if(h(e[0].id),c.size!==e.length)return!1;const v=e.filter(j=>i[j.id]===0),p=e.filter(j=>a[j.id]===0);return!(v.length!==1||p.length!==1||e.filter(j=>i[j.id]===1&&a[j.id]===1).length!==e.length-2)}execute(t,e){return yf(this,void 0,void 0,function*(){var n;if(!this.validate(t))return t;const{nodeSize:i,padding:a,sortBy:A,cols:c,colGap:h,rowGap:v,clockwise:p,width:H,height:j}=Object.assign({},nh.defaultOptions,this.options,e),[$,At,Et,It]=Ge(a),te=this.formatSize(t.nodes||[],i),oe=Math.ceil((t.nodes||[]).length/c);let Se=h||(H-It-At-c*te[0])/(c-1),en=v||(j-$-Et-oe*te[1])/(oe-1);return(en===1/0||en<0)&&(en=0),(Se===1/0||Se<0)&&(Se=0),{nodes:((A?(n=t.nodes)===null||n===void 0?void 0:n.sort(A):wf(t))||[]).map((Xn,Cn)=>{const mr=Math.floor(Cn/c),Hr=Cn%c,$r=p?mr%2===0?Hr:c-1-Hr:mr%2===0?c-1-Hr:Hr,Li=It+$r*(te[0]+Se)+te[0]/2,Ei=$+mr*(te[1]+en)+te[1]/2;return{id:Xn.id,style:{x:Li,y:Ei}}})}})}}nh.defaultOptions={padding:0,cols:5,clockwise:!0};function wf(r){const{nodes:t=[],edges:e=[]}=r,n={},i={};t.forEach(c=>{n[c.id]=0,i[c.id]=[]}),e.forEach(c=>{n[c.target]++,i[c.source].push(c.target)});const a=[],A=[];for(t.forEach(c=>{n[c.id]===0&&a.push(c.id)});a.length>0;){const c=a.shift(),h=t.find(v=>v.id===c);A.push(h),i[c].forEach(v=>{n[v]--,n[v]===0&&a.push(v)})}return A}const Ef=["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)"],Bf=["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)"],bf=["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)"],xf=["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)"],Cf=["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 nd=f(92387);class to extends ot{}function hu(r,t=!0,e){const n=document.createElement("div");return n.setAttribute("class",`g6-${r}`),Object.assign(n.style,{position:"absolute",display:"block"}),t&&Object.assign(n.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(n.style,e),n}function Dh(r,t="div",e={},n="",i=document.body){const a=document.getElementById(r);a&&a.remove();const A=document.createElement(t);return A.innerHTML=n,A.id=r,Object.assign(A.style,e),i.appendChild(A),A}var Sf=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class rh extends to{constructor(t,e){super(t,Object.assign({},rh.defaultOptions,e)),this.$element=hu("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return Sf(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,(0,nd.Z)(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}rh.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};var du=f(80574),Mf=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const{style:n,bubbleSetOptions:i}=this.parseOptions();(0,m.Z)(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const a=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(a):(this.shape=new zi({style:a}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=jt(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,a=this.options.members,A=[...this.members.keys()],c=this.options.avoidMembers,h=[...this.avoidMembers.keys()];if(a.length===0&&c.length===0)return this.members.clear(),this.avoidMembers.clear(),this.path=[],this.path;if(!n&&this.path&&(0,m.Z)(a,A)&&(0,m.Z)(c,h))return this.path;const{enter:v=[],exit:p=[]}=gn(A,a,It=>It),{enter:H=[],exit:j=[]}=gn(h,c,It=>It);if(n){const It=a.includes(n),te=c.includes(n);It&&(p.push(n),v.push(n)),te&&(j.push(n),H.push(n))}const $=(It,te,oe)=>{It.forEach(Se=>{const en=oe?this.members:this.avoidMembers,kn=oe?"pushMember":"pushNonMember",Fn=oe?"removeMember":"removeNonMember";if(te){let Xn;i.getElementType(Se)==="edge"?([Xn]=Tf(i,Se),this.bubbleSets.pushEdge(Xn)):([Xn]=Of(i,Se),this.bubbleSets[kn](Xn)),en.set(Se,Xn)}else{const Xn=en.get(Se);Xn&&(i.getElementType(Se)==="edge"?this.bubbleSets.removeEdge(Xn):this.bubbleSets[Fn](Xn),en.delete(Se))}})};$(p,!1,!0),$(v,!0,!0),$(j,!1,!1),$(H,!0,!1);const Et=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=oo(Et.points.map(Cr)),this.path},this.bindEvents(),this.bubbleSets=new du.CF(this.options)}bindEvents(){this.context.graph.on(X.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(X.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new du.CF(this.options),this.members.clear(),this.avoidMembers.clear(),this.path=null}parseOptions(){const t=this.options,{type:e,key:n,members:i,avoidMembers:a}=t,A=Mf(t,["type","key","members","avoidMembers"]),c=Object.keys(A).reduce((h,v)=>(v in du.vC?h.bubbleSetOptions[v]=A[v]:h.style[v]=A[v],h),{style:{},bubbleSetOptions:{}});return Object.assign({type:e,key:n,members:i,avoidMembers:a},c)}addMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n))),this.options.members=[...new Set([...this.options.members,...e])],this.drawBubbleSets()}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),this.drawBubbleSets()}updateMember(t){this.options.members=(0,Me.Z)(t)?t(this.options.members):t,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!e.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...e])],this.drawBubbleSets()}removeAvoidMember(t){const e=Array.isArray(t)?t:[t];this.options.avoidMembers.some(n=>e.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n)),this.drawBubbleSets())}updateAvoidMember(t){this.options.avoidMembers=Array.isArray(t)?t:[t],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(X.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(X.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape&&(this.shape.destroy(),this.shape=void 0),super.destroy()}}ih.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},du.vC);const Of=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getElementRenderBounds(n);return new du.Ae(i.min[0],i.min[1],et(i),Pt(i))}),Tf=(r,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=r.getEdgeData(n),a=r.getElementPosition(i.source),A=r.getElementPosition(i.target);return du.x1.from({x1:a[0],y1:a[1],x2:A[0],y2:A[1]})});class _0 extends null{constructor(t,e){super(t,e),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},a=(A,c)=>{switch(A){case"projectionMode":return c==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[c];case"aspect":return typeof c=="number"?c:this.getCanvasAspect();default:return c}};Object.entries(i).forEach(([A,c])=>{const h=n[A];if(h!==void 0){const v=a(A,h);this.context.canvas.getCamera()[c](v)}})},this.bindEvents()}update(t){this.setOptions(t),super.update(t)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[t,e]=this.context.viewport.getCanvasSize();return t/e}}function Ff(r){return` -
      - ${r.map(t=>`
    • ${t.name}
    • `).join("")} -
    - `}const If=` - .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 rd=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class ah extends to{constructor(t,e){super(t,Object.assign({},ah.defaultOptions,e)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:a}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const A=n.target.getAttribute("value");i==null||i(A,n.target,this.targetElement),this.hide()}a!=="click"&&this.hide()},this.initElement(),this.update(e)}initElement(){this.$element=hu("contextmenu",!1,{zIndex:"99"});const{className:t}=this.options;t&&this.$element.classList.add(t),this.context.canvas.getContainer().appendChild(this.$element),Dh("g6-contextmenu-css","style",{},If,document.head)}show(t){return rd(this,void 0,void 0,function*(){const{enable:e,offset:n}=this.options;if(typeof e=="function"&&!e(t)||!e){this.hide();return}const i=yield this.getDOMContent(t);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const a=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${t.client.x-a.left+n[0]}px`,this.$element.style.top=`${t.client.y-a.top+n[1]}px`,this.$element.style.display="block",this.targetElement=t.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(t){return rd(this,void 0,void 0,function*(){const{getContent:e,getItems:n}=this.options;return n?Ff(yield n(t)):yield e(t)})}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`canvas:${e}`,this.onTriggerEvent),t.on(`node:${e}`,this.onTriggerEvent),t.on(`edge:${e}`,this.onTriggerEvent),t.on(`combo:${e}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`canvas:${e}`,this.onTriggerEvent),t.off(`node:${e}`,this.onTriggerEvent),t.off(`edge:${e}`,this.onTriggerEvent),t.off(`combo:${e}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}ah.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'
    Loading...
    ',getContent:()=>"It is a empty context menu.",enable:()=>!0};class sh extends to{constructor(t,e){super(t,Object.assign({},sh.defaultOptions,e)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,a=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:A,iterRate:c,divRate:h}=this.options;let{lambda:v,divisions:p,iterations:H}=this.options;for(let j=0;j{var It;if(Et.source===Et.target)return;const te=jt(Et);At[te]=this.getEdgeForces(Et,p,v);for(let oe=0;oe{const $=jt(j),At=i.getElement($);At==null||At.update({d:Qn(this.edgePoints[$])})})},this.bindEvents()}get nodeMap(){const t=this.context.model.getNodeData();return Object.fromEntries(t.map(e=>[jt(e),sn(He(e))]))}divideEdges(t){this.context.model.getEdgeData().forEach(n=>{var i;const a=jt(n);(i=this.edgePoints)[a]||(i[a]=[]);const A=this.nodeMap[n.source],c=this.nodeMap[n.target];if(t===1)this.edgePoints[a].push(A),this.edgePoints[a].push(qt(z(A,c),2)),this.edgePoints[a].push(c);else{const v=(this.edgePoints[a].length===0?mt(A,c):Df(this.edgePoints[a]))/(t+1);let p=v;const H=[A];for(let j=1;jp;){const It=p/Et,te=z($,Qt(Nt(At,$),It));H.push(te),Et-=p,p=v}p-=Et}H.push(c),this.edgePoints[a]=H}})}getVectorPosition(t){const e=this.nodeMap[t.source],n=this.nodeMap[t.target],[i,a]=Nt(n,e),A=mt(e,n);return{source:e,target:n,vx:i,vy:a,length:A}}measureEdgeCompatibility(t,e){const n=this.getVectorPosition(t),i=this.getVectorPosition(e),a=Lf(n,i),A=Nf(n,i),c=Pf(n,i),h=Uf(n,i);return a*A*c*h}getEdgeBundles(){const t={},e=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,a)=>{n.forEach((A,c)=>{var h,v;if(c<=a)return;this.measureEdgeCompatibility(i,A)>=e&&(t[h=jt(i)]||(t[h]=[]),t[jt(i)].push(A),t[v=jt(A)]||(t[v]=[]),t[jt(A)].push(i))})}),t}getSpringForce(t,e){const{pre:n,cur:i,next:a}=t;return Qt(Nt(z(n,a),Qt(i,2)),e)}getElectrostaticForce(t,e){(0,Ka.Z)(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[jt(e)];let i=[0,0];return n==null||n.forEach(a=>{const A=this.edgePoints[jt(a)][t],c=this.edgePoints[jt(e)][t],h=Nt(A,c),v=mt(A,c);i=z(i,Qt(h,1/v))}),i}getEdgeForces(t,e,n){const i=this.nodeMap[t.source],a=this.nodeMap[t.target],A=this.options.K/(mt(i,a)*(e+1)),c=[[0,0]],h=jt(t);for(let v=1;vMath.abs(ne([r.vx,r.vy],[t.vx,t.vy])/(r.length*t.length)),Nf=(r,t)=>{const e=(r.length+t.length)/2;return 2/(e/Math.min(r.length,t.length)+Math.max(r.length,t.length)/e)},Pf=(r,t)=>{const e=(r.length+t.length)/2,n=qt(z(r.source,r.target),2),i=qt(z(t.source,t.target),2);return e/(e+mt(n,i))},id=(r,t)=>{if(t.source[0]===t.target[0])return[t.source[0],r[1]];if(t.source[1]===t.target[1])return[r[0],t.source[1]];const e=(t.source[1]-t.target[1])/(t.source[0]-t.target[0]),n=(e*e*t.source[0]+e*(r[1]-t.source[1])+r[0])/(e*e+1),i=e*(n-t.source[0])+t.source[1];return[n,i]},ad=(r,t)=>{const e=id(t.source,r),n=id(t.target,r),i=qt(z(e,n),2),a=qt(z(r.source,r.target),2);return mt(e,n)===0?0:Math.max(0,1-2*mt(a,i)/mt(e,n))},Uf=(r,t)=>Math.min(ad(r,t),ad(t,r)),Df=r=>{let t=0;for(let e=1;e{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Cr(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},Rf,this.options.style);this.isLensOn||(this.lens=new Cs({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,br(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,a=i.getData();if(!n)return a;const{nodes:A,edges:c,combos:h}=a;return{nodes:A.filter(v=>n(jt(v),"node")),edges:c.filter(v=>n(jt(v),"edge")),combos:h.filter(v=>n(jt(v),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:a}=this.getFilterData(),A=i.filter(v=>mt(He(v),n)jt(v)),h=a.filter(v=>{const{source:p,target:H}=v,j=c.includes(p),$=c.includes(H);switch(this.options.nodeType){case"both":return j&&$;case"either":return j!==$;case"source":return j&&!$;case"target":return!j&&$;default:return!1}});return{nodes:A,edges:h}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const a=this.lens.getCenter(),{nodes:A,edges:c}=this.getFocusElements(a),h=new Set,v=p=>{const H=jt(p);h.add(H);const j=n.getElement(H);if(!j)return;const $=this.shapes.get(H)||j.cloneNode();$.setPosition(j.getPosition()),$.id=j.id,this.shapes.has(H)?Object.entries(j.attributes).forEach(([It,te])=>{$.style[It]!==te&&($.style[It]=te)}):(this.canvas.appendChild($),this.shapes.set(H,$));const At=i.getElementType(H),Et=this.getElementStyle(At,p);$.update(Et)};A.forEach(v),c.forEach(v),this.shapes.forEach((p,H)=>{h.has(H)||(p.destroy(),this.shapes.delete(H))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:a,clientY:A,deltaX:c,deltaY:h}=n,{graph:v,canvas:p}=this.context,H=v.getCanvasByClient([a,A]),j=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||mt(H,j)>this.r)return;const{maxR:$,minR:At}=this.options,Et=c+h>0?1/(1-sd):1-sd,It=Math.min(...p.getSize())/2;this.r=Math.max(At||0,Math.min($||It,this.r*Et)),this.renderLens(j),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const a=Cr(n.canvas),A=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||mt(a,A)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Cr(n.canvas);this.renderLens(i),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(t,e){const n=t==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(e):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(n)&&a.addEventListener(W.CLICK,this.onEdgeFilter),n==="pointermove"?a.addEventListener(W.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.addEventListener(W.DRAG_START,this.onDragStart),a.addEventListener(W.DRAG,this.onDrag),a.addEventListener(W.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.addEventListener(W.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,a=e.getCanvas().getLayer();["click","drag"].includes(n)&&a.removeEventListener(W.CLICK,this.onEdgeFilter),n==="pointermove"?a.removeEventListener(W.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(a.removeEventListener(W.DRAG_START,this.onDragStart),a.removeEventListener(W.DRAG,this.onDrag),a.removeEventListener(W.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.removeEventListener(W.WHEEL,this.scaleRByWheel))}update(t){var e;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((t,e)=>{t.destroy(),this.shapes.delete(e)}),super.destroy()}}oh.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const Qf={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},od=.05,Ad=.1;class Ah extends to{constructor(t,e){super(t,Object.assign({},Ah.defaultOptions,e)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=Cr(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},Qf,this.options.style);this.isLensOn||(this.lens=new Cs({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,br(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),a=(this.d+1)*this.r,A=new Map,c=new Map;n.getNodeData().forEach(v=>{const p=He(v),H=mt(p,i);if(H>this.r)return;const j=a*H/(this.d*H+this.r),[$,At]=p,[Et,It]=i,te=($-Et)/H,oe=(At-It)/H,Se=[Et+j*te,It+j*oe],en=jt(v),kn=this.getNodeStyle(v),Fn=(0,oa.Z)(n.getElementRenderStyle(en),Object.keys(kn));A.set(en,Object.assign(Object.assign({},br(Se)),kn)),c.set(en,Object.assign(Object.assign({},br(p)),Fn))}),this.updateStyle(A,c)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:a,element:A}=this.context,{enter:c,exit:h,keep:v}=gn(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),j=>j),p=new Set,H=(j,$)=>{const At=A.getElement(j);At==null||At.update($),a.getRelatedEdgesData(j).forEach(Et=>{p.add(jt(Et))})};[...c,...v].forEach(j=>{H(j,n.get(j))}),h.forEach(j=>{H(j,this.prevOriginStyleMap.get(j)),this.prevOriginStyleMap.delete(j)}),p.forEach(j=>{const $=A.getElement(j);$==null||$.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((j,$)=>{this.prevOriginStyleMap.has($)||this.prevOriginStyleMap.set($,j)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:a}=n,A=this.context.graph.getCanvasByClient([i,a]),c=this.lens.getCenter();return!(mt(A,c)>this.r)},this.scaleR=n=>{const{maxR:i,minR:a}=this.options,A=n?1/(1-od):1-od,c=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(a||0,Math.min(i||c,this.r*A))},this.scaleD=n=>{const{maxD:i,minD:a}=this.options,A=n?this.d+Ad:this.d-Ad;this.d=Math.max(a,Math.min(i,A))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleR(i+a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:a}=n;this.scaleD(i+a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=Cr(n.canvas),a=this.lens.getCenter();return!(mt(i,a)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=Cr(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleR(i-a>0);const A=this.lens.getCenter();this.onMagnify(A)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:a}=n;this.scaleD(i-a>0);const A=this.lens.getCenter();this.onMagnify(A)},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 t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,A=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&A.addEventListener(W.CLICK,this.onCreateFisheye),n==="pointermove"&&A.addEventListener(W.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){A.addEventListener(W.DRAG_START,this.onDragStart),A.addEventListener(W.DRAG_END,this.onDragEnd);const c=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;A.addEventListener(W.DRAG,c)}if(i==="wheel"||a==="wheel"){const c=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.addEventListener(W.WHEEL,c,{passive:!1})}}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:a}=this.options,A=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&A.removeEventListener(W.CLICK,this.onCreateFisheye),n==="pointermove"&&A.removeEventListener(W.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||a==="drag"){A.removeEventListener(W.DRAG_START,this.onDragStart),A.removeEventListener(W.DRAG_END,this.onDragEnd);const c=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;A.removeEventListener(W.DRAG,c)}if(i==="wheel"||a==="wheel"){const c=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.removeEventListener(W.WHEEL,c)}}update(t){var e,n;this.unbindEvents(),super.update(t),this.r=(e=t.r)!==null&&e!==void 0?e:this.r,this.d=(n=t.d)!==null&&n!==void 0?n:this.d,this.bindEvents()}destroy(){var t;this.unbindEvents(),this.isLensOn&&((t=this.lens)===null||t===void 0||t.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}Ah.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class lh extends to{constructor(t,e){super(t,Object.assign({},lh.defaultOptions,e)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,a,A;const c=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(c),c?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(A=(a=this.options).onExit)===null||A===void 0||A.call(a)},this.shortcut=new Xi(t.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:t=[],exit:e=[]}=this.options.trigger;this.shortcut.bind(t,this.request),this.shortcut.bind(e,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(e=>{document.removeEventListener(e,this.onFullscreenChange,!1)})}setGraphSize(t=!0){var e,n;let i,a;t?(i=((e=globalThis.screen)===null||e===void 0?void 0:e.width)||0,a=((n=globalThis.screen)===null||n===void 0?void 0:n.height)||0,this.graphSize=this.context.graph.getSize()):[i,a]=this.graphSize,this.context.graph.setSize(i,a),this.context.graph.render()}request(){document.fullscreenElement||!kf()||this.$el.requestFullscreen().catch(t=>{we.warn(`Error attempting to enable full-screen: ${t.message} (${t.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}lh.defaultOptions={trigger:{},autoFit:!0};function kf(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}var Rh=f(50264);class ch extends to{constructor(t,e){super(t,Object.assign({},ch.defaultOptions,e)),this.$element=hu("grid-line",!0),this.offset=[0,0],this.currentScale=1,this.followZoom=i=>{const{data:{scale:a,origin:A}}=i;if(!a||A===void 0&&this.context.viewport===void 0)return;const c=this.currentScale;this.currentScale=a;const h=a/c,v=Qt(A||this.context.graph.getCanvasCenter(),1-h),p=this.baseSize*a,H=Qt(this.offset,h),j=Le(H,p),$=z(j,v);this.$element.style.backgroundSize=`${p}px ${p}px`,this.$element.style.backgroundPosition=`${$[0]}px ${$[1]}px`,this.offset=Le($,p)},this.followTranslate=i=>{if(!this.options.follow)return;const{data:{translate:a}}=i;a&&this.updateOffset(a)},this.onTransform=i=>{const a=this.parseFollow(this.options.follow);a.zoom&&this.followZoom(i),a.translate&&this.followTranslate(i)},this.context.canvas.getContainer().prepend(this.$element),this.baseSize=this.options.size,this.updateStyle(),this.bindEvents()}update(t){super.update(t),t.size!==void 0&&(this.baseSize=t.size),this.updateStyle()}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{stroke:t,lineWidth:e,border:n,borderLineWidth:i,borderStroke:a,borderStyle:A}=this.options,c=this.baseSize*this.currentScale;Object.assign(this.$element.style,{border:n?`${i}px ${A} ${a}`:"none",backgroundImage:`linear-gradient(${t} ${e}px, transparent ${e}px), linear-gradient(90deg, ${t} ${e}px, transparent ${e}px)`,backgroundSize:`${c}px ${c}px`,backgroundRepeat:"repeat"})}updateOffset(t){const e=this.baseSize*this.currentScale;this.offset=Le(z(this.offset,t),e),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}parseFollow(t){var e,n;return(0,Rh.Z)(t)?{translate:t,zoom:t}:{translate:(e=t==null?void 0:t.translate)!==null&&e!==void 0?e:!1,zoom:(n=t==null?void 0:t.zoom)!==null&&n!==void 0?n:!1}}destroy(){this.context.graph.off(X.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}ch.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};var Qh=f(49336);function kh(r){const t={Added:new Map,Updated:new Map,Removed:new Map};return r.forEach(e=>{const{type:n,value:i}=e,a=jt(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")t.Added.set(a,e);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(t.Added.has(a))t.Added.set(a,{type:n.replace("Updated","Added"),value:i});else if(t.Updated.has(a)){const{original:A}=t.Updated.get(a);t.Updated.set(a,{type:n,value:i,original:A})}else t.Removed.has(a)||t.Updated.set(a,e);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(t.Added.has(a)?t.Added.delete(a):(t.Updated.has(a)&&t.Updated.delete(a),t.Removed.set(a,e)))}),[...Array.from(t.Added.values()),...Array.from(t.Updated.values()),...Array.from(t.Removed.values())]}function ld(r){const{NodeAdded:t=[],NodeUpdated:e=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:a=[],EdgeRemoved:A=[],ComboAdded:c=[],ComboUpdated:h=[],ComboRemoved:v=[]}=(0,kt.Z)(r,p=>p.type);return{add:{nodes:t,edges:i,combos:c},update:{nodes:e,edges:a,combos:h},remove:{nodes:n,edges:A,combos:v}}}function cd(r,t){for(const e in r)(0,S.Z)(r[e])&&!Array.isArray(r[e])&&r[e]!==null?(t[e]||(t[e]={}),cd(r[e],t[e])):t[e]===void 0&&(t[e]=Ie(e))}function _f(r,t=!1,e){const n={animation:t,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:a,remove:A}=ld(kh(r));return["nodes","edges","combos"].forEach(c=>{a[c]&&a[c].forEach(h=>{var v,p;const H=Object.assign({},h.value);let j=Object.assign({},h.original);if(e){const $=e.graph.getElementType(jt(h.original)),At=$==="edge"?"stroke":"fill",Et=e.element.getElementComputedStyle($,h.original);j=Object.assign(Object.assign({},h.original),{style:Object.assign({[At]:Et[At]},h.original.style)})}cd(H,j),(v=n.current.update)[c]||(v[c]=[]),n.current.update[c].push(H),(p=n.original.update)[c]||(p[c]=[]),n.original.update[c].push(j)}),i[c]&&i[c].forEach(h=>{var v,p;const H=Object.assign({},h.value);(v=n.current.add)[c]||(v[c]=[]),n.current.add[c].push(H),(p=n.original.remove)[c]||(p[c]=[]),n.original.remove[c].push(H)}),A[c]&&A[c].forEach(h=>{var v,p;const H=Object.assign({},h.value);(v=n.current.remove)[c]||(v[c]=[]),n.current.remove[c].push(H),(p=n.original.add)[c]||(p[c]=[]),n.original.add[c].push(H)})}),n}class uh extends to{constructor(t,e){super(t,Object.assign({},uh.defaultOptions,e)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,a=!0)=>{var A,c,h;this.freezed=!0,(c=(A=this.options).executeCommand)===null||c===void 0||c.call(A,i);const v=a?i.original:i.current;this.context.graph.addData(v.add),this.context.graph.updateData(v.update),this.context.graph.removeData(cr(v.remove,!1)),(h=this.context.element)===null||h===void 0||h.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var a;if(!this.freezed){if(i.type===X.AFTER_DRAW){const{dataChanges:A=[],animation:c=!0}=i.data;if(!((a=this.context.batch)===null||a===void 0)&&a.isBatching){if(!this.batchChanges)return;this.batchChanges.push(A),this.batchAnimation&&(this.batchAnimation=c);return}this.batchChanges=[A],this.batchAnimation=c}this.undoStackPush(_f(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Mt.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:a}=i.data;this.batchAnimation=!1,a?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new Qh.Z;const{graph:n}=this.context;n.on(X.AFTER_DRAW,this.addCommand),n.on(X.BATCH_START,this.initBatchCommand),n.on(X.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var t,e,n,i;const a=this.undoStack.pop();if(a){if(this.executeCommand(a),((e=(t=this.options).beforeAddCommand)===null||e===void 0?void 0:e.call(t,a,!1))===!1)return;this.redoStack.push(a),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,a,!1),this.notify(Mt.UNDO,a)}return this}redo(){const t=this.redoStack.pop();return t&&(this.executeCommand(t,!1),this.undoStackPush(t),this.notify(Mt.REDO,t)),this}undoAndCancel(){const t=this.undoStack.pop();return t&&(this.executeCommand(t,!1),this.redoStack=[],this.notify(Mt.CANCEL,t)),this}undoStackPush(t){var e,n,i,a;const{stackSize:A}=this.options;A!==0&&this.undoStack.length>=A&&this.undoStack.shift(),((n=(e=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(e,t,!0))!==!1&&(this.undoStack.push(t),(a=(i=this.options).afterAddCommand)===null||a===void 0||a.call(i,t,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Mt.CLEAR,null)}notify(t,e){this.emitter.emit(t,{cmd:e}),this.emitter.emit(Mt.CHANGE,{cmd:e})}on(t,e){this.emitter.on(t,e)}destroy(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.addCommand),t.off(X.BATCH_START,this.initBatchCommand),t.off(X.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}uh.defaultOptions={stackSize:0};const _h={toXy(r,t){if(!t)return[...r];const e=t[0].slice(1),n=t[1].slice(1);return r.map(i=>[i[e],i[n]])},fromXy(r,t){if(!t)return[...r];const e=t[0].slice(1),n=t[1].slice(1);return r.map(([i,a])=>({[e]:i,[n]:a}))}};class Hf{constructor(t,e){this._cells=[],this._cellSize=e,this._reverseCellSize=1/e;for(const n of t){const i=this.coordToCellNum(n[0]),a=this.coordToCellNum(n[1]);this._cells[i]||(this._cells[i]=[]),this._cells[i][a]||(this._cells[i][a]=[]),this._cells[i][a].push(n)}}cellPoints(t,e){var n;return((n=this._cells[t])===null||n===void 0?void 0:n[e])||[]}rangePoints(t){const e=this.coordToCellNum(t[0]),n=this.coordToCellNum(t[1]),i=this.coordToCellNum(t[2]),a=this.coordToCellNum(t[3]),A=[];for(let c=e;c<=i;c++)for(let h=n;h<=a;h++){const v=this.cellPoints(c,h);for(const p of v)A.push(p)}return A}removePoint(t){const e=this.coordToCellNum(t[0]),n=this.coordToCellNum(t[1]),i=this._cells[e][n],a=i.findIndex(([A,c])=>A===t[0]&&c===t[1]);return a>-1&&i.splice(a,1),i}trunc(t){return Math.trunc(t)}coordToCellNum(t){return this.trunc(t*this._reverseCellSize)}extendBbox(t,e){return[t[0]-e*this._cellSize,t[1]-e*this._cellSize,t[2]+e*this._cellSize,t[3]+e*this._cellSize]}}function Zf(r,t){return new Hf(r,t)}const ud=+(Math.pow(2,27)+1);function hh(r,t,e){const n=r*t,i=ud*r,a=i-r,A=i-a,c=r-A,h=ud*t,v=h-t,p=h-v,H=t-p,At=n-A*p-c*p-A*H,Et=c*H-At;return e?(e[0]=Et,e[1]=n,e):[Et,n]}function Kf(r,t,e){const n=r+t,i=n-r,a=n-i,A=t-i,c=r-a;return e?(e[0]=c+A,e[1]=n,e):[c+A,n]}function Gf(r,t){const e=r.length;if(e===1){const c=hh(r[0],t);return c[0]?c:[c[1]]}const n=new Array(2*e),i=[.1,.1],a=[.1,.1];let A=0;hh(r[0],t,i),i[0]&&(n[A++]=i[0]);for(let c=1;c=n?(At=p,c+=1,c=n?(At=p,c+=1,c0){if(a<=0)return A;c=i+a}else if(i<0){if(a>=0)return A;c=-(i+a)}else return A;const h=Yf*c;return A>=h||A<=-h?A:tg(t,e,n)},function(t,e,n,i){const a=t[0]-i[0],A=e[0]-i[0],c=n[0]-i[0],h=t[1]-i[1],v=e[1]-i[1],p=n[1]-i[1],H=t[2]-i[2],j=e[2]-i[2],$=n[2]-i[2],At=A*p,Et=c*v,It=c*h,te=a*p,oe=a*v,Se=A*h,en=H*(At-Et)+j*(It-te)+$*(oe-Se),kn=(Math.abs(At)+Math.abs(Et))*Math.abs(H)+(Math.abs(It)+Math.abs(te))*Math.abs(j)+(Math.abs(oe)+Math.abs(Se))*Math.abs($),Fn=Xf*kn;return en>Fn||-en>Fn?en:eg(t,e,n,i)}];function ng(r){let t=Mc[r.length];return t||(t=Mc[r.length]=fh(r.length)),t.apply(void 0,...r)}function rg(r,t,e,n,i,a,A){return function(...h){switch(h.length){case 0:case 1:return 0;case 2:return n(h[0],h[1]);case 3:return i(h[0],h[1],h[2]);case 4:return a(h[0],h[1],h[2],h[3]);case 5:return A(h[0],h[1],h[2],h[3],h[4])}return r(h)}}function ig(){for(;Mc.length<=hd;)Mc.push(fh(Mc.length));const r=rg(void 0,ng,...Mc);for(let t=0;t<=hd;++t)r[t]=Mc[t];return r}var zu=ig();const dd=zu[3];function ag(r){const t=r.length;if(t<3){const c=new Array(t);for(let h=0;h{const v=r[c][0]-r[h][0];return v||r[c][1]-r[h][1]});const n=[e[0],e[1]],i=[e[0],e[1]];for(let c=2;c1&&dd(r[n[p-2]],r[n[p-1]],v)<=0;)p-=1,n.pop();for(n.push(h),p=i.length;p>1&&dd(r[i[p-2]],r[i[p-1]],v)>=0;)p-=1,i.pop();i.push(h)}const a=new Array(i.length+n.length-2);let A=0;for(let c=0,h=n.length;c0;--c)a[A++]=i[c];return a}function sg(r,t,e,n){for(let i=0;i<2;++i){const a=r[i],A=t[i],[c,h]=[Math.min(a,A),Math.max(a,A)],v=e[i],p=n[i],[H,j]=[Math.min(v,p),Math.max(v,p)];if(j0&&a>0||i<0&&a<0)return!1;const A=zu(e,r,t),c=zu(n,r,t);return A>0&&c>0||A<0&&c<0?!1:i===0&&a===0&&A===0&&c===0?sg(r,t,e,n):!0}function Ag(r){const t=[r[0]];let e=r[0];for(let n=1;n=0;a--)r[a][0]n&&(n=r[a][0]),r[a][1]>i&&(i=r[a][1]);return[n-t,i-e]}function ug(r){return[Math.min(r[0][0],r[1][0]),Math.min(r[0][1],r[1][1]),Math.max(r[0][0],r[1][0]),Math.max(r[0][1],r[1][1])]}function hg(r,t,e){let n=null,i=pd,a=pd,A,c;for(let h=0;hi&&c>a&&!gd([r[0],t[h]],e)&&!gd([r[1],t[h]],e)&&(i=A,a=c,n=t[h]);return n}function vd(r,t,e,n,i){let a=!1;for(let A=0;AH||e[1]>j));H>=e[0]&&j>=e[1]&&i.add(h),$!==null&&(r.splice(A+1,0,$),n.removePoint($),a=!0)}return a?vd(r,t,e,n,i):r}function dg(r,t,e){const n=t||20,i=Ag(lg(_h.toXy(r,e)));if(i.length<4){const H=i.concat([i[0]]);return e?_h.fromXy(H,e):H}const a=cg(i),A=[a[0]*md,a[1]*md],c=ag(i).reverse().map(H=>i[H]);c.push(c[0]);const h=i.filter(function(H){return c.indexOf(H)<0}),v=Math.ceil(1/(i.length/(a[0]*a[1]))),p=vd(c,Math.pow(n,2),A,Zf(h,v),new Set);return e?_h.fromXy(p,e):p}const pd=Math.cos(90/(180/Math.PI)),md=.6;function fg(r,t,e){if(r.length===1)return gg(r[0],t,e);if(r.length===2)return yd(r,t,e);if(r.length===3){const[n,i,a]=Ci(r);if($t(n,i,a))return yd([n,a],t,e)}switch(e){case"smooth":return pg(r,t);case"sharp":return mg(r,t);case"rounded":default:return vg(r,t)}}const gg=(r,t,e)=>{if(e==="sharp")return[["M",r[0]-t,r[1]-t],["L",r[0]+t,r[1]-t],["L",r[0]+t,r[1]+t],["L",r[0]-t,r[1]+t],["Z"]];const n=[t,t,0,0,0];return[["M",r[0],r[1]-t],["A",...n,r[0],r[1]+t],["A",...n,r[0],r[1]-t]]},yd=(r,t,e)=>{const n=[t,t,0,0,0],i=e==="sharp"?z(r[0],pt(Ct(Nt(r[0],r[1])),t)):r[0],a=e==="sharp"?z(r[1],pt(Ct(Nt(r[1],r[0])),t)):r[1],A=pt(Ct(Yt(Nt(i,a),!1)),t),c=pt(A,-1),h=z(i,A),v=z(a,A),p=z(a,c),H=z(i,c);return e==="sharp"?[["M",h[0],h[1]],["L",v[0],v[1]],["L",p[0],p[1]],["L",H[0],H[1]],["Z"]]:[["M",h[0],h[1]],["L",v[0],v[1]],["A",...n,p[0],p[1]],["L",H[0],H[1]],["A",...n,h[0],h[1]]]},vg=(r,t)=>{const e=Ci(r).map((c,h)=>{const v=(h-2+r.length)%r.length,p=(h-1+r.length)%r.length,H=(h+1)%r.length,j=r[v],$=r[p],At=r[H],Et=Nt(j,$),It=Nt($,c),te=Nt(c,At),oe=(Xn,Cn)=>zt(Xn,Cn,!0)pt(Ct(Yt(Xn,!1)),t),Fn=kn(It);return[{p:sn(Se?z($,kn(Et)):z($,Fn)),concave:Se&&$},{p:sn(en?z(c,kn(te)):z(c,Fn)),concave:en&&c}]}),n=[t,t,0,0,0],i=e.findIndex((c,h)=>!e[(h-1+e.length)%e.length][0].concave&&!e[(h-1+e.length)%e.length][1].concave&&!c[0].concave&&!c[0].concave&&!c[1].concave),a=e.slice(i).concat(e.slice(0,i));let A=[];return a.flatMap((c,h)=>{const v=[],p=a[e.length-1];return h===0&&v.push(["M",...p[1].p]),c[0].concave?A.push(c[0].p,c[1].p):v.push(["A",...n,...c[0].p]),c[1].concave?A.unshift(c[1].p):v.push(["L",...c[1].p]),A.length===3&&(v.pop(),v.push(["C",...A.flat()]),A=[]),v})},pg=(r,t)=>{const e=Ci(r).map((n,i)=>{const a=r[(i+1)%r.length];return{p:n,v:Ct(Nt(a,n))}});return e.forEach((n,i)=>{const a=i>0?i-1:r.length-1,A=e[a].v,c=Ct(z(A,pt(n.v,zt(A,n.v,!0)n.p))},mg=(r,t)=>{const n=r.map((a,A)=>{const c=r[A===0?r.length-1:A-1],h=Mn(pt(Ct(Yt(Nt(c,a),!1)),t));return[z(c,h),z(a,h)]}).flat();return n.map((a,A)=>{if(A%2===0)return null;const c=[n[(A-1)%n.length],n[A%n.length]],h=[n[(A+1)%n.length],n[(A+2)%n.length]];return qn(c,h,!0)}).filter(Boolean).map((a,A)=>[A===0?"M":"L",a[0],a[1]]).concat([["Z"]])};var yg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{if(!this.shape)this.shape=new zi({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!(0,m.Z)(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(jt(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,a=this.getMember();if(a.length===0)return"";const A=a.map(v=>i.getNodeData(v)),c=dg(A.map(He),this.options.concavity).slice(1).reverse(),h=c.flatMap(v=>A.filter(p=>(0,m.Z)(He(p),v)).map(jt));return(0,m.Z)(h,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=h,this.path=fg(c,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(X.AFTER_RENDER,this.drawHull),this.context.graph.on(X.AFTER_ELEMENT_UPDATE,this.updateHullPath)}unbindEvents(){this.context.graph.off(X.AFTER_RENDER,this.drawHull),this.context.graph.off(X.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(t){const e=this.options,{members:n,padding:i,corner:a}=e,A=yg(e,["members","padding","corner"]);return Object.assign(Object.assign({},A),{d:this.getHullPath(t)})}getPadding(){const{graph:t}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:a}=t.getElementRenderBounds(i),A=Math.max(a[0],a[1]);return Math.max(n,A)},0)+this.options.padding}addMember(t){const e=Array.isArray(t)?t:[t];this.options.members=[...new Set([...this.options.members,...e])],this.shape.update({d:this.getHullPath()})}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),e.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(t){this.options.members=(0,Me.Z)(t)?t(this.options.members):t,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.unbindEvents(),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}gh.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};var wg=f(65244);function vh(r){const{width:t,height:e,renderer:n}=r,i=Eg(r),a=new R.Xz({width:t,height:e,container:i,renderer:n||new ss.Th});return[i,a]}function Eg(r){var t;const{container:e,className:n,graphCanvas:i}=r;if(e)return typeof e=="string"?document.getElementById(e):e;const a=hu(n,!1),{width:A,height:c,containerStyle:h}=r,[v,p]=Bg(r);return Object.assign(a.style,Object.assign({position:"absolute",left:v+"px",top:p+"px",width:A+"px",height:c+"px"},h)),(t=i.getContainer())===null||t===void 0||t.appendChild(a),a}function Bg(r){const{width:t,height:e,placement:n,graphCanvas:i}=r,[a,A]=i.getSize(),[c,h]=gr(n);return[c*(a-t),h*(A-e)]}var bg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const{graph:n}=this.context;n.on(X.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:a}=this.context,{typePrefix:A}=this,c=(0,qa.Z)(n,[A,"id"]),h=(0,qa.Z)(n,[A,"style","labelText"]),[v]=c.split("__"),p=this.fieldMap[v].get(h)||[];a.setElementState(Object.fromEntries(p==null?void 0:p.map(H=>[H,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=(0,qa.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(a=>a!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=(0,qa.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(a=>a!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,a)=>{if(!n)return;const A=this.fieldMap[a];if(A)if(!A.has(n))A.set(n,[i]);else{const c=A.get(n);c&&(c.push(i),A.set(n,c))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:a,element:A}=this.context,{nodes:c,edges:h,combos:v}=a.getData(),p={},H=It=>(0,Me.Z)(n)?n(It):n,j={node:"circle",edge:"line",combo:"rect"},$={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"},At=(It,te)=>A==null?void 0:A.getElementComputedStyle(It,te),Et=(It,te)=>{It.forEach(oe=>{const{id:Se}=oe,en=(0,qa.Z)(oe,["data",H(oe)]),kn=(A==null?void 0:A.getElementType(te,oe))||"circle",Fn=At(te,oe),Xn=(te==="edge"?Fn==null?void 0:Fn.stroke:Fn==null?void 0:Fn.fill)||"#1783ff";Se&&en&&en.replace(/\s+/g,"")&&(this.setFieldMap(en,Se,te),p[en]||(p[en]={id:`${te}__${Se}`,label:en,marker:$[kn]||j[te],elementType:te,lineWidth:1,stroke:Xn,fill:Xn}))})};switch(i){case"node":Et(c,"node");break;case"edge":Et(h,"edge");break;case"combo":Et(v,"combo");break;default:return[]}return Object.values(p)},this.createElement=()=>{if(this.draw){this.updateElement();return}const n=this.options,{width:i,height:a,nodeField:A,edgeField:c,comboField:h,trigger:v,position:p,container:H,containerStyle:j,className:$}=n,At=bg(n,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),Et=this.getMarkerData(A,"node"),It=this.getMarkerData(c,"edge"),te=this.getMarkerData(h,"combo"),oe=[...Et,...te,...It],Se=Object.assign({width:i,height:a,data:oe,itemMarkerLineWidth:({lineWidth:Fn})=>Fn,itemMarker:({marker:Fn})=>Fn,itemMarkerStroke:({stroke:Fn})=>Fn,itemMarkerFill:({fill:Fn})=>Fn,gridCol:Et.length},At,this.getEvents()),en=new wg.W({className:"legend",style:Se});this.category=en,this.upsertCanvas().appendChild(en),this.draw=!0},this.bindEvents()}update(t){super.update(t),this.clear(),this.createElement()}clear(){var t,e;(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.container)===null||e===void 0||e.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5,itemLabelOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const t=this.context.canvas,[e,n]=t.getSize(),{width:i=e,height:a=n,position:A,container:c,containerStyle:h,className:v}=this.options,[p,H]=vh({width:i,height:a,graphCanvas:t,container:c,containerStyle:h,placement:A,className:"legend"});return this.container=p,v&&p.classList.add(v),this.canvas=H,this.canvas}destroy(){this.clear(),this.context.graph.off(X.AFTER_DRAW,this.createElement),super.destroy()}}ph.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class mh extends to{constructor(t,e){super(t,Object.assign({},mh.defaultOptions,e)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,a]}=this.options,{movementX:A,movementY:c}=n,{left:h,top:v,width:p,height:H}=this.mask.style,[,,j,$]=this.maskBBox;let At=parseInt(h)+A,Et=parseInt(v)+c,It=parseInt(p),te=parseInt(H);At<0&&(At=0),Et<0&&(Et=0),At+It>i&&(At=Gl(i-It,0)),Et+te>a&&(Et=Gl(a-te,0)),It0?(At=Gl(At-A,0),It=Kl(It+A,i)):A<0&&(It=Kl(It-A,i))),te<$&&(c>0?(Et=Gl(Et-c,0),te=Kl(te+c,a)):c<0&&(te=Kl(te-c,a))),Object.assign(this.mask.style,{left:At+"px",top:Et+"px",width:It+"px",height:te+"px"});const oe=parseInt(h)-At,Se=parseInt(v)-Et;if(oe===0&&Se===0)return;const en=this.context.canvas.getCamera().getZoom(),kn=this.canvas.getCamera().getZoom(),Fn=en/kn;this.context.graph.translateBy([oe*Fn,Se*Fn],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=(0,ee.Z)(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),"delay"in t&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=(0,Ga.Z)(()=>{this.renderMinimap(),this.renderMask()},this.options.delay)}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_DRAW,this.onDraw),t.on(X.AFTER_RENDER,this.onRender),t.on(X.AFTER_ANIMATE,this.onRender),t.on(X.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_DRAW,this.onDraw),t.off(X.AFTER_RENDER,this.onRender),t.off(X.AFTER_ANIMATE,this.onRender),t.off(X.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const t=this.getElements(),e=this.initCanvas();this.setShapes(e,t)}getElements(){const{filter:t}=this.options,{model:e,element:n}=this.context,i=e.getData(),a={nodes:i.nodes.filter(v=>n==null?void 0:n.getElement(jt(v))),edges:i.edges.filter(v=>{const p=n==null?void 0:n.getElement(jt(v));return p&&ks(p)}),combos:i.combos.filter(v=>n==null?void 0:n.getElement(jt(v)))};if(!t)return a;const{nodes:A,edges:c,combos:h}=a;return{nodes:A.filter(v=>t(jt(v),"node")),edges:c.filter(v=>t(jt(v),"edge")),combos:h.filter(v=>t(jt(v),"combo"))}}setShapes(t,e){const{nodes:n,edges:i,combos:a}=e,{shape:A}=this.options,{element:c}=this.context,h=(v,p)=>{const H=jt(v),j=c==null?void 0:c.getElement(H);if(!j)return;const $=j.getShape("key");let At;if(typeof A=="string"){const Et=A;At=j.getShape(Et).cloneNode()}else{const Et=A(H,p,j);Et===j?At=Et.cloneNode(!0):At=Et}At.setPosition($.getPosition()),j.style.zIndex&&(At.style.zIndex=j.style.zIndex),At.id=j.id,t.appendChild(At)};t.removeChildren(),i.forEach(v=>h(v,"edge")),a.forEach(v=>h(v,"combo")),n.forEach(v=>h(v,"node"))}initCanvas(){const{renderer:t,size:[e,n]}=this.options;if(this.canvas){const{width:i,height:a}=this.canvas.getConfig();(e!==i||n!==a)&&this.canvas.resize(e,n),t&&this.canvas.setRenderer(t)}else{const{className:i,position:a,container:A,containerStyle:c}=this.options,[h,v]=vh({renderer:t,width:e,height:n,placement:a,className:"minimap",container:A,containerStyle:c,graphCanvas:this.context.canvas});i&&h.classList.add(i),this.container=h,this.canvas=v}return this.setCamera(),this.canvas}createLandmark(t,e,n){const i=`${t.join(",")}-${e.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const A=this.canvas.getCamera().createLandmark(i,{position:t,focalPoint:e,zoom:n});return this.landmarkMap.set(i,A),A}setCamera(){var t;const{canvas:e}=this.context,n=(t=this.canvas)===null||t===void 0?void 0:t.getCamera();if(!n)return;const{size:[i,a],padding:A}=this.options,[c,h,v,p]=Ge(A),{min:H,max:j,center:$}=e.getBounds("elements"),At=j[0]-H[0],Et=j[1]-H[1],It=i-p-h,te=a-c-v,oe=It/At,Se=te/Et,en=Math.min(oe,Se),kn=this.createLandmark($,$,en);n.gotoLandmark(kn,0)}get maskBBox(){const{canvas:t}=this.context,e=t.getSize(),n=t.getCanvasByViewport([0,0]),i=t.getCanvasByViewport(e),a=this.canvas.canvas2Viewport(br(n)),A=this.canvas.canvas2Viewport(br(i)),c=A.x-a.x,h=A.y-a.y;return[a.x,a.y,c,h]}calculateMaskBBox(){const{size:[t,e]}=this.options;let[n,i,a,A]=this.maskBBox;return n<0&&(a=Kl(a+n,t),n=0),i<0&&(A=Kl(A+i,e),i=0),n+a>t&&(a=Gl(t-n,0)),i+A>e&&(A=Gl(e-i,0)),[Kl(n,t),Kl(i,e),Gl(a,0),Gl(A,0)]}renderMask(){const{maskStyle:t}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart),this.mask.draggable=!0,this.mask.addEventListener("dragstart",e=>e.preventDefault&&e.preventDefault())),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},t),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[t,e,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:e+"px",left:t+"px",width:n+"px",height:i+"px"})}destroy(){var t,e,n;this.unbindEvents(),(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.mask)===null||e===void 0||e.remove(),(n=this.container)===null||n===void 0||n.remove(),super.destroy()}}mh.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 Kl=(r,t)=>Math.min(r,t),Gl=(r,t)=>Math.max(r,t);var Zh=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};const Kh={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class yh extends to{constructor(t,e){super(t,Object.assign({},yh.defaultOptions,e)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new R.x1({style:Object.assign(Object.assign({},Kh),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new R.x1({style:Object.assign(Object.assign({},Kh),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,a)=>Zh(this,void 0,void 0,function*(){const{verticalX:A,horizontalY:c}=a,{tolerance:h}=this.options,{min:[v,p],max:[H,j],center:[$,At]}=i;let Et=0,It=0;A!==null&&(wo(H,A){const{target:i}=n,a=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[A,c]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(A)<=a&&Math.abs(c)<=a)return this.context.graph.translateElementBy({[i.id]:[-A,-c]},!1),!1;if(this.isHorizontalSticking&&Math.abs(c)<=a)return this.context.graph.translateElementBy({[i.id]:[0,-c]},!1),!1;if(this.isVerticalSticking&&Math.abs(A)<=a)return this.context.graph.translateElementBy({[i.id]:[-A,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:a,shape:A}=this.options,{min:[c,h],max:[v,p],center:[H,j]}=i;let $=null,At=null,Et=null,It=null,te=null,oe=null;return this.getNodes().some(Se=>{if((0,m.Z)(n.id,Se.id))return!1;const en=wd(Se,A).getRenderBounds(),{min:[kn,Fn],max:[Xn,Cn],center:[mr,Hr]}=en;return $===null&&(wo(mr,H){this.initSnapline()},this.onDrag=n=>Zh(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const a=wd(i,this.options.shape).getRenderBounds(),A=this.calcSnaplineMetadata(i,a);this.hideSnapline(),(A.verticalX!==null||A.horizontalY!==null)&&this.updateSnapline(A),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,a,A))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var t;const{filter:e}=this.options,i=(((t=this.context.element)===null||t===void 0?void 0:t.getNodes())||[]).filter(a=>{var A;return ks(a)&&((A=this.context.viewport)===null||A===void 0?void 0:A.isInViewport(a.getRenderBounds()))});return e?i.filter(a=>e(a)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(t){const{lineWidth:e}=this.options[`${t}LineStyle`];return+(e||Kh.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(t){const{verticalX:e,verticalMinY:n,verticalMaxY:i,horizontalY:a,horizontalMinX:A,horizontalMaxX:c}=t,[h,v]=this.context.canvas.getSize(),{offset:p}=this.options;a!==null?Object.assign(this.horizontalLine.style,{x1:p===1/0?0:A-p,y1:a,x2:p===1/0?h:c+p,y2:a,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",e!==null?Object.assign(this.verticalLine.style,{x1:e,y1:p===1/0?0:n-p,x2:e,y2:p===1/0?v:i+p,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(t){const e=this.context.graph.getZoom();return qt([t.dx,t.dy],e)}bindEvents(){return Zh(this,void 0,void 0,function*(){const{graph:t}=this.context;t.on(ht.DRAG_START,this.onDragStart),t.on(ht.DRAG,this.onDrag),t.on(ht.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:t}=this.context;t.off(ht.DRAG_START,this.onDragStart),t.off(ht.DRAG,this.onDrag),t.off(ht.DRAG_END,this.onDragEnd)}destroyElements(){var t,e;(t=this.horizontalLine)===null||t===void 0||t.destroy(),(e=this.verticalLine)===null||e===void 0||e.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}yh.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const wo=(r,t)=>Math.abs(r-t),wd=(r,t)=>typeof t=="function"?t(r):r.getShape(t);var xg=f(91498),Cg=f(39934),Sg=f(21790),Mg=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})},Og=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{var At;const Et=Object.assign(Object.assign({x:j[0]/2-h/2,y:$,onChange:It=>{const te=((0,Cg.Z)(It)?It:[It,It]).map(oe=>(0,Sg.Z)(oe)?oe.getTime():oe);this.options.mode==="modify"?this.filterElements(te):this.hiddenElements(te),n==null||n(te)}},H),{data:a.map(It=>(0,qe.Z)(It)?{time:It,value:0}:It),width:h,height:v,type:i});this.timebar?this.timebar.update(Et):(this.timebar=new xg.s({style:Et}),(At=this.canvas)===null||At===void 0||At.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:t,height:e,position:n}=this.options,i=this.context.canvas,[a]=i.getSize(),[A,,c]=this.padding,[h,v]=vh({width:a,height:e+A+c,graphCanvas:i,className:"timebar",placement:n});return this.container=h,t&&h.classList.add(t),this.canvas=v,this.canvas}filterElements(t){return Mg(this,void 0,void 0,function*(){var e;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:a,element:A}=this.context,c=Ed(this.originalData);n.forEach(v=>{const p=`${v}s`;c[p]=(this.originalData[p]||[]).filter(H=>{const j=i(H);return!!Bd(j,t)})});const h=[...c.nodes,...c.combos].map(v=>jt(v));c.edges=c.edges.filter(v=>{const p=v.source,H=v.target;return h.includes(p)&&h.includes(H)}),a.setData(c),yield(e=A.draw({animation:!1,silence:!0}))===null||e===void 0?void 0:e.finished})}hiddenElements(t){const{graph:e}=this.context,{elementTypes:n,getTime:i}=this.options,a=[],A=[];n.forEach(c=>{var h;const v=`${c}s`;(((h=this.originalData)===null||h===void 0?void 0:h[v])||[]).forEach(H=>{const j=jt(H),$=i(H);Bd($,t)?A.push(j):a.push(j)})}),e.hideElement(a,!1),e.showElement(A,!1)}destroy(){var t,e,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(t=this.timebar)===null||t===void 0||t.destroy(),(e=this.canvas)===null||e===void 0||e.destroy(),(n=this.container)===null||n===void 0||n.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}wh.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:r=>Fg(r,Tg,void 0),loop:!1};const Ed=r=>{const{nodes:t=[],edges:e=[],combos:n=[]}=r;return{nodes:[...t],edges:[...e],combos:[...n]}},Bd=(r,t)=>{if((0,qe.Z)(t))return r===t;const[e,n]=t;return r>=e&&r<=n},Fg=(r,t,e)=>{var n;for(let i=0;i{const i=this.updateCanvas();this.renderTitle(i)},this.bindEvents()}bindEvents(){const{graph:t}=this.context;t.on(X.AFTER_RENDER,this.onRender),t.on(X.AFTER_ANIMATE,this.onRender)}unbindEvents(){const{graph:t}=this.context;t.off(X.AFTER_RENDER,this.onRender),t.off(X.AFTER_ANIMATE,this.onRender)}destroy(){var t,e;this.unbindEvents(),(t=this.canvas)===null||t===void 0||t.destroy(),(e=this.container)===null||e===void 0||e.remove(),super.destroy()}updateCanvas(){const{size:t,className:e,align:n}=this.options,[i]=this.context.canvas.getSize(),[a=0,,A=0]=this.padding,c=t+a+A;if(this.canvas){const{width:h,height:v}=this.canvas.getConfig();(i!==h||c!==v)&&this.canvas.resize(i,c)}else{const h={left:"left-top",center:"top",right:"right-top"},[v,p]=vh({width:i,height:c,placement:h[n]||h.left,className:"title-canvas",graphCanvas:this.context.canvas});e&&v.classList.add(e),this.container=v,this.canvas=p}return this.canvas}renderTitle(t){const e=new Dg({options:this.options,ctx:this.context});t.removeChildren(),e.getTitle().forEach(n=>{n&&t.appendChild(n)})}}class Dg{get padding(){return Ge(this.options.padding)}constructor(t){const{options:e,ctx:n}=t;this.options=e,this.context=n}getTitle(){const t=this.options,e=Gh,n=t[e],i=xd,a=t[i],{spacing:A=44,padding:c,align:h}=t,v=Ig(t,[typeof e=="symbol"?e:e+"",typeof i=="symbol"?i:i+"","spacing","padding","align"]),p=n,H=a,j=Gi(v,Gh),$=Gi(v,xd),[At]=this.context.graph.getSize(),[Et=0,It=0,,te=0]=this.padding,oe=At,Se=oe-te-It;let en=null,kn=te,Fn="left";switch(h){case"left":kn=te,Fn="left";break;case"center":kn=oe/2,Fn="center";break;case"right":kn=oe-It,Fn="right";break;default:kn=te,Fn="left"}const Xn=new Ia({className:Gh,style:Object.assign(Object.assign(Object.assign(Object.assign({},Lg),{wordWrapWidth:Se-5,x:kn,y:Et,textAlign:Fn}),j),{text:p})}),Cn=Xn.getBBox();return H&&(en=new Ia({className:"subTitle",style:Object.assign(Object.assign(Object.assign(Object.assign({},Ng),{wordWrapWidth:Se-5,x:kn,y:Cn.height+A+Et,textAlign:Fn}),$),{text:H})})),[Xn,en]}}function Rg(r){const t={top:"unset",right:"unset",bottom:"unset",left:"unset"};return r.split("-").forEach(n=>{t[n]="8px"}),t.flexDirection=r.startsWith("top")||r.startsWith("bottom")?"row":"column",t}const Qg=` - .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; - } -`,kg=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`;var Cd=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Eh extends to{constructor(t,e){super(t,Object.assign({},Eh.defaultOptions,e)),this.$element=hu("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:a}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const A=i.target.getAttribute("value");a==null||a(A,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),Dh("g6-toolbar-css","style",{},Qg,document.head),Dh("g6-toolbar-svgicon","div",{display:"none"},kg),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return Cd(this,void 0,void 0,function*(){e.update.call(this,t);const{className:n,position:i,style:a}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,a,Rg(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return Cd(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(e=>{var n;return` -
    - -
    `}).join("")})}}Eh.defaultOptions={position:"top-left"};var _g=f(75242),Sd=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Bh extends to{constructor(t,e){super(t,Object.assign({},Bh.defaultOptions,e)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(n,i)=>{const{enable:a}=this.options;return typeof a=="function"?a(n,i):a},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?this.hide(n):this.show(n)},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n)},this.onCanvasMove=n=>{this.hide(n)},this.onPointerOver=n=>{this.show(n)},this.showById=n=>Sd(this,void 0,void 0,function*(){const i={target:{id:n}};yield this.show(i)}),this.getElementData=(n,i)=>{const{model:a}=this.context;switch(i){case"node":return a.getNodeData([n]);case"edge":return a.getEdgeData([n]);case"combo":return a.getComboData([n]);default:return[]}},this.show=n=>Sd(this,void 0,void 0,function*(){var i,a;const{client:A,target:{id:c}}=n;if(Hs(n.target))return;const h=this.context.graph.getElementType(c),{getContent:v,title:p}=this.options,H=this.getElementData(c,h);if(!this.tooltipElement)return;if(!this.isEnable(n,H)){this.hide(n);return}let j={};if(v){if(j.content=yield v(n,H),!j.content)return}else{const Et=this.context.graph.getElementRenderStyle(c),It=h==="node"?Et.fill:Et.stroke;j={title:p||h,data:H.map(te=>({name:"ID",value:te.id||`${te.source} -> ${te.target}`,color:It}))}}this.currentTarget=c;let $,At;if(A)$=A.x,At=A.y;else{const Et=(0,qa.Z)(H,"0.style",{x:0,y:0});$=Et.x,At=Et.y}(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:$,y:At,style:{".tooltip":{visibility:"visible"}}}),j))}),this.hide=n=>{var i,a,A,c,h;if(!n){(a=(i=this.options).onOpenChange)===null||a===void 0||a.call(i,!1),(A=this.tooltipElement)===null||A===void 0||A.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:v,y:p}}=n;(h=(c=this.options).onOpenChange)===null||h===void 0||h.call(c,!1),this.tooltipElement.hide(v,p),this.currentTarget=null},this.initTooltip=()=>{var n;const i=new _g.u({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},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:pointerover":this.onPointerOver,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerover":this.onPointerOver,"edge:pointermove":this.onPointerMove,"combo:pointerover":this.onPointerOver,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(t){var e;this.unbindEvents(),super.update(t),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:t}=this.context,e=t.getContainer();e&&(this.container=e,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.off(n,e[n])})}bindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.on(n,e[n])})}get tooltipStyleProps(){const{canvas:t}=this.context,{center:e}=t.getBounds(),n=t.getContainer(),{top:i,left:a}=n.getBoundingClientRect(),{style:A,position:c,enterable:h,container:v={x:-a,y:-i},title:p,offset:H}=this.options,[j,$]=e,[At,Et]=t.getSize();return{x:j,y:$,container:v,title:p,bounding:{x:0,y:0,width:At,height:Et},position:c,enterable:h,offset:H,style:A}}destroy(){var t;this.unbindEvents(),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Bh.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var Md=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};let fu;function Od(r,t){return fu||(fu=document.createElement("canvas")),fu.width=r,fu.height=t,fu.getContext("2d").clearRect(0,0,r,t),fu}function Hg(r,t,e,n){return Md(this,void 0,void 0,function*(){const i=Od(r,t),a=i.getContext("2d"),{rotate:A,opacity:c,textFill:h,textFontSize:v,textFontFamily:p,textFontVariant:H,textFontWeight:j,textAlign:$,textBaseline:At}=n;return a.textAlign=$,a.textBaseline=At,a.translate(r/2,t/2),a.font=`${v}px ${p} ${H} ${j}`,A&&a.rotate(A),c&&(a.globalAlpha=c),h&&(a.fillStyle=h,a.fillText(`${e}`,0,0)),i.toDataURL()})}function Zg(r,t,e,n){return Md(this,void 0,void 0,function*(){const i=Od(r,t),a=i.getContext("2d"),{rotate:A,opacity:c}=n;A&&a.rotate(A),c&&(a.globalAlpha=c);const h=new Image;return h.crossOrigin="anonymous",h.src=e,new Promise(v=>{h.onload=function(){const p=r>h.width?(r-h.width)/2:0,H=t>h.height?(t-h.height)/2:0;a.drawImage(h,0,0,h.width,h.height,p,H,r-p*2,t-H*2),v(i.toDataURL())}})})}var Kg=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})},Gg=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);isuper.update}});return Kg(this,void 0,void 0,function*(){e.update.call(this,t);const n=this.options,{width:i,height:a,text:A,imageURL:c}=n,h=Gg(n,["width","height","text","imageURL"]);Object.keys(h).forEach(p=>{p.startsWith("background")&&(this.$element.style[p]=t[p])});const v=c?yield Zg(i,a,c,h):yield Hg(i,a,A,h);this.$element.style.backgroundImage=`url(${v})`})}destroy(){super.destroy(),this.$element.remove()}}bh.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const zg=["#7E92B5","#F4664A","#FFBE3A"],Wg={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},Vg={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function Td(r){const{bgColor:t,textColor:e,nodeColor:n,nodeColorDisabled:i,nodeStroke:a,nodeHaloStrokeOpacityActive:A=.15,nodeHaloStrokeOpacitySelected:c=.25,nodeOpacityDisabled:h=.06,nodeIconOpacityInactive:v=.85,nodeOpacityInactive:p=.25,nodeBadgePalette:H=zg,nodePaletteOptions:j=Wg,edgeColor:$,edgeColorDisabled:At,edgePaletteOptions:Et=Vg,comboColor:It,comboColorDisabled:te,comboStroke:oe,comboStrokeDisabled:Se,edgeColorInactive:en}=r;return{background:t,node:{palette:j,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:H,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:e,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:a,portStrokeOpacity:.65,size:32,stroke:a,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:c,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:a},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:A},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:a,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:p,donutOpacity:p,fillOpacity:p,iconOpacity:v,labelFill:e,labelFillOpacity:p,strokeOpacity:p},disabled:{badgeBackgroundOpacity:.25,donutOpacity:h,fill:i,fillOpacity:h,iconFill:i,iconOpacity:.25,labelFill:e,labelFillOpacity:.25,strokeOpacity:h}},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:Et,style:{badgeBackgroundFill:$,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,badgeBackgroundOpacity:1,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:$,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:en,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:At,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:t,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:It,halo:!1,haloLineWidth:12,haloStroke:oe,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:oe},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:te,fillOpacity:.25,labelOpacity:.25,stroke:Se,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 jg=Td({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"}),Yg=Td({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 zl extends ot{beforeDraw(t,e){return t}afterLayout(t,e){}}class Xg extends zl{beforeDraw(t){const{model:e}=this.context,n=t.add.combos,i=a=>{const A=[];return a.forEach((c,h)=>{const p=e.getAncestorsData(h,"combo").map(H=>jt(H)).reverse();A.push([h,c,p.length])}),new Map(A.sort(([,,c],[,,h])=>h-c).map(([c,h])=>[c,h]))};return t.add.combos=i(n),t.update.combos=i(t.update.combos),t}}function Xo(r,t,e,n,i){const a=jt(n),A=`${e}s`,c=i?n:r.add[A].get(a)||r.update[A].get(a)||r.remove[A].get(a)||n;Object.entries(r).forEach(([h,v])=>{t===h?v[A].set(a,c):v[A].delete(a)})}function xh(r,t){return Object.keys(r).every(e=>r[e]===t[e])}class Jg extends zl{beforeDraw(t,e){if(e.stage==="visibility"||!this.context.model.model.hasTreeStructure(Dt))return t;const{model:n}=this.context,{add:i,update:a}=t,A=[...t.update.combos.entries(),...t.add.combos.entries()];for(;A.length;){const[c,h]=A.pop();if(Ca(h)){const v=n.getDescendantsData(c),p=v.map(jt),{internal:H,external:j}=Dr(p,$=>n.getRelatedEdgesData($));v.forEach($=>{const At=jt($),Et=A.findIndex(([te])=>te===At);Et!==-1&&A.splice(Et,1);const It=n.getElementType(At);Xo(t,"remove",It,$)}),H.forEach($=>Xo(t,"remove","edge",$)),j.forEach($=>{var At;const Et=jt($);((At=this.context.element)===null||At===void 0?void 0:At.getElement(Et))?a.edges.set(Et,$):i.edges.set(Et,$)})}else{const v=n.getChildrenData(c),p=v.map(jt),{edges:H}=Dr(p,j=>n.getRelatedEdgesData(j));[...v,...H].forEach(j=>{var $;const At=jt(j),Et=n.getElementType(At);(($=this.context.element)===null||$===void 0?void 0:$.getElement(At))?Xo(t,"update",Et,j):Xo(t,"add",Et,j),Et==="combo"&&A.push([At,j])})}}return t}}const Fd=(r,t,e,n)=>{const i=`${e}s`,a=jt(n);!r.add[i].has(a)&&!r.update[i].has(a)&&r[t][i].set(jt(n),n)};class qg extends zl{getElement(t){return this.context.element.getElement(t)}handleExpand(t,e){if(Fd(e,"add","node",t),Ca(t))return;const n=jt(t);Fd(e,"add","node",t),this.context.model.getRelatedEdgesData(n).forEach(A=>{Xo(e,"add","edge",A)}),this.context.model.getChildrenData(n).forEach(A=>{this.handleExpand(A,e)})}beforeDraw(t){const{graph:e,model:n}=this.context;if(!n.model.hasTreeStructure(Gt))return t;const{add:{nodes:i,edges:a},update:{nodes:A}}=t,c=new Map,h=new Map;i.forEach((p,H)=>{Ca(p)&&c.set(H,p)}),a.forEach(p=>{if(e.getElementType(p.source)!=="node")return;const H=e.getNodeData(p.source);Ca(H)&&c.set(p.source,H)}),A.forEach((p,H)=>{const j=this.getElement(H);if(!j)return;const $=j.attributes.collapsed;Ca(p)?$||c.set(H,p):$&&h.set(H,p)});const v=new Set;return c.forEach((p,H)=>{n.getDescendantsData(H).forEach($=>{const At=jt($);if(v.has(At))return;Xo(t,"remove","node",$),n.getRelatedEdgesData(At).forEach(It=>{Xo(t,"remove","edge",It)}),v.add(At)})}),h.forEach((p,H)=>{if(n.getAncestorsData(H,Gt).some(Ca)){Xo(t,"remove","node",p);return}this.handleExpand(p,t)}),t}}const zh=new WeakMap;function G0(r,t,e){zh.has(r)||zh.set(r,{});const n=zh.get(r);if(!n[t])return n[t]=e,!0;const i=n[t];return Id(i,e)?!1:(n[t]=e,!0)}const Id=(r,t,e=2)=>{if(typeof r!="object"||typeof t!="object")return r===t;const n=Object.keys(r),i=Object.keys(t);if(n.length!==i.length)return!1;for(const a of n){const A=r[a],c=t[a];if(e>1&&typeof A=="object"&&typeof c=="object"){if(!Id(A,c,e-1))return!1}else if(A!==c)return!1}return!0};function $g(r,t,e){Fe[r][t]&&we.warn(`The extension ${t} of ${r} has been registered before, and will be overridden.`),Object.assign(Fe[r],{[t]:e})}var t0=f(59293),e0=f(85580),Ld=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})},Nd=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const j=new R.Xz(Object.assign(Object.assign({},c),{supportsMutipleCanvasesInOneContainer:A,renderer:v[H],background:A?H==="background"?i:void 0:i}));return[H,j]}));Qd(p),this.extends={config:this.config,renderer:n,renderers:v,layers:p}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,t])=>t.ready))}resize(t,e){Object.assign(this.extends.config,{width:t,height:e}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),a=i.getPosition(),A=i.getFocalPoint();n.resize(t,e),i.setPosition(a),i.setFocalPoint(A)})}getBounds(t){return Ee(Object.values(this.getLayers()).map(e=>t?e.getRoot().childNodes.find(i=>i.classList.includes(t)):e.getRoot()).filter(e=>(e==null?void 0:e.childNodes.length)>0).map(e=>e.getBounds()))}getContainer(){const t=this.extends.config.container;return typeof t=="string"?document.getElementById(t):t}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(t,e){var n;const i=((n=t.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(t,e)}setRenderer(t){if(t===this.extends.renderer)return;const e=Rd(t,this.config.enableMultiLayer?Ud:Pd);this.extends.renderers=e,Object.entries(e).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),Qd(this.getLayers())}getCanvasByViewport(t){return Cr(this.getLayer().viewport2Canvas(br(t)))}getViewportByCanvas(t){return Cr(this.getLayer().canvas2Viewport(br(t)))}getViewportByClient(t){return Cr(this.getLayer().client2Viewport(br(t)))}getClientByViewport(t){return Cr(this.getLayer().viewport2Client(br(t)))}getClientByCanvas(t){return this.getClientByViewport(this.getViewportByCanvas(t))}getCanvasByClient(t){const e=this.getLayer(),n=e.client2Viewport(br(t));return Cr(e.viewport2Canvas(n))}toDataURL(){return Ld(this,arguments,void 0,function*(t={}){const e=globalThis.devicePixelRatio||1,{mode:n="viewport"}=t,i=Nd(t,["mode"]);let[a,A,c,h]=[0,0,0,0];if(n==="viewport")[c,h]=this.getSize();else if(n==="overall"){const te=this.getBounds(),oe=Xt(te);[a,A]=te.min,[c,h]=oe}const v=(0,e0.L)('
    '),p=new R.Xz({width:c,height:h,renderer:new ss.Th,devicePixelRatio:e,container:v,background:this.extends.config.background});yield p.ready,p.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),p.appendChild(this.getRoot().cloneNode(!0));const H=this.getLayer("label").getRoot().cloneNode(!0),j=p.viewport2Canvas({x:0,y:0}),$=this.getCanvasByViewport([0,0]);H.translate([$[0]-j.x,$[1]-j.y]),H.scale(1/this.getCamera().getZoom()),p.appendChild(H),p.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const At=this.getCamera(),Et=p.getCamera();if(n==="viewport")Et.setZoom(At.getZoom()),Et.setPosition(At.getPosition()),Et.setFocalPoint(At.getFocalPoint());else if(n==="overall"){const[te,oe,Se]=Et.getPosition(),[en,kn,Fn]=Et.getFocalPoint();Et.setPosition([te+a,oe+A,Se]),Et.setFocalPoint([en+a,kn+A,Fn])}const It=p.getContextService();return new Promise(te=>{p.addEventListener(R.$6.RERENDER,()=>Ld(this,void 0,void 0,function*(){yield new Promise(Se=>setTimeout(Se,300));const oe=yield It.toDataURL(i);te(oe)}))})})}destroy(){Object.values(this.getLayers()).forEach(t=>{t.getCamera().cancelLandmarkAnimation(),t.destroy()})}}function Rd(r,t){return Object.fromEntries(t.map(e=>{const n=(r==null?void 0:r(e))||new ss.Th;return n instanceof ss.Th&&n.setConfig({enableDirtyRectangleRendering:!1}),e==="main"?n.registerPlugin(new t0.S({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):n.unregisterPlugin(n.getPlugin("dom-interaction")),[e,n]}))}function Qd(r){Object.entries(r).forEach(([t,e])=>{const n=e.getContextService().getDomElement();n!=null&&n.style&&(n.style.gridArea="1 / 1 / 2 / 2",n.style.outline="none",n.tabIndex=1,t!=="main"&&(n.style.pointerEvents="none")),n!=null&&n.parentElement&&(n.parentElement.style.display="grid",n.parentElement.style.isolation="isolate")})}const gu=r=>r?parseInt(r):0;function r0(r){const t=getComputedStyle(r),e=r.clientWidth||gu(t.width),n=r.clientHeight||gu(t.height),i=gu(t.paddingLeft)+gu(t.paddingRight),a=gu(t.paddingTop)+gu(t.paddingBottom);return[e-i,n-a]}function kd(r){if(!r)return[0,0];let t=640,e=480;const[n,i]=r0(r);t=n||t,e=i||e;const a=1,A=1;return[Math.max((0,qe.Z)(t)?t:a,a),Math.max((0,qe.Z)(e)?e:A,A)]}class Ch{constructor(t){this.type=t}}class Ns extends Ch{constructor(t,e){super(t),this.data=e}}class cA extends Ch{constructor(t,e,n,i){super(t),this.animationType=e,this.animation=n,this.data=i}}class vu extends Ch{constructor(t,e,n){super(t),this.elementType=e,this.data=n}}class Sh extends Ch{constructor(t,e){super(t),this.data=e}}function zs(r,t){r.emit(t.type,t)}function i0(r){if(!r)return null;if(r instanceof R.BB)return{type:"canvas",element:r};let t=r;for(;t;){if(zr(t))return{type:"node",element:t};if(ai(t))return{type:"edge",element:t};if(yi(t))return{type:"combo",element:t};t=t.parentElement}return null}function _d(r){var t;return((t=r==null?void 0:r.style)===null||t===void 0?void 0:t.zIndex)||0}const pu="cachedStyle",Mh=r=>`__${r}__`;function a0(r,t){const e=Array.isArray(t)?t:[t];(0,qa.Z)(r,pu)||(0,no.Z)(r,pu,{}),e.forEach(n=>{(0,no.Z)((0,qa.Z)(r,pu),Mh(n),r.attributes[n])})}function Hd(r,t){return(0,qa.Z)(r,[pu,Mh(t)])}function s0(r,t){return Mh(t)in((0,qa.Z)(r,pu)||{})}function z0(r,t,e){set(r,[pu,Mh(t)],e)}class o0{constructor(t){this.tasks=[],this.animations=new Set,this.context=t}getTasks(){const t=[...this.tasks];return this.tasks=[],t}add(t,e){this.tasks.push([t,e])}animate(t,e,n){var i,a,A;(i=e==null?void 0:e.before)===null||i===void 0||i.call(e);const c=this.getTasks().map(([v,p])=>{var H,j,$;const{element:At,elementType:Et,stage:It}=v,te=tn(this.context.options,Et,It,t);(H=p==null?void 0:p.before)===null||H===void 0||H.call(p);const oe=te.length?rn(At,this.inferStyle(v,n),te):null;return oe?((j=p==null?void 0:p.beforeAnimate)===null||j===void 0||j.call(p,oe),oe.finished.then(()=>{var Se,en;(Se=p==null?void 0:p.afterAnimate)===null||Se===void 0||Se.call(p,oe),(en=p==null?void 0:p.after)===null||en===void 0||en.call(p),this.animations.delete(oe)})):($=p==null?void 0:p.after)===null||$===void 0||$.call(p),oe}).filter(Boolean);c.forEach(v=>this.animations.add(v));const h=Un(c);return h?((a=e==null?void 0:e.beforeAnimate)===null||a===void 0||a.call(e,h),h.finished.then(()=>{var v,p;(v=e==null?void 0:e.afterAnimate)===null||v===void 0||v.call(e,h),(p=e==null?void 0:e.after)===null||p===void 0||p.call(e),this.release()})):(A=e==null?void 0:e.after)===null||A===void 0||A.call(e),h}inferStyle(t,e){var n,i;const{element:a,elementType:A,stage:c,originalStyle:h,updatedStyle:v={}}=t;t.modifiedStyle||(t.modifiedStyle=Object.assign(Object.assign({},h),v));const{modifiedStyle:p}=t,H={},j={};if(c==="enter")Object.assign(H,{opacity:0});else if(c==="exit")Object.assign(j,{opacity:0});else if(c==="show")Object.assign(H,{opacity:0}),Object.assign(j,{opacity:(n=Hd(a,"opacity"))!==null&&n!==void 0?n:Ie("opacity")});else if(c==="hide")Object.assign(H,{opacity:(i=Hd(a,"opacity"))!==null&&i!==void 0?i:Ie("opacity")}),Object.assign(j,{opacity:0});else if(c==="collapse"){const{collapse:$}=e||{},{target:At,descendants:Et,position:It}=$;if(A==="node"){if(Et.includes(a.id)){const[te,oe,Se]=It;Object.assign(j,{x:te,y:oe,z:Se})}}else if(A==="combo"){if(a.id===At||Et.includes(a.id)){const[te,oe]=It;Object.assign(j,{x:te,y:oe,childrenNode:h.childrenNode})}}else A==="edge"&&Object.assign(j,{sourceNode:p.sourceNode,targetNode:p.targetNode})}else if(c==="expand"){const{expand:$}=e||{},{target:At,descendants:Et,position:It}=$;if(A==="node"){if(a.id===At||Et.includes(a.id)){const[te,oe,Se]=It;Object.assign(H,{x:te,y:oe,z:Se})}}else if(A==="combo"){if(a.id===At||Et.includes(a.id)){const[te,oe,Se]=It;Object.assign(H,{x:te,y:oe,z:Se,childrenNode:p.childrenNode})}}else A==="edge"&&Object.assign(H,{sourceNode:p.sourceNode,targetNode:p.targetNode})}return[Object.keys(H).length>0?Object.assign({},h,H):h,Object.keys(j).length>0?Object.assign({},p,j):p]}stop(){this.animations.forEach(t=>t.cancel())}clear(){this.tasks=[]}release(){var t,e;const{canvas:n}=this.context,i=(e=(t=n.document)===null||t===void 0?void 0:t.timeline)===null||e===void 0?void 0:e.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(a=>a.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class A0{constructor(t){this.batchCount=0,this.context=t}emit(t){const{graph:e}=this.context;e.emit(t.type,t)}startBatch(t=!0){this.batchCount++,this.batchCount===1&&this.emit(new Ns(X.BATCH_START,{initiate:t}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new Ns(X.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class l0 extends Yn{constructor(t){super(t),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=e=>{const{target:n}=e,i=i0(n);if(!i)return;const{graph:a,canvas:A}=this.context,{type:c,element:h}=i;if("destroyed"in h&&(Hs(h)||h.destroyed))return;const{type:v,detail:p,button:H}=e,j=Object.assign(Object.assign({},e),{target:h,targetType:c,originalTarget:n});v===W.POINTER_MOVE&&(this.currentTarget!==h&&(this.currentTarget&&a.emit(`${this.currentTargetType}:${W.POINTER_LEAVE}`,Object.assign(Object.assign({},j),{type:W.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),h&&(Object.assign(j,{type:W.POINTER_ENTER}),a.emit(`${c}:${W.POINTER_ENTER}`,j))),this.currentTarget=h,this.currentTargetType=c),v===W.CLICK&&H===2||(a.emit(`${c}:${v}`,j),a.emit(v,j)),v===W.CLICK&&p===2&&(Object.assign(j,{type:W.DBLCLICK}),a.emit(`${c}:${W.DBLCLICK}`,j),a.emit(W.DBLCLICK,j)),v===W.POINTER_DOWN&&H===2&&(Object.assign(j,{type:W.CONTEXT_MENU,preventDefault:()=>{var $;($=A.getContainer())===null||$===void 0||$.addEventListener(W.CONTEXT_MENU,At=>At.preventDefault(),{once:!0})}}),a.emit(`${c}:${W.CONTEXT_MENU}`,j),a.emit(W.CONTEXT_MENU,j))},this.forwardContainerEvents=e=>{this.context.graph.emit(e.type,e)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(t){this.setExtensions(t)}forwardEvents(){const t=this.context.canvas.getContainer();t&&[vt.KEY_DOWN,vt.KEY_UP].forEach(n=>{t.addEventListener(n,this.forwardContainerEvents)});const e=this.context.canvas.document;e&&[W.CLICK,W.DBLCLICK,W.POINTER_OVER,W.POINTER_LEAVE,W.POINTER_ENTER,W.POINTER_MOVE,W.POINTER_OUT,W.POINTER_DOWN,W.POINTER_UP,W.CONTEXT_MENU,W.DRAG_START,W.DRAG,W.DRAG_END,W.DRAG_ENTER,W.DRAG_OVER,W.DRAG_LEAVE,W.DROP,W.WHEEL].forEach(n=>{e.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const t=this.context.canvas.getContainer();t&&[vt.KEY_DOWN,vt.KEY_UP].forEach(e=>{t.removeEventListener(e,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var c0=f(35300),u0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i0}silence(t){this.isTraceless=!0,t(),this.isTraceless=!1}isCombo(t){return this.comboIds.has(t)||this.latestRemovedComboIds.has(t)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return this.isCombo(jt(i))||(t===void 0||t.includes(jt(i)))&&e.push(i),e},[])}getEdgeDatum(t){return eo(this.model.getEdge(t))}getEdgeData(t){return this.model.getAllEdges().reduce((e,n)=>{const i=eo(n);return(t===void 0||t.includes(jt(i)))&&e.push(i),e},[])}getComboData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return this.isCombo(jt(i))&&(t===void 0||t.includes(jt(i)))&&e.push(i),e},[])}getRootsData(t=Gt){return this.model.getRoots(t).map(eo)}getAncestorsData(t,e){const{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getAncestors(t,e).map(eo)}getDescendantsData(t){const e=this.getElementDataById(t),n=[];return da(e,i=>{i!==e&&n.push(i)},i=>this.getChildrenData(jt(i)),"TB"),n}getParentData(t,e){const{model:n}=this;if(!e){we.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(t)||!n.hasTreeStructure(e))return;const i=n.getParent(t,e);return i?eo(i):void 0}getChildrenData(t){const e=this.getElementType(t)==="node"?Gt:Dt,{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getChildren(t,e).map(eo)}getElementsDataByType(t){return t==="node"?this.getNodeData():t==="edge"?this.getEdgeData():t==="combo"?this.getComboData():[]}getElementDataById(t){return this.getElementType(t)==="edge"?this.getEdgeDatum(t):this.getNodeLikeDatum(t)}getNodeLikeDatum(t){const e=this.model.getNode(t);return eo(e)}getNodeLikeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=eo(n);return t?t.includes(jt(i))&&e.push(i):e.push(i),e},[])}getElementDataByState(t,e){return this.getElementsDataByType(t).filter(i=>{var a;return(a=i.states)===null||a===void 0?void 0:a.includes(e)})}getElementState(t){var e;return((e=this.getElementDataById(t))===null||e===void 0?void 0:e.states)||[]}hasNode(t){return this.model.hasNode(t)&&!this.isCombo(t)}hasEdge(t){return this.model.hasEdge(t)}hasCombo(t){return this.model.hasNode(t)&&this.isCombo(t)}getRelatedEdgesData(t,e="both"){return this.model.getRelatedEdges(t,e).map(eo)}getNeighborNodesData(t){return this.model.getNeighbors(t).map(eo)}setData(t){const{nodes:e=[],edges:n=[],combos:i=[]}=t,{nodes:a,edges:A,combos:c}=this.getData(),h=gn(a,e,H=>jt(H),eA),v=gn(A,n,H=>jt(H),eA),p=gn(c,i,H=>jt(H),eA);this.batch(()=>{const H={nodes:h.enter,edges:v.enter,combos:p.enter};this.addData(H),this.computeZIndex(H,"add",!0);const j={nodes:h.update,edges:v.update,combos:p.update};this.updateData(j),this.computeZIndex(j,"update",!0);const $={nodes:h.exit.map(jt),edges:v.exit.map(jt),combos:p.exit.map(jt)};this.removeData($)})}addData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.addComboData(i),this.addNodeData(e),this.addEdgeData(n)}),this.computeZIndex(t,"add")}addNodeData(t=[]){t.length&&(this.model.addNodes(t.map(e=>(this.pushChange({value:e,type:O.NodeAdded}),Wh(e)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({nodes:t},"add"))}addEdgeData(t=[]){t.length&&(this.model.addEdges(t.map(e=>(this.pushChange({value:e,type:O.EdgeAdded}),Wh(e)))),this.computeZIndex({edges:t},"add"))}addComboData(t=[]){if(!t.length)return;const{model:e}=this;e.hasTreeStructure(Dt)||e.attachTreeStructure(Dt),e.addNodes(t.map(n=>(this.comboIds.add(jt(n)),this.pushChange({value:n,type:O.ComboAdded}),Wh(n)))),this.updateNodeLikeHierarchy(t),this.computeZIndex({combos:t},"add")}addChildrenData(t,e){const n=this.getNodeLikeDatum(t),i=e.map(jt);this.addNodeData(e),this.updateNodeData([{id:t,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(a=>({source:t,target:a})))}computeZIndex(t,e,n=!1){!n&&this.isBatching()||this.batch(()=>{const{nodes:i=[],edges:a=[],combos:A=[]}=t;A.forEach(c=>{var h,v,p;const H=jt(c);if(e==="add"&&(0,qe.Z)((h=c.style)===null||h===void 0?void 0:h.zIndex)||e==="update"&&!("combo"in c))return;const j=this.getParentData(H,Dt),$=j?((p=(v=j.style)===null||v===void 0?void 0:v.zIndex)!==null&&p!==void 0?p:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:H,style:{zIndex:$}}])})}),i.forEach(c=>{var h,v,p;const H=jt(c);if(e==="add"&&(0,qe.Z)((h=c.style)===null||h===void 0?void 0:h.zIndex)||e==="update"&&!("combo"in c)&&!("children"in c))return;let j=0;const $=this.getParentData(H,Dt);if($)j=(((v=$.style)===null||v===void 0?void 0:v.zIndex)||0)+1;else{const At=this.getParentData(H,Gt);At&&(j=((p=At==null?void 0:At.style)===null||p===void 0?void 0:p.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:H,style:{zIndex:j}}])})}),a.forEach(c=>{var h,v,p,H,j;if((0,qe.Z)((h=c.style)===null||h===void 0?void 0:h.zIndex))return;let{id:$,source:At,target:Et}=c;if(!$)$=jt(c);else{const oe=this.getEdgeDatum($);At=oe.source,Et=oe.target}if(!At||!Et)return;const It=((p=(v=this.getNodeLikeDatum(At))===null||v===void 0?void 0:v.style)===null||p===void 0?void 0:p.zIndex)||0,te=((j=(H=this.getNodeLikeDatum(Et))===null||H===void 0?void 0:H.style)===null||j===void 0?void 0:j.zIndex)||0;this.updateEdgeData([{id:jt(c),style:{zIndex:Math.max(It,te)-1}}])})})}getFrontZIndex(t){var e;const n=this.getElementType(t),i=this.getElementDataById(t),a=this.getData();if(Object.assign(a,{[`${n}s`]:a[`${n}s`].filter(A=>jt(A)!==t)}),n==="combo"&&!Ca(i)){const A=new Set(this.getAncestorsData(t,Dt).map(jt));a.nodes=a.nodes.filter(c=>!A.has(jt(c))),a.combos=a.combos.filter(c=>!A.has(jt(c))),a.edges=a.edges.filter(({source:c,target:h})=>!A.has(c)&&!A.has(h))}return Math.max(((e=i.style)===null||e===void 0?void 0:e.zIndex)||0,0,...Object.values(a).flat().map(A=>{var c;return(((c=A==null?void 0:A.style)===null||c===void 0?void 0:c.zIndex)||0)+1}))}updateNodeLikeHierarchy(t){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:e}=this;t.forEach(n=>{const i=jt(n),a=rr(n);a!==void 0&&(e.hasTreeStructure(Dt)||e.attachTreeStructure(Dt),a===null&&this.refreshComboData(i),this.setParent(i,rr(n),Dt));const A=n.children||[];if(A.length){e.hasTreeStructure(Gt)||e.attachTreeStructure(Gt);const c=A.filter(h=>e.hasNode(h));c.forEach(h=>this.setParent(h,i,Gt)),c.length!==A.length&&this.updateNodeData([{id:i,children:c}])}})}preventUpdateNodeLikeHierarchy(t){this.enableUpdateNodeLikeHierarchy=!1,t(),this.enableUpdateNodeLikeHierarchy=!0}updateData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.updateNodeData(e),this.updateComboData(i),this.updateEdgeData(n)}),this.computeZIndex(t,"update")}updateNodeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{const n=[];t.forEach(i=>{const a=jt(i),A=eo(e.getNode(a));if(eA(A,i))return;const c=po(A,i);this.pushChange({value:c,original:A,type:O.NodeUpdated}),e.mergeNodeData(a,c),n.push(c)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({nodes:t},"update")}refreshData(){const{nodes:t,edges:e,combos:n}=this.getData();t.forEach(i=>{this.pushChange({value:i,original:i,type:O.NodeUpdated})}),e.forEach(i=>{this.pushChange({value:i,original:i,type:O.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:O.ComboUpdated})})}syncNodeLikeDatum(t){const{model:e}=this,n=jt(t);if(!e.hasNode(n))return;const i=eo(e.getNode(n)),a=po(i,t);e.mergeNodeData(n,a)}syncEdgeDatum(t){const{model:e}=this,n=jt(t);if(!e.hasEdge(n))return;const i=eo(e.getEdge(n)),a=po(i,t);e.mergeEdgeData(n,a)}updateEdgeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{t.forEach(n=>{const i=jt(n),a=eo(e.getEdge(i));if(eA(a,n))return;n.source&&a.source!==n.source&&e.updateEdgeSource(i,n.source),n.target&&a.target!==n.target&&e.updateEdgeTarget(i,n.target);const A=po(a,n);this.pushChange({value:A,original:a,type:O.EdgeUpdated}),e.mergeEdgeData(i,A)})}),this.computeZIndex({edges:t},"update")}updateComboData(t=[]){if(!t.length)return;const{model:e}=this;e.batch(()=>{const n=[];t.forEach(i=>{const a=jt(i),A=eo(e.getNode(a));if(eA(A,i))return;const c=po(A,i);this.pushChange({value:c,original:A,type:O.ComboUpdated}),e.mergeNodeData(a,c),n.push(c)}),this.updateNodeLikeHierarchy(n)}),this.computeZIndex({combos:t},"update")}setParent(t,e,n,i=!0){if(t===e)return;const a=this.getNodeLikeDatum(t),A=rr(a);if(A!==e&&n===Dt){const c={id:t,combo:e};this.isCombo(t)?this.syncNodeLikeDatum(c):this.syncNodeLikeDatum(c)}this.model.setParent(t,e,n),i&&n===Dt&&(0,c0.Z)([A,e]).forEach(c=>{c!==void 0&&this.refreshComboData(c)})}refreshComboData(t){const e=this.getComboData([t])[0],n=this.getAncestorsData(t,Dt);e&&this.pushChange({value:e,original:e,type:O.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:O.ComboUpdated})})}getElementPosition(t){const e=this.getElementDataById(t);return He(e)}translateNodeLikeBy(t,e){this.isCombo(t)?this.translateComboBy(t,e):this.translateNodeBy(t,e)}translateNodeLikeTo(t,e){this.isCombo(t)?this.translateComboTo(t,e):this.translateNodeTo(t,e)}translateNodeBy(t,e){const n=this.getElementPosition(t),i=z(n,[...e,0].slice(0,3));this.translateNodeTo(t,i)}translateNodeTo(t,e){const[n=0,i=0,a=0]=e;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:t,style:{x:n,y:i,z:a}}])})}translateComboBy(t,e){const[n=0,i=0,a=0]=e;if([n,i,a].some(isNaN)||[n,i,a].every(h=>h===0))return;const A=this.getComboData([t])[0];if(!A)return;const c=new Set;da(A,h=>{const v=jt(h);if(c.has(v))return;c.add(v);const[p,H,j]=He(h),$=po(h,{style:{x:p+n,y:H+i,z:j+a}});this.pushChange({value:$,original:h,type:this.isCombo(v)?O.ComboUpdated:O.NodeUpdated}),this.model.mergeNodeData(v,$)},h=>this.getChildrenData(jt(h)),"BT")}translateComboTo(t,e){var n;if(e.some(isNaN))return;const[i=0,a=0,A=0]=e,c=(n=this.getComboData([t]))===null||n===void 0?void 0:n[0];if(!c)return;const[h,v,p]=He(c),H=i-h,j=a-v,$=A-p;da(c,At=>{const Et=jt(At),[It,te,oe]=He(At),Se=po(At,{style:{x:It+H,y:te+j,z:oe+$}});this.pushChange({value:Se,original:At,type:this.isCombo(Et)?O.ComboUpdated:O.NodeUpdated}),this.model.mergeNodeData(Et,Se)},At=>this.getChildrenData(jt(At)),"BT")}removeData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(e),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.removeEdgeData(this.getRelatedEdgesData(e).map(jt)),this.pushChange({value:this.getNodeData([e])[0],type:O.NodeRemoved}),this.removeNodeLikeHierarchy(e)}),this.model.removeNodes(t)})}removeEdgeData(t=[]){t.length&&(t.forEach(e=>this.pushChange({value:this.getEdgeData([e])[0],type:O.EdgeRemoved})),this.model.removeEdges(t))}removeComboData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.pushChange({value:this.getComboData([e])[0],type:O.ComboRemoved}),this.removeNodeLikeHierarchy(e),this.comboIds.delete(e)}),this.model.removeNodes(t)})}removeNodeLikeHierarchy(t){if(this.model.hasTreeStructure(Dt)){const e=rr(this.getNodeLikeDatum(t));this.setParent(t,void 0,Dt,!1),this.model.getChildren(t,Dt).forEach(n=>{const i=eo(n),a=jt(i);this.setParent(jt(i),e,Dt,!1);const A=po(i,{id:jt(i),combo:e});this.pushChange({value:A,original:i,type:this.isCombo(a)?O.ComboUpdated:O.NodeUpdated}),this.model.mergeNodeData(jt(i),A)}),(0,P.Z)(e)||this.refreshComboData(e)}}getElementType(t){if(this.model.hasNode(t))return this.isCombo(t)?"combo":"node";if(this.model.hasEdge(t))return"edge";throw new Error(cn(`Unknown element type of id: ${t}`))}destroy(){const{model:t}=this,e=t.getAllNodes(),n=t.getAllEdges();t.removeEdges(n.map(i=>i.id)),t.removeNodes(e.map(i=>i.id)),this.context={}}}var mu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class f0{constructor(t){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=t}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:t}=this.context;this.container=t.appendChild(new R.ZA({className:"elements"}))}}emit(t,e){e.silence||zs(this.context.graph,t)}forEachElementData(t){Ba.forEach(e=>{const n=this.context.model.getElementsDataByType(e);t(e,n)})}getElementType(t,e){var n;const{options:i,graph:a}=this.context,A=Za(e)&&((n=i[t])===null||n===void 0?void 0:n.type)||e.type;return A?typeof A=="string"?A:A.call(a,e):t==="edge"?"line":"circle"}getTheme(t){return Ye(this.context.options)[t]||{}}getThemeStyle(t){return this.getTheme(t).style||{}}getThemeStateStyle(t,e){const{state:n={}}=this.getTheme(t);return Object.assign({},...e.map(i=>n[i]||{}))}computePaletteStyle(){const{options:t}=this.context;this.paletteStyle={},this.forEachElementData((e,n)=>{var i,a;const A=Object.assign({},xs((i=this.getTheme(e))===null||i===void 0?void 0:i.palette),xs((a=t[e])===null||a===void 0?void 0:a.palette));A!=null&&A.field&&Object.assign(this.paletteStyle,ua(n,A))})}getPaletteStyle(t,e){const n=this.paletteStyle[e];return n?t==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(t,e){var n;const{options:i}=this.context,a=((n=i[t])===null||n===void 0?void 0:n.style)||{};"transform"in a&&Array.isArray(a.transform)&&(a.transform=[...a.transform]),this.defaultStyle[jt(e.datum)]=io(a,e)}computeElementsDefaultStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let A=0;Athis.getElementStateStyle(t,i,n)))}computeElementsStatesStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const a=i.length;for(let A=0;Athis.elementMap[t])}getEdges(){return this.context.model.getEdgeData().map(t=>this.elementMap[jt(t)])}getCombos(){return this.context.model.getComboData().map(({id:t})=>this.elementMap[t])}getElementComputedStyle(t,e){const n=jt(e),i=this.getThemeStyle(t),a=this.getPaletteStyle(t,n),A=e.style||{},c=this.getDefaultStyle(n),h=this.getThemeStateStyle(t,this.getElementState(n)),v=this.getStateStyle(n),p=Za(e)?Object.assign({},i,a,A,c,h,v):Object.assign({},A);if(t==="combo"){const H=this.context.model.getChildrenData(n),$=!!p.collapsed?[]:H.map(jt).filter(At=>this.getElement(At));Object.assign(p,{childrenNode:$,childrenData:H})}return p}getDrawData(t){this.init();const e=this.computeChangesAndDrawData(t);if(!e)return null;const{type:n="draw",stage:i=n}=t;return this.markDestroyElement(e.drawData),this.computeStyle(i),{type:n,stage:i,data:e}}draw(t={animation:!0}){const e=this.getDrawData(t);if(!e)return;const{data:{drawData:{add:n,update:i,remove:a}}}=e;return this.destroyElements(a,t),this.createElements(n,t),this.updateElements(i,t),this.setAnimationTask(t,e)}preLayoutDraw(){return mu(this,arguments,void 0,function*(t={animation:!0}){var e,n;const i=this.getDrawData(t);if(!i)return;const{data:{drawData:a}}=i;yield(n=(e=this.context.layout)===null||e===void 0?void 0:e.preLayout)===null||n===void 0?void 0:n.call(e,a);const{add:A,update:c,remove:h}=a;return this.destroyElements(h,t),this.createElements(A,t),this.updateElements(c,t),this.setAnimationTask(t,i)})}setAnimationTask(t,e){const{animation:n,silence:i}=t,{data:{dataChanges:a,drawData:A},stage:c,type:h}=e;return this.context.animation.animate(n,i?{}:{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:a,animation:n,stage:c,render:h==="render"}),t),beforeAnimate:v=>this.emit(new cA(X.BEFORE_ANIMATE,T.DRAW,v,A),t),afterAnimate:v=>this.emit(new cA(X.AFTER_ANIMATE,T.DRAW,v,A),t),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:a,animation:n,stage:c,render:h==="render",firstRender:this.context.graph.rendered===!1}),t)})}computeChangesAndDrawData(t){const{model:e}=this.context,n=e.getChanges(),i=kh(n);if(i.length===0)return null;const{NodeAdded:a=[],NodeUpdated:A=[],NodeRemoved:c=[],EdgeAdded:h=[],EdgeUpdated:v=[],EdgeRemoved:p=[],ComboAdded:H=[],ComboUpdated:j=[],ComboRemoved:$=[]}=(0,kt.Z)(i,kn=>kn.type),At=(kn,Fn)=>{const Xn=[];return kn.forEach(Cn=>{const mr=jt(Cn.value);this.getElement(mr)?Xn.push(Cn):Fn.push(Cn)}),Xn},Et=At(A,a),It=At(v,h),te=At(j,H),oe=kn=>new Map(kn.map(Fn=>{const Xn=Fn.value;return[jt(Xn),Xn]})),Se={add:{nodes:oe(a),edges:oe(h),combos:oe(H)},update:{nodes:oe(Et),edges:oe(It),combos:oe(te)},remove:{nodes:oe(c),edges:oe(p),combos:oe($)}},en=this.transformData(Se,t);return e.clearChanges(),{dataChanges:n,drawData:en}}transformData(t,e){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,a)=>a.beforeDraw(i,e),t)}createElement(t,e,n){var i;const a=jt(e);if(this.getElement(a))return;const c=this.getElementType(t,e),h=this.getElementComputedStyle(t,e),v=me(t,c);if(!v)return we.warn(`The element ${c} of ${t} is not registered.`);this.emit(new vu(X.BEFORE_ELEMENT_CREATE,t,e),n);const p=this.container.appendChild(new v({id:a,context:this.context,style:h}));this.shapeTypeMap[a]=c,this.elementMap[a]=p;const{stage:H="enter"}=n;(i=this.context.animation)===null||i===void 0||i.add({element:p,elementType:t,stage:H,originalStyle:Object.assign({},p.attributes),updatedStyle:h},{after:()=>{var j;this.emit(new vu(X.AFTER_ELEMENT_CREATE,t,e),n),(j=p.onCreate)===null||j===void 0||j.call(p)}})}createElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([c,h])=>{h.forEach(v=>this.createElement(c,v,e))})}getUpdateStageStyle(t,e,n){const{stage:i="update"}=n;if(i==="translate")if(t==="node"||t==="combo"){const{style:{x:a=0,y:A=0,z:c=0}={}}=e;return{x:a,y:A,z:c}}else return{};return this.getElementComputedStyle(t,e)}updateElement(t,e,n){var i;const a=jt(e),{stage:A="update"}=n,c=this.getElement(a);if(!c)return()=>null;this.emit(new vu(X.BEFORE_ELEMENT_UPDATE,t,e),n);const h=this.getElementType(t,e),v=this.getUpdateStageStyle(t,e,n);this.shapeTypeMap[a]!==h&&(c.destroy(),delete this.shapeTypeMap[a],delete this.elementMap[a],this.createElement(t,e,{animation:!1,silence:!0}));const p=A!=="visibility"?A:v.visibility==="hidden"?"hide":"show";p==="hide"&&delete v.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:c,elementType:t,stage:p,originalStyle:Object.assign({},c.attributes),updatedStyle:v},{before:()=>{const H=this.elementMap[a];A!=="collapse"&&vo(H,v),A==="visibility"&&(s0(H,"opacity")||a0(H,"opacity"),this.visibilityCache.set(H,p==="show"?"visible":"hidden"),p==="show"&&mn(H,"visible"))},after:()=>{var H;const j=this.elementMap[a];A==="collapse"&&vo(j,v),p==="hide"&&mn(j,this.visibilityCache.get(j)),this.emit(new vu(X.AFTER_ELEMENT_UPDATE,t,e),n),(H=j.onUpdate)===null||H===void 0||H.call(j)}})}updateElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["node",n],["combo",a],["edge",i]].forEach(([c,h])=>{h.forEach(v=>this.updateElement(c,v,e))})}markDestroyElement(t){Object.values(t.remove).forEach(e=>{e.forEach(n=>{const i=jt(n),a=this.getElement(i);a&&_s(a)})})}destroyElement(t,e,n){var i;const{stage:a="exit"}=n,A=jt(e),c=this.elementMap[A];if(!c)return()=>null;this.emit(new vu(X.BEFORE_ELEMENT_DESTROY,t,e),n),(i=this.context.animation)===null||i===void 0||i.add({element:c,elementType:t,stage:a,originalStyle:Object.assign({},c.attributes),updatedStyle:{}},{after:()=>{var h;this.clearElement(A),c.destroy(),(h=c.onDestroy)===null||h===void 0||h.call(c),this.emit(new vu(X.AFTER_ELEMENT_DESTROY,t,e),n)}})}destroyElements(t,e){const{nodes:n,edges:i,combos:a}=t;[["combo",a],["edge",i],["node",n]].forEach(([c,h])=>{h.forEach(v=>this.destroyElement(c,v,e))})}clearElement(t){delete this.paletteStyle[t],delete this.defaultStyle[t],delete this.stateStyle[t],delete this.elementMap[t],delete this.shapeTypeMap[t]}alignLayoutResultToElement(t,e){var n,i;const a=(n=t.nodes)===null||n===void 0?void 0:n.find(A=>jt(A)===e);if(a){const A=He(this.context.model.getNodeLikeDatum(e)),c=He(a),h=Nt(A,c);(i=t.nodes)===null||i===void 0||i.forEach(v=>{var p,H,j;!((p=v.style)===null||p===void 0)&&p.x&&(v.style.x+=h[0]),!((H=v.style)===null||H===void 0)&&H.y&&(v.style.y+=h[1]),!((j=v.style)===null||j===void 0)&&j.z&&(v.style.z+=h[2]||0)})}}syncLayoutResult(t,e){return mu(this,void 0,void 0,function*(){const{layout:n,model:i}=this.context;if(!n)return;const a=this.context.options.layout,A=h=>Array.isArray(h)?h.map(v=>Object.assign(Object.assign({},v),{preLayout:!0})):Object.assign(Object.assign({},h),{preLayout:!0}),c=yield n.simulate(a?A(a):void 0);e&&this.alignLayoutResultToElement(c,t),i.updateData(c)})}collapseNode(t,e){return mu(this,void 0,void 0,function*(){var n;const{animation:i,align:a}=e;yield this.syncLayoutResult(t,a);const A=this.computeChangesAndDrawData({stage:"collapse",animation:i});if(!A)return;const{drawData:c}=A,{add:h,remove:v,update:p}=c;this.markDestroyElement(c);const H={animation:i,stage:"collapse",data:c};this.destroyElements(v,H),this.createElements(h,H),this.updateElements(p,H),yield(n=this.context.animation.animate(i,{beforeAnimate:j=>this.emit(new cA(X.BEFORE_ANIMATE,T.COLLAPSE,j,c),H),afterAnimate:j=>this.emit(new cA(X.AFTER_ANIMATE,T.COLLAPSE,j,c),H)},{collapse:{target:t,descendants:Array.from(v.nodes).map(([,j])=>jt(j)),position:He(p.nodes.get(t))}}))===null||n===void 0?void 0:n.finished})}expandNode(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i}=this.context,{animation:a,align:A}=e,c=He(i.getNodeData([t])[0]);yield this.syncLayoutResult(t,A);const h=this.computeChangesAndDrawData({stage:"expand",animation:a});if(this.createElements(h.drawData.add,{animation:!1,stage:"expand",target:t}),this.context.animation.clear(),this.computeStyle("expand"),!h)return;const{drawData:v}=h,{update:p,add:H}=v,j={animation:a,stage:"expand",data:v};H.edges.forEach($=>p.edges.set(jt($),$)),H.nodes.forEach($=>p.nodes.set(jt($),$)),this.updateElements(p,j),yield(n=this.context.animation.animate(a,{beforeAnimate:$=>this.emit(new cA(X.BEFORE_ANIMATE,T.EXPAND,$,v),j),afterAnimate:$=>this.emit(new cA(X.AFTER_ANIMATE,T.EXPAND,$,v),j)},{expand:{target:t,descendants:Array.from(H.nodes).map(([,$])=>jt($)),position:c}}))===null||n===void 0?void 0:n.finished})}collapseCombo(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i,element:a}=this.context;if(i.getAncestorsData(t,Dt).some(Et=>Ca(Et)))return;const A=a.getElement(t),c=A.getComboPosition(Object.assign(Object.assign({},A.attributes),{collapsed:!0})),h=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!h)return;const{dataChanges:v,drawData:p}=h;this.markDestroyElement(p);const{update:H,remove:j}=p,$={animation:e,stage:"collapse",data:p};this.destroyElements(j,$),this.updateElements(H,$);const At=Et=>Array.from(Et).map(([,It])=>jt(It));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:v,animation:e}),$),beforeAnimate:Et=>this.emit(new cA(X.BEFORE_ANIMATE,T.COLLAPSE,Et,p),$),afterAnimate:Et=>this.emit(new cA(X.AFTER_ANIMATE,T.COLLAPSE,Et,p),$),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:v,animation:e}),$)},{collapse:{target:t,descendants:[...At(j.nodes),...At(j.combos)],position:c}}))===null||n===void 0?void 0:n.finished})}expandCombo(t,e){return mu(this,void 0,void 0,function*(){var n;const{model:i}=this.context,a=He(i.getComboData([t])[0]);this.computeStyle("expand");const A=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!A)return;const{dataChanges:c,drawData:h}=A,{add:v,update:p}=h,H={animation:e,stage:"expand",data:h,target:t};this.createElements(v,H),this.updateElements(p,H);const j=$=>Array.from($).map(([,At])=>jt(At));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new Ns(X.BEFORE_DRAW,{dataChanges:c,animation:e}),H),beforeAnimate:$=>this.emit(new cA(X.BEFORE_ANIMATE,T.EXPAND,$,h),H),afterAnimate:$=>this.emit(new cA(X.AFTER_ANIMATE,T.EXPAND,$,h),H),after:()=>this.emit(new Ns(X.AFTER_DRAW,{dataChanges:c,animation:e}),H)},{expand:{target:t,descendants:[...j(v.nodes),...j(v.combos)],position:a}}))===null||n===void 0?void 0:n.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={}}}var Zd=f(96262);class g0 extends Qh.Z{constructor(t,e,n){super(),this.graph=t,this.layout=e,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=Zd.Ud(new Worker(new URL(f.p+f.u(9283),f.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var t;return(0,Di.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:n}=e,i=(0,Di._T)(e,["onTick"]),a={};Object.keys(i).forEach(v=>{(0,Me.Z)(i[v])||(a[v]=i[v])});const A={layout:{id:this.layout.id,options:a,iterations:(t=this.options)===null||t===void 0?void 0:t.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},c=new Float32Array([0]),[h]=yield this.proxy.calculateLayout(A,[c]);return h})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[Zd.Yy]()}isRunning(){return this.running}}var yu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})},v0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{const H=jt(p),j=h.nodes.get(H);c.syncNodeLikeDatum(p),j&&Object.assign(j.style,p.style)}),(i=v==null?void 0:v.edges)===null||i===void 0||i.forEach(p=>{const H=jt(p),j=h.edges.get(H);c.syncEdgeDatum(p),j&&Object.assign(j.style,p.style)}),(a=v==null?void 0:v.combos)===null||a===void 0||a.forEach(p=>{const H=jt(p),j=h.combos.get(H);c.syncNodeLikeDatum(p),j&&Object.assign(j.style,p.style)}),zs(A,new Ns(X.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",t)})}postLayout(){return yu(this,arguments,void 0,function*(t=this.options){if(!t)return;const e=Array.isArray(t)?t:[t],{graph:n}=this.context;zs(n,new Ns(X.BEFORE_LAYOUT,{type:"post"}));for(let i=0;ii.afterLayout(t,e))}simulate(){return yu(this,arguments,void 0,function*(t=this.options){if(!t)return{};const e=Array.isArray(t)?t:[t];let n={};for(let i=0;i{this.updateElementPosition(v,!1)}}):(c.execute(t),c.stop(),c.tick(A));const h=yield c.execute(t);if(i){const v=this.updateElementPosition(h,i);yield v==null?void 0:v.finished}return h})}treeLayout(t,e,n){return yu(this,void 0,void 0,function*(){const{type:i,animation:a}=e,A=me("layout",i);if(!A)return{};const{nodes:c=[],edges:h=[]}=t,v=new Xa.k({nodes:c.map(At=>({id:jt(At),data:At.data||{}})),edges:h.map(At=>({id:jt(At),source:At.source,target:At.target,data:At.data||{}}))});h0(v);const p={nodes:[],edges:[]},H={nodes:[],edges:[]};v.getRoots(Gt).forEach(At=>{da(At,Se=>{Se.children=v.getSuccessors(Se.id)},Se=>v.getSuccessors(Se.id),"TB");const Et=A(At,e),{x:It,y:te,z:oe=0}=Et;da(Et,Se=>{const{id:en,x:kn,y:Fn,z:Xn=0}=Se;p.nodes.push({id:en,style:{x:It,y:te,z:oe}}),H.nodes.push({id:en,style:{x:kn,y:Fn,z:Xn}})},Se=>Se.children,"TB")});const $=this.inferTreeLayoutOffset(H);if(Kd(H,$),a){Kd(p,$),this.updateElementPosition(p,!1);const At=this.updateElementPosition(H,a);yield At==null?void 0:At.finished}return H})}inferTreeLayoutOffset(t){var e;let[n,i]=[1/0,-1/0],[a,A]=[1/0,-1/0];(e=t.nodes)===null||e===void 0||e.forEach(Et=>{const{x:It=0,y:te=0}=Et.style||{};n=Math.min(n,It),i=Math.max(i,It),a=Math.min(a,te),A=Math.max(A,te)});const{canvas:c}=this.context,h=c.getSize(),[v,p]=c.getCanvasByViewport([0,0]),[H,j]=c.getCanvasByViewport(h);if(n>=v&&i<=H&&a>=p&&A<=j)return[0,0];const $=(v+H)/2,At=(p+j)/2;return[$-(n+i)/2,At-(a+A)/2]}stopLayout(){this.instance&&Ji(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(t){const{nodeFilter:e=()=>!0,comboFilter:n=()=>!0,preLayout:i=!1,isLayoutInvisibleNodes:a=!1}=t,{nodes:A,edges:c,combos:h}=this.context.model.getData(),{element:v,model:p}=this.context,H=te=>v.getElement(te),j=i?te=>{var oe;return!a&&(((oe=te.style)===null||oe===void 0?void 0:oe.visibility)==="hidden"||p.getAncestorsData(te.id,Gt).some(Ca)||p.getAncestorsData(te.id,Dt).some(Ca))?!1:e(te)}:te=>{const oe=jt(te),Se=H(oe);return!Se||Hs(Se)?!1:e(te)},$=A.filter(j),At=h.filter(n),Et=new Map($.map(te=>[jt(te),te]));At.forEach(te=>Et.set(jt(te),te));const It=c.filter(({source:te,target:oe})=>Et.has(te)&&Et.has(oe));return{nodes:$,edges:It,combos:At}}initGraphLayout(t){var e;const{element:n,viewport:i}=this.context,{type:a,enableWorker:A,animation:c,iterations:h}=t,v=v0(t,["type","enableWorker","animation","iterations"]),[p,H]=i.getCanvasSize(),j=[p/2,H/2],$=(e=t==null?void 0:t.nodeSize)!==null&&e!==void 0?e:oe=>{const Se=n==null?void 0:n.getElement(oe.id);return Se?Se.attributes.size:n==null?void 0:n.getElementComputedStyle("node",oe).size},At=me("layout",a);if(!At)return we.warn(`The layout of ${a} is not registered.`);const Et=Object.getPrototypeOf(At.prototype)===rA.prototype?At:Bu(At,this.context),It=new Et(this.context),te={nodeSize:$,width:p,height:H,center:j};switch(It.id){case"d3-force":case"d3-force-3d":Object.assign(te,{center:{x:p/2,y:H/2,z:0}});break;default:break}return(0,y.Z)(It.options,te,v),It}updateElementPosition(t,e){const{model:n,element:i}=this.context;return i?(n.updateData(t),i.draw({animation:e,silence:!0})):null}destroy(){var t;this.stopLayout(),this.context={},(t=this.supervisor)===null||t===void 0||t.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const Kd=(r,t)=>{var e;const[n,i]=t;(e=r.nodes)===null||e===void 0||e.forEach(a=>{if(a.style){const{x:A=0,y:c=0}=a.style;a.style.x=A+n,a.style.y=c+i}else a.style={x:n,y:i}})};function m0(r){return[y0].reduce((e,n)=>n(e),r)}function y0(r){return!r.layout||Array.isArray(r.layout)||"preLayout"in r.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(r.layout.type)&&(r.layout.preLayout=!0),r}class w0 extends Yn{constructor(t){super(t),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(t){this.setExtensions(t)}getPluginInstance(t){const e=this.extensionMap[t];if(e)return e;we.warn(`Cannot find the plugin ${t}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===t);if(n)return this.extensionMap[n.key]}}const Oh=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class E0 extends Yn{constructor(t){super(t),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(t){this.setExtensions([...Oh.slice(0,Oh.length-1),...t,Oh[Oh.length-1]])}getTransformInstance(t){return t?this.extensionMap[t]:this.extensionMap}}var Wu=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class B0{get padding(){return Ge(this.context.options.padding)}get paddingOffset(){const[t,e,n,i]=this.padding,[a,A,c]=[(i-e)/2,(t-n)/2,0];return[a,A,c]}constructor(t){this.landmarkCounter=0,this.context=t;const[e,n]=this.paddingOffset,{zoom:i,rotation:a,x:A=e,y:c=n}=t.options;this.transform({mode:"absolute",scale:i,translate:[A,c],rotate:a},!1)}get camera(){const{canvas:t}=this.context;return new Proxy(t.getCamera(),{get:(e,n)=>{const a=Object.entries(t.getLayers()).filter(([c])=>!["main"].includes(c)).map(([,c])=>c.getCamera()),A=e[n];if(typeof A=="function")return(...c)=>{const h=A.apply(e,c);return a.forEach(v=>{v[n].apply(v,c)}),h}}})}createLandmark(t){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,t)}getAnimation(t){const e=xt(this.context.options,t);return e?(0,oa.Z)(Object.assign({},e),["easing","duration"]):!1}getCanvasSize(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e,n]}getCanvasCenter(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e/2,n/2,0]}getViewportCenter(){const[t,e]=this.camera.getPosition();return[t,e,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(t){const{camera:e}=this,{mode:n,translate:i=[]}=t,a=this.getZoom(),A=e.getPosition(),c=e.getFocalPoint(),[h,v]=this.getCanvasCenter(),[p=0,H=0,j=0]=i,$=qt([-p,-H,-j],a);return n==="relative"?{position:z(A,$),focalPoint:z(c,$)}:{position:z([h,v,A[2]],$),focalPoint:z([h,v,c[2]],$)}}getRotateOptions(t){const{mode:e,rotate:n=0}=t;return{roll:e==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(t){const{zoomRange:e}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:a=1}=t;return(0,El.Z)(i==="relative"?n*a:a,...e)}transform(t,e){return Wu(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:a,scale:A,origin:c}=t;this.cancelAnimation();const h=this.getAnimation(e);if(zs(n,new Sh(X.BEFORE_TRANSFORM,t)),!a&&A&&!i&&c&&!h){this.camera.setZoomByViewportPoint(this.getZoomOptions(t),c),zs(n,new Sh(X.AFTER_TRANSFORM,t));return}const v={};if(i&&Object.assign(v,this.getTranslateOptions(t)),(0,qe.Z)(a)&&Object.assign(v,this.getRotateOptions(t)),(0,qe.Z)(A)&&Object.assign(v,{zoom:this.getZoomOptions(t)}),h)return zs(n,new cA(X.BEFORE_ANIMATE,T.TRANSFORM,null,t)),new Promise(p=>{this.transformResolver=p,this.camera.gotoLandmark(this.createLandmark(v),Object.assign(Object.assign({},h),{onfinish:()=>{zs(n,new cA(X.AFTER_ANIMATE,T.TRANSFORM,null,t)),zs(n,new Sh(X.AFTER_TRANSFORM,t)),this.transformResolver=void 0,p()}}))});this.camera.gotoLandmark(this.createLandmark(v),{duration:0}),zs(n,new Sh(X.AFTER_TRANSFORM,t))})}fitView(t,e){return Wu(this,void 0,void 0,function*(){const[n,i,a,A]=this.padding,{when:c="always",direction:h="both"}=t||{},[v,p]=this.context.canvas.getSize(),H=v-A-i,j=p-n-a,$=this.context.canvas.getBounds(),At=this.getBBoxInViewport($),[Et,It]=Xt(At),te=h==="x"&&Et>=H||h==="y"&&It>=j||h==="both"&&Et>=H&&It>=j;if(c==="overflow"&&!te)return yield this.fitCenter({animation:e});const oe=H/Et,Se=j/It,en=h==="x"?oe:h==="y"?Se:Math.min(oe,Se),kn=this.getAnimation(e);Number.isFinite(en)&&(yield this.transform({mode:"relative",scale:en,translate:z(Nt(this.getCanvasCenter(),this.getBBoxInViewport($).center),qt(this.paddingOffset,en))},kn))})}fitCenter(t){return Wu(this,void 0,void 0,function*(){const e=this.context.canvas.getBounds();yield this.focus(e,t)})}focusElements(t){return Wu(this,arguments,void 0,function*(e,n={}){const{element:i}=this.context;if(!i)return;const a=c=>n.shapes?c.getShape(n.shapes).getRenderBounds():c.getRenderBounds(),A=Ee(e.map(c=>a(i.getElement(c))));yield this.focus(A,n)})}focus(t,e){return Wu(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(t.center),i=e.position||this.getCanvasCenter(),a=Nt(i,n);yield this.transform({mode:"relative",translate:z(a,this.paddingOffset)},e.animation)})}getBBoxInViewport(t){const{min:e,max:n}=t,{graph:i}=this.context,[a,A]=i.getViewportByCanvas(e),[c,h]=i.getViewportByCanvas(n),v=new R.mN;return v.setMinMax([a,A,0],[c,h,0]),v}isInViewport(t,e=!1,n=0){const{graph:i}=this.context,a=this.getCanvasSize(),[A,c]=i.getCanvasByViewport([0,0]),[h,v]=i.getCanvasByViewport(a);let p=new R.mN;return p.setMinMax([A,c,0],[h,v,0]),n&&(p=Vt(p,n)),ae(t)?Ae(t,p):e?xe(t,p):p.intersects(t)}cancelAnimation(){var t,e;!((t=this.camera.landmarks)===null||t===void 0)&&t.length&&this.camera.cancelLandmarkAnimation(),(e=this.transformResolver)===null||e===void 0||e.call(this)}}var Ja=function(r,t,e,n){function i(a){return a instanceof e?a:new e(function(A){A(a)})}return new(e||(e=Promise))(function(a,A){function c(p){try{v(n.next(p))}catch(H){A(H)}}function h(p){try{v(n.throw(p))}catch(H){A(H)}}function v(p){p.done?a(p.value):i(p.value).then(c,h)}v((n=n.apply(r,t||[])).next())})};class Th extends Qh.Z{constructor(t){var e;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new d0},this.isCollapsingExpanding=!1,this.onResize=(0,Ga.Z)(()=>{this.resize()},300),this._setOptions(Object.assign({},Th.defaultOptions,t),!0),this.context.graph=this,this.options.autoResize&&((e=globalThis.addEventListener)===null||e===void 0||e.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(t){this._setOptions(t,!1)}_setOptions(t,e){if(this.updateCanvas(t),Object.assign(this.options,m0(t)),e){const{data:j}=t;j&&this.addData(j);return}const{behaviors:n,combo:i,data:a,edge:A,layout:c,node:h,plugins:v,theme:p,transforms:H}=t;n&&this.setBehaviors(n),a&&this.setData(a),h&&this.setNode(h),A&&this.setEdge(A),i&&this.setCombo(i),c&&this.setLayout(c),p&&this.setTheme(p),v&&this.setPlugins(v),H&&this.setTransforms(H)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(t,e){t&&(this.options.width=t),e&&(this.options.height=e),this.resize(t,e)}setZoomRange(t){this.options.zoomRange=t}getZoomRange(){return this.options.zoomRange}setNode(t){this.options.node=t,this.context.model.refreshData()}setEdge(t){this.options.edge=t,this.context.model.refreshData()}setCombo(t){this.options.combo=t,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(t){this.options.theme=(0,Me.Z)(t)?t(this.getTheme()):t}setLayout(t){this.options.layout=(0,Me.Z)(t)?t(this.getLayout()):t}getLayout(){return this.options.layout}setBehaviors(t){var e;this.options.behaviors=(0,Me.Z)(t)?t(this.getBehaviors()):t,(e=this.context.behavior)===null||e===void 0||e.setBehaviors(this.options.behaviors)}updateBehavior(t){this.setBehaviors(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(t){var e;this.options.plugins=(0,Me.Z)(t)?t(this.getPlugins()):t,(e=this.context.plugin)===null||e===void 0||e.setPlugins(this.options.plugins)}updatePlugin(t){this.setPlugins(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(t){return this.context.plugin.getPluginInstance(t)}setTransforms(t){var e;this.options.transforms=(0,Me.Z)(t)?t(this.getTransforms()):t,(e=this.context.transform)===null||e===void 0||e.setTransforms(this.options.transforms)}updateTransform(t){this.setTransforms(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}hasNode(t){return this.context.model.hasNode(t)}hasEdge(t){return this.context.model.hasEdge(t)}hasCombo(t){return this.context.model.hasCombo(t)}getElementData(t){return Array.isArray(t)?t.map(e=>this.context.model.getElementDataById(e)):this.context.model.getElementDataById(t)}getNodeData(t){return t===void 0?this.context.model.getNodeData():Array.isArray(t)?this.context.model.getNodeData(t):this.context.model.getNodeLikeDatum(t)}getEdgeData(t){return t===void 0?this.context.model.getEdgeData():Array.isArray(t)?this.context.model.getEdgeData(t):this.context.model.getEdgeDatum(t)}getComboData(t){return t===void 0?this.context.model.getComboData():Array.isArray(t)?this.context.model.getComboData(t):this.context.model.getNodeLikeDatum(t)}setData(t){this.context.model.setData((0,Me.Z)(t)?t(this.getData()):t)}addData(t){this.context.model.addData((0,Me.Z)(t)?t(this.getData()):t)}addNodeData(t){this.context.model.addNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}addEdgeData(t){this.context.model.addEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}addComboData(t){this.context.model.addComboData((0,Me.Z)(t)?t(this.getComboData()):t)}addChildrenData(t,e){this.context.model.addChildrenData(t,e)}updateData(t){this.context.model.updateData((0,Me.Z)(t)?t(this.getData()):t)}updateNodeData(t){this.context.model.updateNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}updateEdgeData(t){this.context.model.updateEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}updateComboData(t){this.context.model.updateComboData((0,Me.Z)(t)?t(this.getComboData()):t)}removeData(t){this.context.model.removeData((0,Me.Z)(t)?t(this.getData()):t)}removeNodeData(t){this.context.model.removeNodeData((0,Me.Z)(t)?t(this.getNodeData()):t)}removeEdgeData(t){this.context.model.removeEdgeData((0,Me.Z)(t)?t(this.getEdgeData()):t)}removeComboData(t){this.context.model.removeComboData((0,Me.Z)(t)?t(this.getComboData()):t)}getElementType(t){return this.context.model.getElementType(t)}getRelatedEdgesData(t,e="both"){return this.context.model.getRelatedEdgesData(t,e)}getNeighborNodesData(t){return this.context.model.getNeighborNodesData(t)}getAncestorsData(t,e){return this.context.model.getAncestorsData(t,e)}getParentData(t,e){return this.context.model.getParentData(t,e)}getChildrenData(t){return this.context.model.getChildrenData(t)}getDescendantsData(t){return this.context.model.getDescendantsData(t)}getElementDataByState(t,e){return this.context.model.getElementDataByState(t,e)}initCanvas(){return Ja(this,void 0,void 0,function*(){var t;if(this.context.canvas)return yield this.context.canvas.ready;const{container:e="container",width:n,height:i,renderer:a,cursor:A,background:c,canvas:h,devicePixelRatio:v=(t=globalThis.devicePixelRatio)!==null&&t!==void 0?t:1}=this.options;if(e instanceof Dd)this.context.canvas=e,A&&e.setCursor(A),a&&e.setRenderer(a),yield e.ready;else{const p=(0,hi.Z)(e)?document.getElementById(e):e,H=kd(p);this.emit(X.BEFORE_CANVAS_INIT,{container:p,width:n,height:i});const j=Object.assign(Object.assign({},h),{container:p,width:n||H[0],height:i||H[1],background:c,renderer:a,cursor:A,devicePixelRatio:v}),$=new Dd(j);this.context.canvas=$,yield $.ready,this.emit(X.AFTER_CANVAS_INIT,{canvas:$})}})}updateCanvas(t){var e,n;const{renderer:i,cursor:a,height:A,width:c}=t,h=this.context.canvas;h&&(i&&(this.emit(X.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),h.setRenderer(i),this.emit(X.AFTER_RENDERER_CHANGE,{renderer:i})),a&&h.setCursor(a),((0,qe.Z)(c)||(0,qe.Z)(A))&&this.setSize((e=c!=null?c:this.options.width)!==null&&e!==void 0?e:0,(n=A!=null?A:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new A0(this.context)),this.context.plugin||(this.context.plugin=new w0(this.context)),this.context.viewport||(this.context.viewport=new B0(this.context)),this.context.transform||(this.context.transform=new E0(this.context)),this.context.element||(this.context.element=new f0(this.context)),this.context.animation||(this.context.animation=new o0(this.context)),this.context.layout||(this.context.layout=new p0(this.context)),this.context.behavior||(this.context.behavior=new l0(this.context))}prepare(){return Ja(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(cn("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return Ja(this,void 0,void 0,function*(){if(yield this.prepare(),zs(this,new Ns(X.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&UA(this.options.layout)){const t=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.autoFit()])}this.rendered=!0,zs(this,new Ns(X.AFTER_RENDER))})}draw(){return Ja(this,void 0,void 0,function*(){var t;yield this.prepare(),yield(t=this.context.element.draw())===null||t===void 0?void 0:t.finished})}layout(t){return Ja(this,void 0,void 0,function*(){yield this.context.layout.postLayout(t)})}stopLayout(){this.context.layout.stopLayout()}clear(){return Ja(this,void 0,void 0,function*(){const{model:t,element:e}=this.context;t.setData({}),t.clearChanges(),e==null||e.clear()})}destroy(){var t;zs(this,new Ns(X.BEFORE_DESTROY));const{layout:e,animation:n,element:i,model:a,canvas:A,behavior:c,plugin:h}=this.context;h==null||h.destroy(),c==null||c.destroy(),e==null||e.destroy(),n==null||n.destroy(),i==null||i.destroy(),a.destroy(),A==null||A.destroy(),this.options={},this.context={},this.off(),(t=globalThis.removeEventListener)===null||t===void 0||t.call(globalThis,"resize",this.onResize),this.destroyed=!0,zs(this,new Ns(X.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(t,e){var n;const i=kd((n=this.context.canvas)===null||n===void 0?void 0:n.getContainer()),a=[t||i[0],e||i[1]];if(!this.context.canvas)return;const A=this.context.canvas.getSize();(0,m.Z)(a,A)||(zs(this,new Ns(X.BEFORE_SIZE_CHANGE,{size:a})),this.context.canvas.resize(...a),zs(this,new Ns(X.AFTER_SIZE_CHANGE,{size:a})))}fitView(t,e){return Ja(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(t,e)})}fitCenter(t){return Ja(this,void 0,void 0,function*(){var e;yield(e=this.context.viewport)===null||e===void 0?void 0:e.fitCenter({animation:t})})}autoFit(){return Ja(this,void 0,void 0,function*(){const{autoFit:t}=this.context.options;if(t)if((0,hi.Z)(t))t==="view"?yield this.fitView():t==="center"&&(yield this.fitCenter());else{const{type:e,animation:n}=t;e==="view"?yield this.fitView(t.options,n):e==="center"&&(yield this.fitCenter(n))}})}focusElement(t,e){return Ja(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(t)?t:[t],{animation:e})})}zoomBy(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:t,origin:n},e)})}zoomTo(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:t,origin:n},e)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:t,origin:n},e)})}rotateTo(t,e,n){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:t,origin:n},e)})}getRotation(){return this.context.viewport.getRotation()}translateBy(t,e){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:t},e)})}translateTo(t,e){return Ja(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:t},e)})}getPosition(){return Nt([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,c;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a];Object.entries(h).forEach(([p,H])=>this.context.model.translateNodeLikeBy(p,H)),yield(c=this.context.element.draw({animation:v,stage:"translate"}))===null||c===void 0?void 0:c.finished})}translateElementTo(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,c;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a];Object.entries(h).forEach(([p,H])=>this.context.model.translateNodeLikeTo(p,H)),yield(c=this.context.element.draw({animation:v,stage:"translate"}))===null||c===void 0?void 0:c.finished})}getElementPosition(t){return this.context.model.getElementPosition(t)}getElementRenderStyle(t){return(0,nd.Z)(this.context.element.getElement(t).attributes,["context"])}setElementVisibility(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,c;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a],p={nodes:[],edges:[],combos:[]};Object.entries(h).forEach(([$,At])=>{const Et=this.getElementType($);p[`${Et}s`].push({id:$,style:{visibility:At}})});const{model:H,element:j}=this.context;H.preventUpdateNodeLikeHierarchy(()=>{H.updateData(p)}),yield(c=j.draw({animation:v,stage:"visibility"}))===null||c===void 0?void 0:c.finished})}showElement(t,e){return Ja(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),e)})}hideElement(t,e){return Ja(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),e)})}getElementVisibility(t){var e,n;const i=this.context.element.getElement(t);return(n=(e=i==null?void 0:i.style)===null||e===void 0?void 0:e.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(t,e){return Ja(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},a=(0,S.Z)(t)?t:{[t]:e};Object.entries(a).forEach(([h,v])=>{const p=this.getElementType(h);i[`${p}s`].push({id:h,style:{zIndex:v}})});const{model:A,element:c}=this.context;A.preventUpdateNodeLikeHierarchy(()=>A.updateData(i)),yield(n=c.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(t){return Ja(this,void 0,void 0,function*(){const e=Array.isArray(t)?t:[t],{model:n}=this.context,i={};e.map(a=>{const A=n.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const h=n.getAncestorsData(a,Dt).at(-1)||this.getComboData(a),v=[h,...n.getDescendantsData(jt(h))],p=A-_d(h);v.forEach(j=>{i[jt(j)]=this.getElementZIndex(jt(j))+p});const{internal:H}=Dr(v.map(jt),j=>n.getRelatedEdgesData(j));H.forEach(j=>{const $=jt(j);i[$]=this.getElementZIndex($)+p})}else i[a]=A}),yield this.setElementZIndex(i)})}getElementZIndex(t){return _d(this.context.model.getElementDataById(t))}setElementState(t,e){return Ja(this,arguments,void 0,function*(n,i,a=!0){var A,c;const[h,v]=(0,S.Z)(n)?[n,(A=i)!==null&&A!==void 0?A:!0]:[{[n]:i},a],p=j=>j?Array.isArray(j)?j:[j]:[],H={nodes:[],edges:[],combos:[]};Object.entries(h).forEach(([j,$])=>{const At=this.getElementType(j);H[`${At}s`].push({id:j,states:p($)})}),this.updateData(H),yield(c=this.context.element.draw({animation:v,stage:"state"}))===null||c===void 0?void 0:c.finished})}getElementState(t){return this.context.model.getElementState(t)}getElementRenderBounds(t){return this.context.element.getElement(t).getRenderBounds()}collapseElement(t){return Ja(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(Ca(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!1});const A=i.getElementType(e);yield this.frontElement(e),this.isCollapsingExpanding=!0,i.updateData(A==="node"?{nodes:[{id:e,style:{collapsed:!0}}]}:{combos:[{id:e,style:{collapsed:!0}}]}),A==="node"?yield a.collapseNode(e,n):A==="combo"&&(yield a.collapseCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}expandElement(t){return Ja(this,arguments,void 0,function*(e,n=!0){const{model:i,element:a}=this.context;if(!Ca(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;typeof n=="boolean"&&(n={animation:n,align:!1});const A=i.getElementType(e);this.isCollapsingExpanding=!0,i.updateData(A==="node"?{nodes:[{id:e,style:{collapsed:!1}}]}:{combos:[{id:e,style:{collapsed:!1}}]}),A==="node"?yield a.expandNode(e,n):A==="combo"&&(yield a.expandCombo(e,!!n.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(t,e){const n=this.getElementType(t);n==="node"?this.updateNodeData([{id:t,style:{collapsed:e}}]):n==="combo"&&this.updateComboData([{id:t,style:{collapsed:e}}])}toDataURL(){return Ja(this,arguments,void 0,function*(t={}){return this.context.canvas.toDataURL(t)})}getCanvasByViewport(t){return this.context.canvas.getCanvasByViewport(t)}getViewportByCanvas(t){return this.context.canvas.getViewportByCanvas(t)}getClientByCanvas(t){return this.context.canvas.getClientByCanvas(t)}getCanvasByClient(t){return this.context.canvas.getCanvasByClient(t)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(t,e,n){return super.on(t,e,n)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}}Th.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var b0=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i{if(c.depth=h,!c.children)return c;const{children:v}=c,p=b0(c,["children"]);return Object.assign(Object.assign({},p),{children:v.map(H=>H.id)})},getEdgeData:n=(c,h)=>({source:c.id,target:h.id}),getChildren:i=c=>c.children||[]}=t||{},a=[],A=[];return da(r,(c,h)=>{a.push(e(c,h));const v=i(c);for(const p of v)A.push(n(c,p))},c=>i(c),"TB"),{nodes:a,edges:A}}class C0 extends zl{beforeDraw(t){const{add:e,update:n}=t,{model:i}=this.context;return[...e.edges.entries(),...n.edges.entries()].forEach(([,a])=>{Gd(i,a)}),t}}const Gd=(r,t)=>{const{source:e,target:n}=t,i=r.getElementDataById(e),a=r.getElementDataById(n),A=Nr(i,H=>r.getParentData(H,Dt)),c=Nr(a,H=>r.getParentData(H,Dt)),h=jt(A),v=jt(c),p={sourceNode:h,targetNode:v};return t.style?Object.assign(t.style,p):t.style=p,t},S0=(r,t,e)=>{const[n,i]=t,[a,A]=e;if(i===n)return a;const c=(r-n)/(i-n);return a+c*(A-a)},M0=(r,t,e)=>{const[n,i]=t,[a,A]=e,c=Math.log(r-n+1)/Math.log(i-n+1);return a+c*(A-a)},O0=(r,t,e,n=2)=>{const[i,a]=t,[A,c]=e,h=Math.pow((r-i)/(a-i),n);return A+h*(c-A)},T0=(r,t,e)=>{const[n,i]=t,[a,A]=e,c=Math.sqrt((r-n)/(i-n));return a+c*(A-a)};class Fh extends zl{constructor(t,e){super(t,(0,y.Z)({},Fh.defaultOptions,e)),this.assignSizeByCentrality=(n,i,a,A,c,h)=>{const v=[i,a],p=[A[0],c[0]],H=[A[1],c[1]],j=[A[2],c[2]],$=(At,Et)=>{if(typeof h=="function")return h(At,v,Et);switch(h){case"linear":return S0(At,v,Et);case"log":return M0(At,v,Et);case"pow":return O0(At,v,Et,2);case"sqrt":return T0(At,v,Et);default:return Et[0]}};return[$(n,p),$(n,H),$(n,j)]}}beforeDraw(t){const{model:e}=this.context,n=e.getNodeData(),i=is(this.options.maxSize),a=is(this.options.minSize),A=this.getCentralities(this.options.centrality),c=A.size>0?Math.max(...A.values()):0,h=A.size>0?Math.min(...A.values()):0;return n.forEach(v=>{var p;const H=this.assignSizeByCentrality(A.get(jt(v))||0,h,c,a,i,this.options.scale),j=(p=this.context.element)===null||p===void 0?void 0:p.getElement(jt(v)),$={size:H};this.assignLabelStyle($,H,v,j),(!j||!xh($,j.attributes))&&Xo(t,j?"update":"add","node",(0,y.Z)(v,{style:$}),!0)}),t}assignLabelStyle(t,e,n,i){var a;const A=i?i.config.style:(a=this.context.element)===null||a===void 0?void 0:a.getElementComputedStyle("node",n);if(Object.assign(t,(0,oa.Z)(A,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const c=this.getLabelSizeByNodeSize(e,1/0,Number(t.labelFontSize));Object.assign(t,{labelFontSize:c,labelLineHeight:c+Sn(t.labelPadding)})}return t}getLabelSizeByNodeSize(t,e,n){const i=Math.min(...t)/2,[a,A]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,e];return Math.min(A,Math.max(i,a))}getCentralities(t){const{model:e}=this.context,n=e.getData();if(typeof t=="function")return t(n);const i=e.getRelatedEdgesData.bind(e);return Ue(n,i,t)}}Fh.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Ih extends zl{constructor(t,e){super(t,Object.assign({},Ih.defaultOptions,e))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var t;const e=He(this.ref),{graph:n,model:i}=this.context;(t=i.getData().nodes)===null||t===void 0||t.forEach(A=>{var c;if(jt(A)===jt(this.ref))return;const h=Nn(Nt(He(A),e)),v=Math.abs(h)>Math.PI/2,p=!A.children||A.children.length===0,H=jt(A),j=(c=this.context.element)===null||c===void 0?void 0:c.getElement(H);if(!j||!j.isVisible())return;const $=is(n.getElementRenderStyle(H).size)[0]/2,At=(p?1:-1)*($+this.options.offset),Et=[["translate",At*Math.cos(h),At*Math.sin(h)],["rotate",v?(0,R.BV)(h)+180:(0,R.BV)(h)]];i.updateNodeData([{id:jt(A),style:{labelTextAlign:v===p?"right":"left",labelTextBaseline:"middle",labelTransform:Et}}])}),n.draw()}}Ih.defaultOptions={offset:5};const F0="quadratic",zd=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class Lh extends zl{constructor(t,e){super(t,Object.assign({},Lh.defaultOptions,e)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:a,edges:A,combos:c},remove:{edges:h}}=n,{model:v}=this.context,p=new Map,H=(At,Et)=>{v.getRelatedEdgesData(Et).forEach(te=>!p.has(jt(te))&&p.set(jt(te),te))};a.forEach(H),c.forEach(H);const j=At=>{const Et=new Set(n.remove.edges.keys()),It=v.getEdgeData().filter(te=>!Et.has(jt(te))).map(te=>Gd(v,te));I0(At,It,!0).forEach(te=>{const oe=jt(te);p.has(oe)||p.set(oe,te)})};if(h.size&&h.forEach(j),i.size&&i.forEach(j),A.size){const At=ld(kh(v.getChanges())).update.edges;A.forEach(Et=>{var It;j(Et);const te=(It=At.find(oe=>jt(oe.value)===jt(Et)))===null||It===void 0?void 0:It.original;te&&!Vh(Et,te)&&j(te)})}(0,Ka.Z)(this.options.edges)||p.forEach((At,Et)=>!this.options.edges.includes(Et)&&p.delete(Et));const $=v.getEdgeData().map(jt);return new Map([...p].sort((At,Et)=>$.indexOf(At[0])-$.indexOf(Et[0])))},this.applyBundlingStyle=(n,i,a)=>{const{edgeMap:A,reverses:c}=Wd(i);A.forEach(h=>{h.forEach((v,p,H)=>{var j;const $=H.length,At=v.style||{};if(v.source===v.target){const te=zd.length;At.loopPlacement=zd[p%te],At.loopDist=Math.floor(p/te)*a+50}else if($===1)At.curveOffset=0;else{const te=(p%2===0?1:-1)*(c[`${v.source}|${v.target}|${p}`]?-1:1);At.curveOffset=$%2===1?te*Math.ceil(p/2)*a*2:te*(Math.floor(p/2)*a*2+a)}const Et=Object.assign(v,{type:F0,style:At}),It=(j=this.context.element)===null||j===void 0?void 0:j.getElement(jt(v));(!It||!xh(Et.style,It.attributes))&&Xo(n,It?"update":"add","edge",Et,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},a=this.cacheMergeStyle.get(jt(n))||{};return Object.keys(a).forEach(A=>{(0,m.Z)(i[A],a[A])&&(n[A]?i[A]=n[A]:delete i[A])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:a,reverses:A}=Wd(i);a.forEach(c=>{var h;if(c.length===1){const p=c[0],H=(h=this.context.element)===null||h===void 0?void 0:h.getElement(jt(p)),j=this.resetEdgeStyle(p);(!H||!xh(j,H.attributes))&&Xo(n,H?"update":"add","edge",j);return}const v=c.map(({source:p,target:H,style:j={}},$)=>{const{startArrow:At,endArrow:Et}=j,It={},[te,oe]=A[`${p}|${H}|${$}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return(0,Rh.Z)(At)&&(It[te]=At),(0,Rh.Z)(Et)&&(It[oe]=Et),It}).reduce((p,H)=>Object.assign(Object.assign({},p),H),{});c.forEach((p,H,j)=>{var $;if(H!==0){Xo(n,"remove","edge",p);return}const At=Object.assign({},(0,Me.Z)(this.options.style)?this.options.style(j):this.options.style,{childrenData:j});this.cacheMergeStyle.set(jt(p),At);const Et=Object.assign(Object.assign({},p),{type:"line",style:Object.assign(Object.assign(Object.assign({},p.style),v),At)}),It=($=this.context.element)===null||$===void 0?void 0:$.getElement(jt(p));(!It||!xh(Et.style,It.attributes))&&Xo(n,It?"update":"add","edge",Et,!0)})})}}beforeDraw(t){const e=this.getAffectedParallelEdges(t);return e.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(t,e,this.options.distance):this.applyMergingStyle(t,e)),t}}Lh.defaultOptions={mode:"bundle",distance:15};const Wd=r=>{const t=new Map,e=new Set,n={},i=new Map;for(const[a,A]of r){if(e.has(a))continue;const{source:c,target:h}=A,v=`${c}-${h}`;t.has(v)||(t.set(v,[]),i.set(v,new Set));const p=t.get(v),H=i.get(v);p&&H&&!H.has(a)&&(p.push(A),H.add(a),e.add(a));for(const[j,$]of r)if(!(e.has(j)||j===a)&&Vh(A,$)){const At=t.get(v),Et=i.get(v);At&&Et&&!Et.has(j)&&(At.push($),Et.add(j),c===$.target&&h===$.source&&(n[`${$.source}|${$.target}|${At.length-1}`]=!0),e.add(j))}}return{edgeMap:t,reverses:n}},I0=(r,t,e)=>t.filter(n=>(e||jt(n)!==jt(r))&&Vh(n,r)),Vh=(r,t)=>{const{sourceNode:e,targetNode:n}=r.style||{},{sourceNode:i,targetNode:a}=t.style||{};return e===i&&n===a||e===a&&n===i};class L0 extends zl{beforeDraw(t,e){const{stage:n}=e;if(n==="visibility")return t;const{model:i}=this.context,{update:{nodes:a,edges:A,combos:c}}=t,h=(v,p)=>{i.getRelatedEdgesData(p).forEach(j=>!A.has(jt(j))&&A.set(jt(j),j))};return a.forEach(h),c.forEach(h),t}}const N0={animation:{"combo-collapse":We,"combo-expand":le,"node-collapse":Tt,"node-expand":yt,"path-in":fe,"path-out":nn,fade:ge,translate:Pe},behavior:{"brush-select":ta,"click-select":Pa,"collapse-expand":LA,"create-edge":gs,"drag-canvas":co,"drag-element-force":bu,"drag-element":Wo,"fix-element-size":al,"focus-element":RA,"hover-activate":QA,"lasso-select":Fc,"auto-adapt-label":M,"optimize-viewport-transform":sl,"scroll-canvas":vA,"zoom-canvas":Bl},combo:{circle:So,rect:TA},edge:{cubic:k,line:ft,polyline:Er,quadratic:Ur,"cubic-horizontal":_,"cubic-radial":Y,"cubic-vertical":at},layout:{"antv-dagre":lr,"combo-combined":As,"compact-box":Sl,"d3-force":$A,"force-atlas2":Yd,circular:wr,concentric:ra,dagre:AA,dendrogram:kc,fishbone:eh,force:re,fruchterman:qd,grid:tf,indented:Tl,mds:Hi,mindmap:iA,radial:cf,random:pf,snake:nh},node:{circle:Cs,diamond:bo,ellipse:ds,hexagon:Es,html:Go,image:Do,rect:nl,star:Co,donut:hs,triangle:Ss},palette:{spectral:Ef,tableau:Bf,oranges:bf,greens:xf,blues:Cf},theme:{dark:jg,light:Yg},plugin:{"bubble-sets":ih,"edge-bundling":sh,"edge-filter-lens":oh,"grid-line":ch,background:rh,contextmenu:ah,fisheye:Ah,fullscreen:lh,history:uh,hull:gh,legend:ph,minimap:mh,snapline:yh,timebar:wh,title:Ug,toolbar:Eh,tooltip:Bh,watermark:bh},transform:{"arrange-draw-order":Xg,"collapse-expand-combo":Jg,"collapse-expand-node":qg,"get-edge-actual-ends":C0,"map-node-size":Fh,"place-radial-labels":Ih,"process-parallel-edges":Lh,"update-related-edges":L0},shape:{circle:R.Cd,ellipse:R.Pj,group:R.ZA,html:R.k9,image:Bo,line:R.x1,path:R.y$,polygon:R.mg,polyline:R.aH,rect:R.UL,text:R.xv,label:Ia,badge:ao}};function P0(){Object.entries(N0).forEach(([r,t])=>{Object.entries(t).forEach(([e,n])=>{$g(r,e,n)})})}P0();const W0={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},66623:function(gt,dt,f){"use strict";f.d(dt,{$6:function(){return l.$6},Aw:function(){return l.Aw},BB:function(){return l.BB},BV:function(){return l.BV},Cd:function(){return l.Cd},Dk:function(){return l.Dk},Ee:function(){return l.Ee},GZ:function(){return l.GZ},Pj:function(){return l.Pj},UL:function(){return l.UL},Xz:function(){return l.Xz},ZA:function(){return l.ZA},aH:function(){return l.aH},b_:function(){return l.b_},k9:function(){return l.k9},mN:function(){return l.mN},mg:function(){return l.mg},nR:function(){return l.nR},s$:function(){return l.s$},x1:function(){return l.x1},xv:function(){return l.xv},y$:function(){return l.y$}});var l=f(48981),R=f(38705),U=f(17212),P=f(96885),m=f(39153),S=f(77654),E=f(72190),F=f(70208),Q=f(1933),O=f(76075),T=f(71879),Z=f(5131),tt=f(94569),W=f(60187),vt=f(92421),st=f(42244),X=f(64270),Mt=f.n(X),ht=f(85899),Dt=f(18642),Gt=f(71369);var Kt=function(An){function ie(ue,$t,Ve,wn){var zn;return(0,R.Z)(this,ie),zn=(0,P.Z)(this,ie,[ue]),zn.currentTime=Ve,zn.timelineTime=wn,zn.target=$t,zn.type="finish",zn.bubbles=!1,zn.currentTarget=$t,zn.defaultPrevented=!1,zn.eventPhase=zn.AT_TARGET,zn.timeStamp=Date.now(),zn.currentTime=Ve,zn.timelineTime=wn,zn}return(0,m.Z)(ie,An),(0,U.Z)(ie)}(l.xA),Fe=0,me=function(){function An(ie,ue){var $t;(0,R.Z)(this,An),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=ie,ie.animation=this,this.timeline=ue,this.id="".concat(Fe++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number(($t=this.effect)===null||$t===void 0?void 0:$t.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,U.Z)(An,[{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 ue=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function($t,Ve){ue.resolveReadyPromise=function(){$t(ue)},ue.rejectReadyPromise=function(){Ve(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var ue=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function($t,Ve){ue.resolveFinishedPromise=function(){$t(ue)},ue.rejectFinishedPromise=function(){Ve(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(ue){if(ue=Number(ue),!isNaN(ue)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var $t;this._startTime=Number(($t=this.timeline)===null||$t===void 0?void 0:$t.currentTime)-ue/this.playbackRate}this.currentTimePending=!1,this._currentTime!==ue&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(ue,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(ue){if(ue!==null){if(this.updatePromises(),ue=Number(ue),isNaN(ue)||this._paused||this._idle)return;this._startTime=ue,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(ue){if(ue!==this._playbackRate){this.updatePromises();var $t=this.currentTime;this._playbackRate=ue,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),$t!==null&&(this.currentTime=$t),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 ue;if((ue=this.effect.target)!==null&&ue!==void 0&&ue.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var $t=this.oldPlayState,Ve=this.pending?"pending":this.playState;return this.readyPromise&&Ve!==$t&&(Ve==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):$t==="pending"?this.resolveReadyPromise():Ve==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&Ve!==$t&&(Ve==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):Ve==="finished"?this.resolveFinishedPromise():$t==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=Ve,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 ue=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=null,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var $t=new Kt(null,this,this.currentTime,null);setTimeout(function(){ue.oncancel($t)})}}},{key:"reverse",value:function(){this.updatePromises();var ue=this.currentTime;this.playbackRate*=-1,this.play(),ue!==null&&(this.currentTime=ue),this.updatePromises()}},{key:"updatePlaybackRate",value:function(ue){this.playbackRate=ue}},{key:"targetAnimations",value:function(){var ue,$t=(ue=this.effect)===null||ue===void 0?void 0:ue.target;return $t.getAnimations()}},{key:"markTarget",value:function(){var ue=this.targetAnimations();ue.indexOf(this)===-1&&ue.push(this)}},{key:"unmarkTarget",value:function(){var ue=this.targetAnimations(),$t=ue.indexOf(this);$t!==-1&&ue.splice($t,1)}},{key:"tick",value:function(ue,$t){!this._idle&&!this._paused&&(this._startTime===null?$t&&(this.startTime=ue-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((ue-this._startTime)*this.playbackRate)),$t&&(this.currentTimePending=!1,this.fireEvents(ue))}},{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(l.jf)}},{key:"addEventListener",value:function(ue,$t,Ve){throw new Error(l.jf)}},{key:"removeEventListener",value:function(ue,$t,Ve){throw new Error(l.jf)}},{key:"dispatchEvent",value:function(ue){throw new Error(l.jf)}},{key:"commitStyles",value:function(){throw new Error(l.jf)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var ue;this._inEffect=!!((ue=this.effect)!==null&&ue!==void 0&&ue.update(-1))}else{var $t;this._inEffect=!!(($t=this.effect)!==null&&$t!==void 0&&$t.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(ue,$t){ue!==this._currentTime&&(this._currentTime=ue,this._isFinished&&!$t&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(ue){var $t=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var Ve=new Kt(null,this,this.currentTime,ue);setTimeout(function(){$t.onfinish&&$t.onfinish(Ve)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var wn=new Kt(null,this,this.currentTime,ue);this.onframe(wn)}this._finishedFlag=!1}}}])}(),an=4,ye=.001,pn=1e-7,cn=10,we=11,Ye=1/(we-1),Un=typeof Float32Array=="function",Ze=function(ie,ue){return 1-3*ue+3*ie},Ie=function(ie,ue){return 3*ue-6*ie},xt=function(ie){return 3*ie},Jt=function(ie,ue,$t){return((Ze(ue,$t)*ie+Ie(ue,$t))*ie+xt(ue))*ie},tn=function(ie,ue,$t){return 3*Ze(ue,$t)*ie*ie+2*Ie(ue,$t)*ie+xt(ue)},qe=function(ie,ue,$t,Ve,wn){var zn,tr,ar=0;do tr=ue+($t-ue)/2,zn=Jt(tr,Ve,wn)-ie,zn>0?$t=tr:ue=tr;while(Math.abs(zn)>pn&&++ar=0&&ie<=1&&$t>=0&&$t<=1))throw new Error("bezier x values must be in [0, 1] range");if(ie===ue&&$t===Ve)return function(ar){return ar};for(var wn=Un?new Float32Array(we):new Array(we),zn=0;zn=ye?Re(Or,Ci,ie,$t):gi===0?Ci:qe(Or,Fr,Fr+Ye,ie,$t)};return function(ar){return ar===0||ar===1?ar:Jt(tr(ar),ue,Ve)}},rn=function(ie){return ie=ie.replace(/([A-Z])/g,function(ue){return"-".concat(ue.toLowerCase())}),ie.charAt(0)==="-"?ie.substring(1):ie},ge=function(ie){return Math.pow(ie,2)},Pe=function(ie){return Math.pow(ie,3)},Tt=function(ie){return Math.pow(ie,4)},yt=function(ie){return Math.pow(ie,5)},fe=function(ie){return Math.pow(ie,6)},nn=function(ie){return 1-Math.cos(ie*Math.PI/2)},We=function(ie){return 1-Math.sqrt(1-ie*ie)},le=function(ie){return ie*ie*(3*ie-2)},Ke=function(ie){for(var ue,$t=4;ie<((ue=Math.pow(2,--$t))-1)/11;);return 1/Math.pow(4,3-$t)-7.5625*Math.pow((ue*3-2)/22-ie,2)},Me=function(ie){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],$t=(0,E.Z)(ue,2),Ve=$t[0],wn=Ve===void 0?1:Ve,zn=$t[1],tr=zn===void 0?.5:zn,ar=(0,F.Z)(Number(wn),1,10),Or=(0,F.Z)(Number(tr),.1,2);return ie===0||ie===1?ie:-ar*Math.pow(2,10*(ie-1))*Math.sin((ie-1-Or/(Math.PI*2)*Math.asin(1/ar))*(Math.PI*2)/Or)},kt=function(ie){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],$t=arguments.length>2?arguments[2]:void 0,Ve=(0,E.Z)(ue,4),wn=Ve[0],zn=wn===void 0?1:wn,tr=Ve[1],ar=tr===void 0?100:tr,Or=Ve[2],Fr=Or===void 0?10:Or,Zr=Ve[3],jr=Zr===void 0?0:Zr;zn=(0,F.Z)(zn,.1,1e3),ar=(0,F.Z)(ar,.1,1e3),Fr=(0,F.Z)(Fr,.1,1e3),jr=(0,F.Z)(jr,.1,1e3);var mi=Math.sqrt(ar/zn),Ci=Fr/(2*Math.sqrt(ar*zn)),gi=Ci<1?mi*Math.sqrt(1-Ci*Ci):0,hi=1,er=Ci<1?(Ci*mi+-jr)/gi:-jr+mi,Ri=$t?$t*ie/1e3:ie;return Ci<1?Ri=Math.exp(-Ri*Ci*mi)*(hi*Math.cos(gi*Ri)+er*Math.sin(gi*Ri)):Ri=(hi+er*Ri)*Math.exp(-Ri*mi),ie===0||ie===1?ie:1-Ri},ee=function(ie){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],$t=ue,Ve=(0,E.Z)($t,2),wn=Ve[0],zn=wn===void 0?10:wn,tr=Ve[1],ar=tr==="start"?Math.ceil:Math.floor;return ar((0,F.Z)(ie,0,1)*zn)/zn},Ne=function(ie){var ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],$t=(0,E.Z)(ue,4),Ve=$t[0],wn=$t[1],zn=$t[2],tr=$t[3];return Je(Ve,wn,zn,tr)(ie)},I=Je(.42,0,1,1),rt=function(ie){return function(ue){var $t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Ve=arguments.length>2?arguments[2]:void 0;return 1-ie(1-ue,$t,Ve)}},de=function(ie){return function(ue){var $t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Ve=arguments.length>2?arguments[2]:void 0;return ue<.5?ie(ue*2,$t,Ve)/2:1-ie(ue*-2+2,$t,Ve)/2}},ae=function(ie){return function(ue){var $t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Ve=arguments.length>2?arguments[2]:void 0;return ue<.5?(1-ie(1-ue*2,$t,Ve))/2:(ie(ue*2-1,$t,Ve)+1)/2}},$e={steps:ee,"step-start":function(ie){return ee(ie,[1,"start"])},"step-end":function(ie){return ee(ie,[1,"end"])},linear:function(ie){return ie},"cubic-bezier":Ne,ease:function(ie){return Ne(ie,[.25,.1,.25,1])},in:I,out:rt(I),"in-out":de(I),"out-in":ae(I),"in-quad":ge,"out-quad":rt(ge),"in-out-quad":de(ge),"out-in-quad":ae(ge),"in-cubic":Pe,"out-cubic":rt(Pe),"in-out-cubic":de(Pe),"out-in-cubic":ae(Pe),"in-quart":Tt,"out-quart":rt(Tt),"in-out-quart":de(Tt),"out-in-quart":ae(Tt),"in-quint":yt,"out-quint":rt(yt),"in-out-quint":de(yt),"out-in-quint":ae(yt),"in-expo":fe,"out-expo":rt(fe),"in-out-expo":de(fe),"out-in-expo":ae(fe),"in-sine":nn,"out-sine":rt(nn),"in-out-sine":de(nn),"out-in-sine":ae(nn),"in-circ":We,"out-circ":rt(We),"in-out-circ":de(We),"out-in-circ":ae(We),"in-back":le,"out-back":rt(le),"in-out-back":de(le),"out-in-back":ae(le),"in-bounce":Ke,"out-bounce":rt(Ke),"in-out-bounce":de(Ke),"out-in-bounce":ae(Ke),"in-elastic":Me,"out-elastic":rt(Me),"in-out-elastic":de(Me),"out-in-elastic":ae(Me),spring:kt,"spring-in":kt,"spring-out":rt(kt),"spring-in-out":de(kt),"spring-out-in":ae(kt)},Ge=function(ie){return rn(ie).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},Sn=function(ie){return $e[Ge(ie)]||$e.linear},Bt=function(ie){return ie},et=1,Pt=.5,Xt=0;function Lt(An,ie){return function(ue){if(ue>=1)return 1;var $t=1/An;return ue+=ie*$t,ue-ue%$t}}var _t="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",Vt=new RegExp("cubic-bezier\\(".concat(_t,",").concat(_t,",").concat(_t,",").concat(_t,"\\)")),Ee=/steps\(\s*(\d+)\s*\)/,xe=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function Ae(An){var ie=Vt.exec(An);if(ie)return Je.apply(void 0,(0,S.Z)(ie.slice(1).map(Number)));var ue=Ee.exec(An);if(ue)return Lt(Number(ue[1]),Xt);var $t=xe.exec(An);return $t?Lt(Number($t[1]),{start:et,middle:Pt,end:Xt}[$t[2]]):Sn(An)}function Xe(An){return Math.abs(yn(An)/(An.playbackRate||1))}function yn(An){var ie;return An.duration===0||An.iterations===0?0:(An.duration==="auto"?0:Number(An.duration))*((ie=An.iterations)!==null&&ie!==void 0?ie:1)}var fn=0,Hn=1,Zn=2,Gn=3;function Mr(An,ie,ue){if(ie===null)return fn;var $t=ue.endTime;return ie=Math.min(ue.delay+An+ue.endDelay,$t)?Zn:Gn}function ur(An,ie,ue,$t,Ve){switch($t){case Hn:return ie==="backwards"||ie==="both"?0:null;case Gn:return ue-Ve;case Zn:return ie==="forwards"||ie==="both"?An:null;case fn:return null}}function In(An,ie,ue,$t,Ve){var wn=Ve;return An===0?ie!==Hn&&(wn+=ue):wn+=$t/An,wn}function jt(An,ie,ue,$t,Ve,wn){var zn=An===1/0?ie%1:An%1;return zn===0&&ue===Zn&&$t!==0&&(Ve!==0||wn===0)&&(zn=1),zn}function rr(An,ie,ue,$t){return An===Zn&&ie===1/0?1/0:ue===1?Math.floor($t)-1:Math.floor($t)}function cr(An,ie,ue){var $t=An;if(An!=="normal"&&An!=="reverse"){var Ve=ie;An==="alternate-reverse"&&(Ve+=1),$t="normal",Ve!==1/0&&Ve%2!==0&&($t="reverse")}return $t==="normal"?ue:1-ue}function Ue(An,ie,ue){var $t=Mr(An,ie,ue),Ve=ur(An,ue.fill,ie,$t,ue.delay);if(Ve===null)return null;var wn=ue.duration==="auto"?0:ue.duration,zn=In(wn,$t,ue.iterations,Ve,ue.iterationStart),tr=jt(zn,ue.iterationStart,$t,ue.iterations,Ve,wn),ar=rr($t,ue.iterations,tr,zn),Or=cr(ue.direction,ar,tr);return ue.currentIteration=ar,ue.progress=Or,ue.easingFunction(Or)}function be(An,ie,ue){var $t=Ut(An,ie),Ve=Rt($t,ue);return function(wn,zn){if(zn!==null)Ve.filter(function(ar){return zn>=ar.applyFrom&&zn1)throw new Error("Keyframe offsets must be between 0 and 1.");Or.computedOffset=Zr}}else if(Fr==="composite"&&["replace","add","accumulate","auto"].indexOf(Zr)===-1)throw new Error("".concat(Zr," compositing is not supported"));Or[Fr]=Zr}return Or.offset===void 0&&(Or.offset=null),Or.easing===void 0&&(Or.easing=(ie==null?void 0:ie.easing)||"linear"),Or.composite===void 0&&(Or.composite="auto"),Or}),$t=!0,Ve=-1/0,wn=0;wn=0&&Number(ar.offset)<=1});function tr(){var ar,Or=ue,Fr=Or.length;if(ue[Fr-1].computedOffset=Number((ar=ue[Fr-1].offset)!==null&&ar!==void 0?ar:1),Fr>1){var Zr;ue[0].computedOffset=Number((Zr=ue[0].offset)!==null&&Zr!==void 0?Zr:0)}for(var jr=0,mi=Number(ue[0].computedOffset),Ci=1;Ci90)return this;this.computeMatrix()}return this._getAxes(),this.type===l.iM.ORBITING||this.type===l.iM.EXPLORING?this._getPosition():this.type===l.iM.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function($t,Ve){var wn=(0,l.O4)($t,Ve,0),zn=vt.d9(this.position);return vt.IH(zn,zn,vt.bA(vt.Ue(),this.right,wn[0])),vt.IH(zn,zn,vt.bA(vt.Ue(),this.up,wn[1])),this._setPosition(zn),this.triggerUpdate(),this}},{key:"dolly",value:function($t){var Ve=this.forward,wn=vt.d9(this.position),zn=$t*this.dollyingStep,tr=this.distance+$t*this.dollyingStep;return zn=Math.max(Math.min(tr,this.maxDistance),this.minDistance)-this.distance,wn[0]+=zn*Ve[0],wn[1]+=zn*Ve[1],wn[2]+=zn*Ve[2],this._setPosition(wn),this.type===l.iM.ORBITING||this.type===l.iM.EXPLORING?this._getDistance():this.type===l.iM.TRACKING&&vt.IH(this.focalPoint,wn,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function($t){var Ve,wn,zn,tr,ar=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Or=ar.position,Fr=Or===void 0?this.position:Or,Zr=ar.focalPoint,jr=Zr===void 0?this.focalPoint:Zr,mi=ar.roll,Ci=ar.zoom,gi=new l.GZ.CameraContribution;gi.setType(this.type,void 0),gi.setPosition(Fr[0],(Ve=Fr[1])!==null&&Ve!==void 0?Ve:this.position[1],(wn=Fr[2])!==null&&wn!==void 0?wn:this.position[2]),gi.setFocalPoint(jr[0],(zn=jr[1])!==null&&zn!==void 0?zn:this.focalPoint[1],(tr=jr[2])!==null&&tr!==void 0?tr:this.focalPoint[2]),gi.setRoll(mi!=null?mi:this.roll),gi.setZoom(Ci!=null?Ci:this.zoom);var hi={name:$t,matrix:W.clone(gi.getWorldTransform()),right:vt.d9(gi.right),up:vt.d9(gi.up),forward:vt.d9(gi.forward),position:vt.d9(gi.getPosition()),focalPoint:vt.d9(gi.getFocalPoint()),distanceVector:vt.d9(gi.getDistanceVector()),distance:gi.getDistance(),dollyingStep:gi.getDollyingStep(),azimuth:gi.getAzimuth(),elevation:gi.getElevation(),roll:gi.getRoll(),relAzimuth:gi.relAzimuth,relElevation:gi.relElevation,relRoll:gi.relRoll,zoom:gi.getZoom()};return this.landmarks.push(hi),hi}},{key:"gotoLandmark",value:function($t){var Ve=this,wn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},zn=(0,T.Z)($t)?this.landmarks.find(function(cs){return cs.name===$t}):$t;if(zn){var tr=(0,Q.Z)(wn)?{duration:wn}:wn,ar=tr.easing,Or=ar===void 0?"linear":ar,Fr=tr.duration,Zr=Fr===void 0?100:Fr,jr=tr.easingFunction,mi=jr===void 0?void 0:jr,Ci=tr.onfinish,gi=Ci===void 0?void 0:Ci,hi=tr.onframe,er=hi===void 0?void 0:hi,Ri=.01;this.cancelLandmarkAnimation();var Xi=zn.position,ta=zn.focalPoint,la=zn.zoom,Ki=zn.roll,Ba=mi||l.GZ.EasingFunction(Or),da,fa=function(){Ve.setFocalPoint(ta),Ve.setPosition(Xi),Ve.setRoll(Ki),Ve.setZoom(la),Ve.computeMatrix(),Ve.triggerUpdate(),gi==null||gi()};if(Zr===0)return fa();var bs=function(ga){da===void 0&&(da=ga);var us=ga-da;if(us>=Zr){fa();return}var Pa=Ba(us/Zr),Ca=vt.Ue(),qa=vt.Ue(),no=1,ro=0;vt.t7(Ca,Ve.focalPoint,ta,Pa),vt.t7(qa,Ve.position,Xi,Pa),ro=Ve.roll*(1-Pa)+Ki*Pa,no=Ve.zoom*(1-Pa)+la*Pa,Ve.setFocalPoint(Ca),Ve.setPosition(qa),Ve.setRoll(ro),Ve.setZoom(no);var Is=vt.TK(Ca,ta)+vt.TK(qa,Xi);if(Is<=Ri&&la===void 0&&Ki===void 0)return fa();Ve.computeMatrix(),Ve.triggerUpdate(),usPa*Pa+Ca*Ca&&(da=bs,fa=cs),{cx:da,cy:fa,x0:-Fr,y0:-Zr,x1:da*(Ve/la-1),y1:fa*(Ve/la-1)}}function Wr(An,ie){return ie=ie<0&&An>=0?ie+Kn:ie,ie-An<=ir?0:1}var Pn=function(An){function ie(ue){var $t;return(0,R.Z)(this,ie),$t=(0,P.Z)(this,ie,[ue]),$t.updatePath(),$t}return(0,m.Z)(ie,An),(0,U.Z)(ie,[{key:"setAttribute",value:function($t,Ve,wn){(0,Gt.Z)(ie,"setAttribute",this,3)([$t,Ve,wn]),["startAngle","endAngle","sr","sr0","radius"].indexOf($t)>-1&&this.updatePath()}},{key:"updatePath",value:function(){var $t=this.parsedStyle,Ve=$t.x,wn=$t.y,zn=$t.startAngle,tr=$t.endAngle,ar=$t.sr,Or=$t.sr0,Fr=$t.radius,Zr=this.createPath(Ve,wn,zn?(0,l.Vl)(zn):0,tr?(0,l.Vl)(tr):Math.PI*2,ar||0,Or||0,Fr||[0,0,0,0]);(0,Gt.Z)(ie,"setAttribute",this,3)(["d",Zr])}},{key:"createPath",value:function($t,Ve,wn,zn,tr,ar,Or){if(!(tr<=0)){var Fr=br($t,Ve,tr,wn),Zr=br($t,Ve,tr,zn),jr=br($t,Ve,ar,wn),mi=br($t,Ve,ar,zn);if((0,Z.Z)(zn-wn,Math.PI*2)){var Ci=br($t,Ve,tr,wn+Math.PI),gi=br($t,Ve,ar,wn+Math.PI),hi=[["M",Fr.x,Fr.y],["A",tr,tr,0,1,1,Ci.x,Ci.y],["A",tr,tr,0,1,1,Zr.x,Zr.y],["M",jr.x,jr.y]];return ar&&(hi.push(["A",ar,ar,0,1,0,gi.x,gi.y]),hi.push(["A",ar,ar,0,1,0,mi.x,mi.y])),hi.push(["M",Fr.x,Fr.y]),hi.push(["Z"]),hi}var er=zn-wn,Ri=tr*gr(wn),Xi=tr*qn(wn),ta=ar*gr(zn),la=ar*qn(zn),Ki=tr*gr(zn),Ba=tr*qn(zn),da=ar*gr(wn),fa=ar*qn(wn),bs=(0,E.Z)(Or,4),cs=bs[0],ga=bs[1],us=bs[2],Pa=bs[3],Ca=(tr-ar)/2,qa=kr(Ca,cs),no=kr(Ca,ga),ro=kr(Ca,us),Is=kr(Ca,Pa),Ws=En(qa,no),Ds=En(ro,Is),Gi=Ws,ka=Ds;if((Ws>_r||Ds>_r)&&er_r){var fo=kr(cs,Gi),Wa=kr(ga,Gi),$a=Br(da,fa,Ri,Xi,tr,fo,xs),Wi=Br(Ki,Ba,ta,la,tr,Wa,xs);if(ua.push(["M",$t+$a.cx+$a.x0,Ve+$a.cy+$a.y0]),Gi0){var js=Tn($a.y0,$a.x0),aa=Tn($a.y1,$a.x1),Lr=br($t,Ve,tr,aa);ua.push(["A",fo,fo,0,Wr(js,aa),1,Lr.x,Lr.y])}var Ia=Tn($a.cy+$a.y1,$a.cx+$a.x1),ao=Tn(Wi.cy+Wi.y1,Wi.cx+Wi.x1),Jo=br($t,Ve,tr,ao);if(ua.push(["A",tr,tr,0,Wr(Ia,ao),1,Jo.x,Jo.y]),Wa>0){var qo=Tn(Wi.y1,Wi.x1),Qs=Tn(Wi.y0,Wi.x0);ua.push(["A",Wa,Wa,0,Wr(qo,Qs),1,$t+Wi.cx+Wi.x0,Ve+Wi.cy+Wi.y0])}}}else ua.push(["M",Fr.x,Fr.y]),ua.push(["A",tr,tr,0,Vs,1,Zr.x,Zr.y]);if(ar<_r)ua.push(["L",mi.x,mi.y]);else if(ka>_r){var so=kr(Pa,ka),oo=kr(us,ka),Sa=Br(ta,la,0,0,ar-tr,oo,xs),Ua=Br(0,0,da,fa,ar-tr,so,xs);if(ua.push(["L",$t+Sa.cx+Sa.x0,Ve+Sa.cy+Sa.y0]),ka0){var Bo=Tn(Sa.y0,Sa.x0),Va=Tn(Sa.y1,Sa.x1),Da=br($t,Ve,ar-tr,Va);ua.push(["A",oo,oo,0,Wr(Bo,Va),1,Da.x,Da.y])}var as=Tn(Sa.cy+Sa.y1,Sa.cx+Sa.x1),ws=Tn(Ua.cy+Ua.y1,Ua.cx+Ua.x1),sa=br($t,Ve,ar,ws);if(ua.push(["A",ar,ar,0,Wr(ws,as),0,sa.x,sa.y]),ua.push(["L",sa.x,sa.y]),so>0){var Vi=Tn(Ua.y1,Ua.x1),qi=Tn(Ua.y0,Ua.x0);ua.push(["A",so,so,0,Wr(Vi,qi),1,$t+Ua.cx+Ua.x0,Ve+Ua.cy+Ua.y0])}}}else ua.push(["L",mi.x,mi.y]),ua.push(["A",ar,ar,0,Vs,0,jr.x,jr.y]);return ua.push(["Z"]),ua}}}])}(l.y$);Pn.PARSED_STYLE_LIST=new Set([].concat((0,S.Z)(l.y$.PARSED_STYLE_LIST),["x","y","sr","sr0","radius","startAngle","endAngle"]))},67469:function(gt,dt,f){"use strict";f.d(dt,{k:function(){return P}});var l=f(49336),R=f(54648),U=f(7663);class P extends l.Z{constructor(E){super();ps(this,"nodeMap",new Map);ps(this,"edgeMap",new Map);ps(this,"inEdgesMap",new Map);ps(this,"outEdgesMap",new Map);ps(this,"bothEdgesMap",new Map);ps(this,"treeIndices",new Map);ps(this,"changes",[]);ps(this,"batchCount",0);ps(this,"onChanged",()=>{});ps(this,"batch",E=>{this.batchCount+=1,E(),this.batchCount-=1,this.batchCount||this.commit()});E&&(E.nodes&&this.addNodes(E.nodes),E.edges&&this.addEdges(E.edges),E.tree&&this.addTree(E.tree),E.onChanged&&(this.onChanged=E.onChanged))}commit(){const E=this.changes;this.changes=[];const F={graph:this,changes:E};this.emit("changed",F),this.onChanged(F)}reduceChanges(E){let F=[];return E.forEach(Q=>{switch(Q.type){case"NodeRemoved":{let O=!1;F=F.filter(T=>{if(T.type==="NodeAdded"){const Z=T.value.id===Q.value.id;return Z&&(O=!0),!Z}else{if(T.type==="NodeDataUpdated")return T.id!==Q.value.id;if(T.type==="TreeStructureChanged")return T.nodeId!==Q.value.id}return!0}),O||F.push(Q);break}case"EdgeRemoved":{let O=!1;F=F.filter(T=>{if(T.type==="EdgeAdded"){const Z=T.value.id===Q.value.id;return Z&&(O=!0),!Z}else if(T.type==="EdgeDataUpdated"||T.type==="EdgeUpdated")return T.id!==Q.value.id;return!0}),O||F.push(Q);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const O=F.findIndex(Z=>Z.type===Q.type&&Z.id===Q.id&&(Q.propertyName===void 0||Z.propertyName===Q.propertyName)),T=F[O];T?Q.propertyName!==void 0?T.newValue=Q.newValue:(F.splice(O,1),F.push(Q)):F.push(Q);break}case"TreeStructureDetached":{F=F.filter(O=>O.type==="TreeStructureAttached"||O.type==="TreeStructureChanged"?O.treeKey!==Q.treeKey:!0),F.push(Q);break}case"TreeStructureChanged":{const O=F.find(T=>T.type==="TreeStructureChanged"&&T.treeKey===Q.treeKey&&T.nodeId===Q.nodeId);O?O.newParentId=Q.newParentId:F.push(Q);break}default:F.push(Q);break}}),F}checkNodeExistence(E){this.getNode(E)}hasNode(E){return this.nodeMap.has(E)}areNeighbors(E,F){return this.getNeighbors(F).some(Q=>Q.id===E)}getNode(E){const F=this.nodeMap.get(E);if(!F)throw new Error("Node not found for id: "+E);return F}getRelatedEdges(E,F){if(this.checkNodeExistence(E),F==="in"){const Q=this.inEdgesMap.get(E);return Array.from(Q)}else if(F==="out"){const Q=this.outEdgesMap.get(E);return Array.from(Q)}else{const Q=this.bothEdgesMap.get(E);return Array.from(Q)}}getDegree(E,F){return this.getRelatedEdges(E,F).length}getSuccessors(E){const Q=this.getRelatedEdges(E,"out").map(O=>this.getNode(O.target));return Array.from(new Set(Q))}getPredecessors(E){const Q=this.getRelatedEdges(E,"in").map(O=>this.getNode(O.source));return Array.from(new Set(Q))}getNeighbors(E){const F=this.getPredecessors(E),Q=this.getSuccessors(E);return Array.from(new Set([...F,...Q]))}doAddNode(E){if(this.hasNode(E.id))throw new Error("Node already exists: "+E.id);this.nodeMap.set(E.id,E),this.inEdgesMap.set(E.id,new Set),this.outEdgesMap.set(E.id,new Set),this.bothEdgesMap.set(E.id,new Set),this.treeIndices.forEach(F=>{F.childrenMap.set(E.id,new Set)}),this.changes.push({type:"NodeAdded",value:E})}addNodes(E){this.batch(()=>{for(const F of E)this.doAddNode(F)})}addNode(E){this.addNodes([E])}doRemoveNode(E){const F=this.getNode(E),Q=this.bothEdgesMap.get(E);Q==null||Q.forEach(O=>this.doRemoveEdge(O.id)),this.nodeMap.delete(E),this.treeIndices.forEach(O=>{var Z,tt;(Z=O.childrenMap.get(E))==null||Z.forEach(W=>{O.parentMap.delete(W.id)});const T=O.parentMap.get(E);T&&((tt=O.childrenMap.get(T.id))==null||tt.delete(F)),O.parentMap.delete(E),O.childrenMap.delete(E)}),this.bothEdgesMap.delete(E),this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.changes.push({type:"NodeRemoved",value:F})}removeNodes(E){this.batch(()=>{E.forEach(F=>this.doRemoveNode(F))})}removeNode(E){this.removeNodes([E])}updateNodeDataProperty(E,F,Q){const O=this.getNode(E);this.batch(()=>{const T=O.data[F],Z=Q;O.data[F]=Z,this.changes.push({type:"NodeDataUpdated",id:E,propertyName:F,oldValue:T,newValue:Z})})}mergeNodeData(E,F){this.batch(()=>{Object.entries(F).forEach(([Q,O])=>{this.updateNodeDataProperty(E,Q,O)})})}updateNodeData(...E){const F=E[0],Q=this.getNode(F);if(typeof E[1]=="string"){this.updateNodeDataProperty(F,E[1],E[2]);return}let O;if(typeof E[1]=="function"){const T=E[1];O=T(Q.data)}else typeof E[1]=="object"&&(O=E[1]);this.batch(()=>{const T=Q.data,Z=O;Q.data=O,this.changes.push({type:"NodeDataUpdated",id:F,oldValue:T,newValue:Z})})}checkEdgeExistence(E){if(!this.hasEdge(E))throw new Error("Edge not found for id: "+E)}hasEdge(E){return this.edgeMap.has(E)}getEdge(E){return this.checkEdgeExistence(E),this.edgeMap.get(E)}getEdgeDetail(E){const F=this.getEdge(E);return{edge:F,source:this.getNode(F.source),target:this.getNode(F.target)}}doAddEdge(E){if(this.hasEdge(E.id))throw new Error("Edge already exists: "+E.id);this.checkNodeExistence(E.source),this.checkNodeExistence(E.target),this.edgeMap.set(E.id,E);const F=this.inEdgesMap.get(E.target),Q=this.outEdgesMap.get(E.source),O=this.bothEdgesMap.get(E.source),T=this.bothEdgesMap.get(E.target);F.add(E),Q.add(E),O.add(E),T.add(E),this.changes.push({type:"EdgeAdded",value:E})}addEdges(E){this.batch(()=>{for(const F of E)this.doAddEdge(F)})}addEdge(E){this.addEdges([E])}doRemoveEdge(E){const F=this.getEdge(E),Q=this.outEdgesMap.get(F.source),O=this.inEdgesMap.get(F.target),T=this.bothEdgesMap.get(F.source),Z=this.bothEdgesMap.get(F.target);Q.delete(F),O.delete(F),T.delete(F),Z.delete(F),this.edgeMap.delete(E),this.changes.push({type:"EdgeRemoved",value:F})}removeEdges(E){this.batch(()=>{E.forEach(F=>this.doRemoveEdge(F))})}removeEdge(E){this.removeEdges([E])}updateEdgeSource(E,F){const Q=this.getEdge(E);this.checkNodeExistence(F);const O=Q.source,T=F;this.outEdgesMap.get(O).delete(Q),this.bothEdgesMap.get(O).delete(Q),this.outEdgesMap.get(T).add(Q),this.bothEdgesMap.get(T).add(Q),Q.source=F,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"source",oldValue:O,newValue:T})})}updateEdgeTarget(E,F){const Q=this.getEdge(E);this.checkNodeExistence(F);const O=Q.target,T=F;this.inEdgesMap.get(O).delete(Q),this.bothEdgesMap.get(O).delete(Q),this.inEdgesMap.get(T).add(Q),this.bothEdgesMap.get(T).add(Q),Q.target=F,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"target",oldValue:O,newValue:T})})}updateEdgeDataProperty(E,F,Q){const O=this.getEdge(E);this.batch(()=>{const T=O.data[F],Z=Q;O.data[F]=Z,this.changes.push({type:"EdgeDataUpdated",id:E,propertyName:F,oldValue:T,newValue:Z})})}updateEdgeData(...E){const F=E[0],Q=this.getEdge(F);if(typeof E[1]=="string"){this.updateEdgeDataProperty(F,E[1],E[2]);return}let O;if(typeof E[1]=="function"){const T=E[1];O=T(Q.data)}else typeof E[1]=="object"&&(O=E[1]);this.batch(()=>{const T=Q.data,Z=O;Q.data=O,this.changes.push({type:"EdgeDataUpdated",id:F,oldValue:T,newValue:Z})})}mergeEdgeData(E,F){this.batch(()=>{Object.entries(F).forEach(([Q,O])=>{this.updateEdgeDataProperty(E,Q,O)})})}checkTreeExistence(E){if(!this.hasTreeStructure(E))throw new Error("Tree structure not found for treeKey: "+E)}hasTreeStructure(E){return this.treeIndices.has(E)}attachTreeStructure(E){this.treeIndices.has(E)||(this.treeIndices.set(E,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:E})}))}detachTreeStructure(E){this.checkTreeExistence(E),this.treeIndices.delete(E),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:E})})}addTree(E,F){this.batch(()=>{this.attachTreeStructure(F);const Q=[],O=Array.isArray(E)?E:[E];for(;O.length;){const T=O.shift();Q.push(T),T.children&&O.push(...T.children)}this.addNodes(Q),Q.forEach(T=>{var Z;(Z=T.children)==null||Z.forEach(tt=>{this.setParent(tt.id,T.id,F)})})})}getRoots(E){return this.checkTreeExistence(E),this.getAllNodes().filter(F=>!this.getParent(F.id,E))}getChildren(E,F){this.checkNodeExistence(E),this.checkTreeExistence(F);const O=this.treeIndices.get(F).childrenMap.get(E);return Array.from(O||[])}getParent(E,F){return this.checkNodeExistence(E),this.checkTreeExistence(F),this.treeIndices.get(F).parentMap.get(E)||null}getAncestors(E,F){const Q=[];let O=this.getNode(E),T;for(;T=this.getParent(O.id,F);)Q.push(T),O=T;return Q}setParent(E,F,Q){var vt,st;this.checkTreeExistence(Q);const O=this.treeIndices.get(Q);if(!O)return;const T=this.getNode(E),Z=O.parentMap.get(E);if((Z==null?void 0:Z.id)===F)return;if(F==null){Z&&((vt=O.childrenMap.get(Z.id))==null||vt.delete(T)),O.parentMap.delete(E);return}const tt=this.getNode(F);O.parentMap.set(E,tt),Z&&((st=O.childrenMap.get(Z.id))==null||st.delete(T));let W=O.childrenMap.get(tt.id);W||(W=new Set,O.childrenMap.set(tt.id,W)),W.add(T),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:Q,nodeId:E,oldParentId:Z==null?void 0:Z.id,newParentId:tt.id})})}dfsTree(E,F,Q){const O=T=>this.getChildren(T,Q);return(0,U.I)(this.getNode(E),new Set,F,O)}bfsTree(E,F,Q){const O=T=>this.getChildren(T,Q);return(0,U.O)([this.getNode(E)],new Set,F,O)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(E,F,Q="out"){const O={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[Q];return(0,U.O)([this.getNode(E)],new Set,F,O)}dfs(E,F,Q="out"){const O={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[Q];return(0,U.I)(this.getNode(E),new Set,F,O)}clone(){const E=this.getAllNodes().map(O=>Yh(wu({},O),{data:wu({},O.data)})),F=this.getAllEdges().map(O=>Yh(wu({},O),{data:wu({},O.data)})),Q=new P({nodes:E,edges:F});return this.treeIndices.forEach(({parentMap:O,childrenMap:T},Z)=>{const tt=new Map;O.forEach((vt,st)=>{tt.set(st,Q.getNode(vt.id))});const W=new Map;T.forEach((vt,st)=>{W.set(st,new Set(Array.from(vt).map(X=>Q.getNode(X.id))))}),Q.treeIndices.set(Z,{parentMap:tt,childrenMap:W})}),Q}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(E){return new R.t(wu({graph:this},E))}}},54648:function(gt,dt,f){"use strict";f.d(dt,{t:function(){return U}});var l=f(7663);const R=()=>!0;class U{constructor(m){ps(this,"graph");ps(this,"nodeFilter");ps(this,"edgeFilter");ps(this,"cacheEnabled");ps(this,"inEdgesMap",new Map);ps(this,"outEdgesMap",new Map);ps(this,"bothEdgesMap",new Map);ps(this,"allNodesMap",new Map);ps(this,"allEdgesMap",new Map);ps(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});ps(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(m=>m.id))});ps(this,"updateCache",m=>{const S=new Set;m.forEach(E=>{const F=this.bothEdgesMap.get(E);if(F&&F.forEach(Q=>S.add(Q.id)),!this.hasNode(E))this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.bothEdgesMap.delete(E),this.allNodesMap.delete(E);else{const Q=this.graph.getRelatedEdges(E,"in").filter(this.edgeFilter),O=this.graph.getRelatedEdges(E,"out").filter(this.edgeFilter),T=Array.from(new Set([...Q,...O]));T.forEach(Z=>S.add(Z.id)),this.inEdgesMap.set(E,Q),this.outEdgesMap.set(E,O),this.bothEdgesMap.set(E,T),this.allNodesMap.set(E,this.graph.getNode(E))}}),S.forEach(E=>{this.hasEdge(E)?this.allEdgesMap.set(E,this.graph.getEdge(E)):this.allEdgesMap.delete(E)})});ps(this,"handleGraphChanged",m=>{const S=new Set;m.changes.forEach(E=>{switch(E.type){case"NodeAdded":S.add(E.value.id);break;case"NodeDataUpdated":S.add(E.id);break;case"EdgeAdded":S.add(E.value.source),S.add(E.value.target);break;case"EdgeUpdated":(E.propertyName==="source"||E.propertyName==="target")&&(S.add(E.oldValue),S.add(E.newValue));break;case"EdgeDataUpdated":if(m.graph.hasEdge(E.id)){const F=m.graph.getEdge(E.id);S.add(F.source),S.add(F.target)}break;case"EdgeRemoved":S.add(E.value.source),S.add(E.value.target);break;case"NodeRemoved":S.add(E.value.id);break;default:break}}),this.updateCache(S)});this.graph=m.graph;const S=m.nodeFilter||R,E=m.edgeFilter||R;this.nodeFilter=S,this.edgeFilter=F=>{const{source:Q,target:O}=this.graph.getEdgeDetail(F.id);return!S(Q)||!S(O)?!1:E(F,Q,O)},m.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):m.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(m){this.getNode(m)}hasNode(m){if(!this.graph.hasNode(m))return!1;const S=this.graph.getNode(m);return this.nodeFilter(S)}areNeighbors(m,S){return this.checkNodeExistence(m),this.getNeighbors(S).some(E=>E.id===m)}getNode(m){const S=this.graph.getNode(m);if(!this.nodeFilter(S))throw new Error("Node not found for id: "+m);return S}getRelatedEdges(m,S){return this.checkNodeExistence(m),this.cacheEnabled?S==="in"?this.inEdgesMap.get(m):S==="out"?this.outEdgesMap.get(m):this.bothEdgesMap.get(m):this.graph.getRelatedEdges(m,S).filter(this.edgeFilter)}getDegree(m,S){return this.getRelatedEdges(m,S).length}getSuccessors(m){const E=this.getRelatedEdges(m,"out").map(F=>this.getNode(F.target));return Array.from(new Set(E))}getPredecessors(m){const E=this.getRelatedEdges(m,"in").map(F=>this.getNode(F.source));return Array.from(new Set(E))}getNeighbors(m){const S=this.getPredecessors(m),E=this.getSuccessors(m);return Array.from(new Set([...S,...E]))}hasEdge(m){if(!this.graph.hasEdge(m))return!1;const S=this.graph.getEdge(m);return this.edgeFilter(S)}getEdge(m){const S=this.graph.getEdge(m);if(!this.edgeFilter(S))throw new Error("Edge not found for id: "+m);return S}getEdgeDetail(m){const S=this.getEdge(m);return{edge:S,source:this.getNode(S.source),target:this.getNode(S.target)}}hasTreeStructure(m){return this.graph.hasTreeStructure(m)}getRoots(m){return this.graph.getRoots(m).filter(this.nodeFilter)}getChildren(m,S){return this.checkNodeExistence(m),this.graph.getChildren(m,S).filter(this.nodeFilter)}getParent(m,S){this.checkNodeExistence(m);const E=this.graph.getParent(m,S);return!E||!this.nodeFilter(E)?null:E}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(m,S,E="out"){const F={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,l.O)([this.getNode(m)],new Set,S,F)}dfs(m,S,E="out"){const F={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,l.I)(this.getNode(m),new Set,S,F)}}},7663:function(gt,dt,f){"use strict";f.d(dt,{I:function(){return R},O:function(){return l}});function l(U,P,m,S){for(;U.length;){const E=U.shift();if(m(E))return!0;P.add(E.id),S(E.id).forEach(Q=>{P.has(Q.id)||(P.add(Q.id),U.push(Q))})}return!1}function R(U,P,m,S){if(m(U))return!0;P.add(U.id);for(const F of S(U.id))if(!P.has(F.id)&&R(F,P,m,S))return!0;return!1}},85580:function(gt,dt,f){"use strict";f.d(dt,{L:function(){return l}});function l(R){var U=document.createElement("div");U.innerHTML=R;var P=U.childNodes[0];return P&&U.contains(P)&&U.removeChild(P),P}},70208:function(gt,dt){"use strict";var f=function(l,R,U){return lU?U:l};dt.Z=f},37547:function(gt,dt,f){"use strict";var l=f(39934),R=function(U){if(typeof U!="object"||U===null)return U;var P;if((0,l.Z)(U)){P=[];for(var m=0,S=U.length;m-1:!1},m=P,S=function(F,Q){return Q===void 0&&(Q=[]),U(F,function(O){return!m(Q,O)})},E=S},56039:function(gt,dt,f){"use strict";var l=f(39934),R=f(93785);function U(P,m){if(P){var S;if((0,l.Z)(P))for(var E=0,F=P.length;EF&&(E=S,O(1),++m),S[T]=Z}function O(T){m=0,S=Object.create(null),T||(E=Object.create(null))}return O(),{clear:O,has:function(T){return S[T]!==void 0||E[T]!==void 0},get:function(T){var Z=S[T];if(Z!==void 0)return Z;if((Z=E[T])!==void 0)return Q(T,Z),Z},set:function(T,Z){S[T]!==void 0?S[T]=Z:Q(T,Z)}}}var R=new Map;function U(P,m,S){S===void 0&&(S=128);var E=function(){for(var F=[],Q=0;Ql?(U&&(clearTimeout(U),U=null),E=O,S=f.apply(P,m),U||(P=m=null)):!U&&R.trailing!==!1&&(U=setTimeout(F,T)),S};return Q.cancel=function(){clearTimeout(U),E=0,U=P=m=null},Q}},96862:function(gt,dt,f){"use strict";var l=f(76075);dt.Z=function(R){return(0,l.Z)(R)?"":R.toString()}},35300:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return l}});function l(R,U){U===void 0&&(U=new Map);var P=[];if(Array.isArray(R))for(var m=0,S=R.length;m1&&(we=Math.sqrt(we),vt*=we,st*=we);var Ye=vt*vt,Un=st*st,Ze=(F===Q?-1:1)*Math.sqrt(Math.abs((Ye*Un-Ye*cn*cn-Un*pn*pn)/(Ye*cn*cn+Un*pn*pn)));an=Ze*vt*cn/st+(tt+X)/2,ye=Ze*-st*pn/vt+(W+Mt)/2,Fe=Math.asin(((W-ye)/st*Math.pow(10,9)>>0)/Math.pow(10,9)),me=Math.asin(((Mt-ye)/st*Math.pow(10,9)>>0)/Math.pow(10,9)),Fe=ttme&&(Fe-=Math.PI*2),!Q&&me>Fe&&(me-=Math.PI*2)}var Ie=me-Fe;if(Math.abs(Ie)>ht){var xt=me,Jt=X,tn=Mt;me=Fe+ht*(Q&&me>Fe?1:-1),X=an+vt*Math.cos(me),Mt=ye+st*Math.sin(me),Gt=R(X,Mt,vt,st,E,0,Q,Jt,tn,[me,xt,an,ye])}Ie=me-Fe;var qe=Math.cos(Fe),Re=Math.sin(Fe),Je=Math.cos(me),rn=Math.sin(me),ge=Math.tan(Ie/4),Pe=4/3*vt*ge,Tt=4/3*st*ge,yt=[tt,W],fe=[tt+Pe*Re,W-Tt*qe],nn=[X+Pe*rn,Mt-Tt*Je],We=[X,Mt];if(fe[0]=2*yt[0]-fe[0],fe[1]=2*yt[1]-fe[1],Z)return fe.concat(nn,We,Gt);Gt=fe.concat(nn,We,Gt);for(var le=[],Ke=0,Me=Gt.length;KeMt in X?m(X,Mt,{enumerable:!0,configurable:!0,writable:!0,value:ht}):X[Mt]=ht,Z=(X,Mt)=>{for(var ht in Mt||(Mt={}))Q.call(Mt,ht)&&T(X,ht,Mt[ht]);if(F)for(var ht of F(Mt))O.call(Mt,ht)&&T(X,ht,Mt[ht]);return X},tt=(X,Mt)=>S(X,E(Mt));function W(X,Mt,ht=1/3,Dt){let Gt=X*Math.PI*2,Kt=Mt*Math.PI*2;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(Fe,me){return FeKt?Math.cos(Kt)*(1+Math.cos(me)*ht):Math.cos(Fe)*(1+Math.cos(me)*ht)},y:function(Fe,me){return FeKt?Math.sin(Kt)*(1+Math.cos(me)*ht):Math.sin(Fe)*(1+Math.cos(me)*ht)},z:function(Fe,me){return Fe<-Math.PI*.5?Math.sin(Fe):Fe>Math.PI*2.5?Math.sin(Fe)*Dt*.1:Math.sin(me)>0?1*Dt*.1:-1}}}function vt({pieData:X=[],internalDiameterRatio:Mt=1/3}){var ht,Dt,Gt,Kt;const Fe=[],me=X==null?void 0:X.reduce((we,Ye)=>(we||0)+((Ye==null?void 0:Ye.value)||0),0);let an=0,ye=0;const pn=[];for(let we=0;we<(X==null?void 0:X.length);we++){ye=an+(me==0?1:((ht=X==null?void 0:X[we])==null?void 0:ht.value)||0);const Ye={itemStyle:((Dt=X==null?void 0:X[we])==null?void 0:Dt.itemStyle)||{},name:((Gt=X==null?void 0:X[we])==null?void 0:Gt.name)||`name${we}`,type:"surface",parametric:!0,parametricEquation:W(an/(me||(X==null?void 0:X.length)),ye/(me||(X==null?void 0:X.length)),Mt,((Kt=X==null?void 0:X[we])==null?void 0:Kt.value)||(me==0?25:0)),wireframe:{show:!1},pieData:X==null?void 0:X[we]};pn.push(Ye.name),Fe.push(Ye),an=ye}return Fe.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:we=>`${we.value} - - ${we.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...X||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:pn},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:Fe}}const st=({dataSource:X=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:Mt="",style:ht={},legend:Dt={},internalDiameterRatio:Gt=1/3})=>{const[Kt,Fe]=(0,l.useState)([]),me=(0,l.useCallback)(pn=>{const cn=pn.selected||{},we=X.map(Ye=>Ye.name).filter(Ye=>cn[Ye]===!1);Fe(we)},[X]),an=(0,l.useMemo)(()=>X.filter(pn=>!Kt.includes(pn.name)),[X,Kt]),ye=(0,l.useMemo)(()=>{const pn=vt({pieData:an,internalDiameterRatio:Gt}),cn=X.map(Ye=>Ye.name),we=X.reduce((Ye,Un)=>(Ye[Un.name]=!Kt.includes(Un.name),Ye),{});return pn.legend=tt(Z(Z({},pn.legend),Dt),{data:cn,selected:we}),pn},[an,Dt,Gt,X,Kt]);return l.createElement(R.Z,{onEvents:{legendselectchanged:me},className:`w-full h-full ${Mt}`,option:ye,style:Z({height:"100%"},ht)})};dt.Z=st},12591:function(gt,dt,f){"use strict";f.r(dt),f.d(dt,{default:function(){return ur}});var l=f(85333),R=f(6848),U=f(12563),P=f(93948),m=f(28103),S=f(71418),E=f(66104),F=f(57809),Q=f(79817),O=f(43418),T=f(59301),Z=f(44225),tt=f(44599),W=f(78162),vt=f(41592),st=f(95278),X=Object.defineProperty,Mt=Object.defineProperties,ht=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Fe=(In,jt,rr)=>jt in In?X(In,jt,{enumerable:!0,configurable:!0,writable:!0,value:rr}):In[jt]=rr,me=(In,jt)=>{for(var rr in jt||(jt={}))Gt.call(jt,rr)&&Fe(In,rr,jt[rr]);if(Dt)for(var rr of Dt(jt))Kt.call(jt,rr)&&Fe(In,rr,jt[rr]);return In},an=(In,jt)=>Mt(In,ht(jt)),ye=(In,jt,rr)=>new Promise((cr,Ue)=>{var be=Rt=>{try{Ut(rr.next(Rt))}catch(he){Ue(he)}},ve=Rt=>{try{Ut(rr.throw(Rt))}catch(he){Ue(he)}},Ut=Rt=>Rt.done?cr(Rt.value):Promise.resolve(Rt.value).then(be,ve);Ut((rr=rr.apply(In,jt)).next())});const pn=[{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"}],cn=(In,jt)=>{const rr={};let cr=null;return In.forEach(Ue=>{rr[Ue.properties.uuid]=an(me({},Ue),{id:Ue.properties.uuid,children:[]})}),jt.forEach(Ue=>{const be=rr[Ue.startNodeUuid],ve=rr[Ue.endNodeUuid];be&&(be.id=be.properties.uuid),be&&ve&&be.children.push(ve)}),In.forEach(Ue=>{!jt.some(ve=>ve.endNodeUuid===Ue.properties.uuid)&&(cr=rr[Ue.properties.uuid])}),cr},we=(In,jt)=>{const rr=In.getParentData(jt.id,"tree");return rr?jt.style.x>rr.style.x?"right":"left":"center"};var Un=({loading:In,nodes:jt=[],relationships:rr=[]})=>{const cr=(0,T.useRef)(null),Ue=(0,T.useRef)(),be=(0,T.useRef)(0);(0,T.useEffect)(()=>{(jt==null?void 0:jt.length)>0&&ve()},[]);const ve=()=>ye(void 0,null,function*(){var Rt,he,Oe;const Be=cn(jt==null?void 0:jt.map((Yn,ot)=>{var x,M,y,D,z;return an(me({},Yn),{key:ot,title:(x=Yn==null?void 0:Yn.properties)==null?void 0:x.name,newcolor:parseInt((M=Yn==null?void 0:Yn.properties)==null?void 0:M.color)===1?"#CC7CF5":((y=pn==null?void 0:pn.find(Nt=>{var Qt;return(Nt==null?void 0:Nt.name)===((Qt=Yn==null?void 0:Yn.properties)==null?void 0:Qt.nodeType)}))==null?void 0:y.color)||"#2D947C",colornodeType:parseInt((D=Yn==null?void 0:Yn.properties)==null?void 0:D.color)===1?"\u6839\u8282\u70B9":((z=pn==null?void 0:pn.find(Nt=>{var Qt;return(Nt==null?void 0:Nt.name)===((Qt=Yn==null?void 0:Yn.properties)==null?void 0:Qt.nodeType)}))==null?void 0:z.name)||"\u5176\u4ED6"})}),rr==null?void 0:rr.filter(Yn=>Yn.type==="\u5305\u542B"));Ue!=null&&Ue.current&&((Rt=Ue==null?void 0:Ue.current)==null||Rt.destroy());const gn=(0,st.RN)(Be),mn=(he=gn.nodes)==null?void 0:he.filter((Yn,ot,x)=>ot===x.findIndex(M=>M.id===Yn.id)),$n=(Oe=gn.edges)==null?void 0:Oe.filter((Yn,ot,x)=>ot===x.findIndex(M=>M.source===Yn.source&&M.target===Yn.target));Ut({nodes:mn,edges:$n})}),Ut=Rt=>{var he,Oe;Ue.current=null,Ue.current=new st.kJ({container:cr.current,autoResize:!0,autoFit:{type:((he=Rt==null?void 0:Rt.nodes)==null?void 0:he.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((Oe=Rt==null?void 0:Rt.nodes)==null?void 0:Oe.length)>300),data:Rt,node:{style:{labelText:Be=>Be.title,labelFill:"#333333",fill:Be=>Be.newcolor,labelBackground:!1,labelPlacement:function(Be){const gn=we(this,Be);return gn==="center"?"right":gn},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:()=>80,getSide:Be=>(be.current++,be.current%2==0?"left":"right")},behaviors:["zoom-canvas","collapse-expand","drag-canvas"]}),Ue.current.render()};return T.createElement("div",{style:{height:"100%"}},T.createElement(S.Z,{spinning:In,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),T.createElement("div",{style:{height:"100%"},ref:cr}))},Ze=f(42441),Ie=f(36466),Jt=({abilityGoalItem:In=[]})=>{var jt,rr;const cr=(jt=(0,Ie.eY)())==null?void 0:jt.username,Ue=typeof((rr=In==null?void 0:In[0])==null?void 0:rr.user_grasp_rate)=="number",be=In.map(he=>he.grasp_rate),ve=In.map(he=>he.user_grasp_rate),Ut=()=>{const he=In.map(gn=>gn.name),Oe=[{type:"bar",name:"\u7CFB\u7EDF\u5E73\u5747",data:be,barMaxWidth:"20%",barGap:"50%",itemStyle:{color:"#028DFD"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}}];Ue&&Oe.unshift({type:"bar",name:cr,data:ve,barMaxWidth:"20%",itemStyle:{color:"#CDCB56"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}});const Be={tooltip:{appendToBody:!0,trigger:"item",formatter:gn=>{const{value:mn,name:$n,seriesName:Yn}=gn;return`
    - ${$n}
    - ${Yn}\uFF1A${mn}% -
    `}},grid:{left:"0%",right:"10%",bottom:"3%",containLabel:!0},xAxis:{data:he,axisLabel:{color:"#666",formatter:function(gn){return gn.length>4?gn.substring(0,4)+"...":gn}},axisTick:{show:!1},axisLine:{show:!1}},yAxis:{show:!1,type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#666",formatter:"{value}%"},splitLine:{lineStyle:{color:"rgba(164,200,252,0.1)"}}},series:Oe};return T.createElement(Ze.Z,{option:Be,className:"w-full"})},Rt=()=>{const he=Math.max(...be,...Ue?ve:[])*1.2||10,Oe=[{value:be,name:"\u7CFB\u7EDF\u5E73\u5747",lineStyle:{color:"rgba(2, 141, 253, 1)",window:3},areaStyle:{color:"rgba(2, 141, 253, 0.35)"},itemStyle:{color:"rgba(2, 141, 253, 1)",borderWidth:2}}];Ue&&Oe.unshift({value:ve,name:cr,lineStyle:{color:"rgba(205, 203, 86, 1)",window:3},areaStyle:{color:"rgba(205, 203, 86, 0.35)"},itemStyle:{color:"rgba(205, 203, 86, 1)",borderWidth:2}});const Be={tooltip:{appendToBody:!0,trigger:"item",position:"right"},radar:{indicator:In.map(gn=>({name:gn.name,max:he,min:0})),splitArea:{areaStyle:{color:["#fff","#f3f4f9"]}},name:{color:"#333",fontSize:12,formatter:function(gn){return gn.length>3?gn.slice(0,3)+"...":gn}},nameGap:5,axisLine:{lineStyle:{color:"#D9D9D9"}},splitLine:{lineStyle:{color:"#D9D9D9"}},center:["50%","50%"],radius:"50%"},series:[{type:"radar",symbolSize:2,tooltip:{trigger:"item",formatter:function(gn){console.log(gn);let mn=gn.name+"
    ";return gn.value.forEach(($n,Yn)=>{mn+=In[Yn].name+"\uFF1A"+$n+"%
    "}),mn}},data:Oe}]};return T.createElement(Ze.Z,{option:Be,className:"w-full"})};return T.createElement("div",{className:"flex flex-col item-center mt-20px-rem"},T.createElement("b",{className:"text-16px-rem"}," ",Ue?"\u80FD\u529B\u56FE\u8C31\u4E2A\u4EBA\u638C\u63E1\u60C5\u51B5":"\u80FD\u529B\u56FE\u8C31\u638C\u63E1\u7387\u60C5\u51B5"),Ue&&T.createElement("div",{className:"flex item-center gap-20px-rem text-14px-rem mt-10px-rem"},T.createElement("div",{className:"flex item-center"},T.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#CDCB56"}}),T.createElement(R.Z,{title:cr},T.createElement("span",null,(0,l.Pq)(cr,4)))),T.createElement("div",{className:"flex item-center"},T.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#028DFD"}}),"\u7CFB\u7EDF\u5E73\u5747")),In.length<3&&Ut(),In.length>=3&&Rt())},tn=f(93351),qe=f(58661),Re=f(42684),Je=f(32558),rn={NextAbility:"NextAbility___wLOPq",AnchorDomStyle:"AnchorDomStyle___CG1xj",AnchorDom:"AnchorDom___jjRxi"},ge="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",Pe="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=",Tt="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=",yt="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=",fe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAAAXNSR0IArs4c6QAAAu5JREFUSEvlll1IU2EYx//PcW6JSuRFBRVB1I2Qtk3dh1JSXiVRF1bQXaFUBJ5tFFGCLLywTbTtUAwREoIKvIgI+iAqL3Jf0jYUpKsIiogkAsv8aOs8dWyT09zcZnrVe/m+/+f/4/2/7/ucQyhg1I+4ymeLdK0AtQHYQkT3E0LCPVbnmMjXhvIR1o72bvuZ0LSDuA2g9Wk1TIwHMsuuWL09mMtvWeAev6dWEMgBoAWAJpcZGC8Bdkct4kMQcSb9UiA7BUOo4gjAdgANOSEZBMQ0IUN2C9qSu5Ga03G1ZBFYNdZTWjSjPUUMGwg7VgJaWkPvwehLlM4PjFdf+K6sU+OwU/NVV2EH8SUAG1YHtMTlM5jcpNV5yBjwnmDC7TUCpds6qXL4RlmJLjHItHAx1nDw47m54mOLZ2gMS80sczeA3atIjYPxFIRmInRGzGLX37eUmYxBbwsTdQCo/gfwPAM3hQRflYuFMmKeyAxUEWpC3oMyQ7lIhTyNWQYPyCy7x6yOD4qdPiRV5gVMsfcEvFaBcB7AYQBCll3PMMinJbknbLZ9UmvyBur917fHrOfepTqGIdC3E6QRAT4JoDRpOkuALy5rXeP1ZyfBTPqwdJyYy6MW24CiMYQkM5iDOSM1Br0+APuZIJUk5m75Gy5+UwwahwfXTWmn6gTCJi3k50Gr48tCdEGpiQAXwAYmdMfM4uUqv2+jRvgxAmAXAW/lOJmy9lIFyMCZ5E6mwbhDJPdHLPaoOjJj8JqBIbgANKXmU0BjyNPATC8AFP9ulVMyUW2+QDXjNUAjAE8riQHYl36uKaAybwx6WxnoFwiHXpnFRysB5nwtauAfqMcUsdjCC700W3VapDkhakE6UL32PwMDUicTXykoy6SYQGLE0i5lqs0a6dGhoaI3Wz/2giAWAGUm7oqZRGf+vxhp7vqA9wAJ6ARj73JgBkYB6ohZ2p8tp8vrr00xSPZU5ZtpAmMzEbQMmgQQAfO9qFV8kk8SvwBkMTigdig/4QAAAABJRU5ErkJggg==",nn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAABBRJREFUSEu1ln1MVXUYx7/fc87FQbRaL7PwZZZRDQTOhRxj1mLZqFz9Q8tVWyb34tVirbmsVpvOWfOPXNqGJl7kMvSfbNnLHyWbWfSuw+s95zIYTd0QFGvZ1gvG4J7ze+pc4h0uBLff38/z/Tx7fs8bMctnbuzI1RJOuRCLoSQHhAOyi1Rd4vraYo35HWOlSkLnr3PdvvUUVAJSBGAQwheZilcS6s1S7pUXIGqdCPJS2RJoJbV6QcanwOAmgWyGSPZYH4I90wLNoP0sRXaKIGeWSZjKrEWjvp8Gom7CPQfy50nAkpD4XCe+DyIb5gECyFO3XpN1/7Ha3IHiQNtaJe4RAC3jgB5MOfHPROTBecH+dSb4xS3ZWWsuX716AoJV0FgzDmgGrAMQhNIBG9EgvkvCyD8zaSwbAfqD1jOicCitsDFipPZGLFK4LQks29yT2f/br2cBLPp/gBTd51sUDeddTgKLA/bLSuStNMMugTQgsjCpq3G91VDUlAT6q+y4QArSBSTh6DTKHbhlULLL0yV4MtZYVMaVgfjtCVHn0wVLihNbYhHz7ZJQ+1I3kbgwrG2Qd9MftAKi0JA2IPGRFTErt28X7eNu+xgEFcPaGvVK+gPWVhHsSAuQ/FE3skuj4eW/+6vsnQJ5bdxoI16iP2DvF5FN8waSF3XDWBUN53cXV1uVysXRiZoE9tIMWHshqJkPkMQVzdDui4YLO0tCdrHroAUi104CknU0g/aW4UqaE5Tsg64/YNWvaL0nYN/lQr4Rwc1TaZHY5qX0cRH5YK4wQ9MeO32woMWrSJVwvhXIkum0qCFILypHpPO/Ar00AvojsUjB6dLqtoUDSn0NkTtT6fioLU82vhmwT0KkdLZQb5FqPlYM/Vn7Utdxjs8EI9gWaywqHAIG7WooqZ8NkGCnkalVtL5b0JP8M8HxVGkc7UG+ciZStCsJLK22Fw+40jMTkOCHGdlZVadqc//wqlE50jxdgUzQupR5/Y25P+xZ0j80SwPxHSJq67Sf7R1MwKuxiLnbs0n2mWLTxJslRbGsizWYh5NjryzYfkO/OF1e35A8ISKrJ0YHQ19r1Rd8742rTy7E35w4QVJmhghbEXPjsI3Xh89DyT6SX93xcOHqc83xwyLy1IgB8QuA3QsyFrw3MDBYJ5CHZkr9qC8/14zCNdEwE6PAKuvLf46bck3Hk2cOmkeeeF/0s81xb1LcO1vhKe3Iet0orBkLS6bUDNg/eUuS8OWTaoUS9zkvgLnCSPQK+bq3bKecNv4qu3tSWZN9BPcAGXWUwUcFEhJISaogSHSA2iFNv6k2Gs75a9oCMoPxpynqHQAZAG0Ijmq+7CZvxYx1WrmhPd91Vb5QboPIMggMaOyl4KLyGS3WgTzvJprx/Q3wmMIl7X6GaAAAAABJRU5ErkJggg==",We="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAstJREFUSEu9lk1oE1EQx2de06xNxaNSxS+wYltMNi0iBXsSBE/tQawnIZugXtpKUS9VCGgvFgKxF9EkRfHQFA/tSRC9qKAFm2SDKdoKSgVrPUqamK8deSFbt+km2bTb7imZN/v/vbdvvhA0j9MlTzKGk3NB+7TWrv3dfe3Lgb/Z9EsiIMRd56KhEz8r+erZUTU63fJZUugVIH5raba1vRhvzei9IEqxMBBc5GsIGI5OOC7VDSzBAgBwpCiE+JxZGgfnHrUva8U6PXKPUqA3WlsDQs9cSHxnFIr8MxJQ/4YXEJOMkScSEMN8zeslNr0U/whETq0vAkZ6D9tPeb2oGIFilzveVyDyAdHRMqEZQbBe//Cw7Tu3i27ZAwo91r0XRE805AgaAnKn8wOLwq/V1DMiusD/M2zoj4ROTqkCpwcW92SSqUUA2qsrirgiNNuOz463/qkFXQuarivzLYV8bgEJXkcnHH3r7s4ljylAN6qKIY7FQo5bhoHcsdMT67dahFn1MxZt7sQxRcknAMhaXQyzjFk6IsGOr9X81k6o58RhRPmnRNRda+el6H6PaLlcDaoLLN7Zauo2EAzVPln5VjALCH6h2XZP707XAXnozyzFXQQwCkT7jJyqog/iCgKM9B6yT2hT5n/QSLEzCqGfgDq3BCp7mecpQxpSiwM6pc/7gTI+3eQ3kczLIKAwjKIr9gkAOkzUriaVQKcUSxBB+44BebtJZ9M+tQNsGxhhqsnaNLwWNMVOoIC/vDhveQOIUcZgKBJwvC3mqlaw2BF+xCVQYLRi3TS8A/wNDEb6DtpDummh1eGJn0um7igAg5tJfAbwoHG37W7NxC/fvHh1vhVzuSfbXtrWdYqdLN4qWJTk+0B00/T2VEmwVMwXKtbXzTTgWsHnlGQ3EfFBa8OD9Y4YtWB83bQhyghM9TFlTKwHyH1NGYTrgW511P8HVz1GsEaaZFwAAAAASUVORK5CYII=",le="data:image/png;base64,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",Ke="data:image/png;base64,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",Me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAHCFJREFUeF7tnQuUXVV5x//fvnfiK6wiUFnSaoNgYiHknjuDCgUUQXloaAUMVnyAAl1VYQGhEsOcmY5zz81LeSnEqsEHal0SAV0EQQooBQVfzLkYYjNCibLEUhFTSX3M3Hv+7bm5CZkwk9nnfe65+6zFmknyfd/e33/vH+e1z7cF5khEgSU3sPToZsz30FoAkfkA9gXUXMLbSyBzAexFYO7237kXgPbfdTrzDIBtgDxDcJu0f0fnd/UM4Pl//g3IcYXS5oMWYHz9GdJKJJEeDyo9nn/k9Bc6fFmfYD48zKf/E1wA+D9xUOTgwQI8CmAckM1CjENhfJIY32jL48HCGOtdFTCABJwP1RU8xPO845SoN5A8DsDeAUOkbb5VRO726H1bKXX32GWyKe0OdHN7BpBZRq9/JQ/2PBwLzzsGIscAOLCbBxzAYyDvhVL3KoXvPLhcHunyfBLtvgFkGnkrNZ4g4p0MqKMBHp7oCGQeXH4EePeR6rbGkNyReXdy1gEDSGdArNHJo6jUYoEsBrAwZ+OUVnc2EtwgnrfBHe77blqN5rmdngakOsoKS1gsxGKCR+R5oNLum0AeoGCDtLBhbFgaabefl/Z6DpDqah7AJpaQPEWA4/MyEHnuB4G7ROQWKWP92DJ5Is99jbtvPQOItZLz0PTOhci5APaPW8geifckyHUoq3XuctnSCzkXHpDKCs6XVhuMcwDs0wuDmkKOT4O8jiW1rnGZjKfQXmZNFBaQRXUuVN5OMPy31OaIX4FtPiieUuseGpSN8YfPPmLhAFlUZ78izgHoX0rNyV7inujBBCDrPMF1Dw3Kg0XKuDCAHDrCfeb04VKSy4o0QN2Wi4isnpjEmodH5Olu6/t0/S0EIJbDsyC4FOQhRRiUrs9BZBOINa4tX+j2XLoaEGslX80WlwlwercPRBH7T+BGKclqd7n8sFvz60pADhnh3Oc9ezll7jPyPfsm/MuuP01izaYR8Zfpd9XRdYBUHb6jfZ8hqHSV0r3eWaLhgzJmy1e6SYquAWTeCJ+/d9m7HJAPdJPApq+7K8C1W5vqki0j8sdu0KYrAOkfnRjwpHw5BK/vBlFNH2dRgLhHsXnJg8Nzfpx3rXIPSLXefA+pLgewX97FNP0LpMBTIt4lY4Pl6wN5pWyca0Asp7UakEtT1sQ0l6oCXOPapdy+u8olIO31Ux6vAPCWVMfKNJaVArdSydI8ruvKHSAVh6cK2nDMy2q0TLuZKLCFkKUNW27OpPUZGs0VIFadZ4P8XJ4EMn1JWQGR97qD8vmUW52xudwAUnF4voCfyIswph/ZKUDIBQ1brsmuB8+2nAtAqg4/THBlHgQxfciHAgJZPmbLqqx7kzkgVq11BUQuzloI034OFSCvdIdKS7PsWaaAWA5vAehXETGHUWCm2+QNri2nZCVPZoBYjre5U6Izq9xNu92jwLhrK7+ka+pHJoBYjsfUMzUNdr0Crq1Sn6+pN2g5fALgS7t+tEwCGSggv3JtOSDNhlMFxHI8/3vlapoJmrYKp8CYa6v+tLJKDRDL4a0A35xWYqadIisg33RtSWUZUiqAVJzWdQJ5X5GHzOSWrgIEP9uwS36ts0SPxAGxanQgHEw0CxO8NxWg1N0hsZNMPlFAKk7rfIGY5SNJjmCPxyZ4QcMuJbYsJTFAOqtyb+rx8TPpp6AAIacltQo4EUA633N8yyxZT2F2mCZ8BbZQyYlJfE+SCCCW420wHzuZmZuyAre6top92VLsgJjPZFOeFqa5XRSI//PdWAHpFFjo+nKTZs51rwIi3llxFoKIDZB2aR5Vvt1UH+neyVWQnj+lvOZJcZUUigWQdlG3Em83dasKMsW6PQ3inq0tOSmO4nSxAGI5rWtNxcNun1VF6z/Xunbpg1GzigxIu1Yu+K9RO2L8jQJxKyCQM6PWAo4EiF9lfU6J95lC0nEPrYkXiwJEY6IlR0epKh8JkGqdoySHYknGBDEKJKCAiNTGBmU4bOjQgPib16DF+8w+gGGlN34pKTCBkhwddhOf0IBUHO9rZmenlIbYNBNJAX+nq4at3hYmSChA2nsCgrmpfhcmcePTawrI2WH2TAwMiL+bbF8f7jUbZvbaBOvyfEU2TU7imKC77wYGpFrnKrPVcpdPlh7tfnsLuEH5cJD0AwGyqM5+ReZ+V6AgAhjb3lLAExl4aFD84iFaRyBALIfXAkx3j0DyI1qZZGBEYIGI+AXN/P9emEEXgjb5CICfkXxEgKeDOmvZK0V43rPzyv+zf/h/t+PfdrXZ/e9E/G32jtVqK5SRrHVt0X7Drg3IojoXds4eqW67nEWxsKC6V1c88+de64WnichpAE4I6p+oPTEGJTcqDzc9OCQ/TbStGIJbjvftZAHBROcsslGnu9qAWLXWVRC5UCdonDbdAMiu+bbfD3m4DORb49QhRCwX9D7iDpW/HsI3M5cUAAHIq92h0kU6SWoB0vmE1r/3mKsTNE6bbgNkR+6W07oIkH8GsHeceujFkqvQxEfcEdmqZ58fq1QAAbZRyYDOJ7pagFi11hqIfCgLGbsVEF8rq04LxJcAHpqednKGa8v69NqLt6WUAPHPIh91h0qzbhA7KyDWSs5Dq/3kap94pdCL1s2A+Bm+ZgX3nfBwTxqQUMkpjcvErwfQtUdqgPgPKUoy4C6XLXsSa3ZAai0HIpkVfut2QHZectW870FwZFIztyRywI8H5VdJxU8rboqA+GeRujtU2mPhuT0CUl3NAzhJ/5nx/mkJtHs7RQGkfcmV1BOaF8mL3Yu7735jujmVmEbTT+AnpU/6x5bJEzPN7z0CYtV5IcirsoLDb7dIgBw7wvLWMv8tzseYLEl/Y7mMZTlGcbadMiCAyEXuoFwdCpCK490pwPFxChA0VpEAaZ9FanwlpA3JXwXVYnd7Kjm9cZkUqnpl2oAQuKthqzcGBqQ6ygoV3aiDGNW/aIB0IDkPwk9H0ybYG+FobaXnnTYgfmbiiTU2LI3pspzxEsuqcxCkk54007dUREDakNS5HmSobxQAPCp98ro9XTtnPW5h288CEIjY7qDUAwFSdXg/wSPCJhqXX1EBqTo8nOAPw+gk4PvH7NK/hPHNu08WgAjkgTFbpn3COO0ZxBqdPAqq5H9Om/lRVEA6Z5EvgzwzoMjjL3ihWPcvlT8E9OsK8ywAaQvjtY52h/u+u7tI0wJScVorBcHWzSelfpEBqdR5opB+NUr9Q2i7g6VpLwf0g+TXMitACK5q2KXlWoBYjvcTAAvzIGORAfH1rTjeLwR4ma7W9KS/MVycx7q7550VIAA2urY6bFZAKjWeIEJ/b49cHEUHxHJ4B8A3aYr9e9dWL9K07UqzDAEBKSc2huSOXYV7ziWWVWtdAZGL86Ju0QGp1PkxIS/R0ZuCHzcG1eE6tt1qkyUgIK90h0pLZwHEewCC1+ZF4KIDUnU4TGh/Nfkd11ZvyMvYJNGPbAHB990hNeXJ7ZQziDXCeSjzsSQSDxuz8IDUOURyVFMfA4imUKHNmnKgO/LsCt+pgIw2z4RSXw4dPAHHogNScVq2QGqa0hlANIUKbeZ573SHyzuLsU8FpM5rQGp/0B66EwEciw6I5fAygLqPbQ0gAeZOKFORa91BOX+H71RAHG8zgPmhAifkVHhAaq3lEFmhKZ8BRFOoCGbjrq38KjXtYycglRHOlzJ9QHJ1FB2QSp3LhFylKboBRFOoKGZsyoLGiIxPAcSq81yQn4kSOAnfogNiOa1LAVmtqZ0BRFOoSGYi57mDsm4qILXWVyFyRqTACTgXHxD+E8CPakpnANEUKpIZeYM7VHr7VEAcz6+09+JIgRNwLjog1TovIfkxTekMIJpCRTT7rWurdpGS9j3IQocvK4O/iBg0EfeiA1JxWksFcrmmeAYQTaGimjUhL99oy+NtQKp1Hk/yzqhBk/AvOiCWw4sAXqmpnQFEU6ioZiLyxrFBuWs7IDW+n8K1UYMm4V94QGqtCyGiWxjDAJLEJJsmplA+MDYkn2wDYjn+/8H8/5Pl7yg6INU6LyD5cU3lDSCaQkU3k6tcWy7uAOJ9E8DJ0YPGH6HogFSc1vkC+YSmcgYQTaFiMLvNtdWbdwDi7xtxUAxBYw9RdEAsx99vxd93ReswgGjJFIvRo66tDpYlN7D0s3E2YwmZQJCiAxLw/s8AksAcmynkK+dLWfpr/GtPuCnFdgM1VXRAKk7rHwXySU1RDCCaQsVhpiiHiFVrvhWibo4jYBIxCg9Inf8g5Kc0tTOAaAoVixm9UyXgWqBY2g0SpOiAWLXmeRClW2XRABJk8kS25TIfkNWAzLqRSOS2QgYoOiDVGs+hsL0wTuMwgGiIFJ8J10gmO9cGyKDogFTqzfcJ1XWakhhANIWKx0zWSsVpXS+Qd8cTMP4oRQfEqvNskJ/TVO7brq2O07TtSrNMizbsphjBL4rleH75/FPzqmbhAXF4FsDP6+kvd7q26NbQ0guZM6s8AfL/df1u9gHx96qYcX+ErPUrOiBVh+8meL2OzgL51pgtJ+nYdqtNzgC5UyqOd78AmVdxn2lAiw5Ipc53CflFzQndXv6gaduVZnkChMAD/k36TwDmog7vdCNadEAsp/lOQH1JazYTG9whdYqWbZca5QkQQDb6l1j+NriRtwNLajyKDkjV4TsI7qzDNIuO33Bt9daktM5D3HwBgp/7gDwFYN88iNOLZ5DqaPPvqdRXdPQX4qaxIXW6jm232uQMkN/4gPwJwJy8Clr0M0ilzjOE/Kqm/utdW+WusIZm37XMcgbIhAFEa9iSM7IcLgF4g2YLBhBNoWIyawNiLrFiUjNMmKrD0wl+TdPXAKIpVExm7Ussc5Mek5phwlRqPE2EN2r6GkA0hYrJzL9JN495YxIzVJiK0zxVoPzVDDqHAURHpdhsZKN5URibmOECWQ7/DuDXNb0NIJpCxWHWeVFolprEIWbYGNVa828p6hua/gYQTaFiMrvTLFaMScmwYSo1LhbhLZr+BhBNoWIyu9ksd49JybBhrDrfAnKDpr8BRFOoOMw6y939kjN+6Zl8HkV/UVit82SSfl0yncMAoqNSbDay1nxyG5uY4QL113iSJ7xN09sAoilUPGbtT24DbeAST7sBohT9DFKpT54oLN2uKYkBRFOoeMz8og2m7E88WoaMYtX5JpB3aLobQDSFisXML/tjCsfFImXoINXa5BspJf+rTp3DAKKjUkw27cJxpvRoTGqGDLOoxuOU8C5NdwOIplBxmLVLj/qBLMczxavjUDREjEqdbxDybk1XA4imUDGYbS9e3QHEbH8Qg6JhQlRX8PX0+B1NXwOIplAxmO26/YHZQCcGQUOFqDp8HcF7NJ0NIJpCRTfbZQOdgCX4o7cdIELRH/MuGp08RqnSv2tKYgDRFCqq2ZQt2MwmnlHlDO9vreBR8HifZgQDiKZQUc2mbOJptoGOKmd4f8uZ/Bug9F3NCAYQTaGimk3ZBrpzo/40gBdHDRy3f9EvsfodHuGB92vqZgDRFCqi2W9dW+3jx2g/xWoDUmt9FSK5q5hRdEAWjfK1SvEBzQE1gGgKFcmMvMEdKr19KiB1ngvyM5ECJ+BcdECslXw1WvyBpnQGEE2hIpmJnOcOSnvPlp1nkMoI50uZmyMFTsC56IBUHR5O8Iea0hlANIWKYsamLGiMyPgUQDr3IT4g86MEj9u36ID0j04MeKr8I03dDCCaQkUwG3dttWCH/84zSBuQOq8B+cEIwWN3LToglVFWRfFBTeEMIJpChTYTudYdlPOnB2S0eSaU+nLo4Ak4Fh0Qqz5hgeUxTekMIJpChTbzvHe6w+WdxcSnnkFGOA9lPhY6eAKORQekv85FHtnQlM4AoilUaLOmHOiOiF9MsX1MAaR9mVXzHoDgtaEbiNmx6IAcNsrDSooPacpmANEUKpQZ8X13SE3ZTGoaQFpXQOTiUA0k4FR0QCqjPFQUN2pKZwDRFCqUGXmlO1RauqvvcwCp1HiCCL8VqoEEnIoOSHUFD6HHhzWlM4BoChXGjJQTG0My5fPn5wDSvsxyvJ8AyMW2bEUHZGAFX9Xy+FPNATWAaAoVwmyja6vDdvebFpCK01opkA+HaCR2l6IDsqjGBUr4H5rCGUA0hQpqRnBVwy4t1wLEGp08CqqkuwQ7aF8C2RcdkMrIH+dLeY7uCgYDSKDZE8DYax3tDvc9Z1X1tGcQP2zV4f0EM98euuiA9K/kwV6LP9McSgOIplBBzATywJgtR07nMyMgVp2DIJ0gDSVhW3RABmo8qCX0i2boHAYQHZWC2ojY7qDUAwFSHWWFim7QtuK2Lzogi2o8UAn/U1M3A4imUEHMxBNrbFimfVk74xnEb6DieHcKcHyQxuK2LTog1krOQ0t79YIBJOYJRuCuhq3eOFPYPQJi1XkhyKti7lOgcEUHZGAVX95q8ueaohhANIXSNhO5yB2Uq0MBUl3NAzjZXmm6v3aDMRsWHZCA9QAMIPHOryelT/rHlskToQDxnaxay4HIYLz90o9WdEAWjfz+L1X5+Y9rKmIA0RRKy4ysu0Mle0+2e7zEagOy/Rr5xwDaH7GnfRQdkM5Z+peauhpANIXSMHsaJRlwlz+7cnc6n1kB6ZxF1kDkQxqNxm5SdEAG6nxpi5zxFL+boAaQuGYY+VF3qHTpbOG0AKms4Hzx2meRubMFjPvfiw7Iwjr3L5P/pambAURTqFnMtlHJQOOy7d+dR7rE2uFs1VpXQeTC2QLG/e9FB2TRCF+iynxSUzcDiKZQezQjr3aHShfphNI6g/iBFtW5ULF9FpmjEzgum6IDMvAx7tf6I3+tqZcBRFOoPZhNeCIDDw2K1jc42oC070Wc9HfELTogr1nBfSc8PqU57gYQTaFmNpO1ri3ahUkCAbKozv7OWSRyN3UDFB2QQ0f+Z5++8l6/0dTDAKIp1ExmnbOHbhWZ536TPlv71TpXkVw2m11s/05+JLZYcQQSbAW5Baq0BZPY4o7I1ihhrRHujTJ/qxkjMiBLlrD0aD8O9DwcSM97hQAv1Ww7HTOR1wM4NonGRGT12GCw75wCnUH8Th86wn36+nAvyEOSSKILY/qAbAH4sIj6fqs1+YOHhud8XzePgVX8s1aTupAFAsR/+qg8DHiCASEHQLwCgpfr9q1QdiKbJidxzMMj4hdp1z4CA9K5FzkL4Oe1W+k5Q/E/gLpFgFvGbNnj5jgLVnOvF0zyd5oSzQpIe+kKcRoEpwF8nWbcHjCTs11bvhA00VCA+I1UHO9rApwetMEetP8BRK52B2VnMbJdNThkhHPnlPmMpi4zAuIXf/A87wKBvCuL91Wa/c/EjMCNDVu9LUzjoQHpVCX3P8tN9bFvmCTz4CPETZTW5a7d971d+zMwwhe2yvxfzT4+B5CKw78AcL6AfrnM1F/kavY7S7MJlORod7noFgif0tfQgPhRqnWOkhzKMvtua5v03tcYKn9uR7+PvIIv+MPv+XvNPKYAUl3BI0F8luSrNP17zkxEamODMhw28UiAtC8PSrwPgkrYDvSi364VNA7+OJ8393f8o6YOOwHpX8HTPI83avr1phnRmGjJ0ZtGZFtYASIB0j6LOHwHwWmvr8N2qkf8bnVttXjgU+xr/ZoTmjm3AbFqzfMg6tOaPj1rJpAzx2z5ShQBIgPiN245rWsB+UCUjvSkr8hIaT+sCAKIeFKnol+e5kU9qZl20lzr2iXtN+YzhY0FkHkjfP7eJd4Ogf+SxxwBFNi7KX1by5zUdFkP8JeAaC2004xZPDPinq0tOWnLiOheus6oQSyA+NE7OyXdDmC/4imeXEZuU0pWmS3NFtaDOBiCqqZ9L5o9pbzmSQ8Oz/EX1kY+YgOkfT9Sb76HVIFfxkTOoosD+GvNLMejZgrrASzRtO1JMxHvrLHB8vVxJR8rIJ37kdWAzPqlVlwJ9FgcA8geB5xrXLsU6zrB2AHZDom3AcBbemzyppGuAWRmldtPBeMehEQA6Xyi6+8xMi/uDvd0POK/IXhJT2swffJbqOREnU9og2qXCCB+JyoOTxXwpqAdMvZGgaAKEHJaw5abg/rp2CcGyHZIWucL5BM6HTE2RoEwChC8oGGXrgnjq+OTKCDt+5EaHQgzKzynI4Kx6VIFKHV3SPZY+C1qZokD0jmTXCeQ90XtrPE3CuxQgOBnG3bpnKQVSQWQ9pnE4a0A35x0QiZ+Lygg33RtSeUpaWqAbIfE8z+WN2+Be2EOJ5fjmGur/uTCT42cKiCdM8kTAPNVKCAttU07ERWQX7m2HBAxSCD31AHpnEl0l1YESsYYF1uBLEpAZQJIBxK/sMH8Yg+pyS4mBcZdWy2IKVagMJkB0rncugVg7MsDAilgjHOugGxwbTklq05mCkgbklrrCohcnJUApt0cK0Be6Q6VlmbZw8wB8ZOvOvwwwZVZCmHazpcCAlk+ZsuqrHuVC0B8ESoO/dI1ZllK1jMiB+0TckHDlsSWjwRJMTeAtC+36jwb5M6SOEESMbYFUUDkve6g5KZqZ64A6ZxJ/FXAV5il8gWZ8PppbCFkaVKrcvW7MdUyd4C0Idm+5ZsPSSrLCcKKZ/xiU+BWKlmaxPccUXuYS0B2JGU5LfP5btQRzr1//J/JxplyrgFpP+HaXgjiclMtJc5hz0Wsp0S8S+IssJBEVrkHxE+6XVJIypebultJTIEMYhL3KDYvias0T5IZdAUgvgDt4nRl73JTwTHJ6ZBGbK7d2lSXxFHULY3edg0gO8Ro1wL2t4AzBbPTmB/xtUE02lugRayVG1+H9CJ1HSB+Wn5V+ef14dLOXolmfxK9sc7KasIH40+TWBOlynpWne9KQHY+5VrJV7PFZWanq6ymz57b9Xd2kpKsDrt5TR6y6mpAnn0czLMguNRsLJqHKQVAZBOINWH2BMxJBju7UQhA/Gz83XfnPHvZlTede6Y//uXUxCTWBN1NNq8CFQaQHQIvqrNfEecAPNfsn5jatJsAZJ0nuO6hQfHrDhTmKBwgu4CyUHneuRDxS8OYzS2TmbLbQF7nKbXuoUHZmEwT2UYtLCA7ZG2v62rtBGWfbOUuTOtP+2CwpNblcf1UnCoXHpBdnnjNQ7MNin/ptX+cIvZQrCdBrkNZrXOXy5ZeyLtnANkxmNXVPIBNLCF5igDH98IgR82RwF0icouUsX5smTwRNV43+fccILsOTnWUFZawWIjFBI/opoFLuq8CeYCCDdLChrFhaSTdXl7j9zQguw6KNTp5FJVaLBC/ysrCvA5Ywv3aSHCDeN4Gd7jP30m35w8DyDRToFLjCSLeyYA6GuDhxZ4l8iPAu49UtzWG5I5i5xo8OwPILJr1r+TBnodj4XnHQOQYAAcGlzlXHo+BvBdK3asUvvPgcnkkV73LWWcMIAEHpLqCh3ied5wS9QaSxwHYO2CItM23isjdHr1vK6XuHrtMNqXdgW5uzwAScfQWOnxZn2A+PMyn/xP0S2T6JVUPihg6qPujAMYB2SzEOBTGJ4nxjbY8HjSQsX9WAQNIQrNhyQ0sPboZ8z20FkDEB2ZfQM0lvL0E4r/Z34vA3O2/c6/O237/p388A2AbIM8Q3Cbt39H5XT0DeP6ffwNyXKG0+aAFGF9/hrQSSqWnw/4f5GnaW9nfPLQAAAAASUVORK5CYII=",kt=Object.defineProperty,ee=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,rt=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,ae=(In,jt,rr)=>jt in In?kt(In,jt,{enumerable:!0,configurable:!0,writable:!0,value:rr}):In[jt]=rr,$e=(In,jt)=>{for(var rr in jt||(jt={}))rt.call(jt,rr)&&ae(In,rr,jt[rr]);if(I)for(var rr of I(jt))de.call(jt,rr)&&ae(In,rr,jt[rr]);return In},Ge=(In,jt)=>ee(In,Ne(jt));const Sn={\u5B9E\u8BAD:ge,\u8BD5\u5377:Pe,\u8BFE\u4EF6:Tt,\u89C6\u9891:yt,\u4E3B\u80FD\u529B:nn,\u5B50\u80FD\u529B:We,\u77E5\u8BC6\u70B9:le,\u8D44\u6E90:Ke,\u603B\u6570:fe,\u6559\u6750:Me};var et=({type:In,ImgProps:jt})=>T.createElement("img",Ge($e({src:(Sn==null?void 0:Sn[In])||(Sn==null?void 0:Sn.\u8BFE\u4EF6)},jt),{width:"16rem",style:$e({width:"16rem"},(jt==null?void 0:jt.style)||{})})),Pt=f(83274),Xt=f(51190),Lt=Object.defineProperty,_t=Object.defineProperties,Vt=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Xe=(In,jt,rr)=>jt in In?Lt(In,jt,{enumerable:!0,configurable:!0,writable:!0,value:rr}):In[jt]=rr,yn=(In,jt)=>{for(var rr in jt||(jt={}))xe.call(jt,rr)&&Xe(In,rr,jt[rr]);if(Ee)for(var rr of Ee(jt))Ae.call(jt,rr)&&Xe(In,rr,jt[rr]);return In},fn=(In,jt)=>_t(In,Vt(jt)),Hn=(In,jt,rr)=>new Promise((cr,Ue)=>{var be=Rt=>{try{Ut(rr.next(Rt))}catch(he){Ue(he)}},ve=Rt=>{try{Ut(rr.throw(Rt))}catch(he){Ue(he)}},Ut=Rt=>Rt.done?cr(Rt.value):Promise.resolve(Rt.value).then(be,ve);Ut((rr=rr.apply(In,jt)).next())});const Zn=({children:In,cout:jt=1})=>{const rr=(0,T.useRef)(null),[cr,Ue]=(0,T.useState)(0),[be,ve]=(0,T.useState)(!1);return(0,T.useEffect)(()=>{rr.current&&setTimeout(()=>{const Ut=(0,l.ZR)(rr.current,"rem",1);Ue(Ut)},500)},[rr.current]),T.createElement("div",{className:"relative flex item-end "},T.createElement("div",{style:{height:be?"auto":`${jt*23.25}rem`,overflow:"hidden"}},T.createElement("div",{ref:rr,style:{fontSize:"14rem"}},In)),cr>=jt*23.25&&T.createElement("div",{className:"current c-blue",style:{whiteSpace:"nowrap"},onClick:()=>{ve(!be)}},be?"\u6536\u8D77":"\u5C55\u793A"))},Gn=({DataProps:In,pathsDetail:jt,getUrl:rr})=>{var cr,Ue,be,ve;const{detail:Ut}=jt,[Rt,he]=(0,T.useState)(!1);return T.createElement("div",{id:`${In==null?void 0:In.id}`,className:"bg-white",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},T.createElement("div",{style:{color:"#3061D0"}},T.createElement(et,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),T.createElement("div",{className:"c-grey-333 flex item-center",style:{fontSize:"14rem",margin:"20rem 0 10rem 0",gap:"10rem"}},T.createElement(R.Z,{title:In==null?void 0:In.name},T.createElement("div",{className:"multi_ellipsis1 minW-0"},In==null?void 0:In.name)),T.createElement("div",{className:"flex item-center",style:{gap:"5rem"}},(cr=In==null?void 0:In.ability_tags)==null?void 0:cr.map(Oe=>T.createElement(U.Z,{color:"orange",style:{fontSize:"12rem"}},Oe)))),(In==null?void 0:In.description)&&T.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},T.createElement(Zn,null,In==null?void 0:In.description)),T.createElement("div",{className:"flex item-center justify-center w-full",style:{margin:"20rem 0",padding:"12rem",background:"linear-gradient( 180deg, #ECF3FF 0%, rgba(255,255,255,0) 100%)"}},"\u8986\u76D6 ",T.createElement(et,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{margin:"0 5rem"}}})," ",In==null?void 0:In.knowledge_count,"\u4E2A\u77E5\u8BC6\u70B9",T.createElement("span",{style:{marginLeft:"40rem"}},T.createElement(et,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),In==null?void 0:In.resource_count,"\u4E2A\u8D44\u6E90\u6570")),T.createElement("div",{style:{marginBottom:"10rem"}},T.createElement(et,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u77E5\u8BC6\u70B9",In==null?void 0:In.knowledge_count,"\u4E2A"),T.createElement("div",{style:{height:"320rem",background:"#F6F7F9"}},T.createElement(Un,{loading:!1,nodes:In==null?void 0:In.nodes,relationships:In==null?void 0:In.relationships})),T.createElement("div",{style:{margin:"30rem 0 10rem"}},T.createElement(et,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u8D44\u6E90\u6570",In==null?void 0:In.resource_count,"\u4E2A"),T.createElement("div",{className:"flex-wrap",style:{gap:"10rem",display:"grid",gridTemplateColumns:"1fr 1fr"}},(ve=((Ue=In==null?void 0:In.resource_knowledge_graphs)==null?void 0:Ue.length)>4&&!Rt?(be=In==null?void 0:In.resource_knowledge_graphs)==null?void 0:be.slice(0,4):In==null?void 0:In.resource_knowledge_graphs)==null?void 0:ve.map(Oe=>T.createElement("div",{key:Oe==null?void 0:Oe.id,className:"flex relative current",style:{gap:"10rem",padding:"25rem",background:"#f6f6f6",borderRadius:"10rem"},onClick:()=>Hn(void 0,null,function*(){yield rr==null?void 0:rr(Oe)})},!(Ut!=null&&Ut.can_managed)&&T.createElement("div",{className:"absolute c-white",style:{top:0,right:0,padding:"2rem 10rem",borderRadius:"0 10rem 0 10rem",color:(Oe==null?void 0:Oe.complete_rate)!=100&&"#7C3100",background:(Oe==null?void 0:Oe.complete_rate)!=100?"#FFC86B":"#37AD83"}},(Oe==null?void 0:Oe.complete_rate)==100?"\u5DF2\u5B8C\u6210":"\u672A\u5B8C\u6210"),T.createElement(P.Z,{type:"circle",percent:Oe==null?void 0:Oe.complete_rate,size:60,status:"success",format:Be=>`${Be}%`,strokeWidth:10}),T.createElement(et,{type:Oe==null?void 0:Oe.node_type,ImgProps:{style:{width:"16rem",height:"16rem",marginTop:"3rem"}}}),T.createElement("div",{className:"flex-1 minW-0"},T.createElement(R.Z,{title:Oe==null?void 0:Oe.name,placement:"topLeft"},T.createElement("div",{className:"multi_ellipsis1 c-grey-333 blod",style:{fontSize:"16rem"}},Oe==null?void 0:Oe.name)),T.createElement("div",{className:"c-grey-333",style:{marginTop:"10rem",fontSize:"14rem"}},"\u77E5\u8BC6\u70B9\uFF1A",(Oe==null?void 0:Oe.knowledge_text)||"--"),(Ut==null?void 0:Ut.can_managed)&&T.createElement("div",{className:"flex flex-wrap item-center v-grey-666",style:{marginTop:"20rem",fontSize:"12rem",gap:"10rem"}},T.createElement("div",null,"\u5B66\u4E60\u4EBA\u6570\uFF1A",Oe==null?void 0:Oe.study_count,"\u4EBA"),T.createElement("div",null,"\u638C\u63E1\u4EBA\u6570\uFF1A",Oe==null?void 0:Oe.complete_count,"\u4EBA"),T.createElement("div",null,"\u638C\u63E1\u7387\uFF1A",Oe==null?void 0:Oe.complete_rate,"%")))))),(In==null?void 0:In.resource_knowledge_graphs.length)>4&&T.createElement("div",{className:"flex item-center justify-center",style:{padding:"0 220rem"},onClick:()=>{he(!Rt)}},T.createElement(m.Z,{style:{borderColor:"#3061D0",marginBottom:"0rem",cursor:"pointer"},dashed:!0},T.createElement("span",{style:{color:"#3061D0"}},Rt?"\u70B9\u51FB\u6536\u8D77":"\u70B9\u51FB\u5C55\u5F00\u66F4\u591A"))))},Mr=({pathsDetail:In,dispatch:jt,user:rr})=>{var cr,Ue,be,ve,Ut,Rt,he,Oe,Be,gn,mn,$n,Yn,ot,x,M,y,D,z,Nt,Qt,qt,ne,un,pt,mt,ct,Ct,zt,De,Yt,Le,sn;const{detail:Mn}=In,Nn=(0,Z.useParams)(),[ir]=(0,Z.useSearchParams)(),[Kn,qn]=(0,T.useState)({}),[gr,He]=(0,T.useState)({id:null,open:!1,resourceUrl:""}),[,Tn,or,En]=(0,W.U)(vt.Ju,{subject_id:Nn.pathId,id:Nn==null?void 0:Nn.abilityId}),[kr,_r]=(0,T.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),Cr=new URLSearchParams(window.location.search),br=()=>Hn(void 0,null,function*(){const Pn=yield or({subject_id:Nn==null?void 0:Nn.pathId,id:Nn==null?void 0:Nn.abilityId})}),ni=Pn=>jt({type:"userDetail/logWatchHistory",payload:yn({},Pn)});function Br(Pn){return Hn(this,null,function*(){var An,ie,ue;let $t=yield(0,qe.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Pn==null?void 0:Pn.resourceUrl}});if(localStorage.setItem("container_type_tupu",$t==null?void 0:$t.container_type),($t==null?void 0:$t.status)===0){if((Pn==null?void 0:Pn.node_type)=="\u8BD5\u5377"){const Ve=yield(0,Xt.Mb)({categoryId:$t==null?void 0:$t.examination_bank_id});Ve!=null&&Ve.exercise_id&&(0,l.xg)(`/classrooms/coursesId/exercise/${Ve.exercise_id}/${(An=rr.userInfo)==null?void 0:An.login}/initate_answer`);return}($t==null?void 0:$t.container_type)==="video"?He({id:$t==null?void 0:$t.id,open:!0,resourceUrl:Pn==null?void 0:Pn.resourceUrl}):($t==null?void 0:$t.container_type)==="att"?qn({url:Re.Z.API_SERVER+((ie=$t==null?void 0:$t.attachment)==null?void 0:ie.url),file_type:(ue=$t==null?void 0:$t.attachment)==null?void 0:ue.file_type}):window.open(Pn==null?void 0:Pn.resourceUrl)}})}const Wr=Pn=>Hn(void 0,null,function*(){(Pn==null?void 0:Pn.resourceOrigin)===3?(0,l.xg)(Pn==null?void 0:Pn.resourceUrl):Br(Pn),!(Mn!=null&&Mn.can_managed)&&(yield(0,qe.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:Nn==null?void 0:Nn.pathId,uuid:(Pn==null?void 0:Pn.last_knowledge_uuid)||(Pn==null?void 0:Pn.knowledge_uuid)}}))});return(0,T.useEffect)(()=>{var Pn,An;if((En==null?void 0:En.status)==0&&(Mn!=null&&Mn.can_managed)){const ie=(An=Object==null?void 0:Object.entries(((Pn=En==null?void 0:En.data)==null?void 0:Pn.study_grasp_hash)||{}))==null?void 0:An.map(([ue,$t],Ve)=>({name:ue,value:$t,itemStyle:kr[Ve].itemStyle}));_r(ie)}},[Mn==null?void 0:Mn.can_managed,En]),(0,T.useEffect)(()=>{br()},[Nn==null?void 0:Nn.abilityId]),(0,T.useEffect)(()=>{jt({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:ir.get("type")=="classrooms"?"course":"subject",graphable_id:Nn==null?void 0:Nn.pathId}}),Cr.set("tabs","5")},[]),(0,T.useEffect)(()=>(jt({type:"globalSetting/footerToggle",payload:!1}),()=>{jt({type:"globalSetting/footerToggle",payload:!0})}),[]),T.createElement(S.Z,{spinning:Tn},T.createElement("div",{className:"ml-auto mr-auto",style:{width:"1200rem",paddingTop:"15rem"}},T.createElement(E.Z,{style:{fontSize:"14rem",marginBottom:"20rem"},items:[{title:T.createElement("a",{className:"flex item-center",style:{fontSize:"14rem"},onClick:()=>{Z.history.push(`/knowledgegraph/${Nn.pathId}?${Cr}`)}},T.createElement(R.Z,{title:"\u8FD4\u56DE"},T.createElement("i",{className:"iconfont icon-fanhui1",style:{fontSize:"14rem",marginRight:"20rem"}})),"\u80FD\u529B\u56FE\u8C31")},{title:"\u80FD\u529B\u8BE6\u60C5"}]}),T.createElement("div",{className:"w-full flex"},T.createElement("div",{className:"sticky flex flex-col",style:{width:"250rem",borderRadius:"4rem 0 0 4rem",maxHeight:"100vh",overflowY:"auto",overflowX:"hidden",top:0,background:"#F6F7F9"}},T.createElement(Jt,{abilityGoalItem:(cr=En==null?void 0:En.data)==null?void 0:cr.ability_goals}),T.createElement("div",{style:{padding:"10rem 20rem 20rem"}},T.createElement("div",{className:"c-grey-333",style:{fontSize:"16rem"}},"\u76EE\u5F55\u5BFC\u822A"),T.createElement(F.default,{className:"w-full",value:Number(Nn==null?void 0:Nn.abilityId),style:{marginTop:"10rem"},onChange:Pn=>{Z.history.push(`/knowledgegraph/${Nn.pathId}/abilityMap/detail/${Pn}?${Cr}`)},options:((be=(Ue=En==null?void 0:En.data)==null?void 0:Ue.ability_goals)==null?void 0:be.map(Pn=>({label:Pn==null?void 0:Pn.name,value:Pn==null?void 0:Pn.id})))||[],size:"large"})),T.createElement(Q.default,{className:rn.AnchorDomStyle,items:(Ut=(ve=En==null?void 0:En.data)==null?void 0:ve.children_ability_goals)==null?void 0:Ut.map(Pn=>{var An;return{key:Pn==null?void 0:Pn.id,href:`#${Pn==null?void 0:Pn.id}`,title:T.createElement("div",{className:`current relative ${rn.AnchorDom}`},T.createElement("div",{className:"flex item-center",style:{gap:"10rem"}},T.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 c-grey-333",style:{fontSize:"14rem"}},Pn==null?void 0:Pn.name),T.createElement("span",{style:{color:"#464F66",fontSize:"12rem"}},Mn!=null&&Mn.can_managed?T.createElement(T.Fragment,null,T.createElement("span",{className:"iconfont icon-a-60-kejian",style:{marginRight:"5rem",fontSize:"12rem"}}),Pn==null?void 0:Pn.knowledge_count):T.createElement("span",{style:{color:"#00C088"}},T.createElement("span",{className:"iconfont icon-xuesheng2",style:{marginRight:"5rem",fontSize:"12rem"}}),(Pn==null?void 0:Pn.grasp_rate)||0,"%"))),T.createElement("div",{className:"flex flex-wrap",style:{gap:"5rem",marginTop:"10rem"}},(An=Pn==null?void 0:Pn.ability_tags)==null?void 0:An.map(ie=>T.createElement(U.Z,{color:"orange",style:{fontSize:"12rem"},key:ie},ie))),T.createElement("div",{className:"multi_ellipsis2",style:{marginTop:"20rem",color:"#464F66",fontSize:"12rem"}},Pn==null?void 0:Pn.description))}})})),T.createElement("div",{className:"flex-1 minW-0 flex flex-col",style:{gap:"20rem"}},T.createElement("div",{className:"bg-white relative",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},((he=(Rt=En==null?void 0:En.data)==null?void 0:Rt.next_ability_goal)==null?void 0:he.id)&&T.createElement("div",{className:"absolute current",style:{right:0,top:0},onClick:()=>{var Pn,An;Z.history.push(`/knowledgegraph/${Nn.pathId}/abilityMap/detail/${(An=(Pn=En==null?void 0:En.data)==null?void 0:Pn.next_ability_goal)==null?void 0:An.id}?${Cr}`)}},T.createElement("div",{className:rn.NextAbility},T.createElement("div",{className:"multi_ellipsis1"},(Be=(Oe=En==null?void 0:En.data)==null?void 0:Oe.next_ability_goal)==null?void 0:Be.name),T.createElement("div",null,T.createElement("span",{className:"iconfont icon-you2",style:{fontSize:"14rem"}})))),T.createElement("div",{style:{color:"#3061D0"}},T.createElement(et,{type:"\u4E3B\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u4E3B\u80FD\u529B"),T.createElement("div",{className:"c-grey-333 blod",style:{fontSize:"14rem",margin:"20rem 0 10rem 0"}},(gn=En==null?void 0:En.data)==null?void 0:gn.name),((mn=En==null?void 0:En.data)==null?void 0:mn.description)&&T.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},T.createElement(Zn,null,($n=En==null?void 0:En.data)==null?void 0:$n.description)),(Mn==null?void 0:Mn.can_managed)&&T.createElement(T.Fragment,null,T.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u5E73\u5747\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(Yn=En==null?void 0:En.data)==null?void 0:Yn.children_ability_goal_grasp_rate,unit:"%",img:f(46016),bg:"#E3F1FF"},{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(ot=En==null?void 0:En.data)==null?void 0:ot.total_knowledge_count,unit:"\u4E2A",img:f(99755),bg:"#F1FDEF",ProgressTitle:"\u5360\u603B\u77E5\u8BC6\u70B9",percent:(x=En==null?void 0:En.data)==null?void 0:x.knowledge_rate,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(M=En==null?void 0:En.data)==null?void 0:M.total_resource_count,unit:"\u4E2A",img:f(92691),bg:"#FFF9F4",ProgressTitle:"\u5360\u603B\u8D44\u6E90\u6570",percent:(y=En==null?void 0:En.data)==null?void 0:y.resource_rate,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Pn,An)=>T.createElement("div",{key:An,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Pn==null?void 0:Pn.bg,padding:"20rem 30rem"}},T.createElement("img",{src:Pn==null?void 0:Pn.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),T.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Pn==null?void 0:Pn.title),T.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Pn==null?void 0:Pn.value,T.createElement("span",{style:{fontSize:"14rem"}},Pn==null?void 0:Pn.unit)),(Pn==null?void 0:Pn.ProgressTitle)&&T.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},T.createElement("div",null,Pn==null?void 0:Pn.ProgressTitle,Pn==null?void 0:Pn.percent,"%"),T.createElement(P.Z,{percent:Pn==null?void 0:Pn.percent,showInfo:!1,trailColor:Pn==null?void 0:Pn.trailColor,strokeColor:Pn==null?void 0:Pn.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),T.createElement("div",{className:"c-grey-333",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),T.createElement("div",{className:"flex"},T.createElement("div",{className:"minW-0 flex flex-col",style:{gap:"13rem",width:"200rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(D=En==null?void 0:En.data)==null?void 0:D.study_count,unit:"",img:f(37426),bg:"rgba(68, 95, 232, 0.1)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(z=En==null?void 0:En.data)==null?void 0:z.complete_rate,unit:"%",img:f(19150),bg:"rgba(182, 129, 0, .1)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Nt=En==null?void 0:En.data)==null?void 0:Nt.grasp_rate,unit:"%",img:f(55303),bg:"rgba(6, 145, 127, .1)"}].map((Pn,An)=>T.createElement("div",{key:An,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Pn==null?void 0:Pn.bg}},T.createElement("div",{style:{fontSize:"14rem"}},Pn==null?void 0:Pn.title),T.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Pn==null?void 0:Pn.value,T.createElement("span",{style:{fontSize:"14rem"}},Pn==null?void 0:Pn.unit)),T.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Pn==null?void 0:Pn.img})))),T.createElement("div",{className:"flex-1 minW-0"},T.createElement(tt.Z,{dataSource:kr,legend:{top:null,icon:"roundRect",bottom:10,itemWidth:14,itemGap:50,left:"center",formatter:Pn=>Pn}})))),!(Mn!=null&&Mn.can_managed)&&T.createElement(T.Fragment,null,T.createElement("div",{className:"flex item-center",style:{gap:"20rem",marginTop:"20rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(Qt=En==null?void 0:En.data)==null?void 0:Qt.total_knowledge_count,unit:"\u4E2A",percent:(qt=En==null?void 0:En.data)==null?void 0:qt.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9",trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(ne=En==null?void 0:En.data)==null?void 0:ne.total_resource_count,unit:"\u4E2A",percent:(un=En==null?void 0:En.data)==null?void 0:un.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570",trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Pn,An)=>T.createElement("div",{key:An,className:"flex-1 minW-0 flex justify-between c-grey-333",style:{gap:"20rem",background:"#F6F7F9",borderRadius:"6rem",padding:"30rem 60rem"}},T.createElement("div",{className:"flex flex-col justify-between"},T.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Pn==null?void 0:Pn.title),T.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Pn==null?void 0:Pn.value,T.createElement("span",{style:{fontSize:"14rem"}},Pn==null?void 0:Pn.unit))),T.createElement("div",{className:"relative",style:{width:"133rem",height:"75rem"}},T.createElement(P.Z,{type:"dashboard",percent:Pn==null?void 0:Pn.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:0,top:0},trailColor:Pn==null?void 0:Pn.trailColor,strokeColor:Pn==null?void 0:Pn.strokeColor,strokeLinecap:"round",format:ie=>T.createElement("div",{className:"c-grey-333",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},ie,"%",T.createElement("br",null),T.createElement("br",null),Pn==null?void 0:Pn.percenttitle)}))))),T.createElement("div",{className:"c-grey-333 blod",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),T.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(pt=En==null?void 0:En.data)==null?void 0:pt.children_ability_goal_grasp_rate,unit:"%",img:f(46016),bg:"#E3F1FF"},{title:"\u5DF2\u638C\u63E1\u77E5\u8BC6\u70B9",value:((mt=En==null?void 0:En.data)==null?void 0:mt.knowledge_grasp_count)||0,unit:"\u4E2A",img:f(99755),bg:"#F1FDEF",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((ct=En==null?void 0:En.data)==null?void 0:ct.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u5DF2\u5B8C\u6210\u8D44\u6E90\u6570",value:((Ct=En==null?void 0:En.data)==null?void 0:Ct.resource_complete_count)||0,unit:"\u4E2A",img:f(92691),bg:"#FFF9F4",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((zt=En==null?void 0:En.data)==null?void 0:zt.resource_complete_rate)||0,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Pn,An)=>T.createElement("div",{key:An,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Pn==null?void 0:Pn.bg,padding:"20rem 30rem"}},T.createElement("img",{src:Pn==null?void 0:Pn.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),T.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Pn==null?void 0:Pn.title),T.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Pn==null?void 0:Pn.value,T.createElement("span",{style:{fontSize:"14rem"}},Pn==null?void 0:Pn.unit)),(Pn==null?void 0:Pn.ProgressTitle)&&T.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},T.createElement("div",null,Pn==null?void 0:Pn.ProgressTitle,Pn==null?void 0:Pn.percent,"%"),T.createElement(P.Z,{percent:Pn==null?void 0:Pn.percent,showInfo:!1,trailColor:Pn==null?void 0:Pn.trailColor,strokeColor:Pn==null?void 0:Pn.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),T.createElement("div",{className:"c-grey-333 blod",style:{margin:"30rem 0 10rem 0",fontSize:"14rem"}},"\u5F00\u59CB\u5B66\u4E60"),T.createElement("div",{className:"flex flex-col",style:{gap:"10rem"}},(Yt=(De=En==null?void 0:En.data)==null?void 0:De.children_ability_goals)==null?void 0:Yt.map(Pn=>T.createElement("div",{key:Pn==null?void 0:Pn.id,className:"flex item-center",style:{gap:"20rem",padding:"20rem",background:"#F6F7F9",borderRadius:"6rem"}},T.createElement("div",{className:"flex-1 minW-0 flex flex-col"},T.createElement("div",{className:"flex",style:{gap:"10rem"}},T.createElement("div",{style:{color:"#3061D0"}},T.createElement(et,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),T.createElement(R.Z,{title:Pn==null?void 0:Pn.name,placement:"topLeft"},T.createElement("div",{className:"multi_ellipsis1"},Pn==null?void 0:Pn.name))),T.createElement("div",{className:"flex item-center",style:{gap:"10rem",marginTop:"15rem",fontSize:"14rem"}},T.createElement(U.Z,{color:"orange",style:{fontSize:"12rem",lineHeight:"1.5"}},"\u8282\u70B9"),T.createElement("span",{className:"c-grey-333"},Pn==null?void 0:Pn.last_knowledge_name),Pn!=null&&Pn.is_complete?T.createElement("span",{className:"c-green"},"\uFF08\u5DF2\u638C\u63E1\uFF09"):T.createElement("span",{className:"c-grey-666"},"\uFF08\u672A\u638C\u63E1\uFF09"))),T.createElement(tn.op,{onClick:()=>Hn(void 0,null,function*(){yield Wr(Pn)})},(Pn==null?void 0:Pn.complete_rate)==0?"\u5F00\u59CB\u5B66\u4E60":"\u7EE7\u7EED\u5B66\u4E60")))))),(sn=(Le=En==null?void 0:En.data)==null?void 0:Le.children_ability_goals)==null?void 0:sn.map(Pn=>T.createElement(Gn,{key:Pn==null?void 0:Pn.id,DataProps:Pn,pathsDetail:In,getUrl:Wr}))))),T.createElement(O.default,{open:gr==null?void 0:gr.open,title:"\u89C6\u9891",width:800,centered:!0,onCancel:()=>{He(fn(yn({},gr),{open:!1}))},onOk:()=>{He(fn(yn({},gr),{open:!1}))}},T.createElement(Pt.Z,{allow_skip:!0,videoId:gr.id,toLog:!0,src:gr==null?void 0:gr.resourceUrl,logWatchHistory:Pn=>ni(fn(yn({},Pn),{container_type:localStorage.getItem("container_type_tupu")}))})),T.createElement(Je.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Kn==null?void 0:Kn.url,type:Kn==null?void 0:Kn.file_type,disabledDownload:!0,onClose:()=>qn({})}))};var ur=(0,Z.connect)(({pathsDetail:In,user:jt})=>({pathsDetail:In,user:jt}))(Mr)},78585:function(gt,dt,f){"use strict";var l,R=Object.defineProperty,U=ot=>{throw TypeError(ot)},P=Math.pow,m=(ot,x,M)=>x in ot?R(ot,x,{enumerable:!0,configurable:!0,writable:!0,value:M}):ot[x]=M,S=(ot,x,M)=>m(ot,typeof x!="symbol"?x+"":x,M),E=(ot,x,M)=>x.has(ot)||U("Cannot "+M),F=(ot,x,M)=>(E(ot,x,"read from private field"),M?M.call(ot):x.get(ot)),Q=(ot,x,M)=>x.has(ot)?U("Cannot add the same private member more than once"):x instanceof WeakSet?x.add(ot):x.set(ot,M),O=(ot,x,M,y)=>(E(ot,x,"write to private field"),y?y.call(ot,M):x.set(ot,M),M),T=(ot,x,M)=>(E(ot,x,"access private method"),M),Z,tt,W;l={value:!0};var vt=f(34634),st=f(34402);const X=" ".repeat(2),Mt=" ".repeat(4);function ht(){return Dt(this)}function Dt(ot,x={}){const{maxRows:M=15,maxColumns:y=10,maxNumSize:D=8,padMinus:z="auto"}=x;return`${ot.constructor.name} { -${X}[ -${Mt}${Gt(ot,M,y,D,z)} -${X}] -${X}rows: ${ot.rows} -${X}columns: ${ot.columns} -}`}function Gt(ot,x,M,y,D){const{rows:z,columns:Nt}=ot,Qt=Math.min(z,x),qt=Math.min(Nt,M),ne=[];if(D==="auto"){D=!1;t:for(let un=0;un=0&&M?` ${Fe(ot,x-1)}`:Fe(ot,x)).padEnd(x)}function Fe(ot,x){let M=ot.toString();if(M.length<=x)return M;let y=ot.toFixed(x);if(y.length>x&&(y=ot.toFixed(Math.max(0,x-(y.length-x)))),y.length<=x&&!y.startsWith("0.000")&&!y.startsWith("-0.000"))return y;let D=ot.toExponential(x);return D.length>x&&(D=ot.toExponential(Math.max(0,x-(D.length-x)))),D.slice(0)}function me(ot,x){ot.prototype.add=function(y){return typeof y=="number"?this.addS(y):this.addM(y)},ot.prototype.addS=function(y){for(let D=0;D>y);return this},ot.prototype.signPropagatingRightShiftM=function(y){if(y=x.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let D=0;D>y.get(D,z));return this},ot.signPropagatingRightShift=function(y,D){return new x(y).signPropagatingRightShift(D)},ot.prototype.rightShift=function(y){return typeof y=="number"?this.rightShiftS(y):this.rightShiftM(y)},ot.prototype.rightShiftS=function(y){for(let D=0;D>>y);return this},ot.prototype.rightShiftM=function(y){if(y=x.checkMatrix(y),this.rows!==y.rows||this.columns!==y.columns)throw new RangeError("Matrices dimensions must be equal");for(let D=0;D>>y.get(D,z));return this},ot.rightShift=function(y,D){return new x(y).rightShift(D)},ot.prototype.zeroFillRightShift=ot.prototype.rightShift,ot.prototype.zeroFillRightShiftS=ot.prototype.rightShiftS,ot.prototype.zeroFillRightShiftM=ot.prototype.rightShiftM,ot.zeroFillRightShift=ot.rightShift,ot.prototype.not=function(){for(let y=0;yy)throw new RangeError("Row index out of range")}function ye(ot,x,M){let y=M?ot.columns:ot.columns-1;if(x<0||x>y)throw new RangeError("Column index out of range")}function pn(ot,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==ot.columns)throw new RangeError("vector size must be the same as the number of columns");return x}function cn(ot,x){if(x.to1DArray&&(x=x.to1DArray()),x.length!==ot.rows)throw new RangeError("vector size must be the same as the number of rows");return x}function we(ot,x){if(!vt.isAnyArray(x))throw new TypeError("row indices must be an array");for(let M=0;M=ot.rows)throw new RangeError("row indices are out of range")}function Ye(ot,x){if(!vt.isAnyArray(x))throw new TypeError("column indices must be an array");for(let M=0;M=ot.columns)throw new RangeError("column indices are out of range")}function Un(ot,x,M,y,D){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Ie("startRow",x),Ie("endRow",M),Ie("startColumn",y),Ie("endColumn",D),x>M||y>D||x<0||x>=ot.rows||M<0||M>=ot.rows||y<0||y>=ot.columns||D<0||D>=ot.columns)throw new RangeError("Submatrix indices are out of range")}function Ze(ot,x=0){let M=[];for(let y=0;y=z)throw new RangeError("min must be smaller than max");let Qt=z-D,qt=new ae(x,M);for(let ne=0;ney?(z=!0,y=M):(D=!1,z=!0);x++}return D}isReducedEchelonForm(){let x=0,M=0,y=-1,D=!0,z=!1;for(;xy?(z=!0,y=M):(D=!1,z=!0);for(let Nt=M+1;Ntx.get(D,y)&&(D=z);if(x.get(D,y)===0)y++;else{x.swapRows(M,D);let z=x.get(M,y);for(let Nt=y;Nt=0;)if(x.maxRow(D)===0)D--;else{let z=0,Nt=!1;for(;zM[y]&&(M[y]=this.get(y,D));return M}case"column":{const M=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let y=0;yM[D]&&(M[D]=this.get(y,D));return M}case void 0:{let M=this.get(0,0);for(let y=0;yM&&(M=this.get(y,D));return M}default:throw new Error(`invalid option: ${x}`)}}maxIndex(){xt(this);let x=this.get(0,0),M=[0,0];for(let y=0;yx&&(x=this.get(y,D),M[0]=y,M[1]=D);return M}min(x){if(this.isEmpty())return NaN;switch(x){case"row":{const M=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let y=0;yM&&(M=this.get(x,y));return M}maxRowIndex(x){an(this,x),xt(this);let M=this.get(x,0),y=[x,0];for(let D=1;DM&&(M=this.get(x,D),y[1]=D);return y}minRow(x){if(an(this,x),this.isEmpty())return NaN;let M=this.get(x,0);for(let y=1;yM&&(M=this.get(y,x));return M}maxColumnIndex(x){ye(this,x),xt(this);let M=this.get(0,x),y=[0,x];for(let D=1;DM&&(M=this.get(D,x),y[0]=D);return y}minColumn(x){if(ye(this,x),this.isEmpty())return NaN;let M=this.get(0,x);for(let y=1;y=1;D/=2)D&1&&(M=M.mmul(y)),y=y.mmul(y);return M}strassen2x2(x){x=ae.checkMatrix(x);let M=new ae(2,2);const y=this.get(0,0),D=x.get(0,0),z=this.get(0,1),Nt=x.get(0,1),Qt=this.get(1,0),qt=x.get(1,0),ne=this.get(1,1),un=x.get(1,1),pt=(y+ne)*(D+un),mt=(Qt+ne)*D,ct=y*(Nt-un),Ct=ne*(qt-D),zt=(y+z)*un,De=(Qt-y)*(D+Nt),Yt=(z-ne)*(qt+un),Le=pt+Ct-zt+Yt,sn=ct+zt,Mn=mt+Ct,Nn=pt-mt+ct+De;return M.set(0,0,Le),M.set(0,1,sn),M.set(1,0,Mn),M.set(1,1,Nn),M}strassen3x3(x){x=ae.checkMatrix(x);let M=new ae(3,3);const y=this.get(0,0),D=this.get(0,1),z=this.get(0,2),Nt=this.get(1,0),Qt=this.get(1,1),qt=this.get(1,2),ne=this.get(2,0),un=this.get(2,1),pt=this.get(2,2),mt=x.get(0,0),ct=x.get(0,1),Ct=x.get(0,2),zt=x.get(1,0),De=x.get(1,1),Yt=x.get(1,2),Le=x.get(2,0),sn=x.get(2,1),Mn=x.get(2,2),Nn=(y+D+z-Nt-Qt-un-pt)*De,ir=(y-Nt)*(-ct+De),Kn=Qt*(-mt+ct+zt-De-Yt-Le+Mn),qn=(-y+Nt+Qt)*(mt-ct+De),gr=(Nt+Qt)*(-mt+ct),He=y*mt,Tn=(-y+ne+un)*(mt-Ct+Yt),or=(-y+ne)*(Ct-Yt),En=(ne+un)*(-mt+Ct),kr=(y+D+z-Qt-qt-ne-un)*Yt,_r=un*(-mt+Ct+zt-De-Yt-Le+sn),Cr=(-z+un+pt)*(De+Le-sn),br=(z-pt)*(De-sn),ni=z*Le,Br=(un+pt)*(-Le+sn),Wr=(-z+Qt+qt)*(Yt+Le-Mn),Pn=(z-qt)*(Yt-Mn),An=(Qt+qt)*(-Le+Mn),ie=D*zt,ue=qt*sn,$t=Nt*Ct,Ve=ne*ct,wn=pt*Mn,zn=He+ni+ie,tr=Nn+qn+gr+He+Cr+ni+Br,ar=He+Tn+En+kr+ni+Wr+An,Or=ir+Kn+qn+He+ni+Wr+Pn,Fr=ir+qn+gr+He+ue,Zr=ni+Wr+Pn+An+$t,jr=He+Tn+or+_r+Cr+br+ni,mi=Cr+br+ni+Br+Ve,Ci=He+Tn+or+En+wn;return M.set(0,0,zn),M.set(0,1,tr),M.set(0,2,ar),M.set(1,0,Or),M.set(1,1,Fr),M.set(1,2,Zr),M.set(2,0,jr),M.set(2,1,mi),M.set(2,2,Ci),M}mmulStrassen(x){x=ae.checkMatrix(x);let M=this.clone(),y=M.rows,D=M.columns,z=x.rows,Nt=x.columns;D!==z&&console.warn(`Multiplying ${y} x ${D} and ${z} x ${Nt} matrix: dimensions do not match.`);function Qt(pt,mt,ct){let Ct=pt.rows,zt=pt.columns;if(Ct===mt&&zt===ct)return pt;{let De=Ne.zeros(mt,ct);return De=De.setSubMatrix(pt,0,0),De}}let qt=Math.max(y,z),ne=Math.max(D,Nt);M=Qt(M,qt,ne),x=Qt(x,qt,ne);function un(pt,mt,ct,Ct){if(ct<=512||Ct<=512)return pt.mmul(mt);ct%2===1&&Ct%2===1?(pt=Qt(pt,ct+1,Ct+1),mt=Qt(mt,ct+1,Ct+1)):ct%2===1?(pt=Qt(pt,ct+1,Ct),mt=Qt(mt,ct+1,Ct)):Ct%2===1&&(pt=Qt(pt,ct,Ct+1),mt=Qt(mt,ct,Ct+1));let zt=parseInt(pt.rows/2,10),De=parseInt(pt.columns/2,10),Yt=pt.subMatrix(0,zt-1,0,De-1),Le=mt.subMatrix(0,zt-1,0,De-1),sn=pt.subMatrix(0,zt-1,De,pt.columns-1),Mn=mt.subMatrix(0,zt-1,De,mt.columns-1),Nn=pt.subMatrix(zt,pt.rows-1,0,De-1),ir=mt.subMatrix(zt,mt.rows-1,0,De-1),Kn=pt.subMatrix(zt,pt.rows-1,De,pt.columns-1),qn=mt.subMatrix(zt,mt.rows-1,De,mt.columns-1),gr=un(Ne.add(Yt,Kn),Ne.add(Le,qn),zt,De),He=un(Ne.add(Nn,Kn),Le,zt,De),Tn=un(Yt,Ne.sub(Mn,qn),zt,De),or=un(Kn,Ne.sub(ir,Le),zt,De),En=un(Ne.add(Yt,sn),qn,zt,De),kr=un(Ne.sub(Nn,Yt),Ne.add(Le,Mn),zt,De),_r=un(Ne.sub(sn,Kn),Ne.add(ir,qn),zt,De),Cr=Ne.add(gr,or);Cr.sub(En),Cr.add(_r);let br=Ne.add(Tn,En),ni=Ne.add(He,or),Br=Ne.sub(gr,He);Br.add(Tn),Br.add(kr);let Wr=Ne.zeros(2*Cr.rows,2*Cr.columns);return Wr=Wr.setSubMatrix(Cr,0,0),Wr=Wr.setSubMatrix(br,Cr.rows,0),Wr=Wr.setSubMatrix(ni,0,Cr.columns),Wr=Wr.setSubMatrix(Br,Cr.rows,Cr.columns),Wr.subMatrix(0,ct-1,0,Ct-1)}return un(M,x,qt,ne)}scaleRows(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:M=0,max:y=1}=x;if(!Number.isFinite(M))throw new TypeError("min must be a number");if(!Number.isFinite(y))throw new TypeError("max must be a number");if(M>=y)throw new RangeError("min must be smaller than max");let D=new ae(this.rows,this.columns);for(let z=0;z0&&st(Nt,{min:M,max:y,output:Nt}),D.setRow(z,Nt)}return D}scaleColumns(x={}){if(typeof x!="object")throw new TypeError("options must be an object");const{min:M=0,max:y=1}=x;if(!Number.isFinite(M))throw new TypeError("min must be a number");if(!Number.isFinite(y))throw new TypeError("max must be a number");if(M>=y)throw new RangeError("min must be smaller than max");let D=new ae(this.rows,this.columns);for(let z=0;zy||M<0||M>=this.columns||y<0||y>=this.columns)throw new RangeError("Argument out of range");let D=new ae(x.length,y-M+1);for(let z=0;z=this.rows)throw new RangeError(`Row index out of range: ${x[z]}`);D.set(z,Nt-M,this.get(x[z],Nt))}return D}subMatrixColumn(x,M,y){if(M===void 0&&(M=0),y===void 0&&(y=this.rows-1),M>y||M<0||M>=this.rows||y<0||y>=this.rows)throw new RangeError("Argument out of range");let D=new ae(y-M+1,x.length);for(let z=0;z=this.columns)throw new RangeError(`Column index out of range: ${x[z]}`);D.set(Nt-M,z,this.get(Nt,x[z]))}return D}setSubMatrix(x,M,y){if(x=ae.checkMatrix(x),x.isEmpty())return this;let D=M+x.rows-1,z=y+x.columns-1;Un(this,M,D,y,z);for(let Nt=0;Nttypeof x=="number")}Ne.random=Ne.rand,Ne.randomInt=Ne.randInt,Ne.diagonal=Ne.diag,Ne.prototype.diagonal=Ne.prototype.diag,Ne.identity=Ne.eye,Ne.prototype.negate=Ne.prototype.neg,Ne.prototype.tensorProduct=Ne.prototype.kroneckerProduct;const de=class Xh extends Ne{constructor(x,M){if(super(),Q(this,Z),S(this,"data"),Xh.isMatrix(x))T(this,Z,tt).call(this,x.rows,x.columns),Xh.copy(x,this);else if(Number.isInteger(x)&&x>=0)T(this,Z,tt).call(this,x,M);else if(vt.isAnyArray(x)){const y=x;if(x=y.length,M=x?y[0].length:0,typeof M!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let D=0;D=0)for(let M=0;M=0)O(this,W,new ae(x,x));else if(O(this,W,new ae(x)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return F(this,W).size}get rows(){return F(this,W).rows}get columns(){return F(this,W).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(x){return ae.isMatrix(x)&&x.klassType==="SymmetricMatrix"}static zeros(x){return new this(x)}static ones(x){return new this(x).fill(1)}clone(){const x=new Jh(this.diagonalSize);for(const[M,y,D]of this.upperRightEntries())x.set(M,y,D);return x}toMatrix(){return new ae(this)}get(x,M){return F(this,W).get(x,M)}set(x,M,y){return F(this,W).set(x,M,y),F(this,W).set(M,x,y),this}removeCross(x){return F(this,W).removeRow(x),F(this,W).removeColumn(x),this}addCross(x,M){M===void 0&&(M=x,x=this.diagonalSize);const y=M.slice();return y.splice(x,1),F(this,W).addRow(x,y),F(this,W).addColumn(x,M),this}applyMask(x){if(x.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const M=[];for(const[y,D]of x.entries())D||M.push(y);M.reverse();for(const y of M)this.removeCross(y);return this}toCompact(){const{diagonalSize:x}=this,M=new Array(x*(x+1)/2);for(let y=0,D=0,z=0;z=x&&(y=++D);return M}static fromCompact(x){const M=x.length,y=(Math.sqrt(8*M+1)-1)/2;if(!Number.isInteger(y))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(x)}`);const D=new Jh(y);for(let z=0,Nt=0,Qt=0;Qt=y&&(z=++Nt);return D}*upperRightEntries(){for(let x=0,M=0;x=this.diagonalSize&&(M=++x)}}*upperRightValues(){for(let x=0,M=0;x=this.diagonalSize&&(M=++x)}};W=new WeakMap;let Ge=$e;Ge.prototype.klassType="SymmetricMatrix";class Sn extends Ge{static isDistanceMatrix(x){return Ge.isSymmetricMatrix(x)&&x.klassSubType==="DistanceMatrix"}constructor(x){if(super(x),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(x,M,y){return x===M&&(y=0),super.set(x,M,y)}addCross(x,M){return M===void 0&&(M=x,x=this.diagonalSize),M=M.slice(),M[x]=0,super.addCross(x,M)}toSymmetricMatrix(){return new Ge(this)}clone(){const x=new Sn(this.diagonalSize);for(const[M,y,D]of this.upperRightEntries())M!==y&&x.set(M,y,D);return x}toCompact(){const{diagonalSize:x}=this,M=(x-1)*x/2,y=new Array(M);for(let D=1,z=0,Nt=0;Nt=x&&(D=++z+1);return y}static fromCompact(x){const M=x.length;if(M===0)return new this(0);const y=(Math.sqrt(8*M+1)+1)/2;if(!Number.isInteger(y))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(x)}`);const D=new this(y);for(let z=1,Nt=0,Qt=0;Qt=y&&(z=++Nt+1);return D}}Sn.prototype.klassSubType="DistanceMatrix";class Bt extends Ne{constructor(x,M,y){super(),this.matrix=x,this.rows=M,this.columns=y}}class et extends Bt{constructor(x,M){ye(x,M),super(x,x.rows,1),this.column=M}set(x,M,y){return this.matrix.set(x,this.column,y),this}get(x){return this.matrix.get(x,this.column)}}class Pt extends Bt{constructor(x,M){Ye(x,M),super(x,x.rows,M.length),this.columnIndices=M}set(x,M,y){return this.matrix.set(x,this.columnIndices[M],y),this}get(x,M){return this.matrix.get(x,this.columnIndices[M])}}class Xt extends Bt{constructor(x){super(x,x.rows,x.columns)}set(x,M,y){return this.matrix.set(x,this.columns-M-1,y),this}get(x,M){return this.matrix.get(x,this.columns-M-1)}}class Lt extends Bt{constructor(x){super(x,x.rows,x.columns)}set(x,M,y){return this.matrix.set(this.rows-x-1,M,y),this}get(x,M){return this.matrix.get(this.rows-x-1,M)}}class _t extends Bt{constructor(x,M){an(x,M),super(x,1,x.columns),this.row=M}set(x,M,y){return this.matrix.set(this.row,M,y),this}get(x,M){return this.matrix.get(this.row,M)}}class Vt extends Bt{constructor(x,M){we(x,M),super(x,M.length,x.columns),this.rowIndices=M}set(x,M,y){return this.matrix.set(this.rowIndices[x],M,y),this}get(x,M){return this.matrix.get(this.rowIndices[x],M)}}class Ee extends Bt{constructor(x,M,y){we(x,M),Ye(x,y),super(x,M.length,y.length),this.rowIndices=M,this.columnIndices=y}set(x,M,y){return this.matrix.set(this.rowIndices[x],this.columnIndices[M],y),this}get(x,M){return this.matrix.get(this.rowIndices[x],this.columnIndices[M])}}class xe extends Bt{constructor(x,M,y,D,z){Un(x,M,y,D,z),super(x,y-M+1,z-D+1),this.startRow=M,this.startColumn=D}set(x,M,y){return this.matrix.set(this.startRow+x,this.startColumn+M,y),this}get(x,M){return this.matrix.get(this.startRow+x,this.startColumn+M)}}class Ae extends Bt{constructor(x){super(x,x.columns,x.rows)}set(x,M,y){return this.matrix.set(M,x,y),this}get(x,M){return this.matrix.get(M,x)}}class Xe extends Ne{constructor(x,M={}){const{rows:y=1}=M;if(x.length%y!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=y,this.columns=x.length/y,this.data=x}set(x,M,y){let D=this._calculateIndex(x,M);return this.data[D]=y,this}get(x,M){let y=this._calculateIndex(x,M);return this.data[y]}_calculateIndex(x,M){return x*this.columns+M}}class yn extends Ne{constructor(x){super(),this.data=x,this.rows=x.length,this.columns=x[0].length}set(x,M,y){return this.data[x][M]=y,this}get(x,M){return this.data[x][M]}}function fn(ot,x){if(vt.isAnyArray(ot))return ot[0]&&vt.isAnyArray(ot[0])?new yn(ot):new Xe(ot,x);throw new Error("the argument is not an array")}class Hn{constructor(x){x=yn.checkMatrix(x);let M=x.clone(),y=M.rows,D=M.columns,z=new Float64Array(y),Nt=1,Qt,qt,ne,un,pt,mt,ct,Ct,zt;for(Qt=0;QtMath.abs(Ct[un])&&(un=Qt);if(un!==qt){for(ne=0;ne=0;ne--){for(qt=0;qtNt?D.set(z,Nt,x.get(z,Nt)):z===Nt?D.set(z,Nt,1):D.set(z,Nt,0);return D}get upperTriangularMatrix(){let x=this.LU,M=x.rows,y=x.columns,D=new ae(M,y);for(let z=0;zMath.abs(x)?(M=x/ot,Math.abs(ot)*Math.sqrt(1+M*M)):x!==0?(M=ot/x,Math.abs(x)*Math.sqrt(1+M*M)):0}class Gn{constructor(x){x=yn.checkMatrix(x);let M=x.clone(),y=x.rows,D=x.columns,z=new Float64Array(D),Nt,Qt,qt,ne;for(qt=0;qt=0;ne--){for(qt=0;qt=0;Qt--){for(z=0;z=0;He--)if(Ct[He]!==0){for(let Tn=He+1;Tn=0;He--){if(He0;){let He,Tn;for(He=Kn-2;He>=-1&&He!==-1;He--){const or=Number.MIN_VALUE+gr*Math.abs(Ct[He]+Math.abs(Ct[He+1]));if(Math.abs(Yt[He])<=or||Number.isNaN(Yt[He])){Yt[He]=0;break}}if(He===Kn-2)Tn=4;else{let or;for(or=Kn-1;or>=He&&or!==He;or--){let En=(or!==Kn?Math.abs(Yt[or]):0)+(or!==He+1?Math.abs(Yt[or-1]):0);if(Math.abs(Ct[or])<=gr*En){Ct[or]=0;break}}or===He?Tn=3:or===Kn-1?Tn=1:(Tn=2,He=or)}switch(He++,Tn){case 1:{let or=Yt[Kn-2];Yt[Kn-2]=0;for(let En=Kn-2;En>=He;En--){let kr=Zn(Ct[En],or),_r=Ct[En]/kr,Cr=or/kr;if(Ct[En]=kr,En!==He&&(or=-Cr*Yt[En-1],Yt[En-1]=_r*Yt[En-1]),ne)for(let br=0;br=Ct[He+1]);){let or=Ct[He];if(Ct[He]=Ct[He+1],Ct[He+1]=or,ne&&HeM&&z.set(un,pt,x.get(un,pt)/this.s[pt]);let Nt=this.U,Qt=Nt.rows,qt=Nt.columns,ne=new ae(y,Qt);for(let un=0;unx&&M++;return M}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 ae.diag(this.s)}}function ur(ot,x=!1){return ot=yn.checkMatrix(ot),x?new Mr(ot).inverse():In(ot,ae.eye(ot.rows))}function In(ot,x,M=!1){return ot=yn.checkMatrix(ot),x=yn.checkMatrix(x),M?new Mr(ot).solve(x):ot.isSquare()?new Hn(ot).solve(x):new Gn(ot).solve(x)}function jt(ot){if(ot=ae.checkMatrix(ot),ot.isSquare()){if(ot.columns===0)return 1;let x,M,y,D;if(ot.columns===2)return x=ot.get(0,0),M=ot.get(0,1),y=ot.get(1,0),D=ot.get(1,1),x*D-M*y;if(ot.columns===3){let z,Nt,Qt;return z=new Ee(ot,[1,2],[1,2]),Nt=new Ee(ot,[1,2],[0,2]),Qt=new Ee(ot,[1,2],[0,1]),x=ot.get(0,0),M=ot.get(0,1),y=ot.get(0,2),x*jt(z)-M*jt(Nt)+y*jt(Qt)}else return new Hn(ot).determinant}else throw Error("determinant can only be calculated for a square matrix")}function rr(ot,x){let M=[];for(let y=0;yD)return new Array(x.rows+1).fill(0);{let z=x.addRow(M,[0]);for(let Nt=0;Ntx?z[Nt]=1/z[Nt]:z[Nt]=0;return D.mmul(ae.diag(z).mmul(y.transpose()))}function ve(ot,x=ot,M={}){ot=new ae(ot);let y=!1;if(typeof x=="object"&&!ae.isMatrix(x)&&!vt.isAnyArray(x)?(M=x,x=ot,y=!0):x=new ae(x),ot.rows!==x.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:D=!0}=M;D&&(ot=ot.center("column"),y||(x=x.center("column")));const z=ot.transpose().mmul(x);for(let Nt=0;Nt0?D.set(z,z+1,M[z]):M[z]<0&&D.set(z,z-1,M[z])}return D}}function he(ot,x,M,y){let D,z,Nt,Qt,qt,ne,un,pt;for(qt=0;qt0;Qt--){for(pt=0,Nt=0,ne=0;ne0&&(z=-z),x[Qt]=pt*z,Nt=Nt-D*z,M[Qt-1]=D-z,qt=0;qtne)do{for(D=M[ne],pt=(M[ne+1]-D)/(2*x[ne]),mt=Zn(pt,1),pt<0&&(mt=-mt),M[ne]=x[ne]/(pt+mt),M[ne+1]=x[ne]*(pt+mt),ct=M[ne+1],z=D-M[ne],Nt=ne+2;Nt=ne;Nt--)for(De=zt,zt=Ct,sn=Le,D=Ct*x[Nt],z=Ct*pt,mt=Zn(pt,x[Nt]),x[Nt+1]=Le*mt,Le=x[Nt]/mt,Ct=pt/mt,pt=Ct*M[Nt]-Le*D,M[Nt+1]=z+Le*(Ct*D+Le*M[Nt]),qt=0;qtir*Nn);M[ne]=M[ne]+Mn,x[ne]=0}for(Nt=0;Nt=pt;ne--)M[ne]=x.get(ne,pt-1)/mt,qt+=M[ne]*M[ne];for(Qt=Math.sqrt(qt),M[pt]>0&&(Qt=-Qt),qt=qt-M[pt]*Qt,M[pt]=M[pt]-Qt,un=pt;un=pt;ne--)Nt+=M[ne]*x.get(ne,un);for(Nt=Nt/qt,ne=pt;ne<=z;ne++)x.set(ne,un,x.get(ne,un)-Nt*M[ne])}for(ne=0;ne<=z;ne++){for(Nt=0,un=z;un>=pt;un--)Nt+=M[un]*x.get(ne,un);for(Nt=Nt/qt,un=pt;un<=z;un++)x.set(ne,un,x.get(ne,un)-Nt*M[un])}M[pt]=mt*M[pt],x.set(pt,pt-1,mt*Qt)}}for(ne=0;ne=D+1;pt--)if(x.get(pt,pt-1)!==0){for(ne=pt+1;ne<=z;ne++)M[ne]=x.get(ne,pt-1);for(un=pt;un<=z;un++){for(Qt=0,ne=pt;ne<=z;ne++)Qt+=M[ne]*y.get(ne,un);for(Qt=Qt/M[pt]/x.get(pt,pt-1),ne=pt;ne<=z;ne++)y.set(ne,un,y.get(ne,un)+Qt*M[ne])}}}function gn(ot,x,M,y,D){let z=ot-1,Nt=0,Qt=ot-1,qt=Number.EPSILON,ne=0,un=0,pt=0,mt=0,ct=0,Ct=0,zt=0,De=0,Yt,Le,sn,Mn,Nn,ir,Kn,qn,gr,He,Tn,or,En,kr,_r;for(Yt=0;YtQt)&&(M[Yt]=D.get(Yt,Yt),x[Yt]=0),Le=Math.max(Yt-1,0);Le=Nt;){for(Mn=z;Mn>Nt&&(Ct=Math.abs(D.get(Mn-1,Mn-1))+Math.abs(D.get(Mn,Mn)),Ct===0&&(Ct=un),!(Math.abs(D.get(Mn,Mn-1))=0){for(zt=pt>=0?pt+zt:pt-zt,M[z-1]=qn+zt,M[z]=M[z-1],zt!==0&&(M[z]=qn-Kn/zt),x[z-1]=0,x[z]=0,qn=D.get(z,z-1),Ct=Math.abs(qn)+Math.abs(zt),pt=qn/Ct,mt=zt/Ct,ct=Math.sqrt(pt*pt+mt*mt),pt=pt/ct,mt=mt/ct,Le=z-1;Le0)){for(Ct=Math.sqrt(Ct),gr=Mn&&(zt=D.get(Nn,Nn),ct=qn-zt,Ct=gr-zt,pt=(ct*Ct-Kn)/D.get(Nn+1,Nn)+D.get(Nn,Nn+1),mt=D.get(Nn+1,Nn+1)-zt-ct-Ct,ct=D.get(Nn+2,Nn+1),Ct=Math.abs(pt)+Math.abs(mt)+Math.abs(ct),pt=pt/Ct,mt=mt/Ct,ct=ct/Ct,!(Nn===Mn||Math.abs(D.get(Nn,Nn-1))*(Math.abs(mt)+Math.abs(ct))Nn+2&&D.set(Yt,Yt-3,0);for(sn=Nn;sn<=z-1&&(kr=sn!==z-1,sn!==Nn&&(pt=D.get(sn,sn-1),mt=D.get(sn+1,sn-1),ct=kr?D.get(sn+2,sn-1):0,qn=Math.abs(pt)+Math.abs(mt)+Math.abs(ct),qn!==0&&(pt=pt/qn,mt=mt/qn,ct=ct/qn)),qn!==0);sn++)if(Ct=Math.sqrt(pt*pt+mt*mt+ct*ct),pt<0&&(Ct=-Ct),Ct!==0){for(sn!==Nn?D.set(sn,sn-1,-Ct*qn):Mn!==Nn&&D.set(sn,sn-1,-D.get(sn,sn-1)),pt=pt+Ct,qn=pt/Ct,gr=mt/Ct,zt=ct/Ct,mt=mt/pt,ct=ct/pt,Le=sn;Le=0;z--)if(pt=M[z],mt=x[z],mt===0)for(Mn=z,D.set(z,z,1),Yt=z-1;Yt>=0;Yt--){for(Kn=D.get(Yt,Yt)-pt,ct=0,Le=Mn;Le<=z;Le++)ct=ct+D.get(Yt,Le)*D.get(Le,z);if(x[Yt]<0)zt=Kn,Ct=ct;else if(Mn=Yt,x[Yt]===0?D.set(Yt,z,Kn!==0?-ct/Kn:-ct/(qt*un)):(qn=D.get(Yt,Yt+1),gr=D.get(Yt+1,Yt),mt=(M[Yt]-pt)*(M[Yt]-pt)+x[Yt]*x[Yt],ir=(qn*Ct-zt*ct)/mt,D.set(Yt,z,ir),D.set(Yt+1,z,Math.abs(qn)>Math.abs(zt)?(-ct-Kn*ir)/qn:(-Ct-gr*ir)/zt)),ir=Math.abs(D.get(Yt,z)),qt*ir*ir>1)for(Le=Yt;Le<=z;Le++)D.set(Le,z,D.get(Le,z)/ir)}else if(mt<0)for(Mn=z-1,Math.abs(D.get(z,z-1))>Math.abs(D.get(z-1,z))?(D.set(z-1,z-1,mt/D.get(z,z-1)),D.set(z-1,z,-(D.get(z,z)-pt)/D.get(z,z-1))):(_r=mn(0,-D.get(z-1,z),D.get(z-1,z-1)-pt,mt),D.set(z-1,z-1,_r[0]),D.set(z-1,z,_r[1])),D.set(z,z-1,0),D.set(z,z,1),Yt=z-2;Yt>=0;Yt--){for(He=0,Tn=0,Le=Mn;Le<=z;Le++)He=He+D.get(Yt,Le)*D.get(Le,z-1),Tn=Tn+D.get(Yt,Le)*D.get(Le,z);if(Kn=D.get(Yt,Yt)-pt,x[Yt]<0)zt=Kn,ct=He,Ct=Tn;else if(Mn=Yt,x[Yt]===0?(_r=mn(-He,-Tn,Kn,mt),D.set(Yt,z-1,_r[0]),D.set(Yt,z,_r[1])):(qn=D.get(Yt,Yt+1),gr=D.get(Yt+1,Yt),or=(M[Yt]-pt)*(M[Yt]-pt)+x[Yt]*x[Yt]-mt*mt,En=(M[Yt]-pt)*2*mt,or===0&&En===0&&(or=qt*un*(Math.abs(Kn)+Math.abs(mt)+Math.abs(qn)+Math.abs(gr)+Math.abs(zt))),_r=mn(qn*ct-zt*He+mt*Tn,qn*Ct-zt*Tn-mt*He,or,En),D.set(Yt,z-1,_r[0]),D.set(Yt,z,_r[1]),Math.abs(qn)>Math.abs(zt)+Math.abs(mt)?(D.set(Yt+1,z-1,(-He-Kn*D.get(Yt,z-1)+mt*D.get(Yt,z))/qn),D.set(Yt+1,z,(-Tn-Kn*D.get(Yt,z)-mt*D.get(Yt,z-1))/qn)):(_r=mn(-ct-gr*D.get(Yt,z-1),-Ct-gr*D.get(Yt,z),zt,mt),D.set(Yt+1,z-1,_r[0]),D.set(Yt+1,z,_r[1]))),ir=Math.max(Math.abs(D.get(Yt,z-1)),Math.abs(D.get(Yt,z))),qt*ir*ir>1)for(Le=Yt;Le<=z;Le++)D.set(Le,z-1,D.get(Le,z-1)/ir),D.set(Le,z,D.get(Le,z)/ir)}for(Yt=0;YtQt)for(Le=Yt;Le=Nt;Le--)for(Yt=Nt;Yt<=Qt;Yt++){for(zt=0,sn=Nt;sn<=Math.min(Le,Qt);sn++)zt=zt+y.get(Yt,sn)*D.get(sn,Le);y.set(Yt,Le,zt)}}}function mn(ot,x,M,y){let D,z;return Math.abs(M)>Math.abs(y)?(D=y/M,z=M+D*y,[(ot+D*x)/z,(x-D*ot)/z]):(D=M/y,z=y+D*M,[(D*ot+x)/z,(D*x-ot)/z])}class $n{constructor(x){if(x=yn.checkMatrix(x),!x.isSymmetric())throw new Error("Matrix is not symmetric");let M=x,y=M.rows,D=new ae(y,y),z=!0,Nt,Qt,qt;for(Qt=0;Qt0),D.set(Qt,Qt,Math.sqrt(Math.max(ne,0))),qt=Qt+1;qt=0;qt--)for(Qt=0;QtNt;ct++)pt=x.transpose().mmul(Qt).div(Qt.transpose().mmul(Qt).get(0,0)),pt=pt.div(pt.norm()),ne=x.mmul(pt).div(pt.transpose().mmul(pt).get(0,0)),ct>0&&(qt=ne.clone().sub(mt).pow(2).sum()),mt=ne.clone(),y?(un=y.transpose().mmul(ne).div(ne.transpose().mmul(ne).get(0,0)),un=un.div(un.norm()),Qt=y.mmul(un).div(un.transpose().mmul(un).get(0,0))):Qt=ne;if(y){let ct=x.transpose().mmul(ne).div(ne.transpose().mmul(ne).get(0,0));ct=ct.div(ct.norm());let Ct=x.clone().sub(ne.clone().mmul(ct.transpose())),zt=Qt.transpose().mmul(ne).div(ne.transpose().mmul(ne).get(0,0)),De=y.clone().sub(ne.clone().mulS(zt.get(0,0)).mmul(un.transpose()));this.t=ne,this.p=ct.transpose(),this.w=pt.transpose(),this.q=un,this.u=Qt,this.s=ne.transpose().mmul(ne),this.xResidual=Ct,this.yResidual=De,this.betas=zt}else this.w=pt.transpose(),this.s=ne.transpose().mmul(ne).sqrt(),D?this.t=ne.clone().div(this.s.get(0,0)):this.t=ne,this.xResidual=x.sub(ne.mmul(pt.transpose()))}}dt.XA=Ne,dt.a_=$n,dt.yQ=$n,dt.Hs=Sn,dt.Ec=Rt,dt.dx=Rt,dt.LU=Hn,dt.Rm=Hn,dt.y3=ae,dt.qK=Pt,dt.pb=et,dt.j=Xt,dt.sO=Lt,dt.BZ=Vt,dt.EK=_t,dt.Db=Ee,dt.Fx=xe,dt.tU=Ae,dt.Ym=Yn,dt.rs=Yn,dt.QR=Gn,dt.TB=Gn,dt.oH=Mr,dt.Sc=Mr,dt.BN=Ge,dt.it=Xe,dt.$r=yn,dt.QM=Ut,dt.AV=ve,l=ae,dt.GH=jt,dt.SO=ur,dt.uZ=Ue,dt.yU=be,dt.F1=In,dt.re=fn},27666:function(gt,dt,f){"use strict";var l=f(77654),R=f(16089);function U(P){let m;const S=F=>()=>{m=null,P.apply(void 0,(0,l.Z)(F))},E=function(){if(m==null){for(var F=arguments.length,Q=new Array(F),O=0;O{R.Z.cancel(m),m=null},E}dt.Z=U},81228:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return me}});var l=f(38705),R=f(17212),U=f(39153),P=f(55401),m=f(59301),S=f(92310),E=f.n(S),F=f(29301),Q=f(2738),O=f(27666),T=f(36355),Z=f(83116),tt=f(37613);const W=an=>{const{componentCls:ye}=an;return{[ye]:{position:"fixed",zIndex:an.zIndexPopup}}};var vt=(0,Z.Z)("Affix",an=>{const ye=(0,tt.TS)(an,{zIndexPopup:an.zIndexBase+10});return[W(ye)]});function st(an){return an!==window?an.getBoundingClientRect():{top:0,bottom:window.innerHeight}}function X(an,ye,pn){if(pn!==void 0&&ye.top>an.top-pn)return pn+ye.top}function Mt(an,ye,pn){if(pn!==void 0&&ye.bottom{const we=cn.getTargetFunc(),Ye=we==null?void 0:we(),{prevTarget:Un}=cn.state;Un!==Ye&&(ht.forEach(Ze=>{Un==null||Un.removeEventListener(Ze,cn.lazyUpdatePosition),Ye==null||Ye.addEventListener(Ze,cn.lazyUpdatePosition)}),cn.updatePosition(),cn.setState({prevTarget:Ye}))},cn.removeListeners=()=>{cn.timer&&(clearTimeout(cn.timer),cn.timer=null);const{prevTarget:we}=cn.state,Ye=cn.getTargetFunc(),Un=Ye==null?void 0:Ye();ht.forEach(Ze=>{Un==null||Un.removeEventListener(Ze,cn.lazyUpdatePosition),we==null||we.removeEventListener(Ze,cn.lazyUpdatePosition)}),cn.updatePosition.cancel(),cn.lazyUpdatePosition.cancel()},cn.getOffsetTop=()=>{const{offsetBottom:we,offsetTop:Ye}=cn.props;return we===void 0&&Ye===void 0?0:Ye},cn.getOffsetBottom=()=>cn.props.offsetBottom,cn.measure=()=>{const{status:we,lastAffix:Ye}=cn.state,{onChange:Un}=cn.props,Ze=cn.getTargetFunc();if(we!==Gt.Prepare||!cn.fixedNodeRef.current||!cn.placeholderNodeRef.current||!Ze)return;const Ie=cn.getOffsetTop(),xt=cn.getOffsetBottom(),Jt=Ze();if(Jt){const tn={status:Gt.None},qe=st(cn.placeholderNodeRef.current);if(qe.top===0&&qe.left===0&&qe.width===0&&qe.height===0)return;const Re=st(Jt),Je=X(qe,Re,Ie),rn=Mt(qe,Re,xt);Je!==void 0?(tn.affixStyle={position:"fixed",top:Je,width:qe.width,height:qe.height},tn.placeholderStyle={width:qe.width,height:qe.height}):rn!==void 0&&(tn.affixStyle={position:"fixed",bottom:rn,width:qe.width,height:qe.height},tn.placeholderStyle={width:qe.width,height:qe.height}),tn.lastAffix=!!tn.affixStyle,Un&&Ye!==tn.lastAffix&&Un(tn.lastAffix),cn.setState(tn)}},cn.prepareMeasure=()=>{cn.setState({status:Gt.Prepare,affixStyle:void 0,placeholderStyle:void 0})},cn.updatePosition=(0,O.Z)(()=>{cn.prepareMeasure()}),cn.lazyUpdatePosition=(0,O.Z)(()=>{const we=cn.getTargetFunc(),{affixStyle:Ye}=cn.state;if(we&&Ye){const Un=cn.getOffsetTop(),Ze=cn.getOffsetBottom(),Ie=we();if(Ie&&cn.placeholderNodeRef.current){const xt=st(Ie),Jt=st(cn.placeholderNodeRef.current),tn=X(Jt,xt,Un),qe=Mt(Jt,xt,Ze);if(tn!==void 0&&Ye.top===tn||qe!==void 0&&Ye.bottom===qe)return}}cn.prepareMeasure()}),cn}return(0,R.Z)(pn,[{key:"getTargetFunc",value:function(){const{getTargetContainer:we}=this.context,{target:Ye}=this.props;return Ye!==void 0?Ye:we!=null?we:Dt}},{key:"componentDidMount",value:function(){this.timer=setTimeout(this.addListeners)}},{key:"componentDidUpdate",value:function(we){this.addListeners(),(we.offsetTop!==this.props.offsetTop||we.offsetBottom!==this.props.offsetBottom)&&this.updatePosition(),this.measure()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"render",value:function(){const{affixStyle:we,placeholderStyle:Ye}=this.state,{affixPrefixCls:Un,rootClassName:Ze,children:Ie}=this.props,xt=E()(we&&Ze,{[Un]:!!we});let Jt=(0,Q.Z)(this.props,["prefixCls","offsetTop","offsetBottom","target","onChange","affixPrefixCls","rootClassName"]);return m.createElement(F.Z,{onResize:this.updatePosition},m.createElement("div",Object.assign({},Jt,{ref:this.placeholderNodeRef}),we&&m.createElement("div",{style:Ye,"aria-hidden":"true"}),m.createElement("div",{className:xt,ref:this.fixedNodeRef,style:we},m.createElement(F.Z,{onResize:this.updatePosition},Ie))))}}]),pn}(m.Component);Kt.contextType=T.E_;var me=(0,m.forwardRef)((an,ye)=>{const{prefixCls:pn,rootClassName:cn}=an,{getPrefixCls:we}=(0,m.useContext)(T.E_),Ye=we("affix",pn),[Un,Ze]=vt(Ye),Ie=Object.assign(Object.assign({},an),{affixPrefixCls:Ye,rootClassName:E()(cn,Ze)});return Un(m.createElement(Kt,Object.assign({},Ie,{ref:ye})))})},79817:function(gt,dt,f){"use strict";f.d(dt,{default:function(){return cn}});var l=f(77654),R=f(92310),U=f.n(R),P=f(70425),m=f(59301),S=f(16722),E=f(13845),F=f(68031),Q=f(81228),O=f(36355),Z=m.createContext(void 0),W=we=>{const{href:Ye,title:Un,prefixCls:Ze,children:Ie,className:xt,target:Jt,replace:tn}=we,qe=m.useContext(Z),{registerLink:Re,unregisterLink:Je,scrollTo:rn,onClick:ge,activeLink:Pe,direction:Tt}=qe||{};m.useEffect(()=>(Re==null||Re(Ye),()=>{Je==null||Je(Ye)}),[Ye]);const yt=Me=>{tn&&(Me.preventDefault(),window.location.replace(Ye)),ge==null||ge(Me,{title:Un,href:Ye}),rn==null||rn(Ye)},{getPrefixCls:fe}=m.useContext(O.E_),nn=fe("anchor",Ze),We=Pe===Ye,le=U()(`${nn}-link`,xt,{[`${nn}-link-active`]:We}),Ke=U()(`${nn}-link-title`,{[`${nn}-link-title-active`]:We});return m.createElement("div",{className:le},m.createElement("a",{className:Ke,href:Ye,title:typeof Un=="string"?Un:"",target:Jt,onClick:yt},Un),Tt!=="horizontal"?Ie:null)},vt=f(17313),st=f(83116),X=f(37613);const Mt=we=>{const{componentCls:Ye,holderOffsetBlock:Un,motionDurationSlow:Ze,lineWidthBold:Ie,colorPrimary:xt,lineType:Jt,colorSplit:tn}=we;return{[`${Ye}-wrapper`]:{marginBlockStart:-Un,paddingBlockStart:Un,[Ye]:Object.assign(Object.assign({},(0,vt.Wf)(we)),{position:"relative",paddingInlineStart:Ie,[`${Ye}-link`]:{paddingBlock:we.linkPaddingBlock,paddingInline:`${we.linkPaddingInlineStart}px 0`,"&-title":Object.assign(Object.assign({},vt.vS),{position:"relative",display:"block",marginBlockEnd:we.anchorTitleBlock,color:we.colorText,transition:`all ${we.motionDurationSlow}`,"&:only-child":{marginBlockEnd:0}}),[`&-active > ${Ye}-link-title`]:{color:we.colorPrimary},[`${Ye}-link`]:{paddingBlock:we.anchorPaddingBlockSecondary}}}),[`&:not(${Ye}-wrapper-horizontal)`]:{[Ye]:{"&::before":{position:"absolute",insetInlineStart:0,top:0,height:"100%",borderInlineStart:`${Ie}px ${Jt} ${tn}`,content:'" "'},[`${Ye}-ink`]:{position:"absolute",insetInlineStart:0,display:"none",transform:"translateY(-50%)",transition:`top ${Ze} ease-in-out`,width:Ie,backgroundColor:xt,[`&${Ye}-ink-visible`]:{display:"inline-block"}}}},[`${Ye}-fixed ${Ye}-ink ${Ye}-ink`]:{display:"none"}}}},ht=we=>{const{componentCls:Ye,motionDurationSlow:Un,lineWidthBold:Ze,colorPrimary:Ie}=we;return{[`${Ye}-wrapper-horizontal`]:{position:"relative","&::before":{position:"absolute",left:{_skip_check_:!0,value:0},right:{_skip_check_:!0,value:0},bottom:0,borderBottom:`1px ${we.lineType} ${we.colorSplit}`,content:'" "'},[Ye]:{overflowX:"scroll",position:"relative",display:"flex",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"},[`${Ye}-link:first-of-type`]:{paddingInline:0},[`${Ye}-ink`]:{position:"absolute",bottom:0,transition:`left ${Un} ease-in-out, width ${Un} ease-in-out`,height:Ze,backgroundColor:Ie}}}}};var Dt=(0,st.Z)("Anchor",we=>{const{fontSize:Ye,fontSizeLG:Un,paddingXXS:Ze}=we,Ie=(0,X.TS)(we,{holderOffsetBlock:Ze,anchorPaddingBlockSecondary:Ze/2,anchorTitleBlock:Ye/14*3,anchorBallSize:Un/2});return[Mt(Ie),ht(Ie)]},we=>({linkPaddingBlock:we.paddingXXS,linkPaddingInlineStart:we.padding}));function Gt(){return window}function Kt(we,Ye){if(!we.getClientRects().length)return 0;const Un=we.getBoundingClientRect();return Un.width||Un.height?Ye===window?(Ye=we.ownerDocument.documentElement,Un.top-Ye.clientTop):Un.top-Ye.getBoundingClientRect().top:Un.top}const Fe=/#([\S ]+)$/,me=we=>{var Ye;const{rootClassName:Un,anchorPrefixCls:Ze,className:Ie,style:xt,offsetTop:Jt,affix:tn=!0,showInkInFixed:qe=!1,children:Re,items:Je,direction:rn="vertical",bounds:ge,targetOffset:Pe,onClick:Tt,onChange:yt,getContainer:fe,getCurrentAnchor:nn,replace:We}=we,[le,Ke]=m.useState([]),[Me,kt]=m.useState(null),ee=m.useRef(Me),Ne=m.useRef(null),I=m.useRef(null),rt=m.useRef(!1),{direction:de,getTargetContainer:ae,anchor:$e}=m.useContext(O.E_),Ge=(Ye=fe!=null?fe:ae)!==null&&Ye!==void 0?Ye:Gt,Sn=JSON.stringify(le),Bt=(0,P.useEvent)(Zn=>{le.includes(Zn)||Ke(Gn=>[].concat((0,l.Z)(Gn),[Zn]))}),et=(0,P.useEvent)(Zn=>{le.includes(Zn)&&Ke(Gn=>Gn.filter(Mr=>Mr!==Zn))}),Pt=()=>{var Zn;const Gn=(Zn=Ne.current)===null||Zn===void 0?void 0:Zn.querySelector(`.${Ze}-link-title-active`);if(Gn&&I.current){const{style:Mr}=I.current,ur=rn==="horizontal";Mr.top=ur?"":`${Gn.offsetTop+Gn.clientHeight/2}px`,Mr.height=ur?"":`${Gn.clientHeight}px`,Mr.left=ur?`${Gn.offsetLeft}px`:"",Mr.width=ur?`${Gn.clientWidth}px`:"",ur&&(0,S.Z)(Gn,{scrollMode:"if-needed",block:"nearest"})}},Xt=function(Zn){let Gn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Mr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5;const ur=[],In=Ge();return Zn.forEach(jt=>{const rr=Fe.exec(jt==null?void 0:jt.toString());if(!rr)return;const cr=document.getElementById(rr[1]);if(cr){const Ue=Kt(cr,In);Uecr.top>rr.top?cr:rr).link:""},Lt=(0,P.useEvent)(Zn=>{if(ee.current===Zn)return;const Gn=typeof nn=="function"?nn(Zn):Zn;kt(Gn),ee.current=Gn,yt==null||yt(Zn)}),_t=m.useCallback(()=>{if(rt.current)return;const Zn=Xt(le,Pe!==void 0?Pe:Jt||0,ge);Lt(Zn)},[Sn,Pe,Jt]),Vt=m.useCallback(Zn=>{Lt(Zn);const Gn=Fe.exec(Zn);if(!Gn)return;const Mr=document.getElementById(Gn[1]);if(!Mr)return;const ur=Ge(),In=(0,E.Z)(ur,!0),jt=Kt(Mr,ur);let rr=In+jt;rr-=Pe!==void 0?Pe:Jt||0,rt.current=!0,(0,F.Z)(rr,{getContainer:Ge,callback(){rt.current=!1}})},[Pe,Jt]),Ee=U()(Un,`${Ze}-wrapper`,{[`${Ze}-wrapper-horizontal`]:rn==="horizontal",[`${Ze}-rtl`]:de==="rtl"},Ie,$e==null?void 0:$e.className),xe=U()(Ze,{[`${Ze}-fixed`]:!tn&&!qe}),Ae=U()(`${Ze}-ink`,{[`${Ze}-ink-visible`]:Me}),Xe=Object.assign(Object.assign({maxHeight:Jt?`calc(100vh - ${Jt}px)`:"100vh"},$e==null?void 0:$e.style),xt),yn=Zn=>Array.isArray(Zn)?Zn.map(Gn=>m.createElement(W,Object.assign({replace:We},Gn,{key:Gn.key}),rn==="vertical"&&yn(Gn.children))):null,fn=m.createElement("div",{ref:Ne,className:Ee,style:Xe},m.createElement("div",{className:xe},m.createElement("span",{className:Ae,ref:I}),"items"in we?yn(Je):Re));m.useEffect(()=>{const Zn=Ge();return _t(),Zn==null||Zn.addEventListener("scroll",_t),()=>{Zn==null||Zn.removeEventListener("scroll",_t)}},[Sn]),m.useEffect(()=>{typeof nn=="function"&&Lt(nn(ee.current||""))},[nn]),m.useEffect(()=>{Pt()},[rn,nn,Sn,Me]);const Hn=m.useMemo(()=>({registerLink:Bt,unregisterLink:et,scrollTo:Vt,activeLink:Me,onClick:Tt,direction:rn}),[Me,Tt,Vt,rn]);return m.createElement(Z.Provider,{value:Hn},tn?m.createElement(Q.Z,{offsetTop:Jt,target:Ge},fn):fn)};var ye=we=>{const{prefixCls:Ye,rootClassName:Un}=we,{getPrefixCls:Ze}=m.useContext(O.E_),Ie=Ze("anchor",Ye),[xt,Jt]=Dt(Ie);return xt(m.createElement(me,Object.assign({},we,{rootClassName:U()(Jt,Un),anchorPrefixCls:Ie})))};const pn=ye;pn.Link=W;var cn=pn},66104:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return Ze}});var l=f(92310),R=f.n(l),U=f(11592),P=f(26112),m=f(59301),S=f(92343),E=f(36355),F=f(84105),Q=f(91857);const O=Ie=>{let{children:xt}=Ie;const{getPrefixCls:Jt}=m.useContext(E.E_),tn=Jt("breadcrumb");return m.createElement("li",{className:`${tn}-separator`,"aria-hidden":"true"},xt===""?xt:xt||"/")};O.__ANT_BREADCRUMB_SEPARATOR=!0;var T=O,Z=function(Ie,xt){var Jt={};for(var tn in Ie)Object.prototype.hasOwnProperty.call(Ie,tn)&&xt.indexOf(tn)<0&&(Jt[tn]=Ie[tn]);if(Ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var qe=0,tn=Object.getOwnPropertySymbols(Ie);qext[qe]||tn)}function W(Ie,xt,Jt,tn){if(Jt==null)return null;const{className:qe,onClick:Re}=xt,Je=Z(xt,["className","onClick"]),rn=Object.assign(Object.assign({},(0,P.Z)(Je,{data:!0,aria:!0})),{onClick:Re});return tn!==void 0?m.createElement("a",Object.assign({},rn,{className:R()(`${Ie}-link`,qe),href:tn}),Jt):m.createElement("span",Object.assign({},rn,{className:R()(`${Ie}-link`,qe)}),Jt)}function vt(Ie,xt){return(tn,qe,Re,Je,rn)=>{if(xt)return xt(tn,qe,Re,Je);const ge=tt(tn,qe);return W(Ie,tn,ge,rn)}}var st=function(Ie,xt){var Jt={};for(var tn in Ie)Object.prototype.hasOwnProperty.call(Ie,tn)&&xt.indexOf(tn)<0&&(Jt[tn]=Ie[tn]);if(Ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var qe=0,tn=Object.getOwnPropertySymbols(Ie);qe{const{prefixCls:xt,separator:Jt="/",children:tn,menu:qe,overlay:Re,dropdownProps:Je,href:rn}=Ie,Pe=(Tt=>{if(qe||Re){const yt=Object.assign({},Je);if(qe){const fe=qe||{},{items:nn}=fe,We=st(fe,["items"]);yt.menu=Object.assign(Object.assign({},We),{items:nn==null?void 0:nn.map((le,Ke)=>{var{key:Me,title:kt,label:ee,path:Ne}=le,I=st(le,["key","title","label","path"]);let rt=ee!=null?ee:kt;return Ne&&(rt=m.createElement("a",{href:`${rn}${Ne}`},rt)),Object.assign(Object.assign({},I),{key:Me!=null?Me:Ke,label:rt})})})}else Re&&(yt.overlay=Re);return m.createElement(Q.Z,Object.assign({placement:"bottom"},yt),m.createElement("span",{className:`${xt}-overlay-link`},Tt,m.createElement(F.Z,null)))}return Tt})(tn);return Pe!=null?m.createElement(m.Fragment,null,m.createElement("li",null,Pe),Jt&&m.createElement(T,null,Jt)):null},Mt=Ie=>{const{prefixCls:xt,children:Jt,href:tn}=Ie,qe=st(Ie,["prefixCls","children","href"]),{getPrefixCls:Re}=m.useContext(E.E_),Je=Re("breadcrumb",xt);return m.createElement(X,Object.assign({},qe,{prefixCls:Je}),W(Je,qe,Jt,tn))};Mt.__ANT_BREADCRUMB_ITEM=!0;var ht=Mt,Dt=f(17313),Gt=f(83116),Kt=f(37613);const Fe=Ie=>{const{componentCls:xt,iconCls:Jt}=Ie;return{[xt]:Object.assign(Object.assign({},(0,Dt.Wf)(Ie)),{color:Ie.itemColor,fontSize:Ie.fontSize,[Jt]:{fontSize:Ie.iconFontSize},ol:{display:"flex",flexWrap:"wrap",margin:0,padding:0,listStyle:"none"},a:Object.assign({color:Ie.linkColor,transition:`color ${Ie.motionDurationMid}`,padding:`0 ${Ie.paddingXXS}px`,borderRadius:Ie.borderRadiusSM,height:Ie.lineHeight*Ie.fontSize,display:"inline-block",marginInline:-Ie.marginXXS,"&:hover":{color:Ie.linkHoverColor,backgroundColor:Ie.colorBgTextHover}},(0,Dt.Qy)(Ie)),"li:last-child":{color:Ie.lastItemColor},[`${xt}-separator`]:{marginInline:Ie.separatorMargin,color:Ie.separatorColor},[`${xt}-link`]:{[` - > ${Jt} + span, - > ${Jt} + a - `]:{marginInlineStart:Ie.marginXXS}},[`${xt}-overlay-link`]:{borderRadius:Ie.borderRadiusSM,height:Ie.lineHeight*Ie.fontSize,display:"inline-block",padding:`0 ${Ie.paddingXXS}px`,marginInline:-Ie.marginXXS,[`> ${Jt}`]:{marginInlineStart:Ie.marginXXS,fontSize:Ie.fontSizeIcon},"&:hover":{color:Ie.linkHoverColor,backgroundColor:Ie.colorBgTextHover,a:{color:Ie.linkHoverColor}},a:{"&:hover":{backgroundColor:"transparent"}}},[`&${Ie.componentCls}-rtl`]:{direction:"rtl"}})}};var me=(0,Gt.Z)("Breadcrumb",Ie=>{const xt=(0,Kt.TS)(Ie,{});return[Fe(xt)]},Ie=>({itemColor:Ie.colorTextDescription,lastItemColor:Ie.colorText,iconFontSize:Ie.fontSize,linkColor:Ie.colorTextDescription,linkHoverColor:Ie.colorText,separatorColor:Ie.colorTextDescription,separatorMargin:Ie.marginXS})),an=function(Ie,xt){var Jt={};for(var tn in Ie)Object.prototype.hasOwnProperty.call(Ie,tn)&&xt.indexOf(tn)<0&&(Jt[tn]=Ie[tn]);if(Ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var qe=0,tn=Object.getOwnPropertySymbols(Ie);qe{var{breadcrumbName:Je}=Re,rn=an(Re,["breadcrumbName"]);return Object.assign(Object.assign({},rn),{title:Je})})}),qe}function pn(Ie,xt){return(0,m.useMemo)(()=>Ie||(xt?xt.map(ye):null),[Ie,xt])}var cn=function(Ie,xt){var Jt={};for(var tn in Ie)Object.prototype.hasOwnProperty.call(Ie,tn)&&xt.indexOf(tn)<0&&(Jt[tn]=Ie[tn]);if(Ie!=null&&typeof Object.getOwnPropertySymbols=="function")for(var qe=0,tn=Object.getOwnPropertySymbols(Ie);qe{if(xt===void 0)return xt;let Jt=(xt||"").replace(/^\//,"");return Object.keys(Ie).forEach(tn=>{Jt=Jt.replace(`:${tn}`,Ie[tn])}),Jt},Ye=Ie=>{const{prefixCls:xt,separator:Jt="/",style:tn,className:qe,rootClassName:Re,routes:Je,items:rn,children:ge,itemRender:Pe,params:Tt={}}=Ie,yt=cn(Ie,["prefixCls","separator","style","className","rootClassName","routes","items","children","itemRender","params"]),{getPrefixCls:fe,direction:nn,breadcrumb:We}=m.useContext(E.E_);let le;const Ke=fe("breadcrumb",xt),[Me,kt]=me(Ke),ee=pn(rn,Je),Ne=vt(Ke,Pe);if(ee&&ee.length>0){const de=[],ae=rn||Je;le=ee.map(($e,Ge)=>{const{path:Sn,key:Bt,type:et,menu:Pt,overlay:Xt,onClick:Lt,className:_t,separator:Vt,dropdownProps:Ee}=$e,xe=we(Tt,Sn);xe!==void 0&&de.push(xe);const Ae=Bt!=null?Bt:Ge;if(et==="separator")return m.createElement(T,{key:Ae},Vt);const Xe={},yn=Ge===ee.length-1;Pt?Xe.menu=Pt:Xt&&(Xe.overlay=Xt);let{href:fn}=$e;return de.length&&xe!==void 0&&(fn=`#/${de.join("/")}`),m.createElement(X,Object.assign({key:Ae},Xe,(0,P.Z)($e,{data:!0,aria:!0}),{className:_t,dropdownProps:Ee,href:fn,separator:yn?"":Jt,onClick:Lt,prefixCls:Ke}),Ne($e,Tt,ae,de,fn))})}else if(ge){const de=(0,U.Z)(ge).length;le=(0,U.Z)(ge).map((ae,$e)=>{if(!ae)return ae;const Ge=$e===de-1;return(0,S.Tm)(ae,{separator:Ge?"":Jt,key:$e})})}const I=R()(Ke,We==null?void 0:We.className,{[`${Ke}-rtl`]:nn==="rtl"},qe,Re,kt),rt=Object.assign(Object.assign({},We==null?void 0:We.style),tn);return Me(m.createElement("nav",Object.assign({className:I,style:rt},yt),m.createElement("ol",null,le)))};Ye.Item=ht,Ye.Separator=T;var Un=Ye,Ze=Un},12563:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return cn}});var l=f(59301),R=f(99267),U=f(92310),P=f.n(U),m=f(36785),S=f(47729),E=f(14088),F=f(36355),Q=f(17313),O=f(37613),T=f(83116);const Z=we=>{const{paddingXXS:Ye,lineWidth:Un,tagPaddingHorizontal:Ze,componentCls:Ie}=we,xt=Ze-Un,Jt=Ye-Un;return{[Ie]:Object.assign(Object.assign({},(0,Q.Wf)(we)),{display:"inline-block",height:"auto",marginInlineEnd:we.marginXS,paddingInline:xt,fontSize:we.tagFontSize,lineHeight:we.tagLineHeight,whiteSpace:"nowrap",background:we.defaultBg,border:`${we.lineWidth}px ${we.lineType} ${we.colorBorder}`,borderRadius:we.borderRadiusSM,opacity:1,transition:`all ${we.motionDurationMid}`,textAlign:"start",position:"relative",[`&${Ie}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:we.defaultColor},[`${Ie}-close-icon`]:{marginInlineStart:Jt,color:we.colorTextDescription,fontSize:we.tagIconSize,cursor:"pointer",transition:`all ${we.motionDurationMid}`,"&:hover":{color:we.colorTextHeading}},[`&${Ie}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${we.iconCls}-close, ${we.iconCls}-close:hover`]:{color:we.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${Ie}-checkable-checked):hover`]:{color:we.colorPrimary,backgroundColor:we.colorFillSecondary},"&:active, &-checked":{color:we.colorTextLightSolid},"&-checked":{backgroundColor:we.colorPrimary,"&:hover":{backgroundColor:we.colorPrimaryHover}},"&:active":{backgroundColor:we.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${we.iconCls} + span, > span + ${we.iconCls}`]:{marginInlineStart:xt}}),[`${Ie}-borderless`]:{borderColor:"transparent",background:we.tagBorderlessBg}}},tt=we=>{const{lineWidth:Ye,fontSizeIcon:Un}=we,Ze=we.fontSizeSM,Ie=`${we.lineHeightSM*Ze}px`;return(0,O.TS)(we,{tagFontSize:Ze,tagLineHeight:Ie,tagIconSize:Un-2*Ye,tagPaddingHorizontal:8,tagBorderlessBg:we.colorFillTertiary})},W=we=>({defaultBg:we.colorFillQuaternary,defaultColor:we.colorText});var vt=(0,T.Z)("Tag",we=>{const Ye=tt(we);return Z(Ye)},W),st=function(we,Ye){var Un={};for(var Ze in we)Object.prototype.hasOwnProperty.call(we,Ze)&&Ye.indexOf(Ze)<0&&(Un[Ze]=we[Ze]);if(we!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ie=0,Ze=Object.getOwnPropertySymbols(we);Ie{const{prefixCls:Ye,style:Un,className:Ze,checked:Ie,onChange:xt,onClick:Jt}=we,tn=st(we,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:qe,tag:Re}=l.useContext(F.E_),Je=yt=>{xt==null||xt(!Ie),Jt==null||Jt(yt)},rn=qe("tag",Ye),[ge,Pe]=vt(rn),Tt=P()(rn,`${rn}-checkable`,{[`${rn}-checkable-checked`]:Ie},Re==null?void 0:Re.className,Ze,Pe);return ge(l.createElement("span",Object.assign({},tn,{style:Object.assign(Object.assign({},Un),Re==null?void 0:Re.style),className:Tt,onClick:Je})))},ht=f(45157);const Dt=we=>(0,ht.Z)(we,(Ye,Un)=>{let{textColor:Ze,lightBorderColor:Ie,lightColor:xt,darkColor:Jt}=Un;return{[`${we.componentCls}-${Ye}`]:{color:Ze,background:xt,borderColor:Ie,"&-inverse":{color:we.colorTextLightSolid,background:Jt,borderColor:Jt},[`&${we.componentCls}-borderless`]:{borderColor:"transparent"}}}});var Gt=(0,T.b)(["Tag","preset"],we=>{const Ye=tt(we);return Dt(Ye)},W);function Kt(we){return typeof we!="string"?we:we.charAt(0).toUpperCase()+we.slice(1)}const Fe=(we,Ye,Un)=>{const Ze=Kt(Un);return{[`${we.componentCls}-${Ye}`]:{color:we[`color${Un}`],background:we[`color${Ze}Bg`],borderColor:we[`color${Ze}Border`],[`&${we.componentCls}-borderless`]:{borderColor:"transparent"}}}};var me=(0,T.b)(["Tag","status"],we=>{const Ye=tt(we);return[Fe(Ye,"success","Success"),Fe(Ye,"processing","Info"),Fe(Ye,"error","Error"),Fe(Ye,"warning","Warning")]},W),an=function(we,Ye){var Un={};for(var Ze in we)Object.prototype.hasOwnProperty.call(we,Ze)&&Ye.indexOf(Ze)<0&&(Un[Ze]=we[Ze]);if(we!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ie=0,Ze=Object.getOwnPropertySymbols(we);Ie{const{prefixCls:Un,className:Ze,rootClassName:Ie,style:xt,children:Jt,icon:tn,color:qe,onClose:Re,closeIcon:Je,closable:rn,bordered:ge=!0}=we,Pe=an(we,["prefixCls","className","rootClassName","style","children","icon","color","onClose","closeIcon","closable","bordered"]),{getPrefixCls:Tt,direction:yt,tag:fe}=l.useContext(F.E_),[nn,We]=l.useState(!0);l.useEffect(()=>{"visible"in Pe&&We(Pe.visible)},[Pe.visible]);const le=(0,m.o2)(qe),Ke=(0,m.yT)(qe),Me=le||Ke,kt=Object.assign(Object.assign({backgroundColor:qe&&!Me?qe:void 0},fe==null?void 0:fe.style),xt),ee=Tt("tag",Un),[Ne,I]=vt(ee),rt=P()(ee,fe==null?void 0:fe.className,{[`${ee}-${qe}`]:Me,[`${ee}-has-color`]:qe&&!Me,[`${ee}-hidden`]:!nn,[`${ee}-rtl`]:yt==="rtl",[`${ee}-borderless`]:!ge},Ze,Ie,I),de=et=>{et.stopPropagation(),Re==null||Re(et),!et.defaultPrevented&&We(!1)},[,ae]=(0,S.Z)(rn,Je,et=>et===null?l.createElement(R.Z,{className:`${ee}-close-icon`,onClick:de}):l.createElement("span",{className:`${ee}-close-icon`,onClick:de},et),null,!1),$e=typeof Pe.onClick=="function"||Jt&&Jt.type==="a",Ge=tn||null,Sn=Ge?l.createElement(l.Fragment,null,Ge,Jt&&l.createElement("span",null,Jt)):Jt,Bt=l.createElement("span",Object.assign({},Pe,{ref:Ye,className:rt,style:kt}),Sn,ae,le&&l.createElement(Gt,{key:"preset",prefixCls:ee}),Ke&&l.createElement(me,{key:"status",prefixCls:ee}));return Ne($e?l.createElement(E.Z,{component:"Tag"},Bt):Bt)},pn=l.forwardRef(ye);pn.CheckableTag=Mt;var cn=pn},80574:function(gt,dt,f){"use strict";f.d(dt,{Ae:function(){return X},CF:function(){return ae},vC:function(){return Ne},x1:function(){return S}});function l(Bt,et,Pt,Xt,Lt,_t){const Vt=Bt,Ee=et,xe=Pt-Vt,Ae=Xt-Ee;let Xe=Lt-Vt,yn=_t-Ee,fn=Xe*xe+yn*Ae,Hn=0;fn<=0?Hn=0:(Xe=xe-Xe,yn=Ae-yn,fn=Xe*xe+yn*Ae,fn<=0?Hn=0:Hn=fn*fn/(xe*xe+Ae*Ae));const Zn=Xe*Xe+yn*yn-Hn;return Zn<0?0:Zn}function R(Bt,et,Pt,Xt){return(Bt-Pt)*(Bt-Pt)+(et-Xt)*(et-Xt)}function U(Bt,et,Pt,Xt,Lt){return R(Bt,et,Pt,Xt)Pt;if(Bt===0)return Math.round;const et=Math.pow(10,Bt);return Pt=>Math.round(Pt*et)/et}function m(Bt){const et=Math.min(Bt.x1,Bt.x2),Pt=Math.max(Bt.x1,Bt.x2),Xt=Math.min(Bt.y1,Bt.y2),Lt=Math.max(Bt.y1,Bt.y2);return{x:et,y:Xt,x2:Pt,y2:Lt,width:Pt-et,height:Lt-Xt}}class S{constructor(et,Pt,Xt,Lt){this.x1=et,this.y1=Pt,this.x2=Xt,this.y2=Lt}equals(et){return this.x1===et.x1&&this.y1===et.y1&&this.x2===et.x2&&this.y2===et.y2}draw(et){et.moveTo(this.x1,this.y1),et.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(et){return new S(et.x1,et.y1,et.x2,et.y2)}cuts(et,Pt){if(this.y1===this.y2||Ptthis.y1&&Pt>=this.y2||et>this.x1&&et>=this.x2)return!1;if(etthis.x2+Xt)return!1}else if(etthis.x1+Xt)return!1;if(this.y1this.y2+Xt)return!1}else if(Ptthis.y1+Xt)return!1;return!0}}var E;(function(Bt){Bt[Bt.POINT=1]="POINT",Bt[Bt.PARALLEL=2]="PARALLEL",Bt[Bt.COINCIDENT=3]="COINCIDENT",Bt[Bt.NONE=4]="NONE"})(E||(E={}));class F{constructor(et,Pt=0,Xt=0){this.state=et,this.x=Pt,this.y=Xt}}function Q(Bt,et){const Pt=(et.x2-et.x1)*(Bt.y1-et.y1)-(et.y2-et.y1)*(Bt.x1-et.x1),Xt=(Bt.x2-Bt.x1)*(Bt.y1-et.y1)-(Bt.y2-Bt.y1)*(Bt.x1-et.x1),Lt=(et.y2-et.y1)*(Bt.x2-Bt.x1)-(et.x2-et.x1)*(Bt.y2-Bt.y1);if(Lt){const _t=Pt/Lt,Vt=Xt/Lt;return 0<=_t&&_t<=1&&0<=Vt&&Vt<=1?new F(E.POINT,Bt.x1+_t*(Bt.x2-Bt.x1),Bt.y1+_t*(Bt.y2-Bt.y1)):new F(E.NONE)}return new F(Pt===0||Xt===0?E.COINCIDENT:E.PARALLEL)}function O(Bt,et){const Pt=(et.x2-et.x1)*(Bt.y1-et.y1)-(et.y2-et.y1)*(Bt.x1-et.x1),Xt=(Bt.x2-Bt.x1)*(Bt.y1-et.y1)-(Bt.y2-Bt.y1)*(Bt.x1-et.x1),Lt=(et.y2-et.y1)*(Bt.x2-Bt.x1)-(et.x2-et.x1)*(Bt.y2-Bt.y1);if(Lt){const _t=Pt/Lt,Vt=Xt/Lt;if(0<=_t&&_t<=1&&0<=Vt&&Vt<=1)return _t}return Number.POSITIVE_INFINITY}function T(Bt,et){function Pt(Lt,_t,Vt,Ee){let xe=O(et,new S(Lt,_t,Vt,Ee));return xe=Math.abs(xe-.5),xe>=0&&xe<=1?1:0}let Xt=Pt(Bt.x,Bt.y,Bt.x2,Bt.y);return Xt+=Pt(Bt.x,Bt.y,Bt.x,Bt.y2),Xt>1||(Xt+=Pt(Bt.x,Bt.y2,Bt.x2,Bt.y2),Xt>1)?!0:(Xt+=Pt(Bt.x2,Bt.y,Bt.x2,Bt.y2),Xt>0)}var Z;(function(Bt){Bt[Bt.LEFT=0]="LEFT",Bt[Bt.TOP=1]="TOP",Bt[Bt.RIGHT=2]="RIGHT",Bt[Bt.BOTTOM=3]="BOTTOM"})(Z||(Z={}));function tt(Bt,et,Pt){const Xt=new Set;return Bt.width<=0?(Xt.add(Z.LEFT),Xt.add(Z.RIGHT)):etBt.x+Bt.width&&Xt.add(Z.RIGHT),Bt.height<=0?(Xt.add(Z.TOP),Xt.add(Z.BOTTOM)):PtBt.y+Bt.height&&Xt.add(Z.BOTTOM),Xt}function W(Bt,et){let Pt=et.x1,Xt=et.y1;const Lt=et.x2,_t=et.y2,Vt=Array.from(tt(Bt,Lt,_t));if(Vt.length===0)return!0;let Ee=tt(Bt,Pt,Xt);for(;Ee.size!==0;){for(const xe of Vt)if(Ee.has(xe))return!1;if(Ee.has(Z.RIGHT)||Ee.has(Z.LEFT)){let xe=Bt.x;Ee.has(Z.RIGHT)&&(xe+=Bt.width),Xt=Xt+(xe-Pt)*(_t-Xt)/(Lt-Pt),Pt=xe}else{let xe=Bt.y;Ee.has(Z.BOTTOM)&&(xe+=Bt.height),Pt=Pt+(xe-Xt)*(Lt-Pt)/(_t-Xt),Xt=xe}Ee=tt(Bt,Pt,Xt)}return!0}function vt(Bt,et){let Pt=Number.POSITIVE_INFINITY,Xt=0;function Lt(_t,Vt,Ee,xe){let Ae=O(et,new S(_t,Vt,Ee,xe));Ae=Math.abs(Ae-.5),Ae>=0&&Ae<=1&&(Xt++,Ae1||(Lt(Bt.x,Bt.y2,Bt.x2,Bt.y2),Xt>1)?Pt:(Lt(Bt.x2,Bt.y,Bt.x2,Bt.y2),Xt===0?-1:Pt)}function st(Bt,et){let Pt=0;const Xt=Q(Bt,new S(et.x,et.y,et.x2,et.y));Pt+=Xt.state===E.POINT?1:0;const Lt=Q(Bt,new S(et.x,et.y,et.x,et.y2));Pt+=Lt.state===E.POINT?1:0;const _t=Q(Bt,new S(et.x,et.y2,et.x2,et.y2));Pt+=_t.state===E.POINT?1:0;const Vt=Q(Bt,new S(et.x2,et.y,et.x2,et.y2));return Pt+=Vt.state===E.POINT?1:0,{top:Xt,left:Lt,bottom:_t,right:Vt,count:Pt}}class X{constructor(et,Pt,Xt,Lt){this.x=et,this.y=Pt,this.width=Xt,this.height=Lt}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(et){return new X(et.x,et.y,et.width,et.height)}equals(et){return this.x===et.x&&this.y===et.y&&this.width===et.width&&this.height===et.height}clone(){return new X(this.x,this.y,this.width,this.height)}add(et){const Pt=Math.min(this.x,et.x),Xt=Math.min(this.y,et.y),Lt=Math.max(this.x2,et.x+et.width),_t=Math.max(this.y2,et.y+et.height);this.x=Pt,this.y=Xt,this.width=Lt-Pt,this.height=_t-Xt}addPoint(et){const Pt=Math.min(this.x,et.x),Xt=Math.min(this.y,et.y),Lt=Math.max(this.x2,et.x),_t=Math.max(this.y2,et.y);this.x=Pt,this.y=Xt,this.width=Lt-Pt,this.height=_t-Xt}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(et){et.rect(this.x,this.y,this.width,this.height)}containsPt(et,Pt){return et>=this.x&&et<=this.x2&&Pt>=this.y&&Pt<=this.y2}get area(){return this.width*this.height}intersects(et){return this.area<=0||et.width<=0||et.height<=0?!1:et.x+et.width>this.x&&et.y+et.height>this.y&&et.x=this.width?this.width-1:et}boundY(et){return et=this.height?this.height-1:et}scaleX(et){return this.boundX(Math.floor((et-this.pixelX)/this.pixelGroup))}scaleY(et){return this.boundY(Math.floor((et-this.pixelY)/this.pixelGroup))}scale(et){const Pt=this.scaleX(et.x),Xt=this.scaleY(et.y),Lt=this.boundX(Math.ceil((et.x+et.width-this.pixelX)/this.pixelGroup)),_t=this.boundY(Math.ceil((et.y+et.height-this.pixelY)/this.pixelGroup)),Vt=Lt-Pt,Ee=_t-Xt;return new X(Pt,Xt,Vt,Ee)}invertScaleX(et){return Math.round(et*this.pixelGroup+this.pixelX)}invertScaleY(et){return Math.round(et*this.pixelGroup+this.pixelY)}addPadding(et,Pt){const Xt=Math.ceil(Pt/this.pixelGroup),Lt=this.boundX(et.x-Xt),_t=this.boundY(et.y-Xt),Vt=this.boundX(et.x2+Xt),Ee=this.boundY(et.y2+Xt),xe=Vt-Lt,Ae=Ee-_t;return new X(Lt,_t,xe,Ae)}get(et,Pt){return et<0||Pt<0||et>=this.width||Pt>=this.height?Number.NaN:this.area[et+Pt*this.width]}inc(et,Pt,Xt){et<0||Pt<0||et>=this.width||Pt>=this.height||(this.area[et+Pt*this.width]+=Xt)}set(et,Pt,Xt){et<0||Pt<0||et>=this.width||Pt>=this.height||(this.area[et+Pt*this.width]=Xt)}incArea(et,Pt){if(et.width<=0||et.height<=0||Pt===0)return;const Xt=this.width,Lt=et.width,_t=Math.max(0,et.i),Vt=Math.max(0,et.j),Ee=Math.min(et.i+et.width,Xt),xe=Math.min(et.j+et.height,this.height);if(!(xe<=0||Ee<=0||_t>=Xt||xe>=this.height))for(let Ae=Vt;AeMath.min(Vt,Ee),Number.POSITIVE_INFINITY),Lt=this.area.reduce((Vt,Ee)=>Math.max(Vt,Ee),Number.NEGATIVE_INFINITY),_t=Vt=>(Vt-Xt)/(Lt-Xt);et.scale(this.pixelGroup,this.pixelGroup);for(let Vt=0;VtPt?"black":"white",et.fillRect(Lt,_t,1,1)}et.restore()}}}function Gt(Bt,et){const Pt=Xt=>({x:Xt.x-et,y:Xt.y-et,width:Xt.width+2*et,height:Xt.height+2*et});return Array.isArray(Bt)?Bt.map(Pt):Pt(Bt)}function Kt(Bt,et,Pt){return Fe(Object.assign(m(Bt),{distSquare:(Xt,Lt)=>l(Bt.x1,Bt.y1,Bt.x2,Bt.y2,Xt,Lt)}),et,Pt)}function Fe(Bt,et,Pt){const Xt=Gt(Bt,Pt),Lt=et.scale(Xt),_t=et.createSub(Lt,Xt);return me(_t,et,Pt,(Vt,Ee)=>Bt.distSquare(Vt,Ee)),_t}function me(Bt,et,Pt,Xt){const Lt=Pt*Pt;for(let _t=0;_t{const Ee=Lt.slice(0,Vt);return Un(et,_t,Ee,Pt,Xt)}).flat()}function Un(Bt,et,Pt,Xt,Lt){const _t=we(et.cx,et.cy),Vt=xt(_t,Pt,Bt);if(Vt==null)return[];const Ee=new S(_t.x,_t.y,Vt.cx,Vt.cy),xe=Ze(Ee,Bt,Xt,Lt);return Ie(xe,Bt)}function Ze(Bt,et,Pt,Xt){const Lt=[],_t=[];_t.push(Bt);let Vt=!0;for(let Ee=0;Ee0;){const xe=_t.pop(),Ae=Re(et,xe),Xe=Ae?st(xe,Ae):null;if(!Ae||!Xe||Xe.count!==2){Vt||Lt.push(xe);continue}let yn=Xt,fn=rn(Ae,yn,Xe,!0),Hn=qe(fn,_t)||qe(fn,Lt),Zn=tn(fn,et);for(;!Hn&&Zn&&yn>=1;)yn/=1.5,fn=rn(Ae,yn,Xe,!0),Hn=qe(fn,_t)||qe(fn,Lt),Zn=tn(fn,et);if(fn&&!Hn&&!Zn&&(_t.push(new S(xe.x1,xe.y1,fn.x,fn.y)),_t.push(new S(fn.x,fn.y,xe.x2,xe.y2)),Vt=!0),Vt)continue;yn=Xt,fn=rn(Ae,yn,Xe,!1);let Gn=qe(fn,_t)||qe(fn,Lt);for(Zn=tn(fn,et);!Gn&&Zn&&yn>=1;)yn/=1.5,fn=rn(Ae,yn,Xe,!1),Gn=qe(fn,_t)||qe(fn,Lt),Zn=tn(fn,et);fn&&!Gn&&(_t.push(new S(xe.x1,xe.y1,fn.x,fn.y)),_t.push(new S(fn.x,fn.y,xe.x2,xe.y2)),Vt=!0),Vt||Lt.push(xe)}for(;_t.length>0;)Lt.push(_t.pop());return Lt}function Ie(Bt,et){const Pt=[];for(;Bt.length>0;){const Xt=Bt.pop();if(Bt.length===0){Pt.push(Xt);break}const Lt=Bt.pop(),_t=new S(Xt.x1,Xt.y1,Lt.x2,Lt.y2);Re(et,_t)?(Pt.push(Xt),Bt.push(Lt)):Bt.push(_t)}return Pt}function xt(Bt,et,Pt){let Xt=Number.POSITIVE_INFINITY;return et.reduce((Lt,_t)=>{const Vt=R(Bt.x,Bt.y,_t.cx,_t.cy);if(Vt>Xt)return Lt;const Ee=new S(Bt.x,Bt.y,_t.cx,_t.cy),xe=Je(Pt,Ee);return Vt*(xe+1)*(xe+1){et+=Xt.cx,Pt+=Xt.cy}),et/=Bt.length,Pt/=Bt.length,Bt.map(Xt=>{const Lt=et-Xt.cx,_t=Pt-Xt.cy,Vt=Lt*Lt+_t*_t;return[Xt,Vt]}).sort((Xt,Lt)=>Xt[1]-Lt[1]).map(Xt=>Xt[0])}function tn(Bt,et){return et.some(Pt=>Pt.containsPt(Bt.x,Bt.y))}function qe(Bt,et){return et.some(Pt=>!!(U(Pt.x1,Pt.y1,Bt.x,Bt.y,.001)||U(Pt.x2,Pt.y2,Bt.x,Bt.y,.001)))}function Re(Bt,et){let Pt=Number.POSITIVE_INFINITY,Xt=null;for(const Lt of Bt){if(!W(Lt,et))continue;const _t=vt(Lt,et);_t>=0&&_tW(Xt,et)&&T(Xt,et)?Pt+1:Pt,0)}function rn(Bt,et,Pt,Xt){const Lt=Pt.top,_t=Pt.left,Vt=Pt.bottom,Ee=Pt.right;if(Xt){if(_t.state===E.POINT){if(Lt.state===E.POINT)return we(Bt.x-et,Bt.y-et);if(Vt.state===E.POINT)return we(Bt.x-et,Bt.y2+et);const fn=Bt.width*Bt.height;return Bt.width*((_t.y-Bt.y+(Ee.y-Bt.y))*.5)Ee.y?we(Bt.x-et,Bt.y-et):we(Bt.x2+et,Bt.y-et):_t.yVt.x?we(Bt.x-et,Bt.y-et):we(Bt.x-et,Bt.y2+et):Lt.xEe.y?we(Bt.x2+et,Bt.y2+et):we(Bt.x-et,Bt.y2+et):_t.yVt.x?we(Bt.x2+et,Bt.y2+et):we(Bt.x2+et,Bt.y-et):Lt.xXt)return!1}return!0}function Pe(Bt=0){return et=>{if(Bt<0||et.length<3)return et;const Pt=[];let Xt=0;const Lt=Bt*Bt;for(;Xt{if(Vt.length<3)return Vt;const Ee=[],xe=Vt.closed,Ae=Vt.length+3-1+(xe?0:2);Ee.push(_t(Vt,2-(xe?0:2),0));for(let Xe=2-(xe?0:2);Xe{let Pt=Bt,Xt=et.length;if(Pt>1)for(Xt=Math.floor(et.length/Pt);Xt<3&&Pt>1;)Pt-=1,Xt=Math.floor(et.length/Pt);const Lt=[];for(let _t=0,Vt=0;Vt=Xt?this.closed?this.get(et-Xt):this.points[Xt-1]:this.points[Pt]}get length(){return this.points.length}toString(et=1/0){const Pt=this.points;if(Pt.length===0)return"";const Xt=typeof et=="function"?et:P(et);let Lt="M";for(const _t of Pt)Lt+=`${Xt(_t.x)},${Xt(_t.y)} L`;return Lt=Lt.slice(0,-1),this.closed&&(Lt+=" Z"),Lt}draw(et){const Pt=this.points;if(Pt.length!==0){et.beginPath(),et.moveTo(Pt[0].x,Pt[0].y);for(const Xt of Pt)et.lineTo(Xt.x,Xt.y);this.closed&&et.closePath()}}sample(et){return fe(et)(this)}simplify(et){return Pe(et)(this)}bSplines(et){return yt(et)(this)}apply(et){return et(this)}containsElements(et){const Pt=Mt(this.points);return Pt?et.every(Xt=>Pt.containsPt(Xt.cx,Xt.cy)&&this.withinArea(Xt.cx,Xt.cy)):!1}withinArea(et,Pt){if(this.length===0)return!1;let Xt=0;const Lt=this.points[0],_t=new S(Lt.x,Lt.y,Lt.x,Lt.y);for(let Vt=1;Vtet?Xe+yn:Xe}function _t(xe,Ae){let Xe=le;return Xe=Lt(xe,Ae,Xe,1),Xe=Lt(xe+1,Ae,Xe,2),Xe=Lt(xe,Ae+1,Xe,4),Xe=Lt(xe+1,Ae+1,Xe,8),Number.isNaN(Xe)?-1:Xe}let Vt=Ke;function Ee(xe,Ae){let Xe=xe,yn=Ae,fn=Bt.invertScaleX(Xe),Hn=Bt.invertScaleY(yn);for(let Zn=0;Znrt(Xt.raw,et));return Pt<0?!1:(this.members.splice(Pt,1),this.dirty.add(de.MEMBERS),!0)}removeNonMember(et){const Pt=this.nonMembers.findIndex(Xt=>rt(Xt.raw,et));return Pt<0?!1:(this.nonMembers.splice(Pt,1),this.dirty.add(de.NON_MEMBERS),!0)}removeEdge(et){const Pt=this.edges.findIndex(Xt=>Xt.obj.equals(et));return Pt<0?!1:(this.edges.splice(Pt,1),this.dirty.add(de.NON_MEMBERS),!0)}pushNonMember(...et){if(et.length!==0){this.dirty.add(de.NON_MEMBERS);for(const Pt of et)this.nonMembers.push({raw:Pt,obj:I(Pt)?ht.from(Pt):X.from(Pt),area:null})}}pushEdge(...et){if(et.length!==0){this.dirty.add(de.EDGES);for(const Pt of et)this.edges.push({raw:Pt,obj:S.from(Pt),area:null})}}update(){const et=this.dirty.has(de.MEMBERS),Pt=this.dirty.has(de.NON_MEMBERS);let Xt=this.dirty.has(de.EDGES);this.dirty.clear();const Lt=this.members.map(Ae=>Ae.obj);if(this.o.virtualEdges&&(et||Pt)){const Ae=this.nonMembers.map(fn=>fn.obj),Xe=Ye(Lt,Ae,this.o.maxRoutingIterations,this.o.morphBuffer),yn=new Map(this.virtualEdges.map(fn=>[fn.obj.toString(),fn.area]));this.virtualEdges=Xe.map(fn=>{var Hn;return{raw:fn,obj:fn,area:(Hn=yn.get(fn.toString()))!==null&&Hn!==void 0?Hn:null}}),Xt=!0}let _t=!1;if(et||Xt){const Ae=this.virtualEdges.concat(this.edges).map(Hn=>Hn.obj),Xe=Ge(Lt,Ae),yn=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,fn=X.from(Gt(Xe,yn));fn.equals(this.activeRegion)||(_t=!0,this.activeRegion=fn)}if(_t){const Ae=Math.ceil(this.activeRegion.width/this.o.pixelGroup),Xe=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Dt.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(yn=>yn.area=null),this.nonMembers.forEach(yn=>yn.area=null),this.edges.forEach(yn=>yn.area=null),this.virtualEdges.forEach(yn=>yn.area=null)):(Ae!==this.potentialArea.width||Xe!==this.potentialArea.height)&&(this.potentialArea=Dt.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const Vt=new Map,Ee=Ae=>{if(Ae.area){const Xe=`${Ae.obj.width}x${Ae.obj.height}x${Ae.obj instanceof X?"R":"C"}`;Vt.set(Xe,Ae.area)}},xe=Ae=>{if(Ae.area)return;const Xe=`${Ae.obj.width}x${Ae.obj.height}x${Ae.obj instanceof X?"R":"C"}`;if(Vt.has(Xe)){const fn=Vt.get(Xe);Ae.area=this.potentialArea.copy(fn,{x:Ae.obj.x-this.o.nodeR1,y:Ae.obj.y-this.o.nodeR1});return}const yn=Ae.obj instanceof X?an(Ae.obj,this.potentialArea,this.o.nodeR1):Fe(Ae.obj,this.potentialArea,this.o.nodeR1);Ae.area=yn,Vt.set(Xe,yn)};this.members.forEach(Ee),this.nonMembers.forEach(Ee),this.members.forEach(xe),this.nonMembers.forEach(Ae=>{this.activeRegion.intersects(Ae.obj)?xe(Ae):Ae.area=null}),this.edges.forEach(Ae=>{Ae.area||(Ae.area=Kt(Ae.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(Ae=>{Ae.area||(Ae.area=Kt(Ae.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(et){for(const Pt of this.members)Pt.obj.draw(et)}drawNonMembers(et){for(const Pt of this.nonMembers)Pt.obj.draw(et)}drawEdges(et){for(const Pt of this.edges)Pt.obj.draw(et)}drawPotentialArea(et,Pt=!0){this.potentialArea.draw(et,Pt)}compute(){if(this.members.length===0)return new nn([]);this.dirty.size>0&&this.update();const{o:et,potentialArea:Pt}=this,Xt=this.members.map(Ee=>Ee.area),Lt=this.virtualEdges.concat(this.edges).map(Ee=>Ee.area),_t=this.nonMembers.filter(Ee=>Ee.area!=null).map(Ee=>Ee.area),Vt=this.members.map(Ee=>Ee.obj);return $e(Pt,Xt,Lt,_t,Ee=>Ee.containsElements(Vt),et)}}function $e(Bt,et,Pt,Xt,Lt,_t={}){const Vt=Object.assign({},Ne,_t);let Ee=Vt.threshold,xe=Vt.memberInfluenceFactor,Ae=Vt.edgeInfluenceFactor,Xe=Vt.nonMemberInfluenceFactor;const yn=(Vt.nodeR0-Vt.nodeR1)*(Vt.nodeR0-Vt.nodeR1),fn=(Vt.edgeR0-Vt.edgeR1)*(Vt.edgeR0-Vt.edgeR1);for(let Hn=0;Hn0)Xe*=.8;else break}return new nn([])}function Ge(Bt,et){if(Bt.length===0)return new X(0,0,0,0);const Pt=X.from(Bt[0]);for(const Xt of Bt)Pt.add(Xt);for(const Xt of et)Pt.add(m(Xt));return Pt}function Sn(Bt,et=[],Pt=[],Xt={}){if(Bt.length===0)return new nn([]);const Lt=new ae(Xt);return Lt.pushMember(...Bt),Lt.pushNonMember(...et),Lt.pushEdge(...Pt),Lt.compute()}},45411:function(gt){"use strict";gt.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(gt,dt,f){var l=f(45411),R=f(81683),U=Object.hasOwnProperty,P=Object.create(null);for(var m in l)U.call(l,m)&&(P[l[m]]=m);var S=gt.exports={to:{},get:{}};S.get=function(Q){var O=Q.substring(0,3).toLowerCase(),T,Z;switch(O){case"hsl":T=S.get.hsl(Q),Z="hsl";break;case"hwb":T=S.get.hwb(Q),Z="hwb";break;default:T=S.get.rgb(Q),Z="rgb";break}return T?{model:Z,value:T}:null},S.get.rgb=function(Q){if(!Q)return null;var O=/^#([a-f0-9]{3,4})$/i,T=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Z=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,tt=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,W=/^(\w+)$/,vt=[0,0,0,1],st,X,Mt;if(st=Q.match(T)){for(Mt=st[2],st=st[1],X=0;X<3;X++){var ht=X*2;vt[X]=parseInt(st.slice(ht,ht+2),16)}Mt&&(vt[3]=parseInt(Mt,16)/255)}else if(st=Q.match(O)){for(st=st[1],Mt=st[3],X=0;X<3;X++)vt[X]=parseInt(st[X]+st[X],16);Mt&&(vt[3]=parseInt(Mt+Mt,16)/255)}else if(st=Q.match(Z)){for(X=0;X<3;X++)vt[X]=parseInt(st[X+1],0);st[4]&&(st[5]?vt[3]=parseFloat(st[4])*.01:vt[3]=parseFloat(st[4]))}else if(st=Q.match(tt)){for(X=0;X<3;X++)vt[X]=Math.round(parseFloat(st[X+1])*2.55);st[4]&&(st[5]?vt[3]=parseFloat(st[4])*.01:vt[3]=parseFloat(st[4]))}else return(st=Q.match(W))?st[1]==="transparent"?[0,0,0,0]:U.call(l,st[1])?(vt=l[st[1]],vt[3]=1,vt):null:null;for(X=0;X<3;X++)vt[X]=E(vt[X],0,255);return vt[3]=E(vt[3],0,1),vt},S.get.hsl=function(Q){if(!Q)return null;var O=/^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*)?\)$/,T=Q.match(O);if(T){var Z=parseFloat(T[4]),tt=(parseFloat(T[1])%360+360)%360,W=E(parseFloat(T[2]),0,100),vt=E(parseFloat(T[3]),0,100),st=E(isNaN(Z)?1:Z,0,1);return[tt,W,vt,st]}return null},S.get.hwb=function(Q){if(!Q)return null;var O=/^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*)?\)$/,T=Q.match(O);if(T){var Z=parseFloat(T[4]),tt=(parseFloat(T[1])%360+360)%360,W=E(parseFloat(T[2]),0,100),vt=E(parseFloat(T[3]),0,100),st=E(isNaN(Z)?1:Z,0,1);return[tt,W,vt,st]}return null},S.to.hex=function(){var Q=R(arguments);return"#"+F(Q[0])+F(Q[1])+F(Q[2])+(Q[3]<1?F(Math.round(Q[3]*255)):"")},S.to.rgb=function(){var Q=R(arguments);return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"},S.to.rgb.percent=function(){var Q=R(arguments),O=Math.round(Q[0]/255*100),T=Math.round(Q[1]/255*100),Z=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+O+"%, "+T+"%, "+Z+"%)":"rgba("+O+"%, "+T+"%, "+Z+"%, "+Q[3]+")"},S.to.hsl=function(){var Q=R(arguments);return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"},S.to.hwb=function(){var Q=R(arguments),O="";return Q.length>=4&&Q[3]!==1&&(O=", "+Q[3]),"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+O+")"},S.to.keyword=function(Q){return P[Q.slice(0,3)]};function E(Q,O,T){return Math.min(Math.max(O,Q),T)}function F(Q){var O=Math.round(Q).toString(16).toUpperCase();return O.length<2?"0"+O:O}},92546:function(gt,dt,f){gt.exports={graphlib:f(76626),layout:f(47194),debug:f(11303),util:{time:f(53063).time,notime:f(53063).notime},version:f(11897)}},81255:function(gt,dt,f){"use strict";var l=f(72361),R=f(39240);gt.exports={run:U,undo:m};function U(S){var E=S.graph().acyclicer==="greedy"?R(S,F(S)):P(S);l.forEach(E,function(Q){var O=S.edge(Q);S.removeEdge(Q),O.forwardName=Q.name,O.reversed=!0,S.setEdge(Q.w,Q.v,O,l.uniqueId("rev"))});function F(Q){return function(O){return Q.edge(O).weight}}}function P(S){var E=[],F={},Q={};function O(T){l.has(Q,T)||(Q[T]=!0,F[T]=!0,l.forEach(S.outEdges(T),function(Z){l.has(F,Z.w)?E.push(Z):O(Z.w)}),delete F[T])}return l.forEach(S.nodes(),O),E}function m(S){l.forEach(S.edges(),function(E){var F=S.edge(E);if(F.reversed){S.removeEdge(E);var Q=F.forwardName;delete F.reversed,delete F.forwardName,S.setEdge(E.w,E.v,F,Q)}})}},60765:function(gt,dt,f){var l=f(72361),R=f(53063);gt.exports=U;function U(m){function S(E){var F=m.children(E),Q=m.node(E);if(F.length&&l.forEach(F,S),l.has(Q,"minRank")){Q.borderLeft=[],Q.borderRight=[];for(var O=Q.minRank,T=Q.maxRank+1;O0;--X)if(st=T[X].dequeue(),st){tt=tt.concat(E(O,T,Z,st,!0));break}}}return tt}function E(O,T,Z,tt,W){var vt=W?[]:void 0;return l.forEach(O.inEdges(tt.v),function(st){var X=O.edge(st),Mt=O.node(st.v);W&&vt.push({v:st.v,w:st.w}),Mt.out-=X,Q(T,Z,Mt)}),l.forEach(O.outEdges(tt.v),function(st){var X=O.edge(st),Mt=st.w,ht=O.node(Mt);ht.in-=X,Q(T,Z,ht)}),O.removeNode(tt.v),vt}function F(O,T){var Z=new R,tt=0,W=0;l.forEach(O.nodes(),function(X){Z.setNode(X,{v:X,in:0,out:0})}),l.forEach(O.edges(),function(X){var Mt=Z.edge(X.v,X.w)||0,ht=T(X),Dt=Mt+ht;Z.setEdge(X.v,X.w,Dt),W=Math.max(W,Z.node(X.v).out+=ht),tt=Math.max(tt,Z.node(X.w).in+=ht)});var vt=l.range(W+tt+3).map(function(){return new U}),st=tt+1;return l.forEach(Z.nodes(),function(X){Q(vt,st,Z.node(X))}),{graph:Z,buckets:vt,zeroIdx:st}}function Q(O,T,Z){Z.out?Z.in?O[Z.out-Z.in+T].enqueue(Z):O[O.length-1].enqueue(Z):O[0].enqueue(Z)}},47194:function(gt,dt,f){"use strict";var l=f(72361),R=f(81255),U=f(27163),P=f(64505),m=f(53063).normalizeRanks,S=f(71970),E=f(53063).removeEmptyRanks,F=f(31733),Q=f(60765),O=f(13257),T=f(62852),Z=f(93021),tt=f(53063),W=f(76626).Graph;gt.exports=vt;function vt(ge,Pe){var Tt=Pe&&Pe.debugTiming?tt.time:tt.notime;Tt("layout",function(){var yt=Tt(" buildLayoutGraph",function(){return ye(ge)});Tt(" runLayout",function(){st(yt,Tt)}),Tt(" updateInputGraph",function(){X(ge,yt)})})}function st(ge,Pe){Pe(" makeSpaceForEdgeLabels",function(){pn(ge)}),Pe(" removeSelfEdges",function(){tn(ge)}),Pe(" acyclic",function(){R.run(ge)}),Pe(" nestingGraph.run",function(){F.run(ge)}),Pe(" rank",function(){P(tt.asNonCompoundGraph(ge))}),Pe(" injectEdgeLabelProxies",function(){cn(ge)}),Pe(" removeEmptyRanks",function(){E(ge)}),Pe(" nestingGraph.cleanup",function(){F.cleanup(ge)}),Pe(" normalizeRanks",function(){m(ge)}),Pe(" assignRankMinMax",function(){we(ge)}),Pe(" removeEdgeLabelProxies",function(){Ye(ge)}),Pe(" normalize.run",function(){U.run(ge)}),Pe(" parentDummyChains",function(){S(ge)}),Pe(" addBorderSegments",function(){Q(ge)}),Pe(" order",function(){T(ge)}),Pe(" insertSelfEdges",function(){qe(ge)}),Pe(" adjustCoordinateSystem",function(){O.adjust(ge)}),Pe(" position",function(){Z(ge)}),Pe(" positionSelfEdges",function(){Re(ge)}),Pe(" removeBorderNodes",function(){Jt(ge)}),Pe(" normalize.undo",function(){U.undo(ge)}),Pe(" fixupEdgeLabelCoords",function(){Ie(ge)}),Pe(" undoCoordinateSystem",function(){O.undo(ge)}),Pe(" translateGraph",function(){Un(ge)}),Pe(" assignNodeIntersects",function(){Ze(ge)}),Pe(" reversePoints",function(){xt(ge)}),Pe(" acyclic.undo",function(){R.undo(ge)})}function X(ge,Pe){l.forEach(ge.nodes(),function(Tt){var yt=ge.node(Tt),fe=Pe.node(Tt);yt&&(yt.x=fe.x,yt.y=fe.y,Pe.children(Tt).length&&(yt.width=fe.width,yt.height=fe.height))}),l.forEach(ge.edges(),function(Tt){var yt=ge.edge(Tt),fe=Pe.edge(Tt);yt.points=fe.points,l.has(fe,"x")&&(yt.x=fe.x,yt.y=fe.y)}),ge.graph().width=Pe.graph().width,ge.graph().height=Pe.graph().height}var Mt=["nodesep","edgesep","ranksep","marginx","marginy"],ht={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Dt=["acyclicer","ranker","rankdir","align"],Gt=["width","height"],Kt={width:0,height:0},Fe=["minlen","weight","width","height","labeloffset"],me={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},an=["labelpos"];function ye(ge){var Pe=new W({multigraph:!0,compound:!0}),Tt=rn(ge.graph());return Pe.setGraph(l.merge({},ht,Je(Tt,Mt),l.pick(Tt,Dt))),l.forEach(ge.nodes(),function(yt){var fe=rn(ge.node(yt));Pe.setNode(yt,l.defaults(Je(fe,Gt),Kt)),Pe.setParent(yt,ge.parent(yt))}),l.forEach(ge.edges(),function(yt){var fe=rn(ge.edge(yt));Pe.setEdge(yt,l.merge({},me,Je(fe,Fe),l.pick(fe,an)))}),Pe}function pn(ge){var Pe=ge.graph();Pe.ranksep/=2,l.forEach(ge.edges(),function(Tt){var yt=ge.edge(Tt);yt.minlen*=2,yt.labelpos.toLowerCase()!=="c"&&(Pe.rankdir==="TB"||Pe.rankdir==="BT"?yt.width+=yt.labeloffset:yt.height+=yt.labeloffset)})}function cn(ge){l.forEach(ge.edges(),function(Pe){var Tt=ge.edge(Pe);if(Tt.width&&Tt.height){var yt=ge.node(Pe.v),fe=ge.node(Pe.w),nn={rank:(fe.rank-yt.rank)/2+yt.rank,e:Pe};tt.addDummyNode(ge,"edge-proxy",nn,"_ep")}})}function we(ge){var Pe=0;l.forEach(ge.nodes(),function(Tt){var yt=ge.node(Tt);yt.borderTop&&(yt.minRank=ge.node(yt.borderTop).rank,yt.maxRank=ge.node(yt.borderBottom).rank,Pe=l.max(Pe,yt.maxRank))}),ge.graph().maxRank=Pe}function Ye(ge){l.forEach(ge.nodes(),function(Pe){var Tt=ge.node(Pe);Tt.dummy==="edge-proxy"&&(ge.edge(Tt.e).labelRank=Tt.rank,ge.removeNode(Pe))})}function Un(ge){var Pe=Number.POSITIVE_INFINITY,Tt=0,yt=Number.POSITIVE_INFINITY,fe=0,nn=ge.graph(),We=nn.marginx||0,le=nn.marginy||0;function Ke(Me){var kt=Me.x,ee=Me.y,Ne=Me.width,I=Me.height;Pe=Math.min(Pe,kt-Ne/2),Tt=Math.max(Tt,kt+Ne/2),yt=Math.min(yt,ee-I/2),fe=Math.max(fe,ee+I/2)}l.forEach(ge.nodes(),function(Me){Ke(ge.node(Me))}),l.forEach(ge.edges(),function(Me){var kt=ge.edge(Me);l.has(kt,"x")&&Ke(kt)}),Pe-=We,yt-=le,l.forEach(ge.nodes(),function(Me){var kt=ge.node(Me);kt.x-=Pe,kt.y-=yt}),l.forEach(ge.edges(),function(Me){var kt=ge.edge(Me);l.forEach(kt.points,function(ee){ee.x-=Pe,ee.y-=yt}),l.has(kt,"x")&&(kt.x-=Pe),l.has(kt,"y")&&(kt.y-=yt)}),nn.width=Tt-Pe+We,nn.height=fe-yt+le}function Ze(ge){l.forEach(ge.edges(),function(Pe){var Tt=ge.edge(Pe),yt=ge.node(Pe.v),fe=ge.node(Pe.w),nn,We;Tt.points?(nn=Tt.points[0],We=Tt.points[Tt.points.length-1]):(Tt.points=[],nn=fe,We=yt),Tt.points.unshift(tt.intersectRect(yt,nn)),Tt.points.push(tt.intersectRect(fe,We))})}function Ie(ge){l.forEach(ge.edges(),function(Pe){var Tt=ge.edge(Pe);if(l.has(Tt,"x"))switch((Tt.labelpos==="l"||Tt.labelpos==="r")&&(Tt.width-=Tt.labeloffset),Tt.labelpos){case"l":Tt.x-=Tt.width/2+Tt.labeloffset;break;case"r":Tt.x+=Tt.width/2+Tt.labeloffset;break}})}function xt(ge){l.forEach(ge.edges(),function(Pe){var Tt=ge.edge(Pe);Tt.reversed&&Tt.points.reverse()})}function Jt(ge){l.forEach(ge.nodes(),function(Pe){if(ge.children(Pe).length){var Tt=ge.node(Pe),yt=ge.node(Tt.borderTop),fe=ge.node(Tt.borderBottom),nn=ge.node(l.last(Tt.borderLeft)),We=ge.node(l.last(Tt.borderRight));Tt.width=Math.abs(We.x-nn.x),Tt.height=Math.abs(fe.y-yt.y),Tt.x=nn.x+Tt.width/2,Tt.y=yt.y+Tt.height/2}}),l.forEach(ge.nodes(),function(Pe){ge.node(Pe).dummy==="border"&&ge.removeNode(Pe)})}function tn(ge){l.forEach(ge.edges(),function(Pe){if(Pe.v===Pe.w){var Tt=ge.node(Pe.v);Tt.selfEdges||(Tt.selfEdges=[]),Tt.selfEdges.push({e:Pe,label:ge.edge(Pe)}),ge.removeEdge(Pe)}})}function qe(ge){var Pe=tt.buildLayerMatrix(ge);l.forEach(Pe,function(Tt){var yt=0;l.forEach(Tt,function(fe,nn){var We=ge.node(fe);We.order=nn+yt,l.forEach(We.selfEdges,function(le){tt.addDummyNode(ge,"selfedge",{width:le.label.width,height:le.label.height,rank:We.rank,order:nn+ ++yt,e:le.e,label:le.label},"_se")}),delete We.selfEdges})})}function Re(ge){l.forEach(ge.nodes(),function(Pe){var Tt=ge.node(Pe);if(Tt.dummy==="selfedge"){var yt=ge.node(Tt.e.v),fe=yt.x+yt.width/2,nn=yt.y,We=Tt.x-fe,le=yt.height/2;ge.setEdge(Tt.e,Tt.label),ge.removeNode(Pe),Tt.label.points=[{x:fe+2*We/3,y:nn-le},{x:fe+5*We/6,y:nn-le},{x:fe+We,y:nn},{x:fe+5*We/6,y:nn+le},{x:fe+2*We/3,y:nn+le}],Tt.label.x=Tt.x,Tt.label.y=Tt.y}})}function Je(ge,Pe){return l.mapValues(l.pick(ge,Pe),Number)}function rn(ge){var Pe={};return l.forEach(ge,function(Tt,yt){Pe[yt.toLowerCase()]=Tt}),Pe}},72361:function(gt,dt,f){var l;try{l={cloneDeep:f(44187),constant:f(46221),defaults:f(34981),each:f(61475),filter:f(3130),find:f(48835),flatten:f(1332),forEach:f(47177),forIn:f(59946),has:f(64760),isUndefined:f(68408),last:f(47522),map:f(81426),mapValues:f(60032),max:f(18038),merge:f(55056),min:f(60169),minBy:f(13604),now:f(76308),pick:f(72333),range:f(69235),reduce:f(9695),sortBy:f(35020),uniqueId:f(69624),values:f(72834),zipObject:f(79261)}}catch(R){}l||(l=window._),gt.exports=l},31733:function(gt,dt,f){var l=f(72361),R=f(53063);gt.exports={run:U,cleanup:E};function U(F){var Q=R.addDummyNode(F,"root",{},"_root"),O=m(F),T=l.max(l.values(O))-1,Z=2*T+1;F.graph().nestingRoot=Q,l.forEach(F.edges(),function(W){F.edge(W).minlen*=Z});var tt=S(F)+1;l.forEach(F.children(),function(W){P(F,Q,Z,tt,T,O,W)}),F.graph().nodeRankFactor=Z}function P(F,Q,O,T,Z,tt,W){var vt=F.children(W);if(!vt.length){W!==Q&&F.setEdge(Q,W,{weight:0,minlen:O});return}var st=R.addBorderNode(F,"_bt"),X=R.addBorderNode(F,"_bb"),Mt=F.node(W);F.setParent(st,W),Mt.borderTop=st,F.setParent(X,W),Mt.borderBottom=X,l.forEach(vt,function(ht){P(F,Q,O,T,Z,tt,ht);var Dt=F.node(ht),Gt=Dt.borderTop?Dt.borderTop:ht,Kt=Dt.borderBottom?Dt.borderBottom:ht,Fe=Dt.borderTop?T:2*T,me=Gt!==Kt?1:Z-tt[W]+1;F.setEdge(st,Gt,{weight:Fe,minlen:me,nestingEdge:!0}),F.setEdge(Kt,X,{weight:Fe,minlen:me,nestingEdge:!0})}),F.parent(W)||F.setEdge(Q,st,{weight:0,minlen:Z+tt[W]})}function m(F){var Q={};function O(T,Z){var tt=F.children(T);tt&&tt.length&&l.forEach(tt,function(W){O(W,Z+1)}),Q[T]=Z}return l.forEach(F.children(),function(T){O(T,1)}),Q}function S(F){return l.reduce(F.edges(),function(Q,O){return Q+F.edge(O).weight},0)}function E(F){var Q=F.graph();F.removeNode(Q.nestingRoot),delete Q.nestingRoot,l.forEach(F.edges(),function(O){var T=F.edge(O);T.nestingEdge&&F.removeEdge(O)})}},27163:function(gt,dt,f){"use strict";var l=f(72361),R=f(53063);gt.exports={run:U,undo:m};function U(S){S.graph().dummyChains=[],l.forEach(S.edges(),function(E){P(S,E)})}function P(S,E){var F=E.v,Q=S.node(F).rank,O=E.w,T=S.node(O).rank,Z=E.name,tt=S.edge(E),W=tt.labelRank;if(T!==Q+1){S.removeEdge(E);var vt,st,X;for(X=0,++Q;Q0;)W%2&&(vt+=T[W+1]),W=W-1>>1,T[W]+=tt.weight;Z+=tt.weight*vt})),Z}},62852:function(gt,dt,f){"use strict";var l=f(72361),R=f(18043),U=f(45456),P=f(86490),m=f(59105),S=f(52205),E=f(76626).Graph,F=f(53063);gt.exports=Q;function Q(tt){var W=F.maxRank(tt),vt=O(tt,l.range(1,W+1),"inEdges"),st=O(tt,l.range(W-1,-1,-1),"outEdges"),X=R(tt);Z(tt,X);for(var Mt=Number.POSITIVE_INFINITY,ht,Dt=0,Gt=0;Gt<4;++Dt,++Gt){T(Dt%2?vt:st,Dt%4>=2),X=F.buildLayerMatrix(tt);var Kt=U(tt,X);Kt=O.barycenter)&&P(O,T)}}function F(O){return function(T){T.in.push(O),--T.indegree===0&&m.push(T)}}for(;m.length;){var Q=m.pop();S.push(Q),l.forEach(Q.in.reverse(),E(Q)),l.forEach(Q.out,F(Q))}return l.map(l.filter(S,function(O){return!O.merged}),function(O){return l.pick(O,["vs","i","barycenter","weight"])})}function P(m,S){var E=0,F=0;m.weight&&(E+=m.barycenter*m.weight,F+=m.weight),S.weight&&(E+=S.barycenter*S.weight,F+=S.weight),m.vs=S.vs.concat(m.vs),m.barycenter=E/F,m.weight=F,m.i=Math.min(S.i,m.i),S.merged=!0}},86490:function(gt,dt,f){var l=f(72361),R=f(99506),U=f(45926),P=f(1349);gt.exports=m;function m(F,Q,O,T){var Z=F.children(Q),tt=F.node(Q),W=tt?tt.borderLeft:void 0,vt=tt?tt.borderRight:void 0,st={};W&&(Z=l.filter(Z,function(Kt){return Kt!==W&&Kt!==vt}));var X=R(F,Z);l.forEach(X,function(Kt){if(F.children(Kt.v).length){var Fe=m(F,Kt.v,O,T);st[Kt.v]=Fe,l.has(Fe,"barycenter")&&E(Kt,Fe)}});var Mt=U(X,O);S(Mt,st);var ht=P(Mt,T);if(W&&(ht.vs=l.flatten([W,ht.vs,vt],!0),F.predecessors(W).length)){var Dt=F.node(F.predecessors(W)[0]),Gt=F.node(F.predecessors(vt)[0]);l.has(ht,"barycenter")||(ht.barycenter=0,ht.weight=0),ht.barycenter=(ht.barycenter*ht.weight+Dt.order+Gt.order)/(ht.weight+2),ht.weight+=2}return ht}function S(F,Q){l.forEach(F,function(O){O.vs=l.flatten(O.vs.map(function(T){return Q[T]?Q[T].vs:T}),!0)})}function E(F,Q){l.isUndefined(F.barycenter)?(F.barycenter=Q.barycenter,F.weight=Q.weight):(F.barycenter=(F.barycenter*F.weight+Q.barycenter*Q.weight)/(F.weight+Q.weight),F.weight+=Q.weight)}},1349:function(gt,dt,f){var l=f(72361),R=f(53063);gt.exports=U;function U(S,E){var F=R.partition(S,function(st){return l.has(st,"barycenter")}),Q=F.lhs,O=l.sortBy(F.rhs,function(st){return-st.i}),T=[],Z=0,tt=0,W=0;Q.sort(m(!!E)),W=P(T,O,W),l.forEach(Q,function(st){W+=st.vs.length,T.push(st.vs),Z+=st.barycenter*st.weight,tt+=st.weight,W=P(T,O,W)});var vt={vs:l.flatten(T,!0)};return tt&&(vt.barycenter=Z/tt,vt.weight=tt),vt}function P(S,E,F){for(var Q;E.length&&(Q=l.last(E)).i<=F;)E.pop(),S.push(Q.vs),F++;return F}function m(S){return function(E,F){return E.barycenterF.barycenter?1:S?F.i-E.i:E.i-F.i}}},71970:function(gt,dt,f){var l=f(72361);gt.exports=R;function R(m){var S=P(m);l.forEach(m.graph().dummyChains,function(E){for(var F=m.node(E),Q=F.edgeObj,O=U(m,S,Q.v,Q.w),T=O.path,Z=O.lca,tt=0,W=T[tt],vt=!0;E!==Q.w;){if(F=m.node(E),vt){for(;(W=T[tt])!==Z&&m.node(W).maxRankT||Z>S[tt].lim));for(W=tt,tt=F;(tt=m.parent(tt))!==W;)O.push(tt);return{path:Q.concat(O.reverse()),lca:W}}function P(m){var S={},E=0;function F(Q){var O=E;l.forEach(m.children(Q),F),S[Q]={low:O,lim:E++}}return l.forEach(m.children(),F),S}},25515:function(gt,dt,f){"use strict";var l=f(72361),R=f(76626).Graph,U=f(53063);gt.exports={positionX:vt,findType1Conflicts:P,findType2Conflicts:m,addConflict:E,hasConflict:F,verticalAlignment:Q,horizontalCompaction:O,alignCoordinates:tt,findSmallestWidthAlignment:Z,balance:W};function P(Mt,ht){var Dt={};function Gt(Kt,Fe){var me=0,an=0,ye=Kt.length,pn=l.last(Fe);return l.forEach(Fe,function(cn,we){var Ye=S(Mt,cn),Un=Ye?Mt.node(Ye).order:ye;(Ye||cn===pn)&&(l.forEach(Fe.slice(an,we+1),function(Ze){l.forEach(Mt.predecessors(Ze),function(Ie){var xt=Mt.node(Ie),Jt=xt.order;(Jtpn)&&E(Dt,Ye,cn)})})}function Kt(Fe,me){var an=-1,ye,pn=0;return l.forEach(me,function(cn,we){if(Mt.node(cn).dummy==="border"){var Ye=Mt.predecessors(cn);Ye.length&&(ye=Mt.node(Ye[0]).order,Gt(me,pn,we,an,ye),pn=we,an=ye)}Gt(me,pn,me.length,ye,Fe.length)}),me}return l.reduce(ht,Kt),Dt}function S(Mt,ht){if(Mt.node(ht).dummy)return l.find(Mt.predecessors(ht),function(Dt){return Mt.node(Dt).dummy})}function E(Mt,ht,Dt){if(ht>Dt){var Gt=ht;ht=Dt,Dt=Gt}var Kt=Mt[ht];Kt||(Mt[ht]=Kt={}),Kt[Dt]=!0}function F(Mt,ht,Dt){if(ht>Dt){var Gt=ht;ht=Dt,Dt=Gt}return l.has(Mt[ht],Dt)}function Q(Mt,ht,Dt,Gt){var Kt={},Fe={},me={};return l.forEach(ht,function(an){l.forEach(an,function(ye,pn){Kt[ye]=ye,Fe[ye]=ye,me[ye]=pn})}),l.forEach(ht,function(an){var ye=-1;l.forEach(an,function(pn){var cn=Gt(pn);if(cn.length){cn=l.sortBy(cn,function(Ie){return me[Ie]});for(var we=(cn.length-1)/2,Ye=Math.floor(we),Un=Math.ceil(we);Ye<=Un;++Ye){var Ze=cn[Ye];Fe[pn]===pn&&yeye.lim&&(pn=ye,cn=!0);var we=l.filter(Gt.edges(),function(Ye){return cn===ht(Dt,Dt.node(Ye.v),pn)&&cn!==ht(Dt,Dt.node(Ye.w),pn)});return l.minBy(we,function(Ye){return U(Gt,Ye)})}function st(Dt,Gt,Kt,Fe){var me=Kt.v,an=Kt.w;Dt.removeEdge(me,an),Dt.setEdge(Fe.v,Fe.w,{}),Z(Dt),Q(Dt,Gt),X(Dt,Gt)}function X(Dt,Gt){var Kt=l.find(Dt.nodes(),function(me){return!Gt.node(me).parent}),Fe=m(Dt,Kt);Fe=Fe.slice(1),l.forEach(Fe,function(me){var an=Dt.node(me).parent,ye=Gt.edge(me,an),pn=!1;ye||(ye=Gt.edge(an,me),pn=!0),Gt.node(me).rank=Gt.node(an).rank+(pn?ye.minlen:-ye.minlen)})}function Mt(Dt,Gt,Kt){return Dt.hasEdge(Gt,Kt)}function ht(Dt,Gt,Kt){return Kt.low<=Gt.lim&&Gt.lim<=Kt.lim}},2416:function(gt,dt,f){"use strict";var l=f(72361);gt.exports={longestPath:R,slack:U};function R(P){var m={};function S(E){var F=P.node(E);if(l.has(m,E))return F.rank;m[E]=!0;var Q=l.min(l.map(P.outEdges(E),function(O){return S(O.w)-P.edge(O).minlen}));return(Q===Number.POSITIVE_INFINITY||Q===void 0||Q===null)&&(Q=0),F.rank=Q}l.forEach(P.sources(),S)}function U(P,m){return P.node(m.w).rank-P.node(m.v).rank-P.edge(m).minlen}},53063:function(gt,dt,f){"use strict";var l=f(72361),R=f(76626).Graph;gt.exports={addDummyNode:U,simplify:P,asNonCompoundGraph:m,successorWeights:S,predecessorWeights:E,intersectRect:F,buildLayerMatrix:Q,normalizeRanks:O,removeEmptyRanks:T,addBorderNode:Z,maxRank:tt,partition:W,time:vt,notime:st};function U(X,Mt,ht,Dt){var Gt;do Gt=l.uniqueId(Dt);while(X.hasNode(Gt));return ht.dummy=Mt,X.setNode(Gt,ht),Gt}function P(X){var Mt=new R().setGraph(X.graph());return l.forEach(X.nodes(),function(ht){Mt.setNode(ht,X.node(ht))}),l.forEach(X.edges(),function(ht){var Dt=Mt.edge(ht.v,ht.w)||{weight:0,minlen:1},Gt=X.edge(ht);Mt.setEdge(ht.v,ht.w,{weight:Dt.weight+Gt.weight,minlen:Math.max(Dt.minlen,Gt.minlen)})}),Mt}function m(X){var Mt=new R({multigraph:X.isMultigraph()}).setGraph(X.graph());return l.forEach(X.nodes(),function(ht){X.children(ht).length||Mt.setNode(ht,X.node(ht))}),l.forEach(X.edges(),function(ht){Mt.setEdge(ht,X.edge(ht))}),Mt}function S(X){var Mt=l.map(X.nodes(),function(ht){var Dt={};return l.forEach(X.outEdges(ht),function(Gt){Dt[Gt.w]=(Dt[Gt.w]||0)+X.edge(Gt).weight}),Dt});return l.zipObject(X.nodes(),Mt)}function E(X){var Mt=l.map(X.nodes(),function(ht){var Dt={};return l.forEach(X.inEdges(ht),function(Gt){Dt[Gt.v]=(Dt[Gt.v]||0)+X.edge(Gt).weight}),Dt});return l.zipObject(X.nodes(),Mt)}function F(X,Mt){var ht=X.x,Dt=X.y,Gt=Mt.x-ht,Kt=Mt.y-Dt,Fe=X.width/2,me=X.height/2;if(!Gt&&!Kt)throw new Error("Not possible to find intersection inside of the rectangle");var an,ye;return Math.abs(Kt)*Fe>Math.abs(Gt)*me?(Kt<0&&(me=-me),an=me*Gt/Kt,ye=me):(Gt<0&&(Fe=-Fe),an=Fe,ye=Fe*Kt/Gt),{x:ht+an,y:Dt+ye}}function Q(X){var Mt=l.map(l.range(tt(X)+1),function(){return[]});return l.forEach(X.nodes(),function(ht){var Dt=X.node(ht),Gt=Dt.rank;l.isUndefined(Gt)||(Mt[Gt][Dt.order]=ht)}),Mt}function O(X){var Mt=l.min(l.map(X.nodes(),function(ht){return X.node(ht).rank}));l.forEach(X.nodes(),function(ht){var Dt=X.node(ht);l.has(Dt,"rank")&&(Dt.rank-=Mt)})}function T(X){var Mt=l.min(l.map(X.nodes(),function(Kt){return X.node(Kt).rank})),ht=[];l.forEach(X.nodes(),function(Kt){var Fe=X.node(Kt).rank-Mt;ht[Fe]||(ht[Fe]=[]),ht[Fe].push(Kt)});var Dt=0,Gt=X.graph().nodeRankFactor;l.forEach(ht,function(Kt,Fe){l.isUndefined(Kt)&&Fe%Gt!==0?--Dt:Dt&&l.forEach(Kt,function(me){X.node(me).rank+=Dt})})}function Z(X,Mt,ht,Dt){var Gt={width:0,height:0};return arguments.length>=4&&(Gt.rank=ht,Gt.order=Dt),U(X,"border",Gt,Mt)}function tt(X){return l.max(l.map(X.nodes(),function(Mt){var ht=X.node(Mt).rank;if(!l.isUndefined(ht))return ht}))}function W(X,Mt){var ht={lhs:[],rhs:[]};return l.forEach(X,function(Dt){Mt(Dt)?ht.lhs.push(Dt):ht.rhs.push(Dt)}),ht}function vt(X,Mt){var ht=l.now();try{return Mt()}finally{console.log(X+" time: "+(l.now()-ht)+"ms")}}function st(X,Mt){return Mt()}},11897:function(gt){gt.exports="0.8.5"},94856:function(gt){"use strict";var dt=Object.prototype.hasOwnProperty,f="~";function l(){}Object.create&&(l.prototype=Object.create(null),new l().__proto__||(f=!1));function R(S,E,F){this.fn=S,this.context=E,this.once=F||!1}function U(S,E,F,Q,O){if(typeof F!="function")throw new TypeError("The listener must be a function");var T=new R(F,Q||S,O),Z=f?f+E:E;return S._events[Z]?S._events[Z].fn?S._events[Z]=[S._events[Z],T]:S._events[Z].push(T):(S._events[Z]=T,S._eventsCount++),S}function P(S,E){--S._eventsCount===0?S._events=new l:delete S._events[E]}function m(){this._events=new l,this._eventsCount=0}m.prototype.eventNames=function(){var E=[],F,Q;if(this._eventsCount===0)return E;for(Q in F=this._events)dt.call(F,Q)&&E.push(f?Q.slice(1):Q);return Object.getOwnPropertySymbols?E.concat(Object.getOwnPropertySymbols(F)):E},m.prototype.listeners=function(E){var F=f?f+E:E,Q=this._events[F];if(!Q)return[];if(Q.fn)return[Q.fn];for(var O=0,T=Q.length,Z=new Array(T);O=0?Math.round(Z):Z%.5===0?Math.floor(Z):Math.round(Z)}function S(Z){R=Z}var E=Math.PI/180,F=180/Math.PI;function Q(Z){return Z*E}function O(Z){return Z*F}function T(Z,tt){var W=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l;return Math.abs(Z-tt)<=W*Math.max(1,Math.abs(Z),Math.abs(tt))}},79111:function(gt,dt,f){"use strict";f.d(dt,{Ue:function(){return R},al:function(){return S},xO:function(){return U}});var l=f(85551);function R(){var xt=new l.WT(9);return l.WT!=Float32Array&&(xt[1]=0,xt[2]=0,xt[3]=0,xt[5]=0,xt[6]=0,xt[7]=0),xt[0]=1,xt[4]=1,xt[8]=1,xt}function U(xt,Jt){return xt[0]=Jt[0],xt[1]=Jt[1],xt[2]=Jt[2],xt[3]=Jt[4],xt[4]=Jt[5],xt[5]=Jt[6],xt[6]=Jt[8],xt[7]=Jt[9],xt[8]=Jt[10],xt}function P(xt){var Jt=new glMatrix.ARRAY_TYPE(9);return Jt[0]=xt[0],Jt[1]=xt[1],Jt[2]=xt[2],Jt[3]=xt[3],Jt[4]=xt[4],Jt[5]=xt[5],Jt[6]=xt[6],Jt[7]=xt[7],Jt[8]=xt[8],Jt}function m(xt,Jt){return xt[0]=Jt[0],xt[1]=Jt[1],xt[2]=Jt[2],xt[3]=Jt[3],xt[4]=Jt[4],xt[5]=Jt[5],xt[6]=Jt[6],xt[7]=Jt[7],xt[8]=Jt[8],xt}function S(xt,Jt,tn,qe,Re,Je,rn,ge,Pe){var Tt=new l.WT(9);return Tt[0]=xt,Tt[1]=Jt,Tt[2]=tn,Tt[3]=qe,Tt[4]=Re,Tt[5]=Je,Tt[6]=rn,Tt[7]=ge,Tt[8]=Pe,Tt}function E(xt,Jt,tn,qe,Re,Je,rn,ge,Pe,Tt){return xt[0]=Jt,xt[1]=tn,xt[2]=qe,xt[3]=Re,xt[4]=Je,xt[5]=rn,xt[6]=ge,xt[7]=Pe,xt[8]=Tt,xt}function F(xt){return xt[0]=1,xt[1]=0,xt[2]=0,xt[3]=0,xt[4]=1,xt[5]=0,xt[6]=0,xt[7]=0,xt[8]=1,xt}function Q(xt,Jt){if(xt===Jt){var tn=Jt[1],qe=Jt[2],Re=Jt[5];xt[1]=Jt[3],xt[2]=Jt[6],xt[3]=tn,xt[5]=Jt[7],xt[6]=qe,xt[7]=Re}else xt[0]=Jt[0],xt[1]=Jt[3],xt[2]=Jt[6],xt[3]=Jt[1],xt[4]=Jt[4],xt[5]=Jt[7],xt[6]=Jt[2],xt[7]=Jt[5],xt[8]=Jt[8];return xt}function O(xt,Jt){var tn=Jt[0],qe=Jt[1],Re=Jt[2],Je=Jt[3],rn=Jt[4],ge=Jt[5],Pe=Jt[6],Tt=Jt[7],yt=Jt[8],fe=yt*rn-ge*Tt,nn=-yt*Je+ge*Pe,We=Tt*Je-rn*Pe,le=tn*fe+qe*nn+Re*We;return le?(le=1/le,xt[0]=fe*le,xt[1]=(-yt*qe+Re*Tt)*le,xt[2]=(ge*qe-Re*rn)*le,xt[3]=nn*le,xt[4]=(yt*tn-Re*Pe)*le,xt[5]=(-ge*tn+Re*Je)*le,xt[6]=We*le,xt[7]=(-Tt*tn+qe*Pe)*le,xt[8]=(rn*tn-qe*Je)*le,xt):null}function T(xt,Jt){var tn=Jt[0],qe=Jt[1],Re=Jt[2],Je=Jt[3],rn=Jt[4],ge=Jt[5],Pe=Jt[6],Tt=Jt[7],yt=Jt[8];return xt[0]=rn*yt-ge*Tt,xt[1]=Re*Tt-qe*yt,xt[2]=qe*ge-Re*rn,xt[3]=ge*Pe-Je*yt,xt[4]=tn*yt-Re*Pe,xt[5]=Re*Je-tn*ge,xt[6]=Je*Tt-rn*Pe,xt[7]=qe*Pe-tn*Tt,xt[8]=tn*rn-qe*Je,xt}function Z(xt){var Jt=xt[0],tn=xt[1],qe=xt[2],Re=xt[3],Je=xt[4],rn=xt[5],ge=xt[6],Pe=xt[7],Tt=xt[8];return Jt*(Tt*Je-rn*Pe)+tn*(-Tt*Re+rn*ge)+qe*(Pe*Re-Je*ge)}function tt(xt,Jt,tn){var qe=Jt[0],Re=Jt[1],Je=Jt[2],rn=Jt[3],ge=Jt[4],Pe=Jt[5],Tt=Jt[6],yt=Jt[7],fe=Jt[8],nn=tn[0],We=tn[1],le=tn[2],Ke=tn[3],Me=tn[4],kt=tn[5],ee=tn[6],Ne=tn[7],I=tn[8];return xt[0]=nn*qe+We*rn+le*Tt,xt[1]=nn*Re+We*ge+le*yt,xt[2]=nn*Je+We*Pe+le*fe,xt[3]=Ke*qe+Me*rn+kt*Tt,xt[4]=Ke*Re+Me*ge+kt*yt,xt[5]=Ke*Je+Me*Pe+kt*fe,xt[6]=ee*qe+Ne*rn+I*Tt,xt[7]=ee*Re+Ne*ge+I*yt,xt[8]=ee*Je+Ne*Pe+I*fe,xt}function W(xt,Jt,tn){var qe=Jt[0],Re=Jt[1],Je=Jt[2],rn=Jt[3],ge=Jt[4],Pe=Jt[5],Tt=Jt[6],yt=Jt[7],fe=Jt[8],nn=tn[0],We=tn[1];return xt[0]=qe,xt[1]=Re,xt[2]=Je,xt[3]=rn,xt[4]=ge,xt[5]=Pe,xt[6]=nn*qe+We*rn+Tt,xt[7]=nn*Re+We*ge+yt,xt[8]=nn*Je+We*Pe+fe,xt}function vt(xt,Jt,tn){var qe=Jt[0],Re=Jt[1],Je=Jt[2],rn=Jt[3],ge=Jt[4],Pe=Jt[5],Tt=Jt[6],yt=Jt[7],fe=Jt[8],nn=Math.sin(tn),We=Math.cos(tn);return xt[0]=We*qe+nn*rn,xt[1]=We*Re+nn*ge,xt[2]=We*Je+nn*Pe,xt[3]=We*rn-nn*qe,xt[4]=We*ge-nn*Re,xt[5]=We*Pe-nn*Je,xt[6]=Tt,xt[7]=yt,xt[8]=fe,xt}function st(xt,Jt,tn){var qe=tn[0],Re=tn[1];return xt[0]=qe*Jt[0],xt[1]=qe*Jt[1],xt[2]=qe*Jt[2],xt[3]=Re*Jt[3],xt[4]=Re*Jt[4],xt[5]=Re*Jt[5],xt[6]=Jt[6],xt[7]=Jt[7],xt[8]=Jt[8],xt}function X(xt,Jt){return xt[0]=1,xt[1]=0,xt[2]=0,xt[3]=0,xt[4]=1,xt[5]=0,xt[6]=Jt[0],xt[7]=Jt[1],xt[8]=1,xt}function Mt(xt,Jt){var tn=Math.sin(Jt),qe=Math.cos(Jt);return xt[0]=qe,xt[1]=tn,xt[2]=0,xt[3]=-tn,xt[4]=qe,xt[5]=0,xt[6]=0,xt[7]=0,xt[8]=1,xt}function ht(xt,Jt){return xt[0]=Jt[0],xt[1]=0,xt[2]=0,xt[3]=0,xt[4]=Jt[1],xt[5]=0,xt[6]=0,xt[7]=0,xt[8]=1,xt}function Dt(xt,Jt){return xt[0]=Jt[0],xt[1]=Jt[1],xt[2]=0,xt[3]=Jt[2],xt[4]=Jt[3],xt[5]=0,xt[6]=Jt[4],xt[7]=Jt[5],xt[8]=1,xt}function Gt(xt,Jt){var tn=Jt[0],qe=Jt[1],Re=Jt[2],Je=Jt[3],rn=tn+tn,ge=qe+qe,Pe=Re+Re,Tt=tn*rn,yt=qe*rn,fe=qe*ge,nn=Re*rn,We=Re*ge,le=Re*Pe,Ke=Je*rn,Me=Je*ge,kt=Je*Pe;return xt[0]=1-fe-le,xt[3]=yt-kt,xt[6]=nn+Me,xt[1]=yt+kt,xt[4]=1-Tt-le,xt[7]=We-Ke,xt[2]=nn-Me,xt[5]=We+Ke,xt[8]=1-Tt-fe,xt}function Kt(xt,Jt){var tn=Jt[0],qe=Jt[1],Re=Jt[2],Je=Jt[3],rn=Jt[4],ge=Jt[5],Pe=Jt[6],Tt=Jt[7],yt=Jt[8],fe=Jt[9],nn=Jt[10],We=Jt[11],le=Jt[12],Ke=Jt[13],Me=Jt[14],kt=Jt[15],ee=tn*ge-qe*rn,Ne=tn*Pe-Re*rn,I=tn*Tt-Je*rn,rt=qe*Pe-Re*ge,de=qe*Tt-Je*ge,ae=Re*Tt-Je*Pe,$e=yt*Ke-fe*le,Ge=yt*Me-nn*le,Sn=yt*kt-We*le,Bt=fe*Me-nn*Ke,et=fe*kt-We*Ke,Pt=nn*kt-We*Me,Xt=ee*Pt-Ne*et+I*Bt+rt*Sn-de*Ge+ae*$e;return Xt?(Xt=1/Xt,xt[0]=(ge*Pt-Pe*et+Tt*Bt)*Xt,xt[1]=(Pe*Sn-rn*Pt-Tt*Ge)*Xt,xt[2]=(rn*et-ge*Sn+Tt*$e)*Xt,xt[3]=(Re*et-qe*Pt-Je*Bt)*Xt,xt[4]=(tn*Pt-Re*Sn+Je*Ge)*Xt,xt[5]=(qe*Sn-tn*et-Je*$e)*Xt,xt[6]=(Ke*ae-Me*de+kt*rt)*Xt,xt[7]=(Me*I-le*ae-kt*Ne)*Xt,xt[8]=(le*de-Ke*I+kt*ee)*Xt,xt):null}function Fe(xt,Jt,tn){return xt[0]=2/Jt,xt[1]=0,xt[2]=0,xt[3]=0,xt[4]=-2/tn,xt[5]=0,xt[6]=-1,xt[7]=1,xt[8]=1,xt}function me(xt){return"mat3("+xt[0]+", "+xt[1]+", "+xt[2]+", "+xt[3]+", "+xt[4]+", "+xt[5]+", "+xt[6]+", "+xt[7]+", "+xt[8]+")"}function an(xt){return Math.sqrt(xt[0]*xt[0]+xt[1]*xt[1]+xt[2]*xt[2]+xt[3]*xt[3]+xt[4]*xt[4]+xt[5]*xt[5]+xt[6]*xt[6]+xt[7]*xt[7]+xt[8]*xt[8])}function ye(xt,Jt,tn){return xt[0]=Jt[0]+tn[0],xt[1]=Jt[1]+tn[1],xt[2]=Jt[2]+tn[2],xt[3]=Jt[3]+tn[3],xt[4]=Jt[4]+tn[4],xt[5]=Jt[5]+tn[5],xt[6]=Jt[6]+tn[6],xt[7]=Jt[7]+tn[7],xt[8]=Jt[8]+tn[8],xt}function pn(xt,Jt,tn){return xt[0]=Jt[0]-tn[0],xt[1]=Jt[1]-tn[1],xt[2]=Jt[2]-tn[2],xt[3]=Jt[3]-tn[3],xt[4]=Jt[4]-tn[4],xt[5]=Jt[5]-tn[5],xt[6]=Jt[6]-tn[6],xt[7]=Jt[7]-tn[7],xt[8]=Jt[8]-tn[8],xt}function cn(xt,Jt,tn){return xt[0]=Jt[0]*tn,xt[1]=Jt[1]*tn,xt[2]=Jt[2]*tn,xt[3]=Jt[3]*tn,xt[4]=Jt[4]*tn,xt[5]=Jt[5]*tn,xt[6]=Jt[6]*tn,xt[7]=Jt[7]*tn,xt[8]=Jt[8]*tn,xt}function we(xt,Jt,tn,qe){return xt[0]=Jt[0]+tn[0]*qe,xt[1]=Jt[1]+tn[1]*qe,xt[2]=Jt[2]+tn[2]*qe,xt[3]=Jt[3]+tn[3]*qe,xt[4]=Jt[4]+tn[4]*qe,xt[5]=Jt[5]+tn[5]*qe,xt[6]=Jt[6]+tn[6]*qe,xt[7]=Jt[7]+tn[7]*qe,xt[8]=Jt[8]+tn[8]*qe,xt}function Ye(xt,Jt){return xt[0]===Jt[0]&&xt[1]===Jt[1]&&xt[2]===Jt[2]&&xt[3]===Jt[3]&&xt[4]===Jt[4]&&xt[5]===Jt[5]&&xt[6]===Jt[6]&&xt[7]===Jt[7]&&xt[8]===Jt[8]}function Un(xt,Jt){var tn=xt[0],qe=xt[1],Re=xt[2],Je=xt[3],rn=xt[4],ge=xt[5],Pe=xt[6],Tt=xt[7],yt=xt[8],fe=Jt[0],nn=Jt[1],We=Jt[2],le=Jt[3],Ke=Jt[4],Me=Jt[5],kt=Jt[6],ee=Jt[7],Ne=Jt[8];return Math.abs(tn-fe)<=glMatrix.EPSILON*Math.max(1,Math.abs(tn),Math.abs(fe))&&Math.abs(qe-nn)<=glMatrix.EPSILON*Math.max(1,Math.abs(qe),Math.abs(nn))&&Math.abs(Re-We)<=glMatrix.EPSILON*Math.max(1,Math.abs(Re),Math.abs(We))&&Math.abs(Je-le)<=glMatrix.EPSILON*Math.max(1,Math.abs(Je),Math.abs(le))&&Math.abs(rn-Ke)<=glMatrix.EPSILON*Math.max(1,Math.abs(rn),Math.abs(Ke))&&Math.abs(ge-Me)<=glMatrix.EPSILON*Math.max(1,Math.abs(ge),Math.abs(Me))&&Math.abs(Pe-kt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Pe),Math.abs(kt))&&Math.abs(Tt-ee)<=glMatrix.EPSILON*Math.max(1,Math.abs(Tt),Math.abs(ee))&&Math.abs(yt-Ne)<=glMatrix.EPSILON*Math.max(1,Math.abs(yt),Math.abs(Ne))}var Ze=null,Ie=null},60187:function(gt,dt,f){"use strict";f.r(dt),f.d(dt,{add:function(){return nn},adjoint:function(){return O},clone:function(){return U},copy:function(){return P},create:function(){return R},decompose:function(){return Ye},determinant:function(){return T},equals:function(){return kt},exactEquals:function(){return Me},frob:function(){return fe},fromQuat:function(){return Ie},fromQuat2:function(){return ye},fromRotation:function(){return Gt},fromRotationTranslation:function(){return an},fromRotationTranslationScale:function(){return Un},fromRotationTranslationScaleOrigin:function(){return Ze},fromScaling:function(){return Dt},fromTranslation:function(){return ht},fromValues:function(){return m},fromXRotation:function(){return Kt},fromYRotation:function(){return Fe},fromZRotation:function(){return me},frustum:function(){return xt},getRotation:function(){return we},getScaling:function(){return cn},getTranslation:function(){return pn},identity:function(){return E},invert:function(){return Q},lookAt:function(){return Pe},mul:function(){return ee},multiply:function(){return Z},multiplyScalar:function(){return le},multiplyScalarAndAdd:function(){return Ke},ortho:function(){return rn},orthoNO:function(){return Je},orthoZO:function(){return ge},perspective:function(){return tn},perspectiveFromFieldOfView:function(){return Re},perspectiveNO:function(){return Jt},perspectiveZO:function(){return qe},rotate:function(){return vt},rotateX:function(){return st},rotateY:function(){return X},rotateZ:function(){return Mt},scale:function(){return W},set:function(){return S},str:function(){return yt},sub:function(){return Ne},subtract:function(){return We},targetTo:function(){return Tt},translate:function(){return tt},transpose:function(){return F}});var l=f(85551);function R(){var I=new l.WT(16);return l.WT!=Float32Array&&(I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[11]=0,I[12]=0,I[13]=0,I[14]=0),I[0]=1,I[5]=1,I[10]=1,I[15]=1,I}function U(I){var rt=new l.WT(16);return rt[0]=I[0],rt[1]=I[1],rt[2]=I[2],rt[3]=I[3],rt[4]=I[4],rt[5]=I[5],rt[6]=I[6],rt[7]=I[7],rt[8]=I[8],rt[9]=I[9],rt[10]=I[10],rt[11]=I[11],rt[12]=I[12],rt[13]=I[13],rt[14]=I[14],rt[15]=I[15],rt}function P(I,rt){return I[0]=rt[0],I[1]=rt[1],I[2]=rt[2],I[3]=rt[3],I[4]=rt[4],I[5]=rt[5],I[6]=rt[6],I[7]=rt[7],I[8]=rt[8],I[9]=rt[9],I[10]=rt[10],I[11]=rt[11],I[12]=rt[12],I[13]=rt[13],I[14]=rt[14],I[15]=rt[15],I}function m(I,rt,de,ae,$e,Ge,Sn,Bt,et,Pt,Xt,Lt,_t,Vt,Ee,xe){var Ae=new l.WT(16);return Ae[0]=I,Ae[1]=rt,Ae[2]=de,Ae[3]=ae,Ae[4]=$e,Ae[5]=Ge,Ae[6]=Sn,Ae[7]=Bt,Ae[8]=et,Ae[9]=Pt,Ae[10]=Xt,Ae[11]=Lt,Ae[12]=_t,Ae[13]=Vt,Ae[14]=Ee,Ae[15]=xe,Ae}function S(I,rt,de,ae,$e,Ge,Sn,Bt,et,Pt,Xt,Lt,_t,Vt,Ee,xe,Ae){return I[0]=rt,I[1]=de,I[2]=ae,I[3]=$e,I[4]=Ge,I[5]=Sn,I[6]=Bt,I[7]=et,I[8]=Pt,I[9]=Xt,I[10]=Lt,I[11]=_t,I[12]=Vt,I[13]=Ee,I[14]=xe,I[15]=Ae,I}function E(I){return I[0]=1,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=1,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[10]=1,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,I}function F(I,rt){if(I===rt){var de=rt[1],ae=rt[2],$e=rt[3],Ge=rt[6],Sn=rt[7],Bt=rt[11];I[1]=rt[4],I[2]=rt[8],I[3]=rt[12],I[4]=de,I[6]=rt[9],I[7]=rt[13],I[8]=ae,I[9]=Ge,I[11]=rt[14],I[12]=$e,I[13]=Sn,I[14]=Bt}else I[0]=rt[0],I[1]=rt[4],I[2]=rt[8],I[3]=rt[12],I[4]=rt[1],I[5]=rt[5],I[6]=rt[9],I[7]=rt[13],I[8]=rt[2],I[9]=rt[6],I[10]=rt[10],I[11]=rt[14],I[12]=rt[3],I[13]=rt[7],I[14]=rt[11],I[15]=rt[15];return I}function Q(I,rt){var de=rt[0],ae=rt[1],$e=rt[2],Ge=rt[3],Sn=rt[4],Bt=rt[5],et=rt[6],Pt=rt[7],Xt=rt[8],Lt=rt[9],_t=rt[10],Vt=rt[11],Ee=rt[12],xe=rt[13],Ae=rt[14],Xe=rt[15],yn=de*Bt-ae*Sn,fn=de*et-$e*Sn,Hn=de*Pt-Ge*Sn,Zn=ae*et-$e*Bt,Gn=ae*Pt-Ge*Bt,Mr=$e*Pt-Ge*et,ur=Xt*xe-Lt*Ee,In=Xt*Ae-_t*Ee,jt=Xt*Xe-Vt*Ee,rr=Lt*Ae-_t*xe,cr=Lt*Xe-Vt*xe,Ue=_t*Xe-Vt*Ae,be=yn*Ue-fn*cr+Hn*rr+Zn*jt-Gn*In+Mr*ur;return be?(be=1/be,I[0]=(Bt*Ue-et*cr+Pt*rr)*be,I[1]=($e*cr-ae*Ue-Ge*rr)*be,I[2]=(xe*Mr-Ae*Gn+Xe*Zn)*be,I[3]=(_t*Gn-Lt*Mr-Vt*Zn)*be,I[4]=(et*jt-Sn*Ue-Pt*In)*be,I[5]=(de*Ue-$e*jt+Ge*In)*be,I[6]=(Ae*Hn-Ee*Mr-Xe*fn)*be,I[7]=(Xt*Mr-_t*Hn+Vt*fn)*be,I[8]=(Sn*cr-Bt*jt+Pt*ur)*be,I[9]=(ae*jt-de*cr-Ge*ur)*be,I[10]=(Ee*Gn-xe*Hn+Xe*yn)*be,I[11]=(Lt*Hn-Xt*Gn-Vt*yn)*be,I[12]=(Bt*In-Sn*rr-et*ur)*be,I[13]=(de*rr-ae*In+$e*ur)*be,I[14]=(xe*fn-Ee*Zn-Ae*yn)*be,I[15]=(Xt*Zn-Lt*fn+_t*yn)*be,I):null}function O(I,rt){var de=rt[0],ae=rt[1],$e=rt[2],Ge=rt[3],Sn=rt[4],Bt=rt[5],et=rt[6],Pt=rt[7],Xt=rt[8],Lt=rt[9],_t=rt[10],Vt=rt[11],Ee=rt[12],xe=rt[13],Ae=rt[14],Xe=rt[15],yn=de*Bt-ae*Sn,fn=de*et-$e*Sn,Hn=de*Pt-Ge*Sn,Zn=ae*et-$e*Bt,Gn=ae*Pt-Ge*Bt,Mr=$e*Pt-Ge*et,ur=Xt*xe-Lt*Ee,In=Xt*Ae-_t*Ee,jt=Xt*Xe-Vt*Ee,rr=Lt*Ae-_t*xe,cr=Lt*Xe-Vt*xe,Ue=_t*Xe-Vt*Ae;return I[0]=Bt*Ue-et*cr+Pt*rr,I[1]=$e*cr-ae*Ue-Ge*rr,I[2]=xe*Mr-Ae*Gn+Xe*Zn,I[3]=_t*Gn-Lt*Mr-Vt*Zn,I[4]=et*jt-Sn*Ue-Pt*In,I[5]=de*Ue-$e*jt+Ge*In,I[6]=Ae*Hn-Ee*Mr-Xe*fn,I[7]=Xt*Mr-_t*Hn+Vt*fn,I[8]=Sn*cr-Bt*jt+Pt*ur,I[9]=ae*jt-de*cr-Ge*ur,I[10]=Ee*Gn-xe*Hn+Xe*yn,I[11]=Lt*Hn-Xt*Gn-Vt*yn,I[12]=Bt*In-Sn*rr-et*ur,I[13]=de*rr-ae*In+$e*ur,I[14]=xe*fn-Ee*Zn-Ae*yn,I[15]=Xt*Zn-Lt*fn+_t*yn,I}function T(I){var rt=I[0],de=I[1],ae=I[2],$e=I[3],Ge=I[4],Sn=I[5],Bt=I[6],et=I[7],Pt=I[8],Xt=I[9],Lt=I[10],_t=I[11],Vt=I[12],Ee=I[13],xe=I[14],Ae=I[15],Xe=rt*Sn-de*Ge,yn=rt*Bt-ae*Ge,fn=de*Bt-ae*Sn,Hn=Pt*Ee-Xt*Vt,Zn=Pt*xe-Lt*Vt,Gn=Xt*xe-Lt*Ee,Mr=rt*Gn-de*Zn+ae*Hn,ur=Ge*Gn-Sn*Zn+Bt*Hn,In=Pt*fn-Xt*yn+Lt*Xe,jt=Vt*fn-Ee*yn+xe*Xe;return et*Mr-$e*ur+Ae*In-_t*jt}function Z(I,rt,de){var ae=rt[0],$e=rt[1],Ge=rt[2],Sn=rt[3],Bt=rt[4],et=rt[5],Pt=rt[6],Xt=rt[7],Lt=rt[8],_t=rt[9],Vt=rt[10],Ee=rt[11],xe=rt[12],Ae=rt[13],Xe=rt[14],yn=rt[15],fn=de[0],Hn=de[1],Zn=de[2],Gn=de[3];return I[0]=fn*ae+Hn*Bt+Zn*Lt+Gn*xe,I[1]=fn*$e+Hn*et+Zn*_t+Gn*Ae,I[2]=fn*Ge+Hn*Pt+Zn*Vt+Gn*Xe,I[3]=fn*Sn+Hn*Xt+Zn*Ee+Gn*yn,fn=de[4],Hn=de[5],Zn=de[6],Gn=de[7],I[4]=fn*ae+Hn*Bt+Zn*Lt+Gn*xe,I[5]=fn*$e+Hn*et+Zn*_t+Gn*Ae,I[6]=fn*Ge+Hn*Pt+Zn*Vt+Gn*Xe,I[7]=fn*Sn+Hn*Xt+Zn*Ee+Gn*yn,fn=de[8],Hn=de[9],Zn=de[10],Gn=de[11],I[8]=fn*ae+Hn*Bt+Zn*Lt+Gn*xe,I[9]=fn*$e+Hn*et+Zn*_t+Gn*Ae,I[10]=fn*Ge+Hn*Pt+Zn*Vt+Gn*Xe,I[11]=fn*Sn+Hn*Xt+Zn*Ee+Gn*yn,fn=de[12],Hn=de[13],Zn=de[14],Gn=de[15],I[12]=fn*ae+Hn*Bt+Zn*Lt+Gn*xe,I[13]=fn*$e+Hn*et+Zn*_t+Gn*Ae,I[14]=fn*Ge+Hn*Pt+Zn*Vt+Gn*Xe,I[15]=fn*Sn+Hn*Xt+Zn*Ee+Gn*yn,I}function tt(I,rt,de){var ae=de[0],$e=de[1],Ge=de[2],Sn,Bt,et,Pt,Xt,Lt,_t,Vt,Ee,xe,Ae,Xe;return rt===I?(I[12]=rt[0]*ae+rt[4]*$e+rt[8]*Ge+rt[12],I[13]=rt[1]*ae+rt[5]*$e+rt[9]*Ge+rt[13],I[14]=rt[2]*ae+rt[6]*$e+rt[10]*Ge+rt[14],I[15]=rt[3]*ae+rt[7]*$e+rt[11]*Ge+rt[15]):(Sn=rt[0],Bt=rt[1],et=rt[2],Pt=rt[3],Xt=rt[4],Lt=rt[5],_t=rt[6],Vt=rt[7],Ee=rt[8],xe=rt[9],Ae=rt[10],Xe=rt[11],I[0]=Sn,I[1]=Bt,I[2]=et,I[3]=Pt,I[4]=Xt,I[5]=Lt,I[6]=_t,I[7]=Vt,I[8]=Ee,I[9]=xe,I[10]=Ae,I[11]=Xe,I[12]=Sn*ae+Xt*$e+Ee*Ge+rt[12],I[13]=Bt*ae+Lt*$e+xe*Ge+rt[13],I[14]=et*ae+_t*$e+Ae*Ge+rt[14],I[15]=Pt*ae+Vt*$e+Xe*Ge+rt[15]),I}function W(I,rt,de){var ae=de[0],$e=de[1],Ge=de[2];return I[0]=rt[0]*ae,I[1]=rt[1]*ae,I[2]=rt[2]*ae,I[3]=rt[3]*ae,I[4]=rt[4]*$e,I[5]=rt[5]*$e,I[6]=rt[6]*$e,I[7]=rt[7]*$e,I[8]=rt[8]*Ge,I[9]=rt[9]*Ge,I[10]=rt[10]*Ge,I[11]=rt[11]*Ge,I[12]=rt[12],I[13]=rt[13],I[14]=rt[14],I[15]=rt[15],I}function vt(I,rt,de,ae){var $e=ae[0],Ge=ae[1],Sn=ae[2],Bt=Math.sqrt($e*$e+Ge*Ge+Sn*Sn),et,Pt,Xt,Lt,_t,Vt,Ee,xe,Ae,Xe,yn,fn,Hn,Zn,Gn,Mr,ur,In,jt,rr,cr,Ue,be,ve;return Bt0?(de[0]=(Bt*Sn+Xt*ae+et*Ge-Pt*$e)*2/Lt,de[1]=(et*Sn+Xt*$e+Pt*ae-Bt*Ge)*2/Lt,de[2]=(Pt*Sn+Xt*Ge+Bt*$e-et*ae)*2/Lt):(de[0]=(Bt*Sn+Xt*ae+et*Ge-Pt*$e)*2,de[1]=(et*Sn+Xt*$e+Pt*ae-Bt*Ge)*2,de[2]=(Pt*Sn+Xt*Ge+Bt*$e-et*ae)*2),an(I,rt,de),I}function pn(I,rt){return I[0]=rt[12],I[1]=rt[13],I[2]=rt[14],I}function cn(I,rt){var de=rt[0],ae=rt[1],$e=rt[2],Ge=rt[4],Sn=rt[5],Bt=rt[6],et=rt[8],Pt=rt[9],Xt=rt[10];return I[0]=Math.sqrt(de*de+ae*ae+$e*$e),I[1]=Math.sqrt(Ge*Ge+Sn*Sn+Bt*Bt),I[2]=Math.sqrt(et*et+Pt*Pt+Xt*Xt),I}function we(I,rt){var de=new l.WT(3);cn(de,rt);var ae=1/de[0],$e=1/de[1],Ge=1/de[2],Sn=rt[0]*ae,Bt=rt[1]*$e,et=rt[2]*Ge,Pt=rt[4]*ae,Xt=rt[5]*$e,Lt=rt[6]*Ge,_t=rt[8]*ae,Vt=rt[9]*$e,Ee=rt[10]*Ge,xe=Sn+Xt+Ee,Ae=0;return xe>0?(Ae=Math.sqrt(xe+1)*2,I[3]=.25*Ae,I[0]=(Lt-Vt)/Ae,I[1]=(_t-et)/Ae,I[2]=(Bt-Pt)/Ae):Sn>Xt&&Sn>Ee?(Ae=Math.sqrt(1+Sn-Xt-Ee)*2,I[3]=(Lt-Vt)/Ae,I[0]=.25*Ae,I[1]=(Bt+Pt)/Ae,I[2]=(_t+et)/Ae):Xt>Ee?(Ae=Math.sqrt(1+Xt-Sn-Ee)*2,I[3]=(_t-et)/Ae,I[0]=(Bt+Pt)/Ae,I[1]=.25*Ae,I[2]=(Lt+Vt)/Ae):(Ae=Math.sqrt(1+Ee-Sn-Xt)*2,I[3]=(Bt-Pt)/Ae,I[0]=(_t+et)/Ae,I[1]=(Lt+Vt)/Ae,I[2]=.25*Ae),I}function Ye(I,rt,de,ae){rt[0]=ae[12],rt[1]=ae[13],rt[2]=ae[14];var $e=ae[0],Ge=ae[1],Sn=ae[2],Bt=ae[4],et=ae[5],Pt=ae[6],Xt=ae[8],Lt=ae[9],_t=ae[10];de[0]=Math.sqrt($e*$e+Ge*Ge+Sn*Sn),de[1]=Math.sqrt(Bt*Bt+et*et+Pt*Pt),de[2]=Math.sqrt(Xt*Xt+Lt*Lt+_t*_t);var Vt=1/de[0],Ee=1/de[1],xe=1/de[2],Ae=$e*Vt,Xe=Ge*Ee,yn=Sn*xe,fn=Bt*Vt,Hn=et*Ee,Zn=Pt*xe,Gn=Xt*Vt,Mr=Lt*Ee,ur=_t*xe,In=Ae+Hn+ur,jt=0;return In>0?(jt=Math.sqrt(In+1)*2,I[3]=.25*jt,I[0]=(Zn-Mr)/jt,I[1]=(Gn-yn)/jt,I[2]=(Xe-fn)/jt):Ae>Hn&&Ae>ur?(jt=Math.sqrt(1+Ae-Hn-ur)*2,I[3]=(Zn-Mr)/jt,I[0]=.25*jt,I[1]=(Xe+fn)/jt,I[2]=(Gn+yn)/jt):Hn>ur?(jt=Math.sqrt(1+Hn-Ae-ur)*2,I[3]=(Gn-yn)/jt,I[0]=(Xe+fn)/jt,I[1]=.25*jt,I[2]=(Zn+Mr)/jt):(jt=Math.sqrt(1+ur-Ae-Hn)*2,I[3]=(Xe-fn)/jt,I[0]=(Gn+yn)/jt,I[1]=(Zn+Mr)/jt,I[2]=.25*jt),I}function Un(I,rt,de,ae){var $e=rt[0],Ge=rt[1],Sn=rt[2],Bt=rt[3],et=$e+$e,Pt=Ge+Ge,Xt=Sn+Sn,Lt=$e*et,_t=$e*Pt,Vt=$e*Xt,Ee=Ge*Pt,xe=Ge*Xt,Ae=Sn*Xt,Xe=Bt*et,yn=Bt*Pt,fn=Bt*Xt,Hn=ae[0],Zn=ae[1],Gn=ae[2];return I[0]=(1-(Ee+Ae))*Hn,I[1]=(_t+fn)*Hn,I[2]=(Vt-yn)*Hn,I[3]=0,I[4]=(_t-fn)*Zn,I[5]=(1-(Lt+Ae))*Zn,I[6]=(xe+Xe)*Zn,I[7]=0,I[8]=(Vt+yn)*Gn,I[9]=(xe-Xe)*Gn,I[10]=(1-(Lt+Ee))*Gn,I[11]=0,I[12]=de[0],I[13]=de[1],I[14]=de[2],I[15]=1,I}function Ze(I,rt,de,ae,$e){var Ge=rt[0],Sn=rt[1],Bt=rt[2],et=rt[3],Pt=Ge+Ge,Xt=Sn+Sn,Lt=Bt+Bt,_t=Ge*Pt,Vt=Ge*Xt,Ee=Ge*Lt,xe=Sn*Xt,Ae=Sn*Lt,Xe=Bt*Lt,yn=et*Pt,fn=et*Xt,Hn=et*Lt,Zn=ae[0],Gn=ae[1],Mr=ae[2],ur=$e[0],In=$e[1],jt=$e[2],rr=(1-(xe+Xe))*Zn,cr=(Vt+Hn)*Zn,Ue=(Ee-fn)*Zn,be=(Vt-Hn)*Gn,ve=(1-(_t+Xe))*Gn,Ut=(Ae+yn)*Gn,Rt=(Ee+fn)*Mr,he=(Ae-yn)*Mr,Oe=(1-(_t+xe))*Mr;return I[0]=rr,I[1]=cr,I[2]=Ue,I[3]=0,I[4]=be,I[5]=ve,I[6]=Ut,I[7]=0,I[8]=Rt,I[9]=he,I[10]=Oe,I[11]=0,I[12]=de[0]+ur-(rr*ur+be*In+Rt*jt),I[13]=de[1]+In-(cr*ur+ve*In+he*jt),I[14]=de[2]+jt-(Ue*ur+Ut*In+Oe*jt),I[15]=1,I}function Ie(I,rt){var de=rt[0],ae=rt[1],$e=rt[2],Ge=rt[3],Sn=de+de,Bt=ae+ae,et=$e+$e,Pt=de*Sn,Xt=ae*Sn,Lt=ae*Bt,_t=$e*Sn,Vt=$e*Bt,Ee=$e*et,xe=Ge*Sn,Ae=Ge*Bt,Xe=Ge*et;return I[0]=1-Lt-Ee,I[1]=Xt+Xe,I[2]=_t-Ae,I[3]=0,I[4]=Xt-Xe,I[5]=1-Pt-Ee,I[6]=Vt+xe,I[7]=0,I[8]=_t+Ae,I[9]=Vt-xe,I[10]=1-Pt-Lt,I[11]=0,I[12]=0,I[13]=0,I[14]=0,I[15]=1,I}function xt(I,rt,de,ae,$e,Ge,Sn){var Bt=1/(de-rt),et=1/($e-ae),Pt=1/(Ge-Sn);return I[0]=Ge*2*Bt,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=Ge*2*et,I[6]=0,I[7]=0,I[8]=(de+rt)*Bt,I[9]=($e+ae)*et,I[10]=(Sn+Ge)*Pt,I[11]=-1,I[12]=0,I[13]=0,I[14]=Sn*Ge*2*Pt,I[15]=0,I}function Jt(I,rt,de,ae,$e){var Ge=1/Math.tan(rt/2);if(I[0]=Ge/de,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=Ge,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[11]=-1,I[12]=0,I[13]=0,I[15]=0,$e!=null&&$e!==1/0){var Sn=1/(ae-$e);I[10]=($e+ae)*Sn,I[14]=2*$e*ae*Sn}else I[10]=-1,I[14]=-2*ae;return I}var tn=Jt;function qe(I,rt,de,ae,$e){var Ge=1/Math.tan(rt/2);if(I[0]=Ge/de,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=Ge,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[11]=-1,I[12]=0,I[13]=0,I[15]=0,$e!=null&&$e!==1/0){var Sn=1/(ae-$e);I[10]=$e*Sn,I[14]=$e*ae*Sn}else I[10]=-1,I[14]=-ae;return I}function Re(I,rt,de,ae){var $e=Math.tan(rt.upDegrees*Math.PI/180),Ge=Math.tan(rt.downDegrees*Math.PI/180),Sn=Math.tan(rt.leftDegrees*Math.PI/180),Bt=Math.tan(rt.rightDegrees*Math.PI/180),et=2/(Sn+Bt),Pt=2/($e+Ge);return I[0]=et,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=Pt,I[6]=0,I[7]=0,I[8]=-((Sn-Bt)*et*.5),I[9]=($e-Ge)*Pt*.5,I[10]=ae/(de-ae),I[11]=-1,I[12]=0,I[13]=0,I[14]=ae*de/(de-ae),I[15]=0,I}function Je(I,rt,de,ae,$e,Ge,Sn){var Bt=1/(rt-de),et=1/(ae-$e),Pt=1/(Ge-Sn);return I[0]=-2*Bt,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=-2*et,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[10]=2*Pt,I[11]=0,I[12]=(rt+de)*Bt,I[13]=($e+ae)*et,I[14]=(Sn+Ge)*Pt,I[15]=1,I}var rn=Je;function ge(I,rt,de,ae,$e,Ge,Sn){var Bt=1/(rt-de),et=1/(ae-$e),Pt=1/(Ge-Sn);return I[0]=-2*Bt,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=-2*et,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[10]=Pt,I[11]=0,I[12]=(rt+de)*Bt,I[13]=($e+ae)*et,I[14]=Ge*Pt,I[15]=1,I}function Pe(I,rt,de,ae){var $e,Ge,Sn,Bt,et,Pt,Xt,Lt,_t,Vt,Ee=rt[0],xe=rt[1],Ae=rt[2],Xe=ae[0],yn=ae[1],fn=ae[2],Hn=de[0],Zn=de[1],Gn=de[2];return Math.abs(Ee-Hn)0&&(Vt=1/Math.sqrt(Vt),Xt*=Vt,Lt*=Vt,_t*=Vt);var Ee=et*_t-Pt*Lt,xe=Pt*Xt-Bt*_t,Ae=Bt*Lt-et*Xt;return Vt=Ee*Ee+xe*xe+Ae*Ae,Vt>0&&(Vt=1/Math.sqrt(Vt),Ee*=Vt,xe*=Vt,Ae*=Vt),I[0]=Ee,I[1]=xe,I[2]=Ae,I[3]=0,I[4]=Lt*Ae-_t*xe,I[5]=_t*Ee-Xt*Ae,I[6]=Xt*xe-Lt*Ee,I[7]=0,I[8]=Xt,I[9]=Lt,I[10]=_t,I[11]=0,I[12]=$e,I[13]=Ge,I[14]=Sn,I[15]=1,I}function yt(I){return"mat4("+I[0]+", "+I[1]+", "+I[2]+", "+I[3]+", "+I[4]+", "+I[5]+", "+I[6]+", "+I[7]+", "+I[8]+", "+I[9]+", "+I[10]+", "+I[11]+", "+I[12]+", "+I[13]+", "+I[14]+", "+I[15]+")"}function fe(I){return Math.sqrt(I[0]*I[0]+I[1]*I[1]+I[2]*I[2]+I[3]*I[3]+I[4]*I[4]+I[5]*I[5]+I[6]*I[6]+I[7]*I[7]+I[8]*I[8]+I[9]*I[9]+I[10]*I[10]+I[11]*I[11]+I[12]*I[12]+I[13]*I[13]+I[14]*I[14]+I[15]*I[15])}function nn(I,rt,de){return I[0]=rt[0]+de[0],I[1]=rt[1]+de[1],I[2]=rt[2]+de[2],I[3]=rt[3]+de[3],I[4]=rt[4]+de[4],I[5]=rt[5]+de[5],I[6]=rt[6]+de[6],I[7]=rt[7]+de[7],I[8]=rt[8]+de[8],I[9]=rt[9]+de[9],I[10]=rt[10]+de[10],I[11]=rt[11]+de[11],I[12]=rt[12]+de[12],I[13]=rt[13]+de[13],I[14]=rt[14]+de[14],I[15]=rt[15]+de[15],I}function We(I,rt,de){return I[0]=rt[0]-de[0],I[1]=rt[1]-de[1],I[2]=rt[2]-de[2],I[3]=rt[3]-de[3],I[4]=rt[4]-de[4],I[5]=rt[5]-de[5],I[6]=rt[6]-de[6],I[7]=rt[7]-de[7],I[8]=rt[8]-de[8],I[9]=rt[9]-de[9],I[10]=rt[10]-de[10],I[11]=rt[11]-de[11],I[12]=rt[12]-de[12],I[13]=rt[13]-de[13],I[14]=rt[14]-de[14],I[15]=rt[15]-de[15],I}function le(I,rt,de){return I[0]=rt[0]*de,I[1]=rt[1]*de,I[2]=rt[2]*de,I[3]=rt[3]*de,I[4]=rt[4]*de,I[5]=rt[5]*de,I[6]=rt[6]*de,I[7]=rt[7]*de,I[8]=rt[8]*de,I[9]=rt[9]*de,I[10]=rt[10]*de,I[11]=rt[11]*de,I[12]=rt[12]*de,I[13]=rt[13]*de,I[14]=rt[14]*de,I[15]=rt[15]*de,I}function Ke(I,rt,de,ae){return I[0]=rt[0]+de[0]*ae,I[1]=rt[1]+de[1]*ae,I[2]=rt[2]+de[2]*ae,I[3]=rt[3]+de[3]*ae,I[4]=rt[4]+de[4]*ae,I[5]=rt[5]+de[5]*ae,I[6]=rt[6]+de[6]*ae,I[7]=rt[7]+de[7]*ae,I[8]=rt[8]+de[8]*ae,I[9]=rt[9]+de[9]*ae,I[10]=rt[10]+de[10]*ae,I[11]=rt[11]+de[11]*ae,I[12]=rt[12]+de[12]*ae,I[13]=rt[13]+de[13]*ae,I[14]=rt[14]+de[14]*ae,I[15]=rt[15]+de[15]*ae,I}function Me(I,rt){return I[0]===rt[0]&&I[1]===rt[1]&&I[2]===rt[2]&&I[3]===rt[3]&&I[4]===rt[4]&&I[5]===rt[5]&&I[6]===rt[6]&&I[7]===rt[7]&&I[8]===rt[8]&&I[9]===rt[9]&&I[10]===rt[10]&&I[11]===rt[11]&&I[12]===rt[12]&&I[13]===rt[13]&&I[14]===rt[14]&&I[15]===rt[15]}function kt(I,rt){var de=I[0],ae=I[1],$e=I[2],Ge=I[3],Sn=I[4],Bt=I[5],et=I[6],Pt=I[7],Xt=I[8],Lt=I[9],_t=I[10],Vt=I[11],Ee=I[12],xe=I[13],Ae=I[14],Xe=I[15],yn=rt[0],fn=rt[1],Hn=rt[2],Zn=rt[3],Gn=rt[4],Mr=rt[5],ur=rt[6],In=rt[7],jt=rt[8],rr=rt[9],cr=rt[10],Ue=rt[11],be=rt[12],ve=rt[13],Ut=rt[14],Rt=rt[15];return Math.abs(de-yn)<=l.Ib*Math.max(1,Math.abs(de),Math.abs(yn))&&Math.abs(ae-fn)<=l.Ib*Math.max(1,Math.abs(ae),Math.abs(fn))&&Math.abs($e-Hn)<=l.Ib*Math.max(1,Math.abs($e),Math.abs(Hn))&&Math.abs(Ge-Zn)<=l.Ib*Math.max(1,Math.abs(Ge),Math.abs(Zn))&&Math.abs(Sn-Gn)<=l.Ib*Math.max(1,Math.abs(Sn),Math.abs(Gn))&&Math.abs(Bt-Mr)<=l.Ib*Math.max(1,Math.abs(Bt),Math.abs(Mr))&&Math.abs(et-ur)<=l.Ib*Math.max(1,Math.abs(et),Math.abs(ur))&&Math.abs(Pt-In)<=l.Ib*Math.max(1,Math.abs(Pt),Math.abs(In))&&Math.abs(Xt-jt)<=l.Ib*Math.max(1,Math.abs(Xt),Math.abs(jt))&&Math.abs(Lt-rr)<=l.Ib*Math.max(1,Math.abs(Lt),Math.abs(rr))&&Math.abs(_t-cr)<=l.Ib*Math.max(1,Math.abs(_t),Math.abs(cr))&&Math.abs(Vt-Ue)<=l.Ib*Math.max(1,Math.abs(Vt),Math.abs(Ue))&&Math.abs(Ee-be)<=l.Ib*Math.max(1,Math.abs(Ee),Math.abs(be))&&Math.abs(xe-ve)<=l.Ib*Math.max(1,Math.abs(xe),Math.abs(ve))&&Math.abs(Ae-Ut)<=l.Ib*Math.max(1,Math.abs(Ae),Math.abs(Ut))&&Math.abs(Xe-Rt)<=l.Ib*Math.max(1,Math.abs(Xe),Math.abs(Rt))}var ee=Z,Ne=We},94569:function(gt,dt,f){"use strict";f.d(dt,{Fv:function(){return Re},JG:function(){return pn},Jp:function(){return O},Su:function(){return Fe},U_:function(){return Dt},Ue:function(){return m},al:function(){return ye},dC:function(){return Ye},t8:function(){return cn},yY:function(){return E}});var l=f(85551),R=f(79111),U=f(92421),P=f(97082);function m(){var yt=new l.WT(4);return l.WT!=Float32Array&&(yt[0]=0,yt[1]=0,yt[2]=0),yt[3]=1,yt}function S(yt){return yt[0]=0,yt[1]=0,yt[2]=0,yt[3]=1,yt}function E(yt,fe,nn){nn=nn*.5;var We=Math.sin(nn);return yt[0]=We*fe[0],yt[1]=We*fe[1],yt[2]=We*fe[2],yt[3]=Math.cos(nn),yt}function F(yt,fe){var nn=Math.acos(fe[3])*2,We=Math.sin(nn/2);return We>glMatrix.EPSILON?(yt[0]=fe[0]/We,yt[1]=fe[1]/We,yt[2]=fe[2]/We):(yt[0]=1,yt[1]=0,yt[2]=0),nn}function Q(yt,fe){var nn=Ze(yt,fe);return Math.acos(2*nn*nn-1)}function O(yt,fe,nn){var We=fe[0],le=fe[1],Ke=fe[2],Me=fe[3],kt=nn[0],ee=nn[1],Ne=nn[2],I=nn[3];return yt[0]=We*I+Me*kt+le*Ne-Ke*ee,yt[1]=le*I+Me*ee+Ke*kt-We*Ne,yt[2]=Ke*I+Me*Ne+We*ee-le*kt,yt[3]=Me*I-We*kt-le*ee-Ke*Ne,yt}function T(yt,fe,nn){nn*=.5;var We=fe[0],le=fe[1],Ke=fe[2],Me=fe[3],kt=Math.sin(nn),ee=Math.cos(nn);return yt[0]=We*ee+Me*kt,yt[1]=le*ee+Ke*kt,yt[2]=Ke*ee-le*kt,yt[3]=Me*ee-We*kt,yt}function Z(yt,fe,nn){nn*=.5;var We=fe[0],le=fe[1],Ke=fe[2],Me=fe[3],kt=Math.sin(nn),ee=Math.cos(nn);return yt[0]=We*ee-Ke*kt,yt[1]=le*ee+Me*kt,yt[2]=Ke*ee+We*kt,yt[3]=Me*ee-le*kt,yt}function tt(yt,fe,nn){nn*=.5;var We=fe[0],le=fe[1],Ke=fe[2],Me=fe[3],kt=Math.sin(nn),ee=Math.cos(nn);return yt[0]=We*ee+le*kt,yt[1]=le*ee-We*kt,yt[2]=Ke*ee+Me*kt,yt[3]=Me*ee-Ke*kt,yt}function W(yt,fe){var nn=fe[0],We=fe[1],le=fe[2];return yt[0]=nn,yt[1]=We,yt[2]=le,yt[3]=Math.sqrt(Math.abs(1-nn*nn-We*We-le*le)),yt}function vt(yt,fe){var nn=fe[0],We=fe[1],le=fe[2],Ke=fe[3],Me=Math.sqrt(nn*nn+We*We+le*le),kt=Math.exp(Ke),ee=Me>0?kt*Math.sin(Me)/Me:0;return yt[0]=nn*ee,yt[1]=We*ee,yt[2]=le*ee,yt[3]=kt*Math.cos(Me),yt}function st(yt,fe){var nn=fe[0],We=fe[1],le=fe[2],Ke=fe[3],Me=Math.sqrt(nn*nn+We*We+le*le),kt=Me>0?Math.atan2(Me,Ke)/Me:0;return yt[0]=nn*kt,yt[1]=We*kt,yt[2]=le*kt,yt[3]=.5*Math.log(nn*nn+We*We+le*le+Ke*Ke),yt}function X(yt,fe,nn){return st(yt,fe),Un(yt,yt,nn),vt(yt,yt),yt}function Mt(yt,fe,nn,We){var le=fe[0],Ke=fe[1],Me=fe[2],kt=fe[3],ee=nn[0],Ne=nn[1],I=nn[2],rt=nn[3],de,ae,$e,Ge,Sn;return ae=le*ee+Ke*Ne+Me*I+kt*rt,ae<0&&(ae=-ae,ee=-ee,Ne=-Ne,I=-I,rt=-rt),1-ae>l.Ib?(de=Math.acos(ae),$e=Math.sin(de),Ge=Math.sin((1-We)*de)/$e,Sn=Math.sin(We*de)/$e):(Ge=1-We,Sn=We),yt[0]=Ge*le+Sn*ee,yt[1]=Ge*Ke+Sn*Ne,yt[2]=Ge*Me+Sn*I,yt[3]=Ge*kt+Sn*rt,yt}function ht(yt){var fe=glMatrix.RANDOM(),nn=glMatrix.RANDOM(),We=glMatrix.RANDOM(),le=Math.sqrt(1-fe),Ke=Math.sqrt(fe);return yt[0]=le*Math.sin(2*Math.PI*nn),yt[1]=le*Math.cos(2*Math.PI*nn),yt[2]=Ke*Math.sin(2*Math.PI*We),yt[3]=Ke*Math.cos(2*Math.PI*We),yt}function Dt(yt,fe){var nn=fe[0],We=fe[1],le=fe[2],Ke=fe[3],Me=nn*nn+We*We+le*le+Ke*Ke,kt=Me?1/Me:0;return yt[0]=-nn*kt,yt[1]=-We*kt,yt[2]=-le*kt,yt[3]=Ke*kt,yt}function Gt(yt,fe){return yt[0]=-fe[0],yt[1]=-fe[1],yt[2]=-fe[2],yt[3]=fe[3],yt}function Kt(yt,fe){var nn=fe[0]+fe[4]+fe[8],We;if(nn>0)We=Math.sqrt(nn+1),yt[3]=.5*We,We=.5/We,yt[0]=(fe[5]-fe[7])*We,yt[1]=(fe[6]-fe[2])*We,yt[2]=(fe[1]-fe[3])*We;else{var le=0;fe[4]>fe[0]&&(le=1),fe[8]>fe[le*3+le]&&(le=2);var Ke=(le+1)%3,Me=(le+2)%3;We=Math.sqrt(fe[le*3+le]-fe[Ke*3+Ke]-fe[Me*3+Me]+1),yt[le]=.5*We,We=.5/We,yt[3]=(fe[Ke*3+Me]-fe[Me*3+Ke])*We,yt[Ke]=(fe[Ke*3+le]+fe[le*3+Ke])*We,yt[Me]=(fe[Me*3+le]+fe[le*3+Me])*We}return yt}function Fe(yt,fe,nn,We){var le=arguments.length>4&&arguments[4]!==void 0?arguments[4]:l.yy,Ke=Math.PI/360;fe*=Ke,We*=Ke,nn*=Ke;var Me=Math.sin(fe),kt=Math.cos(fe),ee=Math.sin(nn),Ne=Math.cos(nn),I=Math.sin(We),rt=Math.cos(We);switch(le){case"xyz":yt[0]=Me*Ne*rt+kt*ee*I,yt[1]=kt*ee*rt-Me*Ne*I,yt[2]=kt*Ne*I+Me*ee*rt,yt[3]=kt*Ne*rt-Me*ee*I;break;case"xzy":yt[0]=Me*Ne*rt-kt*ee*I,yt[1]=kt*ee*rt-Me*Ne*I,yt[2]=kt*Ne*I+Me*ee*rt,yt[3]=kt*Ne*rt+Me*ee*I;break;case"yxz":yt[0]=Me*Ne*rt+kt*ee*I,yt[1]=kt*ee*rt-Me*Ne*I,yt[2]=kt*Ne*I-Me*ee*rt,yt[3]=kt*Ne*rt+Me*ee*I;break;case"yzx":yt[0]=Me*Ne*rt+kt*ee*I,yt[1]=kt*ee*rt+Me*Ne*I,yt[2]=kt*Ne*I-Me*ee*rt,yt[3]=kt*Ne*rt-Me*ee*I;break;case"zxy":yt[0]=Me*Ne*rt-kt*ee*I,yt[1]=kt*ee*rt+Me*Ne*I,yt[2]=kt*Ne*I+Me*ee*rt,yt[3]=kt*Ne*rt-Me*ee*I;break;case"zyx":yt[0]=Me*Ne*rt-kt*ee*I,yt[1]=kt*ee*rt+Me*Ne*I,yt[2]=kt*Ne*I-Me*ee*rt,yt[3]=kt*Ne*rt+Me*ee*I;break;default:throw new Error("Unknown angle order "+le)}return yt}function me(yt){return"quat("+yt[0]+", "+yt[1]+", "+yt[2]+", "+yt[3]+")"}var an=P.d9,ye=P.al,pn=P.JG,cn=P.t8,we=P.IH,Ye=O,Un=P.bA,Ze=P.AK,Ie=P.t7,xt=P.kE,Jt=null,tn=P.we,qe=null,Re=P.Fv,Je=P.I6;function rn(yt,fe){return Math.abs(vec4.dot(yt,fe))>=1-glMatrix.EPSILON}var ge=function(){var yt=U.Ue(),fe=U.al(1,0,0),nn=U.al(0,1,0);return function(We,le,Ke){var Me=U.AK(le,Ke);return Me<-.999999?(U.kC(yt,fe,le),U.Zh(yt)<1e-6&&U.kC(yt,nn,le),U.Fv(yt,yt),E(We,yt,Math.PI),We):Me>.999999?(We[0]=0,We[1]=0,We[2]=0,We[3]=1,We):(U.kC(yt,le,Ke),We[0]=yt[0],We[1]=yt[1],We[2]=yt[2],We[3]=1+Me,Re(We,We))}}(),Pe=function(){var yt=m(),fe=m();return function(nn,We,le,Ke,Me,kt){return Mt(yt,We,Me,kt),Mt(fe,le,Ke,kt),Mt(nn,yt,fe,2*kt*(1-kt)),nn}}(),Tt=function(){var yt=R.Ue();return function(fe,nn,We,le){return yt[0]=We[0],yt[3]=We[1],yt[6]=We[2],yt[1]=le[0],yt[4]=le[1],yt[7]=le[2],yt[2]=-nn[0],yt[5]=-nn[1],yt[8]=-nn[2],Re(fe,Kt(fe,yt))}}()},45545:function(gt,dt,f){"use strict";f.d(dt,{AK:function(){return an},Fv:function(){return me},I6:function(){return Re},JG:function(){return m},Ue:function(){return R},t8:function(){return S}});var l=f(85551);function R(){var le=new l.WT(2);return l.WT!=Float32Array&&(le[0]=0,le[1]=0),le}function U(le){var Ke=new glMatrix.ARRAY_TYPE(2);return Ke[0]=le[0],Ke[1]=le[1],Ke}function P(le,Ke){var Me=new glMatrix.ARRAY_TYPE(2);return Me[0]=le,Me[1]=Ke,Me}function m(le,Ke){return le[0]=Ke[0],le[1]=Ke[1],le}function S(le,Ke,Me){return le[0]=Ke,le[1]=Me,le}function E(le,Ke,Me){return le[0]=Ke[0]+Me[0],le[1]=Ke[1]+Me[1],le}function F(le,Ke,Me){return le[0]=Ke[0]-Me[0],le[1]=Ke[1]-Me[1],le}function Q(le,Ke,Me){return le[0]=Ke[0]*Me[0],le[1]=Ke[1]*Me[1],le}function O(le,Ke,Me){return le[0]=Ke[0]/Me[0],le[1]=Ke[1]/Me[1],le}function T(le,Ke){return le[0]=Math.ceil(Ke[0]),le[1]=Math.ceil(Ke[1]),le}function Z(le,Ke){return le[0]=Math.floor(Ke[0]),le[1]=Math.floor(Ke[1]),le}function tt(le,Ke,Me){return le[0]=Math.min(Ke[0],Me[0]),le[1]=Math.min(Ke[1],Me[1]),le}function W(le,Ke,Me){return le[0]=Math.max(Ke[0],Me[0]),le[1]=Math.max(Ke[1],Me[1]),le}function vt(le,Ke){return le[0]=glMatrix.round(Ke[0]),le[1]=glMatrix.round(Ke[1]),le}function st(le,Ke,Me){return le[0]=Ke[0]*Me,le[1]=Ke[1]*Me,le}function X(le,Ke,Me,kt){return le[0]=Ke[0]+Me[0]*kt,le[1]=Ke[1]+Me[1]*kt,le}function Mt(le,Ke){var Me=Ke[0]-le[0],kt=Ke[1]-le[1];return Math.sqrt(Me*Me+kt*kt)}function ht(le,Ke){var Me=Ke[0]-le[0],kt=Ke[1]-le[1];return Me*Me+kt*kt}function Dt(le){var Ke=le[0],Me=le[1];return Math.sqrt(Ke*Ke+Me*Me)}function Gt(le){var Ke=le[0],Me=le[1];return Ke*Ke+Me*Me}function Kt(le,Ke){return le[0]=-Ke[0],le[1]=-Ke[1],le}function Fe(le,Ke){return le[0]=1/Ke[0],le[1]=1/Ke[1],le}function me(le,Ke){var Me=Ke[0],kt=Ke[1],ee=Me*Me+kt*kt;return ee>0&&(ee=1/Math.sqrt(ee)),le[0]=Ke[0]*ee,le[1]=Ke[1]*ee,le}function an(le,Ke){return le[0]*Ke[0]+le[1]*Ke[1]}function ye(le,Ke,Me){var kt=Ke[0]*Me[1]-Ke[1]*Me[0];return le[0]=le[1]=0,le[2]=kt,le}function pn(le,Ke,Me,kt){var ee=Ke[0],Ne=Ke[1];return le[0]=ee+kt*(Me[0]-ee),le[1]=Ne+kt*(Me[1]-Ne),le}function cn(le,Ke){Ke=Ke===void 0?1:Ke;var Me=glMatrix.RANDOM()*2*Math.PI;return le[0]=Math.cos(Me)*Ke,le[1]=Math.sin(Me)*Ke,le}function we(le,Ke,Me){var kt=Ke[0],ee=Ke[1];return le[0]=Me[0]*kt+Me[2]*ee,le[1]=Me[1]*kt+Me[3]*ee,le}function Ye(le,Ke,Me){var kt=Ke[0],ee=Ke[1];return le[0]=Me[0]*kt+Me[2]*ee+Me[4],le[1]=Me[1]*kt+Me[3]*ee+Me[5],le}function Un(le,Ke,Me){var kt=Ke[0],ee=Ke[1];return le[0]=Me[0]*kt+Me[3]*ee+Me[6],le[1]=Me[1]*kt+Me[4]*ee+Me[7],le}function Ze(le,Ke,Me){var kt=Ke[0],ee=Ke[1];return le[0]=Me[0]*kt+Me[4]*ee+Me[12],le[1]=Me[1]*kt+Me[5]*ee+Me[13],le}function Ie(le,Ke,Me,kt){var ee=Ke[0]-Me[0],Ne=Ke[1]-Me[1],I=Math.sin(kt),rt=Math.cos(kt);return le[0]=ee*rt-Ne*I+Me[0],le[1]=ee*I+Ne*rt+Me[1],le}function xt(le,Ke){var Me=le[0],kt=le[1],ee=Ke[0],Ne=Ke[1];return Math.abs(Math.atan2(kt*ee-Me*Ne,Me*ee+kt*Ne))}function Jt(le,Ke){var Me=le[0],kt=le[1],ee=Ke[0],Ne=Ke[1];return Math.atan2(Me*Ne-kt*ee,Me*ee+kt*Ne)}function tn(le){return le[0]=0,le[1]=0,le}function qe(le){return"vec2("+le[0]+", "+le[1]+")"}function Re(le,Ke){return le[0]===Ke[0]&&le[1]===Ke[1]}function Je(le,Ke){var Me=le[0],kt=le[1],ee=Ke[0],Ne=Ke[1];return Math.abs(Me-ee)<=glMatrix.EPSILON*Math.max(1,Math.abs(Me),Math.abs(ee))&&Math.abs(kt-Ne)<=glMatrix.EPSILON*Math.max(1,Math.abs(kt),Math.abs(Ne))}var rn=null,ge=null,Pe=null,Tt=null,yt=null,fe=null,nn=null,We=function(){var le=R();return function(Ke,Me,kt,ee,Ne,I){var rt,de;for(Me||(Me=2),kt||(kt=0),ee?de=Math.min(ee*Me+kt,Ke.length):de=Ke.length,rt=kt;rt0&&(de=1/Math.sqrt(de)),kt[0]=ee[0]*de,kt[1]=ee[1]*de,kt[2]=ee[2]*de,kt}function an(kt,ee){return kt[0]*ee[0]+kt[1]*ee[1]+kt[2]*ee[2]}function ye(kt,ee,Ne){var I=ee[0],rt=ee[1],de=ee[2],ae=Ne[0],$e=Ne[1],Ge=Ne[2];return kt[0]=rt*Ge-de*$e,kt[1]=de*ae-I*Ge,kt[2]=I*$e-rt*ae,kt}function pn(kt,ee,Ne,I){var rt=ee[0],de=ee[1],ae=ee[2];return kt[0]=rt+I*(Ne[0]-rt),kt[1]=de+I*(Ne[1]-de),kt[2]=ae+I*(Ne[2]-ae),kt}function cn(kt,ee,Ne,I){var rt=Math.acos(Math.min(Math.max(an(ee,Ne),-1),1)),de=Math.sin(rt),ae=Math.sin((1-I)*rt)/de,$e=Math.sin(I*rt)/de;return kt[0]=ae*ee[0]+$e*Ne[0],kt[1]=ae*ee[1]+$e*Ne[1],kt[2]=ae*ee[2]+$e*Ne[2],kt}function we(kt,ee,Ne,I,rt,de){var ae=de*de,$e=ae*(2*de-3)+1,Ge=ae*(de-2)+de,Sn=ae*(de-1),Bt=ae*(3-2*de);return kt[0]=ee[0]*$e+Ne[0]*Ge+I[0]*Sn+rt[0]*Bt,kt[1]=ee[1]*$e+Ne[1]*Ge+I[1]*Sn+rt[1]*Bt,kt[2]=ee[2]*$e+Ne[2]*Ge+I[2]*Sn+rt[2]*Bt,kt}function Ye(kt,ee,Ne,I,rt,de){var ae=1-de,$e=ae*ae,Ge=de*de,Sn=$e*ae,Bt=3*de*$e,et=3*Ge*ae,Pt=Ge*de;return kt[0]=ee[0]*Sn+Ne[0]*Bt+I[0]*et+rt[0]*Pt,kt[1]=ee[1]*Sn+Ne[1]*Bt+I[1]*et+rt[1]*Pt,kt[2]=ee[2]*Sn+Ne[2]*Bt+I[2]*et+rt[2]*Pt,kt}function Un(kt,ee){ee=ee===void 0?1:ee;var Ne=glMatrix.RANDOM()*2*Math.PI,I=glMatrix.RANDOM()*2-1,rt=Math.sqrt(1-I*I)*ee;return kt[0]=Math.cos(Ne)*rt,kt[1]=Math.sin(Ne)*rt,kt[2]=I*ee,kt}function Ze(kt,ee,Ne){var I=ee[0],rt=ee[1],de=ee[2],ae=Ne[3]*I+Ne[7]*rt+Ne[11]*de+Ne[15];return ae=ae||1,kt[0]=(Ne[0]*I+Ne[4]*rt+Ne[8]*de+Ne[12])/ae,kt[1]=(Ne[1]*I+Ne[5]*rt+Ne[9]*de+Ne[13])/ae,kt[2]=(Ne[2]*I+Ne[6]*rt+Ne[10]*de+Ne[14])/ae,kt}function Ie(kt,ee,Ne){var I=ee[0],rt=ee[1],de=ee[2];return kt[0]=I*Ne[0]+rt*Ne[3]+de*Ne[6],kt[1]=I*Ne[1]+rt*Ne[4]+de*Ne[7],kt[2]=I*Ne[2]+rt*Ne[5]+de*Ne[8],kt}function xt(kt,ee,Ne){var I=Ne[0],rt=Ne[1],de=Ne[2],ae=Ne[3],$e=ee[0],Ge=ee[1],Sn=ee[2],Bt=rt*Sn-de*Ge,et=de*$e-I*Sn,Pt=I*Ge-rt*$e;return Bt=Bt+Bt,et=et+et,Pt=Pt+Pt,kt[0]=$e+ae*Bt+rt*Pt-de*et,kt[1]=Ge+ae*et+de*Bt-I*Pt,kt[2]=Sn+ae*Pt+I*et-rt*Bt,kt}function Jt(kt,ee,Ne,I){var rt=[],de=[];return rt[0]=ee[0]-Ne[0],rt[1]=ee[1]-Ne[1],rt[2]=ee[2]-Ne[2],de[0]=rt[0],de[1]=rt[1]*Math.cos(I)-rt[2]*Math.sin(I),de[2]=rt[1]*Math.sin(I)+rt[2]*Math.cos(I),kt[0]=de[0]+Ne[0],kt[1]=de[1]+Ne[1],kt[2]=de[2]+Ne[2],kt}function tn(kt,ee,Ne,I){var rt=[],de=[];return rt[0]=ee[0]-Ne[0],rt[1]=ee[1]-Ne[1],rt[2]=ee[2]-Ne[2],de[0]=rt[2]*Math.sin(I)+rt[0]*Math.cos(I),de[1]=rt[1],de[2]=rt[2]*Math.cos(I)-rt[0]*Math.sin(I),kt[0]=de[0]+Ne[0],kt[1]=de[1]+Ne[1],kt[2]=de[2]+Ne[2],kt}function qe(kt,ee,Ne,I){var rt=[],de=[];return rt[0]=ee[0]-Ne[0],rt[1]=ee[1]-Ne[1],rt[2]=ee[2]-Ne[2],de[0]=rt[0]*Math.cos(I)-rt[1]*Math.sin(I),de[1]=rt[0]*Math.sin(I)+rt[1]*Math.cos(I),de[2]=rt[2],kt[0]=de[0]+Ne[0],kt[1]=de[1]+Ne[1],kt[2]=de[2]+Ne[2],kt}function Re(kt,ee){var Ne=kt[0],I=kt[1],rt=kt[2],de=ee[0],ae=ee[1],$e=ee[2],Ge=Math.sqrt((Ne*Ne+I*I+rt*rt)*(de*de+ae*ae+$e*$e)),Sn=Ge&&an(kt,ee)/Ge;return Math.acos(Math.min(Math.max(Sn,-1),1))}function Je(kt){return kt[0]=0,kt[1]=0,kt[2]=0,kt}function rn(kt){return"vec3("+kt[0]+", "+kt[1]+", "+kt[2]+")"}function ge(kt,ee){return kt[0]===ee[0]&&kt[1]===ee[1]&&kt[2]===ee[2]}function Pe(kt,ee){var Ne=kt[0],I=kt[1],rt=kt[2],de=ee[0],ae=ee[1],$e=ee[2];return Math.abs(Ne-de)<=l.Ib*Math.max(1,Math.abs(Ne),Math.abs(de))&&Math.abs(I-ae)<=l.Ib*Math.max(1,Math.abs(I),Math.abs(ae))&&Math.abs(rt-$e)<=l.Ib*Math.max(1,Math.abs(rt),Math.abs($e))}var Tt=Q,yt=null,fe=null,nn=ht,We=null,le=P,Ke=null,Me=function(){var kt=R();return function(ee,Ne,I,rt,de,ae){var $e,Ge;for(Ne||(Ne=3),I||(I=0),rt?Ge=Math.min(rt*Ne+I,ee.length):Ge=ee.length,$e=I;$e0&&(Ke=1/Math.sqrt(Ke)),Tt[0]=fe*Ke,Tt[1]=nn*Ke,Tt[2]=We*Ke,Tt[3]=le*Ke,Tt}function an(Tt,yt){return Tt[0]*yt[0]+Tt[1]*yt[1]+Tt[2]*yt[2]+Tt[3]*yt[3]}function ye(Tt,yt,fe,nn){var We=fe[0]*nn[1]-fe[1]*nn[0],le=fe[0]*nn[2]-fe[2]*nn[0],Ke=fe[0]*nn[3]-fe[3]*nn[0],Me=fe[1]*nn[2]-fe[2]*nn[1],kt=fe[1]*nn[3]-fe[3]*nn[1],ee=fe[2]*nn[3]-fe[3]*nn[2],Ne=yt[0],I=yt[1],rt=yt[2],de=yt[3];return Tt[0]=I*ee-rt*kt+de*Me,Tt[1]=-(Ne*ee)+rt*Ke-de*le,Tt[2]=Ne*kt-I*Ke+de*We,Tt[3]=-(Ne*Me)+I*le-rt*We,Tt}function pn(Tt,yt,fe,nn){var We=yt[0],le=yt[1],Ke=yt[2],Me=yt[3];return Tt[0]=We+nn*(fe[0]-We),Tt[1]=le+nn*(fe[1]-le),Tt[2]=Ke+nn*(fe[2]-Ke),Tt[3]=Me+nn*(fe[3]-Me),Tt}function cn(Tt,yt){yt=yt===void 0?1:yt;var fe,nn,We,le,Ke,Me,kt;kt=glMatrix.RANDOM(),fe=kt*2-1,nn=(4*glMatrix.RANDOM()-2)*Math.sqrt(kt*-kt+kt),Ke=fe*fe+nn*nn,kt=glMatrix.RANDOM(),We=kt*2-1,le=(4*glMatrix.RANDOM()-2)*Math.sqrt(kt*-kt+kt),Me=We*We+le*le;var ee=Math.sqrt((1-Ke)/Me);return Tt[0]=yt*fe,Tt[1]=yt*nn,Tt[2]=yt*We*ee,Tt[3]=yt*le*ee,Tt}function we(Tt,yt,fe){var nn=yt[0],We=yt[1],le=yt[2],Ke=yt[3];return Tt[0]=fe[0]*nn+fe[4]*We+fe[8]*le+fe[12]*Ke,Tt[1]=fe[1]*nn+fe[5]*We+fe[9]*le+fe[13]*Ke,Tt[2]=fe[2]*nn+fe[6]*We+fe[10]*le+fe[14]*Ke,Tt[3]=fe[3]*nn+fe[7]*We+fe[11]*le+fe[15]*Ke,Tt}function Ye(Tt,yt,fe){var nn=fe[0],We=fe[1],le=fe[2],Ke=fe[3],Me=yt[0],kt=yt[1],ee=yt[2],Ne=We*ee-le*kt,I=le*Me-nn*ee,rt=nn*kt-We*Me;return Ne=Ne+Ne,I=I+I,rt=rt+rt,Tt[0]=Me+Ke*Ne+We*rt-le*I,Tt[1]=kt+Ke*I+le*Ne-nn*rt,Tt[2]=ee+Ke*rt+nn*I-We*Ne,Tt[3]=yt[3],Tt}function Un(Tt){return Tt[0]=0,Tt[1]=0,Tt[2]=0,Tt[3]=0,Tt}function Ze(Tt){return"vec4("+Tt[0]+", "+Tt[1]+", "+Tt[2]+", "+Tt[3]+")"}function Ie(Tt,yt){return Tt[0]===yt[0]&&Tt[1]===yt[1]&&Tt[2]===yt[2]&&Tt[3]===yt[3]}function xt(Tt,yt){var fe=Tt[0],nn=Tt[1],We=Tt[2],le=Tt[3],Ke=yt[0],Me=yt[1],kt=yt[2],ee=yt[3];return Math.abs(fe-Ke)<=glMatrix.EPSILON*Math.max(1,Math.abs(fe),Math.abs(Ke))&&Math.abs(nn-Me)<=glMatrix.EPSILON*Math.max(1,Math.abs(nn),Math.abs(Me))&&Math.abs(We-kt)<=glMatrix.EPSILON*Math.max(1,Math.abs(We),Math.abs(kt))&&Math.abs(le-ee)<=glMatrix.EPSILON*Math.max(1,Math.abs(le),Math.abs(ee))}var Jt=null,tn=null,qe=null,Re=null,Je=null,rn=null,ge=null,Pe=function(){var Tt=R();return function(yt,fe,nn,We,le,Ke){var Me,kt;for(fe||(fe=4),nn||(nn=0),We?kt=Math.min(We*fe+nn,yt.length):kt=yt.length,Me=nn;Me0&&(Z=T.removeMin(),tt=O[Z],tt.distance!==Number.POSITIVE_INFINITY);)Q(Z).forEach(W);return O}},59324:function(gt,dt,f){var l=f(95329),R=f(94558);gt.exports=U;function U(P){return l.filter(R(P),function(m){return m.length>1||m.length===1&&P.hasEdge(m[0],m[0])})}},22893:function(gt,dt,f){var l=f(95329);gt.exports=U;var R=l.constant(1);function U(m,S,E){return P(m,S||R,E||function(F){return m.outEdges(F)})}function P(m,S,E){var F={},Q=m.nodes();return Q.forEach(function(O){F[O]={},F[O][O]={distance:0},Q.forEach(function(T){O!==T&&(F[O][T]={distance:Number.POSITIVE_INFINITY})}),E(O).forEach(function(T){var Z=T.v===O?T.w:T.v,tt=S(T);F[O][Z]={distance:tt,predecessor:O}})}),Q.forEach(function(O){var T=F[O];Q.forEach(function(Z){var tt=F[Z];Q.forEach(function(W){var vt=tt[O],st=T[W],X=tt[W],Mt=vt.distance+st.distance;Mt0;){if(O=Q.removeMin(),l.has(F,O))E.setEdge(O,F[O]);else{if(Z)throw new Error("Input graph is not connected: "+m);Z=!0}m.nodeEdges(O).forEach(T)}return E}},94558:function(gt,dt,f){var l=f(95329);gt.exports=R;function R(U){var P=0,m=[],S={},E=[];function F(Q){var O=S[Q]={onStack:!0,lowlink:P,index:P++};if(m.push(Q),U.successors(Q).forEach(function(tt){l.has(S,tt)?S[tt].onStack&&(O.lowlink=Math.min(O.lowlink,S[tt].index)):(F(tt),O.lowlink=Math.min(O.lowlink,S[tt].lowlink))}),O.lowlink===O.index){var T=[],Z;do Z=m.pop(),S[Z].onStack=!1,T.push(Z);while(Q!==Z);E.push(T)}}return U.nodes().forEach(function(Q){l.has(S,Q)||F(Q)}),E}},7793:function(gt,dt,f){var l=f(95329);gt.exports=R,R.CycleException=U;function R(P){var m={},S={},E=[];function F(Q){if(l.has(S,Q))throw new U;l.has(m,Q)||(S[Q]=!0,m[Q]=!0,l.each(P.predecessors(Q),F),delete S[Q],E.push(Q))}if(l.each(P.sinks(),F),l.size(m)!==P.nodeCount())throw new U;return E}function U(){}U.prototype=new Error},36614:function(gt,dt,f){var l=f(95329);gt.exports=R;function R(){this._arr=[],this._keyIndices={}}R.prototype.size=function(){return this._arr.length},R.prototype.keys=function(){return this._arr.map(function(U){return U.key})},R.prototype.has=function(U){return l.has(this._keyIndices,U)},R.prototype.priority=function(U){var P=this._keyIndices[U];if(P!==void 0)return this._arr[P].priority},R.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},R.prototype.add=function(U,P){var m=this._keyIndices;if(U=String(U),!l.has(m,U)){var S=this._arr,E=S.length;return m[U]=E,S.push({key:U,priority:P}),this._decrease(E),!0}return!1},R.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var U=this._arr.pop();return delete this._keyIndices[U.key],this._heapify(0),U.key},R.prototype.decrease=function(U,P){var m=this._keyIndices[U];if(P>this._arr[m].priority)throw new Error("New priority is greater than current priority. Key: "+U+" Old: "+this._arr[m].priority+" New: "+P);this._arr[m].priority=P,this._decrease(m)},R.prototype._heapify=function(U){var P=this._arr,m=2*U,S=m+1,E=U;m>1,!(P[S].priority1?W.setNode(vt,Z):W.setNode(vt)}),this},m.prototype.setNode=function(T,Z){return l.has(this._nodes,T)?(arguments.length>1&&(this._nodes[T]=Z),this):(this._nodes[T]=arguments.length>1?Z:this._defaultNodeLabelFn(T),this._isCompound&&(this._parent[T]=U,this._children[T]={},this._children[U][T]=!0),this._in[T]={},this._preds[T]={},this._out[T]={},this._sucs[T]={},++this._nodeCount,this)},m.prototype.node=function(T){return this._nodes[T]},m.prototype.hasNode=function(T){return l.has(this._nodes,T)},m.prototype.removeNode=function(T){var Z=this;if(l.has(this._nodes,T)){var tt=function(W){Z.removeEdge(Z._edgeObjs[W])};delete this._nodes[T],this._isCompound&&(this._removeFromParentsChildList(T),delete this._parent[T],l.each(this.children(T),function(W){Z.setParent(W)}),delete this._children[T]),l.each(l.keys(this._in[T]),tt),delete this._in[T],delete this._preds[T],l.each(l.keys(this._out[T]),tt),delete this._out[T],delete this._sucs[T],--this._nodeCount}return this},m.prototype.setParent=function(T,Z){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l.isUndefined(Z))Z=U;else{Z+="";for(var tt=Z;!l.isUndefined(tt);tt=this.parent(tt))if(tt===T)throw new Error("Setting "+Z+" as parent of "+T+" would create a cycle");this.setNode(Z)}return this.setNode(T),this._removeFromParentsChildList(T),this._parent[T]=Z,this._children[Z][T]=!0,this},m.prototype._removeFromParentsChildList=function(T){delete this._children[this._parent[T]][T]},m.prototype.parent=function(T){if(this._isCompound){var Z=this._parent[T];if(Z!==U)return Z}},m.prototype.children=function(T){if(l.isUndefined(T)&&(T=U),this._isCompound){var Z=this._children[T];if(Z)return l.keys(Z)}else{if(T===U)return this.nodes();if(this.hasNode(T))return[]}},m.prototype.predecessors=function(T){var Z=this._preds[T];if(Z)return l.keys(Z)},m.prototype.successors=function(T){var Z=this._sucs[T];if(Z)return l.keys(Z)},m.prototype.neighbors=function(T){var Z=this.predecessors(T);if(Z)return l.union(Z,this.successors(T))},m.prototype.isLeaf=function(T){var Z;return this.isDirected()?Z=this.successors(T):Z=this.neighbors(T),Z.length===0},m.prototype.filterNodes=function(T){var Z=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});Z.setGraph(this.graph());var tt=this;l.each(this._nodes,function(st,X){T(X)&&Z.setNode(X,st)}),l.each(this._edgeObjs,function(st){Z.hasNode(st.v)&&Z.hasNode(st.w)&&Z.setEdge(st,tt.edge(st))});var W={};function vt(st){var X=tt.parent(st);return X===void 0||Z.hasNode(X)?(W[st]=X,X):X in W?W[X]:vt(X)}return this._isCompound&&l.each(Z.nodes(),function(st){Z.setParent(st,vt(st))}),Z},m.prototype.setDefaultEdgeLabel=function(T){return l.isFunction(T)||(T=l.constant(T)),this._defaultEdgeLabelFn=T,this},m.prototype.edgeCount=function(){return this._edgeCount},m.prototype.edges=function(){return l.values(this._edgeObjs)},m.prototype.setPath=function(T,Z){var tt=this,W=arguments;return l.reduce(T,function(vt,st){return W.length>1?tt.setEdge(vt,st,Z):tt.setEdge(vt,st),st}),this},m.prototype.setEdge=function(){var T,Z,tt,W,vt=!1,st=arguments[0];typeof st=="object"&&st!==null&&"v"in st?(T=st.v,Z=st.w,tt=st.name,arguments.length===2&&(W=arguments[1],vt=!0)):(T=st,Z=arguments[1],tt=arguments[3],arguments.length>2&&(W=arguments[2],vt=!0)),T=""+T,Z=""+Z,l.isUndefined(tt)||(tt=""+tt);var X=F(this._isDirected,T,Z,tt);if(l.has(this._edgeLabels,X))return vt&&(this._edgeLabels[X]=W),this;if(!l.isUndefined(tt)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(T),this.setNode(Z),this._edgeLabels[X]=vt?W:this._defaultEdgeLabelFn(T,Z,tt);var Mt=Q(this._isDirected,T,Z,tt);return T=Mt.v,Z=Mt.w,Object.freeze(Mt),this._edgeObjs[X]=Mt,S(this._preds[Z],T),S(this._sucs[T],Z),this._in[Z][X]=Mt,this._out[T][X]=Mt,this._edgeCount++,this},m.prototype.edge=function(T,Z,tt){var W=arguments.length===1?O(this._isDirected,arguments[0]):F(this._isDirected,T,Z,tt);return this._edgeLabels[W]},m.prototype.hasEdge=function(T,Z,tt){var W=arguments.length===1?O(this._isDirected,arguments[0]):F(this._isDirected,T,Z,tt);return l.has(this._edgeLabels,W)},m.prototype.removeEdge=function(T,Z,tt){var W=arguments.length===1?O(this._isDirected,arguments[0]):F(this._isDirected,T,Z,tt),vt=this._edgeObjs[W];return vt&&(T=vt.v,Z=vt.w,delete this._edgeLabels[W],delete this._edgeObjs[W],E(this._preds[Z],T),E(this._sucs[T],Z),delete this._in[Z][W],delete this._out[T][W],this._edgeCount--),this},m.prototype.inEdges=function(T,Z){var tt=this._in[T];if(tt){var W=l.values(tt);return Z?l.filter(W,function(vt){return vt.v===Z}):W}},m.prototype.outEdges=function(T,Z){var tt=this._out[T];if(tt){var W=l.values(tt);return Z?l.filter(W,function(vt){return vt.w===Z}):W}},m.prototype.nodeEdges=function(T,Z){var tt=this.inEdges(T,Z);if(tt)return tt.concat(this.outEdges(T,Z))};function S(T,Z){T[Z]?T[Z]++:T[Z]=1}function E(T,Z){--T[Z]||delete T[Z]}function F(T,Z,tt,W){var vt=""+Z,st=""+tt;if(!T&&vt>st){var X=vt;vt=st,st=X}return vt+P+st+P+(l.isUndefined(W)?R:W)}function Q(T,Z,tt,W){var vt=""+Z,st=""+tt;if(!T&&vt>st){var X=vt;vt=st,st=X}var Mt={v:vt,w:st};return W&&(Mt.name=W),Mt}function O(T,Z){return F(T,Z.v,Z.w,Z.name)}},89224:function(gt,dt,f){gt.exports={Graph:f(6349),version:f(16544)}},17401:function(gt,dt,f){var l=f(95329),R=f(6349);gt.exports={write:U,read:S};function U(E){var F={options:{directed:E.isDirected(),multigraph:E.isMultigraph(),compound:E.isCompound()},nodes:P(E),edges:m(E)};return l.isUndefined(E.graph())||(F.value=l.clone(E.graph())),F}function P(E){return l.map(E.nodes(),function(F){var Q=E.node(F),O=E.parent(F),T={v:F};return l.isUndefined(Q)||(T.value=Q),l.isUndefined(O)||(T.parent=O),T})}function m(E){return l.map(E.edges(),function(F){var Q=E.edge(F),O={v:F.v,w:F.w};return l.isUndefined(F.name)||(O.name=F.name),l.isUndefined(Q)||(O.value=Q),O})}function S(E){var F=new R(E.options).setGraph(E.value);return l.each(E.nodes,function(Q){F.setNode(Q.v,Q.value),Q.parent&&F.setParent(Q.v,Q.parent)}),l.each(E.edges,function(Q){F.setEdge({v:Q.v,w:Q.w,name:Q.name},Q.value)}),F}},95329:function(gt,dt,f){var l;try{l={clone:f(40633),constant:f(46221),each:f(61475),filter:f(3130),has:f(64760),isArray:f(41594),isEmpty:f(74336),isFunction:f(92581),isUndefined:f(68408),keys:f(66357),map:f(81426),reduce:f(9695),size:f(24727),transform:f(61477),union:f(99477),values:f(72834)}}catch(R){}l||(l=window._),gt.exports=l},16544:function(gt){gt.exports="2.1.8"},64270:function(gt){(function(dt,f){gt.exports=f()})(this,function(){"use strict";var dt=function(B,w){return dt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(N,L){N.__proto__=L}||function(N,L){for(var nt in L)Object.prototype.hasOwnProperty.call(L,nt)&&(N[nt]=L[nt])},dt(B,w)};function f(B,w){if(typeof w!="function"&&w!==null)throw new TypeError("Class extends value "+String(w)+" is not a constructor or null");dt(B,w);function N(){this.constructor=B}B.prototype=w===null?Object.create(w):(N.prototype=w.prototype,new N)}var l=function(){return l=Object.assign||function(w){for(var N,L=1,nt=arguments.length;L0&&Ot[Ot.length-1])&&(Ln[0]===6||Ln[0]===2)){N=0;continue}if(Ln[0]===3&&(!Ot||Ln[1]>Ot[0]&&Ln[1]=55296&&nt<=56319&&N>10)+55296,re%1024+56320)),(nt+1===N||L.length>16384)&&(Ot+=String.fromCharCode.apply(String,L),L.length=0)}return Ot},O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),Z=0;Z>4,_n[nt++]=(re&15)<<4|Qe>>2,_n[nt++]=(Qe&3)<<6|ke&63;return Ln},X=function(B){for(var w=B.length,N=[],L=0;L>ht,me=1<>ht,pn=Fe+ye,cn=pn,we=32,Ye=cn+we,Un=65536>>Dt,Ze=1<=0){if(w<55296||w>56319&&w<=65535)return N=this.index[w>>ht],N=(N<>ht)],N=(N<>Dt),N=this.index[N],N+=w>>ht&Ie,N=this.index[N],N=(N<Pe?(nt.push(!0),Qe-=Pe):nt.push(!1),["normal","auto","loose"].indexOf(w)!==-1&&[8208,8211,12316,12448].indexOf(Ot)!==-1)return L.push(re),N.push(ae);if(Qe===nn||Qe===ee){if(re===0)return L.push(re),N.push(Xe);var ke=N[re-1];return Yn.indexOf(ke)===-1?(L.push(L[re-1]),N.push(ke)):(L.push(re),N.push(Xe))}if(L.push(re),Qe===yn)return N.push(w==="strict"?et:ur);if(Qe===Ue||Qe===Ae)return N.push(Xe);if(Qe===be)return Ot>=131072&&Ot<=196605||Ot>=196608&&Ot<=262141?N.push(ur):N.push(Xe);N.push(Qe)}),[L,N,nt]},y=function(B,w,N,L){var nt=L[N];if(Array.isArray(B)?B.indexOf(nt)!==-1:B===nt)for(var Ot=N;Ot<=L.length;){Ot++;var re=L[Ot];if(re===w)return!0;if(re!==kt)break}if(nt===kt)for(var Ot=N;Ot>0;){Ot--;var Qe=L[Ot];if(Array.isArray(B)?B.indexOf(Qe)!==-1:B===Qe)for(var ke=N;ke<=L.length;){ke++;var re=L[ke];if(re===w)return!0;if(re!==kt)break}if(Qe!==kt)break}return!1},D=function(B,w){for(var N=B;N>=0;){var L=w[N];if(L===kt)N--;else return L}return 0},z=function(B,w,N,L,nt){if(N[L]===0)return Rt;var Ot=L-1;if(Array.isArray(nt)&&nt[Ot]===!0)return Rt;var re=Ot-1,Qe=Ot+1,ke=w[Ot],Ln=re>=0?w[re]:0,_n=w[Qe];if(ke===yt&&_n===fe)return Rt;if(gn.indexOf(ke)!==-1)return Ut;if(gn.indexOf(_n)!==-1||mn.indexOf(_n)!==-1)return Rt;if(D(Ot,w)===Ke)return he;if(Oe.get(B[Ot])===ee||(ke===fn||ke===Hn)&&Oe.get(B[Qe])===ee||ke===le||_n===le||ke===Me||[kt,I,de].indexOf(ke)===-1&&_n===Me||[$e,Ge,Sn,Lt,xe].indexOf(_n)!==-1||D(Ot,w)===Pt||y(Xt,Pt,Ot,w)||y([$e,Ge],et,Ot,w)||y(Ne,Ne,Ot,w))return Rt;if(ke===kt)return he;if(ke===Xt||_n===Xt)return Rt;if(_n===ae||ke===ae)return he;if([I,de,et].indexOf(_n)!==-1||ke===rt||Ln===Mr&&x.indexOf(ke)!==-1||ke===xe&&_n===Mr||_n===Bt||Be.indexOf(_n)!==-1&&ke===_t||Be.indexOf(ke)!==-1&&_n===_t||ke===Ee&&[ur,fn,Hn].indexOf(_n)!==-1||[ur,fn,Hn].indexOf(ke)!==-1&&_n===Vt||Be.indexOf(ke)!==-1&&$n.indexOf(_n)!==-1||$n.indexOf(ke)!==-1&&Be.indexOf(_n)!==-1||[Ee,Vt].indexOf(ke)!==-1&&(_n===_t||[Pt,de].indexOf(_n)!==-1&&w[Qe+1]===_t)||[Pt,de].indexOf(ke)!==-1&&_n===_t||ke===_t&&[_t,xe,Lt].indexOf(_n)!==-1)return Rt;if([_t,xe,Lt,$e,Ge].indexOf(_n)!==-1)for(var jn=Ot;jn>=0;){var hr=w[jn];if(hr===_t)return Rt;if([xe,Lt].indexOf(hr)!==-1)jn--;else break}if([Ee,Vt].indexOf(_n)!==-1)for(var jn=[$e,Ge].indexOf(ke)!==-1?re:Ot;jn>=0;){var hr=w[jn];if(hr===_t)return Rt;if([xe,Lt].indexOf(hr)!==-1)jn--;else break}if(In===ke&&[In,jt,Zn,Gn].indexOf(_n)!==-1||[jt,Zn].indexOf(ke)!==-1&&[jt,rr].indexOf(_n)!==-1||[rr,Gn].indexOf(ke)!==-1&&_n===rr||ot.indexOf(ke)!==-1&&[Bt,Vt].indexOf(_n)!==-1||ot.indexOf(_n)!==-1&&ke===Ee||Be.indexOf(ke)!==-1&&Be.indexOf(_n)!==-1||ke===Lt&&Be.indexOf(_n)!==-1||Be.concat(_t).indexOf(ke)!==-1&&_n===Pt&&ve.indexOf(B[Qe])===-1||Be.concat(_t).indexOf(_n)!==-1&&ke===Ge)return Rt;if(ke===cr&&_n===cr){for(var ri=N[Ot],Rr=1;ri>0&&(ri--,w[ri]===cr);)Rr++;if(Rr%2!==0)return Rt}return ke===fn&&_n===Hn?Rt:he},Nt=function(B,w){w||(w={lineBreak:"normal",wordBreak:"normal"});var N=M(B,w.lineBreak),L=N[0],nt=N[1],Ot=N[2];(w.wordBreak==="break-all"||w.wordBreak==="break-word")&&(nt=nt.map(function(Qe){return[_t,Xe,Ue].indexOf(Qe)!==-1?ur:Qe}));var re=w.wordBreak==="keep-all"?Ot.map(function(Qe,ke){return Qe&&B[ke]>=19968&&B[ke]<=40959}):void 0;return[L,nt,re]},Qt=function(){function B(w,N,L,nt){this.codePoints=w,this.required=N===Ut,this.start=L,this.end=nt}return B.prototype.slice=function(){return Q.apply(void 0,this.codePoints.slice(this.start,this.end))},B}(),qt=function(B,w){var N=F(B),L=Nt(N,w),nt=L[0],Ot=L[1],re=L[2],Qe=N.length,ke=0,Ln=0;return{next:function(){if(Ln>=Qe)return{done:!0,value:null};for(var _n=Rt;Ln=er&&B<=57},us=function(B){return B>=55296&&B<=57343},Pa=function(B){return ga(B)||B>=Ba&&B<=fa||B>=Ri&&B<=ta},Ca=function(B){return B>=Ri&&B<=Ki},qa=function(B){return B>=Ba&&B<=cs},no=function(B){return Ca(B)||qa(B)},ro=function(B){return B>=ue},Is=function(B){return B===ct||B===De||B===Yt},Ws=function(B){return no(B)||ro(B)||B===He},Ds=function(B){return Ws(B)||ga(B)||B===Tn},Gi=function(B){return B>=Fr&&B<=Zr||B===jr||B>=mi&&B<=Ci||B===gi},ka=function(B,w){return B!==zt?!1:w!==ct},_a=function(B,w,N){return B===Tn?Ws(w)||ka(w,N):Ws(B)?!0:!!(B===zt&&ka(B,w))},No=function(B,w,N){return B===wn||B===Tn?ga(w)?!0:w===Or&&ga(N):ga(B===Or?w:B)},is=function(B){var w=0,N=1;(B[w]===wn||B[w]===Tn)&&(B[w]===Tn&&(N=-1),w++);for(var L=[];ga(B[w]);)L.push(B[w++]);var nt=L.length?parseInt(Q.apply(void 0,L),10):0;B[w]===Or&&w++;for(var Ot=[];ga(B[w]);)Ot.push(B[w++]);var re=Ot.length,Qe=re?parseInt(Q.apply(void 0,Ot),10):0;(B[w]===da||B[w]===Xi)&&w++;var ke=1;(B[w]===wn||B[w]===Tn)&&(B[w]===Tn&&(ke=-1),w++);for(var Ln=[];ga(B[w]);)Ln.push(B[w++]);var _n=Ln.length?parseInt(Q.apply(void 0,Ln),10):0;return N*(nt+Qe*Math.pow(10,-re))*Math.pow(10,ke*_n)},ca={type:2},io={type:3},Ha={type:4},Eo={type:13},Vs={type:8},xs={type:21},ua={type:9},fo={type:10},Wa={type:11},$a={type:12},Wi={type:14},Ka={type:23},Rs={type:1},js={type:25},aa={type:24},Lr={type:26},Ia={type:27},ao={type:28},Jo={type:29},qo={type:31},Qs={type:32},so=function(){function B(){this._value=[]}return B.prototype.write=function(w){this._value=this._value.concat(F(w))},B.prototype.read=function(){for(var w=[],N=this.consumeToken();N!==Qs;)w.push(N),N=this.consumeToken();return w},B.prototype.consumeToken=function(){var w=this.consumeCodePoint();switch(w){case Le:return this.consumeStringToken(Le);case Mn:var N=this.peekCodePoint(0),L=this.peekCodePoint(1),nt=this.peekCodePoint(2);if(Ds(N)||ka(L,nt)){var Ot=_a(N,L,nt)?un:ne,re=this.consumeName();return{type:5,value:re,flags:Ot}}break;case Nn:if(this.peekCodePoint(0)===sn)return this.consumeCodePoint(),Eo;break;case Kn:return this.consumeStringToken(Kn);case qn:return ca;case gr:return io;case Ve:if(this.peekCodePoint(0)===sn)return this.consumeCodePoint(),Wi;break;case wn:if(No(w,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(w),this.consumeNumericToken();break;case zn:return Ha;case Tn:var Qe=w,ke=this.peekCodePoint(0),Ln=this.peekCodePoint(1);if(No(Qe,ke,Ln))return this.reconsumeCodePoint(w),this.consumeNumericToken();if(_a(Qe,ke,Ln))return this.reconsumeCodePoint(w),this.consumeIdentLikeToken();if(ke===Tn&&Ln===kr)return this.consumeCodePoint(),this.consumeCodePoint(),aa;break;case Or:if(No(w,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(w),this.consumeNumericToken();break;case Ct:if(this.peekCodePoint(0)===Ve)for(this.consumeCodePoint();;){var _n=this.consumeCodePoint();if(_n===Ve&&(_n=this.consumeCodePoint(),_n===Ct))return this.consumeToken();if(_n===hi)return this.consumeToken()}break;case tr:return Lr;case ar:return Ia;case En:if(this.peekCodePoint(0)===or&&this.peekCodePoint(1)===Tn&&this.peekCodePoint(2)===Tn)return this.consumeCodePoint(),this.consumeCodePoint(),js;break;case _r:var jn=this.peekCodePoint(0),hr=this.peekCodePoint(1),ri=this.peekCodePoint(2);if(_a(jn,hr,ri)){var re=this.consumeName();return{type:7,value:re}}break;case Cr:return ao;case zt:if(ka(w,this.peekCodePoint(0)))return this.reconsumeCodePoint(w),this.consumeIdentLikeToken();break;case br:return Jo;case ni:if(this.peekCodePoint(0)===sn)return this.consumeCodePoint(),Vs;break;case Br:return Wa;case Pn:return $a;case la:case bs:var Rr=this.peekCodePoint(0),Jr=this.peekCodePoint(1);return Rr===wn&&(Pa(Jr)||Jr===Wr)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(w),this.consumeIdentLikeToken();case An:if(this.peekCodePoint(0)===sn)return this.consumeCodePoint(),ua;if(this.peekCodePoint(0)===An)return this.consumeCodePoint(),xs;break;case ie:if(this.peekCodePoint(0)===sn)return this.consumeCodePoint(),fo;break;case hi:return Qs}return Is(w)?(this.consumeWhiteSpace(),qo):ga(w)?(this.reconsumeCodePoint(w),this.consumeNumericToken()):Ws(w)?(this.reconsumeCodePoint(w),this.consumeIdentLikeToken()):{type:6,value:Q(w)}},B.prototype.consumeCodePoint=function(){var w=this._value.shift();return typeof w=="undefined"?-1:w},B.prototype.reconsumeCodePoint=function(w){this._value.unshift(w)},B.prototype.peekCodePoint=function(w){return w>=this._value.length?-1:this._value[w]},B.prototype.consumeUnicodeRangeToken=function(){for(var w=[],N=this.consumeCodePoint();Pa(N)&&w.length<6;)w.push(N),N=this.consumeCodePoint();for(var L=!1;N===Wr&&w.length<6;)w.push(N),N=this.consumeCodePoint(),L=!0;if(L){var nt=parseInt(Q.apply(void 0,w.map(function(ke){return ke===Wr?er:ke})),16),Ot=parseInt(Q.apply(void 0,w.map(function(ke){return ke===Wr?fa:ke})),16);return{type:30,start:nt,end:Ot}}var re=parseInt(Q.apply(void 0,w),16);if(this.peekCodePoint(0)===Tn&&Pa(this.peekCodePoint(1))){this.consumeCodePoint(),N=this.consumeCodePoint();for(var Qe=[];Pa(N)&&Qe.length<6;)Qe.push(N),N=this.consumeCodePoint();var Ot=parseInt(Q.apply(void 0,Qe),16);return{type:30,start:re,end:Ot}}else return{type:30,start:re,end:re}},B.prototype.consumeIdentLikeToken=function(){var w=this.consumeName();return w.toLowerCase()==="url"&&this.peekCodePoint(0)===qn?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===qn?(this.consumeCodePoint(),{type:19,value:w}):{type:20,value:w}},B.prototype.consumeUrlToken=function(){var w=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===hi)return{type:22,value:""};var N=this.peekCodePoint(0);if(N===Kn||N===Le){var L=this.consumeStringToken(this.consumeCodePoint());return L.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===hi||this.peekCodePoint(0)===gr)?(this.consumeCodePoint(),{type:22,value:L.value}):(this.consumeBadUrlRemnants(),Ka)}for(;;){var nt=this.consumeCodePoint();if(nt===hi||nt===gr)return{type:22,value:Q.apply(void 0,w)};if(Is(nt))return this.consumeWhiteSpace(),this.peekCodePoint(0)===hi||this.peekCodePoint(0)===gr?(this.consumeCodePoint(),{type:22,value:Q.apply(void 0,w)}):(this.consumeBadUrlRemnants(),Ka);if(nt===Le||nt===Kn||nt===qn||Gi(nt))return this.consumeBadUrlRemnants(),Ka;if(nt===zt)if(ka(nt,this.peekCodePoint(0)))w.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Ka;else w.push(nt)}},B.prototype.consumeWhiteSpace=function(){for(;Is(this.peekCodePoint(0));)this.consumeCodePoint()},B.prototype.consumeBadUrlRemnants=function(){for(;;){var w=this.consumeCodePoint();if(w===gr||w===hi)return;ka(w,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},B.prototype.consumeStringSlice=function(w){for(var N=5e4,L="";w>0;){var nt=Math.min(N,w);L+=Q.apply(void 0,this._value.splice(0,nt)),w-=nt}return this._value.shift(),L},B.prototype.consumeStringToken=function(w){var N="",L=0;do{var nt=this._value[L];if(nt===hi||nt===void 0||nt===w)return N+=this.consumeStringSlice(L),{type:0,value:N};if(nt===ct)return this._value.splice(0,L),Rs;if(nt===zt){var Ot=this._value[L+1];Ot!==hi&&Ot!==void 0&&(Ot===ct?(N+=this.consumeStringSlice(L),L=-1,this._value.shift()):ka(nt,Ot)&&(N+=this.consumeStringSlice(L),N+=Q(this.consumeEscapedCodePoint()),L=-1))}L++}while(!0)},B.prototype.consumeNumber=function(){var w=[],N=pt,L=this.peekCodePoint(0);for((L===wn||L===Tn)&&w.push(this.consumeCodePoint());ga(this.peekCodePoint(0));)w.push(this.consumeCodePoint());L=this.peekCodePoint(0);var nt=this.peekCodePoint(1);if(L===Or&&ga(nt))for(w.push(this.consumeCodePoint(),this.consumeCodePoint()),N=mt;ga(this.peekCodePoint(0));)w.push(this.consumeCodePoint());L=this.peekCodePoint(0),nt=this.peekCodePoint(1);var Ot=this.peekCodePoint(2);if((L===da||L===Xi)&&((nt===wn||nt===Tn)&&ga(Ot)||ga(nt)))for(w.push(this.consumeCodePoint(),this.consumeCodePoint()),N=mt;ga(this.peekCodePoint(0));)w.push(this.consumeCodePoint());return[is(w),N]},B.prototype.consumeNumericToken=function(){var w=this.consumeNumber(),N=w[0],L=w[1],nt=this.peekCodePoint(0),Ot=this.peekCodePoint(1),re=this.peekCodePoint(2);if(_a(nt,Ot,re)){var Qe=this.consumeName();return{type:15,number:N,flags:L,unit:Qe}}return nt===ir?(this.consumeCodePoint(),{type:16,number:N,flags:L}):{type:17,number:N,flags:L}},B.prototype.consumeEscapedCodePoint=function(){var w=this.consumeCodePoint();if(Pa(w)){for(var N=Q(w);Pa(this.peekCodePoint(0))&&N.length<6;)N+=Q(this.consumeCodePoint());Is(this.peekCodePoint(0))&&this.consumeCodePoint();var L=parseInt(N,16);return L===0||us(L)||L>1114111?$t:L}return w===hi?$t:w},B.prototype.consumeName=function(){for(var w="";;){var N=this.consumeCodePoint();if(Ds(N))w+=Q(N);else if(ka(N,this.peekCodePoint(0)))w+=Q(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(N),w}},B}(),oo=function(){function B(w){this._tokens=w}return B.create=function(w){var N=new so;return N.write(w),new B(N.read())},B.parseValue=function(w){return B.create(w).parseComponentValue()},B.parseValues=function(w){return B.create(w).parseComponentValues()},B.prototype.parseComponentValue=function(){for(var w=this.consumeToken();w.type===31;)w=this.consumeToken();if(w.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(w);var N=this.consumeComponentValue();do w=this.consumeToken();while(w.type===31);if(w.type===32)return N;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},B.prototype.parseComponentValues=function(){for(var w=[];;){var N=this.consumeComponentValue();if(N.type===32)return w;w.push(N),w.push()}},B.prototype.consumeComponentValue=function(){var w=this.consumeToken();switch(w.type){case 11:case 28:case 2:return this.consumeSimpleBlock(w.type);case 19:return this.consumeFunction(w)}return w},B.prototype.consumeSimpleBlock=function(w){for(var N={type:w,values:[]},L=this.consumeToken();;){if(L.type===32||as(L,w))return N;this.reconsumeToken(L),N.values.push(this.consumeComponentValue()),L=this.consumeToken()}},B.prototype.consumeFunction=function(w){for(var N={name:w.value,values:[],type:18};;){var L=this.consumeToken();if(L.type===32||L.type===3)return N;this.reconsumeToken(L),N.values.push(this.consumeComponentValue())}},B.prototype.consumeToken=function(){var w=this._tokens.shift();return typeof w=="undefined"?Qs:w},B.prototype.reconsumeToken=function(w){this._tokens.unshift(w)},B}(),Sa=function(B){return B.type===15},Ua=function(B){return B.type===17},zi=function(B){return B.type===20},Po=function(B){return B.type===0},Ao=function(B,w){return zi(B)&&B.value===w},Bo=function(B){return B.type!==31},Va=function(B){return B.type!==31&&B.type!==4},Da=function(B){var w=[],N=[];return B.forEach(function(L){if(L.type===4){if(N.length===0)throw new Error("Error parsing function args, zero tokens for arg");w.push(N),N=[];return}L.type!==31&&N.push(L)}),N.length&&w.push(N),w},as=function(B,w){return w===11&&B.type===12||w===28&&B.type===29?!0:w===2&&B.type===3},ws=function(B){return B.type===17||B.type===15},sa=function(B){return B.type===16||ws(B)},Vi=function(B){return B.length>1?[B[0],B[1]]:[B[0]]},qi={type:17,number:0,flags:pt},ja={type:16,number:50,flags:pt},Ys={type:16,number:100,flags:pt},Cs=function(B,w,N){var L=B[0],nt=B[1];return[ea(L,w),ea(typeof nt!="undefined"?nt:L,N)]},ea=function(B,w){if(B.type===16)return B.number/100*w;if(Sa(B))switch(B.unit){case"rem":case"em":return 16*B.number;case"px":default:return B.number}return B.number},bo="deg",Ko="grad",hs="rad",xo="turn",$o={name:"angle",parse:function(B,w){if(w.type===15)switch(w.unit){case bo:return Math.PI*w.number/180;case Ko:return Math.PI/200*w.number;case hs:return w.number;case xo:return Math.PI*2*w.number}throw new Error("Unsupported angle type")}},hA=function(B){return B.type===15&&(B.unit===bo||B.unit===Ko||B.unit===hs||B.unit===xo)},ba=function(B){var w=B.filter(zi).map(function(N){return N.value}).join(" ");switch(w){case"to bottom right":case"to right bottom":case"left top":case"top left":return[qi,qi];case"to top":case"bottom":return ds(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[qi,Ys];case"to right":case"left":return ds(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Ys,Ys];case"to bottom":case"top":return ds(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Ys,qi];case"to left":case"right":return ds(270)}return 0},ds=function(B){return Math.PI*B/180},Es={name:"color",parse:function(B,w){if(w.type===18){var N=nl[w.name];if(typeof N=="undefined")throw new Error('Attempting to parse an unsupported color function "'+w.name+'"');return N(B,w.values)}if(w.type===5){if(w.value.length===3){var L=w.value.substring(0,1),nt=w.value.substring(1,2),Ot=w.value.substring(2,3);return na(parseInt(L+L,16),parseInt(nt+nt,16),parseInt(Ot+Ot,16),1)}if(w.value.length===4){var L=w.value.substring(0,1),nt=w.value.substring(1,2),Ot=w.value.substring(2,3),re=w.value.substring(3,4);return na(parseInt(L+L,16),parseInt(nt+nt,16),parseInt(Ot+Ot,16),parseInt(re+re,16)/255)}if(w.value.length===6){var L=w.value.substring(0,2),nt=w.value.substring(2,4),Ot=w.value.substring(4,6);return na(parseInt(L,16),parseInt(nt,16),parseInt(Ot,16),1)}if(w.value.length===8){var L=w.value.substring(0,2),nt=w.value.substring(2,4),Ot=w.value.substring(4,6),re=w.value.substring(6,8);return na(parseInt(L,16),parseInt(nt,16),parseInt(Ot,16),parseInt(re,16)/255)}}if(w.type===20){var Qe=Ss[w.value.toUpperCase()];if(typeof Qe!="undefined")return Qe}return Ss.TRANSPARENT}},ss=function(B){return(255&B)===0},oa=function(B){var w=255&B,N=255&B>>8,L=255&B>>16,nt=255&B>>24;return w<255?"rgba("+nt+","+L+","+N+","+w/255+")":"rgb("+nt+","+L+","+N+")"},na=function(B,w,N,L){return(B<<24|w<<16|N<<8|Math.round(L*255)<<0)>>>0},OA=function(B,w){if(B.type===17)return B.number;if(B.type===16){var N=w===3?1:255;return w===3?B.number/100*N:Math.round(B.number/100*N)}return 0},Go=function(B,w){var N=w.filter(Va);if(N.length===3){var L=N.map(OA),nt=L[0],Ot=L[1],re=L[2];return na(nt,Ot,re,1)}if(N.length===4){var Qe=N.map(OA),nt=Qe[0],Ot=Qe[1],re=Qe[2],ke=Qe[3];return na(nt,Ot,re,ke)}return 0};function Uo(B,w,N){return N<0&&(N+=1),N>=1&&(N-=1),N<1/6?(w-B)*N*6+B:N<1/2?w:N<2/3?(w-B)*6*(2/3-N)+B:B}var Do=function(B,w){var N=w.filter(Va),L=N[0],nt=N[1],Ot=N[2],re=N[3],Qe=(L.type===17?ds(L.number):$o.parse(B,L))/(Math.PI*2),ke=sa(nt)?nt.number/100:0,Ln=sa(Ot)?Ot.number/100:0,_n=typeof re!="undefined"&&sa(re)?ea(re,1):1;if(ke===0)return na(Ln*255,Ln*255,Ln*255,1);var jn=Ln<=.5?Ln*(ke+1):Ln+ke-Ln*ke,hr=Ln*2-jn,ri=Uo(hr,jn,Qe+1/3),Rr=Uo(hr,jn,Qe),Jr=Uo(hr,jn,Qe-1/3);return na(ri*255,Rr*255,Jr*255,_n)},nl={hsl:Do,hsla:Do,rgb:Go,rgba:Go},Co=function(B,w){return Es.parse(B,oo.create(w).parseComponentValue())},Ss={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},dA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(B,w){return w.map(function(N){if(zi(N))switch(N.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Xs={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},So=function(B,w){var N=Es.parse(B,w[0]),L=w[1];return L&&sa(L)?{color:N,stop:L}:{color:N,stop:null}},TA=function(B,w){var N=B[0],L=B[B.length-1];N.stop===null&&(N.stop=qi),L.stop===null&&(L.stop=Ys);for(var nt=[],Ot=0,re=0;reOt?nt.push(ke):nt.push(Ot),Ot=ke}else nt.push(null)}for(var Ln=null,re=0;rere.optimumDistance)?{optimumCorner:Qe,optimumDistance:_n}:re},{optimumDistance:nt?1/0:-1/0,optimumCorner:null}).optimumCorner},Mo=function(B,w,N,L,nt){var Ot=0,re=0;switch(B.size){case 0:B.shape===0?Ot=re=Math.min(Math.abs(w),Math.abs(w-L),Math.abs(N),Math.abs(N-nt)):B.shape===1&&(Ot=Math.min(Math.abs(w),Math.abs(w-L)),re=Math.min(Math.abs(N),Math.abs(N-nt)));break;case 2:if(B.shape===0)Ot=re=Math.min(xa(w,N),xa(w,N-nt),xa(w-L,N),xa(w-L,N-nt));else if(B.shape===1){var Qe=Math.min(Math.abs(N),Math.abs(N-nt))/Math.min(Math.abs(w),Math.abs(w-L)),ke=Ms(L,nt,w,N,!0),Ln=ke[0],_n=ke[1];Ot=xa(Ln-w,(_n-N)/Qe),re=Qe*Ot}break;case 1:B.shape===0?Ot=re=Math.max(Math.abs(w),Math.abs(w-L),Math.abs(N),Math.abs(N-nt)):B.shape===1&&(Ot=Math.max(Math.abs(w),Math.abs(w-L)),re=Math.max(Math.abs(N),Math.abs(N-nt)));break;case 3:if(B.shape===0)Ot=re=Math.max(xa(w,N),xa(w,N-nt),xa(w-L,N),xa(w-L,N-nt));else if(B.shape===1){var Qe=Math.max(Math.abs(N),Math.abs(N-nt))/Math.max(Math.abs(w),Math.abs(w-L)),jn=Ms(L,nt,w,N,!1),Ln=jn[0],_n=jn[1];Ot=xa(Ln-w,(_n-N)/Qe),re=Qe*Ot}break}return Array.isArray(B.size)&&(Ot=ea(B.size[0],L),re=B.size.length===2?ea(B.size[1],nt):Ot),[Ot,re]},fs=function(B,w){var N=ds(180),L=[];return Da(w).forEach(function(nt,Ot){if(Ot===0){var re=nt[0];if(re.type===20&&re.value==="to"){N=ba(nt);return}else if(hA(re)){N=$o.parse(B,re);return}}var Qe=So(B,nt);L.push(Qe)}),{angle:N,stops:L,type:1}},ko=function(B,w){var N=ds(180),L=[];return Da(w).forEach(function(nt,Ot){if(Ot===0){var re=nt[0];if(re.type===20&&["top","left","right","bottom"].indexOf(re.value)!==-1){N=ba(nt);return}else if(hA(re)){N=($o.parse(B,re)+ds(270))%ds(360);return}}var Qe=So(B,nt);L.push(Qe)}),{angle:N,stops:L,type:1}},FA=function(B,w){var N=ds(180),L=[],nt=1,Ot=0,re=3,Qe=[];return Da(w).forEach(function(ke,Ln){var _n=ke[0];if(Ln===0){if(zi(_n)&&_n.value==="linear"){nt=1;return}else if(zi(_n)&&_n.value==="radial"){nt=2;return}}if(_n.type===18){if(_n.name==="from"){var jn=Es.parse(B,_n.values[0]);L.push({stop:qi,color:jn})}else if(_n.name==="to"){var jn=Es.parse(B,_n.values[0]);L.push({stop:Ys,color:jn})}else if(_n.name==="color-stop"){var hr=_n.values.filter(Va);if(hr.length===2){var jn=Es.parse(B,hr[1]),ri=hr[0];Ua(ri)&&L.push({stop:{type:16,number:ri.number*100,flags:ri.flags},color:jn})}}}}),nt===1?{angle:(N+ds(180))%ds(360),stops:L,type:nt}:{size:re,shape:Ot,stops:L,position:Qe,type:nt}},_o="closest-side",Oo="farthest-side",IA="closest-corner",St="farthest-corner",q="circle",it="ellipse",bt="cover",Ht="contain",se=function(B,w){var N=0,L=3,nt=[],Ot=[];return Da(w).forEach(function(re,Qe){var ke=!0;if(Qe===0){var Ln=!1;ke=re.reduce(function(jn,hr){if(Ln)if(zi(hr))switch(hr.value){case"center":return Ot.push(ja),jn;case"top":case"left":return Ot.push(qi),jn;case"right":case"bottom":return Ot.push(Ys),jn}else(sa(hr)||ws(hr))&&Ot.push(hr);else if(zi(hr))switch(hr.value){case q:return N=0,!1;case it:return N=1,!1;case"at":return Ln=!0,!1;case _o:return L=0,!1;case bt:case Oo:return L=1,!1;case Ht:case IA:return L=2,!1;case St:return L=3,!1}else if(ws(hr)||sa(hr))return Array.isArray(L)||(L=[]),L.push(hr),!1;return jn},ke)}if(ke){var _n=So(B,re);nt.push(_n)}}),{size:L,shape:N,stops:nt,position:Ot,type:2}},ce=function(B,w){var N=0,L=3,nt=[],Ot=[];return Da(w).forEach(function(re,Qe){var ke=!0;if(Qe===0?ke=re.reduce(function(_n,jn){if(zi(jn))switch(jn.value){case"center":return Ot.push(ja),!1;case"top":case"left":return Ot.push(qi),!1;case"right":case"bottom":return Ot.push(Ys),!1}else if(sa(jn)||ws(jn))return Ot.push(jn),!1;return _n},ke):Qe===1&&(ke=re.reduce(function(_n,jn){if(zi(jn))switch(jn.value){case q:return N=0,!1;case it:return N=1,!1;case Ht:case _o:return L=0,!1;case Oo:return L=1,!1;case IA:return L=2,!1;case bt:case St:return L=3,!1}else if(ws(jn)||sa(jn))return Array.isArray(L)||(L=[]),L.push(jn),!1;return _n},ke)),ke){var Ln=So(B,re);nt.push(Ln)}}),{size:L,shape:N,stops:nt,position:Ot,type:2}},hn=function(B){return B.type===1},ln=function(B){return B.type===2},On={name:"image",parse:function(B,w){if(w.type===22){var N={url:w.value,type:0};return B.cache.addImage(w.value),N}if(w.type===18){var L=Dn[w.name];if(typeof L=="undefined")throw new Error('Attempting to parse an unsupported image function "'+w.name+'"');return L(B,w.values)}throw new Error("Unsupported image type "+w.type)}};function Qn(B){return!(B.type===20&&B.value==="none")&&(B.type!==18||!!Dn[B.name])}var Dn={"linear-gradient":fs,"-moz-linear-gradient":ko,"-ms-linear-gradient":ko,"-o-linear-gradient":ko,"-webkit-linear-gradient":ko,"radial-gradient":se,"-moz-radial-gradient":ce,"-ms-radial-gradient":ce,"-o-radial-gradient":ce,"-webkit-radial-gradient":ce,"-webkit-gradient":FA},nr={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(B,w){if(w.length===0)return[];var N=w[0];return N.type===20&&N.value==="none"?[]:w.filter(function(L){return Va(L)&&Qn(L)}).map(function(L){return On.parse(B,L)})}},Jn={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(B,w){return w.map(function(N){if(zi(N))switch(N.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},fr={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(B,w){return Da(w).map(function(N){return N.filter(sa)}).map(Vi)}},yr={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(B,w){return Da(w).map(function(N){return N.filter(zi).map(function(L){return L.value}).join(" ")}).map(vr)}},vr=function(B){switch(B){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},Sr;(function(B){B.AUTO="auto",B.CONTAIN="contain",B.COVER="cover"})(Sr||(Sr={}));var Dr={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(B,w){return Da(w).map(function(N){return N.filter(Nr)})}},Nr=function(B){return zi(B)||sa(B)},Gr=function(B){return{name:"border-"+B+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Yr=Gr("top"),ti=Gr("right"),Bi=Gr("bottom"),pi=Gr("left"),fi=function(B){return{name:"border-radius-"+B,initialValue:"0 0",prefix:!1,type:1,parse:function(w,N){return Vi(N.filter(sa))}}},Mi=fi("top-left"),bi=fi("top-right"),V=fi("bottom-right"),K=fi("bottom-left"),k=function(B){return{name:"border-"+B+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(w,N){switch(N){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},_=k("top"),Y=k("right"),at=k("bottom"),ft=k("left"),ut=function(B){return{name:"border-"+B+"-width",initialValue:"0",type:0,prefix:!1,parse:function(w,N){return Sa(N)?N.number:0}}},wt=ut("top"),Zt=ut("right"),Ce=ut("bottom"),Te=ut("left"),je={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},on={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(B,w){switch(w){case"rtl":return 1;case"ltr":default:return 0}}},Bn={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(B,w){return w.filter(zi).reduce(function(N,L){return N|Vn(L.value)},0)}},Vn=function(B){switch(B){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Rn={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(B,w){switch(w){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},sr={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(B,w){return w.type===20&&w.value==="normal"?0:w.type===17||w.type===15?w.number:0}},Ar;(function(B){B.NORMAL="normal",B.STRICT="strict"})(Ar||(Ar={}));var dr={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(B,w){switch(w){case"strict":return Ar.STRICT;case"normal":default:return Ar.NORMAL}}},Er={name:"line-height",initialValue:"normal",prefix:!1,type:4},Ur=function(B,w){return zi(B)&&B.value==="normal"?1.2*w:B.type===17?w*B.number:sa(B)?ea(B,w):w},Qr={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(B,w){return w.type===20&&w.value==="none"?null:On.parse(B,w)}},zr={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(B,w){switch(w){case"inside":return 0;case"outside":default:return 1}}},ai={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(B,w){switch(w){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},yi=function(B){return{name:"margin-"+B,initialValue:"0",prefix:!1,type:4}},ji=yi("top"),$i=yi("right"),Fi=yi("bottom"),Ai=yi("left"),xi={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(B,w){return w.filter(zi).map(function(N){switch(N.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},vi={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(B,w){switch(w){case"break-word":return"break-word";case"normal":default:return"normal"}}},Oi=function(B){return{name:"padding-"+B,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},va=Oi("top"),li=Oi("right"),Yi=Oi("bottom"),Qi=Oi("left"),ma={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(B,w){switch(w){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},ki={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(B,w){switch(w){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},_i={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(B,w){return w.length===1&&Ao(w[0],"none")?[]:Da(w).map(function(N){for(var L={color:Ss.TRANSPARENT,offsetX:qi,offsetY:qi,blur:qi},nt=0,Ot=0;Ot1?1:0],this.overflowWrap=si(w,vi,N.overflowWrap),this.paddingTop=si(w,va,N.paddingTop),this.paddingRight=si(w,li,N.paddingRight),this.paddingBottom=si(w,Yi,N.paddingBottom),this.paddingLeft=si(w,Qi,N.paddingLeft),this.paintOrder=si(w,PA,N.paintOrder),this.position=si(w,ki,N.position),this.textAlign=si(w,ma,N.textAlign),this.textDecorationColor=si(w,Vl,(L=N.textDecorationColor)!==null&&L!==void 0?L:N.color),this.textDecorationLine=si(w,fA,(nt=N.textDecorationLine)!==null&&nt!==void 0?nt:N.textDecoration),this.textShadow=si(w,_i,N.textShadow),this.textTransform=si(w,Ma,N.textTransform),this.transform=si(w,Ls,N.transform),this.transformOrigin=si(w,go,N.transformOrigin),this.visibility=si(w,vo,N.visibility),this.webkitTextStrokeColor=si(w,Wo,N.webkitTextStrokeColor),this.webkitTextStrokeWidth=si(w,Xa,N.webkitTextStrokeWidth),this.wordBreak=si(w,_s,N.wordBreak),this.zIndex=si(w,Hs,N.zIndex)}return B.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},B.prototype.isTransparent=function(){return ss(this.backgroundColor)},B.prototype.isTransformed=function(){return this.transform!==null},B.prototype.isPositioned=function(){return this.position!==0},B.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},B.prototype.isFloating=function(){return this.float!==0},B.prototype.isInlineLevel=function(){return Za(this.display,4)||Za(this.display,33554432)||Za(this.display,268435456)||Za(this.display,536870912)||Za(this.display,67108864)||Za(this.display,134217728)},B}(),ml=function(){function B(w,N){this.content=si(w,lo,N.content),this.quotes=si(w,Ga,N.quotes)}return B}(),il=function(){function B(w,N){this.counterIncrement=si(w,nA,N.counterIncrement),this.counterReset=si(w,ya,N.counterReset)}return B}(),si=function(B,w,N){var L=new so,nt=N!==null&&typeof N!="undefined"?N.toString():w.initialValue;L.write(nt);var Ot=new oo(L.read());switch(w.type){case 2:var re=Ot.parseComponentValue();return w.parse(B,zi(re)?re.value:w.initialValue);case 0:return w.parse(B,Ot.parseComponentValue());case 1:return w.parse(B,Ot.parseComponentValues());case 4:return Ot.parseComponentValue();case 3:switch(w.format){case"angle":return $o.parse(B,Ot.parseComponentValue());case"color":return Es.parse(B,Ot.parseComponentValue());case"image":return On.parse(B,Ot.parseComponentValue());case"length":var Qe=Ot.parseComponentValue();return ws(Qe)?Qe:qi;case"length-percentage":var ke=Ot.parseComponentValue();return sa(ke)?ke:qi;case"time":return rl.parse(B,Ot.parseComponentValue())}break}},Eu="data-html2canvas-debug",Tc=function(B){var w=B.getAttribute(Eu);switch(w){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},UA=function(B,w){var N=Tc(B);return N===1||w===N},uo=function(){function B(w,N){if(this.context=w,this.textNodes=[],this.elements=[],this.flags=0,UA(N,3))debugger;this.styles=new rA(w,window.getComputedStyle(N,null)),zA(N)&&(this.styles.animationDuration.some(function(L){return L>0})&&(N.style.animationDuration="0s"),this.styles.transform!==null&&(N.style.transform="none")),this.bounds=S(this.context,N),UA(N,4)&&(this.flags|=16)}return B}(),Bu="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",yl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Zs=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),wl=0;wl>4,_n[nt++]=(re&15)<<4|Qe>>2,_n[nt++]=(Qe&3)<<6|ke&63;return Ln},DA=function(B){for(var w=B.length,N=[],L=0;L>gA,Ic=1<>gA,jl=sl+El,Bl=jl,Lc=32,os=Bl+Lc,Yl=65536>>RA,bl=1<=0){if(w<55296||w>56319&&w<=65535)return N=this.index[w>>gA],N=(N<>gA)],N=(N<>RA),N=this.index[N],N+=w>>gA&Xl,N=this.index[N],N=(N<=55296&&nt<=56319&&N>10)+55296,re%1024+56320)),(nt+1===N||L.length>16384)&&(Ot+=String.fromCharCode.apply(String,L),L.length=0)}return Ot},Ml=Pc(Bu),Ks="\xD7",HA="\xF7",_c=function(B){return Ml.get(B)},Ol=function(B,w,N){var L=N-2,nt=w[L],Ot=w[N-1],re=w[N];if(Ot===Cl&&re===Ho)return Ks;if(Ot===Cl||Ot===Ho||Ot===Jl||re===Cl||re===Ho||re===Jl)return HA;if(Ot===Uc&&[Uc,tc,Dc,Rc].indexOf(re)!==-1||(Ot===Dc||Ot===tc)&&(re===tc||re===Sl)||(Ot===Rc||Ot===Sl)&&re===Sl||re===ec||re===ql||re===$l||Ot===xu)return Ks;if(Ot===ec&&re===Qc){for(;nt===ql;)nt=w[--L];if(nt===Qc)return Ks}if(Ot===nc&&re===nc){for(var Qe=0;nt===nc;)Qe++,nt=w[--L];if(Qe%2===0)return Ks}return HA},Tl=function(B){var w=Cu(B),N=w.length,L=0,nt=0,Ot=w.map(_c);return{next:function(){if(L>=N)return{done:!0,value:null};for(var re=Ks;Lre.x||_n.y>re.y;return re=_n,Ln===0?!0:jn});return B.body.removeChild(w),Qe},Su=function(){return typeof new Image().crossOrigin!="undefined"},Mu=function(){return typeof new XMLHttpRequest().responseType=="string"},ic=function(B){var w=new Image,N=B.createElement("canvas"),L=N.getContext("2d");if(!L)return!1;w.src="data:image/svg+xml,";try{L.drawImage(w,0,0),N.toDataURL()}catch(nt){return!1}return!0},iA=function(B){return B[0]===0&&B[1]===255&&B[2]===0&&B[3]===255},Vu=function(B){var w=B.createElement("canvas"),N=100;w.width=N,w.height=N;var L=w.getContext("2d");if(!L)return Promise.reject(!1);L.fillStyle="rgb(0, 255, 0)",L.fillRect(0,0,N,N);var nt=new Image,Ot=w.toDataURL();nt.src=Ot;var re=Hc(N,N,0,0,nt);return L.fillStyle="red",L.fillRect(0,0,N,N),Di(re).then(function(Qe){L.drawImage(Qe,0,0);var ke=L.getImageData(0,0,N,N).data;L.fillStyle="red",L.fillRect(0,0,N,N);var Ln=B.createElement("div");return Ln.style.backgroundImage="url("+Ot+")",Ln.style.height=N+"px",iA(ke)?Di(Hc(N,N,0,0,Ln)):Promise.reject(!1)}).then(function(Qe){return L.drawImage(Qe,0,0),iA(L.getImageData(0,0,N,N).data)}).catch(function(){return!1})},Hc=function(B,w,N,L,nt){var Ot="http://www.w3.org/2000/svg",re=document.createElementNS(Ot,"svg"),Qe=document.createElementNS(Ot,"foreignObject");return re.setAttributeNS(null,"width",B.toString()),re.setAttributeNS(null,"height",w.toString()),Qe.setAttributeNS(null,"width","100%"),Qe.setAttributeNS(null,"height","100%"),Qe.setAttributeNS(null,"x",N.toString()),Qe.setAttributeNS(null,"y",L.toString()),Qe.setAttributeNS(null,"externalResourcesRequired","true"),re.appendChild(Qe),Qe.appendChild(nt),re},Di=function(B){return new Promise(function(w,N){var L=new Image;L.onload=function(){return w(L)},L.onerror=N,L.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(B))})},Ni={get SUPPORT_RANGE_BOUNDS(){var B=rc(document);return Object.defineProperty(Ni,"SUPPORT_RANGE_BOUNDS",{value:B}),B},get SUPPORT_WORD_BREAKING(){var B=Ni.SUPPORT_RANGE_BOUNDS&&za(document);return Object.defineProperty(Ni,"SUPPORT_WORD_BREAKING",{value:B}),B},get SUPPORT_SVG_DRAWING(){var B=ic(document);return Object.defineProperty(Ni,"SUPPORT_SVG_DRAWING",{value:B}),B},get SUPPORT_FOREIGNOBJECT_DRAWING(){var B=typeof Array.from=="function"&&typeof window.fetch=="function"?Vu(document):Promise.resolve(!1);return Object.defineProperty(Ni,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:B}),B},get SUPPORT_CORS_IMAGES(){var B=Su();return Object.defineProperty(Ni,"SUPPORT_CORS_IMAGES",{value:B}),B},get SUPPORT_RESPONSE_TYPE(){var B=Mu();return Object.defineProperty(Ni,"SUPPORT_RESPONSE_TYPE",{value:B}),B},get SUPPORT_CORS_XHR(){var B="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ni,"SUPPORT_CORS_XHR",{value:B}),B},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var B=!!(typeof Intl!="undefined"&&Intl.Segmenter);return Object.defineProperty(Ni,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:B}),B}},Gs=function(){function B(w,N){this.text=w,this.bounds=N}return B}(),Ou=function(B,w,N,L){var nt=sc(w,N),Ot=[],re=0;return nt.forEach(function(Qe){if(N.textDecorationLine.length||Qe.trim().length>0)if(Ni.SUPPORT_RANGE_BOUNDS){var ke=Al(L,re,Qe.length).getClientRects();if(ke.length>1){var Ln=ac(Qe),_n=0;Ln.forEach(function(hr){Ot.push(new Gs(hr,m.fromDOMRectList(B,Al(L,_n+re,hr.length).getClientRects()))),_n+=hr.length})}else Ot.push(new Gs(Qe,m.fromDOMRectList(B,ke)))}else{var jn=L.splitText(Qe.length);Ot.push(new Gs(Qe,Tu(B,L))),L=jn}else Ni.SUPPORT_RANGE_BOUNDS||(L=L.splitText(Qe.length));re+=Qe.length}),Ot},Tu=function(B,w){var N=w.ownerDocument;if(N){var L=N.createElement("html2canvaswrapper");L.appendChild(w.cloneNode(!0));var nt=w.parentNode;if(nt){nt.replaceChild(L,w);var Ot=S(B,L);return L.firstChild&&nt.replaceChild(L.firstChild,L),Ot}}return m.EMPTY},Al=function(B,w,N){var L=B.ownerDocument;if(!L)throw new Error("Node has no owner document");var nt=L.createRange();return nt.setStart(B,w),nt.setEnd(B,w+N),nt},ac=function(B){if(Ni.SUPPORT_NATIVE_TEXT_SEGMENTATION){var w=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(w.segment(B)).map(function(N){return N.segment})}return Os(B)},Fu=function(B,w){if(Ni.SUPPORT_NATIVE_TEXT_SEGMENTATION){var N=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(N.segment(B)).map(function(L){return L.segment})}return oc(B,w)},sc=function(B,w){return w.letterSpacing!==0?ac(B):Fu(B,w)},pA=[32,160,4961,65792,65793,4153,4241],oc=function(B,w){for(var N=qt(B,{lineBreak:w.lineBreak,wordBreak:w.overflowWrap==="break-word"?"break-word":w.wordBreak}),L=[],nt,Ot=function(){if(nt.value){var re=nt.value.slice(),Qe=F(re),ke="";Qe.forEach(function(Ln){pA.indexOf(Ln)===-1?ke+=Q(Ln):(ke.length&&L.push(ke),L.push(Q(Ln)),ke="")}),ke.length&&L.push(ke)}};!(nt=N.next()).done;)Ot();return L},mA=function(){function B(w,N,L){this.text=Iu(N.data,L.textTransform),this.textBounds=Ou(w,this.text,L,N)}return B}(),Iu=function(B,w){switch(w){case 1:return B.toLowerCase();case 3:return B.replace(Lu,Nu);case 2:return B.toUpperCase();default:return B}},Lu=/(^|\s|:|-|\(|\))([a-z])/g,Nu=function(B,w,N){return B.length>0?w+N.toUpperCase():B},To=function(B){f(w,B);function w(N,L){var nt=B.call(this,N,L)||this;return nt.src=L.currentSrc||L.src,nt.intrinsicWidth=L.naturalWidth,nt.intrinsicHeight=L.naturalHeight,nt.context.cache.addImage(nt.src),nt}return w}(uo),aA=function(B){f(w,B);function w(N,L){var nt=B.call(this,N,L)||this;return nt.canvas=L,nt.intrinsicWidth=L.width,nt.intrinsicHeight=L.height,nt}return w}(uo),ZA=function(B){f(w,B);function w(N,L){var nt=B.call(this,N,L)||this,Ot=new XMLSerializer,re=S(N,L);return L.setAttribute("width",re.width+"px"),L.setAttribute("height",re.height+"px"),nt.svg="data:image/svg+xml,"+encodeURIComponent(Ot.serializeToString(L)),nt.intrinsicWidth=L.width.baseVal.value,nt.intrinsicHeight=L.height.baseVal.value,nt.context.cache.addImage(nt.svg),nt}return w}(uo),Fl=function(B){f(w,B);function w(N,L){var nt=B.call(this,N,L)||this;return nt.value=L.value,nt}return w}(uo),Ac=function(B){f(w,B);function w(N,L){var nt=B.call(this,N,L)||this;return nt.start=L.start,nt.reversed=typeof L.reversed=="boolean"&&L.reversed===!0,nt}return w}(uo),lc=[{type:15,flags:0,unit:"px",number:3}],Zc=[{type:16,flags:0,number:50}],KA=function(B){return B.width>B.height?new m(B.left+(B.width-B.height)/2,B.top,B.height,B.height):B.width0)N.textNodes.push(new mA(B,nt,N.styles));else if(GA(nt))if(vc(nt)&&nt.assignedNodes)nt.assignedNodes().forEach(function(Qe){return Il(B,Qe,N,L)});else{var re=Vc(B,nt);re.styles.isVisible()&&(xr(nt,re,L)?re.flags|=4:Pu(re.styles)&&(re.flags|=2),Wc.indexOf(nt.tagName)!==-1&&(re.flags|=8),N.elements.push(re),nt.slot,nt.shadowRoot?Il(B,nt.shadowRoot,re,L):!hl(nt)&&!Oa(nt)&&!wA(nt)&&Il(B,nt,re,L))}},Vc=function(B,w){return gc(w)?new To(B,w):Fo(w)?new aA(B,w):Oa(w)?new ZA(B,w):Nl(w)?new Fl(B,w):fc(w)?new Ac(B,w):jc(w)?new ul(B,w):wA(w)?new cc(B,w):hl(w)?new uc(B,w):La(w)?new zc(B,w):new uo(B,w)},hc=function(B,w){var N=Vc(B,w);return N.flags|=4,Il(B,w,N,N),N},xr=function(B,w,N){return w.styles.isPositionedWithZIndex()||w.styles.opacity<1||w.styles.isTransformed()||Pl(B)&&N.styles.isTransparent()},Pu=function(B){return B.isPositioned()||B.isFloating()},Ll=function(B){return B.nodeType===Node.TEXT_NODE},GA=function(B){return B.nodeType===Node.ELEMENT_NODE},zA=function(B){return GA(B)&&typeof B.style!="undefined"&&!dc(B)},dc=function(B){return typeof B.className=="object"},Nl=function(B){return B.tagName==="LI"},fc=function(B){return B.tagName==="OL"},jc=function(B){return B.tagName==="INPUT"},Uu=function(B){return B.tagName==="HTML"},Oa=function(B){return B.tagName==="svg"},Pl=function(B){return B.tagName==="BODY"},Fo=function(B){return B.tagName==="CANVAS"},WA=function(B){return B.tagName==="VIDEO"},gc=function(B){return B.tagName==="IMG"},La=function(B){return B.tagName==="IFRAME"},Ul=function(B){return B.tagName==="STYLE"},Du=function(B){return B.tagName==="SCRIPT"},hl=function(B){return B.tagName==="TEXTAREA"},wA=function(B){return B.tagName==="SELECT"},vc=function(B){return B.tagName==="SLOT"},VA=function(B){return B.tagName.indexOf("-")>0},Ru=function(){function B(){this.counters={}}return B.prototype.getCounterValue=function(w){var N=this.counters[w];return N&&N.length?N[N.length-1]:1},B.prototype.getCounterValues=function(w){var N=this.counters[w];return N||[]},B.prototype.pop=function(w){var N=this;w.forEach(function(L){return N.counters[L].pop()})},B.prototype.parse=function(w){var N=this,L=w.counterIncrement,nt=w.counterReset,Ot=!0;L!==null&&L.forEach(function(Qe){var ke=N.counters[Qe.counter];ke&&Qe.increment!==0&&(Ot=!1,ke.length||ke.push(1),ke[Math.max(0,ke.length-1)]+=Qe.increment)});var re=[];return Ot&&nt.forEach(function(Qe){var ke=N.counters[Qe.counter];re.push(Qe.counter),ke||(ke=N.counters[Qe.counter]=[]),ke.push(Qe.reset)}),re},B}(),Dl={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Rl={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054F","\u054E","\u054D","\u054C","\u054B","\u054A","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053F","\u053E","\u053D","\u053C","\u053B","\u053A","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},Qu={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05D9\u05F3","\u05D8\u05F3","\u05D7\u05F3","\u05D6\u05F3","\u05D5\u05F3","\u05D4\u05F3","\u05D3\u05F3","\u05D2\u05F3","\u05D1\u05F3","\u05D0\u05F3","\u05EA","\u05E9","\u05E8","\u05E7","\u05E6","\u05E4","\u05E2","\u05E1","\u05E0","\u05DE","\u05DC","\u05DB","\u05D9\u05D8","\u05D9\u05D7","\u05D9\u05D6","\u05D8\u05D6","\u05D8\u05D5","\u05D9","\u05D8","\u05D7","\u05D6","\u05D5","\u05D4","\u05D3","\u05D2","\u05D1","\u05D0"]},pc={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10F5","\u10F0","\u10EF","\u10F4","\u10EE","\u10ED","\u10EC","\u10EB","\u10EA","\u10E9","\u10E8","\u10E7","\u10E6","\u10E5","\u10E4","\u10F3","\u10E2","\u10E1","\u10E0","\u10DF","\u10DE","\u10DD","\u10F2","\u10DC","\u10DB","\u10DA","\u10D9","\u10D8","\u10D7","\u10F1","\u10D6","\u10D5","\u10D4","\u10D3","\u10D2","\u10D1","\u10D0"]},EA=function(B,w,N,L,nt,Ot){return BN?BA(B,nt,Ot.length>0):L.integers.reduce(function(re,Qe,ke){for(;B>=Qe;)B-=Qe,re+=L.values[ke];return re},"")+Ot},Ql=function(B,w,N,L){var nt="";do N||B--,nt=L(B)+nt,B/=w;while(B*w>=w);return nt},ns=function(B,w,N,L,nt){var Ot=N-w+1;return(B<0?"-":"")+(Ql(Math.abs(B),Ot,L,function(re){return Q(Math.floor(re%Ot)+w)})+nt)},Io=function(B,w,N){N===void 0&&(N=". ");var L=w.length;return Ql(Math.abs(B),L,!1,function(nt){return w[Math.floor(nt%L)]})+N},jA=1,Zo=2,Lo=4,YA=8,qs=function(B,w,N,L,nt,Ot){if(B<-9999||B>9999)return BA(B,4,nt.length>0);var re=Math.abs(B),Qe=nt;if(re===0)return w[0]+Qe;for(var ke=0;re>0&&ke<=4;ke++){var Ln=re%10;Ln===0&&Za(Ot,jA)&&Qe!==""?Qe=w[Ln]+Qe:Ln>1||Ln===1&&ke===0||Ln===1&&ke===1&&Za(Ot,Zo)||Ln===1&&ke===1&&Za(Ot,Lo)&&B>100||Ln===1&&ke>1&&Za(Ot,YA)?Qe=w[Ln]+(ke>0?N[ke-1]:"")+Qe:Ln===1&&ke>0&&(Qe=N[ke-1]+Qe),re=Math.floor(re/10)}return(B<0?L:"")+Qe},Yc="\u5341\u767E\u5343\u842C",Xc="\u62FE\u4F70\u4EDF\u842C",mc="\u30DE\u30A4\u30CA\u30B9",kl="\uB9C8\uC774\uB108\uC2A4",BA=function(B,w,N){var L=N?". ":"",nt=N?"\u3001":"",Ot=N?", ":"",re=N?" ":"";switch(w){case 0:return"\u2022"+re;case 1:return"\u25E6"+re;case 2:return"\u25FE"+re;case 5:var Qe=ns(B,48,57,!0,L);return Qe.length<4?"0"+Qe:Qe;case 4:return Io(B,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",nt);case 6:return EA(B,1,3999,Dl,3,L).toLowerCase();case 7:return EA(B,1,3999,Dl,3,L);case 8:return ns(B,945,969,!1,L);case 9:return ns(B,97,122,!1,L);case 10:return ns(B,65,90,!1,L);case 11:return ns(B,1632,1641,!0,L);case 12:case 49:return EA(B,1,9999,Rl,3,L);case 35:return EA(B,1,9999,Rl,3,L).toLowerCase();case 13:return ns(B,2534,2543,!0,L);case 14:case 30:return ns(B,6112,6121,!0,L);case 15:return Io(B,"\u5B50\u4E11\u5BC5\u536F\u8FB0\u5DF3\u5348\u672A\u7533\u9149\u620C\u4EA5",nt);case 16:return Io(B,"\u7532\u4E59\u4E19\u4E01\u620A\u5DF1\u5E9A\u8F9B\u58EC\u7678",nt);case 17:case 48:return qs(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",Yc,"\u8CA0",nt,Zo|Lo|YA);case 47:return qs(B,"\u96F6\u58F9\u8CB3\u53C3\u8086\u4F0D\u9678\u67D2\u634C\u7396",Xc,"\u8CA0",nt,jA|Zo|Lo|YA);case 42:return qs(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",Yc,"\u8D1F",nt,Zo|Lo|YA);case 41:return qs(B,"\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396",Xc,"\u8D1F",nt,jA|Zo|Lo|YA);case 26:return qs(B,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u4E07",mc,nt,0);case 25:return qs(B,"\u96F6\u58F1\u5F10\u53C2\u56DB\u4F0D\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343\u4E07",mc,nt,jA|Zo|Lo);case 31:return qs(B,"\uC601\uC77C\uC774\uC0BC\uC0AC\uC624\uC721\uCE60\uD314\uAD6C","\uC2ED\uBC31\uCC9C\uB9CC",kl,Ot,jA|Zo|Lo);case 33:return qs(B,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u842C",kl,Ot,0);case 32:return qs(B,"\u96F6\u58F9\u8CB3\u53C3\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343",kl,Ot,jA|Zo|Lo);case 18:return ns(B,2406,2415,!0,L);case 20:return EA(B,1,19999,pc,3,L);case 21:return ns(B,2790,2799,!0,L);case 22:return ns(B,2662,2671,!0,L);case 22:return EA(B,1,10999,Qu,3,L);case 23:return Io(B,"\u3042\u3044\u3046\u3048\u304A\u304B\u304D\u304F\u3051\u3053\u3055\u3057\u3059\u305B\u305D\u305F\u3061\u3064\u3066\u3068\u306A\u306B\u306C\u306D\u306E\u306F\u3072\u3075\u3078\u307B\u307E\u307F\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308A\u308B\u308C\u308D\u308F\u3090\u3091\u3092\u3093");case 24:return Io(B,"\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092\u308F\u304B\u3088\u305F\u308C\u305D\u3064\u306D\u306A\u3089\u3080\u3046\u3090\u306E\u304A\u304F\u3084\u307E\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304D\u3086\u3081\u307F\u3057\u3091\u3072\u3082\u305B\u3059");case 27:return ns(B,3302,3311,!0,L);case 28:return Io(B,"\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F0\u30F1\u30F2\u30F3",nt);case 29:return Io(B,"\u30A4\u30ED\u30CF\u30CB\u30DB\u30D8\u30C8\u30C1\u30EA\u30CC\u30EB\u30F2\u30EF\u30AB\u30E8\u30BF\u30EC\u30BD\u30C4\u30CD\u30CA\u30E9\u30E0\u30A6\u30F0\u30CE\u30AA\u30AF\u30E4\u30DE\u30B1\u30D5\u30B3\u30A8\u30C6\u30A2\u30B5\u30AD\u30E6\u30E1\u30DF\u30B7\u30F1\u30D2\u30E2\u30BB\u30B9",nt);case 34:return ns(B,3792,3801,!0,L);case 37:return ns(B,6160,6169,!0,L);case 38:return ns(B,4160,4169,!0,L);case 39:return ns(B,2918,2927,!0,L);case 40:return ns(B,1776,1785,!0,L);case 43:return ns(B,3046,3055,!0,L);case 44:return ns(B,3174,3183,!0,L);case 45:return ns(B,3664,3673,!0,L);case 46:return ns(B,3872,3881,!0,L);case 3:default:return ns(B,48,57,!0,L)}},yc="data-html2canvas-ignore",Jc=function(){function B(w,N,L){if(this.context=w,this.options=L,this.scrolledElements=[],this.referenceElement=N,this.counters=new Ru,this.quoteDepth=0,!N.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(N.ownerDocument.documentElement,!1)}return B.prototype.toIFrame=function(w,N){var L=this,nt=ju(w,N);if(!nt.contentWindow)return Promise.reject("Unable to find iframe window");var Ot=w.defaultView.pageXOffset,re=w.defaultView.pageYOffset,Qe=nt.contentWindow,ke=Qe.document,Ln=ku(nt).then(function(){return R(L,void 0,void 0,function(){var _n,jn;return U(this,function(hr){switch(hr.label){case 0:return this.scrolledElements.forEach(tu),Qe&&(Qe.scrollTo(N.left,N.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(Qe.scrollY!==N.top||Qe.scrollX!==N.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(Qe.scrollX-N.left,Qe.scrollY-N.top,0,0))),_n=this.options.onclone,jn=this.clonedReferenceElement,typeof jn=="undefined"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:ke.fonts&&ke.fonts.ready?[4,ke.fonts.ready]:[3,2];case 1:hr.sent(),hr.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,wc(ke)]:[3,4];case 3:hr.sent(),hr.label=4;case 4:return typeof _n=="function"?[2,Promise.resolve().then(function(){return _n(ke,jn)}).then(function(){return nt})]:[2,nt]}})})});return ke.open(),ke.write(dl(document.doctype)+""),$c(this.referenceElement.ownerDocument,Ot,re),ke.replaceChild(ke.adoptNode(this.documentElement),ke.documentElement),ke.close(),Ln},B.prototype.createElementClone=function(w){if(UA(w,2))debugger;if(Fo(w))return this.createCanvasClone(w);if(WA(w))return this.createVideoClone(w);if(Ul(w))return this.createStyleClone(w);var N=w.cloneNode(!1);return gc(N)&&(gc(w)&&w.currentSrc&&w.currentSrc!==w.src&&(N.src=w.currentSrc,N.srcset=""),N.loading==="lazy"&&(N.loading="eager")),VA(N)?this.createCustomElementClone(N):N},B.prototype.createCustomElementClone=function(w){var N=document.createElement("html2canvascustomelement");return xA(w.style,N),N},B.prototype.createStyleClone=function(w){try{var N=w.sheet;if(N&&N.cssRules){var L=[].slice.call(N.cssRules,0).reduce(function(Ot,re){return re&&typeof re.cssText=="string"?Ot+re.cssText:Ot},""),nt=w.cloneNode(!1);return nt.textContent=L,nt}}catch(Ot){if(this.context.logger.error("Unable to access cssRules property",Ot),Ot.name!=="SecurityError")throw Ot}return w.cloneNode(!1)},B.prototype.createCanvasClone=function(w){var N;if(this.options.inlineImages&&w.ownerDocument){var L=w.ownerDocument.createElement("img");try{return L.src=w.toDataURL(),L}catch(Ln){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",w)}}var nt=w.cloneNode(!1);try{nt.width=w.width,nt.height=w.height;var Ot=w.getContext("2d"),re=nt.getContext("2d");if(re)if(!this.options.allowTaint&&Ot)re.putImageData(Ot.getImageData(0,0,w.width,w.height),0,0);else{var Qe=(N=w.getContext("webgl2"))!==null&&N!==void 0?N:w.getContext("webgl");if(Qe){var ke=Qe.getContextAttributes();(ke==null?void 0:ke.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",w)}re.drawImage(w,0,0)}return nt}catch(Ln){this.context.logger.info("Unable to clone canvas as it is tainted",w)}return nt},B.prototype.createVideoClone=function(w){var N=w.ownerDocument.createElement("canvas");N.width=w.offsetWidth,N.height=w.offsetHeight;var L=N.getContext("2d");try{return L&&(L.drawImage(w,0,0,N.width,N.height),this.options.allowTaint||L.getImageData(0,0,N.width,N.height)),N}catch(Ot){this.context.logger.info("Unable to clone video as it is tainted",w)}var nt=w.ownerDocument.createElement("canvas");return nt.width=w.offsetWidth,nt.height=w.offsetHeight,nt},B.prototype.appendChildNode=function(w,N,L){(!GA(N)||!Du(N)&&!N.hasAttribute(yc)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(N)))&&(!this.options.copyStyles||!GA(N)||!Ul(N))&&w.appendChild(this.cloneNode(N,L))},B.prototype.cloneChildNodes=function(w,N,L){for(var nt=this,Ot=w.shadowRoot?w.shadowRoot.firstChild:w.firstChild;Ot;Ot=Ot.nextSibling)if(GA(Ot)&&vc(Ot)&&typeof Ot.assignedNodes=="function"){var re=Ot.assignedNodes();re.length&&re.forEach(function(Qe){return nt.appendChildNode(N,Qe,L)})}else this.appendChildNode(N,Ot,L)},B.prototype.cloneNode=function(w,N){if(Ll(w))return document.createTextNode(w.data);if(!w.ownerDocument)return w.cloneNode(!1);var L=w.ownerDocument.defaultView;if(L&&GA(w)&&(zA(w)||dc(w))){var nt=this.createElementClone(w);nt.style.transitionProperty="none";var Ot=L.getComputedStyle(w),re=L.getComputedStyle(w,":before"),Qe=L.getComputedStyle(w,":after");this.referenceElement===w&&zA(nt)&&(this.clonedReferenceElement=nt),Pl(nt)&&Yu(nt);var ke=this.counters.parse(new il(this.context,Ot)),Ln=this.resolvePseudoContent(w,nt,re,bA.BEFORE);VA(w)&&(N=!0),WA(w)||this.cloneChildNodes(w,nt,N),Ln&&nt.insertBefore(Ln,nt.firstChild);var _n=this.resolvePseudoContent(w,nt,Qe,bA.AFTER);return _n&&nt.appendChild(_n),this.counters.pop(ke),(Ot&&(this.options.copyStyles||dc(w))&&!La(w)||N)&&xA(Ot,nt),(w.scrollTop!==0||w.scrollLeft!==0)&&this.scrolledElements.push([nt,w.scrollLeft,w.scrollTop]),(hl(w)||wA(w))&&(hl(nt)||wA(nt))&&(nt.value=w.value),nt}return w.cloneNode(!1)},B.prototype.resolvePseudoContent=function(w,N,L,nt){var Ot=this;if(L){var re=L.content,Qe=N.ownerDocument;if(!(!Qe||!re||re==="none"||re==="-moz-alt-content"||L.display==="none")){this.counters.parse(new il(this.context,L));var ke=new ml(this.context,L),Ln=Qe.createElement("html2canvaspseudoelement");xA(L,Ln),ke.content.forEach(function(jn){if(jn.type===0)Ln.appendChild(Qe.createTextNode(jn.value));else if(jn.type===22){var hr=Qe.createElement("img");hr.src=jn.value,hr.style.opacity="1",Ln.appendChild(hr)}else if(jn.type===18){if(jn.name==="attr"){var ri=jn.values.filter(zi);ri.length&&Ln.appendChild(Qe.createTextNode(w.getAttribute(ri[0].value)||""))}else if(jn.name==="counter"){var Rr=jn.values.filter(Va),Jr=Rr[0],Zi=Rr[1];if(Jr&&zi(Jr)){var di=Ot.counters.getCounterValue(Jr.value),oi=Zi&&zi(Zi)?ai.parse(Ot.context,Zi.value):3;Ln.appendChild(Qe.createTextNode(BA(di,oi,!1)))}}else if(jn.name==="counters"){var ha=jn.values.filter(Va),Jr=ha[0],Hi=ha[1],Zi=ha[2];if(Jr&&zi(Jr)){var Ti=Ot.counters.getCounterValues(Jr.value),ei=Zi&&zi(Zi)?ai.parse(Ot.context,Zi.value):3,Ji=Hi&&Hi.type===0?Hi.value:"",ia=Ti.map(function(ls){return BA(ls,ei,!1)}).join(Ji);Ln.appendChild(Qe.createTextNode(ia))}}}else if(jn.type===20)switch(jn.value){case"open-quote":Ln.appendChild(Qe.createTextNode(Js(ke.quotes,Ot.quoteDepth++,!0)));break;case"close-quote":Ln.appendChild(Qe.createTextNode(Js(ke.quotes,--Ot.quoteDepth,!1)));break;default:Ln.appendChild(Qe.createTextNode(jn.value))}}),Ln.className=eu+" "+_l;var _n=nt===bA.BEFORE?" "+eu:" "+_l;return dc(N)?N.className.baseValue+=_n:N.className+=_n,Ln}}},B.destroy=function(w){return w.parentNode?(w.parentNode.removeChild(w),!0):!1},B}(),bA;(function(B){B[B.BEFORE=0]="BEFORE",B[B.AFTER=1]="AFTER"})(bA||(bA={}));var ju=function(B,w){var N=B.createElement("iframe");return N.className="html2canvas-container",N.style.visibility="hidden",N.style.position="fixed",N.style.left="-10000px",N.style.top="0px",N.style.border="0",N.width=w.width.toString(),N.height=w.height.toString(),N.scrolling="no",N.setAttribute(yc,"true"),B.body.appendChild(N),N},ho=function(B){return new Promise(function(w){if(B.complete){w();return}if(!B.src){w();return}B.onload=w,B.onerror=w})},wc=function(B){return Promise.all([].slice.call(B.images,0).map(ho))},ku=function(B){return new Promise(function(w,N){var L=B.contentWindow;if(!L)return N("No window assigned for iframe");var nt=L.document;L.onload=B.onload=function(){L.onload=B.onload=null;var Ot=setInterval(function(){nt.body.childNodes.length>0&&nt.readyState==="complete"&&(clearInterval(Ot),w(B))},50)}})},qc=["all","d","content"],xA=function(B,w){for(var N=B.length-1;N>=0;N--){var L=B.item(N);qc.indexOf(L)===-1&&w.style.setProperty(L,B.getPropertyValue(L))}return w},dl=function(B){var w="";return B&&(w+=""),w},$c=function(B,w,N){B&&B.defaultView&&(w!==B.defaultView.pageXOffset||N!==B.defaultView.pageYOffset)&&B.defaultView.scrollTo(w,N)},tu=function(B){var w=B[0],N=B[1],L=B[2];w.scrollLeft=N,w.scrollTop=L},Ec=":before",_u=":after",eu="___html2canvas___pseudoelement_before",_l="___html2canvas___pseudoelement_after",Hl=`{ - content: "" !important; - display: none !important; -}`,Yu=function(B){CA(B,"."+eu+Ec+Hl+` - .`+_l+_u+Hl)},CA=function(B,w){var N=B.ownerDocument;if(N){var L=N.createElement("style");L.textContent=w,B.appendChild(L)}},fl=function(){function B(){}return B.getOrigin=function(w){var N=B._link;return N?(N.href=w,N.href=N.href,N.protocol+N.hostname+N.port):"about:blank"},B.isSameOrigin=function(w){return B.getOrigin(w)===B._origin},B.setContext=function(w){B._link=w.document.createElement("a"),B._origin=B.getOrigin(w.location.href)},B._origin="about:blank",B}(),Vo=function(){function B(w,N){this.context=w,this._options=N,this._cache={}}return B.prototype.addImage=function(w){var N=Promise.resolve();return this.has(w)||(au(w)||nu(w))&&(this._cache[w]=this.loadImage(w)).catch(function(){}),N},B.prototype.match=function(w){return this._cache[w]},B.prototype.loadImage=function(w){return R(this,void 0,void 0,function(){var N,L,nt,Ot,re=this;return U(this,function(Qe){switch(Qe.label){case 0:return N=fl.isSameOrigin(w),L=!ru(w)&&this._options.useCORS===!0&&Ni.SUPPORT_CORS_IMAGES&&!N,nt=!ru(w)&&!N&&!au(w)&&typeof this._options.proxy=="string"&&Ni.SUPPORT_CORS_XHR&&!L,!N&&this._options.allowTaint===!1&&!ru(w)&&!au(w)&&!nt&&!L?[2]:(Ot=w,nt?[4,this.proxy(Ot)]:[3,2]);case 1:Ot=Qe.sent(),Qe.label=2;case 2:return this.context.logger.debug("Added image "+w.substring(0,256)),[4,new Promise(function(ke,Ln){var _n=new Image;_n.onload=function(){return ke(_n)},_n.onerror=Ln,(iu(Ot)||L)&&(_n.crossOrigin="anonymous"),_n.src=Ot,_n.complete===!0&&setTimeout(function(){return ke(_n)},500),re._options.imageTimeout>0&&setTimeout(function(){return Ln("Timed out ("+re._options.imageTimeout+"ms) loading image")},re._options.imageTimeout)})];case 3:return[2,Qe.sent()]}})})},B.prototype.has=function(w){return typeof this._cache[w]!="undefined"},B.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},B.prototype.proxy=function(w){var N=this,L=this._options.proxy;if(!L)throw new Error("No proxy defined");var nt=w.substring(0,256);return new Promise(function(Ot,re){var Qe=Ni.SUPPORT_RESPONSE_TYPE?"blob":"text",ke=new XMLHttpRequest;ke.onload=function(){if(ke.status===200)if(Qe==="text")Ot(ke.response);else{var jn=new FileReader;jn.addEventListener("load",function(){return Ot(jn.result)},!1),jn.addEventListener("error",function(hr){return re(hr)},!1),jn.readAsDataURL(ke.response)}else re("Failed to proxy resource "+nt+" with status code "+ke.status)},ke.onerror=re;var Ln=L.indexOf("?")>-1?"&":"?";if(ke.open("GET",""+L+Ln+"url="+encodeURIComponent(w)+"&responseType="+Qe),Qe!=="text"&&ke instanceof XMLHttpRequest&&(ke.responseType=Qe),N._options.imageTimeout){var _n=N._options.imageTimeout;ke.timeout=_n,ke.ontimeout=function(){return re("Timed out ("+_n+"ms) proxying "+nt)}}ke.send()})},B}(),Xu=/^data:image\/svg\+xml/i,Ju=/^data:image\/.*;base64,/i,Hu=/^data:image\/.*/i,nu=function(B){return Ni.SUPPORT_SVG_DRAWING||!Bc(B)},ru=function(B){return Hu.test(B)},iu=function(B){return Ju.test(B)},au=function(B){return B.substr(0,4)==="blob"},Bc=function(B){return B.substr(-3).toLowerCase()==="svg"||Xu.test(B)},Xr=function(){function B(w,N){this.type=0,this.x=w,this.y=N}return B.prototype.add=function(w,N){return new B(this.x+w,this.y+N)},B}(),XA=function(B,w,N){return new Xr(B.x+(w.x-B.x)*N,B.y+(w.y-B.y)*N)},JA=function(){function B(w,N,L,nt){this.type=1,this.start=w,this.startControl=N,this.endControl=L,this.end=nt}return B.prototype.subdivide=function(w,N){var L=XA(this.start,this.startControl,w),nt=XA(this.startControl,this.endControl,w),Ot=XA(this.endControl,this.end,w),re=XA(L,nt,w),Qe=XA(nt,Ot,w),ke=XA(re,Qe,w);return N?new B(this.start,L,re,ke):new B(ke,Qe,Ot,this.end)},B.prototype.add=function(w,N){return new B(this.start.add(w,N),this.startControl.add(w,N),this.endControl.add(w,N),this.end.add(w,N))},B.prototype.reverse=function(){return new B(this.end,this.endControl,this.startControl,this.start)},B}(),mo=function(B){return B.type===1},bc=function(){function B(w){var N=w.styles,L=w.bounds,nt=Cs(N.borderTopLeftRadius,L.width,L.height),Ot=nt[0],re=nt[1],Qe=Cs(N.borderTopRightRadius,L.width,L.height),ke=Qe[0],Ln=Qe[1],_n=Cs(N.borderBottomRightRadius,L.width,L.height),jn=_n[0],hr=_n[1],ri=Cs(N.borderBottomLeftRadius,L.width,L.height),Rr=ri[0],Jr=ri[1],Zi=[];Zi.push((Ot+ke)/L.width),Zi.push((Rr+jn)/L.width),Zi.push((re+Jr)/L.height),Zi.push((Ln+hr)/L.height);var di=Math.max.apply(Math,Zi);di>1&&(Ot/=di,re/=di,ke/=di,Ln/=di,jn/=di,hr/=di,Rr/=di,Jr/=di);var oi=L.width-ke,ha=L.height-hr,Hi=L.width-jn,Ti=L.height-Jr,ei=N.borderTopWidth,Ji=N.borderRightWidth,ia=N.borderBottomWidth,Ii=N.borderLeftWidth,As=ea(N.paddingTop,w.bounds.width),ls=ea(N.paddingRight,w.bounds.width),ms=ea(N.paddingBottom,w.bounds.width),Fa=ea(N.paddingLeft,w.bounds.width);this.topLeftBorderDoubleOuterBox=Ot>0||re>0?Ra(L.left+Ii/3,L.top+ei/3,Ot-Ii/3,re-ei/3,pa.TOP_LEFT):new Xr(L.left+Ii/3,L.top+ei/3),this.topRightBorderDoubleOuterBox=Ot>0||re>0?Ra(L.left+oi,L.top+ei/3,ke-Ji/3,Ln-ei/3,pa.TOP_RIGHT):new Xr(L.left+L.width-Ji/3,L.top+ei/3),this.bottomRightBorderDoubleOuterBox=jn>0||hr>0?Ra(L.left+Hi,L.top+ha,jn-Ji/3,hr-ia/3,pa.BOTTOM_RIGHT):new Xr(L.left+L.width-Ji/3,L.top+L.height-ia/3),this.bottomLeftBorderDoubleOuterBox=Rr>0||Jr>0?Ra(L.left+Ii/3,L.top+Ti,Rr-Ii/3,Jr-ia/3,pa.BOTTOM_LEFT):new Xr(L.left+Ii/3,L.top+L.height-ia/3),this.topLeftBorderDoubleInnerBox=Ot>0||re>0?Ra(L.left+Ii*2/3,L.top+ei*2/3,Ot-Ii*2/3,re-ei*2/3,pa.TOP_LEFT):new Xr(L.left+Ii*2/3,L.top+ei*2/3),this.topRightBorderDoubleInnerBox=Ot>0||re>0?Ra(L.left+oi,L.top+ei*2/3,ke-Ji*2/3,Ln-ei*2/3,pa.TOP_RIGHT):new Xr(L.left+L.width-Ji*2/3,L.top+ei*2/3),this.bottomRightBorderDoubleInnerBox=jn>0||hr>0?Ra(L.left+Hi,L.top+ha,jn-Ji*2/3,hr-ia*2/3,pa.BOTTOM_RIGHT):new Xr(L.left+L.width-Ji*2/3,L.top+L.height-ia*2/3),this.bottomLeftBorderDoubleInnerBox=Rr>0||Jr>0?Ra(L.left+Ii*2/3,L.top+Ti,Rr-Ii*2/3,Jr-ia*2/3,pa.BOTTOM_LEFT):new Xr(L.left+Ii*2/3,L.top+L.height-ia*2/3),this.topLeftBorderStroke=Ot>0||re>0?Ra(L.left+Ii/2,L.top+ei/2,Ot-Ii/2,re-ei/2,pa.TOP_LEFT):new Xr(L.left+Ii/2,L.top+ei/2),this.topRightBorderStroke=Ot>0||re>0?Ra(L.left+oi,L.top+ei/2,ke-Ji/2,Ln-ei/2,pa.TOP_RIGHT):new Xr(L.left+L.width-Ji/2,L.top+ei/2),this.bottomRightBorderStroke=jn>0||hr>0?Ra(L.left+Hi,L.top+ha,jn-Ji/2,hr-ia/2,pa.BOTTOM_RIGHT):new Xr(L.left+L.width-Ji/2,L.top+L.height-ia/2),this.bottomLeftBorderStroke=Rr>0||Jr>0?Ra(L.left+Ii/2,L.top+Ti,Rr-Ii/2,Jr-ia/2,pa.BOTTOM_LEFT):new Xr(L.left+Ii/2,L.top+L.height-ia/2),this.topLeftBorderBox=Ot>0||re>0?Ra(L.left,L.top,Ot,re,pa.TOP_LEFT):new Xr(L.left,L.top),this.topRightBorderBox=ke>0||Ln>0?Ra(L.left+oi,L.top,ke,Ln,pa.TOP_RIGHT):new Xr(L.left+L.width,L.top),this.bottomRightBorderBox=jn>0||hr>0?Ra(L.left+Hi,L.top+ha,jn,hr,pa.BOTTOM_RIGHT):new Xr(L.left+L.width,L.top+L.height),this.bottomLeftBorderBox=Rr>0||Jr>0?Ra(L.left,L.top+Ti,Rr,Jr,pa.BOTTOM_LEFT):new Xr(L.left,L.top+L.height),this.topLeftPaddingBox=Ot>0||re>0?Ra(L.left+Ii,L.top+ei,Math.max(0,Ot-Ii),Math.max(0,re-ei),pa.TOP_LEFT):new Xr(L.left+Ii,L.top+ei),this.topRightPaddingBox=ke>0||Ln>0?Ra(L.left+Math.min(oi,L.width-Ji),L.top+ei,oi>L.width+Ji?0:Math.max(0,ke-Ji),Math.max(0,Ln-ei),pa.TOP_RIGHT):new Xr(L.left+L.width-Ji,L.top+ei),this.bottomRightPaddingBox=jn>0||hr>0?Ra(L.left+Math.min(Hi,L.width-Ii),L.top+Math.min(ha,L.height-ia),Math.max(0,jn-Ji),Math.max(0,hr-ia),pa.BOTTOM_RIGHT):new Xr(L.left+L.width-Ji,L.top+L.height-ia),this.bottomLeftPaddingBox=Rr>0||Jr>0?Ra(L.left+Ii,L.top+Math.min(Ti,L.height-ia),Math.max(0,Rr-Ii),Math.max(0,Jr-ia),pa.BOTTOM_LEFT):new Xr(L.left+Ii,L.top+L.height-ia),this.topLeftContentBox=Ot>0||re>0?Ra(L.left+Ii+Fa,L.top+ei+As,Math.max(0,Ot-(Ii+Fa)),Math.max(0,re-(ei+As)),pa.TOP_LEFT):new Xr(L.left+Ii+Fa,L.top+ei+As),this.topRightContentBox=ke>0||Ln>0?Ra(L.left+Math.min(oi,L.width+Ii+Fa),L.top+ei+As,oi>L.width+Ii+Fa?0:ke-Ii+Fa,Ln-(ei+As),pa.TOP_RIGHT):new Xr(L.left+L.width-(Ji+ls),L.top+ei+As),this.bottomRightContentBox=jn>0||hr>0?Ra(L.left+Math.min(Hi,L.width-(Ii+Fa)),L.top+Math.min(ha,L.height+ei+As),Math.max(0,jn-(Ji+ls)),hr-(ia+ms),pa.BOTTOM_RIGHT):new Xr(L.left+L.width-(Ji+ls),L.top+L.height-(ia+ms)),this.bottomLeftContentBox=Rr>0||Jr>0?Ra(L.left+Ii+Fa,L.top+Ti,Math.max(0,Rr-(Ii+Fa)),Jr-(ia+ms),pa.BOTTOM_LEFT):new Xr(L.left+Ii+Fa,L.top+L.height-(ia+ms))}return B}(),pa;(function(B){B[B.TOP_LEFT=0]="TOP_LEFT",B[B.TOP_RIGHT=1]="TOP_RIGHT",B[B.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",B[B.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(pa||(pa={}));var Ra=function(B,w,N,L,nt){var Ot=4*((Math.sqrt(2)-1)/3),re=N*Ot,Qe=L*Ot,ke=B+N,Ln=w+L;switch(nt){case pa.TOP_LEFT:return new JA(new Xr(B,Ln),new Xr(B,Ln-Qe),new Xr(ke-re,w),new Xr(ke,w));case pa.TOP_RIGHT:return new JA(new Xr(B,w),new Xr(B+re,w),new Xr(ke,Ln-Qe),new Xr(ke,Ln));case pa.BOTTOM_RIGHT:return new JA(new Xr(ke,w),new Xr(ke,w+Qe),new Xr(B+re,Ln),new Xr(B,Ln));case pa.BOTTOM_LEFT:default:return new JA(new Xr(ke,Ln),new Xr(ke-re,Ln),new Xr(B,w+Qe),new Xr(B,w))}},Ts=function(B){return[B.topLeftBorderBox,B.topRightBorderBox,B.bottomRightBorderBox,B.bottomLeftBorderBox]},xc=function(B){return[B.topLeftContentBox,B.topRightContentBox,B.bottomRightContentBox,B.bottomLeftContentBox]},SA=function(B){return[B.topLeftPaddingBox,B.topRightPaddingBox,B.bottomRightPaddingBox,B.bottomLeftPaddingBox]},Cc=function(){function B(w,N,L){this.offsetX=w,this.offsetY=N,this.matrix=L,this.type=0,this.target=6}return B}(),Zl=function(){function B(w,N){this.path=w,this.target=N,this.type=1}return B}(),Zu=function(){function B(w){this.opacity=w,this.type=2,this.target=6}return B}(),Ku=function(B){return B.type===0},Sc=function(B){return B.type===1},Gu=function(B){return B.type===2},su=function(B,w){return B.length===w.length?B.some(function(N,L){return N===w[L]}):!1},ou=function(B,w,N,L,nt){return B.map(function(Ot,re){switch(re){case 0:return Ot.add(w,N);case 1:return Ot.add(w+L,N);case 2:return Ot.add(w+L,N+nt);case 3:return Ot.add(w,N+nt)}return Ot})},Au=function(){function B(w){this.element=w,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return B}(),lu=function(){function B(w,N){if(this.container=w,this.parent=N,this.effects=[],this.curves=new bc(this.container),this.container.styles.opacity<1&&this.effects.push(new Zu(this.container.styles.opacity)),this.container.styles.transform!==null){var L=this.container.bounds.left+this.container.styles.transformOrigin[0].number,nt=this.container.bounds.top+this.container.styles.transformOrigin[1].number,Ot=this.container.styles.transform;this.effects.push(new Cc(L,nt,Ot))}if(this.container.styles.overflowX!==0){var re=Ts(this.curves),Qe=SA(this.curves);su(re,Qe)?this.effects.push(new Zl(re,6)):(this.effects.push(new Zl(re,2)),this.effects.push(new Zl(Qe,4)))}}return B.prototype.getEffects=function(w){for(var N=[2,3].indexOf(this.container.styles.position)===-1,L=this.parent,nt=this.effects.slice(0);L;){var Ot=L.effects.filter(function(ke){return!Sc(ke)});if(N||L.container.styles.position!==0||!L.parent){if(nt.unshift.apply(nt,Ot),N=[2,3].indexOf(L.container.styles.position)===-1,L.container.styles.overflowX!==0){var re=Ts(L.curves),Qe=SA(L.curves);su(re,Qe)||nt.unshift(new Zl(Qe,6))}}else nt.unshift.apply(nt,Ot);L=L.parent}return nt.filter(function(ke){return Za(ke.target,w)})},B}(),qA=function(B,w,N,L){B.container.elements.forEach(function(nt){var Ot=Za(nt.flags,4),re=Za(nt.flags,2),Qe=new lu(nt,B);Za(nt.styles.display,2048)&&L.push(Qe);var ke=Za(nt.flags,8)?[]:L;if(Ot||re){var Ln=Ot||nt.styles.isPositioned()?N:w,_n=new Au(Qe);if(nt.styles.isPositioned()||nt.styles.opacity<1||nt.styles.isTransformed()){var jn=nt.styles.zIndex.order;if(jn<0){var hr=0;Ln.negativeZIndex.some(function(Rr,Jr){return jn>Rr.element.container.styles.zIndex.order?(hr=Jr,!1):hr>0}),Ln.negativeZIndex.splice(hr,0,_n)}else if(jn>0){var ri=0;Ln.positiveZIndex.some(function(Rr,Jr){return jn>=Rr.element.container.styles.zIndex.order?(ri=Jr+1,!1):ri>0}),Ln.positiveZIndex.splice(ri,0,_n)}else Ln.zeroOrAutoZIndexOrTransformedOrOpacity.push(_n)}else nt.styles.isFloating()?Ln.nonPositionedFloats.push(_n):Ln.nonPositionedInlineLevel.push(_n);qA(Qe,_n,Ot?_n:N,ke)}else nt.styles.isInlineLevel()?w.inlineLevel.push(Qe):w.nonInlineLevel.push(Qe),qA(Qe,w,N,ke);Za(nt.flags,8)&&cu(nt,ke)})},cu=function(B,w){for(var N=B instanceof Ac?B.start:1,L=B instanceof Ac?B.reversed:!1,nt=0;nt0&&N.intrinsicHeight>0){var Ot=G(N),re=SA(L);this.path(re),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(nt,0,0,N.intrinsicWidth,N.intrinsicHeight,Ot.left,Ot.top,Ot.width,Ot.height),this.ctx.restore()}},w.prototype.renderNodeContent=function(N){return R(this,void 0,void 0,function(){var L,nt,Ot,re,Qe,ke,oi,oi,Ln,_n,jn,hr,Hi,ri,Rr,Ti,Jr,Zi,di,oi,ha,Hi,Ti;return U(this,function(ei){switch(ei.label){case 0:this.applyEffects(N.getEffects(4)),L=N.container,nt=N.curves,Ot=L.styles,re=0,Qe=L.textNodes,ei.label=1;case 1:return re0&&Fs>0&&(ia=Ot.ctx.createPattern(Ti,"repeat"),Ot.renderRepeat(As,ia,$s,yo))):ln(_n)&&(Ii=Ft(N,L,[null,null,null]),As=Ii[0],ls=Ii[1],ms=Ii[2],Fa=Ii[3],Fs=Ii[4],sA=_n.position.length===0?[ja]:_n.position,$s=ea(sA[0],Fa),yo=ea(sA[sA.length-1],Fs),gl=Mo(_n,$s,yo,Fa,Fs),oA=gl[0],$A=gl[1],oA>0&&$A>0&&(tl=Ot.ctx.createRadialGradient(ls+$s,ms+yo,0,ls+$s,ms+yo,oA),TA(_n.stops,oA*2).forEach(function(lA){return tl.addColorStop(lA.stop,oa(lA.color))}),Ot.path(As),Ot.ctx.fillStyle=tl,oA!==$A?(el=N.bounds.left+.5*N.bounds.width,MA=N.bounds.top+.5*N.bounds.height,AA=$A/oA,jo=1/AA,Ot.ctx.save(),Ot.ctx.translate(el,MA),Ot.ctx.transform(1,0,0,AA,0,0),Ot.ctx.translate(-el,-MA),Ot.ctx.fillRect(ls,jo*(ms-MA)+MA,Fa,Fs*jo),Ot.ctx.restore()):Ot.ctx.fill())),Yo.label=6;case 6:return L--,[2]}})},Ot=this,re=0,Qe=N.styles.backgroundImage.slice(0).reverse(),Ln.label=1;case 1:return re0?_n.style!==2?[3,5]:[4,this.renderDashedDottedBorder(_n.color,_n.width,Qe,N.curves,2)]:[3,11]):[3,13];case 4:return hr.sent(),[3,11];case 5:return _n.style!==3?[3,7]:[4,this.renderDashedDottedBorder(_n.color,_n.width,Qe,N.curves,3)];case 6:return hr.sent(),[3,11];case 7:return _n.style!==4?[3,9]:[4,this.renderDoubleBorder(_n.color,_n.width,Qe,N.curves)];case 8:return hr.sent(),[3,11];case 9:return[4,this.renderSolidBorder(_n.color,Qe,N.curves)];case 10:hr.sent(),hr.label=11;case 11:Qe++,hr.label=12;case 12:return ke++,[3,3];case 13:return[2]}})})},w.prototype.renderDashedDottedBorder=function(N,L,nt,Ot,re){return R(this,void 0,void 0,function(){var Qe,ke,Ln,_n,jn,hr,ri,Rr,Jr,Zi,di,oi,ha,Hi,Ti,ei,Ti,ei;return U(this,function(Ji){return this.ctx.save(),Qe=o(Ot,nt),ke=u(Ot,nt),re===2&&(this.path(ke),this.ctx.clip()),mo(ke[0])?(Ln=ke[0].start.x,_n=ke[0].start.y):(Ln=ke[0].x,_n=ke[0].y),mo(ke[1])?(jn=ke[1].end.x,hr=ke[1].end.y):(jn=ke[1].x,hr=ke[1].y),nt===0||nt===2?ri=Math.abs(Ln-jn):ri=Math.abs(_n-hr),this.ctx.beginPath(),re===3?this.formatPath(Qe):this.formatPath(ke.slice(0,2)),Rr=L<3?L*3:L*2,Jr=L<3?L*2:L,re===3&&(Rr=L,Jr=L),Zi=!0,ri<=Rr*2?Zi=!1:ri<=Rr*2+Jr?(di=ri/(2*Rr+Jr),Rr*=di,Jr*=di):(oi=Math.floor((ri+Jr)/(Rr+Jr)),ha=(ri-oi*Rr)/(oi-1),Hi=(ri-(oi+1)*Rr)/oi,Jr=Hi<=0||Math.abs(Jr-ha)=0&&(f.splice instanceof Function||Object.getOwnPropertyDescriptor(f,f.length-1)&&f.constructor.name!=="String")}},23346:function(gt,dt,f){var l=f(93454),R=f(40911),U=l(R,"DataView");gt.exports=U},36025:function(gt,dt,f){var l=f(93454),R=f(40911),U=l(R,"Promise");gt.exports=U},73230:function(gt,dt,f){var l=f(93454),R=f(40911),U=l(R,"Set");gt.exports=U},66643:function(gt,dt,f){var l=f(97800),R=f(81685),U=f(1324);function P(m){var S=-1,E=m==null?0:m.length;for(this.__data__=new l;++S-1}gt.exports=R},90746:function(gt){function dt(f,l,R){for(var U=-1,P=f==null?0:f.length;++U0&&S(T)?m>1?U(T,m-1,S,E,F):l(F,T):E||(F[F.length]=T)}return F}gt.exports=U},23543:function(gt,dt,f){var l=f(43294),R=f(66357);function U(P,m){return P&&l(P,m,R)}gt.exports=U},96980:function(gt,dt,f){var l=f(89382),R=f(90370);function U(P,m){m=l(m,P);for(var S=0,E=m.length;P!=null&&Sl}gt.exports=dt},11874:function(gt){var dt=Object.prototype,f=dt.hasOwnProperty;function l(R,U){return R!=null&&f.call(R,U)}gt.exports=l},45146:function(gt){function dt(f,l){return f!=null&&l in Object(f)}gt.exports=dt},17713:function(gt,dt,f){var l=f(33405),R=f(17406),U=f(68048);function P(m,S,E){return S===S?U(m,S,E):l(m,R,E)}gt.exports=P},30433:function(gt,dt,f){var l=f(98317),R=f(71161);function U(P,m,S,E,F){return P===m?!0:P==null||m==null||!R(P)&&!R(m)?P!==P&&m!==m:l(P,m,S,E,U,F)}gt.exports=U},98317:function(gt,dt,f){var l=f(26163),R=f(70670),U=f(23499),P=f(83544),m=f(29148),S=f(41594),E=f(33636),F=f(53745),Q=1,O="[object Arguments]",T="[object Array]",Z="[object Object]",tt=Object.prototype,W=tt.hasOwnProperty;function vt(st,X,Mt,ht,Dt,Gt){var Kt=S(st),Fe=S(X),me=Kt?T:m(st),an=Fe?T:m(X);me=me==O?Z:me,an=an==O?Z:an;var ye=me==Z,pn=an==Z,cn=me==an;if(cn&&E(st)){if(!E(X))return!1;Kt=!0,ye=!1}if(cn&&!ye)return Gt||(Gt=new l),Kt||F(st)?R(st,X,Mt,ht,Dt,Gt):U(st,X,me,Mt,ht,Dt,Gt);if(!(Mt&Q)){var we=ye&&W.call(st,"__wrapped__"),Ye=pn&&W.call(X,"__wrapped__");if(we||Ye){var Un=we?st.value():st,Ze=Ye?X.value():X;return Gt||(Gt=new l),Dt(Un,Ze,Mt,ht,Gt)}}return cn?(Gt||(Gt=new l),P(st,X,Mt,ht,Dt,Gt)):!1}gt.exports=vt},9961:function(gt,dt,f){var l=f(29148),R=f(71161),U="[object Map]";function P(m){return R(m)&&l(m)==U}gt.exports=P},44626:function(gt,dt,f){var l=f(26163),R=f(30433),U=1,P=2;function m(S,E,F,Q){var O=F.length,T=O,Z=!Q;if(S==null)return!T;for(S=Object(S);O--;){var tt=F[O];if(Z&&tt[2]?tt[1]!==S[tt[0]]:!(tt[0]in S))return!1}for(;++O=E){var Mt=O?null:m(Q);if(Mt)return S(Mt);vt=!1,tt=P,X=new l}else X=O?[]:st;t:for(;++ZP||F&&Q&&T&&!O&&!Z||S&&Q&&T||!m&&T||!E)return 1;if(!S&&!F&&!Z&&U=O)return T;var Z=m[S];return T*(Z=="desc"?-1:1)}}return U.index-P.index}gt.exports=R},45280:function(gt,dt,f){var l=f(39408),R=f(69601);function U(P,m){return l(P,R(P),m)}gt.exports=U},24299:function(gt,dt,f){var l=f(39408),R=f(72426);function U(P,m){return l(P,R(P),m)}gt.exports=U},26503:function(gt,dt,f){var l=f(9015);function R(U,P){return function(m,S){if(m==null)return m;if(!l(m))return U(m,S);for(var E=m.length,F=P?E:-1,Q=Object(m);(P?F--:++F-1?Q[O?S[T]:T]:void 0}}gt.exports=P},6651:function(gt,dt,f){var l=f(91018),R=f(20688),U=f(925);function P(m){return function(S,E,F){return F&&typeof F!="number"&&R(S,E,F)&&(E=F=void 0),S=U(S),E===void 0?(E=S,S=0):E=U(E),F=F===void 0?SW))return!1;var st=Z.get(E),X=Z.get(F);if(st&&X)return st==F&&X==E;var Mt=-1,ht=!0,Dt=Q&m?new l:void 0;for(Z.set(E,F),Z.set(F,E);++Mt2?Q[2]:void 0;for(Z&&U(Q[0],Q[1],Z)&&(T=1);++O1&&P(S,E[0],E[1])?E=[]:F>2&&P(E[0],E[1],E[2])&&(E=[E[0]]),R(S,l(E,1),[])});gt.exports=m},57004:function(gt){function dt(){return[]}gt.exports=dt},925:function(gt,dt,f){var l=f(13933),R=1/0,U=17976931348623157e292;function P(m){if(!m)return m===0?m:0;if(m=l(m),m===R||m===-R){var S=m<0?-1:1;return S*U}return m===m?m:0}gt.exports=P},46588:function(gt,dt,f){var l=f(925);function R(U){var P=l(U),m=P%1;return P===P?m?P-m:P:0}gt.exports=R},13933:function(gt,dt,f){var l=f(8944),R=f(71721),U=f(66459),P=NaN,m=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,E=/^0o[0-7]+$/i,F=parseInt;function Q(O){if(typeof O=="number")return O;if(U(O))return P;if(R(O)){var T=typeof O.valueOf=="function"?O.valueOf():O;O=R(T)?T+"":T}if(typeof O!="string")return O===0?O:+O;O=l(O);var Z=S.test(O);return Z||E.test(O)?F(O.slice(2),Z?2:8):m.test(O)?P:+O}gt.exports=Q},14135:function(gt,dt,f){var l=f(12580);function R(U){return U==null?"":l(U)}gt.exports=R},61477:function(gt,dt,f){var l=f(22899),R=f(93511),U=f(23543),P=f(71499),m=f(13530),S=f(41594),E=f(33636),F=f(92581),Q=f(71721),O=f(53745);function T(Z,tt,W){var vt=S(Z),st=vt||E(Z)||O(Z);if(tt=P(tt,4),W==null){var X=Z&&Z.constructor;st?W=vt?new X:[]:Q(Z)?W=F(X)?R(m(Z)):{}:W={}}return(st?l:U)(Z,function(Mt,ht,Dt){return tt(W,Mt,ht,Dt)}),W}gt.exports=T},99477:function(gt,dt,f){var l=f(27417),R=f(2440),U=f(75996),P=f(20577),m=R(function(S){return U(l(S,1,P,!0))});gt.exports=m},69624:function(gt,dt,f){var l=f(14135),R=0;function U(P){var m=++R;return l(P)+m}gt.exports=U},72834:function(gt,dt,f){var l=f(98030),R=f(66357);function U(P){return P==null?[]:l(P,R(P))}gt.exports=U},79261:function(gt,dt,f){var l=f(78436),R=f(30232);function U(P,m){return R(P||[],m||[],l)}gt.exports=U},34402:function(gt,dt,f){"use strict";f.r(dt),f.d(dt,{default:function(){return P}});var l=f(34634);function R(m){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,l.isAnyArray)(m))throw new TypeError("input must be an array");if(m.length===0)throw new TypeError("input must not be empty");var E=S.fromIndex,F=E===void 0?0:E,Q=S.toIndex,O=Q===void 0?m.length:Q;if(F<0||F>=m.length||!Number.isInteger(F))throw new Error("fromIndex must be a positive integer smaller than length");if(O<=F||O>m.length||!Number.isInteger(O))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var T=m[F],Z=F+1;ZT&&(T=m[Z]);return T}function U(m){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,l.isAnyArray)(m))throw new TypeError("input must be an array");if(m.length===0)throw new TypeError("input must not be empty");var E=S.fromIndex,F=E===void 0?0:E,Q=S.toIndex,O=Q===void 0?m.length:Q;if(F<0||F>=m.length||!Number.isInteger(F))throw new Error("fromIndex must be a positive integer smaller than length");if(O<=F||O>m.length||!Number.isInteger(O))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var T=m[F],Z=F+1;Z1&&arguments[1]!==void 0?arguments[1]:{};if((0,l.isAnyArray)(m)){if(m.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var E;if(S.output!==void 0){if(!(0,l.isAnyArray)(S.output))throw new TypeError("output option must be an array if specified");E=S.output}else E=new Array(m.length);var F=U(m),Q=R(m);if(F===Q)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var O=S.min,T=O===void 0?S.autoMinMax?F:0:O,Z=S.max,tt=Z===void 0?S.autoMinMax?Q:1:Z;if(T>=tt)throw new RangeError("min option must be smaller than max option");for(var W=(tt-T)/(Q-F),vt=0;vt=U.length?{done:!0}:{done:!1,value:U[S++]}},e:function(Z){throw Z},f:E}}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 F,Q=!0,O=!1;return{s:function(){m=m.call(U)},n:function(){var Z=m.next();return Q=Z.done,Z},e:function(Z){O=!0,F=Z},f:function(){try{Q||m.return==null||m.return()}finally{if(O)throw F}}}}},71369:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return P}});var l=f(38882);function R(m,S){for(;!{}.hasOwnProperty.call(m,S)&&(m=(0,l.Z)(m))!==null;);return m}function U(){return U=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(m,S,E){var F=R(m,S);if(F){var Q=Object.getOwnPropertyDescriptor(F,S);return Q.get?Q.get.call(arguments.length<3?m:E):Q.value}},U.apply(null,arguments)}function P(m,S,E,F){var Q=U((0,l.Z)(1&F?m.prototype:m),S,E);return 2&F&&typeof Q=="function"?function(O){return Q.apply(E,O)}:Q}},25551:function(gt,dt){"use strict";var f={value:()=>{}};function l(){for(var S=0,E=arguments.length,F={},Q;S=0&&(Q=F.slice(O+1),F=F.slice(0,O)),F&&!E.hasOwnProperty(F))throw new Error("unknown type: "+F);return{type:F,name:Q}})}R.prototype=l.prototype={constructor:R,on:function(S,E){var F=this._,Q=U(S+"",F),O,T=-1,Z=Q.length;if(arguments.length<2){for(;++T0)for(var F=new Array(O),Q=0,O,T;Qtypeof Ze=="object"&&Ze!==null||typeof Ze=="function",E={canHandle:Ze=>S(Ze)&&Ze[l],serialize(Ze){const{port1:Ie,port2:xt}=new MessageChannel;return T(Ze,Ie),[xt,[xt]]},deserialize(Ze){return Ze.start(),W(Ze)}},F={canHandle:Ze=>S(Ze)&&m in Ze,serialize({value:Ze}){let Ie;return Ze instanceof Error?Ie={isError:!0,value:{message:Ze.message,name:Ze.name,stack:Ze.stack}}:Ie={isError:!1,value:Ze},[Ie,[]]},deserialize(Ze){throw Ze.isError?Object.assign(new Error(Ze.value.message),Ze.value):Ze.value}},Q=new Map([["proxy",E],["throw",F]]);function O(Ze,Ie){for(const xt of Ze)if(Ie===xt||xt==="*"||xt instanceof RegExp&&xt.test(Ie))return!0;return!1}function T(Ze,Ie=globalThis,xt=["*"]){Ie.addEventListener("message",function Jt(tn){if(!tn||!tn.data)return;if(!O(xt,tn.origin)){console.warn(`Invalid origin '${tn.origin}' for comlink proxy`);return}const{id:qe,type:Re,path:Je}=Object.assign({path:[]},tn.data),rn=(tn.data.argumentList||[]).map(we);let ge;try{const Pe=Je.slice(0,-1).reduce((yt,fe)=>yt[fe],Ze),Tt=Je.reduce((yt,fe)=>yt[fe],Ze);switch(Re){case"GET":ge=Tt;break;case"SET":Pe[Je.slice(-1)[0]]=we(tn.data.value),ge=!0;break;case"APPLY":ge=Tt.apply(Pe,rn);break;case"CONSTRUCT":{const yt=new Tt(...rn);ge=ye(yt)}break;case"ENDPOINT":{const{port1:yt,port2:fe}=new MessageChannel;T(Ze,fe),ge=an(yt,[yt])}break;case"RELEASE":ge=void 0;break;default:return}}catch(Pe){ge={value:Pe,[m]:0}}Promise.resolve(ge).catch(Pe=>({value:Pe,[m]:0})).then(Pe=>{const[Tt,yt]=cn(Pe);Ie.postMessage(Object.assign(Object.assign({},Tt),{id:qe}),yt),Re==="RELEASE"&&(Ie.removeEventListener("message",Jt),tt(Ie),P in Ze&&typeof Ze[P]=="function"&&Ze[P]())}).catch(Pe=>{const[Tt,yt]=cn({value:new TypeError("Unserializable return value"),[m]:0});Ie.postMessage(Object.assign(Object.assign({},Tt),{id:qe}),yt)})}),Ie.start&&Ie.start()}function Z(Ze){return Ze.constructor.name==="MessagePort"}function tt(Ze){Z(Ze)&&Ze.close()}function W(Ze,Ie){const xt=new Map;return Ze.addEventListener("message",function(tn){const{data:qe}=tn;if(!qe||!qe.id)return;const Re=xt.get(qe.id);if(Re)try{Re(qe)}finally{xt.delete(qe.id)}}),Gt(Ze,xt,[],Ie)}function vt(Ze){if(Ze)throw new Error("Proxy has been released and is not useable")}function st(Ze){return Ye(Ze,new Map,{type:"RELEASE"}).then(()=>{tt(Ze)})}const X=new WeakMap,Mt="FinalizationRegistry"in globalThis&&new FinalizationRegistry(Ze=>{const Ie=(X.get(Ze)||0)-1;X.set(Ze,Ie),Ie===0&&st(Ze)});function ht(Ze,Ie){const xt=(X.get(Ie)||0)+1;X.set(Ie,xt),Mt&&Mt.register(Ze,Ie,Ze)}function Dt(Ze){Mt&&Mt.unregister(Ze)}function Gt(Ze,Ie,xt=[],Jt=function(){}){let tn=!1;const qe=new Proxy(Jt,{get(Re,Je){if(vt(tn),Je===U)return()=>{Dt(qe),st(Ze),Ie.clear(),tn=!0};if(Je==="then"){if(xt.length===0)return{then:()=>qe};const rn=Ye(Ze,Ie,{type:"GET",path:xt.map(ge=>ge.toString())}).then(we);return rn.then.bind(rn)}return Gt(Ze,Ie,[...xt,Je])},set(Re,Je,rn){vt(tn);const[ge,Pe]=cn(rn);return Ye(Ze,Ie,{type:"SET",path:[...xt,Je].map(Tt=>Tt.toString()),value:ge},Pe).then(we)},apply(Re,Je,rn){vt(tn);const ge=xt[xt.length-1];if(ge===R)return Ye(Ze,Ie,{type:"ENDPOINT"}).then(we);if(ge==="bind")return Gt(Ze,Ie,xt.slice(0,-1));const[Pe,Tt]=Fe(rn);return Ye(Ze,Ie,{type:"APPLY",path:xt.map(yt=>yt.toString()),argumentList:Pe},Tt).then(we)},construct(Re,Je){vt(tn);const[rn,ge]=Fe(Je);return Ye(Ze,Ie,{type:"CONSTRUCT",path:xt.map(Pe=>Pe.toString()),argumentList:rn},ge).then(we)}});return ht(qe,Ze),qe}function Kt(Ze){return Array.prototype.concat.apply([],Ze)}function Fe(Ze){const Ie=Ze.map(cn);return[Ie.map(xt=>xt[0]),Kt(Ie.map(xt=>xt[1]))]}const me=new WeakMap;function an(Ze,Ie){return me.set(Ze,Ie),Ze}function ye(Ze){return Object.assign(Ze,{[l]:!0})}function pn(Ze,Ie=globalThis,xt="*"){return{postMessage:(Jt,tn)=>Ze.postMessage(Jt,xt,tn),addEventListener:Ie.addEventListener.bind(Ie),removeEventListener:Ie.removeEventListener.bind(Ie)}}function cn(Ze){for(const[Ie,xt]of Q)if(xt.canHandle(Ze)){const[Jt,tn]=xt.serialize(Ze);return[{type:"HANDLER",name:Ie,value:Jt},tn]}return[{type:"RAW",value:Ze},me.get(Ze)||[]]}function we(Ze){switch(Ze.type){case"HANDLER":return Q.get(Ze.name).deserialize(Ze.value);case"RAW":return Ze.value}}function Ye(Ze,Ie,xt,Jt){return new Promise(tn=>{const qe=Un();Ie.set(qe,tn),Ze.start&&Ze.start(),Ze.postMessage(Object.assign({id:qe},xt),Jt)})}function Un(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}},32575:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return l}});function l(R,U){var P,m=1;R==null&&(R=0),U==null&&(U=0);function S(){var E,F=P.length,Q,O=0,T=0;for(E=0;Eht.index){var xt=Dt-Un.x-Un.vx,Jt=Gt-Un.y-Un.vy,tn=xt*xt+Jt*Jt;tnDt+Ie||weGt+Ie||Yest.r&&(st.r=st[X].r)}function vt(){if(F){var st,X=F.length,Mt;for(Q=new Array(X),st=0;st(m=(l*m+R)%U)/U}},31136:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return m}});var l=f(91592),R=f(12068);function U(S){return S.index}function P(S,E){var F=S.get(E);if(!F)throw new Error("node not found: "+E);return F}function m(S){var E=U,F=X,Q,O=(0,l.Z)(30),T,Z,tt,W,vt,st=1;S==null&&(S=[]);function X(Kt){return 1/Math.min(tt[Kt.source.index],tt[Kt.target.index])}function Mt(Kt){for(var Fe=0,me=S.length;Fe[E(pn,cn,Z),pn])),ye;for(Kt=0,tt=new Array(Fe);Kt=tt)return;(ht.data!==E||ht.next)&&(Fe===0&&(Fe=(0,U.Z)(F),ye+=Fe*Fe),me===0&&(me=(0,U.Z)(F),ye+=me*me),ye1?(an==null?st.delete(me):st.set(me,Fe(an)),O):st.get(me)},find:function(me,an,ye){var pn=0,cn=Q.length,we,Ye,Un,Ze,Ie;for(ye==null?ye=1/0:ye*=ye,pn=0;pn1?(Mt.on(me,an),O):Mt.on(me)}}}},34123:function(gt,dt,f){"use strict";f.d(dt,{Z:function(){return R}});var l=f(91592);function R(U){var P=(0,l.Z)(.1),m,S,E;typeof U!="function"&&(U=(0,l.Z)(U==null?0:+U));function F(O){for(var T=0,Z=m.length,tt;T=(Mt=(Z+vt)/2))?Z=Mt:vt=Mt,(an=S>=(ht=(tt+st)/2))?tt=ht:st=ht,(ye=E>=(Dt=(W+X)/2))?W=Dt:X=Dt,Q=O,!(O=O[pn=ye<<2|an<<1|me]))return Q[pn]=T,P;if(Gt=+P._x.call(null,O.data),Kt=+P._y.call(null,O.data),Fe=+P._z.call(null,O.data),m===Gt&&S===Kt&&E===Fe)return T.next=O,Q?Q[pn]=T:P._root=T,P;do Q=Q?Q[pn]=new Array(8):P._root=new Array(8),(me=m>=(Mt=(Z+vt)/2))?Z=Mt:vt=Mt,(an=S>=(ht=(tt+st)/2))?tt=ht:st=ht,(ye=E>=(Dt=(W+X)/2))?W=Dt:X=Dt;while((pn=ye<<2|an<<1|me)===(cn=(Fe>=Dt)<<2|(Kt>=ht)<<1|Gt>=Mt));return Q[cn]=O,Q[pn]=T,P}function U(P){Array.isArray(P)||(P=Array.from(P));const m=P.length,S=new Float64Array(m),E=new Float64Array(m),F=new Float64Array(m);let Q=1/0,O=1/0,T=1/0,Z=-1/0,tt=-1/0,W=-1/0;for(let vt=0,st,X,Mt,ht;vtZ&&(Z=X),Mttt&&(tt=Mt),htW&&(W=ht));if(Q>Z||O>tt||T>W)return this;this.cover(Q,O,T).cover(Z,tt,W);for(let vt=0;vtR||R>=F||S>U||U>=Q||E>P||P>=O;)switch(W=(PX||(Z=Kt.y0)>Mt||(tt=Kt.z0)>ht||(W=Kt.x1)=ye)<<2|(P>=an)<<1|U>=me)&&(Kt=Dt[Dt.length-1],Dt[Dt.length-1]=Dt[Dt.length-1-Fe],Dt[Dt.length-1-Fe]=Kt)}else{var pn=U-+this._x.call(null,Gt.data),cn=P-+this._y.call(null,Gt.data),we=m-+this._z.call(null,Gt.data),Ye=pn*pn+cn*cn+we*we;if(YeMath.sqrt(Wl(U-S,2)+Wl(P-E,2)+Wl(m-F,2));function R(U,P,m,S){const E=[],F=U-S,Q=P-S,O=m-S,T=U+S,Z=P+S,tt=m+S;return this.visit((W,vt,st,X,Mt,ht,Dt)=>{if(!W.length)do{const Gt=W.data;l(U,P,m,this._x(Gt),this._y(Gt),this._z(Gt))<=S&&E.push(Gt)}while(W=W.next);return vt>T||st>Z||X>tt||Mt=(Mt=(Q+Z)/2))?Q=Mt:Z=Mt,(Kt=st>=(ht=(O+tt)/2))?O=ht:tt=ht,(Fe=X>=(Dt=(T+W)/2))?T=Dt:W=Dt,P=m,!(m=m[me=Fe<<2|Kt<<1|Gt]))return this;if(!m.length)break;(P[me+1&7]||P[me+2&7]||P[me+3&7]||P[me+4&7]||P[me+5&7]||P[me+6&7]||P[me+7&7])&&(S=P,an=me)}for(;m.data!==U;)if(E=m,!(m=m.next))return this;return(F=m.next)&&delete m.next,E?(F?E.next=F:delete E.next,this):P?(F?P[me]=F:delete P[me],(m=P[0]||P[1]||P[2]||P[3]||P[4]||P[5]||P[6]||P[7])&&m===(P[7]||P[6]||P[5]||P[4]||P[3]||P[2]||P[1]||P[0])&&!m.length&&(S?S[an]=m:this._root=m),this):(this._root=F,this)}function R(U){for(var P=0,m=U.length;P=(vt=(T+tt)/2))?T=vt:tt=vt,(Dt=S>=(st=(Z+W)/2))?Z=st:W=st,F=Q,!(Q=Q[Gt=Dt<<1|ht]))return F[Gt]=O,P;if(X=+P._x.call(null,Q.data),Mt=+P._y.call(null,Q.data),m===X&&S===Mt)return O.next=Q,F?F[Gt]=O:P._root=O,P;do F=F?F[Gt]=new Array(4):P._root=new Array(4),(ht=m>=(vt=(T+tt)/2))?T=vt:tt=vt,(Dt=S>=(st=(Z+W)/2))?Z=st:W=st;while((Gt=Dt<<1|ht)===(Kt=(Mt>=st)<<1|X>=vt));return F[Kt]=Q,F[Gt]=O,P}function U(P){var m,S,E=P.length,F,Q,O=new Array(E),T=new Array(E),Z=1/0,tt=1/0,W=-1/0,vt=-1/0;for(S=0;SW&&(W=F),Qvt&&(vt=Q));if(Z>W||tt>vt)return this;for(this.cover(Z,tt).cover(W,vt),S=0;SR||R>=S||m>U||U>=E;)switch(T=(Utt||(O=X.y0)>W||(T=X.x1)=Dt)<<1|U>=ht)&&(X=vt[vt.length-1],vt[vt.length-1]=vt[vt.length-1-Mt],vt[vt.length-1-Mt]=X)}else{var Gt=U-+this._x.call(null,st.data),Kt=P-+this._y.call(null,st.data),Fe=Gt*Gt+Kt*Kt;if(Fe=(vt=(Q+T)/2))?Q=vt:T=vt,(Mt=W>=(st=(O+Z)/2))?O=st:Z=st,P=m,!(m=m[ht=Mt<<1|X]))return this;if(!m.length)break;(P[ht+1&3]||P[ht+2&3]||P[ht+3&3])&&(S=P,Dt=ht)}for(;m.data!==U;)if(E=m,!(m=m.next))return this;return(F=m.next)&&delete m.next,E?(F?E.next=F:delete E.next,this):P?(F?P[ht]=F:delete P[ht],(m=P[0]||P[1]||P[2]||P[3])&&m===(P[3]||P[2]||P[1]||P[0])&&!m.length&&(S?S[Dt]=m:this._root=m),this):(this._root=F,this)}function R(U){for(var P=0,m=U.length;P=0&&Gt._call.call(void 0,Kt),Gt=Gt._next;--l}function X(){F=(E=O.now())+Q,l=R=0;try{st()}finally{l=0,ht(),F=0}}function Mt(){var Gt=O.now(),Kt=Gt-E;Kt>P&&(Q-=Kt,E=Gt)}function ht(){for(var Gt,Kt=m,Fe,me=1/0;Kt;)Kt._call?(me>Kt._time&&(me=Kt._time),Gt=Kt,Kt=Kt._next):(Fe=Kt._next,Kt._next=null,Kt=Gt?Gt._next=Fe:m=Fe);S=Gt,Dt(me)}function Dt(Gt){if(!l){R&&(R=clearTimeout(R));var Kt=Gt-F;Kt>24?(Gt<1/0&&(R=setTimeout(X,Gt-O.now()-Q)),U&&(U=clearInterval(U))):(U||(E=O.now(),U=setInterval(Mt,P)),l=1,T(X))}}},80813:function(gt,dt,f){"use strict";f.d(dt,{CR:function(){return X},Jh:function(){return tt},Q_:function(){return Ye},XA:function(){return st},ZT:function(){return R},_T:function(){return P},ev:function(){return Dt},mG:function(){return Z},pi:function(){return U},pr:function(){return ht}});var l=function(Re,Je){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(rn,ge){rn.__proto__=ge}||function(rn,ge){for(var Pe in ge)Object.prototype.hasOwnProperty.call(ge,Pe)&&(rn[Pe]=ge[Pe])},l(Re,Je)};function R(Re,Je){if(typeof Je!="function"&&Je!==null)throw new TypeError("Class extends value "+String(Je)+" is not a constructor or null");l(Re,Je);function rn(){this.constructor=Re}Re.prototype=Je===null?Object.create(Je):(rn.prototype=Je.prototype,new rn)}var U=function(){return U=Object.assign||function(Je){for(var rn,ge=1,Pe=arguments.length;ge=0;fe--)(yt=Re[fe])&&(Tt=(Pe<3?yt(Tt):Pe>3?yt(Je,rn,Tt):yt(Je,rn))||Tt);return Pe>3&&Tt&&Object.defineProperty(Je,rn,Tt),Tt}function S(Re,Je){return function(rn,ge){Je(rn,ge,Re)}}function E(Re,Je,rn,ge,Pe,Tt){function yt(rt){if(rt!==void 0&&typeof rt!="function")throw new TypeError("Function expected");return rt}for(var fe=ge.kind,nn=fe==="getter"?"get":fe==="setter"?"set":"value",We=!Je&&Re?ge.static?Re:Re.prototype:null,le=Je||(We?Object.getOwnPropertyDescriptor(We,ge.name):{}),Ke,Me=!1,kt=rn.length-1;kt>=0;kt--){var ee={};for(var Ne in ge)ee[Ne]=Ne==="access"?{}:ge[Ne];for(var Ne in ge.access)ee.access[Ne]=ge.access[Ne];ee.addInitializer=function(rt){if(Me)throw new TypeError("Cannot add initializers after decoration has completed");Tt.push(yt(rt||null))};var I=(0,rn[kt])(fe==="accessor"?{get:le.get,set:le.set}:le[nn],ee);if(fe==="accessor"){if(I===void 0)continue;if(I===null||typeof I!="object")throw new TypeError("Object expected");(Ke=yt(I.get))&&(le.get=Ke),(Ke=yt(I.set))&&(le.set=Ke),(Ke=yt(I.init))&&Pe.unshift(Ke)}else(Ke=yt(I))&&(fe==="field"?Pe.unshift(Ke):le[nn]=Ke)}We&&Object.defineProperty(We,ge.name,le),Me=!0}function F(Re,Je,rn){for(var ge=arguments.length>2,Pe=0;Pe0&&Tt[Tt.length-1])&&(We[0]===6||We[0]===2)){rn=0;continue}if(We[0]===3&&(!Tt||We[1]>Tt[0]&&We[1]=Re.length&&(Re=void 0),{value:Re&&Re[ge++],done:!Re}}};throw new TypeError(Je?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(Re,Je){var rn=typeof Symbol=="function"&&Re[Symbol.iterator];if(!rn)return Re;var ge=rn.call(Re),Pe,Tt=[],yt;try{for(;(Je===void 0||Je-- >0)&&!(Pe=ge.next()).done;)Tt.push(Pe.value)}catch(fe){yt={error:fe}}finally{try{Pe&&!Pe.done&&(rn=ge.return)&&rn.call(ge)}finally{if(yt)throw yt.error}}return Tt}function Mt(){for(var Re=[],Je=0;Je1||nn(kt,Ne)})},ee&&(Pe[kt]=ee(Pe[kt])))}function nn(kt,ee){try{We(ge[kt](ee))}catch(Ne){Me(Tt[0][3],Ne)}}function We(kt){kt.value instanceof Gt?Promise.resolve(kt.value.v).then(le,Ke):Me(Tt[0][2],kt)}function le(kt){nn("next",kt)}function Ke(kt){nn("throw",kt)}function Me(kt,ee){kt(ee),Tt.shift(),Tt.length&&nn(Tt[0][0],Tt[0][1])}}function Fe(Re){var Je,rn;return Je={},ge("next"),ge("throw",function(Pe){throw Pe}),ge("return"),Je[Symbol.iterator]=function(){return this},Je;function ge(Pe,Tt){Je[Pe]=Re[Pe]?function(yt){return(rn=!rn)?{value:Gt(Re[Pe](yt)),done:!1}:Tt?Tt(yt):yt}:Tt}}function me(Re){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Je=Re[Symbol.asyncIterator],rn;return Je?Je.call(Re):(Re=typeof st=="function"?st(Re):Re[Symbol.iterator](),rn={},ge("next"),ge("throw"),ge("return"),rn[Symbol.asyncIterator]=function(){return this},rn);function ge(Tt){rn[Tt]=Re[Tt]&&function(yt){return new Promise(function(fe,nn){yt=Re[Tt](yt),Pe(fe,nn,yt.done,yt.value)})}}function Pe(Tt,yt,fe,nn){Promise.resolve(nn).then(function(We){Tt({value:We,done:fe})},yt)}}function an(Re,Je){return Object.defineProperty?Object.defineProperty(Re,"raw",{value:Je}):Re.raw=Je,Re}var ye=Object.create?function(Re,Je){Object.defineProperty(Re,"default",{enumerable:!0,value:Je})}:function(Re,Je){Re.default=Je},pn=function(Re){return pn=Object.getOwnPropertyNames||function(Je){var rn=[];for(var ge in Je)Object.prototype.hasOwnProperty.call(Je,ge)&&(rn[rn.length]=ge);return rn},pn(Re)};function cn(Re){if(Re&&Re.__esModule)return Re;var Je={};if(Re!=null)for(var rn=pn(Re),ge=0;gec in a?Ne(a,c,{enumerable:!0,configurable:!0,writable:!0,value:g}):a[c]=g,Pe=(a,c)=>{for(var g in c||(c={}))ce.call(c,g)&&me(a,g,c[g]);if(Be)for(var g of Be(c))Oe.call(c,g)&&me(a,g,c[g]);return a},x=(a,c)=>xe(a,we(c)),k=(a,c,g)=>new Promise((I,E)=>{var N=S=>{try{H(g.next(S))}catch(P){E(P)}},j=S=>{try{H(g.throw(S))}catch(P){E(P)}},H=S=>S.done?I(S.value):Promise.resolve(S.value).then(N,j);H((g=g.apply(a,c)).next())});const O=[{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"}],p=(a,c)=>{const g={};let I=null;return a.forEach(E=>{g[E.properties.uuid]=x(Pe({},E),{id:E.properties.uuid,children:[]})}),c.forEach(E=>{const N=g[E.startNodeUuid],j=g[E.endNodeUuid];N&&(N.id=N.properties.uuid),N&&j&&N.children.push(j)}),a.forEach(E=>{!c.some(j=>j.endNodeUuid===E.properties.uuid)&&(I=g[E.properties.uuid])}),I},n=(a,c)=>{const g=a.getParentData(c.id,"tree");return g?c.style.x>g.style.x?"right":"left":"center"};var v=({loading:a,nodes:c=[],relationships:g=[]})=>{const I=(0,e.useRef)(null),E=(0,e.useRef)(),N=(0,e.useRef)(0);(0,e.useEffect)(()=>{(c==null?void 0:c.length)>0&&j()},[]);const j=()=>k(void 0,null,function*(){var S,P,h;const ne=p(c==null?void 0:c.map((R,Qe)=>{var ze,Te,nt,rt,lt;return x(Pe({},R),{key:Qe,title:(ze=R==null?void 0:R.properties)==null?void 0:ze.name,newcolor:parseInt((Te=R==null?void 0:R.properties)==null?void 0:Te.color)===1?"#CC7CF5":((nt=O==null?void 0:O.find(Ze=>{var We;return(Ze==null?void 0:Ze.name)===((We=R==null?void 0:R.properties)==null?void 0:We.nodeType)}))==null?void 0:nt.color)||"#2D947C",colornodeType:parseInt((rt=R==null?void 0:R.properties)==null?void 0:rt.color)===1?"\u6839\u8282\u70B9":((lt=O==null?void 0:O.find(Ze=>{var We;return(Ze==null?void 0:Ze.name)===((We=R==null?void 0:R.properties)==null?void 0:We.nodeType)}))==null?void 0:lt.name)||"\u5176\u4ED6"})}),g==null?void 0:g.filter(R=>R.type==="\u5305\u542B"));E!=null&&E.current&&((S=E==null?void 0:E.current)==null||S.destroy());const D=(0,ie.RN)(ne),ke=(P=D.nodes)==null?void 0:P.filter((R,Qe,ze)=>Qe===ze.findIndex(Te=>Te.id===R.id)),Me=(h=D.edges)==null?void 0:h.filter((R,Qe,ze)=>Qe===ze.findIndex(Te=>Te.source===R.source&&Te.target===R.target));H({nodes:ke,edges:Me})}),H=S=>{var P,h;E.current=null,E.current=new ie.kJ({container:I.current,autoResize:!0,autoFit:{type:((P=S==null?void 0:S.nodes)==null?void 0:P.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((h=S==null?void 0:S.nodes)==null?void 0:h.length)>300),data:S,node:{style:{labelText:ne=>ne.title,labelFill:"#333333",fill:ne=>ne.newcolor,labelBackground:!1,labelPlacement:function(ne){const D=n(this,ne);return D==="center"?"right":D},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:()=>80,getSide:ne=>(N.current++,N.current%2==0?"left":"right")},behaviors:["zoom-canvas","collapse-expand","drag-canvas"]}),E.current.render()};return e.createElement("div",{style:{height:"100%"}},e.createElement(Ae.Z,{spinning:a,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),e.createElement("div",{style:{height:"100%"},ref:I}))},d=o(42441),t=o(36466),s=({abilityGoalItem:a=[]})=>{var c,g;const I=(c=(0,t.eY)())==null?void 0:c.username,E=typeof((g=a==null?void 0:a[0])==null?void 0:g.user_grasp_rate)=="number",N=a.map(P=>P.grasp_rate),j=a.map(P=>P.user_grasp_rate),H=()=>{const P=a.map(D=>D.name),h=[{type:"bar",name:"\u7CFB\u7EDF\u5E73\u5747",data:N,barMaxWidth:"20%",barGap:"50%",itemStyle:{color:"#028DFD"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}}];E&&h.unshift({type:"bar",name:I,data:j,barMaxWidth:"20%",itemStyle:{color:"#CDCB56"},label:{show:!0,position:"top",formatter:"{c}%",color:"#666"}});const ne={tooltip:{appendToBody:!0,trigger:"item",formatter:D=>{const{value:ke,name:Me,seriesName:R}=D;return`
    + ${Me}
    + ${R}\uFF1A${ke}% +
    `}},grid:{left:"0%",right:"10%",bottom:"3%",containLabel:!0},xAxis:{data:P,axisLabel:{color:"#666",formatter:function(D){return D.length>4?D.substring(0,4)+"...":D}},axisTick:{show:!1},axisLine:{show:!1}},yAxis:{show:!1,type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#666",formatter:"{value}%"},splitLine:{lineStyle:{color:"rgba(164,200,252,0.1)"}}},series:h};return e.createElement(d.Z,{option:ne,className:"w-full"})},S=()=>{const P=Math.max(...N,...E?j:[])*1.2||10,h=[{value:N,name:"\u7CFB\u7EDF\u5E73\u5747",lineStyle:{color:"rgba(2, 141, 253, 1)",window:3},areaStyle:{color:"rgba(2, 141, 253, 0.35)"},itemStyle:{color:"rgba(2, 141, 253, 1)",borderWidth:2}}];E&&h.unshift({value:j,name:I,lineStyle:{color:"rgba(205, 203, 86, 1)",window:3},areaStyle:{color:"rgba(205, 203, 86, 0.35)"},itemStyle:{color:"rgba(205, 203, 86, 1)",borderWidth:2}});const ne={tooltip:{appendToBody:!0,trigger:"item",position:"right"},radar:{indicator:a.map(D=>({name:D.name,max:P,min:0})),splitArea:{areaStyle:{color:["#fff","#f3f4f9"]}},name:{color:"#333",fontSize:12,formatter:function(D){return D.length>3?D.slice(0,3)+"...":D}},nameGap:5,axisLine:{lineStyle:{color:"#D9D9D9"}},splitLine:{lineStyle:{color:"#D9D9D9"}},center:["50%","50%"],radius:"50%"},series:[{type:"radar",symbolSize:2,tooltip:{trigger:"item",formatter:function(D){console.log(D);let ke=D.name+"
    ";return D.value.forEach((Me,R)=>{ke+=a[R].name+"\uFF1A"+Me+"%
    "}),ke}},data:h}]};return e.createElement(d.Z,{option:ne,className:"w-full"})};return e.createElement("div",{className:"flex flex-col item-center mt-20px-rem"},e.createElement("b",{className:"text-16px-rem"}," ",E?"\u80FD\u529B\u56FE\u8C31\u4E2A\u4EBA\u638C\u63E1\u60C5\u51B5":"\u80FD\u529B\u56FE\u8C31\u638C\u63E1\u7387\u60C5\u51B5"),E&&e.createElement("div",{className:"flex item-center gap-20px-rem text-14px-rem mt-10px-rem"},e.createElement("div",{className:"flex item-center"},e.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#CDCB56"}}),e.createElement(K.Z,{title:I},e.createElement("span",null,(0,B.Pq)(I,4)))),e.createElement("div",{className:"flex item-center"},e.createElement("b",{className:"mr-10px-rem flex",style:{width:"16rem",height:"8rem",background:"#028DFD"}}),"\u7CFB\u7EDF\u5E73\u5747")),a.length<3&&H(),a.length>=3&&S())},i=o(93351),u=o(58661),y=o(42684),F=o(32558),C={NextAbility:"NextAbility___wLOPq",AnchorDomStyle:"AnchorDomStyle___CG1xj",AnchorDom:"AnchorDom___jjRxi"},Y="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",U="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=",le="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=",ee="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=",Q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAAAXNSR0IArs4c6QAAAu5JREFUSEvlll1IU2EYx//PcW6JSuRFBRVB1I2Qtk3dh1JSXiVRF1bQXaFUBJ5tFFGCLLywTbTtUAwREoIKvIgI+iAqL3Jf0jYUpKsIiogkAsv8aOs8dWyT09zcZnrVe/m+/+f/4/2/7/ucQyhg1I+4ymeLdK0AtQHYQkT3E0LCPVbnmMjXhvIR1o72bvuZ0LSDuA2g9Wk1TIwHMsuuWL09mMtvWeAev6dWEMgBoAWAJpcZGC8Bdkct4kMQcSb9UiA7BUOo4gjAdgANOSEZBMQ0IUN2C9qSu5Ga03G1ZBFYNdZTWjSjPUUMGwg7VgJaWkPvwehLlM4PjFdf+K6sU+OwU/NVV2EH8SUAG1YHtMTlM5jcpNV5yBjwnmDC7TUCpds6qXL4RlmJLjHItHAx1nDw47m54mOLZ2gMS80sczeA3atIjYPxFIRmInRGzGLX37eUmYxBbwsTdQCo/gfwPAM3hQRflYuFMmKeyAxUEWpC3oMyQ7lIhTyNWQYPyCy7x6yOD4qdPiRV5gVMsfcEvFaBcB7AYQBCll3PMMinJbknbLZ9UmvyBur917fHrOfepTqGIdC3E6QRAT4JoDRpOkuALy5rXeP1ZyfBTPqwdJyYy6MW24CiMYQkM5iDOSM1Br0+APuZIJUk5m75Gy5+UwwahwfXTWmn6gTCJi3k50Gr48tCdEGpiQAXwAYmdMfM4uUqv2+jRvgxAmAXAW/lOJmy9lIFyMCZ5E6mwbhDJPdHLPaoOjJj8JqBIbgANKXmU0BjyNPATC8AFP9ulVMyUW2+QDXjNUAjAE8riQHYl36uKaAybwx6WxnoFwiHXpnFRysB5nwtauAfqMcUsdjCC700W3VapDkhakE6UL32PwMDUicTXykoy6SYQGLE0i5lqs0a6dGhoaI3Wz/2giAWAGUm7oqZRGf+vxhp7vqA9wAJ6ARj73JgBkYB6ohZ2p8tp8vrr00xSPZU5ZtpAmMzEbQMmgQQAfO9qFV8kk8SvwBkMTigdig/4QAAAABJRU5ErkJggg==",z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAABBRJREFUSEu1ln1MVXUYx7/fc87FQbRaL7PwZZZRDQTOhRxj1mLZqFz9Q8tVWyb34tVirbmsVpvOWfOPXNqGJl7kMvSfbNnLHyWbWfSuw+s95zIYTd0QFGvZ1gvG4J7ze+pc4h0uBLff38/z/Tx7fs8bMctnbuzI1RJOuRCLoSQHhAOyi1Rd4vraYo35HWOlSkLnr3PdvvUUVAJSBGAQwheZilcS6s1S7pUXIGqdCPJS2RJoJbV6QcanwOAmgWyGSPZYH4I90wLNoP0sRXaKIGeWSZjKrEWjvp8Gom7CPQfy50nAkpD4XCe+DyIb5gECyFO3XpN1/7Ha3IHiQNtaJe4RAC3jgB5MOfHPROTBecH+dSb4xS3ZWWsuX716AoJV0FgzDmgGrAMQhNIBG9EgvkvCyD8zaSwbAfqD1jOicCitsDFipPZGLFK4LQks29yT2f/br2cBLPp/gBTd51sUDeddTgKLA/bLSuStNMMugTQgsjCpq3G91VDUlAT6q+y4QArSBSTh6DTKHbhlULLL0yV4MtZYVMaVgfjtCVHn0wVLihNbYhHz7ZJQ+1I3kbgwrG2Qd9MftAKi0JA2IPGRFTErt28X7eNu+xgEFcPaGvVK+gPWVhHsSAuQ/FE3skuj4eW/+6vsnQJ5bdxoI16iP2DvF5FN8waSF3XDWBUN53cXV1uVysXRiZoE9tIMWHshqJkPkMQVzdDui4YLO0tCdrHroAUi104CknU0g/aW4UqaE5Tsg64/YNWvaL0nYN/lQr4Rwc1TaZHY5qX0cRH5YK4wQ9MeO32woMWrSJVwvhXIkum0qCFILypHpPO/Ar00AvojsUjB6dLqtoUDSn0NkTtT6fioLU82vhmwT0KkdLZQb5FqPlYM/Vn7Utdxjs8EI9gWaywqHAIG7WooqZ8NkGCnkalVtL5b0JP8M8HxVGkc7UG+ciZStCsJLK22Fw+40jMTkOCHGdlZVadqc//wqlE50jxdgUzQupR5/Y25P+xZ0j80SwPxHSJq67Sf7R1MwKuxiLnbs0n2mWLTxJslRbGsizWYh5NjryzYfkO/OF1e35A8ISKrJ0YHQ19r1Rd8742rTy7E35w4QVJmhghbEXPjsI3Xh89DyT6SX93xcOHqc83xwyLy1IgB8QuA3QsyFrw3MDBYJ5CHZkr9qC8/14zCNdEwE6PAKuvLf46bck3Hk2cOmkeeeF/0s81xb1LcO1vhKe3Iet0orBkLS6bUDNg/eUuS8OWTaoUS9zkvgLnCSPQK+bq3bKecNv4qu3tSWZN9BPcAGXWUwUcFEhJISaogSHSA2iFNv6k2Gs75a9oCMoPxpynqHQAZAG0Ijmq+7CZvxYx1WrmhPd91Vb5QboPIMggMaOyl4KLyGS3WgTzvJprx/Q3wmMIl7X6GaAAAAABJRU5ErkJggg==",V="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAstJREFUSEu9lk1oE1EQx2de06xNxaNSxS+wYltMNi0iBXsSBE/tQawnIZugXtpKUS9VCGgvFgKxF9EkRfHQFA/tSRC9qKAFm2SDKdoKSgVrPUqamK8deSFbt+km2bTb7imZN/v/vbdvvhA0j9MlTzKGk3NB+7TWrv3dfe3Lgb/Z9EsiIMRd56KhEz8r+erZUTU63fJZUugVIH5raba1vRhvzei9IEqxMBBc5GsIGI5OOC7VDSzBAgBwpCiE+JxZGgfnHrUva8U6PXKPUqA3WlsDQs9cSHxnFIr8MxJQ/4YXEJOMkScSEMN8zeslNr0U/whETq0vAkZ6D9tPeb2oGIFilzveVyDyAdHRMqEZQbBe//Cw7Tu3i27ZAwo91r0XRE805AgaAnKn8wOLwq/V1DMiusD/M2zoj4ROTqkCpwcW92SSqUUA2qsrirgiNNuOz463/qkFXQuarivzLYV8bgEJXkcnHH3r7s4ljylAN6qKIY7FQo5bhoHcsdMT67dahFn1MxZt7sQxRcknAMhaXQyzjFk6IsGOr9X81k6o58RhRPmnRNRda+el6H6PaLlcDaoLLN7Zauo2EAzVPln5VjALCH6h2XZP707XAXnozyzFXQQwCkT7jJyqog/iCgKM9B6yT2hT5n/QSLEzCqGfgDq3BCp7mecpQxpSiwM6pc/7gTI+3eQ3kczLIKAwjKIr9gkAOkzUriaVQKcUSxBB+44BebtJZ9M+tQNsGxhhqsnaNLwWNMVOoIC/vDhveQOIUcZgKBJwvC3mqlaw2BF+xCVQYLRi3TS8A/wNDEb6DtpDummh1eGJn0um7igAg5tJfAbwoHG37W7NxC/fvHh1vhVzuSfbXtrWdYqdLN4qWJTk+0B00/T2VEmwVMwXKtbXzTTgWsHnlGQ3EfFBa8OD9Y4YtWB83bQhyghM9TFlTKwHyH1NGYTrgW511P8HVz1GsEaaZFwAAAAASUVORK5CYII=",q="data:image/png;base64,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",te="data:image/png;base64,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",L="data:image/png;base64,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",Re=Object.defineProperty,w=Object.defineProperties,Fe=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,ye=(a,c,g)=>c in a?Re(a,c,{enumerable:!0,configurable:!0,writable:!0,value:g}):a[c]=g,Z=(a,c)=>{for(var g in c||(c={}))ge.call(c,g)&&ye(a,g,c[g]);if(Ee)for(var g of Ee(c))fe.call(c,g)&&ye(a,g,c[g]);return a},se=(a,c)=>w(a,Fe(c));const Ce={\u5B9E\u8BAD:Y,\u8BD5\u5377:U,\u8BFE\u4EF6:le,\u89C6\u9891:ee,\u4E3B\u80FD\u529B:z,\u5B50\u80FD\u529B:V,\u77E5\u8BC6\u70B9:q,\u8D44\u6E90:te,\u603B\u6570:Q,\u6559\u6750:L};var W=({type:a,ImgProps:c})=>e.createElement("img",se(Z({src:(Ce==null?void 0:Ce[a])||(Ce==null?void 0:Ce.\u8BFE\u4EF6)},c),{width:"16rem",style:Z({width:"16rem"},(c==null?void 0:c.style)||{})})),Ve=o(83274),qe=o(51190),Je=Object.defineProperty,Ke=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,Le=(a,c,g)=>c in a?Je(a,c,{enumerable:!0,configurable:!0,writable:!0,value:g}):a[c]=g,je=(a,c)=>{for(var g in c||(c={}))Xe.call(c,g)&&Le(a,g,c[g]);if(_e)for(var g of _e(c))et.call(c,g)&&Le(a,g,c[g]);return a},De=(a,c)=>Ke(a,$e(c)),Ge=(a,c,g)=>new Promise((I,E)=>{var N=S=>{try{H(g.next(S))}catch(P){E(P)}},j=S=>{try{H(g.throw(S))}catch(P){E(P)}},H=S=>S.done?I(S.value):Promise.resolve(S.value).then(N,j);H((g=g.apply(a,c)).next())});const b=({children:a,cout:c=1})=>{const g=(0,e.useRef)(null),[I,E]=(0,e.useState)(0),[N,j]=(0,e.useState)(!1);return(0,e.useEffect)(()=>{g.current&&setTimeout(()=>{const H=(0,B.ZR)(g.current,"rem",1);E(H)},500)},[g.current]),e.createElement("div",{className:"relative flex item-end "},e.createElement("div",{style:{height:N?"auto":`${c*23.25}rem`,overflow:"hidden"}},e.createElement("div",{ref:g,style:{fontSize:"14rem"}},a)),I>=c*23.25&&e.createElement("div",{className:"current c-blue",style:{whiteSpace:"nowrap"},onClick:()=>{j(!N)}},N?"\u6536\u8D77":"\u5C55\u793A"))},T=({DataProps:a,pathsDetail:c,getUrl:g})=>{var I,E,N,j;const{detail:H}=c,[S,P]=(0,e.useState)(!1);return e.createElement("div",{id:`${a==null?void 0:a.id}`,className:"bg-white",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},e.createElement("div",{style:{color:"#3061D0"}},e.createElement(W,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),e.createElement("div",{className:"c-grey-333 flex item-center",style:{fontSize:"14rem",margin:"20rem 0 10rem 0",gap:"10rem"}},e.createElement(K.Z,{title:a==null?void 0:a.name},e.createElement("div",{className:"multi_ellipsis1 minW-0"},a==null?void 0:a.name)),e.createElement("div",{className:"flex item-center",style:{gap:"5rem"}},(I=a==null?void 0:a.ability_tags)==null?void 0:I.map(h=>e.createElement(M.Z,{color:"orange",style:{fontSize:"12rem"}},h)))),(a==null?void 0:a.description)&&e.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},e.createElement(b,null,a==null?void 0:a.description)),e.createElement("div",{className:"flex item-center justify-center w-full",style:{margin:"20rem 0",padding:"12rem",background:"linear-gradient( 180deg, #ECF3FF 0%, rgba(255,255,255,0) 100%)"}},"\u8986\u76D6 ",e.createElement(W,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{margin:"0 5rem"}}})," ",a==null?void 0:a.knowledge_count,"\u4E2A\u77E5\u8BC6\u70B9",e.createElement("span",{style:{marginLeft:"40rem"}},e.createElement(W,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),a==null?void 0:a.resource_count,"\u4E2A\u8D44\u6E90\u6570")),e.createElement("div",{style:{marginBottom:"10rem"}},e.createElement(W,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u77E5\u8BC6\u70B9",a==null?void 0:a.knowledge_count,"\u4E2A"),e.createElement("div",{style:{height:"320rem",background:"#F6F7F9"}},e.createElement(v,{loading:!1,nodes:a==null?void 0:a.nodes,relationships:a==null?void 0:a.relationships})),e.createElement("div",{style:{margin:"30rem 0 10rem"}},e.createElement(W,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u8D44\u6E90\u6570",a==null?void 0:a.resource_count,"\u4E2A"),e.createElement("div",{className:"flex-wrap",style:{gap:"10rem",display:"grid",gridTemplateColumns:"1fr 1fr"}},(j=((E=a==null?void 0:a.resource_knowledge_graphs)==null?void 0:E.length)>4&&!S?(N=a==null?void 0:a.resource_knowledge_graphs)==null?void 0:N.slice(0,4):a==null?void 0:a.resource_knowledge_graphs)==null?void 0:j.map(h=>e.createElement("div",{key:h==null?void 0:h.id,className:"flex relative current",style:{gap:"10rem",padding:"25rem",background:"#f6f6f6",borderRadius:"10rem"},onClick:()=>Ge(void 0,null,function*(){yield g==null?void 0:g(h)})},!(H!=null&&H.can_managed)&&e.createElement("div",{className:"absolute c-white",style:{top:0,right:0,padding:"2rem 10rem",borderRadius:"0 10rem 0 10rem",color:(h==null?void 0:h.complete_rate)!=100&&"#7C3100",background:(h==null?void 0:h.complete_rate)!=100?"#FFC86B":"#37AD83"}},(h==null?void 0:h.complete_rate)==100?"\u5DF2\u5B8C\u6210":"\u672A\u5B8C\u6210"),e.createElement(X.Z,{type:"circle",percent:h==null?void 0:h.complete_rate,size:60,status:"success",format:ne=>`${ne}%`,strokeWidth:10}),e.createElement(W,{type:h==null?void 0:h.node_type,ImgProps:{style:{width:"16rem",height:"16rem",marginTop:"3rem"}}}),e.createElement("div",{className:"flex-1 minW-0"},e.createElement(K.Z,{title:h==null?void 0:h.name,placement:"topLeft"},e.createElement("div",{className:"multi_ellipsis1 c-grey-333 blod",style:{fontSize:"16rem"}},h==null?void 0:h.name)),e.createElement("div",{className:"c-grey-333",style:{marginTop:"10rem",fontSize:"14rem"}},"\u77E5\u8BC6\u70B9\uFF1A",(h==null?void 0:h.knowledge_text)||"--"),(H==null?void 0:H.can_managed)&&e.createElement("div",{className:"flex flex-wrap item-center v-grey-666",style:{marginTop:"20rem",fontSize:"12rem",gap:"10rem"}},e.createElement("div",null,"\u5B66\u4E60\u4EBA\u6570\uFF1A",h==null?void 0:h.study_count,"\u4EBA"),e.createElement("div",null,"\u638C\u63E1\u4EBA\u6570\uFF1A",h==null?void 0:h.complete_count,"\u4EBA"),e.createElement("div",null,"\u638C\u63E1\u7387\uFF1A",h==null?void 0:h.complete_rate,"%")))))),(a==null?void 0:a.resource_knowledge_graphs.length)>4&&e.createElement("div",{className:"flex item-center justify-center",style:{padding:"0 220rem"},onClick:()=>{P(!S)}},e.createElement(f.Z,{style:{borderColor:"#3061D0",marginBottom:"0rem",cursor:"pointer"},dashed:!0},e.createElement("span",{style:{color:"#3061D0"}},S?"\u70B9\u51FB\u6536\u8D77":"\u70B9\u51FB\u5C55\u5F00\u66F4\u591A"))))},ve=({pathsDetail:a,dispatch:c,user:g})=>{var I,E,N,j,H,S,P,h,ne,D,ke,Me,R,Qe,ze,Te,nt,rt,lt,Ze,We,ut,dt,mt,gt,ft,vt,pt,At,ht,Et,yt,Ct;const{detail:be}=a,$=(0,ae.useParams)(),[Bt]=(0,ae.useSearchParams)(),[at,bt]=(0,e.useState)({}),[Ye,ct]=(0,e.useState)({id:null,open:!1,resourceUrl:""}),[,Ot,Ft,A]=(0,de.U)(Se.Ju,{subject_id:$.pathId,id:$==null?void 0:$.abilityId}),[St,It]=(0,e.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),it=new URLSearchParams(window.location.search),Nt=()=>Ge(void 0,null,function*(){const r=yield Ft({subject_id:$==null?void 0:$.pathId,id:$==null?void 0:$.abilityId})}),wt=r=>c({type:"userDetail/logWatchHistory",payload:je({},r)});function Pt(r){return Ge(this,null,function*(){var J,He,st;let _=yield(0,u.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:r==null?void 0:r.resourceUrl}});if(localStorage.setItem("container_type_tupu",_==null?void 0:_.container_type),(_==null?void 0:_.status)===0){if((r==null?void 0:r.node_type)=="\u8BD5\u5377"){const ot=yield(0,qe.Mb)({categoryId:_==null?void 0:_.examination_bank_id});ot!=null&&ot.exercise_id&&(0,B.xg)(`/classrooms/coursesId/exercise/${ot.exercise_id}/${(J=g.userInfo)==null?void 0:J.login}/initate_answer`);return}(_==null?void 0:_.container_type)==="video"?ct({id:_==null?void 0:_.id,open:!0,resourceUrl:r==null?void 0:r.resourceUrl}):(_==null?void 0:_.container_type)==="att"?bt({url:y.Z.API_SERVER+((He=_==null?void 0:_.attachment)==null?void 0:He.url),file_type:(st=_==null?void 0:_.attachment)==null?void 0:st.file_type}):window.open(r==null?void 0:r.resourceUrl)}})}const xt=r=>Ge(void 0,null,function*(){(r==null?void 0:r.resourceOrigin)===3?(0,B.xg)(r==null?void 0:r.resourceUrl):Pt(r),!(be!=null&&be.can_managed)&&(yield(0,u.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:$==null?void 0:$.pathId,uuid:(r==null?void 0:r.last_knowledge_uuid)||(r==null?void 0:r.knowledge_uuid)}}))});return(0,e.useEffect)(()=>{var r,J;if((A==null?void 0:A.status)==0&&(be!=null&&be.can_managed)){const He=(J=Object==null?void 0:Object.entries(((r=A==null?void 0:A.data)==null?void 0:r.study_grasp_hash)||{}))==null?void 0:J.map(([st,_],ot)=>({name:st,value:_,itemStyle:St[ot].itemStyle}));It(He)}},[be==null?void 0:be.can_managed,A]),(0,e.useEffect)(()=>{Nt()},[$==null?void 0:$.abilityId]),(0,e.useEffect)(()=>{c({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:Bt.get("type")=="classrooms"?"course":"subject",graphable_id:$==null?void 0:$.pathId}}),it.set("tabs","5")},[]),(0,e.useEffect)(()=>(c({type:"globalSetting/footerToggle",payload:!1}),()=>{c({type:"globalSetting/footerToggle",payload:!0})}),[]),e.createElement(Ae.Z,{spinning:Ot},e.createElement("div",{className:"ml-auto mr-auto",style:{width:"1200rem",paddingTop:"15rem"}},e.createElement(oe.Z,{style:{fontSize:"14rem",marginBottom:"20rem"},items:[{title:e.createElement("a",{className:"flex item-center",style:{fontSize:"14rem"},onClick:()=>{ae.history.push(`/knowledgegraph/${$.pathId}?${it}`)}},e.createElement(K.Z,{title:"\u8FD4\u56DE"},e.createElement("i",{className:"iconfont icon-fanhui1",style:{fontSize:"14rem",marginRight:"20rem"}})),"\u80FD\u529B\u56FE\u8C31")},{title:"\u80FD\u529B\u8BE6\u60C5"}]}),e.createElement("div",{className:"w-full flex"},e.createElement("div",{className:"sticky flex flex-col",style:{width:"250rem",borderRadius:"4rem 0 0 4rem",maxHeight:"100vh",overflowY:"auto",overflowX:"hidden",top:0,background:"#F6F7F9"}},e.createElement(s,{abilityGoalItem:(I=A==null?void 0:A.data)==null?void 0:I.ability_goals}),e.createElement("div",{style:{padding:"10rem 20rem 20rem"}},e.createElement("div",{className:"c-grey-333",style:{fontSize:"16rem"}},"\u76EE\u5F55\u5BFC\u822A"),e.createElement(re.default,{className:"w-full",value:Number($==null?void 0:$.abilityId),style:{marginTop:"10rem"},onChange:r=>{ae.history.push(`/knowledgegraph/${$.pathId}/abilityMap/detail/${r}?${it}`)},options:((N=(E=A==null?void 0:A.data)==null?void 0:E.ability_goals)==null?void 0:N.map(r=>({label:r==null?void 0:r.name,value:r==null?void 0:r.id})))||[],size:"large"})),e.createElement(he.default,{className:C.AnchorDomStyle,items:(H=(j=A==null?void 0:A.data)==null?void 0:j.children_ability_goals)==null?void 0:H.map(r=>{var J;return{key:r==null?void 0:r.id,href:`#${r==null?void 0:r.id}`,title:e.createElement("div",{className:`current relative ${C.AnchorDom}`},e.createElement("div",{className:"flex item-center",style:{gap:"10rem"}},e.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 c-grey-333",style:{fontSize:"14rem"}},r==null?void 0:r.name),e.createElement("span",{style:{color:"#464F66",fontSize:"12rem"}},be!=null&&be.can_managed?e.createElement(e.Fragment,null,e.createElement("span",{className:"iconfont icon-a-60-kejian",style:{marginRight:"5rem",fontSize:"12rem"}}),r==null?void 0:r.knowledge_count):e.createElement("span",{style:{color:"#00C088"}},e.createElement("span",{className:"iconfont icon-xuesheng2",style:{marginRight:"5rem",fontSize:"12rem"}}),(r==null?void 0:r.grasp_rate)||0,"%"))),e.createElement("div",{className:"flex flex-wrap",style:{gap:"5rem",marginTop:"10rem"}},(J=r==null?void 0:r.ability_tags)==null?void 0:J.map(He=>e.createElement(M.Z,{color:"orange",style:{fontSize:"12rem"},key:He},He))),e.createElement("div",{className:"multi_ellipsis2",style:{marginTop:"20rem",color:"#464F66",fontSize:"12rem"}},r==null?void 0:r.description))}})})),e.createElement("div",{className:"flex-1 minW-0 flex flex-col",style:{gap:"20rem"}},e.createElement("div",{className:"bg-white relative",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},((P=(S=A==null?void 0:A.data)==null?void 0:S.next_ability_goal)==null?void 0:P.id)&&e.createElement("div",{className:"absolute current",style:{right:0,top:0},onClick:()=>{var r,J;ae.history.push(`/knowledgegraph/${$.pathId}/abilityMap/detail/${(J=(r=A==null?void 0:A.data)==null?void 0:r.next_ability_goal)==null?void 0:J.id}?${it}`)}},e.createElement("div",{className:C.NextAbility},e.createElement("div",{className:"multi_ellipsis1"},(ne=(h=A==null?void 0:A.data)==null?void 0:h.next_ability_goal)==null?void 0:ne.name),e.createElement("div",null,e.createElement("span",{className:"iconfont icon-you2",style:{fontSize:"14rem"}})))),e.createElement("div",{style:{color:"#3061D0"}},e.createElement(W,{type:"\u4E3B\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u4E3B\u80FD\u529B"),e.createElement("div",{className:"c-grey-333 blod",style:{fontSize:"14rem",margin:"20rem 0 10rem 0"}},(D=A==null?void 0:A.data)==null?void 0:D.name),((ke=A==null?void 0:A.data)==null?void 0:ke.description)&&e.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},e.createElement(b,null,(Me=A==null?void 0:A.data)==null?void 0:Me.description)),(be==null?void 0:be.can_managed)&&e.createElement(e.Fragment,null,e.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u5E73\u5747\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(R=A==null?void 0:A.data)==null?void 0:R.children_ability_goal_grasp_rate,unit:"%",img:o(46016),bg:"#E3F1FF"},{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(Qe=A==null?void 0:A.data)==null?void 0:Qe.total_knowledge_count,unit:"\u4E2A",img:o(99755),bg:"#F1FDEF",ProgressTitle:"\u5360\u603B\u77E5\u8BC6\u70B9",percent:(ze=A==null?void 0:A.data)==null?void 0:ze.knowledge_rate,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Te=A==null?void 0:A.data)==null?void 0:Te.total_resource_count,unit:"\u4E2A",img:o(92691),bg:"#FFF9F4",ProgressTitle:"\u5360\u603B\u8D44\u6E90\u6570",percent:(nt=A==null?void 0:A.data)==null?void 0:nt.resource_rate,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((r,J)=>e.createElement("div",{key:J,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:r==null?void 0:r.bg,padding:"20rem 30rem"}},e.createElement("img",{src:r==null?void 0:r.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),e.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},r==null?void 0:r.title),e.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},r==null?void 0:r.value,e.createElement("span",{style:{fontSize:"14rem"}},r==null?void 0:r.unit)),(r==null?void 0:r.ProgressTitle)&&e.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},e.createElement("div",null,r==null?void 0:r.ProgressTitle,r==null?void 0:r.percent,"%"),e.createElement(X.Z,{percent:r==null?void 0:r.percent,showInfo:!1,trailColor:r==null?void 0:r.trailColor,strokeColor:r==null?void 0:r.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),e.createElement("div",{className:"c-grey-333",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),e.createElement("div",{className:"flex"},e.createElement("div",{className:"minW-0 flex flex-col",style:{gap:"13rem",width:"200rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(rt=A==null?void 0:A.data)==null?void 0:rt.study_count,unit:"",img:o(37426),bg:"rgba(68, 95, 232, 0.1)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(lt=A==null?void 0:A.data)==null?void 0:lt.complete_rate,unit:"%",img:o(19150),bg:"rgba(182, 129, 0, .1)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Ze=A==null?void 0:A.data)==null?void 0:Ze.grasp_rate,unit:"%",img:o(55303),bg:"rgba(6, 145, 127, .1)"}].map((r,J)=>e.createElement("div",{key:J,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:r==null?void 0:r.bg}},e.createElement("div",{style:{fontSize:"14rem"}},r==null?void 0:r.title),e.createElement("div",{className:"blod",style:{fontSize:"26rem"}},r==null?void 0:r.value,e.createElement("span",{style:{fontSize:"14rem"}},r==null?void 0:r.unit)),e.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:r==null?void 0:r.img})))),e.createElement("div",{className:"flex-1 minW-0"},e.createElement(Ie.Z,{dataSource:St,legend:{top:null,icon:"roundRect",bottom:10,itemWidth:14,itemGap:50,left:"center",formatter:r=>r}})))),!(be!=null&&be.can_managed)&&e.createElement(e.Fragment,null,e.createElement("div",{className:"flex item-center",style:{gap:"20rem",marginTop:"20rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(We=A==null?void 0:A.data)==null?void 0:We.total_knowledge_count,unit:"\u4E2A",percent:(ut=A==null?void 0:A.data)==null?void 0:ut.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9",trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(dt=A==null?void 0:A.data)==null?void 0:dt.total_resource_count,unit:"\u4E2A",percent:(mt=A==null?void 0:A.data)==null?void 0:mt.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570",trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((r,J)=>e.createElement("div",{key:J,className:"flex-1 minW-0 flex justify-between c-grey-333",style:{gap:"20rem",background:"#F6F7F9",borderRadius:"6rem",padding:"30rem 60rem"}},e.createElement("div",{className:"flex flex-col justify-between"},e.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},r==null?void 0:r.title),e.createElement("div",{className:"blod",style:{fontSize:"26rem"}},r==null?void 0:r.value,e.createElement("span",{style:{fontSize:"14rem"}},r==null?void 0:r.unit))),e.createElement("div",{className:"relative",style:{width:"133rem",height:"75rem"}},e.createElement(X.Z,{type:"dashboard",percent:r==null?void 0:r.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:0,top:0},trailColor:r==null?void 0:r.trailColor,strokeColor:r==null?void 0:r.strokeColor,strokeLinecap:"round",format:He=>e.createElement("div",{className:"c-grey-333",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},He,"%",e.createElement("br",null),e.createElement("br",null),r==null?void 0:r.percenttitle)}))))),e.createElement("div",{className:"c-grey-333 blod",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),e.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(gt=A==null?void 0:A.data)==null?void 0:gt.children_ability_goal_grasp_rate,unit:"%",img:o(46016),bg:"#E3F1FF"},{title:"\u5DF2\u638C\u63E1\u77E5\u8BC6\u70B9",value:((ft=A==null?void 0:A.data)==null?void 0:ft.knowledge_grasp_count)||0,unit:"\u4E2A",img:o(99755),bg:"#F1FDEF",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((vt=A==null?void 0:A.data)==null?void 0:vt.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u5DF2\u5B8C\u6210\u8D44\u6E90\u6570",value:((pt=A==null?void 0:A.data)==null?void 0:pt.resource_complete_count)||0,unit:"\u4E2A",img:o(92691),bg:"#FFF9F4",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((At=A==null?void 0:A.data)==null?void 0:At.resource_complete_rate)||0,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((r,J)=>e.createElement("div",{key:J,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:r==null?void 0:r.bg,padding:"20rem 30rem"}},e.createElement("img",{src:r==null?void 0:r.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),e.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},r==null?void 0:r.title),e.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},r==null?void 0:r.value,e.createElement("span",{style:{fontSize:"14rem"}},r==null?void 0:r.unit)),(r==null?void 0:r.ProgressTitle)&&e.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},e.createElement("div",null,r==null?void 0:r.ProgressTitle,r==null?void 0:r.percent,"%"),e.createElement(X.Z,{percent:r==null?void 0:r.percent,showInfo:!1,trailColor:r==null?void 0:r.trailColor,strokeColor:r==null?void 0:r.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),e.createElement("div",{className:"c-grey-333 blod",style:{margin:"30rem 0 10rem 0",fontSize:"14rem"}},"\u5F00\u59CB\u5B66\u4E60"),e.createElement("div",{className:"flex flex-col",style:{gap:"10rem"}},(Et=(ht=A==null?void 0:A.data)==null?void 0:ht.children_ability_goals)==null?void 0:Et.map(r=>e.createElement("div",{key:r==null?void 0:r.id,className:"flex item-center",style:{gap:"20rem",padding:"20rem",background:"#F6F7F9",borderRadius:"6rem"}},e.createElement("div",{className:"flex-1 minW-0 flex flex-col"},e.createElement("div",{className:"flex",style:{gap:"10rem"}},e.createElement("div",{style:{color:"#3061D0"}},e.createElement(W,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),e.createElement(K.Z,{title:r==null?void 0:r.name,placement:"topLeft"},e.createElement("div",{className:"multi_ellipsis1"},r==null?void 0:r.name))),e.createElement("div",{className:"flex item-center",style:{gap:"10rem",marginTop:"15rem",fontSize:"14rem"}},e.createElement(M.Z,{color:"orange",style:{fontSize:"12rem",lineHeight:"1.5"}},"\u8282\u70B9"),e.createElement("span",{className:"c-grey-333"},r==null?void 0:r.last_knowledge_name),r!=null&&r.is_complete?e.createElement("span",{className:"c-green"},"\uFF08\u5DF2\u638C\u63E1\uFF09"):e.createElement("span",{className:"c-grey-666"},"\uFF08\u672A\u638C\u63E1\uFF09"))),e.createElement(i.op,{onClick:()=>Ge(void 0,null,function*(){yield xt(r)})},(r==null?void 0:r.complete_rate)==0?"\u5F00\u59CB\u5B66\u4E60":"\u7EE7\u7EED\u5B66\u4E60")))))),(Ct=(yt=A==null?void 0:A.data)==null?void 0:yt.children_ability_goals)==null?void 0:Ct.map(r=>e.createElement(T,{key:r==null?void 0:r.id,DataProps:r,pathsDetail:a,getUrl:xt}))))),e.createElement(G.default,{open:Ye==null?void 0:Ye.open,title:"\u89C6\u9891",width:800,centered:!0,onCancel:()=>{ct(De(je({},Ye),{open:!1}))},onOk:()=>{ct(De(je({},Ye),{open:!1}))}},e.createElement(Ve.Z,{allow_skip:!0,videoId:Ye.id,toLog:!0,src:Ye==null?void 0:Ye.resourceUrl,logWatchHistory:r=>wt(De(je({},r),{container_type:localStorage.getItem("container_type_tupu")}))})),e.createElement(F.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:at==null?void 0:at.url,type:at==null?void 0:at.file_type,disabledDownload:!0,onClose:()=>bt({})}))};var ue=(0,ae.connect)(({pathsDetail:a,user:c})=>({pathsDetail:a,user:c}))(ve)},27666:function(tt,pe,o){var B=o(77654),K=o(16089);function M(X){let f;const Ae=re=>()=>{f=null,X.apply(void 0,(0,B.Z)(re))},oe=function(){if(f==null){for(var re=arguments.length,he=new Array(re),G=0;G{K.Z.cancel(f),f=null},oe}pe.Z=M},81228:function(tt,pe,o){o.d(pe,{Z:function(){return Pe}});var B=o(38705),K=o(17212),M=o(39153),X=o(55401),f=o(59301),Ae=o(92310),oe=o.n(Ae),re=o(29301),he=o(2738),G=o(27666),e=o(36355),ae=o(83116),Ie=o(37613);const de=x=>{const{componentCls:k}=x;return{[k]:{position:"fixed",zIndex:x.zIndexPopup}}};var Se=(0,ae.Z)("Affix",x=>{const k=(0,Ie.TS)(x,{zIndexPopup:x.zIndexBase+10});return[de(k)]});function ie(x){return x!==window?x.getBoundingClientRect():{top:0,bottom:window.innerHeight}}function Ne(x,k,O){if(O!==void 0&&k.top>x.top-O)return O+k.top}function xe(x,k,O){if(O!==void 0&&k.bottom{const n=p.getTargetFunc(),l=n==null?void 0:n(),{prevTarget:v}=p.state;v!==l&&(we.forEach(d=>{v==null||v.removeEventListener(d,p.lazyUpdatePosition),l==null||l.addEventListener(d,p.lazyUpdatePosition)}),p.updatePosition(),p.setState({prevTarget:l}))},p.removeListeners=()=>{p.timer&&(clearTimeout(p.timer),p.timer=null);const{prevTarget:n}=p.state,l=p.getTargetFunc(),v=l==null?void 0:l();we.forEach(d=>{v==null||v.removeEventListener(d,p.lazyUpdatePosition),n==null||n.removeEventListener(d,p.lazyUpdatePosition)}),p.updatePosition.cancel(),p.lazyUpdatePosition.cancel()},p.getOffsetTop=()=>{const{offsetBottom:n,offsetTop:l}=p.props;return n===void 0&&l===void 0?0:l},p.getOffsetBottom=()=>p.props.offsetBottom,p.measure=()=>{const{status:n,lastAffix:l}=p.state,{onChange:v}=p.props,d=p.getTargetFunc();if(n!==ce.Prepare||!p.fixedNodeRef.current||!p.placeholderNodeRef.current||!d)return;const t=p.getOffsetTop(),m=p.getOffsetBottom(),s=d();if(s){const i={status:ce.None},u=ie(p.placeholderNodeRef.current);if(u.top===0&&u.left===0&&u.width===0&&u.height===0)return;const y=ie(s),F=Ne(u,y,t),C=xe(u,y,m);F!==void 0?(i.affixStyle={position:"fixed",top:F,width:u.width,height:u.height},i.placeholderStyle={width:u.width,height:u.height}):C!==void 0&&(i.affixStyle={position:"fixed",bottom:C,width:u.width,height:u.height},i.placeholderStyle={width:u.width,height:u.height}),i.lastAffix=!!i.affixStyle,v&&l!==i.lastAffix&&v(i.lastAffix),p.setState(i)}},p.prepareMeasure=()=>{p.setState({status:ce.Prepare,affixStyle:void 0,placeholderStyle:void 0})},p.updatePosition=(0,G.Z)(()=>{p.prepareMeasure()}),p.lazyUpdatePosition=(0,G.Z)(()=>{const n=p.getTargetFunc(),{affixStyle:l}=p.state;if(n&&l){const v=p.getOffsetTop(),d=p.getOffsetBottom(),t=n();if(t&&p.placeholderNodeRef.current){const m=ie(t),s=ie(p.placeholderNodeRef.current),i=Ne(s,m,v),u=xe(s,m,d);if(i!==void 0&&l.top===i||u!==void 0&&l.bottom===u)return}}p.prepareMeasure()}),p}return(0,K.Z)(O,[{key:"getTargetFunc",value:function(){const{getTargetContainer:n}=this.context,{target:l}=this.props;return l!==void 0?l:n!=null?n:Be}},{key:"componentDidMount",value:function(){this.timer=setTimeout(this.addListeners)}},{key:"componentDidUpdate",value:function(n){this.addListeners(),(n.offsetTop!==this.props.offsetTop||n.offsetBottom!==this.props.offsetBottom)&&this.updatePosition(),this.measure()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"render",value:function(){const{affixStyle:n,placeholderStyle:l}=this.state,{affixPrefixCls:v,rootClassName:d,children:t}=this.props,m=oe()(n&&d,{[v]:!!n});let s=(0,he.Z)(this.props,["prefixCls","offsetTop","offsetBottom","target","onChange","affixPrefixCls","rootClassName"]);return f.createElement(re.Z,{onResize:this.updatePosition},f.createElement("div",Object.assign({},s,{ref:this.placeholderNodeRef}),n&&f.createElement("div",{style:l,"aria-hidden":"true"}),f.createElement("div",{className:m,ref:this.fixedNodeRef,style:n},f.createElement(re.Z,{onResize:this.updatePosition},t))))}}]),O}(f.Component);Oe.contextType=e.E_;var Pe=(0,f.forwardRef)((x,k)=>{const{prefixCls:O,rootClassName:p}=x,{getPrefixCls:n}=(0,f.useContext)(e.E_),l=n("affix",O),[v,d]=Se(l),t=Object.assign(Object.assign({},x),{affixPrefixCls:l,rootClassName:oe()(p,d)});return v(f.createElement(Oe,Object.assign({},t,{ref:k})))})},79817:function(tt,pe,o){o.d(pe,{default:function(){return p}});var B=o(77654),K=o(92310),M=o.n(K),X=o(70425),f=o(59301),Ae=o(16722),oe=o(13845),re=o(68031),he=o(81228),G=o(36355),ae=f.createContext(void 0),de=n=>{const{href:l,title:v,prefixCls:d,children:t,className:m,target:s,replace:i}=n,u=f.useContext(ae),{registerLink:y,unregisterLink:F,scrollTo:C,onClick:Y,activeLink:U,direction:le}=u||{};f.useEffect(()=>(y==null||y(l),()=>{F==null||F(l)}),[l]);const ee=L=>{i&&(L.preventDefault(),window.location.replace(l)),Y==null||Y(L,{title:v,href:l}),C==null||C(l)},{getPrefixCls:Q}=f.useContext(G.E_),z=Q("anchor",d),V=U===l,q=M()(`${z}-link`,m,{[`${z}-link-active`]:V}),te=M()(`${z}-link-title`,{[`${z}-link-title-active`]:V});return f.createElement("div",{className:q},f.createElement("a",{className:te,href:l,title:typeof v=="string"?v:"",target:s,onClick:ee},v),le!=="horizontal"?t:null)},Se=o(17313),ie=o(83116),Ne=o(37613);const xe=n=>{const{componentCls:l,holderOffsetBlock:v,motionDurationSlow:d,lineWidthBold:t,colorPrimary:m,lineType:s,colorSplit:i}=n;return{[`${l}-wrapper`]:{marginBlockStart:-v,paddingBlockStart:v,[l]:Object.assign(Object.assign({},(0,Se.Wf)(n)),{position:"relative",paddingInlineStart:t,[`${l}-link`]:{paddingBlock:n.linkPaddingBlock,paddingInline:`${n.linkPaddingInlineStart}px 0`,"&-title":Object.assign(Object.assign({},Se.vS),{position:"relative",display:"block",marginBlockEnd:n.anchorTitleBlock,color:n.colorText,transition:`all ${n.motionDurationSlow}`,"&:only-child":{marginBlockEnd:0}}),[`&-active > ${l}-link-title`]:{color:n.colorPrimary},[`${l}-link`]:{paddingBlock:n.anchorPaddingBlockSecondary}}}),[`&:not(${l}-wrapper-horizontal)`]:{[l]:{"&::before":{position:"absolute",insetInlineStart:0,top:0,height:"100%",borderInlineStart:`${t}px ${s} ${i}`,content:'" "'},[`${l}-ink`]:{position:"absolute",insetInlineStart:0,display:"none",transform:"translateY(-50%)",transition:`top ${d} ease-in-out`,width:t,backgroundColor:m,[`&${l}-ink-visible`]:{display:"inline-block"}}}},[`${l}-fixed ${l}-ink ${l}-ink`]:{display:"none"}}}},we=n=>{const{componentCls:l,motionDurationSlow:v,lineWidthBold:d,colorPrimary:t}=n;return{[`${l}-wrapper-horizontal`]:{position:"relative","&::before":{position:"absolute",left:{_skip_check_:!0,value:0},right:{_skip_check_:!0,value:0},bottom:0,borderBottom:`1px ${n.lineType} ${n.colorSplit}`,content:'" "'},[l]:{overflowX:"scroll",position:"relative",display:"flex",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"},[`${l}-link:first-of-type`]:{paddingInline:0},[`${l}-ink`]:{position:"absolute",bottom:0,transition:`left ${v} ease-in-out, width ${v} ease-in-out`,height:d,backgroundColor:t}}}}};var Be=(0,ie.Z)("Anchor",n=>{const{fontSize:l,fontSizeLG:v,paddingXXS:d}=n,t=(0,Ne.TS)(n,{holderOffsetBlock:d,anchorPaddingBlockSecondary:d/2,anchorTitleBlock:l/14*3,anchorBallSize:v/2});return[xe(t),we(t)]},n=>({linkPaddingBlock:n.paddingXXS,linkPaddingInlineStart:n.padding}));function ce(){return window}function Oe(n,l){if(!n.getClientRects().length)return 0;const v=n.getBoundingClientRect();return v.width||v.height?l===window?(l=n.ownerDocument.documentElement,v.top-l.clientTop):v.top-l.getBoundingClientRect().top:v.top}const me=/#([\S ]+)$/,Pe=n=>{var l;const{rootClassName:v,anchorPrefixCls:d,className:t,style:m,offsetTop:s,affix:i=!0,showInkInFixed:u=!1,children:y,items:F,direction:C="vertical",bounds:Y,targetOffset:U,onClick:le,onChange:ee,getContainer:Q,getCurrentAnchor:z,replace:V}=n,[q,te]=f.useState([]),[L,Re]=f.useState(null),w=f.useRef(L),Fe=f.useRef(null),Ee=f.useRef(null),ge=f.useRef(!1),{direction:fe,getTargetContainer:ye,anchor:Z}=f.useContext(G.E_),se=(l=Q!=null?Q:ye)!==null&&l!==void 0?l:ce,Ce=JSON.stringify(q),Ue=(0,X.useEvent)(b=>{q.includes(b)||te(T=>[].concat((0,B.Z)(T),[b]))}),W=(0,X.useEvent)(b=>{q.includes(b)&&te(T=>T.filter(ve=>ve!==b))}),Ve=()=>{var b;const T=(b=Fe.current)===null||b===void 0?void 0:b.querySelector(`.${d}-link-title-active`);if(T&&Ee.current){const{style:ve}=Ee.current,ue=C==="horizontal";ve.top=ue?"":`${T.offsetTop+T.clientHeight/2}px`,ve.height=ue?"":`${T.clientHeight}px`,ve.left=ue?`${T.offsetLeft}px`:"",ve.width=ue?`${T.clientWidth}px`:"",ue&&(0,Ae.Z)(T,{scrollMode:"if-needed",block:"nearest"})}},qe=function(b){let T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,ve=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5;const ue=[],a=se();return b.forEach(c=>{const g=me.exec(c==null?void 0:c.toString());if(!g)return;const I=document.getElementById(g[1]);if(I){const E=Oe(I,a);EI.top>g.top?I:g).link:""},Je=(0,X.useEvent)(b=>{if(w.current===b)return;const T=typeof z=="function"?z(b):b;Re(T),w.current=T,ee==null||ee(b)}),Ke=f.useCallback(()=>{if(ge.current)return;const b=qe(q,U!==void 0?U:s||0,Y);Je(b)},[Ce,U,s]),$e=f.useCallback(b=>{Je(b);const T=me.exec(b);if(!T)return;const ve=document.getElementById(T[1]);if(!ve)return;const ue=se(),a=(0,oe.Z)(ue,!0),c=Oe(ve,ue);let g=a+c;g-=U!==void 0?U:s||0,ge.current=!0,(0,re.Z)(g,{getContainer:se,callback(){ge.current=!1}})},[U,s]),_e=M()(v,`${d}-wrapper`,{[`${d}-wrapper-horizontal`]:C==="horizontal",[`${d}-rtl`]:fe==="rtl"},t,Z==null?void 0:Z.className),Xe=M()(d,{[`${d}-fixed`]:!i&&!u}),et=M()(`${d}-ink`,{[`${d}-ink-visible`]:L}),Le=Object.assign(Object.assign({maxHeight:s?`calc(100vh - ${s}px)`:"100vh"},Z==null?void 0:Z.style),m),je=b=>Array.isArray(b)?b.map(T=>f.createElement(de,Object.assign({replace:V},T,{key:T.key}),C==="vertical"&&je(T.children))):null,De=f.createElement("div",{ref:Fe,className:_e,style:Le},f.createElement("div",{className:Xe},f.createElement("span",{className:et,ref:Ee}),"items"in n?je(F):y));f.useEffect(()=>{const b=se();return Ke(),b==null||b.addEventListener("scroll",Ke),()=>{b==null||b.removeEventListener("scroll",Ke)}},[Ce]),f.useEffect(()=>{typeof z=="function"&&Je(z(w.current||""))},[z]),f.useEffect(()=>{Ve()},[C,z,Ce,L]);const Ge=f.useMemo(()=>({registerLink:Ue,unregisterLink:W,scrollTo:$e,activeLink:L,onClick:le,direction:C}),[L,le,$e,C]);return f.createElement(ae.Provider,{value:Ge},i?f.createElement(he.Z,{offsetTop:s,target:se},De):De)};var k=n=>{const{prefixCls:l,rootClassName:v}=n,{getPrefixCls:d}=f.useContext(G.E_),t=d("anchor",l),[m,s]=Be(t);return m(f.createElement(Pe,Object.assign({},n,{rootClassName:M()(s,v),anchorPrefixCls:t})))};const O=k;O.Link=de;var p=O},66104:function(tt,pe,o){o.d(pe,{Z:function(){return d}});var B=o(92310),K=o.n(B),M=o(11592),X=o(26112),f=o(59301),Ae=o(92343),oe=o(36355),re=o(84105),he=o(91857);const G=t=>{let{children:m}=t;const{getPrefixCls:s}=f.useContext(oe.E_),i=s("breadcrumb");return f.createElement("li",{className:`${i}-separator`,"aria-hidden":"true"},m===""?m:m||"/")};G.__ANT_BREADCRUMB_SEPARATOR=!0;var e=G,ae=function(t,m){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&m.indexOf(i)<0&&(s[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,i=Object.getOwnPropertySymbols(t);um[u]||i)}function de(t,m,s,i){if(s==null)return null;const{className:u,onClick:y}=m,F=ae(m,["className","onClick"]),C=Object.assign(Object.assign({},(0,X.Z)(F,{data:!0,aria:!0})),{onClick:y});return i!==void 0?f.createElement("a",Object.assign({},C,{className:K()(`${t}-link`,u),href:i}),s):f.createElement("span",Object.assign({},C,{className:K()(`${t}-link`,u)}),s)}function Se(t,m){return(i,u,y,F,C)=>{if(m)return m(i,u,y,F);const Y=Ie(i,u);return de(t,i,Y,C)}}var ie=function(t,m){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&m.indexOf(i)<0&&(s[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,i=Object.getOwnPropertySymbols(t);u{const{prefixCls:m,separator:s="/",children:i,menu:u,overlay:y,dropdownProps:F,href:C}=t,U=(le=>{if(u||y){const ee=Object.assign({},F);if(u){const Q=u||{},{items:z}=Q,V=ie(Q,["items"]);ee.menu=Object.assign(Object.assign({},V),{items:z==null?void 0:z.map((q,te)=>{var{key:L,title:Re,label:w,path:Fe}=q,Ee=ie(q,["key","title","label","path"]);let ge=w!=null?w:Re;return Fe&&(ge=f.createElement("a",{href:`${C}${Fe}`},ge)),Object.assign(Object.assign({},Ee),{key:L!=null?L:te,label:ge})})})}else y&&(ee.overlay=y);return f.createElement(he.Z,Object.assign({placement:"bottom"},ee),f.createElement("span",{className:`${m}-overlay-link`},le,f.createElement(re.Z,null)))}return le})(i);return U!=null?f.createElement(f.Fragment,null,f.createElement("li",null,U),s&&f.createElement(e,null,s)):null},xe=t=>{const{prefixCls:m,children:s,href:i}=t,u=ie(t,["prefixCls","children","href"]),{getPrefixCls:y}=f.useContext(oe.E_),F=y("breadcrumb",m);return f.createElement(Ne,Object.assign({},u,{prefixCls:F}),de(F,u,s,i))};xe.__ANT_BREADCRUMB_ITEM=!0;var we=xe,Be=o(17313),ce=o(83116),Oe=o(37613);const me=t=>{const{componentCls:m,iconCls:s}=t;return{[m]:Object.assign(Object.assign({},(0,Be.Wf)(t)),{color:t.itemColor,fontSize:t.fontSize,[s]:{fontSize:t.iconFontSize},ol:{display:"flex",flexWrap:"wrap",margin:0,padding:0,listStyle:"none"},a:Object.assign({color:t.linkColor,transition:`color ${t.motionDurationMid}`,padding:`0 ${t.paddingXXS}px`,borderRadius:t.borderRadiusSM,height:t.lineHeight*t.fontSize,display:"inline-block",marginInline:-t.marginXXS,"&:hover":{color:t.linkHoverColor,backgroundColor:t.colorBgTextHover}},(0,Be.Qy)(t)),"li:last-child":{color:t.lastItemColor},[`${m}-separator`]:{marginInline:t.separatorMargin,color:t.separatorColor},[`${m}-link`]:{[` + > ${s} + span, + > ${s} + a + `]:{marginInlineStart:t.marginXXS}},[`${m}-overlay-link`]:{borderRadius:t.borderRadiusSM,height:t.lineHeight*t.fontSize,display:"inline-block",padding:`0 ${t.paddingXXS}px`,marginInline:-t.marginXXS,[`> ${s}`]:{marginInlineStart:t.marginXXS,fontSize:t.fontSizeIcon},"&:hover":{color:t.linkHoverColor,backgroundColor:t.colorBgTextHover,a:{color:t.linkHoverColor}},a:{"&:hover":{backgroundColor:"transparent"}}},[`&${t.componentCls}-rtl`]:{direction:"rtl"}})}};var Pe=(0,ce.Z)("Breadcrumb",t=>{const m=(0,Oe.TS)(t,{});return[me(m)]},t=>({itemColor:t.colorTextDescription,lastItemColor:t.colorText,iconFontSize:t.fontSize,linkColor:t.colorTextDescription,linkHoverColor:t.colorText,separatorColor:t.colorTextDescription,separatorMargin:t.marginXS})),x=function(t,m){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&m.indexOf(i)<0&&(s[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,i=Object.getOwnPropertySymbols(t);u{var{breadcrumbName:F}=y,C=x(y,["breadcrumbName"]);return Object.assign(Object.assign({},C),{title:F})})}),u}function O(t,m){return(0,f.useMemo)(()=>t||(m?m.map(k):null),[t,m])}var p=function(t,m){var s={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&m.indexOf(i)<0&&(s[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var u=0,i=Object.getOwnPropertySymbols(t);u{if(m===void 0)return m;let s=(m||"").replace(/^\//,"");return Object.keys(t).forEach(i=>{s=s.replace(`:${i}`,t[i])}),s},l=t=>{const{prefixCls:m,separator:s="/",style:i,className:u,rootClassName:y,routes:F,items:C,children:Y,itemRender:U,params:le={}}=t,ee=p(t,["prefixCls","separator","style","className","rootClassName","routes","items","children","itemRender","params"]),{getPrefixCls:Q,direction:z,breadcrumb:V}=f.useContext(oe.E_);let q;const te=Q("breadcrumb",m),[L,Re]=Pe(te),w=O(C,F),Fe=Se(te,U);if(w&&w.length>0){const fe=[],ye=C||F;q=w.map((Z,se)=>{const{path:Ce,key:Ue,type:W,menu:Ve,overlay:qe,onClick:Je,className:Ke,separator:$e,dropdownProps:_e}=Z,Xe=n(le,Ce);Xe!==void 0&&fe.push(Xe);const et=Ue!=null?Ue:se;if(W==="separator")return f.createElement(e,{key:et},$e);const Le={},je=se===w.length-1;Ve?Le.menu=Ve:qe&&(Le.overlay=qe);let{href:De}=Z;return fe.length&&Xe!==void 0&&(De=`#/${fe.join("/")}`),f.createElement(Ne,Object.assign({key:et},Le,(0,X.Z)(Z,{data:!0,aria:!0}),{className:Ke,dropdownProps:_e,href:De,separator:je?"":s,onClick:Je,prefixCls:te}),Fe(Z,le,ye,fe,De))})}else if(Y){const fe=(0,M.Z)(Y).length;q=(0,M.Z)(Y).map((ye,Z)=>{if(!ye)return ye;const se=Z===fe-1;return(0,Ae.Tm)(ye,{separator:se?"":s,key:Z})})}const Ee=K()(te,V==null?void 0:V.className,{[`${te}-rtl`]:z==="rtl"},u,y,Re),ge=Object.assign(Object.assign({},V==null?void 0:V.style),i);return L(f.createElement("nav",Object.assign({className:Ee,style:ge},ee),f.createElement("ol",null,q)))};l.Item=we,l.Separator=e;var v=l,d=v},12563:function(tt,pe,o){o.d(pe,{Z:function(){return p}});var B=o(59301),K=o(99267),M=o(92310),X=o.n(M),f=o(36785),Ae=o(47729),oe=o(14088),re=o(36355),he=o(17313),G=o(37613),e=o(83116);const ae=n=>{const{paddingXXS:l,lineWidth:v,tagPaddingHorizontal:d,componentCls:t}=n,m=d-v,s=l-v;return{[t]:Object.assign(Object.assign({},(0,he.Wf)(n)),{display:"inline-block",height:"auto",marginInlineEnd:n.marginXS,paddingInline:m,fontSize:n.tagFontSize,lineHeight:n.tagLineHeight,whiteSpace:"nowrap",background:n.defaultBg,border:`${n.lineWidth}px ${n.lineType} ${n.colorBorder}`,borderRadius:n.borderRadiusSM,opacity:1,transition:`all ${n.motionDurationMid}`,textAlign:"start",position:"relative",[`&${t}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:n.defaultColor},[`${t}-close-icon`]:{marginInlineStart:s,color:n.colorTextDescription,fontSize:n.tagIconSize,cursor:"pointer",transition:`all ${n.motionDurationMid}`,"&:hover":{color:n.colorTextHeading}},[`&${t}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${n.iconCls}-close, ${n.iconCls}-close:hover`]:{color:n.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${t}-checkable-checked):hover`]:{color:n.colorPrimary,backgroundColor:n.colorFillSecondary},"&:active, &-checked":{color:n.colorTextLightSolid},"&-checked":{backgroundColor:n.colorPrimary,"&:hover":{backgroundColor:n.colorPrimaryHover}},"&:active":{backgroundColor:n.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${n.iconCls} + span, > span + ${n.iconCls}`]:{marginInlineStart:m}}),[`${t}-borderless`]:{borderColor:"transparent",background:n.tagBorderlessBg}}},Ie=n=>{const{lineWidth:l,fontSizeIcon:v}=n,d=n.fontSizeSM,t=`${n.lineHeightSM*d}px`;return(0,G.TS)(n,{tagFontSize:d,tagLineHeight:t,tagIconSize:v-2*l,tagPaddingHorizontal:8,tagBorderlessBg:n.colorFillTertiary})},de=n=>({defaultBg:n.colorFillQuaternary,defaultColor:n.colorText});var Se=(0,e.Z)("Tag",n=>{const l=Ie(n);return ae(l)},de),ie=function(n,l){var v={};for(var d in n)Object.prototype.hasOwnProperty.call(n,d)&&l.indexOf(d)<0&&(v[d]=n[d]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var t=0,d=Object.getOwnPropertySymbols(n);t{const{prefixCls:l,style:v,className:d,checked:t,onChange:m,onClick:s}=n,i=ie(n,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:u,tag:y}=B.useContext(re.E_),F=ee=>{m==null||m(!t),s==null||s(ee)},C=u("tag",l),[Y,U]=Se(C),le=X()(C,`${C}-checkable`,{[`${C}-checkable-checked`]:t},y==null?void 0:y.className,d,U);return Y(B.createElement("span",Object.assign({},i,{style:Object.assign(Object.assign({},v),y==null?void 0:y.style),className:le,onClick:F})))},we=o(45157);const Be=n=>(0,we.Z)(n,(l,v)=>{let{textColor:d,lightBorderColor:t,lightColor:m,darkColor:s}=v;return{[`${n.componentCls}-${l}`]:{color:d,background:m,borderColor:t,"&-inverse":{color:n.colorTextLightSolid,background:s,borderColor:s},[`&${n.componentCls}-borderless`]:{borderColor:"transparent"}}}});var ce=(0,e.b)(["Tag","preset"],n=>{const l=Ie(n);return Be(l)},de);function Oe(n){return typeof n!="string"?n:n.charAt(0).toUpperCase()+n.slice(1)}const me=(n,l,v)=>{const d=Oe(v);return{[`${n.componentCls}-${l}`]:{color:n[`color${v}`],background:n[`color${d}Bg`],borderColor:n[`color${d}Border`],[`&${n.componentCls}-borderless`]:{borderColor:"transparent"}}}};var Pe=(0,e.b)(["Tag","status"],n=>{const l=Ie(n);return[me(l,"success","Success"),me(l,"processing","Info"),me(l,"error","Error"),me(l,"warning","Warning")]},de),x=function(n,l){var v={};for(var d in n)Object.prototype.hasOwnProperty.call(n,d)&&l.indexOf(d)<0&&(v[d]=n[d]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var t=0,d=Object.getOwnPropertySymbols(n);t{const{prefixCls:v,className:d,rootClassName:t,style:m,children:s,icon:i,color:u,onClose:y,closeIcon:F,closable:C,bordered:Y=!0}=n,U=x(n,["prefixCls","className","rootClassName","style","children","icon","color","onClose","closeIcon","closable","bordered"]),{getPrefixCls:le,direction:ee,tag:Q}=B.useContext(re.E_),[z,V]=B.useState(!0);B.useEffect(()=>{"visible"in U&&V(U.visible)},[U.visible]);const q=(0,f.o2)(u),te=(0,f.yT)(u),L=q||te,Re=Object.assign(Object.assign({backgroundColor:u&&!L?u:void 0},Q==null?void 0:Q.style),m),w=le("tag",v),[Fe,Ee]=Se(w),ge=X()(w,Q==null?void 0:Q.className,{[`${w}-${u}`]:L,[`${w}-has-color`]:u&&!L,[`${w}-hidden`]:!z,[`${w}-rtl`]:ee==="rtl",[`${w}-borderless`]:!Y},d,t,Ee),fe=W=>{W.stopPropagation(),y==null||y(W),!W.defaultPrevented&&V(!1)},[,ye]=(0,Ae.Z)(C,F,W=>W===null?B.createElement(K.Z,{className:`${w}-close-icon`,onClick:fe}):B.createElement("span",{className:`${w}-close-icon`,onClick:fe},W),null,!1),Z=typeof U.onClick=="function"||s&&s.type==="a",se=i||null,Ce=se?B.createElement(B.Fragment,null,se,s&&B.createElement("span",null,s)):s,Ue=B.createElement("span",Object.assign({},U,{ref:l,className:ge,style:Re}),Ce,ye,q&&B.createElement(ce,{key:"preset",prefixCls:w}),te&&B.createElement(Pe,{key:"status",prefixCls:w}));return Fe(Z?B.createElement(oe.Z,{component:"Tag"},Ue):Ue)},O=B.forwardRef(k);O.CheckableTag=xe;var p=O}}]); diff --git a/p__knowledgegraph__Detail__id.395321e9.async.js b/p__knowledgegraph__Detail__id.395321e9.async.js new file mode 100644 index 0000000000..1a85037ccd --- /dev/null +++ b/p__knowledgegraph__Detail__id.395321e9.async.js @@ -0,0 +1,3567 @@ +!(function(){var m0=Math.pow;var G0=(Bn,Wn,ie)=>new Promise((ee,Oe)=>{var st=Je=>{try{Qe(ie.next(Je))}catch(ye){Oe(ye)}},yt=Je=>{try{Qe(ie.throw(Je))}catch(ye){Oe(ye)}},Qe=Je=>Je.done?ee(Je.value):Promise.resolve(Je.value).then(st,yt);Qe((ie=ie.apply(Bn,Wn)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[28823],{89489:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},59477:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},26227:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},49198:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},41464:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},87169:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},52671:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},8657:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},56082:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},15075:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},62772:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},43531:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},61485:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={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:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},87395:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(60499),Oe=ie(59301),st={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},yt=st,Qe=ie(85221),Je=function(pt,tt){return Oe.createElement(Qe.Z,(0,ee.Z)({},pt,{ref:tt,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye},22054:function(){"use strict"},68305:function(){"use strict"},2375:function(Bn,Wn){"use strict";Wn.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},42847:function(Bn,Wn){"use strict";Wn.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"}},97630:function(Bn,Wn){"use strict";Wn.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",work_checkbox_group:"work_checkbox_group___sGLxY"}},72518:function(Bn,Wn){"use strict";Wn.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"}},83672:function(Bn,Wn){"use strict";Wn.Z={ChangeBut:"ChangeBut___VMCUO",DefaultDiv:"DefaultDiv___diOnG",DefaultDivItemActive:"DefaultDivItemActive___p8PnJ",DefaultDivItem:"DefaultDivItem___BkCuW",TableStyle:"TableStyle___DOsaq",ProgressStyle:"ProgressStyle___Mbw5z",ProgressStyle2:"ProgressStyle2___w9DG9",RankingDiv:"RankingDiv___RCXlB",NavBgTwo:"NavBgTwo___KU7t1",NavBgTwoActive:"NavBgTwoActive___hkC0h",NavBgItem:"NavBgItem___TBfQf",InputStyle:"InputStyle___BAYzG",TableMyHeader:"TableMyHeader___nZel6",TableMyDiv:"TableMyDiv___F4fkZ",CollapseStyle:"CollapseStyle___VkVMr",Item:"Item___pqPqX",SituationItem:"SituationItem___MzguO",waveDom:"waveDom___N1Yew",wave:"wave___UTqsO",select:"select___Yd9qe",selectWrap:"selectWrap___ddND4",masteryList:"masteryList___jQNpd",row:"row___h3q8Q",masteryHead:"masteryHead___B6Wcy",masteryBody:"masteryBody___DZSiT",dot:"dot___ZZ043"}},55301:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=Object.defineProperty,st=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Je=(He,pt,tt)=>pt in He?Oe(He,pt,{enumerable:!0,configurable:!0,writable:!0,value:tt}):He[pt]=tt,ye=(He,pt)=>{for(var tt in pt||(pt={}))yt.call(pt,tt)&&Je(He,tt,pt[tt]);if(st)for(var tt of st(pt))Qe.call(pt,tt)&&Je(He,tt,pt[tt]);return He};const Se=He=>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},He),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"}));Wn.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDMxOTQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjIzLjgyOCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik01MTIgMGgyMTcwLjg4YzI4Mi42MjQgMCA1MTIgMjI5LjM3NiA1MTIgNTEycy0yMjkuMzc2IDUxMi01MTIgNTEySDUxMkMyMjkuMzc2IDEwMjQgMCA3OTQuNjI0IDAgNTEyUzIyOS4zNzYgMCA1MTIgMHoiIGZpbGw9IiNFQkVFRkQiLz48cGF0aCBkPSJNMTYzOC40IDc0MS4zNzZjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQ1LjA1NlYyOTQuOTEyaC0zNi44NjR2MzkzLjIxNmMwIDE2LjM4NC04LjE5MiAyMC40OC0yMC40OCAyMC40OC0yNC41NzYgMC00NS4wNTYgMC03My43MjgtNC4wOTZsOC4xOTIgMzIuNzY4aDgxLjkyem0tMzcyLjczNi0yNTguMDQ4YzQ5LjE1Mi00NS4wNTYgOTAuMTEyLTk0LjIwOCAxMjYuOTc2LTE0Ny40NTYgMzIuNzY4IDMyLjc2OCA2OS42MzIgNzcuODI0IDExMC41OTIgMTM1LjE2OGwyNC41NzYtMjQuNTc2Yy00MC45Ni00OS4xNTItODEuOTItOTguMzA0LTEyMi44OC0xNDMuMzZoLTI0LjU3NmMtNDAuOTYgNTcuMzQ0LTgxLjkyIDExMC41OTItMTMxLjA3MiAxNTUuNjQ4bDE2LjM4NCAyNC41NzZ6bTMyMy41ODQgMTU5Ljc0NFYzMzkuOTY4aC0zMi43Njh2MzA3LjJoMzIuNzY4em0tMTMxLjA3MiA5NC4yMDhjMjQuNTc2IDAgMzYuODY0LTQuMDk2IDQ1LjA1Ni0xMi4yODhzMTYuMzg0LTM2Ljg2NCAyMC40OC03Ny44MjRsLTMyLjc2OC0xMi4yODhjMCAyOC42NzItNC4wOTYgNDUuMDU2LTguMTkyIDUzLjI0OHMtMTYuMzg0IDEyLjI4OC0zMi43NjggMTIuMjg4aC05OC4zMDRjLTEyLjI4OCAwLTIwLjQ4LTQuMDk2LTIwLjQ4LTE2LjM4NHYtMjA0LjhoMTA2LjQ5NnY5NC4yMDhjMCAxMi4yODgtOC4xOTIgMjAuNDgtMjAuNDggMjAuNDgtMTYuMzg0IDAtMzIuNzY4IDAtNDkuMTUyLTQuMDk2bDguMTkyIDMyLjc2OGg1My4yNDhjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQwLjk2VjQ1MC41NmgtMTc2LjEyOHYyNDUuNzZjMCAyNC41NzYgMTIuMjg4IDM2Ljg2NCA0MC45NiAzNi44NjRoMTIyLjg4em01ODUuNzI4LTUzLjI0OFY2MzQuODhoMTMxLjA3MnYtMjguNjcyaC0xMzEuMDcydi00MC45NmgxMTQuNjg4di0yOC42NzJoLTExNC42ODh2LTQwLjk2SDIxNTAuNHYtNjkuNjMyaDMyLjc2OHYtMjguNjcySDIxNTAuNFYzMjcuNjhoLTEwNi40OTZ2LTMyLjc2OGgtMzIuNzY4djMyLjc2OGgtODYuMDE2djI4LjY3Mmg4Ni4wMTZ2MzYuODY0aC0xMTAuNTkydjI4LjY3MmgxMTAuNTkydjQwLjk2aC04Ni4wMTZ2MjguNjcyaDg2LjAxNnY0MC45NmgtOTguMzA0djI4LjY3Mmg5OC4zMDR2NDAuOTZoLTExMC41OTJ2MjguNjcyaDExMC41OTJ2NDkuMTUyaDMyLjc2OHptLTI3MC4zMzYgNTcuMzQ0YzI0LjU3Ni0xNi4zODQgNDAuOTYtMzYuODY0IDU3LjM0NC02MS40NCA0LjA5NiA0LjA5NiAxMi4yODggOC4xOTIgMTYuMzg0IDEyLjI4OCAzNi44NjQgMjQuNTc2IDEwMi40IDM2Ljg2NCAxODguNDE2IDM2Ljg2NGgxNDcuNDU2bDQuMDk2LTMyLjc2OGMtNTcuMzQ0IDAtMTEwLjU5MiA0LjA5Ni0xNjcuOTM2IDQuMDk2LTY1LjUzNiAwLTExOC43ODQtMTIuMjg4LTE1MS41NTItMjguNjcyLTguMTkyLTQuMDk2LTE2LjM4NC0xMi4yODgtMjQuNTc2LTIwLjQ4IDI0LjU3Ni00NS4wNTYgMzYuODY0LTk4LjMwNCAzNi44NjQtMTYzLjg0di0yMC40OGgtNzcuODI0YzI0LjU3Ni0zMi43NjggNDkuMTUyLTczLjcyOCA3My43MjgtMTE4Ljc4NHYtMjguNjcySDE3NjEuMjh2MzIuNzY4aDgxLjkyYy0yNC41NzYgNDAuOTYtNDkuMTUyIDgxLjkyLTc3LjgyNCAxMTguNzg0djI4LjY3Mmg5MC4xMTJjLTQuMDk2IDQ1LjA1Ni0xMi4yODggODYuMDE2LTI4LjY3MiAxMjIuODgtMTIuMjg4LTIwLjQ4LTI0LjU3Ni00OS4xNTItMzIuNzY4LTg2LjAxNmwtMzIuNzY4IDEyLjI4OGMxMi4yODggNDAuOTYgMjguNjcyIDc3LjgyNCA0NS4wNTYgMTA2LjQ5Ni0xNi4zODQgMjQuNTc2LTM2Ljg2NCA0MC45Ni01Ny4zNDQgNTcuMzQ0bDI0LjU3NiAyOC42NzJ6bTMzOS45NjgtMzQ0LjA2NGgtNjkuNjMydi0zNi44NjRoNjkuNjMydjM2Ljg2NHptMCA2OS42MzJoLTY5LjYzMnYtNDAuOTZoNjkuNjMydjQwLjk2em0yNTMuOTUyIDI3OC41Mjh2LTIwLjQ4aDIxMi45OTJ2MjAuNDhoMzYuODY0VjUyNC4yODhoLTE4NC4zMmMyOC42NzItMTIuMjg4IDUzLjI0OC0yNC41NzYgNzcuODI0LTQwLjk2bDIwLjQ4LTEyLjI4OGgxNTEuNTUydi0zMi43NjhoLTEwNi40OTZjMzIuNzY4LTI0LjU3NiA2NS41MzYtNTcuMzQ0IDk0LjIwOC05MC4xMTJsLTMyLjc2OC0yMC40OGMtMzYuODY0IDQwLjk2LTczLjcyOCA3Ny44MjQtMTIyLjg4IDExMC41OTJoLTYxLjQ0di02MS40NGgxMTQuNjg4di0zMi43NjhoLTExNC42ODh2LTQ5LjE1MmgtMzYuODY0djUzLjI0OGgtMTM1LjE2OHYzMi43NjhoMTM1LjE2OHY1Ny4zNDRoLTE4MC4yMjR2MzIuNzY4aDIyNS4yOGMtNjkuNjMyIDQwLjk2LTE0Ny40NTYgNjkuNjMyLTIyOS4zNzYgOTAuMTEybDE2LjM4NCAzMi43NjhjMjguNjcyLTguMTkyIDU3LjM0NC0yMC40OCA4MS45Mi0yOC42NzJ2MTgwLjIyNGgzNi44NjR6bTIxMi45OTItMTM5LjI2NGgtMjEyLjk5MnYtNDkuMTUyaDIxMi45OTJ2NDkuMTUyem0wIDg2LjAxNmgtMjEyLjk5MnYtNTMuMjQ4aDIxMi45OTJ2NTMuMjQ4eiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik01NzMuNDQgMjA0LjhoMzI3LjY4YzkwLjExMiAwIDE2My44NCA3My43MjggMTYzLjg0IDE2My44NHYzMjcuNjhjMCA5MC4xMTItNzMuNzI4IDE2My44NC0xNjMuODQgMTYzLjg0SDU3My40NGMtOTAuMTEyIDAtMTYzLjg0LTczLjcyOC0xNjMuODQtMTYzLjg0VjM2OC42NGMwLTkwLjExMiA3My43MjgtMTYzLjg0IDE2My44NC0xNjMuODR6IiBmaWxsPSIjQzJEMEZGIi8+PHBhdGggZD0iTTg2OC4zNTIgNTgxLjYzMmM0LjA5NiAyNC41NzYgMTIuMjg4IDQ5LjE1MiAxNi4zODQgNjkuNjMyIDAgOC4xOTIgNC4wOTYgMTYuMzg0IDQuMDk2IDI0LjU3NnM0LjA5NiAxNi4zODQgNC4wOTYgMjQuNTc2IDQuMDk2IDEyLjI4OCA0LjA5NiAxNi4zODR2OC4xOTJjMCA4LjE5MiAwIDEyLjI4OC00LjA5NiAxMi4yODgtNC4wOTYgNC4wOTYtOC4xOTIgNC4wOTYtMTIuMjg4IDQuMDk2aC04LjE5MmMtNC4wOTYgMC00LjA5NiAwLTguMTkyLTQuMDk2TDczNy4yOCA2NjcuNjQ4Yy0yNC41NzYgMTIuMjg4LTQ1LjA1NiAyNC41NzYtNjEuNDQgMzYuODY0TDY1MS4yNjQgNzE2LjhjLTguMTkyIDQuMDk2LTE2LjM4NCA4LjE5Mi0yMC40OCAxMi4yODgtOC4xOTIgNC4wOTYtMTYuMzg0IDguMTkyLTIwLjQ4IDEyLjI4OHMtOC4xOTIgNC4wOTYtOC4xOTIgNC4wOTZjLTQuMDk2IDAtOC4xOTIgNC4wOTYtOC4xOTIgMC00LjA5NiAwLTguMTkyIDAtOC4xOTItNC4wOTYtNC4wOTYgMC00LjA5Ni00LjA5Ni00LjA5Ni04LjE5MnYtOC4xOTJzMC00LjA5NiA0LjA5Ni04LjE5MmMwLTQuMDk2IDQuMDk2LTEyLjI4OCA0LjA5Ni0xNi4zODQgMC04LjE5MiA0LjA5Ni0xNi4zODQgNC4wOTYtMjQuNTc2czQuMDk2LTE2LjM4NCA4LjE5Mi0yNC41NzZjNC4wOTYtMjAuNDggMTIuMjg4LTQ1LjA1NiAxNi4zODQtNjkuNjMyLTI0LjU3Ni0xNi4zODQtNDUuMDU2LTI4LjY3Mi01Ny4zNDQtNDUuMDU2LTguMTkyLTQuMDk2LTE2LjM4NC04LjE5Mi0yMC40OC0xNi4zODRzLTEyLjI4OC04LjE5Mi0xNi4zODQtMTIuMjg4UzUxMiA0OTkuNzEyIDUxMiA0OTUuNjE2Yy00LjA5Ni00LjA5Ni04LjE5Mi00LjA5Ni04LjE5Mi00LjA5Ni00LjA5Ni00LjA5Ni00LjA5Ni04LjE5Mi04LjE5Mi0xMi4yODhzLTQuMDk2LTguMTkyLTQuMDk2LTEyLjI4OCA0LjA5Ni04LjE5MiA0LjA5Ni0xMi4yODhjNC4wOTYgMCA4LjE5Mi00LjA5NiAxMi4yODgtNC4wOTZsMTUxLjU1Mi0xMi4yODhMNzE2LjggMzA3LjJjMC00LjA5NiA0LjA5Ni04LjE5MiA4LjE5Mi0xMi4yODggMC04LjE5MiA4LjE5Mi04LjE5MiAxMi4yODgtOC4xOTJzNC4wOTYgMCA4LjE5MiA0LjA5NmM0LjA5NiAwIDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2bDQuMDk2IDQuMDk2czAgNC4wOTYgNC4wOTYgNC4wOTZsNTMuMjQ4IDEzMS4wNzIgMTU1LjY0OCAxNi4zODRjOC4xOTIgMCAxMi4yODggNC4wOTYgMTIuMjg4IDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2IDguMTkyIDQuMDk2IDEyLjI4OHMwIDguMTkyLTQuMDk2IDEyLjI4OGwtMTIuMjg4IDEyLjI4OC05OC4zMDQgOTAuMTEyeiIgZmlsbD0iIzJFNUJFQyIvPjwvc3ZnPg=="},62041:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=Object.defineProperty,st=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Je=(He,pt,tt)=>pt in He?Oe(He,pt,{enumerable:!0,configurable:!0,writable:!0,value:tt}):He[pt]=tt,ye=(He,pt)=>{for(var tt in pt||(pt={}))yt.call(pt,tt)&&Je(He,tt,pt[tt]);if(st)for(var tt of st(pt))Qe.call(pt,tt)&&Je(He,tt,pt[tt]);return He};const Se=He=>React.createElement("svg",ye({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},He),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143z",fill:"#98BDF7"}),React.createElement("path",{d:"m248.686 803.182-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#145DFF"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#98BDF7"}));Wn.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},57712:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=Object.defineProperty,st=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Je=(He,pt,tt)=>pt in He?Oe(He,pt,{enumerable:!0,configurable:!0,writable:!0,value:tt}):He[pt]=tt,ye=(He,pt)=>{for(var tt in pt||(pt={}))yt.call(pt,tt)&&Je(He,tt,pt[tt]);if(st)for(var tt of st(pt))Qe.call(pt,tt)&&Je(He,tt,pt[tt]);return He};const Se=He=>React.createElement("svg",ye({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},He),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143zM248.686 803.182l-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#98BDF7"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#145DFF"}));Wn.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},75354: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 Bn={},Wn="5.0",ie={},ee=null,Oe=!1,st=!1,yt=null,Qe=!1,Je=null,ye=null,Se=0;Se4?parseFloat(It):5};Bn.setHTML5Codebase=function(It,Nt){ye=It,Gt(It,Nt)},Bn.setJavaCodebase=Bn.setJavaCodebaseVersion=Bn.isCompiledInstalled=Bn.setPreCompiledScriptPath=Bn.setPreCompiledResourcePath=function(){},Bn.setHTML5CodebaseVersion=function(It,Nt){var hr=parseFloat(It);if(hr!==NaN&&hr<5){console.log("The GeoGebra HTML5 codebase version "+hr+" is deprecated. Using version latest instead.");return}Je=It,Le(It,Nt)},Bn.getHTML5CodebaseVersion=function(){return ot},Bn.getParameters=function(){return ie},Bn.setFontsCSSURL=function(It){Ut=It},Bn.setGiacJSURL=function(It){},Bn.setJNLPFile=function(It){pt=It},Bn.setJNLPBaseDir=function(It){},Bn.inject=function(){function It(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var Nt="auto",hr=ie.id,ir,sn=!1,An=0;An=5)return!0;var It=Bn.getAppletObject();return It&&typeof It.recalculateEnvironments=="function"?(It.recalculateEnvironments(),!0):!1},Bn.startAnimation=function(){var It=Bn.getAppletObject();return It&&typeof It.startAnimation=="function"?(It.startAnimation(),!0):!1},Bn.stopAnimation=function(){var It=Bn.getAppletObject();return It&&typeof It.stopAnimation=="function"?(It.stopAnimation(),!0):!1},Bn.getAppletObject=function(){var It=ie.id!==void 0?ie.id:"ggbApplet";return window[It]},Bn.resize=function(){};var _t=function(It,Nt,hr){var ir=document.createElement("param");ir.setAttribute("name",Nt),ir.setAttribute("value",hr),It.appendChild(ir)},We=function(It){return It&&It!=="false"},Rt=function(It,Nt,hr){Mt(ot)<=4.2&&(hr=!0);var ir=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==ot||ggbHTML5LoadedCodebaseIsWebSimple&&!qe)&&(ir=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var sn=document.createElement("div");sn.classList.add("appletParameters","notranslate");var An=Nt.width,Cn=Nt.height;if(Nt.disableAutoScale=Nt.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():Nt.disableAutoScale,Nt.width!==void 0)if(Mt(ot)<=4.4)We(Nt.showToolBar)&&(Nt.height-=7),We(Nt.showAlgebraInput)&&(Nt.height-=37),Nt.width<605&&We(Nt.showToolBar)&&(Nt.width=605,An=605);else{var Pn=100;(We(Nt.showToolBar)||We(Nt.showMenuBar))&&(Nt.hasOwnProperty("customToolBar")&&(Nt.customToolbar=Nt.customToolBar),Pn=We(Nt.showMenuBar)?245:155),An=5?(Nt.appletOnLoad=function(Qt){var pr=It.querySelector(".ggb_preview");pr&&pr.parentNode.removeChild(pr),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(ve),window.GGBT_wsf_view&&$(window).trigger("resize"),Te(Qt)},he||ve.appendChild(we)):sn.appendChild(we),ve.appendChild(sn),he||It.appendChild(ve),setTimeout(function(){Bn.resize()},1)}else{var Re=document.createElement("div");Re.className="applet_scaler",Re.style.position="relative",Re.style.display="block",Re.appendChild(sn),It.appendChild(Re),Nt.appletOnLoad=function(Qt){Bn.resize(),Te(Qt)}}function fe(Qt,pr){pr&&typeof pr.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(Qt,pr.appletOnLoad):renderGGBElement(Qt),Cr("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",pr)}function wt(Qt,pr){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:Qt,params:pr}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(Vr){fe(Vr.article,Vr.params)}),html5AppletsToProcess=null)},Mt(ot)<5&&(Qt.className+=" geogebraweb")):fe(Qt,pr)}if(ir){scriptLoadStarted=!0;for(var en=0;en0?(Ln.remove(),ve.attr("id","fullscreencontent").show(),jQuery(Te).append(ve),window.dispatchEvent(new Event("resize"))):Rt(Ln,Nt,!1),window.GGBT_wsf_view.launchFullScreen(Te)}else ht=ir,Rt(It,Nt,!1);if(!window.GGBT_wsf_view)for(Cn=0;CnIt/4*3&&(Ln=It/4*3),Te=Ln/5.8,Pn.setAttribute("src",jt),Pn.setAttribute("width",Ln),Pn.setAttribute("height",Te);var ve=(It-Ln)/2,he=(Nt-Te)/2;Pn.style.left=ve+"px",Pn.style.top=he+"px",sn.appendChild(Pn)}}return sn.appendChild(Cn),sn},Dr=function(It){return It=It.toLowerCase(),It==="html5"||It==="screenshot"?It:"html5"},ft=["web","webSimple","web3d","tablet","tablet3d","phone"],Le=function(It,Nt){if(ot=It,Nt){Gt(ot,!0);return}var hr=!Oe;if(hr){var ir=Mt(ot);!isNaN(ir)&&ir<4.4&&(hr=!1)}var sn,An;window.location.protocol.substr(0,4)==="http"?sn=window.location.protocol:sn="http:";var Cn=ot.indexOf("//");Cn>0?An=ot:Cn===0?An=sn+ot:An="https://www.geogebra.org/apps/5.2.814.0/";for(var Pn in ft)if(ot.slice(ft[Pn].length*-1)===ft[Pn]||ot.slice((ft[Pn].length+1)*-1)===ft[Pn]+"/"){Gt(An,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&hr&&!ee.is3D&&!ee.AV&&!ee.SV&&!ee.CV&&!ee.EV2&&!ee.CP&&!ee.PC&&!ee.DA&&!ee.FI&&!ee.PV&&!We(ie.showToolBar)&&!We(ie.showMenuBar)&&!We(ie.showAlgebraInput)&&!We(ie.enableRightClick)&&(!ie.appName||ie.appName=="classic")?An+="webSimple/":An+="web3d/",Gt(An,!1)},Gt=function(It,Nt){if(It.requirejs){tt=It;return}It.slice(-1)!=="/"&&(It+="/"),tt=It,Nt===null&&(Nt=It.indexOf("http")===-1),ut=Nt,Fe="web.nocache.js",qe=!1;var hr=tt.split("/");hr.length>1&&(!Nt&&hr[hr.length-2]==="webSimple"?(Fe="webSimple.nocache.js",qe=!0):ft.indexOf(hr[hr.length-2])>=0&&(Fe=hr[hr.length-2]+".nocache.js")),hr=It.split("/"),ot=hr[hr.length-3],ot.substr(0,4)==="test"?ot=ot.substr(4,1)+"."+ot.substr(5,1):(ot.substr(0,3)==="war"||ot.substr(0,4)==="beta")&&(ot="5.0");var ir=parseFloat(ot);ir!==NaN&&ir<5&&It.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+ir+" is deprecated. Using version latest instead."),Le("5.0",Nt))},Cr=function(It,Nt){window.console&&window.console.log&&(!Nt||typeof Nt.showLogging=="undefined"||Nt.showLogging&&Nt.showLogging!=="false")&&console.log(It)};ie.material_id!==void 0?Nn(ur):ur();function ur(){var It=Wn;Je!==null?It=Je:parseFloat(It)<5&&(It="5.0"),Le(It,!1),ye!==null&&Gt(ye,ut),Qe=!0}return Bn},GGBAppletUtils=function(){"use strict";function Bn(){return window.GGBT_wsf_edit!==void 0}function Wn(Qe,Je){Je!=1?(Qe.style.transformOrigin="0% 0% 0px",Qe.style.webkitTransformOrigin="0% 0% 0px",Qe.style.transform="scale("+Je+","+Je+")",Qe.style.webkitTransform="scale("+Je+","+Je+")",Qe.style.maxWidth="initial",Qe.querySelector(".ggb_preview")!==null&&(Qe.querySelector(".ggb_preview").style.maxWidth="initial"),Qe.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Qe.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Qe.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Qe.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Qe.style.transform="none",Qe.style.webkitTransform="none")}function ie(Qe,Je,ye,Se,He,pt){var tt=null;if(pt!=null&&pt!="")for(var ut=Qe.parentNode;ut!=null;)if((" "+ut.className+" ").indexOf(" "+pt+" ")>-1){tt=ut;break}else ut=ut.parentNode;var ht=0,ot=0,Fe=0,qe=0,St=0,jt=0,Lt=0;if(tt)ht=tt.offsetWidth,ot=Math.max(Se?tt.offsetWidth:0,tt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(ht=Math.min(window.innerWidth,document.documentElement.clientWidth),ot=Math.min(window.innerHeight,document.documentElement.clientHeight),Fe=ht):(ht=window.innerWidth,ot=window.innerHeight,Fe=window.innerWidth),Qe){var Ut=Qe.getBoundingClientRect();Ut.left>0&&Ut.left<=ht&&(He===void 0||!He)&&(document.dir==="rtl"?(St=ht-Ut.width-Ut.left,jt=Fe<=480?10:30):(jt=Ut.left,St=Fe<=480?10:30),qe=jt+St)}if(Qe&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var At=Qe.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(qe=40,Lt=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(qe=0,Lt=40)}}return Qe&&((ye===void 0||!ye)&&Je>0&&Je+qe1&&(pt=!0)),Je&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(pt=!0),!(Qe.hasOwnProperty("disableAutoScale")&&Qe.disableAutoScale))He=ee(Qe,Je,pt,ye,Qe.scaleContainerClass);else return Se;return pt&&(!Qe.hasOwnProperty("scale")||Se===1)?He:Math.min(Se,He)}function st(Qe){var Je=Math.min(window.innerWidth,document.documentElement.clientWidth),ye=Math.min(window.innerHeight,document.documentElement.clientHeight),Se=Qe.getBoundingClientRect(),He=(Je-Se.width)/2,pt=(ye-Se.height)/2;pt<0&&(pt=0),Qe.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(He<40?Qe.style.left="40px":Qe.style.left=He+"px",Qe.style.top=pt+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(pt<40?Qe.style.top="40px":Qe.style.top=pt+"px",Qe.style.left=He+"px")}function yt(Qe,Je){var ye=Qe.querySelector(".appletParameters");if(ye){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Je.id!==ye.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Qe)}if(ye.parentElement&&/fullscreen/.test(ye.parentElement.className))return;var Se=Oe(Je,Qe);Bn()&&ye.setAttribute("data-param-scale",Se);for(var He=null,pt=0;pt=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(Bn){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Bn){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Bn){var Wn=c[Bn];return Wn==null?null:Wn},r=d,webModule.__errFn=e}function B(){function Bn(Qe){var Je=Qe.lastIndexOf(rb);Je==-1&&(Je=Qe.length);var ye=Qe.indexOf(sb);ye==-1&&(ye=Qe.length);var Se=Qe.lastIndexOf(tb,Math.min(ye,Je));return Se>=O?Qe.substring(O,Se+P):W}function Wn(Qe){if(!Qe.match(/^\w+:\/\//)){var Je=o.createElement(ub);Je.src=Qe+vb,Qe=Bn(Je.src)}return Qe}function ie(){var Qe=__gwt_getMetaProperty(wb);return Qe!=null?Qe:W}function ee(){for(var Qe=o.getElementsByTagName(_),Je=O;JeO?Qe[Qe.length-P].href:W}function st(){var Qe=o.location;return Qe.href==Qe.protocol+zb+Qe.host+Qe.pathname+Qe.search+Qe.hash}var yt=ie();return yt==W&&(yt=ee()),yt==W&&(yt=Oe()),yt==W&&st()&&(yt=Bn(o.location.href)),yt=Wn(yt),yt}function C(Bn){return Bn.match(/^\//)||Bn.match(/^[a-zA-Z]+:\/\//)?Bn:webModule.__moduleBase+Bn}function D(){var Bn=[],Wn=O,ie=[],ee=[];function Oe(Qe){var Je=ee[Qe](),ye=ie[Qe];if(Je in ye)return Je;var Se=[];for(var He in ye)Se[ye[He]]=He;throw r&&r(Qe,Se,Je),null}if(__gwt_isKnownPropertyValue=function(Qe,Je){return Je in ie[Qe]},webModule.__getPropMap=function(){var Qe={};for(var Je in ie)ie.hasOwnProperty(Je)&&(Qe[Je]=Oe(Je));return Qe},webModule.__computePropValue=Oe,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var st;try{st=Cb;var yt=st.indexOf(Db);yt!=-1&&(Wn=parseInt(st.substring(yt+P),$),st=st.substring(O,yt))}catch(Qe){}return webModule.__softPermutationId=Wn,C(st+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})()},44071:function(Bn,Wn){var ie=(ee,Oe,st)=>new Promise((yt,Qe)=>{var Je=He=>{try{Se(st.next(He))}catch(pt){Qe(pt)}},ye=He=>{try{Se(st.throw(He))}catch(pt){Qe(pt)}},Se=He=>He.done?yt(He.value):Promise.resolve(He.value).then(Je,ye);Se((st=st.apply(ee,Oe)).next())});(function(ee,Oe){Oe(Wn)})(this,function(ee){"use strict";var Oe={value:()=>{}};function st(){for(var ae,de=0,pe=arguments.length,xe={};de=0&&(xe=pe.slice(ke+1),pe=pe.slice(0,ke)),pe&&!de.hasOwnProperty(pe))throw new Error("unknown type: "+pe);return{type:pe,name:xe}})}function Je(ae,de){for(var pe,xe=0,ke=ae.length;xe0)for(var pe,xe,ke=new Array(pe),ze=0;ze=0&&(de=ae.slice(0,pe))!=="xmlns"&&(ae=ae.slice(pe+1)),He.hasOwnProperty(de)?{space:He[de],local:ae}:ae}function tt(ae){return function(){var de=this.ownerDocument,pe=this.namespaceURI;return pe===Se&&de.documentElement.namespaceURI===Se?de.createElement(ae):de.createElementNS(pe,ae)}}function ut(ae){return function(){return this.ownerDocument.createElementNS(ae.space,ae.local)}}function ht(ae){var de=pt(ae);return(de.local?ut:tt)(de)}function ot(){}function Fe(ae){return ae==null?ot:function(){return this.querySelector(ae)}}function qe(ae){return ae==null?[]:Array.isArray(ae)?ae:Array.from(ae)}function St(){return[]}function jt(ae){return ae==null?St:function(){return this.querySelectorAll(ae)}}function Lt(ae){return function(){return this.matches(ae)}}function Ut(ae){return function(de){return de.matches(ae)}}var At=Array.prototype.find;function Mt(){return this.firstElementChild}var je=Array.prototype.filter;function gn(){return Array.from(this.children)}function Nn(ae){return new Array(ae.length)}function rn(ae,de){this.ownerDocument=ae.ownerDocument,this.namespaceURI=ae.namespaceURI,this._next=null,this._parent=ae,this.__data__=de}function Et(ae){return function(){return ae}}function _t(ae,de,pe,xe,ke,ze){for(var Ye,Ke=0,ct=de.length,rt=ze.length;Kede?1:ae>=de?0:NaN}function ln(ae){return function(){this.removeAttribute(ae)}}function tn(ae){return function(){this.removeAttributeNS(ae.space,ae.local)}}function lr(ae,de){return function(){this.setAttribute(ae,de)}}function Dr(ae,de){return function(){this.setAttributeNS(ae.space,ae.local,de)}}function ft(ae,de){return function(){var pe=de.apply(this,arguments);pe==null?this.removeAttribute(ae):this.setAttribute(ae,pe)}}function Le(ae,de){return function(){var pe=de.apply(this,arguments);pe==null?this.removeAttributeNS(ae.space,ae.local):this.setAttributeNS(ae.space,ae.local,pe)}}function Gt(ae){return ae.ownerDocument&&ae.ownerDocument.defaultView||ae.document&&ae||ae.defaultView}function Cr(ae){return function(){this.style.removeProperty(ae)}}function ur(ae,de,pe){return function(){this.style.setProperty(ae,de,pe)}}function It(ae,de,pe){return function(){var xe=de.apply(this,arguments);xe==null?this.style.removeProperty(ae):this.style.setProperty(ae,xe,pe)}}function Nt(ae,de){return ae.style.getPropertyValue(de)||Gt(ae).getComputedStyle(ae,null).getPropertyValue(de)}function hr(ae){return function(){delete this[ae]}}function ir(ae,de){return function(){this[ae]=de}}function sn(ae,de){return function(){var pe=de.apply(this,arguments);pe==null?delete this[ae]:this[ae]=pe}}function An(ae){return ae.trim().split(/^|\s+/)}function Cn(ae){return ae.classList||new Pn(ae)}function Pn(ae){this._node=ae,this._names=An(ae.getAttribute("class")||"")}function Ln(ae,de){for(var pe=Cn(ae),xe=-1,ke=de.length;++xe=0&&(pe=de.slice(xe+1),de=de.slice(0,xe)),{type:de,name:pe}})}function ei(ae){return function(){var de=this.__on;if(de){for(var pe,xe=0,ke=-1,ze=de.length;xe=0&&(this._names.splice(de,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(ae){return this._names.indexOf(ae)>=0}};var nr=[null];function Jr(ae,de){this._groups=ae,this._parents=de}function Ii(){return new Jr([[document.documentElement]],nr)}function ii(ae){return typeof ae=="string"?new Jr([[document.querySelector(ae)]],[document.documentElement]):new Jr([[ae]],nr)}function ea(ae,de){if(ae=function(ze){let Ye;for(;Ye=ze.sourceEvent;)ze=Ye;return ze}(ae),de===void 0&&(de=ae.currentTarget),de){var pe=de.ownerSVGElement||de;if(pe.createSVGPoint){var xe=pe.createSVGPoint();return xe.x=ae.clientX,xe.y=ae.clientY,[(xe=xe.matrixTransform(de.getScreenCTM().inverse())).x,xe.y]}if(de.getBoundingClientRect){var ke=de.getBoundingClientRect();return[ae.clientX-ke.left-de.clientLeft,ae.clientY-ke.top-de.clientTop]}}return[ae.pageX,ae.pageY]}Jr.prototype=Ii.prototype={constructor:Jr,select:function(ae){typeof ae!="function"&&(ae=Fe(ae));for(var de=this._groups,pe=de.length,xe=new Array(pe),ke=0;ke=xa&&(xa=ti+1);!(Mr=cn[xa])&&++xa=0;)(xe=ke[ze])&&(Ye&&4^xe.compareDocumentPosition(Ye)&&Ye.parentNode.insertBefore(xe,Ye),Ye=xe);return this},sort:function(ae){function de(Xt,Bt){return Xt&&Bt?ae(Xt.__data__,Bt.__data__):!Xt-!Bt}ae||(ae=dn);for(var pe=this._groups,xe=pe.length,ke=new Array(xe),ze=0;ze1?this.each((de==null?Cr:typeof de=="function"?It:ur)(ae,de,pe==null?"":pe)):Nt(this.node(),ae)},property:function(ae,de){return arguments.length>1?this.each((de==null?hr:typeof de=="function"?sn:ir)(ae,de)):this.node()[ae]},classed:function(ae,de){var pe=An(ae+"");if(arguments.length<2){for(var xe=Cn(this.node()),ke=-1,ze=pe.length;++ke()=>ae;function Na(ae,{sourceEvent:de,subject:pe,target:xe,identifier:ke,active:ze,x:Ye,y:Ke,dx:ct,dy:rt,dispatch:Ct}){Object.defineProperties(this,{type:{value:ae,enumerable:!0,configurable:!0},sourceEvent:{value:de,enumerable:!0,configurable:!0},subject:{value:pe,enumerable:!0,configurable:!0},target:{value:xe,enumerable:!0,configurable:!0},identifier:{value:ke,enumerable:!0,configurable:!0},active:{value:ze,enumerable:!0,configurable:!0},x:{value:Ye,enumerable:!0,configurable:!0},y:{value:Ke,enumerable:!0,configurable:!0},dx:{value:ct,enumerable:!0,configurable:!0},dy:{value:rt,enumerable:!0,configurable:!0},_:{value:Ct}})}function Br(ae){return!ae.ctrlKey&&!ae.button}function Tn(){return this.parentNode}function Fr(ae,de){return de==null?{x:ae.x,y:ae.y}:de}function ki(){return navigator.maxTouchPoints||"ontouchstart"in this}function Vt(ae,de,pe){ae.prototype=de.prototype=pe,pe.constructor=ae}function Vn(ae,de){var pe=Object.create(ae.prototype);for(var xe in de)pe[xe]=de[xe];return pe}function wr(){}Na.prototype.on=function(){var ae=this._.on.apply(this._,arguments);return ae===this._?this:ae};var Yn=.7,Pr=1/Yn,br="\\s*([+-]?\\d+)\\s*",kr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",vi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",at=/^#([0-9a-f]{3,8})$/,De=new RegExp(`^rgb\\(${br},${br},${br}\\)$`),nt=new RegExp(`^rgb\\(${vi},${vi},${vi}\\)$`),Ot=new RegExp(`^rgba\\(${br},${br},${br},${kr}\\)$`),xn=new RegExp(`^rgba\\(${vi},${vi},${vi},${kr}\\)$`),wn=new RegExp(`^hsl\\(${kr},${vi},${vi}\\)$`),gr=new RegExp(`^hsla\\(${kr},${vi},${vi},${kr}\\)$`),Ar={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 fr(){return this.rgb().formatHex()}function vr(){return this.rgb().formatRgb()}function qr(ae){var de,pe;return ae=(ae+"").trim().toLowerCase(),(de=at.exec(ae))?(pe=de[1].length,de=parseInt(de[1],16),pe===6?Xi(de):pe===3?new Kt(de>>8&15|de>>4&240,de>>4&15|240&de,(15&de)<<4|15&de,1):pe===8?Nr(de>>24&255,de>>16&255,de>>8&255,(255&de)/255):pe===4?Nr(de>>12&15|de>>8&240,de>>8&15|de>>4&240,de>>4&15|240&de,((15&de)<<4|15&de)/255):null):(de=De.exec(ae))?new Kt(de[1],de[2],de[3],1):(de=nt.exec(ae))?new Kt(255*de[1]/100,255*de[2]/100,255*de[3]/100,1):(de=Ot.exec(ae))?Nr(de[1],de[2],de[3],de[4]):(de=xn.exec(ae))?Nr(255*de[1]/100,255*de[2]/100,255*de[3]/100,de[4]):(de=wn.exec(ae))?jr(de[1],de[2]/100,de[3]/100,1):(de=gr.exec(ae))?jr(de[1],de[2]/100,de[3]/100,de[4]):Ar.hasOwnProperty(ae)?Xi(Ar[ae]):ae==="transparent"?new Kt(NaN,NaN,NaN,0):null}function Xi(ae){return new Kt(ae>>16&255,ae>>8&255,255&ae,1)}function Nr(ae,de,pe,xe){return xe<=0&&(ae=de=pe=NaN),new Kt(ae,de,pe,xe)}function Gn(ae){return ae instanceof wr||(ae=qr(ae)),ae?new Kt((ae=ae.rgb()).r,ae.g,ae.b,ae.opacity):new Kt}function Fn(ae,de,pe,xe){return arguments.length===1?Gn(ae):new Kt(ae,de,pe,xe==null?1:xe)}function Kt(ae,de,pe,xe){this.r=+ae,this.g=+de,this.b=+pe,this.opacity=+xe}function Mn(){return`#${$n(this.r)}${$n(this.g)}${$n(this.b)}`}function zn(){const ae=Jn(this.opacity);return`${ae===1?"rgb(":"rgba("}${xr(this.r)}, ${xr(this.g)}, ${xr(this.b)}${ae===1?")":`, ${ae})`}`}function Jn(ae){return isNaN(ae)?1:Math.max(0,Math.min(1,ae))}function xr(ae){return Math.max(0,Math.min(255,Math.round(ae)||0))}function $n(ae){return((ae=xr(ae))<16?"0":"")+ae.toString(16)}function jr(ae,de,pe,xe){return xe<=0?ae=de=pe=NaN:pe<=0||pe>=1?ae=de=NaN:de<=0&&(ae=NaN),new ni(ae,de,pe,xe)}function pn(ae){if(ae instanceof ni)return new ni(ae.h,ae.s,ae.l,ae.opacity);if(ae instanceof wr||(ae=qr(ae)),!ae)return new ni;if(ae instanceof ni)return ae;var de=(ae=ae.rgb()).r/255,pe=ae.g/255,xe=ae.b/255,ke=Math.min(de,pe,xe),ze=Math.max(de,pe,xe),Ye=NaN,Ke=ze-ke,ct=(ze+ke)/2;return Ke?(Ye=de===ze?(pe-xe)/Ke+6*(pe0&&ct<1?0:Ye,new ni(Ye,Ke,ct,ae.opacity)}function ni(ae,de,pe,xe){this.h=+ae,this.s=+de,this.l=+pe,this.opacity=+xe}function Ai(ae){return(ae=(ae||0)%360)<0?ae+360:ae}function Ni(ae){return Math.max(0,Math.min(1,ae||0))}function bi(ae,de,pe){return 255*(ae<60?de+(pe-de)*ae/60:ae<180?pe:ae<240?de+(pe-de)*(240-ae)/60:de)}Vt(wr,qr,{copy(ae){return Object.assign(new this.constructor,this,ae)},displayable(){return this.rgb().displayable()},hex:fr,formatHex:fr,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return pn(this).formatHsl()},formatRgb:vr,toString:vr}),Vt(Kt,Fn,Vn(wr,{brighter(ae){return ae=ae==null?Pr:Math.pow(Pr,ae),new Kt(this.r*ae,this.g*ae,this.b*ae,this.opacity)},darker(ae){return ae=ae==null?Yn:Math.pow(Yn,ae),new Kt(this.r*ae,this.g*ae,this.b*ae,this.opacity)},rgb(){return this},clamp(){return new Kt(xr(this.r),xr(this.g),xr(this.b),Jn(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:Mn,formatHex:Mn,formatHex8:function(){return`#${$n(this.r)}${$n(this.g)}${$n(this.b)}${$n(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:zn,toString:zn})),Vt(ni,function(ae,de,pe,xe){return arguments.length===1?pn(ae):new ni(ae,de,pe,xe==null?1:xe)},Vn(wr,{brighter(ae){return ae=ae==null?Pr:Math.pow(Pr,ae),new ni(this.h,this.s,this.l*ae,this.opacity)},darker(ae){return ae=ae==null?Yn:Math.pow(Yn,ae),new ni(this.h,this.s,this.l*ae,this.opacity)},rgb(){var ae=this.h%360+360*(this.h<0),de=isNaN(ae)||isNaN(this.s)?0:this.s,pe=this.l,xe=pe+(pe<.5?pe:1-pe)*de,ke=2*pe-xe;return new Kt(bi(ae>=240?ae-240:ae+120,ke,xe),bi(ae,ke,xe),bi(ae<120?ae+240:ae-120,ke,xe),this.opacity)},clamp(){return new ni(Ai(this.h),Ni(this.s),Ni(this.l),Jn(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 ae=Jn(this.opacity);return`${ae===1?"hsl(":"hsla("}${Ai(this.h)}, ${100*Ni(this.s)}%, ${100*Ni(this.l)}%${ae===1?")":`, ${ae})`}`}}));var Ji=ae=>()=>ae;function fa(ae){return(ae=+ae)==1?oa:function(de,pe){return pe-de?function(xe,ke,ze){return xe=Math.pow(xe,ze),ke=Math.pow(ke,ze)-xe,ze=1/ze,function(Ye){return Math.pow(xe+Ye*ke,ze)}}(de,pe,ae):Ji(isNaN(de)?pe:de)}}function oa(ae,de){var pe=de-ae;return pe?function(xe,ke){return function(ze){return xe+ze*ke}}(ae,pe):Ji(isNaN(ae)?de:ae)}var ji=function ae(de){var pe=fa(de);function xe(ke,ze){var Ye=pe((ke=Fn(ke)).r,(ze=Fn(ze)).r),Ke=pe(ke.g,ze.g),ct=pe(ke.b,ze.b),rt=oa(ke.opacity,ze.opacity);return function(Ct){return ke.r=Ye(Ct),ke.g=Ke(Ct),ke.b=ct(Ct),ke.opacity=rt(Ct),ke+""}}return xe.gamma=ae,xe}(1);function Qa(ae,de){de||(de=[]);var pe,xe=ae?Math.min(de.length,ae.length):0,ke=de.slice();return function(ze){for(pe=0;peze&&(ke=de.slice(ze,ke),Ke[Ye]?Ke[Ye]+=ke:Ke[++Ye]=ke),(pe=pe[0])===(xe=xe[0])?Ke[Ye]?Ke[Ye]+=xe:Ke[++Ye]=xe:(Ke[++Ye]=null,ct.push({i:Ye,x:ma(pe,xe)})),ze=Qo.lastIndex;return ze180?Ct+=360:Ct-rt>180&&(rt+=360),Bt.push({i:Xt.push(ke(Xt)+"rotate(",null,xe)-2,x:ma(rt,Ct)})):Ct&&Xt.push(ke(Xt)+"rotate("+Ct+xe)}(ze.rotate,Ye.rotate,Ke,ct),function(rt,Ct,Xt,Bt){rt!==Ct?Bt.push({i:Xt.push(ke(Xt)+"skewX(",null,xe)-2,x:ma(rt,Ct)}):Ct&&Xt.push(ke(Xt)+"skewX("+Ct+xe)}(ze.skewX,Ye.skewX,Ke,ct),function(rt,Ct,Xt,Bt,Sn,Zt){if(rt!==Xt||Ct!==Bt){var nn=Sn.push(ke(Sn)+"scale(",null,",",null,")");Zt.push({i:nn-4,x:ma(rt,Xt)},{i:nn-2,x:ma(Ct,Bt)})}else Xt===1&&Bt===1||Sn.push(ke(Sn)+"scale("+Xt+","+Bt+")")}(ze.scaleX,ze.scaleY,Ye.scaleX,Ye.scaleY,Ke,ct),ze=Ye=null,function(rt){for(var Ct,Xt=-1,Bt=ct.length;++Xt=0&&de._call.call(void 0,ae),de=de._next;--nl})()}finally{nl=0,function(){for(var ae,de,pe=Li,xe=1/0;pe;)pe._call?(xe>pe._time&&(xe=pe._time),ae=pe,pe=pe._next):(de=pe._next,pe._next=null,pe=ae?ae._next=de:Li=de);xo=ae,zu(xe)}(),Sa=0}}function Ws(){var ae=pl.now(),de=ae-ra;de>1e3&&(Fl-=de,ra=ae)}function zu(ae){nl||(Ul&&(Ul=clearTimeout(Ul)),ae-Sa>24?(ae<1/0&&(Ul=setTimeout($s,ae-pl.now()-Fl)),wl&&(wl=clearInterval(wl))):(wl||(ra=pl.now(),wl=setInterval(Ws,1e3)),nl=1,su($s)))}function xu(ae,de,pe){var xe=new _s;return de=de==null?0:+de,xe.restart(ke=>{xe.stop(),ae(ke+de)},de,pe),xe}_s.prototype=Ls.prototype={constructor:_s,restart:function(ae,de,pe){if(typeof ae!="function")throw new TypeError("callback is not a function");pe=(pe==null?Qs():+pe)+(de==null?0:+de),this._next||xo===this||(xo?xo._next=this:Li=this,xo=this),this._call=ae,this._time=pe,zu()},stop:function(){this._call&&(this._call=null,this._time=1/0,zu())}};var $a=st("start","end","cancel","interrupt"),Za=[];function Ma(ae,de,pe,xe,ke,ze){var Ye=ae.__transition;if(Ye){if(pe in Ye)return}else ae.__transition={};(function(Ke,ct,rt){var Ct,Xt=Ke.__transition;function Bt(cn){rt.state=1,rt.timer.restart(Sn,rt.delay,rt.time),rt.delay<=cn&&Sn(cn-rt.delay)}function Sn(cn){var on,bn,Mr,ti;if(rt.state!==1)return nn();for(on in Xt)if((ti=Xt[on]).name===rt.name){if(ti.state===3)return xu(Sn);ti.state===4?(ti.state=6,ti.timer.stop(),ti.on.call("interrupt",Ke,Ke.__data__,ti.index,ti.group),delete Xt[on]):+on0)throw new Error("too late; already scheduled");return pe}function Vo(ae,de){var pe=Sl(ae,de);if(pe.state>3)throw new Error("too late; already running");return pe}function Sl(ae,de){var pe=ae.__transition;if(!pe||!(pe=pe[de]))throw new Error("transition not found");return pe}function ds(ae,de){var pe,xe,ke,ze=ae.__transition,Ye=!0;if(ze){for(ke in de=de==null?null:de+"",ze)(pe=ze[ke]).name===de?(xe=pe.state>2&&pe.state<5,pe.state=6,pe.timer.stop(),pe.on.call(xe?"interrupt":"cancel",ae,ae.__data__,pe.index,pe.group),delete ze[ke]):Ye=!1;Ye&&delete ae.__transition}}function bs(ae,de){var pe,xe;return function(){var ke=Vo(this,ae),ze=ke.tween;if(ze!==pe){for(var Ye=0,Ke=(xe=pe=ze).length;Ye=0&&(Ke=Ke.slice(0,ct)),!Ke||Ke==="start"})}(de)?an:Vo;return function(){var Ye=ze(this,ae),Ke=Ye.on;Ke!==xe&&(ke=(xe=Ke).copy()).on(de,pe),Ye.on=ke}}var Di=Ii.prototype.constructor;function go(ae){return function(){this.style.removeProperty(ae)}}function Yl(ae,de,pe){return function(xe){this.style.setProperty(ae,de.call(this,xe),pe)}}function Zi(ae,de,pe){var xe,ke;function ze(){var Ye=de.apply(this,arguments);return Ye!==ke&&(xe=(ke=Ye)&&Yl(ae,Ye,pe)),xe}return ze._value=de,ze}function Va(ae){return function(de){this.textContent=ae.call(this,de)}}function ci(ae){var de,pe;function xe(){var ke=ae.apply(this,arguments);return ke!==pe&&(de=(pe=ke)&&Va(ke)),de}return xe._value=ae,xe}var rl=0;function Ka(ae,de,pe,xe){this._groups=ae,this._parents=de,this._name=pe,this._id=xe}function ul(){return++rl}var ls=Ii.prototype;Ka.prototype={constructor:Ka,select:function(ae){var de=this._name,pe=this._id;typeof ae!="function"&&(ae=Fe(ae));for(var xe=this._groups,ke=xe.length,ze=new Array(ke),Ye=0;Ye=(ze=(nn+on)/2))?nn=ze:on=ze,(Ct=pe>=(Ye=(cn+bn)/2))?cn=Ye:bn=Ye,ke=Sn,!(Sn=Sn[Xt=Ct<<1|rt]))return ke[Xt]=Zt,ae;if(Ke=+ae._x.call(null,Sn.data),ct=+ae._y.call(null,Sn.data),de===Ke&&pe===ct)return Zt.next=Sn,ke?ke[Xt]=Zt:ae._root=Zt,ae;do ke=ke?ke[Xt]=new Array(4):ae._root=new Array(4),(rt=de>=(ze=(nn+on)/2))?nn=ze:on=ze,(Ct=pe>=(Ye=(cn+bn)/2))?cn=Ye:bn=Ye;while((Xt=Ct<<1|rt)==(Bt=(ct>=Ye)<<1|Ke>=ze));return ke[Bt]=Sn,ke[Xt]=Zt,ae}function ql(ae,de,pe,xe,ke){this.node=ae,this.x0=de,this.y0=pe,this.x1=xe,this.y1=ke}function ru(ae){return ae[0]}function Mu(ae){return ae[1]}function Fo(ae,de,pe){var xe=new fs(de==null?ru:de,pe==null?Mu:pe,NaN,NaN,NaN,NaN);return ae==null?xe:xe.addAll(ae)}function fs(ae,de,pe,xe,ke,ze){this._x=ae,this._y=de,this._x0=pe,this._y0=xe,this._x1=ke,this._y1=ze,this._root=void 0}function Kl(ae){for(var de={data:ae.data},pe=de;ae=ae.next;)pe=pe.next={data:ae.data};return de}wo.prototype=La.prototype={constructor:wo,moveTo:function(ae,de){this._+="M"+(this._x0=this._x1=+ae)+","+(this._y0=this._y1=+de)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(ae,de){this._+="L"+(this._x1=+ae)+","+(this._y1=+de)},quadraticCurveTo:function(ae,de,pe,xe){this._+="Q"+ +ae+","+ +de+","+(this._x1=+pe)+","+(this._y1=+xe)},bezierCurveTo:function(ae,de,pe,xe,ke,ze){this._+="C"+ +ae+","+ +de+","+ +pe+","+ +xe+","+(this._x1=+ke)+","+(this._y1=+ze)},arcTo:function(ae,de,pe,xe,ke){ae=+ae,de=+de,pe=+pe,xe=+xe,ke=+ke;var ze=this._x1,Ye=this._y1,Ke=pe-ae,ct=xe-de,rt=ze-ae,Ct=Ye-de,Xt=rt*rt+Ct*Ct;if(ke<0)throw new Error("negative radius: "+ke);if(this._x1===null)this._+="M"+(this._x1=ae)+","+(this._y1=de);else if(Xt>Ps)if(Math.abs(Ct*Ke-ct*rt)>Ps&&ke){var Bt=pe-ze,Sn=xe-Ye,Zt=Ke*Ke+ct*ct,nn=Bt*Bt+Sn*Sn,cn=Math.sqrt(Zt),on=Math.sqrt(Xt),bn=ke*Math.tan((il-Math.acos((Zt+Xt-nn)/(2*cn*on)))/2),Mr=bn/on,ti=bn/cn;Math.abs(Mr-1)>Ps&&(this._+="L"+(ae+Mr*rt)+","+(de+Mr*Ct)),this._+="A"+ke+","+ke+",0,0,"+ +(Ct*Bt>rt*Sn)+","+(this._x1=ae+ti*Ke)+","+(this._y1=de+ti*ct)}else this._+="L"+(this._x1=ae)+","+(this._y1=de)},arc:function(ae,de,pe,xe,ke,ze){ae=+ae,de=+de,ze=!!ze;var Ye=(pe=+pe)*Math.cos(xe),Ke=pe*Math.sin(xe),ct=ae+Ye,rt=de+Ke,Ct=1^ze,Xt=ze?xe-ke:ke-xe;if(pe<0)throw new Error("negative radius: "+pe);this._x1===null?this._+="M"+ct+","+rt:(Math.abs(this._x1-ct)>Ps||Math.abs(this._y1-rt)>Ps)&&(this._+="L"+ct+","+rt),pe&&(Xt<0&&(Xt=Xt%Hl+Hl),Xt>ps?this._+="A"+pe+","+pe+",0,1,"+Ct+","+(ae-Ye)+","+(de-Ke)+"A"+pe+","+pe+",0,1,"+Ct+","+(this._x1=ct)+","+(this._y1=rt):Xt>Ps&&(this._+="A"+pe+","+pe+",0,"+ +(Xt>=il)+","+Ct+","+(this._x1=ae+pe*Math.cos(ke))+","+(this._y1=de+pe*Math.sin(ke))))},rect:function(ae,de,pe,xe){this._+="M"+(this._x0=this._x1=+ae)+","+(this._y0=this._y1=+de)+"h"+ +pe+"v"+ +xe+"h"+-pe+"Z"},toString:function(){return this._}};var Fs=Fo.prototype=fs.prototype;function eo(ae){return function(){return ae}}function Bo(ae){return 1e-6*(ae()-.5)}function As(ae){return ae.x+ae.vx}function Ku(ae){return ae.y+ae.vy}function Gr(ae){return ae.index}function Ds(ae,de){var pe=ae.get(de);if(!pe)throw new Error("node not found: "+de);return pe}function Ql(ae){var de,pe,xe,ke,ze,Ye,Ke=Gr,ct=function(nn){return 1/Math.min(ke[nn.source.index],ke[nn.target.index])},rt=eo(30),Ct=1;function Xt(nn){for(var cn=0,on=ae.length;cn[Ke(ti,xa,xe),ti]));for(nn=0,ke=new Array(on);nnCt&&(Ct=xe),keXt&&(Xt=ke));if(ct>Ct||rt>Xt)return this;for(this.cover(ct,rt).cover(Ct,Xt),pe=0;peae||ae>=ke||xe>de||de>=ze;)switch(Ke=(deBt||(ze=ct.y0)>Sn||(Ye=ct.x1)=on)<<1|ae>=cn)&&(ct=Zt[Zt.length-1],Zt[Zt.length-1]=Zt[Zt.length-1-rt],Zt[Zt.length-1-rt]=ct)}else{var bn=ae-+this._x.call(null,nn.data),Mr=de-+this._y.call(null,nn.data),ti=bn*bn+Mr*Mr;if(ti=(Ke=(Zt+cn)/2))?Zt=Ke:cn=Ke,(Ct=Ye>=(ct=(nn+on)/2))?nn=ct:on=ct,de=Sn,!(Sn=Sn[Xt=Ct<<1|rt]))return this;if(!Sn.length)break;(de[Xt+1&3]||de[Xt+2&3]||de[Xt+3&3])&&(pe=de,Bt=Xt)}for(;Sn.data!==ae;)if(xe=Sn,!(Sn=Sn.next))return this;return(ke=Sn.next)&&delete Sn.next,xe?(ke?xe.next=ke:delete xe.next,this):de?(ke?de[Xt]=ke:delete de[Xt],(Sn=de[0]||de[1]||de[2]||de[3])&&Sn===(de[3]||de[2]||de[1]||de[0])&&!Sn.length&&(pe?pe[Bt]=Sn:this._root=Sn),this):(this._root=ke,this)},Fs.removeAll=function(ae){for(var de=0,pe=ae.length;de(nn=(1664525*nn+1013904223)%wu)/wu}();function Xt(){Bt(),rt.call("tick",de),pe1?(cn==null?Ke.delete(nn):Ke.set(nn,Zt(cn)),de):Ke.get(nn)},find:function(nn,cn,on){var bn,Mr,ti,xa,ui,ka=0,Xa=ae.length;for(on==null?on=1/0:on*=on,ka=0;ka1?(rt.on(nn,cn),de):rt.on(nn)}}}function Ro(ae){return function(){return ae}}const hs=Math.abs,xs=Math.atan2,vl=Math.cos,jl=Math.max,ts=Math.min,Ss=Math.sin,ks=Math.sqrt,vs=1e-12,Hu=Math.PI,$u=Hu/2,Wu=2*Hu;function ss(ae){return ae>1?0:ae<-1?Hu:Math.acos(ae)}function to(ae){return ae>=1?$u:ae<=-1?-$u:Math.asin(ae)}function Al(ae){return ae.innerRadius}function pu(ae){return ae.outerRadius}function kl(ae){return ae.startAngle}function Gs(ae){return ae.endAngle}function ri(ae){return ae&&ae.padAngle}function sa(ae,de,pe,xe,ke,ze,Ye,Ke){var ct=pe-ae,rt=xe-de,Ct=Ye-ke,Xt=Ke-ze,Bt=Xt*ct-Ct*rt;if(!(Bt*Btjn*jn+ai*ai&&(Xa=Tr,ua=yi),{cx:Xa,cy:ua,x01:-Ct,y01:-Xt,x11:Xa*(ke/xa-1),y11:ua*(ke/xa-1)}}function $l(){var ae=Al,de=pu,pe=Ro(0),xe=null,ke=kl,ze=Gs,Ye=ri,Ke=null;function ct(){var rt,Ct,Xt=+ae.apply(this,arguments),Bt=+de.apply(this,arguments),Sn=ke.apply(this,arguments)-$u,Zt=ze.apply(this,arguments)-$u,nn=hs(Zt-Sn),cn=Zt>Sn;if(Ke||(Ke=rt=La()),Btvs)if(nn>Wu-vs)Ke.moveTo(Bt*vl(Sn),Bt*Ss(Sn)),Ke.arc(0,0,Bt,Sn,Zt,!cn),Xt>vs&&(Ke.moveTo(Xt*vl(Zt),Xt*Ss(Zt)),Ke.arc(0,0,Xt,Zt,Sn,cn));else{var on,bn,Mr=Sn,ti=Zt,xa=Sn,ui=Zt,ka=nn,Xa=nn,ua=Ye.apply(this,arguments)/2,Tr=ua>vs&&(xe?+xe.apply(this,arguments):ks(Xt*Xt+Bt*Bt)),yi=ts(hs(Bt-Xt)/2,+pe.apply(this,arguments)),Ya=yi,Qn=yi;if(Tr>vs){var jn=to(Tr/Xt*Ss(ua)),ai=to(Tr/Bt*Ss(ua));(ka-=2*jn)>vs?(xa+=jn*=cn?1:-1,ui-=jn):(ka=0,xa=ui=(Sn+Zt)/2),(Xa-=2*ai)>vs?(Mr+=ai*=cn?1:-1,ti-=ai):(Xa=0,Mr=ti=(Sn+Zt)/2)}var Si=Bt*vl(Mr),ia=Bt*Ss(Mr),oi=Xt*vl(ui),zi=Xt*Ss(ui);if(yi>vs){var so,Oo=Bt*vl(ti),ar=Bt*Ss(ti),$o=Xt*vl(xa),bl=Xt*Ss(xa);if(nnvs?Qn>vs?(on=Zl($o,bl,Si,ia,Bt,Qn,cn),bn=Zl(Oo,ar,oi,zi,Bt,Qn,cn),Ke.moveTo(on.cx+on.x01,on.cy+on.y01),Qnvs&&ka>vs?Ya>vs?(on=Zl(oi,zi,Oo,ar,Xt,-Ya,cn),bn=Zl(Si,ia,$o,bl,Xt,-Ya,cn),Ke.lineTo(on.cx+on.x01,on.cy+on.y01),Yaae?1:de>=ae?0:NaN}function Xe(ae){return ae}function Ze(){var ae=Xe,de=Pe,pe=null,xe=Ro(0),ke=Ro(Wu),ze=Ro(0);function Ye(Ke){var ct,rt,Ct,Xt,Bt,Sn=(Ke=ys(Ke)).length,Zt=0,nn=new Array(Sn),cn=new Array(Sn),on=+xe.apply(this,arguments),bn=Math.min(Wu,Math.max(-Wu,ke.apply(this,arguments)-on)),Mr=Math.min(Math.abs(bn)/Sn,ze.apply(this,arguments)),ti=Mr*(bn<0?-1:1);for(ct=0;ct0&&(Zt+=Bt);for(de!=null?nn.sort(function(xa,ui){return de(cn[xa],cn[ui])}):pe!=null&&nn.sort(function(xa,ui){return pe(Ke[xa],Ke[ui])}),ct=0,Ct=Zt?(bn-Sn*ti)/Zt:0;ct0?Bt*Ct:0)+ti,cn[rt]={data:Ke[rt],index:ct,value:Bt,startAngle:on,endAngle:Xt,padAngle:Mr};return cn}return Ye.value=function(Ke){return arguments.length?(ae=typeof Ke=="function"?Ke:Ro(+Ke),Ye):ae},Ye.sortValues=function(Ke){return arguments.length?(de=Ke,pe=null,Ye):de},Ye.sort=function(Ke){return arguments.length?(pe=Ke,de=null,Ye):pe},Ye.startAngle=function(Ke){return arguments.length?(xe=typeof Ke=="function"?Ke:Ro(+Ke),Ye):xe},Ye.endAngle=function(Ke){return arguments.length?(ke=typeof Ke=="function"?Ke:Ro(+Ke),Ye):ke},Ye.padAngle=function(Ke){return arguments.length?(ze=typeof Ke=="function"?Ke:Ro(+Ke),Ye):ze},Ye}var kt=ae=>()=>ae;function zt(ae,{sourceEvent:de,target:pe,transform:xe,dispatch:ke}){Object.defineProperties(this,{type:{value:ae,enumerable:!0,configurable:!0},sourceEvent:{value:de,enumerable:!0,configurable:!0},target:{value:pe,enumerable:!0,configurable:!0},transform:{value:xe,enumerable:!0,configurable:!0},_:{value:ke}})}function cr(ae,de,pe){this.k=ae,this.x=de,this.y=pe}cr.prototype={constructor:cr,scale:function(ae){return ae===1?this:new cr(this.k*ae,this.x,this.y)},translate:function(ae,de){return ae===0&de===0?this:new cr(this.k,this.x+this.k*ae,this.y+this.k*de)},apply:function(ae){return[ae[0]*this.k+this.x,ae[1]*this.k+this.y]},applyX:function(ae){return ae*this.k+this.x},applyY:function(ae){return ae*this.k+this.y},invert:function(ae){return[(ae[0]-this.x)/this.k,(ae[1]-this.y)/this.k]},invertX:function(ae){return(ae-this.x)/this.k},invertY:function(ae){return(ae-this.y)/this.k},rescaleX:function(ae){return ae.copy().domain(ae.range().map(this.invertX,this).map(ae.invert,ae))},rescaleY:function(ae){return ae.copy().domain(ae.range().map(this.invertY,this).map(ae.invert,ae))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var sr=new cr(1,0,0);function Yr(ae){ae.stopImmediatePropagation()}function Wr(ae){ae.preventDefault(),ae.stopImmediatePropagation()}function di(ae){return!(ae.ctrlKey&&ae.type!=="wheel"||ae.button)}function ha(){var ae=this;return ae instanceof SVGElement?(ae=ae.ownerSVGElement||ae).hasAttribute("viewBox")?[[(ae=ae.viewBox.baseVal).x,ae.y],[ae.x+ae.width,ae.y+ae.height]]:[[0,0],[ae.width.baseVal.value,ae.height.baseVal.value]]:[[0,0],[ae.clientWidth,ae.clientHeight]]}function Ei(){return this.__zoom||sr}function Bi(ae){return-ae.deltaY*(ae.deltaMode===1?.05:ae.deltaMode?1:.002)*(ae.ctrlKey?10:1)}function Oi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Yi(ae,de,pe){var xe=ae.invertX(de[0][0])-pe[0][0],ke=ae.invertX(de[1][0])-pe[1][0],ze=ae.invertY(de[0][1])-pe[0][1],Ye=ae.invertY(de[1][1])-pe[1][1];return ae.translate(ke>xe?(xe+ke)/2:Math.min(0,xe)||Math.max(0,ke),Ye>ze?(ze+Ye)/2:Math.min(0,ze)||Math.max(0,Ye))}function Er(){var ae,de,pe,xe=di,ke=ha,ze=Yi,Ye=Bi,Ke=Oi,ct=[0,1/0],rt=[[-1/0,-1/0],[1/0,1/0]],Ct=250,Xt=jo,Bt=st("start","zoom","end"),Sn=500,Zt=0,nn=10;function cn(Qn){Qn.property("__zoom",Ei).on("wheel.zoom",ka,{passive:!1}).on("mousedown.zoom",Xa).on("dblclick.zoom",ua).filter(Ke).on("touchstart.zoom",Tr).on("touchmove.zoom",yi).on("touchend.zoom touchcancel.zoom",Ya).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function on(Qn,jn){return(jn=Math.max(ct[0],Math.min(ct[1],jn)))===Qn.k?Qn:new cr(jn,Qn.x,Qn.y)}function bn(Qn,jn,ai){var Si=jn[0]-ai[0]*Qn.k,ia=jn[1]-ai[1]*Qn.k;return Si===Qn.x&&ia===Qn.y?Qn:new cr(Qn.k,Si,ia)}function Mr(Qn){return[(+Qn[0][0]+ +Qn[1][0])/2,(+Qn[0][1]+ +Qn[1][1])/2]}function ti(Qn,jn,ai,Si){Qn.on("start.zoom",function(){xa(this,arguments).event(Si).start()}).on("interrupt.zoom end.zoom",function(){xa(this,arguments).event(Si).end()}).tween("zoom",function(){var ia=this,oi=arguments,zi=xa(ia,oi).event(Si),so=ke.apply(ia,oi),Oo=ai==null?Mr(so):typeof ai=="function"?ai.apply(ia,oi):ai,ar=Math.max(so[1][0]-so[0][0],so[1][1]-so[0][1]),$o=ia.__zoom,bl=typeof jn=="function"?jn.apply(ia,oi):jn,eu=Xt($o.invert(Oo).concat(ar/$o.k),bl.invert(Oo).concat(ar/bl.k));return function(Cs){if(Cs===1)Cs=bl;else{var uu=eu(Cs),yu=ar/uu[2];Cs=new cr(yu,Oo[0]-uu[0]*yu,Oo[1]-uu[1]*yu)}zi.zoom(null,Cs)}})}function xa(Qn,jn,ai){return!ai&&Qn.__zooming||new ui(Qn,jn)}function ui(Qn,jn){this.that=Qn,this.args=jn,this.active=0,this.sourceEvent=null,this.extent=ke.apply(Qn,jn),this.taps=0}function ka(Qn,...jn){if(xe.apply(this,arguments)){var ai=xa(this,jn).event(Qn),Si=this.__zoom,ia=Math.max(ct[0],Math.min(ct[1],Si.k*Math.pow(2,Ye.apply(this,arguments)))),oi=ea(Qn);if(ai.wheel)ai.mouse[0][0]===oi[0]&&ai.mouse[0][1]===oi[1]||(ai.mouse[1]=Si.invert(ai.mouse[0]=oi)),clearTimeout(ai.wheel);else{if(Si.k===ia)return;ai.mouse=[oi,Si.invert(oi)],ds(this),ai.start()}Wr(Qn),ai.wheel=setTimeout(zi,150),ai.zoom("mouse",ze(bn(on(Si,ia),ai.mouse[0],ai.mouse[1]),ai.extent,rt))}function zi(){ai.wheel=null,ai.end()}}function Xa(Qn,...jn){if(!pe&&xe.apply(this,arguments)){var ai=Qn.currentTarget,Si=xa(this,jn,!0).event(Qn),ia=ii(Qn.view).on("mousemove.zoom",Oo,!0).on("mouseup.zoom",ar,!0),oi=ea(Qn,ai),zi=Qn.clientX,so=Qn.clientY;Zo(Qn.view),Yr(Qn),Si.mouse=[oi,this.__zoom.invert(oi)],ds(this),Si.start()}function Oo($o){if(Wr($o),!Si.moved){var bl=$o.clientX-zi,eu=$o.clientY-so;Si.moved=bl*bl+eu*eu>Zt}Si.event($o).zoom("mouse",ze(bn(Si.that.__zoom,Si.mouse[0]=ea($o,ai),Si.mouse[1]),Si.extent,rt))}function ar($o){ia.on("mousemove.zoom mouseup.zoom",null),yo($o.view,Si.moved),Wr($o),Si.event($o).end()}}function ua(Qn,...jn){if(xe.apply(this,arguments)){var ai=this.__zoom,Si=ea(Qn.changedTouches?Qn.changedTouches[0]:Qn,this),ia=ai.invert(Si),oi=ai.k*(Qn.shiftKey?.5:2),zi=ze(bn(on(ai,oi),Si,ia),ke.apply(this,jn),rt);Wr(Qn),Ct>0?ii(this).transition().duration(Ct).call(ti,zi,Si,Qn):ii(this).call(cn.transform,zi,Si,Qn)}}function Tr(Qn,...jn){if(xe.apply(this,arguments)){var ai,Si,ia,oi,zi=Qn.touches,so=zi.length,Oo=xa(this,jn,Qn.changedTouches.length===so).event(Qn);for(Yr(Qn),Si=0;Si=0;--Qn){var jn=this.tryEntries[Qn],ai=jn.completion;if(jn.tryLoc==="root")return Ya("end");if(jn.tryLoc<=this.prev){var Si=pe.call(jn,"catchLoc"),ia=pe.call(jn,"finallyLoc");if(Si&&ia){if(this.prev=0;--Ya){var Qn=this.tryEntries[Ya];if(Qn.tryLoc<=this.prev&&pe.call(Qn,"finallyLoc")&&this.prev=0;--yi){var Ya=this.tryEntries[yi];if(Ya.finallyLoc===Tr)return this.complete(Ya.completion,Ya.afterLoc),ui(Ya),Ct}},catch:function(Tr){for(var yi=this.tryEntries.length-1;yi>=0;--yi){var Ya=this.tryEntries[yi];if(Ya.tryLoc===Tr){var Qn=Ya.completion;if(Qn.type==="throw"){var jn=Qn.arg;ui(Ya)}return jn}}throw new Error("illegal catch attempt")},delegateYield:function(Tr,yi,Ya){return this.delegate={iterator:Xa(Tr),resultName:yi,nextLoc:Ya},this.method==="next"&&(this.arg=void 0),Ct}},ae}function Qi(ae){return Qi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(de){return typeof de}:function(de){return de&&typeof Symbol=="function"&&de.constructor===Symbol&&de!==Symbol.prototype?"symbol":typeof de},Qi(ae)}function Po(ae,de,pe,xe,ke,ze,Ye){try{var Ke=ae[ze](Ye),ct=Ke.value}catch(rt){return void pe(rt)}Ke.done?de(ct):Promise.resolve(ct).then(xe,ke)}function Ua(ae){return function(){var de=this,pe=arguments;return new Promise(function(xe,ke){var ze=ae.apply(de,pe);function Ye(ct){Po(ze,xe,ke,Ye,Ke,"next",ct)}function Ke(ct){Po(ze,xe,ke,Ye,Ke,"throw",ct)}Ye(void 0)})}}function Do(ae,de){if(!(ae instanceof de))throw new TypeError("Cannot call a class as a function")}function ko(ae,de){for(var pe=0;peae.length)&&(de=ae.length);for(var pe=0,xe=new Array(de);pe=ae.length?{done:!0}:{done:!1,value:ae[xe++]}},e:function(ct){throw ct},f:ke}}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 ze,Ye=!0,Ke=!1;return{s:function(){pe=pe.call(ae)},n:function(){var ct=pe.next();return Ye=ct.done,ct},e:function(ct){Ke=!0,ze=ct},f:function(){try{Ye||pe.return==null||pe.return()}finally{if(Ke)throw ze}}}}function us(ae){var de=32;switch(ae){case 0:de=23;break;case 1:de=26;break;case 2:default:de=32;break;case 3:de=38}return de}function Ms(ae){ae=ae.sort();for(var de=[],pe=0;pede&&pe<2*de||pe>de&&pe<3*de)&&xe.push(ae.length);var ct=xe.length;ct===1?ke.push({text:ae,x:0,y:0}):ct===2?xe.forEach(function(rt,Ct){Ct===0?ke.push({text:ae.substring(0,rt),x:0,y:-7}):ke.push({text:ae.substring(xe[0],rt),x:0,y:7})}):xe.forEach(function(rt,Ct){Ct===0?ke.push({text:ae.substring(0,rt),x:0,y:-12}):Ct===1?ke.push({text:ae.substring(xe[0],rt+1),x:0,y:4}):ae.length>rt?(()=>{var Xt=ke.reduce((Bt,Sn)=>Bt+Sn.text.length,0);ke.push({text:ae.substring(Xt,Xt+2)+(ae.length-(Xt+2)>0?"...":""),x:0,y:16})})():ke.push({text:ae.substring(xe[1]+1,rt),x:0,y:16})})}(),ke}cr.prototype;var Ks=["circle","rect","ellipse"],rs=["url(#radialGradient-1)","url(#radialGradient-2)","url(#radialGradient-3)"],ml=["url(#lines1)","url(#lines2)","url(#lines3)"];function is(ae,de,pe){return ae.selectAll(".node-circle").remove(),ae.selectAll(".node-circle").data(de,function(xe){return xe.id}).enter().append(function(xe){return Ks.includes(xe.shape)?document.createElementNS("http://www.w3.org/2000/svg",xe.shape):document.createElementNS("http://www.w3.org/2000/svg","circle")}).style("display",function(xe){return xe.hide?"none":"block"}).style("opacity",function(xe){return xe.hide?"0":"1"}).attr("r",function(xe){return xe.shape=="circle"?ws(xe.size):null}).attr("rx",function(xe){return xe.shape=="ellipse"?ws(xe.size)+10:xe.shape=="rect"?10:null}).attr("ry",function(xe){return xe.shape=="ellipse"?ws(xe.size)+10:xe.shape=="rect"?10:null}).attr("width",function(xe){return xe.shape=="rect"?3*(ws(xe.size)-6):2*(ws(xe.size)-6)}).attr("height",function(xe){return xe.shape=="rect"?1.5*(ws(xe.size)-6):2*(ws(xe.size)-6)}).attr("fill",function(xe){return xe.colorType?rs[xe.colorType-1]:xe.color||"url(#radialGradient-1)"}).attr("color",function(xe){return xe.color||"#2E8B57"}).attr("class",function(xe){return"node-circle node-circle-".concat(xe.id," transition-opacity duration-500")}).attr("id",function(xe){return"node-circle".concat(xe.id)}).style("cursor","pointer").on("mouseover",function(xe,ke){var ze=ke.activeColor||"#008FFF";xe.target.setAttribute("stroke",ze),xe.target.setAttribute("stroke-width","8")}).on("mouseout",function(xe){xe.target.setAttribute("stroke-width","0")}).append("title").text(function(xe){return xe.name}),ae.selectAll(".node-circle")}function ws(ae){var de=32;switch(ae){case 0:de=23;break;case 1:de=26;break;case 2:default:de=32;break;case 3:de=38}return de}function iu(ae,de){return ae.selectAll("text").remove(),ae.selectAll("text").data(de,function(pe){return pe.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(pe){return"node-text node-circle node-circle--text-".concat(pe.id," node-text-").concat(pe.id," transition-opacity duration-500")}).style("cursor","pointer").append("svg:title").text(function(pe){return pe.name}),ae.selectAll("text").style("display",function(pe){return pe.hide?"none":"block"}),ae.selectAll("text").attr("d",function(pe){pe.shape=="rect"?ii(".node-circle--text-".concat(pe.id)).append("tspan").style("cursor","pointer").append("tspan").text(function(xe){return xe.name}):Us(pe.name,ws(pe.size)).forEach(function(xe,ke){ii(".node-circle--text-".concat(pe.id)).append("tspan").style("cursor","pointer").attr("class",function(ze){return"node-circle--tspan-".concat(ze.id,"-").concat(ke)}).attr("x",xe.x).attr("y",xe.y).text(function(){return xe.text})})}),ae.selectAll("text")}function Ts(ae){var de=arguments.length>1&&arguments[1]!==void 0&&arguments[1],pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],xe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},ke=xe._ops,ze=ii("body"),Ye=[];if(de&&ke.isShowBatchOperation)return pe.push(ae.id),ii("".concat(ke.containerName)).style("background","#5e5e5e"),pe.forEach(function(Xt){Ye.push(ze.select("".concat(ke.containerName," .node-circle-").concat(Xt)).attr("color"))}),ze.selectAll("".concat(ke.containerName," .node-circle")).attr("fill","#3c3b3b"),pe.forEach(function(Xt,Bt){ze.select("".concat(ke.containerName," .node-circle-").concat(Xt)).attr("fill",Ye[Bt])}),void ii(".graph-bath").style("display","block");if(ke.isShowMask){var Ke=[],ct=[];ke.links.map(function(Xt){Xt.source.id==ae.id&&(Ke.push(Xt.target.id),ct.push(Xt.source.id+Xt.target.id)),Xt.target.id==ae.id&&(Ke.push(Xt.source.id),ct.push(Xt.source.id+Xt.target.id))});var rt=Ms(Ke),Ct=Ms(ct);rt.push(ae.id),ze.selectAll("".concat(ke.containerName," .line-item")).style("display","none"),ii("".concat(ke.containerName)).style("background","#5e5e5e"),rt.forEach(function(Xt){Ye.push(ze.select("".concat(ke.containerName," .node-circle-").concat(Xt)).attr("color"))}),ze.selectAll("".concat(ke.containerName," .node-circle")).attr("fill","#3c3b3b"),rt.forEach(function(Xt,Bt){ze.select("".concat(ke.containerName," .node-circle-").concat(Xt)).attr("fill",Ye[Bt])}),Ct.forEach(function(Xt){ze.selectAll("".concat(ke.containerName," .line-item-").concat(Xt)).style("display",function(Bt){return Bt.hide?"none":"block"})})}}var Is=[],Cu={addPath:function(ae){ae.forEach(function(de){var pe=Is.indexOf(de);pe!=-1&&Is.splice(pe,1),Is.unshift(de)})},getPath:function(){return Is},clearPath:function(){Is.length=0}};function Nu(ae,de,pe,xe){return Ve.apply(this,arguments)}function Ve(){return Ve=Ua(_r().mark(function ae(de,pe,xe,ke){var ze;return _r().wrap(function(Ye){for(;;)switch(Ye.prev=Ye.next){case 0:return ze=xe._ops,Ye.delegateYield(_r().mark(function Ke(){var ct,rt,Ct,Xt,Bt,Sn,Zt,nn,cn,on,bn,Mr,ti,xa,ui,ka,Xa,ua,Tr,yi,Ya,Qn,jn,ai,Si,ia,oi,zi,so,Oo;return _r().wrap(function(ar){for(;;)switch(ar.prev=ar.next){case 0:ar.t0=de,ar.next=ar.t0==="remove"?3:ar.t0==="hide"?19:ar.t0==="contraction"?22:ar.t0==="extend"?42:ar.t0==="editSize"?62:ar.t0==="editColor"?71:ar.t0==="editShape"?79:ar.t0==="extend-path"?87:ar.t0==="contraction-path"?96:100;break;case 3:ct=0;case 4:if(!(ct1?oi[1]:null)&&Pt.contractionPath(zi,oi,xe),Pt.extendPath(ia,xe),Pt.previousStep.id=ia,Pt.previousStep.operate="extend",xe.update(),ar.abrupt("break",100);case 96:return so=pe[0],(Oo=Cu.getPath()).indexOf(so)!=-1&&(Pt.contractionPath(so,Oo,xe),Pt.previousStep.operate=="extend"&&Pt.previousStep.id!=so?(Pt.extendPath(Pt.previousStep.id,xe),Pt.previousStep.operate="extend"):(Pt.previousStep.id=so,Pt.previousStep.operate="contraction"),xe.update()),ar.abrupt("break",100);case 100:case"end":return ar.stop()}},Ke)})(),"t0",2);case 2:ii(ze.containerName).style("background",ze.background);case 3:case"end":return Ye.stop()}},ae)})),Ve.apply(this,arguments)}var _e,Pt={extendPath:function(ae,de){for(var pe=de._ops,xe=pe.nodes,ke=pe.links,ze=[],Ye=[],Ke=0;Ke0)for(var Ct=0;Ct1&&arguments[1]!==void 0?arguments[1]:{};_e=ae,de._linkContainer.selectAll(".connect-item")._groups[0].length||de._linkContainer.append("g").attr("class","connect-item").append("path").attr("stroke-width",2).attr("stroke","#5e5ef0").attr("class","connect-item-inner"),ii("".concat(de._ops.containerName)).on("mousemove",function(pe){qn(pe,de)})}function qn(ae,de){var pe,xe,ke,ze=(pe=de._linkContainer._groups[0][0].parentNode.attributes.transform,{translate:(ke=(xe=pe)&&/translate/.test(xe.value)&&/scale/.test(xe.value)&&xe.value.match(/translate\(([^\)]+)\)\s?scale\(([^\)]+)/))&&ke[1].split(",")||[0,0],scale:ke&&ke[2]||1}),Ye=ze.translate,Ke=ze.scale;de._linkContainer.selectAll(".connect-item-inner").attr("d",function(){return"M".concat(_e.x,", ").concat(_e.y," L").concat(ae.offsetX/Ke-Ye[0]/Ke,", ").concat(ae.offsetY/Ke-Ye[1]/Ke)})}function _n(ae){return Array.isArray(ae[0])?{message:"success",done:function(de){for(var pe=0;pe1&&arguments[1]!==void 0?arguments[1]:"order",pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,xe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,ze=!0;return xe==1&&ae.length%2==0&&(ze=!1),ae.map(function(Ye,Ke){Ye._level=xe,Ye._value=xe==1?Ke+1:Ke+1+(pe-1)*ae.length,Ye._parent=xe==2?1:ke,Ye._site=xe!=1||ze?de:Ke=cn/2){var xa=Mr.startAngle;Mr.startAngle=Mr.endAngle,Mr.endAngle=xa}return Mr})):(cn=rt._level==1?rt.children.length*Xt._toolbarData.length:rt.children.length*rt._num,nn=Ze()(new Array(cn).fill(1)).map(function(Mr){if(rt._site=="left"){var ti=Mr.startAngle;Mr.startAngle=Mr.endAngle,Mr.endAngle=ti}return Mr})),Ct._num=nn.length;var bn=rt._value;return Ct._site=="left"?(on=nn.slice(nn.length/2,nn.length),bn=rt._value-rt._num/2):on=nn.slice(0,nn.length/2),Bt=Yo(on,on.length/(rt._num/2))[bn-1],rt._level==0&&(Bt=nn),Bt}(pe,ze,xe),ct=mo(Ke[Ye].startAngle,Ke[Ye].endAngle);return function(rt){return pi?function(Ct,Xt,Bt,Sn,Zt,nn,cn,on){var bn=qa(Bt[cn].startAngle,Xt(Ct),Zt._level+1,Zt._level+2,on),Mr=bn.centroid(Bt[cn]);return Sn[cn].setAttribute("x",Mr[0]-6),Sn[cn].setAttribute("y",Mr[1]-6),on._operationContainer.selectAll("".concat(nn," .pie-icon")).transition().delay(150).styleTween("display",function(){return ol("none",pi?"block":"none")}),bn()}(rt,ct,Ke,ke,pe,de,Ye,xe):""}})}}}]),ae}();function ta(ae){ae.selectAll(".arc-item .pie-item").interrupt().attr("d",null),ae.selectAll(".arc-item .pie-icon").interrupt().style("display","none"),ae.style("display","none"),ae.selectAll(".operation-item").attr("transform",function(){return"rotate(0)"}),pi=!1}var qa=function(ae,de){var pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,xe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:2,ke=arguments.length>4?arguments[4]:void 0;return $l().innerRadius(pe*ke.containerSize+2).outerRadius(xe*ke.containerSize).padAngle(.02).startAngle(ae).endAngle(de)};function Xo(){return Xo=Ua(_r().mark(function ae(de,pe,xe){var ke,ze,Ye;return _r().wrap(function(Ke){for(;;)switch(Ke.prev=Ke.next){case 0:Ke.t0=de.type,Ke.next=Ke.t0==="connect"?3:Ke.t0==="unlocked"?8:33;break;case 3:return Fi.length=0,Ri=!0,Fi.push(pe),un(pe,xe._example),Ke.abrupt("break",36);case 8:ze=Xr(xe._example._ops.nodes),Ke.prev=9,ze.s();case 11:if((Ye=ze.n()).done){Ke.next=19;break}if((ke=Ye.value).id!=pe.id){Ke.next=17;break}return ke.fx=null,ke.fy=null,Ke.abrupt("break",19);case 17:Ke.next=11;break;case 19:Ke.next=24;break;case 21:Ke.prev=21,Ke.t1=Ke.catch(9),ze.e(Ke.t1);case 24:return Ke.prev=24,ze.f(),Ke.finish(24);case 27:return xe._example._simulation._simulation.nodes(xe._example._ops.nodes),xe._example._simulation._simulation.alphaTarget(.08).restart(),setTimeout(function(){xe._example._simulation._simulation.alphaTarget(0)},300),Ke.next=32,de.click(pe);case 32:return Ke.abrupt("break",36);case 33:return Ke.next=35,de.click({node:pe});case 35:Nu(de.type,[pe.id],xe._example);case 36:Sr=null,ta(xe._operationContainer);case 38:case"end":return Ke.stop()}},ae,null,[[9,21,24,27]])})),Xo.apply(this,arguments)}function Co(){return(Co=Ua(_r().mark(function ae(de,pe){var xe,ke,ze;return _r().wrap(function(Ye){for(;;)switch(Ye.prev=Ye.next){case 0:return ii(".graph-container").on("mousemove",null),Ri=!1,Fi.push(de),ke={node:de,connects:(xe=[]).concat.apply(xe,Fi)},Ye.next=6,mi.click(ke);case 6:ze=Ye.sent,_n(ze||[Fi.splice(0)]).done(pe),Ts(ke.connects[0],!1,[],pe),Fi.length=0;case 11:case"end":return Ye.stop()}},ae)}))).apply(this,arguments)}function Yo(ae,de){for(var pe=[],xe=0;xe4&&arguments[4]!==void 0?arguments[4]:1,ze=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,Ye=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7;this.deflection=xe;var Ke=function(oi){return oi*oi},ct=this.deflection*Math.PI/180,rt={x:Math.cos(ct)*ae,y:Math.sin(ct)*ae},Ct=ae/(de+Ye),Xt=-pe*Ct/(1-Ct),Bt=function(oi,zi,so,Oo){var ar=oi.y/(oi.x-Xt),$o=oi.y-ar*oi.x,bl=1+Ke(ar),eu=2*(ar*$o-so),Cs=Ke($o)+Ke(so)-Ke(zi),uu={x:(-eu+Oo*Math.sqrt(Ke(eu)-4*bl*Cs))/(2*bl)};return uu.y=(uu.x-Xt)*ar,uu},Sn=Bt(rt,de+Ye,pe,-1),Zt=-rt.x/rt.y,nn=rt.y+Ke(rt.x)/rt.y,cn=-(Sn.x-pe)/Sn.y,on=Sn.y+(Sn.x-pe)*Sn.x/Sn.y,bn=(nn-on)/(cn-Zt),Mr=Zt*bn+nn,ti=Math.sqrt(Ke(bn-rt.x)+Ke(Mr-rt.y)),xa=Math.atan2(rt.x-bn,Mr-rt.y),ui=Math.atan2(Sn.x-bn,Mr-Sn.y),ka=(xa+ui)/2;this.deflection>0&&(ka+=Math.PI);var Xa=ui-xa;this.deflection>0&&(Xa=2*Math.PI-Xa),this.shaftLength=Xa*ti,xa>ui&&(this.shaftLength=0),this.midShaftPoint={x:bn+ti*Math.sin(ka),y:Mr-ti*Math.cos(ka)};var ua=function(oi){var zi=(oi<0?1:-1)*Math.sqrt(Ke(oi)/(1+Ke(Zt))),so=Zt*zi;return{x:rt.x+zi,y:rt.y+so}},Tr=function(oi){var zi=(oi<0?-1:1)*Math.sqrt(Ke(oi)/(1+Ke(cn))),so=cn*zi;return{x:Sn.x+zi,y:Sn.y+so}},yi=function(oi,zi){return{x:bn+(ti+zi)*Math.sin(oi),y:Mr-(ti+zi)*Math.cos(oi)}},Ya=function(oi){var zi=(oi<0?-1:1)*Math.sqrt(Ke(oi)/(1+Ke(1/cn))),so=zi/cn;return{x:Sn.x+zi,y:Sn.y-so}},Qn=function(oi){return oi.x+","+oi.y},jn=ke/2,ai=ze/2,Si=rt.y>0?0:1,ia=rt.y<0?0:1;this.outline=function(){if(xa>ui)return["M",Qn(Tr(-ai)),"L",Qn(Ya(Ye)),"L",Qn(Tr(ai)),"Z"].join(" ");var oi=ka-0,zi=ka+0;return["M",Qn(ua(jn)),"L",Qn(ua(-jn)),"A",ti-jn,ti-jn,0,0,Si,Qn(yi(oi,-jn)),"L",Qn(yi(oi,jn)),"A",ti+jn,ti+jn,0,0,ia,Qn(ua(jn)),"Z","M",Qn(yi(zi,jn)),"L",Qn(yi(zi,-jn)),"A",ti-jn,ti-jn,0,0,Si,Qn(Tr(-jn)),"L",Qn(Tr(-ai)),"L",Qn(Ya(Ye)),"L",Qn(Tr(ai)),"L",Qn(Tr(jn)),"A",ti+jn,ti+jn,0,0,ia,Qn(yi(zi,jn))].join(" ")}}function Ta(ae,de,pe){var xe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:8,ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,ze=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,Ye=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7,Ke=pe*Math.PI/180,ct=ae,rt=ae+Ye,Ct=ae+de,Xt=Ct*Math.tan(Ke/2),Bt=ke/2;function Sn(bn,Mr){return bn+","+Mr}this.shaftLength=3*Xt+ke;var Zt=function(bn,Mr,ti){var xa=Mr*Math.tan(Ke/2),ui=Mr/Math.cos(Ke/2);return Sn((xa+ti)*Math.sin(bn),ui+(xa+ti)*Math.cos(bn))},nn=function(){var bn=Zt(0,Ct,Bt+xe/2+2).split(",");return{x:bn[0],y:bn[1]}};this.midShaftPoint=nn();var cn=function(bn,Mr){return Zt((Math.PI+Ke)/2,bn,Mr)},on=function(bn,Mr){return Zt(-(Math.PI+Ke)/2,bn,Mr)};this.outline=function(){var bn=Xt-Bt,Mr=Xt+Bt;return["M",cn(ct,Bt),"L",cn(Ct,Bt),"A",Mr,Mr,0,1,1,on(Ct,Bt),"L",on(rt,Bt),"L",on(rt,-ze/2),"L",on(ct,0),"L",on(rt,ze/2),"L",on(rt,-Bt),"L",on(Ct,-Bt),"A",bn,bn,0,1,0,cn(Ct,-Bt),"L",cn(ct,-Bt),"Z"].join(" ")}}function So(ae,de,pe){var xe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:7,ze=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7;this.length=pe-(ae+de),this.shaftLength=this.length-ze;var Ye=ae,Ke=Ye+this.shaftLength,ct=Ye+this.length,rt=xe/2,Ct=ke/2;this.midShaftPoint={x:Ye+this.shaftLength/2,y:0},this.outline=function(){var Xt=0,Bt=0;return["M",Ye,rt,"L",Xt,rt,"L",Xt,-rt,"L",Ye,-rt,"Z","M",Bt,rt,"L",Ke,rt,"L",Ke,Ct,"L",ct,0,"L",Ke,-Ct,"L",Ke,-rt,"L",Bt,-rt,"Z"].join(" ")}}function Ra(){}var Gi=new Ra;function ba(ae,de){this.relationships=[],ae.idxe)return pe;var ke=Math.ceil((xe-de)/12);return pe.length-ke<=0?"":pe.substr(0,pe.length-ke)+"\u2026"}},Ra.prototype.distributeAnglesForLoopArrows=function(ae,de){for(var pe,xe=0,ke=Array.from(ae);xe0){var Bt=void 0,Sn=void 0,Zt={start:0,end:0};for(ze=0;zeZt.end-Zt.start&&(Zt.start=Sn,Zt.end=Bt);for(Ye=(Zt.end-Zt.start)/(pe.relationships.length+1),ze=0;ze150?150/rt:30,Xt=0;XtBt.x&&(ze=Bt.x),YeBt.y&&(Ke=Bt.y),ct=Bt)){(bn.data!==Ye||bn.next)&&(ui===0&&(ua+=(ui=Bo(Ke))*ui),ka===0&&(ua+=(ka=Bo(Ke))*ka),uaon+ai||yibn+ai||Yacn.index){var Si=on-Qn.x-Qn.vx,ia=bn-Qn.y-Qn.vy,oi=Si*Si+ia*ia;oiZt.r&&(Zt.r=Zt[nn].r)}function Sn(){if(Ye){var Zt,nn,cn=Ye.length;for(Ke=new Array(cn),Zt=0;Zt3&&arguments[3]!==void 0?arguments[3]:1,ze=xe.benchmark,Ye=xe.height,Ke=xe.width,ct=xe.isResize,rt=xe.layout,Ct=rt.distance?rt.distance:Math.min(Ye,Ke)/2-80,Xt=Ql(pe).iterations(.05).id(function(Bt){return Bt[ze]}).distance(function(){return pe.length<=5&&ct?100:pe.length<=20&&ct?Ct:pe.length<=60?180:230});this._simulation.nodes(de).force("link",Xt).velocityDecay(.2).alpha(ke).alphaDecay(.08),this._simulation.restart()}},{key:"addSimulationEvent",value:function(de,pe,xe,ke){var ze=this,Ye=oo(de,3),Ke=Ye[0],ct=Ye[1],rt=Ye[2];this._simulation.on("tick",function(){return Gi.layoutRelationships(ke),ze._root.layout.force&&Gi.layoutNodes(ze._root),Ke.attr("transform",function(Ct){return"translate("+Ct.source.x+" "+Ct.source.y+") rotate("+(Ct.naturalAngle-180)+")"}),ct.attr("d",function(Ct){return Ct.arrow.outline(Ct)}),rt.attr("x",function(Ct){return Ct.arrow.midShaftPoint.x}).attr("y",function(Ct){return Ct.arrow.midShaftPoint.y+13}).attr("transform",function(Ct){return Ct.naturalAngle<90||Ct.naturalAngle>270?"rotate(180 "+Ct.arrow.midShaftPoint.x+" "+Ct.arrow.midShaftPoint.y+")":null}).text(function(Ct){return Ct.shortCaption}),pe.attr("cx",function(Ct){return Ct.x}).attr("cy",function(Ct){return Ct.y}).attr("x",function(Ct){return Ct.shape=="rect"?Ct.x-us(Ct.size):Ct.x-Ct.size+6}).attr("y",function(Ct){return Ct.shape=="rect"?Ct.y-us(Ct.size)/1.5:Ct.y-Ct.size+6}),void xe.attr("x",function(Ct){return Us(Ct.name,us(Ct.size)).forEach(function(Xt,Bt){ii(".node-circle--tspan-".concat(Ct.id,"-").concat(Bt)).attr("x",Ct.x).attr("y",Xt.y+Ct.y)}),Ct.x}).attr("y",function(Ct){return Ct.y})})}},{key:"drag",value:function(){var de=this;return function(){var pe,xe,ke,ze,Ye=Br,Ke=Tn,ct=Fr,rt=ki,Ct={},Xt=st("start","drag","end"),Bt=0,Sn=0;function Zt(ui){ui.on("mousedown.drag",nn).filter(rt).on("touchstart.drag",bn).on("touchmove.drag",Mr,vo).on("touchend.drag touchcancel.drag",ti).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function nn(ui,ka){if(!ze&&Ye.call(this,ui,ka)){var Xa=xa(this,Ke.call(this,ui,ka),ui,ka,"mouse");Xa&&(ii(ui.view).on("mousemove.drag",cn,Ha).on("mouseup.drag",on,Ha),Zo(ui.view),Hi(ui),ke=!1,pe=ui.clientX,xe=ui.clientY,Xa("start",ui))}}function cn(ui){if(wi(ui),!ke){var ka=ui.clientX-pe,Xa=ui.clientY-xe;ke=ka*ka+Xa*Xa>Sn}Ct.mouse("drag",ui)}function on(ui){ii(ui.view).on("mousemove.drag mouseup.drag",null),yo(ui.view,ke),wi(ui),Ct.mouse("end",ui)}function bn(ui,ka){if(Ye.call(this,ui,ka)){var Xa,ua,Tr=ui.changedTouches,yi=Ke.call(this,ui,ka),Ya=Tr.length;for(Xa=0;Xa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `;ee.createContainer=class{constructor(ae){var de=["style","innerHTML","body","absolute","append","defsvg","div","createElement","zIndex"],pe=function(Ke,ct){Ke=Ke-0;var rt=de[Ke];return rt};if(!document.getElementById("defsvg")){var xe=document[pe("0x7")](pe("0x6"));xe.id=pe("0x5"),xe[pe("0x1")]=Or,xe[pe("0x0")].position=pe("0x3"),xe.style.top="-10000px",xe[pe("0x0")][pe("0x8")]=-1,document[pe("0x2")][pe("0x4")](xe)}Ii.prototype.addElement=function(Ke){for(var ct=arguments.length,rt=new Array(ct>1?ct-1:0),Ct=1;Ct2&&arguments[2]!==void 0?arguments[2]:.1,nn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:15,cn=Er().scaleExtent([Zt,nn]).on("zoom",function(on){Sn.attr("transform",on.transform)});Ye.zoom=cn,Bt.call(cn),Sn.on("dblclick.zoom",null),Bt.on("dblclick.zoom",null)}(Ct,Xt,rt.zoomOptions.minScale,rt.zoomOptions.maxScale)}(ke,this),this._simulation=new Ko(this),this._pie=new Kr(this),this.update()}addNode(ae){(function(de,pe){pe._ops.nodes.push(de),pe.update()})(ae,this)}zoomIn(){ii(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,1.2)}zoomOut(){ii(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,.8)}toggleNode(ae){if(!this._ops.clickToggle)return;var de=this._ops.nodes,pe=this._ops.links;ae.isExtendedState=!ae.isExtendedState;var xe=!ae.isExtendedState,ke=[ae.id];function ze(Ye,Ke,ct){ct.forEach(rt=>{if(rt.source.id===Ye){rt.hide=xe;const Ct=Ke.find(Xt=>Xt.id===rt.target.id);Ct&&(Ct.hide=xe,ke.push(Ct.id),ze(Ct.id,Ke,ct))}})}setTimeout(()=>{ke.forEach(Ye=>{pe.forEach(Ke=>{(Ke.source.id===Ye||Ke.target.id===Ye)&&Ke.target.id!==ae.id&&(Ke.hide=xe)})}),this.update()},100),ze(ae.id,de,pe)}showAllNodes(){this._ops.nodes.forEach(ae=>{ae.hide=!1}),this._ops.links.forEach(ae=>{ae.hide=!1}),this.update()}deleteNode(ae){(function(de,pe){pe._ops.nodes=pe._ops.nodes.filter(function(xe){return xe.id!==de.id}),pe._ops.links=pe._ops.links.filter(function(xe){return xe.source.id!==de.id&&xe.target.id!==de.id}),pe.update(),ta(pe.operationContainer)})(ae,this)}scrollToNode(ae){const pe=document.querySelector(this._ops.containerName+" svg").querySelector("g.graph-box"),xe=this._ops.nodes.find(Ct=>Ct.id===ae);if(!xe)return;const ke=xe.x,ze=xe.y,Ye=1287,Ke=596,ct=Ye/2-ke,rt=Ke/2-ze;pe.setAttribute("transform",`translate(${ct}, ${rt})`)}selectToNode(ae){const de=document.querySelector(this._ops.containerName+" svg");document.body.querySelectorAll("circle.node-circle").forEach(pe=>{pe.classList.remove("highlightNode")}),ae&&de.querySelector(".node-circle-"+ae).classList.add("highlightNode")}update(ae=!0,de={}){var pe,xe;this._pie.showPie("");const ke=this._ops.nodes,ze=this._ops.links,Ye=this._nodeContainer.addElement(is,ke,this),Ke=this._linkContainer.addElement(Wt,ze,this),ct=this._textContainer.addElement(iu,ke);Ye.on("click",(Bt,Sn)=>ie(this,null,function*(){this.toggleNode(Sn);const Zt=yield this._ops.nodeClick(Sn);if(Zt){const{type:nn,id:cn}=Zt;Nu(nn,cn,this)}})),this._ops.isCustomMouse&&(Ye.on("mouseover",(Bt,Sn)=>ie(this,null,function*(){yield this._ops.nodeMouseover(Sn)})),Ye.on("mouseout",()=>ie(this,null,function*(){yield this._ops.nodeMouseout()}))),Ye.on("contextmenu",(Bt,Sn)=>{Bt.preventDefault(),this._pie.showPie(Sn,Bt)}),Ye.call(this._simulation.drag());const rt=(pe=document.querySelector(this._ops.containerName))===null||pe===void 0?void 0:pe.clientWidth,Ct=(xe=document.querySelector(this._ops.containerName))===null||xe===void 0?void 0:xe.clientHeight,Xt=document.getElementsByClassName(`${this._ops.containerName}-graph-container`)[0];Xt&&rt&&Ct&&(this._ops.width=rt,this._ops.height=Ct,Xt.setAttribute("viewBox",`0 0 ${rt} ${Ct}`)),ae?this._simulation.updateSimulation(ke,ze,this._ops):this._simulation.updateSimulation(ke,ze,this._ops,.1),this._simulation.addSimulationEvent(Ke,Ye,ct,ze),function(Bt,Sn){var Zt=["object","function","undefined"];if(Qi(Sn)!=="object")return Bt;for(var nn in Sn)Zt.indexOf(Qi(Sn[nn]))===-1&&(Bt[nn]=Sn[nn])}(this._ops,de),Object.getOwnPropertyNames(de).length&&this._updateBaseTheme()}_updateBaseTheme(){ii(this._ops.containerName).style("background",this._ops.background)}},ee.storage=Cu,Object.defineProperty(ee,"__esModule",{value:!0})})},32546:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Ax:function(){return yt},Ds:function(){return Qe},KI:function(){return ye},SI:function(){return st},f1:function(){return Oe}});var ee=ie(42684);function Oe(Se){let He=!0;if(Se.length>0){for(let pt=0;ptFe in ot?ye(ot,Fe,{enumerable:!0,configurable:!0,writable:!0,value:qe}):ot[Fe]=qe,He=(ot,Fe,qe)=>Se(ot,typeof Fe!="symbol"?Fe+"":Fe,qe),pt=(ot,Fe,qe)=>new Promise((St,jt)=>{var Lt=Mt=>{try{At(qe.next(Mt))}catch(je){jt(je)}},Ut=Mt=>{try{At(qe.throw(Mt))}catch(je){jt(je)}},At=Mt=>Mt.done?St(Mt.value):Promise.resolve(Mt.value).then(Lt,Ut);At((qe=qe.apply(ot,Fe)).next())});class tt extends ee.Component{constructor(Fe){super(Fe),He(this,"canvas"),He(this,"randomNum",(qe,St)=>Math.floor(Math.random()*(St-qe)+qe)),He(this,"drawPic",()=>{this.randomCode()}),He(this,"reloadPic",()=>{this.drawPic()}),He(this,"changeCode",qe=>{console.log(qe.target.value,222),this.setState({value:qe.target.value,showError:!1})}),He(this,"onVerify",()=>{let qe;return this.state.value.toLowerCase()!==""&&this.state.value.toLowerCase()!==this.state.code.toLowerCase()?(qe=!0,Oe.ZP.error("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u9A8C\u8BC1\u7801"),this.reloadPic()):this.state.value.toLowerCase()===""?(qe=!0,Oe.ZP.error("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801")):this.state.value.toLowerCase()===this.state.code.toLowerCase()&&(qe=!1),this.setState({showError:qe}),qe}),this.canvas=ee.createRef(),this.state={value:"",code:"",codeLength:4,fontSizeMin:20,fontSizeMax:22,backgroundColorMin:240,backgroundColorMax:250,colorMin:10,colorMax:20,lineColorMin:40,lineColorMax:180,contentWidth:96,contentHeight:38,showError:!1}}componentDidMount(){this.drawPic()}randomColor(Fe,qe){const St=this.randomNum(Fe,qe),jt=this.randomNum(Fe,qe),Lt=this.randomNum(Fe,qe);return`rgb(${St}, ${jt}, ${Lt})`}drawText(Fe,qe,St){Fe.fillStyle=this.randomColor(this.state.colorMin,this.state.colorMax);const jt=this.randomNum(this.state.fontSizeMin,this.state.fontSizeMax);Fe.font=jt+"px SimHei";const Lt=10,Ut=(this.state.contentWidth-40)/(this.state.code.length-1);let At=Lt;St>0&&(At=Lt+St*Ut);let Mt=this.randomNum(this.state.fontSizeMax,this.state.contentHeight-5);jt>40&&(Mt=40);const je=this.randomNum(-10,10);Fe.translate(At,Mt),Fe.rotate(je*Math.PI/180),Fe.fillText(qe,0,0),Fe.rotate(-je*Math.PI/180),Fe.translate(-At,-Mt)}drawLine(Fe){for(let qe=0;qe<1;qe++)Fe.strokeStyle=this.randomColor(this.state.lineColorMin,this.state.lineColorMax),Fe.beginPath(),Fe.moveTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),Fe.lineTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),Fe.stroke()}drawDot(Fe){for(let qe=0;qe<100;qe++)Fe.fillStyle=this.randomColor(0,255),Fe.beginPath(),Fe.arc(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight),1,0,2*Math.PI),Fe.fill()}randomCode(){let Fe="";const qe="QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890";for(let St=0;St{const jt=this.canvas.current.getContext("2d");jt.textBaseline="bottom",jt.fillStyle=this.randomColor(this.state.backgroundColorMin,this.state.backgroundColorMax),jt.fillRect(0,0,this.state.contentWidth,this.state.contentHeight);for(let Lt=0;Lt{let qe;Modal.confirm({centered:!0,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",content:React.createElement("div",null,React.createElement("p",null,Fe),React.createElement(tt,{ref:St=>qe=St})),onOk:()=>pt(void 0,null,function*(){if(qe.onVerify())return Promise.reject();ot()})})};var ht=tt},78170:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Je}});var ee=ie(60324),Oe={text:"text___FxbAX",wrap:"wrap___UlBQ1",contact:"contact____pUDq",img:"img___BapAv"},st=ie(32637),yt=ie(59301),Je=({type:ye,style:Se})=>{const He=yt.createElement("div",{className:Oe.wrap,onClick:pt=>{pt.preventDefault(),pt.stopPropagation()}},yt.createElement("p",null,ye==="shixun"||ye==="paths"?"\u5F53\u524D\u5B9E\u8DF5\u9879\u76EE\u662F\u9AD8\u6D88\u8017\u7C7B\u578B\u7684\u5B9E\u9A8C\u3002":"\u5F53\u524D\u8BD5\u5377\u5305\u542B\u9AD8\u6D88\u8017\u7C7B\u578B\u7684\u5B9E\u9A8C\u3002",yt.createElement("br",null),"\u6839\u636E\u5E73\u53F0\u4F7F\u7528\u89C4\u5219\uFF0C\u9700\u8981\u6388\u6743\u624D\u80FD\u4F7F\u7528\u3002",ye==="paths"?"\u53D1\u9001\u5230\u8BFE\u5802":"\u53D1\u5E03","\u4F7F\u7528\u4E4B\u524D\uFF0C\u8BF7\u5148\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u83B7\u53D6\u6388\u6743\u7801\u3002"),yt.createElement("div",{className:Oe.contact},yt.createElement("div",{className:Oe.img},yt.createElement("img",{src:st,width:"124px",height:"124px"})),yt.createElement("div",{className:"tc font14 mt10",style:{color:"#777A93"}},"\u626B\u4E00\u626B\uFF0C\u83B7\u53D6\u6388\u6743\u7801")));return yt.createElement(ee.Z,{content:He},yt.createElement("span",{className:Oe.text,style:Se},"\u9AD8\u6D88\u8017"))}},18997:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return tt}});var ee=ie(59301),Oe={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},st=ie(92310),yt=ie.n(st),Qe=ie(71418),Je=ie(2859),ye=ie(58661),Se=ie(85333),He=(ut,ht,ot)=>new Promise((Fe,qe)=>{var St=Ut=>{try{Lt(ot.next(Ut))}catch(At){qe(At)}},jt=Ut=>{try{Lt(ot.throw(Ut))}catch(At){qe(At)}},Lt=Ut=>Ut.done?Fe(Ut.value):Promise.resolve(Ut.value).then(St,jt);Lt((ot=ot.apply(ut,ht)).next())}),tt=({data:ut,className:ht,fullWidth:ot,style:Fe={},onClose:qe,onOk:St,showFullTools:jt,noAssociationId:Lt})=>{const Ut=(0,ee.useRef)(null),At=(0,ee.useRef)(null),Mt=(0,ee.useRef)(null),je=(0,ee.useRef)(null),[gn,Nn]=(0,ee.useState)(!1),[rn,Et]=(0,ee.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,ee.useEffect)(()=>{Mt.current||(Mt.current=document.createElement("style"),document.head.appendChild(Mt.current)),ut!=null&&ut.visible?(document.body.setAttribute("data-custom","y-hidden"),Mt.current.innerHTML=" html { overflow-y: hidden; }",ut!=null&&ut.src&&_t()):(document.body.removeAttribute("data-custom"),Mt.current&&(document.head.removeChild(Mt.current),Mt.current=null))},[ut==null?void 0:ut.visible]);const _t=()=>He(void 0,null,function*(){Nn(!0),Et("\u6B63\u5728\u52A0\u8F7D\u4E2D");const ln=yield(0,Se.ZJ)(ut==null?void 0:ut.src);Ut.current.src="",Ut.current.src=ln,Ut.current.onload=function(){dn()},Nn(!1),Et("")}),We=()=>{document.body.removeAttribute("data-custom"),Mt.current.innerHTML=" ",qe()},Rt=ln=>He(void 0,null,function*(){Nn(!0),Et("\u6B63\u5728\u4FDD\u5B58\u4E2D");const tn=yield(0,ye.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:ut.title,file:ln.dataUrl}});tn!=null&&tn.id&&!Lt?(yield(0,ye.ZP)(`/api/attachments/${ut.id}/add_subitem.json`,{method:"post",body:{subitem_id:tn==null?void 0:tn.id,settings:JSON.stringify(ln.state)}})).status===0&&St():tn!=null&&tn.id&&St(tn),document.body.removeAttribute("data-custom"),Mt.current.innerHTML=" ",Nn(!1),Et("")}),lt=()=>{const ln=document.querySelector('a[href="https://markerjs.com/"]');ln&&ln.parentNode&&(ln.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(lr=>{const Dr=document.querySelector(lr.name);Dr&&Dr.setAttribute("title",lr.title)})},dn=()=>{At.current=new Je.hP(Ut.current),At.current.targetRoot=je.current,At.current.addEventListener("render",Rt),At.current.addEventListener("beforeclose",We),jt&&(At.current.availableMarkerTypes=At.current.ALL_MARKER_TYPES,At.current.uiStyleSettings.redoButtonVisible=!0,At.current.uiStyleSettings.notesButtonVisible=!0,At.current.uiStyleSettings.zoomButtonVisible=!0,At.current.uiStyleSettings.zoomOutButtonVisible=!0,At.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=At.current.uiStyleSettings,At.current.show(),ut!=null&&ut.snapshotData&&At.current.restoreState(ut.snapshotData),setTimeout(()=>{window.scrollTo(0,0),lt()},300)};return ee.createElement(ee.Fragment,null,(ut==null?void 0:ut.visible)&&ee.createElement(Qe.Z,{spinning:gn,tip:rn,style:{position:"absolute"}},ee.createElement("div",{ref:je,className:yt()(Oe.imageDimensions,ht,ot?Oe.fullWidth:""),style:Fe},ee.createElement("img",{className:Oe.img,ref:Ut}))))}},80802:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=ie(95237),st=ie(43604),yt=ie(99313),Qe=ie(3113),Je=ie(58997),ye=ie(2375),Se=ie(48136),He=ie(59301);const pt=(0,ee.forwardRef)(({callback:tt,showSaveButton:ut,value:ht=""},ot)=>{const Fe=(0,ee.useRef)(),qe=[{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 "}]}]}],St=[{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}`}]}]}],jt=At=>{Fe.current.setValue(Fe.current.getValue()+" "+At.value+" ")},Lt=[{key:"1",label:"\u5FEB\u6377\u6A21\u677F",children:He.createElement(Oe.Z,{className:ye.Z.lists,gutter:[10,10]},qe.map((At,Mt)=>He.createElement(st.Z,{flex:"110px",className:ye.Z.item},He.createElement("div",null,He.createElement(Je.Z,{value:`$$${At.value}$$`}),At.name),He.createElement("div",{className:ye.Z.children},At.children.map((je,gn)=>He.createElement("div",{key:gn},He.createElement("h1",null,je.name),He.createElement(Oe.Z,{gutter:[10,10]},je.data.map((Nn,rn)=>He.createElement(st.Z,{key:rn,onClick:()=>jt(Nn),className:ye.Z.diamond},He.createElement(Je.Z,{value:"`$$"+Nn.value+"$$`"}))))))))))},{key:"2",label:"\u516C\u5F0F\u6A21\u677F",children:He.createElement(Oe.Z,{className:ye.Z.lists,gutter:[10,10]},St.map((At,Mt)=>He.createElement(st.Z,{flex:"110px",className:ye.Z.item},He.createElement("div",null,He.createElement(Je.Z,{value:"`$$"+At.value+"$$`"}),At.name),He.createElement("div",{className:ye.Z.children},At.children.map((je,gn)=>He.createElement("div",{key:gn},je.name&&He.createElement("h1",null,je.name),He.createElement(Oe.Z,{gutter:[10,10]},je.data.map((Nn,rn)=>He.createElement(st.Z,{key:rn,onClick:()=>jt(Nn),className:ye.Z.diamond},He.createElement(Je.Z,{value:"`$$"+Nn.value+"$$`"}))))))))))}],Ut=()=>{var At=document.createElement("div");At.innerHTML=Fe.current.getValue();var Mt=At.innerText;return tt&&tt(Mt),Mt};return(0,ee.useImperativeHandle)(ot,()=>({getData:Ut})),He.createElement("div",{className:ye.Z.mathWrap},He.createElement(yt.default,{defaultActiveKey:"1",items:Lt}),He.createElement("math-field",{locale:"zh_cn",className:ye.Z.mathField,placeholder:"\u8BF7\u6253\u5F00\u952E\u76D8\uFF0C\u8F93\u5165\u516C\u5F0F",ref:Fe,style:{width:800,marginTop:30,fontSize:18}},ht||""),ut&&He.createElement("div",{className:ye.Z.button},He.createElement(Qe.ZP,{size:"large",onClick:Ut,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))});Wn.Z=pt},56947:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Q:function(){return Je}});var ee=ie(59301),Oe=ie(57809),st=ie(5112),yt=ie(5871),Qe=ie(59301),Je=(Se=>(Se[Se.Number=1]="Number",Se[Se.Percent=2]="Percent",Se))(Je||{});const ye=({value:Se,onChange:He,disabled:pt,hidePercentOption:tt=!1,percentType:ut="select"})=>{const ht=(0,ee.useMemo)(()=>tt?1:2,[tt]),[ot,Fe]=(0,ee.useState)(ht);console.log(ot);const qe=jt=>Se.type===1?`${jt}\u5206`:`${jt}%`,St=(0,ee.useCallback)(jt=>{if(ot===1){const Lt=jt.replace("\u5206","");return isNaN(parseInt(Lt,10))?0:Lt}else return jt.replace("%","")},[ot]);return(0,ee.useEffect)(()=>{Fe(Se.type)},[Se]),Qe.createElement("div",{style:{display:"flex",alignItems:"center"}},ut=="select"&&Qe.createElement(Oe.default,{size:"large",onChange:jt=>{Fe(jt),He({type:jt,inputValue:jt===1?5:20})},value:ot||ht,style:{width:100},options:tt?[{label:"\u5206\u503C",value:1}]:[{label:"\u767E\u5206\u6BD4",value:2},{label:"\u5206\u503C",value:1}],disabled:pt}),ut=="radio"&&Qe.createElement(st.ZP.Group,{size:"large",onChange:jt=>{const Lt=jt.target.value;Fe(Lt),He({type:Lt,inputValue:Lt===1?5:20})},value:ot||ht,disabled:pt},!tt&&Qe.createElement(st.ZP,{value:2,style:{marginRight:"50px"}},"\u767E\u5206\u6BD4\u6263\u5206"),Qe.createElement(st.ZP,{value:1},"\u56FA\u5B9A\u5206\u503C")),ut=="radio"&&Qe.createElement("div",{style:{marginRight:"10px",color:"#000000"}},Se.type==2?"\u6263\u9664\u8865\u4EA4\u9636\u6BB5\u5F97\u5206\u7684":"\u6263\u9664\u603B\u6210\u7EE9\u7684"),Qe.createElement(yt.Z,{size:"large",disabled:pt,value:Se.inputValue,style:{width:"120px"},parser:St,addonAfter:Se.type===1?"\u5206":"%",max:ot===2?100:Number.MAX_SAFE_INTEGER,min:0,precision:0,onChange:jt=>{He({type:ot,inputValue:jt})}}),ut=="radio"&&Se.type==2&&Qe.createElement("div",{style:{marginLeft:"10px",color:"#000000"}},"\u5206\u6570"))};Wn.Z=ye},31217:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ye}});var ee=ie(36237),Oe=ie(92736),yt={token:{colorPrimary:"#1B8565",colorInfo:"#1B8565",colorLink:"#1B8565",borderRadius:2,fontSizeLG:14},components:{Radio:{radioSize:16,dotSize:6},Modal:{titleFontSize:16,titleColor:"#000"}}},Qe=ie(59301),ye=({children:Se,prefixCls:He="knowledgeGraph"})=>document.documentElement.style.fontSize!==""?Qe.createElement(ee.StyleProvider,{transformers:[(0,ee.px2remTransformer)({rootValue:1})]},Qe.createElement(Oe.ZP,{prefixCls:He,theme:yt},Se)):Qe.createElement(Qe.Fragment,null,Se)},86822:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=ie(78241),st=ie(95237),yt=ie(57809),Qe=ie(92832),Je=ie(88522),ye=ie(3113),Se=ie(24905),He=ie(6848),pt=ie(8591),tt=ie(1710),ut=ie(44225),ht=ie(66649),ot=ie.n(ht),Fe=ie(26724),qe=ie.n(Fe),St=ie(58143),jt=ie(30450),Lt=ie(93351),Ut=ie(42847),At=ie(59301),Mt=Object.defineProperty,je=Object.defineProperties,gn=Object.getOwnPropertyDescriptors,Nn=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,_t=(ft,Le,Gt)=>Le in ft?Mt(ft,Le,{enumerable:!0,configurable:!0,writable:!0,value:Gt}):ft[Le]=Gt,We=(ft,Le)=>{for(var Gt in Le||(Le={}))rn.call(Le,Gt)&&_t(ft,Gt,Le[Gt]);if(Nn)for(var Gt of Nn(Le))Et.call(Le,Gt)&&_t(ft,Gt,Le[Gt]);return ft},Rt=(ft,Le)=>je(ft,gn(Le)),lt=(ft,Le,Gt)=>new Promise((Cr,ur)=>{var It=ir=>{try{hr(Gt.next(ir))}catch(sn){ur(sn)}},Nt=ir=>{try{hr(Gt.throw(ir))}catch(sn){ur(sn)}},hr=ir=>ir.done?Cr(ir.value):Promise.resolve(ir.value).then(It,Nt);hr((Gt=Gt.apply(ft,Le)).next())});const dn=[];function ln({onSearch:ft,schools:Le}){return At.createElement(Oe.default,{colon:!1,layout:"horizontal",onFinish:ft,initialValues:{keyword:"",school_name:"",search_type:"1"}},At.createElement(st.Z,{style:{flexWrap:"nowrap"}},At.createElement(Oe.default.Item,{name:"search_type",label:"\u641C\u7D22\u7C7B\u578B"},At.createElement(yt.default,{popupClassName:Ut.Z.selectdown,style:{width:106}},At.createElement(yt.default.Option,{value:"1"},"\u59D3\u540D"),At.createElement(yt.default.Option,{value:"2"},"\u624B\u673A\u53F7"),At.createElement(yt.default.Option,{value:"3"},"\u90AE\u7BB1"))),At.createElement(Oe.default.Item,{style:{marginLeft:20},label:"\u641C\u7D22\u5185\u5BB9",name:"keyword",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9"}]},At.createElement(Qe.default,{allowClear:!0,style:{width:300},size:"middle"})),At.createElement(Oe.default.Item,{style:{marginLeft:20},label:"\u5355\u4F4D",name:"school_name"},At.createElement(Je.Z,{options:Le,style:{width:300},size:"middle",showSearch:!0,filterOption:(Gt,Cr)=>Cr.value.toUpperCase().indexOf(Gt.toUpperCase())!==-1,placeholder:"\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"})),At.createElement(ye.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 tn=(ft=>(ft[ft.INITDATA=0]="INITDATA",ft[ft.INITSCHOOLS=1]="INITSCHOOLS",ft[ft.SHOWLOADING=2]="SHOWLOADING",ft[ft.SELECTEDIDS=3]="SELECTEDIDS",ft[ft.SETQUERY=4]="SETQUERY",ft[ft.SETPAGE=5]="SETPAGE",ft))(tn||{});function lr(ft,Le){switch(Le.type){case 0:return We(We({},ft),Le.payload);case 4:return We(We({},ft),Le.payload);case 5:return Rt(We({},ft),{page:Le.payload,reload:!1});case 2:return Rt(We({},ft),{loading:Le.payload});case 1:return Rt(We({},ft),{schools:Le.payload});case 3:return Rt(We({},ft),{selectedIds:Le.payload});default:throw new Error}}const Dr={data:[],schools:[],loading:!1,selectedIds:[],query:null,page:1,count:0,reload:!1};Wn.Z=({onSelect:ft,onCancel:Le,container_id:Gt,container_type:Cr})=>{const[ur,It]=(0,ee.useReducer)(lr,Dr),{data:Nt,schools:hr,loading:ir,selectedIds:sn,page:An,count:Cn,query:Pn,reload:Ln}=ur;(0,ee.useEffect)(()=>{function wt(){return lt(this,null,function*(){const{users:en,user_count:mt}=yield(0,jt.nQ)(Rt(We({},Pn),{page:An,container_type:Cr,container_id:Gt,display_aliases:!0}));It({type:0,payload:{data:Ln?en:[...Nt,...en],count:mt}})})}Pn&&wt()},[An,Pn,Ln,Gt,Cr]),(0,ee.useEffect)(()=>{function wt(){return lt(this,null,function*(){const{school_names:en}=yield(0,jt.K$)({display_aliases:!0});It({type:1,payload:en.map(mt=>({value:mt}))})})}wt()},[]);const Te=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:(wt,en)=>At.createElement(Se.default,{value:en.numid,checked:sn.includes(en.numid),disabled:!!wt})},{title:"\u59D3\u540D",width:100,ellipsis:!0,align:"left",dataIndex:"username",render:(wt,en)=>At.createElement("div",null,At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement(ut.Link,{style:{color:"#000000"},className:"bold c-black",to:`/users/${en.login}`,target:"_blank"},wt||"--")))},{title:"\u624B\u673A",width:100,dataIndex:"phone",ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},wt||"--"))},{title:"\u90AE\u7BB1",dataIndex:"email",width:100,ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},wt||"--"))},{title:"\u5B66\u53F7/\u5DE5\u53F7",width:100,dataIndex:"student_number",ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},wt||"--"))},{title:"\u5B66\u6821/\u5355\u4F4D",width:150,dataIndex:"school_name",ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},wt||"--"))},{title:"\u9662\u7CFB/\u90E8\u95E8",dataIndex:"depart_name",width:130,ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},wt||"--"))},{title:"\u5B9E\u540D\u8BA4\u8BC1",dataIndex:"auth",width:100,render:wt=>At.createElement("span",{style:{color:"#000000"}},wt?"\u662F":"\u5426")},{title:"\u6700\u540E\u767B\u5F55\u65F6\u95F4",dataIndex:"last_login_on",width:140,ellipsis:!0,render:wt=>At.createElement(He.Z,{placement:"bottom",title:wt},At.createElement("span",{style:{color:"#000000"}},ot()(wt).format("YYYY-MM-DD HH:mm")))},{title:"\u72B6\u6001",dataIndex:"added",width:80,render:wt=>{if(wt===1)return At.createElement("span",{style:{color:"#000000"}},"\u5DF2\u6DFB\u52A0")}}];function ve(wt){It({type:4,payload:{page:1,reload:!0,query:wt}})}function he(wt){It({type:5,payload:wt})}function we(wt){let en=sn.indexOf(wt);en>=0?sn.splice(en,1):sn.push(wt),It({type:3,payload:[...sn]})}function Re(){sn.length===0?pt.ZP.warning("\u8BF7\u5148\u5728\u4E0B\u9762\u5217\u8868\u4E2D\u9009\u62E9\u8981\u6DFB\u52A0\u6210\u5458"):(ft(sn,Gt),It({type:0,payload:{data:[],count:0,page:1,selectedIds:[],query:null,reload:!1}}))}const fe=Cn>An*10;return At.createElement("div",{className:"select-user-container",style:{paddingBottom:20}},At.createElement(ln,{onSearch:ve,schools:hr}),Pn?At.createElement(At.Fragment,null,At.createElement("div",{className:"flexd-table-header mt20"},At.createElement(Lt.Gi,null,At.createElement(tt.default,{pagination:!1,dataSource:dn,columns:Te}))),At.createElement("div",{style:{maxHeight:260,overflow:"auto",marginBottom:20}},At.createElement(qe(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:he,hasMore:fe,useWindow:!1},At.createElement(Lt.Gi,null,At.createElement(tt.default,{loading:ir,showHeader:!1,pagination:!1,dataSource:Nt,columns:Te,onRow:wt=>({onClick:en=>{wt.added!==1&&we(wt.numid)}})})))),At.createElement("div",{className:"flex-container flex-end"},At.createElement(ye.ZP,{type:"ghost",style:{marginRight:10,border:"1px solid #C3CFE0",color:"#464F66"},onClick:Le},"\u53D6\u6D88"),At.createElement(ye.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:Re},"\u786E\u5B9A"))):At.createElement("div",{className:"tc font16 c-light-black mt40 pb30"},At.createElement("img",{src:St,width:"100",alt:""}),At.createElement("br",null),At.createElement("p",{className:"mt20"},"\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458")))}},47572:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Se}});var ee=ie(59301),Oe={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"},st=ie(43418),yt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAAAXNSR0IArs4c6QAAAUFJREFUOE+V0ktKw1AUxvH/rVqIxT4wkgwEUSmK4APRBfiYCKU7cOZEBOkadAMZiwhuwJETBQciFRTtwJkPBLW2BRGrRanU9kpN2sSYiGaWc/PjuznnCN2Qh8AkPo+AzXxKLLiPhW7ICtDqB4GzQkqM/huGFZgZcDCBBDaaicsTMKbZH2xfwdY5/ICAEGSasC0AwRYblj+gKkENwfy4WS9V4LHsgsk49EZteJKHdBa6w7AybdZzr3D64ILxGKjtNrx9gfsSRBSYtf6xZh1/u+qQClrIhtdFuHmGvhisJcz65RPsZl2Jc/3QE7FhpgDHuT80x2+O9cR1K/GiCDt3rkQ/+Ns43gDFD0YVmHIuQGOOmiGTARhxwkGd1cZ7Vwd0OppWr3911StpcV++Iwn67q/kyBMuHchErcqwFxT1XZXsfQJqo2zI6kdI4QAAAABJRU5ErkJggg==",Qe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAW1JREFUOE+dkj1IQmEUht9z/blp4VQEjS39eW+oSCFCpFCI4BiKFGWWQUSrCjVVg+lQNJZQDZGNTm1B4NTibS3n2lo0wuqEN8i/a0HfeN7v+d73nO+QJEcKAJzQPAwCnSpKNtoqkyRHqgDrtUFAb6Rnedx43KgT6O5P0GQijFiNLe/Sy3/B8g+YTIRRrb5jP32JYNADr8eOldU0RJEqVlm8r1kyuA/AIEB10OWy4vBgA4ryCIdjCJlMDmfn1zAY6EmyGY/UrAwrgGATWKsn4mGEQl4Uiw+YX9hT73aZiEcl8eMbZAGA0AT6/ZPY3Ykiny/A55tA7uoGqdQFBD2VbDbDugoSTTEj3gTGYgG8Vt7UeG63hNkZJ7a2s+gw1XqPnf5REKhkt4kxNakO08ycbOtRC/7FcakCwNTJ0WwmDI+1LUCZZDkSYGa5Eewf0G0KAnprNYtFQHdPbZhNS1cmLafF5bUTJsyBSVMHPm+/ADTrfrtCH68WAAAAAElFTkSuQmCC",Je=(He,pt,tt)=>new Promise((ut,ht)=>{var ot=St=>{try{qe(tt.next(St))}catch(jt){ht(jt)}},Fe=St=>{try{qe(tt.throw(St))}catch(jt){ht(jt)}},qe=St=>St.done?ut(St.value):Promise.resolve(St.value).then(ot,Fe);qe((tt=tt.apply(He,pt)).next())}),Se=({type:He,resdata:pt,onok:tt,oktext:ut,okloading:ht})=>{const[ot,Fe]=(0,ee.useState)(!1),{can_copy_list:qe,can_copy_num:St,challenge_type:jt,course_data_list:Lt,no_copy_list:Ut,no_copy_num:At,no_use_list:Mt,no_use_num:je,repeat_shixun_num:gn,student_count:Nn,total_num:rn,use_num:Et}=pt;let _t=St>0||He==="exercise";(0,ee.useEffect)(()=>{(pt==null?void 0:pt.student_count)>0&&Fe(!0)},[pt]),console.log("---11",ht),(0,ee.useEffect)(()=>{ht||Fe(!1)},[ht]);const We=()=>{if(He==="exercise"&&jt===1)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",ee.createElement("span",{className:Oe.orangeColor},Et),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",ee.createElement("span",{className:Oe.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(He==="exercise"&&jt===2)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",ee.createElement("span",{className:Oe.orangeColor},Et),"\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",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="shixun"&&jt===1)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\uFF0C",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="shixun"&&jt===2)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\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",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="subject"&&jt===1)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",ee.createElement("span",{className:Oe.orangeColor},Et),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="subject"&&jt===2)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709 ",ee.createElement("span",{className:Oe.orangeColor},Nn)," \u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u6311\u6218\u8FC7\u5176\u4E2D\u7684 ",ee.createElement("span",{className:Oe.orangeColor},Et)," \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",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="exercisepush")return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BD5\u5377\u4E2D\u7684",ee.createElement("span",{className:Oe.orangeColor},Et),"\u4E2A\u5B9E\u8DF5\u9879\u76EE \uFF0C",ee.createElement("span",{className:Oe.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(He==="shixunpush"&&jt===1)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",ee.createElement("span",{className:Oe.orangeColor},Et),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(He==="shixunpush"&&jt===2)return ee.createElement(ee.Fragment,null,"\u8BFE\u5802\u5185\u6709",ee.createElement("span",{className:Oe.orangeColor},Nn),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7",ee.createElement("span",{className:Oe.orangeColor},Et),"\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",ee.createElement("span",{className:Oe.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"))},Rt=()=>{if(He==="exercise"||He==="subject"||He==="exercisepush"||He==="shixunpush")return ee.createElement("div",{style:{marginTop:20}},At>0&&ee.createElement("div",null,ee.createElement("span",{className:Oe.flex},ee.createElement("img",{src:Qe,style:{width:14}}),ee.createElement("span",{className:Oe.statustitle},"\u4E0D\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),ee.createElement("div",{className:Oe.statusbody},He==="exercise"&&ee.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",ee.createElement("span",{className:Oe.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"),(He==="subject"||He==="exercisepush")&&ee.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",_t&&ee.createElement("span",{className:Oe.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"),He==="shixunpush"&&ee.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",_t&&ee.createElement("span",{className:Oe.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"),ee.createElement("div",null,Ut==null?void 0:Ut.map((lt,dn)=>ee.createElement("a",{href:`/shixuns/${lt.identifier}/challenges`,target:"_blank"},"\u300A",lt==null?void 0:lt.name,"\u300B",dn+1!==At&&"\u3001"))))),St>0&&ee.createElement("div",{style:{marginTop:20}},ee.createElement("span",{className:Oe.flex},ee.createElement("img",{src:yt,style:{width:14}}),ee.createElement("span",{className:Oe.statustitle},"\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),ee.createElement("div",{className:Oe.statusbody},He==="exercise"&&ee.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"),(He==="subject"||He==="exercisepush")&&ee.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"),He==="shixunpush"&&ee.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"),ee.createElement("div",null,qe==null?void 0:qe.map((lt,dn)=>ee.createElement("a",{href:`/shixuns/${lt.identifier}/challenges`,target:"_blank"},"\u300A",lt==null?void 0:lt.name,"\u300B",dn+1!==St&&"\u3001"))))));if(He==="shixun")return ee.createElement("div",{style:{marginTop:20}},St>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 ee.createElement(st.default,{open:ot,onCancel:()=>{Fe(!1)},cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",width:700,centered:!0,cancelButtonProps:{style:{display:!_t&&"none"}},zIndex:1003,confirmLoading:ht,okText:_t?ut:"\u6211\u77E5\u9053\u4E86",onOk:()=>Je(void 0,null,function*(){_t?yield tt([...qe,...Mt]):Fe(!1)})},ee.createElement("div",{style:{maxHeight:600,overflow:"auto"}},We(),Rt()))}},67824:function(Bn,Wn,ie){"use strict";ie.d(Wn,{h:function(){return At}});var ee=ie(59301),Oe=ie(57809),st=ie(78241),yt=ie(3113),Qe=ie(89780),Je=ie.n(Qe),ye=ie(22054),Se=ie(68305),He=Object.defineProperty,pt=Object.defineProperties,tt=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,Fe=(Mt,je,gn)=>je in Mt?He(Mt,je,{enumerable:!0,configurable:!0,writable:!0,value:gn}):Mt[je]=gn,qe=(Mt,je)=>{for(var gn in je||(je={}))ht.call(je,gn)&&Fe(Mt,gn,je[gn]);if(ut)for(var gn of ut(je))ot.call(je,gn)&&Fe(Mt,gn,je[gn]);return Mt},St=(Mt,je)=>pt(Mt,tt(je));const jt=Oe.default.Option,Lt={labelCol:{span:4},wrapperCol:{span:20}},Ut={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"]};Wn.Z=({callback:Mt,onCancel:je})=>{const[gn,Nn]=(0,ee.useState)("python");function rn(_t){Nn(Ut[_t][1])}function Et(_t){Mt(_t)}return ee.createElement(st.default,St(qe({},Lt),{className:"code-block-panel",initialValues:{language:"python",content:""},onFinish:Et,style:{width:500}}),ee.createElement(st.default.Item,{label:"\u4EE3\u7801\u8BED\u8A00",name:"language"},ee.createElement(Oe.default,{getPopupContainer:_t=>_t.parentNode,onChange:rn},Object.keys(Ut).map(_t=>ee.createElement(jt,{key:_t,value:_t},Ut[_t][0])))),ee.createElement(st.default.Item,{label:"\u4EE3\u7801\u5185\u5BB9",name:"content",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EE3\u7801\u5185\u5BB9"}]},ee.createElement(At,{mode:gn})),ee.createElement("div",{className:"flex-container flex-end"},ee.createElement(yt.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),ee.createElement(yt.ZP,{type:"ghost",onClick:je},"\u53D6\u6D88")))};function At({value:Mt,onChange:je,mode:gn,options:Nn={}}){const rn=(0,ee.useRef)(),[Et,_t]=(0,ee.useState)();return(0,ee.useEffect)(()=>{if(Et){let We=function(Rt){const lt=Rt.getValue();je&&je(lt)};return Et.on("change",We),()=>{Et.off("change",We)}}},[Et,je]),(0,ee.useEffect)(()=>{Et&&Et.setOption("mode",gn)},[Et,gn]),(0,ee.useEffect)(()=>{Et&&(Mt!==Et.getValue()||Mt==="")&&setTimeout(()=>{Et.setValue(Mt||"")},300)},[Et,Mt]),(0,ee.useEffect)(()=>{if(rn.current&&!Et){const We=Je().fromTextArea(rn.current,qe({mode:gn,lineNumbers:!0,lineWrapping:!0,autoCloseBrackets:!0,tabSize:4,autofocus:!0,autoCloseTags:!0,matchBrackets:!0,styleActiveLine:!0},Nn));_t(We)}},[rn.current,Et]),ee.createElement("div",{className:"my-codemirror-container"},ee.createElement("textarea",{ref:rn}))}},74972:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return wr}});var ee=ie(59301),Oe=ie(89780),st=ie.n(Oe),yt=ie(76374),Qe=ie(22054),Je=ie(6313),ye=ie(25717),Se=ie(99498),He=ie(25419),pt=ie(67549),tt=ie(58997),ut=({value:Yn="",className:Pr,showTextOnly:br,showLines:kr,style:vi={}})=>{const at=(0,ee.useMemo)(()=>"",[Yn]);return ee.createElement(ee.Fragment,null,ee.createElement("div",{dangerouslySetInnerHTML:{__html:at}}))},ht=ie(59301),ot=Object.defineProperty,Fe=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,St=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,Ut=(Yn,Pr,br)=>Pr in Yn?ot(Yn,Pr,{enumerable:!0,configurable:!0,writable:!0,value:br}):Yn[Pr]=br,At=(Yn,Pr)=>{for(var br in Pr||(Pr={}))jt.call(Pr,br)&&Ut(Yn,br,Pr[br]);if(St)for(var br of St(Pr))Lt.call(Pr,br)&&Ut(Yn,br,Pr[br]);return Yn},Mt=(Yn,Pr)=>Fe(Yn,qe(Pr));let je=[{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 gn({onActionCallback:Yn,title:Pr,icon:br,actionName:kr,className:vi="",children:at}){function De(){Yn(kr)}return ht.createElement("a",{title:Pr,className:vi,onClick:De},ht.createElement("i",{className:`${br}`}),at)}var Nn=({watch:Yn,showNullButton:Pr,showNullProgramButton:br,onActionCallback:kr,fullScreen:vi,insertTemp:at,hidetoolBar:De,extraUse:nt})=>{const Ot=[...je,{title:`${Yn?"\u5173\u95ED\u5B9E\u65F6\u9884\u89C8":"\u5F00\u542F\u5B9E\u65F6\u9884\u89C8"}`,icon:`${Yn?"md-iconfont icon-eye-slash":"md-iconfont icon-eye"}`,actionName:"trigger-watch"}];return ht.createElement("ul",{className:"markdown-toolbar-container"},!De&&Ot.map((xn,wn)=>ht.createElement("li",{key:wn},xn.actionName?ht.createElement(gn,Mt(At({},xn),{onActionCallback:kr})):ht.createElement("span",{className:"v-line"}))),Pr?ht.createElement("li",null,ht.createElement(gn,{icon:"iconfont icon-tianjia5 insert-blank",className:"btn-null ml5",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-null-ch",onActionCallback:kr},ht.createElement("span",{className:"fill-tip"},"\u70B9\u51FB\u65B0\u589E\u586B\u7A7A\u9879"))):null,br?ht.createElement(ht.Fragment,null,ht.createElement("li",null,ht.createElement(gn,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-signal",onActionCallback:kr},ht.createElement("span",{className:"fill-tip"},"+\u5355\u884C\u586B\u7A7A\u9879"))),ht.createElement("li",null,ht.createElement(gn,{icon:"md-iconfont icon-uniE900 insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-multiple",onActionCallback:kr},ht.createElement("span",{className:"fill-tip"},"+\u591A\u884C\u586B\u7A7A\u9879")))):null,at&&ht.createElement("li",null,ht.createElement(gn,{icon:"md-iconfont icon-edit",className:"btn-null",title:"\u63D2\u5165\u6A21\u677F",actionName:`inster-template-${at}`,onActionCallback:kr},ht.createElement("span",{className:"fill-tip"},"\u63D2\u5165\u6A21\u677F"))),nt&&ht.createElement("li",null,nt),ht.createElement("li",{className:"btn-full-screen"},ht.createElement(gn,{icon:`${vi?"md-iconfont icon-shrink":"md-iconfont icon-enlarge"}`,title:vi?"\u5173\u95ED\u5168\u5C4F":"\u5F00\u542F\u5168\u5C4F",actionName:"trigger-full-screen",onActionCallback:kr})))},rn=ie(62488),Et=ie(78241),_t=ie(92832),We=ie(3113),Rt=Object.defineProperty,lt=Object.defineProperties,dn=Object.getOwnPropertyDescriptors,ln=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,lr=Object.prototype.propertyIsEnumerable,Dr=(Yn,Pr,br)=>Pr in Yn?Rt(Yn,Pr,{enumerable:!0,configurable:!0,writable:!0,value:br}):Yn[Pr]=br,ft=(Yn,Pr)=>{for(var br in Pr||(Pr={}))tn.call(Pr,br)&&Dr(Yn,br,Pr[br]);if(ln)for(var br of ln(Pr))lr.call(Pr,br)&&Dr(Yn,br,Pr[br]);return Yn},Le=(Yn,Pr)=>lt(Yn,dn(Pr));const Gt={labelCol:{span:4},wrapperCol:{span:20}};var Cr=({callback:Yn,onCancel:Pr})=>{function br(kr){Yn(kr)}return ee.createElement(Et.default,Le(ft({},Gt),{initialValues:{link:"http://",title:""},className:"link-panel",onFinish:br,style:{width:500}}),ee.createElement(Et.default.Item,{label:"\u94FE\u63A5\u5730\u5740",name:"link",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740"}]},ee.createElement(_t.default,null)),ee.createElement(Et.default.Item,{label:"\u94FE\u63A5\u6807\u9898",name:"title",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u6807\u9898"}]},ee.createElement(_t.default,null)),ee.createElement("div",{className:"flex-container flex-end"},ee.createElement(We.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),ee.createElement(We.ZP,{type:"ghost",onClick:Pr},"\u53D6\u6D88")))},ur=ie(67824),It=ie(22477),Nt=ie(43418),hr=ie(95237),ir=ie(18997),sn=ie(59301),An=({callback:Yn,onCancel:Pr})=>{const br=document.createElement("canvas"),kr=br.getContext("2d");br.width=1e3,br.height=800,kr.fillStyle="#ffffff",kr.fillRect(0,0,br.width,br.height);const vi=br.toDataURL("image/png");return sn.createElement(Nt.default,{open:!0,width:"100vw",style:{height:"100vh",top:0},footer:null,title:null,closable:!1},sn.createElement(hr.Z,{style:{height:"100vh"}},sn.createElement(ir.Z,{fullWidth:!0,noAssociationId:!0,showFullTools:!0,data:{src:vi,visible:!0,title:String(Date.now())},onOk:at=>{Yn({src:at.url})},onClose:Pr})))},Cn=ie(43428),Pn=ie(43604),Ln=ie(8591),Te={myPaletteDiv:"myPaletteDiv___Xjz2I",flowChartWrp:"flowChartWrp____f45r",maxH60:"maxH60___Pd4Re"},ve=ie(59301),we=(0,ee.forwardRef)(({onCancel:Yn,editImgId:Pr,callback:br},kr)=>{let vi=(0,ee.useRef)(),at=(0,ee.useRef)(),De=(0,ee.useRef)(),nt=(0,ee.useRef)(!1);const Ot=(0,ee.useRef)(!1);console.log("ref:",kr);const[xn,wn]=(0,ee.useState)(0),[gr,Ar]=(0,ee.useState)("100vh");return(0,ee.useEffect)(()=>{wn(1);try{indexedDB.databases().then(fr=>{fr.forEach(vr=>indexedDB.deleteDatabase(vr.name))})}catch(fr){}},[]),(0,ee.useImperativeHandle)(kr,()=>({setHeight:Ar})),ve.createElement("div",{ref:Ot,className:"body-overflow-initial"},ve.createElement(Cn.Z,{width:"100vw",height:gr,footer:null,closable:!0,placement:"bottom",open:!!xn,destroyOnClose:!0,maskClosable:!1,mask:!1,rootClassName:`zIndex-9999 ${Te.drawerWrap}`,onClose:()=>{window.saveDrawData(fr=>{br({src:`/api/attachments/${fr}`,id:fr})})},title:ve.createElement(hr.Z,{align:"middle"},ve.createElement(Pn.Z,{flex:1},"\u63D2\u5165\u6D41\u7A0B\u56FE"),ve.createElement(Pn.Z,{onClick:()=>{Ar(gr==="60px"?"100vh":"60px")}},ve.createElement("span",{className:"current c-blue",style:{fontWeight:400}},"\u5C55\u5F00/\u6536\u8D77")),ve.createElement(Pn.Z,{onClick:()=>{window.saveDrawData(fr=>{if(fr===null){Ln.ZP.warning({content:"\u5185\u5BB9\u4E3A\u7A7A\uFF0C\u8BF7\u5148\u7ED8\u5236\u6D41\u7A0B\u56FE",key:"saveFlowChart"});return}Ln.ZP.success({content:"\u4FDD\u5B58\u6210\u529F",key:"saveFlowChart",style:{zIndex:999999999}}),br({src:`/api/attachments/${fr}`,id:fr,disabledClose:!0})})}},ve.createElement(We.ZP,{type:"primary",className:"ml20"},"\u4FDD\u5B58")))},ve.createElement("iframe",{src:`${window.ENV==="build"?"/react/build":""}/drawio/src/main/webapp/?id=${Pr||""}&gapi=0&od=0&db=0&gh=0&gl=0&local=0`,width:"100%",height:"100%",frameBorder:"0",ref:at})))}),Re=ie(42684),fe=ie(5112),wt=ie(5871);const en=fe.ZP.Group,mt={margin:"0 8px"};var xt=({callback:Yn,onCancel:Pr})=>{function br(kr){Yn(kr)}return ee.createElement(Et.default,{className:"add-table-panel",initialValues:{row:3,col:2,align:"default"},onFinish:br},ee.createElement("div",{className:"flex-container",style:{alignItems:"baseline"}},ee.createElement("span",{style:mt},"\u5355\u5143\u683C\u6570\uFF1A"),ee.createElement("span",{style:mt},"\u884C\u6570"),ee.createElement(Et.default.Item,{name:"row",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u884C\u6570"}]},ee.createElement(wt.Z,null)),ee.createElement("span",{style:mt},"\u5217\u6570"),ee.createElement(Et.default.Item,{name:"col",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5217\u6570"}]},ee.createElement(wt.Z,null))),ee.createElement("div",{className:"flex-container",style:{marginTop:12,alignItems:"baseline"}},ee.createElement("span",{style:mt},"\u5BF9\u9F50\u65B9\u5F0F\uFF1A"),ee.createElement(Et.default.Item,{name:"align"},ee.createElement(en,null,ee.createElement(fe.ZP,{value:"default"},ee.createElement("i",{className:"fa fa-align-justify"})),ee.createElement(fe.ZP,{value:"left"},ee.createElement("i",{className:"fa fa-align-left"})),ee.createElement(fe.ZP,{value:"center"},ee.createElement("i",{className:"fa fa-align-center"})),ee.createElement(fe.ZP,{value:"right"},ee.createElement("i",{className:"fa fa-align-right"}))))),ee.createElement("div",{className:"flex-container flex-end"},ee.createElement(We.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),ee.createElement(We.ZP,{type:"ghost",onClick:Pr},"\u53D6\u6D88")))},On=ie(78673),yn=ie(75354),Qt=ie.n(yn),Vr=(0,ee.forwardRef)(({use3d:Yn,width:Pr,height:br,callback:kr,showSaveButton:vi},at)=>{const De=(0,ee.useRef)(),nt=(0,ee.useRef)(),[Ot,xn]=(0,ee.useState)(!1),wn=(0,ee.useRef)({id:De,appName:"graphing",width:Pr||1e3,height:br||600,showToolBar:!0,showMenuBar:!0,allowStyleBar:!0,showAlgebraInput:!0,enableLabelDrags:!1,enableShiftDragZoom:!0,showToolBarHelp:!1,errorDialogsActive:!0,showTutorialLink:!0,showLogging:!0,useBrowserForJS:!1});(0,ee.useEffect)(()=>{nt.current=new(Qt())(wn.current,!0),window.onload=function(){nt.current.inject("applet_container")}},[]);const gr=()=>{var Ar=window.ggbApplet.getPNGBase64(1,!0,72);return kr&&kr(Ar),Ar};return(0,ee.useEffect)(()=>{wn.current.appName=Ot?"3D":"graphing",nt.current.inject("applet_container")},[Ot]),(0,ee.useEffect)(()=>{xn(Yn)},[Yn]),(0,ee.useImperativeHandle)(at,()=>({getImgData:gr})),ee.createElement(ee.Fragment,null,ee.createElement("div",{style:{width:"100%",height:"100%"},id:"applet_container",ref:De}),ee.createElement(hr.Z,{align:"middle"},ee.createElement(Pn.Z,{flex:1},ee.createElement(On.Z,{size:"default",checkedChildren:"\u5173\u95ED3D\u56FE\u50CF",unCheckedChildren:"\u5F00\u542F3D\u56FE\u50CF",checked:Ot,onChange:Ar=>xn(Ar)})),ee.createElement(Pn.Z,null,ee.createElement(We.ZP,{size:"large",onClick:gr,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"))))}),vn=ie(80802),dr=ie(1012);const ei="link",Ht="upload-image",Tt="add-flowchart",qt="draw-image",Un="add-flowchart",nr="code-block",Jr="add-table",Ii="------------",ii={default:Ii,left:`:${Ii}`,center:`:${Ii}:`,right:`${Ii}:`};var ea=ie(8204),vo=(Yn,Pr,br)=>new Promise((kr,vi)=>{var at=Ot=>{try{nt(br.next(Ot))}catch(xn){vi(xn)}},De=Ot=>{try{nt(br.throw(Ot))}catch(xn){vi(xn)}},nt=Ot=>Ot.done?kr(Ot.value):Promise.resolve(Ot.value).then(at,De);nt((br=br.apply(Yn,Pr)).next())});function Ha(){}let Hi=0;const wi=1e4,Zo="\u2581",yo="@\u2581\u2581@",Pa="@\u2581@",Na=` +**\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`,Br=["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 Tn(Yn){return/^\d+$/.test(Yn)?`${Yn}px`:Yn}const ki=navigator.platform.toUpperCase().indexOf("MAC")>=0?"Cmd":"Ctrl",Vt={[ki+"-B"]:"bold",[ki+"-I"]:"italic"},Vn={[ei]:"\u6DFB\u52A0\u94FE\u63A5",[nr]:"\u6DFB\u52A0\u4EE3\u7801\u5757",[Ht]:"\u6DFB\u52A0\u56FE\u7247",[qt]:"\u6DFB\u52A0\u753B\u56FE",[Tt]:"\u63D2\u5165\u6D41\u7A0B\u56FE",[Jr]:"\u6DFB\u52A0\u8868\u683C","maths-latex":"\u6570\u5B66\u56FE\u50CF","inline-latex":"LATEX\u516C\u5F0F"};var wr=({defaultValue:Yn="",onChange:Pr,width:br="100%",height:kr=400,miniToolbar:vi=!1,isFocus:at=!1,watch:De,insertTemp:nt,mode:Ot="markdown",id:xn="markdown-editor-id",showResizeBar:wn=!1,noStorage:gr=!1,showNullButton:Ar=!1,showNullProgramButton:fr=!1,hidetoolBar:vr=!1,fullScreen:qr=!1,onBlur:Xi,onCMBeforeChange:Nr,onFullScreen:Gn,className:Fn="",disablePaste:Kt=!1,disabled:Mn=!1,disabledFill:zn=!1,placeholder:Jn="",values:xr="",extraUse:$n,onAddBlank:jr})=>{const[pn,ni]=(0,ee.useState)(null),[Ai,Ni]=(0,ee.useState)(Yn),[bi,Ji]=(0,ee.useState)(De),[fa,oa]=(0,ee.useState)(qr),[ji,Qa]=(0,ee.useState)(""),[Fa,qo]=(0,ee.useState)(0),[ma,_o]=(0,ee.useState)(kr),[Ci,Qo]=(0,ee.useState)(!1),ol=(0,ee.useRef)((0,dr.Z)()),mo=(0,ee.useRef)(!1),Oa=(0,ee.useRef)(),[Go,_a]=(0,ee.useState)(0),[Ga,ll]=(0,ee.useState)(0),tl=(0,ee.useRef)(),Jo=(0,ee.useRef)(),Zr=(0,ee.useRef)(),Li=(0,ee.useRef)(),xo=(0,ee.useRef)(),jo=(0,ee.useRef)(),nl=()=>vo(void 0,null,function*(){var $a;const Za=yield Fetch("/api/attachments/distinct_hash_val.json",{method:"post",body:{hash_val:ol.current}});($a=Za==null?void 0:Za.attachments)!=null&&$a.length&&(console.log("cm:",pn,tl),Za.attachments.map(Ma=>{Ma.content_type.indexOf("image")>-1?pn.replaceSelection(`![,](/api/attachments/${Ma.id}?type=${Ma.content_type})`):Ma.content_type.indexOf("video")>-1?pn.replaceSelection(``):Ma.content_type.indexOf("pdf")>-1?pn.replaceSelection(`
    ${Ma.name}`):pn.replaceSelection(`[${Ma.name}](${Re.Z.API_SERVER}/api/attachments/${Ma.id}?type=${Ma.content_type})`)}))});(0,ee.useEffect)(()=>{const $a=window.scrollY||window.pageYOffset;Ni(xr),pn==null||pn.setValue(xr),window.scrollTo(0,$a)},[xr]),(0,ee.useEffect)(()=>{Gn==null||Gn(fa)},[fa]),(0,ee.useEffect)(()=>{if(tl.current){let $a=function(Ma,an){var Vo;if(Kt){an.preventDefault();return}const Sl=an.clipboardData;if(Sl){const ds=Sl.types.toString(),bs=Sl.items;if(ds==="Files"||Sl.types.indexOf("Files")>-1){if(an.preventDefault(),Ot=="stex")return;try{let gs=bs[1];((Vo=bs[0])==null?void 0:Vo.kind)==="file"&&(gs=bs[0]);const Bs=gs.getAsFile(),Su=Bs.name.split(".").pop();(0,It.I)(Bs,Vs=>{var Zu,Io,os;Vs.id?((Zu=Bs==null?void 0:Bs.type)==null?void 0:Zu.indexOf("image"))>-1?Za.replaceSelection(``):((Io=Bs==null?void 0:Bs.type)==null?void 0:Io.indexOf("video"))>-1?Za.replaceSelection(``):((os=Bs==null?void 0:Bs.type)==null?void 0:os.indexOf("pdf"))>-1?Za.replaceSelection(`${Bs.name}`):Br.includes(Su)?Za.replaceSelection(`${Bs.name}`):Za.replaceSelection(`[${Bs.name}](/api/attachments/${Vs.id}?type=${Vs.content_type})`):(Vs==null?void 0:Vs.status)===401&&(Ln.ZP.warning((Vs==null?void 0:Vs.message)||"\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),document.location.href="/user/login")})}catch(gs){Ln.ZP.warning("\u8BF7\u4F7F\u7528chrome\u6D4F\u89C8\u5668\u7C98\u8D34")}return!0}else return!0}return!0};const Za=st().fromTextArea(tl.current,{mode:Ot,lineNumbers:!vi,lineWrapping:!0,value:Yn,autoCloseTags:!fr,autoCloseBrackets:!0});return Za.on("keyup",function(Ma,an){an.keyCode===8&&(Ma.getValue()==""?Za.setOption("placeholder",Jn):Za.setOption("placeholder",null))}),Za.on("keydown",function(Ma,an){if(an.keyCode===8){var Vo=wl(Ma);Vo&&an.preventDefault()}}),at&&Za.focus(),Za.on("paste",$a),Za.on("dragleave",function(Ma,an){Jo.current.classList.remove("mouse-hover-md")}),Mn&&Za.on("beforeChange",function(Ma,an){(an.origin==="paste"||an.origin==="+input")&&an.cancel()}),ni(Za),()=>{Za.off("paste",$a)}}},[]);const Ul=(0,ee.useCallback)(()=>{if(Jo.current)try{}catch($a){console.log($a,"---- to set md editor body height")}},[ma,Jo,fa]);(0,ee.useEffect)(()=>{function $a(){let Za=new yt.Z(Ma=>{for(let an of Ma)(an.target.offsetHeight>0||an.target.offsetWidth>0)&&(Ul(),pn.setSize("100%","100%"),pn.refresh())});return Za.observe(tl.current.parentElement),Za}if(pn){const Za=$a();return()=>{var Ma,an;(Ma=tl.current)!=null&&Ma.parentElement&&Za.unobserve((an=tl.current)==null?void 0:an.parentElement)}}},[pn,Ul]),(0,ee.useEffect)(()=>{if(pn){let $a=[];for(const[Za,Ma]of Object.entries(Vt)){let an={[Za]:()=>{ra(Ma)}};$a.push(an),pn.addKeyMap(an)}return Oa.current=setInterval(()=>{mo.current&&nl()},4e3),()=>{clearInterval(Oa.current);for(let Za of $a)pn.removeKeyMap(Za)}}},[pn]),(0,ee.useEffect)(()=>{qr!==fa&&oa(qr)},[qr]),(0,ea.Z)(()=>{if(!gr&&Fa>0){let $a=new Date().getTime(),Za=window.sessionStorage.getItem(xn);$a>=Fa+wi&&(!Za||Za!==Ai)&&(window.sessionStorage.setItem(xn,Ai),Qo(!0))}},wi),(0,ee.useEffect)(()=>{Ji(De)},[pn,De]),(0,ee.useEffect)(()=>{pn&&at&&pn.focus()},[pn,at]),(0,ee.useEffect)(()=>{if(bi&&pn){let $a=function(Ma){let an=Ma.target;if(Li.current){let Vo=an.scrollTop/an.scrollHeight;Li.current.scrollTop=Li.current.scrollHeight*Vo}};const Za=pn.getScrollerElement();return Za.addEventListener("scroll",$a),()=>{Za.removeEventListener("scroll",$a)}}},[pn,bi]),(0,ee.useEffect)(()=>{if(pn&&Nr){let $a=function(Za,Ma){Nr(Za,Ma)};return pn.on("beforeChange",$a),()=>{pn.off("beforeChange",$a)}}},[pn,Nr]),(0,ee.useEffect)(()=>{if(pn&&Xi){let $a=function(){Xi(pn.getValue())};return pn.on("blur",$a),()=>{pn.off("blur",$a)}}},[pn,Xi]);function wl($a,Za){var Ma=$a.getDoc(),an=Ma.getCursor(),Vo=Ma.getLine(an.line),Sl=Vo.charAt(an.ch-1),ds=Vo.lastIndexOf("@\u2581@",an.ch),bs=Vo.lastIndexOf("@\u2581\u2581@",an.ch),gs=ds>bs?ds:bs,Bs=ds>bs?3:4;if(yo.indexOf(Sl)===-1)return null;if(console.log("change1:",Za,$a,Vo,an,gs,ds,bs,Sl),gs>=0&&an.ch-gs<5){var Su=gs+Bs;return Ma.replaceRange("",{line:an.line,ch:gs},{line:an.line,ch:Su}),{line:an.line,ch:Su}}return null}(0,ee.useEffect)(()=>{if(pn){let $a=function(Za,Ma){const an=Za.getValue();Ni(an),qo(new Date().getTime()),Za.getScrollerElement().dispatchEvent(new CustomEvent("scroll")),Pr&&(fr?Pr(an,Ls(an)):Pr(an))};return pn.on("change",$a),()=>{pn.off("change",$a)}}},[pn,Pr]),(0,ee.useEffect)(()=>{if(pn)if(Yn==null)pn.setValue(""),Ni("");else{const $a=window.scrollY||window.pageYOffset;Yn!==pn.getValue()&&(pn.setValue(Yn),Ni(Yn),pn.setCursor(Mn?1:pn.lineCount(),0),window.scrollTo(0,$a))}},[pn,Yn]);const ra=(0,ee.useCallback)($a=>{const Za=pn.getCursor(),Ma=pn.getSelection();let an=Ma.split(` +`);switch($a){case"bold":return pn.replaceSelection("**"+Ma+"**"),Ma===""&&pn.setCursor(Za.line,Za.ch+2),pn.focus();case"italic":return pn.replaceSelection("*"+Ma+"*"),Ma===""&&pn.setCursor(Za.line,Za.ch+1),pn.focus();case"code":return pn.replaceSelection("`"+Ma+"`"),Ma===""&&pn.setCursor(Za.line,Za.ch+1),pn.focus();case"inline-latex":return Qa("inline-latex"),pn.focus();case"latex":return pn.replaceSelection("```latex\n"+Ma+"\n```"),pn.setCursor(Za.line+1,Ma.length+1),pn.focus();case"line-break":return pn.replaceSelection(`
    +`),pn.focus();case"list-ul":return Ma===""?pn.replaceSelection("- "+Ma):pn.replaceSelection(an.map(Vo=>Vo===""?"":`- ${Vo}`).join(` +`)),pn.focus();case"list-ol":return Ma===""?pn.replaceSelection("1. "+Ma):pn.replaceSelection(an.map((Vo,Sl)=>Vo===""?"":`${Sl+1}. ${Vo}`).join(` +`)),pn.focus();case"add-null-ch":jr==null||jr();return;case"add-signal":return Ma===""&&pn.setCursor(Za.line,Za.ch),pn.replaceSelection(Pa),pn.focus();case"add-multiple":return Ma===""&&pn.setCursor(Za.line,Za.ch),pn.replaceSelection(yo),pn.focus();case"inster-template-1":return Ma===""&&pn.setCursor(Za.line,Za.ch),pn.replaceSelection(Na),pn.focus();case"eraser":return pn.setValue(""),pn.focus();case"trigger-watch":return Ji(!bi),pn.focus();case"trigger-full-screen":return oa(!fa),pn.focus();case ei:Qa(ei);return;case nr:Qa(nr);return;case Ht:Qa(Ht);return;case qt:Qa(qt);return;case"maths-latex":Qa("maths-latex");return;case Tt:xo.current="",sessionStorage.removeItem("file_id"),Qa(Tt);return;case Jr:Qa(Jr);return;default:throw new Error}},[pn,bi,fa]),Sa=(0,ee.useCallback)(($a,Za)=>{var Ma,an,Vo,Sl,ds,bs;Qa("");const{src:gs,alt:Bs,id:Su}=$a||{};switch(ji){case ei:const{title:gu,link:Ho}=$a;return pn.replaceSelection(`[${gu}](${Ho})`),pn.focus();case nr:const{language:sl,content:ro}=$a;return pn.replaceSelection(["```"+sl,ro,"```"].join(` +`)),pn.focus();case"maths-latex":for(var Vs=atob($a),Zu=new Uint8Array(Vs.length),Io=0;Io{Cl.id?pn.replaceSelection(`![,](/api/attachments/${Cl.id}?type=${Cl.content_type})`):(Cl==null?void 0:Cl.status)===401&&(document.location.href="/user/login")});break;case"inline-latex":pn.replaceSelection("`$$"+$a+"$$`");break;case Un:if(!Su)return;pn.focus(),pn.getValue().indexOf(gs)===-1?pn.replaceSelection(`
    ${Bs||
    `):document.getElementById(Su).src=Re.Z.API_SERVER+gs+"?t="+Date.now();try{setTimeout(()=>{Xi(pn.getValue())},100)}catch(Cl){}break;case Ht:case qt:const Yt=Za,mr=(Vo=(an=(Ma=Yt==null?void 0:Yt.name)==null?void 0:Ma.split("."))==null?void 0:an.pop)==null?void 0:Vo.call(an);return((Sl=Yt==null?void 0:Yt.type)==null?void 0:Sl.indexOf("image"))>-1||!(Yt!=null&&Yt.type)?Yt!=null&&Yt.align||Yt!=null&&Yt.width?pn.replaceSelection(`

    ${Bs||

    `):pn.replaceSelection(`${Bs||`):((ds=Yt==null?void 0:Yt.type)==null?void 0:ds.indexOf("video"))>-1?pn.replaceSelection(``):((bs=Yt==null?void 0:Yt.type)==null?void 0:bs.indexOf("pdf"))>-1?pn.replaceSelection(`${Yt.name}`):Br.includes(mr)?pn.replaceSelection(`${Yt.name}`):pn.replaceSelection(`[${Yt.name}](${gs})`),pn.focus();case Jr:const{row:Hn,col:hi,align:ao}=$a;let Kn=` +`;for(let Cl=0;Cl{switch(ji){case ei:return ee.createElement(Cr,{callback:Sa,onCancel:pl});case nr:return ee.createElement(ur.Z,{callback:Sa,onCancel:pl});case Ht:return ee.createElement(It.Z,{callback:Sa,onCancel:pl});case Tt:return ee.createElement(we,{editImgId:xo.current,callback:Sa,onCancel:pl});case Jr:return ee.createElement(xt,{callback:Sa,onCancel:pl});case"maths-latex":return ee.createElement(Vr,{showSaveButton:!0,callback:Sa});case"inline-latex":return ee.createElement(vn.Z,{showSaveButton:!0,callback:Sa});default:return null}},[ji]);function pl(){Qa("")}(0,ee.useEffect)(()=>{if(Zr.current){let $a=function(ds){Vo=!0,Sl=ds.pageY},Za=function(){Vo=!1},Ma=function(ds){if(Vo){let bs=ds.pageY-Sl;bs<0&&(bs=0),bs>300&&(bs=300);let gs=kr+bs+"px";_o(gs)}},an=Zr.current,Vo=!1,Sl=0;return an.addEventListener("mousedown",$a),document.addEventListener("mousemove",Ma),document.addEventListener("mouseup",Za),()=>{an.removeEventListener("mousedown",$a),document.removeEventListener("mousemove",Ma),document.removeEventListener("mouseup",Za)}}},[pn,Zr]),(0,ee.useEffect)(()=>{_o(kr)},[kr]);const su=Tn(br),Qs=Tn(ma),Au={width:su,height:Qs},_s=(0,ee.useMemo)(()=>{if(Fa){let $a=new Date(Fa),Za=$a.getHours(),Ma=$a.getMinutes(),an=$a.getSeconds();return Za=Za<10?"0"+Za:Za,Ma=Ma<10?"0"+Ma:Ma,an=an<10?"0"+an:an,`${Za}:${Ma}:${an}`}return 0},[Fa]),Ls=$a=>{const Za=[];if(fr){let Ma=-1;$a=$a.replace(/(@▁▁@|@▁@)/g,function(an,Vo,Sl){Za.push({multiLine:an!==Pa})})}return Za};function $s(){window.sessionStorage.removeItem(xn),Qo(!1),qo(0)}function Ws(){Qo(!1),qo(0),pn.setValue(window.sessionStorage.getItem(xn))}(0,ee.useEffect)(()=>{Vn[ji]&&ji!==qt&&ji!==Tt&&setTimeout(()=>{const $a=document.getElementsByClassName("markdown-popup-form")[0],Za=window.innerWidth/2-$a.offsetWidth/2,Ma=window.innerHeight/2-$a.offsetHeight/2;_a(Za),ll(Ma)},0)},[ji]);const zu=$a=>{$a.preventDefault();const Za=$a.clientX-Go,Ma=$a.clientY-Ga;document.body.onmousemove=an=>{let Vo=an.clientX-Za,Sl=an.clientY-Ma;const ds=document.getElementsByClassName("markdown-popup-form")[0],bs=window.innerWidth-ds.offsetWidth,gs=window.innerHeight-ds.offsetHeight;Vo=Math.max(0,Math.min(Vo,bs)),Sl=Math.max(0,Math.min(Sl,gs)),xu(an.clientX,an.clientY,Za,Ma)&&(_a(Vo),ll(Sl))},document.body.onmouseup=function(){document.body.onmousemove=null}},xu=($a,Za,Ma,an)=>{const Vo=document.body.clientHeight,Sl=document.body.clientWidth;return $a<20&&Ma>$a||$a>Sl-20&&Ma<$a||Za<20&&an>Za||Za>Vo-20&&an{var Za;xo.current=$a,(Za=jo.current)==null||Za.setHeight("100vh"),setTimeout(()=>{Qa("add-flowchart")},150)}})):null))),wn?ee.createElement("a",{ref:Zr,className:"editor-resize"}):null,ji===qt&&ee.createElement(An,{callback:Sa,onCancel:pl}),ji===Tt&&ee.createElement(we,{ref:jo,editImgId:xo.current,callback:Sa,onCancel:pl}),ee.createElement(rn.Z,null,Vn[ji]&&ji!==qt&&ji!==Tt?ee.createElement(Nt.default,{maskClosable:!1,centered:!0,style:{position:"absolute",left:Go,top:Ga},title:ee.createElement("div",{style:{cursor:"move"},onMouseDown:zu},Vn[ji]),open:!0,onCancel:pl,footer:null,destroyOnClose:!0,width:ji===Tt?"1200px":null,height:ji===Tt?"80vh":null,className:"markdown-popup-form"},Fl):null))}},22477:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return gn},I:function(){return rn}});var ee=ie(78241),Oe=ie(8591),st=ie(92832),yt=ie(81327),Qe=ie(5871),Je=ie(5112),ye=ie(3113),Se=ie(32546),He=ie(59301),pt=ie(36466),tt=ie(59301),ut=Object.defineProperty,ht=Object.defineProperties,ot=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,jt=(Et,_t,We)=>_t in Et?ut(Et,_t,{enumerable:!0,configurable:!0,writable:!0,value:We}):Et[_t]=We,Lt=(Et,_t)=>{for(var We in _t||(_t={}))qe.call(_t,We)&&jt(Et,We,_t[We]);if(Fe)for(var We of Fe(_t))St.call(_t,We)&&jt(Et,We,_t[We]);return Et},Ut=(Et,_t)=>ht(Et,ot(_t));const{useForm:At}=ee.default,Mt={width:280,marginRight:10},je={labelCol:{span:5},wrapperCol:{span:19}};var gn=({callback:Et,onCancel:_t})=>{const[We]=At();let Rt=(0,He.useRef)();function lt(tn){Rt.current.width=We.getFieldValue("width"),Rt.current.align=We.getFieldValue("align"),Et(tn,Rt.current)}function dn(tn,lr){if(tn.status===-1){Oe.ZP.error(tn.message);return}We.setFieldsValue({src:`/api/attachments/${tn.id}`,type:lr.type})}function ln(tn){let lr=tn.target.files[0];Rt.current=lr,rn(lr,dn)}return tt.createElement(ee.default,Ut(Lt({form:We},je),{className:"upload-image-panel",onFinish:lt,style:{width:470,overflow:"hidden"}}),tt.createElement(ee.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},tt.createElement("div",{className:"flex-container"},tt.createElement(ee.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6587\u4EF6\u5730\u5740"}]},tt.createElement(st.default,{style:Mt})),tt.createElement(Nn,{onFileChange:ln}))),tt.createElement(ee.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},tt.createElement(st.default,{style:{width:264}})),tt.createElement(ee.default.Item,{label:"\u56FE\u7247\u5BBD\u5EA6",name:"width"},tt.createElement(yt.Z,null,tt.createElement(ee.default.Item,{name:"width",style:{margin:0}},tt.createElement(Qe.Z,{style:{width:264}})),tt.createElement("span",{className:"ml8"},"%"))),tt.createElement(ee.default.Item,{label:"\u5BF9\u9F50\u65B9\u5F0F",name:"align"},tt.createElement(Je.ZP.Group,{name:"align",defaultValue:1,options:[{value:"left",label:"\u5DE6\u5BF9\u9F50"},{value:"center",label:"\u5C45\u4E2D\u5BF9\u9F50"},{value:"right",label:"\u53F3\u5BF9\u9F50"}]})),tt.createElement("aside",null,tt.createElement(ee.default.Item,{style:{textAlign:"right",position:"relative",right:-98}},tt.createElement(ye.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),tt.createElement(ye.ZP,{type:"default",onClick:_t},"\u53D6\u6D88"))))};function Nn({onFileChange:Et}){return tt.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",tt.createElement("input",{type:"file",onChange:Et}))}function rn(Et,_t){if(!Et)throw new String("\u6CA1\u6709\u6587\u4EF6");if(!(0,pt.bg)())throw Oe.ZP.warning("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),new String("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C");let We=new FormData;We.append("editormd-image-file",Et),We.append("file_param_name","editormd-image-file"),We.append("byxhr","true");var Rt=new window.XMLHttpRequest;Rt.withCredentials=!0,Rt.addEventListener("load",function(lt){_t(JSON.parse(lt.target.responseText),Et)},!1),Rt.addEventListener("error",function(lt){console.error(lt)},!1),Rt.open("POST",`${Se.KI}/api/attachments.json`),Rt.send(We)}},62488:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return st}});var ee=ie(59301),Oe=ie(4676);class st extends ee.Component{constructor(Qe){super(Qe);const Je=window.document;this.node=Je.createElement("div"),Je.body.appendChild(this.node)}render(){const{children:Qe}=this.props;return(0,Oe.createPortal)(Qe,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},8204:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Oe}});var ee=ie(59301);function Oe(st,yt){const Qe=(0,ee.useRef)();(0,ee.useEffect)(()=>{Qe.current=st}),(0,ee.useEffect)(()=>{function Je(){Qe.current()}if(yt!==null){let ye=setInterval(Je,yt);return()=>clearInterval(ye)}},[yt])}},65899:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Q8:function(){return Le},d0:function(){return Gt},w6:function(){return ft}});var ee=ie(59301),Oe=ie(5083),st=ie(57809),yt=ie(8591),Qe=ie(43418),Je=ie(5112),ye=ie(95237),Se=ie(43604),He=ie(6848),pt=ie(24905),tt=ie(3113),ut=ie(66649),ht=ie.n(ut),ot=ie(36466),Fe=ie(58661),qe=ie(78267),St=ie.n(qe),jt=ie(85333),Lt=ie(97630),Ut=ie(44225),At=ie(56947),Mt=ie(50321),je=ie(16020),gn=ie(47572),Nn=ie(25754),rn=ie(59301),Et=Object.defineProperty,_t=Object.defineProperties,We=Object.getOwnPropertyDescriptors,Rt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,dn=Object.prototype.propertyIsEnumerable,ln=(Nt,hr,ir)=>hr in Nt?Et(Nt,hr,{enumerable:!0,configurable:!0,writable:!0,value:ir}):Nt[hr]=ir,tn=(Nt,hr)=>{for(var ir in hr||(hr={}))lt.call(hr,ir)&&ln(Nt,ir,hr[ir]);if(Rt)for(var ir of Rt(hr))dn.call(hr,ir)&&ln(Nt,ir,hr[ir]);return Nt},lr=(Nt,hr)=>_t(Nt,We(hr)),Dr=(Nt,hr,ir)=>new Promise((sn,An)=>{var Cn=Te=>{try{Ln(ir.next(Te))}catch(ve){An(ve)}},Pn=Te=>{try{Ln(ir.throw(Te))}catch(ve){An(ve)}},Ln=Te=>Te.done?sn(Te.value):Promise.resolve(Te.value).then(Cn,Pn);Ln((ir=ir.apply(Nt,hr)).next())});function ft(Nt,hr){const ir=[];for(let sn=Nt;sn{const sn=Ntht()(hr).endOf("day"),Cn=Nt{const ir=parseInt(ht()(Nt).format("HH")),sn=parseInt(ht()().format("HH")),An=parseInt(ht()().format("mm"));if(!Nt)return{disabledHours:()=>ft(0,sn),disabledMinutes:()=>ft(0,An)};if(hr){const Cn=parseInt(ht()(hr).format("HH")),Pn=parseInt(ht()(hr).format("mm"));return ht()(Nt).isSame(ht()(hr),"day")?{disabledHours:()=>ft(0,Cn),disabledMinutes:()=>ir<=Cn?ft(0,Pn):[]}:void 0}if(ht()(Nt).isSame(ht()(),"day"))return{disabledHours:()=>ft(0,sn),disabledMinutes:()=>ht()(Nt).isSame(ht()(),"hour")&&ir<=sn?ft(0,An):[]}},{RangePicker:Cr}=Oe.default,{Option:ur}=st.default,It=({shixunHomeworks:Nt,loading:hr,dispatch:ir,classroomList:sn,user:An})=>{var Cn,Pn,Ln,Te,ve,he,we,Re,fe;const wt=(0,Ut.useParams)(),{workSetting:en,workList:mt,shixunWorkList:xt,headerInfo:On,changeData:yn}=Nt,[Qt,pr]=(0,ee.useState)(!1),[Vr,vn]=(0,ee.useState)(!1);let[dr,ei]=(0,ee.useState)([]),[Ht,Tt]=(0,ee.useState)([]),[qt,Un]=(0,ee.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:At.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[nr,Jr]=(0,ee.useState)({}),[Ii,ii]=(0,ee.useState)({});(0,ee.useEffect)(()=>()=>{ei([])},[]),(0,ee.useEffect)(()=>{pr(!(0,ot.GJ)())},[(0,ot.GJ)()]);const ea=()=>{ir({type:"shixunHomeworks/getWorkSetting",payload:tn({},wt)})};(0,ee.useEffect)(()=>{if(!(en!=null&&en.course_id))return;Object.keys(qt).map(function(Fr){qt[Fr]=en[Fr]}),(!qt.allow_late||!qt.unified_late)&&(qt.late_penalty=20,qt.penalty_type=At.Q.Percent),qt.unified_setting||(qt.unified_late=!1,qt.unified_anonymous_comment=!1,qt.unified_anonymous_appeal=!1),dr=JSON.parse(JSON.stringify(en.group_settings.map(Fr=>lr(tn({},Fr),{group_name:[Fr.group_name]})).filter(Fr=>Fr.publish_time!==null))),Ht=JSON.parse(JSON.stringify(en.allow_late_settings.map(Fr=>lr(tn({},Fr),{group_name:[Fr.group_name]})).filter(Fr=>Fr.late_time!==null))),Un(tn({},qt));const Tn=(0,jt.QE)((dr==null?void 0:dr.length)>0?dr:[]);ei([...Tn]),(Ht==null?void 0:Ht.length)<=0?Tt([{penalty_type:At.Q.Percent,late_penalty:20}]):Tt([...Ht])},[en]);const vo=()=>Dr(void 0,null,function*(){var Tn,Fr;if(((Tn=An==null?void 0:An.userInfo)==null?void 0:Tn.user_status)===2){(0,Mt.Rd)();return}const ki=JSON.parse(JSON.stringify(qt));if(ki.challenge_settings.filter(Vn=>!Vn.hide),ki.categoryId=wt.categoryId,(Fr=ki.challenge_settings)!=null&&Fr.every(Vn=>!Vn.checked)){yt.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(dr),!qt.unified_setting)dr=dr==null?void 0:dr.map(Vn=>{var wr;if(!Vn.publish_time||!Vn.end_time)throw yt.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(!Vn.group_name)throw yt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return Vn.group_name=typeof(Vn==null?void 0:Vn.group_name)=="string"?[Vn==null?void 0:Vn.group_name]:Vn==null?void 0:Vn.group_name,Vn.group_id=(wr=en.group_settings)==null?void 0:wr.filter(Yn=>{var Pr;return(Pr=Vn==null?void 0:Vn.group_name)==null?void 0:Pr.includes(Yn.group_name)}).map(Yn=>Yn.group_id||Yn.id).toString().split(","),Vn});else if(!qt.publish_time||!qt.end_time)throw yt.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(ki.group_settings=dr,qt.allow_late)if(qt.unified_late){if(qt.late_penalty===null||qt.late_penalty===void 0||qt.late_penalty<0||qt.late_penalty>100)throw yt.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(!qt.late_time)throw yt.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 Ht=Ht==null?void 0:Ht.map(Vn=>{var wr,Yn;if(Vn.late_penalty===null||Vn.late_penalty===void 0||Vn.late_penalty<0||Vn.late_penalty>100)throw yt.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(!Vn.late_time)throw yt.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(!Vn.group_name)throw yt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return Vn.group_name=typeof(Vn==null?void 0:Vn.group_name)=="string"?[Vn==null?void 0:Vn.group_name]:Vn==null?void 0:Vn.group_name,Vn.group_id=(Yn=(wr=Vn==null?void 0:Vn.group_name)==null?void 0:wr.map(Pr=>{var br,kr;let vi=(kr=(br=en.group_settings)==null?void 0:br.filter(at=>(at==null?void 0:at.group_name)===Pr))==null?void 0:kr[0];return vi==null?void 0:vi.group_id}))==null?void 0:Yn.toString().split(","),Vn}),ki.allow_late_settings=Ht;let Vt=yield(0,Nn.Tr)({homework_common_ids:[parseInt(wt.categoryId)],course_id:wt.coursesId,type:"homework_common"});(Vt==null?void 0:Vt.student_count)===0?Ha(ki):(ii(ki),Jr(Vt))}),Ha=Tn=>{var Fr;if(Tn.total_score===null){yt.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(Tn!=null&&Tn.work_efficiency&&Tn.eff_score===null){yt.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const ki=Tn.challenge_settings.reduce((wr,Yn)=>wr+Number(Yn.challenge_score),0);if((ki==null?void 0:ki.toFixed(10))!==((Fr=Tn.total_score-Tn.eff_score)==null?void 0:Fr.toFixed(10))){yt.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${Tn.total_score}\u5206`);return}const Vt={shixun_evaluation:Tn.shixun_evaluation,challenge_settings:Tn.challenge_settings};let Vn=()=>{var wr;const Yn=()=>Dr(void 0,null,function*(){vn(!0),(yield(0,Fe.ZP)(`/api/homework_commons/${wt.categoryId}/publish_setting.json`,{method:"post",body:tn({},Tn)})).status===0&&(yt.ZP.success("\u66F4\u65B0\u6210\u529F"),ea(),ir({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:tn({},wt)})),vn(!1)});!(0,qe.isEqual)(yn,Vt)&&!((wr=On==null?void 0:On.homework_status)!=null&&wr.includes("\u672A\u53D1\u5E03"))?Qe.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:Yn}):Yn()};en!=null&&en.high_resources_consume&&!(en!=null&&en.high_resources_consume_permission)?ir({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:wt.coursesId,type:"shixun",type_id:wt.categoryId,name:en.homework_name,fn:()=>{Vn()}}}):Vn()},Hi=(Tn,Fr,ki="group_id")=>{var Vt;return Fr?Fr.find(Vn=>Vn[ki]===Tn):(Vt=en==null?void 0:en.group_settings)==null?void 0:Vt.find(Vn=>Vn.group_id[0]===Tn)},wi=(en==null?void 0:en.allow_late)||(en==null?void 0:en.anonymous_comment),Zo=Tn=>{var Fr,ki;const Vt=Hi(Tn,en==null?void 0:en.allow_late_settings,"id"),Vn=Hi(Tn,en==null?void 0:en.anonymous_comment_settings),wr=Hi(Tn);return(en==null?void 0:en.allow_late)&&Vt&&ht()(Vt==null?void 0:Vt.late_time)<=ht()()||(en==null?void 0:en.anonymous_comment)&&Vn&&(Vn==null?void 0:Vn.evaluation_start)!==null||((ki=(ht()(wr==null?void 0:wr.end_time)<=ht()()&&((Fr=en==null?void 0:en.allow_late_settings)==null?void 0:Fr.filter(Yn=>Yn.group_id.includes(Tn))))[0])==null?void 0:ki.late_time)!=null},yo=(0,ee.useMemo)(()=>(en==null?void 0:en.allow_late)||(en==null?void 0:en.all_group_late),[en,On]),Pa=en==null?void 0:en.anonymous_comment,Na=Tn=>{if(!Tn)return!1;const Fr=Hi(Tn,en==null?void 0:en.anonymous_comment_settings);return(en==null?void 0:en.anonymous_comment)&&Fr&&(Fr==null?void 0:Fr.evaluation_start)!==null},Br=(Tn,Fr)=>{var ki,Vt,Vn;ir({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:Tn,index:Fr,rangePickerDisabled:Qt||(ht()()<=ht()((Vt=Hi((ki=Tn==null?void 0:Tn.group_id)==null?void 0:ki[0]))==null?void 0:Vt.publish_time)?!1:[!0,Zo((Vn=Tn==null?void 0:Tn.group_id)==null?void 0:Vn[0])]),disabledDate:en==null?void 0:en.course_end_date}})};return rn.createElement("section",{className:Lt.Z.form},rn.createElement("div",{className:Lt.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",rn.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")),rn.createElement("div",null,rn.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},rn.createElement(Je.ZP.Group,{disabled:Qt||!((Cn=On==null?void 0:On.homework_status)!=null&&Cn.includes("\u672A\u53D1\u5E03"))||(0,ot.Rm)()&&!((Pn=sn.AssistantObject.practice)!=null&&Pn.can_publish),value:qt.unified_setting,onChange:Tn=>{var Fr;if(!((Fr=On==null?void 0:On.homework_status)!=null&&Fr.includes("\u672A\u53D1\u5E03"))){yt.ZP.error("\u5DF2\u53D1\u5E03\uFF0C\u4E0D\u80FD\u518D\u4FEE\u6539\u7EDF\u4E00\u8BBE\u7F6E");return}if(qt.unified_setting=!qt.unified_setting,qt.unified_setting||(qt.unified_late=!1,Tt([{late_penalty:5}])),Un(Object.assign({},qt)),qt.unified_setting===!1&&dr==""){ei(dr.concat({}));return}qt.unified_setting&&(ei([]),Tt([{late_penalty:5}]))}},rn.createElement(Je.ZP,{value:!0,disabled:Qt||!(en!=null&&en.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),rn.createElement(Je.ZP,{disabled:Qt||!((Ln=en==null?void 0:en.group_settings)!=null&&Ln.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((Te=en==null?void 0:en.group_settings)==null?void 0:Te.length)===0&&rn.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")),qt.unified_setting&&rn.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},rn.createElement(ye.Z,{align:"middle"},rn.createElement(Se.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),rn.createElement(Se.Z,{className:"ml10"},rn.createElement(Oe.default,{size:"large",disabled:Qt||!((ve=On==null?void 0:On.homework_status)!=null&&ve.includes("\u672A\u53D1\u5E03")||(he=On==null?void 0:On.homework_status)!=null&&he.includes("\u672A\u5F00\u59CB"))||(0,ot.Rm)()&&!((we=sn.AssistantObject.practice)!=null&&we.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:Tn=>Le(Tn,en==null?void 0:en.course_end_date),disabledTime:Tn=>Gt(Tn),value:qt.publish_time?ht()(qt.publish_time):"",onChange:(Tn,Fr)=>{qt.publish_time=Fr,(qt.end_time==""||!qt.end_time)&&qt.unified_setting&&(qt.end_time=ht()(Tn).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),Un(Object.assign({},qt))}}))),rn.createElement(ye.Z,{align:"middle",className:"pl30"},rn.createElement(Se.Z,null,"\u622A\u6B62\u65F6\u95F4"),rn.createElement(Se.Z,{className:"ml10"},rn.createElement(Oe.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:ht()((0,jt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(en==null?void 0:en.allow_late)&&(en==null?void 0:en.homework_status.includes("\u5DF2\u622A\u6B62"))||Qt||(en==null?void 0:en.allow_late)&&ht()()>=ht()(en==null?void 0:en.end_time)||(0,ot.Rm)()&&!((Re=sn.AssistantObject.practice)!=null&&Re.can_publish),disabledDate:Tn=>Le(Tn,en==null?void 0:en.course_end_date,qt.publish_time),disabledTime:Tn=>Gt(Tn,qt.publish_time),value:qt.end_time?ht()(qt.end_time):"",onChange:(Tn,Fr)=>{qt.end_time=Fr,Un(Object.assign({},qt))}})))),!qt.unified_setting&&(dr==null?void 0:dr.length)>0&&rn.createElement(ye.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},dr&&dr.map(function(Tn,Fr){var ki,Vt,Vn,wr,Yn,Pr,br;return rn.createElement(Se.Z,{span:24,key:Fr},rn.createElement(ye.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:Fr==(dr==null?void 0:dr.length)-1?"0px":"10px"}},rn.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",Fr+1),rn.createElement(st.default,{disabled:Qt||((ki=On==null?void 0:On.homework_status)!=null&&ki.includes("\u672A\u53D1\u5E03")&&Tn.id||ht()(){var vi;if((0,ot.Rm)()&&!((vi=sn.AssistantObject.practice)!=null&&vi.can_publish)){yt.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}dr[Fr].group_name=kr,dr[Fr].group_id=Tn.group_id;const at=(0,qe.flattenDeep)(dr.map(nt=>nt.group_name)),De=Ht.map(nt=>{let Ot=(nt==null?void 0:nt.group_name)||[];return lr(tn({},nt),{group_name:(0,qe.remove)(Ot,xn=>at.includes(xn))})});Tt(De),ei(dr.slice())},maxTagCount:4,maxTagPlaceholder:kr=>rn.createElement("div",{style:{cursor:"pointer"},onClick:()=>Br(Tn,Fr)},"+",kr==null?void 0:kr.length)},en.group_settings&&en.group_settings.map(function(kr){if(!dr.map(at=>at.group_name).flat().includes(kr.group_name))return rn.createElement(ur,{value:kr.group_name,key:kr.id},kr.group_name)})),rn.createElement("div",{className:"ml20"},rn.createElement(Cr,{size:"large",ranges:{\u6B64\u523B:[Tn.publish_time?ht()(Tn.publish_time):ht()(),ht()()]},allowClear:!1,disabled:Qt||(ht()()<=ht()((wr=Hi((Vn=Tn==null?void 0:Tn.group_id)==null?void 0:Vn[0]))==null?void 0:wr.publish_time)?!1:[!0,Zo((Yn=Tn==null?void 0:Tn.group_id)==null?void 0:Yn[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:kr=>Le(kr,en==null?void 0:en.course_end_date),disabledTime:kr=>Gt(kr),showTime:{showNow:!0,format:"HH:mm",defaultValue:[ht()((0,jt.U6)(),"HH:mm"),ht()((0,jt.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:Tn.publish_time&&[ht()(Tn.publish_time),Tn.end_time?ht()(Tn.end_time):void 0],onChange:(kr,vi)=>{var at;if((0,ot.Rm)()&&!((at=sn.AssistantObject.practice)!=null&&at.can_publish)){yt.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}dr[Fr].publish_time=vi[0],!Tn.end_time&&vi[0]?dr[Fr].end_time=ht()(vi[0]).add(7,"days"):dr[Fr].end_time=vi[1],ei([...dr])},onCalendarChange:(kr,vi,at)=>{if(vi!=null&&vi[0]&&!vi[1]){const De=ht()(vi[0]).add(7,"days");dr[Fr].publish_time=vi[0],dr[Fr].end_time=De,ei([...dr])}}})),!Qt&&rn.createElement("div",{style:{display:"flex",width:"50px"}},((Pr=Tn==null?void 0:Tn.group_id)==null?void 0:Pr.length)>1&&rn.createElement(He.Z,{title:"\u89C4\u5219\u62C6\u5206"},rn.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>Br(Tn,Fr)})),dr.length<((br=en==null?void 0:en.group_settings)==null?void 0:br.length)&&rn.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var kr;if((0,ot.Rm)()&&!((kr=sn.AssistantObject.practice)!=null&&kr.can_publish)){yt.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}ei(dr.concat({}))}}),((Tn==null?void 0:Tn.publish_time)&&ht()(){const kr=(0,qe.cloneDeep)(Ht);kr.forEach((vi,at)=>{vi.group_name&&(vi.group_name=vi.group_name.filter(De=>{var nt;return!((nt=dr[Fr].group_name)!=null&&nt.includes(De))}))}),dr=dr.filter((vi,at)=>Fr!==at),Tt(kr),ei(dr.slice()),setTimeout(()=>ei(dr.slice()),10)}}))))}))),rn.createElement(ye.Z,null,rn.createElement(Se.Z,null,rn.createElement("div",{className:Lt.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",rn.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"))),rn.createElement(Se.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},rn.createElement(pt.default,{checked:qt.allow_late,disabled:Qt||yo,onChange:Tn=>{var Fr;if((0,ot.Rm)()&&!((Fr=sn.AssistantObject.practice)!=null&&Fr.can_late)){yt.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}Tn.target.checked&&Qe.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:rn.createElement("div",{style:{padding:10,background:"#f5f6f9"}},rn.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"),rn.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),rn.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"))}),qt.allow_late=!qt.allow_late,Ht==""&&Tt([{late_penalty:5}]),Un(Object.assign({},qt))}},rn.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(qt==null?void 0:qt.allow_late)&&rn.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},rn.createElement("div",{style:{display:"flex"}},rn.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),rn.createElement(Je.ZP.Group,{style:{marginLeft:"20px"},disabled:Qt||(en==null?void 0:en.anonymous_comment)||(en==null?void 0:en.allow_late),value:qt.unified_late,onChange:Tn=>{var Fr;if((0,ot.Rm)()&&!((Fr=sn.AssistantObject.practice)!=null&&Fr.can_late)){yt.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}qt.unified_late=Tn.target.value,Ht==""&&!Tn.target.value&&Tt([{penalty_type:At.Q.Percent,late_penalty:20}]),Un(tn({},qt))}},(qt==null?void 0:qt.unified_setting)&&rn.createElement(Je.ZP,{value:!0,disabled:!(en!=null&&en.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((fe=en==null?void 0:en.group_settings)==null?void 0:fe.length)>0&&rn.createElement(Je.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),qt!=null&&qt.unified_late?rn.createElement(rn.Fragment,null,rn.createElement(ye.Z,{align:"middle",style:{marginTop:"10px"}},rn.createElement(Se.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),rn.createElement(Se.Z,{className:"ml20"},rn.createElement(At.Z,{disabled:Qt||Pa,value:{type:qt.penalty_type,inputValue:qt.late_penalty},onChange:Tn=>{var Fr;if((0,ot.Rm)()&&!((Fr=sn.AssistantObject.practice)!=null&&Fr.can_late)){yt.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}Un(lr(tn({},qt),{late_penalty:Tn.inputValue,penalty_type:Tn.type}))}})),rn.createElement(Se.Z,{flex:"1",className:"ml5"},rn.createElement("span",{className:"c-grey-c ml10"},qt.penalty_type===At.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)"))),rn.createElement(ye.Z,{align:"middle",style:{marginTop:"15px"}},rn.createElement(Se.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),rn.createElement(Se.Z,{className:"ml20"},rn.createElement(Oe.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:ht()((0,jt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:Qt||Pa,value:qt.late_time?ht()(qt.late_time):"",disabledDate:Tn=>Le(Tn,en==null?void 0:en.course_end_date),onChange:(Tn,Fr)=>{var ki;if((0,ot.Rm)()&&!((ki=sn.AssistantObject.practice)!=null&&ki.can_late)){yt.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}qt.late_time=Fr,Un(Object.assign({},qt))}})))):Ht.map(function(Tn,Fr){var ki;return rn.createElement(Se.Z,{span:24,key:Fr},rn.createElement(ye.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},rn.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",Fr+1),rn.createElement(st.default,{disabled:Qt||!((ki=On==null?void 0:On.homework_status)!=null&&ki.includes("\u672A\u53D1\u5E03"))&&Tn.id||(en==null?void 0:en.anonymous_comment),mode:"multiple",className:Lt.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof Tn.group_name=="string"?[Tn.group_name]:Tn.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:Vt=>{var Vn;if((0,ot.Rm)()&&!((Vn=sn.AssistantObject.practice)!=null&&Vn.can_late)){yt.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}Ht[Fr].group_name=Vt,Ht[Fr].group_id=Tn.group_id,Tt(Ht.slice())}},en.group_settings&&en.group_settings.map(function(Vt){const Vn=Ht.map(Yn=>Yn.group_name).flat(),wr=dr.map(Yn=>Yn.group_name).flat();if(qt!=null&&qt.unified_setting){if(!Vn.includes(Vt.group_name))return rn.createElement(ur,{value:Vt.group_name,key:Vt.id},Vt.group_name)}else if(wr.includes(Vt.group_name)&&!Vn.includes(Vt.group_name))return rn.createElement(ur,{value:Vt.group_name,key:Vt.id},Vt.group_name)})),rn.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),rn.createElement(At.Z,{disabled:Qt||Na(Tn.id),value:{type:Tn.penalty_type,inputValue:Tn.late_penalty},onChange:Vt=>{var Vn;if((0,ot.Rm)()&&!((Vn=sn.AssistantObject.practice)!=null&&Vn.can_late)){yt.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}Ht[Fr].late_penalty=Vt.inputValue,Ht[Fr].penalty_type=Vt.type,Tt([...Ht])}}),rn.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),rn.createElement(Oe.default,{size:"large",disabled:Qt||Na(Tn.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:ht()((0,jt.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:Vt=>Le(Vt,en==null?void 0:en.course_end_date),format:"YYYY-MM-DD HH:mm",value:Tn!=null&&Tn.late_time?ht()(Tn.late_time):void 0,onChange:(Vt,Vn)=>{var wr;if((0,ot.Rm)()&&!((wr=sn.AssistantObject.practice)!=null&&wr.can_late)){yt.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}Ht[Fr].late_time=Vn,Tt([...Ht])}}),!Qt&&rn.createElement("div",{style:{display:"flex",width:"50px"}},rn.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var Vt;if((0,ot.Rm)()&&!((Vt=sn.AssistantObject.practice)!=null&&Vt.can_late)){yt.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}Tt(Ht.concat({penalty_type:At.Q.Percent,late_penalty:20}))}}),Fr>0&&!Tn.id&&rn.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var Vt;if((0,ot.Rm)()&&!((Vt=sn.AssistantObject.practice)!=null&&Vt.can_late)){yt.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}Ht=Ht.filter((Vn,wr)=>Fr!==wr),Tt(Ht.slice()),setTimeout(()=>Tt(Ht.slice()),10)}}))))})),!Qt&&rn.createElement(rn.Fragment,null,rn.createElement(tt.ZP,{type:"primary",size:"large",loading:Vr,style:{width:"138px",marginTop:"30px"},onClick:()=>vo()},"\u4FDD\u5B58")),rn.createElement(je.Z,{onConfirm:(Tn,Fr)=>{dr.splice(Tn,0,...Fr),dr.splice(Tn+Fr.length,1);const ki=(0,jt.QE)([...dr]);ei([...ki])}}),rn.createElement(gn.Z,{resdata:nr,type:"shixun",okloading:Vr,oktext:(nr==null?void 0:nr.can_copy_num)===0?"\u786E\u5B9A":"\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362",onok:Tn=>Dr(void 0,null,function*(){vn(!0);let Fr=yield(0,Fe.ZP)(`/api/courses/${wt.coursesId}/batch_copy_shixuns.json`,{method:"post",body:{type:"homework_common",ids:[parseInt(wt.categoryId)]}});vn(!1),(Fr==null?void 0:Fr.status)===0&&Ha(Ii)})}))};Wn.ZP=(0,Ut.connect)(({shixunHomeworks:Nt,classroomList:hr,loading:ir,user:sn})=>({shixunHomeworks:Nt,classroomList:hr,loading:ir.effects,user:sn}))(It)},22298:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return pt}});var ee=ie(59301),Oe=ie(92832),st=ie(24905),yt=ie(95237),Qe={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},Je="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",ye=ie(61648),Se=(tt,ut,ht)=>new Promise((ot,Fe)=>{var qe=Lt=>{try{jt(ht.next(Lt))}catch(Ut){Fe(Ut)}},St=Lt=>{try{jt(ht.throw(Lt))}catch(Ut){Fe(Ut)}},jt=Lt=>Lt.done?ot(Lt.value):Promise.resolve(Lt.value).then(qe,St);jt((ht=ht.apply(tt,ut)).next())}),pt=({data:tt,value:ut=[],handleChangePage:ht,setSelectedRowKeys:ot,selectedRowKeys:Fe,onChange:qe=()=>{}})=>{const[St,jt]=(0,ee.useState)([]),[Lt,Ut]=(0,ee.useState)([]),[At,Mt]=(0,ee.useState)([]);let[je,gn]=(0,ee.useState)(1),[Nn,rn]=(0,ee.useState)();return(0,ee.useEffect)(()=>{jt(tt),Ut([]),Mt([])},[tt]),(0,ee.useEffect)(()=>{ot&&(Ut(Fe),Mt(Fe))},[Fe]),ee.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},ee.createElement("div",{className:Qe.leftdiv},ee.createElement(Oe.default.Search,{size:"middle",onChange:Et=>Se(void 0,null,function*(){jt(tt.filter(_t=>{var We;return(We=_t==null?void 0:_t.name)==null?void 0:We.includes(Et.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),St.length===0&&ee.createElement(ye.Z,{styles:{margin:"70px auto"},customText:"\u6682\u65E0\u5206\u73ED"}),ee.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},ee.createElement(st.default.Group,{value:Lt.map(Et=>`${Et.id}`),onChange:Et=>{ot(St.filter(_t=>Et.includes(`${_t.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},St.map((Et,_t)=>ee.createElement(yt.Z,{key:Et.id,style:{marginTop:"10px",lineHeight:"24px",display:"flex",width:200}},ee.createElement(st.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:Et.is_published,value:`${Et.id}`},ee.createElement("div",{className:Qe.listClass},ee.createElement("span",{className:Qe.spantitle,style:{width:Et.is_published?"108px":"170px"}},Et.name),Et.is_published&&ee.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),ee.createElement("div",{className:Qe.rightdiv},ee.createElement(Oe.default.Search,{onChange:Et=>{Mt(Lt.filter(_t=>_t.name.includes(Et.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),At.length===0&&ee.createElement(ye.Z,{styles:{margin:"70px auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),At.length>0&&ee.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},ee.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},At.map((Et,_t)=>ee.createElement(yt.Z,{justify:"space-between",style:{marginTop:"10px"},key:Et.id},ee.createElement("div",{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",marginRight:"5px",marginLeft:"5px",width:"75%"}},Et.name),ee.createElement("img",{src:Je,style:{cursor:"pointer",height:"16px",marginRight:17},onClick:()=>{ot(Lt.filter(We=>`${We.id}`!=`${Et.id}`))}})))))))}},16020:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return qe}});var ee=ie(59301),Oe=ie(44225),st=ie(5083),yt=ie(43418),Qe=ie(92832),Je=ie(95237),ye=ie(43604),Se={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},He=ie(66649),pt=ie.n(He),tt=ie(85333),ut=ie(61648),ht=ie(59301);const{RangePicker:ot}=st.default,Fe=({dispatch:St,classroomList:jt,onConfirm:Lt})=>{const[Ut,At]=(0,ee.useState)([]),[Mt,je]=(0,ee.useState)([]),[gn,Nn]=(0,ee.useState)("");(0,ee.useEffect)(()=>{var _t;if(jt.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){let We=jt.actionTabs.data;console.log("data",We);let Rt=(_t=We==null?void 0:We.group_name)==null?void 0:_t.map((lt,dn)=>{var ln;return{group_id:We==null?void 0:We.group_id[dn],group_name:We==null?void 0:We.group_name[dn],is_admin:We==null?void 0:We.is_admin,end_time:We==null?void 0:We.end_time,publish_time:Array.isArray(We==null?void 0:We.publish_time)?(ln=We==null?void 0:We.publish_time)==null?void 0:ln[0]:We==null?void 0:We.publish_time}});Rt&&(At([...Rt]),je([...Rt]))}},[jt.actionTabs]);const rn=()=>{St({type:"classroomList/setActionTabs",payload:{}}),Nn("")},Et=_t=>{if(_t){const We=Mt==null?void 0:Mt.filter(Rt=>{var lt,dn;return(dn=(lt=Rt==null?void 0:Rt.group_name)==null?void 0:lt.toLowerCase())==null?void 0:dn.includes(_t==null?void 0:_t.toLowerCase())});At(We)}else At(Mt)};return ht.createElement(yt.default,{width:980,title:ht.createElement("div",{style:{fontWeight:"bold",display:"flex"}},ht.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",ht.createElement("span",{className:Se.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")),ht.createElement(Qe.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:gn,onChange:_t=>{Nn(_t.target.value.trim()),Et(_t.target.value.trim())}})),centered:!0,maskClosable:!1,open:jt.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>rn(),onOk:()=>{var _t;Lt((_t=jt.actionTabs)==null?void 0:_t.index,Mt),rn()}},ht.createElement("div",{className:Se.modal_con},ht.createElement(Je.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},(Ut==null?void 0:Ut.length)>0?Ut.map(function(_t,We){var Rt,lt;return ht.createElement(ye.Z,{span:24,key:We},ht.createElement(Je.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:We==(Ut==null?void 0:Ut.length)-1?"0px":"10px"}},ht.createElement("div",{className:Se.multiple_select,title:_t.group_name},_t.group_name),ht.createElement("div",{className:"ml20"},ht.createElement(ot,{size:"large",ranges:{\u6B64\u523B:[_t.publish_time?pt()(_t.publish_time):pt()(),pt()()]},allowClear:!1,disabled:(Rt=jt.actionTabs)==null?void 0:Rt.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:dn=>{var ln;return(0,tt.Q8)(dn,(ln=jt.actionTabs)==null?void 0:ln.disabledDate)},disabledTime:dn=>(0,tt.d0)(dn),showTime:{showNow:!0,format:"HH:mm",defaultValue:[pt()((0,tt.U6)(),"HH:mm"),pt()((0,tt.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:_t.publish_time&&[pt()(_t.publish_time),_t.end_time?pt()(_t.end_time):void 0],onChange:(dn,ln)=>{Ut[We].publish_time=ln[0],Ut[We].end_time=ln[1],At([...Ut]),Mt.forEach(tn=>{tn.group_id===_t.group_id&&(tn.publish_time=ln[0],tn.end_time=ln[1])}),je([...Mt])}})),(lt=jt.actionTabs)!=null&<.rangePickerDisabled?ht.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):ht.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{Ut.splice(We,1),At([...Ut]),Mt.forEach((dn,ln)=>{dn.group_id===_t.group_id&&Mt.splice(ln,1)}),je([...Mt])}})))}):ht.createElement(ut.Z,null))))};var qe=(0,Oe.connect)(({classroomList:St})=>({classroomList:St}))(Fe)},32914:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Fe}});var ee=ie(59301),Oe=ie(43418),st=ie(24905),yt=ie(38854),Qe=ie(20834),Je=ie(1710),ye=ie(8591),Se=ie(5112),He=ie(69498),pt=ie(55301),tt=ie(93351),ut=ie(42847),ht=(qe,St,jt)=>new Promise((Lt,Ut)=>{var At=gn=>{try{je(jt.next(gn))}catch(Nn){Ut(Nn)}},Mt=gn=>{try{je(jt.throw(gn))}catch(Nn){Ut(Nn)}},je=gn=>gn.done?Lt(gn.value):Promise.resolve(gn.value).then(At,Mt);je((jt=jt.apply(qe,St)).next())});const ot=50;var Fe=({data:qe,isAdminOrTeacher:St,onDelGroup:jt,onChangeGroupName:Lt,onPlusMember:Ut,onDelMember:At,onExitGroup:Mt,Transferteams:je})=>{var gn,Nn;const[rn,Et]=(0,ee.useState)(0),[_t,We]=(0,ee.useState)(0);let[Rt,lt]=(0,ee.useState)(),[dn,ln]=(0,ee.useState)(),[tn,lr]=(0,ee.useState)(!1),[Dr,ft]=(0,ee.useState)(),[Le,Gt]=(0,ee.useState)(),[Cr,ur]=(0,ee.useState)(!1),[It,Nt]=(0,ee.useState)(!1),[hr,ir]=(0,ee.useState)("");function sn(we){let Re=parseInt(we.key,10);ir(Re),Nt(!0)}function An(we){let Re=parseInt(we.key,10);Oe.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:()=>{Mt(Re)}})}function Cn(we){let Re=parseInt(we,10);Oe.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",icon:!1,className:ut.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:()=>{Mt(Re)}})}function Pn(we,Re){Oe.default.confirm({title:"\u6E29\u99A8\u63D0\u793A",content:"\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u7EC4\u5458\u5417?",icon:!1,className:ut.Z.CustomTipsModalCss,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk:()=>{At(we,Re)}})}const Ln={display:"block",height:"30px",lineHeight:"30px"};function Te(we){Gt(we),ft(we==null?void 0:we.id),ur(!0)}const ve=[{title:"\u6210\u5458\u540D\u79F0",dataIndex:"name",width:150},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u9898",dataIndex:"item_bank",align:"center",width:150,render:(we,Re,fe)=>ee.createElement(st.default,{disabled:Re==null?void 0:Re.is_creator,defaultChecked:we,onChange:wt=>{(0,He.fg)({id:Dr,member_id:Re.id,clazz:"item_bank",enable:wt.target.checked})}})},{title:"\u7F16\u8F91\u5171\u4EAB\u8BD5\u9898",dataIndex:"edit_item_bank",align:"center",width:150,render:(we,Re,fe)=>ee.createElement(st.default,{disabled:Re==null?void 0:Re.is_creator,defaultChecked:we,onChange:wt=>{(0,He.fg)({id:Dr,member_id:Re.id,clazz:"edit_item_bank",enable:wt.target.checked})}})},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u5377",dataIndex:"exercise",align:"center",render:(we,Re,fe)=>ee.createElement(st.default,{disabled:Re==null?void 0:Re.is_creator,defaultChecked:we,onChange:wt=>{(0,He.fg)({id:Dr,member_id:Re.id,clazz:"exercise",enable:wt.target.checked})}})}];function he(we){return ht(this,null,function*(){const Re=yield(0,He.Gt)(we==null?void 0:we.id);ft(we==null?void 0:we.id),ln(Re),lr(!0)})}return ee.createElement("ul",{className:"teaching-lists"},qe.map((we,Re)=>ee.createElement("li",{key:we.id,style:{marginTop:Re===0?30:16},onClick:()=>Et(Re)},ee.createElement("div",{className:"item-group"},ee.createElement("span",{style:{color:"#000000",fontSize:16,fontWeight:600}},we.name,"\u7684\u6559\u7814\u56E2\u961F"),ee.createElement("div",{className:"action-group"})),ee.createElement("div",{style:{display:"flex"}},ee.createElement("span",{style:{marginTop:29,marginLeft:24,color:"#5F6367"}},"\u56E2\u961F\u6210\u5458\uFF1A"),ee.createElement("ul",{className:"info",style:{flex:1}},we.memers.map(fe=>{var wt;return ee.createElement("li",{key:fe.id||fe.name,onClick:()=>{We(fe.id)},className:"directionItemWrap"},ee.createElement("div",{className:"hovename",style:{display:"flex",alignItems:"center",justifyContent:"center",fontWeight:400,fontSize:14,color:fe!=null&&fe.is_creater?"#000000":"#5F6367"}},((wt=fe.name)==null?void 0:wt.length)>6?fe.name.substr(0,6)+"....":fe.name,ee.createElement("img",{src:pt.Z,style:{marginLeft:5,display:!(fe!=null&&fe.is_creater)&&"none",height:25,width:78}})),we.is_creat?ee.createElement("div",{className:"groupActionWrap",style:{display:!(fe!=null&&fe.id)&&"none"}},ee.createElement("a",{className:"btn-del",onClick:en=>{en.preventDefault(),en.stopPropagation(),Pn(we.id,fe.id)}},"x")):null)})),we.is_creat||St?ee.createElement(yt.Z,{overlayClassName:"dropdowns",dropdownRender:()=>ee.createElement(Qe.default,null,ee.createElement(Qe.default.Item,{onClick:()=>{Lt(we)}},"\u4FEE\u6539\u540D\u79F0"),ee.createElement(Qe.default.Item,{disabled:we.memers.length>=50,onClick:()=>{Ut(we)}},"\u6DFB\u52A0\u6210\u5458"),we.is_creat&&ee.createElement(Qe.default.Item,{onClick:()=>he(we)},"\u6743\u9650\u914D\u7F6E"),we.is_creat&&ee.createElement(Qe.default.Item,{onClick:()=>Te(we)},"\u8F6C\u8BA9\u56E2\u961F"),ee.createElement(Qe.default.Item,{key:we.id+"",onClick:we.is_creat?sn:An},we.is_creat?"\u89E3\u6563":"\u9000\u51FA"))},ee.createElement("span",{style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20}},"\u8BBE\u7F6E",ee.createElement("i",{style:{marginLeft:5,color:"#979797"},className:"iconfont icon-a-bianzu11"}))):ee.createElement("span",{key:we.id+"",style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20},className:"c-grey-c",onClick:()=>Cn(we.id)},"\u9000\u51FA")))),ee.createElement(Oe.default,{width:700,wrapClassName:ut.Z.CustomCss,title:"\u6743\u9650\u914D\u7F6E",footer:null,open:tn,onCancel:()=>lr(!1)},ee.createElement(tt.Gi,null,ee.createElement(Je.default,{dataSource:dn==null?void 0:dn.members,columns:ve,pagination:!1,scroll:{y:240}})),ee.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")),ee.createElement(Oe.default,{title:"\u89E3\u6563\u63D0\u793A",wrapClassName:ut.Z.CustomCss,onOk:()=>{jt(hr),Nt(!1)},open:It,onCancel:()=>Nt(!1)},ee.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"),ee.createElement("p",null,"\u60A8\u786E\u5B9A\u8981\u89E3\u6563\u672C\u6559\u7814\u56E2\u961F\u5417\uFF1F")),ee.createElement(Oe.default,{wrapClassName:ut.Z.CustomCss,title:"\u8F6C\u8BA9\u56E2\u961F",onOk:()=>{if(!Rt){ye.ZP.info("\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A");return}je(Dr,Rt),ur(!1),Rt=""},open:Cr,onCancel:()=>{ur(!1),Rt=""}},ee.createElement("p",{style:{textAlign:"left"}},"\u9009\u4E2D\u7684\u6210\u5458\u5C06\u4F1A\u4EE5\u65B0\u7684\u521B\u5EFA\u4EBA\u8EAB\u4EFD\u63A5\u7BA1\u56E2\u4F53 ",ee.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"),ee.createElement("div",null,ee.createElement(Se.ZP.Group,{defaultValue:[],onChange:we=>{Rt=we.target.value,lt(we.target.value)}},(Nn=(gn=Le==null?void 0:Le.memers)==null?void 0:gn.filter(we=>we.is_teacher))==null?void 0:Nn.map((we,Re)=>ee.createElement(Se.ZP,{style:Ln,value:we==null?void 0:we.id},we==null?void 0:we.name))))))}},73180:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=ie(78241),st=ie(43418),yt=ie(92832),Qe=ie(42847);Wn.Z=({callback:Je,visible:ye,onCancel:Se,id:He,name:pt})=>{function tt(ht){Je(ht)}const[ut]=Oe.default.useForm();return(0,ee.useEffect)(()=>{ut.setFieldsValue({name:pt})},[pt]),ee.createElement(st.default,{centered:!0,title:He?"\u4FEE\u6539\u540D\u79F0":"\u65B0\u5EFA",open:ye,onCancel:Se,onOk:()=>{ut.submit()},wrapClassName:Qe.Z.CustomCss},ee.createElement(Oe.default,{form:ut,initialValues:{name:pt},onFinish:tt},ee.createElement(Oe.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"}]},ee.createElement(yt.default,{placeholder:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0",maxLength:20}))))}},30645:function(Bn,Wn,ie){"use strict";ie.d(Wn,{J:function(){return je},Z:function(){return _t}});var ee=ie(59301),Oe=ie(3113),st=ie(43418),yt=ie(58103),Qe=ie(69498),Je=ie(73180),ye=ie(32914),Se=ie(42847),He=ie(93351),pt=ie(85333),tt=ie(44225),ut=ie(86822),ht=Object.defineProperty,ot=Object.defineProperties,Fe=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Lt=(We,Rt,lt)=>Rt in We?ht(We,Rt,{enumerable:!0,configurable:!0,writable:!0,value:lt}):We[Rt]=lt,Ut=(We,Rt)=>{for(var lt in Rt||(Rt={}))St.call(Rt,lt)&&Lt(We,lt,Rt[lt]);if(qe)for(var lt of qe(Rt))jt.call(Rt,lt)&&Lt(We,lt,Rt[lt]);return We},At=(We,Rt)=>ot(We,Fe(Rt)),Mt=(We,Rt,lt)=>new Promise((dn,ln)=>{var tn=ft=>{try{Dr(lt.next(ft))}catch(Le){ln(Le)}},lr=ft=>{try{Dr(lt.throw(ft))}catch(Le){ln(Le)}},Dr=ft=>ft.done?dn(ft.value):Promise.resolve(ft.value).then(tn,lr);Dr((lt=lt.apply(We,Rt)).next())});function je({children:We}){return ee.createElement("div",{className:"no-data"},ee.createElement("img",{src:yt,alt:"no-data",width:300}),We)}const gn={data:[],loading:!0,selectedGroup:{},showFormPanel:!1,showMemberPanel:!1,index:0};var Nn=(We=>(We[We.INITDATA=0]="INITDATA",We[We.SHOWLOADING=1]="SHOWLOADING",We[We.SHOWFORMPANEL=2]="SHOWFORMPANEL",We[We.SHOWMEMBERPANEL=3]="SHOWMEMBERPANEL",We[We.SELECTGROUP=4]="SELECTGROUP",We[We.SETINDEX=5]="SETINDEX",We))(Nn||{});function rn(We,Rt){switch(Rt.type){case 0:return Ut(Ut({},We),Rt.payload);case 1:return At(Ut({},We),{loading:Rt.payload});case 5:return At(Ut({},We),{index:Rt.payload});case 2:return Ut(Ut({},We),Rt.payload);case 3:return Ut(Ut({},We),Rt.payload);case 4:return At(Ut({},We),{selectedGroup:Rt.payload,showFormPanel:!0});default:throw new Error}}function Et({user:We}){var Rt;const lt=(0,tt.useLocation)(),[dn]=(0,tt.useSearchParams)(),[ln,tn]=(0,ee.useReducer)(rn,gn),{data:lr,index:Dr,loading:ft,showFormPanel:Le,selectedGroup:Gt,showMemberPanel:Cr}=ln,ur=(Rt=We.userInfo)==null?void 0:Rt.role,[It,Nt]=(0,ee.useState)(dn.get("category")||"0"),hr=(0,ee.useMemo)(()=>{let mt=[],xt=[];if(lr){for(let On of lr)On.is_creat?mt.push(On):xt.push(On);return[mt,xt]}},[lr]);(0,ee.useEffect)(()=>{ur===15&&tn({type:5,payload:1})},[ur]);function ir(){return Mt(this,null,function*(){const mt=yield(0,Qe.XY)();(mt==null?void 0:mt.status)!==401&&tn({type:0,payload:{loading:!1,showFormPanel:!1,data:mt.groups,index:dn.get("category")||0}})})}(0,ee.useEffect)(()=>{ir()},[]);function sn(mt){return Mt(this,null,function*(){Gt.id?yield(0,Qe.n3)(Gt.id,mt):yield(0,Qe.Nd)(mt),ir()})}function An(){tn({type:2,payload:{showFormPanel:!0,selectedGroup:{}}})}function Cn(mt){tn({type:4,payload:mt})}function Pn(){tn({type:2,payload:{showFormPanel:!1}})}function Ln(){tn({type:3,payload:{showMemberPanel:!1,selectedGroup:{}}})}function Te(mt){tn({type:3,payload:{showMemberPanel:!0,selectedGroup:mt}})}function ve(mt,xt){return Mt(this,null,function*(){yield(0,Qe.UA)(mt,xt),ir()})}function he(mt){return Mt(this,null,function*(){yield(0,Qe.eE)(mt),ir()})}function we(mt){return Mt(this,null,function*(){yield(0,Qe.U2)(mt),ir()})}function Re(mt,xt){return Mt(this,null,function*(){yield(0,Qe.Gj)(mt,xt),ir()})}function fe(mt){tn({type:5,payload:parseInt(mt.target.id,10)})}function wt(mt,xt){return Mt(this,null,function*(){Ln(),yield(0,Qe.E2)({user_ids:mt,group_id:xt}),ir()})}const en=[{id:"0",name:"\u6211\u521B\u5EFA\u7684"},{id:"1",name:"\u6211\u52A0\u5165\u7684"}];return ee.createElement(ee.Fragment,null,ee.createElement("div",{className:"teaching-circling-container",style:{paddingLeft:45,paddingTop:22}},ee.createElement("div",{className:"teaching-circling-body"},ur===15?null:ee.createElement(He.YG,{value:It,onChange:mt=>{var xt;(xt=window.location.href.toString())!=null&&xt.includes("category")?(0,pt.jz)("category",mt):window.history.replaceState(null,"",window.location.href.indexOf("?")>-1?window.location.href+`&category=${mt}`:`?category=${mt}`),Nt(mt),tn({type:5,payload:parseInt(mt,10)})},tabBarExtraContent:ee.createElement(Oe.ZP,{type:"primary",disabled:lr.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:lr.length>=50?"\u60A8\u52A0\u5165\u7684\u6559\u7814\u7EC4\u5DF2\u8FBE\u4E0A\u9650":"",onClick:An},"\u65B0\u5EFA"),className:"mb25",dataSource:en}),ee.createElement("div",{className:hr[Dr].length===0?"nodata-content":"main-content"},hr[Dr].length===0?ee.createElement(je,null,ur<=12?ee.createElement(ee.Fragment,null," ",ee.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")," ",ee.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")," "):ee.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 ")):ee.createElement(ye.Z,{onExitGroup:we,Transferteams:Re,onPlusMember:Te,onDelMember:ve,onDelGroup:he,isAdminOrTeacher:ur<=12,onChangeGroupName:Cn,data:hr[Dr]})))),ee.createElement(Je.Z,{callback:sn,visible:Le,onCancel:Pn,id:Gt.id,name:Gt.name}),ee.createElement(st.default,{centered:!0,title:"\u6DFB\u52A0\u6210\u5458",open:Cr,onCancel:Ln,footer:null,width:1150,bodyStyle:{minHeight:200},wrapClassName:Se.Z.CustomCss},ee.createElement(ut.Z,{container_id:Gt.id,container_type:4,onSelect:wt,onCancel:Ln})))}var _t=(0,tt.connect)(({user:We})=>({user:We}))(Et)},69498:function(Bn,Wn,ie){"use strict";ie.d(Wn,{E2:function(){return Qe},Gj:function(){return ye},Gt:function(){return pt},Nd:function(){return st},U2:function(){return Je},UA:function(){return Se},XY:function(){return Oe},eE:function(){return He},fg:function(){return tt},n3:function(){return yt}});var ee=ie(58661);function Oe(){return(0,ee.U2)("teach_groups.json")}function st(ut){return(0,ee.v_)("teach_groups.json",ut)}function yt(ut,ht){return(0,ee.gz)(`teach_groups/${ut}.json`,ht)}function Qe(ut){return(0,ee.v_)("teach_group_members.json",ut)}function Je(ut){return(0,ee.IV)(`teach_group_members/${ut}.json`)}function ye(ut,ht){return(0,ee.gz)(`teach_groups/${ut}/change_admin.json`,{member_id:ht})}function Se(ut,ht){return(0,ee.IV)(`teach_groups/${ut}/del_member.json`,{member_id:ht})}function He(ut){return(0,ee.IV)(`teach_groups/${ut}.json`)}function pt(ut){return(0,ee.U2)(`teach_groups/${ut}/show_permission.json`)}function tt(ut){return(0,ee.gz)(`teach_groups/${ut==null?void 0:ut.id}/update_permission.json`,ut)}},23122:function(Bn,Wn,ie){"use strict";ie.r(Wn),ie.d(Wn,{default:function(){return j0}});var ee=ie(59301),Oe=ie(44225),st=ie(43418),yt=ie(8591),Qe=ie(3113),Je={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"},ye=ie(41592),Se=ie(78241),He=ie(5112),pt=ie(19842),tt=ie(92832),ut=ie(71418),ht=ie(58661),ot={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},Fe=ie(87169),qe=ie(59301),St=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())}),Lt=({type:Be,onCancel:Ce,onOk:be})=>{const[Ft]=Se.default.useForm(),[Rn,zr]=(0,ee.useState)(1),[Hr,En]=(0,ee.useState)(!1),[Jt,or]=(0,ee.useState)([]);(0,ee.useEffect)(()=>{Ft.setFieldValue("type",1),Rr()},[]);const Rr=()=>St(void 0,null,function*(){if(Be){En(!0);const qi=yield(0,ht.ZP)("/api/disciplines.json",{method:"get",params:{source:Be}});or(qi.disciplines||[]),En(!1)}}),ca=()=>{const{sub_discipline_id:qi,discipline_name:ga,sub_discipline_name:pa,type:Da}=Ft.getFieldsValue();if((!qi||qi&&qi.length===0)&&(!ga||!pa))return yt.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;be({user_customize:Da==2,sub_discipline_id:Da==1?[qi[1]]:null,discipline_name:ga,sub_discipline_name:pa})};return qe.createElement(st.default,{width:640,className:ot.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{Ce(),Ft.resetFields()},onOk:()=>{Ft.validateFields().then(qi=>{if(Rn==2&&(qi.discipline_name.replaceAll(" ","").length<=0||qi.sub_discipline_name.replaceAll(" ","").length<=0)){yt.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}ca(),Ft.resetFields()})}},qe.createElement("div",{className:ot.applyPublicContent},qe.createElement("div",{className:ot.tips},qe.createElement(Fe.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"),qe.createElement(Se.default,{labelAlign:"left",form:Ft},qe.createElement(Se.default.Item,{name:"type"},qe.createElement(He.ZP.Group,{onChange:qi=>{zr(qi.target.value),qi.target.value==1?Ft.setFieldsValue({discipline_name:"",sub_discipline_name:""}):Ft.setFieldsValue({sub_discipline_id:[]})}},qe.createElement(He.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),qe.createElement(He.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),Rn==1&&qe.createElement(Se.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},qe.createElement(pt.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:Jt,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(qi,ga)=>Ft.setFieldsValue({sub_discipline_id:qi})})),Rn==2&&qe.createElement(qe.Fragment,null,qe.createElement(Se.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},qe.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),qe.createElement(Se.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},qe.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),Hr&&qe.createElement("div",{className:ot.spin},qe.createElement(ut.Z,null))))},Ut=ie(58997),At="data:image/png;base64,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",Mt="data:image/png;base64,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",je=ie(60324),gn=ie(6848),Nn={flex_box_center:"flex_box_center___HlHga",flex_space_between:"flex_space_between___ZXfWh",flex_box_vertical_center:"flex_box_vertical_center___B_34d",flex_box_center_end:"flex_box_center_end___XaWUl",flex_box_column:"flex_box_column___dfD_W",ClassDesc:"ClassDesc___hvKGJ",LeftTitle:"LeftTitle___GVStZ",textname:"textname___KypkX",tupugx:"tupugx___iHe5s"},rn=ie(42684),Et=ie(85333),_t=ie(78162),We=ie(99313),Rt=ie(22061),lt=Object.defineProperty,dn=Object.defineProperties,ln=Object.getOwnPropertyDescriptors,tn=Object.getOwnPropertySymbols,lr=Object.prototype.hasOwnProperty,Dr=Object.prototype.propertyIsEnumerable,ft=(Be,Ce,be)=>Ce in Be?lt(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Le=(Be,Ce)=>{for(var be in Ce||(Ce={}))lr.call(Ce,be)&&ft(Be,be,Ce[be]);if(tn)for(var be of tn(Ce))Dr.call(Ce,be)&&ft(Be,be,Ce[be]);return Be},Gt=(Be,Ce)=>dn(Be,ln(Ce)),Cr=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const ur=({value:Be=[],onChange:Ce})=>{const[be,Ft]=(0,ee.useState)(null),Rn=(Hr,En,Jt)=>{const or=Array.from(Hr),[Rr]=or.splice(En,1);return or.splice(Jt,0,Rr),or},zr=(Hr,En)=>Cr(void 0,null,function*(){if(!Hr.destination)return;const Jt=Rn(En,Hr.source.index,Hr.destination.index);console.log("---",Jt),Ce==null||Ce([...Jt])});return ee.createElement(ee.Fragment,null,ee.createElement(tt.default,{value:be,placeholder:"\u8BF7\u8F93\u5165\u6807\u7B7E",maxLength:6,showCount:!0,addonAfter:"\u56DE\u8F66\u521B\u5EFA\u6807\u7B7E",onChange:Hr=>{Ft(Hr.target.value)},onPressEnter:Hr=>{be&&(Ce==null||Ce([...Be,be]),Ft(null))}}),ee.createElement("div",{className:"flex flex-wrap gap-14px-rem mt-12px-rem"},ee.createElement(Rt.Z5,{onDragEnd:Hr=>zr(Hr,Be)},ee.createElement(Rt.bK,{droppableId:"droppable",direction:"horizontal"},(Hr,En)=>ee.createElement("div",Gt(Le({ref:Hr.innerRef},Hr.droppableProps),{style:{display:"flex",overflow:"auto",flexWrap:"wrap",gap:5}}),Be.map((Jt,or)=>ee.createElement(Rt._l,{key:or,draggableId:or.toString(),index:or},(Rr,ca)=>ee.createElement("div",Gt(Le(Le({ref:Rr.innerRef},Rr.draggableProps),Rr.dragHandleProps),{className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:Le({margin:"0px"},Rr.draggableProps.style)}),ee.createElement("div",{key:or,className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:{background:"#EAF0F7"}},ee.createElement("div",{className:"c-black"},Jt),ee.createElement("span",{className:"iconfont icon-guanbi10 c-grey-999 current",style:{fontSize:"10rem"},onClick:()=>{Ce==null||Ce(Be==null?void 0:Be.filter(qi=>qi!=Jt))}}))))),Hr.placeholder)))))},It=({pathsDetail:Be,dispatch:Ce,DataProps:be,onFinish:Ft})=>{const Rn=(0,Oe.useParams)(),{actionTabs:zr,detail:Hr}=Be,[En]=Se.default.useForm(),[Jt,or]=(0,ee.useState)("0"),[,Rr,ca]=(0,_t.U)(ye.j_,{subject_id:Rn==null?void 0:Rn.pathId}),qi=[{title:"\u667A\u6167\u8D44\u6E90",node_types:["\u5B9E\u8BAD","\u89C6\u9891","\u8BFE\u4EF6","\u8BD5\u5377","\u95EE\u5377","\u7F16\u7A0B","\u865A\u4EFF","\u5206\u7EC4"],relation:"\u5173\u8054"},{title:"\u77E5\u8BC6\u56FE\u8C31",node_types:["\u8BFE\u7A0B\u56FE\u8C31","\u5927\u7EB2\u56FE\u8C31","\u601D\u653F\u56FE\u8C31","\u601D\u7EF4\u56FE\u8C31","\u80FD\u529B\u56FE\u8C31"],relation:"\u5173\u8054"},{title:"\u5B66\u4E60\u8DEF\u5F84",node_types:["\u521D\u59CB\u8DEF\u5F84","\u590D\u4E60\u8DEF\u5F84","\u8003\u524D\u8DEF\u5F84","\u8D44\u6E90\u63A8\u8350"],relation:"\u5173\u8054"},{title:"\u5B66\u60C5\u5206\u6790",node_types:["\u5B66\u60C5\u7EDF\u8BA1","\u80FD\u529B\u5206\u6790","\u638C\u63E1\u5206\u6790"],relation:"\u5173\u8054"}];return(0,ee.useEffect)(()=>{be&&En.setFieldsValue(Gt(Le({},be),{knowledge_statistics:qi==null?void 0:qi.map((ga,pa)=>{var Da;return Le(Le({},ga),((Da=be==null?void 0:be.knowledge_statistics)==null?void 0:Da.at(-(pa+1)))||{})})}))},[be]),ee.createElement(st.default,{title:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",open:zr.key==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",centered:!0,width:656,onCancel:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{}}})},okText:"\u4FDD\u5B58",confirmLoading:Rr,onOk:()=>{En.validateFields(["knowledge_statistics"],{recursive:!0}).then(()=>{En.submit()}).catch(ga=>{var pa,Da;const fi=(pa=ga==null?void 0:ga.errorFields)==null?void 0:pa.at(-1);fi&&or(`${(Da=fi==null?void 0:fi.name)==null?void 0:Da[1]}`)})}},ee.createElement(Se.default,{form:En,colon:!1,labelAlign:"right",labelCol:{span:5},size:"large",onFinish:ga=>Cr(void 0,null,function*(){const pa=yield ca(Gt(Le({},ga),{subject_id:Rn==null?void 0:Rn.pathId}));(pa==null?void 0:pa.status)==0&&(yt.ZP.success("\u4FDD\u5B58\u6210\u529F"),Ft==null||Ft())})},ee.createElement(Se.default.List,{name:"knowledge_statistics"},(ga,{add:pa,remove:Da})=>ee.createElement(ee.Fragment,null,ee.createElement(We.default,{defaultActiveKey:"1",activeKey:Jt,onTabClick:fi=>{or(fi)},items:ga.map((fi,Pi)=>({forceRender:!0,key:`${Pi}`,label:`\u7B2C${(0,Et.EM)(Pi+1)}\u5C42`,children:ee.createElement(ee.Fragment,null,ee.createElement(Se.default.Item,{name:[fi.name,"title"],label:"\u6807\u9898",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6807\u9898"},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},ee.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u6807\u9898",maxLength:6,showCount:!0})),ee.createElement(Se.default.Item,{name:[fi.name,"node_types"],label:"\u6807\u7B7E",rules:[{required:!0,validator(_i,Ea){const No=[8,6,5,5][Pi];return(Ea==null?void 0:Ea.length)==0?Promise.reject(new Error("\u8BF7\u6DFB\u52A0\u6807\u7B7E")):(Ea==null?void 0:Ea.length)>No?Promise.reject(new Error(`\u6700\u591A${No}\u4E2A\u6807\u7B7E`)):Promise.resolve()}}]},ee.createElement(ur,null)),Pi!==3&&ee.createElement(Se.default.Item,{name:[fi.name,"relation"],label:`\u4E0E\u7B2C${(0,Et.EM)(Pi+2)}\u5C42\u5173\u7CFB`,rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u4E0E\u7B2C${(0,Et.EM)(Pi+2)}\u5C42\u5173\u7CFB`},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},ee.createElement(tt.default,{placeholder:`\u4E0E\u7B2C${(0,Et.EM)(Pi+2)}\u5C42\u5173\u7CFB`,maxLength:6,showCount:!0})),ee.createElement(Se.default.Item,{label:"\u7EDF\u8BA1\u6570\u636E"},ee.createElement("div",{style:{color:"#232B40"}},ee.createElement("span",null,["\u5168\u90E8\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u8282\u70B9","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u6240\u6709\u77E5\u8BC6\u56FE\u8C31\uFF0C\u5305\u62EC\u80FD\u529B\u56FE\u8C31","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u5B66\u4E60\u8DEF\u5F84","\u83B7\u53D6\u5F53\u524D\u5DF2\u7ECF\u4E0A\u7EBF\u7684\u5B66\u60C5\u5206\u6790\u80FD\u529B\uFF0C\u5F53\u524D\u4E3A0"][Pi]))))}))})))))};var Nt=(0,Oe.connect)(({pathsDetail:Be})=>({pathsDetail:Be}))(It),hr="data:image/png;base64,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",ir="data:image/png;base64,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",sn="data:image/png;base64,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",An=ie(59301),Cn=Object.defineProperty,Pn=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,ve=(Be,Ce,be)=>Ce in Be?Cn(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,he=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ln.call(Ce,be)&&ve(Be,be,Ce[be]);if(Pn)for(var be of Pn(Ce))Te.call(Ce,be)&&ve(Be,be,Ce[be]);return Be},we=(Be,Ce)=>{var be={};for(var Ft in Be)Ln.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Pn)for(var Ft of Pn(Be))Ce.indexOf(Ft)<0&&Te.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be};const Re=({title:Be,className:Ce="",style:be={},index:Ft,name:Rn,dispatch:zr,detail:Hr})=>An.createElement("div",{className:`absolute ${Ce}`,style:be},An.createElement("img",{src:ir,width:"187rem",style:{width:"187rem"}}),An.createElement(je.Z,{content:Ft!==0&&An.createElement("div",{style:{alignItems:"center",textAlign:"center"}},An.createElement("div",null,"\u8BFE\u7A0B\u4E2D\u5305\u542B",Be,"\u4E2A",Rn),(Hr==null?void 0:Hr.can_managed)&&Be===0&&An.createElement("a",{onClick:()=>{console.log("----",Ft===1?2:3),zr({type:"pathsDetail/setActionTabs",payload:{key:"\u4FEE\u6539tab\u4FE1\u606F",type:Ft===1?2:3}})}},"\u524D\u5F80\u521B\u5EFA")),title:""},An.createElement("div",{className:"absolute",style:{top:"32rem",right:"65rem",color:"#FFCF1B",fontSize:"30rem"}},Be))),fe=({title:Be,className:Ce="",style:be={}})=>An.createElement("div",{className:`flex item-center justify-center absolute ${Ce}`,style:he({width:"200rem",height:"54rem",fontSize:"24rem",left:"50%",transform:"translateX(-50%)",bottom:"10rem",background:`url(${ie(10273)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",color:"#59F7FF"},be)}," ",Be," "),wt=({DataProps:Be=[],angleStep:Ce=.2,radius:be=500,top:Ft=0,verticalRadius:Rn=be})=>{const zr=(0,ee.useRef)(null),Hr=Math.PI+(Math.PI-((Be==null?void 0:Be.length)-1)*Ce)/2,En=({DataProps:Jt={},style:or={}})=>An.createElement("div",{className:"flex flex-col item-center c-white absolute",style:he({fontSize:"14rem"},or)},An.createElement(gn.Z,{title:Jt,placement:"topLeft"},An.createElement("div",{className:"multi_ellipsis1"},Jt)),An.createElement("img",{src:sn,width:"97rem",height:"97rem",style:{width:"97rem",height:"97rem"}}));return An.createElement("div",{ref:zr,className:"relative"},Be==null?void 0:Be.map((Jt,or)=>{const Rr=Hr+or*Ce,ca=be*Math.cos(Rr),qi=Rn*Math.sin(Rr);return An.createElement(En,{key:or,DataProps:Jt,style:{left:`calc(50% + ${ca}rem)`,bottom:`${qi+Rn+Ft}rem`,transform:"translateX(-50%)"}})}))},en=({DataProps:Be={},dispatch:Ce,detail:be})=>{var Ft;return An.createElement("div",{className:"flex flex-col item-center justify-center w-full h-full",style:{gap:"125rem"}},(Ft=Be==null?void 0:Be.knowledge_statistics)==null?void 0:Ft.map((Rn,zr)=>An.createElement(An.Fragment,null,zr==0&&An.createElement("div",{key:zr,className:"flex item-center justify-center",style:{height:0}},An.createElement("div",{className:"relative flex item-center justify-center",style:{background:`url(${ie(47444)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"296rem",height:"100rem",marginTop:"82rem",zIndex:4}},An.createElement(Re,{detail:be,dispatch:Ce,index:0,name:Rn==null?void 0:Rn.title,title:Rn==null?void 0:Rn.knowledge_graph_count,style:{right:"-120rem",top:"-64rem"}}),An.createElement(wt,{DataProps:Rn==null?void 0:Rn.node_types,angleStep:1.35,radius:100,top:-60,verticalRadius:30}),An.createElement(fe,{title:Rn==null?void 0:Rn.title}))),zr==1&&An.createElement("div",{key:zr,className:"flex item-center justify-center",style:{height:0}},An.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${ie(425)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"404rem",height:"168rem",marginTop:"10rem",zIndex:3}},An.createElement(Re,{detail:be,dispatch:Ce,index:1,name:Rn==null?void 0:Rn.title,title:Rn==null?void 0:Rn.knowledge_graph_count,style:{right:"-134rem",top:"-10rem"}}),An.createElement("div",{className:"absolute",style:{left:"-30rem",top:"0rem"}},An.createElement("img",{src:hr,width:"93rem",style:{width:"93rem"}}),An.createElement("div",{className:"absolute",style:{top:"5rem",left:"-25rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Rn==null?void 0:Rn.relation)),An.createElement(wt,{DataProps:Rn==null?void 0:Rn.node_types,angleStep:.15}),An.createElement(fe,{title:Rn==null?void 0:Rn.title}))),zr==2&&An.createElement("div",{key:zr,className:"flex item-center justify-center",style:{height:0}},An.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${ie(49260)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"542rem",height:"228rem",marginTop:"-65rem",zIndex:2}},An.createElement(Re,{detail:be,dispatch:Ce,index:2,name:Rn==null?void 0:Rn.title,title:Rn==null?void 0:Rn.knowledge_graph_count,style:{right:"-135rem",top:"24rem"}}),An.createElement("div",{className:"absolute",style:{left:"-40rem",top:"40rem"}},An.createElement("img",{src:hr,width:"114rem",style:{width:"114rem"}}),An.createElement("div",{className:"absolute",style:{top:"20rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Rn==null?void 0:Rn.relation)),An.createElement(wt,{DataProps:Rn==null?void 0:Rn.node_types,angleStep:.16}),An.createElement(fe,{title:Rn==null?void 0:Rn.title}))),zr==3&&An.createElement("div",{key:zr,className:"flex item-center justify-center",style:{height:0}},An.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${ie(24219)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"764rem",height:"257rem",marginTop:"-70rem",zIndex:1}},An.createElement(Re,{detail:be,dispatch:Ce,index:3,name:Rn==null?void 0:Rn.title,title:Rn==null?void 0:Rn.knowledge_graph_count,style:{right:"-115rem",top:"20rem"}}),An.createElement("div",{className:"absolute",style:{left:"-15rem",top:"34rem"}},An.createElement("img",{src:hr,width:"123rem",style:{width:"123rem"}}),An.createElement("div",{className:"absolute",style:{top:"25rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Rn==null?void 0:Rn.relation)),An.createElement(wt,{DataProps:Rn==null?void 0:Rn.node_types,angleStep:.16}),An.createElement(fe,{title:Rn==null?void 0:Rn.title}))))),An.createElement("div",{className:"flex item-center justify-center",style:{height:0}},An.createElement("img",{src:ie(32682),width:"600rem",height:"465rem",style:{width:"600rem",height:"465rem",marginTop:"-260rem"}})))},mt=({DataProps:Be,className:Ce="",style:be={}})=>An.createElement("div",{className:`flex flex-col item-center w-full h-full ${Ce}`,style:he({padding:"20rem 30rem",background:"#162442",borderRadius:"8rem",gap:"10rem"},be)},(Be==null?void 0:Be.AvatarDom)||An.createElement("img",{src:rn.Z.API_SERVER+"/images/"+((Be==null?void 0:Be.image_url)||(Be==null?void 0:Be.avatar)),width:"60rem",height:"60rem",style:{borderRadius:"50%",width:"60rem",height:"60rem"}}),An.createElement(gn.Z,{title:(Be==null?void 0:Be.username)||""},An.createElement("div",{className:"multi_ellipsis1"},(Be==null?void 0:Be.username)||""))),xt=Be=>{var Ce=Be,{pathsDetail:be,dispatch:Ft}=Ce,Rn=we(Ce,["pathsDetail","dispatch"]),zr,Hr,En,Jt,or,Rr,ca,qi,ga,pa,Da,fi,Pi,_i,Ea,No,va,da,Lo,$r,$i,Vi,ja,Aa,Ll,Ol,Eo;const Xs=(0,Oe.useParams)(),{actionTabs:Wo,detail:Ao}=be,Mi=(0,ee.useRef)(null),[el]=(0,Oe.useSearchParams)(),[Ui,aa]=(0,ee.useState)(0),[,Wa,Il,fl]=(0,_t.U)(ye.dX,{subject_id:Xs.pathId});return(0,ee.useEffect)(()=>{Mi.current&&setTimeout(()=>{const Pl=(0,Et.ZR)(Mi.current,"rem",1);aa(Pl)},500)},[Mi.current,(zr=be==null?void 0:be.detail)==null?void 0:zr.description]),(0,ee.useEffect)(()=>{Il({subject_id:Xs.pathId})},[]),An.createElement(ut.Z,{spinning:Wa},An.createElement("section",null,An.createElement("div",{className:"w-full relative c-white flex flex-col",style:{background:`url(${ie(12175)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"}},An.createElement("div",{className:"w-full flex justify-center item-center absolute blod text-center",style:{background:`url(${ie(93148)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",height:"282rem",letterSpacing:"5rem",lineHeight:"32rem",top:0,left:0,fontSize:"32rem",padding:"0 500rem 173rem"}},An.createElement(gn.Z,{title:(En=(Hr=be.detail)==null?void 0:Hr.name)==null?void 0:En.split(` +`)[0]},An.createElement("div",{className:"multi_ellipsis2"},(or=(Jt=be.detail)==null?void 0:Jt.name)==null?void 0:or.split(` +`)[0]))),An.createElement("span",{className:Nn.tupugx,onClick:()=>{var Pl;el.get("type")==="classrooms"?Oe.history.push((Pl=be==null?void 0:be.detail)==null?void 0:Pl.first_category_url):Oe.history.push(`/paths/${Xs.pathId}`)}},"\u8FD4\u56DE"),An.createElement("div",{className:"flex flex-1 minW-0",style:{paddingTop:"140rem",paddingLeft:"40rem",paddingRight:"40rem"}},An.createElement("div",{className:"flex-1 flex flex-col minW-0 relative",style:{padding:"50rem",borderRadius:"8rem",background:"rgba(32,47,79,0.3)",backdropFilter:"blur(10rem)",gap:"50rem"}},An.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nn.ClassDesc}`},"\u8BFE\u7A0B\u7B80\u4ECB"),An.createElement("div",{className:"relative"},An.createElement("div",{style:{height:"110rem",overflow:"hidden"}},An.createElement("div",{ref:Mi},An.createElement(Ut.Z,{className:"c-white",value:((Rr=be==null?void 0:be.detail)==null?void 0:Rr.description)||""}))),Ui>=110&&An.createElement("div",{className:"flex item-center justify-center current",style:{padding:"0 220rem",color:"#3061D0",marginTop:"10rem"},onClick:()=>{var Pl;st.default.confirm({title:"\u8BFE\u7A0B\u7B80\u4ECB",centered:!0,icon:null,width:900,closable:!0,cancelButtonProps:{style:{display:"none"}},content:An.createElement("div",{style:{maxHeight:"70vh",overflow:"auto"}},An.createElement(Ut.Z,{value:((Pl=be==null?void 0:be.detail)==null?void 0:Pl.description)||""}))})}},"\u67E5\u770B\u5168\u90E8")),An.createElement("div",{className:"flex w-full minW-0"},An.createElement("div",{className:"flex flex-col item-center"}," ",An.createElement("img",{src:ie(12260),width:"20rem",height:"17rem"})," \u5B66\u6821 "),An.createElement("div",{style:{padding:"12rem 38rem",background:"#162442",borderRadius:"8rem",marginLeft:"20rem"}},((ca=be==null?void 0:be.detail)==null?void 0:ca.school)||"")),An.createElement("div",{className:"flex w-full minW-0"},An.createElement("div",{className:"flex flex-col item-center",style:{marginTop:"25rem"}}," ",An.createElement("img",{src:ie(69303),width:"20rem"})," \u6559\u5E08 "),An.createElement("div",{className:"flex-1 minW-0",style:{gap:"10rem",marginLeft:"20rem",display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr 1fr"}},(Pi=((ga=(qi=be==null?void 0:be.detail)==null?void 0:qi.subject_members)==null?void 0:ga.length)>10?(Da=(pa=be==null?void 0:be.detail)==null?void 0:pa.subject_members)==null?void 0:Da.slice(0,9):(fi=be==null?void 0:be.detail)==null?void 0:fi.subject_members)==null?void 0:Pi.map((Pl,_l)=>An.createElement(mt,{key:_l,DataProps:Pl})),((Ea=(_i=be==null?void 0:be.detail)==null?void 0:_i.subject_members)==null?void 0:Ea.length)>10&&An.createElement(je.Z,{content:An.createElement("div",{className:"c-white",style:{gap:"10rem",maxWidth:"515rem",maxHeight:"425rem",display:"grid",overflow:"auto",gridTemplateColumns:"repeat(auto-fit, minmax(120rem, 1fr))"}},(da=(va=(No=be==null?void 0:be.detail)==null?void 0:No.subject_members)==null?void 0:va.slice(9))==null?void 0:da.map((Pl,_l)=>An.createElement(mt,{key:_l,DataProps:Pl}))),title:null,trigger:"click",color:"rgba(32, 47, 79, 1)",className:"c-white"},An.createElement("div",null,An.createElement(mt,{className:"current",DataProps:{AvatarDom:An.createElement("div",{className:"flex item-center justify-center",style:{borderRadius:"50%",width:"60rem",height:"60rem",background:"#202F4F"}},"+",(($r=(Lo=be==null?void 0:be.detail)==null?void 0:Lo.subject_members)==null?void 0:$r.slice(11)).length),username:"\u66F4\u591A"}})))))),An.createElement("div",{className:"flex-1 minW-0 relative",style:{padding:"50rem"}},(Ao==null?void 0:Ao.can_managed)&&An.createElement("div",{className:"current absolute flex item-center rounded-full",style:{padding:"5rem 10rem",top:0,right:0,gap:"10rem",background:"#202F4F"},onClick:()=>{Ft({type:"pathsDetail/save",payload:{actionTabs:{key:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"}}})}},An.createElement("span",{className:"iconfont icon-bianji14",style:{color:"#82A8FF"}})," \u7F16\u8F91"),An.createElement(en,{detail:Ao,dispatch:Ft,DataProps:(fl==null?void 0:fl.data)||{}}))),An.createElement("div",{className:"w-full flex",style:{marginTop:"20rem",paddingLeft:"40rem",paddingRight:"40rem",height:"168rem"}},An.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"8rem 0 0 8rem",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",borderRight:"1rem solid rgba(79,151,255,0.34)",gap:"10rem"}},An.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nn.LeftTitle}`},"\u5B66\u4E60\u7EDF\u8BA1"),[{value:($i=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:$i.course_count,title:"\u5E94\u7528\u8BFE\u5802\uFF08\u4E2A\uFF09"},{value:(Vi=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:Vi.school_count,title:"\u5E94\u7528\u9662\u6821\uFF08\u4E2A\uFF09"},{value:(ja=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:ja.initiative_study_count,title:"\u81EA\u4E3B\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(Aa=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:Aa.course_study_count,title:"\u8BFE\u5802\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(Ll=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:Ll.knowledge_visits,title:"\u7D2F\u8BA1\u6D4F\u89C8\u6B21\u6570\uFF08\u6B21\uFF09"}].map((Pl,_l)=>An.createElement("div",{key:_l,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},An.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},Pl==null?void 0:Pl.value),An.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},Pl==null?void 0:Pl.title)))),An.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"0 8rem 8rem 0",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",gap:"10rem"}},An.createElement("div",{className:`absolute flex flex-col item-center justify-center ${Nn.LeftTitle}`},"\u8D44\u6E90\u7EDF\u8BA1"),(Eo=(Ol=Ao==null?void 0:Ao.knowledge_statistics)==null?void 0:Ol.resource_data)==null?void 0:Eo.map((Pl,_l)=>An.createElement("div",{key:_l,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},An.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},Pl==null?void 0:Pl.num),An.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},Pl==null?void 0:Pl.node_type,"\uFF08\u4E2A\uFF09")))))),(Wo==null?void 0:Wo.key)==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"&&An.createElement(Nt,{DataProps:(fl==null?void 0:fl.data)||{},onFinish:()=>{Il({subject_id:Xs.pathId}),Ft({type:"pathsDetail/save",payload:{actionTabs:{}}})}})))};var On=(0,Oe.connect)(({pathsDetail:Be})=>({pathsDetail:Be}))(xt),yn=ie(59301),Qt=Object.defineProperty,pr=Object.defineProperties,Vr=Object.getOwnPropertyDescriptors,vn=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable,Ht=(Be,Ce,be)=>Ce in Be?Qt(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Tt=(Be,Ce)=>{for(var be in Ce||(Ce={}))dr.call(Ce,be)&&Ht(Be,be,Ce[be]);if(vn)for(var be of vn(Ce))ei.call(Ce,be)&&Ht(Be,be,Ce[be]);return Be},qt=(Be,Ce)=>pr(Be,Vr(Ce)),Un=(Be,Ce)=>{var be={};for(var Ft in Be)dr.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&vn)for(var Ft of vn(Be))Ce.indexOf(Ft)<0&&ei.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},nr=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Jr=[{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"}],Ii=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr}=Ce,En=Un(Ce,["pathsDetail","user","globalSetting","loading","dispatch"]),Jt,or,Rr,ca,qi,ga,pa,Da,fi,Pi,_i,Ea,No,va,da,Lo,$r;const[$i]=(0,Oe.useSearchParams)(),Vi=(0,Oe.useParams)(),[ja,Aa]=(0,ee.useState)({}),Ll=(0,ee.useRef)(1),[Ol,Eo]=(0,ee.useState)(),[Xs,Wo]=(0,ee.useState)(!1),[Ao,Mi]=(0,ee.useState)(!1),el=(0,ee.useRef)(null),Ui=!((Jt=be.detail)!=null&&Jt.can_managed),[aa,Wa]=(0,ee.useState)({status:!1}),Il=((or=be.detail)==null?void 0:or.is_free)||((Rr=be.detail)==null?void 0:Rr.can_learning);(0,ee.useEffect)(()=>{Wa({status:!1})},[]),(0,ee.useEffect)(()=>{function Dl(){return nr(this,null,function*(){var El,Ns,Es,tu,Ec,Lu,Bc;if((El=be.detail)!=null&&El.courses){const jc=(Ns=be.detail)==null?void 0:Ns.courses;if((Es=jc==null?void 0:jc.toast)!=null&&Es.is_open&&((tu=jc.toast)==null?void 0:tu.open_num)===-1)Mi(!0);else if((Ec=jc==null?void 0:jc.toast)!=null&&Ec.is_open&&((Lu=jc==null?void 0:jc.toast)==null?void 0:Lu.open_num)===1){let Td=JSON.parse(localStorage.getItem("pathsshow"))||[];((Bc=Td.filter(Pd=>Pd===(Vi==null?void 0:Vi.pathId)))==null?void 0:Bc.length)>0?Mi(!1):(Mi(!0),Td.push(Vi==null?void 0:Vi.pathId),localStorage.setItem("pathsshow",JSON.stringify(Td)))}else Mi(!1)}})}Dl()},[(ca=be.detail)==null?void 0:ca.courses]),(0,ee.useEffect)(()=>{var Dl,El,Ns,Es,tu,Ec,Lu,Bc,jc,Td,Pd;if(!((El=(Dl=be.detail)==null?void 0:Dl.courses)==null?void 0:El.length))return;let yf;if((Ns=be.detail)!=null&&Ns.has_start){const of=(tu=(Es=be.detail)==null?void 0:Es.courses)==null?void 0:tu.findIndex(Gd=>{var Dd;return((Dd=Gd.course_status)==null?void 0:Dd.status)===1});yf=of>-1?of:0}else{let of=(Bc=(Lu=(Ec=be.detail)==null?void 0:Ec.courses)==null?void 0:Lu.map(Gd=>{var Dd;return(Dd=Gd.course_status)==null?void 0:Dd.status}))==null?void 0:Bc.lastIndexOf(2);yf=of>-1?of:0,of=(Td=(jc=be.detail)==null?void 0:jc.courses)==null?void 0:Td.findIndex(Gd=>{var Dd;return((Dd=Gd.course_status)==null?void 0:Dd.status)===0}),yf=of>-1?of:yf}Aa(((Pd=be.detail)==null?void 0:Pd.courses[yf])||{})},[be.detail]);const fl=Dl=>{Wa({status:Dl})},Pl=Dl=>{st.default.confirm({centered:!0,width:590,title:"\u63D0\u793A",okText:"\u786E\u5B9A\u7533\u8BF7",cancelText:"\u53D6\u6D88\u7533\u8BF7",icon:null,content:yn.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",yn.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",yn.createElement("br",null)),onOk:()=>nr(void 0,null,function*(){let El={user_customize:Dl.user_customize,type:Dl.type};Dl.user_customize?El=qt(Tt({},El),{discipline_name:Dl.discipline_name,sub_discipline_name:Dl.sub_discipline_name}):Dl.sub_discipline_id&&(El=qt(Tt({},El),{sub_discipline_id:Dl.sub_discipline_id}));const Ns=yield(0,ye.WO)(Tt({id:Vi.pathId},El));((Ns==null?void 0:Ns.status)===0||(Ns==null?void 0:Ns.status)===1)&&(_l(),yt.ZP.success("\u516C\u5F00\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u7BA1\u7406\u5458\u7684\u5BA1\u6838"))})})},_l=()=>{Hr({type:"pathsDetail/getPathsDetail",payload:{id:Vi.pathId,knowledge:!0}}),Hr({type:"pathsDetail/getRightData",payload:{id:Vi.pathId}})};return yn.createElement("section",null,$i.get("type")!=="classrooms"?yn.createElement(On,null):yn.createElement("aside",{className:Je.banner,style:{backgroundImage:(pa=(ga=(qi=be==null?void 0:be.detail)==null?void 0:qi.attachments)==null?void 0:ga[0])!=null&&pa.url?`url(${(Pi=(fi=(Da=be==null?void 0:be.detail)==null?void 0:Da.attachments)==null?void 0:fi[0])==null?void 0:Pi.url})`:`url(${At})`}},yn.createElement("aside",{className:Je.wrp},yn.createElement("div",{className:Je.name},(Ea=(_i=be.detail)==null?void 0:_i.name)==null?void 0:Ea.split(` +`)[0]),yn.createElement("div",{className:Je.content},(va=(No=be==null?void 0:be.detail)==null?void 0:No.resource_data)==null?void 0:va.map((Dl,El)=>yn.createElement("span",{key:El},Dl==null?void 0:Dl.node_type,"\uFF1A",Dl==null?void 0:Dl.num)),((da=be.detail)==null?void 0:da.origin_subject_identifier)&&yn.createElement("div",{onClick:()=>{var Dl;window.open(`/paths/${(Dl=be.detail)==null?void 0:Dl.origin_subject_identifier}`)},className:Je.go},yn.createElement("img",{src:Mt,className:Je.goicon})," ",yn.createElement("div",{style:{cursor:"pointer"}},"\u524D\u5F80\u8BFE\u7A0B\u5B66\u4E60"))))),aa.status&&yn.createElement(Lt,{type:"subject",onCancel:()=>fl(!1),onOk:Dl=>{fl(!1),Pl(Dl)}}),yn.createElement(st.default,{open:Ao,title:"\u8BFE\u7A0B\u516C\u544A",width:593,maskClosable:!1,onCancel:()=>{Mi(!1)},centered:!0,footer:yn.createElement("div",null,yn.createElement(Qe.ZP,{type:"primary",onClick:()=>{Mi(!1)}},"\u6211\u77E5\u9053\u4E86"))},yn.createElement(Ut.Z,{style:{maxHeight:378,overflow:"auto"},value:($r=(Lo=be==null?void 0:be.detail)==null?void 0:Lo.toast)==null?void 0:$r.content})))};var ii=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(Ii),ea=ie(1773),vo={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"},Ha={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"},Hi={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"},wi="data:image/png;base64,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",Zo="data:image/png;base64,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",yo="data:image/png;base64,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",Pa="data:image/png;base64,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",Na=ie(31217),Br=ie(59301),Tn=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())}),ki=({})=>{var Be;const[Ce,be]=(0,ee.useState)(!0),[Ft,Rn]=(0,ee.useState)({}),zr=(0,Oe.useSelector)(Jt=>Jt),{pathsDetail:{detail:Hr}}=zr;(0,ee.useEffect)(()=>{Hr!=null&&Hr.id&&En()},[Hr==null?void 0:Hr.id]);const En=()=>Tn(void 0,null,function*(){Rn(Hr),be(!1)});return Br.createElement(Na.Z,null,Br.createElement("div",{className:Hi.information},Ce&&Br.createElement(ut.Z,{style:{width:"100%",marginTop:"300rem"},spinning:!0}),!Ce&&Br.createElement("div",{className:Hi.body},Br.createElement("div",{className:Hi.left},Br.createElement("div",{className:Hi.box,style:{marginBottom:"20rem"}},Br.createElement("img",{className:Hi.imgTitle,src:wi,style:{width:"453rem"}}),Br.createElement(Ut.Z,{value:(Ft==null?void 0:Ft.description)||""})),!!(Ft!=null&&Ft.learning_notes)&&Br.createElement("div",{className:Hi.box},Br.createElement("img",{className:Hi.imgTitle,src:yo,style:{width:"453rem"}}),Br.createElement(Ut.Z,{value:(Ft==null?void 0:Ft.learning_notes)||""}))),Br.createElement("div",{className:Hi.right},Br.createElement("img",{className:Hi.imgTitle,src:Zo,style:{width:"323rem"}}),Br.createElement("div",{className:Hi.listWarp},(Be=Ft==null?void 0:Ft.subject_members)==null?void 0:Be.map(Jt=>Br.createElement("div",{key:Jt==null?void 0:Jt.login,className:Hi.li},Br.createElement("img",{src:`${rn.Z.IMG_SERVER}/images/${Jt==null?void 0:Jt.avatar}`}),(Jt==null?void 0:Jt.role)===1&&Br.createElement("img",{src:Pa,style:{width:"68rem",position:"absolute",right:"-1rem",top:"-1rem"}}),Br.createElement("div",null,Br.createElement(gn.Z,{title:Jt==null?void 0:Jt.username},Br.createElement("b",{className:"c-grey-333"},(0,Et.Pq)(Jt==null?void 0:Jt.username,7))),Br.createElement(gn.Z,{title:Jt==null?void 0:Jt.school_name},Br.createElement("span",{className:"c-grey-999"},(0,Et.Pq)(Jt==null?void 0:Jt.school_name,7)))))))))))},Vt={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"},Vn=ie(58421),wr=ie(92310),Yn=ie.n(wr),Pr=ie(74972),br={md:"md___NMHUA",dark:"dark___hYBxG"},kr=ie(59301),vi=Object.defineProperty,at=Object.defineProperties,De=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable,wn=(Be,Ce,be)=>Ce in Be?vi(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,gr=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ot.call(Ce,be)&&wn(Be,be,Ce[be]);if(nt)for(var be of nt(Ce))xn.call(Ce,be)&&wn(Be,be,Ce[be]);return Be},Ar=(Be,Ce)=>at(Be,De(Ce)),fr=(Be,Ce)=>{var be={};for(var Ft in Be)Ot.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&nt)for(var Ft of nt(Be))Ce.indexOf(Ft)<0&&xn.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},qr=Be=>{var Ce=Be,{value:be,onChange:Ft,theme:Rn}=Ce,zr=fr(Ce,["value","onChange","theme"]);const Hr={dark:br.dark};return kr.createElement(Na.Z,{prefixCls:"md"},kr.createElement("div",{className:Yn()(br.md,Hr[Rn])},kr.createElement(Pr.Z,Ar(gr({},zr),{defaultValue:be,onChange:(En,Jt)=>{console.log("a:",En,Jt),Jt!=null&&Jt.length?Ft(En,Jt):Ft(En)}}))))},Xi=ie(5805),Nr=ie(59301),Gn=Object.defineProperty,Fn=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,Mn=Object.prototype.propertyIsEnumerable,zn=(Be,Ce,be)=>Ce in Be?Gn(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Jn=(Be,Ce)=>{for(var be in Ce||(Ce={}))Kt.call(Ce,be)&&zn(Be,be,Ce[be]);if(Fn)for(var be of Fn(Ce))Mn.call(Ce,be)&&zn(Be,be,Ce[be]);return Be},xr=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const $n=({type:Be,onEnter:Ce})=>{const[be,Ft]=(0,ee.useState)("");return Nr.createElement("div",{className:Vt.comment},Nr.createElement(qr,{theme:"dark",height:Be===1?"264rem":"134rem",value:be,onChange:Rn=>Ft(Rn)}),Nr.createElement(Qe.ZP,{size:"large",shape:"round",onClick:()=>Ce(be,Be),type:"primary",style:{width:"100rem",marginBottom:"12rem",float:"right"}},"\u53D1\u9001"),Nr.createElement("div",{style:{clear:"both"}}))};var pn=({})=>{const Be=(0,Oe.useParams)(),[Ce,be]=(0,ee.useState)(!0),[Ft,Rn]=(0,ee.useState)({page:1}),[zr,Hr]=(0,ee.useState)(0),[En,Jt]=(0,ee.useState)(!1),[or,Rr]=(0,ee.useState)([]);(0,ee.useEffect)(()=>{ca(Ft)},[]);const ca=fi=>xr(void 0,null,function*(){be(!0);const Pi=yield(0,ht.ZP)(`/api/paths/${Be==null?void 0:Be.pathId}/discusses.json`,{method:"get",params:fi});Pi!=null&&Pi.comments&&(Rr(Pi==null?void 0:Pi.comments),Hr(Pi==null?void 0:Pi.disscuss_count)),be(!1)}),qi=(fi,Pi)=>xr(void 0,null,function*(){be(!0);const _i=yield(0,ht.ZP)(`/api/paths/${Be==null?void 0:Be.pathId}/post_discuss.json`,{method:"post",body:{content:fi}});(_i==null?void 0:_i.status)===0&&(Ft.page=Pi===1?1:Ft.page,Rn(Jn({},Ft)),ca(Ft),Jt(!1))}),ga=(fi,Pi)=>xr(void 0,null,function*(){be(!0);const _i=yield(0,ht.ZP)(`/api/discusses/${En}/reply.json`,{method:"post",body:{container_type:"Shixun",content:fi}});_i!=null&&_i.discuss&&(Jt(!1),ca(Ft))}),pa=(fi,Pi)=>xr(void 0,null,function*(){be(!0);const _i=yield(0,ht.ZP)(`/api/discusses/${fi}/plus.json`,{method:"post",body:{container_type:"Discuss",type:Pi}});(_i==null?void 0:_i.status)!==-1&&ca(Ft)}),Da=(fi,Pi)=>xr(void 0,null,function*(){be(!0);const _i=yield(0,ht.ZP)(`/api/discusses/${fi}.json`,{method:"delete",body:{}});(_i==null?void 0:_i.status)===1&&(Ft.page=Pi===1&&or.length===1&&Ft.page!==1?Ft.page-1:Ft.page,Rn(Jn({},Ft)),ca(Ft))});return Nr.createElement(Na.Z,null,Nr.createElement(Nr.Fragment,null,Nr.createElement("span",{className:"relative",style:{float:"right"}},Nr.createElement("div",{className:Vt.addBtn,onClick:()=>Jt(!0)},"\u53D1\u5E03\u8BA8\u8BBA")),Nr.createElement("div",{className:Vt.exchange},Nr.createElement("div",{className:Vt.body},Nr.createElement(ut.Z,{spinning:Ce},En===!0&&Nr.createElement($n,{type:1,onEnter:qi}),zr?Nr.createElement(Nr.Fragment,null,Nr.createElement("div",{className:Vt.liWarp},or==null?void 0:or.map(fi=>{var Pi,_i,Ea,No;return Nr.createElement("div",{key:fi==null?void 0:fi.id,className:Vt.li},Nr.createElement("img",{src:`${rn.Z.IMG_SERVER}/images/${(Pi=fi==null?void 0:fi.author)==null?void 0:Pi.image_url}`}),Nr.createElement("aside",{style:{flex:1}},Nr.createElement("div",{className:Vt.head},Nr.createElement("b",null,(_i=fi==null?void 0:fi.author)==null?void 0:_i.name),Nr.createElement("span",null,fi==null?void 0:fi.time),Nr.createElement("div",{className:Vt.btns},Nr.createElement(gn.Z,{placement:"top",title:"\u56DE\u590D",color:"#434B64"},Nr.createElement("div",{onClick:()=>Jt(fi.id),className:Vt.reply},Nr.createElement("i",{className:"iconfont icon-a-huifupinglun"}))),(fi==null?void 0:fi.manage)&&Nr.createElement(gn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},Nr.createElement("div",{onClick:()=>Da(fi.id,1),className:Vt.delete},Nr.createElement("i",{className:"iconfont icon-shanchu17"}))),Nr.createElement(gn.Z,{placement:"top",title:"\u70B9\u8D5E",color:"#434B64"},Nr.createElement("div",{onClick:()=>pa(fi==null?void 0:fi.id,fi!=null&&fi.user_praise?0:1),className:Yn()(Vt.praise,(fi==null?void 0:fi.user_praise)&&Vt.active)},Nr.createElement("i",{className:"iconfont icon-dianzan7"}))),!!(fi!=null&&fi.praise_count)&&Nr.createElement("aside",{className:Vt.num},fi==null?void 0:fi.praise_count))),Nr.createElement(Ut.Z,{className:Vt.md,value:(fi==null?void 0:fi.content)||""}),!!((Ea=fi==null?void 0:fi.children)!=null&&Ea.length)&&Nr.createElement("div",{className:Vt.secondWrap},(No=fi==null?void 0:fi.children)==null?void 0:No.map(va=>{var da;return Nr.createElement("div",{className:Vt.secondLi},Nr.createElement("div",{className:Vt.secondHead},Nr.createElement("b",null,(da=va==null?void 0:va.author)==null?void 0:da.name),Nr.createElement("span",null,va==null?void 0:va.time),Nr.createElement("div",{className:Vt.secondBtns},(va==null?void 0:va.manage)&&Nr.createElement(gn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},Nr.createElement("div",{onClick:()=>Da(va.id,2),className:Vt.secondDelete},Nr.createElement("i",{className:"iconfont icon-shanchu17"}))))),Nr.createElement(Ut.Z,{className:Vt.md,value:(va==null?void 0:va.content)||""}))})),En===fi.id&&Nr.createElement($n,{type:2,onEnter:ga})))})),Nr.createElement("div",{className:Vt.pagination},Nr.createElement(Vn.Z,{onChange:fi=>{Ft.page=fi,Rn(Jn({},Ft)),ca(Ft)},total:zr,current:Ft==null?void 0:Ft.page,pageSize:10,hideOnSinglePage:!0,showSizeChanger:!1,showQuickJumper:!1,style:{marginTop:"20rem",marginBottom:"40rem"},showTotal:fi=>Nr.createElement("span",{style:{marginLeft:"10rem",color:"#fff"}},"\u5171",Nr.createElement("span",{style:{color:"#37AD83",margin:"0 5rem"}},fi),"\u6761\u6570\u636E")}))):!En&&Nr.createElement(Xi.Z,{textColor:"#fff",style:{visibility:Ce?"hidden":"visible"}}))))))},ni={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",disabledBtn:"disabledBtn___gfcug",addBtn:"addBtn___oYSpZ",ChangeBut:"ChangeBut___XjMr5",PublishBut:"PublishBut___r0ltL",SwitchStyle:"SwitchStyle___ioClp",spin:"spin___Oa3YX"},Ai=ie(78673),Ni="data:image/png;base64,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",bi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAAAXNSR0IArs4c6QAAHF9JREFUeF7VfHlwXMeZ39fHu+bGMbh5H6IIHZYJSTRXh2FvrJiSrJXLxB+J10fkkmwnVsW1STa34H9SlfVuJSsn3lA+lHLWcQWsteO1BItyZUmLtJayQXIpmZQokARBgLgxA8z1jr5S/WYGGIAAL0NV2K4i8d7rfn38+rv7e4PgAyhKKQSArtOzgqX1N7q/0ST1+8vL6uMjBCu9cKNBVqy/3ipvq0OlNHJ9+NChQ6u+f+DAATh69NzC2O+/P4Z27mxbWNTy+2pHK7Wr1tXVZWX1Wvd/vfF7eg6J21rcLW3TbY5Qpr5vkOu9fvLkGEom78LbtwNcuLDYUt9D5b7mMejH1bLkeU3FyZO/lXv2LG7C9cZHqJff5vJugc5vc4Te3l584ABQ/fpuADgHZ6/pyTQfRvF4KmyzUpmdzaOGhvgCRYb3fPEemstv1bbL53/Dg6BhCWuuNn5n5yEGsDZs/AGwcC+GC7NGuMIailoClL0FZyJN5TY1JQMA9ZV/+np50XUrPdft6nMXAuCzS2XbauNv/1awVnLwAwFwdHTeunb5owuPDOMBzNgmKy7ZkgXnCy6Kx5zbEvAl45e+ENnKux0rwL84fkfHIW/9Ath3gIw/VLcEwNZly5nJpQhP7rLDx4Waylj1Wl9UKpbXL7lfbEcyA266jsvxFaBbPj60vuSuXwDVATJ9Lu0ATNcsJR1eZ7Ieqq+zFbU3EkHaI/pZsaZVtOZ6tefL8am2i7MLRRFML2jilcavvpve/e3iOgawj8DMa5GZ2ZqlNpSvczmK9d9Gs41wfEcUwAUAp6ahvtel9lm1ulq3vL78nPD3C5IrCZCFugSXK41f7amx8fuF9QvgkV6a3ThWS0zhvOtSlpovREPzhpgJymHLYhvNzN4ijj5iyFLGtbJwWTsoC4EygMWhvBS5kAIlz9RQYrlej7/QuP7FPELotmRtzW6Hlx+EEqFzly8vSLPygCkAmANitJJCMUDU3EqBpuKWtQJIy2d4k/dYDufy80UZi/pKsPFlhnJ5/GpJbX55ft0CODDwrLGjWcSrk01Ic2GnJ1nUiEIMfCthBKQtAUGllQlgAg3bBQFHYNagVm2jH+nnK9ybplQqGJq3bSaKhQI4VnbBUK4dP1cIQoL5L4c2zPX29l5DpTe5V0uarT0FDjxr5FuMxEqTwWbacEsBCoyEIeXWpKHKoK0GzDV9rARgpZGRH5yTxrxwlKlywRiPRVen7vh301m0bgFUzxqFC1bqWvukAES2mRBxICeSpoDGlKJkiRxCXKDlz26GKrRbkfQvZWyTCygBCDwZrDR+ta/Y9k2zCK1TCjx79oC50WrQQmexVCQiER2hfViQEYuT1hSs4pEiHuDI+F/sxWyuQVE7L2jjrHI6Zlj0vllhNtUwsXZmWNhNQo7OmoYf9pjPXA4iToW69YNlEjnW3DKzbgFUZ3vNYmSqHiI1LFRioajgfqujlW0kVmfkWKP2zFYssezhDpp/a89KlRzsApip2YC0ZWSic4ZbW0qhFKBjMwb1udbmBox4K41f7S+6uWlq/QKoes3S8FwDaF5aKBEAzBFT7bY2PUpuwmIi3QA1JKhJh1KpgAHEp17+EPbGNl2PfXFoUQIobHrCaB5XjQ++EU3Uu57ngYGueiCDGvGgbfbF+UQ2tU2uWwAHB79mtdussbp4p6IoXGQg5jc5YAGUpGUxo71BSiCx8b7dVu6tfUj4aYUxQUAQkqU0kqJWF2uDS4XxEwS+xM4UM9vOY8AcFBMIKYmw9Wu5+TOn9bgJmHLd0EgHqI6/ZDM2NE6sWwDV4Ncs14Gy71ZbkEBF1eEw3hArQV2KESuVHnvpw7GZV/+NAqjQ0/Vobmmdws5FFtn1qsSUCEWIsurPqPY/OGGpuaKBL3ugliqo2red9oax9Qvg0BdsVyaaFijQ5iErTco7Ux5qajRlIe/IQGRlXbp58Ln/hPn8irLuZqBkzo7vKxLNA0gFkY2/KDV/anpeRmMRPDPdyC7mQgqsjF/ur+y6HPrVyNhaRaXX3g4c+oLtWdFKyLPse43xXWkLc+4InyFEUAFsW8qWdNO7n/0Okn77zYC1Uhtub/oxN+qvagLGrR//38JKF5QSKh/ELDAAms2h2SU+YqUT+/jUKFqjsP7aA6h6bW94ZiGC5CMDTbCdrZtiZ8cEbA0NijxznIJMNnec++JLIP2W2wWQWRt/qszGEYEdV2zo+T+OhYOAFSFiThaHC7vaNpJ3rlb7tq0as+bY1ZH1C+DI1x1fwgKAXsDRONzd0U4uTAiz0dFGRtE1HJc2NrWf//xBJPwKta4OI276FOCWp4Gf/3cA/thCw8Da+ioz60fAah9lrd2v21gxzc6Cl4KpIJ3eap1fjKICgGUD+B6AtXF0GKG1OVhaewrUAAK0W2ZZ9unisxi56O3osIApx5CBx+N1nnIaNw9+9k+wdK9VODVY4o4vgXH3/wCECLBzXwdx+b8u1Pr2tp8Ls3U8F+u6QBv3nDZxLjdTII5WINti745aBqsEFcqyz9d+tgayY3Ro/QI49mwERLLdBz+cdDk0bcGMak1OsvQmj2GMQSmkjOjOy5//Eyy9BYVD7/1LQGYjsDN/CBBMA9n8daB3/hkghEDm3oHgrY8BsJlFCnS2vBrQ5vHJ+p7TAaQnFSUkZiNWb04Mx8VQvnZ8gOqMNIDjl9Y1gL5yNlg1ZsQU39aoFBOhoQwYecKITAf1m3Ze/CeLFIgjYH0iCwibIVhyuh/otj8OwRJzvwb2m08CsKVHSgV7198ERttwNv2lX9ZHZy6ZSAYhCyNEGAdopyO1Yd1Fum4fubiOAeyNAOQ3Ls6WoOFgS2urOTRekNr/xcgVxCnKurYNF5/5UyQWKRC3/SEY974csmu1iNmjwAY+BSBCglpSfGfba67T+fZ8Y887STs3YgrGKOXSFmO5Cb6ldaMztKBElrzY+uAgQj1rcri+9jJw4l9EA1+V3bCKL3HV3dnRZAxPBDIdB46Qi6JOTjptGwe/9E0svSUyELd/Hox7vheCKKb6gZ36DICsDecvQuHbO36RS37sDTf1yJUEnRuxBGOMBspU+VJWtje2O4NXzRUM6qPnI4Pd3WtzuP6BAAiKbK7d8YATMhps7ABAKEZZUELx+pxnNm+/+Mx/wLK04PZV38HpTwKK7QZx+UUArVhXKW6k87WJ1ucPK5rkCeqNm6g0X+DUVgTENvviKChYOWj6nnMerVsAp74aC/zI1gUCNMouVV40JMb99FbfB6IAKyYhceeVL/9HLN1rAFwVsWUV2Yan/zxb/wfv+gxMgvg8woQ4BLF6Y+RSjMwVQgaojB++ygTSsTDzQuzcOgawN8ZKuR06TlctOdRRDworijDiXCJf2pEpP7l1x+hX/zURhRvagasBOpL8wsFsvPuibUDQZM0NGhCESoRSCopwGeWjlYMQA4za4G179LdrlR+z9iw8/a/iUBI7qwAyRNCU19HSRK5MzqmW8IBTA5hjyY6N4//2GepP3HOzFLesnRrveOHfu3RjqF1S5tywQUWguFR11nQmw9qam+nwsnP2cgAWNtafWb8ADn4twQjsCrmnsuJRubG9AcYn52VTHQJNgRFnXkQ2JPPHNzZlfvhlUGKFVJDrw+paO4+Ntv3RT0CWNXajnbuMJWdYcWnDbK5AWhtb8fCi21LpTvPF2xn/dFfXS6sL11vY0TWnwMzAs8l40tCJUeXCARgmZJpvaNMHHg51iwVOowWR7NAi3hGXE/HSiTsQzyZvJqYlke271uaruegjl3T3EsoANtDMZYsoPyfMOCWKtdGrV0FL2hWODWiRDaD1CqC6+GySc3o3VXjBldNyD5BCV2HTBlfYcS6RyaSZohSY9kpCICS6djM1otfoUQkYa8VUrtDvBRIMGwUZkyhuYDfXYYyMXDN+ZT8pxQoKwa/XL4Cn/3mKW6xGrpVJgCOE87KlUQiJPHCis0F8CweKpZQkPOSWCrTHhrFSGJDSpTbMipRCEghSSmIJCAmhMMZIEaQkxsBb7NygBdwXXEDKnJmhSqd5VFhgGUvSkvrb9Qvg21+p41h8aLkY4QLhvNHWiKRCRWVE5nlsQ5W6qlkCCikkNH4SIQ1SOdtVW49IaUoNfWiCpK4o96+flNs0WPNDlj4IUVLF5eQMJVUArxVotBOOI7ROZaB6+yt1PvAwyqyl04K/hDCa541NQmLkEyOSDWIbACOFUEhzRCJM9ZmIkBoVicIoPy4TkSZFpC8RKARSEgUCg+RI6YPk8jakzdwQAs4wBhnTAGIVqpdaf616b5G5N1Dnodoch1tQG0ubrrkSUWefqfc9ef+1M8JoRrU0G1ipIkSTMzy2TWBqEE12IBlGgiMlBUFSgqok/lTlH9bWnULlOA5grhCVmFBQiAoVOn1BkzE36CivAFippJiaDsP81xSdVczBsgtH1i2Aubc+10AwfrBKgUDKykRIhDOQbvVpfUtRmQ0+Q4aBWElJIcOQfGWxoSRcojlwmAFVRQPhCvtKrUAkKIIJk0YkbiPPQl7GEdnxlJyeBCVUORVsUZnpSeh7y8r/v/UL4MCzjaZge7XW1fMPlEERsSgDYkzjjrskNqJcKhR4rExfWAOkkEQI6f80n8rKu1q+aWBVJRUNa2rFSkkpNFPrOyUrYNsRE2EEQCTLN/IrZw0QDCOfEylEyMbl/4FgpKyY+/q6AlAv9OjRo4Rv5NHt/L3WeOHi3nCySArFmdaUXApiTNqbu6TChkKYlFyu5Z7mVayx0zgorShC1YH0JWjAwlWHgCLtDWp0Q/moWymtmgGkgZV0TCKVkgID95vYyEmCfC6wRQNhOpbBA40fUUJiEbAibf/r1j0vuGuR4na7MhAdHDhIt7V8KCELzCJRjLgRZcqbJzuyJ2L1pUt7PWzHqIGUB7EUx05S86jWoYEyGzRWSEnJuJCCC6kVgdSISa1BkNLyLiTOZUmQ4XNdo/WLNmkQwpRiTCnBCAGWCiEbs1kCkiuslCG8HOVuHpQStiqVmBCAiGmM1D16eMJqkZayFcW+zy/xfHd3tybRW066vBUA0ZGhIxZANAWGpAF1AtPNBEVMkV8s2rayFLWw0Vo629RYuvAwI7GUAkxN6WaILLkSORGCRMCVIkWIN3NFlqT8aJGv5FKrWd8t8U4qN0jLzNqZKwAKohDFhQmt0zlQwxZuyUd2lJFoSmtnS3lZIrxA9/m+cX9/0dlRcKd8iVsNYVPkUOEZBUNxQwRz+3fs1xr6psC8IYB9fX2k5b6Weh8jR6qSZxIzl/MNwymV4lybDVZKEFvELKJYDuW85vnpjzS6lx6NipkrkWAuk7MaWhhEEolgbEhTFZUsNB88Eot5EKvzsFMnEI0ohWnIytcpmsIw0tyrrySnShQtKM3ZMpe1RSnM35fUNKREuGg2dVgiP+vw3LxnNjbkSWqDIb28E8yOX0j9w7/JkToBTt28VL5FXBe5vpsfg1Z2Z7KUcpGyCWOl47uOZ3tvkAa36oR7jxyhe9pkc4JQnIvkZk+ejwW/tzEelaXZBMcmK8J0xmFOGpwInPzRsfE9T+yptxPRB+u80ciOmdcczUYuiiQKdtvOqJi5FGGZOQnakSoDWC5ly0xraGnYplCmxRUxAyAGAkSkZktNhQpLggXHUps6nNmEeViygITehqh4w+UeGbJNJTgnC3ZgWXlIZBpZo2MXEIxHxPY/HxuLT8buS7c6AfDuzu6J5ft2eOJwFApQbxKTTf9merqnZ+UjgGsBVIAOX/xVGqOSnfWyEz2dPcEPzhyOtlgoyX0DF4rTsz37etxXz726qaiKsz2dPYW+s31mPan/mBAitr1w8u3m+dOhGVMisWTebNpOpfDibGqIosDXjqy2XCiRXHCptFYMJ7/SCUXtF3crWcT6tVASIiwVIUAwUME5yJW9EM+IJwpm8x2X4vteSwStv+jq6mL9g/0J4pHkY3c/NrIS8fcP9lsGNpqZZO7+Hfv1keDSpNDal/rOnjXrjaEOkopOdTd1F7SmO3zucJ3wRZwH3Htq71OTuv2R0z9JZQNFPv3gp8NTr9cGXmvFltorpcSWGZy8b/gvH8BKRTRp5Ei6I6DRtB7WlMG8JQoZLErh5x0o1K6krGVDjStCzat9XKkps0KjVWoVmnM1WiFF1byDsKTA+BIJuhxw/U0KrmvK2a2pK3Ufeask+Ymn7i6vp/9Ufxri4O/fsT/Mp1kFyITDnfp4MX5VA19ts0CBA2M/i8zmzOZP3PG3w9XMpWPDr9R5eRlXgeJvzp+e6q2cI/Sf6e/Yf+/+hVP/vjf76pMx5xG9Yh13ac+fvrK5cPouABV+UMhILFbE8WaOLa04MAElQHKfAneJ8l2ieICUYBg4ByW1tVKO0GgKZAKVoy9lc0YqhCXWDoxhCIRNKr2SKb2ipmQN8AJFh8Z7WZsDwqiI4/Ulo7FtIto5ULSacoZkb3Tf93QYse5TfSR12mr+xIefuiZ+WAvmkSO9NGj9yIZ4Zn5i376e8KQrHECzYDOx2x/d9alQ0Ovy5pt9jmpKxgtFADMzX+ru7ln4yOqnJ37a7Lt+saf6TAH6+d/9VRdGRrNUooAJ5Ovyw7gtf/rOmJhzQoLSThQ2zEBFEgGOxBXGjlDY0CmBoho00KZMCJ7+6libg2V2qVxpWzC0nvXf0MAGFLaj3J2P8cxVinmFMghIKZCOQrgklmQ00ezSem8quuO3JZp0QcLIY3uePllda/+J/oRDhdnd9eTiqf0qlKi58o3zP9scLYyPdnU9V069/eWZv97yyD2nFihPPzv29it13FIkO8fU9N9N55577rkFstWftO576q5txtxvh6rHg0r14kPndlMtM6tj/+T0T1Kb5s5ur+cTO22WbbBkEZCQXLMnBgIKE4MjwxRATUGooRAyhCQUwgADaNc3LNplQ5rwlI4y6CACYwRJRqSmXBZQGSwAxzExpBGN+WAlAxIzXZqYzUXar+RJY04prHX98Nwge6eqFDTxpPJ40z948DMXlny9pBQ6dulnG/yA2MwLgqCIZ5966Knw+ODgwEFje6Sj7eO7Hx9GR468bENTU6q78/FrNNFq8qDayRbSsJn73uT+vZ9dVXZU++g70hfbRC+0JQqZNouwNJZukjDP1qYXUR6mSHsRQmgjZWHcZYag1CyJMJKAiSSUCkVNgakpkI0DaiFOYpJR2/VwNF+iqYxr1BeRlEgb1YgYWSDovcfu/fRUpX907O0fptyS1Wi4DUPd3d3LY9foyOBftVvSjJWyLvYxZB5/oGcBo9ff+2kbv2TMosNnftwUMKPwZNeTtUnN18NuSd1rA/+rFQKISoymPvngP76lT6j07te54ASy6CR8N2L4JZuokgVYGpQzqogR8c34ltDNqygcRAwptLeCDMGRHQSY+giBUBwrrY8kkogI7WJjJaT0iYEmkbSu/P4Dn85ob1Bzz6NPbUowMNOMBfnHH/jiioSj7d+t98U2e4LRIO8DC2j2sd9bAB+OnO2Lgctt9KszP27KsOnCk13P3RaAZRmlUP/R/9lsOGYcMcP3HGfmiT1P/M6+ptb2QeB+NIxOa4EtdZxw5YIQlVLxQCKUF4rNOgRPZ4adOc2qIWgHdkcgJxoFRqawzblP3PP09Gq+sF7PsXd/3EK5SnpKKhkwFgg1U8tpCwBqZeFTSHbXkOdNk98KDc+e7TOvZvONEpvh56wSIw8ymVyh0FI8cOCADrqEmN/MGK8c+2EdxXKf9psxRlJKJInWFIwzAxNf6JwPCkVP+SXfDYownXbPnTunXnhhN/q/R4vxWBwnkABb6kR3jotzdWSmVkavNAcN3slLhxK+T1KKCTsIdCYALU1ePj/Z09O7IN9fP/WjNmPey4SrOfabH259qGvw8lolXtdOrLpBgTvvIItSnfWmbMJxoAS1ZOBzEVi+HwBEeDweiHx+ZwXcX8L78Va0YcrHhU0taqu7VeXzeRWPv48uXSpSqy1Jox41pc0tgpShP5JASoRmk4cIj1mkRANrrmpu3MyGaVOO+DOmKDYkAhlEfOZykZXZYFO6sH/H/nK+HgAMDBw0isLpePTBzw2FAGpFQmNm20Nd/2hoLUI8NzFZ1N//omkYli0j0qIoYkjhESkxEVQTG0GiJLEVt4AxjqQSypCGIlQ7wFhq8DEBwRViuOT6jPne/v3P33QAoHZ+2mA6dKgPb73Lb4JSaV5aiQaPiTgSgTc3wSZiW+twd+eiCdfXd4C0b31881UnMqKpeUGmHDny32MyTptnL9VdXs3vuwlg/t400XLxhRd61Yn3frQJzRfcwCSSStQgBJOlOfuqaZYjsN3dX1z4klkb0pDo2FxQYqyqM5YIZU2J2IENhE9NPPTQH1+bkPf3Bp6VJ9rX12v29PQyHcu8Fxs75jw5ceL10bmPPdHaTHzS4BI1nYkns62ZmejDD381W9ML+sXAwUScm02ZTP7K/v3PL7DzNVpNk/TRo99pxxEwivXu2P4di43XAj+982v1re5q89FGfVWenznzg6bz99izPahHnDnznY4gwNFTp/il8fFx8fEnWjsUV7FCJrioQTlz5gfRe+/9XO3PNZQ9MpVtQ0h6+/Z9Rbt6qwcTaiekd6u9vbFVyyXHIROvvDLu/a4Lf/PN79b7finS3f186EcfO/btOs4dt8ommgOWs0zV09Hs89GP9oqqt3D48Dejjz32L8PF6k0/d+7l5s7Osk136tT32vTfD3/4mbHj730vbhe4zle82NX1XEmLKtPEmwuFwpB+P2TLkFUXEy5Ds+fRtLYiWkxTMcsyxrTbttKG3TCgqgewrOZmAOlwHhQnJuZnDxx4gd2qsunvf9FqakI7u7q+9k510QMDf9F5//1f0T9tFH4Fd/z4f9v90EP/LPypo9CcOPnSHV1dz71X0XytQUD8ffu+FCZKv/PO9zfMzXmFKqu99da3tgjhzFfrT5367qYgKIm9e58fPXjwoHH33cE235+9UAVqOSfo8X7+82+ZqZTRKISIEkKKvj85eaNM1hsCWIt6f/+LiWQS1yGEDADsAjRkRkcPBT09h7TTdV3b7syZb0bPny+yqi2lKSGZtBOaSsqWQC9NpVq23HfflwerAJ448e1dH/nIP31X3+sNSMdF+/0Pfz1MKgoj5S0TdzzyyPPnKnNEx4792Y6HH/4j/X44l4GBg8murufmV2F11NfXh++4Y9jO5YwGE6hd4iwwjGD2VuT/LQFYO5GBgYORYL5Yp2wafoQRBOA7LuRcJ1Oanj6rbgbU2v6qv7nV2blorJ448WJi797nF/zs48f/c7x2cRrUWoF+HRmN+voO4K3Z38f5naVonKKEAGErSZU0zNLs7GT2ySd7b8sTu20Al092YKA3IvORhNCJUpiFqYFKCkaAeNItlq4UkJdOg9TgnjvXqbQJsVa/3aJl4De+0Yt2796N0ulzyHVnSVNTu+1lUNTCpu3jIJyPZZjMVeBG5ufnu24TsOXrXjMAV9p9bbHn86VonIDjs6JpgUmF4kTHALUdQPXBMQdJuTaQfUmwITgrScaQNFNRWf31J0IC5BIDGYbClAF2PZfGDAsjhyDhciIIYIQJogSkKCGpDMEEwwEzzFI8HimupgDWwqr4QAG8mQmqvj5yITZBS8SnU1jQZlvh2TmfJJMmcl0jnJ/jMCVFoAIfpElsYUjCI8Lio05G3EjI38wcfpc2/x+SX4/uLi8icAAAAABJRU5ErkJggg==",Ji="data:image/png;base64,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",fa="data:image/png;base64,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",oa=ie(14006),ji=ie(57809),Qa=ie(17574),Fa={flex_box_center:"flex_box_center___g95QO",flex_space_between:"flex_space_between___DdZrd",flex_box_vertical_center:"flex_box_vertical_center___XptQo",flex_box_center_end:"flex_box_center_end___OeRyD",flex_box_column:"flex_box_column___GCZDS",addModal:"addModal___rkVQM",contentWrap:"contentWrap___hdqno",boxTitle:"boxTitle___messp",tip:"tip___w9Tak",leftBox:"leftBox___kDArQ",formSty:"formSty___RXRPG",rightBox:"rightBox___BUv9Q",nodeData:"nodeData___FbbqZ",yc:"yc___lhz8B",yclj:"yclj___Z6AKQ",nametitle:"nametitle___lR1nK",treeheight:"treeheight___RZ8Gb"},qo=ie(89489),ma=ie(61648),_o=ie(93351),Ci={contentWrap:"contentWrap___ni2IK",titleSty:"titleSty___EglCE",leftBox:"leftBox___s2Tog",rightBox:"rightBox___UXF7P",tipSty:"tipSty___tamqo"},Qo=ie(5083),ol=ie(24905),mo=ie(66649),Oa=ie.n(mo),Go=ie(22298),_a=ie(30450),Ga=ie(65899),ll=ie(93948),tl={con_warp:"con_warp___UwmUW",success_txt:"success_txt___bixIU"},Jo=ie(59301),Zr=Object.getOwnPropertySymbols,Li=Object.prototype.hasOwnProperty,xo=Object.prototype.propertyIsEnumerable,jo=(Be,Ce)=>{var be={};for(var Ft in Be)Li.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Zr)for(var Ft of Zr(Be))Ce.indexOf(Ft)<0&&xo.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},nl=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Ul=Be=>{var Ce=Be,{shixunsDetail:be,globalSetting:Ft,loading:Rn,dispatch:zr,showModal:Hr,onCancel:En,onOk:Jt,okBtnName:or="\u5B8C\u6210",info:Rr,source:ca}=Ce,qi=jo(Ce,["shixunsDetail","globalSetting","loading","dispatch","showModal","onCancel","onOk","okBtnName","info","source"]);const[ga,pa]=(0,ee.useState)(0),[Da,fi]=(0,ee.useState)(0);return(0,ee.useEffect)(()=>{let Pi=null;const _i=()=>nl(void 0,null,function*(){let Ea={id:Rr==null?void 0:Rr.courseId,send_time:Oa()().format("YYYY-MM-DD HH:mm"),exercise_id:Rr!=null&&Rr.exercise_id?Rr==null?void 0:Rr.exercise_id:null},No={id:Rr==null?void 0:Rr.courseId,course_id:Rr==null?void 0:Rr.courseId,identifier:Rr==null?void 0:Rr.courseId,type:"normal",is_use:1,is_copy:!0};ca==="\u8BD5\u5377"?(Ea.examination_bank_ids=Rr==null?void 0:Rr.examination_bank_ids,Ea.type="ExaminationBank"):ca==="\u5B9E\u8BAD"?Ea.shixun_info=(Rr==null?void 0:Rr.shixun_info.length)>0?Rr==null?void 0:Rr.shixun_info:[No]:ca==="\u5B9E\u8BAD\u548C\u8BD5\u5377"&&(Ea.examination_bank_ids=Rr==null?void 0:Rr.examination_bank_ids,Ea.shixun_info=(Rr==null?void 0:Rr.shixun_info.length)>0?Rr==null?void 0:Rr.shixun_info:[No]);const va=yield(0,ht.ZP)(`/api/courses/${Rr==null?void 0:Rr.courseId}/send_shixun_progress.json`,{method:"post",body:Ea});(va==null?void 0:va.status)===0&&(pa(va==null?void 0:va.complete_num),fi(va==null?void 0:va.total_num),(va==null?void 0:va.complete_num)!==(va==null?void 0:va.total_num)?(Pi&&clearInterval(Pi),Pi=setInterval(_i,5e3)):Pi&&clearInterval(Pi))});return Hr&&(Rr!=null&&Rr.courseId)&&_i(),()=>{Pi&&clearInterval(Pi)}},[Hr]),Jo.createElement(st.default,{centered:!0,maskClosable:!1,width:400,title:"\u5B9E\u8BAD\u52A0\u5165\u8BFE\u5802\u63D0\u793A",closable:ga==Da,open:Hr,destroyOnClose:!0,footer:null,onCancel:En},Jo.createElement("div",null,"\u5F53\u524D\u9009\u4E2D",Jo.createElement("span",{className:"mr5 ml5",style:{color:"#3061D0"}},Da),"\u4E2A\u5B9E\u8BAD\u52A0\u5165\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u8BF7\u7A0D\u5019\u3002"),Jo.createElement("div",{className:tl.con_warp},Jo.createElement(ll.Z,{className:"mt15 mb5",strokeColor:"#3061D0",trailColor:"rgba(144, 150, 163, 0.1)",percent:ga==Da&&Da!=0?100:ga/Da*100,showInfo:!1,size:[350,10]}),Jo.createElement("div",{className:tl.success_txt},"\u5DF2\u6210\u529F\u53D1\u9001",Jo.createElement("span",{className:"mr5 ml5",style:{color:"#3061D0"}},ga),"\u4E2A"),ga!=Da&&Jo.createElement(Qe.ZP,{disabled:!0},"\u5904\u7406\u4E2D"),ga==Da&&Jo.createElement(Qe.ZP,{type:"primary",onClick:Jt},or)))};var wl=(0,Oe.connect)(({shixunsDetail:Be,loading:Ce,globalSetting:be})=>({shixunsDetail:Be,globalSetting:be,loading:Ce.models.index}))(Ul),ra=ie(59301),Sa=Object.defineProperty,Fl=Object.defineProperties,pl=Object.getOwnPropertyDescriptors,su=Object.getOwnPropertySymbols,Qs=Object.prototype.hasOwnProperty,Au=Object.prototype.propertyIsEnumerable,_s=(Be,Ce,be)=>Ce in Be?Sa(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Ls=(Be,Ce)=>{for(var be in Ce||(Ce={}))Qs.call(Ce,be)&&_s(Be,be,Ce[be]);if(su)for(var be of su(Ce))Au.call(Ce,be)&&_s(Be,be,Ce[be]);return Be},$s=(Be,Ce)=>Fl(Be,pl(Ce)),Ws=(Be,Ce)=>{var be={};for(var Ft in Be)Qs.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&su)for(var Ft of su(Be))Ce.indexOf(Ft)<0&&Au.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},zu=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const xu={\u8BD5\u5377:"#F65160",\u89C6\u9891:"#4237E7",\u5B9E\u8BAD:"#145DFF",\u8BFE\u4EF6:"#1B8565",\u4F5C\u4E1A:"#21B292",\u5176\u4ED6:"#B96B18",\u6559\u6750:"#B96B18",\u56FE\u6587:"#B96B18",\u5206\u7EC4:"#21B292",\u7AE0\u8282:"#B16514"},$a={\u8BD5\u5377:"#FEEDEF",\u89C6\u9891:"#ECEAFC",\u5B9E\u8BAD:"#E7EEFF",\u8BFE\u4EF6:"#EBF6F2",\u4F5C\u4E1A:"#ECFBF7",\u5176\u4ED6:"#FFF7EF",\u6559\u6750:"#FFF7EF",\u5206\u7EC4:"#ECFBF7",\u56FE\u6587:"#FFF7EF",\u7AE0\u8282:"#FFF3EC"},Za=Be=>{var Ce=Be,{pathsDetail:be,classroomList:Ft,user:Rn,globalSetting:zr,dispatch:Hr,visible:En,setVisible:Jt,detail:or,uuid:Rr,treeList:ca,onOk:qi}=Ce,ga=Ws(Ce,["pathsDetail","classroomList","user","globalSetting","dispatch","visible","setVisible","detail","uuid","treeList","onOk"]),pa;const Da=(0,Oe.useParams)(),[fi,Pi]=(0,ee.useState)([]),[_i,Ea]=(0,ee.useState)([]),[No]=Se.default.useForm(),[va,da]=(0,ee.useState)(1),[Lo,$r]=(0,ee.useState)([]),[$i,Vi]=(0,ee.useState)(0),[ja,Aa]=(0,ee.useState)([]),[Ll,Ol]=(0,ee.useState)(!0),[Eo,Xs]=(0,ee.useState)(!1),[Wo,Ao]=(0,ee.useState)(!1),[Mi,el]=(0,ee.useState)(!1),[Ui,aa]=(0,ee.useState)({});Da.coursesId=Da.pathId,Da.id=Da.coursesId,(0,ee.useEffect)(()=>{if(En){if(Dl(),Il(),Ft.actionTabs.type===2){const Ns=Ft.actionTabs.selectArrsAll[0];Ol(Ns.unified_setting)}else Ol(!1);const El=Wa(ca);Ea(El),Pi([])}},[En]);const Wa=El=>El==null?void 0:El.map(Ns=>{const{id:Es,node_type:tu,name:Ec,children:Lu,position:Bc}=Ns;return{key:Es,title:"has_children"in Ns?`${Ec}`:ra.createElement(ra.Fragment,null,ra.createElement("span",{style:{color:xu[tu],backgroundColor:$a[tu],padding:"2px 4px",marginRight:"5px"}},tu),ra.createElement("span",null,Ec)),children:(Lu==null?void 0:Lu.length)>0?Wa(Lu):[],tag:"has_children"in Ns?"":tu}}),Il=El=>zu(void 0,null,function*(){Xs(!0);const Ns=yield(0,_a.c_)($s(Ls({},Da),{page:El||va,limit:2e4}));Ns==null||Ns.course_groups.map((Es,tu)=>{Es.key=Es.id,Es.title=Es.name,Es.disabled=Es.is_published}),Ns&&($r([...Ns==null?void 0:Ns.course_groups]),Vi(Ns==null?void 0:Ns.course_groups_count),Xs(!1),El||No.setFieldsValue({publish_time:Oa()(Oa()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:Oa()(Oa()(new Date((0,Et.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),fl=El=>{console.log("onCheck",El),Pi(El)},Pl=()=>zu(void 0,null,function*(){var El,Ns,Es;const tu=Ls({},No.getFieldsValue());if(tu.end_time<=tu.publish_time){yt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),Ao(!1);return}if((ja==null?void 0:ja.length)<=0&&!Ll&&Lo.length>0){yt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),Ao(!1);return}let Ec={ids:[...fi],group_ids:ja.length>0?ja.map(Bc=>Bc.id):(El=Ft.detailShixunsList)==null?void 0:El.course_groups,end_time:Oa()(tu.end_time).format("YYYY-MM-DD HH:mm"),publish_time:Oa()(tu.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!ja.length,subject_id:Da.pathId};Ao(!0);const Lu=yield(0,ht.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:Ls({},Ec)});Lu.status===0&&(((Ns=Lu==null?void 0:Lu.examination_bank_ids)==null?void 0:Ns.length)>0||((Es=Lu==null?void 0:Lu.shixun_info)==null?void 0:Es.length)>0?(aa($s(Ls({},Lu),{courseId:Da==null?void 0:Da.coursesId})),Jt(!1),el(!0)):_l()),Ao(!1)}),_l=()=>{qi(Rr,""),Hr({type:"classroomList/setActionTabs",payload:{}}),Hr({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),Xs(!1),Dl(),(0,Et.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),yt.ZP.success("\u53D1\u5E03\u6210\u529F")},Dl=()=>{da(1),$r([]),Aa([])};return ra.createElement(st.default,{title:"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90",open:En,confirmLoading:Wo,width:"1200rem",centered:!0,onOk:Pl,onCancel:()=>{Jt(!1)},maskClosable:!1},ra.createElement(ut.Z,{spinning:Eo},ra.createElement("div",{className:`flex w-full ${Ci.contentWrap}`},ra.createElement("div",{className:`p-10px-rem flex-1 minW-0 ${Ci.leftBox}`},ra.createElement("div",{className:Ci.titleSty},"\u9009\u62E9\u8D44\u6E90"),ra.createElement(Qa.default,{checkable:!0,onCheck:fl,checkedKeys:fi,treeData:_i,defaultExpandedKeys:[(pa=ca==null?void 0:ca[0])==null?void 0:pa.id]})),ra.createElement("div",{className:`flex flex-col flex-1 minW-0 ${Ci.rightBox}`},ra.createElement("div",{className:Ci.titleSty},"\u53D1\u5E03\u89C4\u5219"),ra.createElement("p",{className:Ci.tipSty},"\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 \u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),ra.createElement(Se.default,{className:"flex flex-col",form:No},ra.createElement("div",{className:"flex item-center gap-10px-rem"},ra.createElement(Se.default.Item,{className:"flex-1 minW-0",name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},ra.createElement(Qo.default,{disabledDate:El=>(0,Ga.Q8)(El,null),disabledTime:El=>(0,Ga.d0)(El),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Oa()((0,Et.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1})),ra.createElement(Se.default.Item,{className:"flex-1 minW-0",name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},ra.createElement(Qo.default,{placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Oa()((0,Et.U6)(),"HH:mm")},disabledDate:El=>(0,Ga.Q8)(El,null,No.getFieldValue("publish_time")),disabledTime:El=>(0,Ga.d0)(El,No.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1}))),Lo.length<=0&&Ft.actionTabs.type===2&&ra.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"'),Lo.length>0&&ra.createElement("div",{className:"flex justify-between ",style:{marginBottom:"10rem"}},ra.createElement(ol.default,{className:"flex-1 minW-0",checked:ja.length===Lo.length,onChange:El=>{ja.length===Lo.length?Aa([]):Aa(Lo)}},"\u5168\u9009"),ra.createElement("div",{className:"flex-1 minW-0"},"\u5DF2\u9009\u62E9",ja.length||0,"\u4E2A\u5206\u73ED")),(Ft.actionTabs.type===1||!Ll)&&Lo.length>0&&ra.createElement(Go.Z,{className:"flex-1 minW-0",data:Lo,selectedRowKeys:ja,setSelectedRowKeys:Aa,handleChangePage:()=>{}}))))),ra.createElement(wl,{source:"\u5B9E\u8BAD\u548C\u8BD5\u5377",showModal:Mi,onCancel:()=>el(!1),info:Ui,onOk:_l}))};var Ma=(0,Oe.connect)(({pathsDetail:Be,classroomList:Ce,user:be,globalSetting:Ft})=>({pathsDetail:Be,classroomList:Ce,user:be,globalSetting:Ft}))(Za),an=ie(59301),Vo=Object.defineProperty,Sl=Object.defineProperties,ds=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,gs=Object.prototype.hasOwnProperty,Bs=Object.prototype.propertyIsEnumerable,Su=(Be,Ce,be)=>Ce in Be?Vo(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Vs=(Be,Ce)=>{for(var be in Ce||(Ce={}))gs.call(Ce,be)&&Su(Be,be,Ce[be]);if(bs)for(var be of bs(Ce))Bs.call(Ce,be)&&Su(Be,be,Ce[be]);return Be},Zu=(Be,Ce)=>Sl(Be,ds(Ce)),Io=(Be,Ce)=>{var be={};for(var Ft in Be)gs.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&bs)for(var Ft of bs(Be))Ce.indexOf(Ft)<0&&Bs.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},os=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const gu=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr,addmodal:En,setaddmodal:Jt,uuid:or,onOk:Rr}=Ce,ca=Io(Ce,["pathsDetail","user","globalSetting","loading","dispatch","addmodal","setaddmodal","uuid","onOk"]),qi,ga,pa,Da,fi,Pi,_i,Ea,No,va,da;const Lo=(0,Oe.useParams)(),[$r,$i]=(0,ee.useState)([]),[Vi,ja]=(0,ee.useState)(!1),[Aa,Ll]=(0,ee.useState)([]),[Ol]=Se.default.useForm(),Eo=Se.default.useWatch("uuid",Ol),[Xs,Wo]=(0,ee.useState)(!1);(0,ee.useEffect)(()=>{var Wa,Il;if(En){if(Mi(),or){const fl=((Il=(Wa=be==null?void 0:be.detail)==null?void 0:Wa.route_nodes)==null?void 0:Il.find(Pl=>(Pl==null?void 0:Pl.id)==or))||{};(fl==null?void 0:fl.knowledge_labels)=="--"&&(fl.knowledge_labels=""),Ol.setFieldsValue(Vs({},fl))}el()}},[En]);function Ao(Wa,Il){for(let fl of Wa)Il.push(fl),fl.children&&fl.children.length>0&&Ao(fl.children,Il)}const Mi=()=>os(void 0,null,function*(){ja(!0);let Wa=yield(0,ht.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:Lo==null?void 0:Lo.pathId}});(Wa==null?void 0:Wa.status)===0&&Ll([{id:1,name:"\u5168\u90E8"},...(Wa==null?void 0:Wa.data)||[]]),ja(!1)}),el=()=>os(void 0,null,function*(){const Wa=Ol.getFieldValue("knowledge_labels")||[],Il=Ol.getFieldValue("resource_labels")||[],fl=(Wa==null?void 0:Wa.length)>0?Wa:["\u5168\u90E8"],Pl=Ol.getFieldValue("uuid")||or;if(!Pl){yt.ZP.info("\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31");return}ja(!0);let _l=yield(0,ht.ZP)("/api/subject_knowledge/tree.json",{method:"post",body:{uuid:Pl,subject_id:Lo==null?void 0:Lo.pathId,knowledge_labels:fl,resource_labels:Il,id:or,is_edit:!!or}});(_l==null?void 0:_l.status)===0&&$i(_l==null?void 0:_l.data),ja(!1)}),Ui=Wa=>{console.log(Wa);const Il=Wa.node.id,fl=Wa.dragNode.id,Pl=Wa.node.pos.split("-"),_l=Wa.dropPosition-Number(Pl[Pl.length-1]),Dl=(Es,tu,Ec)=>{for(let Lu=0;Lu{Ec.splice(tu,1),Ns=Es}),!Wa.dropToGap)Dl(El,Il,Es=>{Es.children=Es.children||[],Es.children.unshift(Ns)});else{let Es=[],tu;Dl(El,Il,(Ec,Lu,Bc)=>{Es=Bc,tu=Lu}),_l===-1?Es.splice(tu,0,Ns):Es.splice(tu+1,0,Ns)}$i(El)},aa=Wa=>os(void 0,null,function*(){var Il,fl,Pl,_l,Dl;let El=[];if(Ao($r,El),($r==null?void 0:$r.length)<=0||((Il=El==null?void 0:El.filter(tu=>!(tu!=null&&tu.is_out)))==null?void 0:Il.length)===0||((fl=$r==null?void 0:$r.filter(tu=>!(tu!=null&&tu.is_out)))==null?void 0:fl.length)===0){yt.ZP.info("\u5B66\u4E60\u8DEF\u5F84\u4E0D\u53EF\u4E3A\u7A7A");return}Wo(!0);const Ns=Zu(Vs({},Wa),{uuid:Wa.uuid||or,subject_id:Lo==null?void 0:Lo.pathId,routes:$r});or&&(Ns.id=(Dl=(_l=(Pl=be==null?void 0:be.detail)==null?void 0:Pl.route_nodes)==null?void 0:_l.find(tu=>tu==null?void 0:tu.is_choice))==null?void 0:Dl.id);const Es=yield(0,ht.ZP)("/api/subject_knowledge.json",{method:"post",body:Vs({},Ns)});(Es==null?void 0:Es.status)===0&&(yt.ZP.success(or?"\u7F16\u8F91\u6210\u529F":"\u65B0\u589E\u6210\u529F"),Rr(Es==null?void 0:Es.id,""),Jt(!1)),Wo(!1)});return an.createElement(st.default,{title:or?"\u7F16\u8F91\u5B662\u4E60\u8DEF\u5F84":"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",open:En,width:"1140rem",className:Fa.addModal,centered:!0,onOk:()=>os(void 0,null,function*(){Ol.submit()}),okButtonProps:{loading:Xs},okText:or?"\u5B8C\u6210\u7F16\u8F91":"\u5B8C\u6210\u521B\u5EFA",onCancel:()=>{Jt(!1)},maskClosable:!1},an.createElement(ut.Z,{spinning:Vi},an.createElement("div",{className:Fa.contentWrap},an.createElement("div",{className:Fa.leftBox},an.createElement("div",{className:`flex item-center gap-10px-rem ${Fa.boxTitle}`},"\u57FA\u672C\u4FE1\u606F",an.createElement(gn.Z,{title:an.createElement(an.Fragment,null,"\u8DEF\u5F84\u540D\u79F0\uFF1A\u586B\u5199\u672C\u5B66\u4E60\u8DEF\u5F84\u540D\u79F0\uFF0C\u5982\uFF1A\u6587\u79D1\u5B66\u4E60\u8DEF\u5F84\u3001\u57FA\u7840\u5B66\u4E60\u8DEF\u5F84\u7B49",an.createElement("br",null),"\u9002\u7528\u4EBA\u7FA4\uFF1A\u586B\u5199\u9002\u5408\u9002\u7528\u672C\u5B66\u4E60\u8DEF\u5F84\u7684\u7528\u6237\uFF0C\u5982\uFF1A\u6587\u79D1\u4E13\u4E1A\u5B66\u751F\u7B49",an.createElement("br",null),"\u7B80\u4ECB\uFF1A\u5BF9\u672C\u5B66\u4E60\u8DEF\u5F84\u505A\u57FA\u672C\u4ECB\u7ECD\uFF0C\u5982\uFF1A\u4ECB\u7ECD\u8D44\u6E90\u7C7B\u578B\u7B49",an.createElement("br",null),"\u77E5\u8BC6\u56FE\u8C31\uFF1A\u9009\u62E9\u672C\u8BFE\u7A0B\u4E2D\u5DF2\u7ECF\u521B\u5EFA\u7684\u77E5\u8BC6\u56FE\u8C31",an.createElement("br",null),"\u8D44\u6E90\u7C7B\u578B\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u7C7B\u578B",an.createElement("br",null),"\u56FE\u8C31\u6807\u7B7E\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u6807\u7B7E",an.createElement("br",null),"\u6CE8\u610F\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8D44\u6E90\u7C7B\u578B\u548C\u56FE\u8C31\u6807\u7B7E\u7B5B\u9009\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5185\u5BB9\uFF0C\u66F4\u5FEB\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")},an.createElement("span",{className:"iconfont icon-tishi7 current",style:{color:"#FF8C29"}}))),an.createElement(Se.default,{className:Fa.formSty,form:Ol,layout:"horizontal",onFinish:aa,scrollToFirstError:!0,size:"large",colon:!1,labelAlign:"right",initialValues:{knowledge_labels:["\u5168\u90E8"],uuid:((ga=(qi=be==null?void 0:be.detail)==null?void 0:qi.nodes)==null?void 0:ga.length)>1?(fi=(Da=(pa=be==null?void 0:be.detail)==null?void 0:pa.nodes.slice(1))==null?void 0:Da[0])==null?void 0:fi.uuid:""}},an.createElement(Se.default.Item,{label:"\u8DEF\u5F84\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0"}]},an.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0",maxLength:20})),an.createElement(Se.default.Item,{label:"\u9002\u7528\u4EBA\u7FA4",name:"applicable_people"},an.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u9002\u7528\u4EBA\u7FA4",maxLength:50})),an.createElement(Se.default.Item,{label:"\u7B80\u4ECB",name:"description"},an.createElement(tt.default.TextArea,{placeholder:"\u8BF7\u8F93\u5165\u7B80\u4ECB",rows:3,maxLength:200})),an.createElement(Se.default.Item,{label:"\u77E5\u8BC6\u56FE\u8C31",name:"uuid",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31"}]},an.createElement(ji.default,{placeholder:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31",options:((_i=(Pi=be==null?void 0:be.detail)==null?void 0:Pi.nodes)==null?void 0:_i.length)>1?(Ea=be==null?void 0:be.detail)==null?void 0:Ea.nodes.slice(1):[],fieldNames:{label:"name",value:"uuid"}})),an.createElement(Se.default.Item,{label:"\u8D44\u6E90\u7C7B\u578B",name:"resource_labels",initialValue:["\u5168\u90E8"]},an.createElement(ji.default,{placeholder:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B",mode:"multiple",showSearch:!0,optionFilterProp:"node_type",options:((da=(va=(No=be==null?void 0:be.detail)==null?void 0:No.nodes)==null?void 0:va.find(Wa=>(Wa==null?void 0:Wa.uuid)==Eo))==null?void 0:da.resource_labels)||[],fieldNames:{label:"node_type",value:"node_type"}})),an.createElement(Se.default.Item,{label:"\u56FE\u8C31\u6807\u7B7E",name:"knowledge_labels"},an.createElement(ji.default,{allowClear:!0,mode:"multiple",placeholder:"\u8BF7\u9009\u62E9\u56FE\u8C31\u6807\u7B7E",options:Aa,fieldNames:{label:"name",value:"name"}}))),an.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},an.createElement(_o.op,{shape:"default",onClick:el},"\u67E5\u8BE2"))),an.createElement("div",{className:Fa.rightBox},an.createElement("div",{className:Fa.boxTitle},"\u5B66\u4E60\u8DEF\u5F84",an.createElement("span",{className:Fa.tip},"\uFF08\u62D6\u52A8\u53EF\u8C03\u6574\u8DEF\u5F84\u987A\u5E8F\uFF09")),an.createElement("div",{style:{maxHeight:"500rem",overflow:"auto"}},($r==null?void 0:$r.length)>0?an.createElement(Qa.default,{style:{background:"#FAFAFA"},treeData:$r,showLine:!0,blockNode:!0,fieldNames:{key:"id"},className:Fa.treeheight,draggable:!0,onDrop:Ui,switcherIcon:an.createElement(qo.Z,null),titleRender:Wa=>an.createElement("div",{className:Fa.nodeData,style:{color:Wa!=null&&Wa.is_out?"#999999":"#000000"}},an.createElement("span",{style:{color:xu[Wa==null?void 0:Wa.node_type],backgroundColor:$a[Wa==null?void 0:Wa.node_type],padding:"2px 4px",marginRight:"5px"}},Wa==null?void 0:Wa.node_type),an.createElement("div",{className:Fa.nametitle,title:Wa==null?void 0:Wa.name,style:{flex:1}},(Wa==null?void 0:Wa.is_out)&&an.createElement("span",{className:Fa.yc},"\u5DF2\u79FB\u51FA")," ",Wa==null?void 0:Wa.name),an.createElement("span",{className:Fa.yclj,style:{color:Wa!=null&&Wa.is_out?"#37AD83":"#E30000",fontSize:"14rem"},onClick:()=>{const Il=(Pl,_l)=>{var Dl;Pl.is_out=_l,((Dl=Pl==null?void 0:Pl.children)==null?void 0:Dl.length)>0&&Pl.children.forEach(El=>Il(El,_l))},fl=!Wa.is_out;Wa.is_out=fl,Il(Wa,fl)}},Wa!=null&&Wa.is_out?"\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84":"\u79FB\u51FA\u5B66\u4E60\u8DEF\u5F84")," ")}):an.createElement(ma.Z,{styles:{margin:"20rem auto"}}))))))};var Ho=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(gu),sl=ie(68971),ro={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"},Yt=ie(48475),mr=ie(95237),Hn="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",hi="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=",ao="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=",Kn="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=",Cl="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==",na="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==",Di="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAg1JREFUSEvtl09IFFEcx7/fN6hhQS5FiOShEjwUFIWt00FPdYlw25BO/YOOC0XQHmT35EgYHYJOQacugrC7eDa7iLbbpWutWUSGJR1WpSLZfb8YYWtWZ5gZkT3EzPV9v7/vh++8ebxhPGctAnIUQR5ymZBZ1cb0/MXMp7rFLFhntWCEkD4RdAUYpUnOsLN9iPHcqAQwNEhIrktL65nSpfSCWbBSovFYIEboOUpdbQAg+BaUdbdBAhyHoL2+RnJakemalteAtFzoPoHLR07j4J59vhzp4iQ+rn2HUrj9D4BYKiWz3V5uMz92X4t+6AD4DcGEQG4OdvVivH/YN7guuP7yGcqVr1sBWC4lM72eAAUrpbU8ca4bSlVqWnfY4TZE0McVgERVwKyCxysQXBMg7hbydPAGTh7wLG+bxb2BoPguuv8GYEMR9wD19ysQkT6BpPzK2Z0GuH0TmlMPenS1utAUAIJfilcyh51h5wpjp2pav2kKwGYIsUTAcRCxU0RizQPwS/JY3509sMNw2xYBRA1EDUQNRA3YDcTa9uJdZRmrG798z9Tn5Xms/Fzbcif0tXkLevYfwvvVldATaOA8zZx1V4BjgdxETIABiLheAEkuAvgQYFaNwMyrZOYRA4gbJMMyaXzOl+0fEcdNiT9oSKKYyL4IOy80QD2gPz9qAbgFwTfDMO7MJUZmw4bb+j/0UVXnXVodrAAAAABJRU5ErkJggg==",go="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=",Yl="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",Zi=ie(43604),Va=ie(72518),ci=ie(59301),rl=Object.defineProperty,Ka=Object.defineProperties,ul=Object.getOwnPropertyDescriptors,ls=Object.getOwnPropertySymbols,Uo=Object.prototype.hasOwnProperty,zl=Object.prototype.propertyIsEnumerable,il=(Be,Ce,be)=>Ce in Be?rl(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Hl=(Be,Ce)=>{for(var be in Ce||(Ce={}))Uo.call(Ce,be)&&il(Be,be,Ce[be]);if(ls)for(var be of ls(Ce))zl.call(Ce,be)&&il(Be,be,Ce[be]);return Be},Ps=(Be,Ce)=>Ka(Be,ul(Ce)),ps=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const wo=({classroomList:Be,dispatch:Ce,courseEndTime:be})=>{const Ft=(0,Oe.useParams)(),[Rn]=Se.default.useForm(),[zr,Hr]=(0,ee.useState)(1),[En,Jt]=(0,ee.useState)([]),[or,Rr]=(0,ee.useState)(0),[ca,qi]=(0,ee.useState)(20),[ga,pa]=(0,ee.useState)(!0),[Da,fi]=(0,ee.useState)([]),[Pi,_i]=(0,ee.useState)(!0);Ft.coursesId=Ft.pathId,Ft.id=Ft.coursesId,(0,ee.useEffect)(()=>{if(Be.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03")if(va(),Ea(),Be.actionTabs.type===2){const Vi=Be.actionTabs.selectArrsAll[0];_i(Vi.unified_setting)}else _i(!1)},[Be.actionTabs]);const Ea=Vi=>ps(void 0,null,function*(){pa(!0);const ja=yield(0,_a.c_)(Ps(Hl({},Ft),{page:Vi||zr,limit:2e4}));ja==null||ja.course_groups.map((Aa,Ll)=>{Aa.key=Aa.id,Aa.title=Aa.name,Aa.disabled=Aa.is_published}),ja&&(Jt([...ja==null?void 0:ja.course_groups]),Rr(ja==null?void 0:ja.course_groups_count),pa(!1),Vi||Rn.setFieldsValue({publish_time:Oa()(Oa()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:Oa()(Oa()(new Date((0,Et.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),No=()=>ps(void 0,null,function*(){var Vi;const ja=Hl({},Rn.getFieldsValue());if(ja.end_time<=ja.publish_time){yt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),$i(!1);return}if((Da==null?void 0:Da.length)<=0&&!Pi&&En.length>0){yt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),$i(!1);return}let Aa={ids:[...Be.actionTabs.selectArrs],group_ids:Da.length>0?Da.map(Ol=>Ol.id):(Vi=Be.detailShixunsList)==null?void 0:Vi.course_groups,end_time:Oa()(ja.end_time).format("YYYY-MM-DD HH:mm"),publish_time:Oa()(ja.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!Da.length,subject_id:Ft.pathId};$i(!0),(yield(0,ht.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:Hl({},Aa)})).status===0?(Ce({type:"classroomList/setActionTabs",payload:{}}),Ce({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),$i(!1),va(),(0,Et.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),yt.ZP.success("\u53D1\u5E03\u6210\u529F")):$i(!1)}),va=()=>{Hr(1),Jt([]),fi([])},da=or>zr*ca,{detailShixunsList:Lo}=Be,[$r,$i]=(0,ee.useState)(!1);return ci.createElement(st.default,{width:600,centered:!0,confirmLoading:$r,title:"\u53D1\u5E03\u8282\u70B9",open:Be.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03",okText:"\u786E\u8BA4\u53D1\u5E03",cancelText:"\u53D6\u6D88",className:Va.Z.modal,onOk:()=>No(),onCancel:()=>{va(),Ce({type:"classroomList/setActionTabs",payload:{}})}},ci.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",ci.createElement("br",null),"\u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),ci.createElement(Se.default,{form:Rn},ci.createElement("div",{style:{paddingLeft:0}},ci.createElement(mr.Z,{className:"mt30",align:"middle"},ci.createElement(Zi.Z,null,ci.createElement(Se.default.Item,{name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},ci.createElement(Qo.default,{style:{width:170,marginRight:"25px"},disabledDate:Vi=>(0,Ga.Q8)(Vi,be),disabledTime:Vi=>(0,Ga.d0)(Vi),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Oa()((0,Et.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1}))),ci.createElement(Zi.Z,{className:"ml20"},ci.createElement(Se.default.Item,{name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},ci.createElement(Qo.default,{style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Oa()((0,Et.U6)(),"HH:mm")},disabledDate:Vi=>(0,Ga.Q8)(Vi,be,Rn.getFieldValue("publish_time")),disabledTime:Vi=>(0,Ga.d0)(Vi,Rn.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1})))),Be.actionTabs.type===2&&ci.createElement(mr.Z,{style:{marginBottom:"10px"}},ci.createElement("span",{className:"mr5"},"\u53D1\u5E03\u8BBE\u7F6E:"),ci.createElement(He.ZP.Group,{value:Pi,onChange:Vi=>{_i(Vi.target.value),fi([])}},ci.createElement(He.ZP,{value:!0,disabled:!Be.actionTabs.manage_all_group},"\u7EDF\u4E00\u53D1\u5E03"),ci.createElement(He.ZP,{className:"ml20",disabled:En.length<=0,value:!1},"\u5206\u73ED\u53D1\u5E03"))),En.length<=0&&Be.actionTabs.type===2&&ci.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"')),(Be.actionTabs.type===1||!Pi)&&En.length>0&&ci.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px"}},ci.createElement("span",{style:{flex:1}},ci.createElement(ol.default,{checked:Da.length===En.length,onChange:Vi=>{Da.length===En.length?fi([]):fi(En)}},"\u5168\u9009")),ci.createElement("span",{style:{width:16}}),ci.createElement("span",{style:{flex:1}},"\u5DF2\u9009\u62E9",Da.length||0,"\u4E2A\u5206\u73ED")),(Be.actionTabs.type===1||!Pi)&&En.length>0&&ci.createElement(Go.Z,{data:En,selectedRowKeys:Da,setSelectedRowKeys:fi})))};var La=(0,Oe.connect)(({classroomList:Be})=>({classroomList:Be}))(wo),Ca=ie(59301),ql=Object.defineProperty,ru=Object.defineProperties,Mu=Object.getOwnPropertyDescriptors,Fo=Object.getOwnPropertySymbols,fs=Object.prototype.hasOwnProperty,Kl=Object.prototype.propertyIsEnumerable,Fs=(Be,Ce,be)=>Ce in Be?ql(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,eo=(Be,Ce)=>{for(var be in Ce||(Ce={}))fs.call(Ce,be)&&Fs(Be,be,Ce[be]);if(Fo)for(var be of Fo(Ce))Kl.call(Ce,be)&&Fs(Be,be,Ce[be]);return Be},Bo=(Be,Ce)=>ru(Be,Mu(Ce)),As=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Ku=[{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"}],Gr=({pathsDetail:Be,setselectitems:Ce,publishshow:be,node:Ft,index:Rn,onExpandClick:zr,onClickDetails:Hr,selectitems:En})=>{var Jt,or,Rr;const[ca,qi]=(0,ee.useState)(!1),ga=(0,ee.useRef)(null),{name:pa,complete_rate:Da,node_type:fi,resource_info:Pi,grasp_rate:_i,has_children:Ea,children:No,expand:va,key:da,is_publish:Lo,status:$r,id:$i,url:Vi}=Ft||{};(0,ee.useEffect)(()=>{var Ao;ja();const Mi=(Ao=ga.current)==null?void 0:Ao.parentElement;if(!Mi)return;const el=new ResizeObserver(()=>{ja()});return el.observe(Mi),()=>{el.disconnect()}},[va]);const ja=()=>{if(!ga.current)return;const Ao=ga.current,Mi=Ao.parentElement,el=Ao.previousElementSibling,Ui=Mi==null?void 0:Mi.firstElementChild;if(Mi&&el&&Ui){const aa=el.getBoundingClientRect().height,Wa=Mi.getBoundingClientRect().height,Il=Ui.getBoundingClientRect().height,fl=aa/2,Pl=Wa-(Il+aa)/2;Ao.style.bottom=`${fl}px`,Ao.style.height=`${Pl}px`}},Aa=(Jt=Number(Da))==null?void 0:Jt.toFixed(0),Ll=Aa==="100",Ol=Ll?fi==="\u5B9E\u8BAD"?"\u5DF2\u901A\u5173":"\u5DF2\u5B8C\u6210":`${Aa}%`,Eo=Pi==null?void 0:Pi.reduce((Ao,Mi)=>Ao+Mi.value,0),Xs={\u5B9E\u8BAD:Hn,\u8BD5\u5377:hi,\u8BFE\u4EF6:ao,\u89C6\u9891:Kn},Wo=()=>{zr(da)};return Ca.createElement("div",{className:ro.treeNode,"data-index":Rn},Ca.createElement("div",{className:ro.node,style:Ll?{background:"#EDF7EE"}:{}},!Lo&&!((or=Be==null?void 0:Be.detail)!=null&&or.can_managed)&&Ca.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"}},Ca.createElement("div",null,Ca.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),Ca.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))),Ca.createElement("div",{className:ro.statusbutton,style:{background:(Rr=Ku.find(Ao=>Ao.name===$r))==null?void 0:Rr.color}},$r),be&&Ca.createElement(ol.default,{checked:En==null?void 0:En.map(Ao=>Ao.id).includes($i),onChange:()=>{if(En!=null&&En.map(Ao=>Ao.id).includes($i))Ce(En.filter(Ao=>Ao.id!==$i));else{let Ao=[...En];Ao.push(Ft),Ce(Ao)}},className:ro.checkbox}),Ca.createElement(mr.Z,{style:{padding:Ea?"initial":"3rem 0"}},Ca.createElement(gn.Z,{title:"\u5B8C\u6210\u7387"},Ca.createElement("div",{style:{flexShrink:0,marginLeft:"24rem",marginTop:"17rem"}},Ca.createElement(Yt.Z,{strokeColor:"#60C059",percentage:Da,startAngle:270,trackColor:"#E3E8EF",text:Ol,textSize:"12rem",textColor:"#60C059",outerDiameter:"62rem",innerDiameter:"46rem",textPadding:"3rem",hoverEffect:!1}))),Ca.createElement("div",{className:ro.info},Ca.createElement(mr.Z,{align:"middle"},Ca.createElement(gn.Z,{title:fi},Ca.createElement("img",{src:Xs[fi]||Cl,style:{marginRight:"10rem",width:"16rem"}})),Ca.createElement(gn.Z,{title:pa},Ca.createElement("b",{onClick:()=>{Hr(Ft)},className:"c-grey-333 current",style:{fontSize:"16rem"}},(0,Et.Pq)(pa,19)))),Ca.createElement(mr.Z,{align:"middle",style:{marginTop:"5rem",marginLeft:"26rem",marginBottom:Ea?"0":"30rem"}},Ca.createElement(mr.Z,{align:"middle"},Ca.createElement(gn.Z,{title:"\u638C\u63E1\u7387"},Ca.createElement("img",{src:na,style:{marginRight:"4rem",width:"16rem"}})),Ca.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},_i,"%")),Ca.createElement(mr.Z,{align:"middle",style:{marginLeft:"55rem"}},Ca.createElement(gn.Z,{title:"\u5B8C\u6210\u7387"},Ca.createElement("img",{src:Di,style:{marginRight:"4rem",width:"16rem"}})),Ca.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},Da,"%"))),Ea&&Ca.createElement(mr.Z,{className:ro.resource},Ca.createElement("span",{style:{color:"#666",fontSize:"14rem"}},"\u8D44\u6E90\u6570\uFF1A",Eo),Ca.createElement("div",{onClick:()=>qi(!ca),className:ro.action},ca?Ca.createElement(Ca.Fragment,null,"\u6536\u8D77",Ca.createElement("i",{className:"iconfont icon-xialajiantou1",style:{transform:"scale(0.6)"}})):Ca.createElement(Ca.Fragment,null,"\u5C55\u5F00",Ca.createElement("i",{className:"iconfont icon-xialajiantoubeifen",style:{transform:"scale(0.6)"}})))))),ca&&Ca.createElement("div",{className:ro.tags},Pi==null?void 0:Pi.map((Ao,Mi)=>Ca.createElement(gn.Z,{title:Ao.name},Ca.createElement("div",{className:ro.tag,key:Mi},(0,Et.Pq)(Ao.name,5),"\uFF1A",Ao.value)))),Rn.length>1&&Ca.createElement("div",{className:ro.leftLine}),va&&Ca.createElement("div",{className:ro.rightLine}),Ea&&Ca.createElement("img",{onClick:Wo,className:ro.icon,src:va?Yl:go})),No&&No.length>0&&va&&Ca.createElement("div",{className:ro.nodeWrap},No.map((Ao,Mi)=>Ca.createElement(Gr,{key:Ao.key,onExpandClick:zr,onClickDetails:Hr,publishshow:be,setselectitems:Ce,pathsDetail:Be,selectitems:En,node:Ao,index:Rn+"-"+(Mi+1)})),No.length>1&&Ca.createElement("div",{ref:ga,className:ro.line})))},Ds=({data:Be,onExpandClick:Ce,selectitems:be,onClickDetails:Ft,pathsDetail:Rn,setselectitems:zr,publishshow:Hr})=>Ca.createElement("div",{className:ro.treeNode},Ca.createElement("div",{className:ro.nodeWrap},Be.map((En,Jt)=>Ca.createElement(Gr,{key:En.key,onExpandClick:Ce,onClickDetails:Ft,pathsDetail:Rn,publishshow:Hr,selectitems:be,setselectitems:zr,node:En,index:String(Jt+1)}))));var wu=({visible:Be,onCancel:Ce,subjectId:be,onClickDetails:Ft,pathsDetail:Rn,dispatch:zr})=>{var Hr;const[En,Jt]=(0,ee.useState)([]),[or,Rr]=(0,ee.useState)(!0),[ca,qi]=(0,ee.useState)("\u5168\u90E8"),[ga,pa]=(0,ee.useState)([]),[Da]=(0,Oe.useSearchParams)(),[fi,Pi]=(0,ee.useState)(!1),[_i,Ea]=(0,ee.useState)([]);(0,ee.useEffect)(()=>{va()},[ca]),(0,ee.useEffect)(()=>{Rn.actionTabs.key==="\u66F4\u65B0\u6570\u636E"&&(zr({type:"pathsDetail/setActionTabs",payload:{key:""}}),va())},[Rn.actionTabs.key]);const No=(Vi,ja)=>As(void 0,null,function*(){const Aa=yield(0,ht.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:Vi,subject_id:be,node_type:ca}});if((Aa==null?void 0:Aa.status)===0)return ja&&pa((Aa==null?void 0:Aa.node_types)||[]),(Aa==null?void 0:Aa.data)||[];Rr(!1)}),va=()=>As(void 0,null,function*(){Rr(!0);const Vi=yield No(Be,!0);Jt(Vi),Rr(!1)}),da=(Vi,ja,Aa)=>As(void 0,null,function*(){return yield Promise.all(Vi.map(Ol=>As(void 0,null,function*(){return Ol.key===ja?yield Aa(Ol):Ol.children&&Ol.children.length>0?Bo(eo({},Ol),{children:yield da(Ol.children,ja,Aa)}):Ol})))}),Lo=Vi=>As(void 0,null,function*(){Rr(!0);const ja=yield da(En,Vi,Aa=>As(void 0,null,function*(){var Ll,Ol;const Eo=Bo(eo({},Aa),{expand:!(Aa!=null&&Aa.expand)});return!(Aa!=null&&Aa.expand)&&!((Ll=Aa==null?void 0:Aa.children)!=null&&Ll.length)&&(Eo.children=yield No(Vi),((Ol=Eo.children)==null?void 0:Ol.length)===0&&(Eo.has_children=!1,Eo.expand=!1)),Eo}));Jt(ja),Rr(!1)}),$r=Vi=>As(void 0,null,function*(){Rr(!0),yield Ft(Vi,!1),Rr(!1)});return Ca.createElement("div",{className:ro.tree},Ca.createElement("div",{className:ro.center},Ca.createElement("div",{className:ro.head},Ca.createElement("div",{className:ro.del},Ca.createElement("i",{onClick:Ce,className:"iconfont icon-shanchuhuanjing"}),Ca.createElement("b",null))),Ca.createElement("div",{className:ro.body},or&&Ca.createElement("div",{className:ro.loading},Ca.createElement(ut.Z,{spinning:!0})),Ca.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},Ca.createElement("div",{className:ro.tabs,style:{flex:1}},ga==null?void 0:ga.map(Vi=>Ca.createElement("div",{onClick:()=>qi(Vi.node_type),className:Vi.node_type===ca?ro.active:void 0,key:Vi.node_type},Vi.node_type,"\uFF08",Vi.count,"\uFF09"))),Da.get("type")==="classrooms"&&((Hr=Rn==null?void 0:Rn.detail)==null?void 0:Hr.can_managed)&&Ca.createElement("div",null,fi&&Ca.createElement(ol.default,{style:{color:"#fff"},checked:(_i==null?void 0:_i.length)===(En==null?void 0:En.length),onChange:()=>{if((_i==null?void 0:_i.length)===(En==null?void 0:En.length))Ea([]);else{Pi(!0);let Vi=[...En];Ea(Vi)}}},(_i==null?void 0:_i.length)===(En==null?void 0:En.length)?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","\uFF08\u5F53\u524D\u9009\u4E2D",_i==null?void 0:_i.length,"\uFF09"),fi&&Ca.createElement(Qe.ZP,{style:{marginRight:"20rem",borderRadius:"24rem"},onClick:()=>Pi(!1)},"\u53D6\u6D88"),Ca.createElement(Qe.ZP,{type:"primary",onClick:()=>As(void 0,null,function*(){if(fi)zr({type:"classroomList/setActionTabs",payload:{key:"\u7ACB\u5373\u53D1\u5E03",selectArrs:_i==null?void 0:_i.map(Vi=>Vi.id)}});else{Pi(!0);let Vi=[...En];Ea(Vi)}}),style:{borderRadius:"24rem"}},fi?"\u6279\u91CF\u53D1\u5E03":"\u53D1\u5E03\u8282\u70B9"))),Ca.createElement("div",{className:ro.scrollBox},Ca.createElement("div",{className:Yn()(ro.treeWarp,!0&&ro.allTreeNode)},Ca.createElement(Ds,{pathsDetail:Rn,selectitems:_i,setselectitems:Ea,publishshow:fi,data:En,onClickDetails:$r,onExpandClick:Lo}))))),Ca.createElement(La,null))},hu=ie(32558),Wi=ie(71362),Bl=ie(36466),io={ItemDom:"ItemDom___Xq2Xn",Arrow:"Arrow___Ulbfi",Title:"Title___RNBAc",Node:"Node___XTXfD",Direction:"Direction___QoIf0",UP:"UP___SeZ0o",DOWN:"DOWN___F5Bx1",ItemDom100:"ItemDom100___n_HZz",ItemDom79:"ItemDom79___o5fGp",ItemDom59:"ItemDom59___JfdjC",waveDom:"waveDom___Wc261",wave:"wave___hTeV6",waveDom100:"waveDom100___HxeAE",waveDom79:"waveDom79___BryDl",waveDom59:"waveDom59___Nw1Dv",ArrowLeft:"ArrowLeft___hSXT2",ArrowRight:"ArrowRight___v1_qH",ArrowDownLeft:"ArrowDownLeft___HwtjS",ArrowDownRight:"ArrowDownRight___r0H2C",ArrowDisable:"ArrowDisable___U1ckU",HeightItem:"HeightItem___x_c8h",NodeUp:"NodeUp___e6Mr3",NodeShowDirection:"NodeShowDirection___Zuy0X"},Ro=Object.defineProperty,hs=Object.getOwnPropertySymbols,xs=Object.prototype.hasOwnProperty,vl=Object.prototype.propertyIsEnumerable,jl=(Be,Ce,be)=>Ce in Be?Ro(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ts=(Be,Ce)=>{for(var be in Ce||(Ce={}))xs.call(Ce,be)&&jl(Be,be,Ce[be]);if(hs)for(var be of hs(Ce))vl.call(Ce,be)&&jl(Be,be,Ce[be]);return Be};const Ss=Be=>React.createElement("svg",ts({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Be),React.createElement("title",null,"\u8BFE\u4EF6"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M50 41h115v115H50z"}),React.createElement("path",{d:"M100 0c55.228 0 100 44.772 100 100l-.044 2.944c-1.63 54.616-46.794 97.813-101.428 97.009C43.893 199.148.02 154.64 0 100l.044-2.944C1.637 42.998 45.92 0 100 0ZM67.367 50.011a8.889 8.889 0 0 0-8.911 8.845l-.045 81.677a8.89 8.89 0 0 0 8.922 8.834h64.878a8.934 8.934 0 0 0 8.978-8.834V76.511l-26.911-26.489-46.911-.01Zm55.889 72.856v8.289H76.333v-8.29h46.923Zm0-17.111v8.288H76.333v-8.288h46.923Zm-19.334-17.112v8.29H76.344v-8.278h27.578v-.012Zm7.19-33.088 22.221 22.222h-22.222V55.556Z",fill:"#44D7B6",fillRule:"nonzero"})));var ks="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01MCA0MWgxMTV2MTE1SDUweiIvPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMjggMCAxMDAgNDQuNzcyIDEwMCAxMDBsLS4wNDQgMi45NDRjLTEuNjMgNTQuNjE2LTQ2Ljc5NCA5Ny44MTMtMTAxLjQyOCA5Ny4wMDlDNDMuODkzIDE5OS4xNDguMDIgMTU0LjY0IDAgMTAwbC4wNDQtMi45NDRDMS42MzcgNDIuOTk4IDQ1LjkyIDAgMTAwIDBaTTY3LjM2NyA1MC4wMTFhOC44ODkgOC44ODkgMCAwIDAtOC45MTEgOC44NDVsLS4wNDUgODEuNjc3YTguODkgOC44OSAwIDAgMCA4LjkyMiA4LjgzNGg2NC44NzhhOC45MzQgOC45MzQgMCAwIDAgOC45NzgtOC44MzRWNzYuNTExbC0yNi45MTEtMjYuNDg5LTQ2LjkxMS0uMDFabTU1Ljg4OSA3Mi44NTZ2OC4yODlINzYuMzMzdi04LjI5aDQ2LjkyM1ptMC0xNy4xMTF2OC4yODhINzYuMzMzdi04LjI4OGg0Ni45MjNabS0xOS4zMzQtMTcuMTEydjguMjlINzYuMzQ0di04LjI3OGgyNy41Nzh2LS4wMTJabTcuMTktMzMuMDg4IDIyLjIyMSAyMi4yMjJoLTIyLjIyMlY1NS41NTZaIiBmaWxsPSIjNDREN0I2IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",vs=Object.defineProperty,Hu=Object.getOwnPropertySymbols,$u=Object.prototype.hasOwnProperty,Wu=Object.prototype.propertyIsEnumerable,ss=(Be,Ce,be)=>Ce in Be?vs(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,to=(Be,Ce)=>{for(var be in Ce||(Ce={}))$u.call(Ce,be)&&ss(Be,be,Ce[be]);if(Hu)for(var be of Hu(Ce))Wu.call(Ce,be)&&ss(Be,be,Ce[be]);return Be};const Al=Be=>React.createElement("svg",to({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Be),React.createElement("title",null,"\u4EFB\u52A1\u5173\u5361"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("circle",{fill:"#FFF",cx:100,cy:100,r:82}),React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0ZM84.63 43.55l-2.5.09-.78.09a7.96 7.96 0 0 0-6.12 5.4l-.25.8-13.01 53.12-9 35.92c-.45 1.83.45 3.71 2.07 4.35 1.63.65 3.43-.17 4.15-1.87l.19-.55 9.72-38.81.82-.05a55.82 55.82 0 0 1 18.85 1.62c4.42 1.2 7.67 3.2 12.17 7.13l3.78 3.4c5.96 5.36 10.18 8.03 16.53 9.65 7.66 1.93 13.44 1.58 17.34-1l.42-.3 13.84-56.38c-5.1 1.18-10.35 1.3-15.47.34l-1.93-.4-1.92-.51c-4.02-1.15-7.2-3.03-11.44-6.43l-4.84-4.04c-5.83-4.9-10.03-7.52-15.85-9.24a56.04 56.04 0 0 0-16.77-2.33Z",fill:"#39B97E",fillRule:"nonzero"})));var pu="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxjaXJjbGUgZmlsbD0iI0ZGRiIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODIiLz48cGF0aCBkPSJNMTAwIDBjNTUuMjMgMCAxMDAgNDQuNzcgMTAwIDEwMHMtNDQuNzcgMTAwLTEwMCAxMDBTMCAxNTUuMjMgMCAxMDAgNDQuNzcgMCAxMDAgMFpNODQuNjMgNDMuNTVsLTIuNS4wOS0uNzguMDlhNy45NiA3Ljk2IDAgMCAwLTYuMTIgNS40bC0uMjUuOC0xMy4wMSA1My4xMi05IDM1LjkyYy0uNDUgMS44My40NSAzLjcxIDIuMDcgNC4zNSAxLjYzLjY1IDMuNDMtLjE3IDQuMTUtMS44N2wuMTktLjU1IDkuNzItMzguODEuODItLjA1YTU1LjgyIDU1LjgyIDAgMCAxIDE4Ljg1IDEuNjJjNC40MiAxLjIgNy42NyAzLjIgMTIuMTcgNy4xM2wzLjc4IDMuNGM1Ljk2IDUuMzYgMTAuMTggOC4wMyAxNi41MyA5LjY1IDcuNjYgMS45MyAxMy40NCAxLjU4IDE3LjM0LTFsLjQyLS4zIDEzLjg0LTU2LjM4Yy01LjEgMS4xOC0xMC4zNSAxLjMtMTUuNDcuMzRsLTEuOTMtLjQtMS45Mi0uNTFjLTQuMDItMS4xNS03LjItMy4wMy0xMS40NC02LjQzbC00Ljg0LTQuMDRjLTUuODMtNC45LTEwLjAzLTcuNTItMTUuODUtOS4yNGE1Ni4wNCA1Ni4wNCAwIDAgMC0xNi43Ny0yLjMzWiIgZmlsbD0iIzM5Qjk3RSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvc3ZnPg==",kl=Object.defineProperty,Gs=Object.getOwnPropertySymbols,ri=Object.prototype.hasOwnProperty,sa=Object.prototype.propertyIsEnumerable,Zl=(Be,Ce,be)=>Ce in Be?kl(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,$l=(Be,Ce)=>{for(var be in Ce||(Ce={}))ri.call(Ce,be)&&Zl(Be,be,Ce[be]);if(Gs)for(var be of Gs(Ce))sa.call(Ce,be)&&Zl(Be,be,Ce[be]);return Be};const ys=Be=>React.createElement("svg",$l({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Be),React.createElement("title",null,"\u89C6\u9891"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M59 45h98v106H59z"}),React.createElement("path",{d:"M99.733.1c-35.6 0-68.493 18.996-86.292 49.827a99.644 99.644 0 0 0 86.303 149.462c55.03-.003 99.64-44.614 99.64-99.645 0-55.03-44.61-99.642-99.64-99.644h-.01Zm44.111 105.822a12.401 12.401 0 0 1-4.588 4.6h-.056l-47.433 27.39A12.444 12.444 0 0 1 73.1 127.132v-54.8a12.445 12.445 0 0 1 18.667-10.777L139.2 88.933c5.989 3.411 8.044 11 4.633 17l.011-.01Z",fill:"#6236FF",fillRule:"nonzero"})));var Pe="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01OSA0NWg5OHYxMDZINTl6Ii8+PHBhdGggZD0iTTk5LjczMy4xYy0zNS42IDAtNjguNDkzIDE4Ljk5Ni04Ni4yOTIgNDkuODI3YTk5LjY0NCA5OS42NDQgMCAwIDAgODYuMzAzIDE0OS40NjJjNTUuMDMtLjAwMyA5OS42NC00NC42MTQgOTkuNjQtOTkuNjQ1IDAtNTUuMDMtNDQuNjEtOTkuNjQyLTk5LjY0LTk5LjY0NGgtLjAxWm00NC4xMTEgMTA1LjgyMmExMi40MDEgMTIuNDAxIDAgMCAxLTQuNTg4IDQuNmgtLjA1NmwtNDcuNDMzIDI3LjM5QTEyLjQ0NCAxMi40NDQgMCAwIDEgNzMuMSAxMjcuMTMydi01NC44YTEyLjQ0NSAxMi40NDUgMCAwIDEgMTguNjY3LTEwLjc3N0wxMzkuMiA4OC45MzNjNS45ODkgMy40MTEgOC4wNDQgMTEgNC42MzMgMTdsLjAxMS0uMDFaIiBmaWxsPSIjNjIzNkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",Xe=Object.defineProperty,Ze=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,cr=(Be,Ce,be)=>Ce in Be?Xe(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,sr=(Be,Ce)=>{for(var be in Ce||(Ce={}))kt.call(Ce,be)&&cr(Be,be,Ce[be]);if(Ze)for(var be of Ze(Ce))zt.call(Ce,be)&&cr(Be,be,Ce[be]);return Be};const Yr=Be=>React.createElement("svg",sr({className:"cs_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},Be),React.createElement("path",{d:"M0 512a512 512 0 1 0 1024 0A512 512 0 1 0 0 512Z",fill:"#ECAD19"}),React.createElement("path",{d:"M710.554 256c27.648 0 50.739 21.248 54.118 48.64l.41 5.888v21.811a19.712 19.712 0 0 1-15.77 19.354l-3.942.41h-66.56a1.536 1.536 0 0 0-1.332.921l-.204.614v326.759c0 27.033-20.736 49.357-47.258 52.48a27.443 27.443 0 0 1-5.12.512h-314.88c-27.648 0-50.74-20.787-53.709-48.077l-.307-5.94v-19.2c0-11.11 8.192-20.53 18.79-22.527l4.096-.359h43.623a1.536 1.536 0 0 0 1.382-.921l.154-.615V310.016c0-27.648 20.838-50.74 48.128-53.709l5.837-.307h332.492zm-160 412.467H293.376a6.554 6.554 0 0 0-6.4 4.455l-.358 2.304v4.147c0 11.11 8.192 20.48 18.79 22.528l4.045.358h243.66c1.025 0 1.537-1.024 1.537-1.536a90.266 90.266 0 0 1-2.56-20.326c-.717-7.936-1.23-11.93-1.588-11.93zM578.56 532.48h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6V358.4zm130.97-71.22h-11.981a22.63 22.63 0 0 0-20.275 22.836v9.37c0 1.024 1.024 1.536 1.536 1.536h47.82c3.636 0 6.759-2.56 6.759-6.759l-1.024-4.096a23.04 23.04 0 0 0-22.835-22.886z",fill:"#FFF"}));var Wr="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTAgNTEyYTUxMiA1MTIgMCAxIDAgMTAyNCAwQTUxMiA1MTIgMCAxIDAgMCA1MTJaIiBmaWxsPSIjRUNBRDE5Ii8+PHBhdGggZD0iTTcxMC41NTQgMjU2YzI3LjY0OCAwIDUwLjczOSAyMS4yNDggNTQuMTE4IDQ4LjY0bC40MSA1Ljg4OHYyMS44MTFhMTkuNzEyIDE5LjcxMiAwIDAgMS0xNS43NyAxOS4zNTRsLTMuOTQyLjQxaC02Ni41NmExLjUzNiAxLjUzNiAwIDAgMC0xLjMzMi45MjFsLS4yMDQuNjE0djMyNi43NTljMCAyNy4wMzMtMjAuNzM2IDQ5LjM1Ny00Ny4yNTggNTIuNDhhMjcuNDQzIDI3LjQ0MyAwIDAgMS01LjEyLjUxMmgtMzE0Ljg4Yy0yNy42NDggMC01MC43NC0yMC43ODctNTMuNzA5LTQ4LjA3N2wtLjMwNy01Ljk0di0xOS4yYzAtMTEuMTEgOC4xOTItMjAuNTMgMTguNzktMjIuNTI3bDQuMDk2LS4zNTloNDMuNjIzYTEuNTM2IDEuNTM2IDAgMCAwIDEuMzgyLS45MjFsLjE1NC0uNjE1VjMxMC4wMTZjMC0yNy42NDggMjAuODM4LTUwLjc0IDQ4LjEyOC01My43MDlsNS44MzctLjMwN2gzMzIuNDkyem0tMTYwIDQxMi40NjdIMjkzLjM3NmE2LjU1NCA2LjU1NCAwIDAgMC02LjQgNC40NTVsLS4zNTggMi4zMDR2NC4xNDdjMCAxMS4xMSA4LjE5MiAyMC40OCAxOC43OSAyMi41MjhsNC4wNDUuMzU4aDI0My42NmMxLjAyNSAwIDEuNTM3LTEuMDI0IDEuNTM3LTEuNTM2YTkwLjI2NiA5MC4yNjYgMCAwIDEtMi41Ni0yMC4zMjZjLS43MTctNy45MzYtMS4yMy0xMS45My0xLjU4OC0xMS45M3pNNTc4LjU2IDUzMi40OGgtMTUzLjZ2MzAuNzJoMTUzLjZ2LTMwLjcyem0wLTg3LjA0aC0xNTMuNnYzMC43MmgxNTMuNnYtMzAuNzJ6bTAtODcuMDRoLTE1My42djMwLjcyaDE1My42VjM1OC40em0xMzAuOTctNzEuMjJoLTExLjk4MWEyMi42MyAyMi42MyAwIDAgMC0yMC4yNzUgMjIuODM2djkuMzdjMCAxLjAyNCAxLjAyNCAxLjUzNiAxLjUzNiAxLjUzNmg0Ny44MmMzLjYzNiAwIDYuNzU5LTIuNTYgNi43NTktNi43NTlsLTEuMDI0LTQuMDk2YTIzLjA0IDIzLjA0IDAgMCAwLTIyLjgzNS0yMi44ODZ6IiBmaWxsPSIjRkZGIi8+PC9zdmc+",di=Object.defineProperty,ha=Object.getOwnPropertySymbols,Ei=Object.prototype.hasOwnProperty,Bi=Object.prototype.propertyIsEnumerable,Oi=(Be,Ce,be)=>Ce in Be?di(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Yi=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ei.call(Ce,be)&&Oi(Be,be,Ce[be]);if(ha)for(var be of ha(Ce))Bi.call(Ce,be)&&Oi(Be,be,Ce[be]);return Be};const Er=Be=>React.createElement("svg",Yi({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Be),React.createElement("title",null,"\u4F5C\u4E1A"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0Z",fill:"#2544AA"}),React.createElement("path",{d:"M107.5 50H65c-8.284 0-15 6.716-15 15v70c0 8.284 6.716 15 15 15h42.5c8.284 0 15-6.716 15-15V65c0-8.284-6.716-15-15-15Zm-44 54h38a3.5 3.5 0 1 1 0 7h-38a3.5 3.5 0 1 1 0-7ZM60 90.5a3.5 3.5 0 0 1 3.5-3.5H94a3.5 3.5 0 0 1 0 7H63.5a3.5 3.5 0 0 1-3.5-3.5ZM84 128H63.5a3.5 3.5 0 1 1 0-7H84a3.5 3.5 0 1 1 0 7Zm20 0h-4.5a3.5 3.5 0 1 1 0-7h4.5a3.5 3.5 0 1 1 0 7Zm5-51H63.5a3.5 3.5 0 0 1 0-7H109a3.5 3.5 0 1 1 0 7Zm26-27h10a5 5 0 0 1 5 5v15h-20V55a5 5 0 0 1 5-5Zm-5 87.28V77.5h20v59.78L140 150",fill:"#FFF"})));var _r="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMyAwIDEwMCA0NC43NyAxMDAgMTAwcy00NC43NyAxMDAtMTAwIDEwMFMwIDE1NS4yMyAwIDEwMCA0NC43NyAwIDEwMCAwWiIgZmlsbD0iIzI1NDRBQSIvPjxwYXRoIGQ9Ik0xMDcuNSA1MEg2NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY3MGMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDQyLjVjOC4yODQgMCAxNS02LjcxNiAxNS0xNVY2NWMwLTguMjg0LTYuNzE2LTE1LTE1LTE1Wm0tNDQgNTRoMzhhMy41IDMuNSAwIDEgMSAwIDdoLTM4YTMuNSAzLjUgMCAxIDEgMC03Wk02MCA5MC41YTMuNSAzLjUgMCAwIDEgMy41LTMuNUg5NGEzLjUgMy41IDAgMCAxIDAgN0g2My41YTMuNSAzLjUgMCAwIDEtMy41LTMuNVpNODQgMTI4SDYzLjVhMy41IDMuNSAwIDEgMSAwLTdIODRhMy41IDMuNSAwIDEgMSAwIDdabTIwIDBoLTQuNWEzLjUgMy41IDAgMSAxIDAtN2g0LjVhMy41IDMuNSAwIDEgMSAwIDdabTUtNTFINjMuNWEzLjUgMy41IDAgMCAxIDAtN0gxMDlhMy41IDMuNSAwIDEgMSAwIDdabTI2LTI3aDEwYTUgNSAwIDAgMSA1IDV2MTVoLTIwVjU1YTUgNSAwIDAgMSA1LTVabS01IDg3LjI4Vjc3LjVoMjB2NTkuNzhMMTQwIDE1MCIgZmlsbD0iI0ZGRiIvPjwvZz48L3N2Zz4=",Po=({type:Be})=>{const Ce=(0,ee.useMemo)(()=>{switch(Be){case"\u8BFE\u4EF6":return ee.createElement("img",{src:ks,style:{width:"16rem",height:"16rem"}});case"\u5B9E\u8BAD":return ee.createElement("img",{src:pu,style:{width:"16rem",height:"16rem"}});case"\u89C6\u9891":return ee.createElement("img",{src:Pe,style:{width:"16rem",height:"16rem"}});case"\u8BD5\u5377":return ee.createElement("img",{src:Wr,style:{width:"16rem",height:"16rem"}});case"\u4F5C\u4E1A":return ee.createElement("img",{src:_r,style:{width:"16rem",height:"16rem"}});default:return""}},[Be]);return ee.createElement(ee.Fragment,null,Ce)},Ua="data:image/png;base64,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",Do="data:image/png;base64,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";const ko=({className:Be="",style:Ce={},direction:be,DataProps:Ft,pathsDetail:Rn,isOne:zr,handleClickDetails:Hr})=>{const{detail:En}=Rn,[Jt]=(0,Oe.useSearchParams)(),or=(Ft==null?void 0:Ft.status)=="\u672A\u53D1\u5E03"&&Jt.get("type")=="classrooms",Rr=(0,ee.useMemo)(()=>(Ft==null?void 0:Ft.grasp_rate)>=80&&(Ft==null?void 0:Ft.grasp_rate)<=100?io.waveDom100:(Ft==null?void 0:Ft.grasp_rate)>=60&&(Ft==null?void 0:Ft.grasp_rate)<=79?io.waveDom79:(Ft==null?void 0:Ft.grasp_rate)>0&&(Ft==null?void 0:Ft.grasp_rate)<=59?io.waveDom59:"",[Ft==null?void 0:Ft.grasp_rate]);return ee.createElement("div",{className:`flex flex-col item-center text-500 text-16px-rem relative current ${io.Node} ${Be}`,style:Ce,onClick:()=>{or&&!En.can_managed||Hr(Ft)}},ee.createElement("img",{src:be=="up"?Ua:Do,className:`${io.Direction} ${be=="up"?io.UP:io.DOWN}`}),ee.createElement("div",{className:"relative",style:{width:"30rem",height:"30rem"}},ee.createElement(gn.Z,{title:`${Ft!=null&&Ft.node_type?`${Ft==null?void 0:Ft.node_type}\uFF1A`:""}${Ft==null?void 0:Ft.name}`},ee.createElement("div",{className:"flex item-center text-center gap-4px-rem absolute multi_ellipsis1 text-16px-rem",style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:"120rem"}},ee.createElement(Po,{type:Ft==null?void 0:Ft.node_type})," ",Ft==null?void 0:Ft.name))),ee.createElement("div",{className:`relative rounded-full flex item-center justify-center ${io.waveDom} ${Rr}`},or?ee.createElement(gn.Z,{title:"\u8D44\u6E90\u672A\u53D1\u5E03"},ee.createElement("span",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"14rem"}})):ee.createElement("div",{className:`${io.wave}`,style:{top:`calc(100% - ${(Ft==null?void 0:Ft.grasp_rate)||0}%)`}})),ee.createElement("div",{className:`${zr?io.HeightItem:""}`,style:{height:"82rem"}}))},co=({DataProps:Be={},className:Ce="",currentIndex:be=1,pathsDetail:Ft,handleClickDetails:Rn})=>{var zr,Hr,En;const Jt=(0,ee.useMemo)(()=>(Be==null?void 0:Be.grasp_rate)>=80&&(Be==null?void 0:Be.grasp_rate)<=100?io.ItemDom100:(Be==null?void 0:Be.grasp_rate)>=60&&(Be==null?void 0:Be.grasp_rate)<=79?io.ItemDom79:(Be==null?void 0:Be.grasp_rate)>0&&(Be==null?void 0:Be.grasp_rate)<=59?io.ItemDom59:"",[Be==null?void 0:Be.grasp_rate]),or=(0,ee.useRef)(null);return(0,ee.useEffect)(()=>{if(or.current){const Rr=or.current.offsetWidth,ca=or.current.children;if(Rr<1200){for(const fi of ca)fi.classList.remove(io.NodeShowDirection);return}let qi=Rr;const ga=[];let pa=[];const Da=55*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const fi of ca)fi.removeAttribute("style"),fi.classList.remove(io.NodeShowDirection),qi-((fi==null?void 0:fi.offsetWidth)+Da)>0?(pa.push(fi),qi-=(fi==null?void 0:fi.offsetWidth)+Da):(qi=Rr-(fi==null?void 0:fi.offsetWidth)-Da,ga.push(pa),pa=[],pa.push(fi));ga.push(pa),ga.forEach(fi=>{fi.forEach((Pi,_i)=>{_i==(fi==null?void 0:fi.length)-1&&Pi.classList.add(io.NodeShowDirection)})})}},[or,Be==null?void 0:Be.children]),ee.createElement("div",{id:"learning_path_chapter",className:`flex flex-col minW-0 rounded-10px-rem relative ${io.ItemDom} ${Jt} ${Ce}`},ee.createElement("div",{className:`absolute ${io.Arrow}`}),ee.createElement("div",{className:`flex item-center gap-10px-rem rounded-10px-rem px-20px-rem py-6px-rem ${io.Title}`},ee.createElement(gn.Z,{title:""},ee.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 text-22px-rem text-500"},Be==null?void 0:Be.name)),ee.createElement("div",{className:"text-14px-rem"},(zr=Be==null?void 0:Be.children)==null?void 0:zr.length,"\u4E2A\u8D44\u6E90")),((Hr=Be==null?void 0:Be.children)==null?void 0:Hr.length)>0?ee.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center"},ee.createElement("div",{ref:or,className:"w-full flex item-center justify-center flex-wrap",style:{gap:"20rem 55rem"}},(En=Be==null?void 0:Be.children)==null?void 0:En.map((Rr,ca)=>{var qi,ga;return ee.createElement(ko,{key:ca,handleClickDetails:Rn,pathsDetail:Ft,isOne:((qi=Be==null?void 0:Be.children)==null?void 0:qi.length)==1,DataProps:Rr,direction:ca%2==0?"up":"down",className:ca%2==0&&((ga=Be==null?void 0:Be.children)==null?void 0:ga.length)!=1?io.NodeUp:"flex-col"})}))):ee.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center flex-wrap"},ee.createElement(ma.Z,{img:ie(11051),styles:{margin:"auto"},imgStyles:{width:"200rem",height:"155rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8D44\u6E90"})))};var ns=({pathsDetail:Be,handleClickDetails:Ce,dataSource:be})=>{const Ft=(0,ee.useRef)(null);return(0,ee.useEffect)(()=>{if(Ft.current){const Rn=Ft.current.offsetWidth,zr=document.querySelectorAll("#learning_path_chapter");let Hr=Rn;const En=[];let Jt=[];const or=90*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const Rr of zr)if(Rr.removeAttribute("style"),Rr.classList.remove(io.ArrowDisable,io.ArrowDownLeft,io.ArrowLeft,io.ArrowDownRight,io.ArrowRight),Hr-((Rr==null?void 0:Rr.offsetWidth)+or)>0)Jt.push(Rr),Hr-=(Rr==null?void 0:Rr.offsetWidth)+or;else{const ca=(Hr+or-10)/(Jt==null?void 0:Jt.length);Jt.forEach(qi=>{qi.style.width=`${(qi.offsetWidth+ca)/Rn*100}%`}),Hr=Rn-(Rr==null?void 0:Rr.offsetWidth)-or,En.push(Jt),Jt=[],Jt.push(Rr)}En.push(Jt),En.forEach((Rr,ca)=>{var qi;ca%2===1?[...Rr||[]].reverse().forEach((pa,Da)=>{pa.style.order=(ca+1)*10+Da,Da==0?(pa.style["margin-left"]="auto",pa.classList.add((En==null?void 0:En.length)-1==ca?io.ArrowDisable:io.ArrowDownLeft)):pa.classList.add(io.ArrowLeft)}):Rr.forEach((ga,pa)=>{ga.style.order=(ca+1)*10+pa,pa==(Rr==null?void 0:Rr.length)-1?ga.classList.add((En==null?void 0:En.length)-1==ca?io.ArrowDisable:io.ArrowDownRight):ga.classList.add(io.ArrowRight)}),(Rr==null?void 0:Rr.length)==1&&(Rr[0].style.width="100%"),((qi=Rr==null?void 0:Rr[0])==null?void 0:qi.offsetWidth)ee.createElement(co,{key:zr,handleClickDetails:Ce,pathsDetail:Be,currentIndex:zr+1,DataProps:Rn}))))},yl=ie(59401),Xr=ie(59301),us=Object.defineProperty,Ms=Object.defineProperties,Us=Object.getOwnPropertyDescriptors,Ks=Object.getOwnPropertySymbols,rs=Object.prototype.hasOwnProperty,ml=Object.prototype.propertyIsEnumerable,is=(Be,Ce,be)=>Ce in Be?us(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ws=(Be,Ce)=>{for(var be in Ce||(Ce={}))rs.call(Ce,be)&&is(Be,be,Ce[be]);if(Ks)for(var be of Ks(Ce))ml.call(Ce,be)&&is(Be,be,Ce[be]);return Be},iu=(Be,Ce)=>Ms(Be,Us(Ce)),Ts=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Is=[3,2,1],Cu=({xxljac:Be,pathsDetail:Ce,dispatch:be,setxxljac:Ft})=>{var Rn,zr,Hr,En,Jt,or,Rr,ca,qi,ga,pa,Da,fi;const Pi=(0,Oe.useParams)(),_i=(0,Oe.useSelector)(hl=>hl),{pathsDetail:{detail:Ea={},actionTabs:No}}=_i,[va,da]=(0,ee.useState)(!1),[Lo,$r]=(0,ee.useState)(!1),[$i,Vi]=(0,ee.useState)(""),[ja,Aa]=(0,ee.useState)(!1),[Ll,Ol]=(0,ee.useState)(!1),[Eo,Xs]=(0,ee.useState)(!1),[Wo,Ao]=(0,ee.useState)(""),[Mi,el]=(0,ee.useState)({}),[Ui,aa]=(0,ee.useState)([]),[Wa,Il]=(0,ee.useState)([]),[fl,Pl]=(0,ee.useState)([]),[_l,Dl]=(0,ee.useState)(!1),[El,Ns]=(0,ee.useState)(1),[Es,tu]=(0,ee.useState)({});let[Ec,Lu]=(0,ee.useState)({});const Bc=Ea==null?void 0:Ea.can_managed,[jc]=(0,Oe.useSearchParams)(),[Td,Pd]=(0,ee.useState)(!1),Of=new URLSearchParams(window.location.search);Of.set("tabs","2");const yf=(hl={})=>{be({type:"pathsDetail/getKnowledgeGraphs",payload:ws({graphable_type:jc.get("type")==="classrooms"?"course":"subject",graphable_id:Pi==null?void 0:Pi.pathId},hl)})};function of(){return Ts(this,null,function*(){var hl;let Ou=[...(hl=Ce==null?void 0:Ce.detail)==null?void 0:hl.nodes];Pl(Ou==null?void 0:Ou.splice(1))})}(0,ee.useEffect)(()=>{var hl;(hl=Ce==null?void 0:Ce.detail)!=null&&hl.nodes&&El===1&&(of(),Ns(2))},[(Rn=Ce==null?void 0:Ce.detail)==null?void 0:Rn.nodes]),(0,ee.useEffect)(()=>{var hl,Ou,Ad,Ud,Pf,bf,S0,Lc,Sd,Kc;let nu=!1;((Ou=(hl=Ce==null?void 0:Ce.detail)==null?void 0:hl.route_nodes)==null?void 0:Ou.length)>0&&(nu=!((Ud=(Ad=Ce==null?void 0:Ce.detail)==null?void 0:Ad.route_nodes)!=null&&Ud.some(ju=>ju==null?void 0:ju.is_choice))),(S0=(bf=(Pf=Ce==null?void 0:Ce.detail)==null?void 0:Pf.route_nodes)==null?void 0:bf.find(ju=>ju==null?void 0:ju.is_choice))!=null&&S0.id&&Ft((Kc=(Sd=(Lc=Ce==null?void 0:Ce.detail)==null?void 0:Lc.route_nodes)==null?void 0:Sd.find(ju=>ju==null?void 0:ju.is_choice))==null?void 0:Kc.id),!Bc&&nu&&(0,Bl.bg)()&&be({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})},[(zr=Ce==null?void 0:Ce.detail)==null?void 0:zr.route_nodes]),(0,ee.useEffect)(()=>{Be&&Gd(Be)},[Be]);const Gd=(hl=null)=>Ts(void 0,null,function*(){da(!0);const Ou=yield(0,ht.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:hl,subject_id:Pi==null?void 0:Pi.pathId}});if((Ou==null?void 0:Ou.status)===0){el(Ou||{});const Ad=(Ou==null?void 0:Ou.parent_knowledges)||[];Il(Ad)}da(!1)});(0,ee.useEffect)(()=>{Mi!=null&&Mi.data&&aa((Mi==null?void 0:Mi.data)||[])},[Mi]);const Dd=()=>Ts(void 0,null,function*(){if(!Wo){yt.ZP.warning("\u8BF7\u8F93\u5165\u6587\u672C");return}if(Wo!=="\u786E\u8BA4\u5220\u9664"){yt.ZP.warning("\u6587\u672C\u8F93\u5165\u6709\u8BEF");return}Xs(!0);const hl=yield(0,ht.ZP)("/api/subject_knowledge.json",{method:"delete",body:{id:Be,subject_id:Pi==null?void 0:Pi.pathId}});(hl==null?void 0:hl.status)===0&&(yt.ZP.success("\u5220\u9664\u6210\u529F"),Aa(!1),yf({graphable_id:Pi==null?void 0:Pi.pathId})),Xs(!1)}),Gf=(...hl)=>Ts(void 0,[...hl],function*(Ou={}){yield(0,ht.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:iu(ws({},Ou),{subject_id:Pi==null?void 0:Pi.pathId})})}),Uf=(hl,Ou=!0)=>Ts(void 0,null,function*(){var Ad,Ud,Pf,bf,S0,Lc;if((hl==null?void 0:hl.container_type)==="Attachment"&&!((Ad=Ce==null?void 0:Ce.detail)!=null&&Ad.can_managed)){if((0,Wi.fc)({id:hl==null?void 0:hl.container_id,watch_type:2,course_id:Pi==null?void 0:Pi.pathId}),hl!=null&&hl.is_link){Gf({uuid:(hl==null?void 0:hl.knowledge_uuid)||(hl==null?void 0:hl.key)}),(0,Et.xg)(hl==null?void 0:hl.url);return}tu({url:rn.Z.API_SERVER+(hl==null?void 0:hl.url),file_type:hl==null?void 0:hl.file_type});return}if(hl!=null&&hl.url){Gf({uuid:(hl==null?void 0:hl.knowledge_uuid)||(hl==null?void 0:hl.key)}),window.open(hl==null?void 0:hl.url);return}Ou&&da(!0);let Sd=yield(0,ht.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:0,subject_id:Pi==null?void 0:Pi.pathId,nodeUuid:(hl==null?void 0:hl.knowledge_uuid)||(hl==null?void 0:hl.key)}});if((Sd==null?void 0:Sd.status)===0){if(((Pf=(Ud=Sd==null?void 0:Sd.data)==null?void 0:Ud.nodes)==null?void 0:Pf.length)>0){let Kc=(Lc=(S0=(bf=Sd==null?void 0:Sd.data)==null?void 0:bf.nodes)==null?void 0:S0.map(nu=>{var ju,_0,$0,Df,M0,Yd,R0,Jd,lo,js,lu,mu,Zs;const Tf=(ju=Sd==null?void 0:Sd.data)==null?void 0:ju.resource_count;return iu(ws({},nu==null?void 0:nu.properties),{rootNodeUuid:(_0=nu==null?void 0:nu.properties)==null?void 0:_0.rootNodeUuid,id:($0=nu==null?void 0:nu.properties)==null?void 0:$0.uuid,name:(Df=nu==null?void 0:nu.properties)==null?void 0:Df.name,description:(M0=nu==null?void 0:nu.properties)==null?void 0:M0.description,nodeType:(Yd=nu==null?void 0:nu.properties)==null?void 0:Yd.nodeType,tags:((R0=nu==null?void 0:nu.properties)==null?void 0:R0.tags)&&((js=(lo=(Jd=nu==null?void 0:nu.properties)==null?void 0:Jd.tags)==null?void 0:lo.split("\uFF0C"))==null?void 0:js.map(Yf=>({name:Yf})))||[],colorType:parseInt((lu=nu==null?void 0:nu.properties)==null?void 0:lu.color)>3?"3":(mu=nu==null?void 0:nu.properties)==null?void 0:mu.color,activeColor:"#FA6400",size:Is[((Zs=nu==null?void 0:nu.properties)==null?void 0:Zs.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0,currentResourceTotal:Tf})}))==null?void 0:Lc[0];Kc.resourceid=hl==null?void 0:hl.id,Lu(Kc),Dl(!0)}da(!1)}}),q0=()=>Xr.createElement("div",{className:ni.studentHead},Xr.createElement("div",{className:"flex item-center w-full"},Xr.createElement("div",{className:ni.headLi},Xr.createElement("img",{src:Ni}),Xr.createElement("aside",null,Xr.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Xr.createElement("b",null,Mi==null?void 0:Mi.resource_count))),Xr.createElement("div",{className:ni.headLi},Xr.createElement("img",{src:bi}),Xr.createElement("aside",null,Xr.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),Xr.createElement("b",{style:{color:"#F7B500"}},Mi==null?void 0:Mi.complete_rate,"%"))),Xr.createElement("div",{className:ni.headLi},Xr.createElement("img",{src:Ji}),Xr.createElement("aside",null,Xr.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),Xr.createElement("b",{style:{color:"#3AFFC8"}},Mi==null?void 0:Mi.grasp_rate,"%"))),Xr.createElement("div",{className:ni.headLi},Xr.createElement("img",{src:fa}),Xr.createElement("aside",null,Xr.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),Xr.createElement(gn.Z,{title:Mi==null?void 0:Mi.last_knowledge_name},Xr.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,Et.Pq)(Mi==null?void 0:Mi.last_knowledge_name,13))))),Xr.createElement("div",{onClick:()=>{Mi!=null&&Mi.last_knowledge_name&&Uf({knowledge_uuid:Mi==null?void 0:Mi.last_knowledge_uuid,id:Mi==null?void 0:Mi.last_knowledge_uuid})},className:Mi!=null&&Mi.last_knowledge_name?ni.btn:`${ni.btn} ${ni.disabledBtn}`},"\u7EE7\u7EED\u5B66\u4E60")));return Xr.createElement(Xr.Fragment,null,!((En=(Hr=Ce==null?void 0:Ce.detail)==null?void 0:Hr.route_nodes)!=null&&En.length)&&Xr.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Xr.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},Bc&&Xr.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{Vi(null),$r(!0)}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84")),Xr.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4EC0\u4E48\uFF1F"),Xr.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4E00\u6761\u57FA\u4E8E\u8BFE\u7A0B\u76EE\u6807\u5BFC\u822A\u8DEF\u7EBF\uFF0C\u901A\u8FC7\u89C4\u5212\u6700\u4F18\u5B66\u4E60\u987A\u5E8F\uFF0C\u53EF\u914D\u5408\u591A\u79CD\u7C7B\u8D44\u6E90\uFF08\u89C6\u9891\u3001\u8BFE\u4EF6\u3001\u4E60\u9898\u3001\u8BFE\u4EF6\u7B49\uFF09\uFF0C\u52A9\u529B\u5B66\u751F\u4EE5\u6700\u7701\u529B\u3001\u6700\u9AD8\u6548\u3001\u6700\u6E05\u6670\u7684\u65B9\u5F0F\u638C\u63E1\u8BFE\u7A0B\u6838\u5FC3\u77E5\u8BC6\u5185\u5BB9",Xr.createElement("img",{className:"absolute",src:ie(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Xr.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Xr.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Xr.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u5B66\u4E60\u8DEF\u5F84\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Xr.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},Xr.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:ie(79989)}),Xr.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:ie(73486)}),[{title:"\u591A\u7EF4\u5B66\u4E60\u8DEF\u5F84",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u6761\u5B66\u4E60\u8DEF\u5F84\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u5B66\u4E60\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:ie(49747)},{title:"\u8BFE\u5802\u5B66\u60C5\u7EDF\u8BA1",desc:jc.get("type")=="classrooms"?"\u652F\u6301\u4ECE\u5B9E\u8DF5\u8BFE\u7A0B\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u5230\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1":"\u652F\u6301\u4E00\u952E\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1\u3002",img:ie(7875)},{title:"\u5B66\u60C5\u5206\u6790+\u5B66\u60C5\u9884\u8B66+\u8D44\u6E90\u63A8\u8350",desc:"\u652F\u6301\u6839\u636E\u5B66\u751F\u5728\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\uFF0C\u7ECF\u8FC7\u7CFB\u7EDF\u5B66\u60C5\u9884\u8B66\u60C5\u51B5\uFF0C\u4E3A\u5B66\u751F\u63A8\u8350\u4E0D\u540C\u7684\u5B66\u4E60\u8D44\u6E90\uFF0C\u5B9E\u73B0\u5343\u4EBA\u5343\u9762\u7684\u5B66\u4E60\u573A\u666F\u3002",img:ie(14813)}].map((hl,Ou)=>Xr.createElement("div",{key:Ou,className:`flex flex-col item-center ${Ou!=1?"pt-56px-rem":""}`},Xr.createElement("img",{src:hl==null?void 0:hl.img,style:{width:"127rem",height:"119rem"}}),Xr.createElement("div",{className:"px-20px-rem pb-20px-rem mt-10px-rem",style:{background:`url(${ie(14760)}) 0 0 / 100% 100% no-repeat`}},hl==null?void 0:hl.title),Xr.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),Xr.createElement("div",{className:"px-20px-rem py-10px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"152rem"}},hl==null?void 0:hl.desc))))),Xr.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Xr.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u6CE8\u610F\u4E8B\u9879 "),Xr.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Xr.createElement("div",{className:"flex flex-col gap-4px-rem"},Xr.createElement("div",{className:"text-16px-rem"},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84"),Xr.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5B66\u4E60\u8DEF\u5F84\u57FA\u4E8E\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u3002",Xr.createElement("br",null),Xr.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u65F6\uFF0C\u540C\u6B65\u5EFA\u7ACB\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E\u77E5\u8BC6\u56FE\u8C31\u7684\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")))},{desc:Xr.createElement("div",{className:"flex flex-col gap-4px-rem"},Xr.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210"),Xr.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u540E\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E",Xr.createElement("span",{style:{color:"#FFE698"}},"\u77E5\u8BC6\u8282\u70B9\u7684\u524D\u5E8F/\u540E\u5E8F\u5173\u7CFB"),"\u81EA\u52A8\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:Xr.createElement("div",{className:"flex flex-col gap-4px-rem"},Xr.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u8C03\u6574"),Xr.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5728\u751F\u6210\u7684\u5B66\u4E60\u8DEF\u5F84\u4E2D\uFF0C\u53EF\u4EE5\u70B9\u51FB",Xr.createElement("span",{style:{color:"#FFE698"}},"\u201C\u79FB\u9664\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u548C",Xr.createElement("span",{style:{color:"#FFE698"}},"\u201C\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u8C03\u6574\u8DEF\u5F84\u4E2D\u5B66\u4E60\u5185\u5BB9\uFF0C\u4E5F\u53EF\u4EE5",Xr.createElement("span",{style:{color:"#FFE698"}},"\u62D6\u52A8\u5B66\u4E60\u8DEF\u5F84\u8282\u70B9"),"\u8C03\u6574\u5B66\u4E60\u987A\u5E8F\u3002"))}].map((hl,Ou)=>Xr.createElement("div",{key:Ou,className:"py-20px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Xr.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Ou+1).toString().padStart(2,"0")),Xr.createElement("div",{className:"flex-1 minW-0"},hl==null?void 0:hl.desc))))))),((or=(Jt=Ce==null?void 0:Ce.detail)==null?void 0:Jt.route_nodes)==null?void 0:or.length)&&Xr.createElement(Na.Z,null,Xr.createElement(Xr.Fragment,null,Xr.createElement("div",{className:ni.learning},Xr.createElement(ut.Z,{spinning:va,size:"large",wrapperClassName:ni.spin,tip:"\u6570\u636E\u7EDF\u8BA1\u4E2D\uFF0C\u8BF7\u7A0D\u540E"},Xr.createElement("div",{className:ni.body},Bc?Xr.createElement("div",{className:`${ni.head}`}," ",Xr.createElement("div",{className:"w-full flex item-center justify-between"},Xr.createElement("div",{className:ni.numerical},Xr.createElement("div",null,Xr.createElement("img",{src:Ni}),Xr.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),Xr.createElement("b",null,Mi==null?void 0:Mi.resource_count)),Xr.createElement("div",null,Xr.createElement("img",{src:bi}),Xr.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u5B8C\u6210\u7387"),Xr.createElement("b",{style:{color:"#F7B500"}},Mi==null?void 0:Mi.complete_rate,"%")),Xr.createElement("div",null,Xr.createElement("img",{src:Ji}),Xr.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u638C\u63E1\u7387"),Xr.createElement("b",{style:{color:"#3AFFC8"}},Mi==null?void 0:Mi.grasp_rate,"%"))),Xr.createElement("div",{className:ni.action},jc.get("type")!=="classrooms"&&!(0,Bl.JA)()&&Xr.createElement("div",{onClick:()=>{be({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"route"}}}})}},Xr.createElement("span",null,Xr.createElement("i",{className:"iconfont icon-guanlianketang"})),Xr.createElement("span",null,"\u53D1\u9001\u81F3\u8BFE\u5802")),Bc&&Xr.createElement("div",{onClick:()=>{Vi(null),$r(!0)}},Xr.createElement("span",null,Xr.createElement("i",{className:"iconfont icon-tianjia4"})),Xr.createElement("span",null,"\u521B\u5EFA")),Xr.createElement("div",{onClick:()=>{Vi(Be),$r(!0)}},Xr.createElement("span",null,Xr.createElement("i",{className:"iconfont icon-bianji13"})),Xr.createElement("span",null,"\u7F16\u8F91")),Xr.createElement("div",{onClick:()=>Aa(!0)},Xr.createElement("span",null,Xr.createElement("i",{className:"iconfont icon-shanchu17"})),Xr.createElement("span",null,"\u5220\u9664"))))):q0(),Xr.createElement("div",{className:"flex item-center gap-16px-rem px-40px-rem c-white py-20px-rem"},jc.get("type")=="classrooms"&&Bc&&Xr.createElement("div",{className:`current flex item-center ${ni.PublishBut}`,onClick:()=>{Pd(!0)}},Xr.createElement("span",{className:"iconfont icon-weifabu"}),"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90"),Xr.createElement("div",{className:"flex item-center rounded-full",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},Xr.createElement("div",{className:"c-grey-eee text-nowrap"},"\u5F53\u524D\u8DEF\u5F84"),Xr.createElement(gn.Z,{title:((ca=(Rr=Ea==null?void 0:Ea.route_nodes)==null?void 0:Rr.find(hl=>hl==null?void 0:hl.is_choice))==null?void 0:ca.name)||""},Xr.createElement("div",{className:"multi_ellipsis1"},((ga=(qi=Ea==null?void 0:Ea.route_nodes)==null?void 0:qi.find(hl=>hl==null?void 0:hl.is_choice))==null?void 0:ga.name)||"")),Xr.createElement("div",{className:`current flex item-center ${ni.ChangeBut}`,onClick:()=>{be({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})}},Xr.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),!Bc&&Xr.createElement("div",{className:`text-nowrap rounded-full flex item-center h-full ${ni.SwitchStyle}`,style:{background:"#101C39",padding:"0 5rem 0 20rem",gap:"10rem",lineHeight:"40rem"}},"\u4EC5\u67E5\u770B\u672A\u638C\u63E1\u77E5\u8BC6\u70B9",Xr.createElement(Ai.Z,{onChange:hl=>{aa(hl?(Ad=>Ad==null?void 0:Ad.filter(Ud=>(Ud==null?void 0:Ud.grasp_rate)!=100).map(Ud=>{var Pf;return iu(ws({},Ud),{children:(Pf=Ud==null?void 0:Ud.children)==null?void 0:Pf.filter(bf=>(bf==null?void 0:bf.grasp_rate)!=100)})}))(Mi==null?void 0:Mi.data):(Mi==null?void 0:Mi.data)||[])},checkedChildren:"\u5F00\u542F",unCheckedChildren:"\u5173\u95ED"})),Bc&&jc.get("type")==="classrooms"&&Xr.createElement(Xr.Fragment,null,Xr.createElement("div",{className:`current flex item-center ${ni.ChangeBut}`,onClick:()=>{var hl,Ou;Oe.history.push(`/knowledgegraph/${Pi==null?void 0:Pi.pathId}/statistics/learningpath/${(Ou=(hl=Ea==null?void 0:Ea.route_nodes)==null?void 0:hl.find(Ad=>Ad==null?void 0:Ad.is_choice))==null?void 0:Ou.id}?${Of}`)}}," \u6570\u636E\u7EDF\u8BA1 ")),Xr.createElement("div",{className:"ml-auto flex item-center rounded-full text-nowrap",style:{background:"rgba(48,58,76,0.5)",padding:"10rem 20rem",gap:"8rem"}},Xr.createElement("div",null,"\u638C\u63E1\u7387\uFF1A"),Xr.createElement("div",{className:"rounded-full",style:{background:"#60C059",width:"16rem",height:"16rem"}}),Xr.createElement("div",null,"100% ~ 80%"),Xr.createElement("div",{className:"rounded-full",style:{background:"#FFB15F",width:"16rem",height:"16rem",marginLeft:"30rem"}}),Xr.createElement("div",null,"79% ~ 60%"),Xr.createElement("div",{className:"rounded-full",style:{background:"#FF9090",width:"16rem",height:"16rem",marginLeft:"30rem"}}),Xr.createElement("div",null,"59% ~ 0%"),Xr.createElement("div",{className:"rounded-full",style:{background:"#5E6A80",width:"16rem",height:"16rem",marginLeft:"30rem"}}),Xr.createElement("div",null,"\u672A\u5B66\u4E60"))),(pa=Mi==null?void 0:Mi.data)!=null&&pa.length?Xr.createElement(ns,{pathsDetail:Ce,dataSource:Ui||[],handleClickDetails:Uf}):Xr.createElement(ma.Z,{img:oa,className:"flex flex-col item-center justify-center",styles:{height:"80vh"},imgStyles:{width:"200rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8DEF\u5F84\u6570\u636E"}))),Ll&&Xr.createElement(wu,{pathsDetail:Ce,subjectId:Pi==null?void 0:Pi.pathId,dispatch:be,visible:Ll,onCancel:()=>Ol(!1),onClickDetails:Uf}),Xr.createElement(st.default,{title:"\u786E\u8BA4\u5220\u9664\u63D0\u793A",open:ja,centered:!0,confirmLoading:Eo,okButtonProps:{danger:!0},width:"600rem",okText:"\u786E\u8BA4\u5220\u9664",onCancel:()=>Aa(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Ao("")},onOk:Dd},Xr.createElement("div",{style:{background:"#fff",boxShadow:"0 3rem 4rem 0 #F3F3F3",borderRadius:"2rem",padding:"20rem"}},Xr.createElement("div",{style:{fontSize:"16rem",color:"#000"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u300A",(Da=Wa==null?void 0:Wa.find(hl=>hl.id===Be))==null?void 0:Da.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"),Xr.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"),Xr.createElement(tt.default,{size:"large",placeholder:"\u8BF7\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C",value:Wo,onChange:hl=>Ao(hl.target.value)})))))),Lo&&Xr.createElement(Ho,{onOk:()=>{yf({graphable_id:Pi==null?void 0:Pi.pathId}),Gd(Be)},setaddmodal:$r,addmodal:Lo,uuid:$i}),Xr.createElement(sl.Z,{initdata:()=>{},uuid:"\u5B66\u4E60\u8DEF\u5F84",Tabsdatas:fl,setshow:()=>{},getData:Gd,buildTree:()=>{},containerRef:()=>{},showdetail:_l,setshowdetail:Dl,items:Ec}),Xr.createElement(hu.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Es==null?void 0:Es.url,type:Es==null?void 0:Es.file_type,disabledDownload:!0,onClose:()=>tu({})}),(No==null?void 0:No.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"&&Xr.createElement(yl.E_,{type:"route",open:(No==null?void 0:No.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",currentSeleteData:(fi=Ea==null?void 0:Ea.route_nodes)==null?void 0:fi.find(hl=>hl.id===Be),onFinish:()=>{yf({graphable_id:Pi==null?void 0:Pi.pathId})}}),Xr.createElement(Ma,{visible:Td,setVisible:Pd,treeList:Mi==null?void 0:Mi.data,uuid:Be,detail:Ea,onOk:hl=>{Pd(!1),Gd(hl)}}))};var Nu=(0,Oe.connect)(({pathsDetail:Be,user:Ce})=>({pathsDetail:Be,user:Ce}))(Cu),Ve=ie(10249),_e={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"},Pt=ie(88522),Wt=ie(38854),fn=ie(54580),un=ie(1710),qn=ie(95278),_n=ie(59301),Xn=Object.defineProperty,Lr=Object.defineProperties,Sr=Object.getOwnPropertyDescriptors,Ir=Object.getOwnPropertySymbols,mi=Object.prototype.hasOwnProperty,pi=Object.prototype.propertyIsEnumerable,xi=(Be,Ce,be)=>Ce in Be?Xn(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Ri=(Be,Ce)=>{for(var be in Ce||(Ce={}))mi.call(Ce,be)&&xi(Be,be,Ce[be]);if(Ir)for(var be of Ir(Ce))pi.call(Ce,be)&&xi(Be,be,Ce[be]);return Be},Fi=(Be,Ce)=>Lr(Be,Sr(Ce)),ya=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Kr=(Be,Ce)=>{const be=Be.getParentData(Ce.id,"tree");return be?Ce.style.x>be.style.x?"right":"left":"center"},ta=[3,2,1];let qa=[{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 Xo=(Be,Ce)=>{const be={};let Ft=null;return Be.forEach(Rn=>{be[Rn.properties.uuid]=Fi(Ri({},Rn),{id:Rn.properties.uuid,children:[]})}),Ce.forEach(Rn=>{const zr=be[Rn.startNodeUuid],Hr=be[Rn.endNodeUuid];zr&&(zr.id=zr.properties.uuid),zr&&Hr&&zr.children.push(Hr)}),Be.forEach(Rn=>{!Ce.some(Hr=>Hr.endNodeUuid===Rn.properties.uuid)&&(Ft=be[Rn.properties.uuid])}),Ft};var Yo=(0,ee.forwardRef)(({nodeUuid:Be,subject_id:Ce,setshowdetail:be,setitems:Ft,setzoomsize:Rn},zr)=>{const[Hr,En]=(0,ee.useState)(!1),Jt=(0,ee.useRef)(0),or=(0,ee.useRef)(null),Rr=(0,ee.useRef)();(0,ee.useEffect)(()=>{fi()},[]);function ca(_i){Rr.current.zoomBy(_i)}function qi(){setTimeout(()=>{var _i;Rn((((_i=Rr==null?void 0:Rr.current)==null?void 0:_i.getZoom())*100).toFixed(0))},300)}function ga(_i){var Ea;let No=Rr.current.getElementDataByState("node","selected");(No==null?void 0:No.length)>0&&Rr.current.setElementState((Ea=No==null?void 0:No[0])==null?void 0:Ea.id,[""]),Rr.current.setElementState(_i,["selected"])}function pa(_i,Ea){try{const No={},va={};Rr.current.getEdgeData().map(da=>{No[da.id]=_i==="Enter"?"inactive":"active"}),Rr.current.getNodeData().map(da=>{_i==="Enter"?va[da.id]=da.colornodeType===Ea?"highlight":"inactive":va[da.id]="active"}),Rr.current.setElementState(No),Rr.current.setElementState(va)}catch(No){}}function Da(_i,Ea){var No;(No=Rr==null?void 0:Rr.current)==null||No.fitView(_i,Ea)}(0,ee.useImperativeHandle)(zr,()=>({zoomBy:ca,getData:fi,selectall:ga,onMouse:pa,fitView:Da,getZooms:qi}));const fi=()=>ya(void 0,null,function*(){var _i,Ea,No,va,da,Lo,$r,$i,Vi;En(!0);let ja=yield(0,ht.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Be,subject_id:Ce,depth:-1,relationshipFilter:"\u5305\u542B>"}});En(!1);let Aa=(Ea=(_i=ja==null?void 0:ja.data)==null?void 0:_i.nodes)==null?void 0:Ea.map(Wo=>{var Ao,Mi,el,Ui,aa,Wa,Il,fl,Pl,_l,Dl,El;return Fi(Ri({},Wo==null?void 0:Wo.properties),{rootNodeUuid:(Ao=Wo==null?void 0:Wo.properties)==null?void 0:Ao.rootNodeUuid,id:(Mi=Wo==null?void 0:Wo.properties)==null?void 0:Mi.uuid,name:(el=Wo==null?void 0:Wo.properties)==null?void 0:el.name,description:(Ui=Wo==null?void 0:Wo.properties)==null?void 0:Ui.description,nodeType:(aa=Wo==null?void 0:Wo.properties)==null?void 0:aa.nodeType,tags:((Wa=Wo==null?void 0:Wo.properties)==null?void 0:Wa.tags)&&((Pl=(fl=(Il=Wo==null?void 0:Wo.properties)==null?void 0:Il.tags)==null?void 0:fl.split("\uFF0C"))==null?void 0:Pl.map(Ns=>({name:Ns})))||[],colorType:parseInt((_l=Wo==null?void 0:Wo.properties)==null?void 0:_l.color)>3?"3":(Dl=Wo==null?void 0:Wo.properties)==null?void 0:Dl.color,activeColor:"#FA6400",size:ta[((El=Wo==null?void 0:Wo.properties)==null?void 0:El.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0})}),Ll=Xo((va=(No=ja==null?void 0:ja.data)==null?void 0:No.nodes)==null?void 0:va.map((Wo,Ao)=>{var Mi,el,Ui,aa,Wa;return Fi(Ri({},Wo),{key:Ao,title:(Mi=Wo==null?void 0:Wo.properties)==null?void 0:Mi.name,newcolor:parseInt((el=Wo==null?void 0:Wo.properties)==null?void 0:el.color)===1?"#CC7CF5":((Ui=qa==null?void 0:qa.find(Il=>{var fl;return(Il==null?void 0:Il.name)===((fl=Wo==null?void 0:Wo.properties)==null?void 0:fl.nodeType)}))==null?void 0:Ui.color)||"#2D947C",colornodeType:parseInt((aa=Wo==null?void 0:Wo.properties)==null?void 0:aa.color)===1?"\u6839\u8282\u70B9":((Wa=qa==null?void 0:qa.find(Il=>{var fl;return(Il==null?void 0:Il.name)===((fl=Wo==null?void 0:Wo.properties)==null?void 0:fl.nodeType)}))==null?void 0:Wa.name)||"\u5176\u4ED6"})}),(Lo=(da=ja==null?void 0:ja.data)==null?void 0:da.relationships)==null?void 0:Lo.filter(Wo=>Wo.type==="\u5305\u542B"));Rr!=null&&Rr.current&&(($r=Rr==null?void 0:Rr.current)==null||$r.destroy());let Ol=(0,qn.RN)(Ll),Eo=($i=Ol.nodes)==null?void 0:$i.filter((Wo,Ao,Mi)=>Ao===Mi.findIndex(el=>el.id===Wo.id)),Xs=(Vi=Ol.edges)==null?void 0:Vi.filter((Wo,Ao,Mi)=>Ao===Mi.findIndex(el=>el.source===Wo.source&&el.target===Wo.target));Pi({nodes:Eo,edges:Xs},Aa)}),Pi=(_i,Ea)=>{var No,va;Rr.current=null,Rr.current=new qn.kJ({container:or.current,autoResize:!0,autoFit:{type:((No=_i==null?void 0:_i.nodes)==null?void 0:No.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((va=_i==null?void 0:_i.nodes)==null?void 0:va.length)>300),data:_i,node:{style:{labelText:da=>da.title,labelFill:"#ffffff",fill:da=>da.newcolor,labelBackground:!1,labelPlacement:function(da){const Lo=Kr(this,da);return Lo==="center"?"right":Lo},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:da=>(Jt.current++,Jt.current%2==0?"left":"right")},behaviors:["drag-element",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var da;Rn((((da=Rr==null?void 0:Rr.current)==null?void 0:da.getZoom())*100).toFixed(0))},300)}},"collapse-expand","drag-canvas",{type:"click-select",state:"selected",onClick:da=>{let Lo=Ea.filter($r=>{var $i,Vi;return($r==null?void 0:$r.id)===((Vi=($i=da.target)==null?void 0:$i.config)==null?void 0:Vi.id)});if((Lo==null?void 0:Lo.length)===0){be(!1);return}Ft(Lo==null?void 0:Lo[0]),be(!0),da.view.setCursor("pointer")},multiple:!1}]}),Rr.current.render(),setTimeout(()=>{var da;Rn((((da=Rr==null?void 0:Rr.current)==null?void 0:da.getZoom())*100).toFixed(0))},300)};return _n.createElement("div",{style:{height:"100%"}},_n.createElement(ut.Z,{spinning:Hr,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),_n.createElement("div",{style:{height:"100%"},ref:or}))}),bo={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",ChangeBut:"ChangeBut___uZelH"},Ta=ie(3955),So=ie(59301),Ra=Object.defineProperty,Gi=Object.defineProperties,ba=Object.getOwnPropertyDescriptors,Ko=Object.getOwnPropertySymbols,Rl=Object.prototype.hasOwnProperty,Dn=Object.prototype.propertyIsEnumerable,Or=(Be,Ce,be)=>Ce in Be?Ra(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ae=(Be,Ce)=>{for(var be in Ce||(Ce={}))Rl.call(Ce,be)&&Or(Be,be,Ce[be]);if(Ko)for(var be of Ko(Ce))Dn.call(Ce,be)&&Or(Be,be,Ce[be]);return Be},de=(Be,Ce)=>Gi(Be,ba(Ce)),pe=(Be,Ce)=>{var be={};for(var Ft in Be)Rl.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Ko)for(var Ft of Ko(Be))Ce.indexOf(Ft)<0&&Dn.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},xe=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});let ke=[{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 ze=null;let Ye=null;const Ke=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr,datas:En}=Ce,Jt=pe(Ce,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const or=(0,ee.useRef)(),Rr=(0,ee.useRef)(null);(0,ee.useEffect)(()=>{ca()},[En]);function ca(){return xe(this,null,function*(){var qi,ga,pa,Da,fi,Pi,_i;if(((qi=En==null?void 0:En.nodes)==null?void 0:qi.length)>0){let Ea=(0,Et.fX)((ga=En==null?void 0:En.nodes)==null?void 0:ga.map(($r,$i)=>{var Vi,ja,Aa,Ll,Ol,Eo,Xs,Wo,Ao,Mi,el,Ui,aa,Wa,Il,fl;return de(ae(ae({},$r),$r==null?void 0:$r.properties),{rootNodeUuid:(Vi=$r==null?void 0:$r.properties)==null?void 0:Vi.rootNodeUuid,id:(ja=$r==null?void 0:$r.properties)==null?void 0:ja.uuid,name:(Aa=$r==null?void 0:$r.properties)==null?void 0:Aa.name,labelstype:(Ll=$r==null?void 0:$r.labels)==null?void 0:Ll[1],description:(Ol=$r==null?void 0:$r.properties)==null?void 0:Ol.description,nodeType:(Eo=$r==null?void 0:$r.properties)==null?void 0:Eo.nodeType,colornodeType:parseInt((Xs=$r==null?void 0:$r.properties)==null?void 0:Xs.color)===1?"\u6839\u8282\u70B9":((Wo=ke==null?void 0:ke.find(Pl=>{var _l;return(Pl==null?void 0:Pl.name)===((_l=$r==null?void 0:$r.properties)==null?void 0:_l.nodeType)}))==null?void 0:Wo.name)||"\u5176\u4ED6",newcolor:parseInt((Ao=$r==null?void 0:$r.properties)==null?void 0:Ao.color)===1?"#CC7CF5":((Mi=ke==null?void 0:ke.find(Pl=>{var _l;return(Pl==null?void 0:Pl.name)===((_l=$r==null?void 0:$r.properties)==null?void 0:_l.nodeType)}))==null?void 0:Mi.color)||"#2D947C",tags:((el=$r==null?void 0:$r.properties)==null?void 0:el.tags)&&((Wa=(aa=(Ui=$r==null?void 0:$r.properties)==null?void 0:Ui.tags)==null?void 0:aa.split("\uFF0C"))==null?void 0:Wa.map(Pl=>({name:Pl})))||[],colorType:parseInt((Il=$r==null?void 0:$r.properties)==null?void 0:Il.color)>3?"3":(fl=$r==null?void 0:$r.properties)==null?void 0:fl.color})}),(fi=(Da=(pa=En==null?void 0:En.relationships)==null?void 0:pa.filter($r=>{var $i,Vi,ja;return($r==null?void 0:$r.endNodeUuid)!==((ja=(Vi=($i=En==null?void 0:En.nodes)==null?void 0:$i[0])==null?void 0:Vi.properties)==null?void 0:ja.rootNodeUuid)}))==null?void 0:Da.filter($r=>{var $i,Vi,ja;return($r==null?void 0:$r.startNodeUuid)!==((ja=(Vi=($i=En==null?void 0:En.nodes)==null?void 0:$i[0])==null?void 0:Vi.properties)==null?void 0:ja.rootNodeUuid)}))==null?void 0:fi.filter($r=>$r.type==="\u5305\u542B")),No=(0,qn.RN)(Ea),va=(Pi=No.nodes)==null?void 0:Pi.filter(($r,$i,Vi)=>$i===Vi.findIndex(ja=>ja.id===$r.id)),da=(_i=No.edges)==null?void 0:_i.filter(($r,$i,Vi)=>$i===Vi.findIndex(ja=>ja.source===$r.source&&ja.target===$r.target));va.map($r=>($r.transformd=!0,$r.style={labelWordWrap:!0,labelPlacement:$r.depth===0?"center":$r.depth<3?"top-left":"top",haloLineWidth:Math.max(20-$r.depth*6,0),labelMaxWidth:$r.depth===0?300:200,labelFontSize:$r.depth===0?22:va.length>300?12:14,labelLineHeight:100,halo:$r.depth<3},$r)),or.current=null;let Lo=va==null?void 0:va.length;or.current=new qn.kJ({container:Rr.current,autoResize:!0,background:"#010A23",autoFit:{type:va.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:va,edges:da},node:{type:"circle",style:{size:$r=>$r.colorType==1?100:$r.depth<2?50:Lo>250?10:20,fill:$r=>$r.newcolor,labelText:$r=>$r.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:$r=>$r.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:va.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:$r=>$r.targetType==="node",getContent:($r,$i)=>{let Vi="";return $i.forEach(ja=>{Vi+=`
    ${ja.name||""}
    `}),Vi}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:($r,$i)=>{console.log("----",$r,$i)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),or.current.render()}})}return So.createElement("div",{style:{background:"#fff",height:"800rem"}},So.createElement("div",{style:{width:"100%",height:"800rem"},ref:Rr}))};var ct=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(Ke),rt=ie(78267),Ct={flex_box_center:"flex_box_center___WMF1f",flex_space_between:"flex_space_between___haq2g",flex_box_vertical_center:"flex_box_vertical_center___KFxAJ",flex_box_center_end:"flex_box_center_end___DIl10",flex_box_column:"flex_box_column___f8Jy4",zhishidian:"zhishidian___ftPXv"},Xt={flex_box_center:"flex_box_center___JiLDQ",flex_space_between:"flex_space_between___Ur9j0",flex_box_vertical_center:"flex_box_vertical_center___FAM8c",flex_box_center_end:"flex_box_center_end___onqau",flex_box_column:"flex_box_column___jwO5r",tree_box:"tree_box___EeMwm",tree:"tree___jwv1Z"},Bt=ie(59301),Sn=Object.defineProperty,Zt=Object.defineProperties,nn=Object.getOwnPropertyDescriptors,cn=Object.getOwnPropertySymbols,on=Object.prototype.hasOwnProperty,bn=Object.prototype.propertyIsEnumerable,Mr=(Be,Ce,be)=>Ce in Be?Sn(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ti=(Be,Ce)=>{for(var be in Ce||(Ce={}))on.call(Ce,be)&&Mr(Be,be,Ce[be]);if(cn)for(var be of cn(Ce))bn.call(Ce,be)&&Mr(Be,be,Ce[be]);return Be},xa=(Be,Ce)=>Zt(Be,nn(Ce)),ui=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const ka=({dispatch:Be,user:Ce,classroomList:be,account:Ft,resourceModalVisible:Rn,setResourceModalVisible:zr,resourceId:Hr,binding:En,getTableData:Jt})=>{const[or]=Se.default.useForm(),Rr=(0,Oe.useParams)(),[ca,qi]=(0,ee.useState)([]),[ga,pa]=(0,ee.useState)([]),[Da,fi]=(0,ee.useState)([]),[Pi,_i]=(0,ee.useState)(!1),[Ea,No]=(0,ee.useState)(!1),[va,da]=(0,ee.useState)([]),[Lo,$r]=(0,ee.useState)({keyword:""});(0,ee.useEffect)(()=>{Rn?(or.setFieldsValue({tab:"all"}),Vi("all")):(da([]),fi([]),Lo.keyword="",$r(ti({},Lo)))},[Rn]),(0,ee.useEffect)(()=>{Rn&&Vi(or.getFieldValue("tab"))},[Lo==null?void 0:Lo.keyword]);const $i=Aa=>{switch(Aa.item_type){case"Challenge":return Bt.createElement(mr.Z,{wrap:!1,align:"middle",justify:"space-between",gutter:20},Bt.createElement(Zi.Z,{flex:"302px"},Bt.createElement(gn.Z,{title:Aa.name||""},Bt.createElement("div",{className:" multi_ellipsis1"},Bt.createElement("span",{className:"mr5",style:{color:"#20BB8A"}},"\u5173\u5361")," ",Aa.name||""))),Bt.createElement(Zi.Z,{flex:1},Bt.createElement(gn.Z,{title:Aa.shixun_name||""},Bt.createElement("div",{className:"c-grey-666 multi_ellipsis1"},"\u6240\u5C5E\u5B9E\u8BAD\uFF1A",(Aa==null?void 0:Aa.shixun_name)||""))));case"Shixun":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5 c-light-primary"},"\u5B9E\u8BAD"),Aa.name);case"Attachment":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5 c-cyan-blue"},"\u8BFE\u4EF6"),Aa.name);case"ExaminationBank":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5",style:{color:"#e69917"}},"\u6D4B\u9A8C"),Aa.name);case"HomeworkCommon":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5",style:{color:"#E99237"}},"\u7F16\u7A0B\u4F5C\u4E1A"),Aa.name);case"VideoItem":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5 c-purple-8C1"},"\u89C6\u9891"),Aa.name);case"SubjectHomework":return(Aa==null?void 0:Aa.homework_type)=="group"?Bt.createElement("span",null,Bt.createElement("span",{className:"mr5",style:{color:"#AABF07"}},"\u5206\u7EC4\u4F5C\u4E1A"),Aa.name):Bt.createElement("span",null,Bt.createElement("span",{className:"mr5",style:{color:"#20BB8A"}},"\u56FE\u6587\u4F5C\u4E1A"),Aa.name);case"StageCatalog":return Bt.createElement("span",null,Bt.createElement("span",{className:"mr5"},"\u5C0F\u8282"),Aa.name);default:return""}},Vi=Aa=>ui(void 0,null,function*(){_i(!0);const Ll=yield(0,ht.ZP)(`/api/paths/${Rr==null?void 0:Rr.pathId}/bind_tag_stage_shixuns.json`,{method:"get",params:{tag_discipline_id:Hr,binding:En,keywords:Lo==null?void 0:Lo.keyword,tab:Aa}});if(Ll){const Ol=(Wo,Ao="")=>Wo==null?void 0:Wo.map((Mi,el)=>{const Ui=Ao?`${Ao}-${el}`:`${el}`,Wa=!Ao?Mi.state_name||"":$i(Mi),Il=!(Mi!=null&&Mi.can_choose);return xa(ti({},Mi),{title:Wa,key:Ui,disabled:Il,children:Ol(Mi.items||Mi.children||[],Ui)})}),Eo=Ol((Ll==null?void 0:Ll.stages)||[]);qi(Eo||[]);const Xs=(Wo,Ao=[])=>(Wo.forEach(Mi=>{var el;Ao.push(Mi.key),(el=Mi.children)!=null&&el.length&&Xs(Mi.children,Ao)}),Ao);pa(Xs(Eo||[]))}_i(!1)}),ja=(Aa,Ll)=>{var Ol,Eo;(Ol=Ll==null?void 0:Ll.checkedNodes)!=null&&Ol.length&&fi((Eo=Ll==null?void 0:Ll.checkedNodes)==null?void 0:Eo.map(Xs=>Xs==null?void 0:Xs.stage_shixun_id)),da(Aa)};return Bt.createElement("div",null,Bt.createElement(st.default,{title:En?"\u89E3\u7ED1\u8D44\u6E90":"\u5173\u8054\u8D44\u6E90",open:Rn,width:700,centered:!0,destroyOnClose:!0,okText:"\u786E\u5B9A\u4FDD\u5B58",className:Xt.scoremodal,onCancel:()=>{zr(!1)},onOk:()=>ui(void 0,null,function*(){if(No(!0),En){const Aa=yield(0,ht.ZP)(`/api/v2/tag_disciplines/${Hr}/un_bind_resource.json`,{method:"post",body:{stage_shixun_ids:Da}});(Aa==null?void 0:Aa.status)==0&&(zr(!1),Jt()),No(!1)}else{const Aa=yield(0,ht.ZP)(`/api/v2/tag_disciplines/${Hr}/bind_resource.json`,{method:"post",body:{stage_shixun_ids:Da}});(Aa==null?void 0:Aa.status)==0&&(zr(!1),Jt()),No(!1)}})},Bt.createElement(Se.default,{layout:"inline",form:or,className:Xt.myForm},Bt.createElement(Se.default.Item,{name:"tab",colon:!1},Bt.createElement(ji.default,{style:{width:200},size:"large",placeholder:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B",onChange:Aa=>{Vi(Aa)}},Bt.createElement(ji.default.Option,{value:"all"},"\u5168\u90E8"),Bt.createElement(ji.default.Option,{value:"shixun"},"\u5B9E\u8DF5\u9879\u76EE"),Bt.createElement(ji.default.Option,{value:"video"},"\u89C6\u9891"),Bt.createElement(ji.default.Option,{value:"attachment"},"\u8BFE\u4EF6"),Bt.createElement(ji.default.Option,{value:"challenge"},"\u5173\u5361"),Bt.createElement(ji.default.Option,{value:"group_homework"},"\u5206\u7EC4\u4F5C\u4E1A"),Bt.createElement(ji.default.Option,{value:"normal_homework"},"\u56FE\u6587\u4F5C\u4E1A"),Bt.createElement(ji.default.Option,{value:"hack_homework"},"\u7F16\u7A0B\u4F5C\u4E1A"),Bt.createElement(ji.default.Option,{value:"exercise"},"\u6D4B\u9A8C"))),Bt.createElement(_o.t7,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:Lo==null?void 0:Lo.keyword,style:{width:240,marginLeft:"auto"},onChange:Aa=>{$r(xa(ti({},Lo),{keyword:Aa,page:1}))}})),Bt.createElement(ut.Z,{spinning:Pi},(ca==null?void 0:ca.length)>0?Bt.createElement("div",{className:Xt.tree_box},Bt.createElement(Qa.default,{className:Xt.tree,checkable:!0,treeData:ca,checkedKeys:va,expandedKeys:ga,onExpand:Aa=>pa(Aa),onCheck:(Aa,Ll)=>ja(Aa,Ll)})):Bt.createElement(ma.Z,null))))};var Xa=(0,Oe.connect)(({user:Be,classroomList:Ce,account:be})=>({user:Be,classroomList:Ce,account:be}))(ka),ua=ie(59301),Tr=Object.defineProperty,yi=Object.defineProperties,Ya=Object.getOwnPropertyDescriptors,Qn=Object.getOwnPropertySymbols,jn=Object.prototype.hasOwnProperty,ai=Object.prototype.propertyIsEnumerable,Si=(Be,Ce,be)=>Ce in Be?Tr(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ia=(Be,Ce)=>{for(var be in Ce||(Ce={}))jn.call(Ce,be)&&Si(Be,be,Ce[be]);if(Qn)for(var be of Qn(Ce))ai.call(Ce,be)&&Si(Be,be,Ce[be]);return Be},oi=(Be,Ce)=>yi(Be,Ya(Ce)),zi=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const so=({dispatch:Be,user:Ce,classroomList:be,account:Ft})=>{const[Rn]=Se.default.useForm(),zr=(0,Oe.useParams)(),[Hr,En]=(0,ee.useState)(!1),[Jt,or]=(0,ee.useState)({page:1,limit:10,keyword:""}),[Rr,ca]=(0,ee.useState)([]),[qi,ga]=(0,ee.useState)({}),[pa,Da]=(0,ee.useState)(!1),[fi,Pi]=(0,ee.useState)(""),[_i,Ea]=(0,ee.useState)(!1),[No,va]=(0,ee.useState)("");(0,ee.useEffect)(()=>{Ft.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90"?da():(Jt.keyword="",or(ia({},Jt)))},[Ft.actionTabs]);const da=()=>zi(void 0,null,function*(){var $i,Vi,ja,Aa,Ll,Ol,Eo,Xs,Wo,Ao,Mi,el;En(!0);const Ui=yield(0,ht.ZP)("/api/v2/course_disciplines.json",{method:"get"});(Ui==null?void 0:Ui.status)===0&&(ca(($i=Ui==null?void 0:Ui.data)==null?void 0:$i.list),Rn.setFieldsValue({course_discipline_id:(Aa=(ja=(Vi=Ui==null?void 0:Ui.data)==null?void 0:Vi.list)==null?void 0:ja[0])==null?void 0:Aa.id}),((Ol=(Ll=Ui==null?void 0:Ui.data)==null?void 0:Ll.list)==null?void 0:Ol.length)>0?Lo((Wo=(Xs=(Eo=Ui==null?void 0:Ui.data)==null?void 0:Eo.list)==null?void 0:Xs[0])==null?void 0:Wo.id):En(!1),va((el=(Mi=(Ao=Ui==null?void 0:Ui.data)==null?void 0:Ao.list)==null?void 0:Mi[0])==null?void 0:el.id))}),Lo=$i=>zi(void 0,null,function*(){const Vi=yield(0,ht.ZP)("/api/v2/tag_disciplines.json",{method:"get",params:{subject_id:(zr==null?void 0:zr.pathId)||"",course_discipline_id:$i,keyword:Jt==null?void 0:Jt.keyword}});(Vi==null?void 0:Vi.status)===0&&ga(Vi==null?void 0:Vi.data),En(!1)});(0,ee.useEffect)(()=>{Ft.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90"&&(Lo(Rn.getFieldValue("course_discipline_id")),va(Rn.getFieldValue("course_discipline_id")))},[Jt==null?void 0:Jt.keyword]);const $r=[{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",dataIndex:"name",key:"name",ellipsis:!0,align:"left",render:($i,Vi)=>ua.createElement("span",null,$i||"--")},{title:"\u5DF2\u5173\u8054\u8D44\u6E90\u6570\u91CF",dataIndex:"resource_size",key:"resource_size",ellipsis:!0,align:"left",render:$i=>ua.createElement("span",null,$i)},{title:"\u64CD\u4F5C",key:"action",align:"right",width:200,render:($i,Vi)=>ua.createElement(ua.Fragment,null,ua.createElement("span",{style:{color:"#165DFF",cursor:"pointer",marginRight:"20px"},onClick:()=>{Da(!0),Pi(Vi==null?void 0:Vi.id),Ea(!1)}},"\u5173\u8054\u8D44\u6E90"),ua.createElement("span",{style:{color:"#165DFF",cursor:"pointer"},onClick:()=>{Da(!0),Pi(Vi==null?void 0:Vi.id),Ea(!0)}},"\u89E3\u7ED1\u8D44\u6E90"))}].filter($i=>!!$i);return ua.createElement(st.default,{title:"\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90",open:Ft.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90",width:900,centered:!0,footer:null,destroyOnClose:!0,className:Ct.scoremodal,onCancel:()=>{Be({type:"account/setActionTabs",payload:{key:""}})}},ua.createElement(ut.Z,{spinning:Hr},ua.createElement(Se.default,{layout:"inline",form:Rn,className:Ct.myForm},ua.createElement(Se.default.Item,{name:"course_discipline_id",colon:!1},ua.createElement(ji.default,{style:{width:200},size:"large",placeholder:"\u8BF7\u9009\u62E9\u8BFE\u7A0B",onChange:$i=>{Lo($i),va($i)}},Rr==null?void 0:Rr.map($i=>ua.createElement(ji.default.Option,{key:$i==null?void 0:$i.id,value:$i==null?void 0:$i.id},$i==null?void 0:$i.name)))),ua.createElement(_o.t7,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:Jt==null?void 0:Jt.keyword,style:{width:240},onChange:$i=>{or(oi(ia({},Jt),{keyword:$i,page:1}))}}),ua.createElement("div",{className:Ct.zhishidian,onClick:()=>{(0,Et.xg)(`/knowledgeHub?course_discipline_id=${No}`)}},"\u77E5\u8BC6\u70B9\u7BA1\u7406")),ua.createElement(un.default,{columns:$r,pagination:!1,scroll:{y:400},style:{marginTop:"20px",marginBottom:"20px"},dataSource:(qi==null?void 0:qi.tag_disciplines)||[]})),ua.createElement(Xa,{resourceModalVisible:pa,setResourceModalVisible:Da,resourceId:fi,binding:_i,getTableData:()=>{Lo(Rn.getFieldValue("course_discipline_id")),va(Rn.getFieldValue("course_discipline_id"))}}))};var Oo=(0,Oe.connect)(({user:Be,classroomList:Ce,account:be})=>({user:Be,classroomList:Ce,account:be}))(so),ar=ie(59301),$o=Object.defineProperty,bl=Object.defineProperties,eu=Object.getOwnPropertyDescriptors,Cs=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,yu=Object.prototype.propertyIsEnumerable,cu=(Be,Ce,be)=>Ce in Be?$o(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,du=(Be,Ce)=>{for(var be in Ce||(Ce={}))uu.call(Ce,be)&&cu(Be,be,Ce[be]);if(Cs)for(var be of Cs(Ce))yu.call(Ce,be)&&cu(Be,be,Ce[be]);return Be},oc=(Be,Ce)=>bl(Be,eu(Ce)),Oc=(Be,Ce)=>{var be={};for(var Ft in Be)uu.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Cs)for(var Ft of Cs(Be))Ce.indexOf(Ft)<0&&yu.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},Ru=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Vl=window.ENV==="build"?"/react/build":"";let vc=[{name:"\u6839\u8282\u70B9",src:Vl+"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB",img:Vl+"/images/gjd.svg"},{name:"\u8BFE\u7A0B",src:Vl+"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9",img:Vl+"/images/kcjd.svg"},{name:"\u7AE0\u8282",src:Vl+"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9",img:Vl+"/images/zjjd.svg"},{name:"\u77E5\u8BC6\u70B9",src:Vl+"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F",img:Vl+"/images/zsdjd.svg"},{name:"\u5B9E\u8BAD",src:Vl+"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB",img:Vl+"/images/sxjd.svg"},{name:"\u4F5C\u4E1A",src:Vl+"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5",img:Vl+"/images/zyjd.svg"},{name:"\u89C6\u9891",src:Vl+"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4",img:Vl+"/images/spjd.svg"},{name:"\u8BFE\u4EF6",src:Vl+"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448",img:Vl+"/images/kjjd.svg"},{name:"\u8BD5\u5377",src:Vl+"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04",img:Vl+"/images/sjjd.svg"},{name:"\u5176\u4ED6",src:Vl+"/images/qt.svg",color:"#2D947C",bordercolor:"#157660",img:Vl+"/images/qtjd.svg"}];const Pu=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr,uuid:En,Tabsdatas:Jt,initdata:or,setactivied:Rr,tpacti:ca}=Ce,qi=Oc(Ce,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),ga,pa,Da,fi,Pi,_i,Ea,No,va;const da=(0,Oe.useParams)(),Lo=(0,ee.useRef)(),$r=(0,ee.useRef)(),$i=(0,ee.useRef)(),[Vi,ja]=(0,ee.useState)([]),[Aa,Ll]=(0,ee.useState)(!0),[Ol,Eo]=(0,ee.useState)([]),[Xs,Wo]=(0,ee.useState)(""),[Ao,Mi]=(0,ee.useState)(!1),el=(0,ee.useRef)(null),[Ui,aa]=(0,ee.useState)(),[Wa,Il]=(0,ee.useState)(!1),[fl,Pl]=(0,ee.useState)([]);let[_l,Dl]=(0,ee.useState)(!1);const[El,Ns]=(0,ee.useState)(!1),[Es,tu]=(0,ee.useState)(!1),[Ec,Lu]=(0,ee.useState)(!1),[Bc,jc]=(0,ee.useState)([]),[Td,Pd]=(0,ee.useState)(!1),[Of,yf]=(0,ee.useState)([]),[of]=(0,Oe.useSearchParams)(),[Gd,Dd]=(0,ee.useState)(!1),[Gf,Uf]=(0,ee.useState)(0),[q0,hl]=(0,ee.useState)("\u5168\u90E8");let[Ou,Ad]=(0,ee.useState)({page:1,limit:10});const[Ud,Pf]=(0,ee.useState)({}),[bf,S0]=(0,ee.useState)([]),Lc=(0,ee.useRef)(null),Sd=(0,ee.useRef)(null),[Kc,nu]=(0,ee.useState)(!1);(0,ee.useEffect)(()=>(_l=!1,Dl(!1),Yd(2,!0),yt.ZP.config({getContainer:()=>el.current}),()=>{var lo;Ll(!1),Eo([]),Il(!1),Wo(""),(lo=$i.current)==null||lo.clear()}),[En]),(0,ee.useEffect)(()=>(document.addEventListener("keydown",ju),document.addEventListener("keyup",_0),()=>{document.removeEventListener("keydown",ju),document.addEventListener("keyup",_0)}),[]);function ju(lo){lo.ctrlKey&&$i.current&&$i.current.setBehaviors(js=>[...js.filter(mu=>typeof mu=="string"?mu!=="zoom-canvas":mu.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom",enable:!0,preventDefault:!0}])}function _0(lo){$i.current&&$i.current.setBehaviors(js=>[...js.filter(mu=>typeof mu=="string"?mu!=="zoom-canvas":mu.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom1",enable:!1,preventDefault:!1}])}const $0={onRemove:()=>{jc([])},beforeUpload:lo=>{if(console.log(lo),(lo==null?void 0:lo.size)>1024*1024*50)return yt.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let js=[];return js.push(lo),jc([...js]),!1},fileList:Bc,accept:".xls,.xlsx"};(0,ee.useEffect)(()=>{},[_l]),(0,ee.useEffect)(()=>(window.addEventListener("resize",Df),()=>{window.removeEventListener("resize",Df)}),[]);function Df(){var lo,js;(js=(lo=Lo.current)==null?void 0:lo.update)==null||js.call(lo)}const M0=(...lo)=>Ru(void 0,[...lo],function*(js={}){return yield Hr({type:"pathsDetail/getKnowledgeGraphs",payload:du({graphable_type:of.get("type")==="classrooms"?"course":"subject",graphable_id:da==null?void 0:da.pathId},js)})});function Yd(lo,js=!1){return Ru(this,null,function*(){var lu,mu,Zs,Tf,Yf,i0,mh,Zh;(lu=$i.current)==null||lu.destroy(),Dd(!0);let I0=yield(0,ht.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:En,subject_id:da==null?void 0:da.pathId,depth:lo===0?lo:lo||-1,relationshipFilter:"\u5305\u542B>"}});if(Dd(!1),(I0==null?void 0:I0.status)===0){if(js||M0({graphable_id:da==null?void 0:da.pathId}),_l){$r.current.getData();return}Ll(!0);let Qh=(0,Et.fX)((Zs=(mu=I0==null?void 0:I0.data)==null?void 0:mu.nodes)==null?void 0:Zs.map((al,lf)=>{var Md,Id,th,Ih,Kh,Wh,Gh,Uh,Yh,Jh,qh,_h,$h,ep,nh,o0,Fh,Z0;return oc(du(du({},al),al==null?void 0:al.properties),{rootNodeUuid:(Md=al==null?void 0:al.properties)==null?void 0:Md.rootNodeUuid,id:(Id=al==null?void 0:al.properties)==null?void 0:Id.uuid,name:(th=al==null?void 0:al.properties)==null?void 0:th.name,labelstype:(Ih=al==null?void 0:al.labels)==null?void 0:Ih[1],description:(Kh=al==null?void 0:al.properties)==null?void 0:Kh.description,nodeType:(Wh=al==null?void 0:al.properties)==null?void 0:Wh.nodeType,colornodeType:parseInt((Gh=al==null?void 0:al.properties)==null?void 0:Gh.color)===1?"\u6839\u8282\u70B9":((Uh=vc==null?void 0:vc.find(zf=>{var Sf;return(zf==null?void 0:zf.name)===((Sf=al==null?void 0:al.properties)==null?void 0:Sf.nodeType)}))==null?void 0:Uh.name)||"\u5176\u4ED6",newcolor:parseInt((Yh=al==null?void 0:al.properties)==null?void 0:Yh.color)===1?"#CC7CF5":((Jh=vc==null?void 0:vc.find(zf=>{var Sf;return(zf==null?void 0:zf.name)===((Sf=al==null?void 0:al.properties)==null?void 0:Sf.nodeType)}))==null?void 0:Jh.color)||"#2D947C",newbordercolor:parseInt((qh=al==null?void 0:al.properties)==null?void 0:qh.color)===1?Vl+"/images/gjd.svg":((_h=vc==null?void 0:vc.find(zf=>{var Sf;return(zf==null?void 0:zf.name)===((Sf=al==null?void 0:al.properties)==null?void 0:Sf.nodeType)}))==null?void 0:_h.img)||Vl+"/images/qtjd.svg",tags:(($h=al==null?void 0:al.properties)==null?void 0:$h.tags)&&((o0=(nh=(ep=al==null?void 0:al.properties)==null?void 0:ep.tags)==null?void 0:nh.split("\uFF0C"))==null?void 0:o0.map(zf=>({name:zf})))||[],colorType:parseInt((Fh=al==null?void 0:al.properties)==null?void 0:Fh.color)>3?"3":(Z0=al==null?void 0:al.properties)==null?void 0:Z0.color})}),(Yf=(Tf=I0==null?void 0:I0.data)==null?void 0:Tf.relationships)==null?void 0:Yf.filter(al=>al.type==="\u5305\u542B")),X0=(0,qn.RN)(Qh),Jf=(i0=X0.nodes)==null?void 0:i0.filter((al,lf,Md)=>lf===Md.findIndex(Id=>Id.id===al.id));ja(Jf);let Vh=(mh=X0.edges)==null?void 0:mh.filter((al,lf,Md)=>lf===Md.findIndex(Id=>Id.source===al.source&&Id.target===al.target));Jf.map(al=>(al.transformd=!0,al.style={labelWordWrap:!0,labelPlacement:al.depth===0?"center":al.depth<3?"top-left":"top",haloLineWidth:Math.max(20-al.depth*6,0),labelMaxWidth:al.depth===0?300:100,labelFontSize:al.depth===0?22:Jf.length>300?12:14,labelLineHeight:100,halo:al.depth<3},al)),$i.current=null;let xp=Jf==null?void 0:Jf.length;$i.current=new qn.kJ({container:Sd.current,autoResize:!0,background:"#010A23",autoFit:{type:Jf.length>10?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:Jf,edges:Vh},node:{type:"image",style:{src:al=>al.newbordercolor,size:al=>al.colorType==1?100:al.depth<2?50:xp>250?10:20,fill:al=>al.newcolor,labelText:al=>al.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:al=>al.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:Jf.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",position:"bottom",enable:al=>al.targetType==="node",getContent:(al,lf)=>{let Md="";return lf.forEach(Id=>{Md+=`
    ${Id.name||""}
    `}),Md}}],behaviors:["drag-canvas",{type:"zoom-canvas",enable:!1,preventDefault:!1,onFinish:()=>{setTimeout(()=>{var al;Uf((((al=$i==null?void 0:$i.current)==null?void 0:al.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(al,lf)=>{console.log("----",al,lf)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:al=>{Lc.current?(clearTimeout(Lc.current),Lc.current=null):Lc.current=setTimeout(()=>{let lf=Jf.filter(Md=>{var Id,th;return(Md==null?void 0:Md.id)===((th=(Id=al.target)==null?void 0:Id.config)==null?void 0:th.id)});if((lf==null?void 0:lf.length)===0){Il(!1);return}aa(lf==null?void 0:lf[0]),Il(!0),al.view.setCursor("pointer"),Lc.current=null},300)},multiple:!1},{type:"hover-activate",enable:al=>al.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:al=>{al.view.setCursor("pointer")},onHoverEnd:al=>{al.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),$i.current.render(),Sd.current&&(Sd.current.style.opacity=1),(Zh=$i==null?void 0:$i.current)==null||Zh.fitView(),setTimeout(()=>{var al;Uf((((al=$i==null?void 0:$i.current)==null?void 0:al.getZoom())*100).toFixed(0))},300);var eh=$i.current.getOptions();setTimeout(()=>{var al;eh.animation=!0,(al=$i.current)==null||al.setOptions(eh)},2500),window.graphsRef=$i.current}let a0=yield(0,ht.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:da==null?void 0:da.pathId}});(a0==null?void 0:a0.status)===0&&S0(a0==null?void 0:a0.data)})}const R0=(lo,js)=>{if($i.current){if(El){lo==="Leave"?$r.current.settype(""):$r.current.settype(js==null?void 0:js.name);return}if(_l){$r.current.onMouse(lo,js.name);return}try{const lu={},mu={};$i.current.getEdgeData().map(Zs=>{lu[Zs.id]=lo==="Enter"?"inactive":"active"}),$i.current.getNodeData().map(Zs=>{lo==="Enter"?mu[Zs.id]=Zs.colornodeType===js.name?"highlight":"inactive":mu[Zs.id]="active"}),$i.current.setElementState(lu),$i.current.setElementState(mu)}catch(lu){}}},Jd=(lo,js)=>{if($i.current){if(_l){$r.current.onMouse(lo,js.name);return}try{const lu={},mu={};$i.current.getEdgeData().map(Zs=>{lu[Zs.id]=lo==="Enter"?"inactive":"active"}),$i.current.getNodeData().map(Zs=>{var Tf,Yf;lo==="Enter"?mu[Zs.id]=(Yf=(Tf=Zs.tags)==null?void 0:Tf.map(i0=>i0==null?void 0:i0.name))!=null&&Yf.includes(js.name)?"highlight":"inactive":mu[Zs.id]="active"}),$i.current.setElementState(lu),$i.current.setElementState(mu)}catch(lu){}}};return ar.createElement(ut.Z,{spinning:Gd},ar.createElement("div",{ref:el,className:"h-screen flex flex-col",style:{background:"#010A23",height:"100%"}},ar.createElement("div",{className:"relative w-full"},ar.createElement("div",{className:"flex w-full px-40px-rem pt-24px-rem absolute gap-20px-rem",style:{left:0,top:0,justifyContent:"start",zIndex:1}},ar.createElement("span",{className:bo.tupugx,onClick:()=>{Rr(),localStorage.setItem("tpuuid",En)}},ar.createElement("img",{src:Vl+"/images/tpgx.svg",style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),ar.createElement("div",{className:bo.autocomp},ar.createElement("div",{style:{display:"flex",alignItems:"center"}},ar.createElement(Pt.Z,{className:bo.autocompwidth,options:Ol,popupClassName:bo.autopop,getPopupContainer:()=>el.current,value:Xs,onSelect:(lo,js)=>{var lu;if(Wo(Vi.find(mu=>mu.id===lo).name),aa(Vi.find(mu=>mu.id===lo)),Il(!0),El){$r.current.selectall(lo);return}if(_l)$r.current.selectall(lo);else{let mu=$i.current.getElementDataByState("node","selected");(mu==null?void 0:mu.length)>0&&$i.current.setElementState((lu=mu==null?void 0:mu[0])==null?void 0:lu.id,[""]),$i.current.setElementState(lo,["selected"])}},onChange:lo=>{Wo(lo)},onSearch:lo=>{Eo(()=>{var js,lu,mu;return q0==="\u5168\u90E8"?(js=Vi==null?void 0:Vi.filter(Zs=>Zs.name.includes(lo)))==null?void 0:js.map(Zs=>({label:ar.createElement("div",{style:{display:"flex",alignItems:"center"}},ar.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Zs==null?void 0:Zs.nodeType)," ",ar.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Zs==null?void 0:Zs.name.replaceAll(lo,`${lo}`)}})),value:Zs==null?void 0:Zs.id})):(mu=(lu=Vi==null?void 0:Vi.filter(Zs=>{var Tf;return(Tf=Zs==null?void 0:Zs.tags)==null?void 0:Tf.find(Yf=>Yf.name===q0)}))==null?void 0:lu.filter(Zs=>Zs.name.includes(lo)))==null?void 0:mu.map(Zs=>({label:ar.createElement("div",{style:{display:"flex",alignItems:"center"}},ar.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Zs==null?void 0:Zs.nodeType)," ",ar.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Zs==null?void 0:Zs.name.replaceAll(lo,`${lo}`)}})),value:Zs==null?void 0:Zs.id}))})}},ar.createElement(tt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:ar.createElement(Wt.Z,{overlayClassName:bo.dropdownst,menu:{items:[{label:ar.createElement("div",{onClick:()=>{hl("\u5168\u90E8"),Jd("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...bf==null?void 0:bf.map(lo=>({label:ar.createElement("div",{onClick:()=>{hl(lo.name),Jd("Enter",lo)}},lo==null?void 0:lo.name),key:lo.id}))]}},ar.createElement("div",{style:{display:"flex",alignItems:"center"}},ar.createElement("div",{className:bo.textname,style:{width:"60rem"}},q0),ar.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"}})))})))),ar.createElement("div",{className:"flex ml-auto",style:{zIndex:"3"}},((ga=be==null?void 0:be.detail)==null?void 0:ga.can_managed)&&of.get("type")==="classrooms"&&ar.createElement("div",{className:`current flex item-center c-white ${bo.ChangeBut}`,onClick:()=>{Oe.history.push(`/knowledgegraph/${da==null?void 0:da.pathId}/statistics/pathatlas/${En}?type=classrooms&tabs=3`)}},"\u6570\u636E\u7EDF\u8BA1"),((pa=be==null?void 0:be.detail)==null?void 0:pa.sync_uuid)&&((Da=be==null?void 0:be.detail)==null?void 0:Da.sync_uuid)===En&&((fi=be==null?void 0:be.detail)==null?void 0:fi.can_managed)&&ar.createElement(gn.Z,{title:"\u540C\u6B65"},ar.createElement("img",{className:"current",onClick:(0,rt.debounce)(()=>{st.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>el.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:()=>Ru(void 0,null,function*(){var lo;const js=(lo=Jt==null?void 0:Jt.find(mu=>(mu==null?void 0:mu.uuid)===En))==null?void 0:lo.name;let lu=yield(0,ht.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:da==null?void 0:da.pathId,uuid:En,name:js}});lu.status===0&&yt.ZP.info(lu==null?void 0:lu.message)})})},500),src:Kc===1?Vl+"/images/gxxz.png":Vl+"/images/gx.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Pi=be==null?void 0:be.detail)==null?void 0:Pi.can_managed)&&ar.createElement("div",{className:bo.hoverone},ar.createElement("div",{onClick:()=>Ru(void 0,null,function*(){let lo=yield(0,ht.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:da==null?void 0:da.pathId,parentNodeUuid:En}});(lo==null?void 0:lo.status)===0&&yt.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},ar.createElement("img",{src:Kc===2?Vl+"/images/bcbbxz.png":Vl+"/images/bcbb.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(2)}}),ar.createElement("div",{className:bo.name},"\u4FDD\u5B58\u7248\u672C")),ar.createElement("div",{onClick:()=>Ru(void 0,null,function*(){Ou.page=1,Ou.limit=10;let lo=yield(0,ht.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:du({subject_id:da==null?void 0:da.pathId,nodeUuid:En},Ou)});Ad(Ou),(lo==null?void 0:lo.status)===0&&(Pd(!0),yf(lo))})},ar.createElement("img",{src:Kc===3?Vl+"/images/qhbbxz.png":Vl+"/images/qhbb.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(3)},className:bo.img}),ar.createElement("div",{className:bo.name},"\u5207\u6362\u7248\u672C"))),((_i=be==null?void 0:be.detail)==null?void 0:_i.can_managed)&&ar.createElement(gn.Z,{title:"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31"},ar.createElement("div",{className:"current flex item-center justify-center c-white",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem",borderRadius:"50%",background:"#202F4F"},onClick:()=>{ea.Z.publish("create_a_knowledge_map")}},ar.createElement("span",{className:"iconfont icon-tianjia4"}))),ar.createElement("div",{className:bo.hoverone},ar.createElement("div",{onClick:()=>{_l=!1,Dl(!1),Ns(!1),Ll(!0),Yd(2,!0)}},ar.createElement("img",{src:Kc===4?Vl+"/images/gxtxz.png":Vl+"/images/gxt.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(4)}}),ar.createElement("div",{className:bo.name},"\u5173\u7CFB\u56FE")),ar.createElement("div",{onClick:()=>{_l=!0,Ns(!1),Dl(!0)}},ar.createElement("img",{src:Kc===5?Vl+"/images/zssxz.png":Vl+"/images/zss.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(5)},className:bo.img}),ar.createElement("div",{className:bo.name},"\u77E5\u8BC6\u6811"))),ar.createElement(gn.Z,{title:"\u5168\u5C4F"},ar.createElement("img",{className:"current",onClick:()=>{var lo,js,lu,mu;(0,Ta.vp)()?(Mi(!1),(0,Ta.BU)(),!_l&&Aa?(lo=$i==null?void 0:$i.current)==null||lo.fitCenter():(js=$r==null?void 0:$r.current)==null||js.fitView()):(Mi(!0),(0,Ta.Dj)(el.current),!_l&&Aa?(lu=$i==null?void 0:$i.current)==null||lu.fitCenter():(mu=$r==null?void 0:$r.current)==null||mu.fitView())},src:Kc===6?Vl+"/images/qpxz.png":Vl+"/images/qp.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Ea=be==null?void 0:be.detail)==null?void 0:Ea.can_managed)&&ar.createElement("div",{className:bo.hoverone,style:{marginRight:"0rem"}},ar.createElement("div",{onClick:()=>{tu(!0)}},ar.createElement("img",{src:Kc===10?Vl+"/images/drxz.png":Vl+"/images/dr.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(10)}}),ar.createElement("div",{className:bo.name},"\u5BFC\u5165")),ar.createElement("div",{onClick:()=>{(0,Et.FH)("",rn.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${da==null?void 0:da.pathId}&fileType=xlsx&parentNodeUuid=${En}`)}},ar.createElement("img",{src:Kc===11?Vl+"/images/dcxz.png":Vl+"/images/dc.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(11)},className:bo.img}),ar.createElement("div",{className:bo.name},"\u5BFC\u51FA")))))),Aa&&!_l&&!El&&ar.createElement("div",{className:"w-full h-screen",style:{opacity:0},ref:Sd}),ar.createElement("div",{id:"myDiagramDiv",className:`w-full ${_l?"h-screen":""}`},_l?ar.createElement(Yo,{ref:$r,setzoomsize:Uf,setshowdetail:Il,setitems:aa,nodeUuid:En,subject_id:da==null?void 0:da.pathId}):""),ar.createElement("div",{className:"flex item-center sticky c-white px-10px-rem",style:{bottom:"30px",zIndex:101}},(Vi==null?void 0:Vi.length)>0&&ar.createElement("div",{className:" flex item-center gap-12px-rem"},(No=vc.filter(lo=>{var js;return(js=Vi==null?void 0:Vi.map(lu=>lu==null?void 0:lu.colornodeType))==null?void 0:js.includes(lo==null?void 0:lo.name)}))==null?void 0:No.map(lo=>ar.createElement("div",{onMouseLeave:()=>R0("Leave",lo),onMouseEnter:()=>R0("Enter",lo),className:"flex item-center current gap-6px-rem"},ar.createElement("img",{src:lo==null?void 0:lo.img,style:{width:"20rem",height:"20rem"}}),ar.createElement("span",null,lo==null?void 0:lo.name)))),ar.createElement("div",{className:"flex item-center ml-auto"},!_l&&!El&&ar.createElement(Wt.Z,{overlayClassName:bo.dropdownst,getPopupContainer:()=>el.current,menu:{items:[{label:ar.createElement("div",{onClick:()=>{Yd()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:ar.createElement("div",{onClick:()=>{Yd(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:ar.createElement("div",{onClick:()=>{Yd(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:ar.createElement("div",{onClick:()=>{Yd(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:ar.createElement("div",{onClick:()=>{Yd(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},ar.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:Kc===7?Vl+"/images/xscjxz.png":Vl+"/images/xscj.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(7)}})),!El&&ar.createElement(gn.Z,{title:"\u5C45\u4E2D\u663E\u793A"},ar.createElement("img",{onClick:()=>{Ll(!1),Yd()},style:{marginLeft:"10rem",cursor:"pointer"},src:Kc===8?Vl+"/images/jzxsxz.png":Vl+"/images/jzxs.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(8)},className:bo.img})),ar.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},ar.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(El){$r.current.handleZoom("out");return}_l?($r.current.zoomBy(.9),$r.current.getZooms()):($i.current.zoomBy(.9),setTimeout(()=>{var lo;Uf((((lo=$i==null?void 0:$i.current)==null?void 0:lo.getZoom())*100).toFixed(0))},300))},src:Kc===9?Vl+"/images/newsxxz.png":Vl+"/images/newsx.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(9)}}),!El&&ar.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",Gf+"%"),ar.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(El){$r.current.handleZoom("in");return}_l?($r.current.zoomBy(1.1),$r.current.getZooms()):($i.current.zoomBy(1.1),setTimeout(()=>{var lo;Uf((((lo=$i==null?void 0:$i.current)==null?void 0:lo.getZoom())*100).toFixed(0))},300))},src:Kc===12?Vl+"/images/newfdxz.png":Vl+"/images/newfd.png",onMouseOut:()=>{nu(!1)},onMouseOver:()=>{nu(12)}})))),ar.createElement(sl.Z,{tpacti:ca,initdata:or,uuid:En,Tabsdatas:Jt,setshow:Ll,getData:Yd,containerRef:el,showdetail:Wa,setshowdetail:Il,items:Ui}),ar.createElement(st.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:Es,centered:!0,getContainer:()=>el.current,okButtonProps:{loading:Ec},onCancel:()=>{tu(!1),jc([])},onOk:()=>Ru(void 0,null,function*(){var lo,js,lu;const mu=new FormData;if(Bc.length>0)mu.append("file",Bc[0]);else{yt.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}Lu(!0),mu.append("subject_id",(da==null?void 0:da.pathId)+""),mu.append("parentNodeUuid",En);let Zs=yield(0,ht.ZP)("/api/knowledge/v2/import.json",{method:"post",body:mu},!0);Lu(!1),(Zs==null?void 0:Zs.status)===0&&((lo=Zs==null?void 0:Zs.data)!=null&&lo.importErrorFilePath?st.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:ar.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",ar.createElement("a",{href:`${rn.Z.API_SERVER}${(js=Zs==null?void 0:Zs.data)==null?void 0:js.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(Yd(),Ll(!1),(lu=Zs==null?void 0:Zs.data)!=null&&lu.has_route?yt.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"):yt.ZP.info("\u5BFC\u5165\u6210\u529F"),jc([]),aa({}),tu(!1)))})},(Vi==null?void 0:Vi.length)>0&&ar.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"),ar.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",ar.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),ar.createElement("a",{href:`${rn.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),ar.createElement(mr.Z,null,ar.createElement(Zi.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",ar.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),ar.createElement(mr.Z,{style:{marginTop:10,marginLeft:50}},ar.createElement(fn.default,du({},$0),ar.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)"}},ar.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),ar.createElement(Na.Z,null,ar.createElement(ar.Fragment,null,ar.createElement(st.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:Td,footer:!1,getContainer:()=>el.current,onCancel:()=>{Pd(!1)}},ar.createElement(un.default,{dataSource:Of==null?void 0:Of.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(lo,js)=>ar.createElement("div",null,ar.createElement("span",null,lo),(js==null?void 0:js.is_now_version)&&ar.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:(lo,js)=>ar.createElement("div",null,ar.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>Ru(void 0,null,function*(){var lu,mu;let Zs=yield(0,ht.ZP)(`${js==null?void 0:js.url}`,{method:"get"});(Zs==null?void 0:Zs.status)===0&&((mu=(lu=Zs==null?void 0:Zs.data)==null?void 0:lu.nodes)==null?void 0:mu.length)>0&&Pl(Zs==null?void 0:Zs.data)})},"\u67E5\u770B"),ar.createElement("span",{onClick:()=>Ru(void 0,null,function*(){if(js!=null&&js.is_now_version)return;let lu=yield(0,ht.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:da==null?void 0:da.pathId,backupFilePath:js==null?void 0:js.backupFilePath}});(lu==null?void 0:lu.status)===0&&(Yd(),Pd(!1),Ll(!1),yt.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:js!=null&&js.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),ar.createElement(Vn.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Ou.limit,total:Of==null?void 0:Of.total_count,current:Ou.page,onChange:(lo,js)=>Ru(void 0,null,function*(){Ou.page=lo,Ou.limit=js,Ad(Ou);let lu=yield(0,ht.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:du({subject_id:da==null?void 0:da.pathId,nodeUuid:En},Ou)});(lu==null?void 0:lu.status)===0&&(Pd(!0),yf(lu))})})),ar.createElement(st.default,{open:((va=fl==null?void 0:fl.nodes)==null?void 0:va.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>el.current,destroyOnClose:!0,onCancel:()=>{Pl({})}},ar.createElement(ct,{datas:fl}))))),ar.createElement(Oo,null))};var Ys=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(Pu),zs={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",tupugx:"tupugx___iCNXk"},Du={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 Eu="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==",qu="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==",ic="data:image/png;base64,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",mc="data:image/png;base64,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";var Tc=Object.defineProperty,cf=Object.defineProperties,bd=Object.getOwnPropertyDescriptors,Zc=Object.getOwnPropertySymbols,Js=Object.prototype.hasOwnProperty,Qu=Object.prototype.propertyIsEnumerable,$c=(Be,Ce,be)=>Ce in Be?Tc(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ed=(Be,Ce)=>{for(var be in Ce||(Ce={}))Js.call(Ce,be)&&$c(Be,be,Ce[be]);if(Zc)for(var be of Zc(Ce))Qu.call(Ce,be)&&$c(Be,be,Ce[be]);return Be},lc=(Be,Ce)=>cf(Be,bd(Ce)),ec=({className:Be,style:Ce={},title:be="",childNode:Ft=[],knowledgeNode:Rn=[]})=>{const zr="rem",Hr=[{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}],En=[{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}],Jt=(qi="")=>{if(!qi)return"-";let ga=3;return/[\u4e00-\u9fff]/.test(qi)||(ga=7),(qi==null?void 0:qi.length)>=ga?(qi==null?void 0:qi.slice(0,ga-1))+"...":qi},or=()=>(Array.isArray(Rn)?Rn.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((pa,Da)=>{const fi=Hr[Da],Pi=lc(ed({},fi),{bottom:`${fi.bottom}${zr}`,left:`${fi.left}${zr}`});return ee.createElement("div",{key:Da,style:Pi,className:Du.smallBallGather},ee.createElement("div",{className:Du.smallBall},ee.createElement("b",null,Jt(pa))),ee.createElement("div",{className:Du.smallBallDish}))}),Rr=()=>(Array.isArray(Ft)?Ft.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((pa,Da)=>{const fi=En[Da],Pi=lc(ed({},fi),{bottom:`${fi.bottom}${zr}`,left:`${fi.left}${zr}`});return ee.createElement("div",{key:Da,style:Pi,className:Du.middleBall},ee.createElement("div",null,ee.createElement("b",null,Jt(pa))))}),ca={position:"absolute",zIndex:1,bottom:0,width:"100%"};return ee.createElement("div",{className:Yn()(Du.box,Be),style:Ce},ee.createElement("img",{className:Du.pedestal,style:ca,src:Eu}),ee.createElement("img",{className:Du.pedestalHover,style:ca,src:qu}),or(),ee.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+zr,left:"50%",transform:"translateX(-50%)"},className:Du.middleBallDish}),Rr(),ee.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+zr,left:"50%",transform:"translateX(-50%)"},className:Du.largeBallDish}),ee.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+zr,left:120+zr},className:Du.largeBall},ee.createElement("b",null,Jt(be))),ee.createElement("img",{style:lc(ed({},ca),{zIndex:17}),className:Du.spectrum,src:ic}),ee.createElement("img",{style:lc(ed({},ca),{zIndex:17}),className:Du.spectrumHover,src:mc}),ee.createElement("div",{title:be,style:{position:"absolute",zIndex:18,bottom:304+zr,left:0,fontSize:24+zr,width:"100%",textAlign:"center"},className:"c-white blod"},(0,Et.Pq)(be,9)))},Fd=Object.defineProperty,xf=Object.defineProperties,df=Object.getOwnPropertyDescriptors,kd=Object.getOwnPropertySymbols,xd=Object.prototype.hasOwnProperty,id=Object.prototype.propertyIsEnumerable,za=(Be,Ce,be)=>Ce in Be?Fd(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ff=(Be,Ce)=>{for(var be in Ce||(Ce={}))xd.call(Ce,be)&&za(Be,be,Ce[be]);if(kd)for(var be of kd(Ce))id.call(Ce,be)&&za(Be,be,Ce[be]);return Be},Nd=(Be,Ce)=>xf(Be,df(Ce));function hf(Be){const Ce=new Map,be=[];return Be.nodes.forEach(Ft=>{const Rn=Nd(ff({},Ft.properties),{children:[]});Ce.set(Rn.uuid,Rn)}),Be.relationships.forEach(Ft=>{const Rn=Ce.get(Ft.startNodeUuid),zr=Ce.get(Ft.endNodeUuid);Rn&&zr&&Rn.children.push(zr)}),Be.nodes.forEach(Ft=>{const Rn=Ft.properties;if(!Be.relationships.some(En=>En.startNodeUuid===Rn.uuid||En.endNodeUuid===Rn.uuid))return;Be.relationships.some(En=>En.endNodeUuid===Rn.uuid)||be.push(Ce.get(Rn.uuid))}),be.length===1?be[0]:be}function Qc(Be,Ce){const be=new Set,Ft=[];return Be.forEach(Rn=>{const zr=Rn[Ce[0]],Hr=Rn[Ce[1]];if(!zr||!Hr)return;const En=`${zr}-${Hr}`,Jt=`${Hr}-${zr}`;zr!==Hr&&!be.has(En)&&!be.has(Jt)&&(Ft.push(Rn),be.add(En),be.add(Jt))}),Ft}const wd=(Be,Ce)=>{const be=Be==null?void 0:Be.map(Rn=>{const zr=Hr=>{let En=[Hr.uuid];return Hr.children.forEach(Jt=>{En=En.concat(zr(Jt))}),En};return zr(Rn)});return Ce.map(Rn=>{let zr,Hr;return be.forEach(En=>{En.includes(Rn.startNodeUuid)&&(zr=En[0]),En.includes(Rn.endNodeUuid)&&(Hr=En[0])}),Nd(ff({},Rn),{firstStartNodeUuid:zr,firstEndNodeUuid:Hr})})};var Yu=ie(59301),Iu=({data:Be})=>{const Ce=(0,ee.useRef)(),be=(0,ee.useRef)();function Ft(Hr,En,Jt){let or,Rr;switch(En){case"top":or=Math.ceil(Hr.left+Hr.width/2-Jt.left),Rr=Math.ceil(Hr.top-Jt.top);break;case"bottom":or=Math.ceil(Hr.left+Hr.width/2-Jt.left),Rr=Math.ceil(Hr.bottom-Jt.top+15);break;case"left":or=Math.ceil(Hr.left-Jt.left-10),Rr=Math.ceil(Hr.top+Hr.height/2-Jt.top+80);break;case"right":or=Math.ceil(Hr.right-Jt.left+10),Rr=Math.ceil(Hr.top+Hr.height/2-Jt.top+50);break}return{x:or,y:Rr}}function Rn(Hr,En){const Jt={x:parseInt(Hr.left+Hr.width/2),y:parseInt(Hr.top+Hr.height/2)},or={x:parseInt(En.left+En.width/2),y:parseInt(En.top+En.height/2)},Rr=or.x-Jt.x,ca=or.y-Jt.y;let qi,ga;return Math.abs(Rr)>Math.abs(ca)?(qi=Rr>0?"right":"left",ga=Rr>0?"left":"right"):(qi=ca>0?"bottom":"top",ga=ca>0?"top":"bottom"),{startEdge:qi,endEdge:ga}}function zr(){let Hr=Be;if(!(Hr!=null&&Hr.length))return;const En=document.getElementById("lineContainer"),Jt=document.getElementById("parentContainer").getBoundingClientRect();En.querySelectorAll("line").forEach(or=>or.remove()),Hr.forEach(or=>{const Rr=document.getElementById(or.from),ca=document.getElementById(or.to),qi=Rr.getBoundingClientRect(),ga=ca.getBoundingClientRect();let{startEdge:pa,endEdge:Da}=or;if(!pa||!Da){const Ea=Rn(qi,ga);pa=pa||Ea.startEdge,Da=Da||Ea.endEdge}const fi=Ft(qi,pa,Jt),Pi=Ft(ga,Da,Jt),_i=document.createElementNS("http://www.w3.org/2000/svg","line");if(_i.setAttribute("x1",fi.x+or.offsetStart.x),_i.setAttribute("y1",fi.y+or.offsetStart.y),_i.setAttribute("x2",fi.x+or.offsetStart.x+.01),_i.setAttribute("y2",fi.y+or.offsetStart.y),_i.setAttribute("stroke",`url(#${or.gradient})`),_i.setAttribute("stroke-width","2"),or.dashed&&_i.setAttribute("stroke-dasharray","5, 5"),or.arrow==="start"?_i.setAttribute("marker-start",or!=null&&or.animated?"url(#triangle-start-h)":"url(#triangle-start)"):or.arrow==="end"?_i.setAttribute("marker-end",or!=null&&or.animated?"url(#triangle-end-h)":"url(#triangle-end)"):or.arrow==="both"&&(_i.setAttribute("marker-start",or!=null&&or.animated?"url(#triangle-start-h)":"url(#triangle-start)"),_i.setAttribute("marker-end",or!=null&&or.animated?"url(#triangle-end-h)":"url(#triangle-end)")),or.animated){_i.classList.add("dashed-line");const Ea=document.createElementNS("http://www.w3.org/2000/svg","animate");Ea.setAttribute("attributeName","x2"),Ea.setAttribute("from",fi.x+or.offsetStart.x),Ea.setAttribute("to",Pi.x+or.offsetEnd.x+.01),Ea.setAttribute("dur","1s"),Ea.setAttribute("fill","freeze"),_i.appendChild(Ea);const No=document.createElementNS("http://www.w3.org/2000/svg","animate");No.setAttribute("attributeName","y2"),No.setAttribute("from",fi.y+or.offsetStart.y),No.setAttribute("to",Pi.y+or.offsetEnd.y),No.setAttribute("dur","1s"),No.setAttribute("fill","freeze"),_i.appendChild(No)}else _i.setAttribute("x2",Pi.x+or.offsetEnd.x+.01),_i.setAttribute("y2",Pi.y+or.offsetEnd.y);En.appendChild(_i)})}return(0,ee.useEffect)(()=>{Be!=null&&Be.length&&zr()},[Be]),(0,ee.useEffect)(()=>(window.addEventListener("resize",()=>zr),window.addEventListener("scroll",()=>zr),()=>{window.removeEventListener("resize",zr),window.removeEventListener("scroll",zr)}),[]),Yu.createElement(Yu.Fragment,null,Yu.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),Yu.createElement("svg",null,Yu.createElement("defs",null,Yu.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},Yu.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),Yu.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),Yu.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},Yu.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),Yu.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),Yu.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Yu.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),Yu.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Yu.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),Yu.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Yu.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),Yu.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Yu.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},pf=ie(61485),jd=Object.defineProperty,zc=Object.defineProperties,Rd=Object.getOwnPropertyDescriptors,Wc=Object.getOwnPropertySymbols,fd=Object.prototype.hasOwnProperty,gc=Object.prototype.propertyIsEnumerable,Dc=(Be,Ce,be)=>Ce in Be?jd(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,sc=(Be,Ce)=>{for(var be in Ce||(Ce={}))fd.call(Ce,be)&&Dc(Be,be,Ce[be]);if(Wc)for(var be of Wc(Ce))gc.call(Ce,be)&&Dc(Be,be,Ce[be]);return Be},Ic=(Be,Ce)=>zc(Be,Rd(Ce)),qs=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())}),xc=({subjectId:Be,setActivated:Ce,onAddSuccess:be,settpacti:Ft})=>{const Rn=(0,Oe.useSelector)(Mi=>Mi),{pathsDetail:{detail:zr={}}}=Rn,[Hr]=Se.default.useForm(),[En,Jt]=(0,ee.useState)(""),[or,Rr]=(0,ee.useState)(!1),[ca,qi]=(0,ee.useState)(!0),[ga,pa]=(0,ee.useState)(!1),[Da,fi]=(0,ee.useState)([]),[Pi,_i]=(0,ee.useState)([]),[Ea,No]=(0,ee.useState)(null),[va,da]=(0,ee.useState)(),Lo=(0,ee.useRef)(),$r=(0,ee.useRef)();let $i=(0,ee.useRef)().current,Vi=(0,ee.useRef)().current,ja=(0,ee.useRef)(!1).current;const Aa=zr==null?void 0:zr.can_managed;(0,ee.useEffect)(()=>{Be&&Ll()},[Be]);const Ll=()=>qs(void 0,null,function*(){var Mi,el,Ui,aa,Wa;qi(!0);const Il=yield(0,ht.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:Be}});if(Il.status===0){Jt((aa=(Ui=(el=(Mi=Il==null?void 0:Il.data)==null?void 0:Mi.nodes)==null?void 0:el[0])==null?void 0:Ui.properties)==null?void 0:aa.uuid);const fl=((Wa=Il==null?void 0:Il.data)==null?void 0:Wa.relationships)||[];let Pl=[],_l=[];fl==null||fl.forEach(Es=>{["\u5173\u8054"].includes(Es.type)?Pl.push(Es):["\u5305\u542B"].includes(Es.type)&&_l.push(Es)}),Pl=Qc(Pl,["startNodeUuid","endNodeUuid"]);const Dl=Ic(sc({},Il==null?void 0:Il.data),{relationships:_l}),El=hf(Dl);let Ns=wd((El==null?void 0:El.children)||[],Pl);console.log(Ns,3),Ns=Qc(Ns,["firstStartNodeUuid","firstEndNodeUuid"]),fi((El==null?void 0:El.children)||[]),_i(Ns),console.log(Ns,El==null?void 0:El.children,222)}qi(!1)});(0,ee.useEffect)(()=>{Pi!=null&&Pi.length&&da(Pi.map(Mi=>({from:Mi.firstStartNodeUuid,to:Mi.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[Pi]),(0,ee.useEffect)(()=>{var Mi;va!=null&&va.length&&((Mi=va==null?void 0:va.map)==null||Mi.call(va,el=>{el.animated=el.from===Ea||el.to===Ea,el.gradient=el.from===Ea||el.to===Ea?"gradient2":"gradient1"}),da([...va]))},[Ea]);function Ol(Mi){var el,Ui;if(!ja)return;const aa=Mi.pageY-$i;(Ui=(el=Lo.current)==null?void 0:el.scrollTo)==null||Ui.call(el,0,Vi-aa)}function Eo(Mi){var el;ja=!0,$i=Mi.pageY,Vi=((el=Lo.current)==null?void 0:el.scrollTop)||0}function Xs(Mi){ja=!1}(0,ee.useEffect)(()=>(document.addEventListener("mousedown",Eo),document.addEventListener("mousemove",Ol),document.addEventListener("mouseup",Xs),()=>{document.removeEventListener("mouseup",Xs),document.removeEventListener("mousemove",Ol),document.removeEventListener("mousedown",Eo)}),[]);const Wo=Mi=>qs(void 0,null,function*(){const{nodeType:el,description:Ui,name:aa,tags:Wa}=Mi;pa(!0);const Il=yield(0,ht.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:Be,properties:{description:Ui,rootNodeUuid:En,name:aa,nodeType:el[0],tags:(Wa==null?void 0:Wa.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:En,type:"\u5305\u542B"}]}});(Il==null?void 0:Il.status)===0&&(Rr(!1),Ll(),be()),pa(!1)}),Ao=()=>{const Mi=[],el=Da==null?void 0:Da.map((aa,Wa)=>{var Il;let fl;const Pl=Wa+1,_l=Mi.length-3,Dl=Mi[_l];Pl%3===1&&(fl={top:Dl!==void 0?`${parseFloat(Dl==null?void 0:Dl.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),Pl%3===2&&(fl={top:Dl!==void 0?`${parseFloat(Dl==null?void 0:Dl.top)+600}rem`:"380rem",left:0}),Pl%3===0&&(fl={top:Dl!==void 0?`${parseFloat(Dl==null?void 0:Dl.top)+600}rem`:"380rem",right:0}),Mi.push(fl);let El=[],Ns=(Il=aa==null?void 0:aa.children)==null?void 0:Il.map(Es=>{var tu;return Es!=null&&Es.children&&((tu=Es==null?void 0:Es.children)==null||tu.forEach(Ec=>{El.push(Ec.name)})),Es.name});return Ns.length>5&&(Ns[0]="..."),El.length>7&&(El[0]="..."),ee.createElement("div",{className:zs.listItem,key:Wa,onMouseEnter:()=>No(aa==null?void 0:aa.uuid),onMouseLeave:()=>No(null),id:aa==null?void 0:aa.uuid,onClick:()=>{Ce(aa==null?void 0:aa.uuid),Ft(aa==null?void 0:aa.uuid)},style:sc({position:"absolute",zIndex:10},fl)},ee.createElement(ec,{childNode:Ns,knowledgeNode:El,title:aa==null?void 0:aa.name}))}),Ui=parseFloat(Mi[Mi.length-1].top)+352+80+"rem";return ee.createElement("div",{ref:$r,style:{height:Ui}},el)};return ee.createElement(Na.Z,null,ee.createElement("div",{className:zs.wrap},ca&&ee.createElement(ut.Z,{style:{width:"100%",marginTop:"300rem"},spinning:ca}),!ca&&ee.createElement(ee.Fragment,null,Aa&&ee.createElement("div",{className:zs.add,onClick:()=>Rr(!0)},ee.createElement("i",{className:"iconfont icon-tianjiatixing"})),ee.createElement("span",{className:zs.tupugx,onClick:()=>{let Mi=localStorage.getItem("tpuuid");Ce(Mi),Ft(Mi)}},"\u8FD4\u56DE"),Da!=null&&Da.length?ee.createElement("div",{className:zs.dimensionalBall,ref:Lo},ee.createElement("div",{className:zs.archer,id:"parentContainer"},Ao(),ee.createElement(Iu,{data:va}))):ee.createElement(Xi.Z,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:Aa&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>Rr(!0)})),ee.createElement(st.default,{open:or,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>Rr(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Hr.resetFields()},confirmLoading:ga,onOk:()=>Hr.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},ee.createElement("div",{className:zs.modal},ee.createElement("div",{className:zs.mHead},"\u8282\u70B9\u5C5E\u6027"),ee.createElement(Se.default,{form:Hr,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Wo,className:zs.form},ee.createElement(Se.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"}]},ee.createElement(tt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),ee.createElement(Se.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"}]},ee.createElement(tt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),ee.createElement(Se.default.Item,{className:zs.mType,label:ee.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",ee.createElement(gn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},ee.createElement(pf.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},ee.createElement(Ve.Z,{subjectId:Be,type:1})))))))},Bu={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"},Vc="data:image/png;base64,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",wf="data:image/png;base64,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",tc="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",Gc="data:image/png;base64,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",Cf="data:image/png;base64,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",Uc={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},Ff=Object.defineProperty,vu=Object.getOwnPropertySymbols,Ld=Object.prototype.hasOwnProperty,Hc=Object.prototype.propertyIsEnumerable,_d=(Be,Ce,be)=>Ce in Be?Ff(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Ti=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ld.call(Ce,be)&&_d(Be,be,Ce[be]);if(vu)for(var be of vu(Ce))Hc.call(Ce,be)&&_d(Be,be,Ce[be]);return Be};const $f=Be=>React.createElement("svg",Ti({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},Be),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 kf="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",Xf=({percentage:Be,size:Ce=180,unit:be="rem"})=>{const[Ft,Rn]=(0,ee.useState)(["",""]),[zr,Hr]=(0,ee.useState)(0),En=(0,ee.useRef)(null),Jt=(0,ee.useRef)(null);(0,ee.useEffect)(()=>(En.current&&(clearTimeout(Jt.current),Jt.current=setTimeout(()=>{var ga;const pa=zr+20;pa+Ce>((ga=En.current)==null?void 0:ga.offsetWidth)-40&&Rn([...Ft,""]),Hr(pa)},200)),()=>{clearTimeout(Jt.current)}),[En.current,zr]),(0,ee.useEffect)(()=>(window.addEventListener("resize",or),()=>{window.removeEventListener("resize",or)}),[]);const or=()=>{Hr(0)},Rr={width:Ce+be,height:Ce+be},ca=148-Ce*(Be/100),qi=()=>ee.createElement("img",{src:kf,style:{width:`449${be}`,height:`204${be}`}});return ee.createElement("div",{className:Uc.wave,style:Rr},ee.createElement("div",{className:Uc.fillWrap},ee.createElement("div",{style:{fontSize:`28${be}`,zIndex:2,color:"#fff"}},Be,"%"),ee.createElement("div",{className:Uc.svgBox,ref:En,style:{top:ca+be,transform:`translateX(-${zr}px)`}},Ft.map((ga,pa)=>ee.createElement(qi,{key:pa})))))},Cd=ie(94811),Yc={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"},g0=Object.defineProperty,Sc=Object.defineProperties,hd=Object.getOwnPropertyDescriptors,$d=Object.getOwnPropertySymbols,vf=Object.prototype.hasOwnProperty,Zf=Object.prototype.propertyIsEnumerable,Qf=(Be,Ce,be)=>Ce in Be?g0(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Nf=(Be,Ce)=>{for(var be in Ce||(Ce={}))vf.call(Ce,be)&&Qf(Be,be,Ce[be]);if($d)for(var be of $d(Ce))Zf.call(Ce,be)&&Qf(Be,be,Ce[be]);return Be},fu=(Be,Ce)=>Sc(Be,hd(Ce)),Ml=({dataSource:Be=[]})=>{const[Ce,be]=(0,ee.useState)([]),[Ft,Rn]=(0,ee.useState)(0),zr=(0,ee.useRef)(String(Math.random()).slice(-6));(0,ee.useEffect)(()=>{if(Be!=null&&Be.length){const or=Jt(Be),Rr=Be.map((ca,qi)=>fu(Nf({value:ca,lineWidth:30,pillarWidth:104+or[qi]},En[qi]),{from:En[qi].from+zr.current,to:En[qi].to+zr.current}));be(Rr),Rn(Ft+1)}},[JSON.stringify(Be)]),(0,ee.useEffect)(()=>{Ft>0&&Hr()},[Ft]),(0,ee.useEffect)(()=>(window.addEventListener("resize",Hr),()=>{window.removeEventListener("resize",Hr)}),[Ft]);const Hr=()=>{const or=Ce.map((Rr,ca)=>{const{from:qi,to:ga}=Rr,pa=document.querySelector(`#${qi}`),Da=document.querySelector(`#${ga}`),fi=pa.getBoundingClientRect(),Pi=Da.getBoundingClientRect(),_i=Math.abs(Pi.left-fi.left);return fu(Nf({},Rr),{lineWidth:_i})});be(or)},En=[{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 Jt(or){const Rr=or.reduce((ca,qi)=>ca+qi,0);return or.map(ca=>ca/Rr*100)}return ee.createElement("div",{className:Yc.trapezoid},ee.createElement("div",{className:Yc.textBox},Ce.map((or,Rr)=>{const{value:ca,lineWidth:qi,title:ga,from:pa}=or,Da=Rr+1;return ee.createElement("div",{key:Rr,className:Yc[`text${Da}`]},ee.createElement("div",{className:Yc.tip},ga,ee.createElement("span",null,ca)),ee.createElement("div",{id:pa,className:Yc.line},ee.createElement("div",{style:{width:qi},className:Yc.l})))})),ee.createElement("div",{className:Yc.pillarBox},Ce.map((or,Rr)=>{const{pillarWidth:ca,pillarTitle:qi,to:ga}=or,pa=Rr+1;return ee.createElement("div",{key:Rr,className:Yc[`pillar${pa}`],style:{width:ca+"rem"}},ee.createElement("span",null,qi),ee.createElement("div",{id:ga,className:Yc.point}))})))},Ia=ie(59301),_u=Object.defineProperty,Xd=Object.getOwnPropertySymbols,Mc=Object.prototype.hasOwnProperty,pd=Object.prototype.propertyIsEnumerable,ad=(Be,Ce,be)=>Ce in Be?_u(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,ef=(Be,Ce)=>{for(var be in Ce||(Ce={}))Mc.call(Ce,be)&&ad(Be,be,Ce[be]);if(Xd)for(var be of Xd(Ce))pd.call(Ce,be)&&ad(Be,be,Ce[be]);return Be},tf=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())}),Os=({subjectId:Be,uuid:Ce,isAll:be})=>{const[Ft,Rn]=(0,ee.useState)(!1),[zr,Hr]=(0,ee.useState)({type:0,course_id:null}),[En,Jt]=(0,ee.useState)(!0),[or,Rr]=(0,ee.useState)(!0),[ca,qi]=(0,ee.useState)([]),[ga]=(0,Oe.useSearchParams)(),[pa,Da]=(0,ee.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),fi=[{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)"}}],[Pi,_i]=(0,ee.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:fi});(0,ee.useEffect)(()=>{Ft?Ea(zr):Hr({type:0,course_id:null})},[Ft]),(0,ee.useEffect)(()=>{Ft&&Rn(!1)},[Ce]);const Ea=(Lo,$r=!1)=>tf(void 0,null,function*(){var $i,Vi,ja,Aa,Ll,Ol,Eo,Xs,Wo,Ao;$r?Rr(!0):Jt(!0);const Mi=yield(0,ht.ZP)(be?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:ef({subject_id:Be,parentNodeUuid:Ce,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},Lo)});if((Mi==null?void 0:Mi.status)===0){let el=($i=Mi==null?void 0:Mi.data)==null?void 0:$i.metricCounters;el=el||[];const Ui={graphCount:((Vi=el.find(fl=>(fl==null?void 0:fl.name)==="\u56FE\u8C31"))==null?void 0:Vi.count)||0,tagCount:((ja=el.find(fl=>(fl==null?void 0:fl.name)==="\u6807\u7B7E"))==null?void 0:ja.count)||0,resourceCount:((Aa=el.find(fl=>(fl==null?void 0:fl.name)==="\u8D44\u6E90"))==null?void 0:Aa.count)||0,proportionCount:(Ll=Mi==null?void 0:Mi.data)==null?void 0:Ll.resource_rate};let aa=Object.entries((Ol=Mi==null?void 0:Mi.data)==null?void 0:Ol.study_grasp_hash).map(([fl,Pl],_l)=>({name:fl,value:Pl,itemStyle:fi[_l].itemStyle}));const Wa={averageCompletionRate:(Eo=Mi==null?void 0:Mi.data)==null?void 0:Eo.study_complete_rate,averageMasteryRate:(Xs=Mi==null?void 0:Mi.data)==null?void 0:Xs.study_grasp_rate,completionRate:Object.values((Wo=Mi==null?void 0:Mi.data)==null?void 0:Wo.study_complete_hash),masteryRate:aa};console.log(aa,"newMasteryRate");const Il=(Ao=Mi==null?void 0:Mi.courses)==null?void 0:Ao.map(fl=>({label:fl.name,value:fl.id}));qi(Il),Da(Ui),_i(Wa)}setTimeout(()=>{Jt(!1)},500),Rr(!1)}),No=Lo=>{zr.type=Lo,Hr(ef({},zr)),(Lo!==2||zr.course_id)&&Ea(zr,!0)},va=Lo=>{zr.course_id=Lo,Hr(ef({},zr)),Ea(zr,!0)},da=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return Ia.createElement(Na.Z,null,Ia.createElement("div",{className:Bu.statistics},Ia.createElement("div",{onClick:()=>Rn(!0),className:Bu.noUnfold},Ia.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Vc}),Ia.createElement("span",null,"\u7EDF"),Ia.createElement("span",null,"\u8BA1")),Ia.createElement("div",{className:Bu.wrapBox,style:{right:Ft?0:"-600rem"}},En&&Ia.createElement(ut.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!En&&Ia.createElement(Ia.Fragment,null,Ia.createElement("div",{className:Bu.scrollBox},Ia.createElement("div",{className:Bu.content},Ia.createElement("div",{className:Bu.title},Ia.createElement("img",{src:wf}),Ia.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),Ia.createElement(mr.Z,{className:Bu.box,justify:"space-between"},Ia.createElement("div",{className:Bu.left},Ia.createElement("div",null,Ia.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),Ia.createElement("b",null,pa==null?void 0:pa.graphCount)),Ia.createElement("div",{style:{margin:"18rem 0"}},Ia.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),Ia.createElement("b",null,pa==null?void 0:pa.tagCount)),Ia.createElement("div",null,Ia.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),Ia.createElement("b",null,pa==null?void 0:pa.resourceCount))),Ia.createElement("div",{className:Bu.right},Ft&&Ia.createElement(Xf,{percentage:pa==null?void 0:pa.proportionCount}),Ia.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),Ia.createElement("div",{style:{marginTop:"20rem"},className:Bu.title},Ia.createElement("img",{src:tc}),Ia.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),Ia.createElement("div",{className:Bu.box},ga.get("type")!=="classrooms"&&Ia.createElement("div",{className:Bu.head},Ia.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),Ia.createElement("div",{className:Bu.radio},da.map(Lo=>Ia.createElement("div",{className:zr.type===Lo.id?Bu.active:"",key:Lo.id,onClick:()=>No(Lo.id)},Ia.createElement("b",null),Ia.createElement("span",null,Lo.name)))),zr.type===2&&Ia.createElement(ji.default,{className:Bu.select,options:ca,value:zr==null?void 0:zr.course_id,onChange:va,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:Lo=>Lo.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:Ia.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),Ia.createElement(ut.Z,{spinning:or},Ia.createElement("div",{className:Bu.average},Ia.createElement("div",{className:Bu.li},Ia.createElement("img",{src:Gc,style:{marginLeft:0}}),Ia.createElement("aside",{className:Bu.yellow},Ia.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),Ia.createElement("div",null,Ia.createElement("b",{style:{fontSize:"40rem"}},Pi==null?void 0:Pi.averageCompletionRate),Ia.createElement("span",{style:{fontSize:"20rem"}},"%")))),Ia.createElement("div",{className:Bu.li},Ia.createElement("img",{src:Cf}),Ia.createElement("aside",{className:Bu.blue},Ia.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),Ia.createElement("div",null,Ia.createElement("b",{style:{fontSize:"40rem"}},Pi==null?void 0:Pi.averageMasteryRate),Ia.createElement("span",{style:{fontSize:"20rem"}},"%"))))),Ia.createElement("div",{className:Bu.lineTitle},Ia.createElement("b",null),Ia.createElement("span",null,"\u5B8C\u6210\u7387"),Ia.createElement("b",null)),Ia.createElement("div",{className:Bu.echartsTwo},Ia.createElement(Ml,{dataSource:Pi==null?void 0:Pi.completionRate})),Ia.createElement("div",{className:Bu.lineTitle,style:{marginTop:"40rem"}},Ia.createElement("b",null),Ia.createElement("span",null,"\u638C\u63E1\u7387"),Ia.createElement("b",null)),Ia.createElement("div",{className:Bu.echartsThree},Ia.createElement(Cd.Z,{dataSource:Pi==null?void 0:Pi.masteryRate})))))),Ft&&Ia.createElement("div",{onClick:()=>Rn(!1),className:Bu.unfold})))))},Ac={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"},A0="data:image/png;base64,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",Ed="data:image/png;base64,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",Zd="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",Qd=ie.p+"static/a.d3f19668.png",y0=ie.p+"static/b.ba7414bd.png",b0=ie.p+"static/c.2b6f6bd3.png",x0=ie.p+"static/d.f1216ccd.png",vd={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"},O0=Object.defineProperty,w0=Object.defineProperties,C0=Object.getOwnPropertyDescriptors,Lf=Object.getOwnPropertySymbols,Vf=Object.prototype.hasOwnProperty,Xu=Object.prototype.propertyIsEnumerable,E0=(Be,Ce,be)=>Ce in Be?O0(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,t0=(Be,Ce)=>{for(var be in Ce||(Ce={}))Vf.call(Ce,be)&&E0(Be,be,Ce[be]);if(Lf)for(var be of Lf(Ce))Xu.call(Ce,be)&&E0(Be,be,Ce[be]);return Be},mf=(Be,Ce)=>w0(Be,C0(Ce)),n0=({dataSource:Be=[]})=>{const[Ce,be]=(0,ee.useState)([]),[Ft,Rn]=(0,ee.useState)(0),zr=(0,ee.useRef)(String(Math.random()).slice(-6));console.log(Be,Ce,223),(0,ee.useEffect)(()=>{if(Be!=null&&Be.length){const or=Jt(Be),Rr=Be.map((ca,qi)=>mf(t0({value:ca,lineWidth:30,cylinderWidth:40+or[qi]},En[qi]),{from:En[qi].from+zr.current,to:En[qi].to+zr.current}));be(Rr),Rn(Ft+1)}},[JSON.stringify(Be)]),(0,ee.useEffect)(()=>{Ft>0&&Hr()},[Ft]),(0,ee.useEffect)(()=>(window.addEventListener("resize",Hr),()=>{window.removeEventListener("resize",Hr)}),[Ft]);const Hr=()=>{const or=Ce.map((Rr,ca)=>{const{from:qi,to:ga}=Rr,pa=document.querySelector(`#${qi}`),Da=document.querySelector(`#${ga}`),fi=pa.getBoundingClientRect(),Pi=Da.getBoundingClientRect(),_i=Math.abs(Pi.left-fi.left);return mf(t0({},Rr),{lineWidth:_i})});be(or)},En=[{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 Jt(or){const Rr=or.reduce((ca,qi)=>ca+qi,0);return or.map(ca=>ca/Rr*122)}return ee.createElement("div",{className:vd.cylinder},ee.createElement("div",{className:vd.cylinderBox},Ce.map((or,Rr)=>{const{cylinderWidth:ca,lineWidth:qi,from:ga}=or,pa=Rr+1;return ee.createElement("div",{key:pa,className:vd[`cylinder${pa}`],style:{width:ca+"rem"}},ee.createElement("div",{className:vd.item1}),ee.createElement("div",{className:vd.item2}),ee.createElement("div",{className:vd.item3}),ee.createElement("div",{id:ga,style:{width:qi},className:vd.point}))})),ee.createElement("div",{className:vd.textBox},Ce.map((or,Rr)=>{const{title:ca,to:qi,value:ga}=or,pa=Rr+1;return ee.createElement("div",{key:pa,id:qi},ee.createElement("span",{dangerouslySetInnerHTML:{__html:`${ca}${ga}%`}}))})))},ms=ie(59301),Ju=Object.defineProperty,Vd=Object.getOwnPropertySymbols,Ef=Object.prototype.hasOwnProperty,Od=Object.prototype.propertyIsEnumerable,td=(Be,Ce,be)=>Ce in Be?Ju(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,x=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ef.call(Ce,be)&&td(Be,be,Ce[be]);if(Vd)for(var be of Vd(Ce))Od.call(Ce,be)&&td(Be,be,Ce[be]);return Be},z=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())}),ne=({subjectId:Be,uuid:Ce,isAll:be})=>{const[Ft,Rn]=(0,ee.useState)(!1),[zr,Hr]=(0,ee.useState)({course_id:null}),[En,Jt]=(0,ee.useState)(!0),[or,Rr]=(0,ee.useState)(!0),[ca,qi]=(0,ee.useState)([]),[ga]=(0,Oe.useSearchParams)(),[pa,Da]=(0,ee.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),fi=[{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)"}}],[Pi,_i]=(0,ee.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:fi,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,ee.useEffect)(()=>{Ft?Ea(zr):Hr({course_id:null})},[Ft]),(0,ee.useEffect)(()=>{Ft&&Rn(!1)},[Ce]);const Ea=(va,da=!1)=>z(void 0,null,function*(){var Lo,$r,$i,Vi,ja,Aa,Ll,Ol,Eo,Xs,Wo,Ao,Mi,el,Ui;da?Rr(!0):Jt(!0);const aa=yield(0,ht.ZP)(be?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:x({subject_id:Be,parentNodeUuid:Ce,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},va)});if((aa==null?void 0:aa.status)===0){let Wa=(Lo=aa==null?void 0:aa.data)==null?void 0:Lo.metricCounters;Wa=Wa||[];const Il={graphCount:(($r=Wa.find(Dl=>(Dl==null?void 0:Dl.name)==="\u56FE\u8C31"))==null?void 0:$r.count)||0,tagCount:(($i=Wa.find(Dl=>(Dl==null?void 0:Dl.name)==="\u6807\u7B7E"))==null?void 0:$i.count)||0,resourceCount:((Vi=Wa.find(Dl=>(Dl==null?void 0:Dl.name)==="\u8D44\u6E90"))==null?void 0:Vi.count)||0,proportionCount:(ja=aa==null?void 0:aa.data)==null?void 0:ja.resource_rate};let fl=Object.entries((Aa=aa==null?void 0:aa.data)==null?void 0:Aa.study_complete_hash).map(([Dl,El],Ns)=>({name:fi[Ns].name,value:El,itemStyle:fi[Ns].itemStyle}));const Pl={averageCompletionRate:(Ll=aa==null?void 0:aa.data)==null?void 0:Ll.study_complete_rate,averageMasteryRate:(Ol=aa==null?void 0:aa.data)==null?void 0:Ol.study_grasp_rate,completionRate:fl,masteryRate:Object.values((Eo=aa==null?void 0:aa.data)==null?void 0:Eo.study_grasp_hash),course_rank_num:(Xs=aa==null?void 0:aa.data)==null?void 0:Xs.course_rank_num,course_rank_all_num:(Wo=aa==null?void 0:aa.data)==null?void 0:Wo.course_rank_all_num,system_rank_num:(Ao=aa==null?void 0:aa.data)==null?void 0:Ao.system_rank_num,system_rank_all_num:(Mi=aa==null?void 0:aa.data)==null?void 0:Mi.system_rank_all_num},_l=(el=aa==null?void 0:aa.courses)==null?void 0:el.map(Dl=>({label:Dl.name,value:Dl.id}));qi(_l),Da(Il),_i(Pl),da||Hr({course_id:((Ui=_l==null?void 0:_l[0])==null?void 0:Ui.value)||null})}setTimeout(()=>{Jt(!1)},500),Rr(!1)}),No=va=>{zr.course_id=va,Hr(x({},zr)),Ea(zr,!0)};return ms.createElement(Na.Z,null,ms.createElement("div",{className:Ac.statistics},ms.createElement("div",{onClick:()=>Rn(!0),className:Ac.noUnfold},ms.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:A0}),ms.createElement("span",null,"\u7EDF"),ms.createElement("span",null,"\u8BA1")),ms.createElement("div",{className:Ac.wrapBox,style:{right:Ft?0:"-600rem"}},En&&ms.createElement(ut.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!En&&ms.createElement(ms.Fragment,null,ms.createElement("div",{className:Ac.scrollBox},ms.createElement("div",{className:Ac.content},ms.createElement("div",{className:Ac.title},ms.createElement("img",{src:Ed}),ms.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),ms.createElement("div",{className:Ac.top},ms.createElement("div",{className:Ac.topLi},ms.createElement("div",null,pa==null?void 0:pa.graphCount),ms.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),ms.createElement("div",{className:Ac.topLi},ms.createElement("div",null,pa==null?void 0:pa.tagCount),ms.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),ms.createElement("div",{className:Ac.topLi},ms.createElement("div",null,pa==null?void 0:pa.resourceCount),ms.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),ms.createElement("div",{style:{marginTop:"20rem"},className:Ac.title},ms.createElement("img",{src:Zd}),ms.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),ms.createElement(ut.Z,{spinning:or},ms.createElement("div",{className:Ac.bottom},ms.createElement("div",{className:Ac.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},ga.get("type")!=="classrooms"&&ms.createElement(ji.default,{className:Ac.select,options:ca,value:zr==null?void 0:zr.course_id,size:"small",onChange:No,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:va=>va.parentNode,style:{width:"222rem"},suffixIcon:ms.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),ms.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},Pi==null?void 0:Pi.course_rank_num),ms.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),ms.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Pi==null?void 0:Pi.course_rank_all_num,"\u4EBA\uFF09"),ms.createElement("img",{src:Qd})),ms.createElement("div",{className:Ac.bottomLi,style:{marginTop:"82rem"}},ms.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Pi==null?void 0:Pi.system_rank_num),ms.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),ms.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Pi==null?void 0:Pi.system_rank_all_num,"\u4EBA\uFF09"),ms.createElement("img",{src:y0})),ms.createElement("div",{className:Ac.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},ms.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Pi==null?void 0:Pi.averageCompletionRate,"%"),ms.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),ms.createElement("img",{src:b0})),ms.createElement("div",{className:Ac.bottomLi,style:{marginTop:"104rem"}},ms.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Pi==null?void 0:Pi.averageMasteryRate,"%"),ms.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),ms.createElement("img",{src:x0})),ms.createElement("div",{className:Ac.echarts},ms.createElement("div",{className:Ac.name},"\u5B8C\u6210\u60C5\u51B5"),ms.createElement(Cd.Z,{dataSource:Pi==null?void 0:Pi.completionRate})),ms.createElement("div",{className:Ac.echarts},ms.createElement("div",{className:Ac.name},"\u638C\u63E1\u60C5\u51B5"),ms.createElement(n0,{dataSource:Pi==null?void 0:Pi.masteryRate})))))),Ft&&ms.createElement("div",{onClick:()=>Rn(!1),className:Ac.unfold})))))},le=ie(59301),ge=Object.defineProperty,Ie=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,vt=(Be,Ce,be)=>Ce in Be?ge(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,In=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ue.call(Ce,be)&&vt(Be,be,Ce[be]);if(Ie)for(var be of Ie(Ce))it.call(Ce,be)&&vt(Be,be,Ce[be]);return Be},er=(Be,Ce)=>{var be={};for(var Ft in Be)Ue.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Ie)for(var Ft of Ie(Be))Ce.indexOf(Ft)<0&&it.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},Ur=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Qr=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr,tpacti:En,settpacti:Jt}=Ce,or=er(Ce,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settpacti"]),Rr,ca,qi,ga,pa,Da;const fi=(0,Oe.useParams)(),[Pi,_i]=(0,ee.useState)(""),[Ea,No]=(0,ee.useState)([]),[va]=(0,Oe.useSearchParams)(),[da,Lo]=(0,ee.useState)([]),[$r,$i]=(0,ee.useState)(1);(0,ee.useEffect)(()=>{var Aa,Ll,Ol,Eo,Xs,Wo;if((Aa=be==null?void 0:be.detail)!=null&&Aa.nodes&&$r===1){No((Ll=be==null?void 0:be.detail)==null?void 0:Ll.nodes),va.get("uuid")?_i(va.get("uuid")):_i((Xs=(Eo=(Ol=be==null?void 0:be.detail)==null?void 0:Ol.nodes)==null?void 0:Eo[1])==null?void 0:Xs.uuid);let Ao=[...(Wo=be==null?void 0:be.detail)==null?void 0:Wo.nodes];Lo(Ao==null?void 0:Ao.splice(1)),$i(2)}},[(Rr=be==null?void 0:be.detail)==null?void 0:Rr.nodes]),(0,ee.useEffect)(()=>{var Aa,Ll,Ol;_i(En||((Ol=(Ll=(Aa=be==null?void 0:be.detail)==null?void 0:Aa.nodes)==null?void 0:Ll[1])==null?void 0:Ol.uuid))},[En]);const Vi=(...Aa)=>Ur(void 0,[...Aa],function*(Ll={}){return yield Hr({type:"pathsDetail/getKnowledgeGraphs",payload:In({graphable_type:va.get("type")==="classrooms"?"course":"subject",graphable_id:fi==null?void 0:fi.pathId},Ll)})});function ja(){return Ur(this,null,function*(){var Aa,Ll,Ol,Eo;const Xs=yield Vi({graphable_id:fi==null?void 0:fi.pathId});_i((Ll=(Aa=Xs==null?void 0:Xs.nodes)==null?void 0:Aa[1])==null?void 0:Ll.uuid),Jt((Eo=(Ol=Xs==null?void 0:Xs.nodes)==null?void 0:Ol[1])==null?void 0:Eo.uuid)})}return le.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(Ea==null?void 0:Ea.length)>0&&le.createElement("div",{className:_e.content},((ca=Ea==null?void 0:Ea[0])==null?void 0:ca.uuid)===Pi&&Pi&&le.createElement(xc,{onAddSuccess:ja,setActivated:_i,subjectId:fi==null?void 0:fi.pathId,settpacti:Jt}),((qi=Ea==null?void 0:Ea[0])==null?void 0:qi.uuid)!==Pi&&Pi&&le.createElement(Ys,{tpacti:En,setactivied:()=>{var Aa;_i((Aa=Ea==null?void 0:Ea[0])==null?void 0:Aa.uuid)},initdata:ja,Tabsdatas:da,uuid:Pi})),(ga=be==null?void 0:be.detail)!=null&&ga.can_managed?le.createElement(Os,{isAll:((pa=Ea==null?void 0:Ea[0])==null?void 0:pa.uuid)===Pi,subjectId:fi==null?void 0:fi.pathId,uuid:Pi}):le.createElement(ne,{isAll:((Da=Ea==null?void 0:Ea[0])==null?void 0:Da.uuid)===Pi,subjectId:fi==null?void 0:fi.pathId,uuid:Pi}))};var Ki=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(Qr),wa={TabsItemActive:"TabsItemActive___UqdaX",TabsItem:"TabsItem___L0dKD"},uo=ie(84105),Mo=ie(59301),cl=Object.defineProperty,To=Object.defineProperties,gl=Object.getOwnPropertyDescriptors,Wl=Object.getOwnPropertySymbols,es=Object.prototype.hasOwnProperty,au=Object.prototype.propertyIsEnumerable,Gu=(Be,Ce,be)=>Ce in Be?cl(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,Fc=(Be,Ce)=>{for(var be in Ce||(Ce={}))es.call(Ce,be)&&Gu(Be,be,Ce[be]);if(Wl)for(var be of Wl(Ce))au.call(Ce,be)&&Gu(Be,be,Ce[be]);return Be},pc=(Be,Ce)=>To(Be,gl(Ce)),nd=(Be,Ce)=>{var be={};for(var Ft in Be)es.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&Wl)for(var Ft of Wl(Be))Ce.indexOf(Ft)<0&&au.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be};const Jc=({DataProps:Be,isActive:Ce=!1,onClick:be})=>Mo.createElement("div",{className:`current ${wa.TabsItem} ${Ce?wa.TabsItemActive:""}`,onClick:be},(Be==null?void 0:Be.name)||""),wc=Be=>{var Ce=Be,{pathsDetail:be,dispatch:Ft,activied:Rn,setactivied:zr,settpacti:Hr,tpacti:En,setxxljac:Jt,xxljac:or,TabsData:Rr=[],tplist:ca=[]}=Ce,qi=nd(Ce,["pathsDetail","dispatch","activied","setactivied","settpacti","tpacti","setxxljac","xxljac","TabsData","tplist"]),ga,pa,Da,fi,Pi;const _i=(0,ee.useRef)(null),[Ea,No]=(0,ee.useState)(0),[va,da]=(0,ee.useState)(!1),Lo=(0,ee.useMemo)(()=>(Rr==null?void 0:Rr.filter($r=>![1,3,4].includes($r==null?void 0:$r.key)))||[],[Rr]);return(0,ee.useEffect)(()=>{_i.current&&setTimeout(()=>{const $r=(0,Et.ZR)(_i.current,"rem",1,!0);No($r)},500)},[_i.current,be==null?void 0:be.detail]),(0,ee.useEffect)(()=>{var $r,$i;(($r=be==null?void 0:be.actionTabs)==null?void 0:$r.key)==="\u4FEE\u6539tab\u4FE1\u606F"&&(Ft({type:"pathsDetail/setActionTabs",payload:{key:""}}),zr==null||zr(($i=be==null?void 0:be.actionTabs)==null?void 0:$i.type),window.scrollTo({top:800,left:0,behavior:"smooth"}))},[(ga=be==null?void 0:be.actionTabs)==null?void 0:ga.key]),Mo.createElement("div",{className:"flex c-white justify-between overflow_hidden",style:{height:va?"auto":"40rem",background:"#101C39",borderRadius:"22rem",backdropFilter:"blur(10rem)",fontSize:"16rem",lineHeight:"26rem"}},Mo.createElement("div",{ref:_i,className:"flex flex-wrap",style:{gap:"25rem 40rem"}},(Pi=((Da=(pa=be==null?void 0:be.detail)==null?void 0:pa.nodes)==null?void 0:Da.length)>1?(fi=be==null?void 0:be.detail)==null?void 0:fi.nodes.slice(1):[{isNull:!0}])==null?void 0:Pi.map(($r,$i)=>{var Vi;return Mo.createElement(Jc,{key:$r==null?void 0:$r.uuid,DataProps:$r!=null&&$r.isNull?pc(Fc({},$r),{name:((Vi=Rr==null?void 0:Rr.find(ja=>(ja==null?void 0:ja.key)==3))==null?void 0:Vi.name)||($r==null?void 0:$r.name)}):$r,isActive:$r!=null&&$r.isNull?Rn==3:Rn==3&&(En?($r==null?void 0:$r.uuid)==En:$i==0),onClick:()=>{Hr==null||Hr($r==null?void 0:$r.uuid),zr==null||zr(3)}})}),Lo==null?void 0:Lo.map($r=>Mo.createElement(Jc,{key:$r==null?void 0:$r.key,DataProps:$r,isActive:Rn==($r==null?void 0:$r.key),onClick:()=>{zr==null||zr($r==null?void 0:$r.key)}}))),Ea>44&&Mo.createElement("div",{className:"current flex text-nowrap",style:{padding:"7rem 20rem"},onClick:()=>{da(!va)}},Mo.createElement("a",null,va?"\u6536\u8D77":"\u5C55\u5F00"," ",Mo.createElement(uo.Z,{rotate:va?-180:0,rev:void 0}))))};var rd=(0,Oe.connect)(({pathsDetail:Be})=>({pathsDetail:Be}))(wc),Rs=ie(44599),uc="data:image/png;base64,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",cc="data:image/png;base64,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",yc=ie(37426),Cc=ie(19150),Bf=ie(55303),ld=ie(92691),kc=ie(99755),se=ie(46016),ce="data:image/png;base64,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",me=ie.p+"static/nltpbg.f01aad4b.png",Me=ie.p+"static/nltpbg2.303fcb0b.png",$e={title:"title___m9Fww",bg:"bg___f9tLu"},et="data:image/png;base64,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",dt=ie.p+"static/2.3612d2e5.png",bt=ie.p+"static/3.0ae7bccf.png",hn=ie.p+"static/4.d75cb058.png",tr=ie.p+"static/5.89f1948f.png",Zn=ie.p+"static/6.cc2d55ef.png",Dt=ie.p+"static/7.3afb9435.png",mn=ie.p+"static/8.5401d4a7.png",yr=Object.defineProperty,li=Object.getOwnPropertySymbols,Ja=Object.prototype.hasOwnProperty,fo=Object.prototype.propertyIsEnumerable,ho=(Be,Ce,be)=>Ce in Be?yr(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,dl=(Be,Ce)=>{for(var be in Ce||(Ce={}))Ja.call(Ce,be)&&ho(Be,be,Ce[be]);if(li)for(var be of li(Ce))fo.call(Ce,be)&&ho(Be,be,Ce[be]);return Be};const Xl=({DataProps:Be=[],baifenbi:Ce=1,pathsDetail:be,isShow:Ft,item:Rn,i:zr})=>{const Hr=(0,Oe.useParams)(),[En,Jt]=(0,ee.useState)(0),or=33,Rr=Math.PI/2+zr*(Math.PI*2/(Be==null?void 0:Be.length)),ca=or*Math.cos(Rr)/100,qi=or*Math.sin(Rr)/100;return ee.createElement(gn.Z,{color:"#444FC2",title:Ft?null:ee.createElement("div",{style:{fontSize:`${14*Ce}rem`}},ee.createElement("div",null,"\u8986\u76D6",(Rn==null?void 0:Rn.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(Rn==null?void 0:Rn.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),ee.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},ee.createElement("div",{className:`flex flex-col item-center justify-center absolute ${Ft?"":"current"} ${$e.title}`,onClick:()=>{Ft||(0,Et.xg)(`/knowledgegraph/${Hr==null?void 0:Hr.pathId}/abilityMap/detail/${Rn==null?void 0:Rn.id}${window.location.search}`)},onMouseOver:()=>{Ft||Jt(2)},onMouseOut:()=>{Ft||Jt(0)},style:{left:`calc(50% - ${ca*100}%)`,top:`calc(50% - ${qi*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+En)*Ce}rem`}},ee.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),ee.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*Ce}rem`,fontWeight:500}},Rn==null?void 0:Rn.name),!(be!=null&&be.detail.can_managed)&&ee.createElement("div",null,"\u638C\u63E1\u7387 ",Rn==null?void 0:Rn.grasp_rate," %")))},Jl=({DataProps:Be=[],className:Ce="",style:be={},baifenbi:Ft=1,pathsDetail:Rn,isShow:zr})=>{const Hr=(0,ee.useMemo)(()=>{const En=["",et,dt,bt,hn,tr,Zn,Dt,mn];return En==null?void 0:En[(Be==null?void 0:Be.length)||0]},[Be]);return ee.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${Ce} ${$e.bg}`,style:dl({backgroundImage:`url(${Be!=null&&Be.length?Me:me})`,backgroundSize:"auto 100%",height:"100%"},be)},((Be==null?void 0:Be.length)||0)>0&&ee.createElement("img",{className:`absolute ${$e.bg}`,src:Hr,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(Be==null?void 0:Be.length)?"rotate(90deg)":(Be==null?void 0:Be.length)==7?"rotate(25deg)":""}`}}),Be==null?void 0:Be.map((En,Jt)=>ee.createElement(Xl,{key:Jt,i:Jt,item:En,DataProps:Be,className:Ce,style:be,baifenbi:Ft,pathsDetail:Rn,isShow:zr})),ee.createElement("div",{className:"text-center"},ee.createElement("div",{style:{fontSize:`${28*Ft}rem`}},"\u80FD\u529B\u76EE\u6807"),ee.createElement("div",{style:{fontSize:`${12*Ft}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var ou=(0,Oe.connect)(({pathsDetail:Be})=>({pathsDetail:Be}))(Jl),Hs=ie.p+"static/bg.a1e8d200.png",cs={ChangeBut:"ChangeBut___VXZuF",spin:"spin___YZs77"},dc=ie(68682),Fu=Object.defineProperty,nc=Object.defineProperties,rc=Object.getOwnPropertyDescriptors,qc=Object.getOwnPropertySymbols,Bd=Object.prototype.hasOwnProperty,md=Object.prototype.propertyIsEnumerable,gd=(Be,Ce,be)=>Ce in Be?Fu(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,nf=(Be,Ce)=>{for(var be in Ce||(Ce={}))Bd.call(Ce,be)&&gd(Be,be,Ce[be]);if(qc)for(var be of qc(Ce))md.call(Ce,be)&&gd(Be,be,Ce[be]);return Be},Nc=(Be,Ce)=>nc(Be,rc(Ce)),gf=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const Af=({pathsDetail:Be,dispatch:Ce})=>{var be,Ft,Rn,zr,Hr,En,Jt,or,Rr,ca,qi,ga,pa,Da,fi,Pi,_i,Ea,No,va;const{detail:da,actionTabs:Lo}=Be,$r=(0,Oe.useParams)(),[$i]=(0,Oe.useSearchParams)(),Vi=(0,ee.useRef)(null),[ja,Aa]=(0,ee.useState)({}),[,Ll,Ol,Eo]=(0,_t.U)(ye.Eu,{subject_id:$r==null?void 0:$r.pathId}),[Xs,Wo]=(0,ee.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),Ao=[{title:"\u80FD\u529B\u76EE\u6807\u638C\u63E1\u6570",value:(be=Eo==null?void 0:Eo.data)==null?void 0:be.total_grasp_count,unit:"\u4E2A",img:se,bg:"rgba(18, 42, 159, .4)",ProgressTitle:"\u5B8C\u6210\u6574\u4F53\u80FD\u529B\u7387",percent:((Ft=Eo==null?void 0:Eo.data)==null?void 0:Ft.total_grasp_rate)||0,trailColor:"rgba(22, 115, 255, .1)",strokeColor:"#1673FF"},{title:"\u5DF2\u638C\u63E1\u5B50\u80FD\u529B\u6570",value:(Rn=Eo==null?void 0:Eo.data)==null?void 0:Rn.children_ability_goal_grasp_count,unit:"\u4E2A",img:ce,bg:"rgba(0, 87, 76, .4)",ProgressTitle:"\u5B8C\u6210\u5B50\u80FD\u529B\u7387",percent:((zr=Eo==null?void 0:Eo.data)==null?void 0:zr.children_ability_goal_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8D44\u6E90\u5B8C\u6210\u6570",value:(Hr=Eo==null?void 0:Eo.data)==null?void 0:Hr.resource_complete_count,unit:"\u4E2A",img:ld,bg:"rgba(108, 76, 0, .4)",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((En=Eo==null?void 0:Eo.data)==null?void 0:En.resource_complete_rate)||0,trailColor:"rgba(209, 157, 83, .1)",strokeColor:"#D19D53"},{title:"\u5DF2\u7ECF\u638C\u63E1\u77E5\u8BC6\u70B9",value:(Jt=Eo==null?void 0:Eo.data)==null?void 0:Jt.knowledge_grasp_count,unit:"\u4E2A",img:kc,bg:"rgba(0, 28, 106, .4)",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((or=Eo==null?void 0:Eo.data)==null?void 0:or.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#1673FF"}],Mi=(...Ui)=>gf(void 0,[...Ui],function*(aa={}){yield Ol(Nc(nf({},aa),{subject_id:$r==null?void 0:$r.pathId}))}),el=()=>gf(void 0,null,function*(){Ce({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:$i.get("type")==="classrooms"?"course":"subject",graphable_id:$r.pathId}})});return(0,ee.useEffect)(()=>{var Ui,aa;if((Eo==null?void 0:Eo.status)==0&&(da!=null&&da.can_managed)){const Wa=(aa=Object==null?void 0:Object.entries(((Ui=Eo==null?void 0:Eo.data)==null?void 0:Ui.study_grasp_hash)||{}))==null?void 0:aa.map(([Il,fl],Pl)=>({name:Il,value:fl,itemStyle:Xs[Pl].itemStyle}));Wo(Wa)}},[da==null?void 0:da.can_managed,Eo]),(0,ee.useEffect)(()=>{ja!=null&&ja.id&&Mi({id:ja==null?void 0:ja.id})},[ja==null?void 0:ja.id]),(0,ee.useEffect)(()=>{var Ui,aa,Wa;if(((Ui=da==null?void 0:da.ability_goals)==null?void 0:Ui.length)>0){const Il=(aa=da==null?void 0:da.ability_goals)==null?void 0:aa.find(fl=>fl==null?void 0:fl.is_choice);Aa(Nc(nf({},Il),{knowledge_graph_route_id:(Wa=Eo==null?void 0:Eo.data)==null?void 0:Wa.knowledge_graph_route_id})),!(Il!=null&&Il.id)&&Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},[da==null?void 0:da.ability_goals,(Rr=Eo==null?void 0:Eo.data)==null?void 0:Rr.knowledge_graph_route_id]),ee.createElement(ut.Z,{spinning:Ll,wrapperClassName:cs.spin,size:"large",tip:"\u6570\u636E\u7EDF\u8BA1\u4E2D\uFF0C\u8BF7\u7A0D\u540E"},((ca=da==null?void 0:da.ability_goals)==null?void 0:ca.length)>0?ee.createElement("div",{className:"flex w-full c-white overflow_hidden",style:{padding:"20rem 40rem",fontSize:"16rem"}},ee.createElement("div",{className:" minW-0 flex flex-col",style:{flex:"1.5",gap:"10rem"}},ee.createElement("div",{className:" flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},ee.createElement("div",{className:"flex item-center gap-10px-rem"},ee.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},ee.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),ee.createElement(gn.Z,{title:(ja==null?void 0:ja.name)||"",placement:"topLeft"},ee.createElement("div",{className:"multi_ellipsis1"},(ja==null?void 0:ja.name)||"")),ee.createElement("div",{className:`current flex item-center text-nowrap ${cs.ChangeBut}`,onClick:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},ee.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),(da==null?void 0:da.can_managed)&&ee.createElement("div",{className:"text-12px-rem c-white flex item-center gap-10px-rem"},ee.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},ee.createElement("span",{className:"iconfont icon-tianjiatixing",style:{fontSize:"12rem"}})," \u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"),ee.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"}}})}},ee.createElement("span",{className:"iconfont icon-bianji13",style:{fontSize:"12rem"}})," \u7F16\u8F91\u80FD\u529B\u56FE\u8C31"),ee.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{st.default.confirm({title:"\u5220\u9664\u80FD\u529B\u56FE\u8C31",icon:null,centered:!0,width:"500rem",content:ee.createElement(ee.Fragment,null,ee.createElement("div",{className:"text-16px-rem c-black ",style:{marginBottom:"10rem"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u9700\u8981\u5220\u9664\u300A",ja==null?void 0:ja.name,"\u300B\u80FD\u529B\u56FE\u8C31\uFF1F\u5220\u9664\u540E\uFF0C\u5C06\u65E0\u6CD5\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),ee.createElement(dc.Z,{ref:Ui=>Vi.current=Ui})),okText:"\u786E\u8BA4\u5220\u9664",onOk:()=>gf(void 0,null,function*(){if(Vi.current.onVerify())return Promise.reject();const Ui=yield(0,ye.pf)({id:ja==null?void 0:ja.id,subject_id:$r==null?void 0:$r.pathId});(Ui==null?void 0:Ui.status)===0&&(yt.ZP.success("\u5220\u9664\u6210\u529F"),el())})})}},ee.createElement("span",{className:"iconfont icon-shanchu17",style:{fontSize:"12rem"}})," \u5220\u9664\u80FD\u529B\u56FE\u8C31"))),ee.createElement("div",{className:"flex",style:{marginTop:"30rem",gap:"10rem"}},ee.createElement("div",{className:"minW-0 flex",style:{flex:"1.5"}},[{title:"\u4E3B\u80FD\u529B\uFF08\u4E2A\uFF09",value:(qi=Eo==null?void 0:Eo.data)==null?void 0:qi.total_count,img:uc},{title:"\u5B50\u80FD\u529B\uFF08\u4E2A\uFF09",value:(ga=Eo==null?void 0:Eo.data)==null?void 0:ga.total_children_count,img:cc}].map((Ui,aa)=>ee.createElement("div",{key:aa,className:"flex-1 minW-0 flex flex-col item-center",style:{gap:"10rem"}},ee.createElement("div",{style:{fontSize:"30rem",textShadow:"0 1rem 10rem #0096FC"}},Ui==null?void 0:Ui.value),ee.createElement("div",{style:{fontSize:"14rem"}},Ui==null?void 0:Ui.title),ee.createElement("img",{src:Ui==null?void 0:Ui.img,width:"166rem",height:"160rem",style:{width:"166rem",height:"160rem",marginTop:"-15rem"}})))),ee.createElement("div",{className:"flex-1 minW-0 flex flex-col justify-between",style:{gap:"70rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(pa=Eo==null?void 0:Eo.data)==null?void 0:pa.total_knowledge_count,unit:"\u4E2A",percent:(Da=Eo==null?void 0:Eo.data)==null?void 0:Da.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(fi=Eo==null?void 0:Eo.data)==null?void 0:fi.total_resource_count,unit:"\u4E2A",percent:(Pi=Eo==null?void 0:Eo.data)==null?void 0:Pi.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570"}].map((Ui,aa)=>ee.createElement("div",{key:aa,className:"flex-1 minW-0 flex relative",style:{gap:"20rem"}},ee.createElement("div",{className:"flex flex-col justify-between",style:{marginLeft:"40rem"}},ee.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Ui==null?void 0:Ui.title),ee.createElement("div",{style:{fontSize:"26rem",textShadow:(Ui==null?void 0:Ui.value)==0?"":"0 1rem 10rem #0096FC",opacity:(Ui==null?void 0:Ui.value)==0?.9:1}},Ui==null?void 0:Ui.value,ee.createElement("span",{style:{fontSize:"14rem"}},Ui==null?void 0:Ui.unit))),ee.createElement(ll.Z,{type:"dashboard",percent:Ui==null?void 0:Ui.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:"30rem",top:"15rem"},trailColor:"#1E2E72",strokeColor:{"0%":"#0E5FFF","50%":"#2DE1FD","100%":"#2DE1FD"},strokeLinecap:"round",format:Wa=>ee.createElement("div",{className:"c-white",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},Wa,"%",ee.createElement("br",null),ee.createElement("br",null),Ui==null?void 0:Ui.percenttitle)})))))),ee.createElement("div",{className:"flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},ee.createElement("div",{style:{marginBottom:"20rem"}},"\u4E3B\u80FD\u529B\u5B66\u4E60\u60C5\u51B5"),da!=null&&da.can_managed?ee.createElement("div",{className:"flex",style:{gap:"10rem"}},ee.createElement("div",{className:"minW-0 flex flex-col flex-1",style:{gap:"13rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(_i=Eo==null?void 0:Eo.data)==null?void 0:_i.study_count,unit:"",img:yc,bg:"rgba(68, 95, 232, 0.4)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(Ea=Eo==null?void 0:Eo.data)==null?void 0:Ea.complete_rate,unit:"%",img:Cc,bg:"rgba(182, 129, 0, .4)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(No=Eo==null?void 0:Eo.data)==null?void 0:No.grasp_rate,unit:"%",img:Bf,bg:"rgba(6, 145, 127, .4)"}].map((Ui,aa)=>ee.createElement("div",{key:aa,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Ui==null?void 0:Ui.bg}},ee.createElement("div",{style:{fontSize:"14rem",color:"rgba(255,255,255,.8)"}},Ui==null?void 0:Ui.title),ee.createElement("div",{style:{fontSize:"26rem"}},Ui==null?void 0:Ui.value,ee.createElement("span",{style:{fontSize:"14rem"}},Ui==null?void 0:Ui.unit)),ee.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Ui==null?void 0:Ui.img})))),ee.createElement("div",{className:"flex-2 minW-0"},ee.createElement(Rs.Z,{dataSource:Xs,legend:{top:null,icon:"roundRect",bottom:10,left:"center",itemWidth:14,itemGap:15,textStyle:{color:"#fff"},formatter:Ui=>Ui}}))):ee.createElement("div",{style:{display:"grid",gap:"20rem",gridTemplateColumns:"1fr 1fr"}},Ao==null?void 0:Ao.map((Ui,aa)=>ee.createElement("div",{key:aa,className:"relative c-white",style:{padding:"22rem 30rem",background:Ui==null?void 0:Ui.bg,borderRadius:"6rem"}},ee.createElement("img",{src:Ui==null?void 0:Ui.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"22rem",top:"22rem"}}),ee.createElement("div",{style:{fontSize:"14rem"}},Ui==null?void 0:Ui.title),ee.createElement("div",{className:" blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ui==null?void 0:Ui.value,ee.createElement("span",{style:{fontSize:"14rem"}},Ui==null?void 0:Ui.unit)),ee.createElement("div",{style:{fontSize:"12rem",marginTop:"26rem"}},ee.createElement("div",null,Ui==null?void 0:Ui.ProgressTitle,Ui==null?void 0:Ui.percent,"%"),ee.createElement(ll.Z,{percent:Ui==null?void 0:Ui.percent,showInfo:!1,trailColor:Ui==null?void 0:Ui.trailColor,strokeColor:Ui==null?void 0:Ui.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))))),ee.createElement("div",{className:"flex-2 minW-0 flex item-center justify-center relative"},(da==null?void 0:da.can_managed)&&ee.createElement("div",{className:"absolute flex item-center gap-16px-rem",style:{top:0,right:0}},$i.get("type")==="classrooms"&&ee.createElement("div",{className:`current flex item-center ${cs.ChangeBut}`,onClick:()=>{Oe.history.push(`/knowledgegraph/${$r==null?void 0:$r.pathId}/statistics/abilitymap/${ja==null?void 0:ja.id}?type=classrooms&tabs=5`)}},ee.createElement("span",{style:{fontSize:"14rem"}},"\u6570\u636E\u7EDF\u8BA1")),ee.createElement("div",{className:`current flex item-center ${cs.ChangeBut}`,onClick:()=>{(0,Et.xg)(`/knowledgegraph/${$r.pathId}/abilityMap/edit/${ja==null?void 0:ja.id}${window.location.search}`)}},ee.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u7F16\u8F91\u80FD\u529B\u76EE\u6807"),$i.get("type")!=="classrooms"&&ee.createElement("div",{className:`current flex item-center ${cs.ChangeBut}`,onClick:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"goal"}}}})}},ee.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u53D1\u9001\u81F3\u8BFE\u5802")),ee.createElement("img",{src:Hs,className:"absolute",width:"1532rem",height:"100%",style:{left:"50%",pointerEvents:"none",transform:"translateX(-61%)"}}),ee.createElement(ou,{DataProps:((va=Eo==null?void 0:Eo.data)==null?void 0:va.ability_goals)||[],className:"c-white",style:{backgroundSize:"auto 100%",height:"710rem",width:"710rem"}}))):ee.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},ee.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},(da==null?void 0:da.can_managed)&&ee.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{Ce({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},"\u521B\u5EFA\u80FD\u529B\u56FE\u8C31")),ee.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F "),ee.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u80FD\u529B\u56FE\u8C31\u901A\u8FC7\u6574\u5408\u8BFE\u7A0B\u57F9\u517B\u76EE\u6807\u4E0E\u77E5\u8BC6\u70B9\uFF0C\u6784\u5EFA\u4EE5\u80FD\u529B\u57F9\u517B\u4E3A\u6838\u5FC3\u7684\u6210\u957F\u5730\u56FE\u3002\u5B83\u6E05\u6670\u6807\u6CE8\u6BCF\u4E00\u95E8\u8BFE\u7A0B\u9700\u638C\u63E1\u7684\u6838\u5FC3\u80FD\u529B\uFF0C\u5C06\u62BD\u8C61\u7684\u77E5\u8BC6\u8F6C\u5316\u4E3A\u53EF\u91CF\u5316\u3001\u53EF\u8FFD\u8E2A\u7684\u80FD\u529B\u5750\u6807\uFF0C\u8BA9\u5B66\u4E60\u6709\u65B9\u5411\uFF0C\u6210\u957F\u6709\u8F68\u8FF9\u3002",ee.createElement("img",{className:"absolute",src:ie(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),ee.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},ee.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ee.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),ee.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},ee.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:ie(79989)}),ee.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:ie(73486)}),[{title:"\u591A\u7EF4\u80FD\u529B\u56FE\u8C31",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u4E2A\u80FD\u529B\u56FE\u8C31\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u80FD\u529B\u56FE\u8C31\u8FDB\u884C\u5B66\u4E60\u3002",img:ie(4212)},{title:"\u6570\u636E\u5173\u8054",desc:"\u652F\u6301\u5C06\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u3001\u77E5\u8BC6\u56FE\u8C31\u3001\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u6C47\u603B\u7EDF\u8BA1\uFF0C\u5206\u6790\u51FA\u5B66\u751F\u5728\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u638C\u63E1\u60C5\u51B5\u3002",img:ie(50356)},{title:"\u80FD\u529B\u5B66\u4E60\u8DEF\u5F84",desc:"\u652F\u6301\u6839\u636E\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u4E3B\u80FD\u529B\u548C\u5B50\u80FD\u529B\u751F\u6210\u5BF9\u5E94\u5B66\u4E60\u8DEF\u5F84\uFF0C\u4FBF\u4E8E\u5B66\u751F\u6309\u7167\u5BF9\u7528\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:ie(40362)}].map((Ui,aa)=>ee.createElement("div",{key:aa,className:`flex flex-col item-center ${aa!=1?"mt-64px-rem":""}`},ee.createElement("img",{src:Ui==null?void 0:Ui.img,style:{width:"127rem",height:"119rem"}}),ee.createElement("div",{className:"px-20px-rem pb-20px-rem",style:{background:`url(${ie(14760)}) 0 0 / 100% 100% no-repeat`}},Ui==null?void 0:Ui.title),ee.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),ee.createElement("div",{className:"px-20px-rem py-20px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"153rem"}},Ui==null?void 0:Ui.desc))))),ee.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ee.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),ee.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:ee.createElement("div",{className:"flex flex-col gap-4px-rem"},ee.createElement("div",{className:"text-16px-rem"},"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA"),ee.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u80FD\u529B\u56FE\u8C31\u57FA\u4E8E\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u548C\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:ee.createElement("div",{className:"flex flex-col gap-4px-rem"},ee.createElement("div",{className:"text-16px-rem"},"\u5B50\u80FD\u529B/\u4E3B\u80FD\u529B\u638C\u63E1\u5EA6\u8BA1\u7B97"),ee.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},ee.createElement("span",{className:"c-white"},"\u5B50\u80FD\u529B\uFF1A"),"\u6839\u636E\u5F53\u524D\u5173\u8054\u7684\u8D44\u6E90\u638C\u63E1\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u8D44\u6E90\u638C\u63E1\u7387\u8FBE\u5230\u8BBE\u7F6E\u6570\u503C\u540E, \u8868\u793A\u638C\u63E1\u6539\u8BE5\u80FD\u529B\uFF1B",ee.createElement("br",null),ee.createElement("span",{className:"c-white"},"\u4E3B\u80FD\u529B\uFF1A"),"\u6839\u636E\u8BE5\u4E3B\u80FD\u529B\u4E0B\u7684\u5B50\u80FD\u529B\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u5B50\u80FD\u529B\u638C\u63E1\u540E\uFF0C\u8868\u793A\u4E3B\u80FD\u529B\u638C\u63E1\u3002"))},{desc:ee.createElement("div",{className:"flex flex-col gap-4px-rem"},ee.createElement("div",{className:"text-16px-rem"},"\u4E3B\u80FD\u529B/\u5B50\u80FD\u529B\u6570\u91CF\u9650\u5236"),ee.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u4E00\u4E2A\u80FD\u529B\u56FE\u8C31\u4E2D\u6700\u591A\u521B\u5EFA8\u4E2A\u4E3B\u80FD\u529B\uFF0C\u4E3B\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u5B50\u80FD\u529B\u6570\u91CF\uFF0C\u5B50\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u8D44\u6E90\u77E5\u8BC6\u70B9\u5173\u8054\u6570\u91CF\u3002"))}].map((Ui,aa)=>ee.createElement("div",{key:aa,className:"px-16px-rem py-22px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},ee.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(aa+1).toString().padStart(2,"0")),ee.createElement("div",{className:"flex-1 minW-0"},Ui==null?void 0:Ui.desc))))))),(Lo==null?void 0:Lo.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31"&&ee.createElement(yl.E_,{type:"goal",open:(Lo==null?void 0:Lo.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31",title:"\u9009\u62E9\u80FD\u529B\u56FE\u8C31",currentSeleteData:ja,onFinish:()=>{el()}}),((Lo==null?void 0:Lo.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(Lo==null?void 0:Lo.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31")&&ee.createElement(yl.DZ,{currentSeleteData:ja,onFinish:()=>{el()}}))};var B0=(0,Oe.connect)(({pathsDetail:Be})=>({pathsDetail:Be}))(Af),rf=ie(86725),xl=ie(59301),Kd=Object.defineProperty,sd=Object.getOwnPropertySymbols,Wd=Object.prototype.hasOwnProperty,af=Object.prototype.propertyIsEnumerable,Kf=(Be,Ce,be)=>Ce in Be?Kd(Be,Ce,{enumerable:!0,configurable:!0,writable:!0,value:be}):Be[Ce]=be,r0=(Be,Ce)=>{for(var be in Ce||(Ce={}))Wd.call(Ce,be)&&Kf(Be,be,Ce[be]);if(sd)for(var be of sd(Ce))af.call(Ce,be)&&Kf(Be,be,Ce[be]);return Be},Wf=(Be,Ce)=>{var be={};for(var Ft in Be)Wd.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&sd)for(var Ft of sd(Be))Ce.indexOf(Ft)<0&&af.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},P0=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});const T0=Be=>{var Ce=Be,{pathsDetail:be,user:Ft,globalSetting:Rn,loading:zr,dispatch:Hr,activied:En,setactivied:Jt}=Ce,or=Wf(Ce,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),Rr,ca,qi,ga,pa,Da,fi,Pi,_i;const{detail:Ea,actionTabs:No}=be,va=(0,Oe.useParams)(),[da]=(0,Oe.useSearchParams)(),[Lo,$r]=(0,ee.useState)([]),[$i,Vi]=(0,ee.useState)(),[ja,Aa]=(0,ee.useState)(),[Ll]=Se.default.useForm(),[Ol,Eo]=(0,ee.useState)(!1),[Xs,Wo]=(0,ee.useState)(!1),Ao=(ca=(Rr=Ea==null?void 0:Ea.route_nodes)==null?void 0:Rr.find(aa=>aa==null?void 0:aa.is_choice))==null?void 0:ca.id;(0,ee.useEffect)(()=>{da.get("uuid")&&Vi(da.get("uuid"))},[da.get("uuid")]);const Mi=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:xl.createElement(ki,null),isshow:da.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((ga=(qi=be==null?void 0:be.detail)==null?void 0:qi.nodes)==null?void 0:ga.length)<=1?xl.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},xl.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},((pa=be==null?void 0:be.detail)==null?void 0:pa.can_managed)&&xl.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{Wo(!0)}},"\u65B0\u5EFA\u56FE\u8C31"),((Da=be==null?void 0:be.detail)==null?void 0:Da.can_managed)&&da.get("type")!=="classrooms"&&xl.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem flex item-center gap-4px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>P0(void 0,null,function*(){let aa=yield(0,ht.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:va==null?void 0:va.pathId}});aa.status===0&&yt.ZP.info(aa==null?void 0:aa.message)})},"\u751F\u6210\u56FE\u8C31",xl.createElement(gn.Z,{title:xl.createElement("span",{className:"c-black"},"\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"),color:"#fff"},xl.createElement(pf.Z,{style:{color:"#fff",marginLeft:5,marginTop:0},rev:void 0})))),xl.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F"),xl.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4E00\u5F20\u667A\u80FD\u5316\u7684\u77E5\u8BC6\u5BFC\u822A\u5730\u56FE\uFF0C\u901A\u8FC7AI\u6280\u672F\u5C06\u96F6\u6563\u77E5\u8BC6\u70B9\u4E32\u8054\u6210\u903B\u8F91\u7F51\u7EDC\uFF0C\u6E05\u6670\u5C55\u73B0\u5B66\u79D1\u6838\u5FC3\u6982\u5FF5\u3001\u80FD\u529B\u5C42\u7EA7\u4E0E\u5173\u8054\u8DEF\u5F84\u3002\u5B83\u5982\u540C\u4E00\u4F4D\u201C\u8D85\u7EA7\u5BFC\u5E08\u201D\uFF0C\u4E3A\u4F60\u6307\u660E\u5B66\u4EC0\u4E48\u3001\u600E\u4E48\u5B66\u3001\u5B66\u5230\u54EA\u3002",xl.createElement("img",{className:"absolute",src:ie(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),xl.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},xl.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},xl.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),xl.createElement("div",{className:"w-full flex flex-wrap justify-between",style:{background:`url(${ie(30019)}) center / auto 100% no-repeat`,height:"446rem",gap:"54rem 200rem"}},[{title:"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210",order:1,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6839\u636E\u5173\u7CFB\uFF08\u5305\u542B\u3001\u524D/\u540E\u7EED\uFF09\u548C\u8282\u70B9\u6807\u7B7E\uFF08\u5982\uFF1A\u6587\u79D1/\u7406\u79D1\u3001\u57FA\u7840/\u8FDB\u9636/\u7A81\u7834\uFF09\u5FEB\u901F\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84\u3002"},{title:"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA",order:2,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6309\u7167\u80FD\u529B\u7EF4\u5EA6\uFF0C\u6784\u5EFA\u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\uFF0C\u7528\u4E8E\u68C0\u9A8C\u5B66\u751F\u5BF9\u8BFE\u7A0B\u57F9\u517B\u80FD\u529B\u7684\u638C\u63E1\u3002"},{title:"\u8BFE\u5802\u5B66\u60C5\u5206\u6790",order:4,desc:"\u652F\u6301\u4E00\u952E\u5C06\u77E5\u8BC6\u56FE\u8C31\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\uFF0C\u8BA9\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u5B8C\u6210\u5B66\u4E60\u4EFB\u52A1\uFF0C\u5E76\u53EF\u4EE5\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\u548C\u5B66\u60C5\u9884\u8B66\u3002"},{title:"\u5B66\u4E60\u8D44\u6E90\u63A8\u8350",order:3,desc:"\u5229\u7528\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5173\u7CFB\u548C\u6807\u7B7E\u5206\u7C7B\uFF0C\u57FA\u4E8E\u5B66\u751F\u5B66\u4E60\u53CA\u638C\u63E1\u5185\u5BB9\u4E3A\u5B66\u751F\u63A8\u8350\u8584\u5F31\u70B9\u3001\u63D0\u5347\u70B9\u3001\u7A81\u7834\u70B9\u8D44\u6E90\u5B66\u4E60\u3002"}].map((aa,Wa)=>xl.createElement("div",{key:Wa,className:"py-10px-rem px-20px-rem flex flex-col gap-10px-rem rounded-8px-rem",style:{width:"234rem",height:"160rem",background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",order:aa==null?void 0:aa.order}},xl.createElement("div",{className:"text-16px-rem"},Wa+1,". ",aa==null?void 0:aa.title),xl.createElement("div",{style:{color:"rgba(255,255,255,0.8)"}},aa==null?void 0:aa.desc))))),xl.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},xl.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${ie(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),xl.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:xl.createElement("div",{className:"flex flex-col gap-4px-rem"},xl.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7C7B\u578B"),xl.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u4E3B\u8981\u5206\u4E3A\u4E24\u79CD\u7C7B\u578B\uFF1A",xl.createElement("span",{style:{color:"#FFE698"}},"\u6807\u7B7E\u8282\u70B9\u548C\u8D44\u6E90\u8282\u70B9"),xl.createElement("br",null),xl.createElement("span",{className:"c-white"},"\u6807\u7B7E\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u6587\u672C\u5185\u5BB9\uFF0C\u5982\u7AE0\u8282\u3001\u77E5\u8BC6\u70B9\u3002",xl.createElement("br",null),xl.createElement("span",{className:"c-white"},"\u8D44\u6E90\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u8D44\u6E90\u5185\u5BB9\uFF0C\u53EF\u4EE5\u9009\u62E9\u5E73\u53F0\u8D44\u6E90\u3001\u672C\u5730\u4E0A\u4F20\u6587\u4EF6\u548C\u5916\u94FE\u3002",xl.createElement("br",null)))},{desc:xl.createElement("div",{className:"flex flex-col gap-4px-rem"},xl.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u6807\u7B7E"),xl.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u6807\u7B7E\u53EF\u4EE5\u7528\u6237\u81EA\u5B9A\u4E49\u6DFB\u52A0\uFF0C\u8282\u70B9\u6807\u7B7E\u4E3B\u8981\u7528\u4E8E\u7B5B\u9009\u8282\u70B9\uFF0C\u5982\u6587\u79D1/\u7406\u79D1/\u5DE5\u79D1\u3001\u7B80\u5355/\u8FDB\u9636/\u56F0\u96BE\u3002",xl.createElement("br",null),xl.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u6807\u7B7E\u540C\u6B65\u5EFA\u7ACB\uFF0C\u540E\u7EED\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u548C\u80FD\u529B\u56FE\u8C31\u65F6\u53EF\u4EE5\u4F7F\u7528\u3002")))},{desc:xl.createElement("div",{className:"flex flex-col gap-4px-rem"},xl.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u5173\u7CFB"),xl.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u5173\u7CFB",xl.createElement("span",{style:{color:"#FFE698"}},"\u6709\u5305\u542B/\u88AB\u5305\u542B\u3001\u524D\u5E8F/\u540E\u7EED\u3001\u5173\u8054\u3002"),xl.createElement("br",null),xl.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u5173\u7CFB\u540C\u6B65\u5EFA\u7ACB\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u65F6\uFF0C\u5C06\u6839\u636E\u524D\u5E8F/\u540E\u7EED\u5173\u7CFB\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002")))}].map((aa,Wa)=>xl.createElement("div",{key:Wa,className:"py-22px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},xl.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Wa+1).toString().padStart(2,"0")),xl.createElement("div",{className:"flex-1 minW-0"},aa==null?void 0:aa.desc))))))):xl.createElement(Ki,{settpacti:Vi,tpacti:$i}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:xl.createElement(Nu,{setxxljac:Aa,xxljac:ja}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:xl.createElement(pn,null),isshow:da.get("type")!=="classrooms"},{name:"\u80FD\u529B\u56FE\u8C31",key:5,content:xl.createElement(B0,null),isshow:!0},{name:"\u6570\u636E\u7EDF\u8BA1",key:6,content:xl.createElement(rf.default,{learningpathId:Ao,isCompontent:!0}),isshow:da.get("type")=="classrooms"&&Ao&&(0,Bl.GJ)()}].filter(aa=>aa==null?void 0:aa.isshow);(0,ee.useEffect)(()=>{var aa,Wa;if((aa=be==null?void 0:be.detail)!=null&&aa.nodes){let Il=[...(Wa=be==null?void 0:be.detail)==null?void 0:Wa.nodes];$r(Il==null?void 0:Il.splice(1))}},[(fi=be==null?void 0:be.detail)==null?void 0:fi.nodes]),(0,ee.useEffect)(()=>ea.Z.subscribe("create_a_knowledge_map",()=>{Wo(!0)}),[]);const el=(aa={})=>{Hr({type:"pathsDetail/getKnowledgeGraphs",payload:r0({graphable_type:da.get("type")==="classrooms"?"course":"subject",graphable_id:va.pathId},aa)})},Ui=aa=>P0(void 0,null,function*(){var Wa,Il,fl,Pl,_l,Dl,El;const{nodeType:Ns,description:Es,name:tu,tags:Ec}=aa;Eo(!0);const Lu=yield(0,ht.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:va==null?void 0:va.pathId,properties:{description:Es,rootNodeUuid:(fl=(Il=(Wa=be==null?void 0:be.detail)==null?void 0:Wa.nodes)==null?void 0:Il[0])==null?void 0:fl.uuid,name:tu,nodeType:Ns[0],tags:(Ec==null?void 0:Ec.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(Dl=(_l=(Pl=be==null?void 0:be.detail)==null?void 0:Pl.nodes)==null?void 0:_l[0])==null?void 0:Dl.uuid,type:"\u5305\u542B"}]}});(Lu==null?void 0:Lu.status)===0&&(Wo(!1),Vi((El=Lu==null?void 0:Lu.data)==null?void 0:El.uuid),Jt(3),el({graphable_id:va==null?void 0:va.pathId})),Eo(!1)});return xl.createElement("div",{className:Ha.content,style:{paddingTop:"20rem"}},xl.createElement("div",{style:{padding:"0 40rem",position:"sticky",top:0,zIndex:99}},xl.createElement(rd,{activied:En,setactivied:Jt,TabsData:Mi,tplist:Lo,settpacti:Vi,tpacti:$i,setxxljac:Aa,xxljac:ja})),(No==null?void 0:No.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802"&&xl.createElement(yl.NI,{onFinish:()=>{el()},type:(Pi=No==null?void 0:No.params)==null?void 0:Pi.type}),xl.createElement(st.default,{open:Xs,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>Wo(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Ll.resetFields()},confirmLoading:Ol,onOk:()=>Ll.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},xl.createElement("div",{className:Ha.modal},xl.createElement("div",{className:Ha.mHead},"\u8282\u70B9\u5C5E\u6027"),xl.createElement(Se.default,{form:Ll,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Ui,className:Ha.form},xl.createElement(Se.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"}]},xl.createElement(tt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),xl.createElement(Se.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"}]},xl.createElement(tt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),xl.createElement(Se.default.Item,{className:Ha.mType,label:xl.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",xl.createElement(gn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},xl.createElement(pf.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},xl.createElement(Ve.Z,{subjectId:va==null?void 0:va.pathId,type:1}))))),xl.createElement("div",{className:Ha.content},(_i=Mi.find(aa=>aa.key===En))==null?void 0:_i.content))};var hh=(0,Oe.connect)(({pathsDetail:Be,user:Ce,loading:be,globalSetting:Ft})=>({pathsDetail:Be,user:Ce,globalSetting:Ft,loading:be.models.index}))(T0),z0=ie(59301),D0=Object.getOwnPropertySymbols,ph=Object.prototype.hasOwnProperty,vh=Object.prototype.propertyIsEnumerable,U0=(Be,Ce)=>{var be={};for(var Ft in Be)ph.call(Be,Ft)&&Ce.indexOf(Ft)<0&&(be[Ft]=Be[Ft]);if(Be!=null&&D0)for(var Ft of D0(Be))Ce.indexOf(Ft)<0&&vh.call(Be,Ft)&&(be[Ft]=Be[Ft]);return be},H0=(Be,Ce,be)=>new Promise((Ft,Rn)=>{var zr=Jt=>{try{En(be.next(Jt))}catch(or){Rn(or)}},Hr=Jt=>{try{En(be.throw(Jt))}catch(or){Rn(or)}},En=Jt=>Jt.done?Ft(Jt.value):Promise.resolve(Jt.value).then(zr,Hr);En((be=be.apply(Be,Ce)).next())});function Y0(Be){const Ce=(Rn,zr)=>{if(Rn.localName===zr)return Rn;for(let Hr=0,En=Rn;En=En.parentNode;Hr++){if(En.localName===zr)return En;if(En==document.documentElement)return!1}},be=Be.target,Ft=Ce(be,"a");if(console.log([Ft],Ft==null?void 0:Ft.href,44),!(Ft!=null&&Ft.href)&&be.tagName.toUpperCase()==="IMG"){let Rn=be.src||be.getAttribute("src");Rn&&(Rn==null?void 0:Rn.indexOf("/images/avatars/User"))===-1&&(Be.stopPropagation(),Be.preventDefault(),ea.Z.publish("preview-image",Rn))}}const J0=Be=>{var Ce=Be,{pathsDetail:be,globalSetting:Ft,loading:Rn,dispatch:zr}=Ce,Hr=U0(Ce,["pathsDetail","globalSetting","loading","dispatch"]);const[En]=(0,Oe.useSearchParams)(),Jt=(0,Oe.useParams)(),or=(0,ee.useRef)(),[Rr,ca]=(0,ee.useState)((En==null?void 0:En.get("type"))!=="classrooms"?3:1);(0,ee.useEffect)(()=>{En.get("tabs")&&ca(parseInt(En.get("tabs"))||3)},[En.get("tabs")]),(0,ee.useEffect)(()=>{if(or.current)return or.current.addEventListener("mousedown",Y0),()=>{var ga;(ga=or.current)==null||ga.removeEventListener("mousedown",Y0)}},[or.current]),(0,ee.useEffect)(()=>{Jt.pathId&&qi()},[Jt.pathId]),(0,ee.useEffect)(()=>(zr({type:"globalSetting/footerToggle",payload:!1}),()=>{zr({type:"globalSetting/footerToggle",payload:!0})}),[]);const qi=()=>H0(void 0,null,function*(){const ga=yield zr({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:En.get("type")==="classrooms"?"course":"subject",graphable_id:Jt.pathId}});En.get("type")!="classrooms"&&(ga!=null&&ga.id)&&En.get("token")&&(location.href=location.pathname)});return z0.createElement(ut.Z,{spinning:!1},z0.createElement("section",{id:"knowledgegraphDetail",className:vo.bg,style:{background:En.get("type")!=="classrooms"?"#010A23":""}},z0.createElement(ii,null),z0.createElement(hh,{activied:Rr,setactivied:ca})))};var j0=(0,Oe.connect)(({pathsDetail:Be,loading:Ce,globalSetting:be})=>({pathsDetail:Be,globalSetting:be,loading:Ce}))(J0)},10249:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Ut}});var ee=ie(59301),Oe={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"},st=ie(8591),yt=ie(43418),Qe=ie(71418),Je=ie(92832),ye=ie(92310),Se=ie.n(ye),He=ie(58661),pt=ie(5805),tt=ie(59301),ut=Object.defineProperty,ht=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,qe=(At,Mt,je)=>Mt in At?ut(At,Mt,{enumerable:!0,configurable:!0,writable:!0,value:je}):At[Mt]=je,St=(At,Mt)=>{for(var je in Mt||(Mt={}))ot.call(Mt,je)&&qe(At,je,Mt[je]);if(ht)for(var je of ht(Mt))Fe.call(Mt,je)&&qe(At,je,Mt[je]);return At},jt=(At,Mt,je)=>new Promise((gn,Nn)=>{var rn=We=>{try{_t(je.next(We))}catch(Rt){Nn(Rt)}},Et=We=>{try{_t(je.throw(We))}catch(Rt){Nn(Rt)}},_t=We=>We.done?gn(We.value):Promise.resolve(We.value).then(rn,Et);_t((je=je.apply(At,Mt)).next())}),Ut=({value:At=[],onChange:Mt,type:je,subjectId:gn})=>{const[Nn,rn]=(0,ee.useState)(!1),[Et,_t]=(0,ee.useState)([]),[We,Rt]=(0,ee.useState)([]),[lt,dn]=(0,ee.useState)([]),[ln,tn]=(0,ee.useState)(""),[lr,Dr]=(0,ee.useState)(""),[ft,Le]=(0,ee.useState)(!1),[Gt,Cr]=(0,ee.useState)(!1),ur=[{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"}],It=je===1?"\u7C7B\u578B":"\u6807\u7B7E",Nt=je===1?"0":"4";(0,ee.useEffect)(()=>{Nn&&(dn(At),hr())},[Nn]);const hr=()=>jt(void 0,null,function*(){Cr(!0);const Pn=yield(0,He.ZP)("/api/knowledge_items.json",{method:"get",params:{subject_id:gn,item_type:Nt}});(Pn==null?void 0:Pn.status)===0&&(_t(Pn==null?void 0:Pn.data),Rt((Pn==null?void 0:Pn.data)||[])),Cr(!1)}),ir=Pn=>jt(void 0,null,function*(){var Ln;Cr(!0);const Te=(Ln=We==null?void 0:We.find(he=>he.name===Pn))==null?void 0:Ln.id,ve=yield(0,He.ZP)(`/api/knowledge_items/${Te}.json`,{method:"delete",body:{subject_id:gn}});if((ve==null?void 0:ve.status)===0){hr(),st.ZP.success("\u5220\u9664\u6210\u529F");return}Cr(!1)}),sn=({title:Pn="",style:Ln={},showDelete:Te=!0,modal:ve=!1,active:he=!1,showdeletes:we=!1})=>{const fe=(mt=>mt.split("").reduce((xt,On)=>xt+On.charCodeAt(0),0))(Pn)%ur.length,{background:wt,borderColor:en}=ur[fe];return tt.createElement("div",{className:Se()(Oe.tag,he?Oe.active:""),onClick:()=>{ve&&(Nn===1&&dn([Pn]),Nn===2&&(lt.includes(Pn)?dn(lt.filter(mt=>mt!==Pn)):dn([...lt,Pn])))},style:St({background:wt,borderColor:en},Ln)},tt.createElement("span",null,Pn),Te&&tt.createElement("i",{style:{display:!we&&"none"},onClick:mt=>{mt.stopPropagation(),ve?ir(Pn):Mt(At.filter(xt=>xt!==Pn))},className:"iconfont icon-shanchu5"}))},An=()=>{Mt([...lt]),rn(!1)},Cn=()=>jt(void 0,null,function*(){if(!ln.replace(/\s+/g,"")){Dr(`${It}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(Et.includes(ln)){Dr(`\u8BE5${It}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}Cr(!0);const Pn=yield(0,He.ZP)("/api/knowledge_items.json",{method:"post",body:{subject_id:gn,item_type:Nt,name:ln}});if((Pn==null?void 0:Pn.status)===0){yield hr(),Le(!1),st.ZP.success("\u6DFB\u52A0\u6210\u529F");return}Cr(!1)});return tt.createElement("div",{className:Oe.tagsModal},je===1&&tt.createElement(tt.Fragment,null,At==null?void 0:At.map((Pn,Ln)=>tt.createElement(sn,{key:Ln,title:Pn,showDelete:!1,style:{marginRight:"20rem"}})),tt.createElement("div",{onClick:()=>rn(1),style:{marginBottom:"20rem"},className:Oe.btn},tt.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),At!=null&&At.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),je===2&&tt.createElement(tt.Fragment,null,At==null?void 0:At.map((Pn,Ln)=>tt.createElement(sn,{key:Ln,title:Pn})),tt.createElement("div",{onClick:()=>rn(2),className:Oe.btn,style:{marginBottom:"10rem"}},tt.createElement("i",{className:"iconfont icon-tianjiatixing"}),At!=null&&At.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),tt.createElement(yt.default,{open:!!Nn,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>rn(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Le(!1),Dr(""),tn("")},onOk:An,title:`\u9009\u62E9${It}`},tt.createElement("div",{className:Oe.modal},tt.createElement(Qe.Z,{spinning:Gt},tt.createElement("div",{className:Oe.mHead},tt.createElement("b",null),tt.createElement("span",null,`\u8282\u70B9${It}`,"\uFF08",Et.length,"\uFF09"),tt.createElement("div",{onClick:()=>{ft||(Le(!0),Dr(""),tn(""))},className:Oe.btn},tt.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),tt.createElement("div",{className:Oe.body},!(Et!=null&&Et.length)&&!ft&&tt.createElement(pt.Z,{style:{height:"230rem"}}),Et==null?void 0:Et.map((Pn,Ln)=>tt.createElement(sn,{showDelete:!(lt!=null&<.includes(Pn.name)),showdeletes:!!Pn.id,modal:!0,style:{cursor:"pointer",verticalAlign:"center",marginTop:"10rem",marginBottom:"10rem"},active:lt.includes(Pn.name),key:Ln,title:Pn.name})),ft&&tt.createElement("div",{className:Oe.add},tt.createElement(Je.default,{style:{width:"rem"},size:"large",value:ln,onChange:Pn=>{Dr(""),tn(Pn.target.value)}}),tt.createElement("i",{onClick:Cn,className:"iconfont icon-dui",style:{color:"#1B8565"}}),tt.createElement("i",{onClick:()=>Le(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!lr&&tt.createElement("div",{className:Oe.error},lr)))))))}},48475:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=Object.defineProperty,st=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Je=(pt,tt,ut)=>tt in pt?Oe(pt,tt,{enumerable:!0,configurable:!0,writable:!0,value:ut}):pt[tt]=ut,ye=(pt,tt)=>{for(var ut in tt||(tt={}))yt.call(tt,ut)&&Je(pt,ut,tt[ut]);if(st)for(var ut of st(tt))Qe.call(tt,ut)&&Je(pt,ut,tt[ut]);return pt};const Se=()=>`shadow-${Math.random().toString(36).slice(2,9)}`,He=({percentage:pt,startAngle:tt=270,strokeColor:ut="#42BECD",trackColor:ht="#e6e6e6",innerBackgroundColor:ot="#fff",text:Fe="",textColor:qe="#000",textSize:St="1rem",textPadding:jt="28rem",outerDiameter:Lt,innerDiameter:Ut,maxTextLength:At=6,onClick:Mt,hoverEffect:je=!0,style:gn})=>{const[Nn,rn]=(0,ee.useState)(0),[Et,_t]=(0,ee.useState)(0),[We,Rt]=(0,ee.useState)(!1),lt=ir=>{var sn,An;const Cn=parseFloat(ir),Pn=parseFloat((An=(sn=document.documentElement)==null?void 0:sn.style)==null?void 0:An.fontSize);return Cn*Pn},dn=()=>{rn(lt(Lt)),_t(lt(Ut))};(0,ee.useEffect)(()=>(dn(),window.addEventListener("resize",dn),()=>window.removeEventListener("resize",dn)),[Lt,Ut]);const ln=Nn/2,tn=Et/2,lr=(Nn-Et)/2,Dr=ln-lr,ft=2*Math.PI*Dr,Le=ft-pt/100*ft,Gt=`rotate(${tt} ${ln} ${ln})`,ur=((ir,sn)=>sn&&ir.length>sn?ir.slice(0,sn-1)+"...":ir)(Fe,At),It=()=>{je&&Rt(!0)},Nt=()=>{Rt(!1)},hr=lt("4rem");return ee.createElement("svg",{width:Nn,height:Nn,viewBox:`0 0 ${Nn} ${Nn}`,xmlns:"http://www.w3.org/2000/svg",onClick:Mt,onMouseEnter:It,onMouseLeave:Nt,style:ye({cursor:Mt?"pointer":"default"},gn)},ee.createElement("circle",{cx:ln,cy:ln,r:tn,fill:ot}),ee.createElement("circle",{cx:ln,cy:ln,r:Dr,fill:"none",stroke:ht,strokeWidth:lr}),ee.createElement("circle",{cx:ln,cy:ln,r:Dr,fill:"none",stroke:ut,strokeWidth:lr,strokeDasharray:ft,strokeDashoffset:Le,strokeLinecap:"round",transform:Gt}),We&&ee.createElement("circle",{cx:ln,cy:ln,r:Dr+lr/2,fill:"none",stroke:"#FA6400",strokeWidth:lt("4rem")}),Fe&&ee.createElement("foreignObject",{x:ln-tn,y:ln-tn,width:Et,height:Et},ee.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:jt}},ee.createElement("b",{style:{color:qe,fontSize:St,textAlign:"center"},title:Fe},ur))))};Wn.Z=He},94811:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=ie(76411),st=ie.n(Oe),yt=ie(48961),Qe=ie.n(yt),Je=ie(59301),ye=Object.defineProperty,Se=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,tt=(ot,Fe,qe)=>Fe in ot?ye(ot,Fe,{enumerable:!0,configurable:!0,writable:!0,value:qe}):ot[Fe]=qe,ut=(ot,Fe)=>{for(var qe in Fe||(Fe={}))He.call(Fe,qe)&&tt(ot,qe,Fe[qe]);if(Se)for(var qe of Se(Fe))pt.call(Fe,qe)&&tt(ot,qe,Fe[qe]);return ot};const ht=({dataSource:ot,height:Fe,labelTextColor:qe,legend:St={}})=>{console.log("dataSource:",ot);const jt=(0,ee.useRef)(null),Lt=(0,ee.useRef)(null),[Ut,At]=(0,ee.useState)({}),[Mt,je]=(0,ee.useState)(""),[gn,Nn]=(0,ee.useState)(""),rn=ot||[{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,ee.useEffect)(()=>(_t(),window.addEventListener("resize",Et),()=>{window.removeEventListener("resize",Et)}),[]),(0,ee.useEffect)(()=>{ot!=null&&ot.length&&Et()},[ot]);const Et=()=>{var tn,lr;const Dr=We(rn,.8);(tn=Lt.current)==null||tn.setOption(Dr),(lr=Lt.current)==null||lr.resize()},_t=()=>{const tn=jt.current;Lt.current=Oe.init(tn);const lr=We(rn,.8);At(lr),Lt.current.setOption(lr),Lt.current.getZr().off("mousewheel"),lr.series.push({name:"\u638C\u63E1\u7387",type:"pie",labelLine:{length:10,length2:10},startAngle:-20,clockwise:!1,radius:["20%","50%"],center:["50%","50%"],data:rn,itemStyle:{opacity:0}}),Lt.current.setOption(lr),ln(Lt.current)},We=(tn,lr)=>{let Dr,ft=[],Le=0,Gt=0,Cr=0,ur=[],It=[],Nt=1-lr;tn.sort((ir,sn)=>sn.value-ir.value);for(let ir=0;irCn.name===ir)[0],An=dn(sn.value*100,2)+"%";return`${sn.name} ${An}`}},St),labelLine:{show:!0,lineStyle:{color:"#7BC0CB"}},label:{show:!0,position:"outside",rich:{b:{color:qe||"#FFF",fontSize:12,lineHeight:20},c:{fontSize:16,lineHeight:24,color:qe||"#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:hr,viewControl:{alpha:40,distance:300,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1}},series:ft}},Rt=(tn,lr)=>(tn.sort((Dr,ft)=>ft.pieData.value-Dr.pieData.value),lr*25/tn[0].pieData.value),lt=(tn,lr,Dr,ft,Le,Gt)=>{let Cr=(tn+lr)/2,ur=tn*Math.PI*2,It=lr*Math.PI*2,Nt=Cr*Math.PI*2;tn===0&&lr===1&&(Dr=!1),Le=typeof Le!="undefined"?Le:1/3;let hr=Dr?Math.cos(Nt)*.1:0,ir=Dr?Math.sin(Nt)*.1:0,sn=ft?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(An,Cn){return AnIt?hr+Math.cos(It)*(1+Math.cos(Cn)*Le)*sn:hr+Math.cos(An)*(1+Math.cos(Cn)*Le)*sn},y:function(An,Cn){return AnIt?ir+Math.sin(It)*(1+Math.cos(Cn)*Le)*sn:ir+Math.sin(An)*(1+Math.cos(Cn)*Le)*sn},z:function(An,Cn){return An<-Math.PI*.5?Math.sin(An):An>Math.PI*2.5?Math.sin(An)*Gt*.1:Math.sin(Cn)>0?1*Gt*.1:-1}}},dn=(tn,lr)=>{let Dr=parseFloat(tn);if(isNaN(Dr))return!1;Dr=Math.round(tn*Math.pow(10,lr))/Math.pow(10,lr);let ft=Dr.toString();(ft==null?void 0:ft.indexOf("."))<0&&(ft+=".");for(let Gt=ft.length-(ft==null?void 0:ft.indexOf("."));Gt<=lr;Gt++)ft+="0";return ft},ln=()=>{Lt.current.on("click",function(tn){if(tn.seriesName==="pie2d"){je(tn.dataIndex);let lr=Lt.current.getWidth()/2,Dr=Lt.current.getHeight()/2;Lt.current.dispatchAction({type:"pieSelect",seriesIndex:0,dataIndex:tn.dataIndex})}}),Lt.current.on("mousemove",function(tn){}),Lt.current.on("mouseout",function(){Lt.current.dispatchAction({type:"pieUnSelect",seriesIndex:0,dataIndex:gn}),Nn("")})};return Je.createElement("div",{ref:jt,style:{width:"100%",height:Fe||"500rem"}})};Wn.Z=ht},68971:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ro}});var ee=ie(59301),Oe=ie(44225),st=ie(78241),yt=ie(8591),Qe=ie(54580),Je=ie(43428),ye=ie(3113),Se=ie(43418),He=ie(92832),pt=ie(6848),tt=ie(57809),ut=ie(99313),ht=ie(5112),ot=ie(17574),Fe={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"},qe=ie(99267),St=ie(43531),jt=ie(15075),Lt={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"},Ut=ie(92310),At=ie.n(Ut),Mt=ie(58661),je=ie(59301),gn=Object.defineProperty,Nn=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,_t=(Yt,mr,Hn)=>mr in Yt?gn(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,We=(Yt,mr)=>{for(var Hn in mr||(mr={}))rn.call(mr,Hn)&&_t(Yt,Hn,mr[Hn]);if(Nn)for(var Hn of Nn(mr))Et.call(mr,Hn)&&_t(Yt,Hn,mr[Hn]);return Yt},Rt=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});let lt=[{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},{name:"\u8BD5\u9898",id:"st",item_type:2}],dn=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];var tn=({value:Yt=[],onChange:mr,type:Hn,dataSources:hi=[],pathsDetail:ao={},showmodal:Kn,containerRef:Cl})=>{const na=(0,Oe.useParams)(),[Di,go]=(0,ee.useState)(!1),[Yl,Zi]=(0,ee.useState)([]),[Va,ci]=(0,ee.useState)(),[rl,Ka]=(0,ee.useState)(""),[ul,ls]=(0,ee.useState)(""),[Uo,zl]=(0,ee.useState)(""),[il,Hl]=(0,ee.useState)(!1),[Ps,ps]=(0,ee.useState)(!1),[wo,La]=(0,ee.useState)([]),[Ca,ql]=(0,ee.useState)("");(0,ee.useEffect)(()=>{Di&&ru()},[Di]);function ru(){return Rt(this,null,function*(){let eo=yield(0,Mt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:Hn,subject_id:na==null?void 0:na.pathId}});(eo==null?void 0:eo.status)===0&&(Hn===3?Zi(eo==null?void 0:eo.data):(Zi([...dn,...eo==null?void 0:eo.data]),La([...lt,...eo==null?void 0:eo.data2])))})}const Mu=[{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"}],Fo="\u6807\u7B7E";(0,ee.useEffect)(()=>{Zi(hi)},[]),(0,ee.useEffect)(()=>{Di&&ci(Yt)},[Di]);const fs=({title:eo="",style:Bo={},values:As="",showDelete:Ku=!0,modal:Gr=!1,active:Ds=!1})=>{const wu=(Bl=>Bl.split("").reduce((io,Ro)=>io+Ro.charCodeAt(0),0))(eo)%Mu.length,{background:hu,borderColor:Wi}=Mu[wu];return je.createElement("div",{className:At()(Lt.tag,Ds?Lt.active:""),onClick:()=>{var Bl;if(Gr){if(Di===1){let io=[...Yl,...wo];ci([...io.filter(Ro=>(Ro==null?void 0:Ro.id)===As)])}Di===2&&((Bl=Va==null?void 0:Va.map(io=>io.id))!=null&&Bl.includes(As)?ci(Va.filter(io=>io.id!==As)):ci([...Va,...Yl.filter(io=>(io==null?void 0:io.id)===As)]))}},style:We({background:hu,borderColor:Wi},Bo)},je.createElement("span",null,eo),Ku&&je.createElement("i",{onClick:Bl=>Rt(void 0,null,function*(){var io;if(Bl.stopPropagation(),Gr){Zi(Yl.filter(hs=>hs.name!==eo)),Zi(Yl.filter(hs=>hs.name!==eo));let Ro=yield(0,Mt.ZP)(`/api/knowledge_items/${As}.json`,{method:"delete",body:{id:As,subject_id:(io=ao==null?void 0:ao.detail)==null?void 0:io.id}});(Ro==null?void 0:Ro.status)===0&&ru()}else mr(Yt.filter(Ro=>Ro.id!==As))}),className:"iconfont icon-shanchu5"}))},Kl=()=>{mr(Va),go(!1)},Fs=eo=>Rt(void 0,null,function*(){if(!rl.replace(/\s+/g,"")&&eo===1){zl(`${Fo}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(!ul.replace(/\s+/g,"")&&eo===2){ql("\u8D44\u6E90\u4E0D\u80FD\u4E3A\u7A7A");return}if((Yl.map(As=>As.name).includes(rl)||wo.map(As=>As.name).includes(rl))&&eo===1){zl(`\u8BE5${Fo}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}if((wo.map(As=>As.name).includes(ul)||Yl.map(As=>As.name).includes(ul))&&eo===2){ql("\u8BE5\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01");return}let Bo=yield(0,Mt.ZP)("/api/knowledge_items.json",{method:"post",body:{item_type:Hn===3?3:eo,name:Hn===3||eo===1?rl:ul,subject_id:na==null?void 0:na.pathId}});(Bo==null?void 0:Bo.status)===0&&ru(),eo===1&&Hl(!1),eo===2&&ps(!1)});return je.createElement("div",{className:Lt.tagsModal},Hn===5&&je.createElement(je.Fragment,null,Yt==null?void 0:Yt.map((eo,Bo)=>je.createElement(fs,{values:eo.id,key:Bo,title:eo.name,showDelete:!1,style:{marginRight:"20rem",marginBottom:0}})),Kn&&je.createElement("div",{onClick:()=>go(1),style:{marginBottom:"0rem"},className:Lt.btn},je.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),Yt!=null&&Yt.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),Hn===3&&je.createElement(je.Fragment,null,Yt==null?void 0:Yt.map((eo,Bo)=>je.createElement(fs,{values:eo.id,key:Bo,title:eo.name})),Kn&&je.createElement("div",{onClick:()=>go(2),className:Lt.btn,style:{marginBottom:"10rem"}},je.createElement("i",{className:"iconfont icon-tianjiatixing"}),Yt!=null&&Yt.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),je.createElement(Se.default,{open:!!Di,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",getContainer:()=>Cl.current,onCancel:()=>go(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Hl(!1),ps(!1),zl(""),Ka("")},onOk:Kl,title:`\u9009\u62E9${Fo}`},je.createElement("div",{className:Lt.modal},je.createElement("div",{className:Lt.mHead},je.createElement("b",null),je.createElement("span",null,`${Fo}`,"\uFF08",Yl.length,"\uFF09"),je.createElement("div",{onClick:()=>{Hl(!0),zl(""),Ka("")},className:Lt.btn},je.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),je.createElement("div",{className:Lt.body},Yl==null?void 0:Yl.map((eo,Bo)=>{var As,Ku,Gr;return je.createElement(fs,{showDelete:Hn===3?!((As=Va==null?void 0:Va.map(Ds=>Ds==null?void 0:Ds.id))!=null&&As.includes(eo==null?void 0:eo.id)):!((Ku=Va==null?void 0:Va.map(Ds=>Ds==null?void 0:Ds.id))!=null&&Ku.includes(eo==null?void 0:eo.id))&&!((Gr=dn.map(Ds=>Ds.name))!=null&&Gr.includes(eo.name)),modal:!0,style:{cursor:"pointer"},active:Va==null?void 0:Va.map(Ds=>Ds==null?void 0:Ds.id).includes(eo==null?void 0:eo.id),key:eo==null?void 0:eo.id,values:eo==null?void 0:eo.id,title:eo==null?void 0:eo.name})}),il&&je.createElement("div",{className:Lt.add},je.createElement(He.default,{style:{width:"rem"},size:"large",value:rl,onChange:eo=>{zl(""),Ka(eo.target.value)}}),je.createElement("i",{onClick:()=>Fs(1),className:"iconfont icon-dui",style:{color:"#1B8565"}}),je.createElement("i",{onClick:()=>Hl(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Uo&&je.createElement("div",{className:Lt.error},Uo)))),Hn===5&&je.createElement("div",{className:Lt.modal},je.createElement("div",{className:Lt.mHead},je.createElement("b",null),je.createElement("span",null,"\u8D44\u6E90","\uFF08",wo.length,"\uFF09"),je.createElement("div",{onClick:()=>{ps(!0),ql(""),ls("")},className:Lt.btn},je.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),je.createElement("div",{className:Lt.body},wo==null?void 0:wo.map((eo,Bo)=>{var As,Ku;return je.createElement(fs,{showDelete:!((As=Va==null?void 0:Va.map(Gr=>Gr==null?void 0:Gr.id))!=null&&As.includes(eo==null?void 0:eo.id))&&!((Ku=lt.map(Gr=>Gr.name))!=null&&Ku.includes(eo.name)),modal:!0,style:{cursor:"pointer"},active:Va==null?void 0:Va.map(Gr=>Gr==null?void 0:Gr.id).includes(eo==null?void 0:eo.id),key:eo==null?void 0:eo.id,values:eo==null?void 0:eo.id,title:eo==null?void 0:eo.name})}),Ps&&je.createElement("div",{className:Lt.add},je.createElement(He.default,{style:{width:"rem"},size:"large",value:ul,onChange:eo=>{ql(""),ls(eo.target.value)}}),je.createElement("i",{onClick:()=>Fs(2),className:"iconfont icon-dui",style:{color:"#1B8565"}}),je.createElement("i",{onClick:()=>ps(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Ca&&je.createElement("div",{className:Lt.error},Ca))))))},lr=ie(42684),Dr=ie(1710),ft=ie(58421),Le=ie(83274),Gt=ie(59301),Cr=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,Nt=(Yt,mr)=>{var Hn={};for(var hi in Yt)ur.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&Cr)for(var hi of Cr(Yt))mr.indexOf(hi)<0&&It.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},hr=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});let ir=[{label:"\u5B9E\u8BAD",key:"1"},{label:"\u89C6\u9891",key:"2"},{label:"\u8BFE\u4EF6",key:"3"},{label:"\u8BD5\u5377",key:"4"}];const sn=Yt=>{var mr=Yt,{types:Hn,globalSetting:hi,loading:ao,dispatch:Kn,pathsDetail:Cl,onChange:na,ktzykey:Di,getother:go}=mr,Yl=Nt(mr,["types","globalSetting","loading","dispatch","pathsDetail","onChange","ktzykey","getother"]),Zi,Va,ci,rl;let[Ka,ul]=(0,ee.useState)({page:1,limit:10,type:Hn,keyword:"",select_type:1,subject_id:"",course_id:""});const[ls,Uo]=(0,ee.useState)([]);(0,ee.useEffect)(()=>{zl()},[Hn]);function zl(){return hr(this,null,function*(){Ka.select_type===3&&(Ka.subject_id="",Ka.course_id=""),Ka.select_type===2&&(Ka.subject_id=""),Ka.select_type===1&&(Ka.course_id="");let il=yield(0,Mt.ZP)("/api/paths/search_all.json",{method:"get",params:Ka});(il==null?void 0:il.status)===0&&Uo(il)})}return Gt.createElement("div",{style:{padding:"10rem 20rem"}},Gt.createElement("div",{style:{display:"flex"}},Gt.createElement("div",null,Hn==="1"&&Gt.createElement(He.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u67E5\u8BE2",style:{width:"992rem",marginRight:"10rem",height:"40rem"},onChange:il=>{Ka.keyword=il.target.value,Ka.page=1,Ka.limit=10,ul(Ka)}}),Hn!=="1"&&Gt.createElement("div",{style:{display:"flex"}},Gt.createElement("div",{style:{width:"223rem",alignItems:"center",display:"flex",height:"40rem"}},Gt.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"),Gt.createElement(tt.default,{value:Ka.select_type,onChange:il=>{Ka.select_type=il,Ka.page=1,Ka.limit=10,ul(Ka),zl()},className:Fe.select,style:{width:"131rem",height:"40rem"}},Gt.createElement(tt.default.Option,{value:1},"\u5B9E\u8DF5\u8BFE\u7A0B"),Gt.createElement(tt.default.Option,{value:2},"\u6559\u5B66\u8BFE\u5802"),Gt.createElement(tt.default.Option,{value:3},"\u4E2A\u4EBA\u4E2D\u5FC3"))),Ka.select_type!==3&&Gt.createElement(tt.default,{value:Ka.subject_id||Ka.course_id,onChange:il=>{Ka.course_id=il,Ka.subject_id=il,Ka.page=1,Ka.limit=10,ul(Ka),zl()},className:Fe.select,style:{width:"270rem",marginLeft:"8rem"}},Ka.select_type===1&&((Zi=ls==null?void 0:ls.subjects)==null?void 0:Zi.map(il=>Gt.createElement(tt.default.Option,{value:il.id},il.name))),Ka.select_type===2&&((Va=ls==null?void 0:ls.courses)==null?void 0:Va.map(il=>Gt.createElement(tt.default.Option,{value:il.id},il.name)))),Gt.createElement(He.default,{onChange:il=>{Ka.keyword=il.target.value,Ka.page=1,Ka.limit=10,ul(Ka)},addonBefore:((ci=ir==null?void 0:ir.find(il=>il.key===Hn))==null?void 0:ci.label)+"\u540D\u79F0",className:Fe.input,style:{marginLeft:"10rem",width:"486rem",height:"40rem"}}))),Gt.createElement(ye.ZP,{type:"primary",style:{height:"40rem",fontSize:"14rem",boxShadow:"none",lineHeight:"40rem",width:"108rem",padding:"0",marginLeft:"10rem"},onClick:()=>{zl()}},"\u67E5\u8BE2")),Gt.createElement(Dr.default,{style:{marginTop:"10rem"},dataSource:ls==null?void 0:ls.data,pagination:!1,rowKey:il=>il.id,scroll:{y:"400rem"},columns:[{title:((rl=ir==null?void 0:ir.find(il=>il.key===Hn))==null?void 0:rl.label)+"\u540D\u79F0",dataIndex:"name",ellipsis:!0,key:"name"},{title:Hn==="1"?"\u5408\u4F5C\u8005":"\u6240\u5C5E\u6A21\u5757",dataIndex:"name",key:"name",ellipsis:!0,render:(il,Hl)=>Gt.createElement("span",null,Hn==="1"?Hl==null?void 0:Hl.user_names:Hl==null?void 0:Hl.model)},{title:Hn==="1"?"\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4":"\u6240\u5728\u4F4D\u7F6E",dataIndex:"updated_at",ellipsis:!0,render:(il,Hl)=>Gt.createElement("span",null,Hn==="1"?Hl==null?void 0:Hl.updated_at:Hl==null?void 0:Hl.stage_name)},{title:"\u64CD\u4F5C",dataIndex:"url",width:"100rem",render:(il,Hl)=>Gt.createElement("a",{onClick:()=>{(Hl==null?void 0:Hl.container_type)==="Video"?Se.default.confirm({icon:null,title:"\u89C6\u9891\u64AD\u653E",centered:!0,closable:!0,footer:!1,width:600,content:Gt.createElement(Le.Z,{allow_skip:!0,src:il})}):Hn==="3"?go(il):window.open(il)}},"\u67E5\u770B")}],rowSelection:{type:"radio",onChange(il,Hl){na(Hl)}}}),Gt.createElement(ft.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},total:ls==null?void 0:ls.total_count,current:Ka==null?void 0:Ka.page,pageSize:Ka==null?void 0:Ka.limit,onChange:(il,Hl)=>{Ka.page=il,Ka.limit=Hl,ul(Ka),zl()}}))};var An=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(sn),Cn=ie(71418),Pn=ie(84105),Ln=ie(85333),Te=ie(59301),ve=Object.defineProperty,he=Object.defineProperties,we=Object.getOwnPropertyDescriptors,Re=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,en=(Yt,mr,Hn)=>mr in Yt?ve(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,mt=(Yt,mr)=>{for(var Hn in mr||(mr={}))fe.call(mr,Hn)&&en(Yt,Hn,mr[Hn]);if(Re)for(var Hn of Re(mr))wt.call(mr,Hn)&&en(Yt,Hn,mr[Hn]);return Yt},xt=(Yt,mr)=>he(Yt,we(mr)),On=(Yt,mr)=>{var Hn={};for(var hi in Yt)fe.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&Re)for(var hi of Re(Yt))mr.indexOf(hi)<0&&wt.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},yn=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const Qt=Yt=>{var mr=Yt,{typesdata:Hn,globalSetting:hi,loading:ao,dispatch:Kn,pathsDetail:Cl,onChange:na,uuid:Di,itemsuuid:go}=mr,Yl=On(mr,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid"]),Zi,Va,ci,rl,Ka,ul,ls,Uo,zl,il,Hl,Ps;const ps=(0,Oe.useParams)();let[wo,La]=(0,ee.useState)([]),[Ca,ql]=(0,ee.useState)(!1);const[ru,Mu]=(0,ee.useState)([]),[Fo,fs]=(0,ee.useState)(""),[Kl,Fs]=(0,ee.useState)(""),[eo,Bo]=(0,ee.useState)([]),[As,Ku]=(0,ee.useState)(!1);let[Gr,Ds]=(0,ee.useState)({bh:[],qx:[],hx:[],gl:[]});(0,ee.useEffect)(()=>{Ql()},[Di]),(0,ee.useEffect)(()=>{if(Hn){let Wi=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));Ds(Wi)}return()=>{}},[Hn]);function Ql(){return yn(this,null,function*(){var Wi,Bl,io,Ro,hs;ql(!0);let xs=yield(0,Mt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Di,subject_id:ps==null?void 0:ps.pathId,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(ql(!1),(xs==null?void 0:xs.status)===0){Mu(xs==null?void 0:xs.data);const jl=[...(0,Ln.fX)((Bl=(Wi=xs==null?void 0:xs.data)==null?void 0:Wi.nodes)==null?void 0:Bl.map((ts,Ss)=>{var ks,vs;return xt(mt({},ts),{key:(ks=ts==null?void 0:ts.properties)==null?void 0:ks.uuid,title:(vs=ts==null?void 0:ts.properties)==null?void 0:vs.name})}),(hs=(Ro=(io=xs==null?void 0:xs.data)==null?void 0:io.relationships)==null?void 0:Ro.filter(ts=>ts.type==="\u5305\u542B"||ts.type==="\u524D\u5E8F"))==null?void 0:hs.filter((ts,Ss,ks)=>Ss===ks.findIndex(vs=>vs.endNodeUuid===ts.endNodeUuid))).children||[]];wo=jl,Fs(JSON.stringify(jl)),La(jl)}})}(0,ee.useEffect)(()=>{na(Gr)},[Gr]);function wu(Wi,Bl,io){for(let Ro of Wi)Ro!=null&&Ro.title.includes(Bl)&&io.push(Ro),Ro.children&&Ro.children.length>0&&(wu(Ro.children,Bl,io),hu(Ro.children,Bl,io)&&io.push(Ro))}function hu(Wi,Bl,io){for(let Ro of Wi)if(Ro!=null&&Ro.title.includes(Bl))return!0}return Te.createElement(Cn.Z,{spinning:Ca},Te.createElement("div",{className:Fe.body},Te.createElement("div",{className:Fe.left},Te.createElement("div",{className:Fe.header},Te.createElement("div",null,"\u5171",Te.createElement("span",{style:{color:"#1B8565"}},((Va=(Zi=ru==null?void 0:ru.metricCounters)==null?void 0:Zi[0])==null?void 0:Va.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",Te.createElement("span",{style:{color:"#1B8565"}},((rl=(ci=ru==null?void 0:ru.metricCounters)==null?void 0:ci[1])==null?void 0:rl.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),Te.createElement(He.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Wi=>{var Bl,io,Ro,hs;const{value:xs}=Wi.target;fs(xs);let vl=[];wu(JSON.parse(Kl),xs,vl),vl.push((Bl=ru==null?void 0:ru.nodes)==null?void 0:Bl[0]);const jl=(io=ru==null?void 0:ru.nodes)==null?void 0:io.filter(ks=>{var vs,Hu;return((Hu=(vs=ks==null?void 0:ks.properties)==null?void 0:vs.name)==null?void 0:Hu.indexOf(xs))>-1}).map(ks=>{var vs;return(vs=ks==null?void 0:ks.properties)==null?void 0:vs.uuid});Bo(jl);const Ss=[...(0,Ln.fX)(vl,(hs=(Ro=ru==null?void 0:ru.relationships)==null?void 0:Ro.filter(ks=>ks.type==="\u5305\u542B"||ks.type==="\u524D\u5E8F"))==null?void 0:hs.filter((ks,vs,Hu)=>vs===Hu.findIndex($u=>$u.endNodeUuid===ks.endNodeUuid)).filter(ks=>(vl==null?void 0:vl.map(vs=>vs==null?void 0:vs.key).includes(ks.endNodeUuid))||(vl==null?void 0:vl.map(vs=>vs==null?void 0:vs.key).includes(ks.startNodeUuid)))).children||[]];wo=Ss,La(Ss),Ku(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),Te.createElement(ot.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:wo,className:Fe.tree,expandedKeys:eo,onExpand:Wi=>{Bo(Wi),Ku(!1)},autoExpandParent:As,blockNode:!0,switcherIcon:Te.createElement(Pn.Z,null),titleRender:Wi=>{var Bl,io,Ro,hs,xs,vl,jl,ts,Ss,ks,vs,Hu,$u,Wu,ss;return Te.createElement("div",{className:Fe.treenode,key:(Bl=Wi==null?void 0:Wi.properties)==null?void 0:Bl.uuid},Te.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((io=Gr==null?void 0:Gr.bh)==null?void 0:io.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&Te.createElement("span",{className:Fe.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((Ro=Gr==null?void 0:Gr.qx)==null?void 0:Ro.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&Te.createElement("span",{className:Fe.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((hs=Gr==null?void 0:Gr.hx)==null?void 0:hs.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&Te.createElement("span",{className:Fe.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((xs=Gr==null?void 0:Gr.gl)==null?void 0:xs.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&Te.createElement("span",{className:Fe.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),Te.createElement("div",{className:Fe.multiple,title:Wi==null?void 0:Wi.title,dangerouslySetInnerHTML:{__html:(vl=Wi==null?void 0:Wi.title)==null?void 0:vl.replaceAll(Fo,`${Fo}`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),Te.createElement("div",{className:Fe.hudong},!((jl=Gr==null?void 0:Gr.qx)!=null&&jl.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)})||(ts=Gr==null?void 0:Gr.bh)!=null&&ts.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)})||(Ss=Gr==null?void 0:Gr.hx)!=null&&Ss.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)})||(ks=Gr==null?void 0:Gr.gl)!=null&&ks.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&go!==((vs=Wi==null?void 0:Wi.properties)==null?void 0:vs.uuid)&&Te.createElement("div",null,Te.createElement("span",{onClick:()=>{var to,Al,pu,kl;if(!(((Al=(to=Gr==null?void 0:Gr.bh)==null?void 0:to.filter(Gs=>{var ri;return(Gs==null?void 0:Gs.uuid)===((ri=Wi==null?void 0:Wi.properties)==null?void 0:ri.uuid)}))==null?void 0:Al.length)>0)){let Gs=[];Gs.push({name:(pu=Wi==null?void 0:Wi.properties)==null?void 0:pu.name,uuid:(kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid}),Ds({bh:[...Gs,...Gr==null?void 0:Gr.bh],qx:Gr==null?void 0:Gr.qx,hx:Gr==null?void 0:Gr.hx,gl:Gr==null?void 0:Gr.gl})}},className:Fe.colortitle,style:{marginRight:"20rem"}},"\u8BBE\u4E3A\u5305\u542B"),Te.createElement("span",{onClick:()=>{var to,Al,pu,kl;if(!(((Al=(to=Gr==null?void 0:Gr.qx)==null?void 0:to.filter(Gs=>{var ri;return(Gs==null?void 0:Gs.uuid)===((ri=Wi==null?void 0:Wi.properties)==null?void 0:ri.uuid)}))==null?void 0:Al.length)>0)){let Gs=[];Gs.push({name:(pu=Wi==null?void 0:Wi.properties)==null?void 0:pu.name,uuid:(kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid}),Ds({qx:[...Gs,...Gr==null?void 0:Gr.qx],hx:Gr==null?void 0:Gr.hx,bh:Gr==null?void 0:Gr.bh,gl:Gr==null?void 0:Gr.gl})}},className:Fe.colortitle},"\u8BBE\u4E3A\u524D\u7F6E"),Te.createElement("span",{onClick:()=>{var to,Al,pu,kl;if(!(((Al=(to=Gr==null?void 0:Gr.hx)==null?void 0:to.filter(Gs=>{var ri;return(Gs==null?void 0:Gs.uuid)===((ri=Wi==null?void 0:Wi.properties)==null?void 0:ri.uuid)}))==null?void 0:Al.length)>0)){let Gs=[];Gs.push({name:(pu=Wi==null?void 0:Wi.properties)==null?void 0:pu.name,uuid:(kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid}),Ds({qx:Gr==null?void 0:Gr.qx,hx:[...Gs,...Gr==null?void 0:Gr.hx],bh:Gr==null?void 0:Gr.bh,gl:Gr==null?void 0:Gr.gl})}},style:{margin:"0rem 20rem"},className:Fe.colortitle},"\u8BBE\u4E3A\u540E\u7F6E"),Te.createElement("span",{onClick:()=>{var to,Al,pu,kl;if(!(((Al=(to=Gr==null?void 0:Gr.gl)==null?void 0:to.filter(Gs=>{var ri;return(Gs==null?void 0:Gs.uuid)===((ri=Wi==null?void 0:Wi.properties)==null?void 0:ri.uuid)}))==null?void 0:Al.length)>0)){let Gs=[];Gs.push({name:(pu=Wi==null?void 0:Wi.properties)==null?void 0:pu.name,uuid:(kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid}),Ds({qx:Gr==null?void 0:Gr.qx,hx:Gr==null?void 0:Gr.hx,gl:[...Gs,...Gr==null?void 0:Gr.gl],bh:Gr==null?void 0:Gr.bh})}},className:Fe.colortitle},"\u8BBE\u4E3A\u5173\u8054")),Te.createElement("span",{onClick:()=>{var to;let Al=(to=Gr==null?void 0:Gr.bh)==null?void 0:to.filter(pu=>{var kl;return pu.uuid!==((kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid)});Ds({bh:Al,hx:Gr==null?void 0:Gr.hx,qx:Gr==null?void 0:Gr.qx,gl:Gr==null?void 0:Gr.gl})}},((Hu=Gr==null?void 0:Gr.bh)==null?void 0:Hu.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&"\u53D6\u6D88\u5305\u542B"),Te.createElement("span",{onClick:()=>{var to;let Al=(to=Gr==null?void 0:Gr.qx)==null?void 0:to.filter(pu=>{var kl;return pu.uuid!==((kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid)});Ds({qx:Al,hx:Gr==null?void 0:Gr.hx,bh:Gr==null?void 0:Gr.bh,gl:Gr==null?void 0:Gr.gl})}},(($u=Gr==null?void 0:Gr.qx)==null?void 0:$u.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&"\u53D6\u6D88\u524D\u7F6E"),Te.createElement("span",{onClick:()=>{var to;let Al=(to=Gr==null?void 0:Gr.hx)==null?void 0:to.filter(pu=>{var kl;return pu.uuid!==((kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid)});Ds({qx:Gr==null?void 0:Gr.qx,hx:Al,bh:Gr==null?void 0:Gr.bh,gl:Gr==null?void 0:Gr.gl})}},((Wu=Gr==null?void 0:Gr.hx)==null?void 0:Wu.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&"\u53D6\u6D88\u540E\u7F6E"),Te.createElement("span",{onClick:()=>{var to;let Al=(to=Gr==null?void 0:Gr.gl)==null?void 0:to.filter(pu=>{var kl;return pu.uuid!==((kl=Wi==null?void 0:Wi.properties)==null?void 0:kl.uuid)});Ds({qx:Gr==null?void 0:Gr.qx,hx:Gr==null?void 0:Gr.hx,bh:Gr==null?void 0:Gr.bh,gl:Al})}},((ss=Gr==null?void 0:Gr.gl)==null?void 0:ss.find(to=>{var Al;return(to==null?void 0:to.uuid)===((Al=Wi==null?void 0:Wi.properties)==null?void 0:Al.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),Te.createElement("div",{className:Fe.right},Te.createElement("div",{className:Fe.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),Te.createElement("div",{style:{padding:"20rem 25rem"}},Te.createElement("div",{className:Fe.gxtitle},Te.createElement("div",{className:Fe.Colortitle,style:{background:"#6236ff"}}),Te.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(Ka=Gr.bh)==null?void 0:Ka.length,"\uFF09")),Te.createElement("div",{className:Fe.gxbody},(ul=Gr==null?void 0:Gr.bh)==null?void 0:ul.map(Wi=>Te.createElement("div",{className:Fe.tag,style:{background:"#6236ff"}},Te.createElement("span",{style:{marginRight:"10rem"}},Wi==null?void 0:Wi.name)," ",Te.createElement(qe.Z,{onClick:()=>{var Bl;let io=(Bl=Gr==null?void 0:Gr.bh)==null?void 0:Bl.filter(Ro=>Ro.uuid!==Wi.uuid);Ds({bh:io,hx:Gr==null?void 0:Gr.hx,qx:Gr==null?void 0:Gr.qx,gl:Gr==null?void 0:Gr.gl})}})))),Te.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},Te.createElement("div",{className:Fe.Colortitle,style:{background:"#24A881"}}),Te.createElement("div",null,"\u524D\u5E8F\uFF08",(ls=Gr.qx)==null?void 0:ls.length,"\uFF09")),Te.createElement("div",{className:Fe.gxbody},(Uo=Gr==null?void 0:Gr.qx)==null?void 0:Uo.map(Wi=>Te.createElement("div",{className:Fe.tag,style:{background:"#24A881"}},Te.createElement("span",{style:{marginRight:"10rem"}},Wi==null?void 0:Wi.name)," ",Te.createElement(qe.Z,{onClick:()=>{var Bl;let io=(Bl=Gr==null?void 0:Gr.qx)==null?void 0:Bl.filter(Ro=>Ro.uuid!==Wi.uuid);Ds({qx:io,hx:Gr==null?void 0:Gr.hx,bh:Gr==null?void 0:Gr.bh,gl:Gr==null?void 0:Gr.gl})}})))),Te.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},Te.createElement("div",{className:Fe.Colortitle,style:{background:"#EC8657"}}),Te.createElement("div",null,"\u540E\u5E8F\uFF08",(zl=Gr.hx)==null?void 0:zl.length,"\uFF09")),Te.createElement("div",{className:Fe.gxbody},(il=Gr==null?void 0:Gr.hx)==null?void 0:il.map(Wi=>Te.createElement("div",{className:Fe.tag,style:{background:"#EC8657"}},Te.createElement("span",{style:{marginRight:"10rem"}},Wi==null?void 0:Wi.name)," ",Te.createElement(qe.Z,{onClick:()=>{var Bl;let io=(Bl=Gr==null?void 0:Gr.hx)==null?void 0:Bl.filter(Ro=>Ro.uuid!==Wi.uuid);Ds({qx:Gr==null?void 0:Gr.qx,bh:Gr==null?void 0:Gr.bh,hx:io,gl:Gr==null?void 0:Gr.gl})}})))),Te.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},Te.createElement("div",{className:Fe.Colortitle,style:{background:"#497DFF"}}),Te.createElement("div",null,"\u5173\u8054\uFF08",(Hl=Gr.gl)==null?void 0:Hl.length,"\uFF09")),Te.createElement("div",{className:Fe.gxbody},(Ps=Gr==null?void 0:Gr.gl)==null?void 0:Ps.map(Wi=>Te.createElement("div",{className:Fe.tag,style:{background:"#497DFF"}},Te.createElement("span",{style:{marginRight:"10rem"}},Wi==null?void 0:Wi.name)," ",Te.createElement(qe.Z,{onClick:()=>{var Bl;let io=(Bl=Gr==null?void 0:Gr.gl)==null?void 0:Bl.filter(Ro=>Ro.uuid!==Wi.uuid);Ds({qx:Gr==null?void 0:Gr.qx,bh:Gr==null?void 0:Gr.bh,hx:Gr==null?void 0:Gr.hx,gl:io})}}))))))))};var pr=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(Qt),Vr=ie(59301),vn=Object.defineProperty,dr=Object.defineProperties,ei=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertySymbols,Tt=Object.prototype.hasOwnProperty,qt=Object.prototype.propertyIsEnumerable,Un=(Yt,mr,Hn)=>mr in Yt?vn(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,nr=(Yt,mr)=>{for(var Hn in mr||(mr={}))Tt.call(mr,Hn)&&Un(Yt,Hn,mr[Hn]);if(Ht)for(var Hn of Ht(mr))qt.call(mr,Hn)&&Un(Yt,Hn,mr[Hn]);return Yt},Jr=(Yt,mr)=>dr(Yt,ei(mr)),Ii=(Yt,mr)=>{var Hn={};for(var hi in Yt)Tt.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&Ht)for(var hi of Ht(Yt))mr.indexOf(hi)<0&&qt.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},ii=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const ea=Yt=>{var mr=Yt,{typesdata:Hn,globalSetting:hi,loading:ao,dispatch:Kn,pathsDetail:Cl,onChange:na,uuid:Di,itemsuuid:go,pathname:Yl,pathId:Zi,uuname:Va}=mr,ci=Ii(mr,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid","pathname","pathId","uuname"]),rl,Ka,ul,ls,Uo,zl;const il=(0,Oe.useParams)();let[Hl,Ps]=(0,ee.useState)([]),[ps,wo]=(0,ee.useState)(!1);const[La,Ca]=(0,ee.useState)([]),[ql,ru]=(0,ee.useState)(""),[Mu,Fo]=(0,ee.useState)(""),[fs,Kl]=(0,ee.useState)([]),[Fs,eo]=(0,ee.useState)(!1);let[Bo,As]=(0,ee.useState)({bh:[],qx:[],hx:[],gl:[]});(0,ee.useEffect)(()=>{Ku()},[Di]),(0,ee.useEffect)(()=>{if(Hn){let Ql=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));As(Ql)}return()=>{}},[Hn]);function Ku(){return ii(this,null,function*(){var Ql,wu,hu,Wi,Bl;wo(!0);let io=yield(0,Mt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Di,subject_id:il==null?void 0:il.pathId,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(wo(!1),(io==null?void 0:io.status)===0){Ca(io==null?void 0:io.data);const hs=[...(0,Ln.fX)((wu=(Ql=io==null?void 0:io.data)==null?void 0:Ql.nodes)==null?void 0:wu.map((vl,jl)=>{var ts,Ss;return Jr(nr({},vl),{key:(ts=vl==null?void 0:vl.properties)==null?void 0:ts.uuid,title:(Ss=vl==null?void 0:vl.properties)==null?void 0:Ss.name})}),(Bl=(Wi=(hu=io==null?void 0:io.data)==null?void 0:hu.relationships)==null?void 0:Wi.filter(vl=>vl.type==="\u5305\u542B"||vl.type==="\u524D\u5E8F"))==null?void 0:Bl.filter((vl,jl,ts)=>jl===ts.findIndex(Ss=>Ss.endNodeUuid===vl.endNodeUuid))).children||[]];Hl=hs,Fo(JSON.stringify(hs)),Ps(hs);let xs=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));As(xs)}})}(0,ee.useEffect)(()=>{na(Bo)},[Bo]);function Gr(Ql,wu,hu){for(let Wi of Ql)Wi!=null&&Wi.title.includes(wu)&&hu.push(Wi),Wi.children&&Wi.children.length>0&&(Gr(Wi.children,wu,hu),Ds(Wi.children,wu,hu)&&hu.push(Wi))}function Ds(Ql,wu,hu){for(let Wi of Ql)if(Wi!=null&&Wi.title.includes(wu))return!0}return Vr.createElement(Cn.Z,{spinning:ps},Vr.createElement("div",{className:Fe.body},Vr.createElement("div",{className:Fe.left},Vr.createElement("div",{className:Fe.header},Vr.createElement("div",null,"\u5171",Vr.createElement("span",{style:{color:"#1B8565"}},((Ka=(rl=La==null?void 0:La.metricCounters)==null?void 0:rl[0])==null?void 0:Ka.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",Vr.createElement("span",{style:{color:"#1B8565"}},((ls=(ul=La==null?void 0:La.metricCounters)==null?void 0:ul[1])==null?void 0:ls.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),Vr.createElement(He.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Ql=>{var wu,hu,Wi,Bl;const{value:io}=Ql.target;ru(io);let Ro=[];Gr(JSON.parse(Mu),io,Ro),Ro.push((wu=La==null?void 0:La.nodes)==null?void 0:wu[0]);const hs=(hu=La==null?void 0:La.nodes)==null?void 0:hu.filter(jl=>{var ts,Ss;return((Ss=(ts=jl==null?void 0:jl.properties)==null?void 0:ts.name)==null?void 0:Ss.indexOf(io))>-1}).map(jl=>{var ts;return(ts=jl==null?void 0:jl.properties)==null?void 0:ts.uuid});Kl(hs);const vl=[...(0,Ln.fX)(Ro,(Bl=(Wi=La==null?void 0:La.relationships)==null?void 0:Wi.filter(jl=>jl.type==="\u5305\u542B"||jl.type==="\u524D\u5E8F"))==null?void 0:Bl.filter((jl,ts,Ss)=>ts===Ss.findIndex(ks=>ks.endNodeUuid===jl.endNodeUuid)).filter(jl=>(Ro==null?void 0:Ro.map(ts=>ts==null?void 0:ts.key).includes(jl.endNodeUuid))||(Ro==null?void 0:Ro.map(ts=>ts==null?void 0:ts.key).includes(jl.startNodeUuid)))).children||[]];Hl=vl,Ps(vl),eo(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),Vr.createElement(ot.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:Hl,className:Fe.tree,expandedKeys:fs,onExpand:Ql=>{Kl(Ql),eo(!1)},autoExpandParent:Fs,blockNode:!0,switcherIcon:Vr.createElement(Pn.Z,null),titleRender:Ql=>{var wu,hu,Wi,Bl,io,Ro,hs,xs;return Vr.createElement("div",{className:Fe.treenode,key:(wu=Ql==null?void 0:Ql.properties)==null?void 0:wu.uuid},Vr.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((hu=Bo==null?void 0:Bo.bh)==null?void 0:hu.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&Vr.createElement("span",{className:Fe.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((Wi=Bo==null?void 0:Bo.qx)==null?void 0:Wi.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&Vr.createElement("span",{className:Fe.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((Bl=Bo==null?void 0:Bo.hx)==null?void 0:Bl.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&Vr.createElement("span",{className:Fe.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((io=Bo==null?void 0:Bo.gl)==null?void 0:io.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&Vr.createElement("span",{className:Fe.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),Vr.createElement("div",{className:Fe.multiple,title:Ql==null?void 0:Ql.title,dangerouslySetInnerHTML:{__html:(Ro=Ql==null?void 0:Ql.title)==null?void 0:Ro.replaceAll(ql,`${ql}`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),Vr.createElement("div",{className:Fe.hudong},Vr.createElement("div",null,!((hs=Bo==null?void 0:Bo.gl)!=null&&hs.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&Vr.createElement("span",{onClick:()=>{var vl,jl,ts,Ss;if(!(((jl=(vl=Bo==null?void 0:Bo.gl)==null?void 0:vl.filter(ks=>{var vs;return(ks==null?void 0:ks.uuid)===((vs=Ql==null?void 0:Ql.properties)==null?void 0:vs.uuid)}))==null?void 0:jl.length)>0)){let ks=[];ks.push({name:(ts=Ql==null?void 0:Ql.properties)==null?void 0:ts.name,uuid:(Ss=Ql==null?void 0:Ql.properties)==null?void 0:Ss.uuid,pathId:Zi,pathname:Yl,uuname:Va,olduuid:Di}),As({qx:Bo==null?void 0:Bo.qx,hx:Bo==null?void 0:Bo.hx,gl:[...ks,...Bo==null?void 0:Bo.gl],bh:Bo==null?void 0:Bo.bh})}},className:Fe.colortitle},"\u8BBE\u4E3A\u5173\u8054")),Vr.createElement("span",{onClick:()=>{var vl;let jl=(vl=Bo==null?void 0:Bo.gl)==null?void 0:vl.filter(ts=>{var Ss;return ts.uuid!==((Ss=Ql==null?void 0:Ql.properties)==null?void 0:Ss.uuid)});As({qx:Bo==null?void 0:Bo.qx,hx:Bo==null?void 0:Bo.hx,bh:Bo==null?void 0:Bo.bh,gl:jl})}},((xs=Bo==null?void 0:Bo.gl)==null?void 0:xs.find(vl=>{var jl;return(vl==null?void 0:vl.uuid)===((jl=Ql==null?void 0:Ql.properties)==null?void 0:jl.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),Vr.createElement("div",{className:Fe.right},Vr.createElement("div",{className:Fe.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),Vr.createElement("div",{style:{padding:"20rem 25rem"}},Vr.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},Vr.createElement("div",{className:Fe.Colortitle,style:{background:"#497DFF"}}),Vr.createElement("div",null,"\u5173\u8054\uFF08",(Uo=Bo.gl)==null?void 0:Uo.length,"\uFF09")),Vr.createElement("div",{className:Fe.gxbody},(zl=Bo==null?void 0:Bo.gl)==null?void 0:zl.map(Ql=>Vr.createElement("div",{className:Fe.tag,style:{background:"#497DFF"}},Vr.createElement("span",{style:{marginRight:"10rem"}},Ql==null?void 0:Ql.name)," ",Vr.createElement(qe.Z,{onClick:()=>{var wu;let hu=(wu=Bo==null?void 0:Bo.gl)==null?void 0:wu.filter(Wi=>Wi.uuid!==Ql.uuid);As({qx:Bo==null?void 0:Bo.qx,bh:Bo==null?void 0:Bo.bh,hx:Bo==null?void 0:Bo.hx,gl:hu})}}))))))))};var vo=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(ea),Ha=ie(78267),Hi=ie(36466),wi=ie(44071),Zo=ie(59301),yo=Object.getOwnPropertySymbols,Pa=Object.prototype.hasOwnProperty,Na=Object.prototype.propertyIsEnumerable,Br=(Yt,mr)=>{var Hn={};for(var hi in Yt)Pa.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&yo)for(var hi of yo(Yt))mr.indexOf(hi)<0&&Na.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},Tn=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const Fr=[3,2,1];let ki=null;const Vt=Yt=>{var mr=Yt,{pathsDetail:Hn,user:hi,globalSetting:ao,loading:Kn,dispatch:Cl,datas:na,items:Di}=mr,go=Br(mr,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Yl=(0,ee.useRef)(),Zi=(0,ee.useRef)(),Va=(0,ee.useRef)(null);(0,ee.useEffect)(()=>{rl()},[na]),(0,ee.useEffect)(()=>(window.addEventListener("resize",ci),()=>{window.removeEventListener("resize",ci)}),[]);function ci(){var Ka,ul;(ul=(Ka=Yl.current)==null?void 0:Ka.update)==null||ul.call(Ka)}function rl(){return Tn(this,null,function*(){var Ka,ul,ls,Uo,zl,il,Hl,Ps;if(((Ka=na==null?void 0:na.nodes)==null?void 0:Ka.length)>0){let ps=(ul=na==null?void 0:na.nodes)==null?void 0:ul.filter(La=>{var Ca;return Di==null?void 0:Di.includes((Ca=La==null?void 0:La.properties)==null?void 0:Ca.uuid)}).map(La=>{var Ca,ql,ru,Mu,Fo,fs,Kl,Fs,eo,Bo,As,Ku;return{rootNodeUuid:(Ca=La==null?void 0:La.properties)==null?void 0:Ca.rootNodeUuid,id:((ql=La==null?void 0:La.properties)==null?void 0:ql.uuid)+"_",name:(ru=La==null?void 0:La.properties)==null?void 0:ru.name,description:(Mu=La==null?void 0:La.properties)==null?void 0:Mu.description,nodeType:(Fo=La==null?void 0:La.properties)==null?void 0:Fo.nodeType,tags:((fs=La==null?void 0:La.properties)==null?void 0:fs.tags)&&((eo=(Fs=(Kl=La==null?void 0:La.properties)==null?void 0:Kl.tags)==null?void 0:Fs.split("\uFF0C"))==null?void 0:eo.map(Gr=>({name:Gr}))),colorType:parseInt((Bo=La==null?void 0:La.properties)==null?void 0:Bo.color)>3?"3":(As=La==null?void 0:La.properties)==null?void 0:As.color,activeColor:"#FA6400",size:Fr[((Ku=La==null?void 0:La.properties)==null?void 0:Ku.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0}}),wo=(il=(zl=(Uo=(ls=na==null?void 0:na.relationships)==null?void 0:ls.filter(La=>{var Ca,ql,ru,Mu,Fo,fs;return La.endNodeUuid!==((ru=(ql=(Ca=na==null?void 0:na.nodes)==null?void 0:Ca[0])==null?void 0:ql.properties)==null?void 0:ru.rootNodeUuid)&&La.startNodeUuid!==((fs=(Fo=(Mu=na==null?void 0:na.nodes)==null?void 0:Mu[0])==null?void 0:Fo.properties)==null?void 0:fs.rootNodeUuid)}))==null?void 0:Uo.filter(La=>(Di==null?void 0:Di.includes(La.startNodeUuid))&&(Di==null?void 0:Di.includes(La.endNodeUuid))))==null?void 0:zl.filter(La=>La.type==="\u5305\u542B"||La.type==="\u524D\u5E8F"||La.type==="\u5173\u8054"))==null?void 0:il.map(La=>({hide:!1,id:(La==null?void 0:La.endNodeUuid)+"_",label:La==null?void 0:La.type,props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(La==null?void 0:La.startNodeUuid)+"_",target:(La==null?void 0:La.endNodeUuid)+"_",value:10}));console.log("----",ps,wo),Yl.current=null,Zi.current.innerHTML="",Yl.current=new wi.createContainer({containerName:"#graphRefs",width:((Hl=Zi==null?void 0:Zi.current)==null?void 0:Hl.clientWidth)||0,height:((Ps=Zi==null?void 0:Zi.current)==null?void 0:Ps.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:ps,links:wo,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(La){return La},nodeClick:function(La){var Ca;return(Ca=Yl==null?void 0:Yl.current)==null||Ca.selectToNode(La.id),La},layout:{force:!1,x:20,y:60}}),Yl.current.zoomOut()}})}return Zo.createElement("div",{ref:Va,style:{background:"#fff",height:"455rem"}},Zo.createElement("div",{style:{width:"100%",height:"455rem"},ref:Zi,id:"graphRefs"}))};var Vn=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(Vt),wr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADICAYAAADvG90JAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQecXlWZ/7/n3vvW6SUzk0kPCZAYQpUOoggIiK4lKqIsritrdy27a1fWVRdl7a6ujb+N1dVdUEFFBUERpIQE0ieTmcn0+vb39nvP33PfiWIlZQZDcm8+72dKzj33nN+5v3me85ynCOIrRiBG4EmHgNg3Yiml+v63Pz/pZhIPOEbgyEdACiGkmmZEVCmlduTPOZ5hjMARgUBEXhFL2iNiMeNJHEUICCFCRdxY2h5Fix5P9YhAIJK4MXGPiLWMJ3EUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ3IUIRAT9yha7HiqRw4CMXGPnLWMZ/JEILAR9DG40oF1IaCBkGEoQFO5oFRCKJGQwb1/o+s3z+N4YuLOI7hx10cgAre6HOsk+ZENy30glBCovG2zHyElCcmDdVb18g319TPzBEFM3HkCNu72CEXgljB8myPEh30hoswxiry2VAkXaxNWxBUaZn0oXv5SnVvmCYaYuPMEbNztEYjA7dBZQt7qI05RUlalSFUStzpLWjVlRWCVQTUt+c5yXVx9AbjzAEVM3HkANe7yCETgOuAUeHEVbgwhJZGoPa5KR24pift7c5YYiPEmjUs3wKPzAEdM3HkANe7yCETgV1A3Bje58OwaSRV1JYHUcEL4w5SLAsKs5AMpjQ9s+ENeHzo+MXEPHcO4h6MBgdvwz6xg/MCH1tp8f0dcN4TwT+RKrYNNrYLLLoPJOcYoJu4cAxp3d4QicDucUEL+yEUs3DfFSF2WAkXcYLZ4T61ASO2q0xhIu87FL0il9swxLDFx5xjQuLsjFIG7IJkn/KKF9rJ93Iy+SrCVxFXfitmDXHW+K5AZ+H8tGq+5FLw5hiUm7hwDGnd3BCNwG1xagW8HyLoaZ0VkVVZ7XEXcfZcSvrpGMROw4UqDO+YBkpi48wBq3OURisAd0FKA73nIc8LIjqxFolQRV/24r9SlEGAI+dNOIV54KVTmAY6YuPMAatzlEYzALfA6Bz4egK6cLxRxg1nS7nPC0ARuNgxeu1vXb3zf/GARE3d+cI17PVIRuANWFaS83RRiuR1ZlgUikr4icr5QHssJIbc12OJZz88wOk84xMSdJ2Djbo9cBPSbCV9po51kKyepmk1KaqHa7WpKXZZpjXtfCN+adV+eDyRi4s4HqnGfMQLzjEBM3HkGOO4+RmA+EIiJOx+oxn3GCMwzAjFx5xnguPsYgflAICbufKAa9xkjMM8IxMSdZ4Dj7mME5gOBmLjzgWrcZ4zAPCMQE3eeAY67jxGYDwRi4s4HqnGfMQLzjEBM3HkGOO4+RmA+EIiJOx+oxn3GCMwzAjFx5xnguPsYgflAICbufKAa9xkjMM8IxMSdZ4Dj7mME5gOBmLjzgWrcZ4zAPCMQE3eeAZ6X7lXhqcmo3lTtyoCwZnP3rgZW1Spj/H6O7nkZSdzpXwmBmLh/JeAP+rF3QXYK3mtKuSaMMpSpDAy1dEcqoX4g0VKCb75cjwK54+vIRCAm7pNtXW+GCyz4X1/KZleqTPq1HAxKvKocDOqrrnFfm85zN8B8VYt7ssF2pI03Ju6TaUVVbt8p+IIDL1cEVUnKbB/8fTUeZ/VjTcfOhrzqFUluejLNLx7rfiMQE3e/oToMGt4Cp1nwfR861XCUpqyI6+0rHTdbWVkpzoaQd7UmxAs2QOEwGHo8hLlFICbu3OI5f71tB2MnfNyE1wS/29PiBLPErW13f2uRimq0wlXX6Hx//kYV9/xXQiAm7l8J+AN+7G2w1oLbqrD0sVnz3Vni7it/ob7uy8ydhu93GrzsOVA94AfGNxzOCMTEPZxX57dju+46/u897/mXqqb9W1BL3fvbax9x1S8i0j4mpX5CUMx44jl/m+aeJ8U840HuLwIxcfcXqb92u+8SXGGhfSNA1O8biyLwbyWuOtV9TBkMReKExnh9wOUvS7D5rz3++PlzikBM3DmFcx47+xk05JDfseCi30lcgauMU4+pzxqVeRSgacikDL+ySNdeNw/V4uZxpnHX+4FATNz9AOmwaXIzvMhEfiWMKjiqs1sRGadUfdZ9e1u1/1Uac1Ijnw143ssNfnnYTCAeyFwhEBN3rpB8IvpR1eJmkLfYiHNnBWtUKS4irhrArFVZkTgj5P82C3HNBjCfiLHFz3hCEYiJ+4TCPQcP+1+CV9ron/ElSeUp5UnliCGRqoqNIm4Iuk4pG/KSq3Vun4NHxl0cfgjExD381uQvj+h2zM4y2VsqUp4UyGhHG6nJygdjVuiih9zZrfOSearN+mSD7Egcb0zcJ+Oq3upxmq0FywJ0FSIkQwIhA6SuKwLr6AG7NiTZ9mScWzzm/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mhiB/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mhiB/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mhiB/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mhiB/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mhiB/UIgJu5+wRQ3ihE4vBCIiXt4rUc8mgNAQC9DkwcdNn63QHQEUKeDFaKPScfZO5SaGjmLxc4B9PlkaRoT98myUvE4IwQS07AMOA24QCJPEYhFIbJJA0OTUtOFpgo8eAFyqkp4r4n+lQT8chV4RxCGMXGPoMU8YqdShlYCzpE6zw+QFwSIhSEkHpMHPoqS0pEkEBggVEY9V0RJpXN5wo8LtI+vB+sIASkm7hGykEfkNCxYGMCzQ7gaOMmFrBKbLkgPqVLOjoawW0f0CsLxJFolCdkU4fKk1M5MCNaayNQIWDnku85B+/RsHvknO14xcZ/sK3gkjn+S6oIsdc8P4VUhrDMhoTaqDpgh7ArwfxrAzzSMHa0wszj6r9+7RBXaE3ANyLdPQfMwYgC4/AzY+URitgvqHMgUQWpgn1NLJXSolRRj4j6Rixg/63ERyJQJLgb9zT6cUYVkFaQFuRDuDoLgmyldv2d9rZjZ4778vZBYBh+qwj/2ohgTvuX8mtSd1+v+anXBWF3diTNwwbTPGcWQtjKEgSDfQritQWi3dhtsvBryBzmQmLgHCVx829wiICqwJoS3OvCCMrKhAlQiI5O4wyf4TCf63WsPIvGdBWe4cFsvtNhh+I1zNO3vVL20uR1+rbeNkJ6BywZ93nq/K0/YVAmzw5VAmF4YWcaEDg3ZhOyq1ytPSbF5fYrPHQO3bPhjjeHxhhcT9/EQiv9/3hHIjBJcWUX/54mAVaOBFOMBTPoCW+B7MKoZDLTqbF2o8fN6nXtfAhP7I3FnR76sDHfuguWmlD89Tojndc6DkaoX2nbDe35lyWt+MBE27Bq1cXIeVP1oUx5VaEsCWR1ak6Q706zr0CrnZcVnT0ry0QOUvjFx5/21jB/wZxHYDcsL8O69Li/aWqVuc1kyZMGkI6k64KrKDBok0oLmLCxrEPbx9fSsTYTfXmA4X38JmZHHg9eBFWaNuEs9uL0JXjDX1mW1j90Rhtf/pMirvt/nGqN7bWTOBlMVdpLgq1GKqHCxMnmTMqA1gbY0w+oVSe+KNvG10xO8dQOUH28+s/8fE3c/gYqbzSECG0G34MJxnw88XOCUe6altqskyBd8PFNJqHC26K962ZWkEpDSoMmgpVXnlDb8M1vZvNDgQ0+H29bOUuNPDdHyvNOLCeOHe6DFR3z9afDKOVaV9Z/BW28uyfd/Y7edKu22QUnailcjrcqhGwS1VJzqr1BEXh0yGrQk0RZnecqxCedZHfLdq1LaJ6/dPzU+Ju4cvo9xV/uBwDCkBuHvt1m86+cTsvOesZCx6RA/0KHoguVCoPRKJW73SSlFXAFpAxoN9GadJZ2SZy7SZlYbfHQtfPrZYP+px1dCrp3Q+Mxe0Ax45/nwkf0Y5n432QIn3+3IH/z7kLdwZEsZRvwaaR1FWpXoWn19TH1FTa/9MUroNbW5PYWxso4LjzPGLm3jeW+CB/fj4TFx9wOkuMkcIVCEpj74l1+bvO57I7L+18MBxUkHSsrXSVOZ3cGftRuJsFZLRdNqBFYqZiYBdUnIAE0ai1fAWZ3CPNXg+jPgIxfUdpOPvVIF+MYAPD8npZkSwd+cg3HHHE1HdaP/JOSGT88Eb7htd1XI7SbMuJGOrwUBBh5SBgRhiI5BKDTUd1IkanNKqD9ESejOsPiEjLxymfz8R1LaG/fjrDkm7hwuYtzVX0CgCh0TIR/+hc1LvzEYJu8dDbGmHCiq4kfJWtnB0KuplYqs+6595I1UZg3qU5BSqiaILkHzSsHZ9aJ8YYo3vRm+9lijVRXWl+CHPaA8rR5thGedWjNszcnVB8f83JO3v3fQXTHWWyTVM0MinyMwS6S8KmnNQxOCUFWa8H0sT2KFWQItjZapI6xbiKxvJmzLYKxq4LITtJ5L01zy6jSDjzPAmLhzsoJxJ38RAQu6S/AfD3s8/zNDvnHnENiTLuR9qKrj2DTYHiqTO0Fkyam5K6j9oFI1FWkVl41a7VDSirgGLJCwKklznWBDC7vPNnjBNfw2EbxWhA8MwT+PK3sQ/Pt58N4DsEY/7qpuh0t+UA1u/vyOfKptfIqT0tDeliVZlySpxpdIEGgGnibwgpCq61AyfWamSswMjFEYKzFjJii0LMdftYynnphxr+niytfq3BIT93HhjxvMJwIWLDLhMyNw+Y3Tof7/dtsUCjooaauciRVxi4qkipj+7P52ll77pK0iraq2on42Zomb1KFDhxWJSPqu6RTyxXXc+DR4nVKZ1blwBX6wG1a4MJaAy8+HR+ZqrmqvPgP/tN0Or8vbDk1pAy1pMBbAWBAw6XhUbDeyTwkjCUYSWwjKAZQ9mzoR0q3r1FWrVMbKbLNTJJYukFd16299Z0r7ZEzcuVqpuJ8DRmAauoDPFpBXPOSg39DnsbG3BDkBjmKqXrO8lmfrhEqlLs+SdF/pQWWBjQxVsiZ11UepykkDFiWgXZ0XQWqFzvMamDxfes+9NJHYXA8fG4d/mFTdheHnOjXtLX/J+ry/k5uC7BScV4ZXTEr5zNFAtihtvxKGFFyXKcdl2nMp2zae5ZJJGNTVNWEnMoxrOsUQpmZyhMUCiSCgIZ1iZWsTy5rr6MqkOD6lfWOpxtueA1N/YUyxqry/Cxa3OzAExqKTyvATU1K8JI/Qb50J+ewuk1J/AUpKO26EUFPip3b8owxTgRKps9bk2eqD0RGK+p0K99FUxW5lkdVq5F2prFRq7ythtcHKeuTLGvnIG4LgV0VN++qwEC0SBlLwnLN+p0If2ER+11rvgTMteNO4lBfv8cOGPabDTNHFD0IcL8CuOlhVF8fz8fwA4Xu0djeRaG5k2HEZQlJOZrCqJoyOQL6EKLnopkuqrZEFx63k9GM63ZMbUxuX6HxyAdx68Z92FomJe7CrGN/35xFQUuk3hx4fmEa+bkKSUJEBnx7y+WFPGTk0Q1PCwE+0Ys4IpDo2UcYox6lJX+UX+HvXLGHVrxWZFYGVutySgoVJKHpQBxyfor4eXtciel6TkO44rKtK4emCd0v42AU1WX5Q1x5od+C1BXj1YCg7t9s+fTMV8pMmohqSUtJf07BNHytnEVg+iIBknU7T6jZKlsvY6BRDuqC0cAEyAUxPIUJJUmRI9AwR9O3FaWrAWHsMq05cwXndzdX1Ke3mNvjQi2HXH4IipFRWgPiKEZgbBLaDsQjePCHl+0cFaYGojjky9W97LGNbT4m6aonrz+lkxx7JjdsEptQjIw5lEzxlmJo9/qkVEK1JWaUm67MODOp75ZCxtAH8EJTDRrMOx2l0ZAI+sTApj09IkUdT8bl3NCJeenItKOGgrmFYl4N/n4CL+gNpbM277BkpYs9USdke6WSCpo4WpK4xM1rGnKggXQ9dD0m3pNFaGhjrH6E8PEXO0MmtXETd4lb8oX5sP8RYvpiVHc04W3Yx9mgfrmEQrF1O21NWckF3izwtK7YvE+Idx8KPT/2dc0YscQ9qNeOb/iwChYAryjpfGpC0e4J8Pdz4kC1f+YEdVtP4ngKdhsMtFy7mp5tdPvSgj60kbDoJheqsRVmpy+oz+yVSmaONb1SxOyJyRxrqDFBuhUoSNxkYx4a8slPyDwsyFJXfA2LEgBefB/cd5HKJPrggD5/olzyl1w3FtnGLvXuL+AUb3XUiQb9wcSstSxcwMlxibO8MlMoYrkMqlIhEAjeRojw6jVsqY2oaua42MosXkBrsozoxhexoIbtqIZ1LF0R/oLbvGaU4U4TONupXr+T07kbOatAmVmm853T46uw+PSbuQS5qfNufQGDacVbbqdT/DErWVwWuTviBTrRHflTh2x/cZmYKewokXJPLl2UYGUzw0EgKqY521D62ohyfghpnlbRVv4tUY/UL5Ywx67jclIG2FBTt2tlvGkSjxsUnabxvRYpAF3gIKwX/koLPP0ZKHciaib3wrHH41PaQlQ+bIXsGKxSHy5imS9INSHmSlrRg7ZlLmCz4DPZMU50polerZJQktgO8hI6ZSWFNl8C0cDWNcnsTXncrDUODyF07sfUQT/kuZ+sI16+m7dz17H5oF+HQJN6ShaTWrWLd4kae2ajnV+u850z44lrwYlX5QJYzbvuXEMjOEP7nIOKqHAKd8DugvXoRnHNLWX73g9uq6eKeIhQthIpxs1PITGvtrLZgzboFzro6KuIq10BF3lnbVCR1G5LQVgcVF2w/2uuKpOSc5SH/dk49mZSgKERoEH65k8iKrILWD/jqw3/6FMaXHgrk8rvKAcNDJt5ICVF1EX6A4YU0+LB6fRuJznoeeWQaa6KAVrFImC6ZskPSC3AzGnY2jTVdRpZNXCFxWxuxVi6kPp9D3n8/nl0GTc07QaGpEXnJuTQ3ZsnfeideJkV57Tq0k4/lxKWtXNiq5Y43+Mc6uCkm7gEva3zDn0KgBFdNSvm5QaE0SPFICl58DuzeiX/+HZb+g/dtqdbP9BVgwpr1481ApgmcsOZ8EanG+2Ljo8PPWQ+q2WOgugS0ZsD0oOzWCK9LTl0a8uGnN9DWoFFAMAamDIIXvUzXf3QwKzUOa0bhpvsDuf47FY/BYYuGIRO96iACn4wvqXNCOjrrWXRGB5t3zJDvLyCqFkbVJl32yFY90Hzs+iSuZuCMl/ArJn4Y4NWnqR7TRbqtAe2eexGDQ0jp44sQT09QWb6Mhc9+GuM//AnpsSnKnQvJn/gUjJOP56TlLVzcpg2t0sXzYuIezOrG9/weAjYszkv5vT7BSTaibMArnwb/qxr1wvG/suUd799pdg3sLsJEFcoqAkgRMwsiWZO2kXqs9rOz+9vI7XHWONWUAqUiV5yatCVE6JL1iyQfuKiJxc0JChK2BiHbNDF+ou9d8ppkcuuBLlMBGqfgy/eHPO9rVV/cN1alY0iRsSZB04GkwQ5pq9dZc14322dsBrZNoBcdDNsjVXZJlR1Snov65zfVY1kB9kQBaToEgVKfBVZ3K+ljlyIeeYRw1w48FXWMJBQ6QSaNPO8MMoFF9a570JJp8osWUzhtPcapazh7RSPPaNL/OSbuga5u3P4PEdAK8M5RKd87LISKwPlqO7x+X8zrCLRs8uXt1w/4p96zowhj5ZrEVGe36hxXawBp1Oyl+8irvlGGKOXi2JCCbBJKFthqDywQesAZiwPe88xmFrUkyQGP2AGfqYac0JrY9FLBJRsO3JIs+uG1vZKP/j9bpm6ZMmnoN2kv+uC7ZMKQRjugFY015y8kn9R4aNME/pSJZrrUVzzqii4J30fzqtihi59toFyw8UtVpGMTBB4hEqcxRXr1MhIz01hbNuG5LiIICaJgCh23u4u2s9cz/f3bSNkObl0jhWNWUTjzZFpOXMFp3XXvj4kbE/GQECjhrLRJ/XAX4WorsuSK5zwDNj+mU3FPyMe+PhO+4Ws7y8IerYClwt5+k6imrM5ukzXyKhLv05SVsM0koSEDMqyR1lHBB0p7llzwmyTJ73pGM+0NBjMCtpQ9/qPforq4nitbtS+8oOb2eEDntsNwzAx8/xZXHv+5goc/XOQSO2CqBPmKshIHtDshx6xtQT+uifu2FbD7C2hlG2G6NBYCGmyPJB6eVcENfSwjhaMcNCwH37PxFXGlj0wIEl0LSEgHu3cXTtWK5h5GxjgNL5MmfdGZeLu3IbftRjOSeM0tzJxwAuWnrqNpVXdM3EN6a+ObVcqGNw8jrx9GqIOdTzfBP/2hJXczXHi/x3c/v9dvfHTEJIzYoDJEqCADdczTACJVQ1P5IKv9bDIFpgtlu6ZKa4KEHnDpWo23n99CQ1aLSPtoOeDjWy36E0lOW5eqXJkIrnyLrv/wQJbmLtBWwPsfCeU7bqiG2n0TJi8qmVyxIMsXNxex1J7Wc1m/vIH02hZ+UXQZ25rHmKqSqLpkyy51pQAj8EhKB79aIpWF+uYWdvXk8V0f3zUjlTiQKmIoINnYQEIT2JPDWGaJQJ1Jo0WhfyKRJHjqWtpWdTD537dgKFU6kcJZupzRU9cTrF0VE/dAFjhu+0cINOXg+z3Ic8uIySQ8+2lRzrTfv6ah7kHJTf9Xks/+9pBDeaQMU2bN3VGdAiWawMjUSKt8k5VKrNTpKDZX7XkDGpMOf3t6hlee3hKlQi9Iwca8zycftRgMk7Qek2LDIn56piFedE3NqXK/rwmbZfk0P7rFk8d9NOeQHCnxn11Z7u4vcPeEpMWXrEsLVp3aSk9Lilt78izvK2PmLZLVgGzeIWVJdOGTCGw0K8fzLluDnsryuW88jOMEkRTeJ3E16ZFMpzB0Ha80jW2V8D0Vu6sRCA2pGdhLulj6issZ+fp3SfXuJTB0vNY28sceR2X1ypi4+726ccM/QsD2/bNzhv797YiWUHJLm+CqU/9MJooH4IItPt/60pRccH8uQE7btUwRqraAzNTyHCqLsfoowqpUL5FTX8DyVp83n9vApavrMHWYkfCLcZcvPGIzRgq92+CZK4z88xt4+bVwwNbkAbh2VPKpT1SCxM2TVZ5bMnnLshY++OspZmzodgLOXdOIs6qeHzo+dn+ecyzJ/dtyZCuQLjoIzyWphWhOFbc8FRHTJ0Wh6OK5Nq5jRXtcIUMM6ZPQ9cjT0zOL2FYh8m0OpSBUUlc3sBe0kbjmCpJ9vbj/92MMGeJlG/G7l1DsXhQTN+bjwSNgwVtGkB/pR4Q64eufgfaFP9ebcoWcgLf/yuRdXx0Nkn3jNqE6v61IIjYqyauyw0XpXpThSnlCSs5ZKnnbeU0c256KMqlNh5Lv9VvctM2hkMpE0UFrVia9Dc184kyN91x6gDWCxiBdgP/ZHcrL317w2N1X5uPNOp2E3LDNIu3DWkOy8qRmch1pvjFTJb0zT9e4TaIkSc/YGJaLTkACm2aZZ3mbpORl6JsRFIoWTrWC41hRML0mw0gyC11DR+BV89h2MYrX9UNR2+cKA6etg/xlT6elM4v/+a+QLVcJkxlkSxtOW1tM3IN/bY/6O/XfHAN9qR959TiikIVLz4AH/hIqW6BpJORjv6hy1c1DfqJn0iJU5zjKTUJJXKUiqyihMGRhxuNvT81w5VMaSadUDSBBvx3yzR0mt/eDW5eCBToLl2rBS1vEzWfovPYgLMkoo9Qk8mcbPZa+a9pBGyjyrdVN9E6U+GKPS7sjOLPTwF1bT299kp9MFDi+p0JbQSImbPSSgx561AmTZQ1Vzl0p6G4KKTqCBwY87t4xw1TexnE8Qt9HlwFJTZLRdTJagPTKTOdKVJwAXwqkMAiNNP6CLgpnnQaLm2n49ndIjU0gjBRBtgHZ0BIT96in38EDkDWRN++FZ44jBtM4F55Fqu/xunsU2gdCPvxAhatunwhTO3NQURE+ymnBDMmGHhd0CV5zYh3rFiQi21VBajxccPnSo1W25A1kUxqxUGfhQs27uJFbzrd56ysyPG6q1j81tkH8C4fRb7nXldl/nbJZOljhxqc0s2W4xNd3WKx0Ndatq+fhziSP6iFytMQJIx76hIOTK9MobRZmbE7pkqxuDUhIE99zcFWYXwAj1ZBdk1WGp6tYlokWBpGFuk746IEVbeGrrsGecZOhnEMl0PDSGZILl2IuWY6WTlL38ANoE+OR+S9M1RFksjFxH+9Fi///zyJQ70j5vb1CXDAG/U3wjJN43FxJUWcboWE85E29Lq//dZ4F9+UlxYLPMdLmmqUJLlmYxDCgqKp6BfD9EZfv7PbIySS06mQX6KxpE7kzkuFXTjS0668lOso9qGs3/O0uGX5psyu1D085rBotc+OaZu7sy/Gz3SFLfI36FWk2H5PGLZZZP2izuODQhElL2mR5Y0hnwicVWHieg+c6kfXY8/woLtf2PGzXw3Y8LNPGMi3MqkPFNLEdF9/zo+w8XjJLITQYrPgMqyJJejMi24qQguT4KGFeTVGldk0jE+mYuAe12vFNCoFUAP89jnzuAGLSxbv46SS27C80as87BeeM+PItEzYXNQUydWYGmpMi2svmJOx2Qr496XNPQcNJGrQ2C7m8jsrqFPeuS/KJBXDXNX+c2XF/hxC1exje+KgffHwwFHw0V5O4N6xo4Hu78oyPa3QFOmGHjt0ZcoFd4qlJjwbhkFYO10pielYkYQNPkTWIjEye5+L7Po7r4boujmVH3yvimpZN1fIpmyaOrYLwA0J13KUyQCqnk2QSV2hUggTVIMOuSZdq3kZa1aiIaKinkHoiJu4BrXLc+PcQ+M3J4/tNePcgBMXQf4ejGZ84AMeHbBn/hBDjFQ5cBTKrtrkFkHmEsz0ItY2WkrrC13VRNXRGlhvct0jje8vgvkuj0kLclC7YAAAgAElEQVSHfj0Mr/21G35qJJTiSxWX9iGTVzcmuLOnRKJisFjAmq6QZek8p7R4JAIHP/CpVkxypRJWxcYwBHWZZBRa4Xo+bkRiPyKwqzyfbAfP87AcD9O0qJgOpmVhO3bkNRU5XyDQZiOhhNCITFfJBFNemgd7y5iVoJba1UgRGkZM3ENf+qO6h9MD+F4ROnLIYScI/9HW9R/9mSMhkYf6JCwVcO5vNOYrJJzhIVuqIKoI+ZssEyrL8s3VIFCVB4yqriunjkra8yZaEomx5+1nlb4DWZGt8MJ7PPmNAT9M/MT2mBi1eJWhsWlPlWxFZ6Ue8ndPNehgDOk67B3NcefD23ikdwDT86ivb6WhcwntXYsJjSRV28W2fSq28qAyCU0zcnfUfQ/p146DNJWuVYYIr0Jg5SgVc+A5NCQTtDZmyaYS6JpAItGTaXqmQ7YMWPgigdTTCD0m7oGscdz2jxFQSVg+FMIbbTBMpLIR35FA/EJCvwRbpTA3YLEBx7uwHjhWQruP1C0kFiK0EKpA9W0u3JiBTXOR1G1/F2sPnPlwyA/vM4OmnSLk7jGbsydcZMmnvQRLfYcr13osbDL55e5JNk9YLFy2hKULF5BNJbG0BA/2m/TsrTJdrKA5RbxSAde2ca0q2Ba4ZnTOq065fKESd0TpK9HwMRQCXpXQrUQeV7pbpTMrWN3eRH1SoBtQEXXcvTVPNUghtSSanowl7v4ucNzuTyNQodJeT/31vyk4fWVAlPhBxQGEITIIEVEYgZTSQNTCcNXHqUnXqo3cKRE3A98Ddj+RhN03mwlYtlNyx4/K3ooBQ/CDaYvWAZdFVZ+lRVis+Tx1sc2jY9NMOGmMhlZs18csVVjTmWFhRyPfuW8E6UoWp0yOsXsROWXgDhBSRonklMeU2s+anowcxjYPm1ScEKmyZCipaghSKY1sNkkmo5OUIRkRsjDt0ZxwSBhJHthTYrKkIbSUOhaKiRsTck4QaPDgSuDvQzhOIlVMbpRwRjktukjpSdxAiJwLAwHc7cGdCdi86sCjeOZkwI/pJL0J/u+Oqn+Jyhr7zbJPvs9k6ZSk2RU0aBZacYbSjKv2lqxd1Mj6pRm66hxa9ZDJwRF69wxRyU2RqkySMafRVOIctePVNWSUuUNgCHVGq+OFCcasBFNWSMl0KZkORcenagWYjhvVCEulkmSb66lvqqMurdOc0hkZyTExWsDQkugxcef6HTh6+/sOiEuhzcU/UcNYH4ZhVwBJT9NsJwynQk3bg8tuPcnw8lo5ycetKP8EoanttcrXD1Wrby7ohrhONrFxcxV9t8PKLoPWyQG0ySIr25tY0wmtVj/WyC7G9w5GocHl6RnaMhqNdfVRFKIUYbQ/VeXnlROUmqQqQaLOfNT30UdoBJpO4Eu8QFIJJJYb4Mk0OQtmKg7FqoMTamRaWqhrb0c2NDOlIo2GB6kLvFjiPkEvx9H5mOuug/e977Cee2ng0dPt0L2pbDorSulGPtqwmu9u9WgerlJfGuHYYh8XLEywzCiSDgqkZIAfSG787q3o9e2Mjg7R2ZDkJVc8hyQ+oW8ThgG+H+J5Kt+yh2U72K5LEIR4vk8YyEgTUcXAHNdlU88AE/k8yxYtZu3xx6M2tiUrYHSqyNCURT6so27xcrxVa5nSlBXgwZi4h/VbFQ9ufhEYGEgWmfnyTL505cDYmLBdyY5TnskNY0lOHB5n7P5t/NvTmzm50yAlQtSBjCoBOjgxwwe+8N90L17OQE8P5elhrnvbP7KgMYXvW9Hu3vclvhtgWRalSpVStYptmTiuj6ekaxgQBJK9Y9PcuWlrdJ5rJAwuOutUFnctjPqoWiaTRZOhYsges4nk6vVMHXsypU1bYuLO75sR935YI1AZb8uPDvx0Z//wicOjYwSmhTzxTD7bdTINQ1Xa9w7z3pM82gy191SGJj/KVNEzPMlNd2+ipbmJPdt20LdjCx9SxG1NIwNndoer4bsulm1SKBQplCyqZjVKX+MrJ40gwPFlJG0f2N5LqI6JBJx94nGceOyqKDee49pUqg5Fy2HIrqevfg2V9iVM7B6OiXtYv1jx4OYXgZnhhbmZkTu29+w5Lj+TxzEt6FzET596Gf+zu8pzbJN/6i7SnTIJlYeTCjcMfQYnC/x46xDdi5dRmp7m3l/8nFe9/KqouJeKlwhEEtcPCatlnHKewtQ05UIB1zVJ6DIiqK7U6SBgS/8w923eShC46JrGeSeu5bTjVxOGyvPKxbJcLMen32vg18k1uKbNTL4UE3d+34y49zlEwNi8efNpW/oGjilU7K0pu7T12muvna2CfZBPGRtLV+zRm3f39V88OToTeTrZeorCuZfwYbuBVX0lrjTG6EratDemySQ09IRBIpmiZAs6u7upSxrsLZTZngsZnCpFxb7s6AzXQZaKWDNTFKcnMasVZOjX0kNLgRZ5R3lUKyUGR/fiVksIu8rFp61h5cKO6JxX+TcXbB/TCyiGCX422UjZ1tEWtsbEPcglj297ghHIje193tj09Gd//ciO9oGh4ZF6Gb7Wfuc7f3RIpq/rrsO85nlvz89MfmCgb1AzLYeSG6Afs5bbjjmN5M5pXr8sYHhymoFpO6q419TayKK0T4tdRHNNZOhhKcI73mwJFVVoXieTSqKFkpmpKbZs38Xw5BTKldEwkuh6ikDo2J6k7AWMVVwKjks6kaQ5lSBl6Oi6HlWzTwmXRs2NUm79+JEKY03L6Lr4aTFxn+D3L37cQSEwnDKn3ZtGRsb+5v6HNtPbN0CK8KZVJ535ig0bNsxWwj6ojnGGtq6wnMotuYmpdbnpXORL7GYaME+/iNxUmRe22gipfI9F5GtcKhWYGh+jNDONa5p4gYcMPLRABQoIDEMnkUxSV1ePpgvy09MMDI4xky9EIXyGrtwZE2iaHiX58KTE9gIcFe5X10RAComGgY/um9GH0GPKTXNbT4D2jEtp7miMiXtwyx3f9UQiYOVGukOn8rPh/p7jNt6/kZGRYaSm373iqc+8dMOGDSo24ZCuYv/DLwxs81NupdwZeg6pdBZtwTKsQNKmOZHhiCBAKktwGEbnr77v4vkubpSWRtXCrYXzqXQ7yXSalpbWaC87OjTMQw8/wl6V+FzV5VY+jJpKW6NFKrOMih/JKI2NIr36vaaC6QMV8mdFwfeKyHmZ5oeVFsKmVuRkLibuIa14fPMTgoA3PXiyZxVu79+5te3hBzcxPT0DWvKOxYuOu2LDm998yMSFjfr0TvcS1/euF4GzJo0v6ppaEUYmCrlTAQHKGqzOZ4NQRhkZlfFIlSPxA7dGMl8RurblTmUzNLY045gu/b0D3Hv/A0ypAl9BgJYwEIq00b+ax3J06cpho/ZbXWVflpIg8JHR84mqHPQbrTyydQ9Guj0m7hPy5sUPOSQEgsk9LzNLk1/p2fqIvmXzDkqlElIkbzr3pddec+qppx6ageoxI/vpxOiLN0+WblwzM5E6oytDU106Im1E3DAgDHx1jDtLXFW42o8IHKhQv8jholZKJZlKkc5mqFZstm7r5dFtu3DNCqGKENKUYapWrSEyVCl5qpy7VXbHSLYq524V5Fdz0FAE3pcovuQKHhoxCTJx6ppDeqHim58IBCYy/lTxW8WJkWfv3LyJXTt3U61aoZ6p+5fXfuizH5vLEdxQdV/yuZ3mVxf3FYw3Lve4vNuJSn8q4kbHQb8ncQNQaqxUjhQeofKKct2oPpAipJKpZdth78AofQND0Rlu6KlMjiqD5ay356wrpJqDChiKJK66VwZRE/XcfZfKADkTZtjstxOmmmOJO5cLH/c1DwgU+pe41cqdk8N9K7du3MTQ0Kjy651ubG657Jr33PBHOZwPZQT/Ugrf+JXNpY+JAUtc02Hx7qeYJKXat6otrlKP9+1xaySWkSorCUIfGWW/cKMA+sD3o4wYytWxXCmTyxUolS2sKBOGi6NidSPprNThSOxSS8xa43RUaTSqpxRE/s5KpbC1FPctOoeti0+jNFWNiXsoCx3fO/8IeJP9J3iVyZ/07dzasePRrcr5AMv2N61df9IzL3nlmwtzOYKrJ73P/e/G8rXGRMCZRokvn+WzIGHO7jflnySu2gNHe1FlGXYcLEcZrLyIxL7jRulqSqUypYqlNIXIBVL5L6s9s1KDI6k6S1YVZK8kuIjySc9+XytxxkS6i2+teymF9uUwk4+JO5cLH/c19wg4kzsutGambtmx+aFsz/adlCuOSmH641UXnfQ3l176htn6nIf+3Hug6Z17Krfes6l8dqKoscQq88UzBWd1lCLppwTgH0vcmuT1fS+qRFAqltjdM0C6YwlGU1uUsqZaqlAoFqmWy/i2RR02gWdTLJeQgYxidvdVORJC/XFQThpiVk2uRRSp/e/21FO47fjnYLcvgHIscQ99xeMe5hUBb2T71YXJ4a9seegB0benD1sVDEvUfeH1N3z+tXMZGvhpyzvtszvt2yq7Su1dCKycx9WLPF5zsoMW2gjl7aj2s9FxUI2w0b43UHvcmpQtFArsengLuc0DLE+1Ut/UStkPqajAAttCx6T71FVM6SG7+vojK3MkcKWK31XfqAwEfqQq18IAVelNcEUddyUu4P7jzoDWLFRj4s7rSxd3fsgICGdoyw0zg33/uOn+exkencDzpBTphne97vrPXH/Ivf+uA/H3ef+67z5UeseLG0LtuYvSbB/yuGvjJP9xocbidDki0h8RNyKwFwUfqD2rWbWo5AvktuxG27iD7oJKgeNgqkwXHRmazlhLefUyNg8MMpHLzx71iOirplTjKKWNMmDtM0opVVpnXF/KbekLGV25HOpVQiA7VpXncPHjruYYgerU9o6kad06urvn1AcfuJ/xyRnCQPOSjc1Xv/qDn/yfuXrcFxxW/NeQ84OHHzHXNORtOqu2EnMqtw7vOtXlZWtttNCJSqNEzhfKUKUsyqqmbXQc5BF6Yc0Zw/UIXZewWoWpXERcT4a4WY3JMGQ8ryKF7CjncpQwLircECKUSFeyNtLJlfANIjXZI8ODnMEvmk7DX9IEdYFyrYyJO1eLH/cz5wiIYHz7871y7qv927dlHnrwYXLFivKYms62dl1y7fs+8tgavAf9cFUW5f/K4ce+2O++fHKvr3sTDlpO+R2HUQKts1stPn1ByOJUESkVSZWFWUaRQjVPKqUqBwQqCbo61/VrpUZc5b9sOZTLFfL5IvlikXLVjiJ9wkjtltH9yiAVREapWpYMUPWFtCiFjapQPyEW82PtAkbbu6A1qcKKwI8l7kEveHzjQSMgdu58oFmYziLbrB6DNBbpMuwSQstaTsUoFHIk3FB2tTU2rFqz6jwzN7FqxyObePSRHVQcD6mn7utcc+blL33Na1Shg0O6NsLiafjAww4vuacQJh8Z8RndWYVph4Qd0hpq1Gs+Vx9jc+0JFklZC+9TR0AqJE8FGCgDk9r3Kp9llQRdkVaRWFmYlRW5WCwzM1NgOl+IfJ0j5yolUcOaIapmPZ5NaxPltYn+MkT5qWytkV/LM3ioaS3+wnoi78iSC3YscQ9p4eObDwCB7duNiYR1csUsbzDL1rmVYmm5bZnNza1NybbWNvGbXMFRgvBiLkd1chJZznHMyiVoocu2rTsjR30vlNKoq//gP3zkS4cUFKSck7bCuZOSD25x5Rn3zfj6r6ZCRscDwrxPouLTZoVkPIEjJS2GxdvX2zxjYQHDd2pukBHxao4Xirhqn6tS0viqioEqO2LblKoWuWKB6ekShUKllr4m2s/W1GMlYYXqK+KrHwUpBJGDhtLUM/Ro67hHO5nSomZoTYMdwpSqTxLEqvIBvHpx04NEoDS8vVmE7tscx/m7cqnaMT45LUYHBtHMEq2tDZx09llo6TpcP6BaqTI+Pk5fzx7C0QGSboWqHWJLiROGUqbrP/KmT9z4zoMcirpN3wwbelx5/Y8G3cU/7bGYnPTwTLW3NKJtZnsoyERnrBJXE5hIjsvYvO3YEmc1l6LK8yL0Iy8pRURFQvVRhI1KkLhOpCYr4k4XSkzN5ClVzMg5Q1mSVXaLMDqdrT1jn1vl7PYWX0swyLH8Wp7CeEsLdKcgnagVRhuzoRzGxD2EFyC+db8QmMh4k7mP+K77Ksf1EpWyzUwhx2jfEGJ6GGtihBPOOZNlp5yBq+lUKiYjI+Ns3dXL1OAw6fIMRujjhkH0Eem6ryx52nOv3bBhw0FlidwJl93n8aXP9zmdm35VxMsr5+Oa+qquhNBoNnR8TWVr1AkMg4risxCc4M7wqpUFzu2okg7N3xqWVOCBkriB59dqBilHDMumUDGZzpejkL6yZUdqdGSMUhvl6MxWPVRZqwW+OmqSAkfLMKytYpN7ApP1rcguHZoSNTVZFQIfNqEoY+Lu17sXNzpoBILxXS9A+jd6vlunQt4s26VYqTAyOka+r4dg91YyuuDkK66gZdVaKo7P4NAQW3f20rd3lIxZjEpvKmNOEAZOoqH1H15zw399/WAGNA5tOyU33zAZnPPLLUUWj/vsGPKQMhGF4ylpqxz8GxKqAJdAU+p7WsdV9RoCSOSrdIYFrlpU5ZKlFVoNG6HOcyNf5lo0j7Iq264TJXorlpSqXGImX8ZyVXbpmood+T/PElad4PoEeOgUM23sajuRXnsV1fEQ2ZaChaoQWI3gWC4Mq/yt8R73YNY/vmc/EfjUWH7x32lTX0q55kUqflUzEpFxplw1GZ+apn/HDhLDu6CQo7FjAesuvpxkWxej42M8ur2HnXsGEJZJq4qaUeeltplL1bf8h9/YtkNvbioHDiWjTi/rqXrHEOlK58q66sUXv9z6c8PbAS+61+HGd/Xa6eKjBTrKksEZpbcma7eooFgpMYREJvSoarzMJgjTGsILkRMljNCj2a6yLlvhiuUe69ttMnpVidGoZKaqyqc+ZbNKoWwyU6hEJTVVgjh1RcYtZvfF6mdNlTHJMEoH21tPYrx7FaFnIPqLSNeGZRnIzGZkNm0YraoKS7HE3c93MG52AAhctx3jC/VcsrY0+f4vtBXXd1kzhqqlo+kayWwD5YrJ5MQkO3fsREyPkDRLSJK0LV/KiRdcyFS+wNYdO9m6czdu1aJNg7RnUpocl2TrwzDb4HuJtC913dUSSSfQkg5GoqjriWFd0+5M1qW//YZ/ft/oHw75Afin/y6F//7Z3Q7eowXERIihMlGEiVliKYIosatBUld6M3pzmjAlSJRcvIkCujJCmR6a59MsTM7u8DlrkcPShhJpLLwoh7KqTGCSL5WxTFXkWsXrKktxTT1W8tMLDKqkmPY6GKy2MSQ7KDe1wpJWaKkDK4ThPBgOdCbBUJEGDoyVYdKNiXsA72PcdD8QUBUNrh0MXlYa9m+4uDTe/rV1FRKlScr5GQrTM3QuWU6ivpHJ0XF27txFeXSYFjxcH/RsknMvuxxHCnbu2s3mrTuolqo041DvlqNcxTKZwhdq75kg2FcRQCTw1X5UZY9x3cAwxK0Lu1a/8up3vCP/2CH/IuQ13yzwyS8PVHV2V2mYFqRCHdODsnKljHbNKhWFIq0OWR3aklHGCjE8gyyZJDwbbKXYhtGePBkKWoIqK7Iex7Q7nNJRJSNz5Av5SLMI1MQ8dVRkR3tZlTtqJmhlr93NoFlPwanHlsmorKZMpQmaUtDVBK31Kq8NjIxDo17zmFLHR+MVmImJux+vYtzkQBA4btI7oXeP/12GvVVvXu7y3s5h3OkxRgf2MjY8SGPrAtacdhq5XJ6+3n4Ge/fQIlV6GA1fhJx2/vk0dXXRs7uXjZu3U5wp0SAtFiSViqkRalpkxFHtA/WzYeBLgasswMpq66o9qyy0dS151rX/+tEHHzv2ezzvhNtt/YefGrS7y3sskiMBmiNJp1JUnRDXUp4RSuKqNBbKKJSqOT0EIYvLkzxlSZr69iTpNCQNVXUPlPY6PlalZ3MOMV7l+ktauGiVyfT0GNPj40yMjjM6Msp4Lk/F0yhorWzyT2UgsRTXSCIKNomoXInAyxhoLUmMtix6fRJn2sQfLyH0BLIrDY0hTFuQi/e4B/JOxm0fB4GbxgpLPhzWf3brI85lK7tT4l3LSrywuAdzfIyh/n4mxpX2anD6+edHSdIGB4fYtX0nabNCUtewBaw87njWnHIye/r62PjwFiYmZkjLgO6mFJpyC4xC3mpZIaQw8KSqCiBxFYkcl8BTKqk2Xd/Zccnr3vfx3/Ou2g7GRpfrvjTpvu2eXZYR7rERdoAeJPCVdAuUy6EKjg2h3oCWLKQEx7e4vPi0NMWswQ4LJtyATLQdlqi6ok0Jgy4vYOrn/bxrmcHZiyp4xRxWcYbcxAQ9vb1s3z3KhAv5VBuPOKfRY6wkbK9HzDgYKob32EbCc5aSaEuTqNdozQpaijZj395CfodFkEkR7RnU9POxVTkm4xwhsB069lju5986IK7oHwq1i0/TeLOc5qziIMWJcUYHByPiquieNSeup3PJYkZGR9mxbSf2+DhN6SSm0Glua+PsC85jZGSEBx7axNj4NEYgg0XdXUOZlK7JUGZUdhhNkgy10JBhqHu+p6l6PlXTxnECR+rJby1Y0f3Gq97wvj+qWv9LaPuVFf7HN3dUX7L90XwiLKrwm0StcG1kAwpB96BZR+tslF2tUl65Pqs5WZ29AQwqHwhP0iEgi4zKhiYNjToBHSWTl+YnaLNHcQvT+PkCZn4qygq5d3iSCSegkGxhm38iu5xjcepVD4LUKa24py5EFkzIqRRaEpY3k1yc5dhSlcEvP4w1FCATGr5S3z3iPe4cvbdHdTdKkvUVresqyeTb3rLRN8qaznOW2bxHy7HIHKMyNcn48BCjY6PYVZuWBQs45azTmZqeomfHLoZ6B2hKCjw9QzqT5vwLzyU3k+P++zcxMZ1Xos1e0LXwFQu6ux8ywlS9pstM4NqNQpdNApoCz2mT6PWW7fqu6+6qa6j7yfNe9/v728cu0B3QsrMUXPfjIfOVv9qeSxdGXKSpJK5UfxLQuutly7KGyTVLMndfuVBb76bk8X2+oOpJSoGgrCSuF6B5EtOSTLkBLW0GC5MhZ7oVvEKBIJ8nMzWG07MNb2aUgooasgOKRj292XVsttbieWka2lK0X3U8/SW1fy0rV2VIJWBxEyzMkk0IVoxP0/9fm/BLOq5S4XUtJu5Rzbg5mvz3psxnScKvzWQybf90v0/QmuQyMcN1LTadwQTmzATTIyOMjY9TLVcRaJx53nl40mbXtu3s2tlLNnQJUs1R+clzzz0JLQy5/9cbyeXLqkS0k2xseNGbPvSft87RkNnFdN2esP31W6ruGzZO+p29E5ZmmYEnM+n+9gXJ+9a3Gd84Kx0+Y8zW3rKzHKQm7JD6QFDI2WTKZuT66DpepJqbRoK2EztpXZxl0pIMRFX6XI4NfU7f+gD+L38cValXVQ7KJBhvX8WOk17I3m1lulsTGBcsYm9F6cDJmjXbMCCbiNR06qBbfe7Zw6ZvbiVIJSGbjok7Vy/CUdqP+OJI9YRkEHx5dUf2lAd/ky/4X+9xseoSXJSuci0lzmjMYRcmyY2OMTk+Gjndu47LuhPW0bagiR2PPsquHT3onoOVbsFJN3DSsla6Wpt4eOMjFMumipSpZNvbn/vq9338rrnEeRhSPZZ/clXXLinIYEGuHIz3ToWP7pqW9QUtvMT0/Bd4ZTItocqvLGkKPfTAQfftIKFysyYShht6WgmwVrQxtbSNvBXSX3LA90iEAa/QXTpvuREtNxalpbGlRrF9BdMvvIpd1NNKiFNvUK5K+rZOYnsCMmpvnYh8l5UOrtenWZkNqO4awa/IUEukrhNSRrv9+IoROCAEvlMqNfeWE9d4k+VXn7AgvSq9qFHc5sLNuz1Key2esjLD+ZMjbGi1WaAVyU+OMjE8EmX2V2e6K5YvZdWKbrY/uoWeXT2EtsN4XTepZStYleujo6OFvXtHqdrKa0oMtXR0PfPqd3yo94AG+Sca9/aSuHu0d23RDM4r2cGJVU9bUNESWVMkUiWTthKiQ+qJpoDAaNQFjdkkSV2pxQ5Jx0HzTIzQCUXo+r4MDN9ztbIfMNnewvhZJ2FJyZ6CPRtXG3JJRnD6bd8g6NsMQiO7dC3OBRfzvc5j2GVLdF2SbkqSCjSKd+6A3jHcMEGQzkTHUFGkn5ECXSfVmGHFyvrK6vbsW2PiHuqbcJTdvxH03Zb/1M0T1lsLo8Urjk/IxFPXL2SjofOVMvRPShp6bSoCzlgOpw4Ocn6DSZMsMz09yfjoCG61ytplnaxZ2sHWTZvY0zcQZUR8sOF4lixq58S9D2A0NFKxHSw3xBeJ284577IXnfrsZ9sHC/ddd92l9Qbta4uW/3em6T97xgkX5O0gWXFIkEhriURKZBGklVFZxbyqUyHdqAUBhAF66ELgkAptwsAmCNW5r8qrLHE8yXimntFnnYubTbBluhJF5yminlKn8+xf3Ib18M8xhKDlhHPYe84z+Xq2nVKgRYnQm+qFMsAhf76Ztu0D+K6gYjTjZdI4hmqTjGrqCnXWbCTkb8YTq8oH+yIcjff1QuL2GefvHxqvvtsZLXYtDn2e8dTFVFrS3OEKvjklKQ9JGPRg2ie7QLB+peDY6hhLy6M0uGWKhRxuMc9FqztYvyDz/9v70hi7zvO85/vOdvc7+ww53MVdi6nFi2zLlu3Ybpq6dpMmbRCgaJGgaVO0QNI0aH+lKYIGSIAmaIuiAQrUhmsnjvdIsi1LjiXbskVZOymKm8ghh+Tsc9ezL1/9vOfScdukNWn/MDpDYMQhec+de6/O+73bs+DVF17AlSvX0cssPHb0g7gn2cQ7l59D6rjEOSBM81BX6//4n/72H3zydj7zpwB94xuv71/uDH5hkFm/lBbY3/dTZxBmuu/HiubTdBawqxV4jouGreHaChY1jm1bnAusooCdhchBdg+d5Uday4JTLv1uV9i71GkAACAASURBVLWDyx94J9KpJt7Y8JHKagnY23LxDy+8gO7jn4XNtdaJd+DqvQ/iU9O7sVJQFA6oVw1a/ObJlzBz8lURVy9QQcbVlDCQFDJtQ1sulHbY828H7u3cDFvxGgbAy1e6/+D1pcF/SPtpa0IBE22l9t6/D88lwNMD4NSSQbGQQ/sKeiVGtplC14GJXQq7ZnJUrQi5CdAYrOHX2iHeVulL4N5YWsOlfBofb78Huzo38CvTb8DJhwhTmNhpPTU5NvVzt0qc//LFi876pe6hzSD5e+t+8iFdbe7KldtKk9Dx/UyQUv6QEEUCNgDtOHBsGxXHgs3vHQfK1rBNAdtkcEAubSai5hSLEzofdajICjIG65nGwoNvxvDYTqz2Y/hEZxQataqDf9K/gvU//Si6m328+aGH0D/xJryw5yAucNjF7ZNncIgc+S89h9aT3xCGkUVAigBOPBjLQWF7ErQ0JPqeJ9F24G7FILyd9/zRS507F/vxFze64b6mtuBvbKrK8V3ozk3imb7B632FdNUA5xPoDDBRDrMRA5s+QAvKCqDqFtRkDeOTOX598jw+MraKy6+9hOtrAR5b34vHosPQB6fw4Q9M4J6Lr+ThwnrYmNuzMDe/7xd/+QPHzvw/Xrd6amHBuXShM5Gk5r7BIPhQLwgf6vjRjtj2rKPHj7tplrqd1RUVxVReBIJhiDiIUCQleZ3oJU20o1eF7VXgOhYclTP3wVGUmPmBwGXAikh6WUr3U+DqgYPIf+oEVqIU1+MMyB0oz8UvqT7Un/4JXj57GT/z/ncgufcIXtp3CJdzhZA/1wXuswxWH3sOzmNPoCiI7lCU6UFm1Vi7A5YDyrcqTqTUNgDjdu7hLXfNmTNn7GcGrd9f0fY/z7NCFZsdDIxSb+zbhZdsD0vDAlnmARsG6nIGHRnkvQgqiGFFGSyfCv6hSLKg3UDrQBUPWc/j+D4b2eIqLlwr8FTrCIZ3HQH2NPGu4y4OvnzWdL76YrpzopXPzrafrFXVtzTsWBmdKa0ykY7gjW3gJMZUilztyJL8QGKKw5HBfKc79IJ+YCVJYhut9K7du9ThY/vEfKtHV4HMRkgNqIGPPEyRUhaHcAgNOI4L7XmwHRcVy6CqcjjC6ElgyPKRTHvTT4iBW3xPvw1YnJzF8O88iMK28OowQ0G6oFJ4qJLivicfx1Nffxbvf/gt2LjvLnxhei+60OIlxA3PUQ9I/+JFtD//uGhSCUTK0siVNwpcC7amiGtGneXtjLvlovA23vAXXri4f7ETfT4Znzo+3OhaDc8zcbWOR7Wjnh0QH8wM0QTWC+geoDYy5J0Yyo/gilxLjEynJeum4WLq7TOo9l6Gv/sODB57A5lTgznSAo7thDVfx/v2aNQvrmLzk0+Y+apj2pNN41S9oFDGaKNVVhTUDFcRLNLdrUK7bEO1Q14sjFIE69u2CdbXkfa6yMOIGk7q0F1H0Ki6CJIU2vIw6IcY9gJEVKeIopHbHoNXQbsOLMeFqzUqRQJXgFUUMGdpnEsAq5z82tJpgNiNa7aL/kfejerOFl4dFPCNTVU4HLELfPjVZ/HUF5/Au9/zZpw9ehe+FFeRa09Az6rpwmsq7P/OaYx98UsykS5gw5ASxJ0ukY48UbSBUVSGtLYD9zbu4y13yce+ceoXVwfxH6paq6GNqh45tFuc1D+37OPx5QiDyMCEY9CBg0pqI9yIgF4CTVXGNIIxCYxdopIw3kD13bPIx7pIvjMAXl0B9leAA1PAoZ1w9nrYOwH0X17F7ke/gj22Qn2sbfJmAyTaUggCec6itiQZcNdZqUFZFtwkNPS8s10HdrWmHMtDd3UNg05XGDi1iWnMNzVmpsdhW5bIyfS7AYa9IYLhAAWlVangKDsYBWNZsCoVVPMULqfIZNNzIIXSbUCLKLpImfPAQDd3cOPht2H5+A4EIRAnlgTdXMXgw1fO4PRnH8VDD92Lb04dxDMELmuqNmpgqg017eHQ6QuYefKJUrdKu9AcSMlRVMpziJ+fpaGNvR24Wy4Kb/ENX7x40fn6wvA/daP05wvHaxy5Y699eE8LcVLgixd6+MwVH6udFJ0l3mhjAtlLhhmcbgTd95GkfimERq46UUHjLeB9O6HqIczHzwM6BI40gB0zwIEZYIcLFaRonLmKY898DRO2Qb3Rgjs9bQZFzgxotG0raFbABplllOU4ysoKGH8oga1sC5bjwas0UW2PY2mtCz+xEBfAfM3gyKEdsC2Fvp+g16VFiA9/METshyjCFFmSlraaFMWwHbh5LgMqIpO1IUfJSD9cWupxMszgVQgKG2eO3Y2Vu/YBvpjaSka1vQL3t/pwvvhlvPPwPD4ZtHB1LQFMpQzcuUlgpoL9V65ix7PfEKsS9rd0ylVI5GcV6nuz5DL1QuntwL3F23jrPfzPT56evtFLP9uLi3vHZ6eqDxzfpXbWCQwweH41xRcvD/DEyRvoXPIx3t6LIKuhN0igByHgD6Uv5M7TWKZEA02NAe+fB85eAk5eKaVZ5pvAjllg91yJF14fYnLxLA5ffAk1V8GpVFCfmTOpKgqnyJRl26T3kdsHU2SKWZAG0QxkpTQsx4HtVJArB8arojoxg4Wr6wj9EMf3TuDI4XloW2MYxuh0AgncQW+AcBAgGYbIk1gGVlkey+DJFgs9Fsp5mfGZ/SRwZVIkRAHFXavRODN3AOtHjkqJLNShBqdyKcYO2jixegl7gy4+vQAEKxHAHlgCdwZqzMbBwSomXnkOJoxhBLTM0pxtspHynFVFGbjbpfLWi8RbfMdfffXK3jeWNh8Z5vbho8f3Ocd2NzBG93TArCSF+uZlH09cCvHsE6+jmdbhF1PohloMr1TgI8tiZCSAU7eJRNa5Maj37IB58rvAYgeYrQFjNjDRAhrTQGTgViMcuPBdTPSWYXk2XMdDdXwSdsU2SEOltQXHsuWGlqku8x1XOnTwED6thtYOCreOgIsct4Yi09hYXMRbHjiMAwd3wnYs0Wnu9QL0ugH6vQGiQYgoiJBGCYokRsYyn2bU+U2SPQOpNJ0WJhFH0IrlrA1jWzDKw4XaFFb33w3j2cD1ABirA24E9ZYq2hMu7E6A9eUUeOIysBGWelKzs/DaBe5UXbinX4FhxuUATEpyCsuVAuqagcsfuZ1xb/Eu3oIP//Pnzx26vhF8Ofdae07cs9faOW6hVuIGEBZKLfZyfPNSDycXhnj9uRvwl2MMkxriWIm8C8XB6QBQcLDiOECzgua7dsD/yrPAIELhpIDLG9gFdh6GN9/C9OYbmFtdECA/bGZPB15zDLWahyIZwrU5YbXKgQ2BEiwlxR2e5aSFghFsbOROHbFdxxAOwjBH3u/hrjt3445DO1GpOYhIBRzEGA7pYxvA7weIwwRZmCANA2RJIHYiLPVFvNwwkEaOA0oJH9hoDWUcyYZKV7ECDwvz9yP36hR1EyK+ujMHdlVgXkiARR+YHANWhsAzpwG+/z2zaM8a3Dc2QHTqFPKY3bxUE5LliXEWuxL2t1ZlO3C3YBze8lt+9OVLdyyuDZ+oTMzuOnJoRk8Rnqe4v9SE+qkehQd7Kc5c7+LlaxFOvXwDg4sbyPopklSLOBqzBku9hBnDsbH7vXuw9JXngWEfqZUA7RrU3nl483OYGqxgZnMRbh6WguEMQtuFXWmhVq9CR104RDZZNmylpURlwcqsLgYeVIOUEZUL49ZF7jSEh43VTaSBj6OHd+Hg0T2YmGnCcm1EQY4Be91hiGE/QEpQRhAiDiMkUQCTJnL4EGih6aRHQ+ubhraGWZZrGxtaMXhd9FKF81P3IPV2AgMPsEPgvS6woYEnqReVQTXGYbIusHBaymjs3oVdBwvcPdfDxmtnUBAUIigtIrR4YOTSWxuBY7qwLGd7OHXLd/IWu+CzJ1+/40Y3+dr4jt1zu+fH7XadIxJKkSoVJQa9GOjHGQZBhKVugIXVAJduDLH4xiY2bvQQd4YookAkSVPLRjExhrmHj2DlL16CqTpwJ1pwxuqoIMB0bxW14SacPJQpLUtSBi6RQ8qpo1JvwI43YCOHzRuY2VaX2Zdz5sygNORSNjI+SleR6QrC3MbG2ibCfg+7d0/hyN2HsfeOHWi2WRkU6A5jdAYBwkGIeBAgHvqIA6KqQmRpDENbkZx2mxQz59SZ5TIzLWdTNwO3XN3wM7kwdQz+9D3Ad0KAZmF/uwEsa2BlE+jksCankL94Adi8ImW9mt6Fgw9aONxaw+pr51FkVmnjydlAEULltOhk1BrJ8Jb2tgN3i8XhLb/dP3nmzNtXw/yR6Z27nPGJVrVWtWAZqDQzKkoNBkmKIEoRxakYWg2HETYGIdb8FBvDBJ1ujCjgpDZH7tgYWgpFw0Oz30WQRKinIVy/A5UE8NJYxM+lVb05lBEJUw/KqsCqVFFLu3CoO8Fsyy/2sxSP01r8djjbygst65SMgQsbPgFcqxuIhz3MTI/h6H3HcezeQ/K9HyZY7Qbo9XwEfQYu+9wAse9L4OZpDKSJDKm4X5UMKAAJTpd5slDGleW5I6+Flcjl+jw2Zt8BfH0INCy4R10YZvwbC0BjFrDngQungfA68Y5Qk/N4099qYCa8iM6FyzzjRPhOSn+SG4oAFtJykq1sZvjtwL3lO3mLXfCJb772y+th/kfNuR1FvdmoOa4NQt0pFZPkBaI4QShawjnCMEEYpQiCEH4QYhj4CAKWnLmoOMb01PF91KsVmMTHcHMVyMm6EWgDNKNVnJ4F1icTWwlE4nWVC9upopZtwjGpBInYQXPKqixxbSdggV0uAzhTLlIOpjKFMMjQ3WTgDjA+OY4733oPTrztLkzNtNEPEqysD9CjaHk/Eo/bmFDI0JcBVU5t4yyFSrm/5S6XMaul7+RLtAQYQQSUBUXAhbaw6E1gefy9wLe48onhidFeB2sbC2gevQOdcwpYvQEkm5S7gJ7Zjff9bBPZjZfRu7IIPTLLJh6agA9+cc8mWZ545W0FjC0Whbfxdj/61Kl/38/1r3njk5ZTqVYcRytLKcXAJY6efjiRBC6tN2gtmSEIA/hBWW6GfiCT2jym+XOJ7/UqdaHGDTorpblzwc1OIf1jqQNHwEEp3MailEGYwYVWNtrFJixzc7dJPC8hClzJeAJooAIkl0OC8TcWwtQg5CHS7UrvWp9s48633of733kC7fGm7HJX1wfobvQQ9gMEfiTDKQFBZLH0uKAkK0+Q0WCKk2ylCnE9kAmzpkcJx708RDTWdAtXxx4GXq0C62uoeEs49PYUV4cdHDo4h1Nf6yLuVoDQF1iFvWc/3v83NPoXnoW/viLlOJXjC8PBXgFLOIIsQUo8dWFtr4Nu41beOpdQS+q5p0//t36mPqRr7YryKq7nsrMUpLAwZJKMfFTaSiZi1iwWHFGMYBggCAIkYYw4ilEwaCn1kuWwXVfAit2NVfAA4NSlLAs5PS0VHBkQpqAUq0aiNDJjQRsLLbMBjUT2thKwnOzS5Y4ID2WjKBRS6i0bOuexIsgRBD6iQR9ZFKMxNoH9996Fe975AJoTLRGv29zoob/RhU/4YxgLH5bKkdxBM9uCJl9pLOKPgl+SmToHRnydnGwzaEtEJx8yKDxcG38rkivTwPVrcLCInfcGUO0ODkyN4aVv9tG5sasUqCOJ4cA03v2wg86ZZ5AMetDUjxauL71ypXH4/kRb3BXs7eHU1onC23inJy9uNl6/tvRn3Vy/GW69rlzXcSxorkqJFroZuHSpY/AmGV3ZE1mpREGIKI6RcLWSpPL3NItO2S/CoOLa6Hc2BZxPwL5UoCN7DmY2Pr9kY2MjYu/KpJOlaKMHixFEfXAJmjKASQNgmUw8BgdVYnmZGSnlo4jAiiHyKEK1PYap/ftw+G0PoDU7K8Ol/mYf/bUNRP0h0jhClpeUuowrn7TcpSoGb0ajL/nBgiQWRgKhjwR6yHHGg0chhY2V9pvQGe4Czi4A9joax0Lcs3MFB4sIr7wa49XLd8CYWdnj1o64uPdIgvDSS0Ac/eUaKGdWlyNM9sfSUvPgsLcz7m3czlvnkideOje3OEg/30+tg6nlNrXt2ByCEh8swZLTWrL0hiX5O2LwJokwbRIZWEXIYmbhMniNBHaGNE+kzx32h3I9V0alQ3vpkcNSVIy0RoFLqCJJOVbio6V9WNIHlzhlWc4UGmlRTpZLt3fCmQvkzLgs42OueHzwlKg3x1GbnsHckSMY378X1fk5rF9bgX99CdmAr6d0HEi1jdRyBXzBoJGtVOrDyhMoroYEQ6xlb8yMK4EriCoLJte40dyDjnUX8MoVwOsDe2KcOLCJE/4qzl8ATl6cR17sAiarcHcFODK+AWvjPLT00jwA2OYrcafnLleAGDwx5IDYJtJvnSi8jXf66HPn714Nk8/3Uj2ewmoqy7YIcpfhjFLiZ0tiOVcwJH+HOf1hM6RRhizJkNAvdsS6YcCyl/WjGGkUoN1soe/TV4d/z96XDu+l2XNpGl0gky9LxjImLeDEA9Q1s55YupeOBvw3Y4OUWqm65VoGelkqx0RAJTHSOITKgFqrBafVQn1qBq09e9A8ehz99Q6iq4vA0EeRJ6VbAuteTsBZBnOfTAvOLILOA1kPKU0jMsYQDxBHhmSk6CnY0LnBemUWa3MPAi9fJ0Ue2JFgcn4Fb/b7eP60hfX+DDBoA3unoIsF7B9bRytbhmF5LlmWX2wIPOn5tfFFjUOqcrMduLdxO2+dSx578exHVnrpfx3kjhcZ1YDWWtg4VGcQoAOzmpHyl4OnhDIueY40orkzg5HBy0HPSDUiVwiYjYMArUYDfpwjSulEkEvgKvaTgj8uJ8opea7spTP2xgXcqI+mpql0mZXKwNVyIKSZQUqanUy3LDlM0sQgoYN8miCOAuhcodJqwqrWUKm3YI1NwpvfhTTXsPtdmDAsMcLsqVmUWnx2fpUlMTgUM7HwirUu4OQ8wDRyy0NB+KUkQxc6B/pWG8v73ozi9V7Zn04N0Wy/gbuH67h4pYFVvR9mrQbMjkP33sDe2Q5a2RLf9agEZ3lMZHTp8akMWVbly/jeGmp7HbR1wvDW3+kXnnv9N9eH6W8Nje3Fha4TDSEFm0yUmQ0JxGAvOcquBCow2CjwlhUSjDn/jX/PPxsazuUIBkO0mnVEGRAw8FnastkVfuvoOVl+82AoDOycpXaCSjxEjftMQWKVgSJDMj4H+1KW1rzN5SAg2V0hI+qJa6hwKP1htdmG5VUkeO1KDbpGI6AqKmwhKUnD1Qv7ASl7DSxy9mVxy8k3S+Qyq2vitZmJCa0U+ONoLSQDMgZ+DddmjyLbrBDOBWcswQP6uxiPFnFmqYnr9eMwm1PI6i04m2exZ66DWnIDlsiHlGU3z0j2uJwsy/JYiA7bGffW7+StdMXv/A4+8/5f+L1elP9KP1eVxOhqwSWIrG9oJMdsxhUPs2IpmCaTY2bcfFSqCpKgzIQcHOWZkSw76HQw2aoj0Tb6nFmx9Ob6hoEjBtHlYSDkhCyBSiOZ6nrxEMRE8dkkaoWay16YtpUKWV5S7LIiRcp/J5RKzKZjeuvCUjbcRgtW1RNJGZckdceGU2mAdGEulUrscRmYMvvKExmGlUcCS9Zy5yzZlcFt6Boo9avslnk4pXBRmBpWZ/YgsncDHR9qvoF70+dwsP8aLm9YOG0fQJIfQR658HqXsGdqFdV0HVqngtASer4iuKSc3pe9LT9F/tzt4dRWCsVbfq+fO3n2d7tB/qsM3Nioal5Q9KEMLpbEBGAkKVdCZVnMVY8RSRcGDx/DdFiWtCWiScFPFPqdLiZaDjIqRsR029PIcnJgtQR3KjvMQnpTi4bYSSA7TzfzJQvy8BAeLJ9+5Aaf8VoGPStaHhwyhObryaS/LeIYjlWBW6vDeA6066Jiu0KW144Ni1BCm2gsAkFGUEvqawgHtyyZC9ndCptQ+mA2nJIRLfah5a6VxL+iILarht74GPq73gQsDYH9k9jtv4K3Xvuq7LTPtw5iIX8AftdDe3AD0+551PKhyAPQwlMGUdw3jYZTMlkWjCUDdxs5dcs381a64DMnz/xGNzT/2s+1F2emXhSFSg1XOgUSZtaMmZZlMb9n8HKNwwAtg0vK3psl9QgYEWYWup0BJhsWjOugnziImS1FAob9cqnnlJJVlGaCXlJxADccwkr6ZXks65EycFMpiY0kV9kHM2/KzyTxgIitAiaOkcURPLcCu1KF8jzh7LqWI7xcajlpBi4Hb/xeKHtMcuX0WGKU74cAC0H6c+XEH2cJYor7YwGPyJqM/bCD1NQR1F2sHr8fGFjAjjYaK2fxvmtfRCXqIqlP4kX3IVxt78fchbNoR6+hUoQjkj5/BE8Pfp43e+cS/8Gq4HsHxnaPu5UC8Vbf66PPX/zZFT/6L8PUrsRZXi8Ko2NZ/RjELI85Teb0mLpSNzPrKGBLZYjSfZ3+tdKTQiNMNHq9EO2akgAaZjZi9onQ3z8IUh4GSSrrmzyiBkwAJ+hApUHZw46cMKUslmlyWb4LK4jQR/bGzL6038woycFhWQzHs+F4NRjHBcn4nsVgVXCUEikbwQKTfsggFuG4Uu3C0uUelb5GhhNkybLl/lj2z9oZZWWW/DyBaLTdROLkWLrjMMyOvUDFgXfpGt53/dOo+9fgOB5OT70NC7vvRe3kq5geXIGNEIrlsCCwbu6J+bmV2Z4HB1/Z9/67Hbi3ejNvpcd/5fS5u1Z6xef6iZ6IkqyZZbkds69l4Eovy7VPORGWnpSTZoIGZJ9aAgbKgGXxV2ZIyrv0fIO2l8HxXAxTGxGDlubUDFgGIoOOk2hxdA9QBEM4QVfA/jKmkSFNuZaSna0EblmOCwif5TwRVVIRcK9c+ubaFZcSjqg4VQkMZlKq4DBwWSpL4JbIRcnA5PtyGFWolJshQDlIKUhusa9lUub6h5BMCw5BGoItZs/tIqSsKoZYOXgM5oGjQOTCXu3hXec+h4n1U+BcvJi5A6eaDyI9dwHj0Tosw4xbDqHkhZRSrNLVEyEmwzBBgm4H7laKw1t+r4+fuTa20et/qhPiviBFPUkzN80yxYxIsIWUx+wjCX1k8I72sIJmYhSNylpRSxJgvkZYWOhFCk0rhW1bGOQ2VZUExBhnRnpc4p6L1CCPS5C/HfSA4aYAM3g4yApI1lLlwaDgSCaWQlJYRVxXlUMdDry4S2bPbZGsLzxeG3T2cNjD8nepfg3hUCWQn8eCEOOdMnB1eRjRvyclHpr5WGRyiJ8q2wNPdjVEWXF05iGxGtBpF8u7DyB9391AUgMGKY6+9g3cvfQ0kqCPVruFjWwS1zo2VMajLeYRVn5uLM+lr6VEaykWwEiWIZnZDtxbvpm32AXqMyfP/NZmaP7lMLHcYZTU8yzVnBILPjmlrEs5ARakktzE5Y1czlzL7ChrWU58YSEqLMmyLaekqQ1zMnlsxDkrWiVACsqnEv6Y+QFMFMHxu8iDnkxvS0ZQOYXm9eVusxwuSYoq5zfyfVkqpwijCCksaO2KzCpFzklbEAENS8OWJRdj2pbrpI9kmazJg7JQUOOK5bTixPimwkaplSO539DxgOU06X9863VE2oOX9bA+MYvBh07AmAlgE2hcvIR3Dr4Fvfq6BO6gPY034nFY55bgyA55tPqRqTKzL5lPZRUg1YQoW273uFssDm/97T7+ysVjy/30U50YO4Ior0dJ7KZZriLCGNnXErIoE2TqDRNbPFI+HAUugQnSd2alqFoCG4PUQktTnnQUuLAQS6lsJOtSUobufSxxdRzCbK6gSCKklgNLuSgItOfKRpBKpeI/f9eUdmEPKJNlQilNWRlQUYLi6aVWBqos3k0iqxaHqhxUmyCvlnKpQt4vlTeMtikTQzaOOAkQGcWhm+Q+WRvxOgOVK9gZG4IMGQPbaiOwFGppD8PaODofPIF8ahrFKzlwuo/GxAasvUO4YY7YtDEzXYP1yKOosHqRPpqHQSzqGJyi8888ZYiJZrb/Xi+/3ePe+q28ta544YUXrPNR/Tc7YfYbwxQOs26SZ1YSx4owRoIcCH0U6RgGLm982daU8qVS1vJm5IQZ5BlYCDILLZdlboY4LQH9iSJsUSOgUTSHXgEF21K4yQDJGqGABVKuXRhMNgOVQyMOl0rtKWZfUvwtIdOX7gJUgIzJsqH4G2GRgsqCSK1qw846h0XtKnll5NLSm4fZjcHPdYwjInCKJALbRToiN1C6h09E8+2SL1v+mWV2xp/jjCHUwFjSRb8+ic17j8PcNY/iKWpJZcAJ6kh7wHcT2K9u4uBdfeSPfBUen4uEfJlel4HL6QDLZva8pDVmHI6pbXbQ1orC23y3n3v14s5uN/joIMKJQZRXhnFSSdJMJ3GiOLSV6TL1kWR0VK4tbvabvJ1Jcue9x16X2OMg12h7DPhE2EGk7MWFjYh73kwh5nAqSqEo1NZbQjwYwBIlRQ6XbGZa4zoOLFnjKKMtS1naUmmaU87GEI7o2krZSnFmJTaYw7BQwzCBSTh+JkUvgYWkpONJDmXgkqguqApZLVmaYnDMoAxoV7a0mk4CYElciDWmgDJGWA9RfTQaQ2cCqesgqwCDsYMosjngLRXg9Cbw9kngQh/W/Q3kz0SwhznumL0K/ehfwGHg8vkFYXlTDrYUQWebYTHjag7I3O2Me5v38pa77M+ePfXezjD/z/3YTPlJXh2GiRfFsc5So9jfEj0lQqmjzCMBXBLSRnDBkVVHoRHCxVjVQhRTMJ0BbSExGkFR9sB+VEIk3SQy8dJVoeqxF1WOYzhgcmxlHIdlrCxYKdOGioZyPaDmusZoS1lKG6o2uZ6bm1zZN1Z9a20QIQwoRUO8cQYrj0TVgj0qg1ROF06rCLQgzIE9JVlCMnGmlrORfriUaFXlbhcQEbxUKyReBUG9gaSxE2nqAtSWvqoAbx/wrjawMwXGPODbfVh3G+QbwPjmELPWZVhPPQ9HvlikTgAADd9JREFUSmKSDEb9swyoShYSDxUGLvW0ErWtObXlAvBHeMP6z779yt9fH2T/bhip1iBKPT+NK0mcW+x1OW0mQqokmd8cHJVSNNIVyn6VZbGFwLiYalbg+11mQ0PJmYiZytgqyjWihGVuYezOBsKNjYI6ytpzxc/HaK3qjmMqtlGWbZTrKLRdXbiWzi3XTjylB17VO1+p1L82N1m9O82K9/YGUf3lc8uVG70E6/1IeLkMXidjKUps8mj9IzI4ZdYth7jsN0uARbkjYsYt3xshn7FjIWxWEYyNIW3UZcdrujawZgPLtGGJQads9d49UM0qiotLgNsHTA04fACIq2jVfVRffBrTC1dgs53gBFtWQiNABw8IoR3zRXJQ5SHZFov7EW7jLXgpXftOb5qf2xxG/6YXZTuDNNdBVHghB1ZFoRNiGke/OLC6OVsWwAKHPQzcwhK51MmmhzAYGipnUE8qMQ4GsHSYKcPJMqIhhouLhQ0LDr2AKi5F2ZRLB3fPoM6vipV7jp25jjNo12tnxur2N9te/YkDE63XPvjgru5nnl14141B9DE/yiefe/lKfbGTYaUTIQ4puxrBzSIBWnDyzYxmawc216cslVmGW5xWj9ap4m0CxLaF/kQT/bkZhLPTwGAI65ULsP0C8aCAmzlwa3OozU1h6lAd3i4Py1UXy/0GzE4eBilw0S+lW58ZQB2bgrN3E61Tr2LsyjV4eSRG2rQ7EVei0UEhGlsiildBoqvbpfIWjL8f9S2rT3/r7Il+5P9GL4wfDhN4YZqrKC+cLIOTZ7mVF7k2xijuUgutDdcyTByKs9ycgetgul1Tw34fcZabvNAqMpaJdFVHuTYytV5bMsFm13jVCuoVh8bTip5hkzVlJqooKo6Kx2qV5YlW7VutqvWFiebYt3/+oYMbP/jmnlpYaJ276H+qF6bvePHcWu3KeqqW1ykG5yOLfJGW436WVTID1CNZ3uHuNB8hqrhC0kgtg6Bdw/rcLPrzM7LLxeIG9IVrmLUU9u9sYrJeQb/vY9zK0LIyOJYPL+/DThIsVHbiK/H9SB6aB+5tAs8PgZf6wItdIJsA7qxCvd1BdeUiZk69jsrKKlzyl3NhIkNxB65L2dnCrtIzdztwf9S7eKte/+WTJxubqfMuf5j+UpBmD0RpMc6pcG6gkiyzsqywk9zYGYUrCvrNiT0kkkLL7na61VBh6JswTpEVSjIud58smVmYdq9cY2Vq7JpWVU+jbhlMVWAm6s7mWMt9fqxW+9JUrfLU7sOtiw/v25f8Nf8f1Meffu0PNobxr778Rq96aTVSSysBBoMQesT6sRSFZlJ4doaaOHwwei0UroVes4VwahIbU9OI2nUUGwPg3BU4y5vYMTmBIztd7HU20PBXgSySctoeeQ2JBiVXVsqgp9v4zrG/iVNHDyHe7cKsZMDzPcDnz6oDPi1aNmAFl1DZ0cKESdFYWoZ1bRn13lB225lli+QsB3252h5ObdW4+7G97xeWlipX31g+NIjyh8I0f2eWmaNRls8khXJJgk+Kwopz40Rp6mYFNLWY/cLBeKupw9AvWCqT1pcZFwkBD46FrNtDfzMUf5+xWoHxikG7gvWZseqjk43G/zi6Y+Kln7r/wOCHeROfeua1317rRv/q1MLQO78a64WlAZIogU59qNwHcVCO5lCLnmQaScXDxtwsNudmMdQ1FP0hsLQuYubVOMHczDjunPcwp1bRHK7AoU0Kx3IybWZlUYX2pkVJw0o3uHWVaXpnxx24cPTNONXP0XrTQXTWDPJzfQyLFNmOCWCxB5w/B07rLFfBbQOzU1U0qTV9+RLsToTEqiMSssb2cOqH+X+//Zgf8hN4amHB7S535wbD4kicFW/LiuJdUVYcinJVC/NUxWnh+HHu9RNt1atNlSS+iaKEvgTILFeQUbanMNwcyppo3E3VpFd0x6vWIzPt+h8fufvtL/70wZvixj/ci/rCs+d+58rG8NfPLg5r55dTtbI5QNDvo4h9Yf94RSZ+umq8AX/nNNbGpxAGKfLFZajlLuxMod5qYO/+Ccy2FfZnq6iHy6jkqayJMoI/vAocR8P4faR+gfGDb0eweR35yhnoEUgjVxq+bqBn1VDdtQMmiZG4TayP70LPrYlJWBGGUBsJ1JqPoNvDZuYjmJ6Fs3sMrauLcBZWBciSmu1S+Yf7v7/9qNv6BL723NnxtSC6e5ikHw6S7KeCvJiLM1ttDDM7h1Upiszx48hweFVQZl1sJA2yOEbDRjrmqGdanvX7757f842HH/5ry+H/62v7wjNnf3exG/yL15eGtSuriVpb62GjHyDLItgqQd6uY7BvH+JmC8HaJnS/QG1mArXhGuYdD3M1F24lwnTawXgRo2EVcF0K02kEysVakCIsNCwG8uaKwDPrlToh0dCiH1UO6bhiImSyJBBQx5XZmXtvLm1LwAeztpAjaBFqO/B1Bc+EB/DGRoDKjjbiRgP2jQ0gyLZ73Nu6I7cvuqVP4IUXYF2KXj3Qj6IPRwk+0vHj/b1YV3Og3vMDxWE0lRqZvGoaftNVL7mO+u+zs3OP/LP3He3c0g/73x7858+e+9WlfvJ7ryz2msu9SC/d6KEzjOA7BoND84gmZ5G9vgTr4gL27Whj3507MO1EmMx8caKv0HtXmAYpdDhAHg6gElINI8RxhF7AQyBHnoRCwKcKpE0MNelEI5sU/p4SPGJVxYbFtl1o2wIn5FSp5vRa1C5k683BmAVtV2Xyve61cc3ZgcViEmdr+xBeWgV6G9uB+6PcFNvX3ton8GlAeS+dm+1u9h+63knekUKfyNJkN8EWhcJGxdYv1GzrkX3NiW///AePd2/t2f/qRz/24sX3r3WzT5xe7I6v9H19YXET/fEmNt50GN24Af31s2h1BviZB9o4MB6hCJYQ9ek0QGLDENrvQ6dD5GlQKlCO+ENC2S8ZBTJ5ZmATplX2uYRLjgSxZLVDQ7KSv0vhd5HoEDSUg9ypobAr0Cy3K1VhTLkUsmvMoaoTWNkQUZZiQ9fxSO0tuHrKBS6d3Q7cH8fNsf0ct/UJqI8+9XLTSpJxy9LKqdW60/Hx/sMPj3CTt/WU/+dFjz1/Yd/aIP3yG0vDg5f7Q31uZhJXdu1H54qBWkxQ9XLsbvfwljceR2XlAux0ALcoMcKEL5akdopJ32QDlTxdofMJg0fq4PLfGcjirj3CiwmGeaQRXW7ERHAONDajy4jI7ox0pYnEJBOIMErHgfFqgFOH0xiD0xyD26zhwrEH8XTzEJKV7nbg/pjuj+2n+Qn9BDgwu3Q5+NiF9f4vLB6YxxNmEqvPdIBhhNq+GvZbizj42lPYuXkNdc29aemLIHZ5KF3vRzAqodcxrmiFUuotkkVUEipGlPtR0JaB+5cUw5ETwchriAipEh5awidFG47EByphpmQYlR5KhFVTmiexPRTtGWQzu9A9dAKrUWU7cH9C77ftl/Xj+wTUHz754n+8PjXxa49lUzj7IrWRC0xODrG7+xr2nn8ek2mMquifC9SyJEPI3tSCJsFAWUhVBZFVQUwP3ILYZKc0PWNGJRmBqy+TwzYFXJINeACMZlDEN9d1gUqRwCtSVLMYLh0H6YpAskOeCm7aoT8RFflINripYplliJNEqI4Bta4aU4hbe7YD98d3f2w/00/iJ/Cda9e8b23En/x6bfYjj7+YwKrZGDPXsOfsd7Gzex0110FiVZHYVaR2BUZVkBUVdHMXG4lCEBVAmCAPCxQhh1ARMoIgvCrUegdFlsFUKsJaQq8PndHFiEX0SIKGZbWVw7Y1tG2D8C/Ls2Fxceza8FyDtltgysnQ1iksncCj+1AWop4GcAOagMVi0SIBHPrkNP+2IjTt+3IFP4mf/PZr2v4EfoRP4MvLy5MvVie++kevJCc6KTDVfR07rl0WmdZeZRwmcOGvZ+h1EkS9EAgimJAa0YBJc6iUih7sVcnbZcmbI58cL3vZtV4pVF6vALUmsLICzQuZsynjMzLr4sAq5/pZSAzk2pYcW5bhEuCcLhMb7WioigW7XkWtZWOy4aDatKDcAuMI0Y42ge46dG/tF7cD90e4KbYv/cn/BB5NksMf6zlPfu5MPF8bi9BcX0KUjyE810V8NYRZG0i/i6T0pJX9KiVWhbgOIfPfdBYovT9zwKmMfED5b2QXsfklR56T51xYPFTToHm3/FnU3ku2T/mkfEzJUJYJtATzyFu0lGWHtkr5HEIvVc1DZbIF58AM6jP16MD6KzNlD72ddX/y78DtV3hbn8AfJ/lH/vBa/omqqyprtsaNKxHMaz3g4gBYDwA/pQ8KkIgiQBloREvTt4eDqZHZtgSZaN0wMyqgoVE0AFQIcKaQHMXmuLvlNQYIQsAPyOIXGKOYIHHaxEQs4GORwCwDn4Owm1xgCWAh4paEfofPb5W/j1eBseY/wn/66Y9+n4a1Hby3dV9sX/QT/AmsAFMvJPnHTybFBzYcG59YBbqXU+D0ALjcB7ohxAMloFIdS9xRAEk2E+iTODGQG2tXFSoTFio1sSODY+WyziHiiT2vbzuiepHXPGCsBdTdMtDpOt/vA2EwCtqsPCzo00LzJAY2gzzIREdaglnU3Uekfg66eFB49ouYaPxbfPzvPlIuoLZ/bX8C/59+AkxGFwH3W4B6GsBHFwDw62n+Z/T9D/7O7/f9wN/vGz2Of73vB//hr/7A/vLRN58IwN4f8sO9MnohCwvla/xffu3L8NR7mKO//+t/AlF2lbjFYZOBAAAAAElFTkSuQmCC",Yn="data:image/png;base64,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",Pr="data:image/png;base64,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",br="data:image/png;base64,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",kr=ie(28103),vi=ie(42441),at=ie(94811);const De=Yt=>({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:Yt}]});var nt=ie(30645),Ot=ie(59301),xn=Object.defineProperty,wn=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,Ar=Object.prototype.propertyIsEnumerable,fr=(Yt,mr,Hn)=>mr in Yt?xn(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,vr=(Yt,mr)=>{for(var Hn in mr||(mr={}))gr.call(mr,Hn)&&fr(Yt,Hn,mr[Hn]);if(wn)for(var Hn of wn(mr))Ar.call(mr,Hn)&&fr(Yt,Hn,mr[Hn]);return Yt},qr=(Yt,mr)=>{var Hn={};for(var hi in Yt)gr.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&wn)for(var hi of wn(Yt))mr.indexOf(hi)<0&&Ar.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},Xi=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const Nr=[{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)"}}],Gn=Yt=>{var mr=Yt,{pathsDetail:Hn,user:hi,globalSetting:ao,loading:Kn,dispatch:Cl,uuid:na}=mr,Di=qr(mr,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),go,Yl,Zi,Va;const ci=(0,Oe.useParams)();let[rl,Ka]=(0,ee.useState)({subject_id:ci==null?void 0:ci.pathId,course_id:"",parentNodeUuid:na,type:1});const[ul,ls]=(0,ee.useState)(),[Uo,zl]=(0,ee.useState)([]),[il,Hl]=(0,ee.useState)([]),[Ps]=(0,Oe.useSearchParams)();(0,ee.useEffect)(()=>{ps()},[na]);function ps(){return Xi(this,null,function*(){var wo,La,Ca;let ql=yield(0,Mt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:rl});ls(ql);let ru=Object.entries((wo=ql==null?void 0:ql.data)==null?void 0:wo.study_grasp_hash).map(([Fo,fs],Kl)=>({name:Fo,value:fs,itemStyle:Nr[Kl].itemStyle})),Mu=Object.entries((La=ql==null?void 0:ql.data)==null?void 0:La.study_complete_hash).map(([Fo,fs],Kl)=>({name:Fo,value:fs}));Hl(Mu),((Ca=ru==null?void 0:ru.filter(Fo=>(Fo==null?void 0:Fo.value)>0))==null?void 0:Ca.length)===0?zl([]):zl(ru)})}return Ot.createElement("div",{className:Fe.DetailStatistics},Ps.get("type")!=="classrooms"&&Ot.createElement("div",{className:Fe.header},Ot.createElement("span",{className:Fe.title},"\u7EDF\u8BA1\u8303\u56F4"),Ot.createElement(ht.ZP.Group,{onChange:wo=>{rl.type=wo.target.value,Ka(vr({},rl)),ps()},value:rl.type},Ot.createElement(ht.ZP,{value:1},"\u5168\u90E8"),Ot.createElement(ht.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),Ot.createElement(ht.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(rl==null?void 0:rl.type)===3&&Ot.createElement(tt.default,{onChange:wo=>{rl.course_id=wo,Ka(vr({},rl)),ps()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(go=ul==null?void 0:ul.courses)==null?void 0:go.map(wo=>Ot.createElement(tt.default.Option,{value:wo==null?void 0:wo.id},wo==null?void 0:wo.name)))),Ot.createElement("div",{style:{marginTop:"16rem",display:"flex"}},Ot.createElement("div",{className:Fe.left,style:{backgroundImage:`url(${wr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},Ot.createElement("img",{src:Yn}),Ot.createElement("div",{style:{marginTop:"20rem"}},Ot.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u4EBA\u6570"),Ot.createElement("div",{className:Fe.xxrscount},(Yl=ul==null?void 0:ul.data)==null?void 0:Yl.study_count))),Ot.createElement("div",{className:Fe.right},Ot.createElement("div",{className:Fe.righttop},Ot.createElement("img",{src:Pr}),Ot.createElement("div",null,Ot.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),Ot.createElement("div",{className:Fe.xxrscount},(Zi=ul==null?void 0:ul.data)==null?void 0:Zi.study_complete_rate,"%"))),Ot.createElement("div",{className:Fe.rightbottom},Ot.createElement("img",{src:br}),Ot.createElement("div",null,Ot.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),Ot.createElement("div",{className:Fe.xxrscount},(Va=ul==null?void 0:ul.data)==null?void 0:Va.study_grasp_rate,"%"))))),Ot.createElement(kr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),Ot.createElement(vi.Z,{option:De(il),style:{height:300,width:400},opts:{renderer:"svg"}}),Ot.createElement(kr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Uo==null?void 0:Uo.length)>0?Ot.createElement(at.Z,{labelTextColor:"#333",dataSource:Uo}):Ot.createElement(nt.J,{children:Ot.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Fn=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(Gn),Kt=ie(61648),Mn=ie(59301),zn=Object.defineProperty,Jn=Object.getOwnPropertySymbols,xr=Object.prototype.hasOwnProperty,$n=Object.prototype.propertyIsEnumerable,jr=(Yt,mr,Hn)=>mr in Yt?zn(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,pn=(Yt,mr)=>{for(var Hn in mr||(mr={}))xr.call(mr,Hn)&&jr(Yt,Hn,mr[Hn]);if(Jn)for(var Hn of Jn(mr))$n.call(mr,Hn)&&jr(Yt,Hn,mr[Hn]);return Yt},ni=(Yt,mr)=>{var Hn={};for(var hi in Yt)xr.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&Jn)for(var hi of Jn(Yt))mr.indexOf(hi)<0&&$n.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},Ai=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const Ni=[{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)"}}],bi=Yt=>{var mr=Yt,{pathsDetail:Hn,user:hi,globalSetting:ao,loading:Kn,dispatch:Cl,uuid:na}=mr,Di=ni(mr,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),go,Yl,Zi,Va;const ci=(0,Oe.useParams)();let[rl,Ka]=(0,ee.useState)({subject_id:ci==null?void 0:ci.pathId,course_id:"",parentNodeUuid:na,type:1});const[ul,ls]=(0,ee.useState)(),[Uo,zl]=(0,ee.useState)([]),[il]=(0,Oe.useSearchParams)(),[Hl,Ps]=(0,ee.useState)([]);(0,ee.useEffect)(()=>{ps()},[na]);function ps(){return Ai(this,null,function*(){var wo,La,Ca;let ql=yield(0,Mt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:rl});ls(ql);let ru=Object.entries((wo=ql==null?void 0:ql.data)==null?void 0:wo.study_grasp_hash).map(([Fo,fs],Kl)=>({name:Fo,value:fs,itemStyle:Ni[Kl].itemStyle})),Mu=Object.entries((La=ql==null?void 0:ql.data)==null?void 0:La.study_complete_hash).map(([Fo,fs],Kl)=>({name:Fo,value:fs}));Ps(Mu),((Ca=ru==null?void 0:ru.filter(Fo=>(Fo==null?void 0:Fo.value)>0))==null?void 0:Ca.length)===0?zl([]):zl(ru)})}return Mn.createElement("div",{className:Fe.DetailStatistics},il.get("type")!=="classrooms"&&Mn.createElement("div",{className:Fe.header},Mn.createElement("span",{className:Fe.title},"\u7EDF\u8BA1\u8303\u56F4"),Mn.createElement(ht.ZP.Group,{onChange:wo=>{rl.type=wo.target.value,Ka(pn({},rl)),ps()},value:rl.type},Mn.createElement(ht.ZP,{value:1},"\u5168\u90E8"),Mn.createElement(ht.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),Mn.createElement(ht.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(rl==null?void 0:rl.type)===3&&Mn.createElement(tt.default,{onChange:wo=>{rl.course_id=wo,Ka(pn({},rl)),ps()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(go=ul==null?void 0:ul.courses)==null?void 0:go.map(wo=>Mn.createElement(tt.default.Option,{value:wo==null?void 0:wo.id},wo==null?void 0:wo.name)))),Mn.createElement("div",{style:{marginTop:"16rem",display:"flex"}},Mn.createElement("div",{className:Fe.left,style:{backgroundImage:`url(${wr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},Mn.createElement("img",{src:Yn}),Mn.createElement("div",{style:{marginTop:"20rem"}},Mn.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u4EBA\u6570"),Mn.createElement("div",{className:Fe.xxrscount},(Yl=ul==null?void 0:ul.data)==null?void 0:Yl.study_count))),Mn.createElement("div",{className:Fe.right},Mn.createElement("div",{className:Fe.righttop},Mn.createElement("img",{src:Pr}),Mn.createElement("div",null,Mn.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),Mn.createElement("div",{className:Fe.xxrscount},(Zi=ul==null?void 0:ul.data)==null?void 0:Zi.study_complete_rate,"%"))),Mn.createElement("div",{className:Fe.rightbottom},Mn.createElement("img",{src:br}),Mn.createElement("div",null,Mn.createElement("div",{className:Fe.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),Mn.createElement("div",{className:Fe.xxrscount},(Va=ul==null?void 0:ul.data)==null?void 0:Va.study_grasp_rate,"%"))))),Mn.createElement(kr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),Mn.createElement(vi.Z,{option:De(Hl),style:{height:300,width:400},opts:{renderer:"svg"}}),Mn.createElement(kr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Uo==null?void 0:Uo.length)>0?Mn.createElement(at.Z,{labelTextColor:"#333",dataSource:Uo}):Mn.createElement(Kt.Z,{children:Mn.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Ji=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(bi),fa=ie(32558),oa=ie(31217),ji="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAXlJREFUOE/VlD1Lw1AUhp+YmkGQSnFR8AcUoSJ+LiKCqINQqIODbk51ETpaVHTyD6h/QQddXMRNRal1qLaDOhSFQicdiiKUNrkSmzQxH6WCg2a6Iec+7z3ve24kIYTMLz7SPwSmozPI2h6InroTkqQvywjOQNlm4PDczyV3yxfDT4AFa97fAmhxN/C0u9o8w6wUtYUkFdzAk1CVyC4E+x3cr7YBY7NTtZSB7DLewKF9Xa4xwAnUfU7P+wBHjjy6dgqY77a2r2MG8GV9CaQdhAhYJI8NnuYqEBgFqQ1SswawmEiCttnQIxfMdmKlD5QIXE0ZwMJKGPUjV0uqyYzNbPR6OQTBRbgct3mYX7hDiN46zr7BHq6fYGccUlEb8GFuDaFuuKbCNwtDURgFHdOQTdqA97Ewlfec75xZ99DbE6ULno8dY5MZs9r2mV/fbPQPr3kH8GZwFVXd+lE4doXyW/H7TbmdaKf0eIBWmQRamszbLNOQWxN//wf7CYUnn95U81GtAAAAAElFTkSuQmCC",Qa=ie(51190),Fa=ie(19842),qo=ie(98228),ma={flex_box_center:"flex_box_center___wU4bP",flex_space_between:"flex_space_between___ryVxe",flex_box_vertical_center:"flex_box_vertical_center___J64e0",flex_box_center_end:"flex_box_center_end___ZQTrR",flex_box_column:"flex_box_column___qYlzG",scoremodal:"scoremodal___g_fYu",selectWrapper:"selectWrapper___wbF8t",selectWrappers:"selectWrappers___bAt3m",allqingchu:"allqingchu___IczWP",title:"title___cJxdu",score:"score___W6O3r",close:"close___rZaaH",content:"content___I6bh1",items:"items___NS5if",bottom:"bottom___zStfh",yes:"yes___dvYz0",no:"no___BqowM",titlecount:"titlecount___cx4fQ",add:"add___Vazpd",search:"search___kg8ng",searchIcon:"searchIcon___CaGo3",tabWrap:"tabWrap___CAndG",previewModal:"previewModal___Ms_9O",q_title:"q_title___WfJKh"},_o=ie(10358),Ci={flex_box_center:"flex_box_center___nswYj",flex_space_between:"flex_space_between___fOVoM",flex_box_vertical_center:"flex_box_vertical_center___Q25Hr",flex_box_center_end:"flex_box_center_end___e8x5w",flex_box_column:"flex_box_column___TkKrN",warp:"warp___CyVTN",shixunbutton:"shixunbutton___5A5Bl",redio:"redio____F59s",redioitem:"redioitem___lpnfs",redioitemyes:"redioitemyes___LJh0a",title:"title___pmJ_X",titleyes:"titleyes___xpcjY",yestag:"yestag___DZcUj",qcount:"qcount___N4pNO",score:"score___aNTPQ",qtitle:"qtitle___E_ClM",checkbox:"checkbox___T6Xdo",checkboxitem:"checkboxitem___dfyKW",checkboxitemyes:"checkboxitemyes___Uh2au",bottom:"bottom___uZhfZ",bottomitem:"bottomitem___NElKx",left:"left___CG1Ne",right:"right___iBXmO",completion:"completion___xvAyY",content:"content___Tf9bM",items:"items___zogcz",simple:"simple___zY1bm",shixun:"shixun___AAIlJ",combination:"combination___c7Ghw",program:"program___sXFp_"},Qo=ie(58997),ol=ie(24334);const mo=["A\uFF0E","B\uFF0E","C\uFF0E","D\uFF0E","E\uFF0E","F\uFF0E","G\uFF0E","H\uFF0E","I\uFF0E","J\uFF0E","K\uFF0E","L\uFF0E","M\uFF0E","N\uFF0E","O\uFF0E","P\uFF0E","Q\uFF0E","R\uFF0E","S\uFF0E","T\uFF0E","U\uFF0E","V\uFF0E","W\uFF0E","X\uFF0E","Y\uFF0E","Z\uFF0E"];var Go=({qitem:Yt})=>{var mr,Hn,hi,ao,Kn,Cl,na,Di,go,Yl;return ee.createElement("div",{className:Ci.warp},ee.createElement("div",{className:Ci.mainPart},ee.createElement("div",{className:Ci.qcount},(Yt==null?void 0:Yt.question_type)===8&&ee.createElement(Qo.Z,{className:Ci.content,showProgramFill:!0,value:(mr=Yt==null?void 0:Yt.program_attr)==null?void 0:mr.description}),(Yt==null?void 0:Yt.question_type)!=8&&ee.createElement(Qo.Z,{className:Ci.qtitle,value:(Yt==null?void 0:Yt.name)||(Yt==null?void 0:Yt.title)})),((Yt==null?void 0:Yt.question_type)===0||(Yt==null?void 0:Yt.question_type)===2)&&ee.createElement("div",null,(Hn=Yt==null?void 0:Yt.choices)==null?void 0:Hn.map((Zi,Va)=>ee.createElement("div",{className:Ci.redio},!(Zi!=null&&Zi.is_answer)&&ee.createElement("span",{className:Ci.redioitem}),(Zi==null?void 0:Zi.is_answer)&&ee.createElement("i",{className:`${Ci.redioitemyes} icon-duigou1`}),ee.createElement(Qo.Z,{className:Zi!=null&&Zi.is_answer?Ci.titleyes:Ci.title,value:mo[Va]+(Zi==null?void 0:Zi.choice_text)}),(Zi==null?void 0:Zi.is_answer)&&ee.createElement("div",{className:Ci.yestag},"\u6B63\u786E\u7B54\u6848")))),(Yt==null?void 0:Yt.question_type)===1&&ee.createElement("div",null,(hi=Yt==null?void 0:Yt.choices)==null?void 0:hi.map((Zi,Va)=>ee.createElement("div",{className:Ci.checkbox},!(Zi!=null&&Zi.is_answer)&&ee.createElement("span",{className:Ci.checkboxitem}),(Zi==null?void 0:Zi.is_answer)&&ee.createElement("i",{className:`${Ci.checkboxitemyes} icon-duigou1`}),ee.createElement(Qo.Z,{className:Zi!=null&&Zi.is_answer?Ci.titleyes:Ci.title,value:mo[Va]+(Zi==null?void 0:Zi.choice_text)}),(Zi==null?void 0:Zi.is_answer)&&ee.createElement("div",{className:Ci.yestag},"\u6B63\u786E\u7B54\u6848")))),(Yt==null?void 0:Yt.question_type)===3&&ee.createElement("div",{className:Ci.completion},(ao=Yt==null?void 0:Yt.standard_answer)==null?void 0:ao.map((Zi,Va)=>{var ci;return ee.createElement("div",{style:{display:"flex"}},ee.createElement("span",{className:Ci.title},"\u586B\u7A7A\u9879",Va+1),ee.createElement("div",{className:Ci.content},(ci=Zi==null?void 0:Zi.answer_text)==null?void 0:ci.map((rl,Ka)=>ee.createElement("div",{className:Ci.items},rl))))})),(Yt==null?void 0:Yt.question_type)===4&&ee.createElement("div",{className:Ci.simple},ee.createElement("div",{className:Ci.title},"\u53C2\u8003\u7B54\u6848"),ee.createElement("div",{className:"mt10",style:{fontSize:"16px"}},(Kn=Yt==null?void 0:Yt.answer_texts)!=null&&Kn[0]?ee.createElement(Qo.Z,{className:Ci.content,value:(Cl=Yt==null?void 0:Yt.answer_texts)==null?void 0:Cl[0]}):ee.createElement("div",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))),(Yt==null?void 0:Yt.question_type)===5&&((na=Yt==null?void 0:Yt.challenge_names)==null?void 0:na.map((Zi,Va)=>ee.createElement("div",{className:Ci.shixun},ee.createElement("span",{className:Ci.qtitle},ee.createElement("span",{style:{marginRight:10}},"\u7B2C",(0,Ln.EM)(Va+1),"\u9898"),Zi)))),(Yt==null?void 0:Yt.question_type)===6&&ee.createElement("div",{className:Ci.program},ee.createElement(Qo.Z,{className:Ci.content,value:((Di=Yt==null?void 0:Yt.program_attr)==null?void 0:Di.description)||"- -"})),(Yt==null?void 0:Yt.question_type)===7&&((go=Yt==null?void 0:Yt.sub_item_banks)==null?void 0:go.map((Zi,Va)=>{var ci,rl,Ka,ul,ls;return ee.createElement("div",null,ee.createElement("div",{className:Ci.combination},ee.createElement("span",{className:Ci.qtitle},Zi==null?void 0:Zi.name)),ee.createElement("div",{className:Ci.warp,style:{padding:"0px",paddingTop:20}},ee.createElement("div",null,((Zi==null?void 0:Zi.item_type)=="SINGLE"||(Zi==null?void 0:Zi.item_type)=="JUDGMENT")&&((ci=Zi==null?void 0:Zi.choices)==null?void 0:ci.map((Uo,zl)=>ee.createElement("div",{className:Ci.redio},!(Uo!=null&&Uo.is_answer)&&ee.createElement("span",{className:Ci.redioitem}),(Uo==null?void 0:Uo.is_answer)&&ee.createElement("i",{className:`${Ci.redioitemyes} icon-duigou1`}),ee.createElement(Qo.Z,{className:Uo!=null&&Uo.is_answer?Ci.titleyes:Ci.title,value:mo[zl]+(Uo==null?void 0:Uo.choice_text)}),(Uo==null?void 0:Uo.is_answer)&&ee.createElement("div",{className:Ci.yestag},"\u6B63\u786E\u7B54\u6848")))),(Zi==null?void 0:Zi.item_type)=="MULTIPLE"&&((rl=Zi==null?void 0:Zi.choices)==null?void 0:rl.map((Uo,zl)=>ee.createElement("div",{className:Ci.checkbox},!(Uo!=null&&Uo.is_answer)&&ee.createElement("span",{className:Ci.checkboxitem}),(Uo==null?void 0:Uo.is_answer)&&ee.createElement("i",{className:`${Ci.checkboxitemyes} icon-duigou1`}),ee.createElement(Qo.Z,{className:Uo!=null&&Uo.is_answer?Ci.titleyes:Ci.title,value:mo[zl]+(Uo==null?void 0:Uo.choice_text)}),(Uo==null?void 0:Uo.is_answer)&&ee.createElement("div",{className:Ci.yestag},"\u6B63\u786E\u7B54\u6848")))),(Zi==null?void 0:Zi.item_type)=="COMPLETION"&&ee.createElement("div",{className:Ci.completion},(Ka=Zi==null?void 0:Zi.standard_answer)==null?void 0:Ka.map((Uo,zl)=>{var il;return ee.createElement("div",{style:{display:"flex"}},ee.createElement("span",{className:Ci.title},"\u586B\u7A7A\u9879",zl+1),ee.createElement("div",{className:Ci.content},(il=Uo==null?void 0:Uo.answer_text)==null?void 0:il.map((Hl,Ps)=>ee.createElement("div",{className:Ci.items},Hl))))})),(Zi==null?void 0:Zi.item_type)=="SUBJECTIVE"&&ee.createElement("div",{className:Ci.simple},ee.createElement("div",{className:Ci.title},"\u53C2\u8003\u7B54\u6848"),ee.createElement("div",{className:"mt10",style:{fontSize:"16px"}},(ul=Zi==null?void 0:Zi.answer_texts)!=null&&ul[0]?ee.createElement(Qo.Z,{className:Ci.content,value:(ls=Zi==null?void 0:Zi.answer_texts)==null?void 0:ls[0]}):ee.createElement("div",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))))))})),(Yt==null?void 0:Yt.question_type)===8&&ee.createElement("div",null,ee.createElement(Qo.Z,{disabledFill:!0,className:Ci.content,showProgramFill:!0,value:ol.Base64.decode(((Yl=Yt==null?void 0:Yt.program_attr)==null?void 0:Yl.code)||"")})),(Yt==null?void 0:Yt.question_type)===5&&ee.createElement("div",{style:{background:"#F6F7F9",padding:"0px 20px",height:46,lineHeight:"46px",marginTop:40,display:"flex",alignItems:"center"}},ee.createElement("div",{style:{flex:1,alignItems:"center",display:"flex"}},ee.createElement("div",{style:{marginRight:30}},ee.createElement("span",{style:{marginRight:10}},"\u521B\u5EFA\u8005"),ee.createElement("span",{style:{color:"#000000"}},(Yt==null?void 0:Yt.author_name)||"- -")),ee.createElement("div",{style:{marginRight:30}},ee.createElement("span",{style:{marginRight:10}},"\u6240\u5C5E\u5355\u4F4D"),ee.createElement("span",{style:{color:"#000000"}},(Yt==null?void 0:Yt.author_school_name)||"- -")),ee.createElement("div",{style:{marginRight:30}},ee.createElement("span",{style:{marginRight:10}},"\u5B66\u4E60\u4EBA\u6570"),ee.createElement("span",{style:{color:"#000000"}},(Yt==null?void 0:Yt.study_count)||"0"))),ee.createElement("a",{className:Ci.shixunbutton,href:`/shixuns/${Yt==null?void 0:Yt.identifier}/challenges?exercise=true`,target:"_blank"},ee.createElement("i",{onClick:()=>{},style:{marginRight:20},className:"iconfont icon-shixunkecheng mr5 "}),"\u5B9E\u8BAD\u8BE6\u60C5"))),((Yt==null?void 0:Yt.question_type)<=4||[6,8].includes(Yt==null?void 0:Yt.question_type))&&ee.createElement("div",{className:Ci.bottom},ee.createElement("div",{className:Ci.bottomitem},ee.createElement("span",{className:Ci.left},"\u89E3\u6790"),ee.createElement("span",{className:Ci.right},Yt!=null&&Yt.analysis?ee.createElement(Qo.Z,{value:Yt==null?void 0:Yt.analysis}):ee.createElement("span",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))),ee.createElement("div",{className:Ci.bottomitem},ee.createElement("span",{className:Ci.left},"\u96BE\u5EA6"),ee.createElement("span",{className:Ci.right},(Yt==null?void 0:Yt.difficulty)===1?"\u7B80\u5355":(Yt==null?void 0:Yt.difficulty)===2?"\u9002\u4E2D":"\u56F0\u96BE")),ee.createElement("div",{className:Ci.bottomitem},ee.createElement("span",{className:Ci.left},"\u77E5\u8BC6\u70B9"),ee.createElement("span",{className:Ci.right},Yt!=null&&Yt.tag_discipline?Yt==null?void 0:Yt.tag_discipline:ee.createElement("span",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~")))))},_a=ie(57712),Ga=ie(62041),ll=ie(61485),tl=ie(78170),Jo=ie(29496),Zr=ie(59301),Li=Object.defineProperty,xo=Object.defineProperties,jo=Object.getOwnPropertyDescriptors,nl=Object.getOwnPropertySymbols,Ul=Object.prototype.hasOwnProperty,wl=Object.prototype.propertyIsEnumerable,ra=(Yt,mr,Hn)=>mr in Yt?Li(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,Sa=(Yt,mr)=>{for(var Hn in mr||(mr={}))Ul.call(mr,Hn)&&ra(Yt,Hn,mr[Hn]);if(nl)for(var Hn of nl(mr))wl.call(mr,Hn)&&ra(Yt,Hn,mr[Hn]);return Yt},Fl=(Yt,mr)=>xo(Yt,jo(mr)),pl=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const su=({setScoreShow:Yt,ScoreShow:mr,listitem:Hn,onOk:hi,isshixuns:ao,isloadings:Kn,dispatch:Cl,isIntelligentAssistant:na=!1,ispptModal:Di=!1,isChangeQuestion:go=!1,newExercisePaper:Yl,shixunsDetail:Zi})=>{var Va;let[ci,rl]=(0,ee.useState)({type:"0",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,bigmodel:na,is_smart_plan:Di,group_id:[]}),[Ka,ul]=(0,ee.useState)([]),[ls,Uo]=(0,ee.useState)([]),[zl,il]=(0,ee.useState)([]),[Hl,Ps]=(0,ee.useState)([]);const[ps,wo]=(0,ee.useState)(!1),[La]=st.default.useForm(),[Ca,ql]=(0,ee.useState)(),[ru,Mu]=(0,ee.useState)(!1);let[Fo,fs]=(0,ee.useState)(ao);const[Kl,Fs]=(0,ee.useState)([]),[eo,Bo]=(0,ee.useState)(0),[As,Ku]=(0,ee.useState)(!0),[Gr,Ds]=(0,ee.useState)([]),[Ql,wu]=(0,ee.useState)([]),hu=[{name:"\u5168\u90E8",value:"",question_type:0},{name:"\u5355\u9009\u9898",value:"SINGLE",question_type:0},{name:"\u591A\u9009\u9898",value:"MULTIPLE",question_type:1},{name:"\u5224\u65AD\u9898",value:"JUDGMENT",question_type:2},{name:"\u586B\u7A7A\u9898",value:"COMPLETION",question_type:3},{name:"\u7B80\u7B54\u9898",value:"SUBJECTIVE",question_type:4},{name:"\u5B9E\u8BAD\u9898",value:"SHIXUN",question_type:5},{name:"\u7F16\u7A0B\u9898",value:"PROGRAM",question_type:6},{name:"\u7EC4\u5408\u9898",value:"COMBINATION",question_type:7},{name:"\u7A0B\u5E8F\u586B\u7A7A\u9898",value:"BPROGRAM",question_type:8}],Wi=[{name:"\u5168\u90E8",value:"",question_type:0},{name:"\u5355\u9009\u9898",value:"SINGLE",question_type:0},{name:"\u591A\u9009\u9898",value:"MULTIPLE",question_type:1},{name:"\u5224\u65AD\u9898",value:"JUDGMENT",question_type:2},{name:"\u7F16\u7A0B\u9898",value:"PROGRAM",question_type:6}];let[Bl,io]=(0,ee.useState)({gg:{type:"1",page:1,updated_at:"",quotes:"",item_type:null,courseid:"",per_page:10,tag_discipline_id:null,difficulty:null,keyword:null},ttgx:{type:"3",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:[]},scj:{type:"2",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null},wcjd:{type:"0",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:[]},yx:{type:"5",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:null}});const Ro=(0,ee.useRef)(new Set),hs=(0,ee.useRef)(new Set),xs=[{name:"\u7B80\u5355",value:1},{name:"\u9002\u4E2D",value:2},{name:"\u56F0\u96BE",value:3}],vl=[{name:"\u521D\u7EA7",value:1},{name:"\u4E2D\u7EA7",value:2},{name:"\u4E2D\u9AD8\u7EA7",value:3},{name:"\u9AD8\u7EA7",value:4}],jl=[{name:"\u672A\u53D1\u5E03",value:"unpublish"},{name:"\u9759\u9ED8\u53D1\u5E03",value:"silent_publish"},{name:"\u516C\u5F00\u53D1\u5E03",value:"public_publish"}],[ts,Ss]=(0,ee.useState)(!1),ks=()=>{La.resetFields(),Fo=!1,fs(!1),Ss(!1),La.submit()};(0,ee.useEffect)(()=>{var ri,sa;(((ri=Hn==null?void 0:Hn.questionIdArr)==null?void 0:ri.length)>0||((sa=Hn==null?void 0:Hn.shixun_ids)==null?void 0:sa.length)>0)&&(Uo([...Hn==null?void 0:Hn.questionIdArr,...Hn==null?void 0:Hn.shixun_ids]),il([...Hn==null?void 0:Hn.questionIdArr,...Hn==null?void 0:Hn.shixun_ids]),Fs([...Hn==null?void 0:Hn.shixun_ids]),hs.current=new Set([...Hn==null?void 0:Hn.questionIdArr]),Ro.current=new Set([...Hn==null?void 0:Hn.shixun_ids]))},[Hn]),(0,ee.useEffect)(()=>{mr&&(La.setFieldsValue({item_type:"",courseid:"",tag_discipline_id:null,difficulty:null,keyword:null}),As&&Fo&&(La.setFieldsValue({item_type:"SHIXUN"}),ci.item_type="SHIXUN",rl(Sa({},ci)),Ku(!1)),vs(ci),Hu(),$u({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"0"}))},[mr]),(0,ee.useEffect)(()=>{eo>0&&setTimeout(()=>{Bo(0)},2e3)},[eo]);function vs(ri){return pl(this,null,function*(){var sa,Zl,$l;if(wo(!0),rl(Sa({},ri)),(zl==null?void 0:zl.length)<=0&&ri.type==="5"){Ps([]),wo(!1);return}let ys=ri.type==="5"?zl==null?void 0:zl.filter(Ze=>!Kl.includes(Ze)):null,Pe=ri.type==="5"?zl==null?void 0:zl.filter(Ze=>Kl.includes(Ze)):null,Xe=yield(0,Mt.ZP)("/api/item_banks.json",{method:"get",params:Fl(Sa({},ri),{discipline_id:((sa=ri==null?void 0:ri.courseid)==null?void 0:sa[0])||null,sub_discipline_id:((Zl=ri==null?void 0:ri.courseid)==null?void 0:Zl[1])||null,ids:ys,shixun_ids:Pe,include_shixuns:!na,group_id:(($l=ri.group_id)==null?void 0:$l.map(Ze=>Ze==null?void 0:Ze.value))||null,keyword:ri.keyword?encodeURIComponent(ri.keyword):ri.keyword,type:ri.type==="5"?null:ri.type,clazz:ri.type==="3"?"ItemBanksGroup":null,bigmodel:na,is_smart_plan:Di})});Ps(Xe),wo(!1)})}function Hu(){return pl(this,null,function*(){let ri=yield(0,Mt.ZP)("/api/disciplines.json",{method:"get",params:{source:"question",group_id:0,group_type:ci.type==="5"?null:ci.type,clazz:"ItemBanksGroup"}});ul((0,_o.L)(ri==null?void 0:ri.disciplines))})}function $u(ri){return pl(this,null,function*(){var sa;let Zl=yield(0,Mt.ZP)("/api/item_banks_groups/for_problemset.json",{method:"post",body:ri}),$l=[{title:"\u6839\u76EE\u5F55",id:0,pid:0,value:0,key:0,isLeaf:!1,children:(sa=Zl==null?void 0:Zl.data)==null?void 0:sa.map(ys=>({title:ys.name,id:ys.id,pid:ys.id,value:ys.id,key:ys.id,isLeaf:!ys.have_child}))}];Ds($l)})}function Wu(ri){return pl(this,null,function*(){var sa,Zl,$l,ys;wo(!0);let Pe=(sa=ri.list)==null?void 0:sa.filter(kt=>!Kl.includes(kt)),Xe=(Zl=ri.list)==null?void 0:Zl.filter(kt=>Kl.includes(kt));if(Pe.length===0&&Xe.length===0){wo(!1),Ps([]);return}let Ze=yield(0,Mt.ZP)("/api/item_banks.json",{method:"get",params:Fl(Sa({},ri),{discipline_id:(($l=ri==null?void 0:ri.courseid)==null?void 0:$l[0])||null,sub_discipline_id:((ys=ri==null?void 0:ri.courseid)==null?void 0:ys[1])||null,ids:Pe,shixun_ids:Xe,type:ri.type==="5"?null:ri.type,clazz:ri.type==="3"?"ItemBanksGroup":null})});wo(!1),Ps(Ze)})}const ss=ri=>pl(void 0,null,function*(){const sa=yield Cl({type:"shixunsDetail/release",payload:{id:ri}});let Zl=sa==null?void 0:sa.tag_position,$l=(sa==null?void 0:sa.evaluation_set_position)||[],ys=sa.status;return ys===0?(yt.ZP.success("\u53D1\u5E03\u6210\u529F"),vs(ci),!0):(ys===2?yt.ZP.error(`\u7B2C${$l.join(",")}\u5173\u5C1A\u672A\u5B8C\u6210\uFF0C\u65E0\u6CD5\u7533\u8BF7\u53D1\u5E03`):ys===3?yt.ZP.error(`\u6BCF\u4E00\u4E2A\u5173\u5361\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u6280\u80FD\u6807\u7B7E, \u7B2C${Zl.join(",")}\u5173\u5C1A\u672A\u8BBE\u7F6E\u6280\u80FD\u6807\u7B7E\uFF0C\u8BF7\u8865\u5145`):yt.ZP.error("\u5C1A\u672A\u521B\u5EFA\u4EFB\u52A1\u7684\u5B9E\u8BAD\uFF0C\u4E0D\u80FD\u7533\u8BF7\u53D1\u5E03"),!1)}),to=ri=>(ri==null?void 0:ri.shixun_tag_num)===1?"\u672A\u53D1\u5E03\u7684\u5B9E\u8DF5\u9879\u76EE\u4E0D\u80FD\u88AB\u9009\u7528\uFF0C\u8BF7\u5148\u8FDB\u884C\u53D1\u5E03":"",Al=(ri,sa,Zl)=>ri.map($l=>$l.key===sa?Sa(Sa({},$l),Zl):$l.children?Fl(Sa({},$l),{children:Al($l.children,sa,Zl)}):$l),pu=ri=>pl(void 0,null,function*(){const{key:sa}=ri;let Zl=ci.type;const $l=yield(0,Jo.ex)({page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",group_id:Math.abs(sa),type:Zl}),{data:ys,total_count:Pe}=$l||{};Pe>0&&Ds(Xe=>Al(Xe,sa,{children:ys.map(Ze=>({title:Ze.name,id:Ze.id,pid:Ze.id,value:Ze.id,key:Ze.id,isLeaf:!Ze.have_child}))}))});function kl(ri){console.log("----",ci),ri==="1"&&(Bl.gg=Sa({},ci)),ri==="2"&&(Bl.scj=Sa({},ci)),ri==="3"&&(Bl.ttgx=Sa({},ci)),ri==="0"&&(Bl.wcjd=Sa({},ci)),ri==="5"&&(Bl.yx=Sa({},ci)),io(Sa({},Bl))}function Gs(){ci.type==="1"&&(ci=Bl.gg),ci.type==="2"&&(ci=Bl.scj),ci.type==="3"&&(ci=Bl.ttgx),ci.type==="0"&&(ci=Bl.wcjd),ci.type==="5"&&(ci=Bl.yx),(ci==null?void 0:ci.item_type)==="SHIXUN"?(Fo=!0,fs(!0)):(Fo=!1,fs(!1)),La.setFieldsValue(Sa({},ci)),rl(Sa({},ci)),vs(Sa({},ci))}return Zr.createElement("div",null,Zr.createElement(Se.default,{title:!1,footer:!1,open:mr,width:1200,centered:!0,className:ma.scoremodal,onCancel:()=>{Yt(!1)}},Zr.createElement("div",{style:{display:"flex",alignItems:"center"}},Zr.createElement("div",{className:ma.title},na?"\u4EE5\u9898\u6362\u9898":"\u9898\u5E93\u9009\u9898")),na&&Zr.createElement("div",{style:{padding:10,background:"#F6F7F9",borderRadius:4,marginTop:14}},"\u6839\u636E\u73B0\u6709\u8BD5\u9898\u7684\u9898\u578B\u3001\u65B9\u5411\u3001\u77E5\u8BC6\u70B9\u3001\u96BE\u6613\u5EA6\uFF0C\u5FEB\u901F\u751F\u6210\u65B0\u7684\u8BD5\u9898\uFF0C\u589E\u52A0\u8BD5\u9898\u7684\u4E30\u5BCC\u5EA6"),Zr.createElement(ut.default,{className:ma.tabWrap,activeKey:ci.type,onChange:ri=>{ri==="3"?(ci.show_all_share=!0,$u({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"3"})):ci.show_all_share=null,ri==="0"&&$u({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"0"}),kl(ci.type),ci.type=ri,(ci==null?void 0:ci.item_type)==="SHIXUN"&&ci.type!=="5"&&(Fo=!0,fs(!0)),Ss(!1),ci.type==="5"&&(Fo=!1,fs(!1)),Gs(),Hu()},items:[{label:"\u56E2\u961F\u5171\u4EAB",key:"3"},{label:"\u6536\u85CF\u5939",key:"2"},{label:"\u6211\u521B\u5EFA\u7684",key:"0"},{label:Zr.createElement("div",null,"\u5DF2\u9009",zl.length>0&&Zr.createElement("span",{className:ma.titlecount},zl.length),eo>0&&Zr.createElement("span",{className:ma.add},"+",eo)),key:"5"}]}),Zr.createElement(st.default,{layout:"inline",form:La,onValuesChange:(ri,sa)=>{const Zl=Object.values(sa).some(ys=>ys!==null&&ys!==""&&ys!==void 0),$l=sa.keyword==="";if(Ss(Zl||!$l),ci.page=1,(sa==null?void 0:sa.item_type)==="SHIXUN"){if(ci.type==="5"?fs(!1):fs(!0),ri.keyword||ri.keyword==="")return;La.submit()}else{if(ri!=null&&ri.courseid&&La.setFieldsValue({tag_discipline_id:""}),fs(!1),ri.keyword||ri.keyword==="")return;La.submit()}},onFinish:ri=>{var sa;ci.type==="3"&&(!ri.group_id||((sa=ri==null?void 0:ri.group_id)==null?void 0:sa.length)===0)?ci.show_all_share=!0:ci.show_all_share=null,rl(Sa(Sa({},ci),ri)),vs(Sa(Sa({},ci),ri))}},Zr.createElement(st.default.Item,{name:"item_type"},Zr.createElement(tt.default,{className:ma.selectWrapper,placeholder:"\u9898\u578B",style:{width:110},size:"middle"},(Di?Wi:na?hu==null?void 0:hu.filter(ri=>ri.question_type!==5):hu).map(ri=>Zr.createElement(tt.default.Option,{key:ri.value},ri.name)))),Zr.createElement(st.default.Item,{name:"courseid"},Zr.createElement(Fa.Z,{className:ma.selectWrapper,style:{width:160},size:"middle",placeholder:"\u65B9\u5411&\u8BFE\u7A0B",options:Ka})),!Fo&&Zr.createElement(st.default.Item,{name:"tag_discipline_id"},Zr.createElement(tt.default,{className:ma.selectWrapper,placeholder:"\u77E5\u8BC6\u70B9",style:{width:160},size:"middle",allowClear:!0},(Va=Hl==null?void 0:Hl.tag_disciplines)==null?void 0:Va.map(ri=>Zr.createElement(tt.default.Option,{key:ri.id},ri.name)))),Zr.createElement(st.default.Item,{name:Fo?"diff":"difficulty"},Zr.createElement(tt.default,{className:ma.selectWrapper,placeholder:"\u96BE\u5EA6",style:{width:118},size:"middle",allowClear:!0},xs.map(ri=>Zr.createElement(tt.default.Option,{key:ri.value},ri.name)))),Fo&&Zr.createElement(st.default.Item,{name:"shixun_publish_status"},Zr.createElement(tt.default,{className:ma.selectWrapper,placeholder:"\u5168\u90E8\u72B6\u6001",style:{width:118},size:"middle",allowClear:!0},jl.map(ri=>Zr.createElement(tt.default.Option,{key:ri.value},ri.name)))),(ci.type==="3"||ci.type==="0")&&!Fo&&Zr.createElement(st.default.Item,{name:"group_id"},Zr.createElement(qo.default,{treeDataSimpleMode:!0,style:{width:118},className:ma.selectWrappers,multiple:!0,allowClear:!0,showSearch:!0,filterTreeNode:(ri,sa)=>sa.title.toUpperCase().indexOf(ri.toUpperCase())!==-1,dropdownStyle:{maxHeight:400,width:500,overflow:"auto"},placeholder:"\u8BF7\u9009\u62E9\u6587\u4EF6\u5939",treeCheckStrictly:!0,loadData:pu,treeDefaultExpandedKeys:[0],maxTagCount:0,treeCheckable:!0,treeData:Gr})),ts&&Zr.createElement("span",{className:ma.allqingchu,onClick:ks},Zr.createElement("i",{className:"iconfont icon-guanbi4"}),Zr.createElement("span",null,"\u6E05\u9664\u7B5B\u9009\u6761\u4EF6")),Zr.createElement(st.default.Item,{style:{flex:"0 0 auto",marginRight:0,marginLeft:"auto"},name:"keyword"},Zr.createElement(He.default.Search,{className:ma.search,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",allowClear:!0,suffix:Zr.createElement("i",{className:`iconfont icon-sousuo9 font14 ${ma.searchIcon}`,onClick:()=>La.submit()}),onSearch:ri=>{La.submit()}}))),Zr.createElement("div",{style:{background:"#F6F7F9",display:"flex",alignItems:"center",marginTop:18,height:40,paddingLeft:10,paddingRight:20}},Zr.createElement("div",{onClick:()=>{ci.updated_at==="asc"?ci.updated_at="desc":ci.updated_at="asc",rl(Fl(Sa({},ci),{page:1})),vs(Fl(Sa({},ci),{page:1}))}}," ",ci.updated_at?Zr.createElement("img",{src:ci.updated_at==="asc"?_a.Z:Ga.Z,style:{width:"15px",verticalAlign:"text-bottom"},className:"font14 mr5 c-light-primary"}):Zr.createElement("i",{style:{fontSize:"14px"},className:"iconfont icon-jiangxu mr5 c-light-primary"}),"\u6309\u66F4\u65B0\u65F6\u95F4\u6392\u5E8F"),Zr.createElement("div",{onClick:()=>{ci.quotes==="asc"?ci.quotes="desc":ci.quotes="asc",rl(Fl(Sa({},ci),{page:1})),vs(Fl(Sa({},ci),{page:1}))},style:{marginLeft:20}}," ",ci.quotes?Zr.createElement("img",{src:ci.quotes==="asc"?_a.Z:Ga.Z,style:{width:"15px",verticalAlign:"text-bottom"},className:"font14 mr5 c-light-primary"}):Zr.createElement("i",{style:{fontSize:"14px"},className:"iconfont icon-jiangxu mr5 c-light-primary"}),"\u6309\u4F7F\u7528\u6B21\u6570\u6392\u5E8F")),Zr.createElement(Dr.default,{style:{marginTop:2,marginBottom:20},scroll:{y:260},dataSource:(Hl==null?void 0:Hl.items)||(Hl==null?void 0:Hl.shixun_list),pagination:!1,loading:ps,rowKey:ri=>ri.id,rowSelection:{type:na||go?"radio":"checkbox",selectedRowKeys:ls,getCheckboxProps:ri=>({disabled:ri.shixun_tag_num===1||(Ql==null?void 0:Ql.find(sa=>ri.id===sa))}),onSelect(ri,sa,Zl){if(na||go){Uo([ri.id]),hs.current=new Set([ri.id]),Bo(1),il([ri.id]);return}if(sa)(Fo||ri!=null&&ri.challenge_names)&&Fs([...Kl,ri.id]),Uo([...ls,ri.id]),ri.identifier?Ro.current.add(ri.id):hs.current.add(ri.id),Bo(1),il([...zl,ri.id]);else{ri.identifier?Ro.current.delete(ri.id):hs.current.delete(ri.id);let $l=zl.filter(ys=>ys!==ri.id);if(Uo($l),il($l),Fo||ri!=null&&ri.challenge_names){let ys=Kl.filter(Pe=>Pe!==ri.id);Fs([...ys])}if(ci.type==="5"){Wu(Fl(Sa({},ci),{list:[...$l]}));return}}},onSelectAll(ri,sa,Zl){var $l,ys;if(ri){const Pe=Zl.map(Ze=>Ze.id),Xe=(ys=Zl==null?void 0:Zl.filter(Ze=>Ze==null?void 0:Ze.challenge_names))==null?void 0:ys.map(Ze=>Ze.id);Fs([...Kl,...Xe]),Uo([...ls,...Pe]),il([...zl,...Pe]);for(const Ze of Zl)Ze.identifier?Ro.current.add(Ze.id):hs.current.add(Ze.id)}else{const Pe=Zl.map(zt=>zt.id),Xe=ls.filter(zt=>!Pe.some(cr=>cr===zt)),Ze=($l=Zl==null?void 0:Zl.filter(zt=>zt==null?void 0:zt.challenge_names))==null?void 0:$l.map(zt=>zt.id);Uo([...Xe]),il([...Xe]);let kt=Kl.filter(zt=>!Ze.some(cr=>cr===zt.id));Fs([...kt]),ci.type==="5"&&Wu(Fl(Sa({},ci),{list:[...Xe]}));for(const zt of Pe)zt.identifier?Ro.current.delete(zt):hs.current.delete(zt)}}},columns:[{title:"\u9898\u578B",dataIndex:"item_type",key:"item_type",render:(ri,sa,Zl)=>{var $l,ys;return Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",null,Fo||sa!=null&&sa.challenge_names?"\u5B9E\u8BAD\u9898":(ys=($l=hu==null?void 0:hu.filter(Pe=>Pe.value===ri))==null?void 0:$l[0])==null?void 0:ys.name))}},{title:"\u8BD5\u9898\u540D\u79F0",dataIndex:"name",width:Fo?"30%":"60%",key:"name",render:(ri,sa,Zl)=>{var $l;return Zr.createElement("div",{style:{display:"flex",alignItems:"center"}},Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",{className:sa!=null&&sa.high_resources_consume?ma.q_title:""},Zr.createElement(Qo.Z,{key:1,showLines:1,showTextOnly:!0,value:Fo||sa!=null&&sa.challenge_names?sa!=null&&sa.title||ri===null?"--":ri:(sa==null?void 0:sa.item_type)=="BPROGRAM"?($l=sa==null?void 0:sa.program_attr)==null?void 0:$l.description:ri}))),(sa==null?void 0:sa.high_resources_consume)&&Zr.createElement(tl.Z,{type:"shixun",style:{marginLeft:10}}))}},{title:"\u521B\u5EFA\u8005",dataIndex:"author_name",key:"author_name",hidden:!Fo,render:(ri,sa,Zl)=>{var $l;return Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("span",null,ri?($l=ri==null?void 0:ri.split("\u3001"))==null?void 0:$l[0]:"- -"))}},{title:"\u6240\u5C5E\u5355\u4F4D",dataIndex:"author_school_name",key:"author_school_name",hidden:!Fo,render:(ri,sa,Zl)=>Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("span",null,ri||"- -"))},{title:"\u96BE\u5EA6",dataIndex:"difficulty",key:"difficulty",render:(ri,sa,Zl)=>{var $l,ys,Pe,Xe;return Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",null,Fo||sa!=null&&sa.challenge_names?(sa==null?void 0:sa.level)||((ys=($l=xs==null?void 0:xs.filter(Ze=>Ze.value===ri))==null?void 0:$l[0])==null?void 0:ys.name):(Xe=(Pe=xs==null?void 0:xs.filter(Ze=>Ze.value===ri))==null?void 0:Pe[0])==null?void 0:Xe.name))}},{title:"\u5173\u5361\u6570\u91CF",dataIndex:"challenges_count",key:"challenges_count",hidden:!Fo,render:(ri,sa,Zl)=>Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",null,ri||"- -"))},{title:"\u4F7F\u7528\u6B21\u6570",dataIndex:"quotes",key:"quotes",render:(ri,sa,Zl)=>Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",null,Fo||sa!=null&&sa.challenge_names?(sa==null?void 0:sa.study_count)||(sa==null?void 0:sa.stu_num):ri))},{title:Zr.createElement("span",null,"\u53D1\u5E03\u72B6\u6001 ",Zr.createElement(pt.Z,{title:"\u672A\u53D1\u5E03\u7684\u5B9E\u8DF5\u9879\u76EE\u4E0D\u80FD\u88AB\u9009\u7528"},Zr.createElement(ll.Z,null))),dataIndex:"shixun_tag_num_name",key:"shixun_tag_num_name",hidden:!Fo,render:(ri,sa,Zl)=>Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",null,ri||"- -"))},{title:"\u64CD\u4F5C",dataIndex:"id",key:"item_type",render:(ri,sa,Zl)=>Zr.createElement(pt.Z,{title:to(sa)},Zr.createElement("div",{style:{flex:1,textAlign:"start"}},Zr.createElement("a",{onClick:()=>{var $l,ys;ql(Fl(Sa({},sa),{question_type:Fo||sa!=null&&sa.challenge_names?5:(ys=($l=hu==null?void 0:hu.filter(Pe=>Pe.value===(sa==null?void 0:sa.item_type)))==null?void 0:$l[0])==null?void 0:ys.question_type})),Mu(!0)}},"\u67E5\u770B"),(sa==null?void 0:sa.shixun_tag_num)===1&&Zr.createElement("a",{style:{marginLeft:10},onClick:()=>{Se.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,width:400,content:Zr.createElement("div",null,"\u662F\u5426\u786E\u5B9A\u53D1\u5E03",Zr.createElement("span",{style:{cursor:"pointer",color:"#3061D0"},onClick:()=>{window.open(`/shixuns/${sa==null?void 0:sa.identifier}/challenges`)}},(sa==null?void 0:sa.shixun_name)||"--"),"\uFF1F"),onOk:()=>pl(void 0,null,function*(){if(!ss(sa==null?void 0:sa.identifier))return new Promise(($l,ys)=>{ys()})})})}},"\u53D1\u5E03")))}].filter(ri=>!ri.hidden)}),Zr.createElement(ft.Z,{current:ci.page,total:(Hl==null?void 0:Hl.items_count)||(Hl==null?void 0:Hl.shixuns_count),style:{marginBottom:20},defaultPageSize:ci.per_page,showTotal:ri=>Zr.createElement("span",null,"\u5171\xA0",Zr.createElement("span",{style:{color:"#165DFF"}},ri),"\xA0\u6761\u6570\u636E"),pageSize:ci.per_page,onChange:(ri,sa)=>{ci.page=ri,ci.per_page=sa,rl(Sa({},ci)),vs(Sa({},ci))}}),Zr.createElement("div",{className:ma.bottom},Zr.createElement(ye.ZP,{className:ma.no,onClick:()=>{Yt(!1)}},"\u53D6\u6D88"),Zr.createElement(ye.ZP,{loading:Kn,style:{width:Kn&&75},className:ma.yes,onClick:()=>pl(void 0,null,function*(){if((zl==null?void 0:zl.length)<=0){yt.ZP.info(na||go?"\u8BF7\u9009\u62E9\u4E00\u9053\u8BD5\u9898":"\u5F53\u524D\u6682\u672A\u9009\u62E9\u6570\u636E");return}console.log("----",hs.current,Ro.current),hi([...hs.current],[...Ro.current],!0,zl==null?void 0:zl.length)})},na?"\u5F00\u59CB\u6362\u9898":"\u786E\u8BA4"))),Zr.createElement(Se.default,{open:ru,title:"\u9898\u76EE\u8BE6\u60C5",footer:!1,className:ma.previewModal,width:1e3,centered:!0,onCancel:()=>{Mu(!1)},onOk:()=>{Mu(!1)}},Zr.createElement(Go,{qitem:Ca})))};var Qs=(0,Oe.connect)(({shixunsDetail:Yt,newExercisePaper:mr})=>({shixunsDetail:Yt,newExercisePaper:mr}))(su),Au=ie(59301),_s=Object.getOwnPropertySymbols,Ls=Object.prototype.hasOwnProperty,$s=Object.prototype.propertyIsEnumerable,Ws=(Yt,mr)=>{var Hn={};for(var hi in Yt)Ls.call(Yt,hi)&&mr.indexOf(hi)<0&&(Hn[hi]=Yt[hi]);if(Yt!=null&&_s)for(var hi of _s(Yt))mr.indexOf(hi)<0&&$s.call(Yt,hi)&&(Hn[hi]=Yt[hi]);return Hn},zu=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const xu=null;let $a=null;const Za=Yt=>{var mr=Yt,{pathsDetail:Hn,user:hi,globalSetting:ao,loading:Kn,dispatch:Cl,datas:na,items:Di}=mr,go=Ws(mr,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Yl=(0,ee.useRef)(),Zi=(0,ee.useRef)(),Va=(0,ee.useRef)(null);(0,ee.useEffect)(()=>{rl()},[na]),(0,ee.useEffect)(()=>(window.addEventListener("resize",ci),()=>{window.removeEventListener("resize",ci)}),[]);function ci(){var Ka,ul;(ul=(Ka=Yl.current)==null?void 0:Ka.update)==null||ul.call(Ka)}function rl(){return zu(this,null,function*(){var Ka,ul,ls,Uo,zl,il,Hl;if((na==null?void 0:na.length)>0){let Ps=na==null?void 0:na.map(wo=>{var La;return{rootNodeUuid:(La=wo==null?void 0:wo.properties)==null?void 0:La.rootNodeUuid,id:wo==null?void 0:wo.uuid,name:wo==null?void 0:wo.name,activeColor:"#FA6400",shape:"circle",hide:!1,isExtendedState:!0}});Ps.push({rootNodeUuid:(Ka=Di==null?void 0:Di.properties)==null?void 0:Ka.rootNodeUuid,id:(ls=(ul=Di==null?void 0:Di[0])==null?void 0:ul.properties)==null?void 0:ls.uuid,name:(zl=(Uo=Di==null?void 0:Di[0])==null?void 0:Uo.properties)==null?void 0:zl.name,activeColor:"#FA6400",shape:"circle",hide:!1,isExtendedState:!0});let ps=na==null?void 0:na.map((wo,La)=>{var Ca,ql;return{hide:!1,id:La,label:"\u5173\u8054",props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(ql=(Ca=Di==null?void 0:Di[0])==null?void 0:Ca.properties)==null?void 0:ql.uuid,target:wo==null?void 0:wo.uuid,value:10}});console.log("----",Ps,ps),Yl.current=null,Zi.current.innerHTML="",Yl.current=new wi.createContainer({containerName:"#graphRefs",width:((il=Zi==null?void 0:Zi.current)==null?void 0:il.clientWidth)||0,height:((Hl=Zi==null?void 0:Zi.current)==null?void 0:Hl.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:Ps,links:ps,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(wo){return wo},nodeClick:function(wo){var La;return(La=Yl==null?void 0:Yl.current)==null||La.selectToNode(wo.id),wo},layout:{force:!1,x:20,y:60}}),Yl.current.zoomOut()}})}return Au.createElement("div",{ref:Va,style:{background:"#fff",height:"455rem"}},Au.createElement("div",{style:{width:"100%",height:"455rem"},ref:Zi,id:"graphRefs"}))};var Ma=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(Za),an=ie(59301),Vo=Object.defineProperty,Sl=Object.defineProperties,ds=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,gs=Object.prototype.hasOwnProperty,Bs=Object.prototype.propertyIsEnumerable,Su=(Yt,mr,Hn)=>mr in Yt?Vo(Yt,mr,{enumerable:!0,configurable:!0,writable:!0,value:Hn}):Yt[mr]=Hn,Vs=(Yt,mr)=>{for(var Hn in mr||(mr={}))gs.call(mr,Hn)&&Su(Yt,Hn,mr[Hn]);if(bs)for(var Hn of bs(mr))Bs.call(mr,Hn)&&Su(Yt,Hn,mr[Hn]);return Yt},Zu=(Yt,mr)=>Sl(Yt,ds(mr)),Io=(Yt,mr,Hn)=>new Promise((hi,ao)=>{var Kn=Di=>{try{na(Hn.next(Di))}catch(go){ao(go)}},Cl=Di=>{try{na(Hn.throw(Di))}catch(go){ao(go)}},na=Di=>Di.done?hi(Di.value):Promise.resolve(Di.value).then(Kn,Cl);na((Hn=Hn.apply(Yt,mr)).next())});const os=[{name:"\u57FA\u672C\u4FE1\u606F",key:1},{name:"\u5B66\u4E60\u7EDF\u8BA1",key:3}];let gu=[{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},{name:"\u8BD5\u9898",id:"st",item_type:2}],Ho=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];const sl=({pathsDetail:Yt,user:mr,globalSetting:Hn,loading:hi,dispatch:ao,items:Kn,showdetail:Cl,setshowdetail:na,containerRef:Di,getData:go,setshow:Yl,Tabsdatas:Zi,uuid:Va,tpacti:ci,initdata:rl})=>{var Ka,ul,ls,Uo,zl,il,Hl,Ps,ps,wo,La,Ca,ql,ru,Mu,Fo,fs,Kl,Fs,eo,Bo,As,Ku,Gr,Ds,Ql,wu,hu,Wi,Bl,io,Ro,hs,xs,vl,jl,ts,Ss,ks,vs,Hu,$u,Wu;const ss=(0,Oe.useParams)(),[to,Al]=(0,ee.useState)(0),[pu]=st.default.useForm(),[kl,Gs]=(0,ee.useState)({});let[ri,sa]=(0,ee.useState)(!1),[Zl,$l]=(0,ee.useState)(!1);const[ys,Pe]=(0,ee.useState)(!1),[Xe,Ze]=(0,ee.useState)("1"),[kt,zt]=(0,ee.useState)([]),[cr,sr]=(0,ee.useState)(1),[Yr,Wr]=(0,ee.useState)(2),[di,ha]=(0,ee.useState)(2),[Ei,Bi]=(0,ee.useState)(),[Oi,Yi]=(0,ee.useState)();let[Er,_r]=(0,ee.useState)([]);const[Qi,Po]=(0,ee.useState)({}),[Ua,Do]=(0,ee.useState)(!1),[ko,co]=(0,ee.useState)(""),[oo,ns]=(0,ee.useState)([]),[yl]=(0,Oe.useSearchParams)(),[Xr,us]=(0,ee.useState)(!1),[Ms,Us]=(0,ee.useState)([]),[Ks,rs]=(0,ee.useState)([]),[ml,is]=(0,ee.useState)([]),[ws,iu]=(0,ee.useState)(!1),[Ts,Is]=(0,ee.useState)(!1),[Cu,Nu]=(0,ee.useState)(!1),[Ve,_e]=(0,ee.useState)(),[Pt,Wt]=(0,ee.useState)("0");let[fn,un]=(0,ee.useState)({tags:[],tagszy:[],tagslx:[]});const[qn,_n]=(0,ee.useState)([{label:"\u5B9E\u8BAD",children:an.createElement(An,{getother:Gi,types:"1",ktzykey:Xe,onChange:Dn=>{zt(Dn)}}),key:"1"},{label:"\u89C6\u9891",children:an.createElement(An,{getother:Gi,types:"2",ktzykey:Xe,onChange:Dn=>{zt(Dn)}}),key:"2"},{label:"\u8BFE\u4EF6",children:an.createElement(An,{getother:Gi,types:"3",ktzykey:Xe,onChange:Dn=>{zt(Dn)}}),key:"3"},{label:"\u8BD5\u5377",children:an.createElement(An,{getother:Gi,types:"4",ktzykey:Xe,onChange:Dn=>{console.log("----",Dn),zt(Dn)}}),key:"4"}].filter(Dn=>!!Dn));let[Xn,Lr]=(0,ee.useState)([]),[Sr,Ir]=(0,ee.useState)([]);const[mi,pi]=(0,ee.useState)(0),[xi,Ri]=(0,ee.useState)(0),[Fi,ya]=(0,ee.useState)([]),[Kr,ta]=(0,ee.useState)({bh:[],qx:[],hx:[],gl:[]}),[qa,Xo]=(0,ee.useState)({bh:[],qx:[],hx:[],gl:[]}),Co=Dn=>{var Or,ae;return(0,Mt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:ss==null?void 0:ss.pathId,uuid:((Or=Dn==null?void 0:Dn.items)==null?void 0:Or.uuid)||((ae=Dn==null?void 0:Dn.items)==null?void 0:ae.id)}}),ao({type:"userDetail/logWatchHistory",payload:Vs({},Dn)})},Yo={maxCount:1,fileList:Er,accept:((ul=(Ka=kl==null?void 0:kl.label)==null?void 0:Ka[0])==null?void 0:ul.name)==="\u89C6\u9891"?".mp4":"",withCredentials:!0,beforeUpload:Dn=>{var Or,ae;if(!(Dn.type==="video/mp4")&&((ae=(Or=kl==null?void 0:kl.label)==null?void 0:Or[0])==null?void 0:ae.name)==="\u89C6\u9891")return yt.ZP.error("\u53EA\u80FD\u4E0A\u4F20\u89C6\u9891"),Qe.default.LIST_IGNORE},action:`${lr.Z.API_SERVER}/api/attachments.json`,onChange:Dn=>{_r(Dn==null?void 0:Dn.fileList)}};function bo(){return Io(this,null,function*(){var Dn,Or,ae,de,pe;let xe=yield(0,Mt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:ss==null?void 0:ss.pathId}});if((xe==null?void 0:xe.status)===0){pi(Va);const ke=[...(pe=(de=(Dn=xe==null?void 0:xe.data)==null?void 0:Dn.nodes)==null?void 0:de.splice(1,(ae=(Or=xe==null?void 0:xe.data)==null?void 0:Or.nodes)==null?void 0:ae.length))==null?void 0:pe.map(ze=>{var Ye,Ke,ct;return Vs({label:(Ye=ze==null?void 0:ze.properties)==null?void 0:Ye.name,children:an.createElement(pr,{onChange:rt=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(rt))},itemsuuid:Kn==null?void 0:Kn.uuid,uuid:(Ke=ze==null?void 0:ze.properties)==null?void 0:Ke.uuid,typesdata:Kr}),key:(ct=ze==null?void 0:ze.properties)==null?void 0:ct.uuid},ze)})];Xn=ke,Lr(ke),sessionStorage.setItem("typesdatajson",JSON.stringify(Kr)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(Kr)),sa(!0)}})}function Ta(){return Io(this,null,function*(){var Dn,Or,ae,de;let pe=yield(0,Mt.ZP)(`/api/users/${(Dn=mr==null?void 0:mr.userInfo)==null?void 0:Dn.login}/subjects.json`,{method:"get",params:{page:1,per_page:800,category:"manage",sort_by:"updated_at",sort_direction:"desc"}});if(pe){let xe=(Or=pe==null?void 0:pe.subjects)==null?void 0:Or.filter(ke=>{var ze;return(ke==null?void 0:ke.identifier)!=((ze=Yt==null?void 0:Yt.detail)==null?void 0:ze.identifier)});_e(xe),So((ae=xe==null?void 0:xe[0])==null?void 0:ae.identifier,(de=xe==null?void 0:xe[0])==null?void 0:de.name)}})}function So(Dn,Or){return Io(this,null,function*(){var ae,de,pe,xe,ke,ze,Ye,Ke,ct;let rt=yield(0,Mt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:Dn}});if((rt==null?void 0:rt.status)===0){pi(((xe=(pe=(de=(ae=rt==null?void 0:rt.data)==null?void 0:ae.nodes)==null?void 0:de[1])==null?void 0:pe.properties)==null?void 0:xe.uuid)||"");const Ct=[...(ct=(Ke=(ke=rt==null?void 0:rt.data)==null?void 0:ke.nodes)==null?void 0:Ke.splice(1,(Ye=(ze=rt==null?void 0:rt.data)==null?void 0:ze.nodes)==null?void 0:Ye.length))==null?void 0:ct.map(Xt=>{var Bt,Sn,Zt,nn;return Vs({label:(Bt=Xt==null?void 0:Xt.properties)==null?void 0:Bt.name,children:an.createElement(vo,{onChange:cn=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(cn))},itemsuuid:Kn==null?void 0:Kn.uuid,pathId:Dn,pathname:Or,uuname:(Sn=Xt==null?void 0:Xt.properties)==null?void 0:Sn.name,uuid:(Zt=Xt==null?void 0:Xt.properties)==null?void 0:Zt.uuid,typesdata:qa}),key:(nn=Xt==null?void 0:Xt.properties)==null?void 0:nn.uuid},Xt)})];Xn=Ct,Lr(Ct),sessionStorage.setItem("typesdatajson",JSON.stringify(qa)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(qa)),$l(!0)}})}function Ra(){return Io(this,null,function*(){var Dn;let Or=yield(0,Mt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:ss==null?void 0:ss.pathId}});(Or==null?void 0:Or.status)===0&&(fn.tags=Or==null?void 0:Or.data,un(Vs({},fn)));let ae=yield(0,Mt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:5,subject_id:ss==null?void 0:ss.pathId}});(ae==null?void 0:ae.status)===0&&(fn.tagszy=[...gu,...ae==null?void 0:ae.data2],fn.tagslx=[...Ho,...ae==null?void 0:ae.data],un(Vs({},fn)));let de=yield(0,Mt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Kn==null?void 0:Kn.resourceUrl,item_banks_group_ids:Kn==null?void 0:Kn.itemBanksGroupIds}});if(co(""),is([]),localStorage.setItem("container_type_tupu",de==null?void 0:de.container_type),(Kn==null?void 0:Kn.nodeType)==="\u89C6\u9891"&&(((Dn=de==null?void 0:de.attachment)==null?void 0:Dn.file_type)==="video"||(de==null?void 0:de.container_type)==="video")&&co(de==null?void 0:de.id),(Kn==null?void 0:Kn.resourceOrigin)===1&&(Kn==null?void 0:Kn.nodeType)!=="\u9898\u96C6"){let pe={url:Kn==null?void 0:Kn.resourceUrl,name:de==null?void 0:de.name,id:de==null?void 0:de.examination_bank_id,questionIdArr:de==null?void 0:de.item_bank_ids,shixun_ids:de==null?void 0:de.shixun_ids};zt([pe])}(Kn==null?void 0:Kn.resourceOrigin)===1&&(Kn==null?void 0:Kn.nodeType)==="\u9898\u96C6"&&is(de==null?void 0:de.item_banks_groups),(Kn==null?void 0:Kn.resourceOrigin)===2&&_r([{uid:"123",name:de==null?void 0:de.name,response:{id:"123",url:Kn==null?void 0:Kn.resourceUrl}}])})}function Gi(Dn){return Io(this,null,function*(){var Or,ae;let de=yield(0,Mt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Dn}});(de==null?void 0:de.status)===0&&((de==null?void 0:de.container_type)==="att"?Po({url:lr.Z.API_SERVER+((Or=de==null?void 0:de.attachment)==null?void 0:Or.url),file_type:(ae=de==null?void 0:de.attachment)==null?void 0:ae.file_type}):window.open(Dn))})}function ba(){return Io(this,null,function*(){let Dn=yield(0,Mt.ZP)("/api/knowledge/v2/item_bank_groups.json",{method:"get",params:{subject_id:ss==null?void 0:ss.pathId}});(Dn==null?void 0:Dn.status)===0&&Us(Dn==null?void 0:Dn.data)})}function Ko(){return Io(this,null,function*(){var Dn,Or,ae,de,pe,xe,ke,ze,Ye,Ke;let ct=yield(0,Mt.ZP)("/api/knowledge/v2/get_node_detail.json",{method:"get",params:{nodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),parentNodeUuids:Zi==null?void 0:Zi.map(rt=>rt==null?void 0:rt.uuid).join(),depth:1,relationshipFilter:">",subgraphDepth:"-1",subgraphRelationshipFilter:"\u5305\u542B>",subject_id:ss==null?void 0:ss.pathId}});if((ct==null?void 0:ct.status)===0){ya((Dn=ct==null?void 0:ct.data)==null?void 0:Dn.nodes);let rt=(ae=(Or=ct==null?void 0:ct.data)==null?void 0:Or.nodes)==null?void 0:ae.filter(Xt=>{var Bt;return((Bt=Xt==null?void 0:Xt.properties)==null?void 0:Bt.uuid)===(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id)});Bi(rt),Yi((de=ct==null?void 0:ct.data)==null?void 0:de.relationships);const Ct=[...(xe=(pe=ct==null?void 0:ct.data)==null?void 0:pe.graphNodeMappings)==null?void 0:xe.map((Xt,Bt)=>{var Sn;return{label:`${Xt==null?void 0:Xt.parentNodeName}\uFF08${(Sn=Xt==null?void 0:Xt.childNodeUuids)==null?void 0:Sn.length}\uFF09`,children:an.createElement(Vn,{datas:ct==null?void 0:ct.data,items:Xt==null?void 0:Xt.childNodeUuids}),key:Bt}})];(ze=(ke=rt==null?void 0:rt[0])==null?void 0:ke.properties)!=null&&ze.pathSetting&&Xo(JSON.parse((Ke=(Ye=rt==null?void 0:rt[0])==null?void 0:Ye.properties)==null?void 0:Ke.pathSetting)),Ri(0),Sr=Ct,Ir(Ct)}})}(0,ee.useEffect)(()=>{Cl&&(Ko(),Ra())},[Cl,Kn]);const Rl=(...Dn)=>Io(void 0,[...Dn],function*(Or={}){return yield ao({type:"pathsDetail/getKnowledgeGraphs",payload:Vs({graphable_type:yl.get("type")==="classrooms"?"course":"subject",graphable_id:ss==null?void 0:ss.pathId},Or)})});return an.createElement(oa.Z,null,an.createElement("div",null,Cl&&an.createElement(Je.Z,{open:Cl,width:"700rem",maskStyle:{background:"#000",opacity:"0.1"},keyboard:!0,maskClosable:!0,closable:!1,rootClassName:Fe.drawer,getContainer:()=>Di.current,onClose:()=>{na(!1),co("")}},an.createElement("div",{className:Fe.detailmodal},an.createElement("div",null,an.createElement("span",{className:Fe.title},"\u8282\u70B9\u8BE6\u60C5"),((ls=Yt==null?void 0:Yt.detail)==null?void 0:ls.can_managed)&&Va!=="\u5B66\u4E60\u8DEF\u5F84"&&(Kn==null?void 0:Kn.colorType)!=="1"&&an.createElement("i",{className:"iconfont icon-bianji-moren",onClick:()=>Io(void 0,null,function*(){var Dn,Or,ae,de,pe,xe,ke,ze,Ye,Ke;Al(3),na(!1);let ct={name:Kn.name,description:Kn.description,label:((Or=(Dn=Ei==null?void 0:Ei[0])==null?void 0:Dn.labels)==null?void 0:Or[1])==="\u8D44\u6E90"?(ae=fn==null?void 0:fn.tagszy)==null?void 0:ae.filter(Zt=>(Zt==null?void 0:Zt.name)===(Kn==null?void 0:Kn.nodeType)):(de=fn==null?void 0:fn.tagslx)==null?void 0:de.filter(Zt=>(Zt==null?void 0:Zt.name)===(Kn==null?void 0:Kn.nodeType)),tag:(pe=fn==null?void 0:fn.tags)==null?void 0:pe.filter(Zt=>{var nn,cn;return(cn=(nn=Kn==null?void 0:Kn.tags)==null?void 0:nn.map(on=>on==null?void 0:on.name))==null?void 0:cn.includes(Zt==null?void 0:Zt.name)}),resourceOrigin:Kn.resourceOrigin,url:(Kn==null?void 0:Kn.resourceOrigin)===3?Kn==null?void 0:Kn.resourceUrl:""},rt=(xe=Oi==null?void 0:Oi.filter(Zt=>(Zt==null?void 0:Zt.type)==="\u88AB\u5305\u542B"&&(Zt==null?void 0:Zt.startNodeUuid)===((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))))==null?void 0:xe.map(Zt=>{var nn,cn;return{uuid:Zt==null?void 0:Zt.endNodeUuid,name:(cn=(nn=Fi==null?void 0:Fi.find(on=>{var bn;return((bn=on==null?void 0:on.properties)==null?void 0:bn.uuid)===(Zt==null?void 0:Zt.endNodeUuid)}))==null?void 0:nn.properties)==null?void 0:cn.name}}),Ct=(ke=Oi==null?void 0:Oi.filter(Zt=>(Zt==null?void 0:Zt.type)==="\u5305\u542B"&&(Zt==null?void 0:Zt.startNodeUuid)===((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))))==null?void 0:ke.map(Zt=>{var nn,cn;return{uuid:Zt==null?void 0:Zt.endNodeUuid,name:(cn=(nn=Fi==null?void 0:Fi.find(on=>{var bn;return((bn=on==null?void 0:on.properties)==null?void 0:bn.uuid)===(Zt==null?void 0:Zt.endNodeUuid)}))==null?void 0:nn.properties)==null?void 0:cn.name}});ns(Ct);let Xt=(ze=Oi==null?void 0:Oi.filter(Zt=>(Zt==null?void 0:Zt.type)==="\u524D\u5E8F"&&(Zt==null?void 0:Zt.startNodeUuid)===((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))))==null?void 0:ze.map(Zt=>{var nn,cn;return{uuid:Zt==null?void 0:Zt.endNodeUuid,name:(cn=(nn=Fi==null?void 0:Fi.find(on=>{var bn;return((bn=on==null?void 0:on.properties)==null?void 0:bn.uuid)===(Zt==null?void 0:Zt.endNodeUuid)}))==null?void 0:nn.properties)==null?void 0:cn.name}}),Bt=(Ye=Oi==null?void 0:Oi.filter(Zt=>(Zt==null?void 0:Zt.type)==="\u540E\u5E8F"&&(Zt==null?void 0:Zt.startNodeUuid)===((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))))==null?void 0:Ye.map(Zt=>{var nn,cn;return{uuid:Zt==null?void 0:Zt.endNodeUuid,name:(cn=(nn=Fi==null?void 0:Fi.find(on=>{var bn;return((bn=on==null?void 0:on.properties)==null?void 0:bn.uuid)===(Zt==null?void 0:Zt.endNodeUuid)}))==null?void 0:nn.properties)==null?void 0:cn.name}}),Sn=(Ke=Oi==null?void 0:Oi.filter(Zt=>((Zt==null?void 0:Zt.type)==="\u5173\u8054"||(Zt==null?void 0:Zt.type)==="\u88AB\u5173\u8054")&&(Zt==null?void 0:Zt.startNodeUuid)===((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))))==null?void 0:Ke.map(Zt=>{var nn,cn;return{uuid:Zt==null?void 0:Zt.endNodeUuid,name:(cn=(nn=Fi==null?void 0:Fi.find(on=>{var bn;return((bn=on==null?void 0:on.properties)==null?void 0:bn.uuid)===(Zt==null?void 0:Zt.endNodeUuid)}))==null?void 0:nn.properties)==null?void 0:cn.name}});ta({bh:rt,qx:Xt,hx:Bt,gl:Sn}),Kn!=null&&Kn.pathSetting&&Xo(JSON.parse(Kn==null?void 0:Kn.pathSetting)),pu.setFieldsValue(ct),Gs(ct)}),style:{color:"#1B8565",marginLeft:10,cursor:"pointer"}})),an.createElement("div",{style:{display:"flex",alignItems:"center"}},(Kn==null?void 0:Kn.colorType)!=="1"&&((Uo=Yt==null?void 0:Yt.detail)==null?void 0:Uo.can_managed)&&Va!=="\u5B66\u4E60\u8DEF\u5F84"&&an.createElement(ye.ZP,{type:"primary",className:Fe.button,onClick:(0,Ha.debounce)(()=>Io(void 0,null,function*(){var Dn,Or;let ae=yield(0,Mt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),subject_id:ss==null?void 0:ss.pathId,depth:1,relationshipFilter:"\u88AB\u5305\u542B>"}});if((ae==null?void 0:ae.status)===0){let de=(Or=(Dn=ae==null?void 0:ae.data)==null?void 0:Dn.nodes)==null?void 0:Or.filter(xe=>{var ke;return((ke=xe==null?void 0:xe.properties)==null?void 0:ke.uuid)!==((Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id))}),pe=de==null?void 0:de.map(xe=>{var ke,ze;return{name:(ke=xe==null?void 0:xe.properties)==null?void 0:ke.name,uuid:(ze=xe==null?void 0:xe.properties)==null?void 0:ze.uuid}});Kr.bh=pe,ta(Kr),Al(1),na(!1),zt([]),is([]),_r([])}}),500)},"\u589E\u52A0\u540C\u7EA7\u8282\u70B9"),((zl=Yt==null?void 0:Yt.detail)==null?void 0:zl.can_managed)&&Va!=="\u5B66\u4E60\u8DEF\u5F84"&&an.createElement(ye.ZP,{type:"primary",className:Fe.button,onClick:()=>{var Dn,Or;((Or=(Dn=Kr==null?void 0:Kr.bh)==null?void 0:Dn.filter(ae=>(ae==null?void 0:ae.uuid)===(Kn==null?void 0:Kn.id)))==null?void 0:Or.length)>0||Kr.bh.push({name:Kn==null?void 0:Kn.name,uuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id)}),Al(2),na(!1),zt([]),is([]),_r([])}},"\u589E\u52A0\u5B50\u7EA7\u8282\u70B9"),((il=Yt==null?void 0:Yt.detail)==null?void 0:il.can_managed)&&Va!=="\u5B66\u4E60\u8DEF\u5F84"&&an.createElement(ye.ZP,{className:Fe.button,onClick:()=>{let Dn="";Se.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:Di.current,content:an.createElement("div",null,an.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",an.createElement("span",{style:{color:"red"}},"\u201C\u786E\u8BA4\u5220\u9664\u201D")),an.createElement(He.default,{onChange:Or=>{Dn=Or.target.value}})),onOk:()=>Io(void 0,null,function*(){if(Dn!=="\u786E\u8BA4\u5220\u9664")return yt.ZP.info("\u8BF7\u8F93\u5165\u786E\u8BA4\u5220\u9664"),Promise.reject();if(Dn==="\u786E\u8BA4\u5220\u9664"){let Or=yield(0,Mt.ZP)("/api/knowledge/v2/del_node.json",{method:"post",body:{uuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),subject_id:ss==null?void 0:ss.pathId}});(Or==null?void 0:Or.status)===0&&(yt.ZP.info("\u5220\u9664\u6210\u529F"),Rl({graphable_id:ss==null?void 0:ss.pathId}),(Kn==null?void 0:Kn.colorType)!=="1"?(Yl(!1),go()):rl(),na(!1))}})})}},"\u5220\u9664\u8282\u70B9"),((Hl=Yt==null?void 0:Yt.detail)==null?void 0:Hl.can_managed)&&Va==="\u5B66\u4E60\u8DEF\u5F84"&&yl.get("type")==="classrooms"&&an.createElement(ye.ZP,{type:"primary",className:Fe.button,onClick:()=>{Se.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:Di.current,okText:"\u786E\u8BA4\u540C\u6B65",content:an.createElement("div",null,"\u8BE5\u8282\u70B9\u4E0B\u5171",an.createElement("span",{className:"c-light-primary"},Kn==null?void 0:Kn.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:()=>Io(void 0,null,function*(){const Dn=yield(0,Mt.ZP)("/api/subject_knowledge/send_to_course",{method:"post",body:{id:Kn==null?void 0:Kn.resourceid,subject_id:ss==null?void 0:ss.pathId}});(Dn==null?void 0:Dn.status)===0&&yt.ZP.success("\u64CD\u4F5C\u6210\u529F")})})}},"\u540C\u6B65\u8D44\u6E90\u5230\u8BFE\u5802"),an.createElement(qe.Z,{onClick:()=>{na(!1)},style:{marginLeft:"10rem",fontSize:"16rem",color:"#979797"}}))),an.createElement("div",{className:Fe.tabstyle},os==null?void 0:os.map(Dn=>an.createElement("div",{onClick:()=>{sr(Dn.key)},className:cr===(Dn==null?void 0:Dn.key)?Fe.itemsactivite:Fe.items},Dn==null?void 0:Dn.name))),cr===1&&an.createElement("div",null,an.createElement("div",{className:Fe.nodetitle},Yr===1&&an.createElement(St.Z,{onClick:()=>Wr(2)}),Yr===2&&an.createElement(jt.Z,{onClick:()=>Wr(1)}),an.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5C5E\u6027")),Yr===2&&an.createElement("div",{className:Fe.nodeboyd},an.createElement("div",{className:Fe.listitem,style:{marginTop:"0rem"}},an.createElement("label",null,"\u8282\u70B9\u540D\u79F0"),an.createElement("span",null,Kn==null?void 0:Kn.name)),an.createElement("div",{className:Fe.listitem},an.createElement("label",null,"\u8282\u70B9\u7B80\u4ECB"),an.createElement("pre",null,(Kn==null?void 0:Kn.description)||"\u6682\u65E0")),an.createElement("div",{className:Fe.listitem},an.createElement("label",null,"\u8282\u70B9\u7C7B\u578B"),an.createElement("div",null,(Kn==null?void 0:Kn.nodeType)&&an.createElement(tn,{containerRef:Di,type:5,value:[{name:Kn==null?void 0:Kn.nodeType}],pathsDetail:Yt,showmodal:!1,dataSources:[]})," ")),an.createElement("div",{className:Fe.listitem},an.createElement("label",null,"\u8282\u70B9\u6807\u7B7E"),an.createElement("span",null,((Ps=Kn==null?void 0:Kn.tags)==null?void 0:Ps.length)>0&&an.createElement(tn,{containerRef:Di,type:5,pathsDetail:Yt,value:Kn==null?void 0:Kn.tags,showmodal:!1,dataSources:[]}))),(Kn==null?void 0:Kn.nodeType)==="\u89C6\u9891"&&(Kn==null?void 0:Kn.resourceOrigin)!==3&&ko&&an.createElement("div",{style:{height:"300rem",marginTop:"20rem"}},an.createElement(Le.Z,{allow_skip:!0,videoId:ko,toLog:!0,src:Kn==null?void 0:Kn.resourceUrl,logWatchHistory:Dn=>Co(Zu(Vs({},Dn),{container_type:localStorage.getItem("container_type_tupu"),items:Kn}))})),(Kn==null?void 0:Kn.resourceOrigin)===3&&an.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},an.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},Kn==null?void 0:Kn.resourceUrl),an.createElement(ye.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Io(void 0,null,function*(){let Dn=yield(0,Mt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:ss==null?void 0:ss.pathId,uuid:Kn==null?void 0:Kn.uuid}});window.open(Kn==null?void 0:Kn.resourceUrl)}),type:"primary"},"\u524D\u5F80\u67E5\u770B")),(Kn==null?void 0:Kn.nodeType)==="\u9898\u96C6"&&(ml==null?void 0:ml.map(Dn=>an.createElement("div",{style:{display:"flex",alignItems:"center",marginTop:"10rem"}},an.createElement(pt.Z,{title:Dn==null?void 0:Dn.name},an.createElement("span",{className:Fe.multiple,style:{color:"#1B8565",fontSize:"16rem",maxWidth:"80%"}},Dn==null?void 0:Dn.name)),an.createElement("div",{style:{marginLeft:"10rem",padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",Dn==null?void 0:Dn.count)))),(Kn==null?void 0:Kn.nodeType)!="\u89C6\u9891"&&(Kn==null?void 0:Kn.nodeType)!="\u9898\u96C6"&&(Kn!=null&&Kn.resourceOrigin)&&[1,2].includes(Kn==null?void 0:Kn.resourceOrigin)?an.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},an.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},(Kn==null?void 0:Kn.resourceOrigin)===1?(ps=kt==null?void 0:kt[0])==null?void 0:ps.name:(wo=Er==null?void 0:Er[0])==null?void 0:wo.name),(0,Hi.JA)()&&((Kn==null?void 0:Kn.nodeType)==="\u8BD5\u5377"||(Kn==null?void 0:Kn.nodeType)==="\u8BD5\u9898")?"":an.createElement(ye.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Io(void 0,null,function*(){Gi(Kn==null?void 0:Kn.resourceUrl);let Dn=yield(0,Mt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:ss==null?void 0:ss.pathId,uuid:Kn==null?void 0:Kn.uuid}})}),type:"primary"},"\u524D\u5F80\u67E5\u770B"),((Kn==null?void 0:Kn.nodeType)==="\u8BD5\u5377"||(Kn==null?void 0:Kn.nodeType)==="\u8BD5\u9898")&&(Kn==null?void 0:Kn.resourceOrigin)===1&&an.createElement(ye.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>Io(void 0,null,function*(){var Dn,Or;const ae=yield(0,Qa.Mb)({categoryId:(Dn=kt==null?void 0:kt[0])==null?void 0:Dn.id});ae!=null&&ae.exercise_id&&(0,Ln.xg)(`/classrooms/coursesId/exercise/${ae.exercise_id}/${(Or=mr.userInfo)==null?void 0:Or.login}/initate_answer`)}),type:"primary"},"\u6A21\u62DF\u8003\u8BD5")):""),an.createElement("div",{className:Fe.nodetitle},di===1&&an.createElement(St.Z,{onClick:()=>ha(2)}),di===2&&an.createElement(jt.Z,{onClick:()=>ha(1)}),an.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5173\u7CFB"),an.createElement("div",{style:{flex:1,textAlign:"end"}},an.createElement(tt.default,{style:{minWidth:"100rem"},value:Pt,onChange:Dn=>{var Or;if(Wt(Dn),Dn==0)Ko();else{let ae=(Or=qa==null?void 0:qa.gl)==null?void 0:Or.filter(pe=>(pe==null?void 0:pe.pathId)==Dn);const de=[...ae==null?void 0:ae.map((pe,xe)=>({label:`${pe==null?void 0:pe.uuname}\uFF08${ae==null?void 0:ae.filter(ke=>ke.olduuid=pe==null?void 0:pe.olduuid).length}\uFF09`,children:an.createElement(Ma,{items:Ei,datas:ae==null?void 0:ae.filter(ke=>ke.olduuid=pe==null?void 0:pe.olduuid)}),key:xe,items:ae==null?void 0:ae.filter(ke=>ke.olduuid=pe==null?void 0:pe.olduuid)}))];Ri(0),Sr=de,Ir(de)}}},an.createElement(tt.default.Option,{value:"0"},"\u672C\u8BFE\u7A0B"),(La=qa==null?void 0:qa.gl)==null?void 0:La.map(Dn=>an.createElement(tt.default.Option,{value:Dn==null?void 0:Dn.pathId},Dn==null?void 0:Dn.uuname))))),di===2&&an.createElement("div",{className:Fe.nodeboyd,style:{padding:0,minHeight:"530rem"}},an.createElement(ut.default,{className:Fe.Tabs,activeKey:xi,destroyInactiveTabPane:!0,onChange:Dn=>{Ri(parseInt(Dn))},type:"card",items:Sr}))),cr===3&&an.createElement("div",null,(0,Hi.JA)()?an.createElement(Ji,{uuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id)}):an.createElement(Fn,{uuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id)}))),an.createElement(Se.default,{title:an.createElement("span",{style:{fontSize:"18rem",color:"#000"}},to===3?"\u7F16\u8F91":"\u521B\u5EFA","\u8282\u70B9"),centered:!0,destroyOnClose:!0,width:"1200rem",open:to>0,getContainer:()=>Di.current,onCancel:()=>{Al(0),pu.resetFields(),ta({qx:[],bh:[],hx:[],gl:[]}),Xo({qx:[],bh:[],hx:[],gl:[]}),_r([]),Gs({}),zt([]),is([])},okButtonProps:{loading:Ua},onOk:()=>{pu.submit()}},an.createElement("div",{className:Fe.addmodal},an.createElement("div",{className:Fe.title},"\u8282\u70B9\u5C5E\u6027"),an.createElement(st.default,{className:Fe.form,labelCol:{flex:"92rem"},layout:"horizontal",form:pu,colon:!1,onValuesChange:(Dn,Or)=>{var ae,de,pe,xe;Gs(Vs({},Or)),(Or==null?void 0:Or.resourceOrigin)!==1&&zt([]),((de=(ae=Or==null?void 0:Or.label)==null?void 0:ae[0])==null?void 0:de.name)!=="\u9898\u96C6"&&is([]),((xe=(pe=Or==null?void 0:Or.label)==null?void 0:pe[0])==null?void 0:xe.item_type)!==2&&(zt([]),_r([]),is([]),pu.setFieldsValue({resourceOrigin:0,url:""}))},onFinish:(0,Ha.debounce)(Dn=>Io(void 0,null,function*(){var Or,ae,de,pe,xe,ke,ze,Ye,Ke,ct,rt,Ct,Xt,Bt,Sn,Zt,nn,cn,on,bn,Mr,ti,xa,ui,ka,Xa,ua,Tr,yi,Ya,Qn,jn,ai,Si,ia,oi,zi,so,Oo,ar,$o,bl,eu,Cs,uu,yu,cu,du,oc,Oc;if(((Or=Kr==null?void 0:Kr.bh)==null?void 0:Or.length)===0){yt.ZP.warning("\u8282\u70B9\u5305\u542B\u5173\u7CFB\u4E0D\u80FD\u4E3A\u7A7A");return}if((Dn==null?void 0:Dn.resourceOrigin)===0){yt.ZP.warning("\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B");return}if((Dn==null?void 0:Dn.resourceOrigin)===1&&(kt==null?void 0:kt.length)<=0&&((ae=Dn==null?void 0:Dn.label[0])==null?void 0:ae.name)!=="\u9898\u96C6"){yt.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((Dn==null?void 0:Dn.resourceOrigin)===1&&(ml==null?void 0:ml.length)<=0&&((de=Dn==null?void 0:Dn.label[0])==null?void 0:de.name)==="\u9898\u96C6"){yt.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((Dn==null?void 0:Dn.resourceOrigin)===2&&(Er==null?void 0:Er.length)===0){yt.ZP.warning("\u8BF7\u4E0A\u4F20\u6587\u4EF6");return}Do(!0);let Ru=to===3?"/api/knowledge/v2/mod_node.json":"/api/knowledge/v2/add_node.json",Vl=to===3?{subject_id:ss==null?void 0:ss.pathId,properties:{description:Dn.description,rootNodeUuid:Kn==null?void 0:Kn.rootNodeUuid,name:Dn.name,uuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),nodeType:(pe=Dn==null?void 0:Dn.label[0])==null?void 0:pe.name,tags:((ke=(xe=Dn.tag)==null?void 0:xe.map(Pu=>Pu==null?void 0:Pu.name))==null?void 0:ke.join("\uFF0C"))||"",color:Kn==null?void 0:Kn.color,resourceOrigin:Dn.resourceOrigin,resourceUrl:Dn.resourceOrigin===3?Dn.url:Dn.resourceOrigin===2?((Ke=(Ye=(ze=Er==null?void 0:Er[0])==null?void 0:ze.response)==null?void 0:Ye.url)==null?void 0:Ke.indexOf("educoder.net"))>-1?(rt=(ct=Er==null?void 0:Er[0])==null?void 0:ct.response)==null?void 0:rt.url:((Ct=Hn==null?void 0:Hn.setting)==null?void 0:Ct.public_bucket_host)+((Bt=(Xt=Er==null?void 0:Er[0])==null?void 0:Xt.response)==null?void 0:Bt.url):(Sn=kt==null?void 0:kt[0])==null?void 0:Sn.url,container_type:((Zt=Dn==null?void 0:Dn.label[0])==null?void 0:Zt.name)==="\u9898\u96C6"?"ItemBanksGroup":(Dn.resourceOrigin===1||Dn.resourceOrigin===2)&&((nn=kt==null?void 0:kt[0])==null?void 0:nn.container_type)||((on=(cn=Er==null?void 0:Er[0])==null?void 0:cn.response)==null?void 0:on.container_type),container_id:(Dn.resourceOrigin===1||Dn.resourceOrigin===2)&&((bn=kt==null?void 0:kt[0])==null?void 0:bn.container_id)||((ti=(Mr=Er==null?void 0:Er[0])==null?void 0:Mr.response)==null?void 0:ti.container_id),itemBanksGroupIds:ml==null?void 0:ml.map(Pu=>Pu==null?void 0:Pu.group_id).toString(),pathSetting:JSON.stringify(qa)},subgraphNodeUuid:ci,relationships:[...(xa=Kr.bh)==null?void 0:xa.map(Pu=>({startNodeUuid:Pu.uuid,endNodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),type:"\u5305\u542B"})),...oo==null?void 0:oo.map(Pu=>({endNodeUuid:Pu.uuid,startNodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),type:"\u5305\u542B"})),...(ui=Kr.qx)==null?void 0:ui.map(Pu=>({endNodeUuid:Pu.uuid,startNodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),type:"\u524D\u5E8F"})),...(ka=Kr.hx)==null?void 0:ka.map(Pu=>({endNodeUuid:Pu.uuid,startNodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),type:"\u540E\u5E8F"})),...(Xa=Kr.gl)==null?void 0:Xa.map(Pu=>({startNodeUuid:Pu.uuid,endNodeUuid:(Kn==null?void 0:Kn.keys)||(Kn==null?void 0:Kn.id),type:"\u5173\u8054"}))]}:{label:((ua=Dn==null?void 0:Dn.label[0])==null?void 0:ua.item_type)===1?"\u6807\u7B7E":"\u8D44\u6E90",subject_id:ss==null?void 0:ss.pathId,properties:{description:Dn.description,rootNodeUuid:Kn==null?void 0:Kn.rootNodeUuid,name:Dn.name,nodeType:(Tr=Dn==null?void 0:Dn.label[0])==null?void 0:Tr.name,tags:((Ya=(yi=Dn.tag)==null?void 0:yi.map(Pu=>Pu==null?void 0:Pu.name))==null?void 0:Ya.join("\uFF0C"))||"",color:to===1?"2":parseInt(Kn==null?void 0:Kn.colorType)+1+"",resourceOrigin:Dn.resourceOrigin,resourceUrl:Dn.resourceOrigin===3?Dn.url:Dn.resourceOrigin===2?((ai=(jn=(Qn=Er==null?void 0:Er[0])==null?void 0:Qn.response)==null?void 0:jn.url)==null?void 0:ai.indexOf("educoder.net"))>-1?(ia=(Si=Er==null?void 0:Er[0])==null?void 0:Si.response)==null?void 0:ia.url:((oi=Hn==null?void 0:Hn.setting)==null?void 0:oi.public_bucket_host)+((so=(zi=Er==null?void 0:Er[0])==null?void 0:zi.response)==null?void 0:so.url):(Oo=kt==null?void 0:kt[0])==null?void 0:Oo.url,container_type:((ar=Dn==null?void 0:Dn.label[0])==null?void 0:ar.name)==="\u9898\u96C6"?"ItemBanksGroup":(Dn.resourceOrigin===1||Dn.resourceOrigin===2)&&(($o=kt==null?void 0:kt[0])==null?void 0:$o.container_type)||((eu=(bl=Er==null?void 0:Er[0])==null?void 0:bl.response)==null?void 0:eu.container_type),container_id:(Dn.resourceOrigin===1||Dn.resourceOrigin===2)&&((Cs=kt==null?void 0:kt[0])==null?void 0:Cs.container_id)||((yu=(uu=Er==null?void 0:Er[0])==null?void 0:uu.response)==null?void 0:yu.container_id),itemBanksGroupIds:ml==null?void 0:ml.map(Pu=>Pu==null?void 0:Pu.group_id).toString(),pathSetting:JSON.stringify(qa)},subgraphNodeUuid:ci,relationships:[...(cu=Kr.bh)==null?void 0:cu.map(Pu=>({startNodeUuid:Pu.uuid,type:"\u5305\u542B"})),...(du=Kr.qx)==null?void 0:du.map(Pu=>({startNodeUuid:Pu.uuid,type:"\u524D\u5E8F"})),...(oc=Kr.hx)==null?void 0:oc.map(Pu=>({endNodeUuid:Pu.uuid,type:"\u540E\u5E8F"})),...(Oc=Kr.gl)==null?void 0:Oc.map(Pu=>({startNodeUuid:Pu.uuid,type:"\u5173\u8054"}))]};const vc=yield(0,Mt.ZP)(Ru,{method:"POST",body:Vl});Do(!1),(vc==null?void 0:vc.status)===0&&(Rl({graphable_id:ss==null?void 0:ss.pathId}),yt.ZP.info(to===3?"\u7F16\u8F91\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),Al(0),Yl(!1),go(),pu.resetFields(),_r([]),Gs({}),zt([]),is([]),ta({qx:[],hx:[],bh:[],gl:[]}))}),500),size:"large"},an.createElement(st.default.Item,{label:"\u8282\u70B9\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:200,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"}]},an.createElement(He.default,{maxLength:200,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),an.createElement(st.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"}]},an.createElement(He.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),an.createElement(st.default.Item,{label:"\u8282\u70B9\u7C7B\u578B",name:"label",style:{marginBottom:"0rem"},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},an.createElement(tn,{containerRef:Di,type:5,pathsDetail:Yt,showmodal:to!==3,dataSources:[]})),((ql=(Ca=kl==null?void 0:kl.label)==null?void 0:Ca[0])==null?void 0:ql.item_type)===2&&an.createElement(st.default.Item,{label:" ",name:"resourceOrigin",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B"}]},an.createElement(ht.ZP.Group,{className:Fe.radioform},an.createElement(ht.ZP,{value:1},"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90"),((Mu=(ru=kl==null?void 0:kl.label)==null?void 0:ru[0])==null?void 0:Mu.name)!=="\u9898\u96C6"&&an.createElement(ht.ZP,{value:2},"\u4E0A\u4F20\u6587\u4EF6"),((fs=(Fo=kl==null?void 0:kl.label)==null?void 0:Fo[0])==null?void 0:fs.name)!=="\u9898\u96C6"&&an.createElement(ht.ZP,{value:3},"\u5916\u94FE"))),(kl==null?void 0:kl.resourceOrigin)===1&&((Fs=(Kl=kl==null?void 0:kl.label)==null?void 0:Kl[0])==null?void 0:Fs.item_type)===2&&an.createElement(st.default.Item,{label:" ",name:""},an.createElement(ye.ZP,{onClick:()=>{var Dn,Or,ae,de,pe,xe,ke,ze;((Or=(Dn=kl==null?void 0:kl.label)==null?void 0:Dn[0])==null?void 0:Or.name)==="\u9898\u96C6"?(us(!0),rs(ml),ba()):((de=(ae=kl==null?void 0:kl.label)==null?void 0:ae[0])==null?void 0:de.name)==="\u8BD5\u9898"?iu(!0):(Pe(!0),Ze(((xe=(pe=kl==null?void 0:kl.label)==null?void 0:pe[0])==null?void 0:xe.name)==="\u89C6\u9891"?"2":((ze=(ke=kl==null?void 0:kl.label)==null?void 0:ke[0])==null?void 0:ze.name)==="\u8BD5\u5377"?"4":"1"))},type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},((Bo=(eo=kl==null?void 0:kl.label)==null?void 0:eo[0])==null?void 0:Bo.name)==="\u9898\u96C6"?"\u9009\u62E9\u9898\u96C6":"\u9009\u62E9\u8D44\u6E90"),(kt==null?void 0:kt.length)>0&&an.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},an.createElement("div",{className:Fe.multiple,title:(As=kt==null?void 0:kt[0])==null?void 0:As.name},((Ku=kt==null?void 0:kt[0])==null?void 0:Ku.name)||pu.getFieldValue("name")+"\uFF08"+((Gr=kt==null?void 0:kt[0])==null?void 0:Gr.question_count)+"\uFF09"),an.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{zt([])},className:"iconfont icon-shanchu12"})," "),(ml==null?void 0:ml.length)>0&&(ml==null?void 0:ml.map(Dn=>an.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},an.createElement("div",{className:Fe.multiple,title:Dn==null?void 0:Dn.name},Dn==null?void 0:Dn.name),an.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{is(ml==null?void 0:ml.filter(Or=>(Or==null?void 0:Or.group_id)!==(Dn==null?void 0:Dn.group_id)))},className:"iconfont icon-shanchu12"})," ")))),(kl==null?void 0:kl.resourceOrigin)===2&&((Ql=(Ds=kl==null?void 0:kl.label)==null?void 0:Ds[0])==null?void 0:Ql.item_type)===2&&an.createElement(st.default.Item,{label:" ",name:"file",shouldUpdate:!0},an.createElement(Qe.default,Vs({},Yo),an.createElement(ye.ZP,{type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},"\u4E0A\u4F20\u6587\u4EF6"))),(kl==null?void 0:kl.resourceOrigin)===3&&((hu=(wu=kl==null?void 0:kl.label)==null?void 0:wu[0])==null?void 0:hu.item_type)===2&&an.createElement(st.default.Item,{label:" ",name:"url"},an.createElement(st.default.Item,{label:"\u5916\u94FE\u94FE\u63A5",name:"url",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5916\u94FE"}]},an.createElement(He.default,{style:{height:"40rem"}}))),an.createElement(st.default.Item,{label:"\u8282\u70B9\u6807\u7B7E",name:"tag"},an.createElement(tn,{containerRef:Di,type:3,pathsDetail:Yt,showmodal:!0,dataSources:[]})))),an.createElement("div",{className:Fe.addmodal,style:{marginTop:"20rem"}},an.createElement("div",{className:Fe.title},an.createElement("span",null,"\u8282\u70B9\u5173\u7CFB"),an.createElement("div",null,an.createElement("span",{style:{cursor:"pointer"},onClick:()=>{Ta()}},"\u5173\u8054\u5176\u4ED6\u8BFE\u7A0B"),an.createElement("span",{style:{cursor:"pointer",marginLeft:20},onClick:()=>{bo()}},"\u5173\u7CFB\u8BBE\u7F6E"))),an.createElement("div",{className:Fe.gxcoent,style:{padding:"20rem 25rem"}},an.createElement("div",{className:Fe.gxtitle},an.createElement("div",{className:Fe.Colortitle,style:{background:"#6236ff"}}),an.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(Wi=Kr.bh)==null?void 0:Wi.length,"\uFF09")),an.createElement("div",{className:Fe.gxbody},(Bl=Kr==null?void 0:Kr.bh)==null?void 0:Bl.map(Dn=>an.createElement("div",{className:Fe.tag,style:{background:"#6236ff"}},an.createElement("span",{style:{marginRight:"10rem"}},Dn==null?void 0:Dn.name)," ",an.createElement(qe.Z,{onClick:()=>{var Or;let ae=(Or=Kr==null?void 0:Kr.bh)==null?void 0:Or.filter(de=>de.uuid!==Dn.uuid);ta({bh:ae,hx:Kr==null?void 0:Kr.hx,qx:Kr==null?void 0:Kr.qx,gl:Kr==null?void 0:Kr.gl})}})))),an.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},an.createElement("div",{className:Fe.Colortitle,style:{background:"#24A881"}}),an.createElement("div",null,"\u524D\u5E8F\uFF08",(io=Kr.qx)==null?void 0:io.length,"\uFF09")),an.createElement("div",{className:Fe.gxbody},(Ro=Kr==null?void 0:Kr.qx)==null?void 0:Ro.map(Dn=>an.createElement("div",{className:Fe.tag,style:{background:"#24A881"}},an.createElement("span",{style:{marginRight:"10rem"}},Dn==null?void 0:Dn.name)," ",an.createElement(qe.Z,{onClick:()=>{var Or;let ae=(Or=Kr==null?void 0:Kr.qx)==null?void 0:Or.filter(de=>de.uuid!==Dn.uuid);ta({qx:ae,bh:Kr==null?void 0:Kr.bh,hx:Kr==null?void 0:Kr.hx,gl:Kr==null?void 0:Kr.gl})}})))),an.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},an.createElement("div",{className:Fe.Colortitle,style:{background:"#EC8657"}}),an.createElement("div",null,"\u540E\u5E8F\uFF08",(hs=Kr.hx)==null?void 0:hs.length,"\uFF09")),an.createElement("div",{className:Fe.gxbody},(xs=Kr==null?void 0:Kr.hx)==null?void 0:xs.map(Dn=>an.createElement("div",{className:Fe.tag,style:{background:"#EC8657"}},an.createElement("span",{style:{marginRight:"10rem"}},Dn==null?void 0:Dn.name)," ",an.createElement(qe.Z,{onClick:()=>{var Or;let ae=(Or=Kr==null?void 0:Kr.hx)==null?void 0:Or.filter(de=>de.uuid!==Dn.uuid);ta({qx:Kr==null?void 0:Kr.qx,bh:Kr==null?void 0:Kr.bh,hx:ae,gl:Kr==null?void 0:Kr.gl})}})))),an.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},an.createElement("div",{className:Fe.Colortitle,style:{background:"#497DFF"}}),an.createElement("div",null,"\u5173\u8054\uFF08",(vl=Kr.gl)==null?void 0:vl.length,"\uFF09")),an.createElement("div",{className:Fe.gxbody},(jl=Kr==null?void 0:Kr.gl)==null?void 0:jl.map(Dn=>an.createElement("div",{className:Fe.tag,style:{background:"#497DFF"}},an.createElement("span",{style:{marginRight:"10rem"}},Dn==null?void 0:Dn.name)," ",an.createElement(qe.Z,{onClick:()=>{var Or;let ae=(Or=Kr==null?void 0:Kr.gl)==null?void 0:Or.filter(de=>de.uuid!==Dn.uuid);ta({qx:Kr==null?void 0:Kr.qx,hx:Kr==null?void 0:Kr.hx,bh:Kr==null?void 0:Kr.bh,gl:ae})}})))),an.createElement("div",{className:Fe.gxtitle,style:{marginTop:"30rem"}},an.createElement("div",{className:Fe.Colortitle,style:{background:"#497DFF"}}),an.createElement("div",null,"\u5176\u4ED6\u8BFE\u7A0B\u5173\u8054\uFF08",(ts=qa.gl)==null?void 0:ts.length,"\uFF09")),an.createElement("div",{className:Fe.gxbody},(Ss=qa==null?void 0:qa.gl)==null?void 0:Ss.map(Dn=>an.createElement("div",{className:Fe.tag,style:{background:"#497DFF"}},an.createElement("span",{style:{marginRight:"10rem"}},Dn==null?void 0:Dn.name)," ",an.createElement(qe.Z,{onClick:()=>{var Or;let ae=(Or=qa==null?void 0:qa.gl)==null?void 0:Or.filter(de=>de.uuid!==Dn.uuid);Xo({qx:Kr==null?void 0:Kr.qx,hx:Kr==null?void 0:Kr.hx,bh:Kr==null?void 0:Kr.bh,gl:ae})}}))))))),an.createElement(Se.default,{title:"\u9009\u62E9\u9898\u96C6",open:Xr,destroyOnClose:!0,centered:!0,getContainer:()=>Di.current,width:"1200rem",onOk:()=>{if((Ks==null?void 0:Ks.length)<=0){yt.ZP.info("\u8BF7\u9009\u62E9\u9898\u96C6");return}is(Ks),us(!1)},onCancel:()=>{rs([]),us(!1)}},an.createElement(ot.default,{checkable:!0,style:{margin:20,maxHeight:400,overflow:"auto"},blockNode:!0,checkStrictly:!0,checkedKeys:Ks==null?void 0:Ks.map(Dn=>Dn==null?void 0:Dn.group_id),onCheck:(Dn,Or)=>{rs(Or==null?void 0:Or.checkedNodes)},treeData:Ms,fieldNames:{key:"group_id",title:"name"},titleRender:Dn=>an.createElement("div",{style:{display:"flex",alignItems:"center",paddingRight:"14px"}},an.createElement(pt.Z,{title:Dn==null?void 0:Dn.name},an.createElement("div",{className:Fe.multiple,style:{display:"flex",alignItems:"center",maxWidth:"80%"}},an.createElement("img",{src:ji,style:{marginRight:10}}),an.createElement("span",null,Dn==null?void 0:Dn.name))),an.createElement("div",{style:{padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",Dn==null?void 0:Dn.count))})),an.createElement(Se.default,{title:"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90",open:ys,destroyOnClose:!0,centered:!0,getContainer:()=>Di.current,width:"1200rem",onOk:()=>{Pe(!1)},onCancel:()=>{Pe(!1),to!==3&&zt([]),Ze("1")}},an.createElement("div",{className:Fe.settingmodal},an.createElement(ut.default,{className:Fe.Tabs,activeKey:Xe,destroyInactiveTabPane:!0,onChange:Dn=>{Ze(Dn)},type:"card",items:((vs=(ks=kl==null?void 0:kl.label)==null?void 0:ks[0])==null?void 0:vs.name)==="\u89C6\u9891"?qn.filter(Dn=>(Dn==null?void 0:Dn.label)==="\u89C6\u9891"):(($u=(Hu=kl==null?void 0:kl.label)==null?void 0:Hu[0])==null?void 0:$u.name)==="\u8BD5\u5377"?qn.filter(Dn=>(Dn==null?void 0:Dn.label)==="\u8BD5\u5377"):qn.filter(Dn=>(Dn==null?void 0:Dn.label)!=="\u89C6\u9891")}))),ws&&an.createElement(Qs,{setScoreShow:iu,isshixuns:Ts,ScoreShow:ws,listitem:kt==null?void 0:kt[0],isloadings:Cu,onOk:(Dn,Or,ae,de)=>Io(void 0,null,function*(){Nu(!0);let pe={item_bank_ids:Dn,shixun_ids:Or,name:pu.getFieldValue("name")+"\uFF08"+(parseInt(Dn.length)+parseInt(Or.length))+"\u9053\uFF09",subject_id:ss==null?void 0:ss.pathId};Nu(!1);let xe=yield(0,Mt.ZP)("/api/knowledge/v2/create_by_knowledge.json",{method:"post",body:pe});if((xe==null?void 0:xe.status)===0){iu(!1);let ke={container_id:xe==null?void 0:xe.container_id,container_type:xe==null?void 0:xe.container_type,url:xe==null?void 0:xe.resourceUrl,question_count:xe==null?void 0:xe.question_count,questionIdArr:Dn,shixun_ids:Or};zt([ke])}})}),an.createElement(fa.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Qi==null?void 0:Qi.url,type:Qi==null?void 0:Qi.file_type,disabledDownload:!0,onClose:()=>Po({})}),an.createElement(Se.default,{title:"\u5173\u7CFB\u8BBE\u7F6E",open:ri,destroyOnClose:!0,centered:!0,getContainer:()=>Di.current,width:"1200rem",onCancel:()=>{sa(!1);let Dn=JSON.parse(sessionStorage.getItem("typesdatajson"));ta(Dn)},onOk:()=>{let Dn=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));ta(Dn),sa(!1)}},an.createElement("div",{className:Fe.settingmodal},an.createElement(ut.default,{className:Fe.Tabs,activeKey:mi,destroyInactiveTabPane:!0,onChange:Dn=>{pi(Dn)},type:"card",items:Xn}))),an.createElement(Se.default,{title:"\u8BFE\u7A0B\u5173\u7CFB\u8BBE\u7F6E",open:Zl,destroyOnClose:!0,centered:!0,getContainer:()=>Di.current,width:"1200rem",onCancel:()=>{$l(!1);let Dn=JSON.parse(sessionStorage.getItem("typesdatajson"));Xo(Dn)},onOk:()=>{let Dn=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));Xo(Dn),$l(!1)}},an.createElement("div",null,an.createElement("label",null,"\u5B9E\u8DF5\u8BFE\u7A0B\uFF1A"),an.createElement(tt.default,{defaultValue:(Wu=Ve==null?void 0:Ve[0])==null?void 0:Wu.identifier,style:{width:300,marginBottom:20},onChange:(Dn,Or)=>{So(Dn,Or==null?void 0:Or.children)}},Ve==null?void 0:Ve.map(Dn=>an.createElement(tt.default.Option,{value:Dn==null?void 0:Dn.identifier},Dn==null?void 0:Dn.name)))),an.createElement("div",{className:Fe.settingmodal},(Xn==null?void 0:Xn.length)==0&&an.createElement(Kt.Z,{customText:"\u5F53\u524D\u8BFE\u7A0B\u4E0B\u6682\u65E0\u56FE\u8C31"}),(Xn==null?void 0:Xn.length)>0&&an.createElement(ut.default,{className:Fe.Tabs,activeKey:mi,destroyInactiveTabPane:!0,onChange:Dn=>{pi(Dn)},type:"card",items:Xn})))))};var ro=(0,Oe.connect)(({pathsDetail:Yt,user:mr,loading:Hn,globalSetting:hi})=>({pathsDetail:Yt,user:mr,globalSetting:hi,loading:Hn.models.index}))(sl)},86725:function(Bn,Wn,ie){"use strict";ie.r(Wn),ie.d(Wn,{KNOWLEDGELEARNINGDETAIL:function(){return Cn},default:function(){return Ln}});var ee=ie(59301),Oe=ie(44225),st=ie.p+"static/nav.8f5feceb.png",yt=ie(74732),Qe=ie(26358),Je=ie(16033),ye=ie(82670),Se=ie(16122),He=ie(362),pt=ie(61834),tt=ie(8451),ut=ie(17149),ht="data:image/png;base64,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",ot=ie(87620),Fe=ie(64813),qe=ie(87017),St=ie(40181),jt=ie(48289),Lt=ie(6848),Ut=ie(8591),At=ie(71418),Mt=ie(1710),je=ie(93948),gn=ie(83672),Nn=ie(59401),rn=ie(42441),Et=ie(76411),_t=ie(66649),We=ie.n(_t),Rt=ie(93351),lt=ie(61648),dn=ie(78162),ln=ie(41592),tn=ie(42684),lr=ie(85333),Dr=ie(33924),ft=ie(31217),Le=Object.defineProperty,Gt=Object.defineProperties,Cr=Object.getOwnPropertyDescriptors,ur=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,hr=(Te,ve,he)=>ve in Te?Le(Te,ve,{enumerable:!0,configurable:!0,writable:!0,value:he}):Te[ve]=he,ir=(Te,ve)=>{for(var he in ve||(ve={}))It.call(ve,he)&&hr(Te,he,ve[he]);if(ur)for(var he of ur(ve))Nt.call(ve,he)&&hr(Te,he,ve[he]);return Te},sn=(Te,ve)=>Gt(Te,Cr(ve)),An=(Te,ve,he)=>new Promise((we,Re)=>{var fe=mt=>{try{en(he.next(mt))}catch(xt){Re(xt)}},wt=mt=>{try{en(he.throw(mt))}catch(xt){Re(xt)}},en=mt=>mt.done?we(mt.value):Promise.resolve(mt.value).then(fe,wt);en((he=he.apply(Te,ve)).next())}),Cn=(Te=>(Te.KNOWLEDGE="1",Te.RESOURCE="2",Te.STUDENT="3",Te))(Cn||{});const Pn=({dispatch:Te,pathsDetail:ve,learningpathId:he,isCompontent:we})=>{var Re,fe,wt,en,mt,xt,On,yn,Qt,pr,Vr,vn,dr,ei,Ht;const{detail:Tt,actionTabs:qt}=ve,[Un,nr]=(0,ee.useState)((0,Oe.useParams)()),Jr=new URLSearchParams(window.location.search),[Ii,ii]=(0,ee.useState)({}),[ea,vo]=(0,ee.useState)("good"),[,Ha,Hi,wi]=(0,dn.U)(ln.b,{subject_id:Un==null?void 0:Un.pathId,id:Un==null?void 0:Un.learningpathId}),[,Zo,yo,Pa]=(0,dn.U)(ln.S$,{subject_id:Un==null?void 0:Un.pathId,id:Un==null?void 0:Un.learningpathId}),[Na,Br]=(0,ee.useState)({page:1,limit:10,type:"1",keyword:""}),{pxToRoot:Tn,rootFontSize:Fr}=(0,Dr.Z)(),ki=(0,ee.useMemo)(()=>{var at,De;const nt=((De=(at=wi==null?void 0:wi.data)==null?void 0:at.route_study_info)==null?void 0:De.study_grasp_hash)||[],Ot=nt==null?void 0:nt.reduce((Ar=0,fr)=>Ar+((fr==null?void 0:fr.value)||0),0),xn=["#37AD83","#0374EA","#F29533","#EE5D5D","#A4C8FC"],wn=nt.map((Ar,fr)=>sn(ir({},Ar),{color:xn[fr]})),gr={title:[{text:"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4",left:"center",top:"middle",textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:Tn(12)}}],tooltip:{appendToBody:!0,trigger:"item",position:"right",formatter:({color:Ar,value:fr,name:vr,percent:qr})=>`
    +
    +
    \u638C\u63E1\u7387${vr}
    +
    ${fr}\u4EBA \u5360\u6BD4${qr}%`},color:Ot==0?["#1F2A51"]:xn,series:{type:"pie",radius:["45%","80%"],label:{position:"inner",fontSize:Tn(14),formatter:({percent:Ar})=>Ar==0?"":`${Ar}%`},labelLine:{show:!1},data:nt}};return{listData:wn,option:gr}},[(Re=wi==null?void 0:wi.data)==null?void 0:Re.route_study_info,Fr]),Vt=(0,ee.useMemo)(()=>{var at,De,nt,Ot,xn,wn,gr,Ar,fr,vr;const qr=[{value:((De=(at=wi==null?void 0:wi.data)==null?void 0:at.route_study_info)==null?void 0:De.complete_rate)||0,name:"\u5E73\u5747\u5B8C\u6210\u7387"},{value:((xn=(Ot=(nt=wi==null?void 0:wi.data)==null?void 0:nt.route_study_info)==null?void 0:Ot.personal_complete)==null?void 0:xn.complete_rate)||0,name:"\u6700\u9AD8\u5B8C\u6210\u7387"},{value:((gr=(wn=wi==null?void 0:wi.data)==null?void 0:wn.route_study_info)==null?void 0:gr.grasp_rate)||0,name:"\u5E73\u5747\u638C\u63E1\u7387"},{value:((vr=(fr=(Ar=wi==null?void 0:wi.data)==null?void 0:Ar.route_study_info)==null?void 0:fr.personal_grasp)==null?void 0:vr.grasp_rate)||0,name:"\u6700\u9AD8\u638C\u63E1\u7387"}],Xi=Nr=>{var Gn,Fn,Kt,Mn;return(Nr=="\u6700\u9AD8\u5B8C\u6210\u7387"?(Fn=(Gn=wi==null?void 0:wi.data)==null?void 0:Gn.route_study_info)==null?void 0:Fn.personal_complete:(Mn=(Kt=wi==null?void 0:wi.data)==null?void 0:Kt.route_study_info)==null?void 0:Mn.personal_grasp)||[]};return{tooltip:{trigger:"item",formatter:({value:Nr,name:Gn})=>{var Fn,Kt,Mn;return Gn=="\u5E73\u5747\u5B8C\u6210\u7387"||Gn=="\u5E73\u5747\u638C\u63E1\u7387"?`${Gn}: ${Nr}%`:`
    + ${Gn}\u5B66\u751F\uFF1A
    + \u59D3\u540D\uFF1A${(Fn=Xi(Gn))==null?void 0:Fn.real_name}
    + \u5B66\u53F7\uFF1A${(Kt=Xi(Gn))==null?void 0:Kt.student_id}
    + \u73ED\u7EA7\uFF1A${(Mn=Xi(Gn))==null?void 0:Mn.course_group_name}
    +
    `}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{data:qr.map(Nr=>Nr.name),axisLabel:{color:"#fff"},axisTick:{show:!1},axisLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#A4C8FC",formatter:"{value}%"},splitLine:{lineStyle:{color:"rgba(164,200,252,0.1)"}}},series:{type:"bar",data:qr,barMaxWidth:"20%",itemStyle:{color:new Et.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#B2E0FF"},{offset:.5,color:"#7BC9FF"},{offset:1,color:"#0A2552"}])},label:{show:!0,position:"top",formatter:"{c}%",color:"#fff"}}}},[(fe=wi==null?void 0:wi.data)==null?void 0:fe.route_study_info]),Vn=(0,ee.useMemo)(()=>{var at,De,nt,Ot,xn,wn,gr,Ar,fr,vr;return[{title:"\u5B66\u4E60\u603B\u4EBA\u6570",num:((De=(at=wi==null?void 0:wi.data)==null?void 0:at.basic_info)==null?void 0:De.study_count)||0,unit:"",img:ut},{title:"\u672A\u5B66\u4E60\u4EBA\u6570",num:((Ot=(nt=wi==null?void 0:wi.data)==null?void 0:nt.basic_info)==null?void 0:Ot.no_study_count)||0,unit:"",img:ot},{title:"\u672C\u5468\u5B66\u4E60\u4EBA\u6570",num:((wn=(xn=wi==null?void 0:wi.data)==null?void 0:xn.basic_info)==null?void 0:wn.week_study_count)||0,unit:"",img:Fe},{title:"\u77E5\u8BC6\u70B9\u6570",num:((Ar=(gr=wi==null?void 0:wi.data)==null?void 0:gr.basic_info)==null?void 0:Ar.knowledge_count)||0,unit:"",img:qe},{title:"\u8D44\u6E90\u603B\u6570",num:((vr=(fr=wi==null?void 0:wi.data)==null?void 0:fr.basic_info)==null?void 0:vr.resource_count)||0,unit:"",img:St}]},[(wt=wi==null?void 0:wi.data)==null?void 0:wt.basic_info]),wr=(0,ee.useMemo)(()=>{var at,De,nt,Ot,xn,wn,gr,Ar,fr,vr,qr,Xi;const Nr=(nt=(De=(at=wi==null?void 0:wi.data)==null?void 0:at.resource_info)==null?void 0:De.resource_data)==null?void 0:nt.reduce((Kt=0,Mn)=>Kt+((Mn==null?void 0:Mn.num)||0),0),Gn=(wn=(xn=(Ot=wi==null?void 0:wi.data)==null?void 0:Ot.resource_info)==null?void 0:xn.publish_resource_data)==null?void 0:wn.reduce((Kt=0,Mn)=>Kt+((Mn==null?void 0:Mn.num)||0),0),Fn=[{title:"\u5B9E\u8BAD\u6570",node_type:"\u5B9E\u8BAD",num:0,publishNum:0,unit:"",img:ie(31537),trailColor:"#202857",strokeColor:"#0676DB"},{title:"\u89C6\u9891\u6570",node_type:"\u89C6\u9891",num:0,publishNum:0,unit:"",img:ie(46058),trailColor:"#202857",strokeColor:"#26A27A"},{title:"\u8BFE\u4EF6\u6570",node_type:"\u8BFE\u4EF6",num:0,publishNum:0,unit:"",img:ie(71190),trailColor:"#202857",strokeColor:"#CDCB56"},{title:"\u8BD5\u5377\u6570",node_type:"\u8BD5\u5377",num:0,publishNum:0,unit:"",img:ie(51889),trailColor:"#202857",strokeColor:"#C2652F"},{title:"\u4F5C\u4E1A\u6570",node_type:"\u4F5C\u4E1A",num:0,publishNum:0,unit:"",img:ie(95754),trailColor:"#202857",strokeColor:"#5DC711"},{title:"\u5176\u4ED6\u7C7B\u578B",node_type:"\u5176\u4ED6\u7C7B\u578B",num:0,publishNum:0,unit:"",img:ie(9490),trailColor:"#202857",strokeColor:"#4903FE"}];return{resource_data:(fr=(Ar=(gr=wi==null?void 0:wi.data)==null?void 0:gr.resource_info)==null?void 0:Ar.resource_data)==null?void 0:fr.map(Kt=>sn(ir(ir({},(Fn==null?void 0:Fn.find(Mn=>(Mn==null?void 0:Mn.node_type)==(Kt==null?void 0:Kt.node_type)))||{}),Kt),{publishNum:((Kt==null?void 0:Kt.num)||0)/Nr*100})),publish_resource_data:(Xi=(qr=(vr=wi==null?void 0:wi.data)==null?void 0:vr.resource_info)==null?void 0:qr.publish_resource_data)==null?void 0:Xi.map(Kt=>sn(ir(ir({},(Fn==null?void 0:Fn.find(Mn=>(Mn==null?void 0:Mn.node_type)==(Kt==null?void 0:Kt.node_type)))||{}),Kt),{publishNum:((Kt==null?void 0:Kt.num)||0)/Gn*100}))}},[(en=wi==null?void 0:wi.data)==null?void 0:en.resource_info]),Yn=[{title:"\u6392\u540D",dataIndex:"test1",width:55,render:(at,De,nt)=>ee.createElement(ee.Fragment,null,nt==0||nt==1||nt==2?ee.createElement("img",{src:nt==0?ye:nt==1?Se:He,width:12,height:14,style:{width:"12rem"}}):nt+1)},{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",ellipsis:!0,dataIndex:"name"},{title:"\u7ED1\u5B9A\u8D44\u6E90\u6570",ellipsis:!0,dataIndex:"resource_count"},{title:"\u5B66\u4E60\u4EBA\u6570",ellipsis:!0,dataIndex:"study_count"},{title:"\u5E73\u5747\u638C\u63E1\u7387",ellipsis:!0,dataIndex:"grasp_rate",render:at=>`${at}%`}],Pr=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(at,De,nt)=>nt+1},{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",ellipsis:!0,dataIndex:"name"},{title:"\u5173\u8054\u8D44\u6E90\u6570",width:"120rem",ellipsis:!0,dataIndex:"resource_count"},{title:"\u5B9E\u8BAD",width:"120rem",ellipsis:!0,dataIndex:"shixun"},{title:"\u89C6\u9891",width:"120rem",ellipsis:!0,dataIndex:"video"},{title:"\u8BFE\u4EF6",width:"120rem",ellipsis:!0,dataIndex:"attachment"},{title:"\u8003\u8BD5",width:"120rem",ellipsis:!0,dataIndex:"examination_bank"},{title:"\u4F5C\u4E1A",width:"120rem",ellipsis:!0,dataIndex:"homework"},{title:"\u5E73\u5747\u5B8C\u6210\u7387",width:"120rem",ellipsis:!0,dataIndex:"complete_rate",render:at=>`${at}%`},{title:"\u5E73\u5747\u638C\u63E1\u7387",width:"120rem",ellipsis:!0,dataIndex:"grasp_rate",render:at=>`${at}%`},{title:"\u64CD\u4F5C",width:"120rem",ellipsis:!0,dataIndex:"test11",render:(at,De)=>ee.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{Jr.set("StatisticName",De==null?void 0:De.name),(0,lr.xg)(`/knowledgegraph/${Un==null?void 0:Un.pathId}/statistics/learningpath/${Un==null?void 0:Un.learningpathId}/detail/${De==null?void 0:De.id}?${Jr}`)}},"\u67E5\u770B\u8BE6\u60C5")}],br=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(at,De,nt)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?null:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",nt+1," "))},{title:"\u8D44\u6E90\u540D\u79F0",ellipsis:!0,dataIndex:"name",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u6240\u5C5E\u77E5\u8BC6\u70B9",width:"120rem",ellipsis:!0,dataIndex:"knowledge_name",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u8D44\u6E90\u7C7B\u578B",width:"120rem",ellipsis:!0,dataIndex:"node_type",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u5B8C\u6210\u7387",width:"120rem",ellipsis:!0,dataIndex:"complete_rate",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," %"))},{title:"\u638C\u63E1\u7387",width:"120rem",ellipsis:!0,dataIndex:"grasp_rate",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," %"))},{title:"\u8BC4\u6D4B\u6B21\u6570",width:"120rem",ellipsis:!0,dataIndex:"evaluate_count",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u89C2\u770B\u65F6\u957F",width:"120rem",ellipsis:!0,dataIndex:"watch_time",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u67E5\u770B\u6B21\u6570/\u4E0B\u8F7D\u6B21\u6570",width:"180rem",ellipsis:!0,dataIndex:"download_count",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u64CD\u4F5C",width:"100rem",ellipsis:!0,dataIndex:"test11",render:(at,De)=>ee.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{Jr.set("StatisticName",encodeURIComponent(De==null?void 0:De.name)),Jr.set("knowledge_name",encodeURIComponent(De==null?void 0:De.knowledge_name)),(0,lr.xg)(`/knowledgegraph/${Un==null?void 0:Un.pathId}/statistics/learningpath/${Un==null?void 0:Un.learningpathId}/detail/${De==null?void 0:De.id}?${Jr}`)}},"\u67E5\u770B\u8BE6\u60C5")}],kr=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(at,De,nt)=>nt+1},{title:"\u59D3\u540D",ellipsis:!0,dataIndex:"name"},{title:"\u5B66\u53F7",ellipsis:!0,dataIndex:"student_id",render:at=>at||"--"},{title:"\u73ED\u7EA7",ellipsis:!0,dataIndex:"course_group_name"},{title:"\u77E5\u8BC6\u70B9\u638C\u63E1\u6570",ellipsis:!0,dataIndex:"knowledge_count"},{title:"\u5E73\u5747\u5B8C\u6210\u7387",ellipsis:!0,dataIndex:"complete_rate",render:at=>`${at}%`},{title:"\u5E73\u5747\u638C\u63E1\u7387",ellipsis:!0,dataIndex:"grasp_rate",render:at=>`${at}%`},{title:"\u64CD\u4F5C",width:"200rem",ellipsis:!0,dataIndex:"test11",render:(at,De)=>ee.createElement("div",{className:"flex item-center gap-20px-rem"},ee.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{(0,lr.xg)(`/knowledgegraph/${Un==null?void 0:Un.pathId}/statistics/learningpath/${Un==null?void 0:Un.learningpathId}/detail/${De==null?void 0:De.user_id}?${Jr}`)}},"\u67E5\u770B\u8BE6\u60C5"))}],vi=[{title:"\u6392\u540D",width:"80rem",dataIndex:"test1",render:(at,De,nt)=>ee.createElement(Lt.Z,{placement:"topLeft",title:!(De!=null&&De.is_publish)&&"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}},nt==0||nt==1||nt==2?ee.createElement("img",{src:nt==0?ye:nt==1?Se:He,width:12,height:14,style:{width:"12rem"}}):nt+1))},{title:"\u9636\u6BB5\u540D\u79F0",ellipsis:!0,dataIndex:"name",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u77E5\u8BC6\u70B9\u6570",width:"100rem",ellipsis:!0,dataIndex:"knowledge_count",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u8D44\u6E90\u6570",width:"100rem",ellipsis:!0,dataIndex:"resource_count",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at," "))},{title:"\u5E73\u5747\u638C\u63E1\u7387",width:"100rem",ellipsis:!0,dataIndex:"grasp_rate",render:(at,De)=>ee.createElement(Lt.Z,{placement:"topLeft",title:De!=null&&De.is_publish?at:"\u6682\u672A\u53D1\u5E03"},ee.createElement("span",{style:{color:De!=null&&De.is_publish?"":"#535A6E"}}," ",at,"% "))}];return(0,ee.useEffect)(()=>{he&&nr(sn(ir({},Un),{learningpathId:he}))},[he]),(0,ee.useEffect)(()=>{var at;Un!=null&&Un.learningpathId&&ii(((at=Tt==null?void 0:Tt.route_nodes)==null?void 0:at.find(De=>(De==null?void 0:De.id)==(Un==null?void 0:Un.learningpathId)))||{})},[Un,Tt==null?void 0:Tt.route_nodes]),(0,ee.useEffect)(()=>{Un!=null&&Un.learningpathId&&Hi({subject_id:Un==null?void 0:Un.pathId,id:Un==null?void 0:Un.learningpathId})},[Un==null?void 0:Un.learningpathId]),(0,ee.useEffect)(()=>{var at;(at=wi==null?void 0:wi.data)!=null&&at.is_updating&&Ut.ZP.warning("\u5B66\u4E60\u8DEF\u5F84\u7EDF\u8BA1\u6570\u636E\u6B63\u5728\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u5237\u65B0\u9875\u9762")},[(mt=wi==null?void 0:wi.data)==null?void 0:mt.is_updating]),(0,ee.useEffect)(()=>{Un!=null&&Un.learningpathId&&yo(sn(ir({},Na),{id:Un==null?void 0:Un.learningpathId}))},[Na,Un==null?void 0:Un.learningpathId]),(0,ee.useEffect)(()=>{Jr&&(Jr.set("StatisticType",Na==null?void 0:Na.type),Jr.set("tabs","2"))},[Jr,Na==null?void 0:Na.type]),ee.createElement(ft.Z,null,ee.createElement(At.Z,{spinning:Ha},ee.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col pb-20px-rem",style:{background:"#030616"}},ee.createElement("div",{className:`sticky w-full px-56px-rem flex item-center gap-10px-rem ${we?"py-10px-rem":"pt-22px-rem pb-32px-rem"}`,style:{height:we?"auto":"90rem",top:we?"40rem":0,zIndex:1,background:`rgb(3, 6, 22) ${we?"":`url(${st})`}`,backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"}},ee.createElement("img",{src:yt,className:"current",style:{width:"66rem",height:"20rem"},onClick:()=>{Oe.history.push(`/knowledgegraph/${Un.pathId}?${Jr}`)}}),ee.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#123269",padding:"0 0 0 20rem",gap:"10rem"}},ee.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),ee.createElement(Lt.Z,{title:(Ii==null?void 0:Ii.name)||"",placement:"topLeft"},ee.createElement("div",{style:{width:"160rem"},className:"multi_ellipsis1"},(Ii==null?void 0:Ii.name)||"")),ee.createElement("div",{className:`current flex item-center justify-center text-nowrap ${gn.Z.ChangeBut}`,onClick:()=>{Te({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"",type:"route",currentSelectData:Ii}}})}},ee.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),((xt=wi==null?void 0:wi.data)==null?void 0:xt.updated_at)&&ee.createElement(ee.Fragment,null,ee.createElement("img",{src:Je,style:{width:"14rem"}}),ee.createElement("div",null,We()((On=wi==null?void 0:wi.data)==null?void 0:On.updated_at).format("YYYY-MM-DD HH:mm"))),ee.createElement("div",{className:`current flex item-center text-nowrap ${gn.Z.ChangeBut}`,onClick:()=>An(void 0,null,function*(){const at=yield(0,ln.D$)({subject_id:Un==null?void 0:Un.pathId,id:Un==null?void 0:Un.learningpathId});(at==null?void 0:at.status)==0&&Ut.ZP.success("\u6570\u636E\u66F4\u65B0\u4E2D\uFF0C\u5927\u698210 ~ 15\u5206\u949F\u4E4B\u540E\u5237\u65B0\u9875\u9762")})}," \u66F4\u65B0")),ee.createElement("div",{className:"flex gap-20px-rem px-40px-rem py-20px-rem",style:{background:`url(${jt})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center"}},ee.createElement("div",{className:"flex flex-col gap-20px-rem",style:{flex:1.5}},ee.createElement("div",{className:`${gn.Z.DefaultDiv} p-20px-rem`},ee.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},ee.createElement("img",{src:Qe,style:{width:"9rem",height:"17rem"}}),ee.createElement("div",null,"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4")),ee.createElement("div",{className:"flex item-center"},ee.createElement(rn.Z,{style:{width:"50%",height:"300rem",transform:"translateX(-10rem)"},option:(ki==null?void 0:ki.option)||{}}),ee.createElement("div",{className:gn.Z.masteryList},ee.createElement("div",{className:gn.Z.masteryHead},ee.createElement("div",null,"\u638C\u63E1\u7387"),ee.createElement("div",null,"\u4EBA\u6570"),ee.createElement("div",null,"\u5360\u6BD4")),(yn=ki==null?void 0:ki.listData)==null?void 0:yn.map((at,De)=>ee.createElement("div",{className:gn.Z.masteryBody,key:De},ee.createElement("div",{className:"flex item-center"},ee.createElement("div",{className:gn.Z.dot,style:{backgroundColor:at==null?void 0:at.color}}),ee.createElement("span",{style:{color:"#D0E3FF"}},at.name)),ee.createElement("div",null,at.value),ee.createElement("div",null,at.rate,"%")))))),ee.createElement("div",{className:`${gn.Z.DefaultDiv} p-20px-rem gap-16px-rem flex flex-col`,style:{flex:2.5,paddingTop:0}},ee.createElement("div",{className:"flex item-center"},[{name:"\u77E5\u8BC6\u70B9\u638C\u63E1\u4F18\u79C0\u699C",img:pt,key:"good"},{name:"\u77E5\u8BC6\u70B9\u638C\u63E1\u5F85\u63D0\u5347\u699C",img:tt,key:"up"}].map(at=>ee.createElement("div",{key:at==null?void 0:at.name,className:`flex-1 py-12px-rem flex item-center justify-center current text-16px-rem gap-6px-rem + ${gn.Z.DefaultDivItem} ${ea==(at==null?void 0:at.key)?gn.Z.DefaultDivItemActive:""}`,style:{height:"40rem"},onClick:()=>{vo(at==null?void 0:at.key)}},ee.createElement("img",{src:at==null?void 0:at.img,width:16,height:16,style:{width:"16rem"}}),at==null?void 0:at.name))),ee.createElement(Mt.default,{className:`mt-16px-rem ${gn.Z.TableStyle} flex-1`,locale:{emptyText:ee.createElement(lt.Z,null)},columns:Yn,pagination:!1,dataSource:ea=="good"?(Qt=wi==null?void 0:wi.data)==null?void 0:Qt.desc_knowledge_infos:(pr=wi==null?void 0:wi.data)==null?void 0:pr.asc_knowledge_infos}))),ee.createElement("div",{className:"flex-2 flex flex-col gap-20px-rem"},ee.createElement("div",{className:"flex-1 flex gap-30px-rem pt-40px-rem"},Vn==null?void 0:Vn.map((at,De)=>ee.createElement("div",{key:De,className:`flex-1 pb-20px-rem flex flex-col gap-10px-rem item-center ${gn.Z.DefaultDiv}`},ee.createElement("img",{src:at==null?void 0:at.img,width:80,height:80,style:{width:"80rem",height:"80rem",marginTop:"-40rem"}}),ee.createElement("div",{className:"text-18px-rem blod",style:{color:"#72E8FF"}},at==null?void 0:at.num,at==null?void 0:at.unit),ee.createElement("div",{className:"",style:{color:"#A4C8FC"}},at==null?void 0:at.title)))),ee.createElement("div",{className:`flex-2 ${gn.Z.DefaultDiv} relative`},ee.createElement("div",{className:"absolute flex item-center justify-center",style:{color:"#C2E0F8",height:"25rem",width:"253rem",top:0,left:"50%",transform:"translateX(-50%)",background:`url(${ht})`,backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"}}," \u8DEF\u5F84\u5B66\u4E60\u60C5\u51B5 "),ee.createElement(rn.Z,{key:Fr,className:"w-full h-full",option:Vt})),ee.createElement("div",{className:`p-20px-rem ${gn.Z.DefaultDiv}`,style:{flex:3}},ee.createElement("div",{className:"text-16px-rem"},"\u9636\u6BB5\u5B66\u4E60\u60C5\u51B5"),ee.createElement(Mt.default,{className:`mt-14px-rem ${gn.Z.TableStyle} flex-1`,locale:{emptyText:ee.createElement(lt.Z,null)},columns:vi,pagination:!1,dataSource:((Vr=wi==null?void 0:wi.data)==null?void 0:Vr.stage_knowledge_infos)||[]}))),ee.createElement("div",{className:"flex flex-col gap-20px-rem",style:{flex:1.5}},ee.createElement("div",{className:`p-20px-rem ${gn.Z.DefaultDiv} flex gap-10px-rem`},ee.createElement("div",{className:"flex-1"},ee.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},ee.createElement("img",{src:Qe,style:{width:"9rem",height:"17rem"}}),ee.createElement("div",null,"\u8D44\u6E90\u603B\u6570\u91CF")),ee.createElement("div",{className:"mt-40px-rem",style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"25rem 10rem"}},(vn=wr==null?void 0:wr.resource_data)==null?void 0:vn.map((at,De)=>ee.createElement("div",{key:De,className:"flex flex-col item-center",style:{height:"84rem",background:`url(${at==null?void 0:at.img}) 0% 0% / 100% 100% no-repeat`}},ee.createElement("div",{className:"text-18px-rem blod",style:{color:"#72E8FF"}},at==null?void 0:at.num,at==null?void 0:at.unit),ee.createElement("div",{className:"text-12px-rem",style:{color:"#D7EEFF"}},at==null?void 0:at.title))))),ee.createElement("div",{className:"flex-1"},ee.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},ee.createElement("img",{src:Qe,style:{width:"9rem",height:"17rem"}}),ee.createElement("div",null,"\u5DF2\u53D1\u5E03\u8D44\u6E90\u6570")),ee.createElement("div",{className:"mt-30px-rem flex flex-col gap-12px-rem pl-20px-rem"},(dr=wr==null?void 0:wr.publish_resource_data)==null?void 0:dr.map((at,De)=>ee.createElement("div",{key:De,className:"flex flex-col gap-6px-rem"},ee.createElement("div",{className:"w-full flex item-center justify-between text-12px-rem"},ee.createElement("div",{style:{color:"#D7EEFF"}},at==null?void 0:at.title),ee.createElement("div",null,at==null?void 0:at.num)),ee.createElement(je.Z,{className:`${gn.Z.ProgressStyle}`,style:{marginBottom:"0",marginLeft:"0",height:"6rem"},percent:at==null?void 0:at.publishNum,showInfo:!1,trailColor:at==null?void 0:at.trailColor,strokeColor:at==null?void 0:at.strokeColor})))))),ee.createElement("div",{className:`p-20px-rem ${gn.Z.DefaultDiv}`,style:{flex:2.5}},ee.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},ee.createElement("img",{src:Qe,style:{width:"9rem",height:"17rem"}}),ee.createElement("div",null,"\u5B66\u751F\u638C\u63E1\u7387\u6392\u884C\u699C")),ee.createElement("div",{className:"flex flex-col mt-24px-rem gap-10px-rem"},(Ht=(ei=wi==null?void 0:wi.data)==null?void 0:ei.student_grasp_rank_lists)==null?void 0:Ht.map((at,De)=>ee.createElement("div",{key:at==null?void 0:at.user_id,className:`flex item-center ${gn.Z.RankingDiv} px-20px-rem gap-20px-rem rounded-2px-rem`,style:{height:"46rem"}},De==0||De==2||De==1?ee.createElement("img",{src:De==0?ie(71463):De==1?ie(69035):ie(16065),width:34,height:34,style:{width:"34rem",height:"34rem"}}):ee.createElement("div",{className:"flex item-center justify-center",style:{width:"34rem",height:"34rem",background:`url(${ie(73099)}) 0% 0% / 100% 100% no-repeat`}},De+1),ee.createElement("div",{className:"flex flex-2 minW-0 item-center"},ee.createElement("img",{src:`${tn.Z.IMG_SERVER}/images/${at==null?void 0:at.avatar_url}`,width:30,height:30,className:"rounded-full",style:{width:"30rem",height:"30rem",border:"1rem solid #18D6FF"}}),ee.createElement(Lt.Z,{title:at==null?void 0:at.real_name},ee.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},at==null?void 0:at.real_name))),ee.createElement("div",{className:"flex-1 minW-0 flex item-center"},ee.createElement(Lt.Z,{title:"\u638C\u63E1\u7387"},ee.createElement("img",{src:ie(39633),width:14,height:14,style:{width:"14rem",height:"14rem"}})),ee.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},at==null?void 0:at.grasp_rate,"%")),ee.createElement("div",{className:"flex-1 minW-0 flex item-center"},ee.createElement(Lt.Z,{title:"\u5B8C\u6210\u7387"},ee.createElement("img",{src:ie(31434),width:14,height:14,style:{width:"14rem",height:"14rem"}})),ee.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},at==null?void 0:at.complete_rate,"%")))))))),ee.createElement("div",{className:`flex item-center ${gn.Z.NavBgTwo}`},[{title:"\u77E5\u8BC6\u70B9\u7EDF\u8BA1",key:"1"},{title:"\u8D44\u6E90\u5B66\u4E60\u7EDF\u8BA1\u8868",key:"2"},{title:"\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1\u8868",key:"3"}].map(at=>ee.createElement("div",{key:at==null?void 0:at.key,className:`flex item-center justify-center text-16px-rem h-full current + ${gn.Z.NavBgItem} ${(Na==null?void 0:Na.type)==(at==null?void 0:at.key)?gn.Z.NavBgTwoActive:""}`,onClick:()=>{Br(sn(ir({},Na),{type:at==null?void 0:at.key,page:1,keyword:""}))}},at==null?void 0:at.title))),ee.createElement("div",{className:"px-40px-rem flex item-center justify-between mt-10px-rem"},ee.createElement("div",{className:"text-16px-rem"},"\u5217\u8868\u8BE6\u60C5"),ee.createElement(Rt.t7,{className:gn.Z.InputStyle,style:{background:"#0A1634"},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:Na==null?void 0:Na.keyword,onChange:at=>{Br(sn(ir({},Na),{keyword:at,page:1}))}})),ee.createElement("div",{className:`${gn.Z.DefaultDiv} ml-40px-rem mr-40px-rem p-20px mt-10px-rem`,style:{background:`url(${jt})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center"}},ee.createElement(Mt.default,{className:`${gn.Z.TableStyle}`,loading:Zo,locale:{emptyText:ee.createElement(lt.Z,null)},columns:(Na==null?void 0:Na.type)=="1"?Pr:(Na==null?void 0:Na.type)=="2"?br:kr,dataSource:(Pa==null?void 0:Pa.data)||[],pagination:{total:(Pa==null?void 0:Pa.total_count)||0,onChange:(at,De)=>{Br(sn(ir({},Na),{page:at,limit:De}))},current:Na==null?void 0:Na.page,pageSize:Na==null?void 0:Na.limit}})),(qt==null?void 0:qt.key)&&ee.createElement(Nn.E_,{type:"route",isCustom:!0,open:(qt==null?void 0:qt.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",currentSeleteData:Ii,onFinish:at=>{nr(sn(ir({},Un),{learningpathId:at==null?void 0:at.selectId})),Oe.history.push(`/knowledgegraph/${Un==null?void 0:Un.pathId}/statistics/learningpath/${at==null?void 0:at.selectId}?${Jr}`)}}))))};var Ln=(0,Oe.connect)(({pathsDetail:Te})=>({pathsDetail:Te}))(Pn)},59401:function(Bn,Wn,ie){"use strict";ie.d(Wn,{E_:function(){return rn},DZ:function(){return _t},NI:function(){return Rt}});var ee=ie(43418),Oe=ie(8591),st=ie(6848),yt=ie(24905),Qe=ie(78241),Je=ie(92832),ye=ie(57809),Se=ie(5112),He=ie(78673),pt=ie(59301),tt=ie(44225),ut={ItemDom:"ItemDom___gJ4Dc"},ht=ie(78162),ot=ie(41592),Fe=Object.defineProperty,qe=Object.defineProperties,St=Object.getOwnPropertyDescriptors,jt=Object.getOwnPropertySymbols,Lt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,At=(lt,dn,ln)=>dn in lt?Fe(lt,dn,{enumerable:!0,configurable:!0,writable:!0,value:ln}):lt[dn]=ln,Mt=(lt,dn)=>{for(var ln in dn||(dn={}))Lt.call(dn,ln)&&At(lt,ln,dn[ln]);if(jt)for(var ln of jt(dn))Ut.call(dn,ln)&&At(lt,ln,dn[ln]);return lt},je=(lt,dn)=>qe(lt,St(dn)),gn=(lt,dn,ln)=>new Promise((tn,lr)=>{var Dr=Gt=>{try{Le(ln.next(Gt))}catch(Cr){lr(Cr)}},ft=Gt=>{try{Le(ln.throw(Gt))}catch(Cr){lr(Cr)}},Le=Gt=>Gt.done?tn(Gt.value):Promise.resolve(Gt.value).then(Dr,ft);Le((ln=ln.apply(lt,dn)).next())});const Nn=({dispatch:lt,pathsDetail:dn,currentSeleteData:ln,onFinish:tn,open:lr,title:Dr,type:ft,isCustom:Le})=>{var Gt;const Cr=ft==="knowledge"?"uuid":"id",ur=(0,tt.useParams)(),{detail:It}=dn,[Nt,hr]=(0,pt.useState)(ln==null?void 0:ln[Cr]),[,ir,sn]=(0,ht.U)(ot.mE,{subject_id:ur==null?void 0:ur.pathId,type:ft}),An=ft==="goal"?It==null?void 0:It.ability_goals:ft==="knowledge"?((It==null?void 0:It.nodes)||[]).slice(1):It==null?void 0:It.route_nodes;return pt.createElement(ee.default,{open:lr,width:1078,destroyOnClose:!0,closeIcon:ln!=null&&ln[Cr]?"":null,centered:!0,maskClosable:!1,keyboard:!1,confirmLoading:ir,title:Dr,cancelButtonProps:{style:{display:ln!=null&&ln[Cr]?"inline-block":"none"}},onCancel:()=>{ln!=null&&ln[Cr]&<({type:"pathsDetail/save",payload:{actionTabs:{key:""}}})},onOk:()=>gn(void 0,null,function*(){var Cn;const Pn=ft==="goal"?"\u80FD\u529B\u56FE\u8C31":ft==="knowledge"?"\u77E5\u8BC6\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84";if(!Nt){Oe.ZP.warning(`\u8BF7\u5148\u9009\u62E9${Pn}`);return}let Ln;Le||(Ln=yield sn({type:ft,subject_id:ur==null?void 0:ur.pathId,id:Nt})),((Ln==null?void 0:Ln.status)==0||Le)&&((Cn=Oe.ZP)==null||Cn.success(`${Pn}\u9009\u62E9\u6210\u529F\uFF01`),lt({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),tn==null||tn({selectId:Nt}))})},pt.createElement("div",{className:"flex flex-col gap-16px-rem p-4px-rem",style:{overflow:"auto",maxHeight:"60vh"}},(Gt=An||[])==null?void 0:Gt.map(Cn=>{var Pn;return pt.createElement("div",{key:Cn==null?void 0:Cn[Cr],className:`flex flex-col px-20px-rem py-14px-rem rounded-4px-rem ${(Pn=ut)==null?void 0:Pn.ItemDom}`},pt.createElement("div",{className:"flex item-center gap-10px-rem"},pt.createElement(st.Z,{title:Cn==null?void 0:Cn.name},pt.createElement("div",{className:"text-500 text-16px-rem multi_ellipsis1 flex-1 minW-0",style:{color:"#232B40"}},Cn==null?void 0:Cn.name)),pt.createElement(yt.default,{className:"ml-auto",checked:Nt===(Cn==null?void 0:Cn[Cr]),onChange:Ln=>{hr(Ln.target.checked?Cn==null?void 0:Cn[Cr]:null)}})),pt.createElement("div",{className:"flex item-center gap-12px-rem text-14px-rem",style:{marginTop:"14rem"}},pt.createElement("div",{className:"text-end w-64px-rem",style:{color:"#9096A3"}},"\u9002\u7528\u4EBA\u7FA4"),pt.createElement("div",{style:{color:"#232B40"}},(Cn==null?void 0:Cn.applicable_people)||"--")),pt.createElement("div",{className:"flex item-center gap-12px-rem text-14px-rem",style:{marginTop:"12rem"}},pt.createElement("div",{className:"text-end w-64px-rem",style:{color:"#9096A3"}},"\u7B80\u4ECB"),pt.createElement(st.Z,{title:Cn==null?void 0:Cn.description,placement:"topLeft"},pt.createElement("div",{className:"multi_ellipsis1 flex-1 minW-0",style:{color:"#232B40"}},(Cn==null?void 0:Cn.description)||"--"))))})))},rn=(0,tt.connect)(({pathsDetail:lt})=>({pathsDetail:lt}))(Nn),Et=({pathsDetail:lt,dispatch:dn,onFinish:ln,currentSeleteData:tn={}})=>{const{actionTabs:lr,detail:Dr}=lt,ft=(0,tt.useParams)(),[Le]=Qe.default.useForm(),[,Gt,Cr]=(0,ht.U)(ot.wv,{subject_id:ft==null?void 0:ft.pathId}),[,ur,It]=(0,ht.U)(ot.EG,{subject_id:ft==null?void 0:ft.pathId});return(0,pt.useEffect)(()=>{(lr==null?void 0:lr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"&&Le.setFieldsValue(Mt({},tn))},[tn,lr]),pt.createElement(ee.default,{open:(lr==null?void 0:lr.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(lr==null?void 0:lr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31",width:700,centered:!0,confirmLoading:Gt||ur,destroyOnClose:!0,title:lr==null?void 0:lr.key,onCancel:()=>{dn({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),Le.resetFields()},okText:(lr==null?void 0:lr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?"\u786E\u5B9A\u4FEE\u6539":"\u786E\u8BA4\u65B0\u5EFA",onOk:()=>gn(void 0,null,function*(){Le.submit()})},pt.createElement(Qe.default,{form:Le,preserve:!1,labelCol:{span:4},labelAlign:"right",size:"large",colon:!1,onFinish:Nt=>gn(void 0,null,function*(){const hr=yield((lr==null?void 0:lr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?It:Cr)(je(Mt({},Nt),{subject_id:ft==null?void 0:ft.pathId}));(hr==null?void 0:hr.status)==0&&(Oe.ZP.success((lr==null?void 0:lr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?"\u4FEE\u6539\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),Le.resetFields(),dn({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),ln==null||ln())})},pt.createElement(Qe.default.Item,{name:"id",hidden:!0}),pt.createElement(Qe.default.Item,{name:"name",label:"\u540D\u79F0",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0"},{whitespace:!0,message:"\u8F93\u5165\u540D\u79F0\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},pt.createElement(Je.default,{placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0",maxLength:20,showCount:!0})),pt.createElement(Qe.default.Item,{name:"knowledge_graph_route_id",label:"\u5173\u8054\u5B66\u4E60\u8DEF\u5F84",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84"}]},pt.createElement(ye.default,{showSearch:!0,optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",options:(Dr==null?void 0:Dr.route_nodes)||[]})),pt.createElement(Qe.default.Item,{name:"applicable_people",label:"\u9002\u7528\u4EBA\u7FA4"},pt.createElement(Je.default,{placeholder:"\u8BF7\u8F93\u5165\u9002\u7528\u4EBA\u7FA4",maxLength:50,showCount:!0})),pt.createElement(Qe.default.Item,{name:"description",label:"\u7B80\u4ECB"},pt.createElement(Je.default.TextArea,{rows:4,placeholder:"\u8BF7\u8F93\u5165\u7B80\u4ECB",maxLength:200,showCount:!0}))))},_t=(0,tt.connect)(({pathsDetail:lt})=>({pathsDetail:lt}))(Et),We=({pathsDetail:lt,onFinish:dn,dispatch:ln,type:tn})=>{var lr,Dr,ft;const{actionTabs:Le,detail:Gt}=lt,Cr=(0,tt.useParams)(),[ur]=Qe.default.useForm(),It=Qe.default.useWatch("uuid",ur),Nt=Qe.default.useWatch("send_route",ur),[hr,ir]=(0,pt.useState)(!1),[sn,An]=(0,pt.useState)(null),[,Cn,Pn,Ln]=(0,ht.U)(ot.O9,{type:tn,subject_id:Cr==null?void 0:Cr.pathId}),[,,Te,ve]=(0,ht.U)(ot.Ho,{subject_id:Cr==null?void 0:Cr.pathId}),[,he,we]=(0,ht.U)(ot.zc,{subject_id:Cr==null?void 0:Cr.pathId,type:tn}),[Re,fe]=(0,pt.useState)({}),wt=(...en)=>gn(void 0,[...en],function*(mt=ur.getFieldsValue()){const xt=yield we(je(Mt({},mt),{repeat_names:Ln==null?void 0:Ln.repeat_names,is_cover:sn,subject_id:Cr==null?void 0:Cr.pathId,type:tn}));(xt==null?void 0:xt.status)==0&&(ee.default.confirm({title:"\u63D0\u793A",centered:!0,icon:null,width:500,okText:"\u7ACB\u5373\u524D\u5F80",cancelText:"\u7A0D\u540E\u518D\u8BF4",onOk(...On){var yn,Qt;window.open((Qt=(yn=ve==null?void 0:ve.data)==null?void 0:yn.find(pr=>(pr==null?void 0:pr.id)===mt.course_id))==null?void 0:Qt.first_category_url)},content:"\u53D1\u9001\u6210\u529F\uFF0C\u662F\u5426\u524D\u5F80\u6559\u5B66\u8BFE\u5802\u8FDB\u884C\u67E5\u770B\uFF1F"}),dn==null||dn(),ln({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),ir(!1),ur.resetFields())});return(0,pt.useEffect)(()=>{var en;ur.setFieldsValue(Mt({},(en=Le==null?void 0:Le.params)==null?void 0:en.data))},[Le]),(0,pt.useEffect)(()=>{Te({subject_id:Cr==null?void 0:Cr.pathId})},[]),(0,pt.useEffect)(()=>{var en;It&&fe(((en=Gt==null?void 0:Gt.nodes)==null?void 0:en.find(mt=>(mt==null?void 0:mt.uuid)==It))||{})},[It]),pt.createElement(pt.Fragment,null,pt.createElement(ee.default,{open:(Le==null?void 0:Le.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",width:670,centered:!0,destroyOnClose:!0,confirmLoading:Cn||he,title:Le==null?void 0:Le.key,onCancel:()=>{ln({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),ur.resetFields()},okText:"\u786E\u8BA4\u53D1\u9001",onOk:()=>gn(void 0,null,function*(){ur.submit()})},pt.createElement(Qe.default,{preserve:!1,form:ur,labelCol:{span:3},labelAlign:"right",size:"large",colon:!1,onValuesChange:en=>{"uuid"in en&&ur.setFieldsValue({ids:[]})},onFinish:en=>gn(void 0,null,function*(){console.log("allvalue",en);const mt=yield Pn(je(Mt({},en),{name:Re==null?void 0:Re.name,subject_id:Cr==null?void 0:Cr.pathId}));if((mt==null?void 0:mt.status)==0&&(mt!=null&&mt.is_repeat)){ir(!0);return}yield wt(en)})},pt.createElement(Qe.default.Item,{name:"course_id",label:"\u6559\u5B66\u8BFE\u5802",required:!1,rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802"}]},pt.createElement(ye.default,{showSearch:!0,optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802",options:(ve==null?void 0:ve.data)||[]})),tn=="knowledge"?pt.createElement(Qe.default.Item,{name:"uuid",label:"\u77E5\u8BC6\u56FE\u8C31"},pt.createElement(Se.ZP.Group,{options:((Dr=((lr=Gt==null?void 0:Gt.nodes)==null?void 0:lr.length)>1?Gt==null?void 0:Gt.nodes.slice(1):[])==null?void 0:Dr.map(en=>({label:en==null?void 0:en.name,value:en==null?void 0:en.uuid})))||[]})):pt.createElement(Qe.default.Item,{name:"ids",label:tn=="goal"?"\u80FD\u529B\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84",required:!1,rules:[{required:!0,message:`\u8BF7\u9009\u62E9${tn=="goal"?"\u80FD\u529B\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84"}`}]},pt.createElement(yt.default.Group,{options:((ft=(tn=="goal"?Gt==null?void 0:Gt.ability_goals:Gt==null?void 0:Gt.route_nodes)||[])==null?void 0:ft.map(en=>({label:en==null?void 0:en.name,value:(en==null?void 0:en.id)||(en==null?void 0:en.uuid)})))||[]})),tn=="knowledge"?pt.createElement(pt.Fragment,null,pt.createElement("div",{className:"flex pl-64px-rem"},pt.createElement(Qe.default.Item,{name:"send_route",label:" ",valuePropName:"checked"},pt.createElement(He.Z,null)),pt.createElement("div",{style:{lineHeight:"40px"}},"\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")),pt.createElement(Qe.default.Item,{name:"ids",label:" ",required:!1,rules:[{required:Nt,message:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84"}]},pt.createElement(ye.default,{showSearch:!0,mode:"multiple",optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",options:(Re==null?void 0:Re.routes)||[]}))):pt.createElement("div",{className:"flex item-center gap-10px-rem",style:{color:"#FF8C29"}},pt.createElement("span",{className:"iconfont icon-tishi7"}),tn=="goal"&&pt.createElement("span",null,"\u53D1\u9001\u80FD\u529B\u56FE\u8C31\u81F3\u6559\u5B66\u8BFE\u5802\u65F6\uFF0C\u4F1A\u540C\u6B65\u5C06\u80FD\u529B\u56FE\u8C31\u4E2D\u5173\u8054\u7684\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u540C\u6B65\u53D1\u9001\u5230\u8BFE\u5802"),tn=="route"&&pt.createElement("span",null,"\u53D1\u9001\u5B66\u4E60\u8DEF\u5F84\u81F3\u6559\u5B66\u8BFE\u5802\u65F6\uFF0C\u4F1A\u540C\u6B65\u5C06\u77E5\u8BC6\u56FE\u8C31\u540C\u6B65\u53D1\u9001\u5230\u8BFE\u5802")))),pt.createElement(ee.default,{open:hr,title:"\u56FE\u8C31\u540D\u79F0\u91CD\u590D",width:346,destroyOnClose:!0,centered:!0,confirmLoading:he,onCancel:()=>{ir(!1),An(null)},okButtonProps:{disabled:sn==null},onOk:()=>gn(void 0,null,function*(){yield wt()})},pt.createElement("div",{className:"flex flex-col"},tn=="goal"?pt.createElement("div",null,"\u6559\u5B66\u8BFE\u5802\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u56FE\u8C31\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u8986\u76D6?"):pt.createElement("div",null,"\u6559\u5B66\u8BFE\u5802\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u56FE\u8C31\u6216\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u8986\u76D6"),pt.createElement(Se.ZP.Group,{className:"mt-14px-rem",value:sn,onChange:en=>{An(en.target.value)},options:[{label:"\u8986\u76D6",value:!0},{label:"\u4E0D\u8986\u76D6\uFF08\u6309\u7167\u65E5\u671F\u91CD\u547D\u540D\uFF09",value:!1}]}))))},Rt=(0,tt.connect)(({pathsDetail:lt})=>({pathsDetail:lt}))(We)},5805:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return He}});var ee={noData:"noData___Luxe1"},Oe=ie(14006),st=ie(92310),yt=ie.n(st),Qe=ie(6848),Je=ie(61485),ye=ie(59301),He=({style:pt={},className:tt,text:ut="\u6682\u65E0\u6570\u636E",textColor:ht="#666",buttonText:ot,buttonTexttow:Fe,ontwoClick:qe,onClick:St})=>ye.createElement("div",{className:yt()(ee.noData,tt),style:pt},ye.createElement("img",{src:Oe}),!!ut&&ye.createElement("span",{style:{color:ht}},ut),ye.createElement("span",{style:{display:"flex"}},!!ot&&ye.createElement("div",{onClick:St},ot),!!Fe&&ye.createElement("div",{style:{marginLeft:"20rem",display:"flex",alignItems:"center",justifyContent:"center"},onClick:qe},Fe," ",ye.createElement(Qe.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"},ye.createElement(Je.Z,{style:{color:"#fff",marginLeft:5,marginTop:0}})))))},33924:function(Bn,Wn,ie){"use strict";var ee=ie(59301);const Oe=()=>{const yt=()=>window.innerWidth/1920,[Qe,Je]=(0,ee.useState)(yt()||1),ye=(0,ee.useRef)(),Se=(0,ee.useRef)(),He=()=>{Se.current&&clearTimeout(Se.current),Se.current=setTimeout(()=>{ye.current=requestAnimationFrame(()=>{const tt=yt();Je(tt)})},500)};return(0,ee.useEffect)(()=>(He(),window.addEventListener("resize",He),()=>{window.removeEventListener("resize",He),Se.current&&clearTimeout(Se.current),ye.current&&cancelAnimationFrame(ye.current)}),[]),{rootFontSize:Qe,pxToRoot:tt=>tt*Qe}};Wn.Z=Oe},50321:function(Bn,Wn,ie){"use strict";ie.d(Wn,{rX:function(){return Ut},pW:function(){return At},gy:function(){return Mt},xY:function(){return Lt},O5:function(){return jt},tJ:function(){return ht},o1:function(){return ot},Rd:function(){return St}});var ee=ie(44225),Oe=ie(43418),st=ie(28103),yt=ie(36466),Qe=ie(85333),Je=ie(87169),ye=ie(25510),Se="data:image/png;base64,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",He=ie.p+"static/newqrcode.a8740efb.png",pt=ie(32637),tt=ie(59301),ut=(je,gn,Nn)=>new Promise((rn,Et)=>{var _t=lt=>{try{Rt(Nn.next(lt))}catch(dn){Et(dn)}},We=lt=>{try{Rt(Nn.throw(lt))}catch(dn){Et(dn)}},Rt=lt=>lt.done?rn(lt.value):Promise.resolve(lt.value).then(_t,We);Rt((Nn=Nn.apply(je,gn)).next())});const ht=(je,gn=!1)=>!!(ot(je)&&Fe(gn)),ot=je=>(0,yt.bg)()?!0:(je({type:"user/showPopLogin",payload:{showPopLogin:!0,showClosable:!0}}),!1),Fe=(je=!1)=>{var gn;const{user:Nn}=(0,ee.getDvaApp)()._store.getState();return(gn=Nn.userInfo)!=null&&gn.profile_completed?!0:(Oe.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,Qe.xg)("/account/profile/edit"),qe()}}),!1)},qe=()=>{Oe.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()}})},St=()=>{Oe.default.warning({title:"\u63D0\u793A",icon:null,width:400,content:tt.createElement("div",{style:{textAlign:"center"}},tt.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"),tt.createElement("img",{style:{border:"1px solid #D8E3E9",width:190,height:180},src:pt}),tt.createElement("div",{style:{color:"#666666",fontSize:14,marginTop:15}},"\u6DFB\u52A0\u5BA2\u670D\u4EBA\u5458\u5FAE\u4FE1\uFF0C\u83B7\u5F97\u66F4\u591A\u652F\u6301"))})},jt=()=>{var je;const{user:gn}=(0,ee.getDvaApp)()._store.getState();return(je=gn.userInfo)!=null&&je.professional_certification?!0:(Oe.default.confirm({title:"\u63D0\u793A",centered:!0,content:tt.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,Qe.xg)("/account/certification")}}),!1)},Lt=()=>(0,yt.V9)()?!0:(Oe.default.warning({centered:!0,width:530,title:"\u63D0\u793A",content:tt.createElement("div",{className:"tc",style:{marginLeft:-38}},tt.createElement("p",null,"\u626B\u7801\u52A0\u52A9\u6559\uFF0C\u7533\u8BF7\u64CD\u4F5C\u6743\u9650"),tt.createElement("img",{src:He,width:200})),okText:"\u6211\u77E5\u9053\u4E86",maskClosable:!0}),!1),Ut=(je,gn)=>je?!0:(Oe.default.confirm({centered:!0,zIndex:1e4,width:530,title:"\u63D0\u793A",content:tt.createElement("div",null,tt.createElement("p",null,gn||"\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"),tt.createElement("div",{style:{marginLeft:"110px"}},tt.createElement("img",{src:Se,width:200}),tt.createElement("div",{style:{marginLeft:"35px"}},"\u7FA4\u53F7\uFF1A","714336072"))),okText:"\u7ACB\u5373\u8054\u7CFB",cancelText:"\u53D6\u6D88",onOk:()=>{(0,Qe.xg)("https://qm.qq.com/cgi-bin/qm/qr?k=tIyDPXUtE0yEk-MOJxhH55lTUJS-nYAM&jump_from=webapi")}}),!1),At=je=>{Oe.default.info({title:"\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425",icon:null,width:615,centered:!0,content:tt.createElement("div",null,tt.createElement("div",null,tt.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"),tt.createElement(st.Z,null),tt.createElement("p",{style:{color:"#666666",fontSize:12}}," ",tt.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 ",tt.createElement("a",null,je),"\u5929\u3002"),tt.createElement("p",{style:{color:"#666666",fontSize:12}}," ",tt.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")),tt.createElement("div",{style:{textAlign:"center",marginTop:30}},tt.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:ye,alt:"\u4E8C\u7EF4\u7801",width:160})))})},Mt=(je,gn="")=>{const{shixunsDetail:{detail:Nn}}=(0,ee.getDvaApp)()._store.getState();if((Nn==null?void 0:Nn.public)===2||(Nn==null?void 0:Nn.public)===1||(Nn==null?void 0:Nn.shixun_status)===3){let rn="";return(Nn==null?void 0:Nn.public)===2&&(rn="\u5DF2\u516C\u5F00"),(Nn==null?void 0:Nn.public)===1&&(rn="\u5F85\u5BA1\u6838"),(Nn==null?void 0:Nn.shixun_status)===3&&(rn="\u5DF2\u5173\u95ED"),Oe.default.info({centered:!0,icon:tt.createElement(Je.Z,{style:{color:"#faad14"}}),width:460,title:"\u63D0\u793A",content:tt.createElement("div",{className:"tc",style:{marginLeft:-38}},tt.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",paddingLeft:38,margin:"12px 0"}},tt.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u72B6\u6001\u4E3A",rn,"\uFF0C",gn,"\u3002"),tt.createElement("p",null,"\u5982\u6709\u9700\u8981\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u8FDB\u884C\u6280\u672F\u652F\u6301\u3002")),tt.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:ye,alt:"\u4E8C\u7EF4\u7801",width:160})),okText:"\u6211\u77E5\u9053\u4E86"}),!0}return(Nn==null?void 0:Nn.shixun_status)===2?(Oe.default.confirm({centered:!0,icon:tt.createElement(Je.Z,null),title:"\u63D0\u793A",content:tt.createElement("div",null,tt.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5DF2\u53D1\u5E03\uFF0C",gn,"\u3002"),tt.createElement("br",null),tt.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:()=>{Oe.default.confirm({width:440,centered:!0,icon:tt.createElement(Je.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:()=>ut(void 0,null,function*(){(yield je({type:"shixunsDetail/cancelRelease",payload:{id:Nn==null?void 0:Nn.identifier}})).status!==401&&(je({type:"shixunsDetail/getShixunsDetail",payload:{id:Nn==null?void 0:Nn.identifier}}),je({type:"practiceSetting/getCommonData",payload:{id:Nn==null?void 0:Nn.identifier}}))})})}}),!0):!1}},50371:function(Bn,Wn){"use strict";function ie(){const ee=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let Oe=1;Oe{const Qe=st[yt];Qe!==void 0&&(ee[yt]=Qe)})}return ee}Wn.Z=ie},77578:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ee}});const ee=Oe=>Oe?typeof Oe=="function"?Oe():Oe:null},88522:function(Bn,Wn,ie){"use strict";var ee=ie(92310),Oe=ie.n(ee),st=ie(11592),yt=ie(2738),Qe=ie(59301),Je=ie(53487),ye=ie(92343),Se=ie(36355),He=ie(57809);const{Option:pt}=He.default;function tt(Fe){return Fe&&Fe.type&&(Fe.type.isSelectOption||Fe.type.isSelectOptGroup)}const ut=(Fe,qe)=>{const{prefixCls:St,className:jt,popupClassName:Lt,dropdownClassName:Ut,children:At,dataSource:Mt}=Fe,je=(0,st.Z)(At);let gn;je.length===1&&(0,ye.l$)(je[0])&&!tt(je[0])&&([gn]=je);const Nn=gn?()=>gn:void 0;let rn;je.length&&tt(je[0])?rn=At:rn=Mt?Mt.map(We=>{if((0,ye.l$)(We))return We;switch(typeof We){case"string":return Qe.createElement(pt,{key:We,value:We},We);case"object":{const{value:Rt}=We;return Qe.createElement(pt,{key:Rt,value:Rt},We.text)}default:return}}):[];const{getPrefixCls:Et}=Qe.useContext(Se.E_),_t=Et("select",St);return Qe.createElement(He.default,Object.assign({ref:qe,suffixIcon:null},(0,yt.Z)(Fe,["dataSource","dropdownClassName"]),{prefixCls:_t,popupClassName:Lt||Ut,className:Oe()(`${_t}-auto-complete`,jt),mode:He.default.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:Nn}),rn)},ht=Qe.forwardRef(ut),ot=(0,Je.Z)(ht);ht.Option=pt,ht._InternalPanelDoNotUseOrYouWillBeFired=ot,Wn.Z=ht},19842:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ki}});var ee=ie(77654),Oe=ie(59301),st=ie(33853),yt=ie(58617),Qe=ie(38819),Je=ie(92310),ye=ie.n(Je),Se=ie(60499),He=ie(72190),pt=ie(42244),tt=ie(77861),ut=ie(17115),ht=ie(90782),ot=ie(6089),Fe=ie(18929),qe=Oe.createContext(null),St=qe,jt=ie(43749),Lt=ie(18642),Ut=ie(85899),At="__rc_cascader_search_mark__",Mt=function(Vn,wr,Yn){var Pr=Yn.label;return wr.some(function(br){return String(br[Pr]).toLowerCase().includes(Vn.toLowerCase())})},je=function(Vn,wr,Yn,Pr){return wr.map(function(br){return br[Pr.label]}).join(" / ")},gn=function(Vt,Vn,wr,Yn,Pr,br){var kr=Pr.filter,vi=kr===void 0?Mt:kr,at=Pr.render,De=at===void 0?je:at,nt=Pr.limit,Ot=nt===void 0?50:nt,xn=Pr.sort;return Oe.useMemo(function(){var wn=[];if(!Vt)return[];function gr(Ar,fr){var vr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;Ar.forEach(function(qr){if(!(!xn&&Ot!==!1&&Ot>0&&wn.length>=Ot)){var Xi=[].concat((0,ee.Z)(fr),[qr]),Nr=qr[wr.children],Gn=vr||qr.disabled;if((!Nr||Nr.length===0||br)&&vi(Vt,Xi,{label:wr.label})){var Fn;wn.push((0,Ut.Z)((0,Ut.Z)({},qr),{},(Fn={disabled:Gn},(0,Lt.Z)(Fn,wr.label,De(Vt,Xi,Yn,wr)),(0,Lt.Z)(Fn,At,Xi),(0,Lt.Z)(Fn,wr.children,void 0),Fn)))}Nr&&gr(qr[wr.children],Xi,Gn)}})}return gr(Vn,[]),xn&&wn.sort(function(Ar,fr){return xn(Ar[At],fr[At],Vt,wr)}),Ot!==!1&&Ot>0?wn.slice(0,Ot):wn},[Vt,Vn,wr,Yn,De,br,vi,xn,Ot])},Nn="__RC_CASCADER_SPLIT__",rn="SHOW_PARENT",Et="SHOW_CHILD";function _t(Vt){return Vt.join(Nn)}function We(Vt){return Vt.map(_t)}function Rt(Vt){return Vt.split(Nn)}function lt(Vt){var Vn=Vt||{},wr=Vn.label,Yn=Vn.value,Pr=Vn.children,br=Yn||"value";return{label:wr||"label",value:br,key:br,children:Pr||"children"}}function dn(Vt,Vn){var wr,Yn;return(wr=Vt.isLeaf)!==null&&wr!==void 0?wr:!((Yn=Vt[Vn.children])!==null&&Yn!==void 0&&Yn.length)}function ln(Vt){var Vn=Vt.parentElement;if(Vn){var wr=Vt.offsetTop-Vn.offsetTop;wr-Vn.scrollTop<0?Vn.scrollTo({top:wr}):wr+Vt.offsetHeight-Vn.scrollTop>Vn.offsetHeight&&Vn.scrollTo({top:wr+Vt.offsetHeight-Vn.offsetHeight})}}function tn(Vt,Vn){return Vt.map(function(wr){var Yn;return(Yn=wr[At])===null||Yn===void 0?void 0:Yn.map(function(Pr){return Pr[Vn.value]})})}function lr(Vt,Vn,wr){var Yn=new Set(Vt),Pr=Vn();return Vt.filter(function(br){var kr=Pr[br],vi=kr?kr.parent:null,at=kr?kr.children:null;return kr&&kr.node.disabled?!0:wr===Et?!(at&&at.some(function(De){return De.key&&Yn.has(De.key)})):!(vi&&!vi.node.disabled&&Yn.has(vi.key))})}function Dr(Vt,Vn,wr){for(var Yn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Pr=Vn,br=[],kr=function(){var De,nt,Ot,xn=Vt[vi],wn=(De=Pr)===null||De===void 0?void 0:De.findIndex(function(Ar){var fr=Ar[wr.value];return Yn?String(fr)===String(xn):fr===xn}),gr=wn!==-1?(nt=Pr)===null||nt===void 0?void 0:nt[wn]:null;br.push({value:(Ot=gr==null?void 0:gr[wr.value])!==null&&Ot!==void 0?Ot:xn,index:wn,option:gr}),Pr=gr==null?void 0:gr[wr.children]},vi=0;vi1){var Kt=gr.slice(0,-1);qr(Kt)}else De(!1)},Gn=function(){var Kt,Mn=((Kt=fr[Ar])===null||Kt===void 0?void 0:Kt[wr.children])||[],zn=Mn.find(function(xr){return!xr.disabled});if(zn){var Jn=[].concat((0,ee.Z)(gr),[zn[wr.value]]);qr(Jn)}};Oe.useImperativeHandle(Vt,function(){return{onKeyDown:function(Kt){var Mn=Kt.which;switch(Mn){case Pn.Z.UP:case Pn.Z.DOWN:{var zn=0;Mn===Pn.Z.UP?zn=-1:Mn===Pn.Z.DOWN&&(zn=1),zn!==0&&Xi(zn);break}case Pn.Z.LEFT:{if(at)break;Ot?Gn():Nr();break}case Pn.Z.RIGHT:{if(at)break;Ot?Nr():Gn();break}case Pn.Z.BACKSPACE:{at||Nr();break}case Pn.Z.ENTER:{if(gr.length){var Jn=fr[Ar],xr=(Jn==null?void 0:Jn[At])||[];xr.length?br(xr.map(function($n){return $n[wr.value]}),xr[xr.length-1]):br(gr,fr[Ar])}break}case Pn.Z.ESC:De(!1),nt&&Kt.stopPropagation()}},onKeyUp:function(){}}})},Te=Oe.forwardRef(function(Vt,Vn){var wr,Yn,Pr,br,kr=(0,tt.lk)(),vi=kr.prefixCls,at=kr.multiple,De=kr.searchValue,nt=kr.toggleOpen,Ot=kr.notFoundContent,xn=kr.direction,wn=kr.open,gr=Oe.useRef(),Ar=xn==="rtl",fr=Oe.useContext(St),vr=fr.options,qr=fr.values,Xi=fr.halfValues,Nr=fr.fieldNames,Gn=fr.changeOnSelect,Fn=fr.onSelect,Kt=fr.searchOptions,Mn=fr.dropdownPrefixCls,zn=fr.loadData,Jn=fr.expandTrigger,xr=Mn||vi,$n=Oe.useState([]),jr=(0,He.Z)($n,2),pn=jr[0],ni=jr[1],Ai=function(Ga){if(!(!zn||De)){var ll=Dr(Ga,vr,Nr),tl=ll.map(function(Li){var xo=Li.option;return xo}),Jo=tl[tl.length-1];if(Jo&&!dn(Jo,Nr)){var Zr=_t(Ga);ni(function(Li){return[].concat((0,ee.Z)(Li),[Zr])}),zn(tl)}}};Oe.useEffect(function(){pn.length&&pn.forEach(function(_a){var Ga=Rt(_a),ll=Dr(Ga,vr,Nr,!0).map(function(Jo){var Zr=Jo.option;return Zr}),tl=ll[ll.length-1];(!tl||tl[Nr.children]||dn(tl,Nr))&&ni(function(Jo){return Jo.filter(function(Zr){return Zr!==_a})})})},[vr,pn,Nr]);var Ni=Oe.useMemo(function(){return new Set(We(qr))},[qr]),bi=Oe.useMemo(function(){return new Set(We(Xi))},[Xi]),Ji=Cn(),fa=(0,He.Z)(Ji,2),oa=fa[0],ji=fa[1],Qa=function(Ga){ji(Ga),Ai(Ga)},Fa=function(Ga){var ll=Ga.disabled,tl=dn(Ga,Nr);return!ll&&(tl||Gn||at)},qo=function(Ga,ll){var tl=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;Fn(Ga),!at&&(ll||Gn&&(Jn==="hover"||tl))&&nt(!1)},ma=Oe.useMemo(function(){return De?Kt:vr},[De,Kt,vr]),_o=Oe.useMemo(function(){for(var _a=[{options:ma}],Ga=ma,ll=tn(Ga,Nr),tl=function(){var xo=oa[Jo],jo=Ga.find(function(Ul,wl){return(ll[wl]?_t(ll[wl]):Ul[Nr.value])===xo}),nl=jo==null?void 0:jo[Nr.children];if(!(nl!=null&&nl.length))return"break";Ga=nl,_a.push({options:nl})},Jo=0;Jo":pn,Ai=Vt.loadingIcon,Ni=Vt.children,bi=Vt.dropdownMatchSelectWidth,Ji=bi===void 0?!1:bi,fa=Vt.showCheckedStrategy,oa=fa===void 0?rn:fa,ji=(0,pt.Z)(Vt,fe),Qa=(0,ut.ZP)(wr),Fa=!!Ot,qo=(0,Fe.Z)(kr,{value:vi,postState:en}),ma=(0,He.Z)(qo,2),_o=ma[0],Ci=ma[1],Qo=Oe.useMemo(function(){return lt(br)},[JSON.stringify(br)]),ol=Oe.useMemo(function(){return qr||[]},[qr]),mo=Gt(ol,Qo),Oa=Oe.useCallback(function(Ma){var an=mo();return Ma.map(function(Vo){var Sl=an[Vo].nodes;return Sl.map(function(ds){return ds[Qo.value]})})},[mo,Qo]),Go=(0,Fe.Z)("",{value:gr,postState:function(an){return an||""}}),_a=(0,He.Z)(Go,2),Ga=_a[0],ll=_a[1],tl=function(an,Vo){ll(an),Vo.source!=="blur"&&Ar&&Ar(an)},Jo=It(fr),Zr=(0,He.Z)(Jo,2),Li=Zr[0],xo=Zr[1],jo=gn(Ga,ol,Qo,Xi||Pr,xo,at),nl=Cr(ol,Qo),Ul=Oe.useMemo(function(){var Ma=nl(_o),an=(0,He.Z)(Ma,2),Vo=an[0],Sl=an[1];if(!Fa||!_o.length)return[Vo,[],Sl];var ds=We(Vo),bs=mo(),gs=(0,ht.S)(ds,!0,bs),Bs=gs.checkedKeys,Su=gs.halfCheckedKeys;return[Oa(Bs),Oa(Su),Sl]},[Fa,_o,mo,Oa,nl]),wl=(0,He.Z)(Ul,3),ra=wl[0],Sa=wl[1],Fl=wl[2],pl=Oe.useMemo(function(){var Ma=We(ra),an=lr(Ma,mo,oa);return[].concat((0,ee.Z)(Fl),(0,ee.Z)(Oa(an)))},[ra,mo,Oa,Fl,oa]),su=ft(pl,ol,Qo,Fa,nt),Qs=(0,ot.Z)(function(Ma){if(Ci(Ma),De){var an=en(Ma),Vo=an.map(function(bs){return Dr(bs,ol,Qo).map(function(gs){return gs.option})}),Sl=Fa?an:an[0],ds=Fa?Vo:Vo[0];De(Sl,ds)}}),Au=(0,ot.Z)(function(Ma){if((!Fa||wn)&&ll(""),!Fa)Qs(Ma);else{var an=_t(Ma),Vo=We(ra),Sl=We(Sa),ds=Vo.includes(an),bs=Fl.some(function(Ho){return _t(Ho)===an}),gs=ra,Bs=Fl;if(bs&&!ds)Bs=Fl.filter(function(Ho){return _t(Ho)!==an});else{var Su=ds?Vo.filter(function(Ho){return Ho!==an}):[].concat((0,ee.Z)(Vo),[an]),Vs=mo(),Zu;if(ds){var Io=(0,ht.S)(Su,{checked:!1,halfCheckedKeys:Sl},Vs);Zu=Io.checkedKeys}else{var os=(0,ht.S)(Su,!0,Vs);Zu=os.checkedKeys}var gu=lr(Zu,mo,oa);gs=Oa(gu)}Qs([].concat((0,ee.Z)(Bs),(0,ee.Z)(gs)))}}),_s=function(an,Vo){if(Vo.type==="clear"){Qs([]);return}var Sl=Vo.values[0],ds=Sl.valueCells;Au(ds)},Ls=Fn!==void 0?Fn:Gn,$s=Mn||Kt,Ws=xr||Jn,zu=function(an){$n==null||$n(an),jr==null||jr(an)},xu=Oe.useMemo(function(){return{options:ol,fieldNames:Qo,values:ra,halfValues:Sa,changeOnSelect:at,onSelect:Au,checkable:Ot,searchOptions:jo,dropdownPrefixCls:Xi,loadData:Nr,expandTrigger:vr,expandIcon:ni,loadingIcon:Ai,dropdownMenuColumnStyle:zn}},[ol,Qo,ra,Sa,at,Au,Ot,jo,Xi,Nr,vr,ni,Ai,zn]),$a=!(Ga?jo:ol).length,Za=Ga&&xo.matchInputWidth||$a?{}:{minWidth:"auto"};return Oe.createElement(St.Provider,{value:xu},Oe.createElement(tt.Ac,(0,Se.Z)({},ji,{ref:Vn,id:Qa,prefixCls:Pr,autoClearSearchValue:wn,dropdownMatchSelectWidth:Ji,dropdownStyle:Za,displayValues:su,onDisplayValuesChange:_s,mode:Fa?"multiple":void 0,searchValue:Ga,onSearch:tl,showSearch:Li,OptionList:ve,emptyOptions:$a,open:Ls,dropdownClassName:$s,placement:Ws,onDropdownVisibleChange:zu,getRawInputElement:function(){return Ni}})))});mt.SHOW_PARENT=rn,mt.SHOW_CHILD=Et;var xt=mt,On=xt,yn=ie(2738),Qt=ie(62892),pr=ie(53487),Vr=ie(19080),vn=ie(36355),dr=ie(93891),ei=ie(1684),Ht=ie(19716),Tt=ie(32441),qt=ie(14154),Un=ie(58582),nr=ie(84443),Jr=ie(66339),Ii=ie(33234),ii=ie(98447),ea=ie(17313),vo=ie(74207),Ha=ie(83116);const Hi=Vt=>{const{prefixCls:Vn,componentCls:wr,antCls:Yn}=Vt,Pr=`${wr}-menu-item`,br=` + &${Pr}-expand ${Pr}-expand-icon, + ${Pr}-loading-icon + `;return[{[wr]:{width:Vt.controlWidth}},{[`${wr}-dropdown`]:[(0,ii.C2)(`${Vn}-checkbox`,Vt),{[`&${Yn}-select-dropdown`]:{padding:0}},{[wr]:{"&-checkbox":{top:0,marginInlineEnd:Vt.paddingXS},"&-menus":{display:"flex",flexWrap:"nowrap",alignItems:"flex-start",[`&${wr}-menu-empty`]:{[`${wr}-menu`]:{width:"100%",height:"auto",[Pr]:{color:Vt.colorTextDisabled}}}},"&-menu":{flexGrow:1,minWidth:Vt.controlItemWidth,height:Vt.dropdownHeight,margin:0,padding:Vt.menuPadding,overflow:"auto",verticalAlign:"top",listStyle:"none","-ms-overflow-style":"-ms-autohiding-scrollbar","&:not(:last-child)":{borderInlineEnd:`${Vt.lineWidth}px ${Vt.lineType} ${Vt.colorSplit}`},"&-item":Object.assign(Object.assign({},ea.vS),{display:"flex",flexWrap:"nowrap",alignItems:"center",padding:Vt.optionPadding,lineHeight:Vt.lineHeight,cursor:"pointer",transition:`all ${Vt.motionDurationMid}`,borderRadius:Vt.borderRadiusSM,"&:hover":{background:Vt.controlItemBgHover},"&-disabled":{color:Vt.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"},[br]:{color:Vt.colorTextDisabled}},[`&-active:not(${Pr}-disabled)`]:{"&, &:hover":{fontWeight:Vt.optionSelectedFontWeight,backgroundColor:Vt.optionSelectedBg}},"&-content":{flex:"auto"},[br]:{marginInlineStart:Vt.paddingXXS,color:Vt.colorTextDescription,fontSize:Vt.fontSizeIcon},"&-keyword":{color:Vt.colorHighlight}})}}}]},{[`${wr}-dropdown-rtl`]:{direction:"rtl"}},(0,vo.c)(Vt)]};var wi=(0,Ha.Z)("Cascader",Vt=>[Hi(Vt)],Vt=>{const Vn=Math.round((Vt.controlHeight-Vt.fontSize*Vt.lineHeight)/2);return{controlWidth:184,controlItemWidth:111,dropdownHeight:180,optionSelectedBg:Vt.controlItemBgActive,optionSelectedFontWeight:Vt.fontWeightStrong,optionPadding:`${Vn}px ${Vt.paddingSM}px`,menuPadding:Vt.paddingXXS}}),Zo=function(Vt,Vn){var wr={};for(var Yn in Vt)Object.prototype.hasOwnProperty.call(Vt,Yn)&&Vn.indexOf(Yn)<0&&(wr[Yn]=Vt[Yn]);if(Vt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Pr=0,Yn=Object.getOwnPropertySymbols(Vt);Prat===0?[vi]:[].concat((0,ee.Z)(kr),[Vn,vi]),[]),Pr=[];let br=0;return Yn.forEach((kr,vi)=>{const at=br+kr.length;let De=Vt.slice(br,at);br=at,vi%2===1&&(De=Oe.createElement("span",{className:`${wr}-menu-item-keyword`,key:`separator-${vi}`},De)),Pr.push(De)}),Pr}const Br=(Vt,Vn,wr,Yn)=>{const Pr=[],br=Vt.toLowerCase();return Vn.forEach((kr,vi)=>{vi!==0&&Pr.push(" / ");let at=kr[Yn.label];const De=typeof at;(De==="string"||De==="number")&&(at=Na(String(at),br,wr)),Pr.push(at)}),Pr},Tn=Oe.forwardRef((Vt,Vn)=>{const{prefixCls:wr,size:Yn,disabled:Pr,className:br,rootClassName:kr,multiple:vi,bordered:at=!0,transitionName:De,choiceTransitionName:nt="",popupClassName:Ot,dropdownClassName:xn,expandIcon:wn,placement:gr,showSearch:Ar,allowClear:fr=!0,notFoundContent:vr,direction:qr,getPopupContainer:Xi,status:Nr,showArrow:Gn,builtinPlacements:Fn,style:Kt}=Vt,Mn=Zo(Vt,["prefixCls","size","disabled","className","rootClassName","multiple","bordered","transitionName","choiceTransitionName","popupClassName","dropdownClassName","expandIcon","placement","showSearch","allowClear","notFoundContent","direction","getPopupContainer","status","showArrow","builtinPlacements","style"]),zn=(0,yn.Z)(Mn,["suffixIcon"]),{getPopupContainer:Jn,getPrefixCls:xr,renderEmpty:$n,direction:jr,popupOverflow:pn,cascader:ni}=Oe.useContext(vn.E_),Ai=qr||jr,Ni=Ai==="rtl",{status:bi,hasFeedback:Ji,isFormItemInput:fa,feedbackIcon:oa}=Oe.useContext(Tt.aM),ji=(0,Vr.F)(bi,Nr),Qa=vr||($n==null?void 0:$n("Cascader"))||Oe.createElement(dr.Z,{componentName:"Cascader"}),Fa=xr(),qo=xr("select",wr),ma=xr("cascader",wr),[_o,Ci]=(0,qt.Z)(qo),[Qo]=wi(ma),{compactSize:ol,compactItemClassnames:mo}=(0,Ii.ri)(qo,qr),Oa=ye()(Ot||xn,`${ma}-dropdown`,{[`${ma}-dropdown-rtl`]:Ai==="rtl"},kr,Ci),Go=Oe.useMemo(()=>{if(!Ar)return Ar;let Fl={render:Br};return typeof Ar=="object"&&(Fl=Object.assign(Object.assign({},Fl),Ar)),Fl},[Ar]),_a=(0,Ht.Z)(Fl=>{var pl;return(pl=Yn!=null?Yn:ol)!==null&&pl!==void 0?pl:Fl}),Ga=Oe.useContext(ei.Z),ll=Pr!=null?Pr:Ga;let tl=wn;wn||(tl=Ni?Oe.createElement(st.Z,null):Oe.createElement(Qe.Z,null));const Jo=Oe.createElement("span",{className:`${qo}-menu-item-loading-icon`},Oe.createElement(yt.Z,{spin:!0})),Zr=Oe.useMemo(()=>vi?Oe.createElement("span",{className:`${ma}-checkbox-inner`}):!1,[vi]),Li=(0,nr.Z)(Vt.suffixIcon,Gn),{suffixIcon:xo,removeIcon:jo,clearIcon:nl}=(0,Jr.Z)(Object.assign(Object.assign({},Vt),{hasFeedback:Ji,feedbackIcon:oa,showSuffixIcon:Li,multiple:vi,prefixCls:qo,componentName:"Cascader"})),Ul=Oe.useMemo(()=>gr!==void 0?gr:Ni?"bottomRight":"bottomLeft",[gr,Ni]),wl=(0,Un.Z)(Fn,pn),ra=fr===!0?{clearIcon:nl}:fr,Sa=Oe.createElement(On,Object.assign({prefixCls:qo,className:ye()(!wr&&ma,{[`${qo}-lg`]:_a==="large",[`${qo}-sm`]:_a==="small",[`${qo}-rtl`]:Ni,[`${qo}-borderless`]:!at,[`${qo}-in-form-item`]:fa},(0,Vr.Z)(qo,ji,Ji),mo,ni==null?void 0:ni.className,br,kr,Ci),disabled:ll,style:Object.assign(Object.assign({},ni==null?void 0:ni.style),Kt)},zn,{builtinPlacements:wl,direction:Ai,placement:Ul,notFoundContent:Qa,allowClear:ra,showSearch:Go,expandIcon:tl,suffixIcon:xo,removeIcon:jo,loadingIcon:Jo,checkable:Zr,dropdownClassName:Oa,dropdownPrefixCls:wr||ma,choiceTransitionName:(0,Qt.m)(Fa,"",nt),transitionName:(0,Qt.m)(Fa,"slide-up",De),getPopupContainer:Xi||Jn,ref:Vn}));return Qo(_o(Sa))}),Fr=(0,pr.Z)(Tn);Tn.SHOW_PARENT=Pa,Tn.SHOW_CHILD=yo,Tn._InternalPanelDoNotUseOrYouWillBeFired=Fr;var ki=Tn},24905:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return gn}});var ee=ie(92310),Oe=ie.n(ee),st=ie(5630),yt=ie(59301),Qe=ie(36355),Je=ie(1684),ye=ie(32441),He=yt.createContext(null),pt=ie(98447),tt=ie(14088),ut=ie(4572),ht=function(Nn,rn){var Et={};for(var _t in Nn)Object.prototype.hasOwnProperty.call(Nn,_t)&&rn.indexOf(_t)<0&&(Et[_t]=Nn[_t]);if(Nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var We=0,_t=Object.getOwnPropertySymbols(Nn);We<_t.length;We++)rn.indexOf(_t[We])<0&&Object.prototype.propertyIsEnumerable.call(Nn,_t[We])&&(Et[_t[We]]=Nn[_t[We]]);return Et};const ot=(Nn,rn)=>{var Et;const{prefixCls:_t,className:We,rootClassName:Rt,children:lt,indeterminate:dn=!1,style:ln,onMouseEnter:tn,onMouseLeave:lr,skipGroup:Dr=!1,disabled:ft}=Nn,Le=ht(Nn,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:Gt,direction:Cr,checkbox:ur}=yt.useContext(Qe.E_),It=yt.useContext(He),{isFormItemInput:Nt}=yt.useContext(ye.aM),hr=yt.useContext(Je.Z),ir=(Et=(It==null?void 0:It.disabled)||ft)!==null&&Et!==void 0?Et:hr,sn=yt.useRef(Le.value);yt.useEffect(()=>{It==null||It.registerValue(Le.value)},[]),yt.useEffect(()=>{if(!Dr)return Le.value!==sn.current&&(It==null||It.cancelValue(sn.current),It==null||It.registerValue(Le.value),sn.current=Le.value),()=>It==null?void 0:It.cancelValue(Le.value)},[Le.value]);const An=Gt("checkbox",_t),[Cn,Pn]=(0,pt.ZP)(An),Ln=Object.assign({},Le);It&&!Dr&&(Ln.onChange=function(){Le.onChange&&Le.onChange.apply(Le,arguments),It.toggleOption&&It.toggleOption({label:lt,value:Le.value})},Ln.name=It.name,Ln.checked=It.value.includes(Le.value));const Te=Oe()(`${An}-wrapper`,{[`${An}-rtl`]:Cr==="rtl",[`${An}-wrapper-checked`]:Ln.checked,[`${An}-wrapper-disabled`]:ir,[`${An}-wrapper-in-form-item`]:Nt},ur==null?void 0:ur.className,We,Rt,Pn),ve=Oe()({[`${An}-indeterminate`]:dn},ut.A,Pn),he=dn?"mixed":void 0;return Cn(yt.createElement(tt.Z,{component:"Checkbox",disabled:ir},yt.createElement("label",{className:Te,style:Object.assign(Object.assign({},ur==null?void 0:ur.style),ln),onMouseEnter:tn,onMouseLeave:lr},yt.createElement(st.Z,Object.assign({"aria-checked":he},Ln,{prefixCls:An,className:ve,disabled:ir,ref:rn})),lt!==void 0&&yt.createElement("span",null,lt))))};var qe=yt.forwardRef(ot),St=ie(77654),jt=ie(2738),Lt=function(Nn,rn){var Et={};for(var _t in Nn)Object.prototype.hasOwnProperty.call(Nn,_t)&&rn.indexOf(_t)<0&&(Et[_t]=Nn[_t]);if(Nn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var We=0,_t=Object.getOwnPropertySymbols(Nn);We<_t.length;We++)rn.indexOf(_t[We])<0&&Object.prototype.propertyIsEnumerable.call(Nn,_t[We])&&(Et[_t[We]]=Nn[_t[We]]);return Et};const Ut=(Nn,rn)=>{const{defaultValue:Et,children:_t,options:We=[],prefixCls:Rt,className:lt,rootClassName:dn,style:ln,onChange:tn}=Nn,lr=Lt(Nn,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:Dr,direction:ft}=yt.useContext(Qe.E_),[Le,Gt]=yt.useState(lr.value||Et||[]),[Cr,ur]=yt.useState([]);yt.useEffect(()=>{"value"in lr&&Gt(lr.value||[])},[lr.value]);const It=yt.useMemo(()=>We.map(we=>typeof we=="string"||typeof we=="number"?{label:we,value:we}:we),[We]),Nt=we=>{ur(Re=>Re.filter(fe=>fe!==we))},hr=we=>{ur(Re=>[].concat((0,St.Z)(Re),[we]))},ir=we=>{const Re=Le.indexOf(we.value),fe=(0,St.Z)(Le);Re===-1?fe.push(we.value):fe.splice(Re,1),"value"in lr||Gt(fe),tn==null||tn(fe.filter(wt=>Cr.includes(wt)).sort((wt,en)=>{const mt=It.findIndex(On=>On.value===wt),xt=It.findIndex(On=>On.value===en);return mt-xt}))},sn=Dr("checkbox",Rt),An=`${sn}-group`,[Cn,Pn]=(0,pt.ZP)(sn),Ln=(0,jt.Z)(lr,["value","disabled"]),Te=We.length?It.map(we=>yt.createElement(qe,{prefixCls:sn,key:we.value.toString(),disabled:"disabled"in we?we.disabled:lr.disabled,value:we.value,checked:Le.includes(we.value),onChange:we.onChange,className:`${An}-item`,style:we.style,title:we.title},we.label)):_t,ve={toggleOption:ir,value:Le,disabled:lr.disabled,name:lr.name,registerValue:hr,cancelValue:Nt},he=Oe()(An,{[`${An}-rtl`]:ft==="rtl"},lt,dn,Pn);return Cn(yt.createElement("div",Object.assign({className:he,style:ln},Ln,{ref:rn}),yt.createElement(He.Provider,{value:ve},Te)))},At=yt.forwardRef(Ut);var Mt=yt.memo(At);const je=qe;je.Group=Mt,je.__ANT_CHECKBOX=!0;var gn=je},98447:function(Bn,Wn,ie){"use strict";ie.d(Wn,{C2:function(){return Qe}});var ee=ie(17313),Oe=ie(37613),st=ie(83116);const yt=Je=>{const{checkboxCls:ye}=Je,Se=`${ye}-wrapper`;return[{[`${ye}-group`]:Object.assign(Object.assign({},(0,ee.Wf)(Je)),{display:"inline-flex",flexWrap:"wrap",columnGap:Je.marginXS,[`> ${Je.antCls}-row`]:{flex:1}}),[Se]:Object.assign(Object.assign({},(0,ee.Wf)(Je)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${Se}`]:{marginInlineStart:0},[`&${Se}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[ye]:Object.assign(Object.assign({},(0,ee.Wf)(Je)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:Je.borderRadiusSM,alignSelf:"center",[`${ye}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${ye}-inner`]:Object.assign({},(0,ee.oN)(Je))},[`${ye}-inner`]:{boxSizing:"border-box",position:"relative",top:0,insetInlineStart:0,display:"block",width:Je.checkboxSize,height:Je.checkboxSize,direction:"ltr",backgroundColor:Je.colorBgContainer,border:`${Je.lineWidth}px ${Je.lineType} ${Je.colorBorder}`,borderRadius:Je.borderRadiusSM,borderCollapse:"separate",transition:`all ${Je.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"21.5%",display:"table",width:Je.checkboxSize/14*5,height:Je.checkboxSize/14*8,border:`${Je.lineWidthBold}px solid ${Je.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${Je.motionDurationFast} ${Je.motionEaseInBack}, opacity ${Je.motionDurationFast}`}},"& + span":{paddingInlineStart:Je.paddingXS,paddingInlineEnd:Je.paddingXS}})},{[` + ${Se}:not(${Se}-disabled), + ${ye}:not(${ye}-disabled) + `]:{[`&:hover ${ye}-inner`]:{borderColor:Je.colorPrimary}},[`${Se}:not(${Se}-disabled)`]:{[`&:hover ${ye}-checked:not(${ye}-disabled) ${ye}-inner`]:{backgroundColor:Je.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${ye}-checked:not(${ye}-disabled):after`]:{borderColor:Je.colorPrimaryHover}}},{[`${ye}-checked`]:{[`${ye}-inner`]:{backgroundColor:Je.colorPrimary,borderColor:Je.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${Je.motionDurationMid} ${Je.motionEaseOutBack} ${Je.motionDurationFast}`}}},[` + ${Se}-checked:not(${Se}-disabled), + ${ye}-checked:not(${ye}-disabled) + `]:{[`&:hover ${ye}-inner`]:{backgroundColor:Je.colorPrimaryHover,borderColor:"transparent"}}},{[ye]:{"&-indeterminate":{[`${ye}-inner`]:{backgroundColor:Je.colorBgContainer,borderColor:Je.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:Je.fontSizeLG/2,height:Je.fontSizeLG/2,backgroundColor:Je.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${Se}-disabled`]:{cursor:"not-allowed"},[`${ye}-disabled`]:{[`&, ${ye}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${ye}-inner`]:{background:Je.colorBgContainerDisabled,borderColor:Je.colorBorder,"&:after":{borderColor:Je.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:Je.colorTextDisabled},[`&${ye}-indeterminate ${ye}-inner::after`]:{background:Je.colorTextDisabled}}}]};function Qe(Je,ye){const Se=(0,Oe.TS)(ye,{checkboxCls:`.${Je}`,checkboxSize:ye.controlInteractiveSize});return[yt(Se)]}Wn.ZP=(0,st.Z)("Checkbox",(Je,ye)=>{let{prefixCls:Se}=ye;return[Qe(Se,Je)]})},5083:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return ys}});var ee=ie(66649),Oe=ie.n(ee),st=ie(48736),yt=ie(9007),Qe=ie.n(yt),Je=ie(50991),ye=ie.n(Je),Se=ie(9084),He=ie.n(Se),pt=ie(58626),tt=ie.n(pt),ut=ie(13477),ht=ie.n(ut),ot=ie(64796),Fe=ie.n(ot);Oe().extend(Fe()),Oe().extend(ht()),Oe().extend(Qe()),Oe().extend(ye()),Oe().extend(He()),Oe().extend(tt()),Oe().extend(function(Pe,Xe){var Ze=Xe.prototype,kt=Ze.format;Ze.format=function(cr){var sr=(cr||"").replace("Wo","wo");return kt.bind(this)(sr)}});var qe={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"},St=function(Xe){var Ze=qe[Xe];return Ze||Xe.split("_")[0]},jt=function(){(0,st.ET)(!1,"Not match any format. Please help to fire a issue about this.")},Lt={getNow:function(){return Oe()()},getFixedDate:function(Xe){return Oe()(Xe,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function(Xe){return Xe.endOf("month")},getWeekDay:function(Xe){var Ze=Xe.locale("en");return Ze.weekday()+Ze.localeData().firstDayOfWeek()},getYear:function(Xe){return Xe.year()},getMonth:function(Xe){return Xe.month()},getDate:function(Xe){return Xe.date()},getHour:function(Xe){return Xe.hour()},getMinute:function(Xe){return Xe.minute()},getSecond:function(Xe){return Xe.second()},addYear:function(Xe,Ze){return Xe.add(Ze,"year")},addMonth:function(Xe,Ze){return Xe.add(Ze,"month")},addDate:function(Xe,Ze){return Xe.add(Ze,"day")},setYear:function(Xe,Ze){return Xe.year(Ze)},setMonth:function(Xe,Ze){return Xe.month(Ze)},setDate:function(Xe,Ze){return Xe.date(Ze)},setHour:function(Xe,Ze){return Xe.hour(Ze)},setMinute:function(Xe,Ze){return Xe.minute(Ze)},setSecond:function(Xe,Ze){return Xe.second(Ze)},isAfter:function(Xe,Ze){return Xe.isAfter(Ze)},isValidate:function(Xe){return Xe.isValid()},locale:{getWeekFirstDay:function(Xe){return Oe()().locale(St(Xe)).localeData().firstDayOfWeek()},getWeekFirstDate:function(Xe,Ze){return Ze.locale(St(Xe)).weekday(0)},getWeek:function(Xe,Ze){return Ze.locale(St(Xe)).week()},getShortWeekDays:function(Xe){return Oe()().locale(St(Xe)).localeData().weekdaysMin()},getShortMonths:function(Xe){return Oe()().locale(St(Xe)).localeData().monthsShort()},format:function(Xe,Ze,kt){return Ze.locale(St(Xe)).format(kt)},parse:function(Xe,Ze,kt){for(var zt=St(Xe),cr=0;cr1&&(sr=Xe.addDate(sr,-7)),sr}function Tt(Pe,Xe,Ze){var kt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;switch(Xe){case"year":return Ze.addYear(Pe,kt*10);case"quarter":case"month":return Ze.addYear(Pe,kt);default:return Ze.addMonth(Pe,kt)}}function qt(Pe,Xe){var Ze=Xe.generateConfig,kt=Xe.locale,zt=Xe.format;return typeof zt=="function"?zt(Pe):Ze.locale.format(kt.locale,Pe,zt)}function Un(Pe,Xe){var Ze=Xe.generateConfig,kt=Xe.locale,zt=Xe.formatList;return!Pe||typeof zt[0]=="function"?null:Ze.locale.parse(kt.locale,Pe,zt)}function nr(Pe){var Xe=Pe.cellDate,Ze=Pe.mode,kt=Pe.disabledDate,zt=Pe.generateConfig;if(!kt)return!1;var cr=function(Yi,Er,_r){for(var Qi=Er;Qi<=_r;){var Po=void 0;switch(Yi){case"date":{if(Po=zt.setDate(Xe,Qi),!kt(Po))return!1;break}case"month":{if(Po=zt.setMonth(Xe,Qi),!nr({cellDate:Po,mode:"month",generateConfig:zt,disabledDate:kt}))return!1;break}case"year":{if(Po=zt.setYear(Xe,Qi),!nr({cellDate:Po,mode:"year",generateConfig:zt,disabledDate:kt}))return!1;break}}Qi+=1}return!0};switch(Ze){case"date":case"week":return kt(Xe);case"month":{var sr=1,Yr=zt.getDate(zt.getEndDate(Xe));return cr("date",sr,Yr)}case"quarter":{var Wr=Math.floor(zt.getMonth(Xe)/3)*3,di=Wr+2;return cr("month",Wr,di)}case"year":return cr("month",0,11);case"decade":{var ha=zt.getYear(Xe),Ei=Math.floor(ha/Re)*Re,Bi=Ei+Re-1;return cr("year",Ei,Bi)}}}function Jr(Pe,Xe){var Ze=Xe.formatList,kt=Xe.generateConfig,zt=Xe.locale;return(0,he.Z)(function(){if(!Pe)return[[""],""];for(var cr="",sr=[],Yr=0;Yr1&&arguments[1]!==void 0?arguments[1]:!1;if(cancelAnimationFrame(di.current),Qi){Wr(_r);return}di.current=requestAnimationFrame(function(){Wr(_r)})}var Ei=Jr(Yr,{formatList:Ze,generateConfig:kt,locale:zt}),Bi=(0,Ln.Z)(Ei,2),Oi=Bi[1];function Yi(_r){ha(_r)}function Er(){var _r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ha(null,_r)}return(0,je.useEffect)(function(){Er(!0)},[Pe]),(0,je.useEffect)(function(){return function(){return cancelAnimationFrame(di.current)}},[]),[Oi,Yi,Er]}var ii=ie(10228),ea=ie(16089),vo=ie(77654),Ha=ie(29194),Hi=new Map;function wi(Pe,Xe){var Ze;function kt(){(0,Ha.Z)(Pe)?Xe():Ze=(0,ea.Z)(function(){kt()})}return kt(),function(){ea.Z.cancel(Ze)}}function Zo(Pe,Xe,Ze){if(Hi.get(Pe)&&cancelAnimationFrame(Hi.get(Pe)),Ze<=0){Hi.set(Pe,requestAnimationFrame(function(){Pe.scrollTop=Xe}));return}var kt=Xe-Pe.scrollTop,zt=kt/Ze*10;Hi.set(Pe,requestAnimationFrame(function(){Pe.scrollTop+=zt,Pe.scrollTop!==Xe&&Zo(Pe,Xe,Ze-10)}))}function yo(Pe,Xe){var Ze=Xe.onLeftRight,kt=Xe.onCtrlLeftRight,zt=Xe.onUpDown,cr=Xe.onPageUpDown,sr=Xe.onEnter,Yr=Pe.which,Wr=Pe.ctrlKey,di=Pe.metaKey;switch(Yr){case ii.Z.LEFT:if(Wr||di){if(kt)return kt(-1),!0}else if(Ze)return Ze(-1),!0;break;case ii.Z.RIGHT:if(Wr||di){if(kt)return kt(1),!0}else if(Ze)return Ze(1),!0;break;case ii.Z.UP:if(zt)return zt(-1),!0;break;case ii.Z.DOWN:if(zt)return zt(1),!0;break;case ii.Z.PAGE_UP:if(cr)return cr(-1),!0;break;case ii.Z.PAGE_DOWN:if(cr)return cr(1),!0;break;case ii.Z.ENTER:if(sr)return sr(),!0;break}return!1}function Pa(Pe,Xe,Ze,kt){var zt=Pe;if(!zt)switch(Xe){case"time":zt=kt?"hh:mm:ss a":"HH:mm:ss";break;case"week":zt="gggg-wo";break;case"month":zt="YYYY-MM";break;case"quarter":zt="YYYY-[Q]Q";break;case"year":zt="YYYY";break;default:zt=Ze?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD"}return zt}function Na(Pe,Xe,Ze){var kt=Pe==="time"?8:10,zt=typeof Xe=="function"?Xe(Ze.getNow()).length:Xe.length;return Math.max(kt,zt)+2}var Br=null,Tn=new Set;function Fr(Pe){return!Br&&typeof window!="undefined"&&window.addEventListener&&(Br=function(Ze){(0,vo.Z)(Tn).forEach(function(kt){kt(Ze)})},window.addEventListener("mousedown",Br)),Tn.add(Pe),function(){Tn.delete(Pe),Tn.size===0&&(window.removeEventListener("mousedown",Br),Br=null)}}function ki(Pe){var Xe=Pe.target;if(Pe.composed&&Xe.shadowRoot){var Ze;return((Ze=Pe.composedPath)===null||Ze===void 0?void 0:Ze.call(Pe)[0])||Xe}return Xe}var Vt=function(Xe){return Xe==="month"||Xe==="date"?"year":Xe},Vn=function(Xe){return Xe==="date"?"month":Xe},wr=function(Xe){return Xe==="month"||Xe==="date"?"quarter":Xe},Yn=function(Xe){return Xe==="date"?"week":Xe},Pr={year:Vt,month:Vn,quarter:wr,week:Yn,time:null,date:null};function br(Pe,Xe){return Pe.some(function(Ze){return Ze&&Ze.contains(Xe)})}function kr(Pe){var Xe=Pe.open,Ze=Pe.value,kt=Pe.isClickOutside,zt=Pe.triggerOpen,cr=Pe.forwardKeyDown,sr=Pe.onKeyDown,Yr=Pe.blurToCancel,Wr=Pe.onSubmit,di=Pe.onCancel,ha=Pe.onFocus,Ei=Pe.onBlur,Bi=Pe.changeOnBlur,Oi=(0,je.useState)(!1),Yi=(0,Ln.Z)(Oi,2),Er=Yi[0],_r=Yi[1],Qi=(0,je.useState)(!1),Po=(0,Ln.Z)(Qi,2),Ua=Po[0],Do=Po[1],ko=(0,je.useRef)(!1),co=(0,je.useRef)(!1),oo=(0,je.useRef)(!1),ns={onMouseDown:function(){_r(!0),zt(!0)},onKeyDown:function(Xr){var us=function(){oo.current=!0};if(sr(Xr,us),!oo.current){switch(Xr.which){case ii.Z.ENTER:{Xe?Wr()!==!1&&_r(!0):zt(!0),Xr.preventDefault();return}case ii.Z.TAB:{Er&&Xe&&!Xr.shiftKey?(_r(!1),Xr.preventDefault()):!Er&&Xe&&!cr(Xr)&&Xr.shiftKey&&(_r(!0),Xr.preventDefault());return}case ii.Z.ESC:{_r(!0),di();return}}!Xe&&![ii.Z.SHIFT].includes(Xr.which)?zt(!0):Er||cr(Xr)}},onFocus:function(Xr){_r(!0),Do(!0),ha&&ha(Xr)},onBlur:function(Xr){if(ko.current||!kt(document.activeElement)){ko.current=!1;return}Yr?setTimeout(function(){for(var us=document,Ms=us.activeElement;Ms&&Ms.shadowRoot;)Ms=Ms.shadowRoot.activeElement;kt(Ms)&&di()},0):Xe&&(zt(!1),co.current&&Wr()),Do(!1),Ei==null||Ei(Xr)}};return(0,je.useEffect)(function(){co.current=!1},[Xe]),(0,je.useEffect)(function(){co.current=!0},[Ze]),(0,je.useEffect)(function(){return Fr(function(yl){var Xr=ki(yl),us=kt(Xr);Xe&&(us?!Bi&&(!Ua||us)&&zt(!1):(ko.current=!0,(0,ea.Z)(function(){ko.current=!1})))})}),[ns,{focused:Ua,typing:Er}]}function vi(Pe,Xe){return je.useMemo(function(){return Pe||(Xe?((0,st.ZP)(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries(Xe).map(function(Ze){var kt=(0,Ln.Z)(Ze,2),zt=kt[0],cr=kt[1];return{label:zt,value:cr}})):[])},[Pe,Xe])}var at=ie(34280);function De(Pe){var Xe=Pe.valueTexts,Ze=Pe.onTextChange,kt=je.useState(""),zt=(0,Ln.Z)(kt,2),cr=zt[0],sr=zt[1],Yr=je.useRef([]);Yr.current=Xe;function Wr(ha){sr(ha),Ze(ha)}function di(){sr(Yr.current[0])}return(0,at.Z)(function(){Xe.every(function(ha){return ha!==cr})&&di()},[Xe.join("||")]),[cr,Wr,di]}var nt=je.createContext({}),Ot=nt,xn=ie(43749);function wn(Pe){var Xe=Pe.cellRender,Ze=Pe.monthCellRender,kt=Pe.dateRender,zt=je.useMemo(function(){if(Xe)return Xe;if(!(!Ze&&!kt))return function(cr,sr){var Yr=cr;return kt&&sr.type==="date"?kt(Yr,sr.today):Ze&&sr.type==="month"?Ze(Yr,sr.locale):sr.originNode}},[Xe,Ze,kt]);return zt}function gr(Pe,Xe){for(var Ze=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0",kt=String(Pe);kt.length=1?Ze|0:1,sr=Pe;sr<=Xe;sr+=cr)zt.push({label:gr(sr,2),value:sr,disabled:(kt||[]).includes(sr)});return zt}function Qo(Pe){var Xe=Pe.generateConfig,Ze=Pe.prefixCls,kt=Pe.operationRef,zt=Pe.activeColumnIndex,cr=Pe.value,sr=Pe.showHour,Yr=Pe.showMinute,Wr=Pe.showSecond,di=Pe.use12Hours,ha=Pe.hourStep,Ei=ha===void 0?1:ha,Bi=Pe.minuteStep,Oi=Bi===void 0?1:Bi,Yi=Pe.secondStep,Er=Yi===void 0?1:Yi,_r=Pe.disabledHours,Qi=Pe.disabledMinutes,Po=Pe.disabledSeconds,Ua=Pe.disabledTime,Do=Pe.hideDisabledOptions,ko=Pe.onSelect,co=Pe.cellRender,oo=Pe.locale,ns=[],yl="".concat(Ze,"-content"),Xr="".concat(Ze,"-time-panel"),us,Ms=cr?Xe.getHour(cr):-1,Us=Ms,Ks=cr?Xe.getMinute(cr):-1,rs=cr?Xe.getSecond(cr):-1,ml=Xe.getNow(),is=je.useMemo(function(){if(Ua){var Sr=Ua(ml);return[Sr.disabledHours,Sr.disabledMinutes,Sr.disabledSeconds]}return[_r,Qi,Po]},[_r,Qi,Po,Ua,ml]),ws=(0,Ln.Z)(is,3),iu=ws[0],Ts=ws[1],Is=ws[2],Cu=Ci(0,23,Ei,iu&&iu()),Nu=(0,he.Z)(function(){return Cu},Cu,_o);di&&(us=Us>=12,Us%=12);var Ve=je.useMemo(function(){if(!di)return[!1,!1];var Sr=[!0,!0];return Nu.forEach(function(Ir){var mi=Ir.disabled,pi=Ir.value;mi||(pi>=12?Sr[1]=!1:Sr[0]=!1)}),Sr},[di,Nu]),_e=(0,Ln.Z)(Ve,2),Pt=_e[0],Wt=_e[1],fn=je.useMemo(function(){return di?Nu.filter(us?function(Sr){return Sr.value>=12}:function(Sr){return Sr.value<12}).map(function(Sr){var Ir=Sr.value%12,mi=Ir===0?"12":gr(Ir,2);return(0,Pn.Z)((0,Pn.Z)({},Sr),{},{label:mi,value:Ir})}):Nu},[di,us,Nu]),un=Ci(0,59,Oi,Ts&&Ts(Ms)),qn=Ci(0,59,Er,Is&&Is(Ms,Ks)),_n=Fa({value:cr,generateConfig:Xe,disabledMinutes:Ts,disabledSeconds:Is,minutes:un,seconds:qn,use12Hours:di});kt.current={onUpDown:function(Ir){var mi=ns[zt];if(mi)for(var pi=mi.units.findIndex(function(ya){return ya.value===mi.value}),xi=mi.units.length,Ri=1;Ri2&&arguments[2]!==void 0?arguments[2]:!1;(ba===_r||Mr)&&(qa(on),ns&&ns(on),_n&&_n(on,bn),yl&&!dr(Wr,on,ta)&&!(Oi!=null&&Oi(on))&&yl(on))},xe=function(on){if(gu.includes(ba)){var bn,Mr,ti=ba==="date";switch(on===ii.Z.PAGE_UP||on===ii.Z.PAGE_DOWN?Mr=ti?Wr.addMonth:Wr.addYear:Mr=ti?Wr.addDate:Wr.addMonth,on){case ii.Z.LEFT:case ii.Z.PAGE_UP:bn=Mr(Yo,-1);break;case ii.Z.RIGHT:case ii.Z.PAGE_DOWN:bn=Mr(Yo,1);break;case ii.Z.UP:case ii.Z.DOWN:bn=Mr(Yo,Number("".concat(on===ii.Z.UP?"-":"").concat(ti?wt:Sa)));break}if(bn)return!(Oi!=null&&Oi(bn))}return!0},ke=function(on){if(Ri.current&&Ri.current.onKeyDown){var bn=!0,Mr=on.which;if([ii.Z.LEFT,ii.Z.RIGHT,ii.Z.UP,ii.Z.DOWN,ii.Z.PAGE_UP,ii.Z.PAGE_DOWN,ii.Z.ENTER].includes(Mr)&&(on.preventDefault(),Mr!==ii.Z.ENTER&&Po===0&&(bn=xe(Mr))),bn)return Ri.current.onKeyDown(on)}return(0,st.ZP)(!1,"Panel not correct handle keyDown event. Please help to fire issue about this."),!1},ze=function(on){Ri.current&&Ri.current.onBlur&&Ri.current.onBlur(on)};qn&&mi!=="right"&&(qn.current={onKeyDown:ke,onClose:function(){Ri.current&&Ri.current.onClose&&Ri.current.onClose()}}),je.useEffect(function(){di&&!Fi.current&&bo(di)},[di]),je.useEffect(function(){Fi.current=!1},[]);var Ye,Ke=wn({cellRender:Ve,monthCellRender:Nu,dateRender:Cu}),ct=(0,Pn.Z)((0,Pn.Z)({},Pe),{},{cellRender:Ke,operationRef:Ri,prefixCls:zt,viewDate:Yo,value:ta,onViewDateChange:Ta,sourceMode:Or,onPanelChange:de,disabledDate:Oi});switch(delete ct.onChange,delete ct.onSelect,ba){case"decade":Ye=je.createElement(Ul,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;case"year":Ye=je.createElement(Zu,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;case"month":Ye=je.createElement(Au,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;case"quarter":Ye=je.createElement(Za,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;case"week":Ye=je.createElement(an,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;case"time":delete ct.showTime,Ye=je.createElement(Go,(0,Mt.Z)({},ct,(0,xn.Z)(Do)==="object"?Do:null,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}));break;default:Do?Ye=je.createElement(ll,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}})):Ye=je.createElement(oa,(0,Mt.Z)({},ct,{onSelect:function(on,bn){Ta(on),pe(on,bn)}}))}var rt,Ct,Xt=function(){var on=Wr.getNow(),bn=zn(Wr.getHour(on),Wr.getMinute(on),Wr.getSecond(on),Pt?is:1,Wt?iu:1,fn?Is:1),Mr=Kt(Wr,on,bn[0],bn[1],bn[2]);pe(Mr,"submit")};Xn||(rt=Io(zt,ba,co),Do&&ba!=="date"?Ct=null:Ct=os({prefixCls:zt,components:Ks,needConfirmButton:_e,okDisabled:!ta||Oi&&Oi(ta),locale:Yr,showNow:Ua,onNow:_e&&Xt,onOk:function(){ta&&(pe(ta,"submit",!0),Us&&Us(ta))}}));var Bt;if(ko&&ba==="date"&&_r==="date"&&!Do){var Sn=Wr.getNow(),Zt="".concat(zt,"-today-btn"),nn=Oi&&Oi(Sn);Bt=je.createElement("a",{className:It()(Zt,nn&&"".concat(Zt,"-disabled")),"aria-disabled":nn,onClick:function(){nn||pe(Sn,"mouse",!0)}},Yr.today)}return je.createElement(Ot.Provider,{value:(0,Pn.Z)((0,Pn.Z)({},un),{},{mode:ba,hideHeader:"hideHeader"in Pe?oo:un.hideHeader,hidePrevBtn:Ir&&mi==="right",hideNextBtn:Ir&&mi==="left"})},je.createElement("div",{tabIndex:Po,className:It()("".concat(zt,"-panel"),cr,(Xe={},(0,Cn.Z)(Xe,"".concat(zt,"-panel-has-range"),pi&&pi[0]&&pi[1]),(0,Cn.Z)(Xe,"".concat(zt,"-panel-has-range-hover"),xi&&xi[0]&&xi[1]),(0,Cn.Z)(Xe,"".concat(zt,"-panel-rtl"),rs==="rtl"),Xe)),style:sr,onKeyDown:ke,onBlur:ze,onMouseDown:us},Ye,rt||Ct||Bt?je.createElement("div",{className:"".concat(zt,"-footer")},rt,Ct,Bt):null))}var sl=Ho,ro=ie(35593),Yt={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 mr(Pe){var Xe,Ze=Pe.prefixCls,kt=Pe.popupElement,zt=Pe.popupStyle,cr=Pe.visible,sr=Pe.dropdownClassName,Yr=Pe.dropdownAlign,Wr=Pe.transitionName,di=Pe.getPopupContainer,ha=Pe.children,Ei=Pe.range,Bi=Pe.popupPlacement,Oi=Pe.direction,Yi="".concat(Ze,"-dropdown"),Er=function(){return Bi!==void 0?Bi:Oi==="rtl"?"bottomRight":"bottomLeft"};return je.createElement(ro.Z,{showAction:[],hideAction:[],popupPlacement:Er(),builtinPlacements:Yt,prefixCls:Yi,popupTransitionName:Wr,popup:kt,popupAlign:Yr,popupVisible:cr,popupClassName:It()(sr,(Xe={},(0,Cn.Z)(Xe,"".concat(Yi,"-range"),Ei),(0,Cn.Z)(Xe,"".concat(Yi,"-rtl"),Oi==="rtl"),Xe)),popupStyle:zt,getPopupContainer:di},ha)}var Hn=mr;function hi(Pe){var Xe=Pe.prefixCls,Ze=Pe.presets,kt=Pe.onClick,zt=Pe.onHover;return Ze.length?je.createElement("div",{className:"".concat(Xe,"-presets")},je.createElement("ul",null,Ze.map(function(cr,sr){var Yr=cr.label,Wr=cr.value;return je.createElement("li",{key:sr,onClick:function(){return kt==null?void 0:kt(Xi(Wr))},onMouseEnter:function(){return zt==null?void 0:zt(Xi(Wr))},onMouseLeave:function(){return zt==null?void 0:zt(null)}},Yr)}))):null}function ao(Pe){var Xe=Pe.picker,Ze=Pe.disabledHours,kt=Pe.disabledMinutes,zt=Pe.disabledSeconds;Xe==="time"&&(Ze||kt||zt)&&warning(!1,"'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.")}function Kn(Pe,Xe,Ze){var kt=(0,xn.Z)(Xe)==="object"?Xe.clearIcon:Ze;return kt||je.createElement("span",{className:"".concat(Pe,"-clear-btn")})}function Cl(Pe){var Xe,Ze=Pe,kt=Ze.prefixCls,zt=kt===void 0?"rc-picker":kt,cr=Ze.id,sr=Ze.name,Yr=Ze.tabIndex,Wr=Ze.style,di=Ze.className,ha=Ze.dropdownClassName,Ei=Ze.dropdownAlign,Bi=Ze.popupStyle,Oi=Ze.transitionName,Yi=Ze.generateConfig,Er=Ze.locale,_r=Ze.inputReadOnly,Qi=Ze.allowClear,Po=Ze.autoFocus,Ua=Ze.showTime,Do=Ze.picker,ko=Do===void 0?"date":Do,co=Ze.format,oo=Ze.use12Hours,ns=Ze.value,yl=Ze.defaultValue,Xr=Ze.presets,us=Ze.open,Ms=Ze.defaultOpen,Us=Ze.defaultOpenValue,Ks=Ze.suffixIcon,rs=Ze.clearIcon,ml=Ze.disabled,is=Ze.disabledDate,ws=Ze.placeholder,iu=Ze.getPopupContainer,Ts=Ze.pickerRef,Is=Ze.panelRender,Cu=Ze.onChange,Nu=Ze.onOpenChange,Ve=Ze.onFocus,_e=Ze.onBlur,Pt=Ze.onMouseDown,Wt=Ze.onMouseUp,fn=Ze.onMouseEnter,un=Ze.onMouseLeave,qn=Ze.onContextMenu,_n=Ze.onClick,Xn=Ze.onKeyDown,Lr=Ze.onSelect,Sr=Ze.direction,Ir=Ze.autoComplete,mi=Ir===void 0?"off":Ir,pi=Ze.inputRender,xi=Ze.changeOnBlur,Ri=je.useRef(null),Fi=ko==="date"&&!!Ua||ko==="time",ya=vi(Xr),Kr=fr(Pa(co,ko,Ua,oo)),ta=je.useRef(null),qa=je.useRef(null),Xo=je.useRef(null),Co=(0,Te.Z)(null,{value:ns,defaultValue:yl}),Yo=(0,Ln.Z)(Co,2),bo=Yo[0],Ta=Yo[1],So=je.useState(bo),Ra=(0,Ln.Z)(So,2),Gi=Ra[0],ba=Ra[1],Ko=je.useRef(null),Rl=(0,Te.Z)(!1,{value:us,defaultValue:Ms,postState:function(ar){return ml?!1:ar},onChange:function(ar){Nu&&Nu(ar),!ar&&Ko.current&&Ko.current.onClose&&Ko.current.onClose()}}),Dn=(0,Ln.Z)(Rl,2),Or=Dn[0],ae=Dn[1],de=Jr(Gi,{formatList:Kr,generateConfig:Yi,locale:Er}),pe=(0,Ln.Z)(de,2),xe=pe[0],ke=pe[1],ze=De({valueTexts:xe,onTextChange:function(ar){var $o=Un(ar,{locale:Er,formatList:Kr,generateConfig:Yi});$o&&(!is||!is($o))&&ba($o)}}),Ye=(0,Ln.Z)(ze,3),Ke=Ye[0],ct=Ye[1],rt=Ye[2],Ct=function(ar){ba(ar),Ta(ar),Cu&&!dr(Yi,bo,ar)&&Cu(ar,ar?qt(ar,{generateConfig:Yi,locale:Er,format:Kr[0]}):"")},Xt=function(ar){ml&&ar||ae(ar)},Bt=function(ar){return Or&&Ko.current&&Ko.current.onKeyDown?Ko.current.onKeyDown(ar):((0,st.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},Sn=function(){for(var ar=arguments.length,$o=new Array(ar),bl=0;blBi(di);case"month":return Ei(Er)>Ei(di);case"week":return ha(Er)>ha(di);default:return!pr(Yr,Er,di)&&Yr.isAfter(Er,di)}return!1},[cr,sr[1],di,Xe]),Yi=je.useCallback(function(Er){if(sr[1]||cr&&cr(Er))return!0;if(sr[0]&&Wr)return!pr(Yr,Er,di)&&Yr.isAfter(Wr,Er);if(!Xe&&Wr)switch(Ze){case"quarter":return Bi(Er)0&&arguments[0]!==void 0?arguments[0]:!1,Nl=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ml=null;ua&&lc&&lc[0]&&lc[1]&&Er.isAfter(lc[1],lc[0])&&(Ml=lc);var Ia=oo;if(oo&&(0,xn.Z)(oo)==="object"&&oo.defaultValue){var _u=oo.defaultValue;Ia=(0,Pn.Z)((0,Pn.Z)({},oo),{},{defaultValue:vr(_u,Tr)||void 0})}return je.createElement(Fn.Provider,{value:{inRange:!0,panelPosition:fu,rangedValue:Js||cn,hoverRangedValue:Ml}},je.createElement(sl,(0,Mt.Z)({},Pe,Nl,{cellRender:Ff,showTime:Ia,mode:ti[Tr],generateConfig:Er,style:void 0,direction:Yo,disabledDate:Tr===0?ia:oi,disabledTime:function(Mc){return is?is(Mc,Tr===0?"start":"end"):!1},className:It()((0,Cn.Z)({},"".concat(sr,"-panel-focused"),Tr===0?!sc:!Vc)),value:vr(cn,Tr),locale:_r,tabIndex:-1,onPanelChange:function(Mc,pd){Tr===0&&kd(!0),Tr===1&&Nd(!0),ui(qr(ti,pd,Tr),qr(cn,Mc,Tr));var ad=Mc;fu==="right"&&ti[Tr]===pd&&(ad=Tt(ad,pd,Er,-1)),Sn(ad,Tr)},onOk:null,onSelect:void 0,onChange:void 0,defaultValue:Tr===0?vr(cn,1):vr(cn,0)})))}var Hc=0,_d=0;if(Tr&&Rl.current&&Or.current&&Ko.current&&pe.current){Hc=Rl.current.offsetWidth+Or.current.offsetWidth;var Ti=pe.current.offsetLeft>Hc?pe.current.offsetLeft-Hc:pe.current.offsetLeft,$f=Ko.current.offsetWidth,kf=pe.current.offsetWidth;$f&&kf&&Hc>$f-kf-(Yo==="rtl"?0:Ti)&&(_d=Hc)}var e0=Yo==="rtl"?{right:Hc}:{left:Hc};function Xf(){var fu,Nl=Io(sr,ti[Tr],_n),Ml=os({prefixCls:sr,components:Xo,needConfirmButton:Gi,okDisabled:!vr(cn,Tr)||ml&&ml(cn[Tr]),locale:_r,onOk:function(){var od=vr(cn,Tr);od&&(bl(cn,Tr),ta==null||ta(cn),Ya(!1,Tr,"confirm"))}});if(co!=="time"&&!oo){var Ia=Bt(Tr),_u=Tt(Ia,co,Er),Xd=ti[Tr],Mc=Xd===co,pd=Ld(Mc?"left":!1,{pickerValue:Ia,onPickerValueChange:function(od){Sn(od,Tr)}}),ad=Ld("right",{pickerValue:_u,onPickerValueChange:function(od){Sn(Tt(od,co,Er,-1),Tr)}});Yo==="rtl"?fu=je.createElement(je.Fragment,null,ad,Mc&&pd):fu=je.createElement(je.Fragment,null,pd,Mc&&ad)}else fu=Ld();var ef=je.createElement("div",{className:"".concat(sr,"-panel-layout")},je.createElement(hi,{prefixCls:sr,presets:vu,onClick:function(od){bl(od,null),Ya(!1,Tr,"preset")},onHover:function(od){Qu(od)}}),je.createElement("div",null,je.createElement("div",{className:"".concat(sr,"-panels")},fu),(Nl||Ml)&&je.createElement("div",{className:"".concat(sr,"-footer")},Nl,Ml)));return Is&&(ef=Is(ef)),je.createElement("div",{className:"".concat(sr,"-panel-container"),style:{marginLeft:_d},ref:Ko,onMouseDown:function(od){od.preventDefault()}},ef)}var Cd=je.createElement("div",{className:It()("".concat(sr,"-range-wrapper"),"".concat(sr,"-").concat(co,"-range-wrapper")),style:{minWidth:Oo}},je.createElement("div",{ref:pe,className:"".concat(sr,"-range-arrow"),style:e0}),Xf()),Yc;Pt&&(Yc=je.createElement("span",{className:"".concat(sr,"-suffix"),onMouseDown:function(Nl){Nl.preventDefault()}},Pt));var g0=Kn(sr,_e,Wt),Sc=je.createElement("span",{onMouseDown:function(Nl){Nl.preventDefault(),Nl.stopPropagation()},onMouseUp:function(Nl){Nl.preventDefault(),Nl.stopPropagation();var Ml=ct;ze[0]||(Ml=qr(Ml,null,0)),ze[1]||(Ml=qr(Ml,null,1)),bl(Ml,null),Ya(!1,Tr,"clear")},className:"".concat(sr,"-clear"),role:"button"},g0),hd=_e&&(vr(ct,0)&&!ze[0]||vr(ct,1)&&!ze[1]),$d={size:Na(co,xe[0],Er)},vf=0,Zf=0;Rl.current&&Dn.current&&Or.current&&(Tr===0?Zf=Rl.current.offsetWidth:(vf=Hc,Zf=Dn.current.offsetWidth));var Qf=Yo==="rtl"?{right:vf}:{left:vf},Nf=function(Nl,Ml){var Ia=qr(cn,Nl,Tr);if(Ml==="submit"||Ml!=="key"&&!Gi){bl(Ia,Tr),Tr===0?kd():Nd();var _u=Tr===0?1:0;ze[_u]?Ya(!1,!1,"confirm"):Ya(!1,Tr,"confirm")}else on(Ia)};return je.createElement(Ot.Provider,{value:{operationRef:ke,hideHeader:co==="time",onDateMouseEnter:hf,onDateMouseLeave:Qc,hideRanges:!0,onSelect:Nf,open:ua}},je.createElement(Hn,{visible:ua,popupElement:Cd,popupStyle:ha,prefixCls:sr,dropdownClassName:Ei,dropdownAlign:Oi,getPopupContainer:Yi,transitionName:Bi,range:!0,direction:Yo},je.createElement("div",(0,Mt.Z)({ref:ba,className:It()(sr,"".concat(sr,"-range"),di,(Xe={},(0,Cn.Z)(Xe,"".concat(sr,"-disabled"),ze[0]&&ze[1]),(0,Cn.Z)(Xe,"".concat(sr,"-focused"),Tr===0?Dc:Bu),(0,Cn.Z)(Xe,"".concat(sr,"-rtl"),Yo==="rtl"),Xe)),style:Wr,onClick:wf,onMouseEnter:Fi,onMouseLeave:ya,onMouseDown:tc,onMouseUp:Ri},(0,ve.Z)(Pe,{aria:!0,data:!0})),je.createElement("div",{className:It()("".concat(sr,"-input"),(Ze={},(0,Cn.Z)(Ze,"".concat(sr,"-input-active"),Tr===0),(0,Cn.Z)(Ze,"".concat(sr,"-input-placeholder"),!!xf),Ze)),ref:Rl},je.createElement("input",(0,Mt.Z)({id:Yr,disabled:ze[0],readOnly:un||typeof xe[0]=="function"||!sc,value:xf||zs,onChange:function(Nl){Du(Nl.target.value)},autoFocus:Po,placeholder:vr(Qi,0)||"",ref:ae},fd,$d,{autoComplete:So}))),je.createElement("div",{className:"".concat(sr,"-range-separator"),ref:Or},Xr),je.createElement("div",{className:It()("".concat(sr,"-input"),(kt={},(0,Cn.Z)(kt,"".concat(sr,"-input-active"),Tr===1),(0,Cn.Z)(kt,"".concat(sr,"-input-placeholder"),!!za),kt)),ref:Dn},je.createElement("input",(0,Mt.Z)({disabled:ze[1],readOnly:un||typeof xe[0]=="function"||!Vc,value:za||mc,onChange:function(Nl){Tc(Nl.target.value)},placeholder:vr(Qi,1)||"",ref:de},bu,$d,{autoComplete:So}))),je.createElement("div",{className:"".concat(sr,"-active-bar"),style:(0,Pn.Z)((0,Pn.Z)({},Qf),{},{width:Zf,position:"absolute"})}),Yc,hd&&Sc)))}var zl=function(Pe){(0,sn.Z)(Ze,Pe);var Xe=(0,An.Z)(Ze);function Ze(){var kt;(0,Nt.Z)(this,Ze);for(var zt=arguments.length,cr=new Array(zt),sr=0;sr{const{lineHeight:zt}=Pe,cr=Math.floor(Ze*zt)+2,sr=Math.max((Xe-cr)/2,0),Yr=Math.max(Xe-cr-sr,0);return{padding:`${sr}px ${kt}px ${Yr}px`}},Ql=Pe=>{const{componentCls:Xe,pickerCellCls:Ze,pickerCellInnerCls:kt,cellHeight:zt,motionDurationSlow:cr,borderRadiusSM:sr,motionDurationMid:Yr,cellHoverBg:Wr,lineWidth:di,lineType:ha,colorPrimary:Ei,cellActiveWithRangeBg:Bi,colorTextLightSolid:Oi,controlHeightSM:Yi,cellRangeBorderColor:Er,pickerCellBorderGap:_r,cellHoverWithRangeBg:Qi,cellWidth:Po,colorTextDisabled:Ua,cellBgDisabled:Do}=Pe;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:zt,transform:"translateY(-50%)",transition:`all ${cr}`,content:'""'},[kt]:{position:"relative",zIndex:2,display:"inline-block",minWidth:zt,height:zt,lineHeight:`${zt}px`,borderRadius:sr,transition:`background ${Yr}, border ${Yr}`},"&-range-hover-start, &-range-hover-end":{[kt]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:hover:not(${Ze}-in-view), + &:hover:not(${Ze}-selected):not(${Ze}-range-start):not(${Ze}-range-end):not(${Ze}-range-hover-start):not(${Ze}-range-hover-end)`]:{[kt]:{background:Wr}},[`&-in-view${Ze}-today ${kt}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${di}px ${ha} ${Ei}`,borderRadius:sr,content:'""'}},[`&-in-view${Ze}-in-range`]:{position:"relative","&::before":{background:Bi}},[`&-in-view${Ze}-selected ${kt}, + &-in-view${Ze}-range-start ${kt}, + &-in-view${Ze}-range-end ${kt}`]:{color:Oi,background:Ei},[`&-in-view${Ze}-range-start:not(${Ze}-range-start-single), + &-in-view${Ze}-range-end:not(${Ze}-range-end-single)`]:{"&::before":{background:Bi}},[`&-in-view${Ze}-range-start::before`]:{insetInlineStart:"50%"},[`&-in-view${Ze}-range-end::before`]:{insetInlineEnd:"50%"},[`&-in-view${Ze}-range-hover-start:not(${Ze}-in-range):not(${Ze}-range-start):not(${Ze}-range-end), + &-in-view${Ze}-range-hover-end:not(${Ze}-in-range):not(${Ze}-range-start):not(${Ze}-range-end), + &-in-view${Ze}-range-hover-start${Ze}-range-start-single, + &-in-view${Ze}-range-hover-start${Ze}-range-start${Ze}-range-end${Ze}-range-end-near-hover, + &-in-view${Ze}-range-hover-end${Ze}-range-start${Ze}-range-end${Ze}-range-start-near-hover, + &-in-view${Ze}-range-hover-end${Ze}-range-end-single, + &-in-view${Ze}-range-hover:not(${Ze}-in-range)`]:{"&::after":{position:"absolute",top:"50%",zIndex:0,height:Yi,borderTop:`${di}px dashed ${Er}`,borderBottom:`${di}px dashed ${Er}`,transform:"translateY(-50%)",transition:`all ${cr}`,content:'""'}},"&-range-hover-start::after,\n &-range-hover-end::after,\n &-range-hover::after":{insetInlineEnd:0,insetInlineStart:_r},[`&-in-view${Ze}-in-range${Ze}-range-hover::before, + &-in-view${Ze}-in-range${Ze}-range-hover-start::before, + &-in-view${Ze}-in-range${Ze}-range-hover-end::before, + &-in-view${Ze}-range-start${Ze}-range-hover::before, + &-in-view${Ze}-range-end${Ze}-range-hover::before, + &-in-view${Ze}-range-start:not(${Ze}-range-start-single)${Ze}-range-hover-start::before, + &-in-view${Ze}-range-end:not(${Ze}-range-end-single)${Ze}-range-hover-end::before, + ${Xe}-panel + > :not(${Xe}-date-panel) + &-in-view${Ze}-in-range${Ze}-range-hover-start::before, + ${Xe}-panel + > :not(${Xe}-date-panel) + &-in-view${Ze}-in-range${Ze}-range-hover-end::before`]:{background:Qi},[`&-in-view${Ze}-range-start:not(${Ze}-range-start-single):not(${Ze}-range-end) ${kt}`]:{borderStartStartRadius:sr,borderEndStartRadius:sr,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${Ze}-range-end:not(${Ze}-range-end-single):not(${Ze}-range-start) ${kt}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:sr,borderEndEndRadius:sr},[`&-range-hover${Ze}-range-end::after`]:{insetInlineStart:"50%"},[`tr > &-in-view${Ze}-range-hover:first-child::after, + tr > &-in-view${Ze}-range-hover-end:first-child::after, + &-in-view${Ze}-start${Ze}-range-hover-edge-start${Ze}-range-hover-edge-start-near-range::after, + &-in-view${Ze}-range-hover-edge-start:not(${Ze}-range-hover-edge-start-near-range)::after, + &-in-view${Ze}-range-hover-start::after`]:{insetInlineStart:(Po-zt)/2,borderInlineStart:`${di}px dashed ${Er}`,borderStartStartRadius:sr,borderEndStartRadius:sr},[`tr > &-in-view${Ze}-range-hover:last-child::after, + tr > &-in-view${Ze}-range-hover-start:last-child::after, + &-in-view${Ze}-end${Ze}-range-hover-edge-end${Ze}-range-hover-edge-end-near-range::after, + &-in-view${Ze}-range-hover-edge-end:not(${Ze}-range-hover-edge-end-near-range)::after, + &-in-view${Ze}-range-hover-end::after`]:{insetInlineEnd:(Po-zt)/2,borderInlineEnd:`${di}px dashed ${Er}`,borderStartEndRadius:sr,borderEndEndRadius:sr},"&-disabled":{color:Ua,pointerEvents:"none",[kt]:{background:"transparent"},"&::before":{background:Do}},[`&-disabled${Ze}-today ${kt}::before`]:{borderColor:Ua}}},wu=Pe=>{const{componentCls:Xe,pickerCellCls:Ze,pickerCellInnerCls:kt,pickerYearMonthCellWidth:zt,pickerControlIconSize:cr,cellWidth:sr,paddingSM:Yr,paddingXS:Wr,paddingXXS:di,colorBgContainer:ha,lineWidth:Ei,lineType:Bi,borderRadiusLG:Oi,colorPrimary:Yi,colorTextHeading:Er,colorSplit:_r,pickerControlIconBorderWidth:Qi,colorIcon:Po,textHeight:Ua,motionDurationMid:Do,colorIconHover:ko,fontWeightStrong:co,cellHeight:oo,pickerCellPaddingVertical:ns,colorTextDisabled:yl,colorText:Xr,fontSize:us,cellHoverWithRangeBg:Ms,motionDurationSlow:Us,withoutTimeCellHeight:Ks,pickerQuarterPanelContentHeight:rs,colorLink:ml,colorLinkActive:is,colorLinkHover:ws,cellRangeBorderColor:iu,borderRadiusSM:Ts,colorTextLightSolid:Is,cellHoverBg:Cu,timeColumnHeight:Nu,timeColumnWidth:Ve,timeCellHeight:_e,controlItemBgActive:Pt,marginXXS:Wt,pickerDatePanelPaddingHorizontal:fn}=Pe,un=sr*7+fn*2,qn=(un-Wr*2)/3-zt-Yr,_n=(un-Wr*2)/4-zt;return{[Xe]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:ha,border:`${Ei}px ${Bi} ${_r}`,borderRadius:Oi,outline:"none","&-focused":{borderColor:Yi},"&-rtl":{direction:"rtl",[`${Xe}-prev-icon, + ${Xe}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${Xe}-next-icon, + ${Xe}-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 ${Wr}px`,color:Er,borderBottom:`${Ei}px ${Bi} ${_r}`,"> *":{flex:"none"},button:{padding:0,color:Po,lineHeight:`${Ua}px`,background:"transparent",border:0,cursor:"pointer",transition:`color ${Do}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:us,"&:hover":{color:ko}},"&-view":{flex:"auto",fontWeight:co,lineHeight:`${Ua}px`,button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:Wr},"&:hover":{color:Yi}}}},"&-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:Qi,borderBlockEndWidth:0,borderInlineStartWidth:Qi,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:Qi,borderBlockEndWidth:0,borderInlineStartWidth:Qi,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:oo,fontWeight:"normal"},th:{height:oo+ns*2,color:Xr,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${ns}px 0`,color:yl,cursor:"pointer","&-in-view":{color:Xr}},Ql(Pe)),[`&-date-panel ${Xe}-cell-in-view${Xe}-cell-in-range${Xe}-cell-range-hover-start ${kt}, + &-date-panel ${Xe}-cell-in-view${Xe}-cell-in-range${Xe}-cell-range-hover-end ${kt}`]:{"&::after":{position:"absolute",top:0,bottom:0,zIndex:-1,background:Ms,transition:`all ${Us}`,content:'""'}},[`&-date-panel + ${Xe}-cell-in-view${Xe}-cell-in-range${Xe}-cell-range-hover-start + ${kt}::after`]:{insetInlineEnd:-(sr-oo)/2,insetInlineStart:0},[`&-date-panel ${Xe}-cell-in-view${Xe}-cell-in-range${Xe}-cell-range-hover-end ${kt}::after`]:{insetInlineEnd:0,insetInlineStart:-(sr-oo)/2},[`&-range-hover${Xe}-range-start::after`]:{insetInlineEnd:"50%"},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${Xe}-content`]:{height:Ks*4},[kt]:{padding:`0 ${Wr}px`}},"&-quarter-panel":{[`${Xe}-content`]:{height:rs},[`${Xe}-cell-range-hover-start::after`]:{insetInlineStart:_n,borderInlineStart:`${Ei}px dashed ${iu}`,[`${Xe}-panel-rtl &`]:{insetInlineEnd:_n,borderInlineEnd:`${Ei}px dashed ${iu}`}},[`${Xe}-cell-range-hover-end::after`]:{insetInlineEnd:_n,borderInlineEnd:`${Ei}px dashed ${iu}`,[`${Xe}-panel-rtl &`]:{insetInlineStart:_n,borderInlineStart:`${Ei}px dashed ${iu}`}}},[`&-panel ${Xe}-footer`]:{borderTop:`${Ei}px ${Bi} ${_r}`},"&-footer":{width:"min-content",minWidth:"100%",lineHeight:`${Ua-2*Ei}px`,textAlign:"center","&-extra":{padding:`0 ${Yr}px`,lineHeight:`${Ua-2*Ei}px`,textAlign:"start","&:not(:last-child)":{borderBottom:`${Ei}px ${Bi} ${_r}`}}},"&-now":{textAlign:"start"},"&-today-btn":{color:ml,"&:hover":{color:ws},"&:active":{color:is},[`&${Xe}-today-btn-disabled`]:{color:yl,cursor:"not-allowed"}},"&-decade-panel":{[kt]:{padding:`0 ${Wr/2}px`},[`${Xe}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${Xe}-body`]:{padding:`0 ${Wr}px`},[kt]:{width:zt},[`${Xe}-cell-range-hover-start::after`]:{borderStartStartRadius:Ts,borderEndStartRadius:Ts,borderStartEndRadius:0,borderEndEndRadius:0,[`${Xe}-panel-rtl &`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Ts,borderEndEndRadius:Ts}},[`${Xe}-cell-range-hover-end::after`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Ts,borderEndEndRadius:Ts,[`${Xe}-panel-rtl &`]:{borderStartStartRadius:Ts,borderEndStartRadius:Ts,borderStartEndRadius:0,borderEndEndRadius:0}}},"&-year-panel,\n &-month-panel":{[`${Xe}-cell-range-hover-start::after`]:{insetInlineStart:qn,borderInlineStart:`${Ei}px dashed ${iu}`,[`${Xe}-panel-rtl &`]:{insetInlineEnd:qn,borderInlineEnd:`${Ei}px dashed ${iu}`}},[`${Xe}-cell-range-hover-end::after`]:{insetInlineEnd:qn,borderInlineEnd:`${Ei}px dashed ${iu}`,[`${Xe}-panel-rtl &`]:{insetInlineStart:qn,borderInlineStart:`${Ei}px dashed ${iu}`}}},"&-week-panel":{[`${Xe}-body`]:{padding:`${Wr}px ${Yr}px`},[`${Xe}-cell`]:{[`&:hover ${kt}, + &-selected ${kt}, + ${kt}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${Do}`},"&:first-child:before":{borderStartStartRadius:Ts,borderEndStartRadius:Ts},"&:last-child:before":{borderStartEndRadius:Ts,borderEndEndRadius:Ts}},"&:hover td":{"&:before":{background:Cu}},"&-range-start td,\n &-range-end td,\n &-selected td":{[`&${Ze}`]:{"&:before":{background:Yi},[`&${Xe}-cell-week`]:{color:new Fo.C(Is).setAlpha(.5).toHexString()},[kt]:{color:Is}}},"&-range-hover td:before":{background:Pt}}},"&-date-panel":{[`${Xe}-body`]:{padding:`${Wr}px ${fn}px`},[`${Xe}-content`]:{width:sr*7,th:{width:sr,boxSizing:"border-box",padding:0}}},"&-datetime-panel":{display:"flex",[`${Xe}-time-panel`]:{borderInlineStart:`${Ei}px ${Bi} ${_r}`},[`${Xe}-date-panel, + ${Xe}-time-panel`]:{transition:`opacity ${Us}`},"&-active":{[`${Xe}-date-panel, + ${Xe}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${Xe}-content`]:{display:"flex",flex:"auto",height:Nu},"&-column":{flex:"1 0 auto",width:Ve,margin:`${di}px 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${Do}`,overflowX:"hidden","&::after":{display:"block",height:Nu-_e,content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ei}px ${Bi} ${_r}`},"&-active":{background:new Fo.C(Pt).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${Xe}-time-panel-cell`]:{marginInline:Wt,[`${Xe}-time-panel-cell-inner`]:{display:"block",width:Ve-2*Wt,height:_e,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:(Ve-_e)/2,color:Xr,lineHeight:`${_e}px`,borderRadius:Ts,cursor:"pointer",transition:`background ${Do}`,"&:hover":{background:Cu}},"&-selected":{[`${Xe}-time-panel-cell-inner`]:{background:Pt}},"&-disabled":{[`${Xe}-time-panel-cell-inner`]:{color:yl,background:"transparent",cursor:"not-allowed"}}}}}},[`&-datetime-panel ${Xe}-time-panel-column:after`]:{height:Nu-_e+di*2}}}},hu=Pe=>{const{componentCls:Xe,colorBgContainer:Ze,colorError:kt,errorActiveShadow:zt,colorWarning:cr,warningActiveShadow:sr}=Pe;return{[`${Xe}:not(${Xe}-disabled)`]:{[`&${Xe}-status-error`]:{"&, &:not([disabled]):hover":{backgroundColor:Ze,borderColor:kt},[`&${Xe}-focused, &:focus`]:Object.assign({},(0,fs.M1)((0,Ku.TS)(Pe,{activeBorderColor:kt,activeShadow:zt}))),[`${Xe}-active-bar`]:{background:kt}},[`&${Xe}-status-warning`]:{"&, &:not([disabled]):hover":{backgroundColor:Ze,borderColor:cr},[`&${Xe}-focused, &:focus`]:Object.assign({},(0,fs.M1)((0,Ku.TS)(Pe,{activeBorderColor:cr,activeShadow:sr}))),[`${Xe}-active-bar`]:{background:cr}}}}},Wi=Pe=>{const{componentCls:Xe,antCls:Ze,controlHeight:kt,fontSize:zt,paddingInline:cr,colorBgContainer:sr,lineWidth:Yr,lineType:Wr,colorBorder:di,borderRadius:ha,motionDurationMid:Ei,colorBgContainerDisabled:Bi,colorTextDisabled:Oi,colorTextPlaceholder:Yi,controlHeightLG:Er,fontSizeLG:_r,controlHeightSM:Qi,paddingInlineSM:Po,paddingXS:Ua,marginXS:Do,colorTextDescription:ko,lineWidthBold:co,lineHeight:oo,colorPrimary:ns,motionDurationSlow:yl,zIndexPopup:Xr,paddingXXS:us,paddingSM:Ms,textHeight:Us,cellActiveWithRangeBg:Ks,colorPrimaryBorder:rs,sizePopupArrow:ml,borderRadiusXS:is,borderRadiusOuter:ws,colorBgElevated:iu,borderRadiusLG:Ts,boxShadowSecondary:Is,borderRadiusSM:Cu,colorSplit:Nu,cellHoverBg:Ve,presetsWidth:_e,presetsMaxWidth:Pt,boxShadowPopoverArrow:Wt,colorTextQuaternary:fn}=Pe;return[{[Xe]:Object.assign(Object.assign(Object.assign({},(0,Kl.Wf)(Pe)),Ds(Pe,kt,zt,cr)),{position:"relative",display:"inline-flex",alignItems:"center",background:sr,lineHeight:1,border:`${Yr}px ${Wr} ${di}`,borderRadius:ha,transition:`border ${Ei}, box-shadow ${Ei}`,"&:hover, &-focused":Object.assign({},(0,fs.pU)(Pe)),"&-focused":Object.assign({},(0,fs.M1)(Pe)),[`&${Xe}-disabled`]:{background:Bi,borderColor:di,cursor:"not-allowed",[`${Xe}-suffix`]:{color:fn}},[`&${Xe}-borderless`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`${Xe}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({},(0,fs.ik)(Pe)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,borderRadius:0,"&:focus":{boxShadow:"none"},"&[disabled]":{background:"transparent"}}),"&:hover":{[`${Xe}-clear`]:{opacity:1}},"&-placeholder":{"> input":{color:Yi}}},"&-large":Object.assign(Object.assign({},Ds(Pe,Er,_r,cr)),{[`${Xe}-input > input`]:{fontSize:_r}}),"&-small":Object.assign({},Ds(Pe,Qi,zt,Po)),[`${Xe}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:Ua/2,color:Oi,lineHeight:1,pointerEvents:"none","> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:Do}}},[`${Xe}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:Oi,lineHeight:1,background:sr,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${Ei}, color ${Ei}`,"> *":{verticalAlign:"top"},"&:hover":{color:ko}},[`${Xe}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:_r,color:Oi,fontSize:_r,verticalAlign:"top",cursor:"default",[`${Xe}-focused &`]:{color:ko},[`${Xe}-range-separator &`]:{[`${Xe}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${Xe}-clear`]:{insetInlineEnd:cr},"&:hover":{[`${Xe}-clear`]:{opacity:1}},[`${Xe}-active-bar`]:{bottom:-Yr,height:co,marginInlineStart:cr,background:ns,opacity:0,transition:`all ${yl} ease-out`,pointerEvents:"none"},[`&${Xe}-focused`]:{[`${Xe}-active-bar`]:{opacity:1}},[`${Xe}-range-separator`]:{alignItems:"center",padding:`0 ${Ua}px`,lineHeight:1},[`&${Xe}-small`]:{[`${Xe}-clear`]:{insetInlineEnd:Po},[`${Xe}-active-bar`]:{marginInlineStart:Po}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},(0,Kl.Wf)(Pe)),wu(Pe)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:Xr,[`&${Xe}-dropdown-hidden`]:{display:"none"},[`&${Xe}-dropdown-placement-bottomLeft`]:{[`${Xe}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${Xe}-dropdown-placement-topLeft`]:{[`${Xe}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${Ze}-slide-up-enter${Ze}-slide-up-enter-active${Xe}-dropdown-placement-topLeft, + &${Ze}-slide-up-enter${Ze}-slide-up-enter-active${Xe}-dropdown-placement-topRight, + &${Ze}-slide-up-appear${Ze}-slide-up-appear-active${Xe}-dropdown-placement-topLeft, + &${Ze}-slide-up-appear${Ze}-slide-up-appear-active${Xe}-dropdown-placement-topRight`]:{animationName:Bo.Qt},[`&${Ze}-slide-up-enter${Ze}-slide-up-enter-active${Xe}-dropdown-placement-bottomLeft, + &${Ze}-slide-up-enter${Ze}-slide-up-enter-active${Xe}-dropdown-placement-bottomRight, + &${Ze}-slide-up-appear${Ze}-slide-up-appear-active${Xe}-dropdown-placement-bottomLeft, + &${Ze}-slide-up-appear${Ze}-slide-up-appear-active${Xe}-dropdown-placement-bottomRight`]:{animationName:Bo.fJ},[`&${Ze}-slide-up-leave${Ze}-slide-up-leave-active${Xe}-dropdown-placement-topLeft, + &${Ze}-slide-up-leave${Ze}-slide-up-leave-active${Xe}-dropdown-placement-topRight`]:{animationName:Bo.ly},[`&${Ze}-slide-up-leave${Ze}-slide-up-leave-active${Xe}-dropdown-placement-bottomLeft, + &${Ze}-slide-up-leave${Ze}-slide-up-leave-active${Xe}-dropdown-placement-bottomRight`]:{animationName:Bo.Uw},[`${Xe}-panel > ${Xe}-time-panel`]:{paddingTop:us},[`${Xe}-ranges`]:{marginBottom:0,padding:`${us}px ${Ms}px`,overflow:"hidden",lineHeight:`${Us-2*Yr-Ua/2}px`,textAlign:"start",listStyle:"none",display:"flex",justifyContent:"space-between","> li":{display:"inline-block"},[`${Xe}-preset > ${Ze}-tag-blue`]:{color:ns,background:Ks,borderColor:rs,cursor:"pointer"},[`${Xe}-ok`]:{marginInlineStart:"auto"}},[`${Xe}-range-wrapper`]:{display:"flex",position:"relative"},[`${Xe}-range-arrow`]:Object.assign({position:"absolute",zIndex:1,display:"none",marginInlineStart:cr*1.5,transition:`left ${yl} ease-out`},(0,Fs.r)(ml,is,ws,iu,Wt)),[`${Xe}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:iu,borderRadius:Ts,boxShadow:Is,transition:`margin ${yl}`,[`${Xe}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${Xe}-presets`]:{display:"flex",flexDirection:"column",minWidth:_e,maxWidth:Pt,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:Ua,borderInlineEnd:`${Yr}px ${Wr} ${Nu}`,li:Object.assign(Object.assign({},Kl.vS),{borderRadius:Cu,paddingInline:Ua,paddingBlock:(Qi-Math.round(zt*oo))/2,cursor:"pointer",transition:`all ${yl}`,"+ li":{marginTop:Do},"&:hover":{background:Ve}})}},[`${Xe}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr",[`${Xe}-panel`]:{borderWidth:`0 0 ${Yr}px`},"&:last-child":{[`${Xe}-panel`]:{borderWidth:0}}},[`${Xe}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${Xe}-content, + table`]:{textAlign:"center"},"&-focused":{borderColor:di}}}}),"&-dropdown-range":{padding:`${ml*2/3}px 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${Xe}-separator`]:{transform:"rotate(180deg)"},[`${Xe}-footer`]:{"&-extra":{direction:"rtl"}}}})},(0,Bo.oN)(Pe,"slide-up"),(0,Bo.oN)(Pe,"slide-down"),(0,As.Fm)(Pe,"move-up"),(0,As.Fm)(Pe,"move-down")]},Bl=Pe=>{const{componentCls:Xe,controlHeightLG:Ze,paddingXXS:kt,padding:zt}=Pe;return{pickerCellCls:`${Xe}-cell`,pickerCellInnerCls:`${Xe}-cell-inner`,pickerYearMonthCellWidth:Ze*1.5,pickerQuarterPanelContentHeight:Ze*1.4,pickerCellPaddingVertical:kt+kt/2,pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:zt+kt/2}},io=Pe=>({cellHoverBg:Pe.controlItemBgHover,cellActiveWithRangeBg:Pe.controlItemBgActive,cellHoverWithRangeBg:new Fo.C(Pe.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Fo.C(Pe.colorPrimary).lighten(20).toHexString(),cellBgDisabled:Pe.colorBgContainerDisabled,timeColumnWidth:Pe.controlHeightLG*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:Pe.controlHeightSM*1.5,cellHeight:Pe.controlHeightSM,textHeight:Pe.controlHeightLG,withoutTimeCellHeight:Pe.controlHeightLG*1.65});var Ro=(0,Gr.Z)("DatePicker",Pe=>{const Xe=(0,Ku.TS)((0,fs.e5)(Pe),Bl(Pe));return[Wi(Xe),hu(Xe),(0,eo.c)(Pe,{focusElCls:`${Pe.componentCls}-focused`})]},Pe=>Object.assign(Object.assign(Object.assign({},(0,fs.TM)(Pe)),io(Pe)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:Pe.zIndexPopupBase+50}));function hs(Pe,Xe,Ze){return Ze!==void 0?Ze:Xe==="year"&&Pe.lang.yearPlaceholder?Pe.lang.yearPlaceholder:Xe==="quarter"&&Pe.lang.quarterPlaceholder?Pe.lang.quarterPlaceholder:Xe==="month"&&Pe.lang.monthPlaceholder?Pe.lang.monthPlaceholder:Xe==="week"&&Pe.lang.weekPlaceholder?Pe.lang.weekPlaceholder:Xe==="time"&&Pe.timePickerLocale.placeholder?Pe.timePickerLocale.placeholder:Pe.lang.placeholder}function xs(Pe,Xe,Ze){return Ze!==void 0?Ze:Xe==="year"&&Pe.lang.yearPlaceholder?Pe.lang.rangeYearPlaceholder:Xe==="quarter"&&Pe.lang.quarterPlaceholder?Pe.lang.rangeQuarterPlaceholder:Xe==="month"&&Pe.lang.monthPlaceholder?Pe.lang.rangeMonthPlaceholder:Xe==="week"&&Pe.lang.weekPlaceholder?Pe.lang.rangeWeekPlaceholder:Xe==="time"&&Pe.timePickerLocale.placeholder?Pe.timePickerLocale.rangePlaceholder:Pe.lang.rangePlaceholder}function vl(Pe,Xe){const Ze={adjustX:1,adjustY:1};switch(Xe){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:Ze};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:Ze};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:Ze};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:Ze};default:return{points:Pe==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:Ze}}}function jl(Pe){return Pe?Array.isArray(Pe)?Pe:[Pe]:[]}function ts(Pe){const{format:Xe,picker:Ze,showHour:kt,showMinute:zt,showSecond:cr,use12Hours:sr}=Pe,Yr=jl(Xe)[0],Wr=Object.assign({},Pe);return Xe&&Array.isArray(Xe)&&(Wr.format=Yr),Yr&&typeof Yr=="string"&&(!Yr.includes("s")&&cr===void 0&&(Wr.showSecond=!1),!Yr.includes("m")&&zt===void 0&&(Wr.showMinute=!1),!Yr.includes("H")&&!Yr.includes("h")&&!Yr.includes("K")&&!Yr.includes("k")&&kt===void 0&&(Wr.showHour=!1),(Yr.includes("a")||Yr.includes("A"))&&sr===void 0&&(Wr.use12Hours=!0)),Ze==="time"?Wr:(typeof Yr=="function"&&delete Wr.format,{showTime:Wr})}function Ss(Pe,Xe,Ze){if(Pe===!1)return!1;const kt={clearIcon:Xe!=null?Xe:Ze};return typeof Pe=="object"?Object.assign(Object.assign({},kt),Pe):kt}var ks=ie(3113);function vs(Pe){return je.createElement(ks.ZP,Object.assign({size:"small",type:"primary"},Pe))}var $u={button:vs},Wu=function(Pe,Xe){var Ze={};for(var kt in Pe)Object.prototype.hasOwnProperty.call(Pe,kt)&&Xe.indexOf(kt)<0&&(Ze[kt]=Pe[kt]);if(Pe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var zt=0,kt=Object.getOwnPropertySymbols(Pe);zt{const{prefixCls:zt,getPopupContainer:cr,className:sr,placement:Yr,size:Wr,disabled:di,bordered:ha=!0,placeholder:Ei,popupClassName:Bi,dropdownClassName:Oi,status:Yi,clearIcon:Er,allowClear:_r,rootClassName:Qi}=Ze,Po=Wu(Ze,["prefixCls","getPopupContainer","className","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","clearIcon","allowClear","rootClassName"]),Ua=je.useRef(null),{getPrefixCls:Do,direction:ko,getPopupContainer:co}=(0,je.useContext)(ps.E_),oo=Do("picker",zt),{compactSize:ns,compactItemClassnames:yl}=(0,ru.ri)(oo,ko),{format:Xr,showTime:us,picker:Ms}=Ze,Us=Do(),[Ks,rs]=Ro(oo),ml=Object.assign(Object.assign({},us?ts(Object.assign({format:Xr,picker:Ms},us)):{}),Ms==="time"?ts(Object.assign(Object.assign({format:Xr},Ze),{picker:Ms})):{}),is=(0,La.Z)(Wt=>{var fn;return(fn=Wr!=null?Wr:ns)!==null&&fn!==void 0?fn:Wt}),ws=je.useContext(wo.Z),iu=di!=null?di:ws,Ts=(0,je.useContext)(Ca.aM),{hasFeedback:Is,status:Cu,feedbackIcon:Nu}=Ts,Ve=je.createElement(je.Fragment,null,Ms==="time"?je.createElement(tn,null):je.createElement(We,null),Is&&Nu);(0,je.useImperativeHandle)(kt,()=>({focus:()=>{var Wt;return(Wt=Ua.current)===null||Wt===void 0?void 0:Wt.focus()},blur:()=>{var Wt;return(Wt=Ua.current)===null||Wt===void 0?void 0:Wt.blur()}}));const[_e]=(0,ql.Z)("Calendar",Mu.Z),Pt=Object.assign(Object.assign({},_e),Ze.locale);return Ks(je.createElement(il,Object.assign({separator:je.createElement("span",{"aria-label":"to",className:`${oo}-separator`},je.createElement(Cr,null)),disabled:iu,ref:Ua,dropdownAlign:vl(ko,Yr),placeholder:xs(Pt,Ms,Ei),suffixIcon:Ve,prevIcon:je.createElement("span",{className:`${oo}-prev-icon`}),nextIcon:je.createElement("span",{className:`${oo}-next-icon`}),superPrevIcon:je.createElement("span",{className:`${oo}-super-prev-icon`}),superNextIcon:je.createElement("span",{className:`${oo}-super-next-icon`}),transitionName:`${Us}-slide-up`},Po,ml,{className:It()({[`${oo}-${is}`]:is,[`${oo}-borderless`]:!ha},(0,Ps.Z)(oo,(0,Ps.F)(Cu,Yi),Is),rs,yl,sr,Qi),locale:Pt.lang,prefixCls:oo,getPopupContainer:cr||co,generateConfig:Pe,components:$u,direction:ko,dropdownClassName:It()(rs,Bi||Oi,Qi),allowClear:Ss(_r,Er,je.createElement(lr.Z,null))})))})}var to=function(Pe,Xe){var Ze={};for(var kt in Pe)Object.prototype.hasOwnProperty.call(Pe,kt)&&Xe.indexOf(kt)<0&&(Ze[kt]=Pe[kt]);if(Pe!=null&&typeof Object.getOwnPropertySymbols=="function")for(var zt=0,kt=Object.getOwnPropertySymbols(Pe);zt{const{prefixCls:Yi,getPopupContainer:Er,style:_r,className:Qi,rootClassName:Po,size:Ua,bordered:Do=!0,placement:ko,placeholder:co,popupClassName:oo,dropdownClassName:ns,disabled:yl,status:Xr,clearIcon:us,allowClear:Ms}=Bi,Us=to(Bi,["prefixCls","getPopupContainer","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","clearIcon","allowClear"]),{getPrefixCls:Ks,direction:rs,getPopupContainer:ml,[ha]:is}=(0,je.useContext)(ps.E_),ws=Ks("picker",Yi),{compactSize:iu,compactItemClassnames:Ts}=(0,ru.ri)(ws,rs),Is=je.useRef(null),{format:Cu,showTime:Nu}=Bi,[Ve,_e]=Ro(ws);(0,je.useImperativeHandle)(Oi,()=>({focus:()=>{var Fi;return(Fi=Is.current)===null||Fi===void 0?void 0:Fi.focus()},blur:()=>{var Fi;return(Fi=Is.current)===null||Fi===void 0?void 0:Fi.blur()}}));const Pt={showToday:!0};let Wt={};Wr&&(Wt.picker=Wr);const fn=Wr||Bi.picker;Wt=Object.assign(Object.assign(Object.assign({},Wt),Nu?ts(Object.assign({format:Cu,picker:fn},Nu)):{}),fn==="time"?ts(Object.assign(Object.assign({format:Cu},Bi),{picker:fn})):{});const un=Ks(),qn=(0,La.Z)(Fi=>{var ya;return(ya=Ua!=null?Ua:iu)!==null&&ya!==void 0?ya:Fi}),_n=je.useContext(wo.Z),Xn=yl!=null?yl:_n,Lr=(0,je.useContext)(Ca.aM),{hasFeedback:Sr,status:Ir,feedbackIcon:mi}=Lr,pi=je.createElement(je.Fragment,null,fn==="time"?je.createElement(tn,null):je.createElement(We,null),Sr&&mi),[xi]=(0,ql.Z)("DatePicker",Mu.Z),Ri=Object.assign(Object.assign({},xi),Bi.locale);return Ve(je.createElement(Hl,Object.assign({ref:Is,placeholder:hs(Ri,fn,co),suffixIcon:pi,dropdownAlign:vl(rs,ko),prevIcon:je.createElement("span",{className:`${ws}-prev-icon`}),nextIcon:je.createElement("span",{className:`${ws}-next-icon`}),superPrevIcon:je.createElement("span",{className:`${ws}-super-prev-icon`}),superNextIcon:je.createElement("span",{className:`${ws}-super-next-icon`}),transitionName:`${un}-slide-up`},Pt,Us,Wt,{locale:Ri.lang,className:It()({[`${ws}-${qn}`]:qn,[`${ws}-borderless`]:!Do},(0,Ps.Z)(ws,(0,Ps.F)(Ir,Xr),Sr),_e,Ts,is==null?void 0:is.className,Qi,Po),style:Object.assign(Object.assign({},is==null?void 0:is.style),_r),prefixCls:ws,getPopupContainer:Er||ml,generateConfig:Pe,components:$u,direction:rs,disabled:Xn,dropdownClassName:It()(_e,Po,oo||ns),allowClear:Ss(Ms,us,je.createElement(lr.Z,null))})))});return di&&(Ei.displayName=di),Ei}const Ze=Xe(),kt=Xe("week","WeekPicker"),zt=Xe("month","MonthPicker"),cr=Xe("year","YearPicker"),sr=Xe("time","TimePicker"),Yr=Xe("quarter","QuarterPicker");return{DatePicker:Ze,WeekPicker:kt,MonthPicker:zt,YearPicker:cr,TimePicker:sr,QuarterPicker:Yr}}const pu=null;function kl(Pe){const{DatePicker:Xe,WeekPicker:Ze,MonthPicker:kt,YearPicker:zt,TimePicker:cr,QuarterPicker:sr}=Al(Pe),Yr=ss(Pe),Wr=Xe;return Wr.WeekPicker=Ze,Wr.MonthPicker=kt,Wr.YearPicker=zt,Wr.RangePicker=Yr,Wr.TimePicker=cr,Wr.QuarterPicker=sr,Wr}var Gs=kl;const ri=Gs(Ut);function sa(Pe){const Xe=vl(Pe.direction,Pe.placement);return Xe.overflow.adjustY=!1,Xe.overflow.adjustX=!1,Object.assign(Object.assign({},Pe),{dropdownAlign:Xe})}const Zl=(0,At.Z)(ri,"picker",null,sa);ri._InternalPanelDoNotUseOrYouWillBeFired=Zl;const $l=(0,At.Z)(ri.RangePicker,"picker",null,sa);ri._InternalRangePanelDoNotUseOrYouWillBeFired=$l,ri.generatePicker=Gs;var ys=ri},43428:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Cn}});var ee=ie(92310),Oe=ie.n(ee),st=ie(85899),yt=ie(72190),Qe=ie(43403),Je=ie(34280),ye=ie(59301),Se=ye.createContext(null),He=ye.createContext({}),pt=Se,tt=ie(18642),ut=ie(60499),ht=ie(77900),ot=ie(10228),Fe=ie(26112),qe=ie(70425),St=function(Ln){var Te=Ln.prefixCls,ve=Ln.className,he=Ln.style,we=Ln.children,Re=Ln.containerRef,fe=Ln.id,wt=Ln.onMouseEnter,en=Ln.onMouseOver,mt=Ln.onMouseLeave,xt=Ln.onClick,On=Ln.onKeyDown,yn=Ln.onKeyUp,Qt={onMouseEnter:wt,onMouseOver:en,onMouseLeave:mt,onClick:xt,onKeyDown:On,onKeyUp:yn},pr=ye.useContext(He),Vr=pr.panel,vn=(0,qe.useComposeRef)(Vr,Re);return ye.createElement(ye.Fragment,null,ye.createElement("div",(0,ut.Z)({id:fe,className:Oe()("".concat(Te,"-content"),ve),style:(0,st.Z)({},he),"aria-modal":"true",role:"dialog",ref:vn},Qt),we))},jt=St,Lt=ie(48736);function Ut(Pn){return typeof Pn=="string"&&String(Number(Pn))===Pn?((0,Lt.ZP)(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(Pn)):Pn}function At(Pn){warning(!("wrapperClassName"in Pn),"'wrapperClassName' is removed. Please use 'rootClassName' instead."),warning(canUseDom()||!Pn.open,"Drawer with 'open' in SSR is not work since no place to createPortal. Please move to 'useEffect' instead.")}var Mt={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function je(Pn,Ln){var Te,ve,he,we,Re=Pn.prefixCls,fe=Pn.open,wt=Pn.placement,en=Pn.inline,mt=Pn.push,xt=Pn.forceRender,On=Pn.autoFocus,yn=Pn.keyboard,Qt=Pn.rootClassName,pr=Pn.rootStyle,Vr=Pn.zIndex,vn=Pn.className,dr=Pn.id,ei=Pn.style,Ht=Pn.motion,Tt=Pn.width,qt=Pn.height,Un=Pn.children,nr=Pn.contentWrapperStyle,Jr=Pn.mask,Ii=Pn.maskClosable,ii=Pn.maskMotion,ea=Pn.maskClassName,vo=Pn.maskStyle,Ha=Pn.afterOpenChange,Hi=Pn.onClose,wi=Pn.onMouseEnter,Zo=Pn.onMouseOver,yo=Pn.onMouseLeave,Pa=Pn.onClick,Na=Pn.onKeyDown,Br=Pn.onKeyUp,Tn=ye.useRef(),Fr=ye.useRef(),ki=ye.useRef();ye.useImperativeHandle(Ln,function(){return Tn.current});var Vt=function(fr){var vr=fr.keyCode,qr=fr.shiftKey;switch(vr){case ot.Z.TAB:{if(vr===ot.Z.TAB){if(!qr&&document.activeElement===ki.current){var Xi;(Xi=Fr.current)===null||Xi===void 0||Xi.focus({preventScroll:!0})}else if(qr&&document.activeElement===Fr.current){var Nr;(Nr=ki.current)===null||Nr===void 0||Nr.focus({preventScroll:!0})}}break}case ot.Z.ESC:{Hi&&yn&&(fr.stopPropagation(),Hi(fr));break}}};ye.useEffect(function(){if(fe&&On){var Ar;(Ar=Tn.current)===null||Ar===void 0||Ar.focus({preventScroll:!0})}},[fe]);var Vn=ye.useState(!1),wr=(0,yt.Z)(Vn,2),Yn=wr[0],Pr=wr[1],br=ye.useContext(pt),kr;mt===!1?kr={distance:0}:mt===!0?kr={}:kr=mt||{};var vi=(Te=(ve=(he=kr)===null||he===void 0?void 0:he.distance)!==null&&ve!==void 0?ve:br==null?void 0:br.pushDistance)!==null&&Te!==void 0?Te:180,at=ye.useMemo(function(){return{pushDistance:vi,push:function(){Pr(!0)},pull:function(){Pr(!1)}}},[vi]);ye.useEffect(function(){if(fe){var Ar;br==null||(Ar=br.push)===null||Ar===void 0||Ar.call(br)}else{var fr;br==null||(fr=br.pull)===null||fr===void 0||fr.call(br)}},[fe]),ye.useEffect(function(){return function(){var Ar;br==null||(Ar=br.pull)===null||Ar===void 0||Ar.call(br)}},[]);var De=Jr&&ye.createElement(ht.default,(0,ut.Z)({key:"mask"},ii,{visible:fe}),function(Ar,fr){var vr=Ar.className,qr=Ar.style;return ye.createElement("div",{className:Oe()("".concat(Re,"-mask"),vr,ea),style:(0,st.Z)((0,st.Z)({},qr),vo),onClick:Ii&&fe?Hi:void 0,ref:fr})}),nt=typeof Ht=="function"?Ht(wt):Ht,Ot={};if(Yn&&vi)switch(wt){case"top":Ot.transform="translateY(".concat(vi,"px)");break;case"bottom":Ot.transform="translateY(".concat(-vi,"px)");break;case"left":Ot.transform="translateX(".concat(vi,"px)");break;default:Ot.transform="translateX(".concat(-vi,"px)");break}wt==="left"||wt==="right"?Ot.width=Ut(Tt):Ot.height=Ut(qt);var xn={onMouseEnter:wi,onMouseOver:Zo,onMouseLeave:yo,onClick:Pa,onKeyDown:Na,onKeyUp:Br},wn=ye.createElement(ht.default,(0,ut.Z)({key:"panel"},nt,{visible:fe,forceRender:xt,onVisibleChanged:function(fr){Ha==null||Ha(fr)},removeOnLeave:!1,leavedClassName:"".concat(Re,"-content-wrapper-hidden")}),function(Ar,fr){var vr=Ar.className,qr=Ar.style;return ye.createElement("div",(0,ut.Z)({className:Oe()("".concat(Re,"-content-wrapper"),vr),style:(0,st.Z)((0,st.Z)((0,st.Z)({},Ot),qr),nr)},(0,Fe.Z)(Pn,{data:!0})),ye.createElement(jt,(0,ut.Z)({id:dr,containerRef:fr,prefixCls:Re,className:vn,style:ei},xn),Un))}),gr=(0,st.Z)({},pr);return Vr&&(gr.zIndex=Vr),ye.createElement(pt.Provider,{value:at},ye.createElement("div",{className:Oe()(Re,"".concat(Re,"-").concat(wt),Qt,(we={},(0,tt.Z)(we,"".concat(Re,"-open"),fe),(0,tt.Z)(we,"".concat(Re,"-inline"),en),we)),style:gr,tabIndex:-1,ref:Tn,onKeyDown:Vt},De,ye.createElement("div",{tabIndex:0,ref:Fr,style:Mt,"aria-hidden":"true","data-sentinel":"start"}),wn,ye.createElement("div",{tabIndex:0,ref:ki,style:Mt,"aria-hidden":"true","data-sentinel":"end"})))}var gn=ye.forwardRef(je),Nn=gn,rn=function(Ln){var Te=Ln.open,ve=Te===void 0?!1:Te,he=Ln.prefixCls,we=he===void 0?"rc-drawer":he,Re=Ln.placement,fe=Re===void 0?"right":Re,wt=Ln.autoFocus,en=wt===void 0?!0:wt,mt=Ln.keyboard,xt=mt===void 0?!0:mt,On=Ln.width,yn=On===void 0?378:On,Qt=Ln.mask,pr=Qt===void 0?!0:Qt,Vr=Ln.maskClosable,vn=Vr===void 0?!0:Vr,dr=Ln.getContainer,ei=Ln.forceRender,Ht=Ln.afterOpenChange,Tt=Ln.destroyOnClose,qt=Ln.onMouseEnter,Un=Ln.onMouseOver,nr=Ln.onMouseLeave,Jr=Ln.onClick,Ii=Ln.onKeyDown,ii=Ln.onKeyUp,ea=Ln.panelRef,vo=ye.useState(!1),Ha=(0,yt.Z)(vo,2),Hi=Ha[0],wi=Ha[1],Zo=ye.useState(!1),yo=(0,yt.Z)(Zo,2),Pa=yo[0],Na=yo[1];(0,Je.Z)(function(){Na(!0)},[]);var Br=Pa?ve:!1,Tn=ye.useRef(),Fr=ye.useRef();(0,Je.Z)(function(){Br&&(Fr.current=document.activeElement)},[Br]);var ki=function(Pr){var br;if(wi(Pr),Ht==null||Ht(Pr),!Pr&&Fr.current&&!((br=Tn.current)!==null&&br!==void 0&&br.contains(Fr.current))){var kr;(kr=Fr.current)===null||kr===void 0||kr.focus({preventScroll:!0})}},Vt=ye.useMemo(function(){return{panel:ea}},[ea]);if(!ei&&!Hi&&!Br&&Tt)return null;var Vn={onMouseEnter:qt,onMouseOver:Un,onMouseLeave:nr,onClick:Jr,onKeyDown:Ii,onKeyUp:ii},wr=(0,st.Z)((0,st.Z)({},Ln),{},{open:Br,prefixCls:we,placement:fe,autoFocus:en,keyboard:xt,width:yn,mask:pr,maskClosable:vn,inline:dr===!1,afterOpenChange:ki,ref:Tn},Vn);return ye.createElement(He.Provider,{value:Vt},ye.createElement(Qe.Z,{open:Br||ei||Hi,autoDestroy:!1,getContainer:dr,autoLock:pr&&(Br||Hi)},ye.createElement(Nn,wr)))},Et=rn,_t=Et,We=ie(62892),Rt=ie(36355),lt=ie(32441),dn=ie(47729),tn=Pn=>{const{prefixCls:Ln,title:Te,footer:ve,extra:he,closeIcon:we,closable:Re,onClose:fe,headerStyle:wt,drawerStyle:en,bodyStyle:mt,footerStyle:xt,children:On}=Pn,yn=ye.useCallback(dr=>ye.createElement("button",{type:"button",onClick:fe,"aria-label":"Close",className:`${Ln}-close`},dr),[fe]),[Qt,pr]=(0,dn.Z)(Re,we,yn,void 0,!0),Vr=ye.useMemo(()=>!Te&&!Qt?null:ye.createElement("div",{style:wt,className:Oe()(`${Ln}-header`,{[`${Ln}-header-close-only`]:Qt&&!Te&&!he})},ye.createElement("div",{className:`${Ln}-header-title`},pr,Te&&ye.createElement("div",{className:`${Ln}-title`},Te)),he&&ye.createElement("div",{className:`${Ln}-extra`},he)),[Qt,pr,he,wt,Ln,Te]),vn=ye.useMemo(()=>{if(!ve)return null;const dr=`${Ln}-footer`;return ye.createElement("div",{className:dr,style:xt},ve)},[ve,xt,Ln]);return ye.createElement("div",{className:`${Ln}-wrapper-body`,style:en},Vr,ye.createElement("div",{className:`${Ln}-body`,style:mt},On),vn)},lr=ie(33234),Dr=ie(83116),ft=ie(37613),Gt=Pn=>{const{componentCls:Ln,motionDurationSlow:Te}=Pn,ve={"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${Te}`}}};return{[Ln]:{[`${Ln}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${Te}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${Ln}-panel-motion`]:{"&-left":[ve,{"&-enter, &-appear":{"&-start":{transform:"translateX(-100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(-100%)"}}}],"&-right":[ve,{"&-enter, &-appear":{"&-start":{transform:"translateX(100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(100%)"}}}],"&-top":[ve,{"&-enter, &-appear":{"&-start":{transform:"translateY(-100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(-100%)"}}}],"&-bottom":[ve,{"&-enter, &-appear":{"&-start":{transform:"translateY(100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(100%)"}}}]}}}};const Cr=Pn=>{const{componentCls:Ln,zIndexPopup:Te,colorBgMask:ve,colorBgElevated:he,motionDurationSlow:we,motionDurationMid:Re,padding:fe,paddingLG:wt,fontSizeLG:en,lineHeightLG:mt,lineWidth:xt,lineType:On,colorSplit:yn,marginSM:Qt,colorIcon:pr,colorIconHover:Vr,colorText:vn,fontWeightStrong:dr,footerPaddingBlock:ei,footerPaddingInline:Ht}=Pn,Tt=`${Ln}-content-wrapper`;return{[Ln]:{position:"fixed",inset:0,zIndex:Te,pointerEvents:"none","&-pure":{position:"relative",background:he,[`&${Ln}-left`]:{boxShadow:Pn.boxShadowDrawerLeft},[`&${Ln}-right`]:{boxShadow:Pn.boxShadowDrawerRight},[`&${Ln}-top`]:{boxShadow:Pn.boxShadowDrawerUp},[`&${Ln}-bottom`]:{boxShadow:Pn.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${Ln}-mask`]:{position:"absolute",inset:0,zIndex:Te,background:ve,pointerEvents:"auto"},[Tt]:{position:"absolute",zIndex:Te,maxWidth:"100vw",transition:`all ${we}`,"&-hidden":{display:"none"}},[`&-left > ${Tt}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:Pn.boxShadowDrawerLeft},[`&-right > ${Tt}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:Pn.boxShadowDrawerRight},[`&-top > ${Tt}`]:{top:0,insetInline:0,boxShadow:Pn.boxShadowDrawerUp},[`&-bottom > ${Tt}`]:{bottom:0,insetInline:0,boxShadow:Pn.boxShadowDrawerDown},[`${Ln}-content`]:{width:"100%",height:"100%",overflow:"auto",background:he,pointerEvents:"auto"},[`${Ln}-wrapper-body`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%"},[`${Ln}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${fe}px ${wt}px`,fontSize:en,lineHeight:mt,borderBottom:`${xt}px ${On} ${yn}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${Ln}-extra`]:{flex:"none"},[`${Ln}-close`]:{display:"inline-block",marginInlineEnd:Qt,color:pr,fontWeight:dr,fontSize:en,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,outline:0,cursor:"pointer",transition:`color ${Re}`,textRendering:"auto","&:focus, &:hover":{color:Vr,textDecoration:"none"}},[`${Ln}-title`]:{flex:1,margin:0,color:vn,fontWeight:Pn.fontWeightStrong,fontSize:en,lineHeight:mt},[`${Ln}-body`]:{flex:1,minWidth:0,minHeight:0,padding:wt,overflow:"auto"},[`${Ln}-footer`]:{flexShrink:0,padding:`${ei}px ${Ht}px`,borderTop:`${xt}px ${On} ${yn}`},"&-rtl":{direction:"rtl"}}}};var ur=(0,Dr.Z)("Drawer",Pn=>{const Ln=(0,ft.TS)(Pn,{});return[Cr(Ln),Gt(Ln)]},Pn=>({zIndexPopup:Pn.zIndexPopupBase,footerPaddingBlock:Pn.paddingXS,footerPaddingInline:Pn.padding})),It=ie(11575),Nt=function(Pn,Ln){var Te={};for(var ve in Pn)Object.prototype.hasOwnProperty.call(Pn,ve)&&Ln.indexOf(ve)<0&&(Te[ve]=Pn[ve]);if(Pn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var he=0,ve=Object.getOwnPropertySymbols(Pn);he{var Ln;const{rootClassName:Te,width:ve,height:he,size:we="default",mask:Re=!0,push:fe=ir,open:wt,afterOpenChange:en,onClose:mt,prefixCls:xt,getContainer:On,style:yn,className:Qt,visible:pr,afterVisibleChange:Vr}=Pn,vn=Nt(Pn,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange"]),{getPopupContainer:dr,getPrefixCls:ei,direction:Ht,drawer:Tt}=ye.useContext(Rt.E_),qt=ei("drawer",xt),[Un,nr]=ur(qt),Jr=On===void 0&&dr?()=>dr(document.body):On,Ii=Oe()({"no-mask":!Re,[`${qt}-rtl`]:Ht==="rtl"},Te,nr),ii=ye.useMemo(()=>ve!=null?ve:we==="large"?736:378,[ve,we]),ea=ye.useMemo(()=>he!=null?he:we==="large"?736:378,[he,we]),vo={motionName:(0,We.m)(qt,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},Ha=wi=>({motionName:(0,We.m)(qt,`panel-motion-${wi}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),Hi=(0,It.H)();return Un(ye.createElement(lr.BR,null,ye.createElement(lt.Ux,{status:!0,override:!0},ye.createElement(_t,Object.assign({prefixCls:qt,onClose:mt,maskMotion:vo,motion:Ha},vn,{open:wt!=null?wt:pr,mask:Re,push:fe,width:ii,height:ea,style:Object.assign(Object.assign({},Tt==null?void 0:Tt.style),yn),className:Oe()(Tt==null?void 0:Tt.className,Qt),rootClassName:Ii,getContainer:Jr,afterOpenChange:en!=null?en:Vr,panelRef:Hi}),ye.createElement(tn,Object.assign({prefixCls:qt},vn,{onClose:mt}))))))},An=Pn=>{const{prefixCls:Ln,style:Te,className:ve,placement:he="right"}=Pn,we=Nt(Pn,["prefixCls","style","className","placement"]),{getPrefixCls:Re}=ye.useContext(Rt.E_),fe=Re("drawer",Ln),[wt,en]=ur(fe),mt=Oe()(fe,`${fe}-pure`,`${fe}-${he}`,en,ve);return wt(ye.createElement("div",{className:mt,style:Te},ye.createElement(tn,Object.assign({prefixCls:fe},we))))};sn._InternalPanelDoNotUseOrYouWillBeFired=An;var Cn=sn},78241:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return vi}});var ee=ie(77654),Oe=ie(92310),st=ie.n(Oe),yt=ie(77900),Qe=ie(59301),Je=ie(62892),ye=ie(32441);function Se(at){const[De,nt]=Qe.useState(at);return Qe.useEffect(()=>{const Ot=setTimeout(()=>{nt(at)},at.length?0:10);return()=>{clearTimeout(Ot)}},[at]),De}var He=ie(17313),pt=ie(29878),tt=ie(8378),ut=ie(37613),ht=ie(83116),Fe=at=>{const{componentCls:De}=at,nt=`${De}-show-help`,Ot=`${De}-show-help-item`;return{[nt]:{transition:`opacity ${at.motionDurationSlow} ${at.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[Ot]:{overflow:"hidden",transition:`height ${at.motionDurationSlow} ${at.motionEaseInOut}, + opacity ${at.motionDurationSlow} ${at.motionEaseInOut}, + transform ${at.motionDurationSlow} ${at.motionEaseInOut} !important`,[`&${Ot}-appear, &${Ot}-enter`]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},[`&${Ot}-leave-active`]:{transform:"translateY(-5px)"}}}}};const qe=at=>({legend:{display:"block",width:"100%",marginBottom:at.marginLG,padding:0,color:at.colorTextDescription,fontSize:at.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${at.lineWidth}px ${at.lineType} ${at.colorBorder}`},label:{fontSize:at.fontSize},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:`0 0 0 ${at.controlOutlineWidth}px ${at.controlOutline}`},output:{display:"block",paddingTop:15,color:at.colorText,fontSize:at.fontSize,lineHeight:at.lineHeight}}),St=(at,De)=>{const{formItemCls:nt}=at;return{[nt]:{[`${nt}-label > label`]:{height:De},[`${nt}-control-input`]:{minHeight:De}}}},jt=at=>{const{componentCls:De}=at;return{[at.componentCls]:Object.assign(Object.assign(Object.assign({},(0,He.Wf)(at)),qe(at)),{[`${De}-text`]:{display:"inline-block",paddingInlineEnd:at.paddingSM},"&-small":Object.assign({},St(at,at.controlHeightSM)),"&-large":Object.assign({},St(at,at.controlHeightLG))})}},Lt=at=>{const{formItemCls:De,iconCls:nt,componentCls:Ot,rootPrefixCls:xn,labelRequiredMarkColor:wn,labelColor:gr,labelFontSize:Ar,labelHeight:fr,labelColonMarginInlineStart:vr,labelColonMarginInlineEnd:qr,itemMarginBottom:Xi}=at;return{[De]:Object.assign(Object.assign({},(0,He.Wf)(at)),{marginBottom:Xi,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden, + &-hidden.${xn}-row`]:{display:"none"},"&-has-warning":{[`${De}-split`]:{color:at.colorError}},"&-has-error":{[`${De}-split`]:{color:at.colorWarning}},[`${De}-label`]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:`${at.lineHeight} - 0.25em`,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:fr,color:gr,fontSize:Ar,[`> ${nt}`]:{fontSize:at.fontSize,verticalAlign:"top"},[`&${De}-required:not(${De}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:at.marginXXS,color:wn,fontSize:at.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${Ot}-hide-required-mark &`]:{display:"none"}},[`${De}-optional`]:{display:"inline-block",marginInlineStart:at.marginXXS,color:at.colorTextDescription,[`${Ot}-hide-required-mark &`]:{display:"none"}},[`${De}-tooltip`]:{color:at.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:at.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:vr,marginInlineEnd:qr},[`&${De}-no-colon::after`]:{content:'"\\a0"'}}},[`${De}-control`]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${xn}-col-'"]):not([class*="' ${xn}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:at.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[De]:{"&-explain, &-extra":{clear:"both",color:at.colorTextDescription,fontSize:at.fontSize,lineHeight:at.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:at.controlHeightSM,transition:`color ${at.motionDurationMid} ${at.motionEaseOut}`},"&-explain":{"&-error":{color:at.colorError},"&-warning":{color:at.colorWarning}}},[`&-with-help ${De}-explain`]:{height:"auto",opacity:1},[`${De}-feedback-icon`]:{fontSize:at.fontSize,textAlign:"center",visibility:"visible",animationName:pt.kr,animationDuration:at.motionDurationMid,animationTimingFunction:at.motionEaseOutBack,pointerEvents:"none","&-success":{color:at.colorSuccess},"&-error":{color:at.colorError},"&-warning":{color:at.colorWarning},"&-validating":{color:at.colorPrimary}}})}},Ut=at=>{const{componentCls:De,formItemCls:nt}=at;return{[`${De}-horizontal`]:{[`${nt}-label`]:{flexGrow:0},[`${nt}-control`]:{flex:"1 1 0",minWidth:0},[`${nt}-label[class$='-24'], ${nt}-label[class*='-24 ']`]:{[`& + ${nt}-control`]:{minWidth:"unset"}}}}},At=at=>{const{componentCls:De,formItemCls:nt}=at;return{[`${De}-inline`]:{display:"flex",flexWrap:"wrap",[nt]:{flex:"none",marginInlineEnd:at.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${nt}-label, + > ${nt}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${nt}-label`]:{flex:"none"},[`${De}-text`]:{display:"inline-block"},[`${nt}-has-feedback`]:{display:"inline-block"}}}}},Mt=at=>({padding:at.verticalLabelPadding,margin:at.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),je=at=>{const{componentCls:De,formItemCls:nt,rootPrefixCls:Ot}=at;return{[`${nt} ${nt}-label`]:Mt(at),[De]:{[nt]:{flexWrap:"wrap",[`${nt}-label, ${nt}-control`]:{[`&:not([class*=" ${Ot}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},gn=at=>{const{componentCls:De,formItemCls:nt,rootPrefixCls:Ot}=at;return{[`${De}-vertical`]:{[nt]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${De}-item-control`]:{width:"100%"}}},[`${De}-vertical ${nt}-label, + .${Ot}-col-24${nt}-label, + .${Ot}-col-xl-24${nt}-label`]:Mt(at),[`@media (max-width: ${at.screenXSMax}px)`]:[je(at),{[De]:{[`.${Ot}-col-xs-24${nt}-label`]:Mt(at)}}],[`@media (max-width: ${at.screenSMMax}px)`]:{[De]:{[`.${Ot}-col-sm-24${nt}-label`]:Mt(at)}},[`@media (max-width: ${at.screenMDMax}px)`]:{[De]:{[`.${Ot}-col-md-24${nt}-label`]:Mt(at)}},[`@media (max-width: ${at.screenLGMax}px)`]:{[De]:{[`.${Ot}-col-lg-24${nt}-label`]:Mt(at)}}}},Nn=(at,De)=>(0,ut.TS)(at,{formItemCls:`${at.componentCls}-item`,rootPrefixCls:De});var rn=(0,ht.Z)("Form",(at,De)=>{let{rootPrefixCls:nt}=De;const Ot=Nn(at,nt);return[jt(Ot),Lt(Ot),Fe(Ot),Ut(Ot),At(Ot),gn(Ot),(0,tt.Z)(Ot),pt.kr]},at=>({labelRequiredMarkColor:at.colorError,labelColor:at.colorTextHeading,labelFontSize:at.fontSize,labelHeight:at.controlHeight,labelColonMarginInlineStart:at.marginXXS/2,labelColonMarginInlineEnd:at.marginXS,itemMarginBottom:at.marginLG,verticalLabelPadding:`0 0 ${at.paddingXS}px`,verticalLabelMargin:0}),{order:-1e3});const Et=[];function _t(at,De,nt){let Ot=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof at=="string"?at:`${De}-${Ot}`,error:at,errorStatus:nt}}var Rt=at=>{let{help:De,helpStatus:nt,errors:Ot=Et,warnings:xn=Et,className:wn,fieldId:gr,onVisibleChanged:Ar}=at;const{prefixCls:fr}=Qe.useContext(ye.Rk),vr=`${fr}-item-explain`,[,qr]=rn(fr),Xi=(0,Qe.useMemo)(()=>(0,Je.Z)(fr),[fr]),Nr=Se(Ot),Gn=Se(xn),Fn=Qe.useMemo(()=>De!=null?[_t(De,"help",nt)]:[].concat((0,ee.Z)(Nr.map((Mn,zn)=>_t(Mn,"error","error",zn))),(0,ee.Z)(Gn.map((Mn,zn)=>_t(Mn,"warning","warning",zn)))),[De,nt,Nr,Gn]),Kt={};return gr&&(Kt.id=`${gr}_help`),Qe.createElement(yt.default,{motionDeadline:Xi.motionDeadline,motionName:`${fr}-show-help`,visible:!!Fn.length,onVisibleChanged:Ar},Mn=>{const{className:zn,style:Jn}=Mn;return Qe.createElement("div",Object.assign({},Kt,{className:st()(vr,zn,wn,qr),style:Jn,role:"alert"}),Qe.createElement(yt.CSSMotionList,Object.assign({keys:Fn},(0,Je.Z)(fr),{motionName:`${fr}-show-help-item`,component:!1}),xr=>{const{key:$n,error:jr,errorStatus:pn,className:ni,style:Ai}=xr;return Qe.createElement("div",{key:$n,className:st()(ni,{[`${vr}-${pn}`]:pn}),style:Ai},jr)}))})},lt=ie(95013),dn=ie(36355),ln=ie(1684),tn=ie(52946),lr=ie(19716),Dr=ie(16722);const ft=["parentNode"],Le="form_item";function Gt(at){return at===void 0||at===!1?[]:Array.isArray(at)?at:[at]}function Cr(at,De){if(!at.length)return;const nt=at.join("_");return De?`${De}_${nt}`:ft.includes(nt)?`${Le}_${nt}`:nt}function ur(at,De,nt,Ot,xn,wn){let gr=Ot;return wn!==void 0?gr=wn:nt.validating?gr="validating":at.length?gr="error":De.length?gr="warning":(nt.touched||xn&&nt.validated)&&(gr="success"),gr}function It(at){return Gt(at).join("_")}function Nt(at){const[De]=(0,lt.useForm)(),nt=Qe.useRef({}),Ot=Qe.useMemo(()=>at!=null?at:Object.assign(Object.assign({},De),{__INTERNAL__:{itemRef:xn=>wn=>{const gr=It(xn);wn?nt.current[gr]=wn:delete nt.current[gr]}},scrollToField:function(xn){let wn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const gr=Gt(xn),Ar=Cr(gr,Ot.__INTERNAL__.name),fr=Ar?document.getElementById(Ar):null;fr&&(0,Dr.Z)(fr,Object.assign({scrollMode:"if-needed",block:"nearest"},wn))},getFieldInstance:xn=>{const wn=It(xn);return nt.current[wn]}}),[at,De]);return[Ot]}var hr=ie(28726),ir=function(at,De){var nt={};for(var Ot in at)Object.prototype.hasOwnProperty.call(at,Ot)&&De.indexOf(Ot)<0&&(nt[Ot]=at[Ot]);if(at!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xn=0,Ot=Object.getOwnPropertySymbols(at);xn{const nt=Qe.useContext(ln.Z),{getPrefixCls:Ot,direction:xn,form:wn}=Qe.useContext(dn.E_),{prefixCls:gr,className:Ar,rootClassName:fr,size:vr,disabled:qr=nt,form:Xi,colon:Nr,labelAlign:Gn,labelWrap:Fn,labelCol:Kt,wrapperCol:Mn,hideRequiredMark:zn,layout:Jn="horizontal",scrollToFirstError:xr,requiredMark:$n,onFinishFailed:jr,name:pn,style:ni,feedbackIcons:Ai}=at,Ni=ir(at,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons"]),bi=(0,lr.Z)(vr),Ji=Qe.useContext(hr.Z),fa=(0,Qe.useMemo)(()=>$n!==void 0?$n:wn&&wn.requiredMark!==void 0?wn.requiredMark:!zn,[zn,$n,wn]),oa=Nr!=null?Nr:wn==null?void 0:wn.colon,ji=Ot("form",gr),[Qa,Fa]=rn(ji),qo=st()(ji,`${ji}-${Jn}`,{[`${ji}-hide-required-mark`]:fa===!1,[`${ji}-rtl`]:xn==="rtl",[`${ji}-${bi}`]:bi},Fa,wn==null?void 0:wn.className,Ar,fr),[ma]=Nt(Xi),{__INTERNAL__:_o}=ma;_o.name=pn;const Ci=(0,Qe.useMemo)(()=>({name:pn,labelAlign:Gn,labelCol:Kt,labelWrap:Fn,wrapperCol:Mn,vertical:Jn==="vertical",colon:oa,requiredMark:fa,itemRef:_o.itemRef,form:ma,feedbackIcons:Ai}),[pn,Gn,Kt,Mn,Jn,oa,fa,ma,Ai]);Qe.useImperativeHandle(De,()=>ma);const Qo=(mo,Oa)=>{if(mo){let Go={block:"nearest"};typeof mo=="object"&&(Go=mo),ma.scrollToField(Oa,Go)}},ol=mo=>{if(jr==null||jr(mo),mo.errorFields.length){const Oa=mo.errorFields[0].name;if(xr!==void 0){Qo(xr,Oa);return}wn&&wn.scrollToFirstError!==void 0&&Qo(wn.scrollToFirstError,Oa)}};return Qa(Qe.createElement(ln.n,{disabled:qr},Qe.createElement(tn.q,{size:bi},Qe.createElement(ye.RV,Object.assign({},{validateMessages:Ji}),Qe.createElement(ye.q3.Provider,{value:Ci},Qe.createElement(lt.default,Object.assign({id:pn},Ni,{name:pn,onFinishFailed:ol,form:ma,style:Object.assign(Object.assign({},wn==null?void 0:wn.style),ni),className:qo})))))))};var Cn=Qe.forwardRef(sn),Pn=ie(41799),Ln=ie(8654),Te=ie(92343),ve=ie(11592);function he(at){if(typeof at=="function")return at;const De=(0,ve.Z)(at);return De.length<=1?De[0]:De}const we=()=>{const{status:at,errors:De=[],warnings:nt=[]}=(0,Qe.useContext)(ye.aM);return{status:at,errors:De,warnings:nt}};we.Context=ye.aM;var Re=we,fe=ie(16089);function wt(at){const[De,nt]=Qe.useState(at),Ot=(0,Qe.useRef)(null),xn=(0,Qe.useRef)([]),wn=(0,Qe.useRef)(!1);Qe.useEffect(()=>(wn.current=!1,()=>{wn.current=!0,fe.Z.cancel(Ot.current),Ot.current=null}),[]);function gr(Ar){wn.current||(Ot.current===null&&(xn.current=[],Ot.current=(0,fe.Z)(()=>{Ot.current=null,nt(fr=>{let vr=fr;return xn.current.forEach(qr=>{vr=qr(vr)}),vr})})),xn.current.push(Ar))}return[De,gr]}function en(){const{itemRef:at}=Qe.useContext(ye.q3),De=Qe.useRef({});function nt(Ot,xn){const wn=xn&&typeof xn=="object"&&xn.ref,gr=Ot.join("_");return(De.current.name!==gr||De.current.originRef!==wn)&&(De.current.name=gr,De.current.originRef=wn,De.current.ref=(0,Ln.sQ)(at(Ot),wn)),De.current.ref}return nt}var mt=ie(29194),xt=ie(34280),On=ie(2738),yn=ie(27382),Qt=ie(37028);const pr=at=>{const{formItemCls:De}=at;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${De}-control`]:{display:"flex"}}}};var Vr=(0,ht.b)(["Form","item-item"],(at,De)=>{let{rootPrefixCls:nt}=De;const Ot=Nn(at,nt);return[pr(Ot)]}),dr=at=>{const{prefixCls:De,status:nt,wrapperCol:Ot,children:xn,errors:wn,warnings:gr,_internalItemRender:Ar,extra:fr,help:vr,fieldId:qr,marginBottom:Xi,onErrorVisibleChanged:Nr}=at,Gn=`${De}-item`,Fn=Qe.useContext(ye.q3),Kt=Ot||Fn.wrapperCol||{},Mn=st()(`${Gn}-control`,Kt.className),zn=Qe.useMemo(()=>Object.assign({},Fn),[Fn]);delete zn.labelCol,delete zn.wrapperCol;const Jn=Qe.createElement("div",{className:`${Gn}-control-input`},Qe.createElement("div",{className:`${Gn}-control-input-content`},xn)),xr=Qe.useMemo(()=>({prefixCls:De,status:nt}),[De,nt]),$n=Xi!==null||wn.length||gr.length?Qe.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},Qe.createElement(ye.Rk.Provider,{value:xr},Qe.createElement(Rt,{fieldId:qr,errors:wn,warnings:gr,help:vr,helpStatus:nt,className:`${Gn}-explain-connected`,onVisibleChanged:Nr})),!!Xi&&Qe.createElement("div",{style:{width:0,height:Xi}})):null,jr={};qr&&(jr.id=`${qr}_extra`);const pn=fr?Qe.createElement("div",Object.assign({},jr,{className:`${Gn}-extra`}),fr):null,ni=Ar&&Ar.mark==="pro_table_render"&&Ar.render?Ar.render(at,{input:Jn,errorList:$n,extra:pn}):Qe.createElement(Qe.Fragment,null,Jn,$n,pn);return Qe.createElement(ye.q3.Provider,{value:zn},Qe.createElement(Qt.Z,Object.assign({},Kt,{className:Mn}),ni),Qe.createElement(Vr,{prefixCls:De}))},ei=ie(61485),Ht=ie(31724),Tt=ie(9763),qt=ie(6848),Un=function(at,De){var nt={};for(var Ot in at)Object.prototype.hasOwnProperty.call(at,Ot)&&De.indexOf(Ot)<0&&(nt[Ot]=at[Ot]);if(at!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xn=0,Ot=Object.getOwnPropertySymbols(at);xn{let{prefixCls:De,label:nt,htmlFor:Ot,labelCol:xn,labelAlign:wn,colon:gr,required:Ar,requiredMark:fr,tooltip:vr}=at;var qr;const[Xi]=(0,Tt.Z)("Form"),{vertical:Nr,labelAlign:Gn,labelCol:Fn,labelWrap:Kt,colon:Mn}=Qe.useContext(ye.q3);if(!nt)return null;const zn=xn||Fn||{},Jn=wn||Gn,xr=`${De}-item-label`,$n=st()(xr,Jn==="left"&&`${xr}-left`,zn.className,{[`${xr}-wrap`]:!!Kt});let jr=nt;const pn=gr===!0||Mn!==!1&&gr!==!1;pn&&!Nr&&typeof nt=="string"&&nt.trim()!==""&&(jr=nt.replace(/[:|:]\s*$/,""));const Ai=nr(vr);if(Ai){const{icon:fa=Qe.createElement(ei.Z,null)}=Ai,oa=Un(Ai,["icon"]),ji=Qe.createElement(qt.Z,Object.assign({},oa),Qe.cloneElement(fa,{className:`${De}-item-tooltip`,title:""}));jr=Qe.createElement(Qe.Fragment,null,jr,ji)}const Ni=fr==="optional",bi=typeof fr=="function";bi?jr=fr(jr,{required:!!Ar}):Ni&&!Ar&&(jr=Qe.createElement(Qe.Fragment,null,jr,Qe.createElement("span",{className:`${De}-item-optional`,title:""},(Xi==null?void 0:Xi.optional)||((qr=Ht.Z.Form)===null||qr===void 0?void 0:qr.optional))));const Ji=st()({[`${De}-item-required`]:Ar,[`${De}-item-required-mark-optional`]:Ni||bi,[`${De}-item-no-colon`]:!pn});return Qe.createElement(Qt.Z,Object.assign({},zn,{className:$n}),Qe.createElement("label",{htmlFor:Ot,className:Ji,title:typeof nt=="string"?nt:""},jr))},ii=ie(29679),ea=ie(19248),vo=ie(96512),Ha=ie(58617);const Hi={success:ii.Z,warning:vo.Z,error:ea.Z,validating:Ha.Z};function wi(at){let{children:De,errors:nt,warnings:Ot,hasFeedback:xn,validateStatus:wn,prefixCls:gr,meta:Ar,noStyle:fr}=at;const vr=`${gr}-item`,{feedbackIcons:qr}=Qe.useContext(ye.q3),Xi=ur(nt,Ot,Ar,null,!!xn,wn),{isFormItemInput:Nr,status:Gn}=Qe.useContext(ye.aM),Fn=Qe.useMemo(()=>{var Kt;let Mn;if(xn){const xr=xn!==!0&&xn.icons||qr,$n=Xi&&((Kt=xr==null?void 0:xr({status:Xi,errors:nt,warnings:Ot}))===null||Kt===void 0?void 0:Kt[Xi]),jr=Xi&&Hi[Xi];Mn=$n!==!1&&jr?Qe.createElement("span",{className:st()(`${vr}-feedback-icon`,`${vr}-feedback-icon-${Xi}`)},$n||Qe.createElement(jr,null)):null}let zn=!0,Jn=Xi||"";return fr&&(zn=Nr,Jn=(Xi!=null?Xi:Gn)||""),{status:Jn,errors:nt,warnings:Ot,hasFeedback:!!xn,feedbackIcon:Mn,isFormItemInput:zn}},[Xi,xn,fr,Nr,Gn]);return Qe.createElement(ye.aM.Provider,{value:Fn},De)}var Zo=function(at,De){var nt={};for(var Ot in at)Object.prototype.hasOwnProperty.call(at,Ot)&&De.indexOf(Ot)<0&&(nt[Ot]=at[Ot]);if(at!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xn=0,Ot=Object.getOwnPropertySymbols(at);xn{if(Ai&&$n.current){const Fa=getComputedStyle($n.current);Ji(parseInt(Fa.marginBottom,10))}},[Ai,Ni]);const fa=Fa=>{Fa||Ji(null)},ji=function(){let Fa=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const qo=Fa?jr:vr.errors,ma=Fa?pn:vr.warnings;return ur(qo,ma,vr,"",!!qr,fr)}(),Qa=st()(Jn,nt,Ot,{[`${Jn}-with-help`]:ni||jr.length||pn.length,[`${Jn}-has-feedback`]:ji&&qr,[`${Jn}-has-success`]:ji==="success",[`${Jn}-has-warning`]:ji==="warning",[`${Jn}-has-error`]:ji==="error",[`${Jn}-is-validating`]:ji==="validating",[`${Jn}-hidden`]:Xi});return Qe.createElement("div",{className:Qa,style:xn,ref:$n},Qe.createElement(yn.Z,Object.assign({className:`${Jn}-row`},(0,On.Z)(zn,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),Qe.createElement(Ii,Object.assign({htmlFor:Gn},at,{requiredMark:xr,required:Fn!=null?Fn:Kt,prefixCls:De})),Qe.createElement(dr,Object.assign({},at,vr,{errors:jr,warnings:pn,prefixCls:De,status:ji,help:wn,marginBottom:bi,onErrorVisibleChanged:fa}),Qe.createElement(ye.qI.Provider,{value:Mn},Qe.createElement(wi,{prefixCls:De,meta:vr,errors:vr.errors,warnings:vr.warnings,hasFeedback:qr,validateStatus:ji},Nr)))),!!bi&&Qe.createElement("div",{className:`${Jn}-margin-offset`,style:{marginBottom:-bi}}))}const Pa="__SPLIT__",Na=null,Br=Qe.memo(at=>{let{children:De}=at;return De},(at,De)=>at.value===De.value&&at.update===De.update&&at.childProps.length===De.childProps.length&&at.childProps.every((nt,Ot)=>nt===De.childProps[Ot]));function Tn(at){return at!=null}function Fr(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function ki(at){const{name:De,noStyle:nt,className:Ot,dependencies:xn,prefixCls:wn,shouldUpdate:gr,rules:Ar,children:fr,required:vr,label:qr,messageVariables:Xi,trigger:Nr="onChange",validateTrigger:Gn,hidden:Fn,help:Kt}=at,{getPrefixCls:Mn}=Qe.useContext(dn.E_),{name:zn}=Qe.useContext(ye.q3),Jn=he(fr),xr=typeof Jn=="function",$n=Qe.useContext(ye.qI),{validateTrigger:jr}=Qe.useContext(lt.FieldContext),pn=Gn!==void 0?Gn:jr,ni=Tn(De),Ai=Mn("form",wn),[Ni,bi]=rn(Ai),Ji=Qe.useContext(lt.ListContext),fa=Qe.useRef(),[oa,ji]=wt({}),[Qa,Fa]=(0,Pn.Z)(()=>Fr()),qo=Oa=>{const Go=Ji==null?void 0:Ji.getKey(Oa.name);if(Fa(Oa.destroy?Fr():Oa,!0),nt&&Kt!==!1&&$n){let _a=Oa.name;if(Oa.destroy)_a=fa.current||_a;else if(Go!==void 0){const[Ga,ll]=Go;_a=[Ga].concat((0,ee.Z)(ll)),fa.current=_a}$n(Oa,_a)}},ma=(Oa,Go)=>{ji(_a=>{const Ga=Object.assign({},_a),tl=[].concat((0,ee.Z)(Oa.name.slice(0,-1)),(0,ee.Z)(Go)).join(Pa);return Oa.destroy?delete Ga[tl]:Ga[tl]=Oa,Ga})},[_o,Ci]=Qe.useMemo(()=>{const Oa=(0,ee.Z)(Qa.errors),Go=(0,ee.Z)(Qa.warnings);return Object.values(oa).forEach(_a=>{Oa.push.apply(Oa,(0,ee.Z)(_a.errors||[])),Go.push.apply(Go,(0,ee.Z)(_a.warnings||[]))}),[Oa,Go]},[oa,Qa.errors,Qa.warnings]),Qo=en();function ol(Oa,Go,_a){return nt&&!Fn?Qe.createElement(wi,{prefixCls:Ai,hasFeedback:at.hasFeedback,validateStatus:at.validateStatus,meta:Qa,errors:_o,warnings:Ci,noStyle:!0},Oa):Qe.createElement(yo,Object.assign({key:"row"},at,{className:st()(Ot,bi),prefixCls:Ai,fieldId:Go,isRequired:_a,errors:_o,warnings:Ci,meta:Qa,onSubItemMetaChange:ma}),Oa)}if(!ni&&!xr&&!xn)return Ni(ol(Jn));let mo={};return typeof qr=="string"?mo.label=qr:De&&(mo.label=String(De)),Xi&&(mo=Object.assign(Object.assign({},mo),Xi)),Ni(Qe.createElement(lt.Field,Object.assign({},at,{messageVariables:mo,trigger:Nr,validateTrigger:pn,onMetaChange:qo}),(Oa,Go,_a)=>{const Ga=Gt(De).length&&Go?Go.name:[],ll=Cr(Ga,zn),tl=vr!==void 0?vr:!!(Ar&&Ar.some(Li=>{if(Li&&typeof Li=="object"&&Li.required&&!Li.warningOnly)return!0;if(typeof Li=="function"){const xo=Li(_a);return xo&&xo.required&&!xo.warningOnly}return!1})),Jo=Object.assign({},Oa);let Zr=null;if(Array.isArray(Jn)&&ni)Zr=Jn;else if(!(xr&&(!(gr||xn)||ni))){if(!(xn&&!xr&&!ni))if((0,Te.l$)(Jn)){const Li=Object.assign(Object.assign({},Jn.props),Jo);if(Li.id||(Li.id=ll),Kt||_o.length>0||Ci.length>0||at.extra){const nl=[];(Kt||_o.length>0)&&nl.push(`${ll}_help`),at.extra&&nl.push(`${ll}_extra`),Li["aria-describedby"]=nl.join(" ")}_o.length>0&&(Li["aria-invalid"]="true"),tl&&(Li["aria-required"]="true"),(0,Ln.Yr)(Jn)&&(Li.ref=Qo(Ga,Jn)),new Set([].concat((0,ee.Z)(Gt(Nr)),(0,ee.Z)(Gt(pn)))).forEach(nl=>{Li[nl]=function(){for(var Ul,wl,ra,Sa,Fl,pl=arguments.length,su=new Array(pl),Qs=0;Qs{var{prefixCls:De,children:nt}=at,Ot=wr(at,["prefixCls","children"]);const{getPrefixCls:xn}=Qe.useContext(dn.E_),wn=xn("form",De),gr=Qe.useMemo(()=>({prefixCls:wn,status:"error"}),[wn]);return Qe.createElement(lt.List,Object.assign({},Ot),(Ar,fr,vr)=>Qe.createElement(ye.Rk.Provider,{value:gr},nt(Ar.map(qr=>Object.assign(Object.assign({},qr),{fieldKey:qr.key})),fr,{errors:vr.errors,warnings:vr.warnings})))};function br(){const{form:at}=(0,Qe.useContext)(ye.q3);return at}const kr=Cn;kr.Item=Vn,kr.List=Pr,kr.ErrorList=Rt,kr.useForm=Nt,kr.useFormInstance=br,kr.useWatch=lt.useWatch,kr.Provider=ye.RV,kr.create=()=>{};var vi=kr},8628:function(Bn,Wn,ie){"use strict";var ee=ie(59301),Oe=ie(34280),st=ie(56762),yt=ie(69507);function Qe(){let Je=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const ye=(0,ee.useRef)({}),Se=(0,st.Z)(),He=(0,yt.ZP)();return(0,Oe.Z)(()=>{const pt=He.subscribe(tt=>{ye.current=tt,Je&&Se()});return()=>He.unsubscribe(pt)},[]),ye.current}Wn.Z=Qe},5871:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ei}});var ee=ie(84105),Oe=ie(87395),st=ie(92310),yt=ie.n(st),Qe=ie(60499),Je=ie(18642),ye=ie(43749),Se=ie(72190),He=ie(42244),pt=ie(38705),tt=ie(17212);function ut(){return typeof BigInt=="function"}function ht(Ht){return!Ht&&Ht!==0&&!Number.isNaN(Ht)||!String(Ht).trim()}function ot(Ht){var Tt=Ht.trim(),qt=Tt.startsWith("-");qt&&(Tt=Tt.slice(1)),Tt=Tt.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),Tt.startsWith(".")&&(Tt="0".concat(Tt));var Un=Tt||"0",nr=Un.split("."),Jr=nr[0]||"0",Ii=nr[1]||"0";Jr==="0"&&Ii==="0"&&(qt=!1);var ii=qt?"-":"";return{negative:qt,negativeStr:ii,trimStr:Un,integerStr:Jr,decimalStr:Ii,fullStr:"".concat(ii).concat(Un)}}function Fe(Ht){var Tt=String(Ht);return!Number.isNaN(Number(Tt))&&Tt.includes("e")}function qe(Ht){var Tt=String(Ht);if(Fe(Ht)){var qt=Number(Tt.slice(Tt.indexOf("e-")+2)),Un=Tt.match(/\.(\d+)/);return Un!=null&&Un[1]&&(qt+=Un[1].length),qt}return Tt.includes(".")&&jt(Tt)?Tt.length-Tt.indexOf(".")-1:0}function St(Ht){var Tt=String(Ht);if(Fe(Ht)){if(Ht>Number.MAX_SAFE_INTEGER)return String(ut()?BigInt(Ht).toString():Number.MAX_SAFE_INTEGER);if(Ht0&&arguments[0]!==void 0?arguments[0]:!0;return qt?this.isInvalidate()?"":ot("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),Ht}(),Ut=function(){function Ht(Tt){if((0,pt.Z)(this,Ht),(0,Je.Z)(this,"origin",""),(0,Je.Z)(this,"number",void 0),(0,Je.Z)(this,"empty",void 0),ht(Tt)){this.empty=!0;return}this.origin=String(Tt),this.number=Number(Tt)}return(0,tt.Z)(Ht,[{key:"negate",value:function(){return new Ht(-this.toNumber())}},{key:"add",value:function(qt){if(this.isInvalidate())return new Ht(qt);var Un=Number(qt);if(Number.isNaN(Un))return this;var nr=this.number+Un;if(nr>Number.MAX_SAFE_INTEGER)return new Ht(Number.MAX_SAFE_INTEGER);if(nrNumber.MAX_SAFE_INTEGER)return new Ht(Number.MAX_SAFE_INTEGER);if(nr0&&arguments[0]!==void 0?arguments[0]:!0;return qt?this.isInvalidate()?"":St(this.number):this.origin}}]),Ht}();function At(Ht){return ut()?new Lt(Ht):new Ut(Ht)}function Mt(Ht,Tt,qt){var Un=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(Ht==="")return"";var nr=ot(Ht),Jr=nr.negativeStr,Ii=nr.integerStr,ii=nr.decimalStr,ea="".concat(Tt).concat(ii),vo="".concat(Jr).concat(Ii);if(qt>=0){var Ha=Number(ii[qt]);if(Ha>=5&&!Un){var Hi=At(Ht).add("".concat(Jr,"0.").concat("0".repeat(qt)).concat(10-Ha));return Mt(Hi.toString(),Tt,qt,Un)}return qt===0?vo:"".concat(vo).concat(Tt).concat(ii.padEnd(qt,"0").slice(0,qt))}return ea===".0"?vo:"".concat(vo).concat(ea)}var je=At,gn=ie(93681),Nn=ie(34280),rn=ie(8654),Et=ie(59301),_t=ie(48736);function We(Ht,Tt){var qt=(0,Et.useRef)(null);function Un(){try{var Jr=Ht.selectionStart,Ii=Ht.selectionEnd,ii=Ht.value,ea=ii.substring(0,Jr),vo=ii.substring(Ii);qt.current={start:Jr,end:Ii,value:ii,beforeTxt:ea,afterTxt:vo}}catch(Ha){}}function nr(){if(Ht&&qt.current&&Tt)try{var Jr=Ht.value,Ii=qt.current,ii=Ii.beforeTxt,ea=Ii.afterTxt,vo=Ii.start,Ha=Jr.length;if(Jr.endsWith(ea))Ha=Jr.length-qt.current.afterTxt.length;else if(Jr.startsWith(ii))Ha=ii.length;else{var Hi=ii[vo-1],wi=Jr.indexOf(Hi,vo-1);wi!==-1&&(Ha=wi+1)}Ht.setSelectionRange(Ha,Ha)}catch(Zo){(0,_t.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(Zo.message))}}return[Un,nr]}var Rt=ie(49658),lt=function(){var Tt=(0,Et.useState)(!1),qt=(0,Se.Z)(Tt,2),Un=qt[0],nr=qt[1];return(0,Nn.Z)(function(){nr((0,Rt.Z)())},[]),Un},dn=lt,ln=ie(16089),tn=200,lr=600;function Dr(Ht){var Tt=Ht.prefixCls,qt=Ht.upNode,Un=Ht.downNode,nr=Ht.upDisabled,Jr=Ht.downDisabled,Ii=Ht.onStep,ii=Et.useRef(),ea=Et.useRef([]),vo=Et.useRef();vo.current=Ii;var Ha=function(){clearTimeout(ii.current)},Hi=function(Fr,ki){Fr.preventDefault(),Ha(),vo.current(ki);function Vt(){vo.current(ki),ii.current=setTimeout(Vt,tn)}ii.current=setTimeout(Vt,lr)};Et.useEffect(function(){return function(){Ha(),ea.current.forEach(function(Tn){return ln.Z.cancel(Tn)})}},[]);var wi=dn();if(wi)return null;var Zo="".concat(Tt,"-handler"),yo=yt()(Zo,"".concat(Zo,"-up"),(0,Je.Z)({},"".concat(Zo,"-up-disabled"),nr)),Pa=yt()(Zo,"".concat(Zo,"-down"),(0,Je.Z)({},"".concat(Zo,"-down-disabled"),Jr)),Na=function(){return ea.current.push((0,ln.Z)(Ha))},Br={unselectable:"on",role:"button",onMouseUp:Na,onMouseLeave:Na};return Et.createElement("div",{className:"".concat(Zo,"-wrap")},Et.createElement("span",(0,Qe.Z)({},Br,{onMouseDown:function(Fr){Hi(Fr,!0)},"aria-label":"Increase Value","aria-disabled":nr,className:yo}),qt||Et.createElement("span",{unselectable:"on",className:"".concat(Tt,"-handler-up-inner")})),Et.createElement("span",(0,Qe.Z)({},Br,{onMouseDown:function(Fr){Hi(Fr,!1)},"aria-label":"Decrease Value","aria-disabled":Jr,className:Pa}),Un||Et.createElement("span",{unselectable:"on",className:"".concat(Tt,"-handler-down-inner")})))}function ft(Ht){var Tt=typeof Ht=="number"?St(Ht):ot(Ht).fullStr,qt=Tt.includes(".");return qt?ot(Tt.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:Ht+"0"}var Le=ie(5643),Gt=function(){var Ht=(0,Et.useRef)(0),Tt=function(){ln.Z.cancel(Ht.current)};return(0,Et.useEffect)(function(){return Tt},[]),function(qt){Tt(),Ht.current=(0,ln.Z)(function(){qt()})}},Cr=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep"],ur=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","classes","className","classNames"],It=function(Tt,qt){return Tt||qt.isEmpty()?qt.toString():qt.toNumber()},Nt=function(Tt){var qt=je(Tt);return qt.isInvalidate()?null:qt},hr=Et.forwardRef(function(Ht,Tt){var qt,Un=Ht.prefixCls,nr=Un===void 0?"rc-input-number":Un,Jr=Ht.className,Ii=Ht.style,ii=Ht.min,ea=Ht.max,vo=Ht.step,Ha=vo===void 0?1:vo,Hi=Ht.defaultValue,wi=Ht.value,Zo=Ht.disabled,yo=Ht.readOnly,Pa=Ht.upHandler,Na=Ht.downHandler,Br=Ht.keyboard,Tn=Ht.controls,Fr=Tn===void 0?!0:Tn,ki=Ht.classNames,Vt=Ht.stringMode,Vn=Ht.parser,wr=Ht.formatter,Yn=Ht.precision,Pr=Ht.decimalSeparator,br=Ht.onChange,kr=Ht.onInput,vi=Ht.onPressEnter,at=Ht.onStep,De=(0,He.Z)(Ht,Cr),nt="".concat(nr,"-input"),Ot=Et.useRef(null),xn=Et.useState(!1),wn=(0,Se.Z)(xn,2),gr=wn[0],Ar=wn[1],fr=Et.useRef(!1),vr=Et.useRef(!1),qr=Et.useRef(!1),Xi=Et.useState(function(){return je(wi!=null?wi:Hi)}),Nr=(0,Se.Z)(Xi,2),Gn=Nr[0],Fn=Nr[1];function Kt(Zr){wi===void 0&&Fn(Zr)}var Mn=Et.useCallback(function(Zr,Li){if(!Li)return Yn>=0?Yn:Math.max(qe(Zr),qe(Ha))},[Yn,Ha]),zn=Et.useCallback(function(Zr){var Li=String(Zr);if(Vn)return Vn(Li);var xo=Li;return Pr&&(xo=xo.replace(Pr,".")),xo.replace(/[^\w.-]+/g,"")},[Vn,Pr]),Jn=Et.useRef(""),xr=Et.useCallback(function(Zr,Li){if(wr)return wr(Zr,{userTyping:Li,input:String(Jn.current)});var xo=typeof Zr=="number"?St(Zr):Zr;if(!Li){var jo=Mn(xo,Li);if(jt(xo)&&(Pr||jo>=0)){var nl=Pr||".";xo=Mt(xo,nl,jo)}}return xo},[wr,Mn,Pr]),$n=Et.useState(function(){var Zr=Hi!=null?Hi:wi;return Gn.isInvalidate()&&["string","number"].includes((0,ye.Z)(Zr))?Number.isNaN(Zr)?"":Zr:xr(Gn.toString(),!1)}),jr=(0,Se.Z)($n,2),pn=jr[0],ni=jr[1];Jn.current=pn;function Ai(Zr,Li){ni(xr(Zr.isInvalidate()?Zr.toString(!1):Zr.toString(!Li),Li))}var Ni=Et.useMemo(function(){return Nt(ea)},[ea,Yn]),bi=Et.useMemo(function(){return Nt(ii)},[ii,Yn]),Ji=Et.useMemo(function(){return!Ni||!Gn||Gn.isInvalidate()?!1:Ni.lessEquals(Gn)},[Ni,Gn]),fa=Et.useMemo(function(){return!bi||!Gn||Gn.isInvalidate()?!1:Gn.lessEquals(bi)},[bi,Gn]),oa=We(Ot.current,gr),ji=(0,Se.Z)(oa,2),Qa=ji[0],Fa=ji[1],qo=function(Li){return Ni&&!Li.lessEquals(Ni)?Ni:bi&&!bi.lessEquals(Li)?bi:null},ma=function(Li){return!qo(Li)},_o=function(Li,xo){var jo=Li,nl=ma(jo)||jo.isEmpty();if(!jo.isEmpty()&&!xo&&(jo=qo(jo)||jo,nl=!0),!yo&&!Zo&&nl){var Ul=jo.toString(),wl=Mn(Ul,xo);return wl>=0&&(jo=je(Mt(Ul,".",wl)),ma(jo)||(jo=je(Mt(Ul,".",wl,!0)))),jo.equals(Gn)||(Kt(jo),br==null||br(jo.isEmpty()?null:It(Vt,jo)),wi===void 0&&Ai(jo,xo)),jo}return Gn},Ci=Gt(),Qo=function Zr(Li){if(Qa(),Jn.current=Li,ni(Li),!vr.current){var xo=zn(Li),jo=je(xo);jo.isNaN()||_o(jo,!0)}kr==null||kr(Li),Ci(function(){var nl=Li;Vn||(nl=Li.replace(/。/g,".")),nl!==Li&&Zr(nl)})},ol=function(){vr.current=!0},mo=function(){vr.current=!1,Qo(Ot.current.value)},Oa=function(Li){Qo(Li.target.value)},Go=function(Li){var xo;if(!(Li&&Ji||!Li&&fa)){fr.current=!1;var jo=je(qr.current?ft(Ha):Ha);Li||(jo=jo.negate());var nl=(Gn||je(0)).add(jo.toString()),Ul=_o(nl,!1);at==null||at(It(Vt,Ul),{offset:qr.current?ft(Ha):Ha,type:Li?"up":"down"}),(xo=Ot.current)===null||xo===void 0||xo.focus()}},_a=function(Li){var xo=je(zn(pn)),jo=xo;xo.isNaN()?jo=_o(Gn,Li):jo=_o(xo,Li),wi!==void 0?Ai(Gn,!1):jo.isNaN()||Ai(jo,!1)},Ga=function(){fr.current=!0},ll=function(Li){var xo=Li.key,jo=Li.shiftKey;fr.current=!0,qr.current=jo,xo==="Enter"&&(vr.current||(fr.current=!1),_a(!1),vi==null||vi(Li)),Br!==!1&&!vr.current&&["Up","ArrowUp","Down","ArrowDown"].includes(xo)&&(Go(xo==="Up"||xo==="ArrowUp"),Li.preventDefault())},tl=function(){fr.current=!1,qr.current=!1},Jo=function(){_a(!1),Ar(!1),fr.current=!1};return(0,Nn.o)(function(){Gn.isInvalidate()||Ai(Gn,!1)},[Yn]),(0,Nn.o)(function(){var Zr=je(wi);Fn(Zr);var Li=je(zn(pn));(!Zr.equals(Li)||!fr.current||wr)&&Ai(Zr,fr.current)},[wi]),(0,Nn.o)(function(){wr&&Fa()},[pn]),Et.createElement("div",{className:yt()(nr,ki==null?void 0:ki.input,Jr,(qt={},(0,Je.Z)(qt,"".concat(nr,"-focused"),gr),(0,Je.Z)(qt,"".concat(nr,"-disabled"),Zo),(0,Je.Z)(qt,"".concat(nr,"-readonly"),yo),(0,Je.Z)(qt,"".concat(nr,"-not-a-number"),Gn.isNaN()),(0,Je.Z)(qt,"".concat(nr,"-out-of-range"),!Gn.isInvalidate()&&!ma(Gn)),qt)),style:Ii,onFocus:function(){Ar(!0)},onBlur:Jo,onKeyDown:ll,onKeyUp:tl,onCompositionStart:ol,onCompositionEnd:mo,onBeforeInput:Ga},Fr&&Et.createElement(Dr,{prefixCls:nr,upNode:Pa,downNode:Na,upDisabled:Ji,downDisabled:fa,onStep:Go}),Et.createElement("div",{className:"".concat(nt,"-wrap")},Et.createElement("input",(0,Qe.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":ii,"aria-valuemax":ea,"aria-valuenow":Gn.isInvalidate()?null:Gn.toString(),step:Ha},De,{ref:(0,rn.sQ)(Ot,Tt),className:nt,value:pn,onChange:Oa,disabled:Zo,readOnly:yo}))))}),ir=Et.forwardRef(function(Ht,Tt){var qt=Ht.disabled,Un=Ht.style,nr=Ht.prefixCls,Jr=Ht.value,Ii=Ht.prefix,ii=Ht.suffix,ea=Ht.addonBefore,vo=Ht.addonAfter,Ha=Ht.classes,Hi=Ht.className,wi=Ht.classNames,Zo=(0,He.Z)(Ht,ur),yo=Et.useRef(null),Pa=function(Br){yo.current&&(0,Le.nH)(yo.current,Br)};return Et.createElement(gn.BaseInput,{inputElement:Et.createElement(hr,(0,Qe.Z)({prefixCls:nr,disabled:qt,classNames:wi,ref:(0,rn.sQ)(yo,Tt)},Zo)),className:Hi,triggerFocus:Pa,prefixCls:nr,value:Jr,disabled:qt,style:Un,prefix:Ii,suffix:ii,addonAfter:vo,addonBefore:ea,classes:Ha,classNames:wi,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}})});ir.displayName="InputNumber";var sn=ir,An=sn,Cn=ie(19080),Pn=ie(36355),Ln=ie(92736),Te=ie(1684),ve=ie(19716),he=ie(32441),we=ie(33234),Re=ie(9937),fe=ie(17313),wt=ie(74207),en=ie(83116),mt=ie(37613);const xt=(Ht,Tt)=>{let{componentCls:qt,borderRadiusSM:Un,borderRadiusLG:nr}=Ht;const Jr=Tt==="lg"?nr:Un;return{[`&-${Tt}`]:{[`${qt}-handler-wrap`]:{borderStartEndRadius:Jr,borderEndEndRadius:Jr},[`${qt}-handler-up`]:{borderStartEndRadius:Jr},[`${qt}-handler-down`]:{borderEndEndRadius:Jr}}}},On=Ht=>{const{componentCls:Tt,lineWidth:qt,lineType:Un,colorBorder:nr,borderRadius:Jr,fontSizeLG:Ii,controlHeightLG:ii,controlHeightSM:ea,colorError:vo,paddingInlineSM:Ha,colorTextDescription:Hi,motionDurationMid:wi,handleHoverColor:Zo,paddingInline:yo,paddingBlock:Pa,handleBg:Na,handleActiveBg:Br,colorTextDisabled:Tn,borderRadiusSM:Fr,borderRadiusLG:ki,controlWidth:Vt,handleVisible:Vn,handleBorderColor:wr}=Ht;return[{[Tt]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,fe.Wf)(Ht)),(0,Re.ik)(Ht)),(0,Re.bi)(Ht,Tt)),{display:"inline-block",width:Vt,margin:0,padding:0,border:`${qt}px ${Un} ${nr}`,borderRadius:Jr,"&-rtl":{direction:"rtl",[`${Tt}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:Ii,borderRadius:ki,[`input${Tt}-input`]:{height:ii-2*qt}},"&-sm":{padding:0,borderRadius:Fr,[`input${Tt}-input`]:{height:ea-2*qt,padding:`0 ${Ha}px`}},"&:hover":Object.assign({},(0,Re.pU)(Ht)),"&-focused":Object.assign({},(0,Re.M1)(Ht)),"&-out-of-range":{[`${Tt}-input-wrap`]:{input:{color:vo}}},"&-group":Object.assign(Object.assign(Object.assign({},(0,fe.Wf)(Ht)),(0,Re.s7)(Ht)),{"&-wrapper":{display:"inline-block",textAlign:"start",verticalAlign:"top",[`${Tt}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${Tt}-group-addon`]:{borderRadius:ki,fontSize:Ht.fontSizeLG}},"&-sm":{[`${Tt}-group-addon`]:{borderRadius:Fr}},[`${Tt}-wrapper-disabled > ${Tt}-group-addon`]:Object.assign({},(0,Re.Xy)(Ht))}}),[`&-disabled ${Tt}-input`]:{cursor:"not-allowed"},[Tt]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},(0,fe.Wf)(Ht)),{width:"100%",padding:`${Pa}px ${yo}px`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:Jr,outline:0,transition:`all ${wi} linear`,appearance:"textfield",fontSize:"inherit"}),(0,Re.nz)(Ht.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[Tt]:Object.assign(Object.assign(Object.assign({[`&:hover ${Tt}-handler-wrap, &-focused ${Tt}-handler-wrap`]:{opacity:1},[`${Tt}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:Ht.handleWidth,height:"100%",background:Na,borderStartStartRadius:0,borderStartEndRadius:Jr,borderEndEndRadius:Jr,borderEndStartRadius:0,opacity:Vn===!0?1:0,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${wi} linear ${wi}`,[`${Tt}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` + ${Tt}-handler-up-inner, + ${Tt}-handler-down-inner + `]:{marginInlineEnd:0,fontSize:Ht.handleFontSize}}},[`${Tt}-handler`]:{height:"50%",overflow:"hidden",color:Hi,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${qt}px ${Un} ${wr}`,transition:`all ${wi} linear`,"&:active":{background:Br},"&:hover":{height:"60%",[` + ${Tt}-handler-up-inner, + ${Tt}-handler-down-inner + `]:{color:Zo}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},(0,fe.Ro)()),{color:Hi,transition:`all ${wi} linear`,userSelect:"none"})},[`${Tt}-handler-up`]:{borderStartEndRadius:Jr},[`${Tt}-handler-down`]:{borderBlockStart:`${qt}px ${Un} ${wr}`,borderEndEndRadius:Jr}},xt(Ht,"lg")),xt(Ht,"sm")),{"&-disabled, &-readonly":{[`${Tt}-handler-wrap`]:{display:"none"},[`${Tt}-input`]:{color:"inherit"}},[` + ${Tt}-handler-up-disabled, + ${Tt}-handler-down-disabled + `]:{cursor:"not-allowed"},[` + ${Tt}-handler-up-disabled:hover &-handler-up-inner, + ${Tt}-handler-down-disabled:hover &-handler-down-inner + `]:{color:Tn}})},{[`${Tt}-borderless`]:{borderColor:"transparent",boxShadow:"none",[`${Tt}-handler-down`]:{borderBlockStartWidth:0}}}]},yn=Ht=>{const{componentCls:Tt,paddingBlock:qt,paddingInline:Un,inputAffixPadding:nr,controlWidth:Jr,borderRadiusLG:Ii,borderRadiusSM:ii}=Ht;return{[`${Tt}-affix-wrapper`]:Object.assign(Object.assign(Object.assign({},(0,Re.ik)(Ht)),(0,Re.bi)(Ht,`${Tt}-affix-wrapper`)),{position:"relative",display:"inline-flex",width:Jr,padding:0,paddingInlineStart:Un,"&-lg":{borderRadius:Ii},"&-sm":{borderRadius:ii},[`&:not(${Tt}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},(0,Re.pU)(Ht)),{zIndex:1}),"&-focused, &:focus":{zIndex:1},[`&-disabled > ${Tt}-disabled`]:{background:"transparent"},[`> div${Tt}`]:{width:"100%",border:"none",outline:"none",[`&${Tt}-focused`]:{boxShadow:"none !important"}},[`input${Tt}-input`]:{padding:`${qt}px 0`},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${Tt}-handler-wrap`]:{zIndex:2},[Tt]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:nr},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:Un,marginInlineStart:nr}}})}};var Qt=(0,en.Z)("InputNumber",Ht=>{const Tt=(0,mt.TS)(Ht,(0,Re.e5)(Ht));return[On(Tt),yn(Tt),(0,wt.c)(Tt)]},Ht=>Object.assign(Object.assign({},(0,Re.TM)(Ht)),{controlWidth:90,handleWidth:Ht.controlHeightSM-Ht.lineWidth*2,handleFontSize:Ht.fontSize/2,handleVisible:"auto",handleActiveBg:Ht.colorFillAlter,handleBg:Ht.colorBgContainer,handleHoverColor:Ht.colorPrimary,handleBorderColor:Ht.colorBorder})),pr=function(Ht,Tt){var qt={};for(var Un in Ht)Object.prototype.hasOwnProperty.call(Ht,Un)&&Tt.indexOf(Un)<0&&(qt[Un]=Ht[Un]);if(Ht!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nr=0,Un=Object.getOwnPropertySymbols(Ht);nr{const{getPrefixCls:qt,direction:Un}=Et.useContext(Pn.E_),nr=Et.useRef(null);Et.useImperativeHandle(Tt,()=>nr.current);const{className:Jr,rootClassName:Ii,size:ii,disabled:ea,prefixCls:vo,addonBefore:Ha,addonAfter:Hi,prefix:wi,bordered:Zo=!0,readOnly:yo,status:Pa,controls:Na}=Ht,Br=pr(Ht,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls"]),Tn=qt("input-number",vo),[Fr,ki]=Qt(Tn),{compactSize:Vt,compactItemClassnames:Vn}=(0,we.ri)(Tn,Un);let wr=Et.createElement(Oe.Z,{className:`${Tn}-handler-up-inner`}),Yn=Et.createElement(ee.Z,{className:`${Tn}-handler-down-inner`});const Pr=typeof Na=="boolean"?Na:void 0;typeof Na=="object"&&(wr=typeof Na.upIcon=="undefined"?wr:Et.createElement("span",{className:`${Tn}-handler-up-inner`},Na.upIcon),Yn=typeof Na.downIcon=="undefined"?Yn:Et.createElement("span",{className:`${Tn}-handler-down-inner`},Na.downIcon));const{hasFeedback:br,status:kr,isFormItemInput:vi,feedbackIcon:at}=Et.useContext(he.aM),De=(0,Cn.F)(kr,Pa),nt=(0,ve.Z)(fr=>{var vr;return(vr=ii!=null?ii:Vt)!==null&&vr!==void 0?vr:fr}),Ot=Et.useContext(Te.Z),xn=ea!=null?ea:Ot,wn=yt()({[`${Tn}-lg`]:nt==="large",[`${Tn}-sm`]:nt==="small",[`${Tn}-rtl`]:Un==="rtl",[`${Tn}-borderless`]:!Zo,[`${Tn}-in-form-item`]:vi},(0,Cn.Z)(Tn,De),Vn,ki),gr=`${Tn}-group`,Ar=Et.createElement(An,Object.assign({ref:nr,disabled:xn,className:yt()(Jr,Ii),upHandler:wr,downHandler:Yn,prefixCls:Tn,readOnly:yo,controls:Pr,prefix:wi,suffix:br&&at,addonAfter:Hi&&Et.createElement(we.BR,null,Et.createElement(he.Ux,{override:!0,status:!0},Hi)),addonBefore:Ha&&Et.createElement(we.BR,null,Et.createElement(he.Ux,{override:!0,status:!0},Ha)),classNames:{input:wn},classes:{affixWrapper:yt()((0,Cn.Z)(`${Tn}-affix-wrapper`,De,br),{[`${Tn}-affix-wrapper-sm`]:nt==="small",[`${Tn}-affix-wrapper-lg`]:nt==="large",[`${Tn}-affix-wrapper-rtl`]:Un==="rtl",[`${Tn}-affix-wrapper-borderless`]:!Zo},ki),wrapper:yt()({[`${gr}-rtl`]:Un==="rtl",[`${Tn}-wrapper-disabled`]:xn},ki),group:yt()({[`${Tn}-group-wrapper-sm`]:nt==="small",[`${Tn}-group-wrapper-lg`]:nt==="large",[`${Tn}-group-wrapper-rtl`]:Un==="rtl"},(0,Cn.Z)(`${Tn}-group-wrapper`,De,br),ki)}},Br));return Fr(Ar)}),vn=Vr,dr=Ht=>Et.createElement(Ln.ZP,{theme:{components:{InputNumber:{handleVisible:!0}}}},Et.createElement(Vr,Object.assign({},Ht)));vn._InternalPanelDoNotUseOrYouWillBeFired=dr;var ei=vn},58421:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return en}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(xt,On){return Oe.createElement(Qe.Z,(0,ee.Z)({},xt,{ref:On,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye,He=ie(49198),pt=ie(33853),tt=ie(38819),ut=ie(92310),ht=ie.n(ut),ot=ie(18642),Fe=ie(85899),qe=ie(38705),St=ie(17212),jt=ie(39153),Lt=ie(55401),Ut=ie(26112),At={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},Mt=At,je=ie(91735),gn=function(mt){(0,jt.Z)(On,mt);var xt=(0,Lt.Z)(On);function On(){var yn;(0,qe.Z)(this,On);for(var Qt=arguments.length,pr=new Array(Qt),Vr=0;Vr=0||vn.relatedTarget.className.indexOf("".concat(Tt,"-item"))>=0))&&Ht(yn.getValidValue()))},yn.go=function(vn){var dr=yn.state.goInputText;dr!==""&&(vn.keyCode===Mt.ENTER||vn.type==="click")&&(yn.setState({goInputText:""}),yn.props.quickGo(yn.getValidValue()))},yn}return(0,St.Z)(On,[{key:"getPageSizeOptions",value:function(){var Qt=this.props,pr=Qt.pageSize,Vr=Qt.pageSizeOptions;return Vr.some(function(vn){return vn.toString()===pr.toString()})?Vr:Vr.concat([pr.toString()]).sort(function(vn,dr){var ei=Number.isNaN(Number(vn))?0:Number(vn),Ht=Number.isNaN(Number(dr))?0:Number(dr);return ei-Ht})}},{key:"render",value:function(){var Qt=this,pr=this.props,Vr=pr.pageSize,vn=pr.locale,dr=pr.rootPrefixCls,ei=pr.changeSize,Ht=pr.quickGo,Tt=pr.goButton,qt=pr.selectComponentClass,Un=pr.buildOptionText,nr=pr.selectPrefixCls,Jr=pr.disabled,Ii=this.state.goInputText,ii="".concat(dr,"-options"),ea=qt,vo=null,Ha=null,Hi=null;if(!ei&&!Ht)return null;var wi=this.getPageSizeOptions();if(ei&&ea){var Zo=wi.map(function(yo,Pa){return Oe.createElement(ea.Option,{key:Pa,value:yo.toString()},(Un||Qt.buildOptionText)(yo))});vo=Oe.createElement(ea,{disabled:Jr,prefixCls:nr,showSearch:!1,className:"".concat(ii,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(Vr||wi[0]).toString(),onChange:this.changeSize,getPopupContainer:function(Pa){return Pa.parentNode},"aria-label":vn.page_size,defaultOpen:!1},Zo)}return Ht&&(Tt&&(Hi=typeof Tt=="boolean"?Oe.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:Jr,className:"".concat(ii,"-quick-jumper-button")},vn.jump_to_confirm):Oe.createElement("span",{onClick:this.go,onKeyUp:this.go},Tt)),Ha=Oe.createElement("div",{className:"".concat(ii,"-quick-jumper")},vn.jump_to,Oe.createElement("input",{disabled:Jr,type:"text",value:Ii,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":vn.page}),vn.page,Hi)),Oe.createElement("li",{className:"".concat(ii)},vo,Ha)}}]),On}(Oe.Component);gn.defaultProps={pageSizeOptions:["10","20","50","100"]};var Nn=gn,rn=function(xt){var On,yn=xt.rootPrefixCls,Qt=xt.page,pr=xt.active,Vr=xt.className,vn=xt.showTitle,dr=xt.onClick,ei=xt.onKeyPress,Ht=xt.itemRender,Tt="".concat(yn,"-item"),qt=ht()(Tt,"".concat(Tt,"-").concat(Qt),(On={},(0,ot.Z)(On,"".concat(Tt,"-active"),pr),(0,ot.Z)(On,"".concat(Tt,"-disabled"),!Qt),(0,ot.Z)(On,xt.className,Vr),On)),Un=function(){dr(Qt)},nr=function(ii){ei(ii,dr,Qt)},Jr=Ht(Qt,"page",Oe.createElement("a",{rel:"nofollow"},Qt));return Jr?Oe.createElement("li",{title:vn?Qt.toString():null,className:qt,onClick:Un,onKeyPress:nr,tabIndex:0},Jr):null},Et=rn;function _t(){}function We(mt){var xt=Number(mt);return typeof xt=="number"&&!Number.isNaN(xt)&&isFinite(xt)&&Math.floor(xt)===xt}var Rt=function(xt,On,yn){return yn};function lt(mt,xt,On){var yn=typeof mt=="undefined"?xt.pageSize:mt;return Math.floor((On.total-1)/yn)+1}var dn=function(mt){(0,jt.Z)(On,mt);var xt=(0,Lt.Z)(On);function On(yn){var Qt;(0,qe.Z)(this,On),Qt=xt.call(this,yn),Qt.paginationNode=Oe.createRef(),Qt.getJumpPrevPage=function(){return Math.max(1,Qt.state.current-(Qt.props.showLessItems?3:5))},Qt.getJumpNextPage=function(){return Math.min(lt(void 0,Qt.state,Qt.props),Qt.state.current+(Qt.props.showLessItems?3:5))},Qt.getItemIcon=function(ei,Ht){var Tt=Qt.props.prefixCls,qt=ei||Oe.createElement("button",{type:"button","aria-label":Ht,className:"".concat(Tt,"-item-link")});return typeof ei=="function"&&(qt=Oe.createElement(ei,(0,Fe.Z)({},Qt.props))),qt},Qt.isValid=function(ei){var Ht=Qt.props.total;return We(ei)&&ei!==Qt.state.current&&We(Ht)&&Ht>0},Qt.shouldDisplayQuickJumper=function(){var ei=Qt.props,Ht=ei.showQuickJumper,Tt=ei.total,qt=Qt.state.pageSize;return Tt<=qt?!1:Ht},Qt.handleKeyDown=function(ei){(ei.keyCode===Mt.ARROW_UP||ei.keyCode===Mt.ARROW_DOWN)&&ei.preventDefault()},Qt.handleKeyUp=function(ei){var Ht=Qt.getValidValue(ei),Tt=Qt.state.currentInputValue;Ht!==Tt&&Qt.setState({currentInputValue:Ht}),ei.keyCode===Mt.ENTER?Qt.handleChange(Ht):ei.keyCode===Mt.ARROW_UP?Qt.handleChange(Ht-1):ei.keyCode===Mt.ARROW_DOWN&&Qt.handleChange(Ht+1)},Qt.handleBlur=function(ei){var Ht=Qt.getValidValue(ei);Qt.handleChange(Ht)},Qt.changePageSize=function(ei){var Ht=Qt.state.current,Tt=lt(ei,Qt.state,Qt.props);Ht=Ht>Tt?Tt:Ht,Tt===0&&(Ht=Qt.state.current),typeof ei=="number"&&("pageSize"in Qt.props||Qt.setState({pageSize:ei}),"current"in Qt.props||Qt.setState({current:Ht,currentInputValue:Ht})),Qt.props.onShowSizeChange(Ht,ei),"onChange"in Qt.props&&Qt.props.onChange&&Qt.props.onChange(Ht,ei)},Qt.handleChange=function(ei){var Ht=Qt.props,Tt=Ht.disabled,qt=Ht.onChange,Un=Qt.state,nr=Un.pageSize,Jr=Un.current,Ii=Un.currentInputValue;if(Qt.isValid(ei)&&!Tt){var ii=lt(void 0,Qt.state,Qt.props),ea=ei;return ei>ii?ea=ii:ei<1&&(ea=1),"current"in Qt.props||Qt.setState({current:ea}),ea!==Ii&&Qt.setState({currentInputValue:ea}),qt(ea,nr),ea}return Jr},Qt.prev=function(){Qt.hasPrev()&&Qt.handleChange(Qt.state.current-1)},Qt.next=function(){Qt.hasNext()&&Qt.handleChange(Qt.state.current+1)},Qt.jumpPrev=function(){Qt.handleChange(Qt.getJumpPrevPage())},Qt.jumpNext=function(){Qt.handleChange(Qt.getJumpNextPage())},Qt.hasPrev=function(){return Qt.state.current>1},Qt.hasNext=function(){return Qt.state.current2?Tt-2:0),Un=2;Un=Vr?dr=Vr:dr=Number(pr),dr}},{key:"getShowSizeChanger",value:function(){var Qt=this.props,pr=Qt.showSizeChanger,Vr=Qt.total,vn=Qt.totalBoundaryShowSizeChanger;return typeof pr!="undefined"?pr:Vr>vn}},{key:"render",value:function(){var Qt=this.props,pr=Qt.prefixCls,Vr=Qt.className,vn=Qt.style,dr=Qt.disabled,ei=Qt.hideOnSinglePage,Ht=Qt.total,Tt=Qt.locale,qt=Qt.showQuickJumper,Un=Qt.showLessItems,nr=Qt.showTitle,Jr=Qt.showTotal,Ii=Qt.simple,ii=Qt.itemRender,ea=Qt.showPrevNextJumpers,vo=Qt.jumpPrevIcon,Ha=Qt.jumpNextIcon,Hi=Qt.selectComponentClass,wi=Qt.selectPrefixCls,Zo=Qt.pageSizeOptions,yo=this.state,Pa=yo.current,Na=yo.pageSize,Br=yo.currentInputValue;if(ei===!0&&Ht<=Na)return null;var Tn=lt(void 0,this.state,this.props),Fr=[],ki=null,Vt=null,Vn=null,wr=null,Yn=null,Pr=qt&&qt.goButton,br=Un?1:2,kr=Pa-1>0?Pa-1:0,vi=Pa+1Ht?Ht:Pa*Na]));if(Ii){Pr&&(typeof Pr=="boolean"?Yn=Oe.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},Tt.jump_to_confirm):Yn=Oe.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},Pr),Yn=Oe.createElement("li",{title:nr?"".concat(Tt.jump_to).concat(Pa,"/").concat(Tn):null,className:"".concat(pr,"-simple-pager")},Yn));var nt=this.renderPrev(kr);return Oe.createElement("ul",(0,ee.Z)({className:ht()(pr,"".concat(pr,"-simple"),(0,ot.Z)({},"".concat(pr,"-disabled"),dr),Vr),style:vn,ref:this.paginationNode},at),De,nt?Oe.createElement("li",{title:nr?Tt.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:ht()("".concat(pr,"-prev"),(0,ot.Z)({},"".concat(pr,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},nt):null,Oe.createElement("li",{title:nr?"".concat(Pa,"/").concat(Tn):null,className:"".concat(pr,"-simple-pager")},Oe.createElement("input",{type:"text",value:Br,disabled:dr,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:3}),Oe.createElement("span",{className:"".concat(pr,"-slash")},"/"),Tn),Oe.createElement("li",{title:nr?Tt.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:ht()("".concat(pr,"-next"),(0,ot.Z)({},"".concat(pr,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(vi)),Yn)}if(Tn<=3+br*2){var Ot={locale:Tt,rootPrefixCls:pr,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:nr,itemRender:ii};Tn||Fr.push(Oe.createElement(Et,(0,ee.Z)({},Ot,{key:"noPager",page:1,className:"".concat(pr,"-item-disabled")})));for(var xn=1;xn<=Tn;xn+=1){var wn=Pa===xn;Fr.push(Oe.createElement(Et,(0,ee.Z)({},Ot,{key:xn,page:xn,active:wn})))}}else{var gr=Un?Tt.prev_3:Tt.prev_5,Ar=Un?Tt.next_3:Tt.next_5,fr=ii(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(vo,"prev page")),vr=ii(this.getJumpNextPage(),"jump-next",this.getItemIcon(Ha,"next page"));ea&&(ki=fr?Oe.createElement("li",{title:nr?gr:null,key:"prev",onClick:this.jumpPrev,tabIndex:0,onKeyPress:this.runIfEnterJumpPrev,className:ht()("".concat(pr,"-jump-prev"),(0,ot.Z)({},"".concat(pr,"-jump-prev-custom-icon"),!!vo))},fr):null,Vt=vr?Oe.createElement("li",{title:nr?Ar:null,key:"next",tabIndex:0,onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:ht()("".concat(pr,"-jump-next"),(0,ot.Z)({},"".concat(pr,"-jump-next-custom-icon"),!!Ha))},vr):null),wr=Oe.createElement(Et,{locale:Tt,last:!0,rootPrefixCls:pr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:Tn,page:Tn,active:!1,showTitle:nr,itemRender:ii}),Vn=Oe.createElement(Et,{locale:Tt,rootPrefixCls:pr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:nr,itemRender:ii});var qr=Math.max(1,Pa-br),Xi=Math.min(Pa+br,Tn);Pa-1<=br&&(Xi=1+br*2),Tn-Pa<=br&&(qr=Tn-br*2);for(var Nr=qr;Nr<=Xi;Nr+=1){var Gn=Pa===Nr;Fr.push(Oe.createElement(Et,{locale:Tt,rootPrefixCls:pr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:Nr,page:Nr,active:Gn,showTitle:nr,itemRender:ii}))}Pa-1>=br*2&&Pa!==3&&(Fr[0]=(0,Oe.cloneElement)(Fr[0],{className:"".concat(pr,"-item-after-jump-prev")}),Fr.unshift(ki)),Tn-Pa>=br*2&&Pa!==Tn-2&&(Fr[Fr.length-1]=(0,Oe.cloneElement)(Fr[Fr.length-1],{className:"".concat(pr,"-item-before-jump-next")}),Fr.push(Vt)),qr!==1&&Fr.unshift(Vn),Xi!==Tn&&Fr.push(wr)}var Fn=!this.hasPrev()||!Tn,Kt=!this.hasNext()||!Tn,Mn=this.renderPrev(kr),zn=this.renderNext(vi);return Oe.createElement("ul",(0,ee.Z)({className:ht()(pr,Vr,(0,ot.Z)({},"".concat(pr,"-disabled"),dr)),style:vn,ref:this.paginationNode},at),De,Mn?Oe.createElement("li",{title:nr?Tt.prev_page:null,onClick:this.prev,tabIndex:Fn?null:0,onKeyPress:this.runIfEnterPrev,className:ht()("".concat(pr,"-prev"),(0,ot.Z)({},"".concat(pr,"-disabled"),Fn)),"aria-disabled":Fn},Mn):null,Fr,zn?Oe.createElement("li",{title:nr?Tt.next_page:null,onClick:this.next,tabIndex:Kt?null:0,onKeyPress:this.runIfEnterNext,className:ht()("".concat(pr,"-next"),(0,ot.Z)({},"".concat(pr,"-disabled"),Kt)),"aria-disabled":Kt},zn):null,Oe.createElement(Nn,{disabled:dr,locale:Tt,rootPrefixCls:pr,selectComponentClass:Hi,selectPrefixCls:wi,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:Pa,pageSize:Na,pageSizeOptions:Zo,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:Pr}))}}],[{key:"getDerivedStateFromProps",value:function(Qt,pr){var Vr={};if("current"in Qt&&(Vr.current=Qt.current,Qt.current!==pr.current&&(Vr.currentInputValue=Vr.current)),"pageSize"in Qt&&Qt.pageSize!==pr.pageSize){var vn=pr.current,dr=lt(Qt.pageSize,pr,Qt);vn=vn>dr?dr:vn,"current"in Qt||(Vr.current=vn,Vr.currentInputValue=vn),Vr.pageSize=Qt.pageSize}return Vr}}]),On}(Oe.Component);dn.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:_t,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:_t,locale:je.Z,style:{},itemRender:Rt,totalBoundaryShowSizeChanger:50};var ln=dn,tn=ie(22075),lr=ie(36355),Dr=ie(19716),ft=ie(8628),Le=ie(9763),Gt=ie(57809);const Cr=mt=>Oe.createElement(Gt.default,Object.assign({},mt,{showSearch:!0,size:"small"})),ur=mt=>Oe.createElement(Gt.default,Object.assign({},mt,{showSearch:!0,size:"middle"}));Cr.Option=Gt.default.Option,ur.Option=Gt.default.Option;var It=ie(9937),Nt=ie(17313),hr=ie(83116),ir=ie(37613);const sn=mt=>{const{componentCls:xt}=mt;return{[`${xt}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${xt}-item-link`]:{color:mt.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${xt}-item-link`]:{color:mt.colorTextDisabled,cursor:"not-allowed"}}},[`&${xt}-disabled`]:{cursor:"not-allowed",[`${xt}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:mt.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:mt.colorBorder,backgroundColor:mt.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:mt.itemActiveBgDisabled},a:{color:mt.itemActiveColorDisabled}}},[`${xt}-item-link`]:{color:mt.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${xt}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${xt}-simple-pager`]:{color:mt.colorTextDisabled},[`${xt}-jump-prev, ${xt}-jump-next`]:{[`${xt}-item-link-icon`]:{opacity:0},[`${xt}-item-ellipsis`]:{opacity:1}}},[`&${xt}-simple`]:{[`${xt}-prev, ${xt}-next`]:{[`&${xt}-disabled ${xt}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},An=mt=>{const{componentCls:xt}=mt;return{[`&${xt}-mini ${xt}-total-text, &${xt}-mini ${xt}-simple-pager`]:{height:mt.itemSizeSM,lineHeight:`${mt.itemSizeSM}px`},[`&${xt}-mini ${xt}-item`]:{minWidth:mt.itemSizeSM,height:mt.itemSizeSM,margin:0,lineHeight:`${mt.itemSizeSM-2}px`},[`&${xt}-mini:not(${xt}-disabled) ${xt}-item:not(${xt}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:mt.colorBgTextHover},"&:active":{backgroundColor:mt.colorBgTextActive}},[`&${xt}-mini ${xt}-prev, &${xt}-mini ${xt}-next`]:{minWidth:mt.itemSizeSM,height:mt.itemSizeSM,margin:0,lineHeight:`${mt.itemSizeSM}px`},[`&${xt}-mini:not(${xt}-disabled)`]:{[`${xt}-prev, ${xt}-next`]:{[`&:hover ${xt}-item-link`]:{backgroundColor:mt.colorBgTextHover},[`&:active ${xt}-item-link`]:{backgroundColor:mt.colorBgTextActive},[`&${xt}-disabled:hover ${xt}-item-link`]:{backgroundColor:"transparent"}}},[` + &${xt}-mini ${xt}-prev ${xt}-item-link, + &${xt}-mini ${xt}-next ${xt}-item-link + `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:mt.itemSizeSM,lineHeight:`${mt.itemSizeSM}px`}},[`&${xt}-mini ${xt}-jump-prev, &${xt}-mini ${xt}-jump-next`]:{height:mt.itemSizeSM,marginInlineEnd:0,lineHeight:`${mt.itemSizeSM}px`},[`&${xt}-mini ${xt}-options`]:{marginInlineStart:mt.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:mt.miniOptionsSizeChangerTop},"&-quick-jumper":{height:mt.itemSizeSM,lineHeight:`${mt.itemSizeSM}px`,input:Object.assign(Object.assign({},(0,It.x0)(mt)),{width:mt.paginationMiniQuickJumperInputWidth,height:mt.controlHeightSM})}}}},Cn=mt=>{const{componentCls:xt}=mt;return{[` + &${xt}-simple ${xt}-prev, + &${xt}-simple ${xt}-next + `]:{height:mt.itemSizeSM,lineHeight:`${mt.itemSizeSM}px`,verticalAlign:"top",[`${xt}-item-link`]:{height:mt.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:mt.colorBgTextHover},"&:active":{backgroundColor:mt.colorBgTextActive},"&::after":{height:mt.itemSizeSM,lineHeight:`${mt.itemSizeSM}px`}}},[`&${xt}-simple ${xt}-simple-pager`]:{display:"inline-block",height:mt.itemSizeSM,marginInlineEnd:mt.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:mt.marginXS,padding:`0 ${mt.paginationItemPaddingInline}px`,textAlign:"center",backgroundColor:mt.itemInputBg,border:`${mt.lineWidth}px ${mt.lineType} ${mt.colorBorder}`,borderRadius:mt.borderRadius,outline:"none",transition:`border-color ${mt.motionDurationMid}`,color:"inherit","&:hover":{borderColor:mt.colorPrimary},"&:focus":{borderColor:mt.colorPrimaryHover,boxShadow:`${mt.inputOutlineOffset}px 0 ${mt.controlOutlineWidth}px ${mt.controlOutline}`},"&[disabled]":{color:mt.colorTextDisabled,backgroundColor:mt.colorBgContainerDisabled,borderColor:mt.colorBorder,cursor:"not-allowed"}}}}},Pn=mt=>{const{componentCls:xt}=mt;return{[`${xt}-jump-prev, ${xt}-jump-next`]:{outline:0,[`${xt}-item-container`]:{position:"relative",[`${xt}-item-link-icon`]:{color:mt.colorPrimary,fontSize:mt.fontSizeSM,opacity:0,transition:`all ${mt.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${xt}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:mt.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:mt.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:mt.paginationEllipsisTextIndent,opacity:1,transition:`all ${mt.motionDurationMid}`}},"&:hover":{[`${xt}-item-link-icon`]:{opacity:1},[`${xt}-item-ellipsis`]:{opacity:0}}},[` + ${xt}-prev, + ${xt}-jump-prev, + ${xt}-jump-next + `]:{marginInlineEnd:mt.marginXS},[` + ${xt}-prev, + ${xt}-next, + ${xt}-jump-prev, + ${xt}-jump-next + `]:{display:"inline-block",minWidth:mt.itemSize,height:mt.itemSize,color:mt.colorText,fontFamily:mt.fontFamily,lineHeight:`${mt.itemSize}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:mt.borderRadius,cursor:"pointer",transition:`all ${mt.motionDurationMid}`},[`${xt}-prev, ${xt}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:mt.colorText,cursor:"pointer",userSelect:"none"},[`${xt}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:mt.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${mt.lineWidth}px ${mt.lineType} transparent`,borderRadius:mt.borderRadius,outline:"none",transition:`all ${mt.motionDurationMid}`},[`&:hover ${xt}-item-link`]:{backgroundColor:mt.colorBgTextHover},[`&:active ${xt}-item-link`]:{backgroundColor:mt.colorBgTextActive},[`&${xt}-disabled:hover`]:{[`${xt}-item-link`]:{backgroundColor:"transparent"}}},[`${xt}-slash`]:{marginInlineEnd:mt.paginationSlashMarginInlineEnd,marginInlineStart:mt.paginationSlashMarginInlineStart},[`${xt}-options`]:{display:"inline-block",marginInlineStart:mt.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:mt.controlHeight,marginInlineStart:mt.marginXS,lineHeight:`${mt.controlHeight}px`,verticalAlign:"top",input:Object.assign(Object.assign({},(0,It.ik)(mt)),{width:mt.controlHeightLG*1.25,height:mt.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:mt.marginXS,marginInlineEnd:mt.marginXS})}}}},Ln=mt=>{const{componentCls:xt}=mt;return{[`${xt}-item`]:{display:"inline-block",minWidth:mt.itemSize,height:mt.itemSize,marginInlineEnd:mt.marginXS,fontFamily:mt.fontFamily,lineHeight:`${mt.itemSize-2}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${mt.lineWidth}px ${mt.lineType} transparent`,borderRadius:mt.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${mt.paginationItemPaddingInline}px`,color:mt.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${xt}-item-active)`]:{"&:hover":{transition:`all ${mt.motionDurationMid}`,backgroundColor:mt.colorBgTextHover},"&:active":{backgroundColor:mt.colorBgTextActive}},"&-active":{fontWeight:mt.fontWeightStrong,backgroundColor:mt.itemActiveBg,borderColor:mt.colorPrimary,a:{color:mt.colorPrimary},"&:hover":{borderColor:mt.colorPrimaryHover},"&:hover a":{color:mt.colorPrimaryHover}}}}},Te=mt=>{const{componentCls:xt}=mt;return{[xt]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,Nt.Wf)(mt)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${xt}-total-text`]:{display:"inline-block",height:mt.itemSize,marginInlineEnd:mt.marginXS,lineHeight:`${mt.itemSize-2}px`,verticalAlign:"middle"}}),Ln(mt)),Pn(mt)),Cn(mt)),An(mt)),sn(mt)),{[`@media only screen and (max-width: ${mt.screenLG}px)`]:{[`${xt}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${mt.screenSM}px)`]:{[`${xt}-options`]:{display:"none"}}}),[`&${mt.componentCls}-rtl`]:{direction:"rtl"}}},ve=mt=>{const{componentCls:xt}=mt;return{[`${xt}${xt}-disabled:not(${xt}-mini)`]:{"&, &:hover":{[`${xt}-item-link`]:{borderColor:mt.colorBorder}},"&:focus-visible":{[`${xt}-item-link`]:{borderColor:mt.colorBorder}},[`${xt}-item, ${xt}-item-link`]:{backgroundColor:mt.colorBgContainerDisabled,borderColor:mt.colorBorder,[`&:hover:not(${xt}-item-active)`]:{backgroundColor:mt.colorBgContainerDisabled,borderColor:mt.colorBorder,a:{color:mt.colorTextDisabled}},[`&${xt}-item-active`]:{backgroundColor:mt.itemActiveBgDisabled}},[`${xt}-prev, ${xt}-next`]:{"&:hover button":{backgroundColor:mt.colorBgContainerDisabled,borderColor:mt.colorBorder,color:mt.colorTextDisabled},[`${xt}-item-link`]:{backgroundColor:mt.colorBgContainerDisabled,borderColor:mt.colorBorder}}},[`${xt}:not(${xt}-mini)`]:{[`${xt}-prev, ${xt}-next`]:{"&:hover button":{borderColor:mt.colorPrimaryHover,backgroundColor:mt.itemBg},[`${xt}-item-link`]:{backgroundColor:mt.itemLinkBg,borderColor:mt.colorBorder},[`&:hover ${xt}-item-link`]:{borderColor:mt.colorPrimary,backgroundColor:mt.itemBg,color:mt.colorPrimary},[`&${xt}-disabled`]:{[`${xt}-item-link`]:{borderColor:mt.colorBorder,color:mt.colorTextDisabled}}},[`${xt}-item`]:{backgroundColor:mt.itemBg,border:`${mt.lineWidth}px ${mt.lineType} ${mt.colorBorder}`,[`&:hover:not(${xt}-item-active)`]:{borderColor:mt.colorPrimary,backgroundColor:mt.itemBg,a:{color:mt.colorPrimary}},"&-active":{borderColor:mt.colorPrimary}}}}},he=mt=>{const{componentCls:xt}=mt;return{[`${xt}:not(${xt}-disabled)`]:{[`${xt}-item`]:Object.assign({},(0,Nt.Qy)(mt)),[`${xt}-jump-prev, ${xt}-jump-next`]:{"&:focus-visible":Object.assign({[`${xt}-item-link-icon`]:{opacity:1},[`${xt}-item-ellipsis`]:{opacity:0}},(0,Nt.oN)(mt))},[`${xt}-prev, ${xt}-next`]:{[`&:focus-visible ${xt}-item-link`]:Object.assign({},(0,Nt.oN)(mt))}}}};var we=(0,hr.Z)("Pagination",mt=>{const xt=(0,ir.TS)(mt,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:mt.marginXXS/2,paginationMiniQuickJumperInputWidth:mt.controlHeightLG*1.1,paginationItemPaddingInline:mt.marginXXS*1.5,paginationEllipsisLetterSpacing:mt.marginXXS/2,paginationSlashMarginInlineStart:mt.marginXXS,paginationSlashMarginInlineEnd:mt.marginSM,paginationEllipsisTextIndent:"0.13em"},(0,It.e5)(mt),(0,It.TM)(mt));return[Te(xt),he(xt),mt.wireframe&&ve(xt)]},mt=>({itemBg:mt.colorBgContainer,itemSize:mt.controlHeight,itemSizeSM:mt.controlHeightSM,itemActiveBg:mt.colorBgContainer,itemLinkBg:mt.colorBgContainer,itemActiveColorDisabled:mt.colorTextDisabled,itemActiveBgDisabled:mt.controlItemBgActiveDisabled,itemInputBg:mt.colorBgContainer,miniOptionsSizeChangerTop:0})),Re=function(mt,xt){var On={};for(var yn in mt)Object.prototype.hasOwnProperty.call(mt,yn)&&xt.indexOf(yn)<0&&(On[yn]=mt[yn]);if(mt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Qt=0,yn=Object.getOwnPropertySymbols(mt);Qt{const{prefixCls:xt,selectPrefixCls:On,className:yn,rootClassName:Qt,style:pr,size:Vr,locale:vn,selectComponentClass:dr,responsive:ei,showSizeChanger:Ht}=mt,Tt=Re(mt,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:qt}=(0,ft.Z)(ei),{getPrefixCls:Un,direction:nr,pagination:Jr={}}=Oe.useContext(lr.E_),Ii=Un("pagination",xt),[ii,ea]=we(Ii),vo=Ht!=null?Ht:Jr.showSizeChanger,Ha=Oe.useMemo(()=>{const Tn=Oe.createElement("span",{className:`${Ii}-item-ellipsis`},"\u2022\u2022\u2022"),Fr=Oe.createElement("button",{className:`${Ii}-item-link`,type:"button",tabIndex:-1},nr==="rtl"?Oe.createElement(tt.Z,null):Oe.createElement(pt.Z,null)),ki=Oe.createElement("button",{className:`${Ii}-item-link`,type:"button",tabIndex:-1},nr==="rtl"?Oe.createElement(pt.Z,null):Oe.createElement(tt.Z,null)),Vt=Oe.createElement("a",{className:`${Ii}-item-link`},Oe.createElement("div",{className:`${Ii}-item-container`},nr==="rtl"?Oe.createElement(He.Z,{className:`${Ii}-item-link-icon`}):Oe.createElement(Se,{className:`${Ii}-item-link-icon`}),Tn)),Vn=Oe.createElement("a",{className:`${Ii}-item-link`},Oe.createElement("div",{className:`${Ii}-item-container`},nr==="rtl"?Oe.createElement(Se,{className:`${Ii}-item-link-icon`}):Oe.createElement(He.Z,{className:`${Ii}-item-link-icon`}),Tn));return{prevIcon:Fr,nextIcon:ki,jumpPrevIcon:Vt,jumpNextIcon:Vn}},[nr,Ii]),[Hi]=(0,Le.Z)("Pagination",tn.Z),wi=Object.assign(Object.assign({},Hi),vn),Zo=(0,Dr.Z)(Vr),yo=Zo==="small"||!!(qt&&!Zo&&ei),Pa=Un("select",On),Na=ht()({[`${Ii}-mini`]:yo,[`${Ii}-rtl`]:nr==="rtl"},Jr==null?void 0:Jr.className,yn,Qt,ea),Br=Object.assign(Object.assign({},Jr==null?void 0:Jr.style),pr);return ii(Oe.createElement(ln,Object.assign({},Ha,Tt,{style:Br,prefixCls:Ii,selectPrefixCls:Pa,className:Na,selectComponentClass:dr||(yo?Cr:ur),locale:wi,showSizeChanger:vo})))},en=wt},39722:function(Bn,Wn,ie){"use strict";ie.d(Wn,{t5:function(){return pt}});var ee=ie(92310),Oe=ie.n(ee),st=ie(55477),yt=ie(59301),Qe=ie(36355),Je=ie(77578),ye=ie(17356),Se=function(ut,ht){var ot={};for(var Fe in ut)Object.prototype.hasOwnProperty.call(ut,Fe)&&ht.indexOf(Fe)<0&&(ot[Fe]=ut[Fe]);if(ut!=null&&typeof Object.getOwnPropertySymbols=="function")for(var qe=0,Fe=Object.getOwnPropertySymbols(ut);qe{if(!(!ht&&!ot))return yt.createElement(yt.Fragment,null,ht&&yt.createElement("div",{className:`${ut}-title`},(0,Je.Z)(ht)),yt.createElement("div",{className:`${ut}-inner-content`},(0,Je.Z)(ot)))},pt=ut=>{const{hashId:ht,prefixCls:ot,className:Fe,style:qe,placement:St="top",title:jt,content:Lt,children:Ut}=ut;return yt.createElement("div",{className:Oe()(ht,ot,`${ot}-pure`,`${ot}-placement-${St}`,Fe),style:qe},yt.createElement("div",{className:`${ot}-arrow`}),yt.createElement(st.G,Object.assign({},ut,{className:ht,prefixCls:ot}),Ut||He(ot,jt,Lt)))},tt=ut=>{const{prefixCls:ht}=ut,ot=Se(ut,["prefixCls"]),{getPrefixCls:Fe}=yt.useContext(Qe.E_),qe=Fe("popover",ht),[St,jt]=(0,ye.Z)(qe);return St(yt.createElement(pt,Object.assign({},ot,{prefixCls:qe,hashId:jt})))};Wn.ZP=tt},60324:function(Bn,Wn,ie){"use strict";var ee=ie(92310),Oe=ie.n(ee),st=ie(59301),yt=ie(77578),Qe=ie(62892),Je=ie(36355),ye=ie(6848),Se=ie(39722),He=ie(17356),pt=function(ht,ot){var Fe={};for(var qe in ht)Object.prototype.hasOwnProperty.call(ht,qe)&&ot.indexOf(qe)<0&&(Fe[qe]=ht[qe]);if(ht!=null&&typeof Object.getOwnPropertySymbols=="function")for(var St=0,qe=Object.getOwnPropertySymbols(ht);St{let{title:ot,content:Fe,prefixCls:qe}=ht;return st.createElement(st.Fragment,null,ot&&st.createElement("div",{className:`${qe}-title`},(0,yt.Z)(ot)),st.createElement("div",{className:`${qe}-inner-content`},(0,yt.Z)(Fe)))},ut=st.forwardRef((ht,ot)=>{const{prefixCls:Fe,title:qe,content:St,overlayClassName:jt,placement:Lt="top",trigger:Ut="hover",mouseEnterDelay:At=.1,mouseLeaveDelay:Mt=.1,overlayStyle:je={}}=ht,gn=pt(ht,["prefixCls","title","content","overlayClassName","placement","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle"]),{getPrefixCls:Nn}=st.useContext(Je.E_),rn=Nn("popover",Fe),[Et,_t]=(0,He.Z)(rn),We=Nn(),Rt=Oe()(jt,_t);return Et(st.createElement(ye.Z,Object.assign({placement:Lt,trigger:Ut,mouseEnterDelay:At,mouseLeaveDelay:Mt,overlayStyle:je},gn,{prefixCls:rn,overlayClassName:Rt,ref:ot,overlay:qe||St?st.createElement(tt,{prefixCls:rn,title:qe,content:St}):null,transitionName:(0,Qe.m)(We,"zoom-big",gn.transitionName),"data-popover-inject":!0})))});ut._InternalPanelDoNotUseOrYouWillBeFired=Se.ZP,Wn.Z=ut},17356:function(Bn,Wn,ie){"use strict";var ee=ie(17313),Oe=ie(29878),st=ie(19447),yt=ie(33166),Qe=ie(83116),Je=ie(37613);const ye=pt=>{const{componentCls:tt,popoverColor:ut,minWidth:ht,fontWeightStrong:ot,popoverPadding:Fe,boxShadowSecondary:qe,colorTextHeading:St,borderRadiusLG:jt,zIndexPopup:Lt,marginXS:Ut,colorBgElevated:At,popoverBg:Mt}=pt;return[{[tt]:Object.assign(Object.assign({},(0,ee.Wf)(pt)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:Lt,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":At,"&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${tt}-content`]:{position:"relative"},[`${tt}-inner`]:{backgroundColor:Mt,backgroundClip:"padding-box",borderRadius:jt,boxShadow:qe,padding:Fe},[`${tt}-title`]:{minWidth:ht,marginBottom:Ut,color:St,fontWeight:ot},[`${tt}-inner-content`]:{color:ut}})},(0,st.ZP)(pt,{colorBg:"var(--antd-arrow-background-color)"}),{[`${tt}-pure`]:{position:"relative",maxWidth:"none",margin:pt.sizePopupArrow,display:"inline-block",[`${tt}-content`]:{display:"inline-block"}}}]},Se=pt=>{const{componentCls:tt}=pt;return{[tt]:yt.i.map(ut=>{const ht=pt[`${ut}6`];return{[`&${tt}-${ut}`]:{"--antd-arrow-background-color":ht,[`${tt}-inner`]:{backgroundColor:ht},[`${tt}-arrow`]:{background:"transparent"}}}})}},He=pt=>{const{componentCls:tt,lineWidth:ut,lineType:ht,colorSplit:ot,paddingSM:Fe,controlHeight:qe,fontSize:St,lineHeight:jt,padding:Lt}=pt,Ut=qe-Math.round(St*jt),At=Ut/2,Mt=Ut/2-ut,je=Lt;return{[tt]:{[`${tt}-inner`]:{padding:0},[`${tt}-title`]:{margin:0,padding:`${At}px ${je}px ${Mt}px`,borderBottom:`${ut}px ${ht} ${ot}`},[`${tt}-inner-content`]:{padding:`${Fe}px ${je}px`}}}};Wn.Z=(0,Qe.Z)("Popover",pt=>{const{colorBgElevated:tt,colorText:ut,wireframe:ht}=pt,ot=(0,Je.TS)(pt,{popoverPadding:12,popoverBg:tt,popoverColor:ut});return[ye(ot),Se(ot),ht&&He(ot),(0,Oe._y)(ot,"zoom-big")]},pt=>({width:177,minWidth:177,zIndexPopup:pt.zIndexPopupBase+30}),{resetStyle:!1,deprecatedTokens:[["width","minWidth"]]})},5112:function(Bn,Wn,ie){"use strict";ie.d(Wn,{ZP:function(){return ft}});var ee=ie(92310),Oe=ie.n(ee),st=ie(18929),yt=ie(26112),Qe=ie(59301),Je=ie(36355),ye=ie(19716);const Se=Qe.createContext(null),He=Se.Provider;var pt=Se;const tt=Qe.createContext(null),ut=tt.Provider;var ht=ie(5630),ot=ie(8654),Fe=ie(1684),qe=ie(32441),St=ie(17313),jt=ie(83116),Lt=ie(37613);const Ut=Le=>{const{componentCls:Gt,antCls:Cr}=Le,ur=`${Gt}-group`;return{[ur]:Object.assign(Object.assign({},(0,St.Wf)(Le)),{display:"inline-block",fontSize:0,[`&${ur}-rtl`]:{direction:"rtl"},[`${Cr}-badge ${Cr}-badge-count`]:{zIndex:1},[`> ${Cr}-badge:not(:first-child) > ${Cr}-button-wrapper`]:{borderInlineStart:"none"}})}},At=Le=>{const{componentCls:Gt,wrapperMarginInlineEnd:Cr,colorPrimary:ur,radioSize:It,motionDurationSlow:Nt,motionDurationMid:hr,motionEaseInOutCirc:ir,colorBgContainer:sn,colorBorder:An,lineWidth:Cn,dotSize:Pn,colorBgContainerDisabled:Ln,colorTextDisabled:Te,paddingXS:ve,dotColorDisabled:he,lineType:we,radioDotDisabledSize:Re,wireframe:fe,colorWhite:wt}=Le,en=`${Gt}-inner`;return{[`${Gt}-wrapper`]:Object.assign(Object.assign({},(0,St.Wf)(Le)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:Cr,cursor:"pointer",[`&${Gt}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:Le.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${Gt}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${Cn}px ${we} ${ur}`,borderRadius:"50%",visibility:"hidden",content:'""'},[Gt]:Object.assign(Object.assign({},(0,St.Wf)(Le)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${Gt}-wrapper:hover &, + &:hover ${en}`]:{borderColor:ur},[`${Gt}-input:focus-visible + ${en}`]:Object.assign({},(0,St.oN)(Le)),[`${Gt}:hover::after, ${Gt}-wrapper:hover &::after`]:{visibility:"visible"},[`${Gt}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:It,height:It,marginBlockStart:It/-2,marginInlineStart:It/-2,backgroundColor:fe?ur:wt,borderBlockStart:0,borderInlineStart:0,borderRadius:It,transform:"scale(0)",opacity:0,transition:`all ${Nt} ${ir}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:It,height:It,backgroundColor:sn,borderColor:An,borderStyle:"solid",borderWidth:Cn,borderRadius:"50%",transition:`all ${hr}`},[`${Gt}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${Gt}-checked`]:{[en]:{borderColor:ur,backgroundColor:fe?sn:ur,"&::after":{transform:`scale(${Pn/It})`,opacity:1,transition:`all ${Nt} ${ir}`}}},[`${Gt}-disabled`]:{cursor:"not-allowed",[en]:{backgroundColor:Ln,borderColor:An,cursor:"not-allowed","&::after":{backgroundColor:he}},[`${Gt}-input`]:{cursor:"not-allowed"},[`${Gt}-disabled + span`]:{color:Te,cursor:"not-allowed"},[`&${Gt}-checked`]:{[en]:{"&::after":{transform:`scale(${Re/It})`}}}},[`span${Gt} + *`]:{paddingInlineStart:ve,paddingInlineEnd:ve}})}},Mt=Le=>{const{buttonColor:Gt,controlHeight:Cr,componentCls:ur,lineWidth:It,lineType:Nt,colorBorder:hr,motionDurationSlow:ir,motionDurationMid:sn,buttonPaddingInline:An,fontSize:Cn,buttonBg:Pn,fontSizeLG:Ln,controlHeightLG:Te,controlHeightSM:ve,paddingXS:he,borderRadius:we,borderRadiusSM:Re,borderRadiusLG:fe,buttonCheckedBg:wt,buttonSolidCheckedColor:en,colorTextDisabled:mt,colorBgContainerDisabled:xt,buttonCheckedBgDisabled:On,buttonCheckedColorDisabled:yn,colorPrimary:Qt,colorPrimaryHover:pr,colorPrimaryActive:Vr,buttonSolidCheckedBg:vn,buttonSolidCheckedHoverBg:dr,buttonSolidCheckedActiveBg:ei}=Le;return{[`${ur}-button-wrapper`]:{position:"relative",display:"inline-block",height:Cr,margin:0,paddingInline:An,paddingBlock:0,color:Gt,fontSize:Cn,lineHeight:`${Cr-It*2}px`,background:Pn,border:`${It}px ${Nt} ${hr}`,borderBlockStartWidth:It+.02,borderInlineStartWidth:0,borderInlineEndWidth:It,cursor:"pointer",transition:[`color ${sn}`,`background ${sn}`,`box-shadow ${sn}`].join(","),a:{color:Gt},[`> ${ur}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:-It,insetInlineStart:-It,display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:It,paddingInline:0,backgroundColor:hr,transition:`background-color ${ir}`,content:'""'}},"&:first-child":{borderInlineStart:`${It}px ${Nt} ${hr}`,borderStartStartRadius:we,borderEndStartRadius:we},"&:last-child":{borderStartEndRadius:we,borderEndEndRadius:we},"&:first-child:last-child":{borderRadius:we},[`${ur}-group-large &`]:{height:Te,fontSize:Ln,lineHeight:`${Te-It*2}px`,"&:first-child":{borderStartStartRadius:fe,borderEndStartRadius:fe},"&:last-child":{borderStartEndRadius:fe,borderEndEndRadius:fe}},[`${ur}-group-small &`]:{height:ve,paddingInline:he-It,paddingBlock:0,lineHeight:`${ve-It*2}px`,"&:first-child":{borderStartStartRadius:Re,borderEndStartRadius:Re},"&:last-child":{borderStartEndRadius:Re,borderEndEndRadius:Re}},"&:hover":{position:"relative",color:Qt},"&:has(:focus-visible)":Object.assign({},(0,St.oN)(Le)),[`${ur}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${ur}-button-wrapper-disabled)`]:{zIndex:1,color:Qt,background:wt,borderColor:Qt,"&::before":{backgroundColor:Qt},"&:first-child":{borderColor:Qt},"&:hover":{color:pr,borderColor:pr,"&::before":{backgroundColor:pr}},"&:active":{color:Vr,borderColor:Vr,"&::before":{backgroundColor:Vr}}},[`${ur}-group-solid &-checked:not(${ur}-button-wrapper-disabled)`]:{color:en,background:vn,borderColor:vn,"&:hover":{color:en,background:dr,borderColor:dr},"&:active":{color:en,background:ei,borderColor:ei}},"&-disabled":{color:mt,backgroundColor:xt,borderColor:hr,cursor:"not-allowed","&:first-child, &:hover":{color:mt,backgroundColor:xt,borderColor:hr}},[`&-disabled${ur}-button-wrapper-checked`]:{color:yn,backgroundColor:On,borderColor:hr,boxShadow:"none"}}}},je=Le=>Le-4*2;var gn=(0,jt.Z)("Radio",Le=>{const{controlOutline:Gt,controlOutlineWidth:Cr,radioSize:ur}=Le,It=`0 0 0 ${Cr}px ${Gt}`,Nt=It,hr=je(ur),ir=(0,Lt.TS)(Le,{radioDotDisabledSize:hr,radioFocusShadow:It,radioButtonFocusShadow:Nt});return[Ut(ir),At(ir),Mt(ir)]},Le=>{const{wireframe:Gt,padding:Cr,marginXS:ur,lineWidth:It,fontSizeLG:Nt,colorText:hr,colorBgContainer:ir,colorTextDisabled:sn,controlItemBgActiveDisabled:An,colorTextLightSolid:Cn,colorPrimary:Pn,colorPrimaryHover:Ln,colorPrimaryActive:Te}=Le,ve=4,he=Nt,we=Gt?je(he):he-(ve+It)*2;return{radioSize:he,dotSize:we,dotColorDisabled:sn,buttonSolidCheckedColor:Cn,buttonSolidCheckedBg:Pn,buttonSolidCheckedHoverBg:Ln,buttonSolidCheckedActiveBg:Te,buttonBg:ir,buttonCheckedBg:ir,buttonColor:hr,buttonCheckedBgDisabled:An,buttonCheckedColorDisabled:sn,buttonPaddingInline:Cr-It,wrapperMarginInlineEnd:ur}}),Nn=ie(14088),rn=ie(4572),Et=function(Le,Gt){var Cr={};for(var ur in Le)Object.prototype.hasOwnProperty.call(Le,ur)&&Gt.indexOf(ur)<0&&(Cr[ur]=Le[ur]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var It=0,ur=Object.getOwnPropertySymbols(Le);It{var Cr,ur;const It=Qe.useContext(pt),Nt=Qe.useContext(tt),{getPrefixCls:hr,direction:ir,radio:sn}=Qe.useContext(Je.E_),An=Qe.useRef(null),Cn=(0,ot.sQ)(Gt,An),{isFormItemInput:Pn}=Qe.useContext(qe.aM),Ln=Vr=>{var vn,dr;(vn=Le.onChange)===null||vn===void 0||vn.call(Le,Vr),(dr=It==null?void 0:It.onChange)===null||dr===void 0||dr.call(It,Vr)},{prefixCls:Te,className:ve,rootClassName:he,children:we,style:Re}=Le,fe=Et(Le,["prefixCls","className","rootClassName","children","style"]),wt=hr("radio",Te),en=((It==null?void 0:It.optionType)||Nt)==="button",mt=en?`${wt}-button`:wt,[xt,On]=gn(wt),yn=Object.assign({},fe),Qt=Qe.useContext(Fe.Z);It&&(yn.name=It.name,yn.onChange=Ln,yn.checked=Le.value===It.value,yn.disabled=(Cr=yn.disabled)!==null&&Cr!==void 0?Cr:It.disabled),yn.disabled=(ur=yn.disabled)!==null&&ur!==void 0?ur:Qt;const pr=Oe()(`${mt}-wrapper`,{[`${mt}-wrapper-checked`]:yn.checked,[`${mt}-wrapper-disabled`]:yn.disabled,[`${mt}-wrapper-rtl`]:ir==="rtl",[`${mt}-wrapper-in-form-item`]:Pn},sn==null?void 0:sn.className,ve,he,On);return xt(Qe.createElement(Nn.Z,{component:"Radio",disabled:yn.disabled},Qe.createElement("label",{className:pr,style:Object.assign(Object.assign({},sn==null?void 0:sn.style),Re),onMouseEnter:Le.onMouseEnter,onMouseLeave:Le.onMouseLeave},Qe.createElement(ht.Z,Object.assign({},yn,{className:Oe()(yn.className,!en&&rn.A),type:"radio",prefixCls:mt,ref:Cn})),we!==void 0?Qe.createElement("span",null,we):null)))};var Rt=Qe.forwardRef(_t);const lt=Qe.forwardRef((Le,Gt)=>{const{getPrefixCls:Cr,direction:ur}=Qe.useContext(Je.E_),[It,Nt]=(0,st.Z)(Le.defaultValue,{value:Le.value}),hr=vn=>{const dr=It,ei=vn.target.value;"value"in Le||Nt(ei);const{onChange:Ht}=Le;Ht&&ei!==dr&&Ht(vn)},{prefixCls:ir,className:sn,rootClassName:An,options:Cn,buttonStyle:Pn="outline",disabled:Ln,children:Te,size:ve,style:he,id:we,onMouseEnter:Re,onMouseLeave:fe,onFocus:wt,onBlur:en}=Le,mt=Cr("radio",ir),xt=`${mt}-group`,[On,yn]=gn(mt);let Qt=Te;Cn&&Cn.length>0&&(Qt=Cn.map(vn=>typeof vn=="string"||typeof vn=="number"?Qe.createElement(Rt,{key:vn.toString(),prefixCls:mt,disabled:Ln,value:vn,checked:It===vn},vn):Qe.createElement(Rt,{key:`radio-group-value-options-${vn.value}`,prefixCls:mt,disabled:vn.disabled||Ln,value:vn.value,checked:It===vn.value,title:vn.title,style:vn.style},vn.label)));const pr=(0,ye.Z)(ve),Vr=Oe()(xt,`${xt}-${Pn}`,{[`${xt}-${pr}`]:pr,[`${xt}-rtl`]:ur==="rtl"},sn,An,yn);return On(Qe.createElement("div",Object.assign({},(0,yt.Z)(Le,{aria:!0,data:!0}),{className:Vr,style:he,onMouseEnter:Re,onMouseLeave:fe,onFocus:wt,onBlur:en,id:we,ref:Gt}),Qe.createElement(He,{value:{onChange:hr,value:It,disabled:Le.disabled,name:Le.name,optionType:Le.optionType}},Qt)))});var dn=Qe.memo(lt),ln=function(Le,Gt){var Cr={};for(var ur in Le)Object.prototype.hasOwnProperty.call(Le,ur)&&Gt.indexOf(ur)<0&&(Cr[ur]=Le[ur]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var It=0,ur=Object.getOwnPropertySymbols(Le);It{const{getPrefixCls:Cr}=Qe.useContext(Je.E_),{prefixCls:ur}=Le,It=ln(Le,["prefixCls"]),Nt=Cr("radio",ur);return Qe.createElement(ut,{value:"button"},Qe.createElement(Rt,Object.assign({prefixCls:Nt},It,{type:"radio",ref:Gt})))};var lr=Qe.forwardRef(tn);const Dr=Rt;Dr.Button=lr,Dr.Group=dn,Dr.__ANT_RADIO=!0;var ft=Dr},15969:function(Bn,Wn,ie){"use strict";ie.d(Wn,{N:function(){return ee}});const ee=Oe=>({color:Oe.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${Oe.motionDurationSlow}`,"&:focus, &:hover":{color:Oe.colorLinkHover},"&:active":{color:Oe.colorLinkActive}})},78673:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Rt}});var ee=ie(58617),Oe=ie(92310),st=ie.n(Oe),yt=ie(60499),Qe=ie(18642),Je=ie(72190),ye=ie(42244),Se=ie(59301),He=ie(18929),pt=ie(10228),tt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],ut=Se.forwardRef(function(lt,dn){var ln,tn=lt.prefixCls,lr=tn===void 0?"rc-switch":tn,Dr=lt.className,ft=lt.checked,Le=lt.defaultChecked,Gt=lt.disabled,Cr=lt.loadingIcon,ur=lt.checkedChildren,It=lt.unCheckedChildren,Nt=lt.onClick,hr=lt.onChange,ir=lt.onKeyDown,sn=(0,ye.Z)(lt,tt),An=(0,He.Z)(!1,{value:ft,defaultValue:Le}),Cn=(0,Je.Z)(An,2),Pn=Cn[0],Ln=Cn[1];function Te(Re,fe){var wt=Pn;return Gt||(wt=Re,Ln(wt),hr==null||hr(wt,fe)),wt}function ve(Re){Re.which===pt.Z.LEFT?Te(!1,Re):Re.which===pt.Z.RIGHT&&Te(!0,Re),ir==null||ir(Re)}function he(Re){var fe=Te(!Pn,Re);Nt==null||Nt(fe,Re)}var we=st()(lr,Dr,(ln={},(0,Qe.Z)(ln,"".concat(lr,"-checked"),Pn),(0,Qe.Z)(ln,"".concat(lr,"-disabled"),Gt),ln));return Se.createElement("button",(0,yt.Z)({},sn,{type:"button",role:"switch","aria-checked":Pn,disabled:Gt,className:we,ref:dn,onKeyDown:ve,onClick:he}),Cr,Se.createElement("span",{className:"".concat(lr,"-inner")},Se.createElement("span",{className:"".concat(lr,"-inner-checked")},ur),Se.createElement("span",{className:"".concat(lr,"-inner-unchecked")},It)))});ut.displayName="Switch";var ht=ut,ot=ie(14088),Fe=ie(36355),qe=ie(1684),St=ie(19716),jt=ie(64993),Lt=ie(17313),Ut=ie(83116),At=ie(37613);const Mt=lt=>{const{componentCls:dn,trackHeightSM:ln,trackPadding:tn,trackMinWidthSM:lr,innerMinMarginSM:Dr,innerMaxMarginSM:ft,handleSizeSM:Le}=lt,Gt=`${dn}-inner`;return{[dn]:{[`&${dn}-small`]:{minWidth:lr,height:ln,lineHeight:`${ln}px`,[`${dn}-inner`]:{paddingInlineStart:ft,paddingInlineEnd:Dr,[`${Gt}-checked`]:{marginInlineStart:`calc(-100% + ${Le+tn*2}px - ${ft*2}px)`,marginInlineEnd:`calc(100% - ${Le+tn*2}px + ${ft*2}px)`},[`${Gt}-unchecked`]:{marginTop:-ln,marginInlineStart:0,marginInlineEnd:0}},[`${dn}-handle`]:{width:Le,height:Le},[`${dn}-loading-icon`]:{top:(Le-lt.switchLoadingIconSize)/2,fontSize:lt.switchLoadingIconSize},[`&${dn}-checked`]:{[`${dn}-inner`]:{paddingInlineStart:Dr,paddingInlineEnd:ft,[`${Gt}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${Gt}-unchecked`]:{marginInlineStart:`calc(100% - ${Le+tn*2}px + ${ft*2}px)`,marginInlineEnd:`calc(-100% + ${Le+tn*2}px - ${ft*2}px)`}},[`${dn}-handle`]:{insetInlineStart:`calc(100% - ${Le+tn}px)`}},[`&:not(${dn}-disabled):active`]:{[`&:not(${dn}-checked) ${Gt}`]:{[`${Gt}-unchecked`]:{marginInlineStart:lt.marginXXS/2,marginInlineEnd:-lt.marginXXS/2}},[`&${dn}-checked ${Gt}`]:{[`${Gt}-checked`]:{marginInlineStart:-lt.marginXXS/2,marginInlineEnd:lt.marginXXS/2}}}}}}},je=lt=>{const{componentCls:dn,handleSize:ln}=lt;return{[dn]:{[`${dn}-loading-icon${lt.iconCls}`]:{position:"relative",top:(ln-lt.fontSize)/2,color:lt.switchLoadingIconColor,verticalAlign:"top"},[`&${dn}-checked ${dn}-loading-icon`]:{color:lt.switchColor}}}},gn=lt=>{const{componentCls:dn,motion:ln,trackPadding:tn,handleBg:lr,handleShadow:Dr,handleSize:ft}=lt,Le=`${dn}-handle`;return{[dn]:{[Le]:{position:"absolute",top:tn,insetInlineStart:tn,width:ft,height:ft,transition:`all ${lt.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:lr,borderRadius:ft/2,boxShadow:Dr,transition:`all ${lt.switchDuration} ease-in-out`,content:'""'}},[`&${dn}-checked ${Le}`]:{insetInlineStart:`calc(100% - ${ft+tn}px)`},[`&:not(${dn}-disabled):active`]:ln?{[`${Le}::before`]:{insetInlineEnd:lt.switchHandleActiveInset,insetInlineStart:0},[`&${dn}-checked ${Le}::before`]:{insetInlineEnd:0,insetInlineStart:lt.switchHandleActiveInset}}:{}}}},Nn=lt=>{const{componentCls:dn,trackHeight:ln,trackPadding:tn,innerMinMargin:lr,innerMaxMargin:Dr,handleSize:ft}=lt,Le=`${dn}-inner`;return{[dn]:{[Le]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:Dr,paddingInlineEnd:lr,transition:`padding-inline-start ${lt.switchDuration} ease-in-out, padding-inline-end ${lt.switchDuration} ease-in-out`,[`${Le}-checked, ${Le}-unchecked`]:{display:"block",color:lt.colorTextLightSolid,fontSize:lt.fontSizeSM,transition:`margin-inline-start ${lt.switchDuration} ease-in-out, margin-inline-end ${lt.switchDuration} ease-in-out`,pointerEvents:"none"},[`${Le}-checked`]:{marginInlineStart:`calc(-100% + ${ft+tn*2}px - ${Dr*2}px)`,marginInlineEnd:`calc(100% - ${ft+tn*2}px + ${Dr*2}px)`},[`${Le}-unchecked`]:{marginTop:-ln,marginInlineStart:0,marginInlineEnd:0}},[`&${dn}-checked ${Le}`]:{paddingInlineStart:lr,paddingInlineEnd:Dr,[`${Le}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${Le}-unchecked`]:{marginInlineStart:`calc(100% - ${ft+tn*2}px + ${Dr*2}px)`,marginInlineEnd:`calc(-100% + ${ft+tn*2}px - ${Dr*2}px)`}},[`&:not(${dn}-disabled):active`]:{[`&:not(${dn}-checked) ${Le}`]:{[`${Le}-unchecked`]:{marginInlineStart:tn*2,marginInlineEnd:-tn*2}},[`&${dn}-checked ${Le}`]:{[`${Le}-checked`]:{marginInlineStart:-tn*2,marginInlineEnd:tn*2}}}}}},rn=lt=>{const{componentCls:dn,trackHeight:ln,trackMinWidth:tn}=lt;return{[dn]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,Lt.Wf)(lt)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:tn,height:ln,lineHeight:`${ln}px`,verticalAlign:"middle",background:lt.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${lt.motionDurationMid}`,userSelect:"none",[`&:hover:not(${dn}-disabled)`]:{background:lt.colorTextTertiary}}),(0,Lt.Qy)(lt)),{[`&${dn}-checked`]:{background:lt.switchColor,[`&:hover:not(${dn}-disabled)`]:{background:lt.colorPrimaryHover}},[`&${dn}-loading, &${dn}-disabled`]:{cursor:"not-allowed",opacity:lt.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${dn}-rtl`]:{direction:"rtl"}})}};var Et=(0,Ut.Z)("Switch",lt=>{const dn=(0,At.TS)(lt,{switchDuration:lt.motionDurationMid,switchColor:lt.colorPrimary,switchDisabledOpacity:lt.opacityLoading,switchLoadingIconSize:lt.fontSizeIcon*.75,switchLoadingIconColor:`rgba(0, 0, 0, ${lt.opacityLoading})`,switchHandleActiveInset:"-30%"});return[rn(dn),Nn(dn),gn(dn),je(dn),Mt(dn)]},lt=>{const{fontSize:dn,lineHeight:ln,controlHeight:tn,colorWhite:lr}=lt,Dr=dn*ln,ft=tn/2,Le=2,Gt=Dr-Le*2,Cr=ft-Le*2;return{trackHeight:Dr,trackHeightSM:ft,trackMinWidth:Gt*2+Le*4,trackMinWidthSM:Cr*2+Le*2,trackPadding:Le,handleBg:lr,handleSize:Gt,handleSizeSM:Cr,handleShadow:`0 2px 4px 0 ${new jt.C("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:Gt/2,innerMaxMargin:Gt+Le+Le*2,innerMinMarginSM:Cr/2,innerMaxMarginSM:Cr+Le+Le*2}}),_t=function(lt,dn){var ln={};for(var tn in lt)Object.prototype.hasOwnProperty.call(lt,tn)&&dn.indexOf(tn)<0&&(ln[tn]=lt[tn]);if(lt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var lr=0,tn=Object.getOwnPropertySymbols(lt);lr{const{prefixCls:ln,size:tn,disabled:lr,loading:Dr,className:ft,rootClassName:Le,style:Gt}=lt,Cr=_t(lt,["prefixCls","size","disabled","loading","className","rootClassName","style"]),{getPrefixCls:ur,direction:It,switch:Nt}=Se.useContext(Fe.E_),hr=Se.useContext(qe.Z),ir=(lr!=null?lr:hr)||Dr,sn=ur("switch",ln),An=Se.createElement("div",{className:`${sn}-handle`},Dr&&Se.createElement(ee.Z,{className:`${sn}-loading-icon`})),[Cn,Pn]=Et(sn),Ln=(0,St.Z)(tn),Te=st()(Nt==null?void 0:Nt.className,{[`${sn}-small`]:Ln==="small",[`${sn}-loading`]:Dr,[`${sn}-rtl`]:It==="rtl"},ft,Le,Pn),ve=Object.assign(Object.assign({},Nt==null?void 0:Nt.style),Gt);return Cn(Se.createElement(ot.Z,{component:"Switch"},Se.createElement(ht,Object.assign({},Cr,{prefixCls:sn,className:Te,style:ve,disabled:ir,ref:dn,loadingIcon:An}))))});We.__ANT_SWITCH=!0;var Rt=We},1710:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return Nu}});var ee={},Oe="rc-table-internal-hook",st=ie(72190),yt=ie(6089),Qe=ie(34280),Je=ie(13697),ye=ie(59301),Se=ie(4676);function He(Ve){var _e=ye.createContext(void 0),Pt=function(fn){var un=fn.value,qn=fn.children,_n=ye.useRef(un);_n.current=un;var Xn=ye.useState(function(){return{getValue:function(){return _n.current},listeners:new Set}}),Lr=(0,st.Z)(Xn,1),Sr=Lr[0];return(0,Qe.Z)(function(){(0,Se.unstable_batchedUpdates)(function(){Sr.listeners.forEach(function(Ir){Ir(un)})})},[un]),ye.createElement(_e.Provider,{value:Sr},qn)};return{Context:_e,Provider:Pt,defaultValue:Ve}}function pt(Ve,_e){var Pt=(0,yt.Z)(typeof _e=="function"?_e:function(Ir){if(_e===void 0)return Ir;if(!Array.isArray(_e))return Ir[_e];var mi={};return _e.forEach(function(pi){mi[pi]=Ir[pi]}),mi}),Wt=ye.useContext(Ve==null?void 0:Ve.Context),fn=Wt||{},un=fn.listeners,qn=fn.getValue,_n=ye.useRef();_n.current=Pt(Wt?qn():Ve==null?void 0:Ve.defaultValue);var Xn=ye.useState({}),Lr=(0,st.Z)(Xn,2),Sr=Lr[1];return(0,Qe.Z)(function(){if(!Wt)return;function Ir(mi){var pi=Pt(mi);(0,Je.Z)(_n.current,pi,!0)||Sr({})}return un.add(Ir),function(){un.delete(Ir)}},[Wt]),_n.current}var tt=ie(60499),ut=ie(8654);function ht(){var Ve=ye.createContext(null);function _e(){return ye.useContext(Ve)}function Pt(fn,un){var qn=(0,ut.Yr)(fn),_n=function(Lr,Sr){var Ir=qn?{ref:Sr}:{},mi=ye.useRef(0),pi=ye.useRef(Lr),xi=_e();return xi!==null?ye.createElement(fn,(0,tt.Z)({},Lr,Ir)):((!un||un(pi.current,Lr))&&(mi.current+=1),pi.current=Lr,ye.createElement(Ve.Provider,{value:mi.current},ye.createElement(fn,(0,tt.Z)({},Lr,Ir))))};return qn?ye.forwardRef(_n):_n}function Wt(fn,un){var qn=(0,ut.Yr)(fn),_n=function(Lr,Sr){var Ir=qn?{ref:Sr}:{};return _e(),ye.createElement(fn,(0,tt.Z)({},Lr,Ir))};return qn?ye.memo(ye.forwardRef(_n),un):ye.memo(_n,un)}return{makeImmutable:Pt,responseImmutable:Wt,useImmutableMark:_e}}var ot=ht(),Fe=ot.makeImmutable,qe=ot.responseImmutable,St=ot.useImmutableMark,jt=ht(),Lt=jt.makeImmutable,Ut=jt.responseImmutable,At=jt.useImmutableMark,Mt=He(),je=Mt;function gn(Ve,_e){var Pt=ye.useRef(0);Pt.current+=1;var Wt=ye.useRef(Ve),fn=[];Object.keys(Ve||{}).map(function(qn){var _n;(Ve==null?void 0:Ve[qn])!==((_n=Wt.current)===null||_n===void 0?void 0:_n[qn])&&fn.push(qn)}),Wt.current=Ve;var un=ye.useRef([]);return fn.length&&(un.current=fn),ye.useDebugValue(Pt.current),ye.useDebugValue(un.current.join(", ")),_e&&console.log("".concat(_e,":"),Pt.current,un.current),Pt.current}var Nn=null,rn=ye.memo(function(){var Ve=gn();return ye.createElement("h1",null,"Render Times: ",Ve)});rn.displayName="RenderBlock";var Et=ie(43749),_t=ie(85899),We=ie(18642),Rt=ie(92310),lt=ie.n(Rt),dn=ie(80547),ln=ie(97938),tn=ie(48736),lr=ye.createContext({renderWithProps:!1}),Dr=lr,ft="RC_TABLE_KEY";function Le(Ve){return Ve==null?[]:Array.isArray(Ve)?Ve:[Ve]}function Gt(Ve){var _e=[],Pt={};return Ve.forEach(function(Wt){for(var fn=Wt||{},un=fn.key,qn=fn.dataIndex,_n=un||Le(qn).join("-")||ft;Pt[_n];)_n="".concat(_n,"_next");Pt[_n]=!0,_e.push(_n)}),_e}function Cr(Ve){return Ve!=null}function ur(Ve){return Ve&&(0,Et.Z)(Ve)==="object"&&!Array.isArray(Ve)&&!ye.isValidElement(Ve)}function It(Ve,_e,Pt,Wt,fn,un){var qn=ye.useContext(Dr),_n=At(),Xn=(0,dn.Z)(function(){if(Cr(Wt))return[Wt];var Lr=_e==null||_e===""?[]:Array.isArray(_e)?_e:[_e],Sr=(0,ln.Z)(Ve,Lr),Ir=Sr,mi=void 0;if(fn){var pi=fn(Sr,Ve,Pt);ur(pi)?(Ir=pi.children,mi=pi.props,qn.renderWithProps=!0):Ir=pi}return[Ir,mi]},[_n,Ve,Wt,_e,fn,Pt],function(Lr,Sr){if(un){var Ir=(0,st.Z)(Lr,2),mi=Ir[1],pi=(0,st.Z)(Sr,2),xi=pi[1];return un(xi,mi)}return qn.renderWithProps?!0:!(0,Je.Z)(Lr,Sr,!0)});return Xn}function Nt(Ve,_e,Pt,Wt){var fn=Ve+_e-1;return Ve<=Wt&&fn>=Pt}function hr(Ve,_e){return pt(je,function(Pt){var Wt=Nt(Ve,_e||1,Pt.hoverStartRow,Pt.hoverEndRow);return[Wt,Pt.onHover]})}var ir=function(_e){var Pt=_e.ellipsis,Wt=_e.rowType,fn=_e.children,un,qn=Pt===!0?{showTitle:!0}:Pt;return qn&&(qn.showTitle||Wt==="header")&&(typeof fn=="string"||typeof fn=="number"?un=fn.toString():ye.isValidElement(fn)&&typeof fn.props.children=="string"&&(un=fn.props.children)),un};function sn(Ve){var _e,Pt,Wt,fn,un,qn,_n,Xn,Lr=Ve.component,Sr=Ve.children,Ir=Ve.ellipsis,mi=Ve.scope,pi=Ve.prefixCls,xi=Ve.className,Ri=Ve.align,Fi=Ve.record,ya=Ve.render,Kr=Ve.dataIndex,ta=Ve.renderIndex,qa=Ve.shouldCellUpdate,Xo=Ve.index,Co=Ve.rowType,Yo=Ve.colSpan,bo=Ve.rowSpan,Ta=Ve.fixLeft,So=Ve.fixRight,Ra=Ve.firstFixLeft,Gi=Ve.lastFixLeft,ba=Ve.firstFixRight,Ko=Ve.lastFixRight,Rl=Ve.appendNode,Dn=Ve.additionalProps,Or=Dn===void 0?{}:Dn,ae=Ve.isSticky,de="".concat(pi,"-cell"),pe=pt(je,["supportSticky","allColumnsFixedLeft"]),xe=pe.supportSticky,ke=pe.allColumnsFixedLeft,ze=It(Fi,Kr,ta,Sr,ya,qa),Ye=(0,st.Z)(ze,2),Ke=Ye[0],ct=Ye[1],rt={},Ct=typeof Ta=="number"&&xe,Xt=typeof So=="number"&&xe;Ct&&(rt.position="sticky",rt.left=Ta),Xt&&(rt.position="sticky",rt.right=So);var Bt=(_e=(Pt=(Wt=ct==null?void 0:ct.colSpan)!==null&&Wt!==void 0?Wt:Or.colSpan)!==null&&Pt!==void 0?Pt:Yo)!==null&&_e!==void 0?_e:1,Sn=(fn=(un=(qn=ct==null?void 0:ct.rowSpan)!==null&&qn!==void 0?qn:Or.rowSpan)!==null&&un!==void 0?un:bo)!==null&&fn!==void 0?fn:1,Zt=hr(Xo,Sn),nn=(0,st.Z)(Zt,2),cn=nn[0],on=nn[1],bn=function(Tr){var yi;Fi&&on(Xo,Xo+Sn-1),Or==null||(yi=Or.onMouseEnter)===null||yi===void 0||yi.call(Or,Tr)},Mr=function(Tr){var yi;Fi&&on(-1,-1),Or==null||(yi=Or.onMouseLeave)===null||yi===void 0||yi.call(Or,Tr)};if(Bt===0||Sn===0)return null;var ti=(_n=Or.title)!==null&&_n!==void 0?_n:ir({rowType:Co,ellipsis:Ir,children:Ke}),xa=lt()(de,xi,(Xn={},(0,We.Z)(Xn,"".concat(de,"-fix-left"),Ct&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-left-first"),Ra&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-left-last"),Gi&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-left-all"),Gi&&ke&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-right"),Xt&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-right-first"),ba&&xe),(0,We.Z)(Xn,"".concat(de,"-fix-right-last"),Ko&&xe),(0,We.Z)(Xn,"".concat(de,"-ellipsis"),Ir),(0,We.Z)(Xn,"".concat(de,"-with-append"),Rl),(0,We.Z)(Xn,"".concat(de,"-fix-sticky"),(Ct||Xt)&&ae&&xe),(0,We.Z)(Xn,"".concat(de,"-row-hover"),!ct&&cn),Xn),Or.className,ct==null?void 0:ct.className),ui={};Ri&&(ui.textAlign=Ri);var ka=(0,_t.Z)((0,_t.Z)((0,_t.Z)((0,_t.Z)({},rt),Or.style),ui),ct==null?void 0:ct.style),Xa=Ke;return(0,Et.Z)(Xa)==="object"&&!Array.isArray(Xa)&&!ye.isValidElement(Xa)&&(Xa=null),Ir&&(Gi||ba)&&(Xa=ye.createElement("span",{className:"".concat(de,"-content")},Xa)),ye.createElement(Lr,(0,tt.Z)({},ct,Or,{className:xa,style:ka,title:ti,scope:mi,onMouseEnter:bn,onMouseLeave:Mr,colSpan:Bt!==1?Bt:null,rowSpan:Sn!==1?Sn:null}),Rl,Xa)}var An=ye.memo(sn);function Cn(Ve,_e,Pt,Wt,fn,un){var qn=Pt[Ve]||{},_n=Pt[_e]||{},Xn,Lr;qn.fixed==="left"?Xn=Wt.left[fn==="rtl"?_e:Ve]:_n.fixed==="right"&&(Lr=Wt.right[fn==="rtl"?Ve:_e]);var Sr=!1,Ir=!1,mi=!1,pi=!1,xi=Pt[_e+1],Ri=Pt[Ve-1],Fi=!(un!=null&&un.children);if(fn==="rtl"){if(Xn!==void 0){var ya=Ri&&Ri.fixed==="left";pi=!ya&&Fi}else if(Lr!==void 0){var Kr=xi&&xi.fixed==="right";mi=!Kr&&Fi}}else if(Xn!==void 0){var ta=xi&&xi.fixed==="left";Sr=!ta&&Fi}else if(Lr!==void 0){var qa=Ri&&Ri.fixed==="right";Ir=!qa&&Fi}return{fixLeft:Xn,fixRight:Lr,lastFixLeft:Sr,firstFixRight:Ir,lastFixRight:mi,firstFixLeft:pi,isSticky:Wt.isSticky}}var Pn=ye.createContext({}),Ln=Pn;function Te(Ve){var _e=Ve.className,Pt=Ve.index,Wt=Ve.children,fn=Ve.colSpan,un=fn===void 0?1:fn,qn=Ve.rowSpan,_n=Ve.align,Xn=pt(je,["prefixCls","direction"]),Lr=Xn.prefixCls,Sr=Xn.direction,Ir=ye.useContext(Ln),mi=Ir.scrollColumnIndex,pi=Ir.stickyOffsets,xi=Ir.flattenColumns,Ri=Ir.columns,Fi=Pt+un-1,ya=Fi+1===mi?un+1:un,Kr=Cn(Pt,Pt+ya-1,xi,pi,Sr,Ri==null?void 0:Ri[Pt]);return ye.createElement(An,(0,tt.Z)({className:_e,index:Pt,component:"td",prefixCls:Lr,record:null,dataIndex:null,align:_n,colSpan:ya,rowSpan:qn,render:function(){return Wt}},Kr))}var ve=ie(42244),he=["children"];function we(Ve){var _e=Ve.children,Pt=(0,ve.Z)(Ve,he);return ye.createElement("tr",Pt,_e)}function Re(Ve){var _e=Ve.children;return _e}Re.Row=we,Re.Cell=Te;var fe=Re;function wt(Ve){var _e=Ve.children,Pt=Ve.stickyOffsets,Wt=Ve.flattenColumns,fn=Ve.columns,un=pt(je,"prefixCls"),qn=Wt.length-1,_n=Wt[qn],Xn=ye.useMemo(function(){return{stickyOffsets:Pt,flattenColumns:Wt,scrollColumnIndex:_n!=null&&_n.scrollbar?qn:null,columns:fn}},[_n,Wt,qn,Pt,fn]);return ye.createElement(Ln.Provider,{value:Xn},ye.createElement("tfoot",{className:"".concat(un,"-summary")},_e))}var en=Ut(wt),mt=fe,xt=ie(70425),On=ie(29301),yn=ie(29194),Qt=ie(24514),pr=ie(75152),Vr=ie(26112);function vn(Ve,_e,Pt,Wt,fn,un,qn){Ve.push({record:_e,indent:Pt,index:qn});var _n=un(_e),Xn=fn==null?void 0:fn.has(_n);if(_e&&Array.isArray(_e[Wt])&&Xn)for(var Lr=0;Lr<_e[Wt].length;Lr+=1)vn(Ve,_e[Wt][Lr],Pt+1,Wt,fn,un,Lr)}function dr(Ve,_e,Pt,Wt){var fn=ye.useMemo(function(){if(Pt!=null&&Pt.size){for(var un=[],qn=0;qn<(Ve==null?void 0:Ve.length);qn+=1){var _n=Ve[qn];vn(un,_n,0,_e,Pt,Wt,qn)}return un}return Ve==null?void 0:Ve.map(function(Xn,Lr){return{record:Xn,indent:0,index:Lr}})},[Ve,_e,Pt,Wt]);return fn}function ei(Ve){var _e=Ve.prefixCls,Pt=Ve.children,Wt=Ve.component,fn=Ve.cellComponent,un=Ve.className,qn=Ve.expanded,_n=Ve.colSpan,Xn=Ve.isEmpty,Lr=pt(je,["scrollbarSize","fixHeader","fixColumn","componentWidth","horizonScroll"]),Sr=Lr.scrollbarSize,Ir=Lr.fixHeader,mi=Lr.fixColumn,pi=Lr.componentWidth,xi=Lr.horizonScroll,Ri=Pt;return(Xn?xi&&pi:mi)&&(Ri=ye.createElement("div",{style:{width:pi-(Ir?Sr:0),position:"sticky",left:0,overflow:"hidden"},className:"".concat(_e,"-expanded-row-fixed")},Ri)),ye.createElement(Wt,{className:un,style:{display:qn?null:"none"}},ye.createElement(An,{component:fn,prefixCls:_e,colSpan:_n},Ri))}var Ht=ei;function Tt(Ve,_e,Pt,Wt){var fn=pt(je,["prefixCls","fixedInfoList","flattenColumns","expandableType","expandRowByClick","onTriggerExpand","rowClassName","expandedRowClassName","indentSize","expandIcon","expandedRowRender","expandIconColumnIndex","expandedKeys","childrenColumnName","rowExpandable","onRow"]),un=fn.flattenColumns,qn=fn.expandableType,_n=fn.expandedKeys,Xn=fn.childrenColumnName,Lr=fn.onTriggerExpand,Sr=fn.rowExpandable,Ir=fn.onRow,mi=fn.expandRowByClick,pi=fn.rowClassName,xi=qn==="nest",Ri=qn==="row"&&(!Sr||Sr(Ve)),Fi=Ri||xi,ya=_n&&_n.has(_e),Kr=Xn&&Ve&&Ve[Xn],ta=(0,xt.useEvent)(Lr),qa=Ir==null?void 0:Ir(Ve,Pt),Xo=qa==null?void 0:qa.onClick,Co=function(So){mi&&Fi&&Lr(Ve,So);for(var Ra=arguments.length,Gi=new Array(Ra>1?Ra-1:0),ba=1;ba=0;_n-=1){var Xn=_e[_n],Lr=Pt&&Pt[_n],Sr=Lr&&Lr[Ha];if(Xn||Sr||qn){var Ir=Sr||{},mi=Ir.columnType,pi=(0,ve.Z)(Ir,wi);fn.unshift(ye.createElement("col",(0,tt.Z)({key:_n,style:{width:Xn}},pi))),qn=!0}}return ye.createElement("colgroup",null,fn)}var yo=Zo,Pa=ie(77654),Na=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function Br(Ve,_e){return(0,ye.useMemo)(function(){for(var Pt=[],Wt=0;Wt<_e;Wt+=1){var fn=Ve[Wt];if(fn!==void 0)Pt[Wt]=fn;else return null}return Pt},[Ve.join("_"),_e])}var Tn=ye.forwardRef(function(Ve,_e){var Pt=Ve.className,Wt=Ve.noData,fn=Ve.columns,un=Ve.flattenColumns,qn=Ve.colWidths,_n=Ve.columCount,Xn=Ve.stickyOffsets,Lr=Ve.direction,Sr=Ve.fixHeader,Ir=Ve.stickyTopOffset,mi=Ve.stickyBottomOffset,pi=Ve.stickyClassName,xi=Ve.onScroll,Ri=Ve.maxContentScroll,Fi=Ve.children,ya=(0,ve.Z)(Ve,Na),Kr=pt(je,["prefixCls","scrollbarSize","isSticky"]),ta=Kr.prefixCls,qa=Kr.scrollbarSize,Xo=Kr.isSticky,Co=Xo&&!Sr?0:qa,Yo=ye.useRef(null),bo=ye.useCallback(function(Dn){(0,ut.mH)(_e,Dn),(0,ut.mH)(Yo,Dn)},[]);ye.useEffect(function(){var Dn;function Or(ae){var de=ae,pe=de.currentTarget,xe=de.deltaX;xe&&(xi({currentTarget:pe,scrollLeft:pe.scrollLeft+xe}),ae.preventDefault())}return(Dn=Yo.current)===null||Dn===void 0||Dn.addEventListener("wheel",Or),function(){var ae;(ae=Yo.current)===null||ae===void 0||ae.removeEventListener("wheel",Or)}},[]);var Ta=ye.useMemo(function(){return un.every(function(Dn){return Dn.width})},[un]),So=un[un.length-1],Ra={fixed:So?So.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(ta,"-cell-scrollbar")}}},Gi=(0,ye.useMemo)(function(){return Co?[].concat((0,Pa.Z)(fn),[Ra]):fn},[Co,fn]),ba=(0,ye.useMemo)(function(){return Co?[].concat((0,Pa.Z)(un),[Ra]):un},[Co,un]),Ko=(0,ye.useMemo)(function(){var Dn=Xn.right,Or=Xn.left;return(0,_t.Z)((0,_t.Z)({},Xn),{},{left:Lr==="rtl"?[].concat((0,Pa.Z)(Or.map(function(ae){return ae+Co})),[0]):Or,right:Lr==="rtl"?Dn:[].concat((0,Pa.Z)(Dn.map(function(ae){return ae+Co})),[0]),isSticky:Xo})},[Co,Xn,Xo]),Rl=Br(qn,_n);return ye.createElement("div",{style:(0,_t.Z)({overflow:"hidden"},Xo?{top:Ir,bottom:mi}:{}),ref:bo,className:lt()(Pt,(0,We.Z)({},pi,!!pi))},ye.createElement("table",{style:{tableLayout:"fixed",visibility:Wt||Rl?null:"hidden"}},(!Wt||!Ri||Ta)&&ye.createElement(yo,{colWidths:Rl?[].concat((0,Pa.Z)(Rl),[Co]):[],columCount:_n+1,columns:ba}),Fi((0,_t.Z)((0,_t.Z)({},ya),{},{stickyOffsets:Ko,columns:Gi,flattenColumns:ba}))))});Tn.displayName="FixedHolder";var Fr=ye.memo(Tn);function ki(Ve){var _e=Ve.cells,Pt=Ve.stickyOffsets,Wt=Ve.flattenColumns,fn=Ve.rowComponent,un=Ve.cellComponent,qn=Ve.tdCellComponent,_n=Ve.onHeaderRow,Xn=Ve.index,Lr=pt(je,["prefixCls","direction"]),Sr=Lr.prefixCls,Ir=Lr.direction,mi;_n&&(mi=_n(_e.map(function(xi){return xi.column}),Xn));var pi=Gt(_e.map(function(xi){return xi.column}));return ye.createElement(fn,mi,_e.map(function(xi,Ri){var Fi=xi.column,ya=Cn(xi.colStart,xi.colEnd,Wt,Pt,Ir,Fi),Kr;return Fi&&Fi.onHeaderCell&&(Kr=xi.column.onHeaderCell(Fi)),ye.createElement(An,(0,tt.Z)({},xi,{scope:Fi.title?xi.colSpan>1?"colgroup":"col":null,ellipsis:Fi.ellipsis,align:Fi.align,component:Fi.title?un:qn,prefixCls:Sr,key:pi[Ri]},ya,{additionalProps:Kr,rowType:"header"}))}))}ki.displayName="HeaderRow";var Vt=ki;function Vn(Ve){var _e=[];function Pt(qn,_n){var Xn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;_e[Xn]=_e[Xn]||[];var Lr=_n,Sr=qn.filter(Boolean).map(function(Ir){var mi={key:Ir.key,className:Ir.className||"",children:Ir.title,column:Ir,colStart:Lr},pi=1,xi=Ir.children;return xi&&xi.length>0&&(pi=Pt(xi,Lr,Xn+1).reduce(function(Ri,Fi){return Ri+Fi},0),mi.hasSubColumns=!0),"colSpan"in Ir&&(pi=Ir.colSpan),"rowSpan"in Ir&&(mi.rowSpan=Ir.rowSpan),mi.colSpan=pi,mi.colEnd=mi.colStart+pi-1,_e[Xn].push(mi),Lr+=pi,pi});return Sr}Pt(Ve,0);for(var Wt=_e.length,fn=function(_n){_e[_n].forEach(function(Xn){!("rowSpan"in Xn)&&!Xn.hasSubColumns&&(Xn.rowSpan=Wt-_n)})},un=0;un1&&arguments[1]!==void 0?arguments[1]:"";return typeof _e=="number"?_e:_e.endsWith("%")?Ve*parseFloat(_e)/100:null}function kr(Ve,_e){return ye.useMemo(function(){if(_e&&_e>0){var Pt=0,Wt=0;Ve.forEach(function(Lr){var Sr=br(_e,Lr.width);Sr?Pt+=Sr:Wt+=1});var fn=_e-Pt,un=Wt,qn=fn/Wt,_n=0,Xn=Ve.map(function(Lr){var Sr=(0,_t.Z)({},Lr),Ir=br(_e,Sr.width);if(Ir)Sr.width=Ir;else{var mi=Math.floor(qn);Sr.width=un===1?fn:mi,fn-=mi,un-=1}return _n+=Sr.width,Sr});return[Xn,_n]}return[Ve,_e]},[Ve,_e])}var vi=["children"],at=["fixed"];function De(Ve){return(0,Pr.Z)(Ve).filter(function(_e){return ye.isValidElement(_e)}).map(function(_e){var Pt=_e.key,Wt=_e.props,fn=Wt.children,un=(0,ve.Z)(Wt,vi),qn=(0,_t.Z)({key:Pt},un);return fn&&(qn.children=De(fn)),qn})}function nt(Ve){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return Ve.filter(function(Pt){return Pt&&(0,Et.Z)(Pt)==="object"}).reduce(function(Pt,Wt,fn){var un=Wt.fixed,qn=un===!0?"left":un,_n="".concat(_e,"-").concat(fn),Xn=Wt.children;return Xn&&Xn.length>0?[].concat((0,Pa.Z)(Pt),(0,Pa.Z)(nt(Xn,_n).map(function(Lr){return(0,_t.Z)({fixed:qn},Lr)}))):[].concat((0,Pa.Z)(Pt),[(0,_t.Z)((0,_t.Z)({key:_n},Wt),{},{fixed:qn})])},[])}function Ot(Ve){for(var _e=!0,Pt=0;Pt=0;un-=1){var qn=Ve[un];if(fn&&qn.fixed!=="right")fn=!1;else if(!fn&&qn.fixed==="right"){warning(!1,"Index ".concat(un+1," of `columns` missing `fixed='right'` prop."));break}}}function xn(Ve){return Ve.map(function(_e){var Pt=_e.fixed,Wt=(0,ve.Z)(_e,at),fn=Pt;return Pt==="left"?fn="right":Pt==="right"&&(fn="left"),(0,_t.Z)({fixed:fn},Wt)})}function wn(Ve,_e){var Pt=Ve.prefixCls,Wt=Ve.columns,fn=Ve.children,un=Ve.expandable,qn=Ve.expandedKeys,_n=Ve.columnTitle,Xn=Ve.getRowKey,Lr=Ve.onTriggerExpand,Sr=Ve.expandIcon,Ir=Ve.rowExpandable,mi=Ve.expandIconColumnIndex,pi=Ve.direction,xi=Ve.expandRowByClick,Ri=Ve.columnWidth,Fi=Ve.fixed,ya=Ve.scrollWidth,Kr=ye.useMemo(function(){return Wt||De(fn)},[Wt,fn]),ta=ye.useMemo(function(){if(un){var So,Ra=Kr.slice();if(!Ra.includes(ee)){var Gi=mi||0;Gi>=0&&Ra.splice(Gi,0,ee)}var ba=Ra.indexOf(ee);Ra=Ra.filter(function(Or,ae){return Or!==ee||ae===ba});var Ko=Kr[ba],Rl;(Fi==="left"||Fi)&&!mi?Rl="left":(Fi==="right"||Fi)&&mi===Kr.length?Rl="right":Rl=Ko?Ko.fixed:null;var Dn=(So={},(0,We.Z)(So,Ha,{className:"".concat(Pt,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,We.Z)(So,"title",_n),(0,We.Z)(So,"fixed",Rl),(0,We.Z)(So,"className","".concat(Pt,"-row-expand-icon-cell")),(0,We.Z)(So,"width",Ri),(0,We.Z)(So,"render",function(ae,de,pe){var xe=Xn(de,pe),ke=qn.has(xe),ze=Ir?Ir(de):!0,Ye=Sr({prefixCls:Pt,expanded:ke,expandable:ze,record:de,onExpand:Lr});return xi?ye.createElement("span",{onClick:function(ct){return ct.stopPropagation()}},Ye):Ye}),So);return Ra.map(function(Or){return Or===ee?Dn:Or})}return Kr.filter(function(Or){return Or!==ee})},[un,Kr,Xn,qn,Sr,pi]),qa=ye.useMemo(function(){var So=ta;return _e&&(So=_e(So)),So.length||(So=[{render:function(){return null}}]),So},[_e,ta,pi]),Xo=ye.useMemo(function(){return pi==="rtl"?xn(nt(qa)):nt(qa)},[qa,pi,ya]),Co=kr(Xo,ya),Yo=(0,st.Z)(Co,2),bo=Yo[0],Ta=Yo[1];return[qa,bo,Ta]}var gr=wn;function Ar(Ve){var _e,Pt=Ve.prefixCls,Wt=Ve.record,fn=Ve.onExpand,un=Ve.expanded,qn=Ve.expandable,_n="".concat(Pt,"-row-expand-icon");if(!qn)return ye.createElement("span",{className:lt()(_n,"".concat(Pt,"-row-spaced"))});var Xn=function(Sr){fn(Wt,Sr),Sr.stopPropagation()};return ye.createElement("span",{className:lt()(_n,(_e={},(0,We.Z)(_e,"".concat(Pt,"-row-expanded"),un),(0,We.Z)(_e,"".concat(Pt,"-row-collapsed"),!un),_e)),onClick:Xn})}function fr(Ve,_e,Pt){var Wt=[];function fn(un){(un||[]).forEach(function(qn,_n){Wt.push(_e(qn,_n)),fn(qn[Pt])})}return fn(Ve),Wt}function vr(Ve,_e,Pt){var Wt=Hi(Ve),fn=Wt.expandIcon,un=Wt.expandedRowKeys,qn=Wt.defaultExpandedRowKeys,_n=Wt.defaultExpandAllRows,Xn=Wt.expandedRowRender,Lr=Wt.onExpand,Sr=Wt.onExpandedRowsChange,Ir=Wt.childrenColumnName,mi=fn||Ar,pi=Ir||"children",xi=ye.useMemo(function(){return Xn?"row":Ve.expandable&&Ve.internalHooks===Oe&&Ve.expandable.__PARENT_RENDER_ICON__||_e.some(function(Xo){return Xo&&(0,Et.Z)(Xo)==="object"&&Xo[pi]})?"nest":!1},[!!Xn,_e]),Ri=ye.useState(function(){return qn||(_n?fr(_e,Pt,pi):[])}),Fi=(0,st.Z)(Ri,2),ya=Fi[0],Kr=Fi[1],ta=ye.useMemo(function(){return new Set(un||ya||[])},[un,ya]),qa=ye.useCallback(function(Xo){var Co=Pt(Xo,_e.indexOf(Xo)),Yo,bo=ta.has(Co);bo?(ta.delete(Co),Yo=(0,Pa.Z)(ta)):Yo=[].concat((0,Pa.Z)(ta),[Co]),Kr(Yo),Lr&&Lr(!bo,Xo),Sr&&Sr(Yo)},[Pt,ta,_e,Lr,Sr]);return[Wt,xi,ta,mi,pi,qa]}function qr(Ve,_e,Pt,Wt){var fn=Ve.map(function(un,qn){return Cn(qn,qn,Ve,_e,Pt,Wt==null?void 0:Wt[qn])});return(0,dn.Z)(function(){return fn},[fn],function(un,qn){return!(0,Je.Z)(un,qn)})}function Xi(Ve){var _e=(0,ye.useRef)(Ve),Pt=(0,ye.useState)({}),Wt=(0,st.Z)(Pt,2),fn=Wt[1],un=(0,ye.useRef)(null),qn=(0,ye.useRef)([]);function _n(Xn){qn.current.push(Xn);var Lr=Promise.resolve();un.current=Lr,Lr.then(function(){if(un.current===Lr){var Sr=qn.current,Ir=_e.current;qn.current=[],Sr.forEach(function(mi){_e.current=mi(_e.current)}),un.current=null,Ir!==_e.current&&fn({})}})}return(0,ye.useEffect)(function(){return function(){un.current=null}},[]),[_e.current,_n]}function Nr(Ve){var _e=(0,ye.useRef)(Ve||null),Pt=(0,ye.useRef)();function Wt(){window.clearTimeout(Pt.current)}function fn(qn){_e.current=qn,Wt(),Pt.current=window.setTimeout(function(){_e.current=null,Pt.current=void 0},100)}function un(){return _e.current}return(0,ye.useEffect)(function(){return Wt},[]),[fn,un]}function Gn(){var Ve=ye.useState(-1),_e=(0,st.Z)(Ve,2),Pt=_e[0],Wt=_e[1],fn=ye.useState(-1),un=(0,st.Z)(fn,2),qn=un[0],_n=un[1],Xn=ye.useCallback(function(Lr,Sr){Wt(Lr),_n(Sr)},[]);return[Pt,qn,Xn]}var Fn=ie(47273),Kt=(0,Fn.Z)()?window:null;function Mn(Ve,_e){var Pt=(0,Et.Z)(Ve)==="object"?Ve:{},Wt=Pt.offsetHeader,fn=Wt===void 0?0:Wt,un=Pt.offsetSummary,qn=un===void 0?0:un,_n=Pt.offsetScroll,Xn=_n===void 0?0:_n,Lr=Pt.getContainer,Sr=Lr===void 0?function(){return Kt}:Lr,Ir=Sr()||Kt;return ye.useMemo(function(){var mi=!!Ve;return{isSticky:mi,stickyClassName:mi?"".concat(_e,"-sticky-holder"):"",offsetHeader:fn,offsetSummary:qn,offsetScroll:Xn,container:Ir}},[Xn,fn,qn,_e,Ir])}function zn(Ve,_e,Pt){var Wt=(0,ye.useMemo)(function(){for(var fn=[],un=[],qn=0,_n=0,Xn=0;Xn<_e;Xn+=1)if(Pt==="rtl"){un[Xn]=_n,_n+=Ve[Xn]||0;var Lr=_e-Xn-1;fn[Lr]=qn,qn+=Ve[Lr]||0}else{fn[Xn]=qn,qn+=Ve[Xn]||0;var Sr=_e-Xn-1;un[Sr]=_n,_n+=Ve[Sr]||0}return{left:fn,right:un}},[Ve,_e,Pt]);return Wt}var Jn=zn;function xr(Ve){var _e=Ve.className,Pt=Ve.children;return ye.createElement("div",{className:_e},Pt)}var $n=xr,jr=ie(8224),pn=ie(55468),ni=function(_e,Pt){var Wt,fn,un=_e.scrollBodyRef,qn=_e.onScroll,_n=_e.offsetScroll,Xn=_e.container,Lr=pt(je,"prefixCls"),Sr=((Wt=un.current)===null||Wt===void 0?void 0:Wt.scrollWidth)||0,Ir=((fn=un.current)===null||fn===void 0?void 0:fn.clientWidth)||0,mi=Sr&&Ir*(Ir/Sr),pi=ye.useRef(),xi=Xi({scrollLeft:0,isHiddenScrollBar:!1}),Ri=(0,st.Z)(xi,2),Fi=Ri[0],ya=Ri[1],Kr=ye.useRef({delta:0,x:0}),ta=ye.useState(!1),qa=(0,st.Z)(ta,2),Xo=qa[0],Co=qa[1],Yo=function(){Co(!1)},bo=function(ba){ba.persist(),Kr.current.delta=ba.pageX-Fi.scrollLeft,Kr.current.x=0,Co(!0),ba.preventDefault()},Ta=function(ba){var Ko,Rl=ba||((Ko=window)===null||Ko===void 0?void 0:Ko.event),Dn=Rl.buttons;if(!Xo||Dn===0){Xo&&Co(!1);return}var Or=Kr.current.x+ba.pageX-Kr.current.x-Kr.current.delta;Or<=0&&(Or=0),Or+mi>=Ir&&(Or=Ir-mi),qn({scrollLeft:Or/Ir*(Sr+2)}),Kr.current.x=ba.pageX},So=function(){if(un.current){var ba=(0,pn.os)(un.current).top,Ko=ba+un.current.offsetHeight,Rl=Xn===window?document.documentElement.scrollTop+window.innerHeight:(0,pn.os)(Xn).top+Xn.clientHeight;Ko-(0,pr.Z)()<=Rl||ba>=Rl-_n?ya(function(Dn){return(0,_t.Z)((0,_t.Z)({},Dn),{},{isHiddenScrollBar:!0})}):ya(function(Dn){return(0,_t.Z)((0,_t.Z)({},Dn),{},{isHiddenScrollBar:!1})})}},Ra=function(ba){ya(function(Ko){return(0,_t.Z)((0,_t.Z)({},Ko),{},{scrollLeft:ba/Sr*Ir||0})})};return ye.useImperativeHandle(Pt,function(){return{setScrollLeft:Ra}}),ye.useEffect(function(){var Gi=(0,jr.Z)(document.body,"mouseup",Yo,!1),ba=(0,jr.Z)(document.body,"mousemove",Ta,!1);return So(),function(){Gi.remove(),ba.remove()}},[mi,Xo]),ye.useEffect(function(){var Gi=(0,jr.Z)(Xn,"scroll",So,!1),ba=(0,jr.Z)(window,"resize",So,!1);return function(){Gi.remove(),ba.remove()}},[Xn]),ye.useEffect(function(){Fi.isHiddenScrollBar||ya(function(Gi){var ba=un.current;return ba?(0,_t.Z)((0,_t.Z)({},Gi),{},{scrollLeft:ba.scrollLeft/ba.scrollWidth*ba.clientWidth}):Gi})},[Fi.isHiddenScrollBar]),Sr<=Ir||!mi||Fi.isHiddenScrollBar?null:ye.createElement("div",{style:{height:(0,pr.Z)(),width:Ir,bottom:_n},className:"".concat(Lr,"-sticky-scroll")},ye.createElement("div",{onMouseDown:bo,ref:pi,className:lt()("".concat(Lr,"-sticky-scroll-bar"),(0,We.Z)({},"".concat(Lr,"-sticky-scroll-bar-active"),Xo)),style:{width:"".concat(mi,"px"),transform:"translate3d(".concat(Fi.scrollLeft,"px, 0, 0)")}}))},Ai=ye.forwardRef(ni);function Ni(Ve){return null}var bi=Ni;function Ji(Ve){return null}var fa=Ji,oa="rc-table",ji=[],Qa={};function Fa(){return"No Data"}function qo(Ve){var _e,Pt=(0,_t.Z)({rowKey:"key",prefixCls:oa,emptyText:Fa},Ve),Wt=Pt.prefixCls,fn=Pt.className,un=Pt.rowClassName,qn=Pt.style,_n=Pt.data,Xn=Pt.rowKey,Lr=Pt.scroll,Sr=Pt.tableLayout,Ir=Pt.direction,mi=Pt.title,pi=Pt.footer,xi=Pt.summary,Ri=Pt.caption,Fi=Pt.id,ya=Pt.showHeader,Kr=Pt.components,ta=Pt.emptyText,qa=Pt.onRow,Xo=Pt.onHeaderRow,Co=Pt.internalHooks,Yo=Pt.transformColumns,bo=Pt.internalRefs,Ta=Pt.tailor,So=Pt.sticky,Ra=_n||ji,Gi=!!Ra.length,ba=Co===Oe,Ko=ye.useCallback(function(qs,bu){return(0,ln.Z)(Kr,qs)||bu},[Kr]),Rl=ye.useMemo(function(){return typeof Xn=="function"?Xn:function(qs){var bu=qs&&qs[Xn];return bu}},[Xn]),Dn=Ko(["body"]),Or=Gn(),ae=(0,st.Z)(Or,3),de=ae[0],pe=ae[1],xe=ae[2],ke=vr(Pt,Ra,Rl),ze=(0,st.Z)(ke,6),Ye=ze[0],Ke=ze[1],ct=ze[2],rt=ze[3],Ct=ze[4],Xt=ze[5],Bt=Lr==null?void 0:Lr.x,Sn=ye.useState(0),Zt=(0,st.Z)(Sn,2),nn=Zt[0],cn=Zt[1],on=gr((0,_t.Z)((0,_t.Z)((0,_t.Z)({},Pt),Ye),{},{expandable:!!Ye.expandedRowRender,columnTitle:Ye.columnTitle,expandedKeys:ct,getRowKey:Rl,onTriggerExpand:Xt,expandIcon:rt,expandIconColumnIndex:Ye.expandIconColumnIndex,direction:Ir,scrollWidth:ba&&Ta&&typeof Bt=="number"?Bt:null}),ba?Yo:null),bn=(0,st.Z)(on,3),Mr=bn[0],ti=bn[1],xa=bn[2],ui=xa!=null?xa:Bt,ka=ye.useMemo(function(){return{columns:Mr,flattenColumns:ti}},[Mr,ti]),Xa=ye.useRef(),ua=ye.useRef(),Tr=ye.useRef(),yi=ye.useRef(),Ya=ye.useRef(),Qn=ye.useState(!1),jn=(0,st.Z)(Qn,2),ai=jn[0],Si=jn[1],ia=ye.useState(!1),oi=(0,st.Z)(ia,2),zi=oi[0],so=oi[1],Oo=Xi(new Map),ar=(0,st.Z)(Oo,2),$o=ar[0],bl=ar[1],eu=Gt(ti),Cs=eu.map(function(qs){return $o.get(qs)}),uu=ye.useMemo(function(){return Cs},[Cs.join("_")]),yu=Jn(uu,ti.length,Ir),cu=Lr&&Cr(Lr.y),du=Lr&&Cr(ui)||!!Ye.fixed,oc=du&&ti.some(function(qs){var bu=qs.fixed;return bu}),Oc=ye.useRef(),Ru=Mn(So,Wt),Vl=Ru.isSticky,vc=Ru.offsetHeader,Pu=Ru.offsetSummary,Ys=Ru.offsetScroll,zs=Ru.stickyClassName,Du=Ru.container,Eu=ye.useMemo(function(){return xi==null?void 0:xi(Ra)},[xi,Ra]),qu=(cu||Vl)&&ye.isValidElement(Eu)&&Eu.type===fe&&Eu.props.fixed,ic,mc,Tc;cu&&(mc={overflowY:"scroll",maxHeight:Lr.y}),du&&(ic={overflowX:"auto"},cu||(mc={overflowY:"hidden"}),Tc={width:ui===!0?"auto":ui,minWidth:"100%"});var cf=ye.useCallback(function(qs,bu){(0,yn.Z)(Xa.current)&&bl(function(xc){if(xc.get(qs)!==bu){var Bu=new Map(xc);return Bu.set(qs,bu),Bu}return xc})},[]),bd=Nr(null),Zc=(0,st.Z)(bd,2),Js=Zc[0],Qu=Zc[1];function $c(qs,bu){bu&&(typeof bu=="function"?bu(qs):bu.scrollLeft!==qs&&(bu.scrollLeft=qs,bu.scrollLeft!==qs&&setTimeout(function(){bu.scrollLeft=qs},0)))}var ed=(0,yt.Z)(function(qs){var bu=qs.currentTarget,xc=qs.scrollLeft,Bu=Ir==="rtl",Vc=typeof xc=="number"?xc:bu.scrollLeft,wf=bu||Qa;if(!Qu()||Qu()===wf){var tc;Js(wf),$c(Vc,ua.current),$c(Vc,Tr.current),$c(Vc,Ya.current),$c(Vc,(tc=Oc.current)===null||tc===void 0?void 0:tc.setScrollLeft)}var Gc=bu||ua.current;if(Gc){var Cf=Gc.scrollWidth,Uc=Gc.clientWidth;if(Cf===Uc){Si(!1),so(!1);return}Bu?(Si(-Vc0)):(Si(Vc>0),so(Vc1?Ri-ba:0,Rl=(0,_t.Z)((0,_t.Z)((0,_t.Z)({},Yo),Xn),{},{flex:"0 0 ".concat(ba,"px"),width:"".concat(ba,"px"),marginRight:Ko,pointerEvents:"auto"}),Dn=ye.useMemo(function(){return Sr?Ra<=1:Ta===0||Ra===0||Ra>1},[Ra,Ta,Sr]);Dn?Rl.visibility="hidden":Sr&&(Rl.height=Ir==null?void 0:Ir(Ra));var Or=Dn?function(){return null}:mi,ae={};return(Ra===0||Ta===0)&&(ae.rowSpan=1,ae.colSpan=1),ye.createElement(An,(0,tt.Z)({className:lt()(xi,Lr),ellipsis:Pt.ellipsis,align:Pt.align,scope:Pt.rowScope,component:"div",prefixCls:_e.prefixCls,key:ta,record:_n,index:un,renderIndex:qn,dataIndex:pi,render:Or,shouldCellUpdate:Pt.shouldCellUpdate},qa,{appendNode:Xo,additionalProps:(0,_t.Z)((0,_t.Z)({},Co),{},{style:Rl},ae)}))}var _a=Go,Ga=["data","index","className","rowKey","style","extra","getHeight"],ll=ye.forwardRef(function(Ve,_e){var Pt=Ve.data,Wt=Ve.index,fn=Ve.className,un=Ve.rowKey,qn=Ve.style,_n=Ve.extra,Xn=Ve.getHeight,Lr=(0,ve.Z)(Ve,Ga),Sr=Pt.record,Ir=Pt.indent,mi=Pt.index,pi=pt(je,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),xi=pi.scrollX,Ri=pi.flattenColumns,Fi=pi.prefixCls,ya=pi.fixColumn,Kr=pi.componentWidth,ta=Tt(Sr,un,Wt,Ir),qa=ta.rowSupportExpand,Xo=ta.expanded,Co=ta.rowProps,Yo=ta.expandedRowRender,bo=ta.expandedRowClassName,Ta;if(qa&&Xo){var So=Yo(Sr,Wt,Ir+1,Xo),Ra=bo==null?void 0:bo(Sr,Wt,Ir),Gi={};ya&&(Gi={style:(0,We.Z)({},"--virtual-width","".concat(Kr,"px"))});var ba="".concat(Fi,"-expanded-row-cell");Ta=ye.createElement("div",{className:lt()("".concat(Fi,"-expanded-row"),"".concat(Fi,"-expanded-row-level-").concat(Ir+1),Ra)},ye.createElement(An,{component:"div",prefixCls:Fi,className:lt()(ba,(0,We.Z)({},"".concat(ba,"-fixed"),ya)),additionalProps:Gi},So))}var Ko=(0,_t.Z)((0,_t.Z)({},qn),{},{width:xi});_n&&(Ko.position="absolute",Ko.pointerEvents="none");var Rl=ye.createElement("div",(0,tt.Z)({},Co,Lr,{ref:qa?null:_e,className:lt()(fn,"".concat(Fi,"-row"),Co==null?void 0:Co.className,(0,We.Z)({},"".concat(Fi,"-row-extra"),_n)),style:(0,_t.Z)((0,_t.Z)({},Ko),Co==null?void 0:Co.style)}),Ri.map(function(Dn,Or){return ye.createElement(_a,{key:Or,rowInfo:ta,column:Dn,colIndex:Or,indent:Ir,index:Wt,renderIndex:mi,record:Sr,inverse:_n,getHeight:Xn})}));return qa?ye.createElement("div",{ref:_e},Rl,Ta):Rl}),tl=Ut(ll),Jo=tl,Zr=ye.forwardRef(function(Ve,_e){var Pt=Ve.data,Wt=Ve.onScroll,fn=pt(je,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),un=fn.flattenColumns,qn=fn.onColumnResize,_n=fn.getRowKey,Xn=fn.expandedKeys,Lr=fn.prefixCls,Sr=fn.childrenColumnName,Ir=fn.emptyNode,mi=fn.scrollX,pi=pt(ol),xi=pi.scrollY,Ri=pi.listItemHeight,Fi=ye.useRef(),ya=dr(Pt,Sr,Xn,_n),Kr=ye.useMemo(function(){var Ta=0;return un.map(function(So){var Ra=So.width,Gi=So.key;return Ta+=Ra,[Gi,Ra,Ta]})},[un]),ta=ye.useMemo(function(){return Kr.map(function(Ta){return Ta[2]})},[Kr]);ye.useEffect(function(){Kr.forEach(function(Ta){var So=(0,st.Z)(Ta,2),Ra=So[0],Gi=So[1];qn(Ra,Gi)})},[Kr]),ye.useImperativeHandle(_e,function(){var Ta={};return Object.defineProperty(Ta,"scrollLeft",{get:function(){var Ra;return((Ra=Fi.current)===null||Ra===void 0?void 0:Ra.getScrollInfo().x)||0},set:function(Ra){var Gi;(Gi=Fi.current)===null||Gi===void 0||Gi.scrollTo({left:Ra})}}),Ta});var qa=function(So,Ra){var Gi,ba=(Gi=ya[Ra])===null||Gi===void 0?void 0:Gi.record,Ko=So.onCell;if(Ko){var Rl,Dn=Ko(ba,Ra);return(Rl=Dn==null?void 0:Dn.rowSpan)!==null&&Rl!==void 0?Rl:1}return 1},Xo=function(So){var Ra=So.start,Gi=So.end,ba=So.getSize,Ko=So.offsetY;if(Gi<0)return null;for(var Rl=un.filter(function(Bt){return qa(Bt,Ra)===0}),Dn=Ra,Or=function(Sn){if(Rl=Rl.filter(function(Zt){return qa(Zt,Sn)===0}),!Rl.length)return Dn=Sn,"break"},ae=Ra;ae>=0;ae-=1){var de=Or(ae);if(de==="break")break}for(var pe=un.filter(function(Bt){return qa(Bt,Gi)!==1}),xe=Gi,ke=function(Sn){if(pe=pe.filter(function(Zt){return qa(Zt,Sn)!==1}),!pe.length)return xe=Math.max(Sn-1,Gi),"break"},ze=Gi;ze1})&&Ke.push(Sn)},rt=Dn;rt<=xe;rt+=1)var Ct=ct(rt);var Xt=Ke.map(function(Bt){var Sn=ya[Bt],Zt=_n(Sn.record,Bt),nn=function(bn){var Mr=Bt+bn-1,ti=_n(ya[Mr].record,Mr),xa=ba(Zt,ti);return xa.bottom-xa.top},cn=ba(Zt);return ye.createElement(Jo,{key:Bt,data:Sn,rowKey:Zt,index:Bt,style:{top:-Ko+cn.top},extra:!0,getHeight:nn})});return Xt},Co=ye.useMemo(function(){return{columnsOffset:ta}},[ta]),Yo="".concat(Lr,"-tbody"),bo;return ya.length?bo=ye.createElement(Qo.Z,{fullHeight:!1,ref:Fi,className:lt()(Yo,"".concat(Yo,"-virtual")),height:xi,itemHeight:Ri||24,data:ya,itemKey:function(So){return _n(So.record)},scrollWidth:mi,onVirtualScroll:function(So){var Ra=So.x;Wt({scrollLeft:Ra})},extraRender:Xo},function(Ta,So,Ra){var Gi=_n(Ta.record,So);return ye.createElement(Jo,(0,tt.Z)({data:Ta,rowKey:Gi,index:So},Ra))}):bo=ye.createElement("div",{className:lt()("".concat(Lr,"-placeholder"))},ye.createElement(An,{component:"div",prefixCls:Lr},Ir)),ye.createElement(mo.Provider,{value:Co},bo)}),Li=Ut(Zr),xo=Li,jo=function(_e,Pt){var Wt=Pt.ref,fn=Pt.onScroll;return ye.createElement(xo,{ref:Wt,data:_e,onScroll:fn})},nl=100;function Ul(Ve){var _e=Ve.columns,Pt=Ve.scroll,Wt=Ve.prefixCls,fn=Wt===void 0?oa:Wt,un=Ve.className,qn=Ve.listItemHeight,_n=Pt||{},Xn=_n.x,Lr=_n.y;typeof Xn!="number"&&(Xn=((_e||[]).length+1)*nl),typeof Lr!="number"&&(Lr=500);var Sr=ye.useMemo(function(){return{scrollY:Lr,listItemHeight:qn}},[Lr,qn]);return ye.createElement(ol.Provider,{value:Sr},ye.createElement(Ci,(0,tt.Z)({},Ve,{className:lt()(un,"".concat(fn,"-virtual")),scroll:(0,_t.Z)((0,_t.Z)({},Pt),{},{x:Xn}),components:{body:jo},columns:_e,internalHooks:Oe,tailor:!0})))}function wl(Ve){return Lt(Ul,Ve)}var ra=wl(),Sa=null;function Fl(Ve){return null}var pl=Fl;function su(Ve){return null}var Qs=su,Au=ie(2738),_s=ie(68031),Ls=ie(36355),$s=ie(93891),Ws=ie(19716),zu=ie(8628),xu=ie(31724),$a=ie(58421),Za=ie(71418),Ma=ie(70305);function an(Ve){return function(Pt){let{prefixCls:Wt,onExpand:fn,record:un,expanded:qn,expandable:_n}=Pt;const Xn=`${Wt}-row-expand-icon`;return ye.createElement("button",{type:"button",onClick:Lr=>{fn(un,Lr),Lr.stopPropagation()},className:lt()(Xn,{[`${Xn}-spaced`]:!_n,[`${Xn}-expanded`]:_n&&qn,[`${Xn}-collapsed`]:_n&&!qn}),"aria-label":qn?Ve.collapse:Ve.expand,"aria-expanded":qn})}}var Vo=an;function Sl(Ve,_e){return"key"in Ve&&Ve.key!==void 0&&Ve.key!==null?Ve.key:Ve.dataIndex?Array.isArray(Ve.dataIndex)?Ve.dataIndex.join("."):Ve.dataIndex:_e}function ds(Ve,_e){return _e?`${_e}-${Ve}`:`${Ve}`}function bs(Ve,_e){return typeof Ve=="function"?Ve(_e):Ve}function gs(Ve,_e){const Pt=bs(Ve,_e);return Object.prototype.toString.call(Pt)==="[object Object]"?"":Pt}var Bs={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"},Su=Bs,Vs=ie(85221),Zu=function(_e,Pt){return ye.createElement(Vs.Z,(0,tt.Z)({},_e,{ref:Pt,icon:Su}))},Io=ye.forwardRef(Zu),os=Io,gu=ie(56762);function Ho(Ve){const _e=ye.useRef(Ve),Pt=(0,gu.Z)();return[()=>_e.current,Wt=>{_e.current=Wt,Pt()}]}var sl=ie(3113),ro=ie(24905),Yt=ie(38854),mr=ie(64165),Hn=ie(20834),hi=ie(40875),ao=ie(5112),Kn=ie(17574),Cl=ie(47472),na=ie(92832);function Di(Ve){let{value:_e,onChange:Pt,filterSearch:Wt,tablePrefixCls:fn,locale:un}=Ve;return Wt?ye.createElement("div",{className:`${fn}-filter-dropdown-search`},ye.createElement(na.default,{prefix:ye.createElement(Cl.Z,null),placeholder:un.filterSearchPlaceholder,onChange:Pt,value:_e,htmlSize:1,className:`${fn}-filter-dropdown-search-input`})):null}var go=Di,Yl=ie(10228);const Zi=Ve=>{const{keyCode:_e}=Ve;_e===Yl.Z.ENTER&&Ve.stopPropagation()};var ci=ye.forwardRef((Ve,_e)=>ye.createElement("div",{className:Ve.className,onClick:Pt=>Pt.stopPropagation(),onKeyDown:Zi,ref:_e},Ve.children));function rl(Ve){let _e=[];return(Ve||[]).forEach(Pt=>{let{value:Wt,children:fn}=Pt;_e.push(Wt),fn&&(_e=[].concat((0,Pa.Z)(_e),(0,Pa.Z)(rl(fn))))}),_e}function Ka(Ve){return Ve.some(_e=>{let{children:Pt}=_e;return Pt})}function ul(Ve,_e){return typeof _e=="string"||typeof _e=="number"?_e==null?void 0:_e.toString().toLowerCase().includes(Ve.trim().toLowerCase()):!1}function ls(Ve){let{filters:_e,prefixCls:Pt,filteredKeys:Wt,filterMultiple:fn,searchValue:un,filterSearch:qn}=Ve;return _e.map((_n,Xn)=>{const Lr=String(_n.value);if(_n.children)return{key:Lr||Xn,label:_n.text,popupClassName:`${Pt}-dropdown-submenu`,children:ls({filters:_n.children,prefixCls:Pt,filteredKeys:Wt,filterMultiple:fn,searchValue:un,filterSearch:qn})};const Sr=fn?ro.default:ao.ZP,Ir={key:_n.value!==void 0?Lr:Xn,label:ye.createElement(ye.Fragment,null,ye.createElement(Sr,{checked:Wt.includes(Lr)}),ye.createElement("span",null,_n.text))};return un.trim()?typeof qn=="function"?qn(un,_n)?Ir:null:ul(un,_n.text)?Ir:null:Ir})}function Uo(Ve){var _e,Pt;const{tablePrefixCls:Wt,prefixCls:fn,column:un,dropdownPrefixCls:qn,columnKey:_n,filterMultiple:Xn,filterMode:Lr="menu",filterSearch:Sr=!1,filterState:Ir,triggerFilter:mi,locale:pi,children:xi,getPopupContainer:Ri}=Ve,{filterDropdownOpen:Fi,onFilterDropdownOpenChange:ya,filterResetToDefaultFilteredValue:Kr,defaultFilteredValue:ta,filterDropdownVisible:qa,onFilterDropdownVisibleChange:Xo}=un,[Co,Yo]=ye.useState(!1),bo=!!(Ir&&(!((_e=Ir.filteredKeys)===null||_e===void 0)&&_e.length||Ir.forceFiltered)),Ta=on=>{Yo(on),ya==null||ya(on),Xo==null||Xo(on)},So=(Pt=Fi!=null?Fi:qa)!==null&&Pt!==void 0?Pt:Co,Ra=Ir==null?void 0:Ir.filteredKeys,[Gi,ba]=Ho(Ra||[]),Ko=on=>{let{selectedKeys:bn}=on;ba(bn)},Rl=(on,bn)=>{let{node:Mr,checked:ti}=bn;Ko(Xn?{selectedKeys:on}:{selectedKeys:ti&&Mr.key?[Mr.key]:[]})};ye.useEffect(()=>{Co&&Ko({selectedKeys:Ra||[]})},[Ra]);const[Dn,Or]=ye.useState([]),ae=on=>{Or(on)},[de,pe]=ye.useState(""),xe=on=>{const{value:bn}=on.target;pe(bn)};ye.useEffect(()=>{Co||pe("")},[Co]);const ke=on=>{const bn=on&&on.length?on:null;if(bn===null&&(!Ir||!Ir.filteredKeys)||(0,Je.Z)(bn,Ir==null?void 0:Ir.filteredKeys,!0))return null;mi({column:un,key:_n,filteredKeys:bn})},ze=()=>{Ta(!1),ke(Gi())},Ye=function(){let{confirm:on,closeDropdown:bn}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};on&&ke([]),bn&&Ta(!1),pe(""),ba(Kr?(ta||[]).map(Mr=>String(Mr)):[])},Ke=function(){let{closeDropdown:on}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};on&&Ta(!1),ke(Gi())},ct=on=>{on&&Ra!==void 0&&ba(Ra||[]),Ta(on),!on&&!un.filterDropdown&&ze()},rt=lt()({[`${qn}-menu-without-submenu`]:!Ka(un.filters||[])}),Ct=on=>{if(on.target.checked){const bn=rl(un==null?void 0:un.filters).map(Mr=>String(Mr));ba(bn)}else ba([])},Xt=on=>{let{filters:bn}=on;return(bn||[]).map((Mr,ti)=>{const xa=String(Mr.value),ui={title:Mr.text,key:Mr.value!==void 0?xa:ti};return Mr.children&&(ui.children=Xt({filters:Mr.children})),ui})},Bt=on=>{var bn;return Object.assign(Object.assign({},on),{text:on.title,value:on.key,children:((bn=on.children)===null||bn===void 0?void 0:bn.map(Mr=>Bt(Mr)))||[]})};let Sn;if(typeof un.filterDropdown=="function")Sn=un.filterDropdown({prefixCls:`${qn}-custom`,setSelectedKeys:on=>Ko({selectedKeys:on}),selectedKeys:Gi(),confirm:Ke,clearFilters:Ye,filters:un.filters,visible:So,close:()=>{Ta(!1)}});else if(un.filterDropdown)Sn=un.filterDropdown;else{const on=Gi()||[],bn=()=>(un.filters||[]).length===0?ye.createElement(mr.Z,{image:mr.Z.PRESENTED_IMAGE_SIMPLE,description:pi.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):Lr==="tree"?ye.createElement(ye.Fragment,null,ye.createElement(go,{filterSearch:Sr,value:de,onChange:xe,tablePrefixCls:Wt,locale:pi}),ye.createElement("div",{className:`${Wt}-filter-dropdown-tree`},Xn?ye.createElement(ro.default,{checked:on.length===rl(un.filters).length,indeterminate:on.length>0&&on.lengthtypeof Sr=="function"?Sr(de,Bt(ti)):ul(de,ti.title):void 0}))):ye.createElement(ye.Fragment,null,ye.createElement(go,{filterSearch:Sr,value:de,onChange:xe,tablePrefixCls:Wt,locale:pi}),ye.createElement(Hn.default,{selectable:!0,multiple:Xn,prefixCls:`${qn}-menu`,className:rt,onSelect:Ko,onDeselect:Ko,selectedKeys:on,getPopupContainer:Ri,openKeys:Dn,onOpenChange:ae,items:ls({filters:un.filters||[],filterSearch:Sr,prefixCls:fn,filteredKeys:Gi(),filterMultiple:Xn,searchValue:de})})),Mr=()=>Kr?(0,Je.Z)((ta||[]).map(ti=>String(ti)),on,!0):on.length===0;Sn=ye.createElement(ye.Fragment,null,bn(),ye.createElement("div",{className:`${fn}-dropdown-btns`},ye.createElement(sl.ZP,{type:"link",size:"small",disabled:Mr(),onClick:()=>Ye()},pi.filterReset),ye.createElement(sl.ZP,{type:"primary",size:"small",onClick:ze},pi.filterConfirm)))}un.filterDropdown&&(Sn=ye.createElement(hi.J,{selectable:void 0},Sn));const Zt=()=>ye.createElement(ci,{className:`${fn}-dropdown`},Sn);let nn;typeof un.filterIcon=="function"?nn=un.filterIcon(bo):un.filterIcon?nn=un.filterIcon:nn=ye.createElement(os,null);const{direction:cn}=ye.useContext(Ls.E_);return ye.createElement("div",{className:`${fn}-column`},ye.createElement("span",{className:`${Wt}-column-title`},xi),ye.createElement(Yt.Z,{dropdownRender:Zt,trigger:["click"],open:So,onOpenChange:ct,getPopupContainer:Ri,placement:cn==="rtl"?"bottomLeft":"bottomRight"},ye.createElement("span",{role:"button",tabIndex:-1,className:lt()(`${fn}-trigger`,{active:bo}),onClick:on=>{on.stopPropagation()}},nn)))}var zl=Uo;function il(Ve,_e,Pt){let Wt=[];return(Ve||[]).forEach((fn,un)=>{var qn;const _n=ds(un,Pt);if(fn.filters||"filterDropdown"in fn||"onFilter"in fn)if("filteredValue"in fn){let Xn=fn.filteredValue;"filterDropdown"in fn||(Xn=(qn=Xn==null?void 0:Xn.map(String))!==null&&qn!==void 0?qn:Xn),Wt.push({column:fn,key:Sl(fn,_n),filteredKeys:Xn,forceFiltered:fn.filtered})}else Wt.push({column:fn,key:Sl(fn,_n),filteredKeys:_e&&fn.defaultFilteredValue?fn.defaultFilteredValue:void 0,forceFiltered:fn.filtered});"children"in fn&&(Wt=[].concat((0,Pa.Z)(Wt),(0,Pa.Z)(il(fn.children,_e,_n))))}),Wt}function Hl(Ve,_e,Pt,Wt,fn,un,qn,_n){return Pt.map((Xn,Lr)=>{const Sr=ds(Lr,_n),{filterMultiple:Ir=!0,filterMode:mi,filterSearch:pi}=Xn;let xi=Xn;if(xi.filters||xi.filterDropdown){const Ri=Sl(xi,Sr),Fi=Wt.find(ya=>{let{key:Kr}=ya;return Ri===Kr});xi=Object.assign(Object.assign({},xi),{title:ya=>ye.createElement(zl,{tablePrefixCls:Ve,prefixCls:`${Ve}-filter`,dropdownPrefixCls:_e,column:xi,columnKey:Ri,filterState:Fi,filterMultiple:Ir,filterMode:mi,filterSearch:pi,triggerFilter:un,locale:fn,getPopupContainer:qn},bs(Xn.title,ya))})}return"children"in xi&&(xi=Object.assign(Object.assign({},xi),{children:Hl(Ve,_e,xi.children,Wt,fn,un,qn,Sr)})),xi})}function Ps(Ve){const _e={};return Ve.forEach(Pt=>{let{key:Wt,filteredKeys:fn,column:un}=Pt;const{filters:qn,filterDropdown:_n}=un;if(_n)_e[Wt]=fn||null;else if(Array.isArray(fn)){const Xn=rl(qn);_e[Wt]=Xn.filter(Lr=>fn.includes(String(Lr)))}else _e[Wt]=null}),_e}function ps(Ve,_e){return _e.reduce((Pt,Wt)=>{const{column:{onFilter:fn,filters:un},filteredKeys:qn}=Wt;return fn&&qn&&qn.length?Pt.filter(_n=>qn.some(Xn=>{const Lr=rl(un),Sr=Lr.findIndex(mi=>String(mi)===String(Xn)),Ir=Sr!==-1?Lr[Sr]:Xn;return fn(Ir,_n)})):Pt},Ve)}const wo=Ve=>Ve.flatMap(_e=>"children"in _e?[_e].concat((0,Pa.Z)(wo(_e.children||[]))):[_e]);function La(Ve){let{prefixCls:_e,dropdownPrefixCls:Pt,mergedColumns:Wt,onFilterChange:fn,getPopupContainer:un,locale:qn}=Ve;const _n=ye.useMemo(()=>wo(Wt||[]),[Wt]),[Xn,Lr]=ye.useState(()=>il(_n,!0)),Sr=ye.useMemo(()=>{const xi=il(_n,!1);if(xi.length===0)return xi;let Ri=!0,Fi=!0;if(xi.forEach(ya=>{let{filteredKeys:Kr}=ya;Kr!==void 0?Ri=!1:Fi=!1}),Ri){const ya=(_n||[]).map((Kr,ta)=>Sl(Kr,ds(ta)));return Xn.filter(Kr=>{let{key:ta}=Kr;return ya.includes(ta)}).map(Kr=>{const ta=_n[ya.findIndex(qa=>qa===Kr.key)];return Object.assign(Object.assign({},Kr),{column:Object.assign(Object.assign({},Kr.column),ta),forceFiltered:ta.filtered})})}return xi},[_n,Xn]),Ir=ye.useMemo(()=>Ps(Sr),[Sr]),mi=xi=>{const Ri=Sr.filter(Fi=>{let{key:ya}=Fi;return ya!==xi.key});Ri.push(xi),Lr(Ri),fn(Ps(Ri),Ri)};return[xi=>Hl(_e,Pt,xi,Sr,qn,mi,un),Sr,Ir]}var Ca=La;function ql(Ve,_e,Pt){const Wt=ye.useRef({});function fn(un){if(!Wt.current||Wt.current.data!==Ve||Wt.current.childrenColumnName!==_e||Wt.current.getRowKey!==Pt){let _n=function(Xn){Xn.forEach((Lr,Sr)=>{const Ir=Pt(Lr,Sr);qn.set(Ir,Lr),Lr&&typeof Lr=="object"&&_e in Lr&&_n(Lr[_e]||[])})};const qn=new Map;_n(Ve),Wt.current={data:Ve,childrenColumnName:_e,kvMap:qn,getRowKey:Pt}}return Wt.current.kvMap.get(un)}return[fn]}var ru=ie(50371),Mu=function(Ve,_e){var Pt={};for(var Wt in Ve)Object.prototype.hasOwnProperty.call(Ve,Wt)&&_e.indexOf(Wt)<0&&(Pt[Wt]=Ve[Wt]);if(Ve!=null&&typeof Object.getOwnPropertySymbols=="function")for(var fn=0,Wt=Object.getOwnPropertySymbols(Ve);fn{const un=Ve[fn];typeof un!="function"&&(Pt[fn]=un)}),Pt}function Kl(Ve,_e,Pt){const Wt=Pt&&typeof Pt=="object"?Pt:{},{total:fn=0}=Wt,un=Mu(Wt,["total"]),[qn,_n]=(0,ye.useState)(()=>({current:"defaultCurrent"in un?un.defaultCurrent:1,pageSize:"defaultPageSize"in un?un.defaultPageSize:Fo})),Xn=(0,ru.Z)(qn,un,{total:fn>0?fn:Ve}),Lr=Math.ceil((fn||Ve)/Xn.pageSize);Xn.current>Lr&&(Xn.current=Lr||1);const Sr=(mi,pi)=>{_n({current:mi!=null?mi:1,pageSize:pi||Xn.pageSize})},Ir=(mi,pi)=>{var xi;Pt&&((xi=Pt.onChange)===null||xi===void 0||xi.call(Pt,mi,pi)),Sr(mi,pi),_e(mi,pi||(Xn==null?void 0:Xn.pageSize))};return Pt===!1?[{},()=>{}]:[Object.assign(Object.assign({},Xn),{onChange:Ir}),Sr]}var Fs=Kl,eo=ie(84105),Bo=ie(35654),As=ie(90782),Ku=ie(71430),Gr=ie(18929);const Ds={},Ql="SELECT_ALL",wu="SELECT_INVERT",hu="SELECT_NONE",Wi=[],Bl=(Ve,_e)=>{let Pt=[];return(_e||[]).forEach(Wt=>{Pt.push(Wt),Wt&&typeof Wt=="object"&&Ve in Wt&&(Pt=[].concat((0,Pa.Z)(Pt),(0,Pa.Z)(Bl(Ve,Wt[Ve]))))}),Pt};var Ro=(Ve,_e)=>{const{preserveSelectedRowKeys:Pt,selectedRowKeys:Wt,defaultSelectedRowKeys:fn,getCheckboxProps:un,onChange:qn,onSelect:_n,onSelectAll:Xn,onSelectInvert:Lr,onSelectNone:Sr,onSelectMultiple:Ir,columnWidth:mi,type:pi,selections:xi,fixed:Ri,renderCell:Fi,hideSelectAll:ya,checkStrictly:Kr=!0}=_e||{},{prefixCls:ta,data:qa,pageData:Xo,getRecordByKey:Co,getRowKey:Yo,expandType:bo,childrenColumnName:Ta,locale:So,getPopupContainer:Ra}=Ve,[Gi,ba]=(0,Gr.Z)(Wt||fn||Wi,{value:Wt}),Ko=ye.useRef(new Map),Rl=(0,ye.useCallback)(Bt=>{if(Pt){const Sn=new Map;Bt.forEach(Zt=>{let nn=Co(Zt);!nn&&Ko.current.has(Zt)&&(nn=Ko.current.get(Zt)),Sn.set(Zt,nn)}),Ko.current=Sn}},[Co,Pt]);ye.useEffect(()=>{Rl(Gi)},[Gi]);const{keyEntities:Dn}=(0,ye.useMemo)(()=>{if(Kr)return{keyEntities:null};let Bt=qa;if(Pt){const Sn=new Set(qa.map((nn,cn)=>Yo(nn,cn))),Zt=Array.from(Ko.current).reduce((nn,cn)=>{let[on,bn]=cn;return Sn.has(on)?nn:nn.concat(bn)},[]);Bt=[].concat((0,Pa.Z)(Bt),(0,Pa.Z)(Zt))}return(0,Ku.I8)(Bt,{externalGetKey:Yo,childrenPropName:Ta})},[qa,Yo,Kr,Ta,Pt]),Or=(0,ye.useMemo)(()=>Bl(Ta,Xo),[Ta,Xo]),ae=(0,ye.useMemo)(()=>{const Bt=new Map;return Or.forEach((Sn,Zt)=>{const nn=Yo(Sn,Zt),cn=(un?un(Sn):null)||{};Bt.set(nn,cn)}),Bt},[Or,Yo,un]),de=(0,ye.useCallback)(Bt=>{var Sn;return!!(!((Sn=ae.get(Yo(Bt)))===null||Sn===void 0)&&Sn.disabled)},[ae,Yo]),[pe,xe]=(0,ye.useMemo)(()=>{if(Kr)return[Gi||[],[]];const{checkedKeys:Bt,halfCheckedKeys:Sn}=(0,As.S)(Gi,!0,Dn,de);return[Bt||[],Sn]},[Gi,Kr,Dn,de]),ke=(0,ye.useMemo)(()=>{const Bt=pi==="radio"?pe.slice(0,1):pe;return new Set(Bt)},[pe,pi]),ze=(0,ye.useMemo)(()=>pi==="radio"?new Set:new Set(xe),[xe,pi]),[Ye,Ke]=(0,ye.useState)(null);ye.useEffect(()=>{_e||ba(Wi)},[!!_e]);const ct=(0,ye.useCallback)((Bt,Sn)=>{let Zt,nn;Rl(Bt),Pt?(Zt=Bt,nn=Bt.map(cn=>Ko.current.get(cn))):(Zt=[],nn=[],Bt.forEach(cn=>{const on=Co(cn);on!==void 0&&(Zt.push(cn),nn.push(on))})),ba(Zt),qn==null||qn(Zt,nn,{type:Sn})},[ba,Co,qn,Pt]),rt=(0,ye.useCallback)((Bt,Sn,Zt,nn)=>{if(_n){const cn=Zt.map(on=>Co(on));_n(Co(Bt),Sn,cn,nn)}ct(Zt,"single")},[_n,Co,ct]),Ct=(0,ye.useMemo)(()=>!xi||ya?null:(xi===!0?[Ql,wu,hu]:xi).map(Sn=>Sn===Ql?{key:"all",text:So.selectionAll,onSelect(){ct(qa.map((Zt,nn)=>Yo(Zt,nn)).filter(Zt=>{const nn=ae.get(Zt);return!(nn!=null&&nn.disabled)||ke.has(Zt)}),"all")}}:Sn===wu?{key:"invert",text:So.selectInvert,onSelect(){const Zt=new Set(ke);Xo.forEach((cn,on)=>{const bn=Yo(cn,on),Mr=ae.get(bn);Mr!=null&&Mr.disabled||(Zt.has(bn)?Zt.delete(bn):Zt.add(bn))});const nn=Array.from(Zt);Lr&&Lr(nn),ct(nn,"invert")}}:Sn===hu?{key:"none",text:So.selectNone,onSelect(){Sr==null||Sr(),ct(Array.from(ke).filter(Zt=>{const nn=ae.get(Zt);return nn==null?void 0:nn.disabled}),"none")}}:Sn).map(Sn=>Object.assign(Object.assign({},Sn),{onSelect:function(){for(var Zt,nn,cn=arguments.length,on=new Array(cn),bn=0;bn{var Sn;if(!_e)return Bt.filter(Qn=>Qn!==Ds);let Zt=(0,Pa.Z)(Bt);const nn=new Set(ke),cn=Or.map(Yo).filter(Qn=>!ae.get(Qn).disabled),on=cn.every(Qn=>nn.has(Qn)),bn=cn.some(Qn=>nn.has(Qn)),Mr=()=>{const Qn=[];on?cn.forEach(ai=>{nn.delete(ai),Qn.push(ai)}):cn.forEach(ai=>{nn.has(ai)||(nn.add(ai),Qn.push(ai))});const jn=Array.from(nn);Xn==null||Xn(!on,jn.map(ai=>Co(ai)),Qn.map(ai=>Co(ai))),ct(jn,"all"),Ke(null)};let ti;if(pi!=="radio"){let Qn;if(Ct){const oi={getPopupContainer:Ra,items:Ct.map((zi,so)=>{const{key:Oo,text:ar,onSelect:$o}=zi;return{key:Oo!=null?Oo:so,onClick:()=>{$o==null||$o(cn)},label:ar}})};Qn=ye.createElement("div",{className:`${ta}-selection-extra`},ye.createElement(Yt.Z,{menu:oi,getPopupContainer:Ra},ye.createElement("span",null,ye.createElement(eo.Z,null))))}const jn=Or.map((oi,zi)=>{const so=Yo(oi,zi),Oo=ae.get(so)||{};return Object.assign({checked:nn.has(so)},Oo)}).filter(oi=>{let{disabled:zi}=oi;return zi}),ai=!!jn.length&&jn.length===Or.length,Si=ai&&jn.every(oi=>{let{checked:zi}=oi;return zi}),ia=ai&&jn.some(oi=>{let{checked:zi}=oi;return zi});ti=!ya&&ye.createElement("div",{className:`${ta}-selection`},ye.createElement(ro.default,{checked:ai?Si:!!Or.length&&on,indeterminate:ai?!Si&&ia:!on&&bn,onChange:Mr,disabled:Or.length===0||ai,"aria-label":Qn?"Custom selection":"Select all",skipGroup:!0}),Qn)}let xa;pi==="radio"?xa=(Qn,jn,ai)=>{const Si=Yo(jn,ai),ia=nn.has(Si);return{node:ye.createElement(ao.ZP,Object.assign({},ae.get(Si),{checked:ia,onClick:oi=>oi.stopPropagation(),onChange:oi=>{nn.has(Si)||rt(Si,!0,[Si],oi.nativeEvent)}})),checked:ia}}:xa=(Qn,jn,ai)=>{var Si;const ia=Yo(jn,ai),oi=nn.has(ia),zi=ze.has(ia),so=ae.get(ia);let Oo;return bo==="nest"?Oo=zi:Oo=(Si=so==null?void 0:so.indeterminate)!==null&&Si!==void 0?Si:zi,{node:ye.createElement(ro.default,Object.assign({},so,{indeterminate:Oo,checked:oi,skipGroup:!0,onClick:ar=>ar.stopPropagation(),onChange:ar=>{let{nativeEvent:$o}=ar;const{shiftKey:bl}=$o;let eu=-1,Cs=-1;if(bl&&Kr){const uu=new Set([Ye,ia]);cn.some((yu,cu)=>{if(uu.has(yu))if(eu===-1)eu=cu;else return Cs=cu,!0;return!1})}if(Cs!==-1&&eu!==Cs&&Kr){const uu=cn.slice(eu,Cs+1),yu=[];oi?uu.forEach(du=>{nn.has(du)&&(yu.push(du),nn.delete(du))}):uu.forEach(du=>{nn.has(du)||(yu.push(du),nn.add(du))});const cu=Array.from(nn);Ir==null||Ir(!oi,cu.map(du=>Co(du)),yu.map(du=>Co(du))),ct(cu,"multiple")}else{const uu=pe;if(Kr){const yu=oi?(0,Bo._5)(uu,ia):(0,Bo.L0)(uu,ia);rt(ia,!oi,yu,$o)}else{const yu=(0,As.S)([].concat((0,Pa.Z)(uu),[ia]),!0,Dn,de),{checkedKeys:cu,halfCheckedKeys:du}=yu;let oc=cu;if(oi){const Oc=new Set(cu);Oc.delete(ia),oc=(0,As.S)(Array.from(Oc),{checked:!1,halfCheckedKeys:du},Dn,de).checkedKeys}rt(ia,!oi,oc,$o)}}Ke(oi?null:ia)}})),checked:oi}};const ui=(Qn,jn,ai)=>{const{node:Si,checked:ia}=xa(Qn,jn,ai);return Fi?Fi(ia,jn,ai,Si):Si};if(!Zt.includes(Ds))if(Zt.findIndex(Qn=>{var jn;return((jn=Qn[Ha])===null||jn===void 0?void 0:jn.columnType)==="EXPAND_COLUMN"})===0){const[Qn,...jn]=Zt;Zt=[Qn,Ds].concat((0,Pa.Z)(jn))}else Zt=[Ds].concat((0,Pa.Z)(Zt));const ka=Zt.indexOf(Ds);Zt=Zt.filter((Qn,jn)=>Qn!==Ds||jn===ka);const Xa=Zt[ka-1],ua=Zt[ka+1];let Tr=Ri;Tr===void 0&&((ua==null?void 0:ua.fixed)!==void 0?Tr=ua.fixed:(Xa==null?void 0:Xa.fixed)!==void 0&&(Tr=Xa.fixed)),Tr&&Xa&&((Sn=Xa[Ha])===null||Sn===void 0?void 0:Sn.columnType)==="EXPAND_COLUMN"&&Xa.fixed===void 0&&(Xa.fixed=Tr);const yi=lt()(`${ta}-selection-col`,{[`${ta}-selection-col-with-dropdown`]:xi&&pi==="checkbox"}),Ya={fixed:Tr,width:mi,className:`${ta}-selection-column`,title:_e.columnTitle||ti,render:ui,onCell:_e.onCell,[Ha]:{className:yi}};return Zt.map(Qn=>Qn===Ds?Ya:Qn)},[Yo,Or,_e,pe,ke,ze,mi,Ct,bo,Ye,ae,Ir,rt,de]),ke]},hs=ie(89489),xs=ie(59477),vl=ie(6848);const jl="ascend",ts="descend";function Ss(Ve){return typeof Ve.sorter=="object"&&typeof Ve.sorter.multiple=="number"?Ve.sorter.multiple:!1}function ks(Ve){return typeof Ve=="function"?Ve:Ve&&typeof Ve=="object"&&Ve.compare?Ve.compare:!1}function vs(Ve,_e){return _e?Ve[Ve.indexOf(_e)+1]:Ve[0]}function Hu(Ve,_e,Pt){let Wt=[];function fn(un,qn){Wt.push({column:un,key:Sl(un,qn),multiplePriority:Ss(un),sortOrder:un.sortOrder})}return(Ve||[]).forEach((un,qn)=>{const _n=ds(qn,Pt);un.children?("sortOrder"in un&&fn(un,_n),Wt=[].concat((0,Pa.Z)(Wt),(0,Pa.Z)(Hu(un.children,_e,_n)))):un.sorter&&("sortOrder"in un?fn(un,_n):_e&&un.defaultSortOrder&&Wt.push({column:un,key:Sl(un,_n),multiplePriority:Ss(un),sortOrder:un.defaultSortOrder}))}),Wt}function $u(Ve,_e,Pt,Wt,fn,un,qn,_n){return(_e||[]).map((Xn,Lr)=>{const Sr=ds(Lr,_n);let Ir=Xn;if(Ir.sorter){const mi=Ir.sortDirections||fn,pi=Ir.showSorterTooltip===void 0?qn:Ir.showSorterTooltip,xi=Sl(Ir,Sr),Ri=Pt.find(bo=>{let{key:Ta}=bo;return Ta===xi}),Fi=Ri?Ri.sortOrder:null,ya=vs(mi,Fi);let Kr;if(Xn.sortIcon)Kr=Xn.sortIcon({sortOrder:Fi});else{const bo=mi.includes(jl)&&ye.createElement(xs.Z,{className:lt()(`${Ve}-column-sorter-up`,{active:Fi===jl})}),Ta=mi.includes(ts)&&ye.createElement(hs.Z,{className:lt()(`${Ve}-column-sorter-down`,{active:Fi===ts})});Kr=ye.createElement("span",{className:lt()(`${Ve}-column-sorter`,{[`${Ve}-column-sorter-full`]:!!(bo&&Ta)})},ye.createElement("span",{className:`${Ve}-column-sorter-inner`,"aria-hidden":"true"},bo,Ta))}const{cancelSort:ta,triggerAsc:qa,triggerDesc:Xo}=un||{};let Co=ta;ya===ts?Co=Xo:ya===jl&&(Co=qa);const Yo=typeof pi=="object"?pi:{title:Co};Ir=Object.assign(Object.assign({},Ir),{className:lt()(Ir.className,{[`${Ve}-column-sort`]:Fi}),title:bo=>{const Ta=ye.createElement("div",{className:`${Ve}-column-sorters`},ye.createElement("span",{className:`${Ve}-column-title`},bs(Xn.title,bo)),Kr);return pi?ye.createElement(vl.Z,Object.assign({},Yo),Ta):Ta},onHeaderCell:bo=>{const Ta=Xn.onHeaderCell&&Xn.onHeaderCell(bo)||{},So=Ta.onClick,Ra=Ta.onKeyDown;Ta.onClick=Ko=>{Wt({column:Xn,key:xi,sortOrder:ya,multiplePriority:Ss(Xn)}),So==null||So(Ko)},Ta.onKeyDown=Ko=>{Ko.keyCode===Yl.Z.ENTER&&(Wt({column:Xn,key:xi,sortOrder:ya,multiplePriority:Ss(Xn)}),Ra==null||Ra(Ko))};const Gi=gs(Xn.title,{}),ba=Gi==null?void 0:Gi.toString();return Fi?Ta["aria-sort"]=Fi==="ascend"?"ascending":"descending":Ta["aria-label"]=ba||"",Ta.className=lt()(Ta.className,`${Ve}-column-has-sorters`),Ta.tabIndex=0,Xn.ellipsis&&(Ta.title=(Gi!=null?Gi:"").toString()),Ta}})}return"children"in Ir&&(Ir=Object.assign(Object.assign({},Ir),{children:$u(Ve,Ir.children,Pt,Wt,fn,un,qn,Sr)})),Ir})}function Wu(Ve){const{column:_e,sortOrder:Pt}=Ve;return{column:_e,order:Pt,field:_e.dataIndex,columnKey:_e.key}}function ss(Ve){const _e=Ve.filter(Pt=>{let{sortOrder:Wt}=Pt;return Wt}).map(Wu);return _e.length===0&&Ve.length?Object.assign(Object.assign({},Wu(Ve[Ve.length-1])),{column:void 0}):_e.length<=1?_e[0]||{}:_e}function to(Ve,_e,Pt){const Wt=_e.slice().sort((qn,_n)=>_n.multiplePriority-qn.multiplePriority),fn=Ve.slice(),un=Wt.filter(qn=>{let{column:{sorter:_n},sortOrder:Xn}=qn;return ks(_n)&&Xn});return un.length?fn.sort((qn,_n)=>{for(let Xn=0;Xn{const _n=qn[Pt];return _n?Object.assign(Object.assign({},qn),{[Pt]:to(_n,_e,Pt)}):qn}):fn}function Al(Ve){let{prefixCls:_e,mergedColumns:Pt,onSorterChange:Wt,sortDirections:fn,tableLocale:un,showSorterTooltip:qn}=Ve;const[_n,Xn]=ye.useState(Hu(Pt,!0)),Lr=ye.useMemo(()=>{let xi=!0;const Ri=Hu(Pt,!1);if(!Ri.length)return _n;const Fi=[];function ya(ta){xi?Fi.push(ta):Fi.push(Object.assign(Object.assign({},ta),{sortOrder:null}))}let Kr=null;return Ri.forEach(ta=>{Kr===null?(ya(ta),ta.sortOrder&&(ta.multiplePriority===!1?xi=!1:Kr=!0)):(Kr&&ta.multiplePriority!==!1||(xi=!1),ya(ta))}),Fi},[Pt,_n]),Sr=ye.useMemo(()=>{const xi=Lr.map(Ri=>{let{column:Fi,sortOrder:ya}=Ri;return{column:Fi,order:ya}});return{sortColumns:xi,sortColumn:xi[0]&&xi[0].column,sortOrder:xi[0]&&xi[0].order}},[Lr]);function Ir(xi){let Ri;xi.multiplePriority===!1||!Lr.length||Lr[0].multiplePriority===!1?Ri=[xi]:Ri=[].concat((0,Pa.Z)(Lr.filter(Fi=>{let{key:ya}=Fi;return ya!==xi.key})),[xi]),Xn(Ri),Wt(ss(Ri),Ri)}return[xi=>$u(_e,xi,Lr,Ir,fn,un,qn),Lr,Sr,()=>ss(Lr)]}function pu(Ve,_e){return Ve.map(Pt=>{const Wt=Object.assign({},Pt);return Wt.title=bs(Pt.title,_e),"children"in Wt&&(Wt.children=pu(Wt.children,_e)),Wt})}function kl(Ve){return[ye.useCallback(Pt=>pu(Pt,Ve),[Ve])]}var Gs=ma((Ve,_e)=>{const{_renderTimes:Pt}=Ve,{_renderTimes:Wt}=_e;return Pt!==Wt}),ri=wl((Ve,_e)=>{const{_renderTimes:Pt}=Ve,{_renderTimes:Wt}=_e;return Pt!==Wt}),sa=ie(64993),Zl=ie(17313),$l=ie(83116),ys=ie(37613),Xe=Ve=>{const{componentCls:_e}=Ve,Pt=`${Ve.lineWidth}px ${Ve.lineType} ${Ve.tableBorderColor}`,Wt=(fn,un,qn)=>({[`&${_e}-${fn}`]:{[`> ${_e}-container`]:{[`> ${_e}-content, > ${_e}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${_e}-expanded-row-fixed`]:{margin:`-${un}px -${qn+Ve.lineWidth}px`}}}}}});return{[`${_e}-wrapper`]:{[`${_e}${_e}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${_e}-title`]:{border:Pt,borderBottom:0},[`> ${_e}-container`]:{borderInlineStart:Pt,borderTop:Pt,[` + > ${_e}-content, + > ${_e}-header, + > ${_e}-body, + > ${_e}-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:Pt},"> thead":{"> tr:not(:last-child) > th":{borderBottom:Pt},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${_e}-cell-fix-right-first::after`]:{borderInlineEnd:Pt}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${_e}-expanded-row-fixed`]:{margin:`-${Ve.tablePaddingVertical}px -${Ve.tablePaddingHorizontal+Ve.lineWidth}px`,"&::after":{position:"absolute",top:0,insetInlineEnd:Ve.lineWidth,bottom:0,borderInlineEnd:Pt,content:'""'}}}}}},[`&${_e}-scroll-horizontal`]:{[`> ${_e}-container > ${_e}-body`]:{"> table > tbody":{[` + > tr${_e}-expanded-row, + > tr${_e}-placeholder + `]:{"> th, > td":{borderInlineEnd:0}}}}}},Wt("middle",Ve.tablePaddingVerticalMiddle,Ve.tablePaddingHorizontalMiddle)),Wt("small",Ve.tablePaddingVerticalSmall,Ve.tablePaddingHorizontalSmall)),{[`> ${_e}-footer`]:{border:Pt,borderTop:0}}),[`${_e}-cell`]:{[`${_e}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${Ve.lineWidth}px 0 ${Ve.lineWidth}px ${Ve.tableHeaderBg}`}},[`${_e}-bordered ${_e}-cell-scrollbar`]:{borderInlineEnd:Pt}}}},kt=Ve=>{const{componentCls:_e}=Ve;return{[`${_e}-wrapper`]:{[`${_e}-cell-ellipsis`]:Object.assign(Object.assign({},Zl.vS),{wordBreak:"keep-all",[` + &${_e}-cell-fix-left-last, + &${_e}-cell-fix-right-first + `]:{overflow:"visible",[`${_e}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${_e}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},cr=Ve=>{const{componentCls:_e}=Ve;return{[`${_e}-wrapper`]:{[`${_e}-tbody > tr${_e}-placeholder`]:{textAlign:"center",color:Ve.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:Ve.colorBgContainer}}}}},sr=ie(15969),Wr=Ve=>{const{componentCls:_e,antCls:Pt,controlInteractiveSize:Wt,motionDurationSlow:fn,lineWidth:un,paddingXS:qn,lineType:_n,tableBorderColor:Xn,tableExpandIconBg:Lr,tableExpandColumnWidth:Sr,borderRadius:Ir,fontSize:mi,fontSizeSM:pi,lineHeight:xi,tablePaddingVertical:Ri,tablePaddingHorizontal:Fi,tableExpandedRowBg:ya,paddingXXS:Kr}=Ve,ta=Wt/2-un,qa=ta*2+un*3,Xo=`${un}px ${_n} ${Xn}`,Co=Kr-un;return{[`${_e}-wrapper`]:{[`${_e}-expand-icon-col`]:{width:Sr},[`${_e}-row-expand-icon-cell`]:{textAlign:"center",[`${_e}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${_e}-row-indent`]:{height:1,float:"left"},[`${_e}-row-expand-icon`]:Object.assign(Object.assign({},(0,sr.N)(Ve)),{position:"relative",float:"left",boxSizing:"border-box",width:qa,height:qa,padding:0,color:"inherit",lineHeight:`${qa}px`,background:Lr,border:Xo,borderRadius:Ir,transform:`scale(${Wt/qa})`,transition:`all ${fn}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${fn} ease-out`,content:'""'},"&::before":{top:ta,insetInlineEnd:Co,insetInlineStart:Co,height:un},"&::after":{top:Co,bottom:Co,insetInlineStart:ta,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"}}),[`${_e}-row-indent + ${_e}-row-expand-icon`]:{marginTop:(mi*xi-un*3)/2-Math.ceil((pi*1.4-un*3)/2),marginInlineEnd:qn},[`tr${_e}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:ya}},[`${Pt}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${_e}-expanded-row-fixed`]:{position:"relative",margin:`-${Ri}px -${Fi}px`,padding:`${Ri}px ${Fi}px`}}}},ha=Ve=>{const{componentCls:_e,antCls:Pt,iconCls:Wt,tableFilterDropdownWidth:fn,tableFilterDropdownSearchWidth:un,paddingXXS:qn,paddingXS:_n,colorText:Xn,lineWidth:Lr,lineType:Sr,tableBorderColor:Ir,tableHeaderIconColor:mi,fontSizeSM:pi,tablePaddingHorizontal:xi,borderRadius:Ri,motionDurationSlow:Fi,colorTextDescription:ya,colorPrimary:Kr,tableHeaderFilterActiveBg:ta,colorTextDisabled:qa,tableFilterDropdownBg:Xo,tableFilterDropdownHeight:Co,controlItemBgHover:Yo,controlItemBgActive:bo,boxShadowSecondary:Ta,filterDropdownMenuBg:So}=Ve,Ra=`${Pt}-dropdown`,Gi=`${_e}-filter-dropdown`,ba=`${Pt}-tree`,Ko=`${Lr}px ${Sr} ${Ir}`;return[{[`${_e}-wrapper`]:{[`${_e}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${_e}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:-qn,marginInline:`${qn}px ${-xi/2}px`,padding:`0 ${qn}px`,color:mi,fontSize:pi,borderRadius:Ri,cursor:"pointer",transition:`all ${Fi}`,"&:hover":{color:ya,background:ta},"&.active":{color:Kr}}}},{[`${Pt}-dropdown`]:{[Gi]:Object.assign(Object.assign({},(0,Zl.Wf)(Ve)),{minWidth:fn,backgroundColor:Xo,borderRadius:Ri,boxShadow:Ta,overflow:"hidden",[`${Ra}-menu`]:{maxHeight:Co,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:So,"&:empty::after":{display:"block",padding:`${_n}px 0`,color:qa,fontSize:pi,textAlign:"center",content:'"Not Found"'}},[`${Gi}-tree`]:{paddingBlock:`${_n}px 0`,paddingInline:_n,[ba]:{padding:0},[`${ba}-treenode ${ba}-node-content-wrapper:hover`]:{backgroundColor:Yo},[`${ba}-treenode-checkbox-checked ${ba}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:bo}}},[`${Gi}-search`]:{padding:_n,borderBottom:Ko,"&-input":{input:{minWidth:un},[Wt]:{color:qa}}},[`${Gi}-checkall`]:{width:"100%",marginBottom:qn,marginInlineStart:qn},[`${Gi}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${_n-Lr}px ${_n}px`,overflow:"hidden",borderTop:Ko}})}},{[`${Pt}-dropdown ${Gi}, ${Gi}-submenu`]:{[`${Pt}-checkbox-wrapper + span`]:{paddingInlineStart:_n,color:Xn},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},Bi=Ve=>{const{componentCls:_e,lineWidth:Pt,colorSplit:Wt,motionDurationSlow:fn,zIndexTableFixed:un,tableBg:qn,zIndexTableSticky:_n}=Ve,Xn=Wt;return{[`${_e}-wrapper`]:{[` + ${_e}-cell-fix-left, + ${_e}-cell-fix-right + `]:{position:"sticky !important",zIndex:un,background:qn},[` + ${_e}-cell-fix-left-first::after, + ${_e}-cell-fix-left-last::after + `]:{position:"absolute",top:0,right:{_skip_check_:!0,value:0},bottom:-Pt,width:30,transform:"translateX(100%)",transition:`box-shadow ${fn}`,content:'""',pointerEvents:"none"},[`${_e}-cell-fix-left-all::after`]:{display:"none"},[` + ${_e}-cell-fix-right-first::after, + ${_e}-cell-fix-right-last::after + `]:{position:"absolute",top:0,bottom:-Pt,left:{_skip_check_:!0,value:0},width:30,transform:"translateX(-100%)",transition:`box-shadow ${fn}`,content:'""',pointerEvents:"none"},[`${_e}-container`]:{"&::before, &::after":{position:"absolute",top:0,bottom:0,zIndex:_n+1,width:30,transition:`box-shadow ${fn}`,content:'""',pointerEvents:"none"},"&::before":{insetInlineStart:0},"&::after":{insetInlineEnd:0}},[`${_e}-ping-left`]:{[`&:not(${_e}-has-fix-left) ${_e}-container`]:{position:"relative","&::before":{boxShadow:`inset 10px 0 8px -8px ${Xn}`}},[` + ${_e}-cell-fix-left-first::after, + ${_e}-cell-fix-left-last::after + `]:{boxShadow:`inset 10px 0 8px -8px ${Xn}`},[`${_e}-cell-fix-left-last::before`]:{backgroundColor:"transparent !important"}},[`${_e}-ping-right`]:{[`&:not(${_e}-has-fix-right) ${_e}-container`]:{position:"relative","&::after":{boxShadow:`inset -10px 0 8px -8px ${Xn}`}},[` + ${_e}-cell-fix-right-first::after, + ${_e}-cell-fix-right-last::after + `]:{boxShadow:`inset -10px 0 8px -8px ${Xn}`}}}}},Yi=Ve=>{const{componentCls:_e,antCls:Pt}=Ve;return{[`${_e}-wrapper`]:{[`${_e}-pagination${Pt}-pagination`]:{margin:`${Ve.margin}px 0`},[`${_e}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:Ve.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},_r=Ve=>{const{componentCls:_e,tableRadius:Pt}=Ve;return{[`${_e}-wrapper`]:{[_e]:{[`${_e}-title, ${_e}-header`]:{borderRadius:`${Pt}px ${Pt}px 0 0`},[`${_e}-title + ${_e}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${_e}-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:Pt,borderStartEndRadius:Pt,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:Pt},"> *:last-child":{borderStartEndRadius:Pt}}},"&-footer":{borderRadius:`0 0 ${Pt}px ${Pt}px`}}}}},Po=Ve=>{const{componentCls:_e}=Ve;return{[`${_e}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${_e}-pagination-left`]:{justifyContent:"flex-end"},[`${_e}-pagination-right`]:{justifyContent:"flex-start"},[`${_e}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${_e}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${_e}-row-indent`]:{float:"right"}}}}},Do=Ve=>{const{componentCls:_e,antCls:Pt,iconCls:Wt,fontSizeIcon:fn,padding:un,paddingXS:qn,tableHeaderIconColor:_n,tableHeaderIconColorHover:Xn,tableSelectionColumnWidth:Lr}=Ve;return{[`${_e}-wrapper`]:{[`${_e}-selection-col`]:{width:Lr,[`&${_e}-selection-col-with-dropdown`]:{width:Lr+fn+un/4}},[`${_e}-bordered ${_e}-selection-col`]:{width:Lr+qn*2,[`&${_e}-selection-col-with-dropdown`]:{width:Lr+fn+un/4+qn*2}},[` + table tr th${_e}-selection-column, + table tr td${_e}-selection-column + `]:{paddingInlineEnd:Ve.paddingXS,paddingInlineStart:Ve.paddingXS,textAlign:"center",[`${Pt}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${_e}-selection-column${_e}-cell-fix-left`]:{zIndex:Ve.zIndexTableFixed+1},[`table tr th${_e}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${_e}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${_e}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${Ve.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:`${Ve.tablePaddingHorizontal/4}px`,[Wt]:{color:_n,fontSize:fn,verticalAlign:"baseline","&:hover":{color:Xn}}}}}},co=Ve=>{const{componentCls:_e}=Ve,Pt=(Wt,fn,un,qn)=>({[`${_e}${_e}-${Wt}`]:{fontSize:qn,[` + ${_e}-title, + ${_e}-footer, + ${_e}-cell, + ${_e}-thead > tr > th, + ${_e}-tbody > tr > th, + ${_e}-tbody > tr > td, + tfoot > tr > th, + tfoot > tr > td + `]:{padding:`${fn}px ${un}px`},[`${_e}-filter-trigger`]:{marginInlineEnd:`-${un/2}px`},[`${_e}-expanded-row-fixed`]:{margin:`-${fn}px -${un}px`},[`${_e}-tbody`]:{[`${_e}-wrapper:only-child ${_e}`]:{marginBlock:`-${fn}px`,marginInline:`${Ve.tableExpandColumnWidth-un}px -${un}px`}},[`${_e}-selection-column`]:{paddingInlineStart:`${un/4}px`}}});return{[`${_e}-wrapper`]:Object.assign(Object.assign({},Pt("middle",Ve.tablePaddingVerticalMiddle,Ve.tablePaddingHorizontalMiddle,Ve.tableFontSizeMiddle)),Pt("small",Ve.tablePaddingVerticalSmall,Ve.tablePaddingHorizontalSmall,Ve.tableFontSizeSmall))}},ns=Ve=>{const{componentCls:_e,marginXXS:Pt,fontSizeIcon:Wt,tableHeaderIconColor:fn,tableHeaderIconColorHover:un}=Ve;return{[`${_e}-wrapper`]:{[`${_e}-thead th${_e}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${Ve.motionDurationSlow}`,"&:hover":{background:Ve.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:Ve.colorPrimary},[` + &${_e}-cell-fix-left:hover, + &${_e}-cell-fix-right:hover + `]:{background:Ve.tableFixedHeaderSortActiveBg}},[`${_e}-thead th${_e}-column-sort`]:{background:Ve.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${_e}-column-sort`]:{background:Ve.tableBodySortBg},[`${_e}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${_e}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${_e}-column-sorter`]:{marginInlineStart:Pt,color:fn,fontSize:0,transition:`color ${Ve.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:Wt,"&.active":{color:Ve.colorPrimary}},[`${_e}-column-sorter-up + ${_e}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${_e}-column-sorters:hover ${_e}-column-sorter`]:{color:un}}}},Xr=Ve=>{const{componentCls:_e,opacityLoading:Pt,tableScrollThumbBg:Wt,tableScrollThumbBgHover:fn,tableScrollThumbSize:un,tableScrollBg:qn,zIndexTableSticky:_n,stickyScrollBarBorderRadius:Xn}=Ve,Lr=`${Ve.lineWidth}px ${Ve.lineType} ${Ve.tableBorderColor}`;return{[`${_e}-wrapper`]:{[`${_e}-sticky`]:{"&-holder":{position:"sticky",zIndex:_n,background:Ve.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${un}px !important`,zIndex:_n,display:"flex",alignItems:"center",background:qn,borderTop:Lr,opacity:Pt,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:un,backgroundColor:Wt,borderRadius:Xn,transition:`all ${Ve.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:fn}}}}}}},Ms=Ve=>{const{componentCls:_e,lineWidth:Pt,tableBorderColor:Wt}=Ve,fn=`${Pt}px ${Ve.lineType} ${Wt}`;return{[`${_e}-wrapper`]:{[`${_e}-summary`]:{position:"relative",zIndex:Ve.zIndexTableFixed,background:Ve.tableBg,"> tr":{"> th, > td":{borderBottom:fn}}},[`div${_e}-summary`]:{boxShadow:`0 -${Pt}px 0 ${Wt}`}}}},Ks=Ve=>{const{componentCls:_e}=Ve,Pt=`${Ve.lineWidth}px ${Ve.lineType} ${Ve.tableBorderColor}`,Wt=`${_e}-expanded-row-cell`;return{[`${_e}-wrapper`]:{[`${_e}-tbody-virtual`]:{[`${_e}-row`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${_e}-cell`]:{borderBottom:Pt},[`${_e}-expanded-row`]:{[`${Wt}${Wt}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${Ve.lineWidth}px)`,borderInlineEnd:"none"}}},[`${_e}-bordered`]:{[`${_e}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:Pt,position:"absolute"},[`${_e}-cell`]:{borderInlineEnd:Pt,[`&${_e}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:-Ve.lineWidth,borderInlineStart:Pt}}}}}}};const rs=Ve=>{const{componentCls:_e,fontWeightStrong:Pt,tablePaddingVertical:Wt,tablePaddingHorizontal:fn,lineWidth:un,lineType:qn,tableBorderColor:_n,tableFontSize:Xn,tableBg:Lr,tableRadius:Sr,tableHeaderTextColor:Ir,motionDurationMid:mi,tableHeaderBg:pi,tableHeaderCellSplitColor:xi,tableRowHoverBg:Ri,tableSelectedRowBg:Fi,tableSelectedRowHoverBg:ya,tableFooterTextColor:Kr,tableFooterBg:ta,paddingContentVerticalLG:qa}=Ve,Xo=`${un}px ${qn} ${_n}`;return{[`${_e}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},(0,Zl.dF)()),{[_e]:Object.assign(Object.assign({},(0,Zl.Wf)(Ve)),{fontSize:Xn,background:Lr,borderRadius:`${Sr}px ${Sr}px 0 0`}),table:{width:"100%",textAlign:"start",borderRadius:`${Sr}px ${Sr}px 0 0`,borderCollapse:"separate",borderSpacing:0},[` + ${_e}-cell, + ${_e}-thead > tr > th, + ${_e}-tbody > tr > th, + ${_e}-tbody > tr > td, + tfoot > tr > th, + tfoot > tr > td + `]:{position:"relative",padding:`${qa}px ${fn}px`,overflowWrap:"break-word"},[`${_e}-title`]:{padding:`${Wt}px ${fn}px`},[`${_e}-thead`]:{"\n > tr > th,\n > tr > td\n ":{position:"relative",color:Ir,fontWeight:Pt,textAlign:"start",background:pi,borderBottom:Xo,transition:`background ${mi} ease`,"&[colspan]:not([colspan='1'])":{textAlign:"center"},[`&:not(:last-child):not(${_e}-selection-column):not(${_e}-row-expand-icon-cell):not([colspan])::before`]:{position:"absolute",top:"50%",insetInlineEnd:0,width:1,height:"1.6em",backgroundColor:xi,transform:"translateY(-50%)",transition:`background-color ${mi}`,content:'""'}},"> tr:not(:last-child) > th[colspan]":{borderBottom:0}},[`${_e}-tbody`]:{"> tr":{"> th, > td":{transition:`background ${mi}, border-color ${mi}`,borderBottom:Xo,[` + > ${_e}-wrapper:only-child, + > ${_e}-expanded-row-fixed > ${_e}-wrapper:only-child + `]:{[_e]:{marginBlock:`-${Wt}px`,marginInline:`${Ve.tableExpandColumnWidth-fn}px -${fn}px`,[`${_e}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:Ir,fontWeight:Pt,textAlign:"start",background:pi,borderBottom:Xo,transition:`background ${mi} ease`},[` + &${_e}-row:hover > th, + &${_e}-row:hover > td, + > th${_e}-cell-row-hover, + > td${_e}-cell-row-hover + `]:{background:Ri},[`&${_e}-row-selected`]:{"> th, > td":{background:Fi},"&:hover > th, &:hover > td":{background:ya}}}},[`${_e}-footer`]:{padding:`${Wt}px ${fn}px`,color:Kr,background:ta}})}};var ml=(0,$l.Z)("Table",Ve=>{const{colorTextHeading:_e,colorSplit:Pt,colorIcon:Wt,colorIconHover:fn,opacityLoading:un,colorBgContainer:qn,controlInteractiveSize:_n,headerBg:Xn,headerColor:Lr,headerSortActiveBg:Sr,headerSortHoverBg:Ir,bodySortBg:mi,rowHoverBg:pi,rowSelectedBg:xi,rowSelectedHoverBg:Ri,rowExpandedBg:Fi,cellPaddingBlock:ya,cellPaddingInline:Kr,cellPaddingBlockMD:ta,cellPaddingInlineMD:qa,cellPaddingBlockSM:Xo,cellPaddingInlineSM:Co,borderColor:Yo,footerBg:bo,footerColor:Ta,headerBorderRadius:So,cellFontSize:Ra,cellFontSizeMD:Gi,cellFontSizeSM:ba,headerSplitColor:Ko,fixedHeaderSortActiveBg:Rl,headerFilterHoverBg:Dn,filterDropdownBg:Or,expandIconBg:ae,selectionColumnWidth:de,stickyScrollBarBg:pe}=Ve,xe=new sa.C(Wt),ke=new sa.C(fn),ze=2,Ye=(0,ys.TS)(Ve,{tableFontSize:Ra,tableBg:qn,tableRadius:So,tablePaddingVertical:ya,tablePaddingHorizontal:Kr,tablePaddingVerticalMiddle:ta,tablePaddingHorizontalMiddle:qa,tablePaddingVerticalSmall:Xo,tablePaddingHorizontalSmall:Co,tableBorderColor:Yo,tableHeaderTextColor:Lr,tableHeaderBg:Xn,tableFooterTextColor:Ta,tableFooterBg:bo,tableHeaderCellSplitColor:Ko,tableHeaderSortBg:Sr,tableHeaderSortHoverBg:Ir,tableHeaderIconColor:xe.clone().setAlpha(xe.getAlpha()*un).toRgbString(),tableHeaderIconColorHover:ke.clone().setAlpha(ke.getAlpha()*un).toRgbString(),tableBodySortBg:mi,tableFixedHeaderSortActiveBg:Rl,tableHeaderFilterActiveBg:Dn,tableFilterDropdownBg:Or,tableRowHoverBg:pi,tableSelectedRowBg:xi,tableSelectedRowHoverBg:Ri,zIndexTableFixed:ze,zIndexTableSticky:ze+1,tableFontSizeMiddle:Gi,tableFontSizeSmall:ba,tableSelectionColumnWidth:de,tableExpandIconBg:ae,tableExpandColumnWidth:_n+2*Ve.padding,tableExpandedRowBg:Fi,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:pe,tableScrollThumbBgHover:_e,tableScrollBg:Pt});return[rs(Ye),Yi(Ye),Ms(Ye),ns(Ye),ha(Ye),Xe(Ye),_r(Ye),Wr(Ye),Ms(Ye),cr(Ye),Do(Ye),Bi(Ye),Xr(Ye),kt(Ye),co(Ye),Po(Ye),Ks(Ye)]},Ve=>{const{colorFillAlter:_e,colorBgContainer:Pt,colorTextHeading:Wt,colorFillSecondary:fn,colorFillContent:un,controlItemBgActive:qn,controlItemBgActiveHover:_n,padding:Xn,paddingSM:Lr,paddingXS:Sr,colorBorderSecondary:Ir,borderRadiusLG:mi,fontSize:pi,controlHeight:xi,colorTextPlaceholder:Ri}=Ve,Fi=new sa.C(fn).onBackground(Pt).toHexShortString(),ya=new sa.C(un).onBackground(Pt).toHexShortString(),Kr=new sa.C(_e).onBackground(Pt).toHexShortString();return{headerBg:Kr,headerColor:Wt,headerSortActiveBg:Fi,headerSortHoverBg:ya,bodySortBg:Kr,rowHoverBg:Kr,rowSelectedBg:qn,rowSelectedHoverBg:_n,rowExpandedBg:_e,cellPaddingBlock:Xn,cellPaddingInline:Xn,cellPaddingBlockMD:Lr,cellPaddingInlineMD:Sr,cellPaddingBlockSM:Sr,cellPaddingInlineSM:Sr,borderColor:Ir,headerBorderRadius:mi,footerBg:Kr,footerColor:Wt,cellFontSize:pi,cellFontSizeMD:pi,cellFontSizeSM:pi,headerSplitColor:Ir,fixedHeaderSortActiveBg:Fi,headerFilterHoverBg:un,filterDropdownMenuBg:Pt,filterDropdownBg:Pt,expandIconBg:Pt,selectionColumnWidth:xi,stickyScrollBarBg:Ri,stickyScrollBarBorderRadius:100}});const is=[],ws=(Ve,_e)=>{const{prefixCls:Pt,className:Wt,rootClassName:fn,style:un,size:qn,bordered:_n,dropdownPrefixCls:Xn,dataSource:Lr,pagination:Sr,rowSelection:Ir,rowKey:mi="key",rowClassName:pi,columns:xi,children:Ri,childrenColumnName:Fi,onChange:ya,getPopupContainer:Kr,loading:ta,expandIcon:qa,expandable:Xo,expandedRowRender:Co,expandIconColumnIndex:Yo,indentSize:bo,scroll:Ta,sortDirections:So,locale:Ra,showSorterTooltip:Gi=!0,virtual:ba}=Ve,Ko=ye.useMemo(()=>xi||De(Ri),[xi,Ri]),Rl=ye.useMemo(()=>Ko.some(Ys=>Ys.responsive),[Ko]),Dn=(0,zu.Z)(Rl),Or=ye.useMemo(()=>{const Ys=new Set(Object.keys(Dn).filter(zs=>Dn[zs]));return Ko.filter(zs=>!zs.responsive||zs.responsive.some(Du=>Ys.has(Du)))},[Ko,Dn]),ae=(0,Au.Z)(Ve,["className","style","columns"]),{locale:de=xu.Z,direction:pe,table:xe,renderEmpty:ke,getPrefixCls:ze,getPopupContainer:Ye}=ye.useContext(Ls.E_),Ke=(0,Ws.Z)(qn),ct=Object.assign(Object.assign({},de.Table),Ra),rt=Lr||is,Ct=ze("table",Pt),Xt=ze("dropdown",Xn),Bt=Object.assign({childrenColumnName:Fi,expandIconColumnIndex:Yo},Xo),{childrenColumnName:Sn="children"}=Bt,Zt=ye.useMemo(()=>rt.some(Ys=>Ys==null?void 0:Ys[Sn])?"nest":Co||Xo&&Xo.expandedRowRender?"row":null,[rt]),nn={body:ye.useRef()},cn=ye.useMemo(()=>typeof mi=="function"?mi:Ys=>Ys==null?void 0:Ys[mi],[mi]),[on]=ql(rt,Sn,cn),bn={},Mr=function(Ys,zs){let Du=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var Eu,qu,ic;const mc=Object.assign(Object.assign({},bn),Ys);Du&&((Eu=bn.resetPagination)===null||Eu===void 0||Eu.call(bn),!((qu=mc.pagination)===null||qu===void 0)&&qu.current&&(mc.pagination.current=1),Sr&&Sr.onChange&&Sr.onChange(1,(ic=mc.pagination)===null||ic===void 0?void 0:ic.pageSize)),Ta&&Ta.scrollToFirstRowOnChange!==!1&&nn.body.current&&(0,_s.Z)(0,{getContainer:()=>nn.body.current}),ya==null||ya(mc.pagination,mc.filters,mc.sorter,{currentDataSource:ps(to(rt,mc.sorterStates,Sn),mc.filterStates),action:zs})},ti=(Ys,zs)=>{Mr({sorter:Ys,sorterStates:zs},"sort",!1)},[xa,ui,ka,Xa]=Al({prefixCls:Ct,mergedColumns:Or,onSorterChange:ti,sortDirections:So||["ascend","descend"],tableLocale:ct,showSorterTooltip:Gi}),ua=ye.useMemo(()=>to(rt,ui,Sn),[rt,ui]);bn.sorter=Xa(),bn.sorterStates=ui;const Tr=(Ys,zs)=>{Mr({filters:Ys,filterStates:zs},"filter",!0)},[yi,Ya,Qn]=Ca({prefixCls:Ct,locale:ct,dropdownPrefixCls:Xt,mergedColumns:Or,onFilterChange:Tr,getPopupContainer:Kr||Ye}),jn=ps(ua,Ya);bn.filters=Qn,bn.filterStates=Ya;const ai=ye.useMemo(()=>{const Ys={};return Object.keys(Qn).forEach(zs=>{Qn[zs]!==null&&(Ys[zs]=Qn[zs])}),Object.assign(Object.assign({},ka),{filters:Ys})},[ka,Qn]),[Si]=kl(ai),ia=(Ys,zs)=>{Mr({pagination:Object.assign(Object.assign({},bn.pagination),{current:Ys,pageSize:zs})},"paginate")},[oi,zi]=Fs(jn.length,ia,Sr);bn.pagination=Sr===!1?{}:fs(oi,Sr),bn.resetPagination=zi;const so=ye.useMemo(()=>{if(Sr===!1||!oi.pageSize)return jn;const{current:Ys=1,total:zs,pageSize:Du=Fo}=oi;return jn.lengthDu?jn.slice((Ys-1)*Du,Ys*Du):jn:jn.slice((Ys-1)*Du,Ys*Du)},[!!Sr,jn,oi&&oi.current,oi&&oi.pageSize,oi&&oi.total]),[Oo,ar]=Ro({prefixCls:Ct,data:jn,pageData:so,getRowKey:cn,getRecordByKey:on,expandType:Zt,childrenColumnName:Sn,locale:ct,getPopupContainer:Kr||Ye},Ir),$o=(Ys,zs,Du)=>{let Eu;return typeof pi=="function"?Eu=lt()(pi(Ys,zs,Du)):Eu=lt()(pi),lt()({[`${Ct}-row-selected`]:ar.has(cn(Ys,zs))},Eu)};Bt.__PARENT_RENDER_ICON__=Bt.expandIcon,Bt.expandIcon=Bt.expandIcon||qa||Vo(ct),Zt==="nest"&&Bt.expandIconColumnIndex===void 0?Bt.expandIconColumnIndex=Ir?1:0:Bt.expandIconColumnIndex>0&&Ir&&(Bt.expandIconColumnIndex-=1),typeof Bt.indentSize!="number"&&(Bt.indentSize=typeof bo=="number"?bo:15);const bl=ye.useCallback(Ys=>Si(Oo(yi(xa(Ys)))),[xa,yi,Oo]);let eu,Cs;if(Sr!==!1&&(oi!=null&&oi.total)){let Ys;oi.size?Ys=oi.size:Ys=Ke==="small"||Ke==="middle"?"small":void 0;const zs=qu=>ye.createElement($a.Z,Object.assign({},oi,{className:lt()(`${Ct}-pagination ${Ct}-pagination-${qu}`,oi.className),size:Ys})),Du=pe==="rtl"?"left":"right",{position:Eu}=oi;if(Eu!==null&&Array.isArray(Eu)){const qu=Eu.find(Tc=>Tc.includes("top")),ic=Eu.find(Tc=>Tc.includes("bottom")),mc=Eu.every(Tc=>`${Tc}`=="none");!qu&&!ic&&!mc&&(Cs=zs(Du)),qu&&(eu=zs(qu.toLowerCase().replace("top",""))),ic&&(Cs=zs(ic.toLowerCase().replace("bottom","")))}else Cs=zs(Du)}let uu;typeof ta=="boolean"?uu={spinning:ta}:typeof ta=="object"&&(uu=Object.assign({spinning:!0},ta));const[yu,cu]=ml(Ct),[,du]=(0,Ma.Z)(),oc=lt()(`${Ct}-wrapper`,xe==null?void 0:xe.className,{[`${Ct}-wrapper-rtl`]:pe==="rtl"},Wt,fn,cu),Oc=Object.assign(Object.assign({},xe==null?void 0:xe.style),un),Ru=Ra&&Ra.emptyText||(ke==null?void 0:ke("Table"))||ye.createElement($s.Z,{componentName:"Table"}),Vl=ba?ri:Gs,vc={},Pu=ye.useMemo(()=>{const{fontSize:Ys,lineHeight:zs,padding:Du,paddingXS:Eu,paddingSM:qu}=du,ic=Math.floor(Ys*zs);switch(Ke){case"large":return Du*2+ic;case"small":return Eu*2+ic;default:return qu*2+ic}},[du,Ke]);return ba&&(vc.listItemHeight=Pu),yu(ye.createElement("div",{ref:_e,className:oc,style:Oc},ye.createElement(Za.Z,Object.assign({spinning:!1},uu),eu,ye.createElement(Vl,Object.assign({},vc,ae,{columns:Or,direction:pe,expandable:Bt,prefixCls:Ct,className:lt()({[`${Ct}-middle`]:Ke==="middle",[`${Ct}-small`]:Ke==="small",[`${Ct}-bordered`]:_n,[`${Ct}-empty`]:rt.length===0}),data:so,rowKey:cn,rowClassName:$o,emptyText:Ru,internalHooks:Oe,internalRefs:nn,transformColumns:bl})),Cs)))};var iu=ye.forwardRef(ws);const Ts=(Ve,_e)=>{const Pt=ye.useRef(0);return Pt.current+=1,ye.createElement(iu,Object.assign({},Ve,{ref:_e,_renderTimes:Pt.current}))},Is=ye.forwardRef(Ts);Is.SELECTION_COLUMN=Ds,Is.EXPAND_COLUMN=ee,Is.SELECTION_ALL=Ql,Is.SELECTION_INVERT=wu,Is.SELECTION_NONE=hu,Is.Column=pl,Is.ColumnGroup=Qs,Is.Summary=mt;var Cu=Is,Nu=Cu},99313:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return at}});var ee=ie(99267),Oe=ie(18785),st=ie(62772),yt=ie(92310),Qe=ie.n(yt),Je=ie(60499),ye=ie(18642),Se=ie(85899),He=ie(72190),pt=ie(43749),tt=ie(42244),ut=ie(59301),ht=ie(49658),ot=ie(18929),Fe=ie(77900),qe=(0,ut.createContext)(null),St=ut.forwardRef(function(De,nt){var Ot=De.prefixCls,xn=De.className,wn=De.style,gr=De.id,Ar=De.active,fr=De.tabKey,vr=De.children;return ut.createElement("div",{id:gr&&"".concat(gr,"-panel-").concat(fr),role:"tabpanel",tabIndex:Ar?0:-1,"aria-labelledby":gr&&"".concat(gr,"-tab-").concat(fr),"aria-hidden":!Ar,style:wn,className:Qe()(Ot,Ar&&"".concat(Ot,"-active"),xn),ref:nt},vr)}),jt=St,Lt=["key","forceRender","style","className"];function Ut(De){var nt=De.id,Ot=De.activeKey,xn=De.animated,wn=De.tabPosition,gr=De.destroyInactiveTabPane,Ar=ut.useContext(qe),fr=Ar.prefixCls,vr=Ar.tabs,qr=xn.tabPane,Xi="".concat(fr,"-tabpane");return ut.createElement("div",{className:Qe()("".concat(fr,"-content-holder"))},ut.createElement("div",{className:Qe()("".concat(fr,"-content"),"".concat(fr,"-content-").concat(wn),(0,ye.Z)({},"".concat(fr,"-content-animated"),qr))},vr.map(function(Nr){var Gn=Nr.key,Fn=Nr.forceRender,Kt=Nr.style,Mn=Nr.className,zn=(0,tt.Z)(Nr,Lt),Jn=Gn===Ot;return ut.createElement(Fe.default,(0,Je.Z)({key:Gn,visible:Jn,forceRender:Fn,removeOnLeave:!!gr,leavedClassName:"".concat(Xi,"-hidden")},xn.tabPaneMotion),function(xr,$n){var jr=xr.style,pn=xr.className;return ut.createElement(jt,(0,Je.Z)({},zn,{prefixCls:Xi,id:nt,tabKey:Gn,animated:qr,active:Jn,style:(0,Se.Z)((0,Se.Z)({},Kt),jr),className:Qe()(Mn,pn),ref:$n}))})})))}var At=ie(77654),Mt=ie(29301),je=ie(6089),gn=ie(8654),Nn={width:0,height:0,left:0,top:0};function rn(De,nt,Ot){return(0,ut.useMemo)(function(){for(var xn,wn=new Map,gr=nt.get((xn=De[0])===null||xn===void 0?void 0:xn.key)||Nn,Ar=gr.left+gr.width,fr=0;frQa?(oa=Ji,ni.current="x"):(oa=fa,ni.current="y"),nt(-oa,-oa)&&bi.preventDefault()}var Ni=(0,ut.useRef)(null);Ni.current={onTouchStart:$n,onTouchMove:jr,onTouchEnd:pn,onWheel:Ai},ut.useEffect(function(){function bi(ji){Ni.current.onTouchStart(ji)}function Ji(ji){Ni.current.onTouchMove(ji)}function fa(ji){Ni.current.onTouchEnd(ji)}function oa(ji){Ni.current.onWheel(ji)}return document.addEventListener("touchmove",Ji,{passive:!1}),document.addEventListener("touchend",fa,{passive:!1}),De.current.addEventListener("touchstart",bi,{passive:!1}),De.current.addEventListener("wheel",oa),function(){document.removeEventListener("touchmove",Ji),document.removeEventListener("touchend",fa)}},[])}var ln=ie(34280);function tn(De){var nt=(0,ut.useState)(0),Ot=(0,He.Z)(nt,2),xn=Ot[0],wn=Ot[1],gr=(0,ut.useRef)(0),Ar=(0,ut.useRef)();return Ar.current=De,(0,ln.o)(function(){var fr;(fr=Ar.current)===null||fr===void 0||fr.call(Ar)},[xn]),function(){gr.current===xn&&(gr.current+=1,wn(gr.current))}}function lr(De){var nt=(0,ut.useRef)([]),Ot=(0,ut.useState)({}),xn=(0,He.Z)(Ot,2),wn=xn[1],gr=(0,ut.useRef)(typeof De=="function"?De():De),Ar=tn(function(){var vr=gr.current;nt.current.forEach(function(qr){vr=qr(vr)}),nt.current=[],gr.current=vr,wn({})});function fr(vr){nt.current.push(vr),Ar()}return[gr.current,fr]}var Dr={width:0,height:0,left:0,top:0,right:0};function ft(De,nt,Ot,xn,wn,gr,Ar){var fr=Ar.tabs,vr=Ar.tabPosition,qr=Ar.rtl,Xi,Nr,Gn;return["top","bottom"].includes(vr)?(Xi="width",Nr=qr?"right":"left",Gn=Math.abs(Ot)):(Xi="height",Nr="top",Gn=-Ot),(0,ut.useMemo)(function(){if(!fr.length)return[0,0];for(var Fn=fr.length,Kt=Fn,Mn=0;MnGn+nt){Kt=Mn-1;break}}for(var Jn=0,xr=Fn-1;xr>=0;xr-=1){var $n=De.get(fr[xr].key)||Dr;if($n[Nr]=Kt?[0,0]:[Jn,Kt]},[De,nt,xn,wn,gr,Gn,vr,fr.map(function(Fn){return Fn.key}).join("_"),qr])}function Le(De){var nt;return De instanceof Map?(nt={},De.forEach(function(Ot,xn){nt[xn]=Ot})):nt=De,JSON.stringify(nt)}var Gt="TABS_DQ";function Cr(De){return String(De).replace(/"/g,Gt)}function ur(De,nt,Ot,xn){return!(!Ot||xn||De===!1||De===void 0&&(nt===!1||nt===null))}function It(De,nt){var Ot=De.prefixCls,xn=De.editable,wn=De.locale,gr=De.style;return!xn||xn.showAdd===!1?null:ut.createElement("button",{ref:nt,type:"button",className:"".concat(Ot,"-nav-add"),style:gr,"aria-label":(wn==null?void 0:wn.addAriaLabel)||"Add tab",onClick:function(fr){xn.onEdit("add",{event:fr})}},xn.addIcon||"+")}var Nt=ut.forwardRef(It),hr=ut.forwardRef(function(De,nt){var Ot=De.position,xn=De.prefixCls,wn=De.extra;if(!wn)return null;var gr,Ar={};return(0,pt.Z)(wn)==="object"&&!ut.isValidElement(wn)?Ar=wn:Ar.right=wn,Ot==="right"&&(gr=Ar.right),Ot==="left"&&(gr=Ar.left),gr?ut.createElement("div",{className:"".concat(xn,"-extra-content"),ref:nt},gr):null}),ir=hr,sn=ie(31561),An=ie(15285),Cn=ie(10228);function Pn(De,nt){var Ot=De.prefixCls,xn=De.id,wn=De.tabs,gr=De.locale,Ar=De.mobile,fr=De.moreIcon,vr=fr===void 0?"More":fr,qr=De.moreTransitionName,Xi=De.style,Nr=De.className,Gn=De.editable,Fn=De.tabBarGutter,Kt=De.rtl,Mn=De.removeAriaLabel,zn=De.onTabClick,Jn=De.getPopupContainer,xr=De.popupClassName,$n=(0,ut.useState)(!1),jr=(0,He.Z)($n,2),pn=jr[0],ni=jr[1],Ai=(0,ut.useState)(null),Ni=(0,He.Z)(Ai,2),bi=Ni[0],Ji=Ni[1],fa="".concat(xn,"-more-popup"),oa="".concat(Ot,"-dropdown"),ji=bi!==null?"".concat(fa,"-").concat(bi):null,Qa=gr==null?void 0:gr.dropdownAriaLabel;function Fa(mo,Oa){mo.preventDefault(),mo.stopPropagation(),Gn.onEdit("remove",{key:Oa,event:mo})}var qo=ut.createElement(An.ZP,{onClick:function(Oa){var Go=Oa.key,_a=Oa.domEvent;zn(Go,_a),ni(!1)},prefixCls:"".concat(oa,"-menu"),id:fa,tabIndex:-1,role:"listbox","aria-activedescendant":ji,selectedKeys:[bi],"aria-label":Qa!==void 0?Qa:"expanded dropdown"},wn.map(function(mo){var Oa=mo.closable,Go=mo.disabled,_a=mo.closeIcon,Ga=mo.key,ll=mo.label,tl=ur(Oa,_a,Gn,Go);return ut.createElement(An.sN,{key:Ga,id:"".concat(fa,"-").concat(Ga),role:"option","aria-controls":xn&&"".concat(xn,"-panel-").concat(Ga),disabled:Go},ut.createElement("span",null,ll),tl&&ut.createElement("button",{type:"button","aria-label":Mn||"remove",tabIndex:0,className:"".concat(oa,"-menu-item-remove"),onClick:function(Zr){Zr.stopPropagation(),Fa(Zr,Ga)}},_a||Gn.removeIcon||"\xD7"))}));function ma(mo){for(var Oa=wn.filter(function(tl){return!tl.disabled}),Go=Oa.findIndex(function(tl){return tl.key===bi})||0,_a=Oa.length,Ga=0;Ga<_a;Ga+=1){Go=(Go+mo+_a)%_a;var ll=Oa[Go];if(!ll.disabled){Ji(ll.key);return}}}function _o(mo){var Oa=mo.which;if(!pn){[Cn.Z.DOWN,Cn.Z.SPACE,Cn.Z.ENTER].includes(Oa)&&(ni(!0),mo.preventDefault());return}switch(Oa){case Cn.Z.UP:ma(-1),mo.preventDefault();break;case Cn.Z.DOWN:ma(1),mo.preventDefault();break;case Cn.Z.ESC:ni(!1);break;case Cn.Z.SPACE:case Cn.Z.ENTER:bi!==null&&zn(bi,mo);break}}(0,ut.useEffect)(function(){var mo=document.getElementById(ji);mo&&mo.scrollIntoView&&mo.scrollIntoView(!1)},[bi]),(0,ut.useEffect)(function(){pn||Ji(null)},[pn]);var Ci=(0,ye.Z)({},Kt?"marginRight":"marginLeft",Fn);wn.length||(Ci.visibility="hidden",Ci.order=1);var Qo=Qe()((0,ye.Z)({},"".concat(oa,"-rtl"),Kt)),ol=Ar?null:ut.createElement(sn.Z,{prefixCls:oa,overlay:qo,trigger:["hover"],visible:wn.length?pn:!1,transitionName:qr,onVisibleChange:ni,overlayClassName:Qe()(Qo,xr),mouseEnterDelay:.1,mouseLeaveDelay:.1,getPopupContainer:Jn},ut.createElement("button",{type:"button",className:"".concat(Ot,"-nav-more"),style:Ci,tabIndex:-1,"aria-hidden":"true","aria-haspopup":"listbox","aria-controls":fa,id:"".concat(xn,"-more"),"aria-expanded":pn,onKeyDown:_o},vr));return ut.createElement("div",{className:Qe()("".concat(Ot,"-nav-operations"),Nr),style:Xi,ref:nt},ol,ut.createElement(Nt,{prefixCls:Ot,locale:gr,editable:Gn}))}var Ln=ut.memo(ut.forwardRef(Pn),function(De,nt){return nt.tabMoving});function Te(De){var nt,Ot=De.prefixCls,xn=De.id,wn=De.active,gr=De.tab,Ar=gr.key,fr=gr.label,vr=gr.disabled,qr=gr.closeIcon,Xi=De.closable,Nr=De.renderWrapper,Gn=De.removeAriaLabel,Fn=De.editable,Kt=De.onClick,Mn=De.onFocus,zn=De.style,Jn="".concat(Ot,"-tab"),xr=ur(Xi,qr,Fn,vr);function $n(ni){vr||Kt(ni)}function jr(ni){ni.preventDefault(),ni.stopPropagation(),Fn.onEdit("remove",{key:Ar,event:ni})}var pn=ut.createElement("div",{key:Ar,"data-node-key":Cr(Ar),className:Qe()(Jn,(nt={},(0,ye.Z)(nt,"".concat(Jn,"-with-remove"),xr),(0,ye.Z)(nt,"".concat(Jn,"-active"),wn),(0,ye.Z)(nt,"".concat(Jn,"-disabled"),vr),nt)),style:zn,onClick:$n},ut.createElement("div",{role:"tab","aria-selected":wn,id:xn&&"".concat(xn,"-tab-").concat(Ar),className:"".concat(Jn,"-btn"),"aria-controls":xn&&"".concat(xn,"-panel-").concat(Ar),"aria-disabled":vr,tabIndex:vr?null:0,onClick:function(Ai){Ai.stopPropagation(),$n(Ai)},onKeyDown:function(Ai){[Cn.Z.SPACE,Cn.Z.ENTER].includes(Ai.which)&&(Ai.preventDefault(),$n(Ai))},onFocus:Mn},fr),xr&&ut.createElement("button",{type:"button","aria-label":Gn||"remove",tabIndex:0,className:"".concat(Jn,"-remove"),onClick:function(Ai){Ai.stopPropagation(),jr(Ai)}},qr||Fn.removeIcon||"\xD7"));return Nr?Nr(pn):pn}var ve=Te,he=ie(16089),we=function(nt){var Ot=nt.activeTabOffset,xn=nt.horizontal,wn=nt.rtl,gr=nt.indicatorSize,Ar=(0,ut.useState)(),fr=(0,He.Z)(Ar,2),vr=fr[0],qr=fr[1],Xi=(0,ut.useRef)(),Nr=function(Kt){return typeof gr=="function"?gr(Kt):typeof gr=="number"?gr:Kt};function Gn(){he.Z.cancel(Xi.current)}return(0,ut.useEffect)(function(){var Fn={};return Ot&&(xn?(wn?(Fn.right=Ot.right+Ot.width/2,Fn.transform="translateX(50%)"):(Fn.left=Ot.left+Ot.width/2,Fn.transform="translateX(-50%)"),Fn.width=Nr(Ot.width)):(Fn.top=Ot.top+Ot.height/2,Fn.transform="translateY(-50%)",Fn.height=Nr(Ot.height))),Gn(),Xi.current=(0,he.Z)(function(){qr(Fn)}),Gn},[Ot,xn,wn,gr]),{style:vr}},Re=we,fe=function(nt){var Ot=nt.current||{},xn=Ot.offsetWidth,wn=xn===void 0?0:xn,gr=Ot.offsetHeight,Ar=gr===void 0?0:gr;return[wn,Ar]},wt=function(nt,Ot){return nt[Ot?0:1]};function en(De,nt){var Ot,xn=ut.useContext(qe),wn=xn.prefixCls,gr=xn.tabs,Ar=De.className,fr=De.style,vr=De.id,qr=De.animated,Xi=De.activeKey,Nr=De.rtl,Gn=De.extra,Fn=De.editable,Kt=De.locale,Mn=De.tabPosition,zn=De.tabBarGutter,Jn=De.children,xr=De.onTabClick,$n=De.onTabScroll,jr=De.indicatorSize,pn=(0,ut.useRef)(),ni=(0,ut.useRef)(),Ai=(0,ut.useRef)(),Ni=(0,ut.useRef)(),bi=(0,ut.useRef)(),Ji=(0,ut.useRef)(),fa=(0,ut.useRef)(),oa=Mn==="top"||Mn==="bottom",ji=Et(0,function(Zi,Va){oa&&$n&&$n({direction:Zi>Va?"left":"right"})}),Qa=(0,He.Z)(ji,2),Fa=Qa[0],qo=Qa[1],ma=Et(0,function(Zi,Va){!oa&&$n&&$n({direction:Zi>Va?"top":"bottom"})}),_o=(0,He.Z)(ma,2),Ci=_o[0],Qo=_o[1],ol=(0,ut.useState)([0,0]),mo=(0,He.Z)(ol,2),Oa=mo[0],Go=mo[1],_a=(0,ut.useState)([0,0]),Ga=(0,He.Z)(_a,2),ll=Ga[0],tl=Ga[1],Jo=(0,ut.useState)([0,0]),Zr=(0,He.Z)(Jo,2),Li=Zr[0],xo=Zr[1],jo=(0,ut.useState)([0,0]),nl=(0,He.Z)(jo,2),Ul=nl[0],wl=nl[1],ra=lr(new Map),Sa=(0,He.Z)(ra,2),Fl=Sa[0],pl=Sa[1],su=rn(gr,Fl,ll[0]),Qs=wt(Oa,oa),Au=wt(ll,oa),_s=wt(Li,oa),Ls=wt(Ul,oa),$s=Qs$a?$a:Zi}var Ma=(0,ut.useRef)(),an=(0,ut.useState)(),Vo=(0,He.Z)(an,2),Sl=Vo[0],ds=Vo[1];function bs(){ds(Date.now())}function gs(){window.clearTimeout(Ma.current)}dn(Ni,function(Zi,Va){function ci(rl,Ka){rl(function(ul){var ls=Za(ul+Ka);return ls})}return $s?(oa?ci(qo,Zi):ci(Qo,Va),gs(),bs(),!0):!1}),(0,ut.useEffect)(function(){return gs(),Sl&&(Ma.current=window.setTimeout(function(){ds(0)},100)),gs},[Sl]);var Bs=ft(su,Ws,oa?Fa:Ci,Au,_s,Ls,(0,Se.Z)((0,Se.Z)({},De),{},{tabs:gr})),Su=(0,He.Z)(Bs,2),Vs=Su[0],Zu=Su[1],Io=(0,je.Z)(function(){var Zi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xi,Va=su.get(Zi)||{width:0,height:0,left:0,right:0,top:0};if(oa){var ci=Fa;Nr?Va.rightFa+Ws&&(ci=Va.right+Va.width-Ws):Va.left<-Fa?ci=-Va.left:Va.left+Va.width>-Fa+Ws&&(ci=-(Va.left+Va.width-Ws)),Qo(0),qo(Za(ci))}else{var rl=Ci;Va.top<-Ci?rl=-Va.top:Va.top+Va.height>-Ci+Ws&&(rl=-(Va.top+Va.height-Ws)),qo(0),Qo(Za(rl))}}),os={};Mn==="top"||Mn==="bottom"?os[Nr?"marginRight":"marginLeft"]=zn:os.marginTop=zn;var gu=gr.map(function(Zi,Va){var ci=Zi.key;return ut.createElement(ve,{id:vr,prefixCls:wn,key:ci,tab:Zi,style:Va===0?void 0:os,closable:Zi.closable,editable:Fn,active:ci===Xi,renderWrapper:Jn,removeAriaLabel:Kt==null?void 0:Kt.removeAriaLabel,onClick:function(Ka){xr(ci,Ka)},onFocus:function(){Io(ci),bs(),Ni.current&&(Nr||(Ni.current.scrollLeft=0),Ni.current.scrollTop=0)}})}),Ho=function(){return pl(function(){var Va=new Map;return gr.forEach(function(ci){var rl,Ka=ci.key,ul=(rl=bi.current)===null||rl===void 0?void 0:rl.querySelector('[data-node-key="'.concat(Cr(Ka),'"]'));ul&&Va.set(Ka,{width:ul.offsetWidth,height:ul.offsetHeight,left:ul.offsetLeft,top:ul.offsetTop})}),Va})};(0,ut.useEffect)(function(){Ho()},[gr.map(function(Zi){return Zi.key}).join("_")]);var sl=tn(function(){var Zi=fe(pn),Va=fe(ni),ci=fe(Ai);Go([Zi[0]-Va[0]-ci[0],Zi[1]-Va[1]-ci[1]]);var rl=fe(fa);xo(rl);var Ka=fe(Ji);wl(Ka);var ul=fe(bi);tl([ul[0]-rl[0],ul[1]-rl[1]]),Ho()}),ro=gr.slice(0,Vs),Yt=gr.slice(Zu+1),mr=[].concat((0,At.Z)(ro),(0,At.Z)(Yt)),Hn=su.get(Xi),hi=Re({activeTabOffset:Hn,horizontal:oa,rtl:Nr,indicatorSize:jr}),ao=hi.style;(0,ut.useEffect)(function(){Io()},[Xi,xu,$a,Le(Hn),Le(su),oa]),(0,ut.useEffect)(function(){sl()},[Nr]);var Kn=!!mr.length,Cl="".concat(wn,"-nav-wrap"),na,Di,go,Yl;return oa?Nr?(Di=Fa>0,na=Fa!==$a):(na=Fa<0,Di=Fa!==xu):(go=Ci<0,Yl=Ci!==xu),ut.createElement(Mt.Z,{onResize:sl},ut.createElement("div",{ref:(0,gn.x1)(nt,pn),role:"tablist",className:Qe()("".concat(wn,"-nav"),Ar),style:fr,onKeyDown:function(){bs()}},ut.createElement(ir,{ref:ni,position:"left",extra:Gn,prefixCls:wn}),ut.createElement(Mt.Z,{onResize:sl},ut.createElement("div",{className:Qe()(Cl,(Ot={},(0,ye.Z)(Ot,"".concat(Cl,"-ping-left"),na),(0,ye.Z)(Ot,"".concat(Cl,"-ping-right"),Di),(0,ye.Z)(Ot,"".concat(Cl,"-ping-top"),go),(0,ye.Z)(Ot,"".concat(Cl,"-ping-bottom"),Yl),Ot)),ref:Ni},ut.createElement(Mt.Z,{onResize:sl},ut.createElement("div",{ref:bi,className:"".concat(wn,"-nav-list"),style:{transform:"translate(".concat(Fa,"px, ").concat(Ci,"px)"),transition:Sl?"none":void 0}},gu,ut.createElement(Nt,{ref:fa,prefixCls:wn,locale:Kt,editable:Fn,style:(0,Se.Z)((0,Se.Z)({},gu.length===0?void 0:os),{},{visibility:Kn?"hidden":null})}),ut.createElement("div",{className:Qe()("".concat(wn,"-ink-bar"),(0,ye.Z)({},"".concat(wn,"-ink-bar-animated"),qr.inkBar)),style:ao}))))),ut.createElement(Ln,(0,Je.Z)({},De,{removeAriaLabel:Kt==null?void 0:Kt.removeAriaLabel,ref:Ji,prefixCls:wn,tabs:mr,className:!Kn&&zu,tabMoving:!!Sl})),ut.createElement(ir,{ref:Ai,position:"right",extra:Gn,prefixCls:wn})))}var mt=ut.forwardRef(en),xt=["renderTabBar"],On=["label","key"];function yn(De){var nt=De.renderTabBar,Ot=(0,tt.Z)(De,xt),xn=ut.useContext(qe),wn=xn.tabs;if(nt){var gr=(0,Se.Z)((0,Se.Z)({},Ot),{},{panes:wn.map(function(Ar){var fr=Ar.label,vr=Ar.key,qr=(0,tt.Z)(Ar,On);return ut.createElement(jt,(0,Je.Z)({tab:fr,key:vr,tabKey:vr},qr))})});return nt(gr,mt)}return ut.createElement(mt,Ot)}var Qt=ie(48736);function pr(){var De=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},nt;return De===!1?nt={inkBar:!1,tabPane:!1}:De===!0?nt={inkBar:!0,tabPane:!1}:nt=(0,Se.Z)({inkBar:!0},(0,pt.Z)(De)==="object"?De:{}),nt.tabPaneMotion&&nt.tabPane===void 0&&(nt.tabPane=!0),!nt.tabPaneMotion&&nt.tabPane&&(nt.tabPane=!1),nt}var Vr=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicatorSize"],vn=0;function dr(De,nt){var Ot,xn=De.id,wn=De.prefixCls,gr=wn===void 0?"rc-tabs":wn,Ar=De.className,fr=De.items,vr=De.direction,qr=De.activeKey,Xi=De.defaultActiveKey,Nr=De.editable,Gn=De.animated,Fn=De.tabPosition,Kt=Fn===void 0?"top":Fn,Mn=De.tabBarGutter,zn=De.tabBarStyle,Jn=De.tabBarExtraContent,xr=De.locale,$n=De.moreIcon,jr=De.moreTransitionName,pn=De.destroyInactiveTabPane,ni=De.renderTabBar,Ai=De.onChange,Ni=De.onTabClick,bi=De.onTabScroll,Ji=De.getPopupContainer,fa=De.popupClassName,oa=De.indicatorSize,ji=(0,tt.Z)(De,Vr),Qa=ut.useMemo(function(){return(fr||[]).filter(function(wl){return wl&&(0,pt.Z)(wl)==="object"&&"key"in wl})},[fr]),Fa=vr==="rtl",qo=pr(Gn),ma=(0,ut.useState)(!1),_o=(0,He.Z)(ma,2),Ci=_o[0],Qo=_o[1];(0,ut.useEffect)(function(){Qo((0,ht.Z)())},[]);var ol=(0,ot.Z)(function(){var wl;return(wl=Qa[0])===null||wl===void 0?void 0:wl.key},{value:qr,defaultValue:Xi}),mo=(0,He.Z)(ol,2),Oa=mo[0],Go=mo[1],_a=(0,ut.useState)(function(){return Qa.findIndex(function(wl){return wl.key===Oa})}),Ga=(0,He.Z)(_a,2),ll=Ga[0],tl=Ga[1];(0,ut.useEffect)(function(){var wl=Qa.findIndex(function(Sa){return Sa.key===Oa});if(wl===-1){var ra;wl=Math.max(0,Math.min(ll,Qa.length-1)),Go((ra=Qa[wl])===null||ra===void 0?void 0:ra.key)}tl(wl)},[Qa.map(function(wl){return wl.key}).join("_"),Oa,ll]);var Jo=(0,ot.Z)(null,{value:xn}),Zr=(0,He.Z)(Jo,2),Li=Zr[0],xo=Zr[1];(0,ut.useEffect)(function(){xn||(xo("rc-tabs-".concat(vn)),vn+=1)},[]);function jo(wl,ra){Ni==null||Ni(wl,ra);var Sa=wl!==Oa;Go(wl),Sa&&(Ai==null||Ai(wl))}var nl={id:Li,activeKey:Oa,animated:qo,tabPosition:Kt,rtl:Fa,mobile:Ci},Ul=(0,Se.Z)((0,Se.Z)({},nl),{},{editable:Nr,locale:xr,moreIcon:$n,moreTransitionName:jr,tabBarGutter:Mn,onTabClick:jo,onTabScroll:bi,extra:Jn,style:zn,panes:null,getPopupContainer:Ji,popupClassName:fa,indicatorSize:oa});return ut.createElement(qe.Provider,{value:{tabs:Qa,prefixCls:gr}},ut.createElement("div",(0,Je.Z)({ref:nt,id:xn,className:Qe()(gr,"".concat(gr,"-").concat(Kt),(Ot={},(0,ye.Z)(Ot,"".concat(gr,"-mobile"),Ci),(0,ye.Z)(Ot,"".concat(gr,"-editable"),Nr),(0,ye.Z)(Ot,"".concat(gr,"-rtl"),Fa),Ot),Ar)},ji),ut.createElement(yn,(0,Je.Z)({},Ul,{renderTabBar:ni})),ut.createElement(Ut,(0,Je.Z)({destroyInactiveTabPane:pn},nl,{animated:qo}))))}var ei=ut.forwardRef(dr),Ht=ei,Tt=Ht,qt=ie(36355),Un=ie(19716),Jr=()=>null,Ii=ie(62892);const ii={motionAppear:!1,motionEnter:!0,motionLeave:!0};function ea(De){let nt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},Ot;return nt===!1?Ot={inkBar:!1,tabPane:!1}:nt===!0?Ot={inkBar:!0,tabPane:!0}:Ot=Object.assign({inkBar:!0},typeof nt=="object"?nt:{}),Ot.tabPane&&(Ot.tabPaneMotion=Object.assign(Object.assign({},ii),{motionName:(0,Ii.m)(De,"switch")})),Ot}var vo=ie(11592),Ha=function(De,nt){var Ot={};for(var xn in De)Object.prototype.hasOwnProperty.call(De,xn)&&nt.indexOf(xn)<0&&(Ot[xn]=De[xn]);if(De!=null&&typeof Object.getOwnPropertySymbols=="function")for(var wn=0,xn=Object.getOwnPropertySymbols(De);wnnt)}function wi(De,nt){if(De)return De;const Ot=(0,vo.Z)(nt).map(xn=>{if(ut.isValidElement(xn)){const{key:wn,props:gr}=xn,Ar=gr||{},{tab:fr}=Ar,vr=Ha(Ar,["tab"]);return Object.assign(Object.assign({key:String(wn)},vr),{label:fr})}return null});return Hi(Ot)}var Zo=ie(17313),yo=ie(83116),Pa=ie(37613),Na=ie(13826),Tn=De=>{const{componentCls:nt,motionDurationSlow:Ot}=De;return[{[nt]:{[`${nt}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${Ot}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${Ot}`}}}}},[(0,Na.oN)(De,"slide-up"),(0,Na.oN)(De,"slide-down")]]};const Fr=De=>{const{componentCls:nt,tabsCardPadding:Ot,cardBg:xn,cardGutter:wn,colorBorderSecondary:gr,itemSelectedColor:Ar}=De;return{[`${nt}-card`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab`]:{margin:0,padding:Ot,background:xn,border:`${De.lineWidth}px ${De.lineType} ${gr}`,transition:`all ${De.motionDurationSlow} ${De.motionEaseInOut}`},[`${nt}-tab-active`]:{color:Ar,background:De.colorBgContainer},[`${nt}-ink-bar`]:{visibility:"hidden"}},[`&${nt}-top, &${nt}-bottom`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab + ${nt}-tab`]:{marginLeft:{_skip_check_:!0,value:`${wn}px`}}}},[`&${nt}-top`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab`]:{borderRadius:`${De.borderRadiusLG}px ${De.borderRadiusLG}px 0 0`},[`${nt}-tab-active`]:{borderBottomColor:De.colorBgContainer}}},[`&${nt}-bottom`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab`]:{borderRadius:`0 0 ${De.borderRadiusLG}px ${De.borderRadiusLG}px`},[`${nt}-tab-active`]:{borderTopColor:De.colorBgContainer}}},[`&${nt}-left, &${nt}-right`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab + ${nt}-tab`]:{marginTop:`${wn}px`}}},[`&${nt}-left`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`${De.borderRadiusLG}px 0 0 ${De.borderRadiusLG}px`}},[`${nt}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:De.colorBgContainer}}}},[`&${nt}-right`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${De.borderRadiusLG}px ${De.borderRadiusLG}px 0`}},[`${nt}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:De.colorBgContainer}}}}}}},ki=De=>{const{componentCls:nt,itemHoverColor:Ot,dropdownEdgeChildVerticalPadding:xn}=De;return{[`${nt}-dropdown`]:Object.assign(Object.assign({},(0,Zo.Wf)(De)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:De.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${nt}-dropdown-menu`]:{maxHeight:De.tabsDropdownHeight,margin:0,padding:`${xn}px 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:De.colorBgContainer,backgroundClip:"padding-box",borderRadius:De.borderRadiusLG,outline:"none",boxShadow:De.boxShadowSecondary,"&-item":Object.assign(Object.assign({},Zo.vS),{display:"flex",alignItems:"center",minWidth:De.tabsDropdownWidth,margin:0,padding:`${De.paddingXXS}px ${De.paddingSM}px`,color:De.colorText,fontWeight:"normal",fontSize:De.fontSize,lineHeight:De.lineHeight,cursor:"pointer",transition:`all ${De.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:De.marginSM},color:De.colorTextDescription,fontSize:De.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:Ot}},"&:hover":{background:De.controlItemBgHover},"&-disabled":{"&, &:hover":{color:De.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},Vt=De=>{const{componentCls:nt,margin:Ot,colorBorderSecondary:xn,horizontalMargin:wn,verticalItemPadding:gr,verticalItemMargin:Ar}=De;return{[`${nt}-top, ${nt}-bottom`]:{flexDirection:"column",[`> ${nt}-nav, > div > ${nt}-nav`]:{margin:wn,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${De.lineWidth}px ${De.lineType} ${xn}`,content:"''"},[`${nt}-ink-bar`]:{height:De.lineWidthBold,"&-animated":{transition:`width ${De.motionDurationSlow}, left ${De.motionDurationSlow}, + right ${De.motionDurationSlow}`}},[`${nt}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:De.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:De.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:De.boxShadowTabsOverflowRight},[`&${nt}-nav-wrap-ping-left::before`]:{opacity:1},[`&${nt}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${nt}-top`]:{[`> ${nt}-nav, + > div > ${nt}-nav`]:{"&::before":{bottom:0},[`${nt}-ink-bar`]:{bottom:0}}},[`${nt}-bottom`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{order:1,marginTop:`${Ot}px`,marginBottom:0,"&::before":{top:0},[`${nt}-ink-bar`]:{top:0}},[`> ${nt}-content-holder, > div > ${nt}-content-holder`]:{order:0}},[`${nt}-left, ${nt}-right`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{flexDirection:"column",minWidth:De.controlHeight*1.25,[`${nt}-tab`]:{padding:gr,textAlign:"center"},[`${nt}-tab + ${nt}-tab`]:{margin:Ar},[`${nt}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:De.controlHeight},"&::before":{top:0,boxShadow:De.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:De.boxShadowTabsOverflowBottom},[`&${nt}-nav-wrap-ping-top::before`]:{opacity:1},[`&${nt}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${nt}-ink-bar`]:{width:De.lineWidthBold,"&-animated":{transition:`height ${De.motionDurationSlow}, top ${De.motionDurationSlow}`}},[`${nt}-nav-list, ${nt}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${nt}-left`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${nt}-content-holder, > div > ${nt}-content-holder`]:{marginLeft:{_skip_check_:!0,value:`-${De.lineWidth}px`},borderLeft:{_skip_check_:!0,value:`${De.lineWidth}px ${De.lineType} ${De.colorBorder}`},[`> ${nt}-content > ${nt}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:De.paddingLG}}}},[`${nt}-right`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{order:1,[`${nt}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${nt}-content-holder, > div > ${nt}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:-De.lineWidth},borderRight:{_skip_check_:!0,value:`${De.lineWidth}px ${De.lineType} ${De.colorBorder}`},[`> ${nt}-content > ${nt}-tabpane`]:{paddingRight:{_skip_check_:!0,value:De.paddingLG}}}}}},Vn=De=>{const{componentCls:nt,cardPaddingSM:Ot,cardPaddingLG:xn,horizontalItemPaddingSM:wn,horizontalItemPaddingLG:gr}=De;return{[nt]:{"&-small":{[`> ${nt}-nav`]:{[`${nt}-tab`]:{padding:wn,fontSize:De.titleFontSizeSM}}},"&-large":{[`> ${nt}-nav`]:{[`${nt}-tab`]:{padding:gr,fontSize:De.titleFontSizeLG}}}},[`${nt}-card`]:{[`&${nt}-small`]:{[`> ${nt}-nav`]:{[`${nt}-tab`]:{padding:Ot}},[`&${nt}-bottom`]:{[`> ${nt}-nav ${nt}-tab`]:{borderRadius:`0 0 ${De.borderRadius}px ${De.borderRadius}px`}},[`&${nt}-top`]:{[`> ${nt}-nav ${nt}-tab`]:{borderRadius:`${De.borderRadius}px ${De.borderRadius}px 0 0`}},[`&${nt}-right`]:{[`> ${nt}-nav ${nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${De.borderRadius}px ${De.borderRadius}px 0`}}},[`&${nt}-left`]:{[`> ${nt}-nav ${nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`${De.borderRadius}px 0 0 ${De.borderRadius}px`}}}},[`&${nt}-large`]:{[`> ${nt}-nav`]:{[`${nt}-tab`]:{padding:xn}}}}}},wr=De=>{const{componentCls:nt,itemActiveColor:Ot,itemHoverColor:xn,iconCls:wn,tabsHorizontalItemMargin:gr,horizontalItemPadding:Ar,itemSelectedColor:fr,itemColor:vr}=De,qr=`${nt}-tab`;return{[qr]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:Ar,fontSize:De.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:vr,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:Ot}},(0,Zo.Qy)(De)),"&-btn":{outline:"none",transition:"all 0.3s"},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:-De.marginXXS},marginLeft:{_skip_check_:!0,value:De.marginXS},color:De.colorTextDescription,fontSize:De.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${De.motionDurationSlow}`,"&:hover":{color:De.colorTextHeading}},"&:hover":{color:xn},[`&${qr}-active ${qr}-btn`]:{color:fr,textShadow:De.tabsActiveTextShadow},[`&${qr}-disabled`]:{color:De.colorTextDisabled,cursor:"not-allowed"},[`&${qr}-disabled ${qr}-btn, &${qr}-disabled ${nt}-remove`]:{"&:focus, &:active":{color:De.colorTextDisabled}},[`& ${qr}-remove ${wn}`]:{margin:0},[wn]:{marginRight:{_skip_check_:!0,value:De.marginSM}}},[`${qr} + ${qr}`]:{margin:{_skip_check_:!0,value:gr}}}},Yn=De=>{const{componentCls:nt,tabsHorizontalItemMarginRTL:Ot,iconCls:xn,cardGutter:wn}=De;return{[`${nt}-rtl`]:{direction:"rtl",[`${nt}-nav`]:{[`${nt}-tab`]:{margin:{_skip_check_:!0,value:Ot},[`${nt}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[xn]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:`${De.marginSM}px`}},[`${nt}-tab-remove`]:{marginRight:{_skip_check_:!0,value:`${De.marginXS}px`},marginLeft:{_skip_check_:!0,value:`-${De.marginXXS}px`},[xn]:{margin:0}}}},[`&${nt}-left`]:{[`> ${nt}-nav`]:{order:1},[`> ${nt}-content-holder`]:{order:0}},[`&${nt}-right`]:{[`> ${nt}-nav`]:{order:0},[`> ${nt}-content-holder`]:{order:1}},[`&${nt}-card${nt}-top, &${nt}-card${nt}-bottom`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-tab + ${nt}-tab`]:{marginRight:{_skip_check_:!0,value:wn},marginLeft:{_skip_check_:!0,value:0}}}}},[`${nt}-dropdown-rtl`]:{direction:"rtl"},[`${nt}-menu-item`]:{[`${nt}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},Pr=De=>{const{componentCls:nt,tabsCardPadding:Ot,cardHeight:xn,cardGutter:wn,itemHoverColor:gr,itemActiveColor:Ar,colorBorderSecondary:fr}=De;return{[nt]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,Zo.Wf)(De)),{display:"flex",[`> ${nt}-nav, > div > ${nt}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${nt}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${De.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${nt}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${De.motionDurationSlow}`},[`${nt}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${nt}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${nt}-nav-more`]:{position:"relative",padding:Ot,background:"transparent",border:0,color:De.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:De.controlHeightLG/8,transform:"translateY(100%)",content:"''"}},[`${nt}-nav-add`]:Object.assign({minWidth:xn,marginLeft:{_skip_check_:!0,value:wn},padding:`0 ${De.paddingXS}px`,background:"transparent",border:`${De.lineWidth}px ${De.lineType} ${fr}`,borderRadius:`${De.borderRadiusLG}px ${De.borderRadiusLG}px 0 0`,outline:"none",cursor:"pointer",color:De.colorText,transition:`all ${De.motionDurationSlow} ${De.motionEaseInOut}`,"&:hover":{color:gr},"&:active, &:focus:not(:focus-visible)":{color:Ar}},(0,Zo.Qy)(De))},[`${nt}-extra-content`]:{flex:"none"},[`${nt}-ink-bar`]:{position:"absolute",background:De.inkBarColor,pointerEvents:"none"}}),wr(De)),{[`${nt}-content`]:{position:"relative",width:"100%"},[`${nt}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${nt}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${nt}-centered`]:{[`> ${nt}-nav, > div > ${nt}-nav`]:{[`${nt}-nav-wrap`]:{[`&:not([class*='${nt}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}};var br=(0,yo.Z)("Tabs",De=>{const nt=(0,Pa.TS)(De,{tabsCardPadding:De.cardPadding||`${(De.cardHeight-Math.round(De.fontSize*De.lineHeight))/2-De.lineWidth}px ${De.padding}px`,dropdownEdgeChildVerticalPadding:De.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${De.horizontalItemGutter}px`,tabsHorizontalItemMarginRTL:`0 0 0 ${De.horizontalItemGutter}px`});return[Vn(nt),Yn(nt),Vt(nt),ki(nt),Fr(nt),Pr(nt),Tn(nt)]},De=>{const nt=De.controlHeightLG;return{zIndexPopup:De.zIndexPopupBase+50,cardBg:De.colorFillAlter,cardHeight:nt,cardPadding:"",cardPaddingSM:`${De.paddingXXS*1.5}px ${De.padding}px`,cardPaddingLG:`${De.paddingXS}px ${De.padding}px ${De.paddingXXS*1.5}px`,titleFontSize:De.fontSize,titleFontSizeLG:De.fontSizeLG,titleFontSizeSM:De.fontSize,inkBarColor:De.colorPrimary,horizontalMargin:`0 0 ${De.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${De.paddingSM}px 0`,horizontalItemPaddingSM:`${De.paddingXS}px 0`,horizontalItemPaddingLG:`${De.padding}px 0`,verticalItemPadding:`${De.paddingXS}px ${De.paddingLG}px`,verticalItemMargin:`${De.margin}px 0 0 0`,itemColor:De.colorText,itemSelectedColor:De.colorPrimary,itemHoverColor:De.colorPrimaryHover,itemActiveColor:De.colorPrimaryActive,cardGutter:De.marginXXS/2}}),kr=function(De,nt){var Ot={};for(var xn in De)Object.prototype.hasOwnProperty.call(De,xn)&&nt.indexOf(xn)<0&&(Ot[xn]=De[xn]);if(De!=null&&typeof Object.getOwnPropertySymbols=="function")for(var wn=0,xn=Object.getOwnPropertySymbols(De);wn{const{type:nt,className:Ot,rootClassName:xn,size:wn,onEdit:gr,hideAdd:Ar,centered:fr,addIcon:vr,popupClassName:qr,children:Xi,items:Nr,animated:Gn,style:Fn,indicatorSize:Kt}=De,Mn=kr(De,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","popupClassName","children","items","animated","style","indicatorSize"]),{prefixCls:zn,moreIcon:Jn=ut.createElement(Oe.Z,null)}=Mn,{direction:xr,tabs:$n,getPrefixCls:jr,getPopupContainer:pn}=ut.useContext(qt.E_),ni=jr("tabs",zn),[Ai,Ni]=br(ni);let bi;nt==="editable-card"&&(bi={onEdit:(Fa,qo)=>{let{key:ma,event:_o}=qo;gr==null||gr(Fa==="add"?_o:ma,Fa)},removeIcon:ut.createElement(ee.Z,null),addIcon:vr||ut.createElement(st.Z,null),showAdd:Ar!==!0});const Ji=jr(),fa=wi(Nr,Xi),oa=ea(ni,Gn),ji=(0,Un.Z)(wn),Qa=Object.assign(Object.assign({},$n==null?void 0:$n.style),Fn);return Ai(ut.createElement(Tt,Object.assign({direction:xr,getPopupContainer:pn,moreTransitionName:`${Ji}-slide-up`},Mn,{items:fa,className:Qe()({[`${ni}-${ji}`]:ji,[`${ni}-card`]:["card","editable-card"].includes(nt),[`${ni}-editable-card`]:nt==="editable-card",[`${ni}-centered`]:fr},$n==null?void 0:$n.className,Ot,xn,Ni),popupClassName:Qe()(qr,Ni),style:Qa,editable:bi,moreIcon:Jn,prefixCls:ni,animated:oa,indicatorSize:Kt!=null?Kt:$n==null?void 0:$n.indicatorSize})))};vi.TabPane=Jr;var at=vi},98228:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return Na}});var ee=ie(92310),Oe=ie.n(ee),st=ie(60499),yt=ie(77654),Qe=ie(85899),Je=ie(72190),ye=ie(42244),Se=ie(43749),He=ie(77861),pt=ie(17115),tt=ie(90782),ut=ie(18929),ht=ie(48736),ot=ie(59301),Fe=function(Br){var Tn=ot.useRef({valueLabels:new Map});return ot.useMemo(function(){var Fr=Tn.current.valueLabels,ki=new Map,Vt=Br.map(function(Vn){var wr,Yn=Vn.value,Pr=(wr=Vn.label)!==null&&wr!==void 0?wr:Fr.get(Yn);return ki.set(Yn,Pr),(0,Qe.Z)((0,Qe.Z)({},Vn),{},{label:Pr})});return Tn.current.valueLabels=ki,[Vt]},[Br])},qe=function(Br,Tn,Fr,ki){return ot.useMemo(function(){var Vt=Br.map(function(Pr){var br=Pr.value;return br}),Vn=Tn.map(function(Pr){var br=Pr.value;return br}),wr=Vt.filter(function(Pr){return!ki[Pr]});if(Fr){var Yn=(0,tt.S)(Vt,!0,ki);Vt=Yn.checkedKeys,Vn=Yn.halfCheckedKeys}return[Array.from(new Set([].concat((0,yt.Z)(wr),(0,yt.Z)(Vt)))),Vn]},[Br,Tn,Fr,ki])},St=ie(71430),jt=function(Br,Tn){return ot.useMemo(function(){var Fr=(0,St.I8)(Br,{fieldNames:Tn,initWrapper:function(Vt){return(0,Qe.Z)((0,Qe.Z)({},Vt),{},{valueEntities:new Map})},processEntity:function(Vt,Vn){var wr=Vt.node[Tn.value];if(0)var Yn;Vn.valueEntities.set(wr,Vt)}});return Fr},[Br,Tn])},Lt=ie(18642),Ut=ie(11592),At=function(){return null},Mt=At,je=["children","value"];function gn(Br){return(0,Ut.Z)(Br).map(function(Tn){if(!ot.isValidElement(Tn)||!Tn.type)return null;var Fr=Tn,ki=Fr.key,Vt=Fr.props,Vn=Vt.children,wr=Vt.value,Yn=(0,ye.Z)(Vt,je),Pr=(0,Qe.Z)({key:ki,value:wr},Yn),br=gn(Vn);return br.length&&(Pr.children=br),Pr}).filter(function(Tn){return Tn})}function Nn(Br){if(!Br)return Br;var Tn=(0,Qe.Z)({},Br);return"props"in Tn||Object.defineProperty(Tn,"props",{get:function(){return(0,ht.ZP)(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),Tn}}),Tn}function rn(Br,Tn,Fr,ki,Vt,Vn){var wr=null,Yn=null;function Pr(){function br(kr){var vi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return kr.map(function(De,nt){var Ot="".concat(vi,"-").concat(nt),xn=De[Vn.value],wn=Fr.includes(xn),gr=br(De[Vn.children]||[],Ot,wn),Ar=ot.createElement(Mt,De,gr.map(function(vr){return vr.node}));if(Tn===xn&&(wr=Ar),wn){var fr={pos:Ot,node:Ar,children:gr};return at||Yn.push(fr),fr}return null}).filter(function(De){return De})}Yn||(Yn=[],br(ki),Yn.sort(function(kr,vi){var at=kr.node.props.value,De=vi.node.props.value,nt=Fr.indexOf(at),Ot=Fr.indexOf(De);return nt-Ot}))}Object.defineProperty(Br,"triggerNode",{get:function(){return(0,ht.ZP)(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),Pr(),wr}}),Object.defineProperty(Br,"allCheckedNodes",{get:function(){return(0,ht.ZP)(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),Pr(),Vt?Yn:Yn.map(function(kr){var vi=kr.node;return vi})}})}var Et=function(Br,Tn,Fr){var ki=Fr.treeNodeFilterProp,Vt=Fr.filterTreeNode,Vn=Fr.fieldNames,wr=Vn.children;return ot.useMemo(function(){if(!Tn||Vt===!1)return Br;var Yn;if(typeof Vt=="function")Yn=Vt;else{var Pr=Tn.toUpperCase();Yn=function(vi,at){var De=at[ki];return String(De).toUpperCase().includes(Pr)}}function br(kr){var vi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return kr.reduce(function(at,De){var nt=De[wr],Ot=vi||Yn(Tn,Nn(De)),xn=br(nt||[],Ot);return(Ot||xn.length)&&at.push((0,Qe.Z)((0,Qe.Z)({},De),{},(0,Lt.Z)({isLeaf:void 0},wr,xn))),at},[])}return br(Br)},[Br,Tn,wr,ki,Vt])};function _t(Br){var Tn=ot.useRef();Tn.current=Br;var Fr=ot.useCallback(function(){return Tn.current.apply(Tn,arguments)},[]);return Fr}function We(Br,Tn){var Fr=Tn.id,ki=Tn.pId,Vt=Tn.rootPId,Vn={},wr=[],Yn=Br.map(function(Pr){var br=(0,Qe.Z)({},Pr),kr=br[Fr];return Vn[kr]=br,br.key=br.key||kr,br});return Yn.forEach(function(Pr){var br=Pr[ki],kr=Vn[br];kr&&(kr.children=kr.children||[],kr.children.push(Pr)),(br===Vt||!kr&&Vt===null)&&wr.push(Pr)}),wr}function Rt(Br,Tn,Fr){return ot.useMemo(function(){return Br?Fr?We(Br,(0,Qe.Z)({id:"id",pId:"pId",rootPId:null},Fr!==!0?Fr:{})):Br:gn(Tn)},[Tn,Fr,Br])}var lt=ot.createContext(null),dn=lt,ln=ie(10228),tn=ie(80547),lr=ie(38028),Dr=ot.createContext(null),ft=Dr;function Le(Br){return Array.isArray(Br)?Br:Br!==void 0?[Br]:[]}function Gt(Br){var Tn=Br||{},Fr=Tn.label,ki=Tn.value,Vt=Tn.children,Vn=ki||"value";return{_title:Fr?[Fr]:["title","label"],value:Vn,key:Vn,children:Vt||"children"}}function Cr(Br){return!Br||Br.disabled||Br.disableCheckbox||Br.checkable===!1}function ur(Br,Tn){var Fr=[];function ki(Vt){Vt.forEach(function(Vn){var wr=Vn[Tn.children];wr&&(Fr.push(Vn[Tn.value]),ki(wr))})}return ki(Br),Fr}function It(Br){return Br==null}var Nt={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},hr=function(Tn,Fr){var ki=(0,He.lk)(),Vt=ki.prefixCls,Vn=ki.multiple,wr=ki.searchValue,Yn=ki.toggleOpen,Pr=ki.open,br=ki.notFoundContent,kr=ot.useContext(ft),vi=kr.virtual,at=kr.listHeight,De=kr.listItemHeight,nt=kr.treeData,Ot=kr.fieldNames,xn=kr.onSelect,wn=kr.dropdownMatchSelectWidth,gr=kr.treeExpandAction,Ar=ot.useContext(dn),fr=Ar.checkable,vr=Ar.checkedKeys,qr=Ar.halfCheckedKeys,Xi=Ar.treeExpandedKeys,Nr=Ar.treeDefaultExpandAll,Gn=Ar.treeDefaultExpandedKeys,Fn=Ar.onTreeExpand,Kt=Ar.treeIcon,Mn=Ar.showTreeIcon,zn=Ar.switcherIcon,Jn=Ar.treeLine,xr=Ar.treeNodeFilterProp,$n=Ar.loadData,jr=Ar.treeLoadedKeys,pn=Ar.treeMotion,ni=Ar.onTreeLoad,Ai=Ar.keyEntities,Ni=ot.useRef(),bi=(0,tn.Z)(function(){return nt},[Pr,nt],function(Li,xo){return xo[0]&&Li[1]!==xo[1]}),Ji=ot.useState(null),fa=(0,Je.Z)(Ji,2),oa=fa[0],ji=fa[1],Qa=Ai[oa],Fa=ot.useMemo(function(){return fr?{checked:vr,halfChecked:qr}:null},[fr,vr,qr]);ot.useEffect(function(){if(Pr&&!Vn&&vr.length){var Li;(Li=Ni.current)===null||Li===void 0||Li.scrollTo({key:vr[0]}),ji(vr[0])}},[Pr]);var qo=String(wr).toLowerCase(),ma=function(xo){return qo?String(xo[xr]).toLowerCase().includes(qo):!1},_o=ot.useState(Gn),Ci=(0,Je.Z)(_o,2),Qo=Ci[0],ol=Ci[1],mo=ot.useState(null),Oa=(0,Je.Z)(mo,2),Go=Oa[0],_a=Oa[1],Ga=ot.useMemo(function(){return Xi?(0,yt.Z)(Xi):wr?Go:Qo},[Qo,Go,Xi,wr]);ot.useEffect(function(){wr&&_a(ur(nt,Ot))},[wr]);var ll=function(xo){ol(xo),_a(xo),Fn&&Fn(xo)},tl=function(xo){xo.preventDefault()},Jo=function(xo,jo){var nl=jo.node;fr&&Cr(nl)||(xn(nl.key,{selected:!vr.includes(nl.key)}),Vn||Yn(!1))};if(ot.useImperativeHandle(Fr,function(){var Li;return{scrollTo:(Li=Ni.current)===null||Li===void 0?void 0:Li.scrollTo,onKeyDown:function(jo){var nl,Ul=jo.which;switch(Ul){case ln.Z.UP:case ln.Z.DOWN:case ln.Z.LEFT:case ln.Z.RIGHT:(nl=Ni.current)===null||nl===void 0||nl.onKeyDown(jo);break;case ln.Z.ENTER:{if(Qa){var wl=(Qa==null?void 0:Qa.node)||{},ra=wl.selectable,Sa=wl.value;ra!==!1&&Jo(null,{node:{key:oa},selected:!vr.includes(Sa)})}break}case ln.Z.ESC:Yn(!1)}},onKeyUp:function(){}}}),bi.length===0)return ot.createElement("div",{role:"listbox",className:"".concat(Vt,"-empty"),onMouseDown:tl},br);var Zr={fieldNames:Ot};return jr&&(Zr.loadedKeys=jr),Ga&&(Zr.expandedKeys=Ga),ot.createElement("div",{onMouseDown:tl},Qa&&Pr&&ot.createElement("span",{style:Nt,"aria-live":"assertive"},Qa.node.value),ot.createElement(lr.Z,(0,st.Z)({ref:Ni,focusable:!1,prefixCls:"".concat(Vt,"-tree"),treeData:bi,height:at,itemHeight:De,virtual:vi!==!1&&wn!==!1,multiple:Vn,icon:Kt,showIcon:Mn,switcherIcon:zn,showLine:Jn,loadData:wr?null:$n,motion:pn,activeKey:oa,checkable:fr,checkStrictly:!0,checkedKeys:Fa,selectedKeys:fr?[]:vr,defaultExpandAll:Nr},Zr,{onActiveChange:ji,onSelect:Jo,onCheck:Jo,onExpand:ll,onLoad:ni,filterTreeNode:ma,expandAction:gr})))},ir=ot.forwardRef(hr);ir.displayName="OptionList";var sn=ir,An="SHOW_ALL",Cn="SHOW_PARENT",Pn="SHOW_CHILD";function Ln(Br,Tn,Fr,ki){var Vt=new Set(Br);return Tn===Pn?Br.filter(function(Vn){var wr=Fr[Vn];return!(wr&&wr.children&&wr.children.some(function(Yn){var Pr=Yn.node;return Vt.has(Pr[ki.value])})&&wr.children.every(function(Yn){var Pr=Yn.node;return Cr(Pr)||Vt.has(Pr[ki.value])}))}):Tn===Cn?Br.filter(function(Vn){var wr=Fr[Vn],Yn=wr?wr.parent:null;return!(Yn&&!Cr(Yn.node)&&Vt.has(Yn.key))}):Br}function Te(Br){var Tn=Br.searchPlaceholder,Fr=Br.treeCheckStrictly,ki=Br.treeCheckable,Vt=Br.labelInValue,Vn=Br.value,wr=Br.multiple;warning(!Tn,"`searchPlaceholder` has been removed."),Fr&&Vt===!1&&warning(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(Vt||Fr)&&warning(toArray(Vn).every(function(Yn){return Yn&&_typeof(Yn)==="object"&&"value"in Yn}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),Fr||wr||ki?warning(!Vn||Array.isArray(Vn),"`value` should be an array when `TreeSelect` is checkable or multiple."):warning(!Array.isArray(Vn),"`value` should not be array when `TreeSelect` is single mode.")}var ve=null,he=["id","prefixCls","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","treeExpandAction","virtual","listHeight","listItemHeight","onDropdownVisibleChange","dropdownMatchSelectWidth","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"];function we(Br){return!Br||(0,Se.Z)(Br)!=="object"}var Re=ot.forwardRef(function(Br,Tn){var Fr=Br.id,ki=Br.prefixCls,Vt=ki===void 0?"rc-tree-select":ki,Vn=Br.value,wr=Br.defaultValue,Yn=Br.onChange,Pr=Br.onSelect,br=Br.onDeselect,kr=Br.searchValue,vi=Br.inputValue,at=Br.onSearch,De=Br.autoClearSearchValue,nt=De===void 0?!0:De,Ot=Br.filterTreeNode,xn=Br.treeNodeFilterProp,wn=xn===void 0?"value":xn,gr=Br.showCheckedStrategy,Ar=Br.treeNodeLabelProp,fr=Br.multiple,vr=Br.treeCheckable,qr=Br.treeCheckStrictly,Xi=Br.labelInValue,Nr=Br.fieldNames,Gn=Br.treeDataSimpleMode,Fn=Br.treeData,Kt=Br.children,Mn=Br.loadData,zn=Br.treeLoadedKeys,Jn=Br.onTreeLoad,xr=Br.treeDefaultExpandAll,$n=Br.treeExpandedKeys,jr=Br.treeDefaultExpandedKeys,pn=Br.onTreeExpand,ni=Br.treeExpandAction,Ai=Br.virtual,Ni=Br.listHeight,bi=Ni===void 0?200:Ni,Ji=Br.listItemHeight,fa=Ji===void 0?20:Ji,oa=Br.onDropdownVisibleChange,ji=Br.dropdownMatchSelectWidth,Qa=ji===void 0?!0:ji,Fa=Br.treeLine,qo=Br.treeIcon,ma=Br.showTreeIcon,_o=Br.switcherIcon,Ci=Br.treeMotion,Qo=(0,ye.Z)(Br,he),ol=(0,pt.ZP)(Fr),mo=vr&&!qr,Oa=vr||qr,Go=qr||Xi,_a=Oa||fr,Ga=(0,ut.Z)(wr,{value:Vn}),ll=(0,Je.Z)(Ga,2),tl=ll[0],Jo=ll[1],Zr=ot.useMemo(function(){return vr?gr||Pn:An},[gr,vr]),Li=ot.useMemo(function(){return Gt(Nr)},[JSON.stringify(Nr)]),xo=(0,ut.Z)("",{value:kr!==void 0?kr:vi,postState:function(sl){return sl||""}}),jo=(0,Je.Z)(xo,2),nl=jo[0],Ul=jo[1],wl=function(sl){Ul(sl),at==null||at(sl)},ra=Rt(Fn,Kt,Gn),Sa=jt(ra,Li),Fl=Sa.keyEntities,pl=Sa.valueEntities,su=ot.useCallback(function(Ho){var sl=[],ro=[];return Ho.forEach(function(Yt){pl.has(Yt)?ro.push(Yt):sl.push(Yt)}),{missingRawValues:sl,existRawValues:ro}},[pl]),Qs=Et(ra,nl,{fieldNames:Li,treeNodeFilterProp:wn,filterTreeNode:Ot}),Au=ot.useCallback(function(Ho){if(Ho){if(Ar)return Ho[Ar];for(var sl=Li._title,ro=0;ro{const{componentCls:Tn,treePrefixCls:Fr,colorBgElevated:ki}=Br,Vt=`.${Fr}`;return[{[`${Tn}-dropdown`]:[{padding:`${Br.paddingXS}px ${Br.paddingXS/2}px`},(0,ea.Yk)(Fr,(0,Ii.TS)(Br,{colorBgContainer:ki})),{[Vt]:{borderRadius:0,[`${Vt}-list-holder-inner`]:{alignItems:"stretch",[`${Vt}-treenode`]:{[`${Vt}-node-content-wrapper`]:{flex:"auto"}}}}},(0,Jr.C2)(`${Fr}-checkbox`,Br),{"&-rtl":{direction:"rtl",[`${Vt}-switcher${Vt}-switcher_close`]:{[`${Vt}-switcher-icon svg`]:{transform:"rotate(90deg)"}}}}]}]};function Ha(Br,Tn){return(0,ii.Z)("TreeSelect",Fr=>{const ki=(0,Ii.TS)(Fr,{treePrefixCls:Tn});return[vo(ki)]},ea.TM)(Br)}var Hi=function(Br,Tn){var Fr={};for(var ki in Br)Object.prototype.hasOwnProperty.call(Br,ki)&&Tn.indexOf(ki)<0&&(Fr[ki]=Br[ki]);if(Br!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Vt=0,ki=Object.getOwnPropertySymbols(Br);Vt{var Fr,{prefixCls:ki,size:Vt,disabled:Vn,bordered:wr=!0,className:Yn,rootClassName:Pr,treeCheckable:br,multiple:kr,listHeight:vi=256,listItemHeight:at=26,placement:De,notFoundContent:nt,switcherIcon:Ot,treeLine:xn,getPopupContainer:wn,popupClassName:gr,dropdownClassName:Ar,treeIcon:fr=!1,transitionName:vr,choiceTransitionName:qr="",status:Xi,treeExpandAction:Nr,builtinPlacements:Gn,dropdownMatchSelectWidth:Fn,popupMatchSelectWidth:Kt,allowClear:Mn}=Br,zn=Hi(Br,["prefixCls","size","disabled","bordered","className","rootClassName","treeCheckable","multiple","listHeight","listItemHeight","placement","notFoundContent","switcherIcon","treeLine","getPopupContainer","popupClassName","dropdownClassName","treeIcon","transitionName","choiceTransitionName","status","treeExpandAction","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","allowClear"]);const{getPopupContainer:Jn,getPrefixCls:xr,renderEmpty:$n,direction:jr,virtual:pn,popupMatchSelectWidth:ni,popupOverflow:Ai}=ot.useContext(Qt.E_),Ni=xr(),bi=xr("select",ki),Ji=xr("select-tree",ki),fa=xr("tree-select",ki),{compactSize:oa,compactItemClassnames:ji}=(0,Un.ri)(bi,jr),[Qa,Fa]=(0,ei.Z)(bi),[qo]=Ha(fa,Ji),ma=Oe()(gr||Ar,`${fa}-dropdown`,{[`${fa}-dropdown-rtl`]:jr==="rtl"},Pr,Fa),_o=!!(br||kr),Ci=(0,Tt.Z)(zn.suffixIcon,zn.showArrow),Qo=(Fr=Kt!=null?Kt:Fn)!==null&&Fr!==void 0?Fr:ni,{status:ol,hasFeedback:mo,isFormItemInput:Oa,feedbackIcon:Go}=ot.useContext(dr.aM),_a=(0,yn.F)(ol,Xi),{suffixIcon:Ga,removeIcon:ll,clearIcon:tl}=(0,qt.Z)(Object.assign(Object.assign({},zn),{multiple:_o,showSuffixIcon:Ci,hasFeedback:mo,feedbackIcon:Go,prefixCls:bi,componentName:"TreeSelect"})),Jo=Mn===!0?{clearIcon:tl}:Mn;let Zr;nt!==void 0?Zr=nt:Zr=($n==null?void 0:$n("Select"))||ot.createElement(Vr.Z,{componentName:"Select"});const Li=(0,mt.Z)(zn,["suffixIcon","itemIcon","removeIcon","clearIcon","switcherIcon"]),xo=ot.useMemo(()=>De!==void 0?De:jr==="rtl"?"bottomRight":"bottomLeft",[De,jr]),jo=(0,Ht.Z)(Gn,Ai),nl=(0,vn.Z)(pl=>{var su;return(su=Vt!=null?Vt:oa)!==null&&su!==void 0?su:pl}),Ul=ot.useContext(pr.Z),wl=Vn!=null?Vn:Ul,ra=Oe()(!ki&&fa,{[`${bi}-lg`]:nl==="large",[`${bi}-sm`]:nl==="small",[`${bi}-rtl`]:jr==="rtl",[`${bi}-borderless`]:!wr,[`${bi}-in-form-item`]:Oa},(0,yn.Z)(bi,_a,mo),ji,Yn,Pr,Fa),Sa=pl=>ot.createElement(nr.Z,{prefixCls:Ji,switcherIcon:Ot,treeNodeProps:pl,showLine:xn}),Fl=ot.createElement(en,Object.assign({virtual:pn,disabled:wl},Li,{dropdownMatchSelectWidth:Qo,builtinPlacements:jo,ref:Tn,prefixCls:bi,className:ra,listHeight:vi,listItemHeight:at,treeCheckable:br&&ot.createElement("span",{className:`${bi}-tree-checkbox-inner`}),treeLine:!!xn,suffixIcon:Ga,multiple:_o,placement:xo,removeIcon:ll,allowClear:Jo,switcherIcon:Sa,showTreeIcon:fr,notFoundContent:Zr,getPopupContainer:wn||Jn,treeMotion:null,dropdownClassName:ma,choiceTransitionName:(0,On.m)(Ni,"",qr),transitionName:(0,On.m)(Ni,"slide-up",vr),treeExpandAction:Nr}));return Qa(qo(Fl))},yo=ot.forwardRef(wi),Pa=(0,xt.Z)(yo);yo.TreeNode=Mt,yo.SHOW_ALL=An,yo.SHOW_PARENT=Cn,yo.SHOW_CHILD=Pn,yo._InternalPanelDoNotUseOrYouWillBeFired=Pa;var Na=yo},17574:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return ft}});var ee=ie(38028),Oe=ie(77654),st=ie(52671),yt=ie(8657),Qe=ie(60499),Je=ie(59301),ye={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"},Se=ye,He=ie(85221),pt=function(Gt,Cr){return Je.createElement(He.Z,(0,Qe.Z)({},Gt,{ref:Cr,icon:Se}))},tt=Je.forwardRef(pt),ut=tt,ht=ie(92310),ot=ie.n(ht),Fe=ie(35654),qe=ie(71430),St=ie(36355),jt=ie(56082),Lt=ie(62892),Ut=ie(20648);const At=4;function Mt(Le){const{dropPosition:Gt,dropLevelOffset:Cr,prefixCls:ur,indent:It,direction:Nt="ltr"}=Le,hr=Nt==="ltr"?"left":"right",ir=Nt==="ltr"?"right":"left",sn={[hr]:-Cr*It+At,[ir]:0};switch(Gt){case-1:sn.top=-3;break;case 1:sn.bottom=-3;break;default:sn.bottom=-3,sn[hr]=It+At;break}return Je.createElement("div",{style:sn,className:`${ur}-drop-indicator`})}var je=ie(71997),Nn=Je.forwardRef((Le,Gt)=>{const{getPrefixCls:Cr,direction:ur,virtual:It,tree:Nt}=Je.useContext(St.E_),{prefixCls:hr,className:ir,showIcon:sn=!1,showLine:An,switcherIcon:Cn,blockNode:Pn=!1,children:Ln,checkable:Te=!1,selectable:ve=!0,draggable:he,motion:we,style:Re}=Le,fe=Cr("tree",hr),wt=Cr(),en=we!=null?we:Object.assign(Object.assign({},(0,Lt.Z)(wt)),{motionAppear:!1}),mt=Object.assign(Object.assign({},Le),{checkable:Te,selectable:ve,showIcon:sn,motion:en,blockNode:Pn,showLine:!!An,dropIndicatorRender:Mt}),[xt,On]=(0,Ut.ZP)(fe),yn=Je.useMemo(()=>{if(!he)return!1;let pr={};switch(typeof he){case"function":pr.nodeDraggable=he;break;case"object":pr=Object.assign({},he);break;default:break}return pr.icon!==!1&&(pr.icon=pr.icon||Je.createElement(jt.Z,null)),pr},[he]),Qt=pr=>Je.createElement(je.Z,{prefixCls:fe,switcherIcon:Cn,treeNodeProps:pr,showLine:An});return xt(Je.createElement(ee.Z,Object.assign({itemHeight:20,ref:Gt,virtual:It},mt,{style:Object.assign(Object.assign({},Nt==null?void 0:Nt.style),Re),prefixCls:fe,className:ot()({[`${fe}-icon-hide`]:!sn,[`${fe}-block-node`]:Pn,[`${fe}-unselectable`]:!ve,[`${fe}-rtl`]:ur==="rtl"},Nt==null?void 0:Nt.className,ir,On),direction:ur,checkable:Te&&Je.createElement("span",{className:`${fe}-checkbox-inner`}),selectable:ve,switcherIcon:Qt,draggable:yn}),Ln))}),rn;(function(Le){Le[Le.None=0]="None",Le[Le.Start=1]="Start",Le[Le.End=2]="End"})(rn||(rn={}));function Et(Le,Gt){function Cr(ur){const{key:It,children:Nt}=ur;Gt(It,ur)!==!1&&Et(Nt||[],Gt)}Le.forEach(Cr)}function _t(Le){let{treeData:Gt,expandedKeys:Cr,startKey:ur,endKey:It}=Le;const Nt=[];let hr=rn.None;if(ur&&ur===It)return[ur];if(!ur||!It)return[];function ir(sn){return sn===ur||sn===It}return Et(Gt,sn=>{if(hr===rn.End)return!1;if(ir(sn)){if(Nt.push(sn),hr===rn.None)hr=rn.Start;else if(hr===rn.Start)return hr=rn.End,!1}else hr===rn.Start&&Nt.push(sn);return Cr.includes(sn)}),Nt}function We(Le,Gt){const Cr=(0,Oe.Z)(Gt),ur=[];return Et(Le,(It,Nt)=>{const hr=Cr.indexOf(It);return hr!==-1&&(ur.push(Nt),Cr.splice(hr,1)),!!Cr.length}),ur}var Rt=function(Le,Gt){var Cr={};for(var ur in Le)Object.prototype.hasOwnProperty.call(Le,ur)&&Gt.indexOf(ur)<0&&(Cr[ur]=Le[ur]);if(Le!=null&&typeof Object.getOwnPropertySymbols=="function")for(var It=0,ur=Object.getOwnPropertySymbols(Le);It{var{defaultExpandAll:Cr,defaultExpandParent:ur,defaultExpandedKeys:It}=Le,Nt=Rt(Le,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const hr=Je.useRef(),ir=Je.useRef(),sn=()=>{const{keyEntities:yn}=(0,qe.I8)(dn(Nt));let Qt;return Cr?Qt=Object.keys(yn):ur?Qt=(0,Fe.r7)(Nt.expandedKeys||It||[],yn):Qt=Nt.expandedKeys||It,Qt},[An,Cn]=Je.useState(Nt.selectedKeys||Nt.defaultSelectedKeys||[]),[Pn,Ln]=Je.useState(()=>sn());Je.useEffect(()=>{"selectedKeys"in Nt&&Cn(Nt.selectedKeys)},[Nt.selectedKeys]),Je.useEffect(()=>{"expandedKeys"in Nt&&Ln(Nt.expandedKeys)},[Nt.expandedKeys]);const Te=(yn,Qt)=>{var pr;return"expandedKeys"in Nt||Ln(yn),(pr=Nt.onExpand)===null||pr===void 0?void 0:pr.call(Nt,yn,Qt)},ve=(yn,Qt)=>{var pr;const{multiple:Vr}=Nt,{node:vn,nativeEvent:dr}=Qt,{key:ei=""}=vn,Ht=dn(Nt),Tt=Object.assign(Object.assign({},Qt),{selected:!0}),qt=(dr==null?void 0:dr.ctrlKey)||(dr==null?void 0:dr.metaKey),Un=dr==null?void 0:dr.shiftKey;let nr;Vr&&qt?(nr=yn,hr.current=ei,ir.current=nr,Tt.selectedNodes=We(Ht,nr)):Vr&&Un?(nr=Array.from(new Set([].concat((0,Oe.Z)(ir.current||[]),(0,Oe.Z)(_t({treeData:Ht,expandedKeys:Pn,startKey:ei,endKey:hr.current}))))),Tt.selectedNodes=We(Ht,nr)):(nr=[ei],hr.current=ei,ir.current=nr,Tt.selectedNodes=We(Ht,nr)),(pr=Nt.onSelect)===null||pr===void 0||pr.call(Nt,nr,Tt),"selectedKeys"in Nt||Cn(nr)},{getPrefixCls:he,direction:we}=Je.useContext(St.E_),{prefixCls:Re,className:fe,showIcon:wt=!0,expandAction:en="click"}=Nt,mt=Rt(Nt,["prefixCls","className","showIcon","expandAction"]),xt=he("tree",Re),On=ot()(`${xt}-directory`,{[`${xt}-directory-rtl`]:we==="rtl"},fe);return Je.createElement(Nn,Object.assign({icon:lt,ref:Gt,blockNode:!0},mt,{showIcon:wt,expandAction:en,prefixCls:xt,className:On,expandedKeys:Pn,selectedKeys:An,onSelect:ve,onExpand:Te}))};var lr=Je.forwardRef(ln);const Dr=Nn;Dr.DirectoryTree=lr,Dr.TreeNode=ee.O;var ft=Dr},20648:function(Bn,Wn,ie){"use strict";ie.d(Wn,{TM:function(){return ht},Yk:function(){return ut}});var ee=ie(36237),Oe=ie(98447),st=ie(17313),yt=ie(8378),Qe=ie(37613),Je=ie(83116);const ye=new ee.Keyframes("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),Se=(ot,Fe)=>({[`.${ot}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${Fe.motionDurationSlow}`}}}),He=(ot,Fe)=>({[`.${ot}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:Fe.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${Fe.lineWidthBold}px solid ${Fe.colorPrimary}`,borderRadius:"50%",content:'""'}}}),pt=(ot,Fe)=>{const{treeCls:qe,treeNodeCls:St,treeNodePadding:jt,titleHeight:Lt,nodeSelectedBg:Ut,nodeHoverBg:At}=Fe,Mt=Fe.paddingXS;return{[qe]:Object.assign(Object.assign({},(0,st.Wf)(Fe)),{background:Fe.colorBgContainer,borderRadius:Fe.borderRadius,transition:`background-color ${Fe.motionDurationSlow}`,[`&${qe}-rtl`]:{[`${qe}-switcher`]:{"&_close":{[`${qe}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${qe}-active-focused)`]:Object.assign({},(0,st.oN)(Fe)),[`${qe}-list-holder-inner`]:{alignItems:"flex-start"},[`&${qe}-block-node`]:{[`${qe}-list-holder-inner`]:{alignItems:"stretch",[`${qe}-node-content-wrapper`]:{flex:"auto"},[`${St}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:jt,insetInlineStart:0,border:`1px solid ${Fe.colorPrimary}`,opacity:0,animationName:ye,animationDuration:Fe.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${St}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${jt}px 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${qe}-node-content-wrapper`]:{color:Fe.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${qe}-node-content-wrapper`]:Object.assign({},(0,st.oN)(Fe)),[`&:not(${St}-disabled).filter-node ${qe}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{[`${qe}-draggable-icon`]:{flexShrink:0,width:Lt,lineHeight:`${Lt}px`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${Fe.motionDurationSlow}`,[`${St}:hover &`]:{opacity:.45}},[`&${St}-disabled`]:{[`${qe}-draggable-icon`]:{visibility:"hidden"}}}},[`${qe}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:Lt}},[`${qe}-draggable-icon`]:{visibility:"hidden"},[`${qe}-switcher`]:Object.assign(Object.assign({},Se(ot,Fe)),{position:"relative",flex:"none",alignSelf:"stretch",width:Lt,margin:0,lineHeight:`${Lt}px`,textAlign:"center",cursor:"pointer",userSelect:"none","&-noop":{cursor:"default"},"&_close":{[`${qe}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:Fe.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:Lt/2,bottom:-jt,marginInlineStart:-1,borderInlineEnd:`1px solid ${Fe.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:Lt/2*.8,height:Lt/2,borderBottom:`1px solid ${Fe.colorBorder}`,content:'""'}}}),[`${qe}-checkbox`]:{top:"initial",marginInlineEnd:Mt},[`${qe}-node-content-wrapper, ${qe}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:Lt,margin:0,padding:`0 ${Fe.paddingXS/2}px`,color:"inherit",lineHeight:`${Lt}px`,background:"transparent",borderRadius:Fe.borderRadius,cursor:"pointer",transition:`all ${Fe.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:At},[`&${qe}-node-selected`]:{backgroundColor:Ut},[`${qe}-iconEle`]:{display:"inline-block",width:Lt,height:Lt,lineHeight:`${Lt}px`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${qe}-unselectable ${qe}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${qe}-node-content-wrapper`]:Object.assign({lineHeight:`${Lt}px`,userSelect:"none"},He(ot,Fe)),[`${St}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${Fe.colorPrimary}`}},"&-show-line":{[`${qe}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:Lt/2,bottom:-jt,borderInlineEnd:`1px solid ${Fe.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${qe}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${St}-leaf-last`]:{[`${qe}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Lt/2}px !important`}}}}})}},tt=ot=>{const{treeCls:Fe,treeNodeCls:qe,treeNodePadding:St,directoryNodeSelectedBg:jt,directoryNodeSelectedColor:Lt}=ot;return{[`${Fe}${Fe}-directory`]:{[qe]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:St,insetInlineStart:0,transition:`background-color ${ot.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:ot.controlItemBgHover}},"> *":{zIndex:1},[`${Fe}-switcher`]:{transition:`color ${ot.motionDurationMid}`},[`${Fe}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${Fe}-node-selected`]:{color:Lt,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:jt},[`${Fe}-switcher`]:{color:Lt},[`${Fe}-node-content-wrapper`]:{color:Lt,background:"transparent"}}}}}},ut=(ot,Fe)=>{const qe=`.${ot}`,St=`${qe}-treenode`,jt=Fe.paddingXS/2,Lt=(0,Qe.TS)(Fe,{treeCls:qe,treeNodeCls:St,treeNodePadding:jt});return[pt(ot,Lt),tt(Lt)]},ht=ot=>{const{controlHeightSM:Fe}=ot;return{titleHeight:Fe,nodeHoverBg:ot.controlItemBgHover,nodeSelectedBg:ot.controlItemBgActive}};Wn.ZP=(0,Je.Z)("Tree",(ot,Fe)=>{let{prefixCls:qe}=Fe;return[{[ot.componentCls]:(0,Oe.C2)(`${qe}-checkbox`,ot)},ut(qe,ot),(0,yt.Z)(ot)]},ot=>{const{colorTextLightSolid:Fe,colorPrimary:qe}=ot;return Object.assign(Object.assign({},ht(ot)),{directoryNodeSelectedColor:Fe,directoryNodeSelectedBg:qe})})},71997:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return St}});var ee=ie(60499),Oe=ie(59301),st={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"},yt=st,Qe=ie(85221),Je=function(Lt,Ut){return Oe.createElement(Qe.Z,(0,ee.Z)({},Lt,{ref:Ut,icon:yt}))},ye=Oe.forwardRef(Je),Se=ye,He=ie(52671),pt=ie(58617),tt=ie(15075),ut=ie(43531),ht=ie(92310),ot=ie.n(ht),Fe=ie(92343),St=jt=>{const{prefixCls:Lt,switcherIcon:Ut,treeNodeProps:At,showLine:Mt}=jt,{isLeaf:je,expanded:gn,loading:Nn}=At;if(Nn)return Oe.createElement(pt.Z,{className:`${Lt}-switcher-loading-icon`});let rn;if(Mt&&typeof Mt=="object"&&(rn=Mt.showLeafIcon),je){if(!Mt)return null;if(typeof rn!="boolean"&&rn){const We=typeof rn=="function"?rn(At):rn,Rt=`${Lt}-switcher-line-custom-icon`;return(0,Fe.l$)(We)?(0,Fe.Tm)(We,{className:ot()(We.props.className||"",Rt)}):We}return rn?Oe.createElement(He.Z,{className:`${Lt}-switcher-line-icon`}):Oe.createElement("span",{className:`${Lt}-switcher-leaf-line`})}const Et=`${Lt}-switcher-icon`,_t=typeof Ut=="function"?Ut(At):Ut;return(0,Fe.l$)(_t)?(0,Fe.Tm)(_t,{className:ot()(_t.props.className||"",Et)}):_t!==void 0?_t:Mt?gn?Oe.createElement(tt.Z,{className:`${Lt}-switcher-line-icon`}):Oe.createElement(ut.Z,{className:`${Lt}-switcher-line-icon`}):Oe.createElement(Se,{className:Et})}},54580:function(Bn,Wn,ie){"use strict";ie.d(Wn,{default:function(){return Fn}});var ee=ie(59301),Oe=ie(77654),st=ie(92310),yt=ie.n(st),Qe=ie(60499),Je=ie(38705),ye=ie(17212),Se=ie(39153),He=ie(55401),pt=ie(18642),tt=ie(42244),ut=ie(73001),ht=ie(43749),ot=ie(11576),Fe=ie(26112);function qe(Kt,Mn){var zn="cannot ".concat(Kt.method," ").concat(Kt.action," ").concat(Mn.status,"'"),Jn=new Error(zn);return Jn.status=Mn.status,Jn.method=Kt.method,Jn.url=Kt.action,Jn}function St(Kt){var Mn=Kt.responseText||Kt.response;if(!Mn)return Mn;try{return JSON.parse(Mn)}catch(zn){return Mn}}function jt(Kt){var Mn=new XMLHttpRequest;Kt.onProgress&&Mn.upload&&(Mn.upload.onprogress=function($n){$n.total>0&&($n.percent=$n.loaded/$n.total*100),Kt.onProgress($n)});var zn=new FormData;Kt.data&&Object.keys(Kt.data).forEach(function(xr){var $n=Kt.data[xr];if(Array.isArray($n)){$n.forEach(function(jr){zn.append("".concat(xr,"[]"),jr)});return}zn.append(xr,$n)}),Kt.file instanceof Blob?zn.append(Kt.filename,Kt.file,Kt.file.name):zn.append(Kt.filename,Kt.file),Mn.onerror=function($n){Kt.onError($n)},Mn.onload=function(){return Mn.status<200||Mn.status>=300?Kt.onError(qe(Kt,Mn),St(Mn)):Kt.onSuccess(St(Mn),Mn)},Mn.open(Kt.method,Kt.action,!0),Kt.withCredentials&&"withCredentials"in Mn&&(Mn.withCredentials=!0);var Jn=Kt.headers||{};return Jn["X-Requested-With"]!==null&&Mn.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(Jn).forEach(function(xr){Jn[xr]!==null&&Mn.setRequestHeader(xr,Jn[xr])}),Mn.send(zn),{abort:function(){Mn.abort()}}}var Lt=+new Date,Ut=0;function At(){return"rc-upload-".concat(Lt,"-").concat(++Ut)}var Mt=ie(48736),je=function(Kt,Mn){if(Kt&&Mn){var zn=Array.isArray(Mn)?Mn:Mn.split(","),Jn=Kt.name||"",xr=Kt.type||"",$n=xr.replace(/\/.*$/,"");return zn.some(function(jr){var pn=jr.trim();if(/^\*(\/\*)?$/.test(jr))return!0;if(pn.charAt(0)==="."){var ni=Jn.toLowerCase(),Ai=pn.toLowerCase(),Ni=[Ai];return(Ai===".jpg"||Ai===".jpeg")&&(Ni=[".jpg",".jpeg"]),Ni.some(function(bi){return ni.endsWith(bi)})}return/\/\*$/.test(pn)?$n===pn.replace(/\/.*$/,""):xr===pn?!0:/^\w+$/.test(pn)?((0,Mt.ZP)(!1,"Upload takes an invalidate 'accept' type '".concat(pn,"'.Skip for check.")),!0):!1})}return!0};function gn(Kt,Mn){var zn=Kt.createReader(),Jn=[];function xr(){zn.readEntries(function($n){var jr=Array.prototype.slice.apply($n);Jn=Jn.concat(jr);var pn=!jr.length;pn?Mn(Jn):xr()})}xr()}var Nn=function(Mn,zn,Jn){var xr=function $n(jr,pn){jr&&(jr.path=pn||"",jr.isFile?jr.file(function(ni){Jn(ni)&&(jr.fullPath&&!ni.webkitRelativePath&&(Object.defineProperties(ni,{webkitRelativePath:{writable:!0}}),ni.webkitRelativePath=jr.fullPath.replace(/^\//,""),Object.defineProperties(ni,{webkitRelativePath:{writable:!1}})),zn([ni]))}):jr.isDirectory&&gn(jr,function(ni){ni.forEach(function(Ai){$n(Ai,"".concat(pn).concat(jr.name,"/"))})}))};Mn.forEach(function($n){xr($n.webkitGetAsEntry())})},rn=Nn,Et=["component","prefixCls","className","disabled","id","style","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave"],_t=function(Kt){(0,Se.Z)(zn,Kt);var Mn=(0,He.Z)(zn);function zn(){var Jn;(0,Je.Z)(this,zn);for(var xr=arguments.length,$n=new Array(xr),jr=0;jr{let{uid:$n}=xr;return $n===Kt.uid});return Jn===-1?zn.push(Kt):zn[Jn]=Kt,zn}function pr(Kt,Mn){const zn=Kt.uid!==void 0?"uid":"name";return Mn.filter(Jn=>Jn[zn]===Kt[zn])[0]}function Vr(Kt,Mn){const zn=Kt.uid!==void 0?"uid":"name",Jn=Mn.filter(xr=>xr[zn]!==Kt[zn]);return Jn.length===Mn.length?null:Jn}const vn=function(){const Mn=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),Jn=Mn[Mn.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(Jn)||[""])[0]},dr=Kt=>Kt.indexOf("image/")===0,ei=Kt=>{if(Kt.type&&!Kt.thumbUrl)return dr(Kt.type);const Mn=Kt.thumbUrl||Kt.url||"",zn=vn(Mn);return/^data:image\//.test(Mn)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(zn)?!0:!(/^data:/.test(Mn)||zn)},Ht=200;function Tt(Kt){return new Promise(Mn=>{if(!Kt.type||!dr(Kt.type)){Mn("");return}const zn=document.createElement("canvas");zn.width=Ht,zn.height=Ht,zn.style.cssText=`position: fixed; left: 0; top: 0; width: ${Ht}px; height: ${Ht}px; z-index: 9999; display: none;`,document.body.appendChild(zn);const Jn=zn.getContext("2d"),xr=new Image;if(xr.onload=()=>{const{width:$n,height:jr}=xr;let pn=Ht,ni=Ht,Ai=0,Ni=0;$n>jr?(ni=jr*(Ht/$n),Ni=-(ni-pn)/2):(pn=$n*(Ht/jr),Ai=-(pn-ni)/2),Jn.drawImage(xr,Ai,Ni,pn,ni);const bi=zn.toDataURL();document.body.removeChild(zn),window.URL.revokeObjectURL(xr.src),Mn(bi)},xr.crossOrigin="anonymous",Kt.type.startsWith("image/svg+xml")){const $n=new FileReader;$n.onload=()=>{$n.result&&(xr.src=$n.result)},$n.readAsDataURL(Kt)}else if(Kt.type.startsWith("image/gif")){const $n=new FileReader;$n.onload=()=>{$n.result&&Mn($n.result)},$n.readAsDataURL(Kt)}else xr.src=window.URL.createObjectURL(Kt)})}var qt=ie(26227),Un=ie(41464),nr=ie(15277),Jr=ie(93948),Ii=ie(6848),ea=ee.forwardRef((Kt,Mn)=>{let{prefixCls:zn,className:Jn,style:xr,locale:$n,listType:jr,file:pn,items:ni,progress:Ai,iconRender:Ni,actionIconRender:bi,itemRender:Ji,isImgUrl:fa,showPreviewIcon:oa,showRemoveIcon:ji,showDownloadIcon:Qa,previewIcon:Fa,removeIcon:qo,downloadIcon:ma,onPreview:_o,onDownload:Ci,onClose:Qo}=Kt;var ol,mo;const{status:Oa}=pn,[Go,_a]=ee.useState(Oa);ee.useEffect(()=>{Oa!=="removed"&&_a(Oa)},[Oa]);const[Ga,ll]=ee.useState(!1);ee.useEffect(()=>{const Ls=setTimeout(()=>{ll(!0)},300);return()=>{clearTimeout(Ls)}},[]);const tl=Ni(pn);let Jo=ee.createElement("div",{className:`${zn}-icon`},tl);if(jr==="picture"||jr==="picture-card"||jr==="picture-circle")if(Go==="uploading"||!pn.thumbUrl&&!pn.url){const Ls=yt()(`${zn}-list-item-thumbnail`,{[`${zn}-list-item-file`]:Go!=="uploading"});Jo=ee.createElement("div",{className:Ls},tl)}else{const Ls=fa!=null&&fa(pn)?ee.createElement("img",{src:pn.thumbUrl||pn.url,alt:pn.name,className:`${zn}-list-item-image`,crossOrigin:pn.crossOrigin}):tl,$s=yt()(`${zn}-list-item-thumbnail`,{[`${zn}-list-item-file`]:fa&&!fa(pn)});Jo=ee.createElement("a",{className:$s,onClick:Ws=>_o(pn,Ws),href:pn.url||pn.thumbUrl,target:"_blank",rel:"noopener noreferrer"},Ls)}const Zr=yt()(`${zn}-list-item`,`${zn}-list-item-${Go}`),Li=typeof pn.linkProps=="string"?JSON.parse(pn.linkProps):pn.linkProps,xo=ji?bi((typeof qo=="function"?qo(pn):qo)||ee.createElement(qt.Z,null),()=>Qo(pn),zn,$n.removeFile):null,jo=Qa&&Go==="done"?bi((typeof ma=="function"?ma(pn):ma)||ee.createElement(Un.Z,null),()=>Ci(pn),zn,$n.downloadFile):null,nl=jr!=="picture-card"&&jr!=="picture-circle"&&ee.createElement("span",{key:"download-delete",className:yt()(`${zn}-list-item-actions`,{picture:jr==="picture"})},jo,xo),Ul=yt()(`${zn}-list-item-name`),wl=pn.url?[ee.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:Ul,title:pn.name},Li,{href:pn.url,onClick:Ls=>_o(pn,Ls)}),pn.name),nl]:[ee.createElement("span",{key:"view",className:Ul,onClick:Ls=>_o(pn,Ls),title:pn.name},pn.name),nl],ra={pointerEvents:"none",opacity:.5},Sa=oa?ee.createElement("a",{href:pn.url||pn.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:pn.url||pn.thumbUrl?void 0:ra,onClick:Ls=>_o(pn,Ls),title:$n.previewFile},typeof Fa=="function"?Fa(pn):Fa||ee.createElement(nr.Z,null)):null,Fl=(jr==="picture-card"||jr==="picture-circle")&&Go!=="uploading"&&ee.createElement("span",{className:`${zn}-list-item-actions`},Sa,Go==="done"&&jo,xo),{getPrefixCls:pl}=ee.useContext(Dr.E_),su=pl(),Qs=ee.createElement("div",{className:Zr},Jo,wl,Fl,Ga&&ee.createElement(wt.default,{motionName:`${su}-fade`,visible:Go==="uploading",motionDeadline:2e3},Ls=>{let{className:$s}=Ls;const Ws="percent"in pn?ee.createElement(Jr.Z,Object.assign({},Ai,{type:"line",percent:pn.percent,"aria-label":pn["aria-label"],"aria-labelledby":pn["aria-labelledby"]})):null;return ee.createElement("div",{className:yt()(`${zn}-list-item-progress`,$s)},Ws)})),Au=pn.response&&typeof pn.response=="string"?pn.response:((ol=pn.error)===null||ol===void 0?void 0:ol.statusText)||((mo=pn.error)===null||mo===void 0?void 0:mo.message)||$n.uploadError,_s=Go==="error"?ee.createElement(Ii.Z,{title:Au,getPopupContainer:Ls=>Ls.parentNode},Qs):Qs;return ee.createElement("div",{className:yt()(`${zn}-list-item-container`,Jn),style:xr,ref:Mn},Ji?Ji(_s,pn,ni,{download:Ci.bind(null,pn),preview:_o.bind(null,pn),remove:Qo.bind(null,pn)}):_s)});const vo=(Kt,Mn)=>{const{listType:zn="text",previewFile:Jn=Tt,onPreview:xr,onDownload:$n,onRemove:jr,locale:pn,iconRender:ni,isImageUrl:Ai=ei,prefixCls:Ni,items:bi=[],showPreviewIcon:Ji=!0,showRemoveIcon:fa=!0,showDownloadIcon:oa=!1,removeIcon:ji,previewIcon:Qa,downloadIcon:Fa,progress:qo={size:[-1,2],showInfo:!1},appendAction:ma,appendActionVisible:_o=!0,itemRender:Ci,disabled:Qo}=Kt,ol=(0,en.Z)(),[mo,Oa]=ee.useState(!1);ee.useEffect(()=>{zn!=="picture"&&zn!=="picture-card"&&zn!=="picture-circle"||(bi||[]).forEach(ra=>{typeof document=="undefined"||typeof window=="undefined"||!window.FileReader||!window.File||!(ra.originFileObj instanceof File||ra.originFileObj instanceof Blob)||ra.thumbUrl!==void 0||(ra.thumbUrl="",Jn&&Jn(ra.originFileObj).then(Sa=>{ra.thumbUrl=Sa||"",ol()}))})},[zn,bi,Jn]),ee.useEffect(()=>{Oa(!0)},[]);const Go=(ra,Sa)=>{if(xr)return Sa==null||Sa.preventDefault(),xr(ra)},_a=ra=>{typeof $n=="function"?$n(ra):ra.url&&window.open(ra.url)},Ga=ra=>{jr==null||jr(ra)},ll=ra=>{if(ni)return ni(ra,zn);const Sa=ra.status==="uploading",Fl=Ai&&Ai(ra)?ee.createElement(fe,null):ee.createElement(ir,null);let pl=Sa?ee.createElement(sn.Z,null):ee.createElement(Te,null);return zn==="picture"?pl=Sa?ee.createElement(sn.Z,null):Fl:(zn==="picture-card"||zn==="picture-circle")&&(pl=Sa?pn.uploading:Fl),pl},tl=(ra,Sa,Fl,pl)=>{const su={type:"text",size:"small",title:pl,onClick:Qs=>{Sa(),(0,xt.l$)(ra)&&ra.props.onClick&&ra.props.onClick(Qs)},className:`${Fl}-list-item-action`,disabled:Qo};if((0,xt.l$)(ra)){const Qs=(0,xt.Tm)(ra,Object.assign(Object.assign({},ra.props),{onClick:()=>{}}));return ee.createElement(On.ZP,Object.assign({},su,{icon:Qs}))}return ee.createElement(On.ZP,Object.assign({},su),ee.createElement("span",null,ra))};ee.useImperativeHandle(Mn,()=>({handlePreview:Go,handleDownload:_a}));const{getPrefixCls:Jo}=ee.useContext(Dr.E_),Zr=Jo("upload",Ni),Li=Jo(),xo=yt()(`${Zr}-list`,`${Zr}-list-${zn}`),jo=(0,Oe.Z)(bi.map(ra=>({key:ra.uid,file:ra})));let Ul={motionDeadline:2e3,motionName:`${Zr}-${zn==="picture-card"||zn==="picture-circle"?"animate-inline":"animate"}`,keys:jo,motionAppear:mo};const wl=ee.useMemo(()=>{const ra=Object.assign({},(0,mt.Z)(Li));return delete ra.onAppearEnd,delete ra.onEnterEnd,delete ra.onLeaveEnd,ra},[Li]);return zn!=="picture-card"&&zn!=="picture-circle"&&(Ul=Object.assign(Object.assign({},wl),Ul)),ee.createElement("div",{className:xo},ee.createElement(wt.CSSMotionList,Object.assign({},Ul,{component:!1}),ra=>{let{key:Sa,file:Fl,className:pl,style:su}=ra;return ee.createElement(ea,{key:Sa,locale:pn,prefixCls:Zr,className:pl,style:su,file:Fl,items:bi,progress:qo,listType:zn,isImgUrl:Ai,showPreviewIcon:Ji,showRemoveIcon:fa,showDownloadIcon:oa,removeIcon:ji,previewIcon:Qa,downloadIcon:Fa,iconRender:ll,actionIconRender:tl,itemRender:Ci,onPreview:Go,onDownload:_a,onClose:Ga})}),ma&&ee.createElement(wt.default,Object.assign({},Ul,{visible:_o,forceRender:!0}),ra=>{let{className:Sa,style:Fl}=ra;return(0,xt.Tm)(ma,pl=>({className:yt()(pl.className,Sa),style:Object.assign(Object.assign(Object.assign({},Fl),{pointerEvents:Sa?"none":void 0}),pl.style)}))}))};var Hi=ee.forwardRef(vo),wi=ie(17313),Zo=ie(8378),yo=ie(83116),Pa=ie(37613),Br=Kt=>{const{componentCls:Mn,iconCls:zn}=Kt;return{[`${Mn}-wrapper`]:{[`${Mn}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:Kt.colorFillAlter,border:`${Kt.lineWidth}px dashed ${Kt.colorBorder}`,borderRadius:Kt.borderRadiusLG,cursor:"pointer",transition:`border-color ${Kt.motionDurationSlow}`,[Mn]:{padding:`${Kt.padding}px 0`},[`${Mn}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none"},[`${Mn}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[`&:not(${Mn}-disabled):hover`]:{borderColor:Kt.colorPrimaryHover},[`p${Mn}-drag-icon`]:{marginBottom:Kt.margin,[zn]:{color:Kt.colorPrimary,fontSize:Kt.uploadThumbnailSize}},[`p${Mn}-text`]:{margin:`0 0 ${Kt.marginXXS}px`,color:Kt.colorTextHeading,fontSize:Kt.fontSizeLG},[`p${Mn}-hint`]:{color:Kt.colorTextDescription,fontSize:Kt.fontSize},[`&${Mn}-disabled`]:{cursor:"not-allowed",[`p${Mn}-drag-icon ${zn}, + p${Mn}-text, + p${Mn}-hint + `]:{color:Kt.colorTextDisabled}}}}}},Fr=Kt=>{const{componentCls:Mn,antCls:zn,iconCls:Jn,fontSize:xr,lineHeight:$n}=Kt,jr=`${Mn}-list-item`,pn=`${jr}-actions`,ni=`${jr}-action`,Ai=Math.round(xr*$n);return{[`${Mn}-wrapper`]:{[`${Mn}-list`]:Object.assign(Object.assign({},(0,wi.dF)()),{lineHeight:Kt.lineHeight,[jr]:{position:"relative",height:Kt.lineHeight*xr,marginTop:Kt.marginXS,fontSize:xr,display:"flex",alignItems:"center",transition:`background-color ${Kt.motionDurationSlow}`,"&:hover":{backgroundColor:Kt.controlItemBgHover},[`${jr}-name`]:Object.assign(Object.assign({},wi.vS),{padding:`0 ${Kt.paddingXS}px`,lineHeight:$n,flex:"auto",transition:`all ${Kt.motionDurationSlow}`}),[pn]:{[ni]:{opacity:0},[`${ni}${zn}-btn-sm`]:{height:Ai,border:0,lineHeight:1,"> span":{transform:"scale(1)"}},[` + ${ni}:focus-visible, + &.picture ${ni} + `]:{opacity:1},[Jn]:{color:Kt.actionsColor,transition:`all ${Kt.motionDurationSlow}`},[`&:hover ${Jn}`]:{color:Kt.colorText}},[`${Mn}-icon ${Jn}`]:{color:Kt.colorTextDescription,fontSize:xr},[`${jr}-progress`]:{position:"absolute",bottom:-Kt.uploadProgressOffset,width:"100%",paddingInlineStart:xr+Kt.paddingXS,fontSize:xr,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${jr}:hover ${ni}`]:{opacity:1,color:Kt.colorText},[`${jr}-error`]:{color:Kt.colorError,[`${jr}-name, ${Mn}-icon ${Jn}`]:{color:Kt.colorError},[pn]:{[`${Jn}, ${Jn}:hover`]:{color:Kt.colorError},[ni]:{opacity:1}}},[`${Mn}-list-item-container`]:{transition:`opacity ${Kt.motionDurationSlow}, height ${Kt.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},ki=ie(36237),Vt=ie(1950);const Vn=new ki.Keyframes("uploadAnimateInlineIn",{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),wr=new ki.Keyframes("uploadAnimateInlineOut",{to:{width:0,height:0,margin:0,padding:0,opacity:0}});var Pr=Kt=>{const{componentCls:Mn}=Kt,zn=`${Mn}-animate-inline`;return[{[`${Mn}-wrapper`]:{[`${zn}-appear, ${zn}-enter, ${zn}-leave`]:{animationDuration:Kt.motionDurationSlow,animationTimingFunction:Kt.motionEaseInOutCirc,animationFillMode:"forwards"},[`${zn}-appear, ${zn}-enter`]:{animationName:Vn},[`${zn}-leave`]:{animationName:wr}}},{[`${Mn}-wrapper`]:(0,Vt.J$)(Kt)},Vn,wr]},br=ie(30071),kr=ie(64993);const vi=Kt=>{const{componentCls:Mn,iconCls:zn,uploadThumbnailSize:Jn,uploadProgressOffset:xr}=Kt,$n=`${Mn}-list`,jr=`${$n}-item`;return{[`${Mn}-wrapper`]:{[` + ${$n}${$n}-picture, + ${$n}${$n}-picture-card, + ${$n}${$n}-picture-circle + `]:{[jr]:{position:"relative",height:Jn+Kt.lineWidth*2+Kt.paddingXS*2,padding:Kt.paddingXS,border:`${Kt.lineWidth}px ${Kt.lineType} ${Kt.colorBorder}`,borderRadius:Kt.borderRadiusLG,"&:hover":{background:"transparent"},[`${jr}-thumbnail`]:Object.assign(Object.assign({},wi.vS),{width:Jn,height:Jn,lineHeight:`${Jn+Kt.paddingSM}px`,textAlign:"center",flex:"none",[zn]:{fontSize:Kt.fontSizeHeading2,color:Kt.colorPrimary},img:{display:"block",width:"100%",height:"100%",overflow:"hidden"}}),[`${jr}-progress`]:{bottom:xr,width:`calc(100% - ${Kt.paddingSM*2}px)`,marginTop:0,paddingInlineStart:Jn+Kt.paddingXS}},[`${jr}-error`]:{borderColor:Kt.colorError,[`${jr}-thumbnail ${zn}`]:{[`svg path[fill='${br.blue[0]}']`]:{fill:Kt.colorErrorBg},[`svg path[fill='${br.blue.primary}']`]:{fill:Kt.colorError}}},[`${jr}-uploading`]:{borderStyle:"dashed",[`${jr}-name`]:{marginBottom:xr}}},[`${$n}${$n}-picture-circle ${jr}`]:{[`&, &::before, ${jr}-thumbnail`]:{borderRadius:"50%"}}}}},at=Kt=>{const{componentCls:Mn,iconCls:zn,fontSizeLG:Jn,colorTextLightSolid:xr}=Kt,$n=`${Mn}-list`,jr=`${$n}-item`,pn=Kt.uploadPicCardSize;return{[` + ${Mn}-wrapper${Mn}-picture-card-wrapper, + ${Mn}-wrapper${Mn}-picture-circle-wrapper + `]:Object.assign(Object.assign({},(0,wi.dF)()),{display:"inline-block",width:"100%",[`${Mn}${Mn}-select`]:{width:pn,height:pn,marginInlineEnd:Kt.marginXS,marginBottom:Kt.marginXS,textAlign:"center",verticalAlign:"top",backgroundColor:Kt.colorFillAlter,border:`${Kt.lineWidth}px dashed ${Kt.colorBorder}`,borderRadius:Kt.borderRadiusLG,cursor:"pointer",transition:`border-color ${Kt.motionDurationSlow}`,[`> ${Mn}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center"},[`&:not(${Mn}-disabled):hover`]:{borderColor:Kt.colorPrimary}},[`${$n}${$n}-picture-card, ${$n}${$n}-picture-circle`]:{[`${$n}-item-container`]:{display:"inline-block",width:pn,height:pn,marginBlock:`0 ${Kt.marginXS}px`,marginInline:`0 ${Kt.marginXS}px`,verticalAlign:"top"},"&::after":{display:"none"},[jr]:{height:"100%",margin:0,"&::before":{position:"absolute",zIndex:1,width:`calc(100% - ${Kt.paddingXS*2}px)`,height:`calc(100% - ${Kt.paddingXS*2}px)`,backgroundColor:Kt.colorBgMask,opacity:0,transition:`all ${Kt.motionDurationSlow}`,content:'" "'}},[`${jr}:hover`]:{[`&::before, ${jr}-actions`]:{opacity:1}},[`${jr}-actions`]:{position:"absolute",insetInlineStart:0,zIndex:10,width:"100%",whiteSpace:"nowrap",textAlign:"center",opacity:0,transition:`all ${Kt.motionDurationSlow}`,[`${zn}-eye, ${zn}-download, ${zn}-delete`]:{zIndex:10,width:Jn,margin:`0 ${Kt.marginXXS}px`,fontSize:Jn,cursor:"pointer",transition:`all ${Kt.motionDurationSlow}`,svg:{verticalAlign:"baseline"}}},[`${jr}-actions, ${jr}-actions:hover`]:{[`${zn}-eye, ${zn}-download, ${zn}-delete`]:{color:new kr.C(xr).setAlpha(.65).toRgbString(),"&:hover":{color:xr}}},[`${jr}-thumbnail, ${jr}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${jr}-name`]:{display:"none",textAlign:"center"},[`${jr}-file + ${jr}-name`]:{position:"absolute",bottom:Kt.margin,display:"block",width:`calc(100% - ${Kt.paddingXS*2}px)`},[`${jr}-uploading`]:{[`&${jr}`]:{backgroundColor:Kt.colorFillAlter},[`&::before, ${zn}-eye, ${zn}-download, ${zn}-delete`]:{display:"none"}},[`${jr}-progress`]:{bottom:Kt.marginXL,width:`calc(100% - ${Kt.paddingXS*2}px)`,paddingInlineStart:0}}}),[`${Mn}-wrapper${Mn}-picture-circle-wrapper`]:{[`${Mn}${Mn}-select`]:{borderRadius:"50%"}}}};var nt=Kt=>{const{componentCls:Mn}=Kt;return{[`${Mn}-rtl`]:{direction:"rtl"}}};const Ot=Kt=>{const{componentCls:Mn,colorTextDisabled:zn}=Kt;return{[`${Mn}-wrapper`]:Object.assign(Object.assign({},(0,wi.Wf)(Kt)),{[Mn]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${Mn}-select`]:{display:"inline-block"},[`${Mn}-disabled`]:{color:zn,cursor:"not-allowed"}})}};var xn=(0,yo.Z)("Upload",Kt=>{const{fontSizeHeading3:Mn,fontSize:zn,lineHeight:Jn,lineWidth:xr,controlHeightLG:$n}=Kt,jr=Math.round(zn*Jn),pn=(0,Pa.TS)(Kt,{uploadThumbnailSize:Mn*2,uploadProgressOffset:jr/2+xr,uploadPicCardSize:$n*2.55});return[Ot(pn),Br(pn),vi(pn),at(pn),Fr(pn),Pr(pn),nt(pn),(0,Zo.Z)(pn)]},Kt=>({actionsColor:Kt.colorTextDescription})),wn=function(Kt,Mn,zn,Jn){function xr($n){return $n instanceof zn?$n:new zn(function(jr){jr($n)})}return new(zn||(zn=Promise))(function($n,jr){function pn(Ni){try{Ai(Jn.next(Ni))}catch(bi){jr(bi)}}function ni(Ni){try{Ai(Jn.throw(Ni))}catch(bi){jr(bi)}}function Ai(Ni){Ni.done?$n(Ni.value):xr(Ni.value).then(pn,ni)}Ai((Jn=Jn.apply(Kt,Mn||[])).next())})};const gr=`__LIST_IGNORE_${Date.now()}__`,Ar=(Kt,Mn)=>{const{fileList:zn,defaultFileList:Jn,onRemove:xr,showUploadList:$n=!0,listType:jr="text",onPreview:pn,onDownload:ni,onChange:Ai,onDrop:Ni,previewFile:bi,disabled:Ji,locale:fa,iconRender:oa,isImageUrl:ji,progress:Qa,prefixCls:Fa,className:qo,type:ma="select",children:_o,style:Ci,itemRender:Qo,maxCount:ol,data:mo={},multiple:Oa=!1,action:Go="",accept:_a="",supportServerRender:Ga=!0,rootClassName:ll}=Kt,tl=ee.useContext(ft.Z),Jo=Ji!=null?Ji:tl,[Zr,Li]=(0,tn.Z)(Jn||[],{value:zn,postState:Io=>Io!=null?Io:[]}),[xo,jo]=ee.useState("drop"),nl=ee.useRef(null);ee.useMemo(()=>{const Io=Date.now();(zn||[]).forEach((os,gu)=>{!os.uid&&!Object.isFrozen(os)&&(os.uid=`__AUTO__${Io}_${gu}__`)})},[zn]);const Ul=(Io,os,gu)=>{let Ho=(0,Oe.Z)(os),sl=!1;ol===1?Ho=Ho.slice(-1):ol&&(sl=Ho.length>ol,Ho=Ho.slice(0,ol)),(0,lr.flushSync)(()=>{Li(Ho)});const ro={file:Io,fileList:Ho};gu&&(ro.event=gu),(!sl||Ho.some(Yt=>Yt.uid===Io.uid))&&(0,lr.flushSync)(()=>{Ai==null||Ai(ro)})},wl=(Io,os)=>wn(void 0,void 0,void 0,function*(){const{beforeUpload:gu,transformFile:Ho}=Kt;let sl=Io;if(gu){const ro=yield gu(Io,os);if(ro===!1)return!1;if(delete Io[gr],ro===gr)return Object.defineProperty(Io,gr,{value:!0,configurable:!0}),!1;typeof ro=="object"&&ro&&(sl=ro)}return Ho&&(sl=yield Ho(sl)),sl}),ra=Io=>{const os=Io.filter(sl=>!sl.file[gr]);if(!os.length)return;const gu=os.map(sl=>yn(sl.file));let Ho=(0,Oe.Z)(Zr);gu.forEach(sl=>{Ho=Qt(sl,Ho)}),gu.forEach((sl,ro)=>{let Yt=sl;if(os[ro].parsedFile)sl.status="uploading";else{const{originFileObj:mr}=sl;let Hn;try{Hn=new File([mr],mr.name,{type:mr.type})}catch(hi){Hn=new Blob([mr],{type:mr.type}),Hn.name=mr.name,Hn.lastModifiedDate=new Date,Hn.lastModified=new Date().getTime()}Hn.uid=sl.uid,Yt=Hn}Ul(Yt,Ho)})},Sa=(Io,os,gu)=>{try{typeof Io=="string"&&(Io=JSON.parse(Io))}catch(ro){}if(!pr(os,Zr))return;const Ho=yn(os);Ho.status="done",Ho.percent=100,Ho.response=Io,Ho.xhr=gu;const sl=Qt(Ho,Zr);Ul(Ho,sl)},Fl=(Io,os)=>{if(!pr(os,Zr))return;const gu=yn(os);gu.status="uploading",gu.percent=Io.percent;const Ho=Qt(gu,Zr);Ul(gu,Ho,Io)},pl=(Io,os,gu)=>{if(!pr(gu,Zr))return;const Ho=yn(gu);Ho.error=Io,Ho.response=os,Ho.status="error";const sl=Qt(Ho,Zr);Ul(Ho,sl)},su=Io=>{let os;Promise.resolve(typeof xr=="function"?xr(Io):xr).then(gu=>{var Ho;if(gu===!1)return;const sl=Vr(Io,Zr);sl&&(os=Object.assign(Object.assign({},Io),{status:"removed"}),Zr==null||Zr.forEach(ro=>{const Yt=os.uid!==void 0?"uid":"name";ro[Yt]===os[Yt]&&!Object.isFrozen(ro)&&(ro.status="removed")}),(Ho=nl.current)===null||Ho===void 0||Ho.abort(os),Ul(os,sl))})},Qs=Io=>{jo(Io.type),Io.type==="drop"&&(Ni==null||Ni(Io))};ee.useImperativeHandle(Mn,()=>({onBatchStart:ra,onSuccess:Sa,onProgress:Fl,onError:pl,fileList:Zr,upload:nl.current}));const{getPrefixCls:Au,direction:_s,upload:Ls}=ee.useContext(Dr.E_),$s=Au("upload",Fa),Ws=Object.assign(Object.assign({onBatchStart:ra,onError:pl,onProgress:Fl,onSuccess:Sa},Kt),{data:mo,multiple:Oa,action:Go,accept:_a,supportServerRender:Ga,prefixCls:$s,disabled:Jo,beforeUpload:wl,onChange:void 0});delete Ws.className,delete Ws.style,(!_o||Jo)&&delete Ws.id;const[zu,xu]=xn($s),[$a]=(0,Le.Z)("Upload",Gt.Z.Upload),{showRemoveIcon:Za,showPreviewIcon:Ma,showDownloadIcon:an,removeIcon:Vo,previewIcon:Sl,downloadIcon:ds}=typeof $n=="boolean"?{}:$n,bs=(Io,os)=>$n?ee.createElement(Hi,{prefixCls:$s,listType:jr,items:Zr,previewFile:bi,onPreview:pn,onDownload:ni,onRemove:su,showRemoveIcon:!Jo&&Za,showPreviewIcon:Ma,showDownloadIcon:an,removeIcon:Vo,previewIcon:Sl,downloadIcon:ds,iconRender:oa,locale:Object.assign(Object.assign({},$a),fa),isImageUrl:ji,progress:Qa,appendAction:Io,appendActionVisible:os,itemRender:Qo,disabled:Jo}):Io,gs=yt()(`${$s}-wrapper`,qo,ll,xu,Ls==null?void 0:Ls.className,{[`${$s}-rtl`]:_s==="rtl",[`${$s}-picture-card-wrapper`]:jr==="picture-card",[`${$s}-picture-circle-wrapper`]:jr==="picture-circle"}),Bs=Object.assign(Object.assign({},Ls==null?void 0:Ls.style),Ci);if(ma==="drag"){const Io=yt()(xu,$s,`${$s}-drag`,{[`${$s}-drag-uploading`]:Zr.some(os=>os.status==="uploading"),[`${$s}-drag-hover`]:xo==="dragover",[`${$s}-disabled`]:Jo,[`${$s}-rtl`]:_s==="rtl"});return zu(ee.createElement("span",{className:gs},ee.createElement("div",{className:Io,style:Bs,onDrop:Qs,onDragOver:Qs,onDragLeave:Qs},ee.createElement(ln,Object.assign({},Ws,{ref:nl,className:`${$s}-btn`}),ee.createElement("div",{className:`${$s}-drag-container`},_o))),bs()))}const Su=yt()($s,`${$s}-select`,{[`${$s}-disabled`]:Jo}),Zu=(Io=>ee.createElement("div",{className:Su,style:Io},ee.createElement(ln,Object.assign({},Ws,{ref:nl}))))(_o?void 0:{display:"none"});return zu(jr==="picture-card"||jr==="picture-circle"?ee.createElement("span",{className:gs},bs(Zu,!!_o)):ee.createElement("span",{className:gs},Zu,bs()))};var vr=ee.forwardRef(Ar),qr=function(Kt,Mn){var zn={};for(var Jn in Kt)Object.prototype.hasOwnProperty.call(Kt,Jn)&&Mn.indexOf(Jn)<0&&(zn[Jn]=Kt[Jn]);if(Kt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var xr=0,Jn=Object.getOwnPropertySymbols(Kt);xr{var{style:zn,height:Jn}=Kt,xr=qr(Kt,["style","height"]);return ee.createElement(vr,Object.assign({ref:Mn},xr,{type:"drag",style:Object.assign(Object.assign({},zn),{height:Jn})}))});const Gn=vr;Gn.Dragger=Nr,Gn.LIST_IGNORE=gr;var Fn=Gn},99498:function(Bn,Wn,ie){(function(ee){ee(ie(89780))})(function(ee){ee.defineOption("placeholder","",function(Se,He,pt){var tt=pt&&pt!=ee.Init;if(He&&!tt)Se.on("blur",Qe),Se.on("change",Je),Se.on("swapDoc",Je),ee.on(Se.getInputField(),"compositionupdate",Se.state.placeholderCompose=function(){yt(Se)}),Je(Se);else if(!He&&tt){Se.off("blur",Qe),Se.off("change",Je),Se.off("swapDoc",Je),ee.off(Se.getInputField(),"compositionupdate",Se.state.placeholderCompose),Oe(Se);var ut=Se.getWrapperElement();ut.className=ut.className.replace(" CodeMirror-empty","")}He&&!Se.hasFocus()&&Qe(Se)});function Oe(Se){Se.state.placeholder&&(Se.state.placeholder.parentNode.removeChild(Se.state.placeholder),Se.state.placeholder=null)}function st(Se){Oe(Se);var He=Se.state.placeholder=document.createElement("pre");He.style.cssText="height: 0; overflow: visible",He.style.direction=Se.getOption("direction"),He.className="CodeMirror-placeholder CodeMirror-line-like";var pt=Se.getOption("placeholder");typeof pt=="string"&&(pt=document.createTextNode(pt)),He.appendChild(pt),Se.display.lineSpace.insertBefore(He,Se.display.lineSpace.firstChild)}function yt(Se){setTimeout(function(){var He=!1,pt=Se.getInputField();pt.nodeName=="TEXTAREA"?He=!pt.value:Se.lineCount()==1&&(He=!/[^\u200b]/.test(pt.querySelector(".CodeMirror-line").textContent)),He?st(Se):Oe(Se)},20)}function Qe(Se){ye(Se)&&st(Se)}function Je(Se){var He=Se.getWrapperElement(),pt=ye(Se);He.className=He.className.replace(" CodeMirror-empty","")+(pt?" CodeMirror-empty":""),pt?st(Se):Oe(Se)}function ye(Se){return Se.lineCount()===1&&Se.getLine(0)===""}})},25717:function(Bn,Wn,ie){(function(ee){ee(ie(89780))})(function(ee){var Oe={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},st=ee.Pos;ee.defineOption("autoCloseBrackets",!1,function(Fe,qe,St){St&&St!=ee.Init&&(Fe.removeKeyMap(Qe),Fe.state.closeBrackets=null),qe&&(Je(yt(qe,"pairs")),Fe.state.closeBrackets=qe,Fe.addKeyMap(Qe))});function yt(Fe,qe){return qe=="pairs"&&typeof Fe=="string"?Fe:typeof Fe=="object"&&Fe[qe]!=null?Fe[qe]:Oe[qe]}var Qe={Backspace:He,Enter:pt};function Je(Fe){for(var qe=0;qe=0;Lt--){var At=jt[Lt].head;Fe.replaceRange("",st(At.line,At.ch-1),st(At.line,At.ch+1),"+delete")}}function pt(Fe){var qe=Se(Fe),St=qe&&yt(qe,"explode");if(!St||Fe.getOption("disableInput"))return ee.Pass;for(var jt=Fe.listSelections(),Lt=0;Lt0;return{anchor:new st(Fe.anchor.line,Fe.anchor.ch+(qe?-1:1)),head:new st(Fe.head.line,Fe.head.ch+(qe?1:-1))}}function ut(Fe,qe){var St=Se(Fe);if(!St||Fe.getOption("disableInput"))return ee.Pass;var jt=yt(St,"pairs"),Lt=jt.indexOf(qe);if(Lt==-1)return ee.Pass;for(var Ut=yt(St,"closeBefore"),At=yt(St,"triples"),Mt=jt.charAt(Lt+1)==qe,je=Fe.listSelections(),gn=Lt%2==0,Nn,rn=0;rn=0&&Fe.getRange(_t,st(_t.line,_t.ch+3))==qe+qe+qe?We="skipThree":We="skip";else if(Mt&&_t.ch>1&&At.indexOf(qe)>=0&&Fe.getRange(st(_t.line,_t.ch-2),_t)==qe+qe){if(_t.ch>2&&/\bstring/.test(Fe.getTokenTypeAt(st(_t.line,_t.ch-2))))return ee.Pass;We="addFour"}else if(Mt){var lt=_t.ch==0?" ":Fe.getRange(st(_t.line,_t.ch-1),_t);if(!ee.isWordChar(Rt)&<!=qe&&!ee.isWordChar(lt))We="both";else return ee.Pass}else if(gn&&(Rt.length===0||/\s/.test(Rt)||Ut.indexOf(Rt)>-1))We="both";else return ee.Pass;if(!Nn)Nn=We;else if(Nn!=We)return ee.Pass}var dn=Lt%2?jt.charAt(Lt-1):qe,ln=Lt%2?qe:jt.charAt(Lt+1);Fe.operation(function(){if(Nn=="skip")Fe.execCommand("goCharRight");else if(Nn=="skipThree")for(var tn=0;tn<3;tn++)Fe.execCommand("goCharRight");else if(Nn=="surround"){for(var lr=Fe.getSelections(),tn=0;tn'"]=function(ht){return yt(ht)}),He.addKeyMap(ut)}});var Oe=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],st=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];function yt(He){if(He.getOption("disableInput"))return ee.Pass;for(var pt=He.listSelections(),tt=[],ut=He.getOption("autoCloseTags"),ht=0;htot.ch&&(Lt=Lt.slice(0,Lt.length-Fe.end+ot.ch));var je=Lt.toLowerCase();if(!Lt||Fe.type=="string"&&(Fe.end!=ot.ch||!/[\"\']/.test(Fe.string.charAt(Fe.string.length-1))||Fe.string.length==1)||Fe.type=="tag"&&jt.close||Fe.string.indexOf("/")==ot.ch-Fe.start-1||At&&ye(At,je)>-1||Se(He,qe.mode.xmlCurrentContext&&qe.mode.xmlCurrentContext(St)||[],Lt,ot,!0))return ee.Pass;var gn=typeof ut=="object"&&ut.emptyTags;if(gn&&ye(gn,Lt)>-1){tt[ht]={text:"/>",newPos:ee.Pos(ot.line,ot.ch+2)};continue}var Nn=Mt&&ye(Mt,je)>-1;tt[ht]={indent:Nn,text:">"+(Nn?` + +`:"")+"",newPos:Nn?ee.Pos(ot.line+1,0):ee.Pos(ot.line,ot.ch+1)}}for(var rn=typeof ut=="object"&&ut.dontIndentOnAutoClose,ht=pt.length-1;ht>=0;ht--){var Et=tt[ht];He.replaceRange(Et.text,pt[ht].head,pt[ht].anchor,"+insert");var _t=He.listSelections().slice(0);_t[ht]={head:Et.newPos,anchor:Et.newPos},He.setSelections(_t),!rn&&Et.indent&&(He.indentLine(Et.newPos.line,null,!0),He.indentLine(Et.newPos.line+1,null,!0))}}function Qe(He,pt){for(var tt=He.listSelections(),ut=[],ht=pt?"/":""&&(At+=">"),ut[qe]=At}if(He.replaceSelections(ut),tt=He.listSelections(),!Fe)for(var qe=0;qe=0&&pt[St]==tt;St--)++qe;ut=Fe.to;for(var St=1;St=St.max))return St.ch=0,St.text=St.cm.getLine(++St.line),!0}function pt(St){if(!(St.line<=St.min))return St.text=St.cm.getLine(--St.line),St.ch=St.text.length,!0}function tt(St){for(;;){var jt=St.text.indexOf(">",St.ch);if(jt==-1){if(He(St))continue;return}if(!Se(St,jt+1)){St.ch=jt+1;continue}var Lt=St.text.lastIndexOf("/",jt),Ut=Lt>-1&&!/\S/.test(St.text.slice(Lt+1,jt));return St.ch=jt+1,Ut?"selfClose":"regular"}}function ut(St){for(;;){var jt=St.ch?St.text.lastIndexOf("<",St.ch-1):-1;if(jt==-1){if(pt(St))continue;return}if(!Se(St,jt+1)){St.ch=jt;continue}Je.lastIndex=jt,St.ch=jt;var Lt=Je.exec(St.text);if(Lt&&Lt.index==jt)return Lt}}function ht(St){for(;;){Je.lastIndex=St.ch;var jt=Je.exec(St.text);if(!jt){if(He(St))continue;return}if(!Se(St,jt.index+1)){St.ch=jt.index+1;continue}return St.ch=jt.index+jt[0].length,jt}}function ot(St){for(;;){var jt=St.ch?St.text.lastIndexOf(">",St.ch-1):-1;if(jt==-1){if(pt(St))continue;return}if(!Se(St,jt+1)){St.ch=jt;continue}var Lt=St.text.lastIndexOf("/",jt),Ut=Lt>-1&&!/\S/.test(St.text.slice(Lt+1,jt));return St.ch=jt+1,Ut?"selfClose":"regular"}}function Fe(St,jt){for(var Lt=[];;){var Ut=ht(St),At,Mt=St.line,je=St.ch-(Ut?Ut[0].length:0);if(!Ut||!(At=tt(St)))return;if(At!="selfClose")if(Ut[1]){for(var gn=Lt.length-1;gn>=0;--gn)if(Lt[gn]==Ut[2]){Lt.length=gn;break}if(gn<0&&(!jt||jt==Ut[2]))return{tag:Ut[2],from:Oe(Mt,je),to:Oe(St.line,St.ch)}}else Lt.push(Ut[2])}}function qe(St,jt){for(var Lt=[];;){var Ut=ot(St);if(!Ut)return;if(Ut=="selfClose"){ut(St);continue}var At=St.line,Mt=St.ch,je=ut(St);if(!je)return;if(je[1])Lt.push(je[2]);else{for(var gn=Lt.length-1;gn>=0;--gn)if(Lt[gn]==je[2]){Lt.length=gn;break}if(gn<0&&(!jt||jt==je[2]))return{tag:je[2],from:Oe(St.line,St.ch),to:Oe(At,Mt)}}}}ee.registerHelper("fold","xml",function(St,jt){for(var Lt=new ye(St,jt.line,0);;){var Ut=ht(Lt);if(!Ut||Lt.line!=jt.line)return;var At=tt(Lt);if(!At)return;if(!Ut[1]&&At!="selfClose"){var Mt=Oe(Lt.line,Lt.ch),je=Fe(Lt,Ut[2]);return je&&st(je.from,Mt)>0?{from:Mt,to:je.from}:null}}}),ee.findMatchingTag=function(St,jt,Lt){var Ut=new ye(St,jt.line,jt.ch,Lt);if(!(Ut.text.indexOf(">")==-1&&Ut.text.indexOf("<")==-1)){var At=tt(Ut),Mt=At&&Oe(Ut.line,Ut.ch),je=At&&ut(Ut);if(!(!At||!je||st(Ut,jt)>0)){var gn={from:Oe(Ut.line,Ut.ch),to:Mt,tag:je[2]};return At=="selfClose"?{open:gn,close:null,at:"open"}:je[1]?{open:qe(Ut,je[2]),close:gn,at:"close"}:(Ut=new ye(St,Mt.line,Mt.ch,Lt),{open:gn,close:Fe(Ut,je[2]),at:"open"})}}},ee.findEnclosingTag=function(St,jt,Lt,Ut){for(var At=new ye(St,jt.line,jt.ch,Lt);;){var Mt=qe(At,Ut);if(!Mt)break;var je=new ye(St,jt.line,jt.ch,Lt),gn=Fe(je,Mt.tag);if(gn)return{open:Mt,close:gn}}},ee.scanForClosingTag=function(St,jt,Lt,Ut){var At=new ye(St,jt.line,jt.ch,Ut?{from:0,to:Ut}:null);return Fe(At,Lt)}})},89780:function(Bn){(function(Wn,ie){Bn.exports=ie()})(this,function(){"use strict";var Wn=navigator.userAgent,ie=navigator.platform,ee=/gecko\/\d/i.test(Wn),Oe=/MSIE \d/.test(Wn),st=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Wn),yt=/Edge\/(\d+)/.exec(Wn),Qe=Oe||st||yt,Je=Qe&&(Oe?document.documentMode||6:+(yt||st)[1]),ye=!yt&&/WebKit\//.test(Wn),Se=ye&&/Qt\/\d+\.\d+/.test(Wn),He=!yt&&/Chrome\//.test(Wn),pt=/Opera\//.test(Wn),tt=/Apple Computer/.test(navigator.vendor),ut=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(Wn),ht=/PhantomJS/.test(Wn),ot=!yt&&/AppleWebKit/.test(Wn)&&/Mobile\/\w+/.test(Wn),Fe=/Android/.test(Wn),qe=ot||Fe||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(Wn),St=ot||/Mac/.test(ie),jt=/\bCrOS\b/.test(Wn),Lt=/win/i.test(ie),Ut=pt&&Wn.match(/Version\/(\d*\.\d*)/);Ut&&(Ut=Number(Ut[1])),Ut&&Ut>=15&&(pt=!1,ye=!0);var At=St&&(Se||pt&&(Ut==null||Ut<12.11)),Mt=ee||Qe&&Je>=9;function je(x){return new RegExp("(^|\\s)"+x+"(?:$|\\s)\\s*")}var gn=function(x,z){var re=x.className,ne=je(z).exec(re);if(ne){var le=re.slice(ne.index+ne[0].length);x.className=re.slice(0,ne.index)+(le?ne[1]+le:"")}};function Nn(x){for(var z=x.childNodes.length;z>0;--z)x.removeChild(x.firstChild);return x}function rn(x,z){return Nn(x).appendChild(z)}function Et(x,z,re,ne){var le=document.createElement(x);if(re&&(le.className=re),ne&&(le.style.cssText=ne),typeof z=="string")le.appendChild(document.createTextNode(z));else if(z)for(var ge=0;ge=z)return Ie+(z-ge);Ie+=Ue-ge,Ie+=re-Ie%re,ge=Ue+1}}var Le=function(){this.id=null,this.f=null,this.time=0,this.handler=lr(this.onTimeout,this)};Le.prototype.onTimeout=function(x){x.id=0,x.time<=+new Date?x.f():setTimeout(x.handler,x.time-+new Date)},Le.prototype.set=function(x,z){this.f=z;var re=+new Date+x;(!this.id||re=z)return ne+Math.min(Ie,z-le);if(le+=ge-ne,le+=re-le%re,ne=ge+1,le>=z)return ne}}var sn=[""];function An(x){for(;sn.length<=x;)sn.push(Cn(sn)+" ");return sn[x]}function Cn(x){return x[x.length-1]}function Pn(x,z){for(var re=[],ne=0;ne"\x80"&&(x.toUpperCase()!=x.toLowerCase()||he.test(x))}function Re(x,z){return z?z.source.indexOf("\\w")>-1&&we(x)?!0:z.test(x):we(x)}function fe(x){for(var z in x)if(x.hasOwnProperty(z)&&x[z])return!1;return!0}var wt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function en(x){return x.charCodeAt(0)>=768&&wt.test(x)}function mt(x,z,re){for(;(re<0?z>0:zre?-1:1;;){if(z==re)return z;var le=(z+re)/2,ge=ne<0?Math.ceil(le):Math.floor(le);if(ge==z)return x(ge)?z:re;x(ge)?re=ge:z=ge+ne}}function On(x,z,re,ne){if(!x)return ne(z,re,"ltr",0);for(var le=!1,ge=0;gez||z==re&&Ie.to==z)&&(ne(Math.max(Ie.from,z),Math.min(Ie.to,re),Ie.level==1?"rtl":"ltr",ge),le=!0)}le||ne(z,re,"ltr")}var yn=null;function Qt(x,z,re){var ne;yn=null;for(var le=0;lez)return le;ge.to==z&&(ge.from!=ge.to&&re=="before"?ne=le:yn=le),ge.from==z&&(ge.from!=ge.to&&re!="before"?ne=le:yn=le)}return ne!=null?ne:yn}var pr=function(){var x="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",z="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function re(vt){return vt<=247?x.charAt(vt):1424<=vt&&vt<=1524?"R":1536<=vt&&vt<=1785?z.charAt(vt-1536):1774<=vt&&vt<=2220?"r":8192<=vt&&vt<=8203?"w":vt==8204?"b":"L"}var ne=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,le=/[stwN]/,ge=/[LRr]/,Ie=/[Lb1n]/,Ue=/[1n]/;function it(vt,In,er){this.level=vt,this.from=In,this.to=er}return function(vt,In){var er=In=="ltr"?"L":"R";if(vt.length==0||In=="ltr"&&!ne.test(vt))return!1;for(var Ur=vt.length,Qr=[],Ki=0;Ki-1&&(ne[z]=le.slice(0,ge).concat(le.slice(ge+1)))}}}function Tt(x,z){var re=ei(x,z);if(re.length)for(var ne=Array.prototype.slice.call(arguments,2),le=0;le0}function Jr(x){x.prototype.on=function(z,re){dr(this,z,re)},x.prototype.off=function(z,re){Ht(this,z,re)}}function Ii(x){x.preventDefault?x.preventDefault():x.returnValue=!1}function ii(x){x.stopPropagation?x.stopPropagation():x.cancelBubble=!0}function ea(x){return x.defaultPrevented!=null?x.defaultPrevented:x.returnValue==!1}function vo(x){Ii(x),ii(x)}function Ha(x){return x.target||x.srcElement}function Hi(x){var z=x.which;return z==null&&(x.button&1?z=1:x.button&2?z=3:x.button&4&&(z=2)),St&&x.ctrlKey&&z==1&&(z=3),z}var wi=function(){if(Qe&&Je<9)return!1;var x=Et("div");return"draggable"in x||"dragDrop"in x}(),Zo;function yo(x){if(Zo==null){var z=Et("span","\u200B");rn(x,Et("span",[z,document.createTextNode("x")])),x.firstChild.offsetHeight!=0&&(Zo=z.offsetWidth<=1&&z.offsetHeight>2&&!(Qe&&Je<8))}var re=Zo?Et("span","\u200B"):Et("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return re.setAttribute("cm-text",""),re}var Pa;function Na(x){if(Pa!=null)return Pa;var z=rn(x,document.createTextNode("A\u062EA")),re=We(z,0,1).getBoundingClientRect(),ne=We(z,1,2).getBoundingClientRect();return Nn(x),!re||re.left==re.right?!1:Pa=ne.right-re.right<3}var Br=` + +b`.split(/\n/).length!=3?function(x){for(var z=0,re=[],ne=x.length;z<=ne;){var le=x.indexOf(` +`,z);le==-1&&(le=x.length);var ge=x.slice(z,x.charAt(le-1)=="\r"?le-1:le),Ie=ge.indexOf("\r");Ie!=-1?(re.push(ge.slice(0,Ie)),z+=Ie+1):(re.push(ge),z=le+1)}return re}:function(x){return x.split(/\r\n?|\n/)},Tn=window.getSelection?function(x){try{return x.selectionStart!=x.selectionEnd}catch(z){return!1}}:function(x){var z;try{z=x.ownerDocument.selection.createRange()}catch(re){}return!z||z.parentElement()!=x?!1:z.compareEndPoints("StartToEnd",z)!=0},Fr=function(){var x=Et("div");return"oncopy"in x?!0:(x.setAttribute("oncopy","return;"),typeof x.oncopy=="function")}(),ki=null;function Vt(x){if(ki!=null)return ki;var z=rn(x,Et("span","x")),re=z.getBoundingClientRect(),ne=We(z,0,1).getBoundingClientRect();return ki=Math.abs(re.left-ne.left)>1}var Vn={},wr={};function Yn(x,z){arguments.length>2&&(z.dependencies=Array.prototype.slice.call(arguments,2)),Vn[x]=z}function Pr(x,z){wr[x]=z}function br(x){if(typeof x=="string"&&wr.hasOwnProperty(x))x=wr[x];else if(x&&typeof x.name=="string"&&wr.hasOwnProperty(x.name)){var z=wr[x.name];typeof z=="string"&&(z={name:z}),x=ve(z,x),x.name=z.name}else{if(typeof x=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(x))return br("application/xml");if(typeof x=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(x))return br("application/json")}return typeof x=="string"?{name:x}:x||{name:"null"}}function kr(x,z){z=br(z);var re=Vn[z.name];if(!re)return kr(x,"text/plain");var ne=re(x,z);if(vi.hasOwnProperty(z.name)){var le=vi[z.name];for(var ge in le)le.hasOwnProperty(ge)&&(ne.hasOwnProperty(ge)&&(ne["_"+ge]=ne[ge]),ne[ge]=le[ge])}if(ne.name=z.name,z.helperType&&(ne.helperType=z.helperType),z.modeProps)for(var Ie in z.modeProps)ne[Ie]=z.modeProps[Ie];return ne}var vi={};function at(x,z){var re=vi.hasOwnProperty(x)?vi[x]:vi[x]={};Dr(z,re)}function De(x,z){if(z===!0)return z;if(x.copyState)return x.copyState(z);var re={};for(var ne in z){var le=z[ne];le instanceof Array&&(le=le.concat([])),re[ne]=le}return re}function nt(x,z){for(var re;x.innerMode&&(re=x.innerMode(z),!(!re||re.mode==x));)z=re.state,x=re.mode;return re||{mode:x,state:z}}function Ot(x,z,re){return x.startState?x.startState(z,re):!0}var xn=function(x,z,re){this.pos=this.start=0,this.string=x,this.tabSize=z||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=re};xn.prototype.eol=function(){return this.pos>=this.string.length},xn.prototype.sol=function(){return this.pos==this.lineStart},xn.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},xn.prototype.next=function(){if(this.posz},xn.prototype.eatSpace=function(){for(var x=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>x},xn.prototype.skipToEnd=function(){this.pos=this.string.length},xn.prototype.skipTo=function(x){var z=this.string.indexOf(x,this.pos);if(z>-1)return this.pos=z,!0},xn.prototype.backUp=function(x){this.pos-=x},xn.prototype.column=function(){return this.lastColumnPos0?null:(ge&&z!==!1&&(this.pos+=ge[0].length),ge)}},xn.prototype.current=function(){return this.string.slice(this.start,this.pos)},xn.prototype.hideFirstChars=function(x,z){this.lineStart+=x;try{return z()}finally{this.lineStart-=x}},xn.prototype.lookAhead=function(x){var z=this.lineOracle;return z&&z.lookAhead(x)},xn.prototype.baseToken=function(){var x=this.lineOracle;return x&&x.baseToken(this.pos)};function wn(x,z){if(z-=x.first,z<0||z>=x.size)throw new Error("There is no line "+(z+x.first)+" in the document.");for(var re=x;!re.lines;)for(var ne=0;;++ne){var le=re.children[ne],ge=le.chunkSize();if(z=x.first&&zre?Gn(re,wn(x,re).text.length):jr(z,wn(x,z.line).text.length)}function jr(x,z){var re=x.ch;return re==null||re>z?Gn(x.line,z):re<0?Gn(x.line,0):x}function pn(x,z){for(var re=[],ne=0;nethis.maxLookAhead&&(this.maxLookAhead=x),z},Ai.prototype.baseToken=function(x){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=x;)this.baseTokenPos+=2;var z=this.baseTokens[this.baseTokenPos+1];return{type:z&&z.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-x}},Ai.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Ai.fromSaved=function(x,z,re){return z instanceof ni?new Ai(x,De(x.mode,z.state),re,z.lookAhead):new Ai(x,De(x.mode,z),re)},Ai.prototype.save=function(x){var z=x!==!1?De(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ni(z,this.maxLookAhead):z};function Ni(x,z,re,ne){var le=[x.state.modeGen],ge={};ma(x,z.text,x.doc.mode,re,function(vt,In){return le.push(vt,In)},ge,ne);for(var Ie=re.state,Ue=function(vt){re.baseTokens=le;var In=x.state.overlays[vt],er=1,Ur=0;re.state=!0,ma(x,z.text,In.mode,re,function(Qr,Ki){for(var wa=er;UrQr&&le.splice(er,1,Qr,le[er+1],uo),er+=2,Ur=Math.min(Qr,uo)}if(Ki)if(In.opaque)le.splice(wa,er-wa,Qr,"overlay "+Ki),er=wa+2;else for(;wax.options.maxHighlightLength&&De(x.doc.mode,ne.state),ge=Ni(x,z,ne);le&&(ne.state=le),z.stateAfter=ne.save(!le),z.styles=ge.styles,ge.classes?z.styleClasses=ge.classes:z.styleClasses&&(z.styleClasses=null),re===x.doc.highlightFrontier&&(x.doc.modeFrontier=Math.max(x.doc.modeFrontier,++x.doc.highlightFrontier))}return z.styles}function Ji(x,z,re){var ne=x.doc,le=x.display;if(!ne.mode.startState)return new Ai(ne,!0,z);var ge=_o(x,z,re),Ie=ge>ne.first&&wn(ne,ge-1).stateAfter,Ue=Ie?Ai.fromSaved(ne,Ie,ge):new Ai(ne,Ot(ne.mode),ge);return ne.iter(ge,z,function(it){fa(x,it.text,Ue);var vt=Ue.line;it.stateAfter=vt==z-1||vt%5==0||vt>=le.viewFrom&&vtz.start)return ge}throw new Error("Mode "+x.name+" failed to advance stream.")}var Qa=function(x,z,re){this.start=x.start,this.end=x.pos,this.string=x.current(),this.type=z||null,this.state=re};function Fa(x,z,re,ne){var le=x.doc,ge=le.mode,Ie;z=$n(le,z);var Ue=wn(le,z.line),it=Ji(x,z.line,re),vt=new xn(Ue.text,x.options.tabSize,it),In;for(ne&&(In=[]);(ne||vt.posx.options.maxHighlightLength?(Ue=!1,Ie&&fa(x,z,ne,In.pos),In.pos=z.length,er=null):er=qo(ji(re,In,ne.state,Ur),ge),Ur){var Qr=Ur[0].name;Qr&&(er="m-"+(er?Qr+" "+er:Qr))}if(!Ue||vt!=er){for(;itIe;--Ue){if(Ue<=ge.first)return ge.first;var it=wn(ge,Ue-1),vt=it.stateAfter;if(vt&&(!re||Ue+(vt instanceof ni?vt.lookAhead:0)<=ge.modeFrontier))return Ue;var In=ft(it.text,null,x.options.tabSize);(le==null||ne>In)&&(le=Ue-1,ne=In)}return le}function Ci(x,z){if(x.modeFrontier=Math.min(x.modeFrontier,z),!(x.highlightFrontierre;ne--){var le=wn(x,ne).stateAfter;if(le&&(!(le instanceof ni)||ne+le.lookAhead=z:ge.to>z);(ne||(ne=[])).push(new Go(Ie,ge.from,it?null:ge.to))}}return ne}function Jo(x,z,re){var ne;if(x)for(var le=0;le=z:ge.to>z);if(Ue||ge.from==z&&Ie.type=="bookmark"&&(!re||ge.marker.insertLeft)){var it=ge.from==null||(Ie.inclusiveLeft?ge.from<=z:ge.from0&&Ue)for(var gl=0;gl0)){var In=[it,1],er=Fn(vt.from,Ue.from),Ur=Fn(vt.to,Ue.to);(er<0||!Ie.inclusiveLeft&&!er)&&In.push({from:vt.from,to:Ue.from}),(Ur>0||!Ie.inclusiveRight&&!Ur)&&In.push({from:Ue.to,to:vt.to}),le.splice.apply(le,In),it+=In.length-3}}return le}function jo(x){var z=x.markedSpans;if(z){for(var re=0;rez)&&(!ne||ra(ne,ge.marker)<0)&&(ne=ge.marker)}return ne}function Qs(x,z,re,ne,le){var ge=wn(x,z),Ie=ol&&ge.markedSpans;if(Ie)for(var Ue=0;Ue=0&&er<=0||In<=0&&er>=0)&&(In<=0&&(it.marker.inclusiveRight&&le.inclusiveLeft?Fn(vt.to,re)>=0:Fn(vt.to,re)>0)||In>=0&&(it.marker.inclusiveRight&&le.inclusiveLeft?Fn(vt.from,ne)<=0:Fn(vt.from,ne)<0)))return!0}}}function Au(x){for(var z;z=Fl(x);)x=z.find(-1,!0).line;return x}function _s(x){for(var z;z=pl(x);)x=z.find(1,!0).line;return x}function Ls(x){for(var z,re;z=pl(x);)x=z.find(1,!0).line,(re||(re=[])).push(x);return re}function $s(x,z){var re=wn(x,z),ne=Au(re);return re==ne?z:vr(ne)}function Ws(x,z){if(z>x.lastLine())return z;var re=wn(x,z),ne;if(!zu(x,re))return z;for(;ne=pl(re);)re=ne.find(1,!0).line;return vr(re)+1}function zu(x,z){var re=ol&&z.markedSpans;if(re){for(var ne=void 0,le=0;lez.maxLineLength&&(z.maxLineLength=le,z.maxLine=ne)})}var an=function(x,z,re){this.text=x,nl(this,z),this.height=re?re(this):1};an.prototype.lineNo=function(){return vr(this)},Jr(an);function Vo(x,z,re,ne){x.text=z,x.stateAfter&&(x.stateAfter=null),x.styles&&(x.styles=null),x.order!=null&&(x.order=null),jo(x),nl(x,re);var le=ne?ne(x):1;le!=x.height&&fr(x,le)}function Sl(x){x.parent=null,jo(x)}var ds={},bs={};function gs(x,z){if(!x||/^\s*$/.test(x))return null;var re=z.addModeClass?bs:ds;return re[x]||(re[x]=x.replace(/\S+/g,"cm-$&"))}function Bs(x,z){var re=_t("span",null,null,ye?"padding-right: .1px":null),ne={pre:_t("pre",[re],"CodeMirror-line"),content:re,col:0,pos:0,cm:x,trailingSpace:!1,splitSpaces:x.getOption("lineWrapping")};z.measure={};for(var le=0;le<=(z.rest?z.rest.length:0);le++){var ge=le?z.rest[le-1]:z.line,Ie=void 0;ne.pos=0,ne.addToken=Vs,Na(x.display.measure)&&(Ie=Vr(ge,x.doc.direction))&&(ne.addToken=Io(ne.addToken,Ie)),ne.map=[];var Ue=z!=x.display.externalMeasured&&vr(ge);gu(ge,ne,bi(x,ge,Ue)),ge.styleClasses&&(ge.styleClasses.bgClass&&(ne.bgClass=ln(ge.styleClasses.bgClass,ne.bgClass||"")),ge.styleClasses.textClass&&(ne.textClass=ln(ge.styleClasses.textClass,ne.textClass||""))),ne.map.length==0&&ne.map.push(0,0,ne.content.appendChild(yo(x.display.measure))),le==0?(z.measure.map=ne.map,z.measure.cache={}):((z.measure.maps||(z.measure.maps=[])).push(ne.map),(z.measure.caches||(z.measure.caches=[])).push({}))}if(ye){var it=ne.content.lastChild;(/\bcm-tab\b/.test(it.className)||it.querySelector&&it.querySelector(".cm-tab"))&&(ne.content.className="cm-tab-wrap-hack")}return Tt(x,"renderLine",x,z.line,ne.pre),ne.pre.className&&(ne.textClass=ln(ne.pre.className,ne.textClass||"")),ne}function Su(x){var z=Et("span","\u2022","cm-invalidchar");return z.title="\\u"+x.charCodeAt(0).toString(16),z.setAttribute("aria-label",z.title),z}function Vs(x,z,re,ne,le,ge,Ie){if(z){var Ue=x.splitSpaces?Zu(z,x.trailingSpace):z,it=x.cm.state.specialChars,vt=!1,In;if(!it.test(z))x.col+=z.length,In=document.createTextNode(Ue),x.map.push(x.pos,x.pos+z.length,In),Qe&&Je<9&&(vt=!0),x.pos+=z.length;else{In=document.createDocumentFragment();for(var er=0;;){it.lastIndex=er;var Ur=it.exec(z),Qr=Ur?Ur.index-er:z.length-er;if(Qr){var Ki=document.createTextNode(Ue.slice(er,er+Qr));Qe&&Je<9?In.appendChild(Et("span",[Ki])):In.appendChild(Ki),x.map.push(x.pos,x.pos+Qr,Ki),x.col+=Qr,x.pos+=Qr}if(!Ur)break;er+=Qr+1;var wa=void 0;if(Ur[0]==" "){var uo=x.cm.options.tabSize,Mo=uo-x.col%uo;wa=In.appendChild(Et("span",An(Mo),"cm-tab")),wa.setAttribute("role","presentation"),wa.setAttribute("cm-text"," "),x.col+=Mo}else Ur[0]=="\r"||Ur[0]==` +`?(wa=In.appendChild(Et("span",Ur[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),wa.setAttribute("cm-text",Ur[0]),x.col+=1):(wa=x.cm.options.specialCharPlaceholder(Ur[0]),wa.setAttribute("cm-text",Ur[0]),Qe&&Je<9?In.appendChild(Et("span",[wa])):In.appendChild(wa),x.col+=1);x.map.push(x.pos,x.pos+1,wa),x.pos++}}if(x.trailingSpace=Ue.charCodeAt(z.length-1)==32,re||ne||le||vt||ge||Ie){var cl=re||"";ne&&(cl+=ne),le&&(cl+=le);var To=Et("span",[In],cl,ge);if(Ie)for(var gl in Ie)Ie.hasOwnProperty(gl)&&gl!="style"&&gl!="class"&&To.setAttribute(gl,Ie[gl]);return x.content.appendChild(To)}x.content.appendChild(In)}}function Zu(x,z){if(x.length>1&&!/ /.test(x))return x;for(var re=z,ne="",le=0;levt&&er.from<=vt));Ur++);if(er.to>=In)return x(re,ne,le,ge,Ie,Ue,it);x(re,ne.slice(0,er.to-vt),le,ge,null,Ue,it),ge=null,ne=ne.slice(er.to-vt),vt=er.to}}}function os(x,z,re,ne){var le=!ne&&re.widgetNode;le&&x.map.push(x.pos,x.pos+z,le),!ne&&x.cm.display.input.needsContentAttribute&&(le||(le=x.content.appendChild(document.createElement("span"))),le.setAttribute("cm-marker",re.id)),le&&(x.cm.display.input.setUneditable(le),x.content.appendChild(le)),x.pos+=z,x.trailingSpace=!1}function gu(x,z,re){var ne=x.markedSpans,le=x.text,ge=0;if(!ne){for(var Ie=1;Ieit||au.collapsed&&es.to==it&&es.from==it)){if(es.to!=null&&es.to!=it&&Qr>es.to&&(Qr=es.to,wa=""),au.className&&(Ki+=" "+au.className),au.css&&(Ur=(Ur?Ur+";":"")+au.css),au.startStyle&&es.from==it&&(uo+=" "+au.startStyle),au.endStyle&&es.to==Qr&&(gl||(gl=[])).push(au.endStyle,es.to),au.title&&((cl||(cl={})).title=au.title),au.attributes)for(var Gu in au.attributes)(cl||(cl={}))[Gu]=au.attributes[Gu];au.collapsed&&(!Mo||ra(Mo.marker,au)<0)&&(Mo=es)}else es.from>it&&Qr>es.from&&(Qr=es.from)}if(gl)for(var Fc=0;Fc=Ue)break;for(var nd=Math.min(Ue,Qr);;){if(In){var Jc=it+In.length;if(!Mo){var wc=Jc>nd?In.slice(0,nd-it):In;z.addToken(z,wc,er?er+Ki:Ki,uo,it+wc.length==Qr?wa:"",Ur,cl)}if(Jc>=nd){In=In.slice(nd-it),it=nd;break}it=Jc,uo=""}In=le.slice(ge,ge=re[vt++]),er=gs(re[vt++],z.cm.options)}}}function Ho(x,z,re){this.line=z,this.rest=Ls(z),this.size=this.rest?vr(Cn(this.rest))-re+1:1,this.node=this.text=null,this.hidden=zu(x,z)}function sl(x,z,re){for(var ne=[],le,ge=z;ge2&&ge.push((it.bottom+vt.top)/2-re.top)}}ge.push(re.bottom-re.top)}}function ql(x,z,re){if(x.line==z)return{map:x.measure.map,cache:x.measure.cache};for(var ne=0;nere)return{map:x.measure.maps[le],cache:x.measure.caches[le],before:!0}}function ru(x,z){z=Au(z);var re=vr(z),ne=x.display.externalMeasured=new Ho(x.doc,z,re);ne.lineN=re;var le=ne.built=Bs(x,ne);return ne.text=le.pre,rn(x.display.lineMeasure,le.pre),ne}function Mu(x,z,re,ne){return Kl(x,fs(x,z),re,ne)}function Fo(x,z){if(z>=x.display.viewFrom&&z=re.lineN&&zz)&&(ge=it-Ue,le=ge-1,z>=it&&(Ie="right")),le!=null){if(ne=x[vt+2],Ue==it&&re==(ne.insertLeft?"left":"right")&&(Ie=re),re=="left"&&le==0)for(;vt&&x[vt-2]==x[vt-3]&&x[vt-1].insertLeft;)ne=x[(vt-=3)+2],Ie="left";if(re=="right"&&le==it-Ue)for(;vt=0&&(re=x[le]).left==re.right;le--);return re}function As(x,z,re,ne){var le=eo(z.map,re,ne),ge=le.node,Ie=le.start,Ue=le.end,it=le.collapse,vt;if(ge.nodeType==3){for(var In=0;In<4;In++){for(;Ie&&en(z.line.text.charAt(le.coverStart+Ie));)--Ie;for(;le.coverStart+Ue0&&(it=ne="right");var er;x.options.lineWrapping&&(er=ge.getClientRects()).length>1?vt=er[ne=="right"?er.length-1:0]:vt=ge.getBoundingClientRect()}if(Qe&&Je<9&&!Ie&&(!vt||!vt.left&&!vt.right)){var Ur=ge.parentNode.getClientRects()[0];Ur?vt={left:Ur.left,right:Ur.left+to(x.display),top:Ur.top,bottom:Ur.bottom}:vt=Fs}for(var Qr=vt.top-z.rect.top,Ki=vt.bottom-z.rect.top,wa=(Qr+Ki)/2,uo=z.view.measure.heights,Mo=0;Mo=ne.text.length?(it=ne.text.length,vt="before"):it<=0&&(it=0,vt="after"),!Ue)return Ie(vt=="before"?it-1:it,vt=="before");function In(Ki,wa,uo){var Mo=Ue[wa],cl=Mo.level==1;return Ie(uo?Ki-1:Ki,cl!=uo)}var er=Qt(Ue,it,vt),Ur=yn,Qr=In(it,er,vt=="before");return Ur!=null&&(Qr.other=In(it,Ur,vt!="before")),Qr}function xs(x,z){var re=0;z=$n(x.doc,z),x.options.lineWrapping||(re=to(x.display)*z.ch);var ne=wn(x.doc,z.line),le=$a(ne)+il(x.display);return{left:re,right:re,top:le,bottom:le+ne.height}}function vl(x,z,re,ne,le){var ge=Gn(x,z,re);return ge.xRel=le,ne&&(ge.outside=ne),ge}function jl(x,z,re){var ne=x.doc;if(re+=x.display.viewOffset,re<0)return vl(ne.first,0,null,-1,-1);var le=qr(ne,re),ge=ne.first+ne.size-1;if(le>ge)return vl(ne.first+ne.size-1,wn(ne,ge).text.length,null,1,1);z<0&&(z=0);for(var Ie=wn(ne,le);;){var Ue=vs(x,Ie,le,z,re),it=su(Ie,Ue.ch+(Ue.xRel>0||Ue.outside>0?1:0));if(!it)return Ue;var vt=it.find(1);if(vt.line==le)return vt;Ie=wn(ne,le=vt.line)}}function ts(x,z,re,ne){ne-=Wi(z);var le=z.text.length,ge=xt(function(Ie){return Kl(x,re,Ie-1).bottom<=ne},le,0);return le=xt(function(Ie){return Kl(x,re,Ie).top>ne},ge,le),{begin:ge,end:le}}function Ss(x,z,re,ne){re||(re=fs(x,z));var le=Bl(x,z,Kl(x,re,ne),"line").top;return ts(x,z,re,le)}function ks(x,z,re,ne){return x.bottom<=re?!1:x.top>re?!0:(ne?x.left:x.right)>z}function vs(x,z,re,ne,le){le-=$a(z);var ge=fs(x,z),Ie=Wi(z),Ue=0,it=z.text.length,vt=!0,In=Vr(z,x.doc.direction);if(In){var er=(x.options.lineWrapping?$u:Hu)(x,z,re,ge,In,ne,le);vt=er.level!=1,Ue=vt?er.from:er.to-1,it=vt?er.to:er.from-1}var Ur=null,Qr=null,Ki=xt(function(Wl){var es=Kl(x,ge,Wl);return es.top+=Ie,es.bottom+=Ie,ks(es,ne,le,!1)?(es.top<=le&&es.left<=ne&&(Ur=Wl,Qr=es),!0):!1},Ue,it),wa,uo,Mo=!1;if(Qr){var cl=ne-Qr.left=gl.bottom?1:0}return Ki=mt(z.text,Ki,1),vl(re,Ki,uo,Mo,ne-wa)}function Hu(x,z,re,ne,le,ge,Ie){var Ue=xt(function(er){var Ur=le[er],Qr=Ur.level!=1;return ks(hs(x,Gn(re,Qr?Ur.to:Ur.from,Qr?"before":"after"),"line",z,ne),ge,Ie,!0)},0,le.length-1),it=le[Ue];if(Ue>0){var vt=it.level!=1,In=hs(x,Gn(re,vt?it.from:it.to,vt?"after":"before"),"line",z,ne);ks(In,ge,Ie,!0)&&In.top>Ie&&(it=le[Ue-1])}return it}function $u(x,z,re,ne,le,ge,Ie){var Ue=ts(x,z,ne,Ie),it=Ue.begin,vt=Ue.end;/\s/.test(z.text.charAt(vt-1))&&vt--;for(var In=null,er=null,Ur=0;Ur=vt||Qr.to<=it)){var Ki=Qr.level!=1,wa=Kl(x,ne,Ki?Math.min(vt,Qr.to)-1:Math.max(it,Qr.from)).right,uo=wauo)&&(In=Qr,er=uo)}}return In||(In=le[le.length-1]),In.fromvt&&(In={from:In.from,to:vt,level:In.level}),In}var Wu;function ss(x){if(x.cachedTextHeight!=null)return x.cachedTextHeight;if(Wu==null){Wu=Et("pre",null,"CodeMirror-line-like");for(var z=0;z<49;++z)Wu.appendChild(document.createTextNode("x")),Wu.appendChild(Et("br"));Wu.appendChild(document.createTextNode("x"))}rn(x.measure,Wu);var re=Wu.offsetHeight/50;return re>3&&(x.cachedTextHeight=re),Nn(x.measure),re||1}function to(x){if(x.cachedCharWidth!=null)return x.cachedCharWidth;var z=Et("span","xxxxxxxxxx"),re=Et("pre",[z],"CodeMirror-line-like");rn(x.measure,re);var ne=z.getBoundingClientRect(),le=(ne.right-ne.left)/10;return le>2&&(x.cachedCharWidth=le),le||10}function Al(x){for(var z=x.display,re={},ne={},le=z.gutters.clientLeft,ge=z.gutters.firstChild,Ie=0;ge;ge=ge.nextSibling,++Ie){var Ue=x.display.gutterSpecs[Ie].className;re[Ue]=ge.offsetLeft+ge.clientLeft+le,ne[Ue]=ge.clientWidth}return{fixedPos:pu(z),gutterTotalWidth:z.gutters.offsetWidth,gutterLeft:re,gutterWidth:ne,wrapperWidth:z.wrapper.clientWidth}}function pu(x){return x.scroller.getBoundingClientRect().left-x.sizer.getBoundingClientRect().left}function kl(x){var z=ss(x.display),re=x.options.lineWrapping,ne=re&&Math.max(5,x.display.scroller.clientWidth/to(x.display)-3);return function(le){if(zu(x.doc,le))return 0;var ge=0;if(le.widgets)for(var Ie=0;Ie0&&(vt=wn(x.doc,it.line).text).length==it.ch){var In=ft(vt,vt.length,x.options.tabSize)-vt.length;it=Gn(it.line,Math.max(0,Math.round((ge-Ps(x.display).left)/to(x.display))-In))}return it}function sa(x,z){if(z>=x.display.viewTo||(z-=x.display.viewFrom,z<0))return null;for(var re=x.display.view,ne=0;nez)&&(le.updateLineNumbers=z),x.curOp.viewChanged=!0,z>=le.viewTo)ol&&$s(x.doc,z)le.viewFrom?ys(x):(le.viewFrom+=ne,le.viewTo+=ne);else if(z<=le.viewFrom&&re>=le.viewTo)ys(x);else if(z<=le.viewFrom){var ge=Pe(x,re,re+ne,1);ge?(le.view=le.view.slice(ge.index),le.viewFrom=ge.lineN,le.viewTo+=ne):ys(x)}else if(re>=le.viewTo){var Ie=Pe(x,z,z,-1);Ie?(le.view=le.view.slice(0,Ie.index),le.viewTo=Ie.lineN):ys(x)}else{var Ue=Pe(x,z,z,-1),it=Pe(x,re,re+ne,1);Ue&&it?(le.view=le.view.slice(0,Ue.index).concat(sl(x,Ue.lineN,it.lineN)).concat(le.view.slice(it.index)),le.viewTo+=ne):ys(x)}var vt=le.externalMeasured;vt&&(re=le.lineN&&z=ne.viewTo)){var ge=ne.view[sa(x,z)];if(ge.node!=null){var Ie=ge.changes||(ge.changes=[]);Gt(Ie,re)==-1&&Ie.push(re)}}}function ys(x){x.display.viewFrom=x.display.viewTo=x.doc.first,x.display.view=[],x.display.viewOffset=0}function Pe(x,z,re,ne){var le=sa(x,z),ge,Ie=x.display.view;if(!ol||re==x.doc.first+x.doc.size)return{index:le,lineN:re};for(var Ue=x.display.viewFrom,it=0;it0){if(le==Ie.length-1)return null;ge=Ue+Ie[le].size-z,le++}else ge=Ue-z;z+=ge,re+=ge}for(;$s(x.doc,re)!=re;){if(le==(ne<0?0:Ie.length-1))return null;re+=ne*Ie[le-(ne<0?1:0)].size,le+=ne}return{index:le,lineN:re}}function Xe(x,z,re){var ne=x.display,le=ne.view;le.length==0||z>=ne.viewTo||re<=ne.viewFrom?(ne.view=sl(x,z,re),ne.viewFrom=z):(ne.viewFrom>z?ne.view=sl(x,z,ne.viewFrom).concat(ne.view):ne.viewFromre&&(ne.view=ne.view.slice(0,sa(x,re)))),ne.viewTo=re}function Ze(x){for(var z=x.display.view,re=0,ne=0;ne=x.display.viewTo||Ue.to().line0?z.blinker=setInterval(function(){x.hasFocus()||Bi(x),z.cursorDiv.style.visibility=(re=!re)?"":"hidden"},x.options.cursorBlinkRate):x.options.cursorBlinkRate<0&&(z.cursorDiv.style.visibility="hidden")}}function di(x){x.state.focused||(x.display.input.focus(),Ei(x))}function ha(x){x.state.delayingBlurEvent=!0,setTimeout(function(){x.state.delayingBlurEvent&&(x.state.delayingBlurEvent=!1,Bi(x))},100)}function Ei(x,z){x.state.delayingBlurEvent&&(x.state.delayingBlurEvent=!1),x.options.readOnly!="nocursor"&&(x.state.focused||(Tt(x,"focus",x,z),x.state.focused=!0,dn(x.display.wrapper,"CodeMirror-focused"),!x.curOp&&x.display.selForContextMenu!=x.doc.sel&&(x.display.input.reset(),ye&&setTimeout(function(){return x.display.input.reset(!0)},20)),x.display.input.receivedFocus()),Wr(x))}function Bi(x,z){x.state.delayingBlurEvent||(x.state.focused&&(Tt(x,"blur",x,z),x.state.focused=!1,gn(x.display.wrapper,"CodeMirror-focused")),clearInterval(x.display.blinker),setTimeout(function(){x.state.focused||(x.display.shift=!1)},150))}function Oi(x){for(var z=x.display,re=z.lineDiv.offsetTop,ne=0;ne.005||In<-.005)&&(fr(le.line,Ie),Yi(le.line),le.rest))for(var er=0;erx.display.sizerWidth){var Ur=Math.ceil(Ue/to(x.display));Ur>x.display.maxLineLength&&(x.display.maxLineLength=Ur,x.display.maxLine=le.line,x.display.maxLineChanged=!0)}}}}function Yi(x){if(x.widgets)for(var z=0;z=Ie&&(ge=qr(z,$a(wn(z,it))-x.wrapper.clientHeight),Ie=it)}return{from:ge,to:Math.max(Ie,ge+1)}}function _r(x,z){if(!qt(x,"scrollCursorIntoView")){var re=x.display,ne=re.sizer.getBoundingClientRect(),le=null;if(z.top+ne.top<0?le=!0:z.bottom+ne.top>(window.innerHeight||document.documentElement.clientHeight)&&(le=!1),le!=null&&!ht){var ge=Et("div","\u200B",null,`position: absolute; + top: `+(z.top-re.viewOffset-il(x.display))+`px; + height: `+(z.bottom-z.top+ps(x)+re.barHeight)+`px; + left: `+z.left+"px; width: "+Math.max(2,z.right-z.left)+"px;");x.display.lineSpace.appendChild(ge),ge.scrollIntoView(le),x.display.lineSpace.removeChild(ge)}}}function Qi(x,z,re,ne){ne==null&&(ne=0);var le;!x.options.lineWrapping&&z==re&&(z=z.ch?Gn(z.line,z.sticky=="before"?z.ch-1:z.ch,"after"):z,re=z.sticky=="before"?Gn(z.line,z.ch+1,"before"):z);for(var ge=0;ge<5;ge++){var Ie=!1,Ue=hs(x,z),it=!re||re==z?Ue:hs(x,re);le={left:Math.min(Ue.left,it.left),top:Math.min(Ue.top,it.top)-ne,right:Math.max(Ue.left,it.left),bottom:Math.max(Ue.bottom,it.bottom)+ne};var vt=Ua(x,le),In=x.doc.scrollTop,er=x.doc.scrollLeft;if(vt.scrollTop!=null&&(Xr(x,vt.scrollTop),Math.abs(x.doc.scrollTop-In)>1&&(Ie=!0)),vt.scrollLeft!=null&&(Ms(x,vt.scrollLeft),Math.abs(x.doc.scrollLeft-er)>1&&(Ie=!0)),!Ie)break}return le}function Po(x,z){var re=Ua(x,z);re.scrollTop!=null&&Xr(x,re.scrollTop),re.scrollLeft!=null&&Ms(x,re.scrollLeft)}function Ua(x,z){var re=x.display,ne=ss(x.display);z.top<0&&(z.top=0);var le=x.curOp&&x.curOp.scrollTop!=null?x.curOp.scrollTop:re.scroller.scrollTop,ge=La(x),Ie={};z.bottom-z.top>ge&&(z.bottom=z.top+ge);var Ue=x.doc.height+Hl(re),it=z.topUe-ne;if(z.tople+ge){var In=Math.min(z.top,(vt?Ue:z.bottom)-ge);In!=le&&(Ie.scrollTop=In)}var er=x.options.fixedGutter?0:re.gutters.offsetWidth,Ur=x.curOp&&x.curOp.scrollLeft!=null?x.curOp.scrollLeft:re.scroller.scrollLeft-er,Qr=wo(x)-re.gutters.offsetWidth,Ki=z.right-z.left>Qr;return Ki&&(z.right=z.left+Qr),z.left<10?Ie.scrollLeft=0:z.leftQr+Ur-3&&(Ie.scrollLeft=z.right+(Ki?0:10)-Qr),Ie}function Do(x,z){z!=null&&(ns(x),x.curOp.scrollTop=(x.curOp.scrollTop==null?x.doc.scrollTop:x.curOp.scrollTop)+z)}function ko(x){ns(x);var z=x.getCursor();x.curOp.scrollToPos={from:z,to:z,margin:x.options.cursorScrollMargin}}function co(x,z,re){(z!=null||re!=null)&&ns(x),z!=null&&(x.curOp.scrollLeft=z),re!=null&&(x.curOp.scrollTop=re)}function oo(x,z){ns(x),x.curOp.scrollToPos=z}function ns(x){var z=x.curOp.scrollToPos;if(z){x.curOp.scrollToPos=null;var re=xs(x,z.from),ne=xs(x,z.to);yl(x,re,ne,z.margin)}}function yl(x,z,re,ne){var le=Ua(x,{left:Math.min(z.left,re.left),top:Math.min(z.top,re.top)-ne,right:Math.max(z.right,re.right),bottom:Math.max(z.bottom,re.bottom)+ne});co(x,le.scrollLeft,le.scrollTop)}function Xr(x,z){Math.abs(x.doc.scrollTop-z)<2||(ee||ya(x,{top:z}),us(x,z,!0),ee&&ya(x),Lr(x,100))}function us(x,z,re){z=Math.max(0,Math.min(x.display.scroller.scrollHeight-x.display.scroller.clientHeight,z)),!(x.display.scroller.scrollTop==z&&!re)&&(x.doc.scrollTop=z,x.display.scrollbars.setScrollTop(z),x.display.scroller.scrollTop!=z&&(x.display.scroller.scrollTop=z))}function Ms(x,z,re,ne){z=Math.max(0,Math.min(z,x.display.scroller.scrollWidth-x.display.scroller.clientWidth)),!((re?z==x.doc.scrollLeft:Math.abs(x.doc.scrollLeft-z)<2)&&!ne)&&(x.doc.scrollLeft=z,Xo(x),x.display.scroller.scrollLeft!=z&&(x.display.scroller.scrollLeft=z),x.display.scrollbars.setScrollLeft(z))}function Us(x){var z=x.display,re=z.gutters.offsetWidth,ne=Math.round(x.doc.height+Hl(x.display));return{clientHeight:z.scroller.clientHeight,viewHeight:z.wrapper.clientHeight,scrollWidth:z.scroller.scrollWidth,clientWidth:z.scroller.clientWidth,viewWidth:z.wrapper.clientWidth,barLeft:x.options.fixedGutter?re:0,docHeight:ne,scrollHeight:ne+ps(x)+z.barHeight,nativeBarWidth:z.nativeBarWidth,gutterWidth:re}}var Ks=function(x,z,re){this.cm=re;var ne=this.vert=Et("div",[Et("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),le=this.horiz=Et("div",[Et("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ne.tabIndex=le.tabIndex=-1,x(ne),x(le),dr(ne,"scroll",function(){ne.clientHeight&&z(ne.scrollTop,"vertical")}),dr(le,"scroll",function(){le.clientWidth&&z(le.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,Qe&&Je<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Ks.prototype.update=function(x){var z=x.scrollWidth>x.clientWidth+1,re=x.scrollHeight>x.clientHeight+1,ne=x.nativeBarWidth;if(re){this.vert.style.display="block",this.vert.style.bottom=z?ne+"px":"0";var le=x.viewHeight-(z?ne:0);this.vert.firstChild.style.height=Math.max(0,x.scrollHeight-x.clientHeight+le)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(z){this.horiz.style.display="block",this.horiz.style.right=re?ne+"px":"0",this.horiz.style.left=x.barLeft+"px";var ge=x.viewWidth-x.barLeft-(re?ne:0);this.horiz.firstChild.style.width=Math.max(0,x.scrollWidth-x.clientWidth+ge)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&x.clientHeight>0&&(ne==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:re?ne:0,bottom:z?ne:0}},Ks.prototype.setScrollLeft=function(x){this.horiz.scrollLeft!=x&&(this.horiz.scrollLeft=x),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Ks.prototype.setScrollTop=function(x){this.vert.scrollTop!=x&&(this.vert.scrollTop=x),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Ks.prototype.zeroWidthHack=function(){var x=St&&!ut?"12px":"18px";this.horiz.style.height=this.vert.style.width=x,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Le,this.disableVert=new Le},Ks.prototype.enableZeroWidthBar=function(x,z,re){x.style.pointerEvents="auto";function ne(){var le=x.getBoundingClientRect(),ge=re=="vert"?document.elementFromPoint(le.right-1,(le.top+le.bottom)/2):document.elementFromPoint((le.right+le.left)/2,le.bottom-1);ge!=x?x.style.pointerEvents="none":z.set(1e3,ne)}z.set(1e3,ne)},Ks.prototype.clear=function(){var x=this.horiz.parentNode;x.removeChild(this.horiz),x.removeChild(this.vert)};var rs=function(){};rs.prototype.update=function(){return{bottom:0,right:0}},rs.prototype.setScrollLeft=function(){},rs.prototype.setScrollTop=function(){},rs.prototype.clear=function(){};function ml(x,z){z||(z=Us(x));var re=x.display.barWidth,ne=x.display.barHeight;is(x,z);for(var le=0;le<4&&re!=x.display.barWidth||ne!=x.display.barHeight;le++)re!=x.display.barWidth&&x.options.lineWrapping&&Oi(x),is(x,Us(x)),re=x.display.barWidth,ne=x.display.barHeight}function is(x,z){var re=x.display,ne=re.scrollbars.update(z);re.sizer.style.paddingRight=(re.barWidth=ne.right)+"px",re.sizer.style.paddingBottom=(re.barHeight=ne.bottom)+"px",re.heightForcer.style.borderBottom=ne.bottom+"px solid transparent",ne.right&&ne.bottom?(re.scrollbarFiller.style.display="block",re.scrollbarFiller.style.height=ne.bottom+"px",re.scrollbarFiller.style.width=ne.right+"px"):re.scrollbarFiller.style.display="",ne.bottom&&x.options.coverGutterNextToScrollbar&&x.options.fixedGutter?(re.gutterFiller.style.display="block",re.gutterFiller.style.height=ne.bottom+"px",re.gutterFiller.style.width=z.gutterWidth+"px"):re.gutterFiller.style.display=""}var ws={native:Ks,null:rs};function iu(x){x.display.scrollbars&&(x.display.scrollbars.clear(),x.display.scrollbars.addClass&&gn(x.display.wrapper,x.display.scrollbars.addClass)),x.display.scrollbars=new ws[x.options.scrollbarStyle](function(z){x.display.wrapper.insertBefore(z,x.display.scrollbarFiller),dr(z,"mousedown",function(){x.state.focused&&setTimeout(function(){return x.display.input.focus()},0)}),z.setAttribute("cm-not-content","true")},function(z,re){re=="horizontal"?Ms(x,z):Xr(x,z)},x),x.display.scrollbars.addClass&&dn(x.display.wrapper,x.display.scrollbars.addClass)}var Ts=0;function Is(x){x.curOp={cm:x,viewChanged:!1,startHeight:x.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Ts},Yt(x.curOp)}function Cu(x){var z=x.curOp;z&&Hn(z,function(re){for(var ne=0;ne=re.viewTo)||re.maxLineChanged&&z.options.lineWrapping,x.update=x.mustUpdate&&new Ir(z,x.mustUpdate&&{top:x.scrollTop,ensure:x.scrollToPos},x.forceUpdate)}function _e(x){x.updatedDisplay=x.mustUpdate&&Ri(x.cm,x.update)}function Pt(x){var z=x.cm,re=z.display;x.updatedDisplay&&Oi(z),x.barMeasure=Us(z),re.maxLineChanged&&!z.options.lineWrapping&&(x.adjustWidthTo=Mu(z,re.maxLine,re.maxLine.text.length).left+3,z.display.sizerWidth=x.adjustWidthTo,x.barMeasure.scrollWidth=Math.max(re.scroller.clientWidth,re.sizer.offsetLeft+x.adjustWidthTo+ps(z)+z.display.barWidth),x.maxScrollLeft=Math.max(0,re.sizer.offsetLeft+x.adjustWidthTo-wo(z))),(x.updatedDisplay||x.selectionChanged)&&(x.preparedSelection=re.input.prepareSelection())}function Wt(x){var z=x.cm;x.adjustWidthTo!=null&&(z.display.sizer.style.minWidth=x.adjustWidthTo+"px",x.maxScrollLeft=x.display.viewTo)){var re=+new Date+x.options.workTime,ne=Ji(x,z.highlightFrontier),le=[];z.iter(ne.line,Math.min(z.first+z.size,x.display.viewTo+500),function(ge){if(ne.line>=x.display.viewFrom){var Ie=ge.styles,Ue=ge.text.length>x.options.maxHighlightLength?De(z.mode,ne.state):null,it=Ni(x,ge,ne,!0);Ue&&(ne.state=Ue),ge.styles=it.styles;var vt=ge.styleClasses,In=it.classes;In?ge.styleClasses=In:vt&&(ge.styleClasses=null);for(var er=!Ie||Ie.length!=ge.styles.length||vt!=In&&(!vt||!In||vt.bgClass!=In.bgClass||vt.textClass!=In.textClass),Ur=0;!er&&Urre)return Lr(x,x.options.workDelay),!0}),z.highlightFrontier=ne.line,z.modeFrontier=Math.max(z.modeFrontier,ne.line),le.length&&un(x,function(){for(var ge=0;ge=re.viewFrom&&z.visible.to<=re.viewTo&&(re.updateLineNumbers==null||re.updateLineNumbers>=re.viewTo)&&re.renderedView==re.view&&Ze(x)==0)return!1;Co(x)&&(ys(x),z.dims=Al(x));var le=ne.first+ne.size,ge=Math.max(z.visible.from-x.options.viewportMargin,ne.first),Ie=Math.min(le,z.visible.to+x.options.viewportMargin);re.viewFromIe&&re.viewTo-Ie<20&&(Ie=Math.min(le,re.viewTo)),ol&&(ge=$s(x.doc,ge),Ie=Ws(x.doc,Ie));var Ue=ge!=re.viewFrom||Ie!=re.viewTo||re.lastWrapHeight!=z.wrapperHeight||re.lastWrapWidth!=z.wrapperWidth;Xe(x,ge,Ie),re.viewOffset=$a(wn(x.doc,re.viewFrom)),x.display.mover.style.top=re.viewOffset+"px";var it=Ze(x);if(!Ue&&it==0&&!z.force&&re.renderedView==re.view&&(re.updateLineNumbers==null||re.updateLineNumbers>=re.viewTo))return!1;var vt=pi(x);return it>4&&(re.lineDiv.style.display="none"),Kr(x,re.updateLineNumbers,z.dims),it>4&&(re.lineDiv.style.display=""),re.renderedView=re.view,xi(vt),Nn(re.cursorDiv),Nn(re.selectionDiv),re.gutters.style.height=re.sizer.style.minHeight=0,Ue&&(re.lastWrapHeight=z.wrapperHeight,re.lastWrapWidth=z.wrapperWidth,Lr(x,400)),re.updateLineNumbers=null,!0}function Fi(x,z){for(var re=z.viewport,ne=!0;;ne=!1){if(!ne||!x.options.lineWrapping||z.oldDisplayWidth==wo(x)){if(re&&re.top!=null&&(re={top:Math.min(x.doc.height+Hl(x.display)-La(x),re.top)}),z.visible=Er(x.display,x.doc,re),z.visible.from>=x.display.viewFrom&&z.visible.to<=x.display.viewTo)break}else ne&&(z.visible=Er(x.display,x.doc,re));if(!Ri(x,z))break;Oi(x);var le=Us(x);kt(x),ml(x,le),qa(x,le),z.force=!1}z.signal(x,"update",x),(x.display.viewFrom!=x.display.reportedViewFrom||x.display.viewTo!=x.display.reportedViewTo)&&(z.signal(x,"viewportChange",x,x.display.viewFrom,x.display.viewTo),x.display.reportedViewFrom=x.display.viewFrom,x.display.reportedViewTo=x.display.viewTo)}function ya(x,z){var re=new Ir(x,z);if(Ri(x,re)){Oi(x),Fi(x,re);var ne=Us(x);kt(x),ml(x,ne),qa(x,ne),re.finish()}}function Kr(x,z,re){var ne=x.display,le=x.options.lineNumbers,ge=ne.lineDiv,Ie=ge.firstChild;function Ue(Ki){var wa=Ki.nextSibling;return ye&&St&&x.display.currentWheelTarget==Ki?Ki.style.display="none":Ki.parentNode.removeChild(Ki),wa}for(var it=ne.view,vt=ne.viewFrom,In=0;In-1&&(Qr=!1),Cl(x,er,vt,re)),Qr&&(Nn(er.lineNumber),er.lineNumber.appendChild(document.createTextNode(Nr(x.options,vt)))),Ie=er.node.nextSibling}vt+=er.size}for(;Ie;)Ie=Ue(Ie)}function ta(x){var z=x.gutters.offsetWidth;x.sizer.style.marginLeft=z+"px"}function qa(x,z){x.display.sizer.style.minHeight=z.docHeight+"px",x.display.heightForcer.style.top=z.docHeight+"px",x.display.gutters.style.height=z.docHeight+x.display.barHeight+ps(x)+"px"}function Xo(x){var z=x.display,re=z.view;if(!(!z.alignWidgets&&(!z.gutters.firstChild||!x.options.fixedGutter))){for(var ne=pu(z)-z.scroller.scrollLeft+x.doc.scrollLeft,le=z.gutters.offsetWidth,ge=ne+"px",Ie=0;IeIe.clientWidth,it=Ie.scrollHeight>Ie.clientHeight;if(ne&&Ue||le&&it){if(le&&St&&ye){e:for(var vt=z.target,In=ge.view;vt!=Ie;vt=vt.parentNode)for(var er=0;er=0&&Fn(x,ne.to())<=0)return re}return-1};var Or=function(x,z){this.anchor=x,this.head=z};Or.prototype.from=function(){return Jn(this.anchor,this.head)},Or.prototype.to=function(){return zn(this.anchor,this.head)},Or.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function ae(x,z,re){var ne=x&&x.options.selectionsMayTouch,le=z[re];z.sort(function(Ur,Qr){return Fn(Ur.from(),Qr.from())}),re=Gt(z,le);for(var ge=1;ge0:it>=0){var vt=Jn(Ue.from(),Ie.from()),In=zn(Ue.to(),Ie.to()),er=Ue.empty()?Ie.from()==Ie.head:Ue.from()==Ue.head;ge<=re&&--re,z.splice(--ge,2,new Or(er?In:vt,er?vt:In))}}return new Dn(z,re)}function de(x,z){return new Dn([new Or(x,z||x)],0)}function pe(x){return x.text?Gn(x.from.line+x.text.length-1,Cn(x.text).length+(x.text.length==1?x.from.ch:0)):x.to}function xe(x,z){if(Fn(x,z.from)<0)return x;if(Fn(x,z.to)<=0)return pe(z);var re=x.line+z.text.length-(z.to.line-z.from.line)-1,ne=x.ch;return x.line==z.to.line&&(ne+=pe(z).ch-z.to.ch),Gn(re,ne)}function ke(x,z){for(var re=[],ne=0;ne1&&x.remove(Ue.line+1,Ki-1),x.insert(Ue.line+1,Mo)}ao(x,"change",x,z)}function Xt(x,z,re){function ne(le,ge,Ie){if(le.linked)for(var Ue=0;Ue1&&!x.done[x.done.length-2].ranges)return x.done.pop(),Cn(x.done)}function Mr(x,z,re,ne){var le=x.history;le.undone.length=0;var ge=+new Date,Ie,Ue;if((le.lastOp==ne||le.lastOrigin==z.origin&&z.origin&&(z.origin.charAt(0)=="+"&&le.lastModTime>ge-(x.cm?x.cm.options.historyEventDelay:500)||z.origin.charAt(0)=="*"))&&(Ie=bn(le,le.lastOp==ne)))Ue=Cn(Ie.changes),Fn(z.from,z.to)==0&&Fn(z.from,Ue.to)==0?Ue.to=pe(z):Ie.changes.push(cn(x,z));else{var it=Cn(le.done);for((!it||!it.ranges)&&ui(x.sel,le.done),Ie={changes:[cn(x,z)],generation:le.generation},le.done.push(Ie);le.done.length>le.undoDepth;)le.done.shift(),le.done[0].ranges||le.done.shift()}le.done.push(re),le.generation=++le.maxGeneration,le.lastModTime=le.lastSelTime=ge,le.lastOp=le.lastSelOp=ne,le.lastOrigin=le.lastSelOrigin=z.origin,Ue||Tt(x,"historyAdded")}function ti(x,z,re,ne){var le=z.charAt(0);return le=="*"||le=="+"&&re.ranges.length==ne.ranges.length&&re.somethingSelected()==ne.somethingSelected()&&new Date-x.history.lastSelTime<=(x.cm?x.cm.options.historyEventDelay:500)}function xa(x,z,re,ne){var le=x.history,ge=ne&&ne.origin;re==le.lastSelOp||ge&&le.lastSelOrigin==ge&&(le.lastModTime==le.lastSelTime&&le.lastOrigin==ge||ti(x,ge,Cn(le.done),z))?le.done[le.done.length-1]=z:ui(z,le.done),le.lastSelTime=+new Date,le.lastSelOrigin=ge,le.lastSelOp=re,ne&&ne.clearRedo!==!1&&on(le.undone)}function ui(x,z){var re=Cn(z);re&&re.ranges&&re.equals(x)||z.push(x)}function ka(x,z,re,ne){var le=z["spans_"+x.id],ge=0;x.iter(Math.max(x.first,re),Math.min(x.first+x.size,ne),function(Ie){Ie.markedSpans&&((le||(le=z["spans_"+x.id]={}))[ge]=Ie.markedSpans),++ge})}function Xa(x){if(!x)return null;for(var z,re=0;re-1&&(Cn(Ue)[er]=vt[er],delete vt[er])}}return ne}function Ya(x,z,re,ne){if(ne){var le=x.anchor;if(re){var ge=Fn(z,le)<0;ge!=Fn(re,le)<0?(le=z,z=re):ge!=Fn(z,re)<0&&(z=re)}return new Or(le,z)}else return new Or(re||z,z)}function Qn(x,z,re,ne,le){le==null&&(le=x.cm&&(x.cm.display.shift||x.extend)),zi(x,new Dn([Ya(x.sel.primary(),z,re,le)],0),ne)}function jn(x,z,re){for(var ne=[],le=x.cm&&(x.cm.display.shift||x.extend),ge=0;ge=z.ch:Ue.to>z.ch))){if(le&&(Tt(it,"beforeCursorEnter"),it.explicitlyCleared))if(ge.markedSpans){--Ie;continue}else break;if(!it.atomic)continue;if(re){var er=it.find(ne<0?1:-1),Ur=void 0;if((ne<0?In:vt)&&(er=Cs(x,er,-ne,er&&er.line==z.line?ge:null)),er&&er.line==z.line&&(Ur=Fn(er,re))&&(ne<0?Ur<0:Ur>0))return bl(x,er,z,ne,le)}var Qr=it.find(ne<0?-1:1);return(ne<0?vt:In)&&(Qr=Cs(x,Qr,ne,Qr.line==z.line?ge:null)),Qr?bl(x,Qr,z,ne,le):null}}return z}function eu(x,z,re,ne,le){var ge=ne||1,Ie=bl(x,z,re,ge,le)||!le&&bl(x,z,re,ge,!0)||bl(x,z,re,-ge,le)||!le&&bl(x,z,re,-ge,!0);return Ie||(x.cantEdit=!0,Gn(x.first,0))}function Cs(x,z,re,ne){return re<0&&z.ch==0?z.line>x.first?$n(x,Gn(z.line-1)):null:re>0&&z.ch==(ne||wn(x,z.line)).text.length?z.line=0;--le)du(x,{from:ne[le].from,to:ne[le].to,text:le?[""]:z.text,origin:z.origin});else du(x,z)}}function du(x,z){if(!(z.text.length==1&&z.text[0]==""&&Fn(z.from,z.to)==0)){var re=ke(x,z);Mr(x,z,re,x.cm?x.cm.curOp.id:NaN),Ru(x,z,re,Zr(x,z));var ne=[];Xt(x,function(le,ge){!ge&&Gt(ne,le.history)==-1&&(zs(le.history,z),ne.push(le.history)),Ru(le,z,null,Zr(le,z))})}}function oc(x,z,re){var ne=x.cm&&x.cm.state.suppressEdits;if(!(ne&&!re)){for(var le=x.history,ge,Ie=x.sel,Ue=z=="undo"?le.done:le.undone,it=z=="undo"?le.undone:le.done,vt=0;vt=0;--Qr){var Ki=Ur(Qr);if(Ki)return Ki.v}}}}function Oc(x,z){if(z!=0&&(x.first+=z,x.sel=new Dn(Pn(x.sel.ranges,function(le){return new Or(Gn(le.anchor.line+z,le.anchor.ch),Gn(le.head.line+z,le.head.ch))}),x.sel.primIndex),x.cm)){Zl(x.cm,x.first,x.first-z,z);for(var re=x.cm.display,ne=re.viewFrom;nex.lastLine())){if(z.from.linege&&(z={from:z.from,to:Gn(ge,wn(x,ge).text.length),text:[z.text[0]],origin:z.origin}),z.removed=gr(x,z.from,z.to),re||(re=ke(x,z)),x.cm?Vl(x.cm,z,ne):Ct(x,z,ne),so(x,re,It),x.cantEdit&&eu(x,Gn(x.firstLine(),0))&&(x.cantEdit=!1)}}function Vl(x,z,re){var ne=x.doc,le=x.display,ge=z.from,Ie=z.to,Ue=!1,it=ge.line;x.options.lineWrapping||(it=vr(Au(wn(ne,ge.line))),ne.iter(it,Ie.line+1,function(Qr){if(Qr==le.maxLine)return Ue=!0,!0})),ne.sel.contains(z.from,z.to)>-1&&Un(x),Ct(ne,z,re,kl(x)),x.options.lineWrapping||(ne.iter(it,ge.line+z.text.length,function(Qr){var Ki=Za(Qr);Ki>le.maxLineLength&&(le.maxLine=Qr,le.maxLineLength=Ki,le.maxLineChanged=!0,Ue=!1)}),Ue&&(x.curOp.updateMaxLine=!0)),Ci(ne,ge.line),Lr(x,400);var vt=z.text.length-(Ie.line-ge.line)-1;z.full?Zl(x):ge.line==Ie.line&&z.text.length==1&&!rt(x.doc,z)?$l(x,ge.line,"text"):Zl(x,ge.line,Ie.line+1,vt);var In=nr(x,"changes"),er=nr(x,"change");if(er||In){var Ur={from:ge,to:Ie,text:z.text,removed:z.removed,origin:z.origin};er&&ao(x,"change",x,Ur),In&&(x.curOp.changeObjs||(x.curOp.changeObjs=[])).push(Ur)}x.display.selForContextMenu=null}function vc(x,z,re,ne,le){var ge;ne||(ne=re),Fn(ne,re)<0&&(ge=[ne,re],re=ge[0],ne=ge[1]),typeof z=="string"&&(z=x.splitLines(z)),cu(x,{from:re,to:ne,text:z,origin:le})}function Pu(x,z,re,ne){re1||!(this.children[0]instanceof Eu))){var Ue=[];this.collapse(Ue),this.children=[new Eu(Ue)],this.children[0].parent=this}},collapse:function(x){for(var z=0;z50){for(var Ie=le.lines.length%25+25,Ue=Ie;Ue10);x.parent.maybeSpill()}},iterN:function(x,z,re){for(var ne=0;nex.display.maxLineLength&&(x.display.maxLine=vt,x.display.maxLineLength=In,x.display.maxLineChanged=!0)}ne!=null&&x&&this.collapsed&&Zl(x,ne,le+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,x&&ar(x.doc)),x&&ao(x,"markerCleared",x,this,ne,le),z&&Cu(x),this.parent&&this.parent.clear()}},bd.prototype.find=function(x,z){x==null&&this.type=="bookmark"&&(x=1);for(var re,ne,le=0;le0||Ie==0&&ge.clearWhenEmpty!==!1)return ge;if(ge.replacedWith&&(ge.collapsed=!0,ge.widgetNode=_t("span",[ge.replacedWith],"CodeMirror-widget"),ne.handleMouseEvents||ge.widgetNode.setAttribute("cm-ignore-events","true"),ne.insertLeft&&(ge.widgetNode.insertLeft=!0)),ge.collapsed){if(Qs(x,z.line,z,re,ge)||z.line!=re.line&&Qs(x,re.line,z,re,ge))throw new Error("Inserting collapsed marker partially overlapping an existing one");Oa()}ge.addToHistory&&Mr(x,{from:z,to:re,origin:"markText"},x.sel,NaN);var Ue=z.line,it=x.cm,vt;if(x.iter(Ue,re.line+1,function(er){it&&ge.collapsed&&!it.options.lineWrapping&&Au(er)==it.display.maxLine&&(vt=!0),ge.collapsed&&Ue!=z.line&&fr(er,0),ll(er,new Go(ge,Ue==z.line?z.ch:null,Ue==re.line?re.ch:null)),++Ue}),ge.collapsed&&x.iter(z.line,re.line+1,function(er){zu(x,er)&&fr(er,0)}),ge.clearOnEnter&&dr(ge,"beforeCursorEnter",function(){return ge.clear()}),ge.readOnly&&(mo(),(x.history.done.length||x.history.undone.length)&&x.clearHistory()),ge.collapsed&&(ge.id=++cf,ge.atomic=!0),it){if(vt&&(it.curOp.updateMaxLine=!0),ge.collapsed)Zl(it,z.line,re.line+1);else if(ge.className||ge.startStyle||ge.endStyle||ge.css||ge.attributes||ge.title)for(var In=z.line;In<=re.line;In++)$l(it,In,"text");ge.atomic&&ar(it.doc),ao(it,"markerAdded",it,ge)}return ge}var Js=function(x,z){this.markers=x,this.primary=z;for(var re=0;re=0;it--)cu(this,ne[it]);Ue?oi(this,Ue):this.cm&&ko(this.cm)}),undo:Xn(function(){oc(this,"undo")}),redo:Xn(function(){oc(this,"redo")}),undoSelection:Xn(function(){oc(this,"undo",!0)}),redoSelection:Xn(function(){oc(this,"redo",!0)}),setExtending:function(x){this.extend=x},getExtending:function(){return this.extend},historySize:function(){for(var x=this.history,z=0,re=0,ne=0;ne=x.ch)&&z.push(le.marker.parent||le.marker)}return z},findMarks:function(x,z,re){x=$n(this,x),z=$n(this,z);var ne=[],le=x.line;return this.iter(x.line,z.line+1,function(ge){var Ie=ge.markedSpans;if(Ie)for(var Ue=0;Ue=it.to||it.from==null&&le!=x.line||it.from!=null&&le==z.line&&it.from>=z.ch)&&(!re||re(it.marker))&&ne.push(it.marker.parent||it.marker)}++le}),ne},getAllMarks:function(){var x=[];return this.iter(function(z){var re=z.markedSpans;if(re)for(var ne=0;nex)return z=x,!0;x-=ge,++re}),$n(this,Gn(re,z))},indexFromPos:function(x){x=$n(this,x);var z=x.ch;if(x.linez&&(z=x.from),x.to!=null&&x.to-1){z.state.draggingText(x),setTimeout(function(){return z.display.input.focus()},20);return}try{var In=x.dataTransfer.getData("Text");if(In){var er;if(z.state.draggingText&&!z.state.draggingText.copy&&(er=z.listSelections()),so(z.doc,de(re,re)),er)for(var Ur=0;Ur=0;Ue--)vc(x.doc,"",ne[Ue].from,ne[Ue].to,"+delete");ko(x)})}function sc(x,z,re){var ne=mt(x.text,z+re,re);return ne<0||ne>x.text.length?null:ne}function Ic(x,z,re){var ne=sc(x,z.ch,re);return ne==null?null:new Gn(z.line,ne,re<0?"after":"before")}function qs(x,z,re,ne,le){if(x){z.doc.direction=="rtl"&&(le=-le);var ge=Vr(re,z.doc.direction);if(ge){var Ie=le<0?Cn(ge):ge[0],Ue=le<0==(Ie.level==1),it=Ue?"after":"before",vt;if(Ie.level>0||z.doc.direction=="rtl"){var In=fs(z,re);vt=le<0?re.text.length-1:0;var er=Kl(z,In,vt).top;vt=xt(function(Ur){return Kl(z,In,Ur).top==er},le<0==(Ie.level==1)?Ie.from:Ie.to-1,vt),it=="before"&&(vt=sc(re,vt,1))}else vt=le<0?Ie.to:Ie.from;return new Gn(ne,vt,it)}}return new Gn(ne,le<0?re.text.length:0,le<0?"before":"after")}function bu(x,z,re,ne){var le=Vr(z,x.doc.direction);if(!le)return Ic(z,re,ne);re.ch>=z.text.length?(re.ch=z.text.length,re.sticky="before"):re.ch<=0&&(re.ch=0,re.sticky="after");var ge=Qt(le,re.ch,re.sticky),Ie=le[ge];if(x.doc.direction=="ltr"&&Ie.level%2==0&&(ne>0?Ie.to>re.ch:Ie.from=Ie.from&&Ur>=In.begin)){var Qr=er?"before":"after";return new Gn(re.line,Ur,Qr)}}var Ki=function(Mo,cl,To){for(var gl=function(Gu,Fc){return Fc?new Gn(re.line,Ue(Gu,1),"before"):new Gn(re.line,Gu,"after")};Mo>=0&&Mo0==(Wl.level!=1),au=es?To.begin:Ue(To.end,-1);if(Wl.from<=au&&au0?In.end:Ue(In.begin,-1);return uo!=null&&!(ne>0&&uo==z.text.length)&&(wa=Ki(ne>0?0:le.length-1,ne,vt(uo)),wa)?wa:null}var xc={selectAll:uu,singleSelection:function(x){return x.setSelection(x.getCursor("anchor"),x.getCursor("head"),It)},killLine:function(x){return Dc(x,function(z){if(z.empty()){var re=wn(x.doc,z.head.line).text.length;return z.head.ch==re&&z.head.line0)le=new Gn(le.line,le.ch+1),x.replaceRange(ge.charAt(le.ch-1)+ge.charAt(le.ch-2),Gn(le.line,le.ch-2),le,"+transpose");else if(le.line>x.doc.first){var Ie=wn(x.doc,le.line-1).text;Ie&&(le=new Gn(le.line,1),x.replaceRange(ge.charAt(0)+x.doc.lineSeparator()+Ie.charAt(Ie.length-1),Gn(le.line-1,Ie.length-1),le,"+transpose"))}}re.push(new Or(le,le))}x.setSelections(re)})},newlineAndIndent:function(x){return un(x,function(){for(var z=x.listSelections(),re=z.length-1;re>=0;re--)x.replaceRange(x.doc.lineSeparator(),z[re].anchor,z[re].head,"+input");z=x.listSelections();for(var ne=0;nex&&Fn(z,this.pos)==0&&re==this.button};var Cd,Yc;function g0(x,z){var re=+new Date;return Yc&&Yc.compare(re,x,z)?(Cd=Yc=null,"triple"):Cd&&Cd.compare(re,x,z)?(Yc=new Xf(re,x,z),Cd=null,"double"):(Cd=new Xf(re,x,z),Yc=null,"single")}function Sc(x){var z=this,re=z.display;if(!(qt(z,x)||re.activeTouch&&re.input.supportsTouch())){if(re.input.ensurePolled(),re.shift=x.shiftKey,zl(re,x)){ye||(re.scroller.draggable=!1,setTimeout(function(){return re.scroller.draggable=!0},100));return}if(!Ml(z,x)){var ne=ri(z,x),le=Hi(x),ge=ne?g0(ne,le):"single";window.focus(),le==1&&z.state.selectingText&&z.state.selectingText(x),!(ne&&hd(z,le,ne,ge,x))&&(le==1?ne?vf(z,ne,ge,x):Ha(x)==re.scroller&&Ii(x):le==2?(ne&&Qn(z.doc,ne),setTimeout(function(){return re.input.focus()},20)):le==3&&(Mt?z.display.input.onContextMenu(x):ha(z)))}}}function hd(x,z,re,ne,le){var ge="Click";return ne=="double"?ge="Double"+ge:ne=="triple"&&(ge="Triple"+ge),ge=(z==1?"Left":z==2?"Middle":"Right")+ge,Uc(x,Wc(ge,le),le,function(Ie){if(typeof Ie=="string"&&(Ie=xc[Ie]),!Ie)return!1;var Ue=!1;try{x.isReadOnly()&&(x.state.suppressEdits=!0),Ue=Ie(x,re)!=ur}finally{x.state.suppressEdits=!1}return Ue})}function $d(x,z,re){var ne=x.getOption("configureMouse"),le=ne?ne(x,z,re):{};if(le.unit==null){var ge=jt?re.shiftKey&&re.metaKey:re.altKey;le.unit=ge?"rectangle":z=="single"?"char":z=="double"?"word":"line"}return(le.extend==null||x.doc.extend)&&(le.extend=x.doc.extend||re.shiftKey),le.addNew==null&&(le.addNew=St?re.metaKey:re.ctrlKey),le.moveOnDrag==null&&(le.moveOnDrag=!(St?re.altKey:re.ctrlKey)),le}function vf(x,z,re,ne){Qe?setTimeout(lr(di,x),0):x.curOp.focus=lt();var le=$d(x,re,ne),ge=x.doc.sel,Ie;x.options.dragDrop&&wi&&!x.isReadOnly()&&re=="single"&&(Ie=ge.contains(z))>-1&&(Fn((Ie=ge.ranges[Ie]).from(),z)<0||z.xRel>0)&&(Fn(Ie.to(),z)>0||z.xRel<0)?Zf(x,ne,z,le):Nf(x,ne,z,le)}function Zf(x,z,re,ne){var le=x.display,ge=!1,Ie=qn(x,function(vt){ye&&(le.scroller.draggable=!1),x.state.draggingText=!1,Ht(le.wrapper.ownerDocument,"mouseup",Ie),Ht(le.wrapper.ownerDocument,"mousemove",Ue),Ht(le.scroller,"dragstart",it),Ht(le.scroller,"drop",Ie),ge||(Ii(vt),ne.addNew||Qn(x.doc,re,null,null,ne.extend),ye&&!tt||Qe&&Je==9?setTimeout(function(){le.wrapper.ownerDocument.body.focus({preventScroll:!0}),le.input.focus()},20):le.input.focus())}),Ue=function(vt){ge=ge||Math.abs(z.clientX-vt.clientX)+Math.abs(z.clientY-vt.clientY)>=10},it=function(){return ge=!0};ye&&(le.scroller.draggable=!0),x.state.draggingText=Ie,Ie.copy=!ne.moveOnDrag,le.scroller.dragDrop&&le.scroller.dragDrop(),dr(le.wrapper.ownerDocument,"mouseup",Ie),dr(le.wrapper.ownerDocument,"mousemove",Ue),dr(le.scroller,"dragstart",it),dr(le.scroller,"drop",Ie),ha(x),setTimeout(function(){return le.input.focus()},20)}function Qf(x,z,re){if(re=="char")return new Or(z,z);if(re=="word")return x.findWordAt(z);if(re=="line")return new Or(Gn(z.line,0),$n(x.doc,Gn(z.line+1,0)));var ne=re(x,z);return new Or(ne.from,ne.to)}function Nf(x,z,re,ne){var le=x.display,ge=x.doc;Ii(z);var Ie,Ue,it=ge.sel,vt=it.ranges;if(ne.addNew&&!ne.extend?(Ue=ge.sel.contains(re),Ue>-1?Ie=vt[Ue]:Ie=new Or(re,re)):(Ie=ge.sel.primary(),Ue=ge.sel.primIndex),ne.unit=="rectangle")ne.addNew||(Ie=new Or(re,re)),re=ri(x,z,!0,!0),Ue=-1;else{var In=Qf(x,re,ne.unit);ne.extend?Ie=Ya(Ie,In.anchor,In.head,ne.extend):Ie=In}ne.addNew?Ue==-1?(Ue=vt.length,zi(ge,ae(x,vt.concat([Ie]),Ue),{scroll:!1,origin:"*mouse"})):vt.length>1&&vt[Ue].empty()&&ne.unit=="char"&&!ne.extend?(zi(ge,ae(x,vt.slice(0,Ue).concat(vt.slice(Ue+1)),0),{scroll:!1,origin:"*mouse"}),it=ge.sel):ai(ge,Ue,Ie,Nt):(Ue=0,zi(ge,new Dn([Ie],0),Nt),it=ge.sel);var er=re;function Ur(To){if(Fn(er,To)!=0)if(er=To,ne.unit=="rectangle"){for(var gl=[],Wl=x.options.tabSize,es=ft(wn(ge,re.line).text,re.ch,Wl),au=ft(wn(ge,To.line).text,To.ch,Wl),Gu=Math.min(es,au),Fc=Math.max(es,au),pc=Math.min(re.line,To.line),nd=Math.min(x.lastLine(),Math.max(re.line,To.line));pc<=nd;pc++){var Jc=wn(ge,pc).text,wc=ir(Jc,Gu,Wl);Gu==Fc?gl.push(new Or(Gn(pc,wc),Gn(pc,wc))):Jc.length>wc&&gl.push(new Or(Gn(pc,wc),Gn(pc,ir(Jc,Fc,Wl))))}gl.length||gl.push(new Or(re,re)),zi(ge,ae(x,it.ranges.slice(0,Ue).concat(gl),Ue),{origin:"*mouse",scroll:!1}),x.scrollIntoView(To)}else{var rd=Ie,Rs=Qf(x,To,ne.unit),uc=rd.anchor,cc;Fn(Rs.anchor,uc)>0?(cc=Rs.head,uc=Jn(rd.from(),Rs.anchor)):(cc=Rs.anchor,uc=zn(rd.to(),Rs.head));var yc=it.ranges.slice(0);yc[Ue]=fu(x,new Or($n(ge,uc),cc)),zi(ge,ae(x,yc,Ue),Nt)}}var Qr=le.wrapper.getBoundingClientRect(),Ki=0;function wa(To){var gl=++Ki,Wl=ri(x,To,!0,ne.unit=="rectangle");if(Wl)if(Fn(Wl,er)!=0){x.curOp.focus=lt(),Ur(Wl);var es=Er(le,ge);(Wl.line>=es.to||Wl.lineQr.bottom?20:0;au&&setTimeout(qn(x,function(){Ki==gl&&(le.scroller.scrollTop+=au,wa(To))}),50)}}function uo(To){x.state.selectingText=!1,Ki=1/0,To&&(Ii(To),le.input.focus()),Ht(le.wrapper.ownerDocument,"mousemove",Mo),Ht(le.wrapper.ownerDocument,"mouseup",cl),ge.history.lastSelOrigin=null}var Mo=qn(x,function(To){To.buttons===0||!Hi(To)?uo(To):wa(To)}),cl=qn(x,uo);x.state.selectingText=cl,dr(le.wrapper.ownerDocument,"mousemove",Mo),dr(le.wrapper.ownerDocument,"mouseup",cl)}function fu(x,z){var re=z.anchor,ne=z.head,le=wn(x.doc,re.line);if(Fn(re,ne)==0&&re.sticky==ne.sticky)return z;var ge=Vr(le);if(!ge)return z;var Ie=Qt(ge,re.ch,re.sticky),Ue=ge[Ie];if(Ue.from!=re.ch&&Ue.to!=re.ch)return z;var it=Ie+(Ue.from==re.ch==(Ue.level!=1)?0:1);if(it==0||it==ge.length)return z;var vt;if(ne.line!=re.line)vt=(ne.line-re.line)*(x.doc.direction=="ltr"?1:-1)>0;else{var In=Qt(ge,ne.ch,ne.sticky),er=In-Ie||(ne.ch-re.ch)*(Ue.level==1?-1:1);In==it-1||In==it?vt=er<0:vt=er>0}var Ur=ge[it+(vt?-1:0)],Qr=vt==(Ur.level==1),Ki=Qr?Ur.from:Ur.to,wa=Qr?"after":"before";return re.ch==Ki&&re.sticky==wa?z:new Or(new Gn(re.line,Ki,wa),ne)}function Nl(x,z,re,ne){var le,ge;if(z.touches)le=z.touches[0].clientX,ge=z.touches[0].clientY;else try{le=z.clientX,ge=z.clientY}catch(Ur){return!1}if(le>=Math.floor(x.display.gutters.getBoundingClientRect().right))return!1;ne&&Ii(z);var Ie=x.display,Ue=Ie.lineDiv.getBoundingClientRect();if(ge>Ue.bottom||!nr(x,re))return ea(z);ge-=Ue.top-Ie.viewOffset;for(var it=0;it=le){var In=qr(x.doc,ge),er=x.display.gutterSpecs[it];return Tt(x,re,x,In,er.className,z),ea(z)}}}function Ml(x,z){return Nl(x,z,"gutterClick",!0)}function Ia(x,z){zl(x.display,z)||_u(x,z)||qt(x,z,"contextmenu")||Mt||x.display.input.onContextMenu(z)}function _u(x,z){return nr(x,"gutterContextMenu")?Nl(x,z,"gutterContextMenu",!1):!1}function Xd(x){x.display.wrapper.className=x.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+x.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Ql(x)}var Mc={toString:function(){return"CodeMirror.Init"}},pd={},ad={};function ef(x){var z=x.optionHandlers;function re(ne,le,ge,Ie){x.defaults[ne]=le,ge&&(z[ne]=Ie?function(Ue,it,vt){vt!=Mc&&ge(Ue,it,vt)}:ge)}x.defineOption=re,x.Init=Mc,re("value","",function(ne,le){return ne.setValue(le)},!0),re("mode",null,function(ne,le){ne.doc.modeOption=le,Ke(ne)},!0),re("indentUnit",2,Ke,!0),re("indentWithTabs",!1),re("smartIndent",!0),re("tabSize",4,function(ne){ct(ne),Ql(ne),Zl(ne)},!0),re("lineSeparator",null,function(ne,le){if(ne.doc.lineSep=le,!!le){var ge=[],Ie=ne.doc.first;ne.doc.iter(function(it){for(var vt=0;;){var In=it.text.indexOf(le,vt);if(In==-1)break;vt=In+le.length,ge.push(Gn(Ie,In))}Ie++});for(var Ue=ge.length-1;Ue>=0;Ue--)vc(ne.doc,le,ge[Ue],Gn(ge[Ue].line,ge[Ue].ch+le.length))}}),re("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(ne,le,ge){ne.state.specialChars=new RegExp(le.source+(le.test(" ")?"":"| "),"g"),ge!=Mc&&ne.refresh()}),re("specialCharPlaceholder",Su,function(ne){return ne.refresh()},!0),re("electricChars",!0),re("inputStyle",qe?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),re("spellcheck",!1,function(ne,le){return ne.getInputField().spellcheck=le},!0),re("autocorrect",!1,function(ne,le){return ne.getInputField().autocorrect=le},!0),re("autocapitalize",!1,function(ne,le){return ne.getInputField().autocapitalize=le},!0),re("rtlMoveVisually",!Lt),re("wholeLineUpdateBefore",!0),re("theme","default",function(ne){Xd(ne),Ta(ne)},!0),re("keyMap","default",function(ne,le,ge){var Ie=gc(le),Ue=ge!=Mc&&gc(ge);Ue&&Ue.detach&&Ue.detach(ne,Ie),Ie.attach&&Ie.attach(ne,Ue||null)}),re("extraKeys",null),re("configureMouse",null),re("lineWrapping",!1,od,!0),re("gutters",[],function(ne,le){ne.display.gutterSpecs=Yo(le,ne.options.lineNumbers),Ta(ne)},!0),re("fixedGutter",!0,function(ne,le){ne.display.gutters.style.left=le?pu(ne.display)+"px":"0",ne.refresh()},!0),re("coverGutterNextToScrollbar",!1,function(ne){return ml(ne)},!0),re("scrollbarStyle","native",function(ne){iu(ne),ml(ne),ne.display.scrollbars.setScrollTop(ne.doc.scrollTop),ne.display.scrollbars.setScrollLeft(ne.doc.scrollLeft)},!0),re("lineNumbers",!1,function(ne,le){ne.display.gutterSpecs=Yo(ne.options.gutters,le),Ta(ne)},!0),re("firstLineNumber",1,Ta,!0),re("lineNumberFormatter",function(ne){return ne},Ta,!0),re("showCursorWhenSelecting",!1,kt,!0),re("resetSelectionOnContextMenu",!0),re("lineWiseCopyCut",!0),re("pasteLinesPerSelection",!0),re("selectionsMayTouch",!1),re("readOnly",!1,function(ne,le){le=="nocursor"&&(Bi(ne),ne.display.input.blur()),ne.display.input.readOnlyChanged(le)}),re("screenReaderLabel",null,function(ne,le){le=le===""?null:le,ne.display.input.screenReaderLabelChanged(le)}),re("disableInput",!1,function(ne,le){le||ne.display.input.reset()},!0),re("dragDrop",!0,tf),re("allowDropFileTypes",null),re("cursorBlinkRate",530),re("cursorScrollMargin",0),re("cursorHeight",1,kt,!0),re("singleCursorHeightPerLine",!0,kt,!0),re("workTime",100),re("workDelay",100),re("flattenSpans",!0,ct,!0),re("addModeClass",!1,ct,!0),re("pollInterval",100),re("undoDepth",200,function(ne,le){return ne.doc.history.undoDepth=le}),re("historyEventDelay",1250),re("viewportMargin",10,function(ne){return ne.refresh()},!0),re("maxHighlightLength",1e4,ct,!0),re("moveInputWithCursor",!0,function(ne,le){le||ne.display.input.resetPosition()}),re("tabindex",null,function(ne,le){return ne.display.input.getField().tabIndex=le||""}),re("autofocus",null),re("direction","ltr",function(ne,le){return ne.doc.setDirection(le)},!0),re("phrases",null)}function tf(x,z,re){var ne=re&&re!=Mc;if(!z!=!ne){var le=x.display.dragFunctions,ge=z?dr:Ht;ge(x.display.scroller,"dragstart",le.start),ge(x.display.scroller,"dragenter",le.enter),ge(x.display.scroller,"dragover",le.over),ge(x.display.scroller,"dragleave",le.leave),ge(x.display.scroller,"drop",le.drop)}}function od(x){x.options.lineWrapping?(dn(x.display.wrapper,"CodeMirror-wrap"),x.display.sizer.style.minWidth="",x.display.sizerWidth=null):(gn(x.display.wrapper,"CodeMirror-wrap"),Ma(x)),Gs(x),Zl(x),Ql(x),setTimeout(function(){return ml(x)},100)}function Os(x,z){var re=this;if(!(this instanceof Os))return new Os(x,z);this.options=z=z?Dr(z):{},Dr(pd,z,!1);var ne=z.value;typeof ne=="string"?ne=new ec(ne,z.mode,null,z.lineSeparator,z.direction):z.mode&&(ne.modeOption=z.mode),this.doc=ne;var le=new Os.inputStyles[z.inputStyle](this),ge=this.display=new So(x,ne,le,z);ge.wrapper.CodeMirror=this,Xd(this),z.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),iu(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Le,keySeq:null,specialChars:null},z.autofocus&&!qe&&ge.input.focus(),Qe&&Je<11&&setTimeout(function(){return re.display.input.reset(!0)},20),Ac(this),ff(),Is(this),this.curOp.forceUpdate=!0,Bt(this,ne),z.autofocus&&!qe||this.hasFocus()?setTimeout(function(){re.hasFocus()&&!re.state.focused&&Ei(re)},20):Bi(this);for(var Ie in ad)ad.hasOwnProperty(Ie)&&ad[Ie](this,z[Ie],Mc);Co(this),z.finishInit&&z.finishInit(this);for(var Ue=0;Ue20*20}dr(z.scroller,"touchstart",function(it){if(!qt(x,it)&&!ge(it)&&!Ml(x,it)){z.input.ensurePolled(),clearTimeout(re);var vt=+new Date;z.activeTouch={start:vt,moved:!1,prev:vt-ne.end<=300?ne:null},it.touches.length==1&&(z.activeTouch.left=it.touches[0].pageX,z.activeTouch.top=it.touches[0].pageY)}}),dr(z.scroller,"touchmove",function(){z.activeTouch&&(z.activeTouch.moved=!0)}),dr(z.scroller,"touchend",function(it){var vt=z.activeTouch;if(vt&&!zl(z,it)&&vt.left!=null&&!vt.moved&&new Date-vt.start<300){var In=x.coordsChar(z.activeTouch,"page"),er;!vt.prev||Ie(vt,vt.prev)?er=new Or(In,In):!vt.prev.prev||Ie(vt,vt.prev.prev)?er=x.findWordAt(In):er=new Or(Gn(In.line,0),$n(x.doc,Gn(In.line+1,0))),x.setSelection(er.anchor,er.head),x.focus(),Ii(it)}le()}),dr(z.scroller,"touchcancel",le),dr(z.scroller,"scroll",function(){z.scroller.clientHeight&&(Xr(x,z.scroller.scrollTop),Ms(x,z.scroller.scrollLeft,!0),Tt(x,"scroll",x))}),dr(z.scroller,"mousewheel",function(it){return Rl(x,it)}),dr(z.scroller,"DOMMouseScroll",function(it){return Rl(x,it)}),dr(z.wrapper,"scroll",function(){return z.wrapper.scrollTop=z.wrapper.scrollLeft=0}),z.dragFunctions={enter:function(it){qt(x,it)||vo(it)},over:function(it){qt(x,it)||(kd(x,it),vo(it))},start:function(it){return df(x,it)},drop:qn(x,xf),leave:function(it){qt(x,it)||xd(x)}};var Ue=z.input.getField();dr(Ue,"keyup",function(it){return $f.call(x,it)}),dr(Ue,"keydown",qn(x,_d)),dr(Ue,"keypress",qn(x,kf)),dr(Ue,"focus",function(it){return Ei(x,it)}),dr(Ue,"blur",function(it){return Bi(x,it)})}var A0=[];Os.defineInitHook=function(x){return A0.push(x)};function Ed(x,z,re,ne){var le=x.doc,ge;re==null&&(re="add"),re=="smart"&&(le.mode.indent?ge=Ji(x,z).state:re="prev");var Ie=x.options.tabSize,Ue=wn(le,z),it=ft(Ue.text,null,Ie);Ue.stateAfter&&(Ue.stateAfter=null);var vt=Ue.text.match(/^\s*/)[0],In;if(!ne&&!/\S/.test(Ue.text))In=0,re="not";else if(re=="smart"&&(In=le.mode.indent(ge,Ue.text.slice(vt.length),Ue.text),In==ur||In>150)){if(!ne)return;re="prev"}re=="prev"?z>le.first?In=ft(wn(le,z-1).text,null,Ie):In=0:re=="add"?In=it+x.options.indentUnit:re=="subtract"?In=it-x.options.indentUnit:typeof re=="number"&&(In=it+re),In=Math.max(0,In);var er="",Ur=0;if(x.options.indentWithTabs)for(var Qr=Math.floor(In/Ie);Qr;--Qr)Ur+=Ie,er+=" ";if(UrIe,it=Br(z),vt=null;if(Ue&&ne.ranges.length>1)if(Zd&&Zd.text.join(` +`)==z){if(ne.ranges.length%Zd.text.length==0){vt=[];for(var In=0;In=0;Ur--){var Qr=ne.ranges[Ur],Ki=Qr.from(),wa=Qr.to();Qr.empty()&&(re&&re>0?Ki=Gn(Ki.line,Ki.ch-re):x.state.overwrite&&!Ue?wa=Gn(wa.line,Math.min(wn(ge,wa.line).text.length,wa.ch+Cn(it).length)):Ue&&Zd&&Zd.lineWise&&Zd.text.join(` +`)==it.join(` +`)&&(Ki=wa=Gn(Ki.line,0)));var uo={from:Ki,to:wa,text:vt?vt[Ur%vt.length]:it,origin:le||(Ue?"paste":x.state.cutIncoming>Ie?"cut":"+input")};cu(x.doc,uo),ao(x,"inputRead",x,uo)}z&&!Ue&&x0(x,z),ko(x),x.curOp.updateInput<2&&(x.curOp.updateInput=er),x.curOp.typing=!0,x.state.pasteIncoming=x.state.cutIncoming=-1}function b0(x,z){var re=x.clipboardData&&x.clipboardData.getData("Text");if(re)return x.preventDefault(),!z.isReadOnly()&&!z.options.disableInput&&un(z,function(){return y0(z,re,0,null,"paste")}),!0}function x0(x,z){if(!(!x.options.electricChars||!x.options.smartIndent))for(var re=x.doc.sel,ne=re.ranges.length-1;ne>=0;ne--){var le=re.ranges[ne];if(!(le.head.ch>100||ne&&re.ranges[ne-1].head.line==le.head.line)){var ge=x.getModeAt(le.head),Ie=!1;if(ge.electricChars){for(var Ue=0;Ue-1){Ie=Ed(x,le.head.line,"smart");break}}else ge.electricInput&&ge.electricInput.test(wn(x.doc,le.head.line).text.slice(0,le.head.ch))&&(Ie=Ed(x,le.head.line,"smart"));Ie&&ao(x,"electricInput",x,le.head.line)}}}function vd(x){for(var z=[],re=[],ne=0;nege&&(Ed(this,Ue.head.line,ne,!0),ge=Ue.head.line,Ie==this.doc.sel.primIndex&&ko(this));else{var it=Ue.from(),vt=Ue.to(),In=Math.max(ge,it.line);ge=Math.min(this.lastLine(),vt.line-(vt.ch?0:1))+1;for(var er=In;er0&&ai(this.doc,Ie,new Or(it,Ur[Ie].to()),It)}}}),getTokenAt:function(ne,le){return Fa(this,ne,le)},getLineTokens:function(ne,le){return Fa(this,Gn(ne),le,!0)},getTokenTypeAt:function(ne){ne=$n(this.doc,ne);var le=bi(this,wn(this.doc,ne.line)),ge=0,Ie=(le.length-1)/2,Ue=ne.ch,it;if(Ue==0)it=le[2];else for(;;){var vt=ge+Ie>>1;if((vt?le[vt*2-1]:0)>=Ue)Ie=vt;else if(le[vt*2+1]it&&(ne=it,Ie=!0),Ue=wn(this.doc,ne)}else Ue=ne;return Bl(this,Ue,{top:0,left:0},le||"page",ge||Ie).top+(Ie?this.doc.height-$a(Ue):0)},defaultTextHeight:function(){return ss(this.display)},defaultCharWidth:function(){return to(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(ne,le,ge,Ie,Ue){var it=this.display;ne=hs(this,$n(this.doc,ne));var vt=ne.bottom,In=ne.left;if(le.style.position="absolute",le.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(le),it.sizer.appendChild(le),Ie=="over")vt=ne.top;else if(Ie=="above"||Ie=="near"){var er=Math.max(it.wrapper.clientHeight,this.doc.height),Ur=Math.max(it.sizer.clientWidth,it.lineSpace.clientWidth);(Ie=="above"||ne.bottom+le.offsetHeight>er)&&ne.top>le.offsetHeight?vt=ne.top-le.offsetHeight:ne.bottom+le.offsetHeight<=er&&(vt=ne.bottom),In+le.offsetWidth>Ur&&(In=Ur-le.offsetWidth)}le.style.top=vt+"px",le.style.left=le.style.right="",Ue=="right"?(In=it.sizer.clientWidth-le.offsetWidth,le.style.right="0px"):(Ue=="left"?In=0:Ue=="middle"&&(In=(it.sizer.clientWidth-le.offsetWidth)/2),le.style.left=In+"px"),ge&&Po(this,{left:In,top:vt,right:In+le.offsetWidth,bottom:vt+le.offsetHeight})},triggerOnKeyDown:_n(_d),triggerOnKeyPress:_n(kf),triggerOnKeyUp:$f,triggerOnMouseDown:_n(Sc),execCommand:function(ne){if(xc.hasOwnProperty(ne))return xc[ne].call(null,this)},triggerElectric:_n(function(ne){x0(this,ne)}),findPosH:function(ne,le,ge,Ie){var Ue=1;le<0&&(Ue=-1,le=-le);for(var it=$n(this.doc,ne),vt=0;vt0&&In(ge.charAt(Ie-1));)--Ie;for(;Ue.5||this.options.lineWrapping)&&Gs(this),Tt(this,"refresh",this)}),swapDoc:_n(function(ne){var le=this.doc;return le.cm=null,this.state.selectingText&&this.state.selectingText(),Bt(this,ne),Ql(this),this.display.input.reset(),co(this,ne.scrollLeft,ne.scrollTop),this.curOp.forceScroll=!0,ao(this,"swapDoc",this,le),le}),phrase:function(ne){var le=this.options.phrases;return le&&Object.prototype.hasOwnProperty.call(le,ne)?le[ne]:ne},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Jr(x),x.registerHelper=function(ne,le,ge){re.hasOwnProperty(ne)||(re[ne]=x[ne]={_global:[]}),re[ne][le]=ge},x.registerGlobalHelper=function(ne,le,ge,Ie){x.registerHelper(ne,le,Ie),re[ne]._global.push({pred:ge,val:Ie})}}function Lf(x,z,re,ne,le){var ge=z,Ie=re,Ue=wn(x,z.line),it=le&&x.direction=="rtl"?-re:re;function vt(){var cl=z.line+it;return cl=x.first+x.size?!1:(z=new Gn(cl,z.ch,z.sticky),Ue=wn(x,cl))}function In(cl){var To;if(ne=="codepoint"){var gl=Ue.text.charCodeAt(z.ch+(ne>0?0:-1));isNaN(gl)?To=null:To=new Gn(z.line,Math.max(0,Math.min(Ue.text.length,z.ch+re*(gl>=55296&&gl<56320?2:1))),-re)}else le?To=bu(x.cm,Ue,z,re):To=Ic(Ue,z,re);if(To==null)if(!cl&&vt())z=qs(le,x.cm,Ue,z.line,it);else return!1;else z=To;return!0}if(ne=="char"||ne=="codepoint")In();else if(ne=="column")In(!0);else if(ne=="word"||ne=="group")for(var er=null,Ur=ne=="group",Qr=x.cm&&x.cm.getHelper(z,"wordChars"),Ki=!0;!(re<0&&!In(!Ki));Ki=!1){var wa=Ue.text.charAt(z.ch)||` +`,uo=Re(wa,Qr)?"w":Ur&&wa==` +`?"n":!Ur||/\s/.test(wa)?null:"p";if(Ur&&!Ki&&!uo&&(uo="s"),er&&er!=uo){re<0&&(re=1,In(),z.sticky="after");break}if(uo&&(er=uo),re>0&&!In(!Ki))break}var Mo=eu(x,z,ge,Ie,!0);return Kt(ge,Mo)&&(Mo.hitSide=!0),Mo}function Vf(x,z,re,ne){var le=x.doc,ge=z.left,Ie;if(ne=="page"){var Ue=Math.min(x.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),it=Math.max(Ue-.5*ss(x.display),3);Ie=(re>0?z.bottom:z.top)+re*it}else ne=="line"&&(Ie=re>0?z.bottom+3:z.top-3);for(var vt;vt=jl(x,ge,Ie),!!vt.outside;){if(re<0?Ie<=0:Ie>=le.height){vt.hitSide=!0;break}Ie+=re*5}return vt}var Xu=function(x){this.cm=x,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Le,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Xu.prototype.init=function(x){var z=this,re=this,ne=re.cm,le=re.div=x.lineDiv;O0(le,ne.options.spellcheck,ne.options.autocorrect,ne.options.autocapitalize);function ge(Ue){for(var it=Ue.target;it;it=it.parentNode){if(it==le)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(it.className))break}return!1}dr(le,"paste",function(Ue){!ge(Ue)||qt(ne,Ue)||b0(Ue,ne)||Je<=11&&setTimeout(qn(ne,function(){return z.updateFromDOM()}),20)}),dr(le,"compositionstart",function(Ue){z.composing={data:Ue.data,done:!1}}),dr(le,"compositionupdate",function(Ue){z.composing||(z.composing={data:Ue.data,done:!1})}),dr(le,"compositionend",function(Ue){z.composing&&(Ue.data!=z.composing.data&&z.readFromDOMSoon(),z.composing.done=!0)}),dr(le,"touchstart",function(){return re.forceCompositionEnd()}),dr(le,"input",function(){z.composing||z.readFromDOMSoon()});function Ie(Ue){if(!(!ge(Ue)||qt(ne,Ue))){if(ne.somethingSelected())Qd({lineWise:!1,text:ne.getSelections()}),Ue.type=="cut"&&ne.replaceSelection("",null,"cut");else if(ne.options.lineWiseCopyCut){var it=vd(ne);Qd({lineWise:!0,text:it.text}),Ue.type=="cut"&&ne.operation(function(){ne.setSelections(it.ranges,0,It),ne.replaceSelection("",null,"cut")})}else return;if(Ue.clipboardData){Ue.clipboardData.clearData();var vt=Zd.text.join(` +`);if(Ue.clipboardData.setData("Text",vt),Ue.clipboardData.getData("Text")==vt){Ue.preventDefault();return}}var In=w0(),er=In.firstChild;ne.display.lineSpace.insertBefore(In,ne.display.lineSpace.firstChild),er.value=Zd.text.join(` +`);var Ur=document.activeElement;tn(er),setTimeout(function(){ne.display.lineSpace.removeChild(In),Ur.focus(),Ur==le&&re.showPrimarySelection()},50)}}dr(le,"copy",Ie),dr(le,"cut",Ie)},Xu.prototype.screenReaderLabelChanged=function(x){x?this.div.setAttribute("aria-label",x):this.div.removeAttribute("aria-label")},Xu.prototype.prepareSelection=function(){var x=zt(this.cm,!1);return x.focus=document.activeElement==this.div,x},Xu.prototype.showSelection=function(x,z){!x||!this.cm.display.view.length||((x.focus||z)&&this.showPrimarySelection(),this.showMultipleSelections(x))},Xu.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Xu.prototype.showPrimarySelection=function(){var x=this.getSelection(),z=this.cm,re=z.doc.sel.primary(),ne=re.from(),le=re.to();if(z.display.viewTo==z.display.viewFrom||ne.line>=z.display.viewTo||le.line=z.display.viewFrom&&E0(z,ne)||{node:Ue[0].measure.map[2],offset:0},vt=le.linex.firstLine()&&(ne=Gn(ne.line-1,wn(x.doc,ne.line-1).length)),le.ch==wn(x.doc,le.line).text.length&&le.linez.viewTo-1)return!1;var ge,Ie,Ue;ne.line==z.viewFrom||(ge=sa(x,ne.line))==0?(Ie=vr(z.view[0].line),Ue=z.view[0].node):(Ie=vr(z.view[ge].line),Ue=z.view[ge-1].node.nextSibling);var it=sa(x,le.line),vt,In;if(it==z.view.length-1?(vt=z.viewTo-1,In=z.lineDiv.lastChild):(vt=vr(z.view[it+1].line)-1,In=z.view[it+1].node.previousSibling),!Ue)return!1;for(var er=x.doc.splitLines(fh(x,Ue,In,Ie,vt)),Ur=gr(x.doc,Gn(Ie,0),Gn(vt,wn(x.doc,vt).text.length));er.length>1&&Ur.length>1;)if(Cn(er)==Cn(Ur))er.pop(),Ur.pop(),vt--;else if(er[0]==Ur[0])er.shift(),Ur.shift(),Ie++;else break;for(var Qr=0,Ki=0,wa=er[0],uo=Ur[0],Mo=Math.min(wa.length,uo.length);Qrne.ch&&cl.charCodeAt(cl.length-Ki-1)==To.charCodeAt(To.length-Ki-1);)Qr--,Ki++;er[er.length-1]=cl.slice(0,cl.length-Ki).replace(/^\u200b+/,""),er[0]=er[0].slice(Qr).replace(/\u200b+$/,"");var Wl=Gn(Ie,Qr),es=Gn(vt,Ur.length?Cn(Ur).length-Ki:0);if(er.length>1||er[0]||Fn(Wl,es))return vc(x.doc,er,Wl,es,"+input"),!0},Xu.prototype.ensurePolled=function(){this.forceCompositionEnd()},Xu.prototype.reset=function(){this.forceCompositionEnd()},Xu.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Xu.prototype.readFromDOMSoon=function(){var x=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(x.readDOMTimeout=null,x.composing)if(x.composing.done)x.composing=null;else return;x.updateFromDOM()},80))},Xu.prototype.updateFromDOM=function(){var x=this;(this.cm.isReadOnly()||!this.pollContent())&&un(this.cm,function(){return Zl(x.cm)})},Xu.prototype.setUneditable=function(x){x.contentEditable="false"},Xu.prototype.onKeyPress=function(x){x.charCode==0||this.composing||(x.preventDefault(),this.cm.isReadOnly()||qn(this.cm,y0)(this.cm,String.fromCharCode(x.charCode==null?x.keyCode:x.charCode),0))},Xu.prototype.readOnlyChanged=function(x){this.div.contentEditable=String(x!="nocursor")},Xu.prototype.onContextMenu=function(){},Xu.prototype.resetPosition=function(){},Xu.prototype.needsContentAttribute=!0;function E0(x,z){var re=Fo(x,z.line);if(!re||re.hidden)return null;var ne=wn(x.doc,z.line),le=ql(re,ne,z.line),ge=Vr(ne,x.doc.direction),Ie="left";if(ge){var Ue=Qt(ge,z.ch);Ie=Ue%2?"right":"left"}var it=eo(le.map,z.ch,Ie);return it.offset=it.collapse=="right"?it.end:it.start,it}function t0(x){for(var z=x;z;z=z.parentNode)if(/CodeMirror-gutter-wrapper/.test(z.className))return!0;return!1}function mf(x,z){return z&&(x.bad=!0),x}function fh(x,z,re,ne,le){var ge="",Ie=!1,Ue=x.doc.lineSeparator(),it=!1;function vt(Qr){return function(Ki){return Ki.id==Qr}}function In(){Ie&&(ge+=Ue,it&&(ge+=Ue),Ie=it=!1)}function er(Qr){Qr&&(In(),ge+=Qr)}function Ur(Qr){if(Qr.nodeType==1){var Ki=Qr.getAttribute("cm-text");if(Ki){er(Ki);return}var wa=Qr.getAttribute("cm-marker"),uo;if(wa){var Mo=x.findMarks(Gn(ne,0),Gn(le+1,0),vt(+wa));Mo.length&&(uo=Mo[0].find(0))&&er(gr(x.doc,uo.from,uo.to).join(Ue));return}if(Qr.getAttribute("contenteditable")=="false")return;var cl=/^(pre|div|p|li|table|br)$/i.test(Qr.nodeName);if(!/^br$/i.test(Qr.nodeName)&&Qr.textContent.length==0)return;cl&&In();for(var To=0;To=9&&z.hasSelection&&(z.hasSelection=null),re.poll()}),dr(le,"paste",function(Ie){qt(ne,Ie)||b0(Ie,ne)||(ne.state.pasteIncoming=+new Date,re.fastPoll())});function ge(Ie){if(!qt(ne,Ie)){if(ne.somethingSelected())Qd({lineWise:!1,text:ne.getSelections()});else if(ne.options.lineWiseCopyCut){var Ue=vd(ne);Qd({lineWise:!0,text:Ue.text}),Ie.type=="cut"?ne.setSelections(Ue.ranges,null,It):(re.prevInput="",le.value=Ue.text.join(` +`),tn(le))}else return;Ie.type=="cut"&&(ne.state.cutIncoming=+new Date)}}dr(le,"cut",ge),dr(le,"copy",ge),dr(x.scroller,"paste",function(Ie){if(!(zl(x,Ie)||qt(ne,Ie))){if(!le.dispatchEvent){ne.state.pasteIncoming=+new Date,re.focus();return}var Ue=new Event("paste");Ue.clipboardData=Ie.clipboardData,le.dispatchEvent(Ue)}}),dr(x.lineSpace,"selectstart",function(Ie){zl(x,Ie)||Ii(Ie)}),dr(le,"compositionstart",function(){var Ie=ne.getCursor("from");re.composing&&re.composing.range.clear(),re.composing={start:Ie,range:ne.markText(Ie,ne.getCursor("to"),{className:"CodeMirror-composing"})}}),dr(le,"compositionend",function(){re.composing&&(re.poll(),re.composing.range.clear(),re.composing=null)})},Ju.prototype.createField=function(x){this.wrapper=w0(),this.textarea=this.wrapper.firstChild},Ju.prototype.screenReaderLabelChanged=function(x){x?this.textarea.setAttribute("aria-label",x):this.textarea.removeAttribute("aria-label")},Ju.prototype.prepareSelection=function(){var x=this.cm,z=x.display,re=x.doc,ne=zt(x);if(x.options.moveInputWithCursor){var le=hs(x,re.sel.primary().head,"div"),ge=z.wrapper.getBoundingClientRect(),Ie=z.lineDiv.getBoundingClientRect();ne.teTop=Math.max(0,Math.min(z.wrapper.clientHeight-10,le.top+Ie.top-ge.top)),ne.teLeft=Math.max(0,Math.min(z.wrapper.clientWidth-10,le.left+Ie.left-ge.left))}return ne},Ju.prototype.showSelection=function(x){var z=this.cm,re=z.display;rn(re.cursorDiv,x.cursors),rn(re.selectionDiv,x.selection),x.teTop!=null&&(this.wrapper.style.top=x.teTop+"px",this.wrapper.style.left=x.teLeft+"px")},Ju.prototype.reset=function(x){if(!(this.contextMenuPending||this.composing)){var z=this.cm;if(z.somethingSelected()){this.prevInput="";var re=z.getSelection();this.textarea.value=re,z.state.focused&&tn(this.textarea),Qe&&Je>=9&&(this.hasSelection=re)}else x||(this.prevInput=this.textarea.value="",Qe&&Je>=9&&(this.hasSelection=null))}},Ju.prototype.getField=function(){return this.textarea},Ju.prototype.supportsTouch=function(){return!1},Ju.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!qe||lt()!=this.textarea))try{this.textarea.focus()}catch(x){}},Ju.prototype.blur=function(){this.textarea.blur()},Ju.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ju.prototype.receivedFocus=function(){this.slowPoll()},Ju.prototype.slowPoll=function(){var x=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){x.poll(),x.cm.state.focused&&x.slowPoll()})},Ju.prototype.fastPoll=function(){var x=!1,z=this;z.pollingFast=!0;function re(){var ne=z.poll();!ne&&!x?(x=!0,z.polling.set(60,re)):(z.pollingFast=!1,z.slowPoll())}z.polling.set(20,re)},Ju.prototype.poll=function(){var x=this,z=this.cm,re=this.textarea,ne=this.prevInput;if(this.contextMenuPending||!z.state.focused||Tn(re)&&!ne&&!this.composing||z.isReadOnly()||z.options.disableInput||z.state.keySeq)return!1;var le=re.value;if(le==ne&&!z.somethingSelected())return!1;if(Qe&&Je>=9&&this.hasSelection===le||St&&/[\uf700-\uf7ff]/.test(le))return z.display.input.reset(),!1;if(z.doc.sel==z.display.selForContextMenu){var ge=le.charCodeAt(0);if(ge==8203&&!ne&&(ne="\u200B"),ge==8666)return this.reset(),this.cm.execCommand("undo")}for(var Ie=0,Ue=Math.min(ne.length,le.length);Ie1e3||le.indexOf(` +`)>-1?re.value=x.prevInput="":x.prevInput=le,x.composing&&(x.composing.range.clear(),x.composing.range=z.markText(x.composing.start,z.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ju.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ju.prototype.onKeyPress=function(){Qe&&Je>=9&&(this.hasSelection=null),this.fastPoll()},Ju.prototype.onContextMenu=function(x){var z=this,re=z.cm,ne=re.display,le=z.textarea;z.contextMenuPending&&z.contextMenuPending();var ge=ri(re,x),Ie=ne.scroller.scrollTop;if(!ge||pt)return;var Ue=re.options.resetSelectionOnContextMenu;Ue&&re.doc.sel.contains(ge)==-1&&qn(re,zi)(re.doc,de(ge),It);var it=le.style.cssText,vt=z.wrapper.style.cssText,In=z.wrapper.offsetParent.getBoundingClientRect();z.wrapper.style.cssText="position: static",le.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(x.clientY-In.top-5)+"px; left: "+(x.clientX-In.left-5)+`px; + z-index: 1000; background: `+(Qe?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var er;ye&&(er=window.scrollY),ne.input.focus(),ye&&window.scrollTo(null,er),ne.input.reset(),re.somethingSelected()||(le.value=z.prevInput=" "),z.contextMenuPending=Qr,ne.selForContextMenu=re.doc.sel,clearTimeout(ne.detectingSelectAll);function Ur(){if(le.selectionStart!=null){var wa=re.somethingSelected(),uo="\u200B"+(wa?le.value:"");le.value="\u21DA",le.value=uo,z.prevInput=wa?"":"\u200B",le.selectionStart=1,le.selectionEnd=uo.length,ne.selForContextMenu=re.doc.sel}}function Qr(){if(z.contextMenuPending==Qr&&(z.contextMenuPending=!1,z.wrapper.style.cssText=vt,le.style.cssText=it,Qe&&Je<9&&ne.scrollbars.setScrollTop(ne.scroller.scrollTop=Ie),le.selectionStart!=null)){(!Qe||Qe&&Je<9)&&Ur();var wa=0,uo=function(){ne.selForContextMenu==re.doc.sel&&le.selectionStart==0&&le.selectionEnd>0&&z.prevInput=="\u200B"?qn(re,uu)(re):wa++<10?ne.detectingSelectAll=setTimeout(uo,500):(ne.selForContextMenu=null,ne.input.reset())};ne.detectingSelectAll=setTimeout(uo,200)}}if(Qe&&Je>=9&&Ur(),Mt){vo(x);var Ki=function(){Ht(window,"mouseup",Ki),setTimeout(Qr,20)};dr(window,"mouseup",Ki)}else setTimeout(Qr,50)},Ju.prototype.readOnlyChanged=function(x){x||this.reset(),this.textarea.disabled=x=="nocursor",this.textarea.readOnly=!!x},Ju.prototype.setUneditable=function(){},Ju.prototype.needsContentAttribute=!1;function Vd(x,z){if(z=z?Dr(z):{},z.value=x.value,!z.tabindex&&x.tabIndex&&(z.tabindex=x.tabIndex),!z.placeholder&&x.placeholder&&(z.placeholder=x.placeholder),z.autofocus==null){var re=lt();z.autofocus=re==x||x.getAttribute("autofocus")!=null&&re==document.body}function ne(){x.value=Ue.getValue()}var le;if(x.form&&(dr(x.form,"submit",ne),!z.leaveSubmitMethodAlone)){var ge=x.form;le=ge.submit;try{var Ie=ge.submit=function(){ne(),ge.submit=le,ge.submit(),ge.submit=Ie}}catch(it){}}z.finishInit=function(it){it.save=ne,it.getTextArea=function(){return x},it.toTextArea=function(){it.toTextArea=isNaN,ne(),x.parentNode.removeChild(it.getWrapperElement()),x.style.display="",x.form&&(Ht(x.form,"submit",ne),!z.leaveSubmitMethodAlone&&typeof x.form.submit=="function"&&(x.form.submit=le))}},x.style.display="none";var Ue=Os(function(it){return x.parentNode.insertBefore(it,x.nextSibling)},z);return Ue}function Ef(x){x.off=Ht,x.on=dr,x.wheelEventPixels=Ko,x.Doc=ec,x.splitLines=Br,x.countColumn=ft,x.findColumn=ir,x.isWordChar=we,x.Pass=ur,x.signal=Tt,x.Line=an,x.changeEnd=pe,x.scrollbarModel=ws,x.Pos=Gn,x.cmpPos=Fn,x.modes=Vn,x.mimeModes=wr,x.resolveMode=br,x.getMode=kr,x.modeExtensions=vi,x.extendMode=at,x.copyState=De,x.startState=Ot,x.innerMode=nt,x.commands=xc,x.keyMap=Iu,x.keyName=fd,x.isModifierKey=Rd,x.lookupKey=zc,x.normalizeKeyMap=jd,x.StringStream=xn,x.SharedTextMarker=Js,x.TextMarker=bd,x.LineWidget=ic,x.e_preventDefault=Ii,x.e_stopPropagation=ii,x.e_stop=vo,x.addClass=dn,x.contains=Rt,x.rmClass=gn,x.keyNames=Qc}ef(Os),C0(Os);var Od="iter insert remove copy getEditor constructor".split(" ");for(var td in ec.prototype)ec.prototype.hasOwnProperty(td)&&Gt(Od,td)<0&&(Os.prototype[td]=function(x){return function(){return x.apply(this.doc,arguments)}}(ec.prototype[td]));return Jr(ec),Os.inputStyles={textarea:Ju,contenteditable:Xu},Os.defineMode=function(x){!Os.defaults.mode&&x!="null"&&(Os.defaults.mode=x),Yn.apply(this,arguments)},Os.defineMIME=Pr,Os.defineMode("null",function(){return{token:function(x){return x.skipToEnd()}}}),Os.defineMIME("text/plain","null"),Os.defineExtension=function(x,z){Os.prototype[x]=z},Os.defineDocExtension=function(x,z){ec.prototype[x]=z},Os.fromTextArea=Vd,Ef(Os),Os.version="5.58.2",Os})},25419:function(Bn,Wn,ie){(function(ee){ee(ie(89780),ie(15525),ie(98101))})(function(ee){"use strict";ee.defineMode("markdown",function(Oe,st){var yt=ee.getMode(Oe,"text/html"),Qe=yt.name=="null";function Je(ft){if(ee.findModeByName){var Le=ee.findModeByName(ft);Le&&(ft=Le.mime||Le.mimes[0])}var Gt=ee.getMode(Oe,ft);return Gt.name=="null"?null:Gt}st.highlightFormatting===void 0&&(st.highlightFormatting=!1),st.maxBlockquoteDepth===void 0&&(st.maxBlockquoteDepth=0),st.taskLists===void 0&&(st.taskLists=!1),st.strikethrough===void 0&&(st.strikethrough=!1),st.emoji===void 0&&(st.emoji=!1),st.fencedCodeBlockHighlighting===void 0&&(st.fencedCodeBlockHighlighting=!0),st.fencedCodeBlockDefaultMode===void 0&&(st.fencedCodeBlockDefaultMode="text/plain"),st.xml===void 0&&(st.xml=!0),st.tokenTypeOverrides===void 0&&(st.tokenTypeOverrides={});var ye={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var Se in ye)ye.hasOwnProperty(Se)&&st.tokenTypeOverrides[Se]&&(ye[Se]=st.tokenTypeOverrides[Se]);var He=/^([*\-_])(?:\s*\1){2,}\s*$/,pt=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,tt=/^\[(x| )\](?=\s)/i,ut=st.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,ht=/^ {0,3}(?:\={1,}|-{2,})\s*$/,ot=/^[^#!\[\]*_\\<>` "'(~:]+/,Fe=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,qe=/^\s*\[[^\]]+?\]:.*$/,St=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,jt=" ";function Lt(ft,Le,Gt){return Le.f=Le.inline=Gt,Gt(ft,Le)}function Ut(ft,Le,Gt){return Le.f=Le.block=Gt,Gt(ft,Le)}function At(ft){return!ft||!/\S/.test(ft.string)}function Mt(ft){if(ft.linkTitle=!1,ft.linkHref=!1,ft.linkText=!1,ft.em=!1,ft.strong=!1,ft.strikethrough=!1,ft.quote=0,ft.indentedCode=!1,ft.f==gn){var Le=Qe;if(!Le){var Gt=ee.innerMode(yt,ft.htmlState);Le=Gt.mode.name=="xml"&&Gt.state.tagStart===null&&!Gt.state.context&&Gt.state.tokenize.isInText}Le&&(ft.f=_t,ft.block=je,ft.htmlState=null)}return ft.trailingSpace=0,ft.trailingSpaceNewLine=!1,ft.prevLine=ft.thisLine,ft.thisLine={stream:null},null}function je(ft,Le){var Gt=ft.column()===Le.indentation,Cr=At(Le.prevLine.stream),ur=Le.indentedCode,It=Le.prevLine.hr,Nt=Le.list!==!1,hr=(Le.listStack[Le.listStack.length-1]||0)+3;Le.indentedCode=!1;var ir=Le.indentation;if(Le.indentationDiff===null&&(Le.indentationDiff=Le.indentation,Nt)){for(Le.list=null;ir=4&&(ur||Le.prevLine.fencedCodeEnd||Le.prevLine.header||Cr))return ft.skipToEnd(),Le.indentedCode=!0,ye.code;if(ft.eatSpace())return null;if(Gt&&Le.indentation<=hr&&(Cn=ft.match(ut))&&Cn[1].length<=6)return Le.quote=0,Le.header=Cn[1].length,Le.thisLine.header=!0,st.highlightFormatting&&(Le.formatting="header"),Le.f=Le.inline,rn(Le);if(Le.indentation<=hr&&ft.eat(">"))return Le.quote=Gt?1:Le.quote+1,st.highlightFormatting&&(Le.formatting="quote"),ft.eatSpace(),rn(Le);if(!An&&!Le.setext&&Gt&&Le.indentation<=hr&&(Cn=ft.match(pt))){var Pn=Cn[1]?"ol":"ul";return Le.indentation=ir+ft.current().length,Le.list=!0,Le.quote=0,Le.listStack.push(Le.indentation),Le.em=!1,Le.strong=!1,Le.code=!1,Le.strikethrough=!1,st.taskLists&&ft.match(tt,!1)&&(Le.taskList=!0),Le.f=Le.inline,st.highlightFormatting&&(Le.formatting=["list","list-"+Pn]),rn(Le)}else{if(Gt&&Le.indentation<=hr&&(Cn=ft.match(Fe,!0)))return Le.quote=0,Le.fencedEndRE=new RegExp(Cn[1]+"+ *$"),Le.localMode=st.fencedCodeBlockHighlighting&&Je(Cn[2]||st.fencedCodeBlockDefaultMode),Le.localMode&&(Le.localState=ee.startState(Le.localMode)),Le.f=Le.block=Nn,st.highlightFormatting&&(Le.formatting="code-block"),Le.code=-1,rn(Le);if(Le.setext||(!sn||!Nt)&&!Le.quote&&Le.list===!1&&!Le.code&&!An&&!qe.test(ft.string)&&(Cn=ft.lookAhead(1))&&(Cn=Cn.match(ht)))return Le.setext?(Le.header=Le.setext,Le.setext=0,ft.skipToEnd(),st.highlightFormatting&&(Le.formatting="header")):(Le.header=Cn[0].charAt(0)=="="?1:2,Le.setext=Le.header),Le.thisLine.header=!0,Le.f=Le.inline,rn(Le);if(An)return ft.skipToEnd(),Le.hr=!0,Le.thisLine.hr=!0,ye.hr;if(ft.peek()==="[")return Lt(ft,Le,ln)}return Lt(ft,Le,Le.inline)}function gn(ft,Le){var Gt=yt.token(ft,Le.htmlState);if(!Qe){var Cr=ee.innerMode(yt,Le.htmlState);(Cr.mode.name=="xml"&&Cr.state.tagStart===null&&!Cr.state.context&&Cr.state.tokenize.isInText||Le.md_inside&&ft.current().indexOf(">")>-1)&&(Le.f=_t,Le.block=je,Le.htmlState=null)}return Gt}function Nn(ft,Le){var Gt=Le.listStack[Le.listStack.length-1]||0,Cr=Le.indentation=ft.quote?Le.push(ye.formatting+"-"+ft.formatting[Gt]+"-"+ft.quote):Le.push("error"))}if(ft.taskOpen)return Le.push("meta"),Le.length?Le.join(" "):null;if(ft.taskClosed)return Le.push("property"),Le.length?Le.join(" "):null;if(ft.linkHref?Le.push(ye.linkHref,"url"):(ft.strong&&Le.push(ye.strong),ft.em&&Le.push(ye.em),ft.strikethrough&&Le.push(ye.strikethrough),ft.emoji&&Le.push(ye.emoji),ft.linkText&&Le.push(ye.linkText),ft.code&&Le.push(ye.code),ft.image&&Le.push(ye.image),ft.imageAltText&&Le.push(ye.imageAltText,"link"),ft.imageMarker&&Le.push(ye.imageMarker)),ft.header&&Le.push(ye.header,ye.header+"-"+ft.header),ft.quote&&(Le.push(ye.quote),!st.maxBlockquoteDepth||st.maxBlockquoteDepth>=ft.quote?Le.push(ye.quote+"-"+ft.quote):Le.push(ye.quote+"-"+st.maxBlockquoteDepth)),ft.list!==!1){var Cr=(ft.listStack.length-1)%3;Cr?Cr===1?Le.push(ye.list2):Le.push(ye.list3):Le.push(ye.list1)}return ft.trailingSpaceNewLine?Le.push("trailing-space-new-line"):ft.trailingSpace&&Le.push("trailing-space-"+(ft.trailingSpace%2?"a":"b")),Le.length?Le.join(" "):null}function Et(ft,Le){if(ft.match(ot,!0))return rn(Le)}function _t(ft,Le){var Gt=Le.text(ft,Le);if(typeof Gt!="undefined")return Gt;if(Le.list)return Le.list=null,rn(Le);if(Le.taskList){var Cr=ft.match(tt,!0)[1]===" ";return Cr?Le.taskOpen=!0:Le.taskClosed=!0,st.highlightFormatting&&(Le.formatting="task"),Le.taskList=!1,rn(Le)}if(Le.taskOpen=!1,Le.taskClosed=!1,Le.header&&ft.match(/^#+$/,!0))return st.highlightFormatting&&(Le.formatting="header"),rn(Le);var ur=ft.next();if(Le.linkTitle){Le.linkTitle=!1;var It=ur;ur==="("&&(It=")"),It=(It+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Nt="^\\s*(?:[^"+It+"\\\\]+|\\\\\\\\|\\\\.)"+It;if(ft.match(new RegExp(Nt),!0))return ye.linkHref}if(ur==="`"){var hr=Le.formatting;st.highlightFormatting&&(Le.formatting="code"),ft.eatWhile("`");var ir=ft.current().length;if(Le.code==0&&(!Le.quote||ir==1))return Le.code=ir,rn(Le);if(ir==Le.code){var sn=rn(Le);return Le.code=0,sn}else return Le.formatting=hr,rn(Le)}else if(Le.code)return rn(Le);if(ur==="\\"&&(ft.next(),st.highlightFormatting)){var An=rn(Le),Cn=ye.formatting+"-escape";return An?An+" "+Cn:Cn}if(ur==="!"&&ft.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return Le.imageMarker=!0,Le.image=!0,st.highlightFormatting&&(Le.formatting="image"),rn(Le);if(ur==="["&&Le.imageMarker&&ft.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return Le.imageMarker=!1,Le.imageAltText=!0,st.highlightFormatting&&(Le.formatting="image"),rn(Le);if(ur==="]"&&Le.imageAltText){st.highlightFormatting&&(Le.formatting="image");var An=rn(Le);return Le.imageAltText=!1,Le.image=!1,Le.inline=Le.f=Rt,An}if(ur==="["&&!Le.image)return Le.linkText&&ft.match(/^.*?\]/)||(Le.linkText=!0,st.highlightFormatting&&(Le.formatting="link")),rn(Le);if(ur==="]"&&Le.linkText){st.highlightFormatting&&(Le.formatting="link");var An=rn(Le);return Le.linkText=!1,Le.inline=Le.f=ft.match(/\(.*?\)| ?\[.*?\]/,!1)?Rt:_t,An}if(ur==="<"&&ft.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){Le.f=Le.inline=We,st.highlightFormatting&&(Le.formatting="link");var An=rn(Le);return An?An+=" ":An="",An+ye.linkInline}if(ur==="<"&&ft.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){Le.f=Le.inline=We,st.highlightFormatting&&(Le.formatting="link");var An=rn(Le);return An?An+=" ":An="",An+ye.linkEmail}if(st.xml&&ur==="<"&&ft.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var Pn=ft.string.indexOf(">",ft.pos);if(Pn!=-1){var Ln=ft.string.substring(ft.start,Pn);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Ln)&&(Le.md_inside=!0)}return ft.backUp(1),Le.htmlState=ee.startState(yt),Ut(ft,Le,gn)}if(st.xml&&ur==="<"&&ft.match(/^\/\w*?>/))return Le.md_inside=!1,"tag";if(ur==="*"||ur==="_"){for(var Te=1,ve=ft.pos==1?" ":ft.string.charAt(ft.pos-2);Te<3&&ft.eat(ur);)Te++;var he=ft.peek()||" ",we=!/\s/.test(he)&&(!St.test(he)||/\s/.test(ve)||St.test(ve)),Re=!/\s/.test(ve)&&(!St.test(ve)||/\s/.test(he)||St.test(he)),fe=null,wt=null;if(Te%2&&(!Le.em&&we&&(ur==="*"||!Re||St.test(ve))?fe=!0:Le.em==ur&&Re&&(ur==="*"||!we||St.test(he))&&(fe=!1)),Te>1&&(!Le.strong&&we&&(ur==="*"||!Re||St.test(ve))?wt=!0:Le.strong==ur&&Re&&(ur==="*"||!we||St.test(he))&&(wt=!1)),wt!=null||fe!=null){st.highlightFormatting&&(Le.formatting=fe==null?"strong":wt==null?"em":"strong em"),fe===!0&&(Le.em=ur),wt===!0&&(Le.strong=ur);var sn=rn(Le);return fe===!1&&(Le.em=!1),wt===!1&&(Le.strong=!1),sn}}else if(ur===" "&&(ft.eat("*")||ft.eat("_"))){if(ft.peek()===" ")return rn(Le);ft.backUp(1)}if(st.strikethrough){if(ur==="~"&&ft.eatWhile(ur)){if(Le.strikethrough){st.highlightFormatting&&(Le.formatting="strikethrough");var sn=rn(Le);return Le.strikethrough=!1,sn}else if(ft.match(/^[^\s]/,!1))return Le.strikethrough=!0,st.highlightFormatting&&(Le.formatting="strikethrough"),rn(Le)}else if(ur===" "&&ft.match(/^~~/,!0)){if(ft.peek()===" ")return rn(Le);ft.backUp(2)}}if(st.emoji&&ur===":"&&ft.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){Le.emoji=!0,st.highlightFormatting&&(Le.formatting="emoji");var en=rn(Le);return Le.emoji=!1,en}return ur===" "&&(ft.match(/^ +$/,!1)?Le.trailingSpace++:Le.trailingSpace&&(Le.trailingSpaceNewLine=!0)),rn(Le)}function We(ft,Le){var Gt=ft.next();if(Gt===">"){Le.f=Le.inline=_t,st.highlightFormatting&&(Le.formatting="link");var Cr=rn(Le);return Cr?Cr+=" ":Cr="",Cr+ye.linkInline}return ft.match(/^[^>]+/,!0),ye.linkInline}function Rt(ft,Le){if(ft.eatSpace())return null;var Gt=ft.next();return Gt==="("||Gt==="["?(Le.f=Le.inline=dn(Gt==="("?")":"]"),st.highlightFormatting&&(Le.formatting="link-string"),Le.linkHref=!0,rn(Le)):"error"}var lt={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function dn(ft){return function(Le,Gt){var Cr=Le.next();if(Cr===ft){Gt.f=Gt.inline=_t,st.highlightFormatting&&(Gt.formatting="link-string");var ur=rn(Gt);return Gt.linkHref=!1,ur}return Le.match(lt[ft]),Gt.linkHref=!0,rn(Gt)}}function ln(ft,Le){return ft.match(/^([^\]\\]|\\.)*\]:/,!1)?(Le.f=tn,ft.next(),st.highlightFormatting&&(Le.formatting="link"),Le.linkText=!0,rn(Le)):Lt(ft,Le,_t)}function tn(ft,Le){if(ft.match(/^\]:/,!0)){Le.f=Le.inline=lr,st.highlightFormatting&&(Le.formatting="link");var Gt=rn(Le);return Le.linkText=!1,Gt}return ft.match(/^([^\]\\]|\\.)+/,!0),ye.linkText}function lr(ft,Le){return ft.eatSpace()?null:(ft.match(/^[^\s]+/,!0),ft.peek()===void 0?Le.linkTitle=!0:ft.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),Le.f=Le.inline=_t,ye.linkHref+" url")}var Dr={startState:function(){return{f:je,prevLine:{stream:null},thisLine:{stream:null},block:je,htmlState:null,indentation:0,inline:_t,text:Et,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(ft){return{f:ft.f,prevLine:ft.prevLine,thisLine:ft.thisLine,block:ft.block,htmlState:ft.htmlState&&ee.copyState(yt,ft.htmlState),indentation:ft.indentation,localMode:ft.localMode,localState:ft.localMode?ee.copyState(ft.localMode,ft.localState):null,inline:ft.inline,text:ft.text,formatting:!1,linkText:ft.linkText,linkTitle:ft.linkTitle,linkHref:ft.linkHref,code:ft.code,em:ft.em,strong:ft.strong,strikethrough:ft.strikethrough,emoji:ft.emoji,header:ft.header,setext:ft.setext,hr:ft.hr,taskList:ft.taskList,list:ft.list,listStack:ft.listStack.slice(0),quote:ft.quote,indentedCode:ft.indentedCode,trailingSpace:ft.trailingSpace,trailingSpaceNewLine:ft.trailingSpaceNewLine,md_inside:ft.md_inside,fencedEndRE:ft.fencedEndRE}},token:function(ft,Le){if(Le.formatting=!1,ft!=Le.thisLine.stream){if(Le.header=0,Le.hr=!1,ft.match(/^\s*$/,!0))return Mt(Le),null;if(Le.prevLine=Le.thisLine,Le.thisLine={stream:ft},Le.taskList=!1,Le.trailingSpace=0,Le.trailingSpaceNewLine=!1,!Le.localState&&(Le.f=Le.block,Le.f!=gn)){var Gt=ft.match(/^\s*/,!0)[0].replace(/\t/g,jt).length;if(Le.indentation=Gt,Le.indentationDiff=null,Gt>0)return null}}return Le.f(ft,Le)},innerMode:function(ft){return ft.block==gn?{state:ft.htmlState,mode:yt}:ft.localState?{state:ft.localState,mode:ft.localMode}:{state:ft,mode:Dr}},indent:function(ft,Le,Gt){return ft.block==gn&&yt.indent?yt.indent(ft.htmlState,Le,Gt):ft.localState&&ft.localMode.indent?ft.localMode.indent(ft.localState,Le,Gt):ee.Pass},blankLine:Mt,getType:rn,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return Dr},"xml"),ee.defineMIME("text/markdown","markdown"),ee.defineMIME("text/x-markdown","markdown")})},98101:function(Bn,Wn,ie){(function(ee){ee(ie(89780))})(function(ee){"use strict";ee.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var Oe=0;Oe-1&&yt.substring(ye+1,yt.length);if(Se)return ee.findModeByExtension(Se)},ee.findModeByName=function(yt){yt=yt.toLowerCase();for(var Qe=0;Qe0?ot.cmdState[ot.cmdState.length-1]:null}function Je(ot){var Fe=ot.cmdState.pop();Fe&&Fe.closeBracket()}function ye(ot){for(var Fe=ot.cmdState,qe=Fe.length-1;qe>=0;qe--){var St=Fe[qe];if(St.name!="DEFAULT")return St}return{styleIdentifier:function(){return null}}}function Se(ot,Fe,qe){return function(){this.name=ot,this.bracketNo=0,this.style=Fe,this.styles=qe,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var He={};He.importmodule=Se("importmodule","tag",["string","builtin"]),He.documentclass=Se("documentclass","tag",["","atom"]),He.usepackage=Se("usepackage","tag",["atom"]),He.begin=Se("begin","tag",["atom"]),He.end=Se("end","tag",["atom"]),He.label=Se("label","tag",["atom"]),He.ref=Se("ref","tag",["atom"]),He.eqref=Se("eqref","tag",["atom"]),He.cite=Se("cite","tag",["atom"]),He.bibitem=Se("bibitem","tag",["atom"]),He.Bibitem=Se("Bibitem","tag",["atom"]),He.RBibitem=Se("RBibitem","tag",["atom"]),He.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function pt(ot,Fe){ot.f=Fe}function tt(ot,Fe){var qe;if(ot.match(/^\\[a-zA-Z@]+/)){var St=ot.current().slice(1);return qe=He.hasOwnProperty(St)?He[St]:He.DEFAULT,qe=new qe,yt(Fe,qe),pt(Fe,ht),qe.style}if(ot.match(/^\\[$&%#{}_]/)||ot.match(/^\\[,;!\/\\]/))return"tag";if(ot.match("\\["))return pt(Fe,function(Lt,Ut){return ut(Lt,Ut,"\\]")}),"keyword";if(ot.match("\\("))return pt(Fe,function(Lt,Ut){return ut(Lt,Ut,"\\)")}),"keyword";if(ot.match("$$"))return pt(Fe,function(Lt,Ut){return ut(Lt,Ut,"$$")}),"keyword";if(ot.match("$"))return pt(Fe,function(Lt,Ut){return ut(Lt,Ut,"$")}),"keyword";var jt=ot.next();if(jt=="%")return ot.skipToEnd(),"comment";if(jt=="}"||jt=="]"){if(qe=Qe(Fe),qe)qe.closeBracket(jt),pt(Fe,ht);else return"error";return"bracket"}else return jt=="{"||jt=="["?(qe=He.DEFAULT,qe=new qe,yt(Fe,qe),"bracket"):/\d/.test(jt)?(ot.eatWhile(/[\w.%]/),"atom"):(ot.eatWhile(/[\w\-_]/),qe=ye(Fe),qe.name=="begin"&&(qe.argument=ot.current()),qe.styleIdentifier())}function ut(ot,Fe,qe){if(ot.eatSpace())return null;if(qe&&ot.match(qe))return pt(Fe,tt),"keyword";if(ot.match(/^\\[a-zA-Z@]+/))return"tag";if(ot.match(/^[a-zA-Z]+/))return"variable-2";if(ot.match(/^\\[$&%#{}_]/)||ot.match(/^\\[,;!\/]/)||ot.match(/^[\^_&]/))return"tag";if(ot.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(ot.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var St=ot.next();return St=="{"||St=="}"||St=="["||St=="]"||St=="("||St==")"?"bracket":St=="%"?(ot.skipToEnd(),"comment"):"error"}function ht(ot,Fe){var qe=ot.peek(),St;return qe=="{"||qe=="["?(St=Qe(Fe),St.openBracket(qe),ot.eat(qe),pt(Fe,tt),"bracket"):/[ \t\r]/.test(qe)?(ot.eat(qe),null):(pt(Fe,tt),Je(Fe),tt(ot,Fe))}return{startState:function(){var ot=st.inMathMode?function(Fe,qe){return ut(Fe,qe)}:tt;return{cmdState:[],f:ot}},copyState:function(ot){return{cmdState:ot.cmdState.slice(),f:ot.f}},token:function(ot,Fe){return Fe.f(ot,Fe)},blankLine:function(ot){ot.f=tt,ot.cmdState.length=0},lineComment:"%"}}),ee.defineMIME("text/x-stex","stex"),ee.defineMIME("text/x-latex","stex")})},15525:function(Bn,Wn,ie){(function(ee){ee(ie(89780))})(function(ee){"use strict";var Oe={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},st={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};ee.defineMode("xml",function(yt,Qe){var Je=yt.indentUnit,ye={},Se=Qe.htmlMode?Oe:st;for(var He in Se)ye[He]=Se[He];for(var He in Qe)ye[He]=Qe[He];var pt,tt;function ut(We,Rt){function lt(tn){return Rt.tokenize=tn,tn(We,Rt)}var dn=We.next();if(dn=="<")return We.eat("!")?We.eat("[")?We.match("CDATA[")?lt(Fe("atom","]]>")):null:We.match("--")?lt(Fe("comment","-->")):We.match("DOCTYPE",!0,!0)?(We.eatWhile(/[\w\._\-]/),lt(qe(1))):null:We.eat("?")?(We.eatWhile(/[\w\._\-]/),Rt.tokenize=Fe("meta","?>"),"meta"):(pt=We.eat("/")?"closeTag":"openTag",Rt.tokenize=ht,"tag bracket");if(dn=="&"){var ln;return We.eat("#")?We.eat("x")?ln=We.eatWhile(/[a-fA-F\d]/)&&We.eat(";"):ln=We.eatWhile(/[\d]/)&&We.eat(";"):ln=We.eatWhile(/[\w\.\-:]/)&&We.eat(";"),ln?"atom":"error"}else return We.eatWhile(/[^&<]/),null}ut.isInText=!0;function ht(We,Rt){var lt=We.next();if(lt==">"||lt=="/"&&We.eat(">"))return Rt.tokenize=ut,pt=lt==">"?"endTag":"selfcloseTag","tag bracket";if(lt=="=")return pt="equals",null;if(lt=="<"){Rt.tokenize=ut,Rt.state=Ut,Rt.tagName=Rt.tagStart=null;var dn=Rt.tokenize(We,Rt);return dn?dn+" tag error":"tag error"}else return/[\'\"]/.test(lt)?(Rt.tokenize=ot(lt),Rt.stringStartCol=We.column(),Rt.tokenize(We,Rt)):(We.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function ot(We){var Rt=function(lt,dn){for(;!lt.eol();)if(lt.next()==We){dn.tokenize=ht;break}return"string"};return Rt.isInAttribute=!0,Rt}function Fe(We,Rt){return function(lt,dn){for(;!lt.eol();){if(lt.match(Rt)){dn.tokenize=ut;break}lt.next()}return We}}function qe(We){return function(Rt,lt){for(var dn;(dn=Rt.next())!=null;){if(dn=="<")return lt.tokenize=qe(We+1),lt.tokenize(Rt,lt);if(dn==">")if(We==1){lt.tokenize=ut;break}else return lt.tokenize=qe(We-1),lt.tokenize(Rt,lt)}return"meta"}}function St(We,Rt,lt){this.prev=We.context,this.tagName=Rt,this.indent=We.indented,this.startOfLine=lt,(ye.doNotIndent.hasOwnProperty(Rt)||We.context&&We.context.noIndent)&&(this.noIndent=!0)}function jt(We){We.context&&(We.context=We.context.prev)}function Lt(We,Rt){for(var lt;;){if(!We.context||(lt=We.context.tagName,!ye.contextGrabbers.hasOwnProperty(lt)||!ye.contextGrabbers[lt].hasOwnProperty(Rt)))return;jt(We)}}function Ut(We,Rt,lt){return We=="openTag"?(lt.tagStart=Rt.column(),At):We=="closeTag"?Mt:Ut}function At(We,Rt,lt){return We=="word"?(lt.tagName=Rt.current(),tt="tag",Nn):ye.allowMissingTagName&&We=="endTag"?(tt="tag bracket",Nn(We,Rt,lt)):(tt="error",At)}function Mt(We,Rt,lt){if(We=="word"){var dn=Rt.current();return lt.context&<.context.tagName!=dn&&ye.implicitlyClosed.hasOwnProperty(lt.context.tagName)&&jt(lt),lt.context&<.context.tagName==dn||ye.matchClosing===!1?(tt="tag",je):(tt="tag error",gn)}else return ye.allowMissingTagName&&We=="endTag"?(tt="tag bracket",je(We,Rt,lt)):(tt="error",gn)}function je(We,Rt,lt){return We!="endTag"?(tt="error",je):(jt(lt),Ut)}function gn(We,Rt,lt){return tt="error",je(We,Rt,lt)}function Nn(We,Rt,lt){if(We=="word")return tt="attribute",rn;if(We=="endTag"||We=="selfcloseTag"){var dn=lt.tagName,ln=lt.tagStart;return lt.tagName=lt.tagStart=null,We=="selfcloseTag"||ye.autoSelfClosers.hasOwnProperty(dn)?Lt(lt,dn):(Lt(lt,dn),lt.context=new St(lt,dn,ln==lt.indented)),Ut}return tt="error",Nn}function rn(We,Rt,lt){return We=="equals"?Et:(ye.allowMissing||(tt="error"),Nn(We,Rt,lt))}function Et(We,Rt,lt){return We=="string"?_t:We=="word"&&ye.allowUnquoted?(tt="string",Nn):(tt="error",Nn(We,Rt,lt))}function _t(We,Rt,lt){return We=="string"?_t:Nn(We,Rt,lt)}return{startState:function(We){var Rt={tokenize:ut,state:Ut,indented:We||0,tagName:null,tagStart:null,context:null};return We!=null&&(Rt.baseIndent=We),Rt},token:function(We,Rt){if(!Rt.tagName&&We.sol()&&(Rt.indented=We.indentation()),We.eatSpace())return null;pt=null;var lt=Rt.tokenize(We,Rt);return(lt||pt)&<!="comment"&&(tt=null,Rt.state=Rt.state(pt||lt,We,Rt),tt&&(lt=tt=="error"?lt+" error":tt)),lt},indent:function(We,Rt,lt){var dn=We.context;if(We.tokenize.isInAttribute)return We.tagStart==We.indented?We.stringStartCol+1:We.indented+Je;if(dn&&dn.noIndent)return ee.Pass;if(We.tokenize!=ht&&We.tokenize!=ut)return lt?lt.match(/^(\s*)/)[0].length:0;if(We.tagName)return ye.multilineTagIndentPastTag!==!1?We.tagStart+We.tagName.length+2:We.tagStart+Je*(ye.multilineTagIndentFactor||1);if(ye.alignCDATA&&/$/,blockCommentStart:"",configuration:ye.htmlMode?"html":"xml",helperType:ye.htmlMode?"html":"xml",skipAttribute:function(We){We.state==Et&&(We.state=Nn)},xmlCurrentTag:function(We){return We.tagName?{name:We.tagName,close:We.type=="closeTag"}:null},xmlCurrentContext:function(We){for(var Rt=[],lt=We.context;lt;lt=lt.prev)lt.tagName&&Rt.push(lt.tagName);return Rt.reverse()}}}),ee.defineMIME("text/xml","xml"),ee.defineMIME("application/xml","xml"),ee.mimeModes.hasOwnProperty("text/html")||ee.defineMIME("text/html",{name:"xml",htmlMode:!0})})},24334:function(Bn,Wn,ie){var ee,Oe;(function(st,yt){Bn.exports=yt(st)})(typeof self!="undefined"?self:typeof window!="undefined"?window:typeof ie.g!="undefined"?ie.g:this,function(st){"use strict";st=st||{};var yt=st.Base64,Qe="2.6.4",Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ye=function(lt){for(var dn={},ln=0,tn=lt.length;ln>>6)+Se(128|dn&63):Se(224|dn>>>12&15)+Se(128|dn>>>6&63)+Se(128|dn&63)}else{var dn=65536+(lt.charCodeAt(0)-55296)*1024+(lt.charCodeAt(1)-56320);return Se(240|dn>>>18&7)+Se(128|dn>>>12&63)+Se(128|dn>>>6&63)+Se(128|dn&63)}},pt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,tt=function(lt){return lt.replace(pt,He)},ut=function(lt){var dn=[0,2,1][lt.length%3],ln=lt.charCodeAt(0)<<16|(lt.length>1?lt.charCodeAt(1):0)<<8|(lt.length>2?lt.charCodeAt(2):0),tn=[Je.charAt(ln>>>18),Je.charAt(ln>>>12&63),dn>=2?"=":Je.charAt(ln>>>6&63),dn>=1?"=":Je.charAt(ln&63)];return tn.join("")},ht=st.btoa&&typeof st.btoa=="function"?function(lt){return st.btoa(lt)}:function(lt){if(lt.match(/[^\x00-\xFF]/))throw new RangeError("The string contains invalid characters.");return lt.replace(/[\s\S]{1,3}/g,ut)},ot=function(lt){return ht(tt(String(lt)))},Fe=function(lt){return lt.replace(/[+\/]/g,function(dn){return dn=="+"?"-":"_"}).replace(/=/g,"")},qe=function(lt,dn){return dn?Fe(ot(lt)):ot(lt)},St=function(lt){return qe(lt,!0)},jt;st.Uint8Array&&(jt=function(lt,dn){for(var ln="",tn=0,lr=lt.length;tn>>18)+Je.charAt(Gt>>>12&63)+(typeof ft!="undefined"?Je.charAt(Gt>>>6&63):"=")+(typeof Le!="undefined"?Je.charAt(Gt&63):"=")}return dn?Fe(ln):ln});var Lt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Ut=function(lt){switch(lt.length){case 4:var dn=(7<.charCodeAt(0))<<18|(63<.charCodeAt(1))<<12|(63<.charCodeAt(2))<<6|63<.charCodeAt(3),ln=dn-65536;return Se((ln>>>10)+55296)+Se((ln&1023)+56320);case 3:return Se((15<.charCodeAt(0))<<12|(63<.charCodeAt(1))<<6|63<.charCodeAt(2));default:return Se((31<.charCodeAt(0))<<6|63<.charCodeAt(1))}},At=function(lt){return lt.replace(Lt,Ut)},Mt=function(lt){var dn=lt.length,ln=dn%4,tn=(dn>0?ye[lt.charAt(0)]<<18:0)|(dn>1?ye[lt.charAt(1)]<<12:0)|(dn>2?ye[lt.charAt(2)]<<6:0)|(dn>3?ye[lt.charAt(3)]:0),lr=[Se(tn>>>16),Se(tn>>>8&255),Se(tn&255)];return lr.length-=[0,0,2,1][ln],lr.join("")},je=st.atob&&typeof st.atob=="function"?function(lt){return st.atob(lt)}:function(lt){return lt.replace(/\S{1,4}/g,Mt)},gn=function(lt){return je(String(lt).replace(/[^A-Za-z0-9\+\/]/g,""))},Nn=function(lt){return At(je(lt))},rn=function(lt){return String(lt).replace(/[-_]/g,function(dn){return dn=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,"")},Et=function(lt){return Nn(rn(lt))},_t;st.Uint8Array&&(_t=function(lt){return Uint8Array.from(gn(rn(lt)),function(dn){return dn.charCodeAt(0)})});var We=function(){var lt=st.Base64;return st.Base64=yt,lt};if(st.Base64={VERSION:Qe,atob:gn,btoa:ht,fromBase64:Et,toBase64:qe,utob:tt,encode:qe,encodeURI:St,btou:At,decode:Et,noConflict:We,fromUint8Array:jt,toUint8Array:_t},typeof Object.defineProperty=="function"){var Rt=function(lt){return{value:lt,enumerable:!1,writable:!0,configurable:!0}};st.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",Rt(function(){return Et(this)})),Object.defineProperty(String.prototype,"toBase64",Rt(function(lt){return qe(this,lt)})),Object.defineProperty(String.prototype,"toBase64URI",Rt(function(){return qe(this,!0)}))}}return st.Meteor&&(Base64=st.Base64),Bn.exports?Bn.exports.Base64=st.Base64:(ee=[],Oe=function(){return st.Base64}.apply(Wn,ee),Oe!==void 0&&(Bn.exports=Oe)),{Base64:st.Base64}})},2859:function(Bn,Wn,ie){"use strict";ie.d(Wn,{hP:function(){return Ln}});var ee=function(Te,ve){return(ee=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(he,we){he.__proto__=we}||function(he,we){for(var Re in we)Object.prototype.hasOwnProperty.call(we,Re)&&(he[Re]=we[Re])})(Te,ve)};function Oe(Te,ve){function he(){this.constructor=Te}ee(Te,ve),Te.prototype=ve===null?Object.create(ve):(he.prototype=ve.prototype,new he)}function st(Te,ve,he,we){return new(he||(he=Promise))(function(Re,fe){function wt(xt){try{mt(we.next(xt))}catch(On){fe(On)}}function en(xt){try{mt(we.throw(xt))}catch(On){fe(On)}}function mt(xt){var On;xt.done?Re(xt.value):(On=xt.value,On instanceof he?On:new he(function(yn){yn(On)})).then(wt,en)}mt((we=we.apply(Te,ve||[])).next())})}function yt(Te,ve){var he,we,Re,fe,wt={label:0,sent:function(){if(1&Re[0])throw Re[1];return Re[1]},trys:[],ops:[]};return fe={next:en(0),throw:en(1),return:en(2)},typeof Symbol=="function"&&(fe[Symbol.iterator]=function(){return this}),fe;function en(mt){return function(xt){return function(On){if(he)throw new TypeError("Generator is already executing.");for(;wt;)try{if(he=1,we&&(Re=2&On[0]?we.return:On[0]?we.throw||((Re=we.return)&&Re.call(we),0):we.next)&&!(Re=Re.call(we,On[1])).done)return Re;switch(we=0,Re&&(On=[2&On[0],Re.value]),On[0]){case 0:case 1:Re=On;break;case 4:return wt.label++,{value:On[1],done:!1};case 5:wt.label++,we=On[1],On=[0];continue;case 7:On=wt.ops.pop(),wt.trys.pop();continue;default:if(Re=wt.trys,!((Re=Re.length>0&&Re[Re.length-1])||On[0]!==6&&On[0]!==2)){wt=0;continue}if(On[0]===3&&(!Re||On[1]>Re[0]&&On[1]',"select"),this.addActionButton(we,'',"delete"),this.uiStyleSettings.clearButtonVisible&&this.addActionButton(we,'',"clear"),this.uiStyleSettings.undoButtonVisible&&this.addActionButton(we,'',"undo"),this.uiStyleSettings.redoButtonVisible&&this.addActionButton(we,'',"redo"),this.uiStyleSettings.zoomButtonVisible&&this.addActionButton(we,'',"zoom"),this.uiStyleSettings.zoomButtonVisible&&this.uiStyleSettings.zoomOutButtonVisible&&this.addActionButton(we,'',"zoom-out"),this.uiStyleSettings.notesButtonVisible&&this.addActionButton(we,'',"notes"),this.markerButtonBlock=document.createElement("div"),this.markerButtonBlock.className=this.toolbarBlockStyleClass.name,this.markerButtonBlock.style.flexGrow="2",this.markerButtonBlock.style.textAlign="center",this.uiContainer.appendChild(this.markerButtonBlock),this.markerButtonOverflowBlock=document.createElement("div"),this.markerButtonOverflowBlock.className=this.toolbarOverflowBlockStyleClass.name+" "+(this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName?this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName:this.toolbarOverflowBlockStyleColorsClass.name),this.markerButtonOverflowBlock.style.display="none",this.uiContainer.appendChild(this.markerButtonOverflowBlock),this.markerItems&&(this.markerItems.forEach(function(fe){var wt=document.createElement("div");wt.className=""+he.toolbarButtonStyleClass.name,wt.setAttribute("data-type-name",fe.typeName),wt.innerHTML=fe.icon,wt.addEventListener("click",function(){he.markerToolbarButtonClicked(wt,fe)}),he.buttons.push(wt),he.markerButtons.push(wt)}),this.overflowButton=document.createElement("div"),this.overflowButton.className=this.toolbarButtonStyleClass.name+" "+(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name),this.overflowButton.innerHTML='',this.overflowButton.addEventListener("click",this.overflowButtonClicked),this.markerButtonBlock.appendChild(this.overflowButton));var Re=document.createElement("div");Re.className=this.toolbarBlockStyleClass.name,Re.style.whiteSpace="nowrap",Re.style.display=this.uiStyleSettings.resultButtonBlockVisible!==!1?"":"none",this.uiContainer.appendChild(Re),this.addActionButton(Re,'',"render"),this.addActionButton(Re,'',"close"),this.markerjsContainer.appendChild(this.uiContainer),this.setSelectMode(),this.setCurrentMarker(),this.adjustLayout()},Te.prototype.addButtonClickListener=function(ve){this.buttonClickListeners.push(ve)},Te.prototype.removeButtonClickListener=function(ve){this.buttonClickListeners.indexOf(ve)>-1&&this.buttonClickListeners.splice(this.buttonClickListeners.indexOf(ve),1)},Te.prototype.setSelectMode=function(){this.resetButtonStyles(),this.setActiveButton(this.buttons[0])},Te.prototype.adjustLayout=function(){if(this.markerButtons&&this.markerButtons.length>0){var ve=Math.floor(this.markerButtonBlock.clientWidth/this.uiStyleSettings.toolbarHeight)-1;this.markerButtonBlock.innerHTML="",this.markerButtonOverflowBlock.innerHTML="";for(var he=0;he0&&this.buttonClickListeners.forEach(function(we){return we("marker",he)}),this.markerButtonOverflowBlock.style.display="none"},Te.prototype.actionToolbarButtonClicked=function(ve,he){this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach(function(we){return we("action",he)}),this.markerButtonOverflowBlock.style.display="none",this.setActiveButton(this.buttons[0])},Te.prototype.setActiveButton=function(ve){this.resetButtonStyles(),ve.className=ve.className.replace(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name,"").trim(),ve.className+=" "+(this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:this.toolbarActiveButtonStyleColorsClass.name)},Te.prototype.setActiveMarkerButton=function(ve){var he=this.markerButtons.find(function(we){return we.getAttribute("data-type-name")===ve});he&&this.setActiveButton(he)},Te.prototype.setCurrentMarker=function(ve){var he=this;this.currentMarker=ve,this.buttons.filter(function(we){return/delete|notes/.test(we.getAttribute("data-action"))}).forEach(function(we){he.currentMarker===void 0?(we.style.fillOpacity="0.4",we.style.pointerEvents="none"):(we.style.fillOpacity="1",we.style.pointerEvents="all")})},Te}(),ot=function(){function Te(ve,he,we,Re){this.panels=[],this.panelButtons=[],this.markerjsContainer=ve,this.displayMode=he,this.uiStyleSettings=we,this.styles=Re,this.panelButtonClick=this.panelButtonClick.bind(this),this.addStyles()}return Te.prototype.addStyles=function(){var ve;this.toolboxStyleClass=this.styles.addClass(new ut("toolbox",` + width: 100%; + flex-shrink: 0; + display: flex; + flex-direction: column; + font-family: sans-serif; + `+(this.displayMode==="popup"?"height:"+2.5*this.uiStyleSettings.toolbarHeight+"px;":"")+` + box-sizing: content-box; + `+(this.displayMode==="popup"?"background-color: "+this.uiStyleSettings.canvasBackgroundColor+";":"")+` + `+(this.displayMode==="inline"?"border-bottom-left-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+` + `+(this.displayMode==="inline"?"border-bottom-right-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+` + overflow: hidden; + `)),this.toolboxStyleColorsClass=this.styles.addClass(new ut("toolbox_colors",` + color: `+this.uiStyleSettings.toolboxColor+`; + `));var he=this.uiStyleSettings.toolbarHeight/4;this.toolboxButtonRowStyleClass=this.styles.addClass(new ut("toolbox-button-row",` + display: flex; + cursor: default; + box-sizing: content-box; + `)),this.toolboxButtonRowStyleColorsClass=this.styles.addClass(new ut("toolbox-button-row_colors",` + background-color: `+this.uiStyleSettings.toolbarBackgroundColor+`; + `)),this.toolboxPanelRowStyleClass=this.styles.addClass(new ut("toolbox-panel-row",` + display: flex; + `+(this.displayMode==="inline"?"position: absolute;":"")+` + `+(this.displayMode==="inline"?"bottom: "+this.uiStyleSettings.toolbarHeight+"px;":"")+` + cursor: default; + height: `+1.5*this.uiStyleSettings.toolbarHeight+`px; + `+(this.displayMode==="inline"?"width: 100%;":"")+` + box-sizing: content-box; + `)),this.toolboxPanelRowStyleColorsClass=this.styles.addClass(new ut("toolbox-panel-row_colors",` + background-color: `+((ve=this.uiStyleSettings.toolboxBackgroundColor)!==null&&ve!==void 0?ve:this.uiStyleSettings.toolbarBackgroundHoverColor)+`; + `)),this.toolboxButtonStyleClass=this.styles.addClass(new ut("toolbox_button",` + display: inline-block; + width: `+(this.uiStyleSettings.toolbarHeight-2*he)+`px; + height: `+(this.uiStyleSettings.toolbarHeight-2*he)+`px; + padding: `+he+`px; + box-sizing: content-box; + `)),this.toolboxButtonStyleColorsClass=this.styles.addClass(new ut("toolbox-button_colors",` + fill: `+this.uiStyleSettings.toolbarColor+`; + `)),this.toolboxActiveButtonStyleColorsClass=this.styles.addClass(new ut("toolbox-active-button_colors",` + background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`; + fill: `+this.uiStyleSettings.toolbarColor+`; + `)),this.styles.addRule(new tt("."+this.toolboxButtonStyleColorsClass.name+":hover",` + background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+` + `)),this.styles.addRule(new tt("."+this.toolboxButtonStyleClass.name+" svg",` + height: `+this.uiStyleSettings.toolbarHeight/2+`px; + `))},Te.prototype.show=function(ve){var he;this.uiContainer=document.createElement("div"),this.uiContainer.style.visibility=ve,this.uiContainer.className=this.toolboxStyleClass.name+" "+((he=this.uiStyleSettings.toolboxStyleColorsClassName)!==null&&he!==void 0?he:this.toolboxStyleColorsClass.name),this.markerjsContainer.appendChild(this.uiContainer)},Te.prototype.setPanelButtons=function(ve){var he,we,Re=this;this.panels=ve,this.uiContainer!==void 0&&(this.uiContainer.innerHTML="",this.panelRow=document.createElement("div"),this.panelRow.className=this.toolboxPanelRowStyleClass.name+" "+((he=this.uiStyleSettings.toolboxPanelRowStyleColorsClassName)!==null&&he!==void 0?he:this.toolboxPanelRowStyleColorsClass.name),this.uiContainer.appendChild(this.panelRow),this.buttonRow=document.createElement("div"),this.buttonRow.className=this.toolboxButtonRowStyleClass.name+" "+((we=this.uiStyleSettings.toolboxButtonRowStyleColorsClassName)!==null&&we!==void 0?we:this.toolboxButtonRowStyleColorsClass.name)+" ",this.uiContainer.appendChild(this.buttonRow),this.panelButtons.splice(0),this.panels.forEach(function(fe){var wt;fe.uiStyleSettings=Re.uiStyleSettings;var en=document.createElement("div");en.className=Re.toolboxButtonStyleClass.name+" "+((wt=Re.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&wt!==void 0?wt:Re.toolboxButtonStyleColorsClass.name),en.innerHTML=fe.icon,en.title=fe.title,en.addEventListener("click",function(){Re.panelButtonClick(fe)}),Re.panelButtons.push(en),Re.buttonRow.appendChild(en)}),this.displayMode==="inline"?this.panelRow.style.display="none":this.panelRow.style.visibility="hidden")},Te.prototype.panelButtonClick=function(ve){var he=this,we=-1;if(ve!==this.activePanel){we=this.panels.indexOf(ve),this.panelRow.innerHTML="";var Re=ve.getUi();Re.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.panelRow.appendChild(Re),this.panelRow.style.display="flex",this.panelRow.style.visibility="visible",this.panelRow.className=this.panelRow.className.replace(this.styles.fadeOutAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeInAnimationClassName,this.activePanel=ve}else this.activePanel=void 0,this.panelRow.className=this.panelRow.className.replace(this.styles.fadeInAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeOutAnimationClassName,setTimeout(function(){he.displayMode==="inline"?he.panelRow.style.display="none":he.panelRow.style.visibility="hidden"},200);this.panelButtons.forEach(function(fe,wt){var en,mt;fe.className=he.toolboxButtonStyleClass.name+" "+(wt===we?""+((en=he.uiStyleSettings.toolboxActiveButtonStyleColorsClassName)!==null&&en!==void 0?en:he.toolboxActiveButtonStyleColorsClass.name):""+((mt=he.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&mt!==void 0?mt:he.toolboxButtonStyleColorsClass.name))})},Te}(),Fe=function(Te,ve){this.title=Te,this.icon=ve},qe=function(Te){function ve(he,we,Re,fe){var wt=Te.call(this,he,fe||'')||this;return wt.colors=[],wt.addTransparent=!1,wt.colorBoxes=[],wt.colors=we,wt.currentColor=Re,wt.setCurrentColor=wt.setCurrentColor.bind(wt),wt.getColorBox=wt.getColorBox.bind(wt),wt}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");return we.style.overflow="hidden",we.style.whiteSpace="nowrap",this.colors.forEach(function(Re){var fe=he.getColorBox(Re);we.appendChild(fe),he.colorBoxes.push(fe)}),we},ve.prototype.getColorBox=function(he){var we=this,Re=this.uiStyleSettings.toolbarHeight/4,fe=this.uiStyleSettings.toolbarHeight-Re,wt=document.createElement("div");wt.style.display="inline-block",wt.style.boxSizing="content-box",wt.style.width=fe-2+"px",wt.style.height=fe-2+"px",wt.style.padding="1px",wt.style.marginRight="2px",wt.style.marginBottom="2px",wt.style.borderWidth="2px",wt.style.borderStyle="solid",wt.style.borderRadius=(fe+2)/2+"px",wt.style.borderColor=he===this.currentColor?this.uiStyleSettings.toolboxAccentColor:"transparent",wt.addEventListener("click",function(){we.setCurrentColor(he,wt)});var en=document.createElement("div");return en.style.display="inline-block",en.style.width=fe-2+"px",en.style.height=fe-2+"px",en.style.backgroundColor=he,en.style.borderRadius=fe/2+"px",he==="transparent"&&(en.style.fill=this.uiStyleSettings.toolboxAccentColor,en.innerHTML=` + + `),wt.appendChild(en),wt},ve.prototype.setCurrentColor=function(he,we){var Re=this;this.currentColor=he,this.colorBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onColorChanged&&this.onColorChanged(he)},ve}(Fe),St=function(){function Te(ve,he,we){this._state="new",this._isSelected=!1,this._container=ve,this._overlayContainer=he,this.globalSettings=we,this.stateChanged=this.stateChanged.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this)}return Object.defineProperty(Te.prototype,"typeName",{get:function(){return Object.getPrototypeOf(this).constructor.typeName},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"container",{get:function(){return this._container},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"overlayContainer",{get:function(){return this._overlayContainer},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"toolboxPanels",{get:function(){return[]},enumerable:!1,configurable:!0}),Te.prototype.ownsTarget=function(ve){return!1},Object.defineProperty(Te.prototype,"isSelected",{get:function(){return this._isSelected},enumerable:!1,configurable:!0}),Te.prototype.select=function(){this.container.style.cursor="move",this._isSelected=!0,this.manipulationStartState=this.getState()},Te.prototype.deselect=function(){this.container.style.cursor="default",this._isSelected=!1,this.stateChanged()},Te.prototype.pointerDown=function(ve,he){},Te.prototype.dblClick=function(ve,he){},Te.prototype.manipulate=function(ve){},Te.prototype.pointerUp=function(ve){this.stateChanged()},Te.prototype.dispose=function(){},Te.prototype.addMarkerVisualToContainer=function(ve){this.container.childNodes.length>0?this.container.insertBefore(ve,this.container.childNodes[0]):this.container.appendChild(ve)},Te.prototype.getState=function(){return{typeName:Te.typeName,state:this.state,notes:this.notes}},Te.prototype.restoreState=function(ve){this._state=ve.state,this.notes=ve.notes},Te.prototype.scale=function(ve,he){},Te.prototype.colorChanged=function(ve){this.onColorChanged&&this.onColorChanged(ve),this.stateChanged()},Te.prototype.fillColorChanged=function(ve){this.onFillColorChanged&&this.onFillColorChanged(ve),this.stateChanged()},Te.prototype.stateChanged=function(){if(this.onStateChanged&&this.state!=="creating"&&this.state!=="new"){var ve=this.getState();this.manipulationStartState!==void 0&&(this.manipulationStartState.state="select"),ve.state="select",JSON.stringify(this.manipulationStartState)!=JSON.stringify(ve)&&this.onStateChanged(this)}},Te.typeName="MarkerBase",Te}(),jt=function(){function Te(){this.findGripByVisual=this.findGripByVisual.bind(this)}return Te.prototype.findGripByVisual=function(ve){return this.topLeft.ownsTarget(ve)?this.topLeft:this.topCenter.ownsTarget(ve)?this.topCenter:this.topRight.ownsTarget(ve)?this.topRight:this.centerLeft.ownsTarget(ve)?this.centerLeft:this.centerRight.ownsTarget(ve)?this.centerRight:this.bottomLeft.ownsTarget(ve)?this.bottomLeft:this.bottomCenter.ownsTarget(ve)?this.bottomCenter:this.bottomRight.ownsTarget(ve)?this.bottomRight:void 0},Te}(),Lt=function(){function Te(){this.GRIP_SIZE=10,this.visual=Je.createGroup(),this.visual.appendChild(Je.createCircle(1.5*this.GRIP_SIZE,[["fill","transparent"]])),this.visual.appendChild(Je.createCircle(this.GRIP_SIZE,[["fill","#cccccc"],["fill-opacity","0.7"],["stroke","#333333"],["stroke-width","2"],["stroke-opacity","0.7"]]))}return Te.prototype.ownsTarget=function(ve){return ve===this.visual||ve===this.visual.childNodes[0]||ve===this.visual.childNodes[1]},Te}(),Ut=function(){function Te(){}return Te.toITransformMatrix=function(ve){return{a:ve.a,b:ve.b,c:ve.c,d:ve.d,e:ve.e,f:ve.f}},Te.toSVGMatrix=function(ve,he){return ve.a=he.a,ve.b=he.b,ve.c=he.c,ve.d=he.d,ve.e=he.e,ve.f=he.f,ve},Te}(),At=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.left=0,fe.top=0,fe.width=0,fe.height=0,fe.defaultSize={x:50,y:20},fe.offsetX=0,fe.offsetY=0,fe.rotationAngle=0,fe.CB_DISTANCE=10,fe._suppressMarkerCreateEvent=!1,fe.container.transform.baseVal.appendItem(Je.createTransform()),fe.setupControlBox(),fe}return Oe(ve,Te),Object.defineProperty(ve.prototype,"centerX",{get:function(){return this.left+this.width/2},enumerable:!1,configurable:!0}),Object.defineProperty(ve.prototype,"centerY",{get:function(){return this.top+this.height/2},enumerable:!1,configurable:!0}),Object.defineProperty(ve.prototype,"visual",{get:function(){return this._visual},set:function(he){this._visual=he;var we=Je.createTransform();this._visual.transform.baseVal.appendItem(we)},enumerable:!1,configurable:!0}),ve.prototype.ownsTarget=function(he){return!!Te.prototype.ownsTarget.call(this,he)||!!(this.controlGrips.findGripByVisual(he)!==void 0||this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(he))},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.state==="new"&&(this.left=he.x,this.top=he.y),this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.manipulationStartWidth=this.width,this.manipulationStartHeight=this.height;var Re=this.unrotatePoint(he);if(this.manipulationStartX=Re.x,this.manipulationStartY=Re.y,this.offsetX=Re.x-this.left,this.offsetY=Re.y-this.top,this.state!=="new")if(this.select(),this.activeGrip=this.controlGrips.findGripByVisual(we),this.activeGrip!==void 0)this._state="resize";else if(this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(we)){this.activeGrip=this.rotatorGrip;var fe=this.rotatePoint({x:this.centerX,y:this.centerY});this.left=fe.x-this.width/2,this.top=fe.y-this.height/2,this.moveVisual({x:this.left,y:this.top});var wt=this.container.transform.baseVal.getItem(0);wt.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(wt,0),this.adjustControlBox(),this._state="rotate"}else this._state="move"},ve.prototype.pointerUp=function(he){var we=this.state;Te.prototype.pointerUp.call(this,he),this.state==="creating"&&this.width<10&&this.height<10?(this.width=this.defaultSize.x,this.height=this.defaultSize.y):this.manipulate(he),this._state="select",we==="creating"&&this.onMarkerCreated&&this._suppressMarkerCreateEvent===!1&&this.onMarkerCreated(this)},ve.prototype.moveVisual=function(he){this.visual.style.transform="translate("+he.x+"px, "+he.y+"px)"},ve.prototype.manipulate=function(he){var we=this.unrotatePoint(he);this.state==="creating"?this.resize(he):this.state==="move"?(this.left=this.manipulationStartLeft+(we.x-this.manipulationStartLeft)-this.offsetX,this.top=this.manipulationStartTop+(we.y-this.manipulationStartTop)-this.offsetY,this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()):this.state==="resize"?this.resize(we):this.state==="rotate"&&this.rotate(he)},ve.prototype.resize=function(he){var we=this.manipulationStartLeft,Re=this.manipulationStartWidth,fe=this.manipulationStartTop,wt=this.manipulationStartHeight;switch(this.activeGrip){case this.controlGrips.bottomLeft:case this.controlGrips.centerLeft:case this.controlGrips.topLeft:we=this.manipulationStartLeft+he.x-this.manipulationStartX,Re=this.manipulationStartWidth+this.manipulationStartLeft-we;break;case this.controlGrips.bottomRight:case this.controlGrips.centerRight:case this.controlGrips.topRight:case void 0:Re=this.manipulationStartWidth+he.x-this.manipulationStartX}switch(this.activeGrip){case this.controlGrips.topCenter:case this.controlGrips.topLeft:case this.controlGrips.topRight:fe=this.manipulationStartTop+he.y-this.manipulationStartY,wt=this.manipulationStartHeight+this.manipulationStartTop-fe;break;case this.controlGrips.bottomCenter:case this.controlGrips.bottomLeft:case this.controlGrips.bottomRight:case void 0:wt=this.manipulationStartHeight+he.y-this.manipulationStartY}Re>=0?(this.left=we,this.width=Re):(this.left=we+Re,this.width=-Re),wt>=0?(this.top=fe,this.height=wt):(this.top=fe+wt,this.height=-wt),this.setSize()},ve.prototype.setSize=function(){this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()},ve.prototype.rotate=function(he){if(Math.abs(he.x-this.centerX)>.1){var we=Math.sign(he.x-this.centerX);this.rotationAngle=180*Math.atan((he.y-this.centerY)/(he.x-this.centerX))/Math.PI+90*we,this.applyRotation()}},ve.prototype.applyRotation=function(){var he=this.container.transform.baseVal.getItem(0);he.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(he,0)},ve.prototype.rotatePoint=function(he){if(this.rotationAngle===0)return he;var we=this.container.getCTM(),Re=Je.createPoint(he.x,he.y);return{x:(Re=Re.matrixTransform(we)).x,y:Re.y}},ve.prototype.unrotatePoint=function(he){if(this.rotationAngle===0)return he;var we=this.container.getCTM();we=we.inverse();var Re=Je.createPoint(he.x,he.y);return{x:(Re=Re.matrixTransform(we)).x,y:Re.y}},ve.prototype.select=function(){Te.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},ve.prototype.deselect=function(){Te.prototype.deselect.call(this),this.controlBox.style.display="none"},ve.prototype.setupControlBox=function(){this.controlBox=Je.createGroup();var he=Je.createTransform();he.setTranslate(-this.CB_DISTANCE/2,-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.appendItem(he),this.container.appendChild(this.controlBox),this.controlRect=Je.createRect(this.width+this.CB_DISTANCE,this.height+this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"],["fill","transparent"],["pointer-events","none"]]),this.controlBox.appendChild(this.controlRect),this.globalSettings.disableRotation!==!0&&(this.rotatorGripLine=Je.createLine((this.width+2*this.CB_DISTANCE)/2,this.top-this.CB_DISTANCE,(this.width+2*this.CB_DISTANCE)/2,this.top-3*this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.appendChild(this.rotatorGripLine)),this.controlGrips=new jt,this.addControlGrips(),this.controlBox.style.display="none"},ve.prototype.adjustControlBox=function(){var he=this.controlBox.transform.baseVal.getItem(0);he.setTranslate(this.left-this.CB_DISTANCE/2,this.top-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.replaceItem(he,0),this.controlRect.setAttribute("width",(this.width+this.CB_DISTANCE).toString()),this.controlRect.setAttribute("height",(this.height+this.CB_DISTANCE).toString()),this.rotatorGripLine!==void 0&&(this.rotatorGripLine.setAttribute("x1",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y1",(-this.CB_DISTANCE/2).toString()),this.rotatorGripLine.setAttribute("x2",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y2",(3*-this.CB_DISTANCE).toString())),this.positionGrips()},ve.prototype.addControlGrips=function(){this.controlGrips.topLeft=this.createGrip(),this.controlGrips.topCenter=this.createGrip(),this.controlGrips.topRight=this.createGrip(),this.controlGrips.centerLeft=this.createGrip(),this.controlGrips.centerRight=this.createGrip(),this.controlGrips.bottomLeft=this.createGrip(),this.controlGrips.bottomCenter=this.createGrip(),this.controlGrips.bottomRight=this.createGrip(),this.globalSettings.disableRotation!==!0&&(this.rotatorGrip=this.createGrip()),this.positionGrips()},ve.prototype.createGrip=function(){var he=new Lt;return he.visual.transform.baseVal.appendItem(Je.createTransform()),this.controlBox.appendChild(he.visual),he},ve.prototype.positionGrips=function(){var he=this.controlGrips.topLeft.GRIP_SIZE,we=-he/2,Re=we,fe=(this.width+this.CB_DISTANCE)/2-he/2,wt=(this.height+this.CB_DISTANCE)/2-he/2,en=this.height+this.CB_DISTANCE-he/2,mt=this.width+this.CB_DISTANCE-he/2;this.positionGrip(this.controlGrips.topLeft.visual,we,Re),this.positionGrip(this.controlGrips.topCenter.visual,fe,Re),this.positionGrip(this.controlGrips.topRight.visual,mt,Re),this.positionGrip(this.controlGrips.centerLeft.visual,we,wt),this.positionGrip(this.controlGrips.centerRight.visual,mt,wt),this.positionGrip(this.controlGrips.bottomLeft.visual,we,en),this.positionGrip(this.controlGrips.bottomCenter.visual,fe,en),this.positionGrip(this.controlGrips.bottomRight.visual,mt,en),this.rotatorGrip!==void 0&&this.positionGrip(this.rotatorGrip.visual,fe,Re-3*this.CB_DISTANCE)},ve.prototype.positionGrip=function(he,we,Re){var fe=he.transform.baseVal.getItem(0);fe.setTranslate(we,Re),he.transform.baseVal.replaceItem(fe,0)},ve.prototype.hideControlBox=function(){this.controlBox.style.display="none"},ve.prototype.showControlBox=function(){this.controlBox.style.display=""},ve.prototype.getState=function(){return Object.assign({left:this.left,top:this.top,width:this.width,height:this.height,rotationAngle:this.rotationAngle,visualTransformMatrix:Ut.toITransformMatrix(this.visual.transform.baseVal.getItem(0).matrix),containerTransformMatrix:Ut.toITransformMatrix(this.container.transform.baseVal.getItem(0).matrix)},Te.prototype.getState.call(this))},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he);var we=he;this.left=we.left,this.top=we.top,this.width=we.width,this.height=we.height,this.rotationAngle=we.rotationAngle,this.visual.transform.baseVal.getItem(0).setMatrix(Ut.toSVGMatrix(this.visual.transform.baseVal.getItem(0).matrix,we.visualTransformMatrix)),this.container.transform.baseVal.getItem(0).setMatrix(Ut.toSVGMatrix(this.container.transform.baseVal.getItem(0).matrix,we.containerTransformMatrix))},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we);var Re=this.rotatePoint({x:this.left,y:this.top}),fe=this.unrotatePoint({x:Re.x*he,y:Re.y*we});this.left=fe.x,this.top=fe.y,this.width=this.width*he,this.height=this.height*we,this.adjustControlBox()},ve}(St),Mt=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.fillColor="transparent",fe.strokeColor="transparent",fe.strokeWidth=0,fe.strokeDasharray="",fe.opacity=1,fe.setStrokeColor=fe.setStrokeColor.bind(fe),fe.setFillColor=fe.setFillColor.bind(fe),fe.setStrokeWidth=fe.setStrokeWidth.bind(fe),fe.setStrokeDasharray=fe.setStrokeDasharray.bind(fe),fe.createVisual=fe.createVisual.bind(fe),fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.visual)},ve.prototype.createVisual=function(){this.visual=Je.createRect(1,1,[["fill",this.fillColor],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray],["opacity",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.state==="new"&&(this.createVisual(),this.moveVisual(he),this._state="creating")},ve.prototype.manipulate=function(he){Te.prototype.manipulate.call(this,he)},ve.prototype.resize=function(he){Te.prototype.resize.call(this,he),this.setSize()},ve.prototype.setSize=function(){Te.prototype.setSize.call(this),Je.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]])},ve.prototype.pointerUp=function(he){Te.prototype.pointerUp.call(this,he),this.setSize()},ve.prototype.setStrokeColor=function(he){this.strokeColor=he,this.visual&&Je.setAttributes(this.visual,[["stroke",this.strokeColor]]),this.colorChanged(he),this.stateChanged()},ve.prototype.setFillColor=function(he){this.fillColor=he,this.visual&&Je.setAttributes(this.visual,[["fill",this.fillColor]]),this.stateChanged()},ve.prototype.setStrokeWidth=function(he){this.strokeWidth=he,this.visual&&Je.setAttributes(this.visual,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},ve.prototype.setStrokeDasharray=function(he){this.strokeDasharray=he,this.visual&&Je.setAttributes(this.visual,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},ve.prototype.getState=function(){return Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},Te.prototype.getState.call(this))},ve.prototype.restoreState=function(he){var we=he;this.fillColor=we.fillColor,this.strokeColor=we.strokeColor,this.strokeWidth=we.strokeWidth,this.strokeDasharray=we.strokeDasharray,this.opacity=we.opacity,this.createVisual(),Te.prototype.restoreState.call(this,he),this.setSize()},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we),this.setSize()},ve.title="Rectangle marker",ve}(At),je=function(Te){function ve(he,we,Re,fe){var wt=Te.call(this,he,fe||'')||this;return wt.widths=[],wt.widthBoxes=[],wt.widths=we,wt.currentWidth=Re,wt.setCurrentWidth=wt.setCurrentWidth.bind(wt),wt}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");return we.style.display="flex",we.style.overflow="hidden",we.style.flexGrow="2",this.widths.forEach(function(Re){var fe=document.createElement("div");fe.style.display="flex",fe.style.flexGrow="2",fe.style.alignItems="center",fe.style.justifyContent="space-between",fe.style.padding="5px",fe.style.borderWidth="2px",fe.style.borderStyle="solid",fe.style.borderColor=Re===he.currentWidth?he.uiStyleSettings.toolboxAccentColor:"transparent",fe.addEventListener("click",function(){he.setCurrentWidth(Re,fe)}),we.appendChild(fe);var wt=document.createElement("div");wt.innerText=Re.toString(),wt.style.marginRight="5px",fe.appendChild(wt);var en=document.createElement("div");en.style.minHeight="20px",en.style.flexGrow="2",en.style.display="flex",en.style.alignItems="center";var mt=document.createElement("hr");mt.style.minWidth="20px",mt.style.border="0px",mt.style.borderTop=Re+"px solid "+he.uiStyleSettings.toolboxColor,mt.style.flexGrow="2",en.appendChild(mt),fe.appendChild(en),he.widthBoxes.push(fe)}),we},ve.prototype.setCurrentWidth=function(he,we){var Re=this;this.currentWidth=he,this.widthBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onWidthChanged&&this.onWidthChanged(this.currentWidth)},ve}(Fe),gn=function(Te){function ve(he,we,Re,fe){var wt=Te.call(this,he,fe||'')||this;return wt.styles=[],wt.styleBoxes=[],wt.styles=we,wt.currentStyle=Re,wt.setCurrentStyle=wt.setCurrentStyle.bind(wt),wt}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");return we.style.display="flex",we.style.overflow="hidden",we.style.flexGrow="2",this.styles.forEach(function(Re){var fe=document.createElement("div");fe.style.display="flex",fe.style.alignItems="center",fe.style.justifyContent="space-between",fe.style.padding="5px",fe.style.borderWidth="2px",fe.style.borderStyle="solid",fe.style.overflow="hidden",fe.style.maxWidth=100/he.styles.length-5+"%",fe.style.borderColor=Re===he.currentStyle?he.uiStyleSettings.toolboxAccentColor:"transparent",fe.addEventListener("click",function(){he.setCurrentStyle(Re,fe)}),we.appendChild(fe);var wt=document.createElement("div");wt.style.minHeight="20px",wt.style.flexGrow="2",wt.style.overflow="hidden";var en=` + + `;wt.innerHTML=en,fe.appendChild(wt),he.styleBoxes.push(fe)}),we},ve.prototype.setCurrentStyle=function(he,we){var Re=this;this.currentStyle=he,this.styleBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onStyleChanged&&this.onStyleChanged(this.currentStyle)},ve}(Fe),Nn=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.strokeColor=Re.defaultColor,fe.strokeWidth=Re.defaultStrokeWidth,fe.strokeDasharray=Re.defaultStrokeDasharray,fe.strokePanel=new qe("Line color",Re.defaultColorSet,Re.defaultColor),fe.strokePanel.onColorChanged=fe.setStrokeColor,fe.strokeWidthPanel=new je("Line width",Re.defaultStrokeWidths,Re.defaultStrokeWidth),fe.strokeWidthPanel.onWidthChanged=fe.setStrokeWidth,fe.strokeStylePanel=new gn("Line style",Re.defaultStrokeDasharrays,Re.defaultStrokeDasharray),fe.strokeStylePanel.onStyleChanged=fe.setStrokeDasharray,fe}return Oe(ve,Te),Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Te.prototype.getState.call(this);return he.typeName=ve.typeName,he},ve.typeName="FrameMarker",ve.title="Frame marker",ve.icon='',ve}(Mt),rn=function(){this.defaultColorSet=["#EF4444","#10B981","#2563EB","#FFFF00","#7C3AED","#F472B6","#000000","#FFFFFF"],this.defaultColor=this.defaultColorSet[0],this.defaultFillColor=this.defaultColorSet[0],this.defaultStrokeColor=this.defaultColorSet[7],this.defaultHighlightColor=this.defaultColorSet[3],this.defaultStrokeWidth=3,this.defaultStrokeDasharray="",this.defaultHighlightOpacity=.5,this.defaultFontFamily="Helvetica, Arial, sans-serif",this.defaultStrokeWidths=[1,2,3,5,10],this.defaultStrokeDasharrays=["","3","12 3","9 6 3 6"],this.defaultOpacitySteps=[.1,.25,.5,.75,1],this.displayMode="inline",this.defaultFontFamilies=['Times, "Times New Roman", serif',"Helvetica, Arial, sans-serif",'Courier, "Courier New", monospace',"cursive","fantasy"],this.popupMargin=30,this.newFreehandMarkerOnPointerUp=!1,this.defaultColorsFollowCurrentColors=!1,this.freehandPixelRatio=1,this.disableRotation=!1,this.defaultCaptionFontSize="1rem",this.defaultCaptionText="Text"},Et=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.x1=0,fe.y1=0,fe.x2=0,fe.y2=0,fe.defaultLength=50,fe.manipulationStartX=0,fe.manipulationStartY=0,fe.manipulationStartX1=0,fe.manipulationStartY1=0,fe.manipulationStartX2=0,fe.manipulationStartY2=0,fe.setupControlBox(),fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!!Te.prototype.ownsTarget.call(this,he)||!(!this.grip1.ownsTarget(he)&&!this.grip2.ownsTarget(he))},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.manipulationStartX=he.x,this.manipulationStartY=he.y,this.state==="new"&&(this.x1=he.x,this.y1=he.y,this.x2=he.x,this.y2=he.y),this.manipulationStartX1=this.x1,this.manipulationStartY1=this.y1,this.manipulationStartX2=this.x2,this.manipulationStartY2=this.y2,this.state!=="new"&&(this.select(),this.grip1.ownsTarget(we)?this.activeGrip=this.grip1:this.grip2.ownsTarget(we)?this.activeGrip=this.grip2:this.activeGrip=void 0,this.activeGrip?this._state="resize":this._state="move")},ve.prototype.pointerUp=function(he){var we=this.state;Te.prototype.pointerUp.call(this,he),this.state==="creating"&&Math.abs(this.x1-this.x2)<10&&Math.abs(this.y1-this.y2)<10?(this.x2=this.x1+this.defaultLength,this.adjustVisual(),this.adjustControlBox()):this.manipulate(he),this._state="select",we==="creating"&&this.onMarkerCreated&&this.onMarkerCreated(this)},ve.prototype.adjustVisual=function(){},ve.prototype.manipulate=function(he){this.state==="creating"?this.resize(he):this.state==="move"?(this.x1=this.manipulationStartX1+he.x-this.manipulationStartX,this.y1=this.manipulationStartY1+he.y-this.manipulationStartY,this.x2=this.manipulationStartX2+he.x-this.manipulationStartX,this.y2=this.manipulationStartY2+he.y-this.manipulationStartY,this.adjustVisual(),this.adjustControlBox()):this.state==="resize"&&this.resize(he)},ve.prototype.resize=function(he){switch(this.activeGrip){case this.grip1:this.x1=he.x,this.y1=he.y;break;case this.grip2:case void 0:this.x2=he.x,this.y2=he.y}this.adjustVisual(),this.adjustControlBox()},ve.prototype.select=function(){Te.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},ve.prototype.deselect=function(){Te.prototype.deselect.call(this),this.controlBox.style.display="none"},ve.prototype.setupControlBox=function(){this.controlBox=Je.createGroup(),this.container.appendChild(this.controlBox),this.addControlGrips(),this.controlBox.style.display="none"},ve.prototype.adjustControlBox=function(){this.positionGrips()},ve.prototype.addControlGrips=function(){this.grip1=this.createGrip(),this.grip2=this.createGrip(),this.positionGrips()},ve.prototype.createGrip=function(){var he=new Lt;return he.visual.transform.baseVal.appendItem(Je.createTransform()),this.controlBox.appendChild(he.visual),he},ve.prototype.positionGrips=function(){var he=this.grip1.GRIP_SIZE;this.positionGrip(this.grip1.visual,this.x1-he/2,this.y1-he/2),this.positionGrip(this.grip2.visual,this.x2-he/2,this.y2-he/2)},ve.prototype.positionGrip=function(he,we,Re){var fe=he.transform.baseVal.getItem(0);fe.setTranslate(we,Re),he.transform.baseVal.replaceItem(fe,0)},ve.prototype.getState=function(){return Object.assign({x1:this.x1,y1:this.y1,x2:this.x2,y2:this.y2},Te.prototype.getState.call(this))},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he);var we=he;this.x1=we.x1,this.y1=we.y1,this.x2=we.x2,this.y2=we.y2},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we),this.x1=this.x1*he,this.y1=this.y1*we,this.x2=this.x2*he,this.y2=this.y2*we,this.adjustVisual(),this.adjustControlBox()},ve}(St),_t=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.strokeColor="transparent",fe.strokeWidth=0,fe.strokeDasharray="",fe.setStrokeColor=fe.setStrokeColor.bind(fe),fe.setStrokeWidth=fe.setStrokeWidth.bind(fe),fe.setStrokeDasharray=fe.setStrokeDasharray.bind(fe),fe.strokeColor=Re.defaultColor,fe.strokeWidth=Re.defaultStrokeWidth,fe.strokeDasharray=Re.defaultStrokeDasharray,fe.strokePanel=new qe("Line color",Re.defaultColorSet,Re.defaultColor),fe.strokePanel.onColorChanged=fe.setStrokeColor,fe.strokeWidthPanel=new je("Line width",Re.defaultStrokeWidths,Re.defaultStrokeWidth),fe.strokeWidthPanel.onWidthChanged=fe.setStrokeWidth,fe.strokeStylePanel=new gn("Line style",Re.defaultStrokeDasharrays,Re.defaultStrokeDasharray),fe.strokeStylePanel.onStyleChanged=fe.setStrokeDasharray,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.visual&&he!==this.selectorLine&&he!==this.visibleLine)},ve.prototype.createVisual=function(){this.visual=Je.createGroup(),this.selectorLine=Je.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()]]),this.visibleLine=Je.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),this.visual.appendChild(this.selectorLine),this.visual.appendChild(this.visibleLine),this.addMarkerVisualToContainer(this.visual)},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.state==="new"&&(this.createVisual(),this.adjustVisual(),this._state="creating")},ve.prototype.adjustVisual=function(){this.selectorLine&&this.visibleLine&&(this.selectorLine.setAttribute("x1",this.x1.toString()),this.selectorLine.setAttribute("y1",this.y1.toString()),this.selectorLine.setAttribute("x2",this.x2.toString()),this.selectorLine.setAttribute("y2",this.y2.toString()),this.visibleLine.setAttribute("x1",this.x1.toString()),this.visibleLine.setAttribute("y1",this.y1.toString()),this.visibleLine.setAttribute("x2",this.x2.toString()),this.visibleLine.setAttribute("y2",this.y2.toString()),Je.setAttributes(this.visibleLine,[["stroke",this.strokeColor]]),Je.setAttributes(this.visibleLine,[["stroke-width",this.strokeWidth.toString()]]),Je.setAttributes(this.visibleLine,[["stroke-dasharray",this.strokeDasharray.toString()]]))},ve.prototype.setStrokeColor=function(he){this.strokeColor=he,this.adjustVisual(),this.colorChanged(he)},ve.prototype.setStrokeWidth=function(he){this.strokeWidth=he,this.adjustVisual()},ve.prototype.setStrokeDasharray=function(he){this.strokeDasharray=he,this.adjustVisual(),this.stateChanged()},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray},Te.prototype.getState.call(this));return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he);var we=he;this.strokeColor=we.strokeColor,this.strokeWidth=we.strokeWidth,this.strokeDasharray=we.strokeDasharray,this.createVisual(),this.adjustVisual()},ve.typeName="LineMarker",ve.title="Line marker",ve.icon='',ve}(Et),We=function(Te){function ve(he,we,Re,fe){var wt=Te.call(this,he,fe||'')||this;return wt.fonts=[],wt.fontBoxes=[],wt.fonts=we,wt.currentFont=Re,wt.setCurrentFont=wt.setCurrentFont.bind(wt),wt}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");return we.style.overflow="hidden",we.style.flexGrow="2",this.fonts.forEach(function(Re){var fe=document.createElement("div");fe.style.display="inline-block",fe.style.alignItems="center",fe.style.justifyContent="space-between",fe.style.padding="5px",fe.style.borderWidth="2px",fe.style.borderStyle="solid",fe.style.overflow="hidden",fe.style.maxWidth=100/he.fonts.length-5+"%",fe.style.borderColor=Re===he.currentFont?he.uiStyleSettings.toolboxAccentColor:"transparent",fe.addEventListener("click",function(){he.setCurrentFont(Re,fe)}),we.appendChild(fe);var wt=document.createElement("div");wt.style.display="flex",wt.style.minHeight="20px",wt.style.flexGrow="2",wt.style.fontFamily=Re,wt.style.overflow="hidden";var en=document.createElement("div");en.style.whiteSpace="nowrap",en.style.overflow="hidden",en.style.textOverflow="ellipsis",en.innerHTML="The quick brown fox jumps over the lazy dog",wt.appendChild(en),fe.appendChild(wt),he.fontBoxes.push(fe)}),we},ve.prototype.setCurrentFont=function(he,we){var Re=this;this.currentFont=he,this.fontBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onFontChanged&&this.onFontChanged(this.currentFont)},ve}(Fe),Rt=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.color="transparent",fe.padding=5,fe.DEFAULT_TEXT="\u8BF7\u8F93\u5165\u6587\u672C",fe.text=fe.DEFAULT_TEXT,fe.isMoved=!1,fe.color=Re.defaultColor,fe.fontFamily=Re.defaultFontFamily,fe.defaultSize={x:100,y:30},fe.setColor=fe.setColor.bind(fe),fe.setFont=fe.setFont.bind(fe),fe.renderText=fe.renderText.bind(fe),fe.sizeText=fe.sizeText.bind(fe),fe.textEditDivClicked=fe.textEditDivClicked.bind(fe),fe.showTextEditor=fe.showTextEditor.bind(fe),fe.setSize=fe.setSize.bind(fe),fe.positionTextEditor=fe.positionTextEditor.bind(fe),fe.colorPanel=new qe("Color",Re.defaultColorSet,Re.defaultColor),fe.colorPanel.onColorChanged=fe.setColor,fe.fontFamilyPanel=new We("Font",Re.defaultFontFamilies,Re.defaultFontFamily),fe.fontFamilyPanel.onFontChanged=fe.setFont,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){if(Te.prototype.ownsTarget.call(this,he)||he===this.visual||he===this.textElement||he===this.bgRectangle)return!0;var we=!1;return this.textElement.childNodes.forEach(function(Re){Re===he&&(we=!0)}),we},ve.prototype.createVisual=function(){this.visual=Je.createGroup(),this.bgRectangle=Je.createRect(1,1,[["fill","transparent"]]),this.visual.appendChild(this.bgRectangle),this.textElement=Je.createText([["fill",this.color],["font-family",this.fontFamily],["font-size","16px"],["x","0"],["y","0"]]),this.textElement.transform.baseVal.appendItem(Je.createTransform()),this.textElement.transform.baseVal.appendItem(Je.createTransform()),this.visual.appendChild(this.textElement),this.addMarkerVisualToContainer(this.visual),this.renderText()},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.isMoved=!1,this.pointerDownPoint=he,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(he),this._state="creating")},ve.prototype.renderText=function(){var he=this;if(this.textElement){for(;this.textElement.lastChild;)this.textElement.removeChild(this.textElement.lastChild);this.text.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/).forEach(function(we){he.textElement.appendChild(Je.createTSpan(we.trim()===""?" ":we.trim(),[["x","0"],["dy","1.2em"]]))}),setTimeout(this.sizeText,10)}},ve.prototype.getTextScale=function(){var he=this.textElement.getBBox(),we=1;if(he.width>0&&he.height>0){var Re=(1*this.width-this.width*this.padding*2/100)/he.width,fe=(1*this.height-this.height*this.padding*2/100)/he.height;we=Math.min(Re,fe)}return we},ve.prototype.getTextPosition=function(he){var we=this.textElement.getBBox(),Re=0,fe=0;return we.width>0&&we.height>0&&(Re=(this.width-we.width*he)/2,fe=this.height/2-we.height*he/2),{x:Re,y:fe}},ve.prototype.sizeText=function(){var he=this.textElement.getBBox(),we=this.getTextScale(),Re=this.getTextPosition(we);Re.y-=he.y*we,navigator.userAgent.indexOf("Edge/")>-1?this.textElement.style.transform="translate("+Re.x+"px, "+Re.y+"px) scale("+we+", "+we+")":(this.textElement.transform.baseVal.getItem(0).setTranslate(Re.x,Re.y),this.textElement.transform.baseVal.getItem(1).setScale(we,we))},ve.prototype.manipulate=function(he){Te.prototype.manipulate.call(this,he),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(he.x-this.pointerDownPoint.x)>5||Math.abs(he.y-this.pointerDownPoint.y)>5)},ve.prototype.resize=function(he){Te.prototype.resize.call(this,he),this.isMoved=!0,this.setSize(),this.sizeText()},ve.prototype.setSize=function(){Te.prototype.setSize.call(this),this.visual&&this.bgRectangle&&(Je.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),Je.setAttributes(this.bgRectangle,[["width",this.width.toString()],["height",this.height.toString()]]))},ve.prototype.pointerUp=function(he){var we=this.state;we==="creating"&&(this._suppressMarkerCreateEvent=!0),Te.prototype.pointerUp.call(this,he),this.setSize(),(we==="creating"||!this.isMoved&&Date.now()-this.pointerDownTimestamp>500)&&this.showTextEditor(),this.pointerDownPoint=void 0},ve.prototype.showTextEditor=function(){var he=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditor=document.createElement("div"),this.textEditor.style.position="absolute",this.textEditor.style.fontFamily=this.fontFamily,this.textEditor.style.lineHeight="1em",this.textEditor.innerText=this.text,this.textEditor.contentEditable="true",this.textEditor.style.color=this.color,this.textEditor.style.whiteSpace="pre",this.positionTextEditor(),this.textEditor.addEventListener("pointerup",function(we){we.stopPropagation()}),this.textEditor.addEventListener("input",function(){for(var we=Number.parseFloat(he.textEditor.style.fontSize);he.textEditor.clientWidth>=Number.parseInt(he.textEditor.style.maxWidth)&&we>.9;)we-=.1,he.textEditor.style.fontSize=Math.max(we,.9)+"em"}),this.textEditor.addEventListener("keyup",function(we){we.cancelBubble=!0}),this.textEditor.addEventListener("paste",function(we){if(we.clipboardData){var Re=we.clipboardData.getData("text"),fe=window.getSelection();if(!fe.rangeCount)return!1;fe.deleteFromDocument(),fe.getRangeAt(0).insertNode(document.createTextNode(Re)),we.preventDefault()}}),this.textEditDiv.addEventListener("pointerup",function(){he.textEditDivClicked(he.textEditor.innerText)}),this.textEditDiv.appendChild(this.textEditor),this.overlayContainer.appendChild(this.textEditDiv),this.hideVisual(),this.textEditor.focus(),document.execCommand("selectAll")},ve.prototype.positionTextEditor=function(){if(this.state==="edit")if(this.textEditor===void 0)this.showTextEditor();else{this.textElement.style.display="";var he=this.getTextScale(),we=this.rotatePoint({x:this.left+this.width/2,y:this.top+this.height/2}),Re=this.textElement.getBBox(),fe={x:Re.width*he,y:Re.height*he};we.x-=fe.x/2,we.y-=fe.y/2,this.textEditor.style.top=we.y+"px",this.textEditor.style.left=we.x+"px",this.textEditor.style.maxWidth=this.overlayContainer.offsetWidth-we.x+"px",this.textEditor.style.fontSize=Math.max(16*he,12)+"px",this.textElement.style.display="none"}},ve.prototype.textEditDivClicked=function(he){this.text=he.trim(),this.overlayContainer.innerHTML="",this.renderText(),this.showVisual(),this._suppressMarkerCreateEvent&&(this._suppressMarkerCreateEvent=!1,this.onMarkerCreated&&this.onMarkerCreated(this)),this.stateChanged()},ve.prototype.select=function(){Te.prototype.select.call(this),this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText)},ve.prototype.deselect=function(){this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText),Te.prototype.deselect.call(this)},ve.prototype.dblClick=function(he,we){Te.prototype.dblClick.call(this,he,we),this.showTextEditor()},ve.prototype.setColor=function(he){this.textElement&&Je.setAttributes(this.textElement,[["fill",he]]),this.color=he,this.textEditor&&(this.textEditor.style.color=this.color),this.colorChanged(he)},ve.prototype.setFont=function(he){this.textElement&&Je.setAttributes(this.textElement,[["font-family",he]]),this.fontFamily=he,this.textEditor&&(this.textEditor.style.fontFamily=this.fontFamily),this.renderText(),this.stateChanged()},ve.prototype.hideVisual=function(){this.textElement.style.display="none",this.hideControlBox()},ve.prototype.showVisual=function(){this.state==="edit"&&(this._state="select"),this.textElement.style.display="",this.showControlBox()},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.colorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({color:this.color,fontFamily:this.fontFamily,padding:this.padding,text:this.text},Te.prototype.getState.call(this));return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){var we=he;this.color=we.color,this.fontFamily=we.fontFamily,this.padding=we.padding,this.text=we.text,this.createVisual(),Te.prototype.restoreState.call(this,he),this.setSize()},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we),this.setSize(),this.sizeText(),this.positionTextEditor()},ve.typeName="TextMarker",ve.title="Text marker",ve.icon='',ve}(At),lt=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.color="transparent",fe.lineWidth=3,fe.drawing=!1,fe.pixelRatio=1,fe.color=Re.defaultColor,fe.lineWidth=Re.defaultStrokeWidth,fe.pixelRatio=Re.freehandPixelRatio,fe.setColor=fe.setColor.bind(fe),fe.addCanvas=fe.addCanvas.bind(fe),fe.finishCreation=fe.finishCreation.bind(fe),fe.setLineWidth=fe.setLineWidth.bind(fe),fe.colorPanel=new qe("Color",Re.defaultColorSet,Re.defaultColor),fe.colorPanel.onColorChanged=fe.setColor,fe.lineWidthPanel=new je("Line width",Re.defaultStrokeWidths,Re.defaultStrokeWidth),fe.lineWidthPanel.onWidthChanged=fe.setLineWidth,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.visual&&he!==this.drawingImage)},ve.prototype.createVisual=function(){this.visual=Je.createGroup(),this.drawingImage=Je.createImage(),this.visual.appendChild(this.drawingImage);var he=Je.createTransform();this.visual.transform.baseVal.appendItem(he),this.addMarkerVisualToContainer(this.visual)},ve.prototype.pointerDown=function(he,we){this.state==="new"&&(this.addCanvas(),this.createVisual(),this._state="creating"),this.state==="creating"?(this.canvasContext.strokeStyle=this.color,this.canvasContext.lineWidth=this.lineWidth,this.canvasContext.beginPath(),this.canvasContext.moveTo(he.x,he.y),this.drawing=!0):Te.prototype.pointerDown.call(this,he,we)},ve.prototype.manipulate=function(he){this.state==="creating"?this.drawing&&(this.canvasContext.lineTo(he.x,he.y),this.canvasContext.stroke()):Te.prototype.manipulate.call(this,he)},ve.prototype.resize=function(he){Te.prototype.resize.call(this,he),Je.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),Je.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]])},ve.prototype.pointerUp=function(he){this._state==="creating"?this.drawing&&(this.canvasContext.closePath(),this.drawing=!1,this.globalSettings.newFreehandMarkerOnPointerUp&&this.finishCreation()):Te.prototype.pointerUp.call(this,he)},ve.prototype.addCanvas=function(){this.overlayContainer.innerHTML="",this.canvasElement=document.createElement("canvas"),this.canvasElement.width=this.overlayContainer.clientWidth*this.pixelRatio,this.canvasElement.height=this.overlayContainer.clientHeight*this.pixelRatio,this.canvasContext=this.canvasElement.getContext("2d"),this.canvasContext.scale(this.pixelRatio,this.pixelRatio),this.overlayContainer.appendChild(this.canvasElement)},ve.prototype.select=function(){this.state==="creating"&&this.finishCreation(),Te.prototype.select.call(this)},ve.prototype.deselect=function(){this.state==="creating"&&this.finishCreation(),Te.prototype.deselect.call(this)},ve.prototype.finishCreation=function(){for(var he=this.canvasContext.getImageData(0,0,this.canvasElement.width,this.canvasElement.height),we=[this.canvasElement.width+1,this.canvasElement.height+1,-1,-1],Re=we[0],fe=we[1],wt=we[2],en=we[3],mt=!1,xt=0;xt0&&(mt=!0,xten&&(en=xt),On>wt&&(wt=On));if(mt){this.left=Re/this.pixelRatio,this.top=fe/this.pixelRatio,this.width=(wt-Re)/this.pixelRatio,this.height=(en-fe)/this.pixelRatio;var yn=document.createElement("canvas");yn.width=wt-Re,yn.height=en-fe,yn.getContext("2d").putImageData(this.canvasContext.getImageData(Re,fe,wt-Re,en-fe),0,0),this.drawingImgUrl=yn.toDataURL("image/png"),this.setDrawingImage(),this._state="select",this.onMarkerCreated&&this.onMarkerCreated(this)}this.overlayContainer.innerHTML=""},ve.prototype.setDrawingImage=function(){Je.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]]),Je.setAttributes(this.drawingImage,[["href",this.drawingImgUrl]]),this.moveVisual({x:this.left,y:this.top})},ve.prototype.setColor=function(he){this.color=he,this.colorChanged(he)},ve.prototype.setLineWidth=function(he){this.lineWidth=he},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return this.state==="new"||this.state==="creating"?[this.colorPanel,this.lineWidthPanel]:[]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({drawingImgUrl:this.drawingImgUrl},Te.prototype.getState.call(this));return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){this.createVisual(),Te.prototype.restoreState.call(this,he),this.drawingImgUrl=he.drawingImgUrl,this.setDrawingImage()},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we),this.setDrawingImage()},ve.typeName="FreehandMarker",ve.title="Freehand marker",ve.icon='',ve}(At),dn=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,Re||'')||this;return fe.typeBoxes=[],fe.currentType=we,fe.setCurrentType=fe.setCurrentType.bind(fe),fe}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");we.style.display="flex",we.style.overflow="hidden",we.style.flexGrow="2";for(var Re=function(en){var mt="both";switch(en){case 0:mt="both";break;case 1:mt="start";break;case 2:mt="end";break;case 3:mt="none"}var xt=document.createElement("div");if(xt.style.display="flex",xt.style.flexGrow="2",xt.style.alignItems="center",xt.style.justifyContent="space-between",xt.style.padding="5px",xt.style.borderWidth="2px",xt.style.borderStyle="solid",xt.style.borderColor=mt===fe.currentType?fe.uiStyleSettings.toolboxAccentColor:"transparent",xt.addEventListener("click",function(){he.setCurrentType(mt,xt)}),we.appendChild(xt),mt==="both"||mt==="start"){var On=document.createElement("div");On.style.display="flex",On.style.alignItems="center",On.style.minHeight="20px",On.innerHTML=` + + `,On.style.marginLeft="5px",xt.appendChild(On)}var yn=document.createElement("div");yn.style.display="flex",yn.style.alignItems="center",yn.style.minHeight="20px",yn.style.flexGrow="2";var Qt=document.createElement("hr");if(Qt.style.minWidth="20px",Qt.style.border="0px",Qt.style.borderTop="3px solid "+(fe.uiStyleSettings!==void 0?fe.uiStyleSettings.toolboxColor:"#eeeeee"),Qt.style.flexGrow="2",yn.appendChild(Qt),xt.appendChild(yn),mt==="both"||mt==="end"){var pr=document.createElement("div");pr.style.display="flex",pr.style.alignItems="center",pr.style.minHeight="20px",pr.innerHTML=` + + `,pr.style.marginRight="5px",xt.appendChild(pr)}fe.typeBoxes.push(xt)},fe=this,wt=0;wt<4;wt++)Re(wt);return we},ve.prototype.setCurrentType=function(he,we){var Re=this;this.currentType=he,this.typeBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings!==void 0?Re.uiStyleSettings.toolboxAccentColor:"#3080c3":"transparent"}),this.onArrowTypeChanged&&this.onArrowTypeChanged(this.currentType)},ve}(Fe),ln=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.arrowType="end",fe.arrowBaseHeight=10,fe.arrowBaseWidth=10,fe.getArrowPoints=fe.getArrowPoints.bind(fe),fe.setArrowType=fe.setArrowType.bind(fe),fe.arrowTypePanel=new dn("Arrow type","end"),fe.arrowTypePanel.onArrowTypeChanged=fe.setArrowType,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.arrow1&&he!==this.arrow2)},ve.prototype.getArrowPoints=function(he,we){var Re=this.arrowBaseWidth+2*this.strokeWidth,fe=this.arrowBaseHeight+2*this.strokeWidth;return he-Re/2+","+(we+fe/2)+" "+he+","+(we-fe/2)+" "+(he+Re/2)+","+(we+fe/2)},ve.prototype.createTips=function(){this.arrow1=Je.createPolygon(this.getArrowPoints(this.x1,this.y1),[["fill",this.strokeColor]]),this.arrow1.transform.baseVal.appendItem(Je.createTransform()),this.visual.appendChild(this.arrow1),this.arrow2=Je.createPolygon(this.getArrowPoints(this.x2,this.y2),[["fill",this.strokeColor]]),this.arrow2.transform.baseVal.appendItem(Je.createTransform()),this.visual.appendChild(this.arrow2)},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.state==="creating"&&this.createTips()},ve.prototype.adjustVisual=function(){if(Te.prototype.adjustVisual.call(this),this.arrow1&&this.arrow2){this.arrow1.style.display=this.arrowType==="both"||this.arrowType==="start"?"":"none",this.arrow2.style.display=this.arrowType==="both"||this.arrowType==="end"?"":"none",Je.setAttributes(this.arrow1,[["points",this.getArrowPoints(this.x1,this.y1)],["fill",this.strokeColor]]),Je.setAttributes(this.arrow2,[["points",this.getArrowPoints(this.x2,this.y2)],["fill",this.strokeColor]]);var he=0;Math.abs(this.x1-this.x2)>.1&&(he=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2));var we=this.arrow1.transform.baseVal.getItem(0);we.setRotate(he,this.x1,this.y1),this.arrow1.transform.baseVal.replaceItem(we,0);var Re=this.arrow2.transform.baseVal.getItem(0);Re.setRotate(he+180,this.x2,this.y2),this.arrow2.transform.baseVal.replaceItem(Re,0)}},ve.prototype.setArrowType=function(he){this.arrowType=he,this.adjustVisual(),this.stateChanged()},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel,this.arrowTypePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({arrowType:this.arrowType},Te.prototype.getState.call(this));return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he);var we=he;this.arrowType=we.arrowType,this.createTips(),this.adjustVisual()},ve.typeName="ArrowMarker",ve.title="Arrow marker",ve.icon='',ve}(_t),tn=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.fillColor=Re.defaultFillColor,fe.strokeWidth=0,fe.fillPanel=new qe("Color",Re.defaultColorSet,Re.defaultFillColor),fe.fillPanel.onColorChanged=fe.setFillColor,fe}return Oe(ve,Te),Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.fillPanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Te.prototype.getState.call(this);return he.typeName=ve.typeName,he},ve.typeName="CoverMarker",ve.title="Cover marker",ve.icon='',ve}(Mt),lr=function(Te){function ve(he,we,Re,fe){var wt=Te.call(this,he,fe||'')||this;return wt.opacities=[],wt.opacityBoxes=[],wt.opacities=we,wt.currentOpacity=Re,wt.setCurrentOpacity=wt.setCurrentOpacity.bind(wt),wt}return Oe(ve,Te),ve.prototype.getUi=function(){var he=this,we=document.createElement("div");return we.style.display="flex",we.style.overflow="hidden",we.style.flexGrow="2",we.style.justifyContent="space-between",this.opacities.forEach(function(Re){var fe=document.createElement("div");fe.style.display="flex",fe.style.alignItems="center",fe.style.justifyContent="center",fe.style.padding="5px",fe.style.borderWidth="2px",fe.style.borderStyle="solid",fe.style.borderColor=Re===he.currentOpacity?he.uiStyleSettings.toolboxAccentColor:"transparent",fe.addEventListener("click",function(){he.setCurrentOpacity(Re,fe)}),we.appendChild(fe);var wt=document.createElement("div");wt.innerText=100*Re+"%",fe.appendChild(wt),he.opacityBoxes.push(fe)}),we},ve.prototype.setCurrentOpacity=function(he,we){var Re=this;this.currentOpacity=he,this.opacityBoxes.forEach(function(fe){fe.style.borderColor=fe===we?Re.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onOpacityChanged&&this.onOpacityChanged(this.currentOpacity)},ve}(Fe),Dr=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.setOpacity=fe.setOpacity.bind(fe),fe.fillColor=Re.defaultHighlightColor,fe.strokeWidth=0,fe.opacity=Re.defaultHighlightOpacity,fe.fillPanel=new qe("Color",Re.defaultColorSet,fe.fillColor),fe.fillPanel.onColorChanged=fe.setFillColor,fe.opacityPanel=new lr("Opacity",Re.defaultOpacitySteps,fe.opacity),fe.opacityPanel.onOpacityChanged=fe.setOpacity,fe}return Oe(ve,Te),ve.prototype.setOpacity=function(he){this.opacity=he,this.visual&&Je.setAttributes(this.visual,[["opacity",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.fillPanel,this.opacityPanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Te.prototype.getState.call(this);return he.typeName=ve.typeName,he},ve.typeName="HighlightMarker",ve.title="Highlight marker",ve.icon='',ve}(tn),ft='',Le='',Gt=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.bgColor="transparent",fe.tipPosition={x:0,y:0},fe.tipBase1Position={x:0,y:0},fe.tipBase2Position={x:0,y:0},fe.tipMoving=!1,fe.color=Re.defaultStrokeColor,fe.bgColor=Re.defaultFillColor,fe.fontFamily=Re.defaultFontFamily,fe.defaultSize={x:100,y:30},fe.setBgColor=fe.setBgColor.bind(fe),fe.getTipPoints=fe.getTipPoints.bind(fe),fe.positionTip=fe.positionTip.bind(fe),fe.setTipPoints=fe.setTipPoints.bind(fe),fe.colorPanel=new qe("Text color",Re.defaultColorSet,fe.color,ft),fe.colorPanel.onColorChanged=fe.setColor,fe.bgColorPanel=new qe("Fill color",Re.defaultColorSet,fe.bgColor,Le),fe.bgColorPanel.onColorChanged=fe.setBgColor,fe.fontFamilyPanel=new We("Font",Re.defaultFontFamilies,Re.defaultFontFamily),fe.fontFamilyPanel.onFontChanged=fe.setFont,fe.tipGrip=new Lt,fe.tipGrip.visual.transform.baseVal.appendItem(Je.createTransform()),fe.controlBox.appendChild(fe.tipGrip.visual),fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return Te.prototype.ownsTarget.call(this,he)||this.tipGrip.ownsTarget(he)||this.tip===he},ve.prototype.createTip=function(){Je.setAttributes(this.bgRectangle,[["fill",this.bgColor],["rx","10px"]]),this.tip=Je.createPolygon(this.getTipPoints(),[["fill",this.bgColor]]),this.visual.appendChild(this.tip)},ve.prototype.pointerDown=function(he,we){this.state==="new"&&Te.prototype.pointerDown.call(this,he,we),this.state==="creating"?this.createTip():this.tipGrip.ownsTarget(we)?(this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.tipMoving=!0):Te.prototype.pointerDown.call(this,he,we)},ve.prototype.pointerUp=function(he){if(this.tipMoving)this.tipMoving=!1,this.isMoved=!0,Te.prototype.pointerUp.call(this,he);else{var we=this.state==="creating";Te.prototype.pointerUp.call(this,he),this.setTipPoints(we),this.positionTip()}},ve.prototype.manipulate=function(he){if(this.tipMoving){var we=this.unrotatePoint(he);this.tipPosition={x:we.x-this.manipulationStartLeft,y:we.y-this.manipulationStartTop},this.positionTip()}else Te.prototype.manipulate.call(this,he)},ve.prototype.setBgColor=function(he){this.bgRectangle&&this.tip&&(Je.setAttributes(this.bgRectangle,[["fill",he]]),Je.setAttributes(this.tip,[["fill",he]])),this.bgColor=he,this.fillColorChanged(he)},ve.prototype.getTipPoints=function(){return this.setTipPoints(this.state==="creating"),this.tipBase1Position.x+","+this.tipBase1Position.y+" "+this.tipBase2Position.x+","+this.tipBase2Position.y+" "+this.tipPosition.x+","+this.tipPosition.y},ve.prototype.setTipPoints=function(he){he===void 0&&(he=!1);var we=Math.min(this.height/2,15),Re=this.height/5;he&&(this.tipPosition={x:we+Re/2,y:this.height+20});var fe=Math.atan(this.height/2/(this.width/2));this.tipPosition.x=this.width/2&&this.tipPosition.y=this.width/2&&this.tipPosition.y>=this.height/2?fe.1)){var he=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2),we=this.tip1.transform.baseVal.getItem(0);we.setRotate(he,this.x1,this.y1),this.tip1.transform.baseVal.replaceItem(we,0);var Re=this.tip2.transform.baseVal.getItem(0);Re.setRotate(he+180,this.x2,this.y2),this.tip2.transform.baseVal.replaceItem(Re,0)}},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Te.prototype.getState.call(this);return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he),this.createTips(),this.adjustVisual()},ve.typeName="MeasurementMarker",ve.title="Measurement marker",ve.icon='',ve}(_t),It=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.strokePanel.colors=Re.defaultColorSet,fe.fillColor="transparent",fe}return Oe(ve,Te),Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Te.prototype.getState.call(this);return he.typeName=ve.typeName,he},ve.typeName="EllipseFrameMarker",ve.title="Ellipse frame marker",ve.icon='',ve}(Cr),Nt=function(){function Te(){this.undoStack=[],this.redoStack=[]}return Object.defineProperty(Te.prototype,"isUndoPossible",{get:function(){return this.undoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"isRedoPossible",{get:function(){return this.redoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"undoStepCount",{get:function(){return this.undoStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"redoStepCount",{get:function(){return this.redoStack.length},enumerable:!1,configurable:!0}),Te.prototype.addUndoStep=function(ve){this.undoStack.length!==0&&JSON.stringify(this.undoStack[this.undoStack.length-1])===JSON.stringify(ve)||(this.undoStack.push(ve),JSON.stringify(this.lastRedoStep)!==JSON.stringify(ve)&&this.redoStack.splice(0,this.redoStack.length))},Te.prototype.replaceLastUndoStep=function(ve){this.undoStack.length>0&&(this.undoStack[this.undoStack.length-1]=ve)},Te.prototype.getLastUndoStep=function(){return this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0},Te.prototype.undo=function(){if(this.undoStack.length>1){var ve=this.undoStack.pop();return ve!==void 0&&this.redoStack.push(ve),this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0}},Te.prototype.redo=function(){return this.lastRedoStep=this.redoStack.pop(),this.lastRedoStep},Te}(),hr=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.strokeColor="transparent",fe.strokeWidth=0,fe.strokeDasharray="",fe.curveX=0,fe.curveY=0,fe.manipulationStartCurveX=0,fe.manipulationStartCurveY=0,fe.setStrokeColor=fe.setStrokeColor.bind(fe),fe.setStrokeWidth=fe.setStrokeWidth.bind(fe),fe.setStrokeDasharray=fe.setStrokeDasharray.bind(fe),fe.positionGrips=fe.positionGrips.bind(fe),fe.addControlGrips=fe.addControlGrips.bind(fe),fe.adjustVisual=fe.adjustVisual.bind(fe),fe.setupControlBox=fe.setupControlBox.bind(fe),fe.resize=fe.resize.bind(fe),fe.strokeColor=Re.defaultColor,fe.strokeWidth=Re.defaultStrokeWidth,fe.strokeDasharray=Re.defaultStrokeDasharray,fe.strokePanel=new qe("Line color",Re.defaultColorSet,Re.defaultColor),fe.strokePanel.onColorChanged=fe.setStrokeColor,fe.strokeWidthPanel=new je("Line width",Re.defaultStrokeWidths,Re.defaultStrokeWidth),fe.strokeWidthPanel.onWidthChanged=fe.setStrokeWidth,fe.strokeStylePanel=new gn("Line style",Re.defaultStrokeDasharrays,Re.defaultStrokeDasharray),fe.strokeStylePanel.onStyleChanged=fe.setStrokeDasharray,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.visual&&he!==this.selectorCurve&&he!==this.visibleCurve&&!this.curveGrip.ownsTarget(he))},ve.prototype.getPathD=function(){return"M "+this.x1+" "+this.y1+" Q "+this.curveX+" "+this.curveY+", "+this.x2+" "+this.y2},ve.prototype.createVisual=function(){this.visual=Je.createGroup(),this.selectorCurve=Je.createPath(this.getPathD(),[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()],["fill","transparent"]]),this.visibleCurve=Je.createPath(this.getPathD(),[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["fill","transparent"]]),this.visual.appendChild(this.selectorCurve),this.visual.appendChild(this.visibleCurve),this.addMarkerVisualToContainer(this.visual)},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.manipulationStartCurveX=this.curveX,this.manipulationStartCurveY=this.curveY,this.state==="new"&&(this.curveX=he.x,this.curveY=he.y),this.state==="new"?(this.createVisual(),this.adjustVisual(),this._state="creating"):this.curveGrip.ownsTarget(we)&&(this.activeGrip=this.curveGrip,this._state="resize")},ve.prototype.adjustVisual=function(){this.selectorCurve&&this.visibleCurve&&(this.selectorCurve.setAttribute("d",this.getPathD()),this.visibleCurve.setAttribute("d",this.getPathD()),Je.setAttributes(this.visibleCurve,[["stroke",this.strokeColor]]),Je.setAttributes(this.visibleCurve,[["stroke-width",this.strokeWidth.toString()]]),Je.setAttributes(this.visibleCurve,[["stroke-dasharray",this.strokeDasharray.toString()]]))},ve.prototype.setupControlBox=function(){Te.prototype.setupControlBox.call(this),this.curveControlLine1=Je.createLine(this.x1,this.y1,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.curveControlLine2=Je.createLine(this.x2,this.y2,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.insertBefore(this.curveControlLine1,this.controlBox.firstChild),this.controlBox.insertBefore(this.curveControlLine2,this.controlBox.firstChild)},ve.prototype.addControlGrips=function(){this.curveGrip=this.createGrip(),this.curveX=0,this.curveY=0,Te.prototype.addControlGrips.call(this)},ve.prototype.positionGrips=function(){Te.prototype.positionGrips.call(this);var he=this.curveGrip.GRIP_SIZE;this.positionGrip(this.curveGrip.visual,this.curveX-he/2,this.curveY-he/2),this.curveControlLine1&&this.curveControlLine2&&(this.curveControlLine1.setAttribute("x1",this.x1.toString()),this.curveControlLine1.setAttribute("y1",this.y1.toString()),this.curveControlLine1.setAttribute("x2",this.curveX.toString()),this.curveControlLine1.setAttribute("y2",this.curveY.toString()),this.curveControlLine2.setAttribute("x1",this.x2.toString()),this.curveControlLine2.setAttribute("y1",this.y2.toString()),this.curveControlLine2.setAttribute("x2",this.curveX.toString()),this.curveControlLine2.setAttribute("y2",this.curveY.toString()))},ve.prototype.manipulate=function(he){this.state==="move"&&(this.curveX=this.manipulationStartCurveX+he.x-this.manipulationStartX,this.curveY=this.manipulationStartCurveY+he.y-this.manipulationStartY),Te.prototype.manipulate.call(this,he)},ve.prototype.resize=function(he){this.activeGrip===this.curveGrip&&(this.curveX=he.x,this.curveY=he.y),Te.prototype.resize.call(this,he),this.state==="creating"&&(this.curveX=this.x1+(this.x2-this.x1)/2,this.curveY=this.y1+(this.y2-this.y1)/2)},ve.prototype.setStrokeColor=function(he){this.strokeColor=he,this.adjustVisual(),this.colorChanged(he)},ve.prototype.setStrokeWidth=function(he){this.strokeWidth=he,this.adjustVisual()},ve.prototype.setStrokeDasharray=function(he){this.strokeDasharray=he,this.adjustVisual()},ve.prototype.scale=function(he,we){this.curveX=this.curveX*he,this.curveY=this.curveY*we,Te.prototype.scale.call(this,he,we)},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,curveX:this.curveX,curveY:this.curveY},Te.prototype.getState.call(this));return he.typeName=ve.typeName,he},ve.prototype.restoreState=function(he){Te.prototype.restoreState.call(this,he);var we=he;this.strokeColor=we.strokeColor,this.strokeWidth=we.strokeWidth,this.strokeDasharray=we.strokeDasharray,this.curveX=we.curveX,this.curveY=we.curveY,this.createVisual(),this.adjustVisual()},ve.typeName="CurveMarker",ve.title="Curve marker",ve.icon='',ve}(Et),ir=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,we,Re)||this;return fe.fillColor="transparent",fe.strokeColor="transparent",fe.strokeWidth=0,fe.strokeDasharray="",fe.textColor="transparent",fe.fontSize="1rem",fe.isMoved=!1,fe.captionText="Caption",fe.PADDING=5,fe.captionBoxWidth=0,fe.captionBoxHeight=0,fe.strokeColor=Re.defaultColor,fe.strokeWidth=Re.defaultStrokeWidth,fe.strokeDasharray=Re.defaultStrokeDasharray,fe.fillColor=Re.defaultFillColor,fe.textColor=Re.defaultStrokeColor,fe.fontFamily=Re.defaultFontFamily,fe.fontSize=Re.defaultCaptionFontSize,fe.captionText=Re.defaultCaptionText,fe.setStrokeColor=fe.setStrokeColor.bind(fe),fe.setFillColor=fe.setFillColor.bind(fe),fe.setStrokeWidth=fe.setStrokeWidth.bind(fe),fe.setStrokeDasharray=fe.setStrokeDasharray.bind(fe),fe.createVisual=fe.createVisual.bind(fe),fe.sizeCaption=fe.sizeCaption.bind(fe),fe.setCaptionText=fe.setCaptionText.bind(fe),fe.showTextEditor=fe.showTextEditor.bind(fe),fe.positionTextEditor=fe.positionTextEditor.bind(fe),fe.finishTextEditing=fe.finishTextEditing.bind(fe),fe.setFont=fe.setFont.bind(fe),fe.setTextColor=fe.setTextColor.bind(fe),fe.strokePanel=new qe("Line color",Qe(Re.defaultColorSet,["transparent"]),fe.strokeColor),fe.strokePanel.onColorChanged=fe.setStrokeColor,fe.fillPanel=new qe("Fill color",Qe(Re.defaultColorSet,["transparent"]),fe.fillColor,Le),fe.fillPanel.onColorChanged=fe.setFillColor,fe.strokeWidthPanel=new je("Line width",Re.defaultStrokeWidths,Re.defaultStrokeWidth),fe.strokeWidthPanel.onWidthChanged=fe.setStrokeWidth,fe.strokeStylePanel=new gn("Line style",Re.defaultStrokeDasharrays,Re.defaultStrokeDasharray),fe.strokeStylePanel.onStyleChanged=fe.setStrokeDasharray,fe.fontFamilyPanel=new We("Font",Re.defaultFontFamilies,Re.defaultFontFamily),fe.fontFamilyPanel.onFontChanged=fe.setFont,fe.textColorPanel=new qe("Text color",Re.defaultColorSet,fe.textColor,ft),fe.textColorPanel.onColorChanged=fe.setTextColor,fe}return Oe(ve,Te),ve.prototype.ownsTarget=function(he){return!(!Te.prototype.ownsTarget.call(this,he)&&he!==this.visual&&he!==this.frame&&he!==this.captionBg&&he!==this.captionElement)},ve.prototype.createVisual=function(){this.visual=Je.createGroup(),this.addMarkerVisualToContainer(this.visual),this.captionBg=Je.createRect(1,1,[["fill",this.fillColor]]),this.visual.appendChild(this.captionBg),this.captionElement=Je.createText([["fill",this.textColor],["font-family",this.fontFamily]]),this.captionElement.style.fontSize=this.fontSize,this.captionElement.style.textAnchor="start",this.captionElement.style.dominantBaseline="text-before-edge",this.captionElement.textContent=this.captionText,this.visual.appendChild(this.captionElement),this.frame=Je.createRect(this.width,this.height,[["fill","transparent"],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray]]),this.visual.appendChild(this.frame),this.sizeCaption()},ve.prototype.setCaptionText=function(he){this.captionText=he,this.captionElement.textContent=this.captionText,this.sizeCaption()},ve.prototype.pointerDown=function(he,we){Te.prototype.pointerDown.call(this,he,we),this.isMoved=!1,this.pointerDownPoint=he,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(he),this._state="creating")},ve.prototype.manipulate=function(he){Te.prototype.manipulate.call(this,he),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(he.x-this.pointerDownPoint.x)>5||Math.abs(he.y-this.pointerDownPoint.y)>5)},ve.prototype.resize=function(he){Te.prototype.resize.call(this,he),this.setSize()},ve.prototype.sizeCaption=function(){var he=this.captionElement.getBBox();this.captionText.trim()!==""?(this.captionBoxWidth=he.width+2*this.PADDING,this.captionBoxHeight=he.height+2*this.PADDING):(this.captionBoxWidth=0,this.captionBoxHeight=0),Je.setAttributes(this.captionBg,[["width",this.captionBoxWidth.toString()],["height",this.captionBoxHeight.toString()],["clip-path","path('M0,0 H"+this.width+" V"+this.height+" H"+-this.width+" Z')"]]),Je.setAttributes(this.captionElement,[["x",this.PADDING.toString()],["y",this.PADDING.toString()],["clip-path","path('M0,0 H"+(this.width-this.PADDING)+" V"+this.height+" H"+(-this.width-this.PADDING)+" Z')"]])},ve.prototype.showTextEditor=function(){var he=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditBox=document.createElement("input"),this.textEditBox.style.position="absolute",this.textEditBox.style.width=this.width+"px",this.captionBoxHeight>0&&(this.textEditBox.style.height=this.captionBoxHeight+"px"),this.textEditBox.style.fontSize=this.fontSize,this.textEditBox.style.fontFamily=this.fontFamily,this.textEditBox.style.backgroundColor=this.fillColor,this.textEditBox.style.color=this.textColor,this.textEditBox.style.borderWidth="0",this.textEditBox.setAttribute("value",this.captionText),this.textEditBox.select(),this.textEditDiv.appendChild(this.textEditBox),this.overlayContainer.appendChild(this.textEditDiv),this.textEditBox.addEventListener("pointerup",function(we){we.stopPropagation()}),this.textEditBox.addEventListener("keypress",function(we){we.key==="Enter"&&he.finishTextEditing(he.textEditBox.value)}),this.textEditBox.addEventListener("keyup",function(we){we.cancelBubble=!0}),this.textEditBox.addEventListener("blur",function(){he.finishTextEditing(he.textEditBox.value)}),this.textEditDiv.addEventListener("pointerup",function(){he.finishTextEditing(he.textEditBox.value)}),this.positionTextEditor(),this.textEditBox.focus()},ve.prototype.positionTextEditor=function(){this.state==="edit"&&(this.textEditBox===void 0?this.showTextEditor():(this.textEditBox.style.left=this.left+"px",this.textEditBox.style.top=this.top+"px",this.textEditBox.style.transform="rotate("+this.rotationAngle+"deg)",this.textEditBox.style.transformOrigin=this.width/2+"px "+this.height/2+"px"))},ve.prototype.finishTextEditing=function(he){this.setCaptionText(he.trim()),this.overlayContainer.innerHTML="",this.stateChanged()},ve.prototype.setFont=function(he){this.captionElement&&Je.setAttributes(this.captionElement,[["font-family",he]]),this.fontFamily=he,this.textEditBox&&(this.textEditBox.style.fontFamily=this.fontFamily),this.sizeCaption(),this.stateChanged()},ve.prototype.setTextColor=function(he){this.captionElement&&Je.setAttributes(this.captionElement,[["fill",he]]),this.textColor=he,this.textEditBox&&(this.textEditBox.style.color=this.textColor),this.stateChanged()},ve.prototype.setSize=function(){Te.prototype.setSize.call(this),Je.setAttributes(this.frame,[["width",this.width.toString()],["height",this.height.toString()]]),this.sizeCaption()},ve.prototype.pointerUp=function(he){Te.prototype.pointerUp.call(this,he),this.setSize(),!this.isMoved&&Date.now()-this.pointerDownTimestamp>500&&this.showTextEditor(),this.pointerDownPoint=void 0},ve.prototype.dblClick=function(he,we){Te.prototype.dblClick.call(this,he,we),this.showTextEditor()},ve.prototype.setStrokeColor=function(he){this.strokeColor=he,this.frame&&Je.setAttributes(this.frame,[["stroke",this.strokeColor]]),this.colorChanged(he),this.stateChanged()},ve.prototype.setFillColor=function(he){this.fillColor=he,this.captionBg&&Je.setAttributes(this.captionBg,[["fill",this.fillColor]]),this.fillColorChanged(he),this.stateChanged()},ve.prototype.setStrokeWidth=function(he){this.strokeWidth=he,this.frame&&Je.setAttributes(this.frame,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},ve.prototype.setStrokeDasharray=function(he){this.strokeDasharray=he,this.frame&&Je.setAttributes(this.frame,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},Object.defineProperty(ve.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.fontFamilyPanel,this.textColorPanel]},enumerable:!1,configurable:!0}),ve.prototype.getState=function(){var he=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:1,textColor:this.textColor,fontFamily:this.fontFamily,fontSize:this.fontSize,captionText:this.captionText},Te.prototype.getState.call(this));return he.typeName=this.typeName,he},ve.prototype.restoreState=function(he){var we=he;this.fillColor=we.fillColor,this.strokeColor=we.strokeColor,this.strokeWidth=we.strokeWidth,this.strokeDasharray=we.strokeDasharray,this.textColor=we.textColor,this.fontFamily=we.fontFamily,this.captionText=we.captionText,this.fontSize=we.fontSize,this.createVisual(),Te.prototype.restoreState.call(this,he),this.setSize()},ve.prototype.scale=function(he,we){Te.prototype.scale.call(this,he,we),this.setSize()},ve.typeName="CaptionFrameMarker",ve.title="Caption frame marker",ve.icon='',ve}(At),sn=function(){function Te(ve,he){he===void 0&&(he=!1),this.cancelable=!1,this._defaultPrevented=!1,this.markerArea=ve,this.cancelable=he}return Object.defineProperty(Te.prototype,"defaultPrevented",{get:function(){return this._defaultPrevented},enumerable:!1,configurable:!0}),Te.prototype.preventDefault=function(){this._defaultPrevented=!0},Te}(),An=function(Te){function ve(he,we,Re){var fe=Te.call(this,he,!1)||this;return fe.dataUrl=we,fe.state=Re,fe}return Oe(ve,Te),ve}(sn),Cn=function(Te){function ve(he,we,Re){Re===void 0&&(Re=!1);var fe=Te.call(this,he,Re)||this;return fe.marker=we,fe}return Oe(ve,Te),ve}(sn),Pn=function(){function Te(){this.render=[],this.beforeclose=[],this.close=[],this.show=[],this.restorestate=[],this.statechange=[],this.markerselect=[],this.markerdeselect=[],this.markercreating=[],this.markercreate=[],this.markerbeforedelete=[],this.markerdelete=[],this.markerchange=[],this.focus=[],this.blur=[]}return Te.prototype.addEventListener=function(ve,he){this[ve].push(he)},Te.prototype.removeEventListener=function(ve,he){var we=this[ve].indexOf(he);we>-1&&this[ve].splice(we,1)},Te}(),Ln=function(){function Te(ve){this.touchPoints=0,this._availableMarkerTypes=this.DEFAULT_MARKER_TYPES,this.mode="select",this.markers=[],this.isDragging=!1,this.renderEventListeners=[],this.closeEventListeners=[],this.settings=new rn,this._isOpen=!1,this.undoRedoManager=new Nt,this.renderAtNaturalSize=!1,this.renderImageType="image/png",this.renderMarkersOnly=!1,this.zoomSteps=[1,1.5,2,4],this._zoomLevel=1,this._isResizing=!1,this.prevPanPoint={x:0,y:0},this.eventListeners=new Pn,this._silentRenderMode=!1,this._isFocused=!1,this._instanceNo=Te.instanceCounter++,this.styles=new pt(this.instanceNo),this.uiStyleSettings=this.styles.settings,this.target=ve,this.targetRoot=document.body,this.width=ve.clientWidth,this.height=ve.clientHeight,this.styles.removeStyleSheet(),this.open=this.open.bind(this),this.setTopLeft=this.setTopLeft.bind(this),this.toolbarButtonClicked=this.toolbarButtonClicked.bind(this),this.createNewMarker=this.createNewMarker.bind(this),this.addNewMarker=this.addNewMarker.bind(this),this.markerCreated=this.markerCreated.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this),this.onPointerDown=this.onPointerDown.bind(this),this.onDblClick=this.onDblClick.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOut=this.onPointerOut.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.overrideOverflow=this.overrideOverflow.bind(this),this.restoreOverflow=this.restoreOverflow.bind(this),this.close=this.close.bind(this),this.closeUI=this.closeUI.bind(this),this.addCloseEventListener=this.addCloseEventListener.bind(this),this.removeCloseEventListener=this.removeCloseEventListener.bind(this),this.addRenderEventListener=this.addRenderEventListener.bind(this),this.removeRenderEventListener=this.removeRenderEventListener.bind(this),this.clientToLocalCoordinates=this.clientToLocalCoordinates.bind(this),this.onWindowResize=this.onWindowResize.bind(this),this.deleteSelectedMarker=this.deleteSelectedMarker.bind(this),this.setWindowHeight=this.setWindowHeight.bind(this),this.removeMarker=this.removeMarker.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this),this.onPopupTargetResize=this.onPopupTargetResize.bind(this),this.showNotesEditor=this.showNotesEditor.bind(this),this.hideNotesEditor=this.hideNotesEditor.bind(this),this.stepZoom=this.stepZoom.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this),this.markerStateChanged=this.markerStateChanged.bind(this),this.switchToSelectMode=this.switchToSelectMode.bind(this),this.addDefs=this.addDefs.bind(this),this.addDefsToImage=this.addDefsToImage.bind(this)}return Object.defineProperty(Te.prototype,"ALL_MARKER_TYPES",{get:function(){return[Nn,lt,ln,Rt,It,Cr,Dr,Gt,ur,tn,_t,hr,ir]},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"DEFAULT_MARKER_TYPES",{get:function(){return[Nn,lt,ln,Rt,Cr,Dr,Gt]},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"BASIC_MARKER_TYPES",{get:function(){return[Nn,lt,ln,Rt,Dr]},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"availableMarkerTypes",{get:function(){return this._availableMarkerTypes},set:function(ve){var he=this;this._availableMarkerTypes.splice(0),ve.forEach(function(we){if(typeof we=="string"){var Re=he.ALL_MARKER_TYPES.find(function(fe){return fe.typeName===we});Re!==void 0&&he._availableMarkerTypes.push(Re)}else he._availableMarkerTypes.push(we)})},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"currentMarker",{get:function(){return this._currentMarker},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"isOpen",{get:function(){return this._isOpen},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"isUndoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isUndoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"isRedoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isRedoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"zoomLevel",{get:function(){return this._zoomLevel},set:function(ve){this._zoomLevel=ve,this.editorCanvas&&this.contentDiv&&(this.editorCanvas.style.transform="scale("+this._zoomLevel+")",this.contentDiv.scrollTo({left:(this.editorCanvas.clientWidth*this._zoomLevel-this.contentDiv.clientWidth)/2,top:(this.editorCanvas.clientHeight*this._zoomLevel-this.contentDiv.clientHeight)/2}))},enumerable:!1,configurable:!0}),Object.defineProperty(Te.prototype,"instanceNo",{get:function(){return this._instanceNo},enumerable:!1,configurable:!0}),Te.prototype.open=function(){this.setupResizeObserver(),this.setEditingTarget(),this.setTopLeft(),this.initMarkerCanvas(),this.initOverlay(),this.attachEvents(),this.settings.displayMode==="popup"&&this.onPopupTargetResize(),ye.isLicensed||this.addLogo(),this._isOpen=!0,this._isFocused=!0},Te.prototype.show=function(){var ve=this;this.styles.styleSheetRoot===void 0&&He.styleSheetRoot!==void 0&&(this.styles.styleSheetRoot=He.styleSheetRoot),this.setWindowHeight(),this.showUI(),this.open(),this.eventListeners.show.forEach(function(he){return he(new sn(ve))})},Te.prototype.render=function(){return st(this,void 0,void 0,function(){var ve;return yt(this,function(he){switch(he.label){case 0:return this.setCurrentMarker(),(ve=new Se).naturalSize=this.renderAtNaturalSize,ve.imageType=this.renderImageType,ve.imageQuality=this.renderImageQuality,ve.markersOnly=this.renderMarkersOnly,ve.width=this.renderWidth,ve.height=this.renderHeight,[4,ve.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 1:return he.sent(),[4,ve.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 2:return[2,he.sent()]}})})},Te.prototype.close=function(ve){var he=this;if(ve===void 0&&(ve=!1),this.isOpen){var we=!1;ve||this.eventListeners.beforeclose.forEach(function(Re){var fe=new sn(he,!0);Re(fe),fe.defaultPrevented&&(we=!0)}),we||(this.coverDiv&&this.closeUI(),this.targetObserver&&(this.targetObserver.unobserve(this.target),this.targetObserver.unobserve(this.editorCanvas)),this.settings.displayMode==="popup"&&window.removeEventListener("resize",this.setWindowHeight),this.eventListeners.close.forEach(function(Re){return Re(new sn(he))}),this.detachEvents(),this._isOpen=!1)}},Te.prototype.addMarkersToToolbar=function(){for(var ve,he=[],we=0;wethis.editorCanvas.clientHeight?this.editorCanvas.clientHeight*ve:this.editorCanvas.clientWidth,we=he',ve.title="Powered by marker.js",ve.style.display="grid",ve.style.alignItems="center",ve.style.justifyItems="center",ve.style.padding="3px",ve.style.width="20px",ve.style.height="20px",this.logoUI.appendChild(ve),this.editorCanvas.appendChild(this.logoUI),this.logoUI.style.position="absolute",this.logoUI.style.pointerEvents="all",this.positionLogo()},Te.prototype.positionLogo=function(){this.logoUI&&(this.uiStyleSettings.logoPosition!=="right"?this.logoUI.style.left=this.markerImageHolder.offsetLeft+10+"px":this.logoUI.style.left=this.markerImageHolder.offsetLeft+this.markerImageHolder.offsetWidth-this.logoUI.clientWidth-10+"px",this.logoUI.style.top=this.markerImageHolder.offsetTop+this.markerImageHolder.offsetHeight-this.logoUI.clientHeight-10+"px")},Te.prototype.overrideOverflow=function(){this.scrollXState=window.scrollX,this.scrollYState=window.scrollY,this.bodyOverflowState=document.body.style.overflow,window.scroll({top:0,left:0}),document.body.style.overflow="hidden"},Te.prototype.restoreOverflow=function(){document.body.style.overflow=this.bodyOverflowState,window.scroll({top:this.scrollYState,left:this.scrollXState})},Te.prototype.showUI=function(){switch(this.settings.displayMode==="popup"&&this.overrideOverflow(),this.coverDiv=document.createElement("div"),this.coverDiv.style.visibility=this._silentRenderMode?"hidden":"visible",this.coverDiv.className=this.styles.classNamePrefixBase+" "+this.styles.classNamePrefix,this.coverDiv.style.fontSize="16px",this.coverDiv.style.userSelect="none",this.settings.displayMode){case"inline":this.coverDiv.style.position="absolute";var ve=this.settings.uiOffsetTop!==void 0?this.target.offsetTop+this.settings.uiOffsetTop:this.target.offsetTop>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=ve+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px",this.coverDiv.style.width=this.target.offsetWidth.toString()+"px",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"5";break;case"popup":this.coverDiv.style.position="absolute",this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=window.innerHeight+"px",this.coverDiv.style.backgroundColor="rgba(0, 0, 0, 0.75)",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"1000",this.coverDiv.style.display="flex"}this.targetRoot.appendChild(this.coverDiv),this.uiDiv=document.createElement("div"),this.uiDiv.style.display="flex",this.uiDiv.style.flexDirection="column",this.uiDiv.style.flexGrow="2",this.uiDiv.style.margin=this.settings.displayMode==="popup"?this.settings.popupMargin+"px":"0px",this.uiDiv.style.border="0px",this.coverDiv.appendChild(this.uiDiv),this.toolbar=new ht(this.uiDiv,this.settings.displayMode,this._availableMarkerTypes,this.uiStyleSettings,this.styles),this.toolbar.addButtonClickListener(this.toolbarButtonClicked),this.toolbar.show(this._silentRenderMode||this.uiStyleSettings.hideToolbar?"hidden":"visible"),this.contentDiv=document.createElement("div"),this.contentDiv.style.display="flex",this.contentDiv.style.flexDirection="row",this.contentDiv.style.flexGrow="2",this.contentDiv.style.flexShrink="1",this.settings.displayMode==="popup"&&(this.contentDiv.style.backgroundColor=this.uiStyleSettings.canvasBackgroundColor,this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.uiStyleSettings.toolbarHeight+"px",this.contentDiv.style.maxWidth="calc(100vw - "+2*this.settings.popupMargin+"px)"),this.contentDiv.style.overflow="auto",this.uiDiv.appendChild(this.contentDiv),this.editorCanvas=document.createElement("div"),this.editorCanvas.style.flexGrow="2",this.editorCanvas.style.flexShrink="1",this.editorCanvas.style.position="relative",this.editorCanvas.style.overflow="hidden",this.editorCanvas.style.display="flex",this.settings.displayMode==="popup"&&(this.editorCanvas.style.alignItems="center",this.editorCanvas.style.justifyContent="center"),this.editorCanvas.style.pointerEvents="none",this.editorCanvas.style.transformOrigin="left top",this.editorCanvas.style.transform="scale("+this.zoomLevel+")",this.contentDiv.appendChild(this.editorCanvas),this.editingTarget=this.target instanceof HTMLImageElement?document.createElement("img"):document.createElement("canvas"),this.settings.uiOffsetTop===void 0&&this.target.offsetTop-1&&this.markers.splice(this.markers.indexOf(ve),1),ve.dispose()},Te.prototype.switchToSelectMode=function(){this.mode="select",this.hideNotesEditor(),this._currentMarker!==void 0&&(this._currentMarker.state!=="new"?this._currentMarker.select():(this.removeMarker(this._currentMarker),this.setCurrentMarker(),this.markerImage.style.cursor="default"),this.addUndoStep())},Te.prototype.toolbarButtonClicked=function(ve,he){if(ve==="marker"&&he!==void 0)this.createNewMarker(he);else if(ve==="action")switch(he){case"select":this.switchToSelectMode(),this.switchToSelectMode();break;case"delete":this.deleteSelectedMarker();break;case"clear":this.clear();break;case"undo":this.undo();break;case"redo":this.redo();break;case"zoom":this.stepZoom();break;case"zoom-out":this.zoomLevel=1;break;case"notes":this.notesArea===void 0?(this.switchToSelectMode(),this.zoomLevel=1,this.showNotesEditor()):this.switchToSelectMode();break;case"close":this.close();break;case"render":this.switchToSelectMode(),this.startRenderAndClose()}},Te.prototype.deleteSelectedMarker=function(){var ve=this;if(this._currentMarker!==void 0){var he=!1;if(this.eventListeners.markerbeforedelete.forEach(function(Re){var fe=new Cn(ve,ve._currentMarker,!0);Re(fe),fe.defaultPrevented&&(he=!0)}),!he){var we=this._currentMarker;this._currentMarker.dispose(),this.markerImage.removeChild(this._currentMarker.container),this.markers.splice(this.markers.indexOf(this._currentMarker),1),this.setCurrentMarker(),this.addUndoStep(),this.eventListeners.markerdelete.forEach(function(Re){return Re(new Cn(ve,we))})}}},Te.prototype.clear=function(){var ve=this,he=!1;if(this.markers.length>0&&(this.eventListeners.markerbeforedelete.forEach(function(wt){var en=new Cn(ve,void 0,!0);wt(en),en.defaultPrevented&&(he=!0)}),!he)){this.setCurrentMarker();for(var we=function(wt){var en=Re.markers[wt];Re.setCurrentMarker(Re.markers[wt]),Re._currentMarker.dispose(),Re.markerImage.removeChild(Re._currentMarker.container),Re.markers.splice(Re.markers.indexOf(Re._currentMarker),1),Re.eventListeners.markerdelete.forEach(function(mt){return mt(new Cn(ve,en))})},Re=this,fe=this.markers.length-1;fe>=0;fe--)we(fe);this.addUndoStep()}},Object.defineProperty(Te.prototype,"isNotesAreaOpen",{get:function(){return this.notesArea!==void 0},enumerable:!1,configurable:!0}),Te.prototype.showNotesEditor=function(){var ve;this._currentMarker!==void 0&&(this.overlayContainer.innerHTML="",this.notesArea=document.createElement("textarea"),this.notesArea.className=this.uiStyleSettings.notesAreaStyleClassName,this.notesArea.style.pointerEvents="auto",this.notesArea.style.alignSelf="stretch",this.notesArea.style.width="100%",this.notesArea.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.notesArea.value=(ve=this._currentMarker.notes)!==null&&ve!==void 0?ve:"",this.overlayContainer.appendChild(this.notesArea))},Te.prototype.hideNotesEditor=function(){this.isNotesAreaOpen&&(this._currentMarker!==void 0&&(this._currentMarker.notes=this.notesArea.value.trim()!==""?this.notesArea.value:void 0),this.overlayContainer.removeChild(this.notesArea),this.notesArea=void 0)},Te.prototype.selectLastMarker=function(){this.markers.length>0?this.setCurrentMarker(this.markers[this.markers.length-1]):this.setCurrentMarker()},Te.prototype.addUndoStep=function(){var ve=this;if(this._currentMarker===void 0||this._currentMarker.state!=="edit"){var he=this.getState(),we=this.undoRedoManager.getLastUndoStep();if(!we||we.width===he.width&&we.height===he.height){var Re=this.undoRedoManager.undoStepCount;this.undoRedoManager.addUndoStep(he),Re1&&this.panTo({x:ve.clientX,y:ve.clientY}))},Te.prototype.onPointerUp=function(ve){this.touchPoints>0&&this.touchPoints--,this.touchPoints===0&&this.isDragging&&this._currentMarker!==void 0&&this._currentMarker.pointerUp(this.clientToLocalCoordinates(ve.clientX,ve.clientY)),this.isDragging=!1,this.addUndoStep()},Te.prototype.onPointerOut=function(){this.touchPoints>0&&this.touchPoints--},Te.prototype.onKeyUp=function(ve){this._currentMarker===void 0||this.notesArea!==void 0||ve.key!=="Delete"&&ve.key!=="Backspace"||this.deleteSelectedMarker()},Te.prototype.clientToLocalCoordinates=function(ve,he){var we=this.markerImage.getBoundingClientRect();return{x:(ve-we.left)/this.zoomLevel,y:(he-we.top)/this.zoomLevel}},Te.prototype.onWindowResize=function(){this.positionUI()},Te.prototype.positionUI=function(){switch(this.setTopLeft(),this.settings.displayMode){case"inline":var ve=this.target.getClientRects().item(0).y>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=ve+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px";break;case"popup":this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=this.windowHeight+"px",this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.styles.settings.toolbarHeight+"px"}this.positionMarkerImage(),this.positionLogo()},Te.prototype.addLicenseKey=function(ve){ye.addKey(ve)},Te.prototype.addEventListener=function(ve,he){this.eventListeners.addEventListener(ve,he)},Te.prototype.removeEventListener=function(ve,he){this.eventListeners.removeEventListener(ve,he)},Te.prototype.renderState=function(ve){this._silentRenderMode=!0,this.settings.displayMode="inline",this.isOpen||this.show(),this.restoreState(ve),this.startRenderAndClose(),this._silentRenderMode=!1},Object.defineProperty(Te.prototype,"isFocused",{get:function(){return this._isFocused},enumerable:!1,configurable:!0}),Te.prototype.focus=function(){var ve=this;this._isFocused||(this.attachWindowEvents(),this._isFocused=!0,this._previousCurrentMarker!==void 0&&this.setCurrentMarker(this._previousCurrentMarker),this.eventListeners.focus.forEach(function(he){return he(new sn(ve))}))},Te.prototype.blur=function(){var ve=this;this._isFocused&&(this.detachWindowEvents(),this._isFocused=!1,this._previousCurrentMarker=this._currentMarker,this.setCurrentMarker(),this.eventListeners.blur.forEach(function(he){return he(new sn(ve))}))},Te.instanceCounter=0,Te}()},5630:function(Bn,Wn,ie){"use strict";var ee=ie(60499),Oe=ie(85899),st=ie(18642),yt=ie(72190),Qe=ie(42244),Je=ie(92310),ye=ie.n(Je),Se=ie(18929),He=ie(59301),pt=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],tt=(0,He.forwardRef)(function(ut,ht){var ot,Fe=ut.prefixCls,qe=Fe===void 0?"rc-checkbox":Fe,St=ut.className,jt=ut.style,Lt=ut.checked,Ut=ut.disabled,At=ut.defaultChecked,Mt=At===void 0?!1:At,je=ut.type,gn=je===void 0?"checkbox":je,Nn=ut.title,rn=ut.onChange,Et=(0,Qe.Z)(ut,pt),_t=(0,He.useRef)(null),We=(0,Se.Z)(Mt,{value:Lt}),Rt=(0,yt.Z)(We,2),lt=Rt[0],dn=Rt[1];(0,He.useImperativeHandle)(ht,function(){return{focus:function(){var Dr;(Dr=_t.current)===null||Dr===void 0||Dr.focus()},blur:function(){var Dr;(Dr=_t.current)===null||Dr===void 0||Dr.blur()},input:_t.current}});var ln=ye()(qe,St,(ot={},(0,st.Z)(ot,"".concat(qe,"-checked"),lt),(0,st.Z)(ot,"".concat(qe,"-disabled"),Ut),ot)),tn=function(Dr){Ut||("checked"in ut||dn(Dr.target.checked),rn==null||rn({target:(0,Oe.Z)((0,Oe.Z)({},ut),{},{type:gn,checked:Dr.target.checked}),stopPropagation:function(){Dr.stopPropagation()},preventDefault:function(){Dr.preventDefault()},nativeEvent:Dr.nativeEvent}))};return He.createElement("span",{className:ln,title:Nn,style:jt},He.createElement("input",(0,ee.Z)({},Et,{className:"".concat(qe,"-input"),ref:_t,onChange:tn,disabled:Ut,checked:!!lt,type:gn})),He.createElement("span",{className:"".concat(qe,"-inner")}))});Wn.Z=tt},91735:function(Bn,Wn){"use strict";Wn.Z={items_per_page:"\u6761/\u9875",jump_to:"\u8DF3\u81F3",jump_to_confirm:"\u786E\u5B9A",page:"\u9875",prev_page:"\u4E0A\u4E00\u9875",next_page:"\u4E0B\u4E00\u9875",prev_5:"\u5411\u524D 5 \u9875",next_5:"\u5411\u540E 5 \u9875",prev_3:"\u5411\u524D 3 \u9875",next_3:"\u5411\u540E 3 \u9875",page_size:"\u9875\u7801"}},39417:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Nn}});var ee=ie(60499),Oe=ie(18642),st=ie(42244),yt=ie(85899),Qe=ie(38705),Je=ie(17212),ye=ie(15793),Se=ie(39153),He=ie(55401),pt=ie(92310),tt=ie.n(pt),ut=ie(26112),ht=ie(59301),ot=ie(39378),Fe=function(Et){for(var _t=Et.prefixCls,We=Et.level,Rt=Et.isStart,lt=Et.isEnd,dn="".concat(_t,"-indent-unit"),ln=[],tn=0;tn0&&arguments[0]!==void 0?arguments[0]:[],we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Re=he.length,fe=we.length;if(Math.abs(Re-fe)!==1)return{add:!1,key:null};function wt(en,mt){var xt=new Map;en.forEach(function(yn){xt.set(yn,!0)});var On=mt.filter(function(yn){return!xt.has(yn)});return On.length===1?On[0]:null}return Re ").concat(we);return we}var hr=qe.forwardRef(function(he,we){var Re=he.prefixCls,fe=he.data,wt=he.selectable,en=he.checkable,mt=he.expandedKeys,xt=he.selectedKeys,On=he.checkedKeys,yn=he.loadedKeys,Qt=he.loadingKeys,pr=he.halfCheckedKeys,Vr=he.keyEntities,vn=he.disabled,dr=he.dragging,ei=he.dragOverNodeKey,Ht=he.dropPosition,Tt=he.motion,qt=he.height,Un=he.itemHeight,nr=he.virtual,Jr=he.focusable,Ii=he.activeItem,ii=he.focused,ea=he.tabIndex,vo=he.onKeyDown,Ha=he.onFocus,Hi=he.onBlur,wi=he.onActiveChange,Zo=he.onListChangeStart,yo=he.onListChangeEnd,Pa=(0,At.Z)(he,tn),Na=qe.useRef(null),Br=qe.useRef(null);qe.useImperativeHandle(we,function(){return{scrollTo:function(Fn){Na.current.scrollTo(Fn)},getIndentWidth:function(){return Br.current.offsetWidth}}});var Tn=qe.useState(mt),Fr=(0,Ut.Z)(Tn,2),ki=Fr[0],Vt=Fr[1],Vn=qe.useState(fe),wr=(0,Ut.Z)(Vn,2),Yn=wr[0],Pr=wr[1],br=qe.useState(fe),kr=(0,Ut.Z)(br,2),vi=kr[0],at=kr[1],De=qe.useState([]),nt=(0,Ut.Z)(De,2),Ot=nt[0],xn=nt[1],wn=qe.useState(null),gr=(0,Ut.Z)(wn,2),Ar=gr[0],fr=gr[1],vr=qe.useRef(fe);vr.current=fe;function qr(){var Gn=vr.current;Pr(Gn),at(Gn),xn([]),fr(null),yo()}(0,Mt.Z)(function(){Vt(mt);var Gn=dn(ki,mt);if(Gn.key!==null)if(Gn.add){var Fn=Yn.findIndex(function($n){var jr=$n.key;return jr===Gn.key}),Kt=ur(ln(Yn,fe,Gn.key),nr,qt,Un),Mn=Yn.slice();Mn.splice(Fn+1,0,Cr),at(Mn),xn(Kt),fr("show")}else{var zn=fe.findIndex(function($n){var jr=$n.key;return jr===Gn.key}),Jn=ur(ln(fe,Yn,Gn.key),nr,qt,Un),xr=fe.slice();xr.splice(zn+1,0,Cr),at(xr),xn(Jn),fr("hide")}else Yn!==fe&&(Pr(fe),at(fe))},[mt,fe]),qe.useEffect(function(){dr||qr()},[dr]);var Xi=Tt?vi:fe,Nr={expandedKeys:mt,selectedKeys:xt,loadedKeys:yn,loadingKeys:Qt,checkedKeys:On,halfCheckedKeys:pr,dragOverNodeKey:ei,dropPosition:Ht,keyEntities:Vr};return qe.createElement(qe.Fragment,null,ii&&Ii&&qe.createElement("span",{style:lr,"aria-live":"assertive"},Nt(Ii)),qe.createElement("div",null,qe.createElement("input",{style:lr,disabled:Jr===!1||vn,tabIndex:Jr!==!1?ea:null,onKeyDown:vo,onFocus:Ha,onBlur:Hi,value:"",onChange:Dr,"aria-label":"for screen reader"})),qe.createElement("div",{className:"".concat(Re,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},qe.createElement("div",{className:"".concat(Re,"-indent")},qe.createElement("div",{ref:Br,className:"".concat(Re,"-indent-unit")}))),qe.createElement(je.Z,(0,ee.Z)({},Pa,{data:Xi,itemKey:It,height:qt,fullHeight:!1,virtual:nr,itemHeight:Un,prefixCls:"".concat(Re,"-list"),ref:Na,onVisibleChange:function(Fn,Kt){var Mn=new Set(Fn),zn=Kt.filter(function(Jn){return!Mn.has(Jn)});zn.some(function(Jn){return It(Jn)===ft})&&qr()}}),function(Gn){var Fn=Gn.pos,Kt=(0,ee.Z)({},(Lt(Gn.data),Gn.data)),Mn=Gn.title,zn=Gn.key,Jn=Gn.isStart,xr=Gn.isEnd,$n=(0,Et.km)(zn,Fn);delete Kt.key,delete Kt.children;var jr=(0,Et.H8)($n,Nr);return qe.createElement(lt,(0,ee.Z)({},Kt,jr,{title:Mn,active:!!Ii&&zn===Ii.key,pos:Fn,data:Gn.data,isStart:Jn,isEnd:xr,motion:Tt,motionNodes:zn===ft?Ot:null,motionType:Ar,onMotionStart:Zo,onMotionEnd:qr,treeNodeRequiredProps:Nr,onMouseMove:function(){wi(null)}}))}))});hr.displayName="NodeList";var ir=hr,sn=ie(35654),An=ie(90782),Cn=ie(67841),Pn=10,Ln=function(he){(0,He.Z)(Re,he);var we=(0,pt.Z)(Re);function Re(){var fe;(0,Je.Z)(this,Re);for(var wt=arguments.length,en=new Array(wt),mt=0;mt2&&arguments[2]!==void 0?arguments[2]:!1,pr=fe.state,Vr=pr.dragChildrenKeys,vn=pr.dropPosition,dr=pr.dropTargetKey,ei=pr.dropTargetPos,Ht=pr.dropAllowed;if(Ht){var Tt=fe.props.onDrop;if(fe.setState({dragOverNodeKey:null}),fe.cleanDragState(),dr!==null){var qt=(0,yt.Z)((0,yt.Z)({},(0,Et.H8)(dr,fe.getTreeNodeRequiredProps())),{},{active:((yn=fe.getActiveItem())===null||yn===void 0?void 0:yn.key)===dr,data:(0,Cn.Z)(fe.state.keyEntities,dr).node}),Un=Vr.indexOf(dr)!==-1;(0,Fe.ZP)(!Un,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var nr=(0,sn.yx)(ei),Jr={event:xt,node:(0,Et.F)(qt),dragNode:fe.dragNode?(0,Et.F)(fe.dragNode.props):null,dragNodesKeys:[fe.dragNode.props.eventKey].concat(Vr),dropToGap:vn!==0,dropPosition:vn+Number(nr[nr.length-1])};Qt||Tt==null||Tt(Jr),fe.dragNode=null}}},fe.cleanDragState=function(){var xt=fe.state.draggingNodeKey;xt!==null&&fe.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),fe.dragStartMousePosition=null,fe.currentMouseOverDroppableNodeKey=null},fe.triggerExpandActionExpand=function(xt,On){var yn=fe.state,Qt=yn.expandedKeys,pr=yn.flattenNodes,Vr=On.expanded,vn=On.key,dr=On.isLeaf;if(!(dr||xt.shiftKey||xt.metaKey||xt.ctrlKey)){var ei=pr.filter(function(Tt){return Tt.key===vn})[0],Ht=(0,Et.F)((0,yt.Z)((0,yt.Z)({},(0,Et.H8)(vn,fe.getTreeNodeRequiredProps())),{},{data:ei.data}));fe.setExpandedKeys(Vr?(0,sn._5)(Qt,vn):(0,sn.L0)(Qt,vn)),fe.onNodeExpand(xt,Ht)}},fe.onNodeClick=function(xt,On){var yn=fe.props,Qt=yn.onClick,pr=yn.expandAction;pr==="click"&&fe.triggerExpandActionExpand(xt,On),Qt==null||Qt(xt,On)},fe.onNodeDoubleClick=function(xt,On){var yn=fe.props,Qt=yn.onDoubleClick,pr=yn.expandAction;pr==="doubleClick"&&fe.triggerExpandActionExpand(xt,On),Qt==null||Qt(xt,On)},fe.onNodeSelect=function(xt,On){var yn=fe.state.selectedKeys,Qt=fe.state,pr=Qt.keyEntities,Vr=Qt.fieldNames,vn=fe.props,dr=vn.onSelect,ei=vn.multiple,Ht=On.selected,Tt=On[Vr.key],qt=!Ht;qt?ei?yn=(0,sn.L0)(yn,Tt):yn=[Tt]:yn=(0,sn._5)(yn,Tt);var Un=yn.map(function(nr){var Jr=(0,Cn.Z)(pr,nr);return Jr?Jr.node:null}).filter(function(nr){return nr});fe.setUncontrolledState({selectedKeys:yn}),dr==null||dr(yn,{event:"select",selected:qt,node:On,selectedNodes:Un,nativeEvent:xt.nativeEvent})},fe.onNodeCheck=function(xt,On,yn){var Qt=fe.state,pr=Qt.keyEntities,Vr=Qt.checkedKeys,vn=Qt.halfCheckedKeys,dr=fe.props,ei=dr.checkStrictly,Ht=dr.onCheck,Tt=On.key,qt,Un={event:"check",node:On,checked:yn,nativeEvent:xt.nativeEvent};if(ei){var nr=yn?(0,sn.L0)(Vr,Tt):(0,sn._5)(Vr,Tt),Jr=(0,sn._5)(vn,Tt);qt={checked:nr,halfChecked:Jr},Un.checkedNodes=nr.map(function(Hi){return(0,Cn.Z)(pr,Hi)}).filter(function(Hi){return Hi}).map(function(Hi){return Hi.node}),fe.setUncontrolledState({checkedKeys:nr})}else{var Ii=(0,An.S)([].concat((0,Qe.Z)(Vr),[Tt]),!0,pr),ii=Ii.checkedKeys,ea=Ii.halfCheckedKeys;if(!yn){var vo=new Set(ii);vo.delete(Tt);var Ha=(0,An.S)(Array.from(vo),{checked:!1,halfCheckedKeys:ea},pr);ii=Ha.checkedKeys,ea=Ha.halfCheckedKeys}qt=ii,Un.checkedNodes=[],Un.checkedNodesPositions=[],Un.halfCheckedKeys=ea,ii.forEach(function(Hi){var wi=(0,Cn.Z)(pr,Hi);if(wi){var Zo=wi.node,yo=wi.pos;Un.checkedNodes.push(Zo),Un.checkedNodesPositions.push({node:Zo,pos:yo})}}),fe.setUncontrolledState({checkedKeys:ii},!1,{halfCheckedKeys:ea})}Ht==null||Ht(qt,Un)},fe.onNodeLoad=function(xt){var On=xt.key,yn=new Promise(function(Qt,pr){fe.setState(function(Vr){var vn=Vr.loadedKeys,dr=vn===void 0?[]:vn,ei=Vr.loadingKeys,Ht=ei===void 0?[]:ei,Tt=fe.props,qt=Tt.loadData,Un=Tt.onLoad;if(!qt||dr.indexOf(On)!==-1||Ht.indexOf(On)!==-1)return null;var nr=qt(xt);return nr.then(function(){var Jr=fe.state.loadedKeys,Ii=(0,sn.L0)(Jr,On);Un==null||Un(Ii,{event:"load",node:xt}),fe.setUncontrolledState({loadedKeys:Ii}),fe.setState(function(ii){return{loadingKeys:(0,sn._5)(ii.loadingKeys,On)}}),Qt()}).catch(function(Jr){if(fe.setState(function(ii){return{loadingKeys:(0,sn._5)(ii.loadingKeys,On)}}),fe.loadingRetryTimes[On]=(fe.loadingRetryTimes[On]||0)+1,fe.loadingRetryTimes[On]>=Pn){var Ii=fe.state.loadedKeys;(0,Fe.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),fe.setUncontrolledState({loadedKeys:(0,sn.L0)(Ii,On)}),Qt()}pr(Jr)}),{loadingKeys:(0,sn.L0)(Ht,On)}})});return yn.catch(function(){}),yn},fe.onNodeMouseEnter=function(xt,On){var yn=fe.props.onMouseEnter;yn==null||yn({event:xt,node:On})},fe.onNodeMouseLeave=function(xt,On){var yn=fe.props.onMouseLeave;yn==null||yn({event:xt,node:On})},fe.onNodeContextMenu=function(xt,On){var yn=fe.props.onRightClick;yn&&(xt.preventDefault(),yn({event:xt,node:On}))},fe.onFocus=function(){var xt=fe.props.onFocus;fe.setState({focused:!0});for(var On=arguments.length,yn=new Array(On),Qt=0;Qt1&&arguments[1]!==void 0?arguments[1]:!1,yn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!fe.destroyed){var Qt=!1,pr=!0,Vr={};Object.keys(xt).forEach(function(vn){if(vn in fe.props){pr=!1;return}Qt=!0,Vr[vn]=xt[vn]}),Qt&&(!On||pr)&&fe.setState((0,yt.Z)((0,yt.Z)({},Vr),yn))}},fe.scrollTo=function(xt){fe.listRef.current.scrollTo(xt)},fe}return(0,ye.Z)(Re,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var wt=this.props.activeKey;wt!==void 0&&wt!==this.state.activeKey&&(this.setState({activeKey:wt}),wt!==null&&this.scrollTo({key:wt}))}},{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 wt,en=this.state,mt=en.focused,xt=en.flattenNodes,On=en.keyEntities,yn=en.draggingNodeKey,Qt=en.activeKey,pr=en.dropLevelOffset,Vr=en.dropContainerKey,vn=en.dropTargetKey,dr=en.dropPosition,ei=en.dragOverNodeKey,Ht=en.indent,Tt=this.props,qt=Tt.prefixCls,Un=Tt.className,nr=Tt.style,Jr=Tt.showLine,Ii=Tt.focusable,ii=Tt.tabIndex,ea=ii===void 0?0:ii,vo=Tt.selectable,Ha=Tt.showIcon,Hi=Tt.icon,wi=Tt.switcherIcon,Zo=Tt.draggable,yo=Tt.checkable,Pa=Tt.checkStrictly,Na=Tt.disabled,Br=Tt.motion,Tn=Tt.loadData,Fr=Tt.filterTreeNode,ki=Tt.height,Vt=Tt.itemHeight,Vn=Tt.virtual,wr=Tt.titleRender,Yn=Tt.dropIndicatorRender,Pr=Tt.onContextMenu,br=Tt.onScroll,kr=Tt.direction,vi=Tt.rootClassName,at=Tt.rootStyle,De=(0,ot.Z)(this.props,{aria:!0,data:!0}),nt;return Zo&&((0,st.Z)(Zo)==="object"?nt=Zo:typeof Zo=="function"?nt={nodeDraggable:Zo}:nt={}),qe.createElement(St.k.Provider,{value:{prefixCls:qt,selectable:vo,showIcon:Ha,icon:Hi,switcherIcon:wi,draggable:nt,draggingNodeKey:yn,checkable:yo,checkStrictly:Pa,disabled:Na,keyEntities:On,dropLevelOffset:pr,dropContainerKey:Vr,dropTargetKey:vn,dropPosition:dr,dragOverNodeKey:ei,indent:Ht,direction:kr,dropIndicatorRender:Yn,loadData:Tn,filterTreeNode:Fr,titleRender:wr,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}},qe.createElement("div",{role:"tree",className:ut()(qt,Un,vi,(wt={},(0,Oe.Z)(wt,"".concat(qt,"-show-line"),Jr),(0,Oe.Z)(wt,"".concat(qt,"-focused"),mt),(0,Oe.Z)(wt,"".concat(qt,"-active-focused"),Qt!==null),wt)),style:at},qe.createElement(ir,(0,ee.Z)({ref:this.listRef,prefixCls:qt,style:nr,data:xt,disabled:Na,selectable:vo,checkable:!!yo,motion:Br,dragging:yn!==null,height:ki,itemHeight:Vt,virtual:Vn,focusable:Ii,focused:mt,tabIndex:ea,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Pr,onScroll:br},this.getTreeNodeRequiredProps(),De))))}}],[{key:"getDerivedStateFromProps",value:function(wt,en){var mt=en.prevProps,xt={prevProps:wt};function On(Ii){return!mt&&Ii in wt||mt&&mt[Ii]!==wt[Ii]}var yn,Qt=en.fieldNames;if(On("fieldNames")&&(Qt=(0,Et.w$)(wt.fieldNames),xt.fieldNames=Qt),On("treeData")?yn=wt.treeData:On("children")&&((0,Fe.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),yn=(0,Et.zn)(wt.children)),yn){xt.treeData=yn;var pr=(0,Et.I8)(yn,{fieldNames:Qt});xt.keyEntities=(0,yt.Z)((0,Oe.Z)({},ft,Gt),pr.keyEntities)}var Vr=xt.keyEntities||en.keyEntities;if(On("expandedKeys")||mt&&On("autoExpandParent"))xt.expandedKeys=wt.autoExpandParent||!mt&&wt.defaultExpandParent?(0,sn.r7)(wt.expandedKeys,Vr):wt.expandedKeys;else if(!mt&&wt.defaultExpandAll){var vn=(0,yt.Z)({},Vr);delete vn[ft],xt.expandedKeys=Object.keys(vn).map(function(Ii){return vn[Ii].key})}else!mt&&wt.defaultExpandedKeys&&(xt.expandedKeys=wt.autoExpandParent||wt.defaultExpandParent?(0,sn.r7)(wt.defaultExpandedKeys,Vr):wt.defaultExpandedKeys);if(xt.expandedKeys||delete xt.expandedKeys,yn||xt.expandedKeys){var dr=(0,Et.oH)(yn||en.treeData,xt.expandedKeys||en.expandedKeys,Qt);xt.flattenNodes=dr}if(wt.selectable&&(On("selectedKeys")?xt.selectedKeys=(0,sn.BT)(wt.selectedKeys,wt):!mt&&wt.defaultSelectedKeys&&(xt.selectedKeys=(0,sn.BT)(wt.defaultSelectedKeys,wt))),wt.checkable){var ei;if(On("checkedKeys")?ei=(0,sn.E6)(wt.checkedKeys)||{}:!mt&&wt.defaultCheckedKeys?ei=(0,sn.E6)(wt.defaultCheckedKeys)||{}:yn&&(ei=(0,sn.E6)(wt.checkedKeys)||{checkedKeys:en.checkedKeys,halfCheckedKeys:en.halfCheckedKeys}),ei){var Ht=ei,Tt=Ht.checkedKeys,qt=Tt===void 0?[]:Tt,Un=Ht.halfCheckedKeys,nr=Un===void 0?[]:Un;if(!wt.checkStrictly){var Jr=(0,An.S)(qt,!0,Vr);qt=Jr.checkedKeys,nr=Jr.halfCheckedKeys}xt.checkedKeys=qt,xt.halfCheckedKeys=nr}}return On("loadedKeys")&&(xt.loadedKeys=wt.loadedKeys),xt}}]),Re}(qe.Component);Ln.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:jt,allowDrop:function(){return!0},expandAction:!1},Ln.TreeNode=Nn.Z;var Te=Ln,ve=Te},35654:function(Bn,Wn,ie){"use strict";ie.d(Wn,{BT:function(){return qe},E6:function(){return Lt},L0:function(){return pt},OM:function(){return Fe},_5:function(){return He},r7:function(){return Ut},wA:function(){return ut},yx:function(){return tt}});var ee=ie(77654),Oe=ie(43749),st=ie(48736),yt=ie(59301),Qe=ie(39417),Je=ie(67841),ye=ie(71430),Se=null;function He(At,Mt){if(!At)return[];var je=At.slice(),gn=je.indexOf(Mt);return gn>=0&&je.splice(gn,1),je}function pt(At,Mt){var je=(At||[]).slice();return je.indexOf(Mt)===-1&&je.push(Mt),je}function tt(At){return At.split("-")}function ut(At,Mt){var je=[],gn=(0,Je.Z)(Mt,At);function Nn(){var rn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];rn.forEach(function(Et){var _t=Et.key,We=Et.children;je.push(_t),Nn(We)})}return Nn(gn.children),je}function ht(At){if(At.parent){var Mt=tt(At.pos);return Number(Mt[Mt.length-1])===At.parent.children.length-1}return!1}function ot(At){var Mt=tt(At.pos);return Number(Mt[Mt.length-1])===0}function Fe(At,Mt,je,gn,Nn,rn,Et,_t,We,Rt){var lt,dn=At.clientX,ln=At.clientY,tn=At.target.getBoundingClientRect(),lr=tn.top,Dr=tn.height,ft=(Rt==="rtl"?-1:1)*(((Nn==null?void 0:Nn.x)||0)-dn),Le=(ft-12)/gn,Gt=(0,Je.Z)(_t,je.props.eventKey);if(ln-1.5?rn({dragNode:Pn,dropNode:Ln,dropPosition:1})?sn=1:Te=!1:rn({dragNode:Pn,dropNode:Ln,dropPosition:0})?sn=0:rn({dragNode:Pn,dropNode:Ln,dropPosition:1})?sn=1:Te=!1:rn({dragNode:Pn,dropNode:Ln,dropPosition:1})?sn=1:Te=!1,{dropPosition:sn,dropLevelOffset:An,dropTargetKey:Gt.key,dropTargetPos:Gt.pos,dragOverNodeKey:ir,dropContainerKey:sn===0?null:((lt=Gt.parent)===null||lt===void 0?void 0:lt.key)||null,dropAllowed:Te}}function qe(At,Mt){if(At){var je=Mt.multiple;return je?At.slice():At.length?[At[0]]:At}}var St=function(Mt){return Mt};function jt(At,Mt){if(!At)return[];var je=Mt||{},gn=je.processProps,Nn=gn===void 0?St:gn,rn=Array.isArray(At)?At:[At];return rn.map(function(Et){var _t=Et.children,We=_objectWithoutProperties(Et,Se),Rt=jt(_t,Mt);return React.createElement(TreeNode,_extends({key:We.key},Nn(We)),Rt)})}function Lt(At){if(!At)return null;var Mt;if(Array.isArray(At))Mt={checkedKeys:At,halfCheckedKeys:void 0};else if((0,Oe.Z)(At)==="object")Mt={checkedKeys:At.checked||void 0,halfCheckedKeys:At.halfChecked||void 0};else return(0,st.ZP)(!1,"`checkedKeys` is not an array or an object"),null;return Mt}function Ut(At,Mt){var je=new Set;function gn(Nn){if(!je.has(Nn)){var rn=(0,Je.Z)(Mt,Nn);if(rn){je.add(Nn);var Et=rn.parent,_t=rn.node;_t.disabled||Et&&gn(Et.key)}}}return(At||[]).forEach(function(Nn){gn(Nn)}),(0,ee.Z)(je)}},90782:function(Bn,Wn,ie){"use strict";ie.d(Wn,{S:function(){return ye}});var ee=ie(48736),Oe=ie(67841);function st(Se,He){var pt=new Set;return Se.forEach(function(tt){He.has(tt)||pt.add(tt)}),pt}function yt(Se){var He=Se||{},pt=He.disabled,tt=He.disableCheckbox,ut=He.checkable;return!!(pt||tt)||ut===!1}function Qe(Se,He,pt,tt){for(var ut=new Set(Se),ht=new Set,ot=0;ot<=pt;ot+=1){var Fe=He.get(ot)||new Set;Fe.forEach(function(Lt){var Ut=Lt.key,At=Lt.node,Mt=Lt.children,je=Mt===void 0?[]:Mt;ut.has(Ut)&&!tt(At)&&je.filter(function(gn){return!tt(gn.node)}).forEach(function(gn){ut.add(gn.key)})})}for(var qe=new Set,St=pt;St>=0;St-=1){var jt=He.get(St)||new Set;jt.forEach(function(Lt){var Ut=Lt.parent,At=Lt.node;if(!(tt(At)||!Lt.parent||qe.has(Lt.parent.key))){if(tt(Lt.parent.node)){qe.add(Ut.key);return}var Mt=!0,je=!1;(Ut.children||[]).filter(function(gn){return!tt(gn.node)}).forEach(function(gn){var Nn=gn.key,rn=ut.has(Nn);Mt&&!rn&&(Mt=!1),!je&&(rn||ht.has(Nn))&&(je=!0)}),Mt&&ut.add(Ut.key),je&&ht.add(Ut.key),qe.add(Ut.key)}})}return{checkedKeys:Array.from(ut),halfCheckedKeys:Array.from(st(ht,ut))}}function Je(Se,He,pt,tt,ut){for(var ht=new Set(Se),ot=new Set(He),Fe=0;Fe<=tt;Fe+=1){var qe=pt.get(Fe)||new Set;qe.forEach(function(Ut){var At=Ut.key,Mt=Ut.node,je=Ut.children,gn=je===void 0?[]:je;!ht.has(At)&&!ot.has(At)&&!ut(Mt)&&gn.filter(function(Nn){return!ut(Nn.node)}).forEach(function(Nn){ht.delete(Nn.key)})})}ot=new Set;for(var St=new Set,jt=tt;jt>=0;jt-=1){var Lt=pt.get(jt)||new Set;Lt.forEach(function(Ut){var At=Ut.parent,Mt=Ut.node;if(!(ut(Mt)||!Ut.parent||St.has(Ut.parent.key))){if(ut(Ut.parent.node)){St.add(At.key);return}var je=!0,gn=!1;(At.children||[]).filter(function(Nn){return!ut(Nn.node)}).forEach(function(Nn){var rn=Nn.key,Et=ht.has(rn);je&&!Et&&(je=!1),!gn&&(Et||ot.has(rn))&&(gn=!0)}),je||ht.delete(At.key),gn&&ot.add(At.key),St.add(At.key)}})}return{checkedKeys:Array.from(ht),halfCheckedKeys:Array.from(st(ot,ht))}}function ye(Se,He,pt,tt){var ut=[],ht;tt?ht=tt:ht=yt;var ot=new Set(Se.filter(function(jt){var Lt=!!(0,Oe.Z)(pt,jt);return Lt||ut.push(jt),Lt})),Fe=new Map,qe=0;Object.keys(pt).forEach(function(jt){var Lt=pt[jt],Ut=Lt.level,At=Fe.get(Ut);At||(At=new Set,Fe.set(Ut,At)),At.add(Lt),qe=Math.max(qe,Ut)}),(0,ee.ZP)(!ut.length,"Tree missing follow keys: ".concat(ut.slice(0,100).map(function(jt){return"'".concat(jt,"'")}).join(", ")));var St;return He===!0?St=Qe(ot,Fe,qe,ht):St=Je(ot,He.halfCheckedKeys,Fe,qe,ht),St}},67841:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return ee}});function ee(Oe,st){return Oe[st]}},71430:function(Bn,Wn,ie){"use strict";ie.d(Wn,{F:function(){return Ut},H8:function(){return Lt},I8:function(){return jt},km:function(){return ut},oH:function(){return qe},w$:function(){return ht},zn:function(){return Fe}});var ee=ie(43749),Oe=ie(77654),st=ie(85899),yt=ie(42244),Qe=ie(11592),Je=ie(2738),ye=ie(48736),Se=ie(67841),He=["children"];function pt(At,Mt){return"".concat(At,"-").concat(Mt)}function tt(At){return At&&At.type&&At.type.isTreeNode}function ut(At,Mt){return At!=null?At:Mt}function ht(At){var Mt=At||{},je=Mt.title,gn=Mt._title,Nn=Mt.key,rn=Mt.children,Et=je||"title";return{title:Et,_title:gn||[Et],key:Nn||"key",children:rn||"children"}}function ot(At,Mt){var je=new Map;function gn(Nn){var rn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(Nn||[]).forEach(function(Et){var _t=Et[Mt.key],We=Et[Mt.children];warning(_t!=null,"Tree node must have a certain key: [".concat(rn).concat(_t,"]"));var Rt=String(_t);warning(!je.has(Rt)||_t===null||_t===void 0,"Same 'key' exist in the Tree: ".concat(Rt)),je.set(Rt,!0),gn(We,"".concat(rn).concat(Rt," > "))})}gn(At)}function Fe(At){function Mt(je){var gn=(0,Qe.Z)(je);return gn.map(function(Nn){if(!tt(Nn))return(0,ye.ZP)(!Nn,"Tree/TreeNode can only accept TreeNode as children."),null;var rn=Nn.key,Et=Nn.props,_t=Et.children,We=(0,yt.Z)(Et,He),Rt=(0,st.Z)({key:rn},We),lt=Mt(_t);return lt.length&&(Rt.children=lt),Rt}).filter(function(Nn){return Nn})}return Mt(At)}function qe(At,Mt,je){var gn=ht(je),Nn=gn._title,rn=gn.key,Et=gn.children,_t=new Set(Mt===!0?[]:Mt),We=[];function Rt(lt){var dn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return lt.map(function(ln,tn){for(var lr=pt(dn?dn.pos:"0",tn),Dr=ut(ln[rn],lr),ft,Le=0;Le1&&arguments[1]!==void 0?arguments[1]:{},je=Mt.initWrapper,gn=Mt.processEntity,Nn=Mt.onProcessFinished,rn=Mt.externalGetKey,Et=Mt.childrenPropName,_t=Mt.fieldNames,We=arguments.length>2?arguments[2]:void 0,Rt=rn||We,lt={},dn={},ln={posEntities:lt,keyEntities:dn};return je&&(ln=je(ln)||ln),St(At,function(tn){var lr=tn.node,Dr=tn.index,ft=tn.pos,Le=tn.key,Gt=tn.parentPos,Cr=tn.level,ur=tn.nodes,It={node:lr,nodes:ur,index:Dr,key:Le,pos:ft,level:Cr},Nt=ut(Le,ft);lt[ft]=It,dn[Nt]=It,It.parent=lt[Gt],It.parent&&(It.parent.children=It.parent.children||[],It.parent.children.push(It)),gn&&gn(It,ln)},{externalGetKey:Rt,childrenPropName:Et,fieldNames:_t}),Nn&&Nn(ln),ln}function Lt(At,Mt){var je=Mt.expandedKeys,gn=Mt.selectedKeys,Nn=Mt.loadedKeys,rn=Mt.loadingKeys,Et=Mt.checkedKeys,_t=Mt.halfCheckedKeys,We=Mt.dragOverNodeKey,Rt=Mt.dropPosition,lt=Mt.keyEntities,dn=(0,Se.Z)(lt,At),ln={eventKey:At,expanded:je.indexOf(At)!==-1,selected:gn.indexOf(At)!==-1,loaded:Nn.indexOf(At)!==-1,loading:rn.indexOf(At)!==-1,checked:Et.indexOf(At)!==-1,halfChecked:_t.indexOf(At)!==-1,pos:String(dn?dn.pos:""),dragOver:We===At&&Rt===0,dragOverGapTop:We===At&&Rt===-1,dragOverGapBottom:We===At&&Rt===1};return ln}function Ut(At){var Mt=At.data,je=At.expanded,gn=At.selected,Nn=At.checked,rn=At.loaded,Et=At.loading,_t=At.halfChecked,We=At.dragOver,Rt=At.dragOverGapTop,lt=At.dragOverGapBottom,dn=At.pos,ln=At.active,tn=At.eventKey,lr=(0,st.Z)((0,st.Z)({},Mt),{},{expanded:je,selected:gn,checked:Nn,loaded:rn,loading:Et,halfChecked:_t,dragOver:We,dragOverGapTop:Rt,dragOverGapBottom:lt,pos:dn,active:ln,key:tn});return"props"in lr||Object.defineProperty(lr,"props",{get:function(){return(0,ye.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),At}}),lr}},8224:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z:function(){return Oe}});var ee=ie(4676);function Oe(st,yt,Qe,Je){var ye=ee.unstable_batchedUpdates?function(He){ee.unstable_batchedUpdates(Qe,He)}:Qe;return st!=null&&st.addEventListener&&st.addEventListener(yt,ye,Je),{remove:function(){st!=null&&st.removeEventListener&&st.removeEventListener(yt,ye,Je)}}}},55468:function(Bn,Wn,ie){"use strict";ie.d(Wn,{g1:function(){return tt},os:function(){return ht}});var ee=/margin|padding|width|height|max|min|offset/,Oe={left:!0,top:!0},st={cssFloat:1,styleFloat:1,float:1};function yt(ot){return ot.nodeType===1?ot.ownerDocument.defaultView.getComputedStyle(ot,null):{}}function Qe(ot,Fe,qe){if(Fe=Fe.toLowerCase(),qe==="auto"){if(Fe==="height")return ot.offsetHeight;if(Fe==="width")return ot.offsetWidth}return Fe in Oe||(Oe[Fe]=ee.test(Fe)),Oe[Fe]?parseFloat(qe)||0:qe}function Je(ot,Fe){var qe=arguments.length,St=yt(ot);return Fe=st[Fe]?"cssFloat"in ot.style?"cssFloat":"styleFloat":Fe,qe===1?St:Qe(ot,Fe,St[Fe]||ot.style[Fe])}function ye(ot,Fe,qe){var St=arguments.length;if(Fe=st[Fe]?"cssFloat"in ot.style?"cssFloat":"styleFloat":Fe,St===3)return typeof qe=="number"&&ee.test(Fe)&&(qe="".concat(qe,"px")),ot.style[Fe]=qe,qe;for(var jt in Fe)Fe.hasOwnProperty(jt)&&ye(ot,jt,Fe[jt]);return yt(ot)}function Se(ot){return ot===document.body?document.documentElement.clientWidth:ot.offsetWidth}function He(ot){return ot===document.body?window.innerHeight||document.documentElement.clientHeight:ot.offsetHeight}function pt(){var ot=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),Fe=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);return{width:ot,height:Fe}}function tt(){var ot=document.documentElement.clientWidth,Fe=window.innerHeight||document.documentElement.clientHeight;return{width:ot,height:Fe}}function ut(){return{scrollLeft:Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),scrollTop:Math.max(document.documentElement.scrollTop,document.body.scrollTop)}}function ht(ot){var Fe=ot.getBoundingClientRect(),qe=document.documentElement;return{left:Fe.left+(window.pageXOffset||qe.scrollLeft)-(qe.clientLeft||document.body.clientLeft||0),top:Fe.top+(window.pageYOffset||qe.scrollTop)-(qe.clientTop||document.body.clientTop||0)}}},24514:function(Bn,Wn,ie){"use strict";ie.d(Wn,{G:function(){return yt}});var ee=ie(47273),Oe=function(Je){if((0,ee.Z)()&&window.document.documentElement){var ye=Array.isArray(Je)?Je:[Je],Se=window.document.documentElement;return ye.some(function(He){return He in Se.style})}return!1},st=function(Je,ye){if(!Oe(Je))return!1;var Se=document.createElement("div"),He=Se.style[Je];return Se.style[Je]=ye,Se.style[Je]!==He};function yt(Qe,Je){return!Array.isArray(Qe)&&Je!==void 0?st(Qe,Je):Oe(Qe)}},22061:function(Bn,Wn,ie){"use strict";ie.d(Wn,{Z5:function(){return Mc},_l:function(){return rd},bK:function(){return kc}});var ee=ie(59301),Oe=ie(84255),st=ie(60499),yt=ie(59781),Qe=ee.createContext(null),Je=null;function ye(se){se()}var Se=ye,He=function(ce){return Se=ce},pt=function(){return Se};function tt(){var se=pt(),ce=null,me=null;return{clear:function(){ce=null,me=null},notify:function(){se(function(){for(var $e=ce;$e;)$e.callback(),$e=$e.next})},get:function(){for(var $e=[],et=ce;et;)$e.push(et),et=et.next;return $e},subscribe:function($e){var et=!0,dt=me={callback:$e,next:null,prev:me};return dt.prev?dt.prev.next=dt:ce=dt,function(){!et||ce===null||(et=!1,dt.next?dt.next.prev=dt.prev:me=dt.prev,dt.prev?dt.prev.next=dt.next:ce=dt.next)}}}}var ut={notify:function(){},get:function(){return[]}};function ht(se,ce){var me,Me=ut;function $e(Dt){return hn(),Me.subscribe(Dt)}function et(){Me.notify()}function dt(){Zn.onStateChange&&Zn.onStateChange()}function bt(){return!!me}function hn(){me||(me=ce?ce.addNestedSub(dt):se.subscribe(dt),Me=tt())}function tr(){me&&(me(),me=void 0,Me.clear(),Me=ut)}var Zn={addNestedSub:$e,notifyNestedSubs:et,handleChangeWrapper:dt,isSubscribed:bt,trySubscribe:hn,tryUnsubscribe:tr,getListeners:function(){return Me}};return Zn}var ot=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?ee.useLayoutEffect:ee.useEffect;function Fe(se){var ce=se.store,me=se.context,Me=se.children,$e=(0,ee.useMemo)(function(){var bt=ht(ce);return{store:ce,subscription:bt}},[ce]),et=(0,ee.useMemo)(function(){return ce.getState()},[ce]);ot(function(){var bt=$e.subscription;return bt.onStateChange=bt.notifyNestedSubs,bt.trySubscribe(),et!==ce.getState()&&bt.notifyNestedSubs(),function(){bt.tryUnsubscribe(),bt.onStateChange=null}},[$e,et]);var dt=me||Qe;return ee.createElement(dt.Provider,{value:$e},Me)}var qe=Fe,St=ie(69010),jt=ie(94266),Lt=ie.n(jt),Ut=ie(53410),At=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],Mt=["reactReduxForwardedRef"],je=[],gn=[null,null],Nn=function(ce){try{return JSON.stringify(ce)}catch(me){return String(ce)}};function rn(se,ce){var me=se[1];return[ce.payload,me+1]}function Et(se,ce,me){ot(function(){return se.apply(void 0,ce)},me)}function _t(se,ce,me,Me,$e,et,dt){se.current=Me,ce.current=$e,me.current=!1,et.current&&(et.current=null,dt())}function We(se,ce,me,Me,$e,et,dt,bt,hn,tr){if(se){var Zn=!1,Dt=null,mn=function(){if(!Zn){var Ja=ce.getState(),fo,ho;try{fo=Me(Ja,$e.current)}catch(dl){ho=dl,Dt=dl}ho||(Dt=null),fo===et.current?dt.current||hn():(et.current=fo,bt.current=fo,dt.current=!0,tr({type:"STORE_UPDATED",payload:{error:ho}}))}};me.onStateChange=mn,me.trySubscribe(),mn();var yr=function(){if(Zn=!0,me.tryUnsubscribe(),me.onStateChange=null,Dt)throw Dt};return yr}}var Rt=function(){return[null,0]};function lt(se,ce){ce===void 0&&(ce={});var me=ce,Me=me.getDisplayName,$e=Me===void 0?function(Hs){return"ConnectAdvanced("+Hs+")"}:Me,et=me.methodName,dt=et===void 0?"connectAdvanced":et,bt=me.renderCountProp,hn=bt===void 0?void 0:bt,tr=me.shouldHandleStateChanges,Zn=tr===void 0?!0:tr,Dt=me.storeKey,mn=Dt===void 0?"store":Dt,yr=me.withRef,li=yr===void 0?!1:yr,Ja=me.forwardRef,fo=Ja===void 0?!1:Ja,ho=me.context,dl=ho===void 0?Qe:ho,Xl=(0,St.Z)(me,At);if(0)var Jl;var ou=dl;return function(cs){var dc=cs.displayName||cs.name||"Component",Fu=$e(dc),nc=(0,st.Z)({},Xl,{getDisplayName:$e,methodName:dt,renderCountProp:hn,shouldHandleStateChanges:Zn,storeKey:mn,displayName:Fu,wrappedComponentName:dc,WrappedComponent:cs}),rc=Xl.pure;function qc(Nc){return se(Nc.dispatch,nc)}var Bd=rc?ee.useMemo:function(Nc){return Nc()};function md(Nc){var gf=(0,ee.useMemo)(function(){var Ce=Nc.reactReduxForwardedRef,be=(0,St.Z)(Nc,Mt);return[Nc.context,Ce,be]},[Nc]),Af=gf[0],B0=gf[1],rf=gf[2],xl=(0,ee.useMemo)(function(){return Af&&Af.Consumer&&(0,Ut.isContextConsumer)(ee.createElement(Af.Consumer,null))?Af:ou},[Af,ou]),Kd=(0,ee.useContext)(xl),sd=!!Nc.store&&!!Nc.store.getState&&!!Nc.store.dispatch,Wd=!!Kd&&!!Kd.store,af=sd?Nc.store:Kd.store,Kf=(0,ee.useMemo)(function(){return qc(af)},[af]),r0=(0,ee.useMemo)(function(){if(!Zn)return gn;var Ce=ht(af,sd?null:Kd.subscription),be=Ce.notifyNestedSubs.bind(Ce);return[Ce,be]},[af,sd,Kd]),Wf=r0[0],P0=r0[1],T0=(0,ee.useMemo)(function(){return sd?Kd:(0,st.Z)({},Kd,{subscription:Wf})},[sd,Kd,Wf]),hh=(0,ee.useReducer)(rn,je,Rt),z0=hh[0],D0=z0[0],ph=hh[1];if(D0&&D0.error)throw D0.error;var vh=(0,ee.useRef)(),U0=(0,ee.useRef)(rf),H0=(0,ee.useRef)(),Y0=(0,ee.useRef)(!1),J0=Bd(function(){return H0.current&&rf===U0.current?H0.current:Kf(af.getState(),rf)},[af,D0,rf]);Et(_t,[U0,vh,Y0,rf,J0,H0,P0]),Et(We,[Zn,af,Wf,Kf,U0,vh,Y0,H0,P0,ph],[af,Wf,Kf]);var j0=(0,ee.useMemo)(function(){return ee.createElement(cs,(0,st.Z)({},J0,{ref:B0}))},[B0,cs,J0]),Be=(0,ee.useMemo)(function(){return Zn?ee.createElement(xl.Provider,{value:T0},j0):j0},[xl,j0,T0]);return Be}var gd=rc?ee.memo(md):md;if(gd.WrappedComponent=cs,gd.displayName=md.displayName=Fu,fo){var nf=ee.forwardRef(function(gf,Af){return ee.createElement(gd,(0,st.Z)({},gf,{reactReduxForwardedRef:Af}))});return nf.displayName=Fu,nf.WrappedComponent=cs,Lt()(nf,cs)}return Lt()(gd,cs)}}function dn(se,ce){return se===ce?se!==0||ce!==0||1/se===1/ce:se!==se&&ce!==ce}function ln(se,ce){if(dn(se,ce))return!0;if(typeof se!="object"||se===null||typeof ce!="object"||ce===null)return!1;var me=Object.keys(se),Me=Object.keys(ce);if(me.length!==Me.length)return!1;for(var $e=0;$e=0;Me--){var $e=ce[Me](se);if($e)return $e}return function(et,dt){throw new Error("Invalid value of type "+typeof se+" for "+me+" argument when connecting component "+dt.wrappedComponentName+".")}}function fe(se,ce){return se===ce}function wt(se){var ce=se===void 0?{}:se,me=ce.connectHOC,Me=me===void 0?lt:me,$e=ce.mapStateToPropsFactories,et=$e===void 0?hr:$e,dt=ce.mapDispatchToPropsFactories,bt=dt===void 0?ur:dt,hn=ce.mergePropsFactories,tr=hn===void 0?Pn:hn,Zn=ce.selectorFactory,Dt=Zn===void 0?he:Zn;return function(yr,li,Ja,fo){fo===void 0&&(fo={});var ho=fo,dl=ho.pure,Xl=dl===void 0?!0:dl,Jl=ho.areStatesEqual,ou=Jl===void 0?fe:Jl,Hs=ho.areOwnPropsEqual,cs=Hs===void 0?ln:Hs,dc=ho.areStatePropsEqual,Fu=dc===void 0?ln:dc,nc=ho.areMergedPropsEqual,rc=nc===void 0?ln:nc,qc=(0,St.Z)(ho,we),Bd=Re(yr,et,"mapStateToProps"),md=Re(li,bt,"mapDispatchToProps"),gd=Re(Ja,tr,"mergeProps");return Me(Dt,(0,st.Z)({methodName:"connect",getDisplayName:function(Nc){return"Connect("+Nc+")"},shouldHandleStateChanges:!!yr,initMapStateToProps:Bd,initMapDispatchToProps:md,initMergeProps:gd,pure:Xl,areStatesEqual:ou,areOwnPropsEqual:cs,areStatePropsEqual:Fu,areMergedPropsEqual:rc},qc))}}var en=wt();function mt(){var se=useContext(ReactReduxContext);return se}function xt(se){se===void 0&&(se=ReactReduxContext);var ce=se===ReactReduxContext?useDefaultReduxContext:function(){return useContext(se)};return function(){var Me=ce(),$e=Me.store;return $e}}var On=null;function yn(se){se===void 0&&(se=ReactReduxContext);var ce=se===ReactReduxContext?useDefaultStore:createStoreHook(se);return function(){var Me=ce();return Me.dispatch}}var Qt=null,pr=function(ce,me){return ce===me};function Vr(se,ce,me,Me){var $e=useReducer(function(li){return li+1},0),et=$e[1],dt=useMemo(function(){return createSubscription(me,Me)},[me,Me]),bt=useRef(),hn=useRef(),tr=useRef(),Zn=useRef(),Dt=me.getState(),mn;try{if(se!==hn.current||Dt!==tr.current||bt.current){var yr=se(Dt);Zn.current===void 0||!ce(yr,Zn.current)?mn=yr:mn=Zn.current}else mn=Zn.current}catch(li){throw bt.current&&(li.message+=` +The error may be correlated with this previous error: +`+bt.current.stack+` + +`),li}return useIsomorphicLayoutEffect(function(){hn.current=se,tr.current=Dt,Zn.current=mn,bt.current=void 0}),useIsomorphicLayoutEffect(function(){function li(){try{var Ja=me.getState();if(Ja===tr.current)return;var fo=hn.current(Ja);if(ce(fo,Zn.current))return;Zn.current=fo,tr.current=Ja}catch(ho){bt.current=ho}et()}return dt.onStateChange=li,dt.trySubscribe(),li(),function(){return dt.tryUnsubscribe()}},[me,dt]),mn}function vn(se){se===void 0&&(se=ReactReduxContext);var ce=se===ReactReduxContext?useDefaultReduxContext:function(){return useContext(se)};return function(Me,$e){$e===void 0&&($e=pr);var et=ce(),dt=et.store,bt=et.subscription,hn=Vr(Me,$e,dt,bt);return useDebugValue(hn),hn}}var dr=null,ei=ie(4676);He(ei.unstable_batchedUpdates);function Ht(se,ce){if(se.length!==ce.length)return!1;for(var me=0;me");return Me.callbacks},Me.setCallbacks=function(bt){Me.callbacks=bt},Me}var me=ce.prototype;return me.componentDidMount=function(){this.unbind=qr(window,[{eventName:"error",fn:this.onWindowError}])},me.componentWillUnmount=function(){this.unbind()},me.componentDidCatch=function($e){if($e instanceof Gn){this.setState({});return}throw $e},me.render=function(){return this.props.children(this.setCallbacks)},ce}(ee.Component),Mn=` + Press space bar to start a drag. + When dragging you can use the arrow keys to move the item around and escape to cancel. + Some screen readers may require you to be in focus mode or to use your pass through key +`,zn=function(ce){return ce+1},Jn=function(ce){return` + You have lifted an item in position `+zn(ce.source.index)+` +`},xr=function(ce,me){var Me=ce.droppableId===me.droppableId,$e=zn(ce.index),et=zn(me.index);return Me?` + You have moved the item from position `+$e+` + to position `+et+` + `:` + You have moved the item from position `+$e+` + in list `+ce.droppableId+` + to list `+me.droppableId+` + in position `+et+` + `},$n=function(ce,me,Me){var $e=me.droppableId===Me.droppableId;return $e?` + The item `+ce+` + has been combined with `+Me.draggableId:` + The item `+ce+` + in list `+me.droppableId+` + has been combined with `+Me.draggableId+` + in list `+Me.droppableId+` + `},jr=function(ce){var me=ce.destination;if(me)return xr(ce.source,me);var Me=ce.combine;return Me?$n(ce.draggableId,ce.source,Me):"You are over an area that cannot be dropped on"},pn=function(ce){return` + The item has returned to its starting position + of `+zn(ce.index)+` +`},ni=function(ce){if(ce.reason==="CANCEL")return` + Movement cancelled. + `+pn(ce.source)+` + `;var me=ce.destination,Me=ce.combine;return me?` + You have dropped the item. + `+xr(ce.source,me)+` + `:Me?` + You have dropped the item. + `+$n(ce.draggableId,ce.source,Me)+` + `:` + The item has been dropped while not over a drop area. + `+pn(ce.source)+` + `},Ai={dragHandleUsageInstructions:Mn,onDragStart:Jn,onDragUpdate:jr,onDragEnd:ni},Ni={x:0,y:0},bi=function(ce,me){return{x:ce.x+me.x,y:ce.y+me.y}},Ji=function(ce,me){return{x:ce.x-me.x,y:ce.y-me.y}},fa=function(ce,me){return ce.x===me.x&&ce.y===me.y},oa=function(ce){return{x:ce.x!==0?-ce.x:0,y:ce.y!==0?-ce.y:0}},ji=function(ce,me,Me){var $e;return Me===void 0&&(Me=0),$e={},$e[ce]=me,$e[ce==="x"?"y":"x"]=Me,$e},Qa=function(ce,me){return Math.sqrt(Math.pow(me.x-ce.x,2)+Math.pow(me.y-ce.y,2))},Fa=function(ce,me){return Math.min.apply(Math,me.map(function(Me){return Qa(ce,Me)}))},qo=function(ce){return function(me){return{x:ce(me.x),y:ce(me.y)}}},ma=function(se,ce){var me=ea({top:Math.max(ce.top,se.top),right:Math.min(ce.right,se.right),bottom:Math.min(ce.bottom,se.bottom),left:Math.max(ce.left,se.left)});return me.width<=0||me.height<=0?null:me},_o=function(ce,me){return{top:ce.top+me.y,left:ce.left+me.x,bottom:ce.bottom+me.y,right:ce.right+me.x}},Ci=function(ce){return[{x:ce.left,y:ce.top},{x:ce.right,y:ce.top},{x:ce.left,y:ce.bottom},{x:ce.right,y:ce.bottom}]},Qo={top:0,right:0,bottom:0,left:0},ol=function(ce,me){return me?_o(ce,me.scroll.diff.displacement):ce},mo=function(ce,me,Me){if(Me&&Me.increasedBy){var $e;return(0,st.Z)({},ce,($e={},$e[me.end]=ce[me.end]+Me.increasedBy[me.line],$e))}return ce},Oa=function(ce,me){return me&&me.shouldClipSubject?ma(me.pageMarginBox,ce):ea(ce)},Go=function(se){var ce=se.page,me=se.withPlaceholder,Me=se.axis,$e=se.frame,et=ol(ce.marginBox,$e),dt=mo(et,Me,me),bt=Oa(dt,$e);return{page:ce,withPlaceholder:me,active:bt}},_a=function(se,ce){se.frame||Fn(!1);var me=se.frame,Me=Ji(ce,me.scroll.initial),$e=oa(Me),et=(0,st.Z)({},me,{scroll:{initial:me.scroll.initial,current:ce,diff:{value:Me,displacement:$e},max:me.scroll.max}}),dt=Go({page:se.subject.page,withPlaceholder:se.subject.withPlaceholder,axis:se.axis,frame:et}),bt=(0,st.Z)({},se,{frame:et,subject:dt});return bt};function Ga(se){return Number.isInteger?Number.isInteger(se):typeof se=="number"&&isFinite(se)&&Math.floor(se)===se}function ll(se){return Object.values?Object.values(se):Object.keys(se).map(function(ce){return se[ce]})}function tl(se,ce){if(se.findIndex)return se.findIndex(ce);for(var me=0;mese.bottom,tr=Me.leftse.right,Zn=hn&&tr;if(Zn)return!0;var Dt=hn&&dt||tr&&et;return Dt}},$s=function(se){var ce=_s(se.top,se.bottom),me=_s(se.left,se.right);return function(Me){var $e=ce(Me.top)&&ce(Me.bottom)&&me(Me.left)&&me(Me.right);return $e}},Ws={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},zu={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},xu=function(se){return function(ce){var me=_s(ce.top,ce.bottom),Me=_s(ce.left,ce.right);return function($e){return se===Ws?me($e.top)&&me($e.bottom):Me($e.left)&&Me($e.right)}}},$a=function(ce,me){var Me=me.frame?me.frame.scroll.diff.displacement:Ni;return _o(ce,Me)},Za=function(ce,me,Me){return me.subject.active?Me(me.subject.active)(ce):!1},Ma=function(ce,me,Me){return Me(me)(ce)},an=function(ce){var me=ce.target,Me=ce.destination,$e=ce.viewport,et=ce.withDroppableDisplacement,dt=ce.isVisibleThroughFrameFn,bt=et?$a(me,Me):me;return Za(bt,Me,dt)&&Ma(bt,$e,dt)},Vo=function(ce){return an((0,st.Z)({},ce,{isVisibleThroughFrameFn:Ls}))},Sl=function(ce){return an((0,st.Z)({},ce,{isVisibleThroughFrameFn:$s}))},ds=function(ce){return an((0,st.Z)({},ce,{isVisibleThroughFrameFn:xu(ce.destination.axis)}))},bs=function(ce,me,Me){if(typeof Me=="boolean")return Me;if(!me)return!0;var $e=me.invisible,et=me.visible;if($e[ce])return!1;var dt=et[ce];return dt?dt.shouldAnimate:!0};function gs(se,ce){var me=se.page.marginBox,Me={top:ce.point.y,right:0,bottom:0,left:ce.point.x};return ea(vo(me,Me))}function Bs(se){var ce=se.afterDragging,me=se.destination,Me=se.displacedBy,$e=se.viewport,et=se.forceShouldAnimate,dt=se.last;return ce.reduce(function(hn,tr){var Zn=gs(tr,Me),Dt=tr.descriptor.id;hn.all.push(Dt);var mn=Vo({target:Zn,destination:me,viewport:$e,withDroppableDisplacement:!0});if(!mn)return hn.invisible[tr.descriptor.id]=!0,hn;var yr=bs(Dt,dt,et),li={draggableId:Dt,shouldAnimate:yr};return hn.visible[Dt]=li,hn},{all:[],visible:{},invisible:{}})}function Su(se,ce){if(!se.length)return 0;var me=se[se.length-1].descriptor.index;return ce.inHomeList?me:me+1}function Vs(se){var ce=se.insideDestination,me=se.inHomeList,Me=se.displacedBy,$e=se.destination,et=Su(ce,{inHomeList:me});return{displaced:Qs,displacedBy:Me,at:{type:"REORDER",destination:{droppableId:$e.descriptor.id,index:et}}}}function Zu(se){var ce=se.draggable,me=se.insideDestination,Me=se.destination,$e=se.viewport,et=se.displacedBy,dt=se.last,bt=se.index,hn=se.forceShouldAnimate,tr=pl(ce,Me);if(bt==null)return Vs({insideDestination:me,inHomeList:tr,displacedBy:et,destination:Me});var Zn=Jo(me,function(Ja){return Ja.descriptor.index===bt});if(!Zn)return Vs({insideDestination:me,inHomeList:tr,displacedBy:et,destination:Me});var Dt=Sa(ce,me),mn=me.indexOf(Zn),yr=Dt.slice(mn),li=Bs({afterDragging:yr,destination:Me,displacedBy:et,last:dt,viewport:$e.frame,forceShouldAnimate:hn});return{displaced:li,displacedBy:et,at:{type:"REORDER",destination:{droppableId:Me.descriptor.id,index:bt}}}}function Io(se,ce){return!!ce.effected[se]}var os=function(se){var ce=se.isMovingForward,me=se.destination,Me=se.draggables,$e=se.combine,et=se.afterCritical;if(!me.isCombineEnabled)return null;var dt=$e.draggableId,bt=Me[dt],hn=bt.descriptor.index,tr=Io(dt,et);return tr?ce?hn:hn-1:ce?hn+1:hn},gu=function(se){var ce=se.isMovingForward,me=se.isInHomeList,Me=se.insideDestination,$e=se.location;if(!Me.length)return null;var et=$e.index,dt=ce?et+1:et-1,bt=Me[0].descriptor.index,hn=Me[Me.length-1].descriptor.index,tr=me?hn:hn+1;return dttr?null:dt},Ho=function(se){var ce=se.isMovingForward,me=se.isInHomeList,Me=se.draggable,$e=se.draggables,et=se.destination,dt=se.insideDestination,bt=se.previousImpact,hn=se.viewport,tr=se.afterCritical,Zn=bt.at;if(Zn||Fn(!1),Zn.type==="REORDER"){var Dt=gu({isMovingForward:ce,isInHomeList:me,location:Zn.destination,insideDestination:dt});return Dt==null?null:Zu({draggable:Me,insideDestination:dt,destination:et,viewport:hn,last:bt.displaced,displacedBy:bt.displacedBy,index:Dt})}var mn=os({isMovingForward:ce,destination:et,displaced:bt.displaced,draggables:$e,combine:Zn.combine,afterCritical:tr});return mn==null?null:Zu({draggable:Me,insideDestination:dt,destination:et,viewport:hn,last:bt.displaced,displacedBy:bt.displacedBy,index:mn})},sl=function(se){var ce=se.displaced,me=se.afterCritical,Me=se.combineWith,$e=se.displacedBy,et=!!(ce.visible[Me]||ce.invisible[Me]);return Io(Me,me)?et?Ni:oa($e.point):et?$e.point:Ni},ro=function(se){var ce=se.afterCritical,me=se.impact,Me=se.draggables,$e=ra(me);$e||Fn(!1);var et=$e.draggableId,dt=Me[et].page.borderBox.center,bt=sl({displaced:me.displaced,afterCritical:ce,combineWith:et,displacedBy:me.displacedBy});return bi(dt,bt)},Yt=function(ce,me){return me.margin[ce.start]+me.borderBox[ce.size]/2},mr=function(ce,me){return me.margin[ce.end]+me.borderBox[ce.size]/2},Hn=function(ce,me,Me){return me[ce.crossAxisStart]+Me.margin[ce.crossAxisStart]+Me.borderBox[ce.crossAxisSize]/2},hi=function(ce){var me=ce.axis,Me=ce.moveRelativeTo,$e=ce.isMoving;return ji(me.line,Me.marginBox[me.end]+Yt(me,$e),Hn(me,Me.marginBox,$e))},ao=function(ce){var me=ce.axis,Me=ce.moveRelativeTo,$e=ce.isMoving;return ji(me.line,Me.marginBox[me.start]-mr(me,$e),Hn(me,Me.marginBox,$e))},Kn=function(ce){var me=ce.axis,Me=ce.moveInto,$e=ce.isMoving;return ji(me.line,Me.contentBox[me.start]+Yt(me,$e),Hn(me,Me.contentBox,$e))},Cl=function(se){var ce=se.impact,me=se.draggable,Me=se.draggables,$e=se.droppable,et=se.afterCritical,dt=Ul($e.descriptor.id,Me),bt=me.page,hn=$e.axis;if(!dt.length)return Kn({axis:hn,moveInto:$e.page,isMoving:bt});var tr=ce.displaced,Zn=ce.displacedBy,Dt=tr.all[0];if(Dt){var mn=Me[Dt];if(Io(Dt,et))return ao({axis:hn,moveRelativeTo:mn.page,isMoving:bt});var yr=Na(mn.page,Zn.point);return ao({axis:hn,moveRelativeTo:yr,isMoving:bt})}var li=dt[dt.length-1];if(li.descriptor.id===me.descriptor.id)return bt.borderBox.center;if(Io(li.descriptor.id,et)){var Ja=Na(li.page,oa(et.displacedBy.point));return hi({axis:hn,moveRelativeTo:Ja,isMoving:bt})}return hi({axis:hn,moveRelativeTo:li.page,isMoving:bt})},na=function(se,ce){var me=se.frame;return me?bi(ce,me.scroll.diff.displacement):ce},Di=function(ce){var me=ce.impact,Me=ce.draggable,$e=ce.droppable,et=ce.draggables,dt=ce.afterCritical,bt=Me.page.borderBox.center,hn=me.at;return!$e||!hn?bt:hn.type==="REORDER"?Cl({impact:me,draggable:Me,draggables:et,droppable:$e,afterCritical:dt}):ro({impact:me,draggables:et,afterCritical:dt})},go=function(se){var ce=Di(se),me=se.droppable,Me=me?na(me,ce):ce;return Me},Yl=function(se,ce){var me=Ji(ce,se.scroll.initial),Me=oa(me),$e=ea({top:ce.y,bottom:ce.y+se.frame.height,left:ce.x,right:ce.x+se.frame.width}),et={frame:$e,scroll:{initial:se.scroll.initial,max:se.scroll.max,current:ce,diff:{value:me,displacement:Me}}};return et};function Zi(se,ce){return se.map(function(me){return ce[me]})}function Va(se,ce){for(var me=0;me1?Zn.sort(function(Dt,mn){return Uo(Dt)[bt.start]-Uo(mn)[bt.start]})[0]:tr.sort(function(Dt,mn){var yr=Fa(me,Ci(Uo(Dt))),li=Fa(me,Ci(Uo(mn)));return yr!==li?yr-li:Uo(Dt)[bt.start]-Uo(mn)[bt.start]})[0]},il=function(ce,me){var Me=ce.page.borderBox.center;return Io(ce.descriptor.id,me)?Ji(Me,me.displacedBy.point):Me},Hl=function(ce,me){var Me=ce.page.borderBox;return Io(ce.descriptor.id,me)?_o(Me,oa(me.displacedBy.point)):Me},Ps=function(se){var ce=se.pageBorderBoxCenter,me=se.viewport,Me=se.destination,$e=se.insideDestination,et=se.afterCritical,dt=$e.filter(function(bt){return Sl({target:Hl(bt,et),destination:Me,viewport:me.frame,withDroppableDisplacement:!0})}).sort(function(bt,hn){var tr=Qa(ce,na(Me,il(bt,et))),Zn=Qa(ce,na(Me,il(hn,et)));return trce.left&&se.topce.top}function As(se){var ce=se.pageBorderBox,me=se.draggable,Me=se.candidates,$e=me.page.borderBox.center,et=Me.map(function(dt){var bt=dt.axis,hn=ji(dt.axis.line,ce.center[bt.line],dt.page.borderBox.center[bt.crossAxisLine]);return{id:dt.descriptor.id,distance:Qa($e,hn)}}).sort(function(dt,bt){return bt.distance-dt.distance});return et[0]?et[0].id:null}function Ku(se){var ce=se.pageBorderBox,me=se.draggable,Me=se.droppables,$e=jo(Me).filter(function(et){if(!et.isEnabled)return!1;var dt=et.subject.active;if(!dt||!Bo(ce,dt))return!1;if(eo(dt)(ce.center))return!0;var bt=et.axis,hn=dt.center[bt.crossAxisLine],tr=ce[bt.crossAxisStart],Zn=ce[bt.crossAxisEnd],Dt=_s(dt[bt.crossAxisStart],dt[bt.crossAxisEnd]),mn=Dt(tr),yr=Dt(Zn);return!mn&&!yr?!0:mn?trhn});return $e.length?$e.length===1?$e[0].descriptor.id:As({pageBorderBox:ce,draggable:me,candidates:$e}):null}var Gr=function(ce,me){return ea(_o(ce,me))},Ds=function(se,ce){var me=se.frame;return me?Gr(ce,me.scroll.diff.value):ce};function Ql(se){var ce=se.displaced,me=se.id;return!!(ce.visible[me]||ce.invisible[me])}function wu(se){var ce=se.draggable,me=se.closest,Me=se.inHomeList;return me?Me&&me.descriptor.index>ce.descriptor.index?me.descriptor.index-1:me.descriptor.index:null}var hu=function(se){var ce=se.pageBorderBoxWithDroppableScroll,me=se.draggable,Me=se.destination,$e=se.insideDestination,et=se.last,dt=se.viewport,bt=se.afterCritical,hn=Me.axis,tr=ps(Me.axis,me.displaceBy),Zn=tr.value,Dt=ce[hn.start],mn=ce[hn.end],yr=Sa(me,$e),li=Jo(yr,function(fo){var ho=fo.descriptor.id,dl=fo.page.borderBox.center[hn.line],Xl=Io(ho,bt),Jl=Ql({displaced:et,id:ho});return Xl?Jl?mn<=dl:Dtho[bt.start]+Xl&&Dtho[bt.start]-tr+Xl&&Znho[bt.start]+tr+Xl&&Dtho[bt.start]+Xl&&Zn=ws)return ml;var et=$e/ws,dt=rs+is*et,bt=Me==="CANCEL"?dt*iu:dt;return Number(bt.toFixed(2))},Is=function(se){var ce=se.impact,me=se.draggable,Me=se.dimensions,$e=se.viewport,et=se.afterCritical,dt=Me.draggables,bt=Me.droppables,hn=Fo(ce),tr=hn?bt[hn]:null,Zn=bt[me.descriptor.droppableId],Dt=Ss({impact:ce,draggable:me,draggables:dt,afterCritical:et,droppable:tr||Zn,viewport:$e}),mn=Ji(Dt,me.client.borderBox.center);return mn},Cu=function(se){var ce=se.draggables,me=se.reason,Me=se.lastImpact,$e=se.home,et=se.viewport,dt=se.onLiftImpact;if(!Me.at||me!=="DROP"){var bt=ts({draggables:ce,impact:dt,destination:$e,viewport:et,forceShouldAnimate:!0});return{impact:bt,didDropInsideDroppable:!1}}if(Me.at.type==="REORDER")return{impact:Me,didDropInsideDroppable:!0};var hn=(0,st.Z)({},Me,{displaced:Qs});return{impact:hn,didDropInsideDroppable:!0}},Nu=function(se){var ce=se.getState,me=se.dispatch;return function(Me){return function($e){if($e.type!=="DROP"){Me($e);return}var et=ce(),dt=$e.payload.reason;if(et.phase==="COLLECTING"){me(Po({reason:dt}));return}if(et.phase!=="IDLE"){var bt=et.phase==="DROP_PENDING"&&et.isWaiting;bt&&Fn(!1),et.phase==="DRAGGING"||et.phase==="DROP_PENDING"||Fn(!1);var hn=et.critical,tr=et.dimensions,Zn=tr.draggables[et.critical.draggable.id],Dt=Cu({reason:dt,lastImpact:et.impact,afterCritical:et.afterCritical,onLiftImpact:et.onLiftImpact,home:et.dimensions.droppables[et.critical.droppable.id],viewport:et.viewport,draggables:et.dimensions.draggables}),mn=Dt.impact,yr=Dt.didDropInsideDroppable,li=yr?wl(mn):null,Ja=yr?ra(mn):null,fo={index:hn.draggable.index,droppableId:hn.droppable.id},ho={draggableId:Zn.descriptor.id,type:Zn.descriptor.type,source:fo,reason:dt,mode:et.movementMode,destination:li,combine:Ja},dl=Is({impact:mn,draggable:Zn,dimensions:tr,viewport:et.viewport,afterCritical:et.afterCritical}),Xl={critical:et.critical,afterCritical:et.afterCritical,result:ho,impact:mn},Jl=!fa(et.current.client.offset,dl)||!!ho.combine;if(!Jl){me(_r({completed:Xl}));return}var ou=Ts({current:et.current.client.offset,destination:dl,reason:dt}),Hs={newHomeClientOffset:dl,dropDuration:ou,completed:Xl};me(Er(Hs))}}}},Ve=function(){return{x:window.pageXOffset,y:window.pageYOffset}};function _e(se){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(me){me.target!==window&&me.target!==window.document||se()}}}function Pt(se){var ce=se.onWindowScroll;function me(){ce(Ve())}var Me=br(me),$e=_e(Me),et=fr;function dt(){return et!==fr}function bt(){dt()&&Fn(!1),et=qr(window,[$e])}function hn(){dt()||Fn(!1),Me.cancel(),et(),et=fr}return{start:bt,stop:hn,isActive:dt}}var Wt=function(ce){return ce.type==="DROP_COMPLETE"||ce.type==="DROP_ANIMATE"||ce.type==="FLUSH"},fn=function(se){var ce=Pt({onWindowScroll:function(Me){se.dispatch(Wr({newScroll:Me}))}});return function(me){return function(Me){!ce.isActive()&&Me.type==="INITIAL_PUBLISH"&&ce.start(),ce.isActive()&&Wt(Me)&&ce.stop(),me(Me)}}},un=function(se){var ce=!1,me=!1,Me=setTimeout(function(){me=!0}),$e=function(dt){ce||me||(ce=!0,se(dt),clearTimeout(Me))};return $e.wasCalled=function(){return ce},$e},qn=function(){var se=[],ce=function(et){var dt=tl(se,function(tr){return tr.timerId===et});dt===-1&&Fn(!1);var bt=se.splice(dt,1),hn=bt[0];hn.callback()},me=function(et){var dt=setTimeout(function(){return ce(dt)}),bt={timerId:dt,callback:et};se.push(bt)},Me=function(){if(se.length){var et=[].concat(se);se.length=0,et.forEach(function(dt){clearTimeout(dt.timerId),dt.callback()})}};return{add:me,flush:Me}},_n=function(ce,me){return ce==null&&me==null?!0:ce==null||me==null?!1:ce.droppableId===me.droppableId&&ce.index===me.index},Xn=function(ce,me){return ce==null&&me==null?!0:ce==null||me==null?!1:ce.draggableId===me.draggableId&&ce.droppableId===me.droppableId},Lr=function(ce,me){if(ce===me)return!0;var Me=ce.draggable.id===me.draggable.id&&ce.draggable.droppableId===me.draggable.droppableId&&ce.draggable.type===me.draggable.type&&ce.draggable.index===me.draggable.index,$e=ce.droppable.id===me.droppable.id&&ce.droppable.type===me.droppable.type;return Me&&$e},Sr=function(ce,me){Wu(),me(),ss()},Ir=function(ce,me){return{draggableId:ce.draggable.id,type:ce.droppable.type,source:{droppableId:ce.droppable.id,index:ce.draggable.index},mode:me}},mi=function(ce,me,Me,$e){if(!ce){Me($e(me));return}var et=un(Me),dt={announce:et};ce(me,dt),et.wasCalled()||Me($e(me))},pi=function(se,ce){var me=qn(),Me=null,$e=function(mn,yr){Me&&Fn(!1),Sr("onBeforeCapture",function(){var li=se().onBeforeCapture;if(li){var Ja={draggableId:mn,mode:yr};li(Ja)}})},et=function(mn,yr){Me&&Fn(!1),Sr("onBeforeDragStart",function(){var li=se().onBeforeDragStart;li&&li(Ir(mn,yr))})},dt=function(mn,yr){Me&&Fn(!1);var li=Ir(mn,yr);Me={mode:yr,lastCritical:mn,lastLocation:li.source,lastCombine:null},me.add(function(){Sr("onDragStart",function(){return mi(se().onDragStart,li,ce,Ai.onDragStart)})})},bt=function(mn,yr){var li=wl(yr),Ja=ra(yr);Me||Fn(!1);var fo=!Lr(mn,Me.lastCritical);fo&&(Me.lastCritical=mn);var ho=!_n(Me.lastLocation,li);ho&&(Me.lastLocation=li);var dl=!Xn(Me.lastCombine,Ja);if(dl&&(Me.lastCombine=Ja),!(!fo&&!ho&&!dl)){var Xl=(0,st.Z)({},Ir(mn,Me.mode),{combine:Ja,destination:li});me.add(function(){Sr("onDragUpdate",function(){return mi(se().onDragUpdate,Xl,ce,Ai.onDragUpdate)})})}},hn=function(){Me||Fn(!1),me.flush()},tr=function(mn){Me||Fn(!1),Me=null,Sr("onDragEnd",function(){return mi(se().onDragEnd,mn,ce,Ai.onDragEnd)})},Zn=function(){if(Me){var mn=(0,st.Z)({},Ir(Me.lastCritical,Me.mode),{combine:null,destination:null,reason:"CANCEL"});tr(mn)}};return{beforeCapture:$e,beforeStart:et,start:dt,update:bt,flush:hn,drop:tr,abort:Zn}},xi=function(se,ce){var me=pi(se,ce);return function(Me){return function($e){return function(et){if(et.type==="BEFORE_INITIAL_CAPTURE"){me.beforeCapture(et.payload.draggableId,et.payload.movementMode);return}if(et.type==="INITIAL_PUBLISH"){var dt=et.payload.critical;me.beforeStart(dt,et.payload.movementMode),$e(et),me.start(dt,et.payload.movementMode);return}if(et.type==="DROP_COMPLETE"){var bt=et.payload.completed.result;me.flush(),$e(et),me.drop(bt);return}if($e(et),et.type==="FLUSH"){me.abort();return}var hn=Me.getState();hn.phase==="DRAGGING"&&me.update(hn.critical,hn.impact)}}}},Ri=function(se){return function(ce){return function(me){if(me.type!=="DROP_ANIMATION_FINISHED"){ce(me);return}var Me=se.getState();Me.phase!=="DROP_ANIMATING"&&Fn(!1),se.dispatch(_r({completed:Me.completed}))}}},Fi=function(se){var ce=null,me=null;function Me(){me&&(cancelAnimationFrame(me),me=null),ce&&(ce(),ce=null)}return function($e){return function(et){if((et.type==="FLUSH"||et.type==="DROP_COMPLETE"||et.type==="DROP_ANIMATION_FINISHED")&&Me(),$e(et),et.type==="DROP_ANIMATE"){var dt={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){var hn=se.getState();hn.phase==="DROP_ANIMATING"&&se.dispatch(Ua())}};me=requestAnimationFrame(function(){me=null,ce=qr(window,[dt])})}}}},ya=function(se){return function(){return function(ce){return function(me){(me.type==="DROP_COMPLETE"||me.type==="FLUSH"||me.type==="DROP_ANIMATE")&&se.stopPublishing(),ce(me)}}}},Kr=function(se){var ce=!1;return function(){return function(me){return function(Me){if(Me.type==="INITIAL_PUBLISH"){ce=!0,se.tryRecordFocus(Me.payload.critical.draggable.id),me(Me),se.tryRestoreFocusRecorded();return}if(me(Me),!!ce){if(Me.type==="FLUSH"){ce=!1,se.tryRestoreFocusRecorded();return}if(Me.type==="DROP_COMPLETE"){ce=!1;var $e=Me.payload.completed.result;$e.combine&&se.tryShiftRecord($e.draggableId,$e.combine.draggableId),se.tryRestoreFocusRecorded()}}}}}},ta=function(ce){return ce.type==="DROP_COMPLETE"||ce.type==="DROP_ANIMATE"||ce.type==="FLUSH"},qa=function(se){return function(ce){return function(me){return function(Me){if(ta(Me)){se.stop(),me(Me);return}if(Me.type==="INITIAL_PUBLISH"){me(Me);var $e=ce.getState();$e.phase!=="DRAGGING"&&Fn(!1),se.start($e);return}me(Me),se.scroll(ce.getState())}}}},Xo=function(se){return function(ce){return function(me){if(ce(me),me.type==="PUBLISH_WHILE_DRAGGING"){var Me=se.getState();Me.phase==="DROP_PENDING"&&(Me.isWaiting||se.dispatch(Qi({reason:Me.reason})))}}}},Co=yt.qC,Yo=function(se){var ce=se.dimensionMarshal,me=se.focusMarshal,Me=se.styleMarshal,$e=se.getResponders,et=se.announce,dt=se.autoScroller;return(0,yt.MT)($l,Co((0,yt.md)(oo(Me),ya(ce),co(ce),Nu,Ri,Fi,Xo,qa(dt),fn,Kr(me),xi($e,et))))},bo=function(){return{additions:{},removals:{},modified:{}}};function Ta(se){var ce=se.registry,me=se.callbacks,Me=bo(),$e=null,et=function(){$e||(me.collectionStarting(),$e=requestAnimationFrame(function(){$e=null,Wu();var Zn=Me,Dt=Zn.additions,mn=Zn.removals,yr=Zn.modified,li=Object.keys(Dt).map(function(ho){return ce.draggable.getById(ho).getDimension(Ni)}).sort(function(ho,dl){return ho.descriptor.index-dl.descriptor.index}),Ja=Object.keys(yr).map(function(ho){var dl=ce.droppable.getById(ho),Xl=dl.callbacks.getScrollWhileDragging();return{droppableId:ho,scroll:Xl}}),fo={additions:li,removals:Object.keys(mn),modified:Ja};Me=bo(),ss(),me.publish(fo)}))},dt=function(Zn){var Dt=Zn.descriptor.id;Me.additions[Dt]=Zn,Me.modified[Zn.descriptor.droppableId]=!0,Me.removals[Dt]&&delete Me.removals[Dt],et()},bt=function(Zn){var Dt=Zn.descriptor;Me.removals[Dt.id]=!0,Me.modified[Dt.droppableId]=!0,Me.additions[Dt.id]&&delete Me.additions[Dt.id],et()},hn=function(){$e&&(cancelAnimationFrame($e),$e=null,Me=bo())};return{add:dt,remove:bt,stop:hn}}var So=function(se){var ce=se.scrollHeight,me=se.scrollWidth,Me=se.height,$e=se.width,et=Ji({x:me,y:ce},{x:$e,y:Me}),dt={x:Math.max(0,et.x),y:Math.max(0,et.y)};return dt},Ra=function(){var se=document.documentElement;return se||Fn(!1),se},Gi=function(){var se=Ra(),ce=So({scrollHeight:se.scrollHeight,scrollWidth:se.scrollWidth,width:se.clientWidth,height:se.clientHeight});return ce},ba=function(){var se=Ve(),ce=Gi(),me=se.y,Me=se.x,$e=Ra(),et=$e.clientWidth,dt=$e.clientHeight,bt=Me+et,hn=me+dt,tr=ea({top:me,left:Me,right:bt,bottom:hn}),Zn={frame:tr,scroll:{initial:se,current:se,max:ce,diff:{value:Ni,displacement:Ni}}};return Zn},Ko=function(se){var ce=se.critical,me=se.scrollOptions,Me=se.registry;Wu();var $e=ba(),et=$e.scroll.current,dt=ce.droppable,bt=Me.droppable.getAllByType(dt.type).map(function(Dt){return Dt.callbacks.getDimensionAndWatchScroll(et,me)}),hn=Me.draggable.getAllByType(ce.draggable.type).map(function(Dt){return Dt.getDimension(et)}),tr={draggables:xo(hn),droppables:Li(bt)};ss();var Zn={dimensions:tr,critical:ce,viewport:$e};return Zn};function Rl(se,ce,me){if(me.descriptor.id===ce.id||me.descriptor.type!==ce.type)return!1;var Me=se.droppable.getById(me.descriptor.droppableId);return Me.descriptor.mode==="virtual"}var Dn=function(se,ce){var me=null,Me=Ta({callbacks:{publish:ce.publishWhileDragging,collectionStarting:ce.collectionStarting},registry:se}),$e=function(yr,li){se.droppable.exists(yr)||Fn(!1),me&&ce.updateDroppableIsEnabled({id:yr,isEnabled:li})},et=function(yr,li){me&&(se.droppable.exists(yr)||Fn(!1),ce.updateDroppableIsCombineEnabled({id:yr,isCombineEnabled:li}))},dt=function(yr,li){me&&(se.droppable.exists(yr)||Fn(!1),ce.updateDroppableScroll({id:yr,newScroll:li}))},bt=function(yr,li){me&&se.droppable.getById(yr).callbacks.scroll(li)},hn=function(){if(me){Me.stop();var yr=me.critical.droppable;se.droppable.getAllByType(yr.type).forEach(function(li){return li.callbacks.dragStopped()}),me.unsubscribe(),me=null}},tr=function(yr){me||Fn(!1);var li=me.critical.draggable;yr.type==="ADDITION"&&Rl(se,li,yr.value)&&Me.add(yr.value),yr.type==="REMOVAL"&&Rl(se,li,yr.value)&&Me.remove(yr.value)},Zn=function(yr){me&&Fn(!1);var li=se.draggable.getById(yr.draggableId),Ja=se.droppable.getById(li.descriptor.droppableId),fo={draggable:li.descriptor,droppable:Ja.descriptor},ho=se.subscribe(tr);return me={critical:fo,unsubscribe:ho},Ko({critical:fo,registry:se,scrollOptions:yr.scrollOptions})},Dt={updateDroppableIsEnabled:$e,updateDroppableIsCombineEnabled:et,scrollDroppable:bt,updateDroppableScroll:dt,startPublishing:Zn,stopPublishing:hn};return Dt},Or=function(se,ce){return se.phase==="IDLE"?!0:se.phase!=="DROP_ANIMATING"||se.completed.result.draggableId===ce?!1:se.completed.result.reason==="DROP"},ae=function(se){window.scrollBy(se.x,se.y)},de=Yn(function(se){return jo(se).filter(function(ce){return!(!ce.isEnabled||!ce.frame)})}),pe=function(ce,me){var Me=Jo(de(me),function($e){return $e.frame||Fn(!1),eo($e.frame.pageMarginBox)(ce)});return Me},xe=function(se){var ce=se.center,me=se.destination,Me=se.droppables;if(me){var $e=Me[me];return $e.frame?$e:null}var et=pe(ce,Me);return et},ke={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:function(ce){return Math.pow(ce,2)},durationDampening:{stopDampeningAt:1200,accelerateAt:360}},ze=function(se,ce){var me=se[ce.size]*ke.startFromPercentage,Me=se[ce.size]*ke.maxScrollAtPercentage,$e={startScrollingFrom:me,maxScrollValueAt:Me};return $e},Ye=function(se){var ce=se.startOfRange,me=se.endOfRange,Me=se.current,$e=me-ce;if($e===0)return 0;var et=Me-ce,dt=et/$e;return dt},Ke=1,ct=function(se,ce){if(se>ce.startScrollingFrom)return 0;if(se<=ce.maxScrollValueAt)return ke.maxPixelScroll;if(se===ce.startScrollingFrom)return Ke;var me=Ye({startOfRange:ce.maxScrollValueAt,endOfRange:ce.startScrollingFrom,current:se}),Me=1-me,$e=ke.maxPixelScroll*ke.ease(Me);return Math.ceil($e)},rt=ke.durationDampening.accelerateAt,Ct=ke.durationDampening.stopDampeningAt,Xt=function(se,ce){var me=ce,Me=Ct,$e=Date.now(),et=$e-me;if(et>=Ct)return se;if(etce.height,et=me.width>ce.width;return!et&&!$e?Me:et&&$e?null:{x:et?0:Me.x,y:$e?0:Me.y}},nn=qo(function(se){return se===0?0:se}),cn=function(se){var ce=se.dragStartTime,me=se.container,Me=se.subject,$e=se.center,et=se.shouldUseTimeDampening,dt={top:$e.y-me.top,right:me.right-$e.x,bottom:me.bottom-$e.y,left:$e.x-me.left},bt=Sn({container:me,distanceToEdges:dt,dragStartTime:ce,axis:Ws,shouldUseTimeDampening:et}),hn=Sn({container:me,distanceToEdges:dt,dragStartTime:ce,axis:zu,shouldUseTimeDampening:et}),tr=nn({x:hn,y:bt});if(fa(tr,Ni))return null;var Zn=Zt({container:me,subject:Me,proposedScroll:tr});return Zn?fa(Zn,Ni)?null:Zn:null},on=qo(function(se){return se===0?0:se>0?1:-1}),bn=function(){var se=function(me,Me){return me<0?me:me>Me?me-Me:0};return function(ce){var me=ce.current,Me=ce.max,$e=ce.change,et=bi(me,$e),dt={x:se(et.x,Me.x),y:se(et.y,Me.y)};return fa(dt,Ni)?null:dt}}(),Mr=function(ce){var me=ce.max,Me=ce.current,$e=ce.change,et={x:Math.max(Me.x,me.x),y:Math.max(Me.y,me.y)},dt=on($e),bt=bn({max:et,current:Me,change:dt});return!bt||dt.x!==0&&bt.x===0||dt.y!==0&&bt.y===0},ti=function(ce,me){return Mr({current:ce.scroll.current,max:ce.scroll.max,change:me})},xa=function(ce,me){if(!ti(ce,me))return null;var Me=ce.scroll.max,$e=ce.scroll.current;return bn({current:$e,max:Me,change:me})},ui=function(ce,me){var Me=ce.frame;return Me?Mr({current:Me.scroll.current,max:Me.scroll.max,change:me}):!1},ka=function(ce,me){var Me=ce.frame;return!Me||!ui(ce,me)?null:bn({current:Me.scroll.current,max:Me.scroll.max,change:me})},Xa=function(se){var ce=se.viewport,me=se.subject,Me=se.center,$e=se.dragStartTime,et=se.shouldUseTimeDampening,dt=cn({dragStartTime:$e,container:ce.frame,subject:me,center:Me,shouldUseTimeDampening:et});return dt&&ti(ce,dt)?dt:null},ua=function(se){var ce=se.droppable,me=se.subject,Me=se.center,$e=se.dragStartTime,et=se.shouldUseTimeDampening,dt=ce.frame;if(!dt)return null;var bt=cn({dragStartTime:$e,container:dt.pageMarginBox,subject:me,center:Me,shouldUseTimeDampening:et});return bt&&ui(ce,bt)?bt:null},Tr=function(se){var ce=se.state,me=se.dragStartTime,Me=se.shouldUseTimeDampening,$e=se.scrollWindow,et=se.scrollDroppable,dt=ce.current.page.borderBoxCenter,bt=ce.dimensions.draggables[ce.critical.draggable.id],hn=bt.page.marginBox;if(ce.isWindowScrollAllowed){var tr=ce.viewport,Zn=Xa({dragStartTime:me,viewport:tr,subject:hn,center:dt,shouldUseTimeDampening:Me});if(Zn){$e(Zn);return}}var Dt=xe({center:dt,destination:Fo(ce.impact),droppables:ce.dimensions.droppables});if(Dt){var mn=ua({dragStartTime:me,droppable:Dt,subject:hn,center:dt,shouldUseTimeDampening:Me});mn&&et(Dt.descriptor.id,mn)}},yi=function(se){var ce=se.scrollWindow,me=se.scrollDroppable,Me=br(ce),$e=br(me),et=null,dt=function(Zn){et||Fn(!1);var Dt=et,mn=Dt.shouldUseTimeDampening,yr=Dt.dragStartTime;Tr({state:Zn,scrollWindow:Me,scrollDroppable:$e,dragStartTime:yr,shouldUseTimeDampening:mn})},bt=function(Zn){Wu(),et&&Fn(!1);var Dt=Date.now(),mn=!1,yr=function(){mn=!0};Tr({state:Zn,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:yr,scrollDroppable:yr}),et={dragStartTime:Dt,shouldUseTimeDampening:mn},ss(),mn&&dt(Zn)},hn=function(){et&&(Me.cancel(),$e.cancel(),et=null)};return{start:bt,stop:hn,scroll:dt}},Ya=function(se){var ce=se.move,me=se.scrollDroppable,Me=se.scrollWindow,$e=function(tr,Zn){var Dt=bi(tr.current.client.selection,Zn);ce({client:Dt})},et=function(tr,Zn){if(!ui(tr,Zn))return Zn;var Dt=ka(tr,Zn);if(!Dt)return me(tr.descriptor.id,Zn),null;var mn=Ji(Zn,Dt);me(tr.descriptor.id,mn);var yr=Ji(Zn,mn);return yr},dt=function(tr,Zn,Dt){if(!tr||!ti(Zn,Dt))return Dt;var mn=xa(Zn,Dt);if(!mn)return Me(Dt),null;var yr=Ji(Dt,mn);Me(yr);var li=Ji(Dt,yr);return li},bt=function(tr){var Zn=tr.scrollJumpRequest;if(Zn){var Dt=Fo(tr.impact);Dt||Fn(!1);var mn=et(tr.dimensions.droppables[Dt],Zn);if(mn){var yr=tr.viewport,li=dt(tr.isWindowScrollAllowed,yr,mn);li&&$e(tr,li)}}};return bt},Qn=function(se){var ce=se.scrollDroppable,me=se.scrollWindow,Me=se.move,$e=yi({scrollWindow:me,scrollDroppable:ce}),et=Ya({move:Me,scrollWindow:me,scrollDroppable:ce}),dt=function(tr){if(tr.phase==="DRAGGING"){if(tr.movementMode==="FLUID"){$e.scroll(tr);return}tr.scrollJumpRequest&&et(tr)}},bt={scroll:dt,start:$e.start,stop:$e.stop};return bt},jn="data-rbd",ai=function(){var se=jn+"-drag-handle";return{base:se,draggableId:se+"-draggable-id",contextId:se+"-context-id"}}(),Si=function(){var se=jn+"-draggable";return{base:se,contextId:se+"-context-id",id:se+"-id"}}(),ia=function(){var se=jn+"-droppable";return{base:se,contextId:se+"-context-id",id:se+"-id"}}(),oi={contextId:jn+"-scroll-container-context-id"},zi=function(ce){return function(me){return"["+me+'="'+ce+'"]'}},so=function(ce,me){return ce.map(function(Me){var $e=Me.styles[me];return $e?Me.selector+" { "+$e+" }":""}).join(" ")},Oo="pointer-events: none;",ar=function(se){var ce=zi(se),me=function(){var bt=` + cursor: -webkit-grab; + cursor: grab; + `;return{selector:ce(ai.contextId),styles:{always:` + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0,0,0,0); + touch-action: manipulation; + `,resting:bt,dragging:Oo,dropAnimating:bt}}}(),Me=function(){var bt=` + transition: `+Ms.outOfTheWay+`; + `;return{selector:ce(Si.contextId),styles:{dragging:bt,dropAnimating:bt,userCancel:bt}}}(),$e={selector:ce(ia.contextId),styles:{always:"overflow-anchor: none;"}},et={selector:"body",styles:{dragging:` + cursor: grabbing; + cursor: -webkit-grabbing; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + overflow-anchor: none; + `}},dt=[Me,me,$e,et];return{always:so(dt,"always"),resting:so(dt,"resting"),dragging:so(dt,"dragging"),dropAnimating:so(dt,"dropAnimating"),userCancel:so(dt,"userCancel")}},$o=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?ee.useLayoutEffect:ee.useEffect,bl=function(){var ce=document.querySelector("head");return ce||Fn(!1),ce},eu=function(ce){var me=document.createElement("style");return ce&&me.setAttribute("nonce",ce),me.type="text/css",me};function Cs(se,ce){var me=Un(function(){return ar(se)},[se]),Me=(0,ee.useRef)(null),$e=(0,ee.useRef)(null),et=nr(Yn(function(Dt){var mn=$e.current;mn||Fn(!1),mn.textContent=Dt}),[]),dt=nr(function(Dt){var mn=Me.current;mn||Fn(!1),mn.textContent=Dt},[]);$o(function(){!Me.current&&!$e.current||Fn(!1);var Dt=eu(ce),mn=eu(ce);return Me.current=Dt,$e.current=mn,Dt.setAttribute(jn+"-always",se),mn.setAttribute(jn+"-dynamic",se),bl().appendChild(Dt),bl().appendChild(mn),dt(me.always),et(me.resting),function(){var yr=function(Ja){var fo=Ja.current;fo||Fn(!1),bl().removeChild(fo),Ja.current=null};yr(Me),yr($e)}},[ce,dt,et,me.always,me.resting,se]);var bt=nr(function(){return et(me.dragging)},[et,me.dragging]),hn=nr(function(Dt){if(Dt==="DROP"){et(me.dropAnimating);return}et(me.userCancel)},[et,me.dropAnimating,me.userCancel]),tr=nr(function(){$e.current&&et(me.resting)},[et,me.resting]),Zn=Un(function(){return{dragging:bt,dropping:hn,resting:tr}},[bt,hn,tr]);return Zn}var uu=function(se){return se&&se.ownerDocument?se.ownerDocument.defaultView:window};function yu(se){return se instanceof uu(se).HTMLElement}function cu(se,ce){var me="["+ai.contextId+'="'+se+'"]',Me=Zr(document.querySelectorAll(me));if(!Me.length)return null;var $e=Jo(Me,function(et){return et.getAttribute(ai.draggableId)===ce});return!$e||!yu($e)?null:$e}function du(se){var ce=(0,ee.useRef)({}),me=(0,ee.useRef)(null),Me=(0,ee.useRef)(null),$e=(0,ee.useRef)(!1),et=nr(function(mn,yr){var li={id:mn,focus:yr};return ce.current[mn]=li,function(){var fo=ce.current,ho=fo[mn];ho!==li&&delete fo[mn]}},[]),dt=nr(function(mn){var yr=cu(se,mn);yr&&yr!==document.activeElement&&yr.focus()},[se]),bt=nr(function(mn,yr){me.current===mn&&(me.current=yr)},[]),hn=nr(function(){Me.current||$e.current&&(Me.current=requestAnimationFrame(function(){Me.current=null;var mn=me.current;mn&&dt(mn)}))},[dt]),tr=nr(function(mn){me.current=null;var yr=document.activeElement;yr&&yr.getAttribute(ai.draggableId)===mn&&(me.current=mn)},[]);$o(function(){return $e.current=!0,function(){$e.current=!1;var mn=Me.current;mn&&cancelAnimationFrame(mn)}},[]);var Zn=Un(function(){return{register:et,tryRecordFocus:tr,tryRestoreFocusRecorded:hn,tryShiftRecord:bt}},[et,tr,hn,bt]);return Zn}function oc(){var se={draggables:{},droppables:{}},ce=[];function me(Dt){return ce.push(Dt),function(){var yr=ce.indexOf(Dt);yr!==-1&&ce.splice(yr,1)}}function Me(Dt){ce.length&&ce.forEach(function(mn){return mn(Dt)})}function $e(Dt){return se.draggables[Dt]||null}function et(Dt){var mn=$e(Dt);return mn||Fn(!1),mn}var dt={register:function(mn){se.draggables[mn.descriptor.id]=mn,Me({type:"ADDITION",value:mn})},update:function(mn,yr){var li=se.draggables[yr.descriptor.id];li&&li.uniqueId===mn.uniqueId&&(delete se.draggables[yr.descriptor.id],se.draggables[mn.descriptor.id]=mn)},unregister:function(mn){var yr=mn.descriptor.id,li=$e(yr);li&&mn.uniqueId===li.uniqueId&&(delete se.draggables[yr],Me({type:"REMOVAL",value:mn}))},getById:et,findById:$e,exists:function(mn){return!!$e(mn)},getAllByType:function(mn){return ll(se.draggables).filter(function(yr){return yr.descriptor.type===mn})}};function bt(Dt){return se.droppables[Dt]||null}function hn(Dt){var mn=bt(Dt);return mn||Fn(!1),mn}var tr={register:function(mn){se.droppables[mn.descriptor.id]=mn},unregister:function(mn){var yr=bt(mn.descriptor.id);yr&&mn.uniqueId===yr.uniqueId&&delete se.droppables[mn.descriptor.id]},getById:hn,findById:bt,exists:function(mn){return!!bt(mn)},getAllByType:function(mn){return ll(se.droppables).filter(function(yr){return yr.descriptor.type===mn})}};function Zn(){se.draggables={},se.droppables={},ce.length=0}return{draggable:dt,droppable:tr,subscribe:me,clean:Zn}}function Oc(){var se=Un(oc,[]);return(0,ee.useEffect)(function(){return function(){requestAnimationFrame(se.clean)}},[se]),se}var Ru=ee.createContext(null),Vl=function(){var se=document.body;return se||Fn(!1),se},vc={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},Pu=function(ce){return"rbd-announcement-"+ce};function Ys(se){var ce=Un(function(){return Pu(se)},[se]),me=(0,ee.useRef)(null);(0,ee.useEffect)(function(){var et=document.createElement("div");return me.current=et,et.id=ce,et.setAttribute("aria-live","assertive"),et.setAttribute("aria-atomic","true"),(0,st.Z)(et.style,vc),Vl().appendChild(et),function(){setTimeout(function(){var hn=Vl();hn.contains(et)&&hn.removeChild(et),et===me.current&&(me.current=null)})}},[ce]);var Me=nr(function($e){var et=me.current;if(et){et.textContent=$e;return}},[]);return Me}var zs=0,Du={separator:"::"};function Eu(){zs=0}function qu(se,ce){return ce===void 0&&(ce=Du),Un(function(){return""+se+ce.separator+zs++},[ce.separator,se])}function ic(se){var ce=se.contextId,me=se.uniqueId;return"rbd-hidden-text-"+ce+"-"+me}function mc(se){var ce=se.contextId,me=se.text,Me=qu("hidden-text",{separator:"-"}),$e=Un(function(){return ic({contextId:ce,uniqueId:Me})},[Me,ce]);return(0,ee.useEffect)(function(){var dt=document.createElement("div");return dt.id=$e,dt.textContent=me,dt.style.display="none",Vl().appendChild(dt),function(){var hn=Vl();hn.contains(dt)&&hn.removeChild(dt)}},[$e,me]),$e}var Tc=ee.createContext(null),cf={react:"^16.8.5","react-dom":"^16.8.5"},bd=/(\d+)\.(\d+)\.(\d+)/,Zc=function(ce){var me=bd.exec(ce);me==null&&Fn(!1);var Me=Number(me[1]),$e=Number(me[2]),et=Number(me[3]);return{major:Me,minor:$e,patch:et,raw:ce}},Js=function(ce,me){return me.major>ce.major?!0:me.majorce.minor?!0:me.minor=ce.patch},Qu=function(se,ce){var me=Zc(se),Me=Zc(ce);Js(me,Me)},$c=` + We expect a html5 doctype: + This is to ensure consistent browser layout and measurement + + More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md +`,ed=function(se){var ce=se.doctype;ce&&(ce.name.toLowerCase(),ce.publicId)};function lc(se){}function zd(se,ce){}function ec(){zd(function(){Qu(cf.react,ee.version),ed(document)},[])}function Fd(se){var ce=(0,ee.useRef)(se);return(0,ee.useEffect)(function(){ce.current=se}),ce}function xf(){var se=null;function ce(){return!!se}function me(dt){return dt===se}function Me(dt){se&&Fn(!1);var bt={abandon:dt};return se=bt,bt}function $e(){se||Fn(!1),se=null}function et(){se&&(se.abandon(),$e())}return{isClaimed:ce,isActive:me,claim:Me,release:$e,tryAbandon:et}}var df=9,kd=13,xd=27,id=32,za=33,ff=34,Nd=35,hf=36,Qc=37,wd=38,Yu=39,Hd=40,Iu,pf=(Iu={},Iu[kd]=!0,Iu[df]=!0,Iu),jd=function(se){pf[se.keyCode]&&se.preventDefault()},zc=function(){var se="visibilitychange";if(typeof document=="undefined")return se;var ce=[se,"ms"+se,"webkit"+se,"moz"+se,"o"+se],me=Jo(ce,function(Me){return"on"+Me in document});return me||se}(),Rd=0,Wc=5;function fd(se,ce){return Math.abs(ce.x-se.x)>=Wc||Math.abs(ce.y-se.y)>=Wc}var gc={type:"IDLE"};function Dc(se){var ce=se.cancel,me=se.completed,Me=se.getPhase,$e=se.setPhase;return[{eventName:"mousemove",fn:function(dt){var bt=dt.button,hn=dt.clientX,tr=dt.clientY;if(bt===Rd){var Zn={x:hn,y:tr},Dt=Me();if(Dt.type==="DRAGGING"){dt.preventDefault(),Dt.actions.move(Zn);return}Dt.type!=="PENDING"&&Fn(!1);var mn=Dt.point;if(fd(mn,Zn)){dt.preventDefault();var yr=Dt.actions.fluidLift(Zn);$e({type:"DRAGGING",actions:yr})}}}},{eventName:"mouseup",fn:function(dt){var bt=Me();if(bt.type!=="DRAGGING"){ce();return}dt.preventDefault(),bt.actions.drop({shouldBlockNextClick:!0}),me()}},{eventName:"mousedown",fn:function(dt){Me().type==="DRAGGING"&&dt.preventDefault(),ce()}},{eventName:"keydown",fn:function(dt){var bt=Me();if(bt.type==="PENDING"){ce();return}if(dt.keyCode===xd){dt.preventDefault(),ce();return}jd(dt)}},{eventName:"resize",fn:ce},{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(){Me().type==="PENDING"&&ce()}},{eventName:"webkitmouseforcedown",fn:function(dt){var bt=Me();if(bt.type==="IDLE"&&Fn(!1),bt.actions.shouldRespectForcePress()){ce();return}dt.preventDefault()}},{eventName:zc,fn:ce}]}function sc(se){var ce=(0,ee.useRef)(gc),me=(0,ee.useRef)(fr),Me=Un(function(){return{eventName:"mousedown",fn:function(Dt){if(!Dt.defaultPrevented&&Dt.button===Rd&&!(Dt.ctrlKey||Dt.metaKey||Dt.shiftKey||Dt.altKey)){var mn=se.findClosestDraggableId(Dt);if(mn){var yr=se.tryGetLock(mn,dt,{sourceEvent:Dt});if(yr){Dt.preventDefault();var li={x:Dt.clientX,y:Dt.clientY};me.current(),tr(yr,li)}}}}}},[se]),$e=Un(function(){return{eventName:"webkitmouseforcewillbegin",fn:function(Dt){if(!Dt.defaultPrevented){var mn=se.findClosestDraggableId(Dt);if(mn){var yr=se.findOptionsForDraggable(mn);yr&&(yr.shouldRespectForcePress||se.canGetLock(mn)&&Dt.preventDefault())}}}}},[se]),et=nr(function(){var Dt={passive:!1,capture:!0};me.current=qr(window,[$e,Me],Dt)},[$e,Me]),dt=nr(function(){var Zn=ce.current;Zn.type!=="IDLE"&&(ce.current=gc,me.current(),et())},[et]),bt=nr(function(){var Zn=ce.current;dt(),Zn.type==="DRAGGING"&&Zn.actions.cancel({shouldBlockNextClick:!0}),Zn.type==="PENDING"&&Zn.actions.abort()},[dt]),hn=nr(function(){var Dt={capture:!0,passive:!1},mn=Dc({cancel:bt,completed:dt,getPhase:function(){return ce.current},setPhase:function(li){ce.current=li}});me.current=qr(window,mn,Dt)},[bt,dt]),tr=nr(function(Dt,mn){ce.current.type!=="IDLE"&&Fn(!1),ce.current={type:"PENDING",point:mn,actions:Dt},hn()},[hn]);$o(function(){return et(),function(){me.current()}},[et])}var Ic;function qs(){}var bu=(Ic={},Ic[ff]=!0,Ic[za]=!0,Ic[hf]=!0,Ic[Nd]=!0,Ic);function xc(se,ce){function me(){ce(),se.cancel()}function Me(){ce(),se.drop()}return[{eventName:"keydown",fn:function(et){if(et.keyCode===xd){et.preventDefault(),me();return}if(et.keyCode===id){et.preventDefault(),Me();return}if(et.keyCode===Hd){et.preventDefault(),se.moveDown();return}if(et.keyCode===wd){et.preventDefault(),se.moveUp();return}if(et.keyCode===Yu){et.preventDefault(),se.moveRight();return}if(et.keyCode===Qc){et.preventDefault(),se.moveLeft();return}if(bu[et.keyCode]){et.preventDefault();return}jd(et)}},{eventName:"mousedown",fn:me},{eventName:"mouseup",fn:me},{eventName:"click",fn:me},{eventName:"touchstart",fn:me},{eventName:"resize",fn:me},{eventName:"wheel",fn:me,options:{passive:!0}},{eventName:zc,fn:me}]}function Bu(se){var ce=(0,ee.useRef)(qs),me=Un(function(){return{eventName:"keydown",fn:function(et){if(et.defaultPrevented||et.keyCode!==id)return;var dt=se.findClosestDraggableId(et);if(!dt)return;var bt=se.tryGetLock(dt,Zn,{sourceEvent:et});if(!bt)return;et.preventDefault();var hn=!0,tr=bt.snapLift();ce.current();function Zn(){hn||Fn(!1),hn=!1,ce.current(),Me()}ce.current=qr(window,xc(tr,Zn),{capture:!0,passive:!1})}}},[se]),Me=nr(function(){var et={passive:!1,capture:!0};ce.current=qr(window,[me],et)},[me]);$o(function(){return Me(),function(){ce.current()}},[Me])}var Vc={type:"IDLE"},wf=120,tc=.15;function Gc(se){var ce=se.cancel,me=se.getPhase;return[{eventName:"orientationchange",fn:ce},{eventName:"resize",fn:ce},{eventName:"contextmenu",fn:function($e){$e.preventDefault()}},{eventName:"keydown",fn:function($e){if(me().type!=="DRAGGING"){ce();return}$e.keyCode===xd&&$e.preventDefault(),ce()}},{eventName:zc,fn:ce}]}function Cf(se){var ce=se.cancel,me=se.completed,Me=se.getPhase;return[{eventName:"touchmove",options:{capture:!1},fn:function(et){var dt=Me();if(dt.type!=="DRAGGING"){ce();return}dt.hasMoved=!0;var bt=et.touches[0],hn=bt.clientX,tr=bt.clientY,Zn={x:hn,y:tr};et.preventDefault(),dt.actions.move(Zn)}},{eventName:"touchend",fn:function(et){var dt=Me();if(dt.type!=="DRAGGING"){ce();return}et.preventDefault(),dt.actions.drop({shouldBlockNextClick:!0}),me()}},{eventName:"touchcancel",fn:function(et){if(Me().type!=="DRAGGING"){ce();return}et.preventDefault(),ce()}},{eventName:"touchforcechange",fn:function(et){var dt=Me();dt.type==="IDLE"&&Fn(!1);var bt=et.touches[0];if(bt){var hn=bt.force>=tc;if(hn){var tr=dt.actions.shouldRespectForcePress();if(dt.type==="PENDING"){tr&&ce();return}if(tr){if(dt.hasMoved){et.preventDefault();return}ce();return}et.preventDefault()}}}},{eventName:zc,fn:ce}]}function Uc(se){var ce=(0,ee.useRef)(Vc),me=(0,ee.useRef)(fr),Me=nr(function(){return ce.current},[]),$e=nr(function(yr){ce.current=yr},[]),et=Un(function(){return{eventName:"touchstart",fn:function(yr){if(!yr.defaultPrevented){var li=se.findClosestDraggableId(yr);if(li){var Ja=se.tryGetLock(li,bt,{sourceEvent:yr});if(Ja){var fo=yr.touches[0],ho=fo.clientX,dl=fo.clientY,Xl={x:ho,y:dl};me.current(),Dt(Ja,Xl)}}}}}},[se]),dt=nr(function(){var yr={capture:!0,passive:!1};me.current=qr(window,[et],yr)},[et]),bt=nr(function(){var mn=ce.current;mn.type!=="IDLE"&&(mn.type==="PENDING"&&clearTimeout(mn.longPressTimerId),$e(Vc),me.current(),dt())},[dt,$e]),hn=nr(function(){var mn=ce.current;bt(),mn.type==="DRAGGING"&&mn.actions.cancel({shouldBlockNextClick:!0}),mn.type==="PENDING"&&mn.actions.abort()},[bt]),tr=nr(function(){var yr={capture:!0,passive:!1},li={cancel:hn,completed:bt,getPhase:Me},Ja=qr(window,Cf(li),yr),fo=qr(window,Gc(li),yr);me.current=function(){Ja(),fo()}},[hn,Me,bt]),Zn=nr(function(){var yr=Me();yr.type!=="PENDING"&&Fn(!1);var li=yr.actions.fluidLift(yr.point);$e({type:"DRAGGING",actions:li,hasMoved:!1})},[Me,$e]),Dt=nr(function(yr,li){Me().type!=="IDLE"&&Fn(!1);var Ja=setTimeout(Zn,wf);$e({type:"PENDING",point:li,actions:yr,longPressTimerId:Ja}),tr()},[tr,Me,$e,Zn]);$o(function(){return dt(),function(){me.current();var li=Me();li.type==="PENDING"&&(clearTimeout(li.longPressTimerId),$e(Vc))}},[Me,dt,$e]),$o(function(){var yr=qr(window,[{eventName:"touchmove",fn:function(){},options:{capture:!1,passive:!1}}]);return yr},[])}function Ff(se){}var vu={input:!0,button:!0,textarea:!0,select:!0,option:!0,optgroup:!0,video:!0,audio:!0};function Ld(se,ce){if(ce==null)return!1;var me=!!vu[ce.tagName.toLowerCase()];if(me)return!0;var Me=ce.getAttribute("contenteditable");return Me==="true"||Me===""?!0:ce===se?!1:Ld(se,ce.parentElement)}function Hc(se,ce){var me=ce.target;return yu(me)?Ld(se,me):!1}var _d=function(se){return ea(se.getBoundingClientRect()).center};function Ti(se){return se instanceof uu(se).Element}var $f=function(){var se="matches";if(typeof document=="undefined")return se;var ce=[se,"msMatchesSelector","webkitMatchesSelector"],me=Jo(ce,function(Me){return Me in Element.prototype});return me||se}();function kf(se,ce){return se==null?null:se[$f](ce)?se:kf(se.parentElement,ce)}function e0(se,ce){return se.closest?se.closest(ce):kf(se,ce)}function Xf(se){return"["+ai.contextId+'="'+se+'"]'}function Cd(se,ce){var me=ce.target;if(!Ti(me))return null;var Me=Xf(se),$e=e0(me,Me);return!$e||!yu($e)?null:$e}function Yc(se,ce){var me=Cd(se,ce);return me?me.getAttribute(ai.draggableId):null}function g0(se,ce){var me="["+Si.contextId+'="'+se+'"]',Me=Zr(document.querySelectorAll(me)),$e=Jo(Me,function(et){return et.getAttribute(Si.id)===ce});return!$e||!yu($e)?null:$e}function Sc(se){se.preventDefault()}function hd(se){var ce=se.expected,me=se.phase,Me=se.isLockActive,$e=se.shouldWarn;return!(!Me()||ce!==me)}function $d(se){var ce=se.lockAPI,me=se.store,Me=se.registry,$e=se.draggableId;if(ce.isClaimed())return!1;var et=Me.draggable.findById($e);return!(!et||!et.options.isEnabled||!Or(me.getState(),$e))}function vf(se){var ce=se.lockAPI,me=se.contextId,Me=se.store,$e=se.registry,et=se.draggableId,dt=se.forceSensorStop,bt=se.sourceEvent,hn=$d({lockAPI:ce,store:Me,registry:$e,draggableId:et});if(!hn)return null;var tr=$e.draggable.getById(et),Zn=g0(me,tr.descriptor.id);if(!Zn||bt&&!tr.options.canDragInteractiveElements&&Hc(Zn,bt))return null;var Dt=ce.claim(dt||fr),mn="PRE_DRAG";function yr(){return tr.options.shouldRespectForcePress}function li(){return ce.isActive(Dt)}function Ja(Hs,cs){hd({expected:Hs,phase:mn,isLockActive:li,shouldWarn:!0})&&Me.dispatch(cs())}var fo=Ja.bind(null,"DRAGGING");function ho(Hs){function cs(){ce.release(),mn="COMPLETED"}mn!=="PRE_DRAG"&&(cs(),mn!=="PRE_DRAG"&&Fn(!1)),Me.dispatch(Pe(Hs.liftActionArgs)),mn="DRAGGING";function dc(Fu,nc){if(nc===void 0&&(nc={shouldBlockNextClick:!1}),Hs.cleanup(),nc.shouldBlockNextClick){var rc=qr(window,[{eventName:"click",fn:Sc,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(rc)}cs(),Me.dispatch(Qi({reason:Fu}))}return(0,st.Z)({isActive:function(){return hd({expected:"DRAGGING",phase:mn,isLockActive:li,shouldWarn:!1})},shouldRespectForcePress:yr,drop:function(nc){return dc("DROP",nc)},cancel:function(nc){return dc("CANCEL",nc)}},Hs.actions)}function dl(Hs){var cs=br(function(Fu){fo(function(){return Yr({client:Fu})})}),dc=ho({liftActionArgs:{id:et,clientSelection:Hs,movementMode:"FLUID"},cleanup:function(){return cs.cancel()},actions:{move:cs}});return(0,st.Z)({},dc,{move:cs})}function Xl(){var Hs={moveUp:function(){return fo(ha)},moveRight:function(){return fo(Bi)},moveDown:function(){return fo(Ei)},moveLeft:function(){return fo(Oi)}};return ho({liftActionArgs:{id:et,clientSelection:_d(Zn),movementMode:"SNAP"},cleanup:fr,actions:Hs})}function Jl(){var Hs=hd({expected:"PRE_DRAG",phase:mn,isLockActive:li,shouldWarn:!0});Hs&&ce.release()}var ou={isActive:function(){return hd({expected:"PRE_DRAG",phase:mn,isLockActive:li,shouldWarn:!1})},shouldRespectForcePress:yr,fluidLift:dl,snapLift:Xl,abort:Jl};return ou}var Zf=[sc,Bu,Uc];function Qf(se){var ce=se.contextId,me=se.store,Me=se.registry,$e=se.customSensors,et=se.enableDefaultSensors,dt=[].concat(et?Zf:[],$e||[]),bt=(0,ee.useState)(function(){return xf()})[0],hn=nr(function(dl,Xl){dl.isDragging&&!Xl.isDragging&&bt.tryAbandon()},[bt]);$o(function(){var dl=me.getState(),Xl=me.subscribe(function(){var Jl=me.getState();hn(dl,Jl),dl=Jl});return Xl},[bt,me,hn]),$o(function(){return bt.tryAbandon},[bt.tryAbandon]);var tr=nr(function(ho){return $d({lockAPI:bt,registry:Me,store:me,draggableId:ho})},[bt,Me,me]),Zn=nr(function(ho,dl,Xl){return vf({lockAPI:bt,registry:Me,contextId:ce,store:me,draggableId:ho,forceSensorStop:dl,sourceEvent:Xl&&Xl.sourceEvent?Xl.sourceEvent:null})},[ce,bt,Me,me]),Dt=nr(function(ho){return Yc(ce,ho)},[ce]),mn=nr(function(ho){var dl=Me.draggable.findById(ho);return dl?dl.options:null},[Me.draggable]),yr=nr(function(){bt.isClaimed()&&(bt.tryAbandon(),me.getState().phase!=="IDLE"&&me.dispatch(Yi()))},[bt,me]),li=nr(bt.isClaimed,[bt]),Ja=Un(function(){return{canGetLock:tr,tryGetLock:Zn,findClosestDraggableId:Dt,findOptionsForDraggable:mn,tryReleaseLock:yr,isLockClaimed:li}},[tr,Zn,Dt,mn,yr,li]);Ff(dt);for(var fo=0;fo=0||Object.prototype.hasOwnProperty.call(ut,Fe)&&(ot[Fe]=ut[Fe]);return ot}function Se(ut,ht){if(!(ut instanceof ht))throw new TypeError("Cannot call a class as a function")}function He(ut,ht){if(!ut)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ht&&(typeof ht=="object"||typeof ht=="function")?ht:ut}function pt(ut,ht){if(typeof ht!="function"&&ht!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof ht);ut.prototype=Object.create(ht&&ht.prototype,{constructor:{value:ut,enumerable:!1,writable:!0,configurable:!0}}),ht&&(Object.setPrototypeOf?Object.setPrototypeOf(ut,ht):ut.__proto__=ht)}var tt=function(ut){pt(ht,ut);function ht(ot){Se(this,ht);var Fe=He(this,(ht.__proto__||Object.getPrototypeOf(ht)).call(this,ot));return Fe.scrollListener=Fe.scrollListener.bind(Fe),Fe.eventListenerOptions=Fe.eventListenerOptions.bind(Fe),Fe.mousewheelListener=Fe.mousewheelListener.bind(Fe),Fe}return ee(ht,[{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 Fe=this.getParentElement(this.scrollComponent);Fe.scrollTop=Fe.scrollHeight-this.beforeScrollHeight+this.beforeScrollTop,this.loadMore=!1}this.attachScrollListener()}},{key:"componentWillUnmount",value:function(){this.detachScrollListener(),this.detachMousewheelListener()}},{key:"isPassiveSupported",value:function(){var Fe=!1,qe={get passive(){Fe=!0}};try{document.addEventListener("test",null,qe),document.removeEventListener("test",null,qe)}catch(St){}return Fe}},{key:"eventListenerOptions",value:function(){var Fe=this.props.useCapture;return this.isPassiveSupported()&&(Fe={useCapture:this.props.useCapture,passive:!0}),Fe}},{key:"setDefaultLoader",value:function(Fe){this.defaultLoader=Fe}},{key:"detachMousewheelListener",value:function(){var Fe=window;this.props.useWindow===!1&&(Fe=this.scrollComponent.parentNode),Fe.removeEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture)}},{key:"detachScrollListener",value:function(){var Fe=window;this.props.useWindow===!1&&(Fe=this.getParentElement(this.scrollComponent)),Fe.removeEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),Fe.removeEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture)}},{key:"getParentElement",value:function(Fe){var qe=this.props.getScrollParent&&this.props.getScrollParent();return qe!=null?qe:Fe&&Fe.parentNode}},{key:"filterProps",value:function(Fe){return Fe}},{key:"attachScrollListener",value:function(){var Fe=this.getParentElement(this.scrollComponent);if(!(!this.props.hasMore||!Fe)){var qe=window;this.props.useWindow===!1&&(qe=Fe),qe.addEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture),qe.addEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),qe.addEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture),this.props.initialLoad&&this.scrollListener()}}},{key:"mousewheelListener",value:function(Fe){Fe.deltaY===1&&!this.isPassiveSupported()&&Fe.preventDefault()}},{key:"scrollListener",value:function(){var Fe=this.scrollComponent,qe=window,St=this.getParentElement(Fe),jt=void 0;if(this.props.useWindow){var Lt=document.documentElement||document.body.parentNode||document.body,Ut=qe.pageYOffset!==void 0?qe.pageYOffset:Lt.scrollTop;this.props.isReverse?jt=Ut:jt=this.calculateOffset(Fe,Ut)}else this.props.isReverse?jt=St.scrollTop:jt=Fe.scrollHeight-St.scrollTop-St.clientHeight;jty in a?ee(a,y,{enumerable:!0,configurable:!0,writable:!0,value:b}):a[y]=b,Se=(a,y)=>{for(var b in y||(y={}))Qe.call(y,b)&&ye(a,b,y[b]);if(yt)for(var b of yt(y))Je.call(y,b)&&ye(a,b,y[b]);return a},He=(a,y)=>Oe(a,st(y)),pt=a=>typeof a=="symbol"?a:a+"",tt=(a,y)=>{var b={};for(var E in a)Qe.call(a,E)&&y.indexOf(E)<0&&(b[E]=a[E]);if(a!=null&&yt)for(var E of yt(a))y.indexOf(E)<0&&Je.call(a,E)&&(b[E]=a[E]);return b};function ut(a){return Array.isArray(a)}var ht={en:{"keyboard.tooltip.symbols":"\u7B26\u53F7","keyboard.tooltip.greek":"\u5E0C\u814A\u5B57\u6BCD","keyboard.tooltip.numeric":"\u6570\u5B57","keyboard.tooltip.alphabetic":"\u7F57\u9A6C\u5B57\u6BCD","tooltip.cut to clipboard":"\u526A\u5207\u5230\u526A\u8D34\u677F","tooltip.copy to clipboard":"\u590D\u5236\u5230\u526A\u8D34\u677F","tooltip.paste from clipboard":"\u7C98\u8D34","tooltip.redo":"\u91CD\u505A","tooltip.toggle virtual keyboard":"\u5207\u6362\u865A\u62DF\u952E\u76D8","tooltip.undo":"\u64A4\u6D88","menu.insert matrix":"\u63D2\u5165\u77E9\u9635","menu.borders":"\u77E9\u9635\u5206\u9694\u7B26","menu.array.add row above":"\u5728\u540E\u9762\u6DFB\u52A0\u884C","menu.array.add row below":"\u5728\u524D\u9762\u6DFB\u52A0\u884C","menu.array.add column after":"\u5728\u540E\u9762\u6DFB\u52A0\u5217r","menu.array.add column before":"\u5728\u524D\u9762\u6DFB\u52A0\u5217","menu.array.delete row":"\u5220\u9664\u884C","menu.array.delete rows":"\u5220\u9664\u9009\u5B9A\u884C","menu.array.delete column":"\u5220\u9664\u5217","menu.array.delete columns":"\u5220\u9664\u9009\u5B9A\u7684\u5217","menu.mode":"\u6A21\u5F0F","menu.mode-math":"\u6570\u5B66","menu.mode-text":"\u6587\u672C","menu.mode-latex":"LaTeX","tooltip.blackboard":"\u9ED1\u677F","tooltip.bold":"\u7C97\u4F53","tooltip.italic":"\u659C\u4F53","tooltip.fraktur":"Fraktur","tooltip.script":"\u811A\u672C","tooltip.caligraphic":"\u8349\u4E66","tooltip.typewriter":"\u6253\u5B57\u673A","tooltip.roman-upright":"\u7F57\u9A6C\u76F4\u7ACB","tooltip.row-by-col":"%@ \xD7 %@","menu.font-style":"\u5B57\u4F53\u6837\u5F0F","menu.accent":"\u91CD\u97F3","menu.decoration":"\u88C5\u9970","menu.color":"\u989C\u8272","menu.background-color":"\u80CC\u666F","menu.evaluate":"\u8BA1\u7B97","menu.simplify":"\u7B80\u5316","menu.solve":"\u6C42\u89E3","menu.solve-for":"\u6C42\u89E3 %@","menu.cut":"\u526A\u5207","menu.copy":"\u590D\u5236","menu.copy-as-latex":"\u590D\u5236\u4E3A LaTeX","menu.copy-as-ascii-math":"\u590D\u5236\u4E3A ASCII Math","menu.copy-as-mathml":"\u590D\u5236\u4E3A MathML","menu.paste":"\u7C98\u8D34","menu.select-all":"\u5168\u9009","color.red":"\u7EA2\u8272","color.orange":"\u6A59\u8272","color.yellow":"\u9EC4\u8272","color.lime":"\u7EFF\u9EC4\u8272","color.green":"\u7EFF\u8272","color.teal":"\u9752\u8272","color.cyan":"\u84DD\u7EFF\u8272","color.blue":"\u84DD\u8272","color.indigo":"\u975B\u84DD\u8272","color.purple":"\u7D2B\u8272","color.magenta":"\u6D0B\u7EA2\u8272","color.black":"\u9ED1\u8272","color.dark-grey":"\u6DF1\u7070\u8272","color.grey":"\u7070\u8272","color.light-grey":"\u6D45\u7070\u8272","color.white":"\u767D\u8272"}};function ot(){return"window"in globalThis&&"document"in globalThis}function Fe(){return"matchMedia"in window?window.matchMedia("(pointer: coarse)").matches:"ontouchstart"in window||navigator.maxTouchPoints>0}function qe(){return typeof navigator.vibrate=="function"}function St(){var a,y;if(!ot())return"other";const b=(y=(a=navigator.userAgentData)==null?void 0:a.platform)!=null?y:navigator.platform;return/^mac/i.test(b)?navigator.maxTouchPoints===5?"ios":"macos":/^win/i.test(b)?"windows":/android/i.test(navigator.userAgent)?"android":/iphone|ipod|ipad/i.test(navigator.userAgent)?"ios":/\bcros\b/i.test(navigator.userAgent)?"chromeos":"other"}function jt(){if(!ot())return!0;if(/firefox/i.test(navigator.userAgent)){const a=navigator.userAgent.match(/firefox\/(\d+)/i);return a?parseInt(a[1])>=78:!1}if(/trident/i.test(navigator.userAgent))return!1;if(/edge/i.test(navigator.userAgent)){const a=navigator.userAgent.match(/edg\/(\d+)/i);return a?parseInt(a[1])>=79:!1}return!0}function Lt(){return HTMLElement.prototype.hasOwnProperty("popover")}var Ut={strings:ht,_locale:"",_dirty:!1,_subscribers:[],_numberFormatter:void 0,get locale(){return Ut._locale||(Ut._locale=ot()?navigator.language.slice(0,5):"en-US"),Ut._locale},set locale(a){Ut._locale=a,Ut._numberFormatter=void 0,Ut.dirty=!0},get numberFormatter(){return Ut._numberFormatter||(Ut._numberFormatter=new Intl.NumberFormat(Ut.locale)),Ut._numberFormatter},merge(a,y){if(typeof a=="string"&&y)Ut.strings[a]=Se(Se({},Ut.strings[a]),y),Ut.dirty=!0;else for(const b of Object.keys(a))Ut.merge(b,a[b])},get dirty(){return Ut._dirty},set dirty(a){Ut._dirty||Ut._dirty===a||(Ut._dirty=!0,setTimeout(()=>{Ut._dirty=!1,this._subscribers.forEach(y=>y==null?void 0:y())},0))},subscribe(a){return Ut._subscribers.push(a),Ut._subscribers.length-1},unsubscribe(a){a<0||a>=Ut._subscribers.length||(Ut._subscribers[a]=void 0)},update(a){let y=a.querySelectorAll("[data-l10n-tooltip]");for(const b of y){const E=b.getAttribute("data-l10n-tooltip");if(E){const te=At(E);te&&b.setAttribute("data-tooltip",te)}}y=a.querySelectorAll("[data-l10n-arial-label]");for(const b of y){const E=b.getAttribute("data-l10n-arial-label");if(E){const te=At(E);te&&b.setAttribute("aria-label",te)}}}};function At(a,...y){if(a===void 0)return;let b="";const E=Ut.locale;Ut.strings[E]&&(b=Ut.strings[E][a]);const te=E.slice(0,2);if(!b&&Ut.strings[te]&&(b=Ut.strings[te][a]),b||(b=Ut.strings.en[a]),!b)return;const oe=/(%@|%([0-9]+)\$@)/g;let ue=oe.exec(b),Ae=0;for(;ue;){if(y[Ae++]){const Ne=ue[2]?parseInt(ue[2],10)-1:Ae-1;let Ge=y[Ne];typeof Ge=="number"&&(Ge=Ut.numberFormatter.format(Ge)),b=b.replace(ue[1],Ge)}ue=oe.exec(b)}return b=b.replace(/%%/g,"%"),b}var Mt={m0:"#3F3D99",m1:"#993D71",m2:"#998B3D",m3:"#3D9956",m4:"#3D5A99",m5:"#993D90",m6:"#996D3D",m7:"#43993D",m8:"#3D7999",m9:"#843D99"},je={blue:"#0072BD",orange:"#D95319",yellow:"#EDB120",purple:"#7E2F8E",green:"#77AC30",cyan:"#4DBEEE",red:"#A2142F"},gn={red:"#fbbbb6",orange:"#ffe0c2",yellow:"#fff1c2",lime:"#d0e8b9",green:"#bceac4",teal:"#b9f1f1",cyan:"#b8e5c9",blue:"#b6d9fb",indigo:"#d1c2f0",purple:"#e3baf8",magenta:"#f9c8e0",black:"#353535","dark-grey":"#8C8C8C",grey:"#D0D0D0","light-grey":"#F0F0F0",white:"#ffffff"},Nn={red:"#d7170b",orange:"#fe8a2b",yellow:"#ffc02b",lime:"#63b215",green:"#21ba3a",teal:"#17cfcf",cyan:"#13a7ec",blue:"#0d80f2",indigo:"#63c",purple:"#a219e6",magenta:"#eb4799",black:"#000","dark-grey":"#666",grey:"#A6A6A6","light-grey":"#d4d5d2",white:"#ffffff"},rn={Red:"red",Orange:"orange",Yellow:"yellow",LimeGreen:"lime",Green:"green",TealBlue:"teal",Blue:"blue",Violet:"indigo",Purple:"purple",Magenta:"magenta",Black:"black",Gray:"grey",White:"white"},Et={Apricot:"#FBB982",Aquamarine:"#00B5BE",Bittersweet:"#C04F17",Black:"#221E1F",Blue:"#2D2F92",BlueGreen:"#00B3B8",BlueViolet:"#473992",BrickRed:"#B6321C",Brown:"#792500",BurntOrange:"#F7921D",CadetBlue:"#74729A",CarnationPink:"#F282B4",Cerulean:"#00A2E3",CornflowerBlue:"#41B0E4",Cyan:"#00AEEF",Dandelion:"#FDBC42",DarkOrchid:"#A4538A",Emerald:"#00A99D",ForestGreen:"#009B55",Fuchsia:"#8C368C",Goldenrod:"#FFDF42",Gray:"#949698",Green:"#00A64F",GreenYellow:"#DFE674",JungleGreen:"#00A99A",Lavender:"#F49EC4",Limegreen:"#8DC73E",Magenta:"#EC008C",Mahogany:"#A9341F",Maroon:"#AF3235",Melon:"#F89E7B",MidnightBlue:"#006795",Mulberry:"#A93C93",NavyBlue:"#006EB8",OliveGreen:"#3C8031",Orange:"#F58137",OrangeRed:"#ED135A",Orchid:"#AF72B0",Peach:"#F7965A",Periwinkle:"#7977B8",PineGreen:"#008B72",Plum:"#92268F",ProcessBlue:"#00B0F0",Purple:"#99479B",RawSienna:"#974006",Red:"#ED1B23",RedOrange:"#F26035",RedViolet:"#A1246B",Rhodamine:"#EF559F",RoyalBlue:"#0071BC",RoyalPurple:"#613F99",RubineRed:"#ED017D",Salmon:"#F69289",SeaGreen:"#3FBC9D",Sepia:"#671800",SkyBlue:"#46C5DD",SpringGreen:"#C6DC67",Tan:"#DA9D76",TealBlue:"#00AEB3",Thistle:"#D883B7",Turquoise:"#00B4CE",Violet:"#58429B",VioletRed:"#EF58A0",White:"#FFFFFF",WildStrawberry:"#EE2967",Yellow:"#FFF200",YellowGreen:"#98CC70",YellowOrange:"#FAA21A"};function _t(a){var y,b,E,te,oe,ue;const Ae=a.split("!");let Ee,Ne,Ge,gt=255,$t=255,kn=255,rr=-1;const gi=Ae.length>0&&Ae[0].startsWith("-");gi&&(Ae[0]=Ae[0].slice(1));for(let no=0;no=0&&(gt=(1-rr)*gt+rr*Ee,$t=(1-rr)*$t+rr*Ne,kn=(1-rr)*kn+rr*Ge,rr=-1),no+1=0&&(gt=rr*gt+(1-rr)*Ee,$t=rr*$t+(1-rr)*Ne,kn=rr*kn+(1-rr)*Ge),gi&&(gt=255-gt,$t=255-$t,kn=255-kn),"#"+("00"+Math.round(gt).toString(16)).slice(-2)+("00"+Math.round($t).toString(16)).slice(-2)+("00"+Math.round(kn).toString(16)).slice(-2)}function We(a){var y,b;return a=a.trim(),(b=(y=gn[a.toLowerCase()])!=null?y:gn[rn[a]])!=null?b:_t(a)}function Rt(a){if(!a||a[0]!=="#")return;a=a.slice(1);let y;return a.length<=4?(y={r:parseInt(a[0]+a[0],16),g:parseInt(a[1]+a[1],16),b:parseInt(a[2]+a[2],16)},a.length===4&&(y.a=parseInt(a[3]+a[3],16)/255)):(y={r:parseInt(a[0]+a[1],16),g:parseInt(a[2]+a[3],16),b:parseInt(a[4]+a[5],16)},a.length===8&&(y.a=parseInt(a[6]+a[7],16)/255)),y&&y.a===void 0&&(y.a=1),y}function lt(a,y,b){return b<0&&(b+=6),b>=6&&(b-=6),b<1?(y-a)*b+a:b<3?y:b<4?(y-a)*(4-b)+a:a}function dn(a){let[y,b,E]=[a.h,a.s,a.l];y=(y+360)%360/60,E=Math.max(0,Math.min(E,1)),b=Math.max(0,Math.min(b,1));const te=E<=.5?E*(b+1):E+b-E*b,oe=E*2-te;return{r:Math.round(255*lt(oe,te,y+2)),g:Math.round(255*lt(oe,te,y)),b:Math.round(255*lt(oe,te,y-2))}}function ln(a){return a<0?0:a>255?255:Math.round(a)}function tn(a){const{r:y,g:b,b:E}=a;let te=((1<<24)+(ln(y)<<16)+(ln(b)<<8)+ln(E)).toString(16).slice(1);return te[0]===te[1]&&te[2]===te[3]&&te[4]===te[5]&&te[6]===te[7]&&(te=te[0]+te[2]+te[4]),"#"+te}function lr(a){let{r:y,g:b,b:E}=a;y=y/255,b=b/255,E=E/255;const te=Math.min(y,b,E),oe=Math.max(y,b,E),ue=oe-te;let Ae,Ee;oe===te?Ae=0:y===oe?Ae=(b-E)/ue:b===oe?Ae=2+(E-y)/ue:E===oe&&(Ae=4+(y-b)/ue),Ae=Math.min(Ae*60,360),Ae<0&&(Ae+=360);const Ne=(te+oe)/2;return oe===te?Ee=0:Ne<=.5?Ee=ue/(oe+te):Ee=ue/(2-oe-te),{h:Ae,s:Ee,l:Ne}}function Dr(a){let y=Rt(a);if(!y)return a;let{h:b,s:E,l:te}=lr(y);return E+=.1,te-=.1,tn(dn({h:b,s:E,l:te}))}var ft={60:"\\lt",62:"\\gt",111:"o",38:"\\&",123:"\\lbrace",125:"\\rbrace",91:"\\lbrack",93:"\\rbrack",58:"\\colon",160:"~",172:"\\neg",183:"\\cdot",188:"\\frac{1}{4}",189:"\\frac{1}{2}",190:"\\frac{3}{4}",8304:"^{0}",8305:"^{i}",185:"^{1}",178:"^{2}",179:"^{3}",8224:"\\dagger",8225:"\\ddagger",8230:"\\ldots",8308:"^{4}",8309:"^{5}",8310:"^{6}",8311:"^{7}",8312:"^{8}",8313:"^{9}",8314:"^{+}",8315:"^{-}",8316:"^{=}",8319:"^{n}",8320:"_{0}",8321:"_{1}",8322:"_{2}",8323:"_{3}",8324:"_{4}",8325:"_{5}",8326:"_{6}",8327:"_{7}",8328:"_{8}",8329:"_{9}",8330:"_{+}",8331:"_{-}",8332:"_{=}",8336:"_{a}",8337:"_{e}",8338:"_{o}",8339:"_{x}",8242:"\\prime",39:"\\prime",8592:"\\gets",8594:"\\to",9651:"\\triangle",9661:"\\triangledown",8715:"\\owns",8727:"\\ast",8739:"\\vert",8741:"\\Vert",8743:"\\land",8744:"\\lor",8901:"\\cdot",8904:"\\bowtie",8800:"\\ne",8804:"\\le",8805:"\\ge",8869:"\\bot",10231:"\\biconditional",10232:"\\impliedby",10233:"\\implies",10234:"\\iff",8450:"\\mathbb{C}",8469:"\\mathbb{N}",8473:"\\mathbb{P}",8474:"\\mathbb{Q}",8477:"\\mathbb{R}",8484:"\\mathbb{Z}",8461:"\\mathbb{H}",8476:"\\Re",8465:"\\Im",42:"\\ast",11036:"\\square",9633:"\\square",8720:"\\coprod",8716:"\\not\\ni",9671:"\\diamond",8846:"\\uplus",8851:"\\sqcap",8852:"\\sqcup",8768:"\\wr",8750:"\\oint",8226:"\\textbullet",8722:"-",978:"\\Upsilon"},Le={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},Gt=[{start:119808,len:26,offset:65,style:"bold"},{start:119834,len:26,offset:97,style:"bold"},{start:119860,len:26,offset:65,style:"italic"},{start:119886,len:26,offset:97,style:"italic"},{start:119912,len:26,offset:65,style:"bolditalic"},{start:119938,len:26,offset:97,style:"bolditalic"},{start:119964,len:26,offset:65,variant:"script"},{start:119990,len:26,offset:97,variant:"script"},{start:120016,len:26,offset:65,variant:"script",style:"bold"},{start:120042,len:26,offset:97,variant:"script",style:"bold"},{start:120068,len:26,offset:65,variant:"fraktur"},{start:120094,len:26,offset:97,variant:"fraktur"},{start:120172,len:26,offset:65,variant:"fraktur",style:"bold"},{start:120198,len:26,offset:97,variant:"fraktur",style:"bold"},{start:120120,len:26,offset:65,variant:"double-struck"},{start:120146,len:26,offset:97,variant:"double-struck"},{start:120224,len:26,offset:65,variant:"sans-serif"},{start:120250,len:26,offset:97,variant:"sans-serif"},{start:120276,len:26,offset:65,variant:"sans-serif",style:"bold"},{start:120302,len:26,offset:97,variant:"sans-serif",style:"bold"},{start:120328,len:26,offset:65,variant:"sans-serif",style:"italic"},{start:120354,len:26,offset:97,variant:"sans-serif",style:"italic"},{start:120380,len:26,offset:65,variant:"sans-serif",style:"bolditalic"},{start:120406,len:26,offset:97,variant:"sans-serif",style:"bolditalic"},{start:120432,len:26,offset:65,variant:"monospace"},{start:120458,len:26,offset:97,variant:"monospace"},{start:120488,len:25,offset:913,style:"bold"},{start:120514,len:25,offset:945,style:"bold"},{start:120546,len:25,offset:913,style:"italic"},{start:120572,len:25,offset:945,style:"italic"},{start:120604,len:25,offset:913,style:"bolditalic"},{start:120630,len:25,offset:945,style:"bolditalic"},{start:120662,len:25,offset:913,variant:"sans-serif",style:"bold"},{start:120688,len:25,offset:945,variant:"sans-serif",style:"bold"},{start:120720,len:25,offset:913,variant:"sans-serif",style:"bolditalic"},{start:120746,len:25,offset:945,variant:"sans-serif",style:"bolditalic"},{start:120782,len:10,offset:48,variant:"main",style:"bold"},{start:120792,len:10,offset:48,variant:"double-struck"},{start:120803,len:10,offset:48,variant:"sans-serif"},{start:120812,len:10,offset:48,variant:"sans-serif",style:"bold"},{start:120822,len:10,offset:48,variant:"monospace"}];function Cr(a,y,b){if(!/[A-Za-z\d]/.test(a)||(b==="up"&&(b=void 0),!y&&!b))return a;const E=a.codePointAt(0);if(E===void 0)return a;for(const te of Gt)if((!y||te.variant===y)&&(!b||te.style===b)&&E>=te.offset&&E120831)&&(a<8448||a>8527))return{char:String.fromCodePoint(a)};for(const b in Le)if(Le[b]===a){a=(y=b.codePointAt(0))!=null?y:0;break}for(const b of Gt)if(a>=b.start&&a[]$&#^_%:'\u02DC".includes(E)){b+=E;continue}const te=(y=E.codePointAt(0))!=null?y:0;let oe=ft[te];if(oe)oe.startsWith("\\")?b+=oe+" ":b+=oe;else{const{char:ue,variant:Ae,style:Ee}=ur(te);switch(oe=ue,Ae){case"double-struck":oe=`\\mathbb{${oe}}`;break;case"fraktur":oe=`\\mathfrak{${oe}}`;break;case"script":oe=`\\mathscr{${oe}}`;break;case"sans-serif":oe=`\\mathsf{${oe}}`;break;case"monospace":oe=`\\mathtt{${oe}}`;break;case"calligraphic":oe=`\\mathcal{${oe}}`;break}switch(Ee){case"bold":oe=`\\mathbf{${oe}}`;break;case"italic":oe=`\\mathit{${oe}}`;break;case"bolditalic":oe=`\\mathbfit{${oe}}`;break}b+=oe}}return b}function Nt(a){return a?Array.isArray(a)?a:typeof a=="object"&&"group"in a?a.group:[]:[]}var hr={},ir=Se({},ft),sn={},An={},Cn={darr:"\\downarrow",dArr:"\\Downarrow",Darr:"\\Downarrow",lang:"\\langle",rang:"\\rangle",uarr:"\\uparrow",uArr:"\\Uparrow",Uarr:"\\Uparrow",N:"\\mathbb{N}",R:"\\mathbb{R}",Z:"\\mathbb{Z}",alef:"\\aleph",alefsym:"\\aleph",Alpha:"\\mathrm{A}",Beta:"\\mathrm{B}",bull:"\\bullet",Chi:"\\mathrm{X}",clubs:"\\clubsuit",cnums:"\\mathbb{C}",Complex:"\\mathbb{C}",Dagger:"\\ddagger",diamonds:"\\diamondsuit",empty:"\\emptyset",Epsilon:"\\mathrm{E}",Eta:"\\mathrm{H}",exist:"\\exists",harr:"\\leftrightarrow",hArr:"\\Leftrightarrow",Harr:"\\Leftrightarrow",hearts:"\\heartsuit",image:"\\Im",infin:"\\infty",Iota:"\\mathrm{I}",isin:"\\in",Kappa:"\\mathrm{K}",larr:"\\leftarrow",lArr:"\\Leftarrow",Larr:"\\Leftarrow",lrarr:"\\leftrightarrow",lrArr:"\\Leftrightarrow",Lrarr:"\\Leftrightarrow",Mu:"\\mathrm{M}",natnums:"\\mathbb{N}",Nu:"\\mathrm{N}",Omicron:"\\mathrm{O}",plusmn:"\\pm",rarr:"\\rightarrow",rArr:"\\Rightarrow",Rarr:"\\Rightarrow",real:"\\Re",reals:"\\mathbb{R}",Reals:"\\mathbb{R}",Rho:"\\mathrm{P}",sdot:"\\cdot",sect:"\\S",spades:"\\spadesuit",sub:"\\subset",sube:"\\subseteq",supe:"\\supseteq",Tau:"\\mathrm{T}",thetasym:"\\vartheta",weierp:"\\wp",Zeta:"\\mathrm{Z}"},Pn={varGamma:"\\mathit{\\Gamma}",varDelta:"\\mathit{\\Delta}",varTheta:"\\mathit{\\Theta}",varLambda:"\\mathit{\\Lambda}",varXi:"\\mathit{\\Xi}",varPi:"\\mathit{\\Pi}",varSigma:"\\mathit{\\Sigma}",varUpsilon:"\\mathit{\\Upsilon}",varPhi:"\\mathit{\\Phi}",varPsi:"\\mathit{\\Psi}",varOmega:"\\mathit{\\Omega}",pmod:{def:"\\quad(\\operatorname{mod}\\ #1)",args:1,expand:!1,captureSelection:!1},mod:{def:"\\quad\\operatorname{mod}\\,\\,#1",args:1,expand:!1},bmod:{def:"\\;\\mathbin{\\operatorname{mod }}",expand:!1}},Ln={bra:{def:"\\mathinner{\\langle{#1}|}",args:1,captureSelection:!1},ket:{def:"\\mathinner{|{#1}\\rangle}",args:1,captureSelection:!1},braket:{def:"\\mathinner{\\langle{#1}\\rangle}",args:1,captureSelection:!1},set:{def:"\\mathinner{\\lbrace #1 \\rbrace}",args:1,captureSelection:!1},Bra:{def:"\\left\\langle #1\\right|",args:1,captureSelection:!1},Ket:{def:"\\left|#1\\right\\rangle",args:1,captureSelection:!1},Braket:{def:"\\left\\langle{#1}\\right\\rangle",args:1,captureSelection:!1},Set:{def:"\\left\\lbrace #1 \\right\\rbrace",args:1,captureSelection:!1}},Te={iff:{primitive:!0,captureSelection:!0,def:"\\;\u27FA\\;"},nicefrac:"^{#1}\\!\\!/\\!_{#2}",phase:{def:"\\enclose{phasorangle}{#1}",args:1,captureSelection:!1},rd:"\\mathrm{d}",rD:"\\mathrm{D}",doubleStruckCapitalN:"\\mathbb{N}",doubleStruckCapitalR:"\\mathbb{R}",doubleStruckCapitalQ:"\\mathbb{Q}",doubleStruckCapitalZ:"\\mathbb{Z}",doubleStruckCapitalP:"\\mathbb{P}",scriptCapitalE:"\\mathscr{E}",scriptCapitalH:"\\mathscr{H}",scriptCapitalL:"\\mathscr{L}",gothicCapitalC:"\\mathfrak{C}",gothicCapitalH:"\\mathfrak{H}",gothicCapitalI:"\\mathfrak{I}",gothicCapitalR:"\\mathfrak{R}",imaginaryI:"\\mathrm{i}",imaginaryJ:"\\mathrm{j}",exponentialE:"\\mathrm{e}",differentialD:"\\mathrm{d}",capitalDifferentialD:"\\mathrm{D}",mathstrut:{def:"\\vphantom{(}",primitive:!0},angl:"\\enclose{actuarial}{#1}",angln:"\\enclose{actuarial}{n}",anglr:"\\enclose{actuarial}{r}",anglk:"\\enclose{actuarial}{k}",mathtools:{primitive:!0,package:{ordinarycolon:":",vcentcolon:"\\mathrel{\\mathop\\ordinarycolon}",dblcolon:'{\\mathop{\\char"2237}}',coloneqq:'{\\mathop{\\char"2254}}',Coloneqq:'{\\mathop{\\char"2237\\char"3D}}',coloneq:'{\\mathop{\\char"3A\\char"2212}}',Coloneq:'{\\mathop{\\char"2237\\char"2212}}',eqqcolon:'{\\mathop{\\char"2255}}',Eqqcolon:'{\\mathop{\\char"3D\\char"2237}}',eqcolon:'{\\mathop{\\char"2239}}',Eqcolon:'{\\mathop{\\char"2212\\char"2237}}',colonapprox:'{\\mathop{\\char"003A\\char"2248}}',Colonapprox:'{\\mathop{\\char"2237\\char"2248}}',colonsim:'{\\mathop{\\char"3A\\char"223C}}',Colonsim:'{\\mathop{\\char"2237\\char"223C}}',colondash:"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}",Colondash:"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}",dashcolon:"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Dashcolon:"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}"}},ratio:"\\vcentcolon",coloncolon:"\\dblcolon",colonequals:"\\coloneq",coloncolonequals:"\\Coloneq",equalscolon:"\\eqcolon",equalscoloncolon:"\\Eqcolon",colonminus:"\\colondash",coloncolonminus:"\\Colondash",minuscolon:"\\dashcolon",minuscoloncolon:"\\Dashcolon",coloncolonapprox:"\\Colonapprox",coloncolonsim:"\\Colonsim",simcolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Simcolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",simcoloncolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",approxcolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Approxcolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",approxcoloncolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",notni:"\\mathrel{\\char`\u220C}",limsup:"\\operatorname*{lim\\,sup}",liminf:"\\operatorname*{lim\\,inf}",injlim:"\\operatorname*{inj\\,lim}",projlim:"\\operatorname*{proj\\,lim}",varlimsup:"\\operatorname*{\\overline{lim}}",varliminf:"\\operatorname*{\\underline{lim}}",varinjlim:"\\operatorname*{\\underrightarrow{lim}}",varprojlim:"\\operatorname*{\\underleftarrow{lim}}",argmin:"\\operatorname*{arg\\,min}",argmax:"\\operatorname*{arg\\,max}",plim:"\\mathop{\\operatorname{plim}}\\limits",tripledash:{def:"\\vphantom{-}\\raise{4mu}{\\mkern1.5mu\\rule{2mu}{1.5mu}\\mkern{2.25mu}\\rule{2mu}{1.5mu}\\mkern{2.25mu}\\rule{2mu}{1.5mu}\\mkern{2mu}}",expand:!0},"braket.sty":{package:Ln},"amsmath.sty":{package:Pn,primitive:!0},"texvc.sty":{package:Cn,primitive:!1}},ve={" ":32,"\\!":33,"\\#":35,"\\$":36,"\\%":37,"\\&":38,"-":45,"\\textunderscore":95,"\\euro":8364,"\\maltese":10016,"\\{":123,"\\}":125,"\\textbraceleft":123,"\\textbraceright":125,"\\lbrace":123,"\\rbrace":125,"\\lbrack":91,"\\rbrack":93,"\\nobreakspace":160,"\\ldots":8230,"\\textellipsis":8230,"\\backslash":92,"`":8216,"'":8217,"``":8220,"''":8221,"\\degree":176,"\\textasciicircum":94,"\\textasciitilde":126,"\\textasteriskcentered":42,"\\textbackslash":92,"\\textbullet":8226,"\\textdollar":36,"\\textsterling":163,"\\textdagger":8224,"\\textdaggerdbl":8225,"\u2013":8211,"\u2014":8212,"\u2018":8216,"\u2019":8217,"\u201C":8220,"\u201D":8221,'"':8221,"\\ss":223,"\\ae":230,"\\oe":339,"\\AE":198,"\\OE":338,"\\O":216,"\\i":305,"\\j":567,"\\aa":229,"\\AA":197},he=/[\w!@*()-=+{}\[\]\\';:?/.,~<>`|$%#&^" ]/,we,Re;jt()?(we=new RegExp("\\p{Letter}","u"),Re=new RegExp("[0-9\\p{Letter}]","u")):(we=/[a-zA-ZаАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяĄąĆćĘꣳŃńÓóŚśŹźŻżàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒößÖẞìíòúÌÍÒÚáñÁÑ]/,Re=/[\da-zA-ZаАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяĄąĆćĘꣳŃńÓóŚśŹźŻżàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒößÖẞìíòúÌÍÒÚáñÁÑ]/);function fe(a,y,b="mord",E){y!==void 0&&(hr[a]={definitionType:"symbol",type:b,variant:E,codepoint:y},ir[y]||(ir[y]=a))}function wt(a,y,b){if(typeof a=="string"){for(let E=0;E{var Ee,Ne;return ue.frequency===Ae.frequency?ue.match.length===Ae.match.length?ue.matchue.match)}function On(a){let y="auto";const b=a.match(/:([^=]+)/);return b&&(y=b[1].trim()),y}function yn(a){if(!a)return[];const y=[];let b=a.split("]");if(b[0].startsWith("[")){y.push({isOptional:!0,type:On(b[0].slice(1))});for(let E=1;E<=b.length;E++)y.push(...yn(b[E]))}else if(b=a.split("}"),b[0].startsWith("{")){y.push({isOptional:!1,type:On(b[0].slice(1))});for(let E=1;E<=b.length;E++)y.push(...yn(b[E]))}return y}function Qt(a){if(!a)return"";let y="",b=!0;for(const E of a)typeof E.value=="string"?y+=E.value:b=!1;return b?y:""}function pr(a,y){typeof a=="string"&&(a=[a]);const b={tabular:!1,params:[],createAtom:y};for(const E of a)An[E]=b}function Vr(a,y,b){typeof a=="string"&&(a=[a]);const te={tabular:!0,params:yn(y),createAtom:b};for(const oe of a)An[oe]=te}function vn(a,y,b){var E,te;b||(b={});const oe={definitionType:"function",params:yn(y),ifMode:b.ifMode,isFunction:(E=b.isFunction)!=null?E:!1,applyMode:b.applyMode,infix:(te=b.infix)!=null?te:!1,parse:b.parse,createAtom:b.createAtom,applyStyle:b.applyStyle,serialize:b.serialize,render:b.render};if(typeof a=="string")sn["\\"+a]=oe;else for(const ue of a)sn["\\"+ue]=oe}var dr;function ei(a){return dr||(dr=Tt(Te)),a?Tt(Se(Se({},dr),a)):dr}function Ht(a,y){var b,E,te,oe;if(typeof a=="string"){let ue=0;const Ae=a;return/(^|[^\\])#1/.test(Ae)&&(ue=1),/(^|[^\\])#2/.test(Ae)&&(ue=2),/(^|[^\\])#3/.test(Ae)&&(ue=3),/(^|[^\\])#4/.test(Ae)&&(ue=4),/(^|[^\\])#5/.test(Ae)&&(ue=5),/(^|[^\\])#6/.test(Ae)&&(ue=6),/(^|[^\\])#7/.test(Ae)&&(ue=7),/(^|[^\\])#8/.test(Ae)&&(ue=8),/(^|[^\\])#9/.test(Ae)&&(ue=9),{expand:(b=y==null?void 0:y.expand)!=null?b:!0,captureSelection:(E=y==null?void 0:y.captureSelection)!=null?E:!0,args:ue,def:Ae}}return Se({expand:(te=y==null?void 0:y.expand)!=null?te:!0,captureSelection:(oe=y==null?void 0:y.captureSelection)!=null?oe:!0,args:0},a)}function Tt(a){if(!a)return{};const y={};for(const b of Object.keys(a)){const E=a[b];if(E==null)delete y[b];else if(typeof E=="object"&&"package"in E)for(const te of Object.keys(E.package))y[te]=Ht(E.package[te],{expand:!E.primitive,captureSelection:E.captureSelection});else y[b]=Ht(E)}return y}function qt(a,y="math"){if(!a||a.length===0)return null;let b=null;if(a.startsWith("\\")){if(b=sn[a],b)return!b.ifMode||b.ifMode===y?b:null;y==="math"?b=hr[a]:ve[a]&&(b={definitionType:"symbol",type:"mord",codepoint:ve[a]})}else if(y==="math"){if(b=hr[a],!b&&a.length===1){const E=nr("math",a.codePointAt(0));return E.startsWith("\\")?He(Se({},qt(E,"math")),{command:E}):null}}else ve[a]?b={definitionType:"symbol",type:"mord",codepoint:ve[a]}:y==="text"&&(b={definitionType:"symbol",type:"mord",codepoint:a.codePointAt(0)});return b!=null?b:null}function Un(a,y){if(!a.startsWith("\\"))return null;const b=a.slice(1);return y[b]}function nr(a,y){if(y===void 0)return"";if(a==="math"&&ir[y])return ir[y];if(a==="text"){const b=Object.keys(ve).find(E=>ve[E]===y);return b||String.fromCodePoint(y)}return String.fromCodePoint(y)}var Jr=[0,.68889,0,0,.72222],Ii=[0,.68889,0,0,.66667],ii=[0,.68889,0,0,.77778],ea=[0,.68889,0,0,.61111],vo=[.16667,.68889,0,0,.77778],Ha=[0,.68889,0,0,.55556],Hi=[0,0,0,0,.25],wi=[0,.825,0,0,2.33334],Zo=[0,.9,0,0,2.33334],yo=[0,.68889,0,0,.54028],Pa=[-.03598,.46402,0,0,.5],Na=[-.13313,.36687,0,0,1],Br=[.01354,.52239,0,0,1],Tn=[.01354,.52239,0,0,1.11111],Fr=[0,.54986,0,0,1],ki=[0,.69224,0,0,.5],Vt=[0,.43056,0,0,1],Vn=[.08198,.58198,0,0,.77778],wr=[.19444,.69224,0,0,.41667],Yn=[.1808,.675,0,0,1],Pr=[.19444,.69224,0,0,.83334],br=[.13667,.63667,0,0,1],kr=[-.064,.437,0,0,1.334],vi=[.08167,.58167,0,0,.77778],at=[0,.69224,0,0,.72222],De=[0,.69224,0,0,.66667],nt=[-.13313,.36687,0,0,.77778],Ot=[.06062,.54986,0,0,.77778],xn=[0,.69224,0,0,.77778],wn=[.25583,.75583,0,0,.77778],gr=[.25142,.75726,0,0,.77778],Ar=[.20576,.70576,0,0,.77778],fr=[.30274,.79383,0,0,.77778],vr=[.22958,.72958,0,0,.77778],qr=[.1808,.675,0,0,.77778],Xi=[.13667,.63667,0,0,.77778],Nr=[.13597,.63597,0,0,.77778],Gn=[.03517,.54986,0,0,.77778],Fn=[0,.675,0,0,.77778],Kt=[.19444,.69224,0,0,.61111],Mn=[0,.54986,0,0,.76042],zn=[0,.54986,0,0,.66667],Jn=[.0391,.5391,0,0,.77778],xr=[.03517,.54986,0,0,1.33334],$n=[.38569,.88569,0,0,.77778],jr=[.23222,.74111,0,0,.77778],pn=[.19444,.69224,0,0,.77778],ni=[0,.37788,0,0,.5],Ai=[0,.54986,0,0,.72222],Ni=[0,.69224,0,0,.83334],bi=[.11111,.69224,0,0,.66667],Ji=[.26167,.75726,0,0,.77778],fa=[.48256,.98256,0,0,.77778],oa=[.28481,.79383,0,0,.77778],ji=[.08167,.58167,0,0,.22222],Qa=[.08167,.58167,0,0,.38889],Fa=[0,.43056,.04028,0,.66667],qo=[.41951,.91951,0,0,.77778],ma=[.24982,.74947,0,0,.38865],_o=[.08319,.58283,0,0,.75623],Ci=[0,.10803,0,0,.27764],Qo=[0,.47534,0,0,.50181],ol=[.18906,.47534,0,0,.50181],mo=[0,.69141,0,0,.50181],Oa=[.24982,.74947,0,0,.27764],Go=[0,.69141,0,0,.21471],_a=[.25,.75,0,0,.44722],Ga=[0,.64444,0,0,.575],ll=[.08556,.58556,0,0,.89444],tl=[0,.69444,0,0,.89444],Jo=[0,.68611,0,0,.9],Zr=[0,.68611,0,0,.86944],Li=[.25,.75,0,0,.575],xo=[.25,.75,0,0,.31944],jo=[0,.69444,0,0,.63889],nl=[0,.69444,0,0,.31944],Ul=[0,.44444,0,0,.63889],wl=[0,.44444,0,0,.51111],ra=[0,.69444,0,0,.575],Sa=[.13333,.63333,0,0,.89444],Fl=[0,.44444,0,0,.31944],pl=[0,.69444,0,0,.86944],su=[0,.68611,0,0,.69166],Qs=[0,.68611,0,0,.83055],Au=[0,.68611,0,0,.89444],_s=[0,.69444,0,0,.60278],Ls=[.19444,.69444,0,0,.51111],$s=[0,.69444,0,0,.83055],Ws=[-.10889,.39111,0,0,1.14999],zu=[.19444,.69444,0,0,.575],xu=[.19444,.69444,0,0,1.14999],$a=[.19444,.69444,0,0,.70277],Za=[.05556,.75,0,0,.575],Ma=[0,.68611,0,0,.95833],an=[.08556,.58556,0,0,.76666],Vo=[-.02639,.47361,0,0,.575],Sl=[0,.44444,0,0,.89444],ds=[0,.55556,0,0,.76666],bs=[-.10889,.39111,0,0,.89444],gs=[.00222,.50222,0,0,.89444],Bs=[.19667,.69667,0,0,.89444],Su=[.08556,.58556,0,0,1.14999],Vs=[0,.69444,0,0,.70277],Zu=[-.02778,.47222,0,0,.575],Io=[.25,.75,0,0,.51111],os=[-.13889,.36111,0,0,1.14999],gu=[.19444,.69444,0,0,1.02222],Ho=[.12963,.69444,0,0,.89444],sl=[.19444,.69444,0,0,.44722],ro=[0,.64444,.13167,0,.59111],Yt=[.19444,.64444,.13167,0,.59111],mr=[0,.68611,.17208,0,.8961],Hn=[.19444,.44444,.105,0,.53222],hi=[0,.44444,.085,0,.82666],ao=[0,.69444,.06709,0,.59111],Kn=[0,.69444,.12945,0,.35555],Cl=[0,.69444,0,0,.94888],na=[0,.69444,.11472,0,.59111],Di=[0,.68611,.10778,0,.88555],go=[0,.69444,.07939,0,.62055],Yl=[0,.69444,.12417,0,.30667],Zi=[0,.64444,.13556,0,.51111],Va=[.19444,.64444,.13556,0,.51111],ci=[0,.68333,.16389,0,.74333],rl=[.19444,.43056,.08847,0,.46],Ka=[0,.43056,.07514,0,.71555],ul=[0,.69444,.06646,0,.51111],ls=[0,.69444,0,0,.83129],Uo=[0,.69444,.1225,0,.51111],zl=[0,.68333,.09403,0,.76666],il=[0,.68333,.11111,0,.76666],Hl=[0,.69444,.06961,0,.51444],Ps=[0,.69444,0,0,.27778],ps=[.25,.75,0,0,.38889],wo=[0,.64444,0,0,.5],La=[0,.69444,0,0,.77778],Ca=[0,.68333,0,0,.75],ql=[0,.68333,0,0,.77778],ru=[0,.68333,0,0,.68056],Mu=[0,.68333,0,0,.72222],Fo=[.25,.75,0,0,.5],fs=[.25,.75,0,0,.27778],Kl=[0,.69444,0,0,.5],Fs=[0,.69444,0,0,.55556],eo=[0,.43056,0,0,.44445],Bo=[0,.43056,0,0,.5],As=[.19444,.43056,0,0,.55556],Ku=[0,.43056,0,0,.55556],Gr=[.08333,.58333,0,0,.77778],Ds=[0,.43056,0,0,.27778],Ql=[0,.66786,0,0,.27778],wu=[0,.69444,0,0,.75],hu=[0,.66786,0,0,.5],Wi=[0,.68333,0,0,.625],Bl=[.19444,.69444,0,0,.44445],io=[0,.69444,0,0,.72222],Ro=[.19444,.69444,0,0,.5],hs=[.19444,.69444,0,0,1],xs=[.011,.511,0,0,1.126],vl=[.19444,.69444,0,0,.61111],jl=[.05556,.75,0,0,.5],ts=[0,.68333,0,0,.83334],Ss=[.0391,.5391,0,0,.66667],ks=[-.05555,.44445,0,0,.5],vs=[0,.43056,0,0,.77778],Hu=[0,.55556,0,0,.66667],$u=[-.03625,.46375,0,0,.77778],Wu=[-.01688,.48312,0,0,.77778],ss=[.0391,.5391,0,0,1],to=[0,.69444,0,0,.61111],Al=[-.03472,.46528,0,0,.5],pu=[.25,.75,0,0,.44445],kl=[-.14236,.35764,0,0,1],Gs=[.244,.744,0,0,.412],ri=[.19444,.69444,0,0,.88889],sa=[.12963,.69444,0,0,.77778],Zl=[.19444,.69444,0,0,.38889],$l=[.011,.511,0,0,1.638],ys=[.19444,.69444,0,0,0],Pe=[0,.44444,0,0,.575],Xe=[.19444,.44444,0,0,.575],Ze=[0,.68611,0,0,.75555],kt=[0,.69444,0,0,.66759],zt=[0,.68611,0,0,.80555],cr=[0,.68611,.08229,0,.98229],sr=[0,.68611,0,0,.76666],Yr=[0,.44444,0,0,.58472],Wr=[.19444,.44444,0,0,.6118],di=[.19444,.43056,0,0,.5],ha=[0,.68333,.02778,.08334,.76278],Ei=[0,.68333,.08125,.05556,.83125],Bi=[0,.43056,0,.05556,.48472],Oi=[.19444,.43056,0,.08334,.51702],Yi=[.25,.75,0,0,.42778],Er=[0,.69444,0,0,.55],_r=[0,.69444,0,0,.73334],Qi=[0,.69444,0,0,.79445],Po=[0,.69444,0,0,.51945],Ua=[0,.69444,0,0,.70278],Do=[0,.69444,0,0,.76389],ko=[.25,.75,0,0,.34306],co=[0,.69444,0,0,.56111],oo=[0,.69444,0,0,.25556],ns=[.19444,.45833,0,0,.56111],yl=[0,.45833,0,0,.56111],Xr=[0,.69444,0,0,.30556],us=[0,.69444,0,0,.58056],Ms=[0,.69444,0,0,.67223],Us=[0,.69444,0,0,.85556],Ks=[0,.69444,0,0,.55834],rs=[0,.65556,.11156,0,.5],ml=[0,.69444,.08094,0,.70834],is=[.17014,0,0,0,.44445],ws=[0,.69444,.0799,0,.5],iu=[0,.69444,0,0,.73752],Ts=[0,.69444,.09205,0,.5],Is=[0,.69444,.09031,0,.77778],Cu=[0,.69444,.07816,0,.27778],Nu=[0,.69444,.00316,0,.5],Ve=[.19444,.69444,0,0,.83334],_e=[.05556,.75,0,0,.83334],Pt=[0,.75,0,0,.5],Wt=[.125,.08333,0,0,.27778],fn=[0,.08333,0,0,.27778],un=[0,.65556,0,0,.5],qn=[0,.69444,0,0,.47222],_n=[0,.69444,0,0,.66667],Xn=[0,.69444,0,0,.59722],Lr=[0,.69444,0,0,.54167],Sr=[0,.69444,0,0,.70834],Ir=[.25,.75,0,0,.28889],mi=[0,.69444,0,0,.51667],pi=[0,.44444,0,0,.44445],xi=[.19444,.44444,0,0,.51667],Ri=[0,.44444,0,0,.38333],Fi=[0,.44444,0,0,.51667],ya=[0,.69444,0,0,.83334],Kr=[.35001,.85,0,0,.45834],ta=[.35001,.85,0,0,.57778],qa=[.35001,.85,0,0,.41667],Xo=[.35001,.85,0,0,.58334],Co=[0,.72222,0,0,.55556],Yo=[1e-5,.6,0,0,.66667],bo=[1e-5,.6,0,0,.77778],Ta=[.25001,.75,0,0,.94445],So=[.306,.805,.19445,0,.47222],Ra=[.30612,.805,.19445,0,.47222],Gi=[.25001,.75,0,0,.83334],ba=[.35001,.85,0,0,.47222],Ko=[.25001,.75,0,0,1.11111],Rl=[.65002,1.15,0,0,.59722],Dn=[.65002,1.15,0,0,.81111],Or=[.65002,1.15,0,0,.47222],ae=[.65002,1.15,0,0,.66667],de=[0,.75,0,0,1],pe=[.55001,1.05,0,0,1.27778],xe=[.862,1.36,.44445,0,.55556],ke=[.86225,1.36,.44445,0,.55556],ze=[.55001,1.05,0,0,1.11111],Ye=[.65002,1.15,0,0,.52778],Ke=[.65002,1.15,0,0,.61111],ct=[.55001,1.05,0,0,1.51112],rt=[.95003,1.45,0,0,.73611],Ct=[.95003,1.45,0,0,1.04445],Xt=[.95003,1.45,0,0,.52778],Bt=[.95003,1.45,0,0,.75],Sn=[0,.75,0,0,1.44445],Zt=[.95003,1.45,0,0,.58334],nn=[1.25003,1.75,0,0,.79167],cn=[1.25003,1.75,0,0,1.27778],on=[1.25003,1.75,0,0,.58334],bn=[1.25003,1.75,0,0,.80556],Mr=[0,.825,0,0,1.8889],ti=[1.25003,1.75,0,0,.63889],xa=[.64502,1.155,0,0,.875],ui=[1e-5,.6,0,0,.875],ka=[-99e-5,.601,0,0,.66667],Xa=[.64502,1.155,0,0,.66667],ua=[1e-5,.9,0,0,.88889],Tr=[.65002,1.15,0,0,.88889],yi=[.90001,0,0,0,.88889],Ya=[-.00499,.605,0,0,1.05556],Qn=[0,.12,0,0,.45],jn=[0,.61111,0,0,.525],ai=[.08333,.69444,0,0,.525],Si=[-.08056,.53055,0,0,.525],ia=[-.05556,.55556,0,0,.525],oi=[0,.43056,0,0,.525],zi=[.22222,.43056,0,0,.525],so=[0,0,0,0,.525],Oo={"AMS-Regular":{32:Hi,65:Jr,66:Ii,67:Jr,68:Jr,69:Ii,70:ea,71:ii,72:ii,73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:ii,76:Ii,77:[0,.68889,0,0,.94445],78:Jr,79:vo,80:ea,81:vo,82:Jr,83:Ha,84:Ii,85:Jr,86:Jr,87:[0,.68889,0,0,1],88:Jr,89:Jr,90:Ii,107:Ha,160:Hi,165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:Ha,295:yo,710:wi,732:Zo,770:wi,771:Zo,989:vi,1008:Fa,8245:[0,.54986,0,0,.275],8463:yo,8487:Jr,8498:Ha,8502:Ii,8503:[0,.68889,0,0,.44445],8504:Ii,8513:[0,.68889,0,0,.63889],8592:Pa,8594:Pa,8602:Na,8603:Na,8606:Br,8608:Br,8610:Tn,8611:Tn,8619:Fr,8620:Fr,8621:[-.13313,.37788,0,0,1.38889],8622:Na,8624:ki,8625:ki,8630:Vt,8631:Vt,8634:Vn,8635:Vn,8638:wr,8639:wr,8642:wr,8643:wr,8644:Yn,8646:Yn,8647:Yn,8648:Pr,8649:Yn,8650:Pr,8651:Br,8652:Br,8653:Na,8654:Na,8655:Na,8666:br,8667:br,8669:[-.13313,.37788,0,0,1],8672:kr,8674:kr,8705:[0,.825,0,0,.5],8708:Ha,8709:vi,8717:[0,.43056,0,0,.42917],8722:Pa,8724:[.08198,.69224,0,0,.77778],8726:vi,8733:xn,8736:at,8737:at,8738:[.03517,.52239,0,0,.72222],8739:ji,8740:[.25142,.74111,0,0,.27778],8741:Qa,8742:[.25142,.74111,0,0,.5],8756:De,8757:De,8764:nt,8765:[-.13313,.37788,0,0,.77778],8769:nt,8770:$u,8774:fr,8776:Wu,8778:vi,8782:Ot,8783:Ot,8785:Vn,8786:Vn,8787:Vn,8790:xn,8791:vr,8796:[.08198,.91667,0,0,.77778],8806:wn,8807:wn,8808:gr,8809:gr,8812:[.25583,.75583,0,0,.5],8814:Ar,8815:Ar,8816:fr,8817:fr,8818:vr,8819:vr,8822:qr,8823:qr,8828:Xi,8829:Xi,8830:vr,8831:vr,8832:Ar,8833:Ar,8840:fr,8841:fr,8842:Nr,8843:Nr,8847:Gn,8848:Gn,8858:Vn,8859:Vn,8861:Vn,8862:Fn,8863:Fn,8864:Fn,8865:Fn,8872:[0,.69224,0,0,.61111],8873:at,8874:[0,.69224,0,0,.88889],8876:ea,8877:ea,8878:Jr,8879:Jr,8882:Gn,8883:Gn,8884:Xi,8885:Xi,8888:[0,.54986,0,0,1.11111],8890:As,8891:Kt,8892:Kt,8901:[0,.54986,0,0,.27778],8903:vi,8905:vi,8906:vi,8907:xn,8908:xn,8909:[-.03598,.46402,0,0,.77778],8910:Mn,8911:Mn,8912:Gn,8913:Gn,8914:zn,8915:zn,8916:De,8918:Jn,8919:Jn,8920:xr,8921:xr,8922:$n,8923:$n,8926:Xi,8927:Xi,8928:fr,8929:fr,8934:jr,8935:jr,8936:jr,8937:jr,8938:Ar,8939:Ar,8940:fr,8941:fr,8994:pn,8995:pn,9416:[.15559,.69224,0,0,.90222],9484:ki,9488:ki,9492:ni,9496:ni,9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:Fn,9633:Fn,9650:Ai,9651:Ai,9654:Gn,9660:Ai,9661:Ai,9664:Gn,9674:bi,9733:[.19444,.69224,0,0,.94445],10003:Ni,10016:Ni,10731:bi,10846:[.19444,.75583,0,0,.61111],10877:Xi,10878:Xi,10885:wn,10886:wn,10887:Nr,10888:Nr,10889:Ji,10890:Ji,10891:fa,10892:fa,10901:Xi,10902:Xi,10933:gr,10934:gr,10935:Ji,10936:Ji,10937:Ji,10938:Ji,10949:wn,10950:wn,10955:oa,10956:oa,57350:ji,57351:Qa,57352:vi,57353:Fa,57356:gr,57357:gr,57358:qo,57359:fr,57360:fr,57361:qo,57366:gr,57367:gr,57368:gr,57369:gr,57370:Nr,57371:Nr},"Caligraphic-Regular":{32:Hi,65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:Hi},"Fraktur-Regular":{32:Hi,33:[0,.69141,0,0,.29574],34:Go,38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:ma,41:ma,42:[0,.62119,0,0,.27764],43:_o,44:Ci,45:_o,46:Ci,47:[.24982,.74947,0,0,.50181],48:Qo,49:Qo,50:Qo,51:ol,52:ol,53:ol,54:mo,55:ol,56:mo,57:ol,58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:Oa,93:Oa,94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:Hi,8216:Go,8217:Go,58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:Hi,33:[0,.69444,0,0,.35],34:_s,35:[.19444,.69444,0,0,.95833],36:Za,37:[.05556,.75,0,0,.95833],38:tl,39:nl,40:_a,41:_a,42:[0,.75,0,0,.575],43:Sa,44:[.19444,.15556,0,0,.31944],45:Ri,46:[0,.15556,0,0,.31944],47:Li,48:Ga,49:Ga,50:Ga,51:Ga,52:Ga,53:Ga,54:Ga,55:Ga,56:Ga,57:Ga,58:Fl,59:[.19444,.44444,0,0,.31944],60:ll,61:bs,62:ll,63:[0,.69444,0,0,.54305],64:tl,65:Zr,66:[0,.68611,0,0,.81805],67:Qs,68:[0,.68611,0,0,.88194],69:Ze,70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:Jo,73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:su,77:[0,.68611,0,0,1.09166],78:Jo,79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:Zr,89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:xo,92:Li,93:xo,94:ra,95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:jo,99:wl,100:jo,101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:jo,105:nl,106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:nl,109:[0,.44444,0,0,.95833],110:Ul,111:Pe,112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:Ul,118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:wl,123:Li,124:xo,125:Li,126:[.35,.34444,0,0,.575],160:Hi,163:[0,.69444,0,0,.86853],168:ra,172:[0,.44444,0,0,.76666],176:pl,177:Sa,184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:Sa,216:[.04861,.73472,0,0,.89444],223:Xn,230:[0,.44444,0,0,.83055],247:Sa,248:[.09722,.54167,0,0,.575],305:Fl,338:[0,.68611,0,0,1.16944],339:Sl,567:[.19444,.44444,0,0,.35139],710:ra,711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:ra,715:ra,728:ra,729:nl,730:pl,732:ra,733:ra,915:su,916:Ma,920:Au,923:zt,926:sr,928:Jo,931:Qs,933:Au,934:Qs,936:Au,937:Qs,8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:nl,8217:nl,8220:_s,8221:_s,8224:Ls,8225:Ls,8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:kt,8465:$s,8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:$s,8501:Vs,8592:Ws,8593:zu,8594:Ws,8595:zu,8596:Ws,8597:Li,8598:xu,8599:xu,8600:xu,8601:xu,8636:Ws,8637:Ws,8640:Ws,8641:Ws,8656:Ws,8657:$a,8658:Ws,8659:$a,8660:Ws,8661:[.25,.75,0,0,.70277],8704:jo,8706:[0,.69444,.06389,0,.62847],8707:jo,8709:Za,8711:Ma,8712:an,8715:an,8722:Sa,8723:Sa,8725:Li,8726:Li,8727:Zu,8728:Vo,8729:Vo,8730:[.18,.82,0,0,.95833],8733:Sl,8734:[0,.44444,0,0,1.14999],8736:at,8739:xo,8741:Li,8743:ds,8744:ds,8745:ds,8746:ds,8747:[.19444,.69444,.12778,0,.56875],8764:bs,8768:[.19444,.69444,0,0,.31944],8771:gs,8776:[.02444,.52444,0,0,.89444],8781:gs,8801:gs,8804:Bs,8805:Bs,8810:Su,8811:Su,8826:ll,8827:ll,8834:ll,8835:ll,8838:Bs,8839:Bs,8846:ds,8849:Bs,8850:Bs,8851:ds,8852:ds,8853:Sa,8854:Sa,8855:Sa,8856:Sa,8857:Sa,8866:Vs,8867:Vs,8868:tl,8869:tl,8900:Vo,8901:[-.02639,.47361,0,0,.31944],8902:Zu,8968:Io,8969:Io,8970:Io,8971:Io,8994:os,8995:os,9651:gu,9657:Zu,9661:gu,9667:Zu,9711:xu,9824:Ho,9825:Ho,9826:Ho,9827:Ho,9837:[0,.75,0,0,.44722],9838:sl,9839:sl,10216:_a,10217:_a,10815:Jo,10927:Bs,10928:Bs,57376:ys},"Main-BoldItalic":{32:Hi,33:[0,.69444,.11417,0,.38611],34:go,35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:Kn,40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:ro,49:ro,50:ro,51:ro,52:Yt,53:ro,54:ro,55:Yt,56:ro,57:ro,58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:na,64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:mr,73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:mr,79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:ao,95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:Hn,104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:Hn,114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:Hi,168:[0,.69444,.11473,0,.59111],176:Cl,184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:hi,248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:hi,567:[.19444,.44444,.04611,0,.385],710:ao,711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:Kn,730:Cl,732:na,733:na,915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:mr,931:[0,.68611,.11431,0,.82666],933:Di,934:[0,.68611,.05632,0,.82666],936:Di,937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:Kn,8217:Kn,8220:[0,.69444,.16772,0,.62055],8221:go},"Main-Italic":{32:Hi,33:Yl,34:Hl,35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:Yl,40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:Zi,49:Zi,50:Zi,51:Zi,52:Va,53:Zi,54:Zi,55:Va,56:Zi,57:Zi,58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:Uo,64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:ci,73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:ci,79:zl,80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:ci,86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:ul,95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:rl,104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:rl,114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:Hi,168:[0,.66786,.10474,0,.51111],176:ls,184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:Ka,248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:Ka,710:ul,711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:ls,732:[0,.66786,.11585,0,.51111],733:Uo,915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:zl,923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:ci,931:[0,.68333,.12028,0,.71555],933:il,934:[0,.68333,.05986,0,.71555],936:il,937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:Yl,8217:Yl,8220:[0,.69444,.1685,0,.51444],8221:Hl,8463:yo},"Main-Regular":{32:Hi,33:Ps,34:Kl,35:Ve,36:jl,37:_e,38:La,39:Ps,40:ps,41:ps,42:Pt,43:Gr,44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:Fo,48:wo,49:wo,50:wo,51:wo,52:wo,53:wo,54:wo,55:wo,56:wo,57:wo,58:Ds,59:[.19444,.43056,0,0,.27778],60:Jn,61:nt,62:Jn,63:qn,64:La,65:Ca,66:[0,.68333,0,0,.70834],67:Mu,68:[0,.68333,0,0,.76389],69:ru,70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:Ca,73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:ql,76:Wi,77:[0,.68333,0,0,.91667],78:Ca,79:ql,80:ru,81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:Mu,85:Ca,86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:Ca,89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:fs,92:Fo,93:fs,94:Kl,95:[.31,.12056,.02778,0,.5],97:Bo,98:Fs,99:eo,100:Fs,101:eo,102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:Fs,105:Ql,106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:Ps,109:[0,.43056,0,0,.83334],110:Ku,111:Bo,112:As,113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:Ku,118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:eo,123:Fo,124:fs,125:Fo,126:[.35,.31786,0,0,.5],160:Hi,163:[0,.69444,0,0,.76909],167:Bl,168:hu,172:[0,.43056,0,0,.66667],176:wu,177:Gr,182:vl,184:is,198:[0,.68333,0,0,.90278],215:Gr,216:[.04861,.73194,0,0,.77778],223:Kl,230:[0,.43056,0,0,.72222],247:Gr,248:[.09722,.52778,0,0,.5],305:Ds,338:[0,.68333,0,0,1.01389],339:vs,567:[.19444,.43056,0,0,.30556],710:Kl,711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:Kl,715:Kl,728:Kl,729:Ql,730:wu,732:hu,733:Kl,915:Wi,916:ts,920:ql,923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:Ca,931:Mu,933:ql,934:Mu,936:ql,937:Mu,8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:Ps,8217:Ps,8220:Kl,8221:Kl,8224:Bl,8225:Bl,8230:[0,.12,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:yo,8465:io,8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:io,8501:to,8592:Na,8593:Ro,8594:Na,8595:Ro,8596:Na,8597:Fo,8598:hs,8599:hs,8600:hs,8601:hs,8614:[.011,.511,0,0,1],8617:xs,8618:xs,8636:Na,8637:Na,8640:Na,8641:Na,8652:[.011,.671,0,0,1],8656:Na,8657:vl,8658:Na,8659:vl,8660:Na,8661:[.25,.75,0,0,.61111],8704:Fs,8706:[0,.69444,.05556,.08334,.5309],8707:Fs,8709:jl,8711:ts,8712:Ss,8715:Ss,8722:Gr,8723:Gr,8725:Fo,8726:Fo,8727:Al,8728:ks,8729:ks,8730:[.2,.8,0,0,.83334],8733:vs,8734:Vt,8736:at,8739:fs,8741:Fo,8743:Hu,8744:Hu,8745:Hu,8746:Hu,8747:[.19444,.69444,.11111,0,.41667],8764:nt,8768:[.19444,.69444,0,0,.27778],8771:$u,8773:[-.022,.589,0,0,1],8776:Wu,8781:$u,8784:[-.133,.67,0,0,.778],8801:$u,8804:Nr,8805:Nr,8810:ss,8811:ss,8826:Jn,8827:Jn,8834:Jn,8835:Jn,8838:Nr,8839:Nr,8846:Hu,8849:Nr,8850:Nr,8851:Hu,8852:Hu,8853:Gr,8854:Gr,8855:Gr,8856:Gr,8857:Gr,8866:to,8867:to,8868:La,8869:La,8872:[.249,.75,0,0,.867],8900:ks,8901:[-.05555,.44445,0,0,.27778],8902:Al,8904:[.005,.505,0,0,.9],8942:[.03,.9,0,0,.278],8943:[-.19,.31,0,0,1.172],8945:[-.1,.82,0,0,1.282],8968:pu,8969:pu,8970:pu,8971:pu,8994:kl,8995:kl,9136:Gs,9137:Gs,9651:ri,9657:Al,9661:ri,9667:Al,9711:hs,9824:sa,9825:sa,9826:sa,9827:sa,9837:[0,.75,0,0,.38889],9838:Zl,9839:Zl,10216:ps,10217:ps,10222:Gs,10223:Gs,10229:[.011,.511,0,0,1.609],10230:$l,10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:$l,10815:Ca,10927:Nr,10928:Nr,57376:ys},"Math-BoldItalic":{32:Hi,48:Pe,49:Pe,50:Pe,51:Xe,52:Xe,53:Xe,54:Ga,55:Xe,56:Ga,57:Xe,65:Zr,66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:cr,73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:Ze,77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:kt,105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:Yr,112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:Hi,915:[0,.68611,.15972,0,.65694],916:Ma,920:[0,.68611,.03194,0,.86722],923:zt,926:[0,.68611,.07458,0,.84125],928:cr,931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:sr,936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:Yr,960:[0,.44444,.03704,0,.68241],961:Wr,962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:Wr,1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:Hi,48:Bo,49:Bo,50:Bo,51:di,52:di,53:di,54:wo,55:di,56:wo,57:di,65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:Ei,73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:ha,80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:Bi,112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:Hi,915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:ha,923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:Ei,931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:Bi,960:[0,.43056,.03588,0,.57003],961:Oi,962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:Oi,1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:Hi,33:[0,.69444,0,0,.36667],34:Ks,35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:Xr,40:Yi,41:Yi,42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:Er,49:Er,50:Er,51:Er,52:Er,53:Er,54:Er,55:Er,56:Er,57:Er,58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:Po,64:_r,65:_r,66:_r,67:Ua,68:Qi,69:[0,.69444,0,0,.64167],70:to,71:_r,72:Qi,73:[0,.69444,0,0,.33056],74:Po,75:Do,76:us,77:[0,.69444,0,0,.97778],78:Qi,79:Qi,80:Ua,81:[.10556,.69444,0,0,.79445],82:Ua,83:to,84:_r,85:Do,86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:_r,89:[0,.69444,.0275,0,.73334],90:Ms,91:ko,93:ko,94:Er,95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:co,99:[0,.45833,0,0,.48889],100:co,101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:co,105:oo,106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:oo,109:[0,.45833,0,0,.86667],110:yl,111:[0,.45833,0,0,.55],112:ns,113:ns,114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:yl,118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:Hi,168:Er,176:_r,180:Er,184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:Er,711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:Er,729:Xr,730:_r,732:Er,733:Er,915:us,916:[0,.69444,0,0,.91667],920:Us,923:Ms,926:_r,928:Qi,931:Qi,933:Us,934:Qi,936:Us,937:Qi,8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:Xr,8217:Xr,8220:Ks,8221:Ks},"SansSerif-Italic":{32:Hi,33:[0,.69444,.05733,0,.31945],34:Nu,35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:Cu,40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:Wt,45:[0,.44444,.01946,0,.33333],46:fn,47:[.25,.75,.13164,0,.5],48:rs,49:rs,50:rs,51:rs,52:rs,53:rs,54:rs,55:rs,56:rs,57:rs,58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:_n,66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:ml,73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:Lr,77:[0,.69444,.08094,0,.875],78:ml,79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:ws,95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:Hi,168:[0,.67937,.06385,0,.5],176:iu,184:is,305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:ws,711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:Ts,715:Kl,728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:iu,732:[0,.67659,.08826,0,.5],733:Ts,915:[0,.69444,.13372,0,.54167],916:ya,920:[0,.69444,.07555,0,.77778],923:to,926:[0,.69444,.12816,0,.66667],928:ml,931:[0,.69444,.11983,0,.72222],933:Is,934:[0,.69444,.04603,0,.72222],936:Is,937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:Cu,8217:Cu,8220:[0,.69444,.14205,0,.5],8221:Nu},"SansSerif-Regular":{32:Hi,33:[0,.69444,0,0,.31945],34:Kl,35:Ve,36:jl,37:_e,38:[0,.69444,0,0,.75834],39:Ps,40:ps,41:ps,42:Pt,43:Gr,44:Wt,45:[0,.44444,0,0,.33333],46:fn,47:Fo,48:un,49:un,50:un,51:un,52:un,53:un,54:un,55:un,56:un,57:un,58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:qn,64:_n,65:_n,66:_n,67:jo,68:[0,.69444,0,0,.72223],69:Xn,70:[0,.69444,0,0,.56945],71:_n,72:Sr,73:Ps,74:qn,75:[0,.69444,0,0,.69445],76:Lr,77:[0,.69444,0,0,.875],78:Sr,79:[0,.69444,0,0,.73611],80:jo,81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:Fs,84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:_n,89:[0,.69444,.025,0,.66667],90:to,91:Ir,93:Ir,94:Kl,95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:mi,99:pi,100:mi,101:pi,102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:mi,105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:Fi,111:[0,.44444,0,0,.5],112:xi,113:xi,114:[0,.44444,.01389,0,.34167],115:Ri,116:[0,.57143,0,0,.36111],117:Fi,118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:Hi,168:[0,.67937,0,0,.5],176:_n,184:is,305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:Kl,711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:Kl,715:Kl,728:Kl,729:[0,.67937,0,0,.27778],730:_n,732:[0,.67659,0,0,.5],733:Kl,915:Lr,916:ya,920:La,923:to,926:_n,928:Sr,931:io,933:La,934:io,936:La,937:io,8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:Ps,8217:Ps,8220:Kl,8221:Kl},"Script-Regular":{32:Hi,65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:Hi},"Size1-Regular":{32:Hi,40:Kr,41:Kr,47:ta,91:qa,92:ta,93:qa,123:Xo,125:Xo,160:Hi,710:Co,732:Co,770:Co,771:Co,8214:[-99e-5,.601,0,0,.77778],8593:Yo,8595:Yo,8657:bo,8659:bo,8719:Ta,8720:Ta,8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:Ra,8748:So,8749:So,8750:Ra,8896:Gi,8897:Gi,8898:Gi,8899:Gi,8968:ba,8969:ba,8970:ba,8971:ba,9168:ka,10216:ba,10217:ba,10752:Ko,10753:Ko,10754:Ko,10756:Gi,10758:Gi},"Size2-Regular":{32:Hi,40:Rl,41:Rl,47:Dn,91:Or,92:Dn,93:Or,123:ae,125:ae,160:Hi,710:de,732:de,770:de,771:de,8719:pe,8720:pe,8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:ke,8748:xe,8749:xe,8750:ke,8896:ze,8897:ze,8898:ze,8899:ze,8968:Ye,8969:Ye,8970:Ye,8971:Ye,10216:Ke,10217:Ke,10752:ct,10753:ct,10754:ct,10756:ze,10758:ze},"Size3-Regular":{32:Hi,40:rt,41:rt,47:Ct,91:Xt,92:Ct,93:Xt,123:Bt,125:Bt,160:Hi,710:Sn,732:Sn,770:Sn,771:Sn,8730:[.95003,1.45,0,0,1],8968:Zt,8969:Zt,8970:Zt,8971:Zt,10216:Bt,10217:Bt},"Size4-Regular":{32:Hi,40:nn,41:nn,47:cn,91:on,92:cn,93:on,123:bn,125:bn,160:Hi,710:Mr,732:Mr,770:Mr,771:Mr,8730:[1.25003,1.75,0,0,1],8968:ti,8969:ti,8970:ti,8971:ti,9115:xa,9116:ui,9117:xa,9118:xa,9119:ui,9120:xa,9121:Xa,9122:ka,9123:Xa,9124:Xa,9125:ka,9126:Xa,9127:ua,9128:Tr,9129:yi,9130:[0,.3,0,0,.88889],9131:ua,9132:Tr,9133:yi,9143:[.88502,.915,0,0,1.05556],10216:bn,10217:bn,57344:Ya,57345:Ya,57680:Qn,57681:Qn,57682:Qn,57683:Qn},"Typewriter-Regular":{32:so,33:jn,34:jn,35:jn,36:ai,37:ai,38:jn,39:jn,40:ai,41:ai,42:[0,.52083,0,0,.525],43:Si,44:[.13889,.125,0,0,.525],45:Si,46:[0,.125,0,0,.525],47:ai,48:jn,49:jn,50:jn,51:jn,52:jn,53:jn,54:jn,55:jn,56:jn,57:jn,58:oi,59:[.13889,.43056,0,0,.525],60:ia,61:[-.19549,.41562,0,0,.525],62:ia,63:jn,64:jn,65:jn,66:jn,67:jn,68:jn,69:jn,70:jn,71:jn,72:jn,73:jn,74:jn,75:jn,76:jn,77:jn,78:jn,79:jn,80:jn,81:[.13889,.61111,0,0,.525],82:jn,83:jn,84:jn,85:jn,86:jn,87:jn,88:jn,89:jn,90:jn,91:ai,92:ai,93:ai,94:jn,95:[.09514,0,0,0,.525],96:jn,97:oi,98:jn,99:oi,100:jn,101:oi,102:jn,103:zi,104:jn,105:jn,106:[.22222,.61111,0,0,.525],107:jn,108:jn,109:oi,110:oi,111:oi,112:zi,113:zi,114:oi,115:oi,116:[0,.55358,0,0,.525],117:oi,118:oi,119:oi,120:oi,121:zi,122:oi,123:ai,124:ai,125:ai,126:jn,127:jn,160:so,176:jn,184:[.19445,0,0,0,.525],305:oi,567:zi,711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:jn,715:jn,728:jn,730:jn,770:jn,771:jn,776:jn,915:jn,916:jn,920:jn,923:jn,926:jn,928:jn,931:jn,933:jn,934:jn,936:jn,937:jn,8216:jn,8217:jn,8242:jn,9251:[.11111,.21944,0,0,.525]}},ar=/[\u3040-\u309F]|[\u30A0-\u30FF]|[\u4E00-\u9FAF]|[\uAC00-\uD7AF]/,$o=10,bl=.25,eu=1.2,Cs=.431,uu={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[Cs,Cs,Cs],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.5,.732,.925],num2:[.394,.384,.5],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[bl,bl,bl],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04]},yu=[0,.5,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],cu=5,du={"\xA0":" ","\u200B":" ",\u00C5:"A",\u00C7:"C",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00E7:"c",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function oc(a,y){a===void 0&&(a=77);const b=Oo[y][a];if(b)return{defaultMetrics:!1,depth:b[0],height:b[1],italic:b[2],skew:b[3],width:b[4]};if(a===11034)return{defaultMetrics:!0,depth:.2,height:.8,italic:0,skew:0,width:.8};const E=String.fromCodePoint(a);if(E in du)a=du[E].codePointAt(0);else if(ar.test(E))return a=77,{defaultMetrics:!0,depth:.2,height:.9,italic:0,skew:0,width:1};return{defaultMetrics:!0,depth:.2,height:.7,italic:0,skew:0,width:.8}}var Oc={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],longrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],longleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],longleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],longrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],longleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xleftrightarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],longleftrightarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xRightleftharpoons:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],longRightleftharpoons:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xLeftrightharpoons:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716],longLeftrightharpoons:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ru={widehat1:[1062,239,.24],widehat2:[2364,300,.3],widehat3:[2364,360,.36],widehat4:[2364,420,.42],widecheck1:[1062,239,.24],widecheck2:[2364,300,.3],widecheck3:[2364,360,.36],widecheck4:[2364,420,.42],widetilde1:[600,260,.26],widetilde2:[1033,286,.286],widetilde3:[2339,306,.306],widetilde4:[2340,312,.34],overarc:[1061,159,.3],underarc:[1061,159,.3]},Vl={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,overarc:"M529 0c179 0 524 115 524 115 5 1 9 5 9 10 0 1-1 2-1 3l-4 22c-1 5-5 9-11 9h-2s-338-93-512-92c-174 0-513 92-513 92h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13 0 0 342-115 520-115z",underarc:`m 529 160 + c -179 0 -524 -115 -524 -115 + c -5 -1 -9 -5 -9 -10 + c 0 -1 1 -2 1 -3 + l 4 -22 + c 1 -5 5 -9 11 -9 + h 2 + s 338 93 512 92 + c 174 0 513 -92 513 -92 + h 2 + c 5 0 9 4 11 9 + l 5 22 + c 1 6 -2 12 -8 13 + c 0 0 -342 115 -520 115 + z + `,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,widetilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,widetilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,widetilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,widetilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`};function vc(a){if(Ru[a]){const[Ne,Ge,gt]=Ru[a],$t=``;return`${$t}`}const[y,b,E,te]=Oc[a];let oe,ue;const Ae=E/1e3;y.length===3?(oe=["slice-1-of-3","slice-2-of-3","slice-3-of-3"],ue=["xMinYMin","xMidYMin","xMaxYMin"]):y.length===2?(oe=["slice-1-of-2","slice-2-of-2"],ue=["xMinYMin","xMaxYMin"]):(oe=["slice-1-of-1"],ue=[te]);const Ee=y.map((Ne,Ge)=>``).join("");return`${Ee}`}function Pu(a){return Oc[a]?Oc[a][2]/1e3:Ru[a][2]}function Ys(a){const y=[];for(let b=0;b=55296&&E<=56319){const te=a.charCodeAt(b+1);if(te>=56320&&te<=57343){const oe=E-55296,ue=te-56320;E=m0(2,16)+oe*m0(2,10)+ue,b++}}y.push(E)}return y}var zs=8205,Du=[[zs,1],[65038,2],[127995,5],[129456,4],[917536,96]],Eu,qu=[127462,127487];function ic(a){var y;if(Eu===void 0){Eu={};for(const b of Du)for(let E=b[0];E<=b[0]+b[1]-1;E++)Eu[E]=!0}return(y=Eu[a])!=null?y:!1}function mc(a){return a>=qu[0]&&a<=qu[1]}function Tc(a){if(/^[\u0020-\u00FF]*$/.test(a))return a;const y=[],b=Ys(a);let E=0;for(;E=this.s.length}get(){return this.pos";const a=this.get();if(a==="\\"){if(!this.end()){let y=this.match(/^[a-zA-Z\*]+/);return y?this.match(/^[ \f\n\r\t\v\u00A0\u2028\u2029]*/):y=this.get(),"\\"+y}}else{if(a==="{")return"<{>";if(a==="}")return"<}>";if(a==="^"){if(this.peek()==="^"){this.get();const y=this.match(/^(\^(\^(\^(\^[\da-f])?[\da-f])?[\da-f])?[\da-f])?[\da-f]{2}/);if(y)return String.fromCodePoint(Number.parseInt(y.slice(y.lastIndexOf("^")+1),16))}return a}else if(a==="#"){if(!this.end()){let y=!1;if(/[\d?@]/.test(this.peek())&&(y=!0,this.pos+1"):"<$>"}return a}};function bd(a,y){var b,E,te,oe;const ue=[];let Ae=a.next();if(Ae&&Ae!=="\\relax"){if(Ae==="\\noexpand")Ae=a.next(),Ae&&ue.push(Ae);else if(Ae==="\\obeyspaces")a.obeyspaces=!0;else if(Ae==="\\bgroup")ue.push("<{>");else if(Ae==="\\egroup")ue.push("<}>");else if(Ae==="\\string"){if(Ae=a.next(),Ae)if(Ae.startsWith("\\"))for(const Ee of Ae)ue.push(Ee==="\\"?"\\backslash":Ee);else Ae==="<{>"?ue.push("\\{"):Ae===""?ue.push("~"):Ae==="<}>"&&ue.push("\\}")}else if(Ae==="\\csname"){for(;a.peek()==="";)a.next();let Ee="",Ne=!1,Ge=[];do{if(Ge.length===0)if(/^#[\d?@]$/.test(a.peek())){const gt=a.get().slice(1);Ge=Zc((E=(b=y==null?void 0:y(gt))!=null?b:y==null?void 0:y("?"))!=null?E:"\\placeholder{}",y),Ae=Ge[0]}else Ae=a.next(),Ge=Ae?[Ae]:[];Ne=Ge.length===0,!Ne&&Ae==="\\endcsname"&&(Ne=!0,Ge.shift()),Ne||(Ne=Ae==="<$>"||Ae==="<$$>"||Ae==="<{>"||Ae==="<}>"||typeof Ae=="string"&&Ae.length>1&&Ae.startsWith("\\")),Ne||(Ee+=Ge.shift())}while(!Ne);Ee&&ue.push("\\"+Ee),ue.push(...Ge)}else if(Ae!=="\\endcsname")if(Ae.length>1&&Ae.startsWith("#")){const Ee=Ae.slice(1);ue.push(...Zc((oe=(te=y==null?void 0:y(Ee))!=null?te:y==null?void 0:y("?"))!=null?oe:"\\placeholder{}",y))}else ue.push(Ae)}return ue}function Zc(a,y=null){const b=[];let E="";for(const ue of a.toString().split(/\r?\n/)){E&&b.push(E),E=" ";const Ae=ue.match(/((?:\\%)|[^%])*/);Ae!==null&&b.push(Ae[0])}const te=new cf(It(b.join(""))),oe=[];do oe.push(...bd(te,y));while(!te.end());return oe}function Js(a){let y="";const b=[];for(const E of a)E&&(y&&/^[a-zA-Z\*]/.test(E)&&b.push(y),b.push(E),/^\\[a-zA-Z]+\*?[\"\'][^\ ]+$/.test(E)&&b.push(" "),y=/\\[a-zA-Z]+\*?$/.test(E)?" ":"");return b.join("")}function Qu(a,...y){return console.assert(a.startsWith("\\")),y.length===0?a:Js([a,...y.map(b=>`{${b}}`)])}function $c(a){return Js(a.map(y=>{var b;return(b={"":" ","<$$>":"$$","<$>":"$","<{>":"{","<}>":"}"}[y])!=null?b:y}))}var ed=class Xh{constructor(y){Xh._registry[y]=this}static createAtom(y,b,E){return Xh._registry[y].createAtom(b,qt(b,y),E)}static serialize(y,b){var E;if(!y||y.length===0)return"";if((E=b.skipStyles)!=null&&E){const te=[];for(const oe of zd(y)){const ue=Xh._registry[oe[0].mode];te.push(...ue.serialize(oe,b))}return Js(te)}return Js(df(y,b))}static getFont(y,b,E){return Xh._registry[y].getFont(b,E)}};ed._registry={};var lc=ed;function zd(a){const y=[];let b=[],E="NONE";for(const te of a)te.type!=="first"&&(te.mode!==E?(b.length>0&&y.push(b),b=[te],E=te.mode):b.push(te));return b.length>0&&y.push(b),y}function ec(a,y){const b=[];let E=[],te;for(const oe of a)if(oe.type!=="first"&&oe.style){let ue;y==="variant"?(ue=oe.style.variant,oe.style.variantStyle&&oe.style.variantStyle!=="up"&&(ue+="-"+oe.style.variantStyle)):ue=oe.style[y],ue===te?E.push(oe):(E.length>0&&b.push(E),E=[oe],te=ue)}return E.length>0&&b.push(E),b}function Fd(a,y){var b;const{parent:E}=a[0],te=E==null?void 0:E.computedStyle.color,oe=[];for(const ue of zd(a)){const Ae=y.defaultMode;for(const Ee of ec(ue,"color")){const Ne=Ee[0].computedStyle,Ge=lc._registry[Ee[0].mode].serialize(Ee,He(Se({},y),{defaultMode:Ae==="text"?"text":"math"}));!y.skipStyles&&Ne.color&&Ne.color!=="none"&&(!E||te!==Ne.color)?oe.push(Qu("\\textcolor",(b=Ne.verbatimColor)!=null?b:Ne.color,Js(Ge))):oe.push(Js(Ge))}}return oe}function xf(a,y){const{parent:b}=a[0],E=b==null?void 0:b.computedStyle.backgroundColor;return ec(a,"backgroundColor").map(te=>{var oe;if(te.length>0||te[0].type!=="box"){const ue=te[0].computedStyle;if(ue.backgroundColor&&ue.backgroundColor!=="none"&&(!b||E!==ue.backgroundColor))return Qu("\\colorbox",(oe=ue.verbatimBackgroundColor)!=null?oe:ue.backgroundColor,Js(Fd(te,He(Se({},y),{defaultMode:"text"}))))}return Js(Fd(te,y))})}function df(a,y){if(a.length===0)return[];const{parent:b}=a[0],E=b==null?void 0:b.computedStyle.fontSize,te=[];for(const oe of ec(a,"fontSize")){const ue=oe[0].computedStyle.fontSize,Ae=xf(oe,y);Ae&&(ue&&ue!=="auto"&&(!b||E!==ue)?te.push(["","\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"][ue],...Ae):te.push(...Ae))}return te}function kd(a){return a?{mord:"ord",mbin:"bin",mop:"op",mrel:"rel",mopen:"open",mclose:"close",mpunct:"punct",minner:"inner",spacing:"ignore",latex:"latex",composition:"inner",error:"inner",placeholder:"ord",supsub:"ignore"}[a]:void 0}function xd(a){if(a.length===0)return"ord";const y=kd(a[0].type),b=kd(a[a.length-1].type);return y&&y===b?y:"ord"}function id(a,y){if(typeof a=="string")return a;if(typeof a=="number"){console.assert(Number.isFinite(a));const b=Math.ceil(100*a)/100;return b===0?"0":b.toString()+(y!=null?y:"")}return""}var za=class Yv{constructor(y,b){var E,te,oe,ue,Ae;if(typeof y=="number"?this.value=String.fromCodePoint(y):typeof y=="string"?this.value=y:ut(y)?this.children=y.filter(Ne=>Ne!==null):y&&y instanceof Yv&&(this.children=[y]),this.children)for(const Ne of this.children)Ne.parent=this;this.type=(E=b==null?void 0:b.type)!=null?E:"ignore",this.isSelected=(b==null?void 0:b.isSelected)===!0,b!=null&&b.caret&&(this.caret=b.caret),this.classes=(te=b==null?void 0:b.classes)!=null?te:"",this.isTight=(oe=b==null?void 0:b.isTight)!=null?oe:!1,b!=null&&b.attributes&&(this.attributes=b.attributes);let Ee=b==null?void 0:b.fontFamily;b!=null&&b.style&&this.value&&(Ee=(Ae=lc.getFont((ue=b.mode)!=null?ue:"math",this,He(Se({variant:"normal"},b.style),{letterShapeStyle:b.letterShapeStyle})))!=null?Ae:void 0),Ee||(Ee="Main-Regular"),this._height=0,this._depth=0,this._width=0,this.hasExplicitWidth=!1,this.skew=0,this.italic=0,this.maxFontSize=0,this.scale=1,(b==null?void 0:b.maxFontSize)!==void 0&&(this.maxFontSize=b.maxFontSize),wd(this,Ee)}set atomID(y){y===void 0||y.length===0||(this.id=y)}selected(y){if(this.isSelected!==y&&(this.isSelected=y,this.children))for(const b of this.children)b.selected(y)}setStyle(y,b,E){if(b===void 0)return;const te=id(b,E);te.length>0&&(this.cssProperties||(this.cssProperties={}),this.cssProperties[y]=te)}setTop(y){Number.isFinite(y)&&Math.abs(y)>.01&&(this.cssProperties||(this.cssProperties={}),this.cssProperties.top=id(y,"em"),this.height-=y,this.depth+=y)}get left(){var y;return(y=this.cssProperties)!=null&&y["margin-left"]?Number.parseFloat(this.cssProperties["margin-left"]):0}set left(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-left"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-left"]=id(y,"em")))}set right(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-right"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-right"]=id(y,"em")))}set bottom(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-bottom"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-bottom"]=id(y,"em")))}get width(){return this._width*this.scale}set width(y){this._width=y,this.hasExplicitWidth=!0}set softWidth(y){}get height(){return this._height*this.scale}set height(y){this._height=y}get depth(){return this._depth*this.scale}set depth(y){this._depth=y}wrap(y){const b=y.parent;if(!b)return this;y.isPhantom&&this.setStyle("opacity",0);const E=y.color;E&&E!==b.color&&this.setStyle("color",E);let te=y.backgroundColor;this.isSelected&&(te=Dr(te)),te&&te!==b.backgroundColor&&(this.setStyle("background-color",te),this.setStyle("display","inline-block"));const oe=y.scalingFactor;return this.scale=oe,this.skew*=oe,this.italic*=oe,this}toMarkup(){var y,b,E,te;let oe=(y=this.value)!=null?y:"";if(this.children)for(const kn of this.children)oe+=kn.toMarkup();let ue="";if(this.svgBody)ue=vc(this.svgBody);else if(this.svgOverlay){ue='',ue+=oe,ue+="",ue+='${this.svgOverlay}`}let Ae="";const Ee=this.classes.split(" ");Ee.push((E={latex:"ML__raw-latex",placeholder:"ML__placeholder",error:"ML__error"}[this.type])!=null?E:""),this.caret==="latex"&&Ee.push("ML__latex-caret"),this.isSelected&&Ee.push("ML__selected");const Ne=Ee.length===1?Ee[0]:Ee.filter((kn,rr,gi)=>kn.length>0&&gi.indexOf(kn)===rr).join(" ");if(Ne.length>0&&(Ae+=` class="${Ne}"`),this.id&&(Ae+=` data-atom-id=${this.id}`),this.cssId&&(Ae+=` id="${this.cssId.replace(/ /g,"-")}" `),this.attributes&&(Ae+=" "+Object.keys(this.attributes).map(kn=>`${kn}="${this.attributes[kn]}"`).join(" ")),this.htmlData){const kn=this.htmlData.split(",");for(const rr of kn){const gi=rr.match(/([^=]+)=(.+$)/);if(gi){const no=gi[1].trim().replace(/ /g,"-");no&&(Ae+=` data-${no}="${gi[2]}" `)}else{const no=rr.trim().replace(/ /g,"-");no&&(Ae+=` data-${no} `)}}}const Ge=(te=this.cssProperties)!=null?te:{};this.hasExplicitWidth&&Ge.width===void 0&&(Ge.width=`${Math.ceil(this._width*100)/100}em`);const gt=Object.keys(Ge).map(kn=>`${kn}:${Ge[kn]}`);if(this.scale!==void 0&&this.scale!==1&&(oe.length>0||ue.length>0)&>.push(`font-size: ${Math.ceil(this.scale*1e4)/100}%`),this.htmlStyle){const kn=this.htmlStyle.split(";");let rr="";for(const gi of kn){const no=gi.match(/([^=]+):(.+$)/);if(no){const si=no[1].trim().replace(/ /g,"-");si&&(rr+=`${si}:${no[2]};`)}}rr&&(Ae+=` style="${rr}"`)}gt.length>0&&(Ae+=` style="${gt.join(";")}"`);let $t="";return Ae.length>0||ue.length>0?$t=`${oe}${ue}`:$t=oe,this.caret==="text"?$t+='':this.caret==="math"&&($t+=''),$t}tryCoalesceWith(y){if(this.svgBody||!this.value||y.svgBody||!y.value)return!1;const b=this.children&&this.children.length>0,E=y.children&&y.children.length>0;if(b||E)return!1;if(y.cssProperties||this.cssProperties){for(const Ee of["border","border-left","border-right","border-right-width","left","margin","margin-left","margin-right","padding","position","width"])if(y.cssProperties&&Ee in y.cssProperties||this.cssProperties&&Ee in this.cssProperties)return!1}const te=this.cssProperties?Object.keys(this.cssProperties).length:0,oe=y.cssProperties?Object.keys(y.cssProperties).length:0;if(te!==oe)return!1;if(te>0){for(const Ee of Object.keys(this.cssProperties))if(this.cssProperties[Ee]!==y.cssProperties[Ee])return!1}const ue=this.classes.trim().replace(/\s+/g," ").split(" "),Ae=y.classes.trim().replace(/\s+/g," ").split(" ");if(ue.length!==Ae.length)return!1;ue.sort(),Ae.sort();for(const[Ee,Ne]of ue.entries())if(Ne==="vertical-separator"||Ne!==Ae[Ee])return!1;return this.value+=y.value,this.height=Math.max(this.height,y.height),this.depth=Math.max(this.depth,y.depth),this._width=this._width+y._width,this.maxFontSize=Math.max(this.maxFontSize,y.maxFontSize),this.italic=y.italic,!0}};function ff(a){if(!a||a.length===0)return[];a[0].children=ff(a[0].children);const y=[a[0]];for(let b=1;b0){let E=-1/0,te=-1/0,oe=0;for(const ue of a.children)ue.height>E&&(E=ue.height),ue.depth>te&&(te=ue.depth),oe=Math.max(oe,(b=ue.maxFontSize)!=null?b:0);a.height=E,a.depth=te,a._width=a.children.reduce((ue,Ae)=>ue+Ae.width,0),a.maxFontSize=oe}}function Yu(a){if("individualShift"in a){const y=a.individualShift;let b=y[0];const E=[b],te=-b.shift-b.box.depth;let oe=te;for(let ue=1;ue{rr.softWidth=Ge});const gt=new za(ue,{classes:"vlist"});if(gt.softWidth=Ge,gt.height=Ee,gt.setStyle("height",Ee,"em"),Ae>=0)return[[new za(gt,{classes:"vlist-r"})],Ee,-Ae];const $t=new za(new za(null),{classes:"vlist"});$t.height=-Ae,$t.setStyle("height",-Ae,"em");const kn=new za(8203,{classes:"vlist-s",maxFontSize:0});return kn.softWidth=0,kn.height=0,kn.depth=0,[[new za([gt,kn],{classes:"vlist-r"}),new za($t,{classes:"vlist-r"})],Ee,-Ae]}var Iu=class extends za{constructor(a,y){var b;const[E,te,oe]=Hd(a);super(E.length===1?E[0]:E,{type:y==null?void 0:y.type,classes:((b=y==null?void 0:y.classes)!=null?b:"")+" vlist-t"+(E.length===2?" vlist-t2":"")}),this.height=te,this.depth=oe,this.softWidth=E.reduce((ue,Ae)=>Math.max(ue,Ae.width),0)}};function pf(a,y){var b,E,te,oe,ue;const Ae=a.metrics,Ee=new za(y.base),Ne=(b=y.baseShift)!=null?b:0,Ge=(E=y.slant)!=null?E:0;let gt=0,$t=0;y.above&&(gt=(te=y.aboveShift)!=null?te:Math.max(Ae.bigOpSpacing1,Ae.bigOpSpacing3-y.above.depth)),y.below&&($t=(oe=y.belowShift)!=null?oe:Math.max(Ae.bigOpSpacing2,Ae.bigOpSpacing4-y.below.height));let kn=null;if(y.below&&y.above){const rr=Ae.bigOpSpacing5+y.below.height+y.below.depth+$t+Ee.depth+Ne;kn=new Iu({bottom:rr,children:[Ae.bigOpSpacing5,{box:y.below,marginLeft:-Ge,classes:["ML__center"]},$t,{box:Ee,classes:["ML__center"]},gt,{box:y.above,marginLeft:Ge,classes:["ML__center"]},Ae.bigOpSpacing5]}).wrap(a)}else if(y.below&&!y.above)kn=new Iu({top:Ee.height-Ne,children:[Ae.bigOpSpacing5,{box:y.below,marginLeft:-Ge,classes:["ML__center"]},$t,{box:Ee,classes:["ML__center"]}]}).wrap(a);else if(!y.below&&y.above){const rr=Ee.depth+Ne;kn=new Iu({bottom:rr,children:[{box:Ee,classes:["ML__center"]},gt,{box:y.above,marginLeft:Ge,classes:["ML__center"]},Ae.bigOpSpacing5]}).wrap(a)}else{const rr=Ee.depth+Ne;kn=new Iu({bottom:rr,children:[{box:Ee},Ae.bigOpSpacing5]}).wrap(a)}return new za(kn,{type:(ue=y.type)!=null?ue:"op"})}var jd=7,zc=6,Rd=5,Wc=4,fd=3,gc=2,Dc=1,sc=0,Ic=class{constructor(a,y,b){this.id=a,this.sizeDelta=y,this.cramped=b;const E={"-4":2,"-3":1,0:0}[y];this.metrics=Object.keys(uu).reduce((te,oe)=>He(Se({},te),{[oe]:uu[oe][E]}),{})}getFontSize(a){return Math.max(1,a+this.sizeDelta)}get sup(){return bu[[sc,Dc,sc,Dc,gc,fd,gc,fd][this.id]]}get sub(){return bu[[sc,sc,sc,sc,gc,gc,gc,gc][this.id]]}get fracNum(){return bu[[sc,Dc,sc,Dc,gc,fd,Wc,Rd][this.id]]}get fracDen(){return bu[[sc,sc,sc,sc,gc,gc,Wc,Wc][this.id]]}get cramp(){return bu[[sc,sc,gc,gc,Wc,Wc,zc,zc][this.id]]}get isTight(){return this.sizeDelta<0}},qs={7:new Ic(jd,0,!1),6:new Ic(zc,0,!0),5:new Ic(Rd,0,!1),4:new Ic(Wc,0,!0),3:new Ic(fd,-3,!1),2:new Ic(gc,-3,!0),1:new Ic(Dc,-4,!1),0:new Ic(sc,-4,!0)},bu=He(Se({},qs),{displaystyle:qs[jd],textstyle:qs[Rd],scriptstyle:qs[fd],scriptscriptstyle:qs[Dc]});function xc(a,y){var b;if(!a)return 0;const E={pt:1,mm:7227/2540,cm:7227/254,ex:35271/8192,px:3/4,em:$o,bp:803/800,dd:1238/1157,pc:12,in:72.27,mu:10/18}[(b=a.unit)!=null?b:"pt"];if(Number.isFinite(y)){const te=m0(10,y);return Math.round(a.dimension/$o*E*te)/te}return a.dimension*E}function Bu(a,y){if(a===null)return 0;const b=xc(a)/$o;if(Number.isFinite(y)){const E=m0(10,y);return Math.round(b*E)/E}return b}function Vc(a){var y;return`${a.dimension}${(y=a.unit)!=null?y:"pt"}`}function wf(a){let y=Vc(a.glue);return a.grow&&a.grow.dimension!==0&&(y+=` plus ${Vc(a.grow)}`),a.shrink&&a.shrink.dimension!==0&&(y+=` minus ${Vc(a.shrink)}`),y}function tc(a){var y,b;if(a==null)return null;let E="";if("dimension"in a&&(E=`${a.dimension}${(y=a.unit)!=null?y:"pt"}`),"glue"in a&&(E=wf(a)),"number"in a)if(!("base"in a)||a.base==="decimal")E=Number(a.number).toString();else if(a.base==="alpha")E=`\`${String.fromCodePoint(a.number)}`;else{const te=Math.round(a.number)>>>0;a.base==="hexadecimal"?(E=Number(te).toString(16).toUpperCase(),te<=255?E=E.padStart(2,"0"):te<=65535?E=E.padStart(4,"0"):te<=16777215?E=E.padStart(6,"0"):E=E.padStart(8,"0"),E=`"${E}`):a.base==="octal"&&(E=Number(te).toString(8),te<=63?E=E.padStart(2,"0"):te<=30583?E=E.padStart(4,"0"):E=E.padStart(8,"0"),E=`'${E}`)}return"register"in a&&("factor"in a&&(a.factor===-1?E="-":a.factor!==1&&(E=Number(a.factor).toString())),"global"in a&&a.global&&(E+="\\global"),E+=`\\${a.register}`),"string"in a&&(E=a.string),(b=a.relax)!=null&&b&&(E+="\\relax"),E}function Gc(a,y){return a==null?null:"number"in a?He(Se({},a),{number:a.number*y}):"register"in a?"factor"in a&&a.factor?He(Se({},a),{factor:a.factor*y}):He(Se({},a),{factor:y}):"dimension"in a?He(Se({},a),{dimension:a.dimension*y}):"glue"in a?a.shrink&&a.grow?{glue:Gc(a.glue,y),shrink:Gc(a.shrink,y),grow:Gc(a.grow,y)}:a.shrink?{glue:Gc(a.glue,y),shrink:Gc(a.shrink,y)}:a.grow?{glue:Gc(a.glue,y),grow:Gc(a.grow,y)}:{glue:Gc(a.glue,y)}:null}var Cf={"p@":{dimension:1},"z@":{dimension:0},maxdimen:{dimension:16383.99999},hfuzz:{dimension:.1},vfuzz:{dimension:.1},overfullrule:{dimension:5},hsize:{dimension:6.5,unit:"in"},vsize:{dimension:8.9,unit:"in"},parindent:{dimension:20},maxdepth:{dimension:4},splitmaxdepth:{register:"maxdimen"},boxmaxdepth:{register:"maxdimen"},delimitershortfall:{dimension:5},nulldelimiterspace:{dimension:1.2,unit:"pt"},scriptspace:{dimension:.5},topskip:{dimension:10},splittopskip:{dimension:10},normalbaselineskip:{dimension:12},normallineskip:{dimension:1},normallineskiplimit:{dimension:0},jot:{dimension:3},doublerulesep:{dimension:2},arrayrulewidth:{dimension:.4},arraycolsep:{dimension:5},fboxsep:{dimension:3},fboxrule:{dimension:.4},"z@skip":{glue:{dimension:0},shrink:{dimension:0},grow:{dimension:0}},hideskip:{glue:{dimension:-1e3},grow:{dimension:1,unit:"fill"}},"@flushglue":{glue:{dimension:0},grow:{dimension:1,unit:"fill"}},parskip:{glue:{dimension:0},grow:{dimension:1}},abovedisplayskip:{glue:{dimension:12},grow:{dimension:3},shrink:{dimension:9}},abovedisplayshortskip:{glue:{dimension:0},grow:{dimension:3}},belowdisplayskip:{glue:{dimension:12},grow:{dimension:3},shrink:{dimension:9}},belowdisplayshortskip:{glue:{dimension:7},grow:{dimension:3},shrink:{dimension:4}},parfillskip:{glue:{dimension:0},grow:{dimension:1,unit:"fil"}},thinmuskip:{glue:{dimension:3,unit:"mu"}},medmuskip:{glue:{dimension:4,unit:"mu"},grow:{dimension:2,unit:"mu"},shrink:{dimension:4,unit:"mu"}},thickmuskip:{glue:{dimension:5,unit:"mu"},grow:{dimension:5,unit:"mu"}},smallskipamount:{glue:{dimension:3},grow:{dimension:1},shrink:{dimension:1}},medskipamount:{glue:{dimension:6},grow:{dimension:2},shrink:{dimension:3}},bigskipamount:{glue:{dimension:12},grow:{dimension:2},shrink:{dimension:4}},pretolerance:100,tolerance:200,hbadness:1e3,vbadness:1e3,linepenalty:10,hyphenpenalty:50,exhyphenpenalty:50,binoppenalty:700,relpenalty:500,clubpenalty:150,widowpenalty:150,displaywidowpenalty:50,brokenpenalty:100,predisplaypenalty:1e4,doublehyphendemerits:1e4,finalhyphendemerits:5e3,adjdemerits:1e4,tracinglostchars:1,uchyph:1,delimiterfactor:901,defaulthyphenchar:"\\-",defaultskewchar:-1,newlinechar:-1,showboxbreadth:5,showboxdepth:3,errorcontextlines:5,interdisplaylinepenalty:100,interfootnotelinepenalty:100,baselineSkip:1.2,arraystretch:1,month:new Date().getMonth()+1,day:new Date().getDate(),year:new Date().getFullYear()};function Uc(){return Se({},Cf)}function Ff(){return{registers:Uc(),smartFence:!1,renderPlaceholder:void 0,placeholderSymbol:"\u25A2",letterShapeStyle:Ut.locale.startsWith("fr")?"french":"tex",minFontScale:0,colorMap:_t,backgroundColorMap:We,getMacro:a=>Un(a,ei())}}var vu=class Jv{constructor(y,b){var E,te,oe,ue,Ae,Ee,Ne,Ge,gt,$t,kn,rr,gi,no,si;let la;y!=null&&y.parent?(this.parent=y.parent,la=y.parent,this.registers={}):(la=Se(Se({},Ff()),(E=y==null?void 0:y.from)!=null?E:{}),this.registers=la.registers),la.atomIdsSettings&&(this.atomIdsSettings=Se({},la.atomIdsSettings)),this.renderPlaceholder=la.renderPlaceholder,this.isPhantom=(ue=(oe=y==null?void 0:y.isPhantom)!=null?oe:(te=this.parent)==null?void 0:te.isPhantom)!=null?ue:!1,this.letterShapeStyle=la.letterShapeStyle,this.minFontScale=la.minFontScale,b!=null&&b.color&&b.color!=="none"?this.color=b.color:this.color=(Ee=(Ae=this.parent)==null?void 0:Ae.color)!=null?Ee:"",b!=null&&b.backgroundColor&&b.backgroundColor!=="none"?this.backgroundColor=b.backgroundColor:this.backgroundColor=(Ge=(Ne=this.parent)==null?void 0:Ne.backgroundColor)!=null?Ge:"",b!=null&&b.fontSize&&b.fontSize!=="auto"&&b.fontSize!==((gt=this.parent)==null?void 0:gt.size)?this.size=b.fontSize:this.size=(kn=($t=this.parent)==null?void 0:$t.size)!=null?kn:cu;let po=(gi=(rr=this.parent)==null?void 0:rr.mathstyle)!=null?gi:bu.displaystyle;if(typeof(y==null?void 0:y.mathstyle)=="string"){if(la instanceof Jv)switch(y.mathstyle){case"cramp":po=po.cramp;break;case"superscript":po=po.sup;break;case"subscript":po=po.sub;break;case"numerator":po=po.fracNum;break;case"denominator":po=po.fracDen;break}switch(y.mathstyle){case"textstyle":po=bu.textstyle;break;case"displaystyle":po=bu.displaystyle;break;case"scriptstyle":po=bu.scriptstyle;break;case"scriptscriptstyle":po=bu.scriptscriptstyle;break;case"":case"auto":break}}this.mathstyle=po,this.smartFence=la.smartFence,this.placeholderSymbol=la.placeholderSymbol,this.colorMap=(no=la.colorMap)!=null?no:Ba=>Ba,this.backgroundColorMap=(si=la.backgroundColorMap)!=null?si:Ba=>Ba,this.getMacro=la.getMacro,console.assert(this.parent!==void 0||this.registers!==void 0)}makeID(){if(!this.atomIdsSettings)return;if(this.atomIdsSettings.overrideID)return this.atomIdsSettings.overrideID;if(typeof this.atomIdsSettings.seed!="number")return`${Date.now().toString(36).slice(-2)}${Math.floor(Math.random()*1e5).toString(36)}`;const y=this.atomIdsSettings.seed.toString(36);return this.atomIdsSettings.seed+=1,y}scale(y){return y*this.effectiveFontSize}get scalingFactor(){return this.parent?this.effectiveFontSize/this.parent.effectiveFontSize:1}get isDisplayStyle(){return this.mathstyle.id===jd||this.mathstyle.id===zc}get isCramped(){return this.mathstyle.cramped}get isTight(){return this.mathstyle.isTight}get metrics(){return this.mathstyle.metrics}get effectiveFontSize(){return Math.max(yu[Math.max(1,this.size+this.mathstyle.sizeDelta)],this.minFontScale)}getRegister(y){var b;if((b=this.registers)!=null&&b[y])return this.registers[y];if(this.parent)return this.parent.getRegister(y)}getRegisterAsNumber(y){const b=this.getRegister(y);if(typeof b=="number")return b;if(typeof b=="string")return Number(b)}getRegisterAsGlue(y){var b;if((b=this.registers)!=null&&b[y]){const E=this.registers[y];return typeof E=="object"&&"glue"in E?E:typeof E=="object"&&"dimension"in E?{glue:{dimension:E.dimension}}:typeof E=="number"?{glue:{dimension:E}}:void 0}if(this.parent)return this.parent.getRegisterAsGlue(y)}getRegisterAsEm(y,b){return Bu(this.getRegisterAsDimension(y),b)}getRegisterAsDimension(y){var b;if((b=this.registers)!=null&&b[y]){const E=this.registers[y];return typeof E=="object"&&"glue"in E?E.glue:typeof E=="object"&&"dimension"in E?E:typeof E=="number"?{dimension:E}:void 0}if(this.parent)return this.parent.getRegisterAsDimension(y)}setRegister(y,b){if(b===void 0){delete this.registers[y];return}this.registers[y]=b}evaluate(y){if(!y||!("register"in y))return y;let b=this;if("global"in y&&y.global)for(;b.parent;)b=b.parent;let E=1;"factor"in y&&y.factor!==1&&y.factor!==void 0&&(E=y.factor);const te=b.getRegister(y.register);if(te===void 0)return;if(typeof te=="string")return{string:Number(te).toString()+te};if(typeof te=="number")return{number:E*te};const oe=b.evaluate(te);if(oe!==void 0)return"string"in oe?{string:Number(te).toString()+oe.string}:"number"in oe?{number:E*oe.number}:"dimension"in oe?He(Se({},oe),{dimension:E*oe.dimension}):"glue"in oe?He(Se({},oe),{glue:He(Se({},oe.glue),{dimension:E*oe.glue.dimension}),shrink:oe.shrink?He(Se({},oe.shrink),{dimension:E*oe.shrink.dimension}):void 0,grow:oe.grow?He(Se({},oe.grow),{dimension:E*oe.grow.dimension}):void 0}):y}toDimension(y){const b=this.evaluate(y);return b===void 0?null:"dimension"in b?b:"glue"in b?b.glue:"number"in b?{dimension:b.number}:null}toEm(y,b){if(y===null)return 0;const E=this.toDimension(y);return E===null?0:xc(E,b)/$o}toNumber(y){if(y===null)return null;const b=this.evaluate(y);return b===void 0?null:"number"in b?b.number:"dimension"in b?b.dimension:"glue"in b?b.glue.dimension:"string"in b?Number(b.string):null}toColor(y){var b,E;if(y===null)return null;const te=this.evaluate(y);return te===void 0?null:"string"in te?(E=(b=this.colorMap)==null?void 0:b.call(this,te.string))!=null?E:te.string:null}toBackgroundColor(y){var b,E;if(y===null)return null;const te=this.evaluate(y);return te===void 0?null:"string"in te?(E=(b=this.backgroundColorMap)==null?void 0:b.call(this,te.string))!=null?E:te.string:null}},Ld=["body","above","below","superscript","subscript"];function Hc(a){return typeof a=="string"&&Ld.includes(a)}function _d(a){return a!==void 0&&Array.isArray(a)&&a.length===2}var Ti=class N0{constructor(y){var b,E,te,oe,ue,Ae;this.type=y.type,typeof y.value=="string"&&(this.value=y.value),this.command=(E=(b=y.command)!=null?b:this.value)!=null?E:"",this.mode=(te=y.mode)!=null?te:"math",y.isFunction&&(this.isFunction=!0),y.limits&&(this.subsupPlacement=y.limits),this.style=Se({},y.style),this.displayContainsHighlight=(oe=y.displayContainsHighlight)!=null?oe:!1,this.captureSelection=(ue=y.captureSelection)!=null?ue:!1,this.skipBoundary=(Ae=y.skipBoundary)!=null?Ae:!1,y.verbatimLatex!==void 0&&y.verbatimLatex!==null&&(this.verbatimLatex=y.verbatimLatex),y.args&&(this.args=y.args),y.body&&(this.body=y.body),this._changeCounter=0}static createBox(y,b,E){var te;if(!b)return null;const oe=$f(b),ue=[];for(const Ee of oe){const Ne=Ee[0].style,Ge=kf(y,Ee,{style:{color:Ne.color,backgroundColor:Ne.backgroundColor,fontSize:Ne.fontSize}});Ge&&ue.push(Ge)}if(ue.length===0)return null;const Ae=((te=E==null?void 0:E.classes)!=null?te:"").trim();return ue.length===1&&!Ae&&!(E!=null&&E.type)?ue[0].wrap(y):new za(ue,{classes:Ae,type:E==null?void 0:E.type}).wrap(y)}static serialize(y,b){return lc.serialize(y,b)}static commonAncestor(y,b){if(y===b||y.parent===b.parent)return y.parent;const E=new WeakSet;let{parent:te}=y;for(;te;)E.add(te),te=te.parent;for(te=b.parent;te;){if(E.has(te))return te;te=te.parent}console.assert(!!te)}static fromJson(y){return typeof y=="string"?new N0({type:"mord",value:y,mode:"math"}):new N0(y)}get latexMode(){return this.mode==="math"?"math":"text"}toJson(){const y={};if(this.type&&(y.type=this.type),this.mode!=="math"&&(y.mode=this.mode),this.command&&this.command!==this.value&&(y.command=this.command),this.value!==void 0&&(y.value=this.value),this.style&&Object.keys(this.style).length>0&&(y.style=Se({},this.style)),this.verbatimLatex!==void 0&&(y.verbatimLatex=this.verbatimLatex),this.subsupPlacement&&(y.subsupPlacement=this.subsupPlacement),this.explicitSubsupPlacement&&(y.explicitSubsupPlacement=!0),this.isFunction&&(y.isFunction=!0),this.displayContainsHighlight&&(y.displayContainsHighlight=!0),this.isExtensibleSymbol&&(y.isExtensibleSymbol=!0),this.skipBoundary&&(y.skipBoundary=!0),this.captureSelection&&(y.captureSelection=!0),this.args&&(y.args=Xf(this.args)),this._branches)for(const b of Object.keys(this._branches))this._branches[b]&&(y[b]=this._branches[b].filter(E=>E.type!=="first").map(E=>E.toJson()));return y.type==="mord"&&Object.keys(y).length===2&&"value"in y?y.value:y}get changeCounter(){return this.parent?this.parent.changeCounter:this._changeCounter}set isDirty(y){if(y){this.parent||this._changeCounter++,"verbatimLatex"in this&&(this.verbatimLatex=void 0),this._children=void 0;let{parent:b}=this;for(;b;)b.parent||b._changeCounter++,"verbatimLatex"in b&&(b.verbatimLatex=void 0),b._children=void 0,b=b.parent}}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);return b!=null&&b.serialize?b.serialize(this,y):this.body&&this.command?Js([Qu(this.command,this.bodyToLatex(y)),this.supsubToLatex(y)]):this.body?Js([this.bodyToLatex(y),this.supsubToLatex(y)]):!this.value||this.value==="\u200B"?"":this.command}bodyToLatex(y){var b;return lc.serialize(this.body,He(Se({},y),{defaultMode:(b=y.defaultMode)!=null?b:this.latexMode}))}aboveToLatex(y){return lc.serialize(this.above,y)}belowToLatex(y){return lc.serialize(this.below,y)}supsubToLatex(y){let b="";if(y=He(Se({},y),{defaultMode:"math"}),this.branch("subscript")!==void 0){const E=lc.serialize(this.subscript,y);E.length===0?b+="_{}":E.length===1?/^[0-9]$/.test(E)?b+=`_${E}`:b+=`_{${E}}`:b+=`_{${E}}`}if(this.branch("superscript")!==void 0){const E=lc.serialize(this.superscript,y);E.length===0?b+="^{}":E.length===1?E==="\u2032"?b+="^\\prime ":E==="\u2033"?b+="^\\doubleprime ":/^[0-9]$/.test(E)?b+=`^${E}`:b+=`^{${E}}`:b+=`^{${E}}`}return b}get treeDepth(){let y=1,b=this.parent;for(;b;)b=b.parent,y+=1;return y}get inCaptureSelection(){let y=this;for(;y;){if(y.captureSelection)return!0;y=y.parent}return!1}get parentPrompt(){let y=this.parent;for(;y;){if(y.type==="prompt"&&!y.captureSelection)return y;y=y.parent}return null}branch(y){if(Hc(y)&&this._branches)return this._branches[y]}get branches(){if(!this._branches)return[];const y=[];for(const b of Ld)this._branches[b]&&y.push(b);return y}createBranch(y){return console.assert(Hc(y)),Hc(y)?(this._branches?this._branches[y]||(this._branches[y]=[this.makeFirstAtom(y)]):this._branches={[y]:[this.makeFirstAtom(y)]},this.isDirty=!0,this._branches[y]):[]}get row(){return _d(this.parentBranch)?this.parentBranch[0]:-1}get col(){return _d(this.parentBranch)?this.parentBranch[1]:-1}get body(){var y;return(y=this._branches)==null?void 0:y.body}set body(y){this.setChildren(y,"body")}get superscript(){var y;return(y=this._branches)==null?void 0:y.superscript}set superscript(y){this.setChildren(y,"superscript")}get subscript(){var y;return(y=this._branches)==null?void 0:y.subscript}set subscript(y){this.setChildren(y,"subscript")}get above(){var y;return(y=this._branches)==null?void 0:y.above}set above(y){this.setChildren(y,"above")}get below(){var y;return(y=this._branches)==null?void 0:y.below}set below(y){this.setChildren(y,"below")}get computedStyle(){var y,b;const E=typeof this.style.verbatimColor=="string",te=typeof this.style.verbatimBackgroundColor=="string",oe=Se(Se({},(b=(y=this.parent)==null?void 0:y.computedStyle)!=null?b:{}),this.style);return delete oe.variant,delete oe.variantStyle,te||delete oe.verbatimBackgroundColor,E||delete oe.verbatimColor,oe}applyStyle(y){this.isDirty=!0,this.style=Se(Se({},this.style),y),this.style.fontFamily==="none"&&delete this.style.fontFamily,this.style.fontShape==="auto"&&delete this.style.fontShape,this.style.fontSeries==="auto"&&delete this.style.fontSeries,this.style.color==="none"&&(delete this.style.color,delete this.style.verbatimColor),this.style.backgroundColor==="none"&&(delete this.style.backgroundColor,delete this.style.verbatimBackgroundColor),this.style.fontSize==="auto"&&delete this.style.fontSize;for(const b of this.children)b.applyStyle(y)}getInitialBaseElement(){var y,b,E;return this.hasEmptyBranch("body")?this:(console.assert(((y=this.body)==null?void 0:y[0].type)==="first"),(E=(b=this.body[1])==null?void 0:b.getInitialBaseElement())!=null?E:this)}getFinalBaseElement(){return this.hasEmptyBranch("body")?this:this.body[this.body.length-1].getFinalBaseElement()}isCharacterBox(){return this.type==="leftright"||this.type==="genfrac"||this.type==="subsup"||this.type==="delim"||this.type==="array"||this.type==="surd"?!1:this.getFinalBaseElement().type==="mord"}hasEmptyBranch(y){const b=this.branch(y);return b?(console.assert(b.length>0),console.assert(b[0].type==="first"),b.length===1):!0}setChildren(y,b){var E;if(!y||(console.assert(Hc(b)),!Hc(b)))return;console.assert(((E=y[0])==null?void 0:E.type)!=="first");const te=[this.makeFirstAtom(b),...y];this._branches?this._branches[b]=te:this._branches={[b]:te};for(const oe of y)oe.parent=this,oe.parentBranch=b;this.isDirty=!0}makeFirstAtom(y){const b=new N0({type:"first",mode:this.mode});return b.parent=this,b.parentBranch=y,b}addChild(y,b){console.assert(y.type!=="first"),this.createBranch(b).push(y),this.isDirty=!0,y.parent=this,y.parentBranch=b}addChildBefore(y,b){console.assert(b.parentBranch!==void 0);const E=this.createBranch(b.parentBranch);E.splice(E.indexOf(b),0,y),this.isDirty=!0,y.parent=this,y.parentBranch=b.parentBranch}addChildAfter(y,b){console.assert(b.parentBranch!==void 0);const E=this.createBranch(b.parentBranch);E.splice(E.indexOf(b)+1,0,y),this.isDirty=!0,y.parent=this,y.parentBranch=b.parentBranch}addChildren(y,b){const E=this.createBranch(b);for(const te of y)te.parent=this,te.parentBranch=b,E.push(te);this.isDirty=!0}addChildrenAfter(y,b){console.assert(y.length===0||y[0].type!=="first"),console.assert(b.parentBranch!==void 0);const E=this.createBranch(b.parentBranch);E.splice(E.indexOf(b)+1,0,...y),this.isDirty=!0;for(const te of y)te.parent=this,te.parentBranch=b.parentBranch;return y[y.length-1]}removeBranch(y){const b=this.branch(y);if(Hc(y)&&(this._branches[y]=void 0),!b)return[];for(const E of b)E.parent=void 0,E.parentBranch=void 0;return console.assert(b[0].type==="first"),b.shift(),this.isDirty=!0,b}removeChild(y){if(console.assert(y.parent===this),y.type==="first")return;const b=this.branch(y.parentBranch),E=b.indexOf(y);console.assert(E>=0),b.splice(E,1),this.isDirty=!0,y.parent=void 0,y.parentBranch=void 0}get siblings(){return this.parent?this.parent.branch(this.parentBranch):[]}get firstSibling(){return this.siblings[0]}get lastSibling(){const{siblings:y}=this;return y[y.length-1]}get isFirstSibling(){return this===this.firstSibling}get isLastSibling(){return this===this.lastSibling}get hasNoSiblings(){return this.siblings.length===1}get leftSibling(){console.assert(this.parent!==void 0);const y=this.parent.branch(this.parentBranch);return y[y.indexOf(this)-1]}get rightSibling(){console.assert(this.parent!==void 0);const y=this.parent.branch(this.parentBranch);return y[y.indexOf(this)+1]}get hasChildren(){return!!(this._branches&&this.children.length>0)}get firstChild(){return console.assert(this.hasChildren),this.children[0]}get lastChild(){console.assert(this.hasChildren);const{children:y}=this;return y[y.length-1]}get children(){if(this._children)return this._children;if(!this._branches)return[];const y=[];for(const b of Ld)if(this._branches[b])for(const E of this._branches[b])y.push(...E.children),y.push(E);return this._children=y,y}render(y){if(this.type==="first"&&!y.atomIdsSettings)return null;const b=qt(this.command,this.mode);if(b!=null&&b.render)return b.render(this,y);const E=new vu({parent:y},this.style);let te=this.createBox(E,{classes:this.parent?"":"ML__base"});return te?(!this.subsupPlacement&&(this.superscript||this.subscript)&&(te=this.attachSupsub(E,{base:te})),te.wrap(E)):null}attachSupsub(y,b){var E;const te=b.base,oe=this.superscript,ue=this.subscript;if(!oe&&!ue)return te;let Ae=null,Ee=null;const Ne=(E=b.isCharacterBox)!=null?E:this.isCharacterBox();let Ge=0;if(oe){const gi=new vu({parent:y,mathstyle:"superscript"});Ae=N0.createBox(gi,oe),Ne||(Ge=te.height-y.metrics.supDrop*gi.scalingFactor)}let gt=0;if(ue){const gi=new vu({parent:y,mathstyle:"subscript"});Ee=N0.createBox(gi,ue),Ne||(gt=te.depth+y.metrics.subDrop*gi.scalingFactor)}let $t;y.isDisplayStyle?$t=y.metrics.sup1:y.isCramped?$t=y.metrics.sup3:$t=y.metrics.sup2;const kn=.5/$o/y.scalingFactor;let rr=null;if(Ee&&Ae){Ge=Math.max(Ge,$t,Ae.depth+.25*y.metrics.xHeight),gt=Math.max(gt,y.metrics.sub2);const gi=y.metrics.defaultRuleThickness;if(Ge-Ae.depth-(Ee.height-gt)<4*gi){gt=4*gi-(Ge-Ae.depth)+Ee.height;const si=.8*y.metrics.xHeight-(Ge-Ae.depth);si>0&&(Ge+=si,gt-=si)}const no=this.isExtensibleSymbol&&te.italic?-te.italic:0;rr=new Iu({individualShift:[{box:Ee,shift:gt,marginLeft:no},{box:Ae,shift:-Ge}]}).wrap(y)}else Ee&&!Ae?(gt=Math.max(gt,y.metrics.sub1,Ee.height-.8*Cs),rr=new Iu({shift:gt,children:[{box:Ee,marginRight:kn,marginLeft:this.isCharacterBox()?-te.italic:0}]})):!Ee&&Ae&&(Ge=Math.max(Ge,$t,Ae.depth+.25*Cs),rr=new Iu({shift:-Ge,children:[{box:Ae,marginRight:kn}]}));return new za([te,new za(rr,{caret:this.caret,isSelected:this.isSelected,classes:"msubsup"})],{type:b.type})}attachLimits(y,b){const E=this.superscript?N0.createBox(new vu({parent:y,mathstyle:"superscript"},this.style),this.superscript):null,te=this.subscript?N0.createBox(new vu({parent:y,mathstyle:"subscript"},this.style),this.subscript):null;return!E&&!te?b.base.wrap(y):pf(y,He(Se({},b),{above:E,below:te}))}bind(y,b){if(!b||y.isPhantom||this.value==="\u200B")return b;let E=this.parent;for(;E&&!E.captureSelection;)E=E.parent;return E!=null&&E.captureSelection||(this.id||(this.id=y.makeID()),b.atomID=this.id),b}createBox(y,b){var E,te,oe,ue;const Ae=(E=this.value)!=null?E:this.body,Ee=(te=b==null?void 0:b.boxType)!=null?te:kd(this.type);let Ne=(oe=b==null?void 0:b.classes)!=null?oe:"";this.mode==="text"&&(Ne+=" ML__text");const Ge=typeof Ae=="string"||Ae===void 0?new za(Ae!=null?Ae:null,{type:Ee,isSelected:this.isSelected,mode:this.mode,maxFontSize:y.scalingFactor,style:He(Se({variant:"normal"},this.style),{fontSize:Math.max(1,y.size+y.mathstyle.sizeDelta)}),letterShapeStyle:y.letterShapeStyle,classes:Ne}):(ue=N0.createBox(y,Ae,{type:Ee,classes:Ne}))!=null?ue:new za(null);return y.isTight&&(Ge.isTight=!0),(this.mode!=="math"||this.style.variant==="main")&&(Ge.italic=0),Ge.right=Ge.italic,this.bind(y,Ge),this.caret&&!this.superscript&&!this.subscript&&(Ge.caret=this.caret),Ge}isDigit(){var y;return this.type==="mord"&&this.value?/^[\d,\.]$/.test(this.value):this.type==="group"&&((y=this.body)==null?void 0:y.length)===2?this.body[0].type==="first"&&this.body[1].value===",":!1}asDigit(){var y;return this.type==="mord"&&this.value&&/^[\d,\.]$/.test(this.value)?this.value:this.type==="group"&&((y=this.body)==null?void 0:y.length)===2&&this.body[0].type==="first"&&this.body[1].value===","?".":""}};function $f(a){let y;const b=[];let E=[];for(const te of a)if(!y&&!te.style)E.push(te);else{const oe=te.computedStyle;y&&oe.color===y.color&&oe.backgroundColor===y.backgroundColor&&oe.fontSize===y.fontSize?E.push(te):(E.length>0&&b.push(E),E=[te],y=oe)}return E.length>0&&b.push(E),b}function kf(a,y,b){var E,te,oe,ue,Ae;if(!y||y.length===0)return null;const Ee=new vu({parent:a},b.style),Ne=!((E=Ee.atomIdsSettings)!=null&&E.groupNumbers);let Ge=[];if(y.length===1){const $t=y[0],kn=$t.render(Ee);kn&&(Ne&&$t.isSelected&&kn.selected(!0),Ge=[kn])}else{let $t="",kn=!0;for(const rr of y){(te=Ee.atomIdsSettings)!=null&&te.groupNumbers&&$t&&(kn&&rr.isDigit()||!kn&&e0(rr))&&(Ee.atomIdsSettings.overrideID=$t);const gi=rr.render(Ee);Ee.atomIdsSettings&&(Ee.atomIdsSettings.overrideID=void 0),gi&&((oe=Ee.atomIdsSettings)!=null&&oe.groupNumbers&&((rr.isDigit()||e0(rr))&&(!$t||kn!==rr.isDigit())&&(kn=rr.isDigit(),$t=(ue=rr.id)!=null?ue:""),$t&&(!(rr.isDigit()||e0(rr))||!rr.hasEmptyBranch("superscript")||!rr.hasEmptyBranch("subscript"))&&($t="")),Ne&&rr.isSelected&&gi.selected(!0),Ge.push(gi))}}if(Ge.length===0)return null;const gt=new za(Ge,He(Se({isTight:Ee.isTight},b),{type:(Ae=b.type)!=null?Ae:"lift"}));return gt.isSelected=Ge.every($t=>$t.isSelected),gt.wrap(Ee)}function e0(a){return a.mode==="text"}function Xf(a){return a.map(y=>y===null?"":Array.isArray(y)&&y[0]instanceof Ti?{atoms:y.map(b=>b.toJson())}:typeof y=="object"&&"group"in y?{group:y.group.map(b=>b.toJson())}:y)}var Cd=class qv extends Ti{constructor(y,b,E){super({type:"text",command:y,mode:"text",displayContainsHighlight:!0}),this.value=b,this.verbatimLatex=b,this.applyStyle(E)}static fromJson(y){return new qv(y.command,y.value,y.style)}render(y){const b=this.createBox(y);return this.caret&&(b.caret=this.caret),b}_serialize(y){var b;return(b=this.verbatimLatex)!=null?b:nr("text",this.value.codePointAt(0))}};function Yc(a,y){if(a.direction===y.direction){const b=a.ranges.length;if(y.ranges.length===b){let E=0;for(;E=":"\\ge","\u2264":"\\le","<=":"\\le","<<":"\\ll",">>":"\\gg","~~":"\\approx","\u2248":"\\approx","?=":"\\questeq","\xF7":"\\div","\xAC":"\\neg",":=":"\\coloneq","::":"\\Colon","(:":"\\langle",":)":"\\rangle",beta:"\\beta",chi:"\\chi",epsilon:"\\epsilon",varepsilon:"\\varepsilon",eta:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\eta"},gamma:"\\gamma",Gamma:"\\Gamma",iota:"\\iota",kappa:"\\kappa",lambda:"\\lambda",Lambda:"\\Lambda",mu:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\mu"},nu:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\nu"},\u00B5:"\\mu",phi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\phi"},Phi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Phi"},varphi:"\\varphi",psi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\psi"},Psi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Psi"},rho:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\rho"},sigma:"\\sigma",Sigma:"\\Sigma",tau:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\tau"},vartheta:"\\vartheta",upsilon:"\\upsilon",xi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space",value:"\\xi"},Xi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Xi"},zeta:"\\zeta",omega:"\\omega",Omega:"\\Omega",\u03A9:"\\omega",forall:"\\forall",exists:"\\exists","!exists":"\\nexists",":.":"\\therefore",liminf:"\\liminf_{#?}",limsup:"\\limsup_{#?}",argmin:"\\operatorname*{arg~min}_{#?}",argmax:"\\operatorname*{arg~max}_{#?}",det:"\\det",mod:"\\bmod{#?}","(mod":"\\pmod{#?}",max:"\\max",min:"\\min",erf:"\\operatorname{erf}",erfc:"\\operatorname{erfc}",bessel:"\\operatorname{bessel}",mean:"\\operatorname{mean}",median:"\\operatorname{median}",fft:"\\operatorname{fft}",lcm:"\\operatorname{lcm}",gcd:"\\operatorname{gcd}",randomReal:"\\operatorname{randomReal}",randomInteger:"\\operatorname{randomInteger}",Re:"\\operatorname{Re}",Im:"\\operatorname{Im}",mm:{after:"nothing+digit+operator",value:"\\operatorname{mm}"},cm:{after:"nothing+digit+operator",value:"\\operatorname{cm}"},km:{after:"nothing+digit+operator",value:"\\operatorname{km}"},kg:{after:"nothing+digit+operator",value:"\\operatorname{kg}"},"...":"\\ldots","+...":"+\\cdots","-...":"-\\cdots","->...":"\\to\\cdots","-->...":"\\longrightarrow\\cdots","->":"\\to","|->":"\\mapsto","-->":"\\longrightarrow","<--":"\\longleftarrow","=>":"\\Rightarrow","==>":"\\Longrightarrow","<=>":"\\Leftrightarrow","<->":"\\leftrightarrow","(.)":"\\odot","(+)":"\\oplus","(/)":"\\oslash","(*)":"\\otimes","(-)":"\\ominus","||":"\\Vert","*":"\\cdot","**":"\\star","***":"\\ast","//":"\\slash","\\\\":"\\backslash",setminus:"\\backslash","|><":"\\ltimes","><|":"\\rtimes","|><|":"\\bowtie","-:":"\\div",divide:"\\div","@":"\\circ","^^":"\\wedge","^^^":"\\bigwedge",vv:"\\vee",vvv:"\\bigvee",nn:"\\cap",nnn:"\\bigcap",uu:"\\cup",uuu:"\\bigcup","-=":"\\equiv","~=":"\\cong",lt:"<","lt=":"\\leq",gt:">","gt=":"\\geq","-<":"\\prec","-lt":"\\prec","-<=":"\\preceq",">-=":"\\succeq",prop:"\\propto",diamond:"\\diamond",square:"\\square",iff:"\\iff",sub:"\\subset",sup:"\\supset",sube:"\\subseteq",supe:"\\supseteq",uarr:"\\uparrow",darr:"\\downarrow",rarr:"\\rightarrow",rArr:"\\Rightarrow",larr:"\\leftarrow",lArr:"\\Leftarrow",harr:"\\leftrightarrow",hArr:"\\Leftrightarrow",aleph:"\\aleph",and:"\\land",or:"\\lor",not:"\\neg","_|_":"\\bot",TT:"\\top","|--":"\\vdash","|==":"\\models","|__":"\\lfloor","__|":"\\rfloor","|~":"\\lceil","~|":"\\rceil",">->":"\\rightarrowtail","->>":"\\twoheadrightarrow",">->>":"\\twoheadrightarrowtail",frac:"\\frac{#?}{#?}",cbrt:"\\sqrt[3]{#?}",nthroot:"\\sqrt[#?]{#?}"};function Nl(a,y){var b;let E=(b=y==null?void 0:y.format)!=null?b:"auto";return E==="auto"&&([E,a]=pd(a)),E==="ascii-math"?(a=a.replace(/\u2061/gu,""),a=a.replace(/\u3016/gu,"{"),a=a.replace(/\u3017/gu,"}"),a=a.replace(/([^\\])sinx/g,"$1\\sin x"),a=a.replace(/([^\\])cosx/g,"$1\\cos x "),a=a.replace(/\u2013/g,"-"),["ascii-math",Ml(a,{inlineShortcuts:y==null?void 0:y.inlineShortcuts})]):["latex",a]}function Ml(a,y){var b,E,te;if(!a)return"";let oe=!1,ue;const Ae=(b=y.inlineShortcuts)!=null?b:fu;if(!oe&&(a.startsWith("^")||a.startsWith("_"))&&(ue=Ia(a.slice(1),{inlineShortcuts:Ae,noWrap:!0}),a=a[0]+"{"+ue.match+"}",a+=Ml(ue.rest,y),oe=!0),oe||(ue=a.match(/^(sqrt|\u221A)(.*)/),ue&&(ue=Ia(ue[2],{inlineShortcuts:Ae,noWrap:!0}),a="\\sqrt{"+((E=ue.match)!=null?E:"\\placeholder{}")+"}",a+=Ml(ue.rest,y),oe=!0)),oe||(ue=a.match(/^(\\cbrt|\u221B)(.*)/),ue&&(ue=Ia(ue[2],{inlineShortcuts:Ae,noWrap:!0}),a="\\sqrt[3]{"+((te=ue.match)!=null?te:"\\placeholder{}")+"}",a+=Ml(ue.rest,y),oe=!0)),oe||(ue=a.match(/^abs(.*)/),ue&&(ue=Ia(ue[1],{inlineShortcuts:Ae,noWrap:!0}),a="\\left|"+ue.match+"\\right|",a+=Ml(ue.rest,y),oe=!0)),oe||(ue=a.match(/^["”“](.*?)["”“](.*)/),ue&&(a="\\text{"+ue[1]+"}",a+=Ml(ue[2],y),oe=!0)),oe||(ue=a.match(/^([^a-zA-Z\(\{\[\_\^\\\s"]+)(.*)/),ue&&(a=_u(ue[1],Ae),a+=Ml(ue[2],y),oe=!0)),!oe&&/^([fgh])[^a-zA-Z]/.test(a)&&(ue=Ia(a.slice(1),{inlineShortcuts:Ae,noWrap:!0}),a=a[1]==="("?a[0]+"\\left("+ue.match+"\\right)":a[0]+ue.match,a+=Ml(ue.rest,y),oe=!0),oe||(ue=a.match(/^([a-zA-Z]+)(.*)/),ue&&(a=_u(ue[1],Ae),a+=Ml(ue[2],y),oe=!0)),!oe)if(ue=Ia(a,{inlineShortcuts:Ae,noWrap:!0}),ue.match&&ue.rest[0]==="/"){const Ee=Ia(ue.rest.slice(1),{inlineShortcuts:Ae,noWrap:!0});Ee.match&&(a="\\frac{"+ue.match+"}{"+Ee.match+"}"+Ml(Ee.rest,y)),oe=!0}else ue.match&&(a=a.startsWith("(")?"\\left("+ue.match+"\\right)"+Ml(ue.rest,y):ue.match+Ml(ue.rest,y),oe=!0);return oe||(ue=a.match(/^(\s+)(.*)$/),ue&&(a=" "+Ml(ue[2],y),oe=!0)),a}function Ia(a,y){let b="";a=a.trim();let E=a,te=a.charAt(0),oe={"(":")","{":"}","[":"]"}[te];if(oe){let ue=1,Ae=1;for(;Ae0;)a[Ae]===te&&ue++,a[Ae]===oe&&ue--,Ae++;ue===0?(y.noWrap&&te==="("?b=Ml(a.substring(1,Ae-1),y):(te==="{"&&oe==="}"&&(te="\\{",oe="\\}"),b="\\left"+te+Ml(a.substring(1,Ae-1),y)+"\\right"+oe),E=a.slice(Math.max(0,Ae))):(b=a.substring(1,Ae),E="")}else{let ue=a.match(/^([a-zA-Z]+)/);if(ue){let Ae=Nf(null,a,y.inlineShortcuts);if(Ae)return Ae=Ae.replace("_{#?}",""),Ae=Ae.replace("^{#?}",""),{match:Ae,rest:a.slice(Ae.length)}}if(ue=a.match(/^([a-zA-Z])/),ue)return{match:ue[1],rest:a.slice(1)};if(ue=a.match(/^(-)?\d+(\.\d*)?/),ue)return{match:ue[0],rest:a.slice(ue[0].length)};/^\\(left|right)/.test(a)||(ue=a.match(/^(\\[a-zA-Z]+)/),ue&&(E=a.slice(ue[1].length),b=ue[1]))}return{match:b,rest:E}}function _u(a,y){let b=Nf(null,a,y);return b?(b=b.replace("_{#?}",""),b=b.replace("^{#?}",""),b+=" "):b=a,b}var Xd=[["\\[","\\]"],["\\(","\\)"],["$$","$$"],["$","$"],["\\begin{math}","\\end{math}"],["\\begin{displaymath}","\\end{displaymath}"],["\\begin{equation}","\\end{equation}"],["\\begin{equation*}","\\end{equation*}"]];function Mc(a){const y=a.trim();for(const b of Xd)if(y.startsWith(b[0])&&y.endsWith(b[1]))return[!0,y.substring(b[0].length,y.length-b[1].length)];return[!1,a]}function pd(a){if(a=a.trim(),a.length<=1)return["latex",a];let y;return[y,a]=Mc(a),y?["latex",a]:a.startsWith("`")&&a.endsWith("`")?(a=a.substring(1,a.length-1),["ascii-math",a]):a.includes("\\")?["latex",a]:/\$.+\$/.test(a)?["latex",`\\text{${a}}`]:[void 0,a]}var ad="$$",ef="$$",tf=(a,y,b)=>(Xd.some(E=>y.startsWith(E[0])&&y.endsWith(E[1]))||(y=`${ad} ${y} ${ef}`),y),od=class bp{constructor(y){bp._modes[y]=this}static onPaste(y,b,E){var te;if(!b.contentEditable&&b.userSelect==="none")return b.model.announce("plonk"),!1;if(typeof E=="string"){const ue=new DataTransfer;ue.setData("text/plain",E),E=ue}const oe=new ClipboardEvent("paste",{clipboardData:E,cancelable:!0});return(te=b.host)!=null&&te.dispatchEvent(oe)?bp._modes[y].onPaste(b,E):!1}static copyToClipboard(y,b){if(!y.contentEditable&&y.userSelect==="none"){y.model.announce("plonk");return}const E=y.model,te=E.selectionIsCollapsed?[0,E.lastOffset]:Sc(E.selection),oe=E.getValue(te,b);navigator.clipboard.writeText(oe).then(()=>{},()=>y.model.announce("plonk"))}static onCopy(y,b){var E;if(!b.clipboardData)return;if(!y.contentEditable&&y.userSelect==="none"){y.model.announce("plonk");return}const te=y.model,oe=te.selectionIsCollapsed?[0,te.lastOffset]:Sc(te.selection);let ue=te.getAtoms(oe);if(ue.every(Ae=>Ae.mode==="text"||!Ae.mode))b.clipboardData.setData("text/plain",ue.filter(Ae=>Ae instanceof Cd).map(Ae=>Ae.value).join(""));else if(ue.every(Ae=>Ae.mode==="latex"))b.clipboardData.setData("text/plain",te.getAtoms(oe,{includeChildren:!0}).map(Ae=>{var Ee;return(Ee=Ae.value)!=null?Ee:""}).join(""));else{let Ae;ue.length===1&&ue[0].verbatimLatex!==void 0?Ae=ue[0].verbatimLatex:Ae=te.getValue(oe,"latex-expanded"),b.clipboardData.setData("application/x-latex",Ae);try{b.clipboardData.setData("text/plain",y.options.onExport(y,Ae,oe))}catch(Ee){}if(ue.length===1){const Ee=ue[0];(Ee.type==="root"||Ee.type==="group")&&(ue=Ee.body.filter(Ne=>Ne.type!=="first"))}try{b.clipboardData.setData("application/json+mathlive",JSON.stringify(ue.map(Ee=>Ee.toJson())))}catch(Ee){}if((E=window[Symbol.for("io.cortexjs.compute-engine")])!=null&&E.ComputeEngine){const Ee=window.MathfieldElement.computeEngine;if(Ee)try{const Ne=Ee.jsonSerializationOptions;Ee.jsonSerializationOptions={metadata:["latex"]};const Ge=Ee.parse(te.getValue(oe,"latex-unstyled"));Ee.jsonSerializationOptions=Ne;const gt=JSON.stringify(Ge.json);gt&&b.clipboardData.setData("application/json",gt)}catch(Ne){}}}b.preventDefault()}static insert(y,b,E={}){var te;const oe=E.mode==="auto"?y.mode:(te=E.mode)!=null?te:y.mode;return bp._modes[oe].insert(y,b,E)}onPaste(y,b){return!1}insert(y,b,E){return!1}};od._modes={};var Os=od,Ac=[{key:"left",command:"moveToPreviousChar"},{key:"right",command:"moveToNextChar"},{key:"up",command:"moveUp"},{key:"down",command:"moveDown"},{key:"shift+[ArrowLeft]",command:"extendSelectionBackward"},{key:"shift+[ArrowRight]",command:"extendSelectionForward"},{key:"shift+[ArrowUp]",command:"extendSelectionUpward"},{key:"shift+[ArrowDown]",command:"extendSelectionDownward"},{key:"[Backspace]",command:"deleteBackward"},{key:"alt+[Delete]",command:"deleteBackward"},{key:"[Delete]",command:"deleteForward"},{key:"alt+[Backspace]",command:"deleteForward"},{key:"alt+[ArrowLeft]",command:"moveToPreviousWord"},{key:"alt+[ArrowRight]",command:"moveToNextWord"},{key:"shift+alt+[ArrowLeft]",command:"extendToPreviousWord"},{key:"shift+alt+[ArrowRight]",command:"extendToNextWord"},{key:"ctrl+[ArrowLeft]",command:"moveToGroupStart"},{key:"ctrl+[ArrowRight]",command:"moveToGroupEnd"},{key:"shift+ctrl+[ArrowLeft]",command:"extendToGroupStart"},{key:"shift+ctrl+[ArrowRight]",command:"extendToGroupEnd"},{key:"[Home]",command:"moveToMathfieldStart"},{key:"cmd+[ArrowLeft]",command:"moveToMathfieldStart"},{key:"shift+[Home]",command:"extendToMathFieldStart"},{key:"shift+cmd+[ArrowLeft]",command:"extendToMathFieldStart"},{key:"[End]",command:"moveToMathfieldEnd"},{key:"cmd+[ArrowRight]",command:"moveToMathfieldEnd"},{key:"shift+[End]",command:"extendToMathFieldEnd"},{key:"shift+cmd+[ArrowRight]",command:"extendToMathFieldEnd"},{key:"[Pageup]",command:"moveToGroupStart"},{key:"[Pagedown]",command:"moveToGroupEnd"},{key:"[Tab]",command:"moveToNextGroup"},{key:"shift+[Tab]",command:"moveToPreviousGroup"},{key:"[Escape]",ifMode:"math",command:["switchMode","latex"]},{key:"[Escape]",ifMode:"text",command:["switchMode","latex"]},{key:"[Escape]",ifMode:"latex",command:["complete","complete",{selectItem:"true"}]},{key:"\\",ifMode:"math",command:["switchMode","latex","\\"]},{key:"[IntlBackslash]",ifMode:"math",command:["switchMode","latex","\\"]},{key:"[Tab]",ifMode:"latex",command:["complete","accept-suggestion"]},{key:"[Return]",ifMode:"latex",command:"complete"},{key:"[Enter]",ifMode:"latex",command:"complete"},{key:"shift+[Escape]",ifMode:"latex",command:["complete","reject"]},{key:"[ArrowDown]",ifMode:"latex",command:"nextSuggestion"},{key:"[ArrowUp]",ifMode:"latex",command:"previousSuggestion"},{key:"ctrl+a",ifPlatform:"!macos",command:"selectAll"},{key:"cmd+a",command:"selectAll"},{key:"[Cut]",command:"cutToClipboard"},{key:"[Copy]",command:"copyToClipboard"},{key:"[Paste]",command:"pasteFromClipboard"},{key:"[Clear]",command:"deleteBackward"},{key:"[Undo]",command:"undo"},{key:"[Redo]",command:"redo"},{key:"[EraseEof]",command:"deleteToGroupEnd"},{key:"ctrl+x",ifPlatform:"ios",command:"cutToClipboard"},{key:"cmd+x",ifPlatform:"ios",command:"cutToClipboard"},{key:"ctrl+c",ifPlatform:"ios",command:"copyToClipboard"},{key:"cmd+c",ifPlatform:"ios",command:"copyToClipboard"},{key:"ctrl+v",ifPlatform:"ios",command:"pasteFromClipboard"},{key:"cmd+v",ifPlatform:"ios",command:"pasteFromClipboard"},{key:"ctrl+z",ifPlatform:"!macos",command:"undo"},{key:"cmd+z",command:"undo"},{key:"ctrl+y",ifPlatform:"!macos",command:"redo"},{key:"shift+cmd+y",command:"redo"},{key:"shift+ctrl+z",ifPlatform:"!macos",command:"redo"},{key:"shift+cmd+z",command:"redo"},{key:"ctrl+b",ifPlatform:"macos",command:"moveToPreviousChar"},{key:"ctrl+f",ifPlatform:"macos",command:"moveToNextChar"},{key:"ctrl+p",ifPlatform:"macos",command:"moveUp"},{key:"ctrl+n",ifPlatform:"macos",command:"moveDown"},{key:"ctrl+a",ifPlatform:"macos",command:"moveToMathfieldStart"},{key:"ctrl+e",ifPlatform:"macos",command:"moveToMathfieldEnd"},{key:"shift+ctrl+b",ifPlatform:"macos",command:"extendSelectionBackward"},{key:"shift+ctrl+f",ifPlatform:"macos",command:"extendSelectionForward"},{key:"shift+ctrl+p",ifPlatform:"macos",command:"extendSelectionUpward"},{key:"shift+ctrl+n",ifPlatform:"macos",command:"extendSelectionDownward"},{key:"shift+ctrl+a",ifPlatform:"macos",command:"extendToMathFieldStart"},{key:"shift+ctrl+e",ifPlatform:"macos",command:"extendToMathFieldEnd"},{key:"alt+ctrl+b",ifPlatform:"macos",command:"moveToPreviousWord"},{key:"alt+ctrl+f",ifPlatform:"macos",command:"moveToNextWord"},{key:"shift+alt+ctrl+b",ifPlatform:"macos",command:"extendToPreviousWord"},{key:"shift+alt+ctrl+f",ifPlatform:"macos",command:"extendToNextWord"},{key:"ctrl+h",ifPlatform:"macos",command:"deleteBackward"},{key:"ctrl+d",ifPlatform:"macos",command:"deleteForward"},{key:"ctrl+l",ifPlatform:"macos",command:"scrollIntoView"},{key:"ctrl+[Digit2]",ifMode:"math",command:["insert","\\sqrt{#0}"]},{key:"ctrl+[Digit5]",ifMode:"math",command:"moveToOpposite"},{key:"ctrl+[Digit6]",ifMode:"math",command:"moveToSuperscript"},{key:"ctrl+[Return]",ifMode:"math",command:"addRowAfter"},{key:"ctrl+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"cmd+[Return]",ifMode:"math",command:"addRowAfter"},{key:"cmd+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"alt+p",ifMode:"math",command:["insert","\\pi"]},{key:"alt+v",ifMode:"math",command:["insert","\\sqrt{#0}"]},{key:"alt+o",ifMode:"math",command:["insert","\\emptyset"]},{key:"alt+d",ifMode:"math",command:["insert","\\differentialD"]},{key:"shift+alt+o",ifMode:"math",command:["insert","\\varnothing"]},{key:"shift+alt+d",ifMode:"math",command:["insert","\\partial"]},{key:"alt+[Backslash]",ifMode:"math",command:["insert","\\backslash"]},{key:"[NumpadDivide]",ifMode:"math",command:["insert","\\frac{#@}{#?}"]},{key:"alt+[NumpadDivide]",ifMode:"math",command:["insert","\\frac{#?}{#@}"]},{key:"shift+alt+k",command:"toggleKeystrokeCaption"},{key:"alt+[Space]",command:"toggleContextMenu"},{key:"alt+shift+[Space]",command:"toggleVirtualKeyboard"},{key:"alt+ctrl+[ArrowUp]",command:["speak","all",{withHighlighting:!1}]},{key:"alt+ctrl+[ArrowDown]",command:["speak","selection",{withHighlighting:!1}]},{key:"shift+[Quote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["switchMode","text","",""]},{key:"shift+alt+[KeyT]",ifMode:"math",command:["switchMode","text","",""]},{key:"shift+[Quote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"text",command:["switchMode","math","",""]},{key:"shift+alt+[KeyT]",ifMode:"text",command:["switchMode","math","",""]},{key:"/",ifMode:"math",command:["insert","\\frac{#@}{#?}"]},{key:"alt+/",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","/"]},{key:"alt+shift+/",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","/"]},{key:"alt+[BracketLeft]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\left\\lbrack #0 \\right\\rbrack"]},{key:"ctrl+[Minus]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"moveToSubscript"},{key:"shift+alt+[BracketLeft]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\left\\lbrace #0 \\right\\rbrace"]},{key:"ctrl+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowAfter"},{key:"cmd+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowAfter"},{key:"shift+ctrl+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowBefore"},{key:"shift+cmd+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowBefore"},{key:"ctrl+[Backspace]",ifMode:"math",command:"removeRow"},{key:"cmd+[Backspace]",ifMode:"math",command:"removeRow"},{key:"alt+[Tab]",ifMode:"math",command:"addColumnAfter"},{key:"shift+alt+[Tab]",ifMode:"math",command:"addColumnBefore"},{key:"alt+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"shift+alt+[Enter]",ifMode:"math",command:"addRowBefore"},{key:"alt+[Return]",ifMode:"math",command:"addRowAfter"},{key:"shift+alt+[Return]",ifMode:"math",command:"addRowBefore"},{key:"shift+[Backspace]",ifMode:"math",command:"removeColumn"},{key:"alt+[Digit5]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","$\\infty"]},{key:"alt+[Digit9]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","("]},{key:"alt+[Digit0]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert",")"]},{key:"alt+|",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","|"]},{key:"shift+[Backquote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\~"]},{key:"[Backquote]",ifLayout:["windows.french","linux.french"],ifMode:"math",command:["insert","^2"]},{key:"[Backquote]",ifLayout:["windows.german","linux.german"],ifMode:"math",command:["insert","^"]},{key:"[IntlBackslash]",ifLayout:["apple.german"],ifMode:"math",command:["insert","^"]}],A0={"\\sqrt":["alt+v","ctrl+[Digit2]"],"\\pi":"alt+p","\\infty":"alt+[Digit5]","\\differentialD":"alt+d","\\partial":"shift+alt+d","\\frac":"Slash","\\emptyset":"alt+o","\\varnothing":"shift+alt+o","\\~":"~"};function Ed(a){var y;return((y=a.element)==null?void 0:y.mathfield)===a}function Zd(a){var y,b;return(b=(y=a.querySelector(".ML__caret"))!=null?y:a.querySelector(".ML__text-caret"))!=null?b:a.querySelector(".ML__latex-caret")}function Qd(a){const y=Zd(a);if(!y)return null;const b=y.getBoundingClientRect();return{x:b.right,y:b.bottom,height:b.height}}function y0(a){var y;if(!a.parent)return"root";let b=(y=a.parent.id)!=null?y:"";return b+=typeof a.parentBranch=="string"?"-"+a.parentBranch:`-${a.parentBranch[0]}/${a.parentBranch[0]}`,b}function b0(a,y,b){if(!y)return null;const E=a.field.getBoundingClientRect(),te=y.right-y.left,oe=y.bottom-y.top,ue=Math.ceil(y.left-E.left+a.field.scrollLeft*b),Ae=Math.ceil(y.top-E.top);return{left:ue,right:ue+te,top:Ae,bottom:Ae+oe}}function x0(a){const y=a.getBoundingClientRect(),b=parseInt(getComputedStyle(a).marginRight),E={top:y.top-1,bottom:y.bottom,left:y.left,right:y.right-1+b};if(a.children.length===0||a.tagName.toUpperCase()==="SVG")return E;for(const te of a.children)if(te.nodeType===1&&"atomId"in te.dataset&&!te.classList.contains("pstrut")){const oe=x0(te);E.left=Math.min(E.left,oe.left),E.right=Math.max(E.right,oe.right),E.top=Math.min(E.top,oe.top),E.bottom=Math.max(E.bottom,oe.bottom)}return E}function vd(a,y){var b,E;if(!y.id)return null;let te=(E=(b=a.atomBoundsCache)==null?void 0:b.get(y.id))!=null?E:null;if(te!==null)return te;const oe=a.field.querySelector(`[data-atom-id="${y.id}"]`);return te=oe?x0(oe):null,a.atomBoundsCache&&(te?a.atomBoundsCache.set(y.id,te):a.atomBoundsCache.delete(y.id)),te!=null?te:null}function O0(a,y,b){const E=new Map;for(const te of a.model.getAtoms(y,{includeChildren:!0})){if(b!=null&&b.excludeAtomsWithBackground&&te.style.backgroundColor)continue;const oe=a.field,ue=oe.offsetWidth;let Ee=Math.floor(oe.getBoundingClientRect().width)/ue;Ee=isNaN(Ee)?1:Ee;const Ne=b0(a,vd(a,te),Ee);if(Ne){const Ge=y0(te);if(E.has(Ge)){const gt=E.get(Ge);E.set(Ge,{left:Math.min(gt.left,Ne.left),right:Math.max(gt.right,Ne.right),top:Math.min(gt.top,Ne.top),bottom:Math.max(gt.bottom,Ne.bottom)})}else E.set(Ge,Ne)}}return[...E.values()]}function w0(a,y){return a.model.selection.ranges.reduce((b,E)=>b.concat(...O0(a,E,y)),[])}function C0(a,y){return a==="*"||y==="none"?!0:y==="same-origin"?!window.origin||a===window.origin:typeof y=="function"?y(a):!1}function Lf(a){let y=0,b=0;const E=a.offsetWidth,te=a.offsetHeight;for(;a instanceof HTMLElement;)y+=a.offsetTop,b+=a.offsetLeft,a=a.offsetParent;return new DOMRect(b,y,E,te)}var Vf=`@keyframes ML__caret-blink { + 0%, + 100% { + opacity: 1; + } + 50% { + opacity: 0; + } +} +.ML__container { + display: inline-flex; + flex-flow: row; + justify-content: space-between; + align-items: flex-end; + min-height: 39px; + /* Need some room for the virtual keyboard toggle */ + width: 100%; + /* Encourage browsers to consider allocating a hardware accelerated + layer for this element. */ + isolation: isolate; + /* Prevent the browser from trying to interpret touch gestures in the field */ + /* "Disabling double-tap to zoom removes the need for browsers to + delay the generation of click events when the user taps the screen." */ + touch-action: none; + --_caret-color: var(--caret-color, hsl(var(--_hue), 40%, 49%)); + --_selection-color: var(--selection-color, #000); + --_selection-background-color: var(--selection-background-color, hsl(var(--_hue), 70%, 85%)); + --_text-highlight-background-color: var(--highlight-text, hsla(var(--_hue), 40%, 50%, 0.1)); + --_contains-highlight-background-color: var(--contains-highlight-background-color, hsl(var(--_hue), 40%, 95%)); + --_smart-fence-color: var(--smart-fence-color, currentColor); + --_smart-fence-opacity: var(--smart-fence-opacity, 0.5); + --_latex-color: var(--latex-color, hsl(var(--_hue), 80%, 40%)); + --_correct-color: var(--correct-color, #10a000); + --_incorrect-color: var(--incorrect-color, #a01b00); + --_composition-background-color: var(--composition-background-color, #fff1c2); + --_composition-text-color: var(--composition-text-color, black); + --_composition-underline-color: var(--composition-underline-color, transparent); +} +/* This is the actual field content (formula) */ +.ML__content { + display: flex; + align-items: center; + align-self: center; + position: relative; + overflow: hidden; + padding: 2px 3px 2px 1px; + width: 100%; +} +.ML__virtual-keyboard-toggle, +.ML__menu-toggle { + box-sizing: border-box; + display: flex; + align-self: center; + align-items: center; + flex-shrink: 0; + flex-direction: column; + justify-content: center; + width: 34px; + height: 34px; + padding: 0; + margin-right: 4px; + cursor: pointer; + /* Avoid some weird blinking with :hover */ + border-radius: 8px; + border: 1px solid transparent; + transition: background 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + color: hsl(var(--_hue), 40%, 50%); + fill: currentColor; + background: transparent; +} +.ML__virtual-keyboard-toggle:hover, +.ML__menu-toggle:hover { + background: hsla(0, 0%, 70%, 0.3); + color: #333; + fill: currentColor; +} +.ML__virtual-keyboard-toggle > span, +.ML__menu-toggle > span { + display: flex; + align-self: center; + align-items: center; +} +/* The invisible element used to capture keyboard events. We're just trying + really hard to make sure it doesn't show. */ +.ML__keyboard-sink { + display: inline-block; + resize: none; + outline: none; + border: none; + /* Need these for Microsoft Edge */ + position: fixed; + clip: rect(0 0 0 0); + /* Need this to prevent iOS Safari from auto-zooming */ + font-size: 1em; + font-family: KaTeX_Main; + line-height: 0.5; + /* On Chromium, if this is 0, no keyboard events are received */ +} +[part="placeholder"] { + color: var(--neutral-400); +} +.ML__composition { + background: var(--_composition-background-color); + color: var(--_composition-text-color); + text-decoration: underline var(--_composition-underline-color); +} +.ML__caret::after { + content: ''; + visibility: hidden; + width: 0; + display: inline-block; + height: 0.76em; + --_caret-width: clamp(2px, 0.08em, 10px); + border: none; + border-radius: calc(var(--_caret-width) / 2); + border-right: var(--_caret-width) solid var(--_caret-color); + margin-right: calc(-1 * var(--_caret-width)); + position: relative; + left: -0.045em; + bottom: -0.05em; + animation: ML__caret-blink 1.05s step-end forwards infinite; +} +.ML__text-caret::after { + content: ''; + visibility: hidden; + width: 0; + display: inline-block; + height: 0.76em; + --_caret-width: clamp(2px, 0.08em, 10px); + border: none; + border-radius: calc(var(--_caret-width) / 2); + border-right: var(--_caret-width) solid var(--_caret-color); + margin-right: calc(-1 * var(--_caret-width)); + position: relative; + left: -0.045em; + bottom: -0.05em; + animation: ML__caret-blink 1.05s step-end forwards infinite; +} +.ML__latex-caret::after { + content: ''; + visibility: hidden; + --_caret-width: clamp(2px, 0.08em, 10px); + border: none; + border-radius: calc(var(--_caret-width) / 2); + border-right: var(--_caret-width) solid var(--_latex-color); + margin-right: calc(-1 * var(--_caret-width)); + position: relative; + left: -0.019em; + animation: ML__caret-blink 1.05s step-end forwards infinite; +} +.ML__focused .ML__latex-caret::after, +.ML__focused .ML__text-caret::after, +.ML__focused .ML__caret::after { + visibility: visible; +} +.ML__focused .ML__text { + background: var(--_text-highlight-background-color); +} +/* When using smartFence, the anticipated closing fence is displayed +with this style */ +.ML__smart-fence__close { + opacity: var(--_smart-fence-opacity); + color: var(--_smart-fence-color); +} +.ML__selected, +.ML__focused .ML__selected .ML__contains-caret, +.ML__focused .ML__selected .ML__smart-fence__close, +.ML__focused .ML__selected .ML__placeholder { + color: var(--_selection-color); + opacity: 1; +} +.ML__selection { + box-sizing: border-box; + background: var(--_selection-background-color) !important; +} +.ML__contains-caret.ML__close, +.ML__contains-caret.ML__open, +.ML__contains-caret > .ML__close, +.ML__contains-caret > .ML__open, +.ML__contains-caret .ML__sqrt-sign, +.ML__contains-caret .ML__sqrt-line { + color: var(--_caret-color); +} +.ML__contains-highlight { + box-sizing: border-box; + background: transparent; +} +.ML__focused .ML__contains-highlight { + background: var(--_contains-highlight-background-color); +} +.ML__raw-latex { + font-family: 'Berkeley Mono', 'IBM Plex Mono', 'Source Code Pro', Consolas, 'Roboto Mono', Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Courier, monospace; + font-weight: 400; + font-size: 0.8em; + letter-spacing: -0.05em; + color: var(--_latex-color); +} +.ML__suggestion { + color: var(--neutral-500); +} +.ML__virtual-keyboard-toggle.is-visible.is-pressed:hover { + background: hsl(var(--_hue), 25%, 35%); + color: #fafafa; + fill: currentColor; +} +.ML__virtual-keyboard-toggle:focus { + outline: none; + border-radius: 8px; + border: 2px solid hsl(var(--_hue), 40%, 50%); +} +.ML__virtual-keyboard-toggle.is-pressed, +.ML__virtual-keyboard-toggle.is-active:hover, +.ML__virtual-keyboard-toggle.is-active { + background: hsl(var(--_hue), 25%, 35%); + color: #fafafa; + fill: currentColor; +} +/* Add an attribute 'data-tooltip' to automatically show a + tooltip over a element on hover. +*/ +[data-tooltip] { + position: relative; +} +[data-tooltip]::after { + content: attr(data-tooltip); + position: absolute; + display: block; + z-index: 2; + pointer-events: none; + right: auto; + top: calc(-100% - 4px); + width: max-content; + max-width: 200px; + padding: 8px 8px; + border-radius: 4px; + background: #616161; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + text-align: center; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-style: normal; + font-weight: 400; + font-size: 13px; + /* Phone */ + opacity: 0; + transform: scale(0.5); +} +@media only screen and (max-width: 767px) { + [data-tooltip]::after { + padding: 8px 16px; + font-size: 16px; + } +} +menu [data-tooltip]::after { + left: 100%; + top: 0%; +} +menu .ML__base { + cursor: default; +} +/** Don't display if we're tracking, i.e. have the pointer down */ +.tracking [data-tooltip]:hover::after { + /* Use visibility, not display. Display will remove the after from the DOM, and the override below will not work */ + visibility: hidden; +} +/** But do display if tracking and inside a menu */ +.tracking menu li[data-tooltip]:hover::after, +[data-tooltip]:hover::after { + visibility: visible; + opacity: 1; + transform: scale(1); + transition-property: opacity, scale; + transition-duration: 0.15s; + transition-delay: 1s; + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} +.ML__prompt { + border-radius: 2px; +} +.ML__editablePromptBox { + outline: 1px solid #acacac; + border-radius: 2px; + z-index: -1; +} +.ML__focusedPromptBox { + outline: highlight auto 1px; +} +.ML__lockedPromptBox { + background-color: rgba(142, 142, 141, 0.4); + z-index: -1; +} +.ML__correctPromptBox { + outline: 1px solid var(--_correct-color); + box-shadow: 0 0 5px var(--_correct-color); +} +.ML__incorrectPromptBox { + outline: 1px solid var(--_incorrect-color); + box-shadow: 0 0 5px var(--_incorrect-color); +} +.variant-submenu { + display: flex; + flex-direction: column; + padding: 8px; +} +.variant-submenu [part=menu-item] { + font-size: 2rem; + text-align: center; + margin: 0; +} +.insert-matrix-submenu { + display: grid; + padding: 8px; + align-content: center; + justify-content: center; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.insert-matrix-submenu [part=menu-item] { + font-size: 21px; + border: none; + border-radius: 0; + line-height: 21px; + text-align: center; + padding: 0; + margin: 0; +} +.border-submenu [part=menu-item] { + font-size: 2rem; + line-height: 1.2; + text-align: center; +} +.swatches-submenu { + --_swatch-size: 2rem; + --_columns: 4; + display: flex; + flex-flow: wrap; + padding: 8px; + max-width: calc(var(--_columns) * (var(--_swatch-size) + 18px) + 16px); + box-sizing: border-box; +} +.menu-swatch { + display: flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + width: fit-content; + height: fit-content; + margin: 2px; + padding: 0; + background: var(--neutral-200); +} +.menu-swatch > .label { + padding: 0; + margin: 0; + line-height: 0; +} +.menu-swatch > .label > span { + display: inline-block; + margin: 6px; + min-width: var(--_swatch-size); + min-height: var(--_swatch-size); + border-radius: 50%; +} +.menu-swatch.active { + background: var(--neutral-100); + scale: 1.4; +} +.menu-swatch.active > .label > span { + border-radius: 2px; +} +.menu-swatch .ui-checkmark, +.menu-swatch .ui-mixedmark { + position: absolute; + margin: 0; + padding: 0; + color: white; +} +.menu-swatch.dark-contrast .ui-checkmark, +.menu-swatch.dark-contrast .ui-mixedmark { + color: #000; +} +`,Xu=`.ML__container { + min-height: auto !important; + --_hue: var(--hue, 212); + --_placeholder-color: var(--placeholder-color, hsl(var(--_hue), 40%, 49%)); + --_placeholder-opacity: var(--placeholder-opacity, 0.4); + --_text-font-family: var(--text-font-family, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif); +} +.ML__sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + clip-path: inset(50%); + white-space: nowrap; + border: 0; +} +.ML__is-inline { + display: inline-block; +} +.ML__base { + visibility: inherit; + display: inline-block; + position: relative; + cursor: text; + padding: 0; + margin: 0; + box-sizing: content-box; + border: 0; + outline: 0; + vertical-align: baseline; + font-weight: inherit; + font-family: inherit; + font-style: inherit; + text-decoration: none; + width: min-content; +} +.ML__strut, +.ML__strut--bottom { + display: inline-block; + min-height: 0.5em; +} +.ML__small-delim { + font-family: KaTeX_Main; +} +/* Text mode */ +.ML__text { + font-family: var(--_text-font-family); + white-space: pre; +} +/* Use cmr for 'math upright' */ +.ML__cmr { + font-family: KaTeX_Main; + font-style: normal; +} +.ML__mathit { + font-family: KaTeX_Math; + /* The KaTeX_Math font is italic by default, so the font-style below is only + useful when a fallback font is used + */ + font-style: italic; +} +.ML__mathbf { + font-family: KaTeX_Main; + font-weight: bold; +} +/* Lowercase greek symbols should stick to math font when \\mathbf is applied + to match TeX idiosyncratic behavior */ +.lcGreek.ML__mathbf { + font-family: KaTeX_Math; + font-weight: normal; +} +.ML__mathbfit { + font-family: KaTeX_Math; + font-weight: bold; + font-style: italic; +} +.ML__ams { + font-family: KaTeX_AMS; +} +/* Blackboard */ +.ML__bb { + font-family: KaTeX_AMS; +} +.ML__cal { + font-family: KaTeX_Caligraphic; +} +.ML__frak { + font-family: KaTeX_Fraktur; +} +.ML__tt { + font-family: KaTeX_Typewriter; +} +.ML__script { + font-family: KaTeX_Script; +} +.ML__sans { + font-family: KaTeX_SansSerif; +} +.ML__series_ul { + font-weight: 100; +} +.ML__series_el { + font-weight: 100; +} +.ML__series_l { + font-weight: 200; +} +.ML__series_sl { + font-weight: 300; +} +.ML__series_sb { + font-weight: 500; +} +.ML__bold, +.ML__boldsymbol { + font-weight: 700; +} +.ML__series_eb { + font-weight: 800; +} +.ML__series_ub { + font-weight: 900; +} +.ML__series_uc { + font-stretch: ultra-condensed; +} +.ML__series_ec { + font-stretch: extra-condensed; +} +.ML__series_c { + font-stretch: condensed; +} +.ML__series_sc { + font-stretch: semi-condensed; +} +.ML__series_sx { + font-stretch: semi-expanded; +} +.ML__series_x { + font-stretch: expanded; +} +.ML__series_ex { + font-stretch: extra-expanded; +} +.ML__series_ux { + font-stretch: ultra-expanded; +} +.ML__it { + font-style: italic; +} +.ML__shape_ol { + -webkit-text-stroke: 1px black; + text-stroke: 1px black; + color: transparent; +} +.ML__shape_sc { + font-variant: small-caps; +} +.ML__shape_sl { + font-style: oblique; +} +/* First level emphasis */ +.ML__emph { + color: #bc2612; +} +/* Second level emphasis */ +.ML__emph .ML__emph { + color: #0c7f99; +} +.ML__highlight { + color: #007cb2; + background: #edd1b0; +} +.ML__center { + text-align: center; +} +.ML__label_padding { + padding: 0 0.5em; +} +.ML__frac-line { + width: 100%; + min-height: 1px; +} +.ML__frac-line:after { + content: ''; + display: block; + margin-top: max(-1px, -0.04em); + min-height: max(1px, 0.04em); + /* Ensure the line is visible when printing even if "turn off background images" is on*/ + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + /* There's a bug since Chrome 62 where + sub-pixel border lines don't draw at some zoom + levels (110%, 90%). + Setting the min-height used to work around it, but that workaround + broke in Chrome 84 or so. + Setting the background (and the min-height) seems to work for now. + */ + background: currentColor; + box-sizing: content-box; + /* Vuetify sets the box-sizing to inherit + causes the fraction line to not draw at all sizes (see #26) */ + /* On some versions of Firefox on Windows, the line fails to + draw at some zoom levels, but setting the transform triggers + the hardware accelerated path, which works */ + transform: translate(0, 0); +} +.ML__sqrt { + display: inline-block; +} +.ML__sqrt-sign { + display: inline-block; + position: relative; +} +.ML__sqrt-line { + display: inline-block; + height: max(1px, 0.04em); + width: 100%; +} +.ML__sqrt-line:before { + content: ''; + display: block; + margin-top: min(-1px, -0.04em); + min-height: max(1px, 0.04em); + /* Ensure the line is visible when printing even if "turn off background images" is on*/ + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + background: currentColor; + /* On some versions of Firefox on Windows, the line fails to + draw at some zoom levels, but setting the transform triggers + the hardware accelerated path, which works */ + transform: translate(0, 0); +} +.ML__sqrt-line:after { + border-bottom-width: 1px; + content: ' '; + display: block; + margin-top: -0.1em; +} +.ML__sqrt-index { + margin-left: 0.27777778em; + margin-right: -0.55555556em; +} +.ML__delim-size1 { + font-family: KaTeX_Size1; +} +.ML__delim-size2 { + font-family: KaTeX_Size2; +} +.ML__delim-size3 { + font-family: KaTeX_Size3; +} +.ML__delim-size4 { + font-family: KaTeX_Size4; +} +.ML__delim-mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.ML__delim-mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.ML__accent-body > span { + font-family: KaTeX_Main; + width: 0; +} +.ML__accent-vec { + position: relative; + left: 0.24em; +} +/** The markup for a LaTeX formula, either in an editable mathfield or + in a static display. +*/ +.ML__latex { + display: inline-block; + direction: ltr; + text-align: left; + text-indent: 0; + text-rendering: auto; + font-family: KaTeX_Main, 'Times New Roman', serif; + font-style: normal; + font-size-adjust: none; + font-stretch: normal; + font-variant-caps: normal; + letter-spacing: normal; + line-height: 1.2; + word-wrap: normal; + word-spacing: normal; + white-space: nowrap; + text-shadow: none; + -webkit-user-select: none; + user-select: none; + width: min-content; +} +.ML__latex .style-wrap { + position: relative; +} +.ML__latex .mfrac { + display: inline-block; +} +.ML__latex .left-right { + display: inline-block; +} +.ML__latex .vlist-t { + display: inline-table; + table-layout: fixed; + border-collapse: collapse; +} +.ML__latex .vlist-r { + display: table-row; +} +.ML__latex .vlist { + display: table-cell; + vertical-align: bottom; + position: relative; +} +.ML__latex .vlist > span { + display: block; + height: 0; + position: relative; +} +.ML__latex .vlist > span > span { + display: inline-block; +} +.ML__latex .vlist > span > .pstrut { + overflow: hidden; + width: 0; +} +.ML__latex .vlist-t2 { + margin-right: -2px; +} +.ML__latex .vlist-s { + display: table-cell; + vertical-align: bottom; + font-size: 1px; + width: 2px; + min-width: 2px; +} +.ML__latex .msubsup { + text-align: left; +} +.ML__latex .negativethinspace { + display: inline-block; + margin-left: -0.16667em; + height: 0.71em; +} +.ML__latex .thinspace { + display: inline-block; + width: 0.16667em; + height: 0.71em; +} +.ML__latex .mediumspace { + display: inline-block; + width: 0.22222em; + height: 0.71em; +} +.ML__latex .thickspace { + display: inline-block; + width: 0.27778em; + height: 0.71em; +} +.ML__latex .enspace { + display: inline-block; + width: 0.5em; + height: 0.71em; +} +.ML__latex .quad { + display: inline-block; + width: 1em; + height: 0.71em; +} +.ML__latex .qquad { + display: inline-block; + width: 2em; + height: 0.71em; +} +.ML__latex .llap, +.ML__latex .rlap { + width: 0; + position: relative; + display: inline-block; +} +.ML__latex .llap > .inner, +.ML__latex .rlap > .inner { + position: absolute; +} +.ML__latex .llap > .fix, +.ML__latex .rlap > .fix { + display: inline-block; +} +.ML__latex .llap > .inner { + right: 0; +} +.ML__latex .rlap > .inner { + left: 0; +} +.ML__latex .rule { + display: inline-block; + border: solid 0; + position: relative; + box-sizing: border-box; +} +.ML__latex .overline .overline-line, +.ML__latex .underline .underline-line { + width: 100%; +} +.ML__latex .overline .overline-line:before, +.ML__latex .underline .underline-line:before { + content: ''; + border-bottom-style: solid; + border-bottom-width: max(1px, 0.04em); + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + display: block; +} +.ML__latex .overline .overline-line:after, +.ML__latex .underline .underline-line:after { + border-bottom-style: solid; + border-bottom-width: max(1px, 0.04em); + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + content: ''; + display: block; + margin-top: -1px; +} +.ML__latex .stretchy { + display: block; + position: absolute; + width: 100%; + left: 0; + overflow: hidden; +} +.ML__latex .stretchy:before, +.ML__latex .stretchy:after { + content: ''; +} +.ML__latex .stretchy svg { + display: block; + position: absolute; + width: 100%; + height: inherit; + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; +} +.ML__latex .slice-1-of-2 { + display: inline-flex; + position: absolute; + left: 0; + width: 50.2%; + overflow: hidden; +} +.ML__latex .slice-2-of-2 { + display: inline-flex; + position: absolute; + right: 0; + width: 50.2%; + overflow: hidden; +} +.ML__latex .slice-1-of-3 { + display: inline-flex; + position: absolute; + left: 0; + width: 25.1%; + overflow: hidden; +} +.ML__latex .slice-2-of-3 { + display: inline-flex; + position: absolute; + left: 25%; + width: 50%; + overflow: hidden; +} +.ML__latex .slice-3-of-3 { + display: inline-flex; + position: absolute; + right: 0; + width: 25.1%; + overflow: hidden; +} +.ML__latex .slice-1-of-1 { + display: inline-flex; + position: absolute; + width: 100%; + left: 0; + overflow: hidden; +} +.ML__latex .nulldelimiter { + display: inline-block; +} +.ML__latex .op-group { + display: inline-block; +} +.ML__latex .op-symbol { + position: relative; +} +.ML__latex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.ML__latex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.ML__latex .mtable .vertical-separator { + display: inline-block; + min-width: 1px; + box-sizing: border-box; +} +.ML__latex .mtable .arraycolsep { + display: inline-block; +} +.ML__latex .mtable .col-align-m > .vlist-t { + text-align: center; +} +.ML__latex .mtable .col-align-c > .vlist-t { + text-align: center; +} +.ML__latex .mtable .col-align-l > .vlist-t { + text-align: left; +} +.ML__latex .mtable .col-align-r > .vlist-t { + text-align: right; +} +.ML__error { + display: inline-block; + background-image: radial-gradient(ellipse at center, hsl(341, 100%, 40%), rgba(0, 0, 0, 0) 70%); + background-color: hsla(341, 100%, 40%, 0.1); + background-repeat: repeat-x; + background-size: 3px 3px; + padding-bottom: 3px; + background-position: 0 100%; +} +.ML__error > .ML__error { + background: transparent; + padding: 0; +} +.ML__placeholder { + color: var(--_placeholder-color); + opacity: var(--_placeholder-opacity); + padding-left: 0.4ex; + padding-right: 0.4ex; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; +} +.ML__notation { + position: absolute; + box-sizing: border-box; + line-height: 0; +} +/* This class is used to implement the \`\\mathtip\` and \`\\texttip\` commands + For UI elements, see \`[data-ML__tooltip]\` +*/ +.ML__tooltip-container { + position: relative; + transform: scale(0); +} +.ML__tooltip-container .ML__tooltip-content { + position: fixed; + display: inline-table; + visibility: hidden; + z-index: 2; + width: max-content; + max-width: 400px; + padding: 12px 12px; + border-radius: 8px; + background: #616161; + --_selection-color: #fff; + color: #fff; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + opacity: 0; + transition: opacity 0.15s cubic-bezier(0.4, 0, 1, 1); +} +.ML__tooltip-container .ML__tooltip-content .ML__text { + white-space: normal; +} +.ML__tooltip-container .ML__tooltip-content .ML__base { + display: contents; +} +.ML__tooltip-container:hover .ML__tooltip-content { + visibility: visible; + opacity: 1; + font-size: 0.75em; + transform: scale(1) translate(0, 3em); +} +`,E0=`#mathlive-environment-popover.is-visible { + visibility: visible; +} +#mathlive-environment-popover { + --_environment-panel-height: var(--environment-panel-height, 70px); + --_accent-color: var(--accent-color, #aaa); + --_background: var(--environment-panel-background, #fff); + --_button-background: var(--environment-panel-button-background, white); + --_button-background-hover: var(--environment-panel-button-background-hover, #f5f5f7); + --_button-background-active: var(--environment-panel-button-background-active, #f5f5f7); + --_button-text: var(--environment-panel-button-text, #e3e4e8); + position: absolute; + width: calc(var(--_environment-panel-height) * 2); + height: var(--_environment-panel-height); + border-radius: 4px; + border: 1.5px solid var(--_accent-color); + background-color: var(--_background); + box-shadow: 0 0 30px 0 var(--environment-shadow, rgba(0, 0, 0, 0.4)); + pointer-events: all; + visibility: hidden; +} +#mathlive-environment-popover .MLEP__array-buttons { + height: calc(var(--_environment-panel-height) * 5/4); + width: calc(var(--_environment-panel-height) * 5/4); + margin-left: calc(0px - var(--_environment-panel-height) * 0.16); + margin-top: calc(0px - var(--_environment-panel-height) * 0.19); +} +#mathlive-environment-popover .MLEP__array-buttons .font { + fill: white; +} +#mathlive-environment-popover .MLEP__array-buttons circle { + fill: #7f7f7f; + transition: fill 300ms; +} +#mathlive-environment-popover .MLEP__array-buttons .MLEP__array-insert-background { + fill-opacity: 1; + fill: var(--_background); + stroke: var(--_accent-color); + stroke-width: 3px; +} +#mathlive-environment-popover .MLEP__array-buttons line { + stroke: var(--_accent-color); + stroke-opacity: 0; + stroke-width: 40; + pointer-events: none; + transition: stroke-opacity 300ms; + stroke-linecap: round; +} +#mathlive-environment-popover .MLEP__array-buttons g[data-command]:hover circle { + fill: var(--_accent-color); +} +#mathlive-environment-popover .MLEP__array-buttons g[data-command]:hover line { + stroke-opacity: 1; +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls { + height: 100%; + width: 50%; +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options { + width: var(--_environment-panel-height); + height: var(--_environment-panel-height); + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: space-around; +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg { + pointer-events: all; + margin-top: 2px; + width: calc(var(--_environment-panel-height) / 3 * 28 / 24); + height: calc(var(--_environment-panel-height) / 3 - 2px); + border-radius: calc(var(--_environment-panel-height) / 25); + background-color: var(--_button-background); +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg:hover { + background-color: var(--_button-background-hover); +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg path, +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg line { + stroke: var(--_button-text); + stroke-width: 2; + stroke-linecap: round; +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg rect, +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg path { + fill-opacity: 0; +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active { + pointer-events: none; + background-color: var(--_button-background-active); +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active path, +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active line { + stroke: var(--_accent-color); +} +#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active circle { + fill: var(--_accent-color); +} +`,t0=`/* The element that display info while in latex mode */ +#mathlive-suggestion-popover { + background-color: rgba(97, 97, 97); + color: #fff; + text-align: center; + border-radius: 8px; + position: fixed; + z-index: 1; + display: none; + flex-direction: column; + justify-content: center; + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} +#mathlive-suggestion-popover.top-tip::after { + content: ''; + position: absolute; + top: -15px; + left: calc(50% - 15px); + width: 0; + height: 0; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-bottom: 15px solid rgba(97, 97, 97); + font-size: 1rem; +} +#mathlive-suggestion-popover.bottom-tip::after { + content: ''; + position: absolute; + bottom: -15px; + left: calc(50% - 15px); + width: 0; + height: 0; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + border-top: 15px solid rgba(97, 97, 97); + font-size: 1rem; +} +#mathlive-suggestion-popover.is-animated { + transition: all 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + animation: ML__fade-in cubic-bezier(0, 0, 0.2, 1) 0.15s; +} +#mathlive-suggestion-popover.is-visible { + display: flex; +} +@keyframes ML__fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/* The wrapper class for the entire content of the popover panel */ +#mathlive-suggestion-popover ul { + display: flex; + flex-flow: column; + list-style: none; + margin: 0; + padding: 0; + align-items: flex-start; + max-height: 400px; + overflow-y: auto; +} +#mathlive-suggestion-popover li { + display: flex; + flex-direction: row; + justify-content: space-between; + margin: 8px; + padding: 8px; + width: calc(100% - 16px - 16px); + column-gap: 1em; + border-radius: 8px; + cursor: pointer; + /* Since the content can be clicked on, provide feedback on hover */ +} +#mathlive-suggestion-popover li a { + color: #5ea6fd; + padding-top: 0.3em; + margin-top: 0.4em; + display: block; +} +#mathlive-suggestion-popover li a:hover { + color: #5ea6fd; + text-decoration: underline; +} +#mathlive-suggestion-popover li:hover, +#mathlive-suggestion-popover li.is-pressed, +#mathlive-suggestion-popover li.is-active { + background: rgba(255, 255, 255, 0.1); +} +/* The command inside a popover (inside a #mathlive-suggestion-popover) */ +.ML__popover__command { + font-size: 1.6rem; + font-family: KaTeX_Main; +} +.ML__popover__current { + background: #5ea6fd; + color: #fff; +} +.ML__popover__latex { + font-family: 'IBM Plex Mono', 'Source Code Pro', Consolas, 'Roboto Mono', Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Courier, monospace; + align-self: center; +} +/* The keyboard shortcuts for a symbol as displayed in the popover */ +.ML__popover__keybinding { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-size: 0.8em; + opacity: 0.7; +} +/* Style for the character that joins the modifiers of a keyboard shortcut +(usually a "+" sign)*/ +.ML__shortcut-join { + opacity: 0.5; +} +`,mf=`/* The element that displays the keys as the user type them */ +#mathlive-keystroke-caption-panel { + visibility: hidden; + /*min-width: 160px;*/ + /*background-color: rgba(97, 97, 200, .95);*/ + background: var(--secondary, hsl(var(--_hue), 19%, 26%)); + border-color: var(--secondary-border, hsl(0, 0%, 91%)); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + text-align: center; + border-radius: 6px; + padding: 16px; + position: absolute; + z-index: 1; + display: flex; + flex-direction: row-reverse; + justify-content: center; + --keystroke: white; + --on-keystroke: #555; + --keystroke-border: #f7f7f7; +} +@media (prefers-color-scheme: dark) { + body:not([theme='light']) #mathlive-keystroke-caption-panel { + --keystroke: hsl(var(--_hue), 50%, 30%); + --on-keystroke: hsl(0, 0%, 98%); + --keystroke-border: hsl(var(--_hue), 50%, 25%); + } +} +body[theme='dark'] #mathlive-keystroke-caption-panel { + --keystroke: hsl(var(--_hue), 50%, 30%); + --on-keystroke: hsl(0, 0%, 98%); + --keystroke-border: hsl(var(--_hue), 50%, 25%); +} +#mathlive-keystroke-caption-panel > span { + min-width: 14px; + /*height: 8px;*/ + margin: 0 8px 0 0; + padding: 4px; + background-color: var(--keystroke); + color: var(--on-keystroke); + fill: currentColor; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-size: 1em; + border-radius: 6px; + border: 2px solid var(--keystroke-border); + /*box-shadow: 0 7px 14px rgba(0,0,0,0.25), 0 5px 5px rgba(0,0,0,0.22);*/ +} +`,fh=`.ML__keyboard { + --_keyboard-height: 0; + --_keyboard-zindex: var(--keyboard-zindex, 105); + --_accent-color: var(--keyboard-accent-color, #0c75d8); + --_background: var(--keyboard-background, #cacfd7); + --_border: var(--keyboard-border, #ddd); + --_padding-horizontal: var(--keyboard-padding-horizontal, 0px); + --_padding-top: var(--keyboard-padding-top, 5px); + --_padding-bottom: var(--keyboard-padding-bottom, 0px); + --_row-padding-left: var(--keyboard-row-padding-left, 0px); + --_row-padding-right: var(--keyboard-row-padding-right, 0px); + --_toolbar-text: var(--keyboard-toolbar-text, #2c2e2f); + --_toolbar-text-active: var(--keyboard-toolbar-text-active, var(--_accent-color)); + --_toolbar-background: var(--keyboard-toolbar-background, transparent); + --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #eee); + --_toolbar-background-selected: var(--keyboard-toolbar-background-selected, transparent); + --_toolbar-font-size: var(--keyboard-toolbar-font-size, '135%'); + --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #fff); + --_keycap-background: var(--keycap-background, white); + --_keycap-background-hover: var(--keycap-background-hover, #f5f5f7); + --_keycap-background-active: var(--keycap-background-active, var(--_accent-color)); + --_keycap-background-pressed: var(--keycap-background-pressed, var(--_accent-color)); + --_keycap-border: var(--keycap-border, #e5e6e9); + --_keycap-border-bottom: var(--keycap-border-bottom, #8d8f92); + --_keycap-text: var(--keycap-text, #000); + --_keycap-text-active: var(--keycap-text-active, #fff); + --_keycap-text-hover: var(--keycap-text-hover, var(--_keycap-text)); + --_keycap-text-pressed: var(--keycap-text-pressed, #fff); + --_keycap-shift-text: var(--keycap-shift-text, var(--_accent-color)); + --_keycap-primary-background: var(--keycap-primary-background, var(--_accent-color)); + --_keycap-primary-text: var(--keycap-primary-text, #ddd); + --_keycap-primary-background-hover: var(--keycap-primary-background-hover, #0d80f2); + --_keycap-secondary-background: var(--keycap-secondary-background, #a0a9b8); + --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #7d8795); + --_keycap-secondary-text: var(--keycap-secondary-text, #060707); + --_keycap-secondary-border: var(--keycap-secondary-border, #c5c9d0); + --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, #989da6); + --_keycap-height: var(--keycap-height, 60px); + /* Keycap width (incl. margin) */ + --_keycap-max-width: var(--keycap-max-width, 100px); + --_keycap-gap: var(--keycap-gap, 8px); + --_keycap-font-size: var(--keycap-font-size, clamp(16px, 4cqw, 24px)); + --_keycap-small-font-size: var(--keycap-small-font-size, calc(var(--keycap-font-size) * 0.8)); + --_keycap-extra-small-font-size: var(--keycap-extra-small-font-size, calc(var(--keycap-font-size) / 1.42)); + --_variant-panel-background: var(--variant-panel-background, #fff); + --_variant-keycap-text: var(--variant-keycap-text, var(--_keycap-text)); + --_variant-keycap-text-active: var(--variant-keycap-text-active, var(--_keycap-text-active)); + --_variant-keycap-background-active: var(--variant-keycap-background-active, var(--_accent-color)); + --_variant-keycap-length: var(--variant-keycap-length, 70px); + --_variant-keycap-font-size: var(--variant-keycap-font-size, 30px); + --_variant-keycap-aside-font-size: var(--variant-keycap-aside-font-size, 12px); + --_keycap-shift-font-size: var(--keycap-shift-font-size, 16px); + --_keycap-shift-color: var(--keycap-shift-color, var(--_accent-color)); + --_box-placeholder-color: var(--box-placeholder-color, var(--_accent-color)); + --_box-placeholder-pressed-color: var(--box-placeholder-pressed-color, var(--keycap-text-pressed)); +} +.is-math-mode .MLK__rows .if-text-mode, +.is-text-mode .MLK__rows .if-math-mode { + display: none; +} +.if-can-undo, +.if-can-redo, +.if-can-copy, +.if-can-cut, +.if-can-paste { + opacity: 0.4; + pointer-events: none; +} +.can-undo .if-can-undo, +.can-redo .if-can-redo, +.can-copy .if-can-copy, +.can-cut .if-can-cut, +.can-paste .if-can-paste { + opacity: 1; + pointer-events: all; +} +body > .ML__keyboard { + position: fixed; + --_padding-bottom: calc(var(--keyboard-padding-bottom, 0px) + env(safe-area-inset-bottom, 0)); +} +body > .ML__keyboard.is-visible > .MLK__backdrop { + box-shadow: 0 -5px 6px rgba(0, 0, 0, 0.08); + border-top: 1px solid var(--_border); +} +body > .ML__keyboard.backdrop-is-transparent.is-visible > .MLK__backdrop { + box-shadow: none; + border: none; +} +body > .ML__keyboard.is-visible.animate > .MLK__backdrop { + transition: 0.28s cubic-bezier(0, 0, 0.2, 1); + transition-property: transform, opacity; + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} +.ML__keyboard { + position: relative; + overflow: hidden; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: var(--_keyboard-zindex); + box-sizing: border-box; + outline: none; + border: none; + margin: 0; + padding: 0; + line-height: 1; + overflow-wrap: unset; + text-align: left; + vertical-align: baseline; + cursor: auto; + white-space: pre; + box-shadow: none; + opacity: 1; + transform: none; + pointer-events: none; +} +.ML__keyboard :where(div) { + box-sizing: border-box; + outline: none; + border: none; + margin: 0; + padding: 0; + line-height: 1; + overflow-wrap: unset; + text-align: left; + vertical-align: baseline; + cursor: auto; + white-space: pre; + box-shadow: none; + transform: none; +} +.MLK__backdrop { + position: absolute; + bottom: calc(-1 * var(--_keyboard-height)); + width: 100%; + height: var(--_keyboard-height); + box-sizing: border-box; + padding-top: var(--_padding-top); + padding-bottom: var(--_padding-bottom); + padding-left: var(--_padding-horizontal); + padding-right: var(--_padding-horizontal); + opacity: 0; + visibility: hidden; + transform: translate(0, 0); + background: var(--_background); +} +.backdrop-is-transparent .MLK__backdrop { + background: transparent; +} +/* If a custom layout has a custom container/backdrop + (backdrop-is-transparent), make sure to let pointer event go through. */ +.backdrop-is-transparent .MLK__plate { + background: transparent; + pointer-events: none; +} +/* If a custom layout has a custom container/backdrop, make sure to + allow pointer events on it. */ +.backdrop-is-transparent .MLK__layer > div > div { + pointer-events: all; +} +.ML__keyboard.is-visible > .MLK__backdrop { + transform: translate(0, calc(-1 * var(--_keyboard-height))); + opacity: 1; + visibility: visible; +} +.caps-lock-indicator { + display: none; + width: 8px; + height: 8px; + background: #0cbc0c; + box-shadow: inset 0 0 4px 0 #13ca13, 0 0 4px 0 #a9ef48; + border-radius: 8px; + right: 8px; + top: 8px; + position: absolute; +} +.ML__keyboard.is-caps-lock .caps-lock-indicator { + display: block; +} +.ML__keyboard.is-caps-lock .shift { + background: var(--_keycap-background-active); + color: var(--_keycap-text-active); +} +.MLK__plate { + position: absolute; + top: var(--_padding-top); + left: var(--_padding-horizontal); + width: calc(100% - 2 * var(--_padding-horizontal)); + margin: 0; + padding: 0; + box-sizing: border-box; + container-type: inline-size; + touch-action: none; + -webkit-user-select: none; + user-select: none; + pointer-events: all; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-size: 16px; + /* Size of toolbar labels */ + font-weight: 400; + text-shadow: none; +} +.ML__box-placeholder { + color: var(--_box-placeholder-color); +} +.MLK__tex { + font-family: KaTeX_Main, KaTeX_Math, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; +} +.MLK__tex-math { + font-family: KaTeX_Math, KaTeX_Main, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; + font-style: italic; +} +.MLK__layer { + display: none; + outline: none; +} +.MLK__layer.is-visible { + display: flex; + flex-flow: column; +} +/* Keyboard layouts are made or rows of keys... */ +.MLK__rows { + --_keycap-width: min(var(--_keycap-max-width), 10cqw); + display: flex; + flex-flow: column; + align-items: center; + border-collapse: separate; + clear: both; + border: 0; + margin: 0; + margin-bottom: var(--_keycap-gap); + gap: var(--_keycap-gap); + /* If the styling include, e.g., some shadows, they will be + cut off by the overflow. In that case, set the padding to + compensate. */ + padding-left: var(--_row-padding-left); + padding-right: var(--_row-padding-right); + overflow: visible; + touch-action: none; +} +.MLK__rows > .MLK__row { + display: flex; + flex-flow: row; + justify-content: center; + width: 100%; + gap: var(--_keycap-gap); + margin: 0; + padding: 0; + /* For the alignment of the text on some modifiers (e.g. shift) */ + /* Extra spacing between two adjacent keys */ +} +.MLK__rows > .MLK__row .tex { + font-family: KaTeX_Math, KaTeX_Main, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; +} +.MLK__rows > .MLK__row .tex-math { + font-family: KaTeX_Math, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; +} +.MLK__rows > .MLK__row .big-op { + font-size: calc(1.25 * var(--_keycap-font-size)); +} +.MLK__rows > .MLK__row .small { + font-size: var(--_keycap-small-font-size); +} +.MLK__rows > .MLK__row .bottom { + justify-content: flex-end; +} +.MLK__rows > .MLK__row .left { + align-items: flex-start; + padding-left: 12px; +} +.MLK__rows > .MLK__row .right { + align-items: flex-end; + padding-right: 12px; +} +.MLK__rows > .MLK__row .w0 { + width: 0; +} +.MLK__rows > .MLK__row .w5 { + width: calc(0.5 * var(--_keycap-width) - var(--_keycap-gap)); +} +.MLK__rows > .MLK__row .w15 { + width: calc(1.5 * var(--_keycap-width) - var(--_keycap-gap)); +} +.MLK__rows > .MLK__row .w20 { + width: calc(2 * var(--_keycap-width) - var(--_keycap-gap)); +} +.MLK__rows > .MLK__row .w40 { + width: calc(4 * var(--_keycap-width) - var(--_keycap-gap)); +} +.MLK__rows > .MLK__row .w50 { + width: calc(5 * var(--_keycap-width) - var(--_keycap-gap)); +} +.MLK__rows > .MLK__row .MLK__keycap.w50 { + font-size: 80%; + padding-top: 10px; + font-weight: 100; +} +.MLK__rows > .MLK__row .separator { + background: transparent; + border: none; + pointer-events: none; +} +.MLK__rows > .MLK__row .horizontal-rule { + height: 6px; + margin-top: 3px; + margin-bottom: 0; + width: 100%; + border-radius: 0; + border-top: var(--_horizontal-rule); +} +.MLK__rows > .MLK__row .ghost { + background: var(--_toolbar-background); + border: none; + color: var(--_toolbar-text); +} +.MLK__rows > .MLK__row .ghost:hover { + background: var(--_toolbar-background-hover); +} +.MLK__rows > .MLK__row .bigfnbutton { + font-size: var(--_keycap-extra-small-font-size); +} +.MLK__rows > .MLK__row .shift, +.MLK__rows > .MLK__row .action { + color: var(--_keycap-secondary-text); + background: var(--_keycap-secondary-background); + border-color: var(--_keycap-secondary-border); + border-bottom-color: var(--_keycap-secondary-border-bottom); + line-height: 0.8; + font-size: min(1rem, var(--_keycap-small-font-size)); + font-weight: 600; + padding: 8px 12px 8px 12px; +} +.MLK__rows > .MLK__row .shift:hover, +.MLK__rows > .MLK__row .action:hover { + background: var(--_keycap-secondary-background-hover); +} +.MLK__rows > .MLK__row .action.primary { + background: var(--_keycap-primary-background); + color: var(--_keycap-primary-text); +} +.MLK__rows > .MLK__row .action.primary:hover { + background: var(--_keycap-primary-background-hover); + color: var(--_keycap-primary-text); +} +.MLK__rows > .MLK__row .shift.selected, +.MLK__rows > .MLK__row .action.selected { + color: var(--_toolbar-text-active); +} +.MLK__rows > .MLK__row .shift.selected.is-pressed, +.MLK__rows > .MLK__row .action.selected.is-pressed, +.MLK__rows > .MLK__row .shift.selected.is-active, +.MLK__rows > .MLK__row .action.selected.is-active { + color: white; +} +.MLK__rows > .MLK__row .warning { + background: #cd0030; + color: white; +} +.MLK__rows > .MLK__row .warning svg.svg-glyph { + width: 24px; + height: 24px; + min-height: 24px; +} +/** A regular keycap + * Use the :where() pseudo-class to give it a very low specifity, + * so that it can be overriden by custom style. + */ +:where(.MLK__rows > .MLK__row div) { + display: flex; + flex-flow: column; + align-items: center; + justify-content: space-evenly; + width: calc(var(--_keycap-width) - var(--_keycap-gap)); + height: var(--_keycap-height); + box-sizing: border-box; + padding: 0; + vertical-align: top; + text-align: center; + float: left; + color: var(--_keycap-text); + fill: currentColor; + font-size: var(--_keycap-font-size); + background: var(--_keycap-background); + border: 1px solid var(--_keycap-border); + border-bottom-color: var(--_keycap-border-bottom); + border-radius: 6px; + cursor: pointer; + touch-action: none; + /* Keys with a variants panel */ + position: relative; + overflow: hidden; + -webkit-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; +} +:where(.MLK__rows > .MLK__row div):hover { + overflow: visible; + background: var(--_keycap-background-hover); +} +:where(.MLK__rows > .MLK__row div) .ML__latex { + pointer-events: none; + touch-action: none; +} +:where(.MLK__rows > .MLK__row div) svg.svg-glyph { + margin: 8px 0; + width: 20px; + height: 20px; + min-height: 20px; +} +:where(.MLK__rows > .MLK__row div) svg.svg-glyph-lg { + margin: 8px 0; + width: 24px; + height: 24px; + min-height: 24px; +} +:where(.MLK__rows > .MLK__row div).MLK__tex-math { + font-size: 25px; +} +:where(.MLK__rows > .MLK__row div).is-pressed { + background: var(--_keycap-background-pressed); + color: var(--_keycap-text-pressed); + --_box-placeholder-color: var(--_box-placeholder-pressed-color); +} +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active, +:where(.MLK__rows > .MLK__row div).action.is-active, +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed, +:where(.MLK__rows > .MLK__row div).action.is-pressed { + z-index: calc(var(--_keyboard-zindex) - 5); +} +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active aside, +:where(.MLK__rows > .MLK__row div).action.is-active aside, +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed aside, +:where(.MLK__rows > .MLK__row div).action.is-pressed aside { + display: none; +} +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active .MLK__shift, +:where(.MLK__rows > .MLK__row div).action.is-active .MLK__shift, +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed .MLK__shift, +:where(.MLK__rows > .MLK__row div).action.is-pressed .MLK__shift { + display: none; +} +:where(.MLK__rows > .MLK__row div).shift.is-pressed, +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed, +:where(.MLK__rows > .MLK__row div).action.is-pressed { + background: var(--_keycap-background-pressed); + color: var(--_keycap-text-pressed); +} +:where(.MLK__rows > .MLK__row div).shift.is-active, +:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active, +:where(.MLK__rows > .MLK__row div).action.is-active { + background: var(--_keycap-background-active); + color: var(--_keycap-text-active); + --_box-placeholder-color: var(--_box-placeholder-pressed-color); +} +:where(.MLK__rows > .MLK__row div) small { + color: var(--_keycap-secondary-text); +} +:where(.MLK__rows > .MLK__row div) aside { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-size: 10px; + line-height: 10px; + color: var(--_keycap-secondary-text); +} +/* Add an attribute 'data-tooltip' to display a tooltip on hover. +Note there are a different set of tooltip rules for the keyboard toggle +(it's in a different CSS tree) */ +.ML__keyboard [data-tooltip] { + position: relative; +} +.ML__keyboard [data-tooltip]::after { + position: absolute; + display: inline-table; + content: attr(data-tooltip); + top: inherit; + bottom: 100%; + width: max-content; + max-width: 200px; + padding: 8px 8px; + background: #616161; + color: #fff; + text-align: center; + z-index: 2; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + border-radius: 2px; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + font-weight: 400; + font-size: 12px; + transition: all 0.15s cubic-bezier(0.4, 0, 1, 1) 1s; + opacity: 0; + transform: scale(0.5); +} +.ML__keyboard [data-tooltip]:hover { + position: relative; +} +.ML__keyboard [data-tooltip]:hover::after { + opacity: 1; + transform: scale(1); +} +.MLK__toolbar { + align-self: center; + display: flex; + flex-flow: row; + justify-content: space-between; + width: 100%; + max-width: 996px; + min-height: 32px; + /* Icons for undo/redo, etc. */ +} +.MLK__toolbar svg { + height: 20px; + width: 20px; +} +.MLK__toolbar > .left { + position: relative; + display: flex; + justify-content: flex-start; + flex-flow: row; +} +.MLK__toolbar > .right { + display: flex; + justify-content: flex-end; + flex-flow: row; +} +.MLK__toolbar > div > div { + /* "button" in the toolbar */ + display: flex; + align-items: center; + justify-content: center; + color: var(--_toolbar-text); + fill: currentColor; + background: var(--_toolbar-background); + font-size: var(--_toolbar-font-size); + padding: 4px 15px; + cursor: pointer; + width: max-content; + min-width: 42px; + min-height: 34px; + border: none; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 8px; + padding-top: 8px; + margin-top: 0; + margin-bottom: 4px; + margin-left: 4px; + margin-right: 4px; + border-radius: 8px; + box-shadow: none; + border-bottom: 2px solid transparent; +} +.MLK__toolbar > div > div:not(.disabled):not(.selected):hover { + background: var(--_toolbar-background-hover); +} +.MLK__toolbar > div > div.disabled svg, +.MLK__toolbar > div > div.disabled:hover svg, +.MLK__toolbar > div > div.disabled.is-pressed svg { + color: var(--_toolbar-text); + opacity: 0.2; +} +.MLK__toolbar > div > div:hover, +.MLK__toolbar > div > div:active, +.MLK__toolbar > div > div.is-pressed, +.MLK__toolbar > div > div.is-active { + color: var(--_toolbar-text-active); +} +.MLK__toolbar > div > div.selected { + color: var(--_toolbar-text-active); + background: var(--_toolbar-background-selected); + border-radius: 0; + border-bottom-color: var(--_toolbar-text-active); + padding-bottom: 4px; + margin-bottom: 8px; +} +/* This is the element that displays variants on press+hold */ +.MLK__variant-panel { + visibility: hidden; + position: fixed; + display: flex; + flex-flow: row wrap-reverse; + justify-content: center; + align-content: center; + margin: 0; + padding: 0; + bottom: auto; + top: 0; + box-sizing: content-box; + transform: none; + z-index: calc(var(--_keyboard-zindex) + 1); + touch-action: none; + max-width: 350px; + background: var(--_variant-panel-background); + text-align: center; + border-radius: 6px; + padding: 6px; + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + transition: none; +} +.MLK__variant-panel.is-visible { + visibility: visible; +} +.MLK__variant-panel.compact { + --_variant-keycap-length: var(--variant-keycap-length, 50px); + --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); + --_variant-keycap-aside-font-size: var(--variant-keycap-aside-font-size, 10px); +} +.MLK__variant-panel .item { + display: flex; + flex-flow: column; + align-items: center; + justify-content: center; + font-size: var(--_variant-keycap-font-size); + height: var(--_variant-keycap-length); + width: var(--_variant-keycap-length); + margin: 0; + box-sizing: border-box; + border-radius: 5px; + border: 1px solid transparent; + background: transparent; + pointer-events: all; + cursor: pointer; + color: var(--_variant-keycap-text); + fill: currentColor; +} +@media (max-height: 412px) { + .MLK__variant-panel .item { + --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); + --_variant-keycap-length: var(--variant-keycap-length, 50px); + } +} +.MLK__variant-panel .item .ML__latex { + pointer-events: none; +} +.MLK__variant-panel .item.is-active { + background: var(--_variant-keycap-background-active); + color: var(--_variant-keycap-text-active); +} +.MLK__variant-panel .item.is-pressed { + background: var(--_variant-keycap-background-pressed); + color: var(--_variant-keycap-text-pressed); +} +.MLK__variant-panel .item.small { + font-size: var(--_keycap-small-font-size); +} +.MLK__variant-panel .item.swatch-button { + box-sizing: border-box; + background: #fbfbfb; +} +.MLK__variant-panel .item.swatch-button > span { + display: inline-block; + margin: 6px; + width: calc(100% - 12px); + height: calc(100% - 12px); + border-radius: 50%; +} +.MLK__variant-panel .item.swatch-button:hover { + background: #f0f0f0; +} +.MLK__variant-panel .item.swatch-button:hover > span { + border-radius: 2px; +} +.MLK__variant-panel .item.box > div, +.MLK__variant-panel .item.box > span { + border: 1px dashed rgba(0, 0, 0, 0.24); +} +.MLK__variant-panel .item .warning { + min-height: 60px; + min-width: 60px; + background: #cd0030; + color: white; + padding: 5px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 5px; +} +.MLK__variant-panel .item .warning.is-pressed, +.MLK__variant-panel .item .warning.is-active { + background: red; +} +.MLK__variant-panel .item .warning svg.svg-glyph { + width: 50px; + height: 50px; +} +.MLK__variant-panel .item aside { + font-size: var(--_variant-keycap-aside-font-size); + line-height: 12px; + opacity: 0.78; + padding-top: 2px; +} +.MLK__keycap { + position: relative; +} +.MLK__shift { + display: block; + position: absolute; + right: 4px; + top: 4px; + font-size: var(--_keycap-shift-font-size); + color: var(--_keycap-shift-color); +} +.hide-shift .MLK__shift { + display: none; +} +@media (max-width: 414px) { + .MLK__variant-panel { + max-width: 350px; + --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); + --_variant-keycap-length: var(--variant-keycap-length, 50px); + } +} +/* @xs breakpoint: iPhone 5 */ +@container (max-width: 414px) { + .MLK__rows { + --_keycap-gap: max(var(--_keycap-gap, 2px), 2px); + --_keycap-height: max(var(--_keycap-height), 42px); + --_keycap-width: min(min(var(--_keycap-max-width), 10cqw), 62px); + } + .MLK__toolbar > div > div { + font-size: 100%; + margin-left: 2px; + margin-right: 2px; + } + .MLK__rows .shift, + .MLK__rows .action { + font-size: 65%; + } + .MLK__rows .warning svg.svg-glyph { + width: 14px; + height: 14px; + min-height: 14px; + } +} +@container (max-width: 744px) { + .MLK__rows { + --_keycap-gap: max(var(--keycap-gap, 2px), 2px); + --_keycap-height: max(var(--keycap-height, 52px), 52px); + --_keycap-width: min(min(var(--_keycap-max-width), 10cqw), 62px); + } + .MLK__toolbar > div > div { + padding-left: 0; + padding-right: 0; + } + .MLK__tooltip::after { + padding: 8px 16px; + font-size: 16px; + } + .MLK__rows > .MLK__row > div.fnbutton { + font-size: 16px; + } + .MLK__rows > .MLK__row > div.bigfnbutton { + font-size: calc(var(--_keycap-extra-small-font-size) / 1.55); + } + .MLK__rows > .MLK__row > div.small { + font-size: 13px; + } + .MLK__rows > .MLK__row > div > aside { + display: none; + } + .MLK__shift { + display: none; + } +} +/* Medium breakpoint: larger phones */ +@container (max-width: 768px) { + .MLK__rows { + --_keycap-height: max(var(--keycap-height, 42px), 42px); + } + .MLK__rows > .MLK__row > div > small { + font-size: 14px; + } +} +@media (max-height: 768px) { + .MLK__rows { + --_keycap-height: max(var(--keycap-height, 42px), 42px); + } + .MLK__rows > .MLK__row > div > small { + font-size: 14px; + } +} +@container (max-width: 1444px) { + .MLK__rows .if-wide { + display: none; + } +} +@media (prefers-color-scheme: dark) { + .ML__keyboard { + --_accent-color: var(--keyboard-accent-color, #0b5c9c); + --_background: var(--keyboard-background, #151515); + --_border: var(--keyboard-border, transparent); + --_toolbar-text: var(--keyboard-toolbar-text, #e3e4e8); + --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #303030); + --keyboard-toolbar-background-hover: #303030; + --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #303030); + --_keycap-background: var(--keycap-background, #1f2022); + --_keycap-background-hover: var(--keycap-background-hover, #2f3032); + --_keycap-border: var(--_keycap-border, transparent); + --_keycap-border-bottom: var(--_keycap-border-bottom, transparent); + --_keycap-text: var(--keycap-text, #e3e4e8); + --_keycap-secondary-background: var(--keycap-secondary-background, #3d4144); + --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #4d5154); + --_keycap-secondary-text: var(--keycap-secondary-text, #e7ebee); + --keycap-secondary-border: transparent; + --keycap-secondary-border-bottom: transparent; + --_keycap-secondary-border: var(--keycap-secondary-border, transparent); + --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, transparent); + --_variant-panel-background: var(--variant-panel-background, #303030); + --_variant-keycap-text-active: var(--variant-keycap-text-active, #fff); + } +} +/* Same as the media query, but with a class */ +[theme='dark'] .ML__keyboard { + --_accent-color: var(--keyboard-accent-color, #0b5c9c); + --_background: var(--keyboard-background, #151515); + --_border: var(--keyboard-border, transparent); + --_toolbar-text: var(--keyboard-toolbar-text, #e3e4e8); + --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #303030); + --keyboard-toolbar-background-hover: #303030; + --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #303030); + --_keycap-background: var(--keycap-background, #1f2022); + --_keycap-background-hover: var(--keycap-background-hover, #2f3032); + --_keycap-border: var(--_keycap-border, transparent); + --_keycap-border-bottom: var(--_keycap-border-bottom, transparent); + --_keycap-text: var(--keycap-text, #e3e4e8); + --_keycap-secondary-background: var(--keycap-secondary-background, #3d4144); + --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #4d5154); + --_keycap-secondary-text: var(--keycap-secondary-text, #e7ebee); + --keycap-secondary-border: transparent; + --keycap-secondary-border-bottom: transparent; + --_keycap-secondary-border: var(--keycap-secondary-border, transparent); + --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, transparent); + --_variant-panel-background: var(--variant-panel-background, #303030); + --_variant-keycap-text-active: var(--variant-keycap-text-active, #fff); +} +[theme='light'] .ML__keyboard { + --_accent-color: var(--keyboard-accent-color, #0c75d8); + --_background: var(--keyboard-background, #cacfd7); + --_border: var(--keyboard-border, #ddd); + --_toolbar-text: var(--keyboard-toolbar-text, #2c2e2f); + --_toolbar-background: var(--keyboard-toolbar-background, transparent); + --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #eee); + --_toolbar-background-selected: var(--keyboard-toolbar-background-selected, transparent); + --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #fff); + --_keycap-background: var(--keycap-background, white); + --_keycap-background-hover: var(--keycap-background-hover, #f5f5f7); + --_keycap-background-active: var(--keycap-background-active, var(--_accent-color)); + --_keycap-background-pressed: var(--keycap-background-pressed, var(--_accent-color)); + --_keycap-border: var(--_keycap-border, #e5e6e9); + --_keycap-border-bottom: var(--_keycap-border-bottom, #8d8f92); + --_keycap-text: var(--keycap-text, #000); + --_keycap-text-active: var(--keycap-text-active, #fff); + --_keycap-text-hover: var(--keycap-text-hover, var(--_keycap-text)); + --_keycap-text-pressed: var(--keycap-text-pressed, #fff); + --_keycap-shift-text: var(--keycap-shift-text, var(--_accent-color)); + --_keycap-secondary-background: var(--keycap-secondary-background, #a0a9b8); + --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #7d8795); + --_keycap-secondary-text: var(--keycap-secondary-text, #060707); + --_keycap-secondary-border: var(--keycap-secondary-border, #c5c9d0); + --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, #989da6); + --_variant-panel-background: var(--variant-panel-background, #fff); + --_variant-keycap-text: var(--variant-keycap-textvar, var(--_keycap-text)); + --_variant-keycap-text-active: var(--variant-keycap-text-active, var(--_keycap-text-active)); + --_variant-keycap-background-active: var(--variant-keycap-background-active, var(--_accent-color)); +} +`,n0=`:host { + --primary-color: #5898ff; + --primary-color-dimmed: #c0c0f0; + --primary-color-dark: var(--blue-500); + --primary-color-light: var(--blue-100); + --primary-color-reverse: #ffffff; + --secondary-color: #ff8a65; + --secondary-color-dimmed: #f0d5c5; + --secondary-color-dark: var(--orange-500); + --secondary-color-light: var(--orange-100); + --secondary-color-reverse: #ffffff; + --link-color: #5898ff; + --link-color-dimmed: #c5c5c5; + --link-color-dark: #121212; + --link-color-light: #e2e2e2; + --link-color-reverse: #ffffff; + --semantic-blue: var(--blue-700); + --semantic-red: var(--red-400); + --semantic-orange: var(--orange-400); + --semantic-green: var(--green-700); + --neutral-100: #f5f5f5; + --neutral-200: #eeeeee; + --neutral-300: #e0e0e0; + --neutral-400: #bdbdbd; + --neutral-500: #9e9e9e; + --neutral-600: #757575; + --neutral-700: #616161; + --neutral-800: #424242; + --neutral-900: #212121; + --red-25: #fff8f7; + --red-50: #fff1ef; + --red-100: #ffeae6; + --red-200: #ffcac1; + --red-300: #ffa495; + --red-400: #ff7865; + --red-500: #f21c0d; + --red-600: #e50018; + --red-700: #d30024; + --red-800: #bd002c; + --red-900: #a1002f; + --orange-25: #fffbf8; + --orange-50: #fff7f1; + --orange-100: #fff3ea; + --orange-200: #ffe1c9; + --orange-300: #ffcca2; + --orange-400: #ffb677; + --orange-500: #fe9310; + --orange-600: #f58700; + --orange-700: #ea7c00; + --orange-800: #dc6d00; + --orange-900: #ca5b00; + --brown-25: #fff8ef; + --brown-50: #fff1df; + --brown-100: #ffe9ce; + --brown-200: #ebcca6; + --brown-300: #cdaf8a; + --brown-400: #af936f; + --brown-500: #856a47; + --brown-600: #7f5e34; + --brown-700: #78511f; + --brown-800: #6e4200; + --brown-900: #593200; + --yellow-25: #fffdf9; + --yellow-50: #fffcf2; + --yellow-100: #fffaec; + --yellow-200: #fff2ce; + --yellow-300: #ffe8ab; + --yellow-400: #ffdf85; + --yellow-500: #ffcf33; + --yellow-600: #f1c000; + --yellow-700: #dfb200; + --yellow-800: #c9a000; + --yellow-900: #ad8a00; + --lime-25: #f4ffee; + --lime-50: #e9ffdd; + --lime-100: #ddffca; + --lime-200: #a8fb6f; + --lime-300: #94e659; + --lime-400: #80d142; + --lime-500: #63b215; + --lime-600: #45a000; + --lime-700: #268e00; + --lime-800: #007417; + --lime-900: #005321; + --green-25: #f5fff5; + --green-50: #ebffea; + --green-100: #e0ffdf; + --green-200: #a7ffa7; + --green-300: #5afa65; + --green-400: #45e953; + --green-500: #17cf36; + --green-600: #00b944; + --green-700: #00a34a; + --green-800: #008749; + --green-900: #00653e; + --teal-25: #f3ffff; + --teal-50: #e6fffe; + --teal-100: #d9fffe; + --teal-200: #8dfffe; + --teal-300: #57f4f4; + --teal-400: #43e5e5; + --teal-500: #17cfcf; + --teal-600: #00c2c0; + --teal-700: #00b5b1; + --teal-800: #00a49e; + --teal-900: #009087; + --cyan-25: #f7fcff; + --cyan-50: #eff8ff; + --cyan-100: #e7f5ff; + --cyan-200: #c2e6ff; + --cyan-300: #95d5ff; + --cyan-400: #61c4ff; + --cyan-500: #13a7ec; + --cyan-600: #069eda; + --cyan-700: #0095c9; + --cyan-800: #0088b2; + --cyan-900: #0a7897; + --blue-25: #f7faff; + --blue-50: #eef5ff; + --blue-100: #e5f1ff; + --blue-200: #bfdbff; + --blue-300: #92c2ff; + --blue-400: #63a8ff; + --blue-500: #0d80f2; + --blue-600: #0077db; + --blue-700: #006dc4; + --blue-800: #0060a7; + --blue-900: #005086; + --indigo-25: #f8f7ff; + --indigo-50: #f1efff; + --indigo-100: #eae7ff; + --indigo-200: #ccc3ff; + --indigo-300: #ac99ff; + --indigo-400: #916aff; + --indigo-500: #63c; + --indigo-600: #5a21b2; + --indigo-700: #4e0b99; + --indigo-800: #3b0071; + --indigo-900: #220040; + --purple-25: #fbf7ff; + --purple-50: #f8f0ff; + --purple-100: #f4e8ff; + --purple-200: #e4c4ff; + --purple-300: #d49aff; + --purple-400: #c36aff; + --purple-500: #a219e6; + --purple-600: #9000c4; + --purple-700: #7c009f; + --purple-800: #600073; + --purple-900: #3d0043; + --magenta-25: #fff8fb; + --magenta-50: #fff2f6; + --magenta-100: #ffebf2; + --magenta-200: #ffcddf; + --magenta-300: #ffa8cb; + --magenta-400: #ff7fb7; + --magenta-500: #eb4799; + --magenta-600: #da3689; + --magenta-700: #c82179; + --magenta-800: #b00065; + --magenta-900: #8a004c; +} +@media (prefers-color-scheme: dark) { + :host { + --semantic-blue: var(--blue-700); + --semantic-red: var(--red-400); + --semantic-orange: var(--orange-400); + --semantic-green: var(--green-700); + --semantic-bg-blue: var(--blue-25); + --semantic-bg-red: var(--red-25); + --semantic-bg-orange: var(--orange-25); + --semantic-bg-green: var(--green-25); + --neutral-100: #121212; + --neutral-200: #424242; + --neutral-300: #616161; + --neutral-400: #757575; + --neutral-500: #9e9e9e; + --neutral-600: #bdbdbd; + --neutral-700: #e0e0e0; + --neutral-800: #eeeeee; + --neutral-900: #f5f5f5; + } +} +:host([theme='dark']) { + --semantic-blue: var(--blue-700); + --semantic-red: var(--red-400); + --semantic-orange: var(--orange-400); + --semantic-green: var(--green-700); + --semantic-bg-blue: var(--blue-25); + --semantic-bg-red: var(--red-25); + --semantic-bg-orange: var(--orange-25); + --semantic-bg-green: var(--green-25); + --neutral-100: #121212; + --neutral-200: #424242; + --neutral-300: #616161; + --neutral-400: #757575; + --neutral-500: #9e9e9e; + --neutral-600: #bdbdbd; + --neutral-700: #e0e0e0; + --neutral-800: #eeeeee; + --neutral-900: #f5f5f5; +} +/* @media (prefers-color-scheme: dark) { + :host { + --label-color: #fff; + --active-label-color: #000; + --menu-bg: #525252; + --active-bg: #5898ff; + --active-bg-dimmed: #5c5c5c; + } +} */ +:host { + --ui-font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, + 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol'; + --ui-font-size: 14px; + --ui-line-height: 1.5; + --ui-letter-spacing: 0.007em; + --mono-font-family: 'Berkeley Mono', 'JetBrains Mono', 'IBM Plex Mono', + 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace; + --ui-layer-1: var(--neutral-100); + --ui-layer-2: var(--neutral-200); + --ui-layer-3: var(--neutral-300); + --ui-layer-4: var(--neutral-400); + --ui-layer-5: var(--neutral-500); + --ui-layer-6: var(--neutral-600); + --ui-border-color: var(--primary-color); + --ui-border-radius: 4px; + --ui-text: var(--neutral-900); + --ui-text-secondary: var(--neutral-700); + --ui-text-placeholder: var(--neutral-500); + --ui-text-muted: var(--neutral-300); + /** A field is a UI element in which a user can type data, for + * example an input or textarea element. + */ + --ui-field-bg: var(--neutral-100); + --ui-field-bg-hover: var(--neutral-100); + --ui-field-bg-disabled: var(--neutral-300); + --ui-field-bg-invalid: var(--red-100); + --ui-field-bg-focus: var(--neutral-100); + --ui-field-border: 0.5px solid var(--border-color); + --ui-field-border-hover: 0.5px solid var(--border-color); + --ui-field-border-disabled: 0.5px solid var(--border-color); + --ui-field-border-invalid: 0.5px solid var(--border-color); + --ui-field-border-focus: 0.5px solid var(--border-color); + --ui-menu-bg: var(--neutral-100); + --ui-menu-text: var(--neutral-900); + --ui-menu-bg-hover: var(--neutral-200); + --ui-menu-text-hover: var(--neutral-900); + /** The \`active\` state is used for the state of menu items + * when they are selected. + */ + --ui-menu-bg-active: var(--primary-color); + --ui-menu-text-active: var(--primary-color-reverse); + /** The \`active-muted\` set is used for the state of + * submenus when they are open. + */ + --ui-menu-bg-active-muted: var(--neutral-300); + --ui-menu-text-active-muted: var(--neutral-900); + /* --ui-menu-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.302), +0 2px 6px 2px rgba(60, 64, 67, 0.149); */ + --ui-menu-shadow: 0 0 2px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.2); + --ui-menu-divider: 0.5px solid #c7c7c7; + /* var(--neutral-300); */ + --ui-menu-z-index: 10000; + --page-bg: var(--neutral-100); + --content-bg: var(--neutral-200); +} +@media (prefers-color-scheme: dark) { + :host { + --ui-menu-bg: var(--neutral-200); + } +} +:host([theme='dark']) { + --ui-menu-bg: var(--neutral-200); +} +/* PingFang SC is a macOS font. Microsoft Yahei is a Windows font. + Noto is a Linux/Android font. +*/ +:lang(zh-cn), +:lang(zh-sg), +:lang(zh-my), +:lang(zh) { + --ui-font-family: -apple-system, system-ui, 'PingFang SC', 'Hiragino Sans GB', + 'Noto Sans CJK SC', 'Noto Sans SC', 'Noto Sans', 'Microsoft Yahei UI', + 'Microsoft YaHei New', 'Microsoft Yahei', '\u5FAE\u8F6F\u96C5\u9ED1', SimSun, '\u5B8B\u4F53', + STXihei, '\u534E\u6587\u7EC6\u9ED1', sans-serif; +} +:lang(zh-tw), +:lang(zh-hk), +:lang(zh-mo) { + --ui-font-family: -apple-system, system-ui, 'Noto Sans', + 'Microsoft JhengHei UI', 'Microsoft JhengHei', '\u5FAE\u8EDF\u6B63\u9ED1\u9AD4', '\u65B0\u7D30\u660E\u9AD4', + 'PMingLiU', '\u7D30\u660E\u9AD4', 'MingLiU', sans-serif; +} +:lang(ja), +:lang(ja-jp), +:lang(ja-jp-mac) { + --ui-font-family: -apple-system, system-ui, 'Hiragino Sans', + 'Hiragino Kaku Gothic ProN', 'Noto Sans CJK JP', 'Noto Sans JP', 'Noto Sans', + '\u6E38\u30B4\u30B7\u30C3\u30AF', '\u6E38\u30B4\u30B7\u30C3\u30AF\u4F53', YuGothic, 'Yu Gothic', '\u30E1\u30A4\u30EA\u30AA', Meiryo, + '\uFF2D\uFF33 \uFF30\u30B4\u30B7\u30C3\u30AF', 'MS PGothic', sans-serif; +} +:lang(ko), +:lang(ko-kr), +:lang(ko-kr-std) { + --ui-font-family: -apple-system, system-ui, 'Noto Sans CJK KR', 'Noto Sans KR', + 'Noto Sans', 'Malgun Gothic', '\uB9D1\uC740 \uACE0\uB515', 'Apple SD Gothic Neo', + '\uC560\uD50C SD \uC0B0\uB3CC\uACE0\uB515 Neo', 'Apple SD \uC0B0\uB3CC\uACE0\uB515 Neo', '\uB3CB\uC6C0', Dotum, sans-serif; +} +:lang(ko-kr-apple) { + --ui-font-family: -apple-system, system-ui, 'Noto Sans CJK KR', 'Noto Sans KR', + 'Noto Sans', 'Apple SD Gothic Neo', '\uC560\uD50C SD \uC0B0\uB3CC\uACE0\uB515 Neo', + 'Apple SD \uC0B0\uB3CC\uACE0\uB515 Neo', '\uB3CB\uC6C0', Dotum, sans-serif; +} +:lang(zh-cn), +:lang(zh-sg), +:lang(zh-my), +:lang(zh), +:lang(zh-tw), +:lang(zh-hk), +:lang(zh-mo), +:lang(ja), +:lang(ja-jp), +:lang(ja-jp-mac), +:lang(ko), +:lang(ko-kr), +:lang(ko-kr-std), +:lang(ko-kr-apple) { + --ui-font-size: 1rem; + --ui-line-height: 1.7; + --ui-letter-spacing: 0; +} +:dir(rtl) { + --ui-line-height: auto; + --ui-letter-spacing: 0; +} +`,ms=`.ui-menu *, +.ui-menu ::before, +.ui-menu ::after { + box-sizing: border-box; +} +.ui-menu { + display: none; + color-scheme: light dark; + -webkit-user-select: none; + /* Important: Safari iOS doesn't respect user-select */ + user-select: none; + cursor: default; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0 0 0 0); + --active-label-color: #fff; + /* ui-menu-text-active */ + --label-color: #121212; + /* ui-menu-text */ + --menu-bg: #e2e2e2; + /* ui-menu-background */ + --active-bg: #5898ff; + /* ui-menu-background-active */ + --active-bg-dimmed: #c5c5c5; + /* ui-menu-background-active-muted */ +} +/** Use the :where pseudo selector to make the specificity of the + * selector 0, so that it can be overridden by the user. + */ +:where(.ui-menu-container) { + position: absolute; + overflow: visible; + width: auto; + height: auto; + z-index: 10000; + border-radius: 8px; + background: var(--ui-menu-bg); + box-shadow: var(--ui-menu-shadow); + list-style: none; + padding: 6px 0 6px 0; + margin: 0; + user-select: none; + cursor: default; + color: var(--ui-menu-text); + font-weight: normal; + font-style: normal; + text-shadow: none; + text-transform: none; + letter-spacing: 0; + outline: none; + opacity: 1; + /* The [popover] elements have a 1px solid black border. Ugh. */ + border: none; + width: fit-content; + height: fit-content; +} +:where(.ui-menu-container > li) { + display: flex; + flex-flow: row; + align-items: center; + padding: 1px 7px 1px 7px; + margin-top: 0; + margin-left: 6px; + margin-right: 6px; + border-radius: 4px; + white-space: nowrap; + position: relative; + outline: none; + fill: currentColor; + user-select: none; + cursor: default; + text-align: left; + color: inherit; + font-family: var(--ui-font-family); + font-size: var(--ui-font-size); + line-height: var(--ui-line-height); + letter-spacing: var(--ui-letter-spacing); +} +:where(.ui-menu-container > li > .label) { + appearance: none; + background: none; + outline: none; + width: 100%; + margin: 0; + padding: 1px 2px 1px 1px; + overflow: visible; + border: 1px solid transparent; + white-space: nowrap; + text-align: start; +} +:where(.ui-menu-container > li:has(.heading)) { + margin-top: 0.5em; +} +:where(.ui-menu-container > li > .label.heading) { + font-weight: bold; + opacity: 0.4; +} +:where(.ui-menu-container > li.indent > .label) { + margin-inline-start: 12px; +} +:where(.ui-menu-container > li > .label.indent) { + margin-inline-start: 12px; +} +:where(.ui-menu-container > li[role='divider']) { + border-bottom: 1px solid var(--ui-menu-divider); + border-radius: 0; + padding: 0; + margin-left: 15px; + margin-right: 15px; + padding-top: 5px; + margin-bottom: 5px; + width: calc(100% - 30px); + /** 100% - (margin-left + margin-right) */ +} +:where(.ui-menu-container > li[aria-disabled='true']) { + opacity: 0.5; +} +:where(.ui-menu-container > li.active) { + background: var(--ui-menu-bg-active); + background: -apple-system-control-accent; + color: var(--ui-menu-text-active); +} +:where(.ui-menu-container > li.active.is-submenu-open) { + background: var(--ui-menu-bg-active-muted); + color: inherit; +} +:where(.ui-menu-container > li[aria-haspopup='true'] > .label) { + padding-inline-end: 0; +} +:where(.ui-menu-container > li[aria-haspopup='true'].active::after) { + color: var(--ui-menu-text-active); +} +/** Keyboard shortcut */ +:where(.ui-menu-container > li > kbd) { + font-family: var(--ui-font-family); + margin-inline-start: 12px; + opacity: 0.4; +} +:where(.ui-menu-container > li.active > kbd) { + opacity: 0.85; +} +.ui-trailing-chevron { + display: flex; + margin-inline-start: 24px; + width: 10px; + height: 10px; + margin-bottom: 4px; +} +.ui-trailing-chevron:dir(rtl) { + transform: scaleX(-1); +} +.ui-checkmark { + display: flex; + margin-inline-end: -11px; + margin-inline-start: -4px; + margin-top: 2px; + width: 16px; + height: 16px; +} +.ui-mixedmark { + display: flex; + margin-inline-end: -11px; + margin-inline-start: -4px; + margin-top: 2px; + width: 16px; + height: 16px; +} +`,Ju;function Vd(a){let y="";switch(a){case"mathfield-element":y=` + :host { display: inline-block; background-color: field; color: fieldtext; border-width: 1px; border-style: solid; border-color: #acacac; border-radius: 2px; padding:4px;} + :host([hidden]) { display: none; } + :host([disabled]), :host([disabled]:focus), :host([disabled]:focus-within) { outline: none; opacity: .5; } + :host(:focus), :host(:focus-within) { + outline: Highlight auto 1px; /* For Firefox */ + outline: -webkit-focus-ring-color auto 1px; + } + :host([readonly]:focus), :host([readonly]:focus-within), + :host([read-only]:focus), :host([read-only]:focus-within) { + outline: none; + } + @media (hover: none) and (pointer: coarse) { + :host(:not(:focus)) :first-child { pointer-events: none !important; } + }`;break;case"core":y=Xu;break;case"mathfield":y=Vf;break;case"environment-popover":y=E0;break;case"suggestion-popover":y=t0;break;case"keystroke-caption":y=mf;break;case"virtual-keyboard":y=fh;break;case"ui":y=n0;break;case"menu":y=ms;break;default:debugger}return y}function Ef(a){return Ju||(Ju={}),Ju[a]||(Ju[a]=new CSSStyleSheet,Ju[a].replaceSync(Vd(a))),Ju[a]}var Od;function td(a){var y;if(!("adoptedStyleSheets"in document)){if(window.document.getElementById(`mathlive-style-${a}`))return;const b=window.document.createElement("style");b.id=`mathlive-style-${a}`,b.append(window.document.createTextNode(Vd(a))),window.document.head.appendChild(b);return}if(Od||(Od={}),((y=Od[a])!=null?y:0)!==0)Od[a]+=1;else{const b=Ef(a);document.adoptedStyleSheets=[...document.adoptedStyleSheets,b],Od[a]=1}}function x(a){if("adoptedStyleSheets"in document&&Od!=null&&Od[a]&&(Od[a]-=1,Od[a]<=0)){const y=Ju[a];document.adoptedStyleSheets=document.adoptedStyleSheets.filter(b=>b!==y)}}var z=class _v extends Ti{constructor(y){var b;super(He(Se({},y),{type:"accent",body:(b=y.body)!=null?b:void 0})),y.accentChar?this.accent=y.accentChar:this.svgAccent=y==null?void 0:y.svgAccent,this.skipBoundary=!0,this.captureSelection=!0}static fromJson(y){return new _v(y)}toJson(){return He(Se({},super.toJson()),{accentChar:this.accent,svgAccent:this.svgAccent})}render(y){var b;const E=new vu({parent:y,mathstyle:"cramp"},this.style),te=(b=Ti.createBox(E,this.body))!=null?b:new za("\u25A2",{style:this.style});let oe=0;!this.hasEmptyBranch("body")&&this.body.length===2&&this.body[1].isCharacterBox()&&(oe=te.skew);let ue=Math.min(te.height,Cs),Ae;if(this.svgAccent)Ae=Qc(this.svgAccent),ue=E.metrics.bigOpSpacing1-ue;else if(this.accent){const Ne=new za(this.accent,{fontFamily:"Main-Regular"});Ne.italic=0;const Ge=this.accent===8407?" ML__accent-vec":"";Ae=new za(new za(Ne),{classes:"ML__accent-body"+Ge})}Ae=new Iu({shift:0,children:[{box:new za(te)},-ue,{box:Ae,marginLeft:te.left+2*oe,classes:["ML__center"]}]});const Ee=new za(Ae,{type:"lift"});return this.caret&&(Ee.caret=this.caret),this.bind(E,Ee.wrap(E)),this.attachSupsub(E,{base:Ee})}},re={"(":")","{":"}","[":"]","|":"|","\\lbrace":"\\rbrace","\\lparen":"\\rparen","\\{":"\\}","\\langle":"\\rangle","\\lfloor":"\\rfloor","\\lceil":"\\rceil","\\vert":"\\vert","\\lvert":"\\rvert","\\Vert":"\\Vert","\\lVert":"\\rVert","\\lbrack":"\\rbrack","\\ulcorner":"\\urcorner","\\llcorner":"\\lrcorner","\\lgroup":"\\rgroup","\\lmoustache":"\\rmoustache"},ne=Object.fromEntries(Object.entries(re).map(([a,y])=>[y,a]));function le(a){var y;return(y={"[":91,"]":93,"(":40,")":41,"\\mid":8739,"|":8739,"\u2223":8739,"\u2225":8741,"\\|":8739,"\\{":123,"\\}":125,"\\lbrace":123,"\\rbrace":125,"\\lparen":40,"\\rparen":41,"\\lbrack":91,"\\rbrack":93,"\\vert":8739,"\\lvert":8739,"\\mvert":8739,"\\rvert":8739,"\\Vert":8741,"\\lVert":8741,"\\mVert":8741,"\\rVert":8741,"\\parallel":8741,"\\shortparallel":8741,"\\langle":10216,"\\rangle":10217,"\\lfloor":8970,"\\rfloor":8971,"\\lceil":8968,"\\rceil":8969,"\\ulcorner":9484,"\\urcorner":9488,"\\llcorner":9492,"\\lrcorner":9496,"\\lgroup":10222,"\\rgroup":10223,"\\lmoustache":9136,"\\rmoustache":9137,"\\surd":8730}[a])!=null?y:a.codePointAt(0)}function ge(a,y,b,E){var te;const ue=new za(le(a),{fontFamily:"Main-Regular",isSelected:E.isSelected,classes:"ML__small-delim "+((te=E.classes)!=null?te:"")}).wrap(y);return b&&ue.setTop((1-y.scalingFactor)*bl),ue}function Ie(a,y,b,E,te){var oe,ue;const Ae=new vu({parent:E,mathstyle:"textstyle"},te==null?void 0:te.style),Ee=new za(le(a),{fontFamily:`Size${y}-Regular`,isSelected:te.isSelected,classes:((oe=te.classes)!=null?oe:"")+` ML__delim-size${y}`,type:(ue=te.type)!=null?ue:"ignore"}).wrap(Ae);return b&&Ee.setTop((1-Ae.scalingFactor)*bl),Ee}function Ue(a,y,b,E,te){var oe;let ue,Ae,Ee,Ne;ue=Ee=Ne=le(a),Ae=null;let Ge="Size1-Regular";a==="\\vert"||a==="\\lvert"||a==="\\rvert"||a==="\\mvert"||a==="\\mid"?Ee=ue=Ne=8739:a==="\\Vert"||a==="\\lVert"||a==="\\rVert"||a==="\\mVert"||a==="\\|"?Ee=ue=Ne=8741:a==="\\uparrow"?Ee=Ne=9168:a==="\\Uparrow"?Ee=Ne=8214:a==="\\downarrow"?ue=Ee=9168:a==="\\Downarrow"?ue=Ee=8214:a==="\\updownarrow"?(ue=8593,Ee=9168,Ne=8595):a==="\\Updownarrow"?(ue=8657,Ee=8214,Ne=8659):a==="["||a==="\\lbrack"?(ue=9121,Ee=9122,Ne=9123,Ge="Size4-Regular"):a==="]"||a==="\\rbrack"?(ue=9124,Ee=9125,Ne=9126,Ge="Size4-Regular"):a==="\\lfloor"||a==="\u230A"?(Ee=ue=9122,Ne=9123,Ge="Size4-Regular"):a==="\\lceil"||a==="\u2308"?(ue=9121,Ee=Ne=9122,Ge="Size4-Regular"):a==="\\rfloor"||a==="\u230B"?(Ee=ue=9125,Ne=9126,Ge="Size4-Regular"):a==="\\rceil"||a==="\u2309"?(ue=9124,Ee=Ne=9125,Ge="Size4-Regular"):a==="("||a==="\\lparen"?(ue=9115,Ee=9116,Ne=9117,Ge="Size4-Regular"):a===")"||a==="\\rparen"?(ue=9118,Ee=9119,Ne=9120,Ge="Size4-Regular"):a==="\\{"||a==="\\lbrace"?(ue=9127,Ae=9128,Ne=9129,Ee=9130,Ge="Size4-Regular"):a==="\\}"||a==="\\rbrace"?(ue=9131,Ae=9132,Ne=9133,Ee=9130,Ge="Size4-Regular"):a==="\\lgroup"||a==="\u27EE"?(ue=9127,Ne=9129,Ee=9130,Ge="Size4-Regular"):a==="\\rgroup"||a==="\u27EF"?(ue=9131,Ne=9133,Ee=9130,Ge="Size4-Regular"):a==="\\lmoustache"||a==="\u23B0"?(ue=9127,Ne=9133,Ee=9130,Ge="Size4-Regular"):a==="\\rmoustache"||a==="\u23B1"?(ue=9131,Ne=9129,Ee=9130,Ge="Size4-Regular"):a==="\\surd"?(ue=57345,Ne=9143,Ee=57344,Ge="Size4-Regular"):a==="\\ulcorner"?(ue=9484,Ee=Ne=32):a==="\\urcorner"?(ue=9488,Ee=Ne=32):a==="\\llcorner"?(Ne=9492,Ee=ue=32):a==="\\lrcorner"&&(ue=9496,Ee=ue=32);const gt=oc(ue,Ge),$t=gt.height+gt.depth,kn=oc(Ee,Ge),rr=kn.height+kn.depth,gi=oc(Ne,Ge),no=gi.height+gi.depth;let si=0,la=1;if(Ae!==null){const cd=oc(Ae,Ge);si=cd.height+cd.depth,la=2}const po=$t+no+si,Ba=Math.max(0,Math.ceil((y-po)/(la*rr))),Tl=po+Ba*la*rr;let as=bl;b&&(as=as*E.scalingFactor);const Gl=Tl/2-as,Tu=.008,ac=[];ac.push({box:new za(Ne,{fontFamily:Ge})}),ac.push(-Tu);const zo=new za(Ee,{fontFamily:Ge});if(Ae===null)for(let cd=0;cd","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),er=[0,1.2,1.8,2.4,3];function Ur(a,y,b,E){return a===void 0||a==="."?gl(b,E.classes):(a==="<"||a==="\\lt"||a==="\u27E8"?a="\\langle":(a===">"||a==="\\gt"||a==="\u27E9")&&(a="\\rangle"),it.has(a)||In.has(a)?Ie(a,y,!1,b,E):vt.has(a)?Ue(a,er[y],!1,b,E):(console.assert(!1,"Unknown delimiter '"+a+"'"),null))}var Qr=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Ki=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"stack"}],wa=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}];function uo(a){return a.type==="small"?"Main-Regular":a.type==="large"?"Size"+a.size+"-Regular":(console.assert(a.type==="stack"),"Size4-Regular")}function Mo(a,y,b,E){const te={"-4":0,"-3":1,0:2}[E.mathstyle.sizeDelta];for(let oe=te;oey)return b[oe]}return b[b.length-1]}function cl(a,y,b,E,te,oe){if(!y||y.length===0||y===".")return gl(te);y==="<"||y==="\\lt"?y="\\langle":(y===">"||y==="\\gt")&&(y="\\rangle");let ue;In.has(y)?ue=Qr:it.has(y)?ue=wa:ue=Ki;const Ae=Mo(le(y),b,ue,te),Ee=new vu({parent:te,mathstyle:Ae.mathstyle},oe==null?void 0:oe.style);return Ae.type==="small"?ge(y,Ee,E,He(Se({},oe),{type:a})):Ae.type==="large"?Ie(y,Ae.size,E,Ee,He(Se({},oe),{type:a})):(console.assert(Ae.type==="stack"),Ue(y,b,E,Ee,He(Se({},oe),{type:a})))}function To(a,y,b,E,te,oe){if(y===".")return gl(te,oe==null?void 0:oe.classes);const ue=bl*te.scalingFactor,Ae=901,Ee=5/$o,Ne=Math.max(b-ue,E+ue),Ge=Math.max(Ne/500*Ae,2*Ne-Ee);return cl(a,y,Ge,!0,te,oe)}function gl(a,y){const b=new za(null,{classes:" nulldelimiter "+(y!=null?y:""),type:"ignore"});return b.width=a.getRegisterAsEm("nulldelimiterspace"),b.wrap(new vu({parent:a,mathstyle:"textstyle"}))}var Wl=class $v extends Ti{constructor(y){var b;super({type:"placeholder",command:"\\placeholder",mode:(b=y==null?void 0:y.mode)!=null?b:"math",style:y==null?void 0:y.style}),this.captureSelection=!0}static fromJson(y){return new $v(y)}toJson(){return super.toJson()}render(y){let b;return this.value=y.placeholderSymbol,typeof y.renderPlaceholder=="function"?b=y.renderPlaceholder(y):b=this.createBox(y),this.caret&&(b.classes+=" ML__placeholder-selected"),b}_serialize(y){return y.skipPlaceholders?"":"\\placeholder{}"}},es=["matrix","matrix*","pmatrix","pmatrix*","bmatrix","bmatrix*","Bmatrix","Bmatrix*","vmatrix","vmatrix*","Vmatrix","Vmatrix*"],au=["cases","dcases","rcases"],Gu=["align","align*","aligned","gather","gathered","split"],Fc=["array","subequations","eqnarray"];function pc(a){return Fc.concat(Gu).concat(au).concat(es).includes(a)}function nd(a){return es.includes(a)}function Jc(a){return au.includes(a)}function wc(a){return Gu.includes(a)}function rd(a,y,b){let E=0;for(const Ne of b)"align"in Ne&&(E+=1);let te=0;const oe=[];for(const Ne of y){let Ge=0;for(te=Math.max(te,Math.min(Ne.length,E));Gerr.type==="first")),gt.push(kn)),Ge+=1}oe.push(gt)}}oe.length>0&&oe[oe.length-1].length===1&&oe[oe.length-1][0].length===1&&oe[oe.length-1][0][0].type==="first"&&oe.pop();const ue=[];for(const Ne of oe){if(Ne.length!==te)for(let Ge=Ne.length;Geb.map(E=>E.map(te=>te.toJson()))),rowGaps:this.rowGaps,columns:this.colFormat,colSeparationType:this.colSeparationType});return this.arraystretch!==void 0&&(y.arraystretch=this.arraystretch),this.arraycolsep!==void 0&&(y.arraycolsep=this.arraycolsep),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),y}branch(y){var b;if(_d(y))return(b=this.array[y[0]][y[1]])!=null?b:void 0}createBranch(y){var b;return _d(y)?(this.isDirty=!0,(b=this.branch(y))!=null?b:[]):[]}get rowCount(){return this.array.length}get colCount(){return this.array[0].length}get maxColumns(){return this.colFormat.filter(y=>!!y.align).length}removeBranch(y){if(Hc(y))return super.removeBranch(y);const b=this.branch(y);return this.array[y[0]][y[1]]=void 0,b.forEach(E=>{E.parent=void 0,E.parentBranch=void 0}),console.assert(b[0].type==="first"),b.shift(),this.isDirty=!0,b}get hasChildren(){return this.children.length>0}get children(){const y=[];for(const b of this.array)for(const E of b)if(E)for(const te of E)y.push(...te.children),y.push(te);return[...y,...super.children]}render(y){var b,E,te,oe,ue,Ae;const Ee=new vu({parent:y,mathstyle:this.mathstyleName},this.style),Ne=Ee.getRegisterAsEm("arrayrulewidth"),Ge=Ee.getRegisterAsEm("arraycolsep"),gt=Ee.getRegisterAsEm("doublerulesep"),$t=(E=(b=this.arraystretch)!=null?b:Ee.getRegisterAsNumber("arraystretch"))!=null?E:1;let kn=typeof this.arraycolsep=="number"?this.arraycolsep:Ge;this.colSeparationType==="small"&&(kn=.2778*(new vu({parent:y,mathstyle:"scriptstyle"}).scalingFactor/y.scalingFactor));const rr=$t*eu,gi=.7*rr,no=.3*rr;let si=0;const la=[];let po=0;const Ba=this.array.length;for(let hc=0;hc0&&(v0+=no,h0=Math.max(h0,v0),v0=0),hc0&&as.push(new Iu({individualShift:Xc}))}const Gl=[];let Tu=!1,ac=!1,zo=0,Mf=!this.leftDelim;const{colFormat:d0}=this;for(const hc of d0){if("align"in hc&&zo>=as.length)break;if("align"in hc)Tu?Gl.push(cc(2*kn)):(ac||Mf)&&Gl.push(cc(kn)),Gl.push(new za(as[zo],{classes:"col-align-"+hc.align})),zo++,Tu=!0,ac=!1,Mf=!1;else if("gap"in hc){if(typeof hc.gap=="number")Gl.push(cc(hc.gap));else{const Xc=yc(y,la,Tl,hc.gap);Xc&&Gl.push(Xc)}Tu=!1,ac=!1,Mf=!1}else if("separator"in hc){const Xc=new za(null,{classes:"vertical-separator"});Xc.height=si,Xc.setStyle("height",si,"em"),Xc.setStyle("border-right",`${Ne}em ${hc.separator} currentColor`),Xc.setStyle("vertical-align",-(si-Tl),"em");let dd=0;ac?dd=gt-Ne:Tu&&(dd=kn-Ne),Xc.left=dd,Gl.push(Xc),Tu=!1,ac=!0,Mf=!1}}Tu&&!this.rightDelim&&Gl.push(cc(kn));const jf=new za(Gl,{classes:"mtable"});if((!this.leftDelim||this.leftDelim===".")&&(!this.rightDelim||this.rightDelim==="."))return this.caret&&(jf.caret=this.caret),this.bind(y,jf);const cd=jf.height,If=jf.depth,uf=this.bind(y,new za([this.bind(y,To("open",(ue=this.leftDelim)!=null?ue:".",cd,If,Ee,{isSelected:this.isSelected})),jf,this.bind(y,To("close",(Ae=this.rightDelim)!=null?Ae:".",cd,If,Ee,{isSelected:this.isSelected}))],{type:"ord"}));return uf?(uf.setStyle("display","inline-block"),this.caret&&(uf.caret=this.caret),this.bind(y,this.attachSupsub(y,{base:uf}))):null}_serialize(y){var b;const E=[];if(this.environmentName==="lines"?E.push("{\\displaylines"):E.push(`\\begin{${this.environmentName}}`),this.environmentName==="array"){if(E.push("{"),this.colFormat!==void 0)for(const te of this.colFormat)"align"in te&&typeof te.align=="string"?E.push(te.align):"separator"in te&&te.separator==="solid"?E.push("|"):"separator"in te&&te.separator==="dashed"&&E.push(":");E.push("}")}for(let te=0;te0&&E.push(" & "),E.push(Ti.serialize(this.array[te][oe],y));if(tey);const b=this.array.splice(y,1);for(const E of b)for(const te of E)if(te)for(const oe of te)oe.parent=void 0,oe.parentBranch=void 0;for(let E=y;Ey);for(const b of this.array){const E=b.splice(y,1);for(const te of E)if(te)for(const oe of te)oe.parent=void 0,oe.parentBranch=void 0}for(let b=0;bte.type!=="first"));return y}};function uc(a){const y=new Ti({type:"first",mode:a.mode});y.parent=a;const b=new Wl;return b.parent=a,[y,b]}function cc(a){const y=new za(null,{classes:"arraycolsep"});return y.width=a,y}function yc(a,y,b,E){if(!E)return null;const te=[];for(const oe of y){const ue=Ti.createBox(a,E,{type:"ignore"});ue&&(ue.depth=oe.depth,ue.height=oe.height,te.push({box:ue,shift:oe.pos-b}))}return new Iu({individualShift:te}).wrap(a)}var Cc=class tm extends Ti{constructor(y){super({mode:y.mode,command:y.command,style:y.style,body:y.body,type:"box"}),this.framecolor=y.framecolor,this.backgroundcolor=y.backgroundcolor,this.padding=y.padding,this.offset=y.offset,this.border=y.border}static fromJson(y){return new tm(y)}toJson(){return He(Se({},super.toJson()),{framecolor:this.framecolor,backgroundcolor:this.backgroundcolor,padding:this.padding,offset:this.offset,border:this.border})}render(y){var b,E,te,oe;const ue=Ti.createBox(y,this.body,{type:"lift"});if(!ue)return null;const Ae=y.toEm((b=this.offset)!=null?b:{dimension:0});ue.depth+=Ae,ue.setStyle("display","inline-block"),ue.setStyle("position","relative"),ue.setStyle("height",Math.floor(100*ue.height+ue.depth)/100,"em"),ue.setStyle("vertical-align",-Math.floor(100*ue.height)/100,"em");const Ee=new vu({parent:y},this.style),Ne=Ee.toEm((E=this.padding)!=null?E:{register:"fboxsep"}),Ge=new za(null,{classes:"ML__box"});Ge.height=ue.height+Ne,Ge.depth=ue.depth+Ne,Ge.setStyle("box-sizing","border-box"),Ge.setStyle("position","absolute"),Ge.setStyle("top",-Ne+.3,"em"),Ge.setStyle("left",0),Ge.setStyle("height",Ge.height+Ge.depth,"em"),Ge.setStyle("width","100%"),this.backgroundcolor&&Ge.setStyle("background-color",(te=Ee.toColor(this.backgroundcolor))!=null?te:"transparent"),this.framecolor&&Ge.setStyle("border",`${Ee.getRegisterAsEm("fboxrule",2)}em solid ${(oe=Ee.toColor(this.framecolor))!=null?oe:"black"}`),this.border&&Ge.setStyle("border",this.border);const gt=new za([Ge,ue],{type:"lift"});return gt.setStyle("display","inline-block"),gt.setStyle("position","relative"),gt.setStyle("line-height",0),gt.height=ue.height+Ne+(Ae>0?Ae:0),gt.depth=ue.depth+Ne+(Ae<0?-Ae:0),gt.setStyle("padding-left",Ne,"em"),gt.setStyle("padding-right",Ne,"em"),gt.setStyle("height",Math.floor(100*(ue.height+ue.depth+2*Ne+Math.abs(Ae)))/100,"em"),gt.setStyle("margin-top",-Ne,"em"),gt.setStyle("top",Math.floor(100*(ue.depth-ue.height+2*Ne-Ae))/100,"em"),gt.setStyle("vertical-align",Math.floor(100*(ue.depth+2*Ne))/100,"em"),this.caret&&(gt.caret=this.caret),this.attachSupsub(y,{base:gt})}_serialize(y){return y.skipStyles?Js([this.bodyToLatex(y),this.supsubToLatex(y)]):super._serialize(y)}},Bf=class nm extends Ti{constructor(y,b){var E;super({type:"composition",mode:(E=b==null?void 0:b.mode)!=null?E:"math",value:y})}static fromJson(y){return new nm(y.value,y)}toJson(){return super.toJson()}get computedStyle(){return{}}render(y){const b=new za(this.value,{classes:"ML__composition",type:"composition"});return this.bind(y,b),this.caret&&(b.caret=this.caret),b}_serialize(y){return""}},ld=class rm extends Ti{constructor(y){super({type:"error",value:y,command:y,mode:"math"}),this.verbatimLatex=y}static fromJson(y){return new rm(y.command)}toJson(){return super.toJson()}render(y){const b=this.createBox(y,{classes:"ML__error"});return this.caret&&(b.caret=this.caret),b}},kc=class im extends Ti{constructor(y,b,E){super({type:"group",mode:b,style:E}),this.body=y,this.boxType=y.length>1?"ord":"ignore",this.skipBoundary=!0,this.displayContainsHighlight=!1,y&&y.length===1&&y[0].command===","&&(this.captureSelection=!0)}static fromJson(y){return new im(y.body,y.mode,y.style)}render(y){const b=Ti.createBox(y,this.body,{type:this.boxType});return b?(this.caret&&(b.caret=this.caret),this.bind(y,b)):null}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);return b!=null&&b.serialize?b.serialize(this,y):`{${this.bodyToLatex(y)}}`}},se=class am extends Ti{constructor(y,b,E){super({type:"leftright",style:E.style,displayContainsHighlight:!0}),this.variant=y,this.body=b,this.leftDelim=E.leftDelim,this.rightDelim=E.rightDelim}static fromJson(y){var b;return new am((b=y.variant)!=null?b:"",y.body,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),y}_serialize(y){var b,E;const te=this.matchingRightDelim();return this.variant==="left...right"?Js(["\\left",(b=this.leftDelim)!=null?b:".",this.bodyToLatex(y),"\\right",te]):this.variant==="mleft...mright"?Js(["\\mleft",(E=this.leftDelim)!=null?E:".",this.bodyToLatex(y),"\\mright",te]):Js([!this.leftDelim||this.leftDelim==="."?"":this.leftDelim,this.bodyToLatex(y),te])}matchingRightDelim(){var y,b;if(this.rightDelim&&this.rightDelim!=="?")return this.rightDelim;const E=(y=this.leftDelim)!=null?y:".";return(b=re[E])!=null?b:E}render(y){var b,E;const te=new vu({parent:y},this.style);console.assert(this.body!==void 0);const oe=new vu({parent:y,mathstyle:"textstyle"},this.style),ue=(b=Ti.createBox(te,this.body,{type:"inner"}))!=null?b:new za(null,{type:"inner"}),Ae=ue.height/oe.scalingFactor,Ee=ue.depth/oe.scalingFactor,Ne=[];if(this.leftDelim&&Ne.push(this.bind(oe,To("open",this.leftDelim,Ae,Ee,oe,{isSelected:this.isSelected,classes:"ML__open"+(this.containsCaret?" ML__contains-caret":""),mode:this.mode,style:this.style}))),ue&&(ce(ue.children,this,te,Ae,Ee),Ne.push(ue)),this.rightDelim){let kn=this.containsCaret?" ML__contains-caret":"",rr=this.rightDelim;rr==="?"&&(te.smartFence?(rr=this.matchingRightDelim(),kn+=" ML__smart-fence__close"):rr="."),Ne.push(this.bind(oe,To("close",rr,Ae,Ee,oe,{isSelected:this.isSelected,classes:kn+" ML__close",mode:this.mode,style:this.style})))}let Ge=this.variant==="mleft...mright";const gt=this.leftSibling;gt&&(!Ge&>.isFunction&&(Ge=!0),!Ge&>.type==="subsup"&&((E=gt.leftSibling)!=null&&E.isFunction)&&(Ge=!0));const $t=new za(Ne,{type:Ge?"close":"inner",classes:"left-right"});return $t.setStyle("margin-top",`${-ue.depth}em`),$t.setStyle("height",`${ue.height+ue.depth}em`),this.caret&&($t.caret=this.caret),this.bind(te,$t.wrap(te))}};function ce(a,y,b,E,te){if(a)for(let oe=0;oeb.type!=="first").map(b=>b.toJson())),this.correctness&&(y.correctness=this.correctness),y.locked=this.locked,y}render(y){const b=new vu({parent:y}),E=b.getRegisterAsEm("fboxsep"),te=E,oe=E,ue=Ti.createBox(y,this.body);if(!ue)return null;ue.height||(ue.height=b.metrics.xHeight),ue.setStyle("vertical-align",-ue.height,"em"),this.correctness==="correct"?ue.setStyle("color","var(--correct-color, var(--ML__correct-color))"):this.correctness==="incorrect"&&ue.setStyle("color","var(--incorrect-color, var(--ML__incorrect-color))");const Ae=new za(ue,{type:"ord"});Ae.setStyle("display","inline-block"),Ae.setStyle("height",ue.height+ue.depth,"em"),Ae.setStyle("vertical-align",-oe,"em");let Ee="ML__prompt ";this.locked?Ee+=" ML__lockedPromptBox ":Ee+=" ML__editablePromptBox ",this.correctness==="correct"?Ee+=" ML__correctPromptBox ":this.correctness==="incorrect"&&(Ee+=" ML__incorrectPromptBox "),this.containsCaret&&(Ee+=" ML__focusedPromptBox ");const Ne=new za(null,{classes:Ee,attributes:{part:"prompt"}});Ne.height=Ae.height+oe,Ne.depth=Ae.depth+oe,Ne.width=Ae.width+2*te,Ne.setStyle("box-sizing","border-box"),Ne.setStyle("position","absolute"),Ne.setStyle("height",Ae.height+Ae.depth+2*oe,"em"),te===0&&Ne.setStyle("width","100%"),te!==0&&(Ne.setStyle("width",`calc(100% + ${2*te}em)`),Ne.setStyle("top",E,"em"),Ne.setStyle("left",-te,"em")),(!this.body||this.body.length===1)&&(Ne.width=3*te,Ne.setStyle("width",`calc(100% + ${3*te}em)`),Ne.setStyle("left",-1.5*te,"em"));let Ge="";this.correctness==="incorrect"&&(Ge+=''),Ge&&(Ne.svgOverlay=Ge);const gt=new za([Ne,Ae],{classes:"ML__prompt-atom"});return gt.setStyle("position","relative"),gt.setStyle("display","inline-block"),gt.setStyle("line-height",0),gt.height=Ae.height+oe+.2,gt.depth=Ae.depth+oe,gt.left=te,gt.right=te,gt.setStyle("height",Ae.height+oe,"em"),gt.setStyle("top",Ae.depth-Ae.height,"em"),gt.setStyle("vertical-align",Ae.depth+oe,"em"),gt.setStyle("margin-left",.5,"em"),gt.setStyle("margin-right",.5,"em"),this.caret&&(gt.caret=this.caret),this.bind(b,this.attachSupsub(y,{base:gt}))}_serialize(y){var b;const E=(b=this.bodyToLatex(y))!=null?b:"";if(y.skipPlaceholders)return E;let te="\\placeholder";return this.placeholderId&&(te+=`[${this.placeholderId}]`),this.correctness==="correct"?te+="[correct]":this.correctness==="incorrect"&&(te+="[incorrect]"),this.locked&&(te+="[locked]"),Qu(te,E)}},et=class um extends Ti{constructor(y){super({type:"subsup",style:y==null?void 0:y.style}),this.subsupPlacement="auto"}static fromJson(y){const b=new um(y);for(const E of Ld)y[E]&&b.setChildren(y[E],E);return b}render(y){var b;const E=new vu({parent:y,isPhantom:!0}),te=this.leftSibling,oe=(b=te.render(E))!=null?b:new za(null),ue=new za(null);return ue.height=oe.height,ue.depth=oe.depth,this.attachSupsub(y,{base:ue,isCharacterBox:te.isCharacterBox(),type:"ignore"})}_serialize(y){return this.supsubToLatex(y)}};function dt(a){return a?!/^(<$$>|<$>||<{>|<}>|#[0-9\?]|\\.+)$/.test(a):!1}var bt=class{constructor(a,y,b){this.errors=[],this.index=0,this.endCount=0;var E,te,oe,ue;b!=null||(b={}),this.tokens=a,this.context=y instanceof vu&&!(b!=null&&b.parseMode)&&!b.mathstyle?y:new vu({from:y,mathstyle:b.mathstyle},b.style),this.args=(E=b.args)!=null?E:void 0,this.smartFence=this.context.smartFence,this.parsingContext={parent:void 0,mathlist:[],style:(te=b.style)!=null?te:{},parseMode:(oe=b.parseMode)!=null?oe:"math",mathstyle:(ue=b.mathstyle)!=null?ue:"displaystyle",tabular:!1}}beginContext(a){var y,b,E;const te=this.parsingContext,oe={parent:te,mathlist:[],style:Se({},te.style),parseMode:(y=a==null?void 0:a.mode)!=null?y:te.parseMode,mathstyle:(b=a==null?void 0:a.mathstyle)!=null?b:te.mathstyle,tabular:(E=a==null?void 0:a.tabular)!=null?E:!1};this.parsingContext=oe}endContext(){this.parsingContext=this.parsingContext.parent}onError(a){this.errors.push(Se({before:$c(this.tokens.slice(this.index,this.index+10)),after:$c(this.tokens.slice(Math.max(0,this.index-10),this.index))},a))}get mathlist(){return this.parsingContext.mathlist}set mathlist(a){this.parsingContext.mathlist=a}get parseMode(){return this.parsingContext.parseMode}set parseMode(a){this.parsingContext.parseMode=a}get tabularMode(){return this.parsingContext.tabular}get style(){let a=this.parsingContext;for(;a;){if(a.style)return Se({},a.style);a=a.parent}return{}}set style(a){this.parsingContext.style=a}end(){return this.endCount++,this.index>=this.tokens.length||this.endCount>1e3}next(){this.index+=1}get(){return this.endCount=0,this.index0&&(a=this.mathlist[this.mathlist.length-1],a.type==="subsup"||a.subsupPlacement!==void 0)||(a=new et({style:this.style}),this.mathlist.push(a)),a}hasPattern(a){return a.test(this.tokens[this.index])}hasInfixCommand(){var a;const{index:y}=this;if(y"););}skipUntilToken(a){let y=this.tokens[this.index];for(;y&&y!==a;)y=this.tokens[++this.index];y===a&&this.index++}skipFiller(){for(;this.match("\\relax")||this.match(""););}matchKeyword(a){const y=this.index;let b=this.end(),E="";for(;!b;){const oe=this.get();dt(oe)?(E+=oe,b=this.end()||E.length>=a.length):b=!0}const te=a.toUpperCase()===E.toUpperCase();return te||(this.index=y),te}scanString(){let a="";for(;!this.end();){const y=this.peek();if(y==="]")return a;if(y==="")a+=" ";else if(y.startsWith("\\"))this.onError({code:"unexpected-command-in-string"}),a+=y.substring(1);else if(dt(y))a+=y;else return a;this.next()}return a}scanBalancedString(){let a="",y=this.end(),b=1;for(;!y;){const E=this.get();E===""?a+=" ":E==="<{>"?(a+="{",b+=1):E==="<}>"?(b-=1,b>0?a+="}":this.index-=1):E==="<$>"?a+="$":E==="<$$>"?a+="$$":a+=E,y=b===0||this.end()}return a}scanLiteralGroup(){var a;if(!this.match("<{>"))return"";let y="",b=1;for(;b>0&&!this.end();){const E=this.get();E==="<}>"?(b-=1,b>0&&(y+="}")):E==="<{>"?(b+=1,y+="{"):(/\\[a-zA-Z]+$/.test(y)&&/^[a-zA-Z]/.test(E)&&(y+=" "),y+=(a={"":" ","<$$>":"$$","<$>":"$"}[E])!=null?a:E)}return y}scanNumber(a=!0){var y,b;let E=!1,te=this.peek();for(;te===""||te==="+"||te==="-";)this.get(),te==="-"&&(E=!E),te=this.peek();a=!!a;let oe=10,ue=/\d/;if(this.match("'"))oe=8,ue=/[0-7]/,a=!0;else if(this.match('"'))oe=16,ue=/[\dA-F]/,a=!0;else if(this.match("x"))oe=16,ue=/[\dA-Fa-f]/,a=!0;else if(this.match("`"))return te=this.get(),te?te.length===2&&te.startsWith("\\")?{number:(E?-1:1)*((y=te.codePointAt(1))!=null?y:0),base:"alpha"}:{number:(E?-1:1)*((b=te.codePointAt(0))!=null?b:0),base:"alpha"}:null;let Ae="";for(;this.hasPattern(ue);)Ae+=this.get();if(!a&&(this.match(".")||this.match(",")))for(Ae+=".";this.hasPattern(ue);)Ae+=this.get();const Ee=a?Number.parseInt(Ae,oe):Number.parseFloat(Ae);return Number.isNaN(Ee)?null:{number:E?-Ee:Ee,base:oe===16?"hexadecimal":oe===8?"octal":"decimal"}}scanRegister(){var a;const y=this.index,b=this.scanNumber(!1);if(this.skipWhitespace(),this.match("\\relax"))return b;let E=!1;if(b===null)for(;;){const oe=this.peek();if(oe==="-")E=!E;else if(oe!=="+")break;this.next(),this.skipWhitespace()}if(this.match("\\global")){this.skipWhitespace();const oe=this.get();return oe.startsWith("\\")?b?{register:oe,global:!0,factor:(E?-1:1)*b.number}:E?{register:oe,global:!0,factor:-1}:{register:oe,global:!0}:(this.index=y,null)}let te=this.get();return te!=null&&te.startsWith("\\")?(te=te.substring(1),this.context.registers[te]?!E||b!==null?{register:te,factor:(E?-1:1)*((a=b==null?void 0:b.number)!=null?a:1)}:{register:te}:(this.index=y,null)):(this.index=y,null)}scanValue(){const a=this.scanRegister();if(a)return a;const y=this.index,b=this.scanGlueOrDimen();if(b&&("unit"in b||"glue"in b&&"unit"in b.glue))return b;this.index=y;const E=this.scanNumber();if(E)return E;if(this.end()||!dt(this.peek()))return null;const te=this.scanString();return te.length>0?{string:te}:null}scanDimen(){const a=this.scanNumber(!1);if(a===null)return null;const y=a.number;this.skipWhitespace(),this.matchKeyword("true"),this.skipWhitespace();let b;return this.matchKeyword("pt")?b="pt":this.matchKeyword("mm")?b="mm":this.matchKeyword("cm")?b="cm":this.matchKeyword("ex")?b="ex":this.matchKeyword("px")?b="px":this.matchKeyword("em")?b="em":this.matchKeyword("bp")?b="bp":this.matchKeyword("dd")?b="dd":this.matchKeyword("pc")?b="pc":this.matchKeyword("in")?b="in":this.matchKeyword("mu")&&(b="mu"),b?{dimension:y,unit:b}:{dimension:y}}scanGlueOrDimen(){const a=this.scanDimen();if(a===null)return null;if(this.skipWhitespace(),this.match("\\relax"))return a;const y={glue:a};if(this.matchKeyword("plus")){const b=this.scanDimen();if(b)y.grow=b;else return y}if(this.skipWhitespace(),this.match("\\relax"))return y;if(this.skipWhitespace(),this.matchKeyword("minus")){const b=this.scanDimen();if(b)y.shrink=b;else return y}return!y.grow&&!y.shrink?a:y}scanColspec(){this.skipWhitespace();const a=[];for(;!this.end()&&!(this.peek()==="<}>"||this.peek()==="]");){const y=this.get();y==="c"||y==="r"||y==="l"?a.push({align:y}):y==="|"?a.push({separator:"solid"}):y===":"?a.push({separator:"dashed"}):y==="@"&&(this.match("<{>")&&(this.beginContext({mode:"math"}),a.push({gap:this.scan(b=>b==="<}>")}),this.endContext()),this.match("<}>")||this.onError({code:"unbalanced-braces"}))}return a}scanModeSet(){let a;if(this.match("\\(")&&(a="textstyle"),!a&&this.match("\\[")&&(a="displaystyle"),!a)return null;this.beginContext({mode:"math",mathstyle:a});const y=this.scan(b=>b===(a==="displaystyle"?"\\]":"\\)"));return this.match(a==="displaystyle"?"\\]":"\\)")||this.onError({code:"unbalanced-mode-shift"}),this.endContext(),y}scanModeShift(){let a="";if(this.match("<$>")&&(a="<$>"),!a&&this.match("<$$>")&&(a="<$$>"),!a)return null;this.beginContext({mode:"math",mathstyle:"textstyle"});const y=this.scan(b=>b===a);return this.match(a)||this.onError({code:"unbalanced-mode-shift"}),this.endContext(),y}scanEnvironment(){if(!this.match("\\begin"))return null;const a=this.scanArgument("string");if(!a)return null;const y=mt(a);if(!y)return this.onError({code:"unknown-environment",arg:a}),null;const b=[];if(y.params)for(const Ae of y.params)if(Ae.isOptional)b.push(this.scanOptionalArgument(Ae.type));else{const Ee=this.scanArgument(Ae.type);Ee||this.onError({code:"missing-argument",arg:a}),b.push(Ee)}this.beginContext({tabular:y.tabular});const E=[],te=[];let oe=[],ue=!1;do if(this.end()&&(this.onError({code:"unbalanced-environment",arg:a}),ue=!0),!ue&&this.match("\\end")&&(this.scanArgument("string")!==a&&this.onError({code:"unbalanced-environment",arg:a}),ue=!0),!ue)if(this.matchColumnSeparator())oe.push(this.mathlist),this.mathlist=[];else if(this.matchRowSeparator()){oe.push(this.mathlist),this.mathlist=[];let Ae=null;this.skipWhitespace(),this.match("[")&&(Ae=this.scanDimen(),this.skipWhitespace(),this.match("]")),te.push(Ae!=null?Ae:{dimension:0}),E.push(oe),oe=[]}else this.mathlist.push(...this.scan(Ae=>["<}>","&","\\end","\\cr","\\\\","\\tabularnewline"].includes(Ae)));while(!ue);return oe.push(this.mathlist),oe.length>0&&E.push(oe),this.endContext(),y.createAtom(a,E,te,b)}scanExpression(){const a=this.mathlist;if(this.mathlist=[],this.parseExpression()){const y=this.mathlist;return this.mathlist=a,y}return this.mathlist=a,null}scan(a){this.beginContext(),a||(a=ue=>ue==="<}>");let y="",b=null,E=[],te=null;for(;!this.end()&&!a(this.peek());)this.hasInfixCommand()&&!y?(y=this.get(),b=qt(y,"math"),b&&(E=this.scanArguments(b)[1]),te=this.mathlist,this.mathlist=[]):this.parseExpression();let oe;return y?(console.assert(!!b),E.unshift(this.mathlist),te&&E.unshift(te),oe=[b.createAtom({command:y,args:E,style:this.style,mode:this.parseMode})]):oe=this.mathlist,this.endContext(),oe}scanGroup(){const a=this.index;if(!this.match("<{>"))return null;const y=this.scan(E=>E==="<}>");this.match("<}>")||this.onError({code:"unbalanced-braces"});const b=new kc(y,this.parseMode,this.style);return b.verbatimLatex=$c(this.tokens.slice(a,this.index)),b}scanSmartFence(){if(this.skipWhitespace(),!this.match("("))return null;this.beginContext();let a=1;for(;!this.end()&&a!==0;)this.match("(")&&(a+=1),this.match(")")&&(a-=1),a!==0&&this.parseExpression();const y=new se("",this.mathlist,{leftDelim:"(",rightDelim:a===0?")":"?"});return this.endContext(),y}scanDelim(){this.skipWhitespace();const a=this.peek();if(!a)return this.onError({code:"unexpected-end-of-string"}),null;if(!dt(a)&&!a.startsWith("\\"))return null;this.next();const y=qt(a,"math");return y?y.definitionType==="function"&&y.ifMode&&!y.ifMode.includes(this.parseMode)?(this.onError({code:"unexpected-delimiter",arg:a}),null):y.definitionType==="symbol"&&(y.type==="mopen"||y.type==="mclose")||/^(\.|\?|\||<|>|\\vert|\\Vert|\\\||\\surd|\\uparrow|\\downarrow|\\Uparrow|\\Downarrow|\\updownarrow|\\Updownarrow|\\mid|\\mvert|\\mVert)$/.test(a)?a:(this.onError({code:"unexpected-delimiter",arg:a}),null):(this.onError({code:"unknown-command",arg:a}),null)}scanLeftRight(){var a;if(this.match("\\right"))return this.onError({code:"unbalanced-braces"}),new ld("\\right");if(this.match("\\mright"))return this.onError({code:"unbalanced-braces"}),new ld("\\mright");let y="\\right";if(!this.match("\\left")){if(!this.match("\\mleft"))return null;y="\\mright"}const b=this.scanDelim();if(!b)return this.onError({code:"unexpected-delimiter"}),new ld(y==="\\right"?"\\left":"\\mleft");for(this.beginContext();!this.end()&&!this.match(y);)this.parseExpression();const E=this.mathlist;this.endContext();const te=(a=this.scanDelim())!=null?a:".";return new se(y==="\\right"?"left...right":"mleft...mright",E,{leftDelim:b,rightDelim:te,style:this.style})}parseSupSub(){if(this.parseMode!=="math")return!1;let a=this.peek();if(a!=="^"&&a!=="_"&&a!=="'")return!1;const y=this.lastSubsupAtom();for(;a==="^"||a==="_"||a==="'";)this.match("'")?this.match("'")?y.addChild(new Ti({type:"mord",command:"\\doubleprime",mode:"math",value:"\u2032\u2032"}),"superscript"):y.addChild(new Ti({type:"mord",command:"\\prime",mode:"math",value:"\u2032"}),"superscript"):(this.match("^")||this.match("_"))&&y.addChildren(Nt(this.scanArgument("expression")),a==="_"?"subscript":"superscript"),a=this.peek();return!0}parseLimits(){if(this.parseMode!=="math")return!1;const a=this.match("\\limits"),y=!a&&this.match("\\nolimits"),b=!y&&!a&&this.match("\\displaylimits");if(!a&&!y&&!b)return!1;const E=this.mathlist.length>0?this.mathlist[this.mathlist.length-1]:null;return E===null?!1:(E.explicitSubsupPlacement=!0,a&&(E.subsupPlacement="over-under"),y&&(E.subsupPlacement="adjacent"),b&&(E.subsupPlacement="auto"),!0)}scanArguments(a){if(!(a!=null&&a.params))return[void 0,[]];let y;const b=[];let E=a.infix?2:0;for(;E["<}>","&","\\end","\\cr","\\\\","\\tabularnewline","\\right"].includes(oe))):te.isOptional?b.push(this.scanOptionalArgument(te.type)):te.type.endsWith("*")?y=te.type.slice(0,-1):b.push(this.scanArgument(te.type)),E+=1}return[y,b]}scanSymbolOrLiteral(){const a=this.peek();if(!a)return null;this.next();let y;if(dt(a)){const b=lc.createAtom(this.parseMode,a,Se({},this.style));return b?[b]:null}if(y=this.scanMacro(a),y)return[y];if(a.startsWith("\\")){const b=qt(a,this.parseMode);if(!b)return this.onError({code:"unknown-command",arg:a}),[new ld(a)];if(b.definitionType==="symbol"){const E=Se({},this.style);b.variant&&(E.variant=b.variant),y=new Ti({type:b.type,command:a,style:E,value:String.fromCodePoint(b.codepoint),mode:this.parseMode,verbatimLatex:a})}else{if(b.applyMode||b.applyStyle||b.infix)return this.onError({code:"invalid-command",arg:a}),[new ld(a)];b.createAtom&&(y=b.createAtom({command:a,args:[],style:this.style,mode:this.parseMode}))}}return y?[y]:null}scanArgument(a){var y;this.skipFiller();const b=this.parseMode;if(a==="auto"&&(a=b),!this.match("<{>")){if(a==="string")return this.scanString();if(a==="value")return this.scanValue();if(a==="delim")return(y=this.scanDelim())!=null?y:".";if(a==="expression")return this.scanExpression();if(a==="math"){a!==b&&this.beginContext({mode:"math"});const te=this.scanSymbolOrLiteral();return a!==b&&this.endContext(),te}if(a==="text"){a!==b&&this.beginContext({mode:"text"});const te=this.scanSymbolOrLiteral();return a!==b&&this.endContext(),te}return a==="balanced-string"||console.assert(!1),null}if(a==="text"){this.beginContext({mode:"text"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const te=this.mathlist;return this.endContext(),{group:te}}if(a==="math"){this.beginContext({mode:"math"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const te=this.mathlist;return this.endContext(),{group:te}}let E=null;if(a==="expression"){this.beginContext({mode:"math"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const te=this.mathlist;return this.endContext(),{group:te}}return a==="string"?E=this.scanString():a==="balanced-string"?E=this.scanBalancedString():a==="colspec"?E=this.scanColspec():a==="value"&&(E=this.scanValue()),this.skipUntilToken("<}>"),E}scanOptionalArgument(a){if(a=a==="auto"?this.parseMode:a,this.skipFiller(),!this.match("["))return null;let y=null;for(;!this.end()&&!this.match("]");)if(a==="string")y=this.scanString();else if(a==="value")y=this.scanValue();else if(a==="colspec")y=this.scanColspec();else if(a==="bbox"){const b={},E=this.scanString().toLowerCase().trim().split(/,(?![^(]*\)(?:(?:[^(]*\)){2})*[^"]*$)/);for(const te of E){const oe=te.match(/^\s*([\d.]+)\s*([a-z]{2})/);if(oe)b.padding={dimension:parseInt(oe[1]),unit:oe[2]};else{const ue=te.match(/^\s*border\s*:\s*(.*)/);ue?b.border=ue[1]:b.backgroundcolor={string:te}}}y=b}else a==="math"&&(this.beginContext({mode:"math"}),y=this.mathlist.concat(this.scan(b=>b==="]")),this.endContext());return y}scanSymbolOrCommand(a){var y,b,E;if(a==="\\placeholder"){const Ae=this.scanOptionalArgument("string"),Ee=this.scanOptionalArgument("math"),Ne=Ti.serialize(Ee,{defaultMode:"math"});let Ge=[],gt;!gt&&Ne==="correct"?gt="correct":!gt&&Ne==="incorrect"?gt="incorrect":Ne!==""&&(Ge=Ee);const $t=this.scanOptionalArgument("string")==="locked",kn=this.scanArgument("auto");let rr;return kn&&Array.isArray(kn)&&kn.length>0?rr=kn:kn&&typeof kn=="object"&&"group"in kn?rr=kn.group:rr=Ge,Ae?[new $e(Ae,gt,$t,rr!=null?rr:Ge,{mode:this.parseMode,style:this.style})]:[new Wl({mode:this.parseMode,style:this.style})]}if(a==="\\renewcommand"||a==="\\newcommand"||a==="\\providecommand"||a==="\\def"){const Ae=this.index,Ee=this.scanLiteralGroup()||this.next();if(!Ee)return null;if(this.context.registers[Ee.substring(1)]){const Ne=this.scanArgument("string");Ne!==null&&(this.context.registers[Ee.substring(1)]=Ne);const Ge=Js([a,$c(this.tokens.slice(Ae,this.index))]);return[new Ti({type:"text",value:"",verbatimLatex:Ge})]}}let te=this.scanMacro(a);if(te)return[te];const oe=qt(a,this.parseMode);if(!oe)return this.parseMode==="text"?(/[a-zA-Z]/.test((y=this.peek())!=null?y:"")&&(a+=" "),[...a].map(Ae=>new Ti({type:"text",value:Ae,mode:"text",style:this.style}))):(this.onError({code:"unknown-command",arg:a}),[new ld(a)]);const ue=this.index;if(oe.definitionType==="symbol"){const Ae=Se({},this.style);oe.variant&&(Ae.variant=oe.variant),te=new Ti({type:oe.type,command:a,style:Ae,value:String.fromCodePoint(oe.codepoint),mode:this.parseMode})}else{if(oe.ifMode&&!oe.ifMode.includes(this.parseMode))return[];const Ae=this.parseMode;oe.applyMode&&(this.parseMode=oe.applyMode);let Ee,Ne=[];if(oe.parse?Ne=oe.parse(this):[Ee,Ne]=this.scanArguments(oe),this.parseMode=Ae,oe.applyMode&&!oe.applyStyle&&!oe.createAtom)return Nt(Ne[0]);if(oe.infix)return this.onError({code:"too-many-infix-commands",arg:a}),null;if(typeof oe.createAtom=="function")te=oe.createAtom({command:a,args:Ne,style:this.style,mode:this.parseMode}),Ee&&(te.body=Nt(this.scanArgument(Ee)));else if(typeof oe.applyStyle=="function"){const Ge=Se(Se({},this.style),oe.applyStyle(a,Ne,this.context)),gt=this.parseMode;if(oe.applyMode&&(this.parseMode=oe.applyMode),Ee){const $t=this.style;this.style=Ge;const kn=this.scanArgument(Ee);return this.style=$t,this.parseMode=gt,Nt(kn)}this.style=Ge}else te=new Ti({type:"mord",command:(b=oe.command)!=null?b:a,style:Se({},this.style),value:a,mode:(E=oe.applyMode)!=null?E:this.parseMode})}if(!te)return null;if(te instanceof Ti&&te.verbatimLatex===void 0&&!/^\\(llap|rlap|class|cssId|htmlData)$/.test(a)){const Ae=Js([a,$c(this.tokens.slice(ue,this.index))]);Ae&&(te.verbatimLatex=Ae)}if(te.verbatimLatex===null&&(te.verbatimLatex=void 0),te.isFunction&&this.smartFence){const Ae=this.scanSmartFence();if(Ae)return[te,Ae]}return[te]}scanSymbolCommandOrLiteral(){const a=this.get();if(!a)return null;if(dt(a)){const y=lc.createAtom(this.parseMode,a,Se({},this.style));if(!y)return null;if(y.isFunction&&this.smartFence){const b=this.scanSmartFence();if(b)return[y,b]}return[y]}return a.startsWith("\\")?this.scanSymbolOrCommand(a):a===""?this.parseMode==="text"?[new Cd(" "," ",this.style)]:null:(a==="<}>"?this.onError({latex:"",code:"unbalanced-braces"}):this.onError({latex:"",code:"unexpected-token",arg:a}),null)}scanMacro(a){var y;const b=this.context.getMacro(a);if(!b)return null;const E=this.index,te=b.args,oe={"?":(y=this.args)==null?void 0:y.call(this,"?")};for(let ue=1;ue<=te;ue++){let Ae=this.scanLiteralGroup();if(!Ae){const Ee=this.index;this.scanExpression(),Ae=$c(this.tokens.slice(Ee,this.index))}oe[ue]=Ae}return new me(a,{expand:b.expand,captureSelection:b.captureSelection,args:E===this.index?null:$c(this.tokens.slice(E,this.index)),style:this.parsingContext.style,body:hn(b.def,{context:this.context,parseMode:this.parseMode,args:ue=>oe[ue],mathstyle:this.parsingContext.mathstyle,style:this.parsingContext.style})})}parseExpression(){var a,y,b,E;let te=(E=(b=(y=(a=this.scanEnvironment())!=null?a:this.scanModeShift())!=null?y:this.scanModeSet())!=null?b:this.scanGroup())!=null?E:this.scanLeftRight();if(te===null){if(this.parseSupSub()||this.parseLimits())return!0;te=this.scanSymbolCommandOrLiteral()}return te?(Array.isArray(te)?this.mathlist.push(...te):this.mathlist.push(te),!0):!1}};function hn(a,y){var b,E,te,oe;const ue=(b=y==null?void 0:y.args)!=null?b:void 0,Ae=new bt(Zc(a,ue),y==null?void 0:y.context,{args:ue,mathstyle:(E=y==null?void 0:y.mathstyle)!=null?E:"displaystyle",parseMode:(te=y==null?void 0:y.parseMode)!=null?te:"math",style:(oe=y==null?void 0:y.style)!=null?oe:{}}),Ee=[];for(;!Ae.end();)Ee.push(...Ae.scan(()=>!1));return Ee}function tr(a,y){var b;const E=new bt(Zc(a,null),y==null?void 0:y.context,{mathstyle:"displaystyle",parseMode:(b=y==null?void 0:y.parseMode)!=null?b:"math"});for(;!E.end();)E.scan();return E.errors}var Zn=class cm extends Ti{constructor(y,b){super({type:"chem"},{command:y,mode:"math"});const E=mn.go(Dt.go(b,y==="\\pu"?"pu":"ce"),!1);this.body=hn(E),this._verbatimLatex=y+"{"+b+"}",this.arg=b,this.captureSelection=!0}static fromJson(y){return new cm(y.command,y.arg)}set verbatimLatex(y){}get verbatimLatex(){return this._verbatimLatex}toJson(){return He(Se({},super.toJson()),{arg:this.arg})}render(y){const b=Ti.createBox(y,this.body,{type:"inner"});return this.caret&&(b.caret=this.caret),this.bind(y,b)}_serialize(y){return console.assert(this.verbatimLatex!==void 0),this.verbatimLatex}};vn(["ce","pu"],"{chemformula:balanced-string}",{createAtom:a=>{var y;return new Zn(a.command,(y=a.args[0])!=null?y:"")}});var Dt={go:function(a,y){if(!a)return[];y===void 0&&(y="ce");var b="0",E={};E.parenthesisLevel=0,a=a.replace(/\n/g," "),a=a.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),a=a.replace(/[\u2026]/g,"...");for(var te,oe=10,ue=[];;){te!==a?(oe=10,te=a):oe--;var Ae=Dt.stateMachines[y],Ee=Ae.transitions[b]||Ae.transitions["*"];e:for(var Ne=0;Ne0){if(gt.revisit||(a=Ge.remainder),!gt.toContinue)break e}else return ue}}if(oe<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(a,y){if(y)if(Object.prototype.toString.call(y)==="[object Array]")for(var b=0;b":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(a){return Dt.patterns.findObserveGroups(a,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(a){return Dt.patterns.findObserveGroups(a,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(a){return Dt.patterns.findObserveGroups(a,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(a){return Dt.patterns.findObserveGroups(a,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(a){return Dt.patterns.findObserveGroups(a,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(a){return Dt.patterns.findObserveGroups(a,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(a){return Dt.patterns.findObserveGroups(a,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(a){var y;if(y=a.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),y)return{match_:y[0],remainder:a.substr(y[0].length)};var b=Dt.patterns.findObserveGroups(a,"","$","$","");return b&&(y=b.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),y)?{match_:y[0],remainder:a.substr(y[0].length)}:null},amount2:function(a){return this.amount(a)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(a){if(a.match(/^\([a-z]+\)$/))return null;var y=a.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return y?{match_:y[0],remainder:a.substr(y[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(a,y,b,E,te,oe,ue,Ae,Ee,Ne){var Ge=function(si,la){if(typeof la=="string")return si.indexOf(la)!==0?null:la;var po=si.match(la);return po?po[0]:null},gt=function(si,la,po){for(var Ba=0;la0,null},$t=Ge(a,y);if($t===null||(a=a.substr($t.length),$t=Ge(a,b),$t===null))return null;var kn=gt(a,$t.length,E||te);if(kn===null)return null;var rr=a.substring(0,E?kn.endMatchEnd:kn.endMatchBegin);if(oe||ue){var gi=this.findObserveGroups(a.substr(kn.endMatchEnd),oe,ue,Ae,Ee);if(gi===null)return null;var no=[rr,gi.match_];return{match_:Ne?no.join(""):no,remainder:gi.remainder}}else return{match_:rr,remainder:a.substr(kn.endMatchEnd)}},match_:function(a,y){var b=Dt.patterns.patterns[a];if(b===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+a+")"];if(typeof b=="function")return Dt.patterns.patterns[a](y);var E=y.match(b);if(E){var te;return E[2]?te=[E[1],E[2]]:E[1]?te=E[1]:te=E[0],{match_:te,remainder:y.substr(E[0].length)}}return null}},actions:{"a=":function(a,y){a.a=(a.a||"")+y},"b=":function(a,y){a.b=(a.b||"")+y},"p=":function(a,y){a.p=(a.p||"")+y},"o=":function(a,y){a.o=(a.o||"")+y},"q=":function(a,y){a.q=(a.q||"")+y},"d=":function(a,y){a.d=(a.d||"")+y},"rm=":function(a,y){a.rm=(a.rm||"")+y},"text=":function(a,y){a.text_=(a.text_||"")+y},insert:function(a,y,b){return{type_:b}},"insert+p1":function(a,y,b){return{type_:b,p1:y}},"insert+p1+p2":function(a,y,b){return{type_:b,p1:y[0],p2:y[1]}},copy:function(a,y){return y},rm:function(a,y){return{type_:"rm",p1:y||""}},text:function(a,y){return Dt.go(y,"text")},"{text}":function(a,y){var b=["{"];return Dt.concatArray(b,Dt.go(y,"text")),b.push("}"),b},"tex-math":function(a,y){return Dt.go(y,"tex-math")},"tex-math tight":function(a,y){return Dt.go(y,"tex-math tight")},bond:function(a,y,b){return{type_:"bond",kind_:b||y}},"color0-output":function(a,y){return{type_:"color0",color:y[0]}},ce:function(a,y){return Dt.go(y)},"1/2":function(a,y){var b=[];y.match(/^[+\-]/)&&(b.push(y.substr(0,1)),y=y.substr(1));var E=y.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return E[1]=E[1].replace(/\$/g,""),b.push({type_:"frac",p1:E[1],p2:E[2]}),E[3]&&(E[3]=E[3].replace(/\$/g,""),b.push({type_:"tex-math",p1:E[3]})),b},"9,9":function(a,y){return Dt.go(y,"9,9")}},createTransitions:function(a){var y,b,E,te,oe={};for(y in a)for(b in a[y])for(E=b.split("|"),a[y][b].stateArray=E,te=0;te":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(a,y){var b;if((a.d||"").match(/^[0-9]+$/)){var E=a.d;a.d=void 0,b=this.output(a),a.b=E}else b=this.output(a);return Dt.actions["o="](a,y),b},"d= kv":function(a,y){a.d=y,a.dType="kv"},"charge or bond":function(a,y){if(a.beginsWithBond){var b=[];return Dt.concatArray(b,this.output(a)),Dt.concatArray(b,Dt.actions.bond(a,y,"-")),b}else a.d=y},"- after o/d":function(a,y,b){var E=Dt.patterns.match_("orbital",a.o||""),te=Dt.patterns.match_("one lowercase greek letter $",a.o||""),oe=Dt.patterns.match_("one lowercase latin letter $",a.o||""),ue=Dt.patterns.match_("$one lowercase latin letter$ $",a.o||""),Ae=y==="-"&&(E&&E.remainder===""||te||oe||ue);Ae&&!a.a&&!a.b&&!a.p&&!a.d&&!a.q&&!E&&oe&&(a.o="$"+a.o+"$");var Ee=[];return Ae?(Dt.concatArray(Ee,this.output(a)),Ee.push({type_:"hyphen"})):(E=Dt.patterns.match_("digits",a.d||""),b&&E&&E.remainder===""?(Dt.concatArray(Ee,Dt.actions["d="](a,y)),Dt.concatArray(Ee,this.output(a))):(Dt.concatArray(Ee,this.output(a)),Dt.concatArray(Ee,Dt.actions.bond(a,y,"-")))),Ee},"a to o":function(a){a.o=a.a,a.a=void 0},"sb=true":function(a){a.sb=!0},"sb=false":function(a){a.sb=!1},"beginsWithBond=true":function(a){a.beginsWithBond=!0},"beginsWithBond=false":function(a){a.beginsWithBond=!1},"parenthesisLevel++":function(a){a.parenthesisLevel++},"parenthesisLevel--":function(a){a.parenthesisLevel--},"state of aggregation":function(a,y){return{type_:"state of aggregation",p1:Dt.go(y,"o")}},comma:function(a,y){var b=y.replace(/\s*$/,""),E=b!==y;return E&&a.parenthesisLevel===0?{type_:"comma enumeration L",p1:b}:{type_:"comma enumeration M",p1:b}},output:function(a,y,b){var E;if(!a.r)E=[],!a.a&&!a.b&&!a.p&&!a.o&&!a.q&&!a.d&&!b||(a.sb&&E.push({type_:"entitySkip"}),!a.o&&!a.q&&!a.d&&!a.b&&!a.p&&b!==2?(a.o=a.a,a.a=void 0):!a.o&&!a.q&&!a.d&&(a.b||a.p)?(a.o=a.a,a.d=a.b,a.q=a.p,a.a=a.b=a.p=void 0):a.o&&a.dType==="kv"&&Dt.patterns.match_("d-oxidation$",a.d||"")?a.dType="oxidation":a.o&&a.dType==="kv"&&!a.q&&(a.dType=void 0),E.push({type_:"chemfive",a:Dt.go(a.a,"a"),b:Dt.go(a.b,"bd"),p:Dt.go(a.p,"pq"),o:Dt.go(a.o,"o"),q:Dt.go(a.q,"pq"),d:Dt.go(a.d,a.dType==="oxidation"?"oxidation":"bd"),dType:a.dType}));else{var te;a.rdt==="M"?te=Dt.go(a.rd,"tex-math"):a.rdt==="T"?te=[{type_:"text",p1:a.rd||""}]:te=Dt.go(a.rd);var oe;a.rqt==="M"?oe=Dt.go(a.rq,"tex-math"):a.rqt==="T"?oe=[{type_:"text",p1:a.rq||""}]:oe=Dt.go(a.rq),E={type_:"arrow",r:a.r,rd:te,rq:oe}}for(var ue in a)ue!=="parenthesisLevel"&&ue!=="beginsWithBond"&&delete a[ue];return E},"oxidation-output":function(a,y){var b=["{"];return Dt.concatArray(b,Dt.go(y,"oxidation")),b.push("}"),b},"frac-output":function(a,y){return{type_:"frac-ce",p1:Dt.go(y[0]),p2:Dt.go(y[1])}},"overset-output":function(a,y){return{type_:"overset",p1:Dt.go(y[0]),p2:Dt.go(y[1])}},"underset-output":function(a,y){return{type_:"underset",p1:Dt.go(y[0]),p2:Dt.go(y[1])}},"underbrace-output":function(a,y){return{type_:"underbrace",p1:Dt.go(y[0]),p2:Dt.go(y[1])}},"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Dt.go(y[1])}},"r=":function(a,y){a.r=y},"rdt=":function(a,y){a.rdt=y},"rd=":function(a,y){a.rd=y},"rqt=":function(a,y){a.rqt=y},"rq=":function(a,y){a.rq=y},operator:function(a,y,b){return{type_:"operator",kind_:b||y}}}},a:{transitions:Dt.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:Dt.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:Dt.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(a){if(a.text_){var y={type_:"text",p1:a.text_};for(var b in a)delete a[b];return y}}}},pq:{transitions:Dt.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(a,y){return{type_:"state of aggregation subscript",p1:Dt.go(y,"o")}},"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Dt.go(y[1],"pq")}}}},bd:{transitions:Dt.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Dt.go(y[1],"bd")}}}},oxidation:{transitions:Dt.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(a,y){return{type_:"roman numeral",p1:y||""}}}},"tex-math":{transitions:Dt.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(a){if(a.o){var y={type_:"tex-math",p1:a.o};for(var b in a)delete a[b];return y}}}},"tex-math tight":{transitions:Dt.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(a,y){a.o=(a.o||"")+"{"+y+"}"},output:function(a){if(a.o){var y={type_:"tex-math",p1:a.o};for(var b in a)delete a[b];return y}}}},"9,9":{transitions:Dt.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:Dt.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(a,y){var b=[];return y[0]==="+-"||y[0]==="+/-"?b.push("\\pm "):y[0]&&b.push(y[0]),y[1]&&(Dt.concatArray(b,Dt.go(y[1],"pu-9,9")),y[2]&&(y[2].match(/[,.]/)?Dt.concatArray(b,Dt.go(y[2],"pu-9,9")):b.push(y[2])),(y[3]||y[4])&&(y[3]==="e"||y[4]==="*"?b.push({type_:"cdot"}):b.push({type_:"times"}))),y[5]&&b.push("10^{"+y[5]+"}"),b},"number^":function(a,y){var b=[];return y[0]==="+-"||y[0]==="+/-"?b.push("\\pm "):y[0]&&b.push(y[0]),Dt.concatArray(b,Dt.go(y[1],"pu-9,9")),b.push("^{"+y[2]+"}"),b},operator:function(a,y,b){return{type_:"operator",kind_:b||y}},space:function(){return{type_:"pu-space-1"}},output:function(a){var y,b=Dt.patterns.match_("{(...)}",a.d||"");b&&b.remainder===""&&(a.d=b.match_);var E=Dt.patterns.match_("{(...)}",a.q||"");if(E&&E.remainder===""&&(a.q=E.match_),a.d&&(a.d=a.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),a.d=a.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),a.q){a.q=a.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),a.q=a.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var te={d:Dt.go(a.d,"pu"),q:Dt.go(a.q,"pu")};a.o==="//"?y={type_:"pu-frac",p1:te.d,p2:te.q}:(y=te.d,te.d.length>1||te.q.length>1?y.push({type_:" / "}):y.push({type_:"/"}),Dt.concatArray(y,te.q))}else y=Dt.go(a.d,"pu-2");for(var oe in a)delete a[oe];return y}}},"pu-2":{transitions:Dt.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(a,y){a.rm+="^{"+y+"}"},space:function(){return{type_:"pu-space-2"}},output:function(a){var y=[];if(a.rm){var b=Dt.patterns.match_("{(...)}",a.rm||"");b&&b.remainder===""?y=Dt.go(b.match_,"pu"):y={type_:"rm",p1:a.rm}}for(var E in a)delete a[E];return y}}},"pu-9,9":{transitions:Dt.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(a){var y=[];if(a.text_=a.text_||"",a.text_.length>4){var b=a.text_.length%3;b===0&&(b=3);for(var E=a.text_.length-3;E>0;E-=3)y.push(a.text_.substr(E,3)),y.push({type_:"1000 separator"});y.push(a.text_.substr(0,b)),y.reverse()}else y.push(a.text_);for(var te in a)delete a[te];return y},"output-o":function(a){var y=[];if(a.text_=a.text_||"",a.text_.length>4){for(var b=a.text_.length-3,E=0;E"||a.r==="<=>>"||a.r==="<<=>"||a.r==="<-->"?(ue="\\long"+ue,oe.rd&&(ue="\\overset{"+oe.rd+"}{"+ue+"}"),oe.rq&&(a.r==="<-->"?ue="\\underset{\\lower2mu{"+oe.rq+"}}{"+ue+"}":ue="\\underset{\\lower6mu{"+oe.rq+"}}{"+ue+"}"),ue=" {}\\mathrel{"+ue+"}{} "):(oe.rq&&(ue+="[{"+oe.rq+"}]"),ue+="{"+oe.rd+"}",ue=" {}\\mathrel{\\x"+ue+"}{} "):ue=" {}\\mathrel{\\long"+ue+"}{} ",y=ue;break;case"operator":y=mn._getOperator(a.kind_);break;case"1st-level escape":y=a.p1+" ";break;case"space":y=" ";break;case"entitySkip":y="~";break;case"pu-space-1":y="~";break;case"pu-space-2":y="\\mkern3mu ";break;case"1000 separator":y="\\mkern2mu ";break;case"commaDecimal":y="{,}";break;case"comma enumeration L":y="{"+a.p1+"}\\mkern6mu ";break;case"comma enumeration M":y="{"+a.p1+"}\\mkern3mu ";break;case"comma enumeration S":y="{"+a.p1+"}\\mkern1mu ";break;case"hyphen":y="\\text{-}";break;case"addition compound":y="\\,{\\cdot}\\,";break;case"electron dot":y="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":y="{\\times}";break;case"prime":y="\\prime ";break;case"cdot":y="\\cdot ";break;case"tight cdot":y="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":y="\\times ";break;case"circa":y="{\\sim}";break;case"^":y="uparrow";break;case"v":y="downarrow";break;case"ellipsis":y="\\ldots ";break;case"/":y="/";break;case" / ":y="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return y},_getArrow:function(a){switch(a){case"->":return"rightarrow";case"\u2192":return"rightarrow";case"\u27F6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"leftrightarrows";case"<=>":return"rightleftharpoons";case"\u21CC":return"rightleftharpoons";case"<=>>":return"Rightleftharpoons";case"<<=>":return"Leftrightharpoons";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(a){switch(a){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}";case"~=":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";case"~--":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";case"-~-":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(a){switch(a){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};function yr(a){}function li(a){}var Ja=class dm extends Ti{constructor(y){super(He(Se({},y),{type:"delim"})),this.value=y.delim,this.size=y.size}static fromJson(y){return new dm(y)}toJson(){return He(Se({},super.toJson()),{delim:this.value,size:this.size})}render(y){return new za(this.value,{type:"middle"})}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);return b!=null&&b.serialize?b.serialize(this,y):Qu(this.command,this.value)}},fo=class fm extends Ti{constructor(y){super(He(Se({},y),{type:"sizeddelim",value:y.delim})),this.delimType=y.delimType,this.size=y.size}static fromJson(y){return new fm(y)}toJson(){return He(Se({},super.toJson()),{delim:this.value,size:this.size,delimType:this.delimType})}render(y){let b=Ur(this.value,this.size,y,{classes:{open:"mopen",close:"mclose"}[this.delimType],type:this.delimType,isSelected:this.isSelected});return b?(b=this.bind(y,b),this.caret&&(b.caret=this.caret),b):null}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);return b!=null&&b.serialize?b.serialize(this,y):Qu(this.command,this.value)}},ho=class hm extends Ti{constructor(y,b,E,te){var oe,ue;super({type:"enclose",command:y,style:te.style}),this.body=b,this.backgroundcolor=te.backgroundcolor,E.updiagonalarrow&&(E.updiagonalstrike=!1),E.box&&(E.left=!1,E.right=!1,E.bottom=!1,E.top=!1),this.notation=E,this.shadow=(oe=te.shadow)!=null?oe:"none",this.strokeWidth=(ue=te.strokeWidth)!=null?ue:"0.06em",this.strokeWidth||(this.strokeWidth="0.06em"),this.strokeStyle=te.strokeStyle,this.svgStrokeStyle=te.svgStrokeStyle,this.strokeColor=te.strokeColor,this.borderStyle=te.borderStyle,this.padding=te.padding,this.captureSelection=!1}static fromJson(y){return new hm(y.command,y.body,y.notation,y)}toJson(){return He(Se({},super.toJson()),{notation:this.notation,shadow:this.shadow,strokeWidth:this.strokeWidth,strokeStyle:this.strokeStyle,svgStrokeStyle:this.svgStrokeStyle,strokeColor:this.strokeColor,borderStyle:this.borderStyle,padding:this.padding})}_serialize(y){var b;if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const E=qt(this.command,this.mode);if(E!=null&&E.serialize)return E.serialize(this,y);let te=(b=this.command)!=null?b:"";if(this.command==="\\enclose"){te+="{"+Object.keys(this.notation).join(" ")+"}";let oe="",ue="";this.backgroundcolor&&this.backgroundcolor!=="transparent"&&(oe+=ue+'mathbackground="'+this.backgroundcolor+'"',ue=","),this.shadow&&this.shadow!=="auto"&&(oe+=ue+'shadow="'+this.shadow+'"',ue=","),this.strokeWidth||this.strokeStyle!=="solid"?(oe+=ue+this.borderStyle,ue=","):this.strokeColor&&this.strokeColor!=="currentColor"&&(oe+=ue+'mathcolor="'+this.strokeColor+'"',ue=","),oe&&(te+=`[${oe}]`)}return Qu(te,this.bodyToLatex(y))}render(y){const b=new vu({parent:y},this.style),E=Ti.createBox(b,this.body);if(!E)return null;const te=Xl(this.borderStyle),oe=b.toEm(!this.padding||this.padding==="auto"?{register:"fboxsep"}:{string:this.padding});E.setStyle("position","relative"),E.setStyle("display","inline-block"),E.setStyle("top",oe,"em"),E.setStyle("height",E.height+E.depth,"em"),E.setStyle("width",E.width,"em");const ue=new za(null,{classes:"ML__notation"});let Ae=E.height+E.depth+2*oe;const Ee=E.width+2*oe;let Ne="";if(this.notation.horizontalstrike&&(Ne+=this.line(3,50,97,50)),this.notation.verticalstrike&&(Ne+=this.line(50,3,50,97)),this.notation.updiagonalstrike&&(Ne+=this.line(3,97,97,3)),this.notation.downdiagonalstrike&&(Ne+=this.line(3,3,97,97)),this.notation.updiagonalarrow){Ne+=this.line(oe.toString(),(oe+E.depth+E.height).toString(),(oe+E.width).toString(),oe.toString());const rr=.03*Math.sqrt(Ee*Ee+Ae*Ae)*1,gi=E.width*rr,no=(E.depth+E.height)*rr,si=oe+E.width;let la=oe;la+no-.4*gi<0&&(la=.4*gi-no),Ne+='`}};function dl(a){return typeof a=="number"?`${Math.floor(100*a)/100}%`:a}function Xl(a){if(!a)return"1px";const y=a.match(/([0-9][a-zA-Z\%]+)/);return y===null?"1px":y[1]}function Jl(a){return(Math.floor(100*a.metrics.sqrtRuleThickness/a.scalingFactor)/100/10).toString()+"em"}function ou(a){const y=a.isDisplayStyle?Cs:a.metrics.defaultRuleThickness;return a.metrics.defaultRuleThickness+a.scalingFactor*y/4}var Hs=class pm extends Ti{constructor(y,b,E){var te,oe;super(He(Se({},E),{type:"genfrac",displayContainsHighlight:!0})),this.above=y,this.below=b,this.hasBarLine=(te=E==null?void 0:E.hasBarLine)!=null?te:!0,this.continuousFraction=(oe=E==null?void 0:E.continuousFraction)!=null?oe:!1,this.numerPrefix=E==null?void 0:E.numerPrefix,this.denomPrefix=E==null?void 0:E.denomPrefix,this.mathstyleName=E==null?void 0:E.mathstyleName,this.leftDelim=E==null?void 0:E.leftDelim,this.rightDelim=E==null?void 0:E.rightDelim,this.fractionNavigationOrder=E==null?void 0:E.fractionNavigationOrder}static fromJson(y){return new pm(y.above,y.below,y)}toJson(){const y={};return this.continuousFraction&&(y.continuousFraction=!0),this.numerPrefix&&(y.numerPrefix=this.numerPrefix),this.denomPrefix&&(y.denomPrefix=this.denomPrefix),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),this.hasBarLine||(y.hasBarLine=!1),this.mathstyleName&&(y.mathstyleName=this.mathstyleName),this.fractionNavigationOrder&&(y.fractionNavigationOrder=this.fractionNavigationOrder),Se(Se({},super.toJson()),y)}get children(){if(this._children)return this._children;const y=[];if(this.fractionNavigationOrder==="denominator-numerator"){for(const b of this.below)y.push(...b.children),y.push(b);for(const b of this.above)y.push(...b.children),y.push(b)}else{for(const b of this.above)y.push(...b.children),y.push(b);for(const b of this.below)y.push(...b.children),y.push(b)}return this._children=y,y}render(y){var b,E;const te=new vu({parent:y,mathstyle:this.mathstyleName},this.style),oe=te.metrics,ue=new vu({parent:te,mathstyle:this.continuousFraction?"":"numerator"},this.style),Ae=this.numerPrefix?new za([new za(this.numerPrefix),Ti.createBox(ue,this.above)],{isTight:ue.isTight,type:"ignore"}):(b=Ti.createBox(ue,this.above,{type:"ignore"}))!=null?b:new za(null,{type:"ignore"}),Ee=new vu({parent:te,mathstyle:this.continuousFraction?"":"denominator"},this.style),Ne=this.denomPrefix?new za([new za(this.denomPrefix),Ti.createBox(Ee,this.below,{type:"ignore"})]):(E=Ti.createBox(Ee,this.below,{type:"ignore"}))!=null?E:new za(null,{type:"ignore"}),Ge=this.hasBarLine?oe.defaultRuleThickness:0;let gt,$t=0,kn;te.isDisplayStyle?(gt=ue.metrics.num1,$t=Ge>0?3*Ge:7*Ge,kn=Ee.metrics.denom1):(Ge>0?(gt=ue.metrics.num2,$t=Ge):(gt=ue.metrics.num3,$t=3*oe.defaultRuleThickness),kn=Ee.metrics.denom2);const rr=[];this.isSelected&&rr.push("ML__selected");const gi=Ae.depth,no=Ne.height;let si;if(Ge<=0){const Gl=gt-gi-(no-kn);Gl<$t&&(gt+=($t-Gl)/2,kn+=($t-Gl)/2),si=new Iu({individualShift:[{box:Ae,shift:-gt,classes:[...rr,"ML__center"]},{box:Ne,shift:kn,classes:[...rr,"ML__center"]}]}).wrap(te)}else{const Gl=new za(null,{classes:"ML__frac-line",mode:this.mode,style:this.style});Gl.softWidth=Math.max(Ae.width,Ne.width),Gl.height=Ge/2,Gl.depth=Ge/2;const Tu=bl+Ge/2;gt<$t+gi+Tu&&(gt=$t+gi+Tu);const ac=bl-Ge/2;kn<$t+no-ac&&(kn=$t+no-ac),si=new Iu({individualShift:[{box:Ne,shift:kn,classes:[...rr,"ML__center"]},{box:Gl,shift:-ac,classes:rr},{box:Ae,shift:-gt,classes:[...rr,"ML__center"]}]}).wrap(te)}const la=te.isDisplayStyle?oe.delim1:oe.delim2,po=this.leftDelim?this.bind(y,cl("open",this.leftDelim,la,!0,y,{style:this.style,mode:this.mode,isSelected:this.isSelected})):gl(te,"open");let Ba=null;this.continuousFraction?Ba=new za(null,{type:"close"}):this.rightDelim?Ba=this.bind(y,cl("close",this.rightDelim,la,!0,y,{style:this.style,mode:this.mode,isSelected:this.isSelected})):Ba=gl(te,"close");const Tl=new za([po,si,Ba],{isTight:te.isTight,type:"inner",classes:"mfrac"}),as=this.bind(y,Tl);return this.caret&&(as.caret=this.caret),this.attachSupsub(y,{base:as})}},cs=class vm extends Ti{constructor(y,b){var E;super({type:"latex",value:y,mode:"latex"}),this.isSuggestion=(E=b==null?void 0:b.isSuggestion)!=null?E:!1,this.isError=!1}static fromJson(y){const b=new vm(y.value);return y.isSuggestion&&(b.isSuggestion=!0),y.isError&&(b.isError=!0),b}toJson(){const y={};return this.isSuggestion&&(y.isSuggestion=!0),this.isError&&(y.isError=!0),Se({type:"latex",value:this.value},y)}get computedStyle(){return{}}render(y){const b=new za(this.value,{classes:this.isSuggestion?"ML__suggestion":this.isError?"ML__error":"",type:"latex",maxFontSize:1});return b?(this.caret&&(b.caret=this.caret),this.bind(y,b)):null}},dc=class mm extends Ti{constructor(y){super({type:"latexgroup",mode:"latex"}),this.body=[...y].map(b=>new cs(b)),this.skipBoundary=!1}static fromJson(y){return new mm("")}toJson(){return super.toJson()}render(y){const b=Ti.createBox(y,this.body);return b?(this.caret&&(b.caret=this.caret),this.bind(y,b)):null}_serialize(y){var b,E;return(E=(b=this.body)==null?void 0:b.map(te=>te.value).join(""))!=null?E:""}},Fu=class gm extends Ti{constructor(y,b){super(He(Se({},b),{type:"extensible-symbol",isFunction:b==null?void 0:b.isFunction})),this.value=y,this.variant=b==null?void 0:b.variant,this.subsupPlacement=b==null?void 0:b.limits}static fromJson(y){return new gm(y.symbol,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.subsupPlacement&&(y.limits=this.subsupPlacement),this.isExtensibleSymbol&&(y.isExtensibleSymbol=!0),this.value&&(y.symbol=this.value),y}render(y){var b;const E=y.isDisplayStyle&&this.value!=="\\smallint",te=new za(this.value,{fontFamily:E?"Size2-Regular":"Size1-Regular",classes:"op-symbol "+(E?"large-op":"small-op"),type:"op",maxFontSize:y.scalingFactor,isSelected:this.isSelected});if(!te)return null;te.right=te.italic;const oe=(te.height-te.depth)/2-bl*y.scalingFactor,ue=te.italic;te.setTop(oe);let Ae=te;if(this.superscript||this.subscript){const Ee=(b=this.subsupPlacement)!=null?b:"auto";Ae=Ee==="over-under"||Ee==="auto"&&y.isDisplayStyle?this.attachLimits(y,{base:te,baseShift:oe,slant:ue}):this.attachSupsub(y,{base:te})}return new za(this.bind(y,Ae),{type:"op",caret:this.caret,isSelected:this.isSelected,classes:"op-group"}).wrap(y)}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);if(b!=null&&b.serialize)return b.serialize(this,y);const E=[];return E.push(this.command),this.explicitSubsupPlacement&&(this.subsupPlacement==="over-under"&&E.push("\\limits"),this.subsupPlacement==="adjacent"&&E.push("\\nolimits"),this.subsupPlacement==="auto"&&E.push("\\displaylimits")),E.push(this.supsubToLatex(y)),Js(E)}},nc=class Am extends Ti{constructor(y){const b=y.body;super(He(Se({},y),{type:"overlap",body:typeof b=="string"?[new Ti({value:b})]:b,style:y==null?void 0:y.style})),this.skipBoundary=!0,this.align=y==null?void 0:y.align,this.boxType=y==null?void 0:y.boxType}static fromJson(y){return new Am(y)}toJson(){const y={};return this.align&&(y.align=this.align),this.boxType&&(y.boxType=this.boxType),Se(Se({},super.toJson()),y)}render(y){const b=Ti.createBox(y,this.body,{classes:"inner"});return b?(this.caret&&(b.caret=this.caret),this.bind(y,new za([b,new za(null,{classes:"fix"})],{classes:this.align==="right"?"rlap":"llap",type:this.boxType}))):null}},rc=class ym extends Ti{constructor(y){var b,E,te,oe;super({type:"overunder",command:y.command,style:y.style,mode:y.mode,body:y.body,skipBoundary:(b=y.skipBoundary)!=null?b:!0}),this.subsupPlacement=y.supsubPlacement,this.svgAbove=y.svgAbove,this.svgBelow=y.svgBelow,this.svgBody=y.svgBody,this.above=y.above,this.below=y.below,this.boxType=(E=y.boxType)!=null?E:"ord",this.paddedBody=(te=y.paddedBody)!=null?te:!1,this.paddedLabels=(oe=y.paddedLabels)!=null?oe:!1}static fromJson(y){return new ym(y)}toJson(){const y=super.toJson();return this.skipBoundary||(y.skipBoundary=!1),this.subsupPlacement&&(y.subsupPlacement=this.subsupPlacement),this.svgAbove&&(y.svgAbove=this.svgAbove),this.svgBelow&&(y.svgBelow=this.svgBelow),this.svgBody&&(y.svgBody=this.svgBody),this.boxType!=="ord"&&(y.boxType=this.boxType),this.paddedBody&&(y.paddedBody=!0),this.paddedLabels&&(y.paddedLabels=!0),y}render(y){let b=this.svgBody?Qc(this.svgBody):Ti.createBox(y,this.body,{type:"ignore"});const E=new vu({parent:y,mathstyle:"scriptstyle"},this.style);let te=null;this.svgAbove?te=Qc(this.svgAbove):this.above&&(te=Ti.createBox(E,this.above,{type:"ignore"}));let oe=null;this.svgBelow?oe=Qc(this.svgBelow):this.below&&(oe=Ti.createBox(E,this.below,{type:"ignore"})),this.paddedBody&&(b=new za([gl(y,"open"),b,gl(y,"close")],{type:"ignore"}));let ue=qc(y,{base:b,above:te,below:oe,type:this.boxType==="bin"||this.boxType==="rel"?this.boxType:"ord",paddedAboveBelow:this.paddedLabels});return ue?(this.subsupPlacement==="over-under"?ue=this.attachLimits(y,{base:ue,type:ue.type}):ue=this.attachSupsub(y,{base:ue}),this.caret&&(ue.caret=this.caret),this.bind(y,ue)):null}};function qc(a,y){if(!y.base)return null;if(!y.above&&!y.below){const Ae=new za(y.base,{type:y.type});return Ae.setStyle("position","relative"),Ae}let b=0;y.above&&(b=a.metrics.bigOpSpacing5);let E=null;const te=y.base,oe=0,ue=["ML__center"];if(y.paddedAboveBelow&&ue.push("ML__label_padding"),y.below&&y.above){const Ae=a.metrics.bigOpSpacing5+y.below.height+y.below.depth+te.depth+oe;E=new Iu({bottom:Ae,children:[a.metrics.bigOpSpacing5,{box:y.below,classes:ue},{box:te,classes:["ML__center"]},b,{box:y.above,classes:ue},a.metrics.bigOpSpacing5]})}else y.below?E=new Iu({top:te.height-oe,children:[a.metrics.bigOpSpacing5,{box:y.below,classes:ue},{box:te,classes:["ML__center"]}]}):y.above&&(E=new Iu({bottom:te.depth+oe,children:[{box:te,classes:["ML__center"]},b,{box:y.above,classes:ue},a.metrics.bigOpSpacing5]}));return new za(E,{type:y.type})}var Bd=class bm extends Ti{constructor(y){var b,E,te,oe;super(He(Se({},y),{type:"phantom"})),this.captureSelection=!0,this.isInvisible=(b=y.isInvisible)!=null?b:!1,this.smashDepth=(E=y.smashDepth)!=null?E:!1,this.smashHeight=(te=y.smashHeight)!=null?te:!1,this.smashWidth=(oe=y.smashWidth)!=null?oe:!1}static fromJson(y){return new bm(y)}toJson(){const y={};return this.isInvisible&&(y.isInvisible=!0),this.smashDepth&&(y.smashDepth=!0),this.smashHeight&&(y.smashHeight=!0),this.smashWidth&&(y.smashWidth=!0),Se(Se({},super.toJson()),y)}render(y){const b=new vu({parent:y,isPhantom:!0});if(!this.smashDepth&&!this.smashHeight&&!this.smashWidth)return console.assert(this.isInvisible),Ti.createBox(b,this.body,{classes:"inner"});const E=Ti.createBox(this.isInvisible?b:y,this.body);if(!E)return null;if(this.smashWidth){const te=new za(null,{classes:"fix"});return new za([E,te],{classes:"rlap"}).wrap(y)}if(!this.smashHeight&&!this.smashDepth)return E;if(this.smashHeight&&(E.height=0),this.smashDepth&&(E.depth=0),E.children)for(const te of E.children)this.smashHeight&&(te.height=0),this.smashDepth&&(te.depth=0);return new Iu({firstBaseline:[{box:E}]},{type:E.type}).wrap(y)}},md=class xm extends Ti{constructor(y){var b;super(Se({type:"spacing"},y)),this.width=y==null?void 0:y.width,this._braced=(b=y==null?void 0:y.braced)!=null?b:!1}static fromJson(y){return new xm(y)}toJson(){const y=super.toJson();return this.width!==void 0&&(y.width=this.width),this._braced&&(y.braced=!0),y}render(y){var b;if(this.command==="space")return new za(this.mode==="math"?null:" ");let E;if(this.width!==void 0)E=new za(null,{classes:"mspace"}),E.left=y.toEm(this.width);else{const te=(b={"\\qquad":"qquad","\\quad":"quad","\\enspace":"enspace","\\;":"thickspace","\\:":"mediumspace","\\>":"mediumspace","\\,":"thinspace","\\!":"negativethinspace"}[this.command])!=null?b:"mediumspace";E=new za(null,{classes:te})}return E=this.bind(y,E),this.caret&&(E.caret=this.caret),E}_serialize(y){var b;if(!y.expandMacro&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const E=qt(this.command,this.mode);if(E!=null&&E.serialize)return E.serialize(this,y);const te=(b=this.command)!=null?b:"";return this.width===void 0?te:this._braced&&!("register"in this.width)?`${te}{${tc(this.width)}}`:`${te}${tc(this.width)}`}},gd=class wm extends Ti{constructor(y){var b;super(He(Se({},y),{type:"surd",mode:(b=y.mode)!=null?b:"math",style:y.style,displayContainsHighlight:!0,body:y.body})),this.above=y.index}static fromJson(y){return new wm(He(Se({},y),{index:y.above}))}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);if(b!=null&&b.serialize)return b.serialize(this,y);const E=this.command,te=this.bodyToLatex(y);return this.above&&!this.hasEmptyBranch("above")?Qu(`${E}[${this.aboveToLatex(y)}]`,te):/^[0-9]$/.test(te)?`${E}${te}`:Qu(E,te)}get children(){if(this._children)return this._children;const y=[];if(this.above)for(const b of this.above)y.push(...b.children),y.push(b);if(this.body)for(const b of this.body)y.push(...b.children),y.push(b);return this._children=y,y}render(y){var b;const E=new vu({parent:y,mathstyle:"cramp"},this.style),te=(b=Ti.createBox(E,this.body,{type:"inner"}))!=null?b:new za(null),oe=E.scalingFactor,ue=E.metrics.defaultRuleThickness/oe,Ae=y.isDisplayStyle?Cs:ue,Ee=new za(null,{classes:"ML__sqrt-line",style:this.style});Ee.height=ue,Ee.softWidth=te.width;let Ne=oe*(ue+Ae/4);const gt=Math.max(oe*2*Ae,te.height+te.depth)+Ne+ue,$t=new vu({parent:y},this.style),kn=this.bind($t,new za(cl("inner","\\surd",gt,!1,$t,{isSelected:this.isSelected}),{isSelected:this.isSelected,classes:"ML__sqrt-sign",style:this.style}));if(!kn)return null;const rr=kn.height+kn.depth-ue;rr>te.height+te.depth+Ne&&(Ne=(Ne+rr-(te.height+te.depth))/2),kn.setTop(kn.height-te.height-Ne);const gi=this.bind(y,new Iu({firstBaseline:[{box:new za(te)},Ne-2*ue,{box:Ee},ue]})),no=Ti.createBox(new vu({parent:y,mathstyle:"scriptscriptstyle"}),this.above,{type:"ignore"});if(!no){const po=new za([kn,gi],{classes:this.containsCaret?"ML__contains-caret":"",type:"inner"});return po.setStyle("display","inline-block"),po.setStyle("height",po.height+po.depth,"em"),this.caret&&(po.caret=this.caret),this.bind(y,po)}const si=new Iu({shift:-.6*(Math.max(kn.height,gi.height)-Math.max(kn.depth,gi.depth)),children:[{box:no}]}),la=new za([new za(si,{classes:"ML__sqrt-index",type:"ignore"}),kn,gi],{type:"inner",classes:this.containsCaret?"ML__contains-caret":""});return la.height=kn.height,la.depth=kn.depth,this.caret&&(la.caret=this.caret),this.bind(y,la)}},nf=class extends za{constructor(a){super(null,{type:"skip"}),this._width=a}toMarkup(){return``}};function Nc(a,y){if(!a.parent)return;const b=a.parent.children,E=b.indexOf(a);let te=E-1;for(;te>=0&&b[te].type==="ignore";)te-=1;if(te<0&&a.parent.parent&&a.parent.type==="lift"){Nc(a.parent,y);return}E>0&&b[E-1].type==="skip"?b[E-1].width+=y:b.splice(E,0,new nf(y))}var gf={ord:{op:3,bin:4,rel:5,inner:3},op:{ord:3,op:3,rel:5,inner:3},bin:{ord:4,op:4,open:4,inner:4},rel:{ord:5,op:5,open:5,inner:5},close:{op:3,bin:4,rel:5,inner:3},punct:{ord:3,op:3,rel:3,open:3,punct:3,inner:3},inner:{ord:3,op:3,bin:4,rel:5,open:3,punct:3,inner:3}},Af={ord:{op:3},op:{ord:3,op:3},close:{op:3},inner:{op:3}};function B0(a){xl(a,(y,b)=>{b.type==="bin"&&(!y||/^(middle|bin|op|rel|open|punct)$/.test(y.type))&&(b.type="ord"),(y==null?void 0:y.type)==="bin"&&/^(rel|close|punct)$/.test(b.type)&&(y.type="ord"),b.type!=="ignore"&&(y=b)})}function rf(a,y){if(!a.children)return a;const b=a.children;B0(b);const E=y.getRegisterAsEm("thinmuskip"),te=y.getRegisterAsEm("medmuskip"),oe=y.getRegisterAsEm("thickmuskip");return xl(b,(ue,Ae)=>{var Ee,Ne,Ge;if(!ue)return;const gt=ue.type,$t=Ae.isTight?(Ee=Af[gt])!=null?Ee:null:(Ne=gf[gt])!=null?Ne:null,kn=(Ge=$t==null?void 0:$t[Ae.type])!=null?Ge:null;kn===3&&Nc(Ae,E),kn===4&&Nc(Ae,te),kn===5&&Nc(Ae,oe)}),a}function xl(a,y,b=void 0){if(!a)return b;a=[...a];for(const E of a)E.type==="lift"?b=xl(E.children,y,b):E.type==="ignore"?xl(E.children,y):(y(b,E),xl(E.children,y),b=E);return b}var Kd=class Cm extends Ti{constructor(y){super({type:"tooltip",command:y.command,mode:y.mode,style:y.style,body:y.body,displayContainsHighlight:!0}),this.tooltip=new Ti({type:"root",mode:y.content,body:y.tooltip,style:{}}),this.skipBoundary=!0,this.captureSelection=!1}static fromJson(y){return new Cm(He(Se({},y),{tooltip:Wd(y.tooltip)}))}toJson(){var y;const b=(y=this.tooltip.body)==null?void 0:y.filter(E=>E.type!=="first").map(E=>E.toJson());return He(Se({},super.toJson()),{tooltip:b})}render(y){const b=Ti.createBox(new vu,this.body);if(!b)return null;const E=new vu({parent:y,mathstyle:"displaystyle"},{fontSize:cu}),te=Nd(rf(new za(this.tooltip.render(E),{classes:"ML__tooltip-content"}),E)),oe=new za([te,b],{classes:"ML__tooltip-container"});return this.caret&&(oe.caret=this.caret),this.bind(y,oe)}},sd=class Em extends Ti{constructor(y,b){super(He(Se({},b),{type:"operator",isFunction:b==null?void 0:b.isFunction})),this.value=y,this.variant=b==null?void 0:b.variant,this.variantStyle=b==null?void 0:b.variantStyle,this.subsupPlacement=b==null?void 0:b.limits}static fromJson(y){return new Em(y.symbol,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.variantStyle&&(y.variantStyle=this.variantStyle),this.subsupPlacement&&(y.limits=this.subsupPlacement),this.value&&(y.symbol=this.value),y}render(y){var b;const E=new za(this.value,{type:"op",mode:"math",maxFontSize:y.scalingFactor,style:{variant:this.variant,variantStyle:this.variantStyle},isSelected:this.isSelected,letterShapeStyle:y.letterShapeStyle});let te=E;if(this.superscript||this.subscript){const oe=(b=this.subsupPlacement)!=null?b:"auto";te=oe==="over-under"||oe==="auto"&&y.isDisplayStyle?this.attachLimits(y,{base:E}):this.attachSupsub(y,{base:E})}return new za(this.bind(y,te),{type:"op",caret:this.caret,isSelected:this.isSelected,classes:"op-group"}).wrap(y)}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const b=qt(this.command,this.mode);if(b!=null&&b.serialize)return b.serialize(this,y);const E=[this.command];return this.explicitSubsupPlacement&&(this.subsupPlacement==="over-under"&&E.push("\\limits"),this.subsupPlacement==="adjacent"&&E.push("\\nolimits"),this.subsupPlacement==="auto"&&E.push("\\displaylimits")),E.push(this.supsubToLatex(y)),Js(E)}};function Wd(a){if(ut(a))return a.map(E=>Wd(E));if(typeof a=="string")return Ti.fromJson(a);a=Se({},a);for(const E of Ld)a[E]&&(a[E]=Wd(a[E]));a.args&&(a.args=af(a.args)),a.array&&(a.array=Wd(a.array));const y=a.type;let b;y==="accent"&&(b=z.fromJson(a)),y==="array"&&(b=Rs.fromJson(a)),y==="box"&&(b=Cc.fromJson(a)),y==="chem"&&(b=Zn.fromJson(a)),y==="composition"&&(b=Bf.fromJson(a)),y==="delim"&&(b=Ja.fromJson(a)),y==="enclose"&&(b=ho.fromJson(a)),y==="error"&&(b=ld.fromJson(a)),y==="extensible-symbol"&&(b=Fu.fromJson(a)),y==="genfrac"&&(b=Hs.fromJson(a)),y==="group"&&(b=kc.fromJson(a)),y==="latex"&&(b=cs.fromJson(a)),y==="latexgroup"&&(b=dc.fromJson(a)),y==="leftright"&&(b=se.fromJson(a)),y==="macro"&&(b=me.fromJson(a)),y==="macro-argument"&&(b=Me.fromJson(a)),y==="operator"&&(b=sd.fromJson(a)),y==="overlap"&&(b=nc.fromJson(a)),y==="overunder"&&(b=rc.fromJson(a)),y==="placeholder"&&(b=Wl.fromJson(a)),y==="prompt"&&(b=$e.fromJson(a)),y==="phantom"&&(b=Bd.fromJson(a)),y==="sizeddelim"&&(b=fo.fromJson(a)),y==="spacing"&&(b=md.fromJson(a)),y==="subsup"&&(b=et.fromJson(a)),y==="surd"&&(b=gd.fromJson(a)),y==="text"&&(b=Cd.fromJson(a)),y==="tooltip"&&(b=Kd.fromJson(a)),b||(console.assert(!y||["first","mbin","mrel","mclose","minner","mop","mopen","mord","mpunct","root","space"].includes(y),`MathLive 0.98.5: an unexpected atom type "${y}" was encountered. Add new atom constructors to \`fromJson()\` in "atom.ts"`),b=Ti.fromJson(a));for(const E of Ld)a[E]&&b.setChildren(a[E],E);return a.verbatimLatex!==void 0&&(b.verbatimLatex=a.verbatimLatex),a.subsupPlacement&&(b.subsupPlacement=a.subsupPlacement),a.explicitSubsupPlacement&&(b.explicitSubsupPlacement=!0),a.isFunction&&(b.isFunction=!0),a.isExtensibleSymbol&&(b.isExtensibleSymbol=!0),a.skipBoundary&&(b.skipBoundary=!0),a.captureSelection&&(b.captureSelection=!0),b}function af(a){if(a&&Array.isArray(a))return a.map(y=>y===""?null:typeof y=="object"&&"group"in y?{group:y.group.map(b=>Wd(b))}:typeof y=="object"&&"atoms"in y?y.atoms.map(b=>Wd(b)):y)}var Kf={main:["Main-Regular","ML__cmr"],"main-italic":["Main-Italic","ML__cmr ML__it"],"main-bold":["Main-Bold","ML__cmr ML__bold"],"main-bolditalic":["Main-BoldItalic","ML__cmr ML__bold ML__it"],normal:["Main-Regular","ML__cmr"],"normal-bold":["Main-Bold","ML__mathbf"],"normal-italic":["Math-Italic","ML__mathit"],"normal-bolditalic":["Math-BoldItalic","ML__mathbfit"],ams:["AMS-Regular","ML__ams"],"ams-bold":["AMS-Regular","ML__ams"],"ams-italic":["AMS-Regular","ML__ams"],"ams-bolditalic":["AMS-Regular","ML__ams"],"sans-serif":["SansSerif-Regular","ML__sans"],"sans-serif-bold":["SansSerif-Regular","ML__sans ML__bold"],"sans-serif-italic":["SansSerif-Regular","ML__sans"],"sans-serif-bolditalic":["SansSerif-Regular","ML__sans"],calligraphic:["Caligraphic-Regular","ML__cal"],"calligraphic-bold":["Caligraphic-Regular","ML__cal ML__bold"],"calligraphic-italic":["Caligraphic-Regular","ML__cal ML__it"],"calligraphic-bolditalic":["Caligraphic-Regular","ML__cal ML__bold ML__it"],script:["Script-Regular","ML__script"],"script-bold":["Script-Regular","ML__script ML__bold"],"script-italic":["Script-Regular","ML__script ML__it"],"script-bolditalic":["Script-Regular","ML__script ML__bold ML__it"],fraktur:["Fraktur-Regular","ML__frak"],"fraktur-bold":["Fraktur-Regular","ML__frak"],"fraktur-italic":["Fraktur-Regular","ML__frak"],"fraktur-bolditalic":["Fraktur-Regular","ML__frak"],monospace:["Typewriter-Regular","ML__tt"],"monospace-bold":["Typewriter-Regular","ML__tt ML__bold"],"monospace-italic":["Typewriter-Regular","ML__tt ML__it"],"monospace-bolditalic":["Typewriter-Regular","ML__tt ML__bold ML__it"],"double-struck":["AMS-Regular","ML__bb"],"double-struck-bold":["AMS-Regular","ML__bb"],"double-struck-italic":["AMS-Regular","ML__bb"],"double-struck-bolditalic":["AMS-Regular","ML__bb"]},r0={"double-struck":/^[A-Z ]$/,script:/^[A-Z ]$/,calligraphic:/^[\dA-Z ]$/,fraktur:/^[\dA-Za-z ]$|^[!"#$%&'()*+,\-./:;=?[]^’‘]$/,monospace:/^[\dA-Za-z ]$|^[!"&'()*+,\-./:;=?@[\]^_~\u0131\u0237\u0393\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A8\u03A9]$/,"sans-serif":/^[\dA-Za-z ]$|^[!"&'()*+,\-./:;=?@[\]^_~\u0131\u0237\u0393\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A8\u03A9]$/},Wf=/^[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5]$/,P0=/^[\u0393|\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A6\u03A8\u03A9]$/,T0=[/^[a-z]$/,/^[A-Z]$/,Wf,P0],hh={iso:["it","it","it","it"],tex:["it","it","it","up"],french:["it","up","up","up"],upright:["up","up","up","up"]},z0=class extends lc{constructor(){super("math")}createAtom(a,y,b){var E,te,oe,ue;if(y===null)return new Ti({type:"mord",mode:"math",command:a,value:a,style:b});const Ae=window.MathfieldElement.isFunction((E=y.command)!=null?E:a);if(y.definitionType==="symbol"){const Ne=new Ti({type:(te=y.type)!=null?te:"mord",mode:"math",command:(oe=y.command)!=null?oe:a,value:String.fromCodePoint(y.codepoint),style:b});return Ae&&(Ne.isFunction=!0),a.startsWith("\\")&&(Ne.verbatimLatex=a),Ne}const Ee=new Ti({type:"mord",mode:"math",command:(ue=y.command)!=null?ue:a,value:a,style:b});return Ae&&(Ee.isFunction=!0),a.startsWith("\\")&&(Ee.verbatimLatex=a),Ee}serialize(a,y){const b=D0(a,He(Se({},y),{defaultMode:"math"}));return b.length===0||y.defaultMode!=="text"?b:["$ ",...b," $"]}getFont(a,y){console.assert(y.variant!==void 0);let{variant:b}=y,{variantStyle:E}=y;b==="normal"&&!E&&/[\u00A3\u0131\u0237]/.test(a.value)&&(b="main",E="italic"),b==="normal"&&!E&&a.value.length===1&&T0.forEach((Ae,Ee)=>{var Ne;Ae.test(a.value)&&hh[(Ne=y.letterShapeStyle)!=null?Ne:"tex"][Ee]==="it"&&(E="italic")}),E==="up"&&(E=void 0);const te=E?b+"-"+E:b;console.assert(Kf[te]!==void 0);const[oe,ue]=Kf[te];return r0[b]&&!r0[b].test(a.value)?(a.value=Cr(a.value,b,E),null):(Wf.test(a.value)&&(a.classes+=" lcGreek"),ue&&(a.classes+=" "+ue),oe)}};function D0(a,y){const{parent:b}=a[0],E=ph(b);return ec(a,"variant").map(te=>{const oe=ph(te[0]);let ue="";oe&&oe!==E&&(ue={calligraphic:"\\mathcal",fraktur:"\\mathfrak","double-struck":"\\mathbb",script:"\\mathscr",monospace:"\\mathtt","sans-serif":"\\mathsf",normal:"\\mathrm","normal-italic":"\\mathnormal","normal-bold":"\\mathbf","normal-bolditalic":"\\mathbfit",ams:"","ams-italic":"\\mathit","ams-bold":"\\mathbf","ams-bolditalic":"\\mathbfit",main:"","main-italic":"\\mathit","main-bold":"\\mathbf","main-bolditalic":"\\mathbfit"}[oe],console.assert(ue!==void 0));const Ae=Js(te.map(Ee=>Ee._serialize(y)));return ue?Qu(ue,Ae):Ae})}function ph(a){if(!a)return"";const{style:y}=a;if(y.variant===void 0)return"";let b=y.variant;return!["calligraphic","fraktur","double-struck","script","monospace","sans-serif"].includes(y.variant)&&y.variantStyle&&y.variantStyle!=="up"&&(b+="-"+y.variantStyle),b}new z0;function vh(a,y){return a.map(b=>b._serialize(y))}function U0(a,y){return ec(a,"fontShape").map(b=>{const E=vh(b,y),{fontShape:te}=b[0].style;let oe="";return te==="it"&&(oe="\\textit"),te==="sl"&&(oe="\\textsl"),te==="sc"&&(oe="\\textsc"),te==="n"&&(oe="\\textup"),!oe&&te?`{${Qu("\\fontshape",te)}${Js(E)}}`:oe?Qu(oe,Js(E)):Js(E)})}function H0(a,y){return ec(a,"fontSeries").map(b=>{const E=U0(b,y),{fontSeries:te}=b[0].style;let oe="";return te==="b"&&(oe="\\textbf"),te==="l"&&(oe="\\textlf"),te==="m"&&(oe="\\textmd"),te&&!oe?`{${Qu("\\fontseries",te)}${Js(E)}}`:oe?Qu(oe,Js(E)):Js(E)})}function Y0(a,y){return ec(a,"fontSize").map(b=>{var E,te;const oe=H0(b,y),ue=(te=["","\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"][(E=b[0].style.fontSize)!=null?E:""])!=null?te:"";return ue?`${ue} ${Js(oe)}`:Js(oe)})}function J0(a,y,b){return ec(a,"fontFamily").map(E=>{var te,oe;const ue=Y0(E,y),Ae=(oe={roman:"textrm",monospace:"texttt","sans-serif":"textsf"}[(te=E[0].style.fontFamily)!=null?te:""])!=null?oe:"";return Ae?`\\${Ae}{${Js(ue)}}`:E[0].style.fontFamily?`{\\fontfamily{${E[0].style.fontFamily}} ${Js(ue)}}`:b?`\\text{${Js(ue)}}`:Js(ue)})}var j0={roman:"","sans-serif":"ML__sans",monospace:"ML__tt"},Be=class extends lc{constructor(){super("text")}createAtom(a,y,b){return y&&y.definitionType==="symbol"?new Cd(a,String.fromCodePoint(y.codepoint),b!=null?b:{}):null}serialize(a,y){return J0(a,He(Se({},y),{defaultMode:"text"}),y.defaultMode!=="text")}getFont(a,y){var b,E,te,oe,ue;const{fontFamily:Ae}=y;if(j0[Ae]?a.classes+=" "+j0[Ae]:Ae&&a.setStyle("font-family",Ae),y.fontShape&&(a.classes+=" ",a.classes+=(b={it:"ML__it",sl:"ML__shape_sl",sc:"ML__shape_sc",ol:"ML__shape_ol"}[y.fontShape])!=null?b:""),y.fontSeries){const Ee=y.fontSeries.match(/(.?[lbm])?(.?[cx])?/);Ee&&(a.classes+=" ",a.classes+=(te={ul:"ML__series_ul",el:"ML__series_el",l:"ML__series_l",sl:"ML__series_sl",m:"",sb:"ML__series_sb",b:"ML__bold",eb:"ML__series_eb",ub:"ML__series_ub"}[(E=Ee[1])!=null?E:""])!=null?te:"",a.classes+=" ",a.classes+=(ue={uc:"ML__series_uc",ec:"ML__series_ec",c:"ML__series_c",sc:"ML__series_sc",n:"",sx:"ML__series_sx",x:"ML__series_x",ex:"ML__series_ex",ux:"ML__series_ux"}[(oe=Ee[2])!=null?oe:""])!=null?ue:"")}return"Main-Regular"}};new Be;var Ce=class extends lc{constructor(){super("latex")}createAtom(a){return new cs(a)}serialize(a,y){return a.filter(b=>b instanceof cs&&!b.isSuggestion).map(b=>b.value)}getFont(){return null}};new Ce;var be={id:"dvorak",locale:"en",displayName:"Dvorak",virtualLayout:"dvorak",platform:"",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["x","X","\u2248","\u02DB"],KeyC:["j","J","\u2206","\xD4"],KeyD:["e","E","\xB4","\xB4"],KeyE:[".",">","\u2265","\u02D8"],KeyF:["u","U","\xA8","\xA8"],KeyG:["i","I","\u02C6","\u02C6"],KeyH:["d","D","\u2202","\xCE"],KeyI:["c","C","\xE7","\xC7"],KeyJ:["h","H","\u02D9","\xD3"],KeyK:["t","T","\u2020","\u02C7"],KeyL:["n","N","\u02DC","\u02DC"],KeyM:["m","M","\xB5","\xC2"],KeyN:["b","B","\u222B","\u0131"],KeyO:["r","R","\xAE","\u2030"],KeyP:["l","L","\xAC","\xD2"],KeyQ:["'",'"',"\xE6","\xC6"],KeyR:["p","P","\u03C0","\u220F"],KeyS:["o","O","\xF8","\xD8"],KeyT:["y","Y","\xA5","\xC1"],KeyU:["g","G","\xA9","\u02DD"],KeyV:["k","K","\u02DA","\uF8FF"],KeyW:[",","<","\u2264","\xAF"],KeyX:["q","Q","\u0153","\u0152"],KeyY:["f","F","\u0192","\xCF"],KeyZ:[";",":","\u2026","\xDA"],Digit1:["1","!","\xA1","\u2044"],Digit2:["2","@","\u2122","\u20AC"],Digit3:["3","#","\xA3","\u2039"],Digit4:["4","$","\xA2","\u203A"],Digit5:["5","%","\u221E","\uFB01"],Digit6:["6","^","\xA7","\uFB02"],Digit7:["7","&","\xB6","\u2021"],Digit8:["8","*","\u2022","\xB0"],Digit9:["9","(","\xAA","\xB7"],Digit0:["0",")","\xBA","\u201A"],Space:[" "," "," "," "],Minus:["[","{","\u201C","\u201D"],Equal:["]","}","\u2018","\u2019"],BracketLeft:["/","?","\xF7","\xBF"],BracketRight:["=","+","\u2260","\xB1"],Backslash:["\\","|","\xAB","\xBB"],Semicolon:["s","S","\xDF","\xCD"],Quote:["-","_","\u2013","\u2014"],Backquote:["`","~","`","`"],Comma:["w","W","\u2211","\u201E"],Period:["v","V","\u221A","\u25CA"],Slash:["z","Z","\u03A9","\xB8"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[".",".",".","."],IntlBackslash:["\xA7","\xB1","\xA7","\xB1"],NumpadEqual:["=","=","=","="],AudioVolumeUp:["","=","","="]}},Ft={id:"apple.en-intl",displayName:"English (international)",virtualLayout:"qwerty",platform:"apple",locale:"en",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\u222B","\u0131"],KeyC:["c","C","\xE7","\xC7"],KeyD:["d","D","\u2202","\xCE"],KeyE:["e","E","\xB4","\xB4"],KeyF:["f","F","\u0192","\xCF"],KeyG:["g","G","\xA9","\u02DD"],KeyH:["h","H","\u02D9","\xD3"],KeyI:["i","I","\u02C6","\u02C6"],KeyJ:["j","J","\u2206","\xD4"],KeyK:["k","K","\u02DA","\uF8FF"],KeyL:["l","L","\xAC","\xD2"],KeyM:["m","M","\xB5","\xC2"],KeyN:["n","N","\u02DC","\u02DC"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\u0153","\u0152"],KeyR:["r","R","\xAE","\u2030"],KeyS:["s","S","\xDF","\xCD"],KeyT:["t","T","\u2020","\u02C7"],KeyU:["u","U","\xA8","\xA8"],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\u2211","\u201E"],KeyX:["x","X","\u2248","\u02DB"],KeyY:["y","Y","\xA5","\xC1"],KeyZ:["z","Z","\u03A9","\xB8"],Digit1:["1","!","\xA1","\u2044"],Digit2:["2","@","\u2122","\u20AC"],Digit3:["3","#","\xA3","\u2039"],Digit4:["4","$","\xA2","\u203A"],Digit5:["5","%","\u221E","\uFB01"],Digit6:["6","^","\xA7","\uFB02"],Digit7:["7","&","\xB6","\u2021"],Digit8:["8","*","\u2022","\xB0"],Digit9:["9","(","\xAA","\xB7"],Digit0:["0",")","\xBA","\u201A"],Space:[" "," "," "," "],Minus:["-","_","\u2013","\u2014"],Equal:["=","+","\u2260","\xB1"],BracketLeft:["[","{","\u201C","\u201D"],BracketRight:["]","}","\u2018","\u2019"],Backslash:["\\","|","\xAB","\xBB"],Semicolon:[";",":","\u2026","\xDA"],Quote:["'",'"',"\xE6","\xC6"],Backquote:["`","\u02DC","`","`"],Comma:[",","<","\u2264","\xAF"],Period:[".",">","\u2265","\u02D8"],Slash:["/","?","\xF7","\xBF"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[".",".",".","."],IntlBackslash:["\xA7","\xB1","\xA7","\xB1"],NumpadEqual:["=","=","=","="],AudioVolumeUp:["","=","","="]}},Rn={id:"windows.en-intl",displayName:"English (international)",platform:"windows",virtualLayout:"qwerty",locale:"en",score:0,mapping:{KeyA:["a","A","\xE1","\xC1"],KeyB:["b","B","",""],KeyC:["c","C","\xA9","\xA2"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\xE9","\xC9"],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","\xED","\xCD"],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","\xF8","\xD8"],KeyM:["m","M","\xB5",""],KeyN:["n","N","\xF1","\xD1"],KeyO:["o","O","\xF3","\xD3"],KeyP:["p","P","\xF6","\xD6"],KeyQ:["q","Q","\xE4","\xC4"],KeyR:["r","R","\xAE",""],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\xFE","\xDE"],KeyU:["u","U","\xFA","\xDA"],KeyV:["v","V","",""],KeyW:["w","W","\xE5","\xC5"],KeyX:["x","X","",""],KeyY:["y","Y","\xFC","\xDC"],KeyZ:["z","Z","\xE6","\xC6"],Digit1:["1","!","\xA1","\xB9"],Digit2:["2","@","\xB2",""],Digit3:["3","#","\xB3",""],Digit4:["4","$","\xA4","\xA3"],Digit5:["5","%","\u20AC",""],Digit6:["6","^","\xBC",""],Digit7:["7","&","\xBD",""],Digit8:["8","*","\xBE",""],Digit9:["9","(","\u2018",""],Digit0:["0",")","\u2019",""],Space:[" "," ","",""],Minus:["-","_","\xA5",""],Equal:["=","+","\xD7","\xF7"],BracketLeft:["[","{","\xAB",""],BracketRight:["]","}","\xBB",""],Backslash:["\\","|","\xAC","\xA6"],Semicolon:[";",":","\xB6","\xB0"],Quote:["'",'"',"\xB4","\xA8"],Backquote:["`","~","",""],Comma:[",","<","\xE7","\xC7"],Period:[".",">","",""],Slash:["/","?","\xBF",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["\\","|","",""]}},zr={id:"linux.en",displayName:"English",platform:"linux",virtualLayout:"qwerty",locale:"en",score:0,mapping:{KeyA:["a","A","a","A"],KeyB:["b","B","b","B"],KeyC:["c","C","c","C"],KeyD:["d","D","d","D"],KeyE:["e","E","e","E"],KeyF:["f","F","f","F"],KeyG:["g","G","g","G"],KeyH:["h","H","h","H"],KeyI:["i","I","i","I"],KeyJ:["j","J","j","J"],KeyK:["k","K","k","K"],KeyL:["l","L","l","L"],KeyM:["m","M","m","M"],KeyN:["n","N","n","N"],KeyO:["o","O","o","O"],KeyP:["p","P","p","P"],KeyQ:["q","Q","q","Q"],KeyR:["r","R","r","R"],KeyS:["s","S","s","S"],KeyT:["t","T","t","T"],KeyU:["u","U","u","U"],KeyV:["v","V","v","V"],KeyW:["w","W","w","W"],KeyX:["x","X","x","X"],KeyY:["y","Y","y","Y"],KeyZ:["z","Z","z","Z"],Digit1:["1","!","1","!"],Digit2:["2","@","2","@"],Digit3:["3","#","3","#"],Digit4:["4","$","4","$"],Digit5:["5","%","5","%"],Digit6:["6","^","6","^"],Digit7:["7","&","7","&"],Digit8:["8","*","8","*"],Digit9:["9","(","9","("],Digit0:["0",")","0",")"],Space:[" "," "," "," "],Minus:["-","_","-","_"],Equal:["=","+","=","+"],BracketLeft:["[","{","[","{"],BracketRight:["]","}","]","}"],Backslash:["\\","|","\\","|"],Semicolon:[";",":",";",":"],Quote:["'",'"',"'",'"'],Backquote:["`","~","`","~"],Comma:[",","<",",","<"],Period:[".",">",".",">"],Slash:["/","?","/","?"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"],NumpadEqual:["=","=","=","="],NumpadComma:[".",".",".","."],NumpadParenLeft:["(","(","(","("],NumpadParenRight:[")",")",")",")"]}},Hr={id:"apple.french",locale:"fr",displayName:"French",platform:"apple",virtualLayout:"azerty",score:0,mapping:{KeyA:["q","Q","\u2021","\u03A9"],KeyB:["b","B","\xDF","\u222B"],KeyC:["c","C","\xA9","\xA2"],KeyD:["d","D","\u2202","\u2206"],KeyE:["e","E","\xEA","\xCA"],KeyF:["f","F","\u0192","\xB7"],KeyG:["g","G","\uFB01","\uFB02"],KeyH:["h","H","\xCC","\xCE"],KeyI:["i","I","\xEE","\xEF"],KeyJ:["j","J","\xCF","\xCD"],KeyK:["k","K","\xC8","\xCB"],KeyL:["l","L","\xAC","|"],KeyM:[",","?","\u221E","\xBF"],KeyN:["n","N","~","\u0131"],KeyO:["o","O","\u0153","\u0152"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["a","A","\xE6","\xC6"],KeyR:["r","R","\xAE","\u201A"],KeyS:["s","S","\xD2","\u2211"],KeyT:["t","T","\u2020","\u2122"],KeyU:["u","U","\xBA","\xAA"],KeyV:["v","V","\u25CA","\u221A"],KeyW:["z","Z","\xC2","\xC5"],KeyX:["x","X","\u2248","\u2044"],KeyY:["y","Y","\xDA","\u0178"],KeyZ:["w","W","\u2039","\u203A"],Digit1:["&","1","\uF8FF","\xB4"],Digit2:["\xE9","2","\xEB","\u201E"],Digit3:['"',"3","\u201C","\u201D"],Digit4:["'","4","\u2018","\u2019"],Digit5:["(","5","{","["],Digit6:["\xA7","6","\xB6","\xE5"],Digit7:["\xE8","7","\xAB","\xBB"],Digit8:["!","8","\xA1","\xDB"],Digit9:["\xE7","9","\xC7","\xC1"],Digit0:["\xE0","0","\xF8","\xD8"],Space:[" "," "," "," "],Minus:[")","\xB0","}","]"],Equal:["-","_","\u2014","\u2013"],BracketLeft:["^","\xA8","\xF4","\xD4"],BracketRight:["$","*","\u20AC","\xA5"],Backslash:["`","\xA3","@","#"],Semicolon:["m","M","\xB5","\xD3"],Quote:["\xF9","%","\xD9","\u2030"],Backquote:["<",">","\u2264","\u2265"],Comma:[";",".","\u2026","\u2022"],Period:[":","/","\xF7","\\"],Slash:["=","+","\u2260","\xB1"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:[",",".",",","."],IntlBackslash:["@","#","\u2022","\u0178"],NumpadEqual:["=","=","=","="]}},En={id:"windows.french",locale:"fr",displayName:"French",virtualLayout:"azerty",platform:"windows",score:0,mapping:{KeyA:["q","Q","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:[",","?","",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["a","A","",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["z","Z","",""],KeyX:["x","X","",""],KeyY:["y","Y","",""],KeyZ:["w","W","",""],Digit1:["&","1","",""],Digit2:["\xE9","2","~",""],Digit3:['"',"3","#",""],Digit4:["'","4","{",""],Digit5:["(","5","[",""],Digit6:["-","6","|",""],Digit7:["\xE8","7","`",""],Digit8:["_","8","\\",""],Digit9:["\xE7","9","^",""],Digit0:["\xE0","0","@",""],Space:[" "," ","",""],Minus:[")","\xB0","]",""],Equal:["=","+","}",""],BracketLeft:["^","\xA8","",""],BracketRight:["$","\xA3","\xA4",""],Backslash:["*","\xB5","",""],Semicolon:["m","M","",""],Quote:["\xF9","%","",""],Backquote:["\xB2","","",""],Comma:[";",".","",""],Period:[":","/","",""],Slash:["!","\xA7","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","",""]}},Jt={id:"linux.french",locale:"fr",displayName:"French",virtualLayout:"azerty",platform:"linux",score:0,mapping:{KeyA:["q","Q","@","\u03A9"],KeyB:["b","B","\u201D","\u2019"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\xA2"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0309","\u031B"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:[",","?","\u0301","\u030B"],KeyN:["n","N","n","N"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["a","A","\xE6","\xC6"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201C","\u2018"],KeyW:["z","Z","\xAB","<"],KeyX:["x","X","\xBB",">"],KeyY:["y","Y","\u2190","\xA5"],KeyZ:["w","W","\u0142","\u0141"],Digit1:["&","1","\xB9","\xA1"],Digit2:["\xE9","2","~","\u215B"],Digit3:['"',"3","#","\xA3"],Digit4:["'","4","{","$"],Digit5:["(","5","[","\u215C"],Digit6:["-","6","|","\u215D"],Digit7:["\xE8","7","`","\u215E"],Digit8:["_","8","\\","\u2122"],Digit9:["\xE7","9","^","\xB1"],Digit0:["\xE0","0","@","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:[")","\xB0","]","\xBF"],Equal:["=","+","}","\u0328"],BracketLeft:["\u0302","\u0308","\u0308","\u030A"],BracketRight:["$","\xA3","\xA4","\u0304"],Backslash:["*","\xB5","\u0300","\u0306"],Semicolon:["m","M","\xB5","\xBA"],Quote:["\xF9","%","\u0302","\u030C"],Backquote:["\xB2","~","\xAC","\xAC"],Comma:[";",".","\u2500","\xD7"],Period:[":","/","\xB7","\xF7"],Slash:["!","\xA7","\u0323","\u0307"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"]}},or={id:"apple.german",locale:"de",displayName:"German",virtualLayout:"qwertz",platform:"apple",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\u222B","\u2039"],KeyC:["c","C","\xE7","\xC7"],KeyD:["d","D","\u2202","\u2122"],KeyE:["e","E","\u20AC","\u2030"],KeyF:["f","F","\u0192","\xCF"],KeyG:["g","G","\xA9","\xCC"],KeyH:["h","H","\xAA","\xD3"],KeyI:["i","I","\u2044","\xDB"],KeyJ:["j","J","\xBA","\u0131"],KeyK:["k","K","\u2206","\u02C6"],KeyL:["l","L","@","\uFB02"],KeyM:["m","M","\xB5","\u02D8"],KeyN:["n","N","~","\u203A"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\xAB","\xBB"],KeyR:["r","R","\xAE","\xB8"],KeyS:["s","S","\u201A","\xCD"],KeyT:["t","T","\u2020","\u02DD"],KeyU:["u","U","\xA8","\xC1"],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\u2211","\u201E"],KeyX:["x","X","\u2248","\xD9"],KeyY:["z","Z","\u03A9","\u02C7"],KeyZ:["y","Y","\xA5","\u2021"],Digit1:["1","!","\xA1","\xAC"],Digit2:["2",'"',"\u201C","\u201D"],Digit3:["3","\xA7","\xB6","#"],Digit4:["4","$","\xA2","\xA3"],Digit5:["5","%","[","\uFB01"],Digit6:["6","&","]","^"],Digit7:["7","/","|","\\"],Digit8:["8","(","{","\u02DC"],Digit9:["9",")","}","\xB7"],Digit0:["0","=","\u2260","\xAF"],Space:[" "," "," "," "],Minus:["\xDF","?","\xBF","\u02D9"],Equal:["\xB4","`","'","\u02DA"],BracketLeft:["\xFC","\xDC","\u2022","\xB0"],BracketRight:["+","*","\xB1","\uF8FF"],Backslash:["#","'","\u2018","\u2019"],Semicolon:["\xF6","\xD6","\u0153","\u0152"],Quote:["\xE4","\xC4","\xE6","\xC6"],Backquote:["<",">","\u2264","\u2265"],Comma:[",",";","\u221E","\u02DB"],Period:[".",":","\u2026","\xF7"],Slash:["-","_","\u2013","\u2014"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:[",",",",".","."],IntlBackslash:["^","\xB0","\u201E","\u201C"],NumpadEqual:["=","=","=","="]}},Rr={id:"windows.german",locale:"de",displayName:"German",platform:"windows",virtualLayout:"qwertz",score:0,mapping:{KeyA:["a","A","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:["m","M","\xB5",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["q","Q","@",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["w","W","",""],KeyX:["x","X","",""],KeyY:["z","Z","",""],KeyZ:["y","Y","",""],Digit1:["1","!","",""],Digit2:["2",'"',"\xB2",""],Digit3:["3","\xA7","\xB3",""],Digit4:["4","$","",""],Digit5:["5","%","",""],Digit6:["6","&","",""],Digit7:["7","/","{",""],Digit8:["8","(","[",""],Digit9:["9",")","]",""],Digit0:["0","=","}",""],Space:[" "," ","",""],Minus:["\xDF","?","\\","\u1E9E"],Equal:["\xB4","`","",""],BracketLeft:["\xFC","\xDC","",""],BracketRight:["+","*","~",""],Backslash:["#","'","",""],Semicolon:["\xF6","\xD6","",""],Quote:["\xE4","\xC4","",""],Backquote:["^","\xB0","",""],Comma:[",",";","",""],Period:[".",":","",""],Slash:["-","_","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","|",""]}},ca={id:"linux.german",locale:"de",displayName:"German",platform:"windows",virtualLayout:"qwertz",score:0,mapping:{KeyA:["a","A","\xE6","\xC6"],KeyB:["b","B","\u201C","\u2018"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\u20AC"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0323","\u0307"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:["m","M","\xB5","\xBA"],KeyN:["n","N","\u201D","\u2019"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["q","Q","@","\u03A9"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\u017F","\u1E9E"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201E","\u201A"],KeyW:["w","W","\u0142","\u0141"],KeyX:["x","X","\xAB","\u2039"],KeyY:["z","Z","\u2190","\xA5"],KeyZ:["y","Y","\xBB","\u203A"],Digit1:["1","!","\xB9","\xA1"],Digit2:["2",'"',"\xB2","\u215B"],Digit3:["3","\xA7","\xB3","\xA3"],Digit4:["4","$","\xBC","\xA4"],Digit5:["5","%","\xBD","\u215C"],Digit6:["6","&","\xAC","\u215D"],Digit7:["7","/","{","\u215E"],Digit8:["8","(","[","\u2122"],Digit9:["9",")","]","\xB1"],Digit0:["0","=","}","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:["\xDF","?","\\","\xBF"],Equal:["\u0301","\u0300","\u0327","\u0328"],BracketLeft:["\xFC","\xDC","\u0308","\u030A"],BracketRight:["+","*","~","\xAF"],Backslash:["#","'","\u2019","\u0306"],Semicolon:["\xF6","\xD6","\u030B","\u0323"],Quote:["\xE4","\xC4","\u0302","\u030C"],Backquote:["\u0302","\xB0","\u2032","\u2033"],Comma:[",",";","\xB7","\xD7"],Period:[".",":","\u2026","\xF7"],Slash:["-","_","\u2013","\u2014"],PrintScreen:["","","",""],PageUp:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["","1","","1"],Numpad2:["","2","","2"],Numpad3:["","3","","3"],Numpad4:["","4","","4"],Numpad5:["","5","","5"],Numpad6:["","6","","6"],Numpad7:["","7","","7"],Numpad8:["","8","","8"],Numpad9:["","9","","9"],Numpad0:["","0","","0"],NumpadDecimal:["",",","",","],IntlBackslash:["<",">","|","\u0331"],AltRight:["\r","\r","\r","\r"],MetaRight:[".",".",".","."]}},qi={id:"apple.spanish",locale:"es",displayName:"Spanish ISO",platform:"apple",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\xDF",""],KeyC:["c","C","\xA9"," "],KeyD:["d","D","\u2202","\u2206"],KeyE:["e","E","\u20AC","\u20AC"],KeyF:["f","F","\u0192","\uFB01"],KeyG:["g","G","\uF8FF","\uFB02"],KeyH:["h","H","\u2122"," "],KeyI:["i","I"," "," "],KeyJ:["j","J","\xB6","\xAF"],KeyK:["k","K","\xA7","\u02C7"],KeyL:["l","L"," ","\u02D8"],KeyM:["m","M","\xB5","\u02DA"],KeyN:["n","N"," ","\u02D9"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\u0153","\u0152"],KeyR:["r","R","\xAE"," "],KeyS:["s","S","\u222B"," "],KeyT:["t","T","\u2020","\u2021"],KeyU:["u","U"," "," "],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\xE6","\xC6"],KeyX:["x","X","\u2211","\u203A"],KeyY:["y","Y","\xA5"," "],KeyZ:["z","Z","\u03A9","\u2039"],Digit1:["1","!","|","\u0131"],Digit2:["2",'"',"@","\u02DD"],Digit3:["3","\xB7","#","\u2022"],Digit4:["4","$","\xA2","\xA3"],Digit5:["5","%","\u221E","\u2030"],Digit6:["6","&","\xAC"," "],Digit7:["7","/","\xF7","\u2044"],Digit8:["8","(","\u201C","\u2018"],Digit9:["9",")","\u201D","\u2019"],Digit0:["0","=","\u2260","\u2248"],Space:[" "," "," "," "],Minus:["'","?","\xB4","\xB8"],Equal:["\xA1","\xBF","\u201A","\u02DB"],BracketLeft:["`","^","[","\u02C6"],BracketRight:["+","*","]","\xB1"],Backslash:["\xE7","\xC7","}","\xBB"],Semicolon:["\xF1","\xD1","~","\u02DC"],Quote:["\xB4","\xA8","{","\xAB"],Backquote:["<",">","\u2264","\u2265"],Comma:[",",";","\u201E",""],Period:[".",":","\u2026","\u2026"],Slash:["-","_","\u2013","\u2014"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[",",",",",",","],IntlBackslash:["\xBA","\xAA","\\","\xB0"]}},ga={id:"windows.spanish",locale:"es",displayName:"Spanish",platform:"windows",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:["m","M","",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["q","Q","",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["w","W","",""],KeyX:["x","X","",""],KeyY:["y","Y","",""],KeyZ:["z","Z","",""],Digit1:["1","!","|",""],Digit2:["2",'"',"@",""],Digit3:["3","\xB7","#",""],Digit4:["4","$","~",""],Digit5:["5","%","\u20AC",""],Digit6:["6","&","\xAC",""],Digit7:["7","/","",""],Digit8:["8","(","",""],Digit9:["9",")","",""],Digit0:["0","=","",""],Space:[" "," ","",""],Minus:["'","?","",""],Equal:["\xA1","\xBF","",""],BracketLeft:["`","^","[",""],BracketRight:["+","*","]",""],Backslash:["\xE7","\xC7","}",""],Semicolon:["\xF1","\xD1","",""],Quote:["\xB4","\xA8","{",""],Backquote:["\xBA","\xAA","\\",""],Comma:[",",";","",""],Period:[".",":","",""],Slash:["-","_","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","",""]}},pa={id:"linux.spanish",locale:"es",displayName:"Spanish",platform:"linux",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","\xE6","\xC6"],KeyB:["b","B","\u201D","\u2019"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\xA2"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0309","\u031B"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:["m","M","\xB5","\xBA"],KeyN:["n","N","n","N"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["q","Q","@","\u03A9"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201C","\u2018"],KeyW:["w","W","\u0142","\u0141"],KeyX:["x","X","\xBB",">"],KeyY:["y","Y","\u2190","\xA5"],KeyZ:["z","Z","\xAB","<"],Digit1:["1","!","|","\xA1"],Digit2:["2",'"',"@","\u215B"],Digit3:["3","\xB7","#","\xA3"],Digit4:["4","$","~","$"],Digit5:["5","%","\xBD","\u215C"],Digit6:["6","&","\xAC","\u215D"],Digit7:["7","/","{","\u215E"],Digit8:["8","(","[","\u2122"],Digit9:["9",")","]","\xB1"],Digit0:["0","=","}","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:["'","?","\\","\xBF"],Equal:["\xA1","\xBF","\u0303","~"],BracketLeft:["\u0300","\u0302","[","\u030A"],BracketRight:["+","*","]","\u0304"],Backslash:["\xE7","\xC7","}","\u0306"],Semicolon:["\xF1","\xD1","~","\u030B"],Quote:["\u0301","\u0308","{","{"],Backquote:["\xBA","\xAA","\\","\\"],Comma:[",",";","\u2500","\xD7"],Period:[".",":","\xB7","\xF7"],Slash:["-","_","\u0323","\u0307"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadEnter:["\r","\r","\r","\r"],Numpad1:["","1","","1"],Numpad2:["","2","","2"],Numpad3:["","3","","3"],Numpad4:["","4","","4"],Numpad5:["","5","","5"],Numpad6:["","6","","6"],Numpad7:["","7","","7"],Numpad8:["","8","","8"],Numpad9:["","9","","9"],Numpad0:["","0","","0"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"],NumpadEqual:["=","=","=","="],NumpadComma:[".",".",".","."],NumpadParenLeft:["(","(","(","("],NumpadParenRight:[")",")",")",")"]}};function Da(a){const y=a.split("+"),b={shift:!1,alt:!1,cmd:!1,win:!1,meta:!1,ctrl:!1,key:y.pop()};return y.includes("shift")&&(b.shift=!0),y.includes("alt")&&(b.alt=!0),y.includes("ctrl")&&(b.ctrl=!0),y.includes("cmd")&&(b.cmd=!0),y.includes("win")&&(b.win=!0),y.includes("meta")&&(b.meta=!0),b}function fi(a){let y="";return a.shift&&(y+="shift+"),a.alt&&(y+="alt+"),a.ctrl&&(y+="ctrl+"),a.cmd&&(y+="cmd+"),a.win&&(y+="win+"),a.meta&&(y+="meta+"),y+a.key}var Pi={enter:"[Enter]",escape:"[Escape]",backspace:"[Backspace]",tab:"[Tab]",space:"[Space]",pausebreak:"[Pause]",insert:"[Insert]",home:"[Home]",pageup:"[PageUp]",delete:"[Delete]",end:"[End]",pagedown:"[PageDown]",right:"[ArrowRight]",left:"[ArrowLeft]",down:"[ArrowDown]",up:"[ArrowUp]",numpad0:"[Numpad0]",numpad1:"[Numpad1]",numpad2:"[Numpad2]",numpad3:"[Numpad3]",numpad4:"[Numpad4]",numpad5:"[Numpad5]",numpad6:"[Numpad6]",numpad7:"[Numpad7]",numpad8:"[Numpad8]",numpad9:"[Numpad9]",numpad_divide:"[NumpadDivide]",numpad_multiply:"[NumpadMultiply]",numpad_subtract:"[NumpadSubtract]",numpad_add:"[NumpadAdd]",numpad_decimal:"[NumpadDecimal]",numpad_separator:"[NumpadComma]",capslock:"[Capslock]",f1:"[F1]",f2:"[F2]",f3:"[F3]",f4:"[F4]",f5:"[F5]",f6:"[F6]",f7:"[F7]",f8:"[F8]",f9:"[F9]",f10:"[F10]",f11:"[F11]",f12:"[F12]",f13:"[F13]",f14:"[F14]",f15:"[F15]",f16:"[F16]",f17:"[F17]",f18:"[F18]",f19:"[F19]"},_i=[],Ea;function No(){switch(St()){case"macos":case"ios":return"apple";case"windows":return"windows"}return"linux"}function va(a){(!a.platform||a.platform===No())&&_i.push(a)}function da(a,y){var b;const E={shift:!1,alt:!1,cmd:!1,win:!1,meta:!1,ctrl:!1,key:""};if(!a)return E;for(const[te,oe]of Object.entries(y.mapping)){if(oe[0]===a)return E.key=`[${te}]`,E;if(oe[1]===a)return E.shift=!0,E.key=`[${te}]`,E;if(oe[2]===a)return E.alt=!0,E.key=`[${te}]`,E;if(oe[3]===a)return E.shift=!0,E.alt=!0,E.key=`[${te}]`,E}return E.key=(b=Pi[a])!=null?b:"",E}function Lo(a){if(a.code)return a;const y=Object.entries(Vi().mapping);let b=!1,E=!1,te="";for(let oe=0;oe<4;oe++){for(const[ue,Ae]of y)if(Ae[oe]===a.key){te=ue,oe===3?(b=!0,E=!0):oe===2?b=!0:oe===1&&(E=!0);break}if(te)break}return new KeyboardEvent(a.type,He(Se({},a),{altKey:b,shiftKey:E,code:te}))}function $r(a){var y,b;if(!a||a.key==="Unidentified"||a.key==="Dead")return;const E=a.shiftKey&&a.altKey?3:a.altKey?2:a.shiftKey?1:0;for(const te of _i)((y=te.mapping[a.code])==null?void 0:y[E])===a.key?te.score+=1:(b=te.mapping[a.code])!=null&&b[E]&&(te.score=0);_i.sort((te,oe)=>oe.score-te.score)}function $i(a){Ea=_i.find(y=>a.startsWith(y.locale))}function Vi(){return Ea!=null?Ea:_i[0]}function ja(){switch(No()){case"apple":return Ft;case"windows":return Rn;case"linux":return zr}return Ft}switch(No()){case"apple":va(Ft),va(Hr),va(qi),va(or);break;case"windows":va(Rn),va(En),va(ga),va(Rr);break;case"linux":va(zr),va(Jt),va(pa),va(ca);break}va(be);function Aa(a){var y;const b=/macos|ios/.test(St()),E=a.split("+");let te="";for(const oe of E)te&&(te+=b?"\u2009":'+'),oe.startsWith("[Key")?te+=oe.slice(4,5):oe.startsWith("Key")?te+=oe.slice(3,4):oe.startsWith("[Digit")?te+=oe.slice(6,7):oe.startsWith("Digit")?te+=oe.slice(5,6):te+=(y={cmd:"\u2318",meta:b?"\u2318":"Ctrl",shift:b?"\u21E7":"Shift",alt:b?"\u2325":"Alt",ctrl:b?"\u2303":"Ctrl","\n":b?"\u23CE":"Return","[return]":b?"\u23CE":"Return","[enter]":b?"\u2324":"Enter","[tab]":b?"\u21E5":"Tab","[escape]":"Esc","[backspace]":b?"\u232B":"Backspace","[delete]":b?"\u2326":"Del","[pageup]":b?"\u21DE":"Page Up","[pagedown]":b?"\u21DF":"Page Down","[home]":b?"\u2912":"Home","[end]":b?"\u2913":"End","[space]":"Space","[equal]":"=","[minus]":"-","[comma]":",","[slash]":"/","[backslash]":"\\","[bracketleft]":"[","[bracketright]":"]",semicolon:";",period:".",comma:",",minus:"-",equal:"=",quote:"'",backslash:"\\",intlbackslash:"\\",backquote:"`",slash:"/",numpadmultiply:"* 🔢",numpaddivide:"/ 🔢",numpadsubtract:"- 🔢",numpadadd:"+ 🔢",numpaddecimal:". 🔢",numpadcomma:", 🔢",help:"help",left:"\u21E0",up:"\u21E1",right:"\u21E2",down:"\u21E3","[arrowleft]":"\u21E0","[arrowup]":"\u21E1","[arrowright]":"\u21E2","[arrowdown]":"\u21E3"}[oe.toLowerCase()])!=null?y:oe.toUpperCase();return te}function Ll(a){if(a instanceof MouseEvent||a instanceof PointerEvent)return{x:a.clientX,y:a.clientY};if(a instanceof TouchEvent){const y=[...a.touches].reduce((E,te)=>({x:E.x+te.clientX,y:E.y+te.clientY}),{x:0,y:0}),b=a.touches.length;return{x:y.x/b,y:y.y/b}}}function Ol(a){const y={alt:!1,control:!1,shift:!1,meta:!1};return(a instanceof MouseEvent||a instanceof PointerEvent||a instanceof TouchEvent||a instanceof KeyboardEvent)&&(a.altKey&&(y.alt=!0),a.ctrlKey&&(y.control=!0),a.metaKey&&(y.meta=!0),a.shiftKey&&(y.shift=!0)),y}function Eo(a,y){return!a&&y||a&&!y?!1:!a||!y?!0:a.alt===y.alt&&a.control===y.control&&a.shift===y.shift&&a.meta===y.meta}var Xs=new Set(["Backquote","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","Minus","Equal","IntlYen","KeyQ","KeyW","KeyE","KeyR","KeyT","KeyY","KeyU","KeyI","KeyO","KeyP","BracketLeft","BracketRight","Backslash","KeyA","KeyS","KeyD","KeyF","KeyG","KeyH","KeyJ","KeyK","KeyL","Semicolon","Quote","IntlBackslash","KeyZ","KeyX","KeyC","KeyV","KeyB","KeyN","KeyM","Comma","Period","Slash","IntlRo","Space","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadEqual","NumpadHash","NumpadMultiply","NumpadParenLeft","NumpadParenRight","NumpadStar","NumpadSubstract"]);function Wo(a){return a.ctrlKey||a.metaKey||["Dead","Process"].includes(a.key)?!1:a.code===""?!0:Xs.has(a.code)}function Ao(){var a;let y=document.activeElement;for(;(a=y==null?void 0:y.shadowRoot)!=null&&a.activeElement;)y=y.shadowRoot.activeElement;return y}var Mi=class L0{static get scrim(){return L0._scrim||(L0._scrim=new L0),L0._scrim}static open(y){L0.scrim.open(y)}static close(){L0.scrim.close()}static get state(){return L0.scrim.state}static get element(){return L0.scrim.element}constructor(y){var b,E;this.lightDismiss=(b=y==null?void 0:y.lightDismiss)!=null?b:!0,this.translucent=(E=y==null?void 0:y.translucent)!=null?E:!1,this.state="closed"}get element(){if(this._element)return this._element;const y=document.createElement("div");return y.setAttribute("role","presentation"),y.style.position="fixed",y.style.contain="content",y.style.top="0",y.style.left="0",y.style.right="0",y.style.bottom="0",y.style.zIndex="var(--scrim-zindex, 10099)",y.style.outline="none",this.translucent?(y.style.background="rgba(255, 255, 255, .2)",y.style.backdropFilter="contrast(40%)"):y.style.background="transparent",this._element=y,y}open(y){var b;if(this.state!=="closed")return;this.state="opening",this.onDismiss=y==null?void 0:y.onDismiss,this.savedActiveElement=Ao();const{element:E}=this;((b=y==null?void 0:y.root)!=null?b:document.body).appendChild(E),E.addEventListener("click",this),document.addEventListener("touchmove",this,!1),document.addEventListener("scroll",this,!1);const te=window.innerWidth-document.documentElement.clientWidth;this.savedMarginRight=document.body.style.marginRight,this.savedOverflow=document.body.style.overflow,document.body.style.overflow="hidden";const oe=Number.parseFloat(getComputedStyle(document.body).marginRight);document.body.style.marginRight=`${oe+te}px`,y!=null&&y.child&&E.append(y.child),this.state="open"}close(){var y,b,E,te;if(this.state!=="open"){console.assert(this.element.parentElement!==null);return}this.state="closing",typeof this.onDismiss=="function"&&this.onDismiss(),this.onDismiss=void 0;const{element:oe}=this;oe.removeEventListener("click",this),document.removeEventListener("touchmove",this,!1),document.removeEventListener("scroll",this,!1),oe.remove(),document.body.style.overflow=(y=this.savedOverflow)!=null?y:"",document.body.style.marginRight=(b=this.savedMarginRight)!=null?b:"",Ao()!==this.savedActiveElement&&((te=(E=this.savedActiveElement)==null?void 0:E.focus)==null||te.call(E)),oe.innerHTML="",this.state="closed"}handleEvent(y){this.lightDismiss&&(y.target===this._element&&y.type==="click"?(this.close(),y.preventDefault(),y.stopPropagation()):y.target===document&&(y.type==="touchmove"||y.type==="scroll")&&(this.close(),y.preventDefault(),y.stopPropagation()))}};function el(a,y,b){let E=null,te=null,oe=!1,ue=!1,Ae=!1;const Ee=new AbortController,Ne=Ee.signal;return a.addEventListener("keydown",Ge=>{if(oe||Ge.key==="Process"||Ge.code==="CapsLock"||/(Control|Meta|Alt|Shift)(Left|Right)/.test(Ge.code)){E=null;return}E=Ge,te=null,b.onKeystroke(Ge)?a.textContent="":E=null},{capture:!0,signal:Ne}),a.addEventListener("keypress",Ge=>{oe||(E&&te&&b.onKeystroke(E),te=Ge)},{capture:!0,signal:Ne}),a.addEventListener("compositionstart",Ge=>{a.textContent="",oe=!0,b.onCompositionStart(Ge.data)},{capture:!0,signal:Ne}),a.addEventListener("compositionupdate",Ge=>{oe&&b.onCompositionUpdate(Ge.data)},{capture:!0,signal:Ne}),a.addEventListener("compositionend",Ge=>{a.textContent="",oe&&(oe=!1,b.onCompositionEnd(Ge.data))},{capture:!0,signal:Ne}),a.addEventListener("beforeinput",Ge=>Ge.stopImmediatePropagation(),{signal:Ne}),a.addEventListener("input",Ge=>{var gt;if(!oe&&(a.textContent="",Ge.inputType!=="insertCompositionText")){if(Ge.inputType==="insertFromPaste"){Ge.preventDefault(),Ge.stopPropagation();return}b.onInput((gt=Ge.data)!=null?gt:""),Ge.preventDefault(),Ge.stopPropagation()}},{signal:Ne}),a.addEventListener("paste",Ge=>{a.focus({preventScroll:!0}),a.textContent="",b.onPaste(Ge)||Ge.preventDefault(),Ge.stopImmediatePropagation()},{signal:Ne}),a.addEventListener("cut",Ge=>b.onCut(Ge),{capture:!0,signal:Ne}),a.addEventListener("copy",Ge=>b.onCopy(Ge),{capture:!0,signal:Ne}),a.addEventListener("blur",Ge=>{var gt,$t;if((($t=(gt=Ge.relatedTarget)==null?void 0:gt._mathfield)==null?void 0:$t.element)===y){a.focus({preventScroll:!0}),Ge.preventDefault(),Ge.stopPropagation();return}const kn=Mi.state;if(kn==="open"||kn==="opening"){Ge.preventDefault(),Ge.stopPropagation();return}if(Ge.relatedTarget===Ge.target.getRootNode().host){Ge.preventDefault(),Ge.stopPropagation();return}Ae||ue||(Ae=!0,E=null,te=null,b.onBlur(),Ae=!1)},{capture:!0,signal:Ne}),a.addEventListener("focus",Ge=>{Ae||ue||(ue=!0,b.onFocus(),ue=!1)},{capture:!0,signal:Ne}),{dispose:()=>Ee.abort(),cancelComposition:()=>{oe&&(a.blur(),requestAnimationFrame(()=>a.focus({preventScroll:!0})))},blur:()=>{typeof a.blur=="function"&&a.blur()},focus:()=>{!ue&&typeof a.focus=="function"&&a.focus({preventScroll:!0})},hasFocus:()=>Ao()===a,setAriaLabel:Ge=>a.setAttribute("aria-label",Ge),setValue:Ge=>{var gt;a.textContent=Ge,a.style.left="-1000px",(gt=window.getSelection())==null||gt.selectAllChildren(a)},moveTo:(Ge,gt)=>{a.style.top=`${gt}px`,a.style.left=`${Ge}px`}}}function Ui(a){var y;if(!a||!Wo(a))return"";let b;return a.key==="Unidentified"&&a.target&&(b=a.target.value),b=(y=b!=null?b:a.key)!=null?y:a.code,/^(Dead|Return|Enter|Tab|Escape|Delete|PageUp|PageDown|Home|End|Help|ArrowLeft|ArrowRight|ArrowUp|ArrowDown)$/.test(b)&&(b=""),b}function aa(a){a=Lo(a);const y=[];return a.ctrlKey&&y.push("ctrl"),a.metaKey&&y.push("meta"),a.altKey&&y.push("alt"),a.shiftKey&&y.push("shift"),y.length===0?`[${a.code}]`:(y.push(`[${a.code}]`),y.join("+"))}function Wa(a){if(ot()){const y=St(),b=a.startsWith("!"),E=a.endsWith(y);if(b&&!E||!b&&E)return!0}return a==="!other"?!1:a==="other"}function Il(a,y,b){if(a.length===0)return"";const E=fi(Da(aa(b))),te=fi({key:b.key,shift:b.shiftKey,alt:b.altKey,ctrl:b.ctrlKey,meta:b.metaKey||b.ctrlKey&&/macos|ios/.test(St()),cmd:!1,win:!1});for(let oe=a.length-1;oe>=0;oe--)if((a[oe].key===E||a[oe].key===te)&&(!a[oe].ifMode||a[oe].ifMode===y))return a[oe].command;return""}function fl(a){let y=a;return ut(y)&&(y=y.length>0?y[0]+"("+y.slice(1).join("")+")":""),y}function Pl(a,y){let b=[];if(typeof y=="string"){const oe=A0[y];ut(oe)?b=oe.slice():oe&&b.push(oe)}const E=fl(y),te=new RegExp("^"+E.replace("\\","\\\\").replace("|","\\|").replace("*","\\*").replace("$","\\$").replace("^","\\^")+"([^*a-zA-Z]|$)");for(const oe of a)te.test(fl(oe.command))&&b.push(oe.key);return b.map(Aa)}function _l(a,y){if(a.ifPlatform&&!/^!?(macos|windows|android|ios|chromeos|other)$/.test(a.ifPlatform))throw new Error(`Unexpected platform "${a.ifPlatform}" for keybinding ${a.key}`);if(a.ifLayout!==void 0&&(y.score===0||!a.ifLayout.includes(y.id)))return;const b=Da(a.key);let E=a.ifPlatform;if(b.cmd){if(E&&E!=="macos"&&E!=="ios")throw new Error('Unexpected "cmd" modifier with platform "'+E+`" +"cmd" modifier can only be used with macOS or iOS platform.`);E||(E=St()==="ios"?"ios":"macos"),b.win=!1,b.cmd=!1,b.meta=!0}if(b.win){if(E&&E!=="windows")throw new Error('Unexpected "win" modifier with platform "'+E+`" +"win" modifier can only be used with Windows platform.`);E="windows",b.win=!1,b.cmd=!1,b.meta=!0}if(E&&!Wa(E))return;if(/^\[.+\]$/.test(b.key))return He(Se({},a),{key:fi(b)});const te=da(b.key,y);if(!te)return He(Se({},a),{key:fi(b)});if(te.shift&&b.shift||te.alt&&b.alt)throw new Error(`The keybinding ${a.key} (${Dl(a.command)}) is conflicting with the key combination ${fi(te)} using the ${y.displayName} keyboard layout`);return te.shift=te.shift||b.shift,te.alt=te.alt||b.alt,te.meta=b.meta,te.ctrl=b.ctrl,He(Se({},a),{key:fi(te)})}function Dl(a){if(Array.isArray(a)){const y=[...a];return y.shift()+"("+y.map(b=>typeof b=="string"?`"${b}"`:b.toString()).join(", ")+")"}return a}function El(a,y){const b=[],E=[];for(const te of a)try{const oe=_l(te,y);if(!oe)continue;const ue=E.find(Ae=>Ae.key===oe.key&&Ae.ifMode===oe.ifMode);if(ue)throw new Error(`Ambiguous key binding ${te.key} (${Dl(te.command)}) matches ${ue.key} (${Dl(ue.command)}) with the ${y.displayName} keyboard layout`);E.push(oe)}catch(oe){oe instanceof Error&&b.push(oe.message)}return[E,b]}var Ns=class extends Os{constructor(){super("latex")}createAtom(a){return new cs(a)}onPaste(a,y){if(!y)return!1;const b=typeof y=="string"?y:y.getData("application/x-latex")||y.getData("text/plain");return b&&a.model.contentWillChange({inputType:"insertFromPaste",data:b})?(a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,b)&&(a.startRecording(),a.snapshot("paste"),a.model.contentDidChange({inputType:"insertFromPaste"}),ju(a)),a.startRecording(),!0):!1}insert(a,y,b){if(!a.contentWillChange({data:y,inputType:"insertText"}))return!1;b||(b={}),b.insertionMode||(b.insertionMode="replaceSelection"),b.selectionMode||(b.selectionMode="placeholder");const{silenceNotifications:E}=a;b.silenceNotifications&&(a.silenceNotifications=!0);const te=a.silenceNotifications;a.silenceNotifications=!0,b.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Sc(a.selection)):b.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):b.insertionMode==="insertBefore"?a.collapseSelection("backward"):b.insertionMode==="insertAfter"&&a.collapseSelection("forward");const oe=[];for(const Ee of y)he.test(Ee)&&oe.push(new cs(Ee));let ue=a.at(a.position);if(ue instanceof dc&&(ue=ue.lastChild),!(ue.parent instanceof dc)){const Ee=new dc("");ue.parent.addChildAfter(Ee,ue),ue=Ee.firstChild}const Ae=ue.parent.addChildrenAfter(oe,ue);return a.silenceNotifications=te,b.selectionMode==="before"||(b.selectionMode==="item"?a.setSelection(a.anchor,a.offsetOf(Ae)):Ae&&(a.position=a.offsetOf(Ae))),a.contentDidChange({data:y,inputType:"insertText"}),a.silenceNotifications=E,!0}};function Es(a){return a.atoms.find(y=>y.type==="latexgroup")}function tu(a){var y,b;const E=a.atoms.find(te=>te.type==="latexgroup");return E?(b=(y=E.body)==null?void 0:y.filter(te=>te.type==="latex"))!=null?b:[]:[]}function Ec(a,y){var b;let E=0,te=!1;const oe=Number.isFinite(y==null?void 0:y.before)?(b=y==null?void 0:y.before)!=null?b:0:a.lastOffset;for(;E<=oe&&!te;){const Ee=a.at(E);te=Ee instanceof cs&&Ee.isSuggestion,te||E++}if(!te)return[void 0,void 0];let ue=E,Ae=!1;for(;ue<=oe&&!Ae;){const Ee=a.at(ue);Ae=!(Ee instanceof cs&&Ee.isSuggestion),Ae||ue++}return[E-1,ue-1]}new Ns;function Lu(a){const y=tu(a.model).filter(b=>b.isSuggestion);if(y.length!==0){a.model.position=a.model.offsetOf(y[0].leftSibling);for(const b of y)b.parent.removeChild(b)}}function Bc(a,y){var b;const{model:E}=a;Lu(a);for(const Ge of tu(E))Ge.isError=!1;if(!E.selectionIsCollapsed||a.options.popoverPolicy==="off"){Gf(a);return}const te=[];let oe=E.at(E.position);for(;oe&&oe instanceof cs&&/^[a-zA-Z\*]$/.test(oe.value);)oe=oe.leftSibling;if(oe&&oe instanceof cs&&oe.value==="\\")for(te.push(oe),oe=oe.rightSibling;oe&&oe instanceof cs&&/^[a-zA-Z\*]$/.test(oe.value);)te.push(oe),oe=oe.rightSibling;const ue=te.map(Ge=>Ge.value).join(""),Ae=xt(a,ue);if(Ae.length===0){if(/^\\[a-zA-Z\*]+$/.test(ue))for(const Ge of te)Ge.isError=!0;Gf(a);return}const Ee=(b=y==null?void 0:y.atIndex)!=null?b:0;a.suggestionIndex=Ee<0?Ae.length-1:Ee%Ae.length;const Ne=Ae[a.suggestionIndex];if(Ne!==ue){const Ge=te[te.length-1];Ge.parent.addChildrenAfter([...Ne.slice(ue.length-Ne.length)].map(gt=>new cs(gt,{isSuggestion:!0})),Ge),Df(a,{interactive:!0})}of(a,Ae)}function jc(a){const[y,b]=Ec(a,{before:a.position});if(y===void 0||b===void 0)return!1;let E=!1;return a.getAtoms([y,b]).forEach(te=>{te.isSuggestion&&(te.isSuggestion=!1,E=!0)}),E}function Td(a,y="accept",b){var E,te;Gf(a);const oe=Es(a.model);if(!oe)return!1;if(y==="accept-suggestion"||y==="accept-all"){const Ne=tu(a.model).filter(Ge=>Ge.isSuggestion);if(Ne.length!==0){for(const Ge of Ne)Ge.isSuggestion=!1;a.model.position=a.model.offsetOf(Ne[Ne.length-1])}if(y==="accept-suggestion")return Ne.length!==0}const Ae=tu(a.model).filter(Ne=>!Ne.isSuggestion).map(Ne=>Ne.value).join(""),Ee=oe.leftSibling;return oe.parent.removeChild(oe),a.model.position=a.model.offsetOf(Ee),a.switchMode((E=b==null?void 0:b.mode)!=null?E:"math"),y==="reject"||(Os.insert(a.model,Ae,{selectionMode:(te=b==null?void 0:b.selectItem)!=null&&te?"item":"placeholder",format:"latex",mode:"math"}),a.snapshot(),a.model.announce("replacement"),a.switchMode("math")),!0}function Pd(a){var y;let b=document.getElementById(a);return b?b.dataset.refcount=Number(Number.parseInt((y=b.dataset.refcount)!=null?y:"0")+1).toString():(b=document.createElement("div"),b.setAttribute("aria-hidden","true"),b.dataset.refcount="1",b.id=a,document.body.append(b)),b}function Of(a){var y;const b=document.getElementById(a);if(!b)return;const E=Number.parseInt((y=b.getAttribute("data-refcount"))!=null?y:"0");E<=1?b.remove():b.dataset.refcount=Number(E-1).toString()}function yf(a,y){const b=new vu({from:a.context}),E=new Ti({mode:"math",type:"root",body:hn(y,{context:b})}),te=Nd(rf(new za(E.render(b),{classes:"ML__base"}),b));return hf(te,{classes:"ML__latex"}).toMarkup()}function of(a,y){var b;if(y.length===0){Gf(a);return}let E="";for(const[oe,ue]of y.entries()){const Ae=ue,Ee=yf(a,ue),Ne=Pl(a.keybindings,Ae).join("
    ");E+=`
  • ${Ae}${Ee}`,Ne&&(E+=`${Ne}`),E+="
  • "}const te=Uf(a,`
      ${E}
    `);Gd()&&((b=te.querySelector(".ML__popover__current"))==null||b.scrollIntoView({block:"nearest",inline:"nearest"})),setTimeout(()=>{var oe;te&&!Gd()&&(te.classList.add("is-visible"),Dd(a),(oe=te.querySelector(".ML__popover__current"))==null||oe.scrollIntoView({block:"nearest",inline:"nearest"}))},32)}function Gd(){const a=document.getElementById("mathlive-suggestion-popover");return a?a.classList.contains("is-visible"):!1}function Dd(a,y){var b;if(!a.element||a.element.mathfield!==a||!Gd())return;if(((b=a.model.at(a.model.position))==null?void 0:b.type)!=="latex"){Gf(a);return}if(y!=null&&y.deferred){setTimeout(()=>Dd(a),32);return}const E=Qd(a.field);if(!E)return;const te=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,oe=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,ue=window.innerWidth-document.documentElement.clientWidth,Ae=window.innerHeight-document.documentElement.clientHeight,Ee=window.mathVirtualKeyboard.boundingRect.height,Ne=document.getElementById("mathlive-suggestion-popover");E.x+Ne.offsetWidth/2>oe-ue?Ne.style.left=`${oe-Ne.offsetWidth-ue}px`:E.x-Ne.offsetWidth/2<0?Ne.style.left="0":Ne.style.left=`${E.x-Ne.offsetWidth/2}px`;const Ge=E.y-E.height;te-Ae-Ee-E.yE.preventDefault()),b.addEventListener("click",E=>{let te=E.target;for(;te&&!te.dataset.command;)te=te.parentElement;te&&(Td(a,"reject"),Os.insert(a.model,te.dataset.command,{selectionMode:"placeholder",format:"latex",mode:"math"}),a.dirty=!0,a.focus())})),b.innerHTML=window.MathfieldElement.createHTML(y),b}function q0(){document.getElementById("mathlive-suggestion-popover")&&(Of("mathlive-suggestion-popover"),x("suggestion-popover"),x("core"))}function hl(){const a=String(new Error().stack).replace(/^Error.*\n/,"").split(` +`);if(a.length===0)return console.error(`Can't use relative paths to specify assets location because the sourcefile location could not be determined (unexpected stack trace format "${new Error().stack}").`),"";let y=a[1],b=y.match(/http.*\.ts[\?:]/);return b&&(y=a[2]),b=y.match(/(https?:.*):[0-9]+:[0-9]+/),b||(b=y.match(/at (.*(\.ts))[\?:]/),b||(b=y.match(/at (.*(\.mjs|\.js))[\?:]/))),b?b[1]:(console.error(a),console.error(`Can't use relative paths to specify assets location because the source file location could not be determined (unexpected location "${y}").`),"")}var Ou=null,Ad,Ud,Pf=((Ud=(Ad=globalThis==null?void 0:globalThis.document)==null?void 0:Ad.currentScript)==null?void 0:Ud.src)||hl();function bf(a){return G0(this,null,function*(){if(/^(?:[a-z+]+:)?\/\//i.test(a))return new URL(a).href;if(Ou===null)try{const y=yield fetch(Pf,{method:"HEAD"});y.status===200&&(Ou=y.url)}catch(y){console.error(`Invalid URL "${a}" (relative to "${Pf}")`)}return new URL(a,Ou!=null?Ou:Pf).href})}function S0(a,y,b={}){return new FontFace(a,`url(${y}.woff2) format('woff2')`,b)}var Lc="not-loaded";function Sd(){return G0(this,null,function*(){return Lc="not-loaded",Kc()})}function Kc(){return G0(this,null,function*(){var a;if(Lc!=="not-loaded")return;if(Lc="loading",(a=getComputedStyle(document.documentElement).getPropertyValue("--ML__static-fonts"))!=null?a:!1){Lc="ready";return}if(document.body.classList.remove("ML__fonts-did-not-load"),"fonts"in document){const b=["KaTeX_Main","KaTeX_Math","KaTeX_AMS","KaTeX_Caligraphic","KaTeX_Fraktur","KaTeX_SansSerif","KaTeX_Script","KaTeX_Typewriter","KaTeX_Size1","KaTeX_Size2","KaTeX_Size3","KaTeX_Size4"],E=Array.from(document.fonts).map(ue=>ue.family);if(b.every(ue=>E.includes(ue))){Lc="ready";return}if(!window.MathfieldElement.fontsDirectory){Lc="not-loaded";return}const te=yield bf(window.MathfieldElement.fontsDirectory);if(!te){document.body.classList.add("ML__fonts-did-not-load"),Lc="error";return}const oe=[["KaTeX_Main-Regular"],["KaTeX_Main-BoldItalic",{style:"italic",weight:"bold"}],["KaTeX_Main-Bold",{weight:"bold"}],["KaTeX_Main-Italic",{style:"italic"}],["KaTeX_Math-Italic",{style:"italic"}],["KaTeX_Math-BoldItalic",{style:"italic",weight:"bold"}],["KaTeX_AMS-Regular"],["KaTeX_Caligraphic-Regular"],["KaTeX_Caligraphic-Bold",{weight:"bold"}],["KaTeX_Fraktur-Regular"],["KaTeX_Fraktur-Bold",{weight:"bold"}],["KaTeX_SansSerif-Regular"],["KaTeX_SansSerif-Bold",{weight:"bold"}],["KaTeX_SansSerif-Italic",{style:"italic"}],["KaTeX_Script-Regular"],["KaTeX_Typewriter-Regular"],["KaTeX_Size1-Regular"],["KaTeX_Size2-Regular"],["KaTeX_Size3-Regular"],["KaTeX_Size4-Regular"]].map(ue=>S0(ue[0].replace(/-[a-zA-Z]+$/,""),`${te}/${ue[0]}`,ue[1]));try{(yield Promise.all(oe.map(Ae=>{try{return Ae.load()}catch(Ee){}}))).forEach(Ae=>document.fonts.add(Ae)),Lc="ready";return}catch(ue){console.error(`MathLive 0.98.5: The math fonts could not be loaded from "${te}"`,{cause:ue}),document.body.classList.add("ML__fonts-did-not-load")}Lc="error"}})}function nu(a){let y=0;for(let b=0;b{Ed(a)&&a.dirty&&(a.atomBoundsCache=new Map,Df(a,y),a.atomBoundsCache=void 0)})))}function _0(a,y){var b;y=y!=null?y:{};const E=new vu({from:He(Se({},a.context),{atomIdsSettings:{seed:y.forHighlighting?nu(Ti.serialize([a.model.root],{expandMacro:!1,defaultMode:a.options.defaultMode})):"random",groupNumbers:(b=y.forHighlighting)!=null?b:!1},letterShapeStyle:a.options.letterShapeStyle}),mathstyle:a.options.defaultMode==="inline-math"?"textstyle":"displaystyle"}),te=a.model.root.render(E);return hf(rf(te,E),{classes:a.hasEditablePrompts?"ML__latex ML__prompting":"ML__latex",attributes:{translate:"no","aria-hidden":"true"}})}function $0(a,y){const{model:b}=a;b.root.caret=void 0,b.root.isSelected=!1,b.root.containsCaret=!0;for(const te of b.atoms)te.caret=void 0,te.isSelected=!1,te.containsCaret=!1;if(b.selectionIsCollapsed){const te=b.at(b.position);te.caret=a.model.mode;let oe=te.parent;for(;oe;)oe.containsCaret=!0,oe=oe.parent}else{const te=b.getAtoms(b.selection,{includeChildren:!0});for(const oe of te)oe.isSelected=!0}return _0(a,y).toMarkup()}function Df(a,y){if(!Ed(a))return;y!=null||(y={});const b=a.element.querySelector("[part=virtual-keyboard-toggle]");b&&(b.style.display=a.hasEditableContent?"":"none");const E=a.field;if(!E)return;const te=a.isSelectionEditable&&a.hasFocus(),oe=E.classList.contains("ML__focused");oe&&!te?E.classList.remove("ML__focused"):!oe&&te&&E.classList.add("ML__focused");let ue=$0(a,y);const Ae=a.element.querySelector("[part=menu-toggle]");if(Ae&&(a.model.atoms.length<=1||a.disabled||a.readOnly&&!a.hasEditableContent||a.userSelect==="none"?Ae.style.display="none":Ae.style.display=""),a.model.atoms.length<=1){const Ee=a.options.contentPlaceholder;Ee&&(ue+=`${ud(Ee)}`)}E.innerHTML=window.MathfieldElement.createHTML(ue),M0(a,y.interactive),a.dirty=!1}function M0(a,y){const b=a.field;if(!b)return;for(const Ae of b.querySelectorAll(".ML__selection, .ML__contains-highlight"))Ae.remove();!(y!=null&&y)&&Lc!=="error"&&Lc!=="ready"&&setTimeout(()=>{Lc==="ready"?M0(a):setTimeout(()=>M0(a),128)},32);const E=a.model,te=b.offsetWidth,oe=b.getBoundingClientRect().width;let ue=Math.floor(oe)/te;if(ue=isNaN(ue)?1:ue,E.selectionIsCollapsed){Dd(a,{deferred:!0});let Ae=E.at(E.position);for(;Ae&&Ae.type!=="prompt"&&!(Ae.containsCaret&&Ae.displayContainsHighlight);)Ae=Ae.parent;if(Ae!=null&&Ae.containsCaret&&Ae.displayContainsHighlight){const Ee=b0(a,vd(a,Ae),ue);if(Ee){Ee.left/=ue,Ee.right/=ue,Ee.top/=ue,Ee.bottom/=ue;const Ne=document.createElement("div");Ne.classList.add("ML__contains-highlight"),Ne.style.position="absolute",Ne.style.left=`${Ee.left+1}px`,Ne.style.top=`${Math.ceil(Ee.top)}px`,Ne.style.width=`${Math.ceil(Ee.right-Ee.left)}px`,Ne.style.height=`${Math.ceil(Ee.bottom-Ee.top)}px`,b.insertBefore(Ne,b.childNodes[0])}}return}for(const Ae of Yd(w0(a,{excludeAtomsWithBackground:!0}))){Ae.left/=ue,Ae.right/=ue,Ae.top/=ue,Ae.bottom/=ue;const Ee=document.createElement("div");Ee.classList.add("ML__selection"),Ee.style.position="absolute",Ee.style.left=`${Ae.left}px`,Ee.style.top=`${Ae.top}px`,Ee.style.width=`${Math.ceil(Ae.right-Ae.left)}px`,Ee.style.height=`${Math.ceil(Ae.bottom-Ae.top-1)}px`,b.insertBefore(Ee,b.childNodes[0])}}function Yd(a){let y=[];for(const b of a){let E=!1;for(const te of y)if(b.left===te.left&&b.right===te.right&&b.top===te.top&&b.bottom===te.bottom){E=!0;break}E||y.push(b)}a=y,y=[];for(const b of a){let E=0;for(const te of a)if(b.left>=te.left&&b.right<=te.right&&b.top>=te.top&&b.bottom<=te.bottom&&(E+=1,E>1))break;E===1&&y.push(b)}return y}var R0=3,Jd;function lo(a,y){y=Se({target:"mathfield",canUndo:!1,audioFeedback:void 0,changeContent:!1,changeSelection:!1},y!=null?y:{}),Jd||(Jd={});for(const b of Object.keys(a))console.assert(!Jd[b],"Selector already defined: ",b),Jd[b]=He(Se({},y),{fn:a[b]})}function js(a){let y;if(Array.isArray(a)){if(a[0]==="performWithFeedback")return js(a[1]);y=a[0]}else y=a;return y=y.replace(/-\w/g,b=>b[1].toUpperCase()),Jd[y]}function lu(a){var y;return(y=js(a))==null?void 0:y.target}function mu(a,y){var b;if(!y)return!1;let E,te=[],oe=!1,ue=!1;ut(y)?(E=y[0],te=y.slice(1)):E=y,E=E.replace(/-\w/g,Ne=>Ne[1].toUpperCase());const Ae=Jd[E],Ee=Ae==null?void 0:Ae.target;if(Ee==="model"){if(!a.isSelectionEditable&&(Ae!=null&&Ae.changeContent))return a.model.announce("plonk"),!1;/^(delete|add)/.test(E)&&(E!=="deleteBackward"&&a.flushInlineShortcutBuffer(),a.snapshot(E)),/^complete/.test(E)||Lu(a),Jd[E].fn(a.model,...te),Bc(a),ue=!0,oe=!0}else if(Ee==="virtual-keyboard")ue=(b=window.mathVirtualKeyboard.executeCommand(y))!=null?b:!1,oe=!0;else if(Jd[E]){if(!a.isSelectionEditable&&(Ae!=null&&Ae.changeContent))return a.model.announce("plonk"),!1;/^(undo|redo)/.test(E)&&a.flushInlineShortcutBuffer(),ue=Jd[E].fn(a,...te),oe=!0}else throw new Error(`Unknown command "${E}"`);return Ee!=="virtual-keyboard"&&(!a.model.selectionIsCollapsed||Ae!=null&&Ae.changeSelection&&y!=="deleteBackward")&&(a.flushInlineShortcutBuffer(),Ae!=null&&Ae.changeContent||a.stopCoalescingUndo(),a.defaultStyle={}),ue&&ju(a),oe}function Zs(a,y){var b;if(!a)return!1;a.focus(),Zv.keypressVibration&&qe()&&navigator.vibrate(R0);const E=js(y);window.MathfieldElement.playSound((b=E==null?void 0:E.audioFeedback)!=null?b:"keypress");const te=a.executeCommand(y);return a.scrollIntoView(),te}lo({performWithFeedback:(a,y)=>Zs(a,y)});function Tf(a){return Bc(a,{atIndex:a.suggestionIndex+1}),!1}function Yf(a){return Bc(a,{atIndex:a.suggestionIndex-1}),!1}lo({complete:Td},{target:"mathfield",audioFeedback:"return",canUndo:!0,changeContent:!0,changeSelection:!0}),lo({nextSuggestion:Tf,previousSuggestion:Yf},{target:"mathfield",audioFeedback:"keypress",changeSelection:!0});var i0="mathlive#virtual-keyboard-message";function mh(a){var y;return a.type!=="message"?!1:((y=a.data)==null?void 0:y.type)===i0}var Zh=class Bm{constructor(){this.targetOrigin=window.origin,this.originValidator="none",this._boundingRect=new DOMRect(0,0,0,0),this._isShifted=!1,window.addEventListener("message",this),this.sendMessage("proxy-created"),this.listeners={}}static get singleton(){return this._singleton||(this._singleton=new Bm),this._singleton}set alphabeticLayout(y){this.sendMessage("update-setting",{alphabeticLayout:y})}set layouts(y){this.sendMessage("update-setting",{layouts:y})}get normalizedLayouts(){return[]}set editToolbar(y){this.sendMessage("update-setting",{editToolbar:y})}set actionKeycap(y){this.sendMessage("update-setting",{actionKeycap:y})}set shiftKeycap(y){this.sendMessage("update-setting",{shiftKeycap:y})}set backspaceKeycap(y){this.sendMessage("update-setting",{backspaceKeycap:y})}set tabKeycap(y){this.sendMessage("update-setting",{tabKeycap:y})}set container(y){throw new Error("Container inside an iframe cannot be changed")}show(y){this.sendMessage("show",y)}hide(y){this.sendMessage("hide",y)}get isShifted(){return this._isShifted}get visible(){return this._boundingRect.height>0}set visible(y){y?this.show():this.hide()}get boundingRect(){return this._boundingRect}executeCommand(y){return this.sendMessage("execute-command",{command:y}),!0}updateToolbar(y){this.sendMessage("update-toolbar",y)}update(y){this.sendMessage("update-setting",y)}connect(){this.sendMessage("connect")}disconnect(){this.sendMessage("disconnect")}addEventListener(y,b,E){this.listeners[y]||(this.listeners[y]=new Set),this.listeners[y].has(b)||this.listeners[y].add(b)}dispatchEvent(y){return!this.listeners[y.type]||this.listeners[y.type].size===0?!0:(this.listeners[y.type].forEach(b=>{typeof b=="function"?b(y):b==null||b.handleEvent(y)}),!y.defaultPrevented)}removeEventListener(y,b,E){this.listeners[y]&&this.listeners[y].delete(b)}handleEvent(y){if(mh(y)){if(!C0(y.origin,this.originValidator))throw new DOMException(`Message from unknown origin (${y.origin}) cannot be handled`,"SecurityError");this.handleMessage(y.data)}}handleMessage(y){const{action:b}=y;if(b==="execute-command"){const{command:E}=y;lu(E)==="virtual-keyboard"&&this.executeCommand(E);return}if(b==="synchronize-proxy"){this._boundingRect=y.boundingRect,this._isShifted=y.isShifted;return}if(b==="geometry-changed"){this._boundingRect=y.boundingRect,this.dispatchEvent(new Event("geometrychange"));return}}sendMessage(y,b={}){if(!window.top)throw new DOMException("A frame does not have access to the top window and can\u2018t communicate with the keyboard. Review virtualKeyboardTargetOrigin and originValidator on mathfields embedded in an iframe","SecurityError");window.top.postMessage(Se({type:i0,action:y},b),this.targetOrigin)}},I0={numeric:{label:"123",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.numeric",rows:[[{latex:"x",shift:"y",variants:["y","z","t","r","x^2","x^n","x^{#?}","x_n","x_i","x_{#?}",{latex:"f(#?)",class:"small"},{latex:"g(#?)",class:"small"}]},{latex:"n",shift:"a",variants:["i","j","p","k","a","u"]},"[separator-5]","[7]","[8]","[9]","[/]","[separator-5]",{latex:"\\exponentialE",shift:"\\ln",variants:["\\exp","\\times 10^{#?}","\\ln","\\log_{10}","\\log"]},{latex:"\\imaginaryI",variants:["\\Re","\\Im","\\imaginaryJ","\\Vert #0 \\Vert"]},{latex:"\\pi",shift:"\\sin",variants:["\\prod",{latex:"\\theta",aside:"theta"},{latex:"\\rho",aside:"rho"},{latex:"\\tau",aside:"tau"},"\\sin","\\cos","\\tan"]}],[{label:"<",latex:"<",class:"hide-shift",shift:{latex:"\\le",label:"\u2264"}},{label:">",latex:">",class:"hide-shift",shift:{latex:"\\ge",label:"\u2265"}},"[separator-5]","[4]","[5]","[6]","[*]","[separator-5]",{class:"hide-shift",latex:"#@^2}",shift:"#@^{\\prime}}"},{latex:"#@^{#0}}",class:"hide-shift",shift:"#@_{#?}"},{class:"hide-shift",latex:"\\sqrt{#0}",shift:{latex:"\\sqrt[#0]{#?}}"}}],["[(]","[)]","[separator-5]","[1]","[2]","[3]","[-]","[separator-5]",{latex:"\\int^{\\infty}_{0}\\!#?\\,\\mathrm{d}x",class:"small hide-shift",shift:"\\int",variants:[{latex:"\\int_{#?}^{#?}",class:"small"},{latex:"\\int",class:"small"},{latex:"\\iint",class:"small"},{latex:"\\iiint",class:"small"},{latex:"\\oint",class:"small"},"\\mathrm{d}x",{latex:"\\dfrac{\\mathrm{d}}{\\mathrm{d} x}",class:"small"},{latex:"\\frac{\\partial}{\\partial x}",class:"small"},"\\partial"]},{class:"hide-shift",latex:"\\forall",shift:"\\exists"},{label:"[backspace]",width:1}],[{label:"[shift]",width:2},"[separator-5]","[0]","[.]","[=]","[+]","[separator-5]","[left]","[right]",{label:"[action]",width:1}]]},greek:{label:"αβγ",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.greek",rows:[[{label:"φ",class:"MLK__tex hide-shift",insert:"\\varphi",aside:"phi var.",shift:"\\Phi"},{label:"ς",class:"MLK__tex hide-shift",insert:"\\varsigma",aside:"sigma var.",shift:"\\Sigma"},{label:"ϵ",class:"MLK__tex hide-shift",insert:"\\epsilon",aside:"espilon",shift:'\\char"0190'},{label:"ρ",class:"MLK__tex hide-shift",insert:"\\rho",aside:"rho",shift:'\\char"3A1'},{label:"τ",class:"MLK__tex hide-shift",insert:"\\tau",aside:"tau",shift:'\\char"3A4'},{label:"υ",class:"MLK__tex hide-shift",insert:"\\upsilon",aside:"upsilon",shift:"\\Upsilon"},{label:"θ",class:"MLK__tex hide-shift",insert:"\\theta",aside:"theta",shift:"\\Theta"},{label:"ι",class:"MLK__tex hide-shift",insert:"\\iota",aside:"iota",shift:'\\char"399'},{label:"ο",class:"MLK__tex hide-shift",insert:"\\omicron",aside:"omicron",shift:'\\char"39F'},{label:"π",class:"MLK__tex hide-shift",insert:"\\pi",aside:"pi",shift:"\\Pi"}],["[separator-5]",{label:"α",class:"MLK__tex hide-shift",insert:"\\alpha",aside:"alpha",shift:'\\char"391'},{label:"σ",class:"MLK__tex hide-shift",insert:"\\sigma",aside:"sigma",shift:"\\Sigma"},{label:"δ",class:"MLK__tex hide-shift",insert:"\\delta",aside:"delta",shift:"\\Delta"},{latex:"\\phi",class:"MLK__tex hide-shift",insert:"\\phi",aside:"phi",shift:"\\Phi"},{label:"γ",class:"MLK__tex hide-shift",insert:"\\gamma",aside:"gamma",shift:"\\Gamma"},{label:"η",class:"MLK__tex hide-shift",insert:"\\eta",aside:"eta",shift:'\\char"397'},{label:"ξ",class:"MLK__tex hide-shift",insert:"\\xi",aside:"xi",shift:"\\Xi"},{label:"κ",class:"MLK__tex hide-shift",insert:"\\kappa",aside:"kappa",shift:"\\Kappa"},{label:"λ",class:"MLK__tex hide-shift",insert:"\\lambda",aside:"lambda",shift:"\\Lambda"},"[separator-5]"],["[shift]",{label:"ζ",class:"MLK__tex hide-shift",insert:"\\zeta",aside:"zeta",shift:'\\char"396'},{label:"χ",class:"MLK__tex hide-shift",insert:"\\chi",aside:"chi",shift:'\\char"3A7'},{label:"ψ",class:"MLK__tex hide-shift",insert:"\\psi",aside:"zeta",shift:"\\Psi"},{label:"ω",class:"MLK__tex hide-shift",insert:"\\omega",aside:"omega",shift:"\\Omega"},{label:"β",class:"MLK__tex hide-shift",insert:"\\beta",aside:"beta",shift:'\\char"392'},{label:"ν",class:"MLK__tex hide-shift",insert:"\\nu",aside:"nu",shift:'\\char"39D'},{label:"μ",class:"MLK__tex hide-shift",insert:"\\mu",aside:"mu",shift:'\\char"39C'},"[backspace]"],["[separator]",{label:"ε",class:"MLK__tex",insert:"\\varepsilon",aside:"espilon var."},{label:"ϑ",class:"MLK__tex",insert:"\\vartheta",aside:"theta var."},{label:"ϰ",class:"MLK__tex",insert:"\\varkappa",aside:"kappa var."},{label:"ϖ",class:"MLK__tex",insert:"\\varpi",aside:"pi var."},{label:"ϱ",class:"MLK__tex",insert:"\\varrho",aside:"rho var."},"[left]","[right]","[action]"]]},symbols:{label:"∞\u2260\u2208",labelClass:"MLK__tex",tooltip:"keyboard.tooltip.symbols",rows:[[{latex:"\\sin",shift:"\\sin^{-1}",variants:[{class:"small",latex:"\\sinh"},{class:"small",latex:"\\sin^{-1}"},{class:"small",latex:"\\arsinh"}]},"\\ln",{latex:"\\mathrm{abs}",insert:"\\mathrm{abs}\\left(#0\\right)"},{latex:"\\rarr",shift:"\\rArr",variants:[{latex:"\\implies",aside:"implies"},{latex:"\\to",aside:"to"},"\\dashv",{latex:"\\roundimplies",aside:"round implies"}]},{latex:"\\exists",variants:["\\nexists"],shift:"\\nexists"},{latex:"\\in",shift:"\\notin",variants:["\\notin","\\owns"]},"\\cup",{latex:"\\overrightarrow{#@}",shift:"\\overleftarrow{#@}",variants:["\\overleftarrow{#@}","\\bar{#@}","\\vec{#@}","\\hat{#@}","\\check{#@}","\\dot{#@}","\\ddot{#@}","\\mathring{#@}","\\breve{#@}","\\acute{#@}","\\tilde{#@}","\\grave{#@}"]},{class:"small",latex:"\\lim_{#?}",shift:"\\lim_{x\\to\\infty}",variants:[{class:"small",latex:"\\liminf_{#?}"},{class:"small",latex:"\\limsup_{#?}"}]},"\\exponentialE"],[{latex:"\\cos",shift:"\\cos^{-1}",variants:[{class:"small",latex:"\\cosh"},{class:"small",latex:"\\cos^{-1}"},{class:"small",latex:"\\arcosh"}]},{latex:"\\log",shift:"\\log_{10}",variants:["\\log_{#0}","\\log_{10}"]},"\\left\\vert#0\\right\\vert",{latex:"\\larr",shift:"\\lArr",variants:[{latex:"\\impliedby",aside:"implied by"},{latex:"\\gets",aside:"gets"},"\\lArr","\\vdash",{latex:"\\models",aside:"models"}]},{latex:"\\forall",shift:"\\lnot",variants:[{latex:"\\land",aside:"and"},{latex:"\\lor",aside:"or"},{latex:"\\oplus",aside:"xor"},{latex:"\\lnot",aside:"not"},{latex:"\\downarrow",aside:"nor"},{latex:"\\uparrow",aside:"nand"},{latex:"\\curlywedge",aside:"nor"},{latex:"\\bar\\curlywedge",aside:"nand"}]},{latex:"\\ni",shift:"\\not\\owns"},"\\cap",{latex:"\\overline{#@}",shift:"\\underline{#@}",variants:["\\overbrace{#@}","\\overlinesegment{#@}","\\overleftrightarrow{#@}","\\overrightarrow{#@}","\\overleftarrow{#@}","\\overgroup{#@}","\\underbrace{#@}","\\underlinesegment{#@}","\\underleftrightarrow{#@}","\\underrightarrow{#@}","\\underleftarrow{#@}","\\undergroup{#@}"]},{class:"hide-shift",latex:"\\int",shift:"\\iint",variants:[{latex:"\\int_{#?}^{#?}",class:"small"},{latex:"\\int",class:"small"},{latex:"\\smallint",class:"small"},{latex:"\\iint",class:"small"},{latex:"\\iiint",class:"small"},{latex:"\\oint",class:"small"},"\\intop","\\iiint","\\oiint","\\oiiint","\\intclockwise","\\varointclockwise","\\ointctrclockwise","\\intctrclockwise"]},{latex:"\\pi",shift:"\\tau",variants:["\\tau"]}],[{latex:"\\tan",shift:"\\tan^{-1}",variants:[{class:"small",latex:"\\tanh"},{class:"small",latex:"\\tan^{-1}"},{class:"small",latex:"\\artanh"},{class:"small",latex:"\\arctan"},{class:"small",latex:"\\arctg"},{class:"small",latex:"\\tg"}]},{latex:"\\exp",insert:"\\exp\\left(#0\\right)",variants:["\\exponentialE^{#0}"]},"\\left\\Vert#0\\right\\Vert",{latex:"\\lrArr",shift:"\\leftrightarrow",variants:[{latex:"\\iff",aside:"if and only if"},"\\leftrightarrow","\\leftrightarrows","\\Leftrightarrow",{latex:"^\\biconditional",aside:"biconditional"}]},{latex:"\\vert",shift:"!"},{latex:"#@^{\\complement}",aside:"complement",variants:[{latex:"\\setminus",aside:"set minus"},{latex:"\\smallsetminus",aside:"small set minus"}]},{latex:"\\subset",shift:"\\subseteq",variants:["\\subset","\\subseteq","\\subsetneq","\\varsubsetneq","\\subsetneqq","\\nsubset","\\nsubseteq","\\supset","\\supseteq","\\supsetneq","\\supsetneqq","\\nsupset","\\nsupseteq"]},{latex:"#@^{\\prime}",shift:"#@^{\\doubleprime}",variants:["#@^{\\doubleprime}","#@\\degree"]},{latex:"\\mathrm{d}",shift:"\\partial",variants:["\\mathrm{d}x",{latex:"\\dfrac{\\mathrm{d}}{\\mathrm{d} x}",class:"small"},{latex:"\\frac{\\partial}{\\partial x}",class:"small"},"\\partial"]},{latex:"\\infty",variants:["\\aleph_0","\\aleph_1","\\omega","\\mathfrak{m}"]}],[{label:"[shift]",width:2},{class:"box",latex:",",shift:";",variants:[";","?"]},{class:"box",latex:"\\colon",shift:"\\Colon",variants:[{latex:"\\Colon",aside:"such that",class:"box"},{latex:":",aside:"ratio",class:"box"},{latex:"\\vdots",aside:"",class:"box"},{latex:"\\ddots",aside:"",class:"box"},{latex:"\\ldotp",aside:"low dot",class:"box"},{latex:"\\cdotp",aside:"center dot",class:"box"},{latex:"\\ldots",aside:"low ellipsis",class:"box"},{latex:"\\cdots",aside:"center ellipsis",class:"box"},{latex:"\\therefore",aside:"therefore",class:"box"},{latex:"\\because",aside:"because",class:"box"}]},{class:"box",latex:"\\cdot",aside:"centered dot",shift:"\\ast",variants:["\\circ","\\bigcirc","\\bullet","\\odot","\\oslash","\\circledcirc","\\ast","\\star","\\times","\\doteq","\\doteqdot"]},"[separator]","[left]","[right]",{label:"[backspace]",width:1,class:"action hide-shift"},{label:"[action]",width:1}]]},compact:{label:"compact",rows:[["[+]","[-]","[*]","[/]","[=]","[.]","[(]","[)]","\\sqrt{#0}","#@^{#?}"],["[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]","[0]"],["[hr]"],["[undo]","[redo]","[separator]","[separator]","[separator]","[left]","[right]",{label:"[backspace]",class:"action hide-shift"},"[hide-keyboard]"]]},minimalist:{label:"minimalist",layers:[{style:` + .minimalist-backdrop { + display: flex; + justify-content: center; + } + .minimalist-container { + --keycap-height: 40px; + --keycap-max-width: 53px; + --keycap-small-font-size: 12px; + background: var(--keyboard-background); + padding: 20px; + border-top-left-radius: 8px; + border-top-right-radius: 8px; + border: 1px solid var(--keyboard-border); + box-shadow: 0 0 32px rgb(0 0 0 / 30%); + } + `,backdrop:"minimalist-backdrop",container:"minimalist-container",rows:[["+","-","\\times",{latex:"\\frac{#@}{#0}",class:"small"},"=","[.]","(",")",{latex:"\\sqrt{#0}",class:"small"},{latex:"#@^{#?}",class:"small"}],["1","2","3","4","5","6","7","8","9","0"],["[hr]"],["[undo]","[redo]","[separator]","[separator]","[separator]","[left]","[right]",{label:"[backspace]",class:"action hide-shift"},"[hide-keyboard]"]]}]},"numeric-only":{label:"123",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.numeric",id:"numeric-only",rows:[["7","8","9","[separator]",{label:"[backspace]",width:2}],["4","5","6","[separator]","[separator]","[separator]"],["1","2","3","[separator]","[separator]","[separator]"],["0",{label:"[.]",variants:[]},"-","[separator]","[left]","[right]"]]}},eh={0:["\\varnothing","\\infty"],1:["\\frac{1}{#@}","#@^{-1}","\\times 10^{#?}","\\phi","\\imaginaryI"],2:["\\frac{1}{2}","#@^2","\\sqrt2","\\exponentialE"],3:["\\frac{1}{3}","#@^3","\\sqrt3","\\pi"],4:["\\frac{1}{4}","#@^4"],5:["\\frac{1}{5}","#@^5","\\sqrt5"],6:["\\frac{1}{6}","#@^6"],7:["\\frac{1}{7}","#@^7"],8:["\\frac{1}{8}","#@^8"],9:["\\frac{1}{9}","#@^9"],".":[".",",",";","\\colon"],",":["{,}",".",";","\\colon"],a:[{latex:"\\aleph",aside:"aleph"},{latex:"\\forall",aside:"for all"},"\xE0","\xE1","\xE2","\xE4","\xE6"],b:[{latex:"\\beth",aside:"beth"}],c:[{latex:"\\C",aside:"set of complex numbers"},"\xE7"],d:[{latex:"\\daleth",aside:"daleth"}],e:[{latex:"\\exponentialE",aside:"exponential e"},{latex:"\\exists",aside:"there is"},{latex:"\\nexists",aside:"there isn\u2019t"},"\xE8","\xE9","\xEA","\xEB"],g:[{latex:"\\gimel",aside:"gimel"}],h:[{latex:"\\hbar",aside:"h bar"},{latex:"\\hslash",aside:"h slash"}],i:[{latex:"\\imaginaryI",aside:"imaginary i"},"\xEC","\xED","\xEE","\xEF"],j:[{latex:"\\imaginaryJ",aside:"imaginary j"}],l:[{latex:"\\ell",aside:"ell"}],n:[{latex:"\\mathbb{N}",aside:"set of natural numbers"},"\xF1"],o:["\xF8","\u0153","\xF2","\xF3","\xF4","\xF6","\u0153"],p:[{latex:"\\mathbb{P}",aside:"set of primes"}],q:[{latex:"\\mathbb{Q}",aside:"set of rational numbers"}],r:[{latex:"\\mathbb{R}",aside:"set of real numbers"}],u:["\xF9","\xFA","\xFB","\xFC"],z:[{latex:"\\mathbb{Z}",aside:"set of integers"}],y:["\xFD","\xFF"],space:[{latex:'\\char"203A\\!\\char"2039',insert:"\\!",aside:"negative thin space
    \u207B\xB3\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\,\\char"2039',insert:"\\,",aside:"thin space
    \xB3\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\:\\char"2039',insert:"\\:",aside:"medium space
    \u2074\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\;\\char"2039',insert:"\\;",aside:"thick space
    \u2075\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\ \\char"2039',insert:"\\ ",aside:"\u2153 em"},{latex:'\\char"203A\\enspace\\char"2039',insert:"\\enspace",aside:"\xBD em"},{latex:'\\char"203A\\quad\\char"2039',insert:"\\quad",aside:"1 em"},{latex:'\\char"203A\\qquad\\char"2039',insert:"\\qquad",aside:"2 em"}]},a0;function Qh(a,y){var b,E,te;const oe=Q0.singleton;if(!oe)return;const ue=gh(a),Ae=(E=(b=oe.getKeycap(ue==null?void 0:ue.id))==null?void 0:b.variants)!=null?E:"";if(typeof Ae=="string"&&!Vh(Ae)||Array.isArray(Ae)&&Ae.length===0){y==null||y();return}const Ee={};let Ne="";for(const gi of xp(Ae)){const no=Fh(gi),si=Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36);Ee[si]=no;const[la,po]=nh(no);Ne+=`
    ${la}
    `}const Ge=document.createElement("div");Ge.setAttribute("aria-hidden","true"),Ge.className="MLK__variant-panel",Ge.style.height="auto";const gt=Object.keys(Ee).length;let $t=5;gt===1?$t=1:gt===2||gt===4?$t=2:gt===3||gt===5||gt===6?$t=3:gt>=7&><14&&($t=4),Ge.style.width=`calc(var(--variant-keycap-length) * ${$t} + 12px)`,Ge.innerHTML=Zv.createHTML(Ne),Mi.open({root:(te=oe==null?void 0:oe.container)==null?void 0:te.querySelector(".ML__keyboard"),child:Ge}),a0=new AbortController;const{signal:kn}=a0,rr=a==null?void 0:a.getBoundingClientRect();if(rr){rr.top-Ge.clientHeight<0&&(Ge.style.width="auto",gt<=6?Ge.style.height="56px":gt<=12?Ge.style.height="108px":gt<=18?Ge.style.height="205px":Ge.classList.add("compact"));const gi=Math.max(0,Math.min(window.innerWidth-Ge.offsetWidth,(rr.left+rr.right-Ge.offsetWidth)/2)),no=rr.top-Ge.clientHeight+5;Ge.style.transform=`translate(${gi}px, ${no}px)`,Ge.classList.add("is-visible"),requestAnimationFrame(()=>{Ge.addEventListener("pointerup",si=>{const la=gh(si.target);!(la!=null&&la.id)||!Ee[la.id]||(wp(Ee[la.id]),X0(),y==null||y(),si.preventDefault())},{capture:!0,passive:!1,signal:kn}),Ge.addEventListener("pointerenter",si=>{const la=gh(si.target);!(la!=null&&la.id)||!Ee[la.id]||la.classList.add("is-active")},{capture:!0,signal:kn}),Ge.addEventListener("pointerleave",si=>{const la=gh(si.target);!(la!=null&&la.id)||!Ee[la.id]||la.classList.remove("is-active")},{capture:!0,signal:kn}),window.addEventListener("pointercancel",()=>{X0(),y==null||y()},{signal:kn}),window.addEventListener("pointerup",()=>{X0(),y==null||y()},{signal:kn})})}}function X0(){a0==null||a0.abort(),a0=null,Mi.state==="open"&&Mi.close()}function Jf(a){if(a==="foreground-color"){const y=[];for(const b of Object.keys(Nn))y.push({class:"swatch-button",label:'',command:["applyStyle",{color:b}]});return y}if(a==="background-color"){const y=[];for(const b of Object.keys(gn))y.push({class:"swatch-button",label:'',command:["applyStyle",{backgroundColor:b}]});return y}}function Vh(a){return eh[a]!==void 0}function xp(a){var y;return typeof a!="string"?a:(eh[a]||(eh[a]=(y=Jf(a))!=null?y:[]),eh[a])}function al(a){return typeof a=="string"?a:Object.entries(a).map(([y,b])=>`${y}:${b} !important`).join(";")}function lf(a){return Object.keys(a).map(y=>`${y} {${al(a[y])}}`).join("")}function Md(a){if(!a)return"";const y=new vu,b=new Ti({mode:"math",type:"root",body:hn(a,{context:y,args:te=>te==="@"?"{\\class{ML__box-placeholder}{\\blacksquare}}":"\\placeholder{}"})}),E=Nd(rf(new za(b.render(y),{classes:"ML__base"}),y));return hf(E,{classes:"ML__latex"}).toMarkup()}function Id(a){var y;if(Array.isArray(a))return a.map(E=>Id(E)).flat();const b=typeof a=="string"?{markup:a}:a;return"rows"in b&&Array.isArray(b.rows)&&(b.rows=b.rows.map(E=>E.map(te=>Fh(te)))),(y=b.id)!=null||(b.id="ML__layer_"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36)),[b]}function th(){var a,y;let E=window.mathVirtualKeyboard.alphabeticLayout;if(E==="auto"){const Ae=Vi();Ae&&(E=Ae.virtualLayout),(!E||E==="auto")&&(E=(a={fr:"azerty",be:"azerty",al:"qwertz",ba:"qwertz",cz:"qwertz",de:"qwertz",hu:"qwertz",sk:"qwertz",ch:"qwertz"}[Ut.locale.slice(0,2)])!=null?a:"qwerty")}const te={qwerty:["qwertyuiop"," asdfghjkl ","^zxcvbnm~"],azerty:["azertyuiop","qsdfghjklm","^ wxcvbn ~"],qwertz:["qwertzuiop"," asdfghjkl ","^yxcvbnm~"],dvorak:["^ pyfgcrl ","aoeuidhtns","qjkxbmwvz~"],colemak:[" qwfpgjluy ","arstdhneio","^zxcvbkm~"]},oe=(y=te[E])!=null?y:te.qwerty,ue=E==="azerty"?[[{label:"1",variants:"1"},{label:"2",shift:{latex:"\xE9"},variants:"2"},{label:"3",shift:{latex:"\xF9"},variants:"3"},{label:"4",variants:"4"},{label:"5",shift:{label:"(",latex:"("},variants:"5"},{label:"6",shift:{label:")",latex:")"},variants:"6"},{label:"7",shift:{latex:"\xE8"},variants:"7"},{label:"8",shift:{latex:"\xEA"},variants:"8"},{label:"9",shift:{latex:"\xE7"},variants:"9"},{label:"0",shift:{latex:"\xE0"},variants:"0"}]]:[[{label:"1",variants:"1"},{label:"2",variants:"2"},{label:"3",variants:"3"},{label:"4",variants:"4"},{label:"5",shift:{latex:"\\frac{#@}{#?}"},variants:"5"},{label:"6",shift:{latex:"#@^#?"},variants:"6"},{label:"7",variants:"7"},{label:"8",shift:{latex:"\\times"},variants:"8"},{label:"9",shift:{label:"(",latex:"("},variants:"9"},{label:"0",shift:{label:")",latex:")"},variants:"0"}]];for(const Ae of oe){const Ee=[];for(const Ne of Ae)/[a-z]/.test(Ne)?Ee.push({label:Ne,class:"hide-shift",shift:{label:Ne.toUpperCase()},variants:Vh(Ne)?Ne:void 0}):Ne==="~"?E!=="dvorak"?Ee.push("[backspace]"):Ee.push({label:"[backspace]",width:1}):Ne==="^"?Ee.push("[shift]"):Ne===" "&&Ee.push("[separator-5]");ue.push(Ee)}return ue.push(["[-]","[+]","[=]",{label:" ",width:1.5},{label:",",shift:";",variants:".",class:"hide-shift"},"[.]","[left]","[right]",{label:"[action]",width:1.5}]),{label:"abc",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.alphabetic",layers:Id({rows:ue})}}function Ih(a){if(a==="alphabetic")return th();if(typeof a=="string")return console.assert(I0[a]!==void 0,`MathLive 0.98.5: unknown keyboard layout "${a}"`),Ih(I0[a]);let y;if("rows"in a&&Array.isArray(a.rows)){console.assert(!("layers"in a||"markup"in a),'MathLive 0.98.5: when providing a "rows" property, "layers" and "markup" are ignored');const te=a,{rows:oe}=te,ue=tt(te,["rows"]);y=He(Se({},ue),{layers:Id({rows:a.rows})})}else if("markup"in a&&typeof a.markup=="string"){const te=a,{markup:oe}=te,ue=tt(te,["markup"]);y=He(Se({},ue),{layers:Id(a.markup)})}else y=Se({},a),"layers"in a?y.layers=Id(a.layers):console.error('MathLive 0.98.5: provide either a "rows", "markup" or "layers" property');let b=!1,E=!1;for(const te of y.layers)if(te.rows)for(const oe of te.rows.flat()){Ah(oe)&&(b=!0);const ue=oe.command;typeof ue=="string"&&["undo","redo","cut","copy","paste"].includes(ue)&&(E=!0)}return(!("displayShiftedKeycaps"in a)||a.displayShiftedKeycaps===void 0)&&(y.displayShiftedKeycaps=b),(!("displayEditToolbar"in a)||a.displayEditToolbar===void 0)&&(y.displayEditToolbar=!E),y}function Kh(a,y){var b,E;let te='
    ';if(a.normalizedLayouts.length>1)for(const[oe,ue]of a.normalizedLayouts.entries()){const Ae=ue,Ee=[oe===y?"selected":"layer-switch"];Ae.tooltip&&Ee.push("MLK__tooltip"),Ae.labelClass&&Ee.push(...Ae.labelClass.split(" ")),te+=`
    ${(E=Ae.label)!=null?E:"untitled"}
    `}return te+="
    ",te}function Wh(a,y){let b="";if(a.editToolbar==="none")return"";const te=[];y.selectionIsCollapsed?te.push("undo","redo","pasteFromClipboard"):te.push("cutToClipboard","copyToClipboard","pasteFromClipboard");const oe={undo:`
    + +
    `,redo:`
    + +
    `,cutToClipboard:` +
    + +
    + `,copyToClipboard:` +
    + +
    + `,pasteFromClipboard:` +
    + +
    + `};return b+=te.map(ue=>oe[ue]).join(""),b}function Gh(a){for(const y of a)Uh(y)}function Uh(a){const y=Q0.singleton;if(!y)return;const b={};if(!a.id){if(a.hasAttribute("data-label")&&(b.label=a.dataset.label),a.hasAttribute("data-latex")&&(b.latex=a.dataset.latex),a.hasAttribute("data-key")&&(b.key=a.dataset.key),a.hasAttribute("data-insert")&&(b.insert=a.dataset.insert),a.hasAttribute("data-variants")&&(b.variants=a.dataset.variants),a.hasAttribute("data-aside")&&(b.aside=a.dataset.aside),a.className&&(b.class=a.className),!b.label&&!b.latex&&!b.key&&!b.insert&&(b.latex=a.innerText,b.label=a.innerHTML),a.hasAttribute("data-command"))try{b.command=JSON.parse(a.dataset.command)}catch(E){}a.id=y.registerKeycap(b)}if(!a.innerHTML){const[E,te]=nh(b);a.innerHTML=window.MathfieldElement.createHTML(E)}}function Yh(){td("virtual-keyboard"),td("core"),Kc()}function Jh(){x("core"),x("virtual-keyboard")}var qh=` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`;function _h(a){a.resetKeycapRegistry(),Yh();const y=document.createElement("div");y.className="ML__keyboard";const b=document.createElement("div");b.className="MLK__plate",b.innerHTML=window.MathfieldElement.createHTML(qh+a.normalizedLayouts.map((ue,Ae)=>$h(a,ue,Ae)).join(""));const E=document.createElement("div");E.className="MLK__backdrop",E.appendChild(b),y.appendChild(E),y.addEventListener("pointerdown",zf,{passive:!1});const te=y.querySelectorAll(".ML__edit-toolbar");if(te)for(const ue of te)ue.addEventListener("click",Ae=>{var Ee,Ne;let Ge=Ae.target,gt="";for(;Ge&&!gt;)gt=(Ee=Ge==null?void 0:Ge.getAttribute("data-command"))!=null?Ee:"",Ge=(Ne=Ge==null?void 0:Ge.parentElement)!=null?Ne:null;gt&&a.executeCommand(JSON.parse(gt))});Gh(y.querySelectorAll(".MLK__keycap, .action, .fnbutton, .bigfnbutton"));const oe=y.querySelectorAll(".MLK__layer");console.assert(oe.length>0,"No virtual keyboards available");for(const ue of oe)ue.addEventListener("pointerdown",Ae=>Ae.preventDefault());return a.currentLayer=a.latentLayer,y}function $h(a,y,b){const E=[];if(!("layers"in y))return"";for(const te of y.layers)E.push(`
    `),(a.normalizedLayouts.length>1||y.displayEditToolbar)&&(E.push("")),E.push(ep(a,te)),E.push("
    ");return E.join("")}function ep(a,y){if(typeof y=="string")return y;let b="";if(typeof y.style=="string"?b+=``:typeof y.style=="object"&&(b+=``),y.backdrop&&(b+=`
    `),y.container&&(b+=`
    `),y.rows){b+="
    ";for(const E of y.rows){b+="
    ";for(const te of E)if(te){const oe=a.registerKeycap(te),[ue,Ae]=nh(te);/(^|\s)separator/.test(Ae)?b+=`
    ${ue}
    `}b+="
    "}b+="
    "}else y.markup&&(b+=y.markup);return y.container&&(b+="
    "),y.backdrop&&(b+="
    "),b}function nh(a,y={shifted:!1}){var b,E,te,oe,ue,Ae,Ee;let Ne="",Ge=(b=a.class)!=null?b:"";if(y.shifted&&Ah(a)&&(Ge+=" is-active"),y.shifted&&"shift"in a)typeof a.shift=="string"?Ne=Md(a.shift):typeof a.shift=="object"&&(Ne=a.shift.label?a.shift.label:(E=Md(a.shift.latex||a.shift.insert||"")||a.shift.key)!=null?E:""),typeof a.shift=="object"&&(Ge=(oe=(te=a.shift.class)!=null?te:a.class)!=null?oe:"");else{if(Ne=a.label?a.label:(ue=Md(a.latex||a.insert||"")||a.key)!=null?ue:"",a.shift){let gt;typeof a.shift=="string"?gt=Md(a.shift):a.shift.label?gt=a.shift.label:gt=(Ae=Md(a.shift.latex||a.shift.insert||"")||a.shift.key)!=null?Ae:"",Ne+=`${gt}`}a.aside&&(Ne+=``)}return a.layer&&!/layer-switch/.test(Ge)&&(Ge+=" layer-switch"),/(^|\s)(separator|action|shift|fnbutton|bigfnbutton)($|\s)/.test(Ge)||(Ge+=" MLK__keycap"),!/\bw[0-9]+\b/.test(Ge)&&a.width&&(Ge+=(Ee={0:" w0",.5:" w5",1.5:" w15",2:" w20",5:" w50"}[a.width])!=null?Ee:""),[Ne,Ge||"MLK__keycap"]}var o0={"[left]":{class:"action hide-shift",label:"",command:["performWithFeedback","moveToPreviousChar"],shift:{label:"",command:["performWithFeedback","extendSelectionBackward"]}},"[right]":{class:"action hide-shift",label:"",command:["performWithFeedback","moveToNextChar"],shift:{label:"",command:["performWithFeedback","extendSelectionForward"]}},"[up]":{class:"action hide-shift",label:"\u2191",command:["performWithFeedback","moveUp"],shift:{label:"\u219F",command:["performWithFeedback","extendSelectionUpward"]}},"[down]":{class:"action hide-shift",label:"\u2193",command:["performWithFeedback","moveDown"],shift:{label:"\u21A1",command:["performWithFeedback","extendSelectionDownward"]}},"[return]":{class:"action hide-shift",command:["performWithFeedback","commit"],shift:{command:["performWithFeedback","addRowAfter"]},width:1.5,label:""},"[action]":{class:"action hide-shift",command:["performWithFeedback","commit"],shift:{label:"",command:["performWithFeedback","addRowAfter"]},width:1.5,label:""},"[hr]":{class:"separator horizontal-rule"},"[hide-keyboard]":{class:"action",command:["hideVirtualKeyboard"],width:1.5,label:""},"[.]":{variants:".",command:["performWithFeedback","insertDecimalSeparator"],shift:",",class:"big-op hide-shift",label:"."},"[,]":{variants:",",command:["performWithFeedback","insertDecimalSeparator"],shift:".",class:"big-op hide-shift",label:","},"[+]":{variants:[{latex:"\\sum_{#0}^{#0}",class:"small"},"\\oplus"],latex:"+",label:"+",class:"big-op hide-shift",shift:{latex:"\\sum",insert:"\\sum",class:"small"}},"[-]":{variants:["\\pm","\\ominus"],latex:"-",label:"−",shift:"\\pm",class:"big-op hide-shift"},"[/]":{class:"big-op hide-shift",shift:{class:"",latex:"\\frac{1}{#@}"},variants:["/","\\div","\\%","\\oslash"],latex:"\\frac{#@}{#?}",label:"÷"},"[*]":{variants:[{latex:"\\prod_{#0}^{#0}",class:"small"},"\\otimes","\\cdot"],latex:"\\cdot",label:"×",shift:{latex:"\\times"},class:"big-op hide-shift"},"[=]":{variants:["\\neq","\\equiv","\\varpropto","\\thickapprox","\\lt","\\gt","\\le","\\ge"],latex:"=",label:"=",shift:{label:"\u2260",latex:"\\ne"},class:"big-op hide-shift"},"[backspace]":{class:"action bottom right hide-shift",width:1.5,command:["performWithFeedback","deleteBackward"],label:"",shift:{class:"action warning",label:"",command:"deleteAll"}},"[undo]":{class:"ghost if-can-undo",command:"undo",label:"",tooltip:"tooltip.undo"},"[redo]":{class:"ghost if-can-redo",command:"redo",label:"",tooltip:"tooltip.redo"},"[(]":{variants:[{latex:"\\lbrack",key:"["},"\\langle","\\lfloor","\\lceil",{latex:"\\lbrace",key:"{"}],key:"(",label:"(",shift:{label:"[",key:"["},class:"hide-shift"},"[)]":{variants:[{latex:"\\rbrack",key:"]"},"\\rangle","\\rfloor","\\rceil",{latex:"\\rbrace",key:"]"}],key:")",label:")",shift:{label:"]",latex:"\\rbrack"},class:"hide-shift"},"[0]":{variants:"0",latex:"0",label:"0",shift:"\\infty",class:"hide-shift"},"[1]":{variants:"1",latex:"1",label:"1",shift:"#@^{-1}",class:"hide-shift"},"[2]":{variants:"2",latex:"2",label:"2",shift:"#@^2",class:"hide-shift"},"[3]":{variants:"3",latex:"3",label:"3",shift:"#@^3",class:"hide-shift"},"[4]":{variants:"4",latex:"4",label:"4",shift:"#@^4",class:"hide-shift"},"[5]":{variants:"5",latex:"5",label:"5",shift:"#@^5",class:"hide-shift"},"[6]":{variants:"6",latex:"6",label:"6",shift:"#@^6",class:"hide-shift"},"[7]":{variants:"7",latex:"7",label:"7",shift:"#@^7",class:"hide-shift"},"[8]":{variants:"8",latex:"8",label:"8",shift:"#@^8",class:"hide-shift"},"[9]":{variants:"9",latex:"9",label:"9",shift:"#@^9",class:"hide-shift"},"[separator-5]":{class:"separator",width:.5},"[separator]":{class:"separator"},"[separator-10]":{class:"separator"},"[separator-15]":{class:"separator",width:1.5},"[separator-20]":{class:"separator",width:2},"[separator-50]":{class:"separator",width:5},"[shift]":{class:"shift bottom left",width:1.5,label:""},"[foreground-color]":{variants:"foreground-color",command:["applyStyle",{color:"red"}],label:""},"[background-color]":{variants:"background-color",command:["applyStyle",{backgroundColor:"yellow"}],label:""}};function Fh(a){var y;if(typeof a=="string"){if(a==="[.]"&&window.MathfieldElement.decimalSeparator===","&&(a="[,]"),!o0[a])return{latex:a};a={label:a}}let b;return"label"in a&&a.label&&o0[a.label]&&(b=He(Se(Se({},o0[a.label]),a),{label:o0[a.label].label})),"key"in a&&a.key&&o0[a.key]&&(b=He(Se(Se({},o0[a.key]),a),{key:o0[a.key].key})),b?(b.command==="insertDecimalSeparator"&&(b.label=(y=window.MathfieldElement.decimalSeparator)!=null?y:"."),a.label==="[action]"&&(b=Se(Se({},b),window.mathVirtualKeyboard.actionKeycap)),a.label==="[shift]"&&(b=Se(Se({},b),window.mathVirtualKeyboard.shiftKeycap)),a.label==="[backspace]"&&(b=Se(Se({},b),window.mathVirtualKeyboard.backspaceKeycap)),a.label==="[tab]"&&(b=Se(Se({},b),window.mathVirtualKeyboard.tabKeycap)),b):a}var Z0;function zf(a){var y;if(a.button!==0)return;const b=Q0.singleton;if(!b)return;let E=a.target;for(;E&&!E.getAttribute("data-layer");)E=E.parentElement;if(E){b.currentLayer=(y=E.getAttribute("data-layer"))!=null?y:"",a.preventDefault();return}const te=gh(a.target);if(!(te!=null&&te.id))return;const oe=b.getKeycap(te.id);if(!oe)return;console.assert(a.type==="pointerdown");const ue=new AbortController,Ae=ue.signal;te.classList.add("is-pressed"),te.addEventListener("pointerenter",Sf(ue),{capture:!0,signal:Ae}),te.addEventListener("pointerleave",Sf(ue),{capture:!0,signal:Ae}),te.addEventListener("pointercancel",Sf(ue),{signal:Ae}),te.addEventListener("pointerup",Sf(ue),{signal:Ae}),Ah(oe)&&(te.classList.add("is-active"),b.shiftPressCount++),oe.variants&&(Z0&&clearTimeout(Z0),Z0=setTimeout(()=>{te.classList.contains("is-pressed")&&(te.classList.remove("is-pressed"),te.classList.add("is-active"),a.target&&"releasePointerCapture"in a.target&&a.target.releasePointerCapture(a.pointerId),Qh(te,()=>{ue.abort(),te==null||te.classList.remove("is-active")}))},300)),a.preventDefault()}function Sf(a){return y=>{const b=gh(y.target);if(!(b!=null&&b.id))return;const E=Q0.singleton;if(!E)return;const te=E.getKeycap(b.id);if(te){if(y.type==="pointerenter"&&y.target===b&&y.isPrimary&&b.classList.add("is-pressed"),y.type==="pointercancel"){b.classList.remove("is-pressed"),Ah(te)&&(E.shiftPressCount--,b.classList.toggle("is-active",E.isShifted)),a.abort();return}if(y.type==="pointerleave"&&y.target===b){b.classList.remove("is-pressed"),Ah(te)&&(E.shiftPressCount--,b.classList.toggle("is-active",E.isShifted));return}if(y.type==="pointerup"){Z0&&clearTimeout(Z0),Ah(te)?b.classList.toggle("is-active",E.isShifted):b.classList.contains("is-pressed")&&(b.classList.remove("is-pressed"),E.isShifted&&te.shift?typeof te.shift=="string"?E.executeCommand(["insert",te.shift,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]):wp(te.shift):wp(te),E.shiftPressCount===1&&!y.shiftKey&&(E.shiftPressCount=0)),a.abort(),y.preventDefault();return}}}}function wp(a){var y;let b=a.command;!b&&a.insert&&(b=["insert",a.insert,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]),!b&&a.key&&(b=["typedText",a.key,{focus:!0,feedback:!0,simulateKeystroke:!0}]),!b&&a.latex&&(b=["insert",a.latex,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]),b||(b=["typedText",a.label,{focus:!0,feedback:!0,simulateKeystroke:!0}]),(y=Q0.singleton)==null||y.executeCommand(b)}function Mm(a){if(a.nodeType!==1)return!1;const y=a.classList;return y.contains("MLK__keycap")||y.contains("shift")||y.contains("action")||y.contains("fnbutton")||y.contains("bigfnbutton")}function gh(a){if(!a)return;let y=a;for(;y&&!Mm(y);)y=y.parentElement;return y!=null?y:void 0}function Ah(a){return!!a.class&&/(^|\s)shift($|\s)/.test(a.class)}var Q0=class Pm{constructor(){this.originalContainerBottomPadding=null,this.keycapRegistry={},this._shiftPressCount=0;var y,b,E;this.targetOrigin=window.origin,this.originValidator="none",this._alphabeticLayout="auto",this._layouts=Object.freeze(["default"]),this._editToolbar="default",this._container=(b=(y=window.document)==null?void 0:y.body)!=null?b:null,this._visible=!1,this._rebuilding=!1,this.observer=new ResizeObserver(te=>{this.adjustBoundingRect(),this.dispatchEvent(new Event("geometrychange")),this.sendMessage("geometry-changed",{boundingRect:this.boundingRect})}),this.listeners={};try{(E=window.top)==null||E.addEventListener("message",this)}catch(te){window.addEventListener("message",this)}document.body.addEventListener("focusin",te=>{const oe=te.target;oe!=null&&oe.isConnected&&setTimeout(()=>{const ue=$p();ue&&!ue.readOnly&&ue.mathVirtualKeyboardPolicy==="auto"&&Fe()&&this.show({animate:!0})},300)}),document.addEventListener("focusout",te=>{te.target.mathVirtualKeyboardPolicy!=="manual"&&setTimeout(()=>{$p()||this.hide()},300)})}get currentLayer(){var y,b,E;return(E=(b=(y=this._element)==null?void 0:y.querySelector(".MLK__layer.is-visible"))==null?void 0:b.id)!=null?E:""}set currentLayer(y){var b;if(!this._element){this.latentLayer=y;return}let E=y?this._element.querySelector(`#${y}.MLK__layer`):null;E||(E=this._element.querySelector(".MLK__layer")),E&&((b=this._element.querySelector(".MLK__layer.is-visible"))==null||b.classList.remove("is-visible"),E.classList.add("is-visible")),this.render()}get shiftPressCount(){return this._shiftPressCount}set shiftPressCount(y){var b;this._shiftPressCount=y>2||y<0?0:y,(b=this._element)==null||b.classList.toggle("is-caps-lock",this.shiftPressCount===2),this.render()}get isShifted(){return this._shiftPressCount>0}resetKeycapRegistry(){this.keycapRegistry={}}registerKeycap(y){const b="ML__k"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36);return this.keycapRegistry[b]=y,b}getKeycap(y){return y?this.keycapRegistry[y]:void 0}getLayer(y){const b=this.normalizedLayouts;for(const E of b)for(const te of E.layers)if(te.id===y)return te}get alphabeticLayout(){return this._alphabeticLayout}set alphabeticLayout(y){this._alphabeticLayout=y,this.rebuild()}get actionKeycap(){return this._actionKeycap}set actionKeycap(y){this._actionKeycap=typeof y=="string"?{label:y}:y}get shiftKeycap(){return this._shiftKeycap}set shiftKeycap(y){this._shiftKeycap=typeof y=="string"?{label:y}:y}get backspaceKeycap(){return this._backspaceKeycap}set backspaceKeycap(y){this._backspaceKeycap=typeof y=="string"?{label:y}:y}get tabKeycap(){return this._tabKeycap}set tabKeycap(y){this._tabKeycap=typeof y=="string"?{label:y}:y}get layouts(){return this._layouts}set layouts(y){this.updateNormalizedLayouts(y),this.rebuild()}updateNormalizedLayouts(y){const b=Array.isArray(y)?[...y]:[y],E=b.findIndex(te=>te==="default");E>=0&&b.splice(E,1,"numeric","symbols","alphabetic","greek"),this._layouts=Object.freeze(b),this._normalizedLayouts=b.map(te=>Ih(te))}get normalizedLayouts(){return this._normalizedLayouts||this.updateNormalizedLayouts(this._layouts),this._normalizedLayouts}get editToolbar(){return this._editToolbar}set editToolbar(y){this._editToolbar=y,this.rebuild()}get container(){return this._container}set container(y){this._container=y,this.rebuild()}static get singleton(){if(this._singleton===void 0)try{this._singleton=new Pm}catch(y){this._singleton=null}return this._singleton}get style(){return this._style}addEventListener(y,b,E){this.listeners[y]||(this.listeners[y]=new Set),this.listeners[y].has(b)||this.listeners[y].add(b)}dispatchEvent(y){return!this.listeners[y.type]||this.listeners[y.type].size===0?!0:(this.listeners[y.type].forEach(b=>{typeof b=="function"?b(y):b==null||b.handleEvent(y)}),!y.defaultPrevented)}removeEventListener(y,b,E){this.listeners[y]&&this.listeners[y].delete(b)}get element(){return this._element}set element(y){var b;this._element!==y&&((b=this._element)==null||b.remove(),this._element=y)}get visible(){return this._visible}set visible(y){y?this.show():this.hide()}get boundingRect(){var y;if(!this._visible)return new DOMRect;const b=(y=this._element)==null?void 0:y.getElementsByClassName("MLK__plate")[0];return b?b.getBoundingClientRect():new DOMRect}adjustBoundingRect(){var y,b;const E=this.boundingRect.height;if(this.container===document.body){(y=this._element)==null||y.style.setProperty("--_keyboard-height",`calc(${E}px + var(--_padding-top) + var(--_padding-bottom) + env(safe-area-inset-bottom, 0))`);const te=E-1;this.container.style.paddingBottom=this.originalContainerBottomPadding?`calc(${this.originalContainerBottomPadding} + ${te}px)`:`${te}px`}else(b=this._element)==null||b.style.setProperty("--_keyboard-height",`${E}px`)}rebuild(){if(this._rebuilding||!this._element)return;this._rebuilding=!0;const y=this.currentLayer;requestAnimationFrame(()=>{this._rebuilding=!1,this._element&&(this._element.remove(),this._element=void 0),this.visible&&(this.buildAndAttachElement(),this.currentLayer=y,this.render(),this.adjustBoundingRect(),this._element.classList.add("is-visible"))})}render(){if(!this._element)return;const y=this.getLayer(this.currentLayer);this._element.classList.toggle("backdrop-is-transparent",!!(y&&(y.backdrop||y.container)));const b=this._element.querySelectorAll(".MLK__layer.is-visible .MLK__keycap, .MLK__layer.is-visible .action, .fnbutton, .MLK__layer.is-visible .bigfnbutton, .MLK__layer.is-visible .shift");if(b)for(const E of b){const te=this.getKeycap(E.id);if(te){const[oe,ue]=nh(te,{shifted:this.isShifted});E.innerHTML=window.MathfieldElement.createHTML(oe),E.className=ue}}}show(y){var b;if(this._visible)return;const E=this.container;if(E&&window.mathVirtualKeyboard&&this.stateWillChange(!0)){if(this._element||(this.buildAndAttachElement(),this.adjustBoundingRect()),!this._visible){const te=this._element.getElementsByClassName("MLK__plate")[0];if(te&&this.observer.observe(te),E===window.document.body){const oe=E.style.paddingBottom;this.originalContainerBottomPadding=oe;const ue=te.offsetHeight-1;E.style.paddingBottom=oe?`calc(${oe} + ${ue}px)`:`${ue}px`}window.addEventListener("mouseup",this),window.addEventListener("blur",this),window.addEventListener("keydown",this,{capture:!0}),window.addEventListener("keyup",this,{capture:!0}),(b=this._element)==null||b.classList.toggle("is-caps-lock",this.shiftPressCount===2),this.currentLayer=this.latentLayer}this._visible=!0,y!=null&&y.animate?requestAnimationFrame(()=>{this._element&&(this._element.classList.add("animate"),this._element.addEventListener("transitionend",()=>{var te;return(te=this._element)==null?void 0:te.classList.remove("animate")},{once:!0}),this._element.classList.add("is-visible"),this.stateChanged())}):(this._element.classList.add("is-visible"),this.stateChanged())}}hide(y){var b;const E=this.container;if(E&&this._visible&&this.stateWillChange(!1)){if(this._visible=!1,this._element){this.latentLayer=this.currentLayer;const te=this._element.getElementsByClassName("MLK__plate")[0];te&&this.observer.unobserve(te),window.removeEventListener("mouseup",this),window.removeEventListener("blur",this),window.removeEventListener("keydown",this,{capture:!0}),window.removeEventListener("keyup",this,{capture:!0}),window.removeEventListener("contextmenu",this,{capture:!0}),X0(),Jh(),(b=this._element)==null||b.remove(),this._element=void 0,this.originalContainerBottomPadding!==null&&(E.style.paddingBottom=this.originalContainerBottomPadding)}this.stateChanged()}}get height(){var y,b;return(b=(y=this.element)==null?void 0:y.offsetHeight)!=null?b:0}buildAndAttachElement(){var y;console.assert(!this.element),this.element=_h(this),window.addEventListener("contextmenu",this,{capture:!0}),this.element.addEventListener("contextmenu",b=>{b.shiftKey||((b.ctrlKey||b.button===2)&&Qh(b.target),b.preventDefault(),b.stopPropagation())},{capture:!0}),(y=this.container)==null||y.appendChild(this.element)}handleEvent(y){if(mh(y)){if(!C0(y.origin,this.originValidator))throw new DOMException(`Message from unknown origin (${y.origin}) cannot be handled`,"SecurityError");y.data.action==="disconnect"?this.connectedMathfieldWindow=void 0:y.data.action!=="update-setting"&&y.data.action!=="proxy-created"&&y.data.action!=="execute-command"&&(console.assert(y.source!==void 0),this.connectedMathfieldWindow=y.source),this.handleMessage(y.data,y.source)}if(this._element)switch(y.type){case"mouseup":case"blur":document.body.style.userSelect="",this.shiftPressCount=0;break;case"contextmenu":y.button!==2&&y.preventDefault();break;case"keydown":{y.key==="Shift"&&!y.repeat&&(this.shiftPressCount=1);break}case"keyup":{(y.key==="Shift"||!y.getModifierState("Shift")&&this.shiftPressCount!==2)&&(this.shiftPressCount=0);break}}}handleMessage(y,b){const{action:E}=y;if(E==="execute-command"){const{command:te}=y,oe=lu(te);if(window.top!==void 0&&oe!=="virtual-keyboard")return;this.executeCommand(te);return}if((E==="connect"||E==="show")&&this.sendMessage("synchronize-proxy",{boundingRect:this.boundingRect,alphabeticLayout:this._alphabeticLayout,layouts:this._layouts,editToolbar:this._editToolbar},b),E!=="disconnect"&&window===window.top){if(E==="show"){typeof y.animate!="undefined"?this.show({animate:y.animate}):this.show();return}if(E==="hide"){typeof y.animate!="undefined"?this.hide({animate:y.animate}):this.hide();return}if(E==="update-setting"){y.alphabeticLayout&&(this.alphabeticLayout=y.alphabeticLayout),y.layouts&&(this.layouts=y.layouts),y.editToolbar&&(this.editToolbar=y.editToolbar);return}if(E==="proxy-created"){this.sendMessage("synchronize-proxy",{boundingRect:this.boundingRect,alphabeticLayout:this._alphabeticLayout,layouts:this._layouts,editToolbar:this._editToolbar},b);return}}}sendMessage(y,b,E){if(E||(E=this.connectedMathfieldWindow),this.targetOrigin===null||this.targetOrigin==="null"||E===window){window.dispatchEvent(new MessageEvent("message",{source:window,data:Se({type:i0,action:y},b)}));return}if(E)E.postMessage(Se({type:i0,action:y},b),{targetOrigin:this.targetOrigin});else if(b.command&&this.dispatchEvent(new CustomEvent("math-virtual-keyboard-command",{detail:b.command})),y==="execute-command"&&Array.isArray(b.command)&&b.command[0]==="insert"){const te=b.command[1].split("");for(const oe of te)this.dispatchEvent(new KeyboardEvent("keydown",{key:oe,bubbles:!0})),this.dispatchEvent(new KeyboardEvent("keyup",{key:oe,bubbles:!0}))}}stateWillChange(y){return this.dispatchEvent(new CustomEvent("before-virtual-keyboard-toggle",{detail:{visible:y},bubbles:!0,cancelable:!0,composed:!0}))}stateChanged(){this.dispatchEvent(new Event("virtual-keyboard-toggle")),this._visible||(this.dispatchEvent(new Event("geometrychange")),this.sendMessage("geometry-changed",{boundingRect:this.boundingRect}))}focus(){this.sendMessage("focus",{})}blur(){this.sendMessage("blur",{})}updateToolbar(y){const b=this._element;if(!b)return;b.classList.toggle("is-math-mode",y.mode==="math"),b.classList.toggle("is-text-mode",y.mode==="text"),b.classList.toggle("can-undo",y.canUndo),b.classList.toggle("can-redo",y.canRedo),b.classList.toggle("can-copy",!y.selectionIsCollapsed),b.classList.toggle("can-copy",!y.selectionIsCollapsed),b.classList.toggle("can-paste",!0);const E=b.querySelectorAll(".ML__edit-toolbar");if(E)for(const te of E)te.innerHTML=Wh(this,y)}update(y){this._style=y.style,this.updateToolbar(y)}connect(){this.connectedMathfieldWindow=window}disconnect(){this.connectedMathfieldWindow=void 0}executeCommand(y){let b,E=[],te=lu(y);return ut(y)?(b=y[0],b==="performWithFeedback"&&(y=y.slice(1),te=lu(y)),E=y.slice(1)):b=y,b=b.replace(/-\w/g,oe=>oe[1].toUpperCase()),te==="virtual-keyboard"?Jd[b].fn(void 0,...E):(this.sendMessage("execute-command",{command:y}),!1)}dispose(){window.removeEventListener("mouseup",this),window.removeEventListener("blur",this),window.removeEventListener("message",this)}};function $p(){var a,y;let b=Ao(),E=null;for(;b;){if("host"in b&&((y=(a=b.host)==null?void 0:a.tagName)==null?void 0:y.toLowerCase())==="math-field"){E=b.host;break}b=b.parentNode}return E}if(ot()&&!("mathVirtualKeyboard"in window))if(window===window.top){const a=Q0.singleton;Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>a})}else Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>Zh.singleton,configurable:!0});function tp(a){const y={};for(const b of Object.keys(a))switch(b){case"scriptDepth":const E=a.scriptDepth;if(ut(E))y.scriptDepth=[E[0],E[1]];else if(typeof E=="number")y.scriptDepth=[E,E];else if(typeof E=="string"){const[oe,ue]=E.split(",").map(Ae=>parseInt(Ae.trim()));y.scriptDepth=[oe,ue]}else throw new TypeError("Unexpected value for scriptDepth");break;case"mathVirtualKeyboardPolicy":let te=a.mathVirtualKeyboardPolicy.toLowerCase();if(te==="sandboxed"){if(window!==window.top){const oe=Q0.singleton;Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>oe})}te="manual"}y.mathVirtualKeyboardPolicy=te;break;case"letterShapeStyle":a.letterShapeStyle==="auto"?Ut.locale.startsWith("fr")?y.letterShapeStyle="french":y.letterShapeStyle="tex":y.letterShapeStyle=a.letterShapeStyle;break;case"defaultMode":["text","math","inline-math"].includes(a.defaultMode)?y.defaultMode=a.defaultMode:(console.error('MathLive 0.98.5: valid values for defaultMode are "text", "math" or "inline-math"'),y.defaultMode="math");break;case"macros":y.macros=Tt(a.macros);break;default:ut(a[b])?y[b]=[...a[b]]:typeof a[b]=="object"&&!(a[b]instanceof Element)&&b!=="computeEngine"?y[b]=Se({},a[b]):y[b]=a[b]}return y}function rh(a,y){let b;typeof y=="string"?b=[y]:y===void 0?b=Object.keys(a):b=y;const E={};for(const te of b)a[te]===null?E[te]=null:ut(a[te])?E[te]=[...a[te]]:typeof a[te]=="object"&&!(a[te]instanceof Element)&&te!=="computeEngine"?E[te]=Se({},a[te]):E[te]=a[te];return typeof y=="string"?E[y]:E}function np(){return{readOnly:!1,defaultMode:"math",macros:{},registers:{},colorMap:_t,backgroundColorMap:We,letterShapeStyle:Ut.locale.startsWith("fr")?"french":"tex",minFontScale:0,smartMode:!1,smartFence:!0,smartSuperscript:!0,scriptDepth:[1/0,1/0],removeExtraneousParentheses:!0,isImplicitFunction:a=>["\\sin","\\cos","\\tan","\\arcsin","\\arccos","\\arctan","\\arcsec","\\arccsc","\\arsinh","\\arcosh","\\artanh","\\arcsech","\\arccsch","\\arg","\\ch","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\sec","\\sinh","\\sh","\\tanh","\\tg","\\th","\\lg","\\lb","\\log","\\ln"].includes(a),mathModeSpace:"",placeholderSymbol:"\u25A2",contentPlaceholder:"",popoverPolicy:"auto",environmentPopoverPolicy:"off",keybindings:Ac,inlineShortcuts:fu,inlineShortcutTimeout:0,mathVirtualKeyboardPolicy:"auto",virtualKeyboardTargetOrigin:window==null?void 0:window.origin,originValidator:"none",onInlineShortcut:()=>"",onScrollIntoView:null,onExport:tf,value:""}}function ev(a){return a.defaultMode==="inline-math"?"math":a.defaultMode}function V0(a,y){!a||!y||(ut(a)?a.forEach(b=>V0(b,y)):typeof a=="object"&&!a.style.color&&!a.style.backgroundColor&&!a.style.fontFamily&&!a.style.fontShape&&!a.style.fontSeries&&!a.style.fontSize&&!a.style.variant&&!a.style.variantStyle&&(a.applyStyle(y),V0(a.body,y),V0(a.above,y),V0(a.below,y),V0(a.subscript,y),V0(a.superscript,y)))}function Cp(a,y,b,E){function te(ue,Ae){for(const Ee of oe)if(Ee.style[ue]!==Ae)return!1;return!0}if(y=a.normalizeRange(y),y[0]===y[1])return!1;const oe=a.getAtoms(y,{includeChildren:!0});E.operation==="toggle"&&(b.color&&te("color",b.color)&&(b.color="none",delete b.verbatimColor),b.backgroundColor&&te("backgroundColor",b.backgroundColor)&&(b.backgroundColor="none",delete b.verbatimBackgroundColor),b.fontFamily&&te("fontFamily",b.fontFamily)&&(b.fontFamily="none"),b.fontSeries&&te("fontSeries",b.fontSeries)&&(b.fontSeries="auto"),b.fontShape&&te("fontShape",b.fontShape)&&(b.fontShape="auto"),b.fontSize&&te("fontSize",b.fontSize)&&(b.fontSize=cu),b.variant&&te("variant",b.variant)&&(b.variant="normal"),b.variantStyle&&te("variantStyle",b.variantStyle)&&(b.variantStyle=""));for(const ue of oe)ue.applyStyle(b);return!0}function Im(a,y){const b=a.at(a.position);if(b.type==="composition")b.value=y;else{const{caret:E}=b;b.caret=void 0;const te=new Bf(y,{mode:b.mode});te.caret=E,b.parent.addChildAfter(te,b),a.position+=1}}function Fm(a){const y=a.at(a.position);y.type==="composition"&&(y.parent.removeChild(y),a.position-=1)}pr(["math","displaymath"],Hf),pr("center",Hf),vn("displaylines","",{parse:a=>{const y=[];let b=[];a.beginContext({tabular:!0});do{if(a.end()||a.match("<}>"))break;a.matchColumnSeparator()||a.matchRowSeparator()?(y.push([b]),b=[]):b.push(...a.scan(E=>["<}>","&","\\cr","\\\\","\\tabularnewline"].includes(E)))}while(!0);return a.endContext(),y.push([b]),y},createAtom:a=>new Rs("lines",a.args,[],{leftDelim:".",rightDelim:".",columns:[{align:"l"}]})}),Vr("array","{columns:colspec}",(a,y,b,E)=>new Rs(a,Ep(y),b,{columns:E[0],mathstyleName:"textstyle"})),Vr(["equation","equation*","subequations"],"",(a,y,b)=>new Rs(a,Ep(y),b,{columns:[{align:"c"}]})),Vr(["multline","multline*"],"",Hf),Vr(["align","align*","aligned","eqnarray"],"",Hf),Vr("split","",Hf),Vr(["gather","gathered"],"",Hf),Vr(["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],"[columns:colspec]",Hf),Vr(["smallmatrix","smallmatrix*"],"[columns:colspec]",Hf),Vr(["cases","dcases","rcases"],"",Hf);function km(a){for(const y of a)for(const b of y)if(b.length>0)return!1;return!0}function Ep(a,y=1){return km(a)?Array(y).fill([[new Ti({type:"first"}),new Wl]]):a.map(b=>b.length===0?[[new Ti({type:"first"})]]:b.map(E=>E.length===0?[new Ti({type:"first"})]:(E[0].type!=="first"&&E.unshift(new Ti({type:"first"})),E)))}function Hf(a,y=[[[]]],b=[],E=[]){switch(y=Ep(y,["split","align","align*","aligned","eqnarray"].includes(a)?2:1),a){case"math":return new Rs(a,y,b,{mathstyleName:"textstyle"});case"displaymath":return new Rs(a,y,b,{mathstyleName:"textstyle"});case"center":return new Rs(a,y,b,{columns:[{align:"c"}]});case"multline":case"multline*":return new Rs(a,y,b,{columns:[{align:"m"}],leftDelim:".",rightDelim:"."});case"split":return new Rs(a,y,b,{columns:[{align:"r"},{align:"l"}],minColumns:2});case"gather":case"gathered":return new Rs(a,y,b,{columns:[{gap:.25},{align:"c"},{gap:0}]});case"pmatrix":case"pmatrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:"(",rightDelim:")",columns:ih(E[0])});case"bmatrix":case"bmatrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:"[",rightDelim:"]",columns:ih(E[0])});case"Bmatrix":case"Bmatrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:"\\lbrace",rightDelim:"\\rbrace",columns:ih(E[0])});case"vmatrix":case"vmatrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:"\\vert",rightDelim:"\\vert",columns:ih(E[0])});case"Vmatrix":case"Vmatrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:"\\Vert",rightDelim:"\\Vert",columns:ih(E[0])});case"matrix":case"matrix*":return new Rs(a,y,b,{mathstyleName:"textstyle",leftDelim:".",rightDelim:".",columns:ih(E==null?void 0:E[0])});case"smallmatrix":case"smallmatrix*":return new Rs(a,y,b,{mathstyleName:"scriptstyle",columns:ih(E==null?void 0:E[0]),colSeparationType:"small",arraystretch:.5});case"cases":case"dcases":return new Rs(a,y,b,{mathstyleName:a==="dcases"?"displaystyle":"textstyle",arraystretch:1.2,leftDelim:"\\lbrace",rightDelim:".",columns:[{align:"l"},{gap:1},{align:"l"}]});case"rcases":return new Rs(a,y,b,{arraystretch:1.2,leftDelim:".",rightDelim:"\\rbrace",columns:[{align:"l"},{gap:1},{align:"l"}]});case"lines":return new Rs(a,y,b,{leftDelim:".",rightDelim:".",columns:[{align:"l"}]});case"align":case"align*":case"aligned":case"eqnarray":{let te=0;for(const Ae of y)te=Math.max(te,Ae.length);const oe=[{gap:0},{align:"r"},{gap:.25},{align:"l"}];let ue=2;for(;ue1){E.removeRow(te[0]);const ue=E.getCell(Math.max(0,te[0]-1),te[1]);oe=a.offsetOf(ue[ue.length-1])}break;case"column":if(E.colCount>E.minColumns){E.removeColumn(te[1]);const ue=E.getCell(te[0],Math.max(0,te[1]-1));oe=a.offsetOf(ue[ue.length-1])}break}oe&&a.setPositionHandlingPlaceholder(oe)}}function zm(a){return a.contentWillChange({inputType:"deleteContent"})?(iv(a,"row"),a.contentDidChange({inputType:"deleteContent"}),!0):!1}function Hm(a){return a.contentWillChange({inputType:"deleteContent"})?(iv(a,"column"),a.contentDidChange({inputType:"deleteContent"}),!0):!1}lo({addRowAfter:tv,addColumnAfter:nv,addRowBefore:Om,addColumnBefore:Tm,removeRow:zm,removeColumn:Hm,setEnvironment:rv},{target:"model",canUndo:!0,changeContent:!0,changeSelection:!0});function ap(){return[new Wl]}var av=class Dm{constructor(y){this.recording=!1,this.model=y,this.reset()}reset(){this.stack=[],this.index=-1,this.lastOp=""}startRecording(){this.recording=!0}stopRecording(){this.recording=!1}canUndo(){return this.index-1>=0}canRedo(){return this.stack.length-1>this.index}stopCoalescing(y){y&&this.index>=0&&(this.stack[this.index].selection=y),this.lastOp=""}undo(){return this.canUndo()?(this.model.setState(this.stack[this.index-1],{silenceNotifications:!1,type:"undo"}),this.index-=1,this.lastOp="",!0):!1}redo(){return this.canRedo()?(this.index+=1,this.model.setState(this.stack[this.index],{silenceNotifications:!1,type:"redo"}),this.lastOp="",!0):!1}pop(){this.canUndo()&&(this.stack.splice(this.index,this.stack.length-this.index),this.index-=1)}snapshot(y){return this.recording?(y&&y===this.lastOp&&this.pop(),this.stack.splice(this.index+1,this.stack.length-this.index-1),this.stack.push(this.model.getState()),this.index+=1,this.stack.length>Dm.maximumDepth&&(this.stack.shift(),this.index-=1),this.lastOp=y!=null?y:"",!0):!1}};av.maximumDepth=1e3;var jm=av;function Bp(a,y,b){if(a.at(y).mode!=="text")return y;const E=b==="backward"?-1:1;let te;if(Re.test(a.at(y).value)){let oe=y,ue;do ue=a.at(oe).mode==="text"&&Re.test(a.at(oe).value),oe+=E;while(a.at(oe)&&ue);te=a.at(oe)?oe-2*E:oe-E}else if(/\s/.test(a.at(y).value)){let oe=y;for(;a.at(oe)&&a.at(oe).mode==="text"&&/\s/.test(a.at(oe).value);)oe+=E;if(!a.at(oe))te=oe-E;else{let ue=!0;do ue=a.at(oe).mode==="text"&&!/\s/.test(a.at(oe).value),oe+=E;while(a.at(oe)&&ue);te=a.at(oe)?oe-2*E:oe-E}}else{let oe=y;for(;a.at(oe)&&a.at(oe).mode==="text"&&!/\s/.test(a.at(oe).value);)oe+=E;te=a.at(oe)?oe:oe-E;let ue=!0;for(;a.at(oe)&&ue;)ue=a.at(oe).mode==="text"&&/\s/.test(a.at(oe).value),ue&&(te=oe),oe+=E;te=a.at(oe)?oe-2*E:oe-E}return te-(E>0?0:1)}function yh(a,y,b){var E,te,oe,ue,Ae,Ee,Ne;const Ge=a.position;(E=b==null?void 0:b.extend)!=null&&E||a.collapseSelection(y);let gt=a.at(a.position);if(y==="forward"&&(gt.type==="subsup"?(gt=gt.rightSibling,gt||(gt=a.at(a.position+1))):gt=a.at(a.position+1)),!gt)return a.announce("plonk"),!1;let $t=a.offsetOf(gt);if(gt instanceof Cd)$t=Bp(a,$t,y);else if(gt instanceof cs)if(gt.isSuggestion)for(console.assert(y==="forward");gt&> instanceof cs;)gt.isSuggestion=!1,$t=a.offsetOf(gt),gt=gt.rightSibling;else if(y==="forward"){if(gt=gt.rightSibling,!gt||!(gt instanceof cs))return a.announce("plonk"),!1;for(;gt&> instanceof cs&&/[a-zA-Z\*]/.test(gt.value);)$t=a.offsetOf(gt),gt=gt.rightSibling}else{if(gt=gt.leftSibling,!gt||!(gt instanceof cs))return a.announce("plonk"),!1;for(;gt&> instanceof cs&&/[a-zA-Z\*]/.test(gt.value);)$t=a.offsetOf(gt),gt=gt.leftSibling}else if(y==="forward"&>.type==="mopen"){let kn=0;do gt.type==="mopen"?kn+=1:gt.type==="mclose"&&(kn-=1),gt=gt.rightSibling;while(!gt.isLastSibling&&kn!==0);$t=a.offsetOf(gt.leftSibling)}else if(y==="backward"&>.type==="mclose"){let kn=0;do gt.type==="mopen"?kn+=1:gt.type==="mclose"&&(kn-=1),gt=gt.leftSibling;while(!gt.isFirstSibling&&kn!==0);$t=a.offsetOf(gt)}else if(y==="backward")if(gt.type==="first")for(;$t>0&>.type==="first";)$t-=1,gt=a.at($t);else{const kn=gt.type;gt.type==="subsup"&&($t=a.offsetOf(a.at($t).leftSibling)),$t-=1;let rr=(te=a.at($t))==null?void 0:te.type;for(;$t>=0&&rr===kn;)((oe=a.at($t))==null?void 0:oe.type)==="subsup"?$t=a.offsetOf(a.at($t).leftSibling):$t-=1,rr=a.at($t).type}else{const{type:kn}=gt;let rr=(ue=a.at($t))==null?void 0:ue.type;const{lastOffset:gi}=a;for(;$t<=gi&&(rr===kn||rr==="subsup");){for(;((Ae=a.at($t).rightSibling)==null?void 0:Ae.type)==="subsup";)$t=a.offsetOf(a.at($t).rightSibling);$t+=1,rr=(Ee=a.at($t))==null?void 0:Ee.type}$t-=1}if((Ne=b==null?void 0:b.extend)!=null&&Ne){if(!a.setSelection(a.anchor,$t))return a.announce("plonk"),!1}else{if($t===a.position)return a.announce("plonk"),!1;a.position=$t}return a.announce("move",Ge),a.mathfield.stopCoalescingUndo(),!0}function l0(a,y,b){var E,te;if(b=b!=null?b:{extend:!1},a.mathfield.adoptStyle=y==="backward"?"right":"left",y!=="forward"){const[Ae,Ee]=Ec(a);Ae!==void 0&&Ee!==void 0&&a.deleteAtoms([Ae,Ee])}if(y==="upward")return Xm(a,b);if(y==="downward")return Zm(a,b);if(b.extend){let Ae=op(a,a.position,y);Ae<0&&(Ae=0),Ae>a.lastOffset&&(Ae=a.lastOffset);const Ee=a.setSelection(a.anchor,Ae);return a.mathfield.stopCoalescingUndo(),Ee}if(a.selectionIsPlaceholder){a.collapseSelection(y);const Ae=l0(a,y);return a.mathfield.stopCoalescingUndo(),Ae}let oe=a.position;const ue=oe;if(a.collapseSelection(y)?(oe=a.position,ov(a,oe)||(oe=op(a,oe,y))):oe=op(a,oe,y),oe<0||oe>a.lastOffset){let Ae=!0;return a.silenceNotifications||(Ae=(te=(E=a.mathfield.host)==null?void 0:E.dispatchEvent(new CustomEvent("move-out",{detail:{direction:y},cancelable:!0,bubbles:!0,composed:!0})))!=null?te:!0),Ae&&a.announce("plonk"),Ae}return a.setPositionHandlingPlaceholder(oe),a.mathfield.stopCoalescingUndo(),a.announce("move",ue),!0}function op(a,y,b){return y=y+(b==="forward"?1:-1),y<0||y>a.lastOffset||ov(a,y)?y:op(a,y,b)}function ov(a,y){var b;const E=a.at(y);let te=E.parent;for(;te&&!te.inCaptureSelection;)te=te.parent;return!(te!=null&&te.inCaptureSelection||(b=E.parent)!=null&&b.skipBoundary&&(!E.isFirstSibling&&E.isLastSibling||E.type==="first")||a.mathfield.hasEditablePrompts&&!E.parentPrompt)}function Rm(a,y,b){let E=1/0,te=0;for(;teNe.type==="prompt"&&!Ne.captureSelection):b,Ae=Lf(a.mathfield.getHTMLElement(y)).right,Ee=a.offsetOf(Rm(a.mathfield,ue,Ae))-(oe?1:0);if(E){const[Ne,Ge]=a.selection.ranges[0];let gt;Ee<(te==="up"?Ne:Ge)?gt={ranges:[[Ee,Ge]],direction:"backward"}:gt={ranges:[[Ne,Ee]],direction:"forward"},a.setSelection(gt)}else a.setPositionHandlingPlaceholder(Ee);a.announce(`move ${te}`)}function Xm(a,y){var b,E;const te=(b=y==null?void 0:y.extend)!=null?b:!1;te||a.collapseSelection("backward");const oe=()=>{var Ee,Ne;let Ge=!0;return a.silenceNotifications||(Ge=(Ne=(Ee=a.mathfield.host)==null?void 0:Ee.dispatchEvent(new CustomEvent("move-out",{detail:{direction:"upward"},cancelable:!0,bubbles:!0,composed:!0})))!=null?Ne:!0),a.announce(Ge?"plonk":"line"),Ge},ue=a.at(a.position);let Ae=ue;for(;Ae&&Ae.parentBranch!=="below"&&!(Array.isArray(Ae.parentBranch)&&Ae.parent instanceof Rs);)Ae=Ae.parent;if(Array.isArray(Ae==null?void 0:Ae.parentBranch)&&Ae.parent instanceof Rs){const Ee=Ae.parent;if(Ae.parentBranch[0]<1)return oe();const Ne=Ae.parentBranch[0]-1,Ge=Ee.array[Ne][Ae.parentBranch[1]];if(!Ge.some($t=>$t.type==="prompt"&&!$t.captureSelection)&&a.mathfield.hasEditablePrompts)return oe();lp(a,ue,Ge,te,"up")}else if(Ae){const Ee=(E=Ae.parent.branch("above"))!=null?E:Ae.parent.createBranch("above");if(!Ee.some(Ge=>Ge.type==="prompt"&&Ge.placeholderId)&&a.mathfield.hasEditablePrompts)return oe();lp(a,ue,Ee,te,"up")}else return oe();return a.mathfield.stopCoalescingUndo(),!0}function Zm(a,y){var b,E;const te=(b=y==null?void 0:y.extend)!=null?b:!1;te||a.collapseSelection("forward");const oe=()=>{var Ee,Ne;let Ge=!0;return a.silenceNotifications||(Ge=(Ne=(Ee=a.mathfield.host)==null?void 0:Ee.dispatchEvent(new CustomEvent("move-out",{detail:{direction:"downward"},cancelable:!0,bubbles:!0,composed:!0})))!=null?Ne:!0),a.announce(Ge?"plonk":"line"),Ge},ue=a.at(a.position);let Ae=ue;for(;Ae&&Ae.parentBranch!=="above"&&!(Array.isArray(Ae.parentBranch)&&Ae.parent instanceof Rs);)Ae=Ae.parent;if(Array.isArray(Ae==null?void 0:Ae.parentBranch)&&Ae.parent instanceof Rs){const Ee=Ae.parent;if(Ae.parentBranch[0]+1>Ee.array.length-1)return oe();const Ne=Ae.parentBranch[0]+1,Ge=Ee.array[Ne][Ae.parentBranch[1]];if(!Ge.some($t=>$t.type==="prompt"&&!$t.captureSelection)&&a.mathfield.hasEditablePrompts)return oe();lp(a,ue,Ge,te,"down")}else if(Ae){const Ee=(E=Ae.parent.branch("below"))!=null?E:Ae.parent.createBranch("below");if(!Ee.some(Ge=>Ge.type==="prompt")&&a.mathfield.hasEditablePrompts)return oe();lp(a,ue,Ee,te,"down")}else return oe();return!0}function lv(a){const y=a.position,b=a.at(y).parent;return b!=null&&b.parent?(a.position=a.offsetOf(b),a.mathfield.stopCoalescingUndo(),a.announce("move",y),!0):(a.announce("plonk"),!1)}function Qm(a){let y=0,b=a.at(a.position),E=!1;for(;b;)(!b.hasEmptyBranch("superscript")||!b.hasEmptyBranch("subscript"))&&(y+=1),b.hasEmptyBranch("superscript")?b.hasEmptyBranch("subscript")||(E=!1):E=!0,b=b.parent;return E?y:0}function Vm(a){let y=0,b=a.at(a.position),E=!1;for(;b;)(!b.hasEmptyBranch("superscript")||!b.hasEmptyBranch("subscript"))&&(y+=1),b.hasEmptyBranch("superscript")?b.hasEmptyBranch("subscript")||(E=!0):E=!1,b=b.parent;return E?y:0}function sv(a){var y;if(a.collapseSelection(),Qm(a)>=a.mathfield.options.scriptDepth[1])return a.announce("plonk"),!1;let b=a.at(a.position);return b.subsupPlacement===void 0&&(((y=b.rightSibling)==null?void 0:y.type)!=="subsup"&&b.parent.addChildAfter(new et({style:b.computedStyle}),b),b=b.rightSibling),b.createBranch("superscript"),a.setSelection(a.getSiblingsRange(a.offsetOf(b.superscript[0]))),!0}function uv(a){var y;if(a.collapseSelection(),Vm(a)>=a.mathfield.options.scriptDepth[0])return a.announce("plonk"),!1;let b=a.at(a.position);return b.subsupPlacement===void 0&&(((y=a.at(a.position+1))==null?void 0:y.type)!=="subsup"&&b.parent.addChildAfter(new et({style:a.at(a.position).computedStyle}),b),b=a.at(a.position+1)),b.createBranch("subscript"),a.setSelection(a.getSiblingsRange(a.offsetOf(b.subscript[0]))),!0}function Km(){function a(Ee){const Ne=[],Ge=[];return[...Ee.querySelectorAll(`input, select, textarea, a[href], button, + [tabindex], audio[controls], video[controls], + [contenteditable]:not([contenteditable="false"]), details>summary`)].filter(y).forEach(($t,kn)=>{const rr=E($t);rr===0?Ne.push($t):Ge.push({documentOrder:kn,tabIndex:rr,node:$t})}),Ge.sort(($t,kn)=>$t.tabIndex===kn.tabIndex?$t.documentOrder-kn.documentOrder:$t.tabIndex-kn.tabIndex).map($t=>$t.node).concat(Ne)}function y(Ee){return!(!b(Ee)||te(Ee)||E(Ee)<0)}function b(Ee){return!(Ee.disabled||Ee.type==="hidden"&&Ee.tagName.toUpperCase()==="INPUT"||Ae(Ee))}function E(Ee){var Ne;const Ge=Number.parseInt((Ne=Ee.getAttribute("tabindex"))!=null?Ne:"NaN",10);return Number.isNaN(Ge)?Ee.contentEditable==="true"||(Ee.nodeName==="AUDIO"||Ee.nodeName==="VIDEO")&&Ee.getAttribute("tabindex")===null?0:Ee.tabIndex:Ge}function te(Ee){return Ee.tagName.toUpperCase()==="INPUT"&&Ee.type==="radio"&&!ue(Ee)}function oe(Ee,Ne){for(const Ge of Ee)if(Ge.checked&&Ge.form===Ne)return Ge;return null}function ue(Ee){var Ne;if(!Ee.name)return!0;const gt=((Ne=Ee.form)!=null?Ne:Ee.ownerDocument).querySelectorAll('input[type="radio"][name="'+Ee.name+'"]'),$t=oe(gt,Ee.form);return!$t||$t===Ee}function Ae(Ee){if(!ot()||Ee===document.activeElement||Ee.contains(document.activeElement))return!1;if(getComputedStyle(Ee).visibility==="hidden")return!0;const Ne=Ee.getBoundingClientRect();if(Ne.width===0||Ne.height===0)return!0;for(;Ee;){if(getComputedStyle(Ee).display==="none")return!0;Ee=Ee.parentElement}return!1}return ot()?a(document.body):[]}function qd(a,y,b="forward"){const E=a.position;if(Array.isArray(y)){const te=a.offsetOf(y[0]),oe=a.offsetOf(y[y.length-1]);return b==="forward"?a.setSelection(te,oe):a.setSelection(oe,te),a.announce("move",E),a.mathfield.stopCoalescingUndo(),!0}return b==="forward"?qd(a,[y.leftSibling,y]):qd(a,[y,y.leftSibling])}function qf(a,y){const b=a.position;if(typeof y=="number"&&(y=a.at(y)),y.type==="prompt")a.setSelection(a.offsetOf(y.firstChild),a.offsetOf(y.lastChild));else{const E=a.offsetOf(y);y.type==="placeholder"?a.setSelection(E-1,E):a.position=E}return a.announce("move",b),a.mathfield.stopCoalescingUndo(),!0}function sp(a,y,b=!0){var E,te;const oe=y==="forward"?1:-1;a.at(a.anchor).type==="placeholder"&&l0(a,y);let ue;const Ae=a.at(a.anchor).parentPrompt;Ae?y==="forward"?ue=a.offsetOf(Ae)+1:ue=a.offsetOf(Ae.leftSibling):ue=Math.max(a.position+oe,0);const Ee=Pp(a,ue,y);if(!Ee||y==="forward"&&a.offsetOf(Ee)ue){if(!b||!((te=(E=a.mathfield.host)==null?void 0:E.dispatchEvent(new CustomEvent("move-out",{detail:{direction:y},cancelable:!0,bubbles:!0,composed:!0})))==null||te))return a.announce("plonk"),!1;const Ge=Km();if(!document.activeElement||Ge.length<=1)return a.announce("plonk"),!1;let gt=Ge.indexOf(document.activeElement)+oe;return gt<0&&(gt=Ge.length-1),gt>=Ge.length&&(gt=0),Ge[gt].focus(),a.mathfield.stopCoalescingUndo(),!0}return qf(a,Ee),!0}function Pp(a,y=0,b="forward"){return a.findAtom(E=>E.type==="placeholder"||E.type==="prompt"||!a.mathfield.readOnly&&E.treeDepth>2&&E.isFirstSibling&&E.isLastSibling,y,b)}lo({moveToOpposite:a=>{const y={superscript:"subscript",subscript:"superscript",above:"below",below:"above"},b=a.at(a.position),{parent:E}=b;if(!E)return a.announce("plonk"),!1;const te=b.parentBranch;let oe;if(typeof te=="string"&&(oe=y[te]),!oe){const Ae=b.subsupPlacement?uv(a):sv(a);return a.mathfield.stopCoalescingUndo(),Ae}E.branch(oe)||E.createBranch(oe);const ue=a.setSelection(a.getBranchRange(a.offsetOf(E),oe));return a.mathfield.stopCoalescingUndo(),ue},moveBeforeParent:a=>{const{parent:y}=a.at(a.position);return y?(a.position=a.offsetOf(y),a.mathfield.stopCoalescingUndo(),!0):(a.announce("plonk"),!1)},moveAfterParent:a=>lv(a),moveToNextChar:a=>l0(a,"forward"),moveToPreviousChar:a=>l0(a,"backward"),moveUp:a=>l0(a,"upward"),moveDown:a=>l0(a,"downward"),moveToNextWord:a=>yh(a,"forward"),moveToPreviousWord:a=>yh(a,"backward"),moveToGroupStart:a=>{const y=a.offsetOf(a.at(a.position).firstSibling);return y===a.position?(a.announce("plonk"),!1):(a.position=y,a.mathfield.stopCoalescingUndo(),!0)},moveToGroupEnd:a=>{const y=a.offsetOf(a.at(a.position).lastSibling);return y===a.position?(a.announce("plonk"),!1):(a.position=y,a.mathfield.stopCoalescingUndo(),!0)},moveToNextGroup:a=>{var y,b,E,te;if(a.position===a.lastOffset&&a.anchor===a.lastOffset)return sp(a,"forward");const oe=a.at(a.position);if(oe.mode==="text"){if(a.selectionIsCollapsed){let $t=oe;for(;$t&&$t.mode==="text";)$t=$t.leftSibling;let kn=oe;for(;((y=kn.rightSibling)==null?void 0:y.mode)==="text";)kn=kn.rightSibling;if($t&&kn)return qd(a,[$t,kn])}if(oe.rightSibling.mode==="text"){let $t=oe;for(;$t&&$t.mode==="text";)$t=$t.rightSibling;return $t?(qf(a,(b=$t.leftSibling)!=null?b:$t),a.mathfield.switchMode("math"),!0):qf(a,a.lastOffset)}}const Ae=a.at(a.anchor).parentPrompt,Ee=Ae?a.offsetOf(Ae)+1:Math.max(a.position+1,0),Ne=Pp(a,Ee,"forward");if(Ne)return qf(a,Ne);const Ge=cv(a,oe,$t=>$t.type==="leftright"||$t.type==="text","forward");if(Ge){if(Ge.mode==="text"){let $t=Ge;for(;$t&&$t.mode==="text";)$t=$t.rightSibling;return qd(a,[(E=Ge.leftSibling)!=null?E:Ge,(te=$t.leftSibling)!=null?te:$t])}return qd(a,Ge)}const gt=oe.parent;if(gt){if(gt.type==="leftright"||gt.type==="surd")return qd(a,gt);if(oe.parentBranch==="superscript"&>.subscript)return qd(a,gt.subscript);if(oe.parentBranch==="above"&>.below)return qd(a,gt.below);if(oe.parentBranch==="superscript"||oe.parentBranch==="subscript")return qf(a,gt);if(oe.parentBranch==="above"||oe.parentBranch==="below")return qd(a,gt)}return qf(a,a.lastOffset)},moveToPreviousGroup:a=>{var y;if(a.position===0&&a.anchor===0)return sp(a,"backward");let b=a.at(a.position);const E=b.mode;if(E==="text"){if(a.selectionIsCollapsed){let Ae=b;for(;Ae&&Ae.mode==="text";)Ae=Ae.leftSibling;let Ee=b;for(;((y=Ee.rightSibling)==null?void 0:y.mode)==="text";)Ee=Ee.rightSibling;if(Ae&&Ee)return qd(a,[Ae,Ee])}for(;b&&b.mode==="text";)b=b.leftSibling;return b?qf(a,b):qf(a,0)}const te=a.at(a.anchor).parentPrompt,oe=te?a.offsetOf(te.leftSibling):Math.max(a.position-1,0),ue=Pp(a,oe,"backward");if(ue)return qf(a,ue);if(E==="math"){const Ae=cv(a,b,Ne=>Ne.type==="leftright"||Ne.type==="text","backward");if(Ae){if(Ae.mode==="text"){let Ne=Ae;for(;Ne&&Ne.mode==="text";)Ne=Ne.leftSibling;return qd(a,[Ae,Ne])}return qd(a,Ae)}const Ee=b.parent;if(Ee){if(Ee.type==="leftright"||Ee.type==="surd")return qd(a,Ee);if(b.parentBranch==="subscript"&&Ee.superscript)return qd(a,Ee.superscript);if(b.parentBranch==="below"&&Ee.above)return qd(a,Ee.above);if(b.parentBranch==="superscript"||b.parentBranch==="subscript")return qf(a,Ee);if(b.parentBranch==="above"||b.parentBranch==="below")return qd(a,Ee)}return qf(a,0)}return!1},moveToMathfieldStart:a=>a.selectionIsCollapsed&&a.position===0?(a.announce("plonk"),!1):(a.position=0,a.mathfield.stopCoalescingUndo(),!0),moveToMathfieldEnd:a=>a.selectionIsCollapsed&&a.position===a.lastOffset?(a.announce("plonk"),!1):(a.position=a.lastOffset,a.mathfield.stopCoalescingUndo(),!0),moveToSuperscript:sv,moveToSubscript:uv},{target:"model",changeSelection:!0}),lo({moveToNextPlaceholder:a=>sp(a,"forward"),moveToPreviousPlaceholder:a=>sp(a,"backward")},{target:"model",changeSelection:!0,audioFeedback:"return"});function cv(a,y,b,E){if(E==="forward"){let oe=y.rightSibling;for(;oe&&!b(oe);)oe=oe.rightSibling;return oe}let te=y.leftSibling;for(;te&&!b(te);)te=te.leftSibling;return te}function up(a,y,b){typeof y=="function"&&(b=y,y=1/0),y===void 0&&(y=1/0);let E=a.position,te=!1,oe="";for(;!te;){const ue=a.at(E);te=y===0||ue===void 0||ue.type==="first"||ue.mode!=="math"||!(ue.type&&/mord|mpunct|operator/.test(ue.type)||ue.type==="mop"&&/[a-zA-Z ]+/.test(ue.value))||!ue.hasEmptyBranch("superscript")||!ue.hasEmptyBranch("subscript")||typeof b=="function"&&!b(ue),te||(ue.mode="text",ue.command=ue.value,ue.verbatimLatex=void 0,oe+=ue.value),E-=1,y-=1}a.contentDidChange({data:oe,inputType:"insertText"})}function lh(a,y,b){typeof y=="function"&&(b=y,y=1/0),y===void 0&&(y=1/0);let E=a.position,te=!1;const oe=[];for(;!te;){const ue=a.at(E);te=y===0||!ue||ue.type==="first"||ue.isFirstSibling||ue.mode!=="text"||ue.value===" "||typeof b=="function"&&!b(ue),te||(oe.push(Ti.serialize([ue],{defaultMode:"math"})),ue.mode="math"),E-=1,y-=1}Dp(a),a.contentDidChange({data:Js(oe),inputType:"insertText"})}function Dp(a){var y;let b=a.position-1;for(;b>=0&&((y=a.at(b))==null?void 0:y.mode)==="math";)b-=1;if(!(b<0)&&a.at(b).mode==="text"&&a.at(b).value===" "&&a.at(b-1).mode==="math"){a.at(b-1).parent.removeChild(a.at(b-1));const E=a.silenceNotifications;a.silenceNotifications=!0,a.position-=1,a.silenceNotifications=E,a.contentDidChange({inputType:"deleteContent"})}}function Wm(a){let y="",b=a.position,E=!1;for(;!E;){const te=a.at(b);E=!(te&&(te.mode==="text"||te.mode==="math"&&te.type&&/mord|mpunct/.test(te.type))),E||(y=te.value+y),b-=1}return y}function Gm(a,y,b){const{model:E}=a;if(E.mode==="latex"||!E.at(E.position).isLastSibling||!b||!Wo(b))return!1;const te=Ui(b);if(!E.selectionIsCollapsed)return!!(a.model.mode==="text"&&/[/_^]/.test(te));const oe=Wm(E)+te;if(a.model.mode==="text"){if(y==="Esc"||/[/\\]/.test(te))return!0;if(/[\^_]/.test(te))return/(^|\s)[a-zA-Z][^_]$/.test(oe)&&lh(E,1),!0;const ue={")":"(","}":"{","]":"["}[te],{parent:Ae}=E.at(E.position);if(ue&&Ae instanceof se&&Ae.leftDelim===ue)return!0;if(/(^|[^a-zA-Z])(a|I) $/.test(oe))return!1;if(/[$€£₤₺¥¤฿¢₡₧₨₹₩₱]/u.test(te))return!0;if(/(^|[^a-zA-Z'’])[a-zA-Z] $/.test(oe))return lh(E,1),!1;if(/\D\.[^\d\s]$/.test(oe)){lh(E,1);const Ee=E.at(E.position);return Ee.value="\u22C5",Ee.style.variant="normal",Ee.command="\\cdot",Ee.verbatimLatex=void 0,E.contentDidChange({data:"\\cdot",inputType:"insertText"}),!0}if(/(^|\s)[a-zA-Z][^a-zA-Z]$/.test(oe)||/\.\d$/.test(oe)||/\([\d+\-.]$/.test(oe))return lh(E,1),!0;if(/\([a-z][,;]$/.test(oe))return lh(E,2),!0;if(/[\d+\-=><*|]$/.test(te))return Dp(E),!0}else{if(y==="[Space]")return up(E,void 0,ue=>/[a-z][:,;.]$/.test(ue.value)),!0;if(/[a-zA-Z]{3,}$/.test(oe)&&!/(dxd|abc|xyz|uvw)$/.test(oe))return up(E,void 0,ue=>/[a-zA-Z]/.test(ue.value)),!0;if(/(^|\W)(if)$/i.test(oe))return up(E,1),!0;if(/(\u0393|\u0394|\u0398|\u039B|\u039E|\u03A0|\u03A3|\u03A5|\u03A6|\u03A8|\u03A9|[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5){3,}$/u.test(oe)&&!/(αβγ)$/.test(oe))return up(E,void 0,ue=>/(:|,|;|.|\u0393|\u0394|\u0398|\u039B|\u039E|\u03A0|\u03A3|\u03A5|\u03A6|\u03A8|\u03A9|[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5)/u.test(ue.value)),!0;if(te==="?"||te==="."&&!/[\d-+]\.$/.test(oe))return!0}return!1}function Um(a,y){if(!a.isSelectionEditable||!a.keystrokeCaptionVisible)return;const b=dv(),E=a.element.getBoundingClientRect();b.style.left=`${E.left}px`,b.style.top=`${E.top-64}px`,b.innerHTML=window.MathfieldElement.createHTML(""+(Aa(y)||y)+""+b.innerHTML),b.style.visibility="visible",setTimeout(()=>{b.childNodes.length>0&&b.childNodes[b.childNodes.length-1].remove(),b.childNodes.length===0&&(b.style.visibility="hidden")},3e3)}function Ym(a){if(a.keystrokeCaptionVisible=!a.keystrokeCaptionVisible,a.keystrokeCaptionVisible){const y=dv();y.innerHTML=""}else{const y=Pd("mathlive-keystroke-caption-panel");y.style.visibility="hidden"}return!1}function dv(){const a=document.getElementById("mathlive-keystroke-caption-panel");return a||(td("keystroke-caption"),td("core"),Pd("mathlive-keystroke-caption-panel"))}function Jm(){document.getElementById("mathlive-keystroke-caption-panel")&&(Of("mathlive-keystroke-caption-panel"),x("core"),x("keystroke-caption"))}function fv(a,y){var b,E,te;const{model:oe}=a,ue=aa(y);if(y.isTrusted){$r(y);const kn=Vi();a.keyboardLayout!==kn.id&&(a.keyboardLayout=kn.id,a._keybindings=void 0)}if(clearTimeout(a.inlineShortcutBufferFlushTimer),a.inlineShortcutBufferFlushTimer=0,Um(a,ue),y.isTrusted&&y.defaultPrevented)return a.flushInlineShortcutBuffer(),!1;let Ae,Ee="",Ne;const Ge=a.inlineShortcutBuffer;if(a.isSelectionEditable){if(oe.mode==="math")if(ue==="[Backspace]")Ge.pop();else if(!Wo(y))a.flushInlineShortcutBuffer();else{const kn=Ui(y),rr=[...(E=(b=Ge[Ge.length-1])==null?void 0:b.keystrokes)!=null?E:[],kn];Ge.push({state:oe.getState(),keystrokes:rr,leftSiblings:qm(a)});let gi=0,no="";for(;!Ae&&gi(Os.insert(oe,Ae,{format:"latex",style:kn}),Dp(a.model),Ae.endsWith(" ")&&(a.switchMode("text"),Os.insert(oe," ",{style:kn,mode:"text"})),a.snapshot(),oe.selectionIsCollapsed||a.flushInlineShortcutBuffer(),!0)),a.dirty=!0,oe.announce("replacement")}return a.scrollIntoView(),y.preventDefault&&y.preventDefault(),!1}function Sp(a,y,b){const{model:E}=a;if(!a.isSelectionEditable){E.announce("plonk");return}b!=null||(b={}),b.focus&&a.focus(),b.feedback&&window.MathfieldElement.playSound("keypress"),typeof b.mode=="string"&&(a.switchMode(b.mode),a.snapshot());let te=Tc(y);const oe=window.mathVirtualKeyboard;if(oe!=null&&oe.isShifted&&(te=typeof te=="string"?te.toUpperCase():te.map(Ee=>Ee.toUpperCase())),b.simulateKeystroke){let Ee=!0;for(const Ne of te)fv(a,new KeyboardEvent("keypress",{key:Ne}))&&(Ee=!1);if(Ee)return}const ue=E.at(E.position),Ae=Se(Se({},ue.computedStyle),a.defaultStyle);if(E.selectionIsCollapsed||(E.deleteAtoms(Sc(E.selection)),a.snapshot("delete")),E.mode==="latex")E.deferNotifications({content:!0,selection:!0,data:y,type:"insertText"},()=>{Lu(a);for(const Ee of te)Os.insert(E,Ee);a.snapshot("insert-latex"),Bc(a)});else if(E.mode==="text"){for(const Ee of te)Os.insert(E,Ee,{style:Ae});a.snapshot("insert-text")}else if(E.mode==="math")for(const Ee of te)_m(a,Ee,Ae,ue);a.dirty=!0,a.scrollIntoView()}function qm(a){const y=a.model,b=[];let E=y.at(Math.min(y.position,y.anchor));for(;E.type!=="first";)b.push(E),E=E.leftSibling;return b}function _m(a,y,b,E){const te=a.model;let oe={"^":"moveToSuperscript",_:"moveToSubscript"," ":"moveAfterParent"}[y];if(y===" "&&a.options.mathModeSpace&&(oe=["insert",a.options.mathModeSpace]),oe){a.executeCommand(oe);return}if(/\d/.test(y)&&a.options.smartSuperscript&&E.parentBranch==="superscript"&&E.parent.type!=="mop"&&E.parent.type!=="operator"&&E.parent.type!=="extensible-symbol"&&E.hasNoSiblings){$m(te),Os.insert(te,y,{style:b}),a.snapshot(),lv(te),a.snapshot();return}if(/[a-zA-Z0-9]/.test(y)&&a.adoptStyle!=="none"){const ue=a.adoptStyle==="left"?E:E.parent?E.rightSibling:null;(ue==null?void 0:ue.type)==="mord"&&/[a-zA-Z0-9]/.test(ue.value)&&(b=Se({},b),ue.style.variant&&(b.variant=ue.style.variant),ue.style.variantStyle&&(b.variantStyle=ue.style.variantStyle))}Os.insert(te,y,{style:b}),a.snapshot(`insert-${te.at(te.position).type}`)}function $m(a){a.selectionIsCollapsed||(a.deleteAtoms(Sc(a.selection)),a.mathfield.snapshot("delete"))}function Mp(a,y,b){if(!y||a.mode!=="math")return!1;const E=a.at(a.position),{parent:te}=E,oe={"(":"(",")":")","{":"\\lbrace","}":"\\rbrace","[":"\\lbrack","]":"\\rbrack","|":"|"}[y];if(!oe)return!1;const ue=ne[oe],Ae=re[oe];if(!a.selectionIsCollapsed){a.mathfield.snapshot();const[Ee,Ne]=Sc(a.selection),Ge=a.extractAtoms([Ee,Ne]),gt=te.addChildrenAfter([new se("left...right",Ge,{leftDelim:oe,rightDelim:Ae})],a.at(Ee));return a.setSelection(a.offsetOf(gt.firstChild),a.offsetOf(gt.lastChild)),a.mathfield.snapshot("insert-fence"),a.contentDidChange({data:oe,inputType:"insertText"}),!0}if(oe==="|"){const Ee=te instanceof se?te.leftDelim+te.rightDelim:"";if(Ee==="\\lbrace\\rbrace"||Ee==="\\{\\}"||Ee==="\\lbrace?")return a.mathfield.snapshot(),Os.insert(a,"\\,\\middle\\vert\\,",{format:"latex",style:b}),a.mathfield.snapshot("insert-fence"),a.contentDidChange({data:oe,inputType:"insertText"}),!0}if(Ae){if(te instanceof se&&te.firstChild===E&&(te.leftDelim==="?"||te.leftDelim==="."))return te.leftDelim=oe,te.isDirty=!0,a.mathfield.snapshot(),a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;if(!(te instanceof se)){let gt=E;for(;gt&&!(gt.type==="mclose"&>.value===Ae);)gt=gt.rightSibling;if(gt){a.mathfield.snapshot();const $t=a.extractAtoms([a.offsetOf(E),a.offsetOf(gt)]);return $t.pop(),te.addChildrenAfter([new se("left...right",$t,{leftDelim:oe,rightDelim:Ae})],E),a.position=a.offsetOf(te.firstChild)+1,a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}}const Ee=a.offsetOf(E.lastSibling);let Ne;for(Ne=a.position;Ne<=Ee;Ne++){const gt=a.at(Ne);if(gt instanceof se&&(gt.leftDelim==="?"||gt.leftDelim===".")&&hv(oe,gt.rightDelim))break}const Ge=a.at(Ne);if(Ne<=Ee&&Ge instanceof se){Ge.leftDelim=oe,a.mathfield.snapshot();let gt=a.extractAtoms([a.position,Ne-1]);return gt=gt.filter($t=>$t.type!=="first"),Ge.addChildren(gt,Ge.parentBranch),a.position+=1,a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}if(te instanceof se&&(te.leftDelim==="?"||te.leftDelim===".")&&hv(oe,te.rightDelim)){te.isDirty=!0,te.leftDelim=oe,a.mathfield.snapshot();const gt=a.extractAtoms([a.offsetOf(E.firstSibling),a.position]);for(const $t of gt)te.parent.addChildBefore($t,te);return a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}if(!(te instanceof se&&te.leftDelim==="|")){if(a.mathfield.snapshot(),Os.insert(a,`\\left${oe}\\right?`,{format:"latex",style:b}),E.lastSibling.type!=="first"){const gt=a.offsetOf(E.lastSibling),$t=a.extractAtoms([a.position,gt]);a.at(a.position).body=$t,a.position-=1}return a.mathfield.snapshot("insert-fence"),!0}}if(ue){let Ee=E;for(;Ee;){if(Ee.type==="mopen"&&Ee.value===ue){a.mathfield.snapshot();const kn=Ee.leftSibling,rr=a.extractAtoms([a.offsetOf(Ee.leftSibling),a.offsetOf(E)]);rr.shift();const gi=new se("left...right",rr,{leftDelim:ue,rightDelim:oe});return te.addChildrenAfter([gi],kn),a.position=a.offsetOf(gi),a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}Ee=Ee.leftSibling}if(te instanceof se&&E.isLastSibling&&Ip(te.leftDelim,oe))return a.mathfield.snapshot(),te.isDirty=!0,te.rightDelim=oe,a.position+=1,a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;const Ne=a.offsetOf(E.firstSibling);let Ge;for(Ge=a.position;Ge>=Ne;Ge--){const kn=a.at(Ge);if(kn instanceof se&&(kn.rightDelim==="?"||kn.rightDelim===".")&&Ip(kn.leftDelim,oe))break}const gt=a.at(Ge);if(Ge>=Ne&> instanceof se)return a.mathfield.snapshot(),gt.rightDelim=oe,gt.addChildren(a.extractAtoms([Ge,a.position]),gt.parentBranch),a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;if(te instanceof se&&(te.rightDelim==="?"||te.rightDelim===".")&&Ip(te.leftDelim,oe))return a.mathfield.snapshot(),te.isDirty=!0,te.rightDelim=oe,te.parent.addChildren(a.extractAtoms([a.position,a.offsetOf(E.lastSibling)]),te.parentBranch),a.position=a.offsetOf(te),a.contentDidChange({data:oe,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;const $t=te.parent;return $t instanceof se&&($t.rightDelim==="?"||$t.rightDelim===".")&&a.at(a.position).isLastSibling?(a.position=a.offsetOf($t),Mp(a,oe,b)):!1}return!1}function Ip(a,y){return a?["(","\\lparen","{","\\{","\\lbrace","[","\\lbrack"].includes(a)?[")","\\rparen","}","\\}","\\rbrace","]","\\rbrack"].includes(y):re[a]===y:!0}function hv(a,y){return y?[")","\\rparen","}","\\}","\\rbrace","]","\\rbrack"].includes(y)?["(","\\lparen","{","\\{","\\lbrace","[","\\lbrack"].includes(a):ne[y]===a:!0}lo({undo:a=>(a.undo(),!0),redo:a=>(a.redo(),!0),scrollIntoView:a=>(a.scrollIntoView(),!0),scrollToStart:a=>(a.field.scroll(0,0),!0),scrollToEnd:a=>{const y=a.field.getBoundingClientRect();return a.field.scroll(y.left-window.scrollX,0),!0},toggleKeystrokeCaption:Ym,toggleContextMenu:a=>{const y=a.toggleContextMenu();return y||a.model.announce("plonk"),y},plonk:a=>(a.model.announce("plonk"),!0),switchMode:(a,y,b,E)=>(a.switchMode(y,b,E),!0),insert:(a,y,b)=>a.insert(y,b),typedText:(a,y,b)=>(Sp(a,y,b),!0),insertDecimalSeparator:a=>{const y=a.model;return y.mode==="math"&&window.MathfieldElement.decimalSeparator===","&&y.at(Math.max(y.position,y.anchor)).isDigit()?(a.insert("{,}",{format:"latex"}),a.snapshot("insert-mord"),!0):(a.insert("."),!0)},commit:a=>{var y;return a.model.contentWillChange({inputType:"insertLineBreak"})&&((y=a.host)==null||y.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),a.model.contentDidChange({inputType:"insertLineBreak"})),!0},insertPrompt:(a,y,b)=>{const E=a.getPrompts();let te="prompt-"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36),oe=0;for(;E.includes(te)&&oe<100;){if(oe===99)return console.error("could not find a unique ID after 100 tries"),!1;te="prompt-"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36),oe++}return a.insert(`\\placeholder[${y!=null?y:te}]{}`,b),!0}}),lo({copyToClipboard:a=>(a.focus(),a.model.selectionIsCollapsed&&a.select(),"queryCommandSupported"in document&&document.queryCommandSupported("copy")?document.execCommand("copy"):a.element.querySelector(".ML__keyboard-sink").dispatchEvent(new ClipboardEvent("copy",{bubbles:!0,composed:!0})),!1)},{target:"mathfield"}),lo({cutToClipboard:a=>(a.focus(),"queryCommandSupported"in document&&document.queryCommandSupported("cut")?document.execCommand("cut"):a.element.querySelector(".ML__keyboard-sink").dispatchEvent(new ClipboardEvent("cut",{bubbles:!0,composed:!0})),!0),pasteFromClipboard:a=>(a.focus(),"queryCommandSupported"in document&&document.queryCommandSupported("paste")?(document.execCommand("paste"),!0):(navigator.clipboard.readText().then(y=>{y&&a.model.contentWillChange({inputType:"insertFromPaste",data:y})?(a.stopCoalescingUndo(),a.stopRecording(),a.insert(y,{mode:a.model.mode})&&(Bc(a),a.startRecording(),a.snapshot("paste"),a.model.contentDidChange({inputType:"insertFromPaste"}),ju(a))):a.model.announce("plonk"),a.startRecording()}),!0))},{target:"mathfield",canUndo:!0,changeContent:!0,changeSelection:!0});function eg(a,y){a.flushInlineShortcutBuffer(),a.stopCoalescingUndo();const b=Fp(a,y),{model:E}=a;return E.selectionIsCollapsed?(a.defaultStyle.fontSeries&&b.fontSeries===a.defaultStyle.fontSeries&&(b.fontSeries="auto"),b.fontShape&&b.fontShape===a.defaultStyle.fontShape&&(b.fontShape="auto"),b.color&&b.color===a.defaultStyle.color&&(b.color="none"),b.backgroundColor&&b.backgroundColor===a.defaultStyle.backgroundColor&&(b.backgroundColor="none"),b.fontSize&&b.fontSize===a.defaultStyle.fontSize&&(b.fontSize="auto"),a.defaultStyle=Se(Se({},a.defaultStyle),b)):a.model.deferNotifications({content:!0,type:"insertText"},()=>{E.selection.ranges.forEach(te=>Cp(E,te,b,{operation:"toggle"})),a.snapshot("style-change")}),!0}lo({applyStyle:eg},{target:"mathfield",canUndo:!0,changeContent:!0});function Fp(a,y){var b,E,te,oe,ue,Ae,Ee,Ne,Ge,gt;const $t={};if(typeof y.color=="string"){const rr=(E=a.colorMap((b=y.color)!=null?b:y.verbatimColor))!=null?E:"none";rr!==y.color&&($t.verbatimColor=(te=y.verbatimColor)!=null?te:y.color),$t.color=rr}if(typeof y.backgroundColor=="string"){const rr=(ue=a.backgroundColorMap((oe=y.backgroundColor)!=null?oe:y.verbatimBackgroundColor))!=null?ue:"none";rr!==y.backgroundColor&&($t.verbatimBackgroundColor=(Ae=y.verbatimBackgroundColor)!=null?Ae:y.backgroundColor),$t.backgroundColor=rr}typeof y.fontFamily=="string"&&($t.fontFamily=y.fontFamily),typeof y.series=="string"&&($t.fontSeries=y.series),typeof y.fontSeries=="string"&&($t.fontSeries=y.fontSeries.toLowerCase()),$t.fontSeries&&($t.fontSeries=(Ee={bold:"b",medium:"m",normal:"m"}[$t.fontSeries])!=null?Ee:$t.fontSeries),typeof y.shape=="string"&&($t.fontShape=y.shape),typeof y.fontShape=="string"&&($t.fontShape=y.fontShape.toLowerCase()),$t.fontShape&&($t.fontShape=(Ne={italic:"it",up:"n",upright:"n",normal:"n"}[$t.fontShape])!=null?Ne:$t.fontShape),y.variant&&($t.variant=y.variant.toLowerCase()),y.variantStyle&&($t.variantStyle=y.variantStyle.toLowerCase());const kn=(Ge=y.size)!=null?Ge:y.fontSize;return typeof kn=="number"?$t.fontSize=Math.max(1,Math.min(10,kn)):typeof kn=="string"&&($t.fontSize=(gt={size1:1,size2:2,size3:3,size4:4,size5:5,size6:6,size7:7,size8:8,size9:9,size10:10}[kn.toLowerCase()])!=null?gt:{tiny:1,scriptsize:2,footnotesize:3,small:4,normal:5,normalsize:5,large:6,Large:7,LARGE:8,huge:9,Huge:10}[kn]),$t}function kp(a){let[y,b]=Sc(a.selection);if(y=pv(a,y,"backward"),b=pv(a,b,"forward"),y===b){const E=a.at(y);if(E.type==="leftright")return a.setSelection(a.offsetOf(E.firstChild)-1,b);if(E.type==="first"&&(E.parent.type==="leftright"||E.parent.type==="surd"))return a.setSelection(y-1,a.offsetOf(E.parent.lastChild)+1);a.setSelection(y-1,b)}else a.setSelection(y,b);return!0}function pv(a,y,b){var E,te,oe;let ue=a.at(y);if(!ue)return y;const Ae=b==="forward"?1:-1;if(ue.mode==="text"){for(;ue&&!(ue.mode!=="text"||!Re.test(ue.value));)y+=Ae,ue=a.at(y);return b==="backward"?y-1:y}if(ue.mode==="latex"){if(/[a-zA-Z\*]/.test(ue.value))if(b==="backward")for(;ue&&ue.mode==="latex"&&ue.value!=="\\"&&/[a-zA-Z]/.test(ue.value);)y+=Ae,ue=a.at(y);else for(;ue&&ue.mode==="latex"&&/[a-zA-Z\*]/.test(ue.value);)y+=Ae,ue=a.at(y);else if(ue.value==="{"){if(b==="forward"){for(;ue&&ue.mode==="latex"&&ue.value!=="}";)y+=Ae,ue=a.at(y);return y}return y-1}else if(ue.value==="}"){if(b==="backward"){for(;ue&&ue.mode==="latex"&&ue.value!=="{";)y+=Ae,ue=a.at(y);return y-1}return y}return y-1}if(ue.mode==="math"){if(ue.isDigit()){for(;(E=a.at(y+Ae))!=null&&E.isDigit();)y+=Ae;return b==="backward"?y-1:y}if(ue.style.variant||ue.style.variantStyle){let Ee=(te=a.at(y))==null?void 0:te.style;for(;Ee&&Ee.variant===ue.style.variant&&Ee.variantStyle===ue.style.variantStyle;)Ee=(oe=a.at(y+Ae))==null?void 0:oe.style,y+=Ae;return b==="backward"?y-1:y}return y}return y}lo({selectGroup:a=>{const y=kp(a);return y||a.announce("plonk"),y},selectAll:a=>a.setSelection(0,a.lastOffset),extendSelectionForward:a=>l0(a,"forward",{extend:!0}),extendSelectionBackward:a=>l0(a,"backward",{extend:!0}),extendToNextWord:a=>yh(a,"forward",{extend:!0}),extendToPreviousWord:a=>yh(a,"backward",{extend:!0}),extendSelectionUpward:a=>l0(a,"upward",{extend:!0}),extendSelectionDownward:a=>l0(a,"downward",{extend:!0}),extendToNextBoundary:a=>yh(a,"forward",{extend:!0}),extendToPreviousBoundary:a=>yh(a,"backward",{extend:!0}),extendToGroupStart:a=>{const y=a.setSelection(a.anchor,a.offsetOf(a.at(a.position).firstSibling));return y||a.announce("plonk"),y},extendToGroupEnd:a=>{const y=a.setSelection(a.anchor,a.offsetOf(a.at(a.position).lastSibling));return y||a.announce("plonk"),y},extendToMathFieldStart:a=>{const y=a.setSelection(a.anchor,0);return y||a.announce("plonk"),y},extendToMathFieldEnd:a=>{const y=a.setSelection(a.anchor,a.lastOffset);return y||a.announce("plonk"),y}},{target:"model",changeSelection:!0});var sh=null,kh=0,cp=class Rf{static start(y,b,E,te){var oe;Rf.element=y,(oe=Rf.controller)==null||oe.abort(),Rf.controller=new AbortController;const ue={signal:Rf.controller.signal};"PointerEvent"in window?(y.addEventListener("pointermove",E,ue),y.addEventListener("pointerup",te,ue),y.addEventListener("pointercancel",te,ue),Np(b)&&(Rf.pointerId=b.pointerId,y.setPointerCapture(b.pointerId))):(window.addEventListener("mousemove",E,ue),window.addEventListener("blur",te,ue),window.addEventListener("mouseup",te,ue))}static stop(){var y;(y=Rf.controller)==null||y.abort(),Rf.controller=void 0,typeof Rf.pointerId=="number"&&(Rf.element.releasePointerCapture(Rf.pointerId),Rf.pointerId=void 0)}};function Np(a){return a!==null&&globalThis.PointerEvent!==void 0&&a instanceof PointerEvent}function vv(a,y){var b;if(y.buttons>1)return;a.atomBoundsCache=new Map;const E=a;let te,oe=!1,ue=!1,Ae="none",Ee=!1,Ne=!1;const Ge=y.clientX,gt=y.clientY,$t=Date.now(),kn=E.field,rr=setInterval(()=>{Ee?kn.scroll({top:0,left:kn.scrollLeft-16}):Ne&&kn.scroll({top:0,left:kn.scrollLeft+16})},32);function gi(){cp.stop(),oe=!1,clearInterval(rr),a.element.classList.remove("tracking"),y&&y.preventDefault()}function no(la){if(!E.hasFocus()){gi();return}const po=la.clientX,Ba=la.clientY,Tl=Np(la)&&la.pointerType==="touch"?20:5;if(Date.now()<$t+500&&Math.abs(Ge-po)as.right,Ee=po=0&&Tu>=0&&(E.model.extendSelectionTo(Gl,Tu),ju(a)),ue&&kp(E.model)}sh&&Math.abs(sh.x-Ge)<5&&Math.abs(sh.y-gt)<5&&Date.now()=si.left&&Ge<=si.right&>>=si.top&><=si.bottom){if(a.flushInlineShortcutBuffer(),a.adoptStyle="left",te=Nh(a,Ge,gt,{bias:0}),te>=0){if(a.element.classList.add("tracking"),y.shiftKey){const la=a.model.selectionIsCollapsed;a.model.extendSelectionTo(a.model.anchor,te),jc(a.model)||la?Ae="all":Ae="selection"}else a.model.at(te).type==="placeholder"?(a.model.setSelection(te-1,te),Ae="selection"):((b=a.model.at(te).rightSibling)==null?void 0:b.type)==="placeholder"?(a.model.setSelection(te,te+1),Ae="selection"):(a.model.position=te,jc(a.model)?Ae="all":Ae="selection");a.defaultStyle={},y.detail===3||kh>2?(gi(),(y.detail===3||kh===3)&&(a.model.selection={ranges:[[0,a.model.lastOffset]]},Ae="all")):oe||(oe=!0,cp.start(kn,y,no,gi),(y.detail===2||kh===2)&&(ue=!0,kp(a.model),Ae="all"))}a.hasFocus()||(Ae="none",a.focus({preventScroll:!0}))}else sh=null;a.stopCoalescingUndo(),Ae!=="none"&&(a.model.selectionIsCollapsed&&(Ae="all"),ju(a)),y.preventDefault()}function tg(a,y,b){if(a>=b.left&&a<=b.right&&y>=b.top&&y<=b.bottom)return 0;const E=a-(b.left+b.right)/2,te=y-(b.top+b.bottom)/2;return E*E+te*te}function mv(a,y,b,E,te){if(!b.id)return[1/0,null];if(y.has(b.id))return y.get(b.id);const oe=vd(a,b);if(!oe)return[1/0,null];let ue=[1/0,null];if(b.hasChildren&&!b.captureSelection&&E>=oe.left&&E<=oe.right)for(const Ae of b.children){const Ee=mv(a,y,Ae,E,te);Ee[0]<=ue[0]&&(ue=Ee)}return ue[1]||(ue=[tg(E,te,oe),b]),y.set(b.id,ue),ue}function ng(a,y,b){const[,E]=mv(a,new Map,a.model.root,y,b);return E}function Nh(a,y,b,E){var te;const oe=a.field.querySelector(".ML__latex").getBoundingClientRect();if(!oe)return 0;if(y>oe.right||b>oe.bottom+8)return a.model.lastOffset;if(y0?(Ne.push(Ge),Ge=[rr]):Ge.push(rr);Ge.length>0&&Ne.push(Ge);let gt=Number(Ee.parentBranch[0]),$t=Number(Ee.parentBranch[1]);const kn=Ee.parent.maxColumns;for(;Ee.parent.colCount-$t=kn&&($t=0,Ee.parent.addRowAfter(gt),gt++),Ee.parent.setCell(gt,$t,Ne[rr])}else Ee.parent.addChildrenAfter(ue.filter(Ne=>Ne.type!=="first"),Ee);return Ae.position=Ae.offsetOf(ue[ue.length-1]),Ae.contentDidChange({inputType:"insertFromPaste"}),ju(a),!0}}catch(oe){}if(te=typeof y!="string"?y.getData("application/json"):"",te&&window.MathfieldElement.computeEngine)try{const oe=JSON.parse(te);if(typeof oe=="object"&&"latex"in oe&&oe.latex&&(b=oe.latex),!b){const ue=window.MathfieldElement.computeEngine.box(oe);ue&&!ue.has("Error")&&(b=ue.latex)}b||(E="latex")}catch(oe){}if(!b&&typeof y!="string"&&(b=y.getData("application/x-latex"),b&&(E="latex")),b||(b=typeof y=="string"?y:y.getData("text/plain")),b){let oe;return[oe,b]=Mc(b),E==="auto"&&oe&&(E="latex"),a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,b,{format:E})&&(a.startRecording(),a.snapshot("paste"),ju(a)),a.startRecording(),!0}return!1}insert(a,y,b){var E,te;const oe=typeof y=="string"?y:(te=(E=window.MathfieldElement.computeEngine)==null?void 0:E.box(y).latex)!=null?te:"";if(!b.silenceNotifications&&!a.contentWillChange({data:oe,inputType:"insertText"}))return!1;b.insertionMode||(b.insertionMode="replaceSelection"),b.selectionMode||(b.selectionMode="placeholder"),b.format||(b.format="auto");const{silenceNotifications:ue}=a;b.silenceNotifications&&(a.silenceNotifications=!0);const Ae=a.silenceNotifications;a.silenceNotifications=!0;const Ee={"?":"\\placeholder{}","@":"\\placeholder{}"};Ee[0]=b.insertionMode==="replaceAll"?"":a.getValue(a.selection,"latex-unstyled"),b.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Sc(a.selection)):b.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):b.insertionMode==="insertBefore"?a.collapseSelection("backward"):b.insertionMode==="insertAfter"&&a.collapseSelection("forward"),!a.at(a.position).isLastSibling&&a.at(a.position+1).type==="placeholder"?a.deleteAtoms([a.position,a.position+1]):a.at(a.position).type==="placeholder"&&a.deleteAtoms([a.position-1,a.position]);let Ne=-1;Ee[0]?Ee["@"]=Ee[0]:typeof y=="string"&&/(^|[^\\])#@/.test(y)&&(Ne=ag(a),Ne>=0&&(Ee["@"]=a.getValue(Ne,a.position,"latex"))),Ee[0]||(Ee[0]=Ee["?"]);let Ge=!1;const gt=po=>(Ge=!0,Ee[po]);let[$t,kn]=gv(a,y,gt,b);if(!kn)return!1;const rr=kn.length===1&&kn[0].type==="genfrac";rr&&Ne>=0&&typeof a.mathfield.options.isImplicitFunction=="function"&&a.mathfield.options.isImplicitFunction(a.at(a.position).command)?(Ee["@"]=Ee["?"],Ge=!1,[$t,kn]=gv(a,y,gt,b)):Ne>=0&&a.deleteAtoms([Ne,a.position]);const{parent:gi}=a.at(a.position),no=gi.hasEmptyBranch("body");if(rr&&$t!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&gi instanceof se&&gi.leftDelim==="("&&no){const po=gi.parent,Ba=gi.parentBranch;po.removeChild(gi),po.setChildren(kn,Ba)}const si=a.at(a.position);si.parent.addChildrenAfter(kn,si),$t==="latex"&&typeof y=="string"&&(gi==null?void 0:gi.type)==="root"&&no&&!Ge&&(gi.verbatimLatex=y),a.silenceNotifications=Ae;const la=kn[kn.length-1];if(b.selectionMode==="placeholder"){const po=kn.flatMap(Ba=>[Ba,...Ba.children]).find(Ba=>Ba.type==="placeholder");if(po){const Ba=a.offsetOf(po);a.setSelection(Ba-1,Ba),a.announce("move")}else la&&(a.position=a.offsetOf(la))}else b.selectionMode==="before"||(b.selectionMode==="after"?la&&(a.position=a.offsetOf(la)):b.selectionMode==="item"&&a.setSelection(a.anchor,a.offsetOf(la)));return a.contentDidChange({data:oe,inputType:"insertText"}),a.silenceNotifications=ue,!0}};function gv(a,y,b,E){var te;let oe,ue=[];if(typeof y!="string"||E.format==="math-json"){const Ae=window.MathfieldElement.computeEngine;if(!Ae)return["math-json",[]];[oe,y]=["latex",Ae.box(y).latex],ue=hn(y,{context:a.mathfield.context})}else typeof y=="string"&&E.format==="ascii-math"?([oe,y]=Nl(y,{format:"ascii-math",inlineShortcuts:a.mathfield.options.inlineShortcuts}),ue=hn(y,{context:a.mathfield.context}),oe!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&dp(ue)):(E.format==="auto"||(te=E.format)!=null&&te.startsWith("latex"))&&(E.format==="auto"&&([oe,y]=Nl(y,{format:"auto",inlineShortcuts:a.mathfield.options.inlineShortcuts})),E.format==="latex"&&([,y]=Mc(y)),ue=hn(y,{context:a.mathfield.context,args:b}),E.format!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&dp(ue));return V0(ue,E.style),[oe!=null?oe:"latex",ue]}function ig(a){if(!a||(console.assert(a[0].type==="first"),a.length>1))return null;const y=a[0];return y instanceof se&&y.leftDelim==="("&&y.rightDelim===")"?y.removeBranch("body"):null}function dp(a){if(a){for(let y=0;a[y];y++){const b=a[y];if(b instanceof se&&b.leftDelim==="("){let E=0,te=0,oe=0;for(let ue=0;b.body[ue];ue++)b.body[ue].type==="genfrac"&&(E++,te=ue),oe++;oe===0&&E===1&&(a[y]=b.body[te])}}for(const y of a){for(const b of y.branches)if(!y.hasEmptyBranch(b)){dp(y.branch(b));const E=ig(y.branch(b));E&&y.setChildren(E,b)}if(y instanceof Rs)for(const b of y.cells)dp(b)}}}function ag(a){let y=a.at(a.position);if(y.mode==="text"){for(;!y.isFirstSibling&&y.mode==="text";)y=y.leftSibling;return a.offsetOf(y)}const b=y;let E=!1;if(y.type==="mclose"){const te=ne[y.value];for(;!y.isFirstSibling&&!(y.type==="mopen"&&y.value===te);)y=y.leftSibling;y.isFirstSibling||(y=y.leftSibling),E=!0}else y.type==="leftright"&&(y=y.leftSibling,E=!0);if(E)for(;!y.isFirstSibling&&(y.isFunction||Av(y));)y=y.leftSibling;else{const te=[];for(;!y.isFirstSibling&&(Av(y)||te.length>0);)y.type==="mclose"&&te.unshift(y.value),y.type==="mopen"&&te.length>0&&y.value===ne[te[0]]&&te.shift(),y=y.leftSibling}return b===y?-1:a.offsetOf(y)}function Av(a){return a.isDigit()?!0:a.type&&/^(mord|surd|subsup|leftright|mop|mclose)$/.test(a.type)?!a.isExtensibleSymbol:!1}new rg;var og=class extends Os{constructor(){super("text")}onPaste(a,y){if(!y)return!1;const b=typeof y=="string"?y:y.getData("text/plain");return b&&a.model.contentWillChange({inputType:"insertFromPaste",data:b})?(a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,b)&&(a.model.contentDidChange({inputType:"insertFromPaste"}),a.startRecording(),a.snapshot("paste"),ju(a)),a.startRecording(),!0):!1}insert(a,y,b={}){if(!a.contentWillChange({data:y,inputType:"insertText"}))return!1;b.insertionMode||(b.insertionMode="replaceSelection"),b.selectionMode||(b.selectionMode="placeholder"),b.format||(b.format="auto");const{silenceNotifications:E}=a;b.silenceNotifications&&(a.silenceNotifications=!0);const te=a.silenceNotifications;a.silenceNotifications=!0,b.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Sc(a.selection)):b.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):b.insertionMode==="insertBefore"?a.collapseSelection("backward"):b.insertionMode==="insertAfter"&&a.collapseSelection("forward");const oe=lg(y,a.mathfield.context);if(V0(oe,b.style),!oe)return!1;const ue=a.at(a.position),Ae=ue.parent.addChildrenAfter(oe,ue);return a.silenceNotifications=te,b.selectionMode==="before"||(b.selectionMode==="item"?a.setSelection(a.anchor,a.offsetOf(Ae)):Ae&&(a.position=a.offsetOf(Ae))),a.contentDidChange({data:y,inputType:"insertText"}),a.silenceNotifications=E,!0}};function lg(a,y){return a=a.replace(/\\/g,"\\textbackslash "),a=a.replace(/#/g,"\\#"),a=a.replace(/\$/g,"\\$"),a=a.replace(/%/g,"\\%"),a=a.replace(/&/g,"\\&"),a=a.replace(/_/g,"\\_"),a=a.replace(/{/g,"\\textbraceleft "),a=a.replace(/}/g,"\\textbraceright "),a=a.replace(/lbrace/g,"\\textbraceleft "),a=a.replace(/rbrace/g,"\\textbraceright "),a=a.replace(/\^/g,"\\textasciicircum "),a=a.replace(/~/g,"\\textasciitilde "),a=a.replace(/£/g,"\\textsterling "),hn(a,{context:y,parseMode:"text"})}new og;function s0(a){return{value:a.model.getValue(),selectionIsCollapsed:a.model.selectionIsCollapsed,canUndo:a.canUndo(),canRedo:a.canRedo(),style:a.selectionStyle,mode:a.model.mode}}var bc=4,sf=20,_c=2*(sf+bc),fp=(a,y)=>` + + + + + `,yv=(a,y)=>` + + + + + `,hp=(a,y,b)=>` + + + + + + `,sg=` + + + + + ${hp(2*(bc+_c),2*bc+3*_c,0)} + + + ${hp(2*(bc+_c),2*bc+_c,180)} + + + ${hp(2*bc+3*_c,2*(bc+_c),-90)} + + + ${hp(2*bc+_c,2*(bc+_c),90)} + + + + + ${fp(2*bc+_c,bc)} + + + ${yv(2*bc+2*_c,bc)} + + + ${fp(2*bc+3*_c,bc)} + + + ${fp(bc,2*bc+_c)} + + + ${yv(bc,2*bc+2*_c)} + + + ${fp(bc,2*bc+3*_c)} + +`,ug=a=>` + + + + + `,cg=a=>` + + + + + + + `,bv=a=>` + + + + + + + +`,dg=a=>` + + + + + + + +`,fg=a=>` + + + + + + + +`,hg=a=>` + + + + + + + + + +`,pg=a=>` + + + + + + + +`,vg=a=>` + + + + + + + +`,Lp={matrix:ug,pmatrix:cg,bmatrix:dg,Bmatrix:bv,vmatrix:fg,Vmatrix:hg},Op={cases:pg,rcases:vg,Bmatrix:bv};function mg(a){var y,b;const E=(y=a.model.parentEnvironment)==null?void 0:y.array;if(!E)return;let te=0;E.forEach(rr=>{(!te||rr.length>te)&&(te=rr.length)});let oe=document.getElementById("mathlive-environment-popover");oe||(oe=Pd("mathlive-environment-popover"),td("environment-popover"),td("core"),oe.setAttribute("aria-hidden","true"));let ue;const Ae=oe.querySelector(".MLEP__environment-controls");Ae?ue=Ae:(ue=document.createElement("div"),oe.innerHTML="",oe.appendChild(ue)),ue.className="MLEP__environment-controls",ue.style.display="flex",ue.style.width="100%",ue.style.height="100%",ue.style.boxSizing="border-box",ue.innerHTML=sg;let Ee=[],Ne="";const Ge=a.model.parentEnvironment.environmentName;if(nd(Ge)){const rr=Ag(Ge);Ne=Lp[rr]("active");const gi=Lp,{[rr]:no}=gi,si=tt(gi,[pt(rr)]);Ee=Object.values(si).map(la=>la("inactive"))}else if(Jc(Ge)){const rr=yg(Ge);Ne=Op[rr]("active");const gi=Op,{[rr]:no}=gi,si=tt(gi,[pt(rr)]);Ee=Object.values(si).map(la=>la("inactive"))}else wc(Ge)&&(Ne=Lp.matrix("active"),Ee=Object.values(Op).map(rr=>rr("inactive")));const gt=document.createElement("div");gt.className="MLEP__environment-delimiter-controls",gt.style.display="flex",gt.style.flexDirection="column",gt.innerHTML=` +
    + ${Ne} + ${Ee.join("")} +
    `,Ne&&ue.appendChild(gt),ue.querySelectorAll("[data-command]").forEach(rr=>{const gi=rr.dataset.command;let no=gi;try{no=JSON.parse(gi)}catch(si){}rr.addEventListener("mousedown",si=>si.preventDefault()),no&&rr.addEventListener("click",()=>a.executeCommand(no))});const kn=(b=a.field)==null?void 0:b.getBoundingClientRect();kn&&(oe.style.top=`${window.scrollY+(kn.top-oe.clientHeight-15)}px`,oe.style.left=`${kn.left+20}px`,oe.classList.add("is-visible"))}function Tp(){const a=document.getElementById("mathlive-environment-popover");a==null||a.classList.remove("is-visible")}function gg(){document.getElementById("mathlive-environment-popover")&&(Of("mathlive-environment-popover"),x("environment-popover"),x("core"))}function pp(a){if(!a.hasFocus())return;let y=!1;if(a.model.mode==="math"){const b=a.model.parentEnvironment;if(b!=null&&b.array&&pc(b.environmentName)){const E=a.options.environmentPopoverPolicy;y=E==="auto"||E==="on"}}y?mg(a):Tp()}function Ag(a){return a.replace("*","")}function yg(a){return a==="dcases"?"cases":a}function xv(a){const y=getComputedStyle(a).direction;return y==="ltr"||y==="rtl"?y:"ltr"}function wv(a,y,b){return y==="left"||y==="leading"&&b==="ltr"||y==="trailing"&&b==="rtl"?a.left:a.right}function zp(a,y,b,E){return b==="middle"?a-y/2:b==="start"&&E==="rtl"||b==="end"&&E==="ltr"||b==="top"||b==="right"?Math.max(0,a-y):a}function bg(a,y,b,E){return b==="middle"?a-y/2:b==="start"&&E==="ltr"||b==="end"&&E==="rtl"||b==="top"||b==="right"?a:a-y}function xg(a,y){var b,E,te;const oe=(b=xv(a))!=null?b:"ltr";a.style.position="fixed",a.style.left="",a.style.top="",a.style.right="",a.style.bottom="",a.style.height="",a.style.width="";const ue=a.getBoundingClientRect(),Ae=Number.isFinite(y.maxHeight)?Math.min(y.maxHeight,window.innerHeight):window.innerHeight;let Ee=Math.min(Ae,(E=y.height)!=null?E:ue.height),Ne=zp(y.location.y,Ee,y.verticalPos,oe);Ne+Ee>window.innerHeight-8&&(y.alternateLocation?(Ne=zp(y.alternateLocation.y,Ee,y.verticalPos,oe),Ne+Ee>window.innerHeight-8&&(Ne=void 0)):Ne=void 0),Number.isFinite(Ne)||(Ne=Math.max(8,window.innerHeight-8-Ee),8+Ee>window.innerHeight-8&&(a.style.bottom="8px")),Ee=Math.min(Ne+Ee,window.innerHeight-8)-Ne;const Ge=Number.isFinite(y.maxWidth)?Math.min(y.maxWidth,window.innerWidth):window.innerWidth;let gt=Math.min(Ge,(te=y.width)!=null?te:ue.width),$t=zp(y.location.x,gt,y.horizontalPos,oe);$t+gt>window.innerWidth-8&&(y.alternateLocation?($t=bg(y.alternateLocation.x,gt,y.verticalPos,oe),$t+gt>window.innerWidth-8&&($t=void 0)):$t=void 0),Number.isFinite($t)||($t=Math.max(8,window.innerWidth-8-gt),8+gt>window.innerWidth-8&&(a.style.right="8px")),gt=Math.min($t+gt,window.innerWidth-8)-$t,oe==="rtl"?a.style.right=`${Math.ceil(window.innerWidth-$t-gt).toString()}px`:a.style.left=`${Math.ceil($t).toString()}px`,a.style.top=`${Math.ceil(Ne).toString()}px`,Ee!==ue.height&&(a.style.height=`${Math.ceil(Ee).toString()}px`),gt!==ue.width&&(a.style.width=`${Math.ceil(gt).toString()}px`)}function wg(a,y){return Math.hypot(y.x-a.x,y.y-a.y)}function bh(a){return"submenu"in a}function u0(a){return"type"in a&&a.type==="command"||"onMenuSelect"in a||"id"in a}function Hp(a){return"type"in a&&a.type==="divider"}function jp(a){return"type"in a&&a.type==="heading"}var Cv={};function Rp(a){let y=Cv[a];if(!y){let b;switch(a){case"checkmark":b=``;break;case"trailing-chevron":b='';break;case"mixedmark":b=''}if(b){const E=document.createElement("template");E.innerHTML=b,Cv[a]=E,y=E}}if(y){if("content"in y)return y.content.cloneNode(!0);const b=document.createElement("svg");return b.innerHTML=y.innerHTML,b}}var Ev=80,Bv=class{constructor(a,y){this._element=null;var b;this.parentMenu=y,this._declaration=a,bh(a)?(this.type="submenu",this.submenu=new Pv(a.submenu,{parentMenu:y,submenuClass:a.submenuClass,columnCount:a.columnCount})):this.type=(b=a.type)!=null?b:"command",this.hasCheck=u0(a)&&a.checked!==void 0}get rootMenu(){return this.parentMenu.rootMenu}get abortController(){return this._abortController||(this._abortController=new AbortController),this._abortController}dispose(){var a,y;(a=this._abortController)==null||a.abort(),this._abortController=void 0,(y=this._element)==null||y.remove(),this._element=null,this.submenu&&this.submenu.dispose(),this.submenu=void 0}get menuItem(){return this._declaration}get label(){var a;return(a=this._label)!=null?a:""}set label(a){a===void 0&&(a=""),a!==this._label&&(this._label=a,this.dirty=!0)}get visible(){return this._visible}set visible(a){a!==this._visible&&(this._visible=a,this.dirty=!0)}get enabled(){return this._enabled}set enabled(a){this._enabled=a,this.element&&(a?this.element.removeAttribute("aria-disabled"):this.element.setAttribute("aria-disabled","true")),this.dirty=!0}get checked(){return this._checked}set checked(a){this._checked=a,this.dirty=!0}get tooltip(){return this._tooltip}set tooltip(a){a!==this._tooltip&&(this._tooltip=a,this.dirty=!0)}get ariaLabel(){return this._ariaLabel}set ariaLabel(a){a!==this._ariaLabel&&(this._ariaLabel=a,this.dirty=!0)}get active(){var a,y;return(y=(a=this.element)==null?void 0:a.classList.contains("active"))!=null?y:!1}set active(a){this.element&&this.element.classList.toggle("active",a)}updateState(a){var y,b,E;const te=this._declaration;if(Hp(te)){this.enabled=!1,this.checked=!1;return}jp(te)&&(this.enabled=!1,this.checked=!1,this.visible=!0),u0(te)&&(this.checked=u0(te)&&((y=xh(te.checked,a))!=null?y:!1)),(u0(te)||bh(te))&&(this.enabled=(b=xh(te.enabled,a))!=null?b:!0,this.visible=(E=xh(te.visible,a))!=null?E:!0,this.visible&&this.enabled&&this.submenu&&(this.submenu.updateState(a),this.submenu.visible||(this.visible=!1))),(u0(te)||jp(te)||bh(te))&&(this.label=xh(te.label,a),this.tooltip=xh(te.tooltip,a),this.ariaLabel=xh(te.ariaLabel,a)),this._element&&this.updateElement()}set dirty(a){console.assert(a===!0),a&&this.parentMenu&&(this.parentMenu.dirty=!0)}updateElement(){if(!this.visible||!this.element)return;const a=this.element;a.textContent="",this.enabled?a.removeAttribute("aria-disabled"):a.setAttribute("aria-disabled","true"),this.checked===!0?(a.setAttribute("aria-checked","true"),a.append(Rp("checkmark"))):this.checked==="mixed"?(a.setAttribute("aria-checked","mixed"),a.append(Rp("mixedmark"))):a.removeAttribute("aria-checked"),this.ariaLabel&&a.setAttribute("aria-label",this.ariaLabel);const y=document.createElement("span");if(y.className=this.parentMenu.hasCheck?"label indent":"label",this.type==="heading"&&y.classList.add("heading"),y.innerHTML=this.label,a.append(y),this._tooltip&&a.setAttribute("data-tooltip",this._tooltip),u0(this._declaration)&&this._declaration.keyboardShortcut){const b=document.createElement("kbd");b.innerHTML=Aa(this._declaration.keyboardShortcut),a.append(b)}this.type==="submenu"&&a.append(Rp("trailing-chevron"))}get element(){if(this._element)return this._element;if(Hp(this._declaration)){const b=document.createElement("li");return b.setAttribute("part","menu-divider"),b.setAttribute("role","divider"),this._element=b,b}const a=document.createElement("li");this._element=a,(u0(this._declaration)||jp(this._declaration)||bh(this._declaration))&&this._declaration.class&&(a.className=this._declaration.class),a.setAttribute("part","menu-item"),a.setAttribute("tabindex","-1"),this.hasCheck?a.setAttribute("role","menuitemcheckbox"):a.setAttribute("role","menuitem"),this.type==="submenu"&&(a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded","false"));const y=this.abortController.signal;return a.addEventListener("pointerenter",this,{signal:y}),a.addEventListener("pointerleave",this,{signal:y}),a.addEventListener("pointerup",this,{signal:y}),a.addEventListener("click",this,{signal:y}),this._element}dispatchSelect(){if(!u0(this._declaration))return;const a=new CustomEvent("menu-select",{cancelable:!0,bubbles:!0,detail:{modifiers:this.rootMenu.modifiers,id:this._declaration.id,data:this._declaration.data}});this.parentMenu.dispatchEvent(a)&&typeof this._declaration.onMenuSelect=="function"&&this._declaration.onMenuSelect({modifiers:this.rootMenu.modifiers,id:this._declaration.id,data:this._declaration.data})}handleEvent(a){var y;if(!(!this.visible||!this.enabled)){if(a.type==="click"){this.rootMenu.state==="modal"&&this.select(),a.stopPropagation(),a.preventDefault();return}if(a.type==="pointerenter"){const b=a;this.rootMenu.cancelDelayedOperation(),this.parentMenu.isSubmenuOpen&&((y=this.parentMenu.activeMenuItem)!=null&&y.movingTowardSubmenu(b))?this.rootMenu.scheduleOperation(()=>{this.parentMenu.activeMenuItem=this,this.openSubmenu()}):(this.parentMenu.activeMenuItem=this,this.openSubmenu({withDelay:!0}));return}if(a.type==="pointerleave"){this.rootMenu.activeSubmenu===this.parentMenu&&(this.parentMenu.activeMenuItem=null);return}if(a.type==="pointerup"){this.rootMenu.state!=="modal"&&this.select(),a.stopPropagation(),a.preventDefault();return}}}select(){if(this.rootMenu.cancelDelayedOperation(),this.type==="submenu"){this.openSubmenu();return}this.active=!1,setTimeout(()=>{this.active=!0,setTimeout(()=>{this.rootMenu.hide(),this.dispatchSelect()},Ev)},Ev)}openSubmenu(a){var y;if(this.type!=="submenu"||!this.element)return;if((y=a==null?void 0:a.withDelay)!=null&&y){this.rootMenu.scheduleOperation(()=>this.openSubmenu());return}const b=this.element.getBoundingClientRect(),E=xv(this.element);this.submenu.show({container:this.rootMenu.element.parentNode,location:{x:wv(b,"trailing",E),y:b.top-4},alternateLocation:{x:wv(b,"leading",E),y:b.top-4}})}movingTowardSubmenu(a){if(!this.element||this.type!=="submenu")return!1;const y=this.rootMenu.lastMoveEvent;if(!y)return!1;const b=a.timeStamp-y.timeStamp;if(b>500)return!1;const E=a.clientX-y.clientX;if(Cg(E,y.clientY-a.clientY,b)<=.2)return!1;let oe="right";if(this.submenu.element){const ue=this.submenu.element.getBoundingClientRect(),Ae=this.element.getBoundingClientRect();ue.left0:E<0}};function Cg(a,y,b){return Math.hypot(a,y)/b}function xh(a,y){return a===void 0||typeof a!="function"?a:(y!=null||(y={alt:!1,control:!1,shift:!1,meta:!1}),a(y))}var Pv=class Mh{constructor(y,b){this._element=null,this._activeMenuItem=null,this._dirty=!0;var E,te;this.parentMenu=(E=b==null?void 0:b.parentMenu)!=null?E:null,this._submenuClass=b==null?void 0:b.submenuClass,this.columnCount=(te=b==null?void 0:b.columnCount)!=null?te:1,this.isSubmenuOpen=!1,this.menuItems=y}get children(){return this._menuItems}set menuItems(y){const b=this.parentMenu;this.dispose(),this.parentMenu=b,y=[...y],this._menuItems=y.map(E=>E.onCreate?E.onCreate(E,this):new Bv(E,this)),this.hasCheck=void 0,this.dirty=!0}dispose(){var y;this.hide(),this._element&&this._element.remove(),this._abortController&&this._abortController.abort(),(y=this._menuItems)==null||y.forEach(b=>b.dispose()),this._menuItems=[],this._activeMenuItem=null,this.parentMenu=null}handleEvent(y){if(y.type==="wheel"&&this._element){const b=y;this._element.scrollBy(0,b.deltaY),y.stopPropagation()}}dispatchEvent(y){return this.rootMenu.dispatchEvent(y)}get rootMenu(){return this.parentMenu.rootMenu}updateState(y){var b,E,te;this._menuItems.forEach(Ne=>Ne.updateState(y));const oe=this.hasCheck;this.hasCheck=this._menuItems.some(Ne=>Ne.visible&&Ne.hasCheck),this.hasCheck!==oe&&this._menuItems.forEach(Ne=>Ne.updateState(y));let ue,Ae=0;for(const Ne of this._menuItems)Ne.type==="heading"?(ue&&Ae===0&&(ue.visible=!1),ue=Ne,Ae=0):Ne.type==="divider"&&ue?(ue.visible=Ae>0,ue=void 0,Ae=0):ue&&Ne.visible&&(Ae+=1);ue&&(ue.visible=Ae>0);let Ee=!0;for(const Ne of this._menuItems)Ne.type==="divider"?(Ne.visible=!Ee,Ee=!0):Ne.visible&&(Ee=!1);(b=this.activeMenuItem)!=null&&b.visible||(this.activeMenuItem=null),!((E=this.activeMenuItem)!=null&&E.enabled)&&((te=this.activeMenuItem)==null?void 0:te.type)==="submenu"&&this._activeMenuItem.submenu.hide(),this._dirty=!1}get enabled(){return this.updateIfDirty(),this._menuItems.some(y=>y.type!=="divider"&&y.visible&&y.enabled)}get visible(){return this.updateIfDirty(),this._menuItems.some(y=>y.type!=="divider"&&y.visible)}set dirty(y){console.assert(y===!0),this._dirty!==y&&y&&this.parentMenu&&(this._dirty=!0,this.parentMenu.dirty=!0)}updateIfDirty(){this._dirty&&this.updateState(this.rootMenu.modifiers)}updateElement(){var y;if(this._element){this._element.textContent="";for(const{element:b,visible:E}of this._menuItems)b&&E&&this._element.append(b);(y=this._element.querySelector("li:first-of-type"))==null||y.setAttribute("tabindex","0")}}get element(){if(this._element)return this._element;const y=document.createElement("menu");y.setAttribute("role","menu"),y.setAttribute("tabindex","-1"),y.setAttribute("aria-orientation","vertical"),y.setAttribute("part","ui-menu-container"),this._submenuClass&&y.classList.add(this._submenuClass),y.classList.add("ui-menu-container"),this._abortController||(this._abortController=new AbortController);const b=this._abortController.signal;return y.addEventListener("focus",this,{signal:b}),y.addEventListener("wheel",this,{passive:!0,signal:b}),this._element=y,this.updateElement(),y}get activeMenuItem(){return this._activeMenuItem}set activeMenuItem(y){var b,E,te,oe;if(this.rootMenu.cancelDelayedOperation(),y!==this._activeMenuItem){if(this.activeMenuItem){const ue=this.activeMenuItem;ue.active=!1,(b=ue.submenu)==null||b.hide()}if(!((E=y==null?void 0:y.visible)==null||E)){this._activeMenuItem=null;return}this._activeMenuItem=y,y&&(y.active=!0)}y?(te=y.element)==null||te.focus({preventScroll:!0}):(oe=this._element)==null||oe.focus({preventScroll:!0})}get firstMenuItem(){this.updateIfDirty();let y=0,b=!1;const E=this._menuItems;for(;!b&&y<=E.length-1;){const te=E[y];b=te.type!=="divider"&&te.visible&&te.enabled,y+=1}return b?E[y-1]:null}get lastMenuItem(){this.updateIfDirty();const y=this._menuItems;let b=y.length-1,E=!1;for(;!E&&b>=0;){const te=y[b];E=te.type!=="divider"&&te.visible&&te.enabled,b-=1}return E?y[b+1]:null}nextMenuItem(y){if(y===0)return this._activeMenuItem;if(!this._activeMenuItem)return y>0?this.firstMenuItem:this.lastMenuItem;if(!this.firstMenuItem||!this.lastMenuItem||!this._activeMenuItem)return null;this.updateIfDirty();const b=this._menuItems.indexOf(this.firstMenuItem),E=this._menuItems.indexOf(this.lastMenuItem);let te=this._menuItems.indexOf(this._activeMenuItem),oe=1;for(;te>=b&&te<=E;){te+=y>0?1:-1;const ue=this._menuItems[te];if(!ue)break;if(ue.visible&&ue.enabled){if(oe===Math.abs(y))return this._menuItems[te];oe+=1}}return y>0?this.lastMenuItem:this.firstMenuItem}getMenuItemColumn(y){this.updateIfDirty();const E=this._menuItems.filter(te=>te.visible&&te.enabled).indexOf(y);return E<0?-1:E%this.columnCount}static get collator(){return Mh._collator||(Mh._collator=new Intl.Collator(void 0,{usage:"search",sensitivity:"base"})),Mh._collator}findMenuItem(y){var b;this.updateIfDirty();const E=this._menuItems.filter(Ae=>Ae.type!=="divider"&&Ae.visible&&Ae.enabled);if(E.length===0)return null;const te=Math.max(...E.map(Ae=>Ae.label.length))-y.length;if(te<0)return null;let oe=null,ue=0;for(;ueMh.collator.compare(y,Ae.label.substring(ue,y.length))===0))!=null?b:null,ue++;return oe}show(y){return!this.visible||!y.container?!1:(this.updateElement(),y.container.appendChild(this.element),Lt()&&(this.element.popover="manual",this.element.showPopover()),y.location&&xg(this.element,{location:y.location,alternateLocation:y.alternateLocation,verticalPos:"bottom",horizontalPos:"start"}),this.element.focus({preventScroll:!0}),this.parentMenu&&(this.parentMenu.openSubmenu=this),!0)}hide(){var y,b,E,te,oe;this.openSubmenu=null,this.activeMenuItem=null,this.parentMenu&&(this.parentMenu.openSubmenu=null),Lt()&&((y=this._element)!=null&&y.popover)&&this.element.hidePopover(),(E=(b=this.parentMenu)==null?void 0:b.element)==null||E.focus(),(oe=(te=this._element)==null?void 0:te.parentNode)==null||oe.removeChild(this._element)}set openSubmenu(y){var b,E,te,oe;const ue=y!==null;((b=this.activeMenuItem)==null?void 0:b.type)==="submenu"&&((E=this.activeMenuItem.element)==null||E.setAttribute("aria-expanded",ue.toString())),(oe=(te=this.activeMenuItem)==null?void 0:te.element)==null||oe.classList.toggle("is-submenu-open",ue),this.isSubmenuOpen=ue}},Dv=class Sm extends Pv{constructor(y,b){var E;super(y),this.state="closed",this.typingBufferResetTimer=0,this.hysteresisTimer=0,this._updating=!1,this._host=(E=b==null?void 0:b.host)!=null?E:null,this.isDynamic=y.some(Sv),this._modifiers={shift:!1,control:!1,alt:!1,meta:!1},this.typingBuffer="",this.state="closed"}get modifiers(){return this._modifiers}set modifiers(y){Eo(this._modifiers,y)||(this._modifiers=y,this.dirty=!0)}get activeSubmenu(){let y=this;for(;y.isSubmenuOpen;)y=y.activeMenuItem.submenu;return y}set dirty(y){this._updating||(console.assert(y===!0),this._dirty!==y&&(this._dirty=!0,y&&setTimeout(()=>{this.updateState(this.modifiers),this.updateElement()})))}updateState(y){this._updating=!0,this.modifiers=y!=null?y:this.modifiers,super.updateState(this.modifiers),this._updating=!1}handleKeyupEvent(y){this.isDynamic&&(this.modifiers=Ol(y)),y.stopImmediatePropagation()}handleKeydownEvent(y){var b,E,te;if(y.key==="Tab"||y.key==="Escape"){this.hide();return}this.isDynamic&&(this.modifiers=Ol(y));let oe=!0;const ue=this.activeSubmenu,Ae=ue.activeMenuItem;switch(y.key){case" ":case"Space":case"Return":case"Enter":Ae==null||Ae.select(Ol(y));break;case"ArrowRight":if((Ae==null?void 0:Ae.type)==="submenu")Ae.select(Ol(y)),this.activeSubmenu.activeMenuItem=this.activeSubmenu.firstMenuItem;else if(!Ae)ue.activeMenuItem=ue.firstMenuItem;else{const Ee=(b=ue.getMenuItemColumn(Ae))!=null?b:-1;if(Ee>=0&&Ee<((E=ue.columnCount)!=null?E:1)-1){const Ne=ue.nextMenuItem(1);Ne&&(ue.activeMenuItem=Ne)}}break;case"ArrowLeft":if(ue===this.rootMenu)Ae||(ue.activeMenuItem=ue.firstMenuItem);else if((Ae&&(te=ue.getMenuItemColumn(Ae))!=null?te:-1)<=0||!Ae){ue.hide();const Ne=ue.parentMenu.activeMenuItem;if(Ne){const{element:Ge}=Ne;Ge==null||Ge.focus(),Ge==null||Ge.classList.remove("is-submenu-open")}}else{const Ne=ue.nextMenuItem(-1);Ne&&(ue.activeMenuItem=Ne)}break;case"ArrowDown":ue.activeMenuItem=ue.nextMenuItem(ue.columnCount);break;case"ArrowUp":ue.activeMenuItem=ue.nextMenuItem(-ue.columnCount);break;case"Home":case"PageUp":ue.activeMenuItem=ue.firstMenuItem;break;case"End":case"PageDown":ue.activeMenuItem=ue.lastMenuItem;break;case"Backspace":if(this.typingBuffer&&(this.typingBuffer=this.typingBuffer.slice(0,-1),this.typingBuffer)){clearTimeout(this.typingBufferResetTimer);const Ee=ue.findMenuItem(this.typingBuffer);Ee&&(ue.activeMenuItem=Ee),this.typingBufferResetTimer=setTimeout(()=>{this.typingBuffer=""},500)}break;default:if(Wo(y)){isFinite(this.typingBufferResetTimer)&&clearTimeout(this.typingBufferResetTimer),this.typingBuffer+=y.key;const Ee=ue.findMenuItem(this.typingBuffer);Ee&&(ue.activeMenuItem=Ee),this.typingBufferResetTimer=setTimeout(()=>{this.typingBuffer=""},500)}else oe=!1}oe&&(y.preventDefault(),y.stopPropagation())}handleEvent(y){if(y.type==="keydown")this.handleKeydownEvent(y);else if(y.type==="keyup")this.handleKeyupEvent(y);else if(y.type==="pointermove")this.lastMoveEvent=y;else if(y.type==="pointerup"&&y.target===this.scrim)Number.isFinite(this.rootMenu._openTimestamp)&&Date.now()-this.rootMenu._openTimestamp<120?this.state="modal":this.state==="modal"&&this.hide();else if(y.type==="contextmenu"){y.preventDefault(),y.stopPropagation();return}super.handleEvent(y)}dispatchEvent(y){return this._host?this._host.dispatchEvent(y):!0}get scrim(){return Mi.element}connectScrim(y){const b=this.scrim;b.addEventListener("pointerup",this),b.addEventListener("contextmenu",this),b.addEventListener("keydown",this),b.addEventListener("keyup",this),b.addEventListener("pointermove",this),Mi.open({root:y,onDismiss:()=>this.hide()})}disconnectScrim(){const y=this.scrim;y.removeEventListener("pointerup",this),y.removeEventListener("contextmenu",this),y.removeEventListener("keydown",this),y.removeEventListener("keyup",this),y.removeEventListener("pointermove",this),Mi.state==="open"&&Mi.scrim.close()}get rootMenu(){return this}show(y){return this._onDismiss=y==null?void 0:y.onDismiss,y!=null&&y.modifiers&&(this.modifiers=y.modifiers),this.updateState(),this.connectScrim(y==null?void 0:y.target),super.show(He(Se({},y),{container:this.scrim}))?(this._openTimestamp=Date.now(),this.state="open",!0):(this.disconnectScrim(),!1)}hide(){this.cancelDelayedOperation(),this.state!==void 0&&(this.state!=="closed"&&(this.activeMenuItem=null,Mi.element.parentElement.focus(),super.hide(),this.state="closed",this.disconnectScrim()),this._onDismiss&&(this._onDismiss(),this._onDismiss=void 0))}scheduleOperation(y){this.cancelDelayedOperation();const b=Sm.SUBMENU_DELAY;if(b<=0){y();return}this.hysteresisTimer=setTimeout(()=>{this.hysteresisTimer=0,y()},b)}cancelDelayedOperation(){this.hysteresisTimer&&(clearTimeout(this.hysteresisTimer),this.hysteresisTimer=0)}};Dv.SUBMENU_DELAY=120;var Eg=Dv;function Sv(a){return Hp(a)?!1:typeof a.label=="function"||typeof a.ariaLabel=="function"||typeof a.tooltip=="function"||(u0(a)||bh(a))&&(typeof a.enabled=="function"||typeof a.visible=="function")||u0(a)&&typeof a.checked=="function"?!0:bh(a)?a.submenu.some(Sv):!1}var vp=class{};vp.DELAY=300,vp.MAX_DISTANCE=10;function Bg(a){return new Promise((y,b)=>{const E=Ll(a);E||y(!1);let te=E;const oe=setTimeout(()=>{ue.abort(),y(wg(te,E){if(Ne.type==="pointerup"||Ne.type==="pointercancel")clearTimeout(oe),ue.abort(),y(!1);else if(Ne.type==="pointermove"){const Ge=Ll(Ne);Ge&&(te=Ge)}},{passive:!0,signal:Ae})})}function Mv(a,y,b){return G0(this,null,function*(){if(a.type==="contextmenu"){const E=a;if(b.show({target:y,location:Ll(E),modifiers:Ol(E)}))return a.preventDefault(),a.stopPropagation(),!0}if(a.type==="keydown"){const E=a;if(E.code==="ContextMenu"||E.code==="F10"&&E.shiftKey){const te=y==null?void 0:y.getBoundingClientRect();if(te&&b.show({target:y,location:{x:Math.ceil(te.left+te.width/2),y:Math.ceil(te.top+te.height/2)},modifiers:Ol(E)}))return a.preventDefault(),a.stopPropagation(),!0}}if(a.type==="pointerdown"&&a.pointerType!=="mouse"&&a.button===0){let E=a.target;for(;E&&y!==E;)E=E.parentNode;if(!E||!b.visible)return!1;const te=Ll(a);if(yield Bg(a))return b.state!=="closed"?!1:(b.show({target:y,location:te}),!0)}return!1})}var Iv={acute:714,grave:715,dot:729,ddot:168,mathring:730,tilde:126,bar:713,breve:728,check:711,hat:94,vec:8407};vn(Object.keys(Iv),"{body:auto}",{createAtom:a=>new z(He(Se({},a),{body:Nt(a.args[0]),accentChar:Iv[a.command.slice(1)]}))}),vn(["widehat","widecheck","widetilde"],"{body:auto}",{createAtom:a=>{const y=Qt(Nt(a.args[0]));return new z(He(Se({},a),{body:Nt(a.args[0]),svgAccent:a.command.slice(1)+(y.length>5?"4":["1","1","2","2","3","3"][y.length])}))}}),vn(["overarc","overparen","wideparen"],"{body:auto}",{createAtom:a=>new z(He(Se({},a),{body:Nt(a.args[0]),svgAccent:"overarc"}))}),vn(["underarc","underparen"],"{body:auto}",{createAtom:a=>new rc(He(Se({},a),{body:Nt(a.args[0]),svgBelow:"underarc"}))}),vn("utilde","{body:auto}",{createAtom:a=>{const y=Nt(a.args[0]),b=Qt(y),E="widetilde"+(b.length>5?"4":["1","1","2","2","3","3"][b.length]);return new rc(He(Se({},a),{body:y,svgBelow:E,boxType:xd(y)}))}}),vn("^","{:string}",{createAtom:a=>{var y;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE2",e:"\xEA",i:"\xEE",o:"\xF4",u:"\xFB",A:"\xC2",E:"\xCA",I:"\xCE",O:"\xD4",U:"\xDB"}[a.args[0]])!=null?y:"^"}))}}),vn("`","{:string}",{createAtom:a=>{var y;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE0",e:"\xE8",i:"\xEC",o:"\xF2",u:"\xF9",A:"\xC0",E:"\xC8",I:"\xCC",O:"\xD2",U:"\xD9"}[a.args[0]])!=null?y:"`"}))}}),vn("'","{:string}",{createAtom:a=>{var y;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE1",e:"\xE9",i:"\xED",o:"\xF3",u:"\xFA",A:"\xC1",E:"\xC9",I:"\xCD",O:"\xD3",U:"\xDA"}[a.args[0]])!=null?y:"'"}))}}),vn('"',"{:string}",{createAtom:a=>{var y,b;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(b={a:"\xE4",e:"\xEB",i:"\xEF",o:"\xF6",u:"\xFC",A:"\xC4",E:"\xCB",I:"\xCB",O:"\xD6",U:"\xDC"}[a.args[0]])!=null?b:'"'+a.args[0]:'"'}))}}),vn(".","{:string}",{createAtom:a=>{var y,b;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(b={a:"\u0227",e:"\u0117",i:"\u0307i",o:"\u022F",u:"\u0307u",A:"\u0226",E:"\u0116",I:"\u0130",O:"\u022E",U:"\u0307U"}[a.args[0]])!=null?b:"."+a.args[0]:"."}))}}),vn("=","{:string}",{createAtom:a=>{var y,b;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(b={a:"\u0101",e:"\u0113",i:"\u012B",o:"\u014D",u:"\u016B",A:"\u0100",E:"\u0112",I:"\u012A",O:"\u014C",U:"\u016A"}[a.args[0]])!=null?b:"="+a.args[0]:"="}))}}),vn("~","{:string}",{createAtom:a=>{var y;return new Ti(He(Se({type:"mord"},a),{isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={n:"\xF1",N:"\xD1",a:"\xE3",o:"\xF5",A:"\xC3",O:"\xD5"}[a.args[0]])!=null?y:"\xB4"}))}}),vn("c","{:string}",{createAtom:a=>{var y;return new Ti(He(Se({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={c:"\xE7",C:"\xC7"}[a.args[0]])!=null?y:""}))}}),vn("enclose","{notation:string}[style:string]{body:auto}",{createAtom:a=>{var y,b;const E=a.args,te={strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",backgroundcolor:"transparent",padding:"auto",shadow:"none",svgStrokeStyle:void 0,borderStyle:void 0,style:(y=a.style)!=null?y:{}};if(E[1]){const ue=E[1].split(/,(?![^(]*\)(?:(?:[^(]*\)){2})*[^"]*$)/);for(const Ae of ue){const Ee=Ae.match(/\s*(\S+)\s+(\S+)\s+(.*)/);if(Ee)te.strokeWidth=Ee[1],te.strokeStyle=Ee[2],te.strokeColor=Ee[3];else{const Ne=Ae.match(/\s*([a-z]*)\s*=\s*"(.*)"/);Ne&&(Ne[1]==="mathbackground"?te.backgroundcolor=Ne[2]:Ne[1]==="mathcolor"?te.strokeColor=Ne[2]:Ne[1]==="padding"?te.padding=Ne[2]:Ne[1]==="shadow"&&(te.shadow=Ne[2]))}}te.strokeStyle==="dashed"?te.svgStrokeStyle="5,5":te.strokeStyle==="dotted"&&(te.svgStrokeStyle="1,5")}te.borderStyle=`${te.strokeWidth} ${te.strokeStyle} ${te.strokeColor}`;const oe={};return((b=E[0])!=null?b:"").split(/[, ]/).filter(ue=>ue.length>0).forEach(ue=>{oe[ue.toLowerCase()]=!0}),new ho(a.command,Nt(E[2]),oe,te)}}),vn("cancel","{body:auto}",{createAtom:a=>{var y;return new ho(a.command,Nt(a.args[0]),{updiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),vn("bcancel","{body:auto}",{createAtom:a=>{var y;return new ho(a.command,Nt(a.args[0]),{downdiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),vn("xcancel","{body:auto}",{createAtom:a=>{var y;return new ho(a.command,Nt(a.args[0]),{updiagonalstrike:!0,downdiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),vn(["overrightarrow","overleftarrow","Overrightarrow","overleftharpoon","overrightharpoon","overleftrightarrow","overlinesegment","overgroup"],"{:auto}",{createAtom:a=>{var y;return new rc(He(Se({},a),{body:Nt((y=a.args)==null?void 0:y[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"rel",svgAbove:a.command.slice(1)}))}}),vn("overbrace","{:auto}",{createAtom:a=>new rc(He(Se({},a),{body:Nt(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"ord",svgAbove:a.command.slice(1)}))}),vn(["underrightarrow","underleftarrow","underleftrightarrow","underlinesegment","undergroup"],"{:auto}",{createAtom:a=>new rc(He(Se({},a),{body:Nt(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"rel",svgBelow:a.command.slice(1)}))}),vn(["underbrace"],"{:auto}",{createAtom:a=>new rc(He(Se({},a),{body:Nt(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"ord",svgBelow:a.command.slice(1)}))}),vn(["xrightarrow","longrightarrow","xleftarrow","longleftarrow","xRightarrow","xLeftarrow","xleftharpoonup","xleftharpoondown","xrightharpoonup","xrightharpoondown","xlongequal","xtwoheadleftarrow","xtwoheadrightarrow","xleftrightarrow","longleftrightarrow","xLeftrightarrow","xrightleftharpoons","longrightleftharpoons","xleftrightharpoons","xhookleftarrow","xhookrightarrow","xmapsto","xtofrom","xleftrightarrows","longleftrightarrows","xRightleftharpoons","longRightleftharpoons","xLeftrightharpoons","longLeftrightharpoons"],"[:auto]{:auto}",{createAtom:a=>{var y,b,E,te,oe;return new rc(He(Se({},a),{svgBody:a.command.slice(1),above:((b=Nt((y=a.args)==null?void 0:y[1]))==null?void 0:b.length)===0?void 0:Nt((E=a.args)==null?void 0:E[1]),below:(oe=Nt((te=a.args)==null?void 0:te[0]))!=null?oe:null,skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,paddedLabels:!0,boxType:"rel"}))},serialize:(a,y)=>a.command+(a.hasEmptyBranch("below")?"":`[${a.belowToLatex(y)}]`)+`{${a.aboveToLatex(y)}}${a.supsubToLatex(y)}`}),vn(["arccos","arcsin","arctan","arctg","arcctg","arg","ch","cos","cosh","cot","cotg","coth","ctg","cth","csc","cosec","deg","dim","exp","gcd","hom","inf","ker","lb","lg","ln","log","Pr","sec","sh","sin","sinh","sup","tan","tanh","tg","th","arcsec","arccsc","arsinh","arcosh","artanh","arcsech","arccsch"],"",{isFunction:!0,ifMode:"math",createAtom:a=>new sd(a.command.slice(1),He(Se({},a),{limits:"adjacent",isFunction:!0,variant:"main",variantStyle:"up"}))}),vn(["liminf","limsup"],"",{ifMode:"math",createAtom:a=>new sd({"\\liminf":"lim inf","\\limsup":"lim sup"}[a.command],He(Se({},a),{limits:"over-under",variant:"main"}))}),vn(["lim","mod"],"",{ifMode:"math",createAtom:a=>new sd(a.command.slice(1),He(Se({},a),{limits:"over-under",variant:"main"}))}),vn(["det","max","min"],"",{ifMode:"math",isFunction:!0,createAtom:a=>new sd(a.command.slice(1),He(Se({},a),{limits:"over-under",isFunction:!0,variant:"main"}))}),vn(["ang"],"{:math}",{ifMode:"math",createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),serialize:(a,y)=>`\\ang{${a.bodyToLatex(y)}}`,render:(a,y)=>{const b=a.createBox(y),E=b.caret;b.caret=void 0;const te=new za("\xB0",{style:He(Se({},a.style),{variant:"normal",variantStyle:"up"})});return new za([b,te],{type:"inner",isSelected:a.isSelected,caret:E})}}),vn("sqrt","[index:auto]{radicand:expression}",{ifMode:"math",createAtom:a=>new gd(He(Se({},a),{body:Nt(a.args[1]),index:a.args[0]?Nt(a.args[0]):void 0}))}),vn(["frac","dfrac","tfrac","cfrac","binom","dbinom","tbinom"],"{:expression}{:expression}",{ifMode:"math",createAtom:a=>{const y=Se({},a),b=a.command,E=a.args;switch(b){case"\\dfrac":case"\\frac":case"\\tfrac":y.hasBarLine=!0;break;case"\\atopfrac":y.hasBarLine=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":y.hasBarLine=!1,y.leftDelim="(",y.rightDelim=")";break;case"\\cfrac":y.hasBarLine=!0,y.continuousFraction=!0;break;default:}switch(b){case"\\dfrac":case"\\dbinom":y.mathstyleName="displaystyle";break;case"\\tfrac":case"\\tbinom":y.mathstyleName="textstyle";break;default:}return new Hs(E[0]?Nt(E[0]):[new Wl],E[1]?Nt(E[1]):[new Wl],y)},serialize:(a,y)=>{const b=a.aboveToLatex(y),E=a.belowToLatex(y);return/^[0-9]$/.test(b)&&/^[0-9]$/.test(E)?`${a.command}${b}${E}`:Qu(a.command,b,E)}}),vn(["brace","brack"],"",{infix:!0,createAtom:a=>new Hs(Nt(a.args[0]),Nt(a.args[1]),He(Se({},a),{hasBarLine:!1,leftDelim:a.command==="\\brace"?"\\lbrace":"\\lbrack",rightDelim:a.command==="\\brace"?"\\rbrace":"\\rbrack"})),serialize:(a,y)=>Js([a.aboveToLatex(y),a.command,a.belowToLatex(y)])}),vn(["over","atop","choose"],"",{infix:!0,createAtom:a=>{let y,b;const E=a.args;return a.command==="\\choose"&&(y="(",b=")"),new Hs(Nt(E[0]),Nt(E[1]),He(Se({},a),{hasBarLine:a.command==="\\over",leftDelim:y,rightDelim:b}))},serialize:(a,y)=>Js([a.aboveToLatex(y),a.command,a.belowToLatex(y)])}),vn(["overwithdelims","atopwithdelims"],"{numer:auto}{denom:auto}{left-delim:delim}{right-delim:delim}",{infix:!0,createAtom:a=>{var y,b;const E=a.args;return new Hs(Nt(E[0]),Nt(E[1]),He(Se({},a),{leftDelim:(y=E[2])!=null?y:".",rightDelim:(b=E[3])!=null?b:".",hasBarLine:!1}))},serialize:(a,y)=>`${a.aboveToLatex(y)} ${a.command}${a.leftDelim}${a.rightDelim}${a.belowToLatex(y)}`}),vn("pdiff","{numerator}{denominator}",{ifMode:"math",createAtom:a=>new Hs(Nt(a.args[0]),Nt(a.args[1]),He(Se({},a),{hasBarLine:!0,numerPrefix:"\u2202",denomPrefix:"\u2202"}))}),vn(["sum","prod","bigcup","bigcap","coprod","bigvee","bigwedge","biguplus","bigotimes","bigoplus","bigodot","bigsqcup","intop"],"",{ifMode:"math",createAtom:a=>new Fu({coprod:"\u2210",bigvee:"\u22C1",bigwedge:"\u22C0",biguplus:"\u2A04",bigcap:"\u22C2",bigcup:"\u22C3",intop:"\u222B",prod:"\u220F",sum:"\u2211",bigotimes:"\u2A02",bigoplus:"\u2A01",bigodot:"\u2A00",bigsqcup:"\u2A06",smallint:"\u222B"}[a.command.slice(1)],He(Se({},a),{limits:"auto",variant:"main"}))}),vn("smallint","",{ifMode:"math",createAtom:a=>new sd("\u222B",He(Se({},a),{limits:"adjacent",variant:"main"}))});var Fv={int:"\u222B",iint:"\u222C",iiint:"\u222D",oint:"\u222E",oiint:"\u222F",oiiint:"\u2230",intclockwise:"\u2231",varointclockwise:"\u2232",ointctrclockwise:"\u2233",intctrclockwise:"\u2A11",sqcup:"\u2294",sqcap:"\u2293",uplus:"\u228E",wr:"\u2240",amalg:"\u2A3F",Cap:"\u22D2",Cup:"\u22D3",doublecap:"\u22D2",doublecup:"\u22D3"};vn(Object.keys(Fv),"",{ifMode:"math",createAtom:a=>{const y=a.command,b=Fv[y.slice(1)];return new Fu(b,He(Se({},a),{limits:"adjacent",variant:{"\u22D2":"ams","\u22D3":"ams"}[b]}))}}),vn(["Re","Im"],"",{ifMode:"math",createAtom:a=>new sd({"\\Re":"\u211C","\\Im":"\u2111"}[a.command],He(Se({},a),{limits:"adjacent",isFunction:!0,variant:"fraktur"}))}),vn("middle","{:delim}",{ifMode:"math",createAtom:a=>{var y;return new Ja(He(Se({},a),{delim:(y=a.args[0])!=null?y:"|",size:1}))}}),vn("the","{:value}",{createAtom:a=>new Ti(He(Se({},a),{captureSelection:!0,verbatimLatex:null})),render:(a,y)=>{var b;const E=new vu({parent:y},a.style);let te="";a.isSelected&&(te+=" ML__selected");const oe=E.evaluate(a.args[0]);return new za(((b=tc(oe))!=null?b:"").split("").map(ue=>new za(ue,{type:"ord",classes:te,mode:a.mode,isSelected:a.isSelected,style:Se({variant:"main"},a.style)})),{type:"lift",style:a.style,caret:a.caret,isSelected:a.isSelected,classes:te}).wrap(E)},serialize:a=>{var y;return`\\the${(y=tc(a.args[0]))!=null?y:"\\relax"}`}}),vn("mathtip","{:auto}{:math}",{createAtom:a=>new Kd(He(Se({},a),{body:Nt(a.args[0]),tooltip:Nt(a.args[1]),content:"math"})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\texttip{${a.bodyToLatex(y)}}{${Ti.serialize([a.tooltip],He(Se({},y),{defaultMode:"math"}))}}`}),vn("texttip","{:auto}{:text}",{createAtom:a=>new Kd(He(Se({},a),{body:Nt(a.args[0]),tooltip:Nt(a.args[1]),content:"text"})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\texttip{${a.bodyToLatex(y)}}{${Ti.serialize([a.tooltip],He(Se({},y),{defaultMode:"text"}))}}`}),vn("error","{:math}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),serialize:(a,y)=>`\\error{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__error"})}),vn("ensuremath","{:math}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),serialize:(a,y)=>`${a.command}{${a.bodyToLatex(He(Se({},y),{defaultMode:"math"}))}}`}),vn("color","{:value}",{applyStyle:(a,y,b)=>{var E,te;return{verbatimColor:(E=tc(y[0]))!=null?E:void 0,color:b.toColor((te=y[0])!=null?te:{string:"red"})}}}),vn("textcolor","{:value}{content:auto*}",{applyStyle:(a,y,b)=>{var E,te;return{verbatimColor:(E=tc(y[0]))!=null?E:void 0,color:b.toColor((te=y[0])!=null?te:{string:"red"})}}}),vn("boxed","{content:math}",{createAtom:a=>new Cc(He(Se({},a),{body:Nt(a.args[0]),framecolor:{string:"black"}}))}),vn("colorbox","{:value}{:text*}",{applyStyle:(a,y,b)=>{var E,te;return{verbatimBackgroundColor:(E=tc(y[0]))!=null?E:void 0,backgroundColor:b.toBackgroundColor((te=y[0])!=null?te:{string:"yellow"})}}}),vn("fcolorbox","{frame-color:value}{background-color:value}{content:text}",{applyMode:"text",createAtom:a=>{var y,b;return new Cc(He(Se({},a),{body:Nt(a.args[2]),framecolor:(y=a.args[0])!=null?y:{string:"blue"},backgroundcolor:(b=a.args[1])!=null?b:{string:"yellow"}}))},serialize:(a,y)=>{var b,E;return y.skipStyles?a.bodyToLatex(He(Se({},y),{defaultMode:"text"})):Qu(a.command,(b=tc(a.framecolor))!=null?b:"",(E=tc(a.backgroundcolor))!=null?E:"",a.bodyToLatex(He(Se({},y),{defaultMode:"text"})))}}),vn("bbox","[:bbox]{body:auto}",{createAtom:a=>{var y;const b=a.args[0],E=Nt(a.args[1]);return b?new Cc(He(Se({},a),{body:E,padding:b.padding,border:b.border,backgroundcolor:(y=b.backgroundcolor)!=null?y:void 0})):new Cc(He(Se({},a),{body:E}))},serialize:(a,y)=>{var b,E;if(y.skipStyles)return a.bodyToLatex(y);let te=a.command;if(Number.isFinite(a.padding)||a.border!==void 0||a.backgroundcolor!==void 0){const oe=[];a.padding&&oe.push((b=tc(a.padding))!=null?b:""),a.border&&oe.push(`border: ${a.border}`),a.backgroundcolor&&oe.push((E=tc(a.backgroundcolor))!=null?E:""),te+=`[${oe.join(",")}]`}return Qu(te,a.bodyToLatex(y))}}),vn(["displaystyle","textstyle","scriptstyle","scriptscriptstyle"],"{:rest}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),render:(a,y)=>{const b=new vu({parent:y,mathstyle:a.command.slice(1)},a.style),E=Ti.createBox(b,a.body,{type:"lift"});return a.caret&&(E.caret=a.caret),a.bind(y,E)},serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`{${Js([a.command,a.bodyToLatex(y)])}}`}),vn(["tiny","scriptsize","footnotesize","small","normalsize","large","Large","LARGE","huge","Huge"],"",{applyStyle:a=>({fontSize:{"\\tiny":1,"\\scriptsize":2,"\\footnotesize":3,"\\small":4,"\\normalsize":5,"\\large":6,"\\Large":7,"\\LARGE":8,"\\huge":9,"\\Huge":10}[a]})}),vn("fontseries","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var b;return{fontSeries:(b=y[0])!=null?b:"auto"}}}),vn("fontshape","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var b;return{fontShape:(b=y[0])!=null?b:"auto"}}}),vn("fontfamily","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var b;return{fontFamily:(b=y[0])!=null?b:"roman"}}}),vn("selectfont","",{ifMode:"text",applyStyle:()=>({})}),vn("bf","{:rest}",{applyStyle:()=>({fontSeries:"b",fontShape:"n",fontFamily:"roman"})}),vn(["boldsymbol","bm"],"{:math}",{applyMode:"math",createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),serialize:(a,y)=>`${a.command}{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__boldsymbol"})}),vn("bold","{:math*}",{applyMode:"math",applyStyle:()=>({variantStyle:"bold"})}),vn("bfseries","{:rest}",{applyMode:"text",applyStyle:()=>({fontSeries:"b"})}),vn("mdseries","{:rest}",{applyMode:"text",applyStyle:()=>({fontSeries:"m"})}),vn("upshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"n"})}),vn("slshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"sl"})}),vn("scshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"sc"})}),vn("textbf","{:text*}",{applyMode:"text",applyStyle:()=>({fontSeries:"b"})}),vn("textmd","{:text*}",{applyMode:"text",applyStyle:()=>({fontSeries:"m"})}),vn("textup","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"n"})}),vn("textnormal","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"n",fontSeries:"m"})}),vn("textsl","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"sl"})}),vn("textit","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"it"})}),vn("textsc","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"sc"})}),vn("textrm","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"roman"})}),vn("textsf","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"sans-serif"})}),vn("texttt","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"monospace"})}),vn("mathbf","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"bold"})}),vn("mathit","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"main",variantStyle:"italic"})}),vn("mathnormal","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"italic"})}),vn("mathbfit","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"main",variantStyle:"bolditalic"})}),vn("mathrm","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"up"})}),vn("mathsf","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"sans-serif",variantStyle:"up"})}),vn("mathtt","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"monospace",variantStyle:"up"})}),vn("it","{:rest}",{applyStyle:()=>({fontSeries:"m",fontShape:"it",fontFamily:"roman",variantStyle:"italic"})}),vn("rmfamily","",{applyStyle:()=>({fontFamily:"roman"})}),vn("sffamily","",{applyStyle:()=>({fontFamily:"sans-serif"})}),vn("ttfamily","",{applyStyle:()=>({fontFamily:"monospace"})}),vn(["Bbb","mathbb"],"{:math*}",{applyStyle:()=>({variant:"double-struck",variantStyle:"up"})}),vn(["frak","mathfrak"],"{:math*}",{applyStyle:()=>({variant:"fraktur",variantStyle:"up"})}),vn("mathcal","{:math*}",{applyStyle:()=>({variant:"calligraphic",variantStyle:"up"})}),vn("mathscr","{:math*}",{applyStyle:()=>({variant:"script",variantStyle:"up"})}),vn("mbox","{:text}",{ifMode:"math",createAtom:a=>new Ti(He(Se({},a),{type:"mord",body:Nt(a.args[0]),mode:"math"})),serialize:(a,y)=>Qu("\\mbox",a.bodyToLatex(He(Se({},y),{defaultMode:"text"})))}),vn("text","{:text}",{ifMode:"math",applyMode:"text"}),vn(["class","htmlClass"],"{name:string}{content:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[1])})),serialize:(a,y)=>!a.args[0]||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`,render:(a,y)=>{var b;return a.createBox(y,{classes:(b=a.args[0])!=null?b:""})}}),vn(["cssId","htmlId"],"{id:string}{content:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[1])})),serialize:(a,y)=>{var b;return!((b=a.args)!=null&&b[0])||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var b;const E=a.createBox(y);return E.cssId=(b=a.args[0])!=null?b:"",E}}),vn("htmlData","{data:string}{content:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[1])})),serialize:(a,y)=>{var b;return!((b=a.args)!=null&&b[0])||y.skipStyles?a.bodyToLatex(y):`\\htmlData{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var b;const E=a.createBox(y);return E.htmlData=(b=a.args[0])!=null?b:"",E}}),vn(["style","htmlStyle"],"{data:string}{content:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[1])})),serialize:(a,y)=>{var b;return!((b=a.args)!=null&&b[0])||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var b;const E=a.createBox(y);return E.htmlStyle=(b=a.args[0])!=null?b:"",E}}),vn("em","{:rest}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`{\\em ${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__emph",boxType:"lift"})}),vn("emph","{:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[1])})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\emph{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__emph",boxType:"lift"})});var kv={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}};vn(["bigl","Bigl","biggl","Biggl","bigr","Bigr","biggr","Biggr","bigm","Bigm","biggm","Biggm","big","Big","bigg","Bigg"],"{:delim}",{createAtom:a=>{var y;return new fo(He(Se({},a),{delim:(y=a.args[0])!=null?y:".",size:kv[a.command].size,delimType:kv[a.command].mclass}))}}),vn(["hspace","hspace*"],"{width:value}",{createAtom:a=>{var y;return new md(He(Se({},a),{width:(y=a.args[0])!=null?y:{dimension:0}}))}}),vn(["mkern","kern","mskip","hskip","mspace"],"{width:value}",{createAtom:a=>{var y;return new md(He(Se({},a),{width:(y=a.args[0])!=null?y:{dimension:0}}))}}),vn("mathchoice","{:math}{:math}{:math}{:math}",{createAtom:a=>new Ti(a),render:(a,y)=>{let b=0;const E=y.mathstyle.id;(E===Rd||E===Wc)&&(b=1),(E===fd||E===gc)&&(b=2),(E===Dc||E===sc)&&(b=3);const te=Nt(a.args[b]);return Ti.createBox(y,te)},serialize:(a,y)=>`\\mathchoice{${Ti.serialize(a.args[0],y)}}{${Ti.serialize(a.args[1],y)}}{${Ti.serialize(a.args[2],y)}}{${Ti.serialize(a.args[3],y)}}`}),vn("mathop","{:auto}",{createAtom:a=>new Ti(He(Se({},a),{type:"mop",body:Nt(a.args[0]),limits:"over-under",isFunction:!0,captureSelection:!0})),render:(a,y)=>{var b;let E=Ti.createBox(y,a.body);if(a.superscript||a.subscript){const te=(b=a.subsupPlacement)!=null?b:"auto";E=te==="over-under"||te==="auto"&&y.isDisplayStyle?a.attachLimits(y,{base:E}):a.attachSupsub(y,{base:E})}return new za(a.bind(y,E),{type:"op",isSelected:a.isSelected,classes:"op-group"})},serialize:(a,y)=>{const b=[Qu(a.command,a.bodyToLatex(y))];return a.explicitSubsupPlacement&&(a.subsupPlacement==="over-under"&&b.push("\\limits"),a.subsupPlacement==="adjacent"&&b.push("\\nolimits"),a.subsupPlacement==="auto"&&b.push("\\displaylimits")),b.push(a.supsubToLatex(y)),Js(b)}}),vn(["mathbin","mathrel","mathopen","mathclose","mathpunct","mathord","mathinner"],"{:auto}",{createAtom:a=>new Ti(He(Se({},a),{type:{"\\mathbin":"mbin","\\mathrel":"mrel","\\mathopen":"mopen","\\mathclose":"mclose","\\mathpunct":"mpunct","\\mathord":"mord","\\mathinner":"minner"}[a.command],body:Nt(a.args[0])}))}),vn(["operatorname","operatorname*"],"{operator:math}",{createAtom:a=>{const y=Nt(a.args[0]).map(b=>{var E;return b.type!=="first"&&(b.type="mord",b.value=(E={"\u2217":"*","\u2212":"-"}[b.value])!=null?E:b.value,b.isFunction=!1,!b.style.variant&&!b.style.variantStyle&&(b.style.variant="main",b.style.variantStyle="up")),b});return new Ti(He(Se({},a),{type:"mop",body:y,isFunction:!0,limits:a.command==="\\operatorname"?"adjacent":"over-under"}))},render:(a,y)=>{var b;let E=Ti.createBox(y,a.body);if(a.superscript||a.subscript){const te=(b=a.subsupPlacement)!=null?b:"auto";E=te==="over-under"||te==="auto"&&y.isDisplayStyle?a.attachLimits(y,{base:E}):a.attachSupsub(y,{base:E})}return a.caret&&(E.caret=a.caret),new za(a.bind(y,E),{type:"op",isSelected:a.isSelected,classes:"op-group"})},serialize:(a,y)=>{const b=[Qu(a.command,a.bodyToLatex(y))];return a.explicitSubsupPlacement&&(a.subsupPlacement==="over-under"&&b.push("\\limits"),a.subsupPlacement==="adjacent"&&b.push("\\nolimits"),a.subsupPlacement==="auto"&&b.push("\\displaylimits")),b.push(a.supsubToLatex(y)),Js(b)}}),vn(["char","unicode"],"{charcode:value}",{createAtom:a=>new Ti(He(Se({},a),{type:a.mode==="text"?"text":"mord"})),serialize:a=>{var y;return`${a.command}${tc((y=a.args[0])!=null?y:{number:10067,base:"hexadecimal"})}`},render:(a,y)=>{let b=y.evaluate(a.args[0]);return(!b||!("number"in b))&&(b={number:10067,base:"hexadecimal"}),a.value=String.fromCodePoint(b.number),a.createBox(y)}}),vn("rule","[raise:value]{width:value}{thickness:value}",{createAtom:a=>new Ti(a),render:(a,y)=>{var b,E,te;const oe=new vu({parent:y,mathstyle:"textstyle"},a.style),ue=oe.toEm((b=a.args[0])!=null?b:{dimension:0}),Ae=oe.toEm((E=a.args[1])!=null?E:{dimension:10}),Ee=oe.toEm((te=a.args[2])!=null?te:{dimension:10}),Ne=new za(null,{classes:"rule",type:"ord"});return Ne.width=Ae,Ne.height=Ee+ue,Ne.depth=-ue,Ne.setStyle("border-right-width",Ae,"em"),Ne.setStyle("border-top-width",Ee,"em"),Ne.setStyle("border-color",a.style.color),Ne.setStyle("vertical-align",ue,"em"),a.isSelected&&Ne.setStyle("opacity","50%"),a.bind(oe,Ne),a.caret&&(Ne.caret=a.caret),Ne.wrap(y)},serialize:a=>`\\rule${a.args[0]?`[${tc(a.args[0])}]`:""}{${tc(a.args[1])}}{${tc(a.args[2])}}`}),vn(["overline","underline"],"{:auto}",{createAtom:a=>new Ti(He(Se({},a),{body:Nt(a.args[0])})),render:(a,y)=>{const b=a.command.substring(1),E=new vu({parent:y,mathstyle:"cramp"},a.style),te=Ti.createBox(E,a.body);if(!te)return null;const oe=E.metrics.defaultRuleThickness/E.scalingFactor,ue=new za(null,{classes:b+"-line"});ue.height=oe,ue.maxFontSize=oe*1.125*E.scalingFactor;let Ae;return b==="overline"?Ae=new Iu({shift:0,children:[{box:te},3*oe,{box:ue},oe]}):Ae=new Iu({top:te.height,children:[oe,{box:ue},3*oe,{box:te}]}),a.caret&&(Ae.caret=a.caret),new za(Ae,{classes:b,type:"ignore"})}}),vn("overset","{:auto}{base:auto}",{createAtom:a=>{const y=Nt(a.args[1]);return new rc(He(Se({},a),{above:Nt(a.args[0]),body:y,skipBoundary:!1,boxType:xd(y)}))},serialize:(a,y)=>Qu(a.command,a.aboveToLatex(y),a.bodyToLatex(y))}),vn("underset","{:auto}{base:auto}",{createAtom:a=>{const y=Nt(a.args[1]);return new rc(He(Se({},a),{below:Nt(a.args[0]),body:y,skipBoundary:!1,boxType:xd(y)}))},serialize:(a,y)=>Qu(a.command,a.belowToLatex(y),a.bodyToLatex(y))}),vn("overunderset","{above:auto}{below:auto}{base:auto}",{createAtom:a=>{const y=Nt(a.args[2]);return new rc(He(Se({},a),{above:Nt(a.args[0]),below:Nt(a.args[1]),body:y,skipBoundary:!1,boxType:xd(y)}))},serialize:(a,y)=>Qu(a.command,a.belowToLatex(y),a.bodyToLatex(y))}),vn(["stackrel","stackbin"],"[below:auto]{above:auto}{base:auto}",{createAtom:a=>new rc(He(Se({},a),{body:Nt(a.args[2]),above:Nt(a.args[1]),below:Nt(a.args[0]),skipBoundary:!1,boxType:a.command==="\\stackrel"?"rel":"bin"})),serialize:(a,y)=>Qu(a.command,a.aboveToLatex(y),a.bodyToLatex(y))}),vn("smash","[:string]{:auto}",{createAtom:a=>{var y,b,E,te;return new Bd(He(Se({},a),{body:Nt(a.args[1]),smashHeight:(b=(y=a.args[0])==null?void 0:y.includes("t"))!=null?b:!0,smashDepth:(te=(E=a.args[0])==null?void 0:E.includes("b"))!=null?te:!0}))}}),vn(["vphantom"],"{:auto}",{createAtom:a=>new Bd(He(Se({},a),{body:Nt(a.args[0]),isInvisible:!0,smashWidth:!0}))}),vn(["hphantom"],"{:auto}",{createAtom:a=>new Bd(He(Se({},a),{body:Nt(a.args[0]),isInvisible:!0,smashHeight:!0,smashDepth:!0}))}),vn(["phantom"],"{:auto}",{createAtom:a=>new Bd(He(Se({},a),{body:Nt(a.args[0]),isInvisible:!0}))}),vn("not","{:math}",{createAtom:a=>{const y=Nt(a.args[0]);return y.length===0?new Ti(He(Se({},a),{type:"mrel",value:"\uE020"})):new Ti(He(Se({},a),{body:[new nc(He(Se({},a),{body:"\uE020",align:"right"})),...y],captureSelection:!0}))},serialize:(a,y)=>{const b=a.args[0],E=b&&typeof b=="object"&&"group"in b;return a.value!=="\uE020"?E?`\\not{${Ti.serialize(b.group,y)}}`:`\\not${Ti.serialize(b,y)}`:E?"\\not{}":"\\not"},render:(a,y)=>{if(a.value)return a.createBox(y);const E=a.args[0]&&typeof a.args[0]=="object"&&"group"in a.args[0]?"ord":xd(Nt(a.args[0])),te=Ti.createBox(y,a.body,{type:E});return a.caret&&(te.caret=a.caret),a.bind(y,te)}}),vn(["ne","neq"],"",{createAtom:a=>new Ti(He(Se({},a),{type:"mrel",body:[new nc(He(Se({},a),{body:"\uE020",align:"right",boxType:"rel"})),new Ti(He(Se({},a),{value:"="}))],captureSelection:!0})),serialize:a=>a.command}),vn("rlap","{:auto}",{createAtom:a=>new nc(He(Se({},a),{body:Nt(a.args[0]),align:"right"}))}),vn("llap","{:auto}",{createAtom:a=>new nc(He(Se({},a),{body:Nt(a.args[0]),align:"left"}))}),vn("mathrlap","{:math}",{createAtom:a=>new nc(He(Se({},a),{body:Nt(a.args[0]),align:"left"}))}),vn("mathllap","{:math}",{createAtom:a=>new nc(He(Se({},a),{body:Nt(a.args[0]),align:"left"}))}),vn("raisebox","{:value}{:text}",{createAtom:a=>{var y;return new Cc(He(Se({},a),{body:Nt(a.args[1]),padding:{dimension:0},offset:(y=a.args[0])!=null?y:{dimension:0}}))},serialize:(a,y)=>{var b;return Qu("\\raisebox",(b=tc(a.offset))!=null?b:"0pt",a.bodyToLatex(y))}}),vn("raise","{:value}{:auto}",{createAtom:a=>{var y;return new Cc(He(Se({},a),{body:Nt(a.args[1]),padding:{dimension:0},offset:(y=a.args[0])!=null?y:{dimension:0}}))},serialize:(a,y)=>{var b;return Qu("\\raise",(b=tc(a.offset))!=null?b:"0pt",a.bodyToLatex(y))}}),vn("lower","{:value}{:auto}",{createAtom:a=>{var y;return new Cc(He(Se({},a),{body:Nt(a.args[1]),padding:{dimension:0},offset:(y=Gc(a.args[0],-1))!=null?y:{dimension:0}}))},serialize:(a,y)=>{var b,E;return Qu("\\lower",(E=tc(Gc((b=a.offset)!=null?b:{dimension:0},-1)))!=null?E:"0pt",a.bodyToLatex(y))}}),wt("0123456789/@.?!"),en(65,90),en(97,122),wt([["\\forall",8704],["\\exists",8707],["\\nexists",8708,"mord","ams"],["\\mid",8739,"mrel"],["\\top",8868],["\\bot",8869]]),wt([["\\#",35],["\\&",38],["\\parallelogram",9649],["\\spadesuit",9824],["\\heartsuit",9825],["\\diamondsuit",9826],["\\clubsuit",9827],["\\flat",9837],["\\natural",9838],["\\sharp",9839]]),wt([["\\backslash",92],["\\nabla",8711],["\\partial",8706],["\\ell",8467],["\\hbar",8463],["\\Q",81,"mord","double-struck"],["\\C",67,"mord","double-struck"],["\\P",80,"mord","double-struck"],["\\pounds",163],["\\euro",8364]]),wt([["\\rightarrow",8594],["\\to",8594],["\\leftarrow",8592],["\\gets",8592],["\\Rightarrow",8658],["\\Leftarrow",8656],["\\longrightarrow",10230],["\\longleftarrow",10229],["\\Longrightarrow",10233],["\\implies",10233],["\\Longleftarrow",10232],["\\impliedby",10232],["\\longleftrightarrow",10231],["\\biconditional",10231],["\\Longleftrightarrow",10234],["\\mapsto",8614],["\\longmapsto",10236],["\\uparrow",8593],["\\downarrow",8595],["\\Uparrow",8657],["\\Downarrow",8659],["\\updownarrow",8597],["\\Updownarrow",8661],["\\hookrightarrow",8618],["\\hookleftarrow",8617],["\\rightharpoonup",8640],["\\leftharpoonup",8636],["\\rightharpoondown",8641],["\\leftharpoondown",8637],["\\searrow",8600],["\\nearrow",8599],["\\swarrow",8601],["\\nwarrow",8598],["\\originalof",8886],["\\laplace",8886],["\\imageof",8887],["\\Laplace",8887]],"mrel"),wt([["\\mapsfrom",8612,"mrel"],["\\Mapsfrom",10502,"mrel"],["\\MapsTo",10503,"mrel"],["\\Yup",8516,"mord"],["\\lightning",8623,"mrel"],["\\leftarrowtriangle",8701,"mrel"],["\\rightarrowtriangle",8702,"mrel"],["\\leftrightarrowtriangle",8703,"mrel"],["\\boxdot",8865,"mbin"],["\\bigtriangleup",9651,"mbin"],["\\bigtriangledown",9661,"mbin"],["\\boxbar",9707,"mbin"],["\\Lbag",10181,"mopen"],["\\Rbag",10182,"mclose"],["\\llbracket",10214,"mopen"],["\\rrbracket",10215,"mclose"],["\\longmapsfrom",10235,"mrel"],["\\Longmapsfrom",10237,"mrel"],["\\Longmapsto",10238,"mrel"],["\\boxslash",10692,"mbin"],["\\boxbslash",10693,"mbin"],["\\boxast",10694,"mbin"],["\\boxcircle",10695,"mbin"],["\\boxbox",10696,"mbin"],["\\fatsemi",10783,"mop"],["\\leftslice",10918,"mrel"],["\\rightslice",10919,"mrel"],["\\interleave",10996,"mbin"],["\\biginterleave",11004,"mop"],["\\sslash",11005,"mbin"],["\\talloblong",11006,"mbin"]]),wt([["\\lbrace",123,"mopen"],["\\rbrace",125,"mclose"],["\\lparen",40,"mopen"],["\\rparen",41,"mclose"],["\\langle",10216,"mopen"],["\\rangle",10217,"mclose"],["\\lfloor",8970,"mopen"],["\\rfloor",8971,"mclose"],["\\lceil",8968,"mopen"],["\\rceil",8969,"mclose"],["\\vert",8739],["\\lvert",8739,"mopen"],["\\rvert",8739,"mclose"],["\\|",8741],["\\Vert",8741],["\\mVert",8741],["\\lVert",8741,"mopen"],["\\rVert",8741,"mclose"],["\\lbrack",91,"mopen"],["\\rbrack",93,"mclose"],["\\{",123,"mopen"],["\\}",125,"mclose"],["(",40,"mopen"],[")",41,"mclose"],["[",91,"mopen"],["]",93,"mclose"],["\\ulcorner",9484,"mopen","ams"],["\\urcorner",9488,"mclose","ams"],["\\llcorner",9492,"mopen","ams"],["\\lrcorner",9496,"mclose","ams"],["\\lgroup",10222,"mopen"],["\\rgroup",10223,"mclose"],["\\lmoustache",9136,"mopen"],["\\rmoustache",9137,"mclose"]]),wt([["\\dashrightarrow",8674],["\\dashleftarrow",8672],["\\Rrightarrow",8667],["\\Lleftarrow",8666],["\\leftrightarrows",8646],["\\rightleftarrows",8644],["\\curvearrowright",8631],["\\curvearrowleft",8630],["\\rightrightarrows",8649],["\\leftleftarrows",8647],["\\upuparrows",8648],["\\downdownarrows",8650],["\\vartriangle",9651],["\\triangleq",8796],["\\vartriangleleft",8882],["\\trianglelefteq",8884],["\\ntriangleleft",8938],["\\ntrianglelefteq",8940],["\\vartriangleright",8883],["\\trianglerighteq",8885],["\\ntriangleright",8939],["\\ntrianglerighteq",8941],["\\blacktriangleleft",9664],["\\blacktriangleright",9654],["\\leftarrowtail",8610],["\\rightarrowtail",8611],["\\looparrowright",8620],["\\looparrowleft",8619],["\\twoheadleftarrow",8606],["\\twoheadrightarrow",8608],["\\twoheadrightarrowtail",10518],["\\rightleftharpoons",8652],["\\leftrightharpoons",8651],["\\Rsh",8625],["\\Lsh",8624],["\\circlearrowright",8635],["\\circlearrowleft",8634],["\\restriction",8638],["\\upharpoonright",8638],["\\upharpoonleft",8639],["\\downharpoonright",8642],["\\downharpoonleft",8643],["\\rightsquigarrow",8669],["\\leadsto",8669],["\\leftrightsquigarrow",8621],["\\multimap",8888],["\\nleftarrow",8602],["\\nrightarrow",8603],["\\nRightarrow",8655],["\\nLeftarrow",8653],["\\nleftrightarrow",8622],["\\nLeftrightarrow",8654],["\\nvrightarrow",8696],["\\nvtwoheadrightarrow",10496],["\\nvrightarrowtail",10516],["\\nvtwoheadrightarrowtail",10519],["\\shortparallel",8741],["\\nless",8814],["\\nleqslant",57360],["\\lneq",10887],["\\lneqq",8808],["\\nleqq",57361],["\\lvertneqq",57356],["\\lnsim",8934],["\\lnapprox",10889],["\\nprec",8832],["\\npreceq",8928],["\\precnsim",8936],["\\precnapprox",10937],["\\nsim",8769],["\\nshortmid",57350],["\\nmid",8740],["\\nvdash",8876],["\\nvDash",8877],["\\ngtr",8815],["\\ngeqslant",57359],["\\ngeqq",57358],["\\gneq",10888],["\\gneqq",8809],["\\gvertneqq",57357],["\\gnsim",8935],["\\gnapprox",10890],["\\nsucc",8833],["\\nsucceq",8929],["\\succnsim",8937],["\\succnapprox",10938],["\\ncong",8774],["\\nshortparallel",57351],["\\nparallel",8742],["\\nVDash",8879],["\\nsupseteqq",57368],["\\supsetneq",8843],["\\varsupsetneq",57371],["\\supsetneqq",10956],["\\varsupsetneqq",57369],["\\nVdash",8878],["\\precneqq",10933],["\\succneqq",10934],["\\nsubseteqq",57366],["\\leqslant",10877],["\\geqslant",10878],["\\gtrsim",8819],["\\approxeq",8778],["\\thickapprox",8776],["\\lessapprox",10885],["\\gtrapprox",10886],["\\precapprox",10935],["\\succapprox",10936],["\\thicksim",8764],["\\succsim",8831],["\\precsim",8830],["\\backsim",8765],["\\eqsim",8770],["\\backsimeq",8909],["\\lesssim",8818],["\\nleq",8816],["\\ngeq",8817],["\\smallsmile",8995],["\\smallfrown",8994],["\\leqq",8806],["\\eqslantless",10901],["\\lll",8920],["\\lessgtr",8822],["\\lesseqgtr",8922],["\\lesseqqgtr",10891],["\\risingdotseq",8787],["\\fallingdotseq",8786],["\\subseteqq",10949],["\\Subset",8912],["\\sqsubset",8847],["\\preccurlyeq",8828],["\\curlyeqprec",8926],["\\vDash",8872],["\\Vvdash",8874],["\\bumpeq",8783],["\\Bumpeq",8782],["\\geqq",8807],["\\eqslantgtr",10902],["\\ggg",8921],["\\gtrless",8823],["\\gtreqless",8923],["\\gtreqqless",10892],["\\supseteqq",10950],["\\Supset",8913],["\\sqsupset",8848],["\\succcurlyeq",8829],["\\curlyeqsucc",8927],["\\Vdash",8873],["\\shortmid",8739],["\\between",8812],["\\pitchfork",8916],["\\varpropto",8733],["\\backepsilon",8717],["\\llless",8920],["\\gggtr",8921],["\\doteqdot",8785],["\\Doteq",8785],["\\eqcirc",8790],["\\circeq",8791],["\\therefore",8756],["\\because",8757]],"mrel","ams"),wt([["+",43],["-",8722],["\u2212",8722],["\\pm",177],["\\mp",8723],["*",8727],["\\times",215],["\\div",247],["\\divides",8739],["\\cdot",8901],["\\cap",8745],["\\cup",8746],["\\setminus",8726],["\\land",8743],["\\wedge",8743],["\\lor",8744],["\\vee",8744],["\\circ",8728],["\\bigcirc",9711],["\\bullet",8729],["\\oplus",8853],["\\ominus",8854],["\\otimes",8855],["\\odot",8857],["\\oslash",8856],["\\bigtriangleup",9651],["\\bigtriangledown",9661],["\\triangleleft",9667],["\\triangleright",9657],["\\And",38],["\\dagger",8224],["\\dag",8224],["\\ddag",8225],["\\ddagger",8225],["\\ast",8727],["\\star",8902],["\\bigstar",9733],["\\diamond",8900]],"mbin"),wt([["\\lhd",8882],["\\rhd",8883],["\\lessdot",8918],["\\gtrdot",8919],["\\ltimes",8905],["\\rtimes",8906],["\\leftthreetimes",8907],["\\rightthreetimes",8908],["\\intercal",8890],["\\dotplus",8724],["\\doublebarwedge",10846],["\\divideontimes",8903],["\\centerdot",8901],["\\smallsetminus",8726],["\\barwedge",8892],["\\veebar",8891],["\\nor",8891],["\\curlywedge",8911],["\\curlyvee",8910],["\\boxminus",8863],["\\boxplus",8862],["\\boxtimes",8864],["\\boxdot",8865],["\\circleddash",8861],["\\circledast",8859],["\\circledcirc",8858],["\\unlhd",8884],["\\unrhd",8885]],"mbin","ams"),wt([["\\surd",8730],["\\infty",8734],["\\prime",8242],["\\doubleprime",8243],["\\angle",8736],["`",8216],["\\$",36],["\\%",37],["\\_",95],["\\alpha",945],["\\beta",946],["\\gamma",947],["\\delta",948],["\\epsilon",1013],["\\varepsilon",949],["\\zeta",950],["\\eta",951],["\\theta",952],["\\vartheta",977],["\\iota",953],["\\kappa",954],["\\varkappa",1008,"mord","ams"],["\\lambda",955],["\\mu",956],["\\nu",957],["\\xi",958],["\\omicron",111],["\\pi",960],["\\varpi",982],["\\rho",961],["\\varrho",1009],["\\sigma",963],["\\varsigma",962],["\\tau",964],["\\phi",981],["\\varphi",966],["\\upsilon",965],["\\chi",967],["\\psi",968],["\\omega",969],["\\Gamma",915],["\\Delta",916],["\\Theta",920],["\\Lambda",923],["\\Xi",926],["\\Pi",928],["\\Sigma",931],["\\Upsilon",933],["\\Phi",934],["\\Psi",936],["\\Omega",937],["\\digamma",989,"mord","ams"],["\\emptyset",8709]]),wt([["=",61],["<",60],["\\lt",60],[">",62],["\\gt",62],["\\le",8804],["\\leq",8804],["\\ge",8805],["\\geq",8805],["\\ll",8810],["\\gg",8811],["\\coloneq",8788],["\\coloneqq",8788],["\\colonequals",8788],["\\measeq",8797],["\\eqdef",8798],["\\questeq",8799],[":",58],["\\cong",8773],["\\equiv",8801],["\\prec",8826],["\\preceq",10927],["\\succ",8827],["\\succeq",10928],["\\perp",8869],["\\propto",8733],["\\Colon",8759],["\\smile",8995],["\\frown",8994],["\\sim",8764],["\\doteq",8784],["\\bowtie",8904],["\\Join",8904],["\\asymp",8781],["\\sqsubseteq",8849],["\\sqsupseteq",8850],["\\approx",8776],["\\~",126],["\\leftrightarrow",8596],["\\Leftrightarrow",8660],["\\models",8872],["\\vdash",8866],["\\dashv",8867],["\\roundimplies",10608],["\\in",8712],["\\notin",8713],["\\ni",8715],["\\owns",8715],["\\subset",8834],["\\supset",8835],["\\subseteq",8838],["\\supseteq",8839],["\\differencedelta",8710],["\\mvert",8739],["\\parallel",8741],["\\simeq",8771]],"mrel"),wt([["\\lnot",172],["\\neg",172],["\\triangle",9651],["\\subsetneq",8842],["\\varsubsetneq",57370],["\\subsetneqq",10955],["\\varsubsetneqq",57367],["\\nsubset",8836],["\\nsupset",8837],["\\nsubseteq",8840],["\\nsupseteq",8841]],"mrel","ams"),wt([["\\wp",8472],["\\aleph",8501]]),wt([["\\blacktriangle",9650],["\\hslash",8463],["\\Finv",8498],["\\Game",8513],["\\eth",240],["\\mho",8487],["\\Bbbk",107],["\\yen",165],["\\square",9633],["\\Box",9633],["\\blacksquare",9632],["\\circledS",9416],["\\circledR",174],["\\triangledown",9661],["\\blacktriangledown",9660],["\\checkmark",10003],["\\diagup",9585],["\\measuredangle",8737],["\\sphericalangle",8738],["\\backprime",8245],["\\backdoubleprime",8246],["\\Diamond",9674],["\\lozenge",9674],["\\blacklozenge",10731],["\\varnothing",8709],["\\complement",8705],["\\maltese",10016],["\\beth",8502],["\\daleth",8504],["\\gimel",8503]],"mord","ams"),wt([["\\ ",160],["~",160]],"space"),vn(["!",",",":",";",">","enskip","enspace","quad","qquad"],"",{createAtom:a=>new md(a)}),vn("space","",{createAtom:a=>new md(a)}),wt([["\\colon",58],["\\cdotp",8901],["\\vdots",8942,"mord"],["\\ldotp",46],[",",44],[";",59]],"mpunct"),wt([["\\cdots",8943],["\\ddots",8945],["\\ldots",8230],["\\mathellipsis",8230]],"minner"),wt([["\\/",47],["|",8739,"mord"],["\\imath",305],["\\jmath",567],["\\degree",176],["'",8242],['"',8221]]);var Nv="",mp="";function gp(a){return a.replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function fc(a,y){return!a||!y.generateID?"":` extid="${a}"`}function Pg(a,y,b){var E,te,oe,ue,Ae,Ee,Ne,Ge,gt,$t,kn;let rr=!1;y=y!=null?y:a.atoms.length;let gi="",no="",si=a.atoms[a.index];const la=(te=(E=si.style)==null?void 0:E.variant)!=null?te:"",po=(ue=(oe=si.style)==null?void 0:oe.variantStyle)!=null?ue:"";let Ba="";if(la||po){const as=Cr(si.value,(Ae=si.style)==null?void 0:Ae.variant,(Ee=si.style)==null?void 0:Ee.variantStyle);if(as!==si.value)return a.index+=1,gi=`${as}`,F0(gi,a,b)||(a.mathML+=gi,a.lastType="mi"),!0;Ba=(Ne={upnormal:"normal",boldnormal:"bold",italicmain:"italic",bolditalicmain:"bold-italic","updouble-struck":"double-struck","double-struck":"double-struck",boldfraktur:"bold-fraktur",calligraphic:"script",upcalligraphic:"script",script:"script",boldscript:"bold-script",boldcalligraphic:"bold-script",fraktur:"fraktur","upsans-serif":"sans-serif","boldsans-serif":"bold-sans-serif","italicsans-serif":"sans-serif-italic","bolditalicsans-serif":"sans-serif-bold-italic",monospace:"monospace"}[po+la])!=null?Ne:"",Ba=` mathvariant="${Ba}"`}const Tl={"\\exponentialE":"ⅇ","\\imaginaryI":"ⅈ","\\differentialD":"ⅆ","\\capitalDifferentialD":"ⅅ","\\alpha":"α","\\pi":"π","\\infty":"∞","\\forall":"∀","\\nexists":"∄","\\exists":"∃","\\hbar":"\u210F","\\cdotp":"\u22C5","\\ldots":"\u2026","\\cdots":"\u22EF","\\ddots":"\u22F1","\\vdots":"\u22EE","\\ldotp":"."};if(si.command==="!")return a.index+=1,gi="!",F0(gi,a,b)||(a.mathML+=gi,a.lastType="mo"),!0;if(Tl[si.command]){a.index+=1;let as=`${Tl[si.command]}`;return(a.lastType==="mi"||a.lastType==="mn"||a.lastType==="mtext"||a.lastType==="fence")&&(as=mp+as),F0(as,a,b)||(a.mathML+=as,a.lastType="mi"),!0}if(si.command==="\\operatorname")no=wh(si.body),a.index+=1;else if(la||po)for(;a.index0){rr=!0,gi=`${no}`;const as=a.lastType;gi.endsWith(">f")||gi.endsWith(">g")?(gi+=Nv,a.lastType="applyfunction"):a.lastType=/^(.*)<\/mo>$/.test(gi)?"mo":"mi",F0(gi,a,b)||((as==="mi"||as==="mn"||as==="mtext"||as==="fence")&&(gi=mp+gi),a.mathML+=gi)}return rr}function Dg(a){return a.index${a}${Ae}${ue}`:ue?Ee=`${a}${ue}`:Ae&&(Ee=`${a}${Ae}`),y.mathML+=Ee,y.lastType="",!0}function Mg(a,y,b){y=y!=null?y:a.atoms.length;const E=a.index;let te="";for(;a.index0?(a.mathML+=`${te}`,a.lastType="mtext",!0):!1}function Ig(a,y,b){y=y!=null?y:a.atoms.length;const E=a.index;let te="",oe=Sg(a);for(oe>=0&&oe"+te+"",oe<0&&Dg(a)&&(oe=a.index,a.index+=1),F0(te,a,b)||(a.mathML+=te,a.lastType="mn"),!0)}function Fg(a,y,b){let E=!1;y=y!=null?y:a.atoms.length;let te="",oe="";if(a.index",te+=uh(a.atoms[Ee],b),te+=Uu(a.atoms,b,Ee+1,Ne),te+=uh(a.atoms[Ne],b),te+="",a.index=Ne+1,(a.lastType==="mi"||a.lastType==="mn"||a.lastType==="mfrac"||a.lastType==="fence")&&(a.mathML+=mp),F0(te,a,b)&&(E=!0,a.lastType="",te=""),oe="fence")}return te.length>0&&(E=!0,a.mathML+=te,a.lastType=oe),E}function kg(a,y,b){let E=!1;y=y!=null?y:a.atoms.length;let te="",oe="";const ue=a.atoms[a.index];if(!ue)return!1;const Ae={"\\ne":"≠","\\neq":"&neq;","\\pm":"±","\\times":"×","\\colon":":","\\vert":"|","\\Vert":"\u2225","\\mid":"\u2223","\\{":"{","\\}":"}","\\lbrace":"{","\\rbrace":"}","\\lbrack":"[","\\rbrack":"]","\\lparen":"(","\\rparen":")","\\langle":"\u27E8","\\rangle":"\u27E9","\\lfloor":"\u230A","\\rfloor":"\u230B","\\lceil":"\u2308","\\rceil":"\u2309"};if(Ae[ue.command]){a.index+=1;const Ee=`${Ae[ue.command]}`;return F0(Ee,a,b)||(a.mathML+=Ee,a.lastType="mo"),!0}if(a.index"):ue.superscript?(te+=""+Ee,te+=Uu(ue.superscript,b),te+=""):ue.subscript&&(te+=""+Ee,te+=Uu(ue.subscript,b),te+=""),a.mathML+=te,a.lastType="mo",a.index+=1,!0}{const Ee=a.atoms[a.index],Ne=Ee.value==="\\operatorname",Ge=Ne?'"+wh(Ee.value)+"":uh(Ee,b);te+=Ge,!Ne&&!/^(.*)<\/mo>$/.test(Ge)?(te+=Nv,oe="applyfunction"):oe=Ne?"mi":"mo"}(a.lastType==="mi"||a.lastType==="mn")&&!/^(.*)<\/mo>$/.test(te)&&(te=mp+te),a.index+=1}return te.length>0&&(E=!0,F0(te,a,b)||(a.mathML+=te,a.lastType=oe)),E}function Uu(a,y,b,E){y!=null||(y={});const te={atoms:[],index:b!=null?b:0,mathML:"",lastType:""};if(typeof a=="number"||typeof a=="boolean")te.mathML=a.toString();else if(typeof a=="string")te.mathML=a;else if(a instanceof Ti)te.mathML=Xp(a,y);else if(Array.isArray(a)){te.atoms=a;let oe=0;for(E=E||(a?a.length:0);te.index0&&te.atoms[te.index].type==="genfrac"&&(ue=""+ue),te.atoms[te.index].type==="genfrac"?te.lastType="mfrac":te.lastType="",te.index+=1,F0(ue,te,y)?oe+=1:ue.length>0&&(te.mathML+=ue,oe+=1)}oe>1&&(te.mathML=""+te.mathML+"")}return te.mathML}function uh(a,y){let b="";const E=wh(a.value);return E&&(b=""+E+""),b}function wh(a){if(!a)return"";if(typeof a=="string")return gp(a);if(!Array.isArray(a)&&typeof a.body=="string")return gp(a.body);let y="";for(const b of a)typeof b.value=="string"&&(y+=b.value);return gp(y)}function Xp(a,y){var b,E,te,oe,ue,Ae,Ee,Ne,Ge,gt,$t,kn,rr,gi,no,si,la,po,Ba,Tl,as,Gl;if(a.mode==="text")return`${a.value}`;const Tu={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",longleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",longrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",longrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xleftrightarrows:"\u21C4",xRightleftharpoons:"\u21CC",longRightleftharpoons:"\u21CC",xLeftrightharpoons:"\u21CB",longLeftrightharpoons:"\u21CB"},ac={"\\!":-3/18,"\\ ":6/18,"\\,":3/18,"\\:":4/18,"\\>":4/18,"\\;":5/18,"\\enspace":.5,"\\quad":1,"\\qquad":2,"\\enskip":.5};let zo="",Mf="",d0,jf,cd,If,uf,hc;const{command:Xc}=a;if(a.command==="\\error")return`${Uu(a.body,y)}`;const dd={"\\vert":"|","\\Vert":"\u2225","\\mid":"\u2223","\\lbrack":"[","\\rbrack":"]","\\{":"{","\\}":"}","\\lbrace":"{","\\rbrace":"}","\\lparen":"(","\\rparen":")","\\langle":"\u27E8","\\rangle":"\u27E9","\\lfloor":"\u230A","\\rfloor":"\u230B","\\lceil":"\u2308","\\rceil":"\u2309"},f0={"\\vec":"⃗","\\acute":"´","\\grave":"`","\\dot":"˙","\\ddot":"¨","\\tilde":"~","\\bar":"¯","\\breve":"˘","\\check":"ˇ","\\hat":"^"};switch(a.type){case"first":break;case"group":case"root":zo=Uu(a.body,y);break;case"array":if((a.leftDelim&&a.leftDelim!=="."||a.rightDelim&&a.rightDelim!==".")&&(zo+="",a.leftDelim&&a.leftDelim!=="."&&(zo+=""+(dd[a.leftDelim]||a.leftDelim)+"")),zo+="",d0=0;d0"+Uu(a.array[jf][d0],y)+"";zo+=""}zo+="",(a.leftDelim&&a.leftDelim!=="."||a.rightDelim&&a.rightDelim!==".")&&(a.rightDelim&&a.rightDelim!=="."&&(zo+=""+(dd[a.leftDelim]||a.rightDelim)+""),zo+="");break;case"genfrac":(a.leftDelim||a.rightDelim)&&(zo+=""),a.leftDelim&&a.leftDelim!=="."&&(zo+=""+(dd[a.leftDelim]||a.leftDelim)+""),a.hasBarLine?(zo+="",zo+=Uu(a.above,y)||" ",zo+=Uu(a.below,y)||" ",zo+=""):(zo+="",zo+=""+Uu(a.above,y)+"",zo+=""+Uu(a.below,y)+"",zo+=""),a.rightDelim&&a.rightDelim!=="."&&(zo+=""+(dd[a.rightDelim]||a.rightDelim)+""),(a.leftDelim||a.rightDelim)&&(zo+="");break;case"surd":a.hasEmptyBranch("above")?(zo+="",zo+=Uu(a.body,y),zo+=""):(zo+="",zo+=Uu(a.body,y),zo+=Uu(a.above,y),zo+="");break;case"leftright":const h0=a,p0=h0.leftDelim;zo="",p0&&p0!=="."&&(zo+=`${(b=dd[p0])!=null?b:p0}`),a.body&&(zo+=Uu(a.body,y));const v0=h0.matchingRightDelim();v0&&v0!=="."&&(zo+=`${(E=dd[v0])!=null?E:v0}`),zo+="";break;case"sizeddelim":case"delim":zo+=`${dd[a.value]||a.value}`;break;case"accent":zo+='",zo+=Uu(a.body,y),zo+=""+(f0[Xc]||a.accent)+"",zo+="";break;case"line":case"overlap":break;case"overunder":uf=a.above,If=a.below,(a.svgAbove||uf)&&(a.svgBelow||If)?hc=a.body:uf&&uf.length>0?(hc=a.body,(oe=(te=a.body)==null?void 0:te[0])!=null&&oe.below?(If=a.body[0].below,hc=a.body[0].body):((Ae=(ue=a.body)==null?void 0:ue[0])==null?void 0:Ae.type)==="first"&&((Ne=(Ee=a.body)==null?void 0:Ee[1])!=null&&Ne.below)&&(If=a.body[1].below,hc=a.body[1].body)):If&&If.length>0&&(hc=a.body,(gt=(Ge=a.body)==null?void 0:Ge[0])!=null&>.above?(uf=a.body[0].above,hc=a.body[0].body):((kn=($t=a.body)==null?void 0:$t[0])==null?void 0:kn.type)==="first"&&((gi=(rr=a.body)==null?void 0:rr[1])!=null&&gi.above)&&(uf=a.body[1].overscript,hc=a.body[1].body)),(a.svgAbove||uf)&&(a.svgBelow||If)?(zo+=``,zo+=(no=Tu[a.svgBody])!=null?no:Uu(hc,y),zo+=(si=Tu[a.svgBelow])!=null?si:Uu(If,y),zo+=(la=Tu[a.svgAbove])!=null?la:Uu(uf,y),zo+=""):a.svgAbove||uf?(zo+=``+((po=Tu[a.svgBody])!=null?po:Uu(hc,y)),zo+=(Ba=Tu[a.svgAbove])!=null?Ba:Uu(uf,y),zo+=""):(a.svgBelow||If)&&(zo+=``+((Tl=Tu[a.svgBody])!=null?Tl:Uu(hc,y)),zo+=(as=Tu[a.svgBelow])!=null?as:Uu(If,y),zo+="");break;case"placeholder":zo+="?";break;case"mord":{zo=typeof a.value=="string"?a.value:Xc,Xc==="\\char"?zo="&#x"+("000000"+a.args[0].number.toString(16)).slice(-4)+";":zo.length>0&&zo.startsWith("\\")&&(typeof a.value=="string"&&a.value.charCodeAt(0)>255?zo="&#x"+("000000"+a.value.charCodeAt(0).toString(16)).slice(-4)+";":typeof a.value=="string"?zo=a.value.charAt(0):(console.error("Did not expect this"),zo=""));const _f=/\d/.test(zo)?"mn":"mi";zo=`<${_f}${fc(a.id,y)}>${gp(zo)}`;break}case"mbin":case"mrel":case"minner":zo=uh(a,y);break;case"mpunct":zo='"+Xc+"";break;case"mop":case"operator":case"extensible-symbol":a.body!=="\u200B"&&(zo="",zo+=Xc==="\\operatorname"?a.body:Xc||a.body,zo+="");break;case"box":zo='"+Uu(a.body,y)+"";break;case"spacing":zo+='';break;case"enclose":zo=''+Uu(a.body,y)+"";break;case"prompt":zo=''+Uu(a.body,y)+"";break;case"space":zo+=" ";break;case"subsup":break;case"phantom":break;case"composition":break;case"rule":break;case"chem":break;case"mopen":zo+=uh(a,y);break;case"mclose":zo+=uh(a,y);break;case"macro":{const _f=a.command+wh(a.macroArgs);_f&&(zo+=`${_f}`)}break;case"latexgroup":zo+=Uu(a.body,y);break;case"latex":zo+=""+a.value+"";break;case"tooltip":zo+=Uu(a.body,y);break;case"text":zo+=`${a.value}`;break;default:if(a.command==="\\displaystyle")return`${Uu(a.body,y)}`;if(a.command==="\\textstyle")return`${Uu(a.body,y)}`;console.info("Unexpected element in conversion to MathML:",a)}return zo}var Ch={"\\alpha":"alpha ","\\mu":"mew ","\\sigma":"sigma ","\\pi":"pie ","\\imaginaryI":"imaginary eye ","\\imaginaryJ":"imaginary jay ","\\sum":"Summation ","\\prod":"Product ","+":"plus ","-":"minus ",";":' semi-colon ',",":' comma ',"|":'Vertical bar',"(":'Open paren. ',")":' Close paren. ',"=":"equals ","<":"is less than ","\\lt":"is less than ","<=":"is less than or equal to ","\\le":"is less than or equal to ","\\gt":"is greater than ",">":"is greater than ","\\pm":"plus or minus","\\mp":"minus or plus","\\ge":"is greater than or equal to ","\\geq":"is greater than or equal to ","\\leq":"is less than or equal to ","\\ne":"is not equal to ","\\neq":"is not equal to ","!":"factorial ","\\sin":"sine ","\\cos":"cosine ","\u200B":"","\u2212":"minus ",":":' such that ',"\\colon":' such that ',"\\hbar":"etch bar ","\\iff":'if, and only if, ',"\\Longleftrightarrow":'if, and only if, ',"\\land":"and ","\\lor":"or ","\\neg":"not ","\\div":"divided by ","\\forall":"for all ","\\exists":"there exists ","\\nexists":"there does not exists ","\\in":"element of ","\\N":'the set n',"\\C":'the set c',"\\Z":'the set z',"\\Q":'the set q',"\\infty":"infinity ","\\nabla":"nabla ","\\partial":"partial derivative of ","\\cdot":"times ","\\cdots":"dot dot dot ","\\Rightarrow":"implies ","\\lparen":'open paren',"\\rparen":'close paren',"\\lbrace":'open brace',"\\{":'open brace',"\\rbrace":'close brace',"\\}":'close brace',"\\langle":'left angle bracket',"\\rangle":'right angle bracket',"\\lfloor":'open floor',"\\rfloor":'close floor',"\\lceil":'open ceiling',"\\rceil":'close ceiling',"\\vert":'vertical bar',"\\mvert":'divides',"\\lvert":'left vertical bar',"\\rvert":'right vertical bar',"\\lbrack":' open square bracket ',"\\rbrack":' close square bracket ',mm:"millimeters",cm:"centimeters",km:"kilometers",kg:"kilograms"},Zp={array:"array",matrix:"matrix",pmatrix:"parenthesis matrix",bmatrix:"square brackets matrix",Bmatrix:"braces matrix",vmatrix:"bars matrix",Vmatrix:"double bars matrix","matrix*":"matrix",smallmatrix:"small matrix"};function Ng(a){let y="";return a.startsWith("\\")&&(y=" "+a.replace("\\","")+" "),y}function Lh(a){let y=0;if(ut(a))for(const b of a)b.type!=="first"&&(y+=1);return y===1}function Lg(a){if(ut(a)){for(const y of a)if(y.type!=="first"&&y.id)return y.id.toString()}return""}function Lv(a){let y="";if(ut(a))for(const b of a)b.type!=="first"&&typeof b.value=="string"&&(y+=b.value);return y}function Og(a){return a?a.map(y=>y.value).join(""):""}function ku(a,y){var b,E,te,oe,ue;function Ae(Ge){return window.MathfieldElement.textToSpeechMarkup?/[a-z]/.test(Ge)?` ${Ge}`:/[A-Z]/.test(Ge)?`capital ${Ge.toLowerCase()}`:Ge:/[a-z]/.test(Ge)?" '"+Ge.toUpperCase()+"'":/[A-Z]/.test(Ge)?" 'capital "+Ge.toUpperCase()+"'":Ge}function Ee(Ge){return""+Ge+""}if(!y)return"";let Ne="";if(ut(y)){let Ge=!1,gt=!1;for(let $t=0;$t'),Ne+=y.value;else{y.id&&a==="math"&&(Ne+='');let Ge="",gt="",$t="",kn=!1;const{command:rr}=y;switch(rr){case"\\vec":return"vector "+ku(a,y.body);case"\\acute":return ku(a,y.body)+" acute";case"\\grave":return ku(a,y.body)+" grave";case"\\dot":return"dot over"+ku(a,y.body);case"\\ddot":return"double dot over"+ku(a,y.body);case"\\mathring":return"ring over"+ku(a,y.body);case"\\tilde":case"\\widetilde":return"tilde over"+ku(a,y.body);case"\\bar":return ku(a,y.body)+" bar";case"\\breve":return ku(a,y.body)+" breve";case"\\check":case"\\widecheck":return"check over "+ku(a,y.body);case"\\hat":case"\\widehat":return"hat over"+ku(a,y.body);case"\\overarc":case"\\overparen":case"\\wideparen":return"arc over "+ku(a,y.body);case"\\underarc":case"\\underparen":return"arc under "+ku(a,y.body)}switch(y.type){case"prompt":const gi=y.body.length>1?'start input . '+ku(a,y.body)+'. end input':"blank";Ne+=' '+gi+'. '+((E=y.correctness)!=null?E:"")+' . ';break;case"array":const no=y.array,si=y.environmentName;if(Object.keys(Zp).includes(si)){Ne+=` begin ${Zp[si]} `;for(let Ba=0;Ba0&&(Ne+=","),Ne+=` row ${Ba+1} `;for(let Tl=0;Tl0&&(Ne+=","),Ne+=` column ${Tl+1}: `,Ne+=ku("math",no[Ba][Tl])}Ne+=` end ${Zp[si]} `}break;case"group":rr==="\\ne"?Ne+=" not equal ":(rr==="\\not"&&(Ne+=" not "),Ne+=ku("math",y.body));break;case"root":Ne+=ku("math",y.body);break;case"genfrac":if(Ge=ku("math",y.above),gt=ku("math",y.below),Lh(y.above)&&Lh(y.below)){const Tl={"1/2":" half ","1/3":" one third ","2/3":" two third","1/4":" one quarter ","3/4":" three quarter ","1/5":" one fifth ","2/5":" two fifths ","3/5":" three fifths ","4/5":" four fifths ","1/6":" one sixth ","5/6":" five sixths ","1/8":" one eight ","3/8":" three eights ","5/8":" five eights ","7/8":" seven eights ","1/9":" one ninth ","2/9":" two ninths ","4/9":" four ninths ","5/9":" five ninths ","7/9":" seven ninths ","8/9":" eight ninths "}[Lv(y.above)+"/"+Lv(y.below)];Tl?Ne=Tl:Ne+=Ge+" over "+gt}else Ne+=' the fraction '+Ge+' over '+gt+'. End fraction.';break;case"surd":if($t=ku("math",y.body),y.hasEmptyBranch("above"))Ne+=Lh(y.body)?" the square root of "+$t+" , ":' the square root of '+$t+'. End square root';else{let Ba=ku("math",y.above);Ba=Ba.trim();const Tl=Ba.replace(//g,"");Tl==="3"?Ne+=' the cube root of '+$t+'. End cube root':Tl==="n"?Ne+=' the nth root of '+$t+'. End root':Ne+=' the root with index: '+Ba+', of '+$t+'. End root'}break;case"leftright":{const Ba=y;Ne+=(te=Ba.leftDelim?Ch[Ba.leftDelim]:void 0)!=null?te:Ba.leftDelim,Ne+=ku("math",y.body),Ne+=(oe=Ba.rightDelim?Ch[Ba.rightDelim]:void 0)!=null?oe:Ba.rightDelim}break;case"rule":break;case"overunder":break;case"overlap":break;case"macro":const la=rr.replace(/^\\/g,""),po=ei()[la];po&&(po!=null&&po.expand?Ne+=ku("math",y.body):Ne+=`${la} `);break;case"placeholder":Ne+="placeholder ";break;case"delim":case"sizeddelim":case"mord":case"minner":case"mbin":case"mrel":case"mpunct":case"mopen":case"mclose":{if(rr==="\\mathbin"||rr==="\\mathrel"||rr==="\\mathopen"||rr==="\\mathclose"||rr==="\\mathpunct"||rr==="\\mathord"||rr==="\\mathinner"){Ne=ku(a,y.body);break}let Ba=y.isDigit()?y.asDigit():y.value,Tl=y.command;if((y.type==="delim"||y.type==="sizeddelim")&&(Tl=y.value,Ba=Tl),a==="text")Ne+=Ba;else{if(y.type==="mbin"&&(Ne+=''),Ba){const as=Ch[Ba]||(Tl?Ch[Tl.trim()]:"");if(as)Ne+=" "+as;else{const Gl=Tl?Ng(Tl.trim()):"";Ne+=Gl||Ae(Ba)}}else Ne+=ku("math",y.body);y.type==="mbin"&&(Ne+='')}break}case"mop":case"operator":case"extensible-symbol":if(y.value!=="\u200B"){const Ba=y.command;if(Ba==="\\sum")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let Tl=ku("math",y.superscript);Tl=Tl.trim();let as=ku("math",y.subscript);as=as.trim(),Ne+=' the summation from '+as+' to '+Tl+' of ',kn=!0}else if(y.hasEmptyBranch("subscript"))Ne+=" the summation of";else{let Tl=ku("math",y.subscript);Tl=Tl.trim(),Ne+=' the summation from '+Tl+' of ',kn=!0}else if(Ba==="\\prod")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let Tl=ku("math",y.superscript);Tl=Tl.trim();let as=ku("math",y.subscript);as=as.trim(),Ne+=' the product from '+as+' to '+Tl+' of ',kn=!0}else if(y.hasEmptyBranch("subscript"))Ne+=" the product of ";else{let Tl=ku("math",y.subscript);Tl=Tl.trim(),Ne+=' the product from '+Tl+' of ',kn=!0}else if(Ba==="\\int")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let Tl=ku("math",y.superscript);Tl=Tl.trim();let as=ku("math",y.subscript);as=as.trim(),Ne+=' the integral from '+Ee(as)+' to '+Ee(Tl)+' of ',kn=!0}else Ne+=' the integral of ';else if(typeof y.value=="string"){const Tl=(ue=Ch[y.value])!=null?ue:y.command?Ch[y.command]:void 0;Ne+=Tl||" "+y.value}else y.command&&(y.command==="\\mathop"?Ne+=ku("math",y.body):y.command==="\\operatorname"?Ne+=Og(y.body):Ne+=y.command.startsWith("\\")?" "+y.command.slice(1):" "+y.command)}break;case"enclose":$t=ku("math",y.body),Ne+=" crossed out "+$t+". End crossed out.";break;case"space":case"spacing":break}if(!kn&&!y.hasEmptyBranch("superscript")){let gi=ku(a,y.superscript);gi=gi.trim();const no=gi.replace(/<[^>]*>/g,"");if(Lh(y.superscript)){if(a==="math"){const si=Lg(y.superscript);si&&(Ne+='')}no==="\u2032"?Ne+=" prime ":no==="2"?Ne+=" squared ":no==="3"?Ne+=" cubed ":Number.isNaN(Number.parseInt(no))?Ne+=" to the "+gi+"; ":Ne+=' to the '+no+" power; "}else Number.isNaN(Number.parseInt(no))?Ne+=" raised to the "+gi+"; ":Ne+=' raised to the '+no+" power; "}if(!kn&&!y.hasEmptyBranch("subscript")){let gi=ku("math",y.subscript);gi=gi.trim(),Ne+=Lh(y.subscript)?" sub "+gi:" subscript "+gi+". End subscript. "}}return Ne}function Eh(a){var y,b;if(window.MathfieldElement.textToSpeechRules==="sre"&&("sre"in window||"SRE"in window)){const te=Uu(a);if(te){window.MathfieldElement.textToSpeechMarkup&&(window.MathfieldElement.textToSpeechRulesOptions=(y=window.MathfieldElement.textToSpeechRulesOptions)!=null?y:{},window.MathfieldElement.textToSpeechRulesOptions=He(Se({},window.MathfieldElement.textToSpeechRulesOptions),{markup:window.MathfieldElement.textToSpeechMarkup}),window.MathfieldElement.textToSpeechRulesOptions.markup==="ssml"&&(window.MathfieldElement.textToSpeechRulesOptions=He(Se({},window.MathfieldElement.textToSpeechRulesOptions),{markup:"ssml_step"})),window.MathfieldElement.textToSpeechRulesOptions=He(Se({},window.MathfieldElement.textToSpeechRulesOptions),{rate:window.MathfieldElement.speechEngineRate}));const oe=(b=window.SRE)!=null?b:window.sre.System.getInstance();window.MathfieldElement.textToSpeechRulesOptions&&oe.setupEngine(window.MathfieldElement.textToSpeechRulesOptions);let ue="";try{ue=oe.toSpeech(te)}catch(Ae){console.error("MathLive 0.98.5: `SRE.toSpeech()` runtime error",Ae)}return ue}return""}let E=ku("math",a);if(window.MathfieldElement.textToSpeechMarkup==="ssml"){let te="";window.MathfieldElement.speechEngineRate&&(te=''),E=''+te+"

    "+E+"

    "+(te?"
    ":"")+""}else window.MathfieldElement.textToSpeechMarkup==="mac"&&St()==="macos"?E=E.replace(//g,"").replace(//g,"[[emph+]]").replace(/<\/emphasis>/g,"").replace(//g,"[[slc $1]]").replace(/]*>/g,"").replace(/<\/say-as>/g,""):E=E.replace(/<[^>]*>/g,"").replace(/\s{2,}/g," ");return E}var Oh={"\\ne":"\u2260","\\neq":"\u2260","\u2212":"-","-":"-","\\alpha":"alpha","\\beta":"beta","\\gamma":"gamma","\\delta":"delta","\\epsilon":"epsilon","\\varepsilon":"varepsilon","\\zeta":"zeta","\\eta":"eta","\\theta":"theta","\\vartheta":"vartheta","\\iota":"iota","\\kappa":"kappa","\\lambda":"lambda","\\mu":"mu","\\nu":"nu","\\xi":"xi","\\pi":"pi","\\rho":"rho","\\sigma":"sigma","\\tau":"tau","\\upsilon":"upsilon","\\phi":"phi","\\varphi":"varphi","\\chi":"chi","\\psi":"psi","\\omega":"omega","\\Gamma":"Gamma","\\Delta":"Delta","\\Theta":"Theta","\\Lambda":"Lambda","\\Xi":"Xi","\\Pi":"Pi","\\Sigma":"Sigma","\\Phi":"Phi","\\Psi":"Psi","\\Omega":"Omega","\\exponentialE":"e","\\imaginaryI":"i","\\imaginaryJ":"j","\\!":" ","\\,":" ","\\:":" ","\\>":" ","\\;":" ","\\enskip":" ","\\enspace":" ","\\qquad":" ","\\quad":" ","\\infty":"oo"},Th={"\\pm":"+-","\\colon":":","\\vert":"|","\\Vert":"||","\\mid":"|","\\lbrack":"[","\\rbrack":"]","\\lbrace":"{","\\rbrace":"}","\\lparen":"(","\\rparen":")","\\langle":"(:","\\rangle":":)","\\sum":" sum ","\\prod":" prod ","\\bigcap":" nnn ","\\bigcup":" uuu ","\\int":" int ","\\oint":" oint ","\\ge":">=","\\le":"<=","\\ne":"!=","\\neq":"!=","\\lt":"<","\\gt":">","\\gets":"<-","\\to":"->","\\land":" and ","\\lor":" or ","\\lnot":" not ","\\forall":" AA ","\\exists":" EE ","\\in":" in ","\\notin":" !in ","\\mapsto":"|->","\\implies":"=>","\\iff":"<=>","\\cdot":"*","\\ast":"**","\\star":"***","\\times":"xx","\\div":"-:","\\ltimes":"|><","\\rtimes":"><|","\\bowtie":"|><|","\\circ":"@"};function Tg(a){let y="";for(const b of a){const E=y[y.length-1];E!==void 0&&/\d/.test(E)&&/^\d/.test(b)&&(y+=" "),y+=b}return y}function Rc(a){var y,b,E,te,oe,ue,Ae,Ee,Ne,Ge,gt,$t,kn;if(!a)return"";if(ut(a)){if(a.length===0)return"";if(a[0].mode==="latex")return a.map(Rc).join("");if(a[0].mode==="text"){let po=0,Ba="";for(;((y=a[po])==null?void 0:y.mode)==="text";)Ba+=a[po].body?Rc(a[po].body):a[po].value,po++;return`"${Ba}" ${Rc(a.slice(po))}`}let si=0;const la=[];for(;a[si]&&a[si].mode==="math";){let po="";for(;a[si]&&a[si].type==="mord"&&/\d/.test(a[si].value);)po+=a[si++].value;po?la.push(po):la.push(Rc(a[si++]))}return la.push(Rc(a.slice(si))),Tg(la)}if(a.mode==="text")return`"${a.value}"`;let rr="";const{command:gi}=a;let no;if(gi==="\\placeholder")return`(${Rc(a.body)})`;switch(a.type){case"accent":const si={"\\vec":"vec","\\dot":"dot","\\ddot":"ddot","\\bar":"bar","\\hat":"hat","\\acute":"acute;","\\grave":"grave","\\tilde":"tilde","\\breve":"breave","\\check":"check"}[gi];rr=`${si!=null?si:""} ${Rc(a.body)} `;break;case"first":return"";case"latexgroup":return a.body.map(Gl=>Gl.value).join("");case"group":case"root":rr=(b=Oh[gi])!=null?b:Rc(a.body);break;case"genfrac":{const Gl=a;(Gl.leftDelim||Gl.rightDelim)&&(rr=Gl.leftDelim==="."||!Gl.leftDelim?"{:":Gl.leftDelim),Gl.hasBarLine?(rr+="(",rr+=Rc(Gl.above),rr+=")/(",rr+=Rc(Gl.below),rr+=")"):(rr+="("+Rc(Gl.above)+"),",rr+="("+Rc(Gl.below)+")"),(Gl.leftDelim||Gl.rightDelim)&&(rr+=Gl.rightDelim==="."||!Gl.rightDelim?"{:":Gl.rightDelim)}break;case"surd":rr+=a.hasEmptyBranch("above")?"sqrt("+Rc(a.body)+")":"root("+Rc(a.above)+")("+Rc(a.body)+")";break;case"latex":rr=a.value;break;case"leftright":{const Gl=a,Tu=Gl.leftDelim;rr+=Tu==="."||!Tu?"{:":Tu,rr+=Rc(Gl.body);const ac=Gl.matchingRightDelim();rr+=ac==="."||!ac?":}":ac}break;case"sizeddelim":case"delim":rr=a.value;break;case"overlap":break;case"overunder":break;case"mord":rr=(te=(E=Oh[gi])!=null?E:gi)!=null?te:typeof a.value=="string"?a.value:"",rr.startsWith("\\")&&(rr+=" "),no=gi?gi.match(/{?\\char"([\dabcdefABCDEF]+)}?/):null,no?rr=String.fromCodePoint(Number.parseInt("0x"+no[1])):rr.length>0&&rr.startsWith("\\")&&(rr=typeof a.value=="string"?a.value.charAt(0):a.command),rr=zg(rr,a.style);break;case"mbin":case"mrel":case"minner":rr=(ue=(oe=Oh[gi])!=null?oe:Th[gi])!=null?ue:a.value;break;case"mopen":case"mclose":rr=a.value;break;case"mpunct":rr=(Ae=Th[gi])!=null?Ae:gi;break;case"mop":case"operator":case"extensible-symbol":a.value!=="\u200B"&&(Th[gi]?rr=Th[gi]:rr=gi==="\\operatorname"?Rc(a.body):(Ee=a.value)!=null?Ee:gi,rr+=" ");break;case"array":const la=a.array,po=a.environmentName,Ba=(Ne={bmatrix:["[","]"],"bmatrix*":["[","]"]}[po])!=null?Ne:["(",")"],Tl=[];for(const Gl of la){const Tu=[];for(const ac of Gl)Tu.push(Ba[0]+Rc(ac)+Ba[1]);Tl.push(Tu.join(","))}const as=(Ge={bmatrix:["[","]"],"bmatrix*":["[","]"],cases:["{",":}"]}[po])!=null?Ge:["(",")"];rr=as[0]+Tl.join(",")+as[1];break;case"box":break;case"spacing":rr=(gt=Oh[gi])!=null?gt:" ";break;case"enclose":rr="("+Rc(a.body)+")";break;case"space":rr=" ";break;case"subsup":rr="";break;case"macro":rr=(kn=($t=Oh[gi])!=null?$t:Th[gi])!=null?kn:Rc(a.body);break}if(!a.hasEmptyBranch("subscript")){rr+="_";const si=Rc(a.subscript);rr+=si.length!==1?`(${si})`:si}if(!a.hasEmptyBranch("superscript")){rr+="^";const si=Rc(a.superscript);rr+=si.length!==1?`(${si})`:si}return rr}function zg(a,y){if(!y)return a;let b=a;return y.variant==="double-struck"&&(b=`bbb "${b}"`),y.variant==="script"&&(b=`cc "${b}"`),y.variant==="fraktur"&&(b=`fr "${b}"`),y.variant==="sans-serif"&&(b=`sf "${b}"`),y.variant==="monospace"&&(b=`tt "${b}"`),y.variantStyle==="bold"&&(b=`bb "${b}"`),y.color?`color({${y.color}})(${b})`:b}function ud(a,y){var b,E;y!=null||(y={}),y.mathstyle=(b=y.mathstyle)!=null?b:"displaystyle";const te=new vu({from:He(Se({},Ff()),{renderPlaceholder:()=>new za(160,{maxFontSize:1}),letterShapeStyle:(E=y==null?void 0:y.letterShapeStyle)!=null?E:"tex"}),mathstyle:y.mathstyle}),ue=new Ti({mode:"math",type:"root",body:hn(a,{context:te,parseMode:"math",mathstyle:y.mathstyle})}).render(te);return ue?(Nd(rf(ue,te)),hf(ue,{classes:"ML__latex"}).toMarkup()):""}function DA(a){return tr(a,{context:Ff()})}function Hg(a,y={}){return Uu(hn(a,{parseMode:"math",args:()=>"",mathstyle:"displaystyle"}),y)}function jg(a){const y=hn(a,{parseMode:"math",mathstyle:"displaystyle"});return Eh(y)}var Ap;function Rg(a){var y,b;if(!Ap){const E=(y=globalThis[Symbol.for("io.cortexjs.compute-engine")])==null?void 0:y.ComputeEngine;E?Ap=new E:console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. + + Load the library, for example with: + + import "https://unpkg.com/@cortex-js/compute-engine?module"`)}return(b=Ap==null?void 0:Ap.box(a).latex)!=null?b:""}function SA(a,y="math"){return Rc(new Ti({type:"root",body:hn(a,{parseMode:y})}))}function MA(a){return Nl(a,{format:"ascii-math"})[1]}function Qp(a){if(typeof a=="string"){const y=Xg(a);if(!y)throw new Error(`Invalid color: ${a}`);return y}return"C"in a?Qg(a):"a"in a?Ov(a):a}function Bh(a){return a<0?0:a>255?255:Math.round(a)}function Xg(a){if(!a||a[0]!=="#")return;a=a.slice(1);let y;return a.length<=4?(y={r:parseInt(a[0]+a[0],16),g:parseInt(a[1]+a[1],16),b:parseInt(a[2]+a[2],16)},a.length===4&&(y.a=parseInt(a[3]+a[3],16)/255)):(y={r:parseInt(a[0]+a[1],16),g:parseInt(a[2]+a[3],16),b:parseInt(a[4]+a[5],16)},a.length===8&&(y.a=parseInt(a[6]+a[7],16)/255)),y&&typeof y.a=="undefined"&&(y.a=1),y}function Vp(a){const[y,b,E]=[a.L,a.C,a.H],te=E*Math.PI/180,oe={L:y,a:b*Math.cos(te),b:b*Math.sin(te)};return a.alpha!==void 0&&(oe.alpha=a.alpha),oe}function Zg(a){const[y,b,E]=[a.L,a.a,a.b],te=Math.sqrt(b*b+E*E),ue=Math.atan2(E,b)*180/Math.PI,Ae={L:y,C:te,H:ue};return a.alpha!==void 0&&(Ae.alpha=a.alpha),Ae}function Kp(a){const[y,b,E]=[a.L,a.a,a.b],te=Math.pow(.9999999984505198*y+.39633779217376786*b+.2158037580607588*E,3),oe=Math.pow(1.00000000888176*y-.10556134232365635*b-.0638541747717059*E,3),ue=Math.pow(y*1.000000054672411-.0894841820949657*b-1.2914855378640917*E,3),Ae=4.076741661347994*te-3.307711590408193*oe+.230969928729428*ue,Ee=-1.2684380040921763*te+2.6097574006633715*oe-.3413193963102197*ue,Ne=-.004196086541837188*te-.7034186144594493*oe+1.7076147009309444*ue,Ge=gt=>{const $t=Math.abs(gt);return $t<=.0031308?gt*12.92:(Math.sign(gt)||1)*(1.055*Math.pow($t,1/2.4)-.055)};return[Ge(Ae),Ge(Ee),Ge(Ne)]}function Wp(a){const[y,b,E]=a;return y>=0&&y<=1&&b>=0&&b<=1&&E>=0&&E<=1}function Gp(a,y){let[b,E,te]=a;return b=Bh(b*255),E=Bh(E*255),te=Bh(te*255),y!==void 0?{r:b,g:E,b:te,alpha:y}:{r:b,g:E,b:te}}function Ov(a){let[y,b,E]=Kp(a);if(Wp([y,b,E]))return Gp([y,b,E],a.alpha);const te=Zg(a);if(te.C=0,[y,b,E]=Kp(Vp(te)),!Wp([y,b,E]))return Gp([y,b,E],a.alpha);let oe=0,ue=a.L,Ae=(oe+ue)/2;te.C=Ae;const Ee=.36/Math.pow(2,12);for(;ue-oe>Ee;)Ae=(oe+ue)/2,te.C=Ae,[y,b,E]=Kp(Vp(te)),Wp([y,b,E])?oe=Ae:ue=Ae;return Gp([y,b,E],a.alpha)}function Qg(a){return Ov(Vp(a))}function Tv(a,y){const b=Qp(a),E=Qp(y),te=.56,oe=.57,ue=.62,Ae=.65,Ee=.022,Ne=1.414,Ge=.1,gt=5e-4,$t=1.14,kn=.027,rr=1.14,gi=.027;function no(Gl){return Gl>=Ee?Gl:Gl+m0(Ee-Gl,Ne)}function si(Gl){return(Gl<0?-1:1)*Math.pow(Math.abs(Gl),2.4)}const la=no(si(E.r/255)*.2126729+si(E.g/255)*.7151522+si(E.b/255)*.072175),po=no(si(b.r/255)*.2126729+si(b.g/255)*.7151522+si(b.b/255)*.072175);let Ba,Tl,as;return Math.abs(po-la)la?(Ba=m0(po,te)-m0(la,oe),Tl=Ba*$t):(Ba=m0(po,Ae)-m0(la,ue),Tl=Ba*rr),Math.abs(Tl)0?as=Tl-gi:as=Tl+kn,as*100}function zv(a,y,b){b!=null||(b="#fff"),y!=null||(y="#000");const E=Tv(a,b),te=Tv(a,y);return Math.abs(E)>Math.abs(te)?b:y}function Vg(a){const y=Qp(a);let b=((1<<24)+(Bh(y.r)<<16)+(Bh(y.g)<<8)+Bh(y.b)).toString(16).slice(1);return y.alpha!==void 0&&y.alpha<1&&(b+=("00"+Math.round(y.alpha*255).toString(16)).slice(-2)),b[0]===b[1]&&b[2]===b[3]&&b[4]===b[5]&&b[6]===b[7]&&(b=b[0]+b[2]+b[4]+(y.alpha!==void 0&&y.alpha<1?b[6]:"")),"#"+b}function Pc(a){const y=Hv(a);let b="";for(const E of y){if(typeof E.value!="string")return"";b+=E.value}return b}function Hv(a){const b=a.model.selection.ranges;return b.length!==1?[]:a.model.getAtoms(b[0])}function Kg(a,y){const b=Hv(a);if(b.length!==1)return!1;const E=r0[y];return E?!!E.test(b[0].value):!1}function Wg(a,y){return Pc(a).length>0}function Gg(a){return[Up(a,"double-struck","mathbb","tooltip.blackboard"),Up(a,"fraktur","mathfrak","tooltip.fraktur"),Up(a,"calligraphic","mathcal","tooltip.caligraphic"),Yp(a,"up","mathrm","tooltip.roman-upright"),Yp(a,"bold","mathbf","tooltip.bold"),Yp(a,"italic","mathit","tooltip.italic")]}function Ug(a){return[{label:()=>ud(`\\vec{${Pc(a)}}`),visible:()=>Pc(a).length===1,onMenuSelect:()=>a.insert("\\vec{#@}",{selectionMode:"item"})},{label:()=>ud(`\\overrightarrow{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\overrightarrow{#@}",{selectionMode:"item"})},{label:()=>ud(`\\overleftarrow{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\overleftarrow{#@}",{selectionMode:"item"})},{label:()=>ud(`\\dot{${Pc(a)}}`),visible:()=>Pc(a).length===1,onMenuSelect:()=>a.insert("\\dot{#@}",{selectionMode:"item"})},{label:()=>ud(`\\ddot{${Pc(a)}}`),visible:()=>Pc(a).length===1,onMenuSelect:()=>a.insert("\\ddot{#@}",{selectionMode:"item"})},{label:()=>ud(`\\bar{${Pc(a)}}`),visible:()=>Pc(a).length===1,onMenuSelect:()=>a.insert("\\bar{#@}",{selectionMode:"item"})},{label:()=>ud(`\\overline{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\overline{#@}",{selectionMode:"item"})},{label:()=>ud(`\\overgroup{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\overgroup{#@}",{selectionMode:"item"})},{label:()=>ud(`\\overbrace{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\overbrace{#@}",{selectionMode:"item"})},{label:()=>ud(`\\underline{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\underline{#@}",{selectionMode:"item"})},{label:()=>ud(`\\undergroup{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\undergroup{#@}",{selectionMode:"item"})},{label:()=>ud(`\\underbrace{${Pc(a)}}`),visible:()=>Pc(a).length>0,onMenuSelect:()=>a.insert("\\underbrace{#@}",{selectionMode:"item"})}]}function Yg(a){return[{label:()=>ud(`\\boxed{${a.getValue(a.model.selection)}}}`),onMenuSelect:()=>a.insert("\\boxed{#@}",{selectionMode:"item"})},{label:()=>ud(`\\bbox[5px, border: 2px solid red]{${a.getValue(a.model.selection)}}`),onMenuSelect:()=>a.insert("\\bbox[5px, border: 2px solid red]{#@}",{selectionMode:"item"})},{label:()=>ud(`\\bbox[5px, border: 2px dashed black]{${a.getValue(a.model.selection)}}`),onMenuSelect:()=>a.insert("\\bbox[5px, border: 2px dashed black]{#@}",{selectionMode:"item"})}]}function Jg(a){const y=[];for(const b of Object.keys(gn))y.push({class:(Vg(zv(gn[b]))==="#000"?"dark-contrast":"light-contrast")+" menu-swatch",label:``,ariaLabel:()=>{var E;return(E=At(b))!=null?E:b},checked:()=>{var E;return{some:"mixed",all:!0}[(E=a.queryStyle({backgroundColor:b}))!=null?E:!1]},onMenuSelect:()=>{a.applyStyle({backgroundColor:b},{operation:"toggle"}),a.adoptStyle="none"}});return y}function qg(a){const y=[];for(const b of Object.keys(Nn))y.push({class:(zv(Nn[b])==="#000"?"dark-contrast":"light-contrast")+" menu-swatch",label:``,ariaLabel:()=>{var E;return(E=At(b))!=null?E:b},checked:()=>{var E;return{some:"mixed",all:!0}[(E=a.queryStyle({color:b}))!=null?E:!1]},onMenuSelect:()=>{a.applyStyle({color:b},{operation:"toggle"}),a.adoptStyle="none"}});return y}var _g=class extends Bv{constructor(a,y,b,E){super(a,y),this.row=b,this.col=E}set active(a){const y=this.parentMenu.children;if(a)for(const b of y)b.element.classList.toggle("active",b.row<=this.row&&b.col<=this.col);else for(const b of y)b.element.classList.remove("active")}};function $g(a){const y=[];for(let b=1;b<=5;b++)for(let E=1;E<=5;E++)y.push({onCreate:(te,oe)=>new _g(te,oe,b,E),label:"\u2610",tooltip:()=>At("tooltip.row-by-col",b,E),data:{row:b,col:E},onMenuSelect:()=>{a.insert(`\\begin{pmatrix}${Array(b).fill(Array(E).fill("#?").join(" & ")).join("\\\\")}\\end{pmatrix}`,{selectionMode:"item"})}});return y}function eA(a){return[{label:()=>At("menu.array.add row above"),id:"add-row-above",onMenuSelect:()=>a.executeCommand("addRowBefore"),visible:()=>ch(a)},{label:()=>At("menu.array.add row below"),id:"add-row-below",onMenuSelect:()=>a.executeCommand("addRowAfter"),visible:()=>ch(a)},{label:()=>At("menu.array.add column before"),id:"add-column-before",onMenuSelect:()=>a.executeCommand("addColumnBefore"),visible:()=>ch(a),enabled:()=>{const y=a.model.parentEnvironment;if(!y)return!1;const[b,E]=nA(a);return bAt("menu.array.add column after"),id:"add-column-after",onMenuSelect:()=>a.executeCommand("addColumnAfter"),visible:()=>ch(a)},{type:"divider"},{label:()=>At("menu.array.delete row"),id:"delete-row",onMenuSelect:()=>a.executeCommand("removeRow"),visible:()=>ch(a)},{label:()=>At("menu.array.delete column"),id:"delete-column",onMenuSelect:()=>a.executeCommand("removeColumn"),visible:()=>ch(a)},{type:"divider"},{label:()=>At("menu.borders"),visible:()=>(tA(a)||ch(a))&&a.isSelectionEditable,submenu:[{label:" \u22F1 ",id:"environment-no-border",onMenuSelect:()=>zh(a,"matrix")},{label:"(\u22F1)",id:"environment-parentheses",onMenuSelect:()=>zh(a,"pmatrix")},{label:"[\u22F1]",id:"environment-brackets",onMenuSelect:()=>zh(a,"bmatrix")},{label:"|\u22F1|",id:"environment-bar",onMenuSelect:()=>zh(a,"vmatrix")},{label:"{\u22F1}",id:"environment-braces",onMenuSelect:()=>zh(a,"Bmatrix")}],submenuClass:"border-submenu"},{type:"divider"},{label:()=>At("menu.insert matrix"),id:"insert-matrix",visible:()=>a.isSelectionEditable,submenu:$g(a),submenuClass:"insert-matrix-submenu",columnCount:5},{label:()=>At("menu.mode"),id:"mode",visible:()=>a.isSelectionEditable&&a.model.selectionIsCollapsed,submenu:[{label:()=>At("menu.mode-math"),id:"mode-math",onMenuSelect:()=>{Td(a,"accept-all"),a.executeCommand(["switchMode","math"])},checked:()=>a.model.mode==="math"},{label:()=>At("menu.mode-text"),id:"mode-text",onMenuSelect:()=>{Td(a,"accept-all"),a.executeCommand(["switchMode","text"])},checked:()=>a.model.mode==="text"},{label:()=>At("menu.mode-latex"),id:"mode-latex",onMenuSelect:()=>a.executeCommand(["switchMode","latex"]),checked:()=>a.model.mode==="latex"}]},{type:"divider"},{label:()=>At("menu.font-style"),id:"variant",visible:()=>a.isSelectionEditable,submenu:Gg(a),submenuClass:"variant-submenu"},{label:()=>At("menu.color"),id:"color",visible:()=>a.isSelectionEditable,submenu:qg(a),columnCount:4,submenuClass:"swatches-submenu"},{label:()=>At("menu.background-color"),id:"background-color",visible:()=>a.isSelectionEditable,submenu:Jg(a),columnCount:4,submenuClass:"swatches-submenu"},{label:()=>At("menu.accent"),id:"accent",visible:()=>a.isSelectionEditable,submenu:Ug(a),submenuClass:"variant-submenu"},{label:()=>At("menu.decoration"),id:"decoration",visible:()=>a.isSelectionEditable&&Pc(a).length>0,submenu:Yg(a),submenuClass:"variant-submenu"},{type:"divider"},{label:()=>At("menu.evaluate"),id:"ce-evaluate",visible:()=>a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null,onMenuSelect:()=>{const y=rA(a);if(!y){a.model.announce("plonk");return}a.model.selectionIsCollapsed?(a.model.position=a.model.lastOffset,a.insert(`=${y}`,{insertionMode:"insertAfter",selectionMode:"item"})):a.insert(y,{insertionMode:"replaceSelection",selectionMode:"item"})}},{label:()=>At("menu.simplify"),id:"ce-simplify",visible:()=>a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null,onMenuSelect:()=>{var y,b;if(a.model.selectionIsCollapsed){const E=(y=a.expression)==null?void 0:y.simplify();if(a.model.position=a.model.lastOffset,!E){a.model.announce("plonk");return}a.insert(`=${E.latex}`,{insertionMode:"insertAfter",selectionMode:"item"})}else{const E=(b=window.MathfieldElement.computeEngine)==null?void 0:b.parse(a.getValue(a.model.selection)).simplify();if(!E){a.model.announce("plonk");return}a.insert(E.latex,{insertionMode:"replaceSelection",selectionMode:"item"})}}},{label:()=>{var y;if(window.MathfieldElement.computeEngine===null)return"";const b=(y=a.expression)==null?void 0:y.unknowns[0];return b?At("menu.solve-for",ud(b)):At("menu.solve")},id:"ce-solve",visible:()=>{var y;return a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null&&((y=a.expression)==null?void 0:y.unknowns.length)===1&&a.expression.unknowns[0]!=="Nothing"},onMenuSelect:()=>{var y;const b=a.expression,E=b==null?void 0:b.unknowns[0],te=(y=b.solve(E))==null?void 0:y.map(oe=>{var ue;return(ue=oe.simplify().latex)!=null?ue:""});if(!te){a.model.announce("plonk");return}a.insert(`${E}=${te.length===1?te[0]:"\\left\\lbrace"+(te==null?void 0:te.join(", "))+"\\right\\rbrace"}`,{insertionMode:"replaceAll",selectionMode:"item"})}},{type:"divider"},{label:()=>At("menu.cut"),onMenuSelect:()=>a.executeCommand("cutToClipboard"),visible:()=>!a.options.readOnly&&a.isSelectionEditable,keyboardShortcut:"meta+X"},{label:()=>At("menu.copy"),id:"copy",submenu:[{label:()=>At("menu.copy-as-latex"),id:"copy-latex",onMenuSelect:()=>Os.copyToClipboard(a,"latex"),keyboardShortcut:"meta+C"},{label:()=>At("menu.copy-as-ascii-math"),id:"copy-ascii-math",onMenuSelect:()=>Os.copyToClipboard(a,"ascii-math")},{label:()=>At("menu.copy-as-mathml"),id:"copy-math-ml",onMenuSelect:()=>Os.copyToClipboard(a,"math-ml")}]},{label:()=>At("menu.paste"),id:"paste",onMenuSelect:()=>a.executeCommand("pasteFromClipboard"),visible:()=>a.hasEditableContent,keyboardShortcut:"meta+V"},{label:()=>At("menu.select-all"),id:"select-all",keyboardShortcut:"meta+A",onMenuSelect:()=>a.executeCommand("selectAll")}]}function ch(a){var y;return!!((y=a.model.parentEnvironment)!=null&&y.array)}function tA(a){return a.model.at(a.model.position).type==="array"}function nA(a){var y;const b=(y=a.model.parentEnvironment)==null?void 0:y.array;return b?[b.length,b.reduce((E,te)=>Math.max(E,te.length),0)]:[0,0]}function zh(a,y){Lu(a),a.flushInlineShortcutBuffer(),rv(a.model,y),ju(a)}function rA(a){var y,b;let E;if(a.model.selectionIsCollapsed?E=(y=window.MathfieldElement.computeEngine)==null?void 0:y.parse(a.getValue(),{canonical:!1}):E=(b=window.MathfieldElement.computeEngine)==null?void 0:b.parse(a.getValue(a.model.selection),{canonical:!1}),!E)return"";let te=E.evaluate();return te.isSame(E)&&(te=E.N()),te.latex}function Up(a,y,b,E){return{label:()=>ud(`\\${b}{${Pc(a)}}`),tooltip:()=>{var te;return(te=At(E))!=null?te:E},visible:()=>Kg(a,y),checked:()=>{var te;return{some:"mixed",all:!0}[(te=a.queryStyle({variant:y}))!=null?te:!1]},onMenuSelect:()=>{a.applyStyle({variant:y},{operation:"toggle"}),a.adoptStyle="none"}}}function Yp(a,y,b,E){return{label:()=>ud(`\\${b}{${Pc(a)}}`),tooltip:()=>{var te;return(te=At(E))!=null?te:E},visible:()=>Wg(a,y),checked:()=>{var te;return{some:"mixed",all:!0}[(te=a.queryStyle({variantStyle:y}))!=null?te:!1]},onMenuSelect:()=>{a.applyStyle({variantStyle:y},{operation:"toggle"}),a.adoptStyle="none"}}}function Ph(a,y){return a+Eh(y)}lo({speak:(a,y,b)=>iA(a,y,b)},{target:"mathfield"});function iA(a,y,b){var E,te;b=b!=null?b:{withHighlighting:!1};const{model:oe}=a;function ue(Ge){let gt=null;switch(Ge){case"all":gt=oe.root;break;case"selection":gt=oe.getAtoms(oe.selection);break;case"left":{gt=oe.getAtoms(oe.offsetOf(oe.at(oe.position).leftSibling),oe.position);break}case"right":{gt=oe.getAtoms(oe.position,oe.offsetOf(oe.at(oe.position).rightSibling));break}case"group":gt=oe.getAtoms(oe.getSiblingsRange(oe.position));break;case"parent":{const{parent:$t}=oe.at(oe.position);$t!=null&&$t.parent?gt=$t:gt=oe.root;break}default:gt=oe.root}return gt}function Ae(Ge){let gt="";switch(Ge){case"all":console.log("Internal failure: speak all failed");break;case"selection":gt="no selection";break;case"left":gt="at start";break;case"right":gt="at end";break;case"group":console.log("Internal failure: speak group failed");break;case"parent":gt="no parent";break;default:console.log('unknown speak_ param value: "'+Ge+'"');break}return gt}const Ee=ue(y);if(Ee===null)return(te=(E=window.MathfieldElement).speakHook)==null||te.call(E,Ae(y)),!1;(b.withHighlighting||window.MathfieldElement.speechEngine==="amazon")&&(window.MathfieldElement.textToSpeechMarkup=window.sre&&window.MathfieldElement.textToSpeechRules==="sre"?"ssml_step":"ssml");const Ne=Eh(Ee);return ot()&&b.withHighlighting?(W0().readAloudMathfield=a,Df(a,{forHighlighting:!0}),window.MathfieldElement.readAloudHook&&window.MathfieldElement.readAloudHook(a.field,Ne)):window.MathfieldElement.speakHook&&window.MathfieldElement.speakHook(Ne),!1}function aA(a){var y,b;if(!ot()){console.log("Speak:",a);return}if(!window.MathfieldElement.speechEngine||window.MathfieldElement.speechEngine==="local"){const E=new SpeechSynthesisUtterance(a);window.speechSynthesis.speak(E)}else if(window.MathfieldElement.speechEngine==="amazon")if(!("AWS"in window))console.error("MathLive 0.98.5: AWS SDK not loaded. See https://www.npmjs.com/package/aws-sdk");else{const E=new window.AWS.Polly({apiVersion:"2016-06-10"}),te={OutputFormat:"mp3",VoiceId:(y=window.MathfieldElement.speechEngineVoice)!=null?y:"Joanna",Engine:["Amy","Emma","Brian","Ivy","Joanna","Kendra","Kimberly","Salli","Joey","Justin","Matthew"].includes((b=window.MathfieldElement.speechEngineVoice)!=null?b:"Joanna")?"neural":"standard",Text:a,TextType:"ssml"};E.synthesizeSpeech(te,(oe,ue)=>{if(oe)console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech()\` error: ${oe}`);else if(ue!=null&&ue.AudioStream){const Ae=new Uint8Array(ue.AudioStream),Ee=new Blob([Ae.buffer],{type:"audio/mpeg"}),Ne=URL.createObjectURL(Ee);new Audio(Ne).play().catch(gt=>console.log(gt))}else console.log("polly.synthesizeSpeech():",ue)})}else window.MathfieldElement.speechEngine==="google"&&console.error("MathLive 0.98.5: The Google speech engine is not supported yet. Please come again.")}function jv(a){var y;let b;if(a.parent.type==="prompt")a.parentBranch==="body"&&(b="prompt");else if(a.parentBranch==="body")b=a.type&&(y={enclose:"cross out",leftright:"delimiter",surd:"square root",root:"math field",mop:"operator",first:"first"}[a.type])!=null?y:"parent";else if(a.parent.type==="genfrac"){if(a.parentBranch==="above")return"numerator";if(a.parentBranch==="below")return"denominator"}else a.parent.type==="surd"?a.parentBranch==="above"&&(b="index"):a.parentBranch==="superscript"?b="superscript":a.parentBranch==="subscript"&&(b="subscript");return b||console.log("unknown relationship"),b!=null?b:"parent"}function oA(a,y,b,E){let te="";if(y==="plonk")window.MathfieldElement.playSound("plonk"),a.flushInlineShortcutBuffer();else if(y==="delete")te=Ph("deleted: ",E);else if(y==="focus"||y.includes("move"))te=lA(a.model,b)+(a.model.selectionIsCollapsed?"":"selected: ")+sA(a.model);else if(y==="replacement")te=Ph("",a.model.at(a.model.position));else if(y==="line"){const oe=Ph("",a.model.root);a.keyboardDelegate.setAriaLabel(oe)}else te=E?Ph(y+" ",E):y;if(te){const oe=a.ariaLiveText.textContent.includes("\xA0")?" \u202F ":" \xA0 ";a.ariaLiveText.textContent=te+oe}}function lA(a,y){if(Number.isNaN(y))return"";const b=a.at(y);if(!b||b.treeDepth<=a.at(a.position).treeDepth)return"";let E="",te=b.parent;const oe=a.at(a.position).parent;for(;te!==a.root&&te!==oe;)E+=`out of ${jv(te)};`,te=te.parent;return E}function sA(a){if(!a.selectionIsCollapsed)return Ph("",a.getAtoms(a.selection));let y="";const b=a.at(a.position),E=jv(b);return b.isFirstSibling&&(y=(E?"start of "+E:"unknown")+": "),b.isLastSibling?b.isFirstSibling||(y+=E?"end of "+E:"unknown"):y+=Ph("",b),y}var uA=class{constructor(a,y,b){this.mathfield=a,this.mode=y,this.silenceNotifications=!1,this._selection={ranges:[[0,0]],direction:"none"},this._anchor=0,this._position=0,this.root=b}dispose(){this.mathfield=void 0}getState(){const a={ranges:[...this._selection.ranges]};return this.selection.direction&&this.selection.direction!=="none"&&(a.direction=this.selection.direction),{content:this.root.toJson(),selection:a,mode:this.mode}}setState(a,y){var b;const E=this.silenceNotifications;this.silenceNotifications=(b=y==null?void 0:y.silenceNotifications)!=null?b:!0;let te={};if((y==null?void 0:y.type)==="undo"&&(te={inputType:"historyUndo"}),(y==null?void 0:y.type)==="redo"&&(te={inputType:"historyRedo"}),this.contentWillChange(te)){const oe=this.silenceNotifications;this.silenceNotifications=!0,this.mode=a.mode,this.root=Wd(a.content),this.selection=a.selection,this.silenceNotifications=oe,this.contentDidChange(te)}this.silenceNotifications=E}get atoms(){return this.root.children}get selection(){return this._selection}set selection(a){this.setSelection(a)}setSelection(a,y){return!this.mathfield.contentEditable&&this.mathfield.userSelect==="none"?!1:this.deferNotifications({selection:!0},()=>{var b,E,te;const oe=this.normalizeSelection(a,y);if(oe===void 0)throw new TypeError("Invalid selection");if(oe.ranges.length===1&&oe.ranges[0][0]===oe.ranges[0][1]){const Ge=oe.ranges[0][0];if(!this.mathfield.dirty&&!((b=this.at(Ge))!=null&&b.parentPrompt)&&this.mathfield.hasEditablePrompts){if((E=this.at(Ge-1))!=null&&E.parentPrompt){this._anchor=this.normalizeOffset(Ge-1),this._position=this._anchor,this._selection=this.normalizeSelection(this._anchor);return}if((te=this.at(Ge+1))!=null&&te.parentPrompt){this._anchor=this.normalizeOffset(Ge+1),this._position=this._anchor,this._selection=this.normalizeSelection(this._anchor);return}this._anchor=0,this._position=0,this._selection={ranges:[[0,0]]};return}this._anchor=Ge,this._position=Ge,this._selection=oe;return}const ue=Sc(oe);oe.direction==="backward"?[this._position,this._anchor]=ue:[this._anchor,this._position]=ue;const Ae=this.at(ue[0]+1),Ee=this.at(ue[1]),Ne=Ti.commonAncestor(Ae,Ee);(Ne==null?void 0:Ne.type)==="array"&&Ae.parent===Ne&&Ee.parent===Ne?this._selection={ranges:[ue],direction:oe.direction}:this._selection={ranges:[ue],direction:oe.direction},console.assert(this._position>=0&&this._position<=this.lastOffset)})}setPositionHandlingPlaceholder(a){var y;const b=this.at(a);(b==null?void 0:b.type)==="placeholder"?this.setSelection(a-1,a):((y=b==null?void 0:b.rightSibling)==null?void 0:y.type)==="placeholder"?this.setSelection(a,a+1):this.position=a,b instanceof cs&&b.isSuggestion&&(b.isSuggestion=!1),this.mathfield.stopCoalescingUndo()}get position(){return this._position}set position(a){this.setSelection(a,a)}get anchor(){return this._anchor}get selectionIsCollapsed(){return this._anchor===this._position}get selectionIsPlaceholder(){return Math.abs(this._anchor-this._position)===1?this.at(Math.max(this._anchor,this._position)).type==="placeholder":!1}collapseSelection(a="forward"){return this._anchor===this._position?!1:(a==="backward"?this.position=Math.min(this._anchor,this._position):this.position=Math.max(this._anchor,this._position),!0)}get lastOffset(){return this.atoms.length-1}at(a){return this.atoms[a]}offsetOf(a){return this.atoms.indexOf(a)}getSiblingsRange(a){const y=this.at(a),{parent:b}=y;if(!b)return[0,this.lastOffset];const E=y.parent.branch(y.parentBranch);return[this.offsetOf(E[0]),this.offsetOf(E[E.length-1])]}getBranchRange(a,y){const b=this.at(a).branch(y);return[this.offsetOf(b[0]),this.offsetOf(b[b.length-1])]}getAtoms(a,y,b){let E=b!=null?b:{};if(vf(a)){if(E=y!=null?y:{},a.ranges.length>1)return a.ranges.reduce((Ne,Ge)=>[...Ne,...this.getAtoms(Ge,E)],[]);a=a.ranges[0]}let te,oe;if(hd(a)){if(te=a,!hd(y))return[];oe=y}else[te,oe]=a,E=y!=null?y:{};if(!Number.isFinite(te))return[];E.includeChildren===void 0&&(E.includeChildren=!1),te<0&&(te=this.lastOffset-te+1),oe<0&&(oe=this.lastOffset-oe+1);const ue=Math.min(te,oe)+1,Ae=Math.max(te,oe);if(!E.includeChildren&&ue===1&&Ae===this.lastOffset)return[this.root];let Ee=[];for(let Ne=ue;Ne<=Ae;Ne++){const Ge=this.atoms[Ne];Rv(this,Ge,ue,Ae)&&Ee.push(Ge)}return E.includeChildren||(Ee=Ee.filter(Ne=>{let Ge=!1,{parent:gt}=Ne;for(;gt&&!Ge;)Ge=Rv(this,gt,ue,Ae),gt=gt.parent;return!Ge})),Ee}getAllAtoms(a=0){const y=[],b=this.lastOffset;for(let E=a;E<=b;E++)y.push(this.atoms[E]);for(let E=0;E=0;oe--)if(E=this.atoms[oe],a(E))return E;for(let oe=te;oe>y;oe--)if(E=this.atoms[oe],a(E))return E}extractAtoms(a){let y=this.getAtoms(a);if(y.length===1&&!y[0].parent)if(y[0].type==="root")y=[...y[0].body],y.shift();else return y=this.root.cells.flat(),this.root=new Ti({type:"root",body:[]}),y;for(const b of y)b.parent.removeChild(b);return y}deleteAtoms(a){this.extractAtoms(a),this.position=a[0]}atomToString(a,y){const b=y!=null?y:"latex";if(b.startsWith("latex"))return Ti.serialize([a],{expandMacro:b==="latex-expanded",skipStyles:b==="latex-unstyled",skipPlaceholders:b==="latex-without-placeholders",defaultMode:this.mathfield.options.defaultMode});if(b==="math-ml")return Uu(a);if(b==="spoken")return Eh(a);if(b==="spoken-text"){const E=window.MathfieldElement.textToSpeechMarkup;window.MathfieldElement.textToSpeechMarkup="";const te=Eh(a);return window.MathfieldElement.textToSpeechMarkup=E,te}if(b==="spoken-ssml"||b==="spoken-ssml-with-highlighting"){const E=window.MathfieldElement.textToSpeechMarkup;window.MathfieldElement.textToSpeechMarkup="ssml";const te=Eh(a);return window.MathfieldElement.textToSpeechMarkup=E,te}return b==="ascii-math"?Rc(a):(console.error(`MathLive 0.98.5: Unexpected format "${b}`),"")}getValue(a,y,b){if(a===void 0)return this.atomToString(this.root,"latex");if(typeof a=="string"&&a!=="math-json")return this.atomToString(this.root,a);let E,te;if(hd(a)&&hd(y)?(E=[this.normalizeRange([a,y])],te=b):$d(a)?(E=[this.normalizeRange(a)],te=y):vf(a)?(E=a.ranges,te=y):(E=[this.normalizeRange([0,-1])],te=a),te!=null||(te="latex"),te==="math-json"){if(!window.MathfieldElement.computeEngine)return window[Symbol.for("io.cortexjs.compute-engine")]||console.error(`The CortexJS Compute Engine library is not available. +Load the library, for example with: +import "https://unpkg.com/@cortex-js/compute-engine?module"`),'["Error", "compute-engine-not-available"]';const oe=this.getValue({ranges:E},"latex-unstyled");try{const ue=window.MathfieldElement.computeEngine.parse(oe);return JSON.stringify(ue.json)}catch(ue){return JSON.stringify(["Error",`'${ue.toString()}'`])}}if(te.startsWith("latex")){const oe={expandMacro:te==="latex-expanded",skipStyles:te==="latex-unstyled",skipPlaceholders:te==="latex-without-placeholders",defaultMode:this.mathfield.options.defaultMode};return Js(E.map(ue=>Ti.serialize(this.getAtoms(ue),oe)))}return E.map(oe=>this.getAtoms(oe).map(ue=>this.atomToString(ue,te)).join("")).join("")}extendSelectionTo(a,y){return!this.mathfield.contentEditable&&this.mathfield.userSelect==="none"?!1:this.deferNotifications({selection:!0},()=>{const b=this.normalizeRange([a,y]);let[E,te]=b,{parent:oe}=this.at(te);if(oe&&(oe.type==="genfrac"||oe.type==="subsup"))for(;oe!==this.root&&Jp(this,oe,[E,te]);)te=this.offsetOf(oe),oe=oe.parent;for(oe=this.at(E).parent;oe!==this.root&&Jp(this,oe,[E,te]);)E=this.offsetOf(oe.leftSibling),oe=oe.parent;if(oe=this.at(te).parent,(oe==null?void 0:oe.type)==="genfrac")for(;oe!==this.root&&Jp(this,oe,[E,te]);)te=this.offsetOf(oe),console.assert(te>=0),oe=oe.parent;this._position=this.normalizeOffset(y),this._selection={ranges:[[E,te]],direction:"none"}})}announce(a,y,b=[]){var E,te;((te=(E=this.mathfield.host)==null?void 0:E.dispatchEvent(new CustomEvent("announce",{detail:{command:a,previousPosition:y,atoms:b},cancelable:!0,bubbles:!0,composed:!0})))!=null?te:!0)&&oA(this.mathfield,a,y,b)}deferNotifications(a,y){const b=this._selection,E=this._anchor,te=this._position,oe=this.silenceNotifications;this.silenceNotifications=!0;const ue=this.root.changeCounter;y();const Ae=this.root.changeCounter!==ue,Ee=E!==this._anchor||te!==this._position||Yc(this._selection,b)==="different";return this.silenceNotifications=oe,a.content&&Ae&&this.contentDidChange({inputType:a.type}),a.selection&&Ee&&this.selectionDidChange(),Ae||Ee}normalizeOffset(a){return a>0?a=Math.min(a,this.lastOffset):a<0&&(a=this.lastOffset+a+1),a}normalizeRange(a){let[y,b]=a;return y=this.normalizeOffset(y),b=this.normalizeOffset(b),ythis.normalizeRange(te)),direction:(b=a.direction)!=null?b:"none"});return console.assert(E!==void 0),E}get parentEnvironment(){let a=this.at(this.position).parent;if(a){for(;a.parent&&a.type!=="array";)a=a.parent;if(a.type==="array")return a}}get cell(){var a;let y=this.at(this.position);if(y){for(;y&&((a=y.parent)==null?void 0:a.type)!=="array";)y=y.parent;if(!(!(y!=null&&y.parent)||y.parent.type!=="array"))return y.parentBranch}}contentWillChange(a={}){if(this.silenceNotifications||!this.mathfield)return!0;const y=this.silenceNotifications;this.silenceNotifications=!0;const b=this.mathfield.onContentWillChange(a);return this.silenceNotifications=y,b}contentDidChange(a){var y;if(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this.mathfield)),this.silenceNotifications||!this.mathfield.host||!this.mathfield)return;const b=this.silenceNotifications;this.silenceNotifications=!0,this.mathfield.host.dispatchEvent(new InputEvent("input",He(Se({},a),{data:a.data?a.data:(y=a.inputType)!=null?y:"",bubbles:!0,composed:!0}))),this.silenceNotifications=b}selectionDidChange(){if(!this.mathfield||(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this.mathfield)),this.silenceNotifications))return;const a=this.silenceNotifications;this.silenceNotifications=!0,this.mathfield.onSelectionDidChange(),this.silenceNotifications=a}};function Rv(a,y,b,E){const te=a.offsetOf(y);if(teE)return!1;if(!y.hasChildren)return!0;const oe=a.offsetOf(y.firstChild);if(oe>=b&&oe<=E){const ue=a.offsetOf(y.lastChild);if(ue>=b&&ue<=E)return!0}return!1}function Jp(a,y,b){if(!(y!=null&&y.hasChildren))return!1;const[E,te]=b,oe=a.offsetOf(y.firstChild),ue=a.offsetOf(y.lastChild);return oe>=E&&oe<=te&&ue>=oe&&ue<=te}function Hh(a,y,b,E){var te,oe,ue,Ae,Ee,Ne;const Ge=b.parent;if(Ge&&b instanceof se){const gt=!E&&y==="forward"||E==="body"&&y==="backward";let $t=gt?a.offsetOf(b.firstChild):a.offsetOf(b.lastChild);return gt?b.rightDelim!=="?"&&b.rightDelim!=="."?(b.leftDelim=".",b.isDirty=!0):(Ge.addChildrenAfter(b.removeBranch("body"),b),Ge.removeChild(b),$t--):b.leftDelim!=="?"&&b.leftDelim!=="."?(b.rightDelim=".",b.isDirty=!0):(Ge.addChildrenAfter(b.removeBranch("body"),b),Ge.removeChild(b),$t--),a.position=$t,!0}if(Ge&&b.type==="surd"){if(y==="forward"&&!E||y==="backward"&&E==="body"){const gt=b.leftSibling;b.hasChildren&&Ge.addChildrenAfter(b.removeBranch("body"),b),Ge.removeChild(b),a.position=a.offsetOf(gt)}else y==="forward"&&E==="body"?a.position=a.offsetOf(b):!E&&y==="backward"?b.hasChildren?a.position=a.offsetOf(b.lastChild):(a.position=Math.max(0,a.offsetOf(b)-1),Ge.removeChild(b)):E==="above"&&(b.hasEmptyBranch("above")&&b.removeBranch("above"),y==="backward"?a.position=a.offsetOf(b.leftSibling):a.position=a.offsetOf(b.body[0]));return!0}if(Ge&&(b.type==="box"||b.type==="enclose")){const gt=E&&y==="backward"||!E&&y==="forward"?b.leftSibling:b.lastChild;return Ge.addChildrenAfter(b.removeBranch("body"),b),Ge.removeChild(b),a.position=a.offsetOf(gt),!0}if(b.type==="genfrac"||b.type==="overunder"){if(!E)return b.type==="overunder"&&b.hasEmptyBranch("body")||b.type==="genfrac"&&b.hasEmptyBranch("below")&&b.hasEmptyBranch("above")?!1:(a.position=a.offsetOf(y==="forward"?b.firstChild:b.lastChild),!0);const gt=jh.fractionNavigationOrder==="numerator-denominator"?"above":"below",$t=gt==="above"?"below":"above";if(Ge&&(y==="forward"&&E===gt||y==="backward"&&E===$t)){const kn=b.removeBranch(gt),rr=b.removeBranch($t);return Ge.addChildrenAfter([...kn,...rr],b),Ge.removeChild(b),a.position=a.offsetOf(kn.length>0?kn[kn.length-1]:rr[0]),!0}return y==="backward"?a.position=a.offsetOf(b.leftSibling):a.position=a.offsetOf(b),!0}if(b.isExtensibleSymbol||b.type==="subsup"){if(!E&&y==="forward")return!1;if(!E){if(b.subscript||b.superscript){const gt=y==="forward"?(ue=(te=b.superscript)==null?void 0:te[0])!=null?ue:(oe=b.subscript)==null?void 0:oe[0]:(Ne=(Ae=b.subscript)==null?void 0:Ae[0].lastSibling)!=null?Ne:(Ee=b.superscript)==null?void 0:Ee[0].lastSibling;return gt&&(a.position=a.offsetOf(gt)),!0}return!1}if(!b.hasChildren&&b.type==="subsup"){const gt=y==="forward"?a.offsetOf(b):Math.max(0,a.offsetOf(b)-1);return b.parent.removeChild(b),a.position=gt,!0}if(E==="superscript")if(y==="backward"){const gt=a.offsetOf(b.firstChild)-1;console.assert(gt>=0),a.position=gt}else b.subscript?a.position=a.offsetOf(b.subscript[0]):a.position=a.offsetOf(b);else E==="subscript"&&(y==="backward"&&b.superscript?a.position=a.offsetOf(b.superscript[0].lastSibling):y==="backward"?a.position=a.offsetOf(b.firstChild)-1:a.position=a.offsetOf(b));if(E&&b.hasEmptyBranch(E)&&(b.removeBranch(E),b.type==="subsup"&&!b.subscript&&!b.superscript)){const gt=y==="forward"?a.offsetOf(b):Math.max(0,a.offsetOf(b)-1);b.parent.removeChild(b),a.position=gt}return!0}if((Ge==null?void 0:Ge.type)==="genfrac"&&!E&&b.type!=="first"){let gt=a.offsetOf(b.leftSibling);return Ge.removeChild(b),Ge.hasEmptyBranch("above")&&Ge.hasEmptyBranch("below")?(gt=a.offsetOf(Ge.leftSibling),Ge.parent.removeChild(Ge),a.announce("delete",void 0,[Ge]),a.position=gt,!0):(a.announce("delete",void 0,[b]),a.position=gt,!0)}if(y==="backward"&&((Ge==null?void 0:Ge.command)==="\\ln"||(Ge==null?void 0:Ge.command)==="\\log")&&b.parentBranch!=="body"){const gt=a.offsetOf(Ge.leftSibling);return Ge.parent.removeChild(Ge),a.announce("delete",void 0,[Ge]),a.position=gt,!0}return!1}function cA(a){return!a.mathfield.isSelectionEditable||!a.contentWillChange({inputType:"deleteContentBackward"})?!1:a.selectionIsCollapsed?a.deferNotifications({content:!0,selection:!0,type:"deleteContentBackward"},()=>{let y=a.at(a.position);if(!(y&&Hh(a,"backward",y))){if(y!=null&&y.isFirstSibling){if(Hh(a,"backward",y.parent,y.parentBranch))return;y=null}if(!y){a.announce("plonk");return}a.position=a.offsetOf(y.leftSibling),y.parent.removeChild(y),a.announce("delete",void 0,[y])}}):c0(a,Sc(a.selection),"deleteContentBackward")}function dA(a){return!a.mathfield.isSelectionEditable||!a.contentWillChange({inputType:"deleteContentForward"})?!1:a.selectionIsCollapsed?a.deferNotifications({content:!0,selection:!0,type:"deleteContentForward"},()=>{var y,b;let E=a.at(a.position).rightSibling;if(E&&Hh(a,"forward",E))return;if(E){if(a.at(a.position).isLastSibling&&Hh(a,"forward",E.parent,E.parentBranch))return}else{if(E=a.at(a.position),E.isLastSibling&&Hh(a,"forward",E.parent,E.parentBranch))return;E=void 0}if(a.position===a.lastOffset||!E){a.announce("plonk");return}E.parent.removeChild(E);let te=(y=a.at(a.position))==null?void 0:y.rightSibling;for(;(te==null?void 0:te.type)==="subsup";)te.parent.removeChild(te),te=(b=a.at(a.position))==null?void 0:b.rightSibling;a.announce("delete",void 0,[E])}):c0(a,Sc(a.selection),"deleteContentForward")}function c0(a,y,b){const E=a.getAtoms(y);if(E.length>0&&E[0].parent){let te=E[0].parent.firstChild;te.type==="first"&&(te=te.rightSibling);const oe=E[E.length-1].parent.lastChild;let ue=E[0];ue.type==="first"&&(ue=ue.rightSibling);const Ae=E[E.length-1];if(ue===te&&Ae===oe){const Ee=E[0].parent;Ee.parent&&Ee.type!=="prompt"&&(y=[a.offsetOf(Ee.leftSibling),a.offsetOf(Ee)])}if(E.length===1&&E[0].type==="placeholder"&&E[0].parent.type==="genfrac"){const Ee=E[0].parent,Ne=E[0].parentBranch==="below"?"above":"below",Ge=a.offsetOf(Ee.leftSibling);return a.deferNotifications({content:!0,selection:!0,type:b},()=>{var gt,$t;const kn=Ee.removeBranch(Ne);if(kn.length===1&&kn[0].type==="placeholder")($t=Ee.parent)==null||$t.removeChild(Ee),a.position=Math.max(0,Ge);else{const rr=Ee.parent.addChildrenAfter(kn,Ee);(gt=Ee.parent)==null||gt.removeChild(Ee),a.position=a.offsetOf(rr)}})}}return a.deferNotifications({content:!0,selection:!0,type:b},()=>a.deleteAtoms(y))}lo({deleteAll:a=>a.contentWillChange({inputType:"deleteContent"})&&c0(a,[0,-1],"deleteContent"),deleteForward:a=>dA(a),deleteBackward:a=>cA(a),deleteNextWord:a=>a.contentWillChange({inputType:"deleteWordForward"})&&c0(a,[a.anchor,Bp(a,a.position,"forward")],"deleteWordForward"),deletePreviousWord:a=>a.contentWillChange({inputType:"deleteWordBackward"})&&c0(a,[a.anchor,Bp(a,a.position,"backward")],"deleteWordBackward"),deleteToGroupStart:a=>a.contentWillChange({inputType:"deleteSoftLineBackward"})&&c0(a,[a.anchor,a.offsetOf(a.at(a.position).firstSibling)],"deleteSoftLineBackward"),deleteToGroupEnd:a=>a.contentWillChange({inputType:"deleteSoftLineForward"})&&c0(a,[a.anchor,a.offsetOf(a.at(a.position).lastSibling)],"deleteSoftLineForward"),deleteToMathFieldStart:a=>a.contentWillChange({inputType:"deleteHardLineBackward"})&&c0(a,[a.anchor,0],"deleteHardLineBackward"),deleteToMathFieldEnd:a=>a.contentWillChange({inputType:"deleteHardLineForward"})&&c0(a,[a.anchor,-1],"deleteHardLineForward")},{target:"model",audioFeedback:"delete",canUndo:!0,changeContent:!0,changeSelection:!0});var fA=``,hA=``,pA=class{constructor(a,y){this.focusBlurInProgress=!1;var b,E,te;this.options=Se(He(Se({},np()),{macros:ei(),registers:Uc()}),tp(y)),this.eventController=new AbortController;const oe=this.eventController.signal;y.eventSink&&(this.host=y.eventSink),this.element=a,a.mathfield=this,this.blurred=!0,this.keystrokeCaptionVisible=!1,this.suggestionIndex=0,this.inlineShortcutBuffer=[],this.inlineShortcutBufferFlushTimer=0,this.defaultStyle={},this.adoptStyle="left",this.options.defaultMode==="inline-math"?this.element.classList.add("ML__is-inline"):this.element.classList.remove("ML__is-inline"),this.dirty=!1;let ue=(E=(b=y.value)!=null?b:this.element.textContent)!=null?E:"";ue=ue.trim();const Ae=ev(this.options),Ee=new Ti({type:"root",mode:Ae,body:hn(ue,{context:this.context})});this.model=new uA(this,Ae,Ee),this.undoManager=new jm(this.model);const Ne=[];if(Ne.push(""),Ne.push('"),Ne.push(""),Ne.push(""),Ne.push(""),this.element.innerHTML=window.MathfieldElement.createHTML(Ne.join("")),!this.element.children){console.error("%cMathLive 0.98.5: Something went wrong and the mathfield could not be created.%c\nIf you are using Vue, this may be because you are using the runtime-only build of Vue. Make sure to include `runtimeCompiler: true` in your Vue configuration. There may a warning from Vue in the log above.","color:red;font-family:system-ui;font-size:1.2rem;font-weight:bold","color:inherit;font-family:system-ui;font-size:inherit;font-weight:inherit");return}this._l10Subscription=Ut.subscribe(()=>Ut.update(this.element)),Ut.update(this.element),this.field=this.element.querySelector("[part=content]"),this.field.addEventListener("click",gt=>gt.stopImmediatePropagation(),{capture:!1,signal:oe}),this.field.addEventListener("wheel",this,{passive:!1,signal:oe}),"PointerEvent"in window?this.field.addEventListener("pointerdown",this,{signal:oe}):this.field.addEventListener("mousedown",this,{signal:oe}),(te=this.element.querySelector("[part=virtual-keyboard-toggle]"))==null||te.addEventListener("click",()=>{window.mathVirtualKeyboard.visible?window.mathVirtualKeyboard.hide():(window.mathVirtualKeyboard.show({animate:!0}),window.mathVirtualKeyboard.update(s0(this)))},{signal:oe}),this._menu=new Eg(eA(this),{host:this.host}),this.field.addEventListener("contextmenu",this,{signal:oe});const Ge=this.element.querySelector("[part=menu-toggle]");Ge==null||Ge.addEventListener("pointerdown",gt=>{if(gt.currentTarget!==Ge||this._menu.state!=="closed")return;this.element.classList.add("tracking");const $t=Ge.getBoundingClientRect();this._menu.modifiers=Ol(gt),this._menu.show({target:Ge,location:{x:$t.left,y:$t.bottom},onDismiss:()=>this.element.classList.remove("tracking")}),gt.preventDefault(),gt.stopPropagation()},{signal:oe}),(this.model.atoms.length<=1||this.disabled||this.readOnly&&!this.hasEditableContent||this.userSelect==="none")&&(Ge.style.display="none"),this.ariaLiveText=this.element.querySelector("[role=status]"),this.keyboardDelegate=el(this.element.querySelector(".ML__keyboard-sink"),this.element,this),window.addEventListener("resize",this,{signal:oe}),document.addEventListener("scroll",this,{signal:oe}),this.resizeObserver=new ResizeObserver(()=>ju(this)),this.resizeObserver.observe(this.field),window.mathVirtualKeyboard.addEventListener("virtual-keyboard-toggle",this,{signal:oe}),Ea&&!Ut.locale.startsWith(Ea.locale)&&$i(Ut.locale),Lc!=="ready"&&document.fonts.ready.then(()=>M0(this)),a.querySelector("[part=container]").style.removeProperty("visibility"),this.undoManager.startRecording(),this.undoManager.snapshot("set-value")}get defaultStyle(){return this._defaultStyle}set defaultStyle(a){this._defaultStyle=a}get effectiveStyle(){if(this.adoptStyle==="none")return this.defaultStyle;const a=this.model.at(this.model.position),y=this.adoptStyle==="right"?a.rightSibling:a;if(!y)return this.defaultStyle;if(y.type==="group"){const b=y.branch("body");return!b||b.length<2?{}:this.adoptStyle==="right"?b[1].computedStyle:b[b.length-1].computedStyle}return y.computedStyle}connectToVirtualKeyboard(){this.connectedToVirtualKeyboard||(this.connectedToVirtualKeyboard=!0,window.addEventListener("message",this,{signal:this.eventController.signal}),window.mathVirtualKeyboard.connect(),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this)),pp(this))}disconnectFromVirtualKeyboard(){this.connectedToVirtualKeyboard&&(window.removeEventListener("message",this),window.mathVirtualKeyboard.disconnect(),this.connectedToVirtualKeyboard=!1,Tp())}showMenu(a){var y,b;const E=(b=(y=a==null?void 0:a.location)!=null?y:Qd(this.field))!=null?b:void 0,te=a==null?void 0:a.modifiers,oe=this.element.querySelector("[part=container]");return this._menu.show({target:oe,location:E,modifiers:te})}get colorMap(){return a=>{var y,b,E;return(E=(b=(y=this.options).colorMap)==null?void 0:b.call(y,a))!=null?E:_t(a)}}get backgroundColorMap(){return a=>{var y,b,E,te,oe,ue;return(ue=(oe=(b=(y=this.options).backgroundColorMap)==null?void 0:b.call(y,a))!=null?oe:(te=(E=this.options).colorMap)==null?void 0:te.call(E,a))!=null?ue:We(a)}}get smartFence(){var a;return(a=this.options.smartFence)!=null?a:!1}get readOnly(){var a;return(a=this.options.readOnly)!=null?a:!1}get disabled(){var a,y;return(y=(a=this.host)==null?void 0:a.disabled)!=null?y:!1}get contentEditable(){return this.host?this.host.getAttribute("contenteditable")!=="false":!1}get userSelect(){if(!this.host)return"";const a=getComputedStyle(this.host);return a.getPropertyValue("user-select")||a.getPropertyValue("-webkit-user-select")}get hasEditableContent(){return this.disabled||!this.contentEditable?!1:!this.readOnly||this.hasEditablePrompts}get hasEditablePrompts(){return this.readOnly&&!this.disabled&&this.contentEditable&&this.model.findAtom(a=>a.type==="prompt"&&!a.locked)!==void 0}get isSelectionEditable(){if(this.disabled||!this.contentEditable)return!1;if(!this.readOnly)return!0;const a=this.model.at(this.model.anchor),y=this.model.at(this.model.position),b=Ti.commonAncestor(a,y);return!!((b==null?void 0:b.type)==="prompt"||b!=null&&b.parentPrompt)}get letterShapeStyle(){var a;return(a=this.options.letterShapeStyle)!=null?a:"tex"}get minFontScale(){return this.options.minFontScale}get selectionStyle(){if(this.model.selectionIsCollapsed)return this.effectiveStyle;const a=this.model.getAtoms(this.model.selection);if(a.length===0)return{};const y=Se({},a[0].style);for(const b of a)for(const[E,te]of Object.entries(b.style))y[E]!==te&&delete y[E];return y}queryStyle(a){const y=Fp(this,a);"verbatimColor"in y&&delete y.verbatimColor,"verbatimBackgroundColor"in y&&delete y.verbatimBackgroundColor;const b=Object.keys(y).length;if(b===0)return"all";if(b>1){for(const Ee of Object.keys(y)){const Ne=this.queryStyle({[Ee]:y[Ee]});if(Ne==="none")return"none";if(Ne==="some")return"some"}return"all"}const E=Object.keys(y)[0],te=y[E];if(this.model.selectionIsCollapsed)return this.effectiveStyle[E]===te?"all":"none";const oe=this.model.getAtoms(this.model.selection,{includeChildren:!0});let ue=oe.length;if(ue===0)return"none";let Ae=0;for(const Ee of oe){if(Ee.type==="first"){ue-=1;continue}Ee.style[E]===te&&(Ae+=1)}return Ae===0?"none":Ae===ue?"all":"some"}get keybindings(){var a,y;if(this._keybindings)return this._keybindings;const[b,E]=El(this.options.keybindings,(a=Vi())!=null?a:ja());return((y=Vi())==null?void 0:y.score)>0&&(this._keybindings=b,E.length>0&&console.error("MathLive 0.98.5: Invalid keybindings for current keyboard layout",E)),b}get menu(){return this._menu}setOptions(a){var y;this.options=Se(Se({},this.options),tp(a)),this._keybindings=void 0,this.options.defaultMode==="inline-math"?this.element.classList.add("ML__is-inline"):this.element.classList.remove("ML__is-inline");let b=this.options.defaultMode;b==="inline-math"&&(b="math"),((y=this.model.root.firstChild)==null?void 0:y.mode)!==b&&(this.model.root.firstChild.mode=b),this.options.readOnly&&this.hasFocus()&&window.mathVirtualKeyboard.visible&&this.executeCommand("hideVirtualKeyboard");const E=Ti.serialize([this.model.root],{expandMacro:!1,defaultMode:this.options.defaultMode});("macros"in a||this.model.getValue()!==E)&&Os.insert(this.model,E,{insertionMode:"replaceAll",selectionMode:"after",format:"latex",silenceNotifications:!0,mode:"math"}),("value"in a||"macros"in a||"registers"in a||"colorMap"in a||"backgroundColorMap"in a||"letterShapeStyle"in a||"minFontScale"in a||"readOnly"in a||"placeholderSymbol"in a)&&ju(this)}getOptions(a){return rh(this.options,a)}getOption(a){return rh(this.options,a)}handleEvent(a){return G0(this,null,function*(){var y;if(Ed(this)){if(mh(a)){if(!C0(a.origin,(y=this.options.originValidator)!=null?y:"none"))throw new DOMException(`Message from unknown origin (${a.origin}) cannot be handled`,"SecurityError");const{action:b}=a.data;if(b==="execute-command"){const E=a.data.command;if(lu(E)==="virtual-keyboard")return;this.executeCommand(E)}else b==="update-state"||(b==="focus"?this.focus({preventScroll:!0}):b==="blur"&&this.blur());return}switch(a.type){case"focus":this.onFocus();break;case"blur":this.onBlur();break;case"mousedown":this.userSelect!=="none"&&vv(this,a);break;case"pointerdown":this.userSelect!=="none"&&(vv(this,a),a.shiftKey===!1&&(yield Mv(a,this.element.querySelector("[part=container]"),this._menu))&&cp.stop());break;case"contextmenu":this.userSelect!=="none"&&a.shiftKey===!1&&(yield Mv(a,this.element.querySelector("[part=container]"),this._menu))&&cp.stop();break;case"virtual-keyboard-toggle":this.hasFocus()&&pp(this);break;case"resize":this.geometryChangeTimer&&cancelAnimationFrame(this.geometryChangeTimer),this.geometryChangeTimer=requestAnimationFrame(()=>Ed(this)&&this.onGeometryChange());break;case"scroll":this.geometryChangeTimer&&cancelAnimationFrame(this.geometryChangeTimer),this.geometryChangeTimer=requestAnimationFrame(()=>Ed(this)&&this.onGeometryChange());break;case"wheel":this.onWheel(a);break;default:console.warn("Unexpected event type",a.type)}}})}dispose(){if(!Ed(this))return;Ut.unsubscribe(this._l10Subscription),this.keyboardDelegate.dispose(),this.keyboardDelegate=void 0,this.eventController.abort(),this.eventController=void 0,this.resizeObserver.disconnect(),window.mathVirtualKeyboard.removeEventListener("virtual-keyboard-toggle",this),this.disconnectFromVirtualKeyboard(),this.model.dispose();const a=this.element;delete a.mathfield,this.element=void 0,this.host=void 0,this.field=void 0,this.ariaLiveText=void 0,Jm(),q0(),gg()}flushInlineShortcutBuffer(a){if(a!=null||(a={defer:!1}),!a.defer){this.inlineShortcutBuffer=[],clearTimeout(this.inlineShortcutBufferFlushTimer),this.inlineShortcutBufferFlushTimer=0;return}this.options.inlineShortcutTimeout>0&&(clearTimeout(this.inlineShortcutBufferFlushTimer),this.inlineShortcutBufferFlushTimer=setTimeout(()=>this.flushInlineShortcutBuffer(),this.options.inlineShortcutTimeout))}executeCommand(a){return lu(a)==="virtual-keyboard"?(this.focus({preventScroll:!0}),window.mathVirtualKeyboard.executeCommand(a),requestAnimationFrame(()=>window.mathVirtualKeyboard.update(s0(this))),!1):mu(this,a)}get errors(){return tr(this.model.getValue(),{context:this.context})}getValue(a,y,b){return this.model.getValue(a,y,b)}setValue(a,y){var b;y=y!=null?y:{mode:"math"},y.insertionMode===void 0&&(y.insertionMode="replaceAll"),(y.format===void 0||y.format==="auto")&&(y.format="latex"),(y.mode===void 0||y.mode==="auto")&&(y.mode=(b=Zf(this.model,this.model.position))!=null?b:"math");const E=this.undoManager.canUndo();Os.insert(this.model,a,y)&&(ju(this),E||this.undoManager.reset(),this.undoManager.snapshot("set-value"))}get expression(){const a=window.MathfieldElement.computeEngine;return a?a.box(a.parse(this.model.getValue("latex-unstyled"))):(console.error("MathLive 0.98.5: no compute engine available. Make sure the Compute Engine library is loaded."),null)}scrollIntoView(){var a;if(!this.element)return;if(this.host){if(this.options.onScrollIntoView)this.options.onScrollIntoView(this);else if(this.host.scrollIntoView({block:"nearest",inline:"nearest"}),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.container===window.document.body){const E=window.mathVirtualKeyboard.boundingRect,te=this.host.getBoundingClientRect();te.bottom>E.top&&((a=window.document.scrollingElement)==null||a.scrollBy(0,te.bottom-E.top+8))}}this.dirty&&Df(this,{interactive:!0});const y=this.field.getBoundingClientRect();let b=null;if(this.model.selectionIsCollapsed)b=Qd(this.field);else{const E=w0(this);if(E.length>0){let te=-1/0,oe=-1/0;for(const ue of E)ue.right>te&&(te=ue.right),ue.topE.bottom&&(oe=te-E.bottom+this.host.scrollTop+b.height),this.host.scroll({top:oe,left:0})}if(b){const E=b.x-window.scrollX;let te=this.field.scrollLeft;Ey.right&&(te=E-y.right+this.field.scrollLeft+20),this.field.scroll({top:this.field.scrollTop,left:te})}}insert(a,y){return typeof a!="string"||a.length===0&&((y==null?void 0:y.insertionMode)==="insertBefore"||(y==null?void 0:y.insertionMode)==="insertAfter")||a.length===0&&this.model.selectionIsCollapsed?!1:(this.flushInlineShortcutBuffer(),y=y!=null?y:{mode:"math"},y.focus&&this.focus(),y.feedback&&(window.MathfieldElement.keypressVibration&&qe()&&navigator.vibrate(R0),window.MathfieldElement.playSound("keypress")),a==="\\\\"?tv(this.model):a==="&"?nv(this.model):this.model.selectionIsCollapsed?Os.insert(this.model,a,Se({style:this.model.at(this.model.position).computedStyle},y)):Os.insert(this.model,a,y),this.snapshot(`insert-${this.model.at(this.model.position).type}`),ju(this),y.scrollIntoView&&this.scrollIntoView(),!0)}switchMode(a,y="",b=""){var E;if(this.model.mode===a||!this.hasEditableContent||!this.contentEditable||this.disabled)return;const te=this.model.mode;if(this.model.mode=a,!((E=this.host)!=null&&E.dispatchEvent(new Event("mode-change",{bubbles:!0,composed:!0,cancelable:!0})))){this.model.mode=te;return}const oe=this.model.mode,{model:ue}=this;ue.deferNotifications({content:!!b||!!y,selection:!0,type:"insertText"},()=>{let Ae=!1;if(this.flushInlineShortcutBuffer(),this.stopCoalescingUndo(),y&&a!=="latex"){const Ee=hn(y,{context:this.context,parseMode:a});ue.collapseSelection("forward");const Ne=ue.at(ue.position);ue.position=ue.offsetOf(Ne.parent.addChildrenAfter(Ee,Ne)),Ae=!0}if(this.model.mode=a,a==="latex"){let Ee=ue.selectionIsCollapsed;Td(this,"accept");let Ne,Ge=ue.at(ue.position);if(Ee)Ne="\\";else{const $t=Sc(ue.selection);Ne=this.model.getValue($t,"latex");const kn=this.model.extractAtoms($t);kn.length===1&&kn[0].type==="placeholder"&&(Ne=y,Ee=!0),Ge=ue.at($t[0])}const gt=new dc(Ne);Ge.parent.addChildAfter(gt,Ge),Ee?ue.position=ue.offsetOf(gt.lastChild):ue.setSelection(ue.offsetOf(gt.firstChild),ue.offsetOf(gt.lastChild))}else tu(ue).forEach(Ee=>{Ee.isError=!1});if(b){const Ee=hn(b,{context:this.context,parseMode:oe});ue.collapseSelection("forward");const Ne=ue.at(ue.position);ue.position=ue.offsetOf(Ne.parent.addChildrenAfter(Ee,Ne)),Ae=!0}return ju(this),this.undoManager.snapshot(a==="latex"?"insert-latex":"insert"),Ae}),this.model.mode=a,window.mathVirtualKeyboard.update(s0(this))}hasFocus(){return!this.blurred}focus(a){var y;this.hasFocus()||(this.keyboardDelegate.focus(),this.connectToVirtualKeyboard(),this.onFocus(),this.model.announce("line")),(y=a==null?void 0:a.preventScroll)!=null&&y||this.scrollIntoView()}blur(){this.disconnectFromVirtualKeyboard(),this.hasFocus()&&this.keyboardDelegate.blur()}select(){this.model.selection={ranges:[[0,this.model.lastOffset]]},this.focus()}applyStyle(a,y={}){var b,E;const te={operation:"set",silenceNotifications:!1};$d(y)?te.range=y:(y.operation==="toggle"&&(te.operation="toggle"),te.range=y.range,te.silenceNotifications=(b=y.silenceNotifications)!=null?b:!1);const oe=Fp(this,a),ue=(E=te.operation)!=null?E:"set";if(te.range===void 0&&this.model.selectionIsCollapsed){if(ue==="set"){this.defaultStyle=Se(Se({},this.defaultStyle),oe);return}const Ae=Se({},this.defaultStyle);for(const Ee of Object.keys(oe))Ae[Ee]===oe[Ee]?(Ee==="color"&&delete Ae.verbatimColor,Ee==="backgroundColor"&&delete Ae.verbatimBackgroundColor,delete Ae[Ee]):Ae[Ee]=oe[Ee];this.defaultStyle=Ae;return}this.model.deferNotifications({content:!te.silenceNotifications,type:"insertText"},()=>{if(te.range===void 0)for(const Ae of this.model.selection.ranges)Cp(this.model,Ae,oe,{operation:ue});else Cp(this.model,te.range,oe,{operation:ue})}),ju(this)}toggleContextMenu(){var a;return this._menu.visible?this._menu.state==="open"?(this._menu.hide(),!0):(this._menu.show({target:this.element.querySelector("[part=container]"),location:(a=this.getCaretPoint())!=null?a:void 0,onDismiss:()=>{var y;return(y=this.element)==null?void 0:y.focus()}}),!0):!1}getCaretPoint(){const a=Qd(this.field);return a?{x:a.x,y:a.y}:null}setCaretPoint(a,y){const b=Nh(this,a,y,{bias:0});if(b<0)return!1;const E=this.model.position;return this.model.position=b,this.model.announce("move",E),ju(this),!0}getPrompt(a){const y=this.model.findAtom(b=>b.type==="prompt"&&b.placeholderId===a);return console.assert(y!==void 0,"MathLive 0.98.5: no prompts with matching ID found"),y}getPromptValue(a,y){const b=this.getPrompt(a);if(!b)return"";const E=this.model.offsetOf(b.firstChild),te=this.model.offsetOf(b.lastChild);return this.model.getValue(E,te,y)}getPrompts(a){return this.model.getAllAtoms().filter(y=>y.type!=="prompt"?!1:a?!(a.id&&y.placeholderId!==a.id||a.locked&&y.locked!==a.locked||a.correctness==="undefined"&&y.correctness||a.correctness&&y.correctness!==a.correctness):!0).map(y=>y.placeholderId)}setPromptValue(a,y,b){if(y!==void 0){const E=this.getPrompt(a);if(!E){console.error(`MathLive 0.98.5: unknown prompt ${a}`);return}const te=this.model.getBranchRange(this.model.offsetOf(E),"body");this.model.setSelection(te),this.insert(y,He(Se({},b),{insertionMode:"replaceSelection"}))}b!=null&&b.silenceNotifications&&(this.valueOnFocus=this.getValue()),ju(this)}setPromptState(a,y,b){const E=this.getPrompt(a);if(!E){console.error(`MathLive 0.98.5: unknown prompt ${a}`);return}y==="undefined"?E.correctness=void 0:typeof y=="string"&&(E.correctness=y),typeof b=="boolean"&&(E.locked=b,E.captureSelection=b),ju(this)}getPromptState(a){const y=this.getPrompt(a);return y?[y.correctness,y.locked]:(console.error(`MathLive 0.98.5: unknown prompt ${a}`),[void 0,!0])}getPromptRange(a){const y=this.getPrompt(a);return y?this.model.getBranchRange(this.model.offsetOf(y),"body"):(console.error(`MathLive 0.98.5: unknown prompt ${a}`),[0,0])}canUndo(){return this.undoManager.canUndo()}canRedo(){return this.undoManager.canRedo()}popUndoStack(){this.undoManager.pop()}snapshot(a){var y;this.undoManager.snapshot(a)&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this)),(y=this.host)==null||y.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"snapshot"}})))}stopCoalescingUndo(){this.undoManager.stopCoalescing(this.model.selection)}stopRecording(){this.undoManager.stopRecording()}startRecording(){this.undoManager.startRecording()}undo(){var a;this.undoManager.undo()&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this)),(a=this.host)==null||a.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"undo"}})))}redo(){var a;this.undoManager.redo()&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this)),(a=this.host)==null||a.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"undo"}})))}resetUndo(){var a;(a=this.undoManager)==null||a.reset()}onSelectionDidChange(){var a,y;const b=this.model;this.keyboardDelegate.setValue(b.getValue(this.model.selection,"latex-expanded"));{const E=b.at(b.position),te=(a=E.mode)!=null?a:ev(this.options);this.model.mode!==te&&(this.model.mode==="latex"?(Td(this,"accept",{mode:te}),b.position=b.offsetOf(E)):this.switchMode(te))}(y=this.host)==null||y.dispatchEvent(new Event("selection-change",{bubbles:!0,composed:!0})),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(s0(this)),pp(this)}onContentWillChange(a){var y,b,E;return(E=(b=this.host)==null?void 0:b.dispatchEvent(new InputEvent("beforeinput",He(Se({},a),{data:a.data?a.data:(y=a.inputType)!=null?y:"",cancelable:!0,bubbles:!0,composed:!0}))))!=null?E:!0}onFocus(){this.focusBlurInProgress||!this.blurred||(this.focusBlurInProgress=!0,this.blurred=!1,this.keyboardDelegate.focus(),this.stopCoalescingUndo(),Df(this,{interactive:!0}),this.valueOnFocus=this.model.getValue(),this.hasEditablePrompts&&!this.model.at(this.model.anchor).parentPrompt&&this.executeCommand("moveToNextPlaceholder"),this.focusBlurInProgress=!1)}onBlur(){var a,y,b;if(this.focusBlurInProgress||this.blurred)return;this.focusBlurInProgress=!0,this.stopCoalescingUndo(),this.blurred=!0,this.ariaLiveText.textContent="",Gf(this),this.model.getValue()!==this.valueOnFocus&&((a=this.host)==null||a.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))),this.disconnectFromVirtualKeyboard(),(y=this.host)==null||y.dispatchEvent(new Event("blur",{bubbles:!1,composed:!0})),(b=this.host)==null||b.dispatchEvent(new UIEvent("focusout",{bubbles:!0,composed:!0})),ju(this),this.focusBlurInProgress=!1,Tp();const E=new AbortController,te=E.signal;document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&document.addEventListener("visibilitychange",()=>{Ed(this)&&document.visibilityState==="visible"&&this.focus({preventScroll:!0})},{once:!0,signal:te})},{once:!0,signal:te}),setTimeout(()=>E.abort(),100)}onInput(a){Sp(this,a)}onKeystroke(a){return fv(this,a)}onCompositionStart(a){this.model.deleteAtoms(Sc(this.model.selection));const y=Qd(this.field);y&&requestAnimationFrame(()=>{Df(this),this.keyboardDelegate.moveTo(y.x,y.y-y.height)})}onCompositionUpdate(a){Im(this.model,a),ju(this)}onCompositionEnd(a){Fm(this.model),Sp(this,a,{simulateKeystroke:!0})}onCut(a){if(!this.isSelectionEditable){this.model.announce("plonk");return}this.model.contentWillChange({inputType:"deleteByCut"})&&(this.stopCoalescingUndo(),Os.onCopy(this,a),c0(this.model,Sc(this.model.selection),"deleteByCut"),this.snapshot("cut"),ju(this))}onCopy(a){Os.onCopy(this,a)}onPaste(a){let y=this.isSelectionEditable;return y&&(y=Os.onPaste(this.model.at(this.model.position).mode,this,a.clipboardData)),y||this.model.announce("plonk"),a.preventDefault(),a.stopPropagation(),y}onGeometryChange(){this._menu.hide(),Dd(this),pp(this)}onWheel(a){const y=5*a.deltaX;if(!Number.isFinite(y)||y===0)return;const b=this.field;y<0&&b.scrollLeft===0||y>0&&b.offsetWidth+b.scrollLeft>=b.scrollWidth||(b.scrollBy({top:0,left:y}),a.preventDefault(),a.stopPropagation())}getHTMLElement(a){let y=a;for(;!y.id&&y.hasChildren;)y=a.children[0];return this.field.querySelector(`[data-atom-id="${y.id}"]`)}get context(){var a,y;return{registers:(a=this.options.registers)!=null?a:{},smartFence:this.smartFence,letterShapeStyle:this.letterShapeStyle,minFontScale:this.minFontScale,placeholderSymbol:(y=this.options.placeholderSymbol)!=null?y:"\u25A2",colorMap:b=>this.colorMap(b),backgroundColorMap:b=>this.backgroundColorMap(b),getMacro:b=>Un(b,this.options.macros),atomIdsSettings:{seed:"random",groupNumbers:!1}}}};function Xv(a){if(a&&(a.classList.remove("ML__highlight"),a.children))for(const y of a.children)Xv(y)}function qp(a,y){var b;a&&(!y||((b=a.dataset)==null?void 0:b.atomId)===y?(a.classList.add("ML__highlight"),a.children&&a.children.length>0&&[...a.children].forEach(E=>{E instanceof HTMLElement&&qp(E)})):(a.classList.remove("ML__highlight"),a.children&&a.children.length>0&&[...a.children].forEach(E=>{E instanceof HTMLElement&&qp(E,y)})))}function vA(a,y){var b;if(!ot())return;if(window.MathfieldElement.speechEngine!=="amazon"){console.error("MathLive 0.98.5: Use Amazon TTS Engine for synchronized highlighting"),typeof window.MathfieldElement.speakHook=="function"&&window.MathfieldElement.speakHook(y);return}if(!window.AWS){console.error("MathLive 0.98.5: AWS SDK not loaded. See https://www.npmjs.com/package/aws-sdk");return}const E=new window.AWS.Polly({apiVersion:"2016-06-10"}),te={OutputFormat:"json",VoiceId:(b=window.MathfieldElement.speechEngineVoice)!=null?b:"Joanna",Engine:"standard",Text:y,TextType:"ssml",SpeechMarkTypes:["ssml"]};W0().readAloudElement=a,E.synthesizeSpeech(te,(oe,ue)=>{if(oe){console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech()\` error: ${oe}`);return}if(!(ue!=null&&ue.AudioStream)){console.log("polly.synthesizeSpeech():",ue);return}const Ae=new TextDecoder("utf-8").decode(new Uint8Array(ue.AudioStream));W0().readAloudMarks=Ae.split(` +`).map(Ee=>Ee?JSON.parse(Ee):{}),W0().readAloudTokens=[];for(const Ee of W0().readAloudMarks)Ee.value&&W0().readAloudTokens.push(Ee.value);W0().readAloudCurrentMark="",te.OutputFormat="mp3",te.SpeechMarkTypes=[],E.synthesizeSpeech(te,(Ee,Ne)=>{if(Ee){console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech("${y}") error:${Ee}`);return}if(!(Ne!=null&&Ne.AudioStream))return;const Ge=new Uint8Array(Ne.AudioStream),gt=new Blob([Ge.buffer],{type:"audio/mpeg"}),$t=URL.createObjectURL(gt),kn=W0();kn.readAloudAudio?kn.readAloudAudio.pause():(kn.readAloudAudio=new Audio,kn.readAloudAudio.addEventListener("ended",()=>{const rr=kn.readAloudMathfield;kn.readAloudStatus="ended",document.body.dispatchEvent(new Event("read-aloud-status-change",{bubbles:!0,composed:!0})),rr?(Df(rr),kn.readAloudElement=null,kn.readAloudMathfield=null,kn.readAloudTokens=[],kn.readAloudMarks=[],kn.readAloudCurrentMark=""):Xv(kn.readAloudElement)}),kn.readAloudAudio.addEventListener("timeupdate",()=>{let rr="";const gi=kn.readAloudAudio.currentTime*1e3+100;for(const no of kn.readAloudMarks)no.time!1:this._isFunction}static set isFunction(y){this._isFunction=y}static loadSound(y){return G0(this,null,function*(){delete this.audioBuffers[y];let b="";switch(y){case"keypress":b=this._keypressSound.default;break;case"return":b=this._keypressSound.return;break;case"spacebar":b=this._keypressSound.spacebar;break;case"delete":b=this._keypressSound.delete;break;case"plonk":b=this.plonkSound;break}if(typeof b!="string")return;b=b.trim();const E=this.soundsDirectory;if(!(E==null||E==="null"||b==="none"||b==="null"))try{const oe=yield(yield fetch(yield bf(`${E}/${b}`))).arrayBuffer(),ue=yield this.audioContext.decodeAudioData(oe);this.audioBuffers[y]=ue}catch(te){}})}static playSound(y){return G0(this,null,function*(){if((this.audioContext.state==="suspended"||this.audioContext.state==="interrupted")&&(yield this.audioContext.resume()),this.audioBuffers[y]||(yield this.loadSound(y)),!this.audioBuffers[y])return;const b=this.audioContext.createBufferSource();b.buffer=this.audioBuffers[y];const E=this.audioContext.createGain();E.gain.value=mA,b.connect(E).connect(this.audioContext.destination),b.start()})}constructor(y){if(super(),y){const b=[];for(const E of Object.keys(y))if(K0[E])if(K0[E].startsWith("mf."))if(K0[E].startsWith(`mf.${E}`))b.push(`Option \`${E}\` cannot be used as a constructor option. Use ${K0[E]}`);else{const te=K0[E].match(/([a-zA-Z]+) =/);b.push(`Option \`${E}\` has been renamed \`${te[1]}\``)}else b.push(`Option \`${E}\` cannot be used as a constructor option. Use ${K0[E]}`);if(b.length>0){console.group("%cMathLive 0.98.5: %cInvalid Options","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),console.warn("Some of the options passed to `new MathfieldElement(...)` are invalid. \n See https://cortexjs.io/mathlive/changelog/ for details.");for(const E of b)console.warn(E);console.groupEnd()}}if(Dh()&&(this._internals=this.attachInternals(),this._internals.role="math",this._internals.ariaLabel="math input field",this._internals.ariaMultiLine="false"),this.attachShadow({mode:"open",delegatesFocus:!0}),this.shadowRoot&&"adoptedStyleSheets"in this.shadowRoot){this.shadowRoot.adoptedStyleSheets=[Ef("core"),Ef("mathfield"),Ef("mathfield-element"),Ef("ui"),Ef("menu")],this.shadowRoot.appendChild(document.createElement("span"));const b=document.createElement("slot");b.style.display="none",this.shadowRoot.appendChild(b)}else this.shadowRoot.innerHTML="';y&&this._setOptions(y),this.shadowRoot.addEventListener("slotchange",()=>{var b;const E=this.shadowRoot.querySelector("slot:not([name])");this.value=(b=E==null?void 0:E.assignedNodes().map(te=>te.nodeType===3?te.textContent:"").join("").trim())!=null?b:""})}showMenu(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.showMenu(y))!=null?E:!1}get mathVirtualKeyboard(){throw new Error("The `mathVirtualKeyboard` property is not available on the MathfieldElement. Use `window.mathVirtualKeyboard` instead.")}onPointerDown(){window.addEventListener("pointerup",y=>{var b;y.target===this&&!((b=this._mathfield)!=null&&b.disabled)&&this.dispatchEvent(new MouseEvent("click",{altKey:y.altKey,button:y.button,buttons:y.buttons,clientX:y.clientX,clientY:y.clientY,ctrlKey:y.ctrlKey,metaKey:y.metaKey,movementX:y.movementX,movementY:y.movementY,relatedTarget:y.relatedTarget,screenX:y.screenX,screenY:y.screenY,shiftKey:y.shiftKey}))},{once:!0})}getPromptValue(y,b){var E,te;return(te=(E=this._mathfield)==null?void 0:E.getPromptValue(y,b))!=null?te:""}setPromptValue(y,b,E){var te;(te=this._mathfield)==null||te.setPromptValue(y,b,E)}getPromptRange(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.getPromptRange(y))!=null?E:null}getPrompts(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.getPrompts(y))!=null?E:[]}get form(){var y;return(y=this._internals)==null?void 0:y.form}get name(){var y;return(y=this.getAttribute("name"))!=null?y:""}get type(){return this.localName}get mode(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.model.mode)!=null?b:this.defaultMode==="text"?"text":"math"}set mode(y){var b;(b=this._mathfield)==null||b.switchMode(y)}get expression(){if(this._mathfield)return window[Symbol.for("io.cortexjs.compute-engine")]?this._mathfield.expression:(console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. + + Load the library, for example with: + + import "https://unpkg.com/@cortex-js/compute-engine?module"`),null)}set expression(y){var b,E;if(!this._mathfield)return;const te=(E=(b=dh.computeEngine)==null?void 0:b.box(y).latex)!=null?E:null;te!==null&&this._mathfield.setValue(te),window[Symbol.for("io.cortexjs.compute-engine")]||console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. + + Load the library, for example with: + + import "https://unpkg.com/@cortex-js/compute-engine?module"`)}get errors(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.errors)!=null?b:[]}_getOptions(y){return this._mathfield?rh(this._mathfield.options,y):Vu.has(this)?Se({},rh(Se(Se({},np()),tp(Vu.get(this).options)),y)):null}getOptions(y){return console.warn("%cMathLive 0.98.5: %cDeprecated Usage%c\n `mf.getOptions()` is deprecated. Read the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem","color: inherit, font-size: 1rem"),this._mathfield?rh(this._mathfield.options,y):Vu.has(this)?rh(Se(Se({},np()),tp(Vu.get(this).options)),y):null}reflectAttributes(){const y=np(),b=this._getOptions();Object.keys(dh.optionsAttributes).forEach(E=>{const te=k0(E);dh.optionsAttributes[E]==="on/off"?y[te]!==b[te]?this.setAttribute(E,b[te]?"on":"off"):this.removeAttribute(E):y[te]!==b[te]&&(dh.optionsAttributes[E]==="boolean"?b[te]?this.setAttribute(E,""):this.removeAttribute(E):(typeof b[te]=="string"||typeof b[te]=="number")&&this.setAttribute(E,b[te].toString()))})}getOption(y){return console.warn("%cMathLive 0.98.5: %cDeprecated Usage%c\n `mf.getOption()` is deprecated. Read the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem","color: inherit, font-size: 1rem"),this._getOptions([y])[y]}_getOption(y){return this._getOptions([y])[y]}_setOptions(y){if(this._mathfield)this._mathfield.setOptions(y);else if(Vu.has(this)){const b=Se(Se({},Vu.get(this).options),y);Vu.set(this,He(Se({},Vu.get(this)),{selection:{ranges:b.readOnly?[[0,0]]:[[0,-1]]},options:b}))}else Vu.set(this,{value:void 0,selection:{ranges:[[0,0]]},options:y,menuItems:void 0});this.reflectAttributes()}setOptions(y){console.group("%cMathLive 0.98.5: %cDeprecated Usage","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),console.warn(" `mf.setOptions()` is deprecated. Set the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.");for(const b of Object.keys(y))K0[b]&&console.warn(`\`mf.setOptions({${b}:...})\` -> ${K0[b]}`);console.groupEnd(),this._setOptions(y)}executeCommand(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.executeCommand(y))!=null?E:!1}getValue(y,b,E){var te,oe;if(this._mathfield)return this._mathfield.model.getValue(y,b,E);if(Vu.has(this)){let ue,Ae,Ee;if(vf(y)?([ue,Ae]=y.ranges[0],Ee=b):$d(y)?([ue,Ae]=y,Ee=b):hd(y)&&hd(b)?(ue=y,Ae=b,Ee=E):(ue=0,Ae=-1,Ee=y),(Ee===void 0||Ee==="latex")&&ue===0&&Ae===-1)return(oe=(te=Vu.get(this).value)!=null?te:this.textContent)!=null?oe:""}return""}setValue(y,b){if(this._mathfield&&y!==void 0){b!=null||(b={silenceNotifications:!0,mode:"math"}),this._mathfield.setValue(y,b);return}if(Vu.has(this)){const te=Vu.get(this).options;Vu.set(this,{value:y,selection:{ranges:[[-1,-1]],direction:"forward"},options:te,menuItems:void 0});return}const E=Rh(this);Vu.set(this,{value:y,selection:{ranges:[[-1,-1]],direction:"forward"},options:E,menuItems:void 0})}hasFocus(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.hasFocus())!=null?b:!1}focus(){var y;(y=this._mathfield)==null||y.focus()}blur(){var y;(y=this._mathfield)==null||y.blur()}select(){var y;(y=this._mathfield)==null||y.select()}insert(y,b){var E,te;return(te=(E=this._mathfield)==null?void 0:E.insert(y,b))!=null?te:!1}applyStyle(y,b){var E;return(E=this._mathfield)==null?void 0:E.applyStyle(y,b)}queryStyle(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.queryStyle(y))!=null?E:"none"}get caretPoint(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.getCaretPoint())!=null?b:null}set caretPoint(y){var b;y&&((b=this._mathfield)==null||b.setCaretPoint(y.x,y.y))}setCaretPoint(y,b){var E,te;return(te=(E=this._mathfield)==null?void 0:E.setCaretPoint(y,b))!=null?te:!1}offsetFromPoint(y,b,E){return this._mathfield?Nh(this._mathfield,y,b,E):-1}hitboxFromOffset(y){if(!this._mathfield)return null;const b=this._mathfield.model.at(y);if(!b)return null;const E=vd(this._mathfield,b);return E?new DOMRect(E.left,E.top,E.right-E.left,E.bottom-E.top):null}resetUndo(){var y;(y=this._mathfield)==null||y.resetUndo()}canUndo(){return this._mathfield?this._mathfield.canUndo():!1}canRedo(){return this._mathfield?this._mathfield.canRedo():!1}handleEvent(y){var b,E,te,oe;Mi.state==="closed"&&((E=(b=this._mathfield)==null?void 0:b.menu)==null?void 0:E.state)==="closed"&&(y.type==="pointerdown"&&this.onPointerDown(),y.type==="focus"&&((te=this._mathfield)==null||te.focus()),y.type==="blur"&&((oe=this._mathfield)==null||oe.blur()))}connectedCallback(){var y,b,E,te;const oe=window.getComputedStyle(this),ue=this.shadowRoot,Ae=oe.userSelect!=="none";if(Ae)ue.host.addEventListener("pointerdown",this,!0);else{const Ge=ue.querySelector("span");Ge.style.pointerEvents="none"}ue.host.addEventListener("focus",this,!0),ue.host.addEventListener("blur",this,!0),Dh()||(this.hasAttribute("role")||this.setAttribute("role","math"),this.hasAttribute("aria-label")||this.setAttribute("aria-label","math input field"),this.setAttribute("aria-multiline","false")),Ae&&!this.hasAttribute("contenteditable")&&this.setAttribute("contenteditable","true"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0");const Ee=ue.querySelector("slot:not([name])");if(Ee)try{this._style=Ee.assignedElements().filter(Ge=>Ge.tagName.toLowerCase()==="style").map(Ge=>Ge.textContent).join("")}catch(Ge){console.error(Ge)}if(this._style){const Ge=document.createElement("style");Ge.textContent=this._style,ue.appendChild(Ge)}let Ne="";if(this.hasAttribute("value")?Ne=this.getAttribute("value"):Ne=(y=Ee==null?void 0:Ee.assignedNodes().map(Ge=>Ge.nodeType===3?Ge.textContent:"").join("").trim())!=null?y:"",this._mathfield=new pA(ue.querySelector(":host > span"),He(Se({},(E=(b=Vu.get(this))==null?void 0:b.options)!=null?E:Rh(this)),{eventSink:this,value:Ne})),!Vu.has(this)){this.upgradeProperty("disabled"),this.upgradeProperty("readonly");for(const Ge of Object.keys(dh.optionsAttributes))this.upgradeProperty(k0(Ge))}if(!((te=this._mathfield)!=null&&te.model)){this._mathfield=null;return}if(Vu.has(this)){const Ge=this._mathfield,gt=Vu.get(this),$t=gt.menuItems;Ge.model.deferNotifications({content:!1,selection:!1},()=>{const kn=gt.value;kn!==void 0&&Ge.setValue(kn),Ge.model.selection=gt.selection,Vu.delete(this)}),$t&&(this.menuItems=$t)}window.queueMicrotask(()=>{this.isConnected&&this.dispatchEvent(new Event("mount",{cancelable:!1,bubbles:!0,composed:!0}))}),Kc()}disconnectedCallback(){var y,b;if(this.shadowRoot.host.removeEventListener("pointerdown",this,!0),!this._mathfield)return;window.queueMicrotask(()=>this.dispatchEvent(new Event("unmount",{cancelable:!1,bubbles:!0,composed:!0})));const E=rh(this._mathfield.options,Object.keys(dh.optionsAttributes).map(te=>k0(te)));Vu.set(this,{value:this._mathfield.getValue(),selection:this._mathfield.model.selection,menuItems:(b=(y=this._mathfield.menu)==null?void 0:y.menuItems)!=null?b:void 0,options:E}),this._mathfield.dispose(),this._mathfield=null}upgradeProperty(y){if(this.hasOwnProperty(y)){const b=this[y];delete this[y],(y==="readonly"||y==="read-only")&&(y="readOnly"),this[y]=b}}attributeChangedCallback(y,b,E){if(b===E)return;const te=E!==null;switch(y){case"contenteditable":ju(this._mathfield);break;case"disabled":this.disabled=te;break;case"read-only":case"readonly":this.readOnly=te;break;default:}}get readonly(){return this.hasAttribute("readonly")||this.hasAttribute("read-only")}set readonly(y){const b=!!y;b?(this.setAttribute("readonly",""),Dh()?this._internals.ariaReadOnly="true":this.setAttribute("aria-readonly","true"),this.setAttribute("aria-readonly","true")):(Dh()?this._internals.ariaReadOnly="false":this.removeAttribute("aria-readonly"),this.removeAttribute("readonly"),this.removeAttribute("read-only")),this._setOptions({readOnly:b})}get disabled(){return this.hasAttribute("disabled")}set disabled(y){var b;const E=!!y;E?this.setAttribute("disabled",""):this.removeAttribute("disabled"),Dh()?this._internals.ariaDisabled=E?"true":"false":this.setAttribute("aria-disabled",E?"true":"false"),E&&((b=this._mathfield)!=null&&b.hasFocus)&&window.mathVirtualKeyboard.visible&&this._mathfield.executeCommand("hideVirtualKeyboard")}get value(){return this.getValue()}set value(y){this.setValue(y)}get defaultMode(){return this._getOption("defaultMode")}set defaultMode(y){this._setOptions({defaultMode:y})}get macros(){return this._getOption("macros")}set macros(y){this._setOptions({macros:y})}get registers(){const y=this;return new Proxy({},{get:(b,E)=>{if(typeof E=="string")return y._getOption("registers")[E]},set(b,E,te){return typeof E!="string"?!1:(y._setOptions({registers:He(Se({},y._getOption("registers")),{[E]:te})}),!0)}})}set registers(y){this._setOptions({registers:y})}get colorMap(){return this._getOption("colorMap")}set colorMap(y){this._setOptions({colorMap:y})}get backgroundColorMap(){return this._getOption("backgroundColorMap")}set backgroundColorMap(y){this._setOptions({backgroundColorMap:y})}get letterShapeStyle(){return this._getOption("letterShapeStyle")}set letterShapeStyle(y){this._setOptions({letterShapeStyle:y})}get minFontScale(){return this._getOption("minFontScale")}set minFontScale(y){this._setOptions({minFontScale:y})}get smartMode(){return this._getOption("smartMode")}set smartMode(y){this._setOptions({smartMode:y})}get smartFence(){return this._getOption("smartFence")}set smartFence(y){this._setOptions({smartFence:y})}get smartSuperscript(){return this._getOption("smartSuperscript")}set smartSuperscript(y){this._setOptions({smartSuperscript:y})}get scriptDepth(){return this._getOption("scriptDepth")}set scriptDepth(y){this._setOptions({scriptDepth:y})}get removeExtraneousParentheses(){return this._getOption("removeExtraneousParentheses")}set removeExtraneousParentheses(y){this._setOptions({removeExtraneousParentheses:y})}get mathModeSpace(){return this._getOption("mathModeSpace")}set mathModeSpace(y){this._setOptions({mathModeSpace:y})}get placeholderSymbol(){return this._getOption("placeholderSymbol")}set placeholderSymbol(y){this._setOptions({placeholderSymbol:y})}get popoverPolicy(){return this._getOption("popoverPolicy")}set popoverPolicy(y){this._setOptions({popoverPolicy:y})}get environmentPopoverPolicy(){return this._getOption("environmentPopoverPolicy")}set environmentPopoverPolicy(y){this._setOptions({environmentPopoverPolicy:y})}get menuItems(){var y,b,E;return this._mathfield?(y=this._mathfield.menu._menuItems.map(te=>te.menuItem))!=null?y:[]:(E=(b=Vu.get(this))==null?void 0:b.menuItems)!=null?E:[]}set menuItems(y){var b;if(this._mathfield){const E=(b=this._mathfield.element)==null?void 0:b.querySelector("[part=menu-toggle]");E&&(E.style.display=y.length===0?"none":""),this._mathfield.menu.menuItems=y}Vu.has(this)?Vu.set(this,He(Se({},Vu.get(this)),{menuItems:y})):Vu.set(this,{value:void 0,selection:{ranges:[[0,0]]},options:Rh(this),menuItems:y})}get mathVirtualKeyboardPolicy(){return this._getOption("mathVirtualKeyboardPolicy")}set mathVirtualKeyboardPolicy(y){this._setOptions({mathVirtualKeyboardPolicy:y})}get inlineShortcuts(){return this._getOption("inlineShortcuts")}set inlineShortcuts(y){this._setOptions({inlineShortcuts:y})}get inlineShortcutTimeout(){return this._getOption("inlineShortcutTimeout")}set inlineShortcutTimeout(y){this._setOptions({inlineShortcutTimeout:y})}get keybindings(){return this._getOption("keybindings")}set keybindings(y){this._setOptions({keybindings:y})}get onInlineShortcut(){return this._getOption("onInlineShortcut")}set onInlineShortcut(y){this._setOptions({onInlineShortcut:y})}get onScrollIntoView(){return this._getOption("onScrollIntoView")}set onScrollIntoView(y){this._setOptions({onScrollIntoView:y})}get onExport(){return this._getOption("onExport")}set onExport(y){this._setOptions({onExport:y})}get readOnly(){return this._getOption("readOnly")}set readOnly(y){this._setOptions({readOnly:y})}get isSelectionEditable(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.isSelectionEditable)!=null?b:!1}setPromptState(y,b,E){var te;(te=this._mathfield)==null||te.setPromptState(y,b,E)}getPromptState(y){var b,E;return(E=(b=this._mathfield)==null?void 0:b.getPromptState(y))!=null?E:[void 0,!0]}get virtualKeyboardTargetOrigin(){return this._getOption("virtualKeyboardTargetOrigin")}set virtualKeyboardTargetOrigin(y){this._setOptions({virtualKeyboardTargetOrigin:y})}get selection(){return this._mathfield?this._mathfield.model.selection:Vu.has(this)?Vu.get(this).selection:{ranges:[[0,0]],direction:"forward"}}set selection(y){if(typeof y=="number"&&(y={ranges:[[y,y]]}),this._mathfield){this._mathfield.model.selection=y,ju(this._mathfield);return}if(Vu.has(this)){Vu.set(this,He(Se({},Vu.get(this)),{selection:y}));return}Vu.set(this,{value:void 0,selection:y,options:Rh(this),menuItems:void 0})}get selectionIsCollapsed(){const y=this.selection;return y.ranges.length===1&&y.ranges[0][0]===y.ranges[0][1]}get position(){return this._mathfield?this._mathfield.model.position:Vu.has(this)?Vu.get(this).selection.ranges[0][0]:0}set position(y){if(this._mathfield&&(this._mathfield.model.position=y,ju(this._mathfield)),Vu.has(this)){Vu.set(this,He(Se({},Vu.get(this)),{selection:{ranges:[[y,y]]}}));return}Vu.set(this,{value:void 0,selection:{ranges:[[y,y]]},options:Rh(this),menuItems:void 0})}getOffsetDepth(y){var b,E;return this._mathfield?((E=(b=this._mathfield.model.at(y))==null?void 0:b.treeDepth)!=null?E:2)-2:0}get lastOffset(){var y,b;return(b=(y=this._mathfield)==null?void 0:y.model.lastOffset)!=null?b:-1}};yd.version="0.98.5",yd._fontsDirectory="./fonts",yd._soundsDirectory="./sounds",yd.keypressVibration=!0,yd._keypressSound={spacebar:"keypress-spacebar.wav",return:"keypress-return.wav",delete:"keypress-delete.wav",default:"keypress-standard.wav"},yd._plonkSound="plonk.wav",yd.audioBuffers={},yd.createHTML=a=>a,yd._speechEngineRate="100%",yd._speechEngineVoice="Joanna",yd._textToSpeechMarkup="",yd._textToSpeechRules="mathlive",yd._textToSpeechRulesOptions={},yd.speakHook=aA,yd.readAloudHook=vA,yd._decimalSeparator=".",yd.fractionNavigationOrder="numerator-denominator",yd._isFunction=a=>{var y,b;const E=window.MathfieldElement.computeEngine;return(b=(y=E==null?void 0:E.parse(a).domain)==null?void 0:y.isFunction)!=null?b:!1};var jh=yd;function k0(a){return a.replace(/[^a-zA-Z\d]+(.)/g,(y,b)=>b.toUpperCase())}function Rh(a){const y={readOnly:!1},b=jh.optionsAttributes;return Object.keys(b).forEach(E=>{if(a.hasAttribute(E)){const te=a.getAttribute(E);E==="placeholder"?y.contentPlaceholder=te!=null?te:"":b[E]==="boolean"?y[k0(E)]=!0:b[E]==="on/off"?te==="on"?y[k0(E)]=!0:te==="off"?y[k0(E)]=!1:y[k0(E)]=void 0:b[E]==="number"?y[k0(E)]=Number.parseFloat(te!=null?te:"0"):y[k0(E)]=te}}),y}function Dh(){return!(!("ElementInternals"in window)||!HTMLElement.prototype.attachInternals||!("role"in window.ElementInternals.prototype))}var Zv=jh,Qv,Vv,Kv,Wv;if(ot()&&!((Qv=window.customElements)!=null&&Qv.get("math-field"))){(Kv=window[Vv=Symbol.for("io.cortexjs.mathlive")])!=null||(window[Vv]={});const a=window[Symbol.for("io.cortexjs.mathlive")];a.version="0.98.5",window.MathfieldElement=jh,(Wv=window.customElements)==null||Wv.define("math-field",jh)}function gA(a,y,b){let E=b,te=0;const oe=a.length;for(;E0&&oe.push({type:"text",data:Ae.slice(0,Ne)}),Ee=!1);let gt=!1;for(;!gt;){if(Ee){if(Ge=Ae.indexOf(y,Ne),Ge===-1){gt=!0;break}Ne!==Ge&&oe.push({type:"text",data:Ae.slice(Ne,Ge)}),Ne=Ge}else{if(Ge=gA(b,Ae,Ne+y.length),Ge===-1){gt=!0;break}let $t=Ae.slice(Ne+y.length,Ge);te==="ascii-math"&&([,$t]=Nl($t,{format:"ascii-math"})),oe.push({type:"math",data:$t,rawData:Ae.slice(Ne,Ge+b.length),mathstyle:E}),Ne=Ge+b.length}Ee=!Ee}Ne{E=yp(E,te,oe,"textstyle")}),y!=null&&y.display&&y.display.forEach(([te,oe])=>{E=yp(E,te,oe,"displaystyle")}),b!=null&&b.inline&&b.inline.forEach(([te,oe])=>{E=yp(E,te,oe,"textstyle","ascii-math")}),b!=null&&b.display&&b.display.forEach(([te,oe])=>{E=yp(E,te,oe,"displaystyle","ascii-math")}),E}function AA(a,y){const b=document.createElement("span");b.setAttribute("translate","no");try{const E=""+y.renderToMathML(a)+"";b.innerHTML=window.MathfieldElement.createHTML(E)}catch(E){console.error(`MathLive 0.98.5: Could not convert "${a}"' to MathML with ${E}`),b.textContent=a}return b.className="ML__sr-only",b}function yA(a,y,b,E){try{const te=y.renderToMarkup(a,{mathstyle:b,format:"html"}),oe=document.createElement("span");return oe.dataset.latex=a,oe.style.display=b==="displaystyle"?"flex":"inline-flex",oe.setAttribute("aria-hidden","true"),oe.setAttribute("translate","no"),oe.innerHTML=window.MathfieldElement.createHTML(te),oe}catch(te){if(console.error("Could not parse'"+a+"' with ",te),E)return document.createTextNode(a)}return null}function Sh(a,y,b,E){var te;const oe=yA(a,b,y||"textstyle",E),ue=(te=b.renderAccessibleContent)!=null?te:"";if(oe&&/\b(mathml|speakable-text)\b/i.test(ue)){const Ae=document.createElement("span");if(/\bmathml\b/i.test(ue)&&b.renderToMathML&&Ae.append(AA(a,b)),/\bspeakable-text\b/i.test(ue)&&b.renderToSpeakableText){const Ee=document.createElement("span");Ee.setAttribute("translate","no");const Ne=b.renderToSpeakableText(a);Ee.innerHTML=window.MathfieldElement.createHTML(Ne),Ee.className="ML__sr-only",Ae.append(Ee)}return Ae.append(oe),Ae}return oe}function bA(a,y){var b,E,te;let oe=null;if((b=y.TeX)!=null&&b.processEnvironments&&/^\s*\\begin/.test(a)){oe=document.createDocumentFragment();const ue=Sh(a,"",y,!0);ue&&oe.appendChild(ue)}else{if(!a.trim())return null;const ue=Gv(a,(E=y.TeX)==null?void 0:E.delimiters,(te=y.asciiMath)==null?void 0:te.delimiters);if(ue.length===1&&ue[0].type==="text")return null;oe=document.createDocumentFragment();for(const Ae of ue)if(Ae.type==="text")oe.appendChild(document.createTextNode(Ae.data));else{const Ee=Sh(Ae.data,Ae.mathstyle==="textstyle"?"textstyle":"displaystyle",y,!0);Ee&&oe.appendChild(Ee)}}return oe}function Uv(a,y){var b,E,te,oe,ue,Ae,Ee,Ne,Ge,gt,$t,kn,rr,gi,no,si;if(a.childNodes.length===1&&a.childNodes[0].nodeType===3){const la=(b=a.childNodes[0].textContent)!=null?b:"";if((E=y.TeX)!=null&&E.processEnvironments&&/^\s*\\begin/.test(la)){a.textContent="";const Ba=Sh(la,"",y,!0);Ba&&a.append(Ba);return}const po=Gv(la,(te=y.TeX)==null?void 0:te.delimiters,(oe=y.asciiMath)==null?void 0:oe.delimiters);if(po.length===1&&po[0].type==="math"){a.textContent="";const Ba=Sh(po[0].data,po[0].mathstyle==="textstyle"?"textstyle":"displaystyle",y,!0);Ba&&a.append(Ba);return}if(po.length===1&&po[0].type==="text")return}for(let la=a.childNodes.length-1;la>=0;la--){const po=a.childNodes[la];if(po.nodeType===3){const Ba=bA((ue=po.textContent)!=null?ue:"",y);Ba&&(la+=Ba.childNodes.length-1,po.replaceWith(Ba))}else if(po.nodeType===1){const Ba=po,Tl=po.nodeName.toLowerCase();if(Tl==="script"){const as=po;let Gl;if((Ae=y.processScriptTypePattern)!=null&&Ae.test(as.type))Gl=(Ee=as.textContent)!=null?Ee:"";else if((Ne=y.processMathJSONScriptTypePattern)!=null&&Ne.test(as.type))try{Gl=(gt=y.serializeToLatex)==null?void 0:gt.call(y,JSON.parse((Ge=as.textContent)!=null?Ge:""))}catch(Tu){console.error(Tu)}if(Gl){let Tu="textstyle";for(const zo of as.type.split(";")){const[Mf,d0]=zo.toLowerCase().split("=");Mf.trim()==="mode"&&(Tu=d0.trim()==="display"?"displaystyle":"textstyle")}const ac=Sh(Gl,Tu,y,!0);ac&&as.parentNode.replaceChild(ac,as)}}else if(((kn=($t=y.processClassPattern)==null?void 0:$t.test(Ba.className))!=null?kn:!1)||!((gi=(rr=y.skipTags)==null?void 0:rr.includes(Tl))!=null&&gi||(si=(no=y.ignoreClassPattern)==null?void 0:no.test(Ba.className))!=null&&si))if(a.childNodes.length===1&&a.childNodes[0].nodeType===3){const Gl=a.textContent;a.textContent="";const Tu=Sh(Gl!=null?Gl:"","displaystyle",y,!0);Tu&&a.append(Tu)}else Uv(Ba,y)}}}var xA={skipTags:["math-field","noscript","style","textarea","pre","code","annotation","annotation-xml"],processScriptType:"math/tex",processMathJSONScriptType:"math/json",ignoreClass:"tex2jax_ignore",processClass:"tex2jax_process",renderAccessibleContent:"mathml",asciiMath:{delimiters:{inline:[["`","`"]]}},TeX:{processEnvironments:!0,delimiters:{inline:[["\\(","\\)"]],display:[["$$","$$"],["\\[","\\]"]]}}};function wA(a,y){var b,E,te,oe;try{const ue=Se(Se({},xA),y);ue.ignoreClassPattern=new RegExp((b=ue.ignoreClass)!=null?b:""),ue.processClassPattern=new RegExp((E=ue.processClass)!=null?E:""),ue.processScriptTypePattern=new RegExp((te=ue.processScriptType)!=null?te:""),ue.processMathJSONScriptTypePattern=new RegExp((oe=ue.processMathJSONScriptType)!=null?oe:""),Kc(),td("core"),Uv(a,ue)}catch(ue){ue instanceof Error?console.error("renderMathInElement(): "+ue.message):console.error("renderMathInElement(): Could not render math for element",a)}}function CA(a,y){const b=Q0.singleton;return b?(b.show(),X0(),b.currentLayer=y,b.render(),b.focus(),!0):!1}function EA(){const a=window.mathVirtualKeyboard;return a.visible?a.hide({animate:!0}):a.show({animate:!0}),!1}lo({switchKeyboardLayer:CA,toggleVirtualKeyboard:EA,hideVirtualKeyboard:()=>(window.mathVirtualKeyboard.hide({animate:!0}),!1),showVirtualKeyboard:()=>(window.mathVirtualKeyboard.show({animate:!0}),!1)},{target:"virtual-keyboard"});function W0(){var a,y;return(y=globalThis[a=Symbol.for("io.cortexjs.mathlive")])!=null||(globalThis[a]={}),globalThis[Symbol.for("io.cortexjs.mathlive")]}function IA(){return console.warn("%cMathLive 0.98.5: %cmakeSharedVirtualKeyboard() is deprecated. \n Use `window.mathVirtualKeyboard` to access the virtual keyboard instance.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),window.mathVirtualKeyboard}function FA(a){PA(document.body,a)}function BA(a){if(typeof a=="string"){const y=document.getElementById(a);if(y===null)throw new Error(`The element with ID "${a}" could not be found.`);return y}return typeof a=="string"?null:a}function PA(a,y){var b,E,te,oe;const ue=BA(a);if(!ue)return;const Ae=y!=null?y:{};(b=Ae.renderToMarkup)!=null||(Ae.renderToMarkup=ud),(E=Ae.renderToMathML)!=null||(Ae.renderToMathML=Hg),(te=Ae.renderToSpeakableText)!=null||(Ae.renderToSpeakableText=jg),(oe=Ae.serializeToLatex)!=null||(Ae.serializeToLatex=Rg),wA(ue,Ae)}var kA={mathlive:"0.98.5"}}}]); +}()); \ No newline at end of file diff --git a/p__knowledgegraph__Detail__id.c23fcef4.async.js b/p__knowledgegraph__Detail__id.c23fcef4.async.js deleted file mode 100644 index 153e3bb3ec..0000000000 --- a/p__knowledgegraph__Detail__id.c23fcef4.async.js +++ /dev/null @@ -1,3674 +0,0 @@ -!(function(){var lp=Math.pow;var tg=(Hn,xr,he)=>new Promise((se,je)=>{var Bt=dt=>{try{Dt(he.next(dt))}catch(Le){je(Le)}},Rt=dt=>{try{Dt(he.throw(dt))}catch(Le){je(Le)}},Dt=dt=>dt.done?se(dt.value):Promise.resolve(dt.value).then(Bt,Rt);Dt((he=he.apply(Hn,xr)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[28823],{89489:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},59477:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},26227:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},49198:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},41464:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},87169:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},52671:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},8657:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},56082:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},15075:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},62772:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},43531:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},87395:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(60499),je=he(59301),Bt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},Rt=Bt,Dt=he(85221),dt=function(It,vt){return je.createElement(Dt.Z,(0,se.Z)({},It,{ref:vt,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le},95278:function(Hn,xr,he){"use strict";he.d(xr,{kJ:function(){return np},RN:function(){return Em}});var se={};he.r(se),he.d(se,{circle:function(){return ns},diamond:function(){return rs},rect:function(){return Vo},simple:function(){return Xl},triangle:function(){return wo},triangleRect:function(){return Lo},vee:function(){return os}});var je=he(66623),Bt=he(18178),Rt=he(76075),Dt=he(62099),dt=he(93785);const Le={duration:500},Xe={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},_e={CHANGE:"change"};var It;(function(te){te.NodeAdded="NodeAdded",te.NodeUpdated="NodeUpdated",te.NodeRemoved="NodeRemoved",te.EdgeAdded="EdgeAdded",te.EdgeUpdated="EdgeUpdated",te.EdgeRemoved="EdgeRemoved",te.ComboAdded="ComboAdded",te.ComboUpdated="ComboUpdated",te.ComboRemoved="ComboRemoved"})(It||(It={}));var vt;(function(te){te.DRAW="draw",te.COLLAPSE="collapse",te.EXPAND="expand",te.TRANSFORM="transform"})(vt||(vt={}));var wt;(function(te){te.CLICK="canvas:click",te.DBLCLICK="canvas:dblclick",te.POINTER_OVER="canvas:pointerover",te.POINTER_LEAVE="canvas:pointerleave",te.POINTER_ENTER="canvas:pointerenter",te.POINTER_MOVE="canvas:pointermove",te.POINTER_OUT="canvas:pointerout",te.POINTER_DOWN="canvas:pointerdown",te.POINTER_UP="canvas:pointerup",te.CONTEXT_MENU="canvas:contextmenu",te.DRAG_START="canvas:dragstart",te.DRAG="canvas:drag",te.DRAG_END="canvas:dragend",te.DRAG_ENTER="canvas:dragenter",te.DRAG_OVER="canvas:dragover",te.DRAG_LEAVE="canvas:dragleave",te.DROP="canvas:drop",te.WHEEL="canvas:wheel"})(wt||(wt={}));var Ot;(function(te){te.CLICK="combo:click",te.DBLCLICK="combo:dblclick",te.POINTER_OVER="combo:pointerover",te.POINTER_LEAVE="combo:pointerleave",te.POINTER_ENTER="combo:pointerenter",te.POINTER_MOVE="combo:pointermove",te.POINTER_OUT="combo:pointerout",te.POINTER_DOWN="combo:pointerdown",te.POINTER_UP="combo:pointerup",te.CONTEXT_MENU="combo:contextmenu",te.DRAG_START="combo:dragstart",te.DRAG="combo:drag",te.DRAG_END="combo:dragend",te.DRAG_ENTER="combo:dragenter",te.DRAG_OVER="combo:dragover",te.DRAG_LEAVE="combo:dragleave",te.DROP="combo:drop"})(Ot||(Ot={}));var Ye;(function(te){te.CLICK="click",te.DBLCLICK="dblclick",te.POINTER_OVER="pointerover",te.POINTER_LEAVE="pointerleave",te.POINTER_ENTER="pointerenter",te.POINTER_MOVE="pointermove",te.POINTER_OUT="pointerout",te.POINTER_DOWN="pointerdown",te.POINTER_UP="pointerup",te.CONTEXT_MENU="contextmenu",te.DRAG_START="dragstart",te.DRAG="drag",te.DRAG_END="dragend",te.DRAG_ENTER="dragenter",te.DRAG_OVER="dragover",te.DRAG_LEAVE="dragleave",te.DROP="drop",te.KEY_DOWN="keydown",te.KEY_UP="keyup",te.WHEEL="wheel",te.PINCH="pinch"})(Ye||(Ye={}));var We;(function(te){te.KEY_DOWN="keydown",te.KEY_UP="keyup"})(We||(We={}));var pt;(function(te){te.CLICK="edge:click",te.DBLCLICK="edge:dblclick",te.POINTER_OVER="edge:pointerover",te.POINTER_LEAVE="edge:pointerleave",te.POINTER_ENTER="edge:pointerenter",te.POINTER_MOVE="edge:pointermove",te.POINTER_OUT="edge:pointerout",te.POINTER_DOWN="edge:pointerdown",te.POINTER_UP="edge:pointerup",te.CONTEXT_MENU="edge:contextmenu",te.DRAG_ENTER="edge:dragenter",te.DRAG_OVER="edge:dragover",te.DRAG_LEAVE="edge:dragleave",te.DROP="edge:drop"})(pt||(pt={}));var mt;(function(te){te.BEFORE_CANVAS_INIT="beforecanvasinit",te.AFTER_CANVAS_INIT="aftercanvasinit",te.BEFORE_SIZE_CHANGE="beforesizechange",te.AFTER_SIZE_CHANGE="aftersizechange",te.BEFORE_ELEMENT_CREATE="beforeelementcreate",te.AFTER_ELEMENT_CREATE="afterelementcreate",te.BEFORE_ELEMENT_UPDATE="beforeelementupdate",te.AFTER_ELEMENT_UPDATE="afterelementupdate",te.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",te.AFTER_ELEMENT_DESTROY="afterelementdestroy",te.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",te.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",te.BEFORE_DRAW="beforedraw",te.AFTER_DRAW="afterdraw",te.BEFORE_RENDER="beforerender",te.AFTER_RENDER="afterrender",te.BEFORE_ANIMATE="beforeanimate",te.AFTER_ANIMATE="afteranimate",te.BEFORE_LAYOUT="beforelayout",te.AFTER_LAYOUT="afterlayout",te.BEFORE_STAGE_LAYOUT="beforestagelayout",te.AFTER_STAGE_LAYOUT="afterstagelayout",te.BEFORE_TRANSFORM="beforetransform",te.AFTER_TRANSFORM="aftertransform",te.BATCH_START="batchstart",te.BATCH_END="batchend",te.BEFORE_DESTROY="beforedestroy",te.AFTER_DESTROY="afterdestroy",te.BEFORE_RENDERER_CHANGE="beforerendererchange",te.AFTER_RENDERER_CHANGE="afterrendererchange"})(mt||(mt={}));var Jt;(function(te){te.UNDO="undo",te.REDO="redo",te.CANCEL="cancel",te.ADD="add",te.CLEAR="clear",te.CHANGE="change"})(Jt||(Jt={}));var Qt;(function(te){te.CLICK="node:click",te.DBLCLICK="node:dblclick",te.POINTER_OVER="node:pointerover",te.POINTER_LEAVE="node:pointerleave",te.POINTER_ENTER="node:pointerenter",te.POINTER_MOVE="node:pointermove",te.POINTER_OUT="node:pointerout",te.POINTER_DOWN="node:pointerdown",te.POINTER_UP="node:pointerup",te.CONTEXT_MENU="node:contextmenu",te.DRAG_START="node:dragstart",te.DRAG="node:drag",te.DRAG_END="node:dragend",te.DRAG_ENTER="node:dragenter",te.DRAG_OVER="node:dragover",te.DRAG_LEAVE="node:dragleave",te.DROP="node:drop"})(Qt||(Qt={}));const $t="combo",Ft="tree";var Gt;(function(te){te.NODE="node",te.EDGE="edge",te.COMBO="combo",te.THEME="theme",te.PALETTE="palette",te.LAYOUT="layout",te.BEHAVIOR="behavior",te.PLUGIN="plugin",te.ANIMATION="animation",te.TRANSFORM="transform",te.SHAPE="shape"})(Gt||(Gt={}));const Je={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function Sn(te,b){var x;const E=(x=Je[te])===null||x===void 0?void 0:x[b];if(E)return E}function _n(te){return EXTENSION_REGISTRY[te]}const Cn="5.0.51",Vt="G6";function pn(te){return`[${Vt} v${Cn}] ${te}`}const et={mute:!1,debug:te=>{!et.mute&&console.debug(pn(te))},info:te=>{!et.mute&&console.info(pn(te))},warn:te=>{!et.mute&&console.warn(pn(te))},error:te=>{!et.mute&&console.error(pn(te))}};function tn(te){const{theme:b}=te;if(!b)return{};const x=Sn(Gt.THEME,b);return x||(et.warn(`The theme of ${b} is not registered.`),{})}function Ct(te,b){if(Array.isArray(te)&&te.length===0)return null;const x=Array.isArray(te)?te[0]:te,E=Array.isArray(te)?te.slice(1):b||[];return new Proxy(x,{get(ne,re){return typeof ne[re]=="function"&&!["onframe","onfinish"].includes(re)?(...oe)=>{ne[re](...oe),E.forEach(ue=>{var fe;return(fe=ue[re])===null||fe===void 0?void 0:fe.call(ue,...oe)})}:re==="finished"?Promise.all([x.finished,...E.map(oe=>oe.finished)]):Reflect.get(ne,re)},set(ne,re,oe){return["onframe","onfinish"].includes(re)||E.forEach(ue=>{ue[re]=oe}),Reflect.set(ne,re,oe)}})}function Ln(te){const b=te.reduce((E,ne)=>(Object.entries(ne).forEach(([re,oe])=>{E[re]===void 0?E[re]=[oe]:E[re].push(oe)}),E),{});Object.entries(b).forEach(([E,ne])=>{(ne.length!==te.length||ne.some(re=>(0,Rt.Z)(re))||ne.every(re=>!["sourceNode","targetNode","childrenNode"].includes(E)&&(0,Dt.Z)(re,ne[0])))&&delete b[E]});const x=Object.entries(b).reduce((E,[ne,re])=>(re.forEach((oe,ue)=>{E[ue]?E[ue][ne]=oe:E[ue]={[ne]:oe}}),E),[]);return te.length!==0&&x.length===0&&x.push({_:0},{_:0}),x}function Mn(te){switch(te){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 bn(te,b){const{animation:x}=te;if(x===!1||b===!1)return!1;const E=Object.assign({},Le);return(0,dt.Z)(x)&&Object.assign(E,x),(0,dt.Z)(b)&&Object.assign(E,b),E}function Dr(te){if(typeof te=="string"){const b=Sn(Gt.ANIMATION,te);return b||(et.warn(`The animation of ${te} is not registered.`),[])}return te}function oi(te,b,x,E){var ne,re;const{animation:oe}=te;if(oe===!1||E===!1)return[];const ue=(ne=te==null?void 0:te[b])===null||ne===void 0?void 0:ne.animation;if(ue===!1)return[];const fe=ue==null?void 0:ue[x];if(fe===!1)return[];const ge=(re=tn(te)[b])===null||re===void 0?void 0:re.animation,ye=(Te=[])=>Dr(Te).map(Ve=>Object.assign(Object.assign(Object.assign(Object.assign({},Xe),(0,dt.Z)(oe)&&oe),Ve),(0,dt.Z)(E)&&E));if(fe)return ye(fe);if(!ge)return[];const De=ge[x];return De===!1?[]:ye(De)}var yt=he(1933);function tt(te,b,x,E=[]){if(!E&&te===0&&b===0&&x===0)return null;if(Array.isArray(E)){let re=-1;const oe=[];for(let ue=0;ue{if(!x.length)return null;const[E,ne]=b,re=ge=>{var ye;if(ge){const De=te.getShape(ge);if(!De)return null;const Te=`get${(0,Bt.Z)(ge)}Style`,Ve=((ye=te==null?void 0:te[Te])===null||ye===void 0?void 0:ye.bind(te))||(Mt=>Mt),rt=(Ve==null?void 0:Ve(E))||{},At=(Ve==null?void 0:Ve(ne))||{};return{shape:De,fromStyle:rt,toStyle:At}}else return{shape:te,fromStyle:E,toStyle:ne}};let oe;const ue=x.map(ge=>{var{fields:ye,shape:De,states:Te}=ge,Ve=Rn(ge,["fields","shape","states"]);const rt=re(De);if(!rt)return null;const{shape:At,fromStyle:Mt,toStyle:Ut}=rt,en=[{},{}];if(ye.forEach(rr=>{var mi,ei;Object.assign(en[0],{[rr]:(mi=Mt[rr])!==null&&mi!==void 0?mi:Mn(rr)}),Object.assign(en[1],{[rr]:(ei=Ut[rr])!==null&&ei!==void 0?ei:Mn(rr)})}),en.some(rr=>Object.keys(rr).some(mi=>["x","y","z"].includes(mi)))){const{x:rr=0,y:mi=0,z:ei,transform:Ri=""}=At.attributes||{};en.forEach(Yr=>{var Va,ks,pl;Yr.transform=tt((Va=Yr.x)!==null&&Va!==void 0?Va:rr,(ks=Yr.y)!==null&&ks!==void 0?ks:mi,(pl=Yr.z)!==null&&pl!==void 0?pl:ei,Ri)})}const hn=At.animate(Ln(en),Ve);return De===void 0&&(oe=hn),hn}).filter(Boolean),fe=oe||(ue==null?void 0:ue[0]);return fe?Ct(fe,ue.filter(ge=>ge!==ge)):null},li=[{fields:["opacity"]}],In=[{fields:["x","y"]}],an=[{fields:["x","y"]}],Xr=an,Or=[{fields:["sourceNode","targetNode"]}],zn=Or,Qn=[{fields:["childrenNode","x","y"]}],Jn=Qn,qn=[{fields:["childrenNode","x","y"]}];var On=he(71018),qe=he(15610),Ie=he(62199),Ce=he(37547);function He(te){return"source"in te&&"target"in te}function it(te){return te.length===2}function we(te){return te.length===3}function Xt(te){return te instanceof Float32Array?!0:Array.isArray(te)&&(te.length===2||te.length===3)?te.every(b=>typeof b=="number"):!1}function wn(te,b,x){return te>=b&&te<=x}function Lt(te=0){if(Array.isArray(te)){const[b=0,x=b,E=b,ne=x]=te;return[b,x,E,ne]}return[te,te,te,te]}function Zt(te=0){const b=Lt(te);return b[0]+b[2]}function or(te=0){const b=Lt(te);return b[1]+b[3]}function Xn(te){return te.max[0]-te.min[0]}function dn(te){return te.max[1]-te.min[1]}function kr(te){return[Xn(te),dn(te)]}function vi(te,b){const x=Xt(te)?Un(te):te.getShape("key").getBounds();return b?Pr(x,b):x}function Un(te){const[b,x,E=0]=te,ne=new je.mN;return ne.setMinMax([b,x,E],[b,x,E]),ne}function Pr(te,b){const[x,E,ne,re]=Lt(b),[oe,ue,fe]=te.min,[ge,ye,De]=te.max,Te=new je.mN;return Te.setMinMax([oe-re,ue-x,fe],[ge+E,ye+ne,De]),Te}function Ii(te){if(te.length===0)return new je.mN;if(te.length===1)return te[0];const b=new je.mN;b.setMinMax(te[0].min,te[0].max);for(let x=1;x=oe&&ne<=fe&&E>=ue&&re<=ge}function qt(te,b){return wn(te[0],b.min[0],b.max[0])&&wn(te[1],b.min[1],b.max[1])}function gn(te,b,x=!1){const{min:[E,ne],max:[re,oe]}=b,ue=(te[1]===ne||te[1]===oe)&&(x||wn(te[0],E,re)),fe=(te[0]===E||te[0]===re)&&(x||wn(te[1],ne,oe));return ue||fe}function gr(te,b){return!qt(te,b)}function mr(te,b){const{center:x}=b;return te[0]===x[0]&&te[1]===x[1]}function xi(te,b){const[x,E]=te,[ne,re]=b.min,[oe,ue]=b.max,fe=x-ne,ge=oe-x,ye=E-re,De=ue-E,Te=Math.min(fe,ge,ye,De);return Te===fe?"left":Te===ge?"right":Te===ye?"top":Te===De?"bottom":"left"}function Ui(te,b){const x=(0,Ce.Z)(te);if(qt(te,b))switch(xi(te,b)){case"left":x[0]=b.min[0];break;case"right":x[0]=b.max[0];break;case"top":x[1]=b.min[1];break;case"bottom":x[1]=b.max[1];break}else{const[E,ne]=te,[re,oe]=b.min,[ue,fe]=b.max;x[0]=wn(E,re,ue)?E:E{var E;switch(x.type){case"degree":{const ne=new Map;return(E=te.nodes)===null||E===void 0||E.forEach(re=>{const oe=b(kn(re),x.direction).length;ne.set(kn(re),oe)}),ne}case"betweenness":return lo(te,x.directed,x.weightPropertyName);case"closeness":return Qr(te,x.directed,x.weightPropertyName);case"eigenvector":return ri(te,x.directed);case"pagerank":return ir(te,x.epsilon,x.linkProb);default:return eo(te)}},eo=te=>{var b;const x=new Map;return(b=te.nodes)===null||b===void 0||b.forEach(E=>{x.set(kn(E),0)}),x},lo=(te,b,x)=>{const E=eo(te),{nodes:ne=[]}=te;return ne.forEach(re=>{ne.forEach(oe=>{if(re!==oe){const{allPath:ue}=(0,co.ni)(te,kn(re),kn(oe),b,x),fe=ue.length;ue.flat().forEach(ge=>{ge!==kn(re)&&ge!==kn(oe)&&E.set(ge,E.get(ge)+1/fe)})}})}),E},Qr=(te,b,x)=>{const E=new Map,{nodes:ne=[]}=te;return ne.forEach(re=>{const oe=ne.reduce((ue,fe)=>{if(re!==fe){const{length:ge}=(0,co.ni)(te,kn(re),kn(fe),b,x);ue+=ge}return ue},0);E.set(kn(re),1/oe)}),E},ir=(te,b,x)=>{var E;const ne=new Map,re=(0,co.EF)(te,b,x);return(E=te.nodes)===null||E===void 0||E.forEach(oe=>{ne.set(kn(oe),re[kn(oe)])}),ne},ri=(te,b)=>{const{nodes:x=[]}=te,E=ua(te,b),ne=un(E,x.length),re=new Map;return x.forEach((oe,ue)=>{re.set(kn(oe),ne[ue])}),re},ua=(te,b)=>{const{nodes:x=[],edges:E=[]}=te,ne=Array(x.length).fill(null).map(()=>Array(x.length).fill(0));return E.forEach(({source:re,target:oe})=>{const ue=x.findIndex(ge=>kn(ge)===re),fe=x.findIndex(ge=>kn(ge)===oe);b?ne[ue][fe]=1:(ne[ue][fe]=1,ne[fe][ue]=1)}),ne},un=(te,b,x=100,E=1e-6)=>{let ne=Array(b).fill(1),re=1/0;for(let oe=0;oeE;oe++){const ue=Array(b).fill(0);for(let ge=0;gege+ye*ye,0));for(let ge=0;gege+(ye-ne[De])*ye,0)),ne=ue}return ne};function lr(te,b,x,E=Dt.Z){const ne=new Map(te.map(Te=>[x(Te),Te])),re=new Map(b.map(Te=>[x(Te),Te])),oe=new Set(ne.keys()),ue=new Set(re.keys()),fe=[],ge=[],ye=[],De=[];return ue.forEach(Te=>{oe.has(Te)?E(ne.get(Te),re.get(Te))?De.push(re.get(Te)):ge.push(re.get(Te)):fe.push(re.get(Te))}),oe.forEach(Te=>{ue.has(Te)||ye.push(ne.get(Te))}),{enter:fe,exit:ye,keep:De,update:ge}}function Hr(te,b,x){const E=ne=>{x&&!x(ne)||(ne.style.visibility=b)};te.forEach(ne=>{E(ne)})}function hr(te,b,x){const E={},ne=re=>(re in E||(E[re]=0),`${b}-${re}-${E[re]++}`);return x.map(re=>typeof re=="string"?{type:re,key:ne(re)}:typeof re=="function"?re.call(te):re.key?re:Object.assign(Object.assign({},re),{key:ne(re.type)}))}class Vr{constructor(b){this.extensions=[],this.extensionMap={},this.context=b}setExtensions(b){const x=hr(this.context.graph,this.category,b),{enter:E,update:ne,exit:re,keep:oe}=lr(this.extensions,x,ue=>ue.key);this.createExtensions(E),this.updateExtensions([...ne,...oe]),this.destroyExtensions(re),this.extensions=x}createExtension(b){const{category:x}=this,{key:E,type:ne}=b,re=Sn(x,ne);if(!re)return et.warn(`The extension ${ne} of ${x} is not registered.`);const oe=new re(this.context,b);oe.initialized=!0,this.extensionMap[E]=oe}createExtensions(b){b.forEach(x=>this.createExtension(x))}updateExtension(b){const{key:x}=b,E=this.extensionMap[x];E&&E.update(b)}updateExtensions(b){b.forEach(x=>this.updateExtension(x))}destroyExtension(b){const x=this.extensionMap[b];x&&(x.initialized&&!x.destroyed&&x.destroy(),delete this.extensionMap[b])}destroyExtensions(b){b.forEach(({key:x})=>this.destroyExtension(x))}destroy(){this.destroyExtensions(this.extensions),this.context={},this.extensions=[],this.extensionMap={}}}class Rr{constructor(b,x){this.events=[],this.initialized=!1,this.destroyed=!1,this.context=b,this.options=x}update(b){this.options=Object.assign(this.options,b)}destroy(){this.context={},this.options={},this.destroyed=!0}}class qr extends Rr{}class Zi extends qr{constructor(b,x){super(b,Object.assign({},Zi.defaultOptions,x)),this.isOverlapping=(E,ne)=>ne.some(re=>E.intersects(re)),this.occupiedBounds=[],this.detectLabelCollision=E=>{const ne=this.context.viewport,re={show:[],hide:[]};return this.occupiedBounds=[],E.forEach(oe=>{const ue=oe.getShape("label").getRenderBounds();ne.isInViewport(ue,!0)&&!this.isOverlapping(ue,this.occupiedBounds)?(re.show.push(oe),this.occupiedBounds.push(Pr(ue,this.options.padding))):re.hide.push(oe)}),re},this.hideLabelIfExceedViewport=(E,ne)=>{const{exit:re}=lr(E,ne,oe=>oe.id);re==null||re.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(E,ne)=>{const{model:re}=this.context,oe=re.getData(),ue=re.getRelatedEdgesData.bind(re);return E.map(ge=>(this.nodeCentralities.has(ge.id)||(this.nodeCentralities=$o(oe,ue,ne)),{node:ge,centrality:this.nodeCentralities.get(ge.id)})).sort((ge,ye)=>ye.centrality-ge.centrality).map(ge=>ge.node)},this.sortLabelElementsInView=E=>{const{sort:ne,sortNode:re,sortCombo:oe,sortEdge:ue}=this.options,{model:fe}=this.context;if((0,On.Z)(ne))return E.sort((At,Mt)=>ne(fe.getElementDataById(At.id),fe.getElementDataById(Mt.id)));const{node:ge=[],edge:ye=[],combo:De=[]}=(0,qe.Z)(E,At=>At.type),Te=(0,On.Z)(oe)?De.sort((At,Mt)=>oe(...fe.getComboData([At.id,Mt.id]))):De,Ve=(0,On.Z)(re)?ge.sort((At,Mt)=>re(...fe.getNodeData([At.id,Mt.id]))):this.sortNodesByCentrality(ge,re),rt=(0,On.Z)(ue)?ye.sort((At,Mt)=>ue(...fe.getEdgeData([At.id,Mt.id]))):ye;return[...Te,...Ve,...rt]},this.labelElementsInView=[],this.isFirstRender=!0,this.onToggleVisibility=E=>{var ne;if(((ne=E.data)===null||ne===void 0?void 0:ne.stage)==="zIndex")return;if(!this.validate(E)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const re=this.isFirstRender?this.getLabelElements():this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,re),this.labelElementsInView=re;const oe=this.sortLabelElementsInView(this.labelElementsInView),{show:ue,hide:fe}=this.detectLabelCollision(oe);for(let ge=ue.length-1;ge>=0;ge--)this.showLabel(ue[ge]);fe.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=E=>{const ne=E.getShape("label");ne&&Hr(ne,"hidden"),this.hiddenElements.set(E.id,E)},this.showLabel=E=>{const ne=E.getShape("label");ne&&Hr(ne,"visible"),E.toFront(),this.hiddenElements.delete(E.id)},this.onTransform=(0,Ie.Z)(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.enableToggle=!0,this.toggle=E=>{this.enableToggle&&this.onToggleVisibility(E)},this.onBeforeRender=()=>{this.enableToggle=!1},this.onAfterRender=E=>{this.onToggleVisibility(E),this.enableToggle=!0},this.bindEvents()}update(b){this.unbindEvents(),super.update(b),this.bindEvents(),this.onToggleVisibility({})}getLabelElements(){const{elementMap:b}=this.context.element,x=[];for(const E in b){const ne=b[E];ne.isVisible()&&ne.getShape("label")&&x.push(ne)}return x}getLabelElementsInView(){const b=this.context.viewport;return this.getLabelElements().filter(x=>b.isInViewport(x.getShape("key").getRenderBounds()))}bindEvents(){const{graph:b}=this.context;b.on(mt.BEFORE_RENDER,this.onBeforeRender),b.on(mt.AFTER_RENDER,this.onAfterRender),b.on(mt.AFTER_DRAW,this.toggle),b.on(mt.AFTER_LAYOUT,this.toggle),b.on(mt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:b}=this.context;b.off(mt.BEFORE_RENDER,this.onBeforeRender),b.off(mt.AFTER_RENDER,this.onAfterRender),b.off(mt.AFTER_DRAW,this.toggle),b.off(mt.AFTER_LAYOUT,this.toggle),b.off(mt.AFTER_TRANSFORM,this.onTransform)}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}destroy(){this.unbindEvents(),super.destroy()}}Zi.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var Wn=he(23343);const st=[0,0,0];function Nt(te,b){return te.map((x,E)=>x+b[E])}function Gn(te,b){return te.map((x,E)=>x-b[E])}function Sr(te,b){return typeof b=="number"?te.map(x=>x*b):te.map((x,E)=>x*b[E])}function yr(te,b){return typeof b=="number"?te.map(x=>x/b):te.map((x,E)=>x/b[E])}function ci(te,b){return te.reduce((x,E,ne)=>x+E*b[ne],0)}function ai(te,b){const x=Er(te),E=Er(b);return[x[1]*E[2]-x[2]*E[1],x[2]*E[0]-x[0]*E[2],x[0]*E[1]-x[1]*E[0]]}function Ur(te,b){return te.map(x=>x*b)}function zr(te,b){return Math.sqrt(te.reduce((x,E,ne)=>x+Math.pow(E-b[ne]||0,2),0))}function ta(te,b){return te.reduce((x,E,ne)=>x+Math.abs(E-b[ne]),0)}function qa(te){const b=te.reduce((x,E)=>x+Math.pow(E,2),0);return te.map(x=>x/Math.sqrt(b))}function pi(te,b,x=!1){const E=te[0]*b[1]-te[1]*b[0];let ne=Math.acos(Sr(te,b).reduce((re,oe)=>re+oe,0)/(zr(te,st)*zr(b,st)));return x&&E<0&&(ne=2*Math.PI-ne),ne}function Mr(te,b){return te.every((x,E)=>x===b[E])}function sr(te,b=!0){return b?[-te[1],te[0]]:[te[1],-te[0]]}function xn(te,b){return te.map(x=>x%b)}function er(te){return[te[0],te[1]]}function Er(te){return it(te)?[te[0],te[1],0]:te}function Zr(te){const[b,x]=te;return!b&&!x?0:Math.atan2(x,b)}function ti(te,b){const[x,E]=te;if(b%360===0)return[x,E];const ne=b*Math.PI/180,re=Math.cos(ne),oe=Math.sin(ne);return[x*re-E*oe,x*oe+E*re]}function Nr(te,b){const[x,E]=te,[ne,re]=b,oe=Gn(x,E),ue=Gn(ne,re);return ai(oe,ue).every(fe=>fe===0)}function Bi(te,b,x=!1){if(Nr(te,b))return;const[E,ne]=te,[re,oe]=b,ue=((E[0]-re[0])*(re[1]-oe[1])-(E[1]-re[1])*(re[0]-oe[0]))/((E[0]-ne[0])*(re[1]-oe[1])-(E[1]-ne[1])*(re[0]-oe[0])),fe=oe[0]-re[0]?(E[0]-re[0]+ue*(ne[0]-E[0]))/(oe[0]-re[0]):(E[1]-re[1]+ue*(ne[1]-E[1]))/(oe[1]-re[1]);if(!(!x&&(!wn(ue,0,1)||!wn(fe,0,1))))return[E[0]+ue*(ne[0]-E[0]),E[1]+ue*(ne[1]-E[1])]}function Zn(te){if(Array.isArray(te))return wn(te[0],0,1)&&wn(te[1],0,1)?te:[.5,.5];const b=te.split("-"),x=b.includes("left")?0:b.includes("right")?1:.5,E=b.includes("top")?0:b.includes("bottom")?1:.5;return[x,E]}function Di(te){const{x:b=0,y:x=0,z:E=0}=te.style||{};return[+b,+x,+E]}function da(te){const{x:b,y:x,z:E}=te.style||{};return b!==void 0||x!==void 0||E!==void 0}function ha(te,b){const[x,E]=b,{min:ne,max:re}=te;return[ne[0]+x*(re[0]-ne[0]),ne[1]+E*(re[1]-ne[1])]}function na(te,b="center"){const x=Zn(b);return ha(te,x)}function Qa(te,b){const x=parseAnchor(b);return ha(te,x)}const Ao=te=>{const[b,x]=te;return{left:Math.min(b[0],x[0]),right:Math.max(b[0],x[0]),top:Math.min(b[1],x[1]),bottom:Math.max(b[1],x[1])}};function Da(te){var b;return[te.x,te.y,(b=te.z)!==null&&b!==void 0?b:0]}function Ma(te){var b;return{x:te[0],y:te[1],z:(b=te[2])!==null&&b!==void 0?b:0}}function es(te){return te.sort((b,x)=>b[0]-x[0]||b[1]-x[1])}function Fo(te){const b=new Set;return te.filter(x=>{const E=x.join(",");return b.has(E)?!1:(b.add(E),!0)})}function Ls(te,b=0){return te.map(x=>parseFloat(x.toFixed(b)))}function _a(te,b,x,E=!1){if((0,Dt.Z)(te,b))return te;const ne=E?Gn(te,b):Gn(b,te),re=qa(ne),oe=[re[0]*x,re[1]*x];return Nt(er(te),oe)}function $s(te,b){return te[1]===b[1]}function sa(te,b){return te[0]===b[0]}function Os(te,b){return $s(te,b)||sa(te,b)}function Us(te,b,x){return Nr([te,b],[b,x])}function Ns(te,b){return[2*b[0]-te[0],2*b[1]-te[1]]}function xs(te,b,x,E=!0,ne=!1){for(let re=0;rere!=Ve>re&&ne<(Te-ye)*(re-De)/(Ve-De)+ye&&(oe=!oe)}return oe}function Bs(te,b,x=!1){const E=na(b,"center"),ne=[na(b,"left-top"),na(b,"right-top"),na(b,"right-bottom"),na(b,"left-bottom")];return xs(te,E,ne,!1,x).point}function Ho(te,b,x=!1){const E=b.center,ne=x?Ns(te,E):te,re=Gn(ne,b.center),oe=Math.atan2(re[1],re[0]);if(isNaN(oe))return E;const ue=Xn(b)/2,fe=dn(b)/2,ge=E[0]+ue*Math.cos(oe),ye=E[1]+fe*Math.sin(oe);return[ge,ye]}function ll(te,b){let x=1/0,E=[te[0],b[0]];return te.forEach(ne=>{b.forEach(re=>{const oe=zr(ne,re);oe{const re=Rs(te,ne);re1?ye=1:ye<0&&(ye=0);const De=x+ye*fe,Te=E+ye*ge;return[De,Te]}function za(te){const b=te.reduce((x,E)=>Nt(x,E),[0,0]);return yr(b,te.length)}function ls(te,b=!0){const x=za(te);return te.sort(([E,ne],[re,oe])=>{const ue=Math.atan2(ne-x[1],E-x[0]),fe=Math.atan2(oe-x[1],re-x[0]);return b?fe-ue:ue-fe})}function vs(te,b){return[te,[te[0],b[1]],b,[b[0],te[1]]]}var Ms=he(71879);class Ts{constructor(b,x,E){if(this.phase=x,this.pointerByTouch=[],this.initialDistance=null,this.emitter=b,Ts.instance)return Ts.callbacks[this.phase].push(E),Ts.instance;this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.bindEvents(),Ts.instance=this,Ts.callbacks[this.phase].push(E)}bindEvents(){const{emitter:b}=this;b.on(Ye.POINTER_DOWN,this.onPointerDown),b.on(Ye.POINTER_MOVE,this.onPointerMove),b.on(Ye.POINTER_UP,this.onPointerUp)}updatePointerPosition(b,x,E){const ne=this.pointerByTouch.findIndex(re=>re.pointerId===b);ne>=0&&(this.pointerByTouch[ne]={x,y:E,pointerId:b})}onPointerDown(b){const{x,y:E}=b.client||{};if(!(x===void 0||E===void 0)&&(this.pointerByTouch.push({x,y:E,pointerId:b.pointerId}),b.pointerType==="touch"&&this.pointerByTouch.length===2)){Ts.isPinching=!0;const ne=this.pointerByTouch[0].x-this.pointerByTouch[1].x,re=this.pointerByTouch[0].y-this.pointerByTouch[1].y;this.initialDistance=Math.sqrt(ne*ne+re*re),Ts.callbacks.pinchstart.forEach(oe=>oe(b,{scale:0}))}}onPointerMove(b){if(this.pointerByTouch.length!==2||this.initialDistance===null)return;const{x,y:E}=b.client||{};if(x===void 0||E===void 0)return;this.updatePointerPosition(b.pointerId,x,E);const ne=this.pointerByTouch[0].x-this.pointerByTouch[1].x,re=this.pointerByTouch[0].y-this.pointerByTouch[1].y,ue=Math.sqrt(ne*ne+re*re)/this.initialDistance;Ts.callbacks.pinchmove.forEach(fe=>fe(b,{scale:(ue-1)*5}))}onPointerUp(b){var x;Ts.callbacks.pinchend.forEach(E=>E(b,{scale:0})),Ts.isPinching=!1,this.initialDistance=null,this.pointerByTouch=[],(x=Ts.instance)===null||x===void 0||x.tryDestroy()}destroy(){this.emitter.off(Ye.POINTER_DOWN,this.onPointerDown),this.emitter.off(Ye.POINTER_MOVE,this.onPointerMove),this.emitter.off(Ye.POINTER_UP,this.onPointerUp),Ts.instance=null}off(b,x){const E=Ts.callbacks[b].indexOf(x);E>-1&&Ts.callbacks[b].splice(E,1),this.tryDestroy()}tryDestroy(){Object.values(Ts.callbacks).every(b=>b.length===0)&&this.destroy()}}Ts.isPinching=!1,Ts.instance=null,Ts.callbacks={pinchstart:[],pinchmove:[],pinchend:[]};const ul=te=>te.map(b=>(0,Ms.Z)(b)?b.toLocaleLowerCase():b);class Na{constructor(b){this.map=new Map,this.boundHandlePinch=()=>{},this.recordKey=new Set,this.onKeyDown=x=>{x!=null&&x.key&&(this.recordKey.add(x.key),this.trigger(x))},this.onKeyUp=x=>{x!=null&&x.key&&this.recordKey.delete(x.key)},this.onWheel=x=>{this.triggerExtendKey(Ye.WHEEL,x)},this.onDrag=x=>{this.triggerExtendKey(Ye.DRAG,x)},this.handlePinch=(x,E)=>{this.triggerExtendKey(Ye.PINCH,Object.assign(Object.assign({},x),E))},this.onFocus=()=>{this.recordKey.clear()},this.emitter=b,this.bindEvents()}bind(b,x){b.length!==0&&(b.includes(Ye.PINCH)&&!this.pinchHandler&&(this.boundHandlePinch=this.handlePinch.bind(this),this.pinchHandler=new Ts(this.emitter,"pinchmove",this.boundHandlePinch)),this.map.set(b,x))}unbind(b,x){this.map.forEach((E,ne)=>{(0,Dt.Z)(ne,b)&&(!x||x===E)&&this.map.delete(ne)})}unbindAll(){this.map.clear()}match(b){const x=ul(Array.from(this.recordKey)).sort(),E=ul(b).sort();return(0,Dt.Z)(x,E)}bindEvents(){var b;const{emitter:x}=this;x.on(Ye.KEY_DOWN,this.onKeyDown),x.on(Ye.KEY_UP,this.onKeyUp),x.on(Ye.WHEEL,this.onWheel),x.on(Ye.DRAG,this.onDrag),(b=globalThis.addEventListener)===null||b===void 0||b.call(globalThis,"focus",this.onFocus)}trigger(b){this.map.forEach((x,E)=>{this.match(E)&&x(b)})}triggerExtendKey(b,x){this.map.forEach((E,ne)=>{ne.includes(b)&&(0,Dt.Z)(Array.from(this.recordKey),ne.filter(re=>re!==b))&&E(x)})}destroy(){var b,x;this.unbindAll(),this.emitter.off(Ye.KEY_DOWN,this.onKeyDown),this.emitter.off(Ye.KEY_UP,this.onKeyUp),this.emitter.off(Ye.WHEEL,this.onWheel),this.emitter.off(Ye.DRAG,this.onDrag),(b=this.pinchHandler)===null||b===void 0||b.off("pinchmove",this.boundHandlePinch),(x=globalThis.removeEventListener)===null||x===void 0||x.call(globalThis,"focus",this.onFocus)}}class $a extends qr{constructor(b,x){super(b,(0,Wn.Z)({},$a.defaultOptions,x)),this.shortcut=new Na(b.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(b){if(!this.validate(b)||!this.isKeydown()||this.startPoint)return;const{canvas:x,graph:E}=this.context,ne=Object.assign({},this.options.style);this.options.style.lineWidth&&(ne.lineWidth=+this.options.style.lineWidth/E.getZoom()),this.rectShape=new je.UL({id:"g6-brush-select",style:ne}),x.appendChild(this.rectShape),this.startPoint=[b.canvas.x,b.canvas.y]}onPointerMove(b){var x;if(!this.startPoint)return;const{immediately:E,mode:ne}=this.options;this.endPoint=gl(b,this.context.graph),(x=this.rectShape)===null||x===void 0||x.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])}),E&&ne==="default"&&this.updateElementsStates(vs(this.startPoint,this.endPoint))}onPointerUp(b){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=gl(b,this.context.graph),this.updateElementsStates(vs(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:b}=this.context,x=Object.values(b.getData()).reduce((E,ne)=>Object.assign({},E,ne.reduce((re,oe)=>{var ue;const fe=(ue=oe.states||[])===null||ue===void 0?void 0:ue.filter(ge=>ge!==this.options.state);return re[kn(oe)]=fe,re},{})),{});b.setElementState(x,this.options.animation)}updateElementsStates(b){const{graph:x}=this.context,{enableElements:E,state:ne,mode:re,onSelect:oe}=this.options,ue=this.selector(x,b,E),fe={};switch(re){case"union":ue.forEach(ge=>{fe[ge]=[...x.getElementState(ge),ne]});break;case"diff":ue.forEach(ge=>{const ye=x.getElementState(ge);fe[ge]=ye.includes(ne)?ye.filter(De=>De!==ne):[...ye,ne]});break;case"intersect":ue.forEach(ge=>{const ye=x.getElementState(ge);fe[ge]=ye.includes(ne)?[ne]:[]});break;case"default":default:ue.forEach(ge=>{fe[ge]=[ne]});break}(0,On.Z)(oe)&&oe(fe),x.setElementState(fe,this.options.animation)}selector(b,x,E){if(!E||E.length===0)return[];const ne=[],re=b.getData();if(E.forEach(oe=>{re[`${oe}s`].forEach(ue=>{const fe=kn(ue);b.getElementVisibility(fe)!=="hidden"&&Al(b.getElementPosition(fe),x)&&ne.push(fe)})}),E.includes("edge")){const oe=re.edges;oe==null||oe.forEach(ue=>{const{source:fe,target:ge}=ue;ne.includes(fe)&&ne.includes(ge)&&ne.push(kn(ue))})}return ne}clearBrush(){var b;(b=this.rectShape)===null||b===void 0||b.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:b}=this.options,x=Array.isArray(b)?b:[b];return this.shortcut.match(x.filter(E=>E!=="drag"))}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}bindEvents(){const{graph:b}=this.context;b.on(Ye.POINTER_DOWN,this.onPointerDown),b.on(Ye.POINTER_MOVE,this.onPointerMove),b.on(Ye.POINTER_UP,this.onPointerUp),b.on(wt.CLICK,this.clearStates)}unbindEvents(){const{graph:b}=this.context;b.off(Ye.POINTER_DOWN,this.onPointerDown),b.off(Ye.POINTER_MOVE,this.onPointerMove),b.off(Ye.POINTER_UP,this.onPointerUp),b.off(wt.CLICK,this.clearStates)}update(b){this.unbindEvents(),this.options=(0,Wn.Z)(this.options,b),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}$a.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 gl=(te,b)=>{if((te.targetType==="node"||te.targetType==="combo")&&!(te.nativeEvent.target instanceof HTMLCanvasElement)){const[x,E]=b.getCanvasByClient([te.client.x,te.client.y]);return[x,E]}return[te.canvas.x,te.canvas.y]},zs=.8,Xu=["node","edge","combo"];function Su(te,b,x,E,ne=0){E==="TB"&&b(te,ne);const re=x(te);if(re)for(const oe of re)Su(oe,b,x,E,ne+1);E==="BT"&&b(te,ne)}function cc(te,b,x){const E=[[te,0]];for(;E.length;){const[ne,re]=E.shift();b(ne,re);const oe=x(ne);if(oe)for(const ue of oe)E.push([ue,re+1])}}function Ru(te,b,x,E,ne="both"){if(b==="combo"||b==="node")return hu(te,x,E,ne);const re=te.getEdgeData(x);if(!re)return[];const oe=hu(te,re.source,E-1,ne),ue=hu(te,re.target,E-1,ne);return Array.from(new Set([...oe,...ue,x]))}function hu(te,b,x,E="both"){const ne=new Set,re=new Set,oe=new Set;return cc(b,(ue,fe)=>{fe>x||(oe.add(ue),te.getRelatedEdgesData(ue,E).forEach(ge=>{const ye=kn(ge);!re.has(ye)&&fete.getRelatedEdgesData(ue,E).map(fe=>fe.source===ue?fe.target:fe.source).filter(fe=>ne.has(fe)?!1:(ne.add(fe),!0))),Array.from(oe)}function zu(te){return te.states||[]}var Mu=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class vc extends qr{constructor(b,x){super(b,Object.assign({},vc.defaultOptions,x)),this.onClickSelect=E=>Mu(this,void 0,void 0,function*(){var ne,re;this.validate(E)&&(yield this.updateState(E),(re=(ne=this.options).onClick)===null||re===void 0||re.call(ne,E))}),this.onClickCanvas=E=>Mu(this,void 0,void 0,function*(){var ne,re;this.validate(E)&&(yield this.clearState(),(re=(ne=this.options).onClick)===null||re===void 0||re.call(ne,E))}),this.shortcut=new Na(b.graph),this.bindEvents()}bindEvents(){const{graph:b}=this.context;this.unbindEvents(),Xu.forEach(x=>{b.on(`${x}:${Ye.CLICK}`,this.onClickSelect)}),b.on(wt.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:b,trigger:x}=this.options;return b&&this.shortcut.match(x)}getNeighborIds(b){const{target:x,targetType:E}=b,{graph:ne}=this.context,{degree:re}=this.options;return Ru(ne,E,x.id,typeof re=="function"?re(b):re).filter(oe=>oe!==x.id)}updateState(b){return Mu(this,void 0,void 0,function*(){const{state:x,unselectedState:E,neighborState:ne,animation:re}=this.options;if(!x&&!ne&&!E)return;const{target:oe}=b,{graph:ue}=this.context,fe=ue.getElementData(oe.id),ge=zu(fe).includes(x)?"unselect":"select",ye={},De=this.isMultipleSelect,Te=[oe.id],Ve=this.getNeighborIds(b);if(De)if(Object.assign(ye,this.getDataStates()),ge==="select"){const rt=(At,Mt)=>{At.forEach(Ut=>{const en=new Set(ue.getElementState(Ut));en.add(Mt),en.delete(E),ye[Ut]=Array.from(en)})};rt(Te,x),rt(Ve,ne),E&&Object.keys(ye).forEach(At=>{const Mt=ye[At];!Mt.includes(x)&&!Mt.includes(ne)&&!Mt.includes(E)&&ye[At].push(E)})}else{const rt=ye[oe.id];ye[oe.id]=rt.filter(At=>At!==x&&At!==ne),rt.includes(E)||ye[oe.id].push(E),Ve.forEach(At=>{ye[At]=ye[At].filter(Mt=>Mt!==ne),ye[At].includes(x)||ye[At].push(E)})}else if(ge==="select"){Object.assign(ye,this.getClearStates(!!E));const rt=(At,Mt)=>{At.forEach(Ut=>{ye[Ut]||(ye[Ut]=ue.getElementState(Ut)),ye[Ut].push(Mt)})};rt(Te,x),rt(Ve,ne),E&&Object.keys(ye).forEach(At=>{!Te.includes(At)&&!Ve.includes(At)&&ye[At].push(E)})}else Object.assign(ye,this.getClearStates());yield ue.setElementState(ye,re)})}getDataStates(){const{graph:b}=this.context,{nodes:x,edges:E,combos:ne}=b.getData(),re={};return[...x,...E,...ne].forEach(oe=>{re[kn(oe)]=zu(oe)}),re}getClearStates(b=!1){const{graph:x}=this.context,{state:E,unselectedState:ne,neighborState:re}=this.options,oe=new Set([E,ne,re]),{nodes:ue,edges:fe,combos:ge}=x.getData(),ye={};return[...ue,...fe,...ge].forEach(De=>{const Te=zu(De),Ve=Te.filter(rt=>!oe.has(rt));(b||Ve.length!==Te.length)&&(ye[kn(De)]=Ve)}),ye}clearState(){return Mu(this,void 0,void 0,function*(){const{graph:b}=this.context;yield b.setElementState(this.getClearStates(),this.options.animation)})}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}unbindEvents(){const{graph:b}=this.context;Xu.forEach(x=>{b.off(`${x}:${Ye.CLICK}`,this.onClickSelect)}),b.off(wt.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}vc.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function yu(te){var b;return!!(!((b=te.style)===null||b===void 0)&&b.collapsed)}var to=he(5759),uo=he(37004),no=he(45642);function yn(te,b){if(!te.startsWith(b))return!1;const x=te[b.length];return x>="A"&&x<="Z"}function ps(te,b){return`${b}${(0,Bt.Z)(te)}`}function al(te,b,x=!0){if(!b||!yn(te,b))return te;const E=te.slice(b.length);return x?(0,no.Z)(E):E}function Vs(te,b){const x=Object.entries(te).reduce((E,[ne,re])=>(ne==="className"||ne==="class"||yn(ne,b)&&Object.assign(E,{[al(ne,b)]:re}),E),{});if("opacity"in te){const E=ps("opacity",b),ne=te.opacity;if(E in te){const re=te[E];Object.assign(x,{opacity:ne*re})}else Object.assign(x,{opacity:ne})}return x}function $l(te,b){const x=b.length;return Object.keys(te).reduce((E,ne)=>{if(ne.startsWith(b)){const re=ne.slice(x);E[re]=te[ne]}return E},{})}function eu(te,b){const x=typeof b=="string"?[b]:b,E={};return Object.keys(te).forEach(ne=>{x.find(re=>ne.startsWith(re))||(E[ne]=te[ne])}),E}function vu(te,b,x){return Object.entries(te).reduce((E,[ne,re])=>(yn(ne,b)?E[ps(al(ne,b,!1),x)]=re:E[ne]=re,E),{})}function ku(te=0){if(typeof te=="number")return[te,te,te];const[b,x=b,E=b]=te;return[b,x,E]}var Lu=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);netypeof re=="function"?[ne,re.call(E,x)]:[ne,re]))}function fo(te,b){const x=(te==null?void 0:te.style)||{},E=(b==null?void 0:b.style)||{};for(const ne in x)ne in E||(E[ne]=x[ne]);return Object.assign({},te,b,{style:E})}function Ql(te){const{x:b,y:x,z:E,class:ne,className:re,transform:oe,transformOrigin:ue,zIndex:fe,visibility:ge}=te;return Lu(te,["x","y","z","class","className","transform","transformOrigin","zIndex","visibility"])}function oc(te,b){const x=ku(te);let E={};return b.text&&!b.fontSize&&(E={fontSize:Math.min(...x)*.5}),b.src&&(!b.width||!b.height)&&(E={width:x[0]*.5,height:x[1]*.5}),E}function us(te){if(te)return typeof te=="string"||typeof te=="function"||Array.isArray(te)?{type:"group",field:b=>b.id,color:te,invert:!1}:te}function Hs(te,b){if(!b)return{};const{type:x,color:E,field:ne,invert:re}=b,oe=fe=>{const ge=typeof E=="string"?Sn("palette",E):E;if(typeof ge=="function"){const ye={};return fe.forEach(([De,Te])=>{ye[De]=ge(re?1-Te:Te)}),ye}else if(Array.isArray(ge)){const ye=re?[...ge].reverse():ge,De={};return fe.forEach(([Te,Ve])=>{De[Te]=ye[Ve%ge.length]}),De}return{}},ue=(fe,ge)=>{var ye;return typeof fe=="string"?(ye=ge.data)===null||ye===void 0?void 0:ye[fe]:fe==null?void 0:fe(ge)};if(x==="group"){const fe=(0,qe.Z)(te,Te=>{if(!ne)return"default";const Ve=ue(ne,Te);return Ve?String(Ve):"default"}),ge=Object.keys(fe),ye=oe(ge.map((Te,Ve)=>[Te,Ve])),De={};return Object.entries(fe).forEach(([Te,Ve])=>{Ve.forEach(rt=>{De[kn(rt)]=ye[Te]})}),De}else if(x==="value"){const[fe,ge]=te.reduce(([De,Te],Ve)=>{const rt=ue(ne,Ve);if(typeof rt!="number")throw new Error(pn(`Palette field ${ne} is not a number`));return[Math.min(De,rt),Math.max(Te,rt)]},[1/0,-1/0]),ye=ge-fe;return oe(te.map(De=>[De.id,(ue(ne,De)-fe)/ye]))}}function Oo(te){const b=typeof te=="string"?Sn("palette",te):te;if(typeof b!="function")return b}function fn(te,b){let x=2*te;return typeof b=="string"?x=te*Number(b.replace("%",""))/100:typeof b=="number"&&(x=b),isNaN(x)&&(x=2*te),x}function Lr(te,b,x=1,E=!1){const ne=E?x:1,re=(te.max[0]-te.min[0])*ne;return fn(re,b)}function nr(te,b,x=1){const E=zr(te[0],te[1])*x;return fn(E,b)}var Oi=he(42791);class Do extends je.b_{constructor(b){tl(b.style),super(b),this.shapeMap={},this.animateMap={},this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(b,x,E,ne,re){var oe,ue,fe,ge,ye,De,Te,Ve;const rt=this.shapeMap[b];if(E===!1){rt&&((oe=re==null?void 0:re.beforeDestroy)===null||oe===void 0||oe.call(re,rt),ne.removeChild(rt),delete this.shapeMap[b],(ue=re==null?void 0:re.afterDestroy)===null||ue===void 0||ue.call(re,rt));return}const At=typeof x=="string"?Sn(Gt.SHAPE,x):x;if(!At)throw new Error(pn(`Shape ${x} not found`));if(!rt||rt.destroyed||!(rt instanceof At)){rt&&((fe=re==null?void 0:re.beforeDestroy)===null||fe===void 0||fe.call(re,rt),rt==null||rt.destroy(),(ge=re==null?void 0:re.afterDestroy)===null||ge===void 0||ge.call(re,rt)),(ye=re==null?void 0:re.beforeCreate)===null||ye===void 0||ye.call(re);const Mt=new At({className:b,style:E});return ne.appendChild(Mt),this.shapeMap[b]=Mt,(De=re==null?void 0:re.afterCreate)===null||De===void 0||De.call(re,Mt),Mt}return(Te=re==null?void 0:re.beforeUpdate)===null||Te===void 0||Te.call(re,rt),$r(rt,E),(Ve=re==null?void 0:re.afterUpdate)===null||Ve===void 0||Ve.call(re,rt),rt}update(b={}){const x=Object.assign({},this.attributes,b);tl(x),jn(this,x),this.render(x,this),this.setVisibility()}bindEvents(){}getGraphicStyle(b){return Ql(b)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(b,x){if(b.length===0)return null;const E=[];if(b[0].x!==void 0||b[0].y!==void 0||b[0].z!==void 0){const{x:re=0,y:oe=0,z:ue=0}=this.attributes;b.forEach(fe=>{const{x:ge=re,y:ye=oe,z:De=ue}=fe;Object.assign(fe,{transform:De?[["translate3d",ge,ye,De]]:[["translate",ge,ye]]})})}const ne=super.animate(b,x);if(ne&&(cr(this,ne),E.push(ne)),Array.isArray(b)&&b.length>0){const re=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(b[0]).some(oe=>!re.includes(oe))){Object.entries(this.shapeMap).forEach(([ue,fe])=>{const ge=`get${(0,Bt.Z)(ue)}Style`,ye=this[ge];if((0,On.Z)(ye)){const De=b.map(Ve=>ye.call(this,Object.assign(Object.assign({},this.attributes),Ve))),Te=fe.animate(Ln(De),x);Te&&(cr(fe,Te),E.push(Te))}});const oe=(ue,fe)=>{if(!(0,Oi.Z)(ue)){const ge=`get${(0,Bt.Z)(fe)}Style`,ye=this[ge];if((0,On.Z)(ye)){const De=b.map(Te=>ye.call(this,Object.assign(Object.assign({},this.attributes),Te)));Object.entries(De[0]).map(([Te])=>{const Ve=De.map(At=>At[Te]),rt=ue[Te];if(rt){const At=rt.animate(Ln(Ve),x);At&&(cr(rt,At),E.push(At))}})}}};this.compositeShapes.forEach(([ue,fe])=>{const ge=$l(this.shapeMap,fe);oe(ge,ue)})}}return Ct(E)}getShape(b){return this.shapeMap[b]}setVisibility(){const{visibility:b}=this.attributes;Hr(this,b)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function cr(te,b){b==null||b.finished.then(()=>{const x=te.activeAnimations.findIndex(E=>E===b);x>-1&&te.activeAnimations.splice(x,1)})}function tl(te){if(!te)return{};if("x"in te||"y"in te||"z"in te){const{x:b=0,y:x=0,z:E,transform:ne}=te,re=tt(b,x,E,ne);re&&(te.transform=re)}return te}var ka=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{x.push([ne===0?"M":"L",...E])}),b&&x.push(["Z"]),x}const Aa={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 yo(te){const b=te.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),x=[];let E="",ne={};for(;b.length>0;){let re=b.shift();re in Aa?E=re:b.unshift(re),ne={type:E},Aa[E].forEach(fe=>{re=b.shift(),ne[fe]=re}),E==="M"?E="L":E==="m"&&(E="l");const[oe,...ue]=Object.values(ne);x.push([oe,...ue.map(Number)])}return x}function zi(te){const b=[];return(typeof te=="string"?yo(te):te).forEach(E=>{const ne=E[0];if(ne==="Z"){b.push(b[0]);return}if(ne!=="A")for(let re=1;re{if(te.length<2)return[["M",0,0],["L",0,0]];const b=te[0],x=te[1],E=te[te.length-1],ne=te[te.length-2];te.unshift(ne,E),te.push(b,x);const re=[["M",E[0],E[1]]];for(let oe=1;oe{const Mt=rt,Ut=ye[(At+1)%ye.length];return(0,Dt.Z)(Mt,Ut)?null:[Mt,Ut]}).filter(Boolean),Te=el([ue,fe],De),Ve=ui([ue,fe],Te);if(Ve&&Te&&(ge.transform=[["translate",Ve[0]+x,Ve[1]+E]],oe)){const rt=Math.atan((Te[0][1]-Te[1][1])/(Te[0][0]-Te[1][0]));ge.transform.push(["rotate",rt/Math.PI*180]),ge.textAlign="center",(b==="right"||b==="left")&&(rt>0?ge.textBaseline=b==="right"?"bottom":"top":ge.textBaseline=b==="right"?"top":"bottom")}return ge}var js=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{E!=null&&E.children.length&&E.children.forEach(ne=>{b.push(ne),x(ne)})};return x(te),b}function vl(te){const b=[];let x=te.parentNode;for(;x;)b.push(x),x=x.parentNode;return b}class Is extends je.Ee{constructor(b){super(b),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Gl=this,this.isMutationObserved=!0,this.addEventListener(je.Dk.MOUNTED,this.onMounted),this.addEventListener(je.Dk.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:b,clipPath:x,width:E=0,height:ne=0}=this.attributes;if(b&&E&&ne){const[re,oe]=this.getBounds().min,ue={x:re,y:oe,radius:b,width:E,height:ne};if(x)Object.assign(this.parsedStyle.clipPath.style,ue);else{const fe=new je.UL({style:ue});this.style.clipPath=fe}}else x&&(this.style.clipPath=null)}}const fl=new WeakMap;let Gl=null;const Ul=te=>{if(Gl&&vl(Gl).includes(te)){const b=fl.get(te);b?b.includes(Gl)||b.push(Gl):fl.set(te,[Gl])}},Ko=te=>{const b=fl.get(te);b&&b.forEach(x=>x.handleRadius())};class ao extends Do{constructor(b){super(b)}isImage(){const{src:b}=this.attributes;return!!b}getIconStyle(b=this.attributes){const{width:x=0,height:E=0}=b,ne=this.getGraphicStyle(b);return this.isImage()?Object.assign({x:-x/2,y:-E/2},ne):Object.assign({textBaseline:"middle",textAlign:"center"},ne)}render(b=this.attributes,x=this){this.upsert("icon",this.isImage()?Is:je.xv,this.getIconStyle(b),x)}}class Wa extends Do{get context(){return this.config.context}get parsedAttributes(){return this.attributes}onframe(){}animate(b,x){const E=super.animate(b,x);return E&&(E.onframe=()=>this.onframe(),E.finished.then(()=>this.onframe())),E}}var Dl=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{ne[De]=!1}),b.badge===!1||!(!((x=b.badges)===null||x===void 0)&&x.length))return ne;const{badges:re=[],badgePalette:oe,opacity:ue=1}=b,fe=Dl(b,["badges","badgePalette","opacity"]),ge=Oo(oe),ye=Vs(this.getGraphicStyle(fe),"badge");return re.forEach((De,Te)=>{ne[Te]=Object.assign(Object.assign({backgroundFill:ge?ge[Te%(ge==null?void 0:ge.length)]:void 0,opacity:ue},ye),this.getBadgeStyle(De))}),ne}getBadgeStyle(b){const x=this.getShape("key"),{placement:E="top",offsetX:ne,offsetY:re}=b,oe=Dl(b,["placement","offsetX","offsetY"]),ue=nl(x.getLocalBounds(),E,ne,re,!0);return Object.assign(Object.assign({},ue),oe)}getPortsStyle(b){var x;const E=this.getPorts(),ne={};if(Object.keys(E).forEach(ue=>{ne[ue]=!1}),b.port===!1||!(!((x=b.ports)===null||x===void 0)&&x.length))return ne;const re=Vs(this.getGraphicStyle(b),"port"),{ports:oe=[]}=b;return oe.forEach((ue,fe)=>{const ge=ue.key||fe,ye=Object.assign(Object.assign({},re),ue);if(la(ye))ne[ge]=!1;else{const[De,Te]=this.getPortXY(b,ue);ne[ge]=Object.assign({transform:[["translate",De,Te]]},ye)}}),ne}getPortXY(b,x){const{placement:E="left"}=x,ne=this.getShape("key");return Wi(mc(this.context,ne),E)}getPorts(){return $l(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(b,x=!1){const E=this.getShape("key").getBounds();return Bs(b,E,x)}drawHaloShape(b,x){const E=this.getHaloStyle(b),ne=this.getShape("key");this.upsert("halo",ne.constructor,E,x)}drawIconShape(b,x){const E=this.getIconStyle(b);this.upsert("icon",ao,E,x),Ul(this)}drawBadgeShapes(b,x){const E=this.getBadgesStyle(b);Object.keys(E).forEach(ne=>{const re=E[ne];this.upsert(`badge-${ne}`,No,re,x)})}drawPortShapes(b,x){const E=this.getPortsStyle(b);Object.keys(E).forEach(ne=>{const re=E[ne],oe=`port-${ne}`;this.upsert(oe,je.Cd,re,x)})}drawLabelShape(b,x){const E=this.getLabelStyle(b);this.upsert("label",Vi,E,x)}_drawKeyShape(b,x){return this.drawKeyShape(b,x)}render(b=this.parsedAttributes,x=this){this._drawKeyShape(b,x),this.getShape("key")&&(this.drawHaloShape(b,x),this.drawIconShape(b,x),this.drawBadgeShapes(b,x),this.drawLabelShape(b,x),this.drawPortShapes(b,x))}update(b){super.update(b),b&&("x"in b||"y"in b||"z"in b)&&Ko(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}lu.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 mc(te,b){if(!te)return b.getLocalBounds();const x=te.canvas.getLayer(),E=b.cloneNode();Hr(E,"hidden"),x.appendChild(E);const ne=E.getLocalBounds();return E.destroy(),ne}class Ro extends lu{constructor(b){super(fo({style:Ro.defaultStyleProps},b))}drawKeyShape(b,x){return this.upsert("key",je.Cd,this.getKeyStyle(b),x)}getKeyStyle(b){const x=super.getKeyStyle(b);return Object.assign(Object.assign({},x),{r:Math.min(...this.getSize(b))/2})}getIconStyle(b){const x=super.getIconStyle(b),{r:E}=this.getShape("key").attributes,ne=E*2*zs;return x?Object.assign({width:ne,height:ne},x):!1}getIntersectPoint(b,x=!1){const E=this.getShape("key").getBounds();return Ho(b,E,x)}}Ro.defaultStyleProps={size:32};class jl extends lu{constructor(b){super(b)}get parsedAttributes(){return this.attributes}drawKeyShape(b,x){return this.upsert("key",je.mg,this.getKeyStyle(b),x)}getKeyStyle(b){const x=super.getKeyStyle(b);return Object.assign(Object.assign({},x),{points:this.getPoints(b)})}getIntersectPoint(b,x=!1){var E,ne;const{points:re}=this.getShape("key").attributes,oe=[+(((E=this.attributes)===null||E===void 0?void 0:E.x)||0),+(((ne=this.attributes)===null||ne===void 0?void 0:ne.y)||0)];return xs(b,oe,re,!0,x).point}}class Ml extends jl{constructor(b){super(b)}getPoints(b){const[x,E]=this.getSize(b);return Ds(x,E)}}var mu=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne(0,yt.Z)(De)?{value:De}:De),re=Vs(this.getGraphicStyle(b),"donut"),oe=Oo(b.donutPalette);if(!oe)return;const ue=ne.reduce((De,Te)=>{var Ve;return De+((Ve=Te.value)!==null&&Ve!==void 0?Ve:0)},0),fe=this.parseOuterR(),ge=this.parseInnerR();let ye=0;ne.forEach((De,Te)=>{const{value:Ve=0,color:rt=oe[Te%oe.length]}=De,At=mu(De,["value","color"]),Mt=(ue===0?1/ne.length:Ve/ue)*360;this.upsert(`round${Te}`,je.y$,Object.assign(Object.assign(Object.assign({},re),{d:Ai(fe,ge,ye,ye+Mt),fill:rt}),At),x),ye+=Mt})}render(b,x=this){super.render(b,x),this.drawDonutShape(b,x)}}Co.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const Go=(te,b,x,E)=>[te+Math.sin(E)*x,b-Math.cos(E)*x],ou=(te,b,x,E)=>E<=0||x<=E?[["M",te-x,b],["A",x,x,0,1,1,te+x,b],["A",x,x,0,1,1,te-x,b],["Z"]]:[["M",te-x,b],["A",x,x,0,1,1,te+x,b],["A",x,x,0,1,1,te-x,b],["Z"],["M",te+E,b],["A",E,E,0,1,0,te-E,b],["A",E,E,0,1,0,te+E,b],["Z"]],Mc=(te,b,x,E,ne,re)=>{const[oe,ue]=[ne/360*2*Math.PI,re/360*2*Math.PI],fe=[Go(te,b,E,oe),Go(te,b,x,oe),Go(te,b,x,ue),Go(te,b,E,ue)],ge=ue-oe>Math.PI?1:0;return[["M",fe[0][0],fe[0][1]],["L",fe[1][0],fe[1][1]],["A",x,x,0,ge,1,fe[2][0],fe[2][1]],["L",fe[3][0],fe[3][1]],["A",E,E,0,ge,0,fe[0][0],fe[0][1]],["Z"]]},Ai=(te=0,b=0,x,E)=>{const[ne,re]=[0,0];return Math.abs(x-E)%360<1e-6?ou(ne,re,te,b):Mc(ne,re,te,b,x,E)};class tu extends lu{constructor(b){super(fo({style:tu.defaultStyleProps},b))}drawKeyShape(b,x){return this.upsert("key",je.Pj,this.getKeyStyle(b),x)}getKeyStyle(b){const x=super.getKeyStyle(b),[E,ne]=this.getSize(b);return Object.assign(Object.assign({},x),{rx:E/2,ry:ne/2})}getIconStyle(b){const x=super.getIconStyle(b),{rx:E,ry:ne}=this.getShape("key").attributes,re=Math.min(+E,+ne)*2*zs;return x?Object.assign({width:re,height:re},x):!1}getIntersectPoint(b,x=!1){const E=this.getShape("key").getBounds();return Ho(b,E,x)}}tu.defaultStyleProps={size:[45,35]};class Pl extends jl{constructor(b){super(b)}getOuterR(b){return b.outerR||Math.min(...this.getSize(b))/2}getPoints(b){return pe(this.getOuterR(b))}getIconStyle(b){const x=super.getIconStyle(b),E=this.getOuterR(b)*zs;return x?Object.assign({width:E,height:E},x):!1}}var nc=he(94344),Tu=he(84502),$i=he(49527),ol=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const E=this.context.canvas,ne=E.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(x,ne).forEach(oe=>{const ue=this.bootstrapEvent(this.rootPointerEvent,oe,ne,x);(0,uo.Z)(E.context.eventService,"mappingTable.pointerupoutside",[]),E.context.eventService.mapEvent(ue)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[Ye.CLICK,Ye.POINTER_DOWN,Ye.POINTER_MOVE,Ye.POINTER_UP,Ye.POINTER_OVER,Ye.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}render(b=this.parsedAttributes,x=this){this.drawKeyShape(b,x),this.drawPortShapes(b,x)}getKeyStyle(b){const x=(0,Tu.Z)(b,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:E=0,dy:ne=0}=x,re=ol(x,["dx","dy"]),[oe,ue]=this.getSize(b);return Object.assign(Object.assign({x:E,y:ne},re),{width:oe,height:ue})}drawKeyShape(b,x){const E=this.getKeyStyle(b),{x:ne,y:re,width:oe=0,height:ue=0}=E,fe=this.upsert("key-container",je.UL,{x:ne,y:re,width:oe,height:ue,opacity:0},x);return this.upsert("key",je.k9,E,fe)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof nc.Th))return;const E=this.getDomElement();this.events.forEach(ne=>{E.addEventListener(ne,this.forwardEvents)})}attributeChangedCallback(b,x,E){b==="zIndex"&&x!==E&&(this.getDomElement().style.zIndex=E)}destroy(){const b=this.getDomElement();this.events.forEach(x=>{b.removeEventListener(x,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(b,x){const E=[];if(x.isTouchEvent(b))for(let ne=0;nethis.context.element.getElement(oe)).filter(Boolean);if(ne.length===0){const oe=new je.mN,{x:ue=0,y:fe=0,size:ge}=b,[ye,De]=ku(ge);return oe.setMinMax([ue-ye/2,fe-De/2,0],[ue+ye/2,fe+De/2,0]),oe}const re=Ii(ne.map(oe=>oe.getBounds()));return E?Pr(re,E):re}drawCollapsedMarkerShape(b,x){const E=this.getCollapsedMarkerStyle(b);this.upsert("collapsed-marker",ao,E,x),Ul(this)}getCollapsedMarkerStyle(b){if(!b.collapsed||!b.collapsedMarker)return!1;const x=Vs(this.getGraphicStyle(b),"collapsedMarker"),{type:E}=x,ne=Rl(x,["type"]),re=this.getShape("key"),[oe,ue]=na(re.getLocalBounds(),"center"),fe=Object.assign(Object.assign({},ne),{x:oe,y:ue});if(E){const ge=this.getCollapsedMarkerText(E,b);Object.assign(fe,{text:ge})}return fe}getCollapsedMarkerText(b,x){const{childrenData:E=[]}=x,{model:ne}=this.context;return b==="descendant-count"?ne.getDescendantsData(this.id).length.toString():b==="child-count"?E.length.toString():b==="node-count"?ne.getDescendantsData(this.id).filter(re=>ne.getElementType(kn(re))==="node").length.toString():(0,On.Z)(b)?b(E):""}getComboPosition(b){const{x=0,y:E=0,collapsed:ne,childrenData:re=[]}=b;if(re.length===0)return[+x,+E,0];if(ne){const{model:oe}=this.context,ue=oe.getDescendantsData(this.id).filter(fe=>!oe.isCombo(kn(fe)));if(ue.length>0&&ue.some(da)){const fe=ue.reduce((ge,ye)=>Nt(ge,Di(ye)),[0,0,0]);return yr(fe,ue.length)}return[+x,+E,0]}return this.getContentBBox(b).center}getComboStyle(b){const[x,E]=this.getComboPosition(b);return{x,y:E,transform:[["translate",x,E]]}}updateComboPosition(b){const x=this.getComboStyle(b);Object.assign(this.style,x);const{x:E,y:ne}=x;this.context.model.syncNodeLikeDatum({id:this.id,style:{x:E,y:ne}}),Ko(this)}render(b,x=this){super.render(b,x),this.drawCollapsedMarkerShape(b,x)}update(b={}){super.update(b),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(b,x){const E=super.animate(this.attributes.collapsed?b:b.map(ne=>{var{x:re,y:oe,z:ue,transform:fe}=ne,ge=Rl(ne,["x","y","z","transform"]);return ge}),x);return E&&new Proxy(E,{set:(ne,re,oe)=>(re==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(ne,re,oe))})}}Yl.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class Au extends Yl{constructor(b){super(b)}drawKeyShape(b,x){return this.upsert("key",je.Cd,this.getKeyStyle(b),x)}getKeyStyle(b){const{collapsed:x}=b,E=super.getKeyStyle(b),[ne]=this.getKeySize(b);return Object.assign(Object.assign(Object.assign({},E),x&&Vs(E,"collapsed")),{r:ne/2})}getCollapsedKeySize(b){const[x,E]=ku(b.collapsedSize),ne=Math.max(x,E)/2;return[ne*2,ne*2,0]}getExpandedKeySize(b){const x=this.getContentBBox(b),[E,ne]=kr(x),re=Math.sqrt(Math.pow(E,2)+Math.pow(ne,2))/2;return[re*2,re*2,0]}getIntersectPoint(b,x=!1){const E=this.getShape("key").getBounds();return Ho(b,E,x)}}class nu extends Yl{constructor(b){super(b)}drawKeyShape(b,x){return this.upsert("key",je.UL,this.getKeyStyle(b),x)}getKeyStyle(b){const x=super.getKeyStyle(b),[E,ne]=this.getKeySize(b);return Object.assign(Object.assign(Object.assign({},x),b.collapsed&&Vs(x,"collapsed")),{width:E,height:ne,x:-E/2,y:-ne/2})}}var xc=he(47182);const Kc={padding:10};function Dc(te,b,x,E,ne,re){const{padding:oe}=Object.assign(Kc,re),ue=vi(x,oe),fe=vi(E,oe),ge=[te,...ne,b];let ye=null;const De=[];for(let Te=0,Ve=ge.length;Tere?"N":"S":E===re?x>ne?"W":"E":null}function Gu(te,b){return b==="N"||b==="S"?dn(te):Xn(te)}function cl(te,b,x){const E=[te[0],b[1]],ne=[b[0],te[1]],re=fs(te,E),oe=fs(te,ne),ue=x?Jl[x]:null,fe=re===x||re!==ue&&oe!==x?E:ne;return{points:[fe],direction:fs(fe,b)}}function Iu(te,b,x){if(mr(te,x)){const E=Sl(te,b,x);return{points:[E],direction:fs(E,b)}}else{const E=Ui(te,x),re=["left","right"].includes(xi(te,x))?[b[0],E[1]]:[E[0],b[1]];return{points:[re],direction:fs(re,b)}}}function Mi(te,b,x,E){const ne=mr(b,x)?b:Ui(b,x),re=[[ne[0],te[1]],[te[0],ne[1]]],oe=re.filter(fe=>gr(fe,x)&&!gn(fe,x,!0)),ue=oe.filter(fe=>fs(fe,te)!==E);if(ue.length>0){const fe=ue.find(ge=>fs(te,ge)===E)||ue[0];return{points:[fe],direction:fs(fe,b)}}else{const fe=(0,xc.Z)(re,oe)[0],ge=_a(b,fe,Gu(x,E)/2);return{points:[Sl(ge,te,x),ge],direction:fs(ge,b)}}}function Ha(te,b,x,E){let ne=Iu(te,b,x);const re=Er(ne.points[0]);if(qt(re,E)){ne=Iu(b,te,E);const oe=Er(ne.points[0]);if(qt(oe,x)){const ue=_a(te,re,Gu(x,fs(te,re))/2),fe=_a(b,oe,Gu(E,fs(b,oe))/2),ge=[(ue[0]+fe[0])/2,(ue[1]+fe[1])/2],ye=Iu(te,ge,x),De=Mi(ge,b,E,ye.direction);ne.points=[ye.points[0],De.points[0]],ne.direction=De.direction}}return ne}function yl(te,b,x,E,ne){const oe=Ii([x,E]),ue=zr(b,oe.center)>zr(te,oe.center),[fe,ge]=ue?[b,te]:[te,b],ye=dn(oe)+Xn(oe);let De;if(ne){const rt=[fe[0]+ye*Math.cos(Io[ne]),fe[1]+ye*Math.sin(Io[ne])];De=_a(Ui(rt,oe),rt,.01)}else De=_a(Ui(fe,oe),fe,-.01);let Te=Sl(De,ge,oe),Ve=[Ls(De,2),Ls(Te,2)];if((0,Dt.Z)(Ls(De),Ls(Te))){const rt=pi(Gn(De,fe),[1,0,0])+Math.PI/2;Te=[ge[0]+ye*Math.cos(rt),ge[1]+ye*Math.sin(rt),0],Te=Ls(_a(Ui(Te,oe),ge,-.01),2);const At=Sl(De,Te,oe);Ve=[De,At,Te]}return{points:ue?Ve.reverse():Ve,direction:fs(ue?De:Te,b)}}function Sl(te,b,x){let E=[te[0],b[1]];return qt(E,x)&&(E=[b[0],te[1]]),E}function ru(te,b,x,E,ne){let fe=typeof b=="number"?b:.5;b==="start"&&(fe=0),b==="end"&&(fe=.99);const ge=Da(te.getPoint(fe)),ye=Da(te.getPoint(fe+.01));let De=b==="start"?"left":b==="end"?"right":"center";if($s(ge,ye)||!x){const[Ut,en]=$e(te,fe,E,ne);return{transform:[["translate",Ut,en]],textAlign:De}}let Te=Math.atan2(ye[1]-ge[1],ye[0]-ge[0]);ye[0]{const ye=oe[ge-1]||ne,De=oe[ge+1]||re;if(!Us(ye,fe,De)&&b){const[Te,Ve]=gi(ye,fe,De,b);ue.push(["L",Te[0],Te[1]],["Q",fe[0],fe[1],Ve[0],Ve[1]],["L",Ve[0],Ve[1]])}else ue.push(["L",fe[0],fe[1]])}),ue.push(["L",re[0],re[1]]),x&&ue.push(["Z"]),ue}function gi(te,b,x,E){const ne=ta(te,b),re=ta(x,b),oe=Math.min(E,Math.min(ne,re)/2),ue=[b[0]-oe/ne*(b[0]-te[0]),b[1]-oe/ne*(b[1]-te[1])],fe=[b[0]-oe/re*(b[0]-x[0]),b[1]-oe/re*(b[1]-x[1])];return[ue,fe]}const Hi=te=>{const b=Math.PI/2,x=dn(te)/2,E=Xn(te)/2,ne=Math.atan2(x,E)/2,re=Math.atan2(E,x)/2;return{top:[-b-re,-b+re],"top-right":[-b+re,-ne],"right-top":[-b+re,-ne],right:[-ne,ne],"bottom-right":[ne,b-re],"right-bottom":[ne,b-re],bottom:[b-re,b+re],"bottom-left":[b+re,Math.PI-ne],"left-bottom":[b+re,Math.PI-ne],left:[Math.PI-ne,Math.PI+ne],"top-left":[Math.PI+ne,-b-re],"left-top":[Math.PI+ne,-b-re]}};function Xa(te,b,x,E,ne){const re=vi(te),oe=te.getCenter();let ue=E&&Ta(E),fe=ne&&Ta(ne);if(!ue||!fe){const ge=Hi(re),ye=ge[b][0],De=ge[b][1],[Te,Ve]=kr(re),rt=Math.max(Te,Ve),At=Nt(oe,[rt*Math.cos(ye),rt*Math.sin(ye),0]),Mt=Nt(oe,[rt*Math.cos(De),rt*Math.sin(De),0]);ue=ms(te,At),fe=ms(te,Mt),x||([ue,fe]=[fe,ue])}return[ue,fe]}function Ji(te,b,x,E,ne,re){const oe=te.getPorts()[ne||re],ue=te.getPorts()[re||ne];let[fe,ge]=Xa(te,b,x,oe,ue);const ye=ea(te,fe,ge,E);return oe&&(fe=jo(oe,ye[0])),ue&&(ge=jo(ue,ye.at(-1))),Cr(fe,ge,ye)}function ea(te,b,x,E){const ne=te.getCenter();if((0,Dt.Z)(b,x)){const re=Gn(b,ne),oe=[E*Math.sign(re[0])||E/2,E*Math.sign(re[1])||-E/2,0];return[Nt(b,oe),Nt(x,Sr(oe,[1,-1,1]))]}return[_a(ne,b,zr(ne,b)+E),_a(ne,x,zr(ne,x)+E)]}function fa(te,b,x,E,ne,re,oe){const ue=pa(te),fe=ue[re||oe],ge=ue[oe||re];let[ye,De]=Xa(te,x,E,fe,ge);const Te=Ba(te,ye,De,ne);return fe&&(ye=jo(fe,Te[0])),ge&&(De=jo(ge,Te.at(-1))),yi([ye,...Te,De],b)}function Ba(te,b,x,E){const ne=[],re=vi(te);if((0,Dt.Z)(b,x))switch(xi(b,re)){case"left":ne.push([b[0]-E,b[1]]),ne.push([b[0]-E,b[1]+E]),ne.push([b[0],b[1]+E]);break;case"right":ne.push([b[0]+E,b[1]]),ne.push([b[0]+E,b[1]+E]),ne.push([b[0],b[1]+E]);break;case"top":ne.push([b[0],b[1]-E]),ne.push([b[0]+E,b[1]-E]),ne.push([b[0]+E,b[1]]);break;case"bottom":ne.push([b[0],b[1]+E]),ne.push([b[0]+E,b[1]+E]),ne.push([b[0]+E,b[1]]);break}else{const oe=xi(b,re),ue=xi(x,re);if(oe===ue){const fe=oe;let ge,ye;switch(fe){case"left":ge=Math.min(b[0],x[0])-E,ne.push([ge,b[1]]),ne.push([ge,x[1]]);break;case"right":ge=Math.max(b[0],x[0])+E,ne.push([ge,b[1]]),ne.push([ge,x[1]]);break;case"top":ye=Math.min(b[1],x[1])-E,ne.push([b[0],ye]),ne.push([x[0],ye]);break;case"bottom":ye=Math.max(b[1],x[1])+E,ne.push([b[0],ye]),ne.push([x[0],ye]);break}}else{const fe=(Te,Ve)=>({left:[Ve[0]-E,Ve[1]],right:[Ve[0]+E,Ve[1]],top:[Ve[0],Ve[1]-E],bottom:[Ve[0],Ve[1]+E]})[Te],ge=fe(oe,b),ye=fe(ue,x),De=Sl(ge,ye,re);ne.push(ge,De,ye)}}return ne}function jr(te,b){const x=new Set,E=new Set,ne=new Set;return te.forEach(re=>{b(re).forEach(ue=>{x.add(ue),te.includes(ue.source)&&te.includes(ue.target)?E.add(ue):ne.add(ue)})}),{edges:Array.from(x),internal:Array.from(E),external:Array.from(ne)}}function Ci(te,b){const x=[];let E=te;for(;E;){x.push(E);const ne=b(kn(E));if(ne)E=ne;else break}if(x.some(ne=>{var re;return(re=ne.style)===null||re===void 0?void 0:re.collapsed})){const ne=x.reverse().findIndex(yu);return x[ne]||x.at(-1)}return te}function ya(te,b){return b||(te<4?10:te===4?12:te*2.5)}const ns=(te,b)=>{const x=Math.max(te,b)/2;return[["M",-te/2,0],["A",x,x,0,1,0,2*x-te/2,0],["A",x,x,0,1,0,-te/2,0],["Z"]]},wo=(te,b)=>[["M",-te/2,0],["L",te/2,-b/2],["L",te/2,b/2],["Z"]],rs=(te,b)=>[["M",-te/2,0],["L",0,-b/2],["L",te/2,0],["L",0,b/2],["Z"]],os=(te,b)=>[["M",-te/2,0],["L",te/2,-b/2],["L",4*te/5-te/2,0],["L",te/2,b/2],["Z"]],Vo=(te,b)=>[["M",-te/2,-b/2],["L",te/2,-b/2],["L",te/2,b/2],["L",-te/2,b/2],["Z"]],Lo=(te,b)=>{const x=te/2,E=te/7,ne=te-E;return[["M",-x,0],["L",0,-b/2],["L",0,b/2],["Z"],["M",ne-x,-b/2],["L",ne+E-x,-b/2],["L",ne+E-x,b/2],["L",ne-x,b/2],["Z"]]},Xl=(te,b)=>[["M",te/2,-b/2],["L",-te/2,0],["L",te/2,0],["L",-te/2,0],["L",te/2,b/2]];var Qs=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{ge in ne&&(fe[ge]=ne[ge])}),fe}getLoopPath(b){const{sourcePort:x,targetPort:E}=b,ne=this.sourceNode,re=vi(ne),oe=Math.max(Xn(re),dn(re)),{placement:ue,clockwise:fe,dist:ge=oe}=Vs(this.getGraphicStyle(b),"loop");return Ji(ne,ue,fe,ge,x,E)}getEndpoints(b,x=!0,E=[]){const{sourcePort:ne,targetPort:re}=b,{sourceNode:oe,targetNode:ue}=this,[fe,ge]=hi(oe,ue,ne,re);if(!x){const Ve=fe?Ta(fe):oe.getCenter(),rt=ge?Ta(ge):ue.getCenter();return[Ve,rt]}const ye=typeof E=="function"?E():E,De=hs(fe||oe,ye[0]||ge||ue),Te=hs(ge||ue,ye[ye.length-1]||fe||oe);return[De,Te]}getHaloStyle(b){if(b.halo===!1)return!1;const x=this.getKeyStyle(b),E=Vs(this.getGraphicStyle(b),"halo");return Object.assign(Object.assign({},x),E)}getLabelStyle(b){if(b.label===!1||!b.labelText)return!1;const x=Vs(this.getGraphicStyle(b),"label"),{placement:E,offsetX:ne,offsetY:re,autoRotate:oe,maxWidth:ue}=x,fe=Qs(x,["placement","offsetX","offsetY","autoRotate","maxWidth"]),ge=ru(this.shapeMap.key,E,oe,ne,re),ye=this.shapeMap.key.getLocalBounds(),De=nr([ye.min,ye.max],ue);return Object.assign({wordWrapWidth:De},ge,fe)}getBadgeStyle(b){if(b.badge===!1||!b.badgeText)return!1;const x=Vs(b,"badge"),{offsetX:E,offsetY:ne,placement:re}=x,oe=Qs(x,["offsetX","offsetY","placement"]);return Object.assign(oe,Re(this.shapeMap,re,b.labelPlacement,E,ne))}drawArrow(b,x){var E;const ne=x==="start",oe=b[x==="start"?"startArrow":"endArrow"],ue=this.shapeMap.key;if(oe){const fe=this.getArrowStyle(b,ne),[ge,ye,De]=ne?["markerStart","markerStartOffset","startArrowOffset"]:["markerEnd","markerEndOffset","endArrowOffset"],Te=ue.parsedStyle[ge];if(Te)Te.attr(fe);else{const Ve=fe.src?je.Ee:je.y$,rt=new Ve({style:fe});ue.style[ge]=rt}ue.style[ye]=b[De]||fe.width/2+ +fe.lineWidth}else{const fe=ne?"markerStart":"markerEnd";(E=ue.style[fe])===null||E===void 0||E.destroy(),ue.style[fe]=null}}getArrowStyle(b,x){const E=this.getShape("key").attributes,ne=x?"startArrow":"endArrow",re=Vs(this.getGraphicStyle(b),ne),{size:oe,type:ue}=re,fe=Qs(re,["size","type"]),[ge,ye]=ku(ya(E.lineWidth,oe)),Te=((0,On.Z)(ue)?ue:se[ue]||wo)(ge,ye);return Object.assign((0,Tu.Z)(E,["stroke","strokeOpacity","fillOpacity"]),{width:ge,height:ye},Object.assign({},Te&&{d:Te,fill:ue==="simple"?"":E.stroke}),fe)}drawLabelShape(b,x){const E=this.getLabelStyle(b);this.upsert("label",Vi,E,x)}drawHaloShape(b,x){const E=this.getHaloStyle(b);this.upsert("halo",je.y$,E,x)}drawBadgeShape(b,x){const E=this.getBadgeStyle(b);this.upsert("badge",No,E,x)}drawSourceArrow(b){this.drawArrow(b,"start")}drawTargetArrow(b){this.drawArrow(b,"end")}drawKeyShape(b,x){const E=this.getKeyStyle(b);return this.upsert("key",je.y$,E,x)}render(b=this.parsedAttributes,x=this){this.drawKeyShape(b,x),this.getShape("key")&&(this.drawSourceArrow(b),this.drawTargetArrow(b),this.drawLabelShape(b,x),this.drawHaloShape(b,x),this.drawBadgeShape(b,x))}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(b,x){const E=super.animate(b,x);return E&&new Proxy(E,{set:(ne,re,oe)=>(re==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(ne,re,oe))})}}ni.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 Fl extends ni{constructor(b){super(fo({style:Fl.defaultStyleProps},b))}getKeyPath(b){const[x,E]=this.getEndpoints(b),{controlPoints:ne,curvePosition:re,curveOffset:oe}=b,ue=this.getControlPoints(x,E,nn(re),Yt(oe),ne);return Cr(x,E,ue)}getControlPoints(b,x,E,ne,re){return(re==null?void 0:re.length)===2?re:[nt(b,x,E[0],ne[0]),nt(b,x,E[1],ne[1])]}}Fl.defaultStyleProps={curvePosition:.5,curveOffset:20};class iu extends Fl{constructor(b){super(fo({style:iu.defaultStyleProps},b))}getControlPoints(b,x,E,ne){const re=x[0]-b[0];return[[b[0]+re*E[0]+ne[0],b[1]],[x[0]-re*E[1]+ne[1],x[1]]]}}iu.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Ou extends Fl{constructor(b){super(fo({style:Ou.defaultStyleProps},b))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(b){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(b);const x=Di(this.ref),E=this.sourceNode.getIntersectPoint(x,!0),ne=this.targetNode.getIntersectPoint(x);return[E,ne]}toRadialCoordinate(b){const x=Di(this.ref),E=zr(b,x),ne=Zr(Gn(b,x));return[E,ne]}getControlPoints(b,x,E,ne){const[re,oe]=this.toRadialCoordinate(b),[ue]=this.toRadialCoordinate(x),fe=ue-re;return[[b[0]+(fe*E[0]+ne[0])*Math.cos(oe),b[1]+(fe*E[0]+ne[0])*Math.sin(oe)],[x[0]-(fe*E[1]-ne[0])*Math.cos(oe),x[1]-(fe*E[1]-ne[0])*Math.sin(oe)]]}}Ou.defaultStyleProps={curvePosition:.5,curveOffset:20};class bu extends Fl{constructor(b){super(fo({style:bu.defaultStyleProps},b))}getControlPoints(b,x,E,ne){const re=x[1]-b[1];return[[b[0],b[1]+re*E[0]+ne[0]],[x[0],x[1]-re*E[1]+ne[1]]]}}bu.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Ll extends ni{constructor(b){super(fo({style:Ll.defaultStyleProps},b))}getKeyPath(b){const[x,E]=this.getEndpoints(b);return[["M",x[0],x[1]],["L",E[0],E[1]]]}}Ll.defaultStyleProps={};const Js={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:ta},wl=te=>`${Math.round(te[0])}|||${Math.round(te[1])}`;function Vl(te,b){const x=E=>Math.round(E/b);return(0,yt.Z)(te)?x(te):te.map(x)}function Uu(te,b){const x=Math.abs(te-b);return x>Math.PI?2*Math.PI-x:x}function xu(te,b){const x=b[0]-te[0],E=b[1]-te[1];return!x&&!E?0:Math.atan2(E,x)}function cu(te,b,x,E){const ne=xu(te,b),re=x[wl(te)],ue=xu(re||E,te);return Uu(ue,ne)}const pc=(te,b)=>{const{offset:x,gridSize:E}=b,ne={};return te.forEach(re=>{if(!re||re.destroyed||!re.isVisible())return;const oe=Pr(re.getRenderBounds(),x);for(let ue=Vl(oe.min[0],E);ue<=Vl(oe.max[0],E);ue+=1)for(let fe=Vl(oe.min[1],E);fe<=Vl(oe.max[1],E);fe+=1)ne[`${ue}|||${fe}`]=!0}),ne};function Ac(te,b,x){return Math.min(...b.map(E=>x(te,E)))}function ot(te,b,x){let E=te[0],ne=x(te[0],b);for(let re=0;re{if(!b)return[te];const{directionMap:ne,offset:re}=E,oe=Pr(b.getRenderBounds(),re),ue=Object.keys(ne).reduce((fe,ge)=>{if(x.includes(ge)){const ye=ne[ge],[De,Te]=kr(oe),Ve=[te[0]+ye.stepX*De,te[1]+ye.stepY*Te],rt=_o(oe);for(let At=0;AtVl(fe,E.gridSize))},Wt=(te,b,x,E,ne,re,oe)=>{const ue=[];let fe=[re[0]===E[0]?E[0]:te[0]*oe,re[1]===E[1]?E[1]:te[1]*oe];ue.unshift(fe);let ge=te,ye=b[wl(ge)];for(;ye;){const Ve=ye,rt=ge;cu(Ve,rt,b,x)&&(fe=[Ve[0]===rt[0]?fe[0]:Ve[0]*oe,Ve[1]===rt[1]?fe[1]:Ve[1]*oe],ue.unshift(fe)),ye=b[wl(Ve)],ge=Ve}const De=ne.map(Ve=>[Ve[0]*oe,Ve[1]*oe]),Te=ot(De,fe,ta);return ue.unshift(Te),ue};function cn(te,b,x,E){const ne=er(te.getCenter()),re=er(b.getCenter()),oe=Object.assign(Js,E),{gridSize:ue}=oe,fe=oe.enableObstacleAvoidance?x:[te,b],ge=pc(fe,oe),ye=Vl(ne,ue),De=Vl(re,ue),Te=ht(ne,te,oe.startDirections,oe),Ve=ht(re,b,oe.endDirections,oe);Te.forEach(Yr=>delete ge[wl(Yr)]),Ve.forEach(Yr=>delete ge[wl(Yr)]);const rt={},At={},Mt={},Ut={},en={},hn=new Nn;for(let Yr=0;Yrwl(Yr));let mi=oe.maximumLoops,ei,Ri=1/0;for(const[Yr,Va]of Object.entries(rt))en[Yr]<=Ri&&(Ri=en[Yr],ei=Va);for(;Object.keys(rt).length>0&&mi>0;){const Yr=hn.minId(!1);if(Yr)ei=rt[Yr];else break;const Va=wl(ei);if(rr.includes(Va))return Wt(ei,Mt,ye,re,Te,De,ue);delete rt[Va],hn.remove(Va),At[Va]=!0;for(const ks of Object.values(oe.directionMap)){const pl=Nt(ei,[ks.stepX,ks.stepY]),Zu=wl(pl);if(At[Zu])continue;const gu=cu(ei,pl,Mt,ye);if(gu>oe.maxAllowedDirectionChange||ge[Zu])continue;rt[Zu]||(rt[Zu]=pl);const Pu=oe.penalties[gu],Tl=oe.distFunc(ei,pl)+(isNaN(Pu)?ue:Pu),Ju=Ut[Va]+Tl,$c=Ut[Zu];$c&&Ju>=$c||(Mt[Zu]=ei,Ut[Zu]=Ju,en[Zu]=Ju+Ac(pl,Ve,oe.distFunc),hn.add({id:Zu,value:en[Zu]}))}mi-=1}return[]}class Nn{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(b,x){let E=0,ne=x-1;for(;ne-E>1;){const re=Math.floor((E+ne)/2);if(this.arr[re].value>b.value)ne=re;else if(this.arr[re].value=0;x--)this.map[this.arr[x].id]?b=this.arr[x].id:this.arr.splice(x,1);return b}_findFirstId(){for(;this.arr.length;){const b=this.arr.shift();if(this.map[b.id])return b.id}}minId(b){return b?this._clearAndGetMinId():this._findFirstId()}}class Bn extends ni{constructor(b){super(fo({style:Bn.defaultStyleProps},b))}getControlPoints(b){const{router:x}=b,{sourceNode:E,targetNode:ne}=this,[re,oe]=this.getEndpoints(b,!1);let ue=[];if(!x)ue=b.controlPoints;else if(x.type==="shortest-path"){const fe=this.context.element.getNodes();ue=cn(E,ne,fe,x),ue.length||(ue=Dc(re,oe,E,ne,b.controlPoints,{padding:x.offset}))}else x.type==="orth"&&(ue=Dc(re,oe,E,ne,b.controlPoints,x));return ue}getPoints(b){const x=this.getControlPoints(b),[E,ne]=this.getEndpoints(b,!0,x);return[E,...x,ne]}getKeyPath(b){const x=this.getPoints(b);return yi(x,b.radius)}getLoopPath(b){const{sourcePort:x,targetPort:E,radius:ne}=b,re=this.sourceNode,oe=vi(re),ue=Math.max(Xn(oe),dn(oe))/4,{placement:fe,clockwise:ge,dist:ye=ue}=Vs(this.getGraphicStyle(b),"loop");return fa(re,ne,fe,ge,ye,x,E)}}Bn.defaultStyleProps={radius:0,controlPoints:[],router:!1};class dr extends ni{constructor(b){super(fo({style:dr.defaultStyleProps},b))}getKeyPath(b){const{curvePosition:x,curveOffset:E}=b,[ne,re]=this.getEndpoints(b),oe=b.controlPoint||nt(ne,re,x,E);return Br(ne,re,oe)}}dr.defaultStyleProps={curvePosition:.5,curveOffset:30};var pr=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{var re;const{key:oe,placement:ue}=E;la(E)&&(b[re=oe||ne]||(b[re]=na(te.getShape("key").getBounds(),ue)))}),b}function la(te){const{r:b}=te;return!b||Number(b)===0}function Ta(te){return Xt(te)?te:te.getPosition()}function hi(te,b,x,E){const ne=Ia(te,b,x,E),re=Ia(b,te,E,x);return[ne,re]}function Ia(te,b,x,E){const ne=pa(te);if(x)return ne[x];const re=Object.values(ne);if(re.length===0)return;const oe=re.map(ge=>Ta(ge)),ue=So(b,E),[fe]=ll(oe,ue);return re.find(ge=>Ta(ge)===fe)}function So(te,b){const x=pa(te);if(b)return[Ta(x[b])];const E=Object.values(x);return E.length>0?E.map(ne=>Ta(ne)):[te.getCenter()]}function hs(te,b){return Wr(te)||ar(te)?ms(te,b):jo(te,b)}function jo(te,b){if(!te||!b)return[0,0,0];if(Xt(te))return te;if(te.attributes.linkToCenter)return te.getPosition();const x=Xt(b)?b:ar(b)?b.getCenter():b.getPosition();return Ho(x,te.getBounds())}function ms(te,b){if(!te||!b)return[0,0,0];const x=Xt(b)?b:ar(b)?b.getCenter():b.getPosition();return te.getIntersectPoint(x)||te.getCenter()}function nl(te,b="bottom",x=0,E=0,ne=!1){const re=b.split("-"),[oe,ue]=na(te,b),[fe,ge]=ne?["bottom","top"]:["top","bottom"],ye=re.includes("top")?ge:re.includes("bottom")?fe:"middle",De=re.includes("left")?"right":re.includes("right")?"left":"center";return{transform:[["translate",oe+x,ue+E]],textBaseline:ye,textAlign:De}}function ho(te,b){return[[0,-te],[b*Math.cos(3*Math.PI/10),-b*Math.sin(3*Math.PI/10)],[te*Math.cos(Math.PI/10),-te*Math.sin(Math.PI/10)],[b*Math.cos(Math.PI/10),b*Math.sin(Math.PI/10)],[te*Math.cos(3*Math.PI/10),te*Math.sin(3*Math.PI/10)],[0,b],[-te*Math.cos(3*Math.PI/10),te*Math.sin(3*Math.PI/10)],[-b*Math.cos(Math.PI/10),b*Math.sin(Math.PI/10)],[-te*Math.cos(Math.PI/10),-te*Math.sin(Math.PI/10)],[-b*Math.cos(3*Math.PI/10),-b*Math.sin(3*Math.PI/10)]]}function is(te,b){const x={};return x.top=[0,-te],x.left=[-te*Math.cos(Math.PI/10),-te*Math.sin(Math.PI/10)],x["left-bottom"]=[-te*Math.cos(3*Math.PI/10),te*Math.sin(3*Math.PI/10)],x.bottom=[0,b],x["right-bottom"]=[te*Math.cos(3*Math.PI/10),te*Math.sin(3*Math.PI/10)],x.right=x.default=[te*Math.cos(Math.PI/10),-te*Math.sin(Math.PI/10)],x}function po(te,b,x){const E=b/2,ne=te/2,re={up:[[-ne,E],[ne,E],[0,-E]],left:[[-ne,0],[ne,E],[ne,-E]],right:[[-ne,E],[-ne,-E],[ne,0]],down:[[-ne,-E],[ne,-E],[0,E]]};return re[x]||re.up}function wa(te,b,x){const E=b/2,ne=te/2,re={};return x==="down"?(re.bottom=re.default=[0,E],re.right=[ne,-E],re.left=[-ne,-E]):x==="left"?(re.top=[ne,-E],re.bottom=[ne,E],re.left=re.default=[-ne,0]):x==="right"?(re.top=[-ne,-E],re.bottom=[-ne,E],re.right=re.default=[ne,0]):(re.left=[-ne,E],re.top=re.default=[0,-E],re.right=[ne,E]),re}function Ya(te,b){return[[te/2,-b/2],[te/2,b/2],[-te/2,b/2],[-te/2,-b/2]]}function Ds(te,b){return[[0,-b/2],[te/2,0],[0,b/2],[-te/2,0]]}function bl(te){return(0,to.Z)(te,["style","visibility"])!=="hidden"}function jn(te,b){const{zIndex:x,transform:E,transformOrigin:ne,visibility:re,cursor:oe,clipPath:ue,component:fe}=b,ge=pr(b,["zIndex","transform","transformOrigin","visibility","cursor","clipPath","component"]);Object.assign(te.attributes,ge),E&&te.setAttribute("transform",E),(0,yt.Z)(x)&&te.setAttribute("zIndex",x),ne&&te.setAttribute("transformOrigin",ne),re&&te.setAttribute("visibility",re),oe&&te.setAttribute("cursor",oe),ue&&te.setAttribute("clipPath",ue),fe&&te.setAttribute("component",fe)}function $r(te,b){"update"in te?te.update(b):te.attr(b)}function pe(te){return[[0,te],[te*Math.sqrt(3)/2,te/2],[te*Math.sqrt(3)/2,-te/2],[0,-te],[-te*Math.sqrt(3)/2,-te/2],[-te*Math.sqrt(3)/2,te/2]]}function Ee(te){(0,uo.Z)(te,"__to_be_destroyed__",!0)}function Be(te){return(0,to.Z)(te,"__to_be_destroyed__",!1)}var ke=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class Ke extends qr{constructor(b,x){super(b,Object.assign({},Ke.defaultOptions,x)),this.onCollapseExpand=E=>ke(this,void 0,void 0,function*(){if(!this.validate(E))return;const{target:ne}=E;if(!Jr(ne))return;const re=ne.id,{model:oe,graph:ue}=this.context,fe=oe.getElementDataById(re);if(!fe)return!1;const{onCollapse:ge,onExpand:ye,animation:De,align:Te}=this.options;yu(fe)?(yield ue.expandElement(re,{animation:De,align:Te}),ye==null||ye(re)):(yield ue.collapseElement(re,{animation:De,align:Te}),ge==null||ge(re))}),this.bindEvents()}update(b){this.unbindEvents(),super.update(b),this.bindEvents()}bindEvents(){const{graph:b}=this.context,{trigger:x}=this.options;b.on(`node:${x}`,this.onCollapseExpand),b.on(`combo:${x}`,this.onCollapseExpand)}unbindEvents(){const{graph:b}=this.context,{trigger:x}=this.options;b.off(`node:${x}`,this.onCollapseExpand),b.off(`combo:${x}`,this.onCollapseExpand)}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}destroy(){this.unbindEvents(),super.destroy()}}Ke.defaultOptions={enable:!0,animation:!0,trigger:Ye.DBLCLICK,align:!0};var Ue=he(63178),ut=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);nert.length!==At.length?!1:rt.every((Mt,Ut)=>Mt===At[Ut]),Ve=(rt,At)=>{const Mt=Object.keys(rt),Ut=Object.keys(At);return Mt.length!==Ut.length?!1:Mt.every(en=>rt[en]===At[en])};return!(!Ve(oe,De)||!Te(re,ye)||!Te(x,ue)||!Ve(E,fe)||!Ve(ne,ge))}const ln="__internal_override__";function rn(te){return te[ln]!==!1}var Vn=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};const sn="g6-create-edge-assist-edge-id",vn="g6-create-edge-assist-node-id";class Dn extends qr{constructor(b,x){super(b,Object.assign({},Dn.defaultOptions,x)),this.drop=E=>Vn(this,void 0,void 0,function*(){const{targetType:ne}=E;["combo","node"].includes(ne)&&this.source?yield this.handleCreateEdge(E):yield this.cancelEdge()}),this.handleCreateEdge=E=>Vn(this,void 0,void 0,function*(){var ne,re,oe;if(!this.validate(E))return;const{graph:ue,canvas:fe,batch:ge,element:ye}=this.context,{style:De}=this.options;if(this.source){this.createEdge(E),yield this.cancelEdge();return}ge.startBatch(),fe.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([E.target.id])[0];const Te=ue.getElementData(this.source);ue.addNodeData([{id:vn,type:"circle",[ln]:!1,style:{size:1,visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(ne=Te.style)===null||ne===void 0?void 0:ne.x,y:(re=Te.style)===null||re===void 0?void 0:re.y}}]),ue.addEdgeData([{id:sn,source:this.source,target:vn,style:Object.assign({pointerEvents:"none"},De)}]),yield(oe=ye.draw({animation:!1}))===null||oe===void 0?void 0:oe.finished}),this.updateAssistEdge=E=>Vn(this,void 0,void 0,function*(){var ne;if(!this.source)return;const{model:re,element:oe}=this.context;re.translateNodeTo(vn,[E.client.x,E.client.y]),yield(ne=oe.draw({animation:!1,silence:!0}))===null||ne===void 0?void 0:ne.finished}),this.createEdge=E=>{var ne,re;const{graph:oe}=this.context,{style:ue,onFinish:fe,onCreate:ge}=this.options;if(((ne=E.target)===null||ne===void 0?void 0:ne.id)===void 0||this.source===void 0)return;const De=(re=this.getSelectedNodeIDs([E.target.id]))===null||re===void 0?void 0:re[0],Te=`${this.source}-${De}-${(0,Ue.Z)()}`,Ve=ge({id:Te,source:this.source,target:De,style:ue});Ve&&(oe.addEdgeData([Ve]),fe(Ve))},this.cancelEdge=()=>Vn(this,void 0,void 0,function*(){var E;if(!this.source)return;const{graph:ne,element:re,batch:oe}=this.context;ne.removeNodeData([vn]),this.source=void 0,yield(E=re.draw({animation:!1}))===null||E===void 0?void 0:E.finished,oe.endBatch()}),this.bindEvents()}update(b){super.update(b),this.bindEvents()}bindEvents(){const{graph:b}=this.context,{trigger:x}=this.options;this.unbindEvents(),x==="click"?(b.on(Qt.CLICK,this.handleCreateEdge),b.on(Ot.CLICK,this.handleCreateEdge),b.on(wt.CLICK,this.cancelEdge),b.on(pt.CLICK,this.cancelEdge)):(b.on(Qt.DRAG_START,this.handleCreateEdge),b.on(Ot.DRAG_START,this.handleCreateEdge),b.on(Ye.POINTER_UP,this.drop)),b.on(Ye.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(b){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(x=>x.id).concat(b)))}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}unbindEvents(){const{graph:b}=this.context;b.off(Qt.CLICK,this.handleCreateEdge),b.off(Ot.CLICK,this.handleCreateEdge),b.off(wt.CLICK,this.cancelEdge),b.off(pt.CLICK,this.cancelEdge),b.off(Qt.DRAG_START,this.handleCreateEdge),b.off(Ot.DRAG_START,this.handleCreateEdge),b.off(Ye.POINTER_UP,this.drop),b.off(Ye.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}Dn.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:te=>te,onFinish:()=>{}};var En=he(78431),Et=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class Kr extends qr{constructor(b,x){super(b,Object.assign({},Kr.defaultOptions,x)),this.isDragging=!1,this.onDragStart=E=>{this.validate(E)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=E=>{var ne,re,oe,ue;if(!this.isDragging||Ts.isPinching)return;const fe=(re=(ne=E.movement)===null||ne===void 0?void 0:ne.x)!==null&&re!==void 0?re:E.dx,ge=(ue=(oe=E.movement)===null||oe===void 0?void 0:oe.y)!==null&&ue!==void 0?ue:E.dy;fe|ge&&this.translate([fe,ge],!1)},this.onDragEnd=()=>{var E,ne;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(ne=(E=this.options).onFinish)===null||ne===void 0||ne.call(E)},this.invokeOnFinish=(0,En.Z)(()=>{var E,ne;(ne=(E=this.options).onFinish)===null||ne===void 0||ne.call(E)},300),this.shortcut=new Na(b.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(b){this.unbindEvents(),super.update(b),this.bindEvents()}bindEvents(){const{trigger:b}=this.options;if((0,dt.Z)(b)){const{up:x=[],down:E=[],left:ne=[],right:re=[]}=b;this.shortcut.bind(x,oe=>this.onTranslate([0,1],oe)),this.shortcut.bind(E,oe=>this.onTranslate([0,-1],oe)),this.shortcut.bind(ne,oe=>this.onTranslate([1,0],oe)),this.shortcut.bind(re,oe=>this.onTranslate([-1,0],oe))}else{const{graph:x}=this.context;x.on(Ye.DRAG_START,this.onDragStart),x.on(Ye.DRAG,this.onDrag),x.on(Ye.DRAG_END,this.onDragEnd)}}onTranslate(b,x){return Et(this,void 0,void 0,function*(){if(!this.validate(x))return;const{sensitivity:E}=this.options,ne=E*-1;yield this.translate(Sr(b,ne),this.options.animation),this.invokeOnFinish()})}translate(b,x){return Et(this,void 0,void 0,function*(){b=this.clampByDirection(b),b=this.clampByRange(b),b=this.clampByRotation(b),yield this.context.graph.translateBy(b,x)})}clampByRotation([b,x]){const E=this.context.graph.getRotation();return ti([b,x],E)}clampByDirection([b,x]){const{direction:E}=this.options;return E==="x"?x=0:E==="y"&&(b=0),[b,x]}clampByRange([b,x]){const{viewport:E,canvas:ne}=this.context,[re,oe]=ne.getSize(),[ue,fe,ge,ye]=Lt(this.options.range),De=[oe*ue,re*fe,oe*ge,re*ye],Te=Pr(Un(E.getCanvasCenter()),De),Ve=Gn(E.getViewportCenter(),[b,x,0]);if(!qt(Ve,Te)){const{min:[rt,At],max:[Mt,Ut]}=Te;(Ve[0]0||Ve[0]>Mt&&b<0)&&(b=0),(Ve[1]0||Ve[1]>Ut&&x<0)&&(x=0)}return[b,x]}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return typeof x=="function"?x(b):!!x}unbindEvents(){this.shortcut.unbindAll();const{graph:b}=this.context;b.off(Ye.DRAG_START,this.onDragStart),b.off(Ye.DRAG,this.onDrag),b.off(Ye.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}Kr.defaultOptions={enable:te=>"targetType"in te?te.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var Pi=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class ja extends qr{constructor(b,x){super(b,Object.assign({},ja.defaultOptions,x)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=E=>Pi(this,void 0,void 0,function*(){var ne;if(this.options.dropEffect!=="link")return;const{model:re,element:oe}=this.context,ue=E.target.id;this.target.forEach(fe=>{const ge=re.getParentData(fe,$t);ge&&kn(ge)===ue&&re.refreshComboData(ue),re.setParent(fe,ue,$t)}),yield(ne=oe==null?void 0:oe.draw({animation:!0}))===null||ne===void 0?void 0:ne.finished}),this.setCursor=E=>{if(this.isDragging)return;const{type:ne}=E,{canvas:re}=this.context,{cursor:oe}=this.options;ne===Ye.POINTER_ENTER?re.setCursor((oe==null?void 0:oe.grab)||"grab"):re.setCursor((oe==null?void 0:oe.default)||"default")},this.shortcut=new Na(b.graph),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(b){this.unbindEvents(),super.update(b),this.bindEvents()}bindEvents(){const{graph:b,canvas:x}=this.context,E=x.getLayer().getContextService().$canvas;E&&(E.addEventListener("blur",this.onDragEnd),E.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(ne=>{b.on(`${ne}:${Ye.DRAG_START}`,this.onDragStart),b.on(`${ne}:${Ye.DRAG}`,this.onDrag),b.on(`${ne}:${Ye.DRAG_END}`,this.onDragEnd),b.on(`${ne}:${Ye.POINTER_ENTER}`,this.setCursor),b.on(`${ne}:${Ye.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(b.on(Ot.DROP,this.onDrop),b.on(wt.DROP,this.onDrop))}getSelectedNodeIDs(b){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(x=>x.id).concat(b)))}getDelta(b){const x=this.context.graph.getZoom();return yr([b.dx,b.dy],x)}onDragStart(b){var x;if(this.enable=this.validate(b),!this.enable)return;const{batch:E,canvas:ne,graph:re}=this.context;ne.setCursor(((x=this.options.cursor)===null||x===void 0?void 0:x.grabbing)||"grabbing"),this.isDragging=!0,E.startBatch();const oe=b.target.id;re.getElementState(oe).includes(this.options.state)?this.target=this.getSelectedNodeIDs([oe]):this.target=[oe],this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(b){if(!this.enable)return;const x=this.getDelta(b);this.options.shadow?this.moveShadow(x):this.moveElement(this.target,x)}onDragEnd(){var b,x,E;if(!this.enable)return;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:oe=0,y:ue=0}=this.shadow.attributes,[fe,ge]=Gn([+oe,+ue],this.shadowOrigin);this.moveElement(this.target,[fe,ge])}this.showEdges(),(x=(b=this.options).onFinish)===null||x===void 0||x.call(b,this.target);const{batch:ne,canvas:re}=this.context;ne.endBatch(),re.setCursor(((E=this.options.cursor)===null||E===void 0?void 0:E.grab)||"grab"),this.isDragging=!1,this.target=[]}isKeydown(){const{trigger:b}=this.options;return b!=null&&b.length?this.shortcut.match(b):!0}validate(b){if(this.destroyed||Be(b.target)||this.context.graph.isCollapsingExpanding||!this.isKeydown())return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}clampByRotation([b,x]){const E=this.context.graph.getRotation();return ti([b,x],E)}moveElement(b,x){return Pi(this,void 0,void 0,function*(){const{graph:E,model:ne}=this.context,{dropEffect:re}=this.options;re==="move"&&b.forEach(oe=>ne.refreshComboData(oe)),E.translateElementBy(Object.fromEntries(b.map(oe=>[oe,this.clampByRotation(x)])),!1)})}moveShadow(b){if(!this.shadow)return;const{x=0,y:E=0}=this.shadow.attributes,[ne,re]=b;this.shadow.attr({x:+x+ne,y:+E+re})}createShadow(b){const x=Vs(this.options,"shadow"),E=Ii(b.map(ge=>this.context.element.getElement(ge).getBounds())),[ne,re]=E.min;this.shadowOrigin=[ne,re];const[oe,ue]=kr(E),fe={width:oe,height:ue,x:ne,y:re};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},x),fe),{visibility:"visible"})):(this.shadow=new je.UL({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},x),fe),{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:b,shadow:x}=this.options;if(b==="none"||x)return;const{graph:E}=this.context;b==="all"?this.hiddenEdges=E.getEdgeData().map(kn):this.hiddenEdges=Array.from(new Set(this.target.map(ne=>E.getRelatedEdgesData(ne,b).map(kn)).flat())),E.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:b,canvas:x}=this.context,E=x.getLayer().getContextService().$canvas;E&&(E.removeEventListener("blur",this.onDragEnd),E.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(ne=>{b.off(`${ne}:${Ye.DRAG_START}`,this.onDragStart),b.off(`${ne}:${Ye.DRAG}`,this.onDrag),b.off(`${ne}:${Ye.DRAG_END}`,this.onDragEnd),b.off(`${ne}:${Ye.POINTER_ENTER}`,this.setCursor),b.off(`${ne}:${Ye.POINTER_LEAVE}`,this.setCursor)}),b.off(`combo:${Ye.DROP}`,this.onDrop),b.off(`canvas:${Ye.DROP}`,this.onDrop)}destroy(){var b;this.unbindEvents(),(b=this.shadow)===null||b===void 0||b.destroy(),super.destroy()}}ja.defaultOptions={animation:!0,enable:te=>["node","combo"].includes(te.targetType),trigger:[],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 wi=he(67469);class Ka{constructor(b,x){this.context=b,this.options=x||{}}}var vo=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})},mo=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const re=ne.data._isCombo?E.combos:E.nodes,{x:oe,y:ue,z:fe=0}=ne.data;re==null||re.push({id:ne.id,style:{x:oe,y:ue,z:fe}})}),x.forEach(ne=>{const{id:re,source:oe,target:ue,data:{points:fe=[],controlPoints:ge=fe.slice(1,fe.length-1)}}=ne;E.edges.push({id:re,source:oe,target:ue,style:Object.assign({},ge!=null&&ge.length?{controlPoints:ge.map(Da)}:{})})}),E}function Fi(te,b){class x extends Ka{constructor(ne,re){if(super(ne,re),this.instance=new te({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const oe=this.instance;this.stop=oe.stop.bind(oe),this.tick=ue=>{const fe=oe.tick(ue);return tr(fe)}}}execute(ne,re){return vo(this,void 0,void 0,function*(){return tr(yield this.instance.execute(this.graphData2LayoutModel(ne),this.transformOptions((0,Wn.Z)({},this.options,re))))})}transformOptions(ne){if(!("onTick"in ne))return ne;const re=ne.onTick;return ne.onTick=oe=>re(tr(oe)),ne}graphData2LayoutModel(ne){const{nodes:re=[],edges:oe=[],combos:ue=[]}=ne,fe=re.map(Ve=>{const rt=kn(Ve),{data:At,style:Mt,combo:Ut}=Ve,en=mo(Ve,["data","style","combo"]),hn={id:rt,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},At),{data:At}),Ut?{parentId:Ut}:{}),{style:Mt}),en)};return Mt!=null&&Mt.x&&Object.assign(hn.data,{x:Mt.x}),Mt!=null&&Mt.y&&Object.assign(hn.data,{y:Mt.y}),Mt!=null&&Mt.z&&Object.assign(hn.data,{z:Mt.z}),hn}),ge=new Map(fe.map(Ve=>[Ve.id,Ve])),ye=oe.filter(Ve=>{const{source:rt,target:At}=Ve;return ge.has(rt)&&ge.has(At)}).map(Ve=>{const{source:rt,target:At,data:Mt,style:Ut}=Ve;return{id:kn(Ve),source:rt,target:At,data:Object.assign({},Mt),style:Object.assign({},Ut)}}),De=ue.map(Ve=>({id:kn(Ve),data:Object.assign({_isCombo:!0},Ve.data),style:Object.assign({},Ve.style)})),Te=new wi.k({nodes:[...fe,...De],edges:ye});return b.model.model.hasTreeStructure($t)&&(Te.attachTreeStructure($t),fe.forEach(Ve=>{const rt=b.model.model.getParent(Ve.id,$t);rt&&Te.hasNode(rt.id)&&Te.setParent(Ve.id,rt.id,$t)})),Te}}return x}function _i(te,b,...x){if(b in te)return te[b](...x);if("instance"in te){const E=te.instance;if(b in E)return E[b](...x)}return null}function La(te,b){if(b in te)return te[b];if("instance"in te){const x=te.instance;if(b in x)return x[b]}return null}var ki=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class ma extends ja{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(b=>["d3-force","d3-force-3d"].includes(b==null?void 0:b.id))}validate(b){return this.context.layout?this.forceLayoutInstance?super.validate(b):(et.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(b,x){return ki(this,void 0,void 0,function*(){const E=this.forceLayoutInstance;this.context.graph.getNodeData(b).forEach((ne,re)=>{const{x:oe=0,y:ue=0}=ne.style||{};E&&_i(E,"setFixedPosition",b[re],[...Nt([+oe,+ue],this.clampByRotation(x))])})})}onDragStart(b){if(this.enable=this.validate(b),!this.enable)return;this.target=this.getSelectedNodeIDs([b.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const x=this.forceLayoutInstance;x&&La(x,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(E=>{const{x:ne=0,y:re=0}=E.style||{};x&&_i(x,"setFixedPosition",kn(E),[+ne,+re])})}onDrag(b){if(!this.enable)return;const x=this.getDelta(b);this.moveElement(this.target,x)}onDragEnd(){const b=this.forceLayoutInstance;b&&La(b,"simulation").alphaTarget(0),!this.options.fixed&&this.context.graph.getNodeData(this.target).forEach(x=>{b&&_i(b,"setFixedPosition",kn(x),[null,null,null])})}}var To=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class go extends qr{constructor(b,x){super(b,Object.assign({},go.defaultOptions,x)),this.isZoomEvent=E=>!!(E.data&&"scale"in E.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=E=>To(this,void 0,void 0,function*(){if(!this.validate(E))return;const{graph:ne}=this.context,{state:re,nodeFilter:oe,edgeFilter:ue,comboFilter:fe}=this.options,ge=(re?ne.getElementDataByState("node",re):ne.getNodeData()).filter(oe),ye=(re?ne.getElementDataByState("edge",re):ne.getEdgeData()).filter(ue),De=(re?ne.getElementDataByState("combo",re):ne.getComboData()).filter(fe),Te=this.isZoomEvent(E)?this.zoom=Math.max(.01,Math.min(E.data.scale,10)):this.zoom,Ve=[...ge,...De];Ve.length>0&&Ve.forEach(rt=>this.fixNodeLike(rt,Te)),this.updateRelatedEdges(),ye.length>0&&ye.forEach(rt=>this.fixEdge(rt,Te))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(E,ne,re)=>{var oe;const ue=this.cachedStyles.get(E)||[],fe=((oe=ue.find(ge=>ge.shape===ne))===null||oe===void 0?void 0:oe.style)||{};return re in fe||(fe[re]=ne.attributes[re],this.cachedStyles.set(E,[...ue.filter(ge=>ge.shape!==ne),{shape:ne,style:fe}])),fe[re]},this.scaleEntireElement=(E,ne,re)=>{ne.setLocalScale(1/re);const oe=this.cachedStyles.get(E)||[];oe.push({shape:ne}),this.cachedStyles.set(E,oe)},this.scaleSpecificShapes=(E,ne,re)=>{const oe=Es(E);(Array.isArray(re)?re:[re]).forEach(fe=>{const{shape:ge,fields:ye}=fe,De=typeof ge=="function"?ge(oe):E.getShape(ge);if(De){if(!ye){this.scaleEntireElement(E.id,De,ne);return}ye.forEach(Te=>{const Ve=this.getOriginalFieldValue(E.id,De,Te);(0,yt.Z)(Ve)&&(De.style[Te]=Ve/ne)})}})},this.skipIfExceedViewport=E=>{const{viewport:ne}=this.context;return!(ne!=null&&ne.isInViewport(E.getRenderBounds(),!1,30))},this.fixNodeLike=(E,ne)=>{const re=kn(E),{element:oe,model:ue}=this.context,fe=oe.getElement(re);if(!fe||this.skipIfExceedViewport(fe))return;ue.getRelatedEdgesData(re).forEach(De=>this.relatedEdgeToUpdate.add(kn(De)));const ye=this.options[fe.type];if(!ye){this.scaleEntireElement(re,fe,ne);return}this.scaleSpecificShapes(fe,ne,ye)},this.fixEdge=(E,ne)=>{const re=kn(E),oe=this.context.element.getElement(re);if(!oe||this.skipIfExceedViewport(oe))return;const ue=this.options.edge;if(!ue){oe.style.transformOrigin="center",this.scaleEntireElement(re,oe,ne);return}this.scaleSpecificShapes(oe,ne,ue)},this.updateRelatedEdges=()=>{const{element:E}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(ne=>{const re=E.getElement(ne);re==null||re.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=E=>To(this,void 0,void 0,function*(){var ne;!((ne=E.data)===null||ne===void 0)&&ne.firstRender||(this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}}))}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(ne=>{ne.forEach(({shape:re,style:oe})=>{if((0,Oi.Z)(oe))re.setLocalScale(1);else{if(this.options.state)return;Object.entries(oe).forEach(([ue,fe])=>re.style[ue]=fe)}})});const{graph:b,element:x}=this.context,E=Object.keys(Object.fromEntries(this.cachedStyles)).filter(ne=>ne&&b.getElementType(ne)==="node");if(E.length>0){const ne=new Set;E.forEach(re=>{b.getRelatedEdgesData(re).forEach(oe=>ne.add(kn(oe)))}),ne.forEach(re=>{const oe=x==null?void 0:x.getElement(re);oe==null||oe.update({})})}}}bindEvents(){const{graph:b}=this.context;b.on(mt.AFTER_DRAW,this.resetTransform),b.on(mt.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:b}=this.context;b.off(mt.AFTER_DRAW,this.resetTransform),b.off(mt.AFTER_TRANSFORM,this.fixElementSize)}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}destroy(){this.unbindEvents(),super.destroy()}}go.defaultOptions={enable:te=>te.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var ia=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class As extends qr{constructor(b,x){super(b,Object.assign({},As.defaultOptions,x)),this.focus=E=>ia(this,void 0,void 0,function*(){if(!this.validate(E))return;const{graph:ne}=this.context;yield ne.focusElement(E.target.id,this.options.animation)}),this.shortcut=new Na(b.graph),this.bindEvents()}bindEvents(){const{graph:b}=this.context;this.unbindEvents(),Xu.forEach(x=>{b.on(`${x}:${Ye.CLICK}`,this.focus)})}validate(b){if(this.destroyed||!this.isKeydown())return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}isKeydown(){const{trigger:b}=this.options;return b!=null&&b.length?this.shortcut.match(b):!0}unbindEvents(){const{graph:b}=this.context;Xu.forEach(x=>{b.off(`${x}:${Ye.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),this.shortcut.destroy(),super.destroy()}}As.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0,trigger:[]};class Ws extends qr{constructor(b,x){super(b,Object.assign({},Ws.defaultOptions,x)),this.isFrozen=!1,this.toggleFrozen=E=>{this.isFrozen=E.type==="dragstart"},this.hoverElement=E=>{if(!this.validate(E))return;const ne=E.type===Ye.POINTER_ENTER;this.updateElementsState(E,ne);const{onHover:re,onHoverEnd:oe}=this.options;ne?re==null||re(E):oe==null||oe(E)},this.updateElementsState=(E,ne)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:re}=this.context,{state:oe,animation:ue,inactiveState:fe}=this.options,ge=this.getActiveIds(E),ye={};if(oe&&Object.assign(ye,this.getElementsState(ge,oe,ne)),fe){const De=ys(re.getData(),!0).filter(Te=>!ge.includes(Te));Object.assign(ye,this.getElementsState(De,fe,ne))}re.setElementState(ye,ue)},this.getElementsState=(E,ne,re)=>{const{graph:oe}=this.context,ue={};return E.forEach(fe=>{const ge=oe.getElementState(fe);re?ue[fe]=ge.includes(ne)?ge:[...ge,ne]:ue[fe]=ge.filter(ye=>ye!==ne)}),ue},this.bindEvents()}bindEvents(){const{graph:b}=this.context;this.unbindEvents(),Xu.forEach(E=>{b.on(`${E}:${Ye.POINTER_ENTER}`,this.hoverElement),b.on(`${E}:${Ye.POINTER_LEAVE}`,this.hoverElement)});const x=this.context.canvas.document;x.addEventListener(`${Ye.DRAG_START}`,this.toggleFrozen),x.addEventListener(`${Ye.DRAG_END}`,this.toggleFrozen)}getActiveIds(b){const{graph:x}=this.context,{degree:E,direction:ne}=this.options,re=b.target.id;return E?Ru(x,b.targetType,re,typeof E=="function"?E(b):E,ne):[re]}validate(b){if(this.destroyed||this.isFrozen||Be(b.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}unbindEvents(){const{graph:b}=this.context;Xu.forEach(E=>{b.off(`${E}:${Ye.POINTER_ENTER}`,this.hoverElement),b.off(`${E}:${Ye.POINTER_LEAVE}`,this.hoverElement)});const x=this.context.canvas.document;x.removeEventListener(`${Ye.DRAG_START}`,this.toggleFrozen),x.removeEventListener(`${Ye.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Ws.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class Vu extends $a{onPointerDown(b){if(!super.validate(b)||!super.isKeydown()||this.points)return;const{canvas:x,graph:E}=this.context;this.pathShape=new je.y$({id:"g6-lasso-select",style:this.options.style}),x.appendChild(this.pathShape),this.points=[gl(b,E)]}onPointerMove(b){var x;if(!this.points)return;const{immediately:E,mode:ne}=this.options;this.points.push(gl(b,this.context.graph)),(x=this.pathShape)===null||x===void 0||x.setAttribute("d",Nl(this.points)),E&&ne==="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 b;(b=this.pathShape)===null||b===void 0||b.remove(),this.pathShape=void 0,this.points=void 0}}class du extends qr{constructor(b,x){super(b,Object.assign({},du.defaultOptions,x)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(E,ne,re)=>{E.filter(Boolean).forEach(oe=>{ne==="hidden"&&!oe.isVisible()?this.hiddenShapes.push(oe):ne==="visible"&&this.hiddenShapes.includes(oe)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(oe),1):Hr(oe,ne,re)})},this.filterShapes=(E,ne)=>{if((0,On.Z)(ne))return oe=>!ne(E,oe);const re=ne==null?void 0:ne[E];return oe=>oe.className?!(re!=null&&re.includes(oe.className)):!0},this.hideShapes=E=>{if(!this.validate(E)||!this.isVisible)return;const{element:ne}=this.context,{shapes:re={}}=this.options;this.setElementsVisibility(ne.getNodes(),"hidden",this.filterShapes("node",re)),this.setElementsVisibility(ne.getEdges(),"hidden",this.filterShapes("edge",re)),this.setElementsVisibility(ne.getCombos(),"hidden",this.filterShapes("combo",re)),this.isVisible=!1},this.showShapes=(0,En.Z)(E=>{if(!this.validate(E)||this.isVisible)return;const{element:ne}=this.context;this.setElementsVisibility(ne.getNodes(),"visible"),this.setElementsVisibility(ne.getEdges(),"visible"),this.setElementsVisibility(ne.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:b}=this.context;b.on(mt.BEFORE_TRANSFORM,this.hideShapes),b.on(mt.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:b}=this.context;b.off(mt.BEFORE_TRANSFORM,this.hideShapes),b.off(mt.AFTER_TRANSFORM,this.showShapes)}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}update(b){this.unbindEvents(),super.update(b),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}du.defaultOptions={enable:!0,debounce:200,shapes:te=>te==="node"};var Yu=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class sc extends qr{constructor(b,x){super(b,Object.assign({},sc.defaultOptions,x)),this.onWheel=E=>Yu(this,void 0,void 0,function*(){this.options.preventDefault&&E.preventDefault();const ne=E.deltaX,re=E.deltaY;yield this.scroll([-ne,-re],E)}),this.shortcut=new Na(b.graph),this.bindEvents()}update(b){super.update(b),this.bindEvents()}bindEvents(){var b,x;const{trigger:E}=this.options;if(this.shortcut.unbindAll(),(0,dt.Z)(E)){(b=this.graphDom)===null||b===void 0||b.removeEventListener(Ye.WHEEL,this.onWheel);const{up:ne=[],down:re=[],left:oe=[],right:ue=[]}=E;this.shortcut.bind(ne,fe=>this.scroll([0,-10],fe)),this.shortcut.bind(re,fe=>this.scroll([0,10],fe)),this.shortcut.bind(oe,fe=>this.scroll([-10,0],fe)),this.shortcut.bind(ue,fe=>this.scroll([10,0],fe))}else(x=this.graphDom)===null||x===void 0||x.addEventListener(Ye.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(b){const{sensitivity:x}=this.options;return b=Sr(b,x),b=this.clampByDirection(b),b=this.clampByRange(b),b}clampByDirection([b,x]){const{direction:E}=this.options;return E==="x"?x=0:E==="y"&&(b=0),[b,x]}clampByRange([b,x]){const{viewport:E,canvas:ne}=this.context,[re,oe]=ne.getSize(),[ue,fe,ge,ye]=Lt(this.options.range),De=[oe*ue,re*fe,oe*ge,re*ye],Te=Pr(Un(E.getCanvasCenter()),De),Ve=Gn(E.getViewportCenter(),[b,x,0]);if(!qt(Ve,Te)){const{min:[rt,At],max:[Mt,Ut]}=Te;(Ve[0]0||Ve[0]>Mt&&b<0)&&(b=0),(Ve[1]0||Ve[1]>Ut&&x<0)&&(x=0)}return[b,x]}scroll(b,x){return Yu(this,void 0,void 0,function*(){if(!this.validate(x))return;const{onFinish:E}=this.options,ne=this.context.graph,re=this.formatDisplacement(b);yield ne.translateBy(re,!1),E==null||E()})}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}destroy(){var b;this.shortcut.destroy(),(b=this.graphDom)===null||b===void 0||b.removeEventListener(Ye.WHEEL,this.onWheel),super.destroy()}}sc.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var _u=he(70208),dc=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class Nc extends qr{constructor(b,x){super(b,Object.assign({},Nc.defaultOptions,x)),this.zoom=(E,ne,re)=>dc(this,void 0,void 0,function*(){if(!this.validate(ne))return;const{graph:oe}=this.context;let ue=this.options.origin;!ue&&"viewport"in ne&&(ue=Da(ne.viewport));const{sensitivity:fe,onFinish:ge}=this.options,ye=1+(0,_u.Z)(E,-50,50)*fe/100,De=oe.getZoom();yield oe.zoomTo(De*ye,re,ue),ge==null||ge()}),this.onReset=()=>dc(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=E=>{this.options.preventDefault&&E.preventDefault()},this.shortcut=new Na(b.graph),this.bindEvents()}update(b){super.update(b),this.bindEvents()}bindEvents(){const{trigger:b}=this.options;if(this.shortcut.unbindAll(),Array.isArray(b))if(b.includes(Ye.PINCH))this.shortcut.bind([Ye.PINCH],x=>{this.zoom(x.scale,x,!1)});else{const x=this.context.canvas.getContainer();x==null||x.addEventListener(Ye.WHEEL,this.preventDefault),this.shortcut.bind([...b,Ye.WHEEL],E=>{const{deltaX:ne,deltaY:re}=E;this.zoom(-(re!=null?re:ne),E,!1)})}if(typeof b=="object"){const{zoomIn:x=[],zoomOut:E=[],reset:ne=[]}=b;this.shortcut.bind(x,re=>this.zoom(10,re,this.options.animation)),this.shortcut.bind(E,re=>this.zoom(-10,re,this.options.animation)),this.shortcut.bind(ne,this.onReset)}}validate(b){if(this.destroyed)return!1;const{enable:x}=this.options;return(0,On.Z)(x)?x(b):!!x}destroy(){var b;this.shortcut.destroy(),(b=this.context.canvas.getContainer())===null||b===void 0||b.removeEventListener(Ye.WHEEL,this.preventDefault),super.destroy()}}Nc.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};function gd(te,b,x,E="height"){const ne=te[E],re=b[E];return x==="center"?(ne+re)/2:te.height}const Ic=Object.assign,fd={getId:te=>te.id||te.name,getPreH:te=>te.preH||0,getPreV:te=>te.preV||0,getHGap:te=>te.hgap||18,getVGap:te=>te.vgap||18,getChildren:te=>te.children,getHeight:te=>te.height||36,getWidth(te){const b=te.label||" ";return te.width||18*b.split("").length}};class yd{constructor(b,x){if(this.x=0,this.y=0,this.depth=0,this.children=[],this.hgap=0,this.vgap=0,b instanceof yd||"x"in b&&"y"in b&&"children"in b){const re=b;return this.data=re.data,this.id=re.id,this.x=re.x,this.y=re.y,this.width=re.width,this.height=re.height,this.depth=re.depth,this.children=re.children,this.parent=re.parent,this.hgap=re.hgap,this.vgap=re.vgap,this.preH=re.preH,void(this.preV=re.preV)}this.data=b;const E=x.getHGap(b),ne=x.getVGap(b);this.preH=x.getPreH(b),this.preV=x.getPreV(b),this.width=x.getWidth(b),this.height=x.getHeight(b),this.width+=this.preH,this.height+=this.preV,this.id=x.getId(b),this.addGap(E,ne)}isRoot(){return this.depth===0}isLeaf(){return this.children.length===0}addGap(b,x){this.hgap+=b,this.vgap+=x,this.width+=2*b,this.height+=2*x}eachNode(b){let x,E=[this];for(;x=E.shift();)b(x),E=x.children.concat(E)}DFTraverse(b){this.eachNode(b)}BFTraverse(b){let x,E=[this];for(;x=E.shift();)b(x),E=E.concat(x.children)}getBoundingBox(){const b={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(x=>{b.left=Math.min(b.left,x.x),b.top=Math.min(b.top,x.y),b.width=Math.max(b.width,x.x+x.width),b.height=Math.max(b.height,x.y+x.height)}),b}translate(b=0,x=0){this.eachNode(E=>{E.x+=b,E.y+=x,E.x+=E.preH,E.y+=E.preV})}right2left(){const b=this.getBoundingBox();this.eachNode(x=>{x.x=x.x-2*(x.x-b.left)-x.width}),this.translate(b.width,0)}bottom2top(){const b=this.getBoundingBox();this.eachNode(x=>{x.y=x.y-2*(x.y-b.top)-x.height}),this.translate(0,b.height)}}function hc(te,b={},x){b=Ic({},fd,b);const E=new yd(te,b),ne=[E];let re;if(!x&&!te.collapsed){for(;re=ne.shift();)if(!re.data.collapsed){const oe=b.getChildren(re.data),ue=oe?oe.length:0;if(re.children=new Array(ue),oe&&ue)for(let fe=0;fe{const re=nm.fromNode(ne,x);re&&E.push(re)}),x?new nm(b.height,b.width,b.x,E):new nm(b.width,b.height,b.y,E)}};function Gc(te,b,x){x?te.y+=b:te.x+=b,te.children.forEach(E=>{Gc(E,b,x)})}function lc(te,b){let x=b?te.y:te.x;return te.children.forEach(E=>{x=Math.min(lc(E,b),x)}),x}function zc(te,b){Gc(te,-lc(te,b),b)}function Uc(te,b,x){x?b.y=te.x:b.x=te.x,te.c.forEach((E,ne)=>{Uc(E,b.children[ne],x)})}function ld(te,b,x=0){b?(te.x=x,x+=te.width):(te.y=x,x+=te.height),te.children.forEach(E=>{ld(E,b,x)})}function Nd(te,b={}){const x=b.isHorizontal;function E(De){De.cs===0?(De.el=De,De.er=De,De.msel=De.mser=0):(De.el=De.c[0].el,De.msel=De.c[0].msel,De.er=De.c[De.cs-1].er,De.mser=De.c[De.cs-1].mser)}function ne(De,Te,Ve){let rt=De.c[Te-1],At=rt.mod,Mt=De.c[Te],Ut=Mt.mod;for(;rt!==null&&Mt!==null;){Ve&&fe(rt)>Ve.low&&(Ve=Ve.nxt);const en=At+rt.prelim+rt.w-(Ut+Mt.prelim);en>0&&(Ut+=en,Ve&&re(De,Te,Ve.index,en));const hn=fe(rt),rr=fe(Mt);hn<=rr&&(rt=ue(rt),rt!==null&&(At+=rt.mod)),hn>=rr&&(Mt=oe(Mt),Mt!==null&&(Ut+=Mt.mod))}!rt&&Mt?function(en,hn,rr,mi){const ei=en.c[0].el;ei.tl=rr;const Ri=mi-rr.mod-en.c[0].msel;ei.mod+=Ri,ei.prelim-=Ri,en.c[0].el=en.c[hn].el,en.c[0].msel=en.c[hn].msel}(De,Te,Mt,Ut):rt&&!Mt&&function(en,hn,rr,mi){const ei=en.c[hn].er;ei.tr=rr;const Ri=mi-rr.mod-en.c[hn].mser;ei.mod+=Ri,ei.prelim-=Ri,en.c[hn].er=en.c[hn-1].er,en.c[hn].mser=en.c[hn-1].mser}(De,Te,rt,At)}function re(De,Te,Ve,rt){De.c[Te].mod+=rt,De.c[Te].msel+=rt,De.c[Te].mser+=rt,function(At,Mt,Ut,en){if(Ut!==Mt-1){const hn=Mt-Ut;At.c[Ut+1].shift+=en/hn,At.c[Mt].shift-=en/hn,At.c[Mt].change-=en-en/hn}}(De,Te,Ve,rt)}function oe(De){return De.cs===0?De.tl:De.c[0]}function ue(De){return De.cs===0?De.tr:De.c[De.cs-1]}function fe(De){return De.y+De.h}function ge(De,Te,Ve){for(;Ve!==null&&De>=Ve.low;)Ve=Ve.nxt;return{low:De,index:Te,nxt:Ve}}ld(te,x);const ye=rc.fromNode(te,x);return ye&&(function De(Te){if(Te.cs===0)return void E(Te);De(Te.c[0]);let Ve=ge(fe(Te.c[0].el),0,null);for(let rt=1;rt{ue.isRoot()||(ue.side="left")}),E.eachNode(ue=>{ue.isRoot()||(ue.side="right")}),{left:x,right:E}}const vd=["LR","RL","TB","BT","H","V"],Xd=["LR","RL","H"],ju=vd[0];function Ec(te,b,x){const E=b.direction||ju;if(b.isHorizontal=(re=>Xd.indexOf(re)>-1)(E),E&&vd.indexOf(E)===-1)throw new TypeError(`Invalid direction: ${E}`);if(E===vd[0])x(te,b);else if(E===vd[1])x(te,b),te.right2left();else if(E===vd[2])x(te,b);else if(E===vd[3])x(te,b),te.bottom2top();else if(E===vd[4]||E===vd[5]){const{left:re,right:oe}=Hc(te,b);x(re,b),x(oe,b),b.isHorizontal?re.right2left():re.bottom2top(),oe.translate(re.x-oe.x,re.y-oe.y),te.x=re.x,te.y=oe.y;const ue=te.getBoundingBox();b.isHorizontal?ue.top<0&&te.translate(0,-ue.top):ue.left<0&&te.translate(-ue.left,0)}let ne=b.fixedRoot;return ne===void 0&&(ne=!0),ne&&te.translate(-(te.x+te.width/2+te.hgap),-(te.y+te.height/2+te.vgap)),function(re,oe){if(oe.radial){const[ue,fe]=oe.isHorizontal?["x","y"]:["y","x"],ge={x:1/0,y:1/0},ye={x:-1/0,y:-1/0};let De=0;re.DFTraverse(rt=>{De++;const{x:At,y:Mt}=rt;ge.x=Math.min(ge.x,At),ge.y=Math.min(ge.y,Mt),ye.x=Math.max(ye.x,At),ye.y=Math.max(ye.y,Mt)});const Te=ye[fe]-ge[fe];if(Te===0)return;const Ve=2*Math.PI/De;re.DFTraverse(rt=>{const At=rt[fe],Mt=ge[fe],Ut=rt[ue],en=re[ue],hn=(At-Mt)/Te*(2*Math.PI-Ve)+Ve,rr=Ut-en;rt.x=Math.cos(hn)*rr,rt.y=Math.sin(hn)*rr})}}(te,b),te}class yf extends Eu{execute(){return Ec(this.rootNode,this.options,Nd)}}const uf={};function rd(te,b){const x=Ic({},uf,b);return new yf(te,x).execute()}class Nf{constructor(b=0,x=[]){this.x=0,this.y=0,this.leftChild=null,this.rightChild=null,this.isLeaf=!1,this.height=b,this.children=x}}const Xc={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function Df(te,b,x){x?(b.x=te.x,b.y=te.y):(b.x=te.y,b.y=te.x),te.children.forEach((E,ne)=>{Df(E,b.children[ne],x)})}function Sh(te,b={}){const x=Ic({},Xc,b);let E=0,ne=null;const re=function oe(ue){ue.width=0,ue.depth&&ue.depth>E&&(E=ue.depth);const fe=ue.children,ge=fe.length,ye=new Nf(0,[]);return fe.forEach((De,Te)=>{const Ve=oe(De);ye.children.push(Ve),Te===0&&(ye.leftChild=Ve),Te===ge-1&&(ye.rightChild=Ve)}),ye.originNode=ue,ye.isLeaf=ue.isLeaf(),ye}(te);return function oe(ue){if(ue.isLeaf||ue.children.length===0)ue.drawingDepth=E;else{const fe=ue.children.map(ye=>oe(ye)),ge=Math.min(...fe);ue.drawingDepth=ge-1}return ue.drawingDepth}(re),function oe(ue){ue.x=ue.drawingDepth*x.rankSep,ue.isLeaf?(ue.y=0,ne&&(ue.y=ne.y+ne.height+x.nodeSep,ue.originNode.parent!==ne.originNode.parent&&(ue.y+=x.subTreeSep)),ne=ue):(ue.children.forEach(fe=>{oe(fe)}),ue.y=(ue.leftChild.y+ue.rightChild.y)/2)}(re),Df(re,te,x.isHorizontal),te}class Eh extends Eu{execute(){return this.rootNode.width=0,Ec(this.rootNode,this.options,Sh)}}const qf={};function Yd(te,b){const x=Ic({},qf,b);return new Eh(te,x).execute()}function Jd(te,b,x,E){let ne=null;te.eachNode(re=>{(function(oe,ue,fe,ge,ye){const De=(typeof fe=="function"?fe(oe):fe)*oe.depth;if(!ge)try{if(oe.parent&&oe.id===oe.parent.children[0].id)return oe.x+=De,void(oe.y=ue?ue.y:0)}catch(Te){}if(oe.x+=De,ue){if(oe.y=ue.y+gd(ue,oe,ye),ue.parent&&oe.parent&&oe.parent.id!==ue.parent.id){const Te=ue.parent,Ve=Te.y+gd(Te,oe,ye);oe.y=Ve>oe.y?Ve:oe.y}}else oe.y=0})(re,ne,b,x,E),ne=re})}const oo=["LR","RL","H"],Mh=oo[0];class _f extends Eu{execute(){const b=this.options,x=this.rootNode;b.isHorizontal=!0;const{indent:E=20,dropCap:ne=!0,direction:re=Mh,align:oe}=b;if(re&&oo.indexOf(re)===-1)throw new TypeError(`Invalid direction: ${re}`);if(re===oo[0])Jd(x,E,ne,oe);else if(re===oo[1])Jd(x,E,ne,oe),x.right2left();else if(re===oo[2]){const{left:ue,right:fe}=Hc(x,b);Jd(ue,E,ne,oe),ue.right2left(),Jd(fe,E,ne,oe);const ge=ue.getBoundingBox();fe.translate(ge.width,0),x.x=fe.x-x.width/2}return x}}const $f={};function bd(te,b){const x=Ic({},$f,b);return new _f(te,x).execute()}function fu(te,b){let x=0;return te.children.length?te.children.forEach(E=>{x+=fu(E,b)}):x=te.height,te._subTreeSep=b.getSubTreeSep(te.data),te.totalHeight=Math.max(te.height,x)+2*te._subTreeSep,te.totalHeight}function Ff(te){const b=te.children,x=b.length;if(x){b.forEach(ue=>{Ff(ue)});const E=b[0],ne=b[x-1],re=ne.y-E.y+ne.height;let oe=0;if(b.forEach(ue=>{oe+=ue.totalHeight}),re>te.height)te.y=E.y+re/2-te.height/2;else if(b.length!==1||te.height>oe){const ue=te.y+(te.height-re)/2-E.y;b.forEach(fe=>{fe.translate(0,ue)})}else te.y=(E.y+E.height/2+ne.y+ne.height/2)/2-te.height/2}}const Qf={getSubTreeSep:()=>0};function yc(te,b={}){return b=Ic({},Qf,b),te.parent={x:0,width:0,height:0,y:0},te.BFTraverse(x=>{x.x=x.parent.x+x.parent.width}),te.parent=void 0,fu(te,b),te.startY=0,te.y=te.totalHeight/2-te.height/2,te.eachNode(x=>{const E=x.children,ne=E.length;if(ne){const re=E[0];if(re.startY=x.startY+x._subTreeSep,ne===1)re.y=x.y+x.height/2-re.height/2;else{re.y=re.startY+re.totalHeight/2-re.height/2;for(let oe=1;oe{if(te!=="next"&&te!=="prev")return b},xd=te=>{te.prev.next=te.next,te.next.prev=te.prev,delete te.next,delete te.prev};class ad{constructor(){const b={};b.prev=b,b.next=b.prev,this.shortcut=b}dequeue(){const b=this.shortcut,x=b.prev;if(x&&x!==b)return xd(x),x}enqueue(b){const x=this.shortcut;b.prev&&b.next&&xd(b),b.next=x.next,x.next.prev=b,x.next=b,b.prev=x}toString(){const b=[],x=this.shortcut;let E=x.prev;for(;E!==x;)b.push(JSON.stringify(E,id)),E=E==null?void 0:E.prev;return`[${b.join(", ")}]`}}class wc extends ad{}const Qu=()=>1,fc=(te,b)=>{var x;if(te.getAllNodes().length<=1)return[];const E=Vd(te,b||Qu);return(x=hd(E.graph,E.buckets,E.zeroIdx).map(re=>te.getRelatedEdges(re.v,"out").filter(({target:oe})=>oe===re.w)))===null||x===void 0?void 0:x.flat()},hd=(te,b,x)=>{let E=[];const ne=b[b.length-1],re=b[0];let oe;for(;te.getAllNodes().length;){for(;oe=re.dequeue();)Fd(te,b,x,oe);for(;oe=ne.dequeue();)Fd(te,b,x,oe);if(te.getAllNodes().length){for(let ue=b.length-2;ue>0;--ue)if(oe=b[ue].dequeue(),oe){E=E.concat(Fd(te,b,x,oe,!0));break}}}return E},Fd=(te,b,x,E,ne)=>{var re,oe;const ue=[];return te.hasNode(E.v)&&((re=te.getRelatedEdges(E.v,"in"))===null||re===void 0||re.forEach(fe=>{const ge=fe.data.weight,ye=te.getNode(fe.source);ne&&ue.push({v:fe.source,w:fe.target,in:0,out:0}),ye.data.out===void 0&&(ye.data.out=0),ye.data.out-=ge,hh(b,x,Object.assign({v:ye.id},ye.data))}),(oe=te.getRelatedEdges(E.v,"out"))===null||oe===void 0||oe.forEach(fe=>{const ge=fe.data.weight,ye=fe.target,De=te.getNode(ye);De.data.in===void 0&&(De.data.in=0),De.data.in-=ge,hh(b,x,Object.assign({v:De.id},De.data))}),te.removeNode(E.v)),ne?ue:void 0},Vd=(te,b)=>{const x=new wi.k;let E=0,ne=0;te.getAllNodes().forEach(fe=>{x.addNode({id:fe.id,data:{v:fe.id,in:0,out:0}})}),te.getAllEdges().forEach(fe=>{const ge=x.getRelatedEdges(fe.source,"out").find(De=>De.target===fe.target),ye=(b==null?void 0:b(fe))||1;ge?x.updateEdgeData(ge==null?void 0:ge.id,Object.assign(Object.assign({},ge.data),{weight:ge.data.weight+ye})):x.addEdge({id:fe.id,source:fe.source,target:fe.target,data:{weight:ye}}),ne=Math.max(ne,x.getNode(fe.source).data.out+=ye),E=Math.max(E,x.getNode(fe.target).data.in+=ye)});const re=[],oe=ne+E+3;for(let fe=0;fe{hh(re,ue,Object.assign({v:fe.id},x.getNode(fe.id).data))}),{buckets:re,zeroIdx:ue,graph:x}},hh=(te,b,x)=>{x.out?x.in?te[x.out-x.in+b].enqueue(x):te[te.length-1].enqueue(x):te[0].enqueue(x)},Vc=(te,b)=>{const E=b==="greedy"?fc(te,(ne=>re=>re.data.weight||1)(te)):Qd(te);E==null||E.forEach(ne=>{const re=ne.data;te.removeEdge(ne.id),re.forwardName=ne.data.name,re.reversed=!0,te.addEdge({id:ne.id,source:ne.target,target:ne.source,data:Object.assign({},re)})})},Qd=te=>{const b=[],x={},E={},ne=re=>{E[re]||(E[re]=!0,x[re]=!0,te.getRelatedEdges(re,"out").forEach(oe=>{x[oe.target]?b.push(oe):ne(oe.target)}),delete x[re])};return te.getAllNodes().forEach(re=>ne(re.id)),b},Oh=te=>{te.getAllEdges().forEach(b=>{const x=b.data;if(x.reversed){te.removeEdge(b.id);const E=x.forwardName;delete x.reversed,delete x.forwardName,te.addEdge({id:b.id,source:b.target,target:b.source,data:Object.assign(Object.assign({},x),{forwardName:E})})}})},cf=(te,b)=>Number(te)-Number(b),Wf=(te,b,x,E)=>{let ne;do ne=`${E}${Math.random()}`;while(te.hasNode(ne));return x.dummy=b,te.addNode({id:ne,data:x}),ne},uc=te=>{const b=new wi.k;return te.getAllNodes().forEach(x=>{b.addNode(Object.assign({},x))}),te.getAllEdges().forEach(x=>{const E=b.getRelatedEdges(x.source,"out").find(ne=>ne.target===x.target);E?b.updateEdgeData(E==null?void 0:E.id,Object.assign(Object.assign({},E.data),{weight:E.data.weight+x.data.weight||0,minlen:Math.max(E.data.minlen,x.data.minlen||1)})):b.addEdge({id:x.id,source:x.source,target:x.target,data:{weight:x.data.weight||0,minlen:x.data.minlen||1}})}),b},Ja=te=>{const b=new wi.k;return te.getAllNodes().forEach(x=>{te.getChildren(x.id).length||b.addNode(Object.assign({},x))}),te.getAllEdges().forEach(x=>{b.addEdge(x)}),b},Sd=(te,b)=>te==null?void 0:te.reduce((x,E,ne)=>(x[E]=b[ne],x),{}),Nh=te=>{const b={};return te.getAllNodes().forEach(x=>{const E={};te.getRelatedEdges(x.id,"out").forEach(ne=>{E[ne.target]=(E[ne.target]||0)+(ne.data.weight||0)}),b[x.id]=E}),b},ga=te=>{const b=te.getAllNodes(),x=b.map(E=>{const ne={};return te.getRelatedEdges(E.id,"in").forEach(re=>{ne[re.source]=(ne[re.source]||0)+re.data.weight}),ne});return Sd(b.map(E=>E.id),x)},ph=(te,b)=>{const x=Number(te.x),E=Number(te.y),ne=Number(b.x)-x,re=Number(b.y)-E;let oe=Number(te.width)/2,ue=Number(te.height)/2;if(!ne&&!re)return{x:0,y:0};let fe,ge;return Math.abs(re)*oe>Math.abs(ne)*ue?(re<0&&(ue=-ue),fe=ue*ne/re,ge=ue):(ne<0&&(oe=-oe),fe=oe,ge=oe*re/ne),{x:x+fe,y:E+ge}},Kf=te=>{const b=[],x=gh(te)+1;for(let E=0;E{const ne=E.data.rank;ne!==void 0&&b[ne]&&b[ne].push(E.id)});for(let E=0;Ecf(te.getNode(ne).data.order,te.getNode(re).data.order));return b},Zh=te=>{const b=te.getAllNodes().filter(E=>E.data.rank!==void 0).map(E=>E.data.rank),x=Math.min(...b);te.getAllNodes().forEach(E=>{E.data.hasOwnProperty("rank")&&x!==1/0&&(E.data.rank-=x)})},Xh=(te,b=0)=>{const x=te.getAllNodes(),E=x.filter(ue=>ue.data.rank!==void 0).map(ue=>ue.data.rank),ne=Math.min(...E),re=[];x.forEach(ue=>{const fe=(ue.data.rank||0)-ne;re[fe]||(re[fe]=[]),re[fe].push(ue.id)});let oe=0;for(let ue=0;ue{const ye=te.getNode(ge);ye&&(ye.data.rank=ye.data.rank||0,ye.data.rank+=oe)}))}},Wd=(te,b,x,E)=>{const ne={width:0,height:0};return(0,yt.Z)(x)&&(0,yt.Z)(E)&&(ne.rank=x,ne.order=E),Wf(te,"border",ne,b)},gh=te=>{let b;return te.getAllNodes().forEach(x=>{const E=x.data.rank;E!==void 0&&(b===void 0||E>b)&&(b=E)}),b||(b=0),b},A0=(te,b)=>{const x={lhs:[],rhs:[]};return te==null||te.forEach(E=>{b(E)?x.lhs.push(E):x.rhs.push(E)}),x},Fc=(te,b)=>te.reduce((x,E)=>{const ne=b(x),re=b(E);return ne>re?E:x}),Wl=(te,b,x,E,ne,re)=>{E.includes(b.id)||(E.push(b.id),x||re.push(b.id),ne(b.id).forEach(oe=>Wl(te,oe,x,E,ne,re)),x&&re.push(b.id))},df=(te,b,x,E)=>{const ne=Array.isArray(b)?b:[b],re=fe=>E?te.getSuccessors(fe):te.getNeighbors(fe),oe=[],ue=[];return ne.forEach(fe=>{if(te.hasNode(fe.id))Wl(te,fe,x==="post",ue,re,oe);else throw new Error(`Graph does not have node: ${fe}`)}),oe},wh=te=>{const b=x=>{const E=te.getChildren(x),ne=te.getNode(x);if(E!=null&&E.length&&E.forEach(re=>b(re.id)),ne.data.hasOwnProperty("minRank")){ne.data.borderLeft=[],ne.data.borderRight=[];for(let re=ne.data.minRank,oe=ne.data.maxRank+1;reb(x.id))},Vh=(te,b,x,E,ne,re)=>{const oe={rank:re,borderType:b,width:0,height:0},ue=ne.data[b][re-1],fe=Wf(te,"border",oe,x);ne.data[b][re]=fe,te.setParent(fe,E),ue&&te.addEdge({id:`e${Math.random()}`,source:ue,target:fe,data:{weight:1}})},Pf=(te,b)=>{const x=b.toLowerCase();(x==="lr"||x==="rl")&&$u(te)},_d=(te,b)=>{const x=b.toLowerCase();(x==="bt"||x==="rl")&&dl(te),(x==="lr"||x==="rl")&&(Qc(te),$u(te))},$u=te=>{te.getAllNodes().forEach(b=>{sl(b)}),te.getAllEdges().forEach(b=>{sl(b)})},sl=te=>{const b=te.data.width;te.data.width=te.data.height,te.data.height=b},dl=te=>{te.getAllNodes().forEach(b=>{Wu(b.data)}),te.getAllEdges().forEach(b=>{var x;(x=b.data.points)===null||x===void 0||x.forEach(E=>Wu(E)),b.data.hasOwnProperty("y")&&Wu(b.data)})},Wu=te=>{te!=null&&te.y&&(te.y=-te.y)},Qc=te=>{te.getAllNodes().forEach(b=>{Gf(b.data)}),te.getAllEdges().forEach(b=>{var x;(x=b.data.points)===null||x===void 0||x.forEach(E=>Gf(E)),b.data.hasOwnProperty("x")&&Gf(b.data)})},Gf=te=>{const b=te.x;te.x=te.y,te.y=b},Ed=te=>{const b=Wf(te,"root",{},"_root"),x=Sf(te);let E=Math.max(...Object.values(x));Math.abs(E)===1/0&&(E=1);const ne=E-1,re=2*ne+1;te.getAllEdges().forEach(ue=>{ue.data.minlen*=re});const oe=Fh(te)+1;return te.getRoots().forEach(ue=>{ff(te,b,re,oe,ne,x,ue.id)}),{nestingRoot:b,nodeRankFactor:re}},ff=(te,b,x,E,ne,re,oe)=>{const ue=te.getChildren(oe);if(!(ue!=null&&ue.length)){oe!==b&&te.addEdge({id:`e${Math.random()}`,source:b,target:oe,data:{weight:0,minlen:x}});return}const fe=Wd(te,"_bt"),ge=Wd(te,"_bb"),ye=te.getNode(oe);te.setParent(fe,oe),ye.data.borderTop=fe,te.setParent(ge,oe),ye.data.borderBottom=ge,ue==null||ue.forEach(De=>{ff(te,b,x,E,ne,re,De.id);const Te=De.data.borderTop?De.data.borderTop:De.id,Ve=De.data.borderBottom?De.data.borderBottom:De.id,rt=De.data.borderTop?E:2*E,At=Te!==Ve?1:ne-re[oe]+1;te.addEdge({id:`e${Math.random()}`,source:fe,target:Te,data:{minlen:At,weight:rt,nestingEdge:!0}}),te.addEdge({id:`e${Math.random()}`,source:Ve,target:ge,data:{minlen:At,weight:rt,nestingEdge:!0}})}),te.getParent(oe)||te.addEdge({id:`e${Math.random()}`,source:b,target:fe,data:{weight:0,minlen:ne+re[oe]}})},Sf=te=>{const b={},x=(E,ne)=>{const re=te.getChildren(E);re==null||re.forEach(oe=>x(oe.id,ne+1)),b[E]=ne};return te.getRoots().forEach(E=>x(E.id,1)),b},Fh=te=>{let b=0;return te.getAllEdges().forEach(x=>{b+=x.data.weight}),b},nh=(te,b)=>{b&&te.removeNode(b),te.getAllEdges().forEach(x=>{x.data.nestingEdge&&te.removeEdge(x.id)})},kd="edge",su="edge-label",up=(te,b)=>{te.getAllEdges().forEach(x=>y0(te,x,b))},y0=(te,b,x)=>{let E=b.source,ne=te.getNode(E).data.rank;const re=b.target,oe=te.getNode(re).data.rank,ue=b.data.labelRank;if(oe===ne+1)return;te.removeEdge(b.id);let fe,ge,ye;for(ye=0,++ne;ne{b.forEach(x=>{let E=te.getNode(x);const{data:ne}=E,re=ne.originalEdge;let oe;re&&te.addEdge(re);let ue=x;for(;E.data.dummy;)oe=te.getSuccessors(ue)[0],te.removeNode(ue),re.data.points.push({x:E.data.x,y:E.data.y}),E.data.dummy===su&&(re.data.x=E.data.x,re.data.y=E.data.y,re.data.width=E.data.width,re.data.height=E.data.height),ue=oe.id,E=te.getNode(ue)})},rh=(te,b,x)=>{const E={};let ne;x==null||x.forEach(re=>{let oe=te.getParent(re),ue,fe;for(;oe;){if(ue=te.getParent(oe.id),ue?(fe=E[ue.id],E[ue.id]=oe.id):(fe=ne,ne=oe.id),fe&&fe!==oe.id){b.hasNode(fe)||b.addNode({id:fe,data:{}}),b.hasNode(oe.id)||b.addNode({id:oe.id,data:{}}),b.hasEdge(`e${fe}-${oe.id}`)||b.addEdge({id:`e${fe}-${oe.id}`,source:fe,target:oe.id,data:{}});return}oe=ue}})},ih=(te,b,x)=>{const E=o0(te),ne=new wi.k({tree:[{id:E,children:[],data:{}}]});return te.getAllNodes().forEach(re=>{const oe=te.getParent(re.id);(re.data.rank===b||re.data.minRank<=b&&b<=re.data.maxRank)&&(ne.hasNode(re.id)||ne.addNode(Object.assign({},re)),oe!=null&&oe.id&&!ne.hasNode(oe==null?void 0:oe.id)&&ne.addNode(Object.assign({},oe)),ne.setParent(re.id,(oe==null?void 0:oe.id)||E),te.getRelatedEdges(re.id,x).forEach(ue=>{const fe=ue.source===re.id?ue.target:ue.source;ne.hasNode(fe)||ne.addNode(Object.assign({},te.getNode(fe)));const ge=ne.getRelatedEdges(fe,"out").find(({target:De})=>De===re.id),ye=ge!==void 0?ge.data.weight:0;ge?ne.updateEdgeData(ge.id,Object.assign(Object.assign({},ge.data),{weight:ue.data.weight+ye})):ne.addEdge({id:ue.id,source:fe,target:re.id,data:{weight:ue.data.weight+ye}})}),re.data.hasOwnProperty("minRank")&&ne.updateNodeData(re.id,Object.assign(Object.assign({},re.data),{borderLeft:re.data.borderLeft[b],borderRight:re.data.borderRight[b]})))}),ne},o0=te=>{let b;for(;te.hasNode(b=`_root${Math.random()}`););return b},b0=(te,b,x)=>{const E=Sd(x,x.map((ye,De)=>De)),re=b.map(ye=>{const De=te.getRelatedEdges(ye,"out").map(Te=>({pos:E[Te.target]||0,weight:Te.data.weight}));return De==null?void 0:De.sort((Te,Ve)=>Te.pos-Ve.pos)}).flat().filter(ye=>ye!==void 0);let oe=1;for(;oe{if(ye){let De=ye.pos+oe;fe[De]+=ye.weight;let Te=0;for(;De>0;)De%2&&(Te+=fe[De+1]),De=De-1>>1,fe[De]+=ye.weight;ge+=ye.weight*Te}}),ge},s0=(te,b)=>{let x=0;for(let E=1;E<(b==null?void 0:b.length);E+=1)x+=b0(te,b[E-1],b[E]);return x},Ch=te=>{const b={},x=te.getAllNodes(),E=x.map(ge=>{var ye;return(ye=ge.data.rank)!==null&&ye!==void 0?ye:-1/0}),ne=Math.max(...E),re=[];for(let ge=0;gete.getNode(ge.id).data.rank-te.getNode(ye.id).data.rank),fe=oe.filter(ge=>te.getNode(ge.id).data.fixorder!==void 0).sort((ge,ye)=>te.getNode(ge.id).data.fixorder-te.getNode(ye.id).data.fixorder);return fe==null||fe.forEach(ge=>{isNaN(te.getNode(ge.id).data.rank)||re[te.getNode(ge.id).data.rank].push(ge.id),b[ge.id]=!0}),oe==null||oe.forEach(ge=>te.dfsTree(ge.id,ye=>{if(b.hasOwnProperty(ye.id))return!0;b[ye.id]=!0,isNaN(ye.data.rank)||re[ye.data.rank].push(ye.id)})),re},x0=(te,b)=>b.map(x=>{const E=te.getRelatedEdges(x,"in");if(!(E!=null&&E.length))return{v:x};const ne={sum:0,weight:0};return E==null||E.forEach(re=>{const oe=te.getNode(re.source);ne.sum+=re.data.weight*oe.data.order,ne.weight+=re.data.weight}),{v:x,barycenter:ne.sum/ne.weight,weight:ne.weight}}),l0=(te,b)=>{var x,E,ne;const re={};te==null||te.forEach((ue,fe)=>{re[ue.v]={i:fe,indegree:0,in:[],out:[],vs:[ue.v]};const ge=re[ue.v];ue.barycenter!==void 0&&(ge.barycenter=ue.barycenter,ge.weight=ue.weight)}),(x=b.getAllEdges())===null||x===void 0||x.forEach(ue=>{const fe=re[ue.source],ge=re[ue.target];fe!==void 0&&ge!==void 0&&(ge.indegree++,fe.out.push(re[ue.target]))});const oe=(ne=(E=Object.values(re)).filter)===null||ne===void 0?void 0:ne.call(E,ue=>!ue.indegree);return E0(oe)},E0=te=>{var b,x;const E=[],ne=fe=>ge=>{ge.merged||(ge.barycenter===void 0||fe.barycenter===void 0||ge.barycenter>=fe.barycenter)&&Qh(fe,ge)},re=fe=>ge=>{ge.in.push(fe),--ge.indegree===0&&te.push(ge)};for(;te!=null&&te.length;){const fe=te.pop();E.push(fe),(b=fe.in.reverse())===null||b===void 0||b.forEach(ge=>ne(fe)(ge)),(x=fe.out)===null||x===void 0||x.forEach(ge=>re(fe)(ge))}const oe=E.filter(fe=>!fe.merged),ue=["vs","i","barycenter","weight"];return oe.map(fe=>{const ge={};return ue==null||ue.forEach(ye=>{fe[ye]!==void 0&&(ge[ye]=fe[ye])}),ge})},Qh=(te,b)=>{var x;let E=0,ne=0;te.weight&&(E+=te.barycenter*te.weight,ne+=te.weight),b.weight&&(E+=b.barycenter*b.weight,ne+=b.weight),te.vs=(x=b.vs)===null||x===void 0?void 0:x.concat(te.vs),te.barycenter=E/ne,te.weight=ne,te.i=Math.min(b.i,te.i),b.merged=!0};var Yh=l0;const Bu=(te,b,x,E)=>{const ne=A0(te,Te=>{const Ve=Te.hasOwnProperty("fixorder")&&!isNaN(Te.fixorder);return E?!Ve&&Te.hasOwnProperty("barycenter"):Ve||Te.hasOwnProperty("barycenter")}),re=ne.lhs,oe=ne.rhs.sort((Te,Ve)=>-Te.i- -Ve.i),ue=[];let fe=0,ge=0,ye=0;re==null||re.sort(w0(!!b,!!x)),ye=T0(ue,oe,ye),re==null||re.forEach(Te=>{var Ve;ye+=(Ve=Te.vs)===null||Ve===void 0?void 0:Ve.length,ue.push(Te.vs),fe+=Te.barycenter*Te.weight,ge+=Te.weight,ye=T0(ue,oe,ye)});const De={vs:ue.flat()};return ge&&(De.barycenter=fe/ge,De.weight=ge),De},T0=(te,b,x)=>{let E=x,ne;for(;b.length&&(ne=b[b.length-1]).i<=E;)b.pop(),te==null||te.push(ne.vs),E++;return E},w0=(te,b)=>(x,E)=>{if(x.fixorder!==void 0&&E.fixorder!==void 0)return x.fixorder-E.fixorder;if(x.barycenterE.barycenter)return 1;if(b&&x.order!==void 0&&E.order!==void 0){if(x.orderE.order)return 1}return te?E.i-x.i:x.i-E.i},ah=(te,b,x,E,ne,re)=>{var oe,ue,fe,ge;let ye=te.getChildren(b).map(en=>en.id);const De=te.getNode(b),Te=De?De.data.borderLeft:void 0,Ve=De?De.data.borderRight:void 0,rt={};Te&&(ye=ye==null?void 0:ye.filter(en=>en!==Te&&en!==Ve));const At=x0(te,ye||[]);At==null||At.forEach(en=>{var hn;if(!((hn=te.getChildren(en.v))===null||hn===void 0)&&hn.length){const rr=ah(te,en.v,x,E,re);rt[en.v]=rr,rr.hasOwnProperty("barycenter")&&u0(en,rr)}});const Mt=Yh(At,x);cp(Mt,rt),(oe=Mt.filter(en=>en.vs.length>0))===null||oe===void 0||oe.forEach(en=>{const hn=te.getNode(en.vs[0]);hn&&(en.fixorder=hn.data.fixorder,en.order=hn.data.order)});const Ut=Bu(Mt,E,ne,re);if(Te&&(Ut.vs=[Te,Ut.vs,Ve].flat(),!((ue=te.getPredecessors(Te))===null||ue===void 0)&&ue.length)){const en=te.getNode(((fe=te.getPredecessors(Te))===null||fe===void 0?void 0:fe[0].id)||""),hn=te.getNode(((ge=te.getPredecessors(Ve))===null||ge===void 0?void 0:ge[0].id)||"");Ut.hasOwnProperty("barycenter")||(Ut.barycenter=0,Ut.weight=0),Ut.barycenter=(Ut.barycenter*Ut.weight+en.data.order+hn.data.order)/(Ut.weight+2),Ut.weight+=2}return Ut},cp=(te,b)=>{te==null||te.forEach(x=>{var E;const ne=(E=x.vs)===null||E===void 0?void 0:E.map(re=>b[re]?b[re].vs:re);x.vs=ne.flat()})},u0=(te,b)=>{te.barycenter!==void 0?(te.barycenter=(te.barycenter*te.weight+b.barycenter*b.weight)/(te.weight+b.weight),te.weight+=b.weight):(te.barycenter=b.barycenter,te.weight=b.weight)},dp=(te,b)=>{const x=gh(te),E=[],ne=[];for(let ye=1;ye-1;ye--)ne.push(ye);const re=Oc(te,E,"in"),oe=Oc(te,ne,"out");let ue=Ch(te);vh(te,ue);let fe=Number.POSITIVE_INFINITY,ge;for(let ye=0,De=0;De<4;++ye,++De){oh(ye%2?re:oe,ye%4>=2,!1,b),ue=Kf(te);const Te=s0(te,ue);Te=2,!0,b),ue=Kf(te);const Te=s0(te,ue);Teb.map(E=>ih(te,E,x)),oh=(te,b,x,E)=>{const ne=new wi.k;te==null||te.forEach(re=>{var oe;const ue=re.getRoots()[0].id,fe=ah(re,ue,ne,b,x,E);for(let ge=0;ge<((oe=fe.vs)===null||oe===void 0?void 0:oe.length);ge++){const ye=re.getNode(fe.vs[ge]);ye&&(ye.data.order=ge)}rh(re,ne,fe.vs)})},vh=(te,b)=>{b==null||b.forEach(x=>{x==null||x.forEach((E,ne)=>{te.getNode(E).data.order=ne})})},Lf=(te,b)=>{const E=te.getAllNodes().filter(oe=>{var ue;return!(!((ue=te.getChildren(oe.id))===null||ue===void 0)&&ue.length)}).map(oe=>oe.data.rank),ne=Math.max(...E),re=[];for(let oe=0;oe{const ue=te.getNode(oe);!ue||ue.data.dummy||isNaN(ue.data.rank)||(ue.data.fixorder=re[ue.data.rank].length,re[ue.data.rank].push(oe))})},hf=te=>{const b={};let x=0;const E=ne=>{const re=x;te.getChildren(ne).forEach(oe=>E(oe.id)),b[ne]={low:re,lim:x++}};return te.getRoots().forEach(ne=>E(ne.id)),b},ee=(te,b,x,E)=>{var ne,re;const oe=[],ue=[],fe=Math.min(b[x].low,b[E].low),ge=Math.max(b[x].lim,b[E].lim);let ye,De;ye=x;do ye=(ne=te.getParent(ye))===null||ne===void 0?void 0:ne.id,oe.push(ye);while(ye&&(b[ye].low>fe||ge>b[ye].lim));for(De=ye,ye=E;ye&&ye!==De;)ue.push(ye),ye=(re=te.getParent(ye))===null||re===void 0?void 0:re.id;return{lca:De,path:oe.concat(ue.reverse())}},ae=(te,b)=>{const x=hf(te);b.forEach(E=>{var ne,re;let oe=E,ue=te.getNode(oe);const fe=ue.data.originalEdge;if(!fe)return;const ge=ee(te,x,fe.source,fe.target),ye=ge.path,De=ge.lca;let Te=0,Ve=ye[Te],rt=!0;for(;oe!==fe.target;){if(ue=te.getNode(oe),rt){for(;Ve!==De&&((ne=te.getNode(Ve))===null||ne===void 0?void 0:ne.data.maxRank){const x={},E=(ne,re)=>{let oe=0,ue=0;const fe=ne.length,ge=re==null?void 0:re[(re==null?void 0:re.length)-1];return re==null||re.forEach((ye,De)=>{var Te;const Ve=me(te,ye),rt=Ve?te.getNode(Ve.id).data.order:fe;(Ve||ye===ge)&&((Te=re.slice(ue,De+1))===null||Te===void 0||Te.forEach(At=>{var Mt;(Mt=te.getPredecessors(At))===null||Mt===void 0||Mt.forEach(Ut=>{var en;const hn=te.getNode(Ut.id),rr=hn.data.order;(rr{const x={};function E(ue,fe,ge,ye,De){var Te,Ve;let rt;for(let At=fe;At{const Ut=te.getNode(Mt.id);Ut.data.dummy&&(Ut.data.orderDe)&&Se(x,Mt.id,rt)}))}function ne(ue){return JSON.stringify(ue.slice(1))}function re(ue,fe){const ge=ne(ue);fe.get(ge)||(E(...ue),fe.set(ge,!0))}const oe=(ue,fe)=>{let ge=-1,ye,De=0;const Te=new Map;return fe==null||fe.forEach((Ve,rt)=>{var At;if(((At=te.getNode(Ve))===null||At===void 0?void 0:At.data.dummy)==="border"){const Mt=te.getPredecessors(Ve)||[];Mt.length&&(ye=te.getNode(Mt[0].id).data.order,re([fe,De,rt,ge,ye],Te),De=rt,ge=ye)}re([fe,De,fe.length,ye,ue.length],Te)}),fe};return b!=null&&b.length&&b.reduce(oe),x},me=(te,b)=>{var x,E;if(!((x=te.getNode(b))===null||x===void 0)&&x.data.dummy)return(E=te.getPredecessors(b))===null||E===void 0?void 0:E.find(ne=>te.getNode(ne.id).data.dummy)},Se=(te,b,x)=>{let E=b,ne=x;if(E>ne){const oe=E;E=ne,ne=oe}let re=te[E];re||(te[E]=re={}),re[ne]=!0},Qe=(te,b,x)=>{let E=b,ne=x;if(E>ne){const re=b;E=ne,ne=re}return!!te[E]},ct=(te,b,x,E)=>{const ne={},re={},oe={};return b==null||b.forEach(ue=>{ue==null||ue.forEach((fe,ge)=>{ne[fe]=fe,re[fe]=fe,oe[fe]=ge})}),b==null||b.forEach(ue=>{let fe=-1;ue==null||ue.forEach(ge=>{let ye=E(ge).map(De=>De.id);if(ye.length){ye=ye.sort((Te,Ve)=>oe[Te]-oe[Ve]);const De=(ye.length-1)/2;for(let Te=Math.floor(De),Ve=Math.ceil(De);Te<=Ve;++Te){const rt=ye[Te];re[ge]===ge&&fe{var ue;const fe={},ge=kt(te,b,x,ne,re,oe),ye=oe?"borderLeft":"borderRight",De=(rt,At)=>{let Mt=ge.getAllNodes(),Ut=Mt.pop();const en={};for(;Ut;)en[Ut.id]?rt(Ut.id):(en[Ut.id]=!0,Mt.push(Ut),Mt=Mt.concat(At(Ut.id))),Ut=Mt.pop()},Te=rt=>{fe[rt]=(ge.getRelatedEdges(rt,"in")||[]).reduce((At,Mt)=>Math.max(At,(fe[Mt.source]||0)+Mt.data.weight),0)},Ve=rt=>{const At=(ge.getRelatedEdges(rt,"out")||[]).reduce((Ut,en)=>Math.min(Ut,(fe[en.target]||0)-en.data.weight),Number.POSITIVE_INFINITY),Mt=te.getNode(rt);At!==Number.POSITIVE_INFINITY&&Mt.data.borderType!==ye&&(fe[rt]=Math.max(fe[rt],At))};return De(Te,ge.getPredecessors.bind(ge)),De(Ve,ge.getSuccessors.bind(ge)),(ue=Object.values(E))===null||ue===void 0||ue.forEach(rt=>{fe[rt]=fe[x[rt]]}),fe},kt=(te,b,x,E,ne,re)=>{const oe=new wi.k,ue=xa(E,ne,re);return b==null||b.forEach(fe=>{let ge;fe==null||fe.forEach(ye=>{const De=x[ye];if(oe.hasNode(De)||oe.addNode({id:De,data:{}}),ge){const Te=x[ge],Ve=oe.getRelatedEdges(Te,"out").find(rt=>rt.target===De);Ve?oe.updateEdgeData(Ve.id,Object.assign(Object.assign({},Ve.data),{weight:Math.max(ue(te,ye,ge),Ve.data.weight||0)})):oe.addEdge({id:`e${Math.random()}`,source:Te,target:De,data:{weight:Math.max(ue(te,ye,ge),0)}})}ge=ye})}),oe},Yn=(te,b)=>Fc(Object.values(b),x=>{var E;let ne=Number.NEGATIVE_INFINITY,re=Number.POSITIVE_INFINITY;return(E=Object.keys(x))===null||E===void 0||E.forEach(oe=>{const ue=x[oe],fe=Ga(te,oe)/2;ne=Math.max(ue+fe,ne),re=Math.min(ue-fe,re)}),ne-re});function vr(te,b){const x=Object.values(b),E=Math.min(...x),ne=Math.max(...x);["u","d"].forEach(re=>{["l","r"].forEach(oe=>{const ue=re+oe,fe=te[ue];let ge;if(fe===b)return;const ye=Object.values(fe);ge=oe==="l"?E-Math.min(...ye):ne-Math.max(...ye),ge&&(te[ue]={},Object.keys(fe).forEach(De=>{te[ue][De]=fe[De]+ge}))})})}const bi=(te,b)=>{const x={};return Object.keys(te.ul).forEach(E=>{if(b)x[E]=te[b.toLowerCase()][E];else{const ne=Object.values(te).map(re=>re[E]);x[E]=(ne[0]+ne[1])/2}}),x},si=(te,b)=>{const{align:x,nodesep:E=0,edgesep:ne=0}=b||{},re=buildLayerMatrix(te),oe=Object.assign(de(te,re),ce(te,re)),ue={};let fe;["u","d"].forEach(ye=>{fe=ye==="u"?re:Object.values(re).reverse(),["l","r"].forEach(De=>{De==="r"&&(fe=fe.map(At=>Object.values(At).reverse()));const Te=(ye==="u"?te.getPredecessors:te.getSuccessors).bind(te),Ve=ct(te,fe,oe,Te),rt=xt(te,fe,Ve.root,Ve.align,E,ne,De==="r");De==="r"&&Object.keys(rt).forEach(At=>{rt[At]=-rt[At]}),ue[ye+De]=rt})});const ge=Yn(te,ue);return vr(ue,ge),bi(ue,x)},xa=(te,b,x)=>(E,ne,re)=>{const oe=E.getNode(ne),ue=E.getNode(re);let fe=0,ge=0;if(fe+=oe.data.width/2,oe.data.hasOwnProperty("labelpos"))switch((oe.data.labelpos||"").toLowerCase()){case"l":ge=-oe.data.width/2;break;case"r":ge=oe.data.width/2;break}if(ge&&(fe+=x?ge:-ge),ge=0,fe+=(oe.data.dummy?b:te)/2,fe+=(ue.data.dummy?b:te)/2,fe+=ue.data.width/2,ue.data.labelpos)switch((ue.data.labelpos||"").toLowerCase()){case"l":ge=ue.data.width/2;break;case"r":ge=-ue.data.width/2;break}return ge&&(fe+=x?ge:-ge),ge=0,fe},Ga=(te,b)=>te.getNode(b).data.width||0,Zo=(te,b)=>{const{ranksep:x=0}=b||{},E=Kf(te);let ne=0;E==null||E.forEach(re=>{const oe=re.map(fe=>te.getNode(fe).data.height),ue=Math.max(...oe,0);re==null||re.forEach(fe=>{te.getNode(fe).data.y=ne+ue/2}),ne+=ue+x})},Ps=(te,b)=>{const{align:x,nodesep:E=0,edgesep:ne=0}=b||{},re=Kf(te),oe=Object.assign(de(te,re),ce(te,re)),ue={};let fe=[];["u","d"].forEach(ye=>{fe=ye==="u"?re:Object.values(re).reverse(),["l","r"].forEach(De=>{De==="r"&&(fe=fe.map(At=>Object.values(At).reverse()));const Te=(ye==="u"?te.getPredecessors:te.getSuccessors).bind(te),Ve=ct(te,fe,oe,Te),rt=xt(te,fe,Ve.root,Ve.align,E,ne,De==="r");De==="r"&&Object.keys(rt).forEach(At=>rt[At]=-rt[At]),ue[ye+De]=rt})});const ge=Yn(te,ue);return ge&&vr(ue,ge),bi(ue,x)},Zs=(te,b)=>{var x;const E=Ja(te);Zo(E,b);const ne=Ps(E,b);(x=Object.keys(ne))===null||x===void 0||x.forEach(re=>{E.getNode(re).data.x=ne[re]})},cs=te=>{const b={},x=E=>{var ne;const re=te.getNode(E);if(!re)return 0;if(b[E])return re.data.rank;b[E]=!0;let oe;return(ne=te.getRelatedEdges(E,"out"))===null||ne===void 0||ne.forEach(ue=>{const fe=x(ue.target),ge=ue.data.minlen,ye=fe-ge;ye&&(oe===void 0||yete.getRelatedEdges(E.id,"in").length===0).forEach(E=>x(E.id))},qs=te=>{const b={};let x;const E=oe=>{var ue;const fe=te.getNode(oe);if(!fe)return 0;if(b[oe])return fe.data.rank;b[oe]=!0;let ge;return(ue=te.getRelatedEdges(oe,"out"))===null||ue===void 0||ue.forEach(ye=>{const De=E(ye.target),Te=ye.data.minlen,Ve=De-Te;Ve&&(ge===void 0||Vete.getRelatedEdges(oe.id,"in").length===0).forEach(oe=>{oe&&E(oe.id)}),x===void 0&&(x=0);const ne={},re=(oe,ue)=>{var fe;const ge=te.getNode(oe),ye=isNaN(ge.data.layer)?ue:ge.data.layer;(ge.data.rank===void 0||ge.data.rank{re(De.target,ye+De.data.minlen)}))};te.getAllNodes().forEach(oe=>{const ue=oe.data;ue&&(isNaN(ue.layer)?ue.rank-=x:re(oe.id,ue.layer))})},ml=(te,b)=>te.getNode(b.target).data.rank-te.getNode(b.source).data.rank-b.data.minlen,Cl=te=>{const b=new wi.k({tree:[]}),x=te.getAllNodes()[0],E=te.getAllNodes().length;b.addNode(x);let ne,re;for(;ec(b,te){const x=E=>{b.getRelatedEdges(E,"both").forEach(ne=>{const re=ne.source,oe=E===re?ne.target:re;!te.hasNode(oe)&&!ml(b,ne)&&(te.addNode({id:oe,data:{}}),te.addEdge({id:ne.id,source:E,target:oe,data:{}}),x(oe))})};return te.getAllNodes().forEach(E=>x(E.id)),te.getAllNodes().length},Rc=te=>{const b=new wi.k({tree:[]}),x=te.getAllNodes()[0],E=te.getAllNodes().length;b.addNode(x);let ne,re;for(;Md(b,te){const x=E=>{var ne;(ne=b.getRelatedEdges(E,"both"))===null||ne===void 0||ne.forEach(re=>{const oe=re.source,ue=E===oe?re.target:oe;!te.hasNode(ue)&&(b.getNode(ue).data.layer!==void 0||!ml(b,re))&&(te.addNode({id:ue,data:{}}),te.addEdge({id:re.id,source:E,target:ue,data:{}}),x(ue))})};return te.getAllNodes().forEach(E=>x(E.id)),te.getAllNodes().length},Jc=(te,b)=>Fc(b.getAllEdges(),x=>te.hasNode(x.source)!==te.hasNode(x.target)?ml(b,x):1/0),$d=(te,b,x)=>{te.getAllNodes().forEach(E=>{const ne=b.getNode(E.id);ne.data.rank||(ne.data.rank=0),ne.data.rank+=x})},pf=te=>{const b=uc(te);cs(b);const x=Cl(b);ed(x),od(x,b);let E,ne;for(;E=ss(x);)ne=pd(x,b,E),Bh(x,b,E,ne)},od=(te,b)=>{let x=df(te,te.getAllNodes(),"post",!1);x=x.slice(0,(x==null?void 0:x.length)-1),x.forEach(E=>{ef(te,b,E)})},ef=(te,b,x)=>{const ne=te.getNode(x).data.parent,re=te.getRelatedEdges(x,"both").find(oe=>oe.target===ne||oe.source===ne);re.data.cutvalue=Du(te,b,x)},Du=(te,b,x)=>{const ne=te.getNode(x).data.parent;let re=!0,oe=b.getRelatedEdges(x,"out").find(fe=>fe.target===ne),ue=0;return oe||(re=!1,oe=b.getRelatedEdges(ne,"out").find(fe=>fe.target===x)),ue=oe.data.weight,b.getRelatedEdges(x,"both").forEach(fe=>{const ge=fe.source===x,ye=ge?fe.target:fe.source;if(ye!==ne){const De=ge===re,Te=fe.data.weight;if(ue+=De?Te:-Te,Id(te,x,ye)){const Ve=te.getRelatedEdges(x,"both").find(rt=>rt.source===ye||rt.target===ye).data.cutvalue;ue+=De?-Ve:Ve}}}),ue},ed=(te,b=te.getAllNodes()[0].id)=>{qc(te,{},1,b)},qc=(te,b,x,E,ne)=>{var re;const oe=x;let ue=x;const fe=te.getNode(E);return b[E]=!0,(re=te.getNeighbors(E))===null||re===void 0||re.forEach(ge=>{b[ge.id]||(ue=qc(te,b,ue,ge.id,E))}),fe.data.low=oe,fe.data.lim=ue++,ne?fe.data.parent=ne:delete fe.data.parent,ue},ss=te=>te.getAllEdges().find(b=>b.data.cutvalue<0),pd=(te,b,x)=>{let E=x.source,ne=x.target;b.getRelatedEdges(E,"out").find(ye=>ye.target===ne)||(E=x.target,ne=x.source);const re=te.getNode(E),oe=te.getNode(ne);let ue=re,fe=!1;re.data.lim>oe.data.lim&&(ue=oe,fe=!0);const ge=b.getAllEdges().filter(ye=>fe===Ae(te.getNode(ye.source),ue)&&fe!==Ae(te.getNode(ye.target),ue));return Fc(ge,ye=>ml(b,ye))},Bh=(te,b,x,E)=>{const ne=te.getRelatedEdges(x.source,"both").find(re=>re.source===x.target||re.target===x.target);ne&&te.removeEdge(ne.id),te.addEdge({id:`e${Math.random()}`,source:E.source,target:E.target,data:{}}),ed(te),od(te,b),bf(te,b)},bf=(te,b)=>{const x=te.getAllNodes().find(ne=>!ne.data.parent);let E=df(te,x,"pre",!1);E=E.slice(1),E.forEach(ne=>{const re=te.getNode(ne).data.parent;let oe=b.getRelatedEdges(ne,"out").find(fe=>fe.target===re),ue=!1;!oe&&b.hasNode(re)&&(oe=b.getRelatedEdges(re,"out").find(fe=>fe.target===ne),ue=!0),b.getNode(ne).data.rank=(b.hasNode(re)&&b.getNode(re).data.rank||0)+(ue?oe==null?void 0:oe.data.minlen:-(oe==null?void 0:oe.data.minlen))})},Id=(te,b,x)=>te.getRelatedEdges(b,"both").find(E=>E.source===x||E.target===x),Ae=(te,b)=>b.data.low<=te.data.lim&&te.data.lim<=b.data.lim,xe=(te,b)=>{switch(b){case"network-simplex":gt(te);break;case"tight-tree":Ze(te);break;case"longest-path":Pe(te);break;default:Ze(te)}},Pe=cs,Ze=te=>{qs(te),Rc(te)},gt=te=>{pf(te)},ft=(te,b)=>{const{edgeLabelSpace:x,keepNodeOrder:E,prevGraph:ne,rankdir:re,ranksep:oe}=b;!E&&ne&&zt(te,ne);const ue=Li(te);x&&(b.ranksep=Bo(ue,{rankdir:re,ranksep:oe}));let fe;try{fe=St(ue,b)}catch(ge){if(ge.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: -`,ge);return}throw ge}return Fn(te,ue),fe},St=(te,b)=>{const{acyclicer:x,ranker:E,rankdir:ne="tb",nodeOrder:re,keepNodeOrder:oe,align:ue,nodesep:fe=50,edgesep:ge=20,ranksep:ye=50}=b;td(te),Vc(te,x);const{nestingRoot:De,nodeRankFactor:Te}=Ed(te);xe(Ja(te),E),Qo(te),Xh(te,Te),nh(te,De),Zh(te),Wo(te),Xs(te);const Ve=[];up(te,Ve),ae(te,Ve),wh(te),oe&&Lf(te,re),dp(te,oe),as(te),Pf(te,ne),Zs(te,{align:ue,nodesep:fe,edgesep:ge,ranksep:ye}),Yc(te),pu(te),kf(te,Ve),Ku(te),_d(te,ne);const{width:rt,height:At}=Bl(te);return Il(te),wu(te),Oh(te),{width:rt,height:At}},zt=(te,b)=>{te.getAllNodes().forEach(x=>{const E=te.getNode(x.id);if(b.hasNode(x.id)){const ne=b.getNode(x.id);E.data.fixorder=ne.data._order,delete ne.data._order}else delete E.data.fixorder})},Fn=(te,b)=>{te.getAllNodes().forEach(x=>{var E;const ne=te.getNode(x.id);if(ne){const re=b.getNode(x.id);ne.data.x=re.data.x,ne.data.y=re.data.y,ne.data._order=re.data.order,ne.data._rank=re.data.rank,!((E=b.getChildren(x.id))===null||E===void 0)&&E.length&&(ne.data.width=re.data.width,ne.data.height=re.data.height)}}),te.getAllEdges().forEach(x=>{const E=te.getEdge(x.id),ne=b.getEdge(x.id);E.data.points=ne?ne.data.points:[],ne&&ne.data.hasOwnProperty("x")&&(E.data.x=ne.data.x,E.data.y=ne.data.y)})},Ar=["width","height","layer","fixorder"],ur={width:0,height:0},Kt=["minlen","weight","width","height","labeloffset"],Tn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ir=["labelpos"],Li=te=>{const b=new wi.k({tree:[]});return te.getAllNodes().forEach(x=>{const E=tf(te.getNode(x.id).data),ne=Object.assign(Object.assign({},ur),E),re=jc(ne,Ar);b.hasNode(x.id)||b.addNode({id:x.id,data:Object.assign({},re)});const oe=te.hasTreeStructure("combo")?te.getParent(x.id,"combo"):te.getParent(x.id);(0,Rt.Z)(oe)||(b.hasNode(oe.id)||b.addNode(Object.assign({},oe)),b.setParent(x.id,oe.id))}),te.getAllEdges().forEach(x=>{const E=tf(te.getEdge(x.id).data),ne={};Ir==null||Ir.forEach(re=>{E[re]!==void 0&&(ne[re]=E[re])}),b.addEdge({id:x.id,source:x.source,target:x.target,data:Object.assign({},Tn,jc(E,Kt),ne)})}),b},Bo=(te,b)=>{const{ranksep:x=0,rankdir:E}=b;return te.getAllNodes().forEach(ne=>{isNaN(ne.data.layer)||ne.data.layer||(ne.data.layer=0)}),te.getAllEdges().forEach(ne=>{var re;ne.data.minlen*=2,((re=ne.data.labelpos)===null||re===void 0?void 0:re.toLowerCase())!=="c"&&(E==="TB"||E==="BT"?ne.data.width+=ne.data.labeloffset:ne.data.height+=ne.data.labeloffset)}),x/2},Qo=te=>{te.getAllEdges().forEach(b=>{if(b.data.width&&b.data.height){const x=te.getNode(b.source),E=te.getNode(b.target),ne={e:b,rank:(E.data.rank-x.data.rank)/2+x.data.rank};Wf(te,"edge-proxy",ne,"_ep")}})},Wo=te=>{let b=0;return te.getAllNodes().forEach(x=>{var E,ne;x.data.borderTop&&(x.data.minRank=(E=te.getNode(x.data.borderTop))===null||E===void 0?void 0:E.data.rank,x.data.maxRank=(ne=te.getNode(x.data.borderBottom))===null||ne===void 0?void 0:ne.data.rank,b=Math.max(b,x.data.maxRank||-1/0))}),b},Xs=te=>{te.getAllNodes().forEach(b=>{b.data.dummy==="edge-proxy"&&(te.getEdge(b.data.e.id).data.labelRank=b.data.rank,te.removeNode(b.id))})},Bl=(te,b)=>{let x,E=0,ne,re=0;const{marginx:oe=0,marginy:ue=0}=b||{},fe=ge=>{if(!ge.data)return;const ye=ge.data.x,De=ge.data.y,Te=ge.data.width,Ve=ge.data.height;!isNaN(ye)&&!isNaN(Te)&&(x===void 0&&(x=ye-Te/2),x=Math.min(x,ye-Te/2),E=Math.max(E,ye+Te/2)),!isNaN(De)&&!isNaN(Ve)&&(ne===void 0&&(ne=De-Ve/2),ne=Math.min(ne,De-Ve/2),re=Math.max(re,De+Ve/2))};return te.getAllNodes().forEach(ge=>{fe(ge)}),te.getAllEdges().forEach(ge=>{ge!=null&&ge.data.hasOwnProperty("x")&&fe(ge)}),x-=oe,ne-=ue,te.getAllNodes().forEach(ge=>{ge.data.x-=x,ge.data.y-=ne}),te.getAllEdges().forEach(ge=>{var ye;(ye=ge.data.points)===null||ye===void 0||ye.forEach(De=>{De.x-=x,De.y-=ne}),ge.data.hasOwnProperty("x")&&(ge.data.x-=x),ge.data.hasOwnProperty("y")&&(ge.data.y-=ne)}),{width:E-x+oe,height:re-ne+ue}},Il=te=>{te.getAllEdges().forEach(b=>{const x=te.getNode(b.source),E=te.getNode(b.target);let ne,re;b.data.points?(ne=b.data.points[0],re=b.data.points[b.data.points.length-1]):(b.data.points=[],ne={x:E.data.x,y:E.data.y},re={x:x.data.x,y:x.data.y}),b.data.points.unshift(ph(x.data,ne)),b.data.points.push(ph(E.data,re))})},Ku=te=>{te.getAllEdges().forEach(b=>{if(b.data.hasOwnProperty("x"))switch((b.data.labelpos==="l"||b.data.labelpos==="r")&&(b.data.width-=b.data.labeloffset),b.data.labelpos){case"l":b.data.x-=b.data.width/2+b.data.labeloffset;break;case"r":b.data.x+=b.data.width/2+b.data.labeloffset;break}})},wu=te=>{te.getAllEdges().forEach(b=>{var x;b.data.reversed&&((x=b.data.points)===null||x===void 0||x.reverse())})},pu=te=>{te.getAllNodes().forEach(b=>{var x,E,ne;if(!((x=te.getChildren(b.id))===null||x===void 0)&&x.length){const re=te.getNode(b.id),oe=te.getNode(re.data.borderTop),ue=te.getNode(re.data.borderBottom),fe=te.getNode(re.data.borderLeft[((E=re.data.borderLeft)===null||E===void 0?void 0:E.length)-1]),ge=te.getNode(re.data.borderRight[((ne=re.data.borderRight)===null||ne===void 0?void 0:ne.length)-1]);re.data.width=Math.abs((ge==null?void 0:ge.data.x)-(fe==null?void 0:fe.data.x))||10,re.data.height=Math.abs((ue==null?void 0:ue.data.y)-(oe==null?void 0:oe.data.y))||10,re.data.x=((fe==null?void 0:fe.data.x)||0)+re.data.width/2,re.data.y=((oe==null?void 0:oe.data.y)||0)+re.data.height/2}}),te.getAllNodes().forEach(b=>{b.data.dummy==="border"&&te.removeNode(b.id)})},td=te=>{te.getAllEdges().forEach(b=>{if(b.source===b.target){const x=te.getNode(b.source);x.data.selfEdges||(x.data.selfEdges=[]),x.data.selfEdges.push(b),te.removeEdge(b.id)}})},as=te=>{const b=Kf(te);b==null||b.forEach(x=>{let E=0;x==null||x.forEach((ne,re)=>{var oe;const ue=te.getNode(ne);ue.data.order=re+E,(oe=ue.data.selfEdges)===null||oe===void 0||oe.forEach(fe=>{Wf(te,"selfedge",{width:fe.data.width,height:fe.data.height,rank:ue.data.rank,order:re+ ++E,e:fe},"_se")}),delete ue.data.selfEdges})})},Yc=te=>{te.getAllNodes().forEach(b=>{const x=te.getNode(b.id);if(x.data.dummy==="selfedge"){const E=te.getNode(x.data.e.source),ne=E.data.x+E.data.width/2,re=E.data.y,oe=x.data.x-ne,ue=E.data.height/2;te.hasEdge(x.data.e.id)?te.updateEdgeData(x.data.e.id,x.data.e.data):te.addEdge({id:x.data.e.id,source:x.data.e.source,target:x.data.e.target,data:x.data.e.data}),te.removeNode(b.id),x.data.e.data.points=[{x:ne+2*oe/3,y:re-ue},{x:ne+5*oe/6,y:re-ue},{y:re,x:ne+oe},{x:ne+5*oe/6,y:re+ue},{x:ne+2*oe/3,y:re+ue}],x.data.e.data.x=x.data.x,x.data.e.data.y=x.data.y}})},jc=(te,b)=>{const x={};return b==null||b.forEach(E=>{te[E]!==void 0&&(x[E]=+te[E])}),x},tf=(te={})=>{const b={};return Object.keys(te).forEach(x=>{b[x.toLowerCase()]=te[x]}),b};function nf(te){if(!te)return[0,0,0];if((0,yt.Z)(te))return[te,te,te];if(te.length===0)return[0,0,0];const[b,x=b,E=b]=te;return[b,x,E]}function wd(te,b){let x;return(0,On.Z)(b)?x=b:(0,yt.Z)(b)?x=()=>b:x=()=>te,x}function gf(te,b,x=!0){return!b&&b!==0?E=>{const{size:ne}=E.data||{};return ne?Array.isArray(ne)?x?Math.max(...ne)||te:ne:(0,dt.Z)(ne)&&ne.width&&ne.height?x?Math.max(ne.width,ne.height)||te:[ne.width,ne.height]:ne:te}:(0,On.Z)(b)?b:(0,yt.Z)(b)?()=>b:Array.isArray(b)?()=>x?Math.max(...b)||te:b:(0,dt.Z)(b)&&b.width&&b.height?()=>x?Math.max(b.width,b.height)||te:[b.width,b.height]:()=>te}const sh=(te,b,x=10)=>{let E;const ne=typeof b=="function"?b:()=>b||0;return te?Array.isArray(te)?E=oe=>te:(0,On.Z)(te)?E=te:E=oe=>te:E=oe=>{var ue,fe,ge;if(!((ue=oe.data)===null||ue===void 0)&&ue.bboxSize)return(fe=oe.data)===null||fe===void 0?void 0:fe.bboxSize;if(!((ge=oe.data)===null||ge===void 0)&&ge.size){const ye=oe.data.size;return Array.isArray(ye)?ye:(0,dt.Z)(ye)?[ye.width,ye.height]:ye}return x},oe=>{const ue=E(oe),fe=ne(oe);return Math.max(...nf(ue))+fe}},Od=te=>{if(te===null)return te;if(te instanceof Date)return new Date(te.getTime());if(te instanceof Array){const b=[];return te.forEach(x=>{b.push(x)}),b.map(x=>Od(x))}if(typeof te=="object"){const b={};return Object.keys(te).forEach(x=>{b[x]=Od(te[x])}),b}return te},Ld=(te,b)=>{const x=Od(te);return x.data=x.data||{},b&&((0,yt.Z)(x.data.x)||(x.data.x=Math.random()*b[0]),(0,yt.Z)(x.data.y)||(x.data.y=Math.random()*b[1])),x},Mf={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class C0{constructor(b={}){this.options=b,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Mf),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,b,x)})}genericDagreLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{nodeSize:re,align:oe,rankdir:ue="TB",ranksep:fe,nodesep:ge,ranksepFunc:ye,nodesepFunc:De,edgeLabelSpace:Te,ranker:Ve,nodeOrder:rt,begin:At,controlPoints:Mt,radial:Ut,sortByCombo:en,preset:hn}=ne,rr=new wi.k({tree:[]}),mi=wd(fe||50,ye),ei=wd(ge||50,De);let Ri=ei,Yr=mi;(ue==="LR"||ue==="RL")&&(Ri=mi,Yr=ei);const Va=gf(10,re,!1),ks=x.getAllNodes(),pl=x.getAllEdges();ks.forEach(Jo=>{const qu=nf(Va(Jo)),Sc=Yr(Jo),gc=Ri(Jo),Dd=qu[0]+2*gc,Bf=qu[1]+2*Sc,Zc=Jo.data.layer;(0,yt.Z)(Zc)?rr.addNode({id:Jo.id,data:{width:Dd,height:Bf,layer:Zc}}):rr.addNode({id:Jo.id,data:{width:Dd,height:Bf}})}),en&&(rr.attachTreeStructure("combo"),ks.forEach(Jo=>{const{parentId:qu}=Jo.data;qu!==void 0&&rr.hasNode(qu)&&rr.setParent(Jo.id,qu,"combo")})),pl.forEach(Jo=>{rr.addEdge({id:Jo.id,source:Jo.source,target:Jo.target,data:{weight:Jo.data.weight||1}})});let Zu;hn!=null&&hn.length&&(Zu=new wi.k({nodes:hn})),ft(rr,{prevGraph:Zu,edgeLabelSpace:Te,keepNodeOrder:!!rt,nodeOrder:rt||[],acyclicer:"greedy",ranker:Ve,rankdir:ue,nodesep:ge,align:oe});const gu=[0,0];if(At){let Jo=1/0,qu=1/0;rr.getAllNodes().forEach(Sc=>{Jo>Sc.data.x&&(Jo=Sc.data.x),qu>Sc.data.y&&(qu=Sc.data.y)}),rr.getAllEdges().forEach(Sc=>{var gc;(gc=Sc.data.points)===null||gc===void 0||gc.forEach(Dd=>{Jo>Dd.x&&(Jo=Dd.x),qu>Dd.y&&(qu=Dd.y)})}),gu[0]=At[0]-Jo,gu[1]=At[1]-qu}const Pu=ue==="LR"||ue==="RL";if(!Ut){const Jo=new Set,Sc=ue==="BT"||ue==="RL"?(Zc,jd)=>jd-Zc:(Zc,jd)=>Zc-jd;rr.getAllNodes().forEach(Zc=>{Zc.data.x=Zc.data.x+gu[0],Zc.data.y=Zc.data.y+gu[1],Jo.add(Pu?Zc.data.x:Zc.data.y)});const gc=Array.from(Jo).sort(Sc),Dd=Pu?(Zc,jd)=>Zc.x!==jd.x:(Zc,jd)=>Zc.y!==jd.y,Bf=Pu?(Zc,jd,sf)=>{const Zd=Math.max(jd.y,sf.y),ac=Math.min(jd.y,sf.y);return Zc.filter(k0=>k0.y<=Zd&&k0.y>=ac)}:(Zc,jd,sf)=>{const Zd=Math.max(jd.x,sf.x),ac=Math.min(jd.x,sf.x);return Zc.filter(k0=>k0.x<=Zd&&k0.x>=ac)};rr.getAllEdges().forEach((Zc,jd)=>{var sf;Te&&Mt&&Zc.data.type!=="loop"&&(Zc.data.controlPoints=Tf((sf=Zc.data.points)===null||sf===void 0?void 0:sf.map(({x:Zd,y:ac})=>({x:Zd+gu[0],y:ac+gu[1]})),rr.getNode(Zc.source),rr.getNode(Zc.target),gc,Pu,Dd,Bf))})}let Tl=[];Tl=rr.getAllNodes().map(Jo=>Ld(Jo));const Ju=rr.getAllEdges();return b&&(Tl.forEach(Jo=>{x.mergeNodeData(Jo.id,{x:Jo.data.x,y:Jo.data.y})}),Ju.forEach(Jo=>{x.mergeEdgeData(Jo.id,{controlPoints:Jo.data.controlPoints})})),{nodes:Tl,edges:Ju}})}}const Tf=(te,b,x,E,ne,re,oe)=>{let ue=(te==null?void 0:te.slice(1,te.length-1))||[];if(b&&x){let{x:fe,y:ge}=b.data,{x:ye,y:De}=x.data;if(ne&&(fe=b.data.y,ge=b.data.x,ye=x.data.y,De=x.data.x),De!==ge&&fe!==ye){const Te=E.indexOf(ge),Ve=E[Te+1];if(Ve){const Mt=ue[0],Ut=ne?{x:(ge+Ve)/2,y:(Mt==null?void 0:Mt.y)||ye}:{x:(Mt==null?void 0:Mt.x)||ye,y:(ge+Ve)/2};(!Mt||re(Mt,Ut))&&ue.unshift(Ut)}const rt=E.indexOf(De),At=Math.abs(rt-Te);if(At===1)ue=oe(ue,b.data,x.data),ue.length||ue.push(ne?{x:(ge+De)/2,y:fe}:{x:fe,y:(ge+De)/2});else if(At>1){const Mt=E[rt-1];if(Mt){const Ut=ue[ue.length-1],en=ne?{x:(De+Mt)/2,y:(Ut==null?void 0:Ut.y)||ye}:{x:(Ut==null?void 0:Ut.x)||fe,y:(De+Mt)/2};(!Ut||re(Ut,en))&&ue.push(en)}}}}return ue},Kd=(te,b,x)=>{const E=te.getAllNodes(),ne=te.getAllEdges();if(!(E!=null&&E.length))return{nodes:[],edges:ne};if(E.length===1)return b&&te.mergeNodeData(E[0].id,{x:x[0],y:x[1]}),{nodes:[Object.assign(Object.assign({},E[0]),{data:Object.assign(Object.assign({},E[0].data),{x:x[0],y:x[1]})})],edges:ne}},Uf={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class zf{constructor(b={}){this.options=b,this.id="circular",this.options=Object.assign(Object.assign({},Uf),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,b,x)})}genericCircularLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{width:re,height:oe,center:ue,divisions:fe,startAngle:ge=0,endAngle:ye=2*Math.PI,angleRatio:De,ordering:Te,clockwise:Ve,nodeSpacing:rt,nodeSize:At}=ne,Mt=x.getAllNodes(),Ut=x.getAllEdges(),[en,hn,rr]=Jh(re,oe,ue),mi=Mt==null?void 0:Mt.length;if(!mi||mi===1)return Kd(x,b,rr);const ei=(ye-ge)/mi;let{radius:Ri,startRadius:Yr,endRadius:Va}=ne;if(rt){const Pu=wd(10,rt),Tl=gf(10,At);let Ju=-1/0;Mt.forEach(Jo=>{const qu=Tl(Jo);Ju{qu===0?$c+=Ju||10:$c+=(Pu(Jo)||0)+(Ju||10)}),Ri=$c/(2*Math.PI)}else!Ri&&!Yr&&!Va?Ri=Math.min(hn,en)/2:!Yr&&Va?Yr=Va:Yr&&!Va&&(Va=Yr);const ks=ei*De;let pl=[];Te==="topology"?pl=lh(x,Mt):Te==="topology-directed"?pl=lh(x,Mt,!0):Te==="degree"?pl=Dh(x,Mt):pl=Mt.map(Pu=>Ld(Pu));const Zu=Math.ceil(mi/fe);for(let Pu=0;Pu{x.mergeNodeData(Pu.id,{x:Pu.data.x,y:Pu.data.y})}),{nodes:pl,edges:Ut}})}}const lh=(te,b,x=!1)=>{const E=[Ld(b[0])],ne={},re=b.length;ne[b[0].id]=!0;let oe=0;return b.forEach((ue,fe)=>{if(fe!==0)if((fe===re-1||te.getDegree(ue.id,"both")!==te.getDegree(b[fe+1].id,"both")||te.areNeighbors(E[oe].id,ue.id))&&!ne[ue.id])E.push(Ld(ue)),ne[ue.id]=!0,oe++;else{const ge=x?te.getSuccessors(E[oe].id):te.getNeighbors(E[oe].id);let ye=!1;for(let Te=0;Te{x.push(Ld(E))}),x.sort((E,ne)=>te.getDegree(E.id,"both")-te.getDegree(ne.id,"both")),x}const Jh=(te,b,x)=>{let E=te,ne=b,re=x;return!E&&typeof window!="undefined"&&(E=window.innerWidth),!ne&&typeof window!="undefined"&&(ne=window.innerHeight),re||(re=[E/2,ne/2]),[E,ne,re]},Hf=Array.isArray,qh={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class _h{constructor(b={}){this.options=b,this.id="concentric",this.options=Object.assign(Object.assign({},qh),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,b,x)})}genericConcentricLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{center:re,width:oe,height:ue,sortBy:fe,maxLevelDiff:ge,sweep:ye,clockwise:De,equidistant:Te,preventOverlap:Ve,startAngle:rt=3/2*Math.PI,nodeSize:At,nodeSpacing:Mt}=ne,Ut=x.getAllNodes(),en=x.getAllEdges(),hn=!oe&&typeof window!="undefined"?window.innerWidth:oe,rr=!ue&&typeof window!="undefined"?window.innerHeight:ue,mi=re||[hn/2,rr/2];if(!(Ut!=null&&Ut.length)||Ut.length===1)return Kd(x,b,mi);const ei=[];let Ri,Yr=0;Hf(At)?Ri=Math.max(At[0],At[1]):(0,On.Z)(At)?(Ri=-1/0,Ut.forEach(Jo=>{const qu=Math.max(...nf(At(Jo)));qu>Ri&&(Ri=qu)})):Ri=At,Hf(Mt)?Yr=Math.max(Mt[0],Mt[1]):(0,yt.Z)(Mt)&&(Yr=Mt),Ut.forEach(Jo=>{const qu=Ld(Jo);ei.push(qu);let Sc=Ri;const{data:gc}=qu;Hf(gc.size)?Sc=Math.max(gc.size[0],gc.size[1]):(0,yt.Z)(gc.size)?Sc=gc.size:(0,dt.Z)(gc.size)&&(Sc=Math.max(gc.size.width,gc.size.height)),Ri=Math.max(Ri,Sc),(0,On.Z)(Mt)&&(Yr=Math.max(Mt(Jo),Yr))});const Va={};ei.forEach((Jo,qu)=>{Va[Jo.id]=qu});let ks=fe;(!(0,Ms.Z)(ks)||ei[0].data[ks]===void 0)&&(ks="degree"),ks==="degree"?ei.sort((Jo,qu)=>x.getDegree(qu.id,"both")-x.getDegree(Jo.id,"both")):ei.sort((Jo,qu)=>qu.data[ks]-Jo.data[ks]);const pl=ei[0],Zu=(ge||(ks==="degree"?x.getDegree(pl.id,"both"):pl.data[ks]))/4,gu=[{nodes:[]}];let Pu=gu[0];ei.forEach(Jo=>{if(Pu.nodes.length>0){const qu=Math.abs(ks==="degree"?x.getDegree(Pu.nodes[0].id,"both")-x.getDegree(Jo.id,"both"):Pu.nodes[0].data[ks]-Jo.data[ks]);Zu&&qu>=Zu&&(Pu={nodes:[]},gu.push(Pu))}Pu.nodes.push(Jo)});let Tl=Ri+Yr;if(!Ve){const Jo=gu.length>0&&gu[0].nodes.length>1,Sc=(Math.min(hn,rr)/2-Tl)/(gu.length+(Jo?1:0));Tl=Math.min(Tl,Sc)}let Ju=0;if(gu.forEach(Jo=>{const qu=ye===void 0?2*Math.PI-2*Math.PI/Jo.nodes.length:ye;if(Jo.dTheta=qu/Math.max(1,Jo.nodes.length-1),Jo.nodes.length>1&&Ve){const Sc=Math.cos(Jo.dTheta)-Math.cos(0),gc=Math.sin(Jo.dTheta)-Math.sin(0),Dd=Math.sqrt(Tl*Tl/(Sc*Sc+gc*gc));Ju=Math.max(Dd,Ju)}Jo.r=Ju,Ju+=Tl}),Te){let Jo=0,qu=0;for(let Sc=0;Sc{gc===0&&(qu=Sc.r||0),Sc.r=qu,qu+=Jo})}return gu.forEach(Jo=>{const qu=Jo.dTheta||0,Sc=Jo.r||0;Jo.nodes.forEach((gc,Dd)=>{const Bf=rt+(De?1:-1)*qu*Dd;gc.data.x=mi[0]+Sc*Math.cos(Bf),gc.data.y=mi[1]+Sc*Math.sin(Bf)})}),b&&ei.forEach(Jo=>x.mergeNodeData(Jo.id,{x:Jo.data.x,y:Jo.data.y})),{nodes:ei,edges:en}})}}var z0=he(14301),kh=he(7695);const ng=.81,c0=.1;function Lp(te,b,x,E,ne=2){const re=b/x,oe=te.getAllNodes(),ue=oe.map((ye,De)=>{const{nodeStrength:Te,x:Ve,y:rt,z:At,size:Mt}=ye.data;return{x:Ve,y:rt,z:At,size:Mt,index:De,id:ye.id,vx:0,vy:0,vz:0,weight:re*Te}}),fe=(ne===2?(0,z0.Z)(ue,ye=>ye.x,ye=>ye.y):(0,kh.Z)(ue,ye=>ye.x,ye=>ye.y,ye=>ye.z)).visitAfter(B0),ge=new Map;return ue.forEach(ye=>{ge.set(ye.id,ye),D0(ye,fe,ne)}),ue.map((ye,De)=>{const{id:Te,data:Ve}=oe[De],{mass:rt=1}=Ve;E[Te]={x:ye.vx/rt,y:ye.vy/rt,z:ye.vz/rt}}),E}function B0(te){let b=0,x=0,E=0,ne=0,re=0;const oe=te.length;if(oe){for(let ue=0;ue{var ue;if(((ue=te.data)===null||ue===void 0?void 0:ue.id)===re.id)return;const fe=[x,E,ne][oe-1],ge=re.x-te.x||c0,ye=re.y-te.y||c0,De=re.z-te.z||c0,Te=[ge,ye,De],Ve=fe-b;let rt=0;for(let Ut=0;UtH0(E,ne,re,oe,ue,te,x))}const fp={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 R0{constructor(b={}){this.options=b,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},fp),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,b,x)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(b=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let E=0;(this.judgingDistance>this.lastOptions.minMovement||E<1)&&Ethis.lastGraph.mergeNodeData(E.id,{x:E.data.x,y:E.data.y,z:this.options.dimensions===3?E.data.z:void 0})),x}genericForceLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),re=x.getAllNodes(),oe=x.getAllEdges(),ue=this.formatOptions(ne,x),{dimensions:fe,width:ge,height:ye,nodeSize:De,getMass:Te,nodeStrength:Ve,edgeStrength:rt,linkDistance:At}=ue,Mt=re.map((Yr,Va)=>Object.assign(Object.assign({},Yr),{data:Object.assign(Object.assign({},Yr.data),{x:(0,yt.Z)(Yr.data.x)?Yr.data.x:Math.random()*ge,y:(0,yt.Z)(Yr.data.y)?Yr.data.y:Math.random()*ye,z:(0,yt.Z)(Yr.data.z)?Yr.data.z:Math.random()*Math.sqrt(ge*ye),size:De(Yr)||30,mass:Te(Yr),nodeStrength:Ve(Yr)})})),Ut=oe.map(Yr=>Object.assign(Object.assign({},Yr),{data:Object.assign(Object.assign({},Yr.data),{edgeStrength:rt(Yr),linkDistance:At(Yr,x.getNode(Yr.source),x.getNode(Yr.target))})}));if(!(re!=null&&re.length))return this.lastResult={nodes:[],edges:oe},{nodes:[],edges:oe};const en={};re.forEach((Yr,Va)=>{en[Yr.id]={x:0,y:0,z:0}});const hn=new wi.k({nodes:Mt,edges:Ut});this.formatCentripetal(ue,hn);const{maxIteration:rr,minMovement:mi,onTick:ei}=ue;if(this.lastLayoutNodes=Mt,this.lastLayoutEdges=Ut,this.lastAssign=b,this.lastGraph=x,this.lastCalcGraph=hn,this.lastOptions=ue,this.lastVelMap=en,typeof window=="undefined")return;let Ri=0;return new Promise(Yr=>{this.timeInterval=window.setInterval(()=>{(!re||!this.running)&&Yr({nodes:hp(x,Mt),edges:oe}),this.runOneStep(hn,x,Ri,en,ue),this.updatePosition(x,hn,en,ue),b&&Mt.forEach(Va=>x.mergeNodeData(Va.id,{x:Va.data.x,y:Va.data.y,z:fe===3?Va.data.z:void 0})),ei==null||ei({nodes:hp(x,Mt),edges:oe}),Ri++,(Ri>=rr||this.judgingDistance{let ge=1;(0,yt.Z)(fe==null?void 0:fe.data.mass)&&(ge=fe==null?void 0:fe.data.mass);const ye=x.getDegree(fe.id,"both");return!ye||ye<5?ge:ye*5*ge}),E.nodeSize=sh(b.nodeSize,b.nodeSpacing);const ue=b.linkDistance?wd(1,b.linkDistance):fe=>1+E.nodeSize(x.getNode(fe.source))+E.nodeSize(x.getNode(fe.target));return E.linkDistance=ue,E.nodeStrength=wd(1,b.nodeStrength),E.edgeStrength=wd(1,b.edgeStrength),E}formatCentripetal(b,x){const{dimensions:E,centripetalOptions:ne,center:re,clusterNodeStrength:oe,leafCluster:ue,clustering:fe,nodeClusterBy:ge}=b,ye=x.getAllNodes(),De=ne||{leaf:2,single:2,others:1,center:Ut=>({x:re[0],y:re[1],z:E===3?re[2]:void 0})};typeof oe!="function"&&(b.clusterNodeStrength=Ut=>oe);let Te,Ve;if(ue&&ge&&(Te=P0(x,ge),Ve=Array.from(new Set(ye==null?void 0:ye.map(Ut=>Ut.data[ge])))||[],b.centripetalOptions=Object.assign(De,{single:100,leaf:Ut=>{const{siblingLeaves:en,sameTypeLeaves:hn}=Te[Ut.id]||{};return(hn==null?void 0:hn.length)===(en==null?void 0:en.length)||(Ve==null?void 0:Ve.length)===1?1:b.clusterNodeStrength(Ut)},others:1,center:Ut=>{const en=x.getDegree(Ut.id,"both");if(!en)return{x:100,y:100,z:0};let hn;if(en===1){const{sameTypeLeaves:rr=[]}=Te[Ut.id]||{};rr.length===1?hn=void 0:rr.length>1&&(hn=j0(rr))}else hn=void 0;return{x:hn==null?void 0:hn.x,y:hn==null?void 0:hn.y,z:hn==null?void 0:hn.z}}})),fe&&ge){Te||(Te=P0(x,ge)),Ve||(Ve=Array.from(new Set(ye.map(en=>en.data[ge])))),Ve=Ve.filter(en=>en!==void 0);const Ut={};Ve.forEach(en=>{const hn=ye.filter(rr=>rr.data[ge]===en).map(rr=>x.getNode(rr.id));Ut[en]=j0(hn)}),b.centripetalOptions=Object.assign(De,{single:en=>b.clusterNodeStrength(en),leaf:en=>b.clusterNodeStrength(en),others:en=>b.clusterNodeStrength(en),center:en=>{const hn=Ut[en.data[ge]];return{x:hn==null?void 0:hn.x,y:hn==null?void 0:hn.y,z:hn==null?void 0:hn.z}}})}const{leaf:rt,single:At,others:Mt}=b.centripetalOptions||{};rt&&typeof rt!="function"&&(b.centripetalOptions.leaf=()=>rt),At&&typeof At!="function"&&(b.centripetalOptions.single=()=>At),Mt&&typeof Mt!="function"&&(b.centripetalOptions.others=()=>Mt)}runOneStep(b,x,E,ne,re){const oe={},ue=b.getAllNodes(),fe=b.getAllEdges();if(!(ue!=null&&ue.length))return;const{monitor:ge}=re;if(this.calRepulsive(b,oe,re),fe&&this.calAttractive(b,oe,re),this.calGravity(b,x,oe,re),this.updateVelocity(b,oe,ne,re),ge){const ye=this.calTotalEnergy(oe,ue);ge({energy:ye,nodes:x.getAllNodes(),edges:x.getAllEdges(),iterations:E})}}calTotalEnergy(b,x){if(!(x!=null&&x.length))return 0;let E=0;return x.forEach((ne,re)=>{const oe=b[ne.id].x,ue=b[ne.id].y,fe=this.options.dimensions===3?b[ne.id].z:0,ge=oe*oe+ue*ue+fe*fe,{mass:ye=1}=ne.data;E+=ye*ge*.5}),E}calRepulsive(b,x,E){const{dimensions:ne,factor:re,coulombDisScale:oe}=E;Lp(b,re,oe*oe,x,ne)}calAttractive(b,x,E){const{dimensions:ne,nodeSize:re}=E;b.getAllEdges().forEach((oe,ue)=>{const{source:fe,target:ge}=oe,ye=b.getNode(fe),De=b.getNode(ge);if(!ye||!De)return;let Te=De.data.x-ye.data.x,Ve=De.data.y-ye.data.y,rt=ne===3?De.data.z-ye.data.z:0;!Te&&!Ve&&(Te=Math.random()*.01,Ve=Math.random()*.01,ne===3&&!rt&&(rt=Math.random()*.01));const At=Math.sqrt(Te*Te+Ve*Ve+rt*rt);if(At{const{id:At,data:Mt}=rt,{mass:Ut,x:en,y:hn,z:rr}=Mt,mi=x.getNode(At);let ei=0,Ri=0,Yr=0,Va=Te;const ks=b.getDegree(At,"in"),pl=b.getDegree(At,"out"),Zu=b.getDegree(At,"both"),gu=re==null?void 0:re(mi,Zu);if(gu){const[Pu,Tl,Ju]=gu;ei=en-Pu,Ri=hn-Tl,Va=Ju}else ei=en-De[0],Ri=hn-De[1],Yr=rr-De[2];if(Va&&(E[At].x-=Va*ei/Ut,E[At].y-=Va*Ri/Ut,E[At].z-=Va*Yr/Ut),Ve){const{leaf:Pu,single:Tl,others:Ju,center:$c}=Ve,{x:Jo,y:qu,z:Sc,centerStrength:gc}=($c==null?void 0:$c(mi,ue,fe,ge,ye))||{x:0,y:0,z:0,centerStrength:0};if(!(0,yt.Z)(Jo)||!(0,yt.Z)(qu))return;const Dd=(en-Jo)/Ut,Bf=(hn-qu)/Ut,Zc=(rr-Sc)/Ut;if(gc&&(E[At].x-=gc*Dd,E[At].y-=gc*Bf,E[At].z-=gc*Zc),Zu===0){const sf=Tl(mi);if(!sf)return;E[At].x-=sf*Dd,E[At].y-=sf*Bf,E[At].z-=sf*Zc;return}if(ks===0||pl===0){const sf=Pu(mi,ue,fe);if(!sf)return;E[At].x-=sf*Dd,E[At].y-=sf*Bf,E[At].z-=sf*Zc;return}const jd=Ju(mi);if(!jd)return;E[At].x-=jd*Dd,E[At].y-=jd*Bf,E[At].z-=jd*Zc}})}updateVelocity(b,x,E,ne){const{damping:re,maxSpeed:oe,interval:ue,dimensions:fe}=ne,ge=b.getAllNodes();ge!=null&&ge.length&&ge.forEach(ye=>{const{id:De}=ye;let Te=(E[De].x+x[De].x*ue)*re||.01,Ve=(E[De].y+x[De].y*ue)*re||.01,rt=fe===3?(E[De].z+x[De].z*ue)*re||.01:0;const At=Math.sqrt(Te*Te+Ve*Ve+rt*rt);if(At>oe){const Mt=oe/At;Te=Mt*Te,Ve=Mt*Ve,rt=Mt*rt}E[De]={x:Te,y:Ve,z:rt}})}updatePosition(b,x,E,ne){const{distanceThresholdMode:re,interval:oe,dimensions:ue}=ne,fe=x.getAllNodes();if(!(fe!=null&&fe.length)){this.judgingDistance=0;return}let ge=0;re==="max"?this.judgingDistance=-1/0:re==="min"&&(this.judgingDistance=1/0),fe.forEach(ye=>{const{id:De}=ye,Te=b.getNode(De);if((0,yt.Z)(Te.data.fx)&&(0,yt.Z)(Te.data.fy)){x.mergeNodeData(De,{x:Te.data.fx,y:Te.data.fy,z:ue===3?Te.data.fz:void 0});return}const Ve=E[De].x*oe,rt=E[De].y*oe,At=ue===3?E[De].z*oe:0;x.mergeNodeData(De,{x:ye.data.x+Ve,y:ye.data.y+rt,z:ye.data.z+At});const Mt=Math.sqrt(Ve*Ve+rt*rt+At*At);switch(re){case"max":this.judgingDistanceMt&&(this.judgingDistance=Mt);break;default:ge=ge+Mt;break}}),(!re||re==="mean")&&(this.judgingDistance=ge/fe.length)}}const P0=(te,b)=>{const x=te.getAllNodes();if(!(x!=null&&x.length))return{};const E={};return x.forEach((ne,re)=>{te.getDegree(ne.id,"both")===1&&(E[ne.id]=rg(te,"leaf",ne,b))}),E},rg=(te,b,x,E)=>{const ne=te.getDegree(x.id,"in"),re=te.getDegree(x.id,"out");let oe=x,ue=[];ne===0?(oe=te.getSuccessors(x.id)[0],ue=te.getNeighbors(oe.id)):re===0&&(oe=te.getPredecessors(x.id)[0],ue=te.getNeighbors(oe.id)),ue=ue.filter(ge=>te.getDegree(ge.id,"in")===0||te.getDegree(ge.id,"out")===0);const fe=d0(te,b,E,x,ue);return{coreNode:oe,siblingLeaves:ue,sameTypeLeaves:fe}},d0=(te,b,x,E,ne)=>{const re=E.data[x]||"";let oe=(ne==null?void 0:ne.filter(ue=>ue.data[x]===re))||[];return b==="leaf"&&(oe=oe.filter(ue=>te.getDegree(ue.id,"in")===0||te.getDegree(ue.id,"out")===0)),oe},j0=te=>{const b={x:0,y:0};te.forEach(E=>{const{x:ne,y:re}=E.data;b.x+=ne||0,b.y+=re||0});const x=te.length||1;return{x:b.x/x,y:b.y/x}},hp=(te,b)=>b.map(x=>{const{id:E,data:ne}=x,re=te.getNode(E);return Object.assign(Object.assign({},re),{data:Object.assign(Object.assign({},re.data),{x:ne.x,y:ne.y,z:ne.z})})});var Lh=he(16970);const ig=te=>{const b=[],x=te.length;for(let E=0;Eb[ne][E]+b[E][re]&&(b[ne][re]=b[ne][E]+b[E][re]);return b},Cg=(te,b)=>{const{nodes:x,edges:E}=te,ne=[],re={};if(!x)throw new Error("invalid nodes data!");return x&&x.forEach((oe,ue)=>{re[oe.id]=ue;const fe=[];ne.push(fe)}),E==null||E.forEach(oe=>{const{source:ue,target:fe}=oe,ge=re[ue],ye=re[fe];ge===void 0||ye===void 0||(ne[ge][ye]=1,b||(ne[ye][ge]=1))}),ne},ev=(te,b)=>{const x=[];return te.forEach(E=>{const ne=[];E.forEach(re=>{ne.push(re*b)}),x.push(ne)}),x},tv=te=>{let b=1/0,x=1/0,E=-1/0,ne=-1/0;return te.forEach(re=>{let oe=re.data.size;Hf(oe)?oe.length===1&&(oe=[oe[0],oe[0]]):(0,yt.Z)(oe)?oe=[oe,oe]:(oe===void 0||isNaN(oe))&&(oe=[30,30]);const ue=[oe[0]/2,oe[1]/2],fe=re.data.x-ue[0],ge=re.data.x+ue[0],ye=re.data.y-ue[1],De=re.data.y+ue[1];b>fe&&(b=fe),x>ye&&(x=ye),EMath.sqrt((te.x-b.x)*(te.x-b.x)+(te.y-b.y)*(te.y-b.y)),ag=(te,b,x,E="TB",ne,re={})=>{if(!(b!=null&&b.length))return;const{stopBranchFn:oe,stopAllFn:ue}=re;for(let fe=0;fe{const Ut=Ld(ue[Mt]);Ut.data.x=At[0]+re[0],Ut.data.y=At[1]+re[1],Ve.push(Ut)}),b&&Ve.forEach(At=>x.mergeNodeData(At.id,{x:At.data.x,y:At.data.y})),{nodes:Ve,edges:fe}})}}const rv=te=>{let b=-999999;te.forEach(x=>{x.forEach(E=>{E!==1/0&&b{x.forEach((ne,re)=>{ne===1/0&&(te[E][re]=b)})})},iv=te=>{const x=Lh.y3.mul(Lh.y3.pow(te,2),-.5),E=x.mean("row"),ne=x.mean("column"),re=x.mean();x.add(re).subRowVector(E).subColumnVector(ne);const oe=new Lh.Sc(x),ue=Lh.y3.sqrt(oe.diagonalMatrix).diagonal();return oe.leftSingularVectors.toJSON().map(fe=>Lh.y3.mul([fe],[ue]).toJSON()[0].splice(0,2))};function Tp(te){return!!te.tick&&!!te.stop}const f0={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},av={center:[0,0],comboPadding:10,treeKey:"combo"};class pp{constructor(b={}){this.options=b,this.id="comboCombined",this.options=Object.assign(Object.assign({},av),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,b,x)})}genericComboCombinedLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=this.initVals(Object.assign(Object.assign({},this.options),E)),{center:re,treeKey:oe,outerLayout:ue}=ne,fe=x.getAllNodes().filter(Yr=>!Yr.data._isCombo),ge=x.getAllNodes().filter(Yr=>Yr.data._isCombo),ye=x.getAllEdges(),De=fe==null?void 0:fe.length;if(!De||De===1)return Kd(x,b,re);const Te=[],Ve=new Map;fe.forEach(Yr=>{Ve.set(Yr.id,Yr)});const rt=new Map;ge.forEach(Yr=>{rt.set(Yr.id,Yr)});const At=new Map,Mt=this.getInnerGraphs(x,oe,Ve,rt,ye,ne,At);yield Promise.all(Mt);const Ut=new Map,en=[],hn=new Map;let rr=!0;x.getRoots(oe).forEach(Yr=>{const Va=At.get(Yr.id),ks=rt.get(Yr.id)||Ve.get(Yr.id),pl={id:Yr.id,data:Object.assign(Object.assign({},Yr.data),{x:Va.data.x||ks.data.x,y:Va.data.y||ks.data.y,fx:Va.data.fx||ks.data.fx,fy:Va.data.fy||ks.data.fy,mass:Va.data.mass||ks.data.mass,size:Va.data.size})};en.push(pl),Ut.set(Yr.id,!0),!isNaN(pl.data.x)&&pl.data.x!==0&&!isNaN(pl.data.y)&&pl.data.y!==0?rr=!1:(pl.data.x=Math.random()*100,pl.data.y=Math.random()*100),ag(x,[Yr],Zu=>{Zu.id!==Yr.id&&hn.set(Zu.id,Yr.id)},"TB",oe)});const mi=[];ye.forEach(Yr=>{const Va=hn.get(Yr.source)||Yr.source,ks=hn.get(Yr.target)||Yr.target;Va!==ks&&Ut.has(Va)&&Ut.has(ks)&&mi.push({id:Yr.id,source:Va,target:ks,data:{}})});let ei;if(en!=null&&en.length){if(en.length===1)en[0].data.x=re[0],en[0].data.y=re[1];else{const Yr=new wi.k({nodes:en,edges:mi}),Va=ue||new R0;rr&&f0[Va.id]&&(yield(en.length<100?new Dg:new _h).assign(Yr));const ks=Object.assign({center:re,kg:5,preventOverlap:!0,animate:!1},Va.id==="force"?{gravity:1,factor:4,linkDistance:(pl,Zu,gu)=>{const Pu=Math.max(...Zu.data.size)||32,Tl=Math.max(...gu.data.size)||32;return Pu/2+Tl/2+200}}:{});ei=yield Z0(Va,Yr,ks)}At.forEach(Yr=>{var Va;const ks=ei.nodes.find(gu=>gu.id===Yr.id);if(ks){const{x:gu,y:Pu}=ks.data;Yr.data.visited=!0,Yr.data.x=gu,Yr.data.y=Pu,Te.push({id:Yr.id,data:{x:gu,y:Pu}})}const{x:pl,y:Zu}=Yr.data;(Va=Yr.data.nodes)===null||Va===void 0||Va.forEach(gu=>{Te.push({id:gu.id,data:{x:gu.data.x+pl,y:gu.data.y+Zu}})})}),At.forEach(({data:Yr})=>{const{x:Va,y:ks,visited:pl,nodes:Zu}=Yr;Zu==null||Zu.forEach(gu=>{if(!pl){const Pu=Te.find(Tl=>Tl.id===gu.id);Pu.data.x+=Va||0,Pu.data.y+=ks||0}})})}return b&&Te.forEach(Yr=>{x.mergeNodeData(Yr.id,{x:Yr.data.x,y:Yr.data.y})}),{nodes:Te,edges:ye}})}initVals(b){const x=Object.assign({},b),{nodeSize:E,spacing:ne,comboPadding:re}=b;let oe,ue;if((0,yt.Z)(ne)?ue=()=>ne:(0,On.Z)(ne)?ue=ne:ue=()=>0,x.spacing=ue,!E)oe=ge=>{const ye=ue(ge);return ge.size?Hf(ge.size)?((ge.size[0]>ge.size[1]?ge.size[0]:ge.size[1])+ye)/2:(0,dt.Z)(ge.size)?((ge.size.width>ge.size.height?ge.size.width:ge.size.height)+ye)/2:(ge.size+ye)/2:32+ye/2};else if((0,On.Z)(E))oe=ge=>{const ye=E(ge),De=ue(ge);return Hf(ge.size)?((ge.size[0]>ge.size[1]?ge.size[0]:ge.size[1])+De)/2:((ye||32)+De)/2};else if(Hf(E)){const ye=(E[0]>E[1]?E[0]:E[1])/2;oe=De=>ye+ue(De)/2}else{const ge=E/2;oe=ye=>ge+ue(ye)/2}x.nodeSize=oe;let fe;return(0,yt.Z)(re)?fe=()=>re:Hf(re)?fe=()=>Math.max.apply(null,re):(0,On.Z)(re)?fe=re:fe=()=>0,x.comboPadding=fe,x}getInnerGraphs(b,x,E,ne,re,oe,ue){const{nodeSize:fe,comboPadding:ge,spacing:ye,innerLayout:De}=oe,Te=De||new _h({}),Ve={center:[0,0],preventOverlap:!0,nodeSpacing:ye},rt=[],At=Mt=>{let Ut=(ge==null?void 0:ge(Mt))||10;return Hf(Ut)&&(Ut=Math.max(...Ut)),{size:Ut?[Ut*2,Ut*2]:[30,30],padding:Ut}};return b.getRoots(x).forEach(Mt=>{ue.set(Mt.id,{id:Mt.id,data:{nodes:[],size:At(Mt).size}});let Ut=Promise.resolve();ag(b,[Mt],en=>{var hn;if(!en.data._isCombo)return;const{size:rr,padding:mi}=At(en);if(!(!((hn=b.getChildren(en.id,x))===null||hn===void 0)&&hn.length))ue.set(en.id,{id:en.id,data:Object.assign(Object.assign({},en.data),{size:rr})});else{const ei=ue.get(en.id);ue.set(en.id,{id:en.id,data:Object.assign({nodes:[]},ei==null?void 0:ei.data)});const Ri=new Map,Yr=b.getChildren(en.id,x).map(pl=>{if(pl.data._isCombo)return ue.has(pl.id)||ue.set(pl.id,{id:pl.id,data:Object.assign({},pl.data)}),Ri.set(pl.id,!0),ue.get(pl.id);const Zu=E.get(pl.id)||ne.get(pl.id);return Ri.set(pl.id,!0),{id:pl.id,data:Object.assign(Object.assign({},Zu.data),pl.data)}}),Va={nodes:Yr,edges:re.filter(pl=>Ri.has(pl.source)&&Ri.has(pl.target))};let ks=1/0;Yr.forEach(pl=>{var Zu;let{size:gu}=pl.data;gu||(gu=((Zu=ue.get(pl.id))===null||Zu===void 0?void 0:Zu.data.size)||(fe==null?void 0:fe(pl))||[30,30]),(0,yt.Z)(gu)&&(gu=[gu,gu]);const[Pu,Tl]=gu;ks>Pu&&(ks=Pu),ks>Tl&&(ks=Tl),pl.data.size=gu}),Ut=Ut.then(()=>(0,au.mG)(this,void 0,void 0,function*(){const pl=new wi.k(Va);yield Z0(Te,pl,Ve,!0);const{minX:Zu,minY:gu,maxX:Pu,maxY:Tl}=tv(Yr),Ju={x:(Pu+Zu)/2,y:(Tl+gu)/2};Va.nodes.forEach(Jo=>{Jo.data.x-=Ju.x,Jo.data.y-=Ju.y});const $c=[Math.max(Pu-Zu,ks)+mi*2,Math.max(Tl-gu,ks)+mi*2];ue.get(en.id).data.size=$c,ue.get(en.id).data.nodes=Yr}))}return!0},"BT",x),rt.push(Ut)}),rt}}function Z0(te,b,x,E){var ne;return(0,au.mG)(this,void 0,void 0,function*(){return Tp(te)?(te.execute(b,x),te.stop(),te.tick((ne=x.iterations)!==null&&ne!==void 0?ne:300)):E?yield te.assign(b,x):yield te.execute(b,x)})}var og=he(31136),mh=he(84365),ov=he(32575),sv=he(33039),lv=he(54774),uv=he(34123),X0=he(97468),cv=he(74515);class sg{constructor(b){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:og.Z,manyBody:mh.Z,center:ov.Z,collide:sv.Z,radial:lv.Z,x:uv.Z,y:X0.Z},this.options={link:{id:x=>x.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},(0,Wn.Z)(this.options,b),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,b,x)})}stop(){this.simulation.stop()}tick(b){return this.simulation.tick(b),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(b,x){const E=this.context.nodes.find(ne=>ne.id===b);E&&x.forEach((ne,re)=>{if(typeof ne=="number"||ne===null){const oe=["fx","fy","fz"][re];E[oe]=ne}})}getOptions(b){var x,E;const ne=(0,Wn.Z)({},this.options,b);return ne.collide&&((x=ne.collide)===null||x===void 0?void 0:x.radius)===void 0&&(ne.collide=ne.collide||{},ne.collide.radius=(E=ne.nodeSize)!==null&&E!==void 0?E:10),ne.iterations===void 0&&(ne.link&&ne.link.iterations===void 0&&(ne.iterations=ne.link.iterations),ne.collide&&ne.collide.iterations===void 0&&(ne.iterations=ne.collide.iterations)),this.context.options=ne,ne}genericLayout(b,x,E){var ne;return(0,au.mG)(this,void 0,void 0,function*(){const re=this.getOptions(E),oe=x.getAllNodes().map(({id:ye,data:De})=>Object.assign(Object.assign({id:ye},De),(0,Tu.Z)(De.data,this.config.inputNodeAttrs))),ue=x.getAllEdges().map(ye=>Object.assign({},ye));Object.assign(this.context,{assign:b,nodes:oe,edges:ue,graph:x});const fe=new Promise(ye=>{this.resolver=ye}),ge=this.setSimulation(re);return ge.nodes(oe),(ne=ge.force("link"))===null||ne===void 0||ne.links(ue),fe})}getResult(){const{assign:b,nodes:x,edges:E,graph:ne}=this.context,re=x.map(ue=>({id:ue.id,data:Object.assign(Object.assign({},ue.data),(0,Tu.Z)(ue,this.config.outputNodeAttrs))})),oe=E.map(({id:ue,source:fe,target:ge,data:ye})=>({id:ue,source:typeof fe=="object"?fe.id:fe,target:typeof ge=="object"?ge.id:ge,data:ye}));return b&&re.forEach(ue=>ne.mergeNodeData(ue.id,ue.data)),{nodes:re,edges:oe}}initSimulation(){return(0,cv.Z)()}setSimulation(b){const x=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=x.on("tick",()=>{var E;return(E=b.onTick)===null||E===void 0?void 0:E.call(b,this.getResult())}).on("end",()=>{var E;return(E=this.resolver)===null||E===void 0?void 0:E.call(this,this.getResult())})),V0(x,this.config.simulationAttrs.map(E=>[E,b[E]])),Object.entries(this.forceMap).forEach(([E,ne])=>{const re=E;if(b[E]){let oe=x.force(re);oe||(oe=ne(),x.force(re,oe)),V0(oe,Object.entries(b[re]))}else x.force(re,null)}),x}}const V0=(te,b)=>b.reduce((x,[E,ne])=>!x[E]||ne===void 0?x:x[E].call(te,ne),te);var h0=he(92546),dv=he.n(h0);class zp{constructor(b){this.id="dagre",this.options={},Object.assign(this.options,zp.defaultOptions,b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,b,Object.assign(Object.assign({},this.options),x))})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,b,Object.assign(Object.assign({},this.options),x))})}genericDagreLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const{nodeSize:ne}=E,re=new h0.graphlib.Graph;re.setGraph(E),re.setDefaultEdgeLabel(()=>({}));const oe=x.getAllNodes(),ue=x.getAllEdges();[...oe,...ue].some(({id:ge})=>(0,yt.Z)(ge))&&console.error("Dagre layout only support string id, it will convert number to string."),x.getAllNodes().forEach(ge=>{const{id:ye}=ge,De=Object.assign({},ge.data);if(ne!==void 0){const[Te,Ve]=nf((0,On.Z)(ne)?ne(ge):ne);Object.assign(De,{width:Te,height:Ve})}re.setNode(ye.toString(),De)}),x.getAllEdges().forEach(({id:ge,source:ye,target:De})=>{re.setEdge(ye.toString(),De.toString(),{id:ge})}),dv().layout(re);const fe={nodes:[],edges:[]};return re.nodes().forEach(ge=>{const ye=re.node(ge);fe.nodes.push({id:ge,data:ye}),b&&x.mergeNodeData(ge,ye)}),re.edges().forEach(ge=>{const ye=re.edge(ge),{id:De}=ye,Te=(0,au._T)(ye,["id"]),{v:Ve,w:rt}=ge;fe.edges.push({id:De,source:Ve,target:rt,data:Te}),b&&x.mergeEdgeData(De,Te)}),fe})}}zp.defaultOptions={};class Q0{constructor(b){this.id=b.id||0,this.rx=b.rx,this.ry=b.ry,this.fx=0,this.fy=0,this.mass=b.mass,this.degree=b.degree,this.g=b.g||0}distanceTo(b){const x=this.rx-b.rx,E=this.ry-b.ry;return Math.hypot(x,E)}setPos(b,x){this.rx=b,this.ry=x}resetForce(){this.fx=0,this.fy=0}addForce(b){const x=b.rx-this.rx,E=b.ry-this.ry;let ne=Math.hypot(x,E);ne=ne<1e-4?1e-4:ne;const re=this.g*(this.degree+1)*(b.degree+1)/ne;this.fx+=re*x/ne,this.fy+=re*E/ne}in(b){return b.contains(this.rx,this.ry)}add(b){const x=this.mass+b.mass,E=(this.rx*this.mass+b.rx*b.mass)/x,ne=(this.ry*this.mass+b.ry*b.mass)/x,re=this.degree+b.degree,oe={rx:E,ry:ne,mass:x,degree:re};return new Q0(oe)}}class $h{constructor(b){this.xmid=b.xmid,this.ymid=b.ymid,this.length=b.length,this.massCenter=b.massCenter||[0,0],this.mass=b.mass||1}getLength(){return this.length}contains(b,x){const E=this.length/2;return b<=this.xmid+E&&b>=this.xmid-E&&x<=this.ymid+E&&x>=this.ymid-E}NW(){const b=this.xmid-this.length/4,x=this.ymid+this.length/4,E=this.length/2,ne={xmid:b,ymid:x,length:E};return new $h(ne)}NE(){const b=this.xmid+this.length/4,x=this.ymid+this.length/4,E=this.length/2,ne={xmid:b,ymid:x,length:E};return new $h(ne)}SW(){const b=this.xmid-this.length/4,x=this.ymid-this.length/4,E=this.length/2,ne={xmid:b,ymid:x,length:E};return new $h(ne)}SE(){const b=this.xmid+this.length/4,x=this.ymid-this.length/4,E=this.length/2,ne={xmid:b,ymid:x,length:E};return new $h(ne)}}class vf{constructor(b){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,b!=null&&(this.quad=b)}insert(b){if(this.body==null){this.body=b;return}this._isExternal()?(this.quad&&(this.NW=new vf(this.quad.NW()),this.NE=new vf(this.quad.NE()),this.SW=new vf(this.quad.SW()),this.SE=new vf(this.quad.SE())),this._putBody(this.body),this._putBody(b),this.body=this.body.add(b)):(this.body=this.body.add(b),this._putBody(b))}_putBody(b){this.quad&&(b.in(this.quad.NW())&&this.NW?this.NW.insert(b):b.in(this.quad.NE())&&this.NE?this.NE.insert(b):b.in(this.quad.SW())&&this.SW?this.SW.insert(b):b.in(this.quad.SE())&&this.SE&&this.SE.insert(b))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(b){if(!(this.body==null||b===this.body))if(this._isExternal())b.addForce(this.body);else{const x=this.quad?this.quad.getLength():0,E=this.body.distanceTo(b);x/ELd(Ut,[ue,fe])),rt=ne.filter(Ut=>{const{source:en,target:hn}=Ut;return en!==hn}),At=new wi.k({nodes:Ve,edges:rt}),Mt=this.getSizes(At,De);if(this.run(At,x,ye,Mt,b,oe),ge){for(let en=0;en250&&(E.barnesHut=!0),fe===void 0&&x>100&&(E.prune=!0),ge===0&&!fe?(E.maxIteration=250,x<=200&&x>100?E.maxIteration=1e3:x>200&&(E.maxIteration=1200)):ge===0&&fe&&(E.maxIteration=100,x<=200&&x>100?E.maxIteration=500:x>200&&(E.maxIteration=950)),ye||(E.kr=50,x>100&&x<=500?E.kr=20:x>500&&(E.kr=1)),De||(E.kg=20,x>100&&x<=500?E.kg=10:x>500&&(E.kg=1)),E}run(b,x,E,ne,re,oe){const{kr:ue,barnesHut:fe,onTick:ge}=oe,ye=b.getAllNodes();let De=0,Te=E;const Ve={},rt={},At={};for(let Mt=0;Mt0;)De=this.oneStep(b,{iter:Te,preventOverlapIters:50,krPrime:100,sg:De,forces:Ve,preForces:rt,bodies:At,sizes:ne},oe),Te--,ge==null||ge({nodes:ye,edges:x.getAllEdges()});return b}oneStep(b,x,E){const{iter:ne,preventOverlapIters:re,krPrime:oe,sg:ue,preForces:fe,bodies:ge,sizes:ye}=x;let{forces:De}=x;const{preventOverlap:Te,barnesHut:Ve}=E,rt=b.getAllNodes();for(let At=0;Atre||!Te)?De=this.getOptRepGraForces(b,De,ge,E):De=this.getRepGraForces(b,ne,re,De,oe,ye,E),this.updatePos(b,De,fe,ue,E)}getAttrForces(b,x,E,ne,re,oe){const{preventOverlap:ue,dissuadeHubs:fe,mode:ge,prune:ye}=oe,De=b.getAllEdges();for(let Te=0;Te0&&(mi=rr,ei=rr),re[Ve][0]+=mi*hn[0],re[rt][0]-=ei*hn[0],re[Ve][1]+=mi*hn[1],re[rt][1]-=ei*hn[1]}return re}getOptRepGraForces(b,x,E,ne){const{kg:re,center:oe,prune:ue}=ne,fe=b.getAllNodes(),ge=fe.length;let ye=9e10,De=-9e10,Te=9e10,Ve=-9e10;for(let en=0;en=De&&(De=rr.x),rr.x<=ye&&(ye=rr.x),rr.y>=Ve&&(Ve=rr.y),rr.y<=Te&&(Te=rr.y))}const rt=Math.max(De-ye,Ve-Te),At={xmid:(De+ye)/2,ymid:(Ve+Te)/2,length:rt,massCenter:oe,mass:ge},Mt=new $h(At),Ut=new vf(Mt);for(let en=0;en0&&(ks=ge*(Ut+1)*(Ri+1)/Va),ne[Mt.id][0]-=ks*Yr[0],ne[ei.id][0]+=ks*Yr[0],ne[Mt.id][1]-=ks*Yr[1],ne[ei.id][1]+=ks*Yr[1]}const en=[Mt.data.x-De[0],Mt.data.y-De[1]],hn=Math.hypot(en[0],en[1]);en[0]=en[0]/hn,en[1]=en[1]/hn;const rr=ye*(Ut+1);ne[Mt.id][0]-=rr*en[0],ne[Mt.id][1]-=rr*en[1]}return ne}updatePos(b,x,E,ne,re){const{ks:oe,tao:ue,prune:fe,ksmax:ge}=re,ye=b.getAllNodes(),De=ye.length,Te=[],Ve=[];let rt=0,At=0,Mt=ne;for(let en=0;en1.5*Ut?1.5*Ut:Mt);for(let en=0;enYr?Yr:ei;const Va=ei*x[hn][0],ks=ei*x[hn][1];b.mergeNodeData(hn,{x:rr.x+Va,y:rr.y+ks})}return Mt}}const Pg={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},hv=800;class Sg{constructor(b={}){this.options=b,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},Pg),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,b,x)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(b=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let E=0;Ethis.lastGraph.mergeNodeData(E.id,{x:E.data.x,y:E.data.y,z:this.options.dimensions===3?E.data.z:void 0})),x}genericFruchtermanLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){if(this.running)return;const ne=this.formatOptions(E),{dimensions:re,width:oe,height:ue,center:fe,clustering:ge,nodeClusterBy:ye,maxIteration:De,onTick:Te}=ne,Ve=x.getAllNodes(),rt=x.getAllEdges();if(!(Ve!=null&&Ve.length)){const hn={nodes:[],edges:rt};return this.lastResult=hn,hn}if(Ve.length===1){b&&x.mergeNodeData(Ve[0].id,{x:fe[0],y:fe[1],z:re===3?fe[2]:void 0});const hn={nodes:[Object.assign(Object.assign({},Ve[0]),{data:Object.assign(Object.assign({},Ve[0].data),{x:fe[0],y:fe[1],z:re===3?fe[2]:void 0})})],edges:rt};return this.lastResult=hn,hn}const At=Ve.map(hn=>Ld(hn,[oe,ue])),Mt=new wi.k({nodes:At,edges:rt}),Ut={};if(ge&&At.forEach(hn=>{const rr=hn.data[ye];Ut[rr]||(Ut[rr]={name:rr,cx:0,cy:0,count:0})}),this.lastLayoutNodes=At,this.lastLayoutEdges=rt,this.lastAssign=b,this.lastGraph=Mt,this.lastOptions=ne,this.lastClusterMap=Ut,typeof window=="undefined")return;let en=0;return new Promise(hn=>{this.timeInterval=window.setInterval(()=>{if(!this.running){hn({nodes:At,edges:rt});return}this.runOneStep(Mt,Ut,ne),b&&At.forEach(({id:rr,data:mi})=>x.mergeNodeData(rr,{x:mi.x,y:mi.y,z:re===3?mi.z:void 0})),Te==null||Te({nodes:At,edges:rt}),en++,en>=De&&(window.clearInterval(this.timeInterval),hn({nodes:At,edges:rt}))},0),this.running=!0})})}formatOptions(b={}){const x=Object.assign(Object.assign({},this.options),b),{clustering:E,nodeClusterBy:ne}=x,{center:re,width:oe,height:ue}=x;return x.width=!oe&&typeof window!="undefined"?window.innerWidth:oe,x.height=!ue&&typeof window!="undefined"?window.innerHeight:ue,x.center=re||[x.width/2,x.height/2],x.clustering=E&&!!ne,x}runOneStep(b,x,E){const{dimensions:ne,height:re,width:oe,gravity:ue,center:fe,speed:ge,clustering:ye,nodeClusterBy:De,clusterGravity:Te}=E,Ve=re*oe,rt=Math.sqrt(Ve)/10,At=b.getAllNodes(),Mt=Ve/(At.length+1),Ut=Math.sqrt(Mt),en={};if(this.applyCalculate(b,en,Ut,Mt),ye){for(const rr in x)x[rr].cx=0,x[rr].cy=0,x[rr].count=0;At.forEach(rr=>{const{data:mi}=rr,ei=x[mi[De]];(0,yt.Z)(mi.x)&&(ei.cx+=mi.x),(0,yt.Z)(mi.y)&&(ei.cy+=mi.y),ei.count++});for(const rr in x)x[rr].cx/=x[rr].count,x[rr].cy/=x[rr].count;const hn=Te||ue;At.forEach((rr,mi)=>{const{id:ei,data:Ri}=rr;if(!(0,yt.Z)(Ri.x)||!(0,yt.Z)(Ri.y))return;const Yr=x[Ri[De]],Va=Math.sqrt((Ri.x-Yr.cx)*(Ri.x-Yr.cx)+(Ri.y-Yr.cy)*(Ri.y-Yr.cy)),ks=Ut*hn;en[ei].x-=ks*(Ri.x-Yr.cx)/Va,en[ei].y-=ks*(Ri.y-Yr.cy)/Va})}At.forEach((hn,rr)=>{const{id:mi,data:ei}=hn;if(!(0,yt.Z)(ei.x)||!(0,yt.Z)(ei.y))return;const Ri=.01*Ut*ue;en[mi].x-=Ri*(ei.x-fe[0]),en[mi].y-=Ri*(ei.y-fe[1]),ne===3&&(en[mi].z-=Ri*(ei.z-fe[2]))}),At.forEach((hn,rr)=>{const{id:mi,data:ei}=hn;if((0,yt.Z)(ei.fx)&&(0,yt.Z)(ei.fy)){ei.x=ei.fx,ei.y=ei.fy,ne===3&&(ei.z=ei.fz);return}if(!(0,yt.Z)(ei.x)||!(0,yt.Z)(ei.y))return;const Ri=Math.sqrt(en[mi].x*en[mi].x+en[mi].y*en[mi].y+(ne===3?en[mi].z*en[mi].z:0));if(Ri>0){const Yr=Math.min(rt*(ge/hv),Ri);b.mergeNodeData(mi,{x:ei.x+en[mi].x/Ri*Yr,y:ei.y+en[mi].y/Ri*Yr,z:ne===3?ei.z+en[mi].z/Ri*Yr:void 0})}})}applyCalculate(b,x,E,ne){this.calRepulsive(b,x,ne),this.calAttractive(b,x,E)}calRepulsive(b,x,E){const ne=b.getAllNodes();ne.forEach(({data:re,id:oe},ue)=>{x[oe]={x:0,y:0,z:0},ne.forEach(({data:fe,id:ge},ye)=>{if(ue<=ye||!(0,yt.Z)(re.x)||!(0,yt.Z)(fe.x)||!(0,yt.Z)(re.y)||!(0,yt.Z)(fe.y))return;let De=re.x-fe.x,Te=re.y-fe.y,Ve=this.options.dimensions===3?re.z-fe.z:0,rt=De*De+Te*Te+Ve*Ve;rt===0&&(rt=1,De=.01,Te=.01,Ve=.01);const At=E/rt,Mt=De*At,Ut=Te*At,en=Ve*At;x[oe].x+=Mt,x[oe].y+=Ut,x[ge].x-=Mt,x[ge].y-=Ut,this.options.dimensions===3&&(x[oe].z+=en,x[ge].z-=en)})})}calAttractive(b,x,E){b.getAllEdges().forEach(re=>{const{source:oe,target:ue}=re;if(!oe||!ue||oe===ue)return;const{data:fe}=b.getNode(oe),{data:ge}=b.getNode(ue);if(!(0,yt.Z)(ge.x)||!(0,yt.Z)(fe.x)||!(0,yt.Z)(ge.y)||!(0,yt.Z)(fe.y))return;const ye=ge.x-fe.x,De=ge.y-fe.y,Te=this.options.dimensions===3?ge.z-fe.z:0,Ve=Math.sqrt(ye*ye+De*De+Te*Te)/E,rt=ye*Ve,At=De*Ve,Mt=Te*Ve;x[oe].x+=rt,x[oe].y+=At,x[ue].x-=rt,x[ue].y-=At,this.options.dimensions===3&&(x[oe].z+=Mt,x[ue].z-=Mt)})}}const Mg={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 pv{constructor(b={}){this.options=b,this.id="grid",this.options=Object.assign(Object.assign({},Mg),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,b,x)})}genericGridLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{begin:re=[0,0],condense:oe,preventOverlapPadding:ue,preventOverlap:fe,rows:ge,cols:ye,nodeSpacing:De,nodeSize:Te,width:Ve,height:rt,position:At}=ne;let{sortBy:Mt}=ne;const Ut=x.getAllNodes(),en=x.getAllEdges(),hn=Ut==null?void 0:Ut.length;if(!hn||hn===1)return Kd(x,b,re);const rr=Ut.map(Tl=>Ld(Tl));Mt!=="id"&&(!(0,Ms.Z)(Mt)||rr[0].data[Mt]===void 0)&&(Mt="degree"),Mt==="degree"?rr.sort((Tl,Ju)=>x.getDegree(Ju.id,"both")-x.getDegree(Tl.id,"both")):Mt==="id"?rr.sort((Tl,Ju)=>(0,yt.Z)(Ju.id)&&(0,yt.Z)(Tl.id)?Ju.id-Tl.id:`${Tl.id}`.localeCompare(`${Ju.id}`)):rr.sort((Tl,Ju)=>Ju.data[Mt]-Tl.data[Mt]);const mi=!Ve&&typeof window!="undefined"?window.innerWidth:Ve,ei=!rt&&typeof window!="undefined"?window.innerHeight:rt,Ri=hn,Yr={rows:ge,cols:ye};if(ge!=null&&ye!=null)Yr.rows=ge,Yr.cols=ye;else if(ge!=null&&ye==null)Yr.rows=ge,Yr.cols=Math.ceil(Ri/Yr.rows);else if(ge==null&&ye!=null)Yr.cols=ye,Yr.rows=Math.ceil(Ri/Yr.cols);else{const Tl=Math.sqrt(Ri*ei/mi);Yr.rows=Math.round(Tl),Yr.cols=Math.round(mi/ei*Tl)}if(Yr.rows=Math.max(Yr.rows,1),Yr.cols=Math.max(Yr.cols,1),Yr.cols*Yr.rows>Ri){const Tl=gp(Yr),Ju=S0(Yr);(Tl-1)*Ju>=Ri?gp(Yr,Tl-1):(Ju-1)*Tl>=Ri&&S0(Yr,Ju-1)}else for(;Yr.cols*Yr.rows=Ri?S0(Yr,Ju+1):gp(Yr,Tl+1)}let Va=oe?0:mi/Yr.cols,ks=oe?0:ei/Yr.rows;if(fe||De){const Tl=wd(10,De),Ju=gf(30,Te,!1);rr.forEach($c=>{(!$c.data.x||!$c.data.y)&&($c.data.x=0,$c.data.y=0);const Jo=x.getNode($c.id),[qu,Sc]=nf(Ju(Jo)||30),gc=Tl!==void 0?Tl($c):ue,Dd=qu+gc,Bf=Sc+gc;Va=Math.max(Va,Dd),ks=Math.max(ks,Bf)})}const pl={},Zu={row:0,col:0},gu={};for(let Tl=0;Tl{x.mergeNodeData(Tl.id,{x:Tl.data.x,y:Tl.data.y})}),Pu})}}const gp=(te,b)=>{let x;const E=te.rows||5,ne=te.cols||5;return b==null?x=Math.min(E,ne):Math.min(E,ne)===te.rows?te.rows=b:te.cols=b,x},S0=(te,b)=>{let x;const E=te.rows||5,ne=te.cols||5;return b==null?x=Math.max(E,ne):Math.max(E,ne)===te.rows?te.rows=b:te.cols=b,x},Hp=(te,b)=>te[`c-${b.row}-${b.col}`]||!1,Rp=(te,b)=>te[`c-${b.row}-${b.col}`]=!0,Ig=(te,b)=>{const x=te.cols||5;b.col++,b.col>=x&&(b.col=0,b.row++)},vp=(te,b,x,E,ne,re,oe,ue)=>{let fe,ge;const ye=ne[te.id];if(ye)fe=ye.col*x+x/2+b[0],ge=ye.row*E+E/2+b[1];else{for(;Hp(ue,oe);)Ig(re,oe);fe=oe.col*x+x/2+b[0],ge=oe.row*E+E/2+b[1],Rp(ue,oe),Ig(re,oe)}te.data.x=fe,te.data.y=ge},Og=(te,b,x)=>{try{const E=Lh.y3.mul(Lh.y3.pow(b,2),-.5),ne=E.mean("row"),re=E.mean("column"),oe=E.mean();E.add(oe).subRowVector(ne).subColumnVector(re);const ue=new Lh.Sc(E),fe=Lh.y3.sqrt(ue.diagonalMatrix).diagonal();return ue.leftSingularVectors.toJSON().map(ge=>Lh.y3.mul([ge],[fe]).toJSON()[0].splice(0,te))}catch(E){const ne=[];for(let re=0;re{const x=Object.assign(Object.assign({},mp),b),{positions:E,iterations:ne,width:re,k:oe,speed:ue=100,strictRadial:fe,focusIdx:ge,radii:ye=[],nodeSizeFunc:De}=x,Te=te.getAllNodes(),Ve=[],rt=re/10;for(let At=0;At{Ve[Ut]={x:0,y:0}}),M0(Te,E,Ve,oe,ye,De),yp(E,Ve,ue,fe,ge,rt,re,ye);return E},M0=(te,b,x,E,ne,re)=>{b.forEach((oe,ue)=>{x[ue]={x:0,y:0},b.forEach((fe,ge)=>{if(ue===ge||ne[ue]!==ne[ge])return;let ye=oe.x-fe.x,De=oe.y-fe.y,Te=Math.sqrt(ye*ye+De*De);if(Te===0){Te=1;const Ve=ue>ge?1:-1;ye=.01*Ve,De=.01*Ve}if(Te{const fe=re||oe/10;return E&&b.forEach((ge,ye)=>{const De=te[ye].x-te[ne].x,Te=te[ye].y-te[ne].y,Ve=Math.sqrt(De*De+Te*Te);let rt=Te/Ve,At=-De/Ve;const Mt=Math.sqrt(ge.x*ge.x+ge.y*ge.y);let Ut=Math.acos((rt*ge.x+At*ge.y)/Mt);Ut>Math.PI/2&&(Ut-=Math.PI/2,rt*=-1,At*=-1);const en=Math.cos(Ut)*Mt;ge.x=rt*en,ge.y=At*en}),te.forEach((ge,ye)=>{if(ye===ne)return;const De=Math.sqrt(b[ye].x*b[ye].x+b[ye].y*b[ye].y);if(De>0&&ye!==ne){const Te=Math.min(fe*(x/Ol),De);if(ge.x+=b[ye].x/De*Te,ge.y+=b[ye].y/De*Te,E){let Ve=ge.x-te[ne].x,rt=ge.y-te[ne].y;const At=Math.sqrt(Ve*Ve+rt*rt);Ve=Ve/At*ue[ye],rt=rt/At*ue[ye],ge.x=te[ne].x+Ve,ge.y=te[ne].y+rt}}}),te},jp={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class gv{constructor(b={}){this.options=b,this.id="radial",this.options=Object.assign(Object.assign({},jp),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,b,x)})}genericRadialLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{width:re,height:oe,center:ue,focusNode:fe,unitRadius:ge,nodeSize:ye,nodeSpacing:De,strictRadial:Te,preventOverlap:Ve,maxPreventOverlapIteration:rt,sortBy:At,linkDistance:Mt=50,sortStrength:Ut=10,maxIteration:en=1e3}=ne,hn=x.getAllNodes(),rr=x.getAllEdges(),mi=!re&&typeof window!="undefined"?window.innerWidth:re,ei=!oe&&typeof window!="undefined"?window.innerHeight:oe,Ri=ue||[mi/2,ei/2];if(!(hn!=null&&hn.length)||hn.length===1)return Kd(x,b,Ri);let Yr=hn[0];if((0,Ms.Z)(fe)){for(let Zd=0;ZdRi[0]?Ri[0]:mi-Ri[0],Tl=ei-Ri[1]>Ri[1]?Ri[1]:ei-Ri[1];Pu===0&&(Pu=mi/2),Tl===0&&(Tl=ei/2);const Ju=Math.min(Pu,Tl),$c=Math.max(...gu),Jo=[],qu=ge||Ju/$c;gu.forEach((Zd,ac)=>{Jo[ac]=Zd*qu});const Sc=vv(hn,pl,Mt,Jo,qu,At,Ut),gc=Zp(Sc),Dd=Og(Mt,Sc,Mt);let Bf=Dd.map(([Zd,ac])=>({x:(isNaN(Zd)?Math.random()*Mt:Zd)-Dd[Va][0],y:(isNaN(ac)?Math.random()*Mt:ac)-Dd[Va][1]}));this.run(en,Bf,gc,Sc,Jo,Va);let Zc;if(Ve){Zc=sh(ye,De);const Zd={nodes:hn,nodeSizeFunc:Zc,positions:Bf,radii:Jo,height:ei,width:mi,strictRadial:!!Te,focusIdx:Va,iterations:rt||200,k:Bf.length/4.5};Bf=Ap(x,Zd)}const jd=[];return Bf.forEach((Zd,ac)=>{const k0=Ld(hn[ac]);k0.data.x=Zd.x+Ri[0],k0.data.y=Zd.y+Ri[1],jd.push(k0)}),b&&jd.forEach(Zd=>x.mergeNodeData(Zd.id,{x:Zd.data.x,y:Zd.data.y})),{nodes:jd,edges:rr}})}run(b,x,E,ne,re,oe){for(let ue=0;ue<=b;ue++){const fe=ue/b;this.oneIteration(fe,x,re,ne,E,oe)}}oneIteration(b,x,E,ne,re,oe){const ue=1-b;x.forEach((fe,ge)=>{const ye=Bg(fe,{x:0,y:0}),De=ye===0?0:1/ye;if(ge===oe)return;let Te=0,Ve=0,rt=0;x.forEach((Mt,Ut)=>{if(ge===Ut)return;const en=Bg(fe,Mt),hn=en===0?0:1/en,rr=ne[Ut][ge];rt+=re[ge][Ut],Te+=re[ge][Ut]*(Mt.x+rr*(fe.x-Mt.x)*hn),Ve+=re[ge][Ut]*(Mt.y+rr*(fe.y-Mt.y)*hn)});const At=E[ge]===0?0:1/E[ge];rt*=ue,rt+=b*At*At,Te*=ue,Te+=b*At*fe.x*De,fe.x=Te/rt,Ve*=ue,Ve+=b*At*fe.y*De,fe.y=Ve/rt})}}const vv=(te,b,x,E,ne,re,oe)=>{if(!te)return[];const ue=[];if(b){const fe={};b.forEach((ge,ye)=>{const De=[];ge.forEach((Te,Ve)=>{var rt,At;if(ye===Ve)De.push(0);else if(E[ye]===E[Ve])if(re==="data")De.push(Te*(Math.abs(ye-Ve)*oe)/(E[ye]/ne));else if(re){let Mt,Ut;if(fe[te[ye].id])Mt=fe[te[ye].id];else{const en=(re==="id"?te[ye].id:(rt=te[ye].data)===null||rt===void 0?void 0:rt[re])||0;(0,Ms.Z)(en)?Mt=en.charCodeAt(0):Mt=en,fe[te[ye].id]=Mt}if(fe[te[Ve].id])Ut=fe[te[Ve].id];else{const en=(re==="id"?te[Ve].id:(At=te[Ve].data)===null||At===void 0?void 0:At[re])||0;(0,Ms.Z)(en)?Ut=en.charCodeAt(0):Ut=en,fe[te[Ve].id]=Ut}De.push(Te*(Math.abs(Mt-Ut)*oe)/(E[ye]/ne))}else De.push(Te*x/(E[ye]/ne));else{const Mt=(x+ne)/2;De.push(Te*Mt)}}),ue.push(De)})}return ue},Zp=te=>{const b=te.length,x=te[0].length,E=[];for(let ne=0;ne{let x=-1;return te.forEach((E,ne)=>{E.id===b&&(x=ne)}),Math.max(x,0)},K0=(te,b,x)=>{const E=te.length;for(let ne=0;ne{let x=0;for(let E=0;Ex?te[b][E]:x);return x},Ng={center:[0,0],width:300,height:300};class mv{constructor(b={}){this.options=b,this.id="random",this.options=Object.assign(Object.assign({},Ng),b)}execute(b,x){return(0,au.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,b,x)})}assign(b,x){return(0,au.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,b,x)})}genericRandomLayout(b,x,E){return(0,au.mG)(this,void 0,void 0,function*(){const ne=Object.assign(Object.assign({},this.options),E),{center:re,width:oe,height:ue}=ne,fe=x.getAllNodes(),ge=.9,ye=!oe&&typeof window!="undefined"?window.innerWidth:oe,De=!ue&&typeof window!="undefined"?window.innerHeight:ue,Te=re||[ye/2,De/2],Ve=[];return fe&&fe.forEach(At=>{Ve.push({id:At.id,data:{x:(Math.random()-.5)*ge*ye+Te[0],y:(Math.random()-.5)*ge*De+Te[1]}})}),b&&Ve.forEach(At=>x.mergeNodeData(At.id,{x:At.data.x,y:At.data.y})),{nodes:Ve,edges:x.getAllEdges()}})}}var bp=he(40455),Fg=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class xp extends Ka{constructor(){super(...arguments),this.id="fishbone"}getRoot(){const b=this.context.model.getRootsData();if(!((0,Oi.Z)(b)||b.length>2))return b[0]}formatSize(b){const x=typeof b=="function"?b:()=>b;return E=>ku(x(E))}doLayout(b,x){const{hGap:E,getRibSep:ne,vGap:re,nodeSize:oe,height:ue}=x,{model:fe}=this.context,ge=this.formatSize(oe);let ye=ge(b)[0]+ne(b);const De=(hn,rr=0)=>{var mi;return rr+=E*((hn.children||[]).length+1),(mi=hn.children)===null||mi===void 0||mi.forEach(ei=>{var Ri;(Ri=fe.getNodeLikeDatum(ei).children)===null||Ri===void 0||Ri.forEach(Va=>{const ks=fe.getNodeLikeDatum(Va);rr=De(ks,rr)})}),rr},Te=hn=>{if(hn.depth===1)return ye;const rr=fe.getParentData(hn.id,"tree");if(G0(hn)){const mi=fe.getParentData(rr.id,"tree"),ei=At(hn)-At(mi);return Te(rr)+ei*E/re}else{const mi=(rr.children||[]).indexOf(hn.id),ei=fe.getNodeData((rr.children||[]).slice(mi));return Ve(rr)-ei.reduce((Ri,Yr)=>Ri+De(Yr),0)-ge(rr)[0]/2}},Ve=(0,bp.Z)(hn=>{if(Qp(hn))return ge(hn)[0]/2;const rr=fe.getParentData(hn.id,"tree");if(G0(hn))return Te(hn)+De(hn)+ge(hn)[0]/2;{const mi=At(hn)-At(rr),ei=E/re;return Te(hn)+mi*ei}},hn=>hn.id),rt=hn=>At(fe.getParentData(hn,"tree")),At=(0,bp.Z)(hn=>{if(Qp(hn))return ue/2;if(G0(hn)){const rr=fe.getParentData(hn.id,"tree"),mi=rr.children.indexOf(hn.id);if(mi===0)return rt(rr.id)+re;const ei=fe.getNodeLikeDatum(rr.children[mi-1]);if((0,Oi.Z)(ei.children))return At(ei)+re;const Ri=fe.getDescendantsData(ei.id);return Math.max(...Ri.map(Yr=>G0(Yr)?rt(Yr.id):At(Yr)))+re}else{if((0,Oi.Z)(hn.children))return rt(hn.id)+re;const rr=fe.getNodeLikeDatum(hn.children.slice(-1)[0]);if((0,Oi.Z)(rr.children))return At(rr)+re;const mi=fe.getDescendantsData(hn.id).slice(-1)[0];return(G0(mi)?rt(mi.id):At(mi))+re}},hn=>hn.id);let Mt=0;const Ut={nodes:[],edges:[]},en=hn=>{var rr;(rr=hn.children)===null||rr===void 0||rr.forEach(Va=>en(fe.getNodeLikeDatum(Va)));const mi=At(hn),ei=Ve(hn);if(Ut.nodes.push({id:hn.id,x:ei,y:mi}),Qp(hn))return;const Ri=fe.getRelatedEdgesData(hn.id,"in")[0],Yr=[Te(hn),G0(hn)?mi:rt(hn.id)];Ut.edges.push({id:kn(Ri),controlPoints:[Yr],relatedNodeId:hn.id}),Mt=Math.max(Mt,ei+ne(hn)),hn.depth===1&&(ye=Mt)};return en(b),Ut}placeAlterative(b,x){const E=(x.children||[]).filter((ue,fe)=>fe%2!==0);if(E.length===0)return b;const{model:ne}=this.context,re=b.nodes.find(ue=>ue.id===x.id).y,oe=ue=>{const fe=ne.getAncestorsData(ue,"tree");if((0,Oi.Z)(fe))return!1;const ge=fe.length===1?ue:fe[fe.length-2].id;return E.includes(ge)};b.nodes.forEach(ue=>{oe(ue.id)&&(ue.y=2*re-ue.y)}),b.edges.forEach(ue=>{oe(ue.relatedNodeId)&&(ue.controlPoints=ue.controlPoints.map(fe=>[fe[0],2*re-fe[1]]))})}rightToLeft(b,x){return b.nodes.forEach(E=>E.x=x.width-E.x),b.edges.forEach(E=>{E.controlPoints=E.controlPoints.map(ne=>[x.width-ne[0],ne[1]])}),b}execute(b,x){return Fg(this,void 0,void 0,function*(){const E=Object.assign(Object.assign(Object.assign({},xp.defaultOptions),this.options),x),{direction:ne,nodeSize:re}=E,oe=this.getRoot();if(!oe)return b;const ue=this.formatSize(re);E.vGap||(E.vGap=Math.max(...(b.nodes||[]).map(Te=>ue(Te)[1]))),E.hGap||(E.hGap=Math.max(...(b.nodes||[]).map(Te=>ue(Te)[0])));let fe=this.doLayout(oe,E);this.placeAlterative(fe,oe),ne==="RL"&&(fe=this.rightToLeft(fe,E));const{model:ge}=this.context,ye=[],De=[];return fe.nodes.forEach(Te=>{const{id:Ve,x:rt,y:At}=Te,Mt=ge.getNodeLikeDatum(Ve);ye.push(Ep(Mt,{x:rt,y:At}))}),fe.edges.forEach(Te=>{const{id:Ve,controlPoints:rt}=Te,At=ge.getEdgeDatum(Ve);De.push(Ep(At,{controlPoints:rt}))}),{nodes:ye,edges:De}})}}xp.defaultOptions={direction:"RL",getRibSep:()=>60};const Ep=(te,b)=>Object.assign(Object.assign({},te),{style:Object.assign(Object.assign({},te.style||{}),b)}),Qp=te=>te.depth===0,G0=te=>(te.depth||(te.depth=0))%2===0;var Oe=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class Fe extends Ka{constructor(){super(...arguments),this.id="snake"}formatSize(b,x){const E=typeof x=="function"?x:()=>x;return b.reduce((ne,re)=>{const[oe,ue]=ku(E(re))||[0,0];return[Math.max(ne[0],oe),Math.max(ne[1],ue)]},[0,0])}validate(b){const{nodes:x=[],edges:E=[]}=b,ne={},re={},oe={};x.forEach(Te=>{ne[Te.id]=0,re[Te.id]=0,oe[Te.id]=[]}),E.forEach(Te=>{ne[Te.target]++,re[Te.source]++,oe[Te.source].push(Te.target)});const ue=new Set,fe=Te=>{ue.has(Te)||(ue.add(Te),oe[Te].forEach(fe))};if(fe(x[0].id),ue.size!==x.length)return!1;const ge=x.filter(Te=>ne[Te.id]===0),ye=x.filter(Te=>re[Te.id]===0);return!(ge.length!==1||ye.length!==1||x.filter(Te=>ne[Te.id]===1&&re[Te.id]===1).length!==x.length-2)}execute(b,x){return Oe(this,void 0,void 0,function*(){var E;if(!this.validate(b))return b;const{nodeSize:ne,padding:re,sortBy:oe,cols:ue,colGap:fe,rowGap:ge,clockwise:ye,width:De,height:Te}=Object.assign({},Fe.defaultOptions,this.options,x),[Ve,rt,At,Mt]=Lt(re),Ut=this.formatSize(b.nodes||[],ne),en=Math.ceil((b.nodes||[]).length/ue);let hn=fe||(De-Mt-rt-ue*Ut[0])/(ue-1),rr=ge||(Te-Ve-At-en*Ut[1])/(en-1);return(rr===1/0||rr<0)&&(rr=0),(hn===1/0||hn<0)&&(hn=0),{nodes:((oe?(E=b.nodes)===null||E===void 0?void 0:E.sort(oe):Me(b))||[]).map((Ri,Yr)=>{const Va=Math.floor(Yr/ue),ks=Yr%ue,pl=ye?Va%2===0?ks:ue-1-ks:Va%2===0?ue-1-ks:ks,Zu=Mt+pl*(Ut[0]+hn)+Ut[0]/2,gu=Ve+Va*(Ut[1]+rr)+Ut[1]/2;return{id:Ri.id,style:{x:Zu,y:gu}}})}})}}Fe.defaultOptions={padding:0,cols:5,clockwise:!0};function Me(te){const{nodes:b=[],edges:x=[]}=te,E={},ne={};b.forEach(ue=>{E[ue.id]=0,ne[ue.id]=[]}),x.forEach(ue=>{E[ue.target]++,ne[ue.source].push(ue.target)});const re=[],oe=[];for(b.forEach(ue=>{E[ue.id]===0&&re.push(ue.id)});re.length>0;){const ue=re.shift(),fe=b.find(ge=>ge.id===ue);oe.push(fe),ne[ue].forEach(ge=>{E[ge]--,E[ge]===0&&re.push(ge)})}return oe}const jt=["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)"],Pn=["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)"],Tr=["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)"],Fr=["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)"],mn=["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 _t=he(92387);class Kn extends Rr{}function wr(te,b=!0,x){const E=document.createElement("div");return E.setAttribute("class",`g6-${te}`),Object.assign(E.style,{position:"absolute",display:"block"}),b&&Object.assign(E.style,{position:"unset",gridArea:"1 / 1 / 2 / 2",inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),x&&Object.assign(E.style,x),E}function ra(te,b="div",x={},E="",ne=document.body){const re=document.getElementById(te);re&&re.remove();const oe=document.createElement(b);return oe.innerHTML=E,oe.id=te,Object.assign(oe.style,x),ne.appendChild(oe),oe}var qi=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class aa extends Kn{constructor(b,x){super(b,Object.assign({},aa.defaultOptions,x)),this.$element=wr("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(x)}update(b){const x=Object.create(null,{update:{get:()=>super.update}});return qi(this,void 0,void 0,function*(){x.update.call(this,b),Object.assign(this.$element.style,(0,_t.Z)(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}aa.defaultOptions={transition:"background 0.5s",backgroundSize:"cover",zIndex:"-1"};var ca=he(80574),Ra=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const{style:E,bubbleSetOptions:ne}=this.parseOptions();(0,Dt.Z)(this.bubbleSetOptions,ne)||this.init(),this.bubbleSetOptions=Object.assign({},ne);const re=Object.assign(Object.assign({},E),{d:this.getPath()});this.shape?this.shape.update(re):(this.shape=new kl({style:re}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=E=>{if(!this.shape)return;const ne=kn(E.data);[...this.options.members,...this.options.avoidMembers].includes(ne)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(ne)}))},this.getPath=E=>{const{graph:ne}=this.context,re=this.options.members,oe=[...this.members.keys()],ue=this.options.avoidMembers,fe=[...this.avoidMembers.keys()];if(re.length===0&&ue.length===0)return this.members.clear(),this.avoidMembers.clear(),this.path=[],this.path;if(!E&&this.path&&(0,Dt.Z)(re,oe)&&(0,Dt.Z)(ue,fe))return this.path;const{enter:ge=[],exit:ye=[]}=lr(oe,re,Mt=>Mt),{enter:De=[],exit:Te=[]}=lr(fe,ue,Mt=>Mt);if(E){const Mt=re.includes(E),Ut=ue.includes(E);Mt&&(ye.push(E),ge.push(E)),Ut&&(Te.push(E),De.push(E))}const Ve=(Mt,Ut,en)=>{Mt.forEach(hn=>{const rr=en?this.members:this.avoidMembers,mi=en?"pushMember":"pushNonMember",ei=en?"removeMember":"removeNonMember";if(Ut){let Ri;ne.getElementType(hn)==="edge"?([Ri]=ba(ne,hn),this.bubbleSets.pushEdge(Ri)):([Ri]=Si(ne,hn),this.bubbleSets[mi](Ri)),rr.set(hn,Ri)}else{const Ri=rr.get(hn);Ri&&(ne.getElementType(hn)==="edge"?this.bubbleSets.removeEdge(Ri):this.bubbleSets[ei](Ri),rr.delete(hn))}})};Ve(ye,!1,!0),Ve(ge,!0,!0),Ve(Te,!1,!1),Ve(De,!0,!1);const At=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=Fs(At.points.map(Da)),this.path},this.bindEvents(),this.bubbleSets=new ca.CF(this.options)}bindEvents(){this.context.graph.on(mt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(mt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new ca.CF(this.options),this.members.clear(),this.avoidMembers.clear(),this.path=null}parseOptions(){const b=this.options,{type:x,key:E,members:ne,avoidMembers:re}=b,oe=Ra(b,["type","key","members","avoidMembers"]),ue=Object.keys(oe).reduce((fe,ge)=>(ge in ca.vC?fe.bubbleSetOptions[ge]=oe[ge]:fe.style[ge]=oe[ge],fe),{style:{},bubbleSetOptions:{}});return Object.assign({type:x,key:E,members:ne,avoidMembers:re},ue)}addMember(b){const x=Array.isArray(b)?b:[b];x.some(E=>this.options.avoidMembers.includes(E))&&(this.options.avoidMembers=this.options.avoidMembers.filter(E=>!x.includes(E))),this.options.members=[...new Set([...this.options.members,...x])],this.drawBubbleSets()}removeMember(b){const x=Array.isArray(b)?b:[b];this.options.members=this.options.members.filter(E=>!x.includes(E)),this.drawBubbleSets()}updateMember(b){this.options.members=(0,On.Z)(b)?b(this.options.members):b,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(b){const x=Array.isArray(b)?b:[b];x.some(E=>this.options.members.includes(E))&&(this.options.members=this.options.members.filter(E=>!x.includes(E))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...x])],this.drawBubbleSets()}removeAvoidMember(b){const x=Array.isArray(b)?b:[b];this.options.avoidMembers.some(E=>x.includes(E))&&(this.options.avoidMembers=this.options.avoidMembers.filter(E=>!x.includes(E)),this.drawBubbleSets())}updateAvoidMember(b){this.options.avoidMembers=Array.isArray(b)?b:[b],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(mt.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(mt.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape&&(this.shape.destroy(),this.shape=void 0),super.destroy()}}Ei.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},ca.vC);const Si=(te,b)=>(Array.isArray(b)?b:[b]).map(E=>{const ne=te.getElementRenderBounds(E);return new ca.Ae(ne.min[0],ne.min[1],Xn(ne),dn(ne))}),ba=(te,b)=>(Array.isArray(b)?b:[b]).map(E=>{const ne=te.getEdgeData(E),re=te.getElementPosition(ne.source),oe=te.getElementPosition(ne.target);return ca.x1.from({x1:re[0],y1:re[1],x2:oe[0],y2:oe[1]})});class Sa extends null{constructor(b,x){super(b,x),this.setOptions=E=>{const ne={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},re=(oe,ue)=>{switch(oe){case"projectionMode":return ue==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[ue];case"aspect":return typeof ue=="number"?ue:this.getCanvasAspect();default:return ue}};Object.entries(ne).forEach(([oe,ue])=>{const fe=E[oe];if(fe!==void 0){const ge=re(oe,fe);this.context.canvas.getCamera()[ue](ge)}})},this.bindEvents()}update(b){this.setOptions(b),super.update(b)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[b,x]=this.context.viewport.getCanvasSize();return b/x}}function Uo(te){return` -
      - ${te.map(b=>`
    • ${b.name}
    • `).join("")} -
    - `}const Ua=` - .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 Oa=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class xo extends Kn{constructor(b,x){super(b,Object.assign({},xo.defaultOptions,x)),this.targetElement=null,this.onTriggerEvent=E=>{var ne;(ne=E.preventDefault)===null||ne===void 0||ne.call(E),this.show(E)},this.onMenuItemClick=E=>{const{onClick:ne,trigger:re}=this.options;if(E.target instanceof HTMLElement&&E.target.className.includes("g6-contextmenu-li")){const oe=E.target.getAttribute("value");ne==null||ne(oe,E.target,this.targetElement),this.hide()}re!=="click"&&this.hide()},this.initElement(),this.update(x)}initElement(){this.$element=wr("contextmenu",!1,{zIndex:"99"});const{className:b}=this.options;b&&this.$element.classList.add(b),this.context.canvas.getContainer().appendChild(this.$element),ra("g6-contextmenu-css","style",{},Ua,document.head)}show(b){return Oa(this,void 0,void 0,function*(){const{enable:x,offset:E}=this.options;if(typeof x=="function"&&!x(b)||!x){this.hide();return}const ne=yield this.getDOMContent(b);ne instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(ne)):this.$element.innerHTML=ne;const re=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${b.client.x-re.left+E[0]}px`,this.$element.style.top=`${b.client.y-re.top+E[1]}px`,this.$element.style.display="block",this.targetElement=b.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(b){this.unbindEvents(),super.update(b),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(b){return Oa(this,void 0,void 0,function*(){const{getContent:x,getItems:E}=this.options;return E?Uo(yield E(b)):yield x(b)})}bindEvents(){const{graph:b}=this.context,{trigger:x}=this.options;b.on(`canvas:${x}`,this.onTriggerEvent),b.on(`node:${x}`,this.onTriggerEvent),b.on(`edge:${x}`,this.onTriggerEvent),b.on(`combo:${x}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:b}=this.context,{trigger:x}=this.options;b.off(`canvas:${x}`,this.onTriggerEvent),b.off(`node:${x}`,this.onTriggerEvent),b.off(`edge:${x}`,this.onTriggerEvent),b.off(`combo:${x}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}xo.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'
    Loading...
    ',getContent:()=>"It is a empty context menu.",enable:()=>!0};class di extends Kn{constructor(b,x){super(b,Object.assign({},di.defaultOptions,x)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:E,element:ne}=this.context,re=E.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:oe,iterRate:ue,divRate:fe}=this.options;let{lambda:ge,divisions:ye,iterations:De}=this.options;for(let Te=0;Te{var Mt;if(At.source===At.target)return;const Ut=kn(At);rt[Ut]=this.getEdgeForces(At,ye,ge);for(let en=0;en{const Ve=kn(Te),rt=ne.getElement(Ve);rt==null||rt.update({d:yi(this.edgePoints[Ve])})})},this.bindEvents()}get nodeMap(){const b=this.context.model.getNodeData();return Object.fromEntries(b.map(x=>[kn(x),er(Di(x))]))}divideEdges(b){this.context.model.getEdgeData().forEach(E=>{var ne;const re=kn(E);(ne=this.edgePoints)[re]||(ne[re]=[]);const oe=this.nodeMap[E.source],ue=this.nodeMap[E.target];if(b===1)this.edgePoints[re].push(oe),this.edgePoints[re].push(yr(Nt(oe,ue),2)),this.edgePoints[re].push(ue);else{const ge=(this.edgePoints[re].length===0?zr(oe,ue):Xo(this.edgePoints[re]))/(b+1);let ye=ge;const De=[oe];for(let Te=1;Teye;){const Mt=ye/At,Ut=Nt(Ve,Sr(Gn(rt,Ve),Mt));De.push(Ut),At-=ye,ye=ge}ye-=At}De.push(ue),this.edgePoints[re]=De}})}getVectorPosition(b){const x=this.nodeMap[b.source],E=this.nodeMap[b.target],[ne,re]=Gn(E,x),oe=zr(x,E);return{source:x,target:E,vx:ne,vy:re,length:oe}}measureEdgeCompatibility(b,x){const E=this.getVectorPosition(b),ne=this.getVectorPosition(x),re=Ca(E,ne),oe=va(E,ne),ue=ro(E,ne),fe=xl(E,ne);return re*oe*ue*fe}getEdgeBundles(){const b={},x=this.options.bundleThreshold,E=this.context.model.getEdgeData();return E.forEach((ne,re)=>{E.forEach((oe,ue)=>{var fe,ge;if(ue<=re)return;this.measureEdgeCompatibility(ne,oe)>=x&&(b[fe=kn(ne)]||(b[fe]=[]),b[kn(ne)].push(oe),b[ge=kn(oe)]||(b[ge]=[]),b[kn(oe)].push(ne))})}),b}getSpringForce(b,x){const{pre:E,cur:ne,next:re}=b;return Sr(Gn(Nt(E,re),Sr(ne,2)),x)}getElectrostaticForce(b,x){(0,Oi.Z)(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const E=this.edgeBundles[kn(x)];let ne=[0,0];return E==null||E.forEach(re=>{const oe=this.edgePoints[kn(re)][b],ue=this.edgePoints[kn(x)][b],fe=Gn(oe,ue),ge=zr(oe,ue);ne=Nt(ne,Sr(fe,1/ge))}),ne}getEdgeForces(b,x,E){const ne=this.nodeMap[b.source],re=this.nodeMap[b.target],oe=this.options.K/(zr(ne,re)*(x+1)),ue=[[0,0]],fe=kn(b);for(let ge=1;geMath.abs(ci([te.vx,te.vy],[b.vx,b.vy])/(te.length*b.length)),va=(te,b)=>{const x=(te.length+b.length)/2;return 2/(x/Math.min(te.length,b.length)+Math.max(te.length,b.length)/x)},ro=(te,b)=>{const x=(te.length+b.length)/2,E=yr(Nt(te.source,te.target),2),ne=yr(Nt(b.source,b.target),2);return x/(x+zr(E,ne))},Pa=(te,b)=>{if(b.source[0]===b.target[0])return[b.source[0],te[1]];if(b.source[1]===b.target[1])return[te[0],b.source[1]];const x=(b.source[1]-b.target[1])/(b.source[0]-b.target[0]),E=(x*x*b.source[0]+x*(te[1]-b.source[1])+te[0])/(x*x+1),ne=x*(E-b.source[0])+b.source[1];return[E,ne]},rl=(te,b)=>{const x=Pa(b.source,te),E=Pa(b.target,te),ne=yr(Nt(x,E),2),re=yr(Nt(te.source,te.target),2);return zr(x,E)===0?0:Math.max(0,1-2*zr(re,ne)/zr(x,E))},xl=(te,b)=>Math.min(rl(te,b),rl(b,te)),Xo=te=>{let b=0;for(let x=1;x{if(this.options.trigger==="drag"&&this.isLensOn)return;const ne=Da(E.canvas);this.renderLens(ne),this.renderFocusElements()},this.renderLens=E=>{const ne=Object.assign({},_l,this.options.style);this.isLensOn||(this.lens=new Ro({style:ne}),this.canvas.appendChild(this.lens)),Object.assign(ne,Ma(E),{size:this.r*2}),this.lens.update(ne)},this.getFilterData=()=>{const{filter:E}=this.options,{model:ne}=this.context,re=ne.getData();if(!E)return re;const{nodes:oe,edges:ue,combos:fe}=re;return{nodes:oe.filter(ge=>E(kn(ge),"node")),edges:ue.filter(ge=>E(kn(ge),"edge")),combos:fe.filter(ge=>E(kn(ge),"combo"))}},this.getFocusElements=E=>{const{nodes:ne,edges:re}=this.getFilterData(),oe=ne.filter(ge=>zr(Di(ge),E)kn(ge)),fe=re.filter(ge=>{const{source:ye,target:De}=ge,Te=ue.includes(ye),Ve=ue.includes(De);switch(this.options.nodeType){case"both":return Te&&Ve;case"either":return Te!==Ve;case"source":return Te&&!Ve;case"target":return!Te&&Ve;default:return!1}});return{nodes:oe,edges:fe}},this.renderFocusElements=()=>{const{element:E,graph:ne}=this.context;if(!this.isLensOn)return;const re=this.lens.getCenter(),{nodes:oe,edges:ue}=this.getFocusElements(re),fe=new Set,ge=ye=>{const De=kn(ye);fe.add(De);const Te=E.getElement(De);if(!Te)return;const Ve=this.shapes.get(De)||Te.cloneNode();Ve.setPosition(Te.getPosition()),Ve.id=Te.id,this.shapes.has(De)?Object.entries(Te.attributes).forEach(([Mt,Ut])=>{Ve.style[Mt]!==Ut&&(Ve.style[Mt]=Ut)}):(this.canvas.appendChild(Ve),this.shapes.set(De,Ve));const rt=ne.getElementType(De),At=this.getElementStyle(rt,ye);Ve.update(At)};oe.forEach(ge),ue.forEach(ge),this.shapes.forEach((ye,De)=>{fe.has(De)||(ye.destroy(),this.shapes.delete(De))})},this.scaleRByWheel=E=>{var ne;this.options.preventDefault&&E.preventDefault();const{clientX:re,clientY:oe,deltaX:ue,deltaY:fe}=E,{graph:ge,canvas:ye}=this.context,De=ge.getCanvasByClient([re,oe]),Te=(ne=this.lens)===null||ne===void 0?void 0:ne.getCenter();if(!this.isLensOn||zr(De,Te)>this.r)return;const{maxR:Ve,minR:rt}=this.options,At=ue+fe>0?1/(1-ts):1-ts,Mt=Math.min(...ye.getSize())/2;this.r=Math.max(rt||0,Math.min(Ve||Mt,this.r*At)),this.renderLens(Te),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=E=>{var ne;const re=Da(E.canvas),oe=(ne=this.lens)===null||ne===void 0?void 0:ne.getCenter();!this.isLensOn||zr(re,oe)>this.r||(this.isLensDragging=!0)},this.onDrag=E=>{if(!this.isLensDragging)return;const ne=Da(E.canvas);this.renderLens(ne),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(b,x){const E=b==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof E=="function"?E(x):E}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var b;const{graph:x}=this.context,{trigger:E,scaleRBy:ne}=this.options,re=x.getCanvas().getLayer();["click","drag"].includes(E)&&re.addEventListener(Ye.CLICK,this.onEdgeFilter),E==="pointermove"?re.addEventListener(Ye.POINTER_MOVE,this.onEdgeFilter):E==="drag"&&(re.addEventListener(Ye.DRAG_START,this.onDragStart),re.addEventListener(Ye.DRAG,this.onDrag),re.addEventListener(Ye.DRAG_END,this.onDragEnd)),ne==="wheel"&&((b=this.graphDom)===null||b===void 0||b.addEventListener(Ye.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var b;const{graph:x}=this.context,{trigger:E,scaleRBy:ne}=this.options,re=x.getCanvas().getLayer();["click","drag"].includes(E)&&re.removeEventListener(Ye.CLICK,this.onEdgeFilter),E==="pointermove"?re.removeEventListener(Ye.POINTER_MOVE,this.onEdgeFilter):E==="drag"&&(re.removeEventListener(Ye.DRAG_START,this.onDragStart),re.removeEventListener(Ye.DRAG,this.onDrag),re.removeEventListener(Ye.DRAG_END,this.onDragEnd)),ne==="wheel"&&((b=this.graphDom)===null||b===void 0||b.removeEventListener(Ye.WHEEL,this.scaleRByWheel))}update(b){var x;this.unbindEvents(),super.update(b),this.r=(x=b.r)!==null&&x!==void 0?x:this.r,this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((b,x)=>{b.destroy(),this.shapes.delete(x)}),super.destroy()}}ko.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const Gr={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},so=.05,Ti=.1;class oa extends Kn{constructor(b,x){super(b,Object.assign({},oa.defaultOptions,x)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=E=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const ne=Da(E.canvas);this.onMagnify(ne)},this.onMagnify=E=>{E.some(isNaN)||(this.renderLens(E),this.renderFocusElements())},this.renderLens=E=>{const ne=Object.assign({},Gr,this.options.style);this.isLensOn||(this.lens=new Ro({style:ne}),this.canvas.appendChild(this.lens)),Object.assign(ne,Ma(E),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(ne)},this.getDPercent=()=>{const{minD:E,maxD:ne}=this.options;return`${Math.round((this.d-E)/(ne-E)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:E}=this.context,ne=this.lens.getCenter(),re=(this.d+1)*this.r,oe=new Map,ue=new Map;E.getNodeData().forEach(ge=>{const ye=Di(ge),De=zr(ye,ne);if(De>this.r)return;const Te=re*De/(this.d*De+this.r),[Ve,rt]=ye,[At,Mt]=ne,Ut=(Ve-At)/De,en=(rt-Mt)/De,hn=[At+Te*Ut,Mt+Te*en],rr=kn(ge),mi=this.getNodeStyle(ge),ei=(0,Tu.Z)(E.getElementRenderStyle(rr),Object.keys(mi));oe.set(rr,Object.assign(Object.assign({},Ma(hn)),mi)),ue.set(rr,Object.assign(Object.assign({},Ma(ye)),ei))}),this.updateStyle(oe,ue)},this.getNodeStyle=E=>{const{nodeStyle:ne}=this.options;return typeof ne=="function"?ne(E):ne},this.updateStyle=(E,ne)=>{const{graph:re,element:oe}=this.context,{enter:ue,exit:fe,keep:ge}=lr(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(E.keys()),Te=>Te),ye=new Set,De=(Te,Ve)=>{const rt=oe.getElement(Te);rt==null||rt.update(Ve),re.getRelatedEdgesData(Te).forEach(At=>{ye.add(kn(At))})};[...ue,...ge].forEach(Te=>{De(Te,E.get(Te))}),fe.forEach(Te=>{De(Te,this.prevOriginStyleMap.get(Te)),this.prevOriginStyleMap.delete(Te)}),ye.forEach(Te=>{const Ve=oe.getElement(Te);Ve==null||Ve.update({})}),this.prevMagnifiedStyleMap=E,ne.forEach((Te,Ve)=>{this.prevOriginStyleMap.has(Ve)||this.prevOriginStyleMap.set(Ve,Te)})},this.isWheelValid=E=>{if(this.options.preventDefault&&E.preventDefault(),!this.isLensOn)return!1;const{clientX:ne,clientY:re}=E,oe=this.context.graph.getCanvasByClient([ne,re]),ue=this.lens.getCenter();return!(zr(oe,ue)>this.r)},this.scaleR=E=>{const{maxR:ne,minR:re}=this.options,oe=E?1/(1-so):1-so,ue=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(re||0,Math.min(ne||ue,this.r*oe))},this.scaleD=E=>{const{maxD:ne,minD:re}=this.options,oe=E?this.d+Ti:this.d-Ti;this.d=Math.max(re,Math.min(ne,oe))},this.scaleRByWheel=E=>{if(!this.isWheelValid(E))return;const{deltaX:ne,deltaY:re}=E;this.scaleR(ne+re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.scaleDByWheel=E=>{if(!this.isWheelValid(E))return;const{deltaX:ne,deltaY:re}=E;this.scaleD(ne+re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.isDragValid=E=>{if(this.options.preventDefault&&E.preventDefault(),!this.isLensOn)return!1;const ne=Da(E.canvas),re=this.lens.getCenter();return!(zr(ne,re)>this.r)},this.isLensDragging=!1,this.onDragStart=E=>{this.isDragValid(E)&&(this.isLensDragging=!0)},this.onDrag=E=>{if(!this.isLensDragging)return;const ne=Da(E.canvas);this.onMagnify(ne)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=E=>{if(!this.isLensDragging)return;const{dx:ne,dy:re}=E;this.scaleR(ne-re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},this.scaleDByDrag=E=>{if(!this.isLensDragging)return;const{dx:ne,dy:re}=E;this.scaleD(ne-re>0);const oe=this.lens.getCenter();this.onMagnify(oe)},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 b;const{graph:x}=this.context,{trigger:E,scaleRBy:ne,scaleDBy:re}=this.options,oe=x.getCanvas().getLayer();if(["click","drag"].includes(E)&&oe.addEventListener(Ye.CLICK,this.onCreateFisheye),E==="pointermove"&&oe.addEventListener(Ye.POINTER_MOVE,this.onCreateFisheye),E==="drag"||ne==="drag"||re==="drag"){oe.addEventListener(Ye.DRAG_START,this.onDragStart),oe.addEventListener(Ye.DRAG_END,this.onDragEnd);const ue=E==="drag"?this.onDrag:ne==="drag"?this.scaleRByDrag:this.scaleDByDrag;oe.addEventListener(Ye.DRAG,ue)}if(ne==="wheel"||re==="wheel"){const ue=ne==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(b=this.graphDom)===null||b===void 0||b.addEventListener(Ye.WHEEL,ue,{passive:!1})}}unbindEvents(){var b;const{graph:x}=this.context,{trigger:E,scaleRBy:ne,scaleDBy:re}=this.options,oe=x.getCanvas().getLayer();if(["click","drag"].includes(E)&&oe.removeEventListener(Ye.CLICK,this.onCreateFisheye),E==="pointermove"&&oe.removeEventListener(Ye.POINTER_MOVE,this.onCreateFisheye),E==="drag"||ne==="drag"||re==="drag"){oe.removeEventListener(Ye.DRAG_START,this.onDragStart),oe.removeEventListener(Ye.DRAG_END,this.onDragEnd);const ue=E==="drag"?this.onDrag:ne==="drag"?this.scaleRByDrag:this.scaleDByDrag;oe.removeEventListener(Ye.DRAG,ue)}if(ne==="wheel"||re==="wheel"){const ue=ne==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(b=this.graphDom)===null||b===void 0||b.removeEventListener(Ye.WHEEL,ue)}}update(b){var x,E;this.unbindEvents(),super.update(b),this.r=(x=b.r)!==null&&x!==void 0?x:this.r,this.d=(E=b.d)!==null&&E!==void 0?E:this.d,this.bindEvents()}destroy(){var b;this.unbindEvents(),this.isLensOn&&((b=this.lens)===null||b===void 0||b.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}oa.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class Ea extends Kn{constructor(b,x){super(b,Object.assign({},Ea.defaultOptions,x)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var E,ne,re,oe;const ue=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(ue),ue?(ne=(E=this.options).onEnter)===null||ne===void 0||ne.call(E):(oe=(re=this.options).onExit)===null||oe===void 0||oe.call(re)},this.shortcut=new Na(b.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:b=[],exit:x=[]}=this.options.trigger;this.shortcut.bind(b,this.request),this.shortcut.bind(x,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(ne=>{document.addEventListener(ne,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(x=>{document.removeEventListener(x,this.onFullscreenChange,!1)})}setGraphSize(b=!0){var x,E;let ne,re;b?(ne=((x=globalThis.screen)===null||x===void 0?void 0:x.width)||0,re=((E=globalThis.screen)===null||E===void 0?void 0:E.height)||0,this.graphSize=this.context.graph.getSize()):[ne,re]=this.graphSize,this.context.graph.setSize(ne,re),this.context.graph.render()}request(){document.fullscreenElement||!Yo()||this.$el.requestFullscreen().catch(b=>{et.warn(`Error attempting to enable full-screen: ${b.message} (${b.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(b){this.unbindEvents(),super.update(b),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}Ea.defaultOptions={trigger:{},autoFit:!0};function Yo(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}var Eo=he(50264);class Ss extends Kn{constructor(b,x){super(b,Object.assign({},Ss.defaultOptions,x)),this.$element=wr("grid-line",!0),this.offset=[0,0],this.currentScale=1,this.followZoom=ne=>{const{data:{scale:re,origin:oe}}=ne;if(!re||oe===void 0&&this.context.viewport===void 0)return;const ue=this.currentScale;this.currentScale=re;const fe=re/ue,ge=Sr(oe||this.context.graph.getCanvasCenter(),1-fe),ye=this.baseSize*re,De=Sr(this.offset,fe),Te=xn(De,ye),Ve=Nt(Te,ge);this.$element.style.backgroundSize=`${ye}px ${ye}px`,this.$element.style.backgroundPosition=`${Ve[0]}px ${Ve[1]}px`,this.offset=xn(Ve,ye)},this.followTranslate=ne=>{if(!this.options.follow)return;const{data:{translate:re}}=ne;re&&this.updateOffset(re)},this.onTransform=ne=>{const re=this.parseFollow(this.options.follow);re.zoom&&this.followZoom(ne),re.translate&&this.followTranslate(ne)},this.context.canvas.getContainer().prepend(this.$element),this.baseSize=this.options.size,this.updateStyle(),this.bindEvents()}update(b){super.update(b),b.size!==void 0&&(this.baseSize=b.size),this.updateStyle()}bindEvents(){const{graph:b}=this.context;b.on(mt.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{stroke:b,lineWidth:x,border:E,borderLineWidth:ne,borderStroke:re,borderStyle:oe}=this.options,ue=this.baseSize*this.currentScale;Object.assign(this.$element.style,{border:E?`${ne}px ${oe} ${re}`:"none",backgroundImage:`linear-gradient(${b} ${x}px, transparent ${x}px), linear-gradient(90deg, ${b} ${x}px, transparent ${x}px)`,backgroundSize:`${ue}px ${ue}px`,backgroundRepeat:"repeat"})}updateOffset(b){const x=this.baseSize*this.currentScale;this.offset=xn(Nt(this.offset,b),x),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}parseFollow(b){var x,E;return(0,Eo.Z)(b)?{translate:b,zoom:b}:{translate:(x=b==null?void 0:b.translate)!==null&&x!==void 0?x:!1,zoom:(E=b==null?void 0:b.zoom)!==null&&E!==void 0?E:!1}}destroy(){this.context.graph.off(mt.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}Ss.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};var _s=he(49336);function il(te){const b={Added:new Map,Updated:new Map,Removed:new Map};return te.forEach(x=>{const{type:E,value:ne}=x,re=kn(ne);if(E==="NodeAdded"||E==="EdgeAdded"||E==="ComboAdded")b.Added.set(re,x);else if(E==="NodeUpdated"||E==="EdgeUpdated"||E==="ComboUpdated")if(b.Added.has(re))b.Added.set(re,{type:E.replace("Updated","Added"),value:ne});else if(b.Updated.has(re)){const{original:oe}=b.Updated.get(re);b.Updated.set(re,{type:E,value:ne,original:oe})}else b.Removed.has(re)||b.Updated.set(re,x);else(E==="NodeRemoved"||E==="EdgeRemoved"||E==="ComboRemoved")&&(b.Added.has(re)?b.Added.delete(re):(b.Updated.has(re)&&b.Updated.delete(re),b.Removed.set(re,x)))}),[...Array.from(b.Added.values()),...Array.from(b.Updated.values()),...Array.from(b.Removed.values())]}function Ks(te){const{NodeAdded:b=[],NodeUpdated:x=[],NodeRemoved:E=[],EdgeAdded:ne=[],EdgeUpdated:re=[],EdgeRemoved:oe=[],ComboAdded:ue=[],ComboUpdated:fe=[],ComboRemoved:ge=[]}=(0,qe.Z)(te,ye=>ye.type);return{add:{nodes:b,edges:ne,combos:ue},update:{nodes:x,edges:re,combos:fe},remove:{nodes:E,edges:oe,combos:ge}}}function Kl(te,b){for(const x in te)(0,dt.Z)(te[x])&&!Array.isArray(te[x])&&te[x]!==null?(b[x]||(b[x]={}),Kl(te[x],b[x])):b[x]===void 0&&(b[x]=Mn(x))}function Hl(te,b=!1,x){const E={animation:b,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:ne,update:re,remove:oe}=Ks(il(te));return["nodes","edges","combos"].forEach(ue=>{re[ue]&&re[ue].forEach(fe=>{var ge,ye;const De=Object.assign({},fe.value);let Te=Object.assign({},fe.original);if(x){const Ve=x.graph.getElementType(kn(fe.original)),rt=Ve==="edge"?"stroke":"fill",At=x.element.getElementComputedStyle(Ve,fe.original);Te=Object.assign(Object.assign({},fe.original),{style:Object.assign({[rt]:At[rt]},fe.original.style)})}Kl(De,Te),(ge=E.current.update)[ue]||(ge[ue]=[]),E.current.update[ue].push(De),(ye=E.original.update)[ue]||(ye[ue]=[]),E.original.update[ue].push(Te)}),ne[ue]&&ne[ue].forEach(fe=>{var ge,ye;const De=Object.assign({},fe.value);(ge=E.current.add)[ue]||(ge[ue]=[]),E.current.add[ue].push(De),(ye=E.original.remove)[ue]||(ye[ue]=[]),E.original.remove[ue].push(De)}),oe[ue]&&oe[ue].forEach(fe=>{var ge,ye;const De=Object.assign({},fe.value);(ge=E.current.remove)[ue]||(ge[ue]=[]),E.current.remove[ue].push(De),(ye=E.original.add)[ue]||(ye[ue]=[]),E.original.add[ue].push(De)})}),E}class Hu extends Kn{constructor(b,x){super(b,Object.assign({},Hu.defaultOptions,x)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(ne,re=!0)=>{var oe,ue,fe;this.freezed=!0,(ue=(oe=this.options).executeCommand)===null||ue===void 0||ue.call(oe,ne);const ge=re?ne.original:ne.current;this.context.graph.addData(ge.add),this.context.graph.updateData(ge.update),this.context.graph.removeData(ys(ge.remove,!1)),(fe=this.context.element)===null||fe===void 0||fe.draw({silence:!0,animation:ne.animation}),this.freezed=!1},this.addCommand=ne=>{var re;if(!this.freezed){if(ne.type===mt.AFTER_DRAW){const{dataChanges:oe=[],animation:ue=!0}=ne.data;if(!((re=this.context.batch)===null||re===void 0)&&re.isBatching){if(!this.batchChanges)return;this.batchChanges.push(oe),this.batchAnimation&&(this.batchAnimation=ue);return}this.batchChanges=[oe],this.batchAnimation=ue}this.undoStackPush(Hl(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(Jt.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=ne=>{const{initiate:re}=ne.data;this.batchAnimation=!1,re?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new _s.Z;const{graph:E}=this.context;E.on(mt.AFTER_DRAW,this.addCommand),E.on(mt.BATCH_START,this.initBatchCommand),E.on(mt.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var b,x,E,ne;const re=this.undoStack.pop();if(re){if(this.executeCommand(re),((x=(b=this.options).beforeAddCommand)===null||x===void 0?void 0:x.call(b,re,!1))===!1)return;this.redoStack.push(re),(ne=(E=this.options).afterAddCommand)===null||ne===void 0||ne.call(E,re,!1),this.notify(Jt.UNDO,re)}return this}redo(){const b=this.redoStack.pop();return b&&(this.executeCommand(b,!1),this.undoStackPush(b),this.notify(Jt.REDO,b)),this}undoAndCancel(){const b=this.undoStack.pop();return b&&(this.executeCommand(b,!1),this.redoStack=[],this.notify(Jt.CANCEL,b)),this}undoStackPush(b){var x,E,ne,re;const{stackSize:oe}=this.options;oe!==0&&this.undoStack.length>=oe&&this.undoStack.shift(),((E=(x=this.options).beforeAddCommand)===null||E===void 0?void 0:E.call(x,b,!0))!==!1&&(this.undoStack.push(b),(re=(ne=this.options).afterAddCommand)===null||re===void 0||re.call(ne,b,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(Jt.CLEAR,null)}notify(b,x){this.emitter.emit(b,{cmd:x}),this.emitter.emit(Jt.CHANGE,{cmd:x})}on(b,x){this.emitter.on(b,x)}destroy(){const{graph:b}=this.context;b.off(mt.AFTER_DRAW,this.addCommand),b.off(mt.BATCH_START,this.initBatchCommand),b.off(mt.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}Hu.defaultOptions={stackSize:0};const Wc={toXy(te,b){if(!b)return[...te];const x=b[0].slice(1),E=b[1].slice(1);return te.map(ne=>[ne[x],ne[E]])},fromXy(te,b){if(!b)return[...te];const x=b[0].slice(1),E=b[1].slice(1);return te.map(([ne,re])=>({[x]:ne,[E]:re}))}};class Gs{constructor(b,x){this._cells=[],this._cellSize=x,this._reverseCellSize=1/x;for(const E of b){const ne=this.coordToCellNum(E[0]),re=this.coordToCellNum(E[1]);this._cells[ne]||(this._cells[ne]=[]),this._cells[ne][re]||(this._cells[ne][re]=[]),this._cells[ne][re].push(E)}}cellPoints(b,x){var E;return((E=this._cells[b])===null||E===void 0?void 0:E[x])||[]}rangePoints(b){const x=this.coordToCellNum(b[0]),E=this.coordToCellNum(b[1]),ne=this.coordToCellNum(b[2]),re=this.coordToCellNum(b[3]),oe=[];for(let ue=x;ue<=ne;ue++)for(let fe=E;fe<=re;fe++){const ge=this.cellPoints(ue,fe);for(const ye of ge)oe.push(ye)}return oe}removePoint(b){const x=this.coordToCellNum(b[0]),E=this.coordToCellNum(b[1]),ne=this._cells[x][E],re=ne.findIndex(([oe,ue])=>oe===b[0]&&ue===b[1]);return re>-1&&ne.splice(re,1),ne}trunc(b){return Math.trunc(b)}coordToCellNum(b){return this.trunc(b*this._reverseCellSize)}extendBbox(b,x){return[b[0]-x*this._cellSize,b[1]-x*this._cellSize,b[2]+x*this._cellSize,b[3]+x*this._cellSize]}}function kc(te,b){return new Gs(te,b)}const Lc=+(Math.pow(2,27)+1);function Cd(te,b,x){const E=te*b,ne=Lc*te,re=ne-te,oe=ne-re,ue=te-oe,fe=Lc*b,ge=fe-b,ye=fe-ge,De=b-ye,rt=E-oe*ye-ue*ye-oe*De,At=ue*De-rt;return x?(x[0]=At,x[1]=E,x):[At,E]}function Bd(te,b,x){const E=te+b,ne=E-te,re=E-ne,oe=b-ne,ue=te-re;return x?(x[0]=ue+oe,x[1]=E,x):[ue+oe,E]}function mf(te,b){const x=te.length;if(x===1){const ue=Cd(te[0],b);return ue[0]?ue:[ue[1]]}const E=new Array(2*x),ne=[.1,.1],re=[.1,.1];let oe=0;Cd(te[0],b,ne),ne[0]&&(E[oe++]=ne[0]);for(let ue=1;ue=E?(rt=ye,ue+=1,ue=E?(rt=ye,ue+=1,ue0){if(re<=0)return oe;ue=ne+re}else if(ne<0){if(re>=0)return oe;ue=-(ne+re)}else return oe;const fe=xf*ue;return oe>=fe||oe<=-fe?oe:Td(b,x,E)},function(b,x,E,ne){const re=b[0]-ne[0],oe=x[0]-ne[0],ue=E[0]-ne[0],fe=b[1]-ne[1],ge=x[1]-ne[1],ye=E[1]-ne[1],De=b[2]-ne[2],Te=x[2]-ne[2],Ve=E[2]-ne[2],rt=oe*ye,At=ue*ge,Mt=ue*fe,Ut=re*ye,en=re*ge,hn=oe*fe,rr=De*(rt-At)+Te*(Mt-Ut)+Ve*(en-hn),mi=(Math.abs(rt)+Math.abs(At))*Math.abs(De)+(Math.abs(Mt)+Math.abs(Ut))*Math.abs(Te)+(Math.abs(en)+Math.abs(hn))*Math.abs(Ve),ei=ws*mi;return rr>ei||-rr>ei?rr:yh(b,x,E,ne)}];function zd(te){let b=If[te.length];return b||(b=If[te.length]=ch(te.length)),b.apply(void 0,...te)}function Ef(te,b,x,E,ne,re,oe){return function(...fe){switch(fe.length){case 0:case 1:return 0;case 2:return E(fe[0],fe[1]);case 3:return ne(fe[0],fe[1],fe[2]);case 4:return re(fe[0],fe[1],fe[2],fe[3]);case 5:return oe(fe[0],fe[1],fe[2],fe[3],fe[4])}return te(fe)}}function Cu(){for(;If.length<=uh;)If.push(ch(If.length));const te=Ef(void 0,zd,...If);for(let b=0;b<=uh;++b)te[b]=If[b];return te}var Ud=Cu();const e0=Ud[3];function wp(te){const b=te.length;if(b<3){const ue=new Array(b);for(let fe=0;fe{const ge=te[ue][0]-te[fe][0];return ge||te[ue][1]-te[fe][1]});const E=[x[0],x[1]],ne=[x[0],x[1]];for(let ue=2;ue1&&e0(te[E[ye-2]],te[E[ye-1]],ge)<=0;)ye-=1,E.pop();for(E.push(fe),ye=ne.length;ye>1&&e0(te[ne[ye-2]],te[ne[ye-1]],ge)>=0;)ye-=1,ne.pop();ne.push(fe)}const re=new Array(ne.length+E.length-2);let oe=0;for(let ue=0,fe=E.length;ue0;--ue)re[oe++]=ne[ue];return re}function Cp(te,b,x,E){for(let ne=0;ne<2;++ne){const re=te[ne],oe=b[ne],[ue,fe]=[Math.min(re,oe),Math.max(re,oe)],ge=x[ne],ye=E[ne],[De,Te]=[Math.min(ge,ye),Math.max(ge,ye)];if(Te0&&re>0||ne<0&&re<0)return!1;const oe=Ud(x,te,b),ue=Ud(E,te,b);return oe>0&&ue>0||oe<0&&ue<0?!1:ne===0&&re===0&&oe===0&&ue===0?Cp(te,b,x,E):!0}function dh(te){const b=[te[0]];let x=te[0];for(let E=1;E=0;re--)te[re][0]E&&(E=te[re][0]),te[re][1]>ne&&(ne=te[re][1]);return[E-b,ne-x]}function tc(te){return[Math.min(te[0][0],te[1][0]),Math.min(te[0][1],te[1][1]),Math.max(te[0][0],te[1][0]),Math.max(te[0][1],te[1][1])]}function Fu(te,b,x){let E=null,ne=Yf,re=Yf,oe,ue;for(let fe=0;fene&&ue>re&&!Nu([te[0],b[fe]],x)&&!Nu([te[1],b[fe]],x)&&(ne=oe,re=ue,E=b[fe]);return E}function bh(te,b,x,E,ne){let re=!1;for(let oe=0;oeDe||x[1]>Te));De>=x[0]&&Te>=x[1]&&ne.add(fe),Ve!==null&&(te.splice(oe+1,0,Ve),E.removePoint(Ve),re=!0)}return re?bh(te,b,x,E,ne):te}function fh(te,b,x){const E=b||20,ne=dh(U0(Wc.toXy(te,x)));if(ne.length<4){const De=ne.concat([ne[0]]);return x?Wc.fromXy(De,x):De}const re=ic(ne),oe=[re[0]*Y0,re[1]*Y0],ue=wp(ne).reverse().map(De=>ne[De]);ue.push(ue[0]);const fe=ne.filter(function(De){return ue.indexOf(De)<0}),ge=Math.ceil(1/(ne.length/(re[0]*re[1]))),ye=bh(ue,Math.pow(E,2),oe,kc(fe,ge),new Set);return x?Wc.fromXy(ye,x):ye}const Yf=Math.cos(90/(180/Math.PI)),Y0=.6;function lg(te,b,x){if(te.length===1)return J0(te[0],b,x);if(te.length===2)return q0(te,b,x);if(te.length===3){const[E,ne,re]=ls(te);if(Us(E,ne,re))return q0([E,re],b,x)}switch(x){case"smooth":return Av(te,b);case"sharp":return ug(te,b);case"rounded":default:return Wp(te,b)}}const J0=(te,b,x)=>{if(x==="sharp")return[["M",te[0]-b,te[1]-b],["L",te[0]+b,te[1]-b],["L",te[0]+b,te[1]+b],["L",te[0]-b,te[1]+b],["Z"]];const E=[b,b,0,0,0];return[["M",te[0],te[1]-b],["A",...E,te[0],te[1]+b],["A",...E,te[0],te[1]-b]]},q0=(te,b,x)=>{const E=[b,b,0,0,0],ne=x==="sharp"?Nt(te[0],Ur(qa(Gn(te[0],te[1])),b)):te[0],re=x==="sharp"?Nt(te[1],Ur(qa(Gn(te[1],te[0])),b)):te[1],oe=Ur(qa(sr(Gn(ne,re),!1)),b),ue=Ur(oe,-1),fe=Nt(ne,oe),ge=Nt(re,oe),ye=Nt(re,ue),De=Nt(ne,ue);return x==="sharp"?[["M",fe[0],fe[1]],["L",ge[0],ge[1]],["L",ye[0],ye[1]],["L",De[0],De[1]],["Z"]]:[["M",fe[0],fe[1]],["L",ge[0],ge[1]],["A",...E,ye[0],ye[1]],["L",De[0],De[1]],["A",...E,fe[0],fe[1]]]},Wp=(te,b)=>{const x=ls(te).map((ue,fe)=>{const ge=(fe-2+te.length)%te.length,ye=(fe-1+te.length)%te.length,De=(fe+1)%te.length,Te=te[ge],Ve=te[ye],rt=te[De],At=Gn(Te,Ve),Mt=Gn(Ve,ue),Ut=Gn(ue,rt),en=(Ri,Yr)=>pi(Ri,Yr,!0)Ur(qa(sr(Ri,!1)),b),ei=mi(Mt);return[{p:er(hn?Nt(Ve,mi(At)):Nt(Ve,ei)),concave:hn&&Ve},{p:er(rr?Nt(ue,mi(Ut)):Nt(ue,ei)),concave:rr&&ue}]}),E=[b,b,0,0,0],ne=x.findIndex((ue,fe)=>!x[(fe-1+x.length)%x.length][0].concave&&!x[(fe-1+x.length)%x.length][1].concave&&!ue[0].concave&&!ue[0].concave&&!ue[1].concave),re=x.slice(ne).concat(x.slice(0,ne));let oe=[];return re.flatMap((ue,fe)=>{const ge=[],ye=re[x.length-1];return fe===0&&ge.push(["M",...ye[1].p]),ue[0].concave?oe.push(ue[0].p,ue[1].p):ge.push(["A",...E,...ue[0].p]),ue[1].concave?oe.unshift(ue[1].p):ge.push(["L",...ue[1].p]),oe.length===3&&(ge.pop(),ge.push(["C",...oe.flat()]),oe=[]),ge})},Av=(te,b)=>{const x=ls(te).map((E,ne)=>{const re=te[(ne+1)%te.length];return{p:E,v:qa(Gn(re,E))}});return x.forEach((E,ne)=>{const re=ne>0?ne-1:te.length-1,oe=x[re].v,ue=qa(Nt(oe,Ur(E.v,pi(oe,E.v,!0)E.p))},ug=(te,b)=>{const E=te.map((re,oe)=>{const ue=te[oe===0?te.length-1:oe-1],fe=Er(Ur(qa(sr(Gn(ue,re),!1)),b));return[Nt(ue,fe),Nt(re,fe)]}).flat();return E.map((re,oe)=>{if(oe%2===0)return null;const ue=[E[(oe-1)%E.length],E[oe%E.length]],fe=[E[(oe+1)%E.length],E[(oe+2)%E.length]];return Bi(ue,fe,!0)}).filter(Boolean).map((re,oe)=>[oe===0?"M":"L",re[0],re[1]]).concat([["Z"]])};var t0=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{if(!this.shape)this.shape=new kl({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const E=!(0,Dt.Z)(this.optionsCache,this.options);this.shape.update(this.getHullStyle(E))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=E=>{this.shape&&this.options.members.includes(kn(E.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(E=!1)=>{const{graph:ne}=this.context,re=this.getMember();if(re.length===0)return"";const oe=re.map(ge=>ne.getNodeData(ge)),ue=fh(oe.map(Di),this.options.concavity).slice(1).reverse(),fe=ue.flatMap(ge=>oe.filter(ye=>(0,Dt.Z)(Di(ye),ge)).map(kn));return(0,Dt.Z)(fe,this.hullMemberIds)&&!E?this.path:(this.hullMemberIds=fe,this.path=lg(ue,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(mt.AFTER_RENDER,this.drawHull),this.context.graph.on(mt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}unbindEvents(){this.context.graph.off(mt.AFTER_RENDER,this.drawHull),this.context.graph.off(mt.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(b){const x=this.options,{members:E,padding:ne,corner:re}=x,oe=t0(x,["members","padding","corner"]);return Object.assign(Object.assign({},oe),{d:this.getHullPath(b)})}getPadding(){const{graph:b}=this.context;return this.hullMemberIds.reduce((E,ne)=>{const{halfExtents:re}=b.getElementRenderBounds(ne),oe=Math.max(re[0],re[1]);return Math.max(E,oe)},0)+this.options.padding}addMember(b){const x=Array.isArray(b)?b:[b];this.options.members=[...new Set([...this.options.members,...x])],this.shape.update({d:this.getHullPath()})}removeMember(b){const x=Array.isArray(b)?b:[b];this.options.members=this.options.members.filter(E=>!x.includes(E)),x.some(E=>this.hullMemberIds.includes(E))&&this.shape.update({d:this.getHullPath()})}updateMember(b){this.options.members=(0,On.Z)(b)?b(this.options.members):b,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.unbindEvents(),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}Kp.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};var kg=he(65244);function Cs(te){const{width:b,height:x,renderer:E}=te,ne=xh(te),re=new je.Xz({width:b,height:x,container:ne,renderer:E||new nc.Th});return[ne,re]}function xh(te){var b;const{container:x,className:E,graphCanvas:ne}=te;if(x)return typeof x=="string"?document.getElementById(x):x;const re=wr(E,!1),{width:oe,height:ue,containerStyle:fe}=te,[ge,ye]=ud(te);return Object.assign(re.style,Object.assign({position:"absolute",left:ge+"px",top:ye+"px",width:oe+"px",height:ue+"px"},fe)),(b=ne.getContainer())===null||b===void 0||b.appendChild(re),re}function ud(te){const{width:b,height:x,placement:E,graphCanvas:ne}=te,[re,oe]=ne.getSize(),[ue,fe]=Zn(E);return[ue*(re-b),fe*(oe-x)]}var Hd=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const{graph:E}=this.context;E.on(mt.AFTER_DRAW,this.createElement)},this.changeState=(E,ne)=>{const{graph:re}=this.context,{typePrefix:oe}=this,ue=(0,to.Z)(E,[oe,"id"]),fe=(0,to.Z)(E,[oe,"style","labelText"]),[ge]=ue.split("__"),ye=this.fieldMap[ge].get(fe)||[];re.setElementState(Object.fromEntries(ye==null?void 0:ye.map(De=>[De,ne])))},this.click=E=>{if(this.options.trigger==="hover")return;const ne=(0,to.Z)(E,[this.typePrefix,"id"]);this.selectedItems.includes(ne)?(this.selectedItems=this.selectedItems.filter(re=>re!==ne),this.changeState(E,[])):(this.selectedItems.push(ne),this.changeState(E,"selected"))},this.mouseleave=E=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(E,[]))},this.mouseenter=E=>{if(this.options.trigger==="click")return;const ne=(0,to.Z)(E,[this.typePrefix,"id"]);this.selectedItems.includes(ne)?this.selectedItems=this.selectedItems.filter(re=>re!==ne):(this.selectedItems.push(ne),this.changeState(E,"active"))},this.setFieldMap=(E,ne,re)=>{if(!E)return;const oe=this.fieldMap[re];if(oe)if(!oe.has(E))oe.set(E,[ne]);else{const ue=oe.get(E);ue&&(ue.push(ne),oe.set(E,ue))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(E,ne)=>{if(!E)return[];const{model:re,element:oe}=this.context,{nodes:ue,edges:fe,combos:ge}=re.getData(),ye={},De=Mt=>(0,On.Z)(E)?E(Mt):E,Te={node:"circle",edge:"line",combo:"rect"},Ve={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"},rt=(Mt,Ut)=>oe==null?void 0:oe.getElementComputedStyle(Mt,Ut),At=(Mt,Ut)=>{Mt.forEach(en=>{const{id:hn}=en,rr=(0,to.Z)(en,["data",De(en)]),mi=(oe==null?void 0:oe.getElementType(Ut,en))||"circle",ei=rt(Ut,en),Ri=(Ut==="edge"?ei==null?void 0:ei.stroke:ei==null?void 0:ei.fill)||"#1783ff";hn&&rr&&rr.replace(/\s+/g,"")&&(this.setFieldMap(rr,hn,Ut),ye[rr]||(ye[rr]={id:`${Ut}__${hn}`,label:rr,marker:Ve[mi]||Te[Ut],elementType:Ut,lineWidth:1,stroke:Ri,fill:Ri}))})};switch(ne){case"node":At(ue,"node");break;case"edge":At(fe,"edge");break;case"combo":At(ge,"combo");break;default:return[]}return Object.values(ye)},this.createElement=()=>{if(this.draw){this.updateElement();return}const E=this.options,{width:ne,height:re,nodeField:oe,edgeField:ue,comboField:fe,trigger:ge,position:ye,container:De,containerStyle:Te,className:Ve}=E,rt=Hd(E,["width","height","nodeField","edgeField","comboField","trigger","position","container","containerStyle","className"]),At=this.getMarkerData(oe,"node"),Mt=this.getMarkerData(ue,"edge"),Ut=this.getMarkerData(fe,"combo"),en=[...At,...Ut,...Mt],hn=Object.assign({width:ne,height:re,data:en,itemMarkerLineWidth:({lineWidth:ei})=>ei,itemMarker:({marker:ei})=>ei,itemMarkerStroke:({stroke:ei})=>ei,itemMarkerFill:({fill:ei})=>ei,gridCol:At.length},rt,this.getEvents()),rr=new kg.W({className:"legend",style:hn});this.category=rr,this.upsertCanvas().appendChild(rr),this.draw=!0},this.bindEvents()}update(b){super.update(b),this.clear(),this.createElement()}clear(){var b,x;(b=this.canvas)===null||b===void 0||b.destroy(),(x=this.container)===null||x===void 0||x.remove(),this.canvas=void 0,this.container=void 0,this.draw=!1}updateElement(){this.category&&this.category.update({itemMarkerOpacity:({id:b})=>!this.selectedItems.length||this.selectedItems.includes(b)?1:.5,itemLabelOpacity:({id:b})=>!this.selectedItems.length||this.selectedItems.includes(b)?1:.5})}upsertCanvas(){if(this.canvas)return this.canvas;const b=this.context.canvas,[x,E]=b.getSize(),{width:ne=x,height:re=E,position:oe,container:ue,containerStyle:fe,className:ge}=this.options,[ye,De]=Cs({width:ne,height:re,graphCanvas:b,container:ue,containerStyle:fe,placement:oe,className:"legend"});return this.container=ye,ge&&ye.classList.add(ge),this.canvas=De,this.canvas}destroy(){this.clear(),this.context.graph.off(mt.AFTER_DRAW,this.createElement),super.destroy()}}Th.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16,width:240,height:160};class I0 extends Kn{constructor(b,x){super(b,Object.assign({},I0.defaultOptions,x)),this.onDraw=E=>{var ne;!((ne=E==null?void 0:E.data)===null||ne===void 0)&&ne.render||this.onRender()},this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=E=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(E.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=E=>{if(!this.mask||!this.isMaskDragging)return;const{size:[ne,re]}=this.options,{movementX:oe,movementY:ue}=E,{left:fe,top:ge,width:ye,height:De}=this.mask.style,[,,Te,Ve]=this.maskBBox;let rt=parseInt(fe)+oe,At=parseInt(ge)+ue,Mt=parseInt(ye),Ut=parseInt(De);rt<0&&(rt=0),At<0&&(At=0),rt+Mt>ne&&(rt=Ph(ne-Mt,0)),At+Ut>re&&(At=Ph(re-Ut,0)),Mt0?(rt=Ph(rt-oe,0),Mt=Wh(Mt+oe,ne)):oe<0&&(Mt=Wh(Mt-oe,ne))),Ut0?(At=Ph(At-ue,0),Ut=Wh(Ut+ue,re)):ue<0&&(Ut=Wh(Ut-ue,re))),Object.assign(this.mask.style,{left:rt+"px",top:At+"px",width:Mt+"px",height:Ut+"px"});const en=parseInt(fe)-rt,hn=parseInt(ge)-At;if(en===0&&hn===0)return;const rr=this.context.canvas.getCamera().getZoom(),mi=this.canvas.getCamera().getZoom(),ei=rr/mi;this.context.graph.translateBy([en*ei,hn*ei],!1)},this.onMaskDragEnd=E=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(E.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=(0,Ie.Z)(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(b){this.unbindEvents(),super.update(b),"delay"in b&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=(0,En.Z)(()=>{this.renderMinimap(),this.renderMask()},this.options.delay)}bindEvents(){const{graph:b}=this.context;b.on(mt.AFTER_DRAW,this.onDraw),b.on(mt.AFTER_RENDER,this.onRender),b.on(mt.AFTER_ANIMATE,this.onRender),b.on(mt.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:b}=this.context;b.off(mt.AFTER_DRAW,this.onDraw),b.off(mt.AFTER_RENDER,this.onRender),b.off(mt.AFTER_ANIMATE,this.onRender),b.off(mt.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const b=this.getElements(),x=this.initCanvas();this.setShapes(x,b)}getElements(){const{filter:b}=this.options,{model:x,element:E}=this.context,ne=x.getData(),re={nodes:ne.nodes.filter(ge=>E==null?void 0:E.getElement(kn(ge))),edges:ne.edges.filter(ge=>{const ye=E==null?void 0:E.getElement(kn(ge));return ye&&bl(ye)}),combos:ne.combos.filter(ge=>E==null?void 0:E.getElement(kn(ge)))};if(!b)return re;const{nodes:oe,edges:ue,combos:fe}=re;return{nodes:oe.filter(ge=>b(kn(ge),"node")),edges:ue.filter(ge=>b(kn(ge),"edge")),combos:fe.filter(ge=>b(kn(ge),"combo"))}}setShapes(b,x){const{nodes:E,edges:ne,combos:re}=x,{shape:oe}=this.options,{element:ue}=this.context,fe=(ge,ye)=>{const De=kn(ge),Te=ue==null?void 0:ue.getElement(De);if(!Te)return;const Ve=Te.getShape("key");let rt;if(typeof oe=="string"){const At=oe;rt=Te.getShape(At).cloneNode()}else{const At=oe(De,ye,Te);At===Te?rt=At.cloneNode(!0):rt=At}rt.setPosition(Ve.getPosition()),Te.style.zIndex&&(rt.style.zIndex=Te.style.zIndex),rt.id=Te.id,b.appendChild(rt)};b.removeChildren(),ne.forEach(ge=>fe(ge,"edge")),re.forEach(ge=>fe(ge,"combo")),E.forEach(ge=>fe(ge,"node"))}initCanvas(){const{renderer:b,size:[x,E]}=this.options;if(this.canvas){const{width:ne,height:re}=this.canvas.getConfig();(x!==ne||E!==re)&&this.canvas.resize(x,E),b&&this.canvas.setRenderer(b)}else{const{className:ne,position:re,container:oe,containerStyle:ue}=this.options,[fe,ge]=Cs({renderer:b,width:x,height:E,placement:re,className:"minimap",container:oe,containerStyle:ue,graphCanvas:this.context.canvas});ne&&fe.classList.add(ne),this.container=fe,this.canvas=ge}return this.setCamera(),this.canvas}createLandmark(b,x,E){const ne=`${b.join(",")}-${x.join(",")}-${E}`;if(this.landmarkMap.has(ne))return this.landmarkMap.get(ne);const oe=this.canvas.getCamera().createLandmark(ne,{position:b,focalPoint:x,zoom:E});return this.landmarkMap.set(ne,oe),oe}setCamera(){var b;const{canvas:x}=this.context,E=(b=this.canvas)===null||b===void 0?void 0:b.getCamera();if(!E)return;const{size:[ne,re],padding:oe}=this.options,[ue,fe,ge,ye]=Lt(oe),{min:De,max:Te,center:Ve}=x.getBounds("elements"),rt=Te[0]-De[0],At=Te[1]-De[1],Mt=ne-ye-fe,Ut=re-ue-ge,en=Mt/rt,hn=Ut/At,rr=Math.min(en,hn),mi=this.createLandmark(Ve,Ve,rr);E.gotoLandmark(mi,0)}get maskBBox(){const{canvas:b}=this.context,x=b.getSize(),E=b.getCanvasByViewport([0,0]),ne=b.getCanvasByViewport(x),re=this.canvas.canvas2Viewport(Ma(E)),oe=this.canvas.canvas2Viewport(Ma(ne)),ue=oe.x-re.x,fe=oe.y-re.y;return[re.x,re.y,ue,fe]}calculateMaskBBox(){const{size:[b,x]}=this.options;let[E,ne,re,oe]=this.maskBBox;return E<0&&(re=Wh(re+E,b),E=0),ne<0&&(oe=Wh(oe+ne,x),ne=0),E+re>b&&(re=Ph(b-E,0)),ne+oe>x&&(oe=Ph(x-ne,0)),[Wh(E,b),Wh(ne,x),Ph(re,0),Ph(oe,0)]}renderMask(){const{maskStyle:b}=this.options;this.mask||(this.mask=document.createElement("div"),this.mask.addEventListener("pointerdown",this.onMaskDragStart),this.mask.draggable=!0,this.mask.addEventListener("dragstart",x=>x.preventDefault&&x.preventDefault())),this.container.appendChild(this.mask),Object.assign(this.mask.style,Object.assign(Object.assign({},b),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[b,x,E,ne]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:x+"px",left:b+"px",width:E+"px",height:ne+"px"})}destroy(){var b,x,E;this.unbindEvents(),(b=this.canvas)===null||b===void 0||b.destroy(),(x=this.mask)===null||x===void 0||x.remove(),(E=this.container)===null||E===void 0||E.remove(),super.destroy()}}I0.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 Wh=(te,b)=>Math.min(te,b),Ph=(te,b)=>Math.max(te,b);var Kh=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};const _0={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class Dp extends Kn{constructor(b,x){super(b,Object.assign({},Dp.defaultOptions,x)),this.initSnapline=()=>{const E=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=E.appendChild(new je.x1({style:Object.assign(Object.assign({},_0),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=E.appendChild(new je.x1({style:Object.assign(Object.assign({},_0),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(E,ne,re)=>Kh(this,void 0,void 0,function*(){const{verticalX:oe,horizontalY:ue}=re,{tolerance:fe}=this.options,{min:[ge,ye],max:[De,Te],center:[Ve,rt]}=ne;let At=0,Mt=0;oe!==null&&(Of(De,oe){const{target:ne}=E,re=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[oe,ue]=this.getDelta(E);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(oe)<=re&&Math.abs(ue)<=re)return this.context.graph.translateElementBy({[ne.id]:[-oe,-ue]},!1),!1;if(this.isHorizontalSticking&&Math.abs(ue)<=re)return this.context.graph.translateElementBy({[ne.id]:[0,-ue]},!1),!1;if(this.isVerticalSticking&&Math.abs(oe)<=re)return this.context.graph.translateElementBy({[ne.id]:[-oe,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(E,ne)=>{const{tolerance:re,shape:oe}=this.options,{min:[ue,fe],max:[ge,ye],center:[De,Te]}=ne;let Ve=null,rt=null,At=null,Mt=null,Ut=null,en=null;return this.getNodes().some(hn=>{if((0,Dt.Z)(E.id,hn.id))return!1;const rr=cg(hn,oe).getRenderBounds(),{min:[mi,ei],max:[Ri,Yr],center:[Va,ks]}=rr;return Ve===null&&(Of(Va,De){this.initSnapline()},this.onDrag=E=>Kh(this,void 0,void 0,function*(){const{target:ne}=E;if(this.options.autoSnap&&!this.enableSnap(E))return;const re=cg(ne,this.options.shape).getRenderBounds(),oe=this.calcSnaplineMetadata(ne,re);this.hideSnapline(),(oe.verticalX!==null||oe.horizontalY!==null)&&this.updateSnapline(oe),this.options.autoSnap&&(yield this.autoSnapToLine(ne.id,re,oe))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var b;const{filter:x}=this.options,ne=(((b=this.context.element)===null||b===void 0?void 0:b.getNodes())||[]).filter(re=>{var oe;return bl(re)&&((oe=this.context.viewport)===null||oe===void 0?void 0:oe.isInViewport(re.getRenderBounds()))});return x?ne.filter(re=>x(re)):ne}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(b){const{lineWidth:x}=this.options[`${b}LineStyle`];return+(x||_0.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(b){const{verticalX:x,verticalMinY:E,verticalMaxY:ne,horizontalY:re,horizontalMinX:oe,horizontalMaxX:ue}=b,[fe,ge]=this.context.canvas.getSize(),{offset:ye}=this.options;re!==null?Object.assign(this.horizontalLine.style,{x1:ye===1/0?0:oe-ye,y1:re,x2:ye===1/0?fe:ue+ye,y2:re,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",x!==null?Object.assign(this.verticalLine.style,{x1:x,y1:ye===1/0?0:E-ye,x2:x,y2:ye===1/0?ge:ne+ye,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(b){const x=this.context.graph.getZoom();return yr([b.dx,b.dy],x)}bindEvents(){return Kh(this,void 0,void 0,function*(){const{graph:b}=this.context;b.on(Qt.DRAG_START,this.onDragStart),b.on(Qt.DRAG,this.onDrag),b.on(Qt.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:b}=this.context;b.off(Qt.DRAG_START,this.onDragStart),b.off(Qt.DRAG,this.onDrag),b.off(Qt.DRAG_END,this.onDragEnd)}destroyElements(){var b,x;(b=this.horizontalLine)===null||b===void 0||b.destroy(),(x=this.verticalLine)===null||x===void 0||x.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}Dp.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Of=(te,b)=>Math.abs(te-b),cg=(te,b)=>typeof b=="function"?b(te):te.getShape(b);var Lg=he(91498),dg=he(39934),Tg=he(21790),fg=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})},Gp=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{var rt;const At=Object.assign(Object.assign({x:Te[0]/2-fe/2,y:Ve,onChange:Mt=>{const Ut=((0,dg.Z)(Mt)?Mt:[Mt,Mt]).map(en=>(0,Tg.Z)(en)?en.getTime():en);this.options.mode==="modify"?this.filterElements(Ut):this.hiddenElements(Ut),E==null||E(Ut)}},De),{data:re.map(Mt=>(0,yt.Z)(Mt)?{time:Mt,value:0}:Mt),width:fe,height:ge,type:ne});this.timebar?this.timebar.update(At):(this.timebar=new Lg.s({style:At}),(rt=this.canvas)===null||rt===void 0||rt.appendChild(this.timebar))})}upsertCanvas(){if(this.canvas)return this.canvas;const{className:b,height:x,position:E}=this.options,ne=this.context.canvas,[re]=ne.getSize(),[oe,,ue]=this.padding,[fe,ge]=Cs({width:re,height:x+oe+ue,graphCanvas:ne,className:"timebar",placement:E});return this.container=fe,b&&fe.classList.add(b),this.canvas=ge,this.canvas}filterElements(b){return fg(this,void 0,void 0,function*(){var x;if(!this.originalData)return;const{elementTypes:E,getTime:ne}=this.options,{graph:re,element:oe}=this.context,ue=zh(this.originalData);E.forEach(ge=>{const ye=`${ge}s`;ue[ye]=(this.originalData[ye]||[]).filter(De=>{const Te=ne(De);return!!Hh(Te,b)})});const fe=[...ue.nodes,...ue.combos].map(ge=>kn(ge));ue.edges=ue.edges.filter(ge=>{const ye=ge.source,De=ge.target;return fe.includes(ye)&&fe.includes(De)}),re.setData(ue),yield(x=oe.draw({animation:!1,silence:!0}))===null||x===void 0?void 0:x.finished})}hiddenElements(b){const{graph:x}=this.context,{elementTypes:E,getTime:ne}=this.options,re=[],oe=[];E.forEach(ue=>{var fe;const ge=`${ue}s`;(((fe=this.originalData)===null||fe===void 0?void 0:fe[ge])||[]).forEach(De=>{const Te=kn(De),Ve=ne(De);Hh(Ve,b)?oe.push(Te):re.push(Te)})}),x.hideElement(re,!1),x.showElement(oe,!1)}destroy(){var b,x,E;const{graph:ne}=this.context;this.originalData&&ne.setData(Object.assign({},this.originalData)),(b=this.timebar)===null||b===void 0||b.destroy(),(x=this.canvas)===null||x===void 0||x.destroy(),(E=this.container)===null||E===void 0||E.remove(),this.originalData=void 0,this.container=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}Pp.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:te=>yv(te,zg,void 0),loop:!1};const zh=te=>{const{nodes:b=[],edges:x=[],combos:E=[]}=te;return{nodes:[...b],edges:[...x],combos:[...E]}},Hh=(te,b)=>{if((0,yt.Z)(b))return te===b;const[x,E]=b;return te>=x&&te<=E},yv=(te,b,x)=>{var E;for(let ne=0;ne{const ne=this.updateCanvas();this.renderTitle(ne)},this.bindEvents()}bindEvents(){const{graph:b}=this.context;b.on(mt.AFTER_RENDER,this.onRender),b.on(mt.AFTER_ANIMATE,this.onRender)}unbindEvents(){const{graph:b}=this.context;b.off(mt.AFTER_RENDER,this.onRender),b.off(mt.AFTER_ANIMATE,this.onRender)}destroy(){var b,x;this.unbindEvents(),(b=this.canvas)===null||b===void 0||b.destroy(),(x=this.container)===null||x===void 0||x.remove(),super.destroy()}updateCanvas(){const{size:b,className:x,align:E}=this.options,[ne]=this.context.canvas.getSize(),[re=0,,oe=0]=this.padding,ue=b+re+oe;if(this.canvas){const{width:fe,height:ge}=this.canvas.getConfig();(ne!==fe||ue!==ge)&&this.canvas.resize(ne,ue)}else{const fe={left:"left-top",center:"top",right:"right-top"},[ge,ye]=Cs({width:ne,height:ue,placement:fe[E]||fe.left,className:"title-canvas",graphCanvas:this.context.canvas});x&&ge.classList.add(x),this.container=ge,this.canvas=ye}return this.canvas}renderTitle(b){const x=new Ev({options:this.options,ctx:this.context});b.removeChildren(),x.getTitle().forEach(E=>{E&&b.appendChild(E)})}}class Ev{get padding(){return Lt(this.options.padding)}constructor(b){const{options:x,ctx:E}=b;this.options=x,this.context=E}getTitle(){const b=this.options,x=O0,E=b[x],ne=Up,re=b[ne],{spacing:oe=44,padding:ue,align:fe}=b,ge=zv(b,[typeof x=="symbol"?x:x+"",typeof ne=="symbol"?ne:ne+"","spacing","padding","align"]),ye=E,De=re,Te=Vs(ge,O0),Ve=Vs(ge,Up),[rt]=this.context.graph.getSize(),[At=0,Mt=0,,Ut=0]=this.padding,en=rt,hn=en-Ut-Mt;let rr=null,mi=Ut,ei="left";switch(fe){case"left":mi=Ut,ei="left";break;case"center":mi=en/2,ei="center";break;case"right":mi=en-Mt,ei="right";break;default:mi=Ut,ei="left"}const Ri=new Vi({className:O0,style:Object.assign(Object.assign(Object.assign(Object.assign({},bv),{wordWrapWidth:hn-5,x:mi,y:At,textAlign:ei}),Te),{text:ye})}),Yr=Ri.getBBox();return De&&(rr=new Vi({className:"subTitle",style:Object.assign(Object.assign(Object.assign(Object.assign({},xv),{wordWrapWidth:hn-5,x:mi,y:Yr.height+oe+At,textAlign:ei}),Ve),{text:De})})),[Ri,rr]}}function jv(te){const b={top:"unset",right:"unset",bottom:"unset",left:"unset"};return te.split("-").forEach(E=>{b[E]="8px"}),b.flexDirection=te.startsWith("top")||te.startsWith("bottom")?"row":"column",b}const im=` - .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; - } -`,Zv=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`;var Xv=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class $0 extends Kn{constructor(b,x){super(b,Object.assign({},$0.defaultOptions,x)),this.$element=wr("toolbar",!1),this.onToolbarItemClick=ne=>{const{onClick:re}=this.options;if(ne.target instanceof Element&&ne.target.className.includes("g6-toolbar-item")){const oe=ne.target.getAttribute("value");re==null||re(oe,ne.target)}};const E=this.context.canvas.getContainer();this.$element.style.display="flex",E.appendChild(this.$element),ra("g6-toolbar-css","style",{},im,document.head),ra("g6-toolbar-svgicon","div",{display:"none"},Zv),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(x)}update(b){const x=Object.create(null,{update:{get:()=>super.update}});return Xv(this,void 0,void 0,function*(){x.update.call(this,b);const{className:E,position:ne,style:re}=this.options;this.$element.className=`g6-toolbar ${E||""}`,Object.assign(this.$element.style,re,jv(ne)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return Xv(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(x=>{var E;return` -
    - -
    `}).join("")})}}$0.defaultOptions={position:"top-left"};var am=he(75242),wv=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class Rg extends Kn{constructor(b,x){super(b,Object.assign({},Rg.defaultOptions,x)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=(E,ne)=>{const{enable:re}=this.options;return typeof re=="function"?re(E,ne):re},this.onClick=E=>{const{target:{id:ne}}=E;this.currentTarget===ne?this.hide(E):this.show(E)},this.onPointerMove=E=>{const{target:ne}=E;!this.currentTarget||ne.id===this.currentTarget||this.show(E)},this.onPointerLeave=E=>{this.hide(E)},this.onCanvasMove=E=>{this.hide(E)},this.onPointerOver=E=>{this.show(E)},this.showById=E=>wv(this,void 0,void 0,function*(){const ne={target:{id:E}};yield this.show(ne)}),this.getElementData=(E,ne)=>{const{model:re}=this.context;switch(ne){case"node":return re.getNodeData([E]);case"edge":return re.getEdgeData([E]);case"combo":return re.getComboData([E]);default:return[]}},this.show=E=>wv(this,void 0,void 0,function*(){var ne,re;const{client:oe,target:{id:ue}}=E;if(Be(E.target))return;const fe=this.context.graph.getElementType(ue),{getContent:ge,title:ye}=this.options,De=this.getElementData(ue,fe);if(!this.tooltipElement)return;if(!this.isEnable(E,De)){this.hide(E);return}let Te={};if(ge){if(Te.content=yield ge(E,De),!Te.content)return}else{const At=this.context.graph.getElementRenderStyle(ue),Mt=fe==="node"?At.fill:At.stroke;Te={title:ye||fe,data:De.map(Ut=>({name:"ID",value:Ut.id||`${Ut.source} -> ${Ut.target}`,color:Mt}))}}this.currentTarget=ue;let Ve,rt;if(oe)Ve=oe.x,rt=oe.y;else{const At=(0,to.Z)(De,"0.style",{x:0,y:0});Ve=At.x,rt=At.y}(re=(ne=this.options).onOpenChange)===null||re===void 0||re.call(ne,!0),this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:Ve,y:rt,style:{".tooltip":{visibility:"visible"}}}),Te))}),this.hide=E=>{var ne,re,oe,ue,fe;if(!E){(re=(ne=this.options).onOpenChange)===null||re===void 0||re.call(ne,!1),(oe=this.tooltipElement)===null||oe===void 0||oe.hide(),this.currentTarget=null;return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:ge,y:ye}}=E;(fe=(ue=this.options).onOpenChange)===null||fe===void 0||fe.call(ue,!1),this.tooltipElement.hide(ge,ye),this.currentTarget=null},this.initTooltip=()=>{var E;const ne=new am.u({className:"tooltip",style:this.tooltipStyleProps});return(E=this.container)===null||E===void 0||E.appendChild(ne.HTMLTooltipElement),ne},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:pointerover":this.onPointerOver,"node:pointermove":this.onPointerMove,"canvas:pointermove":this.onCanvasMove,"edge:pointerover":this.onPointerOver,"edge:pointermove":this.onPointerMove,"combo:pointerover":this.onPointerOver,"combo:pointermove":this.onPointerMove,contextmenu:this.onPointerLeave,"node:drag":this.onPointerLeave}}update(b){var x;this.unbindEvents(),super.update(b),this.tooltipElement&&((x=this.container)===null||x===void 0||x.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:b}=this.context,x=b.getContainer();x&&(this.container=x,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:b}=this.context,x=this.getEvents();Object.keys(x).forEach(E=>{b.off(E,x[E])})}bindEvents(){const{graph:b}=this.context,x=this.getEvents();Object.keys(x).forEach(E=>{b.on(E,x[E])})}get tooltipStyleProps(){const{canvas:b}=this.context,{center:x}=b.getBounds(),E=b.getContainer(),{top:ne,left:re}=E.getBoundingClientRect(),{style:oe,position:ue,enterable:fe,container:ge={x:-re,y:-ne},title:ye,offset:De}=this.options,[Te,Ve]=x,[rt,At]=b.getSize();return{x:Te,y:Ve,container:ge,title:ye,bounding:{x:0,y:0,width:rt,height:At},position:ue,enterable:fe,offset:De,style:oe}}destroy(){var b;this.unbindEvents(),this.tooltipElement&&((b=this.container)===null||b===void 0||b.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}Rg.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var hg=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};let Yp;function Cv(te,b){return Yp||(Yp=document.createElement("canvas")),Yp.width=te,Yp.height=b,Yp.getContext("2d").clearRect(0,0,te,b),Yp}function om(te,b,x,E){return hg(this,void 0,void 0,function*(){const ne=Cv(te,b),re=ne.getContext("2d"),{rotate:oe,opacity:ue,textFill:fe,textFontSize:ge,textFontFamily:ye,textFontVariant:De,textFontWeight:Te,textAlign:Ve,textBaseline:rt}=E;return re.textAlign=Ve,re.textBaseline=rt,re.translate(te/2,b/2),re.font=`${ge}px ${ye} ${De} ${Te}`,oe&&re.rotate(oe),ue&&(re.globalAlpha=ue),fe&&(re.fillStyle=fe,re.fillText(`${x}`,0,0)),ne.toDataURL()})}function sm(te,b,x,E){return hg(this,void 0,void 0,function*(){const ne=Cv(te,b),re=ne.getContext("2d"),{rotate:oe,opacity:ue}=E;oe&&re.rotate(oe),ue&&(re.globalAlpha=ue);const fe=new Image;return fe.crossOrigin="anonymous",fe.src=x,new Promise(ge=>{fe.onload=function(){const ye=te>fe.width?(te-fe.width)/2:0,De=b>fe.height?(b-fe.height)/2:0;re.drawImage(fe,0,0,fe.width,fe.height,ye,De,te-ye*2,b-De*2),ge(ne.toDataURL())}})})}var g0=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})},cd=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);nesuper.update}});return g0(this,void 0,void 0,function*(){x.update.call(this,b);const E=this.options,{width:ne,height:re,text:oe,imageURL:ue}=E,fe=cd(E,["width","height","text","imageURL"]);Object.keys(fe).forEach(ye=>{ye.startsWith("background")&&(this.$element.style[ye]=b[ye])});const ge=ue?yield sm(ne,re,ue,fe):yield om(ne,re,oe,fe);this.$element.style.backgroundImage=`url(${ge})`})}destroy(){super.destroy(),this.$element.remove()}}jf.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const of=["#7E92B5","#F4664A","#FFBE3A"],jg={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},Vv={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function pg(te){const{bgColor:b,textColor:x,nodeColor:E,nodeColorDisabled:ne,nodeStroke:re,nodeHaloStrokeOpacityActive:oe=.15,nodeHaloStrokeOpacitySelected:ue=.25,nodeOpacityDisabled:fe=.06,nodeIconOpacityInactive:ge=.85,nodeOpacityInactive:ye=.25,nodeBadgePalette:De=of,nodePaletteOptions:Te=jg,edgeColor:Ve,edgeColorDisabled:rt,edgePaletteOptions:At=Vv,comboColor:Mt,comboColorDisabled:Ut,comboStroke:en,comboStrokeDisabled:hn,edgeColorInactive:rr}=te;return{background:b,node:{palette:Te,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:De,fill:E,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:b,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:x,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:E,portLineWidth:1,portStroke:re,portStrokeOpacity:.65,size:32,stroke:re,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:ue,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:re},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:oe},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:re,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:ye,donutOpacity:ye,fillOpacity:ye,iconOpacity:ge,labelFill:x,labelFillOpacity:ye,strokeOpacity:ye},disabled:{badgeBackgroundOpacity:.25,donutOpacity:fe,fill:ne,fillOpacity:fe,iconFill:ne,iconOpacity:.25,labelFill:x,labelFillOpacity:.25,strokeOpacity:fe}},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:At,style:{badgeBackgroundFill:Ve,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,badgeBackgroundOpacity:1,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:b,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:x,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:Ve,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:rr,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:rt,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:b,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:Mt,halo:!1,haloLineWidth:12,haloStroke:en,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:b,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:x,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:en},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:Ut,fillOpacity:.25,labelOpacity:.25,stroke:hn,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 lm=pg({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"}),cm=pg({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 ep extends Rr{beforeDraw(b,x){return b}afterLayout(b,x){}}class dm extends ep{beforeDraw(b){const{model:x}=this.context,E=b.add.combos,ne=re=>{const oe=[];return re.forEach((ue,fe)=>{const ye=x.getAncestorsData(fe,"combo").map(De=>kn(De)).reverse();oe.push([fe,ue,ye.length])}),new Map(oe.sort(([,,ue],[,,fe])=>fe-ue).map(([ue,fe])=>[ue,fe]))};return b.add.combos=ne(E),b.update.combos=ne(b.update.combos),b}}function Rh(te,b,x,E,ne){const re=kn(E),oe=`${x}s`,ue=ne?E:te.add[oe].get(re)||te.update[oe].get(re)||te.remove[oe].get(re)||E;Object.entries(te).forEach(([fe,ge])=>{b===fe?ge[oe].set(re,ue):ge[oe].delete(re)})}function Zg(te,b){return Object.keys(te).every(x=>te[x]===b[x])}class Bv extends ep{beforeDraw(b,x){if(x.stage==="visibility"||!this.context.model.model.hasTreeStructure($t))return b;const{model:E}=this.context,{add:ne,update:re}=b,oe=[...b.update.combos.entries(),...b.add.combos.entries()];for(;oe.length;){const[ue,fe]=oe.pop();if(yu(fe)){const ge=E.getDescendantsData(ue),ye=ge.map(kn),{internal:De,external:Te}=jr(ye,Ve=>E.getRelatedEdgesData(Ve));ge.forEach(Ve=>{const rt=kn(Ve),At=oe.findIndex(([Ut])=>Ut===rt);At!==-1&&oe.splice(At,1);const Mt=E.getElementType(rt);Rh(b,"remove",Mt,Ve)}),De.forEach(Ve=>Rh(b,"remove","edge",Ve)),Te.forEach(Ve=>{var rt;const At=kn(Ve);((rt=this.context.element)===null||rt===void 0?void 0:rt.getElement(At))?re.edges.set(At,Ve):ne.edges.set(At,Ve)})}else{const ge=E.getChildrenData(ue),ye=ge.map(kn),{edges:De}=jr(ye,Te=>E.getRelatedEdgesData(Te));[...ge,...De].forEach(Te=>{var Ve;const rt=kn(Te),At=E.getElementType(rt);((Ve=this.context.element)===null||Ve===void 0?void 0:Ve.getElement(rt))?Rh(b,"update",At,Te):Rh(b,"add",At,Te),At==="combo"&&oe.push([rt,Te])})}}return b}}const Xg=(te,b,x,E)=>{const ne=`${x}s`,re=kn(E);!te.add[ne].has(re)&&!te.update[ne].has(re)&&te[b][ne].set(kn(E),E)};class fm extends ep{getElement(b){return this.context.element.getElement(b)}handleExpand(b,x){if(Xg(x,"add","node",b),yu(b))return;const E=kn(b);Xg(x,"add","node",b),this.context.model.getRelatedEdgesData(E).forEach(oe=>{Rh(x,"add","edge",oe)}),this.context.model.getChildrenData(E).forEach(oe=>{this.handleExpand(oe,x)})}beforeDraw(b){const{graph:x,model:E}=this.context;if(!E.model.hasTreeStructure(Ft))return b;const{add:{nodes:ne,edges:re},update:{nodes:oe}}=b,ue=new Map,fe=new Map;ne.forEach((ye,De)=>{yu(ye)&&ue.set(De,ye)}),re.forEach(ye=>{if(x.getElementType(ye.source)!=="node")return;const De=x.getNodeData(ye.source);yu(De)&&ue.set(ye.source,De)}),oe.forEach((ye,De)=>{const Te=this.getElement(De);if(!Te)return;const Ve=Te.attributes.collapsed;yu(ye)?Ve||ue.set(De,ye):Ve&&fe.set(De,ye)});const ge=new Set;return ue.forEach((ye,De)=>{E.getDescendantsData(De).forEach(Ve=>{const rt=kn(Ve);if(ge.has(rt))return;Rh(b,"remove","node",Ve),E.getRelatedEdgesData(rt).forEach(Mt=>{Rh(b,"remove","edge",Mt)}),ge.add(rt)})}),fe.forEach((ye,De)=>{if(E.getAncestorsData(De,Ft).some(yu)){Rh(b,"remove","node",ye);return}this.handleExpand(ye,b)}),b}}const gg=new WeakMap;function Om(te,b,x){gg.has(te)||gg.set(te,{});const E=gg.get(te);if(!E[b])return E[b]=x,!0;const ne=E[b];return vg(ne,x)?!1:(E[b]=x,!0)}const vg=(te,b,x=2)=>{if(typeof te!="object"||typeof b!="object")return te===b;const E=Object.keys(te),ne=Object.keys(b);if(E.length!==ne.length)return!1;for(const re of E){const oe=te[re],ue=b[re];if(x>1&&typeof oe=="object"&&typeof ue=="object"){if(!vg(oe,ue,x-1))return!1}else if(oe!==ue)return!1}return!0};function hm(te,b,x){Je[te][b]&&et.warn(`The extension ${b} of ${te} has been registered before, and will be overridden.`),Object.assign(Je[te],{[b]:x})}var pm=he(59293),Qv=he(85580),Dv=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})},Vg=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const Te=new je.Xz(Object.assign(Object.assign({},ue),{supportsMutipleCanvasesInOneContainer:oe,renderer:ge[De],background:oe?De==="background"?ne:void 0:ne}));return[De,Te]}));Qg(ye),this.extends={config:this.config,renderer:E,renderers:ge,layers:ye}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,b])=>b.ready))}resize(b,x){Object.assign(this.extends.config,{width:b,height:x}),Object.values(this.getLayers()).forEach(E=>{const ne=E.getCamera(),re=ne.getPosition(),oe=ne.getFocalPoint();E.resize(b,x),ne.setPosition(re),ne.setFocalPoint(oe)})}getBounds(b){return Ii(Object.values(this.getLayers()).map(x=>b?x.getRoot().childNodes.find(ne=>ne.classList.includes(b)):x.getRoot()).filter(x=>(x==null?void 0:x.childNodes.length)>0).map(x=>x.getBounds()))}getContainer(){const b=this.extends.config.container;return typeof b=="string"?document.getElementById(b):b}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(b,x){var E;const ne=((E=b.style)===null||E===void 0?void 0:E.$layer)||"main";return this.getLayer(ne).appendChild(b,x)}setRenderer(b){if(b===this.extends.renderer)return;const x=n0(b,this.config.enableMultiLayer?Kv:Wv);this.extends.renderers=x,Object.entries(x).forEach(([E,ne])=>this.getLayer(E).setRenderer(ne)),Qg(this.getLayers())}getCanvasByViewport(b){return Da(this.getLayer().viewport2Canvas(Ma(b)))}getViewportByCanvas(b){return Da(this.getLayer().canvas2Viewport(Ma(b)))}getViewportByClient(b){return Da(this.getLayer().client2Viewport(Ma(b)))}getClientByViewport(b){return Da(this.getLayer().viewport2Client(Ma(b)))}getClientByCanvas(b){return this.getClientByViewport(this.getViewportByCanvas(b))}getCanvasByClient(b){const x=this.getLayer(),E=x.client2Viewport(Ma(b));return Da(x.viewport2Canvas(E))}toDataURL(){return Dv(this,arguments,void 0,function*(b={}){const x=globalThis.devicePixelRatio||1,{mode:E="viewport"}=b,ne=Vg(b,["mode"]);let[re,oe,ue,fe]=[0,0,0,0];if(E==="viewport")[ue,fe]=this.getSize();else if(E==="overall"){const Ut=this.getBounds(),en=kr(Ut);[re,oe]=Ut.min,[ue,fe]=en}const ge=(0,Qv.L)('
    '),ye=new je.Xz({width:ue,height:fe,renderer:new nc.Th,devicePixelRatio:x,container:ge,background:this.extends.config.background});yield ye.ready,ye.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),ye.appendChild(this.getRoot().cloneNode(!0));const De=this.getLayer("label").getRoot().cloneNode(!0),Te=ye.viewport2Canvas({x:0,y:0}),Ve=this.getCanvasByViewport([0,0]);De.translate([Ve[0]-Te.x,Ve[1]-Te.y]),De.scale(1/this.getCamera().getZoom()),ye.appendChild(De),ye.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const rt=this.getCamera(),At=ye.getCamera();if(E==="viewport")At.setZoom(rt.getZoom()),At.setPosition(rt.getPosition()),At.setFocalPoint(rt.getFocalPoint());else if(E==="overall"){const[Ut,en,hn]=At.getPosition(),[rr,mi,ei]=At.getFocalPoint();At.setPosition([Ut+re,en+oe,hn]),At.setFocalPoint([rr+re,mi+oe,ei])}const Mt=ye.getContextService();return new Promise(Ut=>{ye.addEventListener(je.$6.RERENDER,()=>Dv(this,void 0,void 0,function*(){yield new Promise(hn=>setTimeout(hn,300));const en=yield Mt.toDataURL(ne);Ut(en)}))})})}destroy(){Object.values(this.getLayers()).forEach(b=>{b.getCamera().cancelLandmarkAnimation(),b.destroy()})}}function n0(te,b){return Object.fromEntries(b.map(x=>{const E=(te==null?void 0:te(x))||new nc.Th;return E instanceof nc.Th&&E.setConfig({enableDirtyRectangleRendering:!1}),x==="main"?E.registerPlugin(new pm.S({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):E.unregisterPlugin(E.getPlugin("dom-interaction")),[x,E]}))}function Qg(te){Object.entries(te).forEach(([b,x])=>{const E=x.getContextService().getDomElement();E!=null&&E.style&&(E.style.gridArea="1 / 1 / 2 / 2",E.style.outline="none",E.tabIndex=1,b!=="main"&&(E.style.pointerEvents="none")),E!=null&&E.parentElement&&(E.parentElement.style.display="grid",E.parentElement.style.isolation="isolate")})}const tp=te=>te?parseInt(te):0;function Gv(te){const b=getComputedStyle(te),x=te.clientWidth||tp(b.width),E=te.clientHeight||tp(b.height),ne=tp(b.paddingLeft)+tp(b.paddingRight),re=tp(b.paddingTop)+tp(b.paddingBottom);return[x-ne,E-re]}function Wg(te){if(!te)return[0,0];let b=640,x=480;const[E,ne]=Gv(te);b=E||b,x=ne||x;const re=1,oe=1;return[Math.max((0,yt.Z)(b)?b:re,re),Math.max((0,yt.Z)(x)?x:oe,oe)]}class mg{constructor(b){this.type=b}}class Af extends mg{constructor(b,x){super(b),this.data=x}}class Gh extends mg{constructor(b,x,E,ne){super(b),this.animationType=x,this.animation=E,this.data=ne}}class r0 extends mg{constructor(b,x,E){super(b),this.elementType=x,this.data=E}}class Ag extends mg{constructor(b,x){super(b),this.data=x}}function wf(te,b){te.emit(b.type,b)}function vm(te){if(!te)return null;if(te instanceof je.BB)return{type:"canvas",element:te};let b=te;for(;b;){if(ar(b))return{type:"node",element:b};if(_r(b))return{type:"edge",element:b};if(Wr(b))return{type:"combo",element:b};b=b.parentElement}return null}function Pv(te){var b;return((b=te==null?void 0:te.style)===null||b===void 0?void 0:b.zIndex)||0}const N0="cachedStyle",Kg=te=>`__${te}__`;function Uv(te,b){const x=Array.isArray(b)?b:[b];(0,to.Z)(te,N0)||(0,uo.Z)(te,N0,{}),x.forEach(E=>{(0,uo.Z)((0,to.Z)(te,N0),Kg(E),te.attributes[E])})}function Sv(te,b){return(0,to.Z)(te,[N0,Kg(b)])}function Yv(te,b){return Kg(b)in((0,to.Z)(te,N0)||{})}function mm(te,b,x){set(te,[N0,Kg(b)],x)}class Jv{constructor(b){this.tasks=[],this.animations=new Set,this.context=b}getTasks(){const b=[...this.tasks];return this.tasks=[],b}add(b,x){this.tasks.push([b,x])}animate(b,x,E){var ne,re,oe;(ne=x==null?void 0:x.before)===null||ne===void 0||ne.call(x);const ue=this.getTasks().map(([ge,ye])=>{var De,Te,Ve;const{element:rt,elementType:At,stage:Mt}=ge,Ut=oi(this.context.options,At,Mt,b);(De=ye==null?void 0:ye.before)===null||De===void 0||De.call(ye);const en=Ut.length?fi(rt,this.inferStyle(ge,E),Ut):null;return en?((Te=ye==null?void 0:ye.beforeAnimate)===null||Te===void 0||Te.call(ye,en),en.finished.then(()=>{var hn,rr;(hn=ye==null?void 0:ye.afterAnimate)===null||hn===void 0||hn.call(ye,en),(rr=ye==null?void 0:ye.after)===null||rr===void 0||rr.call(ye),this.animations.delete(en)})):(Ve=ye==null?void 0:ye.after)===null||Ve===void 0||Ve.call(ye),en}).filter(Boolean);ue.forEach(ge=>this.animations.add(ge));const fe=Ct(ue);return fe?((re=x==null?void 0:x.beforeAnimate)===null||re===void 0||re.call(x,fe),fe.finished.then(()=>{var ge,ye;(ge=x==null?void 0:x.afterAnimate)===null||ge===void 0||ge.call(x,fe),(ye=x==null?void 0:x.after)===null||ye===void 0||ye.call(x),this.release()})):(oe=x==null?void 0:x.after)===null||oe===void 0||oe.call(x),fe}inferStyle(b,x){var E,ne;const{element:re,elementType:oe,stage:ue,originalStyle:fe,updatedStyle:ge={}}=b;b.modifiedStyle||(b.modifiedStyle=Object.assign(Object.assign({},fe),ge));const{modifiedStyle:ye}=b,De={},Te={};if(ue==="enter")Object.assign(De,{opacity:0});else if(ue==="exit")Object.assign(Te,{opacity:0});else if(ue==="show")Object.assign(De,{opacity:0}),Object.assign(Te,{opacity:(E=Sv(re,"opacity"))!==null&&E!==void 0?E:Mn("opacity")});else if(ue==="hide")Object.assign(De,{opacity:(ne=Sv(re,"opacity"))!==null&&ne!==void 0?ne:Mn("opacity")}),Object.assign(Te,{opacity:0});else if(ue==="collapse"){const{collapse:Ve}=x||{},{target:rt,descendants:At,position:Mt}=Ve;if(oe==="node"){if(At.includes(re.id)){const[Ut,en,hn]=Mt;Object.assign(Te,{x:Ut,y:en,z:hn})}}else if(oe==="combo"){if(re.id===rt||At.includes(re.id)){const[Ut,en]=Mt;Object.assign(Te,{x:Ut,y:en,childrenNode:fe.childrenNode})}}else oe==="edge"&&Object.assign(Te,{sourceNode:ye.sourceNode,targetNode:ye.targetNode})}else if(ue==="expand"){const{expand:Ve}=x||{},{target:rt,descendants:At,position:Mt}=Ve;if(oe==="node"){if(re.id===rt||At.includes(re.id)){const[Ut,en,hn]=Mt;Object.assign(De,{x:Ut,y:en,z:hn})}}else if(oe==="combo"){if(re.id===rt||At.includes(re.id)){const[Ut,en,hn]=Mt;Object.assign(De,{x:Ut,y:en,z:hn,childrenNode:ye.childrenNode})}}else oe==="edge"&&Object.assign(De,{sourceNode:ye.sourceNode,targetNode:ye.targetNode})}return[Object.keys(De).length>0?Object.assign({},fe,De):fe,Object.keys(Te).length>0?Object.assign({},ye,Te):ye]}stop(){this.animations.forEach(b=>b.cancel())}clear(){this.tasks=[]}release(){var b,x;const{canvas:E}=this.context,ne=(x=(b=E.document)===null||b===void 0?void 0:b.timeline)===null||x===void 0?void 0:x.animationsWithPromises;ne&&(E.document.timeline.animationsWithPromises=ne.filter(re=>re.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class Gg{constructor(b){this.batchCount=0,this.context=b}emit(b){const{graph:x}=this.context;x.emit(b.type,b)}startBatch(b=!0){this.batchCount++,this.batchCount===1&&this.emit(new Af(mt.BATCH_START,{initiate:b}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new Af(mt.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class Ug extends Vr{constructor(b){super(b),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=x=>{const{target:E}=x,ne=vm(E);if(!ne)return;const{graph:re,canvas:oe}=this.context,{type:ue,element:fe}=ne;if("destroyed"in fe&&(Be(fe)||fe.destroyed))return;const{type:ge,detail:ye,button:De}=x,Te=Object.assign(Object.assign({},x),{target:fe,targetType:ue,originalTarget:E});ge===Ye.POINTER_MOVE&&(this.currentTarget!==fe&&(this.currentTarget&&re.emit(`${this.currentTargetType}:${Ye.POINTER_LEAVE}`,Object.assign(Object.assign({},Te),{type:Ye.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),fe&&(Object.assign(Te,{type:Ye.POINTER_ENTER}),re.emit(`${ue}:${Ye.POINTER_ENTER}`,Te))),this.currentTarget=fe,this.currentTargetType=ue),ge===Ye.CLICK&&De===2||(re.emit(`${ue}:${ge}`,Te),re.emit(ge,Te)),ge===Ye.CLICK&&ye===2&&(Object.assign(Te,{type:Ye.DBLCLICK}),re.emit(`${ue}:${Ye.DBLCLICK}`,Te),re.emit(Ye.DBLCLICK,Te)),ge===Ye.POINTER_DOWN&&De===2&&(Object.assign(Te,{type:Ye.CONTEXT_MENU,preventDefault:()=>{var Ve;(Ve=oe.getContainer())===null||Ve===void 0||Ve.addEventListener(Ye.CONTEXT_MENU,rt=>rt.preventDefault(),{once:!0})}}),re.emit(`${ue}:${Ye.CONTEXT_MENU}`,Te),re.emit(Ye.CONTEXT_MENU,Te))},this.forwardContainerEvents=x=>{this.context.graph.emit(x.type,x)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(b){this.setExtensions(b)}forwardEvents(){const b=this.context.canvas.getContainer();b&&[We.KEY_DOWN,We.KEY_UP].forEach(E=>{b.addEventListener(E,this.forwardContainerEvents)});const x=this.context.canvas.document;x&&[Ye.CLICK,Ye.DBLCLICK,Ye.POINTER_OVER,Ye.POINTER_LEAVE,Ye.POINTER_ENTER,Ye.POINTER_MOVE,Ye.POINTER_OUT,Ye.POINTER_DOWN,Ye.POINTER_UP,Ye.CONTEXT_MENU,Ye.DRAG_START,Ye.DRAG,Ye.DRAG_END,Ye.DRAG_ENTER,Ye.DRAG_OVER,Ye.DRAG_LEAVE,Ye.DROP,Ye.WHEEL].forEach(E=>{x.addEventListener(E,this.forwardCanvasEvents)})}destroy(){const b=this.context.canvas.getContainer();b&&[We.KEY_DOWN,We.KEY_UP].forEach(x=>{b.removeEventListener(x,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var nd=he(35300),Am=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne0}silence(b){this.isTraceless=!0,b(),this.isTraceless=!1}isCombo(b){return this.comboIds.has(b)||this.latestRemovedComboIds.has(b)}getData(){return{nodes:this.getNodeData(),edges:this.getEdgeData(),combos:this.getComboData()}}getNodeData(b){return this.model.getAllNodes().reduce((x,E)=>{const ne=Zf(E);return this.isCombo(kn(ne))||(b===void 0||b.includes(kn(ne)))&&x.push(ne),x},[])}getEdgeDatum(b){return Zf(this.model.getEdge(b))}getEdgeData(b){return this.model.getAllEdges().reduce((x,E)=>{const ne=Zf(E);return(b===void 0||b.includes(kn(ne)))&&x.push(ne),x},[])}getComboData(b){return this.model.getAllNodes().reduce((x,E)=>{const ne=Zf(E);return this.isCombo(kn(ne))&&(b===void 0||b.includes(kn(ne)))&&x.push(ne),x},[])}getRootsData(b=Ft){return this.model.getRoots(b).map(Zf)}getAncestorsData(b,x){const{model:E}=this;return!E.hasNode(b)||!E.hasTreeStructure(x)?[]:E.getAncestors(b,x).map(Zf)}getDescendantsData(b){const x=this.getElementDataById(b),E=[];return Su(x,ne=>{ne!==x&&E.push(ne)},ne=>this.getChildrenData(kn(ne)),"TB"),E}getParentData(b,x){const{model:E}=this;if(!x){et.warn("The hierarchy structure key is not specified");return}if(!E.hasNode(b)||!E.hasTreeStructure(x))return;const ne=E.getParent(b,x);return ne?Zf(ne):void 0}getChildrenData(b){const x=this.getElementType(b)==="node"?Ft:$t,{model:E}=this;return!E.hasNode(b)||!E.hasTreeStructure(x)?[]:E.getChildren(b,x).map(Zf)}getElementsDataByType(b){return b==="node"?this.getNodeData():b==="edge"?this.getEdgeData():b==="combo"?this.getComboData():[]}getElementDataById(b){return this.getElementType(b)==="edge"?this.getEdgeDatum(b):this.getNodeLikeDatum(b)}getNodeLikeDatum(b){const x=this.model.getNode(b);return Zf(x)}getNodeLikeData(b){return this.model.getAllNodes().reduce((x,E)=>{const ne=Zf(E);return b?b.includes(kn(ne))&&x.push(ne):x.push(ne),x},[])}getElementDataByState(b,x){return this.getElementsDataByType(b).filter(ne=>{var re;return(re=ne.states)===null||re===void 0?void 0:re.includes(x)})}getElementState(b){var x;return((x=this.getElementDataById(b))===null||x===void 0?void 0:x.states)||[]}hasNode(b){return this.model.hasNode(b)&&!this.isCombo(b)}hasEdge(b){return this.model.hasEdge(b)}hasCombo(b){return this.model.hasNode(b)&&this.isCombo(b)}getRelatedEdgesData(b,x="both"){return this.model.getRelatedEdges(b,x).map(Zf)}getNeighborNodesData(b){return this.model.getNeighbors(b).map(Zf)}setData(b){const{nodes:x=[],edges:E=[],combos:ne=[]}=b,{nodes:re,edges:oe,combos:ue}=this.getData(),fe=lr(re,x,De=>kn(De),Ht),ge=lr(oe,E,De=>kn(De),Ht),ye=lr(ue,ne,De=>kn(De),Ht);this.batch(()=>{const De={nodes:fe.enter,edges:ge.enter,combos:ye.enter};this.addData(De),this.computeZIndex(De,"add",!0);const Te={nodes:fe.update,edges:ge.update,combos:ye.update};this.updateData(Te),this.computeZIndex(Te,"update",!0);const Ve={nodes:fe.exit.map(kn),edges:ge.exit.map(kn),combos:ye.exit.map(kn)};this.removeData(Ve)})}addData(b){const{nodes:x,edges:E,combos:ne}=b;this.batch(()=>{this.addComboData(ne),this.addNodeData(x),this.addEdgeData(E)}),this.computeZIndex(b,"add")}addNodeData(b=[]){b.length&&(this.model.addNodes(b.map(x=>(this.pushChange({value:x,type:It.NodeAdded}),Mv(x)))),this.updateNodeLikeHierarchy(b),this.computeZIndex({nodes:b},"add"))}addEdgeData(b=[]){b.length&&(this.model.addEdges(b.map(x=>(this.pushChange({value:x,type:It.EdgeAdded}),Mv(x)))),this.computeZIndex({edges:b},"add"))}addComboData(b=[]){if(!b.length)return;const{model:x}=this;x.hasTreeStructure($t)||x.attachTreeStructure($t),x.addNodes(b.map(E=>(this.comboIds.add(kn(E)),this.pushChange({value:E,type:It.ComboAdded}),Mv(E)))),this.updateNodeLikeHierarchy(b),this.computeZIndex({combos:b},"add")}addChildrenData(b,x){const E=this.getNodeLikeDatum(b),ne=x.map(kn);this.addNodeData(x),this.updateNodeData([{id:b,children:[...E.children||[],...ne]}]),this.addEdgeData(ne.map(re=>({source:b,target:re})))}computeZIndex(b,x,E=!1){!E&&this.isBatching()||this.batch(()=>{const{nodes:ne=[],edges:re=[],combos:oe=[]}=b;oe.forEach(ue=>{var fe,ge,ye;const De=kn(ue);if(x==="add"&&(0,yt.Z)((fe=ue.style)===null||fe===void 0?void 0:fe.zIndex)||x==="update"&&!("combo"in ue))return;const Te=this.getParentData(De,$t),Ve=Te?((ye=(ge=Te.style)===null||ge===void 0?void 0:ge.zIndex)!==null&&ye!==void 0?ye:0)+1:0;this.preventUpdateNodeLikeHierarchy(()=>{this.updateComboData([{id:De,style:{zIndex:Ve}}])})}),ne.forEach(ue=>{var fe,ge,ye;const De=kn(ue);if(x==="add"&&(0,yt.Z)((fe=ue.style)===null||fe===void 0?void 0:fe.zIndex)||x==="update"&&!("combo"in ue)&&!("children"in ue))return;let Te=0;const Ve=this.getParentData(De,$t);if(Ve)Te=(((ge=Ve.style)===null||ge===void 0?void 0:ge.zIndex)||0)+1;else{const rt=this.getParentData(De,Ft);rt&&(Te=((ye=rt==null?void 0:rt.style)===null||ye===void 0?void 0:ye.zIndex)||0)}this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:De,style:{zIndex:Te}}])})}),re.forEach(ue=>{var fe,ge,ye,De,Te;if((0,yt.Z)((fe=ue.style)===null||fe===void 0?void 0:fe.zIndex))return;let{id:Ve,source:rt,target:At}=ue;if(!Ve)Ve=kn(ue);else{const en=this.getEdgeDatum(Ve);rt=en.source,At=en.target}if(!rt||!At)return;const Mt=((ye=(ge=this.getNodeLikeDatum(rt))===null||ge===void 0?void 0:ge.style)===null||ye===void 0?void 0:ye.zIndex)||0,Ut=((Te=(De=this.getNodeLikeDatum(At))===null||De===void 0?void 0:De.style)===null||Te===void 0?void 0:Te.zIndex)||0;this.updateEdgeData([{id:kn(ue),style:{zIndex:Math.max(Mt,Ut)-1}}])})})}getFrontZIndex(b){var x;const E=this.getElementType(b),ne=this.getElementDataById(b),re=this.getData();if(Object.assign(re,{[`${E}s`]:re[`${E}s`].filter(oe=>kn(oe)!==b)}),E==="combo"&&!yu(ne)){const oe=new Set(this.getAncestorsData(b,$t).map(kn));re.nodes=re.nodes.filter(ue=>!oe.has(kn(ue))),re.combos=re.combos.filter(ue=>!oe.has(kn(ue))),re.edges=re.edges.filter(({source:ue,target:fe})=>!oe.has(ue)&&!oe.has(fe))}return Math.max(((x=ne.style)===null||x===void 0?void 0:x.zIndex)||0,0,...Object.values(re).flat().map(oe=>{var ue;return(((ue=oe==null?void 0:oe.style)===null||ue===void 0?void 0:ue.zIndex)||0)+1}))}updateNodeLikeHierarchy(b){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:x}=this;b.forEach(E=>{const ne=kn(E),re=Yi(E);re!==void 0&&(x.hasTreeStructure($t)||x.attachTreeStructure($t),re===null&&this.refreshComboData(ne),this.setParent(ne,Yi(E),$t));const oe=E.children||[];if(oe.length){x.hasTreeStructure(Ft)||x.attachTreeStructure(Ft);const ue=oe.filter(fe=>x.hasNode(fe));ue.forEach(fe=>this.setParent(fe,ne,Ft)),ue.length!==oe.length&&this.updateNodeData([{id:ne,children:ue}])}})}preventUpdateNodeLikeHierarchy(b){this.enableUpdateNodeLikeHierarchy=!1,b(),this.enableUpdateNodeLikeHierarchy=!0}updateData(b){const{nodes:x,edges:E,combos:ne}=b;this.batch(()=>{this.updateNodeData(x),this.updateComboData(ne),this.updateEdgeData(E)}),this.computeZIndex(b,"update")}updateNodeData(b=[]){if(!b.length)return;const{model:x}=this;this.batch(()=>{const E=[];b.forEach(ne=>{const re=kn(ne),oe=Zf(x.getNode(re));if(Ht(oe,ne))return;const ue=at(oe,ne);this.pushChange({value:ue,original:oe,type:It.NodeUpdated}),x.mergeNodeData(re,ue),E.push(ue)}),this.updateNodeLikeHierarchy(E)}),this.computeZIndex({nodes:b},"update")}refreshData(){const{nodes:b,edges:x,combos:E}=this.getData();b.forEach(ne=>{this.pushChange({value:ne,original:ne,type:It.NodeUpdated})}),x.forEach(ne=>{this.pushChange({value:ne,original:ne,type:It.EdgeUpdated})}),E.forEach(ne=>{this.pushChange({value:ne,original:ne,type:It.ComboUpdated})})}syncNodeLikeDatum(b){const{model:x}=this,E=kn(b);if(!x.hasNode(E))return;const ne=Zf(x.getNode(E)),re=at(ne,b);x.mergeNodeData(E,re)}syncEdgeDatum(b){const{model:x}=this,E=kn(b);if(!x.hasEdge(E))return;const ne=Zf(x.getEdge(E)),re=at(ne,b);x.mergeEdgeData(E,re)}updateEdgeData(b=[]){if(!b.length)return;const{model:x}=this;this.batch(()=>{b.forEach(E=>{const ne=kn(E),re=Zf(x.getEdge(ne));if(Ht(re,E))return;E.source&&re.source!==E.source&&x.updateEdgeSource(ne,E.source),E.target&&re.target!==E.target&&x.updateEdgeTarget(ne,E.target);const oe=at(re,E);this.pushChange({value:oe,original:re,type:It.EdgeUpdated}),x.mergeEdgeData(ne,oe)})}),this.computeZIndex({edges:b},"update")}updateComboData(b=[]){if(!b.length)return;const{model:x}=this;x.batch(()=>{const E=[];b.forEach(ne=>{const re=kn(ne),oe=Zf(x.getNode(re));if(Ht(oe,ne))return;const ue=at(oe,ne);this.pushChange({value:ue,original:oe,type:It.ComboUpdated}),x.mergeNodeData(re,ue),E.push(ue)}),this.updateNodeLikeHierarchy(E)}),this.computeZIndex({combos:b},"update")}setParent(b,x,E,ne=!0){if(b===x)return;const re=this.getNodeLikeDatum(b),oe=Yi(re);if(oe!==x&&E===$t){const ue={id:b,combo:x};this.isCombo(b)?this.syncNodeLikeDatum(ue):this.syncNodeLikeDatum(ue)}this.model.setParent(b,x,E),ne&&E===$t&&(0,nd.Z)([oe,x]).forEach(ue=>{ue!==void 0&&this.refreshComboData(ue)})}refreshComboData(b){const x=this.getComboData([b])[0],E=this.getAncestorsData(b,$t);x&&this.pushChange({value:x,original:x,type:It.ComboUpdated}),E.forEach(ne=>{this.pushChange({value:ne,original:ne,type:It.ComboUpdated})})}getElementPosition(b){const x=this.getElementDataById(b);return Di(x)}translateNodeLikeBy(b,x){this.isCombo(b)?this.translateComboBy(b,x):this.translateNodeBy(b,x)}translateNodeLikeTo(b,x){this.isCombo(b)?this.translateComboTo(b,x):this.translateNodeTo(b,x)}translateNodeBy(b,x){const E=this.getElementPosition(b),ne=Nt(E,[...x,0].slice(0,3));this.translateNodeTo(b,ne)}translateNodeTo(b,x){const[E=0,ne=0,re=0]=x;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:b,style:{x:E,y:ne,z:re}}])})}translateComboBy(b,x){const[E=0,ne=0,re=0]=x;if([E,ne,re].some(isNaN)||[E,ne,re].every(fe=>fe===0))return;const oe=this.getComboData([b])[0];if(!oe)return;const ue=new Set;Su(oe,fe=>{const ge=kn(fe);if(ue.has(ge))return;ue.add(ge);const[ye,De,Te]=Di(fe),Ve=at(fe,{style:{x:ye+E,y:De+ne,z:Te+re}});this.pushChange({value:Ve,original:fe,type:this.isCombo(ge)?It.ComboUpdated:It.NodeUpdated}),this.model.mergeNodeData(ge,Ve)},fe=>this.getChildrenData(kn(fe)),"BT")}translateComboTo(b,x){var E;if(x.some(isNaN))return;const[ne=0,re=0,oe=0]=x,ue=(E=this.getComboData([b]))===null||E===void 0?void 0:E[0];if(!ue)return;const[fe,ge,ye]=Di(ue),De=ne-fe,Te=re-ge,Ve=oe-ye;Su(ue,rt=>{const At=kn(rt),[Mt,Ut,en]=Di(rt),hn=at(rt,{style:{x:Mt+De,y:Ut+Te,z:en+Ve}});this.pushChange({value:hn,original:rt,type:this.isCombo(At)?It.ComboUpdated:It.NodeUpdated}),this.model.mergeNodeData(At,hn)},rt=>this.getChildrenData(kn(rt)),"BT")}removeData(b){const{nodes:x,edges:E,combos:ne}=b;this.batch(()=>{this.removeEdgeData(E),this.removeNodeData(x),this.removeComboData(ne),this.latestRemovedComboIds=new Set(ne)})}removeNodeData(b=[]){b.length&&this.batch(()=>{b.forEach(x=>{this.removeEdgeData(this.getRelatedEdgesData(x).map(kn)),this.pushChange({value:this.getNodeData([x])[0],type:It.NodeRemoved}),this.removeNodeLikeHierarchy(x)}),this.model.removeNodes(b)})}removeEdgeData(b=[]){b.length&&(b.forEach(x=>this.pushChange({value:this.getEdgeData([x])[0],type:It.EdgeRemoved})),this.model.removeEdges(b))}removeComboData(b=[]){b.length&&this.batch(()=>{b.forEach(x=>{this.pushChange({value:this.getComboData([x])[0],type:It.ComboRemoved}),this.removeNodeLikeHierarchy(x),this.comboIds.delete(x)}),this.model.removeNodes(b)})}removeNodeLikeHierarchy(b){if(this.model.hasTreeStructure($t)){const x=Yi(this.getNodeLikeDatum(b));this.setParent(b,void 0,$t,!1),this.model.getChildren(b,$t).forEach(E=>{const ne=Zf(E),re=kn(ne);this.setParent(kn(ne),x,$t,!1);const oe=at(ne,{id:kn(ne),combo:x});this.pushChange({value:oe,original:ne,type:this.isCombo(re)?It.ComboUpdated:It.NodeUpdated}),this.model.mergeNodeData(kn(ne),oe)}),(0,Rt.Z)(x)||this.refreshComboData(x)}}getElementType(b){if(this.model.hasNode(b))return this.isCombo(b)?"combo":"node";if(this.model.hasEdge(b))return"edge";throw new Error(pn(`Unknown element type of id: ${b}`))}destroy(){const{model:b}=this,x=b.getAllNodes(),E=b.getAllEdges();b.removeEdges(E.map(ne=>ne.id)),b.removeNodes(x.map(ne=>ne.id)),this.context={}}}var Jp=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class bm{constructor(b){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=b}init(){this.initContainer()}initContainer(){if(!this.container||this.container.destroyed){const{canvas:b}=this.context;this.container=b.appendChild(new je.ZA({className:"elements"}))}}emit(b,x){x.silence||wf(this.context.graph,b)}forEachElementData(b){Xu.forEach(x=>{const E=this.context.model.getElementsDataByType(x);b(x,E)})}getElementType(b,x){var E;const{options:ne,graph:re}=this.context,oe=rn(x)&&((E=ne[b])===null||E===void 0?void 0:E.type)||x.type;return oe?typeof oe=="string"?oe:oe.call(re,x):b==="edge"?"line":"circle"}getTheme(b){return tn(this.context.options)[b]||{}}getThemeStyle(b){return this.getTheme(b).style||{}}getThemeStateStyle(b,x){const{state:E={}}=this.getTheme(b);return Object.assign({},...x.map(ne=>E[ne]||{}))}computePaletteStyle(){const{options:b}=this.context;this.paletteStyle={},this.forEachElementData((x,E)=>{var ne,re;const oe=Object.assign({},us((ne=this.getTheme(x))===null||ne===void 0?void 0:ne.palette),us((re=b[x])===null||re===void 0?void 0:re.palette));oe!=null&&oe.field&&Object.assign(this.paletteStyle,Hs(E,oe))})}getPaletteStyle(b,x){const E=this.paletteStyle[x];return E?b==="edge"?{stroke:E}:{fill:E}:{}}computeElementDefaultStyle(b,x){var E;const{options:ne}=this.context,re=((E=ne[b])===null||E===void 0?void 0:E.style)||{};"transform"in re&&Array.isArray(re.transform)&&(re.transform=[...re.transform]),this.defaultStyle[kn(x.datum)]=Cc(re,x)}computeElementsDefaultStyle(b){const{graph:x}=this.context;this.forEachElementData((E,ne)=>{const re=ne.length;for(let oe=0;oethis.getElementStateStyle(b,ne,E)))}computeElementsStatesStyle(b){const{graph:x}=this.context;this.forEachElementData((E,ne)=>{const re=ne.length;for(let oe=0;oethis.elementMap[b])}getEdges(){return this.context.model.getEdgeData().map(b=>this.elementMap[kn(b)])}getCombos(){return this.context.model.getComboData().map(({id:b})=>this.elementMap[b])}getElementComputedStyle(b,x){const E=kn(x),ne=this.getThemeStyle(b),re=this.getPaletteStyle(b,E),oe=x.style||{},ue=this.getDefaultStyle(E),fe=this.getThemeStateStyle(b,this.getElementState(E)),ge=this.getStateStyle(E),ye=rn(x)?Object.assign({},ne,re,oe,ue,fe,ge):Object.assign({},oe);if(b==="combo"){const De=this.context.model.getChildrenData(E),Ve=!!ye.collapsed?[]:De.map(kn).filter(rt=>this.getElement(rt));Object.assign(ye,{childrenNode:Ve,childrenData:De})}return ye}getDrawData(b){this.init();const x=this.computeChangesAndDrawData(b);if(!x)return null;const{type:E="draw",stage:ne=E}=b;return this.markDestroyElement(x.drawData),this.computeStyle(ne),{type:E,stage:ne,data:x}}draw(b={animation:!0}){const x=this.getDrawData(b);if(!x)return;const{data:{drawData:{add:E,update:ne,remove:re}}}=x;return this.destroyElements(re,b),this.createElements(E,b),this.updateElements(ne,b),this.setAnimationTask(b,x)}preLayoutDraw(){return Jp(this,arguments,void 0,function*(b={animation:!0}){var x,E;const ne=this.getDrawData(b);if(!ne)return;const{data:{drawData:re}}=ne;yield(E=(x=this.context.layout)===null||x===void 0?void 0:x.preLayout)===null||E===void 0?void 0:E.call(x,re);const{add:oe,update:ue,remove:fe}=re;return this.destroyElements(fe,b),this.createElements(oe,b),this.updateElements(ue,b),this.setAnimationTask(b,ne)})}setAnimationTask(b,x){const{animation:E,silence:ne}=b,{data:{dataChanges:re,drawData:oe},stage:ue,type:fe}=x;return this.context.animation.animate(E,ne?{}:{before:()=>this.emit(new Af(mt.BEFORE_DRAW,{dataChanges:re,animation:E,stage:ue,render:fe==="render"}),b),beforeAnimate:ge=>this.emit(new Gh(mt.BEFORE_ANIMATE,vt.DRAW,ge,oe),b),afterAnimate:ge=>this.emit(new Gh(mt.AFTER_ANIMATE,vt.DRAW,ge,oe),b),after:()=>this.emit(new Af(mt.AFTER_DRAW,{dataChanges:re,animation:E,stage:ue,render:fe==="render",firstRender:this.context.graph.rendered===!1}),b)})}computeChangesAndDrawData(b){const{model:x}=this.context,E=x.getChanges(),ne=il(E);if(ne.length===0)return null;const{NodeAdded:re=[],NodeUpdated:oe=[],NodeRemoved:ue=[],EdgeAdded:fe=[],EdgeUpdated:ge=[],EdgeRemoved:ye=[],ComboAdded:De=[],ComboUpdated:Te=[],ComboRemoved:Ve=[]}=(0,qe.Z)(ne,mi=>mi.type),rt=(mi,ei)=>{const Ri=[];return mi.forEach(Yr=>{const Va=kn(Yr.value);this.getElement(Va)?Ri.push(Yr):ei.push(Yr)}),Ri},At=rt(oe,re),Mt=rt(ge,fe),Ut=rt(Te,De),en=mi=>new Map(mi.map(ei=>{const Ri=ei.value;return[kn(Ri),Ri]})),hn={add:{nodes:en(re),edges:en(fe),combos:en(De)},update:{nodes:en(At),edges:en(Mt),combos:en(Ut)},remove:{nodes:en(ue),edges:en(ye),combos:en(Ve)}},rr=this.transformData(hn,b);return x.clearChanges(),{dataChanges:E,drawData:rr}}transformData(b,x){const E=this.context.transform.getTransformInstance();return Object.values(E).reduce((ne,re)=>re.beforeDraw(ne,x),b)}createElement(b,x,E){var ne;const re=kn(x);if(this.getElement(re))return;const ue=this.getElementType(b,x),fe=this.getElementComputedStyle(b,x),ge=Sn(b,ue);if(!ge)return et.warn(`The element ${ue} of ${b} is not registered.`);this.emit(new r0(mt.BEFORE_ELEMENT_CREATE,b,x),E);const ye=this.container.appendChild(new ge({id:re,context:this.context,style:fe}));this.shapeTypeMap[re]=ue,this.elementMap[re]=ye;const{stage:De="enter"}=E;(ne=this.context.animation)===null||ne===void 0||ne.add({element:ye,elementType:b,stage:De,originalStyle:Object.assign({},ye.attributes),updatedStyle:fe},{after:()=>{var Te;this.emit(new r0(mt.AFTER_ELEMENT_CREATE,b,x),E),(Te=ye.onCreate)===null||Te===void 0||Te.call(ye)}})}createElements(b,x){const{nodes:E,edges:ne,combos:re}=b;[["node",E],["combo",re],["edge",ne]].forEach(([ue,fe])=>{fe.forEach(ge=>this.createElement(ue,ge,x))})}getUpdateStageStyle(b,x,E){const{stage:ne="update"}=E;if(ne==="translate")if(b==="node"||b==="combo"){const{style:{x:re=0,y:oe=0,z:ue=0}={}}=x;return{x:re,y:oe,z:ue}}else return{};return this.getElementComputedStyle(b,x)}updateElement(b,x,E){var ne;const re=kn(x),{stage:oe="update"}=E,ue=this.getElement(re);if(!ue)return()=>null;this.emit(new r0(mt.BEFORE_ELEMENT_UPDATE,b,x),E);const fe=this.getElementType(b,x),ge=this.getUpdateStageStyle(b,x,E);this.shapeTypeMap[re]!==fe&&(ue.destroy(),delete this.shapeTypeMap[re],delete this.elementMap[re],this.createElement(b,x,{animation:!1,silence:!0}));const ye=oe!=="visibility"?oe:ge.visibility==="hidden"?"hide":"show";ye==="hide"&&delete ge.visibility,(ne=this.context.animation)===null||ne===void 0||ne.add({element:ue,elementType:b,stage:ye,originalStyle:Object.assign({},ue.attributes),updatedStyle:ge},{before:()=>{const De=this.elementMap[re];oe!=="collapse"&&$r(De,ge),oe==="visibility"&&(Yv(De,"opacity")||Uv(De,"opacity"),this.visibilityCache.set(De,ye==="show"?"visible":"hidden"),ye==="show"&&Hr(De,"visible"))},after:()=>{var De;const Te=this.elementMap[re];oe==="collapse"&&$r(Te,ge),ye==="hide"&&Hr(Te,this.visibilityCache.get(Te)),this.emit(new r0(mt.AFTER_ELEMENT_UPDATE,b,x),E),(De=Te.onUpdate)===null||De===void 0||De.call(Te)}})}updateElements(b,x){const{nodes:E,edges:ne,combos:re}=b;[["node",E],["combo",re],["edge",ne]].forEach(([ue,fe])=>{fe.forEach(ge=>this.updateElement(ue,ge,x))})}markDestroyElement(b){Object.values(b.remove).forEach(x=>{x.forEach(E=>{const ne=kn(E),re=this.getElement(ne);re&&Ee(re)})})}destroyElement(b,x,E){var ne;const{stage:re="exit"}=E,oe=kn(x),ue=this.elementMap[oe];if(!ue)return()=>null;this.emit(new r0(mt.BEFORE_ELEMENT_DESTROY,b,x),E),(ne=this.context.animation)===null||ne===void 0||ne.add({element:ue,elementType:b,stage:re,originalStyle:Object.assign({},ue.attributes),updatedStyle:{}},{after:()=>{var fe;this.clearElement(oe),ue.destroy(),(fe=ue.onDestroy)===null||fe===void 0||fe.call(ue),this.emit(new r0(mt.AFTER_ELEMENT_DESTROY,b,x),E)}})}destroyElements(b,x){const{nodes:E,edges:ne,combos:re}=b;[["combo",re],["edge",ne],["node",E]].forEach(([ue,fe])=>{fe.forEach(ge=>this.destroyElement(ue,ge,x))})}clearElement(b){delete this.paletteStyle[b],delete this.defaultStyle[b],delete this.stateStyle[b],delete this.elementMap[b],delete this.shapeTypeMap[b]}alignLayoutResultToElement(b,x){var E,ne;const re=(E=b.nodes)===null||E===void 0?void 0:E.find(oe=>kn(oe)===x);if(re){const oe=Di(this.context.model.getNodeLikeDatum(x)),ue=Di(re),fe=Gn(oe,ue);(ne=b.nodes)===null||ne===void 0||ne.forEach(ge=>{var ye,De,Te;!((ye=ge.style)===null||ye===void 0)&&ye.x&&(ge.style.x+=fe[0]),!((De=ge.style)===null||De===void 0)&&De.y&&(ge.style.y+=fe[1]),!((Te=ge.style)===null||Te===void 0)&&Te.z&&(ge.style.z+=fe[2]||0)})}}syncLayoutResult(b,x){return Jp(this,void 0,void 0,function*(){const{layout:E,model:ne}=this.context;if(!E)return;const re=this.context.options.layout,oe=fe=>Array.isArray(fe)?fe.map(ge=>Object.assign(Object.assign({},ge),{preLayout:!0})):Object.assign(Object.assign({},fe),{preLayout:!0}),ue=yield E.simulate(re?oe(re):void 0);x&&this.alignLayoutResultToElement(ue,b),ne.updateData(ue)})}collapseNode(b,x){return Jp(this,void 0,void 0,function*(){var E;const{animation:ne,align:re}=x;yield this.syncLayoutResult(b,re);const oe=this.computeChangesAndDrawData({stage:"collapse",animation:ne});if(!oe)return;const{drawData:ue}=oe,{add:fe,remove:ge,update:ye}=ue;this.markDestroyElement(ue);const De={animation:ne,stage:"collapse",data:ue};this.destroyElements(ge,De),this.createElements(fe,De),this.updateElements(ye,De),yield(E=this.context.animation.animate(ne,{beforeAnimate:Te=>this.emit(new Gh(mt.BEFORE_ANIMATE,vt.COLLAPSE,Te,ue),De),afterAnimate:Te=>this.emit(new Gh(mt.AFTER_ANIMATE,vt.COLLAPSE,Te,ue),De)},{collapse:{target:b,descendants:Array.from(ge.nodes).map(([,Te])=>kn(Te)),position:Di(ye.nodes.get(b))}}))===null||E===void 0?void 0:E.finished})}expandNode(b,x){return Jp(this,void 0,void 0,function*(){var E;const{model:ne}=this.context,{animation:re,align:oe}=x,ue=Di(ne.getNodeData([b])[0]);yield this.syncLayoutResult(b,oe);const fe=this.computeChangesAndDrawData({stage:"expand",animation:re});if(this.createElements(fe.drawData.add,{animation:!1,stage:"expand",target:b}),this.context.animation.clear(),this.computeStyle("expand"),!fe)return;const{drawData:ge}=fe,{update:ye,add:De}=ge,Te={animation:re,stage:"expand",data:ge};De.edges.forEach(Ve=>ye.edges.set(kn(Ve),Ve)),De.nodes.forEach(Ve=>ye.nodes.set(kn(Ve),Ve)),this.updateElements(ye,Te),yield(E=this.context.animation.animate(re,{beforeAnimate:Ve=>this.emit(new Gh(mt.BEFORE_ANIMATE,vt.EXPAND,Ve,ge),Te),afterAnimate:Ve=>this.emit(new Gh(mt.AFTER_ANIMATE,vt.EXPAND,Ve,ge),Te)},{expand:{target:b,descendants:Array.from(De.nodes).map(([,Ve])=>kn(Ve)),position:ue}}))===null||E===void 0?void 0:E.finished})}collapseCombo(b,x){return Jp(this,void 0,void 0,function*(){var E;const{model:ne,element:re}=this.context;if(ne.getAncestorsData(b,$t).some(At=>yu(At)))return;const oe=re.getElement(b),ue=oe.getComboPosition(Object.assign(Object.assign({},oe.attributes),{collapsed:!0})),fe=this.computeChangesAndDrawData({stage:"collapse",animation:x});if(!fe)return;const{dataChanges:ge,drawData:ye}=fe;this.markDestroyElement(ye);const{update:De,remove:Te}=ye,Ve={animation:x,stage:"collapse",data:ye};this.destroyElements(Te,Ve),this.updateElements(De,Ve);const rt=At=>Array.from(At).map(([,Mt])=>kn(Mt));yield(E=this.context.animation.animate(x,{before:()=>this.emit(new Af(mt.BEFORE_DRAW,{dataChanges:ge,animation:x}),Ve),beforeAnimate:At=>this.emit(new Gh(mt.BEFORE_ANIMATE,vt.COLLAPSE,At,ye),Ve),afterAnimate:At=>this.emit(new Gh(mt.AFTER_ANIMATE,vt.COLLAPSE,At,ye),Ve),after:()=>this.emit(new Af(mt.AFTER_DRAW,{dataChanges:ge,animation:x}),Ve)},{collapse:{target:b,descendants:[...rt(Te.nodes),...rt(Te.combos)],position:ue}}))===null||E===void 0?void 0:E.finished})}expandCombo(b,x){return Jp(this,void 0,void 0,function*(){var E;const{model:ne}=this.context,re=Di(ne.getComboData([b])[0]);this.computeStyle("expand");const oe=this.computeChangesAndDrawData({stage:"expand",animation:x});if(!oe)return;const{dataChanges:ue,drawData:fe}=oe,{add:ge,update:ye}=fe,De={animation:x,stage:"expand",data:fe,target:b};this.createElements(ge,De),this.updateElements(ye,De);const Te=Ve=>Array.from(Ve).map(([,rt])=>kn(rt));yield(E=this.context.animation.animate(x,{before:()=>this.emit(new Af(mt.BEFORE_DRAW,{dataChanges:ue,animation:x}),De),beforeAnimate:Ve=>this.emit(new Gh(mt.BEFORE_ANIMATE,vt.EXPAND,Ve,fe),De),afterAnimate:Ve=>this.emit(new Gh(mt.AFTER_ANIMATE,vt.EXPAND,Ve,fe),De),after:()=>this.emit(new Af(mt.AFTER_DRAW,{dataChanges:ue,animation:x}),De)},{expand:{target:b,descendants:[...Te(ge.nodes),...Te(ge.combos)],position:re}}))===null||E===void 0?void 0:E.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={}}}var qv=he(96262);class Tc extends _s.Z{constructor(b,x,E){super(),this.graph=b,this.layout=x,this.options=E,this.spawnWorker()}spawnWorker(){this.proxy=qv.Ud(new Worker(new URL(he.p+he.u(9283),he.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var b;return(0,au.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const x=this.layout.options,{onTick:E}=x,ne=(0,au._T)(x,["onTick"]),re={};Object.keys(ne).forEach(ge=>{(0,On.Z)(ne[ge])||(re[ge]=ne[ge])});const oe={layout:{id:this.layout.id,options:re,iterations:(b=this.options)===null||b===void 0?void 0:b.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},ue=new Float32Array([0]),[fe]=yield this.proxy.calculateLayout(oe,[ue]);return fe})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[qv.Yy]()}isRunning(){return this.running}}var Uh=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})},qp=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{const De=kn(ye),Te=fe.nodes.get(De);ue.syncNodeLikeDatum(ye),Te&&Object.assign(Te.style,ye.style)}),(ne=ge==null?void 0:ge.edges)===null||ne===void 0||ne.forEach(ye=>{const De=kn(ye),Te=fe.edges.get(De);ue.syncEdgeDatum(ye),Te&&Object.assign(Te.style,ye.style)}),(re=ge==null?void 0:ge.combos)===null||re===void 0||re.forEach(ye=>{const De=kn(ye),Te=fe.combos.get(De);ue.syncNodeLikeDatum(ye),Te&&Object.assign(Te.style,ye.style)}),wf(oe,new Af(mt.AFTER_LAYOUT,{type:"pre"})),this.transformDataAfterLayout("pre",b)})}postLayout(){return Uh(this,arguments,void 0,function*(b=this.options){if(!b)return;const x=Array.isArray(b)?b:[b],{graph:E}=this.context;wf(E,new Af(mt.BEFORE_LAYOUT,{type:"post"}));for(let ne=0;nene.afterLayout(b,x))}simulate(){return Uh(this,arguments,void 0,function*(b=this.options){if(!b)return{};const x=Array.isArray(b)?b:[b];let E={};for(let ne=0;ne{this.updateElementPosition(ge,!1)}}):(ue.execute(b),ue.stop(),ue.tick(oe));const fe=yield ue.execute(b);if(ne){const ge=this.updateElementPosition(fe,ne);yield ge==null?void 0:ge.finished}return fe})}treeLayout(b,x,E){return Uh(this,void 0,void 0,function*(){const{type:ne,animation:re}=x,oe=Sn("layout",ne);if(!oe)return{};const{nodes:ue=[],edges:fe=[]}=b,ge=new wi.k({nodes:ue.map(rt=>({id:kn(rt),data:rt.data||{}})),edges:fe.map(rt=>({id:kn(rt),source:rt.source,target:rt.target,data:rt.data||{}}))});F0(ge);const ye={nodes:[],edges:[]},De={nodes:[],edges:[]};ge.getRoots(Ft).forEach(rt=>{Su(rt,hn=>{hn.children=ge.getSuccessors(hn.id)},hn=>ge.getSuccessors(hn.id),"TB");const At=oe(rt,x),{x:Mt,y:Ut,z:en=0}=At;Su(At,hn=>{const{id:rr,x:mi,y:ei,z:Ri=0}=hn;ye.nodes.push({id:rr,style:{x:Mt,y:Ut,z:en}}),De.nodes.push({id:rr,style:{x:mi,y:ei,z:Ri}})},hn=>hn.children,"TB")});const Ve=this.inferTreeLayoutOffset(De);if(Mp(De,Ve),re){Mp(ye,Ve),this.updateElementPosition(ye,!1);const rt=this.updateElementPosition(De,re);yield rt==null?void 0:rt.finished}return De})}inferTreeLayoutOffset(b){var x;let[E,ne]=[1/0,-1/0],[re,oe]=[1/0,-1/0];(x=b.nodes)===null||x===void 0||x.forEach(At=>{const{x:Mt=0,y:Ut=0}=At.style||{};E=Math.min(E,Mt),ne=Math.max(ne,Mt),re=Math.min(re,Ut),oe=Math.max(oe,Ut)});const{canvas:ue}=this.context,fe=ue.getSize(),[ge,ye]=ue.getCanvasByViewport([0,0]),[De,Te]=ue.getCanvasByViewport(fe);if(E>=ge&&ne<=De&&re>=ye&&oe<=Te)return[0,0];const Ve=(ge+De)/2,rt=(ye+Te)/2;return[Ve-(E+ne)/2,rt-(re+oe)/2]}stopLayout(){this.instance&&Tp(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(b){const{nodeFilter:x=()=>!0,comboFilter:E=()=>!0,preLayout:ne=!1,isLayoutInvisibleNodes:re=!1}=b,{nodes:oe,edges:ue,combos:fe}=this.context.model.getData(),{element:ge,model:ye}=this.context,De=Ut=>ge.getElement(Ut),Te=ne?Ut=>{var en;return!re&&(((en=Ut.style)===null||en===void 0?void 0:en.visibility)==="hidden"||ye.getAncestorsData(Ut.id,Ft).some(yu)||ye.getAncestorsData(Ut.id,$t).some(yu))?!1:x(Ut)}:Ut=>{const en=kn(Ut),hn=De(en);return!hn||Be(hn)?!1:x(Ut)},Ve=oe.filter(Te),rt=fe.filter(E),At=new Map(Ve.map(Ut=>[kn(Ut),Ut]));rt.forEach(Ut=>At.set(kn(Ut),Ut));const Mt=ue.filter(({source:Ut,target:en})=>At.has(Ut)&&At.has(en));return{nodes:Ve,edges:Mt,combos:rt}}initGraphLayout(b){var x;const{element:E,viewport:ne}=this.context,{type:re,enableWorker:oe,animation:ue,iterations:fe}=b,ge=qp(b,["type","enableWorker","animation","iterations"]),[ye,De]=ne.getCanvasSize(),Te=[ye/2,De/2],Ve=(x=b==null?void 0:b.nodeSize)!==null&&x!==void 0?x:en=>{const hn=E==null?void 0:E.getElement(en.id);return hn?hn.attributes.size:E==null?void 0:E.getElementComputedStyle("node",en).size},rt=Sn("layout",re);if(!rt)return et.warn(`The layout of ${re} is not registered.`);const At=Object.getPrototypeOf(rt.prototype)===Ka.prototype?rt:Fi(rt,this.context),Mt=new At(this.context),Ut={nodeSize:Ve,width:ye,height:De,center:Te};switch(Mt.id){case"d3-force":case"d3-force-3d":Object.assign(Ut,{center:{x:ye/2,y:De/2,z:0}});break;default:break}return(0,Wn.Z)(Mt.options,Ut,ge),Mt}updateElementPosition(b,x){const{model:E,element:ne}=this.context;return ne?(E.updateData(b),ne.draw({animation:x,silence:!0})):null}destroy(){var b;this.stopLayout(),this.context={},(b=this.supervisor)===null||b===void 0||b.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const Mp=(te,b)=>{var x;const[E,ne]=b;(x=te.nodes)===null||x===void 0||x.forEach(re=>{if(re.style){const{x:oe=0,y:ue=0}=re.style;re.style.x=oe+E,re.style.y=ue+ne}else re.style={x:E,y:ne}})};function Ov(te){return[xm].reduce((x,E)=>E(x),te)}function xm(te){return!te.layout||Array.isArray(te.layout)||"preLayout"in te.layout||["antv-dagre","combo-combined","compact-box","circular","concentric","dagre","fishbone","grid","indented","mds","radial","random","snake","dendrogram","mindmap"].includes(te.layout.type)&&(te.layout.preLayout=!0),te}class yg extends Vr{constructor(b){super(b),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(b){this.setExtensions(b)}getPluginInstance(b){const x=this.extensionMap[b];if(x)return x;et.warn(`Cannot find the plugin ${b}, will try to find it by type.`);const E=this.extensions.find(ne=>ne.type===b);if(E)return this.extensionMap[E.key]}}const Yg=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class _v extends Vr{constructor(b){super(b),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(b){this.setExtensions([...Yg.slice(0,Yg.length-1),...b,Yg[Yg.length-1]])}getTransformInstance(b){return b?this.extensionMap[b]:this.extensionMap}}var bg=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class bc{get padding(){return Lt(this.context.options.padding)}get paddingOffset(){const[b,x,E,ne]=this.padding,[re,oe,ue]=[(ne-x)/2,(b-E)/2,0];return[re,oe,ue]}constructor(b){this.landmarkCounter=0,this.context=b;const[x,E]=this.paddingOffset,{zoom:ne,rotation:re,x:oe=x,y:ue=E}=b.options;this.transform({mode:"absolute",scale:ne,translate:[oe,ue],rotate:re},!1)}get camera(){const{canvas:b}=this.context;return new Proxy(b.getCamera(),{get:(x,E)=>{const re=Object.entries(b.getLayers()).filter(([ue])=>!["main"].includes(ue)).map(([,ue])=>ue.getCamera()),oe=x[E];if(typeof oe=="function")return(...ue)=>{const fe=oe.apply(x,ue);return re.forEach(ge=>{ge[E].apply(ge,ue)}),fe}}})}createLandmark(b){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,b)}getAnimation(b){const x=bn(this.context.options,b);return x?(0,Tu.Z)(Object.assign({},x),["easing","duration"]):!1}getCanvasSize(){const{canvas:b}=this.context,{width:x=0,height:E=0}=b.getConfig();return[x,E]}getCanvasCenter(){const{canvas:b}=this.context,{width:x=0,height:E=0}=b.getConfig();return[x/2,E/2,0]}getViewportCenter(){const[b,x]=this.camera.getPosition();return[b,x,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(b){const{camera:x}=this,{mode:E,translate:ne=[]}=b,re=this.getZoom(),oe=x.getPosition(),ue=x.getFocalPoint(),[fe,ge]=this.getCanvasCenter(),[ye=0,De=0,Te=0]=ne,Ve=yr([-ye,-De,-Te],re);return E==="relative"?{position:Nt(oe,Ve),focalPoint:Nt(ue,Ve)}:{position:Nt([fe,ge,oe[2]],Ve),focalPoint:Nt([fe,ge,ue[2]],Ve)}}getRotateOptions(b){const{mode:x,rotate:E=0}=b;return{roll:x==="relative"?this.camera.getRoll()+E:E}}getZoomOptions(b){const{zoomRange:x}=this.context.options,E=this.camera.getZoom(),{mode:ne,scale:re=1}=b;return(0,_u.Z)(ne==="relative"?E*re:re,...x)}transform(b,x){return bg(this,void 0,void 0,function*(){const{graph:E}=this.context,{translate:ne,rotate:re,scale:oe,origin:ue}=b;this.cancelAnimation();const fe=this.getAnimation(x);if(wf(E,new Ag(mt.BEFORE_TRANSFORM,b)),!re&&oe&&!ne&&ue&&!fe){this.camera.setZoomByViewportPoint(this.getZoomOptions(b),ue),wf(E,new Ag(mt.AFTER_TRANSFORM,b));return}const ge={};if(ne&&Object.assign(ge,this.getTranslateOptions(b)),(0,yt.Z)(re)&&Object.assign(ge,this.getRotateOptions(b)),(0,yt.Z)(oe)&&Object.assign(ge,{zoom:this.getZoomOptions(b)}),fe)return wf(E,new Gh(mt.BEFORE_ANIMATE,vt.TRANSFORM,null,b)),new Promise(ye=>{this.transformResolver=ye,this.camera.gotoLandmark(this.createLandmark(ge),Object.assign(Object.assign({},fe),{onfinish:()=>{wf(E,new Gh(mt.AFTER_ANIMATE,vt.TRANSFORM,null,b)),wf(E,new Ag(mt.AFTER_TRANSFORM,b)),this.transformResolver=void 0,ye()}}))});this.camera.gotoLandmark(this.createLandmark(ge),{duration:0}),wf(E,new Ag(mt.AFTER_TRANSFORM,b))})}fitView(b,x){return bg(this,void 0,void 0,function*(){const[E,ne,re,oe]=this.padding,{when:ue="always",direction:fe="both"}=b||{},[ge,ye]=this.context.canvas.getSize(),De=ge-oe-ne,Te=ye-E-re,Ve=this.context.canvas.getBounds(),rt=this.getBBoxInViewport(Ve),[At,Mt]=kr(rt),Ut=fe==="x"&&At>=De||fe==="y"&&Mt>=Te||fe==="both"&&At>=De&&Mt>=Te;if(ue==="overflow"&&!Ut)return yield this.fitCenter({animation:x});const en=De/At,hn=Te/Mt,rr=fe==="x"?en:fe==="y"?hn:Math.min(en,hn),mi=this.getAnimation(x);Number.isFinite(rr)&&(yield this.transform({mode:"relative",scale:rr,translate:Nt(Gn(this.getCanvasCenter(),this.getBBoxInViewport(Ve).center),yr(this.paddingOffset,rr))},mi))})}fitCenter(b){return bg(this,void 0,void 0,function*(){const x=this.context.canvas.getBounds();yield this.focus(x,b)})}focusElements(b){return bg(this,arguments,void 0,function*(x,E={}){const{element:ne}=this.context;if(!ne)return;const re=ue=>E.shapes?ue.getShape(E.shapes).getRenderBounds():ue.getRenderBounds(),oe=Ii(x.map(ue=>re(ne.getElement(ue))));yield this.focus(oe,E)})}focus(b,x){return bg(this,void 0,void 0,function*(){const E=this.context.graph.getViewportByCanvas(b.center),ne=x.position||this.getCanvasCenter(),re=Gn(ne,E);yield this.transform({mode:"relative",translate:Nt(re,this.paddingOffset)},x.animation)})}getBBoxInViewport(b){const{min:x,max:E}=b,{graph:ne}=this.context,[re,oe]=ne.getViewportByCanvas(x),[ue,fe]=ne.getViewportByCanvas(E),ge=new je.mN;return ge.setMinMax([re,oe,0],[ue,fe,0]),ge}isInViewport(b,x=!1,E=0){const{graph:ne}=this.context,re=this.getCanvasSize(),[oe,ue]=ne.getCanvasByViewport([0,0]),[fe,ge]=ne.getCanvasByViewport(re);let ye=new je.mN;return ye.setMinMax([oe,ue,0],[fe,ge,0]),E&&(ye=Pr(ye,E)),Xt(b)?qt(b,ye):x?on(b,ye):ye.intersects(b)}cancelAnimation(){var b,x;!((b=this.camera.landmarks)===null||b===void 0)&&b.length&&this.camera.cancelLandmarkAnimation(),(x=this.transformResolver)===null||x===void 0||x.call(this)}}var _c=function(te,b,x,E){function ne(re){return re instanceof x?re:new x(function(oe){oe(re)})}return new(x||(x=Promise))(function(re,oe){function ue(ye){try{ge(E.next(ye))}catch(De){oe(De)}}function fe(ye){try{ge(E.throw(ye))}catch(De){oe(De)}}function ge(ye){ye.done?re(ye.value):ne(ye.value).then(ue,fe)}ge((E=E.apply(te,b||[])).next())})};class np extends _s.Z{constructor(b){var x;super(),this.options={},this.rendered=!1,this.destroyed=!1,this.context={model:new ym},this.isCollapsingExpanding=!1,this.onResize=(0,En.Z)(()=>{this.resize()},300),this._setOptions(Object.assign({},np.defaultOptions,b),!0),this.context.graph=this,this.options.autoResize&&((x=globalThis.addEventListener)===null||x===void 0||x.call(globalThis,"resize",this.onResize))}getOptions(){return this.options}setOptions(b){this._setOptions(b,!1)}_setOptions(b,x){if(this.updateCanvas(b),Object.assign(this.options,Ov(b)),x){const{data:Te}=b;Te&&this.addData(Te);return}const{behaviors:E,combo:ne,data:re,edge:oe,layout:ue,node:fe,plugins:ge,theme:ye,transforms:De}=b;E&&this.setBehaviors(E),re&&this.setData(re),fe&&this.setNode(fe),oe&&this.setEdge(oe),ne&&this.setCombo(ne),ue&&this.setLayout(ue),ye&&this.setTheme(ye),ge&&this.setPlugins(ge),De&&this.setTransforms(De)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(b,x){b&&(this.options.width=b),x&&(this.options.height=x),this.resize(b,x)}setZoomRange(b){this.options.zoomRange=b}getZoomRange(){return this.options.zoomRange}setNode(b){this.options.node=b,this.context.model.refreshData()}setEdge(b){this.options.edge=b,this.context.model.refreshData()}setCombo(b){this.options.combo=b,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(b){this.options.theme=(0,On.Z)(b)?b(this.getTheme()):b}setLayout(b){this.options.layout=(0,On.Z)(b)?b(this.getLayout()):b}getLayout(){return this.options.layout}setBehaviors(b){var x;this.options.behaviors=(0,On.Z)(b)?b(this.getBehaviors()):b,(x=this.context.behavior)===null||x===void 0||x.setBehaviors(this.options.behaviors)}updateBehavior(b){this.setBehaviors(x=>x.map(E=>typeof E=="object"&&E.key===b.key?Object.assign(Object.assign({},E),b):E))}getBehaviors(){return this.options.behaviors||[]}setPlugins(b){var x;this.options.plugins=(0,On.Z)(b)?b(this.getPlugins()):b,(x=this.context.plugin)===null||x===void 0||x.setPlugins(this.options.plugins)}updatePlugin(b){this.setPlugins(x=>x.map(E=>typeof E=="object"&&E.key===b.key?Object.assign(Object.assign({},E),b):E))}getPlugins(){return this.options.plugins||[]}getPluginInstance(b){return this.context.plugin.getPluginInstance(b)}setTransforms(b){var x;this.options.transforms=(0,On.Z)(b)?b(this.getTransforms()):b,(x=this.context.transform)===null||x===void 0||x.setTransforms(this.options.transforms)}updateTransform(b){this.setTransforms(x=>x.map(E=>typeof E=="object"&&E.key===b.key?Object.assign(Object.assign({},E),b):E)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}hasNode(b){return this.context.model.hasNode(b)}hasEdge(b){return this.context.model.hasEdge(b)}hasCombo(b){return this.context.model.hasCombo(b)}getElementData(b){return Array.isArray(b)?b.map(x=>this.context.model.getElementDataById(x)):this.context.model.getElementDataById(b)}getNodeData(b){return b===void 0?this.context.model.getNodeData():Array.isArray(b)?this.context.model.getNodeData(b):this.context.model.getNodeLikeDatum(b)}getEdgeData(b){return b===void 0?this.context.model.getEdgeData():Array.isArray(b)?this.context.model.getEdgeData(b):this.context.model.getEdgeDatum(b)}getComboData(b){return b===void 0?this.context.model.getComboData():Array.isArray(b)?this.context.model.getComboData(b):this.context.model.getNodeLikeDatum(b)}setData(b){this.context.model.setData((0,On.Z)(b)?b(this.getData()):b)}addData(b){this.context.model.addData((0,On.Z)(b)?b(this.getData()):b)}addNodeData(b){this.context.model.addNodeData((0,On.Z)(b)?b(this.getNodeData()):b)}addEdgeData(b){this.context.model.addEdgeData((0,On.Z)(b)?b(this.getEdgeData()):b)}addComboData(b){this.context.model.addComboData((0,On.Z)(b)?b(this.getComboData()):b)}addChildrenData(b,x){this.context.model.addChildrenData(b,x)}updateData(b){this.context.model.updateData((0,On.Z)(b)?b(this.getData()):b)}updateNodeData(b){this.context.model.updateNodeData((0,On.Z)(b)?b(this.getNodeData()):b)}updateEdgeData(b){this.context.model.updateEdgeData((0,On.Z)(b)?b(this.getEdgeData()):b)}updateComboData(b){this.context.model.updateComboData((0,On.Z)(b)?b(this.getComboData()):b)}removeData(b){this.context.model.removeData((0,On.Z)(b)?b(this.getData()):b)}removeNodeData(b){this.context.model.removeNodeData((0,On.Z)(b)?b(this.getNodeData()):b)}removeEdgeData(b){this.context.model.removeEdgeData((0,On.Z)(b)?b(this.getEdgeData()):b)}removeComboData(b){this.context.model.removeComboData((0,On.Z)(b)?b(this.getComboData()):b)}getElementType(b){return this.context.model.getElementType(b)}getRelatedEdgesData(b,x="both"){return this.context.model.getRelatedEdgesData(b,x)}getNeighborNodesData(b){return this.context.model.getNeighborNodesData(b)}getAncestorsData(b,x){return this.context.model.getAncestorsData(b,x)}getParentData(b,x){return this.context.model.getParentData(b,x)}getChildrenData(b){return this.context.model.getChildrenData(b)}getDescendantsData(b){return this.context.model.getDescendantsData(b)}getElementDataByState(b,x){return this.context.model.getElementDataByState(b,x)}initCanvas(){return _c(this,void 0,void 0,function*(){var b;if(this.context.canvas)return yield this.context.canvas.ready;const{container:x="container",width:E,height:ne,renderer:re,cursor:oe,background:ue,canvas:fe,devicePixelRatio:ge=(b=globalThis.devicePixelRatio)!==null&&b!==void 0?b:1}=this.options;if(x instanceof Sp)this.context.canvas=x,oe&&x.setCursor(oe),re&&x.setRenderer(re),yield x.ready;else{const ye=(0,Ms.Z)(x)?document.getElementById(x):x,De=Wg(ye);this.emit(mt.BEFORE_CANVAS_INIT,{container:ye,width:E,height:ne});const Te=Object.assign(Object.assign({},fe),{container:ye,width:E||De[0],height:ne||De[1],background:ue,renderer:re,cursor:oe,devicePixelRatio:ge}),Ve=new Sp(Te);this.context.canvas=Ve,yield Ve.ready,this.emit(mt.AFTER_CANVAS_INIT,{canvas:Ve})}})}updateCanvas(b){var x,E;const{renderer:ne,cursor:re,height:oe,width:ue}=b,fe=this.context.canvas;fe&&(ne&&(this.emit(mt.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),fe.setRenderer(ne),this.emit(mt.AFTER_RENDERER_CHANGE,{renderer:ne})),re&&fe.setCursor(re),((0,yt.Z)(ue)||(0,yt.Z)(oe))&&this.setSize((x=ue!=null?ue:this.options.width)!==null&&x!==void 0?x:0,(E=oe!=null?oe:this.options.height)!==null&&E!==void 0?E:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new Gg(this.context)),this.context.plugin||(this.context.plugin=new yg(this.context)),this.context.viewport||(this.context.viewport=new bc(this.context)),this.context.transform||(this.context.transform=new _v(this.context)),this.context.element||(this.context.element=new bm(this.context)),this.context.animation||(this.context.animation=new Jv(this.context)),this.context.layout||(this.context.layout=new Iv(this.context)),this.context.behavior||(this.context.behavior=new Ug(this.context))}prepare(){return _c(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed){console.error(pn("The graph instance has been destroyed"));return}yield this.initCanvas(),this.initRuntime()})}render(){return _c(this,void 0,void 0,function*(){if(yield this.prepare(),wf(this,new Af(mt.BEFORE_RENDER)),this.options.layout)if(!this.rendered&&fr(this.options.layout)){const b=yield this.context.element.preLayoutDraw({type:"render"});yield Promise.all([b==null?void 0:b.finished,this.autoFit()])}else{const b=this.context.element.draw({type:"render"});yield Promise.all([b==null?void 0:b.finished,this.context.layout.postLayout()]),yield this.autoFit()}else{const b=this.context.element.draw({type:"render"});yield Promise.all([b==null?void 0:b.finished,this.autoFit()])}this.rendered=!0,wf(this,new Af(mt.AFTER_RENDER))})}draw(){return _c(this,void 0,void 0,function*(){var b;yield this.prepare(),yield(b=this.context.element.draw())===null||b===void 0?void 0:b.finished})}layout(b){return _c(this,void 0,void 0,function*(){yield this.context.layout.postLayout(b)})}stopLayout(){this.context.layout.stopLayout()}clear(){return _c(this,void 0,void 0,function*(){const{model:b,element:x}=this.context;b.setData({}),b.clearChanges(),x==null||x.clear()})}destroy(){var b;wf(this,new Af(mt.BEFORE_DESTROY));const{layout:x,animation:E,element:ne,model:re,canvas:oe,behavior:ue,plugin:fe}=this.context;fe==null||fe.destroy(),ue==null||ue.destroy(),x==null||x.destroy(),E==null||E.destroy(),ne==null||ne.destroy(),re.destroy(),oe==null||oe.destroy(),this.options={},this.context={},this.off(),(b=globalThis.removeEventListener)===null||b===void 0||b.call(globalThis,"resize",this.onResize),this.destroyed=!0,wf(this,new Af(mt.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(b,x){var E;const ne=Wg((E=this.context.canvas)===null||E===void 0?void 0:E.getContainer()),re=[b||ne[0],x||ne[1]];if(!this.context.canvas)return;const oe=this.context.canvas.getSize();(0,Dt.Z)(re,oe)||(wf(this,new Af(mt.BEFORE_SIZE_CHANGE,{size:re})),this.context.canvas.resize(...re),wf(this,new Af(mt.AFTER_SIZE_CHANGE,{size:re})))}fitView(b,x){return _c(this,void 0,void 0,function*(){var E;yield(E=this.context.viewport)===null||E===void 0?void 0:E.fitView(b,x)})}fitCenter(b){return _c(this,void 0,void 0,function*(){var x;yield(x=this.context.viewport)===null||x===void 0?void 0:x.fitCenter({animation:b})})}autoFit(){return _c(this,void 0,void 0,function*(){const{autoFit:b}=this.context.options;if(b)if((0,Ms.Z)(b))b==="view"?yield this.fitView():b==="center"&&(yield this.fitCenter());else{const{type:x,animation:E}=b;x==="view"?yield this.fitView(b.options,E):x==="center"&&(yield this.fitCenter(E))}})}focusElement(b,x){return _c(this,void 0,void 0,function*(){var E;yield(E=this.context.viewport)===null||E===void 0?void 0:E.focusElements(Array.isArray(b)?b:[b],{animation:x})})}zoomBy(b,x,E){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:b,origin:E},x)})}zoomTo(b,x,E){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",scale:b,origin:E},x)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(b,x,E){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:b,origin:E},x)})}rotateTo(b,x,E){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:b,origin:E},x)})}getRotation(){return this.context.viewport.getRotation()}translateBy(b,x){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:b},x)})}translateTo(b,x){return _c(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:b},x)})}getPosition(){return Gn([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(b,x){return _c(this,arguments,void 0,function*(E,ne,re=!0){var oe,ue;const[fe,ge]=(0,dt.Z)(E)?[E,(oe=ne)!==null&&oe!==void 0?oe:!0]:[{[E]:ne},re];Object.entries(fe).forEach(([ye,De])=>this.context.model.translateNodeLikeBy(ye,De)),yield(ue=this.context.element.draw({animation:ge,stage:"translate"}))===null||ue===void 0?void 0:ue.finished})}translateElementTo(b,x){return _c(this,arguments,void 0,function*(E,ne,re=!0){var oe,ue;const[fe,ge]=(0,dt.Z)(E)?[E,(oe=ne)!==null&&oe!==void 0?oe:!0]:[{[E]:ne},re];Object.entries(fe).forEach(([ye,De])=>this.context.model.translateNodeLikeTo(ye,De)),yield(ue=this.context.element.draw({animation:ge,stage:"translate"}))===null||ue===void 0?void 0:ue.finished})}getElementPosition(b){return this.context.model.getElementPosition(b)}getElementRenderStyle(b){return(0,_t.Z)(this.context.element.getElement(b).attributes,["context"])}setElementVisibility(b,x){return _c(this,arguments,void 0,function*(E,ne,re=!0){var oe,ue;const[fe,ge]=(0,dt.Z)(E)?[E,(oe=ne)!==null&&oe!==void 0?oe:!0]:[{[E]:ne},re],ye={nodes:[],edges:[],combos:[]};Object.entries(fe).forEach(([Ve,rt])=>{const At=this.getElementType(Ve);ye[`${At}s`].push({id:Ve,style:{visibility:rt}})});const{model:De,element:Te}=this.context;De.preventUpdateNodeLikeHierarchy(()=>{De.updateData(ye)}),yield(ue=Te.draw({animation:ge,stage:"visibility"}))===null||ue===void 0?void 0:ue.finished})}showElement(b,x){return _c(this,void 0,void 0,function*(){const E=Array.isArray(b)?b:[b];yield this.setElementVisibility(Object.fromEntries(E.map(ne=>[ne,"visible"])),x)})}hideElement(b,x){return _c(this,void 0,void 0,function*(){const E=Array.isArray(b)?b:[b];yield this.setElementVisibility(Object.fromEntries(E.map(ne=>[ne,"hidden"])),x)})}getElementVisibility(b){var x,E;const ne=this.context.element.getElement(b);return(E=(x=ne==null?void 0:ne.style)===null||x===void 0?void 0:x.visibility)!==null&&E!==void 0?E:"visible"}setElementZIndex(b,x){return _c(this,void 0,void 0,function*(){var E;const ne={nodes:[],edges:[],combos:[]},re=(0,dt.Z)(b)?b:{[b]:x};Object.entries(re).forEach(([fe,ge])=>{const ye=this.getElementType(fe);ne[`${ye}s`].push({id:fe,style:{zIndex:ge}})});const{model:oe,element:ue}=this.context;oe.preventUpdateNodeLikeHierarchy(()=>oe.updateData(ne)),yield(E=ue.draw({animation:!1,stage:"zIndex"}))===null||E===void 0?void 0:E.finished})}frontElement(b){return _c(this,void 0,void 0,function*(){const x=Array.isArray(b)?b:[b],{model:E}=this.context,ne={};x.map(re=>{const oe=E.getFrontZIndex(re);if(E.getElementType(re)==="combo"){const fe=E.getAncestorsData(re,$t).at(-1)||this.getComboData(re),ge=[fe,...E.getDescendantsData(kn(fe))],ye=oe-Pv(fe);ge.forEach(Te=>{ne[kn(Te)]=this.getElementZIndex(kn(Te))+ye});const{internal:De}=jr(ge.map(kn),Te=>E.getRelatedEdgesData(Te));De.forEach(Te=>{const Ve=kn(Te);ne[Ve]=this.getElementZIndex(Ve)+ye})}else ne[re]=oe}),yield this.setElementZIndex(ne)})}getElementZIndex(b){return Pv(this.context.model.getElementDataById(b))}setElementState(b,x){return _c(this,arguments,void 0,function*(E,ne,re=!0){var oe,ue;const[fe,ge]=(0,dt.Z)(E)?[E,(oe=ne)!==null&&oe!==void 0?oe:!0]:[{[E]:ne},re],ye=Te=>Te?Array.isArray(Te)?Te:[Te]:[],De={nodes:[],edges:[],combos:[]};Object.entries(fe).forEach(([Te,Ve])=>{const rt=this.getElementType(Te);De[`${rt}s`].push({id:Te,states:ye(Ve)})}),this.updateData(De),yield(ue=this.context.element.draw({animation:ge,stage:"state"}))===null||ue===void 0?void 0:ue.finished})}getElementState(b){return this.context.model.getElementState(b)}getElementRenderBounds(b){return this.context.element.getElement(b).getRenderBounds()}collapseElement(b){return _c(this,arguments,void 0,function*(x,E=!0){const{model:ne,element:re}=this.context;if(yu(ne.getNodeLikeData([x])[0])||this.isCollapsingExpanding)return;typeof E=="boolean"&&(E={animation:E,align:!1});const oe=ne.getElementType(x);yield this.frontElement(x),this.isCollapsingExpanding=!0,ne.updateData(oe==="node"?{nodes:[{id:x,style:{collapsed:!0}}]}:{combos:[{id:x,style:{collapsed:!0}}]}),oe==="node"?yield re.collapseNode(x,E):oe==="combo"&&(yield re.collapseCombo(x,!!E.animation)),this.isCollapsingExpanding=!1})}expandElement(b){return _c(this,arguments,void 0,function*(x,E=!0){const{model:ne,element:re}=this.context;if(!yu(ne.getNodeLikeData([x])[0])||this.isCollapsingExpanding)return;typeof E=="boolean"&&(E={animation:E,align:!1});const oe=ne.getElementType(x);this.isCollapsingExpanding=!0,ne.updateData(oe==="node"?{nodes:[{id:x,style:{collapsed:!1}}]}:{combos:[{id:x,style:{collapsed:!1}}]}),oe==="node"?yield re.expandNode(x,E):oe==="combo"&&(yield re.expandCombo(x,!!E.animation)),this.isCollapsingExpanding=!1})}setElementCollapsibility(b,x){const E=this.getElementType(b);E==="node"?this.updateNodeData([{id:b,style:{collapsed:x}}]):E==="combo"&&this.updateComboData([{id:b,style:{collapsed:x}}])}toDataURL(){return _c(this,arguments,void 0,function*(b={}){return this.context.canvas.toDataURL(b)})}getCanvasByViewport(b){return this.context.canvas.getCanvasByViewport(b)}getViewportByCanvas(b){return this.context.canvas.getViewportByCanvas(b)}getClientByCanvas(b){return this.context.canvas.getClientByCanvas(b)}getCanvasByClient(b){return this.context.canvas.getCanvasByClient(b)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(b,x,E){return super.on(b,x,E)}once(b,x){return super.once(b,x)}off(b,x){return super.off(b,x)}}np.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var xg=function(te,b){var x={};for(var E in te)Object.prototype.hasOwnProperty.call(te,E)&&b.indexOf(E)<0&&(x[E]=te[E]);if(te!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ne=0,E=Object.getOwnPropertySymbols(te);ne{if(ue.depth=fe,!ue.children)return ue;const{children:ge}=ue,ye=xg(ue,["children"]);return Object.assign(Object.assign({},ye),{children:ge.map(De=>De.id)})},getEdgeData:E=(ue,fe)=>({source:ue.id,target:fe.id}),getChildren:ne=ue=>ue.children||[]}=b||{},re=[],oe=[];return Su(te,(ue,fe)=>{re.push(x(ue,fe));const ge=ne(ue);for(const ye of ge)oe.push(E(ue,ye))},ue=>ne(ue),"TB"),{nodes:re,edges:oe}}class Rd extends ep{beforeDraw(b){const{add:x,update:E}=b,{model:ne}=this.context;return[...x.edges.entries(),...E.edges.entries()].forEach(([,re])=>{$v(ne,re)}),b}}const $v=(te,b)=>{const{source:x,target:E}=b,ne=te.getElementDataById(x),re=te.getElementDataById(E),oe=Ci(ne,De=>te.getParentData(De,$t)),ue=Ci(re,De=>te.getParentData(De,$t)),fe=kn(oe),ge=kn(ue),ye={sourceNode:fe,targetNode:ge};return b.style?Object.assign(b.style,ye):b.style=ye,b},Cf=(te,b,x)=>{const[E,ne]=b,[re,oe]=x;if(ne===E)return re;const ue=(te-E)/(ne-E);return re+ue*(oe-re)},Nm=(te,b,x)=>{const[E,ne]=b,[re,oe]=x,ue=Math.log(te-E+1)/Math.log(ne-E+1);return re+ue*(oe-re)},wm=(te,b,x,E=2)=>{const[ne,re]=b,[oe,ue]=x,fe=Math.pow((te-ne)/(re-ne),E);return oe+fe*(ue-oe)},Cm=(te,b,x)=>{const[E,ne]=b,[re,oe]=x,ue=Math.sqrt((te-E)/(ne-E));return re+ue*(oe-re)};class Ip extends ep{constructor(b,x){super(b,(0,Wn.Z)({},Ip.defaultOptions,x)),this.assignSizeByCentrality=(E,ne,re,oe,ue,fe)=>{const ge=[ne,re],ye=[oe[0],ue[0]],De=[oe[1],ue[1]],Te=[oe[2],ue[2]],Ve=(rt,At)=>{if(typeof fe=="function")return fe(rt,ge,At);switch(fe){case"linear":return Cf(rt,ge,At);case"log":return Nm(rt,ge,At);case"pow":return wm(rt,ge,At,2);case"sqrt":return Cm(rt,ge,At);default:return At[0]}};return[Ve(E,ye),Ve(E,De),Ve(E,Te)]}}beforeDraw(b){const{model:x}=this.context,E=x.getNodeData(),ne=ku(this.options.maxSize),re=ku(this.options.minSize),oe=this.getCentralities(this.options.centrality),ue=oe.size>0?Math.max(...oe.values()):0,fe=oe.size>0?Math.min(...oe.values()):0;return E.forEach(ge=>{var ye;const De=this.assignSizeByCentrality(oe.get(kn(ge))||0,fe,ue,re,ne,this.options.scale),Te=(ye=this.context.element)===null||ye===void 0?void 0:ye.getElement(kn(ge)),Ve={size:De};this.assignLabelStyle(Ve,De,ge,Te),(!Te||!Zg(Ve,Te.attributes))&&Rh(b,Te?"update":"add","node",(0,Wn.Z)(ge,{style:Ve}),!0)}),b}assignLabelStyle(b,x,E,ne){var re;const oe=ne?ne.config.style:(re=this.context.element)===null||re===void 0?void 0:re.getElementComputedStyle("node",E);if(Object.assign(b,(0,Tu.Z)(oe,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const ue=this.getLabelSizeByNodeSize(x,1/0,Number(b.labelFontSize));Object.assign(b,{labelFontSize:ue,labelLineHeight:ue+Zt(b.labelPadding)})}return b}getLabelSizeByNodeSize(b,x,E){const ne=Math.min(...b)/2,[re,oe]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[E,x];return Math.min(oe,Math.max(ne,re))}getCentralities(b){const{model:x}=this.context,E=x.getData();if(typeof b=="function")return b(E);const ne=x.getRelatedEdgesData.bind(x);return $o(E,ne,b)}}Ip.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Jg extends ep{constructor(b,x){super(b,Object.assign({},Jg.defaultOptions,x))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var b;const x=Di(this.ref),{graph:E,model:ne}=this.context;(b=ne.getData().nodes)===null||b===void 0||b.forEach(oe=>{var ue;if(kn(oe)===kn(this.ref))return;const fe=Zr(Gn(Di(oe),x)),ge=Math.abs(fe)>Math.PI/2,ye=!oe.children||oe.children.length===0,De=kn(oe),Te=(ue=this.context.element)===null||ue===void 0?void 0:ue.getElement(De);if(!Te||!Te.isVisible())return;const Ve=ku(E.getElementRenderStyle(De).size)[0]/2,rt=(ye?1:-1)*(Ve+this.options.offset),At=[["translate",rt*Math.cos(fe),rt*Math.sin(fe)],["rotate",ge?(0,je.BV)(fe)+180:(0,je.BV)(fe)]];ne.updateNodeData([{id:kn(oe),style:{labelTextAlign:ge===ye?"right":"left",labelTextBaseline:"middle",labelTransform:At}}])}),E.draw()}}Jg.defaultOptions={offset:5};const Fm="quadratic",Bm=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class _p extends ep{constructor(b,x){super(b,Object.assign({},_p.defaultOptions,x)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=E=>{const{add:{edges:ne},update:{nodes:re,edges:oe,combos:ue},remove:{edges:fe}}=E,{model:ge}=this.context,ye=new Map,De=(rt,At)=>{ge.getRelatedEdgesData(At).forEach(Ut=>!ye.has(kn(Ut))&&ye.set(kn(Ut),Ut))};re.forEach(De),ue.forEach(De);const Te=rt=>{const At=new Set(E.remove.edges.keys()),Mt=ge.getEdgeData().filter(Ut=>!At.has(kn(Ut))).map(Ut=>$v(ge,Ut));Dm(rt,Mt,!0).forEach(Ut=>{const en=kn(Ut);ye.has(en)||ye.set(en,Ut)})};if(fe.size&&fe.forEach(Te),ne.size&&ne.forEach(Te),oe.size){const rt=Ks(il(ge.getChanges())).update.edges;oe.forEach(At=>{var Mt;Te(At);const Ut=(Mt=rt.find(en=>kn(en.value)===kn(At)))===null||Mt===void 0?void 0:Mt.original;Ut&&!Eg(At,Ut)&&Te(Ut)})}(0,Oi.Z)(this.options.edges)||ye.forEach((rt,At)=>!this.options.edges.includes(At)&&ye.delete(At));const Ve=ge.getEdgeData().map(kn);return new Map([...ye].sort((rt,At)=>Ve.indexOf(rt[0])-Ve.indexOf(At[0])))},this.applyBundlingStyle=(E,ne,re)=>{const{edgeMap:oe,reverses:ue}=Op(ne);oe.forEach(fe=>{fe.forEach((ge,ye,De)=>{var Te;const Ve=De.length,rt=ge.style||{};if(ge.source===ge.target){const Ut=Bm.length;rt.loopPlacement=Bm[ye%Ut],rt.loopDist=Math.floor(ye/Ut)*re+50}else if(Ve===1)rt.curveOffset=0;else{const Ut=(ye%2===0?1:-1)*(ue[`${ge.source}|${ge.target}|${ye}`]?-1:1);rt.curveOffset=Ve%2===1?Ut*Math.ceil(ye/2)*re*2:Ut*(Math.floor(ye/2)*re*2+re)}const At=Object.assign(ge,{type:Fm,style:rt}),Mt=(Te=this.context.element)===null||Te===void 0?void 0:Te.getElement(kn(ge));(!Mt||!Zg(At.style,Mt.attributes))&&Rh(E,Mt?"update":"add","edge",At,!0)})})},this.resetEdgeStyle=E=>{const ne=E.style||{},re=this.cacheMergeStyle.get(kn(E))||{};return Object.keys(re).forEach(oe=>{(0,Dt.Z)(ne[oe],re[oe])&&(E[oe]?ne[oe]=E[oe]:delete ne[oe])}),Object.assign(E,{style:ne})},this.applyMergingStyle=(E,ne)=>{const{edgeMap:re,reverses:oe}=Op(ne);re.forEach(ue=>{var fe;if(ue.length===1){const ye=ue[0],De=(fe=this.context.element)===null||fe===void 0?void 0:fe.getElement(kn(ye)),Te=this.resetEdgeStyle(ye);(!De||!Zg(Te,De.attributes))&&Rh(E,De?"update":"add","edge",Te);return}const ge=ue.map(({source:ye,target:De,style:Te={}},Ve)=>{const{startArrow:rt,endArrow:At}=Te,Mt={},[Ut,en]=oe[`${ye}|${De}|${Ve}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return(0,Eo.Z)(rt)&&(Mt[Ut]=rt),(0,Eo.Z)(At)&&(Mt[en]=At),Mt}).reduce((ye,De)=>Object.assign(Object.assign({},ye),De),{});ue.forEach((ye,De,Te)=>{var Ve;if(De!==0){Rh(E,"remove","edge",ye);return}const rt=Object.assign({},(0,On.Z)(this.options.style)?this.options.style(Te):this.options.style,{childrenData:Te});this.cacheMergeStyle.set(kn(ye),rt);const At=Object.assign(Object.assign({},ye),{type:"line",style:Object.assign(Object.assign(Object.assign({},ye.style),ge),rt)}),Mt=(Ve=this.context.element)===null||Ve===void 0?void 0:Ve.getElement(kn(ye));(!Mt||!Zg(At.style,Mt.attributes))&&Rh(E,Mt?"update":"add","edge",At,!0)})})}}beforeDraw(b){const x=this.getAffectedParallelEdges(b);return x.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(b,x,this.options.distance):this.applyMergingStyle(b,x)),b}}_p.defaultOptions={mode:"bundle",distance:15};const Op=te=>{const b=new Map,x=new Set,E={},ne=new Map;for(const[re,oe]of te){if(x.has(re))continue;const{source:ue,target:fe}=oe,ge=`${ue}-${fe}`;b.has(ge)||(b.set(ge,[]),ne.set(ge,new Set));const ye=b.get(ge),De=ne.get(ge);ye&&De&&!De.has(re)&&(ye.push(oe),De.add(re),x.add(re));for(const[Te,Ve]of te)if(!(x.has(Te)||Te===re)&&Eg(oe,Ve)){const rt=b.get(ge),At=ne.get(ge);rt&&At&&!At.has(Te)&&(rt.push(Ve),At.add(Te),ue===Ve.target&&fe===Ve.source&&(E[`${Ve.source}|${Ve.target}|${rt.length-1}`]=!0),x.add(Te))}}return{edgeMap:b,reverses:E}},Dm=(te,b,x)=>b.filter(E=>(x||kn(E)!==kn(te))&&Eg(E,te)),Eg=(te,b)=>{const{sourceNode:x,targetNode:E}=te.style||{},{sourceNode:ne,targetNode:re}=b.style||{};return x===ne&&E===re||x===re&&E===ne};class Pm extends ep{beforeDraw(b,x){const{stage:E}=x;if(E==="visibility")return b;const{model:ne}=this.context,{update:{nodes:re,edges:oe,combos:ue}}=b,fe=(ge,ye)=>{ne.getRelatedEdgesData(ye).forEach(Te=>!oe.has(kn(Te))&&oe.set(kn(Te),Te))};return re.forEach(fe),ue.forEach(fe),b}}const Nv={animation:{"combo-collapse":Qn,"combo-expand":Jn,"node-collapse":an,"node-expand":Xr,"path-in":Or,"path-out":zn,fade:li,translate:In},behavior:{"brush-select":$a,"click-select":vc,"collapse-expand":Ke,"create-edge":Dn,"drag-canvas":Kr,"drag-element-force":ma,"drag-element":ja,"fix-element-size":go,"focus-element":As,"hover-activate":Ws,"lasso-select":Vu,"auto-adapt-label":Zi,"optimize-viewport-transform":du,"scroll-canvas":sc,"zoom-canvas":Nc},combo:{circle:Au,rect:nu},edge:{cubic:Fl,line:Ll,polyline:Bn,quadratic:dr,"cubic-horizontal":iu,"cubic-radial":Ou,"cubic-vertical":bu},layout:{"antv-dagre":C0,"combo-combined":pp,"compact-box":rd,"d3-force":sg,"force-atlas2":W0,circular:zf,concentric:_h,dagre:zp,dendrogram:Yd,fishbone:xp,force:R0,fruchterman:Sg,grid:pv,indented:bd,mds:Dg,mindmap:Pd,radial:gv,random:mv,snake:Fe},node:{circle:Ro,diamond:Ml,ellipse:tu,hexagon:Pl,html:Po,image:Zl,rect:uu,star:Ys,donut:Co,triangle:hl},palette:{spectral:jt,tableau:Pn,oranges:Tr,greens:Fr,blues:mn},theme:{dark:lm,light:cm},plugin:{"bubble-sets":Ei,"edge-bundling":di,"edge-filter-lens":ko,"grid-line":Ss,background:aa,contextmenu:xo,fisheye:oa,fullscreen:Ea,history:Hu,hull:Kp,legend:Th,minimap:I0,snapline:Dp,timebar:Pp,title:Hg,toolbar:$0,tooltip:Rg,watermark:jf},transform:{"arrange-draw-order":dm,"collapse-expand-combo":Bv,"collapse-expand-node":fm,"get-edge-actual-ends":Rd,"map-node-size":Ip,"place-radial-labels":Jg,"process-parallel-edges":_p,"update-related-edges":Pm},shape:{circle:je.Cd,ellipse:je.Pj,group:je.ZA,html:je.k9,image:Is,line:je.x1,path:je.y$,polygon:je.mg,polyline:je.aH,rect:je.UL,text:je.xv,label:Vi,badge:No}};function Fv(){Object.entries(Nv).forEach(([te,b])=>{Object.entries(b).forEach(([x,E])=>{hm(te,x,E)})})}Fv();const em={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"}},22054:function(){"use strict"},68305:function(){"use strict"},2375:function(Hn,xr){"use strict";xr.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},42847:function(Hn,xr){"use strict";xr.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"}},97630:function(Hn,xr){"use strict";xr.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",work_checkbox_group:"work_checkbox_group___sGLxY"}},72518:function(Hn,xr){"use strict";xr.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"}},83672:function(Hn,xr){"use strict";xr.Z={ChangeBut:"ChangeBut___VMCUO",DefaultDiv:"DefaultDiv___diOnG",DefaultDivItemActive:"DefaultDivItemActive___p8PnJ",DefaultDivItem:"DefaultDivItem___BkCuW",TableStyle:"TableStyle___DOsaq",ProgressStyle:"ProgressStyle___Mbw5z",ProgressStyle2:"ProgressStyle2___w9DG9",RankingDiv:"RankingDiv___RCXlB",NavBgTwo:"NavBgTwo___KU7t1",NavBgTwoActive:"NavBgTwoActive___hkC0h",NavBgItem:"NavBgItem___TBfQf",InputStyle:"InputStyle___BAYzG",TableMyHeader:"TableMyHeader___nZel6",TableMyDiv:"TableMyDiv___F4fkZ",CollapseStyle:"CollapseStyle___VkVMr",Item:"Item___pqPqX",SituationItem:"SituationItem___MzguO",waveDom:"waveDom___N1Yew",wave:"wave___UTqsO",select:"select___Yd9qe",selectWrap:"selectWrap___ddND4",masteryList:"masteryList___jQNpd",row:"row___h3q8Q",masteryHead:"masteryHead___B6Wcy",masteryBody:"masteryBody___DZSiT",dot:"dot___ZZ043"}},55301:function(Hn,xr,he){"use strict";var se=he(59301),je=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,dt=(_e,It,vt)=>It in _e?je(_e,It,{enumerable:!0,configurable:!0,writable:!0,value:vt}):_e[It]=vt,Le=(_e,It)=>{for(var vt in It||(It={}))Rt.call(It,vt)&&dt(_e,vt,It[vt]);if(Bt)for(var vt of Bt(It))Dt.call(It,vt)&&dt(_e,vt,It[vt]);return _e};const Xe=_e=>React.createElement("svg",Le({className:"cjz_svg__icon",viewBox:"0 0 3194 1024",xmlns:"http://www.w3.org/2000/svg",width:623.828,height:200},_e),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"}));xr.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDMxOTQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNjIzLjgyOCIgaGVpZ2h0PSIyMDAiPjxwYXRoIGQ9Ik01MTIgMGgyMTcwLjg4YzI4Mi42MjQgMCA1MTIgMjI5LjM3NiA1MTIgNTEycy0yMjkuMzc2IDUxMi01MTIgNTEySDUxMkMyMjkuMzc2IDEwMjQgMCA3OTQuNjI0IDAgNTEyUzIyOS4zNzYgMCA1MTIgMHoiIGZpbGw9IiNFQkVFRkQiLz48cGF0aCBkPSJNMTYzOC40IDc0MS4zNzZjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQ1LjA1NlYyOTQuOTEyaC0zNi44NjR2MzkzLjIxNmMwIDE2LjM4NC04LjE5MiAyMC40OC0yMC40OCAyMC40OC0yNC41NzYgMC00NS4wNTYgMC03My43MjgtNC4wOTZsOC4xOTIgMzIuNzY4aDgxLjkyem0tMzcyLjczNi0yNTguMDQ4YzQ5LjE1Mi00NS4wNTYgOTAuMTEyLTk0LjIwOCAxMjYuOTc2LTE0Ny40NTYgMzIuNzY4IDMyLjc2OCA2OS42MzIgNzcuODI0IDExMC41OTIgMTM1LjE2OGwyNC41NzYtMjQuNTc2Yy00MC45Ni00OS4xNTItODEuOTItOTguMzA0LTEyMi44OC0xNDMuMzZoLTI0LjU3NmMtNDAuOTYgNTcuMzQ0LTgxLjkyIDExMC41OTItMTMxLjA3MiAxNTUuNjQ4bDE2LjM4NCAyNC41NzZ6bTMyMy41ODQgMTU5Ljc0NFYzMzkuOTY4aC0zMi43Njh2MzA3LjJoMzIuNzY4em0tMTMxLjA3MiA5NC4yMDhjMjQuNTc2IDAgMzYuODY0LTQuMDk2IDQ1LjA1Ni0xMi4yODhzMTYuMzg0LTM2Ljg2NCAyMC40OC03Ny44MjRsLTMyLjc2OC0xMi4yODhjMCAyOC42NzItNC4wOTYgNDUuMDU2LTguMTkyIDUzLjI0OHMtMTYuMzg0IDEyLjI4OC0zMi43NjggMTIuMjg4aC05OC4zMDRjLTEyLjI4OCAwLTIwLjQ4LTQuMDk2LTIwLjQ4LTE2LjM4NHYtMjA0LjhoMTA2LjQ5NnY5NC4yMDhjMCAxMi4yODgtOC4xOTIgMjAuNDgtMjAuNDggMjAuNDgtMTYuMzg0IDAtMzIuNzY4IDAtNDkuMTUyLTQuMDk2bDguMTkyIDMyLjc2OGg1My4yNDhjMjguNjcyIDAgNDAuOTYtMTYuMzg0IDQwLjk2LTQwLjk2VjQ1MC41NmgtMTc2LjEyOHYyNDUuNzZjMCAyNC41NzYgMTIuMjg4IDM2Ljg2NCA0MC45NiAzNi44NjRoMTIyLjg4em01ODUuNzI4LTUzLjI0OFY2MzQuODhoMTMxLjA3MnYtMjguNjcyaC0xMzEuMDcydi00MC45NmgxMTQuNjg4di0yOC42NzJoLTExNC42ODh2LTQwLjk2SDIxNTAuNHYtNjkuNjMyaDMyLjc2OHYtMjguNjcySDIxNTAuNFYzMjcuNjhoLTEwNi40OTZ2LTMyLjc2OGgtMzIuNzY4djMyLjc2OGgtODYuMDE2djI4LjY3Mmg4Ni4wMTZ2MzYuODY0aC0xMTAuNTkydjI4LjY3MmgxMTAuNTkydjQwLjk2aC04Ni4wMTZ2MjguNjcyaDg2LjAxNnY0MC45NmgtOTguMzA0djI4LjY3Mmg5OC4zMDR2NDAuOTZoLTExMC41OTJ2MjguNjcyaDExMC41OTJ2NDkuMTUyaDMyLjc2OHptLTI3MC4zMzYgNTcuMzQ0YzI0LjU3Ni0xNi4zODQgNDAuOTYtMzYuODY0IDU3LjM0NC02MS40NCA0LjA5NiA0LjA5NiAxMi4yODggOC4xOTIgMTYuMzg0IDEyLjI4OCAzNi44NjQgMjQuNTc2IDEwMi40IDM2Ljg2NCAxODguNDE2IDM2Ljg2NGgxNDcuNDU2bDQuMDk2LTMyLjc2OGMtNTcuMzQ0IDAtMTEwLjU5MiA0LjA5Ni0xNjcuOTM2IDQuMDk2LTY1LjUzNiAwLTExOC43ODQtMTIuMjg4LTE1MS41NTItMjguNjcyLTguMTkyLTQuMDk2LTE2LjM4NC0xMi4yODgtMjQuNTc2LTIwLjQ4IDI0LjU3Ni00NS4wNTYgMzYuODY0LTk4LjMwNCAzNi44NjQtMTYzLjg0di0yMC40OGgtNzcuODI0YzI0LjU3Ni0zMi43NjggNDkuMTUyLTczLjcyOCA3My43MjgtMTE4Ljc4NHYtMjguNjcySDE3NjEuMjh2MzIuNzY4aDgxLjkyYy0yNC41NzYgNDAuOTYtNDkuMTUyIDgxLjkyLTc3LjgyNCAxMTguNzg0djI4LjY3Mmg5MC4xMTJjLTQuMDk2IDQ1LjA1Ni0xMi4yODggODYuMDE2LTI4LjY3MiAxMjIuODgtMTIuMjg4LTIwLjQ4LTI0LjU3Ni00OS4xNTItMzIuNzY4LTg2LjAxNmwtMzIuNzY4IDEyLjI4OGMxMi4yODggNDAuOTYgMjguNjcyIDc3LjgyNCA0NS4wNTYgMTA2LjQ5Ni0xNi4zODQgMjQuNTc2LTM2Ljg2NCA0MC45Ni01Ny4zNDQgNTcuMzQ0bDI0LjU3NiAyOC42NzJ6bTMzOS45NjgtMzQ0LjA2NGgtNjkuNjMydi0zNi44NjRoNjkuNjMydjM2Ljg2NHptMCA2OS42MzJoLTY5LjYzMnYtNDAuOTZoNjkuNjMydjQwLjk2em0yNTMuOTUyIDI3OC41Mjh2LTIwLjQ4aDIxMi45OTJ2MjAuNDhoMzYuODY0VjUyNC4yODhoLTE4NC4zMmMyOC42NzItMTIuMjg4IDUzLjI0OC0yNC41NzYgNzcuODI0LTQwLjk2bDIwLjQ4LTEyLjI4OGgxNTEuNTUydi0zMi43NjhoLTEwNi40OTZjMzIuNzY4LTI0LjU3NiA2NS41MzYtNTcuMzQ0IDk0LjIwOC05MC4xMTJsLTMyLjc2OC0yMC40OGMtMzYuODY0IDQwLjk2LTczLjcyOCA3Ny44MjQtMTIyLjg4IDExMC41OTJoLTYxLjQ0di02MS40NGgxMTQuNjg4di0zMi43NjhoLTExNC42ODh2LTQ5LjE1MmgtMzYuODY0djUzLjI0OGgtMTM1LjE2OHYzMi43NjhoMTM1LjE2OHY1Ny4zNDRoLTE4MC4yMjR2MzIuNzY4aDIyNS4yOGMtNjkuNjMyIDQwLjk2LTE0Ny40NTYgNjkuNjMyLTIyOS4zNzYgOTAuMTEybDE2LjM4NCAzMi43NjhjMjguNjcyLTguMTkyIDU3LjM0NC0yMC40OCA4MS45Mi0yOC42NzJ2MTgwLjIyNGgzNi44NjR6bTIxMi45OTItMTM5LjI2NGgtMjEyLjk5MnYtNDkuMTUyaDIxMi45OTJ2NDkuMTUyem0wIDg2LjAxNmgtMjEyLjk5MnYtNTMuMjQ4aDIxMi45OTJ2NTMuMjQ4eiIgZmlsbD0iIzE2NURGRiIvPjxwYXRoIGQ9Ik01NzMuNDQgMjA0LjhoMzI3LjY4YzkwLjExMiAwIDE2My44NCA3My43MjggMTYzLjg0IDE2My44NHYzMjcuNjhjMCA5MC4xMTItNzMuNzI4IDE2My44NC0xNjMuODQgMTYzLjg0SDU3My40NGMtOTAuMTEyIDAtMTYzLjg0LTczLjcyOC0xNjMuODQtMTYzLjg0VjM2OC42NGMwLTkwLjExMiA3My43MjgtMTYzLjg0IDE2My44NC0xNjMuODR6IiBmaWxsPSIjQzJEMEZGIi8+PHBhdGggZD0iTTg2OC4zNTIgNTgxLjYzMmM0LjA5NiAyNC41NzYgMTIuMjg4IDQ5LjE1MiAxNi4zODQgNjkuNjMyIDAgOC4xOTIgNC4wOTYgMTYuMzg0IDQuMDk2IDI0LjU3NnM0LjA5NiAxNi4zODQgNC4wOTYgMjQuNTc2IDQuMDk2IDEyLjI4OCA0LjA5NiAxNi4zODR2OC4xOTJjMCA4LjE5MiAwIDEyLjI4OC00LjA5NiAxMi4yODgtNC4wOTYgNC4wOTYtOC4xOTIgNC4wOTYtMTIuMjg4IDQuMDk2aC04LjE5MmMtNC4wOTYgMC00LjA5NiAwLTguMTkyLTQuMDk2TDczNy4yOCA2NjcuNjQ4Yy0yNC41NzYgMTIuMjg4LTQ1LjA1NiAyNC41NzYtNjEuNDQgMzYuODY0TDY1MS4yNjQgNzE2LjhjLTguMTkyIDQuMDk2LTE2LjM4NCA4LjE5Mi0yMC40OCAxMi4yODgtOC4xOTIgNC4wOTYtMTYuMzg0IDguMTkyLTIwLjQ4IDEyLjI4OHMtOC4xOTIgNC4wOTYtOC4xOTIgNC4wOTZjLTQuMDk2IDAtOC4xOTIgNC4wOTYtOC4xOTIgMC00LjA5NiAwLTguMTkyIDAtOC4xOTItNC4wOTYtNC4wOTYgMC00LjA5Ni00LjA5Ni00LjA5Ni04LjE5MnYtOC4xOTJzMC00LjA5NiA0LjA5Ni04LjE5MmMwLTQuMDk2IDQuMDk2LTEyLjI4OCA0LjA5Ni0xNi4zODQgMC04LjE5MiA0LjA5Ni0xNi4zODQgNC4wOTYtMjQuNTc2czQuMDk2LTE2LjM4NCA4LjE5Mi0yNC41NzZjNC4wOTYtMjAuNDggMTIuMjg4LTQ1LjA1NiAxNi4zODQtNjkuNjMyLTI0LjU3Ni0xNi4zODQtNDUuMDU2LTI4LjY3Mi01Ny4zNDQtNDUuMDU2LTguMTkyLTQuMDk2LTE2LjM4NC04LjE5Mi0yMC40OC0xNi4zODRzLTEyLjI4OC04LjE5Mi0xNi4zODQtMTIuMjg4UzUxMiA0OTkuNzEyIDUxMiA0OTUuNjE2Yy00LjA5Ni00LjA5Ni04LjE5Mi00LjA5Ni04LjE5Mi00LjA5Ni00LjA5Ni00LjA5Ni00LjA5Ni04LjE5Mi04LjE5Mi0xMi4yODhzLTQuMDk2LTguMTkyLTQuMDk2LTEyLjI4OCA0LjA5Ni04LjE5MiA0LjA5Ni0xMi4yODhjNC4wOTYgMCA4LjE5Mi00LjA5NiAxMi4yODgtNC4wOTZsMTUxLjU1Mi0xMi4yODhMNzE2LjggMzA3LjJjMC00LjA5NiA0LjA5Ni04LjE5MiA4LjE5Mi0xMi4yODggMC04LjE5MiA4LjE5Mi04LjE5MiAxMi4yODgtOC4xOTJzNC4wOTYgMCA4LjE5MiA0LjA5NmM0LjA5NiAwIDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2bDQuMDk2IDQuMDk2czAgNC4wOTYgNC4wOTYgNC4wOTZsNTMuMjQ4IDEzMS4wNzIgMTU1LjY0OCAxNi4zODRjOC4xOTIgMCAxMi4yODggNC4wOTYgMTIuMjg4IDQuMDk2IDQuMDk2IDQuMDk2IDQuMDk2IDguMTkyIDQuMDk2IDEyLjI4OHMwIDguMTkyLTQuMDk2IDEyLjI4OGwtMTIuMjg4IDEyLjI4OC05OC4zMDQgOTAuMTEyeiIgZmlsbD0iIzJFNUJFQyIvPjwvc3ZnPg=="},62041:function(Hn,xr,he){"use strict";var se=he(59301),je=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,dt=(_e,It,vt)=>It in _e?je(_e,It,{enumerable:!0,configurable:!0,writable:!0,value:vt}):_e[It]=vt,Le=(_e,It)=>{for(var vt in It||(It={}))Rt.call(It,vt)&&dt(_e,vt,It[vt]);if(Bt)for(var vt of Bt(It))Dt.call(It,vt)&&dt(_e,vt,It[vt]);return _e};const Xe=_e=>React.createElement("svg",Le({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},_e),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143z",fill:"#98BDF7"}),React.createElement("path",{d:"m248.686 803.182-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#145DFF"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#98BDF7"}));xr.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},57712:function(Hn,xr,he){"use strict";var se=he(59301),je=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,dt=(_e,It,vt)=>It in _e?je(_e,It,{enumerable:!0,configurable:!0,writable:!0,value:vt}):_e[It]=vt,Le=(_e,It)=>{for(var vt in It||(It={}))Rt.call(It,vt)&&dt(_e,vt,It[vt]);if(Bt)for(var vt of Bt(It))Dt.call(It,vt)&&dt(_e,vt,It[vt]);return _e};const Xe=_e=>React.createElement("svg",Le({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},_e),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143zM248.686 803.182l-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#98BDF7"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#145DFF"}));xr.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},75354: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 Hn={},xr="5.0",he={},se=null,je=!1,Bt=!1,Rt=null,Dt=!1,dt=null,Le=null,Xe=0;Xe4?parseFloat(In):5};Hn.setHTML5Codebase=function(In,an){Le=In,Rn(In,an)},Hn.setJavaCodebase=Hn.setJavaCodebaseVersion=Hn.isCompiledInstalled=Hn.setPreCompiledScriptPath=Hn.setPreCompiledResourcePath=function(){},Hn.setHTML5CodebaseVersion=function(In,an){var Xr=parseFloat(In);if(Xr!==NaN&&Xr<5){console.log("The GeoGebra HTML5 codebase version "+Xr+" is deprecated. Using version latest instead.");return}dt=In,tt(In,an)},Hn.getHTML5CodebaseVersion=function(){return Ye},Hn.getParameters=function(){return he},Hn.setFontsCSSURL=function(In){$t=In},Hn.setGiacJSURL=function(In){},Hn.setJNLPFile=function(In){It=In},Hn.setJNLPBaseDir=function(In){},Hn.inject=function(){function In(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var an="auto",Xr=he.id,Or,zn=!1,Qn=0;Qn=5)return!0;var In=Hn.getAppletObject();return In&&typeof In.recalculateEnvironments=="function"?(In.recalculateEnvironments(),!0):!1},Hn.startAnimation=function(){var In=Hn.getAppletObject();return In&&typeof In.startAnimation=="function"?(In.startAnimation(),!0):!1},Hn.stopAnimation=function(){var In=Hn.getAppletObject();return In&&typeof In.stopAnimation=="function"?(In.stopAnimation(),!0):!1},Hn.getAppletObject=function(){var In=he.id!==void 0?he.id:"ggbApplet";return window[In]},Hn.resize=function(){};var pn=function(In,an,Xr){var Or=document.createElement("param");Or.setAttribute("name",an),Or.setAttribute("value",Xr),In.appendChild(Or)},et=function(In){return In&&In!=="false"},tn=function(In,an,Xr){Gt(Ye)<=4.2&&(Xr=!0);var Or=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==Ye||ggbHTML5LoadedCodebaseIsWebSimple&&!pt)&&(Or=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var zn=document.createElement("div");zn.classList.add("appletParameters","notranslate");var Qn=an.width,Jn=an.height;if(an.disableAutoScale=an.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():an.disableAutoScale,an.width!==void 0)if(Gt(Ye)<=4.4)et(an.showToolBar)&&(an.height-=7),et(an.showAlgebraInput)&&(an.height-=37),an.width<605&&et(an.showToolBar)&&(an.width=605,Qn=605);else{var qn=100;(et(an.showToolBar)||et(an.showMenuBar))&&(an.hasOwnProperty("customToolBar")&&(an.customToolbar=an.customToolBar),qn=et(an.showMenuBar)?245:155),Qn=5?(an.appletOnLoad=function(dn){var kr=In.querySelector(".ggb_preview");kr&&kr.parentNode.removeChild(kr),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(Ie),window.GGBT_wsf_view&&$(window).trigger("resize"),qe(dn)},Ce||Ie.appendChild(He)):zn.appendChild(He),Ie.appendChild(zn),Ce||In.appendChild(Ie),setTimeout(function(){Hn.resize()},1)}else{var it=document.createElement("div");it.className="applet_scaler",it.style.position="relative",it.style.display="block",it.appendChild(zn),In.appendChild(it),an.appletOnLoad=function(dn){Hn.resize(),qe(dn)}}function we(dn,kr){kr&&typeof kr.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(dn,kr.appletOnLoad):renderGGBElement(dn),fi("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",kr)}function Xt(dn,kr){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:dn,params:kr}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(vi){we(vi.article,vi.params)}),html5AppletsToProcess=null)},Gt(Ye)<5&&(dn.className+=" geogebraweb")):we(dn,kr)}if(Or){scriptLoadStarted=!0;for(var wn=0;wn0?(On.remove(),Ie.attr("id","fullscreencontent").show(),jQuery(qe).append(Ie),window.dispatchEvent(new Event("resize"))):tn(On,an,!1),window.GGBT_wsf_view.launchFullScreen(qe)}else Ot=Or,tn(In,an,!1);if(!window.GGBT_wsf_view)for(Jn=0;JnIn/4*3&&(On=In/4*3),qe=On/5.8,qn.setAttribute("src",Jt),qn.setAttribute("width",On),qn.setAttribute("height",qe);var Ie=(In-On)/2,Ce=(an-qe)/2;qn.style.left=Ie+"px",qn.style.top=Ce+"px",zn.appendChild(qn)}}return zn.appendChild(Jn),zn},oi=function(In){return In=In.toLowerCase(),In==="html5"||In==="screenshot"?In:"html5"},yt=["web","webSimple","web3d","tablet","tablet3d","phone"],tt=function(In,an){if(Ye=In,an){Rn(Ye,!0);return}var Xr=!je;if(Xr){var Or=Gt(Ye);!isNaN(Or)&&Or<4.4&&(Xr=!1)}var zn,Qn;window.location.protocol.substr(0,4)==="http"?zn=window.location.protocol:zn="http:";var Jn=Ye.indexOf("//");Jn>0?Qn=Ye:Jn===0?Qn=zn+Ye:Qn="https://www.geogebra.org/apps/5.2.814.0/";for(var qn in yt)if(Ye.slice(yt[qn].length*-1)===yt[qn]||Ye.slice((yt[qn].length+1)*-1)===yt[qn]+"/"){Rn(Qn,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Xr&&!se.is3D&&!se.AV&&!se.SV&&!se.CV&&!se.EV2&&!se.CP&&!se.PC&&!se.DA&&!se.FI&&!se.PV&&!et(he.showToolBar)&&!et(he.showMenuBar)&&!et(he.showAlgebraInput)&&!et(he.enableRightClick)&&(!he.appName||he.appName=="classic")?Qn+="webSimple/":Qn+="web3d/",Rn(Qn,!1)},Rn=function(In,an){if(In.requirejs){vt=In;return}In.slice(-1)!=="/"&&(In+="/"),vt=In,an===null&&(an=In.indexOf("http")===-1),wt=an,We="web.nocache.js",pt=!1;var Xr=vt.split("/");Xr.length>1&&(!an&&Xr[Xr.length-2]==="webSimple"?(We="webSimple.nocache.js",pt=!0):yt.indexOf(Xr[Xr.length-2])>=0&&(We=Xr[Xr.length-2]+".nocache.js")),Xr=In.split("/"),Ye=Xr[Xr.length-3],Ye.substr(0,4)==="test"?Ye=Ye.substr(4,1)+"."+Ye.substr(5,1):(Ye.substr(0,3)==="war"||Ye.substr(0,4)==="beta")&&(Ye="5.0");var Or=parseFloat(Ye);Or!==NaN&&Or<5&&In.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+Or+" is deprecated. Using version latest instead."),tt("5.0",an))},fi=function(In,an){window.console&&window.console.log&&(!an||typeof an.showLogging=="undefined"||an.showLogging&&an.showLogging!=="false")&&console.log(In)};he.material_id!==void 0?_n(li):li();function li(){var In=xr;dt!==null?In=dt:parseFloat(In)<5&&(In="5.0"),tt(In,!1),Le!==null&&Rn(Le,wt),Dt=!0}return Hn},GGBAppletUtils=function(){"use strict";function Hn(){return window.GGBT_wsf_edit!==void 0}function xr(Dt,dt){dt!=1?(Dt.style.transformOrigin="0% 0% 0px",Dt.style.webkitTransformOrigin="0% 0% 0px",Dt.style.transform="scale("+dt+","+dt+")",Dt.style.webkitTransform="scale("+dt+","+dt+")",Dt.style.maxWidth="initial",Dt.querySelector(".ggb_preview")!==null&&(Dt.querySelector(".ggb_preview").style.maxWidth="initial"),Dt.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Dt.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Dt.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Dt.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Dt.style.transform="none",Dt.style.webkitTransform="none")}function he(Dt,dt,Le,Xe,_e,It){var vt=null;if(It!=null&&It!="")for(var wt=Dt.parentNode;wt!=null;)if((" "+wt.className+" ").indexOf(" "+It+" ")>-1){vt=wt;break}else wt=wt.parentNode;var Ot=0,Ye=0,We=0,pt=0,mt=0,Jt=0,Qt=0;if(vt)Ot=vt.offsetWidth,Ye=Math.max(Xe?vt.offsetWidth:0,vt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Ot=Math.min(window.innerWidth,document.documentElement.clientWidth),Ye=Math.min(window.innerHeight,document.documentElement.clientHeight),We=Ot):(Ot=window.innerWidth,Ye=window.innerHeight,We=window.innerWidth),Dt){var $t=Dt.getBoundingClientRect();$t.left>0&&$t.left<=Ot&&(_e===void 0||!_e)&&(document.dir==="rtl"?(mt=Ot-$t.width-$t.left,Jt=We<=480?10:30):(Jt=$t.left,mt=We<=480?10:30),pt=Jt+mt)}if(Dt&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var Ft=Dt.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(pt=40,Qt=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(pt=0,Qt=40)}}return Dt&&((Le===void 0||!Le)&&dt>0&&dt+pt1&&(It=!0)),dt&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(It=!0),!(Dt.hasOwnProperty("disableAutoScale")&&Dt.disableAutoScale))_e=se(Dt,dt,It,Le,Dt.scaleContainerClass);else return Xe;return It&&(!Dt.hasOwnProperty("scale")||Xe===1)?_e:Math.min(Xe,_e)}function Bt(Dt){var dt=Math.min(window.innerWidth,document.documentElement.clientWidth),Le=Math.min(window.innerHeight,document.documentElement.clientHeight),Xe=Dt.getBoundingClientRect(),_e=(dt-Xe.width)/2,It=(Le-Xe.height)/2;It<0&&(It=0),Dt.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(_e<40?Dt.style.left="40px":Dt.style.left=_e+"px",Dt.style.top=It+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(It<40?Dt.style.top="40px":Dt.style.top=It+"px",Dt.style.left=_e+"px")}function Rt(Dt,dt){var Le=Dt.querySelector(".appletParameters");if(Le){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(dt.id!==Le.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Dt)}if(Le.parentElement&&/fullscreen/.test(Le.parentElement.className))return;var Xe=je(dt,Dt);Hn()&&Le.setAttribute("data-param-scale",Xe);for(var _e=null,It=0;It=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(Hn){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Hn){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Hn){var xr=c[Hn];return xr==null?null:xr},r=d,webModule.__errFn=e}function B(){function Hn(Dt){var dt=Dt.lastIndexOf(rb);dt==-1&&(dt=Dt.length);var Le=Dt.indexOf(sb);Le==-1&&(Le=Dt.length);var Xe=Dt.lastIndexOf(tb,Math.min(Le,dt));return Xe>=O?Dt.substring(O,Xe+P):W}function xr(Dt){if(!Dt.match(/^\w+:\/\//)){var dt=o.createElement(ub);dt.src=Dt+vb,Dt=Hn(dt.src)}return Dt}function he(){var Dt=__gwt_getMetaProperty(wb);return Dt!=null?Dt:W}function se(){for(var Dt=o.getElementsByTagName(_),dt=O;dtO?Dt[Dt.length-P].href:W}function Bt(){var Dt=o.location;return Dt.href==Dt.protocol+zb+Dt.host+Dt.pathname+Dt.search+Dt.hash}var Rt=he();return Rt==W&&(Rt=se()),Rt==W&&(Rt=je()),Rt==W&&Bt()&&(Rt=Hn(o.location.href)),Rt=xr(Rt),Rt}function C(Hn){return Hn.match(/^\//)||Hn.match(/^[a-zA-Z]+:\/\//)?Hn:webModule.__moduleBase+Hn}function D(){var Hn=[],xr=O,he=[],se=[];function je(Dt){var dt=se[Dt](),Le=he[Dt];if(dt in Le)return dt;var Xe=[];for(var _e in Le)Xe[Le[_e]]=_e;throw r&&r(Dt,Xe,dt),null}if(__gwt_isKnownPropertyValue=function(Dt,dt){return dt in he[Dt]},webModule.__getPropMap=function(){var Dt={};for(var dt in he)he.hasOwnProperty(dt)&&(Dt[dt]=je(dt));return Dt},webModule.__computePropValue=je,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Bt;try{Bt=Cb;var Rt=Bt.indexOf(Db);Rt!=-1&&(xr=parseInt(Bt.substring(Rt+P),$),Bt=Bt.substring(O,Rt))}catch(Dt){}return webModule.__softPermutationId=xr,C(Bt+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})()},44071:function(Hn,xr){var he=(se,je,Bt)=>new Promise((Rt,Dt)=>{var dt=_e=>{try{Xe(Bt.next(_e))}catch(It){Dt(It)}},Le=_e=>{try{Xe(Bt.throw(_e))}catch(It){Dt(It)}},Xe=_e=>_e.done?Rt(_e.value):Promise.resolve(_e.value).then(dt,Le);Xe((Bt=Bt.apply(se,je)).next())});(function(se,je){je(xr)})(this,function(se){"use strict";var je={value:()=>{}};function Bt(){for(var pe,Ee=0,Be=arguments.length,ke={};Ee=0&&(ke=Be.slice(Ke+1),Be=Be.slice(0,Ke)),Be&&!Ee.hasOwnProperty(Be))throw new Error("unknown type: "+Be);return{type:Be,name:ke}})}function dt(pe,Ee){for(var Be,ke=0,Ke=pe.length;ke0)for(var Be,ke,Ke=new Array(Be),Ue=0;Ue=0&&(Ee=pe.slice(0,Be))!=="xmlns"&&(pe=pe.slice(Be+1)),_e.hasOwnProperty(Ee)?{space:_e[Ee],local:pe}:pe}function vt(pe){return function(){var Ee=this.ownerDocument,Be=this.namespaceURI;return Be===Xe&&Ee.documentElement.namespaceURI===Xe?Ee.createElement(pe):Ee.createElementNS(Be,pe)}}function wt(pe){return function(){return this.ownerDocument.createElementNS(pe.space,pe.local)}}function Ot(pe){var Ee=It(pe);return(Ee.local?wt:vt)(Ee)}function Ye(){}function We(pe){return pe==null?Ye:function(){return this.querySelector(pe)}}function pt(pe){return pe==null?[]:Array.isArray(pe)?pe:Array.from(pe)}function mt(){return[]}function Jt(pe){return pe==null?mt:function(){return this.querySelectorAll(pe)}}function Qt(pe){return function(){return this.matches(pe)}}function $t(pe){return function(Ee){return Ee.matches(pe)}}var Ft=Array.prototype.find;function Gt(){return this.firstElementChild}var Je=Array.prototype.filter;function Sn(){return Array.from(this.children)}function _n(pe){return new Array(pe.length)}function Cn(pe,Ee){this.ownerDocument=pe.ownerDocument,this.namespaceURI=pe.namespaceURI,this._next=null,this._parent=pe,this.__data__=Ee}function Vt(pe){return function(){return pe}}function pn(pe,Ee,Be,ke,Ke,Ue){for(var ut,at=0,Pt=Ee.length,bt=Ue.length;atEe?1:pe>=Ee?0:NaN}function Mn(pe){return function(){this.removeAttribute(pe)}}function bn(pe){return function(){this.removeAttributeNS(pe.space,pe.local)}}function Dr(pe,Ee){return function(){this.setAttribute(pe,Ee)}}function oi(pe,Ee){return function(){this.setAttributeNS(pe.space,pe.local,Ee)}}function yt(pe,Ee){return function(){var Be=Ee.apply(this,arguments);Be==null?this.removeAttribute(pe):this.setAttribute(pe,Be)}}function tt(pe,Ee){return function(){var Be=Ee.apply(this,arguments);Be==null?this.removeAttributeNS(pe.space,pe.local):this.setAttributeNS(pe.space,pe.local,Be)}}function Rn(pe){return pe.ownerDocument&&pe.ownerDocument.defaultView||pe.document&&pe||pe.defaultView}function fi(pe){return function(){this.style.removeProperty(pe)}}function li(pe,Ee,Be){return function(){this.style.setProperty(pe,Ee,Be)}}function In(pe,Ee,Be){return function(){var ke=Ee.apply(this,arguments);ke==null?this.style.removeProperty(pe):this.style.setProperty(pe,ke,Be)}}function an(pe,Ee){return pe.style.getPropertyValue(Ee)||Rn(pe).getComputedStyle(pe,null).getPropertyValue(Ee)}function Xr(pe){return function(){delete this[pe]}}function Or(pe,Ee){return function(){this[pe]=Ee}}function zn(pe,Ee){return function(){var Be=Ee.apply(this,arguments);Be==null?delete this[pe]:this[pe]=Be}}function Qn(pe){return pe.trim().split(/^|\s+/)}function Jn(pe){return pe.classList||new qn(pe)}function qn(pe){this._node=pe,this._names=Qn(pe.getAttribute("class")||"")}function On(pe,Ee){for(var Be=Jn(pe),ke=-1,Ke=Ee.length;++ke=0&&(Be=Ee.slice(ke+1),Ee=Ee.slice(0,ke)),{type:Ee,name:Be}})}function Ii(pe){return function(){var Ee=this.__on;if(Ee){for(var Be,ke=0,Ke=-1,Ue=Ee.length;ke=0&&(this._names.splice(Ee,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(pe){return this._names.indexOf(pe)>=0}};var mr=[null];function xi(pe,Ee){this._groups=pe,this._parents=Ee}function Ui(){return new xi([[document.documentElement]],mr)}function Ni(pe){return typeof pe=="string"?new xi([[document.querySelector(pe)]],[document.documentElement]):new xi([[pe]],mr)}function Fa(pe,Ee){if(pe=function(Ue){let ut;for(;ut=Ue.sourceEvent;)Ue=ut;return Ue}(pe),Ee===void 0&&(Ee=pe.currentTarget),Ee){var Be=Ee.ownerSVGElement||Ee;if(Be.createSVGPoint){var ke=Be.createSVGPoint();return ke.x=pe.clientX,ke.y=pe.clientY,[(ke=ke.matrixTransform(Ee.getScreenCTM().inverse())).x,ke.y]}if(Ee.getBoundingClientRect){var Ke=Ee.getBoundingClientRect();return[pe.clientX-Ke.left-Ee.clientLeft,pe.clientY-Ke.top-Ee.clientTop]}}return[pe.pageX,pe.pageY]}xi.prototype=Ui.prototype={constructor:xi,select:function(pe){typeof pe!="function"&&(pe=We(pe));for(var Ee=this._groups,Be=Ee.length,ke=new Array(Be),Ke=0;Ke=ja&&(ja=Pi+1);!(Kr=Dn[ja])&&++ja=0;)(ke=Ke[Ue])&&(ut&&4^ke.compareDocumentPosition(ut)&&ut.parentNode.insertBefore(ke,ut),ut=ke);return this},sort:function(pe){function Ee(ln,rn){return ln&&rn?pe(ln.__data__,rn.__data__):!ln-!rn}pe||(pe=Ln);for(var Be=this._groups,ke=Be.length,Ke=new Array(ke),Ue=0;Ue1?this.each((Ee==null?fi:typeof Ee=="function"?In:li)(pe,Ee,Be==null?"":Be)):an(this.node(),pe)},property:function(pe,Ee){return arguments.length>1?this.each((Ee==null?Xr:typeof Ee=="function"?zn:Or)(pe,Ee)):this.node()[pe]},classed:function(pe,Ee){var Be=Qn(pe+"");if(arguments.length<2){for(var ke=Jn(this.node()),Ke=-1,Ue=Be.length;++Ke()=>pe;function lo(pe,{sourceEvent:Ee,subject:Be,target:ke,identifier:Ke,active:Ue,x:ut,y:at,dx:Pt,dy:bt,dispatch:Ht}){Object.defineProperties(this,{type:{value:pe,enumerable:!0,configurable:!0},sourceEvent:{value:Ee,enumerable:!0,configurable:!0},subject:{value:Be,enumerable:!0,configurable:!0},target:{value:ke,enumerable:!0,configurable:!0},identifier:{value:Ke,enumerable:!0,configurable:!0},active:{value:Ue,enumerable:!0,configurable:!0},x:{value:ut,enumerable:!0,configurable:!0},y:{value:at,enumerable:!0,configurable:!0},dx:{value:Pt,enumerable:!0,configurable:!0},dy:{value:bt,enumerable:!0,configurable:!0},_:{value:Ht}})}function Qr(pe){return!pe.ctrlKey&&!pe.button}function ir(){return this.parentNode}function ri(pe,Ee){return Ee==null?{x:pe.x,y:pe.y}:Ee}function ua(){return navigator.maxTouchPoints||"ontouchstart"in this}function un(pe,Ee,Be){pe.prototype=Ee.prototype=Be,Be.constructor=pe}function lr(pe,Ee){var Be=Object.create(pe.prototype);for(var ke in Ee)Be[ke]=Ee[ke];return Be}function Hr(){}lo.prototype.on=function(){var pe=this._.on.apply(this._,arguments);return pe===this._?this:pe};var hr=.7,Vr=1/hr,Rr="\\s*([+-]?\\d+)\\s*",qr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Zi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Wn=/^#([0-9a-f]{3,8})$/,st=new RegExp(`^rgb\\(${Rr},${Rr},${Rr}\\)$`),Nt=new RegExp(`^rgb\\(${Zi},${Zi},${Zi}\\)$`),Gn=new RegExp(`^rgba\\(${Rr},${Rr},${Rr},${qr}\\)$`),Sr=new RegExp(`^rgba\\(${Zi},${Zi},${Zi},${qr}\\)$`),yr=new RegExp(`^hsl\\(${qr},${Zi},${Zi}\\)$`),ci=new RegExp(`^hsla\\(${qr},${Zi},${Zi},${qr}\\)$`),ai={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 Ur(){return this.rgb().formatHex()}function zr(){return this.rgb().formatRgb()}function ta(pe){var Ee,Be;return pe=(pe+"").trim().toLowerCase(),(Ee=Wn.exec(pe))?(Be=Ee[1].length,Ee=parseInt(Ee[1],16),Be===6?qa(Ee):Be===3?new xn(Ee>>8&15|Ee>>4&240,Ee>>4&15|240&Ee,(15&Ee)<<4|15&Ee,1):Be===8?pi(Ee>>24&255,Ee>>16&255,Ee>>8&255,(255&Ee)/255):Be===4?pi(Ee>>12&15|Ee>>8&240,Ee>>8&15|Ee>>4&240,Ee>>4&15|240&Ee,((15&Ee)<<4|15&Ee)/255):null):(Ee=st.exec(pe))?new xn(Ee[1],Ee[2],Ee[3],1):(Ee=Nt.exec(pe))?new xn(255*Ee[1]/100,255*Ee[2]/100,255*Ee[3]/100,1):(Ee=Gn.exec(pe))?pi(Ee[1],Ee[2],Ee[3],Ee[4]):(Ee=Sr.exec(pe))?pi(255*Ee[1]/100,255*Ee[2]/100,255*Ee[3]/100,Ee[4]):(Ee=yr.exec(pe))?Bi(Ee[1],Ee[2]/100,Ee[3]/100,1):(Ee=ci.exec(pe))?Bi(Ee[1],Ee[2]/100,Ee[3]/100,Ee[4]):ai.hasOwnProperty(pe)?qa(ai[pe]):pe==="transparent"?new xn(NaN,NaN,NaN,0):null}function qa(pe){return new xn(pe>>16&255,pe>>8&255,255&pe,1)}function pi(pe,Ee,Be,ke){return ke<=0&&(pe=Ee=Be=NaN),new xn(pe,Ee,Be,ke)}function Mr(pe){return pe instanceof Hr||(pe=ta(pe)),pe?new xn((pe=pe.rgb()).r,pe.g,pe.b,pe.opacity):new xn}function sr(pe,Ee,Be,ke){return arguments.length===1?Mr(pe):new xn(pe,Ee,Be,ke==null?1:ke)}function xn(pe,Ee,Be,ke){this.r=+pe,this.g=+Ee,this.b=+Be,this.opacity=+ke}function er(){return`#${Nr(this.r)}${Nr(this.g)}${Nr(this.b)}`}function Er(){const pe=Zr(this.opacity);return`${pe===1?"rgb(":"rgba("}${ti(this.r)}, ${ti(this.g)}, ${ti(this.b)}${pe===1?")":`, ${pe})`}`}function Zr(pe){return isNaN(pe)?1:Math.max(0,Math.min(1,pe))}function ti(pe){return Math.max(0,Math.min(255,Math.round(pe)||0))}function Nr(pe){return((pe=ti(pe))<16?"0":"")+pe.toString(16)}function Bi(pe,Ee,Be,ke){return ke<=0?pe=Ee=Be=NaN:Be<=0||Be>=1?pe=Ee=NaN:Ee<=0&&(pe=NaN),new Di(pe,Ee,Be,ke)}function Zn(pe){if(pe instanceof Di)return new Di(pe.h,pe.s,pe.l,pe.opacity);if(pe instanceof Hr||(pe=ta(pe)),!pe)return new Di;if(pe instanceof Di)return pe;var Ee=(pe=pe.rgb()).r/255,Be=pe.g/255,ke=pe.b/255,Ke=Math.min(Ee,Be,ke),Ue=Math.max(Ee,Be,ke),ut=NaN,at=Ue-Ke,Pt=(Ue+Ke)/2;return at?(ut=Ee===Ue?(Be-ke)/at+6*(Be0&&Pt<1?0:ut,new Di(ut,at,Pt,pe.opacity)}function Di(pe,Ee,Be,ke){this.h=+pe,this.s=+Ee,this.l=+Be,this.opacity=+ke}function da(pe){return(pe=(pe||0)%360)<0?pe+360:pe}function ha(pe){return Math.max(0,Math.min(1,pe||0))}function na(pe,Ee,Be){return 255*(pe<60?Ee+(Be-Ee)*pe/60:pe<180?Be:pe<240?Ee+(Be-Ee)*(240-pe)/60:Ee)}un(Hr,ta,{copy(pe){return Object.assign(new this.constructor,this,pe)},displayable(){return this.rgb().displayable()},hex:Ur,formatHex:Ur,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Zn(this).formatHsl()},formatRgb:zr,toString:zr}),un(xn,sr,lr(Hr,{brighter(pe){return pe=pe==null?Vr:Math.pow(Vr,pe),new xn(this.r*pe,this.g*pe,this.b*pe,this.opacity)},darker(pe){return pe=pe==null?hr:Math.pow(hr,pe),new xn(this.r*pe,this.g*pe,this.b*pe,this.opacity)},rgb(){return this},clamp(){return new xn(ti(this.r),ti(this.g),ti(this.b),Zr(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:er,formatHex:er,formatHex8:function(){return`#${Nr(this.r)}${Nr(this.g)}${Nr(this.b)}${Nr(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Er,toString:Er})),un(Di,function(pe,Ee,Be,ke){return arguments.length===1?Zn(pe):new Di(pe,Ee,Be,ke==null?1:ke)},lr(Hr,{brighter(pe){return pe=pe==null?Vr:Math.pow(Vr,pe),new Di(this.h,this.s,this.l*pe,this.opacity)},darker(pe){return pe=pe==null?hr:Math.pow(hr,pe),new Di(this.h,this.s,this.l*pe,this.opacity)},rgb(){var pe=this.h%360+360*(this.h<0),Ee=isNaN(pe)||isNaN(this.s)?0:this.s,Be=this.l,ke=Be+(Be<.5?Be:1-Be)*Ee,Ke=2*Be-ke;return new xn(na(pe>=240?pe-240:pe+120,Ke,ke),na(pe,Ke,ke),na(pe<120?pe+240:pe-120,Ke,ke),this.opacity)},clamp(){return new Di(da(this.h),ha(this.s),ha(this.l),Zr(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 pe=Zr(this.opacity);return`${pe===1?"hsl(":"hsla("}${da(this.h)}, ${100*ha(this.s)}%, ${100*ha(this.l)}%${pe===1?")":`, ${pe})`}`}}));var Qa=pe=>()=>pe;function Ao(pe){return(pe=+pe)==1?Da:function(Ee,Be){return Be-Ee?function(ke,Ke,Ue){return ke=Math.pow(ke,Ue),Ke=Math.pow(Ke,Ue)-ke,Ue=1/Ue,function(ut){return Math.pow(ke+ut*Ke,Ue)}}(Ee,Be,pe):Qa(isNaN(Ee)?Be:Ee)}}function Da(pe,Ee){var Be=Ee-pe;return Be?function(ke,Ke){return function(Ue){return ke+Ue*Ke}}(pe,Be):Qa(isNaN(pe)?Ee:pe)}var Ma=function pe(Ee){var Be=Ao(Ee);function ke(Ke,Ue){var ut=Be((Ke=sr(Ke)).r,(Ue=sr(Ue)).r),at=Be(Ke.g,Ue.g),Pt=Be(Ke.b,Ue.b),bt=Da(Ke.opacity,Ue.opacity);return function(Ht){return Ke.r=ut(Ht),Ke.g=at(Ht),Ke.b=Pt(Ht),Ke.opacity=bt(Ht),Ke+""}}return ke.gamma=pe,ke}(1);function es(pe,Ee){Ee||(Ee=[]);var Be,ke=pe?Math.min(Ee.length,pe.length):0,Ke=Ee.slice();return function(Ue){for(Be=0;BeUe&&(Ke=Ee.slice(Ue,Ke),at[ut]?at[ut]+=Ke:at[++ut]=Ke),(Be=Be[0])===(ke=ke[0])?at[ut]?at[ut]+=ke:at[++ut]=ke:(at[++ut]=null,Pt.push({i:ut,x:_a(Be,ke)})),Ue=Os.lastIndex;return Ue180?Ht+=360:Ht-bt>180&&(bt+=360),rn.push({i:ln.push(Ke(ln)+"rotate(",null,ke)-2,x:_a(bt,Ht)})):Ht&&ln.push(Ke(ln)+"rotate("+Ht+ke)}(Ue.rotate,ut.rotate,at,Pt),function(bt,Ht,ln,rn){bt!==Ht?rn.push({i:ln.push(Ke(ln)+"skewX(",null,ke)-2,x:_a(bt,Ht)}):Ht&&ln.push(Ke(ln)+"skewX("+Ht+ke)}(Ue.skewX,ut.skewX,at,Pt),function(bt,Ht,ln,rn,Vn,sn){if(bt!==ln||Ht!==rn){var vn=Vn.push(Ke(Vn)+"scale(",null,",",null,")");sn.push({i:vn-4,x:_a(bt,ln)},{i:vn-2,x:_a(Ht,rn)})}else ln===1&&rn===1||Vn.push(Ke(Vn)+"scale("+ln+","+rn+")")}(Ue.scaleX,Ue.scaleY,ut.scaleX,ut.scaleY,at,Pt),Ue=ut=null,function(bt){for(var Ht,ln=-1,rn=Pt.length;++ln=0&&Ee._call.call(void 0,pe),Ee=Ee._next;--Ms})()}finally{Ms=0,function(){for(var pe,Ee,Be=za,ke=1/0;Be;)Be._call?(ke>Be._time&&(ke=Be._time),pe=Be,Be=Be._next):(Ee=Be._next,Be._next=null,Be=pe?pe._next=Ee:za=Ee);ls=pe,vc(ke)}(),$a=0}}function Mu(){var pe=zs.now(),Ee=pe-Na;Ee>1e3&&(gl-=Ee,Na=pe)}function vc(pe){Ms||(Ts&&(Ts=clearTimeout(Ts)),pe-$a>24?(pe<1/0&&(Ts=setTimeout(zu,pe-zs.now()-gl)),ul&&(ul=clearInterval(ul))):(ul||(Na=zs.now(),ul=setInterval(Mu,1e3)),Ms=1,Xu(zu)))}function yu(pe,Ee,Be){var ke=new Ru;return Ee=Ee==null?0:+Ee,ke.restart(Ke=>{ke.stop(),pe(Ke+Ee)},Ee,Be),ke}Ru.prototype=hu.prototype={constructor:Ru,restart:function(pe,Ee,Be){if(typeof pe!="function")throw new TypeError("callback is not a function");Be=(Be==null?Su():+Be)+(Ee==null?0:+Ee),this._next||ls===this||(ls?ls._next=this:za=this,ls=this),this._call=pe,this._time=Be,vc()},stop:function(){this._call&&(this._call=null,this._time=1/0,vc())}};var to=Bt("start","end","cancel","interrupt"),uo=[];function no(pe,Ee,Be,ke,Ke,Ue){var ut=pe.__transition;if(ut){if(Be in ut)return}else pe.__transition={};(function(at,Pt,bt){var Ht,ln=at.__transition;function rn(Dn){bt.state=1,bt.timer.restart(Vn,bt.delay,bt.time),bt.delay<=Dn&&Vn(Dn-bt.delay)}function Vn(Dn){var En,Et,Kr,Pi;if(bt.state!==1)return vn();for(En in ln)if((Pi=ln[En]).name===bt.name){if(Pi.state===3)return yu(Vn);Pi.state===4?(Pi.state=6,Pi.timer.stop(),Pi.on.call("interrupt",at,at.__data__,Pi.index,Pi.group),delete ln[En]):+En0)throw new Error("too late; already scheduled");return Be}function ps(pe,Ee){var Be=al(pe,Ee);if(Be.state>3)throw new Error("too late; already running");return Be}function al(pe,Ee){var Be=pe.__transition;if(!Be||!(Be=Be[Ee]))throw new Error("transition not found");return Be}function Vs(pe,Ee){var Be,ke,Ke,Ue=pe.__transition,ut=!0;if(Ue){for(Ke in Ee=Ee==null?null:Ee+"",Ue)(Be=Ue[Ke]).name===Ee?(ke=Be.state>2&&Be.state<5,Be.state=6,Be.timer.stop(),Be.on.call(ke?"interrupt":"cancel",pe,pe.__data__,Be.index,Be.group),delete Ue[Ke]):ut=!1;ut&&delete pe.__transition}}function $l(pe,Ee){var Be,ke;return function(){var Ke=ps(this,pe),Ue=Ke.tween;if(Ue!==Be){for(var ut=0,at=(ke=Be=Ue).length;ut=0&&(at=at.slice(0,Pt)),!at||at==="start"})}(Ee)?yn:ps;return function(){var ut=Ue(this,pe),at=ut.on;at!==ke&&(Ke=(ke=at).copy()).on(Ee,Be),ut.on=Ke}}var Vi=Ui.prototype.constructor;function No(pe){return function(){this.style.removeProperty(pe)}}function Nl(pe,Ee,Be){return function(ke){this.style.setProperty(pe,Ee.call(this,ke),Be)}}function Aa(pe,Ee,Be){var ke,Ke;function Ue(){var ut=Ee.apply(this,arguments);return ut!==Ke&&(ke=(Ke=ut)&&Nl(pe,ut,Be)),ke}return Ue._value=Ee,Ue}function yo(pe){return function(Ee){this.textContent=pe.call(this,Ee)}}function zi(pe){var Ee,Be;function ke(){var Ke=pe.apply(this,arguments);return Ke!==Be&&(Ee=(Be=Ke)&&yo(Ke)),Ee}return ke._value=pe,ke}var Fs=0;function bo(pe,Ee,Be,ke){this._groups=pe,this._parents=Ee,this._name=Be,this._id=ke}function js(){return++Fs}var kl=Ui.prototype;bo.prototype={constructor:bo,select:function(pe){var Ee=this._name,Be=this._id;typeof pe!="function"&&(pe=We(pe));for(var ke=this._groups,Ke=ke.length,Ue=new Array(Ke),ut=0;ut=(Ue=(vn+En)/2))?vn=Ue:En=Ue,(Ht=Be>=(ut=(Dn+Et)/2))?Dn=ut:Et=ut,Ke=Vn,!(Vn=Vn[ln=Ht<<1|bt]))return Ke[ln]=sn,pe;if(at=+pe._x.call(null,Vn.data),Pt=+pe._y.call(null,Vn.data),Ee===at&&Be===Pt)return sn.next=Vn,Ke?Ke[ln]=sn:pe._root=sn,pe;do Ke=Ke?Ke[ln]=new Array(4):pe._root=new Array(4),(bt=Ee>=(Ue=(vn+En)/2))?vn=Ue:En=Ue,(Ht=Be>=(ut=(Dn+Et)/2))?Dn=ut:Et=ut;while((ln=Ht<<1|bt)==(rn=(Pt>=ut)<<1|at>=Ue));return Ke[rn]=Vn,Ke[ln]=sn,pe}function Dl(pe,Ee,Be,ke,Ke){this.node=pe,this.x0=Ee,this.y0=Be,this.x1=ke,this.y1=Ke}function lu(pe){return pe[0]}function mc(pe){return pe[1]}function Ro(pe,Ee,Be){var ke=new jl(Ee==null?lu:Ee,Be==null?mc:Be,NaN,NaN,NaN,NaN);return pe==null?ke:ke.addAll(pe)}function jl(pe,Ee,Be,ke,Ke,Ue){this._x=pe,this._y=Ee,this._x0=Be,this._y0=ke,this._x1=Ke,this._y1=Ue,this._root=void 0}function Ml(pe){for(var Ee={data:pe.data},Be=Ee;pe=pe.next;)Be=Be.next={data:pe.data};return Ee}Ko.prototype=ao.prototype={constructor:Ko,moveTo:function(pe,Ee){this._+="M"+(this._x0=this._x1=+pe)+","+(this._y0=this._y1=+Ee)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(pe,Ee){this._+="L"+(this._x1=+pe)+","+(this._y1=+Ee)},quadraticCurveTo:function(pe,Ee,Be,ke){this._+="Q"+ +pe+","+ +Ee+","+(this._x1=+Be)+","+(this._y1=+ke)},bezierCurveTo:function(pe,Ee,Be,ke,Ke,Ue){this._+="C"+ +pe+","+ +Ee+","+ +Be+","+ +ke+","+(this._x1=+Ke)+","+(this._y1=+Ue)},arcTo:function(pe,Ee,Be,ke,Ke){pe=+pe,Ee=+Ee,Be=+Be,ke=+ke,Ke=+Ke;var Ue=this._x1,ut=this._y1,at=Be-pe,Pt=ke-Ee,bt=Ue-pe,Ht=ut-Ee,ln=bt*bt+Ht*Ht;if(Ke<0)throw new Error("negative radius: "+Ke);if(this._x1===null)this._+="M"+(this._x1=pe)+","+(this._y1=Ee);else if(ln>Gl)if(Math.abs(Ht*at-Pt*bt)>Gl&&Ke){var rn=Be-Ue,Vn=ke-ut,sn=at*at+Pt*Pt,vn=rn*rn+Vn*Vn,Dn=Math.sqrt(sn),En=Math.sqrt(ln),Et=Ke*Math.tan((Is-Math.acos((sn+ln-vn)/(2*Dn*En)))/2),Kr=Et/En,Pi=Et/Dn;Math.abs(Kr-1)>Gl&&(this._+="L"+(pe+Kr*bt)+","+(Ee+Kr*Ht)),this._+="A"+Ke+","+Ke+",0,0,"+ +(Ht*rn>bt*Vn)+","+(this._x1=pe+Pi*at)+","+(this._y1=Ee+Pi*Pt)}else this._+="L"+(this._x1=pe)+","+(this._y1=Ee)},arc:function(pe,Ee,Be,ke,Ke,Ue){pe=+pe,Ee=+Ee,Ue=!!Ue;var ut=(Be=+Be)*Math.cos(ke),at=Be*Math.sin(ke),Pt=pe+ut,bt=Ee+at,Ht=1^Ue,ln=Ue?ke-Ke:Ke-ke;if(Be<0)throw new Error("negative radius: "+Be);this._x1===null?this._+="M"+Pt+","+bt:(Math.abs(this._x1-Pt)>Gl||Math.abs(this._y1-bt)>Gl)&&(this._+="L"+Pt+","+bt),Be&&(ln<0&&(ln=ln%fl+fl),ln>Ul?this._+="A"+Be+","+Be+",0,1,"+Ht+","+(pe-ut)+","+(Ee-at)+"A"+Be+","+Be+",0,1,"+Ht+","+(this._x1=Pt)+","+(this._y1=bt):ln>Gl&&(this._+="A"+Be+","+Be+",0,"+ +(ln>=Is)+","+Ht+","+(this._x1=pe+Be*Math.cos(Ke))+","+(this._y1=Ee+Be*Math.sin(Ke))))},rect:function(pe,Ee,Be,ke){this._+="M"+(this._x0=this._x1=+pe)+","+(this._y0=this._y1=+Ee)+"h"+ +Be+"v"+ +ke+"h"+-Be+"Z"},toString:function(){return this._}};var mu=Ro.prototype=jl.prototype;function Co(pe){return function(){return pe}}function Go(pe){return 1e-6*(pe()-.5)}function ou(pe){return pe.x+pe.vx}function Mc(pe){return pe.y+pe.vy}function Ai(pe){return pe.index}function tu(pe,Ee){var Be=pe.get(Ee);if(!Be)throw new Error("node not found: "+Ee);return Be}function Pl(pe){var Ee,Be,ke,Ke,Ue,ut,at=Ai,Pt=function(vn){return 1/Math.min(Ke[vn.source.index],Ke[vn.target.index])},bt=Co(30),Ht=1;function ln(vn){for(var Dn=0,En=pe.length;Dn[at(Pi,ja,ke),Pi]));for(vn=0,Ke=new Array(En);vnHt&&(Ht=ke),Keln&&(ln=Ke));if(Pt>Ht||bt>ln)return this;for(this.cover(Pt,bt).cover(Ht,ln),Be=0;Bepe||pe>=Ke||ke>Ee||Ee>=Ue;)switch(at=(Eern||(Ue=Pt.y0)>Vn||(ut=Pt.x1)=En)<<1|pe>=Dn)&&(Pt=sn[sn.length-1],sn[sn.length-1]=sn[sn.length-1-bt],sn[sn.length-1-bt]=Pt)}else{var Et=pe-+this._x.call(null,vn.data),Kr=Ee-+this._y.call(null,vn.data),Pi=Et*Et+Kr*Kr;if(Pi=(at=(sn+Dn)/2))?sn=at:Dn=at,(Ht=ut>=(Pt=(vn+En)/2))?vn=Pt:En=Pt,Ee=Vn,!(Vn=Vn[ln=Ht<<1|bt]))return this;if(!Vn.length)break;(Ee[ln+1&3]||Ee[ln+2&3]||Ee[ln+3&3])&&(Be=Ee,rn=ln)}for(;Vn.data!==pe;)if(ke=Vn,!(Vn=Vn.next))return this;return(Ke=Vn.next)&&delete Vn.next,ke?(Ke?ke.next=Ke:delete ke.next,this):Ee?(Ke?Ee[ln]=Ke:delete Ee[ln],(Vn=Ee[0]||Ee[1]||Ee[2]||Ee[3])&&Vn===(Ee[3]||Ee[2]||Ee[1]||Ee[0])&&!Vn.length&&(Be?Be[rn]=Vn:this._root=Vn),this):(this._root=Ke,this)},mu.removeAll=function(pe){for(var Ee=0,Be=pe.length;Ee(vn=(1664525*vn+1013904223)%nc)/nc}();function ln(){rn(),bt.call("tick",Ee),Be1?(Dn==null?at.delete(vn):at.set(vn,sn(Dn)),Ee):at.get(vn)},find:function(vn,Dn,En){var Et,Kr,Pi,ja,wi,Ka=0,vo=pe.length;for(En==null?En=1/0:En*=En,Ka=0;Ka1?(bt.on(vn,Dn),Ee):bt.on(vn)}}}function ds(pe){return function(){return pe}}const Zl=Math.abs,uu=Math.atan2,Ys=Math.cos,hl=Math.max,Rl=Math.min,Yl=Math.sin,Au=Math.sqrt,nu=1e-12,xc=Math.PI,Kc=xc/2,Dc=2*xc;function Jl(pe){return pe>1?0:pe<-1?xc:Math.acos(pe)}function Io(pe){return pe>=1?Kc:pe<=-1?-Kc:Math.asin(pe)}function fs(pe){return pe.innerRadius}function Gu(pe){return pe.outerRadius}function cl(pe){return pe.startAngle}function Iu(pe){return pe.endAngle}function Mi(pe){return pe&&pe.padAngle}function Ha(pe,Ee,Be,ke,Ke,Ue,ut,at){var Pt=Be-pe,bt=ke-Ee,Ht=ut-Ke,ln=at-Ue,rn=ln*Pt-Ht*bt;if(!(rn*rntr*tr+Fi*Fi&&(vo=ii,mo=Ki),{cx:vo,cy:mo,x01:-Ht,y01:-ln,x11:vo*(Ke/ja-1),y11:mo*(Ke/ja-1)}}function Sl(){var pe=fs,Ee=Gu,Be=ds(0),ke=null,Ke=cl,Ue=Iu,ut=Mi,at=null;function Pt(){var bt,Ht,ln=+pe.apply(this,arguments),rn=+Ee.apply(this,arguments),Vn=Ke.apply(this,arguments)-Kc,sn=Ue.apply(this,arguments)-Kc,vn=Zl(sn-Vn),Dn=sn>Vn;if(at||(at=bt=ao()),rnnu)if(vn>Dc-nu)at.moveTo(rn*Ys(Vn),rn*Yl(Vn)),at.arc(0,0,rn,Vn,sn,!Dn),ln>nu&&(at.moveTo(ln*Ys(sn),ln*Yl(sn)),at.arc(0,0,ln,sn,Vn,Dn));else{var En,Et,Kr=Vn,Pi=sn,ja=Vn,wi=sn,Ka=vn,vo=vn,mo=ut.apply(this,arguments)/2,ii=mo>nu&&(ke?+ke.apply(this,arguments):Au(ln*ln+rn*rn)),Ki=Rl(Zl(rn-ln)/2,+Be.apply(this,arguments)),Mo=Ki,fr=Ki;if(ii>nu){var tr=Io(ii/ln*Yl(mo)),Fi=Io(ii/rn*Yl(mo));(Ka-=2*tr)>nu?(ja+=tr*=Dn?1:-1,wi-=tr):(Ka=0,ja=wi=(Vn+sn)/2),(vo-=2*Fi)>nu?(Kr+=Fi*=Dn?1:-1,Pi-=Fi):(vo=0,Kr=Pi=(Vn+sn)/2)}var _i=rn*Ys(Kr),La=rn*Yl(Kr),ki=ln*Ys(wi),ma=ln*Yl(wi);if(Ki>nu){var To,go=rn*Ys(Pi),ia=rn*Yl(Pi),As=ln*Ys(ja),Ws=ln*Yl(ja);if(vnnu?fr>nu?(En=yl(As,Ws,_i,La,rn,fr,Dn),Et=yl(go,ia,ki,ma,rn,fr,Dn),at.moveTo(En.cx+En.x01,En.cy+En.y01),frnu&&Ka>nu?Mo>nu?(En=yl(ki,ma,go,ia,ln,-Mo,Dn),Et=yl(_i,La,As,Ws,ln,-Mo,Dn),at.lineTo(En.cx+En.x01,En.cy+En.y01),Mope?1:Ee>=pe?0:NaN}function $e(pe){return pe}function nt(){var pe=$e,Ee=Re,Be=null,ke=ds(0),Ke=ds(Dc),Ue=ds(0);function ut(at){var Pt,bt,Ht,ln,rn,Vn=(at=ru(at)).length,sn=0,vn=new Array(Vn),Dn=new Array(Vn),En=+ke.apply(this,arguments),Et=Math.min(Dc,Math.max(-Dc,Ke.apply(this,arguments)-En)),Kr=Math.min(Math.abs(Et)/Vn,Ue.apply(this,arguments)),Pi=Kr*(Et<0?-1:1);for(Pt=0;Pt0&&(sn+=rn);for(Ee!=null?vn.sort(function(ja,wi){return Ee(Dn[ja],Dn[wi])}):Be!=null&&vn.sort(function(ja,wi){return Be(at[ja],at[wi])}),Pt=0,Ht=sn?(Et-Vn*Pi)/sn:0;Pt0?rn*Ht:0)+Pi,Dn[bt]={data:at[bt],index:Pt,value:rn,startAngle:En,endAngle:ln,padAngle:Kr};return Dn}return ut.value=function(at){return arguments.length?(pe=typeof at=="function"?at:ds(+at),ut):pe},ut.sortValues=function(at){return arguments.length?(Ee=at,Be=null,ut):Ee},ut.sort=function(at){return arguments.length?(Be=at,Ee=null,ut):Be},ut.startAngle=function(at){return arguments.length?(ke=typeof at=="function"?at:ds(+at),ut):ke},ut.endAngle=function(at){return arguments.length?(Ke=typeof at=="function"?at:ds(+at),ut):Ke},ut.padAngle=function(at){return arguments.length?(Ue=typeof at=="function"?at:ds(+at),ut):Ue},ut}var Yt=pe=>()=>pe;function nn(pe,{sourceEvent:Ee,target:Be,transform:ke,dispatch:Ke}){Object.defineProperties(this,{type:{value:pe,enumerable:!0,configurable:!0},sourceEvent:{value:Ee,enumerable:!0,configurable:!0},target:{value:Be,enumerable:!0,configurable:!0},transform:{value:ke,enumerable:!0,configurable:!0},_:{value:Ke}})}function Br(pe,Ee,Be){this.k=pe,this.x=Ee,this.y=Be}Br.prototype={constructor:Br,scale:function(pe){return pe===1?this:new Br(this.k*pe,this.x,this.y)},translate:function(pe,Ee){return pe===0&Ee===0?this:new Br(this.k,this.x+this.k*pe,this.y+this.k*Ee)},apply:function(pe){return[pe[0]*this.k+this.x,pe[1]*this.k+this.y]},applyX:function(pe){return pe*this.k+this.x},applyY:function(pe){return pe*this.k+this.y},invert:function(pe){return[(pe[0]-this.x)/this.k,(pe[1]-this.y)/this.k]},invertX:function(pe){return(pe-this.x)/this.k},invertY:function(pe){return(pe-this.y)/this.k},rescaleX:function(pe){return pe.copy().domain(pe.range().map(this.invertX,this).map(pe.invert,pe))},rescaleY:function(pe){return pe.copy().domain(pe.range().map(this.invertY,this).map(pe.invert,pe))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Cr=new Br(1,0,0);function yi(pe){pe.stopImmediatePropagation()}function gi(pe){pe.preventDefault(),pe.stopImmediatePropagation()}function Hi(pe){return!(pe.ctrlKey&&pe.type!=="wheel"||pe.button)}function Xa(){var pe=this;return pe instanceof SVGElement?(pe=pe.ownerSVGElement||pe).hasAttribute("viewBox")?[[(pe=pe.viewBox.baseVal).x,pe.y],[pe.x+pe.width,pe.y+pe.height]]:[[0,0],[pe.width.baseVal.value,pe.height.baseVal.value]]:[[0,0],[pe.clientWidth,pe.clientHeight]]}function Ji(){return this.__zoom||Cr}function ea(pe){return-pe.deltaY*(pe.deltaMode===1?.05:pe.deltaMode?1:.002)*(pe.ctrlKey?10:1)}function fa(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ba(pe,Ee,Be){var ke=pe.invertX(Ee[0][0])-Be[0][0],Ke=pe.invertX(Ee[1][0])-Be[1][0],Ue=pe.invertY(Ee[0][1])-Be[0][1],ut=pe.invertY(Ee[1][1])-Be[1][1];return pe.translate(Ke>ke?(ke+Ke)/2:Math.min(0,ke)||Math.max(0,Ke),ut>Ue?(Ue+ut)/2:Math.min(0,Ue)||Math.max(0,ut))}function jr(){var pe,Ee,Be,ke=Hi,Ke=Xa,Ue=Ba,ut=ea,at=fa,Pt=[0,1/0],bt=[[-1/0,-1/0],[1/0,1/0]],Ht=250,ln=vs,rn=Bt("start","zoom","end"),Vn=500,sn=0,vn=10;function Dn(fr){fr.property("__zoom",Ji).on("wheel.zoom",Ka,{passive:!1}).on("mousedown.zoom",vo).on("dblclick.zoom",mo).filter(at).on("touchstart.zoom",ii).on("touchmove.zoom",Ki).on("touchend.zoom touchcancel.zoom",Mo).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function En(fr,tr){return(tr=Math.max(Pt[0],Math.min(Pt[1],tr)))===fr.k?fr:new Br(tr,fr.x,fr.y)}function Et(fr,tr,Fi){var _i=tr[0]-Fi[0]*fr.k,La=tr[1]-Fi[1]*fr.k;return _i===fr.x&&La===fr.y?fr:new Br(fr.k,_i,La)}function Kr(fr){return[(+fr[0][0]+ +fr[1][0])/2,(+fr[0][1]+ +fr[1][1])/2]}function Pi(fr,tr,Fi,_i){fr.on("start.zoom",function(){ja(this,arguments).event(_i).start()}).on("interrupt.zoom end.zoom",function(){ja(this,arguments).event(_i).end()}).tween("zoom",function(){var La=this,ki=arguments,ma=ja(La,ki).event(_i),To=Ke.apply(La,ki),go=Fi==null?Kr(To):typeof Fi=="function"?Fi.apply(La,ki):Fi,ia=Math.max(To[1][0]-To[0][0],To[1][1]-To[0][1]),As=La.__zoom,Ws=typeof tr=="function"?tr.apply(La,ki):tr,Vu=ln(As.invert(go).concat(ia/As.k),Ws.invert(go).concat(ia/Ws.k));return function(du){if(du===1)du=Ws;else{var Yu=Vu(du),sc=ia/Yu[2];du=new Br(sc,go[0]-Yu[0]*sc,go[1]-Yu[1]*sc)}ma.zoom(null,du)}})}function ja(fr,tr,Fi){return!Fi&&fr.__zooming||new wi(fr,tr)}function wi(fr,tr){this.that=fr,this.args=tr,this.active=0,this.sourceEvent=null,this.extent=Ke.apply(fr,tr),this.taps=0}function Ka(fr,...tr){if(ke.apply(this,arguments)){var Fi=ja(this,tr).event(fr),_i=this.__zoom,La=Math.max(Pt[0],Math.min(Pt[1],_i.k*Math.pow(2,ut.apply(this,arguments)))),ki=Fa(fr);if(Fi.wheel)Fi.mouse[0][0]===ki[0]&&Fi.mouse[0][1]===ki[1]||(Fi.mouse[1]=_i.invert(Fi.mouse[0]=ki)),clearTimeout(Fi.wheel);else{if(_i.k===La)return;Fi.mouse=[ki,_i.invert(ki)],Vs(this),Fi.start()}gi(fr),Fi.wheel=setTimeout(ma,150),Fi.zoom("mouse",Ue(Et(En(_i,La),Fi.mouse[0],Fi.mouse[1]),Fi.extent,bt))}function ma(){Fi.wheel=null,Fi.end()}}function vo(fr,...tr){if(!Be&&ke.apply(this,arguments)){var Fi=fr.currentTarget,_i=ja(this,tr,!0).event(fr),La=Ni(fr.view).on("mousemove.zoom",go,!0).on("mouseup.zoom",ia,!0),ki=Fa(fr,Fi),ma=fr.clientX,To=fr.clientY;ys(fr.view),yi(fr),_i.mouse=[ki,this.__zoom.invert(ki)],Vs(this),_i.start()}function go(As){if(gi(As),!_i.moved){var Ws=As.clientX-ma,Vu=As.clientY-To;_i.moved=Ws*Ws+Vu*Vu>sn}_i.event(As).zoom("mouse",Ue(Et(_i.that.__zoom,_i.mouse[0]=Fa(As,Fi),_i.mouse[1]),_i.extent,bt))}function ia(As){La.on("mousemove.zoom mouseup.zoom",null),$o(As.view,_i.moved),gi(As),_i.event(As).end()}}function mo(fr,...tr){if(ke.apply(this,arguments)){var Fi=this.__zoom,_i=Fa(fr.changedTouches?fr.changedTouches[0]:fr,this),La=Fi.invert(_i),ki=Fi.k*(fr.shiftKey?.5:2),ma=Ue(Et(En(Fi,ki),_i,La),Ke.apply(this,tr),bt);gi(fr),Ht>0?Ni(this).transition().duration(Ht).call(Pi,ma,_i,fr):Ni(this).call(Dn.transform,ma,_i,fr)}}function ii(fr,...tr){if(ke.apply(this,arguments)){var Fi,_i,La,ki,ma=fr.touches,To=ma.length,go=ja(this,tr,fr.changedTouches.length===To).event(fr);for(yi(fr),_i=0;_i=0;--fr){var tr=this.tryEntries[fr],Fi=tr.completion;if(tr.tryLoc==="root")return Mo("end");if(tr.tryLoc<=this.prev){var _i=Be.call(tr,"catchLoc"),La=Be.call(tr,"finallyLoc");if(_i&&La){if(this.prev=0;--Mo){var fr=this.tryEntries[Mo];if(fr.tryLoc<=this.prev&&Be.call(fr,"finallyLoc")&&this.prev=0;--Ki){var Mo=this.tryEntries[Ki];if(Mo.finallyLoc===ii)return this.complete(Mo.completion,Mo.afterLoc),wi(Mo),Ht}},catch:function(ii){for(var Ki=this.tryEntries.length-1;Ki>=0;--Ki){var Mo=this.tryEntries[Ki];if(Mo.tryLoc===ii){var fr=Mo.completion;if(fr.type==="throw"){var tr=fr.arg;wi(Mo)}return tr}}throw new Error("illegal catch attempt")},delegateYield:function(ii,Ki,Mo){return this.delegate={iterator:vo(ii),resultName:Ki,nextLoc:Mo},this.method==="next"&&(this.arg=void 0),Ht}},pe}function ya(pe){return ya=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ee){return typeof Ee}:function(Ee){return Ee&&typeof Symbol=="function"&&Ee.constructor===Symbol&&Ee!==Symbol.prototype?"symbol":typeof Ee},ya(pe)}function ns(pe,Ee,Be,ke,Ke,Ue,ut){try{var at=pe[Ue](ut),Pt=at.value}catch(bt){return void Be(bt)}at.done?Ee(Pt):Promise.resolve(Pt).then(ke,Ke)}function wo(pe){return function(){var Ee=this,Be=arguments;return new Promise(function(ke,Ke){var Ue=pe.apply(Ee,Be);function ut(Pt){ns(Ue,ke,Ke,ut,at,"next",Pt)}function at(Pt){ns(Ue,ke,Ke,ut,at,"throw",Pt)}ut(void 0)})}}function rs(pe,Ee){if(!(pe instanceof Ee))throw new TypeError("Cannot call a class as a function")}function os(pe,Ee){for(var Be=0;Bepe.length)&&(Ee=pe.length);for(var Be=0,ke=new Array(Ee);Be=pe.length?{done:!0}:{done:!1,value:pe[ke++]}},e:function(Pt){throw Pt},f:Ke}}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 Ue,ut=!0,at=!1;return{s:function(){Be=Be.call(pe)},n:function(){var Pt=Be.next();return ut=Pt.done,Pt},e:function(Pt){at=!0,Ue=Pt},f:function(){try{ut||Be.return==null||Be.return()}finally{if(at)throw Ue}}}}function Fl(pe){var Ee=32;switch(pe){case 0:Ee=23;break;case 1:Ee=26;break;case 2:default:Ee=32;break;case 3:Ee=38}return Ee}function iu(pe){pe=pe.sort();for(var Ee=[],Be=0;BeEe&&Be<2*Ee||Be>Ee&&Be<3*Ee)&&ke.push(pe.length);var Pt=ke.length;Pt===1?Ke.push({text:pe,x:0,y:0}):Pt===2?ke.forEach(function(bt,Ht){Ht===0?Ke.push({text:pe.substring(0,bt),x:0,y:-7}):Ke.push({text:pe.substring(ke[0],bt),x:0,y:7})}):ke.forEach(function(bt,Ht){Ht===0?Ke.push({text:pe.substring(0,bt),x:0,y:-12}):Ht===1?Ke.push({text:pe.substring(ke[0],bt+1),x:0,y:4}):pe.length>bt?(()=>{var ln=Ke.reduce((rn,Vn)=>rn+Vn.text.length,0);Ke.push({text:pe.substring(ln,ln+2)+(pe.length-(ln+2)>0?"...":""),x:0,y:16})})():Ke.push({text:pe.substring(ke[1]+1,bt),x:0,y:16})})}(),Ke}Br.prototype;var bu=["circle","rect","ellipse"],Ll=["url(#radialGradient-1)","url(#radialGradient-2)","url(#radialGradient-3)"],Js=["url(#lines1)","url(#lines2)","url(#lines3)"];function wl(pe,Ee,Be){return pe.selectAll(".node-circle").remove(),pe.selectAll(".node-circle").data(Ee,function(ke){return ke.id}).enter().append(function(ke){return bu.includes(ke.shape)?document.createElementNS("http://www.w3.org/2000/svg",ke.shape):document.createElementNS("http://www.w3.org/2000/svg","circle")}).style("display",function(ke){return ke.hide?"none":"block"}).style("opacity",function(ke){return ke.hide?"0":"1"}).attr("r",function(ke){return ke.shape=="circle"?Vl(ke.size):null}).attr("rx",function(ke){return ke.shape=="ellipse"?Vl(ke.size)+10:ke.shape=="rect"?10:null}).attr("ry",function(ke){return ke.shape=="ellipse"?Vl(ke.size)+10:ke.shape=="rect"?10:null}).attr("width",function(ke){return ke.shape=="rect"?3*(Vl(ke.size)-6):2*(Vl(ke.size)-6)}).attr("height",function(ke){return ke.shape=="rect"?1.5*(Vl(ke.size)-6):2*(Vl(ke.size)-6)}).attr("fill",function(ke){return ke.colorType?Ll[ke.colorType-1]:ke.color||"url(#radialGradient-1)"}).attr("color",function(ke){return ke.color||"#2E8B57"}).attr("class",function(ke){return"node-circle node-circle-".concat(ke.id," transition-opacity duration-500")}).attr("id",function(ke){return"node-circle".concat(ke.id)}).style("cursor","pointer").on("mouseover",function(ke,Ke){var Ue=Ke.activeColor||"#008FFF";ke.target.setAttribute("stroke",Ue),ke.target.setAttribute("stroke-width","8")}).on("mouseout",function(ke){ke.target.setAttribute("stroke-width","0")}).append("title").text(function(ke){return ke.name}),pe.selectAll(".node-circle")}function Vl(pe){var Ee=32;switch(pe){case 0:Ee=23;break;case 1:Ee=26;break;case 2:default:Ee=32;break;case 3:Ee=38}return Ee}function Uu(pe,Ee){return pe.selectAll("text").remove(),pe.selectAll("text").data(Ee,function(Be){return Be.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(Be){return"node-text node-circle node-circle--text-".concat(Be.id," node-text-").concat(Be.id," transition-opacity duration-500")}).style("cursor","pointer").append("svg:title").text(function(Be){return Be.name}),pe.selectAll("text").style("display",function(Be){return Be.hide?"none":"block"}),pe.selectAll("text").attr("d",function(Be){Be.shape=="rect"?Ni(".node-circle--text-".concat(Be.id)).append("tspan").style("cursor","pointer").append("tspan").text(function(ke){return ke.name}):Ou(Be.name,Vl(Be.size)).forEach(function(ke,Ke){Ni(".node-circle--text-".concat(Be.id)).append("tspan").style("cursor","pointer").attr("class",function(Ue){return"node-circle--tspan-".concat(Ue.id,"-").concat(Ke)}).attr("x",ke.x).attr("y",ke.y).text(function(){return ke.text})})}),pe.selectAll("text")}function xu(pe){var Ee=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Be=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],ke=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},Ke=ke._ops,Ue=Ni("body"),ut=[];if(Ee&&Ke.isShowBatchOperation)return Be.push(pe.id),Ni("".concat(Ke.containerName)).style("background","#5e5e5e"),Be.forEach(function(ln){ut.push(Ue.select("".concat(Ke.containerName," .node-circle-").concat(ln)).attr("color"))}),Ue.selectAll("".concat(Ke.containerName," .node-circle")).attr("fill","#3c3b3b"),Be.forEach(function(ln,rn){Ue.select("".concat(Ke.containerName," .node-circle-").concat(ln)).attr("fill",ut[rn])}),void Ni(".graph-bath").style("display","block");if(Ke.isShowMask){var at=[],Pt=[];Ke.links.map(function(ln){ln.source.id==pe.id&&(at.push(ln.target.id),Pt.push(ln.source.id+ln.target.id)),ln.target.id==pe.id&&(at.push(ln.source.id),Pt.push(ln.source.id+ln.target.id))});var bt=iu(at),Ht=iu(Pt);bt.push(pe.id),Ue.selectAll("".concat(Ke.containerName," .line-item")).style("display","none"),Ni("".concat(Ke.containerName)).style("background","#5e5e5e"),bt.forEach(function(ln){ut.push(Ue.select("".concat(Ke.containerName," .node-circle-").concat(ln)).attr("color"))}),Ue.selectAll("".concat(Ke.containerName," .node-circle")).attr("fill","#3c3b3b"),bt.forEach(function(ln,rn){Ue.select("".concat(Ke.containerName," .node-circle-").concat(ln)).attr("fill",ut[rn])}),Ht.forEach(function(ln){Ue.selectAll("".concat(Ke.containerName," .line-item-").concat(ln)).style("display",function(rn){return rn.hide?"none":"block"})})}}var cu=[],pc={addPath:function(pe){pe.forEach(function(Ee){var Be=cu.indexOf(Ee);Be!=-1&&cu.splice(Be,1),cu.unshift(Ee)})},getPath:function(){return cu},clearPath:function(){cu.length=0}};function Ac(pe,Ee,Be,ke){return ot.apply(this,arguments)}function ot(){return ot=wo(Ci().mark(function pe(Ee,Be,ke,Ke){var Ue;return Ci().wrap(function(ut){for(;;)switch(ut.prev=ut.next){case 0:return Ue=ke._ops,ut.delegateYield(Ci().mark(function at(){var Pt,bt,Ht,ln,rn,Vn,sn,vn,Dn,En,Et,Kr,Pi,ja,wi,Ka,vo,mo,ii,Ki,Mo,fr,tr,Fi,_i,La,ki,ma,To,go;return Ci().wrap(function(ia){for(;;)switch(ia.prev=ia.next){case 0:ia.t0=Ee,ia.next=ia.t0==="remove"?3:ia.t0==="hide"?19:ia.t0==="contraction"?22:ia.t0==="extend"?42:ia.t0==="editSize"?62:ia.t0==="editColor"?71:ia.t0==="editShape"?79:ia.t0==="extend-path"?87:ia.t0==="contraction-path"?96:100;break;case 3:Pt=0;case 4:if(!(Pt1?ki[1]:null)&&Wt.contractionPath(ma,ki,ke),Wt.extendPath(La,ke),Wt.previousStep.id=La,Wt.previousStep.operate="extend",ke.update(),ia.abrupt("break",100);case 96:return To=Be[0],(go=pc.getPath()).indexOf(To)!=-1&&(Wt.contractionPath(To,go,ke),Wt.previousStep.operate=="extend"&&Wt.previousStep.id!=To?(Wt.extendPath(Wt.previousStep.id,ke),Wt.previousStep.operate="extend"):(Wt.previousStep.id=To,Wt.previousStep.operate="contraction"),ke.update()),ia.abrupt("break",100);case 100:case"end":return ia.stop()}},at)})(),"t0",2);case 2:Ni(Ue.containerName).style("background",Ue.background);case 3:case"end":return ut.stop()}},pe)})),ot.apply(this,arguments)}var ht,Wt={extendPath:function(pe,Ee){for(var Be=Ee._ops,ke=Be.nodes,Ke=Be.links,Ue=[],ut=[],at=0;at0)for(var Ht=0;Ht1&&arguments[1]!==void 0?arguments[1]:{};ht=pe,Ee._linkContainer.selectAll(".connect-item")._groups[0].length||Ee._linkContainer.append("g").attr("class","connect-item").append("path").attr("stroke-width",2).attr("stroke","#5e5ef0").attr("class","connect-item-inner"),Ni("".concat(Ee._ops.containerName)).on("mousemove",function(Be){dr(Be,Ee)})}function dr(pe,Ee){var Be,ke,Ke,Ue=(Be=Ee._linkContainer._groups[0][0].parentNode.attributes.transform,{translate:(Ke=(ke=Be)&&/translate/.test(ke.value)&&/scale/.test(ke.value)&&ke.value.match(/translate\(([^\)]+)\)\s?scale\(([^\)]+)/))&&Ke[1].split(",")||[0,0],scale:Ke&&Ke[2]||1}),ut=Ue.translate,at=Ue.scale;Ee._linkContainer.selectAll(".connect-item-inner").attr("d",function(){return"M".concat(ht.x,", ").concat(ht.y," L").concat(pe.offsetX/at-ut[0]/at,", ").concat(pe.offsetY/at-ut[1]/at)})}function pr(pe){return Array.isArray(pe[0])?{message:"success",done:function(Ee){for(var Be=0;Be1&&arguments[1]!==void 0?arguments[1]:"order",Be=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,ke=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,Ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Ue=!0;return ke==1&&pe.length%2==0&&(Ue=!1),pe.map(function(ut,at){ut._level=ke,ut._value=ke==1?at+1:at+1+(Be-1)*pe.length,ut._parent=ke==2?1:Ke,ut._site=ke!=1||Ue?Ee:at=Dn/2){var ja=Kr.startAngle;Kr.startAngle=Kr.endAngle,Kr.endAngle=ja}return Kr})):(Dn=bt._level==1?bt.children.length*ln._toolbarData.length:bt.children.length*bt._num,vn=nt()(new Array(Dn).fill(1)).map(function(Kr){if(bt._site=="left"){var Pi=Kr.startAngle;Kr.startAngle=Kr.endAngle,Kr.endAngle=Pi}return Kr})),Ht._num=vn.length;var Et=bt._value;return Ht._site=="left"?(En=vn.slice(vn.length/2,vn.length),Et=bt._value-bt._num/2):En=vn.slice(0,vn.length/2),rn=ms(En,En.length/(bt._num/2))[Et-1],bt._level==0&&(rn=vn),rn}(Be,Ue,ke),Pt=Ns(at[ut].startAngle,at[ut].endAngle);return function(bt){return Xi?function(Ht,ln,rn,Vn,sn,vn,Dn,En){var Et=So(rn[Dn].startAngle,ln(Ht),sn._level+1,sn._level+2,En),Kr=Et.centroid(rn[Dn]);return Vn[Dn].setAttribute("x",Kr[0]-6),Vn[Dn].setAttribute("y",Kr[1]-6),En._operationContainer.selectAll("".concat(vn," .pie-icon")).transition().delay(150).styleTween("display",function(){return Us("none",Xi?"block":"none")}),Et()}(bt,Pt,at,Ke,Be,Ee,ut,ke):""}})}}}]),pe}();function Ia(pe){pe.selectAll(".arc-item .pie-item").interrupt().attr("d",null),pe.selectAll(".arc-item .pie-icon").interrupt().style("display","none"),pe.style("display","none"),pe.selectAll(".operation-item").attr("transform",function(){return"rotate(0)"}),Xi=!1}var So=function(pe,Ee){var Be=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,ke=arguments.length>3&&arguments[3]!==void 0?arguments[3]:2,Ke=arguments.length>4?arguments[4]:void 0;return Sl().innerRadius(Be*Ke.containerSize+2).outerRadius(ke*Ke.containerSize).padAngle(.02).startAngle(pe).endAngle(Ee)};function hs(){return hs=wo(Ci().mark(function pe(Ee,Be,ke){var Ke,Ue,ut;return Ci().wrap(function(at){for(;;)switch(at.prev=at.next){case 0:at.t0=Ee.type,at.next=at.t0==="connect"?3:at.t0==="unlocked"?8:33;break;case 3:return la.length=0,pa=!0,la.push(Be),Bn(Be,ke._example),at.abrupt("break",36);case 8:Ue=ni(ke._example._ops.nodes),at.prev=9,Ue.s();case 11:if((ut=Ue.n()).done){at.next=19;break}if((Ke=ut.value).id!=Be.id){at.next=17;break}return Ke.fx=null,Ke.fy=null,at.abrupt("break",19);case 17:at.next=11;break;case 19:at.next=24;break;case 21:at.prev=21,at.t1=at.catch(9),Ue.e(at.t1);case 24:return at.prev=24,Ue.f(),at.finish(24);case 27:return ke._example._simulation._simulation.nodes(ke._example._ops.nodes),ke._example._simulation._simulation.alphaTarget(.08).restart(),setTimeout(function(){ke._example._simulation._simulation.alphaTarget(0)},300),at.next=32,Ee.click(Be);case 32:return at.abrupt("break",36);case 33:return at.next=35,Ee.click({node:Be});case 35:Ac(Ee.type,[Be.id],ke._example);case 36:Wr=null,Ia(ke._operationContainer);case 38:case"end":return at.stop()}},pe,null,[[9,21,24,27]])})),hs.apply(this,arguments)}function jo(){return(jo=wo(Ci().mark(function pe(Ee,Be){var ke,Ke,Ue;return Ci().wrap(function(ut){for(;;)switch(ut.prev=ut.next){case 0:return Ni(".graph-container").on("mousemove",null),pa=!1,la.push(Ee),Ke={node:Ee,connects:(ke=[]).concat.apply(ke,la)},ut.next=6,Qi.click(Ke);case 6:Ue=ut.sent,pr(Ue||[la.splice(0)]).done(Be),xu(Ke.connects[0],!1,[],Be),la.length=0;case 11:case"end":return ut.stop()}},pe)}))).apply(this,arguments)}function ms(pe,Ee){for(var Be=[],ke=0;ke4&&arguments[4]!==void 0?arguments[4]:1,Ue=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,ut=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7;this.deflection=ke;var at=function(ki){return ki*ki},Pt=this.deflection*Math.PI/180,bt={x:Math.cos(Pt)*pe,y:Math.sin(Pt)*pe},Ht=pe/(Ee+ut),ln=-Be*Ht/(1-Ht),rn=function(ki,ma,To,go){var ia=ki.y/(ki.x-ln),As=ki.y-ia*ki.x,Ws=1+at(ia),Vu=2*(ia*As-To),du=at(As)+at(To)-at(ma),Yu={x:(-Vu+go*Math.sqrt(at(Vu)-4*Ws*du))/(2*Ws)};return Yu.y=(Yu.x-ln)*ia,Yu},Vn=rn(bt,Ee+ut,Be,-1),sn=-bt.x/bt.y,vn=bt.y+at(bt.x)/bt.y,Dn=-(Vn.x-Be)/Vn.y,En=Vn.y+(Vn.x-Be)*Vn.x/Vn.y,Et=(vn-En)/(Dn-sn),Kr=sn*Et+vn,Pi=Math.sqrt(at(Et-bt.x)+at(Kr-bt.y)),ja=Math.atan2(bt.x-Et,Kr-bt.y),wi=Math.atan2(Vn.x-Et,Kr-Vn.y),Ka=(ja+wi)/2;this.deflection>0&&(Ka+=Math.PI);var vo=wi-ja;this.deflection>0&&(vo=2*Math.PI-vo),this.shaftLength=vo*Pi,ja>wi&&(this.shaftLength=0),this.midShaftPoint={x:Et+Pi*Math.sin(Ka),y:Kr-Pi*Math.cos(Ka)};var mo=function(ki){var ma=(ki<0?1:-1)*Math.sqrt(at(ki)/(1+at(sn))),To=sn*ma;return{x:bt.x+ma,y:bt.y+To}},ii=function(ki){var ma=(ki<0?-1:1)*Math.sqrt(at(ki)/(1+at(Dn))),To=Dn*ma;return{x:Vn.x+ma,y:Vn.y+To}},Ki=function(ki,ma){return{x:Et+(Pi+ma)*Math.sin(ki),y:Kr-(Pi+ma)*Math.cos(ki)}},Mo=function(ki){var ma=(ki<0?-1:1)*Math.sqrt(at(ki)/(1+at(1/Dn))),To=ma/Dn;return{x:Vn.x+ma,y:Vn.y-To}},fr=function(ki){return ki.x+","+ki.y},tr=Ke/2,Fi=Ue/2,_i=bt.y>0?0:1,La=bt.y<0?0:1;this.outline=function(){if(ja>wi)return["M",fr(ii(-Fi)),"L",fr(Mo(ut)),"L",fr(ii(Fi)),"Z"].join(" ");var ki=Ka-0,ma=Ka+0;return["M",fr(mo(tr)),"L",fr(mo(-tr)),"A",Pi-tr,Pi-tr,0,0,_i,fr(Ki(ki,-tr)),"L",fr(Ki(ki,tr)),"A",Pi+tr,Pi+tr,0,0,La,fr(mo(tr)),"Z","M",fr(Ki(ma,tr)),"L",fr(Ki(ma,-tr)),"A",Pi-tr,Pi-tr,0,0,_i,fr(ii(-tr)),"L",fr(ii(-Fi)),"L",fr(Mo(ut)),"L",fr(ii(Fi)),"L",fr(ii(tr)),"A",Pi+tr,Pi+tr,0,0,La,fr(Ki(ma,tr))].join(" ")}}function ho(pe,Ee,Be){var ke=arguments.length>3&&arguments[3]!==void 0?arguments[3]:8,Ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1,Ue=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7,ut=arguments.length>6&&arguments[6]!==void 0?arguments[6]:7,at=Be*Math.PI/180,Pt=pe,bt=pe+ut,Ht=pe+Ee,ln=Ht*Math.tan(at/2),rn=Ke/2;function Vn(Et,Kr){return Et+","+Kr}this.shaftLength=3*ln+Ke;var sn=function(Et,Kr,Pi){var ja=Kr*Math.tan(at/2),wi=Kr/Math.cos(at/2);return Vn((ja+Pi)*Math.sin(Et),wi+(ja+Pi)*Math.cos(Et))},vn=function(){var Et=sn(0,Ht,rn+ke/2+2).split(",");return{x:Et[0],y:Et[1]}};this.midShaftPoint=vn();var Dn=function(Et,Kr){return sn((Math.PI+at)/2,Et,Kr)},En=function(Et,Kr){return sn(-(Math.PI+at)/2,Et,Kr)};this.outline=function(){var Et=ln-rn,Kr=ln+rn;return["M",Dn(Pt,rn),"L",Dn(Ht,rn),"A",Kr,Kr,0,1,1,En(Ht,rn),"L",En(bt,rn),"L",En(bt,-Ue/2),"L",En(Pt,0),"L",En(bt,Ue/2),"L",En(bt,-rn),"L",En(Ht,-rn),"A",Et,Et,0,1,0,Dn(Ht,-rn),"L",Dn(Pt,-rn),"Z"].join(" ")}}function is(pe,Ee,Be){var ke=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,Ke=arguments.length>4&&arguments[4]!==void 0?arguments[4]:7,Ue=arguments.length>5&&arguments[5]!==void 0?arguments[5]:7;this.length=Be-(pe+Ee),this.shaftLength=this.length-Ue;var ut=pe,at=ut+this.shaftLength,Pt=ut+this.length,bt=ke/2,Ht=Ke/2;this.midShaftPoint={x:ut+this.shaftLength/2,y:0},this.outline=function(){var ln=0,rn=0;return["M",ut,bt,"L",ln,bt,"L",ln,-bt,"L",ut,-bt,"Z","M",rn,bt,"L",at,bt,"L",at,Ht,"L",Pt,0,"L",at,-Ht,"L",at,-bt,"L",rn,-bt,"Z"].join(" ")}}function po(){}var wa=new po;function Ya(pe,Ee){this.relationships=[],pe.idke)return Be;var Ke=Math.ceil((ke-Ee)/12);return Be.length-Ke<=0?"":Be.substr(0,Be.length-Ke)+"\u2026"}},po.prototype.distributeAnglesForLoopArrows=function(pe,Ee){for(var Be,ke=0,Ke=Array.from(pe);ke0){var rn=void 0,Vn=void 0,sn={start:0,end:0};for(Ue=0;Uesn.end-sn.start&&(sn.start=Vn,sn.end=rn);for(ut=(sn.end-sn.start)/(Be.relationships.length+1),Ue=0;Ue150?150/bt:30,ln=0;lnrn.x&&(Ue=rn.x),utrn.y&&(at=rn.y),Pt=rn)){(Et.data!==ut||Et.next)&&(wi===0&&(mo+=(wi=Go(at))*wi),Ka===0&&(mo+=(Ka=Go(at))*Ka),moEn+Fi||KiEt+Fi||MoDn.index){var _i=En-fr.x-fr.vx,La=Et-fr.y-fr.vy,ki=_i*_i+La*La;kisn.r&&(sn.r=sn[vn].r)}function Vn(){if(ut){var sn,vn,Dn=ut.length;for(at=new Array(Dn),sn=0;sn3&&arguments[3]!==void 0?arguments[3]:1,Ue=ke.benchmark,ut=ke.height,at=ke.width,Pt=ke.isResize,bt=ke.layout,Ht=bt.distance?bt.distance:Math.min(ut,at)/2-80,ln=Pl(Be).iterations(.05).id(function(rn){return rn[Ue]}).distance(function(){return Be.length<=5&&Pt?100:Be.length<=20&&Pt?Ht:Be.length<=60?180:230});this._simulation.nodes(Ee).force("link",ln).velocityDecay(.2).alpha(Ke).alphaDecay(.08),this._simulation.restart()}},{key:"addSimulationEvent",value:function(Ee,Be,ke,Ke){var Ue=this,ut=Lo(Ee,3),at=ut[0],Pt=ut[1],bt=ut[2];this._simulation.on("tick",function(){return wa.layoutRelationships(Ke),Ue._root.layout.force&&wa.layoutNodes(Ue._root),at.attr("transform",function(Ht){return"translate("+Ht.source.x+" "+Ht.source.y+") rotate("+(Ht.naturalAngle-180)+")"}),Pt.attr("d",function(Ht){return Ht.arrow.outline(Ht)}),bt.attr("x",function(Ht){return Ht.arrow.midShaftPoint.x}).attr("y",function(Ht){return Ht.arrow.midShaftPoint.y+13}).attr("transform",function(Ht){return Ht.naturalAngle<90||Ht.naturalAngle>270?"rotate(180 "+Ht.arrow.midShaftPoint.x+" "+Ht.arrow.midShaftPoint.y+")":null}).text(function(Ht){return Ht.shortCaption}),Be.attr("cx",function(Ht){return Ht.x}).attr("cy",function(Ht){return Ht.y}).attr("x",function(Ht){return Ht.shape=="rect"?Ht.x-Fl(Ht.size):Ht.x-Ht.size+6}).attr("y",function(Ht){return Ht.shape=="rect"?Ht.y-Fl(Ht.size)/1.5:Ht.y-Ht.size+6}),void ke.attr("x",function(Ht){return Ou(Ht.name,Fl(Ht.size)).forEach(function(ln,rn){Ni(".node-circle--tspan-".concat(Ht.id,"-").concat(rn)).attr("x",Ht.x).attr("y",ln.y+Ht.y)}),Ht.x}).attr("y",function(Ht){return Ht.y})})}},{key:"drag",value:function(){var Ee=this;return function(){var Be,ke,Ke,Ue,ut=Qr,at=ir,Pt=ri,bt=ua,Ht={},ln=Bt("start","drag","end"),rn=0,Vn=0;function sn(wi){wi.on("mousedown.drag",vn).filter(bt).on("touchstart.drag",Et).on("touchmove.drag",Kr,_o).on("touchend.drag touchcancel.drag",Pi).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function vn(wi,Ka){if(!Ue&&ut.call(this,wi,Ka)){var vo=ja(this,at.call(this,wi,Ka),wi,Ka,"mouse");vo&&(Ni(wi.view).on("mousemove.drag",Dn,co).on("mouseup.drag",En,co),ys(wi.view),kn(wi),Ke=!1,Be=wi.clientX,ke=wi.clientY,vo("start",wi))}}function Dn(wi){if(Yi(wi),!Ke){var Ka=wi.clientX-Be,vo=wi.clientY-ke;Ke=Ka*Ka+vo*vo>Vn}Ht.mouse("drag",wi)}function En(wi){Ni(wi.view).on("mousemove.drag mouseup.drag",null),$o(wi.view,Ke),Yi(wi),Ht.mouse("end",wi)}function Et(wi,Ka){if(ut.call(this,wi,Ka)){var vo,mo,ii=wi.changedTouches,Ki=at.call(this,wi,Ka),Mo=ii.length;for(vo=0;vo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - `;se.createContainer=class{constructor(pe){var Ee=["style","innerHTML","body","absolute","append","defsvg","div","createElement","zIndex"],Be=function(at,Pt){at=at-0;var bt=Ee[at];return bt};if(!document.getElementById("defsvg")){var ke=document[Be("0x7")](Be("0x6"));ke.id=Be("0x5"),ke[Be("0x1")]=$r,ke[Be("0x0")].position=Be("0x3"),ke.style.top="-10000px",ke[Be("0x0")][Be("0x8")]=-1,document[Be("0x2")][Be("0x4")](ke)}Ui.prototype.addElement=function(at){for(var Pt=arguments.length,bt=new Array(Pt>1?Pt-1:0),Ht=1;Ht2&&arguments[2]!==void 0?arguments[2]:.1,vn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:15,Dn=jr().scaleExtent([sn,vn]).on("zoom",function(En){Vn.attr("transform",En.transform)});ut.zoom=Dn,rn.call(Dn),Vn.on("dblclick.zoom",null),rn.on("dblclick.zoom",null)}(Ht,ln,bt.zoomOptions.minScale,bt.zoomOptions.maxScale)}(Ke,this),this._simulation=new Ds(this),this._pie=new hi(this),this.update()}addNode(pe){(function(Ee,Be){Be._ops.nodes.push(Ee),Be.update()})(pe,this)}zoomIn(){Ni(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,1.2)}zoomOut(){Ni(this._ops.containerName).select("svg").transition().duration(750).call(this.zoom.scaleBy,.8)}toggleNode(pe){if(!this._ops.clickToggle)return;var Ee=this._ops.nodes,Be=this._ops.links;pe.isExtendedState=!pe.isExtendedState;var ke=!pe.isExtendedState,Ke=[pe.id];function Ue(ut,at,Pt){Pt.forEach(bt=>{if(bt.source.id===ut){bt.hide=ke;const Ht=at.find(ln=>ln.id===bt.target.id);Ht&&(Ht.hide=ke,Ke.push(Ht.id),Ue(Ht.id,at,Pt))}})}setTimeout(()=>{Ke.forEach(ut=>{Be.forEach(at=>{(at.source.id===ut||at.target.id===ut)&&at.target.id!==pe.id&&(at.hide=ke)})}),this.update()},100),Ue(pe.id,Ee,Be)}showAllNodes(){this._ops.nodes.forEach(pe=>{pe.hide=!1}),this._ops.links.forEach(pe=>{pe.hide=!1}),this.update()}deleteNode(pe){(function(Ee,Be){Be._ops.nodes=Be._ops.nodes.filter(function(ke){return ke.id!==Ee.id}),Be._ops.links=Be._ops.links.filter(function(ke){return ke.source.id!==Ee.id&&ke.target.id!==Ee.id}),Be.update(),Ia(Be.operationContainer)})(pe,this)}scrollToNode(pe){const Be=document.querySelector(this._ops.containerName+" svg").querySelector("g.graph-box"),ke=this._ops.nodes.find(Ht=>Ht.id===pe);if(!ke)return;const Ke=ke.x,Ue=ke.y,ut=1287,at=596,Pt=ut/2-Ke,bt=at/2-Ue;Be.setAttribute("transform",`translate(${Pt}, ${bt})`)}selectToNode(pe){const Ee=document.querySelector(this._ops.containerName+" svg");document.body.querySelectorAll("circle.node-circle").forEach(Be=>{Be.classList.remove("highlightNode")}),pe&&Ee.querySelector(".node-circle-"+pe).classList.add("highlightNode")}update(pe=!0,Ee={}){var Be,ke;this._pie.showPie("");const Ke=this._ops.nodes,Ue=this._ops.links,ut=this._nodeContainer.addElement(wl,Ke,this),at=this._linkContainer.addElement(cn,Ue,this),Pt=this._textContainer.addElement(Uu,Ke);ut.on("click",(rn,Vn)=>he(this,null,function*(){this.toggleNode(Vn);const sn=yield this._ops.nodeClick(Vn);if(sn){const{type:vn,id:Dn}=sn;Ac(vn,Dn,this)}})),this._ops.isCustomMouse&&(ut.on("mouseover",(rn,Vn)=>he(this,null,function*(){yield this._ops.nodeMouseover(Vn)})),ut.on("mouseout",()=>he(this,null,function*(){yield this._ops.nodeMouseout()}))),ut.on("contextmenu",(rn,Vn)=>{rn.preventDefault(),this._pie.showPie(Vn,rn)}),ut.call(this._simulation.drag());const bt=(Be=document.querySelector(this._ops.containerName))===null||Be===void 0?void 0:Be.clientWidth,Ht=(ke=document.querySelector(this._ops.containerName))===null||ke===void 0?void 0:ke.clientHeight,ln=document.getElementsByClassName(`${this._ops.containerName}-graph-container`)[0];ln&&bt&&Ht&&(this._ops.width=bt,this._ops.height=Ht,ln.setAttribute("viewBox",`0 0 ${bt} ${Ht}`)),pe?this._simulation.updateSimulation(Ke,Ue,this._ops):this._simulation.updateSimulation(Ke,Ue,this._ops,.1),this._simulation.addSimulationEvent(at,ut,Pt,Ue),function(rn,Vn){var sn=["object","function","undefined"];if(ya(Vn)!=="object")return rn;for(var vn in Vn)sn.indexOf(ya(Vn[vn]))===-1&&(rn[vn]=Vn[vn])}(this._ops,Ee),Object.getOwnPropertyNames(Ee).length&&this._updateBaseTheme()}_updateBaseTheme(){Ni(this._ops.containerName).style("background",this._ops.background)}},se.storage=pc,Object.defineProperty(se,"__esModule",{value:!0})})},32546:function(Hn,xr,he){"use strict";he.d(xr,{Ax:function(){return Rt},Ds:function(){return Dt},KI:function(){return Le},SI:function(){return Bt},f1:function(){return je}});var se=he(42684);function je(Xe){let _e=!0;if(Xe.length>0){for(let It=0;ItWe in Ye?Le(Ye,We,{enumerable:!0,configurable:!0,writable:!0,value:pt}):Ye[We]=pt,_e=(Ye,We,pt)=>Xe(Ye,typeof We!="symbol"?We+"":We,pt),It=(Ye,We,pt)=>new Promise((mt,Jt)=>{var Qt=Gt=>{try{Ft(pt.next(Gt))}catch(Je){Jt(Je)}},$t=Gt=>{try{Ft(pt.throw(Gt))}catch(Je){Jt(Je)}},Ft=Gt=>Gt.done?mt(Gt.value):Promise.resolve(Gt.value).then(Qt,$t);Ft((pt=pt.apply(Ye,We)).next())});class vt extends se.Component{constructor(We){super(We),_e(this,"canvas"),_e(this,"randomNum",(pt,mt)=>Math.floor(Math.random()*(mt-pt)+pt)),_e(this,"drawPic",()=>{this.randomCode()}),_e(this,"reloadPic",()=>{this.drawPic()}),_e(this,"changeCode",pt=>{console.log(pt.target.value,222),this.setState({value:pt.target.value,showError:!1})}),_e(this,"onVerify",()=>{let pt;return this.state.value.toLowerCase()!==""&&this.state.value.toLowerCase()!==this.state.code.toLowerCase()?(pt=!0,je.ZP.error("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u9A8C\u8BC1\u7801"),this.reloadPic()):this.state.value.toLowerCase()===""?(pt=!0,je.ZP.error("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801")):this.state.value.toLowerCase()===this.state.code.toLowerCase()&&(pt=!1),this.setState({showError:pt}),pt}),this.canvas=se.createRef(),this.state={value:"",code:"",codeLength:4,fontSizeMin:20,fontSizeMax:22,backgroundColorMin:240,backgroundColorMax:250,colorMin:10,colorMax:20,lineColorMin:40,lineColorMax:180,contentWidth:96,contentHeight:38,showError:!1}}componentDidMount(){this.drawPic()}randomColor(We,pt){const mt=this.randomNum(We,pt),Jt=this.randomNum(We,pt),Qt=this.randomNum(We,pt);return`rgb(${mt}, ${Jt}, ${Qt})`}drawText(We,pt,mt){We.fillStyle=this.randomColor(this.state.colorMin,this.state.colorMax);const Jt=this.randomNum(this.state.fontSizeMin,this.state.fontSizeMax);We.font=Jt+"px SimHei";const Qt=10,$t=(this.state.contentWidth-40)/(this.state.code.length-1);let Ft=Qt;mt>0&&(Ft=Qt+mt*$t);let Gt=this.randomNum(this.state.fontSizeMax,this.state.contentHeight-5);Jt>40&&(Gt=40);const Je=this.randomNum(-10,10);We.translate(Ft,Gt),We.rotate(Je*Math.PI/180),We.fillText(pt,0,0),We.rotate(-Je*Math.PI/180),We.translate(-Ft,-Gt)}drawLine(We){for(let pt=0;pt<1;pt++)We.strokeStyle=this.randomColor(this.state.lineColorMin,this.state.lineColorMax),We.beginPath(),We.moveTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),We.lineTo(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight)),We.stroke()}drawDot(We){for(let pt=0;pt<100;pt++)We.fillStyle=this.randomColor(0,255),We.beginPath(),We.arc(this.randomNum(0,this.state.contentWidth),this.randomNum(0,this.state.contentHeight),1,0,2*Math.PI),We.fill()}randomCode(){let We="";const pt="QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890";for(let mt=0;mt{const Jt=this.canvas.current.getContext("2d");Jt.textBaseline="bottom",Jt.fillStyle=this.randomColor(this.state.backgroundColorMin,this.state.backgroundColorMax),Jt.fillRect(0,0,this.state.contentWidth,this.state.contentHeight);for(let Qt=0;Qt{let pt;Modal.confirm({centered:!0,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",content:React.createElement("div",null,React.createElement("p",null,We),React.createElement(vt,{ref:mt=>pt=mt})),onOk:()=>It(void 0,null,function*(){if(pt.onVerify())return Promise.reject();Ye()})})};var Ot=vt},44599:function(Hn,xr,he){"use strict";var se=he(59301),je=he(42441),Bt=he(48961),Rt=he.n(Bt),Dt=Object.defineProperty,dt=Object.defineProperties,Le=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,vt=(mt,Jt,Qt)=>Jt in mt?Dt(mt,Jt,{enumerable:!0,configurable:!0,writable:!0,value:Qt}):mt[Jt]=Qt,wt=(mt,Jt)=>{for(var Qt in Jt||(Jt={}))_e.call(Jt,Qt)&&vt(mt,Qt,Jt[Qt]);if(Xe)for(var Qt of Xe(Jt))It.call(Jt,Qt)&&vt(mt,Qt,Jt[Qt]);return mt},Ot=(mt,Jt)=>dt(mt,Le(Jt));function Ye(mt,Jt,Qt=1/3,$t){let Ft=mt*Math.PI*2,Gt=Jt*Math.PI*2;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(Je,Sn){return JeGt?Math.cos(Gt)*(1+Math.cos(Sn)*Qt):Math.cos(Je)*(1+Math.cos(Sn)*Qt)},y:function(Je,Sn){return JeGt?Math.sin(Gt)*(1+Math.cos(Sn)*Qt):Math.sin(Je)*(1+Math.cos(Sn)*Qt)},z:function(Je,Sn){return Je<-Math.PI*.5?Math.sin(Je):Je>Math.PI*2.5?Math.sin(Je)*$t*.1:Math.sin(Sn)>0?1*$t*.1:-1}}}function We({pieData:mt=[],internalDiameterRatio:Jt=1/3}){var Qt,$t,Ft,Gt;const Je=[],Sn=mt==null?void 0:mt.reduce((et,tn)=>(et||0)+((tn==null?void 0:tn.value)||0),0);let _n=0,Cn=0;const Vt=[];for(let et=0;et<(mt==null?void 0:mt.length);et++){Cn=_n+(Sn==0?1:((Qt=mt==null?void 0:mt[et])==null?void 0:Qt.value)||0);const tn={itemStyle:(($t=mt==null?void 0:mt[et])==null?void 0:$t.itemStyle)||{},name:((Ft=mt==null?void 0:mt[et])==null?void 0:Ft.name)||`name${et}`,type:"surface",parametric:!0,parametricEquation:Ye(_n/(Sn||(mt==null?void 0:mt.length)),Cn/(Sn||(mt==null?void 0:mt.length)),Jt,((Gt=mt==null?void 0:mt[et])==null?void 0:Gt.value)||(Sn==0?25:0)),wireframe:{show:!1},pieData:mt==null?void 0:mt[et]};Vt.push(tn.name),Je.push(tn),_n=Cn}return Je.push({name:"pie2d",type:"pie",showEmptyCircle:!0,label:{show:!0,formatter:et=>`${et.value} - - ${et.name}`},startAngle:-35,radius:["49%","50%"],center:["50%","40%"],data:[...mt||[]].reverse(),itemStyle:{opacity:0}}),{legend:{left:"50%",top:"center",textStyle:{fontSize:12},data:Vt},xAxis3D:{},yAxis3D:{},zAxis3D:{},grid3D:{viewControl:{alpha:45,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1},left:"center",top:"-10%",show:!1,boxHeight:25},series:Je}}const pt=({dataSource:mt=[{name:"\u638C\u63E1\u738780%~100%",value:0,itemStyle:{color:"rgb(223,209,38)"}},{name:"\u638C\u63D0\u738760%~79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63A8\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}}],className:Jt="",style:Qt={},legend:$t={},internalDiameterRatio:Ft=1/3})=>{const[Gt,Je]=(0,se.useState)([]),Sn=(0,se.useCallback)(Vt=>{const pn=Vt.selected||{},et=mt.map(tn=>tn.name).filter(tn=>pn[tn]===!1);Je(et)},[mt]),_n=(0,se.useMemo)(()=>mt.filter(Vt=>!Gt.includes(Vt.name)),[mt,Gt]),Cn=(0,se.useMemo)(()=>{const Vt=We({pieData:_n,internalDiameterRatio:Ft}),pn=mt.map(tn=>tn.name),et=mt.reduce((tn,Ct)=>(tn[Ct.name]=!Gt.includes(Ct.name),tn),{});return Vt.legend=Ot(wt(wt({},Vt.legend),$t),{data:pn,selected:et}),Vt},[_n,$t,Ft,mt,Gt]);return se.createElement(je.Z,{onEvents:{legendselectchanged:Sn},className:`w-full h-full ${Jt}`,option:Cn,style:wt({height:"100%"},Qt)})};xr.Z=pt},78170:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return dt}});var se=he(60324),je={text:"text___FxbAX",wrap:"wrap___UlBQ1",contact:"contact____pUDq",img:"img___BapAv"},Bt=he(32637),Rt=he(59301),dt=({type:Le,style:Xe})=>{const _e=Rt.createElement("div",{className:je.wrap,onClick:It=>{It.preventDefault(),It.stopPropagation()}},Rt.createElement("p",null,Le==="shixun"||Le==="paths"?"\u5F53\u524D\u5B9E\u8DF5\u9879\u76EE\u662F\u9AD8\u6D88\u8017\u7C7B\u578B\u7684\u5B9E\u9A8C\u3002":"\u5F53\u524D\u8BD5\u5377\u5305\u542B\u9AD8\u6D88\u8017\u7C7B\u578B\u7684\u5B9E\u9A8C\u3002",Rt.createElement("br",null),"\u6839\u636E\u5E73\u53F0\u4F7F\u7528\u89C4\u5219\uFF0C\u9700\u8981\u6388\u6743\u624D\u80FD\u4F7F\u7528\u3002",Le==="paths"?"\u53D1\u9001\u5230\u8BFE\u5802":"\u53D1\u5E03","\u4F7F\u7528\u4E4B\u524D\uFF0C\u8BF7\u5148\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u83B7\u53D6\u6388\u6743\u7801\u3002"),Rt.createElement("div",{className:je.contact},Rt.createElement("div",{className:je.img},Rt.createElement("img",{src:Bt,width:"124px",height:"124px"})),Rt.createElement("div",{className:"tc font14 mt10",style:{color:"#777A93"}},"\u626B\u4E00\u626B\uFF0C\u83B7\u53D6\u6388\u6743\u7801")));return Rt.createElement(se.Z,{content:_e},Rt.createElement("span",{className:je.text,style:Xe},"\u9AD8\u6D88\u8017"))}},18997:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return vt}});var se=he(59301),je={imageDimensions:"imageDimensions___a7crR",img:"img___Kroat",fullWidth:"fullWidth___c492T"},Bt=he(92310),Rt=he.n(Bt),Dt=he(71418),dt=he(2859),Le=he(58661),Xe=he(85333),_e=(wt,Ot,Ye)=>new Promise((We,pt)=>{var mt=$t=>{try{Qt(Ye.next($t))}catch(Ft){pt(Ft)}},Jt=$t=>{try{Qt(Ye.throw($t))}catch(Ft){pt(Ft)}},Qt=$t=>$t.done?We($t.value):Promise.resolve($t.value).then(mt,Jt);Qt((Ye=Ye.apply(wt,Ot)).next())}),vt=({data:wt,className:Ot,fullWidth:Ye,style:We={},onClose:pt,onOk:mt,showFullTools:Jt,noAssociationId:Qt})=>{const $t=(0,se.useRef)(null),Ft=(0,se.useRef)(null),Gt=(0,se.useRef)(null),Je=(0,se.useRef)(null),[Sn,_n]=(0,se.useState)(!1),[Cn,Vt]=(0,se.useState)("\u6B63\u5728\u52A0\u8F7D\u4E2D");(0,se.useEffect)(()=>{Gt.current||(Gt.current=document.createElement("style"),document.head.appendChild(Gt.current)),wt!=null&&wt.visible?(document.body.setAttribute("data-custom","y-hidden"),Gt.current.innerHTML=" html { overflow-y: hidden; }",wt!=null&&wt.src&&pn()):(document.body.removeAttribute("data-custom"),Gt.current&&(document.head.removeChild(Gt.current),Gt.current=null))},[wt==null?void 0:wt.visible]);const pn=()=>_e(void 0,null,function*(){_n(!0),Vt("\u6B63\u5728\u52A0\u8F7D\u4E2D");const Mn=yield(0,Xe.ZJ)(wt==null?void 0:wt.src);$t.current.src="",$t.current.src=Mn,$t.current.onload=function(){Ln()},_n(!1),Vt("")}),et=()=>{document.body.removeAttribute("data-custom"),Gt.current.innerHTML=" ",pt()},tn=Mn=>_e(void 0,null,function*(){_n(!0),Vt("\u6B63\u5728\u4FDD\u5B58\u4E2D");const bn=yield(0,Le.ZP)("/api/attachments.json",{method:"post",body:{file_type:"base64",original_filename:wt.title,file:Mn.dataUrl}});bn!=null&&bn.id&&!Qt?(yield(0,Le.ZP)(`/api/attachments/${wt.id}/add_subitem.json`,{method:"post",body:{subitem_id:bn==null?void 0:bn.id,settings:JSON.stringify(Mn.state)}})).status===0&&mt():bn!=null&&bn.id&&mt(bn),document.body.removeAttribute("data-custom"),Gt.current.innerHTML=" ",_n(!1),Vt("")}),Ct=()=>{const Mn=document.querySelector('a[href="https://markerjs.com/"]');Mn&&Mn.parentNode&&(Mn.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(Dr=>{const oi=document.querySelector(Dr.name);oi&&oi.setAttribute("title",Dr.title)})},Ln=()=>{Ft.current=new dt.hP($t.current),Ft.current.targetRoot=Je.current,Ft.current.addEventListener("render",tn),Ft.current.addEventListener("beforeclose",et),Jt&&(Ft.current.availableMarkerTypes=Ft.current.ALL_MARKER_TYPES,Ft.current.uiStyleSettings.redoButtonVisible=!0,Ft.current.uiStyleSettings.notesButtonVisible=!0,Ft.current.uiStyleSettings.zoomButtonVisible=!0,Ft.current.uiStyleSettings.zoomOutButtonVisible=!0,Ft.current.uiStyleSettings.clearButtonVisible=!0),window.markerArea=Ft.current.uiStyleSettings,Ft.current.show(),wt!=null&&wt.snapshotData&&Ft.current.restoreState(wt.snapshotData),setTimeout(()=>{window.scrollTo(0,0),Ct()},300)};return se.createElement(se.Fragment,null,(wt==null?void 0:wt.visible)&&se.createElement(Dt.Z,{spinning:Sn,tip:Cn,style:{position:"absolute"}},se.createElement("div",{ref:Je,className:Rt()(je.imageDimensions,Ot,Ye?je.fullWidth:""),style:We},se.createElement("img",{className:je.img,ref:$t}))))}},80802:function(Hn,xr,he){"use strict";var se=he(59301),je=he(95237),Bt=he(43604),Rt=he(99313),Dt=he(3113),dt=he(58997),Le=he(2375),Xe=he(48136),_e=he(59301);const It=(0,se.forwardRef)(({callback:vt,showSaveButton:wt,value:Ot=""},Ye)=>{const We=(0,se.useRef)(),pt=[{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 "}]}]}],mt=[{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}`}]}]}],Jt=Ft=>{We.current.setValue(We.current.getValue()+" "+Ft.value+" ")},Qt=[{key:"1",label:"\u5FEB\u6377\u6A21\u677F",children:_e.createElement(je.Z,{className:Le.Z.lists,gutter:[10,10]},pt.map((Ft,Gt)=>_e.createElement(Bt.Z,{flex:"110px",className:Le.Z.item},_e.createElement("div",null,_e.createElement(dt.Z,{value:`$$${Ft.value}$$`}),Ft.name),_e.createElement("div",{className:Le.Z.children},Ft.children.map((Je,Sn)=>_e.createElement("div",{key:Sn},_e.createElement("h1",null,Je.name),_e.createElement(je.Z,{gutter:[10,10]},Je.data.map((_n,Cn)=>_e.createElement(Bt.Z,{key:Cn,onClick:()=>Jt(_n),className:Le.Z.diamond},_e.createElement(dt.Z,{value:"`$$"+_n.value+"$$`"}))))))))))},{key:"2",label:"\u516C\u5F0F\u6A21\u677F",children:_e.createElement(je.Z,{className:Le.Z.lists,gutter:[10,10]},mt.map((Ft,Gt)=>_e.createElement(Bt.Z,{flex:"110px",className:Le.Z.item},_e.createElement("div",null,_e.createElement(dt.Z,{value:"`$$"+Ft.value+"$$`"}),Ft.name),_e.createElement("div",{className:Le.Z.children},Ft.children.map((Je,Sn)=>_e.createElement("div",{key:Sn},Je.name&&_e.createElement("h1",null,Je.name),_e.createElement(je.Z,{gutter:[10,10]},Je.data.map((_n,Cn)=>_e.createElement(Bt.Z,{key:Cn,onClick:()=>Jt(_n),className:Le.Z.diamond},_e.createElement(dt.Z,{value:"`$$"+_n.value+"$$`"}))))))))))}],$t=()=>{var Ft=document.createElement("div");Ft.innerHTML=We.current.getValue();var Gt=Ft.innerText;return vt&&vt(Gt),Gt};return(0,se.useImperativeHandle)(Ye,()=>({getData:$t})),_e.createElement("div",{className:Le.Z.mathWrap},_e.createElement(Rt.default,{defaultActiveKey:"1",items:Qt}),_e.createElement("math-field",{locale:"zh_cn",className:Le.Z.mathField,placeholder:"\u8BF7\u6253\u5F00\u952E\u76D8\uFF0C\u8F93\u5165\u516C\u5F0F",ref:We,style:{width:800,marginTop:30,fontSize:18}},Ot||""),wt&&_e.createElement("div",{className:Le.Z.button},_e.createElement(Dt.ZP,{size:"large",onClick:$t,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668")))});xr.Z=It},56947:function(Hn,xr,he){"use strict";he.d(xr,{Q:function(){return dt}});var se=he(59301),je=he(57809),Bt=he(5112),Rt=he(5871),Dt=he(59301),dt=(Xe=>(Xe[Xe.Number=1]="Number",Xe[Xe.Percent=2]="Percent",Xe))(dt||{});const Le=({value:Xe,onChange:_e,disabled:It,hidePercentOption:vt=!1,percentType:wt="select"})=>{const Ot=(0,se.useMemo)(()=>vt?1:2,[vt]),[Ye,We]=(0,se.useState)(Ot);console.log(Ye);const pt=Jt=>Xe.type===1?`${Jt}\u5206`:`${Jt}%`,mt=(0,se.useCallback)(Jt=>{if(Ye===1){const Qt=Jt.replace("\u5206","");return isNaN(parseInt(Qt,10))?0:Qt}else return Jt.replace("%","")},[Ye]);return(0,se.useEffect)(()=>{We(Xe.type)},[Xe]),Dt.createElement("div",{style:{display:"flex",alignItems:"center"}},wt=="select"&&Dt.createElement(je.default,{size:"large",onChange:Jt=>{We(Jt),_e({type:Jt,inputValue:Jt===1?5:20})},value:Ye||Ot,style:{width:100},options:vt?[{label:"\u5206\u503C",value:1}]:[{label:"\u767E\u5206\u6BD4",value:2},{label:"\u5206\u503C",value:1}],disabled:It}),wt=="radio"&&Dt.createElement(Bt.ZP.Group,{size:"large",onChange:Jt=>{const Qt=Jt.target.value;We(Qt),_e({type:Qt,inputValue:Qt===1?5:20})},value:Ye||Ot,disabled:It},!vt&&Dt.createElement(Bt.ZP,{value:2,style:{marginRight:"50px"}},"\u767E\u5206\u6BD4\u6263\u5206"),Dt.createElement(Bt.ZP,{value:1},"\u56FA\u5B9A\u5206\u503C")),wt=="radio"&&Dt.createElement("div",{style:{marginRight:"10px",color:"#000000"}},Xe.type==2?"\u6263\u9664\u8865\u4EA4\u9636\u6BB5\u5F97\u5206\u7684":"\u6263\u9664\u603B\u6210\u7EE9\u7684"),Dt.createElement(Rt.Z,{size:"large",disabled:It,value:Xe.inputValue,style:{width:"120px"},parser:mt,addonAfter:Xe.type===1?"\u5206":"%",max:Ye===2?100:Number.MAX_SAFE_INTEGER,min:0,precision:0,onChange:Jt=>{_e({type:Ye,inputValue:Jt})}}),wt=="radio"&&Xe.type==2&&Dt.createElement("div",{style:{marginLeft:"10px",color:"#000000"}},"\u5206\u6570"))};xr.Z=Le},31217:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Le}});var se=he(36237),je=he(92736),Rt={token:{colorPrimary:"#1B8565",colorInfo:"#1B8565",colorLink:"#1B8565",borderRadius:2,fontSizeLG:14},components:{Radio:{radioSize:16,dotSize:6},Modal:{titleFontSize:16,titleColor:"#000"}}},Dt=he(59301),Le=({children:Xe,prefixCls:_e="knowledgeGraph"})=>document.documentElement.style.fontSize!==""?Dt.createElement(se.StyleProvider,{transformers:[(0,se.px2remTransformer)({rootValue:1})]},Dt.createElement(je.ZP,{prefixCls:_e,theme:Rt},Xe)):Dt.createElement(Dt.Fragment,null,Xe)},86822:function(Hn,xr,he){"use strict";var se=he(59301),je=he(78241),Bt=he(95237),Rt=he(57809),Dt=he(92832),dt=he(88522),Le=he(3113),Xe=he(24905),_e=he(6848),It=he(8591),vt=he(1710),wt=he(44225),Ot=he(66649),Ye=he.n(Ot),We=he(26724),pt=he.n(We),mt=he(58143),Jt=he(30450),Qt=he(93351),$t=he(42847),Ft=he(59301),Gt=Object.defineProperty,Je=Object.defineProperties,Sn=Object.getOwnPropertyDescriptors,_n=Object.getOwnPropertySymbols,Cn=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,pn=(yt,tt,Rn)=>tt in yt?Gt(yt,tt,{enumerable:!0,configurable:!0,writable:!0,value:Rn}):yt[tt]=Rn,et=(yt,tt)=>{for(var Rn in tt||(tt={}))Cn.call(tt,Rn)&&pn(yt,Rn,tt[Rn]);if(_n)for(var Rn of _n(tt))Vt.call(tt,Rn)&&pn(yt,Rn,tt[Rn]);return yt},tn=(yt,tt)=>Je(yt,Sn(tt)),Ct=(yt,tt,Rn)=>new Promise((fi,li)=>{var In=Or=>{try{Xr(Rn.next(Or))}catch(zn){li(zn)}},an=Or=>{try{Xr(Rn.throw(Or))}catch(zn){li(zn)}},Xr=Or=>Or.done?fi(Or.value):Promise.resolve(Or.value).then(In,an);Xr((Rn=Rn.apply(yt,tt)).next())});const Ln=[];function Mn({onSearch:yt,schools:tt}){return Ft.createElement(je.default,{colon:!1,layout:"horizontal",onFinish:yt,initialValues:{keyword:"",school_name:"",search_type:"1"}},Ft.createElement(Bt.Z,{style:{flexWrap:"nowrap"}},Ft.createElement(je.default.Item,{name:"search_type",label:"\u641C\u7D22\u7C7B\u578B"},Ft.createElement(Rt.default,{popupClassName:$t.Z.selectdown,style:{width:106}},Ft.createElement(Rt.default.Option,{value:"1"},"\u59D3\u540D"),Ft.createElement(Rt.default.Option,{value:"2"},"\u624B\u673A\u53F7"),Ft.createElement(Rt.default.Option,{value:"3"},"\u90AE\u7BB1"))),Ft.createElement(je.default.Item,{style:{marginLeft:20},label:"\u641C\u7D22\u5185\u5BB9",name:"keyword",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9"}]},Ft.createElement(Dt.default,{allowClear:!0,style:{width:300},size:"middle"})),Ft.createElement(je.default.Item,{style:{marginLeft:20},label:"\u5355\u4F4D",name:"school_name"},Ft.createElement(dt.Z,{options:tt,style:{width:300},size:"middle",showSearch:!0,filterOption:(Rn,fi)=>fi.value.toUpperCase().indexOf(Rn.toUpperCase())!==-1,placeholder:"\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"})),Ft.createElement(Le.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 bn=(yt=>(yt[yt.INITDATA=0]="INITDATA",yt[yt.INITSCHOOLS=1]="INITSCHOOLS",yt[yt.SHOWLOADING=2]="SHOWLOADING",yt[yt.SELECTEDIDS=3]="SELECTEDIDS",yt[yt.SETQUERY=4]="SETQUERY",yt[yt.SETPAGE=5]="SETPAGE",yt))(bn||{});function Dr(yt,tt){switch(tt.type){case 0:return et(et({},yt),tt.payload);case 4:return et(et({},yt),tt.payload);case 5:return tn(et({},yt),{page:tt.payload,reload:!1});case 2:return tn(et({},yt),{loading:tt.payload});case 1:return tn(et({},yt),{schools:tt.payload});case 3:return tn(et({},yt),{selectedIds:tt.payload});default:throw new Error}}const oi={data:[],schools:[],loading:!1,selectedIds:[],query:null,page:1,count:0,reload:!1};xr.Z=({onSelect:yt,onCancel:tt,container_id:Rn,container_type:fi})=>{const[li,In]=(0,se.useReducer)(Dr,oi),{data:an,schools:Xr,loading:Or,selectedIds:zn,page:Qn,count:Jn,query:qn,reload:On}=li;(0,se.useEffect)(()=>{function Xt(){return Ct(this,null,function*(){const{users:wn,user_count:Lt}=yield(0,Jt.nQ)(tn(et({},qn),{page:Qn,container_type:fi,container_id:Rn,display_aliases:!0}));In({type:0,payload:{data:On?wn:[...an,...wn],count:Lt}})})}qn&&Xt()},[Qn,qn,On,Rn,fi]),(0,se.useEffect)(()=>{function Xt(){return Ct(this,null,function*(){const{school_names:wn}=yield(0,Jt.K$)({display_aliases:!0});In({type:1,payload:wn.map(Lt=>({value:Lt}))})})}Xt()},[]);const qe=[{title:"",dataIndex:"added",width:40,ellipsis:!0,render:(Xt,wn)=>Ft.createElement(Xe.default,{value:wn.numid,checked:zn.includes(wn.numid),disabled:!!Xt})},{title:"\u59D3\u540D",width:100,ellipsis:!0,align:"left",dataIndex:"username",render:(Xt,wn)=>Ft.createElement("div",null,Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement(wt.Link,{style:{color:"#000000"},className:"bold c-black",to:`/users/${wn.login}`,target:"_blank"},Xt||"--")))},{title:"\u624B\u673A",width:100,dataIndex:"phone",ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Xt||"--"))},{title:"\u90AE\u7BB1",dataIndex:"email",width:100,ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Xt||"--"))},{title:"\u5B66\u53F7/\u5DE5\u53F7",width:100,dataIndex:"student_number",ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Xt||"--"))},{title:"\u5B66\u6821/\u5355\u4F4D",width:150,dataIndex:"school_name",ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Xt||"--"))},{title:"\u9662\u7CFB/\u90E8\u95E8",dataIndex:"depart_name",width:130,ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Xt||"--"))},{title:"\u5B9E\u540D\u8BA4\u8BC1",dataIndex:"auth",width:100,render:Xt=>Ft.createElement("span",{style:{color:"#000000"}},Xt?"\u662F":"\u5426")},{title:"\u6700\u540E\u767B\u5F55\u65F6\u95F4",dataIndex:"last_login_on",width:140,ellipsis:!0,render:Xt=>Ft.createElement(_e.Z,{placement:"bottom",title:Xt},Ft.createElement("span",{style:{color:"#000000"}},Ye()(Xt).format("YYYY-MM-DD HH:mm")))},{title:"\u72B6\u6001",dataIndex:"added",width:80,render:Xt=>{if(Xt===1)return Ft.createElement("span",{style:{color:"#000000"}},"\u5DF2\u6DFB\u52A0")}}];function Ie(Xt){In({type:4,payload:{page:1,reload:!0,query:Xt}})}function Ce(Xt){In({type:5,payload:Xt})}function He(Xt){let wn=zn.indexOf(Xt);wn>=0?zn.splice(wn,1):zn.push(Xt),In({type:3,payload:[...zn]})}function it(){zn.length===0?It.ZP.warning("\u8BF7\u5148\u5728\u4E0B\u9762\u5217\u8868\u4E2D\u9009\u62E9\u8981\u6DFB\u52A0\u6210\u5458"):(yt(zn,Rn),In({type:0,payload:{data:[],count:0,page:1,selectedIds:[],query:null,reload:!1}}))}const we=Jn>Qn*10;return Ft.createElement("div",{className:"select-user-container",style:{paddingBottom:20}},Ft.createElement(Mn,{onSearch:Ie,schools:Xr}),qn?Ft.createElement(Ft.Fragment,null,Ft.createElement("div",{className:"flexd-table-header mt20"},Ft.createElement(Qt.Gi,null,Ft.createElement(vt.default,{pagination:!1,dataSource:Ln,columns:qe}))),Ft.createElement("div",{style:{maxHeight:260,overflow:"auto",marginBottom:20}},Ft.createElement(pt(),{initialLoad:!1,pageStart:1,threshold:20,loadMore:Ce,hasMore:we,useWindow:!1},Ft.createElement(Qt.Gi,null,Ft.createElement(vt.default,{loading:Or,showHeader:!1,pagination:!1,dataSource:an,columns:qe,onRow:Xt=>({onClick:wn=>{Xt.added!==1&&He(Xt.numid)}})})))),Ft.createElement("div",{className:"flex-container flex-end"},Ft.createElement(Le.ZP,{type:"ghost",style:{marginRight:10,border:"1px solid #C3CFE0",color:"#464F66"},onClick:tt},"\u53D6\u6D88"),Ft.createElement(Le.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:it},"\u786E\u5B9A"))):Ft.createElement("div",{className:"tc font16 c-light-black mt40 pb30"},Ft.createElement("img",{src:mt,width:"100",alt:""}),Ft.createElement("br",null),Ft.createElement("p",{className:"mt20"},"\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458")))}},47572:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Xe}});var se=he(59301),je={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"},Bt=he(43418),Rt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAAAXNSR0IArs4c6QAAAUFJREFUOE+V0ktKw1AUxvH/rVqIxT4wkgwEUSmK4APRBfiYCKU7cOZEBOkadAMZiwhuwJETBQciFRTtwJkPBLW2BRGrRanU9kpN2sSYiGaWc/PjuznnCN2Qh8AkPo+AzXxKLLiPhW7ICtDqB4GzQkqM/huGFZgZcDCBBDaaicsTMKbZH2xfwdY5/ICAEGSasC0AwRYblj+gKkENwfy4WS9V4LHsgsk49EZteJKHdBa6w7AybdZzr3D64ILxGKjtNrx9gfsSRBSYtf6xZh1/u+qQClrIhtdFuHmGvhisJcz65RPsZl2Jc/3QE7FhpgDHuT80x2+O9cR1K/GiCDt3rkQ/+Ns43gDFD0YVmHIuQGOOmiGTARhxwkGd1cZ7Vwd0OppWr3911StpcV++Iwn67q/kyBMuHchErcqwFxT1XZXsfQJqo2zI6kdI4QAAAABJRU5ErkJggg==",Dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAW1JREFUOE+dkj1IQmEUht9z/blp4VQEjS39eW+oSCFCpFCI4BiKFGWWQUSrCjVVg+lQNJZQDZGNTm1B4NTibS3n2lo0wuqEN8i/a0HfeN7v+d73nO+QJEcKAJzQPAwCnSpKNtoqkyRHqgDrtUFAb6Rnedx43KgT6O5P0GQijFiNLe/Sy3/B8g+YTIRRrb5jP32JYNADr8eOldU0RJEqVlm8r1kyuA/AIEB10OWy4vBgA4ryCIdjCJlMDmfn1zAY6EmyGY/UrAwrgGATWKsn4mGEQl4Uiw+YX9hT73aZiEcl8eMbZAGA0AT6/ZPY3Ykiny/A55tA7uoGqdQFBD2VbDbDugoSTTEj3gTGYgG8Vt7UeG63hNkZJ7a2s+gw1XqPnf5REKhkt4kxNakO08ycbOtRC/7FcakCwNTJ0WwmDI+1LUCZZDkSYGa5Eewf0G0KAnprNYtFQHdPbZhNS1cmLafF5bUTJsyBSVMHPm+/ADTrfrtCH68WAAAAAElFTkSuQmCC",dt=(_e,It,vt)=>new Promise((wt,Ot)=>{var Ye=mt=>{try{pt(vt.next(mt))}catch(Jt){Ot(Jt)}},We=mt=>{try{pt(vt.throw(mt))}catch(Jt){Ot(Jt)}},pt=mt=>mt.done?wt(mt.value):Promise.resolve(mt.value).then(Ye,We);pt((vt=vt.apply(_e,It)).next())}),Xe=({type:_e,resdata:It,onok:vt,oktext:wt,okloading:Ot})=>{const[Ye,We]=(0,se.useState)(!1),{can_copy_list:pt,can_copy_num:mt,challenge_type:Jt,course_data_list:Qt,no_copy_list:$t,no_copy_num:Ft,no_use_list:Gt,no_use_num:Je,repeat_shixun_num:Sn,student_count:_n,total_num:Cn,use_num:Vt}=It;let pn=mt>0||_e==="exercise";(0,se.useEffect)(()=>{(It==null?void 0:It.student_count)>0&&We(!0)},[It]),console.log("---11",Ot),(0,se.useEffect)(()=>{Ot||We(!1)},[Ot]);const et=()=>{if(_e==="exercise"&&Jt===1)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",se.createElement("span",{className:je.orangeColor},Vt),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",se.createElement("span",{className:je.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(_e==="exercise"&&Jt===2)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",se.createElement("span",{className:je.orangeColor},Vt),"\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",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="shixun"&&Jt===1)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BE5\u5B9E\u8DF5\u9879\u76EE\uFF0C",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="shixun"&&Jt===2)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\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",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="subject"&&Jt===1)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",se.createElement("span",{className:je.orangeColor},Vt),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="subject"&&Jt===2)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709 ",se.createElement("span",{className:je.orangeColor},_n)," \u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u6311\u6218\u8FC7\u5176\u4E2D\u7684 ",se.createElement("span",{className:je.orangeColor},Vt)," \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",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u9001\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="exercisepush")return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u5176\u4ED6\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u8BD5\u5377\u4E2D\u7684",se.createElement("span",{className:je.orangeColor},Vt),"\u4E2A\u5B9E\u8DF5\u9879\u76EE \uFF0C",se.createElement("span",{className:je.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(_e==="shixunpush"&&Jt===1)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u8003\u8BD5\u4E2D\u6311\u6218\u8FC7\u5176\u4E2D\u7684",se.createElement("span",{className:je.orangeColor},Vt),"\u4E2A\u5B9E\u8DF5\u9879\u76EE\uFF0C",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"));if(_e==="shixunpush"&&Jt===2)return se.createElement(se.Fragment,null,"\u8BFE\u5802\u5185\u6709",se.createElement("span",{className:je.orangeColor},_n),"\u540D\u5B66\u751F\u5DF2\u5728\u8BFE\u5802\u5B9E\u9A8C\u4E2D\u6311\u6218\u8FC7",se.createElement("span",{className:je.orangeColor},Vt),"\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",se.createElement("span",{className:je.redColor},"\u91CD\u590D\u53D1\u5E03\u4F1A\u5BFC\u81F4\u8FD9\u90E8\u5206\u5B66\u751F\u65E0\u6CD5\u518D\u63D0\u4EA4\u4F5C\u4E1A\u3002"))},tn=()=>{if(_e==="exercise"||_e==="subject"||_e==="exercisepush"||_e==="shixunpush")return se.createElement("div",{style:{marginTop:20}},Ft>0&&se.createElement("div",null,se.createElement("span",{className:je.flex},se.createElement("img",{src:Dt,style:{width:14}}),se.createElement("span",{className:je.statustitle},"\u4E0D\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),se.createElement("div",{className:je.statusbody},_e==="exercise"&&se.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",se.createElement("span",{className:je.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"),(_e==="subject"||_e==="exercisepush")&&se.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",pn&&se.createElement("span",{className:je.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"),_e==="shixunpush"&&se.createElement("div",{style:{marginBottom:15}},"\u6CA1\u6709\u590D\u5236\u6743\u9650\u7684\u5B9E\u8DF5\u9879\u76EE\uFF0C",pn&&se.createElement("span",{className:je.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"),se.createElement("div",null,$t==null?void 0:$t.map((Ct,Ln)=>se.createElement("a",{href:`/shixuns/${Ct.identifier}/challenges`,target:"_blank"},"\u300A",Ct==null?void 0:Ct.name,"\u300B",Ln+1!==Ft&&"\u3001"))))),mt>0&&se.createElement("div",{style:{marginTop:20}},se.createElement("span",{className:je.flex},se.createElement("img",{src:Rt,style:{width:14}}),se.createElement("span",{className:je.statustitle},"\u652F\u6301\u590D\u5236\u7684\u5B9E\u8DF5\u9879\u76EE")),se.createElement("div",{className:je.statusbody},_e==="exercise"&&se.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"),(_e==="subject"||_e==="exercisepush")&&se.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"),_e==="shixunpush"&&se.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"),se.createElement("div",null,pt==null?void 0:pt.map((Ct,Ln)=>se.createElement("a",{href:`/shixuns/${Ct.identifier}/challenges`,target:"_blank"},"\u300A",Ct==null?void 0:Ct.name,"\u300B",Ln+1!==mt&&"\u3001"))))));if(_e==="shixun")return se.createElement("div",{style:{marginTop:20}},mt>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 se.createElement(Bt.default,{open:Ye,onCancel:()=>{We(!1)},cancelText:"\u53D6\u6D88",title:"\u63D0\u793A",width:700,centered:!0,cancelButtonProps:{style:{display:!pn&&"none"}},zIndex:1003,confirmLoading:Ot,okText:pn?wt:"\u6211\u77E5\u9053\u4E86",onOk:()=>dt(void 0,null,function*(){pn?yield vt([...pt,...Gt]):We(!1)})},se.createElement("div",{style:{maxHeight:600,overflow:"auto"}},et(),tn()))}},67824:function(Hn,xr,he){"use strict";he.d(xr,{h:function(){return Ft}});var se=he(59301),je=he(57809),Bt=he(78241),Rt=he(3113),Dt=he(89780),dt=he.n(Dt),Le=he(22054),Xe=he(68305),_e=Object.defineProperty,It=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,wt=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,We=(Gt,Je,Sn)=>Je in Gt?_e(Gt,Je,{enumerable:!0,configurable:!0,writable:!0,value:Sn}):Gt[Je]=Sn,pt=(Gt,Je)=>{for(var Sn in Je||(Je={}))Ot.call(Je,Sn)&&We(Gt,Sn,Je[Sn]);if(wt)for(var Sn of wt(Je))Ye.call(Je,Sn)&&We(Gt,Sn,Je[Sn]);return Gt},mt=(Gt,Je)=>It(Gt,vt(Je));const Jt=je.default.Option,Qt={labelCol:{span:4},wrapperCol:{span:20}},$t={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"]};xr.Z=({callback:Gt,onCancel:Je})=>{const[Sn,_n]=(0,se.useState)("python");function Cn(pn){_n($t[pn][1])}function Vt(pn){Gt(pn)}return se.createElement(Bt.default,mt(pt({},Qt),{className:"code-block-panel",initialValues:{language:"python",content:""},onFinish:Vt,style:{width:500}}),se.createElement(Bt.default.Item,{label:"\u4EE3\u7801\u8BED\u8A00",name:"language"},se.createElement(je.default,{getPopupContainer:pn=>pn.parentNode,onChange:Cn},Object.keys($t).map(pn=>se.createElement(Jt,{key:pn,value:pn},$t[pn][0])))),se.createElement(Bt.default.Item,{label:"\u4EE3\u7801\u5185\u5BB9",name:"content",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u4EE3\u7801\u5185\u5BB9"}]},se.createElement(Ft,{mode:Sn})),se.createElement("div",{className:"flex-container flex-end"},se.createElement(Rt.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),se.createElement(Rt.ZP,{type:"ghost",onClick:Je},"\u53D6\u6D88")))};function Ft({value:Gt,onChange:Je,mode:Sn,options:_n={}}){const Cn=(0,se.useRef)(),[Vt,pn]=(0,se.useState)();return(0,se.useEffect)(()=>{if(Vt){let et=function(tn){const Ct=tn.getValue();Je&&Je(Ct)};return Vt.on("change",et),()=>{Vt.off("change",et)}}},[Vt,Je]),(0,se.useEffect)(()=>{Vt&&Vt.setOption("mode",Sn)},[Vt,Sn]),(0,se.useEffect)(()=>{Vt&&(Gt!==Vt.getValue()||Gt==="")&&setTimeout(()=>{Vt.setValue(Gt||"")},300)},[Vt,Gt]),(0,se.useEffect)(()=>{if(Cn.current&&!Vt){const et=dt().fromTextArea(Cn.current,pt({mode:Sn,lineNumbers:!0,lineWrapping:!0,autoCloseBrackets:!0,tabSize:4,autofocus:!0,autoCloseTags:!0,matchBrackets:!0,styleActiveLine:!0},_n));pn(et)}},[Cn.current,Vt]),se.createElement("div",{className:"my-codemirror-container"},se.createElement("textarea",{ref:Cn}))}},74972:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Hr}});var se=he(59301),je=he(89780),Bt=he.n(je),Rt=he(76374),Dt=he(22054),dt=he(6313),Le=he(25717),Xe=he(99498),_e=he(25419),It=he(67549),vt=he(58997),wt=({value:hr="",className:Vr,showTextOnly:Rr,showLines:qr,style:Zi={}})=>{const Wn=(0,se.useMemo)(()=>"",[hr]);return se.createElement(se.Fragment,null,se.createElement("div",{dangerouslySetInnerHTML:{__html:Wn}}))},Ot=he(59301),Ye=Object.defineProperty,We=Object.defineProperties,pt=Object.getOwnPropertyDescriptors,mt=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,$t=(hr,Vr,Rr)=>Vr in hr?Ye(hr,Vr,{enumerable:!0,configurable:!0,writable:!0,value:Rr}):hr[Vr]=Rr,Ft=(hr,Vr)=>{for(var Rr in Vr||(Vr={}))Jt.call(Vr,Rr)&&$t(hr,Rr,Vr[Rr]);if(mt)for(var Rr of mt(Vr))Qt.call(Vr,Rr)&&$t(hr,Rr,Vr[Rr]);return hr},Gt=(hr,Vr)=>We(hr,pt(Vr));let Je=[{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 Sn({onActionCallback:hr,title:Vr,icon:Rr,actionName:qr,className:Zi="",children:Wn}){function st(){hr(qr)}return Ot.createElement("a",{title:Vr,className:Zi,onClick:st},Ot.createElement("i",{className:`${Rr}`}),Wn)}var _n=({watch:hr,showNullButton:Vr,showNullProgramButton:Rr,onActionCallback:qr,fullScreen:Zi,insertTemp:Wn,hidetoolBar:st,extraUse:Nt})=>{const Gn=[...Je,{title:`${hr?"\u5173\u95ED\u5B9E\u65F6\u9884\u89C8":"\u5F00\u542F\u5B9E\u65F6\u9884\u89C8"}`,icon:`${hr?"md-iconfont icon-eye-slash":"md-iconfont icon-eye"}`,actionName:"trigger-watch"}];return Ot.createElement("ul",{className:"markdown-toolbar-container"},!st&&Gn.map((Sr,yr)=>Ot.createElement("li",{key:yr},Sr.actionName?Ot.createElement(Sn,Gt(Ft({},Sr),{onActionCallback:qr})):Ot.createElement("span",{className:"v-line"}))),Vr?Ot.createElement("li",null,Ot.createElement(Sn,{icon:"iconfont icon-tianjia5 insert-blank",className:"btn-null ml5",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-null-ch",onActionCallback:qr},Ot.createElement("span",{className:"fill-tip"},"\u70B9\u51FB\u65B0\u589E\u586B\u7A7A\u9879"))):null,Rr?Ot.createElement(Ot.Fragment,null,Ot.createElement("li",null,Ot.createElement(Sn,{icon:"md-iconfont icon-edit insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-signal",onActionCallback:qr},Ot.createElement("span",{className:"fill-tip"},"+\u5355\u884C\u586B\u7A7A\u9879"))),Ot.createElement("li",null,Ot.createElement(Sn,{icon:"md-iconfont icon-uniE900 insert-blank",className:"btn-null",title:"\u589E\u52A0\u586B\u7A7A",actionName:"add-multiple",onActionCallback:qr},Ot.createElement("span",{className:"fill-tip"},"+\u591A\u884C\u586B\u7A7A\u9879")))):null,Wn&&Ot.createElement("li",null,Ot.createElement(Sn,{icon:"md-iconfont icon-edit",className:"btn-null",title:"\u63D2\u5165\u6A21\u677F",actionName:`inster-template-${Wn}`,onActionCallback:qr},Ot.createElement("span",{className:"fill-tip"},"\u63D2\u5165\u6A21\u677F"))),Nt&&Ot.createElement("li",null,Nt),Ot.createElement("li",{className:"btn-full-screen"},Ot.createElement(Sn,{icon:`${Zi?"md-iconfont icon-shrink":"md-iconfont icon-enlarge"}`,title:Zi?"\u5173\u95ED\u5168\u5C4F":"\u5F00\u542F\u5168\u5C4F",actionName:"trigger-full-screen",onActionCallback:qr})))},Cn=he(62488),Vt=he(78241),pn=he(92832),et=he(3113),tn=Object.defineProperty,Ct=Object.defineProperties,Ln=Object.getOwnPropertyDescriptors,Mn=Object.getOwnPropertySymbols,bn=Object.prototype.hasOwnProperty,Dr=Object.prototype.propertyIsEnumerable,oi=(hr,Vr,Rr)=>Vr in hr?tn(hr,Vr,{enumerable:!0,configurable:!0,writable:!0,value:Rr}):hr[Vr]=Rr,yt=(hr,Vr)=>{for(var Rr in Vr||(Vr={}))bn.call(Vr,Rr)&&oi(hr,Rr,Vr[Rr]);if(Mn)for(var Rr of Mn(Vr))Dr.call(Vr,Rr)&&oi(hr,Rr,Vr[Rr]);return hr},tt=(hr,Vr)=>Ct(hr,Ln(Vr));const Rn={labelCol:{span:4},wrapperCol:{span:20}};var fi=({callback:hr,onCancel:Vr})=>{function Rr(qr){hr(qr)}return se.createElement(Vt.default,tt(yt({},Rn),{initialValues:{link:"http://",title:""},className:"link-panel",onFinish:Rr,style:{width:500}}),se.createElement(Vt.default.Item,{label:"\u94FE\u63A5\u5730\u5740",name:"link",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740"}]},se.createElement(pn.default,null)),se.createElement(Vt.default.Item,{label:"\u94FE\u63A5\u6807\u9898",name:"title",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u94FE\u63A5\u6807\u9898"}]},se.createElement(pn.default,null)),se.createElement("div",{className:"flex-container flex-end"},se.createElement(et.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),se.createElement(et.ZP,{type:"ghost",onClick:Vr},"\u53D6\u6D88")))},li=he(67824),In=he(22477),an=he(43418),Xr=he(95237),Or=he(18997),zn=he(59301),Qn=({callback:hr,onCancel:Vr})=>{const Rr=document.createElement("canvas"),qr=Rr.getContext("2d");Rr.width=1e3,Rr.height=800,qr.fillStyle="#ffffff",qr.fillRect(0,0,Rr.width,Rr.height);const Zi=Rr.toDataURL("image/png");return zn.createElement(an.default,{open:!0,width:"100vw",style:{height:"100vh",top:0},footer:null,title:null,closable:!1},zn.createElement(Xr.Z,{style:{height:"100vh"}},zn.createElement(Or.Z,{fullWidth:!0,noAssociationId:!0,showFullTools:!0,data:{src:Zi,visible:!0,title:String(Date.now())},onOk:Wn=>{hr({src:Wn.url})},onClose:Vr})))},Jn=he(43428),qn=he(43604),On=he(8591),qe={myPaletteDiv:"myPaletteDiv___Xjz2I",flowChartWrp:"flowChartWrp____f45r",maxH60:"maxH60___Pd4Re"},Ie=he(59301),He=(0,se.forwardRef)(({onCancel:hr,editImgId:Vr,callback:Rr},qr)=>{let Zi=(0,se.useRef)(),Wn=(0,se.useRef)(),st=(0,se.useRef)(),Nt=(0,se.useRef)(!1);const Gn=(0,se.useRef)(!1);console.log("ref:",qr);const[Sr,yr]=(0,se.useState)(0),[ci,ai]=(0,se.useState)("100vh");return(0,se.useEffect)(()=>{yr(1);try{indexedDB.databases().then(Ur=>{Ur.forEach(zr=>indexedDB.deleteDatabase(zr.name))})}catch(Ur){}},[]),(0,se.useImperativeHandle)(qr,()=>({setHeight:ai})),Ie.createElement("div",{ref:Gn,className:"body-overflow-initial"},Ie.createElement(Jn.Z,{width:"100vw",height:ci,footer:null,closable:!0,placement:"bottom",open:!!Sr,destroyOnClose:!0,maskClosable:!1,mask:!1,rootClassName:`zIndex-9999 ${qe.drawerWrap}`,onClose:()=>{window.saveDrawData(Ur=>{Rr({src:`/api/attachments/${Ur}`,id:Ur})})},title:Ie.createElement(Xr.Z,{align:"middle"},Ie.createElement(qn.Z,{flex:1},"\u63D2\u5165\u6D41\u7A0B\u56FE"),Ie.createElement(qn.Z,{onClick:()=>{ai(ci==="60px"?"100vh":"60px")}},Ie.createElement("span",{className:"current c-blue",style:{fontWeight:400}},"\u5C55\u5F00/\u6536\u8D77")),Ie.createElement(qn.Z,{onClick:()=>{window.saveDrawData(Ur=>{if(Ur===null){On.ZP.warning({content:"\u5185\u5BB9\u4E3A\u7A7A\uFF0C\u8BF7\u5148\u7ED8\u5236\u6D41\u7A0B\u56FE",key:"saveFlowChart"});return}On.ZP.success({content:"\u4FDD\u5B58\u6210\u529F",key:"saveFlowChart",style:{zIndex:999999999}}),Rr({src:`/api/attachments/${Ur}`,id:Ur,disabledClose:!0})})}},Ie.createElement(et.ZP,{type:"primary",className:"ml20"},"\u4FDD\u5B58")))},Ie.createElement("iframe",{src:`${window.ENV==="build"?"/react/build":""}/drawio/src/main/webapp/?id=${Vr||""}&gapi=0&od=0&db=0&gh=0&gl=0&local=0`,width:"100%",height:"100%",frameBorder:"0",ref:Wn})))}),it=he(42684),we=he(5112),Xt=he(5871);const wn=we.ZP.Group,Lt={margin:"0 8px"};var Zt=({callback:hr,onCancel:Vr})=>{function Rr(qr){hr(qr)}return se.createElement(Vt.default,{className:"add-table-panel",initialValues:{row:3,col:2,align:"default"},onFinish:Rr},se.createElement("div",{className:"flex-container",style:{alignItems:"baseline"}},se.createElement("span",{style:Lt},"\u5355\u5143\u683C\u6570\uFF1A"),se.createElement("span",{style:Lt},"\u884C\u6570"),se.createElement(Vt.default.Item,{name:"row",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u884C\u6570"}]},se.createElement(Xt.Z,null)),se.createElement("span",{style:Lt},"\u5217\u6570"),se.createElement(Vt.default.Item,{name:"col",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5217\u6570"}]},se.createElement(Xt.Z,null))),se.createElement("div",{className:"flex-container",style:{marginTop:12,alignItems:"baseline"}},se.createElement("span",{style:Lt},"\u5BF9\u9F50\u65B9\u5F0F\uFF1A"),se.createElement(Vt.default.Item,{name:"align"},se.createElement(wn,null,se.createElement(we.ZP,{value:"default"},se.createElement("i",{className:"fa fa-align-justify"})),se.createElement(we.ZP,{value:"left"},se.createElement("i",{className:"fa fa-align-left"})),se.createElement(we.ZP,{value:"center"},se.createElement("i",{className:"fa fa-align-center"})),se.createElement(we.ZP,{value:"right"},se.createElement("i",{className:"fa fa-align-right"}))))),se.createElement("div",{className:"flex-container flex-end"},se.createElement(et.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),se.createElement(et.ZP,{type:"ghost",onClick:Vr},"\u53D6\u6D88")))},or=he(78673),Xn=he(75354),dn=he.n(Xn),vi=(0,se.forwardRef)(({use3d:hr,width:Vr,height:Rr,callback:qr,showSaveButton:Zi},Wn)=>{const st=(0,se.useRef)(),Nt=(0,se.useRef)(),[Gn,Sr]=(0,se.useState)(!1),yr=(0,se.useRef)({id:st,appName:"graphing",width:Vr||1e3,height:Rr||600,showToolBar:!0,showMenuBar:!0,allowStyleBar:!0,showAlgebraInput:!0,enableLabelDrags:!1,enableShiftDragZoom:!0,showToolBarHelp:!1,errorDialogsActive:!0,showTutorialLink:!0,showLogging:!0,useBrowserForJS:!1});(0,se.useEffect)(()=>{Nt.current=new(dn())(yr.current,!0),window.onload=function(){Nt.current.inject("applet_container")}},[]);const ci=()=>{var ai=window.ggbApplet.getPNGBase64(1,!0,72);return qr&&qr(ai),ai};return(0,se.useEffect)(()=>{yr.current.appName=Gn?"3D":"graphing",Nt.current.inject("applet_container")},[Gn]),(0,se.useEffect)(()=>{Sr(hr)},[hr]),(0,se.useImperativeHandle)(Wn,()=>({getImgData:ci})),se.createElement(se.Fragment,null,se.createElement("div",{style:{width:"100%",height:"100%"},id:"applet_container",ref:st}),se.createElement(Xr.Z,{align:"middle"},se.createElement(qn.Z,{flex:1},se.createElement(or.Z,{size:"default",checkedChildren:"\u5173\u95ED3D\u56FE\u50CF",unCheckedChildren:"\u5F00\u542F3D\u56FE\u50CF",checked:Gn,onChange:ai=>Sr(ai)})),se.createElement(qn.Z,null,se.createElement(et.ZP,{size:"large",onClick:ci,style:{zIndex:8,marginTop:10},type:"primary"},"\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"))))}),Un=he(80802),Pr=he(1012);const Ii="link",on="upload-image",qt="add-flowchart",gn="draw-image",gr="add-flowchart",mr="code-block",xi="add-table",Ui="------------",Ni={default:Ui,left:`:${Ui}`,center:`:${Ui}:`,right:`${Ui}:`};var Fa=he(8204),_o=(hr,Vr,Rr)=>new Promise((qr,Zi)=>{var Wn=Gn=>{try{Nt(Rr.next(Gn))}catch(Sr){Zi(Sr)}},st=Gn=>{try{Nt(Rr.throw(Gn))}catch(Sr){Zi(Sr)}},Nt=Gn=>Gn.done?qr(Gn.value):Promise.resolve(Gn.value).then(Wn,st);Nt((Rr=Rr.apply(hr,Vr)).next())});function co(){}let kn=0;const Yi=1e4,ys="\u2581",$o="@\u2581\u2581@",eo="@\u2581@",lo=` -**\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`,Qr=["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 ir(hr){return/^\d+$/.test(hr)?`${hr}px`:hr}const ua=navigator.platform.toUpperCase().indexOf("MAC")>=0?"Cmd":"Ctrl",un={[ua+"-B"]:"bold",[ua+"-I"]:"italic"},lr={[Ii]:"\u6DFB\u52A0\u94FE\u63A5",[mr]:"\u6DFB\u52A0\u4EE3\u7801\u5757",[on]:"\u6DFB\u52A0\u56FE\u7247",[gn]:"\u6DFB\u52A0\u753B\u56FE",[qt]:"\u63D2\u5165\u6D41\u7A0B\u56FE",[xi]:"\u6DFB\u52A0\u8868\u683C","maths-latex":"\u6570\u5B66\u56FE\u50CF","inline-latex":"LATEX\u516C\u5F0F"};var Hr=({defaultValue:hr="",onChange:Vr,width:Rr="100%",height:qr=400,miniToolbar:Zi=!1,isFocus:Wn=!1,watch:st,insertTemp:Nt,mode:Gn="markdown",id:Sr="markdown-editor-id",showResizeBar:yr=!1,noStorage:ci=!1,showNullButton:ai=!1,showNullProgramButton:Ur=!1,hidetoolBar:zr=!1,fullScreen:ta=!1,onBlur:qa,onCMBeforeChange:pi,onFullScreen:Mr,className:sr="",disablePaste:xn=!1,disabled:er=!1,disabledFill:Er=!1,placeholder:Zr="",values:ti="",extraUse:Nr,onAddBlank:Bi})=>{const[Zn,Di]=(0,se.useState)(null),[da,ha]=(0,se.useState)(hr),[na,Qa]=(0,se.useState)(st),[Ao,Da]=(0,se.useState)(ta),[Ma,es]=(0,se.useState)(""),[Fo,Ls]=(0,se.useState)(0),[_a,$s]=(0,se.useState)(qr),[sa,Os]=(0,se.useState)(!1),Us=(0,se.useRef)((0,Pr.Z)()),Ns=(0,se.useRef)(!1),xs=(0,se.useRef)(),[Al,Bs]=(0,se.useState)(0),[Ho,ll]=(0,se.useState)(0),el=(0,se.useRef)(),Rs=(0,se.useRef)(),ui=(0,se.useRef)(),za=(0,se.useRef)(),ls=(0,se.useRef)(),vs=(0,se.useRef)(),Ms=()=>_o(void 0,null,function*(){var to;const uo=yield Fetch("/api/attachments/distinct_hash_val.json",{method:"post",body:{hash_val:Us.current}});(to=uo==null?void 0:uo.attachments)!=null&&to.length&&(console.log("cm:",Zn,el),uo.attachments.map(no=>{no.content_type.indexOf("image")>-1?Zn.replaceSelection(`![,](/api/attachments/${no.id}?type=${no.content_type})`):no.content_type.indexOf("video")>-1?Zn.replaceSelection(``):no.content_type.indexOf("pdf")>-1?Zn.replaceSelection(`${no.name}`):Zn.replaceSelection(`[${no.name}](${it.Z.API_SERVER}/api/attachments/${no.id}?type=${no.content_type})`)}))});(0,se.useEffect)(()=>{const to=window.scrollY||window.pageYOffset;ha(ti),Zn==null||Zn.setValue(ti),window.scrollTo(0,to)},[ti]),(0,se.useEffect)(()=>{Mr==null||Mr(Ao)},[Ao]),(0,se.useEffect)(()=>{if(el.current){let to=function(no,yn){var ps;if(xn){yn.preventDefault();return}const al=yn.clipboardData;if(al){const Vs=al.types.toString(),$l=al.items;if(Vs==="Files"||al.types.indexOf("Files")>-1){if(yn.preventDefault(),Gn=="stex")return;try{let eu=$l[1];((ps=$l[0])==null?void 0:ps.kind)==="file"&&(eu=$l[0]);const vu=eu.getAsFile(),ku=vu.name.split(".").pop();(0,In.I)(vu,Lu=>{var Cc,fo,Ql;Lu.id?((Cc=vu==null?void 0:vu.type)==null?void 0:Cc.indexOf("image"))>-1?uo.replaceSelection(``):((fo=vu==null?void 0:vu.type)==null?void 0:fo.indexOf("video"))>-1?uo.replaceSelection(``):((Ql=vu==null?void 0:vu.type)==null?void 0:Ql.indexOf("pdf"))>-1?uo.replaceSelection(`${vu.name}`):Qr.includes(ku)?uo.replaceSelection(`${vu.name}`):uo.replaceSelection(`[${vu.name}](/api/attachments/${Lu.id}?type=${Lu.content_type})`):(Lu==null?void 0:Lu.status)===401&&(On.ZP.warning((Lu==null?void 0:Lu.message)||"\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),document.location.href="/user/login")})}catch(eu){On.ZP.warning("\u8BF7\u4F7F\u7528chrome\u6D4F\u89C8\u5668\u7C98\u8D34")}return!0}else return!0}return!0};const uo=Bt().fromTextArea(el.current,{mode:Gn,lineNumbers:!Zi,lineWrapping:!0,value:hr,autoCloseTags:!Ur,autoCloseBrackets:!0});return uo.on("keyup",function(no,yn){yn.keyCode===8&&(no.getValue()==""?uo.setOption("placeholder",Zr):uo.setOption("placeholder",null))}),uo.on("keydown",function(no,yn){if(yn.keyCode===8){var ps=ul(no);ps&&yn.preventDefault()}}),Wn&&uo.focus(),uo.on("paste",to),uo.on("dragleave",function(no,yn){Rs.current.classList.remove("mouse-hover-md")}),er&&uo.on("beforeChange",function(no,yn){(yn.origin==="paste"||yn.origin==="+input")&&yn.cancel()}),Di(uo),()=>{uo.off("paste",to)}}},[]);const Ts=(0,se.useCallback)(()=>{if(Rs.current)try{}catch(to){console.log(to,"---- to set md editor body height")}},[_a,Rs,Ao]);(0,se.useEffect)(()=>{function to(){let uo=new Rt.Z(no=>{for(let yn of no)(yn.target.offsetHeight>0||yn.target.offsetWidth>0)&&(Ts(),Zn.setSize("100%","100%"),Zn.refresh())});return uo.observe(el.current.parentElement),uo}if(Zn){const uo=to();return()=>{var no,yn;(no=el.current)!=null&&no.parentElement&&uo.unobserve((yn=el.current)==null?void 0:yn.parentElement)}}},[Zn,Ts]),(0,se.useEffect)(()=>{if(Zn){let to=[];for(const[uo,no]of Object.entries(un)){let yn={[uo]:()=>{Na(no)}};to.push(yn),Zn.addKeyMap(yn)}return xs.current=setInterval(()=>{Ns.current&&Ms()},4e3),()=>{clearInterval(xs.current);for(let uo of to)Zn.removeKeyMap(uo)}}},[Zn]),(0,se.useEffect)(()=>{ta!==Ao&&Da(ta)},[ta]),(0,Fa.Z)(()=>{if(!ci&&Fo>0){let to=new Date().getTime(),uo=window.sessionStorage.getItem(Sr);to>=Fo+Yi&&(!uo||uo!==da)&&(window.sessionStorage.setItem(Sr,da),Os(!0))}},Yi),(0,se.useEffect)(()=>{Qa(st)},[Zn,st]),(0,se.useEffect)(()=>{Zn&&Wn&&Zn.focus()},[Zn,Wn]),(0,se.useEffect)(()=>{if(na&&Zn){let to=function(no){let yn=no.target;if(za.current){let ps=yn.scrollTop/yn.scrollHeight;za.current.scrollTop=za.current.scrollHeight*ps}};const uo=Zn.getScrollerElement();return uo.addEventListener("scroll",to),()=>{uo.removeEventListener("scroll",to)}}},[Zn,na]),(0,se.useEffect)(()=>{if(Zn&&pi){let to=function(uo,no){pi(uo,no)};return Zn.on("beforeChange",to),()=>{Zn.off("beforeChange",to)}}},[Zn,pi]),(0,se.useEffect)(()=>{if(Zn&&qa){let to=function(){qa(Zn.getValue())};return Zn.on("blur",to),()=>{Zn.off("blur",to)}}},[Zn,qa]);function ul(to,uo){var no=to.getDoc(),yn=no.getCursor(),ps=no.getLine(yn.line),al=ps.charAt(yn.ch-1),Vs=ps.lastIndexOf("@\u2581@",yn.ch),$l=ps.lastIndexOf("@\u2581\u2581@",yn.ch),eu=Vs>$l?Vs:$l,vu=Vs>$l?3:4;if($o.indexOf(al)===-1)return null;if(console.log("change1:",uo,to,ps,yn,eu,Vs,$l,al),eu>=0&&yn.ch-eu<5){var ku=eu+vu;return no.replaceRange("",{line:yn.line,ch:eu},{line:yn.line,ch:ku}),{line:yn.line,ch:ku}}return null}(0,se.useEffect)(()=>{if(Zn){let to=function(uo,no){const yn=uo.getValue();ha(yn),Ls(new Date().getTime()),uo.getScrollerElement().dispatchEvent(new CustomEvent("scroll")),Vr&&(Ur?Vr(yn,hu(yn)):Vr(yn))};return Zn.on("change",to),()=>{Zn.off("change",to)}}},[Zn,Vr]),(0,se.useEffect)(()=>{if(Zn)if(hr==null)Zn.setValue(""),ha("");else{const to=window.scrollY||window.pageYOffset;hr!==Zn.getValue()&&(Zn.setValue(hr),ha(hr),Zn.setCursor(er?1:Zn.lineCount(),0),window.scrollTo(0,to))}},[Zn,hr]);const Na=(0,se.useCallback)(to=>{const uo=Zn.getCursor(),no=Zn.getSelection();let yn=no.split(` -`);switch(to){case"bold":return Zn.replaceSelection("**"+no+"**"),no===""&&Zn.setCursor(uo.line,uo.ch+2),Zn.focus();case"italic":return Zn.replaceSelection("*"+no+"*"),no===""&&Zn.setCursor(uo.line,uo.ch+1),Zn.focus();case"code":return Zn.replaceSelection("`"+no+"`"),no===""&&Zn.setCursor(uo.line,uo.ch+1),Zn.focus();case"inline-latex":return es("inline-latex"),Zn.focus();case"latex":return Zn.replaceSelection("```latex\n"+no+"\n```"),Zn.setCursor(uo.line+1,no.length+1),Zn.focus();case"line-break":return Zn.replaceSelection(`
    -`),Zn.focus();case"list-ul":return no===""?Zn.replaceSelection("- "+no):Zn.replaceSelection(yn.map(ps=>ps===""?"":`- ${ps}`).join(` -`)),Zn.focus();case"list-ol":return no===""?Zn.replaceSelection("1. "+no):Zn.replaceSelection(yn.map((ps,al)=>ps===""?"":`${al+1}. ${ps}`).join(` -`)),Zn.focus();case"add-null-ch":Bi==null||Bi();return;case"add-signal":return no===""&&Zn.setCursor(uo.line,uo.ch),Zn.replaceSelection(eo),Zn.focus();case"add-multiple":return no===""&&Zn.setCursor(uo.line,uo.ch),Zn.replaceSelection($o),Zn.focus();case"inster-template-1":return no===""&&Zn.setCursor(uo.line,uo.ch),Zn.replaceSelection(lo),Zn.focus();case"eraser":return Zn.setValue(""),Zn.focus();case"trigger-watch":return Qa(!na),Zn.focus();case"trigger-full-screen":return Da(!Ao),Zn.focus();case Ii:es(Ii);return;case mr:es(mr);return;case on:es(on);return;case gn:es(gn);return;case"maths-latex":es("maths-latex");return;case qt:ls.current="",sessionStorage.removeItem("file_id"),es(qt);return;case xi:es(xi);return;default:throw new Error}},[Zn,na,Ao]),$a=(0,se.useCallback)((to,uo)=>{var no,yn,ps,al,Vs,$l;es("");const{src:eu,alt:vu,id:ku}=to||{};switch(Ma){case Ii:const{title:oc,link:us}=to;return Zn.replaceSelection(`[${oc}](${us})`),Zn.focus();case mr:const{language:Hs,content:Oo}=to;return Zn.replaceSelection(["```"+Hs,Oo,"```"].join(` -`)),Zn.focus();case"maths-latex":for(var Lu=atob(to),Cc=new Uint8Array(Lu.length),fo=0;fo{tl.id?Zn.replaceSelection(`![,](/api/attachments/${tl.id}?type=${tl.content_type})`):(tl==null?void 0:tl.status)===401&&(document.location.href="/user/login")});break;case"inline-latex":Zn.replaceSelection("`$$"+to+"$$`");break;case gr:if(!ku)return;Zn.focus(),Zn.getValue().indexOf(eu)===-1?Zn.replaceSelection(`
    ${vu||
    `):document.getElementById(ku).src=it.Z.API_SERVER+eu+"?t="+Date.now();try{setTimeout(()=>{qa(Zn.getValue())},100)}catch(tl){}break;case on:case gn:const fn=uo,Lr=(ps=(yn=(no=fn==null?void 0:fn.name)==null?void 0:no.split("."))==null?void 0:yn.pop)==null?void 0:ps.call(yn);return((al=fn==null?void 0:fn.type)==null?void 0:al.indexOf("image"))>-1||!(fn!=null&&fn.type)?fn!=null&&fn.align||fn!=null&&fn.width?Zn.replaceSelection(`

    ${vu||

    `):Zn.replaceSelection(`${vu||`):((Vs=fn==null?void 0:fn.type)==null?void 0:Vs.indexOf("video"))>-1?Zn.replaceSelection(``):(($l=fn==null?void 0:fn.type)==null?void 0:$l.indexOf("pdf"))>-1?Zn.replaceSelection(`${fn.name}`):Qr.includes(Lr)?Zn.replaceSelection(`${fn.name}`):Zn.replaceSelection(`[${fn.name}](${eu})`),Zn.focus();case xi:const{row:nr,col:Oi,align:Do}=to;let cr=` -`;for(let tl=0;tl{switch(Ma){case Ii:return se.createElement(fi,{callback:$a,onCancel:zs});case mr:return se.createElement(li.Z,{callback:$a,onCancel:zs});case on:return se.createElement(In.Z,{callback:$a,onCancel:zs});case qt:return se.createElement(He,{editImgId:ls.current,callback:$a,onCancel:zs});case xi:return se.createElement(Zt,{callback:$a,onCancel:zs});case"maths-latex":return se.createElement(vi,{showSaveButton:!0,callback:$a});case"inline-latex":return se.createElement(Un.Z,{showSaveButton:!0,callback:$a});default:return null}},[Ma]);function zs(){es("")}(0,se.useEffect)(()=>{if(ui.current){let to=function(Vs){ps=!0,al=Vs.pageY},uo=function(){ps=!1},no=function(Vs){if(ps){let $l=Vs.pageY-al;$l<0&&($l=0),$l>300&&($l=300);let eu=qr+$l+"px";$s(eu)}},yn=ui.current,ps=!1,al=0;return yn.addEventListener("mousedown",to),document.addEventListener("mousemove",no),document.addEventListener("mouseup",uo),()=>{yn.removeEventListener("mousedown",to),document.removeEventListener("mousemove",no),document.removeEventListener("mouseup",uo)}}},[Zn,ui]),(0,se.useEffect)(()=>{$s(qr)},[qr]);const Xu=ir(Rr),Su=ir(_a),cc={width:Xu,height:Su},Ru=(0,se.useMemo)(()=>{if(Fo){let to=new Date(Fo),uo=to.getHours(),no=to.getMinutes(),yn=to.getSeconds();return uo=uo<10?"0"+uo:uo,no=no<10?"0"+no:no,yn=yn<10?"0"+yn:yn,`${uo}:${no}:${yn}`}return 0},[Fo]),hu=to=>{const uo=[];if(Ur){let no=-1;to=to.replace(/(@▁▁@|@▁@)/g,function(yn,ps,al){uo.push({multiLine:yn!==eo})})}return uo};function zu(){window.sessionStorage.removeItem(Sr),Os(!1),Ls(0)}function Mu(){Os(!1),Ls(0),Zn.setValue(window.sessionStorage.getItem(Sr))}(0,se.useEffect)(()=>{lr[Ma]&&Ma!==gn&&Ma!==qt&&setTimeout(()=>{const to=document.getElementsByClassName("markdown-popup-form")[0],uo=window.innerWidth/2-to.offsetWidth/2,no=window.innerHeight/2-to.offsetHeight/2;Bs(uo),ll(no)},0)},[Ma]);const vc=to=>{to.preventDefault();const uo=to.clientX-Al,no=to.clientY-Ho;document.body.onmousemove=yn=>{let ps=yn.clientX-uo,al=yn.clientY-no;const Vs=document.getElementsByClassName("markdown-popup-form")[0],$l=window.innerWidth-Vs.offsetWidth,eu=window.innerHeight-Vs.offsetHeight;ps=Math.max(0,Math.min(ps,$l)),al=Math.max(0,Math.min(al,eu)),yu(yn.clientX,yn.clientY,uo,no)&&(Bs(ps),ll(al))},document.body.onmouseup=function(){document.body.onmousemove=null}},yu=(to,uo,no,yn)=>{const ps=document.body.clientHeight,al=document.body.clientWidth;return to<20&&no>to||to>al-20&&nouo||uo>ps-20&&yn{var uo;ls.current=to,(uo=vs.current)==null||uo.setHeight("100vh"),setTimeout(()=>{es("add-flowchart")},150)}})):null))),yr?se.createElement("a",{ref:ui,className:"editor-resize"}):null,Ma===gn&&se.createElement(Qn,{callback:$a,onCancel:zs}),Ma===qt&&se.createElement(He,{ref:vs,editImgId:ls.current,callback:$a,onCancel:zs}),se.createElement(Cn.Z,null,lr[Ma]&&Ma!==gn&&Ma!==qt?se.createElement(an.default,{maskClosable:!1,centered:!0,style:{position:"absolute",left:Al,top:Ho},title:se.createElement("div",{style:{cursor:"move"},onMouseDown:vc},lr[Ma]),open:!0,onCancel:zs,footer:null,destroyOnClose:!0,width:Ma===qt?"1200px":null,height:Ma===qt?"80vh":null,className:"markdown-popup-form"},gl):null))}},22477:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Sn},I:function(){return Cn}});var se=he(78241),je=he(8591),Bt=he(92832),Rt=he(81327),Dt=he(5871),dt=he(5112),Le=he(3113),Xe=he(32546),_e=he(59301),It=he(36466),vt=he(59301),wt=Object.defineProperty,Ot=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,We=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable,Jt=(Vt,pn,et)=>pn in Vt?wt(Vt,pn,{enumerable:!0,configurable:!0,writable:!0,value:et}):Vt[pn]=et,Qt=(Vt,pn)=>{for(var et in pn||(pn={}))pt.call(pn,et)&&Jt(Vt,et,pn[et]);if(We)for(var et of We(pn))mt.call(pn,et)&&Jt(Vt,et,pn[et]);return Vt},$t=(Vt,pn)=>Ot(Vt,Ye(pn));const{useForm:Ft}=se.default,Gt={width:280,marginRight:10},Je={labelCol:{span:5},wrapperCol:{span:19}};var Sn=({callback:Vt,onCancel:pn})=>{const[et]=Ft();let tn=(0,_e.useRef)();function Ct(bn){tn.current.width=et.getFieldValue("width"),tn.current.align=et.getFieldValue("align"),Vt(bn,tn.current)}function Ln(bn,Dr){if(bn.status===-1){je.ZP.error(bn.message);return}et.setFieldsValue({src:`/api/attachments/${bn.id}`,type:Dr.type})}function Mn(bn){let Dr=bn.target.files[0];tn.current=Dr,Cn(Dr,Ln)}return vt.createElement(se.default,$t(Qt({form:et},Je),{className:"upload-image-panel",onFinish:Ct,style:{width:470,overflow:"hidden"}}),vt.createElement(se.default.Item,{label:"\u56FE\u7247\u5730\u5740",required:!0},vt.createElement("div",{className:"flex-container"},vt.createElement(se.default.Item,{noStyle:!0,name:"src",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6587\u4EF6\u5730\u5740"}]},vt.createElement(Bt.default,{style:Gt})),vt.createElement(_n,{onFileChange:Mn}))),vt.createElement(se.default.Item,{label:"\u56FE\u7247\u63CF\u8FF0",name:"alt"},vt.createElement(Bt.default,{style:{width:264}})),vt.createElement(se.default.Item,{label:"\u56FE\u7247\u5BBD\u5EA6",name:"width"},vt.createElement(Rt.Z,null,vt.createElement(se.default.Item,{name:"width",style:{margin:0}},vt.createElement(Dt.Z,{style:{width:264}})),vt.createElement("span",{className:"ml8"},"%"))),vt.createElement(se.default.Item,{label:"\u5BF9\u9F50\u65B9\u5F0F",name:"align"},vt.createElement(dt.ZP.Group,{name:"align",defaultValue:1,options:[{value:"left",label:"\u5DE6\u5BF9\u9F50"},{value:"center",label:"\u5C45\u4E2D\u5BF9\u9F50"},{value:"right",label:"\u53F3\u5BF9\u9F50"}]})),vt.createElement("aside",null,vt.createElement(se.default.Item,{style:{textAlign:"right",position:"relative",right:-98}},vt.createElement(Le.ZP,{type:"primary",htmlType:"submit",style:{marginRight:10}},"\u786E\u5B9A"),vt.createElement(Le.ZP,{type:"default",onClick:pn},"\u53D6\u6D88"))))};function _n({onFileChange:Vt}){return vt.createElement("label",{className:"upload-button",style:{cursor:"pointer"}},"\u672C\u5730\u4E0A\u4F20",vt.createElement("input",{type:"file",onChange:Vt}))}function Cn(Vt,pn){if(!Vt)throw new String("\u6CA1\u6709\u6587\u4EF6");if(!(0,It.bg)())throw je.ZP.warning("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C"),new String("\u8BF7\u767B\u5F55\u540E\u518D\u64CD\u4F5C");let et=new FormData;et.append("editormd-image-file",Vt),et.append("file_param_name","editormd-image-file"),et.append("byxhr","true");var tn=new window.XMLHttpRequest;tn.withCredentials=!0,tn.addEventListener("load",function(Ct){pn(JSON.parse(Ct.target.responseText),Vt)},!1),tn.addEventListener("error",function(Ct){console.error(Ct)},!1),tn.open("POST",`${Xe.KI}/api/attachments.json`),tn.send(et)}},62488:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Bt}});var se=he(59301),je=he(4676);class Bt extends se.Component{constructor(Dt){super(Dt);const dt=window.document;this.node=dt.createElement("div"),dt.body.appendChild(this.node)}render(){const{children:Dt}=this.props;return(0,je.createPortal)(Dt,this.node)}componentWillUnmount(){window.document.body.removeChild(this.node)}}},8204:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return je}});var se=he(59301);function je(Bt,Rt){const Dt=(0,se.useRef)();(0,se.useEffect)(()=>{Dt.current=Bt}),(0,se.useEffect)(()=>{function dt(){Dt.current()}if(Rt!==null){let Le=setInterval(dt,Rt);return()=>clearInterval(Le)}},[Rt])}},65899:function(Hn,xr,he){"use strict";he.d(xr,{Q8:function(){return tt},d0:function(){return Rn},w6:function(){return yt}});var se=he(59301),je=he(5083),Bt=he(57809),Rt=he(8591),Dt=he(43418),dt=he(5112),Le=he(95237),Xe=he(43604),_e=he(6848),It=he(24905),vt=he(3113),wt=he(66649),Ot=he.n(wt),Ye=he(36466),We=he(58661),pt=he(78267),mt=he.n(pt),Jt=he(85333),Qt=he(97630),$t=he(44225),Ft=he(56947),Gt=he(50321),Je=he(16020),Sn=he(47572),_n=he(25754),Cn=he(59301),Vt=Object.defineProperty,pn=Object.defineProperties,et=Object.getOwnPropertyDescriptors,tn=Object.getOwnPropertySymbols,Ct=Object.prototype.hasOwnProperty,Ln=Object.prototype.propertyIsEnumerable,Mn=(an,Xr,Or)=>Xr in an?Vt(an,Xr,{enumerable:!0,configurable:!0,writable:!0,value:Or}):an[Xr]=Or,bn=(an,Xr)=>{for(var Or in Xr||(Xr={}))Ct.call(Xr,Or)&&Mn(an,Or,Xr[Or]);if(tn)for(var Or of tn(Xr))Ln.call(Xr,Or)&&Mn(an,Or,Xr[Or]);return an},Dr=(an,Xr)=>pn(an,et(Xr)),oi=(an,Xr,Or)=>new Promise((zn,Qn)=>{var Jn=qe=>{try{On(Or.next(qe))}catch(Ie){Qn(Ie)}},qn=qe=>{try{On(Or.throw(qe))}catch(Ie){Qn(Ie)}},On=qe=>qe.done?zn(qe.value):Promise.resolve(qe.value).then(Jn,qn);On((Or=Or.apply(an,Xr)).next())});function yt(an,Xr){const Or=[];for(let zn=an;zn{const zn=anOt()(Xr).endOf("day"),Jn=an{const Or=parseInt(Ot()(an).format("HH")),zn=parseInt(Ot()().format("HH")),Qn=parseInt(Ot()().format("mm"));if(!an)return{disabledHours:()=>yt(0,zn),disabledMinutes:()=>yt(0,Qn)};if(Xr){const Jn=parseInt(Ot()(Xr).format("HH")),qn=parseInt(Ot()(Xr).format("mm"));return Ot()(an).isSame(Ot()(Xr),"day")?{disabledHours:()=>yt(0,Jn),disabledMinutes:()=>Or<=Jn?yt(0,qn):[]}:void 0}if(Ot()(an).isSame(Ot()(),"day"))return{disabledHours:()=>yt(0,zn),disabledMinutes:()=>Ot()(an).isSame(Ot()(),"hour")&&Or<=zn?yt(0,Qn):[]}},{RangePicker:fi}=je.default,{Option:li}=Bt.default,In=({shixunHomeworks:an,loading:Xr,dispatch:Or,classroomList:zn,user:Qn})=>{var Jn,qn,On,qe,Ie,Ce,He,it,we;const Xt=(0,$t.useParams)(),{workSetting:wn,workList:Lt,shixunWorkList:Zt,headerInfo:or,changeData:Xn}=an,[dn,kr]=(0,se.useState)(!1),[vi,Un]=(0,se.useState)(!1);let[Pr,Ii]=(0,se.useState)([]),[on,qt]=(0,se.useState)([]),[gn,gr]=(0,se.useState)({unified_setting:!1,publish_time:"",end_time:"",allow_late:!1,unified_late:!0,late_time:"",late_penalty:0,penalty_type:Ft.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[mr,xi]=(0,se.useState)({}),[Ui,Ni]=(0,se.useState)({});(0,se.useEffect)(()=>()=>{Ii([])},[]),(0,se.useEffect)(()=>{kr(!(0,Ye.GJ)())},[(0,Ye.GJ)()]);const Fa=()=>{Or({type:"shixunHomeworks/getWorkSetting",payload:bn({},Xt)})};(0,se.useEffect)(()=>{if(!(wn!=null&&wn.course_id))return;Object.keys(gn).map(function(ri){gn[ri]=wn[ri]}),(!gn.allow_late||!gn.unified_late)&&(gn.late_penalty=20,gn.penalty_type=Ft.Q.Percent),gn.unified_setting||(gn.unified_late=!1,gn.unified_anonymous_comment=!1,gn.unified_anonymous_appeal=!1),Pr=JSON.parse(JSON.stringify(wn.group_settings.map(ri=>Dr(bn({},ri),{group_name:[ri.group_name]})).filter(ri=>ri.publish_time!==null))),on=JSON.parse(JSON.stringify(wn.allow_late_settings.map(ri=>Dr(bn({},ri),{group_name:[ri.group_name]})).filter(ri=>ri.late_time!==null))),gr(bn({},gn));const ir=(0,Jt.QE)((Pr==null?void 0:Pr.length)>0?Pr:[]);Ii([...ir]),(on==null?void 0:on.length)<=0?qt([{penalty_type:Ft.Q.Percent,late_penalty:20}]):qt([...on])},[wn]);const _o=()=>oi(void 0,null,function*(){var ir,ri;if(((ir=Qn==null?void 0:Qn.userInfo)==null?void 0:ir.user_status)===2){(0,Gt.Rd)();return}const ua=JSON.parse(JSON.stringify(gn));if(ua.challenge_settings.filter(lr=>!lr.hide),ua.categoryId=Xt.categoryId,(ri=ua.challenge_settings)!=null&&ri.every(lr=>!lr.checked)){Rt.ZP.warning("\u5173\u5361\u4E0D\u80FD\u5168\u90E8\u8BBE\u7F6E\u4E3A\u53EF\u4E0D\u505A");return}if(console.log(Pr),!gn.unified_setting)Pr=Pr==null?void 0:Pr.map(lr=>{var Hr;if(!lr.publish_time||!lr.end_time)throw Rt.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(!lr.group_name)throw Rt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return lr.group_name=typeof(lr==null?void 0:lr.group_name)=="string"?[lr==null?void 0:lr.group_name]:lr==null?void 0:lr.group_name,lr.group_id=(Hr=wn.group_settings)==null?void 0:Hr.filter(hr=>{var Vr;return(Vr=lr==null?void 0:lr.group_name)==null?void 0:Vr.includes(hr.group_name)}).map(hr=>hr.group_id||hr.id).toString().split(","),lr});else if(!gn.publish_time||!gn.end_time)throw Rt.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(ua.group_settings=Pr,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 Rt.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 Rt.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 on=on==null?void 0:on.map(lr=>{var Hr,hr;if(lr.late_penalty===null||lr.late_penalty===void 0||lr.late_penalty<0||lr.late_penalty>100)throw Rt.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(!lr.late_time)throw Rt.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(!lr.group_name)throw Rt.ZP.error("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0"),new String("\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0");return lr.group_name=typeof(lr==null?void 0:lr.group_name)=="string"?[lr==null?void 0:lr.group_name]:lr==null?void 0:lr.group_name,lr.group_id=(hr=(Hr=lr==null?void 0:lr.group_name)==null?void 0:Hr.map(Vr=>{var Rr,qr;let Zi=(qr=(Rr=wn.group_settings)==null?void 0:Rr.filter(Wn=>(Wn==null?void 0:Wn.group_name)===Vr))==null?void 0:qr[0];return Zi==null?void 0:Zi.group_id}))==null?void 0:hr.toString().split(","),lr}),ua.allow_late_settings=on;let un=yield(0,_n.Tr)({homework_common_ids:[parseInt(Xt.categoryId)],course_id:Xt.coursesId,type:"homework_common"});(un==null?void 0:un.student_count)===0?co(ua):(Ni(ua),xi(un))}),co=ir=>{var ri;if(ir.total_score===null){Rt.ZP.warning("\u603B\u5206\u503C\u4E0D\u80FD\u4E3A\u7A7A");return}if(ir!=null&&ir.work_efficiency&&ir.eff_score===null){Rt.ZP.warning("\u6548\u7387\u5206\u4E0D\u80FD\u4E3A\u7A7A");return}const ua=ir.challenge_settings.reduce((Hr,hr)=>Hr+Number(hr.challenge_score),0);if((ua==null?void 0:ua.toFixed(10))!==((ri=ir.total_score-ir.eff_score)==null?void 0:ri.toFixed(10))){Rt.ZP.warning(`\u6548\u7387\u5206\u52A0\u5173\u5361\u4EFB\u52A1\u603B\u5206\u5FC5\u987B\u7B49\u4E8E\u603B\u5206\u503C\uFF1A${ir.total_score}\u5206`);return}const un={shixun_evaluation:ir.shixun_evaluation,challenge_settings:ir.challenge_settings};let lr=()=>{var Hr;const hr=()=>oi(void 0,null,function*(){Un(!0),(yield(0,We.ZP)(`/api/homework_commons/${Xt.categoryId}/publish_setting.json`,{method:"post",body:bn({},ir)})).status===0&&(Rt.ZP.success("\u66F4\u65B0\u6210\u529F"),Fa(),Or({type:"shixunHomeworks/getShixunWorkHeadInfo",payload:bn({},Xt)})),Un(!1)});!(0,pt.isEqual)(Xn,un)&&!((Hr=or==null?void 0:or.homework_status)!=null&&Hr.includes("\u672A\u53D1\u5E03"))?Dt.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:hr}):hr()};wn!=null&&wn.high_resources_consume&&!(wn!=null&&wn.high_resources_consume_permission)?Or({type:"classroomList/setActionTabs",payload:{key:"\u6388\u6743\u4F7F\u7528",id:Xt.coursesId,type:"shixun",type_id:Xt.categoryId,name:wn.homework_name,fn:()=>{lr()}}}):lr()},kn=(ir,ri,ua="group_id")=>{var un;return ri?ri.find(lr=>lr[ua]===ir):(un=wn==null?void 0:wn.group_settings)==null?void 0:un.find(lr=>lr.group_id[0]===ir)},Yi=(wn==null?void 0:wn.allow_late)||(wn==null?void 0:wn.anonymous_comment),ys=ir=>{var ri,ua;const un=kn(ir,wn==null?void 0:wn.allow_late_settings,"id"),lr=kn(ir,wn==null?void 0:wn.anonymous_comment_settings),Hr=kn(ir);return(wn==null?void 0:wn.allow_late)&&un&&Ot()(un==null?void 0:un.late_time)<=Ot()()||(wn==null?void 0:wn.anonymous_comment)&&lr&&(lr==null?void 0:lr.evaluation_start)!==null||((ua=(Ot()(Hr==null?void 0:Hr.end_time)<=Ot()()&&((ri=wn==null?void 0:wn.allow_late_settings)==null?void 0:ri.filter(hr=>hr.group_id.includes(ir))))[0])==null?void 0:ua.late_time)!=null},$o=(0,se.useMemo)(()=>(wn==null?void 0:wn.allow_late)||(wn==null?void 0:wn.all_group_late),[wn,or]),eo=wn==null?void 0:wn.anonymous_comment,lo=ir=>{if(!ir)return!1;const ri=kn(ir,wn==null?void 0:wn.anonymous_comment_settings);return(wn==null?void 0:wn.anonymous_comment)&&ri&&(ri==null?void 0:ri.evaluation_start)!==null},Qr=(ir,ri)=>{var ua,un,lr;Or({type:"classroomList/setActionTabs",payload:{key:"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",data:ir,index:ri,rangePickerDisabled:dn||(Ot()()<=Ot()((un=kn((ua=ir==null?void 0:ir.group_id)==null?void 0:ua[0]))==null?void 0:un.publish_time)?!1:[!0,ys((lr=ir==null?void 0:ir.group_id)==null?void 0:lr[0])]),disabledDate:wn==null?void 0:wn.course_end_date}})};return Cn.createElement("section",{className:Qt.Z.form},Cn.createElement("div",{className:Qt.Z.title},"\u4F5C\u4E1A\u53D1\u5E03",Cn.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")),Cn.createElement("div",null,Cn.createElement("div",{style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Cn.createElement(dt.ZP.Group,{disabled:dn||!((Jn=or==null?void 0:or.homework_status)!=null&&Jn.includes("\u672A\u53D1\u5E03"))||(0,Ye.Rm)()&&!((qn=zn.AssistantObject.practice)!=null&&qn.can_publish),value:gn.unified_setting,onChange:ir=>{var ri;if(!((ri=or==null?void 0:or.homework_status)!=null&&ri.includes("\u672A\u53D1\u5E03"))){Rt.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,qt([{late_penalty:5}])),gr(Object.assign({},gn)),gn.unified_setting===!1&&Pr==""){Ii(Pr.concat({}));return}gn.unified_setting&&(Ii([]),qt([{late_penalty:5}]))}},Cn.createElement(dt.ZP,{value:!0,disabled:dn||!(wn!=null&&wn.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u53D1\u5E03"),Cn.createElement(dt.ZP,{disabled:dn||!((On=wn==null?void 0:wn.group_settings)!=null&&On.length),value:!1},"\u5206\u73ED\u53D1\u5E03")),((qe=wn==null?void 0:wn.group_settings)==null?void 0:qe.length)===0&&Cn.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&&Cn.createElement("div",{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",height:"50px",marginTop:"1px"}},Cn.createElement(Le.Z,{align:"middle"},Cn.createElement(Xe.Z,{style:{marginLeft:"23px"}},"\u53D1\u5E03\u65F6\u95F4"),Cn.createElement(Xe.Z,{className:"ml10"},Cn.createElement(je.default,{size:"large",disabled:dn||!((Ie=or==null?void 0:or.homework_status)!=null&&Ie.includes("\u672A\u53D1\u5E03")||(Ce=or==null?void 0:or.homework_status)!=null&&Ce.includes("\u672A\u5F00\u59CB"))||(0,Ye.Rm)()&&!((He=zn.AssistantObject.practice)!=null&&He.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:ir=>tt(ir,wn==null?void 0:wn.course_end_date),disabledTime:ir=>Rn(ir),value:gn.publish_time?Ot()(gn.publish_time):"",onChange:(ir,ri)=>{gn.publish_time=ri,(gn.end_time==""||!gn.end_time)&&gn.unified_setting&&(gn.end_time=Ot()(ir).add(7,"days").format("YYYY-MM-DD HH:mm:ss")),gr(Object.assign({},gn))}}))),Cn.createElement(Le.Z,{align:"middle",className:"pl30"},Cn.createElement(Xe.Z,null,"\u622A\u6B62\u65F6\u95F4"),Cn.createElement(Xe.Z,{className:"ml10"},Cn.createElement(je.default,{size:"large",style:{width:170},allowClear:!1,placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ot()((0,Jt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:(wn==null?void 0:wn.allow_late)&&(wn==null?void 0:wn.homework_status.includes("\u5DF2\u622A\u6B62"))||dn||(wn==null?void 0:wn.allow_late)&&Ot()()>=Ot()(wn==null?void 0:wn.end_time)||(0,Ye.Rm)()&&!((it=zn.AssistantObject.practice)!=null&&it.can_publish),disabledDate:ir=>tt(ir,wn==null?void 0:wn.course_end_date,gn.publish_time),disabledTime:ir=>Rn(ir,gn.publish_time),value:gn.end_time?Ot()(gn.end_time):"",onChange:(ir,ri)=>{gn.end_time=ri,gr(Object.assign({},gn))}})))),!gn.unified_setting&&(Pr==null?void 0:Pr.length)>0&&Cn.createElement(Le.Z,{style:{display:"flex",color:"#666666",background:"#F6F7F9",padding:"5px 30px",marginTop:"1px"}},Pr&&Pr.map(function(ir,ri){var ua,un,lr,Hr,hr,Vr,Rr;return Cn.createElement(Xe.Z,{span:24,key:ri},Cn.createElement(Le.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:ri==(Pr==null?void 0:Pr.length)-1?"0px":"10px"}},Cn.createElement("div",{style:{minWidth:85,marginRight:"15px",textAlign:"right"}},"\u53D1\u5E03\u89C4\u5219",ri+1),Cn.createElement(Bt.default,{disabled:dn||((ua=or==null?void 0:or.homework_status)!=null&&ua.includes("\u672A\u53D1\u5E03")&&ir.id||Ot()(){var Zi;if((0,Ye.Rm)()&&!((Zi=zn.AssistantObject.practice)!=null&&Zi.can_publish)){Rt.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}Pr[ri].group_name=qr,Pr[ri].group_id=ir.group_id;const Wn=(0,pt.flattenDeep)(Pr.map(Nt=>Nt.group_name)),st=on.map(Nt=>{let Gn=(Nt==null?void 0:Nt.group_name)||[];return Dr(bn({},Nt),{group_name:(0,pt.remove)(Gn,Sr=>Wn.includes(Sr))})});qt(st),Ii(Pr.slice())},maxTagCount:4,maxTagPlaceholder:qr=>Cn.createElement("div",{style:{cursor:"pointer"},onClick:()=>Qr(ir,ri)},"+",qr==null?void 0:qr.length)},wn.group_settings&&wn.group_settings.map(function(qr){if(!Pr.map(Wn=>Wn.group_name).flat().includes(qr.group_name))return Cn.createElement(li,{value:qr.group_name,key:qr.id},qr.group_name)})),Cn.createElement("div",{className:"ml20"},Cn.createElement(fi,{size:"large",ranges:{\u6B64\u523B:[ir.publish_time?Ot()(ir.publish_time):Ot()(),Ot()()]},allowClear:!1,disabled:dn||(Ot()()<=Ot()((Hr=kn((lr=ir==null?void 0:ir.group_id)==null?void 0:lr[0]))==null?void 0:Hr.publish_time)?!1:[!0,ys((hr=ir==null?void 0:ir.group_id)==null?void 0:hr[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:qr=>tt(qr,wn==null?void 0:wn.course_end_date),disabledTime:qr=>Rn(qr),showTime:{showNow:!0,format:"HH:mm",defaultValue:[Ot()((0,Jt.U6)(),"HH:mm"),Ot()((0,Jt.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:ir.publish_time&&[Ot()(ir.publish_time),ir.end_time?Ot()(ir.end_time):void 0],onChange:(qr,Zi)=>{var Wn;if((0,Ye.Rm)()&&!((Wn=zn.AssistantObject.practice)!=null&&Wn.can_publish)){Rt.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}Pr[ri].publish_time=Zi[0],!ir.end_time&&Zi[0]?Pr[ri].end_time=Ot()(Zi[0]).add(7,"days"):Pr[ri].end_time=Zi[1],Ii([...Pr])},onCalendarChange:(qr,Zi,Wn)=>{if(Zi!=null&&Zi[0]&&!Zi[1]){const st=Ot()(Zi[0]).add(7,"days");Pr[ri].publish_time=Zi[0],Pr[ri].end_time=st,Ii([...Pr])}}})),!dn&&Cn.createElement("div",{style:{display:"flex",width:"50px"}},((Vr=ir==null?void 0:ir.group_id)==null?void 0:Vr.length)>1&&Cn.createElement(_e.Z,{title:"\u89C4\u5219\u62C6\u5206"},Cn.createElement("i",{className:"iconfont icon-chaifen ml10",style:{cursor:"pointer",color:"#3061d0"},onClick:()=>Qr(ir,ri)})),Pr.length<((Rr=wn==null?void 0:wn.group_settings)==null?void 0:Rr.length)&&Cn.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var qr;if((0,Ye.Rm)()&&!((qr=zn.AssistantObject.practice)!=null&&qr.can_publish)){Rt.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}Ii(Pr.concat({}))}}),((ir==null?void 0:ir.publish_time)&&Ot()(){const qr=(0,pt.cloneDeep)(on);qr.forEach((Zi,Wn)=>{Zi.group_name&&(Zi.group_name=Zi.group_name.filter(st=>{var Nt;return!((Nt=Pr[ri].group_name)!=null&&Nt.includes(st))}))}),Pr=Pr.filter((Zi,Wn)=>ri!==Wn),qt(qr),Ii(Pr.slice()),setTimeout(()=>Ii(Pr.slice()),10)}}))))}))),Cn.createElement(Le.Z,null,Cn.createElement(Xe.Z,null,Cn.createElement("div",{className:Qt.Z.title,style:{marginTop:"30px"}},"\u8865\u4EA4\u8BBE\u7F6E",Cn.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"))),Cn.createElement(Xe.Z,{span:24,style:{background:"#F6F7F9",padding:"13px 30px",display:"flex",alignItems:"center"}},Cn.createElement(It.default,{checked:gn.allow_late,disabled:dn||$o,onChange:ir=>{var ri;if((0,Ye.Rm)()&&!((ri=zn.AssistantObject.practice)!=null&&ri.can_late)){Rt.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}ir.target.checked&&Dt.default.warning({title:"\u5F00\u542F\u8865\u4EA4\u63D0\u793A",centered:!0,width:480,content:Cn.createElement("div",{style:{padding:10,background:"#f5f6f9"}},Cn.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"),Cn.createElement("div",null,"2.\u8865\u4EA4\u622A\u6B62\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u4F5C\u4E1A\u622A\u6B62\u65F6\u95F4\uFF1B"),Cn.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,on==""&&qt([{late_penalty:5}]),gr(Object.assign({},gn))}},Cn.createElement("strong",null,"\u5F00\u542F\u8865\u4EA4")))),(gn==null?void 0:gn.allow_late)&&Cn.createElement("div",{style:{background:"#F6F7F9",padding:"10px 30px",marginTop:"1px",color:"#666666"}},Cn.createElement("div",{style:{display:"flex"}},Cn.createElement("div",{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u65B9\u5F0F"),Cn.createElement(dt.ZP.Group,{style:{marginLeft:"20px"},disabled:dn||(wn==null?void 0:wn.anonymous_comment)||(wn==null?void 0:wn.allow_late),value:gn.unified_late,onChange:ir=>{var ri;if((0,Ye.Rm)()&&!((ri=zn.AssistantObject.practice)!=null&&ri.can_late)){Rt.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=ir.target.value,on==""&&!ir.target.value&&qt([{penalty_type:Ft.Q.Percent,late_penalty:20}]),gr(bn({},gn))}},(gn==null?void 0:gn.unified_setting)&&Cn.createElement(dt.ZP,{value:!0,disabled:!(wn!=null&&wn.manage_all_group),style:{marginRight:"50px"}},"\u7EDF\u4E00\u8865\u4EA4"),((we=wn==null?void 0:wn.group_settings)==null?void 0:we.length)>0&&Cn.createElement(dt.ZP,{value:!1},"\u5206\u73ED\u8865\u4EA4"))),gn!=null&&gn.unified_late?Cn.createElement(Cn.Fragment,null,Cn.createElement(Le.Z,{align:"middle",style:{marginTop:"10px"}},Cn.createElement(Xe.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u6263\u5206"),Cn.createElement(Xe.Z,{className:"ml20"},Cn.createElement(Ft.Z,{disabled:dn||eo,value:{type:gn.penalty_type,inputValue:gn.late_penalty},onChange:ir=>{var ri;if((0,Ye.Rm)()&&!((ri=zn.AssistantObject.practice)!=null&&ri.can_late)){Rt.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}gr(Dr(bn({},gn),{late_penalty:ir.inputValue,penalty_type:ir.type}))}})),Cn.createElement(Xe.Z,{flex:"1",className:"ml5"},Cn.createElement("span",{className:"c-grey-c ml10"},gn.penalty_type===Ft.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)"))),Cn.createElement(Le.Z,{align:"middle",style:{marginTop:"15px"}},Cn.createElement(Xe.Z,{style:{width:"110px",textAlign:"right"}},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Cn.createElement(Xe.Z,{className:"ml20"},Cn.createElement(je.default,{size:"large",allowClear:!1,style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:Ot()((0,Jt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",disabled:dn||eo,value:gn.late_time?Ot()(gn.late_time):"",disabledDate:ir=>tt(ir,wn==null?void 0:wn.course_end_date),onChange:(ir,ri)=>{var ua;if((0,Ye.Rm)()&&!((ua=zn.AssistantObject.practice)!=null&&ua.can_late)){Rt.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=ri,gr(Object.assign({},gn))}})))):on.map(function(ir,ri){var ua;return Cn.createElement(Xe.Z,{span:24,key:ri},Cn.createElement(Le.Z,{style:{display:"flex",alignItems:"center",marginTop:"10px"}},Cn.createElement("div",{style:{width:"85px",marginLeft:"27px",textAlign:"right"}},"\u8865\u4EA4\u89C4\u5219",ri+1),Cn.createElement(Bt.default,{disabled:dn||!((ua=or==null?void 0:or.homework_status)!=null&&ua.includes("\u672A\u53D1\u5E03"))&&ir.id||(wn==null?void 0:wn.anonymous_comment),mode:"multiple",className:Qt.Z.multiple_select,style:{width:"212px",marginLeft:"18px"},value:typeof ir.group_name=="string"?[ir.group_name]:ir.group_name,placeholder:"\u8BF7\u9009\u62E9\u5206\u73ED\u540D\u79F0",onChange:un=>{var lr;if((0,Ye.Rm)()&&!((lr=zn.AssistantObject.practice)!=null&&lr.can_late)){Rt.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}on[ri].group_name=un,on[ri].group_id=ir.group_id,qt(on.slice())}},wn.group_settings&&wn.group_settings.map(function(un){const lr=on.map(hr=>hr.group_name).flat(),Hr=Pr.map(hr=>hr.group_name).flat();if(gn!=null&&gn.unified_setting){if(!lr.includes(un.group_name))return Cn.createElement(li,{value:un.group_name,key:un.id},un.group_name)}else if(Hr.includes(un.group_name)&&!lr.includes(un.group_name))return Cn.createElement(li,{value:un.group_name,key:un.id},un.group_name)})),Cn.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u6263\u5206"),Cn.createElement(Ft.Z,{disabled:dn||lo(ir.id),value:{type:ir.penalty_type,inputValue:ir.late_penalty},onChange:un=>{var lr;if((0,Ye.Rm)()&&!((lr=zn.AssistantObject.practice)!=null&&lr.can_late)){Rt.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}on[ri].late_penalty=un.inputValue,on[ri].penalty_type=un.type,qt([...on])}}),Cn.createElement("div",{className:"ml20 mr10"},"\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"),Cn.createElement(je.default,{size:"large",disabled:dn||lo(ir.id),style:{width:225},showTime:{format:"HH:mm",defaultValue:Ot()((0,Jt.U6)(),"HH:mm")},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",disabledDate:un=>tt(un,wn==null?void 0:wn.course_end_date),format:"YYYY-MM-DD HH:mm",value:ir!=null&&ir.late_time?Ot()(ir.late_time):void 0,onChange:(un,lr)=>{var Hr;if((0,Ye.Rm)()&&!((Hr=zn.AssistantObject.practice)!=null&&Hr.can_late)){Rt.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}on[ri].late_time=lr,qt([...on])}}),!dn&&Cn.createElement("div",{style:{display:"flex",width:"50px"}},Cn.createElement("i",{className:"iconfont icon-zengjia1 ml10 mr10",style:{cursor:"pointer",color:"#00B187"},onClick:()=>{var un;if((0,Ye.Rm)()&&!((un=zn.AssistantObject.practice)!=null&&un.can_late)){Rt.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}qt(on.concat({penalty_type:Ft.Q.Percent,late_penalty:20}))}}),ri>0&&!ir.id&&Cn.createElement("i",{className:"iconfont icon-shanjian1",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{var un;if((0,Ye.Rm)()&&!((un=zn.AssistantObject.practice)!=null&&un.can_late)){Rt.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}on=on.filter((lr,Hr)=>ri!==Hr),qt(on.slice()),setTimeout(()=>qt(on.slice()),10)}}))))})),!dn&&Cn.createElement(Cn.Fragment,null,Cn.createElement(vt.ZP,{type:"primary",size:"large",loading:vi,style:{width:"138px",marginTop:"30px"},onClick:()=>_o()},"\u4FDD\u5B58")),Cn.createElement(Je.Z,{onConfirm:(ir,ri)=>{Pr.splice(ir,0,...ri),Pr.splice(ir+ri.length,1);const ua=(0,Jt.QE)([...Pr]);Ii([...ua])}}),Cn.createElement(Sn.Z,{resdata:mr,type:"shixun",okloading:vi,oktext:(mr==null?void 0:mr.can_copy_num)===0?"\u786E\u5B9A":"\u4E00\u952E\u590D\u5236\u5E76\u66FF\u6362",onok:ir=>oi(void 0,null,function*(){Un(!0);let ri=yield(0,We.ZP)(`/api/courses/${Xt.coursesId}/batch_copy_shixuns.json`,{method:"post",body:{type:"homework_common",ids:[parseInt(Xt.categoryId)]}});Un(!1),(ri==null?void 0:ri.status)===0&&co(Ui)})}))};xr.ZP=(0,$t.connect)(({shixunHomeworks:an,classroomList:Xr,loading:Or,user:zn})=>({shixunHomeworks:an,classroomList:Xr,loading:Or.effects,user:zn}))(In)},22298:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return It}});var se=he(59301),je=he(92832),Bt=he(24905),Rt=he(95237),Dt={leftdiv:"leftdiv___aBzsX",listClass:"listClass___bxIEW",spantitle:"spantitle___v_Vc4",rightdiv:"rightdiv___xWu4M"},dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAbVJREFUOE+Nk79rFUEUhb+zE4OFwUD+CyGKKQQbSaMikQQ7C1tBBIsUQaJvl2Fn/cWDpAiIYJsi7YOIaCUWFoKKRhG0sbEzEImFGnev7G6yyXsxeU5159yZb87l3hG9q2WLiBO79FIwXpLp0s6cwITnQCMWrGDM43jdBckZQ0wTMdrong2R2Bxm0/98sZ8ozdcOEm5hjOC41u9Olc9ZQKySclOVkNhljCmCzjeAJM/4FbW5p+8k5tlggTtarfKxLSM6pHq4BTiL0SboaAOIi284jeP1nti+ApMEvdoEvEPMkOpJDZi1IwzwgqDh/wSsYZwk08ca4O0Qua3zW8OV5crmHg6u22EGbQ2nIbx+1IC6rrK+cYJW9gXEVrbxGUEj5bltQGJvgBapHu0LSGwCyEh1vBsQWwd4TNCDPg6uAOcImuoFlL1dJ9WNPg5uYwwRVM3MzhJmKIpjZK6e9bj4jNNpvL4QFx9wuoDXJ1r5IlH0llTtXgcXwa4SolObnYnwKnbFcfEcdJ+gpW6AtzFynuIop/Fn053u4CA5yzjO4FV9tu0Syl2S38WiSWBgD8AfoEPQ7Fb+LwIiyhxWwe2KAAAAAElFTkSuQmCC",Le=he(61648),Xe=(vt,wt,Ot)=>new Promise((Ye,We)=>{var pt=Qt=>{try{Jt(Ot.next(Qt))}catch($t){We($t)}},mt=Qt=>{try{Jt(Ot.throw(Qt))}catch($t){We($t)}},Jt=Qt=>Qt.done?Ye(Qt.value):Promise.resolve(Qt.value).then(pt,mt);Jt((Ot=Ot.apply(vt,wt)).next())}),It=({data:vt,value:wt=[],handleChangePage:Ot,setSelectedRowKeys:Ye,selectedRowKeys:We,onChange:pt=()=>{}})=>{const[mt,Jt]=(0,se.useState)([]),[Qt,$t]=(0,se.useState)([]),[Ft,Gt]=(0,se.useState)([]);let[Je,Sn]=(0,se.useState)(1),[_n,Cn]=(0,se.useState)();return(0,se.useEffect)(()=>{Jt(vt),$t([]),Gt([])},[vt]),(0,se.useEffect)(()=>{Ye&&($t(We),Gt(We))},[We]),se.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},se.createElement("div",{className:Dt.leftdiv},se.createElement(je.default.Search,{size:"middle",onChange:Vt=>Xe(void 0,null,function*(){Jt(vt.filter(pn=>{var et;return(et=pn==null?void 0:pn.name)==null?void 0:et.includes(Vt.target.value)}))}),placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),mt.length===0&&se.createElement(Le.Z,{styles:{margin:"70px auto"},customText:"\u6682\u65E0\u5206\u73ED"}),se.createElement("div",{style:{height:"85%",overflow:"auto",overflowX:"hidden"}},se.createElement(Bt.default.Group,{value:Qt.map(Vt=>`${Vt.id}`),onChange:Vt=>{Ye(mt.filter(pn=>Vt.includes(`${pn.id}`)))},style:{marginTop:"10px",flexDirection:"column"}},mt.map((Vt,pn)=>se.createElement(Rt.Z,{key:Vt.id,style:{marginTop:"10px",lineHeight:"24px",display:"flex",width:200}},se.createElement(Bt.default,{style:{display:"flex",height:"24px",alignItems:"center"},disabled:Vt.is_published,value:`${Vt.id}`},se.createElement("div",{className:Dt.listClass},se.createElement("span",{className:Dt.spantitle,style:{width:Vt.is_published?"108px":"170px"}},Vt.name),Vt.is_published&&se.createElement("span",{style:{width:"52px",height:"24px",background:"#B8B8B8",borderRadius:"13px",color:"white",lineHeight:"24px",textAlign:"center",display:"inline-block"}},"\u5DF2\u53D1\u5E03")))))))),se.createElement("div",{className:Dt.rightdiv},se.createElement(je.default.Search,{onChange:Vt=>{Gt(Qt.filter(pn=>pn.name.includes(Vt.target.value)))},size:"middle",placeholder:"\u53EF\u8F93\u5165\u73ED\u7EA7\u540D\u79F0\u67E5\u8BE2"}),Ft.length===0&&se.createElement(Le.Z,{styles:{margin:"70px auto"},customText:"\u6682\u672A\u9009\u62E9\u5206\u73ED"}),Ft.length>0&&se.createElement("div",{style:{marginTop:"10px",height:"85%",overflow:"hidden",position:"relative"}},se.createElement("div",{style:{overflowX:"hidden",overflowY:"scroll",position:"absolute",left:0,top:0,right:-17,bottom:0}},Ft.map((Vt,pn)=>se.createElement(Rt.Z,{justify:"space-between",style:{marginTop:"10px"},key:Vt.id},se.createElement("div",{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",marginRight:"5px",marginLeft:"5px",width:"75%"}},Vt.name),se.createElement("img",{src:dt,style:{cursor:"pointer",height:"16px",marginRight:17},onClick:()=>{Ye(Qt.filter(et=>`${et.id}`!=`${Vt.id}`))}})))))))}},16020:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return pt}});var se=he(59301),je=he(44225),Bt=he(5083),Rt=he(43418),Dt=he(92832),dt=he(95237),Le=he(43604),Xe={title_tooltip:"title_tooltip___LLdrn",multiple_select:"multiple_select___kDXUm",modal_con:"modal_con___ERnkW"},_e=he(66649),It=he.n(_e),vt=he(85333),wt=he(61648),Ot=he(59301);const{RangePicker:Ye}=Bt.default,We=({dispatch:mt,classroomList:Jt,onConfirm:Qt})=>{const[$t,Ft]=(0,se.useState)([]),[Gt,Je]=(0,se.useState)([]),[Sn,_n]=(0,se.useState)("");(0,se.useEffect)(()=>{var pn;if(Jt.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206"){let et=Jt.actionTabs.data;console.log("data",et);let tn=(pn=et==null?void 0:et.group_name)==null?void 0:pn.map((Ct,Ln)=>{var Mn;return{group_id:et==null?void 0:et.group_id[Ln],group_name:et==null?void 0:et.group_name[Ln],is_admin:et==null?void 0:et.is_admin,end_time:et==null?void 0:et.end_time,publish_time:Array.isArray(et==null?void 0:et.publish_time)?(Mn=et==null?void 0:et.publish_time)==null?void 0:Mn[0]:et==null?void 0:et.publish_time}});tn&&(Ft([...tn]),Je([...tn]))}},[Jt.actionTabs]);const Cn=()=>{mt({type:"classroomList/setActionTabs",payload:{}}),_n("")},Vt=pn=>{if(pn){const et=Gt==null?void 0:Gt.filter(tn=>{var Ct,Ln;return(Ln=(Ct=tn==null?void 0:tn.group_name)==null?void 0:Ct.toLowerCase())==null?void 0:Ln.includes(pn==null?void 0:pn.toLowerCase())});Ft(et)}else Ft(Gt)};return Ot.createElement(Rt.default,{width:980,title:Ot.createElement("div",{style:{fontWeight:"bold",display:"flex"}},Ot.createElement("div",null,"\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",Ot.createElement("span",{className:Xe.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")),Ot.createElement(Dt.default.Search,{allowClear:!0,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",style:{width:220,marginLeft:"60px"},value:Sn,onChange:pn=>{_n(pn.target.value.trim()),Vt(pn.target.value.trim())}})),centered:!0,maskClosable:!1,open:Jt.actionTabs.key==="\u5206\u73ED\u53D1\u5E03-\u53D1\u5E03\u89C4\u5219\u62C6\u5206",onCancel:()=>Cn(),onOk:()=>{var pn;Qt((pn=Jt.actionTabs)==null?void 0:pn.index,Gt),Cn()}},Ot.createElement("div",{className:Xe.modal_con},Ot.createElement(dt.Z,{style:{display:"flex",color:"#666666",padding:"5px",marginTop:"1px"}},($t==null?void 0:$t.length)>0?$t.map(function(pn,et){var tn,Ct;return Ot.createElement(Le.Z,{span:24,key:et},Ot.createElement(dt.Z,{gutter:[8,16],style:{display:"flex",alignItems:"center",marginBottom:et==($t==null?void 0:$t.length)-1?"0px":"10px"}},Ot.createElement("div",{className:Xe.multiple_select,title:pn.group_name},pn.group_name),Ot.createElement("div",{className:"ml20"},Ot.createElement(Ye,{size:"large",ranges:{\u6B64\u523B:[pn.publish_time?It()(pn.publish_time):It()(),It()()]},allowClear:!1,disabled:(tn=Jt.actionTabs)==null?void 0:tn.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:Ln=>{var Mn;return(0,vt.Q8)(Ln,(Mn=Jt.actionTabs)==null?void 0:Mn.disabledDate)},disabledTime:Ln=>(0,vt.d0)(Ln),showTime:{showNow:!0,format:"HH:mm",defaultValue:[It()((0,vt.U6)(),"HH:mm"),It()((0,vt.U6)(),"HH:mm")]},format:"YYYY-MM-DD HH:mm",value:pn.publish_time&&[It()(pn.publish_time),pn.end_time?It()(pn.end_time):void 0],onChange:(Ln,Mn)=>{$t[et].publish_time=Mn[0],$t[et].end_time=Mn[1],Ft([...$t]),Gt.forEach(bn=>{bn.group_id===pn.group_id&&(bn.publish_time=Mn[0],bn.end_time=Mn[1])}),Je([...Gt])}})),(Ct=Jt.actionTabs)!=null&&Ct.rangePickerDisabled?Ot.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{color:"#E30000",opacity:"0.2",cursor:"not-allowed"}}):Ot.createElement("i",{className:"iconfont icon-shanjian1 ml15",style:{cursor:"pointer",color:"#E30000"},onClick:()=>{$t.splice(et,1),Ft([...$t]),Gt.forEach((Ln,Mn)=>{Ln.group_id===pn.group_id&&Gt.splice(Mn,1)}),Je([...Gt])}})))}):Ot.createElement(wt.Z,null))))};var pt=(0,je.connect)(({classroomList:mt})=>({classroomList:mt}))(We)},32914:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return We}});var se=he(59301),je=he(43418),Bt=he(24905),Rt=he(38854),Dt=he(20834),dt=he(1710),Le=he(8591),Xe=he(5112),_e=he(69498),It=he(55301),vt=he(93351),wt=he(42847),Ot=(pt,mt,Jt)=>new Promise((Qt,$t)=>{var Ft=Sn=>{try{Je(Jt.next(Sn))}catch(_n){$t(_n)}},Gt=Sn=>{try{Je(Jt.throw(Sn))}catch(_n){$t(_n)}},Je=Sn=>Sn.done?Qt(Sn.value):Promise.resolve(Sn.value).then(Ft,Gt);Je((Jt=Jt.apply(pt,mt)).next())});const Ye=50;var We=({data:pt,isAdminOrTeacher:mt,onDelGroup:Jt,onChangeGroupName:Qt,onPlusMember:$t,onDelMember:Ft,onExitGroup:Gt,Transferteams:Je})=>{var Sn,_n;const[Cn,Vt]=(0,se.useState)(0),[pn,et]=(0,se.useState)(0);let[tn,Ct]=(0,se.useState)(),[Ln,Mn]=(0,se.useState)(),[bn,Dr]=(0,se.useState)(!1),[oi,yt]=(0,se.useState)(),[tt,Rn]=(0,se.useState)(),[fi,li]=(0,se.useState)(!1),[In,an]=(0,se.useState)(!1),[Xr,Or]=(0,se.useState)("");function zn(He){let it=parseInt(He.key,10);Or(it),an(!0)}function Qn(He){let it=parseInt(He.key,10);je.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:()=>{Gt(it)}})}function Jn(He){let it=parseInt(He,10);je.default.confirm({title:"\u9000\u51FA\u63D0\u793A",okText:"\u786E\u5B9A",icon:!1,className:wt.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:()=>{Gt(it)}})}function qn(He,it){je.default.confirm({title:"\u6E29\u99A8\u63D0\u793A",content:"\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u7EC4\u5458\u5417?",icon:!1,className:wt.Z.CustomTipsModalCss,okText:"\u786E\u5B9A",cancelText:"\u53D6\u6D88",onOk:()=>{Ft(He,it)}})}const On={display:"block",height:"30px",lineHeight:"30px"};function qe(He){Rn(He),yt(He==null?void 0:He.id),li(!0)}const Ie=[{title:"\u6210\u5458\u540D\u79F0",dataIndex:"name",width:150},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u9898",dataIndex:"item_bank",align:"center",width:150,render:(He,it,we)=>se.createElement(Bt.default,{disabled:it==null?void 0:it.is_creator,defaultChecked:He,onChange:Xt=>{(0,_e.fg)({id:oi,member_id:it.id,clazz:"item_bank",enable:Xt.target.checked})}})},{title:"\u7F16\u8F91\u5171\u4EAB\u8BD5\u9898",dataIndex:"edit_item_bank",align:"center",width:150,render:(He,it,we)=>se.createElement(Bt.default,{disabled:it==null?void 0:it.is_creator,defaultChecked:He,onChange:Xt=>{(0,_e.fg)({id:oi,member_id:it.id,clazz:"edit_item_bank",enable:Xt.target.checked})}})},{title:"\u4F7F\u7528\u5171\u4EAB\u8BD5\u5377",dataIndex:"exercise",align:"center",render:(He,it,we)=>se.createElement(Bt.default,{disabled:it==null?void 0:it.is_creator,defaultChecked:He,onChange:Xt=>{(0,_e.fg)({id:oi,member_id:it.id,clazz:"exercise",enable:Xt.target.checked})}})}];function Ce(He){return Ot(this,null,function*(){const it=yield(0,_e.Gt)(He==null?void 0:He.id);yt(He==null?void 0:He.id),Mn(it),Dr(!0)})}return se.createElement("ul",{className:"teaching-lists"},pt.map((He,it)=>se.createElement("li",{key:He.id,style:{marginTop:it===0?30:16},onClick:()=>Vt(it)},se.createElement("div",{className:"item-group"},se.createElement("span",{style:{color:"#000000",fontSize:16,fontWeight:600}},He.name,"\u7684\u6559\u7814\u56E2\u961F"),se.createElement("div",{className:"action-group"})),se.createElement("div",{style:{display:"flex"}},se.createElement("span",{style:{marginTop:29,marginLeft:24,color:"#5F6367"}},"\u56E2\u961F\u6210\u5458\uFF1A"),se.createElement("ul",{className:"info",style:{flex:1}},He.memers.map(we=>{var Xt;return se.createElement("li",{key:we.id||we.name,onClick:()=>{et(we.id)},className:"directionItemWrap"},se.createElement("div",{className:"hovename",style:{display:"flex",alignItems:"center",justifyContent:"center",fontWeight:400,fontSize:14,color:we!=null&&we.is_creater?"#000000":"#5F6367"}},((Xt=we.name)==null?void 0:Xt.length)>6?we.name.substr(0,6)+"....":we.name,se.createElement("img",{src:It.Z,style:{marginLeft:5,display:!(we!=null&&we.is_creater)&&"none",height:25,width:78}})),He.is_creat?se.createElement("div",{className:"groupActionWrap",style:{display:!(we!=null&&we.id)&&"none"}},se.createElement("a",{className:"btn-del",onClick:wn=>{wn.preventDefault(),wn.stopPropagation(),qn(He.id,we.id)}},"x")):null)})),He.is_creat||mt?se.createElement(Rt.Z,{overlayClassName:"dropdowns",dropdownRender:()=>se.createElement(Dt.default,null,se.createElement(Dt.default.Item,{onClick:()=>{Qt(He)}},"\u4FEE\u6539\u540D\u79F0"),se.createElement(Dt.default.Item,{disabled:He.memers.length>=50,onClick:()=>{$t(He)}},"\u6DFB\u52A0\u6210\u5458"),He.is_creat&&se.createElement(Dt.default.Item,{onClick:()=>Ce(He)},"\u6743\u9650\u914D\u7F6E"),He.is_creat&&se.createElement(Dt.default.Item,{onClick:()=>qe(He)},"\u8F6C\u8BA9\u56E2\u961F"),se.createElement(Dt.default.Item,{key:He.id+"",onClick:He.is_creat?zn:Qn},He.is_creat?"\u89E3\u6563":"\u9000\u51FA"))},se.createElement("span",{style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20}},"\u8BBE\u7F6E",se.createElement("i",{style:{marginLeft:5,color:"#979797"},className:"iconfont icon-a-bianzu11"}))):se.createElement("span",{key:He.id+"",style:{marginTop:30,marginRight:24,color:"#165DFF",fontSize:14,height:20},className:"c-grey-c",onClick:()=>Jn(He.id)},"\u9000\u51FA")))),se.createElement(je.default,{width:700,wrapClassName:wt.Z.CustomCss,title:"\u6743\u9650\u914D\u7F6E",footer:null,open:bn,onCancel:()=>Dr(!1)},se.createElement(vt.Gi,null,se.createElement(dt.default,{dataSource:Ln==null?void 0:Ln.members,columns:Ie,pagination:!1,scroll:{y:240}})),se.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")),se.createElement(je.default,{title:"\u89E3\u6563\u63D0\u793A",wrapClassName:wt.Z.CustomCss,onOk:()=>{Jt(Xr),an(!1)},open:In,onCancel:()=>an(!1)},se.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"),se.createElement("p",null,"\u60A8\u786E\u5B9A\u8981\u89E3\u6563\u672C\u6559\u7814\u56E2\u961F\u5417\uFF1F")),se.createElement(je.default,{wrapClassName:wt.Z.CustomCss,title:"\u8F6C\u8BA9\u56E2\u961F",onOk:()=>{if(!tn){Le.ZP.info("\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A");return}Je(oi,tn),li(!1),tn=""},open:fi,onCancel:()=>{li(!1),tn=""}},se.createElement("p",{style:{textAlign:"left"}},"\u9009\u4E2D\u7684\u6210\u5458\u5C06\u4F1A\u4EE5\u65B0\u7684\u521B\u5EFA\u4EBA\u8EAB\u4EFD\u63A5\u7BA1\u56E2\u4F53 ",se.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"),se.createElement("div",null,se.createElement(Xe.ZP.Group,{defaultValue:[],onChange:He=>{tn=He.target.value,Ct(He.target.value)}},(_n=(Sn=tt==null?void 0:tt.memers)==null?void 0:Sn.filter(He=>He.is_teacher))==null?void 0:_n.map((He,it)=>se.createElement(Xe.ZP,{style:On,value:He==null?void 0:He.id},He==null?void 0:He.name))))))}},73180:function(Hn,xr,he){"use strict";var se=he(59301),je=he(78241),Bt=he(43418),Rt=he(92832),Dt=he(42847);xr.Z=({callback:dt,visible:Le,onCancel:Xe,id:_e,name:It})=>{function vt(Ot){dt(Ot)}const[wt]=je.default.useForm();return(0,se.useEffect)(()=>{wt.setFieldsValue({name:It})},[It]),se.createElement(Bt.default,{centered:!0,title:_e?"\u4FEE\u6539\u540D\u79F0":"\u65B0\u5EFA",open:Le,onCancel:Xe,onOk:()=>{wt.submit()},wrapClassName:Dt.Z.CustomCss},se.createElement(je.default,{form:wt,initialValues:{name:It},onFinish:vt},se.createElement(je.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"}]},se.createElement(Rt.default,{placeholder:"\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u540D\u79F0",maxLength:20}))))}},30645:function(Hn,xr,he){"use strict";he.d(xr,{J:function(){return Je},Z:function(){return pn}});var se=he(59301),je=he(3113),Bt=he(43418),Rt=he(58103),Dt=he(69498),dt=he(73180),Le=he(32914),Xe=he(42847),_e=he(93351),It=he(85333),vt=he(44225),wt=he(86822),Ot=Object.defineProperty,Ye=Object.defineProperties,We=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertySymbols,mt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,Qt=(et,tn,Ct)=>tn in et?Ot(et,tn,{enumerable:!0,configurable:!0,writable:!0,value:Ct}):et[tn]=Ct,$t=(et,tn)=>{for(var Ct in tn||(tn={}))mt.call(tn,Ct)&&Qt(et,Ct,tn[Ct]);if(pt)for(var Ct of pt(tn))Jt.call(tn,Ct)&&Qt(et,Ct,tn[Ct]);return et},Ft=(et,tn)=>Ye(et,We(tn)),Gt=(et,tn,Ct)=>new Promise((Ln,Mn)=>{var bn=yt=>{try{oi(Ct.next(yt))}catch(tt){Mn(tt)}},Dr=yt=>{try{oi(Ct.throw(yt))}catch(tt){Mn(tt)}},oi=yt=>yt.done?Ln(yt.value):Promise.resolve(yt.value).then(bn,Dr);oi((Ct=Ct.apply(et,tn)).next())});function Je({children:et}){return se.createElement("div",{className:"no-data"},se.createElement("img",{src:Rt,alt:"no-data",width:300}),et)}const Sn={data:[],loading:!0,selectedGroup:{},showFormPanel:!1,showMemberPanel:!1,index:0};var _n=(et=>(et[et.INITDATA=0]="INITDATA",et[et.SHOWLOADING=1]="SHOWLOADING",et[et.SHOWFORMPANEL=2]="SHOWFORMPANEL",et[et.SHOWMEMBERPANEL=3]="SHOWMEMBERPANEL",et[et.SELECTGROUP=4]="SELECTGROUP",et[et.SETINDEX=5]="SETINDEX",et))(_n||{});function Cn(et,tn){switch(tn.type){case 0:return $t($t({},et),tn.payload);case 1:return Ft($t({},et),{loading:tn.payload});case 5:return Ft($t({},et),{index:tn.payload});case 2:return $t($t({},et),tn.payload);case 3:return $t($t({},et),tn.payload);case 4:return Ft($t({},et),{selectedGroup:tn.payload,showFormPanel:!0});default:throw new Error}}function Vt({user:et}){var tn;const Ct=(0,vt.useLocation)(),[Ln]=(0,vt.useSearchParams)(),[Mn,bn]=(0,se.useReducer)(Cn,Sn),{data:Dr,index:oi,loading:yt,showFormPanel:tt,selectedGroup:Rn,showMemberPanel:fi}=Mn,li=(tn=et.userInfo)==null?void 0:tn.role,[In,an]=(0,se.useState)(Ln.get("category")||"0"),Xr=(0,se.useMemo)(()=>{let Lt=[],Zt=[];if(Dr){for(let or of Dr)or.is_creat?Lt.push(or):Zt.push(or);return[Lt,Zt]}},[Dr]);(0,se.useEffect)(()=>{li===15&&bn({type:5,payload:1})},[li]);function Or(){return Gt(this,null,function*(){const Lt=yield(0,Dt.XY)();(Lt==null?void 0:Lt.status)!==401&&bn({type:0,payload:{loading:!1,showFormPanel:!1,data:Lt.groups,index:Ln.get("category")||0}})})}(0,se.useEffect)(()=>{Or()},[]);function zn(Lt){return Gt(this,null,function*(){Rn.id?yield(0,Dt.n3)(Rn.id,Lt):yield(0,Dt.Nd)(Lt),Or()})}function Qn(){bn({type:2,payload:{showFormPanel:!0,selectedGroup:{}}})}function Jn(Lt){bn({type:4,payload:Lt})}function qn(){bn({type:2,payload:{showFormPanel:!1}})}function On(){bn({type:3,payload:{showMemberPanel:!1,selectedGroup:{}}})}function qe(Lt){bn({type:3,payload:{showMemberPanel:!0,selectedGroup:Lt}})}function Ie(Lt,Zt){return Gt(this,null,function*(){yield(0,Dt.UA)(Lt,Zt),Or()})}function Ce(Lt){return Gt(this,null,function*(){yield(0,Dt.eE)(Lt),Or()})}function He(Lt){return Gt(this,null,function*(){yield(0,Dt.U2)(Lt),Or()})}function it(Lt,Zt){return Gt(this,null,function*(){yield(0,Dt.Gj)(Lt,Zt),Or()})}function we(Lt){bn({type:5,payload:parseInt(Lt.target.id,10)})}function Xt(Lt,Zt){return Gt(this,null,function*(){On(),yield(0,Dt.E2)({user_ids:Lt,group_id:Zt}),Or()})}const wn=[{id:"0",name:"\u6211\u521B\u5EFA\u7684"},{id:"1",name:"\u6211\u52A0\u5165\u7684"}];return se.createElement(se.Fragment,null,se.createElement("div",{className:"teaching-circling-container",style:{paddingLeft:45,paddingTop:22}},se.createElement("div",{className:"teaching-circling-body"},li===15?null:se.createElement(_e.YG,{value:In,onChange:Lt=>{var Zt;(Zt=window.location.href.toString())!=null&&Zt.includes("category")?(0,It.jz)("category",Lt):window.history.replaceState(null,"",window.location.href.indexOf("?")>-1?window.location.href+`&category=${Lt}`:`?category=${Lt}`),an(Lt),bn({type:5,payload:parseInt(Lt,10)})},tabBarExtraContent:se.createElement(je.ZP,{type:"primary",disabled:Dr.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:Dr.length>=50?"\u60A8\u52A0\u5165\u7684\u6559\u7814\u7EC4\u5DF2\u8FBE\u4E0A\u9650":"",onClick:Qn},"\u65B0\u5EFA"),className:"mb25",dataSource:wn}),se.createElement("div",{className:Xr[oi].length===0?"nodata-content":"main-content"},Xr[oi].length===0?se.createElement(Je,null,li<=12?se.createElement(se.Fragment,null," ",se.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")," ",se.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")," "):se.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 ")):se.createElement(Le.Z,{onExitGroup:He,Transferteams:it,onPlusMember:qe,onDelMember:Ie,onDelGroup:Ce,isAdminOrTeacher:li<=12,onChangeGroupName:Jn,data:Xr[oi]})))),se.createElement(dt.Z,{callback:zn,visible:tt,onCancel:qn,id:Rn.id,name:Rn.name}),se.createElement(Bt.default,{centered:!0,title:"\u6DFB\u52A0\u6210\u5458",open:fi,onCancel:On,footer:null,width:1150,bodyStyle:{minHeight:200},wrapClassName:Xe.Z.CustomCss},se.createElement(wt.Z,{container_id:Rn.id,container_type:4,onSelect:Xt,onCancel:On})))}var pn=(0,vt.connect)(({user:et})=>({user:et}))(Vt)},69498:function(Hn,xr,he){"use strict";he.d(xr,{E2:function(){return Dt},Gj:function(){return Le},Gt:function(){return It},Nd:function(){return Bt},U2:function(){return dt},UA:function(){return Xe},XY:function(){return je},eE:function(){return _e},fg:function(){return vt},n3:function(){return Rt}});var se=he(58661);function je(){return(0,se.U2)("teach_groups.json")}function Bt(wt){return(0,se.v_)("teach_groups.json",wt)}function Rt(wt,Ot){return(0,se.gz)(`teach_groups/${wt}.json`,Ot)}function Dt(wt){return(0,se.v_)("teach_group_members.json",wt)}function dt(wt){return(0,se.IV)(`teach_group_members/${wt}.json`)}function Le(wt,Ot){return(0,se.gz)(`teach_groups/${wt}/change_admin.json`,{member_id:Ot})}function Xe(wt,Ot){return(0,se.IV)(`teach_groups/${wt}/del_member.json`,{member_id:Ot})}function _e(wt){return(0,se.IV)(`teach_groups/${wt}.json`)}function It(wt){return(0,se.U2)(`teach_groups/${wt}/show_permission.json`)}function vt(wt){return(0,se.gz)(`teach_groups/${wt==null?void 0:wt.id}/update_permission.json`,wt)}},35059:function(Hn,xr,he){"use strict";he.r(xr),he.d(xr,{default:function(){return G0}});var se=he(59301),je=he(44225),Bt=he(43418),Rt=he(8591),Dt=he(3113),dt={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"},Le=he(41592),Xe=he(78241),_e=he(5112),It=he(19842),vt=he(92832),wt=he(71418),Ot=he(58661),Ye={applyPublicContainer:"applyPublicContainer___pImhb",applyPublicContent:"applyPublicContent____dPHq",spin:"spin___bBN3v",tips:"tips___uXmwo",action:"action___D3zVt"},We=he(87169),pt=he(59301),mt=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())}),Qt=({type:Oe,onCancel:Fe,onOk:Me})=>{const[jt]=Xe.default.useForm(),[Pn,Tr]=(0,se.useState)(1),[Fr,mn]=(0,se.useState)(!1),[_t,Kn]=(0,se.useState)([]);(0,se.useEffect)(()=>{jt.setFieldValue("type",1),wr()},[]);const wr=()=>mt(void 0,null,function*(){if(Oe){mn(!0);const qi=yield(0,Ot.ZP)("/api/disciplines.json",{method:"get",params:{source:Oe}});Kn(qi.disciplines||[]),mn(!1)}}),ra=()=>{const{sub_discipline_id:qi,discipline_name:aa,sub_discipline_name:ca,type:Ra}=jt.getFieldsValue();if((!qi||qi&&qi.length===0)&&(!aa||!ca))return Rt.ZP.warning("\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),!1;Me({user_customize:Ra==2,sub_discipline_id:Ra==1?[qi[1]]:null,discipline_name:aa,sub_discipline_name:ca})};return pt.createElement(Bt.default,{width:640,className:Ye.applyPublicContainer,centered:!0,title:"\u516C\u5F00\u8BFE\u7A0B",okText:"\u7533\u8BF7\u516C\u5F00",open:!0,onCancel:()=>{Fe(),jt.resetFields()},onOk:()=>{jt.validateFields().then(qi=>{if(Pn==2&&(qi.discipline_name.replaceAll(" ","").length<=0||qi.sub_discipline_name.replaceAll(" ","").length<=0)){Rt.ZP.info("\u65B9\u5411\u6216\u8BFE\u7A0B\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\u540E\u518D\u63D0\u4EA4\uFF01");return}ra(),jt.resetFields()})}},pt.createElement("div",{className:Ye.applyPublicContent},pt.createElement("div",{className:Ye.tips},pt.createElement(We.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"),pt.createElement(Xe.default,{labelAlign:"left",form:jt},pt.createElement(Xe.default.Item,{name:"type"},pt.createElement(_e.ZP.Group,{onChange:qi=>{Tr(qi.target.value),qi.target.value==1?jt.setFieldsValue({discipline_name:"",sub_discipline_name:""}):jt.setFieldsValue({sub_discipline_id:[]})}},pt.createElement(_e.ZP,{value:1},"\u5FEB\u901F\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B"),pt.createElement(_e.ZP,{value:2,style:{marginLeft:40}},"\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"))),Pn==1&&pt.createElement(Xe.default.Item,{label:"\u65B9\u5411&\u8BFE\u7A0B",name:"sub_discipline_id",rules:[{required:!0}]},pt.createElement(It.Z,{expandTrigger:"hover",placeholder:"\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",options:_t,fieldNames:{label:"name",value:"id",children:"sub_disciplines"},onChange:(qi,aa)=>jt.setFieldsValue({sub_discipline_id:qi})})),Pn==2&&pt.createElement(pt.Fragment,null,pt.createElement(Xe.default.Item,{label:"\u65B9\u5411",name:"discipline_name",rules:[{required:!0}]},pt.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u65B9\u5411",autoComplete:"off"})),pt.createElement(Xe.default.Item,{label:"\u8BFE\u7A0B",name:"sub_discipline_name",rules:[{required:!0}]},pt.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u8BFE\u7A0B",autoComplete:"off"})))),Fr&&pt.createElement("div",{className:Ye.spin},pt.createElement(wt.Z,null))))},$t=he(58997),Ft="data:image/png;base64,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",Gt="data:image/png;base64,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",Je=he(60324),Sn=he(6848),_n={flex_box_center:"flex_box_center___HlHga",flex_space_between:"flex_space_between___ZXfWh",flex_box_vertical_center:"flex_box_vertical_center___B_34d",flex_box_center_end:"flex_box_center_end___XaWUl",flex_box_column:"flex_box_column___dfD_W",ClassDesc:"ClassDesc___hvKGJ",LeftTitle:"LeftTitle___GVStZ",textname:"textname___KypkX",tupugx:"tupugx___iHe5s"},Cn=he(42684),Vt=he(85333),pn=he(78162),et=he(99313),tn=he(22061),Ct=Object.defineProperty,Ln=Object.defineProperties,Mn=Object.getOwnPropertyDescriptors,bn=Object.getOwnPropertySymbols,Dr=Object.prototype.hasOwnProperty,oi=Object.prototype.propertyIsEnumerable,yt=(Oe,Fe,Me)=>Fe in Oe?Ct(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,tt=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Dr.call(Fe,Me)&&yt(Oe,Me,Fe[Me]);if(bn)for(var Me of bn(Fe))oi.call(Fe,Me)&&yt(Oe,Me,Fe[Me]);return Oe},Rn=(Oe,Fe)=>Ln(Oe,Mn(Fe)),fi=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const li=({value:Oe=[],onChange:Fe})=>{const[Me,jt]=(0,se.useState)(null),Pn=(Fr,mn,_t)=>{const Kn=Array.from(Fr),[wr]=Kn.splice(mn,1);return Kn.splice(_t,0,wr),Kn},Tr=(Fr,mn)=>fi(void 0,null,function*(){if(!Fr.destination)return;const _t=Pn(mn,Fr.source.index,Fr.destination.index);console.log("---",_t),Fe==null||Fe([..._t])});return se.createElement(se.Fragment,null,se.createElement(vt.default,{value:Me,placeholder:"\u8BF7\u8F93\u5165\u6807\u7B7E",maxLength:6,showCount:!0,addonAfter:"\u56DE\u8F66\u521B\u5EFA\u6807\u7B7E",onChange:Fr=>{jt(Fr.target.value)},onPressEnter:Fr=>{Me&&(Fe==null||Fe([...Oe,Me]),jt(null))}}),se.createElement("div",{className:"flex flex-wrap gap-14px-rem mt-12px-rem"},se.createElement(tn.Z5,{onDragEnd:Fr=>Tr(Fr,Oe)},se.createElement(tn.bK,{droppableId:"droppable",direction:"horizontal"},(Fr,mn)=>se.createElement("div",Rn(tt({ref:Fr.innerRef},Fr.droppableProps),{style:{display:"flex",overflow:"auto",flexWrap:"wrap",gap:5}}),Oe.map((_t,Kn)=>se.createElement(tn._l,{key:Kn,draggableId:Kn.toString(),index:Kn},(wr,ra)=>se.createElement("div",Rn(tt(tt({ref:wr.innerRef},wr.draggableProps),wr.dragHandleProps),{className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:tt({margin:"0px"},wr.draggableProps.style)}),se.createElement("div",{key:Kn,className:"p-8px-rem flex item-center gap-8px-rem rounded-2px-rem",style:{background:"#EAF0F7"}},se.createElement("div",{className:"c-black"},_t),se.createElement("span",{className:"iconfont icon-guanbi10 c-grey-999 current",style:{fontSize:"10rem"},onClick:()=>{Fe==null||Fe(Oe==null?void 0:Oe.filter(qi=>qi!=_t))}}))))),Fr.placeholder)))))},In=({pathsDetail:Oe,dispatch:Fe,DataProps:Me,onFinish:jt})=>{const Pn=(0,je.useParams)(),{actionTabs:Tr,detail:Fr}=Oe,[mn]=Xe.default.useForm(),[_t,Kn]=(0,se.useState)("0"),[,wr,ra]=(0,pn.U)(Le.j_,{subject_id:Pn==null?void 0:Pn.pathId}),qi=[{title:"\u667A\u6167\u8D44\u6E90",node_types:["\u5B9E\u8BAD","\u89C6\u9891","\u8BFE\u4EF6","\u8BD5\u5377","\u95EE\u5377","\u7F16\u7A0B","\u865A\u4EFF","\u5206\u7EC4"],relation:"\u5173\u8054"},{title:"\u77E5\u8BC6\u56FE\u8C31",node_types:["\u8BFE\u7A0B\u56FE\u8C31","\u5927\u7EB2\u56FE\u8C31","\u601D\u653F\u56FE\u8C31","\u601D\u7EF4\u56FE\u8C31","\u80FD\u529B\u56FE\u8C31"],relation:"\u5173\u8054"},{title:"\u5B66\u4E60\u8DEF\u5F84",node_types:["\u521D\u59CB\u8DEF\u5F84","\u590D\u4E60\u8DEF\u5F84","\u8003\u524D\u8DEF\u5F84","\u8D44\u6E90\u63A8\u8350"],relation:"\u5173\u8054"},{title:"\u5B66\u60C5\u5206\u6790",node_types:["\u5B66\u60C5\u7EDF\u8BA1","\u80FD\u529B\u5206\u6790","\u638C\u63E1\u5206\u6790"],relation:"\u5173\u8054"}];return(0,se.useEffect)(()=>{Me&&mn.setFieldsValue(Rn(tt({},Me),{knowledge_statistics:qi==null?void 0:qi.map((aa,ca)=>{var Ra;return tt(tt({},aa),((Ra=Me==null?void 0:Me.knowledge_statistics)==null?void 0:Ra.at(-(ca+1)))||{})})}))},[Me]),se.createElement(Bt.default,{title:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",open:Tr.key==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91",centered:!0,width:656,onCancel:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{}}})},okText:"\u4FDD\u5B58",confirmLoading:wr,onOk:()=>{mn.validateFields(["knowledge_statistics"],{recursive:!0}).then(()=>{mn.submit()}).catch(aa=>{var ca,Ra;const Ei=(ca=aa==null?void 0:aa.errorFields)==null?void 0:ca.at(-1);Ei&&Kn(`${(Ra=Ei==null?void 0:Ei.name)==null?void 0:Ra[1]}`)})}},se.createElement(Xe.default,{form:mn,colon:!1,labelAlign:"right",labelCol:{span:5},size:"large",onFinish:aa=>fi(void 0,null,function*(){const ca=yield ra(Rn(tt({},aa),{subject_id:Pn==null?void 0:Pn.pathId}));(ca==null?void 0:ca.status)==0&&(Rt.ZP.success("\u4FDD\u5B58\u6210\u529F"),jt==null||jt())})},se.createElement(Xe.default.List,{name:"knowledge_statistics"},(aa,{add:ca,remove:Ra})=>se.createElement(se.Fragment,null,se.createElement(et.default,{defaultActiveKey:"1",activeKey:_t,onTabClick:Ei=>{Kn(Ei)},items:aa.map((Ei,Si)=>({forceRender:!0,key:`${Si}`,label:`\u7B2C${(0,Vt.EM)(Si+1)}\u5C42`,children:se.createElement(se.Fragment,null,se.createElement(Xe.default.Item,{name:[Ei.name,"title"],label:"\u6807\u9898",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u6807\u9898"},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},se.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u6807\u9898",maxLength:6,showCount:!0})),se.createElement(Xe.default.Item,{name:[Ei.name,"node_types"],label:"\u6807\u7B7E",rules:[{required:!0,validator(ba,Sa){const Uo=[8,6,5,5][Si];return(Sa==null?void 0:Sa.length)==0?Promise.reject(new Error("\u8BF7\u6DFB\u52A0\u6807\u7B7E")):(Sa==null?void 0:Sa.length)>Uo?Promise.reject(new Error(`\u6700\u591A${Uo}\u4E2A\u6807\u7B7E`)):Promise.resolve()}}]},se.createElement(li,null)),Si!==3&&se.createElement(Xe.default.Item,{name:[Ei.name,"relation"],label:`\u4E0E\u7B2C${(0,Vt.EM)(Si+2)}\u5C42\u5173\u7CFB`,rules:[{required:!0,message:`\u8BF7\u8F93\u5165\u4E0E\u7B2C${(0,Vt.EM)(Si+2)}\u5C42\u5173\u7CFB`},{whitespace:!0,message:"\u8F93\u5165\u7684\u5185\u5BB9\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},se.createElement(vt.default,{placeholder:`\u4E0E\u7B2C${(0,Vt.EM)(Si+2)}\u5C42\u5173\u7CFB`,maxLength:6,showCount:!0})),se.createElement(Xe.default.Item,{label:"\u7EDF\u8BA1\u6570\u636E"},se.createElement("div",{style:{color:"#232B40"}},se.createElement("span",null,["\u5168\u90E8\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u8282\u70B9","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u6240\u6709\u77E5\u8BC6\u56FE\u8C31\uFF0C\u5305\u62EC\u80FD\u529B\u56FE\u8C31","\u8BFE\u7A0B\u4E2D\u521B\u5EFA\u7684\u5B66\u4E60\u8DEF\u5F84","\u83B7\u53D6\u5F53\u524D\u5DF2\u7ECF\u4E0A\u7EBF\u7684\u5B66\u60C5\u5206\u6790\u80FD\u529B\uFF0C\u5F53\u524D\u4E3A0"][Si]))))}))})))))};var an=(0,je.connect)(({pathsDetail:Oe})=>({pathsDetail:Oe}))(In),Xr="data:image/png;base64,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",Or="data:image/png;base64,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",zn="data:image/png;base64,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",Qn=he(59301),Jn=Object.defineProperty,qn=Object.getOwnPropertySymbols,On=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,Ie=(Oe,Fe,Me)=>Fe in Oe?Jn(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Ce=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))On.call(Fe,Me)&&Ie(Oe,Me,Fe[Me]);if(qn)for(var Me of qn(Fe))qe.call(Fe,Me)&&Ie(Oe,Me,Fe[Me]);return Oe},He=(Oe,Fe)=>{var Me={};for(var jt in Oe)On.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&qn)for(var jt of qn(Oe))Fe.indexOf(jt)<0&&qe.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me};const it=({title:Oe,className:Fe="",style:Me={},index:jt,name:Pn,dispatch:Tr,detail:Fr})=>Qn.createElement("div",{className:`absolute ${Fe}`,style:Me},Qn.createElement("img",{src:Or,width:"187rem",style:{width:"187rem"}}),Qn.createElement(Je.Z,{content:jt!==0&&Qn.createElement("div",{style:{alignItems:"center",textAlign:"center"}},Qn.createElement("div",null,"\u8BFE\u7A0B\u4E2D\u5305\u542B",Oe,"\u4E2A",Pn),(Fr==null?void 0:Fr.can_managed)&&Oe===0&&Qn.createElement("a",{onClick:()=>{console.log("----",jt===1?2:3),Tr({type:"pathsDetail/setActionTabs",payload:{key:"\u4FEE\u6539tab\u4FE1\u606F",type:jt===1?2:3}})}},"\u524D\u5F80\u521B\u5EFA")),title:""},Qn.createElement("div",{className:"absolute",style:{top:"32rem",right:"65rem",color:"#FFCF1B",fontSize:"30rem"}},Oe))),we=({title:Oe,className:Fe="",style:Me={}})=>Qn.createElement("div",{className:`flex item-center justify-center absolute ${Fe}`,style:Ce({width:"200rem",height:"54rem",fontSize:"24rem",left:"50%",transform:"translateX(-50%)",bottom:"10rem",background:`url(${he(10273)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",color:"#59F7FF"},Me)}," ",Oe," "),Xt=({DataProps:Oe=[],angleStep:Fe=.2,radius:Me=500,top:jt=0,verticalRadius:Pn=Me})=>{const Tr=(0,se.useRef)(null),Fr=Math.PI+(Math.PI-((Oe==null?void 0:Oe.length)-1)*Fe)/2,mn=({DataProps:_t={},style:Kn={}})=>Qn.createElement("div",{className:"flex flex-col item-center c-white absolute",style:Ce({fontSize:"14rem"},Kn)},Qn.createElement(Sn.Z,{title:_t,placement:"topLeft"},Qn.createElement("div",{className:"multi_ellipsis1"},_t)),Qn.createElement("img",{src:zn,width:"97rem",height:"97rem",style:{width:"97rem",height:"97rem"}}));return Qn.createElement("div",{ref:Tr,className:"relative"},Oe==null?void 0:Oe.map((_t,Kn)=>{const wr=Fr+Kn*Fe,ra=Me*Math.cos(wr),qi=Pn*Math.sin(wr);return Qn.createElement(mn,{key:Kn,DataProps:_t,style:{left:`calc(50% + ${ra}rem)`,bottom:`${qi+Pn+jt}rem`,transform:"translateX(-50%)"}})}))},wn=({DataProps:Oe={},dispatch:Fe,detail:Me})=>{var jt;return Qn.createElement("div",{className:"flex flex-col item-center justify-center w-full h-full",style:{gap:"125rem"}},(jt=Oe==null?void 0:Oe.knowledge_statistics)==null?void 0:jt.map((Pn,Tr)=>Qn.createElement(Qn.Fragment,null,Tr==0&&Qn.createElement("div",{key:Tr,className:"flex item-center justify-center",style:{height:0}},Qn.createElement("div",{className:"relative flex item-center justify-center",style:{background:`url(${he(47444)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"296rem",height:"100rem",marginTop:"82rem",zIndex:4}},Qn.createElement(it,{detail:Me,dispatch:Fe,index:0,name:Pn==null?void 0:Pn.title,title:Pn==null?void 0:Pn.knowledge_graph_count,style:{right:"-120rem",top:"-64rem"}}),Qn.createElement(Xt,{DataProps:Pn==null?void 0:Pn.node_types,angleStep:1.35,radius:100,top:-60,verticalRadius:30}),Qn.createElement(we,{title:Pn==null?void 0:Pn.title}))),Tr==1&&Qn.createElement("div",{key:Tr,className:"flex item-center justify-center",style:{height:0}},Qn.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${he(425)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"404rem",height:"168rem",marginTop:"10rem",zIndex:3}},Qn.createElement(it,{detail:Me,dispatch:Fe,index:1,name:Pn==null?void 0:Pn.title,title:Pn==null?void 0:Pn.knowledge_graph_count,style:{right:"-134rem",top:"-10rem"}}),Qn.createElement("div",{className:"absolute",style:{left:"-30rem",top:"0rem"}},Qn.createElement("img",{src:Xr,width:"93rem",style:{width:"93rem"}}),Qn.createElement("div",{className:"absolute",style:{top:"5rem",left:"-25rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Pn==null?void 0:Pn.relation)),Qn.createElement(Xt,{DataProps:Pn==null?void 0:Pn.node_types,angleStep:.15}),Qn.createElement(we,{title:Pn==null?void 0:Pn.title}))),Tr==2&&Qn.createElement("div",{key:Tr,className:"flex item-center justify-center",style:{height:0}},Qn.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${he(49260)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"542rem",height:"228rem",marginTop:"-65rem",zIndex:2}},Qn.createElement(it,{detail:Me,dispatch:Fe,index:2,name:Pn==null?void 0:Pn.title,title:Pn==null?void 0:Pn.knowledge_graph_count,style:{right:"-135rem",top:"24rem"}}),Qn.createElement("div",{className:"absolute",style:{left:"-40rem",top:"40rem"}},Qn.createElement("img",{src:Xr,width:"114rem",style:{width:"114rem"}}),Qn.createElement("div",{className:"absolute",style:{top:"20rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Pn==null?void 0:Pn.relation)),Qn.createElement(Xt,{DataProps:Pn==null?void 0:Pn.node_types,angleStep:.16}),Qn.createElement(we,{title:Pn==null?void 0:Pn.title}))),Tr==3&&Qn.createElement("div",{key:Tr,className:"flex item-center justify-center",style:{height:0}},Qn.createElement("div",{className:"relative flex item-end justify-center",style:{background:`url(${he(24219)})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",width:"764rem",height:"257rem",marginTop:"-70rem",zIndex:1}},Qn.createElement(it,{detail:Me,dispatch:Fe,index:3,name:Pn==null?void 0:Pn.title,title:Pn==null?void 0:Pn.knowledge_graph_count,style:{right:"-115rem",top:"20rem"}}),Qn.createElement("div",{className:"absolute",style:{left:"-15rem",top:"34rem"}},Qn.createElement("img",{src:Xr,width:"123rem",style:{width:"123rem"}}),Qn.createElement("div",{className:"absolute",style:{top:"25rem",left:"-15rem",transform:"rotate(-47deg)",color:"#21C4CE",fontSize:"16rem"}},Pn==null?void 0:Pn.relation)),Qn.createElement(Xt,{DataProps:Pn==null?void 0:Pn.node_types,angleStep:.16}),Qn.createElement(we,{title:Pn==null?void 0:Pn.title}))))),Qn.createElement("div",{className:"flex item-center justify-center",style:{height:0}},Qn.createElement("img",{src:he(32682),width:"600rem",height:"465rem",style:{width:"600rem",height:"465rem",marginTop:"-260rem"}})))},Lt=({DataProps:Oe,className:Fe="",style:Me={}})=>Qn.createElement("div",{className:`flex flex-col item-center w-full h-full ${Fe}`,style:Ce({padding:"20rem 30rem",background:"#162442",borderRadius:"8rem",gap:"10rem"},Me)},(Oe==null?void 0:Oe.AvatarDom)||Qn.createElement("img",{src:Cn.Z.API_SERVER+"/images/"+((Oe==null?void 0:Oe.image_url)||(Oe==null?void 0:Oe.avatar)),width:"60rem",height:"60rem",style:{borderRadius:"50%",width:"60rem",height:"60rem"}}),Qn.createElement(Sn.Z,{title:(Oe==null?void 0:Oe.username)||""},Qn.createElement("div",{className:"multi_ellipsis1"},(Oe==null?void 0:Oe.username)||""))),Zt=Oe=>{var Fe=Oe,{pathsDetail:Me,dispatch:jt}=Fe,Pn=He(Fe,["pathsDetail","dispatch"]),Tr,Fr,mn,_t,Kn,wr,ra,qi,aa,ca,Ra,Ei,Si,ba,Sa,Uo,Ua,Oa,xo,di,Ca,va,ro,Pa,rl,xl,Xo;const _l=(0,je.useParams)(),{actionTabs:ts,detail:ko}=Me,Gr=(0,se.useRef)(null),[so]=(0,je.useSearchParams)(),[Ti,oa]=(0,se.useState)(0),[,Ea,Yo,Eo]=(0,pn.U)(Le.dX,{subject_id:_l.pathId});return(0,se.useEffect)(()=>{Gr.current&&setTimeout(()=>{const Ss=(0,Vt.ZR)(Gr.current,"rem",1);oa(Ss)},500)},[Gr.current,(Tr=Me==null?void 0:Me.detail)==null?void 0:Tr.description]),(0,se.useEffect)(()=>{Yo({subject_id:_l.pathId})},[]),Qn.createElement(wt.Z,{spinning:Ea},Qn.createElement("section",null,Qn.createElement("div",{className:"w-full relative c-white flex flex-col",style:{background:`url(${he(12175)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"}},Qn.createElement("div",{className:"w-full flex justify-center item-center absolute blod text-center",style:{background:`url(${he(93148)})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",height:"282rem",letterSpacing:"5rem",lineHeight:"32rem",top:0,left:0,fontSize:"32rem",padding:"0 500rem 173rem"}},Qn.createElement(Sn.Z,{title:(mn=(Fr=Me.detail)==null?void 0:Fr.name)==null?void 0:mn.split(` -`)[0]},Qn.createElement("div",{className:"multi_ellipsis2"},(Kn=(_t=Me.detail)==null?void 0:_t.name)==null?void 0:Kn.split(` -`)[0]))),Qn.createElement("span",{className:_n.tupugx,onClick:()=>{var Ss;so.get("type")==="classrooms"?je.history.push((Ss=Me==null?void 0:Me.detail)==null?void 0:Ss.first_category_url):je.history.push(`/paths/${_l.pathId}`)}},"\u8FD4\u56DE"),Qn.createElement("div",{className:"flex flex-1 minW-0",style:{paddingTop:"140rem",paddingLeft:"40rem",paddingRight:"40rem"}},Qn.createElement("div",{className:"flex-1 flex flex-col minW-0 relative",style:{padding:"50rem",borderRadius:"8rem",background:"rgba(32,47,79,0.3)",backdropFilter:"blur(10rem)",gap:"50rem"}},Qn.createElement("div",{className:`absolute flex flex-col item-center justify-center ${_n.ClassDesc}`},"\u8BFE\u7A0B\u7B80\u4ECB"),Qn.createElement("div",{className:"relative"},Qn.createElement("div",{style:{height:"110rem",overflow:"hidden"}},Qn.createElement("div",{ref:Gr},Qn.createElement($t.Z,{className:"c-white",value:((wr=Me==null?void 0:Me.detail)==null?void 0:wr.description)||""}))),Ti>=110&&Qn.createElement("div",{className:"flex item-center justify-center current",style:{padding:"0 220rem",color:"#3061D0",marginTop:"10rem"},onClick:()=>{var Ss;Bt.default.confirm({title:"\u8BFE\u7A0B\u7B80\u4ECB",centered:!0,icon:null,width:900,closable:!0,cancelButtonProps:{style:{display:"none"}},content:Qn.createElement("div",{style:{maxHeight:"70vh",overflow:"auto"}},Qn.createElement($t.Z,{value:((Ss=Me==null?void 0:Me.detail)==null?void 0:Ss.description)||""}))})}},"\u67E5\u770B\u5168\u90E8")),Qn.createElement("div",{className:"flex w-full minW-0"},Qn.createElement("div",{className:"flex flex-col item-center"}," ",Qn.createElement("img",{src:he(12260),width:"20rem",height:"17rem"})," \u5B66\u6821 "),Qn.createElement("div",{style:{padding:"12rem 38rem",background:"#162442",borderRadius:"8rem",marginLeft:"20rem"}},((ra=Me==null?void 0:Me.detail)==null?void 0:ra.school)||"")),Qn.createElement("div",{className:"flex w-full minW-0"},Qn.createElement("div",{className:"flex flex-col item-center",style:{marginTop:"25rem"}}," ",Qn.createElement("img",{src:he(69303),width:"20rem"})," \u6559\u5E08 "),Qn.createElement("div",{className:"flex-1 minW-0",style:{gap:"10rem",marginLeft:"20rem",display:"grid",gridTemplateColumns:"1fr 1fr 1fr 1fr 1fr"}},(Si=((aa=(qi=Me==null?void 0:Me.detail)==null?void 0:qi.subject_members)==null?void 0:aa.length)>10?(Ra=(ca=Me==null?void 0:Me.detail)==null?void 0:ca.subject_members)==null?void 0:Ra.slice(0,9):(Ei=Me==null?void 0:Me.detail)==null?void 0:Ei.subject_members)==null?void 0:Si.map((Ss,_s)=>Qn.createElement(Lt,{key:_s,DataProps:Ss})),((Sa=(ba=Me==null?void 0:Me.detail)==null?void 0:ba.subject_members)==null?void 0:Sa.length)>10&&Qn.createElement(Je.Z,{content:Qn.createElement("div",{className:"c-white",style:{gap:"10rem",maxWidth:"515rem",maxHeight:"425rem",display:"grid",overflow:"auto",gridTemplateColumns:"repeat(auto-fit, minmax(120rem, 1fr))"}},(Oa=(Ua=(Uo=Me==null?void 0:Me.detail)==null?void 0:Uo.subject_members)==null?void 0:Ua.slice(9))==null?void 0:Oa.map((Ss,_s)=>Qn.createElement(Lt,{key:_s,DataProps:Ss}))),title:null,trigger:"click",color:"rgba(32, 47, 79, 1)",className:"c-white"},Qn.createElement("div",null,Qn.createElement(Lt,{className:"current",DataProps:{AvatarDom:Qn.createElement("div",{className:"flex item-center justify-center",style:{borderRadius:"50%",width:"60rem",height:"60rem",background:"#202F4F"}},"+",((di=(xo=Me==null?void 0:Me.detail)==null?void 0:xo.subject_members)==null?void 0:di.slice(11)).length),username:"\u66F4\u591A"}})))))),Qn.createElement("div",{className:"flex-1 minW-0 relative",style:{padding:"50rem"}},(ko==null?void 0:ko.can_managed)&&Qn.createElement("div",{className:"current absolute flex item-center rounded-full",style:{padding:"5rem 10rem",top:0,right:0,gap:"10rem",background:"#202F4F"},onClick:()=>{jt({type:"pathsDetail/save",payload:{actionTabs:{key:"\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"}}})}},Qn.createElement("span",{className:"iconfont icon-bianji14",style:{color:"#82A8FF"}})," \u7F16\u8F91"),Qn.createElement(wn,{detail:ko,dispatch:jt,DataProps:(Eo==null?void 0:Eo.data)||{}}))),Qn.createElement("div",{className:"w-full flex",style:{marginTop:"20rem",paddingLeft:"40rem",paddingRight:"40rem",height:"168rem"}},Qn.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"8rem 0 0 8rem",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",borderRight:"1rem solid rgba(79,151,255,0.34)",gap:"10rem"}},Qn.createElement("div",{className:`absolute flex flex-col item-center justify-center ${_n.LeftTitle}`},"\u5B66\u4E60\u7EDF\u8BA1"),[{value:(Ca=ko==null?void 0:ko.knowledge_statistics)==null?void 0:Ca.course_count,title:"\u5E94\u7528\u8BFE\u5802\uFF08\u4E2A\uFF09"},{value:(va=ko==null?void 0:ko.knowledge_statistics)==null?void 0:va.school_count,title:"\u5E94\u7528\u9662\u6821\uFF08\u4E2A\uFF09"},{value:(ro=ko==null?void 0:ko.knowledge_statistics)==null?void 0:ro.initiative_study_count,title:"\u81EA\u4E3B\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(Pa=ko==null?void 0:ko.knowledge_statistics)==null?void 0:Pa.course_study_count,title:"\u8BFE\u5802\u5B66\u4E60\u4EBA\u6570\uFF08\u4EBA\uFF09"},{value:(rl=ko==null?void 0:ko.knowledge_statistics)==null?void 0:rl.knowledge_visits,title:"\u7D2F\u8BA1\u6D4F\u89C8\u6B21\u6570\uFF08\u6B21\uFF09"}].map((Ss,_s)=>Qn.createElement("div",{key:_s,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},Qn.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},Ss==null?void 0:Ss.value),Qn.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},Ss==null?void 0:Ss.title)))),Qn.createElement("div",{className:"flex flex-1 minW-0 relative",style:{borderRadius:"0 8rem 8rem 0",background:"rgba(32,47,79,0.5)",backdropFilter:"blur(10px)",padding:"22rem 20rem 22rem 36rem",gap:"10rem"}},Qn.createElement("div",{className:`absolute flex flex-col item-center justify-center ${_n.LeftTitle}`},"\u8D44\u6E90\u7EDF\u8BA1"),(Xo=(xl=ko==null?void 0:ko.knowledge_statistics)==null?void 0:xl.resource_data)==null?void 0:Xo.map((Ss,_s)=>Qn.createElement("div",{key:_s,className:"flex flex-col item-center justify-center c-white flex-1 minW-0",style:{gap:"10rem",background:"#162442",borderRadius:"8rem"}},Qn.createElement("div",{style:{fontSize:"30rem",lineHeight:"30rem"}},Ss==null?void 0:Ss.num),Qn.createElement("div",{style:{fontSize:"14rem",lineHeight:"14rem"}},Ss==null?void 0:Ss.node_type,"\uFF08\u4E2A\uFF09")))))),(ts==null?void 0:ts.key)==="\u8BFE\u7A0B\u7EDF\u8BA1\u7F16\u8F91"&&Qn.createElement(an,{DataProps:(Eo==null?void 0:Eo.data)||{},onFinish:()=>{Yo({subject_id:_l.pathId}),jt({type:"pathsDetail/save",payload:{actionTabs:{}}})}})))};var or=(0,je.connect)(({pathsDetail:Oe})=>({pathsDetail:Oe}))(Zt),Xn=he(59301),dn=Object.defineProperty,kr=Object.defineProperties,vi=Object.getOwnPropertyDescriptors,Un=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,Ii=Object.prototype.propertyIsEnumerable,on=(Oe,Fe,Me)=>Fe in Oe?dn(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,qt=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Pr.call(Fe,Me)&&on(Oe,Me,Fe[Me]);if(Un)for(var Me of Un(Fe))Ii.call(Fe,Me)&&on(Oe,Me,Fe[Me]);return Oe},gn=(Oe,Fe)=>kr(Oe,vi(Fe)),gr=(Oe,Fe)=>{var Me={};for(var jt in Oe)Pr.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Un)for(var jt of Un(Oe))Fe.indexOf(jt)<0&&Ii.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},mr=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const xi=[{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"}],Ui=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr}=Fe,mn=gr(Fe,["pathsDetail","user","globalSetting","loading","dispatch"]),_t,Kn,wr,ra,qi,aa,ca,Ra,Ei,Si,ba,Sa,Uo,Ua,Oa,xo,di;const[Ca]=(0,je.useSearchParams)(),va=(0,je.useParams)(),[ro,Pa]=(0,se.useState)({}),rl=(0,se.useRef)(1),[xl,Xo]=(0,se.useState)(),[_l,ts]=(0,se.useState)(!1),[ko,Gr]=(0,se.useState)(!1),so=(0,se.useRef)(null),Ti=!((_t=Me.detail)!=null&&_t.can_managed),[oa,Ea]=(0,se.useState)({status:!1}),Yo=((Kn=Me.detail)==null?void 0:Kn.is_free)||((wr=Me.detail)==null?void 0:wr.can_learning);(0,se.useEffect)(()=>{Ea({status:!1})},[]),(0,se.useEffect)(()=>{function il(){return mr(this,null,function*(){var Ks,Kl,Hl,Hu,Wc,Gs,kc;if((Ks=Me.detail)!=null&&Ks.courses){const Lc=(Kl=Me.detail)==null?void 0:Kl.courses;if((Hl=Lc==null?void 0:Lc.toast)!=null&&Hl.is_open&&((Hu=Lc.toast)==null?void 0:Hu.open_num)===-1)Gr(!0);else if((Wc=Lc==null?void 0:Lc.toast)!=null&&Wc.is_open&&((Gs=Lc==null?void 0:Lc.toast)==null?void 0:Gs.open_num)===1){let Cd=JSON.parse(localStorage.getItem("pathsshow"))||[];((kc=Cd.filter(Bd=>Bd===(va==null?void 0:va.pathId)))==null?void 0:kc.length)>0?Gr(!1):(Gr(!0),Cd.push(va==null?void 0:va.pathId),localStorage.setItem("pathsshow",JSON.stringify(Cd)))}else Gr(!1)}})}il()},[(ra=Me.detail)==null?void 0:ra.courses]),(0,se.useEffect)(()=>{var il,Ks,Kl,Hl,Hu,Wc,Gs,kc,Lc,Cd,Bd;if(!((Ks=(il=Me.detail)==null?void 0:il.courses)==null?void 0:Ks.length))return;let md;if((Kl=Me.detail)!=null&&Kl.has_start){const rf=(Hu=(Hl=Me.detail)==null?void 0:Hl.courses)==null?void 0:Hu.findIndex(Gd=>{var Ad;return((Ad=Gd.course_status)==null?void 0:Ad.status)===1});md=rf>-1?rf:0}else{let rf=(kc=(Gs=(Wc=Me.detail)==null?void 0:Wc.courses)==null?void 0:Gs.map(Gd=>{var Ad;return(Ad=Gd.course_status)==null?void 0:Ad.status}))==null?void 0:kc.lastIndexOf(2);md=rf>-1?rf:0,rf=(Cd=(Lc=Me.detail)==null?void 0:Lc.courses)==null?void 0:Cd.findIndex(Gd=>{var Ad;return((Ad=Gd.course_status)==null?void 0:Ad.status)===0}),md=rf>-1?rf:md}Pa(((Bd=Me.detail)==null?void 0:Bd.courses[md])||{})},[Me.detail]);const Eo=il=>{Ea({status:il})},Ss=il=>{Bt.default.confirm({centered:!0,width:590,title:"\u63D0\u793A",okText:"\u786E\u5B9A\u7533\u8BF7",cancelText:"\u53D6\u6D88\u7533\u8BF7",icon:null,content:Xn.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",Xn.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",Xn.createElement("br",null)),onOk:()=>mr(void 0,null,function*(){let Ks={user_customize:il.user_customize,type:il.type};il.user_customize?Ks=gn(qt({},Ks),{discipline_name:il.discipline_name,sub_discipline_name:il.sub_discipline_name}):il.sub_discipline_id&&(Ks=gn(qt({},Ks),{sub_discipline_id:il.sub_discipline_id}));const Kl=yield(0,Le.WO)(qt({id:va.pathId},Ks));((Kl==null?void 0:Kl.status)===0||(Kl==null?void 0:Kl.status)===1)&&(_s(),Rt.ZP.success("\u516C\u5F00\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u7BA1\u7406\u5458\u7684\u5BA1\u6838"))})})},_s=()=>{Fr({type:"pathsDetail/getPathsDetail",payload:{id:va.pathId,knowledge:!0}}),Fr({type:"pathsDetail/getRightData",payload:{id:va.pathId}})};return Xn.createElement("section",null,Ca.get("type")!=="classrooms"?Xn.createElement(or,null):Xn.createElement("aside",{className:dt.banner,style:{backgroundImage:(ca=(aa=(qi=Me==null?void 0:Me.detail)==null?void 0:qi.attachments)==null?void 0:aa[0])!=null&&ca.url?`url(${(Si=(Ei=(Ra=Me==null?void 0:Me.detail)==null?void 0:Ra.attachments)==null?void 0:Ei[0])==null?void 0:Si.url})`:`url(${Ft})`}},Xn.createElement("aside",{className:dt.wrp},Xn.createElement("div",{className:dt.name},(Sa=(ba=Me.detail)==null?void 0:ba.name)==null?void 0:Sa.split(` -`)[0]),Xn.createElement("div",{className:dt.content},(Ua=(Uo=Me==null?void 0:Me.detail)==null?void 0:Uo.resource_data)==null?void 0:Ua.map((il,Ks)=>Xn.createElement("span",{key:Ks},il==null?void 0:il.node_type,"\uFF1A",il==null?void 0:il.num)),((Oa=Me.detail)==null?void 0:Oa.origin_subject_identifier)&&Xn.createElement("div",{onClick:()=>{var il;window.open(`/paths/${(il=Me.detail)==null?void 0:il.origin_subject_identifier}`)},className:dt.go},Xn.createElement("img",{src:Gt,className:dt.goicon})," ",Xn.createElement("div",{style:{cursor:"pointer"}},"\u524D\u5F80\u8BFE\u7A0B\u5B66\u4E60"))))),oa.status&&Xn.createElement(Qt,{type:"subject",onCancel:()=>Eo(!1),onOk:il=>{Eo(!1),Ss(il)}}),Xn.createElement(Bt.default,{open:ko,title:"\u8BFE\u7A0B\u516C\u544A",width:593,maskClosable:!1,onCancel:()=>{Gr(!1)},centered:!0,footer:Xn.createElement("div",null,Xn.createElement(Dt.ZP,{type:"primary",onClick:()=>{Gr(!1)}},"\u6211\u77E5\u9053\u4E86"))},Xn.createElement($t.Z,{style:{maxHeight:378,overflow:"auto"},value:(di=(xo=Me==null?void 0:Me.detail)==null?void 0:xo.toast)==null?void 0:di.content})))};var Ni=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(Ui),Fa=he(1773),_o={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"},co={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"},kn={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"},Yi="data:image/png;base64,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",ys="data:image/png;base64,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",$o="data:image/png;base64,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",eo="data:image/png;base64,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",lo=he(31217),Qr=he(59301),ir=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())}),ua=({})=>{var Oe;const[Fe,Me]=(0,se.useState)(!0),[jt,Pn]=(0,se.useState)({}),Tr=(0,je.useSelector)(_t=>_t),{pathsDetail:{detail:Fr}}=Tr;(0,se.useEffect)(()=>{Fr!=null&&Fr.id&&mn()},[Fr==null?void 0:Fr.id]);const mn=()=>ir(void 0,null,function*(){Pn(Fr),Me(!1)});return Qr.createElement(lo.Z,null,Qr.createElement("div",{className:kn.information},Fe&&Qr.createElement(wt.Z,{style:{width:"100%",marginTop:"300rem"},spinning:!0}),!Fe&&Qr.createElement("div",{className:kn.body},Qr.createElement("div",{className:kn.left},Qr.createElement("div",{className:kn.box,style:{marginBottom:"20rem"}},Qr.createElement("img",{className:kn.imgTitle,src:Yi,style:{width:"453rem"}}),Qr.createElement($t.Z,{value:(jt==null?void 0:jt.description)||""})),!!(jt!=null&&jt.learning_notes)&&Qr.createElement("div",{className:kn.box},Qr.createElement("img",{className:kn.imgTitle,src:$o,style:{width:"453rem"}}),Qr.createElement($t.Z,{value:(jt==null?void 0:jt.learning_notes)||""}))),Qr.createElement("div",{className:kn.right},Qr.createElement("img",{className:kn.imgTitle,src:ys,style:{width:"323rem"}}),Qr.createElement("div",{className:kn.listWarp},(Oe=jt==null?void 0:jt.subject_members)==null?void 0:Oe.map(_t=>Qr.createElement("div",{key:_t==null?void 0:_t.login,className:kn.li},Qr.createElement("img",{src:`${Cn.Z.IMG_SERVER}/images/${_t==null?void 0:_t.avatar}`}),(_t==null?void 0:_t.role)===1&&Qr.createElement("img",{src:eo,style:{width:"68rem",position:"absolute",right:"-1rem",top:"-1rem"}}),Qr.createElement("div",null,Qr.createElement(Sn.Z,{title:_t==null?void 0:_t.username},Qr.createElement("b",{className:"c-grey-333"},(0,Vt.Pq)(_t==null?void 0:_t.username,7))),Qr.createElement(Sn.Z,{title:_t==null?void 0:_t.school_name},Qr.createElement("span",{className:"c-grey-999"},(0,Vt.Pq)(_t==null?void 0:_t.school_name,7)))))))))))},un={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"},lr=he(58421),Hr=he(92310),hr=he.n(Hr),Vr=he(74972),Rr={md:"md___NMHUA",dark:"dark___hYBxG"},qr=he(59301),Zi=Object.defineProperty,Wn=Object.defineProperties,st=Object.getOwnPropertyDescriptors,Nt=Object.getOwnPropertySymbols,Gn=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,yr=(Oe,Fe,Me)=>Fe in Oe?Zi(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,ci=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Gn.call(Fe,Me)&&yr(Oe,Me,Fe[Me]);if(Nt)for(var Me of Nt(Fe))Sr.call(Fe,Me)&&yr(Oe,Me,Fe[Me]);return Oe},ai=(Oe,Fe)=>Wn(Oe,st(Fe)),Ur=(Oe,Fe)=>{var Me={};for(var jt in Oe)Gn.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Nt)for(var jt of Nt(Oe))Fe.indexOf(jt)<0&&Sr.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},ta=Oe=>{var Fe=Oe,{value:Me,onChange:jt,theme:Pn}=Fe,Tr=Ur(Fe,["value","onChange","theme"]);const Fr={dark:Rr.dark};return qr.createElement(lo.Z,{prefixCls:"md"},qr.createElement("div",{className:hr()(Rr.md,Fr[Pn])},qr.createElement(Vr.Z,ai(ci({},Tr),{defaultValue:Me,onChange:(mn,_t)=>{console.log("a:",mn,_t),_t!=null&&_t.length?jt(mn,_t):jt(mn)}}))))},qa=he(5805),pi=he(59301),Mr=Object.defineProperty,sr=Object.getOwnPropertySymbols,xn=Object.prototype.hasOwnProperty,er=Object.prototype.propertyIsEnumerable,Er=(Oe,Fe,Me)=>Fe in Oe?Mr(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Zr=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))xn.call(Fe,Me)&&Er(Oe,Me,Fe[Me]);if(sr)for(var Me of sr(Fe))er.call(Fe,Me)&&Er(Oe,Me,Fe[Me]);return Oe},ti=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Nr=({type:Oe,onEnter:Fe})=>{const[Me,jt]=(0,se.useState)("");return pi.createElement("div",{className:un.comment},pi.createElement(ta,{theme:"dark",height:Oe===1?"264rem":"134rem",value:Me,onChange:Pn=>jt(Pn)}),pi.createElement(Dt.ZP,{size:"large",shape:"round",onClick:()=>Fe(Me,Oe),type:"primary",style:{width:"100rem",marginBottom:"12rem",float:"right"}},"\u53D1\u9001"),pi.createElement("div",{style:{clear:"both"}}))};var Zn=({})=>{const Oe=(0,je.useParams)(),[Fe,Me]=(0,se.useState)(!0),[jt,Pn]=(0,se.useState)({page:1}),[Tr,Fr]=(0,se.useState)(0),[mn,_t]=(0,se.useState)(!1),[Kn,wr]=(0,se.useState)([]);(0,se.useEffect)(()=>{ra(jt)},[]);const ra=Ei=>ti(void 0,null,function*(){Me(!0);const Si=yield(0,Ot.ZP)(`/api/paths/${Oe==null?void 0:Oe.pathId}/discusses.json`,{method:"get",params:Ei});Si!=null&&Si.comments&&(wr(Si==null?void 0:Si.comments),Fr(Si==null?void 0:Si.disscuss_count)),Me(!1)}),qi=(Ei,Si)=>ti(void 0,null,function*(){Me(!0);const ba=yield(0,Ot.ZP)(`/api/paths/${Oe==null?void 0:Oe.pathId}/post_discuss.json`,{method:"post",body:{content:Ei}});(ba==null?void 0:ba.status)===0&&(jt.page=Si===1?1:jt.page,Pn(Zr({},jt)),ra(jt),_t(!1))}),aa=(Ei,Si)=>ti(void 0,null,function*(){Me(!0);const ba=yield(0,Ot.ZP)(`/api/discusses/${mn}/reply.json`,{method:"post",body:{container_type:"Shixun",content:Ei}});ba!=null&&ba.discuss&&(_t(!1),ra(jt))}),ca=(Ei,Si)=>ti(void 0,null,function*(){Me(!0);const ba=yield(0,Ot.ZP)(`/api/discusses/${Ei}/plus.json`,{method:"post",body:{container_type:"Discuss",type:Si}});(ba==null?void 0:ba.status)!==-1&&ra(jt)}),Ra=(Ei,Si)=>ti(void 0,null,function*(){Me(!0);const ba=yield(0,Ot.ZP)(`/api/discusses/${Ei}.json`,{method:"delete",body:{}});(ba==null?void 0:ba.status)===1&&(jt.page=Si===1&&Kn.length===1&&jt.page!==1?jt.page-1:jt.page,Pn(Zr({},jt)),ra(jt))});return pi.createElement(lo.Z,null,pi.createElement(pi.Fragment,null,pi.createElement("span",{className:"relative",style:{float:"right"}},pi.createElement("div",{className:un.addBtn,onClick:()=>_t(!0)},"\u53D1\u5E03\u8BA8\u8BBA")),pi.createElement("div",{className:un.exchange},pi.createElement("div",{className:un.body},pi.createElement(wt.Z,{spinning:Fe},mn===!0&&pi.createElement(Nr,{type:1,onEnter:qi}),Tr?pi.createElement(pi.Fragment,null,pi.createElement("div",{className:un.liWarp},Kn==null?void 0:Kn.map(Ei=>{var Si,ba,Sa,Uo;return pi.createElement("div",{key:Ei==null?void 0:Ei.id,className:un.li},pi.createElement("img",{src:`${Cn.Z.IMG_SERVER}/images/${(Si=Ei==null?void 0:Ei.author)==null?void 0:Si.image_url}`}),pi.createElement("aside",{style:{flex:1}},pi.createElement("div",{className:un.head},pi.createElement("b",null,(ba=Ei==null?void 0:Ei.author)==null?void 0:ba.name),pi.createElement("span",null,Ei==null?void 0:Ei.time),pi.createElement("div",{className:un.btns},pi.createElement(Sn.Z,{placement:"top",title:"\u56DE\u590D",color:"#434B64"},pi.createElement("div",{onClick:()=>_t(Ei.id),className:un.reply},pi.createElement("i",{className:"iconfont icon-a-huifupinglun"}))),(Ei==null?void 0:Ei.manage)&&pi.createElement(Sn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},pi.createElement("div",{onClick:()=>Ra(Ei.id,1),className:un.delete},pi.createElement("i",{className:"iconfont icon-shanchu17"}))),pi.createElement(Sn.Z,{placement:"top",title:"\u70B9\u8D5E",color:"#434B64"},pi.createElement("div",{onClick:()=>ca(Ei==null?void 0:Ei.id,Ei!=null&&Ei.user_praise?0:1),className:hr()(un.praise,(Ei==null?void 0:Ei.user_praise)&&un.active)},pi.createElement("i",{className:"iconfont icon-dianzan7"}))),!!(Ei!=null&&Ei.praise_count)&&pi.createElement("aside",{className:un.num},Ei==null?void 0:Ei.praise_count))),pi.createElement($t.Z,{className:un.md,value:(Ei==null?void 0:Ei.content)||""}),!!((Sa=Ei==null?void 0:Ei.children)!=null&&Sa.length)&&pi.createElement("div",{className:un.secondWrap},(Uo=Ei==null?void 0:Ei.children)==null?void 0:Uo.map(Ua=>{var Oa;return pi.createElement("div",{className:un.secondLi},pi.createElement("div",{className:un.secondHead},pi.createElement("b",null,(Oa=Ua==null?void 0:Ua.author)==null?void 0:Oa.name),pi.createElement("span",null,Ua==null?void 0:Ua.time),pi.createElement("div",{className:un.secondBtns},(Ua==null?void 0:Ua.manage)&&pi.createElement(Sn.Z,{placement:"top",title:"\u5220\u9664\u8BA8\u8BBA",color:"#434B64"},pi.createElement("div",{onClick:()=>Ra(Ua.id,2),className:un.secondDelete},pi.createElement("i",{className:"iconfont icon-shanchu17"}))))),pi.createElement($t.Z,{className:un.md,value:(Ua==null?void 0:Ua.content)||""}))})),mn===Ei.id&&pi.createElement(Nr,{type:2,onEnter:aa})))})),pi.createElement("div",{className:un.pagination},pi.createElement(lr.Z,{onChange:Ei=>{jt.page=Ei,Pn(Zr({},jt)),ra(jt)},total:Tr,current:jt==null?void 0:jt.page,pageSize:10,hideOnSinglePage:!0,showSizeChanger:!1,showQuickJumper:!1,style:{marginTop:"20rem",marginBottom:"40rem"},showTotal:Ei=>pi.createElement("span",{style:{marginLeft:"10rem",color:"#fff"}},"\u5171",pi.createElement("span",{style:{color:"#37AD83",margin:"0 5rem"}},Ei),"\u6761\u6570\u636E")}))):!mn&&pi.createElement(qa.Z,{textColor:"#fff",style:{visibility:Fe?"hidden":"visible"}}))))))},Di={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",disabledBtn:"disabledBtn___gfcug",addBtn:"addBtn___oYSpZ",ChangeBut:"ChangeBut___XjMr5",PublishBut:"PublishBut___r0ltL",SwitchStyle:"SwitchStyle___ioClp",spin:"spin___Oa3YX"},da=he(78673),ha="data:image/png;base64,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",na="data:image/png;base64,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",Qa="data:image/png;base64,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",Ao="data:image/png;base64,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",Da=he(14006),Ma=he(57809),es=he(17574),Fo={flex_box_center:"flex_box_center___g95QO",flex_space_between:"flex_space_between___DdZrd",flex_box_vertical_center:"flex_box_vertical_center___XptQo",flex_box_center_end:"flex_box_center_end___OeRyD",flex_box_column:"flex_box_column___GCZDS",addModal:"addModal___rkVQM",contentWrap:"contentWrap___hdqno",boxTitle:"boxTitle___messp",tip:"tip___w9Tak",leftBox:"leftBox___kDArQ",formSty:"formSty___RXRPG",rightBox:"rightBox___BUv9Q",nodeData:"nodeData___FbbqZ",yc:"yc___lhz8B",yclj:"yclj___Z6AKQ",nametitle:"nametitle___lR1nK",treeheight:"treeheight___RZ8Gb"},Ls=he(89489),_a=he(61648),$s=he(93351),sa={contentWrap:"contentWrap___ni2IK",titleSty:"titleSty___EglCE",leftBox:"leftBox___s2Tog",rightBox:"rightBox___UXF7P",tipSty:"tipSty___tamqo"},Os=he(5083),Us=he(24905),Ns=he(66649),xs=he.n(Ns),Al=he(22298),Bs=he(30450),Ho=he(65899),ll=he(93948),el={con_warp:"con_warp___UwmUW",success_txt:"success_txt___bixIU"},Rs=he(59301),ui=Object.getOwnPropertySymbols,za=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,vs=(Oe,Fe)=>{var Me={};for(var jt in Oe)za.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&ui)for(var jt of ui(Oe))Fe.indexOf(jt)<0&&ls.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},Ms=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Ts=Oe=>{var Fe=Oe,{shixunsDetail:Me,globalSetting:jt,loading:Pn,dispatch:Tr,showModal:Fr,onCancel:mn,onOk:_t,okBtnName:Kn="\u5B8C\u6210",info:wr,source:ra}=Fe,qi=vs(Fe,["shixunsDetail","globalSetting","loading","dispatch","showModal","onCancel","onOk","okBtnName","info","source"]);const[aa,ca]=(0,se.useState)(0),[Ra,Ei]=(0,se.useState)(0);return(0,se.useEffect)(()=>{let Si=null;const ba=()=>Ms(void 0,null,function*(){let Sa={id:wr==null?void 0:wr.courseId,send_time:xs()().format("YYYY-MM-DD HH:mm"),exercise_id:wr!=null&&wr.exercise_id?wr==null?void 0:wr.exercise_id:null},Uo={id:wr==null?void 0:wr.courseId,course_id:wr==null?void 0:wr.courseId,identifier:wr==null?void 0:wr.courseId,type:"normal",is_use:1,is_copy:!0};ra==="\u8BD5\u5377"?(Sa.examination_bank_ids=wr==null?void 0:wr.examination_bank_ids,Sa.type="ExaminationBank"):ra==="\u5B9E\u8BAD"?Sa.shixun_info=(wr==null?void 0:wr.shixun_info.length)>0?wr==null?void 0:wr.shixun_info:[Uo]:ra==="\u5B9E\u8BAD\u548C\u8BD5\u5377"&&(Sa.examination_bank_ids=wr==null?void 0:wr.examination_bank_ids,Sa.shixun_info=(wr==null?void 0:wr.shixun_info.length)>0?wr==null?void 0:wr.shixun_info:[Uo]);const Ua=yield(0,Ot.ZP)(`/api/courses/${wr==null?void 0:wr.courseId}/send_shixun_progress.json`,{method:"post",body:Sa});(Ua==null?void 0:Ua.status)===0&&(ca(Ua==null?void 0:Ua.complete_num),Ei(Ua==null?void 0:Ua.total_num),(Ua==null?void 0:Ua.complete_num)!==(Ua==null?void 0:Ua.total_num)?(Si&&clearInterval(Si),Si=setInterval(ba,5e3)):Si&&clearInterval(Si))});return Fr&&(wr!=null&&wr.courseId)&&ba(),()=>{Si&&clearInterval(Si)}},[Fr]),Rs.createElement(Bt.default,{centered:!0,maskClosable:!1,width:400,title:"\u5B9E\u8BAD\u52A0\u5165\u8BFE\u5802\u63D0\u793A",closable:aa==Ra,open:Fr,destroyOnClose:!0,footer:null,onCancel:mn},Rs.createElement("div",null,"\u5F53\u524D\u9009\u4E2D",Rs.createElement("span",{className:"mr5 ml5",style:{color:"#3061D0"}},Ra),"\u4E2A\u5B9E\u8BAD\u52A0\u5165\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u8BF7\u7A0D\u5019\u3002"),Rs.createElement("div",{className:el.con_warp},Rs.createElement(ll.Z,{className:"mt15 mb5",strokeColor:"#3061D0",trailColor:"rgba(144, 150, 163, 0.1)",percent:aa==Ra&&Ra!=0?100:aa/Ra*100,showInfo:!1,size:[350,10]}),Rs.createElement("div",{className:el.success_txt},"\u5DF2\u6210\u529F\u53D1\u9001",Rs.createElement("span",{className:"mr5 ml5",style:{color:"#3061D0"}},aa),"\u4E2A"),aa!=Ra&&Rs.createElement(Dt.ZP,{disabled:!0},"\u5904\u7406\u4E2D"),aa==Ra&&Rs.createElement(Dt.ZP,{type:"primary",onClick:_t},Kn)))};var ul=(0,je.connect)(({shixunsDetail:Oe,loading:Fe,globalSetting:Me})=>({shixunsDetail:Oe,globalSetting:Me,loading:Fe.models.index}))(Ts),Na=he(59301),$a=Object.defineProperty,gl=Object.defineProperties,zs=Object.getOwnPropertyDescriptors,Xu=Object.getOwnPropertySymbols,Su=Object.prototype.hasOwnProperty,cc=Object.prototype.propertyIsEnumerable,Ru=(Oe,Fe,Me)=>Fe in Oe?$a(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,hu=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Su.call(Fe,Me)&&Ru(Oe,Me,Fe[Me]);if(Xu)for(var Me of Xu(Fe))cc.call(Fe,Me)&&Ru(Oe,Me,Fe[Me]);return Oe},zu=(Oe,Fe)=>gl(Oe,zs(Fe)),Mu=(Oe,Fe)=>{var Me={};for(var jt in Oe)Su.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Xu)for(var jt of Xu(Oe))Fe.indexOf(jt)<0&&cc.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},vc=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const yu={\u8BD5\u5377:"#F65160",\u89C6\u9891:"#4237E7",\u5B9E\u8BAD:"#145DFF",\u8BFE\u4EF6:"#1B8565",\u4F5C\u4E1A:"#21B292",\u5176\u4ED6:"#B96B18",\u6559\u6750:"#B96B18",\u56FE\u6587:"#B96B18",\u5206\u7EC4:"#21B292",\u7AE0\u8282:"#B16514"},to={\u8BD5\u5377:"#FEEDEF",\u89C6\u9891:"#ECEAFC",\u5B9E\u8BAD:"#E7EEFF",\u8BFE\u4EF6:"#EBF6F2",\u4F5C\u4E1A:"#ECFBF7",\u5176\u4ED6:"#FFF7EF",\u6559\u6750:"#FFF7EF",\u5206\u7EC4:"#ECFBF7",\u56FE\u6587:"#FFF7EF",\u7AE0\u8282:"#FFF3EC"},uo=Oe=>{var Fe=Oe,{pathsDetail:Me,classroomList:jt,user:Pn,globalSetting:Tr,dispatch:Fr,visible:mn,setVisible:_t,detail:Kn,uuid:wr,treeList:ra,onOk:qi}=Fe,aa=Mu(Fe,["pathsDetail","classroomList","user","globalSetting","dispatch","visible","setVisible","detail","uuid","treeList","onOk"]),ca;const Ra=(0,je.useParams)(),[Ei,Si]=(0,se.useState)([]),[ba,Sa]=(0,se.useState)([]),[Uo]=Xe.default.useForm(),[Ua,Oa]=(0,se.useState)(1),[xo,di]=(0,se.useState)([]),[Ca,va]=(0,se.useState)(0),[ro,Pa]=(0,se.useState)([]),[rl,xl]=(0,se.useState)(!0),[Xo,_l]=(0,se.useState)(!1),[ts,ko]=(0,se.useState)(!1),[Gr,so]=(0,se.useState)(!1),[Ti,oa]=(0,se.useState)({});Ra.coursesId=Ra.pathId,Ra.id=Ra.coursesId,(0,se.useEffect)(()=>{if(mn){if(il(),Yo(),jt.actionTabs.type===2){const Kl=jt.actionTabs.selectArrsAll[0];xl(Kl.unified_setting)}else xl(!1);const Ks=Ea(ra);Sa(Ks),Si([])}},[mn]);const Ea=Ks=>Ks==null?void 0:Ks.map(Kl=>{const{id:Hl,node_type:Hu,name:Wc,children:Gs,position:kc}=Kl;return{key:Hl,title:"has_children"in Kl?`${Wc}`:Na.createElement(Na.Fragment,null,Na.createElement("span",{style:{color:yu[Hu],backgroundColor:to[Hu],padding:"2px 4px",marginRight:"5px"}},Hu),Na.createElement("span",null,Wc)),children:(Gs==null?void 0:Gs.length)>0?Ea(Gs):[],tag:"has_children"in Kl?"":Hu}}),Yo=Ks=>vc(void 0,null,function*(){_l(!0);const Kl=yield(0,Bs.c_)(zu(hu({},Ra),{page:Ks||Ua,limit:2e4}));Kl==null||Kl.course_groups.map((Hl,Hu)=>{Hl.key=Hl.id,Hl.title=Hl.name,Hl.disabled=Hl.is_published}),Kl&&(di([...Kl==null?void 0:Kl.course_groups]),va(Kl==null?void 0:Kl.course_groups_count),_l(!1),Ks||Uo.setFieldsValue({publish_time:xs()(xs()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:xs()(xs()(new Date((0,Vt.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),Eo=Ks=>{console.log("onCheck",Ks),Si(Ks)},Ss=()=>vc(void 0,null,function*(){var Ks,Kl,Hl;const Hu=hu({},Uo.getFieldsValue());if(Hu.end_time<=Hu.publish_time){Rt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),ko(!1);return}if((ro==null?void 0:ro.length)<=0&&!rl&&xo.length>0){Rt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),ko(!1);return}let Wc={ids:[...Ei],group_ids:ro.length>0?ro.map(kc=>kc.id):(Ks=jt.detailShixunsList)==null?void 0:Ks.course_groups,end_time:xs()(Hu.end_time).format("YYYY-MM-DD HH:mm"),publish_time:xs()(Hu.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!ro.length,subject_id:Ra.pathId};ko(!0);const Gs=yield(0,Ot.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:hu({},Wc)});Gs.status===0&&(((Kl=Gs==null?void 0:Gs.examination_bank_ids)==null?void 0:Kl.length)>0||((Hl=Gs==null?void 0:Gs.shixun_info)==null?void 0:Hl.length)>0?(oa(zu(hu({},Gs),{courseId:Ra==null?void 0:Ra.coursesId})),_t(!1),so(!0)):_s()),ko(!1)}),_s=()=>{qi(wr,""),Fr({type:"classroomList/setActionTabs",payload:{}}),Fr({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),_l(!1),il(),(0,Vt.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),Rt.ZP.success("\u53D1\u5E03\u6210\u529F")},il=()=>{Oa(1),di([]),Pa([])};return Na.createElement(Bt.default,{title:"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90",open:mn,confirmLoading:ts,width:"1200rem",centered:!0,onOk:Ss,onCancel:()=>{_t(!1)},maskClosable:!1},Na.createElement(wt.Z,{spinning:Xo},Na.createElement("div",{className:`flex w-full ${sa.contentWrap}`},Na.createElement("div",{className:`p-10px-rem flex-1 minW-0 ${sa.leftBox}`},Na.createElement("div",{className:sa.titleSty},"\u9009\u62E9\u8D44\u6E90"),Na.createElement(es.default,{checkable:!0,onCheck:Eo,checkedKeys:Ei,treeData:ba,defaultExpandedKeys:[(ca=ra==null?void 0:ra[0])==null?void 0:ca.id]})),Na.createElement("div",{className:`flex flex-col flex-1 minW-0 ${sa.rightBox}`},Na.createElement("div",{className:sa.titleSty},"\u53D1\u5E03\u89C4\u5219"),Na.createElement("p",{className:sa.tipSty},"\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 \u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),Na.createElement(Xe.default,{className:"flex flex-col",form:Uo},Na.createElement("div",{className:"flex item-center gap-10px-rem"},Na.createElement(Xe.default.Item,{className:"flex-1 minW-0",name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},Na.createElement(Os.default,{disabledDate:Ks=>(0,Ho.Q8)(Ks,null),disabledTime:Ks=>(0,Ho.d0)(Ks),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:xs()((0,Vt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1})),Na.createElement(Xe.default.Item,{className:"flex-1 minW-0",name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},Na.createElement(Os.default,{placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:xs()((0,Vt.U6)(),"HH:mm")},disabledDate:Ks=>(0,Ho.Q8)(Ks,null,Uo.getFieldValue("publish_time")),disabledTime:Ks=>(0,Ho.d0)(Ks,Uo.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1}))),xo.length<=0&&jt.actionTabs.type===2&&Na.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"'),xo.length>0&&Na.createElement("div",{className:"flex justify-between ",style:{marginBottom:"10rem"}},Na.createElement(Us.default,{className:"flex-1 minW-0",checked:ro.length===xo.length,onChange:Ks=>{ro.length===xo.length?Pa([]):Pa(xo)}},"\u5168\u9009"),Na.createElement("div",{className:"flex-1 minW-0"},"\u5DF2\u9009\u62E9",ro.length||0,"\u4E2A\u5206\u73ED")),(jt.actionTabs.type===1||!rl)&&xo.length>0&&Na.createElement(Al.Z,{className:"flex-1 minW-0",data:xo,selectedRowKeys:ro,setSelectedRowKeys:Pa,handleChangePage:()=>{}}))))),Na.createElement(ul,{source:"\u5B9E\u8BAD\u548C\u8BD5\u5377",showModal:Gr,onCancel:()=>so(!1),info:Ti,onOk:_s}))};var no=(0,je.connect)(({pathsDetail:Oe,classroomList:Fe,user:Me,globalSetting:jt})=>({pathsDetail:Oe,classroomList:Fe,user:Me,globalSetting:jt}))(uo),yn=he(59301),ps=Object.defineProperty,al=Object.defineProperties,Vs=Object.getOwnPropertyDescriptors,$l=Object.getOwnPropertySymbols,eu=Object.prototype.hasOwnProperty,vu=Object.prototype.propertyIsEnumerable,ku=(Oe,Fe,Me)=>Fe in Oe?ps(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Lu=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))eu.call(Fe,Me)&&ku(Oe,Me,Fe[Me]);if($l)for(var Me of $l(Fe))vu.call(Fe,Me)&&ku(Oe,Me,Fe[Me]);return Oe},Cc=(Oe,Fe)=>al(Oe,Vs(Fe)),fo=(Oe,Fe)=>{var Me={};for(var jt in Oe)eu.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&$l)for(var jt of $l(Oe))Fe.indexOf(jt)<0&&vu.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},Ql=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const oc=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr,addmodal:mn,setaddmodal:_t,uuid:Kn,onOk:wr}=Fe,ra=fo(Fe,["pathsDetail","user","globalSetting","loading","dispatch","addmodal","setaddmodal","uuid","onOk"]),qi,aa,ca,Ra,Ei,Si,ba,Sa,Uo,Ua,Oa;const xo=(0,je.useParams)(),[di,Ca]=(0,se.useState)([]),[va,ro]=(0,se.useState)(!1),[Pa,rl]=(0,se.useState)([]),[xl]=Xe.default.useForm(),Xo=Xe.default.useWatch("uuid",xl),[_l,ts]=(0,se.useState)(!1);(0,se.useEffect)(()=>{var Ea,Yo;if(mn){if(Gr(),Kn){const Eo=((Yo=(Ea=Me==null?void 0:Me.detail)==null?void 0:Ea.route_nodes)==null?void 0:Yo.find(Ss=>(Ss==null?void 0:Ss.id)==Kn))||{};(Eo==null?void 0:Eo.knowledge_labels)=="--"&&(Eo.knowledge_labels=""),xl.setFieldsValue(Lu({},Eo))}so()}},[mn]);function ko(Ea,Yo){for(let Eo of Ea)Yo.push(Eo),Eo.children&&Eo.children.length>0&&ko(Eo.children,Yo)}const Gr=()=>Ql(void 0,null,function*(){ro(!0);let Ea=yield(0,Ot.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:xo==null?void 0:xo.pathId}});(Ea==null?void 0:Ea.status)===0&&rl([{id:1,name:"\u5168\u90E8"},...(Ea==null?void 0:Ea.data)||[]]),ro(!1)}),so=()=>Ql(void 0,null,function*(){const Ea=xl.getFieldValue("knowledge_labels")||[],Yo=xl.getFieldValue("resource_labels")||[],Eo=(Ea==null?void 0:Ea.length)>0?Ea:["\u5168\u90E8"],Ss=xl.getFieldValue("uuid")||Kn;if(!Ss){Rt.ZP.info("\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31");return}ro(!0);let _s=yield(0,Ot.ZP)("/api/subject_knowledge/tree.json",{method:"post",body:{uuid:Ss,subject_id:xo==null?void 0:xo.pathId,knowledge_labels:Eo,resource_labels:Yo,id:Kn,is_edit:!!Kn}});(_s==null?void 0:_s.status)===0&&Ca(_s==null?void 0:_s.data),ro(!1)}),Ti=Ea=>{console.log(Ea);const Yo=Ea.node.id,Eo=Ea.dragNode.id,Ss=Ea.node.pos.split("-"),_s=Ea.dropPosition-Number(Ss[Ss.length-1]),il=(Hl,Hu,Wc)=>{for(let Gs=0;Gs{Wc.splice(Hu,1),Kl=Hl}),!Ea.dropToGap)il(Ks,Yo,Hl=>{Hl.children=Hl.children||[],Hl.children.unshift(Kl)});else{let Hl=[],Hu;il(Ks,Yo,(Wc,Gs,kc)=>{Hl=kc,Hu=Gs}),_s===-1?Hl.splice(Hu,0,Kl):Hl.splice(Hu+1,0,Kl)}Ca(Ks)},oa=Ea=>Ql(void 0,null,function*(){var Yo,Eo,Ss,_s,il;let Ks=[];if(ko(di,Ks),(di==null?void 0:di.length)<=0||((Yo=Ks==null?void 0:Ks.filter(Hu=>!(Hu!=null&&Hu.is_out)))==null?void 0:Yo.length)===0||((Eo=di==null?void 0:di.filter(Hu=>!(Hu!=null&&Hu.is_out)))==null?void 0:Eo.length)===0){Rt.ZP.info("\u5B66\u4E60\u8DEF\u5F84\u4E0D\u53EF\u4E3A\u7A7A");return}ts(!0);const Kl=Cc(Lu({},Ea),{uuid:Ea.uuid||Kn,subject_id:xo==null?void 0:xo.pathId,routes:di});Kn&&(Kl.id=(il=(_s=(Ss=Me==null?void 0:Me.detail)==null?void 0:Ss.route_nodes)==null?void 0:_s.find(Hu=>Hu==null?void 0:Hu.is_choice))==null?void 0:il.id);const Hl=yield(0,Ot.ZP)("/api/subject_knowledge.json",{method:"post",body:Lu({},Kl)});(Hl==null?void 0:Hl.status)===0&&(Rt.ZP.success(Kn?"\u7F16\u8F91\u6210\u529F":"\u65B0\u589E\u6210\u529F"),wr(Hl==null?void 0:Hl.id,""),_t(!1)),ts(!1)});return yn.createElement(Bt.default,{title:Kn?"\u7F16\u8F91\u5B662\u4E60\u8DEF\u5F84":"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84",open:mn,width:"1140rem",className:Fo.addModal,centered:!0,onOk:()=>Ql(void 0,null,function*(){xl.submit()}),okButtonProps:{loading:_l},okText:Kn?"\u5B8C\u6210\u7F16\u8F91":"\u5B8C\u6210\u521B\u5EFA",onCancel:()=>{_t(!1)},maskClosable:!1},yn.createElement(wt.Z,{spinning:va},yn.createElement("div",{className:Fo.contentWrap},yn.createElement("div",{className:Fo.leftBox},yn.createElement("div",{className:`flex item-center gap-10px-rem ${Fo.boxTitle}`},"\u57FA\u672C\u4FE1\u606F",yn.createElement(Sn.Z,{title:yn.createElement(yn.Fragment,null,"\u8DEF\u5F84\u540D\u79F0\uFF1A\u586B\u5199\u672C\u5B66\u4E60\u8DEF\u5F84\u540D\u79F0\uFF0C\u5982\uFF1A\u6587\u79D1\u5B66\u4E60\u8DEF\u5F84\u3001\u57FA\u7840\u5B66\u4E60\u8DEF\u5F84\u7B49",yn.createElement("br",null),"\u9002\u7528\u4EBA\u7FA4\uFF1A\u586B\u5199\u9002\u5408\u9002\u7528\u672C\u5B66\u4E60\u8DEF\u5F84\u7684\u7528\u6237\uFF0C\u5982\uFF1A\u6587\u79D1\u4E13\u4E1A\u5B66\u751F\u7B49",yn.createElement("br",null),"\u7B80\u4ECB\uFF1A\u5BF9\u672C\u5B66\u4E60\u8DEF\u5F84\u505A\u57FA\u672C\u4ECB\u7ECD\uFF0C\u5982\uFF1A\u4ECB\u7ECD\u8D44\u6E90\u7C7B\u578B\u7B49",yn.createElement("br",null),"\u77E5\u8BC6\u56FE\u8C31\uFF1A\u9009\u62E9\u672C\u8BFE\u7A0B\u4E2D\u5DF2\u7ECF\u521B\u5EFA\u7684\u77E5\u8BC6\u56FE\u8C31",yn.createElement("br",null),"\u8D44\u6E90\u7C7B\u578B\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8D44\u6E90\u7C7B\u578B",yn.createElement("br",null),"\u56FE\u8C31\u6807\u7B7E\uFF1A\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u6807\u7B7E",yn.createElement("br",null),"\u6CE8\u610F\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8D44\u6E90\u7C7B\u578B\u548C\u56FE\u8C31\u6807\u7B7E\u7B5B\u9009\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5185\u5BB9\uFF0C\u66F4\u5FEB\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")},yn.createElement("span",{className:"iconfont icon-tishi7 current",style:{color:"#FF8C29"}}))),yn.createElement(Xe.default,{className:Fo.formSty,form:xl,layout:"horizontal",onFinish:oa,scrollToFirstError:!0,size:"large",colon:!1,labelAlign:"right",initialValues:{knowledge_labels:["\u5168\u90E8"],uuid:((aa=(qi=Me==null?void 0:Me.detail)==null?void 0:qi.nodes)==null?void 0:aa.length)>1?(Ei=(Ra=(ca=Me==null?void 0:Me.detail)==null?void 0:ca.nodes.slice(1))==null?void 0:Ra[0])==null?void 0:Ei.uuid:""}},yn.createElement(Xe.default.Item,{label:"\u8DEF\u5F84\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0"}]},yn.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u8DEF\u5F84\u540D\u79F0",maxLength:20})),yn.createElement(Xe.default.Item,{label:"\u9002\u7528\u4EBA\u7FA4",name:"applicable_people"},yn.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u9002\u7528\u4EBA\u7FA4",maxLength:50})),yn.createElement(Xe.default.Item,{label:"\u7B80\u4ECB",name:"description"},yn.createElement(vt.default.TextArea,{placeholder:"\u8BF7\u8F93\u5165\u7B80\u4ECB",rows:3,maxLength:200})),yn.createElement(Xe.default.Item,{label:"\u77E5\u8BC6\u56FE\u8C31",name:"uuid",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31"}]},yn.createElement(Ma.default,{placeholder:"\u8BF7\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31",options:((ba=(Si=Me==null?void 0:Me.detail)==null?void 0:Si.nodes)==null?void 0:ba.length)>1?(Sa=Me==null?void 0:Me.detail)==null?void 0:Sa.nodes.slice(1):[],fieldNames:{label:"name",value:"uuid"}})),yn.createElement(Xe.default.Item,{label:"\u8D44\u6E90\u7C7B\u578B",name:"resource_labels",initialValue:["\u5168\u90E8"]},yn.createElement(Ma.default,{placeholder:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B",mode:"multiple",showSearch:!0,optionFilterProp:"node_type",options:((Oa=(Ua=(Uo=Me==null?void 0:Me.detail)==null?void 0:Uo.nodes)==null?void 0:Ua.find(Ea=>(Ea==null?void 0:Ea.uuid)==Xo))==null?void 0:Oa.resource_labels)||[],fieldNames:{label:"node_type",value:"node_type"}})),yn.createElement(Xe.default.Item,{label:"\u56FE\u8C31\u6807\u7B7E",name:"knowledge_labels"},yn.createElement(Ma.default,{allowClear:!0,mode:"multiple",placeholder:"\u8BF7\u9009\u62E9\u56FE\u8C31\u6807\u7B7E",options:Pa,fieldNames:{label:"name",value:"name"}}))),yn.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},yn.createElement($s.op,{shape:"default",onClick:so},"\u67E5\u8BE2"))),yn.createElement("div",{className:Fo.rightBox},yn.createElement("div",{className:Fo.boxTitle},"\u5B66\u4E60\u8DEF\u5F84",yn.createElement("span",{className:Fo.tip},"\uFF08\u62D6\u52A8\u53EF\u8C03\u6574\u8DEF\u5F84\u987A\u5E8F\uFF09")),yn.createElement("div",{style:{maxHeight:"500rem",overflow:"auto"}},(di==null?void 0:di.length)>0?yn.createElement(es.default,{style:{background:"#FAFAFA"},treeData:di,showLine:!0,blockNode:!0,fieldNames:{key:"id"},className:Fo.treeheight,draggable:!0,onDrop:Ti,switcherIcon:yn.createElement(Ls.Z,null),titleRender:Ea=>yn.createElement("div",{className:Fo.nodeData,style:{color:Ea!=null&&Ea.is_out?"#999999":"#000000"}},yn.createElement("span",{style:{color:yu[Ea==null?void 0:Ea.node_type],backgroundColor:to[Ea==null?void 0:Ea.node_type],padding:"2px 4px",marginRight:"5px"}},Ea==null?void 0:Ea.node_type),yn.createElement("div",{className:Fo.nametitle,title:Ea==null?void 0:Ea.name,style:{flex:1}},(Ea==null?void 0:Ea.is_out)&&yn.createElement("span",{className:Fo.yc},"\u5DF2\u79FB\u51FA")," ",Ea==null?void 0:Ea.name),yn.createElement("span",{className:Fo.yclj,style:{color:Ea!=null&&Ea.is_out?"#37AD83":"#E30000",fontSize:"14rem"},onClick:()=>{const Yo=(Ss,_s)=>{var il;Ss.is_out=_s,((il=Ss==null?void 0:Ss.children)==null?void 0:il.length)>0&&Ss.children.forEach(Ks=>Yo(Ks,_s))},Eo=!Ea.is_out;Ea.is_out=Eo,Yo(Ea,Eo)}},Ea!=null&&Ea.is_out?"\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84":"\u79FB\u51FA\u5B66\u4E60\u8DEF\u5F84")," ")}):yn.createElement(_a.Z,{styles:{margin:"20rem auto"}}))))))};var us=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(oc),Hs=he(68971),Oo={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"},fn=he(48475),Lr=he(95237),nr="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",Oi="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=",Do="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=",cr="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=",tl="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==",ka="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==",Vi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAAAg1JREFUSEvtl09IFFEcx7/fN6hhQS5FiOShEjwUFIWt00FPdYlw25BO/YOOC0XQHmT35EgYHYJOQacugrC7eDa7iLbbpWutWUSGJR1WpSLZfb8YYWtWZ5gZkT3EzPV9v7/vh++8ebxhPGctAnIUQR5ymZBZ1cb0/MXMp7rFLFhntWCEkD4RdAUYpUnOsLN9iPHcqAQwNEhIrktL65nSpfSCWbBSovFYIEboOUpdbQAg+BaUdbdBAhyHoL2+RnJakemalteAtFzoPoHLR07j4J59vhzp4iQ+rn2HUrj9D4BYKiWz3V5uMz92X4t+6AD4DcGEQG4OdvVivH/YN7guuP7yGcqVr1sBWC4lM72eAAUrpbU8ca4bSlVqWnfY4TZE0McVgERVwKyCxysQXBMg7hbydPAGTh7wLG+bxb2BoPguuv8GYEMR9wD19ysQkT6BpPzK2Z0GuH0TmlMPenS1utAUAIJfilcyh51h5wpjp2pav2kKwGYIsUTAcRCxU0RizQPwS/JY3509sMNw2xYBRA1EDUQNRA3YDcTa9uJdZRmrG798z9Tn5Xms/Fzbcif0tXkLevYfwvvVldATaOA8zZx1V4BjgdxETIABiLheAEkuAvgQYFaNwMyrZOYRA4gbJMMyaXzOl+0fEcdNiT9oSKKYyL4IOy80QD2gPz9qAbgFwTfDMO7MJUZmw4bb+j/0UVXnXVodrAAAAABJRU5ErkJggg==",No="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=",Nl="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",Aa=he(43604),yo=he(72518),zi=he(59301),Fs=Object.defineProperty,bo=Object.defineProperties,js=Object.getOwnPropertyDescriptors,kl=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,vl=Object.prototype.propertyIsEnumerable,Is=(Oe,Fe,Me)=>Fe in Oe?Fs(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,fl=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Es.call(Fe,Me)&&Is(Oe,Me,Fe[Me]);if(kl)for(var Me of kl(Fe))vl.call(Fe,Me)&&Is(Oe,Me,Fe[Me]);return Oe},Gl=(Oe,Fe)=>bo(Oe,js(Fe)),Ul=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Ko=({classroomList:Oe,dispatch:Fe,courseEndTime:Me})=>{const jt=(0,je.useParams)(),[Pn]=Xe.default.useForm(),[Tr,Fr]=(0,se.useState)(1),[mn,_t]=(0,se.useState)([]),[Kn,wr]=(0,se.useState)(0),[ra,qi]=(0,se.useState)(20),[aa,ca]=(0,se.useState)(!0),[Ra,Ei]=(0,se.useState)([]),[Si,ba]=(0,se.useState)(!0);jt.coursesId=jt.pathId,jt.id=jt.coursesId,(0,se.useEffect)(()=>{if(Oe.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03")if(Ua(),Sa(),Oe.actionTabs.type===2){const va=Oe.actionTabs.selectArrsAll[0];ba(va.unified_setting)}else ba(!1)},[Oe.actionTabs]);const Sa=va=>Ul(void 0,null,function*(){ca(!0);const ro=yield(0,Bs.c_)(Gl(fl({},jt),{page:va||Tr,limit:2e4}));ro==null||ro.course_groups.map((Pa,rl)=>{Pa.key=Pa.id,Pa.title=Pa.name,Pa.disabled=Pa.is_published}),ro&&(_t([...ro==null?void 0:ro.course_groups]),wr(ro==null?void 0:ro.course_groups_count),ca(!1),va||Pn.setFieldsValue({publish_time:xs()(xs()(new Date).add(0,"days").format("YYYY-MM-DD HH:mm")),end_time:xs()(xs()(new Date((0,Vt.qd)("/"))).add(7,"days").format("YYYY-MM-DD HH:mm"))}))}),Uo=()=>Ul(void 0,null,function*(){var va;const ro=fl({},Pn.getFieldsValue());if(ro.end_time<=ro.publish_time){Rt.ZP.info("\u622A\u6B62\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u6216\u7B49\u4E8E\u53D1\u5E03\u65F6\u95F4"),Ca(!1);return}if((Ra==null?void 0:Ra.length)<=0&&!Si&&mn.length>0){Rt.ZP.info("\u53D1\u5E03\u73ED\u7EA7\u4E0D\u80FD\u4E3A\u7A7A"),Ca(!1);return}let Pa={ids:[...Oe.actionTabs.selectArrs],group_ids:Ra.length>0?Ra.map(xl=>xl.id):(va=Oe.detailShixunsList)==null?void 0:va.course_groups,end_time:xs()(ro.end_time).format("YYYY-MM-DD HH:mm"),publish_time:xs()(ro.publish_time).format("YYYY-MM-DD HH:mm"),unified_setting:!Ra.length,subject_id:jt.pathId};Ca(!0),(yield(0,Ot.ZP)("/api/subject_knowledge/batch_publish.json",{method:"post",body:fl({},Pa)})).status===0?(Fe({type:"classroomList/setActionTabs",payload:{}}),Fe({type:"pathsDetail/setActionTabs",payload:{key:"\u66F4\u65B0\u6570\u636E"}}),Ca(!1),Ua(),(0,Vt.L9)(["\u6559\u5B66\u8BFE\u5802","\u8BFE\u7A0B\u5B9E\u9A8C","\u7ACB\u5373\u53D1\u5E03"]),Rt.ZP.success("\u53D1\u5E03\u6210\u529F")):Ca(!1)}),Ua=()=>{Fr(1),_t([]),Ei([])},Oa=Kn>Tr*ra,{detailShixunsList:xo}=Oe,[di,Ca]=(0,se.useState)(!1);return zi.createElement(Bt.default,{width:600,centered:!0,confirmLoading:di,title:"\u53D1\u5E03\u8282\u70B9",open:Oe.actionTabs.key==="\u7ACB\u5373\u53D1\u5E03",okText:"\u786E\u8BA4\u53D1\u5E03",cancelText:"\u53D6\u6D88",className:yo.Z.modal,onOk:()=>Uo(),onCancel:()=>{Ua(),Fe({type:"classroomList/setActionTabs",payload:{}})}},zi.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",zi.createElement("br",null),"\u53D1\u5E03\u64CD\u4F5C\u4EC5\u9488\u5BF9\u672A\u53D1\u5E03\u8D44\u6E90\u7684\u5206\u73ED\u751F\u6548"),zi.createElement(Xe.default,{form:Pn},zi.createElement("div",{style:{paddingLeft:0}},zi.createElement(Lr.Z,{className:"mt30",align:"middle"},zi.createElement(Aa.Z,null,zi.createElement(Xe.default.Item,{name:"publish_time",label:"\u53D1\u5E03\u65F6\u95F4"},zi.createElement(Os.default,{style:{width:170,marginRight:"25px"},disabledDate:va=>(0,Ho.Q8)(va,Me),disabledTime:va=>(0,Ho.d0)(va),placeholder:"\u8BF7\u9009\u62E9\u53D1\u5E03\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:xs()((0,Vt.U6)(),"HH:mm")},format:"YYYY-MM-DD HH:mm",allowClear:!1}))),zi.createElement(Aa.Z,{className:"ml20"},zi.createElement(Xe.default.Item,{name:"end_time",label:"\u622A\u6B62\u65F6\u95F4:"},zi.createElement(Os.default,{style:{width:170},placeholder:"\u8BF7\u9009\u62E9\u622A\u6B62\u65F6\u95F4",showTime:{format:"HH:mm",defaultValue:xs()((0,Vt.U6)(),"HH:mm")},disabledDate:va=>(0,Ho.Q8)(va,Me,Pn.getFieldValue("publish_time")),disabledTime:va=>(0,Ho.d0)(va,Pn.getFieldValue("publish_time")),format:"YYYY-MM-DD HH:mm",allowClear:!1})))),Oe.actionTabs.type===2&&zi.createElement(Lr.Z,{style:{marginBottom:"10px"}},zi.createElement("span",{className:"mr5"},"\u53D1\u5E03\u8BBE\u7F6E:"),zi.createElement(_e.ZP.Group,{value:Si,onChange:va=>{ba(va.target.value),Ei([])}},zi.createElement(_e.ZP,{value:!0,disabled:!Oe.actionTabs.manage_all_group},"\u7EDF\u4E00\u53D1\u5E03"),zi.createElement(_e.ZP,{className:"ml20",disabled:mn.length<=0,value:!1},"\u5206\u73ED\u53D1\u5E03"))),mn.length<=0&&Oe.actionTabs.type===2&&zi.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"')),(Oe.actionTabs.type===1||!Si)&&mn.length>0&&zi.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"10px"}},zi.createElement("span",{style:{flex:1}},zi.createElement(Us.default,{checked:Ra.length===mn.length,onChange:va=>{Ra.length===mn.length?Ei([]):Ei(mn)}},"\u5168\u9009")),zi.createElement("span",{style:{width:16}}),zi.createElement("span",{style:{flex:1}},"\u5DF2\u9009\u62E9",Ra.length||0,"\u4E2A\u5206\u73ED")),(Oe.actionTabs.type===1||!Si)&&mn.length>0&&zi.createElement(Al.Z,{data:mn,selectedRowKeys:Ra,setSelectedRowKeys:Ei})))};var ao=(0,je.connect)(({classroomList:Oe})=>({classroomList:Oe}))(Ko),Wa=he(59301),Dl=Object.defineProperty,lu=Object.defineProperties,mc=Object.getOwnPropertyDescriptors,Ro=Object.getOwnPropertySymbols,jl=Object.prototype.hasOwnProperty,Ml=Object.prototype.propertyIsEnumerable,mu=(Oe,Fe,Me)=>Fe in Oe?Dl(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Co=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))jl.call(Fe,Me)&&mu(Oe,Me,Fe[Me]);if(Ro)for(var Me of Ro(Fe))Ml.call(Fe,Me)&&mu(Oe,Me,Fe[Me]);return Oe},Go=(Oe,Fe)=>lu(Oe,mc(Fe)),ou=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Mc=[{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"}],Ai=({pathsDetail:Oe,setselectitems:Fe,publishshow:Me,node:jt,index:Pn,onExpandClick:Tr,onClickDetails:Fr,selectitems:mn})=>{var _t,Kn,wr;const[ra,qi]=(0,se.useState)(!1),aa=(0,se.useRef)(null),{name:ca,complete_rate:Ra,node_type:Ei,resource_info:Si,grasp_rate:ba,has_children:Sa,children:Uo,expand:Ua,key:Oa,is_publish:xo,status:di,id:Ca,url:va}=jt||{};(0,se.useEffect)(()=>{var ko;ro();const Gr=(ko=aa.current)==null?void 0:ko.parentElement;if(!Gr)return;const so=new ResizeObserver(()=>{ro()});return so.observe(Gr),()=>{so.disconnect()}},[Ua]);const ro=()=>{if(!aa.current)return;const ko=aa.current,Gr=ko.parentElement,so=ko.previousElementSibling,Ti=Gr==null?void 0:Gr.firstElementChild;if(Gr&&so&&Ti){const oa=so.getBoundingClientRect().height,Ea=Gr.getBoundingClientRect().height,Yo=Ti.getBoundingClientRect().height,Eo=oa/2,Ss=Ea-(Yo+oa)/2;ko.style.bottom=`${Eo}px`,ko.style.height=`${Ss}px`}},Pa=(_t=Number(Ra))==null?void 0:_t.toFixed(0),rl=Pa==="100",xl=rl?Ei==="\u5B9E\u8BAD"?"\u5DF2\u901A\u5173":"\u5DF2\u5B8C\u6210":`${Pa}%`,Xo=Si==null?void 0:Si.reduce((ko,Gr)=>ko+Gr.value,0),_l={\u5B9E\u8BAD:nr,\u8BD5\u5377:Oi,\u8BFE\u4EF6:Do,\u89C6\u9891:cr},ts=()=>{Tr(Oa)};return Wa.createElement("div",{className:Oo.treeNode,"data-index":Pn},Wa.createElement("div",{className:Oo.node,style:rl?{background:"#EDF7EE"}:{}},!xo&&!((Kn=Oe==null?void 0:Oe.detail)!=null&&Kn.can_managed)&&Wa.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"}},Wa.createElement("div",null,Wa.createElement("i",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"28rem"}}),Wa.createElement("div",{style:{color:"#fff",fontSize:"12rem"}},"\u8D44\u6E90\u6682\u672A\u53D1\u5E03"))),Wa.createElement("div",{className:Oo.statusbutton,style:{background:(wr=Mc.find(ko=>ko.name===di))==null?void 0:wr.color}},di),Me&&Wa.createElement(Us.default,{checked:mn==null?void 0:mn.map(ko=>ko.id).includes(Ca),onChange:()=>{if(mn!=null&&mn.map(ko=>ko.id).includes(Ca))Fe(mn.filter(ko=>ko.id!==Ca));else{let ko=[...mn];ko.push(jt),Fe(ko)}},className:Oo.checkbox}),Wa.createElement(Lr.Z,{style:{padding:Sa?"initial":"3rem 0"}},Wa.createElement(Sn.Z,{title:"\u5B8C\u6210\u7387"},Wa.createElement("div",{style:{flexShrink:0,marginLeft:"24rem",marginTop:"17rem"}},Wa.createElement(fn.Z,{strokeColor:"#60C059",percentage:Ra,startAngle:270,trackColor:"#E3E8EF",text:xl,textSize:"12rem",textColor:"#60C059",outerDiameter:"62rem",innerDiameter:"46rem",textPadding:"3rem",hoverEffect:!1}))),Wa.createElement("div",{className:Oo.info},Wa.createElement(Lr.Z,{align:"middle"},Wa.createElement(Sn.Z,{title:Ei},Wa.createElement("img",{src:_l[Ei]||tl,style:{marginRight:"10rem",width:"16rem"}})),Wa.createElement(Sn.Z,{title:ca},Wa.createElement("b",{onClick:()=>{Fr(jt)},className:"c-grey-333 current",style:{fontSize:"16rem"}},(0,Vt.Pq)(ca,19)))),Wa.createElement(Lr.Z,{align:"middle",style:{marginTop:"5rem",marginLeft:"26rem",marginBottom:Sa?"0":"30rem"}},Wa.createElement(Lr.Z,{align:"middle"},Wa.createElement(Sn.Z,{title:"\u638C\u63E1\u7387"},Wa.createElement("img",{src:ka,style:{marginRight:"4rem",width:"16rem"}})),Wa.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},ba,"%")),Wa.createElement(Lr.Z,{align:"middle",style:{marginLeft:"55rem"}},Wa.createElement(Sn.Z,{title:"\u5B8C\u6210\u7387"},Wa.createElement("img",{src:Vi,style:{marginRight:"4rem",width:"16rem"}})),Wa.createElement("span",{style:{color:"#1B8565",fontSize:"14rem"}},Ra,"%"))),Sa&&Wa.createElement(Lr.Z,{className:Oo.resource},Wa.createElement("span",{style:{color:"#666",fontSize:"14rem"}},"\u8D44\u6E90\u6570\uFF1A",Xo),Wa.createElement("div",{onClick:()=>qi(!ra),className:Oo.action},ra?Wa.createElement(Wa.Fragment,null,"\u6536\u8D77",Wa.createElement("i",{className:"iconfont icon-xialajiantou1",style:{transform:"scale(0.6)"}})):Wa.createElement(Wa.Fragment,null,"\u5C55\u5F00",Wa.createElement("i",{className:"iconfont icon-xialajiantoubeifen",style:{transform:"scale(0.6)"}})))))),ra&&Wa.createElement("div",{className:Oo.tags},Si==null?void 0:Si.map((ko,Gr)=>Wa.createElement(Sn.Z,{title:ko.name},Wa.createElement("div",{className:Oo.tag,key:Gr},(0,Vt.Pq)(ko.name,5),"\uFF1A",ko.value)))),Pn.length>1&&Wa.createElement("div",{className:Oo.leftLine}),Ua&&Wa.createElement("div",{className:Oo.rightLine}),Sa&&Wa.createElement("img",{onClick:ts,className:Oo.icon,src:Ua?Nl:No})),Uo&&Uo.length>0&&Ua&&Wa.createElement("div",{className:Oo.nodeWrap},Uo.map((ko,Gr)=>Wa.createElement(Ai,{key:ko.key,onExpandClick:Tr,onClickDetails:Fr,publishshow:Me,setselectitems:Fe,pathsDetail:Oe,selectitems:mn,node:ko,index:Pn+"-"+(Gr+1)})),Uo.length>1&&Wa.createElement("div",{ref:aa,className:Oo.line})))},tu=({data:Oe,onExpandClick:Fe,selectitems:Me,onClickDetails:jt,pathsDetail:Pn,setselectitems:Tr,publishshow:Fr})=>Wa.createElement("div",{className:Oo.treeNode},Wa.createElement("div",{className:Oo.nodeWrap},Oe.map((mn,_t)=>Wa.createElement(Ai,{key:mn.key,onExpandClick:Fe,onClickDetails:jt,pathsDetail:Pn,publishshow:Fr,selectitems:Me,setselectitems:Tr,node:mn,index:String(_t+1)}))));var nc=({visible:Oe,onCancel:Fe,subjectId:Me,onClickDetails:jt,pathsDetail:Pn,dispatch:Tr})=>{var Fr;const[mn,_t]=(0,se.useState)([]),[Kn,wr]=(0,se.useState)(!0),[ra,qi]=(0,se.useState)("\u5168\u90E8"),[aa,ca]=(0,se.useState)([]),[Ra]=(0,je.useSearchParams)(),[Ei,Si]=(0,se.useState)(!1),[ba,Sa]=(0,se.useState)([]);(0,se.useEffect)(()=>{Ua()},[ra]),(0,se.useEffect)(()=>{Pn.actionTabs.key==="\u66F4\u65B0\u6570\u636E"&&(Tr({type:"pathsDetail/setActionTabs",payload:{key:""}}),Ua())},[Pn.actionTabs.key]);const Uo=(va,ro)=>ou(void 0,null,function*(){const Pa=yield(0,Ot.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:va,subject_id:Me,node_type:ra}});if((Pa==null?void 0:Pa.status)===0)return ro&&ca((Pa==null?void 0:Pa.node_types)||[]),(Pa==null?void 0:Pa.data)||[];wr(!1)}),Ua=()=>ou(void 0,null,function*(){wr(!0);const va=yield Uo(Oe,!0);_t(va),wr(!1)}),Oa=(va,ro,Pa)=>ou(void 0,null,function*(){return yield Promise.all(va.map(xl=>ou(void 0,null,function*(){return xl.key===ro?yield Pa(xl):xl.children&&xl.children.length>0?Go(Co({},xl),{children:yield Oa(xl.children,ro,Pa)}):xl})))}),xo=va=>ou(void 0,null,function*(){wr(!0);const ro=yield Oa(mn,va,Pa=>ou(void 0,null,function*(){var rl,xl;const Xo=Go(Co({},Pa),{expand:!(Pa!=null&&Pa.expand)});return!(Pa!=null&&Pa.expand)&&!((rl=Pa==null?void 0:Pa.children)!=null&&rl.length)&&(Xo.children=yield Uo(va),((xl=Xo.children)==null?void 0:xl.length)===0&&(Xo.has_children=!1,Xo.expand=!1)),Xo}));_t(ro),wr(!1)}),di=va=>ou(void 0,null,function*(){wr(!0),yield jt(va,!1),wr(!1)});return Wa.createElement("div",{className:Oo.tree},Wa.createElement("div",{className:Oo.center},Wa.createElement("div",{className:Oo.head},Wa.createElement("div",{className:Oo.del},Wa.createElement("i",{onClick:Fe,className:"iconfont icon-shanchuhuanjing"}),Wa.createElement("b",null))),Wa.createElement("div",{className:Oo.body},Kn&&Wa.createElement("div",{className:Oo.loading},Wa.createElement(wt.Z,{spinning:!0})),Wa.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},Wa.createElement("div",{className:Oo.tabs,style:{flex:1}},aa==null?void 0:aa.map(va=>Wa.createElement("div",{onClick:()=>qi(va.node_type),className:va.node_type===ra?Oo.active:void 0,key:va.node_type},va.node_type,"\uFF08",va.count,"\uFF09"))),Ra.get("type")==="classrooms"&&((Fr=Pn==null?void 0:Pn.detail)==null?void 0:Fr.can_managed)&&Wa.createElement("div",null,Ei&&Wa.createElement(Us.default,{style:{color:"#fff"},checked:(ba==null?void 0:ba.length)===(mn==null?void 0:mn.length),onChange:()=>{if((ba==null?void 0:ba.length)===(mn==null?void 0:mn.length))Sa([]);else{Si(!0);let va=[...mn];Sa(va)}}},(ba==null?void 0:ba.length)===(mn==null?void 0:mn.length)?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009","\uFF08\u5F53\u524D\u9009\u4E2D",ba==null?void 0:ba.length,"\uFF09"),Ei&&Wa.createElement(Dt.ZP,{style:{marginRight:"20rem",borderRadius:"24rem"},onClick:()=>Si(!1)},"\u53D6\u6D88"),Wa.createElement(Dt.ZP,{type:"primary",onClick:()=>ou(void 0,null,function*(){if(Ei)Tr({type:"classroomList/setActionTabs",payload:{key:"\u7ACB\u5373\u53D1\u5E03",selectArrs:ba==null?void 0:ba.map(va=>va.id)}});else{Si(!0);let va=[...mn];Sa(va)}}),style:{borderRadius:"24rem"}},Ei?"\u6279\u91CF\u53D1\u5E03":"\u53D1\u5E03\u8282\u70B9"))),Wa.createElement("div",{className:Oo.scrollBox},Wa.createElement("div",{className:hr()(Oo.treeWarp,!0&&Oo.allTreeNode)},Wa.createElement(tu,{pathsDetail:Pn,selectitems:ba,setselectitems:Sa,publishshow:Ei,data:mn,onClickDetails:di,onExpandClick:xo}))))),Wa.createElement(ao,null))},Tu=he(32558),$i=he(71362),ol=he(36466),Po={ItemDom:"ItemDom___Xq2Xn",Arrow:"Arrow___Ulbfi",Title:"Title___RNBAc",Node:"Node___XTXfD",Direction:"Direction___QoIf0",UP:"UP___SeZ0o",DOWN:"DOWN___F5Bx1",ItemDom100:"ItemDom100___n_HZz",ItemDom79:"ItemDom79___o5fGp",ItemDom59:"ItemDom59___JfdjC",waveDom:"waveDom___Wc261",wave:"wave___hTeV6",waveDom100:"waveDom100___HxeAE",waveDom79:"waveDom79___BryDl",waveDom59:"waveDom59___Nw1Dv",ArrowLeft:"ArrowLeft___hSXT2",ArrowRight:"ArrowRight___v1_qH",ArrowDownLeft:"ArrowDownLeft___HwtjS",ArrowDownRight:"ArrowDownRight___r0H2C",ArrowDisable:"ArrowDisable___U1ckU",HeightItem:"HeightItem___x_c8h",NodeUp:"NodeUp___e6Mr3",NodeShowDirection:"NodeShowDirection___Zuy0X"},ds=Object.defineProperty,Zl=Object.getOwnPropertySymbols,uu=Object.prototype.hasOwnProperty,Ys=Object.prototype.propertyIsEnumerable,hl=(Oe,Fe,Me)=>Fe in Oe?ds(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Rl=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))uu.call(Fe,Me)&&hl(Oe,Me,Fe[Me]);if(Zl)for(var Me of Zl(Fe))Ys.call(Fe,Me)&&hl(Oe,Me,Fe[Me]);return Oe};const Yl=Oe=>React.createElement("svg",Rl({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Oe),React.createElement("title",null,"\u8BFE\u4EF6"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M50 41h115v115H50z"}),React.createElement("path",{d:"M100 0c55.228 0 100 44.772 100 100l-.044 2.944c-1.63 54.616-46.794 97.813-101.428 97.009C43.893 199.148.02 154.64 0 100l.044-2.944C1.637 42.998 45.92 0 100 0ZM67.367 50.011a8.889 8.889 0 0 0-8.911 8.845l-.045 81.677a8.89 8.89 0 0 0 8.922 8.834h64.878a8.934 8.934 0 0 0 8.978-8.834V76.511l-26.911-26.489-46.911-.01Zm55.889 72.856v8.289H76.333v-8.29h46.923Zm0-17.111v8.288H76.333v-8.288h46.923Zm-19.334-17.112v8.29H76.344v-8.278h27.578v-.012Zm7.19-33.088 22.221 22.222h-22.222V55.556Z",fill:"#44D7B6",fillRule:"nonzero"})));var Au="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01MCA0MWgxMTV2MTE1SDUweiIvPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMjggMCAxMDAgNDQuNzcyIDEwMCAxMDBsLS4wNDQgMi45NDRjLTEuNjMgNTQuNjE2LTQ2Ljc5NCA5Ny44MTMtMTAxLjQyOCA5Ny4wMDlDNDMuODkzIDE5OS4xNDguMDIgMTU0LjY0IDAgMTAwbC4wNDQtMi45NDRDMS42MzcgNDIuOTk4IDQ1LjkyIDAgMTAwIDBaTTY3LjM2NyA1MC4wMTFhOC44ODkgOC44ODkgMCAwIDAtOC45MTEgOC44NDVsLS4wNDUgODEuNjc3YTguODkgOC44OSAwIDAgMCA4LjkyMiA4LjgzNGg2NC44NzhhOC45MzQgOC45MzQgMCAwIDAgOC45NzgtOC44MzRWNzYuNTExbC0yNi45MTEtMjYuNDg5LTQ2LjkxMS0uMDFabTU1Ljg4OSA3Mi44NTZ2OC4yODlINzYuMzMzdi04LjI5aDQ2LjkyM1ptMC0xNy4xMTF2OC4yODhINzYuMzMzdi04LjI4OGg0Ni45MjNabS0xOS4zMzQtMTcuMTEydjguMjlINzYuMzQ0di04LjI3OGgyNy41Nzh2LS4wMTJabTcuMTktMzMuMDg4IDIyLjIyMSAyMi4yMjJoLTIyLjIyMlY1NS41NTZaIiBmaWxsPSIjNDREN0I2IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",nu=Object.defineProperty,xc=Object.getOwnPropertySymbols,Kc=Object.prototype.hasOwnProperty,Dc=Object.prototype.propertyIsEnumerable,Jl=(Oe,Fe,Me)=>Fe in Oe?nu(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Io=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Kc.call(Fe,Me)&&Jl(Oe,Me,Fe[Me]);if(xc)for(var Me of xc(Fe))Dc.call(Fe,Me)&&Jl(Oe,Me,Fe[Me]);return Oe};const fs=Oe=>React.createElement("svg",Io({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Oe),React.createElement("title",null,"\u4EFB\u52A1\u5173\u5361"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("circle",{fill:"#FFF",cx:100,cy:100,r:82}),React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0ZM84.63 43.55l-2.5.09-.78.09a7.96 7.96 0 0 0-6.12 5.4l-.25.8-13.01 53.12-9 35.92c-.45 1.83.45 3.71 2.07 4.35 1.63.65 3.43-.17 4.15-1.87l.19-.55 9.72-38.81.82-.05a55.82 55.82 0 0 1 18.85 1.62c4.42 1.2 7.67 3.2 12.17 7.13l3.78 3.4c5.96 5.36 10.18 8.03 16.53 9.65 7.66 1.93 13.44 1.58 17.34-1l.42-.3 13.84-56.38c-5.1 1.18-10.35 1.3-15.47.34l-1.93-.4-1.92-.51c-4.02-1.15-7.2-3.03-11.44-6.43l-4.84-4.04c-5.83-4.9-10.03-7.52-15.85-9.24a56.04 56.04 0 0 0-16.77-2.33Z",fill:"#39B97E",fillRule:"nonzero"})));var Gu="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxjaXJjbGUgZmlsbD0iI0ZGRiIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODIiLz48cGF0aCBkPSJNMTAwIDBjNTUuMjMgMCAxMDAgNDQuNzcgMTAwIDEwMHMtNDQuNzcgMTAwLTEwMCAxMDBTMCAxNTUuMjMgMCAxMDAgNDQuNzcgMCAxMDAgMFpNODQuNjMgNDMuNTVsLTIuNS4wOS0uNzguMDlhNy45NiA3Ljk2IDAgMCAwLTYuMTIgNS40bC0uMjUuOC0xMy4wMSA1My4xMi05IDM1LjkyYy0uNDUgMS44My40NSAzLjcxIDIuMDcgNC4zNSAxLjYzLjY1IDMuNDMtLjE3IDQuMTUtMS44N2wuMTktLjU1IDkuNzItMzguODEuODItLjA1YTU1LjgyIDU1LjgyIDAgMCAxIDE4Ljg1IDEuNjJjNC40MiAxLjIgNy42NyAzLjIgMTIuMTcgNy4xM2wzLjc4IDMuNGM1Ljk2IDUuMzYgMTAuMTggOC4wMyAxNi41MyA5LjY1IDcuNjYgMS45MyAxMy40NCAxLjU4IDE3LjM0LTFsLjQyLS4zIDEzLjg0LTU2LjM4Yy01LjEgMS4xOC0xMC4zNSAxLjMtMTUuNDcuMzRsLTEuOTMtLjQtMS45Mi0uNTFjLTQuMDItMS4xNS03LjItMy4wMy0xMS40NC02LjQzbC00Ljg0LTQuMDRjLTUuODMtNC45LTEwLjAzLTcuNTItMTUuODUtOS4yNGE1Ni4wNCA1Ni4wNCAwIDAgMC0xNi43Ny0yLjMzWiIgZmlsbD0iIzM5Qjk3RSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjwvc3ZnPg==",cl=Object.defineProperty,Iu=Object.getOwnPropertySymbols,Mi=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,yl=(Oe,Fe,Me)=>Fe in Oe?cl(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Sl=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Mi.call(Fe,Me)&&yl(Oe,Me,Fe[Me]);if(Iu)for(var Me of Iu(Fe))Ha.call(Fe,Me)&&yl(Oe,Me,Fe[Me]);return Oe};const ru=Oe=>React.createElement("svg",Sl({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Oe),React.createElement("title",null,"\u89C6\u9891"),React.createElement("g",{fill:"none",fillRule:"evenodd"},React.createElement("path",{fill:"#FFF",d:"M59 45h98v106H59z"}),React.createElement("path",{d:"M99.733.1c-35.6 0-68.493 18.996-86.292 49.827a99.644 99.644 0 0 0 86.303 149.462c55.03-.003 99.64-44.614 99.64-99.645 0-55.03-44.61-99.642-99.64-99.644h-.01Zm44.111 105.822a12.401 12.401 0 0 1-4.588 4.6h-.056l-47.433 27.39A12.444 12.444 0 0 1 73.1 127.132v-54.8a12.445 12.445 0 0 1 18.667-10.777L139.2 88.933c5.989 3.411 8.044 11 4.633 17l.011-.01Z",fill:"#6236FF",fillRule:"nonzero"})));var Re="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01OSA0NWg5OHYxMDZINTl6Ii8+PHBhdGggZD0iTTk5LjczMy4xYy0zNS42IDAtNjguNDkzIDE4Ljk5Ni04Ni4yOTIgNDkuODI3YTk5LjY0NCA5OS42NDQgMCAwIDAgODYuMzAzIDE0OS40NjJjNTUuMDMtLjAwMyA5OS42NC00NC42MTQgOTkuNjQtOTkuNjQ1IDAtNTUuMDMtNDQuNjEtOTkuNjQyLTk5LjY0LTk5LjY0NGgtLjAxWm00NC4xMTEgMTA1LjgyMmExMi40MDEgMTIuNDAxIDAgMCAxLTQuNTg4IDQuNmgtLjA1NmwtNDcuNDMzIDI3LjM5QTEyLjQ0NCAxMi40NDQgMCAwIDEgNzMuMSAxMjcuMTMydi01NC44YTEyLjQ0NSAxMi40NDUgMCAwIDEgMTguNjY3LTEwLjc3N0wxMzkuMiA4OC45MzNjNS45ODkgMy40MTEgOC4wNDQgMTEgNC42MzMgMTdsLjAxMS0uMDFaIiBmaWxsPSIjNjIzNkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+",$e=Object.defineProperty,nt=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable,Br=(Oe,Fe,Me)=>Fe in Oe?$e(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Cr=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Yt.call(Fe,Me)&&Br(Oe,Me,Fe[Me]);if(nt)for(var Me of nt(Fe))nn.call(Fe,Me)&&Br(Oe,Me,Fe[Me]);return Oe};const yi=Oe=>React.createElement("svg",Cr({className:"cs_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200},Oe),React.createElement("path",{d:"M0 512a512 512 0 1 0 1024 0A512 512 0 1 0 0 512Z",fill:"#ECAD19"}),React.createElement("path",{d:"M710.554 256c27.648 0 50.739 21.248 54.118 48.64l.41 5.888v21.811a19.712 19.712 0 0 1-15.77 19.354l-3.942.41h-66.56a1.536 1.536 0 0 0-1.332.921l-.204.614v326.759c0 27.033-20.736 49.357-47.258 52.48a27.443 27.443 0 0 1-5.12.512h-314.88c-27.648 0-50.74-20.787-53.709-48.077l-.307-5.94v-19.2c0-11.11 8.192-20.53 18.79-22.527l4.096-.359h43.623a1.536 1.536 0 0 0 1.382-.921l.154-.615V310.016c0-27.648 20.838-50.74 48.128-53.709l5.837-.307h332.492zm-160 412.467H293.376a6.554 6.554 0 0 0-6.4 4.455l-.358 2.304v4.147c0 11.11 8.192 20.48 18.79 22.528l4.045.358h243.66c1.025 0 1.537-1.024 1.537-1.536a90.266 90.266 0 0 1-2.56-20.326c-.717-7.936-1.23-11.93-1.588-11.93zM578.56 532.48h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6v-30.72zm0-87.04h-153.6v30.72h153.6V358.4zm130.97-71.22h-11.981a22.63 22.63 0 0 0-20.275 22.836v9.37c0 1.024 1.024 1.536 1.536 1.536h47.82c3.636 0 6.759-2.56 6.759-6.759l-1.024-4.096a23.04 23.04 0 0 0-22.835-22.886z",fill:"#FFF"}));var gi="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTAgNTEyYTUxMiA1MTIgMCAxIDAgMTAyNCAwQTUxMiA1MTIgMCAxIDAgMCA1MTJaIiBmaWxsPSIjRUNBRDE5Ii8+PHBhdGggZD0iTTcxMC41NTQgMjU2YzI3LjY0OCAwIDUwLjczOSAyMS4yNDggNTQuMTE4IDQ4LjY0bC40MSA1Ljg4OHYyMS44MTFhMTkuNzEyIDE5LjcxMiAwIDAgMS0xNS43NyAxOS4zNTRsLTMuOTQyLjQxaC02Ni41NmExLjUzNiAxLjUzNiAwIDAgMC0xLjMzMi45MjFsLS4yMDQuNjE0djMyNi43NTljMCAyNy4wMzMtMjAuNzM2IDQ5LjM1Ny00Ny4yNTggNTIuNDhhMjcuNDQzIDI3LjQ0MyAwIDAgMS01LjEyLjUxMmgtMzE0Ljg4Yy0yNy42NDggMC01MC43NC0yMC43ODctNTMuNzA5LTQ4LjA3N2wtLjMwNy01Ljk0di0xOS4yYzAtMTEuMTEgOC4xOTItMjAuNTMgMTguNzktMjIuNTI3bDQuMDk2LS4zNTloNDMuNjIzYTEuNTM2IDEuNTM2IDAgMCAwIDEuMzgyLS45MjFsLjE1NC0uNjE1VjMxMC4wMTZjMC0yNy42NDggMjAuODM4LTUwLjc0IDQ4LjEyOC01My43MDlsNS44MzctLjMwN2gzMzIuNDkyem0tMTYwIDQxMi40NjdIMjkzLjM3NmE2LjU1NCA2LjU1NCAwIDAgMC02LjQgNC40NTVsLS4zNTggMi4zMDR2NC4xNDdjMCAxMS4xMSA4LjE5MiAyMC40OCAxOC43OSAyMi41MjhsNC4wNDUuMzU4aDI0My42NmMxLjAyNSAwIDEuNTM3LTEuMDI0IDEuNTM3LTEuNTM2YTkwLjI2NiA5MC4yNjYgMCAwIDEtMi41Ni0yMC4zMjZjLS43MTctNy45MzYtMS4yMy0xMS45My0xLjU4OC0xMS45M3pNNTc4LjU2IDUzMi40OGgtMTUzLjZ2MzAuNzJoMTUzLjZ2LTMwLjcyem0wLTg3LjA0aC0xNTMuNnYzMC43MmgxNTMuNnYtMzAuNzJ6bTAtODcuMDRoLTE1My42djMwLjcyaDE1My42VjM1OC40em0xMzAuOTctNzEuMjJoLTExLjk4MWEyMi42MyAyMi42MyAwIDAgMC0yMC4yNzUgMjIuODM2djkuMzdjMCAxLjAyNCAxLjAyNCAxLjUzNiAxLjUzNiAxLjUzNmg0Ny44MmMzLjYzNiAwIDYuNzU5LTIuNTYgNi43NTktNi43NTlsLTEuMDI0LTQuMDk2YTIzLjA0IDIzLjA0IDAgMCAwLTIyLjgzNS0yMi44ODZ6IiBmaWxsPSIjRkZGIi8+PC9zdmc+",Hi=Object.defineProperty,Xa=Object.getOwnPropertySymbols,Ji=Object.prototype.hasOwnProperty,ea=Object.prototype.propertyIsEnumerable,fa=(Oe,Fe,Me)=>Fe in Oe?Hi(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Ba=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Ji.call(Fe,Me)&&fa(Oe,Me,Fe[Me]);if(Xa)for(var Me of Xa(Fe))ea.call(Fe,Me)&&fa(Oe,Me,Fe[Me]);return Oe};const jr=Oe=>React.createElement("svg",Ba({width:200,height:200,xmlns:"http://www.w3.org/2000/svg"},Oe),React.createElement("title",null,"\u4F5C\u4E1A"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M100 0c55.23 0 100 44.77 100 100s-44.77 100-100 100S0 155.23 0 100 44.77 0 100 0Z",fill:"#2544AA"}),React.createElement("path",{d:"M107.5 50H65c-8.284 0-15 6.716-15 15v70c0 8.284 6.716 15 15 15h42.5c8.284 0 15-6.716 15-15V65c0-8.284-6.716-15-15-15Zm-44 54h38a3.5 3.5 0 1 1 0 7h-38a3.5 3.5 0 1 1 0-7ZM60 90.5a3.5 3.5 0 0 1 3.5-3.5H94a3.5 3.5 0 0 1 0 7H63.5a3.5 3.5 0 0 1-3.5-3.5ZM84 128H63.5a3.5 3.5 0 1 1 0-7H84a3.5 3.5 0 1 1 0 7Zm20 0h-4.5a3.5 3.5 0 1 1 0-7h4.5a3.5 3.5 0 1 1 0 7Zm5-51H63.5a3.5 3.5 0 0 1 0-7H109a3.5 3.5 0 1 1 0 7Zm26-27h10a5 5 0 0 1 5 5v15h-20V55a5 5 0 0 1 5-5Zm-5 87.28V77.5h20v59.78L140 150",fill:"#FFF"})));var Ci="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMDAgMGM1NS4yMyAwIDEwMCA0NC43NyAxMDAgMTAwcy00NC43NyAxMDAtMTAwIDEwMFMwIDE1NS4yMyAwIDEwMCA0NC43NyAwIDEwMCAwWiIgZmlsbD0iIzI1NDRBQSIvPjxwYXRoIGQ9Ik0xMDcuNSA1MEg2NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY3MGMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDQyLjVjOC4yODQgMCAxNS02LjcxNiAxNS0xNVY2NWMwLTguMjg0LTYuNzE2LTE1LTE1LTE1Wm0tNDQgNTRoMzhhMy41IDMuNSAwIDEgMSAwIDdoLTM4YTMuNSAzLjUgMCAxIDEgMC03Wk02MCA5MC41YTMuNSAzLjUgMCAwIDEgMy41LTMuNUg5NGEzLjUgMy41IDAgMCAxIDAgN0g2My41YTMuNSAzLjUgMCAwIDEtMy41LTMuNVpNODQgMTI4SDYzLjVhMy41IDMuNSAwIDEgMSAwLTdIODRhMy41IDMuNSAwIDEgMSAwIDdabTIwIDBoLTQuNWEzLjUgMy41IDAgMSAxIDAtN2g0LjVhMy41IDMuNSAwIDEgMSAwIDdabTUtNTFINjMuNWEzLjUgMy41IDAgMCAxIDAtN0gxMDlhMy41IDMuNSAwIDEgMSAwIDdabTI2LTI3aDEwYTUgNSAwIDAgMSA1IDV2MTVoLTIwVjU1YTUgNSAwIDAgMSA1LTVabS01IDg3LjI4Vjc3LjVoMjB2NTkuNzhMMTQwIDE1MCIgZmlsbD0iI0ZGRiIvPjwvZz48L3N2Zz4=",ns=({type:Oe})=>{const Fe=(0,se.useMemo)(()=>{switch(Oe){case"\u8BFE\u4EF6":return se.createElement("img",{src:Au,style:{width:"16rem",height:"16rem"}});case"\u5B9E\u8BAD":return se.createElement("img",{src:Gu,style:{width:"16rem",height:"16rem"}});case"\u89C6\u9891":return se.createElement("img",{src:Re,style:{width:"16rem",height:"16rem"}});case"\u8BD5\u5377":return se.createElement("img",{src:gi,style:{width:"16rem",height:"16rem"}});case"\u4F5C\u4E1A":return se.createElement("img",{src:Ci,style:{width:"16rem",height:"16rem"}});default:return""}},[Oe]);return se.createElement(se.Fragment,null,Fe)},wo="data:image/png;base64,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",rs="data:image/png;base64,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";const os=({className:Oe="",style:Fe={},direction:Me,DataProps:jt,pathsDetail:Pn,isOne:Tr,handleClickDetails:Fr})=>{const{detail:mn}=Pn,[_t]=(0,je.useSearchParams)(),Kn=(jt==null?void 0:jt.status)=="\u672A\u53D1\u5E03"&&_t.get("type")=="classrooms",wr=(0,se.useMemo)(()=>(jt==null?void 0:jt.grasp_rate)>=80&&(jt==null?void 0:jt.grasp_rate)<=100?Po.waveDom100:(jt==null?void 0:jt.grasp_rate)>=60&&(jt==null?void 0:jt.grasp_rate)<=79?Po.waveDom79:(jt==null?void 0:jt.grasp_rate)>0&&(jt==null?void 0:jt.grasp_rate)<=59?Po.waveDom59:"",[jt==null?void 0:jt.grasp_rate]);return se.createElement("div",{className:`flex flex-col item-center text-500 text-16px-rem relative current ${Po.Node} ${Oe}`,style:Fe,onClick:()=>{Kn&&!mn.can_managed||Fr(jt)}},se.createElement("img",{src:Me=="up"?wo:rs,className:`${Po.Direction} ${Me=="up"?Po.UP:Po.DOWN}`}),se.createElement("div",{className:"relative",style:{width:"30rem",height:"30rem"}},se.createElement(Sn.Z,{title:`${jt!=null&&jt.node_type?`${jt==null?void 0:jt.node_type}\uFF1A`:""}${jt==null?void 0:jt.name}`},se.createElement("div",{className:"flex item-center text-center gap-4px-rem absolute multi_ellipsis1 text-16px-rem",style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:"120rem"}},se.createElement(ns,{type:jt==null?void 0:jt.node_type})," ",jt==null?void 0:jt.name))),se.createElement("div",{className:`relative rounded-full flex item-center justify-center ${Po.waveDom} ${wr}`},Kn?se.createElement(Sn.Z,{title:"\u8D44\u6E90\u672A\u53D1\u5E03"},se.createElement("span",{className:"iconfont icon-suo1",style:{color:"#fff",fontSize:"14rem"}})):se.createElement("div",{className:`${Po.wave}`,style:{top:`calc(100% - ${(jt==null?void 0:jt.grasp_rate)||0}%)`}})),se.createElement("div",{className:`${Tr?Po.HeightItem:""}`,style:{height:"82rem"}}))},Vo=({DataProps:Oe={},className:Fe="",currentIndex:Me=1,pathsDetail:jt,handleClickDetails:Pn})=>{var Tr,Fr,mn;const _t=(0,se.useMemo)(()=>(Oe==null?void 0:Oe.grasp_rate)>=80&&(Oe==null?void 0:Oe.grasp_rate)<=100?Po.ItemDom100:(Oe==null?void 0:Oe.grasp_rate)>=60&&(Oe==null?void 0:Oe.grasp_rate)<=79?Po.ItemDom79:(Oe==null?void 0:Oe.grasp_rate)>0&&(Oe==null?void 0:Oe.grasp_rate)<=59?Po.ItemDom59:"",[Oe==null?void 0:Oe.grasp_rate]),Kn=(0,se.useRef)(null);return(0,se.useEffect)(()=>{if(Kn.current){const wr=Kn.current.offsetWidth,ra=Kn.current.children;if(wr<1200){for(const Ei of ra)Ei.classList.remove(Po.NodeShowDirection);return}let qi=wr;const aa=[];let ca=[];const Ra=55*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const Ei of ra)Ei.removeAttribute("style"),Ei.classList.remove(Po.NodeShowDirection),qi-((Ei==null?void 0:Ei.offsetWidth)+Ra)>0?(ca.push(Ei),qi-=(Ei==null?void 0:Ei.offsetWidth)+Ra):(qi=wr-(Ei==null?void 0:Ei.offsetWidth)-Ra,aa.push(ca),ca=[],ca.push(Ei));aa.push(ca),aa.forEach(Ei=>{Ei.forEach((Si,ba)=>{ba==(Ei==null?void 0:Ei.length)-1&&Si.classList.add(Po.NodeShowDirection)})})}},[Kn,Oe==null?void 0:Oe.children]),se.createElement("div",{id:"learning_path_chapter",className:`flex flex-col minW-0 rounded-10px-rem relative ${Po.ItemDom} ${_t} ${Fe}`},se.createElement("div",{className:`absolute ${Po.Arrow}`}),se.createElement("div",{className:`flex item-center gap-10px-rem rounded-10px-rem px-20px-rem py-6px-rem ${Po.Title}`},se.createElement(Sn.Z,{title:""},se.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 text-22px-rem text-500"},Oe==null?void 0:Oe.name)),se.createElement("div",{className:"text-14px-rem"},(Tr=Oe==null?void 0:Oe.children)==null?void 0:Tr.length,"\u4E2A\u8D44\u6E90")),((Fr=Oe==null?void 0:Oe.children)==null?void 0:Fr.length)>0?se.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center"},se.createElement("div",{ref:Kn,className:"w-full flex item-center justify-center flex-wrap",style:{gap:"20rem 55rem"}},(mn=Oe==null?void 0:Oe.children)==null?void 0:mn.map((wr,ra)=>{var qi,aa;return se.createElement(os,{key:ra,handleClickDetails:Pn,pathsDetail:jt,isOne:((qi=Oe==null?void 0:Oe.children)==null?void 0:qi.length)==1,DataProps:wr,direction:ra%2==0?"up":"down",className:ra%2==0&&((aa=Oe==null?void 0:Oe.children)==null?void 0:aa.length)!=1?Po.NodeUp:"flex-col"})}))):se.createElement("div",{className:"flex-1 minW-0 p-40px-rem px-64px-rem flex item-center justify-center flex-wrap"},se.createElement(_a.Z,{img:he(11051),styles:{margin:"auto"},imgStyles:{width:"200rem",height:"155rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8D44\u6E90"})))};var Xl=({pathsDetail:Oe,handleClickDetails:Fe,dataSource:Me})=>{const jt=(0,se.useRef)(null);return(0,se.useEffect)(()=>{if(jt.current){const Pn=jt.current.offsetWidth,Tr=document.querySelectorAll("#learning_path_chapter");let Fr=Pn;const mn=[];let _t=[];const Kn=90*parseFloat(getComputedStyle(document.documentElement).fontSize);for(const wr of Tr)if(wr.removeAttribute("style"),wr.classList.remove(Po.ArrowDisable,Po.ArrowDownLeft,Po.ArrowLeft,Po.ArrowDownRight,Po.ArrowRight),Fr-((wr==null?void 0:wr.offsetWidth)+Kn)>0)_t.push(wr),Fr-=(wr==null?void 0:wr.offsetWidth)+Kn;else{const ra=(Fr+Kn-10)/(_t==null?void 0:_t.length);_t.forEach(qi=>{qi.style.width=`${(qi.offsetWidth+ra)/Pn*100}%`}),Fr=Pn-(wr==null?void 0:wr.offsetWidth)-Kn,mn.push(_t),_t=[],_t.push(wr)}mn.push(_t),mn.forEach((wr,ra)=>{var qi;ra%2===1?[...wr||[]].reverse().forEach((ca,Ra)=>{ca.style.order=(ra+1)*10+Ra,Ra==0?(ca.style["margin-left"]="auto",ca.classList.add((mn==null?void 0:mn.length)-1==ra?Po.ArrowDisable:Po.ArrowDownLeft)):ca.classList.add(Po.ArrowLeft)}):wr.forEach((aa,ca)=>{aa.style.order=(ra+1)*10+ca,ca==(wr==null?void 0:wr.length)-1?aa.classList.add((mn==null?void 0:mn.length)-1==ra?Po.ArrowDisable:Po.ArrowDownRight):aa.classList.add(Po.ArrowRight)}),(wr==null?void 0:wr.length)==1&&(wr[0].style.width="100%"),((qi=wr==null?void 0:wr[0])==null?void 0:qi.offsetWidth)se.createElement(Vo,{key:Tr,handleClickDetails:Fe,pathsDetail:Oe,currentIndex:Tr+1,DataProps:Pn}))))},Qs=he(59401),ni=he(59301),Fl=Object.defineProperty,iu=Object.defineProperties,Ou=Object.getOwnPropertyDescriptors,bu=Object.getOwnPropertySymbols,Ll=Object.prototype.hasOwnProperty,Js=Object.prototype.propertyIsEnumerable,wl=(Oe,Fe,Me)=>Fe in Oe?Fl(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Vl=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Ll.call(Fe,Me)&&wl(Oe,Me,Fe[Me]);if(bu)for(var Me of bu(Fe))Js.call(Fe,Me)&&wl(Oe,Me,Fe[Me]);return Oe},Uu=(Oe,Fe)=>iu(Oe,Ou(Fe)),xu=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const cu=[3,2,1],pc=({xxljac:Oe,pathsDetail:Fe,dispatch:Me,setxxljac:jt})=>{var Pn,Tr,Fr,mn,_t,Kn,wr,ra,qi,aa,ca,Ra,Ei;const Si=(0,je.useParams)(),ba=(0,je.useSelector)(ws=>ws),{pathsDetail:{detail:Sa={},actionTabs:Uo}}=ba,[Ua,Oa]=(0,se.useState)(!1),[xo,di]=(0,se.useState)(!1),[Ca,va]=(0,se.useState)(""),[ro,Pa]=(0,se.useState)(!1),[rl,xl]=(0,se.useState)(!1),[Xo,_l]=(0,se.useState)(!1),[ts,ko]=(0,se.useState)(""),[Gr,so]=(0,se.useState)({}),[Ti,oa]=(0,se.useState)([]),[Ea,Yo]=(0,se.useState)([]),[Eo,Ss]=(0,se.useState)([]),[_s,il]=(0,se.useState)(!1),[Ks,Kl]=(0,se.useState)(1),[Hl,Hu]=(0,se.useState)({});let[Wc,Gs]=(0,se.useState)({});const kc=Sa==null?void 0:Sa.can_managed,[Lc]=(0,je.useSearchParams)(),[Cd,Bd]=(0,se.useState)(!1),mf=new URLSearchParams(window.location.search);mf.set("tabs","2");const md=(ws={})=>{Me({type:"pathsDetail/getKnowledgeGraphs",payload:Vl({graphable_type:Lc.get("type")==="classrooms"?"course":"subject",graphable_id:Si==null?void 0:Si.pathId},ws)})};function rf(){return xu(this,null,function*(){var ws;let Pc=[...(ws=Fe==null?void 0:Fe.detail)==null?void 0:ws.nodes];Ss(Pc==null?void 0:Pc.splice(1))})}(0,se.useEffect)(()=>{var ws;(ws=Fe==null?void 0:Fe.detail)!=null&&ws.nodes&&Ks===1&&(rf(),Kl(2))},[(Pn=Fe==null?void 0:Fe.detail)==null?void 0:Pn.nodes]),(0,se.useEffect)(()=>{var ws,Pc,Rf,Ah,ch,Td,yh,If,zd,Ef;let Cu=!1;((Pc=(ws=Fe==null?void 0:Fe.detail)==null?void 0:ws.route_nodes)==null?void 0:Pc.length)>0&&(Cu=!((Ah=(Rf=Fe==null?void 0:Fe.detail)==null?void 0:Rf.route_nodes)!=null&&Ah.some(Ud=>Ud==null?void 0:Ud.is_choice))),(yh=(Td=(ch=Fe==null?void 0:Fe.detail)==null?void 0:ch.route_nodes)==null?void 0:Td.find(Ud=>Ud==null?void 0:Ud.is_choice))!=null&&yh.id&&jt((Ef=(zd=(If=Fe==null?void 0:Fe.detail)==null?void 0:If.route_nodes)==null?void 0:zd.find(Ud=>Ud==null?void 0:Ud.is_choice))==null?void 0:Ef.id),!kc&&Cu&&(0,ol.bg)()&&Me({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})},[(Tr=Fe==null?void 0:Fe.detail)==null?void 0:Tr.route_nodes]),(0,se.useEffect)(()=>{Oe&&Gd(Oe)},[Oe]);const Gd=(ws=null)=>xu(void 0,null,function*(){Oa(!0);const Pc=yield(0,Ot.ZP)("/api/subject_knowledge.json",{method:"get",params:{id:ws,subject_id:Si==null?void 0:Si.pathId}});if((Pc==null?void 0:Pc.status)===0){so(Pc||{});const Rf=(Pc==null?void 0:Pc.parent_knowledges)||[];Yo(Rf)}Oa(!1)});(0,se.useEffect)(()=>{Gr!=null&&Gr.data&&oa((Gr==null?void 0:Gr.data)||[])},[Gr]);const Ad=()=>xu(void 0,null,function*(){if(!ts){Rt.ZP.warning("\u8BF7\u8F93\u5165\u6587\u672C");return}if(ts!=="\u786E\u8BA4\u5220\u9664"){Rt.ZP.warning("\u6587\u672C\u8F93\u5165\u6709\u8BEF");return}_l(!0);const ws=yield(0,Ot.ZP)("/api/subject_knowledge.json",{method:"delete",body:{id:Oe,subject_id:Si==null?void 0:Si.pathId}});(ws==null?void 0:ws.status)===0&&(Rt.ZP.success("\u5220\u9664\u6210\u529F"),Pa(!1),md({graphable_id:Si==null?void 0:Si.pathId})),_l(!1)}),uh=(...ws)=>xu(void 0,[...ws],function*(Pc={}){yield(0,Ot.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:Uu(Vl({},Pc),{subject_id:Si==null?void 0:Si.pathId})})}),af=(ws,Pc=!0)=>xu(void 0,null,function*(){var Rf,Ah,ch,Td,yh,If;if((ws==null?void 0:ws.container_type)==="Attachment"&&!((Rf=Fe==null?void 0:Fe.detail)!=null&&Rf.can_managed)){if((0,$i.fc)({id:ws==null?void 0:ws.container_id,watch_type:2,course_id:Si==null?void 0:Si.pathId}),ws!=null&&ws.is_link){uh({uuid:(ws==null?void 0:ws.knowledge_uuid)||(ws==null?void 0:ws.key)}),(0,Vt.xg)(ws==null?void 0:ws.url);return}Hu({url:Cn.Z.API_SERVER+(ws==null?void 0:ws.url),file_type:ws==null?void 0:ws.file_type});return}if(ws!=null&&ws.url){uh({uuid:(ws==null?void 0:ws.knowledge_uuid)||(ws==null?void 0:ws.key)}),window.open(ws==null?void 0:ws.url);return}Pc&&Oa(!0);let zd=yield(0,Ot.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:0,subject_id:Si==null?void 0:Si.pathId,nodeUuid:(ws==null?void 0:ws.knowledge_uuid)||(ws==null?void 0:ws.key)}});if((zd==null?void 0:zd.status)===0){if(((ch=(Ah=zd==null?void 0:zd.data)==null?void 0:Ah.nodes)==null?void 0:ch.length)>0){let Ef=(If=(yh=(Td=zd==null?void 0:zd.data)==null?void 0:Td.nodes)==null?void 0:yh.map(Cu=>{var Ud,e0,wp,Cp,Bp,dh,U0,p0,bs,Nu,ic,tc,Fu;const bh=(Ud=zd==null?void 0:zd.data)==null?void 0:Ud.resource_count;return Uu(Vl({},Cu==null?void 0:Cu.properties),{rootNodeUuid:(e0=Cu==null?void 0:Cu.properties)==null?void 0:e0.rootNodeUuid,id:(wp=Cu==null?void 0:Cu.properties)==null?void 0:wp.uuid,name:(Cp=Cu==null?void 0:Cu.properties)==null?void 0:Cp.name,description:(Bp=Cu==null?void 0:Cu.properties)==null?void 0:Bp.description,nodeType:(dh=Cu==null?void 0:Cu.properties)==null?void 0:dh.nodeType,tags:((U0=Cu==null?void 0:Cu.properties)==null?void 0:U0.tags)&&((Nu=(bs=(p0=Cu==null?void 0:Cu.properties)==null?void 0:p0.tags)==null?void 0:bs.split("\uFF0C"))==null?void 0:Nu.map(fh=>({name:fh})))||[],colorType:parseInt((ic=Cu==null?void 0:Cu.properties)==null?void 0:ic.color)>3?"3":(tc=Cu==null?void 0:Cu.properties)==null?void 0:tc.color,activeColor:"#FA6400",size:cu[((Fu=Cu==null?void 0:Cu.properties)==null?void 0:Fu.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0,currentResourceTotal:bh})}))==null?void 0:If[0];Ef.resourceid=ws==null?void 0:ws.id,Gs(Ef),il(!0)}Oa(!1)}}),xf=()=>ni.createElement("div",{className:Di.studentHead},ni.createElement("div",{className:"flex item-center w-full"},ni.createElement("div",{className:Di.headLi},ni.createElement("img",{src:ha}),ni.createElement("aside",null,ni.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),ni.createElement("b",null,Gr==null?void 0:Gr.resource_count))),ni.createElement("div",{className:Di.headLi},ni.createElement("img",{src:na}),ni.createElement("aside",null,ni.createElement("span",null,"\u5B66\u4E60\u5B8C\u6210\u7387"),ni.createElement("b",{style:{color:"#F7B500"}},Gr==null?void 0:Gr.complete_rate,"%"))),ni.createElement("div",{className:Di.headLi},ni.createElement("img",{src:Qa}),ni.createElement("aside",null,ni.createElement("span",null,"\u5B66\u4E60\u638C\u63E1\u7387"),ni.createElement("b",{style:{color:"#3AFFC8"}},Gr==null?void 0:Gr.grasp_rate,"%"))),ni.createElement("div",{className:Di.headLi},ni.createElement("img",{src:Ao}),ni.createElement("aside",null,ni.createElement("span",{style:{marginBottom:"10rem"}},"\u4E0A\u6B21\u5B66\u5230"),ni.createElement(Sn.Z,{title:Gr==null?void 0:Gr.last_knowledge_name},ni.createElement("b",{style:{color:"#7FAAFF",fontSize:"16rem"}},(0,Vt.Pq)(Gr==null?void 0:Gr.last_knowledge_name,13))))),ni.createElement("div",{onClick:()=>{Gr!=null&&Gr.last_knowledge_name&&af({knowledge_uuid:Gr==null?void 0:Gr.last_knowledge_uuid,id:Gr==null?void 0:Gr.last_knowledge_uuid})},className:Gr!=null&&Gr.last_knowledge_name?Di.btn:`${Di.btn} ${Di.disabledBtn}`},"\u7EE7\u7EED\u5B66\u4E60")));return ni.createElement(ni.Fragment,null,!((mn=(Fr=Fe==null?void 0:Fe.detail)==null?void 0:Fr.route_nodes)!=null&&mn.length)&&ni.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},ni.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},kc&&ni.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{va(null),di(!0)}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84")),ni.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4EC0\u4E48\uFF1F"),ni.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u5B66\u4E60\u8DEF\u5F84\u662F\u4E00\u6761\u57FA\u4E8E\u8BFE\u7A0B\u76EE\u6807\u5BFC\u822A\u8DEF\u7EBF\uFF0C\u901A\u8FC7\u89C4\u5212\u6700\u4F18\u5B66\u4E60\u987A\u5E8F\uFF0C\u53EF\u914D\u5408\u591A\u79CD\u7C7B\u8D44\u6E90\uFF08\u89C6\u9891\u3001\u8BFE\u4EF6\u3001\u4E60\u9898\u3001\u8BFE\u4EF6\u7B49\uFF09\uFF0C\u52A9\u529B\u5B66\u751F\u4EE5\u6700\u7701\u529B\u3001\u6700\u9AD8\u6548\u3001\u6700\u6E05\u6670\u7684\u65B9\u5F0F\u638C\u63E1\u8BFE\u7A0B\u6838\u5FC3\u77E5\u8BC6\u5185\u5BB9",ni.createElement("img",{className:"absolute",src:he(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),ni.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},ni.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ni.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u5B66\u4E60\u8DEF\u5F84\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),ni.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},ni.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:he(79989)}),ni.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:he(73486)}),[{title:"\u591A\u7EF4\u5B66\u4E60\u8DEF\u5F84",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u6761\u5B66\u4E60\u8DEF\u5F84\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u5B66\u4E60\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:he(49747)},{title:"\u8BFE\u5802\u5B66\u60C5\u7EDF\u8BA1",desc:Lc.get("type")=="classrooms"?"\u652F\u6301\u4ECE\u5B9E\u8DF5\u8BFE\u7A0B\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u5230\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1":"\u652F\u6301\u4E00\u952E\u5C06\u5B66\u4E60\u8DEF\u5F84\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\u4E2D\uFF0C\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u53EF\u4EE5\u5C06\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B9E\u8BAD\u3001\u4F5C\u4E1A\u3001\u8003\u8BD5\u3001\u89C6\u9891\u7B49\u8D44\u6E90\u53D1\u9001\u5230\u5404\u4E2A\u4EFB\u52A1\u6A21\u5757\uFF0C\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1\u3002",img:he(7875)},{title:"\u5B66\u60C5\u5206\u6790+\u5B66\u60C5\u9884\u8B66+\u8D44\u6E90\u63A8\u8350",desc:"\u652F\u6301\u6839\u636E\u5B66\u751F\u5728\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\uFF0C\u7ECF\u8FC7\u7CFB\u7EDF\u5B66\u60C5\u9884\u8B66\u60C5\u51B5\uFF0C\u4E3A\u5B66\u751F\u63A8\u8350\u4E0D\u540C\u7684\u5B66\u4E60\u8D44\u6E90\uFF0C\u5B9E\u73B0\u5343\u4EBA\u5343\u9762\u7684\u5B66\u4E60\u573A\u666F\u3002",img:he(14813)}].map((ws,Pc)=>ni.createElement("div",{key:Pc,className:`flex flex-col item-center ${Pc!=1?"pt-56px-rem":""}`},ni.createElement("img",{src:ws==null?void 0:ws.img,style:{width:"127rem",height:"119rem"}}),ni.createElement("div",{className:"px-20px-rem pb-20px-rem mt-10px-rem",style:{background:`url(${he(14760)}) 0 0 / 100% 100% no-repeat`}},ws==null?void 0:ws.title),ni.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),ni.createElement("div",{className:"px-20px-rem py-10px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"152rem"}},ws==null?void 0:ws.desc))))),ni.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},ni.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u6CE8\u610F\u4E8B\u9879 "),ni.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:ni.createElement("div",{className:"flex flex-col gap-4px-rem"},ni.createElement("div",{className:"text-16px-rem"},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84"),ni.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5B66\u4E60\u8DEF\u5F84\u57FA\u4E8E\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u3002",ni.createElement("br",null),ni.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u65F6\uFF0C\u540C\u6B65\u5EFA\u7ACB\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E\u77E5\u8BC6\u56FE\u8C31\u7684\u8282\u70B9\u6807\u7B7E\u548C\u8282\u70B9\u5173\u7CFB\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84")))},{desc:ni.createElement("div",{className:"flex flex-col gap-4px-rem"},ni.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210"),ni.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u9009\u62E9\u77E5\u8BC6\u56FE\u8C31\u540E\uFF0C\u7CFB\u7EDF\u4F1A\u6839\u636E",ni.createElement("span",{style:{color:"#FFE698"}},"\u77E5\u8BC6\u8282\u70B9\u7684\u524D\u5E8F/\u540E\u5E8F\u5173\u7CFB"),"\u81EA\u52A8\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:ni.createElement("div",{className:"flex flex-col gap-4px-rem"},ni.createElement("div",{className:"text-16px-rem"},"\u5B66\u4E60\u8DEF\u5F84\u8C03\u6574"),ni.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u5728\u751F\u6210\u7684\u5B66\u4E60\u8DEF\u5F84\u4E2D\uFF0C\u53EF\u4EE5\u70B9\u51FB",ni.createElement("span",{style:{color:"#FFE698"}},"\u201C\u79FB\u9664\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u548C",ni.createElement("span",{style:{color:"#FFE698"}},"\u201C\u52A0\u5165\u5B66\u4E60\u8DEF\u5F84\u201D"),"\u8C03\u6574\u8DEF\u5F84\u4E2D\u5B66\u4E60\u5185\u5BB9\uFF0C\u4E5F\u53EF\u4EE5",ni.createElement("span",{style:{color:"#FFE698"}},"\u62D6\u52A8\u5B66\u4E60\u8DEF\u5F84\u8282\u70B9"),"\u8C03\u6574\u5B66\u4E60\u987A\u5E8F\u3002"))}].map((ws,Pc)=>ni.createElement("div",{key:Pc,className:"py-20px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},ni.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Pc+1).toString().padStart(2,"0")),ni.createElement("div",{className:"flex-1 minW-0"},ws==null?void 0:ws.desc))))))),((Kn=(_t=Fe==null?void 0:Fe.detail)==null?void 0:_t.route_nodes)==null?void 0:Kn.length)&&ni.createElement(lo.Z,null,ni.createElement(ni.Fragment,null,ni.createElement("div",{className:Di.learning},ni.createElement(wt.Z,{spinning:Ua,size:"large",wrapperClassName:Di.spin,tip:"\u6570\u636E\u7EDF\u8BA1\u4E2D\uFF0C\u8BF7\u7A0D\u540E"},ni.createElement("div",{className:Di.body},kc?ni.createElement("div",{className:`${Di.head}`}," ",ni.createElement("div",{className:"w-full flex item-center justify-between"},ni.createElement("div",{className:Di.numerical},ni.createElement("div",null,ni.createElement("img",{src:ha}),ni.createElement("span",null,"\u8D44\u6E90\u603B\u6570"),ni.createElement("b",null,Gr==null?void 0:Gr.resource_count)),ni.createElement("div",null,ni.createElement("img",{src:na}),ni.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u5B8C\u6210\u7387"),ni.createElement("b",{style:{color:"#F7B500"}},Gr==null?void 0:Gr.complete_rate,"%")),ni.createElement("div",null,ni.createElement("img",{src:Qa}),ni.createElement("span",null,"\u5E73\u5747\u5B66\u4E60\u638C\u63E1\u7387"),ni.createElement("b",{style:{color:"#3AFFC8"}},Gr==null?void 0:Gr.grasp_rate,"%"))),ni.createElement("div",{className:Di.action},Lc.get("type")!=="classrooms"&&!(0,ol.JA)()&&ni.createElement("div",{onClick:()=>{Me({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"route"}}}})}},ni.createElement("span",null,ni.createElement("i",{className:"iconfont icon-guanlianketang"})),ni.createElement("span",null,"\u53D1\u9001\u81F3\u8BFE\u5802")),kc&&ni.createElement("div",{onClick:()=>{va(null),di(!0)}},ni.createElement("span",null,ni.createElement("i",{className:"iconfont icon-tianjia4"})),ni.createElement("span",null,"\u521B\u5EFA")),ni.createElement("div",{onClick:()=>{va(Oe),di(!0)}},ni.createElement("span",null,ni.createElement("i",{className:"iconfont icon-bianji13"})),ni.createElement("span",null,"\u7F16\u8F91")),ni.createElement("div",{onClick:()=>Pa(!0)},ni.createElement("span",null,ni.createElement("i",{className:"iconfont icon-shanchu17"})),ni.createElement("span",null,"\u5220\u9664"))))):xf(),ni.createElement("div",{className:"flex item-center gap-16px-rem px-40px-rem c-white py-20px-rem"},Lc.get("type")=="classrooms"&&kc&&ni.createElement("div",{className:`current flex item-center ${Di.PublishBut}`,onClick:()=>{Bd(!0)}},ni.createElement("span",{className:"iconfont icon-weifabu"}),"\u53D1\u5E03\u5B66\u4E60\u8D44\u6E90"),ni.createElement("div",{className:"flex item-center rounded-full",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},ni.createElement("div",{className:"c-grey-eee text-nowrap"},"\u5F53\u524D\u8DEF\u5F84"),ni.createElement(Sn.Z,{title:((ra=(wr=Sa==null?void 0:Sa.route_nodes)==null?void 0:wr.find(ws=>ws==null?void 0:ws.is_choice))==null?void 0:ra.name)||""},ni.createElement("div",{className:"multi_ellipsis1"},((aa=(qi=Sa==null?void 0:Sa.route_nodes)==null?void 0:qi.find(ws=>ws==null?void 0:ws.is_choice))==null?void 0:aa.name)||"")),ni.createElement("div",{className:`current flex item-center ${Di.ChangeBut}`,onClick:()=>{Me({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"}}})}},ni.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),!kc&&ni.createElement("div",{className:`text-nowrap rounded-full flex item-center h-full ${Di.SwitchStyle}`,style:{background:"#101C39",padding:"0 5rem 0 20rem",gap:"10rem",lineHeight:"40rem"}},"\u4EC5\u67E5\u770B\u672A\u638C\u63E1\u77E5\u8BC6\u70B9",ni.createElement(da.Z,{onChange:ws=>{oa(ws?(Rf=>Rf==null?void 0:Rf.filter(Ah=>(Ah==null?void 0:Ah.grasp_rate)!=100).map(Ah=>{var ch;return Uu(Vl({},Ah),{children:(ch=Ah==null?void 0:Ah.children)==null?void 0:ch.filter(Td=>(Td==null?void 0:Td.grasp_rate)!=100)})}))(Gr==null?void 0:Gr.data):(Gr==null?void 0:Gr.data)||[])},checkedChildren:"\u5F00\u542F",unCheckedChildren:"\u5173\u95ED"})),kc&&Lc.get("type")==="classrooms"&&ni.createElement(ni.Fragment,null,ni.createElement("div",{className:`current flex item-center ${Di.ChangeBut}`,onClick:()=>{var ws,Pc;je.history.push(`/knowledgegraph/${Si==null?void 0:Si.pathId}/statistics/learningpath/${(Pc=(ws=Sa==null?void 0:Sa.route_nodes)==null?void 0:ws.find(Rf=>Rf==null?void 0:Rf.is_choice))==null?void 0:Pc.id}?${mf}`)}}," \u6570\u636E\u7EDF\u8BA1 ")),ni.createElement("div",{className:"ml-auto flex item-center rounded-full text-nowrap",style:{background:"rgba(48,58,76,0.5)",padding:"10rem 20rem",gap:"8rem"}},ni.createElement("div",null,"\u638C\u63E1\u7387\uFF1A"),ni.createElement("div",{className:"rounded-full",style:{background:"#60C059",width:"16rem",height:"16rem"}}),ni.createElement("div",null,"100% ~ 80%"),ni.createElement("div",{className:"rounded-full",style:{background:"#FFB15F",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ni.createElement("div",null,"79% ~ 60%"),ni.createElement("div",{className:"rounded-full",style:{background:"#FF9090",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ni.createElement("div",null,"59% ~ 0%"),ni.createElement("div",{className:"rounded-full",style:{background:"#5E6A80",width:"16rem",height:"16rem",marginLeft:"30rem"}}),ni.createElement("div",null,"\u672A\u5B66\u4E60"))),(ca=Gr==null?void 0:Gr.data)!=null&&ca.length?ni.createElement(Xl,{pathsDetail:Fe,dataSource:Ti||[],handleClickDetails:af}):ni.createElement(_a.Z,{img:Da,className:"flex flex-col item-center justify-center",styles:{height:"80vh"},imgStyles:{width:"200rem"},customText:"\u6682\u65E0\u5B66\u4E60\u8DEF\u5F84\u6570\u636E"}))),rl&&ni.createElement(nc,{pathsDetail:Fe,subjectId:Si==null?void 0:Si.pathId,dispatch:Me,visible:rl,onCancel:()=>xl(!1),onClickDetails:af}),ni.createElement(Bt.default,{title:"\u786E\u8BA4\u5220\u9664\u63D0\u793A",open:ro,centered:!0,confirmLoading:Xo,okButtonProps:{danger:!0},width:"600rem",okText:"\u786E\u8BA4\u5220\u9664",onCancel:()=>Pa(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{ko("")},onOk:Ad},ni.createElement("div",{style:{background:"#fff",boxShadow:"0 3rem 4rem 0 #F3F3F3",borderRadius:"2rem",padding:"20rem"}},ni.createElement("div",{style:{fontSize:"16rem",color:"#000"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u300A",(Ra=Ea==null?void 0:Ea.find(ws=>ws.id===Oe))==null?void 0:Ra.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"),ni.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"),ni.createElement(vt.default,{size:"large",placeholder:"\u8BF7\u8F93\u5165\u201C\u786E\u8BA4\u5220\u9664\u201D\u6587\u672C",value:ts,onChange:ws=>ko(ws.target.value)})))))),xo&&ni.createElement(us,{onOk:()=>{md({graphable_id:Si==null?void 0:Si.pathId}),Gd(Oe)},setaddmodal:di,addmodal:xo,uuid:Ca}),ni.createElement(Hs.Z,{initdata:()=>{},uuid:"\u5B66\u4E60\u8DEF\u5F84",Tabsdatas:Eo,setshow:()=>{},getData:Gd,buildTree:()=>{},containerRef:()=>{},showdetail:_s,setshowdetail:il,items:Wc}),ni.createElement(Tu.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Hl==null?void 0:Hl.url,type:Hl==null?void 0:Hl.file_type,disabledDownload:!0,onClose:()=>Hu({})}),(Uo==null?void 0:Uo.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84"&&ni.createElement(Qs.E_,{type:"route",open:(Uo==null?void 0:Uo.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",currentSeleteData:(Ei=Sa==null?void 0:Sa.route_nodes)==null?void 0:Ei.find(ws=>ws.id===Oe),onFinish:()=>{md({graphable_id:Si==null?void 0:Si.pathId})}}),ni.createElement(no,{visible:Cd,setVisible:Bd,treeList:Gr==null?void 0:Gr.data,uuid:Oe,detail:Sa,onOk:ws=>{Bd(!1),Gd(ws)}}))};var Ac=(0,je.connect)(({pathsDetail:Oe,user:Fe})=>({pathsDetail:Oe,user:Fe}))(pc),ot=he(10249),ht={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"},Wt=he(88522),cn=he(38854),Nn=he(54580),Bn=he(1710),dr=he(95278),pr=he(59301),ar=Object.defineProperty,_r=Object.defineProperties,Wr=Object.getOwnPropertyDescriptors,Jr=Object.getOwnPropertySymbols,Qi=Object.prototype.hasOwnProperty,Xi=Object.prototype.propertyIsEnumerable,Wi=(Oe,Fe,Me)=>Fe in Oe?ar(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,pa=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Qi.call(Fe,Me)&&Wi(Oe,Me,Fe[Me]);if(Jr)for(var Me of Jr(Fe))Xi.call(Fe,Me)&&Wi(Oe,Me,Fe[Me]);return Oe},la=(Oe,Fe)=>_r(Oe,Wr(Fe)),Ta=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const hi=(Oe,Fe)=>{const Me=Oe.getParentData(Fe.id,"tree");return Me?Fe.style.x>Me.style.x?"right":"left":"center"},Ia=[3,2,1];let So=[{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 hs=(Oe,Fe)=>{const Me={};let jt=null;return Oe.forEach(Pn=>{Me[Pn.properties.uuid]=la(pa({},Pn),{id:Pn.properties.uuid,children:[]})}),Fe.forEach(Pn=>{const Tr=Me[Pn.startNodeUuid],Fr=Me[Pn.endNodeUuid];Tr&&(Tr.id=Tr.properties.uuid),Tr&&Fr&&Tr.children.push(Fr)}),Oe.forEach(Pn=>{!Fe.some(Fr=>Fr.endNodeUuid===Pn.properties.uuid)&&(jt=Me[Pn.properties.uuid])}),jt};var ms=(0,se.forwardRef)(({nodeUuid:Oe,subject_id:Fe,setshowdetail:Me,setitems:jt,setzoomsize:Pn},Tr)=>{const[Fr,mn]=(0,se.useState)(!1),_t=(0,se.useRef)(0),Kn=(0,se.useRef)(null),wr=(0,se.useRef)();(0,se.useEffect)(()=>{Ei()},[]);function ra(ba){wr.current.zoomBy(ba)}function qi(){setTimeout(()=>{var ba;Pn((((ba=wr==null?void 0:wr.current)==null?void 0:ba.getZoom())*100).toFixed(0))},300)}function aa(ba){var Sa;let Uo=wr.current.getElementDataByState("node","selected");(Uo==null?void 0:Uo.length)>0&&wr.current.setElementState((Sa=Uo==null?void 0:Uo[0])==null?void 0:Sa.id,[""]),wr.current.setElementState(ba,["selected"])}function ca(ba,Sa){try{const Uo={},Ua={};wr.current.getEdgeData().map(Oa=>{Uo[Oa.id]=ba==="Enter"?"inactive":"active"}),wr.current.getNodeData().map(Oa=>{ba==="Enter"?Ua[Oa.id]=Oa.colornodeType===Sa?"highlight":"inactive":Ua[Oa.id]="active"}),wr.current.setElementState(Uo),wr.current.setElementState(Ua)}catch(Uo){}}function Ra(ba,Sa){var Uo;(Uo=wr==null?void 0:wr.current)==null||Uo.fitView(ba,Sa)}(0,se.useImperativeHandle)(Tr,()=>({zoomBy:ra,getData:Ei,selectall:aa,onMouse:ca,fitView:Ra,getZooms:qi}));const Ei=()=>Ta(void 0,null,function*(){var ba,Sa,Uo,Ua,Oa,xo,di,Ca,va;mn(!0);let ro=yield(0,Ot.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Oe,subject_id:Fe,depth:-1,relationshipFilter:"\u5305\u542B>"}});mn(!1);let Pa=(Sa=(ba=ro==null?void 0:ro.data)==null?void 0:ba.nodes)==null?void 0:Sa.map(ts=>{var ko,Gr,so,Ti,oa,Ea,Yo,Eo,Ss,_s,il,Ks;return la(pa({},ts==null?void 0:ts.properties),{rootNodeUuid:(ko=ts==null?void 0:ts.properties)==null?void 0:ko.rootNodeUuid,id:(Gr=ts==null?void 0:ts.properties)==null?void 0:Gr.uuid,name:(so=ts==null?void 0:ts.properties)==null?void 0:so.name,description:(Ti=ts==null?void 0:ts.properties)==null?void 0:Ti.description,nodeType:(oa=ts==null?void 0:ts.properties)==null?void 0:oa.nodeType,tags:((Ea=ts==null?void 0:ts.properties)==null?void 0:Ea.tags)&&((Ss=(Eo=(Yo=ts==null?void 0:ts.properties)==null?void 0:Yo.tags)==null?void 0:Eo.split("\uFF0C"))==null?void 0:Ss.map(Kl=>({name:Kl})))||[],colorType:parseInt((_s=ts==null?void 0:ts.properties)==null?void 0:_s.color)>3?"3":(il=ts==null?void 0:ts.properties)==null?void 0:il.color,activeColor:"#FA6400",size:Ia[((Ks=ts==null?void 0:ts.properties)==null?void 0:Ks.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0})}),rl=hs((Ua=(Uo=ro==null?void 0:ro.data)==null?void 0:Uo.nodes)==null?void 0:Ua.map((ts,ko)=>{var Gr,so,Ti,oa,Ea;return la(pa({},ts),{key:ko,title:(Gr=ts==null?void 0:ts.properties)==null?void 0:Gr.name,newcolor:parseInt((so=ts==null?void 0:ts.properties)==null?void 0:so.color)===1?"#CC7CF5":((Ti=So==null?void 0:So.find(Yo=>{var Eo;return(Yo==null?void 0:Yo.name)===((Eo=ts==null?void 0:ts.properties)==null?void 0:Eo.nodeType)}))==null?void 0:Ti.color)||"#2D947C",colornodeType:parseInt((oa=ts==null?void 0:ts.properties)==null?void 0:oa.color)===1?"\u6839\u8282\u70B9":((Ea=So==null?void 0:So.find(Yo=>{var Eo;return(Yo==null?void 0:Yo.name)===((Eo=ts==null?void 0:ts.properties)==null?void 0:Eo.nodeType)}))==null?void 0:Ea.name)||"\u5176\u4ED6"})}),(xo=(Oa=ro==null?void 0:ro.data)==null?void 0:Oa.relationships)==null?void 0:xo.filter(ts=>ts.type==="\u5305\u542B"));wr!=null&&wr.current&&((di=wr==null?void 0:wr.current)==null||di.destroy());let xl=(0,dr.RN)(rl),Xo=(Ca=xl.nodes)==null?void 0:Ca.filter((ts,ko,Gr)=>ko===Gr.findIndex(so=>so.id===ts.id)),_l=(va=xl.edges)==null?void 0:va.filter((ts,ko,Gr)=>ko===Gr.findIndex(so=>so.source===ts.source&&so.target===ts.target));Si({nodes:Xo,edges:_l},Pa)}),Si=(ba,Sa)=>{var Uo,Ua;wr.current=null,wr.current=new dr.kJ({container:Kn.current,autoResize:!0,autoFit:{type:((Uo=ba==null?void 0:ba.nodes)==null?void 0:Uo.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((Ua=ba==null?void 0:ba.nodes)==null?void 0:Ua.length)>300),data:ba,node:{style:{labelText:Oa=>Oa.title,labelFill:"#ffffff",fill:Oa=>Oa.newcolor,labelBackground:!1,labelPlacement:function(Oa){const xo=hi(this,Oa);return xo==="center"?"right":xo},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:Oa=>(_t.current++,_t.current%2==0?"left":"right")},behaviors:["drag-element",{type:"zoom-canvas",onFinish:()=>{setTimeout(()=>{var Oa;Pn((((Oa=wr==null?void 0:wr.current)==null?void 0:Oa.getZoom())*100).toFixed(0))},300)}},"collapse-expand","drag-canvas",{type:"click-select",state:"selected",onClick:Oa=>{let xo=Sa.filter(di=>{var Ca,va;return(di==null?void 0:di.id)===((va=(Ca=Oa.target)==null?void 0:Ca.config)==null?void 0:va.id)});if((xo==null?void 0:xo.length)===0){Me(!1);return}jt(xo==null?void 0:xo[0]),Me(!0),Oa.view.setCursor("pointer")},multiple:!1}]}),wr.current.render(),setTimeout(()=>{var Oa;Pn((((Oa=wr==null?void 0:wr.current)==null?void 0:Oa.getZoom())*100).toFixed(0))},300)};return pr.createElement("div",{style:{height:"100%"}},pr.createElement(wt.Z,{spinning:Fr,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),pr.createElement("div",{style:{height:"100%"},ref:Kn}))});function nl(Oe,Fe){var Me=Oe==null?null:typeof Symbol!="undefined"&&Oe[Symbol.iterator]||Oe["@@iterator"];if(Me!=null){var jt,Pn,Tr,Fr,mn=[],_t=!0,Kn=!1;try{if(Tr=(Me=Me.call(Oe)).next,Fe===0){if(Object(Me)!==Me)return;_t=!1}else for(;!(_t=(jt=Tr.call(Me)).done)&&(mn.push(jt.value),mn.length!==Fe);_t=!0);}catch(wr){Kn=!0,Pn=wr}finally{try{if(!_t&&Me.return!=null&&(Fr=Me.return(),Object(Fr)!==Fr))return}finally{if(Kn)throw Pn}}return mn}}function ho(Oe,Fe,Me){return Fe=Be(Fe),Fe in Oe?Object.defineProperty(Oe,Fe,{value:Me,enumerable:!0,configurable:!0,writable:!0}):Oe[Fe]=Me,Oe}function is(Oe,Fe){return Ya(Oe)||nl(Oe,Fe)||bl(Oe,Fe)||pe()}function po(Oe){return wa(Oe)||Ds(Oe)||bl(Oe)||$r()}function wa(Oe){if(Array.isArray(Oe))return jn(Oe)}function Ya(Oe){if(Array.isArray(Oe))return Oe}function Ds(Oe){if(typeof Symbol!="undefined"&&Oe[Symbol.iterator]!=null||Oe["@@iterator"]!=null)return Array.from(Oe)}function bl(Oe,Fe){if(Oe){if(typeof Oe=="string")return jn(Oe,Fe);var Me=Object.prototype.toString.call(Oe).slice(8,-1);if(Me==="Object"&&Oe.constructor&&(Me=Oe.constructor.name),Me==="Map"||Me==="Set")return Array.from(Oe);if(Me==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Me))return jn(Oe,Fe)}}function jn(Oe,Fe){(Fe==null||Fe>Oe.length)&&(Fe=Oe.length);for(var Me=0,jt=new Array(Fe);MeOe.length)&&(Fe=Oe.length);for(var Me=0,jt=Array(Fe);Me1&&arguments[1]!==void 0?arguments[1]:{},Me=Fe.wrapperElementType,jt=Me===void 0?"div":Me,Pn=Fe.nodeMapper,Tr=Pn===void 0?function(wr){return wr}:Pn,Fr=Fe.methodNames,mn=Fr===void 0?[]:Fr,_t=Fe.initPropNames,Kn=_t===void 0?[]:_t;return(0,se.forwardRef)(function(wr,ra){var qi=(0,se.useRef)(),aa=(0,se.useMemo)(function(){var Ei=Object.fromEntries(Kn.filter(function(Si){return wr.hasOwnProperty(Si)}).map(function(Si){return[Si,wr[Si]]}));return Oe(Ei)},[]);Dn(function(){aa(Tr(qi.current))},se.useLayoutEffect),Dn(function(){return aa._destructor instanceof Function?aa._destructor:void 0});var ca=(0,se.useCallback)(function(Ei){for(var Si=arguments.length,ba=new Array(Si>1?Si-1:0),Sa=1;Sa1&&arguments[1]!==void 0?arguments[1]:se.useEffect,Me=(0,se.useRef)(),jt=(0,se.useRef)(!1),Pn=(0,se.useRef)(!1),Tr=(0,se.useState)(0),Fr=rn(Tr,2);Fr[0];var mn=Fr[1];jt.current&&(Pn.current=!0),Fe(function(){return jt.current||(Me.current=Oe(),jt.current=!0),mn(function(_t){return _t+1}),function(){Pn.current&&Me.current&&Me.current()}},[])}var En=he(42034),Et=he(12708);const Kr={width:Et.number,height:Et.number,graphData:Et.shape({nodes:Et.arrayOf(Et.object).isRequired,links:Et.arrayOf(Et.object).isRequired}),backgroundColor:Et.string,nodeRelSize:Et.number,nodeId:Et.string,nodeLabel:Et.oneOfType([Et.string,Et.func]),nodeVal:Et.oneOfType([Et.number,Et.string,Et.func]),nodeVisibility:Et.oneOfType([Et.bool,Et.string,Et.func]),nodeColor:Et.oneOfType([Et.string,Et.func]),nodeAutoColorBy:Et.oneOfType([Et.string,Et.func]),onNodeHover:Et.func,onNodeClick:Et.func,linkSource:Et.string,linkTarget:Et.string,linkLabel:Et.oneOfType([Et.string,Et.func]),linkVisibility:Et.oneOfType([Et.bool,Et.string,Et.func]),linkColor:Et.oneOfType([Et.string,Et.func]),linkAutoColorBy:Et.oneOfType([Et.string,Et.func]),linkWidth:Et.oneOfType([Et.number,Et.string,Et.func]),linkCurvature:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalArrowLength:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalArrowColor:Et.oneOfType([Et.string,Et.func]),linkDirectionalArrowRelPos:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalParticles:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalParticleSpeed:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalParticleOffset:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalParticleWidth:Et.oneOfType([Et.number,Et.string,Et.func]),linkDirectionalParticleColor:Et.oneOfType([Et.string,Et.func]),onLinkHover:Et.func,onLinkClick:Et.func,dagMode:Et.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:Et.number,dagNodeFilter:Et.func,onDagError:Et.func,d3AlphaMin:Et.number,d3AlphaDecay:Et.number,d3VelocityDecay:Et.number,warmupTicks:Et.number,cooldownTicks:Et.number,cooldownTime:Et.number,onEngineTick:Et.func,onEngineStop:Et.func,getGraphBbox:Et.func},Pi={zoomToFit:Et.func,onNodeRightClick:Et.func,onNodeDrag:Et.func,onNodeDragEnd:Et.func,onLinkRightClick:Et.func,linkHoverPrecision:Et.number,onBackgroundClick:Et.func,onBackgroundRightClick:Et.func,showPointerCursor:Et.oneOfType([Et.bool,Et.func]),enablePointerInteraction:Et.bool,enableNodeDrag:Et.bool},ja={showNavInfo:Et.bool,nodeOpacity:Et.number,nodeResolution:Et.number,nodeThreeObject:Et.oneOfType([Et.object,Et.string,Et.func]),nodeThreeObjectExtend:Et.oneOfType([Et.bool,Et.string,Et.func]),nodePositionUpdate:Et.func,linkOpacity:Et.number,linkResolution:Et.number,linkCurveRotation:Et.oneOfType([Et.number,Et.string,Et.func]),linkMaterial:Et.oneOfType([Et.object,Et.string,Et.func]),linkThreeObject:Et.oneOfType([Et.object,Et.string,Et.func]),linkThreeObjectExtend:Et.oneOfType([Et.bool,Et.string,Et.func]),linkPositionUpdate:Et.func,linkDirectionalArrowResolution:Et.number,linkDirectionalParticleResolution:Et.number,linkDirectionalParticleThreeObject:Et.oneOfType([Et.object,Et.string,Et.func]),forceEngine:Et.oneOf(["d3","ngraph"]),ngraphPhysics:Et.object,numDimensions:Et.oneOf([1,2,3])};Object.assign({},Kr,Pi,{linkLineDash:Et.oneOfType([Et.arrayOf(Et.number),Et.string,Et.func]),nodeCanvasObjectMode:Et.oneOfType([Et.string,Et.func]),nodeCanvasObject:Et.func,nodePointerAreaPaint:Et.func,linkCanvasObjectMode:Et.oneOfType([Et.string,Et.func]),linkCanvasObject:Et.func,linkPointerAreaPaint:Et.func,linkDirectionalParticleCanvasObject:Et.func,autoPauseRedraw:Et.bool,minZoom:Et.number,maxZoom:Et.number,enableZoomInteraction:Et.oneOfType([Et.bool,Et.func]),enablePanInteraction:Et.oneOfType([Et.bool,Et.func]),onZoom:Et.func,onZoomEnd:Et.func,onRenderFramePre:Et.func,onRenderFramePost:Et.func});const wi=Object.assign({},Kr,Pi,ja,{enableNavigationControls:Et.bool,controlType:Et.oneOf(["trackball","orbit","fly"]),rendererConfig:Et.object,extraRenderers:Et.arrayOf(Et.shape({render:Et.func.isRequired}))});Object.assign({},Kr,ja,{nodeDesc:Et.oneOfType([Et.string,Et.func]),linkDesc:Et.oneOfType([Et.string,Et.func])}),Object.assign({},Kr,ja,{markerAttrs:Et.object,yOffset:Et.number,glScale:Et.number});const Ka=vn(En.Z,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","lights","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});Ka.displayName="ForceGraph3D",Ka.propTypes=wi;var vo=he(21668),mo=he(61147),ii=he(33662),Ki=he(14301),Mo=he(7695),fr=he(85320),tr=he(50277);function Fi(Oe){return Oe.x+Oe.vx}function _i(Oe){return Oe.y+Oe.vy}function La(Oe){return Oe.z+Oe.vz}function ki(Oe){var Fe,Me,jt,Pn,Tr=1,Fr=1;typeof Oe!="function"&&(Oe=(0,fr.Z)(Oe==null?1:+Oe));function mn(){for(var wr,ra=Fe.length,qi,aa,ca,Ra,Ei,Si,ba,Sa=0;Sa1&&(Ra=aa.y+aa.vy),Me>2&&(Ei=aa.z+aa.vz),qi.visit(Uo);function Uo(Ua,Oa,xo,di,Ca,va,ro){var Pa=[Oa,xo,di,Ca,va,ro],rl=Pa[0],xl=Pa[1],Xo=Pa[2],_l=Pa[Me],ts=Pa[Me+1],ko=Pa[Me+2],Gr=Ua.data,so=Ua.r,Ti=Si+so;if(Gr){if(Gr.index>aa.index){var oa=ca-Gr.x-Gr.vx,Ea=Me>1?Ra-Gr.y-Gr.vy:0,Yo=Me>2?Ei-Gr.z-Gr.vz:0,Eo=oa*oa+Ea*Ea+Yo*Yo;Eo1&&Ea===0&&(Ea=(0,tr.Z)(Pn),Eo+=Ea*Ea),Me>2&&Yo===0&&(Yo=(0,tr.Z)(Pn),Eo+=Yo*Yo),Eo=(Ti-(Eo=Math.sqrt(Eo)))/Eo*Tr,aa.vx+=(oa*=Eo)*(Ti=(so*=so)/(ba+so)),Me>1&&(aa.vy+=(Ea*=Eo)*Ti),Me>2&&(aa.vz+=(Yo*=Eo)*Ti),Gr.vx-=oa*(Ti=1-Ti),Me>1&&(Gr.vy-=Ea*Ti),Me>2&&(Gr.vz-=Yo*Ti))}return}return rl>ca+Ti||_l1&&(xl>Ra+Ti||ts2&&(Xo>Ei+Ti||kowr.r&&(wr.r=wr[ra].r)}function Kn(){if(Fe){var wr,ra=Fe.length,qi;for(jt=new Array(ra),wr=0;wrtypeof qi=="function")||Math.random,Me=ra.find(qi=>[1,2,3].includes(qi))||2,Kn()},mn.iterations=function(wr){return arguments.length?(Fr=+wr,mn):Fr},mn.strength=function(wr){return arguments.length?(Tr=+wr,mn):Tr},mn.radius=function(wr){return arguments.length?(Oe=typeof wr=="function"?wr:(0,fr.Z)(+wr),Kn(),mn):Oe},mn}var ma=he(76633),To=he(38192),go=he(51910),ia=he(78267),As=he(59301),Ws=Object.defineProperty,Vu=Object.defineProperties,du=Object.getOwnPropertyDescriptors,Yu=Object.getOwnPropertySymbols,sc=Object.prototype.hasOwnProperty,_u=Object.prototype.propertyIsEnumerable,dc=(Oe,Fe,Me)=>Fe in Oe?Ws(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Nc=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))sc.call(Fe,Me)&&dc(Oe,Me,Fe[Me]);if(Yu)for(var Me of Yu(Fe))_u.call(Fe,Me)&&dc(Oe,Me,Fe[Me]);return Oe},gd=(Oe,Fe)=>Vu(Oe,du(Fe)),Ic=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const fd=new go.u9r,yd=new Float32Array([0,.5,0,-.5,-.5,0,.5,-.5,0]);fd.setAttribute("position",new go.TlE(yd,3));const hc=new go.vBJ({color:"#FF4500",side:go.ehD,transparent:!0,opacity:.8}),Eu=new Map,rc=Oe=>(Eu.has(Oe)||Eu.set(Oe,new go.xoR({transparent:!1,color:Oe})),Eu.get(Oe)),Gc=(Oe,Fe)=>{const Me=Oe.getParentData(Fe.id,"tree");return Me?Fe.style.x>Me.style.x?"right":"left":"center"},lc=[20,15,10],zc=[{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"}],Uc=(Oe,Fe)=>{const Me={};let jt=null;return Oe.forEach(Pn=>{Me[Pn.properties.uuid]=gd(Nc({},Pn),{id:Pn.properties.uuid,children:[]})}),Fe.forEach(Pn=>{const Tr=Me[Pn.startNodeUuid],Fr=Me[Pn.endNodeUuid];Tr&&(Tr.id=Tr.properties.uuid),Tr&&Fr&&Tr.children.push(Fr)}),Oe.forEach(Pn=>{!Fe.some(Fr=>Fr.endNodeUuid===Pn.properties.uuid)&&(jt=Me[Pn.properties.uuid])}),jt};var Nd=(0,se.forwardRef)(({nodeUuid:Oe,subject_id:Fe,setshowdetail:Me,setitems:jt,setzoomsize:Pn},Tr)=>{var Fr;const[mn,_t]=(0,se.useState)(!1),[Kn,wr]=(0,se.useState)({nodes:[],links:[]}),ra=(0,se.useRef)(),qi=(0,se.useRef)(1),aa=(0,se.useRef)(null),ca=(0,se.useRef)(null),Ra=50,Ei=2e3,[Si,ba]=(0,se.useState)(null),[Sa,Uo]=(0,se.useState)(""),[Ua,Oa]=(0,se.useState)(null),xo=(0,se.useRef)(new Map);(0,se.useEffect)(()=>{di()},[]);const di=()=>Ic(void 0,null,function*(){var Gr,so,Ti,oa,Ea,Yo,Eo,Ss;_t(!0);let _s=yield(0,Ot.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Oe,subject_id:Fe,depth:-1,relationshipFilter:"\u5305\u542B>"}});_t(!1);let il=(so=(Gr=_s==null?void 0:_s.data)==null?void 0:Gr.nodes)==null?void 0:so.map(Gs=>{var kc,Lc,Cd,Bd,mf,md,rf,Gd,Ad,uh;return gd(Nc({},Gs==null?void 0:Gs.properties),{id:(kc=Gs==null?void 0:Gs.properties)==null?void 0:kc.uuid,name:(Lc=Gs==null?void 0:Gs.properties)==null?void 0:Lc.name,description:(Cd=Gs==null?void 0:Gs.properties)==null?void 0:Cd.description,nodeType:(Bd=Gs==null?void 0:Gs.properties)==null?void 0:Bd.nodeType,tags:((rf=(md=(mf=Gs==null?void 0:Gs.properties)==null?void 0:mf.tags)==null?void 0:md.split("\uFF0C"))==null?void 0:rf.map(af=>({name:af})))||[],colorType:parseInt((Gd=Gs==null?void 0:Gs.properties)==null?void 0:Gd.color)>3?"3":(Ad=Gs==null?void 0:Gs.properties)==null?void 0:Ad.color,activeColor:"#FA6400",size:lc[((uh=Gs==null?void 0:Gs.properties)==null?void 0:uh.color)-1]||20,shape:"circle",hide:!1,isExtendedState:!0})}),Ks=Uc((oa=(Ti=_s==null?void 0:_s.data)==null?void 0:Ti.nodes)==null?void 0:oa.map((Gs,kc)=>{var Lc,Cd,Bd,mf,md,rf,Gd,Ad,uh;const af=parseInt((Lc=Gs==null?void 0:Gs.properties)==null?void 0:Lc.color)===1?"#CC7CF5":((Cd=zc.find(xf=>{var ws;return(xf==null?void 0:xf.name)===((ws=Gs==null?void 0:Gs.properties)==null?void 0:ws.nodeType)}))==null?void 0:Cd.color)||"#2D947C";return gd(Nc({},Gs),{key:kc,title:(Bd=Gs==null?void 0:Gs.properties)==null?void 0:Bd.name,newcolor:af,nodeColor:af,color:af,colornodeType:parseInt((mf=Gs==null?void 0:Gs.properties)==null?void 0:mf.color)===1?"\u6839\u8282\u70B9":((md=zc.find(xf=>{var ws;return(xf==null?void 0:xf.name)===((ws=Gs==null?void 0:Gs.properties)==null?void 0:ws.nodeType)}))==null?void 0:md.name)||"\u5176\u4ED6",val:lc[((rf=Gs==null?void 0:Gs.properties)==null?void 0:rf.color)-1]||10,nodeVal:lc[((Gd=Gs==null?void 0:Gs.properties)==null?void 0:Gd.color)-1]||10,name:(Ad=Gs==null?void 0:Gs.properties)==null?void 0:Ad.name,nodeLabel:(uh=Gs==null?void 0:Gs.properties)==null?void 0:uh.name})}),(Yo=(Ea=_s==null?void 0:_s.data)==null?void 0:Ea.relationships)==null?void 0:Yo.filter(Gs=>Gs.type==="\u5305\u542B")),Kl=(0,dr.RN)(Ks),Hl=(Eo=Kl.nodes)==null?void 0:Eo.filter((Gs,kc,Lc)=>kc===Lc.findIndex(Cd=>Cd.id===Gs.id)),Hu=(Ss=Kl.edges)==null?void 0:Ss.filter((Gs,kc,Lc)=>kc===Lc.findIndex(Cd=>Cd.source===Gs.source&&Cd.target===Gs.target));wr({nodes:Hl,links:Hu})}),Ca=(Gr,so)=>{const Ti=new Map([[Gr,!0]]),oa=Yo=>{so.forEach(Eo=>{Eo.source.id===Yo&&!Ti.has(Eo.target.id)&&(Ti.set(Eo.target.id,!0),oa(Eo.target.id))})},Ea=Yo=>{so.forEach(Eo=>{Eo.target.id===Yo&&!Ti.has(Eo.source.id)&&(Ti.set(Eo.source.id,!0),Ea(Eo.source.id))})};return oa(Gr),Ea(Gr),Ti};(0,se.useEffect)(()=>{Ua?xo.current=Ca(Ua.id,Kn.links):xo.current=new Map},[Ua,Kn.links]);const va=()=>vo.Z().force("charge",mo.Z().strength(-50)).force("collision",ki().radius(Gr=>(Gr.val||20)*1.2)).force("link",ma.Z().id(Gr=>Gr.id).distance(80)).force("center",To.Z()).numDimensions(3).tick(100),ro=Gr=>Ua?xo.current.has(Gr.id):!0,Pa=Gr=>Ua?xo.current.has(Gr.source.id)&&xo.current.has(Gr.target.id):!0;(0,se.useEffect)(()=>()=>{ca.current&&cancelAnimationFrame(ca.current)},[]);const rl=()=>{if(!aa.current||!ra.current)return;const Gr=ra.current,so=Gr.cameraPosition(),Ti={x:0,y:0,z:0},oa=.1,Ea={x:so.x+(aa.current.x-so.x)*oa,y:so.y+(aa.current.y-so.y)*oa,z:so.z+(aa.current.z-so.z)*oa};Gr.cameraPosition(Ea,Ti,0),Math.hypot(Ea.x-aa.current.x,Ea.y-aa.current.y,Ea.z-aa.current.z)>5?ca.current=requestAnimationFrame(rl):(ca.current=null,aa.current=null)};(0,se.useImperativeHandle)(Tr,()=>({handleZoom:_l,getData:di,selectall:xl,settype:Xo}));const xl=Gr=>{ba(Gr)},Xo=Gr=>{Uo(Gr)},_l=Gr=>{ca.current&&(cancelAnimationFrame(ca.current),ca.current=null);const so=ra.current;if(!so)return;const Ti=so.cameraPosition(),oa={x:0,y:0,z:0},Ea={x:Ti.x-oa.x,y:Ti.y-oa.y,z:Ti.z-oa.z},Yo=Math.hypot(Ea.x,Ea.y,Ea.z);let Ss=Yo*(Gr==="in"?.8:1.2);if(Ss=Math.max(Ra,Math.min(Ei,Ss)),Yo>0){const _s=Ss/Yo;aa.current={x:oa.x+Ea.x*_s,y:oa.y+Ea.y*_s,z:oa.z+Ea.z*_s},qi.current=1e3/Ss,rl()}},ts=(0,ia.debounce)(Gr=>{Oa(Gr)},100),ko=Gr=>{console.log("---",Gr),ba(Gr.id),jt(Gr),Me(!0)};return As.createElement("div",{style:{height:"calc(100vh - 0px)",overflow:"hidden"}},((Fr=Kn==null?void 0:Kn.nodes)==null?void 0:Fr.length)>0&&As.createElement(Ka,{graphData:Kn,ref:ra,enableNodeDrag:!1,backgroundColor:"rgb(1, 10, 35)",linkColor:Gr=>Pa(Gr)?"#ccc":"rgba(0,0,0,0)",linkWidth:Gr=>(Pa(Gr),1),linkDirectionalArrowLength:Ua?6:0,nodeRelSize:8,linkDirectionalArrowColor:()=>"rgba(0,0,0,0)",linkDirectionalParticles:Gr=>Pa(Gr)?3:0,linkDirectionalParticleSpeed:.001,linkDirectionalParticleWidth:2,linkDirectionalParticleColor:Gr=>Pa(Gr)?"#ccc":"rgba(0,0,0,0)",linkThreeObjectExtend:!0,nodeThreeObject:Gr=>{if(Sa){const so=new go.Kj0(new go.xo$(Gr.val,16,16),rc(Gr.colornodeType===Sa?Gr.nodeColor:"#999999"));if(Gr.id===Si){const Ti=new go.Kj0(new go.xo$(Gr.val+5,32,32),new go.vBJ({transparent:!0,opacity:.3}));so.add(Ti)}return so}else{const so=new go.Kj0(new go.xo$(Gr.val,16,16),rc(Gr.id===Si||ro(Gr)?Gr.nodeColor:"#999999"));if(Gr.id===Si){const Ti=new go.Kj0(new go.xo$(Gr.val+5,32,32),new go.vBJ({transparent:!0,opacity:.3}));so.add(Ti)}return so}},linkThreeObject:Gr=>Pa(Gr)?new go.Kj0(fd,hc):null,onNodeHover:ts,onNodeClick:ko,onEngineStop:()=>{},onNodeDragEnd:Gr=>{Gr.fx=Gr.x,Gr.fy=Gr.y,Gr.fz=Gr.z}}))}),Hc={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",ChangeBut:"ChangeBut___uZelH"},vd=he(3955),Xd=he(59301),ju=Object.defineProperty,Ec=Object.defineProperties,yf=Object.getOwnPropertyDescriptors,uf=Object.getOwnPropertySymbols,rd=Object.prototype.hasOwnProperty,Nf=Object.prototype.propertyIsEnumerable,Xc=(Oe,Fe,Me)=>Fe in Oe?ju(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Df=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))rd.call(Fe,Me)&&Xc(Oe,Me,Fe[Me]);if(uf)for(var Me of uf(Fe))Nf.call(Fe,Me)&&Xc(Oe,Me,Fe[Me]);return Oe},Sh=(Oe,Fe)=>Ec(Oe,yf(Fe)),Eh=(Oe,Fe)=>{var Me={};for(var jt in Oe)rd.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&uf)for(var jt of uf(Oe))Fe.indexOf(jt)<0&&Nf.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},qf=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});let Yd=[{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 Jd=null;let oo=null;const Mh=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr,datas:mn}=Fe,_t=Eh(Fe,["pathsDetail","user","globalSetting","loading","dispatch","datas"]);const Kn=(0,se.useRef)(),wr=(0,se.useRef)(null);(0,se.useEffect)(()=>{ra()},[mn]);function ra(){return qf(this,null,function*(){var qi,aa,ca,Ra,Ei,Si,ba;if(((qi=mn==null?void 0:mn.nodes)==null?void 0:qi.length)>0){let Sa=(0,Vt.fX)((aa=mn==null?void 0:mn.nodes)==null?void 0:aa.map((di,Ca)=>{var va,ro,Pa,rl,xl,Xo,_l,ts,ko,Gr,so,Ti,oa,Ea,Yo,Eo;return Sh(Df(Df({},di),di==null?void 0:di.properties),{rootNodeUuid:(va=di==null?void 0:di.properties)==null?void 0:va.rootNodeUuid,id:(ro=di==null?void 0:di.properties)==null?void 0:ro.uuid,name:(Pa=di==null?void 0:di.properties)==null?void 0:Pa.name,labelstype:(rl=di==null?void 0:di.labels)==null?void 0:rl[1],description:(xl=di==null?void 0:di.properties)==null?void 0:xl.description,nodeType:(Xo=di==null?void 0:di.properties)==null?void 0:Xo.nodeType,colornodeType:parseInt((_l=di==null?void 0:di.properties)==null?void 0:_l.color)===1?"\u6839\u8282\u70B9":((ts=Yd==null?void 0:Yd.find(Ss=>{var _s;return(Ss==null?void 0:Ss.name)===((_s=di==null?void 0:di.properties)==null?void 0:_s.nodeType)}))==null?void 0:ts.name)||"\u5176\u4ED6",newcolor:parseInt((ko=di==null?void 0:di.properties)==null?void 0:ko.color)===1?"#CC7CF5":((Gr=Yd==null?void 0:Yd.find(Ss=>{var _s;return(Ss==null?void 0:Ss.name)===((_s=di==null?void 0:di.properties)==null?void 0:_s.nodeType)}))==null?void 0:Gr.color)||"#2D947C",tags:((so=di==null?void 0:di.properties)==null?void 0:so.tags)&&((Ea=(oa=(Ti=di==null?void 0:di.properties)==null?void 0:Ti.tags)==null?void 0:oa.split("\uFF0C"))==null?void 0:Ea.map(Ss=>({name:Ss})))||[],colorType:parseInt((Yo=di==null?void 0:di.properties)==null?void 0:Yo.color)>3?"3":(Eo=di==null?void 0:di.properties)==null?void 0:Eo.color})}),(Ei=(Ra=(ca=mn==null?void 0:mn.relationships)==null?void 0:ca.filter(di=>{var Ca,va,ro;return(di==null?void 0:di.endNodeUuid)!==((ro=(va=(Ca=mn==null?void 0:mn.nodes)==null?void 0:Ca[0])==null?void 0:va.properties)==null?void 0:ro.rootNodeUuid)}))==null?void 0:Ra.filter(di=>{var Ca,va,ro;return(di==null?void 0:di.startNodeUuid)!==((ro=(va=(Ca=mn==null?void 0:mn.nodes)==null?void 0:Ca[0])==null?void 0:va.properties)==null?void 0:ro.rootNodeUuid)}))==null?void 0:Ei.filter(di=>di.type==="\u5305\u542B")),Uo=(0,dr.RN)(Sa),Ua=(Si=Uo.nodes)==null?void 0:Si.filter((di,Ca,va)=>Ca===va.findIndex(ro=>ro.id===di.id)),Oa=(ba=Uo.edges)==null?void 0:ba.filter((di,Ca,va)=>Ca===va.findIndex(ro=>ro.source===di.source&&ro.target===di.target));Ua.map(di=>(di.transformd=!0,di.style={labelWordWrap:!0,labelPlacement:di.depth===0?"center":di.depth<3?"top-left":"top",haloLineWidth:Math.max(20-di.depth*6,0),labelMaxWidth:di.depth===0?300:200,labelFontSize:di.depth===0?22:Ua.length>300?12:14,labelLineHeight:100,halo:di.depth<3},di)),Kn.current=null;let xo=Ua==null?void 0:Ua.length;Kn.current=new dr.kJ({container:wr.current,autoResize:!0,background:"#010A23",autoFit:{type:Ua.length>50?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:Ua,edges:Oa},node:{type:"circle",style:{size:di=>di.colorType==1?100:di.depth<2?50:xo>250?10:20,fill:di=>di.newcolor,labelText:di=>di.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:di=>di.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:Ua.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",enable:di=>di.targetType==="node",getContent:(di,Ca)=>{let va="";return Ca.forEach(ro=>{va+=`
    ${ro.name||""}
    `}),va}}],behaviors:["drag-canvas",{type:"zoom-canvas"},"drag-element",{type:"collapse-expand",onExpand:(di,Ca)=>{console.log("----",di,Ca)}},{type:"fix-element-size",state:"fix-element-size",enable:!0}],transforms:[{type:"place-radial-labels"}]}),Kn.current.render()}})}return Xd.createElement("div",{style:{background:"#fff",height:"800rem"}},Xd.createElement("div",{style:{width:"100%",height:"800rem"},ref:wr}))};var _f=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(Mh),$f={flex_box_center:"flex_box_center___WMF1f",flex_space_between:"flex_space_between___haq2g",flex_box_vertical_center:"flex_box_vertical_center___KFxAJ",flex_box_center_end:"flex_box_center_end___DIl10",flex_box_column:"flex_box_column___f8Jy4",zhishidian:"zhishidian___ftPXv"},bd={flex_box_center:"flex_box_center___JiLDQ",flex_space_between:"flex_space_between___Ur9j0",flex_box_vertical_center:"flex_box_vertical_center___FAM8c",flex_box_center_end:"flex_box_center_end___onqau",flex_box_column:"flex_box_column___jwO5r",tree_box:"tree_box___EeMwm",tree:"tree___jwv1Z"},fu=he(59301),Ff=Object.defineProperty,Qf=Object.defineProperties,yc=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,eh=Object.prototype.hasOwnProperty,Pd=Object.prototype.propertyIsEnumerable,th=(Oe,Fe,Me)=>Fe in Oe?Ff(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,qd=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))eh.call(Fe,Me)&&th(Oe,Me,Fe[Me]);if(Ih)for(var Me of Ih(Fe))Pd.call(Fe,Me)&&th(Oe,Me,Fe[Me]);return Oe},au=(Oe,Fe)=>Qf(Oe,yc(Fe)),id=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const xd=({dispatch:Oe,user:Fe,classroomList:Me,account:jt,resourceModalVisible:Pn,setResourceModalVisible:Tr,resourceId:Fr,binding:mn,getTableData:_t})=>{const[Kn]=Xe.default.useForm(),wr=(0,je.useParams)(),[ra,qi]=(0,se.useState)([]),[aa,ca]=(0,se.useState)([]),[Ra,Ei]=(0,se.useState)([]),[Si,ba]=(0,se.useState)(!1),[Sa,Uo]=(0,se.useState)(!1),[Ua,Oa]=(0,se.useState)([]),[xo,di]=(0,se.useState)({keyword:""});(0,se.useEffect)(()=>{Pn?(Kn.setFieldsValue({tab:"all"}),va("all")):(Oa([]),Ei([]),xo.keyword="",di(qd({},xo)))},[Pn]),(0,se.useEffect)(()=>{Pn&&va(Kn.getFieldValue("tab"))},[xo==null?void 0:xo.keyword]);const Ca=Pa=>{switch(Pa.item_type){case"Challenge":return fu.createElement(Lr.Z,{wrap:!1,align:"middle",justify:"space-between",gutter:20},fu.createElement(Aa.Z,{flex:"302px"},fu.createElement(Sn.Z,{title:Pa.name||""},fu.createElement("div",{className:" multi_ellipsis1"},fu.createElement("span",{className:"mr5",style:{color:"#20BB8A"}},"\u5173\u5361")," ",Pa.name||""))),fu.createElement(Aa.Z,{flex:1},fu.createElement(Sn.Z,{title:Pa.shixun_name||""},fu.createElement("div",{className:"c-grey-666 multi_ellipsis1"},"\u6240\u5C5E\u5B9E\u8BAD\uFF1A",(Pa==null?void 0:Pa.shixun_name)||""))));case"Shixun":return fu.createElement("span",null,fu.createElement("span",{className:"mr5 c-light-primary"},"\u5B9E\u8BAD"),Pa.name);case"Attachment":return fu.createElement("span",null,fu.createElement("span",{className:"mr5 c-cyan-blue"},"\u8BFE\u4EF6"),Pa.name);case"ExaminationBank":return fu.createElement("span",null,fu.createElement("span",{className:"mr5",style:{color:"#e69917"}},"\u6D4B\u9A8C"),Pa.name);case"HomeworkCommon":return fu.createElement("span",null,fu.createElement("span",{className:"mr5",style:{color:"#E99237"}},"\u7F16\u7A0B\u4F5C\u4E1A"),Pa.name);case"VideoItem":return fu.createElement("span",null,fu.createElement("span",{className:"mr5 c-purple-8C1"},"\u89C6\u9891"),Pa.name);case"SubjectHomework":return(Pa==null?void 0:Pa.homework_type)=="group"?fu.createElement("span",null,fu.createElement("span",{className:"mr5",style:{color:"#AABF07"}},"\u5206\u7EC4\u4F5C\u4E1A"),Pa.name):fu.createElement("span",null,fu.createElement("span",{className:"mr5",style:{color:"#20BB8A"}},"\u56FE\u6587\u4F5C\u4E1A"),Pa.name);case"StageCatalog":return fu.createElement("span",null,fu.createElement("span",{className:"mr5"},"\u5C0F\u8282"),Pa.name);default:return""}},va=Pa=>id(void 0,null,function*(){ba(!0);const rl=yield(0,Ot.ZP)(`/api/paths/${wr==null?void 0:wr.pathId}/bind_tag_stage_shixuns.json`,{method:"get",params:{tag_discipline_id:Fr,binding:mn,keywords:xo==null?void 0:xo.keyword,tab:Pa}});if(rl){const xl=(ts,ko="")=>ts==null?void 0:ts.map((Gr,so)=>{const Ti=ko?`${ko}-${so}`:`${so}`,Ea=!ko?Gr.state_name||"":Ca(Gr),Yo=!(Gr!=null&&Gr.can_choose);return au(qd({},Gr),{title:Ea,key:Ti,disabled:Yo,children:xl(Gr.items||Gr.children||[],Ti)})}),Xo=xl((rl==null?void 0:rl.stages)||[]);qi(Xo||[]);const _l=(ts,ko=[])=>(ts.forEach(Gr=>{var so;ko.push(Gr.key),(so=Gr.children)!=null&&so.length&&_l(Gr.children,ko)}),ko);ca(_l(Xo||[]))}ba(!1)}),ro=(Pa,rl)=>{var xl,Xo;(xl=rl==null?void 0:rl.checkedNodes)!=null&&xl.length&&Ei((Xo=rl==null?void 0:rl.checkedNodes)==null?void 0:Xo.map(_l=>_l==null?void 0:_l.stage_shixun_id)),Oa(Pa)};return fu.createElement("div",null,fu.createElement(Bt.default,{title:mn?"\u89E3\u7ED1\u8D44\u6E90":"\u5173\u8054\u8D44\u6E90",open:Pn,width:700,centered:!0,destroyOnClose:!0,okText:"\u786E\u5B9A\u4FDD\u5B58",className:bd.scoremodal,onCancel:()=>{Tr(!1)},onOk:()=>id(void 0,null,function*(){if(Uo(!0),mn){const Pa=yield(0,Ot.ZP)(`/api/v2/tag_disciplines/${Fr}/un_bind_resource.json`,{method:"post",body:{stage_shixun_ids:Ra}});(Pa==null?void 0:Pa.status)==0&&(Tr(!1),_t()),Uo(!1)}else{const Pa=yield(0,Ot.ZP)(`/api/v2/tag_disciplines/${Fr}/bind_resource.json`,{method:"post",body:{stage_shixun_ids:Ra}});(Pa==null?void 0:Pa.status)==0&&(Tr(!1),_t()),Uo(!1)}})},fu.createElement(Xe.default,{layout:"inline",form:Kn,className:bd.myForm},fu.createElement(Xe.default.Item,{name:"tab",colon:!1},fu.createElement(Ma.default,{style:{width:200},size:"large",placeholder:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B",onChange:Pa=>{va(Pa)}},fu.createElement(Ma.default.Option,{value:"all"},"\u5168\u90E8"),fu.createElement(Ma.default.Option,{value:"shixun"},"\u5B9E\u8DF5\u9879\u76EE"),fu.createElement(Ma.default.Option,{value:"video"},"\u89C6\u9891"),fu.createElement(Ma.default.Option,{value:"attachment"},"\u8BFE\u4EF6"),fu.createElement(Ma.default.Option,{value:"challenge"},"\u5173\u5361"),fu.createElement(Ma.default.Option,{value:"group_homework"},"\u5206\u7EC4\u4F5C\u4E1A"),fu.createElement(Ma.default.Option,{value:"normal_homework"},"\u56FE\u6587\u4F5C\u4E1A"),fu.createElement(Ma.default.Option,{value:"hack_homework"},"\u7F16\u7A0B\u4F5C\u4E1A"),fu.createElement(Ma.default.Option,{value:"exercise"},"\u6D4B\u9A8C"))),fu.createElement($s.t7,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:xo==null?void 0:xo.keyword,style:{width:240,marginLeft:"auto"},onChange:Pa=>{di(au(qd({},xo),{keyword:Pa,page:1}))}})),fu.createElement(wt.Z,{spinning:Si},(ra==null?void 0:ra.length)>0?fu.createElement("div",{className:bd.tree_box},fu.createElement(es.default,{className:bd.tree,checkable:!0,treeData:ra,checkedKeys:Ua,expandedKeys:aa,onExpand:Pa=>ca(Pa),onCheck:(Pa,rl)=>ro(Pa,rl)})):fu.createElement(_a.Z,null))))};var ad=(0,je.connect)(({user:Oe,classroomList:Fe,account:Me})=>({user:Oe,classroomList:Fe,account:Me}))(xd),wc=he(59301),Qu=Object.defineProperty,fc=Object.defineProperties,hd=Object.getOwnPropertyDescriptors,Fd=Object.getOwnPropertySymbols,Vd=Object.prototype.hasOwnProperty,hh=Object.prototype.propertyIsEnumerable,Vc=(Oe,Fe,Me)=>Fe in Oe?Qu(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Qd=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Vd.call(Fe,Me)&&Vc(Oe,Me,Fe[Me]);if(Fd)for(var Me of Fd(Fe))hh.call(Fe,Me)&&Vc(Oe,Me,Fe[Me]);return Oe},Oh=(Oe,Fe)=>fc(Oe,hd(Fe)),cf=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Wf=({dispatch:Oe,user:Fe,classroomList:Me,account:jt})=>{const[Pn]=Xe.default.useForm(),Tr=(0,je.useParams)(),[Fr,mn]=(0,se.useState)(!1),[_t,Kn]=(0,se.useState)({page:1,limit:10,keyword:""}),[wr,ra]=(0,se.useState)([]),[qi,aa]=(0,se.useState)({}),[ca,Ra]=(0,se.useState)(!1),[Ei,Si]=(0,se.useState)(""),[ba,Sa]=(0,se.useState)(!1),[Uo,Ua]=(0,se.useState)("");(0,se.useEffect)(()=>{jt.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90"?Oa():(_t.keyword="",Kn(Qd({},_t)))},[jt.actionTabs]);const Oa=()=>cf(void 0,null,function*(){var Ca,va,ro,Pa,rl,xl,Xo,_l,ts,ko,Gr,so;mn(!0);const Ti=yield(0,Ot.ZP)("/api/v2/course_disciplines.json",{method:"get"});(Ti==null?void 0:Ti.status)===0&&(ra((Ca=Ti==null?void 0:Ti.data)==null?void 0:Ca.list),Pn.setFieldsValue({course_discipline_id:(Pa=(ro=(va=Ti==null?void 0:Ti.data)==null?void 0:va.list)==null?void 0:ro[0])==null?void 0:Pa.id}),((xl=(rl=Ti==null?void 0:Ti.data)==null?void 0:rl.list)==null?void 0:xl.length)>0?xo((ts=(_l=(Xo=Ti==null?void 0:Ti.data)==null?void 0:Xo.list)==null?void 0:_l[0])==null?void 0:ts.id):mn(!1),Ua((so=(Gr=(ko=Ti==null?void 0:Ti.data)==null?void 0:ko.list)==null?void 0:Gr[0])==null?void 0:so.id))}),xo=Ca=>cf(void 0,null,function*(){const va=yield(0,Ot.ZP)("/api/v2/tag_disciplines.json",{method:"get",params:{subject_id:(Tr==null?void 0:Tr.pathId)||"",course_discipline_id:Ca,keyword:_t==null?void 0:_t.keyword}});(va==null?void 0:va.status)===0&&aa(va==null?void 0:va.data),mn(!1)});(0,se.useEffect)(()=>{jt.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90"&&(xo(Pn.getFieldValue("course_discipline_id")),Ua(Pn.getFieldValue("course_discipline_id")))},[_t==null?void 0:_t.keyword]);const di=[{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",dataIndex:"name",key:"name",ellipsis:!0,align:"left",render:(Ca,va)=>wc.createElement("span",null,Ca||"--")},{title:"\u5DF2\u5173\u8054\u8D44\u6E90\u6570\u91CF",dataIndex:"resource_size",key:"resource_size",ellipsis:!0,align:"left",render:Ca=>wc.createElement("span",null,Ca)},{title:"\u64CD\u4F5C",key:"action",align:"right",width:200,render:(Ca,va)=>wc.createElement(wc.Fragment,null,wc.createElement("span",{style:{color:"#165DFF",cursor:"pointer",marginRight:"20px"},onClick:()=>{Ra(!0),Si(va==null?void 0:va.id),Sa(!1)}},"\u5173\u8054\u8D44\u6E90"),wc.createElement("span",{style:{color:"#165DFF",cursor:"pointer"},onClick:()=>{Ra(!0),Si(va==null?void 0:va.id),Sa(!0)}},"\u89E3\u7ED1\u8D44\u6E90"))}].filter(Ca=>!!Ca);return wc.createElement(Bt.default,{title:"\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90",open:jt.actionTabs.key=="\u8BFE\u7A0B\u77E5\u8BC6\u70B9\u5173\u8054\u8D44\u6E90",width:900,centered:!0,footer:null,destroyOnClose:!0,className:$f.scoremodal,onCancel:()=>{Oe({type:"account/setActionTabs",payload:{key:""}})}},wc.createElement(wt.Z,{spinning:Fr},wc.createElement(Xe.default,{layout:"inline",form:Pn,className:$f.myForm},wc.createElement(Xe.default.Item,{name:"course_discipline_id",colon:!1},wc.createElement(Ma.default,{style:{width:200},size:"large",placeholder:"\u8BF7\u9009\u62E9\u8BFE\u7A0B",onChange:Ca=>{xo(Ca),Ua(Ca)}},wr==null?void 0:wr.map(Ca=>wc.createElement(Ma.default.Option,{key:Ca==null?void 0:Ca.id,value:Ca==null?void 0:Ca.id},Ca==null?void 0:Ca.name)))),wc.createElement($s.t7,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:_t==null?void 0:_t.keyword,style:{width:240},onChange:Ca=>{Kn(Oh(Qd({},_t),{keyword:Ca,page:1}))}}),wc.createElement("div",{className:$f.zhishidian,onClick:()=>{(0,Vt.xg)(`/knowledgeHub?course_discipline_id=${Uo}`)}},"\u77E5\u8BC6\u70B9\u7BA1\u7406")),wc.createElement(Bn.default,{columns:di,pagination:!1,scroll:{y:400},style:{marginTop:"20px",marginBottom:"20px"},dataSource:(qi==null?void 0:qi.tag_disciplines)||[]})),wc.createElement(ad,{resourceModalVisible:ca,setResourceModalVisible:Ra,resourceId:Ei,binding:ba,getTableData:()=>{xo(Pn.getFieldValue("course_discipline_id")),Ua(Pn.getFieldValue("course_discipline_id"))}}))};var uc=(0,je.connect)(({user:Oe,classroomList:Fe,account:Me})=>({user:Oe,classroomList:Fe,account:Me}))(Wf),Ja=he(59301),Sd=Object.defineProperty,Nh=Object.defineProperties,ga=Object.getOwnPropertyDescriptors,ph=Object.getOwnPropertySymbols,Kf=Object.prototype.hasOwnProperty,Zh=Object.prototype.propertyIsEnumerable,Xh=(Oe,Fe,Me)=>Fe in Oe?Sd(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Wd=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Kf.call(Fe,Me)&&Xh(Oe,Me,Fe[Me]);if(ph)for(var Me of ph(Fe))Zh.call(Fe,Me)&&Xh(Oe,Me,Fe[Me]);return Oe},gh=(Oe,Fe)=>Nh(Oe,ga(Fe)),A0=(Oe,Fe)=>{var Me={};for(var jt in Oe)Kf.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&ph)for(var jt of ph(Oe))Fe.indexOf(jt)<0&&Zh.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},Fc=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Wl=window.ENV==="build"?"/react/build":"";let df=[{name:"\u6839\u8282\u70B9",src:Wl+"/images/one.svg",color:"#CC7CF5",bordercolor:"#A150CB",img:Wl+"/images/gjd.svg"},{name:"\u8BFE\u7A0B",src:Wl+"/images/kc.svg",color:"#3241F7",bordercolor:"#3437D9",img:Wl+"/images/kcjd.svg"},{name:"\u7AE0\u8282",src:Wl+"/images/zj.svg",color:"#5e54e7",bordercolor:"#7f77f9",img:Wl+"/images/zjjd.svg"},{name:"\u77E5\u8BC6\u70B9",src:Wl+"/images/zsd.svg",color:"#FFDF55",bordercolor:"#FFD60F",img:Wl+"/images/zsdjd.svg"},{name:"\u5B9E\u8BAD",src:Wl+"/images/sx.svg",color:"#4E9DFF",bordercolor:"#0882FB",img:Wl+"/images/sxjd.svg"},{name:"\u4F5C\u4E1A",src:Wl+"/images/zy.svg",color:"#445DF3",bordercolor:"#3149D5",img:Wl+"/images/zyjd.svg"},{name:"\u89C6\u9891",src:Wl+"/images/sp.svg",color:"#6BC4DE",bordercolor:"#339DC4",img:Wl+"/images/spjd.svg"},{name:"\u8BFE\u4EF6",src:Wl+"/images/fj.svg",color:"#6BDE73",bordercolor:"#33C448",img:Wl+"/images/kjjd.svg"},{name:"\u8BD5\u5377",src:Wl+"/images/sj.svg",color:"#2D9534",bordercolor:"#077A04",img:Wl+"/images/sjjd.svg"},{name:"\u5176\u4ED6",src:Wl+"/images/qt.svg",color:"#2D947C",bordercolor:"#157660",img:Wl+"/images/qtjd.svg"}];const wh=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr,uuid:mn,Tabsdatas:_t,initdata:Kn,setactivied:wr,tpacti:ra}=Fe,qi=A0(Fe,["pathsDetail","user","globalSetting","loading","dispatch","uuid","Tabsdatas","initdata","setactivied","tpacti"]),aa,ca,Ra,Ei,Si,ba,Sa,Uo,Ua;const Oa=(0,je.useParams)(),xo=(0,se.useRef)(),di=(0,se.useRef)(),Ca=(0,se.useRef)(),[va,ro]=(0,se.useState)([]),[Pa,rl]=(0,se.useState)(!0),[xl,Xo]=(0,se.useState)([]),[_l,ts]=(0,se.useState)(""),[ko,Gr]=(0,se.useState)(!1),so=(0,se.useRef)(null),[Ti,oa]=(0,se.useState)(),[Ea,Yo]=(0,se.useState)(!1),[Eo,Ss]=(0,se.useState)([]);let[_s,il]=(0,se.useState)(!1);const[Ks,Kl]=(0,se.useState)(!1),[Hl,Hu]=(0,se.useState)(!1),[Wc,Gs]=(0,se.useState)(!1),[kc,Lc]=(0,se.useState)([]),[Cd,Bd]=(0,se.useState)(!1),[mf,md]=(0,se.useState)([]),[rf]=(0,je.useSearchParams)(),[Gd,Ad]=(0,se.useState)(!1),[uh,af]=(0,se.useState)(0),[xf,ws]=(0,se.useState)("\u5168\u90E8");let[Pc,Rf]=(0,se.useState)({page:1,limit:10});const[Ah,ch]=(0,se.useState)({}),[Td,yh]=(0,se.useState)([]),If=(0,se.useRef)(null),zd=(0,se.useRef)(null),[Ef,Cu]=(0,se.useState)(!1);(0,se.useEffect)(()=>(_s=!1,il(!1),dh(2,!0),Rt.ZP.config({getContainer:()=>so.current}),()=>{var bs;rl(!1),Xo([]),Yo(!1),ts(""),(bs=Ca.current)==null||bs.clear()}),[mn]),(0,se.useEffect)(()=>(document.addEventListener("keydown",Ud),document.addEventListener("keyup",e0),()=>{document.removeEventListener("keydown",Ud),document.addEventListener("keyup",e0)}),[]);function Ud(bs){bs.ctrlKey&&Ca.current&&Ca.current.setBehaviors(Nu=>[...Nu.filter(tc=>typeof tc=="string"?tc!=="zoom-canvas":tc.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom",enable:!0,preventDefault:!0}])}function e0(bs){Ca.current&&Ca.current.setBehaviors(Nu=>[...Nu.filter(tc=>typeof tc=="string"?tc!=="zoom-canvas":tc.type!=="zoom-canvas"),{type:"zoom-canvas",key:"new-zoom1",enable:!1,preventDefault:!1}])}const wp={onRemove:()=>{Lc([])},beforeUpload:bs=>{if(console.log(bs),(bs==null?void 0:bs.size)>1024*1024*50)return Rt.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"),!1;let Nu=[];return Nu.push(bs),Lc([...Nu]),!1},fileList:kc,accept:".xls,.xlsx"};(0,se.useEffect)(()=>{},[_s]),(0,se.useEffect)(()=>(window.addEventListener("resize",Cp),()=>{window.removeEventListener("resize",Cp)}),[]);function Cp(){var bs,Nu;(Nu=(bs=xo.current)==null?void 0:bs.update)==null||Nu.call(bs)}const Bp=(...bs)=>Fc(void 0,[...bs],function*(Nu={}){return yield Fr({type:"pathsDetail/getKnowledgeGraphs",payload:Wd({graphable_type:rf.get("type")==="classrooms"?"course":"subject",graphable_id:Oa==null?void 0:Oa.pathId},Nu)})});function dh(bs,Nu=!1){return Fc(this,null,function*(){var ic,tc,Fu,bh,fh,Yf,Y0,lg;(ic=Ca.current)==null||ic.destroy(),Ad(!0);let J0=yield(0,Ot.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:mn,subject_id:Oa==null?void 0:Oa.pathId,depth:bs===0?bs:bs||-1,relationshipFilter:"\u5305\u542B>"}});if(Ad(!1),(J0==null?void 0:J0.status)===0){if(Nu||Bp({graphable_id:Oa==null?void 0:Oa.pathId}),_s){di.current.getData();return}rl(!0);let Av=(0,Vt.fX)((Fu=(tc=J0==null?void 0:J0.data)==null?void 0:tc.nodes)==null?void 0:Fu.map((Cs,xh)=>{var ud,Hd,Th,I0,Wh,Ph,Kh,_0,Dp,Of,cg,Lg,dg,Tg,fg,Gp,zg,Pp;return gh(Wd(Wd({},Cs),Cs==null?void 0:Cs.properties),{rootNodeUuid:(ud=Cs==null?void 0:Cs.properties)==null?void 0:ud.rootNodeUuid,id:(Hd=Cs==null?void 0:Cs.properties)==null?void 0:Hd.uuid,name:(Th=Cs==null?void 0:Cs.properties)==null?void 0:Th.name,labelstype:(I0=Cs==null?void 0:Cs.labels)==null?void 0:I0[1],description:(Wh=Cs==null?void 0:Cs.properties)==null?void 0:Wh.description,nodeType:(Ph=Cs==null?void 0:Cs.properties)==null?void 0:Ph.nodeType,colornodeType:parseInt((Kh=Cs==null?void 0:Cs.properties)==null?void 0:Kh.color)===1?"\u6839\u8282\u70B9":((_0=df==null?void 0:df.find(zh=>{var Hh;return(zh==null?void 0:zh.name)===((Hh=Cs==null?void 0:Cs.properties)==null?void 0:Hh.nodeType)}))==null?void 0:_0.name)||"\u5176\u4ED6",newcolor:parseInt((Dp=Cs==null?void 0:Cs.properties)==null?void 0:Dp.color)===1?"#CC7CF5":((Of=df==null?void 0:df.find(zh=>{var Hh;return(zh==null?void 0:zh.name)===((Hh=Cs==null?void 0:Cs.properties)==null?void 0:Hh.nodeType)}))==null?void 0:Of.color)||"#2D947C",newbordercolor:parseInt((cg=Cs==null?void 0:Cs.properties)==null?void 0:cg.color)===1?Wl+"/images/gjd.svg":((Lg=df==null?void 0:df.find(zh=>{var Hh;return(zh==null?void 0:zh.name)===((Hh=Cs==null?void 0:Cs.properties)==null?void 0:Hh.nodeType)}))==null?void 0:Lg.img)||Wl+"/images/qtjd.svg",tags:((dg=Cs==null?void 0:Cs.properties)==null?void 0:dg.tags)&&((Gp=(fg=(Tg=Cs==null?void 0:Cs.properties)==null?void 0:Tg.tags)==null?void 0:fg.split("\uFF0C"))==null?void 0:Gp.map(zh=>({name:zh})))||[],colorType:parseInt((zg=Cs==null?void 0:Cs.properties)==null?void 0:zg.color)>3?"3":(Pp=Cs==null?void 0:Cs.properties)==null?void 0:Pp.color})}),(fh=(bh=J0==null?void 0:J0.data)==null?void 0:bh.relationships)==null?void 0:fh.filter(Cs=>Cs.type==="\u5305\u542B")),ug=(0,dr.RN)(Av),t0=(Yf=ug.nodes)==null?void 0:Yf.filter((Cs,xh,ud)=>xh===ud.findIndex(Hd=>Hd.id===Cs.id));ro(t0);let Kp=(Y0=ug.edges)==null?void 0:Y0.filter((Cs,xh,ud)=>xh===ud.findIndex(Hd=>Hd.source===Cs.source&&Hd.target===Cs.target));t0.map(Cs=>(Cs.transformd=!0,Cs.style={labelWordWrap:!0,labelPlacement:Cs.depth===0?"center":Cs.depth<3?"top-left":"top",haloLineWidth:Math.max(20-Cs.depth*6,0),labelMaxWidth:Cs.depth===0?300:100,labelFontSize:Cs.depth===0?22:t0.length>300?12:14,labelLineHeight:100,halo:Cs.depth<3},Cs)),Ca.current=null;let kg=t0==null?void 0:t0.length;Ca.current=new dr.kJ({container:zd.current,autoResize:!0,background:"#010A23",autoFit:{type:t0.length>10?"view":"center",options:{direction:"both",when:"always"}},animation:!1,padding:50,data:{nodes:t0,edges:Kp},node:{type:"image",style:{src:Cs=>Cs.newbordercolor,size:Cs=>Cs.colorType==1?100:Cs.depth<2?50:kg>250?10:20,fill:Cs=>Cs.newcolor,labelText:Cs=>Cs.name,labelFill:"#ffffff"},state:{highlight:{stroke:"transparent"},selected:{stroke:"transparent"},inactive:{fill:Cs=>Cs.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:t0.length>250?360:240,direction:"RL",unitRadius:90,linkDistance:200,preventOverlap:!0,maxPreventOverlapIteration:100,strictRadial:!1}],plugins:[{type:"tooltip",position:"bottom",enable:Cs=>Cs.targetType==="node",getContent:(Cs,xh)=>{let ud="";return xh.forEach(Hd=>{ud+=`
    ${Hd.name||""}
    `}),ud}}],behaviors:["drag-canvas",{type:"zoom-canvas",enable:!1,preventDefault:!1,onFinish:()=>{setTimeout(()=>{var Cs;af((((Cs=Ca==null?void 0:Ca.current)==null?void 0:Cs.getZoom())*100).toFixed(0))},300)}},"drag-element",{type:"collapse-expand",onExpand:(Cs,xh)=>{console.log("----",Cs,xh)}},{type:"fix-element-size",state:"fix-element-size",enable:!0},{type:"click-select",state:"selected",onClick:Cs=>{If.current?(clearTimeout(If.current),If.current=null):If.current=setTimeout(()=>{let xh=t0.filter(ud=>{var Hd,Th;return(ud==null?void 0:ud.id)===((Th=(Hd=Cs.target)==null?void 0:Hd.config)==null?void 0:Th.id)});if((xh==null?void 0:xh.length)===0){Yo(!1);return}oa(xh==null?void 0:xh[0]),Yo(!0),Cs.view.setCursor("pointer"),If.current=null},300)},multiple:!1},{type:"hover-activate",enable:Cs=>Cs.targetType==="node",degree:1,state:"highlight",direction:"both",inactiveState:"inactive",onHover:Cs=>{Cs.view.setCursor("pointer")},onHoverEnd:Cs=>{Cs.view.setCursor("default")}}],transforms:[{type:"place-radial-labels"}]}),Ca.current.render(),zd.current&&(zd.current.style.opacity=1),(lg=Ca==null?void 0:Ca.current)==null||lg.fitView(),setTimeout(()=>{var Cs;af((((Cs=Ca==null?void 0:Ca.current)==null?void 0:Cs.getZoom())*100).toFixed(0))},300);var q0=Ca.current.getOptions();setTimeout(()=>{var Cs;q0.animation=!0,(Cs=Ca.current)==null||Cs.setOptions(q0)},2500),window.graphsRef=Ca.current}let Wp=yield(0,Ot.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:Oa==null?void 0:Oa.pathId}});(Wp==null?void 0:Wp.status)===0&&yh(Wp==null?void 0:Wp.data)})}const U0=(bs,Nu)=>{if(Ca.current){if(Ks){bs==="Leave"?di.current.settype(""):di.current.settype(Nu==null?void 0:Nu.name);return}if(_s){di.current.onMouse(bs,Nu.name);return}try{const ic={},tc={};Ca.current.getEdgeData().map(Fu=>{ic[Fu.id]=bs==="Enter"?"inactive":"active"}),Ca.current.getNodeData().map(Fu=>{bs==="Enter"?tc[Fu.id]=Fu.colornodeType===Nu.name?"highlight":"inactive":tc[Fu.id]="active"}),Ca.current.setElementState(ic),Ca.current.setElementState(tc)}catch(ic){}}},p0=(bs,Nu)=>{if(Ca.current){if(_s){di.current.onMouse(bs,Nu.name);return}try{const ic={},tc={};Ca.current.getEdgeData().map(Fu=>{ic[Fu.id]=bs==="Enter"?"inactive":"active"}),Ca.current.getNodeData().map(Fu=>{var bh,fh;bs==="Enter"?tc[Fu.id]=(fh=(bh=Fu.tags)==null?void 0:bh.map(Yf=>Yf==null?void 0:Yf.name))!=null&&fh.includes(Nu.name)?"highlight":"inactive":tc[Fu.id]="active"}),Ca.current.setElementState(ic),Ca.current.setElementState(tc)}catch(ic){}}};return Ja.createElement(wt.Z,{spinning:Gd},Ja.createElement("div",{ref:so,className:"h-screen flex flex-col",style:{background:"#010A23",height:"100%"}},Ja.createElement("div",{className:"relative w-full"},Ja.createElement("div",{className:"flex w-full px-40px-rem pt-24px-rem absolute gap-20px-rem",style:{left:0,top:0,justifyContent:"start",zIndex:1}},Ja.createElement("span",{className:Hc.tupugx,onClick:()=>{wr(),localStorage.setItem("tpuuid",mn)}},Ja.createElement("img",{src:Wl+"/images/tpgx.svg",style:{marginRight:"10rem",width:"16rem"}}),"\u56FE\u8C31\u5173\u7CFB"),Ja.createElement("div",{className:Hc.autocomp},Ja.createElement("div",{style:{display:"flex",alignItems:"center"}},Ja.createElement(Wt.Z,{className:Hc.autocompwidth,options:xl,popupClassName:Hc.autopop,getPopupContainer:()=>so.current,value:_l,onSelect:(bs,Nu)=>{var ic;if(ts(va.find(tc=>tc.id===bs).name),oa(va.find(tc=>tc.id===bs)),Yo(!0),Ks){di.current.selectall(bs);return}if(_s)di.current.selectall(bs);else{let tc=Ca.current.getElementDataByState("node","selected");(tc==null?void 0:tc.length)>0&&Ca.current.setElementState((ic=tc==null?void 0:tc[0])==null?void 0:ic.id,[""]),Ca.current.setElementState(bs,["selected"])}},onChange:bs=>{ts(bs)},onSearch:bs=>{Xo(()=>{var Nu,ic,tc;return xf==="\u5168\u90E8"?(Nu=va==null?void 0:va.filter(Fu=>Fu.name.includes(bs)))==null?void 0:Nu.map(Fu=>({label:Ja.createElement("div",{style:{display:"flex",alignItems:"center"}},Ja.createElement("span",{style:{marginRight:"10rem",height:"20rem",lineHeight:"20rem",padding:"0rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Fu==null?void 0:Fu.nodeType)," ",Ja.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Fu==null?void 0:Fu.name.replaceAll(bs,`${bs}`)}})),value:Fu==null?void 0:Fu.id})):(tc=(ic=va==null?void 0:va.filter(Fu=>{var bh;return(bh=Fu==null?void 0:Fu.tags)==null?void 0:bh.find(fh=>fh.name===xf)}))==null?void 0:ic.filter(Fu=>Fu.name.includes(bs)))==null?void 0:tc.map(Fu=>({label:Ja.createElement("div",{style:{display:"flex",alignItems:"center"}},Ja.createElement("span",{style:{marginRight:"10rem",height:"20rem",padding:"2rem 6rem",color:"#fff",fontSize:"12rem",background:"#1890FF",borderRadius:"2rem"}},Fu==null?void 0:Fu.nodeType)," ",Ja.createElement("div",{style:{color:"#fff"},dangerouslySetInnerHTML:{__html:Fu==null?void 0:Fu.name.replaceAll(bs,`${bs}`)}})),value:Fu==null?void 0:Fu.id}))})}},Ja.createElement(vt.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",addonBefore:Ja.createElement(cn.Z,{overlayClassName:Hc.dropdownst,menu:{items:[{label:Ja.createElement("div",{onClick:()=>{ws("\u5168\u90E8"),p0("\u5168\u90E8","")}},"\u5168\u90E8"),key:"1"},...Td==null?void 0:Td.map(bs=>({label:Ja.createElement("div",{onClick:()=>{ws(bs.name),p0("Enter",bs)}},bs==null?void 0:bs.name),key:bs.id}))]}},Ja.createElement("div",{style:{display:"flex",alignItems:"center"}},Ja.createElement("div",{className:Hc.textname,style:{width:"60rem"}},xf),Ja.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"}})))})))),Ja.createElement("div",{className:"flex ml-auto",style:{zIndex:"3"}},((aa=Me==null?void 0:Me.detail)==null?void 0:aa.can_managed)&&rf.get("type")==="classrooms"&&Ja.createElement("div",{className:`current flex item-center c-white ${Hc.ChangeBut}`,onClick:()=>{je.history.push(`/knowledgegraph/${Oa==null?void 0:Oa.pathId}/statistics/pathatlas/${mn}?type=classrooms&tabs=3`)}},"\u6570\u636E\u7EDF\u8BA1"),((ca=Me==null?void 0:Me.detail)==null?void 0:ca.sync_uuid)&&((Ra=Me==null?void 0:Me.detail)==null?void 0:Ra.sync_uuid)===mn&&((Ei=Me==null?void 0:Me.detail)==null?void 0:Ei.can_managed)&&Ja.createElement(Sn.Z,{title:"\u540C\u6B65"},Ja.createElement("img",{className:"current",onClick:(0,ia.debounce)(()=>{Bt.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:()=>so.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:()=>Fc(void 0,null,function*(){var bs;const Nu=(bs=_t==null?void 0:_t.find(tc=>(tc==null?void 0:tc.uuid)===mn))==null?void 0:bs.name;let ic=yield(0,Ot.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:Oa==null?void 0:Oa.pathId,uuid:mn,name:Nu}});ic.status===0&&Rt.ZP.info(ic==null?void 0:ic.message)})})},500),src:Ef===1?Wl+"/images/gxxz.png":Wl+"/images/gx.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(1)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Si=Me==null?void 0:Me.detail)==null?void 0:Si.can_managed)&&Ja.createElement("div",{className:Hc.hoverone},Ja.createElement("div",{onClick:()=>Fc(void 0,null,function*(){let bs=yield(0,Ot.ZP)("/api/knowledge/v2/backup.json",{method:"POST",body:{subject_id:Oa==null?void 0:Oa.pathId,parentNodeUuid:mn}});(bs==null?void 0:bs.status)===0&&Rt.ZP.info("\u56FE\u8C31\u4FDD\u5B58\u6210\u529F")})},Ja.createElement("img",{src:Ef===2?Wl+"/images/bcbbxz.png":Wl+"/images/bcbb.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(2)}}),Ja.createElement("div",{className:Hc.name},"\u4FDD\u5B58\u7248\u672C")),Ja.createElement("div",{onClick:()=>Fc(void 0,null,function*(){Pc.page=1,Pc.limit=10;let bs=yield(0,Ot.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:Wd({subject_id:Oa==null?void 0:Oa.pathId,nodeUuid:mn},Pc)});Rf(Pc),(bs==null?void 0:bs.status)===0&&(Bd(!0),md(bs))})},Ja.createElement("img",{src:Ef===3?Wl+"/images/qhbbxz.png":Wl+"/images/qhbb.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(3)},className:Hc.img}),Ja.createElement("div",{className:Hc.name},"\u5207\u6362\u7248\u672C"))),((ba=Me==null?void 0:Me.detail)==null?void 0:ba.can_managed)&&Ja.createElement(Sn.Z,{title:"\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31"},Ja.createElement("div",{className:"current flex item-center justify-center c-white",style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem",borderRadius:"50%",background:"#202F4F"},onClick:()=>{Fa.Z.publish("create_a_knowledge_map")}},Ja.createElement("span",{className:"iconfont icon-tianjia4"}))),Ja.createElement("div",{className:Hc.hoverone},Ja.createElement("div",{onClick:()=>{_s=!1,il(!1),Kl(!1),rl(!0),dh(2,!0)}},Ja.createElement("img",{src:Ef===4?Wl+"/images/gxtxz.png":Wl+"/images/gxt.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(4)}}),Ja.createElement("div",{className:Hc.name},"\u5173\u7CFB\u56FE")),Ja.createElement("div",{onClick:()=>{_s=!0,Kl(!1),il(!0)}},Ja.createElement("img",{src:Ef===5?Wl+"/images/zssxz.png":Wl+"/images/zss.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(5)},className:Hc.img}),Ja.createElement("div",{className:Hc.name},"\u77E5\u8BC6\u6811"))),Ja.createElement(Sn.Z,{title:"\u5168\u5C4F"},Ja.createElement("img",{className:"current",onClick:()=>{var bs,Nu,ic,tc;(0,vd.vp)()?(Gr(!1),(0,vd.BU)(),!_s&&Pa?(bs=Ca==null?void 0:Ca.current)==null||bs.fitCenter():(Nu=di==null?void 0:di.current)==null||Nu.fitView()):(Gr(!0),(0,vd.Dj)(so.current),!_s&&Pa?(ic=Ca==null?void 0:Ca.current)==null||ic.fitCenter():(tc=di==null?void 0:di.current)==null||tc.fitView())},src:Ef===6?Wl+"/images/qpxz.png":Wl+"/images/qp.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(6)},style:{width:"40rem",height:"40rem",marginRight:"15rem",marginTop:"5rem"}})),((Sa=Me==null?void 0:Me.detail)==null?void 0:Sa.can_managed)&&Ja.createElement("div",{className:Hc.hoverone,style:{marginRight:"0rem"}},Ja.createElement("div",{onClick:()=>{Hu(!0)}},Ja.createElement("img",{src:Ef===10?Wl+"/images/drxz.png":Wl+"/images/dr.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(10)}}),Ja.createElement("div",{className:Hc.name},"\u5BFC\u5165")),Ja.createElement("div",{onClick:()=>{(0,Vt.FH)("",Cn.Z.API_SERVER+`/api/knowledge/v2/export.json?subject_id=${Oa==null?void 0:Oa.pathId}&fileType=xlsx&parentNodeUuid=${mn}`)}},Ja.createElement("img",{src:Ef===11?Wl+"/images/dcxz.png":Wl+"/images/dc.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(11)},className:Hc.img}),Ja.createElement("div",{className:Hc.name},"\u5BFC\u51FA")))))),Pa&&!_s&&!Ks&&Ja.createElement("div",{className:"w-full h-screen",style:{opacity:0},ref:zd}),Ja.createElement("div",{id:"myDiagramDiv",className:`w-full ${_s?"h-screen":""}`},_s?Ja.createElement(ms,{ref:di,setzoomsize:af,setshowdetail:Yo,setitems:oa,nodeUuid:mn,subject_id:Oa==null?void 0:Oa.pathId}):"",Ks?Ja.createElement(Nd,{ref:di,setzoomsize:af,setshowdetail:Yo,setitems:oa,nodeUuid:mn,subject_id:Oa==null?void 0:Oa.pathId}):""),Ja.createElement("div",{className:"flex item-center sticky c-white px-10px-rem",style:{bottom:"30px",zIndex:101}},(va==null?void 0:va.length)>0&&Ja.createElement("div",{className:" flex item-center gap-12px-rem"},(Uo=df.filter(bs=>{var Nu;return(Nu=va==null?void 0:va.map(ic=>ic==null?void 0:ic.colornodeType))==null?void 0:Nu.includes(bs==null?void 0:bs.name)}))==null?void 0:Uo.map(bs=>Ja.createElement("div",{onMouseLeave:()=>U0("Leave",bs),onMouseEnter:()=>U0("Enter",bs),className:"flex item-center current gap-6px-rem"},Ja.createElement("img",{src:bs==null?void 0:bs.img,style:{width:"20rem",height:"20rem"}}),Ja.createElement("span",null,bs==null?void 0:bs.name)))),Ja.createElement("div",{className:"flex item-center ml-auto"},!_s&&!Ks&&Ja.createElement(cn.Z,{overlayClassName:Hc.dropdownst,getPopupContainer:()=>so.current,menu:{items:[{label:Ja.createElement("div",{onClick:()=>{dh()}},"\u5C55\u5F00\u5168\u90E8"),key:"1"},{label:Ja.createElement("div",{onClick:()=>{dh(3)}},"\u5C55\u5F003\u5C42"),key:"2"},{label:Ja.createElement("div",{onClick:()=>{dh(2)}},"\u5C55\u5F002\u5C42"),key:"3"},{label:Ja.createElement("div",{onClick:()=>{dh(1)}},"\u5C55\u5F001\u5C42"),key:"4"},{label:Ja.createElement("div",{onClick:()=>{dh(0)}},"\u6536\u8D77\u5168\u90E8"),key:"5"}]}},Ja.createElement("img",{style:{cursor:"pointer"},onClick:()=>{},src:Ef===7?Wl+"/images/xscjxz.png":Wl+"/images/xscj.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(7)}})),!Ks&&Ja.createElement(Sn.Z,{title:"\u5C45\u4E2D\u663E\u793A"},Ja.createElement("img",{onClick:()=>{rl(!1),dh()},style:{marginLeft:"10rem",cursor:"pointer"},src:Ef===8?Wl+"/images/jzxsxz.png":Wl+"/images/jzxs.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(8)},className:Hc.img})),Ja.createElement("div",{style:{marginLeft:"10rem",background:"#202F4F",borderRadius:"4px",alignItems:"center"}},Ja.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Ks){di.current.handleZoom("out");return}_s?(di.current.zoomBy(.9),di.current.getZooms()):(Ca.current.zoomBy(.9),setTimeout(()=>{var bs;af((((bs=Ca==null?void 0:Ca.current)==null?void 0:bs.getZoom())*100).toFixed(0))},300))},src:Ef===9?Wl+"/images/newsxxz.png":Wl+"/images/newsx.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(9)}}),!Ks&&Ja.createElement("span",{style:{display:"inline-flex",width:"46px",justifyContent:"center"},onClick:()=>{}}," ",uh+"%"),Ja.createElement("img",{style:{cursor:"pointer"},onClick:()=>{if(Ks){di.current.handleZoom("in");return}_s?(di.current.zoomBy(1.1),di.current.getZooms()):(Ca.current.zoomBy(1.1),setTimeout(()=>{var bs;af((((bs=Ca==null?void 0:Ca.current)==null?void 0:bs.getZoom())*100).toFixed(0))},300))},src:Ef===12?Wl+"/images/newfdxz.png":Wl+"/images/newfd.png",onMouseOut:()=>{Cu(!1)},onMouseOver:()=>{Cu(12)}})))),Ja.createElement(Hs.Z,{tpacti:ra,initdata:Kn,uuid:mn,Tabsdatas:_t,setshow:rl,getData:dh,containerRef:so,showdetail:Ea,setshowdetail:Yo,items:Ti}),Ja.createElement(Bt.default,{title:"\u6587\u4EF6\u5BFC\u5165",open:Hl,centered:!0,getContainer:()=>so.current,okButtonProps:{loading:Wc},onCancel:()=>{Hu(!1),Lc([])},onOk:()=>Fc(void 0,null,function*(){var bs,Nu,ic;const tc=new FormData;if(kc.length>0)tc.append("file",kc[0]);else{Rt.ZP.warning("\u8BF7\u9009\u62E9\u6587\u4EF6");return}Gs(!0),tc.append("subject_id",(Oa==null?void 0:Oa.pathId)+""),tc.append("parentNodeUuid",mn);let Fu=yield(0,Ot.ZP)("/api/knowledge/v2/import.json",{method:"post",body:tc},!0);Gs(!1),(Fu==null?void 0:Fu.status)===0&&((bs=Fu==null?void 0:Fu.data)!=null&&bs.importErrorFilePath?Bt.default.confirm({icon:null,title:"\u5BFC\u5165\u5931\u8D25",centered:!0,content:Ja.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",Ja.createElement("a",{href:`${Cn.Z.API_SERVER}${(Nu=Fu==null?void 0:Fu.data)==null?void 0:Nu.importErrorFilePath}`,download:"\u5931\u8D25\u6570\u636E.xlsx"},"\u5BFC\u5165\u5931\u8D25\u7684\u6570\u636E"),"\u67E5\u770B")}):(dh(),rl(!1),(ic=Fu==null?void 0:Fu.data)!=null&&ic.has_route?Rt.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"):Rt.ZP.info("\u5BFC\u5165\u6210\u529F"),Lc([]),oa({}),Hu(!1)))})},(va==null?void 0:va.length)>0&&Ja.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"),Ja.createElement("p",{style:{color:"#5F6368"}},"\u6B65\u9AA41\uFF1A",Ja.createElement("span",{style:{color:"#000000"}},"\u4E0B\u8F7D"),Ja.createElement("a",{href:`${Cn.Z.API_SERVER}/api/knowledge/v2/down_template.json`,download:"\u6A21\u7248.xlsx"},"\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248")),Ja.createElement(Lr.Z,null,Ja.createElement(Aa.Z,{style:{color:"#5F6368"}},"\u6B65\u9AA42\uFF1A",Ja.createElement("span",{style:{color:"#000000"}},"\u4E0A\u4F20\u586B\u5199\u597D\u7684\u300A\u77E5\u8BC6\u56FE\u8C31\u5BFC\u5165\u6A21\u7248\u300B"))),Ja.createElement(Lr.Z,{style:{marginTop:10,marginLeft:50}},Ja.createElement(Nn.default,Wd({},wp),Ja.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)"}},Ja.createElement("i",{style:{fontSize:12,marginRight:6},className:"iconfont icon-tianjiashitixiaojiahao"})," \u9009\u62E9\u6587\u4EF6")))),Ja.createElement(lo.Z,null,Ja.createElement(Ja.Fragment,null,Ja.createElement(Bt.default,{title:"\u7248\u672C\u8BB0\u5F55",centered:!0,width:1200,open:Cd,footer:!1,getContainer:()=>so.current,onCancel:()=>{Bd(!1)}},Ja.createElement(Bn.default,{dataSource:mf==null?void 0:mf.data,pagination:!1,columns:[{title:"\u7248\u672C\u4FDD\u5B58\u65F6\u95F4",dataIndex:"created_at",ellipsis:!0,key:"created_at",render:(bs,Nu)=>Ja.createElement("div",null,Ja.createElement("span",null,bs),(Nu==null?void 0:Nu.is_now_version)&&Ja.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:(bs,Nu)=>Ja.createElement("div",null,Ja.createElement("span",{style:{color:"#1B8565",marginRight:"30rem",cursor:"pointer"},onClick:()=>Fc(void 0,null,function*(){var ic,tc;let Fu=yield(0,Ot.ZP)(`${Nu==null?void 0:Nu.url}`,{method:"get"});(Fu==null?void 0:Fu.status)===0&&((tc=(ic=Fu==null?void 0:Fu.data)==null?void 0:ic.nodes)==null?void 0:tc.length)>0&&Ss(Fu==null?void 0:Fu.data)})},"\u67E5\u770B"),Ja.createElement("span",{onClick:()=>Fc(void 0,null,function*(){if(Nu!=null&&Nu.is_now_version)return;let ic=yield(0,Ot.ZP)("/api/knowledge/v2/restore.json",{method:"post",body:{subject_id:Oa==null?void 0:Oa.pathId,backupFilePath:Nu==null?void 0:Nu.backupFilePath}});(ic==null?void 0:ic.status)===0&&(dh(),Bd(!1),rl(!1),Rt.ZP.info("\u5207\u6362\u6210\u529F"))}),style:{color:Nu!=null&&Nu.is_now_version?"#999999":"#1B8565",cursor:"pointer"}},"\u5207\u6362\u81F3\u5F53\u524D\u7248\u672C"))}]}),Ja.createElement(lr.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},pageSize:Pc.limit,total:mf==null?void 0:mf.total_count,current:Pc.page,onChange:(bs,Nu)=>Fc(void 0,null,function*(){Pc.page=bs,Pc.limit=Nu,Rf(Pc);let ic=yield(0,Ot.ZP)("/api/knowledge/v2/knowledge_histories.json",{mehtod:"get",params:Wd({subject_id:Oa==null?void 0:Oa.pathId,nodeUuid:mn},Pc)});(ic==null?void 0:ic.status)===0&&(Bd(!0),md(ic))})})),Ja.createElement(Bt.default,{open:((Ua=Eo==null?void 0:Eo.nodes)==null?void 0:Ua.length)>0,title:"\u5386\u53F2\u56FE\u8C31",width:"1200rem",footer:null,getContainer:()=>so.current,destroyOnClose:!0,onCancel:()=>{Ss({})}},Ja.createElement(_f,{datas:Eo}))))),Ja.createElement(uc,null))};var Vh=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(wh),Pf={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",tupugx:"tupugx___iCNXk"},_d={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 $u="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==",sl="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==",dl="data:image/png;base64,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",Wu="data:image/png;base64,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";var Qc=Object.defineProperty,Gf=Object.defineProperties,Ed=Object.getOwnPropertyDescriptors,ff=Object.getOwnPropertySymbols,Sf=Object.prototype.hasOwnProperty,Fh=Object.prototype.propertyIsEnumerable,nh=(Oe,Fe,Me)=>Fe in Oe?Qc(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,kd=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Sf.call(Fe,Me)&&nh(Oe,Me,Fe[Me]);if(ff)for(var Me of ff(Fe))Fh.call(Fe,Me)&&nh(Oe,Me,Fe[Me]);return Oe},su=(Oe,Fe)=>Gf(Oe,Ed(Fe)),y0=({className:Oe,style:Fe={},title:Me="",childNode:jt=[],knowledgeNode:Pn=[]})=>{const Tr="rem",Fr=[{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}],mn=[{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}],_t=(qi="")=>{if(!qi)return"-";let aa=3;return/[\u4e00-\u9fff]/.test(qi)||(aa=7),(qi==null?void 0:qi.length)>=aa?(qi==null?void 0:qi.slice(0,aa-1))+"...":qi},Kn=()=>(Array.isArray(Pn)?Pn.slice(0,7):Array(7).fill("\u77E5\u8BC6\u70B9")).map((ca,Ra)=>{const Ei=Fr[Ra],Si=su(kd({},Ei),{bottom:`${Ei.bottom}${Tr}`,left:`${Ei.left}${Tr}`});return se.createElement("div",{key:Ra,style:Si,className:_d.smallBallGather},se.createElement("div",{className:_d.smallBall},se.createElement("b",null,_t(ca))),se.createElement("div",{className:_d.smallBallDish}))}),wr=()=>(Array.isArray(jt)?jt.slice(0,5):Array(5).fill("\u5B50\u8282\u70B9")).map((ca,Ra)=>{const Ei=mn[Ra],Si=su(kd({},Ei),{bottom:`${Ei.bottom}${Tr}`,left:`${Ei.left}${Tr}`});return se.createElement("div",{key:Ra,style:Si,className:_d.middleBall},se.createElement("div",null,se.createElement("b",null,_t(ca))))}),ra={position:"absolute",zIndex:1,bottom:0,width:"100%"};return se.createElement("div",{className:hr()(_d.box,Oe),style:Fe},se.createElement("img",{className:_d.pedestal,style:ra,src:$u}),se.createElement("img",{className:_d.pedestalHover,style:ra,src:sl}),Kn(),se.createElement("div",{style:{position:"absolute",zIndex:9,bottom:138+Tr,left:"50%",transform:"translateX(-50%)"},className:_d.middleBallDish}),wr(),se.createElement("div",{style:{position:"absolute",zIndex:15,bottom:214+Tr,left:"50%",transform:"translateX(-50%)"},className:_d.largeBallDish}),se.createElement("div",{style:{position:"absolute",zIndex:16,bottom:234+Tr,left:120+Tr},className:_d.largeBall},se.createElement("b",null,_t(Me))),se.createElement("img",{style:su(kd({},ra),{zIndex:17}),className:_d.spectrum,src:dl}),se.createElement("img",{style:su(kd({},ra),{zIndex:17}),className:_d.spectrumHover,src:Wu}),se.createElement("div",{title:Me,style:{position:"absolute",zIndex:18,bottom:304+Tr,left:0,fontSize:24+Tr,width:"100%",textAlign:"center"},className:"c-white blod"},(0,Vt.Pq)(Me,9)))},kf=Object.defineProperty,rh=Object.defineProperties,ih=Object.getOwnPropertyDescriptors,o0=Object.getOwnPropertySymbols,b0=Object.prototype.hasOwnProperty,s0=Object.prototype.propertyIsEnumerable,Ch=(Oe,Fe,Me)=>Fe in Oe?kf(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,x0=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))b0.call(Fe,Me)&&Ch(Oe,Me,Fe[Me]);if(o0)for(var Me of o0(Fe))s0.call(Fe,Me)&&Ch(Oe,Me,Fe[Me]);return Oe},l0=(Oe,Fe)=>rh(Oe,ih(Fe));function E0(Oe){const Fe=new Map,Me=[];return Oe.nodes.forEach(jt=>{const Pn=l0(x0({},jt.properties),{children:[]});Fe.set(Pn.uuid,Pn)}),Oe.relationships.forEach(jt=>{const Pn=Fe.get(jt.startNodeUuid),Tr=Fe.get(jt.endNodeUuid);Pn&&Tr&&Pn.children.push(Tr)}),Oe.nodes.forEach(jt=>{const Pn=jt.properties;if(!Oe.relationships.some(mn=>mn.startNodeUuid===Pn.uuid||mn.endNodeUuid===Pn.uuid))return;Oe.relationships.some(mn=>mn.endNodeUuid===Pn.uuid)||Me.push(Fe.get(Pn.uuid))}),Me.length===1?Me[0]:Me}function Qh(Oe,Fe){const Me=new Set,jt=[];return Oe.forEach(Pn=>{const Tr=Pn[Fe[0]],Fr=Pn[Fe[1]];if(!Tr||!Fr)return;const mn=`${Tr}-${Fr}`,_t=`${Fr}-${Tr}`;Tr!==Fr&&!Me.has(mn)&&!Me.has(_t)&&(jt.push(Pn),Me.add(mn),Me.add(_t))}),jt}const Yh=(Oe,Fe)=>{const Me=Oe==null?void 0:Oe.map(Pn=>{const Tr=Fr=>{let mn=[Fr.uuid];return Fr.children.forEach(_t=>{mn=mn.concat(Tr(_t))}),mn};return Tr(Pn)});return Fe.map(Pn=>{let Tr,Fr;return Me.forEach(mn=>{mn.includes(Pn.startNodeUuid)&&(Tr=mn[0]),mn.includes(Pn.endNodeUuid)&&(Fr=mn[0])}),l0(x0({},Pn),{firstStartNodeUuid:Tr,firstEndNodeUuid:Fr})})};var Bu=he(59301),w0=({data:Oe})=>{const Fe=(0,se.useRef)(),Me=(0,se.useRef)();function jt(Fr,mn,_t){let Kn,wr;switch(mn){case"top":Kn=Math.ceil(Fr.left+Fr.width/2-_t.left),wr=Math.ceil(Fr.top-_t.top);break;case"bottom":Kn=Math.ceil(Fr.left+Fr.width/2-_t.left),wr=Math.ceil(Fr.bottom-_t.top+15);break;case"left":Kn=Math.ceil(Fr.left-_t.left-10),wr=Math.ceil(Fr.top+Fr.height/2-_t.top+80);break;case"right":Kn=Math.ceil(Fr.right-_t.left+10),wr=Math.ceil(Fr.top+Fr.height/2-_t.top+50);break}return{x:Kn,y:wr}}function Pn(Fr,mn){const _t={x:parseInt(Fr.left+Fr.width/2),y:parseInt(Fr.top+Fr.height/2)},Kn={x:parseInt(mn.left+mn.width/2),y:parseInt(mn.top+mn.height/2)},wr=Kn.x-_t.x,ra=Kn.y-_t.y;let qi,aa;return Math.abs(wr)>Math.abs(ra)?(qi=wr>0?"right":"left",aa=wr>0?"left":"right"):(qi=ra>0?"bottom":"top",aa=ra>0?"top":"bottom"),{startEdge:qi,endEdge:aa}}function Tr(){let Fr=Oe;if(!(Fr!=null&&Fr.length))return;const mn=document.getElementById("lineContainer"),_t=document.getElementById("parentContainer").getBoundingClientRect();mn.querySelectorAll("line").forEach(Kn=>Kn.remove()),Fr.forEach(Kn=>{const wr=document.getElementById(Kn.from),ra=document.getElementById(Kn.to),qi=wr.getBoundingClientRect(),aa=ra.getBoundingClientRect();let{startEdge:ca,endEdge:Ra}=Kn;if(!ca||!Ra){const Sa=Pn(qi,aa);ca=ca||Sa.startEdge,Ra=Ra||Sa.endEdge}const Ei=jt(qi,ca,_t),Si=jt(aa,Ra,_t),ba=document.createElementNS("http://www.w3.org/2000/svg","line");if(ba.setAttribute("x1",Ei.x+Kn.offsetStart.x),ba.setAttribute("y1",Ei.y+Kn.offsetStart.y),ba.setAttribute("x2",Ei.x+Kn.offsetStart.x+.01),ba.setAttribute("y2",Ei.y+Kn.offsetStart.y),ba.setAttribute("stroke",`url(#${Kn.gradient})`),ba.setAttribute("stroke-width","2"),Kn.dashed&&ba.setAttribute("stroke-dasharray","5, 5"),Kn.arrow==="start"?ba.setAttribute("marker-start",Kn!=null&&Kn.animated?"url(#triangle-start-h)":"url(#triangle-start)"):Kn.arrow==="end"?ba.setAttribute("marker-end",Kn!=null&&Kn.animated?"url(#triangle-end-h)":"url(#triangle-end)"):Kn.arrow==="both"&&(ba.setAttribute("marker-start",Kn!=null&&Kn.animated?"url(#triangle-start-h)":"url(#triangle-start)"),ba.setAttribute("marker-end",Kn!=null&&Kn.animated?"url(#triangle-end-h)":"url(#triangle-end)")),Kn.animated){ba.classList.add("dashed-line");const Sa=document.createElementNS("http://www.w3.org/2000/svg","animate");Sa.setAttribute("attributeName","x2"),Sa.setAttribute("from",Ei.x+Kn.offsetStart.x),Sa.setAttribute("to",Si.x+Kn.offsetEnd.x+.01),Sa.setAttribute("dur","1s"),Sa.setAttribute("fill","freeze"),ba.appendChild(Sa);const Uo=document.createElementNS("http://www.w3.org/2000/svg","animate");Uo.setAttribute("attributeName","y2"),Uo.setAttribute("from",Ei.y+Kn.offsetStart.y),Uo.setAttribute("to",Si.y+Kn.offsetEnd.y),Uo.setAttribute("dur","1s"),Uo.setAttribute("fill","freeze"),ba.appendChild(Uo)}else ba.setAttribute("x2",Si.x+Kn.offsetEnd.x+.01),ba.setAttribute("y2",Si.y+Kn.offsetEnd.y);mn.appendChild(ba)})}return(0,se.useEffect)(()=>{Oe!=null&&Oe.length&&Tr()},[Oe]),(0,se.useEffect)(()=>(window.addEventListener("resize",()=>Tr),window.addEventListener("scroll",()=>Tr),()=>{window.removeEventListener("resize",Tr),window.removeEventListener("scroll",Tr)}),[]),Bu.createElement(Bu.Fragment,null,Bu.createElement("svg",{id:"lineContainer",style:{width:"100%",height:"100%",position:"absolute",top:0,left:0}}),Bu.createElement("svg",null,Bu.createElement("defs",null,Bu.createElement("linearGradient",{id:"gradient1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},Bu.createElement("stop",{"stop-color":"#42BECD",offset:"0%"}),Bu.createElement("stop",{"stop-color":"#3C30C6",offset:"100%"})),Bu.createElement("linearGradient",{id:"gradient2",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},Bu.createElement("stop",{"stop-color":"#2DE1FD",offset:"0%"}),Bu.createElement("stop",{"stop-color":"#C7FFB0",offset:"100%"})),Bu.createElement("marker",{id:"triangle-start",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Bu.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient1)"})),Bu.createElement("marker",{id:"triangle-end",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Bu.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient1)"})),Bu.createElement("marker",{id:"triangle-start-h",viewBox:"0 0 10 10",refX:"2",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Bu.createElement("path",{d:"M 10 0 L 0 5 L 10 10 z",fill:"url(#gradient2)"})),Bu.createElement("marker",{id:"triangle-end-h",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto"},Bu.createElement("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"url(#gradient2)"})))))},ah=he(61485),cp=Object.defineProperty,u0=Object.defineProperties,dp=Object.getOwnPropertyDescriptors,Oc=Object.getOwnPropertySymbols,oh=Object.prototype.hasOwnProperty,vh=Object.prototype.propertyIsEnumerable,Lf=(Oe,Fe,Me)=>Fe in Oe?cp(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,hf=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))oh.call(Fe,Me)&&Lf(Oe,Me,Fe[Me]);if(Oc)for(var Me of Oc(Fe))vh.call(Fe,Me)&&Lf(Oe,Me,Fe[Me]);return Oe},ee=(Oe,Fe)=>u0(Oe,dp(Fe)),ae=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())}),ce=({subjectId:Oe,setActivated:Fe,onAddSuccess:Me,settpacti:jt})=>{const Pn=(0,je.useSelector)(Gr=>Gr),{pathsDetail:{detail:Tr={}}}=Pn,[Fr]=Xe.default.useForm(),[mn,_t]=(0,se.useState)(""),[Kn,wr]=(0,se.useState)(!1),[ra,qi]=(0,se.useState)(!0),[aa,ca]=(0,se.useState)(!1),[Ra,Ei]=(0,se.useState)([]),[Si,ba]=(0,se.useState)([]),[Sa,Uo]=(0,se.useState)(null),[Ua,Oa]=(0,se.useState)(),xo=(0,se.useRef)(),di=(0,se.useRef)();let Ca=(0,se.useRef)().current,va=(0,se.useRef)().current,ro=(0,se.useRef)(!1).current;const Pa=Tr==null?void 0:Tr.can_managed;(0,se.useEffect)(()=>{Oe&&rl()},[Oe]);const rl=()=>ae(void 0,null,function*(){var Gr,so,Ti,oa,Ea;qi(!0);const Yo=yield(0,Ot.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:-1,subject_id:Oe}});if(Yo.status===0){_t((oa=(Ti=(so=(Gr=Yo==null?void 0:Yo.data)==null?void 0:Gr.nodes)==null?void 0:so[0])==null?void 0:Ti.properties)==null?void 0:oa.uuid);const Eo=((Ea=Yo==null?void 0:Yo.data)==null?void 0:Ea.relationships)||[];let Ss=[],_s=[];Eo==null||Eo.forEach(Hl=>{["\u5173\u8054"].includes(Hl.type)?Ss.push(Hl):["\u5305\u542B"].includes(Hl.type)&&_s.push(Hl)}),Ss=Qh(Ss,["startNodeUuid","endNodeUuid"]);const il=ee(hf({},Yo==null?void 0:Yo.data),{relationships:_s}),Ks=E0(il);let Kl=Yh((Ks==null?void 0:Ks.children)||[],Ss);console.log(Kl,3),Kl=Qh(Kl,["firstStartNodeUuid","firstEndNodeUuid"]),Ei((Ks==null?void 0:Ks.children)||[]),ba(Kl),console.log(Kl,Ks==null?void 0:Ks.children,222)}qi(!1)});(0,se.useEffect)(()=>{Si!=null&&Si.length&&Oa(Si.map(Gr=>({from:Gr.firstStartNodeUuid,to:Gr.firstEndNodeUuid,animated:!1,dashed:!0,arrow:"both",offsetStart:{x:0,y:0},offsetEnd:{x:0,y:1},gradient:"gradient1"})))},[Si]),(0,se.useEffect)(()=>{var Gr;Ua!=null&&Ua.length&&((Gr=Ua==null?void 0:Ua.map)==null||Gr.call(Ua,so=>{so.animated=so.from===Sa||so.to===Sa,so.gradient=so.from===Sa||so.to===Sa?"gradient2":"gradient1"}),Oa([...Ua]))},[Sa]);function xl(Gr){var so,Ti;if(!ro)return;const oa=Gr.pageY-Ca;(Ti=(so=xo.current)==null?void 0:so.scrollTo)==null||Ti.call(so,0,va-oa)}function Xo(Gr){var so;ro=!0,Ca=Gr.pageY,va=((so=xo.current)==null?void 0:so.scrollTop)||0}function _l(Gr){ro=!1}(0,se.useEffect)(()=>(document.addEventListener("mousedown",Xo),document.addEventListener("mousemove",xl),document.addEventListener("mouseup",_l),()=>{document.removeEventListener("mouseup",_l),document.removeEventListener("mousemove",xl),document.removeEventListener("mousedown",Xo)}),[]);const ts=Gr=>ae(void 0,null,function*(){const{nodeType:so,description:Ti,name:oa,tags:Ea}=Gr;ca(!0);const Yo=yield(0,Ot.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:Oe,properties:{description:Ti,rootNodeUuid:mn,name:oa,nodeType:so[0],tags:(Ea==null?void 0:Ea.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:mn,type:"\u5305\u542B"}]}});(Yo==null?void 0:Yo.status)===0&&(wr(!1),rl(),Me()),ca(!1)}),ko=()=>{const Gr=[],so=Ra==null?void 0:Ra.map((oa,Ea)=>{var Yo;let Eo;const Ss=Ea+1,_s=Gr.length-3,il=Gr[_s];Ss%3===1&&(Eo={top:il!==void 0?`${parseFloat(il==null?void 0:il.top)+600}rem`:"100rem",left:"50%",marginLeft:"-146rem"}),Ss%3===2&&(Eo={top:il!==void 0?`${parseFloat(il==null?void 0:il.top)+600}rem`:"380rem",left:0}),Ss%3===0&&(Eo={top:il!==void 0?`${parseFloat(il==null?void 0:il.top)+600}rem`:"380rem",right:0}),Gr.push(Eo);let Ks=[],Kl=(Yo=oa==null?void 0:oa.children)==null?void 0:Yo.map(Hl=>{var Hu;return Hl!=null&&Hl.children&&((Hu=Hl==null?void 0:Hl.children)==null||Hu.forEach(Wc=>{Ks.push(Wc.name)})),Hl.name});return Kl.length>5&&(Kl[0]="..."),Ks.length>7&&(Ks[0]="..."),se.createElement("div",{className:Pf.listItem,key:Ea,onMouseEnter:()=>Uo(oa==null?void 0:oa.uuid),onMouseLeave:()=>Uo(null),id:oa==null?void 0:oa.uuid,onClick:()=>{Fe(oa==null?void 0:oa.uuid),jt(oa==null?void 0:oa.uuid)},style:hf({position:"absolute",zIndex:10},Eo)},se.createElement(y0,{childNode:Kl,knowledgeNode:Ks,title:oa==null?void 0:oa.name}))}),Ti=parseFloat(Gr[Gr.length-1].top)+352+80+"rem";return se.createElement("div",{ref:di,style:{height:Ti}},so)};return se.createElement(lo.Z,null,se.createElement("div",{className:Pf.wrap},ra&&se.createElement(wt.Z,{style:{width:"100%",marginTop:"300rem"},spinning:ra}),!ra&&se.createElement(se.Fragment,null,Pa&&se.createElement("div",{className:Pf.add,onClick:()=>wr(!0)},se.createElement("i",{className:"iconfont icon-tianjiatixing"})),se.createElement("span",{className:Pf.tupugx,onClick:()=>{let Gr=localStorage.getItem("tpuuid");Fe(Gr),jt(Gr)}},"\u8FD4\u56DE"),Ra!=null&&Ra.length?se.createElement("div",{className:Pf.dimensionalBall,ref:xo},se.createElement("div",{className:Pf.archer,id:"parentContainer"},ko(),se.createElement(w0,{data:Ua}))):se.createElement(qa.Z,{text:"\u6682\u65E0\u56FE\u8C31\uFF0C\u7ACB\u5373\u65B0\u5EFA\u4E00\u4E2A\u56FE\u8C31\u5427\uFF5E",textColor:"#fff",buttonText:Pa&&"\u65B0\u5EFA\u56FE\u8C31",onClick:()=>wr(!0)})),se.createElement(Bt.default,{open:Kn,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>wr(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{Fr.resetFields()},confirmLoading:aa,onOk:()=>Fr.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},se.createElement("div",{className:Pf.modal},se.createElement("div",{className:Pf.mHead},"\u8282\u70B9\u5C5E\u6027"),se.createElement(Xe.default,{form:Fr,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:ts,className:Pf.form},se.createElement(Xe.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"}]},se.createElement(vt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),se.createElement(Xe.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"}]},se.createElement(vt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),se.createElement(Xe.default.Item,{className:Pf.mType,label:se.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",se.createElement(Sn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},se.createElement(ah.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},se.createElement(ot.Z,{subjectId:Oe,type:1})))))))},me={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"},Se="data:image/png;base64,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",Qe="data:image/png;base64,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",ct="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",xt="data:image/png;base64,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",kt="data:image/png;base64,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",Yn={wave:"wave___rx4XG",fillWrap:"fillWrap___q512j",svgBox:"svgBox___DfbUu"},vr=Object.defineProperty,bi=Object.getOwnPropertySymbols,si=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,Ga=(Oe,Fe,Me)=>Fe in Oe?vr(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Zo=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))si.call(Fe,Me)&&Ga(Oe,Me,Fe[Me]);if(bi)for(var Me of bi(Fe))xa.call(Fe,Me)&&Ga(Oe,Me,Fe[Me]);return Oe};const Ps=Oe=>React.createElement("svg",Zo({width:449,height:204,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},Oe),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 Zs="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQ5IiBoZWlnaHQ9IjIwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSI0MS41MzIlIiB4Mj0iNTEuNDM3JSIgeTI9IjY1LjI1NCUiIGlkPSJjIj48c3RvcCBzdG9wLWNvbG9yPSIjMzRENUEyIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iIzFEOUY3NiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBpZD0iYSIgZD0iTTAgMGg0NDl2MjA0SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PGcgbWFzaz0idXJsKCNiKSI+PHBhdGggZD0iTTAgNy43MDRjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM2IDQ1IDAgMTMtMTEgMzAtOS41MTcgNDUgMHMxNSAxNyA0NSAwdjE5Nkgwdi0xOTZaIiBmaWxsPSJ1cmwoI2MpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDApIi8+PHBhdGggZD0iTTAgMTFjMTQuNjY3IDggMjkuNjY3IDggNDUgMCA2LjUzNy0zLjQxIDIzLjc3Ni0xNC45ODIgNDUgMCAxNyAxMiAyOSA5IDQ1IDBzMzEtOSA0NSAwYzI1IDE3IDM1IDggNDUgMHMzMi4zNDQtNy45MSA0NSAwYzE2IDEwIDMyIDEwIDQ1IDAgMTAuOTQ3LTguNDIgMzMuMTI0LTguNzEgNDUgMCAxNSAxMSAzMS44MzkgMTEuMTM3IDQ1IDAgMTMtMTEgMzAtMTAgNDUgMHMxNSAxNyA0NSAwdjE5M0gwVjExWiIgZmlsbD0iIzM4RTVBRSIvPjwvZz48L2c+PC9zdmc+",qs=({percentage:Oe,size:Fe=180,unit:Me="rem"})=>{const[jt,Pn]=(0,se.useState)(["",""]),[Tr,Fr]=(0,se.useState)(0),mn=(0,se.useRef)(null),_t=(0,se.useRef)(null);(0,se.useEffect)(()=>(mn.current&&(clearTimeout(_t.current),_t.current=setTimeout(()=>{var aa;const ca=Tr+20;ca+Fe>((aa=mn.current)==null?void 0:aa.offsetWidth)-40&&Pn([...jt,""]),Fr(ca)},200)),()=>{clearTimeout(_t.current)}),[mn.current,Tr]),(0,se.useEffect)(()=>(window.addEventListener("resize",Kn),()=>{window.removeEventListener("resize",Kn)}),[]);const Kn=()=>{Fr(0)},wr={width:Fe+Me,height:Fe+Me},ra=148-Fe*(Oe/100),qi=()=>se.createElement("img",{src:Zs,style:{width:`449${Me}`,height:`204${Me}`}});return se.createElement("div",{className:Yn.wave,style:wr},se.createElement("div",{className:Yn.fillWrap},se.createElement("div",{style:{fontSize:`28${Me}`,zIndex:2,color:"#fff"}},Oe,"%"),se.createElement("div",{className:Yn.svgBox,ref:mn,style:{top:ra+Me,transform:`translateX(-${Tr}px)`}},jt.map((aa,ca)=>se.createElement(qi,{key:ca})))))},ml=he(94811),Cl={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"},ec=Object.defineProperty,Rc=Object.defineProperties,Md=Object.getOwnPropertyDescriptors,Jc=Object.getOwnPropertySymbols,$d=Object.prototype.hasOwnProperty,pf=Object.prototype.propertyIsEnumerable,od=(Oe,Fe,Me)=>Fe in Oe?ec(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,ef=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))$d.call(Fe,Me)&&od(Oe,Me,Fe[Me]);if(Jc)for(var Me of Jc(Fe))pf.call(Fe,Me)&&od(Oe,Me,Fe[Me]);return Oe},Du=(Oe,Fe)=>Rc(Oe,Md(Fe)),qc=({dataSource:Oe=[]})=>{const[Fe,Me]=(0,se.useState)([]),[jt,Pn]=(0,se.useState)(0),Tr=(0,se.useRef)(String(Math.random()).slice(-6));(0,se.useEffect)(()=>{if(Oe!=null&&Oe.length){const Kn=_t(Oe),wr=Oe.map((ra,qi)=>Du(ef({value:ra,lineWidth:30,pillarWidth:104+Kn[qi]},mn[qi]),{from:mn[qi].from+Tr.current,to:mn[qi].to+Tr.current}));Me(wr),Pn(jt+1)}},[JSON.stringify(Oe)]),(0,se.useEffect)(()=>{jt>0&&Fr()},[jt]),(0,se.useEffect)(()=>(window.addEventListener("resize",Fr),()=>{window.removeEventListener("resize",Fr)}),[jt]);const Fr=()=>{const Kn=Fe.map((wr,ra)=>{const{from:qi,to:aa}=wr,ca=document.querySelector(`#${qi}`),Ra=document.querySelector(`#${aa}`),Ei=ca.getBoundingClientRect(),Si=Ra.getBoundingClientRect(),ba=Math.abs(Si.left-Ei.left);return Du(ef({},wr),{lineWidth:ba})});Me(Kn)},mn=[{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 _t(Kn){const wr=Kn.reduce((ra,qi)=>ra+qi,0);return Kn.map(ra=>ra/wr*100)}return se.createElement("div",{className:Cl.trapezoid},se.createElement("div",{className:Cl.textBox},Fe.map((Kn,wr)=>{const{value:ra,lineWidth:qi,title:aa,from:ca}=Kn,Ra=wr+1;return se.createElement("div",{key:wr,className:Cl[`text${Ra}`]},se.createElement("div",{className:Cl.tip},aa,se.createElement("span",null,ra)),se.createElement("div",{id:ca,className:Cl.line},se.createElement("div",{style:{width:qi},className:Cl.l})))})),se.createElement("div",{className:Cl.pillarBox},Fe.map((Kn,wr)=>{const{pillarWidth:ra,pillarTitle:qi,to:aa}=Kn,ca=wr+1;return se.createElement("div",{key:wr,className:Cl[`pillar${ca}`],style:{width:ra+"rem"}},se.createElement("span",null,qi),se.createElement("div",{id:aa,className:Cl.point}))})))},ss=he(59301),pd=Object.defineProperty,Bh=Object.getOwnPropertySymbols,bf=Object.prototype.hasOwnProperty,Id=Object.prototype.propertyIsEnumerable,Ae=(Oe,Fe,Me)=>Fe in Oe?pd(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,xe=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))bf.call(Fe,Me)&&Ae(Oe,Me,Fe[Me]);if(Bh)for(var Me of Bh(Fe))Id.call(Fe,Me)&&Ae(Oe,Me,Fe[Me]);return Oe},Pe=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())}),gt=({subjectId:Oe,uuid:Fe,isAll:Me})=>{const[jt,Pn]=(0,se.useState)(!1),[Tr,Fr]=(0,se.useState)({type:0,course_id:null}),[mn,_t]=(0,se.useState)(!0),[Kn,wr]=(0,se.useState)(!0),[ra,qi]=(0,se.useState)([]),[aa]=(0,je.useSearchParams)(),[ca,Ra]=(0,se.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Ei=[{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)"}}],[Si,ba]=(0,se.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:[0,0,0],masteryRate:Ei});(0,se.useEffect)(()=>{jt?Sa(Tr):Fr({type:0,course_id:null})},[jt]),(0,se.useEffect)(()=>{jt&&Pn(!1)},[Fe]);const Sa=(xo,di=!1)=>Pe(void 0,null,function*(){var Ca,va,ro,Pa,rl,xl,Xo,_l,ts,ko;di?wr(!0):_t(!0);const Gr=yield(0,Ot.ZP)(Me?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:xe({subject_id:Oe,parentNodeUuid:Fe,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},xo)});if((Gr==null?void 0:Gr.status)===0){let so=(Ca=Gr==null?void 0:Gr.data)==null?void 0:Ca.metricCounters;so=so||[];const Ti={graphCount:((va=so.find(Eo=>(Eo==null?void 0:Eo.name)==="\u56FE\u8C31"))==null?void 0:va.count)||0,tagCount:((ro=so.find(Eo=>(Eo==null?void 0:Eo.name)==="\u6807\u7B7E"))==null?void 0:ro.count)||0,resourceCount:((Pa=so.find(Eo=>(Eo==null?void 0:Eo.name)==="\u8D44\u6E90"))==null?void 0:Pa.count)||0,proportionCount:(rl=Gr==null?void 0:Gr.data)==null?void 0:rl.resource_rate};let oa=Object.entries((xl=Gr==null?void 0:Gr.data)==null?void 0:xl.study_grasp_hash).map(([Eo,Ss],_s)=>({name:Eo,value:Ss,itemStyle:Ei[_s].itemStyle}));const Ea={averageCompletionRate:(Xo=Gr==null?void 0:Gr.data)==null?void 0:Xo.study_complete_rate,averageMasteryRate:(_l=Gr==null?void 0:Gr.data)==null?void 0:_l.study_grasp_rate,completionRate:Object.values((ts=Gr==null?void 0:Gr.data)==null?void 0:ts.study_complete_hash),masteryRate:oa};console.log(oa,"newMasteryRate");const Yo=(ko=Gr==null?void 0:Gr.courses)==null?void 0:ko.map(Eo=>({label:Eo.name,value:Eo.id}));qi(Yo),Ra(Ti),ba(Ea)}setTimeout(()=>{_t(!1)},500),wr(!1)}),Uo=xo=>{Tr.type=xo,Fr(xe({},Tr)),(xo!==2||Tr.course_id)&&Sa(Tr,!0)},Ua=xo=>{Tr.course_id=xo,Fr(xe({},Tr)),Sa(Tr,!0)},Oa=[{name:"\u5168\u90E8",id:0},{name:"\u81EA\u4E3B\u5B66\u4E60",id:1},{name:"\u8BFE\u5802\u5B66\u4E60",id:2}];return ss.createElement(lo.Z,null,ss.createElement("div",{className:me.statistics},ss.createElement("div",{onClick:()=>Pn(!0),className:me.noUnfold},ss.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:Se}),ss.createElement("span",null,"\u7EDF"),ss.createElement("span",null,"\u8BA1")),ss.createElement("div",{className:me.wrapBox,style:{right:jt?0:"-600rem"}},mn&&ss.createElement(wt.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!mn&&ss.createElement(ss.Fragment,null,ss.createElement("div",{className:me.scrollBox},ss.createElement("div",{className:me.content},ss.createElement("div",{className:me.title},ss.createElement("img",{src:Qe}),ss.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),ss.createElement(Lr.Z,{className:me.box,justify:"space-between"},ss.createElement("div",{className:me.left},ss.createElement("div",null,ss.createElement("span",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF"),ss.createElement("b",null,ca==null?void 0:ca.graphCount)),ss.createElement("div",{style:{margin:"18rem 0"}},ss.createElement("span",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF"),ss.createElement("b",null,ca==null?void 0:ca.tagCount)),ss.createElement("div",null,ss.createElement("span",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"),ss.createElement("b",null,ca==null?void 0:ca.resourceCount))),ss.createElement("div",{className:me.right},jt&&ss.createElement(qs,{percentage:ca==null?void 0:ca.proportionCount}),ss.createElement("div",{className:"c-white",style:{marginTop:"20rem",fontSize:"14rem"}},"\u5DF2\u5173\u8054\u8D44\u6E90\u7684\u6807\u7B7E\u8282\u70B9\u5360\u6BD4"))),ss.createElement("div",{style:{marginTop:"20rem"},className:me.title},ss.createElement("img",{src:ct}),ss.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),ss.createElement("div",{className:me.box},aa.get("type")!=="classrooms"&&ss.createElement("div",{className:me.head},ss.createElement("span",{style:{marginRight:"10rem",fontSize:"16rem"}},"\u7EDF\u8BA1\u8303\u56F4"),ss.createElement("div",{className:me.radio},Oa.map(xo=>ss.createElement("div",{className:Tr.type===xo.id?me.active:"",key:xo.id,onClick:()=>Uo(xo.id)},ss.createElement("b",null),ss.createElement("span",null,xo.name)))),Tr.type===2&&ss.createElement(Ma.default,{className:me.select,options:ra,value:Tr==null?void 0:Tr.course_id,onChange:Ua,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:xo=>xo.parentNode,style:{width:"156rem",marginLeft:"10rem"},suffixIcon:ss.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#1B8565",fontSize:"16rem"}})})),ss.createElement(wt.Z,{spinning:Kn},ss.createElement("div",{className:me.average},ss.createElement("div",{className:me.li},ss.createElement("img",{src:xt,style:{marginLeft:0}}),ss.createElement("aside",{className:me.yellow},ss.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),ss.createElement("div",null,ss.createElement("b",{style:{fontSize:"40rem"}},Si==null?void 0:Si.averageCompletionRate),ss.createElement("span",{style:{fontSize:"20rem"}},"%")))),ss.createElement("div",{className:me.li},ss.createElement("img",{src:kt}),ss.createElement("aside",{className:me.blue},ss.createElement("div",{style:{fontSize:"16rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),ss.createElement("div",null,ss.createElement("b",{style:{fontSize:"40rem"}},Si==null?void 0:Si.averageMasteryRate),ss.createElement("span",{style:{fontSize:"20rem"}},"%"))))),ss.createElement("div",{className:me.lineTitle},ss.createElement("b",null),ss.createElement("span",null,"\u5B8C\u6210\u7387"),ss.createElement("b",null)),ss.createElement("div",{className:me.echartsTwo},ss.createElement(qc,{dataSource:Si==null?void 0:Si.completionRate})),ss.createElement("div",{className:me.lineTitle,style:{marginTop:"40rem"}},ss.createElement("b",null),ss.createElement("span",null,"\u638C\u63E1\u7387"),ss.createElement("b",null)),ss.createElement("div",{className:me.echartsThree},ss.createElement(ml.Z,{dataSource:Si==null?void 0:Si.masteryRate})))))),jt&&ss.createElement("div",{onClick:()=>Pn(!1),className:me.unfold})))))},ft={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"},St="data:image/png;base64,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",zt="data:image/png;base64,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",Fn="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",Ar=he.p+"static/a.d3f19668.png",ur=he.p+"static/b.ba7414bd.png",Kt=he.p+"static/c.2b6f6bd3.png",Tn=he.p+"static/d.f1216ccd.png",Ir={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"},Li=Object.defineProperty,Bo=Object.defineProperties,Qo=Object.getOwnPropertyDescriptors,Wo=Object.getOwnPropertySymbols,Xs=Object.prototype.hasOwnProperty,Bl=Object.prototype.propertyIsEnumerable,Il=(Oe,Fe,Me)=>Fe in Oe?Li(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,Ku=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Xs.call(Fe,Me)&&Il(Oe,Me,Fe[Me]);if(Wo)for(var Me of Wo(Fe))Bl.call(Fe,Me)&&Il(Oe,Me,Fe[Me]);return Oe},wu=(Oe,Fe)=>Bo(Oe,Qo(Fe)),td=({dataSource:Oe=[]})=>{const[Fe,Me]=(0,se.useState)([]),[jt,Pn]=(0,se.useState)(0),Tr=(0,se.useRef)(String(Math.random()).slice(-6));console.log(Oe,Fe,223),(0,se.useEffect)(()=>{if(Oe!=null&&Oe.length){const Kn=_t(Oe),wr=Oe.map((ra,qi)=>wu(Ku({value:ra,lineWidth:30,cylinderWidth:40+Kn[qi]},mn[qi]),{from:mn[qi].from+Tr.current,to:mn[qi].to+Tr.current}));Me(wr),Pn(jt+1)}},[JSON.stringify(Oe)]),(0,se.useEffect)(()=>{jt>0&&Fr()},[jt]),(0,se.useEffect)(()=>(window.addEventListener("resize",Fr),()=>{window.removeEventListener("resize",Fr)}),[jt]);const Fr=()=>{const Kn=Fe.map((wr,ra)=>{const{from:qi,to:aa}=wr,ca=document.querySelector(`#${qi}`),Ra=document.querySelector(`#${aa}`),Ei=ca.getBoundingClientRect(),Si=Ra.getBoundingClientRect(),ba=Math.abs(Si.left-Ei.left);return wu(Ku({},wr),{lineWidth:ba})});Me(Kn)},mn=[{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 _t(Kn){const wr=Kn.reduce((ra,qi)=>ra+qi,0);return Kn.map(ra=>ra/wr*122)}return se.createElement("div",{className:Ir.cylinder},se.createElement("div",{className:Ir.cylinderBox},Fe.map((Kn,wr)=>{const{cylinderWidth:ra,lineWidth:qi,from:aa}=Kn,ca=wr+1;return se.createElement("div",{key:ca,className:Ir[`cylinder${ca}`],style:{width:ra+"rem"}},se.createElement("div",{className:Ir.item1}),se.createElement("div",{className:Ir.item2}),se.createElement("div",{className:Ir.item3}),se.createElement("div",{id:aa,style:{width:qi},className:Ir.point}))})),se.createElement("div",{className:Ir.textBox},Fe.map((Kn,wr)=>{const{title:ra,to:qi,value:aa}=Kn,ca=wr+1;return se.createElement("div",{key:ca,id:qi},se.createElement("span",{dangerouslySetInnerHTML:{__html:`${ra}${aa}%`}}))})))},as=he(59301),Yc=Object.defineProperty,jc=Object.getOwnPropertySymbols,tf=Object.prototype.hasOwnProperty,nf=Object.prototype.propertyIsEnumerable,wd=(Oe,Fe,Me)=>Fe in Oe?Yc(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,gf=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))tf.call(Fe,Me)&&wd(Oe,Me,Fe[Me]);if(jc)for(var Me of jc(Fe))nf.call(Fe,Me)&&wd(Oe,Me,Fe[Me]);return Oe},sh=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())}),Ld=({subjectId:Oe,uuid:Fe,isAll:Me})=>{const[jt,Pn]=(0,se.useState)(!1),[Tr,Fr]=(0,se.useState)({course_id:null}),[mn,_t]=(0,se.useState)(!0),[Kn,wr]=(0,se.useState)(!0),[ra,qi]=(0,se.useState)([]),[aa]=(0,je.useSearchParams)(),[ca,Ra]=(0,se.useState)({graphCount:0,tagCount:0,resourceCount:0,proportionCount:0}),Ei=[{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)"}}],[Si,ba]=(0,se.useState)({averageCompletionRate:0,averageMasteryRate:0,completionRate:Ei,masteryRate:[0,0,0],course_rank_num:0,course_rank_all_num:0,system_rank_num:0,system_rank_all_num:0});(0,se.useEffect)(()=>{jt?Sa(Tr):Fr({course_id:null})},[jt]),(0,se.useEffect)(()=>{jt&&Pn(!1)},[Fe]);const Sa=(Ua,Oa=!1)=>sh(void 0,null,function*(){var xo,di,Ca,va,ro,Pa,rl,xl,Xo,_l,ts,ko,Gr,so,Ti;Oa?wr(!0):_t(!0);const oa=yield(0,Ot.ZP)(Me?"/api/knowledge/v2/subject_statistics.json":"/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:gf({subject_id:Oe,parentNodeUuid:Fe,labels:"\u56FE\u8C31,\u6807\u7B7E,\u8D44\u6E90",depth:-1},Ua)});if((oa==null?void 0:oa.status)===0){let Ea=(xo=oa==null?void 0:oa.data)==null?void 0:xo.metricCounters;Ea=Ea||[];const Yo={graphCount:((di=Ea.find(il=>(il==null?void 0:il.name)==="\u56FE\u8C31"))==null?void 0:di.count)||0,tagCount:((Ca=Ea.find(il=>(il==null?void 0:il.name)==="\u6807\u7B7E"))==null?void 0:Ca.count)||0,resourceCount:((va=Ea.find(il=>(il==null?void 0:il.name)==="\u8D44\u6E90"))==null?void 0:va.count)||0,proportionCount:(ro=oa==null?void 0:oa.data)==null?void 0:ro.resource_rate};let Eo=Object.entries((Pa=oa==null?void 0:oa.data)==null?void 0:Pa.study_complete_hash).map(([il,Ks],Kl)=>({name:Ei[Kl].name,value:Ks,itemStyle:Ei[Kl].itemStyle}));const Ss={averageCompletionRate:(rl=oa==null?void 0:oa.data)==null?void 0:rl.study_complete_rate,averageMasteryRate:(xl=oa==null?void 0:oa.data)==null?void 0:xl.study_grasp_rate,completionRate:Eo,masteryRate:Object.values((Xo=oa==null?void 0:oa.data)==null?void 0:Xo.study_grasp_hash),course_rank_num:(_l=oa==null?void 0:oa.data)==null?void 0:_l.course_rank_num,course_rank_all_num:(ts=oa==null?void 0:oa.data)==null?void 0:ts.course_rank_all_num,system_rank_num:(ko=oa==null?void 0:oa.data)==null?void 0:ko.system_rank_num,system_rank_all_num:(Gr=oa==null?void 0:oa.data)==null?void 0:Gr.system_rank_all_num},_s=(so=oa==null?void 0:oa.courses)==null?void 0:so.map(il=>({label:il.name,value:il.id}));qi(_s),Ra(Yo),ba(Ss),Oa||Fr({course_id:((Ti=_s==null?void 0:_s[0])==null?void 0:Ti.value)||null})}setTimeout(()=>{_t(!1)},500),wr(!1)}),Uo=Ua=>{Tr.course_id=Ua,Fr(gf({},Tr)),Sa(Tr,!0)};return as.createElement(lo.Z,null,as.createElement("div",{className:ft.statistics},as.createElement("div",{onClick:()=>Pn(!0),className:ft.noUnfold},as.createElement("img",{style:{width:"32rem",marginBottom:"4rem"},src:St}),as.createElement("span",null,"\u7EDF"),as.createElement("span",null,"\u8BA1")),as.createElement("div",{className:ft.wrapBox,style:{right:jt?0:"-600rem"}},mn&&as.createElement(wt.Z,{style:{width:"100%",marginTop:"200rem"},spinning:!0}),!mn&&as.createElement(as.Fragment,null,as.createElement("div",{className:ft.scrollBox},as.createElement("div",{className:ft.content},as.createElement("div",{className:ft.title},as.createElement("img",{src:zt}),as.createElement("span",null,"\u56FE\u8C31\u7EDF\u8BA1\u5206\u6790")),as.createElement("div",{className:ft.top},as.createElement("div",{className:ft.topLi},as.createElement("div",null,ca==null?void 0:ca.graphCount),as.createElement("div",null,"\u77E5\u8BC6\u56FE\u8C31\u6570\u91CF")),as.createElement("div",{className:ft.topLi},as.createElement("div",null,ca==null?void 0:ca.tagCount),as.createElement("div",null,"\u6807\u7B7E\u8282\u70B9\u6570\u91CF")),as.createElement("div",{className:ft.topLi},as.createElement("div",null,ca==null?void 0:ca.resourceCount),as.createElement("div",null,"\u8D44\u6E90\u8282\u70B9\u6570\u91CF"))),as.createElement("div",{style:{marginTop:"20rem"},className:ft.title},as.createElement("img",{src:Fn}),as.createElement("span",null,"\u5B66\u4E60\u7EDF\u8BA1\u5206\u6790")),as.createElement(wt.Z,{spinning:Kn},as.createElement("div",{className:ft.bottom},as.createElement("div",{className:ft.bottomLi,style:{marginTop:"82rem",marginRight:"26rem"}},aa.get("type")!=="classrooms"&&as.createElement(Ma.default,{className:ft.select,options:ra,value:Tr==null?void 0:Tr.course_id,size:"small",onChange:Uo,placeholder:"\u8BF7\u9009\u62E9",getPopupContainer:Ua=>Ua.parentNode,style:{width:"222rem"},suffixIcon:as.createElement("i",{className:"iconfont icon-a-bianzu11",style:{color:"#fff",fontSize:"12rem"}})}),as.createElement("b",{style:{fontSize:"26rem",marginTop:"5rem"}},Si==null?void 0:Si.course_rank_num),as.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u8BFE\u5802\u6392\u540D"),as.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Si==null?void 0:Si.course_rank_all_num,"\u4EBA\uFF09"),as.createElement("img",{src:Ar})),as.createElement("div",{className:ft.bottomLi,style:{marginTop:"82rem"}},as.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Si==null?void 0:Si.system_rank_num),as.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\u7CFB\u7EDF\u6392\u540D"),as.createElement("div",{style:{fontSize:"16rem",marginTop:"4rem"}},"\uFF08\u5171",Si==null?void 0:Si.system_rank_all_num,"\u4EBA\uFF09"),as.createElement("img",{src:ur})),as.createElement("div",{className:ft.bottomLi,style:{marginTop:"104rem",marginRight:"26rem"}},as.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Si==null?void 0:Si.averageCompletionRate,"%"),as.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u5B8C\u6210\u7387"),as.createElement("img",{src:Kt})),as.createElement("div",{className:ft.bottomLi,style:{marginTop:"104rem"}},as.createElement("b",{style:{fontSize:"26rem",marginTop:"30rem"}},Si==null?void 0:Si.averageMasteryRate,"%"),as.createElement("div",{style:{fontSize:"14rem",marginTop:"2rem"}},"\u5E73\u5747\u638C\u63E1\u7387"),as.createElement("img",{src:Tn})),as.createElement("div",{className:ft.echarts},as.createElement("div",{className:ft.name},"\u5B8C\u6210\u60C5\u51B5"),as.createElement(ml.Z,{dataSource:Si==null?void 0:Si.completionRate})),as.createElement("div",{className:ft.echarts},as.createElement("div",{className:ft.name},"\u638C\u63E1\u60C5\u51B5"),as.createElement(td,{dataSource:Si==null?void 0:Si.masteryRate})))))),jt&&as.createElement("div",{onClick:()=>Pn(!1),className:ft.unfold})))))},Mf=he(59301),C0=Object.defineProperty,Tf=Object.getOwnPropertySymbols,Kd=Object.prototype.hasOwnProperty,Uf=Object.prototype.propertyIsEnumerable,zf=(Oe,Fe,Me)=>Fe in Oe?C0(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,lh=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Kd.call(Fe,Me)&&zf(Oe,Me,Fe[Me]);if(Tf)for(var Me of Tf(Fe))Uf.call(Fe,Me)&&zf(Oe,Me,Fe[Me]);return Oe},Dh=(Oe,Fe)=>{var Me={};for(var jt in Oe)Kd.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Tf)for(var jt of Tf(Oe))Fe.indexOf(jt)<0&&Uf.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},Jh=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Hf=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr,tpacti:mn,settpacti:_t}=Fe,Kn=Dh(Fe,["pathsDetail","user","globalSetting","loading","dispatch","tpacti","settpacti"]),wr,ra,qi,aa,ca,Ra;const Ei=(0,je.useParams)(),[Si,ba]=(0,se.useState)(""),[Sa,Uo]=(0,se.useState)([]),[Ua]=(0,je.useSearchParams)(),[Oa,xo]=(0,se.useState)([]),[di,Ca]=(0,se.useState)(1);(0,se.useEffect)(()=>{var Pa,rl,xl,Xo,_l,ts;if((Pa=Me==null?void 0:Me.detail)!=null&&Pa.nodes&&di===1){Uo((rl=Me==null?void 0:Me.detail)==null?void 0:rl.nodes),Ua.get("uuid")?ba(Ua.get("uuid")):ba((_l=(Xo=(xl=Me==null?void 0:Me.detail)==null?void 0:xl.nodes)==null?void 0:Xo[1])==null?void 0:_l.uuid);let ko=[...(ts=Me==null?void 0:Me.detail)==null?void 0:ts.nodes];xo(ko==null?void 0:ko.splice(1)),Ca(2)}},[(wr=Me==null?void 0:Me.detail)==null?void 0:wr.nodes]),(0,se.useEffect)(()=>{var Pa,rl,xl;ba(mn||((xl=(rl=(Pa=Me==null?void 0:Me.detail)==null?void 0:Pa.nodes)==null?void 0:rl[1])==null?void 0:xl.uuid))},[mn]);const va=(...Pa)=>Jh(void 0,[...Pa],function*(rl={}){return yield Fr({type:"pathsDetail/getKnowledgeGraphs",payload:lh({graphable_type:Ua.get("type")==="classrooms"?"course":"subject",graphable_id:Ei==null?void 0:Ei.pathId},rl)})});function ro(){return Jh(this,null,function*(){var Pa,rl,xl,Xo;const _l=yield va({graphable_id:Ei==null?void 0:Ei.pathId});ba((rl=(Pa=_l==null?void 0:_l.nodes)==null?void 0:Pa[1])==null?void 0:rl.uuid),_t((Xo=(xl=_l==null?void 0:_l.nodes)==null?void 0:xl[1])==null?void 0:Xo.uuid)})}return Mf.createElement("div",{style:{height:"calc(100vh - 72px - 170rem)"}},(Sa==null?void 0:Sa.length)>0&&Mf.createElement("div",{className:ht.content},((ra=Sa==null?void 0:Sa[0])==null?void 0:ra.uuid)===Si&&Si&&Mf.createElement(ce,{onAddSuccess:ro,setActivated:ba,subjectId:Ei==null?void 0:Ei.pathId,settpacti:_t}),((qi=Sa==null?void 0:Sa[0])==null?void 0:qi.uuid)!==Si&&Si&&Mf.createElement(Vh,{tpacti:mn,setactivied:()=>{var Pa;ba((Pa=Sa==null?void 0:Sa[0])==null?void 0:Pa.uuid)},initdata:ro,Tabsdatas:Oa,uuid:Si})),(aa=Me==null?void 0:Me.detail)!=null&&aa.can_managed?Mf.createElement(gt,{isAll:((ca=Sa==null?void 0:Sa[0])==null?void 0:ca.uuid)===Si,subjectId:Ei==null?void 0:Ei.pathId,uuid:Si}):Mf.createElement(Ld,{isAll:((Ra=Sa==null?void 0:Sa[0])==null?void 0:Ra.uuid)===Si,subjectId:Ei==null?void 0:Ei.pathId,uuid:Si}))};var qh=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(Hf),_h={TabsItemActive:"TabsItemActive___UqdaX",TabsItem:"TabsItem___L0dKD"},z0=he(84105),kh=he(59301),ng=Object.defineProperty,c0=Object.defineProperties,Lp=Object.getOwnPropertyDescriptors,B0=Object.getOwnPropertySymbols,H0=Object.prototype.hasOwnProperty,D0=Object.prototype.propertyIsEnumerable,fp=(Oe,Fe,Me)=>Fe in Oe?ng(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,R0=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))H0.call(Fe,Me)&&fp(Oe,Me,Fe[Me]);if(B0)for(var Me of B0(Fe))D0.call(Fe,Me)&&fp(Oe,Me,Fe[Me]);return Oe},P0=(Oe,Fe)=>c0(Oe,Lp(Fe)),rg=(Oe,Fe)=>{var Me={};for(var jt in Oe)H0.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&B0)for(var jt of B0(Oe))Fe.indexOf(jt)<0&&D0.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me};const d0=({DataProps:Oe,isActive:Fe=!1,onClick:Me})=>kh.createElement("div",{className:`current ${_h.TabsItem} ${Fe?_h.TabsItemActive:""}`,onClick:Me},(Oe==null?void 0:Oe.name)||""),j0=Oe=>{var Fe=Oe,{pathsDetail:Me,dispatch:jt,activied:Pn,setactivied:Tr,settpacti:Fr,tpacti:mn,setxxljac:_t,xxljac:Kn,TabsData:wr=[],tplist:ra=[]}=Fe,qi=rg(Fe,["pathsDetail","dispatch","activied","setactivied","settpacti","tpacti","setxxljac","xxljac","TabsData","tplist"]),aa,ca,Ra,Ei,Si;const ba=(0,se.useRef)(null),[Sa,Uo]=(0,se.useState)(0),[Ua,Oa]=(0,se.useState)(!1),xo=(0,se.useMemo)(()=>(wr==null?void 0:wr.filter(di=>![1,3,4].includes(di==null?void 0:di.key)))||[],[wr]);return(0,se.useEffect)(()=>{ba.current&&setTimeout(()=>{const di=(0,Vt.ZR)(ba.current,"rem",1,!0);Uo(di)},500)},[ba.current,Me==null?void 0:Me.detail]),(0,se.useEffect)(()=>{var di,Ca;((di=Me==null?void 0:Me.actionTabs)==null?void 0:di.key)==="\u4FEE\u6539tab\u4FE1\u606F"&&(jt({type:"pathsDetail/setActionTabs",payload:{key:""}}),Tr==null||Tr((Ca=Me==null?void 0:Me.actionTabs)==null?void 0:Ca.type),window.scrollTo({top:800,left:0,behavior:"smooth"}))},[(aa=Me==null?void 0:Me.actionTabs)==null?void 0:aa.key]),kh.createElement("div",{className:"flex c-white justify-between overflow_hidden",style:{height:Ua?"auto":"40rem",background:"#101C39",borderRadius:"22rem",backdropFilter:"blur(10rem)",fontSize:"16rem",lineHeight:"26rem"}},kh.createElement("div",{ref:ba,className:"flex flex-wrap",style:{gap:"25rem 40rem"}},(Si=((Ra=(ca=Me==null?void 0:Me.detail)==null?void 0:ca.nodes)==null?void 0:Ra.length)>1?(Ei=Me==null?void 0:Me.detail)==null?void 0:Ei.nodes.slice(1):[{isNull:!0}])==null?void 0:Si.map((di,Ca)=>{var va;return kh.createElement(d0,{key:di==null?void 0:di.uuid,DataProps:di!=null&&di.isNull?P0(R0({},di),{name:((va=wr==null?void 0:wr.find(ro=>(ro==null?void 0:ro.key)==3))==null?void 0:va.name)||(di==null?void 0:di.name)}):di,isActive:di!=null&&di.isNull?Pn==3:Pn==3&&(mn?(di==null?void 0:di.uuid)==mn:Ca==0),onClick:()=>{Fr==null||Fr(di==null?void 0:di.uuid),Tr==null||Tr(3)}})}),xo==null?void 0:xo.map(di=>kh.createElement(d0,{key:di==null?void 0:di.key,DataProps:di,isActive:Pn==(di==null?void 0:di.key),onClick:()=>{Tr==null||Tr(di==null?void 0:di.key)}}))),Sa>44&&kh.createElement("div",{className:"current flex text-nowrap",style:{padding:"7rem 20rem"},onClick:()=>{Oa(!Ua)}},kh.createElement("a",null,Ua?"\u6536\u8D77":"\u5C55\u5F00"," ",kh.createElement(z0.Z,{rotate:Ua?-180:0,rev:void 0}))))};var hp=(0,je.connect)(({pathsDetail:Oe})=>({pathsDetail:Oe}))(j0),Lh=he(44599),ig="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUwAAAFACAYAAADXrEUkAAAAAXNSR0IArs4c6QAAIABJREFUeF7svcuPHVme3/f7nXjeV76TyWRndVFsVvUMSz3SmKOR2hqrKQxgQMDAOwrWTqv5F7zworu28sIrA/YABrw2vbDhAQYeWALbM3BDraGm3a3iqKo5NayprMpKJvN5H/E852d9fyci82byUVlsVvUropsVceNGxL333Lif/P6eh6lbuhHoRqAbgW4ELjUCfKmjuoO6EehGoBuBbgSoA2Z3E3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPdCPQjUA3ApccgQ6Ylxyo7rBuBLoR6EagA2Z3D3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPdCPQjUA3ApccgQ6Ylxyo7rBuBLoR6EagA2Z3D3Qj0I1ANwKXHIEOmJccqO6wbgS6EehGoANmdw90I9CNQDcClxyBDpiXHKjusG4EuhHoRqADZncPfMUjIC+/5+QrfjsvfTfPPPlVv7uveDC6l/u8EeiA+Xkj1D3/mkegA+ZrHtDucl/hCHTA/AoHu3spjEAHzO4++OUdgQ6Yv7zf3S/pO++A+Uv6xXVvm6ib06e7C+ZH4ALMLnjsOgfeq90tz6iSZ3d0Q/tqQ/uVn9UpzK98yH+RX7AD5pfx7XTA/DJG9edzzQ6YP59x/wV91Q6YX8YX0wHzyxjVn881O2D+fMb9q31VOQNhZ/t9tUP/RV/t5XDl7uv7ogP6mo/vgPmaB/QX8nJfMTDfffdzfOPfff4ovWD3ax3Sd7/o1V5wwne/S18KvDpgftEv6Ks9vgPmVzveP59X64B5Ou4dMH8+t+Cvyqt2wPxV+SZf9jk6YHbA/HW4z7+Cz9gB8ysY5C/nJeb8kq/RODxnTs/ZyF/EXL537wukq929/Oi87NB7l7/M+SO/wIl3777YDP9c5Tp3wOsy5/ncr7fzb77qLfBFzuuA+UVG6xfq2A6Y81/HF+BeB8xfqPv4l+vNdMD85fq+5t5tB8wOmPMj0CnMr+Kn3AHzqxjlL+U1LgfMZyLWF2zrL2Jqv+xjXDTDHz6cM8u/84Iz7xB95z4R3fn8AXrZIe0lsL7M8v2LB82f+MyT/uBbt0jwmbBuT3+ZiX6Z94Fj3n2JLf95pntnkl92lF/fcR0wX99YfglXuhwUX/bCPwswn/FFzjkR5/2J9++/xGcJ0r0Ainjqjx4Q3/4SRu5Fl3xw4Ym3b8/5Jb8Aee/cIXmpG2DuyZf6Pn8GYJ7Tlxc/cFd++aXcVR0wv5RhfV0X7YD5ukayvU4HzNc9or9e1+uA+Qv9fXfAfN1fTwfM1z2iv17X64D5c/++f3YoNr6w0+/yuy9xTF7WzH7ZsMAEh0l6aorfIfrgwZlZvvPh2fYtInr4DhHWz1uG8RdIQXod39VPiR7Ro9MrXX3zpjycv+57F1+kefYh0eYf3BKaI+7bb59PM8KYPO8tPmO6v8SWnzffn/Vvnrffv/vd7146oazzd76Om6dr7/Z6RvFnusovFjBf6I+ci7o81/c454j8cD7gQ0TvvGR8Pvo5ABPIbJfJmzc/BzpnOL2R3To99nOV6txnRhzp1jxMO2D+TL+Yn+fJncL8Ekdf5ipsmFnwGOvzL9kB80v8Cp699E+xqwPmVzrmv0Iv1gHzS/wy54H5nJfB2Esbxf7e994lke/Su40dBnPr3Xff5cuaXfPR8OeZ5PeI+C5e7z6ZTz8gvrZD8ukfEF+bixIj++cSGT76UR7MmeC6Y05h/r9/Qmb+8958zofv9YgfPya6/i+J9raJtz/epq03tghrLMubW3K4s81Yv46v6DAkXq5Jr0nbW7Q8fSx0/Tp99PgxrWxcf8FrAKxKWF3+8yv/zL3ovdyej7ZfOAjB99NspSaFafMD4p0dks3NB/obfPDgAf2Lf/GH8v3vv0u3bt2Su3fvyj//5/f4nXfuzr23n8EkR0OU77Uugy5n81XvqQ6YrzpylzivAea5MW79UgDk974HZ6P/ETwHkArUtiv+Rd/j3ZfUCcKs/v7379N3vnOH/Jrozp07dP/+fV2fwu5CPg9M6Xnz+aK5/NbcZwZGeiFxVpNg//b2Y97aui5Y03Wi69ev0+PHj3XdLjvbxN/e8j/aH/xgm994Y4s+bgC5ubklO4BZs8RxwGW5KfErmuw7Ow9oc/Ma7ex8SqurG9K+lq5P3xHgvIV3r3s2t7ZkZ3ubsdYdj/X/z12yvyKht4gmpf88n330iOEPxRqPf//Nm/Leew/pnXe89/bUNfoe0Y27JA/+6AHdvn2bHjz4I3WLXnv7bf+a30fO5x1ZXyfe2yNZX79/OiZ7d+6cB/sF0/68//Nd3FPzf4B1G/fZeX8mXrQD6CV+znpIB8zLjtQrHPcyYLaXe1mAZv4lvygw58+9c0E2vg5gbodn984ZEol2dog3v00COD5vyOLduf3XiOhT0MIfub+3e+GcjVcYdZyye+681fWNM9B8SrTTvq4etXP+2I3N5thtoo+3GpRu0/rmluztbDPWLUyzBv7Pe5NvNiBtn7sIzLPg0YPTzbdv35YP/ugBv/327TkwnmXVfxFgvmTgOmC+4l3VAfNnGLjLnPoyYL73nje3bt26p5CACXbv3j3G+nnXvn+fjFccHjhNRLZVoedOgcL84AP/w8P69m1q1IxXNahYyTKS3m3izKtY+vDhQ0Yse9gopDffvCn/13vbwfL6mUncgnFvj3j9LglMaZwLjXa6bBG90Qq3Cx8Exz3Y8edEe7u8vr4hew0ksf3++w/Nysrq3Oc/A2YYEtc1CdY4v93G+tnx2qWDg33Gtdr1xsYG7e7uEm1sEK667UgiQ1y5HT1/f2+PV9fXpcXnqt2U/WCHs81NaahJrTRd3ySB9PzLPeLl9edHxn/3Cp0z3y8C88N7D/nGjVvy4Yf3GGGlzRs3/Od4QPQ8YI5GI/7w9m233oicPSJZv+9VaPv55xVmey9h3dxfdO/ePb3PmC++505hXub33AHzsqP0iseJiIHvEKffuwcoYsNfDNun+55zfRw2dzjhxwE/WFtl6EEIkw4QPA/E+cu1JYqtefiv//UjpptEN9+6SfTTR/TWPzvzMGLr8WP/fuFfTG7Ct0h0uL/D1zaJsnJTevEOE23S5jWgZfP0pRqRqLvev0+Grpz/UHtPiN65QvTeE78f20+eEF2Z8wEc8lM+OTL6+gdEtKJr/Lfd9mt9fv+AVlZXdK3PN9tYU7MP+xeWVoToKVVW5Mr6Or23t0freA9X1mnvyR6tX1l/7re7B8K9s0d57YQ+I9q4SvS42pBr+kEbrH6Kz79Dqxubsv+jHV5dbdUp0Sag2iww639Sk9y8SfToT/xOjPWjR0TY1wah3nyzFPzRQvklzHR4TP6ouYZuPzhzFavP8+3bApcLFrhf9vbuwff53M/TwBJmuVz0i3cpR88dsufu7Ezyy4/VFz5yHpjtyZftZnb/grvkYjBmPugCYLZLW+/cgvLWLf1hnn3PFyIwYQNIxQDU3xv+Svu7xH//Nsluowh1X2sybxBd3d0glWoKr7Prg5OPAuLV+dGae7BGREdHL3YFjc1rchMdnr2B0eJ5ReUR2yz7gKp/fp+I8FaxxrJg5857QlT+Jsl5a//M9C+rM7N/dYME44c1rlPAdJ9zhm7NqeKzkJKPL735z0ioyWRqwXn6Xi/kMo0vBprmauJflBPa+MXPqfIOmJf/aXfAvPxYfeEjAcx3798/FzFuFeKdO3fk/v37jDUu3G5jjccf3LnDiM6ofPxPrr4/JFUdqLvW4+/de2i8SfeQ35lTaR99FDOUykfxLW4V5PZjYvxI4Xfcuu7P133XSfZ+4CPaUET/4T+QWf37/vlHD3fNP/0vN9zDH+/q81c3Nuj9v3rIqsggyt6DOlynJ3t7dHLIvLC8JieHT/nm8poAmNHRAUPdnRwdsFKoWaLjI56MDQ9HizIZH/Nw5CPUk/EREy3RLDz29+TiItHxsV8TUd+SzAJirPF4Njnm/nBRsH7+F3N2fn9IMrQkk4AY60M6pOmYeTASocNlGo5IAM3HR8TXl0gAzPHRAX9ttOLwmXD9VVqjT5f3ZF0/PDXq1K+x9Ea33OH+Li+vbghAifG7eWvD7e/ucLZhZS7SROtFLW2ALNvyn393+zFvZNeF3nrkA/Nv3aQ3y4fyHv7iEdENIkFQ7kbWuFA+fMjrd2+5Dx74KLsu80n1f3hb6P599d1guUMk+CN8h9RV0AHz+TfN5+7tgPm5Q/TqBwCY9+l8is1l03a0KcVtTd/R5Q+bbexr1eNHH3k19tZbp78xte7we4Ol3Zp8rZmtF5qP0EBNPfDvb3+fePVbJPutwtsg+nsQUI2KxGa4t8dqzRLR4cG6vjYUI5ZzqvEtAGdOKS6fjWF4DDCeLUu0dPpgMqcuW1ZijeUCP5/5Us4d33C23VePzgPiiI5Ozx+6pfM+0DllSodEo+ZcJBj9zhLJ+82ZN1dI3qM9j889ovLW+nn12YjP1XWSh/B1Vmfv4e+unvdvtm8GIvTOdRJNZnpECMLTnzQS9OZb3py/edPnkMLH/B49pBu3fDK9/m1t1nq//KFWYrW8nB+vDpiv/pN+TebPz/AGfiVPbRLWv/ef8jW+ewGY85/3Yi7jedP6ISMf76EGY3x/sY8ePeI3b/rKlBeVGj6CKf+IqI1iJzvEbzRmNs57eEDmeC7Cvd648E4OiAGBw4Pmnlgl+vRHZGgOdtOxfw6IO7ru11hmY+JGCOrjcHL+vpp/nM2IafTst57NJnrt3sZQsumE84w47ZHk2ZSJBpT2hpJnE8b65ffMxD89GeI/1OsP5fTa/WfPrQYkdHJ2xYPhGdh6cyZ5OSKJt4nLuec3igZ8B0QLN0jo6dl1Rjf9c+sbJHs/Jq7mg0PIDGgWeEOzxnSHCm0DSnt72/zbv73lWv/mzZs35U/mvn89fa6m82Xm+4Uc0WeBOT+gz0ioLiD00uH5lQTYV/2hGmDevXfP/Dd373qTvDWvW8lItwnm9Bn62py9c5XNp+9cTWytULlJu9vEv7f1SLa3b/JppqDmOz6m63Sd/h1Mbw3tbhFMwrPQDNGH49CMI2ZaW6Pphwf85j9YkVYNxsdnoFumQ9oOlnmpVWNLSzTbPmZIvWxCfHV4LLNgken4hBYAzeDME5YDitdGROOxSrRwSkyTCdHQQ8wvQxrShCa6JsqzXabhgNI+ST7zkCSaNsdiuz0XayXi3D5/vdNrty+BaHqPJMymjF1pb3AG29GQaOxf//RyRFT1SWiMPWOiyYjS3tifMxpRZU+EFheUr+nBsbx1bdEdHnpJOqzl7NoHRNU/WBF6/ylhnOELVdP9yjot1rty/L7hxcV18elPG1SuAtI79Clt0rfKbfFZoT49dH29bq57nR7POUI3tmrZ/fOQNzb8863iPL2f3sN9pJX8dONGdvrePvzwQ3f37t1zEfxzjOyA+VJadCb5lwHTBpj/K5G50Zi8rXndqkhwE9Uu7zX5Jq0fsnFZweyGqNQ1lo9ueeWI8OruY+J/eZ3k/mPiUwu72cDqB1CZ20RvbBH96AFxvE989SrR++8Tl79PZnpEjJ/58jLRsm749bYhXmqs1aUlok/nlCMs42hCDFjkE+JrC0R7U2KIxRCAbDmm8CMG6sKAeDohWlknCQ3xdEo0APsGRNi+MiB6gn3Y1ewLh4Al0XRGNOgPdK1LH1Ru1v4SilOsn7dM96Z6zb0p0TJA2VxfX3/uXETqsSSNmjzIiGNLArZXx36NBcBdXCenLIVbAmlJJbk3FrwiXXRnyhQ+0BrXWyXaf59ooWnSsbcHAHr/L7a/+U2Szz4jenS8xze/6eTHnxH917c2HBLrkZ2ANKyiaK573Wcu0HUfPfq969flz+8/5t9rfKA3b9K5JiLv3SPCPYX768YNkrn7D7DsgPmKv/sOmK84cC89bQ6Ydy+Y5POdyFs44lqPHj1imF1YP+/a22HIezuhz3uEif0xUWtq7+4GvLGxKbu7O369daYUkQVjdon39/cY0Zr30sPg6dR41btIFH/CjPXV4YI8no3NqLGX8+mY16+OBGv/fkZ0nE9M0pi16f7UQLGpyTwgKhr/Y5kxxz2RpDeQ8cHMLPf6UjAxeKdLn6jMn3UFlXnGcdqTydGBf2892Ko9KouMddv/58KSEWV+V7zUk/Io4zjpCa5z+gSeS3vSXr/M97llsJ436QkexylJmc94uLzmWmU7mxKVB801ewOpexNpP38xm3A/H9oeVKcGpUQGQ68y8Tdnc7jk/vb4kIf1soJzPuK+3MB5dZUEGvN9/W72aHF1Vej/O/uI5aqTVQSMmkWV52mZ0sdE282NQES//dvrCkHcQ1ifs1MeEn300SOGCn3yhNydO2TnB7JTmM+5tV6wqwPm5cfqxUfONdnAQXNONvPwIQXzJ7aBGuxDsOZseUTnTGw8MRegweZOA0yA8kc/CniztbWvIeVnk1sTL4aPEkrGW4E+qr1HdMjEexMK9mcI9JwQLSzQk59MAqhDNZCHE4qCYXNPTGjJYNubxaUZcJghYtz3Yq/vtwAZ7PDA8SAMGea5Ek9BF7SABCwPiasibyCYUlAgCJRCl8LQPTfGlckv3J/nn/fnNEt+do0oTuX05XHlXn7KzzzPKYwBNv96UZJJnKTSvt9aAFss+xSnWzKbzfSz4dMeHfjPH6d9vz/o2yvh2EJ1XrHH0rpCe0Mn/f2vi6LzaImGb5AggNQuvTe8wlteIYHAPfmAeGF5T/BFlfXu6e1TrjvRSqhmUXjOAXNbc8CaHdtvNOa7v2kydEdqLBJda+SdqLdN9iIw5wf9WYu882G+dHxeBz9+7a7xEmASeWC2Jvaf/Emjrt7yUVDNYG5W8ya2Wl8ww5rBRHT9B9vE+IlsbfnmFz6J2ueP782VHML8xQ8xagI4y98kCZ4SP10j+vQhRYfLZPAjx+kfzMi0HkJcCudiDUwuMp2qsZCJAUfAMsyZT1Z6ojmVGSkwK7xWYzYHhrjXa3DZIwqOiBVPqcdUVRC3jAzYQ/EMdx6K/vj8FIn++fQCUueBOX/Xpaf4xRGAZHt9XCVKUtHr50R5mlOYpNIyNXJeJXqcZjRxPYlSEuB/P+vpR8TjkwnJGxHZYezVWn0I/yYRHRNVQ5Fbo0WkKRFcGyNHAlcnXCCHHxJVTWoXEuwPVolGdkVWkVy/siaw1VdW1+UzpDJtkOw0OfL421hukmgVlS7b9PFcHTy4iXr89tm/uu5r/NvmTO12B8yfjU6dwvzZxs+f/QJg3r9/P9ja2jqnMLe3G7N667qE4WO+ft3n4T1+/JghKU8bULyxRSjNW0VpHkzGnR2+vbkpOzuotPGURFmhlhca4jZ5/OSQ+OY/Jvno0YFZuLki4cEBrx4QLd1cEXNwwP/b05UYJYEwKaErx8VUTeC4N5DITDle84GRkqe88HTApZkxzNklNWvbwE6PykHWvI+emtihyRkgqjjnoA0eKftS6qVEJSDZLumZlmyRGBQFR8miqPoElJJUsurYhHGi76cuCw7jRcFawR6LbrfPz4vN9mVwjUmRc1IUFMWJTJprzGGWIoF6BDn9WUcAqKRSFzn3oiVXFYf6ejZJZWFKUqcw+UnNeHNC7uuLVOP5MX1AqRtIPvU+2JXy6pmf8AQ+Wg9i+IKvXnOuXlqW8d8ccrW4rDmgJ399wG/eWHF/+RcHZrTgBHmtMAu+uexNbXzXv/VbG+5B8/1v2E35Ee4P21QXqdBsmohsbsm/2/kB//a3v+22cV89xh/ZpjEKXa87hfnqP/oOmK88dp/fx/L+fQq2tijY1ppr1Yx0vXHae3v7Me3sXD/9DubTfy6+rV31Q3roIIBzcEB8pSk/PDwkXmsSIpEP+Y1vkGhe5ArR8RHx+G+JaemIkPP4fyxN00hN5j5V+YwXdNsvYd7jCvXVCrecoqX0FGBpmlKtatDTbnUOivUJccUeZAo3TnQ7aR4XKbYLqsuEscYT2KZmX3ueqQqmeP6Tt1f4/C+pnDskjEnwMroUREWC/5RU6MXHNIhjwdN6XJ7QKXR1DBqPSl6QXUgkB+JyonphUU1sm/i8zTAj+VpG1ZWIbK9P8vQJMgEQiffn5+ve7IaS33AkJwqzBfV1zj4dc7+GGjymwWBR6tGhnjNaFDnYXzmrPHqKos6zXKWt0ZpDmaZfdrULU1umCSGKEs3TYThryaSvvL75WHDPfbD/wO788e1zPsz52SmfNckvjv2vt4neAfPzf4svOOISwCQKth41wPR8pOtN5nq4vc311pbsP9hRhYcb/vY137zHL5u0b3Z51fmSu/094qvzUNgkVr9k4CGq5nGzHQJmN3zk+8QQHy0RrZ4cs11YlB8ez3pHFQdV2pMoz7jiRvllRGEf8PQmcdprzeKzF4VZjkdVTjx8Akg2jTDKgusecWsHKzDBRQUjsY1JgoSYSiJdw09RlWyjWGRa6ucH8IYJUVaV/nkXizXEWD/3CwBLQb2GqWW7jTVeB/mSzb6yKPX1sigWIDOmgrIY2yVZGUkIldkcGx6duaALKihA4npBFMUkkziRMPHP24Rks6Zqq6S6N5gD5hWflmQRNUcKwRjZVWNKr/p8z/qayMLHSMQ6odouyCIdU70l+AOnea171itRDRbRAf4wEhQn9l0frblTXgKQc7mdO9r1aUdvIK1t393h1XJT4Ob0CWbbVGxtyYjI/vG754M+HTAvD4EOmJcfqwtHXg6Y1x9TqDXazW37RuOEggCAP/JHu8Hpd7B52sGCKDKG8eNoIXmwb3i+n0UQoNLmKR0dren5q6taSchIEQpOAMkjuk5LtD0+5uNFoq835uBDiVIAsw1yVGNsY8kpTZeIlrxtCm/hmHNWr2FKBAjD54ftoCTOk4KCViVywQBjO0AAZqKasqCAE+4LSa0KNCHLJQNaAKTqvelZJVRt/HNYzo45JznnvoP5q/jrtUvoSEoqKSYgsaSynJxerxfFYiNACcqyEET/FZgNMcMc+/AooaQ4oTBKTtXoE5wDYOZE0ziXN4dptVhN1SSvdz1I054IlGaeDRlRdQTTajuRXh/5nEOqBiey8MkCHfRFFgDQgUi1JdKmu6JJCK6DeoGqFkHJ6HDkgfnmaNE1WVBET9Zp5Td3hVDTj36c+l9fXoR2dg9/8mO+tfpbsqP5nUTf2rCa33lja6vugPnKP/qu0ufVh+7FwESndFz3D/7gD4Ky3Ag1IbJZ5opu/C3eBGv2I+JvrZP6I7EfPwOfCuSXQwXk2bLRqMkWknhmfEKMIMNke67yZpEIQRg8P5kQ/9sR9crSB6IQWB60KhFABBvTJijj8y19ik/iIamiLoFhSZQxGUAKIqpur1H515HqfDloPMe8MiZKm+OqmMggqb153lYlR3Of0c6ebXXbghaHzW+7fnSqRIPoTCWWJeBbUln5C1dUURD6Y3F+oLBs3kBFlPTJgZ0uJqknXu3a5nplFDt9zcKb8ytE5ddz0itHNTn4NZPGJEeeaWuew2SfjM+y6eNqqOY6ouqoc0fyv0bYT4jWv+lcC0+UcFYWPu5DGi4uC/30gBYW0H3JNwj5hzfJte0/FJhz5Zj7PyFG2lI7nBtNNdHWFtXvdgpz/qf0hbY7hXn54To3VjJX2HHxEi0wb926FW5tfTuYB2bbQHc/2uXVakOirbZpLhB5Vrw9PnrfoOXDSeBrryOzeu71tWJxmWj8EbMvUVyi3d0TM7i2INMJ8Wx5zFfdSIpwbDLDjPxrlCX++4WwT4YNFCEAGC2QeJ8l0oGIAUbwo5747bpiPY7imMZ1aVShIQo+ILENKA2VHHDJgcQCBVlXsSpFW1UcRAOR48oQRcolOyOFoo0rDiQSrBVkVaT7lsLI5RWxhcFfEen6eQswhQs1IOS072xdcRCS+POIAcMoIhpn/hopQInnUM3TSNKkJ65sLhJEkUynFQX9SADaIIqFSmhUoiSKXXFUmiSIFXZJSG5AVMKPieypg5UDGiWpK/IMPUbpa8FqXZgpLyUD9/SpH18AFIn80Rq5vemEUzeUfPYZp1Yktb5ss+4fS9+OZBaMeXljy05Ojni44G+2tqrIbxO988aC229cnNdvrrmDv9rjlZV19EyVPz/cMzeW1x3cOjp8DUztJ+P6hz+82YyaH9h5k/ziUHfd2c+PSAfMLxmYN278XkjXNgmm0Sb8khe6il9tmluEZoNrtytY6w/i4H0Og3U+0M6QRFfMTUaXnWVaViU5evNQguNlNb3Dj5mDySKfLJ7QG7RAO6oox4Qk9JkZc2D8bf88YEI9WsAzSTQS3YeZHRNNq4JHcUKzqlRgGo4545KHFCMs7E3nVhkycT2dckwRAT6AlaljVg0XxRTMIqbYE85SpcDM6wYigJfCNWKov4QjD1CqyNSk+/QPBkW6D+v2+XYfHgdhX849X82ac2bkpO/NZcBU4VyRiSKFZtAvpdKXiCkIS6HpgKBQKyopCGPJIpj3RLECtkQWpj5ObANMYD0j2ksyWUx7kmWZZp9u1D03pRmt9PqCBPgpTWmlN5DpdErFqjitvMQlJxNa7wOIMNfh5zyh/nAk0Jx9uyXV6EjN9TcWluQnf/uYt0YIPhF9SIf0neEN934TFLq5siboHHWF1uGekf9nf4+/qelJDSk7YF7+l/6SIztgXn4YX0Fh3g1v3FhWYLZLtHfeDbLRABNdglbdWbeg4OApHwW+me74mHl52YNSrwNX49wa+2Fu+0ZoRPNdf4qMTNCY70cHZD7cpF7WJ2PHXmHWCz4YA9u6PyY2E+Jk5BXmLCUOJsR1Y9LHYJWPmlAAs7rZLvZKY+IzLVJllVGwNQrQAIJQdjVx2pQSWuRvYsGbroigBAFalFViWzkZVc36TEk2vDzbrwDE+QBqs2CHp6DvU+U0AAAgAElEQVQeB/WJddADCInw2mqKR0QurETN9eY1416kx2JxAGxITj/nBIrTK1Nl55ToazUVV2Hvw5qOyGmCe1N8tLBETks58Xp4rWljrk+J4IdMm2qfVP2bXkHawUjo5BOqhyOvNu2CDBB00nLVIzpC9K6x16vRkny9PpBaGyT7JHgEAbEAmH+1T7wyZ5K33PzkE6p/+MOzocLxncJsb5zPX3fA/Pwx8ke8ODn9mSucmeR3Q8VL2xII6R1N5AbJyQf7e/ybq2jCQPTo6KlZXlmTj459aWBkmMO/PebTlkBwTja/F/RyRBBnMmHtErQzYYZ6HI6gIpmvbIjMoCrHRMECqcLsuYE8PpmFH64GaVVTUFSlgckZHHEAIPSRalOXBqY3+FCXJcdxTPArAnRRU4NtK6jHii3HHJA3m3OGmR2dms8R9QnmsaeQJiyqSY7B0AhJFFISRlLllUnSSHB9V1dswkiw1nMi+FLzc71EX/ZVRSY9Vx9dNQAE9ExdM0voLNcKSheGYuuag1DEll59wpS3WcUAqLoK8D6CyLU2P8z0fFIK1jDpgwnJcinVZq0xIeoHqS2Q8+lSiRMSWAax6wlKO+NExDmRBECdEZ2kPVlMBg5lpcurAwf/Jrajtb4LdqdsAdARUXXkpL4GiPrSS2Q4DZomH2DocHQgpwVEh0TDyqc8LSw42V9DOaZI076TVnbW5SDc4+yj9eoLAfPioD8zTfRlf0C/Gsd1wLzs9/hFgNl0S79FFNJDis9NgjD34ITPOpOv0VP68Ulg0CXIL8sUAnpHRNMJ89f+7qJMPvbdgqDKivfJIPqCoMvMEKMl2hAdeGhC5T77KSKmRMMrMKeh5ga0e5gFH4RmUBg28DXaKuZ0GnPjXqQsKRWE3v9InNbwJTZpQFSxKkWVg0SSk1GFBrBEUE99gc8SnJrlmYHiwwI11+v3yNW1D6Do2ACdzd+hwgeInMXzIZmgFmfPVHgIwuLwlrZnp3r46n/aJSSqfZS/DrFdk0lCqWvIbJQ8VhRQJC6Aae4N+ERm4pogEPbV4YJCEvAuspn+QcB2jY+dRg7mfBssWrFFfiWKFJhRJhK5VCj3r1+NyFHWlIZGqYvTTJJUBHuSSV/sXHDIB4pgtBMtVeLQQwn/7/UHUkGJIplzNKK4PHZtQ2Uoz0+30US5SUN6KlJdXxadnkO7JTkhNO8EOFdEaM/Xx2bxevXDm+cVZjNx6ekovjzNqMvDvCwyfr2Pe0Vgrj+kGOxqG+8+eQEwN44O+C8N8/pJ00F8aYnCsTdzAcyN31xw2acnxg4XtAQvfp/MeIHoa3gepZDG52miDeT4YwoCM+Mp9WlkZrzyBipT+jQpsuDhQTCcBRS0kesWkMhThLqUDAEaoiqKqJ9VBmssgO7UNtHvqKJ+Tsb1IpG8Mlq3HdXqcwzCUGY5G+wCy7APOZ1lTewZFpIFEEPPQIf9OM7W7IJQdN34N5k9ZLFIEArbmrFu97UsVeASiWcq/oclJIAxrEOqw5qgKgFf7KtrfwT+G1ekADW2YieRuLTSwJCa43VI2GdCUj9nEFaNvzMiU85kMQ6zb7isQO26k0SSPKcZ6tih/mzu8KcvzYjckohFeeXMz1W0VvUs4KhBoClRkaM5yYxOUpFrlTiPTpjtA1G1OUbbuZH07YnU+P4RVBqRPNw+5msNMGu7JJiKQz3eOtfGAVV2RXzneyeVXZPo8CmfbKyVHTBfHWWdwrzs2L0CMH/30aOo2l2K2xkaTkKjN+9J45vEhF7zc99sT2C6+mUaLKtPErAEIDUdCfk8zeonf2OCtqPaEBOUtQnoQyL7gQlQ9Jzjh4ji5zWiImMeB2QenQSjIqrCngZAIiot62sajUwTB811gMmpIaNdhmAeQ40hYh16yEleGxxTWJxXcxI1kXaoyBpKNKQ6asShrU0denia1AMPKhKAgznu8eb3zX8dpa31mBZuc+Ly3Lem4FPV6BeAF/taoAryQPEaAGZYC9SuaXukmNS1xwGkJhABfHGdvKrJSKjAzCqihVHoPDhJColkwZbZus1VYS5HiSua6iLk4+efFWTR5CMncgskUSLq30SJ5ZXxzNmkJ2lTYnmYE6v/c0Y0XHS2bRmqKnSielMV58Kbfau1lbqc0MmJT4Dvw/d5jKohJ6PRoprpWjXUHgqANg8mk1l1j7bKd+7O9Yh599xwnvNpPgOIziQ/P1jdo3YEzvIsseclWUT07rvnf+jtXOOPHlG0a5/6WPLqGtH+U1rDGsv+U/o4CsykUZRLS0s6z8xi07o8+GSbh7e2ZPLJNqOrUPGIje+8NqJgNuHJW0MKnky0tVpcsAmyAQOQAGWKAADNKDd9Hh5kXJVk0HxzUuXm4YIZoaS6DbIUBJ8kMYIkJo5O8yCDiNR3CTNcVWDkgafbIVHlyGCNxRBxCzvHNYeYCzfPmdoDytpQmKqJ7MKQA6AMlEpDckXtj1MQ+3OxhHVNM8C7to0Bj9RRVPTp2acmOkCMJUa9TrvYmggcU0mbEweLjoJaT68b5amHQmma0OmbqWsK0JQDyadhKDDpUwf2hhoowjKrfLNeAz+oVNI3YX69dr7BXJVYVAMpM4uCloeJK5Jc8+Hzo2MajBYdHeZkF1PJeynZaaYdleJpJmGdOnxvyYRkb22mfT8TJxKurLu1TyfigTkke2VHaOz/TPauktSHIxl8zYOvXtByWL8cQeGi3BLdPg5pNBKpv7EiuOeqZK3a+3fnTfKH8/BEEOjCnD+n40pEv+4TpnUKc/5uOLf9moC5dFYdjTLFG47kqIk6h0eHPG5SfqbjE15c/DpNJydecUFZLpxQNsWEYUTZdKRrLAjwwOSGasTjwAy43+/T8VFmltOezNZ8v130oayPyJiCuDQ5ox78z2S6XAUcJkLap7IXReqH1IBLngVh03cS4Eu4x5ZqNmpCe6jptuZs1kbNXq5ZprUJm231Q4beH6lLCMThOH+eh2vdlhdRhuxP/VDWmCCQIKnJlf5zeb/m85ezYmi/FZq+c7Zg6iUOYDRFwS4JzgBnLeP6tbX443cKV1PX4oJEWodoHYcOQIS6TfqpBUhVgQahm9Y5Q3FCYbqKJKkl+1pd5HBqxmlkkbOpNeoulsVlspMy5/4wcXmRUuRyVZsICE2TVOKm4TBKKK1k2q9zFKea/A5gQnFaNxWAUw30CbrHjwVmejsiYTLQQBf8mDDVZ5+c8PrmggM330CHpPbAQ6S+++T3yR5VD/+UKkxp0T7dAfOFEHjmiQ6YXzIw9+lA875hESHyPXIigKTPp3zMYbCs38HOZMxbi1v02cQ37F1YACQnOv+NJp2bkSafXwRmnjMP+n0y6ECUs7ZfO1onXqEeZb2MouOeCZ+QQRuzqGbz5ytmYRZQGPlcHEoidB0KNa1HcjZRTgY+RkBilEZqcsP0hvIbc21SwM8Sm6hmzkOGfxAQTWHuNlCUyJ66FhzB9A70OWjEyiLcRBwVIWBMQaMoKwJEw1ZEfu4dfK57hBee/tzGgxlJIpYKMkkiPCvYkiUTx+LEnprcOFpy78M8jSD1E6dKGL5SrAV18KEYCsVJLgAmXmNaiYzqXrZWTfJQkK851przMIplICQLPWcBT6jOtEBtue+6hAqiAyEZQc1mOcUuFZtkmr+56HrejM4AVpHYzSSMnUJRfZ52LHU7zcaEKFwfOI2gD8X34jz227Dab9lFeUy+4QoU597oUHDPHZZUdsD83NvrhQd0wHzR0HwRn+UFk/wWppNACtE6RVu/5RUmgpfhKjH6IWK6V2QIoSJnJfCKUpc3Giclfv9MvDD2AR0Iy6cBmeCp726OiHcZzAx0ZOunhK8y7xOrn2zXlz6iJ+UY5nhT8vhkh8JHizTKehQhvUbTg1ytxzqCv7BHhkNVgEkSSmVrE0aNUrS1EQR9oDIR6a7DU4tbXG3qJtqtn8NZQ0lADKWIqyeBwixMiMoZsbGWA7+LovCslh4gdqWduyfnOuM9J0p+9tVZXwremN0uDlGI5RWU9ZDSTQsfZSho6YZtOCMLOB5b+kaBMxSIQRCo8XtSHDo4WusgJDfJRZLG9BdyQxtm1yqaae16OYHApDAiCSPMFxqD11QmBW2EC86Jr1F3cSLT2ZGgRh8BdcTZgoXUKSQdyQTKM9PGJVI7ktROvcJsptHQWvVmKdd8iSWqrk4+8TsxDTHg+VaPVGnqckQ0+rpvYlxuUPmn/3OnMM/unS+21QHzReP1EmC+yGfZXurevcanubUd39gYxOMTb2IilfKTbZ87iQUBnXBu8rARQt7Nsp+xGY6JMsyljXs+zEzQmOCwt4f5GhcG6rBHvVVEsTGVQ4/GR7npH6eM/pOoCy97OY97zCNJZOeoiD4dJQu5oQBmeIRf934Oa9oHYYYejlCDUI1VURtNSQqRTGo5rBNyCA2FAQmTUaWJAIsjQ7YwSOGRWW20gxDM4ia9iqrQ70OJkCMOQEssAaEgnfGcK0uFKHY6a5lsQC4sdX3as74FG84zgbjKMtZ4MYvXAxitPiLIO45jfVy3ASG8flAL90LnypqdIYnqEMnpp2Z6Vdd6jro148AZ8VNEQIWKBOLQfKOGtRDakcuya1Uw03QkF7kwjwUlQQAnFCeUJ1KQ0oDcUihOFaeIFMdeeQKoZpA4t+gbeqAD0nAs6hSFSX6Aru5OtPcmzPRR1HPt3EOYHuS4N5HeYCgA5pPPxpxaJLyPfUu5uQ7wKLW82lt04+CIk2yp+NPPMcnn04wuJrV3PswvBthfn6NfCzApvrFBsa/QOSIEdj7ZPn4uMOGXvPIWoYxO4QoTHMEdGvhZFY+KqQITKSgemH3WeXTQ0dwQm8ZHWRbeVwlgmjLnqpcy2qyVJwUf2yT46UK1VBxzVNUV8scpRlAHgRpKyUWwyeFTDAmJ3SFA2KhPY5kjpPyg8zpYZAcMeAaNuQ2ucZMuFJRWlSgWscRBv4EgBRTMgdQ5yy6w7Fzj3wQoT+kIM37+8YVb75xNDuABbCBuCSIr3LAtFAte1OljpCeRMKCIBUmhEanP05lQoCTJIpUIirQmkUQqKEOLPNPAZYGVIA4cDkOUfZGrbK0OlWd1XjokvONvEIDpHPm2cQiUBOJMWLiSEho4xNdFWtVrhonzr6dZDbQciFVgSk+y2T4dH7EmvuNFvm5WLWbB1Pc+ISreJC2xBDDRQo7GI0r7Y/HAhJkOrYkenAsyGB4JKh8mdqd88Meb5ct8mB0wX4y5TmG+aGxeEZhQl+1EZ5u3KX57i+K2Wgdm+CeYiREBmWxsTsYjWl4aM6pz8DaQHnS2DGl8OA0wmZjqruFUgzwAZq9PFBz0GX5LALOuyJTGK0ospkeqMLXDUIoACGZsLMxJmAQfxPWyI4oc0mW4RpI6w2epaT1RyKooA+1wbiJOuLCFAYgCHFDOjAkSATQjChWeGgRKAERE1JuAEExrhR+CJQHVzhqoSgVjIxgBUgWN8f5OgBTPSQkIw3QNBOpTuXiuZz1Ma6LWpFfoIZiTlYy156ClyDRmOHyXpifYp0sJNVqisYbjynKdBNab3032pum7ujlW6losBgewjUOnCjMm9YEmjtywoOxK4JMmZ650MM1RPglgQlW2wMzyQkwYq8JEI+P1pZGdlCfcHy44RNRtnEvkEnFJKtF+Li4RCeKeKw8PGD5NABOnrhWrp38mAE6kHdXNtMA16tBByjHpVMWY4rjflFwiIKR9N0eLMkqo/OP3qaTv++EAOC8GfTpgdsB88Qice+bze1zi8HdbU7M591ZrgjeP7971Gz/YptgeHqeaS4k5x94g+myHeWHkW3t9bcFX6eDYbMocZKil9vBc2Jzx9j7zepOFlOyaACZ32bRhy78GELL2v+wfEQOKaoKXBe+b1EzGhTbUAFSdKU2cxLQbJOF2WS9LTKErfHqQCUNGsjgybJKI0MXIqKnsCDzhKPTBGoIJToFuC1sWFM80DYIZ2SZtwMdaDsOAHerX4WEDDgUmu9Zik8uJxdlTcNbOKTB1HwWIJqGOkIPAUGWrUzO9ySg68zfiJL2+Z4gEaNnmILXV/1hWlqIokNICmF5lWkhjmNbGm9m6XQd6PK4SUiCZLTVtiGM8R+KPFwVnEAUOayW2jet+KNloUmZhHNphQa6tGCpBTEMWq14o4uDXRHBpgLUgr9NZJ+ikJC4WsVkqyN3UpsOUE8CJWYkm+yJx7EstUTS0tiG2nXYYvsyDjzNOEszQiW5HvnqoNxBNQxp/OtEyMAjP1DrZ6I/k5ATzNC0UP4ipuIVJ0trl3tmP4O5dknfn8jKfMcnnfy+/hjmZncJ8zcCEuvzOd/xFUc32tKRUG0w0CeefGWLtJzn1td+jEZGa4UOi8iMy7UTbgZnySYGKGd/BISoHWlGjvkns+FqPDHIdeymZI+J6nBs1xcuCd0xhKuOng4jqxKQJpoMoaW8QR9tFvVwEFCHaqwFqrg1UorM+2BO4UIEJhRhyYGA2KzDjgCxb05rgrdntlaVFJFzvpcr7KH2UHGZ6RSwgb/NHRlWpmuC+9Ns0lUTN4eQcasn96YIGH8G5EvG5b8uQtS2RiaRRlMYgHae9GtRkQMZYrzBtQBJYceIb8qoWNTrtmZrzHFhhFzhAEmCEfzSIyZvMNqCyQCv1gIwEUhtyoyCYrp/ILByQjR05abohIaBW1spgbU7s4MssS60egsnOVpxCFGo1SyTKSODTRGf6KIbChE8zJ4sIuhMFpl4rkdOGHnXaF3r6lCymFJ4SLa6Is5gCeTwhQHNvl/msaTFJXyd3W0D6Q/GD36KC7vsRUHB2wDxHgZc96ID5JQKzLHcTGW0k88B8nGHub6LDYmbWrgxEU4aYeH0wlJ2Pp8FqY4IfFTPjU4UyLgvmoemp+V2gkQYsy37qG/7iWpMiMOOEDSYISxKqTMFZXZpwGAtlVeBsbBCrP4g4Ok55qQ40L1yDMpmEam07stq9KIDCRBAIAsxAbDXqMQggmUwQBhqMJkNGfZbAjrOGMbWvLxRn68hEQSy4ZgMilsZPyVCPkF+1M2FopKwduimpMsQx56xvAzN+Pmp+9mUpExuWOpTnVBWLwdv1ZZIK4zYglDdwNiQI9EDEQiTqe6+da88DKGsJJLA+iBRE1gUROcF1LNGstApLVZ0sdlgH041SprEhh8r0OI2cNvBAKlIV1Qj4wJBHyzsOIqcR9BDKFTAtyQxiV8LUKOCHTFyeF7R4TSyAWR7n7DAZ29R/FpjlqkA15YjEpiL0dEZ1UyF0ZXPNTmlCvq/mhJ7uTbmNqNdNeWXaH0o9y4uHd9bzDpiXZuS5AztgXhKY85HxtpKnPfU0Ko7pdNeJv9PM21P+eDeZxhtpBAUJ22g0osx8pmOeB76pL7KEcsM8GAzo+IANciqxVEf7Jhj0GQ0cNIAz6Deg9JDqo+nvkp8q9smMwyxITFwUNE0THsxKU6M2fBiTy0qDXpYA5jFz/DTkxTq0sW2i0ZEDATVIodHrsIKK9MC0jNZwTfAFlT3o9xME3kyurGEUUmpheMBWclWfoLARKEzYm5ZNhBB1xaxmeOAVZwNPHOzgCcVJ2lU4IJjjGlHRzsWJglAH5KzQx5vlPj3Rv1GOpAJ0wXeIUzyFnm1KfCcKY4WoU/vaA9XB76q595qjSYjMGDEWatSb9rVYkFUAZPXjinUw7xExRz5nImayWdHUzEiqWGzQ5HO6oBIuIofOR3iLgGU0i2ygjYsnNLMEEIuLRNIgdjDXo2GivTCrYeL8LJYFmeGCcwe5XiNaFJlMfZ26N9EzGkapw/zoCtFlkkBzNnFHTak+FoHVgubEbWklIuvZSVF8/F+tZS8F5txv4mLVzzlgdCb5q1H3V+asuUDPmYPHf7qXAnPOp/mQiBuLnMpdSqY1KTB9HyGixcZniVkGFwI/JWsB3+XIz+RYDj0QrzDxkzIzqDcv1FeZ6jwv6HCE59f2yIwNMZfEh30ymDPHcML1tEQaUABIAprxMNafEAIye0Tx39h6VQKO8KOPkJQO6OFHba0CkmsbICDDcSDIp2xTgKwLTID8yibtKCRigarEtR0ZdoGCDmlD8HECmYCwqsbArxFJjyz8ld5PCzWKJHaFtY4y7GoA1BvlCNKbRka2xjfWmr/pgLV2Cci6ikITiUWnIYOUUd9ySeVkqFlQACXehPiIuo+Ym9qjF65QhysmENsWeUMOPs9KYnhZBQxnY9HgQ9T8F3KhpdliKdOoJCcxWVeKgPswvWNAEU07ENhylRtRWGtDD7TDC0nyAgF8tPyM7WqPLKb+GGYke0XRzGYJ/7K4wcjLY/RAqh2S3TEFsQ8CrYY9r5PRMs7NJFkVmT6ZEXyatb0i6LVJw6Hed+uONHqe5VR8/I/pdQHz4k//4s/mVwYN7QfpFOb8V/olALM8HveCqQcEeh4OhgPKsxnbtSuSHOx5Z92gT9FhZsZbaxIfZT5qjLLGqu0H2aOqn2qy+wnnqA3nzZJ5DH9gSXxAmiLJaKChDS5GMZuqRK8fNsyYwxET5LINo/CDslhzCUWRQTSi5phDA5GmEs6VBmAE9BAkSSnQ1CFBxJuR8piSVMhG1xCPgWntuEJ2uq85V/8jIjuVMRr2RsddxwpRWN2EnB5vpgOgiATh9fTzYlsj6GdGuTfH/eN5YLZfmVOJCIUZCJJCTwGqOT1NSg8COiZSVanC2FV4t3qoniHGQXUyBRJQRUUDR4Pe8Zw6/bNBmnCqapOFBKAlE7heXk+WnEwRJDIc1mj9htQieCz6QeVqEzoNqFmBH8KN4rCukHIklVRB5NBrNE2GdS8gV1UFIydzvIeJ13yOZi8UZ9CdHQ08klQT2QFMlZRo+BGkfgC0qYdInc60gQcUZlCuOazTXl8V5nQyJbh7xmaYd8B8dY53wPzSgUm9oMmtRDfxwRDgJB4MiIJs6ssZtbPQjGltjdRnmWdQaGxMv/l+UrKDIwN/ZZtjGe6nBnOBV1XCUxiWw5Iwl44xJRKyNeHc1Mzoks4K04j3uYp3nFkrYmhQS8YFHGvLtgAlNixhgJJIfQxzOnbWOA4YijOKNRJkYDJDGTo2bCoY1IZDxEuiJm1Ip8h1xudWopljoOa44P2gcYbCEy2SQEc4BpAICVXZAHZuDp8z0/3ZG9yzssGoc2gcogIRSZWAG+o7PUAd1agOb7aZI1cjSt4EhgTSGsBEcEaVbQXSqgnujHWW0UQYf1GcWIAW+ISTlo1d4GA8yGQaJaGz07GrUDwkJP2451yIJKRaKgopRAYrVGYsHpghovj+HQ2YbIyqICrIRYmcPH1KUSSCAqQUefKbsVV5STmV0VWtCGomQKZhfeDiZMX32HQzgT9zBmLOiJCW5OdJb03yIaW9SQfMV2el/+P8M57/K3W6XMi9nP9w86lE3yWieb9lm0aE4+8T8QcP/Lgu9ygZFtRDupDe5gDlxlRNcNjJSCEK874motdlZnq9HkFV6qRky34GR10wze1eauzk2IziFHl+aoZDXdZVwvWwDJ2pDObFieKYeDxD/ZB2Qc9cFdi4r3mWx6ZO9sNQ8zARldVSRPUsopmk5bAKWLhUnQeg2ToPATTNeaydsRCOcFMiX9K5IIiMuNp5RerIOAgpAzNaS2u0bxxACdGKx15VusZs92PCTXs3BJq8OX826ZlnsxfhMLOdc4x1Cz8LakIkoo+6z15S3ySOqWuHVCcFo4OIhitAfZnIQIWf0ief1wYVPAjiODZiEJLyzk1VoRV0qYOFLphoggPnyIqzAXEodpFpMqhkmnBgKw5tUdQcQVVqKlIN74AqXVNWEtrQ9uLKApZR3bcuxFxC3o53UmpF0ICHtkzGBL8mGnog5mWGfhZLpB1VllzU+DE1ud1lgjZxXmFmgqogrzBnFKAqqG1SrI07vBlfrQ6zekI5PfCj+PbbJHtzKUZ3/9Nwnuv29rIUo2fo8avfXLgD5hwVfxZg3r/vAXDnDtGDBpif5E/TdJT22txKgHJwxYNy0PeNY6EwkYhe5sTDATH8lQBmegGYxd8UIaxhVO1gzp4sYOPNdmY74BA9MGrAJyLqQcA17dgqx4GNe9pA45jrZI94pa4oRmI3UnxcjFRNABA4sAZqEaDC41A0qUeDPFIZtHszgCVcp4yUSSWOZWfVgclQnyYwSAE3bbMNhZ16NJvIu2tTMx1DswUG3ZK839InjTbbaolfmKFirrrH4Z2dNt1wZJEm7iWmQgrpQxoQMoHUaKzk4S1MMKudqkn1XqKRUjO/DoWhQx4PYInIOIDsW7l5v2WNScPRqcggO4nciMx46GQS2wDp/Wo6KyxxTlSjtwih6Igd1G/lelzi6pIu9WtA0slA043KakrORRJIKVE6tKErdO6gKkAz+EJLLKFAUZ8eJz7wA0jWCslUFSbgCWC2Fnvvamrn5xHyDYtFZlmZ/0a4kj1ogEn0gHbexpzpfrm1tycP794980V2wJwjRKcwzw3G6wZmnlM6HU0UmAMa0EE25fUrA68w+zMyeZ+P8qwBZo+jEOoyVXikyzmlSyhxzBkKM/6kQFP0M2DWrGY3gJkN4jDOOciyijE1RM+QqSI/A2NhyFiOkIBOx7ZODpJwpSopaStrkFvpfZY+yqKhG+MVZYSwMXtlCDMc5rV3eKpBbgxXalrDQnUCYeeHky0FKKKE2mxBiCC2D654cx32s74QoCv+jw18quz8xG8iNTOnIm3X9QvpmGp/N0Y3M5SjEawV/sZJDTMdPlb4MxOYvGpnCxJFAUpfD6m5UxYA9UB3REFS47nmBJQ7qvWPmdEsA6EVRSZyKBTt1TRZdDLhEkVSoTZyBzCxUbjcxUEopVQC1Zma0IZ1ZeHjjIZkcymlJ5FMyynlAKKWU05kYbRRA5iY3LcKYxe6EwlRE18QVWHuwjjB0aoqa20T5yG5iDZxbiba2A87rjo7mA6o7k01T3NKAzXJZ9kw/42QOmCe++Vf/hX0XaMAACAASURBVEGnMF+Xwmz++CCjqFWYT55QL16Z9o6P2NikL0EwY4LDsk80ymd8lPfZVplO54Acy6jqNcnpOQem4GSRCAEeAFN2yqDSTBsiBHMym3pgQm1GMBBjI7YyQS8SdhT4BsE1Gvsa9LUsbWZmQS/cp3K9gjGtSeFausjMVksQYw5MBXsTKrJCIKeCbvI+TVYPHqp9NOSDbaTtBA4CzbBK0LYmXDxXAUJFppYUgZgIIRmGU7ERlPiVe6XaKEtQV6B9T9Xls/OgeVg2gMOGpgfBv4gAEEx39JrzX6zmWAZtkMeIqsrqLCiEfEoN5+t5kNkRQuiCgJPRXH3tHX1qupfkKMKfEEsuNtHJal1P0RuTw6CGGkVACMCsZ+SQZoTtMBaXpmk1mNSOTejKIVm01zMmcmVVUuFKwZzumChtsBBbJLujjBL9RVzuk921UUeYO01uh+mNQFCcSuRIgRlgqqLjQ56gMsj1xCyKS1xf1CzHNBjZlMOVgUszyq8AmO19/4Bo5+2zqp9bexdKJTuF2SnMsxF4eZPgdvZHPX4u+VJ9mHPqfP3+ff5gNNI/PrcxZ3Tvtm6XY0qXzbTfpMZpvuUIZnjB3F/1JvmkYoM5b7AM+l5dQlXO6sL0SuIJgtLIKHccFBTTQkKU1WxSmNMW6UQemCH6WGpUnLgKKMC0t9oxPUJNeW2wncc2edIfLNdsE+0mBJ9i5pCEpMDi2Kh4bIMyAdSnxsO9vESuNUx9H/RBVLw28EGGBg7IGo5KBJzQmV3P0zQebaERMruavcndllHiQJTllAhRofsF4TKu9DB9Xn0PzOIWn/OJ622wu7HIAXRRn6deCKoRb8L7PtGGo3KOQkHqkQ/eaJ6mIUHwB5VSBgVOzk+nW1UlAvD6joIgtl7JgumuTmN3vCLRSVgHNZnCxXUtFYYSye1hULdNNeC45UjqBIkAJQk7UZgiQMQpuRpJ7YWI68di9w+1PdykJErq2E3xnCPRGY2ZbDRCNZAH5jTOT03yBRzjZo153pPJ8kziSU9idN9HHOgpUYLJ0I4H2Y1lmr0ImKgxf2+uufA7D89g+vLORRijzod5ea36S3nklwtM+pR6QTLrozEGeh0ix3J4yFqx0+/3NCI+CXsa/a4M8ZKGwYmQm2jHhZlNSNuimapg10vQvlJndEQyUN+WBuvcluak5rjfx/w8lZ+t0SEP008xgeSWKFJ4ceYoOTRutY6DCFU6GswpETH3YKM6MMaTRZPYDSp4ECUndBQKOIAWBGXFsJMaNYcKT0I+t09W1Prxpgtm67TEtBZG7XUoycohm8igApOtQ+cjOD+RegO7GsBXd4DmZAKyUFoh3pI2i9N8SKUuvIscOLhAvQ/WqUnu4anV601ACLU54J9HLYApFjmVCAg5qqPQgtvwo1oEigxJmdeAJBIxo2+tJ99aiYOro8QsDxIzwhubFO74Jwf1D366X/xwxMHhsB+XqZMyjtDkqfal5klYm8oHWlBGGVFV96lXu6qSHgtKiIRmM+I0cjLsWyTam17k7Hji3QNRLGzJVTbWCiEozIUeWV8+SVKdFFwOkXKUaxB9NVpylB3qnEFQmJMUPs2etHMFIb9dp/k1lN2gDpiviqtfc5P8ywXm9MlRfyGIewAmviBY4/UxGzT2VSUJZsANiKWXUh/Zkilhtm+2k8LMpqzADFAo0yODiLgHJnE/gLqsuLBoKTmIMEGZZkui/Zow2pkzpqCIURFucwOzeGZs+tSEq/WAIq6cr+nGhAtQmwjW1FWAbCONcGMCCmhCrxT1ug5+U9AFEWWCf9Np9DsQw1CamnMpjsWErEasLoYgqByiK9hXwY1JgbOoQHTci2z6jeXoa9eGZnMY8dAwJ3FAUWgYfX65slTkVoq8ojyrJT/J6eQ/HhR/M7baQVnCQMPiTvUclCQH+GAiEVKFfNQ8hIs18AoTYfK6bPyfzlAZ+gBQXTlURwXrHC79vavR7359Mbi5PjRLgrYd6LgJEDehEEjpMGD52wP7yb95P/sfjyv3eODqfDhKCzK1k4ok6PerurYolZLa1YiK2aGEldPGc5k4dJ6DJyEOrSRI50efZXF5UUngIm3Y4fJSbB7rNuTu0lBqAFP7wMGnuZo4VATVcSJQmJQfUq0meSoTDQhhamFfCWSiVVfmT3m0sjalDx9mhzdu+U9zwSTvFObLUdoBc258Lk50Nm+Sv3fru6djpc2Imo5E2Fy/T/zByEMRJvmTJ17OHDrqmyVqgJkR9XsUH2fqpwQzp4BlD723oSpzHgCsCdQmc74DqIwN6uCCCqk5bGqDOcNLiuOYnImN4ZJdHpvDhBIT+XnDy2ltUlObog4ZU9/Cn2m1yVBNFYXxYRCu1RHqWDQowoycHA3qIMXdB3NUzAGGNZIoLTZRp82ID0PcGYMSH59xjqsIigWbrkMwy4FZALu2Tn2gJdkA3c+K0gb/2bXoG7+xGnzzyiC42o+5FwUUakVQM9GcOgx9IqQu899J27wW7ySrpD7JZXqQycHH4+rTf/9p+RMKggpyNY6iCh/LBM6FHLoKIanGv4m0IsPG1dCptjYl5kvLi/Cd5fDW72wm3742MmvIFcX+yvp/Nf4BvU3PDsh3tKxPY6Kioskf/Zsn/20y6h2M4igLekGdhEEtNrfaQg9Rc0zlayu74MKSYnHWkTPNnD7sKhfGvjDJuVLMYLHGhHTofGSLUtiiq3pJMMvxTfX65PCXhPKEymHuMBc6FGascwbllFFG2FeOUgerJkZzDpjkaEac9qW2R9m3RkvTziR/NY3ZAfOlwDzLU22nncDh2u+yrX8kos0PiJWULwAmktDxHNbap9Lgn+80FAW+msecMFdLyDH35vmkTDg4mYQwzRCgcYFvoAGFqaqvSU53OZlDQ0mdUICuQ8i3nGV1qB2IMEFZzCZOE2ZbcBEk0Z7kG06LyyNB4Easz8PUNCCkFWntN2BHSDEyak5rPbRhgDHQfEhE012jKlV9Io1Ij3Oi+ZoInZuysniR4M5W8Du/sR7+xlJqFlG6A+7oPwSs2+259fOgeVpL2XxfMN01SxP/NNIu7slYjn66b//6Lz4rf1yT5EEQ1VEE167WeKqf0iJq7oTz0pnaVtF/sZF++9ZG+HcXEtNXeNYKQSqwroUqy1QhQ0lY3y9YhddLQqJ+TDRMif7jJ8Vf/PFPDv6X1cXkOOwn+SiQOoqCCtNgBFHobIXcTnKLtRSoMzdpr4bsQ3MNV2YSucoFAeYMIjH9EH/ZCJVAIXI1s9in2AtJlMbWRYUMHMzyRGZZIT1MsqYNh3OdggIBIASCfPAHX2Wmtee4Ro2apkF/Nv6zR9nB1Zv+b9JDIvrOnMv4+75HZvuzeNj5MM+RtQPmlwzMaCXrA5C4kYeG+LhghvuO8pTMSq5NfpEuhCT1WUUGwEQkHF3EJsdVMIy1QTCn6ZBrLhnbcB0iqANYwtd2lHBSxaHBVLhS5Ab9ceuZVd8lJtLBpGSoG58wxePEXLGGYg1ywFAsLOLLDFWVoCEmVwYZPVCRtdSYcUfNbmYDmarb6k+s6xDmuRZiW/REI2MrtYwDW9XRO+vh9X90LfyHV4bmChyhMGkBRzVvkdEzt41fJ66D51qAanuMVmk2qlO/qqZP3CksQWDE8Zt/oapjcrtjd/SDj2Z/8dNj+usgotqEbIVDcRV6f9rgH13t/c7trfB2GnAMSOYVUVb6Nf4VUJeNyoS1X7cmub4++gkzDWL4FYVqK4f/0//9yb9aXkz2Fxfj8agXFnEUVFVNEgQ1ZlmzjhK77OqyDGoRlLxjCt80FXdcCxUemDrfOZea8B70kEwf2h5axflEA4lMZG1UqnkeqY/TK0y7gCBQQdEMndxTVZp7LpWFWCTLM503KE56MstmlK6sTjtgvpq6bG6/Vz/5l//Mz/NhXl5h3m4U5ocfEg+HxLu7xPFN6klNgx46aEAl6HS3hHC3D2b0vdqsTnxn9D1LARSkTimRjQOTjNhUE4au7Ac+yIPkdMR1ZgUHzBWLjcxREiVFUAeY2RHAhDePC9aZHYVDY3AoW55xmEwit1Zb6gGYSAkSi1Y88EmCts5EATCIiAg8pSHStX0QCIashrJVphkOQkguDdTUtQvrsgqryoV//0rw9j95M/n2Uo8XAeEWhAAmoIN1+2/+OQUo4NuAFCpTgTkPTf+0Dh7WrcpE+5BTYGqqFHpnEMUh0f7UTf7tR/mP/3Kv+iuEfH7rSu8b/+R6+rvDhPsKSfwrmnUlhGnSoTChKvX9zivh1kWA12OhQcy02NNgTP2v/s+//u/WVwefLQ/io4VBMgv7vQLmuJ/7nFwsQbXgqETTE+sy7f0EQHJBrpiGkmLbRK62R9qI2IaVREnfBoWvAmqBqQEg5GxGifRs4TAbpV2AiX5M0Sxppr7IaeKWJEoyoazXtIPLhGY9cj2ajv+MsoOrjYrsFOYXwtivt8L8nJkh58sh57uqzzcJxmh/f48MvePH/RaUZOyB+Olfnww2ri707DGZsvRz7UxrNPpFfmWhsEwWU6rGOSeU0p4r0cRcpxIscw7gq0QUXKedRPU3dF4DTDutQgRiJGCz7zhB9iRMdewLTehZAtNdLHyUmuaTuTAZJ7xWk0UPMQQk0KVHEanQ1JwZF3AN0ALmKZOtFZJ4ztkyQO5PI7KQqhRUtYS2KqEo/87v/53ozkJqRi0QARyFDqLG88BsIATf4Lx53nZtU1jOd3Br1N05vyZ7mGKg501zKEz80/mKAiLU0gOeJ7nLslKqq4vBAkxvgHJWoMel3wY8sb9szG+viOGQZToY53b3aGar2tFbb6zGeM943SQSwJJWBuz++//90f+wttb7ZG2lv7cw6k0HUZxVtuAwwmQW/z97bxpk13meib3fdra79YLGxgXgJokATUmkJVkeSZYceZHXuMbb1ExqZirJVE2SqlSqkkoqVRlZf/I3/+ZHfqTmT5JKcTw1TtVEo7EW2rJlSRYlUyZBkYJIgsQO9Ha3s3xb5vnOOfeevmhQJCR55FGjRHWj0beBvmg8/bzv+yww9hg7JFHiiu5TWTNM4RGo4YytwRMNQp5lVjjExWlKmbKunNWA6WCNrJxVvqnzRUhx5HrI9kTOZu69ihKPX8e+E3chjObwndsIKe+Jw3iupZiZb92ad0fyq6eeW4zgp6897Y9G8rtj6BFgdkfylefpnQDmuQYwr18i9uhjRDcuE7PxOOvJYS/sMPOCAEAVysqwp1wBTF4l7LafCI7wn9C9ios0ciwj/I9sqYGCATCN0QxuntIZdPnwPR8lYJVgmMiSYJFowBPDqeBWlyIIDonUjmLHrQur0uAJVwgQb8Zs5p0wHjtNDnsP5nIGZ07TOB7Gf8iPHIQ4RNJor6StBr//U9kv3T8Sp3G8aYERx5LwOg4mtbkmvAwg2Y7gtZMxpF6EfWbz9nZEb18u8tEb1tmkY9QHoeYruIlDCj8Fw+yCZvtzfM74M2E/ifE7r5CvzFDzQ9p4MvBONh/05t7cvHJlN7/w5nY+meFXid2/2Ut+66PvWgew4t2w/B0mRJsD5v63P3rl/zi2nrxx7Pjw5novmqZZMm9T25kkG5WFHjBROY2RPLF4CbYJTSbkQ+hBRwKnZDLYJ11aR8QxW7klYNY5mriQI0uTmXAbuhMwI/LFXtNMiTbKiDwf+BDcoWU1M98azbsM8wgw3z7JPALMHyVgHqesN6MAmBptjpRQhTG8KlhwakjGYyoIO0zOY7ZvK851zOKIMDrVV3HQS0zLe6SCsyeHVlEzERO31rCZJFkqFTltBGPo57HMp4Kjq8dXcDhLbo0QTlqUhKnbVp8kVkfNMk5IGgpjNV7n+Mi23k2ioZtRJbmTQfbo0DjLOYNCRldW2cpGP/8A/8CHH4yfxodp2WQAyAYkW9AMjLNhla08J9hpOuN3O4K3jLM7kn+/t62qGyDUasd01YBnMFxC44mbczjo1McdgKW1EDAFsPTfvbpXfeO7Nya39udofMNYrRmDkN2K9z+0dexnz53ammuAf3DPUz8mirgp/8UXXvu/NjZ6l45tDm4eH6bjaEDzEIiM9HX8LZSlySQvrSnJ2dgybuBHgmYJCcwOF3UAaA9aTfjVAZgFeoIqpHcG1piXVXiJkdz2yCumbN2DTt7uFV4NRl66IlRdYEducTmnpAbMIdWAmdHMPEtHgPn2MfLo6LN4BlZG8j/4zGcOfgPpuHsOjOSdVPUwkl8gjlEcP8AwP/UY0eXLxG4dp0xf3xu0OkwAptgAYLKwt+RpGTIsIUifJcRUjkQ21GkTmaTPPK94YJRMs4xHwVUT3DsYr30uGFNsjktGLGMJwTk0PiE9gwmDIPXKos1GwB8Ov03pWbLHxJZj6I+AZJEYMt2CjAgIACl6nSded/AAISERCjEdkptCK22c8FWR/aP3937twTV50kA+1IAQXt7BLJvd5AEG2b2IN3vBFkjbveUCJFvWuXJF74IoiGa7/+wm2IYLenNFb/9i2z1qu6PE0A1H43cubVdfe/n6ZFrqmVIiV5EolOAFFxJ8jqx20W996P7zW2u94RiB6Doo7qmfMDiz9v/lVy7962Ob6aUTW6Mb6z0xZbHKIf8Jbh8unCBjMutLWCOdCREfwUbJmbS4kodnvSKfRM0hH6BZaU+xDJ1CIYw4r6t8ww5Tks+GKtgoUaZm89BlFETtkLKnZuSCpL1hmKxhmGw9nQIwTzY7zAsXiN6SYf5Ox+mzVHuFr/WDHeXhLUcBwvcIxH8rHrYatnHAConPoAuYK6nqp5pEIrzbCzeJP9Z8xjs36oqKW9eI5euUyZ2iHypw8etJQmxeCrQ56kl97TYJMi2JzXnF1s2Az00VABPnFYscS8NCEHBU6tofburdZC4yAdlQiXMAp5i5EjSSG2lQMCMqyNg1hQI0HlsOb/iM22Ti5QkL2R5i1jCnO4fMstCzE8RK6HvExI0OMNhpGv2lrbysShM/kPpTv/tk+qlUsBQ5Fq1OsdUsdneV3ct3YIxN2U6XWd4BkB3JURjJO49rZUiHjeyrbwv7zYZV4nUAJ8ZtfNY12w2ZbvgOQZ/7xmuzV67sTmKlZkkqJ3EsZ0mq5kKxAn9FxqMuyaT/zSfPfmJekdqFFjxYlIh6safLN/ev/PmFG58/tt67dHw9urW+0ZtQIosQNgyww77SCpORLnHsUR5WSnLYZyochJLE5CYnxVNnynH4o7km5QgWSguxe7igKwt5EQBTysgzMXHBgw6WCXt8Hvv5oAx7S1WNbF11UY/kiAUsioLWe8n0wss03zhRA+F3LxI9gZT55se1a3Rwh/lWgLn6r/wnoLLiJ3ok/5sAzOh6MUApmY1iD2H6HD7wDmCKpGQz6Cyt5inrhx0lALNylbBxfeQBYLKSRMQ0M6QCihqhBJw9lSdZkU0QG6QwspMMSb3oAoedUfpKCAmJpqDSu2QsxXHrKQ5BQQEYEXUL/Sbi1pBABLF56HYEkxW4F5nSyqpw8ZOb/l2/+Xj8CUioA1h2xN0Hxu8VfeX3G6/b8XwBng2wHgDLZoRfBdCWXbbg2gXm8PHChQYscimCr2si65G6vqh7/6cvXL518XZ+NU35uJ+lk6Qn5lKGbkyncxO9ayN59yfevfa+W1OinVm9+8TjhymjL37zzW/dmpbPbW5kl0+u9W731vrTODIlmGXI4TQB8nQf8zgWxTzWzpvAPgGYoYfDaPIqtczOnRJpKFVjVjnhNXSv3kp8tapQxRRM7kEbiy50H7rQuRg4GpfENmJXUklrU+9mEXk5KZlRsef9xIlxgaqTyeUjwLxnQncEmJ2n7m4M88VniCEk+EKTeUkfJ2oZ5rVXL7Dt/jm2eeP1+rk8e5bOxZcZPXA/pTcmvalQ/aC1nDCG9kg1JQ5GCUcPLuAIxYEaXeiIJWhB1RTsj+B5QcnTWCFFFTJ/qIzqBCJfEvcx42VFQkuWKmRXVsSwcuSJ5EhMx4guHI7giOuxDCHeuxE74YkjcIfBuMPIyLCj5ByVsDDK1EcgxLChxqe0cl7Z6GP3yfd+8pHoZxDlBqUMdn/YBXbH8IVcqJECteB14JgTQGx5HT+MLbb6y8XjO5rMBctcedthO9CFeygw1fpCFFhmcyyCFCkWRFlMkAf5v3pj78o3Lk1eHAyicZTKIlaywl/VdDzPfu/JY7/ci8X69THR3hzyo/q4lCky/+Jz3/n8+ih5fW0ju3Ji1NtJR9FcYAGM9iCBfCdlMBukVpekhVOxNMghxt4SgOn0tA7sCLJWBLuTi6X0rgy96PCVhm4gpqSBvAh952Gvif1mAUZJxLLIJbPIyX6ddJTOyBUJBW2mUfWoDrapYj197c3BbMEwieiJ4x2GOSFPf1J38J4793H/DD1D55t8zLcsRKtn9KOR/J6h+Mf2gUvt5Z1WyKXu8sUXa5Bc/Oi8/vnnnuOnX00X32w23n+OPdq8I67jvZjY7jYxNaKezPf7JiMEpYWecMGOM85LhktnIYirfIp/tmTiPpN2l1veCzpLXWphfCQQAwYm2YsyZqM8+MW5lUyTDQEaOUlpMhlrb2t3j6zZKKpvcTSHe0cT1pj4M7h4zOUJEi5G4Bmi1oQIaBrSirDrRJx4SEdHE6Sx0Xymk198KPrpjzwYva9rGQxg2VoHWwDsMsOVUfqO8bpljM1jFyy0HcMPe3z7vivX9O5Y3+o267fVTDK8rI86NVjiB8b0oNWEnpJolBFt9hhdvF1e/fxrk6/0sngOG3hZeiGs3fjPP7jxqzfGnt+ceAJRg5g9VUS39qa7X3r+8pc3BtmlrbXk+sZaby9Lo4KlvKxT3h0u4XhSTWx9wVjsjJvhluM8LuOkrYqwp4TTJ/cyXtfo/AEDRXe8K+f1HhTG1iTVCBkGw2SjnnPjyrO0Hy7nof88rw9AYJipLVwBLcR+SUFqNBx52iuIJ2J67fXB9K4j+bvIh67y5seFzt7yCDB/IgOE3zlgQnd57tPkW4Z5dfAcawFz+/ol9tinPkWDy0uGWb1wjdOpU7Q+p96UlYOwqwyd4UQpKiV4FcTohWGclVOoBWvxZqGF5bUw3YuIm2m9t8SZnCW4godKCeZLFCukwQo5dVbZlGKvZKisQH+PQQIRam6wCzWhLyLoMkvukn3GTpLgYWsVwjJCuFuIGQqGcYIoED7rSstCu+Qjp+WTn3wk+aC2xDCCBwdMwy5bfWXr0OmyvLc7hh/2mFUA7NonW9tkOBI14Loqcm9BsWWV9QjeiOAb9ou3BcAUjBLlaZQyWs8o/Pftq8WlP7k0+xp2INYw/vNnso+d3Yjvuz72dGvqaY6/PvLUi4m+9M03X9yelC9uDZM319fjW6N+Nsn6ETRkeC8fOs115RizNja84AlZmyOMw9d/LEcukgJR7kHU5ay3EINhUaJC/px0KFfDD5lKmCxD8yQQl2zPwX8OwAy95zn5JMNIDt3mvrdR4s2kYDYqvVRxYJhRxCcHAHOVYT5Nnp5tGObHP+6feeaIYXa530/gSP4fCjDrMVyhMxz4FGEkZ1zlVHvEowiNhmEviRw37yIurQoGHACmU2OJeIxg+WgA07uCa1JyzGwqkO8DgQqHz1sgepxzxLJZEYTrnDmmJY/nZE9WRElQUgLJUfkYgn45WW8EN17iEl4UJnrfMfme//Tx9KMYw1sZziKQohGkt+P2AZBrrtYHWOMqkzxkzO46ew5czRtGeRiQLkb6unW8CetAZdkSJOsKM/y8ZZytYwjZwnWQBnzhcO2sZRCic//sd6ff+dqVycvKs/iffuT4L+7PSdyYeMLBJ4zj6Ns1VfWvvnzxK6NB+sbWML28vpbuDAfJTCW8spYMouKAz4JB3OV1XPoAmFXuYUp1oX0SgIm7TvCSGyxKwkiOAI4Q86RSi9cBmZHyBoDpvPJdwAz/oIV3iamj4GrArJmmhBMoKuoQ4iKmKNJHgPkDTL9HgHlgh3n4SL7KME8NiK2/Wr/v9evEHv1ULVSvd5hE1QvE6RQFhrmry6FHM2MZchFZmlZsDvtIHAfwTAzE6XWgxtyzBWBKRzyOFLNMhzKziZtGSsownnOrcMUIwWaVZHLqbMZlzLy3nFvBeALlX+3uCS8xX8twIEr2hTuJK3kASRx+HFLc2ooIjPJaFbmOzvT8A//wfYNfhCC+DaNomWXr3glg2TnGHLh+v8PDTftxFszx7T6+sy+tWWR9/a7ZZctCa6AMP19YLmtAxSUdInfYKMEYIURfQ15pzNy/+tbOhQfX443z92Wnt6dEt2eeJhAZOQqs9OVLt2+8+MbuNzdHvTc215Lra8PeXi+RhVAcoZjGtb1ARFbFvuKl0REnrW1Ui9O58RGTNoLMCD3xTrqC5w6VFrioOSatULIBTEWSzcLrFvFv6D5XawadQIF9xlHoAgoMsyRCF1B4iaUojj8Nw/R2Ot250Z8QvR4et33irKeLn6XNk2fCE3b14dyfnjwdXsdo/swzROfbS/lnDtSj0R98+tMHd5ZHO8wfAIp/bB96bwwTadNt0dlgQOzVtAHMSxfZo489Sjc6I7n48g1BJ05Qn6g37pcDb5pDD7iiYHzepBcpHG9yHRimF5pz1mMVOr0NMYBlHOlg3MGxZ4wqcQAgys0gUJ8UWIBxLZnc9awndAOQnhDCEVhlMOvEnOOfIw47OqJ4wtjJSvAoXJOs4cpLgUoIgKbVXlnnIl3o3v/40ezvRoLHy+Se+sjTyoZa+yIOON0r94IlvoVu8oCGshWvrzh9FqP6yl70gDxpAYA1s+weedrdZauXqT9efe1p2Wd7BAqAw5tAjdjTICHqx2HsttjTWs/E7tzTPlQ6KDZjHvl49l/+2SvP9+Po9Y1BcmUw6t0c9bJpmoVR3JL2QYBer0+FFaoysvKwXBkmDDw6DoAq85CWbCEjgmFSI9AYiUb4lJS0gknLnaqPPm7fCedDRS8+dl9mxoaCNCJXWVn2FwAAIABJREFUTD3yNCE/AoYmadQAJwUnEI5EeL9MxONrr9Nyh4nw4emFBfCtAuY//8yzbOvcrfrXMZ6fP7943yPA/LEFuR/mH+yHDZhLK2TLMMWXSdAJon6feuOYBn5GXE9Lhn4JsMoAmH0itU8cQBkAEx22cY9VRQOYPcUkGrSRBWwMY4kSgakShJiS8cJIwy23IhZ7xvWJW46xPhx7LABThIBfLkO3rIAwvZKUzAU7gW1qaJXQQXATSiecQcqQVfNCZ//VU9mnTg3FFkZPCLQXu0tU5XSA7Q5xeVc32QBYyxgD++x4wrvRbncb3Q9IhjojfQuMXeBbvYKH92n3ll1gbb6UluN/czIP38xq/3ka1Qcd+NHxZ8NzMA2+87rOPFGMvndlZ/fbr916caMfv7ax3gO7vJ3GUR7H+HYXZJ6Ii68bJAVZYSsjLS+F9UZGxtgWMNFTbO8ETDRO4ntRlA4MJEcWpT2zfS+c9tZLj+6mWCkDHSY+pSIAZuSEKn0VOs0HrixLArOsARPX9JhENZ28E4Z5BJgHsedoJH+bI/ndGebdAVOKWX+eyYGbEy/ziote5JVlPMdYzSuGYGDpIo6xG+tE71AwU/vF1UghxRbZ42EMZ6ILmMRMWVslS2fVPpMZQ3UZszxC34QlKZkIGewYx0VE3BvHtRTRlLlThvMI4RrYeUpncW1g2lpZzHT6ybP8Az/3UPJEG3MGRgVGs0ga6uohVy/dh12vu2/rJBC9Y0H64ljTAGFn/A63k4b3dF8euJIHAG0u5l0wXTDPpSsoBHeEuLh6lIeTvLS14B3sMhLO/dFXL74SReqN9UHy2rG1wc00ZpMkSQolEQ+Mow3XoVQNXBEAaiqdeg5hBPKQLLymaPVQTFhbGRehJkMbL7JYg22GkCOFsnhphFCBIbpq7kUJTSZ5rSoayTWNdslwNYf8yFc+FsrVgNmO5jXDlBGFEd3Y6XR2tT9uv+y3IWC/eJE2T1aHjuRHgHkEmItvEm9XVtSmE72CoGAiWl8ndr1/Mby+c0OyMx8/S7vXmiXZA0THLhCnk0Qyn/XLUg4BmHODUA2M3vCI10cfZTVPtGKWIy09Ynk1F6ESF1dxnwu02oaGRlRWaCtQN4HaCfxcSDSLSVZaqwrOMpL4J2ex/WIaVZAQnyN9KIRpBGs1KxwlecxOVILCwIn3V1aK0hpZ5SZKvT32P3xk8GvWMdECZkgeb/SWh43ed3PqrOoiuy6flqV2dZqr1/I7r+edg0170LkLALbs8sAI3h3ZW7nRQp9Zg2kb7w59Jva72FPULLcum8TbwDwvXt3Zu/DmzqvDfvzmsUHy+too3U2yeCKk1AoTv4UFgIzxqDGHsJKcdbbqe17gVISfIQgfRx9FwlJlgjWSI5gjihG/7KXRwTKueBDG4vrjqaxCazA6zHlKPlYyHIHCdgWaTXjWcfQJVz3vsDcP7DL4zQtfoNZC70z1zkP7b3eH+c8/Q2yrDRQOI/lyfD8ayX+Yk++P7cd6i5G8I7MKYvXmc7gA7zgRtTUUOPjcDTDHEbGtV4nTVmjT7es5DUVKbI7gX10xMYwYN8G4yJBGJK2uWSWkRyU0zujuJuZjxcEw2yZIq40QFXGkYkohiSc2AGbFSE0dy0IAHALjQouOlhIpbSLU4UqwTBPqwlky4e6EgfgIhblOoGk7qkqrirlJ/uufzn759EhuhiQfhOhiHEfCUNNa22WFd4zXd9FGtoegsGfr6Ci7j3+ri3gtHarH5sUeMuhumqVce3hqGWdHnN4u21rWedges8s62zi35bkIf+rgNQ8LYmg2lbf2j/7y4vd6WXxrrZ++udGLL69nchz1e1PByULr7xhU6WQa2RAa0CwZXmWOcmmtrat9AW4S8iGrC+sTJRyu5ExLEzKjUNUbrAUEnUNgmAmlVudzAmBG/cxpu+cinoU1bWWxFYXnvAo7zEGq3KSqqGcjz7LYzVTpk5Joos1U7/T23z7D7AIm0fnzS43mH3x6+Xr4eEdHnx9b1PsB/mB/c4ApSxpoSwOeEiubXEvoKwWbhkwLrhXzKXaWjGlSJHQuNUmySDyX6NMBXzEcsW2OjKTc4N7DpBSkyUqlJJtqiiohU09WekjPjeaCI97NApQ5s8h3I+AnOszjseAnDU5BYFzWCWsoKuYmfuKYf+z3nux/KC+JtfmQ2GG2o/ihbPAtDjJvZWHsHnRaV0/LQA8w0c6YvbiAd1hl+9iQzr7QWTZyopX95Srwtj9fHIsOPL69qDfX9TCGB3bpL1y6vvv67enl4TC7tT5I3jyWxlf6AzmTMipC8TqONdZ5L2PtSHtuua+gZ7BkUstnka4cV1w7j5pMAgW1jiJUdXqOBWfujRfGS2heJYI55o6H0nHvMz8M+8xgm4yVIztzCB0OVkkRuoKCp7wGTF8ffdAFlEbO9ktPYyRiiskRYN47fBztMLs7zBWGef7Cs/Xz83Mfp1OvPMeoiVV/K4bZi4iZV4lvbRHtljSQnoYGmRumYoJFgUkKVtU1ExChJzVgWqMYc7mwXLESXd+wNUaKu9IwAGaofcwLzqQMXeMlUoi45FNtoypGp5qQzoUSszCZMbLMehTxOCGR1oYaCknxHvHTDkcfQLDzoipcko+L7H/5xNqvx4KnbaBunTreZFm2+8MVLeVhF/E7ZEadwI1Vb/jdwjgCG20v2gsm2Vy329G6yzyb11vwqx/f7Dqbxy+u5p2CtQXgLh5fs8nwvu3jsLeEF0sRpcK7P/qLV17LBvH2aC3dHvXTy1tpdDWOQit8xSWvARP7SESmMzQBocKXY0GiE8fnsa0s5xE6Kj03DWBKUQMmRu8yVMd5geK0lCzqKzCiIy8z8+gCgucHO0sdPOjIywyAmSiH0jSEctSAWbqyiknK0sM2afMSCQKUj8VED3v7jaqIvv8O84hhduH1Jw8wO5FuB0VkRN3A4BepM5LTv08genZ1JK93lkgnOvfuy2x3G2tConHEmSsEp00itVsMVXQ8OH1w9IkoIp/OuID2UikylRFKZUgkD+CJoDWM4Egk8szISKHvx9RVt9JKpA8ZgWMAMT9nkknBSuOiMosyBG6Efi7kPxZO4WWFU3loxhXcOcuNFPGe1/dZzyN0i1ujpS5s9tPH2LlfO5e9D6P4DJbNJicSo3jYW97tmNOpb2jB6rBL+KFX8M6I3hWsd8fvAF6dY88BIFzsJJcHn3BdCTrM+kt8AZor4/ph1/N69K6Buvt4fBwsgVPpab3H6LVru7deujH/7mA93t4YZFfWYnkj4bK0zGpkP4W9g+AYpWG3D5tRFzYIVieOzTGSkxGGS2/xFx92mbG3AFoAIC9RAGI8bJUi62s9yQl9P8SVi0lbUfn66IM/VxudUhFFa72gycSlPACmIIddZs0wKQRyQMQ+Hs+mtNXbW4zk95OnzxJtNnFvVx8mfxp+8kaHeXCHeTSSHwHm3RgmETv/bMMwP/5xOvW/rzLMwwEzjTi7Vgh+bJNof5cNYxYPYXfEoUcgyzKOMDiH2DYcgEKEW05hp5k2gFlabIOYYL4A/AVRu+FWRVYyy0zwi/sKTRSCzbSLTCIyAimFTtNbnjDFLTrA6/Qy7hkPtsqSWDLj/pRxLrHoMy+rKJ/p/v/8sbVPpYpnAEuAJkbx9tDTgmU78nZH58U4/TZ832/1+C6gdi/bYffI6t0nfiwArR3LAZrBI976xle0luHxy33nKlC26er1kahG2ZCriZfNx8RTiicRTqCNHpRh3vzhc1e/no16tzd66upAipupQo8aSolRnwuleAjNqBBIzCBexwZS8BIMU1qykHdCJQtGiZu6k2R5eGcAJlmPaDfoN2Np7BxFaj4Q3lSQCXKjZqeJTy0obisi0VcWIzni3wJgcgrAGWyTaT2u4/Oa75kJfaC3t2CYR4D5jubzI8B8h4CJdKKN6xGjRx+lHSQUnT1Lp6bPcTp1OnykdJuzaz3BjyH3IADm4C6AiT6ewwBTMwCmMFZ6iCitCWAqFJNw8eB16C99SRL1OjPPIh2JHuNOeOw8jeaoMkcVLnyVYJ7ea4HyH1zHZ8ad1o5l2mhezKrkvZv0nt9+cvgUwDKM41CpNH7xOy/Vdzp7uiL0u13MF29vKylW5EV3BcPm4LJgmSvj+Z0ssqO97ARvtOL1+lBUf8m3h6DAKxnRm9d23OkT6ww/FuL85g8GO3gWIRmN6NSI0fduzi8/f7t4fi2TV9aVuqGiqPLWhhEcoMkcvkdxqDbxEgcgVwOmrwETwIducqQZLQDToCXS8dLcBTCVT4U2WGWHIjWvPWPK4aVAU3lSObDQJWCCaVYk0C6Z4i7fAiZN6AN0BJjvCCaX73wEmO8QMPHu9Q7zrRjmiYZh0lCKalTLiCKC7tKLCqGTDdtUKFUNzh7tNMf+c46FFxgmWiBdysEowTAVsZCcjkHMeKy8KJSgTQ2LC8F62FNaZHtjrhNOkXGYxImh1MxxkFoGtUke8ZNl5TNdaTWdl9l/+4H+L2xmYgTAnHXYZVuLewcIdsbzw1LSF+P793H6dI8w7Rhcc7yDPvAl41zqL7tyoRr82tG9BcOlj7x7Ie/KjcAccdSFLXI6Ldznvvqd8qcePSUfe+iEQtA5+n2QSFRP2HUPOXzmJweM+rGv/s/nbj27PsguD6S40UtTlD9U2F1i+8GsAyPU3vPAFCErYsKXsrJFKlRF2jouRRjD8cslABWJzVJYVSJYL2gL8MVibJpgk0zMShex3IqqrrKoWzVqwAy1vD1vrdMeiewa4cau8s5FPgL95N7J4cAaXbJqFo+PAPMe0XJZIXXvH+Bv3SM7O8y3qqTADvN8J/+SPnOBh0pI7HbOn6PrTTPkzmVi55o4t8AwI2Kv3toRGxtEeZ4OfU+MgFYh8xJhwF4LlN4G6ZDVnLIMhd6MG8U0m0iJoA38WkRc8iVgCmJSMRHSioxGCxmu4sTnPo4Md5l3VuGwgyOPxZW8DrtEApEg0BLiZARLplKc0pXP8sJGrJhu/LNPbv1CXhGfFaEXPUiJ2qKyhTtnVXzeOHYWY/ZKuO9bjuqL6tza8716/e4eYhag2nrDMYO24Ng5/nRtkYvQjeYLc3lYaiPemnM48qIgUOXef/7rF2eTaWHQHPxrH3nP0DHBC83CagKsFN8a4QJCQ+RWj9HpEdHnLuz91czRi0OlrvbSeMY5VbAecKEcnkDHuMYgDYZpgyjWlkrzPEKhu4twPg9gSoiQC2wT5Ne72McGgAiQ9IWxFlbJWHqjDXEzt3HT/UMhySitw4ex0OxXuMQ7IZVHbgcAE8CZyvB7ILvK4ehT7RwB5g+CWT/RDPNeADPEuaEW8rFHaQf+cYzkTZxbPZITe9XuCFSR55QOPbcNYEYkjGbIuAw7zFyHkRzHnwCYUcZ0PpEyTQmgiMy1sPnCztISi6SU6OXhVXA5ci4xmzE+8xRpznoeRQXBLqSF8wnnHgmc9Q4zOI8FJ21sOkniU3lh+3lexr9yRj79Mw+kD0+Kml1iHG+T0+86ah8Sq7ba+NiVDR04GDV7wbBXXBxmDvOBtyEZ9RLzDgF6ozFvwXbV5bM8/izzMBfMFfiHGl5OlEREL1y8Pv/elZ2pkCwUiJ97cGP42Jmt/rhAjFutQwXLRWVnpjytZ4xOrzG6Nc5v/8Wl/EvrSXJl0JNTqWQOWREOP3D3WAt/EPcMtZCCow6tFNrmEXEjmdBIYcd+EyrX0pLjQqDh3cWiAUzU8SLCg1EDmETcjG3s07p1yWvPaWhd8J3Da75HIlKWI2xYEynjXWGI9UMMi3e0NnBUllRRPKZzRyP5vYLmEWB2n7lOh8/dGOb29Yg99uijRI8RgV0inehUk060CpjjikZMRiMwSjBMKjSHDpOc5nDzcKaYFoar5rBTlIWSiHOTCt23IkS04UKOER0RRRb9hbiYIxyswgfgpaOojGSPrJCByKBC3HIRwBLkEnpmE7w/aGVN9pU6VRZ2MJ0U2X//4cEvZpFIpznRDJfxxje+ehnvjt4HdJOrY3dbmdtlnIfkUHbBK4zUB+ojDgn+XUiDlrvH7hjevabXB6DlgWgJuPXvgy94jOHoFN8bz+xXXr46TxKJJ6hCFiUCSX79Q4+eGBeeo+ys1aICZJHOjiSjE0NGa4kz//fXbv7bjV705qiXjmUipkJ6y5lCba43DgmiHN/aQj6JgKzSsrl0FllTGtHO4UoujdXIcsalRxsfxQjFbCRG1ltLYJhw90hP5djFiHYLRx/tBQ2tFfUO08pZuLIrrhwAM4R0YAcjawcQpSqscvO5HUdPZbtHR597g8yfcMBcxrnh6XvxXOfnv0N0cCQH/SDavn6RPfYo0SKh6OxZut2kE+FjZPvE3ljfFev44sxplLreKOrhXwTG7ijErQUNplHMRpqRMGGHibdVpCC5DKYdXxjpyAiJLGCcelztHV+ECEOX6YjPiSKjqOeZCSN5+EjOSOU5d95wLtCaq8KdXrMo3innD8y0G/CiHP2zn9/8hWlJbJwvnT1tWMYdMWt3STsHy1vdZS7edkA83mGSnZi19gq+HM0P2WN2wjMCAIZi8oZ5dq/gd2g0W4Bt3rfRVEZwU3njvvTcq3silnmcKqPiCEOwKksTf/DB9eGwl6m9nGhSerLQBZEP/nJEwB3vM7p/jdGfvLz3zXFuvznsR3tplk5RQgxJkffScdTVOSS0haOP5U5X0vIAmExyjUVzyMu0wSJpgp2KS9TYhZGce+FNVTh4gmodpvdc02IkrwEzvStgJk75WVXREGVpuJin3kUU0/58fgSY94aVzYb9B3jw38qHHthh3gtgUgOYTQbmWaLbTTrRnYCZjkaOj3ismcboPZsLUmtIWQgM00bErM8FGKbVhfDxgHNWBEYpXMJrwKQwojttoxowLbMcSqNYeGZ55UU0IzNkyA0OlwyH6i2JE5HzcP2owDWZM8wwGd3S1cOTsjr51CY/9xvv6T8wASg0tbGho7vdT3Yv2Z3rdjtud1OI7ja+4/moR/LWfdM5ytyRY9llhSsayua63R5tlhbHJePs6jW74NuuBPA7gyW2jp2vvXBpPCnMpN+PJ2kWhQxLY4nnszI51lfHn3xoa+vWDICJwaAGezDTFPIijOUjop1JceO5i3v/djhMd9I0mapIVqHww3Ho1BGhUh9ziGMtXEXazlFVwaTSuFsDMENUh/CmXhwLx6QJWZkSWVWVdgwMU2A6N7BrmdAOBAB12is5NJrmhPg3K+bYALiIK4dJAS/zuWa9ROH3cfCTCxn5fE7j6Ck6Ypj3CF5HDLPzxL09hvnOADN1fCRi5AahWgKCSMXQjoDJ2wXArEERTNPzAY8AmCFsQ8KhA8E5g7Cd8YZh2sMBkxxoqUZJD5MkBeLbMINywXgpXH/K5IkJc49MS/NQVZj4Hz0SHXvXZpSBXU4bwMT+8oCIvFtWtpo0tOL+WV7T671jq3m8oyaiwzrrC3dTf7siNu/+2qEpQ52P036M1azL7vUdJnvZyIO++8bN+es3x/v9fjzrDbJplsgSoi2trdBFmf7S+WOPox3kxtjRfo5k/FoLijCORNUhw6eGjAS31Wdf2X1+LZavDtPs9TRS+5h+Q1CH8Bq7zMAiHeimrRLLZ8qTgS4CykjeACbIpMLrlXAsMcH14zTh6I6eSccCwyTPjbcxzOdvAzAxis+mRMMMWlBylYgcKkum02j/CDDvES2PruQHGea5lZG82xJJn2lH8sMBc5bcCt98tmiL2pGc8nQUCT5C5mVhNUvagOAmkUi7nFupBMBTI/i33Vni6GONdExCWRkYp+VWLV+XMIrgGs5LTlHhGY5LgteCFB9JJSpG6ZjTfVPpH6nIn8DlR2ga27n25XjO/qePrv8dSTxGKC6OG+E6fliZ2Ury+WE7zPqaXX8RtuAVQO6wQIxWjH7g2t1aEg/27nSlRy2rPOj9bl0+HUtjJ66tZcMhWZ7BC+5pe3dafeuVq3u9fjofDKN5r59NVSxDH0RRWPWpd/efSCLRu7zn6QYaIgtEuzXMuxnLhwmjrX6QGNn/5/mbL6XHMi56SZEK8dqa9a8lFdslznLcyFnEPVnrjNFVj9RUWItCXYstNEP9bhRBd2nClTyM8CEcyUfwhFtvESoMwKzwNjwusEkI1LUnmRoksMNrXoi5j8I1XNWC9UbAHq7kQHH42aOIqikdAea94+VBwPgBPs7fnoe+xUj+TgBzkL7Odm9JRvcT2Yv38y5gTtYp7DB3cxqRwH+aI0k9jOEasiLDUpI0xeQdGCbcPCCRy6IzEgln+KchRZAZ8dBLEdKHmIFhXFsFa2TOXZQzNpAOJZJazJXYmkrxeCHpDHPkYquvD6y9MrBityh0tFPph8azYuN//aUTnxgXjGEkx4W8TVP/vuLzw/IwA9u8y0W7u8c8JNB3AbKLjMrlZbsG4dW6ifpL7U530NLCGfaiK04dMENdlvbLf3VpL82i+WAQz3uDOE/iJOcC6XmGf/C+5LEnTsVbb+56urzv6ea0rqQI8qKGUSOZvRexIC96YJ3oC8/f+lPDxJtqI2FuLT7tBB9x52ep59/JcvtGIsSk0g4SdZMQnwpXWSYTzU0VZEVCRcYgRLgBTB9h1IDESIRgYWNNzTDhNScwzBowjckpjge6LUjzTDv0/CSUWYzkIXl9iq4oaIy8i5KoLkebmP39Mzu7dLl+Hne3jB/89Vl/ZI18exB2NJJ3nqcfBWAKT2teal4wzRKTscrPg4ocrLIIgImvbewpDwJmIhJeeSugvdTQV7JKBR2ms8xJWccbIXGdmJwmYrTHxdk96d9rOD+Want7QOyVofa3uHNGgGN44mNtR9t58fCWdA/+lx/efArjJv5blRMd8IV3Y9lWruIHGGDDJhdC8RboFklCS3H5wb6dBgBX2GkNpM1jmo8Rbj3t25sV/CJ1vTkCdfeceBcwyxhWbLLuz56/NOac5lk/nY+GyTxOZBUpVRrn2QNDfvJXH88eujbxDOwSDZE7cx+0qfhm0v4+ELEjExN7zAfWGV18c//lN3fmfzkYZLfSYTRnsYimXNxfRPKMZT5KPX+1V9gLcWVuZobPPKtcFzCpA5jekRORCLFwCrTTk0FGJkb30hufCFFbIyGQDxpOib9bj5K8eoe5vJIHKVGo+6kB0ydRHQM3Mfv6CDDfHjoe8l5HgPlDBMz5ZIdt0ib5B4/xeLrHSrE2JKPXMZJjL6koI6vHguMQgy/loGFGv7mmCBIjWyAGmAUIFTKUl4VaXRx7HBglMTKWA1wFCdTBRLspf/BGKn7OeH48tfTaOrELg7yaRoJDrgJCBFeQcNaJaVWNbs+Lh58+oc7/wrtGjwAscfCZI4kb54l2/O6mEh0iWl+AWTt2g/401+pQetH0fy9DLCB+rLWXrX+7KzCvxeG157t+vyVQtrvQEPuz8Ix3WWfzuDa9qHl86B2H4FzW0ppvvPDGbFbpWdaL54NBOk96cRnFUjvnXY/7/j94un9+vyAOZnl939PtuQvPTWkY6cbU3vrNAZiQF50ecZpN8xvPv7b/pd4ou9XvJ9NEiQI9IkZIPon8qXnEz1fODyLrLpyY+6/2qnJcH33IIYeD4ii8HrzkOABFwijsMHH48WSqBjDh7JHCG2lUA5jak0hNGM1JEUZyFTSX9dGnx73D5NAL3zXIVUnkUFM+mdC+PnP5iGHeI2T+JADmgc+x/gdb//jMZ97BDvMZ4nSeaPsSscceIxpcJrZ7i8JIfmxCfBItd5ivmnokh6xozPQ6RnLXSIncPA+AmeLXIfdJYAkHYBkuyqIO0JCSYhbywQSaJ8AqYQzHFVzgos4s347k8aup+FjO3KM9y15b1/bFTNspPqQ3TEklCZMeeSPhXraOi0lRjXaL4uFfeVf200+cyk6gMra9kOPgc5h3vPu2VZvhAS1kt/t7pU+nZZSrAvPugam1QB7GPpfvtxzXF0C6cm1vHw8BKyomMD6/8tqN/Mqt8bQ3iIrBIJ2lqSqjWKHRyDPr2e+/v/9ezpm6uu/p6tjRrSnROASReMKduv088eeou8xRycvo1CBU7e5+9TvbX+wP05uDQbofR6wSjBsrWMU9d5YxMRX+5Dihn/JMxP1Cf3Vjwv66Tz6HDpMnwlhngpBANICJAV45CgzTwWAZjjwhhMNwn3p8gy2d8UORmMLVgFnKeQjvQOMkdJhrnNy0IlRHBYZJDcOkPNqjn6GdIx3mvSHmEWC+XYb5fQGzBt8tImoBM+wwIwoMs7SaxSxj5X7NMLHDzBFd2QAmoXdnv5AIG0ZuF1VWOi+RLEa4sSsulYPrh0n1ZsTfvZ2wT0ae7x3L7Vf73k8YQ+OFE8F07pVw3kHvya0NVmhhHYnxbL5+O68e/v2f6n3owbV0fW/eXMiRTtQBzFaK05ULHbx6t6Nxu09c8X93jj1LAOwwz5V9ZQgAXgHcA06g7vi9WjVxR1oRmGUNlpkiunZrp/rO69uTXj8q+v007/WjPE6jitXBF+xX3pO95/RQ9K4EsPSE7nEw71kAyyXrXgI02iWJhjGjEwNGMdOTP3/h5hd7o+z6YNTfTyIGhmmZjCrrnIdJlQxi1o2fJNGD+5H/QETi6rF986V+qW8rFRl8ZwsZmA5x0cIogcu68UIIM89NAEzOpYeyPRIATKKyyv0wGZiinAfAdKn2ldEuSzIHS6Sy0Mvj66hmmD6BZiIim9NedgSY94aWPyFX8r8hhklsOiaGlKJbGfF4SsxGxWhuxAYYZqieMIq5PBdw+GC15BQJSlNCK6SIJHPjqRJJvc+M4A1nMSNfcozoTpOqIp9diqOn9xX7mS2ir5/O/TdxLsq9WfMcGIGmSBSfKcGlQ4hHwA5yTlSVjqZ5tXY714/8Z+8dfejEMB6CYbaSorav57DqidVr98ID3uRVLveWS83lnSEaQWvejNXLVCEIwg8E/3Y1lx1wXLBUfKnkocxBAAAgAElEQVR33754fH2VxweD7xthGePxxHzr5auTLIuL/jDJe720SBJRSSmNcY49dUo9+IEH4i0A5ZV9ohtTTzszVx/BbB2+UX/MFtBr0FeChSre433EqNn82W9f/8JoI73eH/R3k1QUinG4V4OXHBsR7pDGYctYyNnc29HNQfxRw6i/OdP/bmMuXhMQq4Nh4vsOFwYAGQKNrMA2IPjKjZVOSW2lS11IEaacIjbQeMld6qdy7kM9L2U2MMzYu+mMqA+HGXSYstZh6mm+rz6Qbh8xzHvDzCOG+TYY5s99nOhPniF+7jzR9UvEYIu8cyRvAHOT6FZCPJ4Qm82LUcnERtgsKSIHR09uRLA7YjkWyyAWcs4wBc1lYYSIyrCjjAgeOcvRSYExfUZ+cK0nPzgW9NMblf/jM45f5Eha5DIqnBuhIgYaT8c0Z6Twe/Cw+wzxDk6WxqrJvFrfLfQj//D9gw+vZ3GvZZit/S8wygNe8eXl+4BMaFV03k1Ib5PS7xbkuwDEw4N/w8qku8dcKToLe87G7VNvV5rgX+eDThIxzkhHL4vcfv2FN6YAy6wX571eUiZZVCm0OXrypzK2+ZtP9s7cnHh2Zezp2r6j7dnyKh485J3Lf12SVgOnFDUQwfGzkfryS9+4/MXeWu/q+ijdi2KecxFpJ0iHXEy0HDuLyEuEb0wjhkyMSLwxok9qQcePT9z/t15Ul4QUThuLxHQ4JQnecuGNMVbUxxpvfMxluKADMLnXXorEcGc8AHOsxlhYO99YI9e4cnD69HRECPWohuSiKqKpy/dGW+l2+2W/fZSH+Y6Q8wgw7wKYF7aeZVdfGYTnB80UL3xlxGGJREsk/ONnzjZNkU1L5CQCYN5mCA6+lRzj8WSPzdzayMzmm0EJB3+4Df/SG2ukYSQUd5FkyLzkSjI9KyTS1LHDRFUuwjWwt5xxUjcUe/JWwj55vLLPnpm5F1gUgFBUXERz70ZgmAIME447xyVHKCP+lUMrTySqykbTYr5+a1o98k8+uPEzWaSylmG2spluSdlqAlA3iLc++tzZ+72IYuvU3i5dOcux/Q72ueo3b1hj13N+0L2zrMsN+NloO3HkSSS+MVXua399aSqVKvqDpMgyVaRpXMlYYFnoM8GSf/B0793jkviVfUfYXW7PiPYLT6gVXqQ1rVoym7UBHD+9iGirz+h4z5svfOPK5/v99PpgfbDTyxRmZMOJa0tYqsAqab3yVCjNplAw4Uo+ty56c43/KhKnTszd54alvxXSjsIdvL6Ex4JMUdajdej/ibSJ8JHC8w/AHBhEusHpk6s5nEgLwMw4Oehr0Y7XyorC4wraU1u0ZJihZvcocf3touYRYP5QAZMawGwYpqNROZ4fA0i6RPnYIveSQkwlNzVgcoziaD3TJuRZMirDZTzhCa+MDWz0esZPXk/VpxJrbr1r4r4An7EXOvIERSfFc+dHXCJpg+EizmTQwBvu6rLD4Ccvch1PinL95rh47J98ePODmVLpzmxZSdFeyMM/qsNYYNen3aRYLNjeovZ2aYXsVj4c1FK21/DO73Pg8Z2r9wHh+53hwN0DUcisRH0HM/4vv31p5hkrer2k6PXjMk2iUiRKYx9stWG//1T/8UhyBfkQxvGb2FsinQjcDi2Z7eff/XN1vkHgOxAS2CFePz3k5t999bUvDteG14YDtZum8ZxzpYWiykA80MS2MaIyKfyUCV8xlmhi1u1JNrzW57+Xkv/2iV39l4rxmSqtZUIEKREkEaYiBJsG4bqShZUsqUdykxOL1jVpjOTSlwlSi7Rnqh7JE1f5wkU+C59T5cV6z4p5xXIe7Y5mtGSYR4D5drGy2aS/o3f/W/nO97TDvDeGeRhg6gCY2GEGO6RGZFudhwnpEOyReN24gjMjhRUYyQ3rNYCpuVRXMv7EbsQ+8vBU/+Gxiu86JphRhZKk2Jy5OHdsJMN9CFUyNWDidRx+GDp9BOeTvEzy3KzfmOaP/uOn1396mMS93QYwwTCXneOteGZZa7s4eHSu36vHnNbtc9CJs0weWnT1NOzzwN5y4RK6S0BHZ+QPkqWuvZJhRUfhEBNx77/5wqW8MDYHUPbhvunFlVJce9TBWc9+9fH+I6cGLFseeWAwqPeWdelb2+nT6fhZEdwDnBH1dnzAaDMj/SfPvfHscNS71hulO71YzCVXmhSvIAUSUEyiutNRFVVsAobpWKI9gy2L/GsD8dEypgePzc1nN3K6KrQ1TohgqUSwpqhEOAiBd/rYGIBj5MnnOqckXjc4/nAhw/6y9NqnURau5JAY4WWMxgw8+YN6JM85HQHmDwBjPwEMc1mr29wEFk/XW8mK3glgxn9xS0xjxvIJZwgO3kk5j2eMGUdrM5uFHabghuEL280KhWQi/CGwtyyjNIzk0FZb0ERugwQJr7nCiknMBm9k/MPOseNP7Fd/yJBIJARyHTCbMe1FkpMbEkPxmYL7WCguhcfm0xqkOQQdZqV1PC7K9d1p9chvP7H21MlhMtjB0ScnKm0oU1j2fx9IMa8PNYsxvK1+CGPz6nW8WwFxSM7lwrZ40Gu+Csj1rrDeIbbZlodFwoVADdgV6yOPf/47bxbTQgewzDL8F1WxksYpYXES/4VH04cf2RS9+sjj6foEo7inaekXR56lD365Y23WpgsdKWg/AHOrz2kjseWfP3/1T4f99NpgmO4miZorJSqjeMWRrIGqJY9YDVspI8fSVYYxpZmgUIK2ncrjN/v819bn/osbuXtZVF6DXQIkFeE9PLrU8Ht7K42NGi856nYlTwz32GFKrykPaUdtHmY6zIzLNbNOhb+mNKv7ymNud9Wss8M8Qf7iRaJ+U4K2fkcJ2rNs69yt+ivgGZSg/c5Cl3fUS/4DIO+P70P/wwLmpFKb2EW2DNMUJAGYkTWswr5SKC4sxnP4wxlH0jqONcIR14bERPi1Kz3xEWDCE/vm37TxbiSZJGd54UVSMD9kHOEbLDyWh7SikL6O3ykApq7KZL8wazuz+aO/8e7hkw9s9NYwkk/LxhbZaWHsJv+0QNkFzLsWix2y8zu0cqIVqa/oNe9gqd0D0kokHJgm6HQkGCnp/YvfebOYzKsi66dl1ovKNI3KKImNEBzubfaRh9MHnzwlh9hXXsORZwxxOsBymXm5AOk7tJ0Hv2GEMOEIgMloFNnia89f/XJ/mF0brPV2MslyESsc2TVcOBZX8pAFbavIsDF31gjGcZlzGNlL7pIrx+Lfz+buq8fm9oVI+1Io4RjkA6jRNcZiJMdqE6dzACYqd7XJKSJpkVqEHWYZgoTxPazWYfaVspAXQY3hY+8SyI4gN6JyN9Mbt19v/sEO3hFgPkPnz5/vAOanl6JmfDycGP8j/3HEMH8IO8y7McyZozXvs80wkkukYMPdwwJgYgzHOG7APjGSe8OTKOF4ifzLkFRUkpgoP7zSFz/rPT/2U+PqX4aKHiYYi7XEdqvwLCkEGwqBoGAcV8MiUzKEryMQR9QMsyx0MinN2s509ujPP9w//54T/c3bYFcFqhj8YiRvbyjtfrLL8rqHoJYV1kC67NCpH39wD7l4n7tGurWAtFwHLCPh7mS3wcXD6/QhuHheePlyOZkXRZolZb8XV0kal1ESacEZbjzsA/erUx88E60DJFvA3J7Xe8vg5AHD7h6eQlNlfUkKh6yV5knJiPpxffTpcT177sL1Px8Ms2u9frzbT+I5T+KKmDPe86Z/De3JtoqsnwgUSjSAiQ+9H/ut65n4zUHhvnCipO/wmYEH0kGoDgeQJPSUIxSuGcmrxANMAaAAzHD0wUjujS+d92mvDhAOgInqigqPQ3VF5cPrZHcznR4B5j0C+xFg/kgBM14z2h1DJiW+dmOwSq1EAExIi9DPI2rAlAKH1YTzcPQxTLGEVVUpscO83ufnx5w+dnZun9mo3B4aeEkCMAXPhYg1ZyPnjArMFFnrjtcM09bDPS7oJtfxXlGtjfPikQ+eTh5/6sHh8Z0pI1QxADRCRM6B63frqmmra2sgbK/VNUjWe86DLHQFPA8Zw0POxF3A8w7HT0cDGX6jtmKiAcuXvnul3JnkRZYlZa8XVVkaVyqVWghpUanzxAl54hOPJRvXxo5hFA/MEhfx3FFhaq2lRbdQ8/kswX/ZOXRwX1v7TXuRpxMDpD7nuy+9tv11AGZ/kOz3sgz9PqhRMx6t4IDiEJnCisTaCdOq4swbJkR4yt9Yo48VnB7empt/M6zoclxa/K2F8A1YJeNIGGQLhyI0JXVVFQx3dyaUJ6sdcjPxtYWXuJwjmAOsUiaZQQ2Kw0geQ/I7I4zniqYNw6w55uDEWX/x4kXqn3w0/E2+9Uh+xDCPAPOugEns6iv1rrGWFVEjKyK237vMHrifaLwtGJ0i2npV8sN2mDMXr+UNYMLTHLSXVmGiq593Qbx0huOfU6TASZoMTBASNLHAA84s21bi1K1U/Lpy7sbjE/s5AKZtALMCYJJbY4LJcOSpl3BSIjMY3eRQGFnsMMtoUtDaflk8fF/iH/rNJ7fO3J6yOiC3cbUs2eL3CfrtFpAdCAhe1kN0R/g2z/JABFzzvAeQ7lRQrB6NlnmaNQWE5VFxjz4e//L3rtntSaGzTNm0n+okjTQqHrAIds65xzfk8FOPZ2vXJ46FnWULloWjHHUcWPM2nT2LKt6gH11pn1yRPaEPCML1kwNO4939a5dvTv6qN0qvD/rJXpwlcxGU6MYygFjoO0bUFCuU8/vSwLZvLY4+uZLDq4Po78fafmtr6r4mkXLkREhc1xwRb/gotQsIFRaIfuNagrfWwGih8IQTSNYVvT73MqpH8lHQYWpC8rqVyudi5iOtaCbszv13MEwAZlUD5m7uT197Orx+7hz5Z/796vL879T6/U/XQoXFD+heD/44Gsnvkbj+OD3sXneYPzhgGhevzbQ4BhmRlkRxSazAtA3ZENKKBHGGf0/o6VGGRSYRhhvuuGWJQ49BHfdWMSZvJfy92yn94mZOf3o2Z99sATMXBLXSmsdIXq/10I4dQjwAoCFt3ZIwEK4XZm2vLB8uZsXWf/eJ+85vT4ntz4nyRnu4GMcb2tgedWoMRuXsMjm9ZmR3Jp7XbzsIOguheSOKb8f51uVzoOisde50d6rN9xf8KeDiAVh+93vXqtt7syobJDrLEh2nyuI/tMehEufsUPZ/63w6vDl17Fpje7w1rcfwXDPCCXuRGn+X2LnuwakOFKk/50gyGsV1iPDly7dfHc/1S4Nhcj3pp/tJlsxxrKkBkwMvcYyxQvgidX6fNNcQl1VeqCsb8rfwqR0b+8/2rL+OAA7E7AMwcSVnhqxgvn3aSQhpQDcBmExIb4IXFpsYuKiUS7l2RcMwU1zJ0ekDcA2AWXlI4mdiunN/2GF2GeZnqX/yzBFgvg3YOmKYP0KGuV/SemmjAJjYYfICAhMmUdwTWWKFMJx5ybHP5Kpk3PbAOcO+E+0wDHvMMLpbZrwaXunRB2eCfWhT0x+fLsuXGCEPkxJLfg1V5yEGEZU+MKOwmm1aNMk6hrQiOS7L0aS0D4/35pv/9COnzldOSLh9QjsiNDALV03j+26em27oRg1yKwzsLsVjLR1px+/l9bvVVHbWAHcb7YPDBswSqgKYo7x/5bUr1fZeHi7hPewse7GOI1VBrQ+11qk+H/7d92anduYuuHgwit+eYgz3S4/44hJ/MAVp2YPeuZI3q4B2HRErRuspo9NDohdevPy8l9Hr/VF8szeIx1Gc5CEqI4QcYUgI21HUTBSJcWMyXlecRTdH8S9r6U9uTt3/OxzTq1JALi+anaX1lRA+MTgHQmuPc6DAsx7G+BYwtdX1VTyAeGq5n3sfqVC7y5tjEAKGrVA+5GNWFQlW7hxnG7eOAPNtoOMh73IEmG8DMOlpovgrxOlRoskNYutvcyTfL5N1Z/mSYRbEigCYFFw/2F9CrH4YYEbQZHITnD6eMdRrqVy5/vVYPD2NxN8ZGPtXJ2b2K0oKV5HbZOSl8xwuIqCR8thlBnEKB4MV1lkxK81oT+uHpuN847ffu/metTTOdmaokwXjOuR4s+LlPhwAu1KiRgoUHnfQjbN0AbXaTLxcvs9CWrRSZBZqiljrD/f+pYtXqv1JUWa9IB2q0p7ScZIYwciCGG+k1Pu9p/r3jQsKYzjA8tbE0U4OZgmPeB1l142eC7bHVSnVIawTf0aI1qH53EgZneh789zzl77eH/Wu9fvZzXigJkqlJXglC6U+dfI5ZD2Mszyt/Hgc+63tLPolz7xcK9xnhzP6HprFGTc+ssJZYS0XxjMXewQLw1/uvPCWk09J2qJhmHEk3azKfdIwTOwwI1I2jOq49RjsLQl4SfCmI/sKR5+KTXbOdAFzctZf37ng10+dC487fY38s/RseD62zn3c0zPYW9ZSok9/+mgkPwLMHzFglg1gol+cNGp3rFo0Q5IRFYc1EgzTMG8lIJSTNGivRmt5kAnBW66MVYxDRiST7Z58166i/4R7Vq5X/s9STbsSQz3+PQdJkpPEm30mAjgglfeM79vq+H5hHh/n1amPnk5PPHFykMASOClqHSLoy8HdYxf4mrE8vMuyhbEdwZfyoWUqUUPM7tB3hvdtgy06h6aFuL3J0wSOAaDg3QazvPDKlXIyK6qsF1VJllRpqqo4joySQBnyQ0nZ33+6d/+0JH4VlkekD02J9uaOZhjDoQYAWHav4Hf44Ls1Gyuff7C5e+rFjI5lUD3M81cu3X5urZ9eSdL0ZtyPchmrEjVoTKAZMmRygvVqEoKNE/aeXPgPSC9e35qZP+7PzU2thGGWwqEHgFmRsUG0DjeXtU5J/H8NVDFGcm2CTZJx6cEw26MPQLELmLbE9Vx5V2iGX2NrygZdJjPb9Q6zGcmPAPMdUc0jwPwRA2ZeuS0krIe0opIYSlYDw+SSWWc4gmZDCZovuadYcGaZYxjPYwGARK8PQDPxViFqA70+1ku+HfuT24n6WMHo3bF3b6yV/tuJ9ru4jnOLWEScWp0wJPpzyU9pQacK7U7YUvfzSeHWnFZ/7+kTJzGqon+7gIWue9FuX79Lje2iYyc8f8tA3wPX75U9ZNftc6Bi4oAFspUW4SZGwVYfCe9fgnQor6Cx1CmYZRpVURIZhXJMIkoFRX/v6f6D2np+dZ8Io/iNSV1ihqrcBbM8wBzbnWyny7y5/tz5jaB+H4D3AMEbA067Ozv5rdLcTnvxzSxLvjcS/HUhVA6hOvKBQ7oec2oaiTPzRLyfeYpibb+8vm+/lXE2RqePFcLixMfQSY5poSTLUE3OY7RaOCnwfUx4FWGnKcGPww4zGJKYDzW84UqupEP/T8swvUFjJS5bKjBMtUGumhFFLN/ePALMdwSS3Xc+AswfNmAS0U6P83jO2D4l64bzLRx5jIKsiLGipAYwDbOOGsCEyC74wEVgolIGhumFEQgMrozlkSTJDHiU5bC2mJKpMmLZrhJnJ4n/qGd0XFl2eaDtBUUMU/bxuWQPOUYbgqiIjb/BKj3Ntd2cz8r+dHc+/C9+9r7HKscVQAV7zHpU7bprliEbB5hnM3J35TZ3hgR3dqJB0liDahuW0QWkxaGoAbPALOGEkpDwWP/Sy1fKWanLLIl02k+qNEt0FAkjJbw0noaSpb/7VHYfuBkCgBHVdnPqQsUEQnRb62eb+H6HnvQOEF26npZMuGbOkfQ0SjidGnH/0stvvsaVuJZsDEiupymkDorozcz4S8yweS7p/iJhTxrOe9LQC5ul/4oqzM2k4kWIVjHIeibnIrKh3wfuTSMt8wDMepTH+Qi/xiLhlSEb2iMdstiJEA3Nq3qHKTPvZKGcTZpEuhxN9kQ0r0dy38fgT8Riun1yRtvb8JDjx0WiMg6L1vADI/mL55aj9/kLy9ePRnJQg//of/zgV/J6h3mx2WFKdnYlrWj8F7fEvLFGbm4Q7aWcJzPGZlPaIIq2BE4Azd5SGyaAmBIYKUkUaIsEnsSW80IInlrmrGVMW8mlYGCVod5CxMJTFRLYISvyRiu8nHuWuMgfmzI6sx/xDznOz3DOZviLjY1/ac2wl1Ntp957VhL1J96ezWfFaDqe9z/x8PChBzb7w90ALBhZO/vFdge56NGpv1Ba/eUdANpkXS5Z5LKTp33fxWO6Dp8WRBvBe6iqaYI0kDl+4ZUrRVmZCjbHtJdUSRJplSojoW3kzG8mrPe7709P5xVxjOAYxa9PPe3iwAPJFHzyoXJjJa29+fwWINrdY7Z/lrYqo1kbtGlI6xmjodT6pe9du9CL40uDfnojGqRT6iVr84y/z3I6EYIwGUml7bd62n0z1nQ9tWyPm8p4LCyRrk5wPUKP6cMYHoGWkrDQvNswhWTG4+jjEo9QYVdNg3woBHqERCOIlHSIN8K1HLtP/Dp+jWMkD+5Z/JiT78vQ8WPm+9tnstPLo8/RSP6OEPAIMN82w3ybgElEez3OkzljM00bJLMtrBCXgEkijOSlYSxOeOGhwzSMcRRDkkC8m7cWwvblDtMxJiXunDZIkMAwfemUl8QKYukk4u+aRvQ+zeiEcLQrOIPi80FHLE6sv5YadznR/hpjjk2dPzMvqyEA85ik47/x/pP3Q8g9zg8K2Lt6yOVucSliX4zezfO3SDhaEYAvgfUg4LaypFb8jp9D14cio1gycrp03375zcITVVkW66wfV3EcaxUrK/AsEPOnhnzw208mJyclMTBLyIfgD9/L21xLT6b1u6+w4rb2ojnC3wmo7eW/s+9chG70OY33tvd39/NXBml6KRklBRv11nQWP2wFrQlrbwrnr2nJjkETGzv/clLQt4eVuwanj/PG+rDhDFrcAJh4NSZhjSXHFTm4e1CqyyNpLJbTYfFhLBxALWBCGYXXQz4m9x6KqnYkl2CYeHvYf2ryfRUA0xtz+36Z3j5imO8IJxfvfASYP1TA3GObATCP8WQ+ZjN9YoOk26plRXUeJvzhATADSEoOLSbCN3CUQZUEh2hd4PaDA6sVQtQjuYoiwbzlFmN5BPURU3spHduO+YdL8u+JyV3ta/tyatmOYMQrxvoFZydLzh61jB8H25HO7THrKltUJt+f8+lu3vvHH7nvsdJwuV8wmlcokbnLGH6g7ra5bi8aIe8GhsueoAU77YzndalZ8xeA4w76ciRRMZu7F797ORdS6F4WV0kS6ySVRiUx7I4hIPLshhz95vl0az+vHTxtTBuYJcbwsJOtfTaLo9Oyg2i5s+wCd3etsLiiN/tVwJUSvq2m8C9fvHJD9ON5MuoxMYhTEakiYuK7kaFXI21vM+bmhiiqEnF/jjYoxniq/VdG8ItbPwPDBNh5iX2nt9I113QrLAL2AYKMhLVCWlFHrJOAmhYA2PwcgAmGCY4pVeIwyvuoZpgyRwQyvs7AMo8A897g8c5HHQHm3wBgshAgDCmRYkFGxA3DGB5ShFQdIIxDTkSl8KFUQuCuKgWvwzSg6mPSSt7U7FbSZf8/e2/+I1l6XYnd+y3vvYjIpZauvWvpnaxq7qIoSjLZkkec0YiyxhhSY89gMIZhwIB+GcCAgTEwBkXAf4D9m+HfDNjAwLQMbaY8gqhpmRJHloaCNGIVl252V3VVZS1ZlXtEvOVb7HO/70VEZlWXuputH+jO4JJZmRGRES8izrv3nnPPWS/Kj05s/CkTeGvJxauVi1vsiNkqNs5pMOMgdUMk65iXWx2fapQ635F7put82Y4bqren/hNPVYOPnD8y6r0xQY6IPkcAcrFFXwSZedztQXONx5ptZOF7H22xCEzpDRjxlMX8d2d7z33vh2t1WRVdNSjbami7qrTOltbBgxyuFC+dtMe+eGVw7MHefN0RnpabdQ+WYMPnM9NekH9QSrRvXntAznTw+fftOOJ1q9j4Nx5sdcVqtTesqrdKba8PS/3WIOodFNgSPReQCqFguxIbItPYcL4u9BXl4+bqxL+6PKWbiK4A6cMqenTnkXUA4a9ZC2CiPYcLMcY3IHtoUHViyoH5JTn8NiQG3cEsM6hooi5wjuhI7ZFYvoH0gQ5TZpitJE6uq0APYbohh/5whvmusPQQMN8WMOeO62mGubp/hkmXqE+N9LukxgXxZIekwtwYkhqkLZpjddudRPUoLLkn5OMmx3VUldooBzAlh31mVWiYCENWBGG7hnpO9RUmxp743VjR0fvLxc+3rM4dq8Mfr/h4vQtxlbUyCPXSAEofDFZ9UqZPwI4kVM/sFQ33on+2jXS8ntark732SDtplv+znzw3GDfMfVIiqsz9BsDzjZ59CY7QUQrc9XvXeUc8V41zMme+qy0glcFpvheezH/v3X/ort96OC0r2w0GBTZ42qKyzhRow7HyEuhjZ8qn/s6HyiP3dgNjLxzrjsjiQRueCB5kjqGynO+9p8eRXuhFdr+PuFg0D+m/X3z++JBA3rRcMR1fUvHOrbs7naIHg7K6vlQVb1RFuT0obA3+RmTqWmLNwJLDdkWE6xxDoxXFjUJ/uintc4M6/t9HtsK/N4YmBjPMHK0L2zeAoidHXUuBtPZ4QgbRTHCFljVJIyDJuhJGXVryNkbNNoDgkYpyxpITxZGVTB+05AKYb15/uHzMpSPyGlHz8vYC6fOpJ5I++wDjcDXyXYHtj8mV3yvp814A80EGzKfUYG+LH24PjrsYTqDCFBsMsigPxHyjrzDhk/E4wNToxgGeGnUKsVPe7hTq5L1S/wIpKk/t0R+sxPiwC6FsCj6KljsiekvBFExpg7wCj49r0Ep7hfGnNzSYRrrQ+TBsm9ZMp/VostWsfubi6Nwzp44kEXsH957Uxu6LxcUsb1+u+MK2zgFiqBehz/fA+4o1eR/1QnHJDYeYylC88dbd7u7D3aYaFHAb6qph0VWFdaa0HipS1E2fuVic+plni+W7MNKATdtupPsClskAuM8m6lca52z4nPBJJkQHZFD7CKFFg5H0FhcCzaRo3RFNu89JiO8AACAASURBVLduP7hdLlXbg6q6tVRWN4qyGBvNbZYTSegYKQO4o8Co9CjEtuuqSBvsQtxYKj80GerPV3X4s5VJ/LNhiHvifAnDDZgNkw5gw9upQ+ntU4UpGiv4aM4qTKsr7zWAT4zXyZqBt6DCAabR+OAnrMIwHgLm+wdVhxXm+1phHgTMI8dbPz2ZWvI0w+wrTPkgaoglndQgaNW1xpQ/Wb9pT1prRqI0Q4y+VcTT9wf6F6Imc2bP/+6yV1PIlaYchq3VRyAeCR6bQQIvRlZ+0BySw7IJ+ArujBo0wV90UVWdd6adNNV0Z7rs6m75P/nshae3p6R2ADzdAbu3R9IbHxOru8+g4tE1S6ns8jxQ1pcgSkyzXMwDm0nj2qqybTWAbKjoksZSeaUUKkv+3DPVuU9cMCOQOsnPMuWHY2Y56XrCKgN96vJnWpn9VXG2n1sMacvX7yvR+VwznRQkw8ci9EzR/bW7OEltFMujraq0t4aFvWmNrQuKLc4FUmIaClGrTqpG0FMIOfbUlj5s4nptZ8Pekn5+e6i+ULX0J8s74S8GFOvQUdQleQ09JbZ0EArkkTUeU9lcjTppzcH8I1kSwZKlAHIEYMq2j+ySd7JbLms+OBSoMLP43Udat7evPzisMN8biH7gAHNxuevXv7pfVnX58vzfi47r0pL/z6sKaZG7G4YvXQTrcIm214npaaKzr5MaV8ST3QyYF/oKE4DpTuoiBZtBuN5RLRVmbxoMATtY8aA0a7F2A6OuiVsyBoCZQtBGD5f0T9cqvnB61/8fq4632AQDb8xa06BRfAyzShQ2WC4xSvbQYe/GAQRrBOlOqmMadIYvOM+D4Jxumqac7k1H9V6z9I8/e+7SbsMamkwQJik1ca7L7KMh8MN+JrgvO1za877dXlh53GfjhjMHE+wdwYQ39TR+7we3fdDsq0EZqmHhi6r0ttTRmLQ/7UPgX3q+XP7wKW3QfotF226k9THyw1FZZiMNmb3O7XQWZUSPhKllWZN4Xi4mVO67fbovnM2QQnmkYhrSpLux9uDOcGm4Uy0PtouyWBtqc9sqXTMngJRtT5huUEhtNocYA7LpfF3GsGmgnHSoJzVtHFGfmBb86VEdv35sN/wQQvWiLDr8FnNQAUyEoMlmg6do5oCJCrR0XWbFIdA0cQaY5KiFvEgA0xL2y2WeiXtp3frGdLDeO6zTNaIrn5/rMOmPiJ6kwzxsyd8b0P4Y3Wp/S/4kwLy6AJjrJ17lF3Nq5DsDzHWe7G7wcTpOG4uAye4kx0750kbYQzRdrcR8IziGG1EBwAyeEU8BT0yv4J0OFpy0KVKF+bDgZ+5X/PeP1OFbJ2p/DZUlBqDMzI2mwVTxMYowPgTcImA3aB1A+kChAtIIjsPEnQJg6oshIEkr6Lari/HudPSz5weXnj81PHpnhwiazEUzDrzQsxlf9r/snXvmcQ6LIJpBc9ECLpNIkA2hWgO5s7GxGV67cc/bqgzloArV0AaLY1SaKAkb+Fs+8D+8PBheOqY1Ksu+DX+Q23CElglJldnwnnV/O1F8D/aL2svFpMvF3XbBUsCNJhqVRMeHHO++dXvda7VdLQ32yuXBztAUaxWZ26xjx8p04vrLISDHp0URGLOoHD7GIdYDx5uKoLbFyFoHpEzcO05fIqLx8Z3wh8M2bEAFhdVHVISiiPI5NbKAIog8QznvMGghhOphUCotOXIpQxMjKkzMQEX0nlnyJDXqRGLkzSFg/ijgdVhhLhy9HxUwcVcn6AS9dZT0USK6/ZCeasd0UhdOzIJVY9jrWqGqhCmsNg6xj9KSw5nIgxCyqSWPLelywGoSqVofqk/WTJfPbbt/VcLkEsy50QaI2QQa7JV8LPpgpRwKShmxhVMKuT6GIW1UiDBnZ2jYan0hEldwBmvrulChWfkvP3P05Qe7pFDBYTsGc8x+62dx5ve2GzIH5p29Umg28wTxL3MCqdbijRt3uzsPdjCv7MrSYtWxK6vC6bLwIEZwPIaai1/9+PDscskGFSUqy7s7IZn/Zj/LJu+/PwqA8x3wGdmzQPy8rfh+QYIEtMR0uTKRjsIrbbw5fbC5e98uDffKpWqvHA13B0Vxp/B0BwJJFG9wLNYyAlXRg7XBho3HBg8FZt+U47BpNARhRRKua033y3ClLsJnl5v49dWdcB1KIsaWQQa9PpfcRoq1Jm9VAsxWUxw5Co3sMSTT4NCiuE1uRhrO6xMiC685CULrIr6Pjbu/QYcV5nsFzUPAfJ8BE5A5PSo6Y9q9SyfqQCcGA6mEmFunPE70kBUZg5JBD7RH2AJ5zDILozrlBTDBkqvK8B7R6oOKfyZQHD275X8bpRcbGHJo8dWcRh5OdThOaMOh5ob+2zuDuSkAE3p4CW0VuolGLfMFF3lI3qtp3Zb/8QvFy+ePFiu3txKBgqzyKfzCwVYcbMlzMNljW9x9c875QUWbjgeKoLLouvCDN283k6nMKzGn7JDqWEIyZI1XClBB9PSqXvnSx6pTTUdKKkuApQSWheRn6ZKRRg/qqa1Of3MfC/44x6HH6UAzodXfHscKc1bMWJcL5PY4/+YPb92vlqpduyJgOa5KOy2UvlMEvit1oFUuYsNbphgqhjbIGiPacmWU91PfDkPYYOTe6cJDf+m9rCUubyzRr5Z1/OZTu3ythk0IdsexGonOnMuQmHGKHYPVy2uRUBlFgqadAJgARTkJ2yiWb7pIURUggRJgUrS2o9jw/Q26vd47rB+25O8OOg8B820Ak75MdOXVPNN85f97V36VFF0meniX+IXnkQx5nbfXTZ5hPq3G1UJLvqzVYLzN9/2Zp6YqnHSdU9ZgfcOwxSpksisSCGMCYGL+5hSrUXIqCsyhc8ZYr7a0OrKxpH+GKVbPbLW/6zJgWnhcRswleTC16ljUsnoNJx5WGIhG4ggCKQC8owC406gw6aLrwpLrnC7YL//zn1r5+L3dKCa7svFTR4luwHzvkRiJRQBatEM70H4LCw7kEhY8idF3t3f899+8N9VadeUAGsuiKwdlZwvjisJ4WVUJgT99rjj18y+Uq/CyRMULoMT/UPlC9tSL63uLth7Uky7mIPt9YA47OwHst5brwTa9JmnOCpMNBJ0dG6i4fnNt08WwUy4Pdu2wnBSj4YStaktWd5Snu1pkDslxCBUmqkrEhArhA1rP+6hJ1WYaN0sdG0wRIF+A+LJWZmnrePmPqrH/k6Pb/B1WrhV3dTgWdU1EEIk8M5xKtPE9YIp8CMmTGTBVa8S/Di26+GVWNoEk3luyf553zBXd35i+vt47rAMw1z9/eSYrwgzzxBN2yQ9nmO8OYH8Mr/3eZpjvBTDTwTlBU9pMFebO8MSY9CnBR0Pk9pyuTEWoMPEDLYDZzCpMVqWCIQ1kRFDORaO5pjDaGJlPt5qfu/Cw+VewG8ZKJAILAI4187DRfIyR3CBxDwF2bgrzPwa/gmwfgCsWS5QajNk/50IcuqazX3x2cPmFp8xRmFXcy6CE+WWaCWbQlPvc75X5uDZ3kWFGxYd2FiFlRsX41o273b3N3bos4F1ZtuXQdiA3isLCrCkAK0Hk//KHy0svntQVKl08HrDhIHcAlrCggzM8JE8pf2i/znLmv3mQlBK2/MBc9TGem3JqzHNLSAqqTPRMNx5MdsaTjWJYjcvlarccllNdVq3WDBu3e0WguzjzKZzzckWZ1nRQcQqDTWIk7P3UjuNWqVXTWe9M0CJw311SL+4W/HPDSfj6kb3uhxwLL17OomTH/9VwtopKJEdGhPBClGONaEiubUjs24rWxA7Wb1pc22MYZiNhPc/5ERMOZe9vTH9vvXdYPwTMdwdphxXmj1phwuGlflqNd9fTsTxxgqabm5qOZsA0CTBjkzZ2LKREImUm1tZpFWC2gTwftOSViNgBmNpg7JeMN9aX+Lnt0n7xyCT8wbGJf50ZhQZrdujveNAU6jg7Mgpi9dppKgCYDrNS+DEq5T0+nRCuDyYmPtfVbkkFN/ivfubIJx+MYYeWqkuAUueZdid1vH7zfrj84nkIYmZBYX3+zaI58CLBgqpUOKecFe7aOrz2wztNG7zIhDCnrKrC26rwxuqIQEuM65YKVfyTTwyeGhnWAMu13UDY3AFYbsGeDYGHGSyTqP6ACQgAFEVt9rp8xHous+GJrJrfXkpgAcqkE+3HBxDRI7On6Kbt2u17G+VytVcOB2O7VI1toRtdGISYdaql+zbEuyognzMBJtA5AaVyUmliGILa2VFjJmEDgOk1CkEtz+T+Mf2r4IqO7oR/XbbdAxWG4kklLTm74OqxAKaPMZqykhYcaCnAaWD31mHwHYsJCCbMe3Lmz5KF20pUy6kdF9eiSqrf++3qtfuzt/1hhfmuEPMDAJgHHJlmy8tEB2VFi6TP31RhQmK0cYuYLhGNvnlPj6uH+VieIFo6IaB4f605Oe70KWMNRevY7zplyzTDJKrIIikSzRdp0uy5huGGhjbRM4TrBn6YgXjXxJWt5cErTsULp3fpfxk6Pw2QFUXFtYqjlvgYazJgyMGUKwraAzBR1qLKRAorFn4ojPZCeK5t2tX/8GL5/MfOlidSOBjJpgyE3zg8V1+71b15+4F7+fmn7aXzT5naAUgTI73Px3K2tZPARuYB0Fdqoo2Hm+H6rXveloUvBsYPBpWzlcX/vDEWcznQHvzsUVP9w5fLI3VHLFXlbsjVLtFWHYSxh+NQ2nGfJ1XOtohmAPh27fd+5/f5nPLRz0lyU0cipKIBNW7t5u0NU5XjYlROquFwrAd2ajEI1AYRdU65eB+2eVjilqlK6ucjw6kvb3xj9ugjViR9XeyFjZJUA0258jo8WOaP7lXmF1Yb+q2lPf89tsaF6Rj7XQkwg+B7bsk15ioYXcs9I/zMVpVHVQlm3CGKAkCNvy/ttyw8yEaQ1zG6MIxwLXLt8F5rf+/+vgqT5i052vE+9EyO0Ffnxwn2bvtb8v//h54dfJccAuZ7rDAXAXPvm/c0nUp3NNlWfHIGmHRy17vTFqsaxlA3rnVpK+5bcoZTkYXYRhNIGudbjR1BACbHUirDJKP0vGvN+c0l9SsU4965h+43igoON0HVrIet5WOxg2mwwaeFlXOiy4EkCSE/IIkivDdDXNpz3fNd3R75559d/WTdkQVgSj5502fb+PCv//j746CwpEL8Uy9fGB49MjJgzpEu2cps8/HtsCzH551wSz7ce7BR39mYjAfDsimHRVta2+lKpKaijP/ZZ4ZnP/+sXX0wns8r740T8SQxuB1RLWFl6e8d3G3fNxpY0I0+ss++aCcnzXy/wZ6/7/03ZW5JNFLO37l5e0sZvYdWvFgqp7Yqa1MNatYG/QBKaa9CvGu7eA+zFYXt1qgQYY4HjHYbPvqwVIERcGTLtZ74jTKoRivvd0t1cWtJ/6c2xP9nZS9+07RuQrr01IxFow4zYRBDcFGVN5ZzZGIlLbpklFMVfFlHHyqREsGJHRZvqDidxOl21CHOAjNNBKZlEw7X2nvF+Wv3jm6mSAqib9MPIEPIlxOX1+OVL6dIigSYc8T8yle+cgiY76oe/fG88v6TwvtdYRLR3s17MrMUwKwUn2xPKDhh3l8DYJIAJipFtOVSYeJ7lR2K8OlF6BmGhhjPQ4MpmmetYRisIAwCoKrWbA/K8xsD/mWOvj67F3+rCu24VsXQ6XgcES6oKCPjflO0BQAPciUVwDloarr2yDj4F84P+cI/+ujS8ze3YYlGMiNMH1KiH95+2H3/5kOwVAAFCp3jz3306cIUpRZ/SYjaUfZkgFp0ABJ1PEUaglkeMJ1cglt6cK/dnW7f2Gq2QPCA3LEq6i99ZPn8peO6QusNUgfV5X2AJcC7zfNKVJaztcvF9cr9RiD7PDhn0RcL20h9WYkj0kNBnlniVzhgpWYaFJAzubh++24djWrLqpzood0th8WONuVYGyTVAZQkiSwoF+7bzt+BiohiITNLAckYpPsX8ESFCYWXirVq1YMqUrtTdpcnI/UPTMd/dWS7/YaGi5SI3nWAF6aQPsHEaJGaXgaAJYibsjYBq5AiHVJVbHQdbajkGaF9F2Phg4CJTaCA+aYl1l0EYJ76PN2lb/fv2EPAfDewdlhhvusK83VhyemF52nj1nUmukR7N/+9plxiPg4wtaolZiJMiO2IRIyOlok1wgRL6WR9bKA0VwFJsUG0mOB1GJEUAMwQW5EKbVXm9OZAfTHGcPRoE7++1Lmb04KP+8hlmpcFYcnJBERG5sUaLP1AC9+tjBv34peuLH365JJevrWZgAp72PhkDwuOv/dnb+yy1lNtdYOJnHdO+8aXn/7w6aOD4dDuNKl1T+RLOnh99Se1MkeqLNORiujEEkt296llEEDsr64149ceNHu/8pHlU4OCNATod3fhjo55ZZB5JcAy3X+SDS0y37Mqc7aG+Sj5s7j/Lhqlns05WFXmRw5FP+QFQ0s0oC7cv722Q1o1dlg5uzwIdliyKq3SFuc5PdXEe0xhjyKPjY+3TOvvQk6ktBFWnKKCiFLGlgKuYhMMDWSxF1rfjFfU57zinyg6+qOVHf8nheftDlF4ybsykzqORHdZlL6EwN05wq6BqWuiWHlVYOnVwWM6GHQvUnFS0EUMNJVgChqQk9C3YikBZt1YkRXVtb27CJhnX6R4dX2+zrGvHT+sMB/B0kPA3AeYX5sfjy9/+YCs6FqWFRX8AuIjIS26lz+FTyVPGlz2CuLm+xsaFaavRyd3fTxtKzE9ZCF6vJNqFJIfkDoiQkfrzJ7RDGKGCf58qibGuBbTTgFMY40B0MJl3ZmwtFHan61t/Gkb6K1R4/9i4OO2Z6VdCLrUQTSYjA8v5EWRrWc+shvb5yeNf+m//uzKuZ0pqVtbSdsIATiqy/HeuP3Wd+/dr0bVpBgUHW7oOmfbpi3raVN97NlTqyury+Vew4S5JgBtf7Y33NKhucQckAnO5MeHRE+NmI4MmQbYHeeUg47IW5A6AMuHYMGbNBboDTT2OaSn8eisqsXx27eWKQC6uJo543H2VZRyMDLRg+kb2HBs8gAsy9j4+zdv77K2EzMsJnY4GJfDojaDslHaYHZoog4jTzSKigcyJPB0v/D0A9P6NYpxG35UkQOMVsi0yjOotqh8h5SmgXmusfxTTLEZ1Pp3RtvN94tQtOJhabx4Y4L8MbrwDi7CkSL07dCjC8mjy+jbOmpbgYaT/1JZeWnVyVATulgoG1GJwpF44BzVimKZUyR9GERUmFrbu6NPfPve/grzxf0t+bV5S/7rB5Ii9zMChzPMd1Od/rhc91205O8EMG/wCxhgPv88bdxLFSY9dUcRnXkEMNs9c2oc+LQZWGHFhSVHuxyw+cMsxsLZK5M7rwo14g6pjxhZGaepnWoMBQGUqjQ6gD+FuTBaduZiXOiLmwP9hUjqvPX+e1Xnr5UxbsJAGNKihuPxmtTFjul8hJSo7vzJwi/9s08sn7+5GQnzy+0aQBRpqWT6q9fubt0b+81qqZxWw6JBreQ7r7umLSfjZtCMm8GzTx9dOnHqqXKvidzAcPhAlAW0TKnKJBpYppUy2aItl3D8SXOCuou02xLBHWm7ibQzDSJGh0ARVVqSDfUkzoGvInPKO+B5f7EfD8w3jB4zp1x4t+KgG82QPAnBo5qxe3Dn3o4uTW0LO4V0yAyqaVGVDRWwE4VnJWpFYJGDPAvVv+U0tCwjxWFg2rKdf812bo18nGgyHYaKjdUXGhN/Mmo6pprwrZXd8IdDHzaxby7KIa2hlBU/TA5e2nIBSLToFcEMQIA0FcTay1ZPdhCOLs0sjbOiv4RonaMVBqoInXwVNh2MFNhzjMPJ3V35zLVZS372xd14df2VGWBKhblA9BwC5n6YO6ww32WFiatfpst0dymda1FlrrxEvPMw/Xuxwtzd86daGpyR5WlnSHWQ+jjYxEpWjwjYo1MgdXDbIpQ60TxydR1cq2AajBVxVWotNm9C5ni2HHSIHpTr0s6K/tRU86cp0MhwXDOeHgSrzwQKyyrwlm7iLTWdbjWNG/70s+UXXj47OH1jI0gELVhozAKWCwq//ac/vFstjcaD5cGkqnQHOUtwnelab6fjehDbbvjc6ZWjK0dWy506Mna5MfvsTS+kBU5YNqveULkOLSMml6wBY53aeQjQMQoYd1HmoqhW50x4bvUluTJ9P7OK68XnMy3lfqOPBK/5bb0wp+wfGFoBWdE0Auix3XzYbG9uj01l66IsazsqJrYoGjMsWqVsFw17mFrg1BBZI6lRlrshdSg6t2YC3fExDpuKTztNzzHrgny8wxSnXvMLXtER7eJrZR3/tGzbH4w6iwJbAtAYDQAAkyBIR8mOFJIxgs8IueQCmHgNxL8DG2DwXncIMpMZp2gxcyAaXIuMhmWqY0cdld7AWp9TRZpYdaUHkWl6CJg/Qqn3AQfMr+57/lcvX37blvzM/0QMEw5c7rxB/DAD5u494qMv3eLVhxClADAVq1unFD1F9HC9OeVcPNsBF9F2w1ndYdMHax6MFUelfXYyYgdgFJYc68QuwDNXNnUS2z0wKiCSWipQmMnW4sDuKVRTUxyptTo3MfFzXquXIxjuyLAT+4tR4/6S2jh1ri7H4+7ML39y9ZeOj+zqza1kjwbDXYBH29Ttn1y7d3e4PJiUS9VUF7aDEh4Zr4PoR588W547e6wa3d8NCkCL6hCGva2w2PurwP79iEoOTwKVHCq6/uAC/FBNQqbUYg0T3W2foSOVZZ9tPid63nYdMwvTxayjZ8AzUPb/7rd30IJDTD8wTBX78HDtzqRzTW2LsjaDoi4GpVSV2paNLhmsN1KWei9inAlE0h8gjiXylmjNNv427HsDB9UY9XRX8n8QtH4Gz5GZp7ajf1NM3bdLFzaVh0ufb70qPGJ1Cbm4HXzktcf3NujY+UbmmBxLzClFIiQFN9aJ4M4u3lOpajQ1snySgAmtOFzXZYBJHdyupBIFQw7XIifbPjbqSHdeW7p2t3+Nll/cjScOK8x3DKEfBMDcfzAw7MqXX//qOwfMtQyYm29c4727BT///PO0m1vyh099W52hs3Kv00Lxmb/UApjbe8XpuhyegZ0bIgWEua6x+ehl9w7haCy75cRYxetcg/GlrEbCNxPzSlSbAEyL1RBUmxCtd1BXFmjo9cSq0w8H9HPOxGeVp/WBp++o1nWdtS+2Kr5AKi6p0N3nabzbbu+Gf/qTx16JbKqbm0GciVDVgdW+s741/t7trfVyaTiV2Z21/qWn7PHPni9OXTqmB1vTyGKCsZ0q041JoGlD1AJCUMNkAlqEg/0mjqxHJigTyh6VYm61nUuem5AoJQHjAujus4R7jMVc3j6aa1/yC7qvokw/k2A1OKbnqrLCCv/eVrd1f2OijGptZWpbVrUdlLUpbavKslVWO2SCMHwtpf9PTw/kNzOMhzBI0ZAVPQgRjI4664ie8czHdIhr1vmrhu2NVvPTTvNH4GBU1P7Pq734Z2WIOwr8ELp6jDw7HUMNv/0o+6vBlskuOJWhoUSjkYRF5CSO18S0WCtWbaK7xHWVjcHB1t9lD0yb9Zvy+5RPjhmmqv2d9c8cXes/AydeoUhfm39EDlvyJ2PnIWAuHJ8nVZg9YOLqm28Qn16oMMcv3eKjucJcBMz7e/G0t8tnocGUeVKsFchuVI5RNWxMBfcYRI8TQiE7NzFal+mDjlElPpZvA5i1VsvbA/2ZqeFPa1Zbhfd/WbbxAUJ7dXTCMvmorC/CqSnz803nnumm7fJ//vHlI41TCmYbEKsDwJYKopt3t3YfjpvdF86O9JVzw9HLZ+1guWQ9biJt1STk0Lqw2SCKiPYa7JynoNg5x5o2aQCCEMQIIC5Un/P0SfzdhezvHjAfs5M+s1876AAvRyn3/wubOvM6NhIYcK3SKKDCicjVfvve/WnnfKOtbm1ZNLYqpqYsWlOZVtuig3ickeuBYI+gsGcoxhdJFI6IOj8gUkuBeTUwLRPh7Be3tI9v2DZ+x3q/CfuLgJ0BGFyyLjpNL3SV+QgF2qpq+v1hXb+hYAMAMGs85tvBwCTUNxSqYWJ0BDApwMINtkc40q7QBwCzjhibJMA0spGZxpvY/iEhgARcO/hlRtkrD51fOwTMJ4Pik357CJh/i4D5sC5OBTs85yBab2ouCuJuItuDMocUI2EuOQTPZlRSt7djdFmSY8+iwbSaQ4fIXc9lMVT4ufat3rHF0ztL9u9RiOXQ6z8unNt2MViUrAH+bi4AJ6RHVYw6hW3bTle36/a5f/KTx19pvba3t4IAIQBpVCo6MSI6tcx0dEA0KNLbAu36bpMYbUh+4BQEkmivDbOtILDeTd2EWzfvOtd18czZk2bpyIpqUTz5NOOERMj3Bo2Z4e6D0A5axj2W/V6sQDNOztrvxXe32DWlahIHAC5JGB9TNw3Tza1mOh432phWFba1VdmgorQDqaY7ZTBchsM7qksBemhilScIIeNyUGpFRRoEJqwaeLDiKoTXraPvFY7XY9u0UcM5OFmuq8L4gPJdw1ev7ILy1FXmQ7WhjxZt89ejOr5a+G4XFSbidE2ho28a4tGKcwS5AECQAk9RRZbRaEcTplAoE/ttHw71LEEykjD5QvTIdk+gqMq8b9R1sg0E9yKteW39Y9VhhfkeMfMDDZgHW7qvztgCoqtfI75yLY/dPk+09oP5DDNVmK/Lsdu9Z2Q98iici+AEO9Bs3jqj6ATR1sbOmdCpcyB3QgC76tnXpFBNOiNaO0WoMtlxEYg7a9iACceMUsNSOH0PcI1sdBtCsTOyV+qCv1D4+J1j4+6Pgsy26AyFWDAbUc4ECkgCQpoWoi6Uc7Fs2nqwO56e+QefOv73lDZDGG4ACPHxBiEDR3FIf0YFHIaYoMIGGYNKErNKVJrIje1t1fBcQ+fCnTsP2vWHWx22d1DVoLosS6vPnDpejlaXTeMjt7Bjy7pKAkuv1wAAIABJREFUzDtTK57esSm24kAUbqqx0yrkQnv+yHs8t+D4AvE55qUAygLSJqMiN5Owu7HZ1ONxy5jJGt0aEDpV0WjDTldli1mtNjbF1GlVBk3DEGlIzBUYcIn5YKgbeZcC7VCgXaY4YcW17sJa4d0aylA06koXycoYcgjXBWIowTCKMVGRGqu6ftAN7Il6NPilQNSuTMJvV7W645qxmKpHVXpDcNMg+GkS+B6xZssgGLEJBKIng6ZzNWlT4U9gGEQB5BQS6SUgDeDp0nVxH9pEK9pfe/vuOt3pj2VyJpr35LLlc8iSvy2cHgLmwqF5FDBfzcfnFVo7822mzPpsHn0SYN5j89aFDJh0RnWDc2jJ2+C4Mob2Jo0GYIofJnwxIwIlCJMqRiAaKkuApDI5/wf7IhrVXjvYGhYvTyz//KBx3zrh6M9jqLWzZlizPYGCCippyfIJ6Eax2Qixp+G2acq26Ya7k+nZj14c/OwLp5dOosLEhg+IF2gRUVVCj4g9cJwmUBy1HTSTiaDpheQyh/Qu3r+34e7e22phMqGt7vBV5nzShnsdXJClzCNHlsul1WWjy6FqnGeYaAAwRfie5529M5KEl80Y8YVM8wUSB/NIsWGSmagsI2GJXphvCNABVN3ujtvd3m2jd44NUie1+G3qsgi2MFGVZZQXodCWjS2i0SWWApiwZkNdDKElpj0VeEdR3BMrSmKHJBEEyCP+A4SQ9mHNBrqtuuCoqHBqSs5EKE/bJkCPCS0s8CySmlStX8eGQleqam+5+lLQ0S6N428Nd6Z3wYYDHLESCRcjzDrwSsrOkFw8Xtbkoi5zyQSKaW8cc+8OHtJp3lpGYdDlevg3qk2QPzL79WvrW6gwX5V7PXEZkqJDwHynBechYP4tAubOTnk6jMN5ACaIG7DjTc1SYYovhnOKiyR6F20lALP2SHcUwLS2SK27KfkeTz48HlZ/f9CFPz8xrv9UMX7XaWd5WBt1QoGikBU5MEYF4nWTEQcrdnVX1L6r9ibtmRiaj/xHP3HmhY0J6wd70D+mak9E3CoJy4UCBnONOSRmkHlUWE/rcPfeZtjY2sXMjHRhoy0Mvo9aC4GPetCHzgfvHbnWke88+86x0szLy8tmtLykTVng4XLPsOPv9P6WffWZQtPmekohbzJxhK/YWYcuQaLe6mnsptPQTMehabugtCJtDUp51tawLgxpuCPhZ3DXMMi/US1bNeWoxhx5SpHqdJ7oWgXiHtUyTjhRUj/A94C0SwcESARLty7cMcHdpi44UxbiVSmEEI5ZQCoSJA4AKlgY+WkR6L5puUEF2Wm228uDf0zK7w52698f7tKmLygWPgNmyhMKPqY4XAUpb6cTAGbAFMkQkFFA0UWEY8j3Kc5CjIXTe4sio40AH8R8+xAw3yk8Pnq9Q8B8AmB+Of/uGlrzvi0H6fOEChM30fXTAoLrgU5323sXIkLQoLFjz6FLu+FAN6xGBtnyxo0AoBC1Azg9A0gLXcDMW00KdWLD8N+lGMdnJ+538LOKC+4oqEaFJWf0CQQBobWXzR5WSuFDqxVCgTi03ja+G0wn7YlxW3/49Mic+8gzx49vt6x260BtkoGmDx6ch6WiS+x2513c3p64+/c328mk7rQ2jgvlSmOcKaugSh0tNENWIxNdxxCNC2R852z03nTOKd+2GhZ2AE7M+NBnaq2oqgZkS0tFWTLihOFcAWWVSPfTn8/WuaIZh7CbPNYE24bgztM1LTV1DUNI2Knhf0HBX1MbhBTnytd02prGGG5J21YbVRNRy2C5NWRCySwzeZXgdJPchiI5ptjvjScn+GTUhocnFu1OB1pTIlR33uihQ4UZyQioIi6XIOKRZ9DFyMXU+ma9CNXU+wYG+WGi7LHdI/xPbdP+22q3/XbpVIMyV0YbjIY+Jjs3vD2MEbYcz7X3xNQgegQwodvs/ZEc3jjRQ1YkxFOye5PvA14St7axV91eNAk+rDDfOYAeAuYiYC6kSF69SgyLNwG+a8SvfP5VWsuhaJtHB3wF9uuUHNixJnm8X5O8lM04ThHdvTk447riaSj5uuBSFrllVmj48H1hGI5F8j0TWwSiAb3w5lZwF2o18lp3h/rDdWl/brWefG25pYcxaEZqL75OOY46W5yMYMbxcQ+KVGgFg2H/BtB0sTOho2LaTp+atvHDTd0cjW03evHp1WOrq8sFaIUkGqfYtR2MaOPu3sQ/eLjtxpOmU0p7bdB6G4ekNmONs4XpjDGdLpS3tnASLyG2ZshJhDtu1M4F7TsH8DS+CwYieOg6vfcGAQ4Y+8HwWPAK3p8YgKagNVkJgnlFyq0V/ASSJzcgzEuhidRKgBH6SBkNQKeo8PgELEHipMestFM2rfPjkBCmF5naFyMknCXkRZD2Hvs2gtbwcBOKPP0DSJpuF1XUIMzJrVmnbqEYN62DQBOHH4AKcIuMgWry6MSspC7q7j6mjGitGby7c7R9bPiFUJgz1V7z9aGjO7qNOdgM7TMC4VIImugvRVuJi5i5RKtTG59+Mt/qETf2DrdJMN9fR76PfGtvq1p7O1f1X8eVDq5DLuKJnE1nl0eUXe8cen48r3kImO83YEK8rpN70d12cKYdq/NYgewwi4SQ2AIUScAzWBQG6L4hIfEsCZJgSAQwjfLUqlbZpb1SfcZbferU9vR/Exk1+lF00QqO7DxsC38Kq8dSGUH9zoaDE8d1jnCOwzqmi7bupsfqQB9qp+3RZjqtXN3BULEwSM7wkZsOi44CRjBL8vCs1H21Vhi4o3tIb4x81d4gm9Joz8aAe5rt2GBkhu2k6DvlXMAqKEa0ymGrCXyx8wbxuRj4+eARPA6HeKAtbCvweKW5lwVxMZgEFqPll8BgTBujYnhMgtWCc6gCIAWNOarWwVisxRgPUEXVKVIB7IPLPWJSgQEhQjUFBBMI9x99/B6QDVUkI7KxZ53wIMTjArblAHM88DXdhVuKii6idYawB0b40rHLflbyo+zwchYT67r71qka5yZIyLEzPhnqc/WS/qKddn+wPOl+AInRfJ0xRiF1UEGisoTYPV9k3inGwkmgjo3ydDtcF1KjZCycQHJu0RWYbx4C5nsH60PA/JEB83XGXvlxEbHjcon2dHIvAmD6qbqAMZjDig8WG8GKt6g2TQZMD+Uked2qKqzE4MbJ9zca5cxUd6pa2SrNz2gVixO7k9+VzR9sAJmBfGZrLketbU9G8hYsuQtOwVsYJYgjp1RRwLEbRI1x3h1tXXip6dxKV7vCt3XZdV0RXdTi4Ag9vJAKHEjpoKzyUMooaxxASQEkLdb4VLBo+rWsVacsjFwHArABcqi1WIzOQGF45bHRFLzycCHzTqpJLPwFuOsCElFdBmH4U/WNf4sdW6r+oMUSDw60zArSfg1PJmzZI8EoKFkxREGtEJUJgMT+NwaRAFnB8AR3sEHHI0sOTaDbetm8Eu9KCLICGLcI5gWTYHH+gIWnRzUKiZRnq4pOUVizjm4h8j12NURckbHWJEAMMboJMcJuz8Soy0nlm3XVxLrzPmAPwSNasjLV+Kj9Z6Zx3xqNu79WUXUgeBBJgaoRtlNyHoS8DEclz0+C0QFGRbLdk1ZpU1uOH+J2zoQAqSfa8EPAfO8IeeCWHzzAXDCNXrDGlMPy1Se05L/2FYrXcija2jIxpEW4zd5d4ucXW3IiWmsTfkx0c7bZ7S5go6c3TFC2SlUktHqKeBIbAUzUh0XQoslMgIl08VY12i7vWf5pVuroiYn7Gj7OgBKDFpZYdWxGtfEnQZnKUo2QNAEaa2ltUWGC+IE9Y2Bembrwko9u2TWtlTbZdxagBbU5kCExUND0qWDQ0Wtk9Wov5rQGFWWCHpkbyghQeGsgWX4vQYUjs9SZoZrHL+HjI9uCxC46rPeg4ZaKEn8bjw4Okkli1A9VMSvM7SgqTWzdQOANPTn+Y6SyTEtCAE3C0cFdBIjM09RR2ml5nNJopyGtmE8KLy41OUpwjBTSkkD2PcI3GtFIAq14lsi/FUNgnBQiex3oluncbUwPYc6BYhnnkSAVrJEBNYATpXoRaaqDv1/FWHctXgzMNz2NC31iumy+ZFv/jeGm+74p4e6Rji/GkxJ1XqT6t4AxR74kdlziTORr06UNINSaUmEKgKavEoYGyzzcB9HNgzPMK9fmqwePtOSPIMQHz6FoETMPAfMdVpj7AfPbvPnGIAPmDX7++V/Ma5KoLy/RWvttRXSWNvXoLO3GC2C/ocOUM7+05I6tgmW6gzZFcilQLWpkkkvLDQKIxfptErnYG6qPOms+c2za/a9Fa/eiasUkGORPp9SoK+ikZzYK1uSSUWDYKITMiAUw1DLiYBuDW50Y82KMfgV0QoxKxxbMhIMjo3Smgu2oJvEZUjoChaWlFXwBCGGrU0cXgIKoLJPmB2KoHj8FkvB8WQsyLfphBKEzAODAcKcibD9RRkKzk4J5smAozRFxDsAqjQjSpeAENmuJ9Rbtp7jXYdYIQEwXmaT29SNxdCwaHQA9wXNNitUZ9KTKM2oAoU8AKs9IkFrWlQDrCpAJEJY5LfDfeev8LeX8LSzhoD+3mERgvIIqE3vockELH9i4OFVdu45kZItAMwNXIqLxavmzjaaPLO2G3ywbfzMROmLWLl9B9IAhx9dhVYYmK/5lHu4IC0UCk9i6wvcw4cD9lpUOnUPMbgJKSI506LhT9q3JAdLnEDDfeQF6CJh/i4A50aOzfldlwEQnC7ebRgaQBtuL5JW3ZRQNZmAuBhloNJF3rFBxwr1ox9K5elD8sg7x9ad23avCogtgtqolvdSU6mTHjEgsYBiqCiUtP0o2/AxAqiVYYaktzEue4kgSw4CunRc9UF8rYoNdKhww1dKkg+wVgwjEJHAQ3ZFoIbOoB2AjDiFJ95l6YCxhp2oVzLfDtmGq0/o6FODWv/nwfcBMExpSEX4nQbuESfYVFX6DVfoAPYAOaaNGVKGyiimVY8bmFIeTZ49pQDmb/Uk8Bn6A54FmXPQEGfYlRS3z4RKXmzRC6W7hrAdX5uyOxMGr1t82IdziqFqgn8b6AUG7gPspYFaXQLZD0960plF3VQi1LbUI0lsbhnurw/9CdeG7S7vdN60Le9GUydKtcBHeRI1ryGqc04zIhVJlivOKZxO0Tydih51+zDY4DuCfCcCsQuc6spJM3q9MinzsrcMK850D5MFrHgLmOwLMV/nXvvJKvPZqErKDLd+8kypMXE4fuyxMOS5gy7dHt3i8qXmvNueCKy6kcz8SeECgAnSII4pEVJMmbfKIMxHc1kG+AjCRX+5L8UzAhk9jzCeagf47SzUCsybfV2XBwXvVlXHUcHHa4bOAPB8BLacAmWKYk7WYPorlx5I36sXAPAJ+oZpEWBpkMtFhPAhQQG8pwiRUcdLly/wQVovyODE4lJzsHEgBYAK/kaaYgJ6+pZ7vdWOkmmaTCdHTpXcYEgBYAMY0tJQ5ppStkkM5Y7ITSArgwiAZ6Ae8TOA3m032I8r0KAXG099EMYuiOT+CRTBFSSvVqdy5nCpyBlmimxHwnupwADw7FcMt1QZE4SEvWfQBsl0v1SuyeFKRGaAd821tGrqryEwri/rU0/ZToy/FGI8NtpvfrJq4JkNKOd/oyAOKbuzIG8SNQqpEZItyJlSXdhzCpuyNKfIiiNWhMxXdZppt4iIMeq5MtfJv6QtHbvW/w9fDCnPxaDz5+w80YM4nN+kgLaZIXr36tQVZ0Qn+tcuvRNFj4gJN5nL6Hu5Fp+8WvLtxS/6Nlnz78h0mOk/rOyfOubG76LN0CMAZaCw55CItgq8aROpCXaD6RACrSZpMrEY2IIPQ7BJNBmplXPDnOmU+Pph2XzsR4xswFA4DMxwHe9o5ZyEeR5uPWIsYQaygjYW/WgJsr3nJE78YFY0EFVKmRQIyCRuUbjj9Gx0pak/R3WTeRRJ7gBmB0xqLUP+pcV5wgcr3kFw4ZOSVLYMEPaSBT39FWBw8Brmr1DP3H3MNuEofflzkmywxynNLUdQLUQOBfb5SitVJTH+uFRMTLvcraJRAL2fyytUgRsfjkPNG1qWnGWxUsm6amnQAbQLBCG8UR55umba9FaJyhVLBwf83kz5yLVSvMoJAqFJECNo9SzzFAGN7pfzFoPVHTet+YzR139Wx9DE0HONQ1h+pguUG1AdZiSlCdIjT+xdDR1eLmiJKZAVkCJhdZuOOvjXvj59kBAXH2psb9i+qm1euLM4tF3YhcYOvfGUuFzqcYe5D0EPAXDgcbw+Y1/jXLn8lXru2uCo5N+svv/O6ggk7Lsc3jIjct9cNr6+fOOdcfTEFnCWtZRKmE8vynTEoMJNXJrwRnVYw2hAQxXU7I3ZuQFBvWuhnlvZs8TlnzaeX2/h/rU67fxctD3aIzmGGqdOcEkUgSrq06aMKaPhAe1PUvNwG/xJxXEJHn6gpQY+MkwKeyahNNElSYObWN2bUSVdB5ZrmkWid8YR6Vht4NEvskOsm5vvgWy19JoWIkUuqHPdf5nPJrC/P6Im7g9AR/wTKwk4orbQQoWWVx7+opRGCR/4eLn27Ll8X23WcPhJZFLDnozHvhFw0gbVUkJITAraIcUa6pbpwU0ifAOYe4+PEkneYQ+ZiWs5L7Kdm4u6QNuVkpfwV0nyhmHb/u51237PCjOPiyXdFOjslEJS43R4zEWchhI5cHPm2FABnZIJkoEygmfwxZ2C5cB+GzI2P7lU3F4/zry8ujx8C5oH34P5/HgLmwvF4fwDzFtPnL9H2+h2+d+fK0y50F6PHdg/kLMnf0ikvcRWS32NKglREY9+8bXSSWJpEAumCICeB7tJzq/GR7GyopoPq451Sf1czv1HV8Zuo+JxvBtgfAt/sM2BKe66VGBej7ALgOjYvhRhHIntB9ZmrzLT+mNpm+cCiJRXCJmNoKjVzRSnCoaQlAlim/e9+uJlwKwnP5VMro4e+esxjyv7TnBvl/FcXCpskCcqfevFemoslhQePeG4Z3CAOgoGQVIkJF8VADv8WXdAcWPtfSzUNAj2xvkkgj+MlvWtaUscDB/GThDuisRRVa3owmELeMh3dhA0JBxPYpDVIFKFwbpJVSR8IutVoY+NJn3Gl+gKFsFNM/W9UzfgmZp2y/S/SKR3dJB9/mwATLkY9YCqIZaESyCJ1V2OumQC/d2zvW/TE2uX7AnhCd4Q5q6cbH2+OvHUImE/Exbf95SFg7gPMuaHw1atXmfpVH1zny/2ipMx8eO3M4ytMac0vXqLx5h0O7srTIdaXYDYuHx5yilWJXWZq3UQBHXXe7jFFGdt2kgET9tiAOMM9YCadNIq+wLB9G7O60FT2i07xOePDX5dd910TeEIqoolHCJpSZCBwhP5cQLijsOrBkis1SoFgWFbOZAtqULhKZMhJICjjS5lpphJZ3CRQlLGw6dnjXFQwwqH07T2QLn1iZRKIYPT+2vk6aHNBLIVUGiZwFWTtJfAQ80vO94xk74tBlHIwC4X4PHFXmYxOs1URa6KgTieBVH2mYjQNPEW8LugPaWg+EHnKiSo9MfBaVEyJt5cpapogCCMFRX/EutJN6xjg04nWMT0WQWFOmT0QT3EozOmuUD+Bcbfx9EflTvNvlG93ZVYpIlSsO6JlbrC+lMEzETxot2eACf+NhYvsi88AcyH7R14qx9KG4ytGwJ1BpB0bR9cfAcwnbvYcxI5DWdF7g9of21stZNHPCxp5Ngcd2LEj1l+uXp4DZAJMuBely9k7n+K8KTlblUR0xe76znnH+qII1qF6tsTINgPLjdsJ+ZNB0ZSoNCesSwBGUmRzbNPaJAofV4C2FTxBWx8KRFY0g2k1+FhbFL9Imivj6arx/rum8zuiFcRut0eOkEhiyAW36m3xYlQ8SlUYOlvME4X5FbjsyZtUIybQFAhDGTRfM0+0eqa8cdvZrFKeGB5nVo3L1cBm4O/ksnEesrlQBgliLnDn/dHNLxImAiI6FETCwctKzxwpqdFr46kIRBOOt+RRpATbjJwJTEPawRR0Q2g7TilynHET0GQJKJMsNLfVYlCS5AMJawlnMPWW9gGA6Vzb4HmCdIKQQLRinvl8V5pPEvM59uE1Pel+u9qr32J4b/aDYSAvmG+DTZ2UOY7HglYcgKiz/Ag/S1s9/SUnR0J3mYke8cDMFWjSGSFLCrpMKCfS96aqrn98u9pfYS4C5qMzy4Of9AOfmh9bIHhPD/ywwlw4bO8PYKbNH8RXbG8cv+BddxHzyAR82PCpCJnS+Ddci1pRMKKlxHUkJDIBIqArh6NJamREGNocMGNVMhyOnGtHbVVd7Kz9kFPmI1HFkfHhtvH+Oyb4dexXUoFJqXSKq50yL0WOywlJkjBcUEZqO0BRqqfkgkIrzTkzK+0Q85s6calFQQ3nnhZy+nxOURg/ZEBKpWWfT+EYWQryo8ya92VZQqyMbXIyQZEMD9HUgsrDydUoHhiqYdmmlOhFkR8swIkMHUV4LsR1PjukaSo0nCCLcP5JXA9IpMTryCFJDHpEgTgHZTxOMOHpqKEzLjty3S0T6Tor1fm2E6kTa73srHmONL8ciI5wDNdV67+tgnvDjsNaoVUDVicJzz02C6IPRTQoR5WOVjVSUfatd19xpue/cH7B+XMCk5a+JZ/vlct7K+OpmLzg6YEcAjFUVG8eAuZ7wkq50SFgvl+A2d/PZaI+IO3Wd3cvklMXISUCpSobPamXBVoSALF1MBEmmWMawTUvgGktbgXTIsiOWmYvPuLyX4cENfSOTNxGuIHzqaTg1rbT8Xyw5nJkvkAUpybG6+zUa5baB0R62Cj6cGRe6ckO0EzpnZDATwaHcHpI2y8ZhXoWXEiVDEA9CmbUyXcjGzFSrWb2HPcu6zKp3V6kX2chZel0koA1Ifi8hU+9urTfqS7sx4Si6hTcFh/QmfQoA2hPw8vzwj2g9cfmDXZ8Zr0zmLc0F5QHDk1n6nrl+mDI0wPLcwHMRBKphJimGOiGDe6tIHbn5lRr4ieI1dMQNSim7xsXrpoQHgYPe+FYV128p1ycejNBn54yfcIgOg8vPyemwQMD2WrKGkd0LoLR5OXJpsL91g+WH2RnfWFVEtfDbRJgIijPxeSLJQEX4pEVlb/+qfHqjUXI2Bele1hhPhFNP4CAuXCSOLAbebDX2LcqeaAlBxPeX/a7sc9lRtvFyxc6Dpfw5pekBFnfMcKCpwt8MlN7Lkx5lZInIS3ysZE9m9kfYTgQ5QxevPWbqYJEOtpq1Jb6DMJeNHSJIAa0RsjFEWfUs5H5pRjpKDNNdIh3A8eCiDsOAXLqRPRI6HYg2YFJDETapJa5QOY3oHyXmV9ixucCpPTg0xhR9mFQpyYxUT9PTLPRNAJNCp10kQFhXoMUXgabQelXc2zMkh9UduI0lG6fdJf5bhLPAiJcBpJpyydv6iSslYkBRoAy3s3Lj+ixhezJpRuq1JhN7kVRJX8IbLfsqUOgmbeKZEALvZGc0yLH88yMnPKb1sWrytONGLopZi4OcnuFRU5fc93dqaKdIntcBOhQpuORY9E+b/ZYsxzwbzwfVKEt4nflgqp0NMskF29VBRY9s+JBx76qfOQT7zxZrMmnVv/N32z+h30t+aGM6IkYue+Xh4C5cDh+JMDs7+dTROW3XpeP8q29IxejsZc0QAHOhjo1XvhdKHQUIQo+MxgvAZxsBkxnyGqvuui5yO28siluFzRnhPtNMNz5qXLVaORMOCsMSlrfg++bLAIJiHlnglFHo6ZzTqkPhcjn0M9ypIZC3FYq7HGINUzQYRaBBRa4WshddVipTBUlZEP99FeKRmndM7glafjsvYRBXm9nmWcRKZA8V4vp9smiA9VsEorPNJryswywPSbOIi0g70mG5ILtic1O+z750YAtS2GP0FclxjtNHWBUjGsnqqlf6pRl8ozDeZwrO+kyNsh2cjhzaRuUGhCbZVa0GgLsfn1NId4mH35gY7zBRA+FE0OPD29S2S1HGegYL5YJ/o7pQk1h6NF+a9VIgloPmABIq8oIoxaNJDaYJaXDL1xbqu6b/DwNRbF+S2dfEbfPLsj0wf17ceXEe8wYWMLhPddc/x3/P+6rMA8B8xAwn3QE5ieJ97PCfCxgnroYTUiAmS/e5E94dg1OLHj6pZKgBVzQrjdiJCygKpsbmgGU+F5mmkjo9a1ythq5IpzD8EwkJQZ+mBBy5l0W6CVDLYREYFrpyH4sKnOKYlyKmpZjjENm1UUKnYo0IeIxxTBhog42xMJD56hcCOUTcQO0Qp+b/StzEdg/i7wKND/O+TzQw+u+pcgZzqaWfIGSm1eiSbaUtUk91MrfT+17WrtMIJdhQ6epQv6TvekGDp5LW6Gz68NOKVXY+BPKKvY+WNjcEwVkgy5FVhVHKoKWmeiEYtxRMW5RG76rvH8N4UbWKJhsiPaV2cYQkGKWQcxhnx+O6/62iaGOfjnXxERs4UCSmCm0+zKUybm6oqnvbZQlVRJvjbyijslDlfbRHweYCUgXRO+9zMjRm7/j//tDwHznGLnvmocV5sLheKcVptxkrjKiK68SS1uOi1SYv5crzI9eDIV9Jmng8BY21JqJgtlGD3ypWccHQVMznSKpMANmK5EW0qpLizoUSJQ5XGxzBixxrdVS1HyWEGwBXSJMN1xyKyLZM85tMuQtSq14bT4UKY4U2ksFpoQsxbhCrJYixSGCv+CaDtmmiqGhGLFPUssyZ4wNK9VmAYvUenl1J7XoC622FJn51wLeefyYKrcEi2lfvDd0y6029qb7ijNxN0k2hAuGfDgIsmueGHPZ/hHnpDmQiuhTbDWh1wRBlGYDyWmof5iQdrPFAjhHVUaOpac4UKRgQFml1Sduo6Ipc9yjEPdI0R55yf1B5elNF27FyNdV8F3yze/XIgO2gmYSIAypdetr5Zo1FWnKsYje5jEp+2h7MMRzRHLkgtbSM8TpifH2zXhSYzPmAAAgAElEQVQ2QxYLODOcA6/MOnt/9jlW9m/vJHhHW2/e+J1/uXr9bfHi0RnmB5oVP3icPoiAuQiR+5//wlsD3+6fYX7twLFa0GWeeJV7N3YAZu9kNH795CVj4rOwkIGuT0UvZhpJppM2eJRrJQQN37fUqlRFajJiyuGZVSFVR+OmxlhoZ/Lt4K/ug6qtWg7anuYoeQqp2iAn2nHoAQ28MMWi2FEguxKsv4zVSPH/YSVjtESaiPUwEAW7KtYrKknxkIhGkWIlFJCMNkU5E7XSTaTYMFFLISA4rGOlQI8DpWUlBqZuyKRIyvEkMk/N97x97vfCH/cBTgx5urdUZieqOIF0FqWL+1pe0QTSyE6PLFliIAuBo/bkDLO46VYEHo0l/B1GPkk0KU05TgjcxOD3VORxJG5wIMU3SsaZMGmDhAGlneBvUKzf0m17PZiio7aZPSvsuO/jt+TIFhOaTNcU2al2DXkDcAUrjlnmbO0cutCZiF129wmgiKfbyPaojHaEBMoAOKti4eOHFzF1M9gdx/c9+Pp8vRDojd8/CJhPRIEPtu7yEDD3HYF9DeC+FvD9AczVS8YUzwpEYkW8McBOCTzDR1HUMH27rjVhZimKxs5zUrD3lakmH6Ya2WkJbpEq6Tm0QbWVXu5Yn1FSf2a+WAe0lf2CIogm8sADMivB0OVAZoQ9HumtowTUpLtNepskSZchoFRw+NDhVxaIGxkVKRKHAs4CZQxUElOBskg+2MLFpPDIfjApCJu6XiAAIAEgIFFhKaJLevoct5br1OQWnMyS0bUmJSUenEiuxNnNi1LAiAtHmlIAJzB9Td7q8lRyqQnfc4Ag8nxI1SQ9M7T81CJyUYAR2nNxs8OhDPgLPQklPBEM2+TsJd6h2D5UN1TTXidTdMF1pNGKp1J4od6WdSUU4FNdu9vMqjaqiT7n/SQWfAEw88AggWJyKepNgQO7vDSfzzyL2zwhrUnOLjkcrf83Zqb43nn/xje+cvLNfR+DQ8B83Pn6sT87rDAXD8v7XmGuXtKqeE6ATwBTky89QQ8nFl6oE/Lfj5ARNZ5gbCOwmJMm069RiU5R86WPKWKvS2aeetUVetkX+oxmhOWiXIT+pIXyLhVlBZxkk7Gw1wYSpMuR1VKf1CBuk5lxQeuYY3WydrKTajdVOAJ7Ca5StBrFKAQwxoJiTSngBe23zA0kBFvHiPQKkCbCA4PNATUPTMUaj2xZp0Xv1OgmsVQqJEUpJZ2+SIVAz2eBJcgYmLlDVokqVuAdWzWwvoT2p4t4YgGyBHJBBJwKPFFaR8KakGjoE3+eTEZQHEMJkB2NciyayLxwXsVeuQCh7melQfn4lvHhOhOCdlOubTIIEUhPJnXGxNBqnCcamnS32KvaDh2aeNEmWShwsdSAUWx0Meh5my1HE7Ded/sWmcf5DSMGwXJEU8XZYYMMO5n9G3pBiCmKqWwm3OkffuMrq4eA+Y4hcv8VDwHzHQLmwtKP3OLq1+byJDTni05GV9evCeiNb568RD5KhSn+hZARWXGMkeohoB2fAVLK+emyWB1u7LnTTEEFaYCZrOCUZyTXKtVyy7ziTXFGSlIUaeLumNzW04gvZfugbY3aLHekLittlsSDAheZc+IKeCgincmfQPEMzuE6iVqZsSi9NjLz5EImCxsMFES7msiO9ObK0hxR9sgmjhAjwr4DgIFZfQU5n2ymAhTzC5RnEj+BJl8U3Ukz6tMiJazbBXORGtmz5fAGSo84mQUpAH9+q4v0qh8JZCVodjASKSZa3uyVCbCTFUyUy3CQwi0hh01B6k758Jb28ToeWMrvyVqqXGmnIltSJFlR11Djb3Hr62o4AMDnlhm5xHN5qvLw1MyXTPD03sgeaJmLSLwPtFr2sxYc04jQyAoubr14n+l9g4coESZv/OG/PPnGPhjYhwKHLfiTsPQQMJ8ImPPd8sU1SYDn2wIm/DLznvmthw+eIRYtpJi89tnkqQpAREWTtndEjwnHolwuoHWS1pylZhOwtXCxAcgkVp09jH9b9rpYro06x8xaiB6ZRxp8CgUDVQgMN/UEYGrFWbpCpEaSiSjlFP5m8jYXb+7s8Sa8s1DNyZU4p2RjjJlXZHK9l1CCQ4QCP0l1INmRvyZgmXWXeXIpfpm5000wnXAG5V9vzd5zPuL2k3TsCdtlmV5mqItGG2lvXWfdk+wBoiKVQjWfFdJxSSguLvDpUWeATY9CUBB26Qm+UW8ChHriCtBMHSm03ckVJOhAN7iNb4qROzeRhKBJxkMcB/l7VK0NisepmnZryviJCXgtE/LJqruYMpnkE5Lt/eSY+LzW2B8haavnxA5LG75A9Cww41JRZs1aH46Gv+GV++E3/sWTWvJDwDwEzLc9An/TDPNHB0wd43P47EqgleyCI2QliS+x6ZMAMwGlNkVWKOJjB71myjJP8IrfZaE32jE3VZI1q/RyXZRnKcRek0Qq7Q2LE1GqmpLBBgDTG30lEi/JDBMcOkaPaXbXzy7na42SlwGuR4BKWlMpOxFWhhVJiThENdebtCWIAhCDCZ85BoEL6vXnMv7rae+FsXG29zj4Us1UlhIs0c9Meq9MiZdEXDliiGASQsgn37ecIwAvcRx5DRxAaQWchTD3GF3iflOwhbw+2XRS0jm0zG/Tz9JzQx2NahkGwjfI+VxhJu/MWQmYI3fFzx3G9i5Oy6kTwJTOHsCdUFG2cxI5Axa7lDYb5J7QZQtzyX7PPB2jfN1HADP91mfDYAHlhVlnMPT6IWA+CRKf/LvDCnPx+Dwyw3zngNnfDVrzvsJcf7j7TB3r56Sy1EYCqgrRQONz4pHVwt41QvJi3dtTQWVidmjqJ0p3zC63ZUYP5oAp1dEUXAh3ulh2Rj+NzF18ppHlA6cx6Qbz7BI1FTAloodjcyWosJyE0DM7tHTfeZ4pFZ4Q0XCZyFNWtHQycsQ94ROdu1xcWbLBYFrhJUxM8tDF7n3up5G+l0kmrO1kEIgFIDnkSc+JjPKZ+QeicGfORRKXJniVDNblsckETwwtIcNP3Xx6bEInM2BNLOqSWXBPZs1e7+yXGdzMh0ioGdk2ymWxVJppLCBx6ZgIzIKL4NHnr5OPN2DmhuMO7NIWqcFEMONQRhMCyslYVOkTNZmsDYrhOHYThohczp1NS8EUAc2FXFWwELbB2a19tunTA1/Pkve2b+n1QXcC/WbfpbSti8YYwpplAsyslDDl69/4F0+aYR5WmIcV5tsfgQOyoreXnC16ZT5unrneu7ET0St5bfKv/3znmbFrXuilljJ3QpudW6WsJkozStC3sF/IjzXZTCb3dcGUJm0IQYOJr2a0FIObKm8Hyy7S09i1Q4kZnLhJiNdOcnVT4IEwnuSG1aoivhyJVsT3LYkn5f5kFU96/WSzhvvysFMSn/HsECTzxpSjIK5G2ZU9ETpC+yopwUIa0irsJUXWcPOQeQLKvOTkK1Lz9Ocz8uahAUUvzE961gtKdBnOaqwbJWs2NOgJx1A+BweNFbLJxNQH/Dk2R0V0j3GhT5RVSgdJ0qw0nkVFKh7yUmWmVhz/QeAbqP0EwpmFgvtRnjBiiTI6uqGif9MSBA55cJAEXQLo8irIXTI7ClNTN2uFKsfeT+YVplxZ58TH/Kyh0czSoH0VZmbW07XSbnz/ezQtBuZUecbpoBfLV8FJoJexl6p87f/8bw4A5nwcn86bh5e3PQIf8Apz/ztlISvrkQP2NwFmfwMAZw+Y/+7Pd56JXfti+l1ajeRJr7vsfwapI3aJ4VoDOrV355nbwOFzoSZBOd1bKSAyRktbXheDZWZ6WvIcdBE41ooC2ve0vyK8NhSEkWKn6EhQ6opStCRtIOAkZTpA1MmQnmCfL33gNXSgQsNiLIDEbxSFIQQ4u2OHssjWQ3CoSBuHSdIjpnXzA9hXa9nAIqF+AsN+vtnTQ709cf/z+Ud3Vq72dyybP6imZa6Z8txm65fZLCN7DqMQh/GQQ+i5aCtjbCNRG4P3rKwjpMSBDE8DjITj4pYEd3y8HphBaIrGR3YJ7Imxd0g3KHRvKLhMSoq4WNlFVMpyPkGtLV4fcm6aFG13WxFNgngeYbaZvoLcwuuhO+JuKNHp+b7mLXlSM2ETKP0yZY1i5zyPc7CsKquP6WSQrpVGP327L2Mgiq/93n97gPQ5BMx3fIo4BMzFQ3VgVXLxV+8FMP/s3z54lmMKr5C3LjibiRf9c18bZMdg+bdTbYrZlQtQcrauTaFNrhD9r3A7AJkr4iqZ0ZnonE0bf+ia+33DlLuDQDRcgqIVr4orzHE52+sSEivT4jhHj2oqzbwwV0VDC3aijDEWEH4jNhHCdlHczLiYtJjYc9apNJIYmz4Drc8jS7ROytIRiWV2sExttcS1ZTfzfOBlopDMi9MoNU0dRYIkP5b/ZIc32RDKmRpBUthBwWcyRxj8BMfizZbF8JKOrjsJQIrURebG+65VhMgIlM9pzzwnweVBbXrmspre8A1L8Q3qggsm9CKFpIYVI+I8rZU4D54OuvZWJJpE0qEHO3lFpSwEcBL5KnFW+XU4QPJkzWb/JphVmbldX+B/kn1Hfz9zi7xDwHzH2PjYK37QAfPAQXmSufDCaXjuKyy3v/q1+RbQ+rUT/Aq9Ij//K3rwbGtdTvtJn4nQYL1mVgKkCVlsGfWCM16+ykU+33OARDuPaIseMS2qH7R6Oq6GYnCGojZIhkyftOS3mWpMyB6zE7rSy06rlwPpZanH4O0gPpLShGrmaH3gkjWXFGMJHYqHvW6iyXuTszlU5va1j1hMKnfwW6JvAo+Eug26H5SBUOV70QOl9DRQNPM1SPSuSY2ZUT+zRD1LntZYMmMuUzmRtUfok9DyR4lQR8svIwBoP/O2D2o9HATheeTu+kpWfpD0V+mBCMmFmUAXoyzg19FDqxDbGaEu1D4qcfLsmhvk45vBB6etkXa9lzY57mVOeTk1+Lp0/ibHdooXTboKTvk9gpT5PYGc+hnWiSP7wbN4D4TpBrNNnnw38zf0ApvORnLNpS0P6gd/+N89UmEetuHvEEcPAXPfgXp7wFx8Ry2uTApgXn782uT49QfPeUUvSH2X3YrEbEPY7gTAAMg0l5xbtwlk6E5JkhVYcowWVRElj1y2Ez2LhtNrcioe8cXwHGMl2reKY4oiSJIi+T8piCRC0pgVR/pKZFqWAg8uvSaWxGoUQ6hIKSsUsAz6QD8vuGrI51b2KUEaY8cGGWidUrElNKoxOiHbob4BRS7q8HR7qexkDzyx57nuyfNC/LNnzecSxKz5mUmK8IRSR52uKxUtdsPzzE0igyTqDQ8da5wi5pK5KiujYnBW9kyJTAzBwspIZKP9vLR3vkzC/Cyvkr0l7DC2HNWUYJxB/y97bwInx12di55z/lXVy2ySRhrttizL8ooNGNsYgxEY25iYQEIMZLuXXBKyXYeQEOBxEzIJmCVATALhJX75EXJzk7zYWfwCeMOLABOzmcV4X2VblmRts/dW9T/n+Zx/VXdPa0Yzkhc29c8wo+mutau+Ost3vs81rYqrDwCfPUqcbgPlVKmfj3bGTRYgUvdJ0SqA8TBJZYCxHrX845Q16oFfGjrloeaYA2Z4VuScJ60dd8DSpj5t1FGpRDkfV4068hRc0/W8dBKCfK2D5kpYtrFmmMN3qdx/7RHAXCQ8HvixI4D5LANmBn5zW/6yCyjtotfRyDYRuYUYV0TFgg1IQ/OkE2V25fEKnHrLpZ7JR9GgT0pr1QxGZcRsylE5mxpjpWydB7PIkEhj1sHMRacK4nIGrhC6CoMkFoNaNpxTh6y+2E49NfjSKFE9YBUcW2JjhpHql6nUT3s0PC8j5iOZXdShvMnSVbRsn/W5Q5uiiNlJJY1HWVhcdDWvA/JohyoH5Lw+GgaTgj5H8CXPCf0W+NqZ14g0zpjLpNaaLIlYJ10BXekBualaWw1Jnz2WorcEpI5Ak4B8v2tmD7FOGOVSxrY7zvybOleW7oN39biVPk4INUlbnRlv2+/OR7ts20Mhp2j0tHs8hViLTvd0Jn2KrL6dzufiHu1159cZgbv/+tEVD82GgiOd8cUi6BHAfLYBk/3xoVCvN5BmuiGaNJMtr5IIOSgULfP85vGcOvV4EZ2+NgTVN0IaRqrATv2CfoZaUWUwA1yPamAjOtEC4EqlfKKQg923MQmxIuiOYqIXCNHSnPPT1Ya2lnGYrFGlXKYmkKoVQQOVIa81O6txWjmxo5qTm5+ZBkZ+Lp11V4r0NDR5uqqJ+acCKBbNZXuAzHonzB91932KgXcT3sgHfjp6cMXYd4gQA9x3FI2Kv9lzKMgBh0hNJy5Ndklrs64k4CuILhGdnTfuUt7Ot+ML9HorBgikBPC4E7gLfLYLvDQKdT6rOeiDL8qJ96bMiTNR1tpOLZXQC9YUZkWiu9oGTBMrtrqlVXUdMaSFiPTsrridC3NRLxTVZ9/yOkhmHIE8YlVRF/39CGAuFhrn/twRwFwkYM762J/8CY7O+sPsomZhmKYpeZb647s/mk84hj/l8m1245rIcJGeB6JRGPzJRyJzArt91gjwFWDfoDRKBj26dcHzIrca10jTtM0y8JRUMS6tUVVwwGgZYDYsYQoz5/VYTKR9ENUVahFIXdh0MVMdT2mny2F4J7wMarpCS1tFHlG2jc6KzDun5Nhn5iCtzFpnaBi12Qr6XvvfHQi0rZvnTrFLxoHK/9E11ZPvpjGeuhC9UF4LuWsxG65FUU3BI9T0nShKRNJ+NZdTc6AQdBfeRnk9F2EGPU8Kyjhk2XYS2CbiW9bAb8vqm2EbovM112htd5jM2IhjDpLB8qKrQZNbUoQT3SWmYcIZHa+fuW7nbiv2A97PV+XI3Xf96MiDTw82fnKXPgKYzyJgTt23Y5P3cHznwleTsyJSyLGn6IprwNAIo5ABQFsYtVN07Zh3Gj7WUTdjNNTQb4jLlTXErVhtaQ0jvJbcKGGideCSo1FFN1gbH+bSswxBVYeCa5nOr6BwTQRmSKQeRCMKVIwgRJU5PhqA5aBX+JAbnzE4h81K7BYBjt3c9/Ymi+UOWD4H6ByY8zCxOy7t+Kl1hbfW0DFuZKGdmX/hwaZXBUTymmFBd8r9yPMGkwgngNgvAH1IkabxeYOIGNjPAMh0aNWrBEi2FxgeQk53ow+D/Rir+EbLUeRmXKO+nTJX86WcI5nXMTvXh0aenbHJWbm6kohMaLgIR3sjzmB2Ni+U5b7kBMl9X/zAyAM/uZD39I78CGA+q4C5d1PGrRPaKZi2ACxFCmIcJsCh7HB9JQAyY0Jp9tLIg2y8WFO3FkJi40EGnNZR1xQLmFJIBqFSWmtNDWsCqIA4D3tKjqWIRiz0MwUfqwLG6Nwy04IM/G+VTZoUwSnTlzA+Y65eZOPYwTIs7JF24COt7RV+Pe1rR6cWLVIyw4U8YtPxav1do2ErbtrooXHc8yeC/t2EKUKk1y6b5ifAZJCsIx3y62LdYfs6aGrCIbq+nLgUejzFg8VmOPUJFAzD8zn7sFzOWg8GaXnE7K1HZKfE+lvheESFP2y3uSQY9aNkA9pUsvPHPI0AU1YtNeU7VtplC4Afwyx7WNPwUHtlInYz0Jx5wqXJjCpWafOvw7lVjm6gF4XOeZ6y2yRqAHRt6LB3XFg0qyeQNQHziNTU+UEH6gtS/uwmUNvbHOgIYD4NzDwCmIcDmD2Z5QFd87tC8jp1/N5NGbVO6K5RhVpkoI4Yl1Llae3+1yZNx67COpptilELQW+kfMqnAFxjZLtoyEdunRZGOVI8pnUek82EXDWMVEApRHf1biS3VIRjEJ5BwXHVLQ6IE3QxAxq1Jc4LPYx8JKjrcumqWc49HNL92Y7fz6y0Xj9iOha5xXnIutuvdge7HX7OvtI74VRXtTPI7YYPFusL3fSwavslVFT1KI0abn31oOQ+Kw3usvg15qdRmVxZUJZKBgk6nibGSWNO6ZyjuVtq6RTR+2yMBO+mLNujYM2c1l2aPY7o6waU7QAxN0JTJkQ7HS8K2bOPt3CELP46q0E0R4mzi6bZPizH8b1HIszDR8wjgDnvuZtfmKN3kVmk9q43v5btOC4Ff2JIswtxQxW1DDeJU4FLcw4M73d3xW00sihhqVqR0Ur0ni+KUVrvTDGj0hKJSmvE+SpgtAEINjOZ90SoUQZaeBG+KW1oCRI0wOM4Qsa57q8WMG1KJWBKXgfUbFbJkqQ0bO0FKXnetCvN20cjKpNa0wmfIAuXD5Ir1Tsk3Hnaj8pVsuw//5vtXuAodWhGhUKH7YSAzCr4tilHhr5Ge7Iliwg4J72b+bjRKwvzs2DXY8LARgMQ8Smgi1VFXRFOx3iMRG+AZ3/Pw86gWpxvqDDhsAF49ftZIspxUOuKtuhv2EdtwjNkeo5mKOO7RHgXiUxDVt9O4Gphjr/g/BQCl12t8qIuY/KmRZo9ByLSQVL0rD0akV9fup0IyKf33vShY+8/fMj4yV7yCGA+y4DZEj5pVoTZxVq3CLIo/lt67rU7kHdvZ8+rRTl3z7Akl3hTXckMcIl3pY1Qjo4FwOPMuCZ8KEy6FGRvEQdO/SqkDITT5lgTwkrtE+vouPZVlW6jPrTKsnTkXFCSsBlsZR9mlo0G0YuQLgfjnII7GJAmn7BpT/MEfnv4TxvMefhXSByFoqCBdXeI2Ua8NvG+EzkWWugFoV5F0l0u/Raqs6zzPEaE1/6+NrQLKbs8hFbBjuC6m3NiNf9VeHIqBMpKcCTTA9Enieb5Rrr3yuU3zr9kCYJ6hrA2eZTRmse2wS3dqiDm28t15/2dwuk2yprbUD19uvQv2zJvGgUr7T+XerNzNAswZ1+oVtKJtFyQlyA0atXfi6i4W/XNrgfNUpwcAcynB/hHAPOHBDDDKHaX1JvdoV1lf6PrOcg41flmI7OzpA5cacgn0Yskip4PHithbMXAQot/ynxXx1YDQSMyhmkgk60IDQxDKS2oZcKZ+lEYMd0Kjkpr0c34zEb9gkZFzskxgNMUPvzMNd7CGmdhvW6y45qZg6VNa4f6o/Eeu7ruoRxg2brNJBZLFBIZwd9MsS04WBaRZ7Fc+LeXMOdkyiMKQsq/tOHKfHzSeEnavg6qneFhocdj+nB6/jSEdiLeBZljcUBKWS1MzYs91OaP7pBFq0qEZR1w5yD+YTa9An6v8/x1rtfuQfA1LTKreU+oYXZP7hQXYyjGaMm6SLs9ZMac0J/Fa7bcW8+FbA/Y7itIh5WUSJHecyTCPHzQPAKY85+7nnPT04Ccvx8JRYr+X81tmyWOTrQb2ERvVK/B/pVvteBW9kQPnsmV1D27lds4AMRRKU4z7nMRVYGw30NpAMAPMEUrEOlERFpepJ1a+VeiTQgvlS1kiroa8nhjsYt1mrT/zRTkIdq1yqCYmzfDsSPra746lrUritngt0ZnmgCbjwS5Qt7HYjayfrxYMm8/w0Qiqk92QRYKya55RAQc68xJdrOLAr7n7+YD4RaN6pLmyRakj0JebeKdJpin2G79HobIeZ3IDNGtWdqKlRWD9aSS78OMkgJrcLwNhQcTWQqXQcjmnVaNtQOUo3Wq3iOm1KRPFJN7Ut8OY8CzsteDGoA+hDw/iuLvFc/7QWBGwM+Q/mylMyANHcFksEErLa7aWGXX2FNulsliknB2BQUtl8ITrZeBdAAlqdAsiCG757oPbLzv8CHjJ3vJI4D5bAImbNucpQEwtRxnoBnnajI6cR0habdbI8bYIaWeEoqkQs4NsI+XuISXenFDKpYhaiqjzoxqdRtBkzOaJkxnvPAQxdUzECFh8V5lMVWzMg/cCh5lUScUtXkomh+mQVEcv/3DwkZ9W2XaHGRZSOMVDNha5JqPK5O6mM02vTV1xTHA1IVzDeHi95wiro30UOYMnZNc1EK71PrwyO3OuycxLRMu6qlFsybf21z02Gw4cp3NYKcTtO1D3Kxz7YFsGpr9WoIwUwz7GR4m9jQxd0sT+gyOl3qCvEkVaRQbaog20Z2LjIbyq4Xm1qkxCxBUbx5D1rwmm4XBco3TkVAdKvdAq3U7xajGawMMqKWRkomgakkEuckMEwAyAezH2PspBK5hCvVMMq+tO4v4VUc1RP6zXkVEWpR9VW+1uObs+isFy6e4lN1z3R8dAczDhf0jgPmsAubOzWnmT7ICnUkyIqlosCDFSG4Q0C0VVJoPLUWAAVEJSZE4DM/wJIEfY/b7SHAfsZ/0PsuIM4VVhpZTUpGTuLRJyn0Xs6indluiLG8y5WK/BkSBy27ij2FGWTmFEYjE5tkqEpwfRYFRIgr2Zha6BefFEC5ZOMeWTwcrh0AKDzMxATFCLS9Pp/N5mrxjErpPuUJvcebz1k0RXwaYtOVDHJlHmLb/XZ04M5S0dQT7y1w12P5SIK8dLxmmheaU6ghrjcAqjLaJTkVVkb8wODOTNRDKcuWiVBXWUTJv0pZazFXnD5WAM5Miq0O0jUDahY78CAW1NMI7sFH/T+LsyeLAvbDTQiSKlCCOlnjEZeiSpQIyjEhlm67SYrGNpMokM487kf3kWxPMvm6iAlbbIM5aLYhdwt0qRZ3GEkDiwrxZEtPd1/3R2iMR5mEi5hHAfKYB80+2ug3bNkTZ0gg3DbmTCfDFjDQMLloiQMOI3A8aXYQ7fEI4GxORfYC4F9NmDSieQU5TvbxtbK+46Szg6uqkqoaizs2V+o6FuHQxAardoM75mT6FqZ5rDdOo8KiiiKrek7CKZbIp++jKNL20LowxQ5X7acBn/9fxpAg4YkgYVDnyNNxqgoo7QRQjCJWHnD7XZs/VmILiRlHdVPZgQO6ONKbFqW09tLw0WbhjhDixXSYNGKphbdh38zHSznRwHDK4zbelNdm8zGnjoaFflcOkidAZxgeM1p9BXi/v0GsTTrlNquIuSn8PeKrRqEWqgpkgpKqtiQItQFRDH23VqAe9RrUW29rjiuEJSWc+79IOYApXzmkAACAASURBVNqu5+Ib2jVS/6VUu/T5ixHK6Kiq9sjOJUuEZJmQ08GDPhM7AZxB8VPAMEZpOpZxtj9iX9c2P6m1mvI6i2jUaGqa1cjdN4wec+9h4sVP/GJHAHPRl0APzUiX27LVQWWdW/nKgWhFq7+/4uLlUUTrHMomQVwTpc2NmPkBApny0tqP3u2RLN0v3JxwINPGvbRmRGjohBJ9AYqhSF8UpwrrAXWB0Jlvb6CHDqLkaO+S1yLSMo0MgSAB1jjWBH6tnhi+5EAVIlPLDZLlwZ4nAIwTInXosSgyl06zLq+517bDpzAdpF1hg86CMh5QqDAlN65Q6FBbP9jaI2HbyqFXNMujQxPiLbxyLO+10mcOiLaOYLWRQ2a7T56Tk0LvOyjA5VrIYdk8Z9WA3VLmAsMLs/PAd8q7X0GjQ6FWSbH60zTfDCG9Hr/uYzABCkdjaiVWQQ2i9Xa4tpwCcNFV1y+whSBqqKtt9/uirH59mrX2qJVIUIpvd6wg0oYe+PZApbeGXn8ZEYcgcUuh1Xqc0nTCHm2asTgcEIqWoXPDgjiMhAOA2BfKBzwBku11Art9lk44kSlRq2EU73zr7ps+dNzdi77sj3xw1hk4ApiLviCudHD6Rlq3cWWUbOxLVvRXR+I4OgFQNkMM65GxBCjTjLSbWB5pAT9SauwpRfVMlYQMAzxyBBCXAbjB7CVSJlG+/QCNHbjU1Ao9E6sJl7CLHUbg4jJTaTkQrSXEVYJuGASHhGiViAzZDaggpTekkoQKQweT4NX+t/Z4rO9qybXpjolnAZ3XDOluyCvzOmNIoE3t1xR4Q6ptEZBuJaT4RQ3Q+EfmFGZRTRHQhfw4xKuWE+dk9cIbo3AgN7jsENBD7dHgPtRhc+HgYNUWWj5FvTA0vgOa2WpDe12BXUlQoQWv0WjwRdfujsm/hZKqtdGLANOWDj0e5RVo5TA80PLBe12XRuz5Tlhp0+SPirPaFnnSoFdTcXtZB2oPAuzUaFCAd0vmd5JPd7W8nybIWjqlpZFhrJGhhqmV/tMJ3UZT2BDcBWntHmmkE8bPxUg5DxUUKgmnE84iW4V2iSmKB8HFK1xUGgFHy4ihKgSxRqPgW7sxcl/xlfJXaxMTExP7ZvyDw9s9jL5CL8ODtDEXfZP82H/wCGDO9xWP3hKdBCM0NDHostVLh6iVbEgi2sQkxyHgsE3WsOwmwAcY+d4paj52x2O7JuAvN7XgKXEO2PeL8VkD/viqdycEsIzQJeWjsjg5AwFbzqdPMmbbqFmzmpZ5kLtEr1qKCF0GfpBcRTvfI4C4SrvgELnlIFhWmwUTvfTcBNWjRJcA4BpBLuUBj5L6VPc31B8tCLOZRuUHaQppXVgrgVnd0lJ3CwYLA28L0sh74yWaaqNJ7ercoP00hmee92ramlN2wk1ncmvmIW596ZD25jXJAo8DYbOdO4f9zsPJPCa1WC0XOG7n80VQppgX9DpDKm07piU9nem2/N7QVrvaenjmxKtFP5sp1x02uqZ2bVSl06m1o3JPbdYwcI2sw22injkSCxIjG9kn1wFSPU2IVDvPpJ60HJFrwiNbaB7MOEXHT+FJ69ybsClonVpBTKPMceFsD6HbLd7vYd/ag1m6DyJVS9IGUdokJCtNesR+iKsnArrV5GAAMt4rvvY18jyh6TcrOQJNR5l1p0wvVLjCLq6KK+mY7FqoVpFdUgeBaUHZQULbhLMHm7WZJ5+EydY22JbBXXsErnrjbOWPH3soXNwBHgHM4jxdcqXbtOoF0cp1S5KY+4eFomPAyYkgqITwAQCZQqBHPPM9wv6Rbd/es3P7VesalpZv3SMAl4Ta05at7uwLXrLJxdEFlNYGoTlTkizbhz7bg8AtUpFeV1qDUTIiBDVoTD2ARCWO4mGKkhV6UQvCMvBc1lDNmDMBeoooTbsvodqnfEtCHdWrishy03wLEVYLSXUruUkWPebJst3YGGuFzjBGi2zB+Ce1DjtGmXCqSKdIqnPVWgINXEItQwbqULhmQqvGTMiCYLvJnRt4KUMmZ6nbBHlOWgptcisQFMFM9+/FSovqo5iuZGfK0Tif+T8LvGrHejqFZMaQJu2bH5hinbPo0Ybdg8OFVXgDJ9Mwm0gl4O0sO+MahVl6I015ttqvqQArO8CRKtepLKaGpspd9cJeNfX0QaQlDkVA/XxJQMoKvNYtA9gnIOMqcgJIqmIZonTdK1ZZOQV29Sw2GliYChCZsKi05XeBT/cyyxQ6TMBFa9hz3YnfjeDrNl4rUPFESykuL/EiIygyg63mPSDZdJGz2Ay62RHTnWP9gzvK0LeOnNtEJMcyw9rcp2QXoDxAzA9DbWbbNhhvbIBt2Vb4EsPo6AGd+cVBzI/Xp35yAXN0lE6CS6JoejhesmRwGbn4WCE5FZE2A0KZRfYQ4H1e+O6sXn/wttGh/bO/esFNl+4fWLly8FSb8W1lTzTGG+PffWJHbd26Qbdq1YqjKs3Gy1DSF5nDILfuAJ+Ok8+UphMDJcMQlTeAKgqRGxLBJoKfAg+TOqCHTmKRqI/QD4btGg1bA4cSEvaJ2E2pMdS4+OxxAX4CgPrJueeLYBVQ1NS8FOQ8VM6tYHlbCp2qEK4ZgiHpzRk622qAFiYWNWXNDRf0nRDJGZk9+Oe2hxytPdwxps1JljklvqgSthG2FyiLyy8gbbsPXvTUexQxZyeNXQT57o5Svi2Lf9tcpkCstL3u6vIEyDIEz2Xc7SwED4vcBKh4IISOukklKQZrdBjOq3ochUeHgm4LUFIUbKpyCKDslSy9Q5kI6KJ1gLRaEPvMqgO5DiINAGxphZPRKR1UhHlKGGuEnCojCYUHsKhNcrZXxG+DLN2pYKg2TOiFpdx3ErjSBpIsY8a96Js72Td3a7uLkGImUuGQAQVFT9ktXxnd8O1Z1/IlV7otL7p4NVO8GVFOQMGjGFBr73sY+G5BuNNN13Zs37e3vm54u986+oreOaIfL1Q8yNH8RAHmltFbIoANUROWVculyjEC8DwgPAEANfWtAfM9IPCtRnPqvq/DJ6e7n6qnv+1b8cCaYbd9XybJcEvuvgvgeceu7Rsc7D/bEb5QxMQumgL4xKRvXfu9/1XZcc57HjwJIzrVQRRZBEDJeiJaL0grjKLHsAeFtyP7MXGk9pEr0dEIiOuTMNZhEycCUAWkioncWuThdwDwI5A1HxTf2k/aTcekD6iyAaL4LBA8UUE/ZL3abscWELREh89Z0iCra4ORlkpbedNUb7XBgequUCCHdczD7KAVL3NiUdcwjyFdG7G6Wt+Foka+qmKevXswJ3RrOiz1PGpt03LyUmE7Is3RuWv8J1++kG6zleURbADUQm6p/dfCMD0Hen0QBPJ+Pn0eeJRFp1+JmDYllQt1aMlSP6BlCXPEYFLBE1QupabaqjWlJnEKnpPA2e2Str4jPtuulqDkMPJYWhPF7lhwtEGAtNxSJtAIn2f0+gnVWat5tlBkUhh2Qeb3KhNWUEbQxWsAYBAE6wR+l0j6GPp0t7Co1JyWSvKHH1QgGTgNCFcJYEn5X8C8jSC9iuH+b+yGEWrtS3CoOcG3X/EiBcB2DfOk0buS4XjDsEuSk1HohQyyzihMBI+jwN2tVnbP9PjE3qx/X3r3XXf5n6T0/ccbMEdH6fQdF7t0cF2ybHhoBUh8CkT4fBA5OtA/8D4W/nbTN+/7+v/q392+aEZHaQu8nLZqLefku+V0eFu5P1lxOjjYQkIzWv9JfTYFjA/f+r6rv2Xp+Jat7pSXnDFcJVdtRY2xRuLc8rR5AYmch+iOsohEZB9J9rC0Go+rkjlQNARJdAxivE41FwMp3AiAMTnqE4E+UaK61r8ge1Cy1v0eZK/zaUOdw8lBlTFZh7E7BhFXgjYBghJGCqAdU1wa2JNWc9PkWb3Cte6mt3QwJwv1OatXBSzp0HdyqCtmXfL3rT6gSxf2Ovk1lDPIO8XG8JwuAsHeKLD4ewGa3Z/V92zUpiiSzsLAnkB/Fnh38LI9sl4AgRVM2/PqITvviDFZDVZTeOPoh46+bt96PkbTshiT9D+trFo10lrpeg5FryXdL61NNllknwCrnUdZwQ9FpkX8Ez71j4q0dpHWJTWzRxrEOFmLlBwPzm0QgWVhQIqnwdwljWCvz9YWMIyDZNs4az0OzHWkZIj02iG3HkAqADAGnreJbz0GPhs3C1+Ml5jNG+tUkW8IxomUKy0oL6sj8BCgWyKS7RffuuEr7x3YM19gdfY7Hq+URpavZIpPJcRTEWQNq3Yq4N2Z5zsBa/fv2rGn9uCu72Q/7uD54weYeao9AKvKlbj/KHTuhQLyAhRcKig7RfDbkmXfnXn8zm23X/Ei5c3Nem269IHS+rVHbQJwG4B5bwo8FrW45mPxQq6CjP2OaBkILtGu+P59+26742N/XYeLfjE++YSRviVDlc1R4s4FkBPA1wfEN2cgaz0g3HyCsywFl/RTUt5I4DaKc8uUqB4qaFqwBOVo6v9SRH7Mp627if1D4Ft7TFcyJMeJODfskr6NAnw0YTIYAi+ZQeEd7NNtkrWskURR5SSM4jOAYEUw2GattQV/biPEKEQEYLAM1LrCuW+jNVFshCfct96b/kbHxCw/bbmYRrCVtTnHvKtcgG9I4LuQbNb57iGxt98LNrxBjSIv3uaQO09ab59TPUudbdSPtgdvQp/fuFSh2NA1/NmOSHVKyPo+eVdcm+rF33T72knSUFN/hqzfgvPQNVdFdkD1E3lE0tbXhOuPCLsqlatrCFEzmZVIrqKTWoCwRzh7lLPmI+j9BCk3XWdUAUoYlVZBHJ9AGJ8I5JZZDoI0GVJ3s+7Vwf4GgTzps+whyGqPE0lNJFmKcXw0UHIsgCwXkBqyf0B8+rBk6TjoyJaLVDllBEoDZSgN7BGh/Qgy1kr9zumJ8V215pSl2euGI5wqD5UGVMwavjs9V/p9zrv2DCRLhzaDg9OB8QRBrADLNgb4JlF6/1R9fD/s2JHOdX/9qOfuPx6AmYNkpby6UvX9x0YILxWk51lsIHIXEnyr3qjdeWAd8inLx0uudCedfLKr7KjL7WMP85aTz4jZrV5PhKcDRcsBuA8VpLR/gPLIFE1ffft7lk3oLXP6274VDaw5tq9FfcfFEZ6PgCexwDQAf6PekK/jzBNRKeYTxeZ7khGKSschuaMQsRpINIZWZUGb9HEo/jHg7Hs+bd3n2I91iycw+ASjvlXo3GYkWg9AZVXfBaF9Ivwwc/0RxzDmfTNC0vScloZ+TMREyQpw7mQkXA2iY3phMMWG/YpZl44iWx4ZKuCZIEhIcg30ui1pixCxE0LO2cLJD7Ij4lYwlAKpJ/TKi9vI1C+KPrNxB9oJf4C9nBvfBcBt9SPj0+dDN2F9XYWCTpupy2J3Vvqe25y359ltQN78IYsnQ747JtMemO5W0mRNo3eKl3vFN3cwRiUSr/bmeyhEm47iZISS5BgE2oDkBuyrl2xSWB5mX7tfmum4I7UnDi9WAE7K611UOlnInYyIqmFqYsWEkAaZPKWa+nHWqDJt3IeSTmo3XZCr4qpHEcXHYURrhaEBotlJeg9wcwpT/s7Wj226s9jWltHd/RIvexk43uQEhxlVus6+8Pu8NL/QE3l2is7FCi650r3ktNeuiyg+zaG8SABXA8k+8Pg1cK1vNXft21caejD9cal7/kgDptYVYenG6mBf/waM4EwROj1vctwr7L9cz6bu/vro8OR8T7VT37mrb9mS4ReAk1OQZb8wTaKTsRBV1ndvHV06Dpae/1a1BZWqjxEr6Tf3NSc2xaWh5SspcS8ToJcxQ1lEvpd5uWnbjr3377hidV23eeY7Hj69VE5eiXFpM6BbDwIVNaMJEuTQp6RkEWgK+3skbXwbs9Z2IzrrK+esC0kMrrSUouRE7dwjYMXcuIDHRdIHQOoPAuOU6WlE1A9eDc5M+HsCU55SbQi7/j32ubh6tGB0IlK0BnTiKKS+hTF5gMMcvLpaKjn6mFlYsKLIQ92OO264jNrL5CJC9teCe59rEs9ar2KRvp/zVDvvBb6RYXkBcAFazfnXzl6xD8G3zRTdO7Kf+eCOHV8ebOa/WyurWL5AVV2BHlsxKxnI+wURoIO+NgRllVEWzzOeYDtm2X0+rW1DkVr+pIkxLg3ZVBfzjPdNbR4G0csoWYEuOoFccrRYJmHPBKUE3SdZ437Jsum2L09+3piiPpeUTkRXOp0crhdvHukTQKAGdTnm8xRw9hD49EHfbIw7hyptBJxFfVQuHScUnYigwtHZkyDxNfWy+0+/7f5JrV2e/uH9g0MwcBoLJJ5lf8w8wT6bqUOzRhO1dE/W4BVRmXioGidxuc+n7Js77hubM3ocHaWz4neuqGD5DBR5iTgcQZYnBPCbXpq3Z3v3j9+2/bbWj3La/iMHmNq4mYLjkwFYOkJRfIYgbEHRpog+4WVra3ri7q/+2YqpOUASTxq9K9ZCtzZtNKLUJk4Gq9ckzm0CnagQ6GfkPp2YIJEde8f3//sdH1s1o+uy7dZP6xsY6D8RCS8AwBOA5XFGuG5iz/R3vvuJJRp12mvDW7aVVm9YsyGG2ptB/NkIUlWZm3z+ZQCQhkJBP/22T2vfQcj2aTqso3GFnKVBIkV9SKXNQNFJ6GgoJ0A3UbJHfHP6LgTeF266ONaROSApo6rheJxSIkwYHs5v4zy99ZmPKY5WkCtvEKFjzbIC9fxZuNn2Hwv9ooClHcRoI0wXPObvtxs0+ce7lDjsL93hZ28oau/3XIrdAay9HxAzdLFDx2bWOvN4vehXWfA3ax35P9qoXGT4c9wCltEHUbeiRBGaX169j/agZNsyrj0CWbZXx7ht91ysom7t7897iSgqjWgJx1NrL/p0wsjpws5FfWuQ4tOA3CpAim1ASGQXZ43vi2+pFW+zo8gezqcHieK47ygsRS8BdJvDQxPGAcTAOAwd+UnJ/IPCrftRmpOk3ficOi9AKyDqOxHj6gqKKuPC/BXP/ivp/r27brt8faO36bM8Of5VDrRjDoNeoELB1U0tTb5bbzaunzNb67npzv5AbW2JkhcoeALiCIA8hh5uZV+/Y/u+J6ceHP7H9EeNrvSjApgGdv3N9QP91cppInAhOjwKRLYhwzWex76zdXREC+XzvfCcP66vT2J3MaIbEPBj4mUS0U0K8n4Cv/Pm731ue8+Tz+6o0B3fPISueiYQXIwCSwT41jTj624dLT88a4OXXOnOO+41y1sJvSKi6Gzm5gbxqaoNWeoN4IYBpMa+8TVpNb4FkE11xsO79AstG06GyZVeCBRtsDjQaOIyzZJ+H5q1e8PcsmIwJYSlEUGMIUu3A6Z5XTZfX1u1fLb5mu63DhtRlIyQSzYBJOsAeLnxOlmlucMMS5gaD/OAxqNsC/32ouABCNfT8ent7syHonNdkkVNsjsj7EXdA0sEsztOc2zfHhJFSJ0/HzQND5M+2glPEWRGxD8pzI+xb+wAL3sQtanWw+u2wkJnlLX4XSDqAywvB26OoU+nCudgFuqPSn0vBIo3AkrZxlhFaoTZPb5Zu4tQldy7X12K61haD3HfS4noZAGoW0OIOLWSs8nNw34Bf7dkUw+jUB75huVT8vfE5WMUAC9GwmMA5I4s4y+MT449fEf/X9cVwDQ4IHf20RlgEiHXWtPNyf3lJyxw0IBDfw4N97kISlHccC4qq3zUvumto8coeLcLLN17f+4HausdJGciyUtFcBCA7xSAW9KJiYca4482flTqnT/UgFlEk4Nu2XoUegUivVhvY0b+EtWzG2++rPrEPAiJW0ZvcUqd0EjSPrNmTdznlq6MvFvBDgdReBkCDgrp7zKG9dY1N32wv60ko9v2zRctjcqVlwDBay1WE//5tFb/4q0fXjLWs13cMrq7D2DJKS7CC9jLRq3ECTcGJWuuRHRLAKAMnN7hs9qXwKedjmS3M0GYuSak8ioXVc8ArQe1RxF5BiT7Ljdn7imEY8Nn4yEAqojPnlRe3gHnozv9tDcP+IP9VX24BaNlhKU1SkVBpBWAtIRA1ORchYiVuB7kJO2qybvYRWQY8ufZFrlzYWj3DvZi3Kxgtlh/vsABNYKeKLNdsCyAuGd5q4b2np18Ietuab9HVTNoBpnHRPxuBt7hs8YurQ9qdNi9tPWk2k2p/B1Vy8+bc7MOU9TeOBpknz3pILNyjb48Yzku950JmGwEMpUoE9JEzu732cx3Ufy85ST7PuLKCeQq5wngSgQe0/FHDYlNlA61uecf46z+fdayQF4jJZfdsfWDJ2kNE899f/MER/R6BDxVa/3C8jnh8Ye2jo4oOM4Cvi2j06scxa/ySCuV1G8C1aEPRTpby17+c2b7HXcuBHxKWVoNmzZJhBcI0KlEMpYx3srY/Nq+dNu+u0dP1gf+nKA7z73+nP75hxIwQ1R3bB9i/+kO4dWAuEZE7kOQz+3gB+66e/RkrePM+3rVu/cP+erAiwFlJZE0xbsagjQAoZGCTBO3dm4d7d81H9iePTqxtATVM4nwDXpBgMB/eL9/65xRrNU43zmiFxOjeykBVFgHxbUE55trENJjRXifTxs3SDZ9b6E4FG44REudC0zQmyAqjThXOgchGlFSSz5SmIpP7+N05hvdoCiCsbhoWClKlvIFR4oAZ/nvSq2efZxzA2bvuWBwJSIcEBctI8ZVGvGKgAo89BNAVaw7XDCOjKBjVcecxT67+9L7dMmVh4poK0Bc6GIv5tURG+58et7lC0mkUAvtZsg3AbCmlBsEPyECu8U3d6fMYwjZjJL7D74vvc8mF3TzCqeh4vvVB4mWV1x5FfrWjPIljcyav8+AfVGcrEQga7ZQpJ1wFsmaO1B4siNAN/feeIkqUVI5F6l8tnozA/KYWkyGcoUWJniCuXWnT5sPOszqXYDZXuErP1A/WiT5WQI5C1DugIyv9rDj4e6IUZtD6AbXekEVF0zZcZO8pL7pmyI+q+9/cHohsOw9gi2jY0sc9p8hBOch4ioGuUMyvmb/9NjjRbS7mOvhufzMDxVgKqVn5fCa4RijVzh0r9ITIeJvYElvOQjA2f2mHev6moodj1GKYGAjIa3WyE7EV5CwCmGGlzPEO770vvi23vv47Hc8Xq4MrTwREH8JAUeA4Grv9183X7ofgP15xxLRxSh4Sm5eYHe9+n+LtDZxWnska01eS8BW41Rh19mvTojJ4pbESeVMpGgjUrjo9Q5kgTHO6reCNHd2L8sCJaJ4mY5tGn1pzldH0ONQLizluCOqArhO/oWXQFwiogHAuJ8gHgCSpRo9i3ODCEqsB+3Aq1iuigyrtYNJyAU7yvZK2qLFRT8m6HgeGFeE+C+AaCgrGpknX96UNWyc3KQ0cupSoJsqROn5M6UgZYw2QSy1ntBswrOK9KZTrOOu3NDzNi84dqxw5zh7i5621gpkeaVaR4pvTMRRvOglF/2ducoJFJV/CgB1THYfIoQvLkhGadR6X5bN3BFF8uWtH+x0ybvXf+4f1o+JStEvgGjEyTc2Jf3CV+/6wpPPRZPmpaONzQnShUD0YhHZptEuwPidAHc1fpg67D8MgIlbRh8pAaxa5dBdiEAvF4ExQLl6/InvbV3MU8vSBYzPEzFPm6awNJGcjp7pzaA+K+Medty/dfQYLW4f+MqjxAiS1wjhRSDwtVaj8b+/8qH5ybwK7uuGjz6RAN9AgEcLgYpbhPseZSkKrGKufa05s/tOAl9YA4Iv9InaaJEDJlOEpfJxEVbODpITyhwJu+q9382tiZvB4VThj6M3srAk6MrDNn6STu5FiuzesIXaJVGd5Ouyd8lvVXPb6kop2w5c+fIHvE/q+kCqyRHW31VSE8ekpGjScToqVQGoD5U4j0qoprKNaDqKwSZhVGpHYp1kQkY181a4M93JMOHTfUkWDaVc6QhIjchUV11d2TNgJYyrDiWoF7i6fKkKlP67xggzkrZqgtm0QDZjZkhRbm9rCFz4pOcRfuGZ3uFZ2iSouUvadxp81gvf746jZ/iO1LwuiJnkJnb57+bTpA/qqLyaubkXJas5Lfn1WO4U6y58yHsv0sLHfvb33/E2D6ZofWspKr8BBYcAYa8o4yJUJoIQH6bbkNP/86Xk7246WLPllaOtM5HorboPDPJPwmO3z5WmLxrMD+GD5713eiWUktcj0rksshMFrvMw/a35OKGHsOpn5KM/SMDE00d3VJZmw0eLo9cSwhkMcA8A/+tNo6XvL1DHQBgdbe/7qdO/UVnWv+w45zWFhBgYS0hQQvGJjp4B00yN6l/5r9EBneaZ9doy+kgZ/drTIke/Ym0Bz39z4/uT7xzs7GodZgSOO9UBXgKAqzret3a/68SOCmhcU69vuyYSODlHPfOp8GlvNSEHzCgejKh6FlKyUQthwfLVFHy0MbE345mt4Ftjwde88xLEKkJltXB9H0hrsu1V3Qa0HDCdKggxgP40wMt/D2pi4e+H8r7FeTnq282vvpPddkW5J0e+v+JTQoqc0p9MREglNY1HrnJETOBigJYNa4YdtNDRHDJzL6IgKccmPGIOuYxEmr1qIVe18HI7jnA89lyatT/zHV/RI5u9v+YnovtuShtdHiPdTbS20Vge9nbCXxMvsp3QeXCK1wNkLe/TvQScGWD2vgo/iY7HRMfXZM7t964gHDBRsgZdVa/LCiCPg8csqOOpupOaXsbfSqnyqVvhw9sOBpo63dM3NPIzDO51hHwrt7J/vzn+s53PVVfbyPHVpa8AhJ+2C0Lg883G9JcOJ/V/RpAyX8kPBDD1y6gOrVgP7N4AAKcjwXcz8P/v1tHygwse3OgonQ9/sEq81e4yUXsrB56cpJyJ55h9E3zrNrhcOZQHU1jBLaNjQ8TV84ncGwT4y43axD/MQ0lq75Y2gyL/khOB6BdUUk0HsHO9Ro2NEkFZLYKPNJvT7yLZuY6Fnt99TKYOZoBV3NDh5sEoGaao/hb0pwAAIABJREFU7zxSbmaY0ss5ilYUm8mk8R1uTd9rUdKs5S0uq7ioMsLCdYb6XnMl7HrNFWH2Rji9NBZ7P/MhqZ7rpWBxAEB221wu8E0eAGg9Jof2fmu2X1x3o793+SJ6LAL2ufFk8evriQAPOJoiqZ4taNoWxc+5BWV01dVakARpqm6APS3JwLEX0Oc6/h6/vIMdf9f+Imp6Xn09oChXM1Ds8tyHXHnMufItrTT7ty9fVt2+UIPlvNHmSQDut62s4v0VY09+/97FZH0L3seL/IBN3i3d8FJHqPdoiYG+kDamb4nK35n6QaTqzylgnnTJXcmqzRtXOxf9nCC8FBi+3pLsX778gcojizx/oCfwqKEN5yDCi3IlCJXRycs1Vi/T5+lu9tk1B+uiv+y9M6tKLn4TIL2YSa64eTS+eRH7gFveUz86iqM3A+GJOReu03hmUfuA6lOii39642Xxree++57nMcsLAiLmHdQ8ZbNualdXFV1lGKV8PhL12yCH3VFKfTNWtkZau5nrX2Vu9qgmhRtPKCkRawfTxcKtXcxZLdiShddBU8Y5Dlw/zxYVFlT22R8K2bzKbnZsNA52/orPdmzTA2exWH7u9029Z1HXKCkPcr6U+GDHrw+FeY6/e329HwnvBf1kfc/lkbvpmuqwAVZWEGFFJB1n3xojirL2d24ANvv7X+j6WPDa7Lm+iAZ+hlxygggrVzMNYlVqpVfZj1QZR+RbpNn4wk0fGgxc3oO8tIkqpYFfRcLThOXvPG2/bd7y1kIrO9z3L7nSnX/Cz7xUHL5JxWiE4d+Ypr6y9a4vTj0XNdb2fXS4+38oy23Zckvkzj59iKLyaxHwYgF+KM3g77Z+qLQobxFtrtTHQkNnvtdIX9UCqeZS7TcAHGSiAA0sKfklJDxZxH/8xvdbCWDB19nvmFhWHShfRIDnB5ZiR58xNDpwRAAfm5na+fbbLl9fP/fdDz2PuRkA84CQrndzyVKi0ssRohXBnjAXlwwNDxOnFEl3ZL7xTeHWeJixzkMOi6q0vKfj0G6QXLJC1W6Y/RSAnxKRLADVwUKU3v1Rlx/tGxQh5lwhUfcyXS0c+3NXym7/7n1/odNdBMnz9Udmh4Dh4dAd8h54PHMe/wFNuGK53hCz9/iLYwyfJ4xVtDghqiqFaAlIa1x8ax+Sz2swC4Wsvfs71/a6P3Pw/UPqO9ZR9Q2ixHbUcd3QQnNU2e9caVwAGsL4T4+Ob/vGg588rl1jP8i3gq96X+stQHQ+cPb3Y7v2f+X2K9bkHM+Fvstn7n3FgiUjp1yIRG9ExDGfwb/w2NgdWz99IBXqmdtqZ02Lenof/oZH6axLL+3vG+g7x1H084I8QwB/e8P7k9sXu06tZVTiwQuI0Job3csZiSUIebfQwx1f/GDy3YXWq0VlouTNKHSq99llN324h3w+zwr0ixpafurznMP/DoCDhmd5OVBneMBBH7OsfGoi8pobPxB/VFez5T13bUpTOmehfdL3haIqQek0hOQUNO5lATjF0oEWI+L3eN/6jueZnSpg28airo2IVvoo7ieKhgijMnNWF8lUMUcv8LTQt1xwv4oGyJwfXBw9acFtHPQDh6BZaw+Qw3gdwiZmrb04N6oToCT0KO7Tc+19Og2Q7QVTjPrBvUTcUFJe8vPCOhtuzU87P+SquyNXUQV4TXnuSjn95y9fVn18sXt63vuav0jo1KX0ip333P/Vu686OMVvses91M8pLlTLQ68HoNcyyj3Q8v/od+58bOtn52nsHuoG5vn8swaYVnuorN8QJe7XAHA9CvyfG+7/92sONXze8pZHyvHatacAY19B2O4+lpx3mHnKtt98WeXRg50XO8nx4MWA7jUZ+g/f8v7SXYs9jxpd9vVVXocCr1DRXVvOLBXUDkyB29wgV4HIP3/xsuSv9e1z3nXvAHj5Wfto3pEuUrgDutDMRK6yxrm+c0zhvW0A272HIUpAgRpz68FMmveDbyo9pue276IqsUTOJUsR4j4ijNVhVqQ1wagTR2mLdGSzS/5iTlCY4ySZe9BBUureRYqxwflS8Lm/h0NAs8MFzJ6JnTkbMoHBGfitaj7n4oRB+pFiFQNW0ZQWI09y1pgkF80ZEi/0/S/2Olzs51hcuVRa8vMAOvLLM0Ww4aKBxwmSpmmNaEeN8R9r9V1f04xoset+5R+13hIhvSQV/qtb3v/Bp7KzH5wa+5Y/mF4VlUtvQYAzBeTzM9P1q2+7/Kn+xbO0T88CYI7Slt99+2DcN3A+ivwiAHx9ql77m9su71UsP8jXk9tFFJ9YNxXS7N7X1s/+/VPpzuK+LC0L0FkvPdNF+Ksi8i83fjC+frEXiN4n572ncYxz+GuAbk1ORW6nmblkRZ8Ir0LAL9zwwRBhGmi+8/tvFDZx4J7XgSmsXuSJ61NxjOfnWmsmKmELFurhJsdo1gYqWDPGWfpgy9ceE25Oa04YHioKmD3rV85ipqOQUdVhvISFyqbIxmqyJTPM6YxaxYpkbPU0NWGbVb/sTbEXPp7OPsx1pg8xhV/o4wuVAOZdfjYok5I72xJ1TAJR7JRpoT7hEpWAfIzg1Ge+xpBNsG/VwxTNgju44Pc/+3z1rG/BCsHs7wchWRIng28WUWV4mdHhWjXjiJLhh2xHwsM+QuGv1bl51cEodL3fnvYi1h6/6Q8FyLck/cyhRKiHcM8d0kcv+L9aZ4mDXwekGWD+++nak3cdykNgsRt7RgFTT+TqTZs2EbjfBOEliPCpGz6UfH2xO6Of03Ws2XzcC4HhxVpH12kWrQ/m2rY6yKqWhAkAzTD7f1xsSv3K368fHZWiX1Px3xs+FH/4UPdp3abjXgBI/02bOmx21t0pqaqSqfwbrgLAx6G59+035KIdL/uD773QS3Qa6L2nHEb9GS5YtUcwrp/9O78hEKgvivpPQ4yPC/pqgZ0Y7kc9+jzz1MWVjqPYyX7CQ7qdfbbNQ20cGFJUE7Oukt5cTRWbQwdXAop0eqePMI6Yvc5Jm9c2g7HWm8JpUzDzKLEao4X97YlKMaiWq0lQ3o8Nv+vf7OO97+dCFe2mzgG8xENcX77tYnu9Xeju4w/b7NRmzeMIISGMEiRXInQqZhKjKDVNn1C+KeBnmKUu0GwiKe+z59X7/RbfdcFbXeT3396tQ11fz/aQq8fFSd/rhUUjxxn9whxG0y4a3NVV7lHLk0cBs8/c8IHKtoU65t1H/Kp314/CKP4TAbh6prbzhmcDnA7lHtXPala7cejoXwLB1wLK52pZ7d9v/fCSp6LNRY6QLWKDzxhgaieNaPAVAPLfEeHW8anJ/+frn5xfWm3efbvkSnfB+ovX+CRaBSRNzqQZs7SEuInMGbu0OTbWSOtjY9ndVy1u7lRP5DF961+ORG8i9u+/7sN2cSz6dfrbdlSHly87B4TepC6LZmYwx7wKgiwN9gFw2Q0fjm/RL+qiv3ygNPFo+kbz2Ol+HaSmr548Udx/soPkBOu4anPJ1HnzFfTMYLN4jR8UlZrss33C/ISH5k7veQopbVmDqDftnqOHowQtTTdRoymGEhIlwBhrKq/bZiWKo1pcYAomhqyuhuosySoux6Qjoab+kDvnHJAmd0VzCgiH0aNpZ9AKEO0elnIsuyTx9CGk61avt0hTZtFBAKemcmrzoUZ0kFGCkYuRuWRPP5QMQVroQJXSU/FZiymdQc5HJBeK8J7bns6BPcTu42empLTs9YjJJgE/bu6TOoblBrYjJfnwhn0XRID7fMafvfHh/+/uQy2Xnf/e1lsQ8fis5f/25o+WQ+T6Q/C64L3NUwTx90JQlX1y54MPbXumaq3PBGDiBe+cWiFR+ddR4DQA+MsbPhJ/+RDPG+pY4iAMVtRTtFg2di4hclXJsCzmjqg/wbt03x1FBLeY7bzsd2dWV8vJL+hnr/9w/PHFLNP9mQveuatP4uUvJ4E3qOiaRoaq1GAc6zxzsgFGgAQB1wHhY9lM4103/UUQ83jp799xuhfUc9N5HdBEbs/52WfUHybC6gbnSs9DdKruEowiWVPlYFFm1gmFf5f+Xb0jikgLRGd8xwV5N3O6W7LGPo/S0FzS1qWOjN3iksXvhWBud0aoBjaKNkSajpYQo4SAEgk1UQUblDRTB0sNL9U/kUAp6l6787qoWrJ7z5q6mrcFsGcdnVGXDHOOEKGIJcvQJVEAdwv6WAXWrLGnFjqKe7o1tKaWM+K7qp2jEhvVA9z+LTGq3aSuF1U3zSndPTzhdMLdZyqy2wKiloKiPohtWpbVgTf/DgxKuhr99o0s0OU/2Pmb64Jb4Ps/cJGFWAf5+8Loor4TY+x7rYBGxGg8TBRXj6Ml2+27z48z6LLKBLJ8pvn1r961deuhmZvpfVXuK11GIv+wd+/3bn0u+ZkL3cNbfmt3f2loya8K4rnIcEVzcuzWrZ8+qKLZQqu0958WYGpdsHzm2ccy0e/oyfeSfujGj1QeW9SWuz5koXRlw7lI8HKd+tB1MUukDQlRKS2hhmoEso48ouyawTkVg+bd7Kve1Twxcu4300yuuumj8VcOdf+UaD9YWnWOiLw55HJW/DPA1J/hdgo4LyADRLBBGD4nft/HFdgvufJK98RtJ1wsgMvn3XZ7VK/T7RXVznHlZRGWT0Kho8KcnqbE6iaTq9m2Z60VL8K+KKro52zq0EQxdKZa6oC8jyHby1m2X5sUyFlNHCkSqXp3Z1xwrp3s3b+ukoIKTqiDDLCPgBToDLmdjvGYwruN84hT1SOt/1lhQdFPwc9kQgzr2dTJKQ/EzVqt7X4e0EtcFszK2OgCZvqrpQfxHgkz1mhXPdN1dyTVEUrlWpmskDW3ul8HOZ45v6OFPr/Q+wtddHN8/7MW6S3h9K5PeVUsFFFlrXP9PwvCZSDaq48mfVCU3LJHxSJNyvEydO1QhWFADivCVLeCC4993R+L4M5W1rhq68cH9y50mM/1+696d+OnCN2vA8jnsVn/1+sPpZcyx84eNmBa4fcYGw98FyN8e6q16y+eRh0Dt7zlkVK0cqi0rbav8eAnnxIW1dclJ9n+bdmzAreuOFxz+VF69e+/93SI6S2cpR+74WOLJ8kX50spRcPLTj0VBX5F56RN3sGQqVs+QovoATpBVJQCjgaBqzKc+vSNH1k2ec67bu0XP/R64ULS9xAuHZ0zp9K6iMqbEdwKQcllgcP2A7OqWxtttq6ajsXpJ1U+LGxV1BmyrhNErFGoSZmlU8C+rlEoiIri6nrNBkFvrAUpO75t5XAIxzXHR9Ub/Af1MqUhdRIOYK1F2AWP+we1r73bVbB0rn99TNWfBlTam+wWMQ8hiN3Qkw5Kk90PeTvL5rnuHwbgzx5qmarY/gXvab1Ns6omZJ/Zeoilrufq3F347ubJgO5/gajIeOOvb/iYaUQc1nd7WICpVJ9kZN3LSOBSQbnq+j9L/uFwDl4jy6N5Zb+vkjZ2ABoUlR1GKWGSAPVpGs4AFRBfEkd7vvhnH3zKT3lxXfFifxTY1x+z8RwQ9zrI6n96uE8YbRrFjt4KiAqE5gg2+wLsRJuWKAIOC8uxSHQL+/TyGx793GNbNpy8opHJhSrGcOD5WmhWzoAuJuxb4yjZREqSFywFyNSekNOosp00dI815yDZ7XKjYGhmkp3mlXbLWUG0HviafjoDmQJR4ntaQ6Cmx0xdsFUFSFBTa4zzWm4enc46qKdb1Fto+cWcr64dsv6Vnnb91rRZpqKO2qGKFaJjQFc26hXgACL1AfB05tMdXmpToQu+UBGz9xtdaP97P3+Ix9NVtNVySckNnOCofBEAJSy8GwFSVXCKXWUsor49Hf+Q/KFum2cHCF9ppo2rDzc6vOBd2c+B+LME5IovfrT8wOHgwHOxzAXvnBpBV3kfAnOrlX3k5surOw4HNA8ZMBUsy8PrXg4OLkXPn73246V/PZwD1nS+dMY5p6J2tCwrVEUGjoXzEAO5SUI1RmmgwLR4vP/6yy/76qECpkaHKwZPOwdRXg+N5mXXfnJ+BaKDHceW3x1bUo6qrxbEi0L0EcpiHciZXeNSVQjlwBHCZhHYJphd3ty96zY/8PiAd4OvZohK7U75oZ5A41ZWRwjiDQSkNgf9YSQ0WHOFnyHqNLvYnrmb2f39Lsi03rcCqdlTcPBnMGMyBcoWItREuCbISoCvM/gmMjQZfIqSpULUFO8zJs4UWI17qApKenN3p5RWXwxR62Ki1wOiqZxZYLXN4qVrtAMPXXlxTuufCUIUac1Vo3Ktu6LSbFykTS1VtqqiUBVUwEQV641OhAoiWqVg1aNk4EczaD4q0pgAweygnNVu1sNCKfpCKfgirgkdUHAYD8TU/2Ki5GxVXxfhvdrAUlZJROX9JQpp8gEPd3OM41aG+A/batu+uchpnwP26sJ3N9+IDGdIJn9z/eWL0IJYxHE9Wx8569J9g0vL/X8E5CrQTD923SeMt31IkeYhAaaCZWXFunOB4VIB/6nrPl4+FC7jAefBaoMwWJmeaKWDfeOtaz95XE7XGEVNxzUVn9o8gLdf8fmnHr+HFll2bQzPf0fr9CiCt7Y8X37Tn5fvP6wvRLv3R7/uRAL6bwAyEhxqu0HSphlnVYXNmBW4BAIbEWBARD4PmXx2T/3RfaX+9OXsedlh7Uu+kFGtKO53EK8mStai4HAAgNzVuzDezvXRbbFcUNeAvltcVz24e1sb+fsmpd7u0JvRTcjoNGVXMA2EJ1VY0oaSMkQ1j9eOekuYFWRSm2cGztiaPWyfFXBeyLOqEImpEM390h6/lhNU3EgLyEoUzd3Co1AnlVil4hhJ694a9iZkfXLVXAOVC9JmUGT6T4FfZEdmHK3QrMu5W/a4CNXhQHct3qh5yXZ4aWwTaalsmhK/D+lGezrf84EPDHukJQn0H+eosgWRVGx6jwhPadShkWUS9e2JsX/MoLLT5wHlmZpVsJ4XgG81sHXl1o/OK6a94G5f+M7W/0TC5S2f/d3NHz/44MiCK3sOPmAB34o1f6z9hJT9B27+uPVcFv1dLhowrWa5dvMZkYN3o/grrvnz8ucP9/g0uoQNGzo0m2pfVHGVSopRJYmwnDJVI1Pt8UPqkihevnvdX5TvO9ztXfD7JsX/G8L+2qcD8hddum8Qkv5XiuDFRmsLUULPbllMZ+Iu+k4gtesViyuEZSMijLHWNrn2uWm/TUnwJ8+aC895MwuJZfS+z56dc+UBkmTEIa0xz3PGCiImHYFzLcoVYhaGCB2R81nK5AWCFJiRuze2XRxDG19RpXt91s8uyO4WnNrMZ6izah8ol2yzE2a86WIWP/9D3onOYSo/r0Wd1uJlJdTn16zqE7OKhha81rmN1hTfczKrep23Td16qFldprzF4ygnm+YCnQUfU3h3JukjwvVdXrKGkf/nFPeAXJxjsY3V2Sn5XN+/1VgRkhiqR0Wu7yxCdzyLTKOBJaQB5OO0RP07CaOcPpQ/1NsMAGukKeCOs4d/3D9zx/cOt7sdsrfnXQaA94mv/8fhlrsO974+3OU0UBtyI38qRFFTmh85lAfG4gDzkivda9a97qSnHvDvZ+R/ue7jpX8+3J01hF+2+pWI7vnA5vlNnqBlRGuEpl3SIi0imPIskwCyn1N/9xc/1ac1h8N6XXTp1AqOSm8iwhXXPvYff3qofLPujZ739umVMSVvUP3O4u8hWrMnd5t8YliCpHXBVFW+GfBRItoF4gdF8BWIakAFNzVh7NZaa9d6Jug3AeIiX16IRXKQM2ERFEcVcskyJ245QrKczKccE/Nima3SO0snoz1YJOoHrDFyDkgFis3FBZ1jX4pl9ae+reuZtb7eZRZaf+/7C10Js/te8+FhO7aYa3/VCb29Gf0t+AIFKSmR/R5a2zKpP6p13gOiwB4ifS9x/4Ddn2dQSLw+FJRERXEE/cc6Ss5EdMcCSENE9iBIPVx/Dhwm4yXo2xPKMXlTsvuBHnxL9MrUtX5+Zmzypq9+Zk6H1YXOrr3/6rc3jqeY/tB7vOL67f/xX0/nvlrUBp/BD2nwI6WBPwPB7cK1Ty8W7BcFmOf/z5k1SRL/oRd85LrLO2N/h7P/1oRZe9wpamUrnscyz1MsvhllrXrWmmh2Dc9335qHs6n2MvYkrJ58DqF7ayrw8S9+YmGRjvk3OEoXXfqeYyh2b2aU49oq6+F20hnzKQDcLV52I/jHwOOjkzNTuxtRxxnvgl/e1Ucjwy9FkDcB49FIfHvNj3+vwbsqHjkxmo9ZWbX9GA79+Lsb+CCOfFIlipY5iZcTuiFQqwmGKhBGCgLt/k+Il8JEUVdP6IBAutijApgWmgzU97vFkop1F32qhZbX7fWUPA56UhZaX9f7dqEF1An5eH78BdfVtqMRcXB7yASgJsAzIulYJq3HPTf2YaQDaF09tIUeeAu9rxP+DiLy5aHYxZsIy6cjuFVqqyvIe3SCx/zRVbaF4umEBvYgJKo831VY6T5DASxNkg7hq2m9cfVNf7WwtNu851iDqPU/83ZGXtoC/tsfhXS891gu+D11soz/UoD/bc/0vn9fjPrSgoCpSIzRwK+wwCkTTzz5O7ddtfgh/QXu8rDtS64krVXuXjFChURb4isOhwcGybuqHx/fdcM/BG/wp/NS0I/j5H8A8GBtbMf7npaqySVXulev+elNAO6niXhQAJ9Epm0M/jHBbM8k7h9fDMVKo+3S0rWnOsHXA8JZAjDW4In7GrJnLGNtorSywERfmNazoJxal/2XdYTQ9TlwFYfREEC8whk5HsoAqOR7rbsqEcC8zXRwx8qxwedM83q1bwtlwDkyTrMay19tc7IDIr7cjsLiJ6tg9JighZAySOgdvMRky5tmaIGqAfSDvXF+iXcffzf2WsyYR2TmC2Rb1cKfF5IWCjZVvMJjawoYNaqcZMxqYs1IlahfJA2qZ/tKxA9l2Y7ep9WkQRn51EdUXRNB/DxHpY0gMiACE4C8nwEaVlbQ8QlOZpKoui+CcrBG7R060L/pLE9HdcoLw+0M6dXXf6Jvlj/Uod5bF/5e6zQH8G4v/L8pe/yWaxcnEXeom3nWP3/B76UviRDe61n+tPmdr357IfL+QQFTI7OR5LQzKYJ3Ser/4Jq/OsyGSfuwR+mCX/6Nih+slqPUJVhxg07csACvEMJhRBxB5iVWdEJqIMt+luw/rv2kKUM/3Re+5ndbOm3zds9w8/U7r/6n3hRi3dnvqNT2ZPH+B/5yqn0TzbvVUdryW79VTRuITyetCasfpfPe/s4VJYjPA8JXAeDxHhp7Gjz5RAum9zI3xsS4k2YsMzd6LBSxLHD2zMGSsEwc9SG6KoKronbfRWk2UVVBFIPBmVJyFME1WJkbLWYXIWenw4sprx9s+dmY2CnX6/EXTB4FQBLUON3qeu316b/M2VE74Gxkea2jhK6ydv9nQHiawU+z+JqgV9vaGZ2tf7oX31zLh/RYHz06shlVYkqOclA+ntBt1AYehEhWv/spsy2xbh6yg3jSYf9YBE5n/tuvTtWiIJsVzSuLLvWzX8Wsec3hMkWKDV341ollbqDyQUDctmds7LPf/OzIfA6sh3XaNAsdWbummuxrpi1X95WBTOrf3+5zLrZ+04u5iha97de8o/UbAvDCFrf+qJjOm2/hgwLmhW+bWe3K8ftE4JvXfjL5zKL3YK4PalS2/Kc3uZL7OWGVEueSXsokNMYgKt+/2xPthqbfk7p0ykujOZU91jzcgvRcu3D2JY9XhtasON+h+2Xg7NNf2Pm5L3eD5pLnjy4Zb+xxp/edOnn77b/+rNwkC51DKx9UTtmIQOcT4LkC2VEpNKdTmd7egpqqd+/05OsCGYe677NMrtYbWqk2BDFJVEVxVXJRBQWrAlTSphKKJChqyiMxAqmxmRqeaVk3N9+yHNcOXSmc7aivtx4aGkWzr0kbjVRj3a7bxH7Pez1FdKgVkcKETlPV0ArXznwqgMpJbIH4FAiajNwAhhpL2hCQaW3eAGWZlUIWFc0v9C3O875Fespasqkniqg07KC0jiDZQEibVHhFGQZCPAZsLqOpxvPKsSWMZkhKUwlWpoKa1NykgnbM3+XDLgLTgHJTWpu55cYrlpl76eG+tJwUDw//LqAcXWvwx2/5v0v367d6uOuba7mf+p36K9hF71ROMLA8BojbmXkHI+2IMr+rFtd3K5hONVJesqrBBqZbv/TUCTk8Jo2OUVaTJZ/2AF+cfOLJfz1YFj0vYCq4LFs98joAfF06tv9Xn4G0GM/5H3v6+6r9y72kkwk9Of2DCOO3vGVsSXWw7+cI8NUC8Oczd9z6jXYYvunSwQFKkqFhntl+2+WL1gd8Ji+W7nXpk3bDyLEbMMIzUfCVHngjQ6OaQnMyleldLOnOFJtjakeho3+sIFHQc+ZxQZwXEA758yFay21cTdzC/qcDkYIa68WqfqROkaLscFABD3WMdAq+zp6V+vlAgVK6QT6zZ85iWsDLPc6VB6pdKh2DVBwkBpJMA24BSsWcxsw9Usc/MyFoAmeZ2Oy6yzRtNpa9qLtyqC3M+X09jeMvngQhnu1yoQSdDGVCdZ1ypciBWxJYDNFRDuMNILgUUf3ItYHjxxW8Bcz3R7RL7iCqJVSddFCaDrYlC7/ygYr2owgBtwnI9bWJJ773tMpQOnH3W7v7++Klv60+XMzy59d+8upvjo7eLaMH985aeKd7PnHRpbV1gtF5DmWzEB0PLKuBdIAF9HrSmruWqnYIyEOgx4f8CGS0E3Dy+9cejuCPNrB+t76FJLoUyf/BFy4vq2XOnOd7XsDUnXYYfcSzXHXtp0pXH/JR/xAvoClFVKm8GQlfnbH/q8eefOgWUzM5/W3VgamBKg4zT952+YHeOT/QYxql837795YmVDmFCF4EzC/OsLXJQ5YKNxoptsa1AZFxazcj1xBUVEKl4HWG2mg9i7rh5j/Ew59ECetcaPLlUNf/XH8ZB98/S691jl6FQUAEQfaFAAAgAElEQVRHDlWkJF7iMF7rJDqKMF6BAMsAqSLATQGYBFZhX6kB6uSYas6VGhEkNcS4lkDJut/Fa84eVt6jahMrOoKBWtad8R6+kUl64xc/9dGnUubDi77C9kdpy1vePlgd7H87IpwMAp/Y1fjeN28fe5jhqjc+4ymybfKSK11n3aN0wW/8/vIoSlYiykpBWg2AGwFxIwofAwhrnyq1jaVefumGT33oKZ71oR+rZnYry6d+AgluT/ft/5f5AsQ5AfOiix4ouY3rzxOkX9r/5JNvfQYbPc/1VT7v9n7qN8eXYlT9OQH8/9v7Fji7quru/1r7nPuaRyavSTIBQkJ4JTxFURQlvA2QRKADBrUIWlvbiq3SWtt+X0e/+mmrtiqtWtRqq4Ayn4IEkhIJRlEDSgCBhFcSICQzk5nM8859nXP2Wt/sMzMh78xNZvIg9/wI987M2efsvfY+/7P2evzXIqj8sGtL+4+PwSeC5mfq66rDtKmtq+5vWd100GuWjFxATXzxh2+dnEh7Z7Kat0Dl1MhEsxVhndWw12qhO0LUZxF1ikZbLcI+ODog8hxRkOOwGNK29hgvPvKuHIIz91VXfeculXv+Hofk3F4u4j8O3Yp589iwSRn4dQb+VFeTicnUA2YqE9fEQXIugB/IQ6UvBkh1fHymZOAXDPuBQaLAlHAZbdteats73Hfuy85/k9hZtO0IiejlUHVFX9uWZw702Y0z8uacd7zn8S0AJqvFV/Jrfr165bxfCFaCsbLJvUkO8GW84wgv+UjXOD9Zc5aIbI1QajN9+aKzZbbn8rIWa+wOIN14t5k/9eIqsVX1r3Ws33ggNG7vvqVwMZP5Q5Xo7/bkN9ktYDowAWf+DoTnHvi3xHcOwfNwUG7pzA51kybPM4Y+ooQXEOntjz381Y6t0cvpTCJlGo6f1bVu2S0jKRB1UPq795sMagGpdHqKxzQHwJsAPSWkaAoQjbcaJYSjXqul7kjDHkC6rdp+QZTV2MkRKZOxMljyRx3t54hr/xwGoz/gLgxtyR2JxaBCzCBrDRx7Umzp8F2aZbUhriH1xjHMeALXM3gywONA5DMRi8QmgnysQToiE6ECGy/PiiJrMvTYC1gTxaFE/qFuD4cy7RRGtkMi2a7nDJfNGPSRUiRKm4jsr0ul/O8eun1C3wECGc3/2EsJssdeSMYRgutGCeQry24fqIHV1ERoajGY16BjAZjzP1aaw8RfHCj3cjIUAYg2QPR5YrwAkc1C9FpJSy07AGlz84BZpskJab/B2/HeTk1O+q5AvvNq2/qVuwPf3QEmXfnR4kxi+ucBmti/X3L7yCo7HvCCPVQXcG+oCYtOZp/+DKLTWfG9p57+yW87tz4J1ZBqU6Zny9NfOuCwpkMzvCa+5CO31KRRNS1iaTBsTlDGqSRyimU71Sk6Lj3aEaBFCAuKsFc07I8Q9KlEvUJUAEUhVAI1HIgNXSDfcCqhqufCbwbZP9wX47KTt9Hd7RDGuQuf5O7o8YZ/t3tZ7SsMYPd/j7NjYsd+TFfvysgPAuJgEmRcR5HBPpidU8uVc0gRmWpPuQ7wxjOb8QwzDkCG4AqKcYqIHN9mBNYCnHcd1A9BzhBnAc4z+YERCphSITubsrPCumP74PudI7KGH/Nt1sehE3YK2I/3BdtxAygjioOvYR/NBcHqlbf/y4Apqfwt6fYyjx2PPHe65/EHQXy+qP4/Wyjc/eB3xnVhXpN3/CvwXsmskXn1c2XlGGiYbocbHnvMFN+YBmY9HoQ5AJ9G0NkKeExwHv8SQG0EWaugtZGlDZ6EL9/feX/bgQTQX/Vn4afBkunP5r+88nvjHVv7DscugOk6yzOOnUdM123oWPfRA1FxDw1I7N9d57+vs9arrb7KmSGIdN2WLS81v/DiTzZR2CNI1vR2P/kPvdvAYv9ucVi1is0uxx4zRT3vGFY5HsQNIJ0OpemC6BglqXdkk4qoJJCCC5gWDSIlcj8XBaWSKgJLYREkBVHKiwYlBRUAO8hDGYNFrKgOgutwJtPg77Zx8u5OroM5RoP5N05w8fdtXvbhAHHHoBzHMQ4yEZE1g1U72Kl6PozvsUsPBaWYOU1CGSaTAXOGrCuqx86RkAYoRUopV34ExC4ONeYQJTJFVnYphkVmzqsgRzD9BPSz+xsSAauzb2zTahyWbQv8fD1GdXfxqvuKwn/9725T76wAQznucZiBKopO8xLgsSDM/n4UNMrYbnjJ+EuqE17VFUS4kUFtavH1DZ0vPbXm7jkhzf2MP8Xr97f0bbWYmLBY/R/RaHvInfzmz38ppi9cVv1ktP32261ZnXHMNAJmMZuZTDpLwCcR9CQicqWlf1AMc587kEiAd/9Z4WKfzAeLCD+1u+zCXQDThQ0kqya8H6THLflG8u8Oq6d8rDvjshfqFp7AHn2YwOfkSl2PtG15csWmzb9rM6a/NK4m3f7KyqahHN2x7syhub6zWSWOPTVJiXSSTXI8G9MAlekc1yvSqW5hCrSWlNOx51IkY0kzJJpW1lRMcjFIrlEQssHggx2XnA3Ulbhgt2VFOEhVYh0lurPxORBwiq7jhnA8T4OR7NsKGcVpT67ymNGY9NYpszGxhucYhyUu9OVKaSAJdUH3jvaOEzHZhgt5iUPunWa8LafHueRdUnoIkNMQXc2bnAFnmUxORYsuUd05Y4ZIRG1cQikGbkf+EUeh7hDptLfZ2iUiKi4JtV146B4axz3f7nCxREzoUSsvqvDv+r2eF0eDRdwB5YLx5ycjHv82w+ZGIppmVe/M53P3Oi1r3rwm79nWfHpr51bAhDK7pi5a99LX3FZ5v7e/e5JX7JBNZv6MoH2qso4ELxY1357rzgW96LM72zCdNpyKZqSqUzVTXA2B3HOrNu4r+Hxvc3XZn2TrE5z6d4F+bmnHvc/srK3uApgu7KYmWX2Lkrbe/83Etw7NY3to7+oycKrSx7yFYW+MouiY/mz7b9u71/5886ant6RS/d0zsHXr6tW3H5I4zUMrmdfv7oA1Pf2MjK1JpFAyyUSCU6KUMkopIVvNxLVKqCZQ/M9CMkRIs5JjU3J1dJLq4jfj7a37dJyocfZLGqwNpDQhzjBy/pW4ZIVYZyJ08ZUxkLkQgLisBDkquYgcO5K6uEWEIAoG+SAlJMS12+OURsegFLN3DAKhy/OPaeYGCdnjjS45XS4GxjhxJr7/NhvEMPnT6+GjDtHizm37HNYqB0Fy+PexDWDonO31zl3bD+HwoKCHgFWBflXdxNCnSyTPBmsfaz0QUBieRTeH4azT0uP96nOJzWIFZgP0kMLe+cA3vvBKUxPw73e3Zzr61R/v1Up3X4ecM8MrjuXan39TdrJJJT9DjHNU1Wn/LlmiFyrPEPGTkdjnlWgz9eVae4J8GIPooP1yVLyXTiY1c97x3wL7rZc7NuxSd30XwLz4D/smZtKpvxeVhx64PfXA4fKAHop+OG07ka57BzPdUCz1zyoUtz7VlX3lZ5vbn93IWuiaMKm2/chxCh0KCZZ/z/kfzh/jGe9qIj1rMNlx52SiXXzE2yVwb3+/mAF/u4D5HbfKr3Np7mlrvLNRcfja+9pKb3+e+77zI7ZT+2EtcmemQEWOSFtJ8Zwq1kavbXx52bITR8EB2cRzGhu9aeljazKZ5DyArgXhWFV6SCO5O7fuNy9NntyhKzaurQq29qfIqCPOkz5jSk3XVBdGO+ZyTyvEbb9x7LHHMGM2MZ8CxZkEnAHVicSUVaVOqK5T4PcQegqINnZ2b+040KgAN2ELPhrcLpAluULr8p1jV3cBzAUf6ZsEpD4HpTuXfMv/RflL/o3XYsFHWjKQ8W+zEr4/iHJzCqW+F7Kltl+2ta19vqjZ9mQ639qxsqn/jTfygz+id/9J4XhP6RoiPmNbkaJtOevbgc32VHNxN7cHuJ09ysPttgervXldxrB9rDIP9XeHdHyJoFxQpRaGrHcgCep8ecntDaMR2jbAL3s3n4fzEnXjJzcY8IXEughwdl38IlL7o6U9962fg7Vm09reas/4mVKfqxAaaE7HlzBxWg4HIfPNbce5GEUFvy/IJjrtzjy4wyDqKZ0Fwtlk+CSFugSABhf1Aat/vb5n/YoD9btc9ZHgNmJ9ZGtn+5KdAXi3gMlI/aMV+8P7v51eefAfmcP3jnHmzfjZJ6NUvC6Q3AVhVLT5Ys+jvcXNT+VLm17OlUpt0xp62tY2N+1at/rwHdZh1bMrby7OMp65GtDTBzXMoSW6vSFwGCCHOTzjn7dbytvO3Q4UR9r+9f32jvRI5baPMdHlh+5EBLWNYyTe7pcg6giJWxl40ZK+OKQlOTv5gdsHXQRI/9meP31anbB3JsALmHAWiLrU6j1kw+V9G77Y/lQPqjkKaySypuQZiyAvXg2XptQH2XXLbhsFrXbfSyzezVVN+CIr5oLwOxV9wlL0Yr4UrCvl+kt72HrTlTf01GlVarIBTrKizyztW7LpQLzkrqeL/jj4d1Vd2dHdfv8+AdOhfIpTn1bFqvu+nfzJvod6NJ7RxPNv+uREK8XLrARXhWFhhkXUni/2PJ0N2l8Ki73rKeG1ZDaalrVrr6uAZxlLZOGHirNBuBpMc2PWoF20y91okjucs/3NdhfHMzbtHTAOUsMNZXnHxT5cnFUM+s6pFQkhT6K9QrqFBa+ooVekv7DlgTu/MpDfPSo2OJrTuMZvGD8tnbDpOvYwmyxfyMxniLpwKX1UIMuDwotPPv7iPS71qjYqmbSL0CEb2VIU2rpUIp8al8webOemU0Zm1J441/PkfFJ6u4JOGHp3FYiwQVVWq5pnQmvbJAy7jQTFV4O24oFqk7tZmrTgI6XvCrRZXnvtoZ3NILtomJc0do3L1Nb8KZMt3Pvt1FfKWOtH5annnPO4X3/KzBMDzs0PwuI8qE6LNGwpRtkX84XOtUXb9wqz3ZzNBi1bf/2hXYhmj0qh7WXQV32weKLxzTWqeqrGdeUGtcRBwvDXv28DpiHHiDuP2bm2hx02w18GPdLDTpzh77u0346qbgca0qHrD7ePgXH7Y+jvripVbDR1SfGESGIPvOZV0UnAJgVvImvbwlKuddkdtw2Yb0YFIONQoHlVb/GBulR1IlVLSnNZ6R1KfDqg4wh42mlLne1bHl3/2g9C9YKaQLgqDEUTBhLayBr2nBbZc+mJc7LNzdftWI54jBeoSx6pGl+V4EIQdaY3BcNkO1fe0DOeUlWnEOscMM4g4CxSnQxQtzI2kdAaJbsaFi+oCXqWdP9P94Fqlm6obtvvH3f8DxDhts3m96t2Jv/ZdUu+oCXDUyZdr4Iz7vvPxCdGZWswxkI/XC6/YEFLprcqOMuDLgwQvElUJlqJOkpBdl0u6nnF2twG9rklX7AtdS1r29aurWzdd567BR8snUKGrwbk5Lhu0hDX5WBdmkGNcfi7A9DB3w0eg4A6eF78t/iHndoM7XTjyu57aR/T7MbHjkFBg8AYQ6PEKiVx7HEHaUEFHQLqItIORFELMTZrR2/PkiUNjsjlwLfYcX+a+JxzrjI1s45LpqvTaebEFI9wCoCzQXizqiM4wUZR+4ut2VdWb3j1/n5Sm8mHQcYVBXD/whKiVEJCZvT4gr5DmQJ85R8VL/dBFwDUGql9BoG+pFGQzyW6Cyu/918Du7P4xULz39dZw6nq4wzoXMTVDuh4IpmuShEzHtUw+vxPvxvTQB6QnOffWDwhkTD/hEj+90+/+/nnd36x7QKYTmOaftaZ5zH0j0vF7EeX3THRpVhVjjIl4EKTOKI3RWFwoZKcb204SYEw0mJrLsyujzTXJlLYqJpoUQo2jW/tbj1UlHJlDm1MT7/yw6VTPWHnJT8pDiF6vfradnbKnbfVw1Gb22/BXTd3cvIMa4fDjHjbRVLG1OXDpMguajPOFndER3HgvPvnwi9LTmsEx2E+/SDqFNF2gLfYUtRZCPp7VjZ/fcBJM0ra4xBin3PO4970M2ekclEykURiIvt6LINOI2JXJmWKI7tU0pcK+a7H2rLPb2zdsiZHXi4T2UGAdLXnSIwVlQL72p0Mou7Nj/9D4XBIxLjq5vx5BO+9RDiLCY7ergekTwjhcY1onWjQEuSCQgtaC2ub57pQvnjy3U64qrrKkW7MAeuxhSC8Y/n397/e+PCiXvBHpetYaL5S8Df3fbt6y86LfRfAdCcsuil/LMF8iSx/5Z7/9leN6RNyFFzcvYQSJ008gWzwTib7ViE9Xax1rDV9EUpbC1Hh1Uj6Wi1HrRroZjXaXgiltXVp49bDYVEfzClacGNprjF8DVROcIHR21Vp2waAwzGOQ3FDQ4zsu4SHbxcbORhpPlS5bYg3cwhMXcmGQZ01pDiOMy4n7LbUeRJyZBldYO0mMa4CY08Q2D6g0LcsWJEbjS3gLrId2mKnw9oEEokkxK9Nenq8wjubIKcB3ECkNVFUbMkHfWv6ils2tObWtgWFbkEUp7naQZC0wjCh1aibwqgnlUj3bFr1iUNOWbinteS24JxInMzE5xGb8xyZjBIVSbVNgCcVukoF66gUdJe8fCF47bnSaMSi7tifJl5006f/Ccxbg2LfN3anLO4WMB16V1dV/QUBpXu+l/ynA1VzD+YDdwTci+Y1tlcRFc60XLrQwr7JSjBDYvLYsM8ibA+1uDWU0tZIgw4l2UJWWi2bNskH7ZO2uqD5Q0NufDBku+iDpdOZcLUCs1yu4+A9tw8Lin+K0S9mxxyqbe60QVZ2HGkup8fFvMe142NXTFz1TV3+cVGAEg9unwsEzlvWvKeajwvuqck6XkqPwr62Qm9+FVYFY0ZfBtC8eT836fQxxp9Wl3DaY1Vgkpz0p8HoCaI4wYBOVJbZkQ0zYVRoL0bZ1v6w49Xe3ObN/aV2R5pSctWYKLRiNbJCJkwoetSTziBtujqXfsyV3T2gLepoz/m8xvbqJJIJTRVKnWs3BatXv3mXBBCnYEybO6fe88zbADpPSU8l0Ey4samscbGXpPr7fgnXrvjvWkfDOCpjvOwD2fpMIvXtSKN/bv39msd217fdAma8LT/NbcvlLws2+tMHf3Bg9T9GW+hvrOs18bz33FgbpXAyOHwbVN+qGh4faVSr7LjYopxFuMVq0BUh6I0octvBNjBt9di095fyrSn2W4/p+G33ypVNjkj3iD4WfKAwk5jfTszTINZl5QxW6lFWlyCuLrfcbY5d+qXL4hEEDgzj1EvSAIRAIi2yZ4pqtWCgRTFSKES2REWJOBFFXl8pamlpCVevfrOT16g8bHsRehwDec6GWdzQ0OBLTSYZGuP71q/mBNd70AZlnUmKU0KJTg5RqAqjYmRtKV8QB5Cdm4qlvtZS2N8dUbEYU3moq6yhrlxJ1qp0eWK6Mh53/+H5rdmDFVi+v4vsPTeVFivRuwjyAkSfiiw2WMn3DHm8t225t7/+woUdNaauZpo1dC6D3gnQSQpxJW3+syfb8+2VzfWjEQNNi24OPkCKd+Sj0v9a/v2a9t2NcbeA6U50aFtlkp9VwXP3/vf/vW2U7TL7K++jop17YVUdP+V4TYVnqkZnCuR0VZkZaanKpQI6hnELyQpK3aFGPSHCHJhK5IpkGd7KljrJcIclr505117tTegYzVIfYzsJg5koM/oT8dpsb++VmpqsjlU9l1EcCzlbY2LWFK8ukfEl8DwGm2SVVxVFZpxn7CQxZlakpdOiqDBbYSdGGlZZKaVCW+ovar4jsoWWwOa2BFF+ayA5l0vtzAQxQLo64kDUJUrdKeN3ZqqqutY2H3kha++5MTgH0GvB9E5SzSjxFqg8LtDfsOKlMCx2DTp8Zu6Rs+HqP+ybCE2fGhnZmn3lN+tGY2seX5PT31CVH/VQywN7uv8eAdPFRZ2cPOGCgSDXW0pW/nzpnelXR3FxVS5VpgSGwpemFEzhLLXh6aEGJynL8QJpENgaRUxSWwTZUkSad4W8lKP+0LGvD9rkeg1zD5i6VdGtQJfxuJtD2Zoc53fU1GR7VjZdeMRrqGWKdaSnDzwnTQNb6AvYbaE9r8pkUx7Xhb5n08YLnMYopjrk/EmWghOFQrelPkbITlaN6hRSKxJ5kZZykeMhlaAz0qgrsoWtQZTriKjk4jPjPHcgynOEdlch0vjoLEZ+10nZaT2jAQojHeyonTfImr7bMCVn9qtJpU+HofOgdL4SZhKoR4EnyOovlfX3Djy7wmxxVfN3BsKeRtWRttMQm/jqP/zbD8LgQlsIP3XfD6ta9iSDPQKma/Ce93TXUU3mU45xptS58Qujk8s6atNx1F/IvdRm+tOr8mFYj2TpTCU5XSEnq5GpoYbjLGytknMuxTvaghAKQlqM697AhsquMA5H6iFwXGpMyCt7fQamT9VmFYkeMrYPRD2i3Osb7haV3pRf3ZdJhrmVTXvWAg7jyRla800DW+U58Xe3XS7MStMJxfHeMBC2poNkOhPUBBxVIyYCCaaCzWRSqVfViaoyCcAEVRoP2DpRrRq0qrpia+7lJQWRMBsh6gw16BApdVspFQS2qMR9EkknETpJSt2s6CIkepJe1HMkao27m2sXz5iadNyskpW8Ur67/fmXC7uzCbq2zq45LjFuJlgvZKKLQDRDFSUGfifQxwR4GmG4pSPq7huFXPFdunvlDcVZCY++Kqq3B1tfW743nNsrYLqg2EWJRXMM4XMk+u8/vvMLPxtbpD+MH7MjqmtNPP99H6tOa2Z8noL6kAsngPREyzKLSI6z0MmWbUYo8kOOEoPlx8hxBUUx2w9rKEwhk6tgCOuKMcCRqjmOSpfqZ4YKvrpMHI9crnOR4eWUKGccbySQY+dlZr+kxvFoUskDFZW8gI2jTvOLZKMgMlxgNSUjnmN6F0sqDF+MgVVRKxJYhR9ZW7TGlTbzAuMhxVQKPS+doEhCY21kEmDPublJrONJZ1FJimpSEKVIOanQpLWOEUlSpEjBSpqAtIKqoLYKgmpAq0RsDSlVgTQD66jiNMEK37GwO9fJYMk3B4uOzzO2m+ZEQ+coyobOYSdhllizNgza1NM2FemGSo+AuhFJr3LUayb5Petuu+KgpBseyiW7cHH/FC/hfQ7CM0R1FUEfCUlfcPbKwuan83vSmOfNezlVM6PhBCP0FmK9nIRmDlZhxzoV/fGWUvvS0QRNl5JZjQmfcUWZg6jw+QfurOvem9z2DpgAXCT+1GT9NaxotJF+8t4fpdYfyomo3HtUJECXfaAtU23HTYrETAhTxRlWg+OUZaqwTrOsk5gwMSIZD9Yay5oSFrZGyTFSxhXJiWMu87hQouN2HAJURxgZl4F12YCOMo1M/J/DM3Vw5miFXbEwF10eF+J1keWO8ZcdFrP7XcxPEVcMd5XF3f/tIFyJA1Ib82fCxlHqLhMoPsha5w9xtYqGoibjJi463aUnxowXjmjTnerqUMYBS46Y1/0Y07K7opSI1NUgVy2pI0wWKYnaIhGyEO1SRbsgaBeN2izsFtKwj5R7I6eFczLrcal37dcvHA0HxKhM8qG8iNv9nOSfeDoZeReTuRSQaarYAuVVaqMVpciui1L92eXFXxb3Fp51xQ2FGSniN6mhC1S1pST93xyt2PC4j6kTP0CkjrvgE/f89xfW7Ush3CdgbtuaV2VuJdD4UIr/sOSu2q2HcjIq9x5zCcQhL6XJs/0kkqbGS6UoStSxLxOEZYL1MUVYJgMyWQxPUJY6YaoWo47LMiOEFDzjE2lCjPquBLcyPBg28SfDOKpgV0TIFRyI65e7+sAOio3Dy0GOSRVxOqy6z/h7XHjXDhbDdHDnfCFx0JA437HDS4ljKq07Q0MWiVQpINESREpQzZNSv8RB546g1vaq2q2RaIeYoEPUdgmkLyxIluv8vvHUnWt48zvyzdcNhzeNudyPuBs40KnvaJe92VidFlcVjTubmC8H09sIWg/gBbH6KwU/Khq8qv192SWpX5X2Ap5xtMGoxb423m2u9hacT573aai9rdC5a9747iZjRIDpQt2uuSY/nVPmcwJsLHT3f3HZskoG0BG3ug9Khwe93M4eSOSbUjLhO28xgYz7dFXJ4+9MHIVg3weF7tMbzNGOMdL980Cey1FJxZmObJ1eqn5YCks2E1dqU+tSV6x1TZwKqpZ9G5n+MFIN7fpUd7R9ZshBGfpRdhMHlqckZrpsIxtZ3djX1t61cuVMZ27YY6jW1Vf3TUTKP5PYXOFSOQlaq8ALA2GpK0XwOBWKr3R3d+ZWrhxD+3jj3Waht2iux/i/CvpprqPrzuXLp46obtdIAXNgKTTxosZPn+L7aBLVx7qivv8Ypfino2yZVYZbkcAbQwLO0z3Or/4sAW8T6LqBHO8HokB/G/bn2pdV7zsT6orG/qmZhHe2Kr8bhLfGtkqVpxW0NBvmVjzUPGGAxWm0jya++vpPn8wG/wjCE/mu/tvKUf7KAEzA0bdPmHLu2UTe/1bS5YWe3H+Vc7PRHnrlehUJVCQw5hKIKeP2sO2myxt7x1d7qXeB9CoovRlAmwK/ILUP563d0IOe/lXNx+6T3/Oqxvx03zfzWHElXP0o1Y/9+K7PP7cvm2JZo3eaJRbO9j36LAgbpVD6wj331HaWc42yANNd2IHmxIlvPYd987cKPFbIFr7xwAN79yyV06HKuRUJVCRw+EjAOX2n0eR3gKRfA7th48YXuncXHtTYuCYR8ewTiLGAgIsImOJiKlWxXFQfl0K2va/v2cK+4kljVvXqqbXtG17o2VMY0v5IJ3bw4MQ5xuj/AuG5/qj4Lw82j3NplWUdZQOmu3qjC0jFe05X0k8B+mpQtF9LJh/YcrC59MoaaeXkigQqEihbAgsW9E1KZVKfBeNcEVmlip8ajZ7t72/t3lO8YmNjdrKFfx4bukZBc8kVMSNdAbW/CPKyvq+vo3dfts6yO7qXBo2Nr6XVTHqrKn1SiR4vZQtf218lb78Ac7BvTdzY+KkZSvS3DEqo4p/6+44LJbIAABnCSURBVDeurwS3j+ZUV65VkcCYSmB7iqc93qixsXeCReoCZiwmpVkKXUOqPy6V7ONh2NK5bNmJrqrALo4ep1iJLDqFfJ2vylfyoIPnWRIsDY085tsNLc3Nc8e0IsH8+Z211eNqFongJkB+nO3p+d5IHTy7E8gBAObg5a6+OltvjPcXRHSqKr4RBNlV9903ucIsPqbrvHLxigQOXAJOeyQyiWQy19fcXO+8xHslImlsbK8Wqr2QhK4jxukKPKPAvazyu46Otva9aY0OdIHURUq4ihRvAvCySPR/mB94cix2prG/ZcK5k9nzbiLQhQL9Vmd7y30H6n0/YMB003bZZW1VdTUTblDoHwC6NJLwru7ux7v2Za848CmvXKEigYoE9lcCjY2lGwBcq6qPqOKBIOjaPBJ2ePe8jxs37q1E/H4AZ6piA0D3AfZXvb297cuXT3XZX7sFX5fJM3Hi9FOJ5FxV+gXzT18abcB0lQ8SiXFziLw/h8vo0uiLnZ2/fWo08GhUANNNmCOHmHXcnDcTm79QaFZgvxkEvWuXLBmVMqH7uyYq7SoSqEhgDxJobCzMJOXrlOgaVelh5R9FalcUCpvaRmJai5/5WXPeDHjXA3o+FO0K/akqHs5me1qWL//mAGHxWJJm7DgwZwLI5y+rTaczC4hwI6k+Vgyif7vvvpieclRo/EYNMIe6Ttdck5tqlG8h4rOhdJcWS0s3tI+ux6vyBFQkUJHA7iXgvMzVmFrba3P5vWl627e+9trSGYboJqhe6DJwLHBXGEa/3bz5uY6Reaqb+Npr/+pNDLOYiS5U1XYi3CdFvR/3L9ncjLEvrOa03pqa6hMMJT6skFNAdHtHR8v9B7oF31nKow2Y8fXdpFUlj72AmT5K0E6N5LvZsPDMsmWjWC2v8sRUJFCRwC4SuP6a/NsA/rBAV1nog11dj7WNZCvqbH6T6976JmL+IzC9WUVXQ/GjCOHvR2pea8TdBgsXzqYELVbVC1j4u33F7L1jGasdV3n0GyYmfbOIwdeq4hmN5N+b7/vChrHQbscEMIe1zYULc9NS5H2QmeZZ6K8i6A+97r6W5pWjwpBceVwqEnjDS8CBUMe8ybRy5YWOV3Kf28rGq/LTyTM3EeMqgH4vGn2vZHPP3nffZEcKss/2zsY4qW7au5jwRyCaBdFfikozFcPnmx/8156RglDjVYXjEAb95bQpZzJjc8CkE2uQSZ5LoBtByCjwvY6ulmWjrVVu36+xBMz4PnGge+25Z3ns30ykM8XqT6NQ7u8qbNk6lgMrR/iVcysSOFwlcO1VxRM9kol5ROuWLImzUvYJeo77ofHqwrsYfEucNSPSXILe+9prazaPbIsNuLIQCVN7qSF8ECDHAbqCQHdLd8/65pWjXhlzxOJ3L5D++RdXVSXSpxnjvZ8UcwTy0xDhHffcc+BVI/fVkTEHzOEOuDfX5HEN8xn6vrjan7XNVuQXHfmOngpw7muayv57zDY0Uq2k7KtXGhyABAbrio+0ntD1CwvvA9GHBwLHl4YlvdssXbJppDbBhQv7p6TI/xABf0CENRHkO9RfeLL5oa8NhP2NzBnjQo/SlPgDNtwoIo5I6idhwf74Jw9WtY0QvA9AVq83HQbKjF99vM+4RqDzCPykaPCf+OnStSOVyYF25qAB5vA2vfHy3vGUTCxg0DUg6hdBM1P0W9vR1d286tjDtgzogQr64LVv4oULb52cVjpOsrnnKuaPgyf5kdypcX52MvneqSq6vvn+fx7w3u4duBrntVdzXd0NpLhZSZ6IhL7J69Y937x2pAHfTXzdwr92pWs/TorjVPXHAtyDdes3jvwawHsX5Y8FzA1KOEci+yXcf//qgwFSw0BZnaiewcBCEM1T1dcY8t2XNq15dKQa80jmZiTnHGzAHO4TXX1ZdrKf8BYx8dWq6HNetXwxWqmp3p6RxIKNZHBH4zkLL801pFPehwfk+Sar8pfNS9IvlyEHajzvtZQ7v3nVvgkTyrjuG/DUJp4378bE5Pa8lAM81y/IvYXI/5xCn0Sot/9o2RcG5mff2l7jwuKlBvw3gPRD9GtdQe+jI/WCO+FffXHfxERV4v1EdIMqXlWr3wlyhcfuXfnVvpHcf3gCr7yyZ3zm5c25csa8P5Mf2yjHz8pwqvoEkF0EoneC6FWF3pENXntkJGFP+3PffbU5VIC5DTgXX9xfLxnvWla6XAlFEloahfaXpVz/1j5/38n6+xrg0fR3p42YmrqrCfioqP3Wlv5Hvz8SD+mwjBov753AydTFKlosUNeK8mNom1yZ8IGjydnZRmJrO9TTE5sustkaKldTcQCUTCXeIUC+Pdf6q5GalZxNv77m7YsYdCsgq0LFN/j++zaMRFtrnF+awz5cKvIxqvhOqVR68J7lXx4g89434A4L2gE2k/fnqnSSSxW0hHs7+la9Us46GctJc15vz5tSkybvZChdYcicr9CNInpXe3/rwyOV81j18VAD5g4aZyLhvZuVr1JoZsBftFKJH+7X/MsiHflD9UYZK8GP9nXdG/mk+rnvVEN/S6qPRi9v+GyZWgAtvqJ4uRr8CQke6Qx7vllmzi01XlI4lpNcJbne18o1BTggSSROTRqTjcqZ68Y5axKl8fXJsLYnKKedk38cs8gNpzGDZWvXs+WYhK6+LFufTCY+DtVTRfU2fWDJL0cCesPz/t4ri1cS81+r439U+ro88NMXR9Lebek99j6uzFdA8ZNA9U7zwH2vjqTtthfjJV3jKJW+jtl8EKLrVfH5Hz3w+RfKAd7RXb9N3Hjeh5K2dkJdwjNvAdEikM4A8UtW7B39dtPvyp3b0e3f61c7XABzW49cAOqkRN0FEFyjwHRifhGRLBVrn8nn89nkr3+eL2dxjJXgDq/rNnHjFbfO9dn/K3VFu4Lokz/82Z5Lhe6u742XdI3zkulPAHzCQGnYr/xwadXj5Yxx4Ts6aqrG136UlKaC5Bt33p96qZz2iy8rnSKenK+qz929LPObkWqo17879xaweadCH797afqX5dzTETOMo+pbiDFLbXTbD5dVPVlO+8YrSqcbwicBLVmLf2n+n9QA6Iz8WHxF8VIQ/h5E6yMJ/7Uj/7vnRqLpOQfqtKqp1xObPxKVZ6xE/9Gvrc+VCyrvvSL3ZiXzphB46CcPpJzp5qDuCtzLLj9zelXGpurZ47cT9BKAGoj055EN7+vI/+7Zkchj5BI/8DMPO8AcHpLTmE6sP+M0hs4H6QXOzgnCKonC5ULS0s/tuT2xpBy4WI6oK8Sane/zx0B6jrX21h89WPVEmSOgxfMLF4L4jxX667Z86+3lbn0aLy/O9k0MHlvz+eKX7105fiBmb+THe99duJgMfxgqK+5amv7OSB/e915eeCcMfwTQR+3S+75Z7svUgZaCPgToI7362rfLBB264criZaL4cyL6XdTV/sVytFQnncXvLpw/UIrzM0S0JdLwn8sBieuuKLzLEH1aXd054Ks9mvvNsmUTHfHNQQW+kc8y4Jw4vZe9KzXRVlfblHe6B2eK07dAqUugD4WRvecnD35xy6HTdvc+msMWMF/vdhNfc/lfTUkafjcpXwLoFBA/LaKPAPJkL+W72tvjmsfR4bxQyllU5Zz7nnnddelU+now3cSQr92xNH1nOe3duU7TGo/qjyswm2z0tTuXV60u9xqL5xcuIvCHBLLih8vS/7k/7cF8s4o8/MNl6e+OdC5vuLg4S5O4Baq9kQRfbX6wPFJYZ4tMJf1PEniaWnzprgeTa8rp+4JzWjI19RNuBnDFQHWhpvDB8r3HN1yeP1cNfwagbpHoX9d1PPfUSG2qTjOHh78j6EwBfT3f27fkvl8fXmxhcQbQeeclosy4TMIzM8iYc1398bi+O2E9CZYUg+A396yodYS+hy3Yu3VxBADm68s31jonnHomed4VBH2bKiKAfgPIr6JAXy6Vcn1Hk6PI2eDq5NgLmflTLrA43Ljun8u0W8bCdVoOEf+5qq6Oejv+rVwtya2jxe8ufgSg863It+5eXt7WOO7D/MJFUHahM2UBZmzCMeM/AdAxiORLd/6sPFOA6/sNl5cWgvFBEVn60tY13xspWA2vzGsuz01LG+8vrWo1R/jXO3+WGijXWt6Df8NlwTlq5LNQlCzJl7PY/PhItd3F8/omIZ38U1XN2mJ0V/PKahcjeYiPQbukP6EmpZFpAJkziHieAjOJkIfiIZXw5z3ctm6k4zzEA4pvf0QB5nYCo8ZLump9yrwDjPkgzIFSB4AnRe0jAenLppTLor0j2B8AORwmZt99aOL3zv+rM1nM3wPUG6J4a7nalbuHewmdMvn0W0VxOsjedtf/ZFbt+947nuG8654mbmWmag30y3c+nH613GssvqxwETHfLGUCZgy2lxduAvFFEPnuXcvTD5d77/demmtgY24FUAWL/QFdNF7af5Zv/K87Yl0pBf9118ryS1Evvjw7l8j/LIGSAvnCix1rHhspeLt5dOM+lDutwTTOt/gN0fg00qlJauTNRPwugE+CSkREj1qRh7q094kyHYrlTumYnX+kAuY2gcSkAYm3HesDF4H4fKgex6B2S/oYRJ8sFeVFkyzl0dJaaF7bPLBtH3kIxphJfRQu7Jw0PmeuZ8ZVNoz+/q4V1U/vz2XfNy9/jKbMF1TwXC7X97X92c4tvrj/DPK9P1NgXaf0fH1/HoZtgOm25MtHviV3Y37vpYWLmflGhfz8rgfjtmUfiy8vXUvQxVC9587l/3TXfqwTuuHy4i0g/AGUvhT2tS/fD00d119cPMl49DdQ+XU+KP64XFtw2QM/wAbu+avJnpyorqnORCZZnzD2dGU+15EEKyOExXNCWE6l4LG7Vo44tfMAezV2zY94wNxeNM7r5k8/YQZUzyPiC4l0qhKVIHjCeVGtYF2AoNPL9+axalVQroNg7Kah/CvHLwp+6xTfcGY/tqHxDZ1WcnLdaReQRzeryjfv3I+tdKzhXVZcwErXgez9dyzP/Kj80bhrFC4y4JsV9PAdyxMjtmG6e73/wuLJ4uMTrLSpt6vzy0tWl8/BesNFhRls6FY1rFaiL/5weea1cscx/62dtRPrar6gkOlRZP9RVjzwxP6sMWeXttlCsGR1g8t8O8xsek3cOKfR66+ZmkonUlWJNB3nEZ0uwm8H6/GuhDwgz6rgZ2EYPYGVSzv2Rwblyv5gnf+GAszthRZnClTNPcZPsisWf368bRcUQdik0MdE5fc20tZEoZTv6uwqLVt3R7gfWsXBmqcxuY9zeFRx4v0CSlFf/zfueGziQNZHeYcLcTnGn/anSjRXEX19fxxGg6A7BJgiD9/xUHkaphtH2vM/DqHakPSrzcvLym6KB+y2k/6lC25gokUidOedD33+3v1ZDzF4e/R/CPqwFoo/uvNXR35F1WEtMpWoSnE6Od4zOGGgzPbbGXymAvUgzarSKrX6G9jgybtW/suA8+aNsZPb+Wl4wwLmTgOlxndmJyWT/rkKfRuU5hJjIkAvq+J5qD4bAS9KEHaXpFhMdreXsHaNfSO9GXcHg7ETrWbudAON7liZ2VQeVA6e3Tivf2rS8/4aiiCH4Iv3rCivzvPwPd93aeFiEN8MkRXlAqZ7oKeb8/7Y8TiK2NvvWlG+Hdb1w22HPcLHibWjPyh+ZX+3w43zirNhw148sqzrCFxDdM45j3sNaPBr0plkmEhkDDDDMzRHQac7xYOUalxNHpA+EUF+2YW+Z/fHDLM/6+1QtzlaAHN7OdMHzmjLBHVVxyV87+0KeosCx5Az+IM2EekTInhehF72gqBLbFAMsm3FowFA92cxNr4zOznhm/OVqCds3fDr/XWy3XBR4V1M9AGF/uKOFek7yt2Kvu/i4lVMuFKB+3/wUOqB/RnL/NkvJSce1zBXQF62t+fZ/dna7899D20blxN/ATs7pNMgje9XUYIc0cVJ5HYNijNBSJGiVxXPKdEjEHnqhd41LSN1SB3a8Y3u3Y9GwNxBgnGM2DvnT0j65sShshpvJdYGUQ1JuQuKZ0X1GaLotSigDitRsRjkitmaF4IKfdroLUZnt6smM6Wk3Ls/YTGN5/VO8JKpeveS+/5vatpHr2dvtCs18fzZ7/MnTJyQDBKJJCf88b6LbQadqoSzCZhFQCZe/6DnAP0NxD5b0vwAD+a+K0u+0aR1tG7Jy5jHJl487xMTiP05LHQqCGcAOoeYPFW0EbDJvWlB8qyANhf6w/4MheHmdF8AvBIdbqlcZQy8cuobTAKxMjBnrkl5E31bm0qI+mljdCIZ/ySCnKHEJxJ0qoImEGkbEZ6JRJ+WSJ71e7Ivfv/pqa70buXYTgJHvYa579XgAnD/si7tezOEzblEmAtgOhT15MImBOsFtI5hX1HCKwioFRoV3Vb+dRD9hbxRjeD7ll/ljIMgAWrE3dw/+2xvUqbGK1alk0nPSyrpJDLecSDMJOAEKE4ipgYRyQPUSsB6JXkKyk+UtG9zRYPc90xVAHPfMtpFK2+c116VRO1UBo6H4myFngaieqgmABIwuS3hCyr2JVHabMAdUSnsitiGJQ7C7ZxKA0B6uIWNlC+QSouDJoGB57VpwClzldnmlCHjsfVrjZGJhnWKkpnFhJMVONGxfjEoUkVJSV8mpSdV5GmytKnYvaFtf+3NB220h+GNKoA5OpNCDkS9MD3D9/2ZEJygbhvv3urEGYL2K9APQrtA1gFmnYmi16xnekuI+kOERR9hhFLJbgi2RKtX3z9Q8OqNGZYxOuJ+w19lR43RT3hp43nq+1Xwo1qCP1VVZyrTiaSxzbEOoGoFEoC6l/VzKnie2e1+8EqpvTx29Te8dA9ggBXAPADh7aNpzF7u06R6Y+gUAM4eOoOJ3GKfpkAtAT0g2gzVNpC0ikUrEbVEUbhF2fRZltBXG4VdQdiRz0VpL9LqdU9GzVg7EMxcAdSxm7oxv3IMiBvOmcX1vePYbaMl7Rujvl/IsJ8Sk4ZoPRnTINCppDqdiKcppIHADa53qrKVmVutagtBX1Lg+VLevoTcq10VzXHs5q8CmGMn291e2WUjpauPrYlIJ3h+cgYIp4Awm5QalLQKQBqgDFRLBG1RF+oEtCjpFlXqhEqPDblLEfVFCRUHqP0aRkkpRv0dRXGA6m7cjOsq2/2DPLdDt4u3zY2YQx2YTDj+eG9ypsoLE76XNsaDx0bJpD3PjmNjJojoBGae4l6iRDydVI9R0CQiCFTyIMqpUi8gjq/yJbV4EQabrZR6wl8t7zsC4zwPzayM0l0rgDlKgjzwyzTxDef/xTiENMkz/iQwphKxs5EeD+A4QCeDCKoaERApKABpHxO1WattZNAKK+1Q6hGWvIQ2L0m/6Ee2RJHaKCESFkRSYRC91lewkzN5GYotrQDryCYvBsJ5uIAnz6nnYnq8lyp4nKgxHLDneQGxpkzCN5xEFFUJOG3YjFOSSaQ8RUmnGHCDkNaTalpBHhF5cITPkAIRt6jqq1C8ImRfVYt29nhrcWu2o3ltJZxnZFM09mdVAHPsZTwqd3BB1ZMnT58EaD3YTGV1vKA0WYB6ih1OMhXEEwmaHtRKtJ8IBVXk3M+k2qvQrY5zkUg6bcTdBOkOEfUR+QUht/2XKCqpOM21qiASJkWCrJWUJ1qsCqWjNVJnFmgf1+tAFrNWb4g/h7TZ4XEeZrnPg4xcbgvsPt022H26rbD7rJ6c4mJgqC5k6q0xnCwa9tPMXsCsHhktsYmYvKTPCUGYVvLGE1EdsU6A0ESoTmSiiQKqJdJaKDIgqoJqNQBPEb/U2gHqENU2VrQJabsodahEbYGnbUdoRtCorOsj7SIVwDzSZmzX/sapbLMKxyXT1amkwq8lT6eqYBoxTyVyQcmoh6KaiDIKpIk0o+A0iaaV4QGUBdTlkfdD3SdlVdFPpHlVcs6qHKwWyWhBVUuqpmiMlqBajKwGxkhJQz+MPC15qpEEGgOp9QY/3REN/S7tv/67gnFc4YA/9LnD0HoBjBv8TWhp2zpNb/e9ENJg0bVqwGl47quJBj85QaxMhpV8kTBhmJKinBCmJBMlYZEikiSBMsqUjuUiWi2EKgJVQ7WK2IEgaqBaIxp/T0ARwhXrU+QBLQKUV6I8SHtJtEWAVgi1Kdu2MKAt1gtzLtGhBS3h0ZgZc+Q/XjuOoAKYb7QZ3fN4qHHOGt8306uk1k97YjIsUYbBGfW0Xi2PZ6aJQlrHSs7rWqdQB1k15DQlUiJnE3CHKrmqCAyGQNxvB4FLmUCipCyABkIuW4oCAO5fSEyRijMnyEAUABw/oo2jqlStgp2pYffaKcOHqnH0raowgHoKGAN2Gpz77rggB/+RJog4QQojKgbErtPOHhj3eLD74gaj7mcVGQR1ZzMkKkKQJaIex+Au0G5GXDqhW0m6SKkbVnIRbMFjP19AWOjvaM8tW3eiG9/hplkfPSv7II60ApgHUdhH6q2co6oq0ZCB76dgTCpUzniI0syUBFHKiiSNegllm3A/kyApRElSJB2ADYOZxMok+WpgVMQjsOfAVqEEsK8qPAiaDtgEYMZA2Qf3VyVQqKruU5QRkSAihVWjLnkgJOLAwg5/L8XaH7uyzRqIaGDYFJ12LKIl9qQAlSLUL8LaYsil/ObHns6vxIWxw6xyVCSwJwlUALOyNg61BNwadGFSQzXNd9edbXXOh8491F2u3P9olUAFMI/Wma+MuyKBigTKlkAFMMsWWaVBRQIVCRytEqgA5tE685VxVyRQkUDZEqgAZtkiqzSoSKAigaNVAhXAPFpnvjLuigQqEihbAhXALFtklQYVCVQkcLRK4P8Dx5SDJIRoCysAAAAASUVORK5CYII=",Cg="data:image/png;base64,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",ev=he(37426),tv=he(19150),Bg=he(55303),ag=he(92691),nv=he(99755),Dg=he(46016),rv="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAYAAABxlTA0AAAAAXNSR0IArs4c6QAAFR5JREFUeF7dXWtsHNd1PrO7s49ZLpcrLkmtxNeSej/s1pAdo4mRsrVjR4mbtIVS1HWNwEllw6mNtIXR9h+BokgNB4nhBEokOIoauYYjIzb8ku3EqRDH8Y/EDZpasinJevH9WGq55L5nd29x7p27M7M7szP7otguIYggZ+7c+8253/nOuedeCmDzc5S8L+6Xw/tEAPitGDv7kHBAtnlr05cdIb8MDUGwf0AOuvGh82Iifw0S048Id8SbbrzNDQh22z+Z/c3Omz1bO/D63+Vmkn/tvfW83Xubue5p8k7PbbBlMA0AMrB3KoFIv36dPDf5WODgUjPtt/teWwA/sfRy4Nbwjh1pOkARJFmE3yTOXfjHni+stbODR8lRMSLfvr8oFoQYpCGBz5cBgqIIQZCgA7ylX8PiB+PCWKGd/WimbVsAP5P71T6X4PQkAO2IDa6QK+W+Grj1bDMPt7r3GfLeNh84gpOQgDkZn84sOAgihCEIg2IYVnKria95xz62autG/d4S4CfX3urt8QQHcJBoRSJaEEgwKoZhNpedejzwycV2dP5J8pZ/ixzcNSkm4JIcgxgkmAVrAB6FMAxCGGavxyYe33x3qh39aLbNmgCPk3HHKHx2/7S84qIAy2jBQK0HB9cn+guXxFc+GBfGS812pPL+4+SdPWtQ8E3Ic8BermrBEkgQBomCuwvC4CFS5mHP7R+2ug+taK8mwN/M/HxIcrrDExCDSRktKM04EAEWGcglRzH2t75PXmtFZ3gb3yRnwmHwDSG4l/DZ1HrTIMvMgtHB4SwapP1AkCNwNbt0bbzz3lgr+9GKtgwBRssNwx0Dkix1X4Fl4ZKcgDkcpDLA8uAgDP1iN0k7issx7ytTrbBkQohwHN69aVFOuyZAY70y1xAMYFQSZSsWw9ALXYUHxdv+RxAE0gpgWtVGFcBPJd/uG3J3R9JiyTkpxyj/TUKa0gN1MjJajzI4ETmQWZGfOIsXU9fnvt53+0IznXuK/GzQDd6eS1rrpeDqZTeCjABHlOePQgQyhdziP0ifnmrm+a2+twzwE+TlwHYYHvKD24MeGy0WaYFzL4KbltF61CmKXMwGGIQI/gMJVnPp/HJRuPqVnl11S7hxcso9KA/sm4ZlgdISxNQXWzFybsVsNoVhlxiGIdhUyorCugZBVi9EwAjNC8XoAHQG0EtzcOcgTb9HWmD8R+mXcaCMUxS/FCui4CLIEv2Hg54pZtYSgZErDwmC7Yjvu9m3dxQ9jgB3bPT51HaNmkCImaLBZ+NM2iVGwFMqrT7s/fRFq4Gv1++Fn5Jzv+cCh5NrTQQ2JjNJhuCi5WrBRYrgVkyBFplHZwOVICxKMEgtWoJCvlQcC/X/t53B4Azqk/t2oFND7sUZVKYlkwZYPMe5mDndUTECC4nptgdBdsaE1wgvkt/evAp5F/ItDmpOZhETgotfSAvlj4zQKn6c0gX7Qkvm0okBzED2EUfh3tDI7+x05nu5M/tSAvEwx4Z9SUNa5qFFZQu8H5yu9A6vk3RkD3tuO2fnue2+hlLEVG5qcLUod1FaUAZGY38TcHHGMjtmdKHyoUgtGC3ZL/hWegdg0k5S6EnyVm8PBAc+UBwbUyyKU61CQAWXMwe+YMrFinREqljKxaYeD9zdliConpdSdnKHyavS/NriwJoz10GpQUGXYlxhudyKOdBahxNyOJOSt2fq2JYDLCqx+KAkHJLvumkeks6yLKPgWlsvB1gr21DRIFX0i11tC4KsxqT9fZVM+yL5YddKPNufKRKPGf9SLVFBEUGQcsE0zDx30+frSiF+O/PGsMfZ0Y3gIv8i9yP3mjk2la7UYbA5pDg8xYoR6FKx9UFQPeBSDja6AcX+51In+uLpYiRXyDuoKZbpQgUXp2aAeEpul2/u9eGDC/WK/KfJaU9IDu3FYIbJMnRsZrqhmhq0fddacYRGd2GIQieJS4vnHhMO5uoFplXX1wyV7146GUnJxS06S1Yslzu2kKs0++Lwn8810qEj2f/cKTugA8Gl1msqy2qDq7hdasXobKlsE4MUZLEoJB/p/NS65K6NMKgJMFryny38eO9SKetBNUGnreLU0Kn0gpR7fvQz5+q1XOzIv5GfBTfLgW2cGniuo5p5NeDqZpLefhnILBmvzVMgH8/nrn/8T5vuSjRiBM3eY5muvG/ltVAinR5RHZ+SB6BqIXj5e0ONLdsczf1i/5pQdJdlmaIa9NxrZbl68Lk+r8xTdLm8ua962pu7NnsRlgDjjffPvLxzscDUBctkiRByBJPPjvxRQ1PvX1NvRnpF/xZODSxiq9QN9i2XD47eIStWzAxAybaFIUWKM1/ruG2+WYus935bAB+efVVKELIrnikKOIiQq5NI7uCEXSmm7dQhcsp5EIb3z8txJsuUqJHpBq3wtm+9eCWqSk0YRA2Bhu5KnmIz6Sie9l/84AXhS8V6QWrmelsA4wMenjsznMnnu3EYvpKw/P3o2NVGHvwd8ouoU3Zs4tzLIkfOvOVsh9p0VRqiwrKVK/UgM+GGMw2TUCxPEYaiQ7j+qO8TVxrpd6P32AZ4nJxxJRfcuyAP0DGQn2hkofFb5JSvB0Z2X5DnBZpIp9bLFoK02V46mJopomrrpgArmT4OhjYZhQBHoZssXU999PcDf5BpFLB677MNcL0NG11/lLy3Kytn/dWyrOJqQ3CrLbfSaiufya2YLnFhACKGwVt0pR7qPDDRivHYaWPdAP4GeS0UkcMj1bKMm2tjTk3LvSoLq0Pnsq3s8MQwpmEv/3NXY+rHDqjaa9YF4G+QX4Z6wT24KK+42PoeC4kNA+IWWa+qLDTLS0oY3evyF3KF1OQj6wByWwH+FnnPFwZhOAB+iS4/YcSmgMtkWWPUwDlayedZGBUWymCxirISjckgxfHlSoX07Mra1XZyclsAPkVOOZMQHdoqd4QSYpo6M7oEhXleRTVUWa9Ny2VJpmqHZowyz5uo2pgulCoA4/+oNOac6bjombj2pTZIuJYDfJS8ExmB7s0lcDjU5ScGsCG4zPWbqIZqXrYNLn1h+sQ85WNRVFZeNMtcIIEDXKXLEJt/yH+gobyK2TRqGcDfjr/UNSANDm5ySyJfdqKgYvpRWfJneheXoTQfUzlWHQZbOTTdIMs5bPZTHkZzZcEpA4MRunirUMgayciX5bnJvwuNrdTr0IyubxpgTDmGoSu6GUJ+BBCtlK6nKaVWfF2NrkpXZnlt0kJlpGakFtTBMVow+vBVGJYJVHMqSBt8JSYsBjEHB1PFbCoWcFx5TNjeVKqzYYBxJWJrdmxoxLsllIGMwBcpGbhotbhoypUCCyMMx20jUrPSu7Us10gbUx4XVZCRh7lFq0BL0Akucl5OxGeCL11rtKimIYCfIm/37YFIhIDDyYBVqUALLLdYBm/9Orc+taAQgV3K0dR4UNpQSmL11MEsWyCl4jVIzv1Nx/66i2rqAvgJ8m4gmvcOh91+NwLJHJfGYnVWq7VYOwAbR2q6lZRapFjBudWXKu1rnGplcojShshWqBFwWjmE3EzrPkRYbqCoxhbAWHEThaFhVpzCVp61Vos/w4wCLpSytE11oRO3RlM5ZaCJbSsGZY3QHH8NuJqL9BqDzQBJSdoj0Ji411IGfo+gY1HNxFT26vjevXkrR2i5onEM3h3YBt3hDBQYzyoVP4xnWeUNAsuTjTUXK206tbLA0q4Dmo3E0nI1cq3i+UaBilZtsDCblSJwcCngogQuIGQ6l4o9ENozVWtFxxTgp9dO94x6IltdoteJQHIdy9UBT5Brwa1pnTbB1Tq0yuyY4bSvmXWrBledFZrfGc4epjnQknk+Qws0ow6RVi9NZOMzj0VuMdwrUgUwVpZHoW94E3i8nGdVOmC5Ww4u1uvWHl+tpLlBXldpTDt1a057O+AaWi1vtbbj1ck6HdCKVZc5WoJ4KZU9n0pffXzzzbpK+zLAmO8dyjmiQ57ezjLPapyYFthyetyOx7ZzDR9veVXCAHwt0tS0zfWuTrFonm9pvSaUpNKGGnJrqYPX5OHPJvMrqxd7dl8ZFwS6MYcC/DQ53bNDHh4o0N08THJxXYssGysHCSrX1psQ11tiuxWDMTWofTB5gTpjqI4kecEYD1K4tOO8zChEBJdMyLnM9SmkDQHztJ+A0ZGy7KqwWlbExHQBraYyzRtUTLs6LNd2IGFpucYOTdtlPu3LYNsIdLTXlmlDVJelONCMlxVpByJ8THKXhB+RX+1zgtODmS5eWcP3pPGFSF0favKeVTBhzLv2ONcqkKhwWlV8buDU6gSX05JePzNHWI4GFYCxwtRRFLPC8+T9W+g+DJpKVBPh2rwBWi99c3bBtakY6JCVwu4qy6rk3MpIsMr7GTvUmlq6BiXomqfXmdCaUhen5jaYA8Scc7/oI8J38z+/5YK4LPD6YF4ZxvUBnZUmDzDlNDsA03wAT1DYcGp1Asxb5KxmHapb8bIZwAx87gi58xuVFID/hby2+5qckC7BnGYZR7+jhwLZsPWa0IICbku1rkE/DWeGXWowURVae9b2n+pmJTDBZP5WUUwLj5JnO3NAtl2UF+h+YH0BSOtpwbZDo2+1sedbcrpdajB4vl7q6Z0qBRhzGKIEw65O0iULH1OZdh/5j9CqvDa4BHGXShFWVmvssa3kGF/yYdfVoAZLWqqtGFjLxrPHso/lmWDcvyoBp9AdT+b3OqRC2B269lT091fKgQaWNMWzs1uTznw4BVmB7c2oFakZO5VawDEut7OeZmW5VoqhCWA5+gY5Dj2vq6+QF4D7iZN0El8M9sRneIlWVaj8ZfJD7+Xc6kDSke7EUFg9p0GvJs15ucZbr8FpOodZk+/NZ46p1ZZB499YOVVzh1bJubzw20/IatjXMXUiOpbVzhDTZM+d5GiwmE/1Jwolr5aX7WliPQuqa2lWA7MDQPXMMeXFKmDt0JLxNdoRccWAqU23y5ftdDinXxg1rj+2TFd+AZ7pjaWSkTUh60RwyxGdnsjM+VRT9WjNuxYvgPOqJohQZViTnEu5qxbncinGRJnP6S6GXZ6556J/vNhQulKL3x+SMy5H9tzWdEnuTkFRYFk0k6S6cmOZUOwkcOpxaGUHpL4ue1rXyqHqX5B+ViipSxDB7XKSLqdz+aaoNGOnANLWigYH+97Zo1J6k9yfLBYDlXngStrUyzGLqWkpx5T7NQ+p8uRVM6pSBZkATN9OtVPlV3MHhvrW53avOeOl6VcP3Gtrixp2qS6A+Rg+t3IklHIKW1eLeQ+3ZUYfGqvSUUOtqV+HYtBV9VioETtatya4bPmIOjFRzIVFmHluqL4tag0DjDfiBpl70sc2r5FCX7ZQcFZWqNt3bFa8q/y+Yoro3WiF+doBV0c1ev3BlQHybMDtXPjJ0N3zjWz0aQpgPqTD5Kh4NeHoT0B6E46LUYeNj13eNQXWjlOz4t1qYPEnSAcdgvN6JLll+tiB5s6Ha4gijOD7DPmRP7+cGci4in62r64G0JbgmgcxppZr12rLlqtmKcqySxSho+hKdQXdUydbdMhSywDmoP/p6r93xzKprXkHiPrCE81rsVwJbiMtKABzeBWOhU7BnffkPbMv7b5z2cb8s31JywHGJ2NZ1TvL0UjBKfcmC3mHbknfrvWaal0DarBrveU2mTaQRAAv8ZS8JcfigR3/NddoeVQttNsCMH/gIXLKfT2R7E/K2RDlZ77sZNojK2qoIbVom7UdJh69gB++FC+JYlwajE6/IFgXkNg22YoL2wowf9afLP0gsFokQ6vOvMfcCbaXFti5FhxcV85bcF57ZVd7j4ZsiYqw+2YR5DVw7uDH1OgzddXgVtuigXXaSh4puz811ZTeguPCeoC7rgDjw7648PxowpHtYmWtxnvjyiG28ub0QkrrKLWvtjZ1cEdGtwATz8qPtx+8ZNcwmr1uXSiCd/LRi6c9s8H0noVC3MES+5qVKMMwuDnOpXGYUguM4Pa5PKUeGT78zvb1Oz9iXQFGoP9q+Sf9K6VsH1a+88M++dlAHE415K5FCxZOTVEr2EK5bsHrX3imf2y6Waus5/51Bxgl3PnFffvmi0kRK4aMAhJTWlA0rOVSE+UZJb1I63xF6HZ45Z3Re86OC0LLDzK9YTLN7MF/OftqOCNmhnA/B8/K6a+1slwr61XkGF+ExMNDJP+1Y1vG1v3w0HW3YA7kX8y+uDsOGYmuZCthdavDYF5x0+fqSJ8cvuujeqZ2q669YQA/snimY7awtJOfMGiYIOKZdDuRmiZC5LkFvg2gJ+c+f2TvWLJVoNXTzg0DGDt538JrI7FiOqTuRjLoul2tq0na84wY1if0lbzx4zvuvFwPKK289oYCfOjcKXepy7F3Qcg58BhF8w2KVmlHlZO11ttHPKXObb1nj63jn6SofDk3FGDszINLP92yIK9E+IZFarBVfGEFsF53cGrY5O6aOz74qdlWWmS9bd1wgHFl5P6Fl/fN5lJuuqGGo2uXGiq4l+9H7hE68s+O3Hm20ZWIeoE0u/6GA4wd+0rizU3LqUyUBx/srPbamTFWt6Zex6hBOZhOlKDTQ678YOCe660CqtF2NgTA2Pn7Z97YuVhY61C3hZkMqaws9C9A59gcUvJ4g0eONQrkhrZg7Nxh8r4Un5zaPUf33Rkc1sFHYJCw18syEULS5o8aOXKs1eBiexvGgrEzX557Y3gpn+3WOTztqE1WQ1h1OTvVpMfpXz7R4JFj/+8Bxq1kF2bS++aKKSc/gVsnKEysl+8xjpT8xR3bxbN2Km7aAaZRmxvKgikXX30zkhQyW2ieQlueVYMaeFV5l9M9cyI6tu7HJ9Z6WRsOYJRtD0y9vneByB52UHPFUeea0XDHhtQQEaXsicGxD2+0LNtwgYbR2/96/EzXzGpqlFux7qB+5YbKfIPf6b50ItqaY2BaSR8bzoL54B6Yfn3HcjEfiCnnyWu5mMdt6Ngw39DjCayeGNg4fztD+4I2LMCHpt7zOYqruxcLq0JCORxaG37wU0p6iY/sdu38cDwa1VWWt9IKm2lrwwJMI7zLrw/Nl0iY7u7nJ3Dzike6XUqEgBBcOjl6x2QzILTz3g0N8CFCnJ6Zt/YtZjMuttzPj+dimhd38+SiY2dfEIR1PRO4nheyoQHGgaDDm0vkRuKFjLLziRWPhIiP+FyOyxvRsf2f4GBtJx+ceDeQErORTCnvx5/7HO5Ud8A5e6T3xqxS1GPB/wuaJX/J/HuWGgAAAABJRU5ErkJggg==",iv=he.p+"static/nltpbg.f01aad4b.png",Tp=he.p+"static/nltpbg2.303fcb0b.png",f0={title:"title___m9Fww",bg:"bg___f9tLu"},av="data:image/png;base64,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",pp=he.p+"static/2.3612d2e5.png",Z0=he.p+"static/3.0ae7bccf.png",og=he.p+"static/4.d75cb058.png",mh=he.p+"static/5.89f1948f.png",ov=he.p+"static/6.cc2d55ef.png",sv=he.p+"static/7.3afb9435.png",lv=he.p+"static/8.5401d4a7.png",uv=Object.defineProperty,X0=Object.getOwnPropertySymbols,cv=Object.prototype.hasOwnProperty,sg=Object.prototype.propertyIsEnumerable,V0=(Oe,Fe,Me)=>Fe in Oe?uv(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,h0=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))cv.call(Fe,Me)&&V0(Oe,Me,Fe[Me]);if(X0)for(var Me of X0(Fe))sg.call(Fe,Me)&&V0(Oe,Me,Fe[Me]);return Oe};const dv=({DataProps:Oe=[],baifenbi:Fe=1,pathsDetail:Me,isShow:jt,item:Pn,i:Tr})=>{const Fr=(0,je.useParams)(),[mn,_t]=(0,se.useState)(0),Kn=33,wr=Math.PI/2+Tr*(Math.PI*2/(Oe==null?void 0:Oe.length)),ra=Kn*Math.cos(wr)/100,qi=Kn*Math.sin(wr)/100;return se.createElement(Sn.Z,{color:"#444FC2",title:jt?null:se.createElement("div",{style:{fontSize:`${14*Fe}rem`}},se.createElement("div",null,"\u8986\u76D6",(Pn==null?void 0:Pn.children_count)||0,"\u4E2A\u5B50\u80FD\u529B\u3001",(Pn==null?void 0:Pn.subject_knowledge_graph_count)||0,"\u4E2A\u77E5\u8BC6\u70B9"),se.createElement("div",{style:{marginTop:"10rem"}},"\u70B9\u51FB\u67E5\u770B\u8BE6\u60C5"))},se.createElement("div",{className:`flex flex-col item-center justify-center absolute ${jt?"":"current"} ${f0.title}`,onClick:()=>{jt||(0,Vt.xg)(`/knowledgegraph/${Fr==null?void 0:Fr.pathId}/abilityMap/detail/${Pn==null?void 0:Pn.id}${window.location.search}`)},onMouseOver:()=>{jt||_t(2)},onMouseOut:()=>{jt||_t(0)},style:{left:`calc(50% - ${ra*100}%)`,top:`calc(50% - ${qi*100}%)`,transform:"translate(-50%,-50%)",width:"20%",fontSize:`${(14+mn)*Fe}rem`}},se.createElement("div",{style:{opacity:"0.8"}},"\u4E3B\u80FD\u529B"),se.createElement("div",{className:"multi_ellipsis1",style:{fontSize:`${18*Fe}rem`,fontWeight:500}},Pn==null?void 0:Pn.name),!(Me!=null&&Me.detail.can_managed)&&se.createElement("div",null,"\u638C\u63E1\u7387 ",Pn==null?void 0:Pn.grasp_rate," %")))},zp=({DataProps:Oe=[],className:Fe="",style:Me={},baifenbi:jt=1,pathsDetail:Pn,isShow:Tr})=>{const Fr=(0,se.useMemo)(()=>{const mn=["",av,pp,Z0,og,mh,ov,sv,lv];return mn==null?void 0:mn[(Oe==null?void 0:Oe.length)||0]},[Oe]);return se.createElement("div",{className:`w-full h-full flex item-center justify-center relative overflow_hidden ${Fe} ${f0.bg}`,style:h0({backgroundImage:`url(${Oe!=null&&Oe.length?Tp:iv})`,backgroundSize:"auto 100%",height:"100%"},Me)},((Oe==null?void 0:Oe.length)||0)>0&&se.createElement("img",{className:`absolute ${f0.bg}`,src:Fr,style:{width:"95%",height:"95%",left:"50%",top:"50%",transform:`translate(-50%, -50%) ${[2,3,6].includes(Oe==null?void 0:Oe.length)?"rotate(90deg)":(Oe==null?void 0:Oe.length)==7?"rotate(25deg)":""}`}}),Oe==null?void 0:Oe.map((mn,_t)=>se.createElement(dv,{key:_t,i:_t,item:mn,DataProps:Oe,className:Fe,style:Me,baifenbi:jt,pathsDetail:Pn,isShow:Tr})),se.createElement("div",{className:"text-center"},se.createElement("div",{style:{fontSize:`${28*jt}rem`}},"\u80FD\u529B\u76EE\u6807"),se.createElement("div",{style:{fontSize:`${12*jt}rem`}},"\u70B9\u51FB\u73AF\u56FE\u67E5\u770B\u80FD\u529B\u8BE6\u60C5")))};var Q0=(0,je.connect)(({pathsDetail:Oe})=>({pathsDetail:Oe}))(zp),$h=he.p+"static/bg.a1e8d200.png",vf={ChangeBut:"ChangeBut___VXZuF",spin:"spin___YZs77"},fv=he(68682),W0=Object.defineProperty,Pg=Object.defineProperties,hv=Object.getOwnPropertyDescriptors,Sg=Object.getOwnPropertySymbols,Mg=Object.prototype.hasOwnProperty,pv=Object.prototype.propertyIsEnumerable,gp=(Oe,Fe,Me)=>Fe in Oe?W0(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,S0=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))Mg.call(Fe,Me)&&gp(Oe,Me,Fe[Me]);if(Sg)for(var Me of Sg(Fe))pv.call(Fe,Me)&&gp(Oe,Me,Fe[Me]);return Oe},Hp=(Oe,Fe)=>Pg(Oe,hv(Fe)),Rp=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Ig=({pathsDetail:Oe,dispatch:Fe})=>{var Me,jt,Pn,Tr,Fr,mn,_t,Kn,wr,ra,qi,aa,ca,Ra,Ei,Si,ba,Sa,Uo,Ua;const{detail:Oa,actionTabs:xo}=Oe,di=(0,je.useParams)(),[Ca]=(0,je.useSearchParams)(),va=(0,se.useRef)(null),[ro,Pa]=(0,se.useState)({}),[,rl,xl,Xo]=(0,pn.U)(Le.Eu,{subject_id:di==null?void 0:di.pathId}),[_l,ts]=(0,se.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),ko=[{title:"\u80FD\u529B\u76EE\u6807\u638C\u63E1\u6570",value:(Me=Xo==null?void 0:Xo.data)==null?void 0:Me.total_grasp_count,unit:"\u4E2A",img:Dg,bg:"rgba(18, 42, 159, .4)",ProgressTitle:"\u5B8C\u6210\u6574\u4F53\u80FD\u529B\u7387",percent:((jt=Xo==null?void 0:Xo.data)==null?void 0:jt.total_grasp_rate)||0,trailColor:"rgba(22, 115, 255, .1)",strokeColor:"#1673FF"},{title:"\u5DF2\u638C\u63E1\u5B50\u80FD\u529B\u6570",value:(Pn=Xo==null?void 0:Xo.data)==null?void 0:Pn.children_ability_goal_grasp_count,unit:"\u4E2A",img:rv,bg:"rgba(0, 87, 76, .4)",ProgressTitle:"\u5B8C\u6210\u5B50\u80FD\u529B\u7387",percent:((Tr=Xo==null?void 0:Xo.data)==null?void 0:Tr.children_ability_goal_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8D44\u6E90\u5B8C\u6210\u6570",value:(Fr=Xo==null?void 0:Xo.data)==null?void 0:Fr.resource_complete_count,unit:"\u4E2A",img:ag,bg:"rgba(108, 76, 0, .4)",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((mn=Xo==null?void 0:Xo.data)==null?void 0:mn.resource_complete_rate)||0,trailColor:"rgba(209, 157, 83, .1)",strokeColor:"#D19D53"},{title:"\u5DF2\u7ECF\u638C\u63E1\u77E5\u8BC6\u70B9",value:(_t=Xo==null?void 0:Xo.data)==null?void 0:_t.knowledge_grasp_count,unit:"\u4E2A",img:nv,bg:"rgba(0, 28, 106, .4)",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((Kn=Xo==null?void 0:Xo.data)==null?void 0:Kn.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#1673FF"}],Gr=(...Ti)=>Rp(void 0,[...Ti],function*(oa={}){yield xl(Hp(S0({},oa),{subject_id:di==null?void 0:di.pathId}))}),so=()=>Rp(void 0,null,function*(){Fe({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:Ca.get("type")==="classrooms"?"course":"subject",graphable_id:di.pathId}})});return(0,se.useEffect)(()=>{var Ti,oa;if((Xo==null?void 0:Xo.status)==0&&(Oa!=null&&Oa.can_managed)){const Ea=(oa=Object==null?void 0:Object.entries(((Ti=Xo==null?void 0:Xo.data)==null?void 0:Ti.study_grasp_hash)||{}))==null?void 0:oa.map(([Yo,Eo],Ss)=>({name:Yo,value:Eo,itemStyle:_l[Ss].itemStyle}));ts(Ea)}},[Oa==null?void 0:Oa.can_managed,Xo]),(0,se.useEffect)(()=>{ro!=null&&ro.id&&Gr({id:ro==null?void 0:ro.id})},[ro==null?void 0:ro.id]),(0,se.useEffect)(()=>{var Ti,oa,Ea;if(((Ti=Oa==null?void 0:Oa.ability_goals)==null?void 0:Ti.length)>0){const Yo=(oa=Oa==null?void 0:Oa.ability_goals)==null?void 0:oa.find(Eo=>Eo==null?void 0:Eo.is_choice);Pa(Hp(S0({},Yo),{knowledge_graph_route_id:(Ea=Xo==null?void 0:Xo.data)==null?void 0:Ea.knowledge_graph_route_id})),!(Yo!=null&&Yo.id)&&Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},[Oa==null?void 0:Oa.ability_goals,(wr=Xo==null?void 0:Xo.data)==null?void 0:wr.knowledge_graph_route_id]),se.createElement(wt.Z,{spinning:rl,wrapperClassName:vf.spin,size:"large",tip:"\u6570\u636E\u7EDF\u8BA1\u4E2D\uFF0C\u8BF7\u7A0D\u540E"},((ra=Oa==null?void 0:Oa.ability_goals)==null?void 0:ra.length)>0?se.createElement("div",{className:"flex w-full c-white overflow_hidden",style:{padding:"20rem 40rem",fontSize:"16rem"}},se.createElement("div",{className:" minW-0 flex flex-col",style:{flex:"1.5",gap:"10rem"}},se.createElement("div",{className:" flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},se.createElement("div",{className:"flex item-center gap-10px-rem"},se.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#101C39",padding:"0 0 0 20rem",gap:"10rem"}},se.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),se.createElement(Sn.Z,{title:(ro==null?void 0:ro.name)||"",placement:"topLeft"},se.createElement("div",{className:"multi_ellipsis1"},(ro==null?void 0:ro.name)||"")),se.createElement("div",{className:`current flex item-center text-nowrap ${vf.ChangeBut}`,onClick:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u80FD\u529B\u56FE\u8C31"}}})}},se.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),(Oa==null?void 0:Oa.can_managed)&&se.createElement("div",{className:"text-12px-rem c-white flex item-center gap-10px-rem"},se.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},se.createElement("span",{className:"iconfont icon-tianjiatixing",style:{fontSize:"12rem"}})," \u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"),se.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"}}})}},se.createElement("span",{className:"iconfont icon-bianji13",style:{fontSize:"12rem"}})," \u7F16\u8F91\u80FD\u529B\u56FE\u8C31"),se.createElement("div",{className:"flex current item-center rounded-full gap-6px-rem text-nowrap",style:{background:"#202F4F",padding:"5rem 8rem"},onClick:()=>{Bt.default.confirm({title:"\u5220\u9664\u80FD\u529B\u56FE\u8C31",icon:null,centered:!0,width:"500rem",content:se.createElement(se.Fragment,null,se.createElement("div",{className:"text-16px-rem c-black ",style:{marginBottom:"10rem"}},"\u8BF7\u786E\u8BA4\u662F\u5426\u9700\u8981\u5220\u9664\u300A",ro==null?void 0:ro.name,"\u300B\u80FD\u529B\u56FE\u8C31\uFF1F\u5220\u9664\u540E\uFF0C\u5C06\u65E0\u6CD5\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"),se.createElement(fv.Z,{ref:Ti=>va.current=Ti})),okText:"\u786E\u8BA4\u5220\u9664",onOk:()=>Rp(void 0,null,function*(){if(va.current.onVerify())return Promise.reject();const Ti=yield(0,Le.pf)({id:ro==null?void 0:ro.id,subject_id:di==null?void 0:di.pathId});(Ti==null?void 0:Ti.status)===0&&(Rt.ZP.success("\u5220\u9664\u6210\u529F"),so())})})}},se.createElement("span",{className:"iconfont icon-shanchu17",style:{fontSize:"12rem"}})," \u5220\u9664\u80FD\u529B\u56FE\u8C31"))),se.createElement("div",{className:"flex",style:{marginTop:"30rem",gap:"10rem"}},se.createElement("div",{className:"minW-0 flex",style:{flex:"1.5"}},[{title:"\u4E3B\u80FD\u529B\uFF08\u4E2A\uFF09",value:(qi=Xo==null?void 0:Xo.data)==null?void 0:qi.total_count,img:ig},{title:"\u5B50\u80FD\u529B\uFF08\u4E2A\uFF09",value:(aa=Xo==null?void 0:Xo.data)==null?void 0:aa.total_children_count,img:Cg}].map((Ti,oa)=>se.createElement("div",{key:oa,className:"flex-1 minW-0 flex flex-col item-center",style:{gap:"10rem"}},se.createElement("div",{style:{fontSize:"30rem",textShadow:"0 1rem 10rem #0096FC"}},Ti==null?void 0:Ti.value),se.createElement("div",{style:{fontSize:"14rem"}},Ti==null?void 0:Ti.title),se.createElement("img",{src:Ti==null?void 0:Ti.img,width:"166rem",height:"160rem",style:{width:"166rem",height:"160rem",marginTop:"-15rem"}})))),se.createElement("div",{className:"flex-1 minW-0 flex flex-col justify-between",style:{gap:"70rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(ca=Xo==null?void 0:Xo.data)==null?void 0:ca.total_knowledge_count,unit:"\u4E2A",percent:(Ra=Xo==null?void 0:Xo.data)==null?void 0:Ra.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Ei=Xo==null?void 0:Xo.data)==null?void 0:Ei.total_resource_count,unit:"\u4E2A",percent:(Si=Xo==null?void 0:Xo.data)==null?void 0:Si.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570"}].map((Ti,oa)=>se.createElement("div",{key:oa,className:"flex-1 minW-0 flex relative",style:{gap:"20rem"}},se.createElement("div",{className:"flex flex-col justify-between",style:{marginLeft:"40rem"}},se.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Ti==null?void 0:Ti.title),se.createElement("div",{style:{fontSize:"26rem",textShadow:(Ti==null?void 0:Ti.value)==0?"":"0 1rem 10rem #0096FC",opacity:(Ti==null?void 0:Ti.value)==0?.9:1}},Ti==null?void 0:Ti.value,se.createElement("span",{style:{fontSize:"14rem"}},Ti==null?void 0:Ti.unit))),se.createElement(ll.Z,{type:"dashboard",percent:Ti==null?void 0:Ti.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:"30rem",top:"15rem"},trailColor:"#1E2E72",strokeColor:{"0%":"#0E5FFF","50%":"#2DE1FD","100%":"#2DE1FD"},strokeLinecap:"round",format:Ea=>se.createElement("div",{className:"c-white",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},Ea,"%",se.createElement("br",null),se.createElement("br",null),Ti==null?void 0:Ti.percenttitle)})))))),se.createElement("div",{className:"flex-1",style:{padding:"20rem",background:"rgba(32, 47, 79, .34)",borderRadius:"12rem"}},se.createElement("div",{style:{marginBottom:"20rem"}},"\u4E3B\u80FD\u529B\u5B66\u4E60\u60C5\u51B5"),Oa!=null&&Oa.can_managed?se.createElement("div",{className:"flex",style:{gap:"10rem"}},se.createElement("div",{className:"minW-0 flex flex-col flex-1",style:{gap:"13rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(ba=Xo==null?void 0:Xo.data)==null?void 0:ba.study_count,unit:"",img:ev,bg:"rgba(68, 95, 232, 0.4)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(Sa=Xo==null?void 0:Xo.data)==null?void 0:Sa.complete_rate,unit:"%",img:tv,bg:"rgba(182, 129, 0, .4)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Uo=Xo==null?void 0:Xo.data)==null?void 0:Uo.grasp_rate,unit:"%",img:Bg,bg:"rgba(6, 145, 127, .4)"}].map((Ti,oa)=>se.createElement("div",{key:oa,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Ti==null?void 0:Ti.bg}},se.createElement("div",{style:{fontSize:"14rem",color:"rgba(255,255,255,.8)"}},Ti==null?void 0:Ti.title),se.createElement("div",{style:{fontSize:"26rem"}},Ti==null?void 0:Ti.value,se.createElement("span",{style:{fontSize:"14rem"}},Ti==null?void 0:Ti.unit)),se.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Ti==null?void 0:Ti.img})))),se.createElement("div",{className:"flex-2 minW-0"},se.createElement(Lh.Z,{dataSource:_l,legend:{top:null,icon:"roundRect",bottom:10,left:"center",itemWidth:14,itemGap:15,textStyle:{color:"#fff"},formatter:Ti=>Ti}}))):se.createElement("div",{style:{display:"grid",gap:"20rem",gridTemplateColumns:"1fr 1fr"}},ko==null?void 0:ko.map((Ti,oa)=>se.createElement("div",{key:oa,className:"relative c-white",style:{padding:"22rem 30rem",background:Ti==null?void 0:Ti.bg,borderRadius:"6rem"}},se.createElement("img",{src:Ti==null?void 0:Ti.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"22rem",top:"22rem"}}),se.createElement("div",{style:{fontSize:"14rem"}},Ti==null?void 0:Ti.title),se.createElement("div",{className:" blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ti==null?void 0:Ti.value,se.createElement("span",{style:{fontSize:"14rem"}},Ti==null?void 0:Ti.unit)),se.createElement("div",{style:{fontSize:"12rem",marginTop:"26rem"}},se.createElement("div",null,Ti==null?void 0:Ti.ProgressTitle,Ti==null?void 0:Ti.percent,"%"),se.createElement(ll.Z,{percent:Ti==null?void 0:Ti.percent,showInfo:!1,trailColor:Ti==null?void 0:Ti.trailColor,strokeColor:Ti==null?void 0:Ti.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))))),se.createElement("div",{className:"flex-2 minW-0 flex item-center justify-center relative"},(Oa==null?void 0:Oa.can_managed)&&se.createElement("div",{className:"absolute flex item-center gap-16px-rem",style:{top:0,right:0}},Ca.get("type")==="classrooms"&&se.createElement("div",{className:`current flex item-center ${vf.ChangeBut}`,onClick:()=>{je.history.push(`/knowledgegraph/${di==null?void 0:di.pathId}/statistics/abilitymap/${ro==null?void 0:ro.id}?type=classrooms&tabs=5`)}},se.createElement("span",{style:{fontSize:"14rem"}},"\u6570\u636E\u7EDF\u8BA1")),se.createElement("div",{className:`current flex item-center ${vf.ChangeBut}`,onClick:()=>{(0,Vt.xg)(`/knowledgegraph/${di.pathId}/abilityMap/edit/${ro==null?void 0:ro.id}${window.location.search}`)}},se.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u7F16\u8F91\u80FD\u529B\u76EE\u6807"),Ca.get("type")!=="classrooms"&&se.createElement("div",{className:`current flex item-center ${vf.ChangeBut}`,onClick:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",params:{type:"goal"}}}})}},se.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u53D1\u9001\u81F3\u8BFE\u5802")),se.createElement("img",{src:$h,className:"absolute",width:"1532rem",height:"100%",style:{left:"50%",pointerEvents:"none",transform:"translateX(-61%)"}}),se.createElement(Q0,{DataProps:((Ua=Xo==null?void 0:Xo.data)==null?void 0:Ua.ability_goals)||[],className:"c-white",style:{backgroundSize:"auto 100%",height:"710rem",width:"710rem"}}))):se.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},se.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},(Oa==null?void 0:Oa.can_managed)&&se.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{Fe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"}}})}},"\u521B\u5EFA\u80FD\u529B\u56FE\u8C31")),se.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F "),se.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u80FD\u529B\u56FE\u8C31\u901A\u8FC7\u6574\u5408\u8BFE\u7A0B\u57F9\u517B\u76EE\u6807\u4E0E\u77E5\u8BC6\u70B9\uFF0C\u6784\u5EFA\u4EE5\u80FD\u529B\u57F9\u517B\u4E3A\u6838\u5FC3\u7684\u6210\u957F\u5730\u56FE\u3002\u5B83\u6E05\u6670\u6807\u6CE8\u6BCF\u4E00\u95E8\u8BFE\u7A0B\u9700\u638C\u63E1\u7684\u6838\u5FC3\u80FD\u529B\uFF0C\u5C06\u62BD\u8C61\u7684\u77E5\u8BC6\u8F6C\u5316\u4E3A\u53EF\u91CF\u5316\u3001\u53EF\u8FFD\u8E2A\u7684\u80FD\u529B\u5750\u6807\uFF0C\u8BA9\u5B66\u4E60\u6709\u65B9\u5411\uFF0C\u6210\u957F\u6709\u8F68\u8FF9\u3002",se.createElement("img",{className:"absolute",src:he(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),se.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},se.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},se.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),se.createElement("div",{className:"w-full flex justify-between gap-32px-rem relative"},se.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",left:"200rem",top:"80rem"},src:he(79989)}),se.createElement("img",{className:"absolute",style:{width:"97rem",height:"42rem",right:"210rem",top:"80rem"},src:he(73486)}),[{title:"\u591A\u7EF4\u80FD\u529B\u56FE\u8C31",desc:"\u4E00\u4E2A\u8BFE\u7A0B\u4E0B\u652F\u6301\u6784\u5EFA\u591A\u4E2A\u80FD\u529B\u56FE\u8C31\uFF0C\u5B66\u751F\u53EF\u4EE5\u6839\u636E\u4E2A\u4EBA\u4E13\u4E1A\u3001\u5B66\u4E60\u60C5\u51B5\u7B49\u56E0\u7D20\uFF0C\u9009\u62E9\u4E0D\u540C\u7684\u80FD\u529B\u56FE\u8C31\u8FDB\u884C\u5B66\u4E60\u3002",img:he(4212)},{title:"\u6570\u636E\u5173\u8054",desc:"\u652F\u6301\u5C06\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u3001\u77E5\u8BC6\u56FE\u8C31\u3001\u5B66\u4E60\u8DEF\u5F84\u4E2D\u7684\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u6C47\u603B\u7EDF\u8BA1\uFF0C\u5206\u6790\u51FA\u5B66\u751F\u5728\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u638C\u63E1\u60C5\u51B5\u3002",img:he(50356)},{title:"\u80FD\u529B\u5B66\u4E60\u8DEF\u5F84",desc:"\u652F\u6301\u6839\u636E\u80FD\u529B\u56FE\u8C31\u4E2D\u7684\u4E3B\u80FD\u529B\u548C\u5B50\u80FD\u529B\u751F\u6210\u5BF9\u5E94\u5B66\u4E60\u8DEF\u5F84\uFF0C\u4FBF\u4E8E\u5B66\u751F\u6309\u7167\u5BF9\u7528\u8DEF\u5F84\u8FDB\u884C\u5B66\u4E60\u3002",img:he(40362)}].map((Ti,oa)=>se.createElement("div",{key:oa,className:`flex flex-col item-center ${oa!=1?"mt-64px-rem":""}`},se.createElement("img",{src:Ti==null?void 0:Ti.img,style:{width:"127rem",height:"119rem"}}),se.createElement("div",{className:"px-20px-rem pb-20px-rem",style:{background:`url(${he(14760)}) 0 0 / 100% 100% no-repeat`}},Ti==null?void 0:Ti.title),se.createElement("div",{className:"mt-6px-rem",style:{width:"20rem",height:"10rem",background:"#7A99DD",clipPath:"polygon(100% 0, 0 0, 50% 100%)",WebkitClipPath:"polygon(100% 0, 0 0, 50% 100%)"}}),se.createElement("div",{className:"px-20px-rem py-20px-rem mt-6px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",color:"rgba(255,255,255,0.8)",width:"236rem",height:"153rem"}},Ti==null?void 0:Ti.desc))))),se.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},se.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),se.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:se.createElement("div",{className:"flex flex-col gap-4px-rem"},se.createElement("div",{className:"text-16px-rem"},"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA"),se.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u80FD\u529B\u56FE\u8C31\u57FA\u4E8E\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u521B\u5EFA\uFF0C\u5728\u521B\u5EFA\u80FD\u529B\u56FE\u8C31\u524D\uFF0C\u9700\u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u548C\u5B66\u4E60\u8DEF\u5F84\u3002"))},{desc:se.createElement("div",{className:"flex flex-col gap-4px-rem"},se.createElement("div",{className:"text-16px-rem"},"\u5B50\u80FD\u529B/\u4E3B\u80FD\u529B\u638C\u63E1\u5EA6\u8BA1\u7B97"),se.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},se.createElement("span",{className:"c-white"},"\u5B50\u80FD\u529B\uFF1A"),"\u6839\u636E\u5F53\u524D\u5173\u8054\u7684\u8D44\u6E90\u638C\u63E1\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u8D44\u6E90\u638C\u63E1\u7387\u8FBE\u5230\u8BBE\u7F6E\u6570\u503C\u540E, \u8868\u793A\u638C\u63E1\u6539\u8BE5\u80FD\u529B\uFF1B",se.createElement("br",null),se.createElement("span",{className:"c-white"},"\u4E3B\u80FD\u529B\uFF1A"),"\u6839\u636E\u8BE5\u4E3B\u80FD\u529B\u4E0B\u7684\u5B50\u80FD\u529B\u8FDB\u884C\u8BA1\u7B97\uFF0C\u6240\u6709\u5B50\u80FD\u529B\u638C\u63E1\u540E\uFF0C\u8868\u793A\u4E3B\u80FD\u529B\u638C\u63E1\u3002"))},{desc:se.createElement("div",{className:"flex flex-col gap-4px-rem"},se.createElement("div",{className:"text-16px-rem"},"\u4E3B\u80FD\u529B/\u5B50\u80FD\u529B\u6570\u91CF\u9650\u5236"),se.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u4E00\u4E2A\u80FD\u529B\u56FE\u8C31\u4E2D\u6700\u591A\u521B\u5EFA8\u4E2A\u4E3B\u80FD\u529B\uFF0C\u4E3B\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u5B50\u80FD\u529B\u6570\u91CF\uFF0C\u5B50\u80FD\u529B\u4E0B\u4E0D\u9650\u5236\u8D44\u6E90\u77E5\u8BC6\u70B9\u5173\u8054\u6570\u91CF\u3002"))}].map((Ti,oa)=>se.createElement("div",{key:oa,className:"px-16px-rem py-22px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},se.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(oa+1).toString().padStart(2,"0")),se.createElement("div",{className:"flex-1 minW-0"},Ti==null?void 0:Ti.desc))))))),(xo==null?void 0:xo.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31"&&se.createElement(Qs.E_,{type:"goal",open:(xo==null?void 0:xo.key)=="\u5207\u6362\u80FD\u529B\u56FE\u8C31",title:"\u9009\u62E9\u80FD\u529B\u56FE\u8C31",currentSeleteData:ro,onFinish:()=>{so()}}),((xo==null?void 0:xo.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(xo==null?void 0:xo.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31")&&se.createElement(Qs.DZ,{currentSeleteData:ro,onFinish:()=>{so()}}))};var vp=(0,je.connect)(({pathsDetail:Oe})=>({pathsDetail:Oe}))(Ig),Og=he(86725),Ol=he(59301),mp=Object.defineProperty,Ap=Object.getOwnPropertySymbols,M0=Object.prototype.hasOwnProperty,yp=Object.prototype.propertyIsEnumerable,jp=(Oe,Fe,Me)=>Fe in Oe?mp(Oe,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Me}):Oe[Fe]=Me,gv=(Oe,Fe)=>{for(var Me in Fe||(Fe={}))M0.call(Fe,Me)&&jp(Oe,Me,Fe[Me]);if(Ap)for(var Me of Ap(Fe))yp.call(Fe,Me)&&jp(Oe,Me,Fe[Me]);return Oe},vv=(Oe,Fe)=>{var Me={};for(var jt in Oe)M0.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Ap)for(var jt of Ap(Oe))Fe.indexOf(jt)<0&&yp.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},Zp=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});const Xp=Oe=>{var Fe=Oe,{pathsDetail:Me,user:jt,globalSetting:Pn,loading:Tr,dispatch:Fr,activied:mn,setactivied:_t}=Fe,Kn=vv(Fe,["pathsDetail","user","globalSetting","loading","dispatch","activied","setactivied"]),wr,ra,qi,aa,ca,Ra,Ei,Si,ba;const{detail:Sa,actionTabs:Uo}=Me,Ua=(0,je.useParams)(),[Oa]=(0,je.useSearchParams)(),[xo,di]=(0,se.useState)([]),[Ca,va]=(0,se.useState)(),[ro,Pa]=(0,se.useState)(),[rl]=Xe.default.useForm(),[xl,Xo]=(0,se.useState)(!1),[_l,ts]=(0,se.useState)(!1),ko=(ra=(wr=Sa==null?void 0:Sa.route_nodes)==null?void 0:wr.find(oa=>oa==null?void 0:oa.is_choice))==null?void 0:ra.id;(0,se.useEffect)(()=>{Oa.get("uuid")&&va(Oa.get("uuid"))},[Oa.get("uuid")]);const Gr=[{name:"\u8BFE\u7A0B\u4FE1\u606F",key:1,content:Ol.createElement(ua,null),isshow:Oa.get("type")!=="classrooms"},{name:"\u8BFE\u7A0B\u56FE\u8C31",key:3,content:((aa=(qi=Me==null?void 0:Me.detail)==null?void 0:qi.nodes)==null?void 0:aa.length)<=1?Ol.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col justify-center",style:{padding:"70rem 150rem",minHeight:"100vh"}},Ol.createElement("div",{className:"flex item-center justify-center gap-30px-rem"},((ca=Me==null?void 0:Me.detail)==null?void 0:ca.can_managed)&&Ol.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>{ts(!0)}},"\u65B0\u5EFA\u56FE\u8C31"),((Ra=Me==null?void 0:Me.detail)==null?void 0:Ra.can_managed)&&Oa.get("type")!=="classrooms"&&Ol.createElement("div",{className:"current rounded-full py-10px-rem px-40px-rem flex item-center gap-4px-rem",style:{background:"linear-gradient( 90deg, #272B95 0%, #295BAB 100%)"},onClick:()=>Zp(void 0,null,function*(){let oa=yield(0,Ot.ZP)("/api/knowledge/v2/sync.json",{method:"post",body:{subject_id:Ua==null?void 0:Ua.pathId}});oa.status===0&&Rt.ZP.info(oa==null?void 0:oa.message)})},"\u751F\u6210\u56FE\u8C31",Ol.createElement(Sn.Z,{title:Ol.createElement("span",{className:"c-black"},"\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"),color:"#fff"},Ol.createElement(ah.Z,{style:{color:"#fff",marginLeft:5,marginTop:0},rev:void 0})))),Ol.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem mt-40px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4EC0\u4E48\uFF1F"),Ol.createElement("div",{className:"rounded-8px-rem py-16px-rem px-20px-rem w-full mt-20px-rem relative",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},"\u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u662F\u4E00\u5F20\u667A\u80FD\u5316\u7684\u77E5\u8BC6\u5BFC\u822A\u5730\u56FE\uFF0C\u901A\u8FC7AI\u6280\u672F\u5C06\u96F6\u6563\u77E5\u8BC6\u70B9\u4E32\u8054\u6210\u903B\u8F91\u7F51\u7EDC\uFF0C\u6E05\u6670\u5C55\u73B0\u5B66\u79D1\u6838\u5FC3\u6982\u5FF5\u3001\u80FD\u529B\u5C42\u7EA7\u4E0E\u5173\u8054\u8DEF\u5F84\u3002\u5B83\u5982\u540C\u4E00\u4F4D\u201C\u8D85\u7EA7\u5BFC\u5E08\u201D\uFF0C\u4E3A\u4F60\u6307\u660E\u5B66\u4EC0\u4E48\u3001\u600E\u4E48\u5B66\u3001\u5B66\u5230\u54EA\u3002",Ol.createElement("img",{className:"absolute",src:he(23280),style:{width:"66rem",height:"83rem",right:"8rem",bottom:"16rem"}})),Ol.createElement("div",{className:"flex gap-40px-rem mt-40px-rem"},Ol.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Ol.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(37618)}) 0 0 /100% 100% no-repeat`,width:"340rem",height:"40rem",color:"#F9F9F9"}}," \u8BFE\u7A0B\u77E5\u8BC6\u56FE\u8C31\u5728\u5E73\u53F0\u7684\u5E94\u7528 "),Ol.createElement("div",{className:"w-full flex flex-wrap justify-between",style:{background:`url(${he(30019)}) center / auto 100% no-repeat`,height:"446rem",gap:"54rem 200rem"}},[{title:"\u5B66\u4E60\u8DEF\u5F84\u751F\u6210",order:1,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6839\u636E\u5173\u7CFB\uFF08\u5305\u542B\u3001\u524D/\u540E\u7EED\uFF09\u548C\u8282\u70B9\u6807\u7B7E\uFF08\u5982\uFF1A\u6587\u79D1/\u7406\u79D1\u3001\u57FA\u7840/\u8FDB\u9636/\u7A81\u7834\uFF09\u5FEB\u901F\u81EA\u52A8\u6784\u5EFA\u5B66\u4E60\u8DEF\u5F84\u3002"},{title:"\u80FD\u529B\u56FE\u8C31\u6784\u5EFA",order:2,desc:"\u5C06\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\uFF0C\u6309\u7167\u80FD\u529B\u7EF4\u5EA6\uFF0C\u6784\u5EFA\u8BFE\u7A0B\u80FD\u529B\u56FE\u8C31\uFF0C\u7528\u4E8E\u68C0\u9A8C\u5B66\u751F\u5BF9\u8BFE\u7A0B\u57F9\u517B\u80FD\u529B\u7684\u638C\u63E1\u3002"},{title:"\u8BFE\u5802\u5B66\u60C5\u5206\u6790",order:4,desc:"\u652F\u6301\u4E00\u952E\u5C06\u77E5\u8BC6\u56FE\u8C31\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802\uFF0C\u8BA9\u5B66\u751F\u5728\u6559\u5B66\u8BFE\u5802\u4E2D\u5B8C\u6210\u5B66\u4E60\u4EFB\u52A1\uFF0C\u5E76\u53EF\u4EE5\u6839\u636E\u5B66\u751F\u5B66\u4E60\u60C5\u51B5\u8FDB\u884C\u5B66\u60C5\u5206\u6790\u548C\u5B66\u60C5\u9884\u8B66\u3002"},{title:"\u5B66\u4E60\u8D44\u6E90\u63A8\u8350",order:3,desc:"\u5229\u7528\u77E5\u8BC6\u56FE\u8C31\u4E2D\u7684\u8282\u70B9\u5173\u7CFB\u548C\u6807\u7B7E\u5206\u7C7B\uFF0C\u57FA\u4E8E\u5B66\u751F\u5B66\u4E60\u53CA\u638C\u63E1\u5185\u5BB9\u4E3A\u5B66\u751F\u63A8\u8350\u8584\u5F31\u70B9\u3001\u63D0\u5347\u70B9\u3001\u7A81\u7834\u70B9\u8D44\u6E90\u5B66\u4E60\u3002"}].map((oa,Ea)=>Ol.createElement("div",{key:Ea,className:"py-10px-rem px-20px-rem flex flex-col gap-10px-rem rounded-8px-rem",style:{width:"234rem",height:"160rem",background:"rgba(70,99,162,0.16)",border:"1rem solid #203259",order:oa==null?void 0:oa.order}},Ol.createElement("div",{className:"text-16px-rem"},Ea+1,". ",oa==null?void 0:oa.title),Ol.createElement("div",{style:{color:"rgba(255,255,255,0.8)"}},oa==null?void 0:oa.desc))))),Ol.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-20px-rem"},Ol.createElement("div",{className:"pl-40px-rem text-20px-rem pt-2px-rem",style:{background:`url(${he(63232)}) 0 0 /100% 100% no-repeat`,width:"250rem",height:"40rem",color:"#F9F9F9"}}," \u521B\u5EFA\u77E5\u8BC6\u56FE\u8C31\u6CE8\u610F\u4E8B\u9879 "),Ol.createElement("div",{className:"flex-1 minW-0 flex flex-col gap-10px-rem"},[{desc:Ol.createElement("div",{className:"flex flex-col gap-4px-rem"},Ol.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u7C7B\u578B"),Ol.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u4E3B\u8981\u5206\u4E3A\u4E24\u79CD\u7C7B\u578B\uFF1A",Ol.createElement("span",{style:{color:"#FFE698"}},"\u6807\u7B7E\u8282\u70B9\u548C\u8D44\u6E90\u8282\u70B9"),Ol.createElement("br",null),Ol.createElement("span",{className:"c-white"},"\u6807\u7B7E\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u6587\u672C\u5185\u5BB9\uFF0C\u5982\u7AE0\u8282\u3001\u77E5\u8BC6\u70B9\u3002",Ol.createElement("br",null),Ol.createElement("span",{className:"c-white"},"\u8D44\u6E90\u8282\u70B9\uFF1A"),"\u7528\u4E8E\u521B\u5EFA\u8D44\u6E90\u5185\u5BB9\uFF0C\u53EF\u4EE5\u9009\u62E9\u5E73\u53F0\u8D44\u6E90\u3001\u672C\u5730\u4E0A\u4F20\u6587\u4EF6\u548C\u5916\u94FE\u3002",Ol.createElement("br",null)))},{desc:Ol.createElement("div",{className:"flex flex-col gap-4px-rem"},Ol.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u6807\u7B7E"),Ol.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u6807\u7B7E\u53EF\u4EE5\u7528\u6237\u81EA\u5B9A\u4E49\u6DFB\u52A0\uFF0C\u8282\u70B9\u6807\u7B7E\u4E3B\u8981\u7528\u4E8E\u7B5B\u9009\u8282\u70B9\uFF0C\u5982\u6587\u79D1/\u7406\u79D1/\u5DE5\u79D1\u3001\u7B80\u5355/\u8FDB\u9636/\u56F0\u96BE\u3002",Ol.createElement("br",null),Ol.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u6807\u7B7E\u540C\u6B65\u5EFA\u7ACB\uFF0C\u540E\u7EED\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u548C\u80FD\u529B\u56FE\u8C31\u65F6\u53EF\u4EE5\u4F7F\u7528\u3002")))},{desc:Ol.createElement("div",{className:"flex flex-col gap-4px-rem"},Ol.createElement("div",{className:"text-16px-rem"},"\u77E5\u8BC6\u56FE\u8C31\u8282\u70B9\u5173\u7CFB"),Ol.createElement("div",{className:"",style:{color:"rgba(255,255,255,0.8)"}},"\u77E5\u8BC6\u56FE\u8C31\u5173\u7CFB",Ol.createElement("span",{style:{color:"#FFE698"}},"\u6709\u5305\u542B/\u88AB\u5305\u542B\u3001\u524D\u5E8F/\u540E\u7EED\u3001\u5173\u8054\u3002"),Ol.createElement("br",null),Ol.createElement("span",{style:{color:"#FFE698"}},"\u5EFA\u8BAE\u521B\u5EFA\u56FE\u8C31\u65F6\uFF0C\u5C06\u5173\u7CFB\u540C\u6B65\u5EFA\u7ACB\uFF0C\u5728\u521B\u5EFA\u5B66\u4E60\u8DEF\u5F84\u65F6\uFF0C\u5C06\u6839\u636E\u524D\u5E8F/\u540E\u7EED\u5173\u7CFB\u751F\u6210\u5B66\u4E60\u8DEF\u5F84\u3002")))}].map((oa,Ea)=>Ol.createElement("div",{key:Ea,className:"py-22px-rem px-16px-rem w-full flex item-center gap-20px-rem rounded-8px-rem",style:{background:"rgba(70,99,162,0.16)",border:"1rem solid #203259"}},Ol.createElement("div",{className:"text-18px-rem flex item-center justify-center rounded-4px-rem",style:{background:"rgba(48,97,208,0.2)",width:"70rem",height:"80rem"}},(Ea+1).toString().padStart(2,"0")),Ol.createElement("div",{className:"flex-1 minW-0"},oa==null?void 0:oa.desc))))))):Ol.createElement(qh,{settpacti:va,tpacti:Ca}),isshow:!0},{name:"\u5B66\u4E60\u8DEF\u5F84",key:2,content:Ol.createElement(Ac,{setxxljac:Pa,xxljac:ro}),isshow:!0},{name:"\u4EA4\u6D41\u53CD\u9988",key:4,content:Ol.createElement(Zn,null),isshow:Oa.get("type")!=="classrooms"},{name:"\u80FD\u529B\u56FE\u8C31",key:5,content:Ol.createElement(vp,null),isshow:!0},{name:"\u6570\u636E\u7EDF\u8BA1",key:6,content:Ol.createElement(Og.default,{learningpathId:ko,isCompontent:!0}),isshow:Oa.get("type")=="classrooms"&&ko&&(0,ol.GJ)()}].filter(oa=>oa==null?void 0:oa.isshow);(0,se.useEffect)(()=>{var oa,Ea;if((oa=Me==null?void 0:Me.detail)!=null&&oa.nodes){let Yo=[...(Ea=Me==null?void 0:Me.detail)==null?void 0:Ea.nodes];di(Yo==null?void 0:Yo.splice(1))}},[(Ei=Me==null?void 0:Me.detail)==null?void 0:Ei.nodes]),(0,se.useEffect)(()=>Fa.Z.subscribe("create_a_knowledge_map",()=>{ts(!0)}),[]);const so=(oa={})=>{Fr({type:"pathsDetail/getKnowledgeGraphs",payload:gv({graphable_type:Oa.get("type")==="classrooms"?"course":"subject",graphable_id:Ua.pathId},oa)})},Ti=oa=>Zp(void 0,null,function*(){var Ea,Yo,Eo,Ss,_s,il,Ks;const{nodeType:Kl,description:Hl,name:Hu,tags:Wc}=oa;Xo(!0);const Gs=yield(0,Ot.ZP)("/api/knowledge/v2/add_node.json",{method:"POST",body:{label:"\u56FE\u8C31",subject_id:Ua==null?void 0:Ua.pathId,properties:{description:Hl,rootNodeUuid:(Eo=(Yo=(Ea=Me==null?void 0:Me.detail)==null?void 0:Ea.nodes)==null?void 0:Yo[0])==null?void 0:Eo.uuid,name:Hu,nodeType:Kl[0],tags:(Wc==null?void 0:Wc.join("\uFF0C"))||"",color:"1"},relationships:[{startNodeUuid:(il=(_s=(Ss=Me==null?void 0:Me.detail)==null?void 0:Ss.nodes)==null?void 0:_s[0])==null?void 0:il.uuid,type:"\u5305\u542B"}]}});(Gs==null?void 0:Gs.status)===0&&(ts(!1),va((Ks=Gs==null?void 0:Gs.data)==null?void 0:Ks.uuid),_t(3),so({graphable_id:Ua==null?void 0:Ua.pathId})),Xo(!1)});return Ol.createElement("div",{className:co.content,style:{paddingTop:"20rem"}},Ol.createElement("div",{style:{padding:"0 40rem",position:"sticky",top:0,zIndex:99}},Ol.createElement(hp,{activied:mn,setactivied:_t,TabsData:Gr,tplist:xo,settpacti:va,tpacti:Ca,setxxljac:Pa,xxljac:ro})),(Uo==null?void 0:Uo.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802"&&Ol.createElement(Qs.NI,{onFinish:()=>{so()},type:(Si=Uo==null?void 0:Uo.params)==null?void 0:Si.type}),Ol.createElement(Bt.default,{open:_l,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>ts(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{rl.resetFields()},confirmLoading:xl,onOk:()=>rl.submit(),title:"\u65B0\u589E\u77E5\u8BC6\u56FE\u8C31"},Ol.createElement("div",{className:co.modal},Ol.createElement("div",{className:co.mHead},"\u8282\u70B9\u5C5E\u6027"),Ol.createElement(Xe.default,{form:rl,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onFinish:Ti,className:co.form},Ol.createElement(Xe.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"}]},Ol.createElement(vt.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ol.createElement(Xe.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"}]},Ol.createElement(vt.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),Ol.createElement(Xe.default.Item,{className:co.mType,label:Ol.createElement("span",null,"\u56FE\u8C31\u7C7B\u578B ",Ol.createElement(Sn.Z,{title:"\u5F53\u524D\u77E5\u8BC6\u56FE\u8C31\u7684\u7C7B\u578B\uFF0C\u5982\uFF1A\u5927\u7EB2\u56FE\u8C31\u3001\u80FD\u529B\u56FE\u8C31"},Ol.createElement(ah.Z,null))),name:"nodeType",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},Ol.createElement(ot.Z,{subjectId:Ua==null?void 0:Ua.pathId,type:1}))))),Ol.createElement("div",{className:co.content},(ba=Gr.find(oa=>oa.key===mn))==null?void 0:ba.content))};var K0=(0,je.connect)(({pathsDetail:Oe,user:Fe,loading:Me,globalSetting:jt})=>({pathsDetail:Oe,user:Fe,globalSetting:jt,loading:Me.models.index}))(Xp),Vp=he(59301),Ng=Object.getOwnPropertySymbols,mv=Object.prototype.hasOwnProperty,bp=Object.prototype.propertyIsEnumerable,Fg=(Oe,Fe)=>{var Me={};for(var jt in Oe)mv.call(Oe,jt)&&Fe.indexOf(jt)<0&&(Me[jt]=Oe[jt]);if(Oe!=null&&Ng)for(var jt of Ng(Oe))Fe.indexOf(jt)<0&&bp.call(Oe,jt)&&(Me[jt]=Oe[jt]);return Me},xp=(Oe,Fe,Me)=>new Promise((jt,Pn)=>{var Tr=_t=>{try{mn(Me.next(_t))}catch(Kn){Pn(Kn)}},Fr=_t=>{try{mn(Me.throw(_t))}catch(Kn){Pn(Kn)}},mn=_t=>_t.done?jt(_t.value):Promise.resolve(_t.value).then(Tr,Fr);mn((Me=Me.apply(Oe,Fe)).next())});function Ep(Oe){const Fe=(Pn,Tr)=>{if(Pn.localName===Tr)return Pn;for(let Fr=0,mn=Pn;mn=mn.parentNode;Fr++){if(mn.localName===Tr)return mn;if(mn==document.documentElement)return!1}},Me=Oe.target,jt=Fe(Me,"a");if(console.log([jt],jt==null?void 0:jt.href,44),!(jt!=null&&jt.href)&&Me.tagName.toUpperCase()==="IMG"){let Pn=Me.src||Me.getAttribute("src");Pn&&(Pn==null?void 0:Pn.indexOf("/images/avatars/User"))===-1&&(Oe.stopPropagation(),Oe.preventDefault(),Fa.Z.publish("preview-image",Pn))}}const Qp=Oe=>{var Fe=Oe,{pathsDetail:Me,globalSetting:jt,loading:Pn,dispatch:Tr}=Fe,Fr=Fg(Fe,["pathsDetail","globalSetting","loading","dispatch"]);const[mn]=(0,je.useSearchParams)(),_t=(0,je.useParams)(),Kn=(0,se.useRef)(),[wr,ra]=(0,se.useState)((mn==null?void 0:mn.get("type"))!=="classrooms"?3:1);(0,se.useEffect)(()=>{mn.get("tabs")&&ra(parseInt(mn.get("tabs"))||3)},[mn.get("tabs")]),(0,se.useEffect)(()=>{if(Kn.current)return Kn.current.addEventListener("mousedown",Ep),()=>{var aa;(aa=Kn.current)==null||aa.removeEventListener("mousedown",Ep)}},[Kn.current]),(0,se.useEffect)(()=>{_t.pathId&&qi()},[_t.pathId]),(0,se.useEffect)(()=>(Tr({type:"globalSetting/footerToggle",payload:!1}),()=>{Tr({type:"globalSetting/footerToggle",payload:!0})}),[]);const qi=()=>xp(void 0,null,function*(){const aa=yield Tr({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:mn.get("type")==="classrooms"?"course":"subject",graphable_id:_t.pathId}});mn.get("type")!="classrooms"&&(aa!=null&&aa.id)&&mn.get("token")&&(location.href=location.pathname)});return Vp.createElement(wt.Z,{spinning:!1},Vp.createElement("section",{id:"knowledgegraphDetail",className:_o.bg,style:{background:mn.get("type")!=="classrooms"?"#010A23":""}},Vp.createElement(Ni,null),Vp.createElement(K0,{activied:wr,setactivied:ra})))};var G0=(0,je.connect)(({pathsDetail:Oe,loading:Fe,globalSetting:Me})=>({pathsDetail:Oe,globalSetting:Me,loading:Fe}))(Qp)},10249:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return $t}});var se=he(59301),je={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"},Bt=he(8591),Rt=he(43418),Dt=he(71418),dt=he(92832),Le=he(92310),Xe=he.n(Le),_e=he(58661),It=he(5805),vt=he(59301),wt=Object.defineProperty,Ot=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,pt=(Ft,Gt,Je)=>Gt in Ft?wt(Ft,Gt,{enumerable:!0,configurable:!0,writable:!0,value:Je}):Ft[Gt]=Je,mt=(Ft,Gt)=>{for(var Je in Gt||(Gt={}))Ye.call(Gt,Je)&&pt(Ft,Je,Gt[Je]);if(Ot)for(var Je of Ot(Gt))We.call(Gt,Je)&&pt(Ft,Je,Gt[Je]);return Ft},Jt=(Ft,Gt,Je)=>new Promise((Sn,_n)=>{var Cn=et=>{try{pn(Je.next(et))}catch(tn){_n(tn)}},Vt=et=>{try{pn(Je.throw(et))}catch(tn){_n(tn)}},pn=et=>et.done?Sn(et.value):Promise.resolve(et.value).then(Cn,Vt);pn((Je=Je.apply(Ft,Gt)).next())}),$t=({value:Ft=[],onChange:Gt,type:Je,subjectId:Sn})=>{const[_n,Cn]=(0,se.useState)(!1),[Vt,pn]=(0,se.useState)([]),[et,tn]=(0,se.useState)([]),[Ct,Ln]=(0,se.useState)([]),[Mn,bn]=(0,se.useState)(""),[Dr,oi]=(0,se.useState)(""),[yt,tt]=(0,se.useState)(!1),[Rn,fi]=(0,se.useState)(!1),li=[{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"}],In=Je===1?"\u7C7B\u578B":"\u6807\u7B7E",an=Je===1?"0":"4";(0,se.useEffect)(()=>{_n&&(Ln(Ft),Xr())},[_n]);const Xr=()=>Jt(void 0,null,function*(){fi(!0);const qn=yield(0,_e.ZP)("/api/knowledge_items.json",{method:"get",params:{subject_id:Sn,item_type:an}});(qn==null?void 0:qn.status)===0&&(pn(qn==null?void 0:qn.data),tn((qn==null?void 0:qn.data)||[])),fi(!1)}),Or=qn=>Jt(void 0,null,function*(){var On;fi(!0);const qe=(On=et==null?void 0:et.find(Ce=>Ce.name===qn))==null?void 0:On.id,Ie=yield(0,_e.ZP)(`/api/knowledge_items/${qe}.json`,{method:"delete",body:{subject_id:Sn}});if((Ie==null?void 0:Ie.status)===0){Xr(),Bt.ZP.success("\u5220\u9664\u6210\u529F");return}fi(!1)}),zn=({title:qn="",style:On={},showDelete:qe=!0,modal:Ie=!1,active:Ce=!1,showdeletes:He=!1})=>{const we=(Lt=>Lt.split("").reduce((Zt,or)=>Zt+or.charCodeAt(0),0))(qn)%li.length,{background:Xt,borderColor:wn}=li[we];return vt.createElement("div",{className:Xe()(je.tag,Ce?je.active:""),onClick:()=>{Ie&&(_n===1&&Ln([qn]),_n===2&&(Ct.includes(qn)?Ln(Ct.filter(Lt=>Lt!==qn)):Ln([...Ct,qn])))},style:mt({background:Xt,borderColor:wn},On)},vt.createElement("span",null,qn),qe&&vt.createElement("i",{style:{display:!He&&"none"},onClick:Lt=>{Lt.stopPropagation(),Ie?Or(qn):Gt(Ft.filter(Zt=>Zt!==qn))},className:"iconfont icon-shanchu5"}))},Qn=()=>{Gt([...Ct]),Cn(!1)},Jn=()=>Jt(void 0,null,function*(){if(!Mn.replace(/\s+/g,"")){oi(`${In}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(Vt.includes(Mn)){oi(`\u8BE5${In}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}fi(!0);const qn=yield(0,_e.ZP)("/api/knowledge_items.json",{method:"post",body:{subject_id:Sn,item_type:an,name:Mn}});if((qn==null?void 0:qn.status)===0){yield Xr(),tt(!1),Bt.ZP.success("\u6DFB\u52A0\u6210\u529F");return}fi(!1)});return vt.createElement("div",{className:je.tagsModal},Je===1&&vt.createElement(vt.Fragment,null,Ft==null?void 0:Ft.map((qn,On)=>vt.createElement(zn,{key:On,title:qn,showDelete:!1,style:{marginRight:"20rem"}})),vt.createElement("div",{onClick:()=>Cn(1),style:{marginBottom:"20rem"},className:je.btn},vt.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),Ft!=null&&Ft.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),Je===2&&vt.createElement(vt.Fragment,null,Ft==null?void 0:Ft.map((qn,On)=>vt.createElement(zn,{key:On,title:qn})),vt.createElement("div",{onClick:()=>Cn(2),className:je.btn,style:{marginBottom:"10rem"}},vt.createElement("i",{className:"iconfont icon-tianjiatixing"}),Ft!=null&&Ft.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),vt.createElement(Rt.default,{open:!!_n,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",onCancel:()=>Cn(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{tt(!1),oi(""),bn("")},onOk:Qn,title:`\u9009\u62E9${In}`},vt.createElement("div",{className:je.modal},vt.createElement(Dt.Z,{spinning:Rn},vt.createElement("div",{className:je.mHead},vt.createElement("b",null),vt.createElement("span",null,`\u8282\u70B9${In}`,"\uFF08",Vt.length,"\uFF09"),vt.createElement("div",{onClick:()=>{yt||(tt(!0),oi(""),bn(""))},className:je.btn},vt.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),vt.createElement("div",{className:je.body},!(Vt!=null&&Vt.length)&&!yt&&vt.createElement(It.Z,{style:{height:"230rem"}}),Vt==null?void 0:Vt.map((qn,On)=>vt.createElement(zn,{showDelete:!(Ct!=null&&Ct.includes(qn.name)),showdeletes:!!qn.id,modal:!0,style:{cursor:"pointer",verticalAlign:"center",marginTop:"10rem",marginBottom:"10rem"},active:Ct.includes(qn.name),key:On,title:qn.name})),yt&&vt.createElement("div",{className:je.add},vt.createElement(dt.default,{style:{width:"rem"},size:"large",value:Mn,onChange:qn=>{oi(""),bn(qn.target.value)}}),vt.createElement("i",{onClick:Jn,className:"iconfont icon-dui",style:{color:"#1B8565"}}),vt.createElement("i",{onClick:()=>tt(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Dr&&vt.createElement("div",{className:je.error},Dr)))))))}},48475:function(Hn,xr,he){"use strict";var se=he(59301),je=Object.defineProperty,Bt=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable,dt=(It,vt,wt)=>vt in It?je(It,vt,{enumerable:!0,configurable:!0,writable:!0,value:wt}):It[vt]=wt,Le=(It,vt)=>{for(var wt in vt||(vt={}))Rt.call(vt,wt)&&dt(It,wt,vt[wt]);if(Bt)for(var wt of Bt(vt))Dt.call(vt,wt)&&dt(It,wt,vt[wt]);return It};const Xe=()=>`shadow-${Math.random().toString(36).slice(2,9)}`,_e=({percentage:It,startAngle:vt=270,strokeColor:wt="#42BECD",trackColor:Ot="#e6e6e6",innerBackgroundColor:Ye="#fff",text:We="",textColor:pt="#000",textSize:mt="1rem",textPadding:Jt="28rem",outerDiameter:Qt,innerDiameter:$t,maxTextLength:Ft=6,onClick:Gt,hoverEffect:Je=!0,style:Sn})=>{const[_n,Cn]=(0,se.useState)(0),[Vt,pn]=(0,se.useState)(0),[et,tn]=(0,se.useState)(!1),Ct=Or=>{var zn,Qn;const Jn=parseFloat(Or),qn=parseFloat((Qn=(zn=document.documentElement)==null?void 0:zn.style)==null?void 0:Qn.fontSize);return Jn*qn},Ln=()=>{Cn(Ct(Qt)),pn(Ct($t))};(0,se.useEffect)(()=>(Ln(),window.addEventListener("resize",Ln),()=>window.removeEventListener("resize",Ln)),[Qt,$t]);const Mn=_n/2,bn=Vt/2,Dr=(_n-Vt)/2,oi=Mn-Dr,yt=2*Math.PI*oi,tt=yt-It/100*yt,Rn=`rotate(${vt} ${Mn} ${Mn})`,li=((Or,zn)=>zn&&Or.length>zn?Or.slice(0,zn-1)+"...":Or)(We,Ft),In=()=>{Je&&tn(!0)},an=()=>{tn(!1)},Xr=Ct("4rem");return se.createElement("svg",{width:_n,height:_n,viewBox:`0 0 ${_n} ${_n}`,xmlns:"http://www.w3.org/2000/svg",onClick:Gt,onMouseEnter:In,onMouseLeave:an,style:Le({cursor:Gt?"pointer":"default"},Sn)},se.createElement("circle",{cx:Mn,cy:Mn,r:bn,fill:Ye}),se.createElement("circle",{cx:Mn,cy:Mn,r:oi,fill:"none",stroke:Ot,strokeWidth:Dr}),se.createElement("circle",{cx:Mn,cy:Mn,r:oi,fill:"none",stroke:wt,strokeWidth:Dr,strokeDasharray:yt,strokeDashoffset:tt,strokeLinecap:"round",transform:Rn}),et&&se.createElement("circle",{cx:Mn,cy:Mn,r:oi+Dr/2,fill:"none",stroke:"#FA6400",strokeWidth:Ct("4rem")}),We&&se.createElement("foreignObject",{x:Mn-bn,y:Mn-bn,width:Vt,height:Vt},se.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",padding:Jt}},se.createElement("b",{style:{color:pt,fontSize:mt,textAlign:"center"},title:We},li))))};xr.Z=_e},94811:function(Hn,xr,he){"use strict";var se=he(59301),je=he(76411),Bt=he.n(je),Rt=he(48961),Dt=he.n(Rt),dt=he(59301),Le=Object.defineProperty,Xe=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,vt=(Ye,We,pt)=>We in Ye?Le(Ye,We,{enumerable:!0,configurable:!0,writable:!0,value:pt}):Ye[We]=pt,wt=(Ye,We)=>{for(var pt in We||(We={}))_e.call(We,pt)&&vt(Ye,pt,We[pt]);if(Xe)for(var pt of Xe(We))It.call(We,pt)&&vt(Ye,pt,We[pt]);return Ye};const Ot=({dataSource:Ye,height:We,labelTextColor:pt,legend:mt={}})=>{console.log("dataSource:",Ye);const Jt=(0,se.useRef)(null),Qt=(0,se.useRef)(null),[$t,Ft]=(0,se.useState)({}),[Gt,Je]=(0,se.useState)(""),[Sn,_n]=(0,se.useState)(""),Cn=Ye||[{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,se.useEffect)(()=>(pn(),window.addEventListener("resize",Vt),()=>{window.removeEventListener("resize",Vt)}),[]),(0,se.useEffect)(()=>{Ye!=null&&Ye.length&&Vt()},[Ye]);const Vt=()=>{var bn,Dr;const oi=et(Cn,.8);(bn=Qt.current)==null||bn.setOption(oi),(Dr=Qt.current)==null||Dr.resize()},pn=()=>{const bn=Jt.current;Qt.current=je.init(bn);const Dr=et(Cn,.8);Ft(Dr),Qt.current.setOption(Dr),Qt.current.getZr().off("mousewheel"),Dr.series.push({name:"\u638C\u63E1\u7387",type:"pie",labelLine:{length:10,length2:10},startAngle:-20,clockwise:!1,radius:["20%","50%"],center:["50%","50%"],data:Cn,itemStyle:{opacity:0}}),Qt.current.setOption(Dr),Mn(Qt.current)},et=(bn,Dr)=>{let oi,yt=[],tt=0,Rn=0,fi=0,li=[],In=[],an=1-Dr;bn.sort((Or,zn)=>zn.value-Or.value);for(let Or=0;OrJn.name===Or)[0],Qn=Ln(zn.value*100,2)+"%";return`${zn.name} ${Qn}`}},mt),labelLine:{show:!0,lineStyle:{color:"#7BC0CB"}},label:{show:!0,position:"outside",rich:{b:{color:pt||"#FFF",fontSize:12,lineHeight:20},c:{fontSize:16,lineHeight:24,color:pt||"#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:Xr,viewControl:{alpha:40,distance:300,rotateSensitivity:0,zoomSensitivity:0,panSensitivity:0,autoRotate:!1}},series:yt}},tn=(bn,Dr)=>(bn.sort((oi,yt)=>yt.pieData.value-oi.pieData.value),Dr*25/bn[0].pieData.value),Ct=(bn,Dr,oi,yt,tt,Rn)=>{let fi=(bn+Dr)/2,li=bn*Math.PI*2,In=Dr*Math.PI*2,an=fi*Math.PI*2;bn===0&&Dr===1&&(oi=!1),tt=typeof tt!="undefined"?tt:1/3;let Xr=oi?Math.cos(an)*.1:0,Or=oi?Math.sin(an)*.1:0,zn=yt?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,Jn){return QnIn?Xr+Math.cos(In)*(1+Math.cos(Jn)*tt)*zn:Xr+Math.cos(Qn)*(1+Math.cos(Jn)*tt)*zn},y:function(Qn,Jn){return QnIn?Or+Math.sin(In)*(1+Math.cos(Jn)*tt)*zn:Or+Math.sin(Qn)*(1+Math.cos(Jn)*tt)*zn},z:function(Qn,Jn){return Qn<-Math.PI*.5?Math.sin(Qn):Qn>Math.PI*2.5?Math.sin(Qn)*Rn*.1:Math.sin(Jn)>0?1*Rn*.1:-1}}},Ln=(bn,Dr)=>{let oi=parseFloat(bn);if(isNaN(oi))return!1;oi=Math.round(bn*Math.pow(10,Dr))/Math.pow(10,Dr);let yt=oi.toString();(yt==null?void 0:yt.indexOf("."))<0&&(yt+=".");for(let Rn=yt.length-(yt==null?void 0:yt.indexOf("."));Rn<=Dr;Rn++)yt+="0";return yt},Mn=()=>{Qt.current.on("click",function(bn){if(bn.seriesName==="pie2d"){Je(bn.dataIndex);let Dr=Qt.current.getWidth()/2,oi=Qt.current.getHeight()/2;Qt.current.dispatchAction({type:"pieSelect",seriesIndex:0,dataIndex:bn.dataIndex})}}),Qt.current.on("mousemove",function(bn){}),Qt.current.on("mouseout",function(){Qt.current.dispatchAction({type:"pieUnSelect",seriesIndex:0,dataIndex:Sn}),_n("")})};return dt.createElement("div",{ref:Jt,style:{width:"100%",height:We||"500rem"}})};xr.Z=Ot},68971:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Oo}});var se=he(59301),je=he(44225),Bt=he(78241),Rt=he(8591),Dt=he(54580),dt=he(43428),Le=he(3113),Xe=he(43418),_e=he(92832),It=he(6848),vt=he(57809),wt=he(99313),Ot=he(5112),Ye=he(17574),We={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"},pt=he(99267),mt=he(43531),Jt=he(15075),Qt={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"},$t=he(92310),Ft=he.n($t),Gt=he(58661),Je=he(59301),Sn=Object.defineProperty,_n=Object.getOwnPropertySymbols,Cn=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,pn=(fn,Lr,nr)=>Lr in fn?Sn(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,et=(fn,Lr)=>{for(var nr in Lr||(Lr={}))Cn.call(Lr,nr)&&pn(fn,nr,Lr[nr]);if(_n)for(var nr of _n(Lr))Vt.call(Lr,nr)&&pn(fn,nr,Lr[nr]);return fn},tn=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});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},{name:"\u8BD5\u9898",id:"st",item_type:2}],Ln=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];var bn=({value:fn=[],onChange:Lr,type:nr,dataSources:Oi=[],pathsDetail:Do={},showmodal:cr,containerRef:tl})=>{const ka=(0,je.useParams)(),[Vi,No]=(0,se.useState)(!1),[Nl,Aa]=(0,se.useState)([]),[yo,zi]=(0,se.useState)(),[Fs,bo]=(0,se.useState)(""),[js,kl]=(0,se.useState)(""),[Es,vl]=(0,se.useState)(""),[Is,fl]=(0,se.useState)(!1),[Gl,Ul]=(0,se.useState)(!1),[Ko,ao]=(0,se.useState)([]),[Wa,Dl]=(0,se.useState)("");(0,se.useEffect)(()=>{Vi&&lu()},[Vi]);function lu(){return tn(this,null,function*(){let Co=yield(0,Gt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:nr,subject_id:ka==null?void 0:ka.pathId}});(Co==null?void 0:Co.status)===0&&(nr===3?Aa(Co==null?void 0:Co.data):(Aa([...Ln,...Co==null?void 0:Co.data]),ao([...Ct,...Co==null?void 0:Co.data2])))})}const mc=[{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"}],Ro="\u6807\u7B7E";(0,se.useEffect)(()=>{Aa(Oi)},[]),(0,se.useEffect)(()=>{Vi&&zi(fn)},[Vi]);const jl=({title:Co="",style:Go={},values:ou="",showDelete:Mc=!0,modal:Ai=!1,active:tu=!1})=>{const nc=(ol=>ol.split("").reduce((Po,ds)=>Po+ds.charCodeAt(0),0))(Co)%mc.length,{background:Tu,borderColor:$i}=mc[nc];return Je.createElement("div",{className:Ft()(Qt.tag,tu?Qt.active:""),onClick:()=>{var ol;if(Ai){if(Vi===1){let Po=[...Nl,...Ko];zi([...Po.filter(ds=>(ds==null?void 0:ds.id)===ou)])}Vi===2&&((ol=yo==null?void 0:yo.map(Po=>Po.id))!=null&&ol.includes(ou)?zi(yo.filter(Po=>Po.id!==ou)):zi([...yo,...Nl.filter(Po=>(Po==null?void 0:Po.id)===ou)]))}},style:et({background:Tu,borderColor:$i},Go)},Je.createElement("span",null,Co),Mc&&Je.createElement("i",{onClick:ol=>tn(void 0,null,function*(){var Po;if(ol.stopPropagation(),Ai){Aa(Nl.filter(Zl=>Zl.name!==Co)),Aa(Nl.filter(Zl=>Zl.name!==Co));let ds=yield(0,Gt.ZP)(`/api/knowledge_items/${ou}.json`,{method:"delete",body:{id:ou,subject_id:(Po=Do==null?void 0:Do.detail)==null?void 0:Po.id}});(ds==null?void 0:ds.status)===0&&lu()}else Lr(fn.filter(ds=>ds.id!==ou))}),className:"iconfont icon-shanchu5"}))},Ml=()=>{Lr(yo),No(!1)},mu=Co=>tn(void 0,null,function*(){if(!Fs.replace(/\s+/g,"")&&Co===1){vl(`${Ro}\u4E0D\u80FD\u4E3A\u7A7A`);return}if(!js.replace(/\s+/g,"")&&Co===2){Dl("\u8D44\u6E90\u4E0D\u80FD\u4E3A\u7A7A");return}if((Nl.map(ou=>ou.name).includes(Fs)||Ko.map(ou=>ou.name).includes(Fs))&&Co===1){vl(`\u8BE5${Ro}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01`);return}if((Ko.map(ou=>ou.name).includes(js)||Nl.map(ou=>ou.name).includes(js))&&Co===2){Dl("\u8BE5\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0\uFF01");return}let Go=yield(0,Gt.ZP)("/api/knowledge_items.json",{method:"post",body:{item_type:nr===3?3:Co,name:nr===3||Co===1?Fs:js,subject_id:ka==null?void 0:ka.pathId}});(Go==null?void 0:Go.status)===0&&lu(),Co===1&&fl(!1),Co===2&&Ul(!1)});return Je.createElement("div",{className:Qt.tagsModal},nr===5&&Je.createElement(Je.Fragment,null,fn==null?void 0:fn.map((Co,Go)=>Je.createElement(jl,{values:Co.id,key:Go,title:Co.name,showDelete:!1,style:{marginRight:"20rem",marginBottom:0}})),cr&&Je.createElement("div",{onClick:()=>No(1),style:{marginBottom:"0rem"},className:Qt.btn},Je.createElement("i",{className:"iconfont icon-genghuanguanliyuan1"}),fn!=null&&fn.length?"\u66F4\u6362":"\u9009\u62E9","\u7C7B\u578B")),nr===3&&Je.createElement(Je.Fragment,null,fn==null?void 0:fn.map((Co,Go)=>Je.createElement(jl,{values:Co.id,key:Go,title:Co.name})),cr&&Je.createElement("div",{onClick:()=>No(2),className:Qt.btn,style:{marginBottom:"10rem"}},Je.createElement("i",{className:"iconfont icon-tianjiatixing"}),fn!=null&&fn.length?"\u66F4\u6362":"\u9009\u62E9","\u6807\u7B7E")),Je.createElement(Xe.default,{open:!!Vi,centered:!0,width:"1000rem",okText:"\u4FDD\u5B58",getContainer:()=>tl.current,onCancel:()=>No(!1),cancelText:"\u53D6\u6D88",afterClose:()=>{fl(!1),Ul(!1),vl(""),bo("")},onOk:Ml,title:`\u9009\u62E9${Ro}`},Je.createElement("div",{className:Qt.modal},Je.createElement("div",{className:Qt.mHead},Je.createElement("b",null),Je.createElement("span",null,`${Ro}`,"\uFF08",Nl.length,"\uFF09"),Je.createElement("div",{onClick:()=>{fl(!0),vl(""),bo("")},className:Qt.btn},Je.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Je.createElement("div",{className:Qt.body},Nl==null?void 0:Nl.map((Co,Go)=>{var ou,Mc,Ai;return Je.createElement(jl,{showDelete:nr===3?!((ou=yo==null?void 0:yo.map(tu=>tu==null?void 0:tu.id))!=null&&ou.includes(Co==null?void 0:Co.id)):!((Mc=yo==null?void 0:yo.map(tu=>tu==null?void 0:tu.id))!=null&&Mc.includes(Co==null?void 0:Co.id))&&!((Ai=Ln.map(tu=>tu.name))!=null&&Ai.includes(Co.name)),modal:!0,style:{cursor:"pointer"},active:yo==null?void 0:yo.map(tu=>tu==null?void 0:tu.id).includes(Co==null?void 0:Co.id),key:Co==null?void 0:Co.id,values:Co==null?void 0:Co.id,title:Co==null?void 0:Co.name})}),Is&&Je.createElement("div",{className:Qt.add},Je.createElement(_e.default,{style:{width:"rem"},size:"large",value:Fs,onChange:Co=>{vl(""),bo(Co.target.value)}}),Je.createElement("i",{onClick:()=>mu(1),className:"iconfont icon-dui",style:{color:"#1B8565"}}),Je.createElement("i",{onClick:()=>fl(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Es&&Je.createElement("div",{className:Qt.error},Es)))),nr===5&&Je.createElement("div",{className:Qt.modal},Je.createElement("div",{className:Qt.mHead},Je.createElement("b",null),Je.createElement("span",null,"\u8D44\u6E90","\uFF08",Ko.length,"\uFF09"),Je.createElement("div",{onClick:()=>{Ul(!0),Dl(""),kl("")},className:Qt.btn},Je.createElement("i",{className:"iconfont icon-tianjiatixing"}),"\u6DFB\u52A0")),Je.createElement("div",{className:Qt.body},Ko==null?void 0:Ko.map((Co,Go)=>{var ou,Mc;return Je.createElement(jl,{showDelete:!((ou=yo==null?void 0:yo.map(Ai=>Ai==null?void 0:Ai.id))!=null&&ou.includes(Co==null?void 0:Co.id))&&!((Mc=Ct.map(Ai=>Ai.name))!=null&&Mc.includes(Co.name)),modal:!0,style:{cursor:"pointer"},active:yo==null?void 0:yo.map(Ai=>Ai==null?void 0:Ai.id).includes(Co==null?void 0:Co.id),key:Co==null?void 0:Co.id,values:Co==null?void 0:Co.id,title:Co==null?void 0:Co.name})}),Gl&&Je.createElement("div",{className:Qt.add},Je.createElement(_e.default,{style:{width:"rem"},size:"large",value:js,onChange:Co=>{Dl(""),kl(Co.target.value)}}),Je.createElement("i",{onClick:()=>mu(2),className:"iconfont icon-dui",style:{color:"#1B8565"}}),Je.createElement("i",{onClick:()=>Ul(!1),className:"iconfont icon-shanchu10",style:{color:"#9096A3"}}),!!Wa&&Je.createElement("div",{className:Qt.error},Wa))))))},Dr=he(42684),oi=he(1710),yt=he(58421),tt=he(83274),Rn=he(59301),fi=Object.getOwnPropertySymbols,li=Object.prototype.hasOwnProperty,In=Object.prototype.propertyIsEnumerable,an=(fn,Lr)=>{var nr={};for(var Oi in fn)li.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&fi)for(var Oi of fi(fn))Lr.indexOf(Oi)<0&&In.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},Xr=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});let Or=[{label:"\u5B9E\u8BAD",key:"1"},{label:"\u89C6\u9891",key:"2"},{label:"\u8BFE\u4EF6",key:"3"},{label:"\u8BD5\u5377",key:"4"}];const zn=fn=>{var Lr=fn,{types:nr,globalSetting:Oi,loading:Do,dispatch:cr,pathsDetail:tl,onChange:ka,ktzykey:Vi,getother:No}=Lr,Nl=an(Lr,["types","globalSetting","loading","dispatch","pathsDetail","onChange","ktzykey","getother"]),Aa,yo,zi,Fs;let[bo,js]=(0,se.useState)({page:1,limit:10,type:nr,keyword:"",select_type:1,subject_id:"",course_id:""});const[kl,Es]=(0,se.useState)([]);(0,se.useEffect)(()=>{vl()},[nr]);function vl(){return Xr(this,null,function*(){bo.select_type===3&&(bo.subject_id="",bo.course_id=""),bo.select_type===2&&(bo.subject_id=""),bo.select_type===1&&(bo.course_id="");let Is=yield(0,Gt.ZP)("/api/paths/search_all.json",{method:"get",params:bo});(Is==null?void 0:Is.status)===0&&Es(Is)})}return Rn.createElement("div",{style:{padding:"10rem 20rem"}},Rn.createElement("div",{style:{display:"flex"}},Rn.createElement("div",null,nr==="1"&&Rn.createElement(_e.default,{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u67E5\u8BE2",style:{width:"992rem",marginRight:"10rem",height:"40rem"},onChange:Is=>{bo.keyword=Is.target.value,bo.page=1,bo.limit=10,js(bo)}}),nr!=="1"&&Rn.createElement("div",{style:{display:"flex"}},Rn.createElement("div",{style:{width:"223rem",alignItems:"center",display:"flex",height:"40rem"}},Rn.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"),Rn.createElement(vt.default,{value:bo.select_type,onChange:Is=>{bo.select_type=Is,bo.page=1,bo.limit=10,js(bo),vl()},className:We.select,style:{width:"131rem",height:"40rem"}},Rn.createElement(vt.default.Option,{value:1},"\u5B9E\u8DF5\u8BFE\u7A0B"),Rn.createElement(vt.default.Option,{value:2},"\u6559\u5B66\u8BFE\u5802"),Rn.createElement(vt.default.Option,{value:3},"\u4E2A\u4EBA\u4E2D\u5FC3"))),bo.select_type!==3&&Rn.createElement(vt.default,{value:bo.subject_id||bo.course_id,onChange:Is=>{bo.course_id=Is,bo.subject_id=Is,bo.page=1,bo.limit=10,js(bo),vl()},className:We.select,style:{width:"270rem",marginLeft:"8rem"}},bo.select_type===1&&((Aa=kl==null?void 0:kl.subjects)==null?void 0:Aa.map(Is=>Rn.createElement(vt.default.Option,{value:Is.id},Is.name))),bo.select_type===2&&((yo=kl==null?void 0:kl.courses)==null?void 0:yo.map(Is=>Rn.createElement(vt.default.Option,{value:Is.id},Is.name)))),Rn.createElement(_e.default,{onChange:Is=>{bo.keyword=Is.target.value,bo.page=1,bo.limit=10,js(bo)},addonBefore:((zi=Or==null?void 0:Or.find(Is=>Is.key===nr))==null?void 0:zi.label)+"\u540D\u79F0",className:We.input,style:{marginLeft:"10rem",width:"486rem",height:"40rem"}}))),Rn.createElement(Le.ZP,{type:"primary",style:{height:"40rem",fontSize:"14rem",boxShadow:"none",lineHeight:"40rem",width:"108rem",padding:"0",marginLeft:"10rem"},onClick:()=>{vl()}},"\u67E5\u8BE2")),Rn.createElement(oi.default,{style:{marginTop:"10rem"},dataSource:kl==null?void 0:kl.data,pagination:!1,rowKey:Is=>Is.id,scroll:{y:"400rem"},columns:[{title:((Fs=Or==null?void 0:Or.find(Is=>Is.key===nr))==null?void 0:Fs.label)+"\u540D\u79F0",dataIndex:"name",ellipsis:!0,key:"name"},{title:nr==="1"?"\u5408\u4F5C\u8005":"\u6240\u5C5E\u6A21\u5757",dataIndex:"name",key:"name",ellipsis:!0,render:(Is,fl)=>Rn.createElement("span",null,nr==="1"?fl==null?void 0:fl.user_names:fl==null?void 0:fl.model)},{title:nr==="1"?"\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4":"\u6240\u5728\u4F4D\u7F6E",dataIndex:"updated_at",ellipsis:!0,render:(Is,fl)=>Rn.createElement("span",null,nr==="1"?fl==null?void 0:fl.updated_at:fl==null?void 0:fl.stage_name)},{title:"\u64CD\u4F5C",dataIndex:"url",width:"100rem",render:(Is,fl)=>Rn.createElement("a",{onClick:()=>{(fl==null?void 0:fl.container_type)==="Video"?Xe.default.confirm({icon:null,title:"\u89C6\u9891\u64AD\u653E",centered:!0,closable:!0,footer:!1,width:600,content:Rn.createElement(tt.Z,{allow_skip:!0,src:Is})}):nr==="3"?No(Is):window.open(Is)}},"\u67E5\u770B")}],rowSelection:{type:"radio",onChange(Is,fl){ka(fl)}}}),Rn.createElement(yt.Z,{hideOnSinglePage:!0,style:{marginTop:"20rem"},total:kl==null?void 0:kl.total_count,current:bo==null?void 0:bo.page,pageSize:bo==null?void 0:bo.limit,onChange:(Is,fl)=>{bo.page=Is,bo.limit=fl,js(bo),vl()}}))};var Qn=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(zn),Jn=he(71418),qn=he(84105),On=he(85333),qe=he(59301),Ie=Object.defineProperty,Ce=Object.defineProperties,He=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertySymbols,we=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable,wn=(fn,Lr,nr)=>Lr in fn?Ie(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,Lt=(fn,Lr)=>{for(var nr in Lr||(Lr={}))we.call(Lr,nr)&&wn(fn,nr,Lr[nr]);if(it)for(var nr of it(Lr))Xt.call(Lr,nr)&&wn(fn,nr,Lr[nr]);return fn},Zt=(fn,Lr)=>Ce(fn,He(Lr)),or=(fn,Lr)=>{var nr={};for(var Oi in fn)we.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&it)for(var Oi of it(fn))Lr.indexOf(Oi)<0&&Xt.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},Xn=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const dn=fn=>{var Lr=fn,{typesdata:nr,globalSetting:Oi,loading:Do,dispatch:cr,pathsDetail:tl,onChange:ka,uuid:Vi,itemsuuid:No}=Lr,Nl=or(Lr,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid"]),Aa,yo,zi,Fs,bo,js,kl,Es,vl,Is,fl,Gl;const Ul=(0,je.useParams)();let[Ko,ao]=(0,se.useState)([]),[Wa,Dl]=(0,se.useState)(!1);const[lu,mc]=(0,se.useState)([]),[Ro,jl]=(0,se.useState)(""),[Ml,mu]=(0,se.useState)(""),[Co,Go]=(0,se.useState)([]),[ou,Mc]=(0,se.useState)(!1);let[Ai,tu]=(0,se.useState)({bh:[],qx:[],hx:[],gl:[]});(0,se.useEffect)(()=>{Pl()},[Vi]),(0,se.useEffect)(()=>{if(nr){let $i=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));tu($i)}return()=>{}},[nr]);function Pl(){return Xn(this,null,function*(){var $i,ol,Po,ds,Zl;Dl(!0);let uu=yield(0,Gt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Vi,subject_id:Ul==null?void 0:Ul.pathId,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(Dl(!1),(uu==null?void 0:uu.status)===0){mc(uu==null?void 0:uu.data);const hl=[...(0,On.fX)((ol=($i=uu==null?void 0:uu.data)==null?void 0:$i.nodes)==null?void 0:ol.map((Rl,Yl)=>{var Au,nu;return Zt(Lt({},Rl),{key:(Au=Rl==null?void 0:Rl.properties)==null?void 0:Au.uuid,title:(nu=Rl==null?void 0:Rl.properties)==null?void 0:nu.name})}),(Zl=(ds=(Po=uu==null?void 0:uu.data)==null?void 0:Po.relationships)==null?void 0:ds.filter(Rl=>Rl.type==="\u5305\u542B"||Rl.type==="\u524D\u5E8F"))==null?void 0:Zl.filter((Rl,Yl,Au)=>Yl===Au.findIndex(nu=>nu.endNodeUuid===Rl.endNodeUuid))).children||[]];Ko=hl,mu(JSON.stringify(hl)),ao(hl)}})}(0,se.useEffect)(()=>{ka(Ai)},[Ai]);function nc($i,ol,Po){for(let ds of $i)ds!=null&&ds.title.includes(ol)&&Po.push(ds),ds.children&&ds.children.length>0&&(nc(ds.children,ol,Po),Tu(ds.children,ol,Po)&&Po.push(ds))}function Tu($i,ol,Po){for(let ds of $i)if(ds!=null&&ds.title.includes(ol))return!0}return qe.createElement(Jn.Z,{spinning:Wa},qe.createElement("div",{className:We.body},qe.createElement("div",{className:We.left},qe.createElement("div",{className:We.header},qe.createElement("div",null,"\u5171",qe.createElement("span",{style:{color:"#1B8565"}},((yo=(Aa=lu==null?void 0:lu.metricCounters)==null?void 0:Aa[0])==null?void 0:yo.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",qe.createElement("span",{style:{color:"#1B8565"}},((Fs=(zi=lu==null?void 0:lu.metricCounters)==null?void 0:zi[1])==null?void 0:Fs.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),qe.createElement(_e.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:$i=>{var ol,Po,ds,Zl;const{value:uu}=$i.target;jl(uu);let Ys=[];nc(JSON.parse(Ml),uu,Ys),Ys.push((ol=lu==null?void 0:lu.nodes)==null?void 0:ol[0]);const hl=(Po=lu==null?void 0:lu.nodes)==null?void 0:Po.filter(Au=>{var nu,xc;return((xc=(nu=Au==null?void 0:Au.properties)==null?void 0:nu.name)==null?void 0:xc.indexOf(uu))>-1}).map(Au=>{var nu;return(nu=Au==null?void 0:Au.properties)==null?void 0:nu.uuid});Go(hl);const Yl=[...(0,On.fX)(Ys,(Zl=(ds=lu==null?void 0:lu.relationships)==null?void 0:ds.filter(Au=>Au.type==="\u5305\u542B"||Au.type==="\u524D\u5E8F"))==null?void 0:Zl.filter((Au,nu,xc)=>nu===xc.findIndex(Kc=>Kc.endNodeUuid===Au.endNodeUuid)).filter(Au=>(Ys==null?void 0:Ys.map(nu=>nu==null?void 0:nu.key).includes(Au.endNodeUuid))||(Ys==null?void 0:Ys.map(nu=>nu==null?void 0:nu.key).includes(Au.startNodeUuid)))).children||[]];Ko=Yl,ao(Yl),Mc(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),qe.createElement(Ye.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:Ko,className:We.tree,expandedKeys:Co,onExpand:$i=>{Go($i),Mc(!1)},autoExpandParent:ou,blockNode:!0,switcherIcon:qe.createElement(qn.Z,null),titleRender:$i=>{var ol,Po,ds,Zl,uu,Ys,hl,Rl,Yl,Au,nu,xc,Kc,Dc,Jl;return qe.createElement("div",{className:We.treenode,key:(ol=$i==null?void 0:$i.properties)==null?void 0:ol.uuid},qe.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((Po=Ai==null?void 0:Ai.bh)==null?void 0:Po.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&qe.createElement("span",{className:We.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),((ds=Ai==null?void 0:Ai.qx)==null?void 0:ds.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&qe.createElement("span",{className:We.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((Zl=Ai==null?void 0:Ai.hx)==null?void 0:Zl.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&qe.createElement("span",{className:We.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((uu=Ai==null?void 0:Ai.gl)==null?void 0:uu.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&qe.createElement("span",{className:We.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),qe.createElement("div",{className:We.multiple,title:$i==null?void 0:$i.title,dangerouslySetInnerHTML:{__html:(Ys=$i==null?void 0:$i.title)==null?void 0:Ys.replaceAll(Ro,`${Ro}`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),qe.createElement("div",{className:We.hudong},!((hl=Ai==null?void 0:Ai.qx)!=null&&hl.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)})||(Rl=Ai==null?void 0:Ai.bh)!=null&&Rl.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)})||(Yl=Ai==null?void 0:Ai.hx)!=null&&Yl.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)})||(Au=Ai==null?void 0:Ai.gl)!=null&&Au.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&No!==((nu=$i==null?void 0:$i.properties)==null?void 0:nu.uuid)&&qe.createElement("div",null,qe.createElement("span",{onClick:()=>{var Io,fs,Gu,cl;if(!(((fs=(Io=Ai==null?void 0:Ai.bh)==null?void 0:Io.filter(Iu=>{var Mi;return(Iu==null?void 0:Iu.uuid)===((Mi=$i==null?void 0:$i.properties)==null?void 0:Mi.uuid)}))==null?void 0:fs.length)>0)){let Iu=[];Iu.push({name:(Gu=$i==null?void 0:$i.properties)==null?void 0:Gu.name,uuid:(cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid}),tu({bh:[...Iu,...Ai==null?void 0:Ai.bh],qx:Ai==null?void 0:Ai.qx,hx:Ai==null?void 0:Ai.hx,gl:Ai==null?void 0:Ai.gl})}},className:We.colortitle,style:{marginRight:"20rem"}},"\u8BBE\u4E3A\u5305\u542B"),qe.createElement("span",{onClick:()=>{var Io,fs,Gu,cl;if(!(((fs=(Io=Ai==null?void 0:Ai.qx)==null?void 0:Io.filter(Iu=>{var Mi;return(Iu==null?void 0:Iu.uuid)===((Mi=$i==null?void 0:$i.properties)==null?void 0:Mi.uuid)}))==null?void 0:fs.length)>0)){let Iu=[];Iu.push({name:(Gu=$i==null?void 0:$i.properties)==null?void 0:Gu.name,uuid:(cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid}),tu({qx:[...Iu,...Ai==null?void 0:Ai.qx],hx:Ai==null?void 0:Ai.hx,bh:Ai==null?void 0:Ai.bh,gl:Ai==null?void 0:Ai.gl})}},className:We.colortitle},"\u8BBE\u4E3A\u524D\u7F6E"),qe.createElement("span",{onClick:()=>{var Io,fs,Gu,cl;if(!(((fs=(Io=Ai==null?void 0:Ai.hx)==null?void 0:Io.filter(Iu=>{var Mi;return(Iu==null?void 0:Iu.uuid)===((Mi=$i==null?void 0:$i.properties)==null?void 0:Mi.uuid)}))==null?void 0:fs.length)>0)){let Iu=[];Iu.push({name:(Gu=$i==null?void 0:$i.properties)==null?void 0:Gu.name,uuid:(cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid}),tu({qx:Ai==null?void 0:Ai.qx,hx:[...Iu,...Ai==null?void 0:Ai.hx],bh:Ai==null?void 0:Ai.bh,gl:Ai==null?void 0:Ai.gl})}},style:{margin:"0rem 20rem"},className:We.colortitle},"\u8BBE\u4E3A\u540E\u7F6E"),qe.createElement("span",{onClick:()=>{var Io,fs,Gu,cl;if(!(((fs=(Io=Ai==null?void 0:Ai.gl)==null?void 0:Io.filter(Iu=>{var Mi;return(Iu==null?void 0:Iu.uuid)===((Mi=$i==null?void 0:$i.properties)==null?void 0:Mi.uuid)}))==null?void 0:fs.length)>0)){let Iu=[];Iu.push({name:(Gu=$i==null?void 0:$i.properties)==null?void 0:Gu.name,uuid:(cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid}),tu({qx:Ai==null?void 0:Ai.qx,hx:Ai==null?void 0:Ai.hx,gl:[...Iu,...Ai==null?void 0:Ai.gl],bh:Ai==null?void 0:Ai.bh})}},className:We.colortitle},"\u8BBE\u4E3A\u5173\u8054")),qe.createElement("span",{onClick:()=>{var Io;let fs=(Io=Ai==null?void 0:Ai.bh)==null?void 0:Io.filter(Gu=>{var cl;return Gu.uuid!==((cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid)});tu({bh:fs,hx:Ai==null?void 0:Ai.hx,qx:Ai==null?void 0:Ai.qx,gl:Ai==null?void 0:Ai.gl})}},((xc=Ai==null?void 0:Ai.bh)==null?void 0:xc.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&"\u53D6\u6D88\u5305\u542B"),qe.createElement("span",{onClick:()=>{var Io;let fs=(Io=Ai==null?void 0:Ai.qx)==null?void 0:Io.filter(Gu=>{var cl;return Gu.uuid!==((cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid)});tu({qx:fs,hx:Ai==null?void 0:Ai.hx,bh:Ai==null?void 0:Ai.bh,gl:Ai==null?void 0:Ai.gl})}},((Kc=Ai==null?void 0:Ai.qx)==null?void 0:Kc.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&"\u53D6\u6D88\u524D\u7F6E"),qe.createElement("span",{onClick:()=>{var Io;let fs=(Io=Ai==null?void 0:Ai.hx)==null?void 0:Io.filter(Gu=>{var cl;return Gu.uuid!==((cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid)});tu({qx:Ai==null?void 0:Ai.qx,hx:fs,bh:Ai==null?void 0:Ai.bh,gl:Ai==null?void 0:Ai.gl})}},((Dc=Ai==null?void 0:Ai.hx)==null?void 0:Dc.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&"\u53D6\u6D88\u540E\u7F6E"),qe.createElement("span",{onClick:()=>{var Io;let fs=(Io=Ai==null?void 0:Ai.gl)==null?void 0:Io.filter(Gu=>{var cl;return Gu.uuid!==((cl=$i==null?void 0:$i.properties)==null?void 0:cl.uuid)});tu({qx:Ai==null?void 0:Ai.qx,hx:Ai==null?void 0:Ai.hx,bh:Ai==null?void 0:Ai.bh,gl:fs})}},((Jl=Ai==null?void 0:Ai.gl)==null?void 0:Jl.find(Io=>{var fs;return(Io==null?void 0:Io.uuid)===((fs=$i==null?void 0:$i.properties)==null?void 0:fs.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),qe.createElement("div",{className:We.right},qe.createElement("div",{className:We.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),qe.createElement("div",{style:{padding:"20rem 25rem"}},qe.createElement("div",{className:We.gxtitle},qe.createElement("div",{className:We.Colortitle,style:{background:"#6236ff"}}),qe.createElement("div",null,"\u88AB\u5305\u542B\uFF08",(bo=Ai.bh)==null?void 0:bo.length,"\uFF09")),qe.createElement("div",{className:We.gxbody},(js=Ai==null?void 0:Ai.bh)==null?void 0:js.map($i=>qe.createElement("div",{className:We.tag,style:{background:"#6236ff"}},qe.createElement("span",{style:{marginRight:"10rem"}},$i==null?void 0:$i.name)," ",qe.createElement(pt.Z,{onClick:()=>{var ol;let Po=(ol=Ai==null?void 0:Ai.bh)==null?void 0:ol.filter(ds=>ds.uuid!==$i.uuid);tu({bh:Po,hx:Ai==null?void 0:Ai.hx,qx:Ai==null?void 0:Ai.qx,gl:Ai==null?void 0:Ai.gl})}})))),qe.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},qe.createElement("div",{className:We.Colortitle,style:{background:"#24A881"}}),qe.createElement("div",null,"\u524D\u5E8F\uFF08",(kl=Ai.qx)==null?void 0:kl.length,"\uFF09")),qe.createElement("div",{className:We.gxbody},(Es=Ai==null?void 0:Ai.qx)==null?void 0:Es.map($i=>qe.createElement("div",{className:We.tag,style:{background:"#24A881"}},qe.createElement("span",{style:{marginRight:"10rem"}},$i==null?void 0:$i.name)," ",qe.createElement(pt.Z,{onClick:()=>{var ol;let Po=(ol=Ai==null?void 0:Ai.qx)==null?void 0:ol.filter(ds=>ds.uuid!==$i.uuid);tu({qx:Po,hx:Ai==null?void 0:Ai.hx,bh:Ai==null?void 0:Ai.bh,gl:Ai==null?void 0:Ai.gl})}})))),qe.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},qe.createElement("div",{className:We.Colortitle,style:{background:"#EC8657"}}),qe.createElement("div",null,"\u540E\u5E8F\uFF08",(vl=Ai.hx)==null?void 0:vl.length,"\uFF09")),qe.createElement("div",{className:We.gxbody},(Is=Ai==null?void 0:Ai.hx)==null?void 0:Is.map($i=>qe.createElement("div",{className:We.tag,style:{background:"#EC8657"}},qe.createElement("span",{style:{marginRight:"10rem"}},$i==null?void 0:$i.name)," ",qe.createElement(pt.Z,{onClick:()=>{var ol;let Po=(ol=Ai==null?void 0:Ai.hx)==null?void 0:ol.filter(ds=>ds.uuid!==$i.uuid);tu({qx:Ai==null?void 0:Ai.qx,bh:Ai==null?void 0:Ai.bh,hx:Po,gl:Ai==null?void 0:Ai.gl})}})))),qe.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},qe.createElement("div",{className:We.Colortitle,style:{background:"#497DFF"}}),qe.createElement("div",null,"\u5173\u8054\uFF08",(fl=Ai.gl)==null?void 0:fl.length,"\uFF09")),qe.createElement("div",{className:We.gxbody},(Gl=Ai==null?void 0:Ai.gl)==null?void 0:Gl.map($i=>qe.createElement("div",{className:We.tag,style:{background:"#497DFF"}},qe.createElement("span",{style:{marginRight:"10rem"}},$i==null?void 0:$i.name)," ",qe.createElement(pt.Z,{onClick:()=>{var ol;let Po=(ol=Ai==null?void 0:Ai.gl)==null?void 0:ol.filter(ds=>ds.uuid!==$i.uuid);tu({qx:Ai==null?void 0:Ai.qx,bh:Ai==null?void 0:Ai.bh,hx:Ai==null?void 0:Ai.hx,gl:Po})}}))))))))};var kr=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(dn),vi=he(59301),Un=Object.defineProperty,Pr=Object.defineProperties,Ii=Object.getOwnPropertyDescriptors,on=Object.getOwnPropertySymbols,qt=Object.prototype.hasOwnProperty,gn=Object.prototype.propertyIsEnumerable,gr=(fn,Lr,nr)=>Lr in fn?Un(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,mr=(fn,Lr)=>{for(var nr in Lr||(Lr={}))qt.call(Lr,nr)&&gr(fn,nr,Lr[nr]);if(on)for(var nr of on(Lr))gn.call(Lr,nr)&&gr(fn,nr,Lr[nr]);return fn},xi=(fn,Lr)=>Pr(fn,Ii(Lr)),Ui=(fn,Lr)=>{var nr={};for(var Oi in fn)qt.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&on)for(var Oi of on(fn))Lr.indexOf(Oi)<0&&gn.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},Ni=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const Fa=fn=>{var Lr=fn,{typesdata:nr,globalSetting:Oi,loading:Do,dispatch:cr,pathsDetail:tl,onChange:ka,uuid:Vi,itemsuuid:No,pathname:Nl,pathId:Aa,uuname:yo}=Lr,zi=Ui(Lr,["typesdata","globalSetting","loading","dispatch","pathsDetail","onChange","uuid","itemsuuid","pathname","pathId","uuname"]),Fs,bo,js,kl,Es,vl;const Is=(0,je.useParams)();let[fl,Gl]=(0,se.useState)([]),[Ul,Ko]=(0,se.useState)(!1);const[ao,Wa]=(0,se.useState)([]),[Dl,lu]=(0,se.useState)(""),[mc,Ro]=(0,se.useState)(""),[jl,Ml]=(0,se.useState)([]),[mu,Co]=(0,se.useState)(!1);let[Go,ou]=(0,se.useState)({bh:[],qx:[],hx:[],gl:[]});(0,se.useEffect)(()=>{Mc()},[Vi]),(0,se.useEffect)(()=>{if(nr){let Pl=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));ou(Pl)}return()=>{}},[nr]);function Mc(){return Ni(this,null,function*(){var Pl,nc,Tu,$i,ol;Ko(!0);let Po=yield(0,Gt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:Vi,subject_id:Is==null?void 0:Is.pathId,depth:-1,relationshipFilter:"\u5305\u542B>"}});if(Ko(!1),(Po==null?void 0:Po.status)===0){Wa(Po==null?void 0:Po.data);const Zl=[...(0,On.fX)((nc=(Pl=Po==null?void 0:Po.data)==null?void 0:Pl.nodes)==null?void 0:nc.map((Ys,hl)=>{var Rl,Yl;return xi(mr({},Ys),{key:(Rl=Ys==null?void 0:Ys.properties)==null?void 0:Rl.uuid,title:(Yl=Ys==null?void 0:Ys.properties)==null?void 0:Yl.name})}),(ol=($i=(Tu=Po==null?void 0:Po.data)==null?void 0:Tu.relationships)==null?void 0:$i.filter(Ys=>Ys.type==="\u5305\u542B"||Ys.type==="\u524D\u5E8F"))==null?void 0:ol.filter((Ys,hl,Rl)=>hl===Rl.findIndex(Yl=>Yl.endNodeUuid===Ys.endNodeUuid))).children||[]];fl=Zl,Ro(JSON.stringify(Zl)),Gl(Zl);let uu=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));ou(uu)}})}(0,se.useEffect)(()=>{ka(Go)},[Go]);function Ai(Pl,nc,Tu){for(let $i of Pl)$i!=null&&$i.title.includes(nc)&&Tu.push($i),$i.children&&$i.children.length>0&&(Ai($i.children,nc,Tu),tu($i.children,nc,Tu)&&Tu.push($i))}function tu(Pl,nc,Tu){for(let $i of Pl)if($i!=null&&$i.title.includes(nc))return!0}return vi.createElement(Jn.Z,{spinning:Ul},vi.createElement("div",{className:We.body},vi.createElement("div",{className:We.left},vi.createElement("div",{className:We.header},vi.createElement("div",null,"\u5171",vi.createElement("span",{style:{color:"#1B8565"}},((bo=(Fs=ao==null?void 0:ao.metricCounters)==null?void 0:Fs[0])==null?void 0:bo.count)||0),"\u4E2A\u6807\u7B7E\u8282\u70B9\uFF0C",vi.createElement("span",{style:{color:"#1B8565"}},((kl=(js=ao==null?void 0:ao.metricCounters)==null?void 0:js[1])==null?void 0:kl.count)||0),"\u4E2A\u77E5\u8BC6\u8282\u70B9"),vi.createElement(_e.default.Search,{style:{width:"350rem",borderRadius:"50%"},onChange:Pl=>{var nc,Tu,$i,ol;const{value:Po}=Pl.target;lu(Po);let ds=[];Ai(JSON.parse(mc),Po,ds),ds.push((nc=ao==null?void 0:ao.nodes)==null?void 0:nc[0]);const Zl=(Tu=ao==null?void 0:ao.nodes)==null?void 0:Tu.filter(hl=>{var Rl,Yl;return((Yl=(Rl=hl==null?void 0:hl.properties)==null?void 0:Rl.name)==null?void 0:Yl.indexOf(Po))>-1}).map(hl=>{var Rl;return(Rl=hl==null?void 0:hl.properties)==null?void 0:Rl.uuid});Ml(Zl);const Ys=[...(0,On.fX)(ds,(ol=($i=ao==null?void 0:ao.relationships)==null?void 0:$i.filter(hl=>hl.type==="\u5305\u542B"||hl.type==="\u524D\u5E8F"))==null?void 0:ol.filter((hl,Rl,Yl)=>Rl===Yl.findIndex(Au=>Au.endNodeUuid===hl.endNodeUuid)).filter(hl=>(ds==null?void 0:ds.map(Rl=>Rl==null?void 0:Rl.key).includes(hl.endNodeUuid))||(ds==null?void 0:ds.map(Rl=>Rl==null?void 0:Rl.key).includes(hl.startNodeUuid)))).children||[]];fl=Ys,Gl(Ys),Co(!0)},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"})),vi.createElement(Ye.default,{style:{marginTop:"30rem",maxHeight:"320rem",overflow:"auto"},showLine:!0,treeData:fl,className:We.tree,expandedKeys:jl,onExpand:Pl=>{Ml(Pl),Co(!1)},autoExpandParent:mu,blockNode:!0,switcherIcon:vi.createElement(qn.Z,null),titleRender:Pl=>{var nc,Tu,$i,ol,Po,ds,Zl,uu;return vi.createElement("div",{className:We.treenode,key:(nc=Pl==null?void 0:Pl.properties)==null?void 0:nc.uuid},vi.createElement("div",{style:{width:"50%",display:"flex",alignItems:"center"}},((Tu=Go==null?void 0:Go.bh)==null?void 0:Tu.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&vi.createElement("span",{className:We.settingtag,style:{background:"#6236ff"}},"\u5305\u542B"),(($i=Go==null?void 0:Go.qx)==null?void 0:$i.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&vi.createElement("span",{className:We.settingtag,style:{background:"#24A881"}},"\u524D\u7F6E"),((ol=Go==null?void 0:Go.hx)==null?void 0:ol.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&vi.createElement("span",{className:We.settingtag,style:{background:"#EC8657"}},"\u540E\u7F6E"),((Po=Go==null?void 0:Go.gl)==null?void 0:Po.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&vi.createElement("span",{className:We.settingtag,style:{background:"#497DFF"}},"\u5173\u8054"),vi.createElement("div",{className:We.multiple,title:Pl==null?void 0:Pl.title,dangerouslySetInnerHTML:{__html:(ds=Pl==null?void 0:Pl.title)==null?void 0:ds.replaceAll(Dl,`${Dl}`)},style:{width:"100%",fontSize:"14rem",color:"#000",fontWeight:400}})),vi.createElement("div",{className:We.hudong},vi.createElement("div",null,!((Zl=Go==null?void 0:Go.gl)!=null&&Zl.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&vi.createElement("span",{onClick:()=>{var Ys,hl,Rl,Yl;if(!(((hl=(Ys=Go==null?void 0:Go.gl)==null?void 0:Ys.filter(Au=>{var nu;return(Au==null?void 0:Au.uuid)===((nu=Pl==null?void 0:Pl.properties)==null?void 0:nu.uuid)}))==null?void 0:hl.length)>0)){let Au=[];Au.push({name:(Rl=Pl==null?void 0:Pl.properties)==null?void 0:Rl.name,uuid:(Yl=Pl==null?void 0:Pl.properties)==null?void 0:Yl.uuid,pathId:Aa,pathname:Nl,uuname:yo,olduuid:Vi}),ou({qx:Go==null?void 0:Go.qx,hx:Go==null?void 0:Go.hx,gl:[...Au,...Go==null?void 0:Go.gl],bh:Go==null?void 0:Go.bh})}},className:We.colortitle},"\u8BBE\u4E3A\u5173\u8054")),vi.createElement("span",{onClick:()=>{var Ys;let hl=(Ys=Go==null?void 0:Go.gl)==null?void 0:Ys.filter(Rl=>{var Yl;return Rl.uuid!==((Yl=Pl==null?void 0:Pl.properties)==null?void 0:Yl.uuid)});ou({qx:Go==null?void 0:Go.qx,hx:Go==null?void 0:Go.hx,bh:Go==null?void 0:Go.bh,gl:hl})}},((uu=Go==null?void 0:Go.gl)==null?void 0:uu.find(Ys=>{var hl;return(Ys==null?void 0:Ys.uuid)===((hl=Pl==null?void 0:Pl.properties)==null?void 0:hl.uuid)}))&&"\u53D6\u6D88\u5173\u8054")))}})),vi.createElement("div",{className:We.right},vi.createElement("div",{className:We.title},"\u5DF2\u5173\u8054\u5173\u7CFB"),vi.createElement("div",{style:{padding:"20rem 25rem"}},vi.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},vi.createElement("div",{className:We.Colortitle,style:{background:"#497DFF"}}),vi.createElement("div",null,"\u5173\u8054\uFF08",(Es=Go.gl)==null?void 0:Es.length,"\uFF09")),vi.createElement("div",{className:We.gxbody},(vl=Go==null?void 0:Go.gl)==null?void 0:vl.map(Pl=>vi.createElement("div",{className:We.tag,style:{background:"#497DFF"}},vi.createElement("span",{style:{marginRight:"10rem"}},Pl==null?void 0:Pl.name)," ",vi.createElement(pt.Z,{onClick:()=>{var nc;let Tu=(nc=Go==null?void 0:Go.gl)==null?void 0:nc.filter($i=>$i.uuid!==Pl.uuid);ou({qx:Go==null?void 0:Go.qx,bh:Go==null?void 0:Go.bh,hx:Go==null?void 0:Go.hx,gl:Tu})}}))))))))};var _o=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(Fa),co=he(78267),kn=he(36466),Yi=he(44071),ys=he(59301),$o=Object.getOwnPropertySymbols,eo=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable,Qr=(fn,Lr)=>{var nr={};for(var Oi in fn)eo.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&$o)for(var Oi of $o(fn))Lr.indexOf(Oi)<0&&lo.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},ir=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const ri=[3,2,1];let ua=null;const un=fn=>{var Lr=fn,{pathsDetail:nr,user:Oi,globalSetting:Do,loading:cr,dispatch:tl,datas:ka,items:Vi}=Lr,No=Qr(Lr,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Nl=(0,se.useRef)(),Aa=(0,se.useRef)(),yo=(0,se.useRef)(null);(0,se.useEffect)(()=>{Fs()},[ka]),(0,se.useEffect)(()=>(window.addEventListener("resize",zi),()=>{window.removeEventListener("resize",zi)}),[]);function zi(){var bo,js;(js=(bo=Nl.current)==null?void 0:bo.update)==null||js.call(bo)}function Fs(){return ir(this,null,function*(){var bo,js,kl,Es,vl,Is,fl,Gl;if(((bo=ka==null?void 0:ka.nodes)==null?void 0:bo.length)>0){let Ul=(js=ka==null?void 0:ka.nodes)==null?void 0:js.filter(ao=>{var Wa;return Vi==null?void 0:Vi.includes((Wa=ao==null?void 0:ao.properties)==null?void 0:Wa.uuid)}).map(ao=>{var Wa,Dl,lu,mc,Ro,jl,Ml,mu,Co,Go,ou,Mc;return{rootNodeUuid:(Wa=ao==null?void 0:ao.properties)==null?void 0:Wa.rootNodeUuid,id:((Dl=ao==null?void 0:ao.properties)==null?void 0:Dl.uuid)+"_",name:(lu=ao==null?void 0:ao.properties)==null?void 0:lu.name,description:(mc=ao==null?void 0:ao.properties)==null?void 0:mc.description,nodeType:(Ro=ao==null?void 0:ao.properties)==null?void 0:Ro.nodeType,tags:((jl=ao==null?void 0:ao.properties)==null?void 0:jl.tags)&&((Co=(mu=(Ml=ao==null?void 0:ao.properties)==null?void 0:Ml.tags)==null?void 0:mu.split("\uFF0C"))==null?void 0:Co.map(Ai=>({name:Ai}))),colorType:parseInt((Go=ao==null?void 0:ao.properties)==null?void 0:Go.color)>3?"3":(ou=ao==null?void 0:ao.properties)==null?void 0:ou.color,activeColor:"#FA6400",size:ri[((Mc=ao==null?void 0:ao.properties)==null?void 0:Mc.color)-1]||1,shape:"circle",hide:!1,isExtendedState:!0}}),Ko=(Is=(vl=(Es=(kl=ka==null?void 0:ka.relationships)==null?void 0:kl.filter(ao=>{var Wa,Dl,lu,mc,Ro,jl;return ao.endNodeUuid!==((lu=(Dl=(Wa=ka==null?void 0:ka.nodes)==null?void 0:Wa[0])==null?void 0:Dl.properties)==null?void 0:lu.rootNodeUuid)&&ao.startNodeUuid!==((jl=(Ro=(mc=ka==null?void 0:ka.nodes)==null?void 0:mc[0])==null?void 0:Ro.properties)==null?void 0:jl.rootNodeUuid)}))==null?void 0:Es.filter(ao=>(Vi==null?void 0:Vi.includes(ao.startNodeUuid))&&(Vi==null?void 0:Vi.includes(ao.endNodeUuid))))==null?void 0:vl.filter(ao=>ao.type==="\u5305\u542B"||ao.type==="\u524D\u5E8F"||ao.type==="\u5173\u8054"))==null?void 0:Is.map(ao=>({hide:!1,id:(ao==null?void 0:ao.endNodeUuid)+"_",label:ao==null?void 0:ao.type,props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(ao==null?void 0:ao.startNodeUuid)+"_",target:(ao==null?void 0:ao.endNodeUuid)+"_",value:10}));console.log("----",Ul,Ko),Nl.current=null,Aa.current.innerHTML="",Nl.current=new Yi.createContainer({containerName:"#graphRefs",width:((fl=Aa==null?void 0:Aa.current)==null?void 0:fl.clientWidth)||0,height:((Gl=Aa==null?void 0:Aa.current)==null?void 0:Gl.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:Ul,links:Ko,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(ao){return ao},nodeClick:function(ao){var Wa;return(Wa=Nl==null?void 0:Nl.current)==null||Wa.selectToNode(ao.id),ao},layout:{force:!1,x:20,y:60}}),Nl.current.zoomOut()}})}return ys.createElement("div",{ref:yo,style:{background:"#fff",height:"455rem"}},ys.createElement("div",{style:{width:"100%",height:"455rem"},ref:Aa,id:"graphRefs"}))};var lr=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(un),Hr="data:image/png;base64,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",hr="data:image/png;base64,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",Vr="data:image/png;base64,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",Rr="data:image/png;base64,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",qr=he(28103),Zi=he(42441),Wn=he(94811);const st=fn=>({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:fn}]});var Nt=he(30645),Gn=he(59301),Sr=Object.defineProperty,yr=Object.getOwnPropertySymbols,ci=Object.prototype.hasOwnProperty,ai=Object.prototype.propertyIsEnumerable,Ur=(fn,Lr,nr)=>Lr in fn?Sr(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,zr=(fn,Lr)=>{for(var nr in Lr||(Lr={}))ci.call(Lr,nr)&&Ur(fn,nr,Lr[nr]);if(yr)for(var nr of yr(Lr))ai.call(Lr,nr)&&Ur(fn,nr,Lr[nr]);return fn},ta=(fn,Lr)=>{var nr={};for(var Oi in fn)ci.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&yr)for(var Oi of yr(fn))Lr.indexOf(Oi)<0&&ai.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},qa=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const pi=[{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)"}}],Mr=fn=>{var Lr=fn,{pathsDetail:nr,user:Oi,globalSetting:Do,loading:cr,dispatch:tl,uuid:ka}=Lr,Vi=ta(Lr,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),No,Nl,Aa,yo;const zi=(0,je.useParams)();let[Fs,bo]=(0,se.useState)({subject_id:zi==null?void 0:zi.pathId,course_id:"",parentNodeUuid:ka,type:1});const[js,kl]=(0,se.useState)(),[Es,vl]=(0,se.useState)([]),[Is,fl]=(0,se.useState)([]),[Gl]=(0,je.useSearchParams)();(0,se.useEffect)(()=>{Ul()},[ka]);function Ul(){return qa(this,null,function*(){var Ko,ao,Wa;let Dl=yield(0,Gt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:Fs});kl(Dl);let lu=Object.entries((Ko=Dl==null?void 0:Dl.data)==null?void 0:Ko.study_grasp_hash).map(([Ro,jl],Ml)=>({name:Ro,value:jl,itemStyle:pi[Ml].itemStyle})),mc=Object.entries((ao=Dl==null?void 0:Dl.data)==null?void 0:ao.study_complete_hash).map(([Ro,jl],Ml)=>({name:Ro,value:jl}));fl(mc),((Wa=lu==null?void 0:lu.filter(Ro=>(Ro==null?void 0:Ro.value)>0))==null?void 0:Wa.length)===0?vl([]):vl(lu)})}return Gn.createElement("div",{className:We.DetailStatistics},Gl.get("type")!=="classrooms"&&Gn.createElement("div",{className:We.header},Gn.createElement("span",{className:We.title},"\u7EDF\u8BA1\u8303\u56F4"),Gn.createElement(Ot.ZP.Group,{onChange:Ko=>{Fs.type=Ko.target.value,bo(zr({},Fs)),Ul()},value:Fs.type},Gn.createElement(Ot.ZP,{value:1},"\u5168\u90E8"),Gn.createElement(Ot.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),Gn.createElement(Ot.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(Fs==null?void 0:Fs.type)===3&&Gn.createElement(vt.default,{onChange:Ko=>{Fs.course_id=Ko,bo(zr({},Fs)),Ul()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(No=js==null?void 0:js.courses)==null?void 0:No.map(Ko=>Gn.createElement(vt.default.Option,{value:Ko==null?void 0:Ko.id},Ko==null?void 0:Ko.name)))),Gn.createElement("div",{style:{marginTop:"16rem",display:"flex"}},Gn.createElement("div",{className:We.left,style:{backgroundImage:`url(${Hr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},Gn.createElement("img",{src:hr}),Gn.createElement("div",{style:{marginTop:"20rem"}},Gn.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u4EBA\u6570"),Gn.createElement("div",{className:We.xxrscount},(Nl=js==null?void 0:js.data)==null?void 0:Nl.study_count))),Gn.createElement("div",{className:We.right},Gn.createElement("div",{className:We.righttop},Gn.createElement("img",{src:Vr}),Gn.createElement("div",null,Gn.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),Gn.createElement("div",{className:We.xxrscount},(Aa=js==null?void 0:js.data)==null?void 0:Aa.study_complete_rate,"%"))),Gn.createElement("div",{className:We.rightbottom},Gn.createElement("img",{src:Rr}),Gn.createElement("div",null,Gn.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),Gn.createElement("div",{className:We.xxrscount},(yo=js==null?void 0:js.data)==null?void 0:yo.study_grasp_rate,"%"))))),Gn.createElement(qr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),Gn.createElement(Zi.Z,{option:st(Is),style:{height:300,width:400},opts:{renderer:"svg"}}),Gn.createElement(qr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Es==null?void 0:Es.length)>0?Gn.createElement(Wn.Z,{labelTextColor:"#333",dataSource:Es}):Gn.createElement(Nt.J,{children:Gn.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var sr=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(Mr),xn=he(61648),er=he(59301),Er=Object.defineProperty,Zr=Object.getOwnPropertySymbols,ti=Object.prototype.hasOwnProperty,Nr=Object.prototype.propertyIsEnumerable,Bi=(fn,Lr,nr)=>Lr in fn?Er(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,Zn=(fn,Lr)=>{for(var nr in Lr||(Lr={}))ti.call(Lr,nr)&&Bi(fn,nr,Lr[nr]);if(Zr)for(var nr of Zr(Lr))Nr.call(Lr,nr)&&Bi(fn,nr,Lr[nr]);return fn},Di=(fn,Lr)=>{var nr={};for(var Oi in fn)ti.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&Zr)for(var Oi of Zr(fn))Lr.indexOf(Oi)<0&&Nr.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},da=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const ha=[{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)"}}],na=fn=>{var Lr=fn,{pathsDetail:nr,user:Oi,globalSetting:Do,loading:cr,dispatch:tl,uuid:ka}=Lr,Vi=Di(Lr,["pathsDetail","user","globalSetting","loading","dispatch","uuid"]),No,Nl,Aa,yo;const zi=(0,je.useParams)();let[Fs,bo]=(0,se.useState)({subject_id:zi==null?void 0:zi.pathId,course_id:"",parentNodeUuid:ka,type:1});const[js,kl]=(0,se.useState)(),[Es,vl]=(0,se.useState)([]),[Is]=(0,je.useSearchParams)(),[fl,Gl]=(0,se.useState)([]);(0,se.useEffect)(()=>{Ul()},[ka]);function Ul(){return da(this,null,function*(){var Ko,ao,Wa;let Dl=yield(0,Gt.ZP)("/api/knowledge/v2/knowledge_statistics.json",{method:"get",params:Fs});kl(Dl);let lu=Object.entries((Ko=Dl==null?void 0:Dl.data)==null?void 0:Ko.study_grasp_hash).map(([Ro,jl],Ml)=>({name:Ro,value:jl,itemStyle:ha[Ml].itemStyle})),mc=Object.entries((ao=Dl==null?void 0:Dl.data)==null?void 0:ao.study_complete_hash).map(([Ro,jl],Ml)=>({name:Ro,value:jl}));Gl(mc),((Wa=lu==null?void 0:lu.filter(Ro=>(Ro==null?void 0:Ro.value)>0))==null?void 0:Wa.length)===0?vl([]):vl(lu)})}return er.createElement("div",{className:We.DetailStatistics},Is.get("type")!=="classrooms"&&er.createElement("div",{className:We.header},er.createElement("span",{className:We.title},"\u7EDF\u8BA1\u8303\u56F4"),er.createElement(Ot.ZP.Group,{onChange:Ko=>{Fs.type=Ko.target.value,bo(Zn({},Fs)),Ul()},value:Fs.type},er.createElement(Ot.ZP,{value:1},"\u5168\u90E8"),er.createElement(Ot.ZP,{value:2},"\u81EA\u4E3B\u5B66\u4E60"),er.createElement(Ot.ZP,{value:3},"\u8BFE\u5802\u5B66\u4E60")),(Fs==null?void 0:Fs.type)===3&&er.createElement(vt.default,{onChange:Ko=>{Fs.course_id=Ko,bo(Zn({},Fs)),Ul()},style:{marginLeft:"-15rem",width:"148rem",height:"36rem"}},(No=js==null?void 0:js.courses)==null?void 0:No.map(Ko=>er.createElement(vt.default.Option,{value:Ko==null?void 0:Ko.id},Ko==null?void 0:Ko.name)))),er.createElement("div",{style:{marginTop:"16rem",display:"flex"}},er.createElement("div",{className:We.left,style:{backgroundImage:`url(${Hr}),linear-gradient(180deg, rgba(221, 233, 241, 0.4) 0%, rgba(255, 255, 255, 0.49) 100%)`}},er.createElement("img",{src:hr}),er.createElement("div",{style:{marginTop:"20rem"}},er.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u4EBA\u6570"),er.createElement("div",{className:We.xxrscount},(Nl=js==null?void 0:js.data)==null?void 0:Nl.study_count))),er.createElement("div",{className:We.right},er.createElement("div",{className:We.righttop},er.createElement("img",{src:Vr}),er.createElement("div",null,er.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u5B8C\u6210\u7387"),er.createElement("div",{className:We.xxrscount},(Aa=js==null?void 0:js.data)==null?void 0:Aa.study_complete_rate,"%"))),er.createElement("div",{className:We.rightbottom},er.createElement("img",{src:Rr}),er.createElement("div",null,er.createElement("div",{className:We.xxrs},"\u5B66\u4E60\u638C\u63E1\u7387"),er.createElement("div",{className:We.xxrscount},(yo=js==null?void 0:js.data)==null?void 0:yo.study_grasp_rate,"%"))))),er.createElement(qr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u5B8C\u6210\u5360\u6BD4\u60C5\u51B5"),er.createElement(Zi.Z,{option:st(fl),style:{height:300,width:400},opts:{renderer:"svg"}}),er.createElement(qr.Z,{variant:"dashed",style:{borderColor:"#333333"},dashed:!0},"\u638C\u63A7\u7387"),(Es==null?void 0:Es.length)>0?er.createElement(Wn.Z,{labelTextColor:"#333",dataSource:Es}):er.createElement(xn.Z,{children:er.createElement("div",{style:{textAlign:"center",fontSize:"14rem"}},"\u6682\u65E0\u638C\u63A7\u7387\u6570\u636E")}))};var Qa=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(na),Ao=he(32558),Da=he(31217),Ma="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAXlJREFUOE/VlD1Lw1AUhp+YmkGQSnFR8AcUoSJ+LiKCqINQqIODbk51ETpaVHTyD6h/QQddXMRNRal1qLaDOhSFQicdiiKUNrkSmzQxH6WCg2a6Iec+7z3ve24kIYTMLz7SPwSmozPI2h6InroTkqQvywjOQNlm4PDczyV3yxfDT4AFa97fAmhxN/C0u9o8w6wUtYUkFdzAk1CVyC4E+x3cr7YBY7NTtZSB7DLewKF9Xa4xwAnUfU7P+wBHjjy6dgqY77a2r2MG8GV9CaQdhAhYJI8NnuYqEBgFqQ1SswawmEiCttnQIxfMdmKlD5QIXE0ZwMJKGPUjV0uqyYzNbPR6OQTBRbgct3mYX7hDiN46zr7BHq6fYGccUlEb8GFuDaFuuKbCNwtDURgFHdOQTdqA97Ewlfec75xZ99DbE6ULno8dY5MZs9r2mV/fbPQPr3kH8GZwFVXd+lE4doXyW/H7TbmdaKf0eIBWmQRamszbLNOQWxN//wf7CYUnn95U81GtAAAAAElFTkSuQmCC",es=he(51190),Fo=he(19842),Ls=he(98228),_a={flex_box_center:"flex_box_center___wU4bP",flex_space_between:"flex_space_between___ryVxe",flex_box_vertical_center:"flex_box_vertical_center___J64e0",flex_box_center_end:"flex_box_center_end___ZQTrR",flex_box_column:"flex_box_column___qYlzG",scoremodal:"scoremodal___g_fYu",selectWrapper:"selectWrapper___wbF8t",selectWrappers:"selectWrappers___bAt3m",allqingchu:"allqingchu___IczWP",title:"title___cJxdu",score:"score___W6O3r",close:"close___rZaaH",content:"content___I6bh1",items:"items___NS5if",bottom:"bottom___zStfh",yes:"yes___dvYz0",no:"no___BqowM",titlecount:"titlecount___cx4fQ",add:"add___Vazpd",search:"search___kg8ng",searchIcon:"searchIcon___CaGo3",tabWrap:"tabWrap___CAndG",previewModal:"previewModal___Ms_9O",q_title:"q_title___WfJKh"},$s=he(10358),sa={flex_box_center:"flex_box_center___nswYj",flex_space_between:"flex_space_between___fOVoM",flex_box_vertical_center:"flex_box_vertical_center___Q25Hr",flex_box_center_end:"flex_box_center_end___e8x5w",flex_box_column:"flex_box_column___TkKrN",warp:"warp___CyVTN",shixunbutton:"shixunbutton___5A5Bl",redio:"redio____F59s",redioitem:"redioitem___lpnfs",redioitemyes:"redioitemyes___LJh0a",title:"title___pmJ_X",titleyes:"titleyes___xpcjY",yestag:"yestag___DZcUj",qcount:"qcount___N4pNO",score:"score___aNTPQ",qtitle:"qtitle___E_ClM",checkbox:"checkbox___T6Xdo",checkboxitem:"checkboxitem___dfyKW",checkboxitemyes:"checkboxitemyes___Uh2au",bottom:"bottom___uZhfZ",bottomitem:"bottomitem___NElKx",left:"left___CG1Ne",right:"right___iBXmO",completion:"completion___xvAyY",content:"content___Tf9bM",items:"items___zogcz",simple:"simple___zY1bm",shixun:"shixun___AAIlJ",combination:"combination___c7Ghw",program:"program___sXFp_"},Os=he(58997),Us=he(24334);const Ns=["A\uFF0E","B\uFF0E","C\uFF0E","D\uFF0E","E\uFF0E","F\uFF0E","G\uFF0E","H\uFF0E","I\uFF0E","J\uFF0E","K\uFF0E","L\uFF0E","M\uFF0E","N\uFF0E","O\uFF0E","P\uFF0E","Q\uFF0E","R\uFF0E","S\uFF0E","T\uFF0E","U\uFF0E","V\uFF0E","W\uFF0E","X\uFF0E","Y\uFF0E","Z\uFF0E"];var Al=({qitem:fn})=>{var Lr,nr,Oi,Do,cr,tl,ka,Vi,No,Nl;return se.createElement("div",{className:sa.warp},se.createElement("div",{className:sa.mainPart},se.createElement("div",{className:sa.qcount},(fn==null?void 0:fn.question_type)===8&&se.createElement(Os.Z,{className:sa.content,showProgramFill:!0,value:(Lr=fn==null?void 0:fn.program_attr)==null?void 0:Lr.description}),(fn==null?void 0:fn.question_type)!=8&&se.createElement(Os.Z,{className:sa.qtitle,value:(fn==null?void 0:fn.name)||(fn==null?void 0:fn.title)})),((fn==null?void 0:fn.question_type)===0||(fn==null?void 0:fn.question_type)===2)&&se.createElement("div",null,(nr=fn==null?void 0:fn.choices)==null?void 0:nr.map((Aa,yo)=>se.createElement("div",{className:sa.redio},!(Aa!=null&&Aa.is_answer)&&se.createElement("span",{className:sa.redioitem}),(Aa==null?void 0:Aa.is_answer)&&se.createElement("i",{className:`${sa.redioitemyes} icon-duigou1`}),se.createElement(Os.Z,{className:Aa!=null&&Aa.is_answer?sa.titleyes:sa.title,value:Ns[yo]+(Aa==null?void 0:Aa.choice_text)}),(Aa==null?void 0:Aa.is_answer)&&se.createElement("div",{className:sa.yestag},"\u6B63\u786E\u7B54\u6848")))),(fn==null?void 0:fn.question_type)===1&&se.createElement("div",null,(Oi=fn==null?void 0:fn.choices)==null?void 0:Oi.map((Aa,yo)=>se.createElement("div",{className:sa.checkbox},!(Aa!=null&&Aa.is_answer)&&se.createElement("span",{className:sa.checkboxitem}),(Aa==null?void 0:Aa.is_answer)&&se.createElement("i",{className:`${sa.checkboxitemyes} icon-duigou1`}),se.createElement(Os.Z,{className:Aa!=null&&Aa.is_answer?sa.titleyes:sa.title,value:Ns[yo]+(Aa==null?void 0:Aa.choice_text)}),(Aa==null?void 0:Aa.is_answer)&&se.createElement("div",{className:sa.yestag},"\u6B63\u786E\u7B54\u6848")))),(fn==null?void 0:fn.question_type)===3&&se.createElement("div",{className:sa.completion},(Do=fn==null?void 0:fn.standard_answer)==null?void 0:Do.map((Aa,yo)=>{var zi;return se.createElement("div",{style:{display:"flex"}},se.createElement("span",{className:sa.title},"\u586B\u7A7A\u9879",yo+1),se.createElement("div",{className:sa.content},(zi=Aa==null?void 0:Aa.answer_text)==null?void 0:zi.map((Fs,bo)=>se.createElement("div",{className:sa.items},Fs))))})),(fn==null?void 0:fn.question_type)===4&&se.createElement("div",{className:sa.simple},se.createElement("div",{className:sa.title},"\u53C2\u8003\u7B54\u6848"),se.createElement("div",{className:"mt10",style:{fontSize:"16px"}},(cr=fn==null?void 0:fn.answer_texts)!=null&&cr[0]?se.createElement(Os.Z,{className:sa.content,value:(tl=fn==null?void 0:fn.answer_texts)==null?void 0:tl[0]}):se.createElement("div",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))),(fn==null?void 0:fn.question_type)===5&&((ka=fn==null?void 0:fn.challenge_names)==null?void 0:ka.map((Aa,yo)=>se.createElement("div",{className:sa.shixun},se.createElement("span",{className:sa.qtitle},se.createElement("span",{style:{marginRight:10}},"\u7B2C",(0,On.EM)(yo+1),"\u9898"),Aa)))),(fn==null?void 0:fn.question_type)===6&&se.createElement("div",{className:sa.program},se.createElement(Os.Z,{className:sa.content,value:((Vi=fn==null?void 0:fn.program_attr)==null?void 0:Vi.description)||"- -"})),(fn==null?void 0:fn.question_type)===7&&((No=fn==null?void 0:fn.sub_item_banks)==null?void 0:No.map((Aa,yo)=>{var zi,Fs,bo,js,kl;return se.createElement("div",null,se.createElement("div",{className:sa.combination},se.createElement("span",{className:sa.qtitle},Aa==null?void 0:Aa.name)),se.createElement("div",{className:sa.warp,style:{padding:"0px",paddingTop:20}},se.createElement("div",null,((Aa==null?void 0:Aa.item_type)=="SINGLE"||(Aa==null?void 0:Aa.item_type)=="JUDGMENT")&&((zi=Aa==null?void 0:Aa.choices)==null?void 0:zi.map((Es,vl)=>se.createElement("div",{className:sa.redio},!(Es!=null&&Es.is_answer)&&se.createElement("span",{className:sa.redioitem}),(Es==null?void 0:Es.is_answer)&&se.createElement("i",{className:`${sa.redioitemyes} icon-duigou1`}),se.createElement(Os.Z,{className:Es!=null&&Es.is_answer?sa.titleyes:sa.title,value:Ns[vl]+(Es==null?void 0:Es.choice_text)}),(Es==null?void 0:Es.is_answer)&&se.createElement("div",{className:sa.yestag},"\u6B63\u786E\u7B54\u6848")))),(Aa==null?void 0:Aa.item_type)=="MULTIPLE"&&((Fs=Aa==null?void 0:Aa.choices)==null?void 0:Fs.map((Es,vl)=>se.createElement("div",{className:sa.checkbox},!(Es!=null&&Es.is_answer)&&se.createElement("span",{className:sa.checkboxitem}),(Es==null?void 0:Es.is_answer)&&se.createElement("i",{className:`${sa.checkboxitemyes} icon-duigou1`}),se.createElement(Os.Z,{className:Es!=null&&Es.is_answer?sa.titleyes:sa.title,value:Ns[vl]+(Es==null?void 0:Es.choice_text)}),(Es==null?void 0:Es.is_answer)&&se.createElement("div",{className:sa.yestag},"\u6B63\u786E\u7B54\u6848")))),(Aa==null?void 0:Aa.item_type)=="COMPLETION"&&se.createElement("div",{className:sa.completion},(bo=Aa==null?void 0:Aa.standard_answer)==null?void 0:bo.map((Es,vl)=>{var Is;return se.createElement("div",{style:{display:"flex"}},se.createElement("span",{className:sa.title},"\u586B\u7A7A\u9879",vl+1),se.createElement("div",{className:sa.content},(Is=Es==null?void 0:Es.answer_text)==null?void 0:Is.map((fl,Gl)=>se.createElement("div",{className:sa.items},fl))))})),(Aa==null?void 0:Aa.item_type)=="SUBJECTIVE"&&se.createElement("div",{className:sa.simple},se.createElement("div",{className:sa.title},"\u53C2\u8003\u7B54\u6848"),se.createElement("div",{className:"mt10",style:{fontSize:"16px"}},(js=Aa==null?void 0:Aa.answer_texts)!=null&&js[0]?se.createElement(Os.Z,{className:sa.content,value:(kl=Aa==null?void 0:Aa.answer_texts)==null?void 0:kl[0]}):se.createElement("div",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))))))})),(fn==null?void 0:fn.question_type)===8&&se.createElement("div",null,se.createElement(Os.Z,{disabledFill:!0,className:sa.content,showProgramFill:!0,value:Us.Base64.decode(((Nl=fn==null?void 0:fn.program_attr)==null?void 0:Nl.code)||"")})),(fn==null?void 0:fn.question_type)===5&&se.createElement("div",{style:{background:"#F6F7F9",padding:"0px 20px",height:46,lineHeight:"46px",marginTop:40,display:"flex",alignItems:"center"}},se.createElement("div",{style:{flex:1,alignItems:"center",display:"flex"}},se.createElement("div",{style:{marginRight:30}},se.createElement("span",{style:{marginRight:10}},"\u521B\u5EFA\u8005"),se.createElement("span",{style:{color:"#000000"}},(fn==null?void 0:fn.author_name)||"- -")),se.createElement("div",{style:{marginRight:30}},se.createElement("span",{style:{marginRight:10}},"\u6240\u5C5E\u5355\u4F4D"),se.createElement("span",{style:{color:"#000000"}},(fn==null?void 0:fn.author_school_name)||"- -")),se.createElement("div",{style:{marginRight:30}},se.createElement("span",{style:{marginRight:10}},"\u5B66\u4E60\u4EBA\u6570"),se.createElement("span",{style:{color:"#000000"}},(fn==null?void 0:fn.study_count)||"0"))),se.createElement("a",{className:sa.shixunbutton,href:`/shixuns/${fn==null?void 0:fn.identifier}/challenges?exercise=true`,target:"_blank"},se.createElement("i",{onClick:()=>{},style:{marginRight:20},className:"iconfont icon-shixunkecheng mr5 "}),"\u5B9E\u8BAD\u8BE6\u60C5"))),((fn==null?void 0:fn.question_type)<=4||[6,8].includes(fn==null?void 0:fn.question_type))&&se.createElement("div",{className:sa.bottom},se.createElement("div",{className:sa.bottomitem},se.createElement("span",{className:sa.left},"\u89E3\u6790"),se.createElement("span",{className:sa.right},fn!=null&&fn.analysis?se.createElement(Os.Z,{value:fn==null?void 0:fn.analysis}):se.createElement("span",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~"))),se.createElement("div",{className:sa.bottomitem},se.createElement("span",{className:sa.left},"\u96BE\u5EA6"),se.createElement("span",{className:sa.right},(fn==null?void 0:fn.difficulty)===1?"\u7B80\u5355":(fn==null?void 0:fn.difficulty)===2?"\u9002\u4E2D":"\u56F0\u96BE")),se.createElement("div",{className:sa.bottomitem},se.createElement("span",{className:sa.left},"\u77E5\u8BC6\u70B9"),se.createElement("span",{className:sa.right},fn!=null&&fn.tag_discipline?fn==null?void 0:fn.tag_discipline:se.createElement("span",{style:{color:"#C1C1C1"}},"\u6682\u672A\u8BBE\u7F6E~")))))},Bs=he(57712),Ho=he(62041),ll=he(61485),el=he(78170),Rs=he(29496),ui=he(59301),za=Object.defineProperty,ls=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,Ms=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,ul=Object.prototype.propertyIsEnumerable,Na=(fn,Lr,nr)=>Lr in fn?za(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,$a=(fn,Lr)=>{for(var nr in Lr||(Lr={}))Ts.call(Lr,nr)&&Na(fn,nr,Lr[nr]);if(Ms)for(var nr of Ms(Lr))ul.call(Lr,nr)&&Na(fn,nr,Lr[nr]);return fn},gl=(fn,Lr)=>ls(fn,vs(Lr)),zs=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const Xu=({setScoreShow:fn,ScoreShow:Lr,listitem:nr,onOk:Oi,isshixuns:Do,isloadings:cr,dispatch:tl,isIntelligentAssistant:ka=!1,ispptModal:Vi=!1,isChangeQuestion:No=!1,newExercisePaper:Nl,shixunsDetail:Aa})=>{var yo;let[zi,Fs]=(0,se.useState)({type:"0",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,bigmodel:ka,is_smart_plan:Vi,group_id:[]}),[bo,js]=(0,se.useState)([]),[kl,Es]=(0,se.useState)([]),[vl,Is]=(0,se.useState)([]),[fl,Gl]=(0,se.useState)([]);const[Ul,Ko]=(0,se.useState)(!1),[ao]=Bt.default.useForm(),[Wa,Dl]=(0,se.useState)(),[lu,mc]=(0,se.useState)(!1);let[Ro,jl]=(0,se.useState)(Do);const[Ml,mu]=(0,se.useState)([]),[Co,Go]=(0,se.useState)(0),[ou,Mc]=(0,se.useState)(!0),[Ai,tu]=(0,se.useState)([]),[Pl,nc]=(0,se.useState)([]),Tu=[{name:"\u5168\u90E8",value:"",question_type:0},{name:"\u5355\u9009\u9898",value:"SINGLE",question_type:0},{name:"\u591A\u9009\u9898",value:"MULTIPLE",question_type:1},{name:"\u5224\u65AD\u9898",value:"JUDGMENT",question_type:2},{name:"\u586B\u7A7A\u9898",value:"COMPLETION",question_type:3},{name:"\u7B80\u7B54\u9898",value:"SUBJECTIVE",question_type:4},{name:"\u5B9E\u8BAD\u9898",value:"SHIXUN",question_type:5},{name:"\u7F16\u7A0B\u9898",value:"PROGRAM",question_type:6},{name:"\u7EC4\u5408\u9898",value:"COMBINATION",question_type:7},{name:"\u7A0B\u5E8F\u586B\u7A7A\u9898",value:"BPROGRAM",question_type:8}],$i=[{name:"\u5168\u90E8",value:"",question_type:0},{name:"\u5355\u9009\u9898",value:"SINGLE",question_type:0},{name:"\u591A\u9009\u9898",value:"MULTIPLE",question_type:1},{name:"\u5224\u65AD\u9898",value:"JUDGMENT",question_type:2},{name:"\u7F16\u7A0B\u9898",value:"PROGRAM",question_type:6}];let[ol,Po]=(0,se.useState)({gg:{type:"1",page:1,updated_at:"",quotes:"",item_type:null,courseid:"",per_page:10,tag_discipline_id:null,difficulty:null,keyword:null},ttgx:{type:"3",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:[]},scj:{type:"2",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null},wcjd:{type:"0",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:[]},yx:{type:"5",page:1,updated_at:"",quotes:"",item_type:null,per_page:10,courseid:"",tag_discipline_id:null,difficulty:null,keyword:null,group_id:null}});const ds=(0,se.useRef)(new Set),Zl=(0,se.useRef)(new Set),uu=[{name:"\u7B80\u5355",value:1},{name:"\u9002\u4E2D",value:2},{name:"\u56F0\u96BE",value:3}],Ys=[{name:"\u521D\u7EA7",value:1},{name:"\u4E2D\u7EA7",value:2},{name:"\u4E2D\u9AD8\u7EA7",value:3},{name:"\u9AD8\u7EA7",value:4}],hl=[{name:"\u672A\u53D1\u5E03",value:"unpublish"},{name:"\u9759\u9ED8\u53D1\u5E03",value:"silent_publish"},{name:"\u516C\u5F00\u53D1\u5E03",value:"public_publish"}],[Rl,Yl]=(0,se.useState)(!1),Au=()=>{ao.resetFields(),Ro=!1,jl(!1),Yl(!1),ao.submit()};(0,se.useEffect)(()=>{var Mi,Ha;(((Mi=nr==null?void 0:nr.questionIdArr)==null?void 0:Mi.length)>0||((Ha=nr==null?void 0:nr.shixun_ids)==null?void 0:Ha.length)>0)&&(Es([...nr==null?void 0:nr.questionIdArr,...nr==null?void 0:nr.shixun_ids]),Is([...nr==null?void 0:nr.questionIdArr,...nr==null?void 0:nr.shixun_ids]),mu([...nr==null?void 0:nr.shixun_ids]),Zl.current=new Set([...nr==null?void 0:nr.questionIdArr]),ds.current=new Set([...nr==null?void 0:nr.shixun_ids]))},[nr]),(0,se.useEffect)(()=>{Lr&&(ao.setFieldsValue({item_type:"",courseid:"",tag_discipline_id:null,difficulty:null,keyword:null}),ou&&Ro&&(ao.setFieldsValue({item_type:"SHIXUN"}),zi.item_type="SHIXUN",Fs($a({},zi)),Mc(!1)),nu(zi),xc(),Kc({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"0"}))},[Lr]),(0,se.useEffect)(()=>{Co>0&&setTimeout(()=>{Go(0)},2e3)},[Co]);function nu(Mi){return zs(this,null,function*(){var Ha,yl,Sl;if(Ko(!0),Fs($a({},Mi)),(vl==null?void 0:vl.length)<=0&&Mi.type==="5"){Gl([]),Ko(!1);return}let ru=Mi.type==="5"?vl==null?void 0:vl.filter(nt=>!Ml.includes(nt)):null,Re=Mi.type==="5"?vl==null?void 0:vl.filter(nt=>Ml.includes(nt)):null,$e=yield(0,Gt.ZP)("/api/item_banks.json",{method:"get",params:gl($a({},Mi),{discipline_id:((Ha=Mi==null?void 0:Mi.courseid)==null?void 0:Ha[0])||null,sub_discipline_id:((yl=Mi==null?void 0:Mi.courseid)==null?void 0:yl[1])||null,ids:ru,shixun_ids:Re,include_shixuns:!ka,group_id:((Sl=Mi.group_id)==null?void 0:Sl.map(nt=>nt==null?void 0:nt.value))||null,keyword:Mi.keyword?encodeURIComponent(Mi.keyword):Mi.keyword,type:Mi.type==="5"?null:Mi.type,clazz:Mi.type==="3"?"ItemBanksGroup":null,bigmodel:ka,is_smart_plan:Vi})});Gl($e),Ko(!1)})}function xc(){return zs(this,null,function*(){let Mi=yield(0,Gt.ZP)("/api/disciplines.json",{method:"get",params:{source:"question",group_id:0,group_type:zi.type==="5"?null:zi.type,clazz:"ItemBanksGroup"}});js((0,$s.L)(Mi==null?void 0:Mi.disciplines))})}function Kc(Mi){return zs(this,null,function*(){var Ha;let yl=yield(0,Gt.ZP)("/api/item_banks_groups/for_problemset.json",{method:"post",body:Mi}),Sl=[{title:"\u6839\u76EE\u5F55",id:0,pid:0,value:0,key:0,isLeaf:!1,children:(Ha=yl==null?void 0:yl.data)==null?void 0:Ha.map(ru=>({title:ru.name,id:ru.id,pid:ru.id,value:ru.id,key:ru.id,isLeaf:!ru.have_child}))}];tu(Sl)})}function Dc(Mi){return zs(this,null,function*(){var Ha,yl,Sl,ru;Ko(!0);let Re=(Ha=Mi.list)==null?void 0:Ha.filter(Yt=>!Ml.includes(Yt)),$e=(yl=Mi.list)==null?void 0:yl.filter(Yt=>Ml.includes(Yt));if(Re.length===0&&$e.length===0){Ko(!1),Gl([]);return}let nt=yield(0,Gt.ZP)("/api/item_banks.json",{method:"get",params:gl($a({},Mi),{discipline_id:((Sl=Mi==null?void 0:Mi.courseid)==null?void 0:Sl[0])||null,sub_discipline_id:((ru=Mi==null?void 0:Mi.courseid)==null?void 0:ru[1])||null,ids:Re,shixun_ids:$e,type:Mi.type==="5"?null:Mi.type,clazz:Mi.type==="3"?"ItemBanksGroup":null})});Ko(!1),Gl(nt)})}const Jl=Mi=>zs(void 0,null,function*(){const Ha=yield tl({type:"shixunsDetail/release",payload:{id:Mi}});let yl=Ha==null?void 0:Ha.tag_position,Sl=(Ha==null?void 0:Ha.evaluation_set_position)||[],ru=Ha.status;return ru===0?(Rt.ZP.success("\u53D1\u5E03\u6210\u529F"),nu(zi),!0):(ru===2?Rt.ZP.error(`\u7B2C${Sl.join(",")}\u5173\u5C1A\u672A\u5B8C\u6210\uFF0C\u65E0\u6CD5\u7533\u8BF7\u53D1\u5E03`):ru===3?Rt.ZP.error(`\u6BCF\u4E00\u4E2A\u5173\u5361\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u6280\u80FD\u6807\u7B7E, \u7B2C${yl.join(",")}\u5173\u5C1A\u672A\u8BBE\u7F6E\u6280\u80FD\u6807\u7B7E\uFF0C\u8BF7\u8865\u5145`):Rt.ZP.error("\u5C1A\u672A\u521B\u5EFA\u4EFB\u52A1\u7684\u5B9E\u8BAD\uFF0C\u4E0D\u80FD\u7533\u8BF7\u53D1\u5E03"),!1)}),Io=Mi=>(Mi==null?void 0:Mi.shixun_tag_num)===1?"\u672A\u53D1\u5E03\u7684\u5B9E\u8DF5\u9879\u76EE\u4E0D\u80FD\u88AB\u9009\u7528\uFF0C\u8BF7\u5148\u8FDB\u884C\u53D1\u5E03":"",fs=(Mi,Ha,yl)=>Mi.map(Sl=>Sl.key===Ha?$a($a({},Sl),yl):Sl.children?gl($a({},Sl),{children:fs(Sl.children,Ha,yl)}):Sl),Gu=Mi=>zs(void 0,null,function*(){const{key:Ha}=Mi;let yl=zi.type;const Sl=yield(0,Rs.ex)({page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",group_id:Math.abs(Ha),type:yl}),{data:ru,total_count:Re}=Sl||{};Re>0&&tu($e=>fs($e,Ha,{children:ru.map(nt=>({title:nt.name,id:nt.id,pid:nt.id,value:nt.id,key:nt.id,isLeaf:!nt.have_child}))}))});function cl(Mi){console.log("----",zi),Mi==="1"&&(ol.gg=$a({},zi)),Mi==="2"&&(ol.scj=$a({},zi)),Mi==="3"&&(ol.ttgx=$a({},zi)),Mi==="0"&&(ol.wcjd=$a({},zi)),Mi==="5"&&(ol.yx=$a({},zi)),Po($a({},ol))}function Iu(){zi.type==="1"&&(zi=ol.gg),zi.type==="2"&&(zi=ol.scj),zi.type==="3"&&(zi=ol.ttgx),zi.type==="0"&&(zi=ol.wcjd),zi.type==="5"&&(zi=ol.yx),(zi==null?void 0:zi.item_type)==="SHIXUN"?(Ro=!0,jl(!0)):(Ro=!1,jl(!1)),ao.setFieldsValue($a({},zi)),Fs($a({},zi)),nu($a({},zi))}return ui.createElement("div",null,ui.createElement(Xe.default,{title:!1,footer:!1,open:Lr,width:1200,centered:!0,className:_a.scoremodal,onCancel:()=>{fn(!1)}},ui.createElement("div",{style:{display:"flex",alignItems:"center"}},ui.createElement("div",{className:_a.title},ka?"\u4EE5\u9898\u6362\u9898":"\u9898\u5E93\u9009\u9898")),ka&&ui.createElement("div",{style:{padding:10,background:"#F6F7F9",borderRadius:4,marginTop:14}},"\u6839\u636E\u73B0\u6709\u8BD5\u9898\u7684\u9898\u578B\u3001\u65B9\u5411\u3001\u77E5\u8BC6\u70B9\u3001\u96BE\u6613\u5EA6\uFF0C\u5FEB\u901F\u751F\u6210\u65B0\u7684\u8BD5\u9898\uFF0C\u589E\u52A0\u8BD5\u9898\u7684\u4E30\u5BCC\u5EA6"),ui.createElement(wt.default,{className:_a.tabWrap,activeKey:zi.type,onChange:Mi=>{Mi==="3"?(zi.show_all_share=!0,Kc({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"3"})):zi.show_all_share=null,Mi==="0"&&Kc({group_id:0,page:1,per_page:20,sort_by:"updated_at",sort_direction:"desc",type:"0"}),cl(zi.type),zi.type=Mi,(zi==null?void 0:zi.item_type)==="SHIXUN"&&zi.type!=="5"&&(Ro=!0,jl(!0)),Yl(!1),zi.type==="5"&&(Ro=!1,jl(!1)),Iu(),xc()},items:[{label:"\u56E2\u961F\u5171\u4EAB",key:"3"},{label:"\u6536\u85CF\u5939",key:"2"},{label:"\u6211\u521B\u5EFA\u7684",key:"0"},{label:ui.createElement("div",null,"\u5DF2\u9009",vl.length>0&&ui.createElement("span",{className:_a.titlecount},vl.length),Co>0&&ui.createElement("span",{className:_a.add},"+",Co)),key:"5"}]}),ui.createElement(Bt.default,{layout:"inline",form:ao,onValuesChange:(Mi,Ha)=>{const yl=Object.values(Ha).some(ru=>ru!==null&&ru!==""&&ru!==void 0),Sl=Ha.keyword==="";if(Yl(yl||!Sl),zi.page=1,(Ha==null?void 0:Ha.item_type)==="SHIXUN"){if(zi.type==="5"?jl(!1):jl(!0),Mi.keyword||Mi.keyword==="")return;ao.submit()}else{if(Mi!=null&&Mi.courseid&&ao.setFieldsValue({tag_discipline_id:""}),jl(!1),Mi.keyword||Mi.keyword==="")return;ao.submit()}},onFinish:Mi=>{var Ha;zi.type==="3"&&(!Mi.group_id||((Ha=Mi==null?void 0:Mi.group_id)==null?void 0:Ha.length)===0)?zi.show_all_share=!0:zi.show_all_share=null,Fs($a($a({},zi),Mi)),nu($a($a({},zi),Mi))}},ui.createElement(Bt.default.Item,{name:"item_type"},ui.createElement(vt.default,{className:_a.selectWrapper,placeholder:"\u9898\u578B",style:{width:110},size:"middle"},(Vi?$i:ka?Tu==null?void 0:Tu.filter(Mi=>Mi.question_type!==5):Tu).map(Mi=>ui.createElement(vt.default.Option,{key:Mi.value},Mi.name)))),ui.createElement(Bt.default.Item,{name:"courseid"},ui.createElement(Fo.Z,{className:_a.selectWrapper,style:{width:160},size:"middle",placeholder:"\u65B9\u5411&\u8BFE\u7A0B",options:bo})),!Ro&&ui.createElement(Bt.default.Item,{name:"tag_discipline_id"},ui.createElement(vt.default,{className:_a.selectWrapper,placeholder:"\u77E5\u8BC6\u70B9",style:{width:160},size:"middle",allowClear:!0},(yo=fl==null?void 0:fl.tag_disciplines)==null?void 0:yo.map(Mi=>ui.createElement(vt.default.Option,{key:Mi.id},Mi.name)))),ui.createElement(Bt.default.Item,{name:Ro?"diff":"difficulty"},ui.createElement(vt.default,{className:_a.selectWrapper,placeholder:"\u96BE\u5EA6",style:{width:118},size:"middle",allowClear:!0},uu.map(Mi=>ui.createElement(vt.default.Option,{key:Mi.value},Mi.name)))),Ro&&ui.createElement(Bt.default.Item,{name:"shixun_publish_status"},ui.createElement(vt.default,{className:_a.selectWrapper,placeholder:"\u5168\u90E8\u72B6\u6001",style:{width:118},size:"middle",allowClear:!0},hl.map(Mi=>ui.createElement(vt.default.Option,{key:Mi.value},Mi.name)))),(zi.type==="3"||zi.type==="0")&&!Ro&&ui.createElement(Bt.default.Item,{name:"group_id"},ui.createElement(Ls.default,{treeDataSimpleMode:!0,style:{width:118},className:_a.selectWrappers,multiple:!0,allowClear:!0,showSearch:!0,filterTreeNode:(Mi,Ha)=>Ha.title.toUpperCase().indexOf(Mi.toUpperCase())!==-1,dropdownStyle:{maxHeight:400,width:500,overflow:"auto"},placeholder:"\u8BF7\u9009\u62E9\u6587\u4EF6\u5939",treeCheckStrictly:!0,loadData:Gu,treeDefaultExpandedKeys:[0],maxTagCount:0,treeCheckable:!0,treeData:Ai})),Rl&&ui.createElement("span",{className:_a.allqingchu,onClick:Au},ui.createElement("i",{className:"iconfont icon-guanbi4"}),ui.createElement("span",null,"\u6E05\u9664\u7B5B\u9009\u6761\u4EF6")),ui.createElement(Bt.default.Item,{style:{flex:"0 0 auto",marginRight:0,marginLeft:"auto"},name:"keyword"},ui.createElement(_e.default.Search,{className:_a.search,placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22",allowClear:!0,suffix:ui.createElement("i",{className:`iconfont icon-sousuo9 font14 ${_a.searchIcon}`,onClick:()=>ao.submit()}),onSearch:Mi=>{ao.submit()}}))),ui.createElement("div",{style:{background:"#F6F7F9",display:"flex",alignItems:"center",marginTop:18,height:40,paddingLeft:10,paddingRight:20}},ui.createElement("div",{onClick:()=>{zi.updated_at==="asc"?zi.updated_at="desc":zi.updated_at="asc",Fs(gl($a({},zi),{page:1})),nu(gl($a({},zi),{page:1}))}}," ",zi.updated_at?ui.createElement("img",{src:zi.updated_at==="asc"?Bs.Z:Ho.Z,style:{width:"15px",verticalAlign:"text-bottom"},className:"font14 mr5 c-light-primary"}):ui.createElement("i",{style:{fontSize:"14px"},className:"iconfont icon-jiangxu mr5 c-light-primary"}),"\u6309\u66F4\u65B0\u65F6\u95F4\u6392\u5E8F"),ui.createElement("div",{onClick:()=>{zi.quotes==="asc"?zi.quotes="desc":zi.quotes="asc",Fs(gl($a({},zi),{page:1})),nu(gl($a({},zi),{page:1}))},style:{marginLeft:20}}," ",zi.quotes?ui.createElement("img",{src:zi.quotes==="asc"?Bs.Z:Ho.Z,style:{width:"15px",verticalAlign:"text-bottom"},className:"font14 mr5 c-light-primary"}):ui.createElement("i",{style:{fontSize:"14px"},className:"iconfont icon-jiangxu mr5 c-light-primary"}),"\u6309\u4F7F\u7528\u6B21\u6570\u6392\u5E8F")),ui.createElement(oi.default,{style:{marginTop:2,marginBottom:20},scroll:{y:260},dataSource:(fl==null?void 0:fl.items)||(fl==null?void 0:fl.shixun_list),pagination:!1,loading:Ul,rowKey:Mi=>Mi.id,rowSelection:{type:ka||No?"radio":"checkbox",selectedRowKeys:kl,getCheckboxProps:Mi=>({disabled:Mi.shixun_tag_num===1||(Pl==null?void 0:Pl.find(Ha=>Mi.id===Ha))}),onSelect(Mi,Ha,yl){if(ka||No){Es([Mi.id]),Zl.current=new Set([Mi.id]),Go(1),Is([Mi.id]);return}if(Ha)(Ro||Mi!=null&&Mi.challenge_names)&&mu([...Ml,Mi.id]),Es([...kl,Mi.id]),Mi.identifier?ds.current.add(Mi.id):Zl.current.add(Mi.id),Go(1),Is([...vl,Mi.id]);else{Mi.identifier?ds.current.delete(Mi.id):Zl.current.delete(Mi.id);let Sl=vl.filter(ru=>ru!==Mi.id);if(Es(Sl),Is(Sl),Ro||Mi!=null&&Mi.challenge_names){let ru=Ml.filter(Re=>Re!==Mi.id);mu([...ru])}if(zi.type==="5"){Dc(gl($a({},zi),{list:[...Sl]}));return}}},onSelectAll(Mi,Ha,yl){var Sl,ru;if(Mi){const Re=yl.map(nt=>nt.id),$e=(ru=yl==null?void 0:yl.filter(nt=>nt==null?void 0:nt.challenge_names))==null?void 0:ru.map(nt=>nt.id);mu([...Ml,...$e]),Es([...kl,...Re]),Is([...vl,...Re]);for(const nt of yl)nt.identifier?ds.current.add(nt.id):Zl.current.add(nt.id)}else{const Re=yl.map(nn=>nn.id),$e=kl.filter(nn=>!Re.some(Br=>Br===nn)),nt=(Sl=yl==null?void 0:yl.filter(nn=>nn==null?void 0:nn.challenge_names))==null?void 0:Sl.map(nn=>nn.id);Es([...$e]),Is([...$e]);let Yt=Ml.filter(nn=>!nt.some(Br=>Br===nn.id));mu([...Yt]),zi.type==="5"&&Dc(gl($a({},zi),{list:[...$e]}));for(const nn of Re)nn.identifier?ds.current.delete(nn):Zl.current.delete(nn)}}},columns:[{title:"\u9898\u578B",dataIndex:"item_type",key:"item_type",render:(Mi,Ha,yl)=>{var Sl,ru;return ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",null,Ro||Ha!=null&&Ha.challenge_names?"\u5B9E\u8BAD\u9898":(ru=(Sl=Tu==null?void 0:Tu.filter(Re=>Re.value===Mi))==null?void 0:Sl[0])==null?void 0:ru.name))}},{title:"\u8BD5\u9898\u540D\u79F0",dataIndex:"name",width:Ro?"30%":"60%",key:"name",render:(Mi,Ha,yl)=>{var Sl;return ui.createElement("div",{style:{display:"flex",alignItems:"center"}},ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",{className:Ha!=null&&Ha.high_resources_consume?_a.q_title:""},ui.createElement(Os.Z,{key:1,showLines:1,showTextOnly:!0,value:Ro||Ha!=null&&Ha.challenge_names?Ha!=null&&Ha.title||Mi===null?"--":Mi:(Ha==null?void 0:Ha.item_type)=="BPROGRAM"?(Sl=Ha==null?void 0:Ha.program_attr)==null?void 0:Sl.description:Mi}))),(Ha==null?void 0:Ha.high_resources_consume)&&ui.createElement(el.Z,{type:"shixun",style:{marginLeft:10}}))}},{title:"\u521B\u5EFA\u8005",dataIndex:"author_name",key:"author_name",hidden:!Ro,render:(Mi,Ha,yl)=>{var Sl;return ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("span",null,Mi?(Sl=Mi==null?void 0:Mi.split("\u3001"))==null?void 0:Sl[0]:"- -"))}},{title:"\u6240\u5C5E\u5355\u4F4D",dataIndex:"author_school_name",key:"author_school_name",hidden:!Ro,render:(Mi,Ha,yl)=>ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("span",null,Mi||"- -"))},{title:"\u96BE\u5EA6",dataIndex:"difficulty",key:"difficulty",render:(Mi,Ha,yl)=>{var Sl,ru,Re,$e;return ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",null,Ro||Ha!=null&&Ha.challenge_names?(Ha==null?void 0:Ha.level)||((ru=(Sl=uu==null?void 0:uu.filter(nt=>nt.value===Mi))==null?void 0:Sl[0])==null?void 0:ru.name):($e=(Re=uu==null?void 0:uu.filter(nt=>nt.value===Mi))==null?void 0:Re[0])==null?void 0:$e.name))}},{title:"\u5173\u5361\u6570\u91CF",dataIndex:"challenges_count",key:"challenges_count",hidden:!Ro,render:(Mi,Ha,yl)=>ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",null,Mi||"- -"))},{title:"\u4F7F\u7528\u6B21\u6570",dataIndex:"quotes",key:"quotes",render:(Mi,Ha,yl)=>ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",null,Ro||Ha!=null&&Ha.challenge_names?(Ha==null?void 0:Ha.study_count)||(Ha==null?void 0:Ha.stu_num):Mi))},{title:ui.createElement("span",null,"\u53D1\u5E03\u72B6\u6001 ",ui.createElement(It.Z,{title:"\u672A\u53D1\u5E03\u7684\u5B9E\u8DF5\u9879\u76EE\u4E0D\u80FD\u88AB\u9009\u7528"},ui.createElement(ll.Z,null))),dataIndex:"shixun_tag_num_name",key:"shixun_tag_num_name",hidden:!Ro,render:(Mi,Ha,yl)=>ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",null,Mi||"- -"))},{title:"\u64CD\u4F5C",dataIndex:"id",key:"item_type",render:(Mi,Ha,yl)=>ui.createElement(It.Z,{title:Io(Ha)},ui.createElement("div",{style:{flex:1,textAlign:"start"}},ui.createElement("a",{onClick:()=>{var Sl,ru;Dl(gl($a({},Ha),{question_type:Ro||Ha!=null&&Ha.challenge_names?5:(ru=(Sl=Tu==null?void 0:Tu.filter(Re=>Re.value===(Ha==null?void 0:Ha.item_type)))==null?void 0:Sl[0])==null?void 0:ru.question_type})),mc(!0)}},"\u67E5\u770B"),(Ha==null?void 0:Ha.shixun_tag_num)===1&&ui.createElement("a",{style:{marginLeft:10},onClick:()=>{Xe.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,width:400,content:ui.createElement("div",null,"\u662F\u5426\u786E\u5B9A\u53D1\u5E03",ui.createElement("span",{style:{cursor:"pointer",color:"#3061D0"},onClick:()=>{window.open(`/shixuns/${Ha==null?void 0:Ha.identifier}/challenges`)}},(Ha==null?void 0:Ha.shixun_name)||"--"),"\uFF1F"),onOk:()=>zs(void 0,null,function*(){if(!Jl(Ha==null?void 0:Ha.identifier))return new Promise((Sl,ru)=>{ru()})})})}},"\u53D1\u5E03")))}].filter(Mi=>!Mi.hidden)}),ui.createElement(yt.Z,{current:zi.page,total:(fl==null?void 0:fl.items_count)||(fl==null?void 0:fl.shixuns_count),style:{marginBottom:20},defaultPageSize:zi.per_page,showTotal:Mi=>ui.createElement("span",null,"\u5171\xA0",ui.createElement("span",{style:{color:"#165DFF"}},Mi),"\xA0\u6761\u6570\u636E"),pageSize:zi.per_page,onChange:(Mi,Ha)=>{zi.page=Mi,zi.per_page=Ha,Fs($a({},zi)),nu($a({},zi))}}),ui.createElement("div",{className:_a.bottom},ui.createElement(Le.ZP,{className:_a.no,onClick:()=>{fn(!1)}},"\u53D6\u6D88"),ui.createElement(Le.ZP,{loading:cr,style:{width:cr&&75},className:_a.yes,onClick:()=>zs(void 0,null,function*(){if((vl==null?void 0:vl.length)<=0){Rt.ZP.info(ka||No?"\u8BF7\u9009\u62E9\u4E00\u9053\u8BD5\u9898":"\u5F53\u524D\u6682\u672A\u9009\u62E9\u6570\u636E");return}console.log("----",Zl.current,ds.current),Oi([...Zl.current],[...ds.current],!0,vl==null?void 0:vl.length)})},ka?"\u5F00\u59CB\u6362\u9898":"\u786E\u8BA4"))),ui.createElement(Xe.default,{open:lu,title:"\u9898\u76EE\u8BE6\u60C5",footer:!1,className:_a.previewModal,width:1e3,centered:!0,onCancel:()=>{mc(!1)},onOk:()=>{mc(!1)}},ui.createElement(Al,{qitem:Wa})))};var Su=(0,je.connect)(({shixunsDetail:fn,newExercisePaper:Lr})=>({shixunsDetail:fn,newExercisePaper:Lr}))(Xu),cc=he(59301),Ru=Object.getOwnPropertySymbols,hu=Object.prototype.hasOwnProperty,zu=Object.prototype.propertyIsEnumerable,Mu=(fn,Lr)=>{var nr={};for(var Oi in fn)hu.call(fn,Oi)&&Lr.indexOf(Oi)<0&&(nr[Oi]=fn[Oi]);if(fn!=null&&Ru)for(var Oi of Ru(fn))Lr.indexOf(Oi)<0&&zu.call(fn,Oi)&&(nr[Oi]=fn[Oi]);return nr},vc=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const yu=null;let to=null;const uo=fn=>{var Lr=fn,{pathsDetail:nr,user:Oi,globalSetting:Do,loading:cr,dispatch:tl,datas:ka,items:Vi}=Lr,No=Mu(Lr,["pathsDetail","user","globalSetting","loading","dispatch","datas","items"]);const Nl=(0,se.useRef)(),Aa=(0,se.useRef)(),yo=(0,se.useRef)(null);(0,se.useEffect)(()=>{Fs()},[ka]),(0,se.useEffect)(()=>(window.addEventListener("resize",zi),()=>{window.removeEventListener("resize",zi)}),[]);function zi(){var bo,js;(js=(bo=Nl.current)==null?void 0:bo.update)==null||js.call(bo)}function Fs(){return vc(this,null,function*(){var bo,js,kl,Es,vl,Is,fl;if((ka==null?void 0:ka.length)>0){let Gl=ka==null?void 0:ka.map(Ko=>{var ao;return{rootNodeUuid:(ao=Ko==null?void 0:Ko.properties)==null?void 0:ao.rootNodeUuid,id:Ko==null?void 0:Ko.uuid,name:Ko==null?void 0:Ko.name,activeColor:"#FA6400",shape:"circle",hide:!1,isExtendedState:!0}});Gl.push({rootNodeUuid:(bo=Vi==null?void 0:Vi.properties)==null?void 0:bo.rootNodeUuid,id:(kl=(js=Vi==null?void 0:Vi[0])==null?void 0:js.properties)==null?void 0:kl.uuid,name:(vl=(Es=Vi==null?void 0:Vi[0])==null?void 0:Es.properties)==null?void 0:vl.name,activeColor:"#FA6400",shape:"circle",hide:!1,isExtendedState:!0});let Ul=ka==null?void 0:ka.map((Ko,ao)=>{var Wa,Dl;return{hide:!1,id:ao,label:"\u5173\u8054",props:[],colorType:1,sourceRadius:32,targetRadius:32,source:(Dl=(Wa=Vi==null?void 0:Vi[0])==null?void 0:Wa.properties)==null?void 0:Dl.uuid,target:Ko==null?void 0:Ko.uuid,value:10}});console.log("----",Gl,Ul),Nl.current=null,Aa.current.innerHTML="",Nl.current=new Yi.createContainer({containerName:"#graphRefs",width:((Is=Aa==null?void 0:Aa.current)==null?void 0:Is.clientWidth)||0,height:((fl=Aa==null?void 0:Aa.current)==null?void 0:fl.clientHeight)||0,toolbarData:[],clickToggle:!1,background:"#fff",isShowMask:!1,nodes:Gl,links:Ul,zoomOptions:{minScale:.2,maxScale:5},nodeMouseover:function(Ko){return Ko},nodeClick:function(Ko){var ao;return(ao=Nl==null?void 0:Nl.current)==null||ao.selectToNode(Ko.id),Ko},layout:{force:!1,x:20,y:60}}),Nl.current.zoomOut()}})}return cc.createElement("div",{ref:yo,style:{background:"#fff",height:"455rem"}},cc.createElement("div",{style:{width:"100%",height:"455rem"},ref:Aa,id:"graphRefs"}))};var no=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(uo),yn=he(59301),ps=Object.defineProperty,al=Object.defineProperties,Vs=Object.getOwnPropertyDescriptors,$l=Object.getOwnPropertySymbols,eu=Object.prototype.hasOwnProperty,vu=Object.prototype.propertyIsEnumerable,ku=(fn,Lr,nr)=>Lr in fn?ps(fn,Lr,{enumerable:!0,configurable:!0,writable:!0,value:nr}):fn[Lr]=nr,Lu=(fn,Lr)=>{for(var nr in Lr||(Lr={}))eu.call(Lr,nr)&&ku(fn,nr,Lr[nr]);if($l)for(var nr of $l(Lr))vu.call(Lr,nr)&&ku(fn,nr,Lr[nr]);return fn},Cc=(fn,Lr)=>al(fn,Vs(Lr)),fo=(fn,Lr,nr)=>new Promise((Oi,Do)=>{var cr=Vi=>{try{ka(nr.next(Vi))}catch(No){Do(No)}},tl=Vi=>{try{ka(nr.throw(Vi))}catch(No){Do(No)}},ka=Vi=>Vi.done?Oi(Vi.value):Promise.resolve(Vi.value).then(cr,tl);ka((nr=nr.apply(fn,Lr)).next())});const Ql=[{name:"\u57FA\u672C\u4FE1\u606F",key:1},{name:"\u5B66\u4E60\u7EDF\u8BA1",key:3}];let oc=[{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},{name:"\u8BD5\u9898",id:"st",item_type:2}],us=[{name:"\u7AE0\u8282",id:"zj",item_type:1},{name:"\u77E5\u8BC6\u70B9",id:"zsd",item_type:1}];const Hs=({pathsDetail:fn,user:Lr,globalSetting:nr,loading:Oi,dispatch:Do,items:cr,showdetail:tl,setshowdetail:ka,containerRef:Vi,getData:No,setshow:Nl,Tabsdatas:Aa,uuid:yo,tpacti:zi,initdata:Fs})=>{var bo,js,kl,Es,vl,Is,fl,Gl,Ul,Ko,ao,Wa,Dl,lu,mc,Ro,jl,Ml,mu,Co,Go,ou,Mc,Ai,tu,Pl,nc,Tu,$i,ol,Po,ds,Zl,uu,Ys,hl,Rl,Yl,Au,nu,xc,Kc,Dc;const Jl=(0,je.useParams)(),[Io,fs]=(0,se.useState)(0),[Gu]=Bt.default.useForm(),[cl,Iu]=(0,se.useState)({});let[Mi,Ha]=(0,se.useState)(!1),[yl,Sl]=(0,se.useState)(!1);const[ru,Re]=(0,se.useState)(!1),[$e,nt]=(0,se.useState)("1"),[Yt,nn]=(0,se.useState)([]),[Br,Cr]=(0,se.useState)(1),[yi,gi]=(0,se.useState)(2),[Hi,Xa]=(0,se.useState)(2),[Ji,ea]=(0,se.useState)(),[fa,Ba]=(0,se.useState)();let[jr,Ci]=(0,se.useState)([]);const[ya,ns]=(0,se.useState)({}),[wo,rs]=(0,se.useState)(!1),[os,Vo]=(0,se.useState)(""),[Lo,Xl]=(0,se.useState)([]),[Qs]=(0,je.useSearchParams)(),[ni,Fl]=(0,se.useState)(!1),[iu,Ou]=(0,se.useState)([]),[bu,Ll]=(0,se.useState)([]),[Js,wl]=(0,se.useState)([]),[Vl,Uu]=(0,se.useState)(!1),[xu,cu]=(0,se.useState)(!1),[pc,Ac]=(0,se.useState)(!1),[ot,ht]=(0,se.useState)(),[Wt,cn]=(0,se.useState)("0");let[Nn,Bn]=(0,se.useState)({tags:[],tagszy:[],tagslx:[]});const[dr,pr]=(0,se.useState)([{label:"\u5B9E\u8BAD",children:yn.createElement(Qn,{getother:wa,types:"1",ktzykey:$e,onChange:jn=>{nn(jn)}}),key:"1"},{label:"\u89C6\u9891",children:yn.createElement(Qn,{getother:wa,types:"2",ktzykey:$e,onChange:jn=>{nn(jn)}}),key:"2"},{label:"\u8BFE\u4EF6",children:yn.createElement(Qn,{getother:wa,types:"3",ktzykey:$e,onChange:jn=>{nn(jn)}}),key:"3"},{label:"\u8BD5\u5377",children:yn.createElement(Qn,{getother:wa,types:"4",ktzykey:$e,onChange:jn=>{console.log("----",jn),nn(jn)}}),key:"4"}].filter(jn=>!!jn));let[ar,_r]=(0,se.useState)([]),[Wr,Jr]=(0,se.useState)([]);const[Qi,Xi]=(0,se.useState)(0),[Wi,pa]=(0,se.useState)(0),[la,Ta]=(0,se.useState)([]),[hi,Ia]=(0,se.useState)({bh:[],qx:[],hx:[],gl:[]}),[So,hs]=(0,se.useState)({bh:[],qx:[],hx:[],gl:[]}),jo=jn=>{var $r,pe;return(0,Gt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:Jl==null?void 0:Jl.pathId,uuid:(($r=jn==null?void 0:jn.items)==null?void 0:$r.uuid)||((pe=jn==null?void 0:jn.items)==null?void 0:pe.id)}}),Do({type:"userDetail/logWatchHistory",payload:Lu({},jn)})},ms={maxCount:1,fileList:jr,accept:((js=(bo=cl==null?void 0:cl.label)==null?void 0:bo[0])==null?void 0:js.name)==="\u89C6\u9891"?".mp4":"",withCredentials:!0,beforeUpload:jn=>{var $r,pe;if(!(jn.type==="video/mp4")&&((pe=($r=cl==null?void 0:cl.label)==null?void 0:$r[0])==null?void 0:pe.name)==="\u89C6\u9891")return Rt.ZP.error("\u53EA\u80FD\u4E0A\u4F20\u89C6\u9891"),Dt.default.LIST_IGNORE},action:`${Dr.Z.API_SERVER}/api/attachments.json`,onChange:jn=>{Ci(jn==null?void 0:jn.fileList)}};function nl(){return fo(this,null,function*(){var jn,$r,pe,Ee,Be;let ke=yield(0,Gt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:Jl==null?void 0:Jl.pathId}});if((ke==null?void 0:ke.status)===0){Xi(yo);const Ke=[...(Be=(Ee=(jn=ke==null?void 0:ke.data)==null?void 0:jn.nodes)==null?void 0:Ee.splice(1,(pe=($r=ke==null?void 0:ke.data)==null?void 0:$r.nodes)==null?void 0:pe.length))==null?void 0:Be.map(Ue=>{var ut,at,Pt;return Lu({label:(ut=Ue==null?void 0:Ue.properties)==null?void 0:ut.name,children:yn.createElement(kr,{onChange:bt=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(bt))},itemsuuid:cr==null?void 0:cr.uuid,uuid:(at=Ue==null?void 0:Ue.properties)==null?void 0:at.uuid,typesdata:hi}),key:(Pt=Ue==null?void 0:Ue.properties)==null?void 0:Pt.uuid},Ue)})];ar=Ke,_r(Ke),sessionStorage.setItem("typesdatajson",JSON.stringify(hi)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(hi)),Ha(!0)}})}function ho(){return fo(this,null,function*(){var jn,$r,pe,Ee;let Be=yield(0,Gt.ZP)(`/api/users/${(jn=Lr==null?void 0:Lr.userInfo)==null?void 0:jn.login}/subjects.json`,{method:"get",params:{page:1,per_page:800,category:"manage",sort_by:"updated_at",sort_direction:"desc"}});if(Be){let ke=($r=Be==null?void 0:Be.subjects)==null?void 0:$r.filter(Ke=>{var Ue;return(Ke==null?void 0:Ke.identifier)!=((Ue=fn==null?void 0:fn.detail)==null?void 0:Ue.identifier)});ht(ke),is((pe=ke==null?void 0:ke[0])==null?void 0:pe.identifier,(Ee=ke==null?void 0:ke[0])==null?void 0:Ee.name)}})}function is(jn,$r){return fo(this,null,function*(){var pe,Ee,Be,ke,Ke,Ue,ut,at,Pt;let bt=yield(0,Gt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{depth:1,subject_id:jn}});if((bt==null?void 0:bt.status)===0){Xi(((ke=(Be=(Ee=(pe=bt==null?void 0:bt.data)==null?void 0:pe.nodes)==null?void 0:Ee[1])==null?void 0:Be.properties)==null?void 0:ke.uuid)||"");const Ht=[...(Pt=(at=(Ke=bt==null?void 0:bt.data)==null?void 0:Ke.nodes)==null?void 0:at.splice(1,(ut=(Ue=bt==null?void 0:bt.data)==null?void 0:Ue.nodes)==null?void 0:ut.length))==null?void 0:Pt.map(ln=>{var rn,Vn,sn,vn;return Lu({label:(rn=ln==null?void 0:ln.properties)==null?void 0:rn.name,children:yn.createElement(_o,{onChange:Dn=>{sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(Dn))},itemsuuid:cr==null?void 0:cr.uuid,pathId:jn,pathname:$r,uuname:(Vn=ln==null?void 0:ln.properties)==null?void 0:Vn.name,uuid:(sn=ln==null?void 0:ln.properties)==null?void 0:sn.uuid,typesdata:So}),key:(vn=ln==null?void 0:ln.properties)==null?void 0:vn.uuid},ln)})];ar=Ht,_r(Ht),sessionStorage.setItem("typesdatajson",JSON.stringify(So)),sessionStorage.setItem("typesdatajsoncopy",JSON.stringify(So)),Sl(!0)}})}function po(){return fo(this,null,function*(){var jn;let $r=yield(0,Gt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:3,subject_id:Jl==null?void 0:Jl.pathId}});($r==null?void 0:$r.status)===0&&(Nn.tags=$r==null?void 0:$r.data,Bn(Lu({},Nn)));let pe=yield(0,Gt.ZP)("/api/knowledge_items.json",{method:"get",params:{item_type:5,subject_id:Jl==null?void 0:Jl.pathId}});(pe==null?void 0:pe.status)===0&&(Nn.tagszy=[...oc,...pe==null?void 0:pe.data2],Nn.tagslx=[...us,...pe==null?void 0:pe.data],Bn(Lu({},Nn)));let Ee=yield(0,Gt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:cr==null?void 0:cr.resourceUrl,item_banks_group_ids:cr==null?void 0:cr.itemBanksGroupIds}});if(Vo(""),wl([]),localStorage.setItem("container_type_tupu",Ee==null?void 0:Ee.container_type),(cr==null?void 0:cr.nodeType)==="\u89C6\u9891"&&(((jn=Ee==null?void 0:Ee.attachment)==null?void 0:jn.file_type)==="video"||(Ee==null?void 0:Ee.container_type)==="video")&&Vo(Ee==null?void 0:Ee.id),(cr==null?void 0:cr.resourceOrigin)===1&&(cr==null?void 0:cr.nodeType)!=="\u9898\u96C6"){let Be={url:cr==null?void 0:cr.resourceUrl,name:Ee==null?void 0:Ee.name,id:Ee==null?void 0:Ee.examination_bank_id,questionIdArr:Ee==null?void 0:Ee.item_bank_ids,shixun_ids:Ee==null?void 0:Ee.shixun_ids};nn([Be])}(cr==null?void 0:cr.resourceOrigin)===1&&(cr==null?void 0:cr.nodeType)==="\u9898\u96C6"&&wl(Ee==null?void 0:Ee.item_banks_groups),(cr==null?void 0:cr.resourceOrigin)===2&&Ci([{uid:"123",name:Ee==null?void 0:Ee.name,response:{id:"123",url:cr==null?void 0:cr.resourceUrl}}])})}function wa(jn){return fo(this,null,function*(){var $r,pe;let Ee=yield(0,Gt.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:jn}});(Ee==null?void 0:Ee.status)===0&&((Ee==null?void 0:Ee.container_type)==="att"?ns({url:Dr.Z.API_SERVER+(($r=Ee==null?void 0:Ee.attachment)==null?void 0:$r.url),file_type:(pe=Ee==null?void 0:Ee.attachment)==null?void 0:pe.file_type}):window.open(jn))})}function Ya(){return fo(this,null,function*(){let jn=yield(0,Gt.ZP)("/api/knowledge/v2/item_bank_groups.json",{method:"get",params:{subject_id:Jl==null?void 0:Jl.pathId}});(jn==null?void 0:jn.status)===0&&Ou(jn==null?void 0:jn.data)})}function Ds(){return fo(this,null,function*(){var jn,$r,pe,Ee,Be,ke,Ke,Ue,ut,at;let Pt=yield(0,Gt.ZP)("/api/knowledge/v2/get_node_detail.json",{method:"get",params:{nodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),parentNodeUuids:Aa==null?void 0:Aa.map(bt=>bt==null?void 0:bt.uuid).join(),depth:1,relationshipFilter:">",subgraphDepth:"-1",subgraphRelationshipFilter:"\u5305\u542B>",subject_id:Jl==null?void 0:Jl.pathId}});if((Pt==null?void 0:Pt.status)===0){Ta((jn=Pt==null?void 0:Pt.data)==null?void 0:jn.nodes);let bt=(pe=($r=Pt==null?void 0:Pt.data)==null?void 0:$r.nodes)==null?void 0:pe.filter(ln=>{var rn;return((rn=ln==null?void 0:ln.properties)==null?void 0:rn.uuid)===(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id)});ea(bt),Ba((Ee=Pt==null?void 0:Pt.data)==null?void 0:Ee.relationships);const Ht=[...(ke=(Be=Pt==null?void 0:Pt.data)==null?void 0:Be.graphNodeMappings)==null?void 0:ke.map((ln,rn)=>{var Vn;return{label:`${ln==null?void 0:ln.parentNodeName}\uFF08${(Vn=ln==null?void 0:ln.childNodeUuids)==null?void 0:Vn.length}\uFF09`,children:yn.createElement(lr,{datas:Pt==null?void 0:Pt.data,items:ln==null?void 0:ln.childNodeUuids}),key:rn}})];(Ue=(Ke=bt==null?void 0:bt[0])==null?void 0:Ke.properties)!=null&&Ue.pathSetting&&hs(JSON.parse((at=(ut=bt==null?void 0:bt[0])==null?void 0:ut.properties)==null?void 0:at.pathSetting)),pa(0),Wr=Ht,Jr(Ht)}})}(0,se.useEffect)(()=>{tl&&(Ds(),po())},[tl,cr]);const bl=(...jn)=>fo(void 0,[...jn],function*($r={}){return yield Do({type:"pathsDetail/getKnowledgeGraphs",payload:Lu({graphable_type:Qs.get("type")==="classrooms"?"course":"subject",graphable_id:Jl==null?void 0:Jl.pathId},$r)})});return yn.createElement(Da.Z,null,yn.createElement("div",null,tl&&yn.createElement(dt.Z,{open:tl,width:"700rem",maskStyle:{background:"#000",opacity:"0.1"},keyboard:!0,maskClosable:!0,closable:!1,rootClassName:We.drawer,getContainer:()=>Vi.current,onClose:()=>{ka(!1),Vo("")}},yn.createElement("div",{className:We.detailmodal},yn.createElement("div",null,yn.createElement("span",{className:We.title},"\u8282\u70B9\u8BE6\u60C5"),((kl=fn==null?void 0:fn.detail)==null?void 0:kl.can_managed)&&yo!=="\u5B66\u4E60\u8DEF\u5F84"&&(cr==null?void 0:cr.colorType)!=="1"&&yn.createElement("i",{className:"iconfont icon-bianji-moren",onClick:()=>fo(void 0,null,function*(){var jn,$r,pe,Ee,Be,ke,Ke,Ue,ut,at;fs(3),ka(!1);let Pt={name:cr.name,description:cr.description,label:(($r=(jn=Ji==null?void 0:Ji[0])==null?void 0:jn.labels)==null?void 0:$r[1])==="\u8D44\u6E90"?(pe=Nn==null?void 0:Nn.tagszy)==null?void 0:pe.filter(sn=>(sn==null?void 0:sn.name)===(cr==null?void 0:cr.nodeType)):(Ee=Nn==null?void 0:Nn.tagslx)==null?void 0:Ee.filter(sn=>(sn==null?void 0:sn.name)===(cr==null?void 0:cr.nodeType)),tag:(Be=Nn==null?void 0:Nn.tags)==null?void 0:Be.filter(sn=>{var vn,Dn;return(Dn=(vn=cr==null?void 0:cr.tags)==null?void 0:vn.map(En=>En==null?void 0:En.name))==null?void 0:Dn.includes(sn==null?void 0:sn.name)}),resourceOrigin:cr.resourceOrigin,url:(cr==null?void 0:cr.resourceOrigin)===3?cr==null?void 0:cr.resourceUrl:""},bt=(ke=fa==null?void 0:fa.filter(sn=>(sn==null?void 0:sn.type)==="\u88AB\u5305\u542B"&&(sn==null?void 0:sn.startNodeUuid)===((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))))==null?void 0:ke.map(sn=>{var vn,Dn;return{uuid:sn==null?void 0:sn.endNodeUuid,name:(Dn=(vn=la==null?void 0:la.find(En=>{var Et;return((Et=En==null?void 0:En.properties)==null?void 0:Et.uuid)===(sn==null?void 0:sn.endNodeUuid)}))==null?void 0:vn.properties)==null?void 0:Dn.name}}),Ht=(Ke=fa==null?void 0:fa.filter(sn=>(sn==null?void 0:sn.type)==="\u5305\u542B"&&(sn==null?void 0:sn.startNodeUuid)===((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))))==null?void 0:Ke.map(sn=>{var vn,Dn;return{uuid:sn==null?void 0:sn.endNodeUuid,name:(Dn=(vn=la==null?void 0:la.find(En=>{var Et;return((Et=En==null?void 0:En.properties)==null?void 0:Et.uuid)===(sn==null?void 0:sn.endNodeUuid)}))==null?void 0:vn.properties)==null?void 0:Dn.name}});Xl(Ht);let ln=(Ue=fa==null?void 0:fa.filter(sn=>(sn==null?void 0:sn.type)==="\u524D\u5E8F"&&(sn==null?void 0:sn.startNodeUuid)===((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))))==null?void 0:Ue.map(sn=>{var vn,Dn;return{uuid:sn==null?void 0:sn.endNodeUuid,name:(Dn=(vn=la==null?void 0:la.find(En=>{var Et;return((Et=En==null?void 0:En.properties)==null?void 0:Et.uuid)===(sn==null?void 0:sn.endNodeUuid)}))==null?void 0:vn.properties)==null?void 0:Dn.name}}),rn=(ut=fa==null?void 0:fa.filter(sn=>(sn==null?void 0:sn.type)==="\u540E\u5E8F"&&(sn==null?void 0:sn.startNodeUuid)===((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))))==null?void 0:ut.map(sn=>{var vn,Dn;return{uuid:sn==null?void 0:sn.endNodeUuid,name:(Dn=(vn=la==null?void 0:la.find(En=>{var Et;return((Et=En==null?void 0:En.properties)==null?void 0:Et.uuid)===(sn==null?void 0:sn.endNodeUuid)}))==null?void 0:vn.properties)==null?void 0:Dn.name}}),Vn=(at=fa==null?void 0:fa.filter(sn=>((sn==null?void 0:sn.type)==="\u5173\u8054"||(sn==null?void 0:sn.type)==="\u88AB\u5173\u8054")&&(sn==null?void 0:sn.startNodeUuid)===((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))))==null?void 0:at.map(sn=>{var vn,Dn;return{uuid:sn==null?void 0:sn.endNodeUuid,name:(Dn=(vn=la==null?void 0:la.find(En=>{var Et;return((Et=En==null?void 0:En.properties)==null?void 0:Et.uuid)===(sn==null?void 0:sn.endNodeUuid)}))==null?void 0:vn.properties)==null?void 0:Dn.name}});Ia({bh:bt,qx:ln,hx:rn,gl:Vn}),cr!=null&&cr.pathSetting&&hs(JSON.parse(cr==null?void 0:cr.pathSetting)),Gu.setFieldsValue(Pt),Iu(Pt)}),style:{color:"#1B8565",marginLeft:10,cursor:"pointer"}})),yn.createElement("div",{style:{display:"flex",alignItems:"center"}},(cr==null?void 0:cr.colorType)!=="1"&&((Es=fn==null?void 0:fn.detail)==null?void 0:Es.can_managed)&&yo!=="\u5B66\u4E60\u8DEF\u5F84"&&yn.createElement(Le.ZP,{type:"primary",className:We.button,onClick:(0,co.debounce)(()=>fo(void 0,null,function*(){var jn,$r;let pe=yield(0,Gt.ZP)("/api/knowledge/v2/get_node.json",{method:"get",params:{nodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),subject_id:Jl==null?void 0:Jl.pathId,depth:1,relationshipFilter:"\u88AB\u5305\u542B>"}});if((pe==null?void 0:pe.status)===0){let Ee=($r=(jn=pe==null?void 0:pe.data)==null?void 0:jn.nodes)==null?void 0:$r.filter(ke=>{var Ke;return((Ke=ke==null?void 0:ke.properties)==null?void 0:Ke.uuid)!==((cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id))}),Be=Ee==null?void 0:Ee.map(ke=>{var Ke,Ue;return{name:(Ke=ke==null?void 0:ke.properties)==null?void 0:Ke.name,uuid:(Ue=ke==null?void 0:ke.properties)==null?void 0:Ue.uuid}});hi.bh=Be,Ia(hi),fs(1),ka(!1),nn([]),wl([]),Ci([])}}),500)},"\u589E\u52A0\u540C\u7EA7\u8282\u70B9"),((vl=fn==null?void 0:fn.detail)==null?void 0:vl.can_managed)&&yo!=="\u5B66\u4E60\u8DEF\u5F84"&&yn.createElement(Le.ZP,{type:"primary",className:We.button,onClick:()=>{var jn,$r;(($r=(jn=hi==null?void 0:hi.bh)==null?void 0:jn.filter(pe=>(pe==null?void 0:pe.uuid)===(cr==null?void 0:cr.id)))==null?void 0:$r.length)>0||hi.bh.push({name:cr==null?void 0:cr.name,uuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id)}),fs(2),ka(!1),nn([]),wl([]),Ci([])}},"\u589E\u52A0\u5B50\u7EA7\u8282\u70B9"),((Is=fn==null?void 0:fn.detail)==null?void 0:Is.can_managed)&&yo!=="\u5B66\u4E60\u8DEF\u5F84"&&yn.createElement(Le.ZP,{className:We.button,onClick:()=>{let jn="";Xe.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:Vi.current,content:yn.createElement("div",null,yn.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",yn.createElement("span",{style:{color:"red"}},"\u201C\u786E\u8BA4\u5220\u9664\u201D")),yn.createElement(_e.default,{onChange:$r=>{jn=$r.target.value}})),onOk:()=>fo(void 0,null,function*(){if(jn!=="\u786E\u8BA4\u5220\u9664")return Rt.ZP.info("\u8BF7\u8F93\u5165\u786E\u8BA4\u5220\u9664"),Promise.reject();if(jn==="\u786E\u8BA4\u5220\u9664"){let $r=yield(0,Gt.ZP)("/api/knowledge/v2/del_node.json",{method:"post",body:{uuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),subject_id:Jl==null?void 0:Jl.pathId}});($r==null?void 0:$r.status)===0&&(Rt.ZP.info("\u5220\u9664\u6210\u529F"),bl({graphable_id:Jl==null?void 0:Jl.pathId}),(cr==null?void 0:cr.colorType)!=="1"?(Nl(!1),No()):Fs(),ka(!1))}})})}},"\u5220\u9664\u8282\u70B9"),((fl=fn==null?void 0:fn.detail)==null?void 0:fl.can_managed)&&yo==="\u5B66\u4E60\u8DEF\u5F84"&&Qs.get("type")==="classrooms"&&yn.createElement(Le.ZP,{type:"primary",className:We.button,onClick:()=>{Xe.default.confirm({title:"\u63D0\u793A",icon:null,centered:!0,getContainer:Vi.current,okText:"\u786E\u8BA4\u540C\u6B65",content:yn.createElement("div",null,"\u8BE5\u8282\u70B9\u4E0B\u5171",yn.createElement("span",{className:"c-light-primary"},cr==null?void 0:cr.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:()=>fo(void 0,null,function*(){const jn=yield(0,Gt.ZP)("/api/subject_knowledge/send_to_course",{method:"post",body:{id:cr==null?void 0:cr.resourceid,subject_id:Jl==null?void 0:Jl.pathId}});(jn==null?void 0:jn.status)===0&&Rt.ZP.success("\u64CD\u4F5C\u6210\u529F")})})}},"\u540C\u6B65\u8D44\u6E90\u5230\u8BFE\u5802"),yn.createElement(pt.Z,{onClick:()=>{ka(!1)},style:{marginLeft:"10rem",fontSize:"16rem",color:"#979797"}}))),yn.createElement("div",{className:We.tabstyle},Ql==null?void 0:Ql.map(jn=>yn.createElement("div",{onClick:()=>{Cr(jn.key)},className:Br===(jn==null?void 0:jn.key)?We.itemsactivite:We.items},jn==null?void 0:jn.name))),Br===1&&yn.createElement("div",null,yn.createElement("div",{className:We.nodetitle},yi===1&&yn.createElement(mt.Z,{onClick:()=>gi(2)}),yi===2&&yn.createElement(Jt.Z,{onClick:()=>gi(1)}),yn.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5C5E\u6027")),yi===2&&yn.createElement("div",{className:We.nodeboyd},yn.createElement("div",{className:We.listitem,style:{marginTop:"0rem"}},yn.createElement("label",null,"\u8282\u70B9\u540D\u79F0"),yn.createElement("span",null,cr==null?void 0:cr.name)),yn.createElement("div",{className:We.listitem},yn.createElement("label",null,"\u8282\u70B9\u7B80\u4ECB"),yn.createElement("pre",null,(cr==null?void 0:cr.description)||"\u6682\u65E0")),yn.createElement("div",{className:We.listitem},yn.createElement("label",null,"\u8282\u70B9\u7C7B\u578B"),yn.createElement("div",null,(cr==null?void 0:cr.nodeType)&&yn.createElement(bn,{containerRef:Vi,type:5,value:[{name:cr==null?void 0:cr.nodeType}],pathsDetail:fn,showmodal:!1,dataSources:[]})," ")),yn.createElement("div",{className:We.listitem},yn.createElement("label",null,"\u8282\u70B9\u6807\u7B7E"),yn.createElement("span",null,((Gl=cr==null?void 0:cr.tags)==null?void 0:Gl.length)>0&&yn.createElement(bn,{containerRef:Vi,type:5,pathsDetail:fn,value:cr==null?void 0:cr.tags,showmodal:!1,dataSources:[]}))),(cr==null?void 0:cr.nodeType)==="\u89C6\u9891"&&(cr==null?void 0:cr.resourceOrigin)!==3&&os&&yn.createElement("div",{style:{height:"300rem",marginTop:"20rem"}},yn.createElement(tt.Z,{allow_skip:!0,videoId:os,toLog:!0,src:cr==null?void 0:cr.resourceUrl,logWatchHistory:jn=>jo(Cc(Lu({},jn),{container_type:localStorage.getItem("container_type_tupu"),items:cr}))})),(cr==null?void 0:cr.resourceOrigin)===3&&yn.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},yn.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},cr==null?void 0:cr.resourceUrl),yn.createElement(Le.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>fo(void 0,null,function*(){let jn=yield(0,Gt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:Jl==null?void 0:Jl.pathId,uuid:cr==null?void 0:cr.uuid}});window.open(cr==null?void 0:cr.resourceUrl)}),type:"primary"},"\u524D\u5F80\u67E5\u770B")),(cr==null?void 0:cr.nodeType)==="\u9898\u96C6"&&(Js==null?void 0:Js.map(jn=>yn.createElement("div",{style:{display:"flex",alignItems:"center",marginTop:"10rem"}},yn.createElement(It.Z,{title:jn==null?void 0:jn.name},yn.createElement("span",{className:We.multiple,style:{color:"#1B8565",fontSize:"16rem",maxWidth:"80%"}},jn==null?void 0:jn.name)),yn.createElement("div",{style:{marginLeft:"10rem",padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",jn==null?void 0:jn.count)))),(cr==null?void 0:cr.nodeType)!="\u89C6\u9891"&&(cr==null?void 0:cr.nodeType)!="\u9898\u96C6"&&(cr!=null&&cr.resourceOrigin)&&[1,2].includes(cr==null?void 0:cr.resourceOrigin)?yn.createElement("div",{style:{display:"flex",marginTop:"20rem",alignItems:"center"}},yn.createElement("span",{style:{color:"#1B8565",fontSize:"16rem"}},(cr==null?void 0:cr.resourceOrigin)===1?(Ul=Yt==null?void 0:Yt[0])==null?void 0:Ul.name:(Ko=jr==null?void 0:jr[0])==null?void 0:Ko.name),(0,kn.JA)()&&((cr==null?void 0:cr.nodeType)==="\u8BD5\u5377"||(cr==null?void 0:cr.nodeType)==="\u8BD5\u9898")?"":yn.createElement(Le.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>fo(void 0,null,function*(){wa(cr==null?void 0:cr.resourceUrl);let jn=yield(0,Gt.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:Jl==null?void 0:Jl.pathId,uuid:cr==null?void 0:cr.uuid}})}),type:"primary"},"\u524D\u5F80\u67E5\u770B"),((cr==null?void 0:cr.nodeType)==="\u8BD5\u5377"||(cr==null?void 0:cr.nodeType)==="\u8BD5\u9898")&&(cr==null?void 0:cr.resourceOrigin)===1&&yn.createElement(Le.ZP,{style:{height:"40rem",padding:"0rem 10rem",fontSize:"14rem",marginLeft:"10rem"},onClick:()=>fo(void 0,null,function*(){var jn,$r;const pe=yield(0,es.Mb)({categoryId:(jn=Yt==null?void 0:Yt[0])==null?void 0:jn.id});pe!=null&&pe.exercise_id&&(0,On.xg)(`/classrooms/coursesId/exercise/${pe.exercise_id}/${($r=Lr.userInfo)==null?void 0:$r.login}/initate_answer`)}),type:"primary"},"\u6A21\u62DF\u8003\u8BD5")):""),yn.createElement("div",{className:We.nodetitle},Hi===1&&yn.createElement(mt.Z,{onClick:()=>Xa(2)}),Hi===2&&yn.createElement(Jt.Z,{onClick:()=>Xa(1)}),yn.createElement("span",{style:{marginLeft:"10rem",fontSize:"16rem",color:"#1B8565"}},"\u8282\u70B9\u5173\u7CFB"),yn.createElement("div",{style:{flex:1,textAlign:"end"}},yn.createElement(vt.default,{style:{minWidth:"100rem"},value:Wt,onChange:jn=>{var $r;if(cn(jn),jn==0)Ds();else{let pe=($r=So==null?void 0:So.gl)==null?void 0:$r.filter(Be=>(Be==null?void 0:Be.pathId)==jn);const Ee=[...pe==null?void 0:pe.map((Be,ke)=>({label:`${Be==null?void 0:Be.uuname}\uFF08${pe==null?void 0:pe.filter(Ke=>Ke.olduuid=Be==null?void 0:Be.olduuid).length}\uFF09`,children:yn.createElement(no,{items:Ji,datas:pe==null?void 0:pe.filter(Ke=>Ke.olduuid=Be==null?void 0:Be.olduuid)}),key:ke,items:pe==null?void 0:pe.filter(Ke=>Ke.olduuid=Be==null?void 0:Be.olduuid)}))];pa(0),Wr=Ee,Jr(Ee)}}},yn.createElement(vt.default.Option,{value:"0"},"\u672C\u8BFE\u7A0B"),(ao=So==null?void 0:So.gl)==null?void 0:ao.map(jn=>yn.createElement(vt.default.Option,{value:jn==null?void 0:jn.pathId},jn==null?void 0:jn.uuname))))),Hi===2&&yn.createElement("div",{className:We.nodeboyd,style:{padding:0,minHeight:"530rem"}},yn.createElement(wt.default,{className:We.Tabs,activeKey:Wi,destroyInactiveTabPane:!0,onChange:jn=>{pa(parseInt(jn))},type:"card",items:Wr}))),Br===3&&yn.createElement("div",null,(0,kn.JA)()?yn.createElement(Qa,{uuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id)}):yn.createElement(sr,{uuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id)}))),yn.createElement(Xe.default,{title:yn.createElement("span",{style:{fontSize:"18rem",color:"#000"}},Io===3?"\u7F16\u8F91":"\u521B\u5EFA","\u8282\u70B9"),centered:!0,destroyOnClose:!0,width:"1200rem",open:Io>0,getContainer:()=>Vi.current,onCancel:()=>{fs(0),Gu.resetFields(),Ia({qx:[],bh:[],hx:[],gl:[]}),hs({qx:[],bh:[],hx:[],gl:[]}),Ci([]),Iu({}),nn([]),wl([])},okButtonProps:{loading:wo},onOk:()=>{Gu.submit()}},yn.createElement("div",{className:We.addmodal},yn.createElement("div",{className:We.title},"\u8282\u70B9\u5C5E\u6027"),yn.createElement(Bt.default,{className:We.form,labelCol:{flex:"92rem"},layout:"horizontal",form:Gu,colon:!1,onValuesChange:(jn,$r)=>{var pe,Ee,Be,ke;Iu(Lu({},$r)),($r==null?void 0:$r.resourceOrigin)!==1&&nn([]),((Ee=(pe=$r==null?void 0:$r.label)==null?void 0:pe[0])==null?void 0:Ee.name)!=="\u9898\u96C6"&&wl([]),((ke=(Be=$r==null?void 0:$r.label)==null?void 0:Be[0])==null?void 0:ke.item_type)!==2&&(nn([]),Ci([]),wl([]),Gu.setFieldsValue({resourceOrigin:0,url:""}))},onFinish:(0,co.debounce)(jn=>fo(void 0,null,function*(){var $r,pe,Ee,Be,ke,Ke,Ue,ut,at,Pt,bt,Ht,ln,rn,Vn,sn,vn,Dn,En,Et,Kr,Pi,ja,wi,Ka,vo,mo,ii,Ki,Mo,fr,tr,Fi,_i,La,ki,ma,To,go,ia,As,Ws,Vu,du,Yu,sc,_u,dc,Nc,gd;if((($r=hi==null?void 0:hi.bh)==null?void 0:$r.length)===0){Rt.ZP.warning("\u8282\u70B9\u5305\u542B\u5173\u7CFB\u4E0D\u80FD\u4E3A\u7A7A");return}if((jn==null?void 0:jn.resourceOrigin)===0){Rt.ZP.warning("\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B");return}if((jn==null?void 0:jn.resourceOrigin)===1&&(Yt==null?void 0:Yt.length)<=0&&((pe=jn==null?void 0:jn.label[0])==null?void 0:pe.name)!=="\u9898\u96C6"){Rt.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((jn==null?void 0:jn.resourceOrigin)===1&&(Js==null?void 0:Js.length)<=0&&((Ee=jn==null?void 0:jn.label[0])==null?void 0:Ee.name)==="\u9898\u96C6"){Rt.ZP.warning("\u8BF7\u9009\u62E9\u5BF9\u5E94\u8D44\u6E90");return}if((jn==null?void 0:jn.resourceOrigin)===2&&(jr==null?void 0:jr.length)===0){Rt.ZP.warning("\u8BF7\u4E0A\u4F20\u6587\u4EF6");return}rs(!0);let Ic=Io===3?"/api/knowledge/v2/mod_node.json":"/api/knowledge/v2/add_node.json",fd=Io===3?{subject_id:Jl==null?void 0:Jl.pathId,properties:{description:jn.description,rootNodeUuid:cr==null?void 0:cr.rootNodeUuid,name:jn.name,uuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),nodeType:(Be=jn==null?void 0:jn.label[0])==null?void 0:Be.name,tags:((Ke=(ke=jn.tag)==null?void 0:ke.map(hc=>hc==null?void 0:hc.name))==null?void 0:Ke.join("\uFF0C"))||"",color:cr==null?void 0:cr.color,resourceOrigin:jn.resourceOrigin,resourceUrl:jn.resourceOrigin===3?jn.url:jn.resourceOrigin===2?((at=(ut=(Ue=jr==null?void 0:jr[0])==null?void 0:Ue.response)==null?void 0:ut.url)==null?void 0:at.indexOf("educoder.net"))>-1?(bt=(Pt=jr==null?void 0:jr[0])==null?void 0:Pt.response)==null?void 0:bt.url:((Ht=nr==null?void 0:nr.setting)==null?void 0:Ht.public_bucket_host)+((rn=(ln=jr==null?void 0:jr[0])==null?void 0:ln.response)==null?void 0:rn.url):(Vn=Yt==null?void 0:Yt[0])==null?void 0:Vn.url,container_type:((sn=jn==null?void 0:jn.label[0])==null?void 0:sn.name)==="\u9898\u96C6"?"ItemBanksGroup":(jn.resourceOrigin===1||jn.resourceOrigin===2)&&((vn=Yt==null?void 0:Yt[0])==null?void 0:vn.container_type)||((En=(Dn=jr==null?void 0:jr[0])==null?void 0:Dn.response)==null?void 0:En.container_type),container_id:(jn.resourceOrigin===1||jn.resourceOrigin===2)&&((Et=Yt==null?void 0:Yt[0])==null?void 0:Et.container_id)||((Pi=(Kr=jr==null?void 0:jr[0])==null?void 0:Kr.response)==null?void 0:Pi.container_id),itemBanksGroupIds:Js==null?void 0:Js.map(hc=>hc==null?void 0:hc.group_id).toString(),pathSetting:JSON.stringify(So)},subgraphNodeUuid:zi,relationships:[...(ja=hi.bh)==null?void 0:ja.map(hc=>({startNodeUuid:hc.uuid,endNodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),type:"\u5305\u542B"})),...Lo==null?void 0:Lo.map(hc=>({endNodeUuid:hc.uuid,startNodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),type:"\u5305\u542B"})),...(wi=hi.qx)==null?void 0:wi.map(hc=>({endNodeUuid:hc.uuid,startNodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),type:"\u524D\u5E8F"})),...(Ka=hi.hx)==null?void 0:Ka.map(hc=>({endNodeUuid:hc.uuid,startNodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),type:"\u540E\u5E8F"})),...(vo=hi.gl)==null?void 0:vo.map(hc=>({startNodeUuid:hc.uuid,endNodeUuid:(cr==null?void 0:cr.keys)||(cr==null?void 0:cr.id),type:"\u5173\u8054"}))]}:{label:((mo=jn==null?void 0:jn.label[0])==null?void 0:mo.item_type)===1?"\u6807\u7B7E":"\u8D44\u6E90",subject_id:Jl==null?void 0:Jl.pathId,properties:{description:jn.description,rootNodeUuid:cr==null?void 0:cr.rootNodeUuid,name:jn.name,nodeType:(ii=jn==null?void 0:jn.label[0])==null?void 0:ii.name,tags:((Mo=(Ki=jn.tag)==null?void 0:Ki.map(hc=>hc==null?void 0:hc.name))==null?void 0:Mo.join("\uFF0C"))||"",color:Io===1?"2":parseInt(cr==null?void 0:cr.colorType)+1+"",resourceOrigin:jn.resourceOrigin,resourceUrl:jn.resourceOrigin===3?jn.url:jn.resourceOrigin===2?((Fi=(tr=(fr=jr==null?void 0:jr[0])==null?void 0:fr.response)==null?void 0:tr.url)==null?void 0:Fi.indexOf("educoder.net"))>-1?(La=(_i=jr==null?void 0:jr[0])==null?void 0:_i.response)==null?void 0:La.url:((ki=nr==null?void 0:nr.setting)==null?void 0:ki.public_bucket_host)+((To=(ma=jr==null?void 0:jr[0])==null?void 0:ma.response)==null?void 0:To.url):(go=Yt==null?void 0:Yt[0])==null?void 0:go.url,container_type:((ia=jn==null?void 0:jn.label[0])==null?void 0:ia.name)==="\u9898\u96C6"?"ItemBanksGroup":(jn.resourceOrigin===1||jn.resourceOrigin===2)&&((As=Yt==null?void 0:Yt[0])==null?void 0:As.container_type)||((Vu=(Ws=jr==null?void 0:jr[0])==null?void 0:Ws.response)==null?void 0:Vu.container_type),container_id:(jn.resourceOrigin===1||jn.resourceOrigin===2)&&((du=Yt==null?void 0:Yt[0])==null?void 0:du.container_id)||((sc=(Yu=jr==null?void 0:jr[0])==null?void 0:Yu.response)==null?void 0:sc.container_id),itemBanksGroupIds:Js==null?void 0:Js.map(hc=>hc==null?void 0:hc.group_id).toString(),pathSetting:JSON.stringify(So)},subgraphNodeUuid:zi,relationships:[...(_u=hi.bh)==null?void 0:_u.map(hc=>({startNodeUuid:hc.uuid,type:"\u5305\u542B"})),...(dc=hi.qx)==null?void 0:dc.map(hc=>({startNodeUuid:hc.uuid,type:"\u524D\u5E8F"})),...(Nc=hi.hx)==null?void 0:Nc.map(hc=>({endNodeUuid:hc.uuid,type:"\u540E\u5E8F"})),...(gd=hi.gl)==null?void 0:gd.map(hc=>({startNodeUuid:hc.uuid,type:"\u5173\u8054"}))]};const yd=yield(0,Gt.ZP)(Ic,{method:"POST",body:fd});rs(!1),(yd==null?void 0:yd.status)===0&&(bl({graphable_id:Jl==null?void 0:Jl.pathId}),Rt.ZP.info(Io===3?"\u7F16\u8F91\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),fs(0),Nl(!1),No(),Gu.resetFields(),Ci([]),Iu({}),nn([]),wl([]),Ia({qx:[],hx:[],bh:[],gl:[]}))}),500),size:"large"},yn.createElement(Bt.default.Item,{label:"\u8282\u70B9\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u8282\u70B9\u540D\u79F0"},{type:"string",max:200,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"}]},yn.createElement(_e.default,{maxLength:200,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),yn.createElement(Bt.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"}]},yn.createElement(_e.default.TextArea,{maxLength:5e3,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),yn.createElement(Bt.default.Item,{label:"\u8282\u70B9\u7C7B\u578B",name:"label",style:{marginBottom:"0rem"},rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8282\u70B9\u7C7B\u578B"}]},yn.createElement(bn,{containerRef:Vi,type:5,pathsDetail:fn,showmodal:Io!==3,dataSources:[]})),((Dl=(Wa=cl==null?void 0:cl.label)==null?void 0:Wa[0])==null?void 0:Dl.item_type)===2&&yn.createElement(Bt.default.Item,{label:" ",name:"resourceOrigin",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8D44\u6E90\u7C7B\u578B"}]},yn.createElement(Ot.ZP.Group,{className:We.radioform},yn.createElement(Ot.ZP,{value:1},"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90"),((mc=(lu=cl==null?void 0:cl.label)==null?void 0:lu[0])==null?void 0:mc.name)!=="\u9898\u96C6"&&yn.createElement(Ot.ZP,{value:2},"\u4E0A\u4F20\u6587\u4EF6"),((jl=(Ro=cl==null?void 0:cl.label)==null?void 0:Ro[0])==null?void 0:jl.name)!=="\u9898\u96C6"&&yn.createElement(Ot.ZP,{value:3},"\u5916\u94FE"))),(cl==null?void 0:cl.resourceOrigin)===1&&((mu=(Ml=cl==null?void 0:cl.label)==null?void 0:Ml[0])==null?void 0:mu.item_type)===2&&yn.createElement(Bt.default.Item,{label:" ",name:""},yn.createElement(Le.ZP,{onClick:()=>{var jn,$r,pe,Ee,Be,ke,Ke,Ue;(($r=(jn=cl==null?void 0:cl.label)==null?void 0:jn[0])==null?void 0:$r.name)==="\u9898\u96C6"?(Fl(!0),Ll(Js),Ya()):((Ee=(pe=cl==null?void 0:cl.label)==null?void 0:pe[0])==null?void 0:Ee.name)==="\u8BD5\u9898"?Uu(!0):(Re(!0),nt(((ke=(Be=cl==null?void 0:cl.label)==null?void 0:Be[0])==null?void 0:ke.name)==="\u89C6\u9891"?"2":((Ue=(Ke=cl==null?void 0:cl.label)==null?void 0:Ke[0])==null?void 0:Ue.name)==="\u8BD5\u5377"?"4":"1"))},type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},((Go=(Co=cl==null?void 0:cl.label)==null?void 0:Co[0])==null?void 0:Go.name)==="\u9898\u96C6"?"\u9009\u62E9\u9898\u96C6":"\u9009\u62E9\u8D44\u6E90"),(Yt==null?void 0:Yt.length)>0&&yn.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},yn.createElement("div",{className:We.multiple,title:(ou=Yt==null?void 0:Yt[0])==null?void 0:ou.name},((Mc=Yt==null?void 0:Yt[0])==null?void 0:Mc.name)||Gu.getFieldValue("name")+"\uFF08"+((Ai=Yt==null?void 0:Yt[0])==null?void 0:Ai.question_count)+"\uFF09"),yn.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{nn([])},className:"iconfont icon-shanchu12"})," "),(Js==null?void 0:Js.length)>0&&(Js==null?void 0:Js.map(jn=>yn.createElement("div",{style:{color:"#1B8565",marginTop:"5rem",fontSize:"16rem",display:"flex",alignItems:"center"}},yn.createElement("div",{className:We.multiple,title:jn==null?void 0:jn.name},jn==null?void 0:jn.name),yn.createElement("i",{style:{fontSize:"16rem",cursor:"pointer",marginLeft:"10rem"},onClick:()=>{wl(Js==null?void 0:Js.filter($r=>($r==null?void 0:$r.group_id)!==(jn==null?void 0:jn.group_id)))},className:"iconfont icon-shanchu12"})," ")))),(cl==null?void 0:cl.resourceOrigin)===2&&((Pl=(tu=cl==null?void 0:cl.label)==null?void 0:tu[0])==null?void 0:Pl.item_type)===2&&yn.createElement(Bt.default.Item,{label:" ",name:"file",shouldUpdate:!0},yn.createElement(Dt.default,Lu({},ms),yn.createElement(Le.ZP,{type:"primary",style:{height:"40rem",lineHeight:"40rem",padding:"0rem 32rem",boxShadow:"none"}},"\u4E0A\u4F20\u6587\u4EF6"))),(cl==null?void 0:cl.resourceOrigin)===3&&((Tu=(nc=cl==null?void 0:cl.label)==null?void 0:nc[0])==null?void 0:Tu.item_type)===2&&yn.createElement(Bt.default.Item,{label:" ",name:"url"},yn.createElement(Bt.default.Item,{label:"\u5916\u94FE\u94FE\u63A5",name:"url",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5916\u94FE"}]},yn.createElement(_e.default,{style:{height:"40rem"}}))),yn.createElement(Bt.default.Item,{label:"\u8282\u70B9\u6807\u7B7E",name:"tag"},yn.createElement(bn,{containerRef:Vi,type:3,pathsDetail:fn,showmodal:!0,dataSources:[]})))),yn.createElement("div",{className:We.addmodal,style:{marginTop:"20rem"}},yn.createElement("div",{className:We.title},yn.createElement("span",null,"\u8282\u70B9\u5173\u7CFB"),yn.createElement("div",null,yn.createElement("span",{style:{cursor:"pointer"},onClick:()=>{ho()}},"\u5173\u8054\u5176\u4ED6\u8BFE\u7A0B"),yn.createElement("span",{style:{cursor:"pointer",marginLeft:20},onClick:()=>{nl()}},"\u5173\u7CFB\u8BBE\u7F6E"))),yn.createElement("div",{className:We.gxcoent,style:{padding:"20rem 25rem"}},yn.createElement("div",{className:We.gxtitle},yn.createElement("div",{className:We.Colortitle,style:{background:"#6236ff"}}),yn.createElement("div",null,"\u88AB\u5305\u542B\uFF08",($i=hi.bh)==null?void 0:$i.length,"\uFF09")),yn.createElement("div",{className:We.gxbody},(ol=hi==null?void 0:hi.bh)==null?void 0:ol.map(jn=>yn.createElement("div",{className:We.tag,style:{background:"#6236ff"}},yn.createElement("span",{style:{marginRight:"10rem"}},jn==null?void 0:jn.name)," ",yn.createElement(pt.Z,{onClick:()=>{var $r;let pe=($r=hi==null?void 0:hi.bh)==null?void 0:$r.filter(Ee=>Ee.uuid!==jn.uuid);Ia({bh:pe,hx:hi==null?void 0:hi.hx,qx:hi==null?void 0:hi.qx,gl:hi==null?void 0:hi.gl})}})))),yn.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},yn.createElement("div",{className:We.Colortitle,style:{background:"#24A881"}}),yn.createElement("div",null,"\u524D\u5E8F\uFF08",(Po=hi.qx)==null?void 0:Po.length,"\uFF09")),yn.createElement("div",{className:We.gxbody},(ds=hi==null?void 0:hi.qx)==null?void 0:ds.map(jn=>yn.createElement("div",{className:We.tag,style:{background:"#24A881"}},yn.createElement("span",{style:{marginRight:"10rem"}},jn==null?void 0:jn.name)," ",yn.createElement(pt.Z,{onClick:()=>{var $r;let pe=($r=hi==null?void 0:hi.qx)==null?void 0:$r.filter(Ee=>Ee.uuid!==jn.uuid);Ia({qx:pe,bh:hi==null?void 0:hi.bh,hx:hi==null?void 0:hi.hx,gl:hi==null?void 0:hi.gl})}})))),yn.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},yn.createElement("div",{className:We.Colortitle,style:{background:"#EC8657"}}),yn.createElement("div",null,"\u540E\u5E8F\uFF08",(Zl=hi.hx)==null?void 0:Zl.length,"\uFF09")),yn.createElement("div",{className:We.gxbody},(uu=hi==null?void 0:hi.hx)==null?void 0:uu.map(jn=>yn.createElement("div",{className:We.tag,style:{background:"#EC8657"}},yn.createElement("span",{style:{marginRight:"10rem"}},jn==null?void 0:jn.name)," ",yn.createElement(pt.Z,{onClick:()=>{var $r;let pe=($r=hi==null?void 0:hi.hx)==null?void 0:$r.filter(Ee=>Ee.uuid!==jn.uuid);Ia({qx:hi==null?void 0:hi.qx,bh:hi==null?void 0:hi.bh,hx:pe,gl:hi==null?void 0:hi.gl})}})))),yn.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},yn.createElement("div",{className:We.Colortitle,style:{background:"#497DFF"}}),yn.createElement("div",null,"\u5173\u8054\uFF08",(Ys=hi.gl)==null?void 0:Ys.length,"\uFF09")),yn.createElement("div",{className:We.gxbody},(hl=hi==null?void 0:hi.gl)==null?void 0:hl.map(jn=>yn.createElement("div",{className:We.tag,style:{background:"#497DFF"}},yn.createElement("span",{style:{marginRight:"10rem"}},jn==null?void 0:jn.name)," ",yn.createElement(pt.Z,{onClick:()=>{var $r;let pe=($r=hi==null?void 0:hi.gl)==null?void 0:$r.filter(Ee=>Ee.uuid!==jn.uuid);Ia({qx:hi==null?void 0:hi.qx,hx:hi==null?void 0:hi.hx,bh:hi==null?void 0:hi.bh,gl:pe})}})))),yn.createElement("div",{className:We.gxtitle,style:{marginTop:"30rem"}},yn.createElement("div",{className:We.Colortitle,style:{background:"#497DFF"}}),yn.createElement("div",null,"\u5176\u4ED6\u8BFE\u7A0B\u5173\u8054\uFF08",(Rl=So.gl)==null?void 0:Rl.length,"\uFF09")),yn.createElement("div",{className:We.gxbody},(Yl=So==null?void 0:So.gl)==null?void 0:Yl.map(jn=>yn.createElement("div",{className:We.tag,style:{background:"#497DFF"}},yn.createElement("span",{style:{marginRight:"10rem"}},jn==null?void 0:jn.name)," ",yn.createElement(pt.Z,{onClick:()=>{var $r;let pe=($r=So==null?void 0:So.gl)==null?void 0:$r.filter(Ee=>Ee.uuid!==jn.uuid);hs({qx:hi==null?void 0:hi.qx,hx:hi==null?void 0:hi.hx,bh:hi==null?void 0:hi.bh,gl:pe})}}))))))),yn.createElement(Xe.default,{title:"\u9009\u62E9\u9898\u96C6",open:ni,destroyOnClose:!0,centered:!0,getContainer:()=>Vi.current,width:"1200rem",onOk:()=>{if((bu==null?void 0:bu.length)<=0){Rt.ZP.info("\u8BF7\u9009\u62E9\u9898\u96C6");return}wl(bu),Fl(!1)},onCancel:()=>{Ll([]),Fl(!1)}},yn.createElement(Ye.default,{checkable:!0,style:{margin:20,maxHeight:400,overflow:"auto"},blockNode:!0,checkStrictly:!0,checkedKeys:bu==null?void 0:bu.map(jn=>jn==null?void 0:jn.group_id),onCheck:(jn,$r)=>{Ll($r==null?void 0:$r.checkedNodes)},treeData:iu,fieldNames:{key:"group_id",title:"name"},titleRender:jn=>yn.createElement("div",{style:{display:"flex",alignItems:"center",paddingRight:"14px"}},yn.createElement(It.Z,{title:jn==null?void 0:jn.name},yn.createElement("div",{className:We.multiple,style:{display:"flex",alignItems:"center",maxWidth:"80%"}},yn.createElement("img",{src:Ma,style:{marginRight:10}}),yn.createElement("span",null,jn==null?void 0:jn.name))),yn.createElement("div",{style:{padding:"0rem 10rem",fontSize:"12rem",background:"#F6F7F9",color:"#909D99",borderRadius:"20rem"}},"\u8BD5\u9898\u6570 ",jn==null?void 0:jn.count))})),yn.createElement(Xe.default,{title:"\u9009\u62E9\u5E73\u53F0\u8D44\u6E90",open:ru,destroyOnClose:!0,centered:!0,getContainer:()=>Vi.current,width:"1200rem",onOk:()=>{Re(!1)},onCancel:()=>{Re(!1),Io!==3&&nn([]),nt("1")}},yn.createElement("div",{className:We.settingmodal},yn.createElement(wt.default,{className:We.Tabs,activeKey:$e,destroyInactiveTabPane:!0,onChange:jn=>{nt(jn)},type:"card",items:((nu=(Au=cl==null?void 0:cl.label)==null?void 0:Au[0])==null?void 0:nu.name)==="\u89C6\u9891"?dr.filter(jn=>(jn==null?void 0:jn.label)==="\u89C6\u9891"):((Kc=(xc=cl==null?void 0:cl.label)==null?void 0:xc[0])==null?void 0:Kc.name)==="\u8BD5\u5377"?dr.filter(jn=>(jn==null?void 0:jn.label)==="\u8BD5\u5377"):dr.filter(jn=>(jn==null?void 0:jn.label)!=="\u89C6\u9891")}))),Vl&&yn.createElement(Su,{setScoreShow:Uu,isshixuns:xu,ScoreShow:Vl,listitem:Yt==null?void 0:Yt[0],isloadings:pc,onOk:(jn,$r,pe,Ee)=>fo(void 0,null,function*(){Ac(!0);let Be={item_bank_ids:jn,shixun_ids:$r,name:Gu.getFieldValue("name")+"\uFF08"+(parseInt(jn.length)+parseInt($r.length))+"\u9053\uFF09",subject_id:Jl==null?void 0:Jl.pathId};Ac(!1);let ke=yield(0,Gt.ZP)("/api/knowledge/v2/create_by_knowledge.json",{method:"post",body:Be});if((ke==null?void 0:ke.status)===0){Uu(!1);let Ke={container_id:ke==null?void 0:ke.container_id,container_type:ke==null?void 0:ke.container_type,url:ke==null?void 0:ke.resourceUrl,question_count:ke==null?void 0:ke.question_count,questionIdArr:jn,shixun_ids:$r};nn([Ke])}})}),yn.createElement(Ao.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:ya==null?void 0:ya.url,type:ya==null?void 0:ya.file_type,disabledDownload:!0,onClose:()=>ns({})}),yn.createElement(Xe.default,{title:"\u5173\u7CFB\u8BBE\u7F6E",open:Mi,destroyOnClose:!0,centered:!0,getContainer:()=>Vi.current,width:"1200rem",onCancel:()=>{Ha(!1);let jn=JSON.parse(sessionStorage.getItem("typesdatajson"));Ia(jn)},onOk:()=>{let jn=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));Ia(jn),Ha(!1)}},yn.createElement("div",{className:We.settingmodal},yn.createElement(wt.default,{className:We.Tabs,activeKey:Qi,destroyInactiveTabPane:!0,onChange:jn=>{Xi(jn)},type:"card",items:ar}))),yn.createElement(Xe.default,{title:"\u8BFE\u7A0B\u5173\u7CFB\u8BBE\u7F6E",open:yl,destroyOnClose:!0,centered:!0,getContainer:()=>Vi.current,width:"1200rem",onCancel:()=>{Sl(!1);let jn=JSON.parse(sessionStorage.getItem("typesdatajson"));hs(jn)},onOk:()=>{let jn=JSON.parse(sessionStorage.getItem("typesdatajsoncopy"));hs(jn),Sl(!1)}},yn.createElement("div",null,yn.createElement("label",null,"\u5B9E\u8DF5\u8BFE\u7A0B\uFF1A"),yn.createElement(vt.default,{defaultValue:(Dc=ot==null?void 0:ot[0])==null?void 0:Dc.identifier,style:{width:300,marginBottom:20},onChange:(jn,$r)=>{is(jn,$r==null?void 0:$r.children)}},ot==null?void 0:ot.map(jn=>yn.createElement(vt.default.Option,{value:jn==null?void 0:jn.identifier},jn==null?void 0:jn.name)))),yn.createElement("div",{className:We.settingmodal},(ar==null?void 0:ar.length)==0&&yn.createElement(xn.Z,{customText:"\u5F53\u524D\u8BFE\u7A0B\u4E0B\u6682\u65E0\u56FE\u8C31"}),(ar==null?void 0:ar.length)>0&&yn.createElement(wt.default,{className:We.Tabs,activeKey:Qi,destroyInactiveTabPane:!0,onChange:jn=>{Xi(jn)},type:"card",items:ar})))))};var Oo=(0,je.connect)(({pathsDetail:fn,user:Lr,loading:nr,globalSetting:Oi})=>({pathsDetail:fn,user:Lr,globalSetting:Oi,loading:nr.models.index}))(Hs)},86725:function(Hn,xr,he){"use strict";he.r(xr),he.d(xr,{KNOWLEDGELEARNINGDETAIL:function(){return Jn},default:function(){return On}});var se=he(59301),je=he(44225),Bt=he.p+"static/nav.8f5feceb.png",Rt=he(74732),Dt=he(26358),dt=he(16033),Le=he(82670),Xe=he(16122),_e=he(362),It=he(61834),vt=he(8451),wt=he(17149),Ot="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfoAAAAyCAYAAAC02RkkAAAAAXNSR0IArs4c6QAAIABJREFUeF7tfWuMXclxXp9zX3PnxeHwtVySu9ynrJVkI4DgODFgL+RoBa0kP6RIkZUsLAtxfjgy4CRGAgRIfiRAgAROYsCKfySBImNjWVAUx1p7HViOhLUAJ46hALGlrKV9v0guySU5MxzO695zTtDdVd3Vr9N9zr2XM/QOodXce24/qqur6qvqru6T3f+Xfu47g/lj72KMsYoxlsFf/h0/87+t/mUZY1XFGP8rOoDP/K/nX9P+o+WdAVgPLHqi7TVlwuH4D+f/UP4P9f/Q/h3a/33Ev61bV/9fxh55pH//8Ecv9QfLqwKQiWGKAX1VVSzLMsb/ev/FgM7qIGMZq1jF+F+f4+E4Cnb7DhER6LYdj8PxH87/ofwrYD7Ufx38eAOTQ/t3aP8POP7tbm1cf3n3D08LRD378MfPzB25+8Vub26wu3OTXb/yEqtKDrkItxWAOX9SSunH3wTIVxIgAlG6Kts0ItYd6ZoBn0KuP/j+Wc/VV/6B/paRr3VrGIQANWb3mUmm/KZbDQ6CDABKO6SEaZO/kN8xklDPdJvoTOnynnarktCjpcGZT8U6bIM/gIeCBt4bFsrVb5rejLEc5iM0PGCZ+pnKIHrLQg61zCqZhLJVVcIjcyyVkGk6hyjivD3OA3vssDrldSz1w9YrYdY0RtUmRZxwFAZRnoqJbUVpalRAExWZ/katTlYYg4TJWrFra/MzkXS4dgKfUPsmdNBj54Q9AH0UepeD5cCy1BaCMFpywUMyWVr+5ToiPmelaE33WmHzUo0qXkpDSAWlS1FBt6Za4LEntWvUAKC6899LJFC3jtCkzAPquSqqByXNhkmZtiVoJSnOoU2oURjvFMNDoxr5QuogZ9VcKT7wQrhSbnbCA+8Tpx9ic8MjbLS7vbu2cemBa8/9lwuq1N3v+OgPL67c/82808m3br7Fblx73TCaCPvS8KEx5f0h8PsHbLGyodakGqI6pbF+U1+lcGsZIiAVpNKixxAMZIuPD/azFGsK9DhDC49V/oLKTQdhjU3occJ4PePzUs6xmzBTgjqhA0GcGBgukIoKdApCzpqvUyGGVBYRzalsasUU8qt8VKnQUrn5/yyHRvkLpqybuhmf04lMeZPKKeJEZL1WJ5u01VCbw8WbDHZqnUYamg3Q2zZn8pF7WhCPEKx94E2eCTNIdJEDL4CuwaAKAUqCjIRrWTQXoCP1Mc/QAUDTCuApVktlTfoP3AP5HOiWLSMdWFraayTDcb4VRhOwFh+1XeAfhdaTZ2hDRCmPswBEa6ot/FO46JMm7+QiH00umHKhlVXxK4pbss7R4/ewpeVTrChG5a23XviRiy8+9Uc4T6qPs9/3yZ+bXzn777MsZxs3LrDN9StgDlH7CajTaBYtpmewUwP6WgPk42iNAigRRYVIVTdKBI0eceDUxQxMpBRXn1hYz9KBnoKsHBodjwvyctS+MoQ2RaL8YFBMqqJN0T58xrIOipZU3gwiBkVXloklP/nP55hYrMDODfaDQntXVQCgyW/SZ6FqyT/L+dJOLJVWNAiWBAdl3Z3TVKlKEIbpFVERUkA+nWE0HUWKbNO+m7Y/PVbse0tcD6ZKhG0zANAN4KdmH3UPPXWkh9oMn53QIM9by1mpgF+AvuiCR/ckEvYCvKbFcBsMenFM8q8EekoTkTdqsxDfBboTHQb9FTpfIPPRllBHgBgd0kUGQG8CfI3M+yZYFA/MvPVYAz3MpaM6usLSkbvYyupZxlcub15/7e9ceu7L/wGLO72d/b5P/erC0TOf5QV4VM+je1hzIZ5QSVbvgUm1AttU+UNLo75OWoK8s6TlHwBv3e+seIDeu33hG3uMHyGQtwHamnVHCWDVwmKR4xjYQ4dx1Np8Y7k+Y5noShoMSQYamVx/F49QYBuYOCVihOe2o6kAGAsjiMPgYHWCgjrdnKLLdELdPYDue5bitDUYaSOzT+enUR9Q2Jxf6qTKAnabMak1iU8p3YjqRryZtHDQPk/acNCETQv0fbbDju5xci1AF1/1SieuupmSgHWsJXtYxke5MRfo7UHTfiHKV7ZBtqAjfGpLoHXHztVMigJ60GkV1UtQVxG+iA2Ud6BWs6WNoLpBvxNnICYXmm1Q0iNhxiP9xb+Ej83IcgtLx9nq8fOC1ps3Lnzu4ne/+AuOT2DTePZdT3xlYfn0x3iS3dpbL7OtzesE7Pkk0D3NmELHfrd6p15ZjHnBqJRUtKNbQ0iaGhrby6NjS43m6aBs3gQRGUYaopcqMraPQCu/143UoMI3XaSyZp9sXxgDjExyshePS/dgPOQ0YJ0AJPicaKFX4JXbWwkU3O3oXXRhKqXhhZPo3kwmlX2ZPPG5eg3lmk4AqdpWAutUI9pmqEDDIflo8DfR2iWJWoBZFIjxrxmbGowdbFWs/7Qx2/vsNkjW2AzVgV5tC7khNhzJ78QJEA+QBybAO5YJHQ2x6gRlqb1WNoUapDC3+C869kIQh5U9kYMGNhvAX9gBZWPItp/KQ0PGoF1JA3peqp5KE7TN+UWO0vkz8W1+cZWtHr9PxFCb6xe/cuHZ3/i4LSPB/s+984mvDZdPvZ8TeePqi2zn1hrZ13STtJRdNXpophKuAIfq22T7huERZO+SdmAWvF3DBAvZtSbZKT/p2Mk2WwiqCXj6laY+Soj6VI4+gfMgnGwC8FyMOySSz3Lxu+wdE+2MDB2UbPlXbp6pj/ozAXi6ykABXuE5VT7ZmIZrMhdK33EuPdG74cCb81i7J+ezwA1ANWbgm0hUrC1DpJo0nIYySZtTiU3d1mJJfCMUxVnXAOgpwAbsuu6aABc+pKBo2wxnYBRIMYqnz4AAJ5jy2xQN8DTSt6bOoMECfVjnl09pRE/KCXNCtvroZ7RJpmWx9uO1y6FAnTv1/D+I6HkQq1bu0M4I+xRYxfZtHQINtmz4ZavOaXFxTrRJHg/nj7LVk/cLe3tr/c0/uPDnTz7WxAyJsufe/TP/a7h48oc4I65ffo7tbK+7AIeG1mk9rgLpGlynLDGQD2TTG6BPKXFBQf5KnBvvvnCgjfRBuiWNpDn6c8gbx+35uLmqBXmrurQfGL3D9oFamgfQ50t+AuzBEPC1fJ6Ex3HeGBltHAEZxEptrUsQlsqISTIk0saI29p/k91oAPexnu9f6XK8X0tO6fQ7WzGa3tppjbPfu+Ifq9ZUo2LtTSKaKXWb0pvS5qzLmDyzgS+8pRgeaxugN625aao8AG+ZBn/8GJAG9RjHynXW1FjZPDjt8NnfGibpSRqxRj3AWUnRCOZ2n2hvRGIvyUPitJLtQrRVfjnh+/J6PoSlECAvjIxcocfkXDx1BiCPdsVxAoTJoXNstu9MjUOY5cgEbSX+AGmQGWOD4TI7fupBxnPqtjau/PEbz/76XwnpR9QWnHv3p/9sbuH4e7iBvPbmd9nezqZhKJVtdXqYvZprcdKiKD+RNHDv8ZK6tRTD0pNRmUkd8oeQUzClsfuAXkqyNQD9Pei/WPOTBPTQl9Q96IMDvmAv7v/z7zrpThaDaN+RLvsBUQpxik2CdAkArlfR6DIblFF7avZ82byn3+lKFMxgMtCb7dbOcFSrwvmYoaptJSqFlJBxmNbztrSjpFuaNi2yvO1ofhHOub5pcALdsfqBPqwJNlk6UMFM97DNpWbB7iEmCdCPAfy0jvk5DPQuWw3sdn6GHB76PLdXGEhggwZORfPE1sAWoj7KGxAVtC8KoyGo4OAuggi9koi2SAO9J0/IMKZ+CQhzn8pZ+pz15xbZsbseZjkH+VtvffuN73zh++sUIzb7AjXPvednvzc3f+zBsizYjcvPs92ddd2mM65J1LqZDttHNbQ3R4DQRj6a7W10h3SnAn3Is3bH72NylEuhjFyHfjwDG9mIt90zHwHEudRGVp6KleAul+FFMTgyJ5bowQkQgA9lkbWYXe/yQCfLCVK4kpXyzDpxsOWSGS7bIyjDcpuZQCcaCWm2NXo9d37xlU9NHyAR6FM0qga5DoHenELkR1RfmpmOYGmNc7GJ9OfkpNLZCOiBWgPoo1Y9Rr/nd+NRjQ1VfYe2Bm3LTNcYZCfSVmsrY6QZSwNj5QDC/Rs6fNfL+GgrhS2SbWLAoYdk6S83MsquQGIeyQUSgA/3bsijuby+Ps2j04Vk4GEn89Lp4SXaAb1vkjM2mFtiR+96iHEXaWf7xguvf/vz76gxfprfcR15tHv2PeefGw6P3cd3KtauvMB2bt3wVNPMnLbBcjuzxJ7uCSthUHBjCZVvxDbQW5mW4mefM2BPqd9Q1fXoreHk0tjL9QCqVFdqJtJwOu1yHkdSnYUHYBdL8rCPJpUwYx08g5vLPXkqzer4nDMOnQCDu+gCyMGbVjoFioaJcXJ5DRJpyIY+QDL8hiTY5tYzb05M5nHcDFvuN+HO05h9pWLkma9Z6E0KSXEbMHkJyqu2NKUCaVtqdbDgszjus+CtoC0IaDs2h5cGgNaaaQuBQuBPn/s/+2nQfbsmhq5UEPBXsAR78aqiXkE0L+OCLUIJ77DrQLcZQxNBtwJ5PCEBW+zEi4ADc4ALiPIZYwVcngVYoHdwAeyxkuoyZUZhgNrDrJWcufkVtnLyATHW3e1rL7/+7VceZuyZcUzcmuhbfu6RJ/50sHjy3dz4rl19iW3fukbad724YOeBXmvBSDVm+WjowSmUoZ4gJm5YHdr9a/dMm38n2Y5OGvlszGXc0Qm7BYQoOveBrQedxV4/xYZ/4iuK3RJBU0tfIqkOL7Lj0Twk2Yln4GjoAvpsPtLv5TOyGCP6klWwb4b7ZWr5TGybwXIajeZxHGpwgblJVjhLIen0Ovv0JhNrVZmOP0Xnazz/cPXQL66SNVH2mOHYz9/dEU/DhSCg5Nn/quWdfUpjAuYkionTg0FfHdB75dm1PbKDulH7baq/hmHQoGVdkmKceZGXtDF6pxK+w9K+vpiLg72ml9umHAMP78qox/HHWzOrihWABwL8hT8gVxVVZI+/Yw6RdAt0VG8Y3ZQZ9Z2QcIVouHCMrRy/T/Bje/Pqdy48++QPxCJ5bKWx7p9550//0XDx9F/lDWxce5Vt3bwS3nCktCZ6LMAyArgBUo32SCamOpYBQiHmn3x2+AfemAH2VlZ9INnCaIqUSWWqFAGqBMTYCAGnLZnlYqduowBv6zEaB1iKlxE8JwFvqMph+Z6TjIBPvXJI2PPyFx4iUZjpqhQF98hKsUKG4C6VDPfNsA0aZtPrmA30d7UkOCkeRTT8hniefYoqN7H9jn9Ux9Now2ZrfjY0HUGqhEeJa1VAUtuUZrurwBg8eTGyZMxrw9MbrYakKk1lVKFEnYjTSq2PMQrXi6gdpL+4bcvoqR1ozsA7arNpzg+3R/qCH7lMDyd7yP49X9bW+UIel0WQY63aQsa93JeXAC+sETczpczGl0fLVbgPCcPEcVA2ziejgdmNYmPF5pdOsiOr9wpGbd289D8vfvc3f7iJpLXS2NPv+BtPLyyfeZx3dPPGG+zW+sVwn9FB1JMbFnxs2AJ5A9SJRxjsxgf0nj2XoJJoCrMGWhoGeUxss5wTBGKtE8aInK5jtDg+hFYmnminEuwEPxHk8TMqESqQbkx+sjsHHvOfVMILKhpmvcq/coUej7yo6yrkWIXGQdvJRouwyZH2GiYRTynWVYzVTRQSy3JS/e1Op7cUxY/1ZM96m3E2rTMdkKe9WpwIAb0Nnl5PGqiLMS4w6JbVXEyeGOhtAhOkpSYL2IQAx/DAPRy+qFbaQBXUiMgDcobQzotquHxPtjcxpwj27dF8mrQYHj3gvgRyAfbiI1/Ml7foIciXsMyP93vo7RuVtg8MrN+754Uss+6VjIUjp9nSylkA+YtPX/zulz7cVG8SZtDf5OmHPvGf54/c/TchtZ/dvPGqeVSpoRfYjHAKJ3TZBsGRArwsaw7UmmB6dhKByojQfRn3SLGlnlFt1ZSIoh4+6Qx3avYTORTt35OwL4iQYI4eMt50J3FeQD8k4snl/MBChEGkvlea8I96w+BRq6hd8LyE1ydIJZF7Zug8EDNPfIeg2bal2yvtAYZRQ46+xQwNtM+0upSlTG6anKQofqy3cBsprafRaZaKr660adW2Dvp6Zt2a80wxx7Yllo1vQFCM3ylN1W7pxTzWYAct5tNn/x0st4/x6aCNjkPdx0HAHQFfGiMRvyv7JeZT2TK90qh8EUqHoBM5j/v2+ha9Et7lIpbv4WSQAH+0SQD66vIdlWRE8cFcOXC4GWAvl7mlo/ew4eIJQePW+hu/cen5r/ytFDnw2ZM29USd0w9+9N8Oj5z7RQ72ezs32drV51lVQl6Ab9m5dU+WKYe25ZuPEHQwK5Oip0YkE17JxMK5a8MrE3Ovy0hZCKmhDfT0u28GQ0Cv8wm0BwvjNt1QzQyfsfEaIKwCDRGgVqfcedId7rvDDXcyqoclfNhKUHtfNmn23KpkOlAkRRdk0au3I8L51ZLjOZ5lxf17ctSF6E3dEKP+pTMlBxPo/aoyDSiYihJGIKEFMETIIi7eDAZg0euL6oMRq519r73CprPVtLxlFcEW1vC+Bugn6VtbXNJ3QBFNU4bfaD35mf6/jixo0q9+Cya/wEMfqcM9fb01IMwd2jz4Ir/CqFX3JEEPrsGWifhyJVHm6JGcIVG9FGfztXxChr5hpGig6Mll80xZlnfYyokHWX+wKALo7fXXf+XSC7/199oK/8QaeeL+D//s4vK9/zHv9PLxaIfdeOs5Vox3DRiI7SfX5nyokVGhgFkzpIYm3hlIZvEGQ0EaEpoTISr4EvQI2HjQFh7R8M9mr6sIfNpVUokTJhNg9u0R2oiXCvJCkwgP8dIJOLlAAZ6Xk/tddJ/MI26CnTQhBUAaHSncD8MywhHALHqpSPInUBnjUhzZnzm8OtNkmAnrmI7jkYR1xzKMdQHRpIYyrsCz7yFOw/RKuIZHPvGP8naNXeubY7NqX0Bjg70eSWoQPekIneDAmSpql8wfm/XNS4dhw/yF2i/sU5cQn/T/EcywQm5cnld5SwjiYPNhOZ8eq8MkProSo7bw4d4PLm3mmgLCtcQGZdIAKqqKZ+DD9qMwXQQ3uBeAt+fR5xRLKn1roDM9hHGd3oAdPf4Q63QHrCzH5eb6K3/76ku/+58m0b6JgZ53ftd9H/jBweI9f9jpL8wxftb+rRfY3u4GEQhrcinFhqfsEznL63PWjc23H6sI1eeBK/C2wd5K8FLHt8KmR1slSrNNv/2qMHvtijonIPVquDFnxbPKUAf0SspRu1BJNIiLX0RmPSa7ys8yigfwpBIj+gPe0YsmULgBrHUCiywvV0/omxAh6U550YSP0Ad2lS7sPoNCahuSHzB1HisdMtzNjGX6KCwXp2nFw/KNORAGe9+Svm4+ENl7FwO1tJhy084cK7e2tvqkQJ8i4X4CDLfbKOJzyIndI8l1mHov9uOVPSL2U4E9+g5kNZJiAQn4MZvfdTER8DExGMwcBiewPI9bjsa7OERVzCXyZeLb+/bEv2GM9QdL7MjxBxiP6Iu9Wzu7m6/96Jsv//6fNBZjq0I7yfL0unjqsZNHjp3+s8HcyinOgJvrr/MjAOYoHDvrS8AwvAD5xfb6jHUYcr5Sn8PwZ8kiwCiUJoCvkMS6dMWy7JwUU+RDCm6z1vPdcFoUunodJMOgkHPk6rlBlBZUyT+8lhaVCEFeMldH8Jhpr5VNHlXBFQAAdvUHk0+I4UJvli91oWOleKs9ZfqKSHQEZLY9mX/4Yk5ByOD4RJmAfWw6vLGkL1IL7+KkmEI/cPtoT29tUiNwWN9jc8Du2JF9FOyxKY9nquXY0k9jApqZZGka6+pYcuQRqzRJSyuVFu1rZ8rJjzDGYwVCZD9e2jWShCeifQz6ADaEQ4BHgS0YoSv8CmPQ9BKgx0ADoYK82ZInD+M13fIveT02xRoa4Sub6PJzuHSCLa6cEyg22lm/fOPaxe/fvPw1fqxt4n/NpCreXX76HZ/838PFU+/lRXe2rrONG6/BjWd2ZfDmHAqoEJAZUGBPJpMuP4vmzYm21nrJheo4a/S95ch4+df18igAaW326LOHS3SQOjrG5SX0VmWndDGJ1qP0Af0GKFIIwR90FqreHgDDgMZBOMjSS5aOMnkZjbXCz10cebKA7mXJpSwnaQ4jfOqUGDmN8mXQ0vjhnrxvlaJpApYf8G1f0b/66DNm8My2lwG7V28OU41lXNEOS8ySA8RBVMZA26XoVmTNiqCS9+A2RZpJ1vIcK3+7gZ6ipn+OLO46gZw7NpJ/BWCvbCbkEWkbKoMUupVhfCaJ+cTQa3MAvwuuCUKobQIbq4w+nBiC7UgRqMBlOyrKB1uJNlMbPW3Ps6zDlo6eY3MLq6LYzq3L37r4vS/95dQz8imaEJOSlDacMnfd/1OfGy6f+XkeKpbFHlu79hIbj7atcjagkwQMXyIfBUED4Cm4e4ajJsV+tS7/oYS5VO6amYFZN3qK8P7AD2pbIC8ESAqj9sTxO1USeyw1QE90WcKiuVIil7uwbfmmOVkGkluAJg30+Dv1twmPCDjLvXWyDM+rwisg9QtkzORGOIiqdUFKP/VU1OemMB+OKPB6TM+0OPMc9KCMkr5l/DCUH4J8K2Oyb5UgEMH+na2vutiVyrI571J15LOwRMTNsjaRsbKGcfBys5lkxkrH6KF885QlfNYzQOylmVVHbKl9URpeDY6rmXqhVN2tQ7p3FkUs0qi516YKz9TDm+1I4p5Y9BexDNhNurpJov1ub8iWj50X+/FVWVRbGxd/7cpL/+2z0xb7+Ky07PHkPY+/f7B85qlubzjHlzU2+VK+cZOey2X1xInUOREA6LAco9+wBEJA6TTsNAIUDSfxKkN82xKZENVOpXHYI9vUM8dtapdVFnsdIaXpoBTk7c8ekDWOhOh+FKlqYYALOr0+Ei/AkTyVJIFK0TOnZDAyO9UyGPg+Z/WWOTRuYMQM8KdL8rotZ0ne4DPxpBvLoE+sJwR6j2VulpwXM5CNB3lYYaYcMGXIWLJHfQn2b4Or/j4p0Js2MsYAS+YCIthMMmOl0yBFl/LZSDkuFw/wCbn3XhTE79TOgX3Dlkjso9slMRGFI8pWfM7TrRz/n4C4gBdM4IPTQ7CXrysW+nUcVSUi+MUjZ8QqajHa3tnZuPDjV177vT+IzWqb39NmpU3LjLGV84+uDAdn/nhu/hi/dJ9fwM9u3nid8exFPY00+oQ3GSnmEi4LgKeRqQ2SQCTFJGc/BH/kkbydFEFBH6w6dh9SEJx5b0SfAPIkqkfv1Tx8gR1Tw+EBXZwf2qX4jE4QvjIWChBHSjzhCXhQ3HSbPA6G5ZmiwyMf83k1QV2fLwWe2mBuACg6C3JAdSbF/s0VZPtJAtCrKiYdBjVBp89VEsu8t9Siw2r7xwHT+htL9sJs1ZlPW2eJFLWM6NFGpJ1S8mhQjULF4Nucg1DpZnBSq7O2M+VbBVWBEz1qh3ZPB4b26oexOEM8ClXOIMwzy8ROaMeNvlYbLtqRP8oTReqSnZLxpfrFI3ezueGKyO3f27rxva3dN35o7ZVn1mYl681mpiUVpx746K8Ol07/XZ6/XZYjtnH9VTbauwWt0U0TfeOa4QjIt6fIvRcr4cILjOqV47ikTN9BDiAv5kAKrH49DrQmuOKz6KayqhIG0HtYSiN5Kk3qyI4Lr2b/1CkJeOkGyGN7OrNeIzn8Rt70RFf6JXmyP8UXkmCHL5mR7OFiqo/GIc36NY8hPtq8pUaxGcDbIhkzHpYOm9WNH8NHpryiERaXiMvSUqne1tV8ZqsZVKWxz3XW1RP0mScAez/FYZMcP0JHRxWwEzUDb85BWqM5lPhrUOdKf5aBiLZd0nDj72S110ilN+0q5iEpLLF4oRwAq5q0j+QWfodwPEkEL7nDo8Lqsh0ZMHGw7w/m2eLSaZZ3+jzgrXY2Lv+7yy//119Ik8f2pZrPTsu++FJ+f+Gur3YHC0MOFttb19itjUvq3LQEcdQeMqFy4xjOmlsRPcK0WlMBwRO4rvdPNDzz32FfnssJqSdATSmvBqhgAEpfZKEwwTYM0o0wk+20FKkb8CyempEgBRwTEFU17NbYGqBJd+ZqiFQaoihqUQUcHcpPugSvzrnTpSni/OCxEvRkFRsbxOaBfIemRsgyEaDblncekn7+nI7BmB9ftB8uLks3pb6lkr0tqtWZrFnxWRsGNwsflclmvg20plabKSn4Wx3Ix7LrJwP5mtozlarIiOn6PeIzyW+iF6bRJGISPAJ+6EH412HoHj3aR/sMvrl945lvNA0I9Cp1iQNSxuYXjrO54VERYI5HO9t721d+4srLT81kqd6m7rYBPe/4/PlH57Y7J56eWzzxPh6ZF+MR29x4g412eXRPDzjqLEt+rlv+RJItFKChgcXlYn2mW2Z6wV68MrQlZI2j/EhPC6NYkxmu0SAr9RD0alRy7jsiNOrkOHRgcNnPZb+RfIbL5D4ttKvS/hzPtwNjpJ4MLmXjOCmA0XwG/AwveIA3zSG8SzykpxeAWAKU1MRFBW5KQE9ZZi65JoJ9EKD9QC/YcBjVzxQU6tLfdMezAHsitZ4le3tp2HHsrGjB8YMTuKYj2oTCvsTWlGqkzCy4GCIhahOMCMxOm6cZ+SShW0X2NDzHq3GJz2CtyNCYycnWV3GotQ2IJk/ZLrj8C+Cn0x2yhYWTLO92xT7+7vb1b8ztDT70yitf2Gk4La2Lx3ncuulwxWPnP/iTw+HpL3Z6wyH3krZvXWdbty7LM4mwF483scltbMigxH16A0vwSkJhanHtxHwBirgsHaNVHWOrjEjBBRuq/UCPSqrg0acRNsiTtXHjqkbvIT7pfEiciUTwisUkgx94JfnIeSdS7MW/8NW62BcBeHSScOUCj40o6pBO5Dm1EhTaXQa5QodP/Al4kxsdAu5qOcMNFlyJDfUcmJdasJ98FDNQxTukyaYTECJiAAATsklEQVRmaha8joC9VDD/v2kBvbnkWN/ZFFgwhSYayVf9LNNcLhqwAOPt/C0xHdZxa7CCCuZVh/KDjuRVCRUgyebBpqrFFQ34pvMGdqzMWX9+lQ0GR0SDxWh3e2/r6qeuvPLbv92IMVMo3FSDptAlNPHII/1Tu+/6vcHCiR/jDCzLMdvavMJ2926qpXoRzXPm4gsK4D3ESIQMeOXxLoWJApAQfMyIni/PK49N6aUV0aoRErCy7TrZMneUQXSgcwrM/QBy1INYBdWG+mBd2iNAn7CeDkK1Y501VZn0kGhHhRwcG3OoGrjlzXVkkATkxWtmqFQL2uwwXPPU6wcZCmeJFPGK1TxPRepc3nuF33h4CPRTYf3EjYTNFHERSS+zgCgT6LEzhIgmhtRMUJUtxSjW7ZtHZ/WgrRZiDSbMyRSaSOjFLFLLR+WkW6UgqDG2SRVwuxZfw7inb9UWxJz4ulvuNqiIHtMFdABh86rTXWKDuVWW5V2RxzTeXvv6xe7/fZw9++xeY6ZMoUIT+ZxCd24Tx+/70I8P5k/9Zrc7nOfSPh5vs63Nq2xc7cJyPbmilW6kgHbIawjJeUaaOCbUR4ImJpbxActBxyL4ANDDY8Q6c4LNxEJr01/H1CCwjiIpALU9Cw/Ii0FZQoz7UTTJz7ijm0437R34hC9tUCCvjyFK0qgDYJknG/yBxwcO6KUwqH/Ojt3MgD7FnM9Exf4CNNoU6HHI04YqG2DoUjGVqTDLJUXu/lSM0kZAH2ssUSKm1ExibyH4tar7UuOVA0DCclByWdwH9rZMEQ4joAsTqwMEeUMoPMMVU0AXpDLPB6w3t8ryzlDMc1nsbo12r/705ReeeqoRI6ZceN+BHsaTn7jvY58fLJx4IodN+b29Dba9c10qhcgQ16QqARQgj7cTQfY3KhEsPcsoXousnCufCNvPNKIDvElSiY6ae7JxkDfnjl7BhH3XADxWVmzA/vTZUTuZsf66ThwMgjeaIMhtIAl5wSx6PRGWWJq8pN8wAgrK8cwieqnwhsAThTbXXXVipp9OS1YsnykuXfthQqdsOaLNhZzKaEVPgbZmalZ8Nukx4w/rNzIaBfKgenSgMUq9HLAfxhqhmJdSNmGloc1s1tVJmmlguGHV1UIHAXUA+fCMUANAnQFtKVTshKCPGfgK9BH8c9YbHGOd7rLAqqoqyvHO2pMXn//SZ6Z5w11bfifxtW3jTeutPvDYuUHnxO90+0s/IKLVqmI7e2tsNOLJenxaObkadjXI4xlGcpwOok85QBm942cHMxHBDcE294ud1WljTYCyEYXH86yWIS7I44hVNSWLOBqATbXcRO8h0Pv2toskelKJfrgvj2+Tkysgkhr64hnt+OhhxCHNP+QasTOCHcM0NhWn2vL2mWhqA42KXlJrgD6wT49thl2gqQ7vADQ2TaD3a2zaIBMRLa0xTyk9TnvB0XEePcieSt3EhrqugQgRqTS2ZiGpmDJOQQ+AuK6qtzTIjMDPVNt94E7ky3AOtH1Vy/b8ShJslf+c56zbWxYgL3LJqooVo40/rcZXP3Lxxa+9Pg2eTKONFL5Oo59GbZy6/6c+nA+OPNnrzq/I24bGbHd3g43GAPgSqXQ0T29ng2x7c6keRZWek5ckCdeBhOZaqDXQQ3fGOoC522/BhG95qZYDNHvfLKgmCAWbCri6lx5f3GAKsWF4jAhd8k8tT6gcBwBW8adw08iREc5YmpiCiMippvT5gyatpwqaawzsJX2rJYNsD0X0kc8ngub8Y5nFCFM5MatyBwXoUdZnNU4CEjZghUTd9elriZvYSDugiN01JCRA5TSlN2WsRn+GkQNg9tKpE+loOrZGAU8yJb62m0TzIsUPfIpuf5n1hkdZnvdFM2WxtVbtXHviwku/87uzlram7afwtWmbUyt/8qGP/at+f/UXs6zbE4wsR2yPR/jjLcCoUt44JEAM9+klSMmXr+CpPf0eYP+A8V3ollHgOX3wSAsXdSGgAzVieuxC9hRUAuOHwI3uzlEevT1gnvFEAQ8l6iCBJJFOsA34pkAIwZ8er8MffSNpo+L7AfScTrdfL9hbdtuopb7EgB4cpkAadj3X6K82zW34PTV1PCANtTVZt5N3Jo0+iptQ03bExACmQXQToqwWJ6hqtBQbq7cfTDxu0JI+/UQVHgMlGjDJZXx5kbh83ptbZIN5HsH3xcJzWeyNxrtv/cqbL371Hx4QJXHIiPF1/+l+5OP9U3v5r3UHyz+TZ50uZ3tZ7rKdnXU2Ht+CRDy9/CzvvSGX4hCozR3YJVEj3Rum+/DOUizN3UegJ5Bhrd+lAX3AITCOjJK32kGCiOqVCjo+JJExnURxk53wiQDU8Uff2+YMT8UqP5Fk1Iidd3UlnpVcT04M6G2HTfsFDqXKg6yxdOqK05BbWUftIdDXz2VbkzUtKEoR/LY0+tuerLU659/iyQQsmqBqA3gO2UlfJF/PNe+1OaKK9XIcskvQ7y2zuflVlnUGguaqGo/HO2/9+uW5535+v7LpU6TRY91Sq+1DufOfnjvV2fx8p7/yiU7eFYfDi2KXjfbW2R4/kldi0p0JSHlGXk5jAz3cYCQnDcHPOr6uQJ9G6ChE/C8RMvGRloPvVvTu455RBCN5d9NPJpRRh9PrzSr01qfeRQfQC4I6PDMWye1bX0g937pDOyNUV8u/jdHOkPhqEacsZmIsMuX0BijxOFaSle5Y243FdNf2QQMPUJftpE4PYPIZSGPGpHTKXlq3QuyRn14PH1qypmU1h6zYWP39gA22K1P9izWszshT285fr5Kzfn+JDYZHWaczJ+gty1Ex3l778mW29Bl2Gy+9SZO5WTiLk/Tcsu7qgx9c7laLX+j1V34iyzsiR6KsxmxvZ42Nd9dYxfeWyQVI5kK7FhM8y4o4hm8eQtBHWKwqKiEYzROwMARIC4nvlrSkIav27BugdP6J1F8bsHxKK50ezJqXJQgPQsfllAOQDi5RPYqBKqUN/RFSp7khqavh8+cDI3DAPpCRTx0poFvLgNlI87HUSc50W0uS0QNTqJnUJYPd1Mc3GZ2T1fYlruEAa2SnoVg1LB7kcMpY3b7qXy9kdkajJB8ZMpDiF431544KgM9zsXPMymJUjvdufHW8tv3p69f/+8bUxWSGDabwdYbdt2/6xIlHF9ni0c/1BiufzPK+WEvhMMwj/GLvBqvKkbra1uzFvO1GnBRX+9WyJGbYa5CnB/Lo/cq+c7T8aEWTcVlLa1YUbzrlVjRvAbciXoG5ftmCxCGEeukAyGIWsaqMxxjY4/JFvE2GLsryRkjD/o/RC0XcbusnAWIAD7UelTAe0RUiq7pn4n1g30g8GvPTM6et2riTKjU3Y/4agVyZmbCiGc3NSlsET1I5QVgTiiRzsD2pbWuawM9fNjM3typAXhyT49ap2N0d7a59id1a++zVq89sJg/mABVsy50DNATGTtz7kX/cGSz/g253cZVPDB9UMd5i5WidleObFpjhO4NJVj0APcAf4A4CtpV8Z2V5mgy0QR5+pZpgVLC8S/WbvqRBARIsGevqslH1ne6xW2AtS+I9A4HzX04UH0Bce+bJeKYiTFMDej/guTTaT2JAD/cw+Abri+oVGfbM3Q4VmqYJvh30TtJHmvTFS91OsKfjjVMWLxHhX9sGAmI0C+lqS+IEGxwi0a43WGb9uRXW6y8oqzoabV4fb63962sXnv4Xk0jmQajbnq8HgXqLhpPnHvvJfLD6y93+8gPSHMvLX8rxBitG69wzg6VsmXFuXKJHTujrk2gE5AWnKLs8AGFLvrHsD/W9uKIBH7uRf+mSFG1cfxYUIkjjy2XUKHXSnciwd5rACJ8yMhHga2xUK6HyWA3/iNsIHuVXjaeifgqMQE1TzYU6PrAXz8w2Z2Ek0zizfz2n0TdJqXrJ8/nYTm9k/vaHUw3GMAmrsG6qskb0M52UYNQT076ELpoNptOdY4O5o6zXP8KyXL4TRBzm3t14sRjd+KVrr3/ttt9JnzDIVkVSOdOq8f2qdPq+991bZUd+udNb/hDL+0OVIFfusWK0JqJ8flTPBnr11nqQxUpdjeAaam24gYWGItjPCJsNX0F+0YsE/LtMMCA59pKNKqKHdQf0RmCfXdonjEagDH9Uwh69MRnhc/uhZfTaubSkKFmoIpaUxlZm0eQegOw6oK+bW2vUyUCP9bBfdzunHYjU1WrKk7oZbUfdfum72W+YD+qXGKvQcd73AbmExkhvTXJqwy3iAElTSKZiY0yvlxLV550u6/V59M6T62T2PP9Xjne29/bWny7ym7+09vI3Xm3NxwNaMXV6Dyj5cbLuuueDfz0fLPyTrLP0nop1xfFzjo1lucOq0U02Hm2yotiTezEC/5Al9jE62peB1h455p0EystQHQ/4i48A9zqbnp7w0KJIGrRusxNRPUbnJMKH54oU9wNNzXOZmWrv7xCgT4AA4EGgpAJ6YrhCjRqR/SHQxzV1WiVis+w7bmYJ+r5H9ciLuHmOl0jka2pDKghKbFcVawLYFLKb1ZPdmYPh++48c77TX2K93lDnUFXjarS78e1iZ+2fX3/z619pOqI7qXzq9N5JY/LSevfdH5kvB+U/y7tLn2L54ml5fz6Ae7nHxqObbLQnQR92YT3tWOxyluahim/JXskfAXm4cYkembNe0Ec3FEjyHAVzufcuoQcz7AGI6Gq9lSgW3YlMBXlXr+LHgWrbdikLF08VX9lCDALMCQ+DvfFL9Lgd+IGeQaSzOL2kz9BNprxN+56st+nU9s8dOtR+QfCBPVIT1ZbpkB1sJVXOwzLum0Wn1ZRupg70Yc30v5PEZpKfaL4s3+0tsf7csrq5Ttj1qmDFaOvSeLT+xbniyj+9ePH/bM148g5E8ylTeyAInSYRZ89+YHWn2/tHeb7wiU5v4V4GLyDk4T5/XW5R7LBitM3GxTa/9Qi6tkHeI6BKmzwRP0byJKLH2+3oixOoEZJL+mKtAV7HC58h90BiNwF5PC5n5NsZaA8OQQKkWVv6tfxvGtF7sUM/tH+eFtTUC7v9ayLQCzEIUGhjRyOwn3TU01Nt2+BOStk0dbm+LZcH7o1ovhZ8aLbfYF/vqk7CU9NxjbTUCuibSAynxiwfl+SM8ai915tnnd4i6/bmxfE45aaVRTUebb5aFre+PFor/uXGxu/zt6W9rf7FefgXnR3nH507Vg3/fp4vPJF3Fh7KOz0tIXBGvxhvM/nfHivLPXe7ScilB9wF7+C5uuVGvjceS4v4Xr3yUCd5GSCPS/MCfHkEL6/71RDPr7bVpwjklJkAH1K1oADUBTg+mSAN1QqVatdP0axAPs1MxsFe+WmUB8oh8zDGB+5R3jYxjHUKOpl6u7XDztjBNRPmKGJAr0sTYCcyO62ZmQ2/2s+3qhlrojHQz4JjEti7ImpfYN3ugjjrzntCN6EsRkVRbD5f7G0+eaO3+2/YK8/szIbnd0arsWm9M0YxRSqP3fOBv1Zlw890uoMf6XTmT2fw2lwNnhUryl1WjHf5u4ZZMR45UT/f59eM1W+Rk5vwcgNeADzccme+A0ee04YTnIDmpb70BjMIBZRLgDcu/7EAHiDfy6E0QNZVa1U2GejDrfh+maaZ8I0Xn8l+6kpIPniB3qiaFrb77lpAx22K4jzJvWrRLZiDEOOm8cpywgO3woYcGzEvdwzYp7m0EV89ugcQ18t4idS546De6Q5YpzMvEug63aF6Uxzuv1bVuBwX25fKve1vZuXNz1+7+Mz/SGv/7VHqEOjr5zk/cuaxj3Z7wyc62fAHs87gRA7X7xrVqpIV5Uhk8pfFWCz/V2XBimLMb1uAtHrMsNNvURKvSVCJdxjNV7CRwBWFJt2Jq31U5C535AHo6T39DYzSVIGe2Jf6dg8O0Nt0asosYCCTHYx81A9pQC+myRvZT8tAItHtVTxWM21N5qAYUhyN/Ou9XbrmECSdqzvHwYnCuVHAmO/Q5Ecj+nbyy5faO50+y/I+/O2xTt5neXcgXiejvGwI23nEXhY7V8vx1p+MR5tPrr/5zG8dhPe+HxRpt+mI6fJBpXvf6Dp+5vGHx3n+iU7We1/e6T+SdwbHMx/4I4X8HH9ZiCSQUpzdx2V2/oY9CdbixD+/k5//xmP+TD7nToIooy7D0cCu9u0F+GOeHipZ2hLrQQf6diYjLBr2eGcD9GriTUJ8+H+HA73hU6rRTnvWpqXq1mwbd1ToPoJRvTGsOxnqw1qfCvShGZZbkGqtknzmAU1H/pd1xX951mH8qJsAeH7FbNYRdk7cRodeFWRLl9WYg/pbVbH1bFGMv1Gw0ZdvXvj6c9OSjLdDO4dAP4VZPnH2/Q/tVb0f62Sd97K89868070nz3rH8k5/jksuLuS7ggxLgnT9mH9GTcLPdd41Le9z43DjCrYKuIlS9MBnZbawbKqtjtDH+zH6cxT5cPxqYxFR83D+D+X/baj/VVVU5Xi0U7G9a2Wx9xorx39eVDvfqrLx1zfe+ObzUzDTb+smDoF+xtO/dObxh7sVe2+V5ffnWefevNM5XVX5qSzrruadbJlVnWGeZ52SsU7G8jzjsX2Wy8N/zitvJUgjMNtA6g7FRm4TmRGE09uzg1STHtfPqAd6PN5oXhhEPBOrweb0Ho7ffJfA4fxLL0KavebydCj/lAM2//hqJewtVvyfeF94VRYZR3FWbBfFeCNjxfWyLC9X5egSq8pXy6x8qcqqbx1G6LMFov8PQcUPbMlsTCAAAAAASUVORK5CYII=",Ye=he(87620),We=he(64813),pt=he(87017),mt=he(40181),Jt=he(48289),Qt=he(6848),$t=he(8591),Ft=he(71418),Gt=he(1710),Je=he(93948),Sn=he(83672),_n=he(59401),Cn=he(42441),Vt=he(76411),pn=he(66649),et=he.n(pn),tn=he(93351),Ct=he(61648),Ln=he(78162),Mn=he(41592),bn=he(42684),Dr=he(85333),oi=he(33924),yt=he(31217),tt=Object.defineProperty,Rn=Object.defineProperties,fi=Object.getOwnPropertyDescriptors,li=Object.getOwnPropertySymbols,In=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable,Xr=(qe,Ie,Ce)=>Ie in qe?tt(qe,Ie,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):qe[Ie]=Ce,Or=(qe,Ie)=>{for(var Ce in Ie||(Ie={}))In.call(Ie,Ce)&&Xr(qe,Ce,Ie[Ce]);if(li)for(var Ce of li(Ie))an.call(Ie,Ce)&&Xr(qe,Ce,Ie[Ce]);return qe},zn=(qe,Ie)=>Rn(qe,fi(Ie)),Qn=(qe,Ie,Ce)=>new Promise((He,it)=>{var we=Lt=>{try{wn(Ce.next(Lt))}catch(Zt){it(Zt)}},Xt=Lt=>{try{wn(Ce.throw(Lt))}catch(Zt){it(Zt)}},wn=Lt=>Lt.done?He(Lt.value):Promise.resolve(Lt.value).then(we,Xt);wn((Ce=Ce.apply(qe,Ie)).next())}),Jn=(qe=>(qe.KNOWLEDGE="1",qe.RESOURCE="2",qe.STUDENT="3",qe))(Jn||{});const qn=({dispatch:qe,pathsDetail:Ie,learningpathId:Ce,isCompontent:He})=>{var it,we,Xt,wn,Lt,Zt,or,Xn,dn,kr,vi,Un,Pr,Ii,on;const{detail:qt,actionTabs:gn}=Ie,[gr,mr]=(0,se.useState)((0,je.useParams)()),xi=new URLSearchParams(window.location.search),[Ui,Ni]=(0,se.useState)({}),[Fa,_o]=(0,se.useState)("good"),[,co,kn,Yi]=(0,Ln.U)(Mn.b,{subject_id:gr==null?void 0:gr.pathId,id:gr==null?void 0:gr.learningpathId}),[,ys,$o,eo]=(0,Ln.U)(Mn.S$,{subject_id:gr==null?void 0:gr.pathId,id:gr==null?void 0:gr.learningpathId}),[lo,Qr]=(0,se.useState)({page:1,limit:10,type:"1",keyword:""}),{pxToRoot:ir,rootFontSize:ri}=(0,oi.Z)(),ua=(0,se.useMemo)(()=>{var Wn,st;const Nt=((st=(Wn=Yi==null?void 0:Yi.data)==null?void 0:Wn.route_study_info)==null?void 0:st.study_grasp_hash)||[],Gn=Nt==null?void 0:Nt.reduce((ai=0,Ur)=>ai+((Ur==null?void 0:Ur.value)||0),0),Sr=["#37AD83","#0374EA","#F29533","#EE5D5D","#A4C8FC"],yr=Nt.map((ai,Ur)=>zn(Or({},ai),{color:Sr[Ur]})),ci={title:[{text:"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4",left:"center",top:"middle",textStyle:{color:"#A4C8FC",fontWeight:"normal",fontSize:ir(12)}}],tooltip:{appendToBody:!0,trigger:"item",position:"right",formatter:({color:ai,value:Ur,name:zr,percent:ta})=>`
    -
    -
    \u638C\u63E1\u7387${zr}
    -
    ${Ur}\u4EBA \u5360\u6BD4${ta}%`},color:Gn==0?["#1F2A51"]:Sr,series:{type:"pie",radius:["45%","80%"],label:{position:"inner",fontSize:ir(14),formatter:({percent:ai})=>ai==0?"":`${ai}%`},labelLine:{show:!1},data:Nt}};return{listData:yr,option:ci}},[(it=Yi==null?void 0:Yi.data)==null?void 0:it.route_study_info,ri]),un=(0,se.useMemo)(()=>{var Wn,st,Nt,Gn,Sr,yr,ci,ai,Ur,zr;const ta=[{value:((st=(Wn=Yi==null?void 0:Yi.data)==null?void 0:Wn.route_study_info)==null?void 0:st.complete_rate)||0,name:"\u5E73\u5747\u5B8C\u6210\u7387"},{value:((Sr=(Gn=(Nt=Yi==null?void 0:Yi.data)==null?void 0:Nt.route_study_info)==null?void 0:Gn.personal_complete)==null?void 0:Sr.complete_rate)||0,name:"\u6700\u9AD8\u5B8C\u6210\u7387"},{value:((ci=(yr=Yi==null?void 0:Yi.data)==null?void 0:yr.route_study_info)==null?void 0:ci.grasp_rate)||0,name:"\u5E73\u5747\u638C\u63E1\u7387"},{value:((zr=(Ur=(ai=Yi==null?void 0:Yi.data)==null?void 0:ai.route_study_info)==null?void 0:Ur.personal_grasp)==null?void 0:zr.grasp_rate)||0,name:"\u6700\u9AD8\u638C\u63E1\u7387"}],qa=pi=>{var Mr,sr,xn,er;return(pi=="\u6700\u9AD8\u5B8C\u6210\u7387"?(sr=(Mr=Yi==null?void 0:Yi.data)==null?void 0:Mr.route_study_info)==null?void 0:sr.personal_complete:(er=(xn=Yi==null?void 0:Yi.data)==null?void 0:xn.route_study_info)==null?void 0:er.personal_grasp)||[]};return{tooltip:{trigger:"item",formatter:({value:pi,name:Mr})=>{var sr,xn,er;return Mr=="\u5E73\u5747\u5B8C\u6210\u7387"||Mr=="\u5E73\u5747\u638C\u63E1\u7387"?`${Mr}: ${pi}%`:`
    - ${Mr}\u5B66\u751F\uFF1A
    - \u59D3\u540D\uFF1A${(sr=qa(Mr))==null?void 0:sr.real_name}
    - \u5B66\u53F7\uFF1A${(xn=qa(Mr))==null?void 0:xn.student_id}
    - \u73ED\u7EA7\uFF1A${(er=qa(Mr))==null?void 0:er.course_group_name}
    -
    `}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{data:ta.map(pi=>pi.name),axisLabel:{color:"#fff"},axisTick:{show:!1},axisLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:"#A4C8FC",formatter:"{value}%"},splitLine:{lineStyle:{color:"rgba(164,200,252,0.1)"}}},series:{type:"bar",data:ta,barMaxWidth:"20%",itemStyle:{color:new Vt.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#B2E0FF"},{offset:.5,color:"#7BC9FF"},{offset:1,color:"#0A2552"}])},label:{show:!0,position:"top",formatter:"{c}%",color:"#fff"}}}},[(we=Yi==null?void 0:Yi.data)==null?void 0:we.route_study_info]),lr=(0,se.useMemo)(()=>{var Wn,st,Nt,Gn,Sr,yr,ci,ai,Ur,zr;return[{title:"\u5B66\u4E60\u603B\u4EBA\u6570",num:((st=(Wn=Yi==null?void 0:Yi.data)==null?void 0:Wn.basic_info)==null?void 0:st.study_count)||0,unit:"",img:wt},{title:"\u672A\u5B66\u4E60\u4EBA\u6570",num:((Gn=(Nt=Yi==null?void 0:Yi.data)==null?void 0:Nt.basic_info)==null?void 0:Gn.no_study_count)||0,unit:"",img:Ye},{title:"\u672C\u5468\u5B66\u4E60\u4EBA\u6570",num:((yr=(Sr=Yi==null?void 0:Yi.data)==null?void 0:Sr.basic_info)==null?void 0:yr.week_study_count)||0,unit:"",img:We},{title:"\u77E5\u8BC6\u70B9\u6570",num:((ai=(ci=Yi==null?void 0:Yi.data)==null?void 0:ci.basic_info)==null?void 0:ai.knowledge_count)||0,unit:"",img:pt},{title:"\u8D44\u6E90\u603B\u6570",num:((zr=(Ur=Yi==null?void 0:Yi.data)==null?void 0:Ur.basic_info)==null?void 0:zr.resource_count)||0,unit:"",img:mt}]},[(Xt=Yi==null?void 0:Yi.data)==null?void 0:Xt.basic_info]),Hr=(0,se.useMemo)(()=>{var Wn,st,Nt,Gn,Sr,yr,ci,ai,Ur,zr,ta,qa;const pi=(Nt=(st=(Wn=Yi==null?void 0:Yi.data)==null?void 0:Wn.resource_info)==null?void 0:st.resource_data)==null?void 0:Nt.reduce((xn=0,er)=>xn+((er==null?void 0:er.num)||0),0),Mr=(yr=(Sr=(Gn=Yi==null?void 0:Yi.data)==null?void 0:Gn.resource_info)==null?void 0:Sr.publish_resource_data)==null?void 0:yr.reduce((xn=0,er)=>xn+((er==null?void 0:er.num)||0),0),sr=[{title:"\u5B9E\u8BAD\u6570",node_type:"\u5B9E\u8BAD",num:0,publishNum:0,unit:"",img:he(31537),trailColor:"#202857",strokeColor:"#0676DB"},{title:"\u89C6\u9891\u6570",node_type:"\u89C6\u9891",num:0,publishNum:0,unit:"",img:he(46058),trailColor:"#202857",strokeColor:"#26A27A"},{title:"\u8BFE\u4EF6\u6570",node_type:"\u8BFE\u4EF6",num:0,publishNum:0,unit:"",img:he(71190),trailColor:"#202857",strokeColor:"#CDCB56"},{title:"\u8BD5\u5377\u6570",node_type:"\u8BD5\u5377",num:0,publishNum:0,unit:"",img:he(51889),trailColor:"#202857",strokeColor:"#C2652F"},{title:"\u4F5C\u4E1A\u6570",node_type:"\u4F5C\u4E1A",num:0,publishNum:0,unit:"",img:he(95754),trailColor:"#202857",strokeColor:"#5DC711"},{title:"\u5176\u4ED6\u7C7B\u578B",node_type:"\u5176\u4ED6\u7C7B\u578B",num:0,publishNum:0,unit:"",img:he(9490),trailColor:"#202857",strokeColor:"#4903FE"}];return{resource_data:(Ur=(ai=(ci=Yi==null?void 0:Yi.data)==null?void 0:ci.resource_info)==null?void 0:ai.resource_data)==null?void 0:Ur.map(xn=>zn(Or(Or({},(sr==null?void 0:sr.find(er=>(er==null?void 0:er.node_type)==(xn==null?void 0:xn.node_type)))||{}),xn),{publishNum:((xn==null?void 0:xn.num)||0)/pi*100})),publish_resource_data:(qa=(ta=(zr=Yi==null?void 0:Yi.data)==null?void 0:zr.resource_info)==null?void 0:ta.publish_resource_data)==null?void 0:qa.map(xn=>zn(Or(Or({},(sr==null?void 0:sr.find(er=>(er==null?void 0:er.node_type)==(xn==null?void 0:xn.node_type)))||{}),xn),{publishNum:((xn==null?void 0:xn.num)||0)/Mr*100}))}},[(wn=Yi==null?void 0:Yi.data)==null?void 0:wn.resource_info]),hr=[{title:"\u6392\u540D",dataIndex:"test1",width:55,render:(Wn,st,Nt)=>se.createElement(se.Fragment,null,Nt==0||Nt==1||Nt==2?se.createElement("img",{src:Nt==0?Le:Nt==1?Xe:_e,width:12,height:14,style:{width:"12rem"}}):Nt+1)},{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",ellipsis:!0,dataIndex:"name"},{title:"\u7ED1\u5B9A\u8D44\u6E90\u6570",ellipsis:!0,dataIndex:"resource_count"},{title:"\u5B66\u4E60\u4EBA\u6570",ellipsis:!0,dataIndex:"study_count"},{title:"\u5E73\u5747\u638C\u63E1\u7387",ellipsis:!0,dataIndex:"grasp_rate",render:Wn=>`${Wn}%`}],Vr=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(Wn,st,Nt)=>Nt+1},{title:"\u77E5\u8BC6\u70B9\u540D\u79F0",ellipsis:!0,dataIndex:"name"},{title:"\u5173\u8054\u8D44\u6E90\u6570",width:"120rem",ellipsis:!0,dataIndex:"resource_count"},{title:"\u5B9E\u8BAD",width:"120rem",ellipsis:!0,dataIndex:"shixun"},{title:"\u89C6\u9891",width:"120rem",ellipsis:!0,dataIndex:"video"},{title:"\u8BFE\u4EF6",width:"120rem",ellipsis:!0,dataIndex:"attachment"},{title:"\u8003\u8BD5",width:"120rem",ellipsis:!0,dataIndex:"examination_bank"},{title:"\u4F5C\u4E1A",width:"120rem",ellipsis:!0,dataIndex:"homework"},{title:"\u5E73\u5747\u5B8C\u6210\u7387",width:"120rem",ellipsis:!0,dataIndex:"complete_rate",render:Wn=>`${Wn}%`},{title:"\u5E73\u5747\u638C\u63E1\u7387",width:"120rem",ellipsis:!0,dataIndex:"grasp_rate",render:Wn=>`${Wn}%`},{title:"\u64CD\u4F5C",width:"120rem",ellipsis:!0,dataIndex:"test11",render:(Wn,st)=>se.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{xi.set("StatisticName",st==null?void 0:st.name),(0,Dr.xg)(`/knowledgegraph/${gr==null?void 0:gr.pathId}/statistics/learningpath/${gr==null?void 0:gr.learningpathId}/detail/${st==null?void 0:st.id}?${xi}`)}},"\u67E5\u770B\u8BE6\u60C5")}],Rr=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(Wn,st,Nt)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?null:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Nt+1," "))},{title:"\u8D44\u6E90\u540D\u79F0",ellipsis:!0,dataIndex:"name",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u6240\u5C5E\u77E5\u8BC6\u70B9",width:"120rem",ellipsis:!0,dataIndex:"knowledge_name",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u8D44\u6E90\u7C7B\u578B",width:"120rem",ellipsis:!0,dataIndex:"node_type",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u5B8C\u6210\u7387",width:"120rem",ellipsis:!0,dataIndex:"complete_rate",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," %"))},{title:"\u638C\u63E1\u7387",width:"120rem",ellipsis:!0,dataIndex:"grasp_rate",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," %"))},{title:"\u8BC4\u6D4B\u6B21\u6570",width:"120rem",ellipsis:!0,dataIndex:"evaluate_count",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u89C2\u770B\u65F6\u957F",width:"120rem",ellipsis:!0,dataIndex:"watch_time",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u67E5\u770B\u6B21\u6570/\u4E0B\u8F7D\u6B21\u6570",width:"180rem",ellipsis:!0,dataIndex:"download_count",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u64CD\u4F5C",width:"100rem",ellipsis:!0,dataIndex:"test11",render:(Wn,st)=>se.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{xi.set("StatisticName",encodeURIComponent(st==null?void 0:st.name)),xi.set("knowledge_name",encodeURIComponent(st==null?void 0:st.knowledge_name)),(0,Dr.xg)(`/knowledgegraph/${gr==null?void 0:gr.pathId}/statistics/learningpath/${gr==null?void 0:gr.learningpathId}/detail/${st==null?void 0:st.id}?${xi}`)}},"\u67E5\u770B\u8BE6\u60C5")}],qr=[{title:"\u6392\u5E8F",width:"80rem",dataIndex:"test1",render:(Wn,st,Nt)=>Nt+1},{title:"\u59D3\u540D",ellipsis:!0,dataIndex:"name"},{title:"\u5B66\u53F7",ellipsis:!0,dataIndex:"student_id",render:Wn=>Wn||"--"},{title:"\u73ED\u7EA7",ellipsis:!0,dataIndex:"course_group_name"},{title:"\u77E5\u8BC6\u70B9\u638C\u63E1\u6570",ellipsis:!0,dataIndex:"knowledge_count"},{title:"\u5E73\u5747\u5B8C\u6210\u7387",ellipsis:!0,dataIndex:"complete_rate",render:Wn=>`${Wn}%`},{title:"\u5E73\u5747\u638C\u63E1\u7387",ellipsis:!0,dataIndex:"grasp_rate",render:Wn=>`${Wn}%`},{title:"\u64CD\u4F5C",width:"200rem",ellipsis:!0,dataIndex:"test11",render:(Wn,st)=>se.createElement("div",{className:"flex item-center gap-20px-rem"},se.createElement("a",{style:{color:"#18D6FF"},onClick:()=>{(0,Dr.xg)(`/knowledgegraph/${gr==null?void 0:gr.pathId}/statistics/learningpath/${gr==null?void 0:gr.learningpathId}/detail/${st==null?void 0:st.user_id}?${xi}`)}},"\u67E5\u770B\u8BE6\u60C5"))}],Zi=[{title:"\u6392\u540D",width:"80rem",dataIndex:"test1",render:(Wn,st,Nt)=>se.createElement(Qt.Z,{placement:"topLeft",title:!(st!=null&&st.is_publish)&&"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}},Nt==0||Nt==1||Nt==2?se.createElement("img",{src:Nt==0?Le:Nt==1?Xe:_e,width:12,height:14,style:{width:"12rem"}}):Nt+1))},{title:"\u9636\u6BB5\u540D\u79F0",ellipsis:!0,dataIndex:"name",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u77E5\u8BC6\u70B9\u6570",width:"100rem",ellipsis:!0,dataIndex:"knowledge_count",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u8D44\u6E90\u6570",width:"100rem",ellipsis:!0,dataIndex:"resource_count",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn," "))},{title:"\u5E73\u5747\u638C\u63E1\u7387",width:"100rem",ellipsis:!0,dataIndex:"grasp_rate",render:(Wn,st)=>se.createElement(Qt.Z,{placement:"topLeft",title:st!=null&&st.is_publish?Wn:"\u6682\u672A\u53D1\u5E03"},se.createElement("span",{style:{color:st!=null&&st.is_publish?"":"#535A6E"}}," ",Wn,"% "))}];return(0,se.useEffect)(()=>{Ce&&mr(zn(Or({},gr),{learningpathId:Ce}))},[Ce]),(0,se.useEffect)(()=>{var Wn;gr!=null&&gr.learningpathId&&Ni(((Wn=qt==null?void 0:qt.route_nodes)==null?void 0:Wn.find(st=>(st==null?void 0:st.id)==(gr==null?void 0:gr.learningpathId)))||{})},[gr,qt==null?void 0:qt.route_nodes]),(0,se.useEffect)(()=>{gr!=null&&gr.learningpathId&&kn({subject_id:gr==null?void 0:gr.pathId,id:gr==null?void 0:gr.learningpathId})},[gr==null?void 0:gr.learningpathId]),(0,se.useEffect)(()=>{var Wn;(Wn=Yi==null?void 0:Yi.data)!=null&&Wn.is_updating&&$t.ZP.warning("\u5B66\u4E60\u8DEF\u5F84\u7EDF\u8BA1\u6570\u636E\u6B63\u5728\u66F4\u65B0\uFF0C\u8BF7\u7A0D\u540E\u5237\u65B0\u9875\u9762")},[(Lt=Yi==null?void 0:Yi.data)==null?void 0:Lt.is_updating]),(0,se.useEffect)(()=>{gr!=null&&gr.learningpathId&&$o(zn(Or({},lo),{id:gr==null?void 0:gr.learningpathId}))},[lo,gr==null?void 0:gr.learningpathId]),(0,se.useEffect)(()=>{xi&&(xi.set("StatisticType",lo==null?void 0:lo.type),xi.set("tabs","2"))},[xi,lo==null?void 0:lo.type]),se.createElement(yt.Z,null,se.createElement(Ft.Z,{spinning:co},se.createElement("div",{className:"w-full c-white text-14px-rem flex flex-col pb-20px-rem",style:{background:"#030616"}},se.createElement("div",{className:`sticky w-full px-56px-rem flex item-center gap-10px-rem ${He?"py-10px-rem":"pt-22px-rem pb-32px-rem"}`,style:{height:He?"auto":"90rem",top:He?"40rem":0,zIndex:1,background:`rgb(3, 6, 22) ${He?"":`url(${Bt})`}`,backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"}},se.createElement("img",{src:Rt,className:"current",style:{width:"66rem",height:"20rem"},onClick:()=>{je.history.push(`/knowledgegraph/${gr.pathId}?${xi}`)}}),se.createElement("div",{className:"flex item-center rounded-full text-14px-rem mr-auto",style:{background:"#123269",padding:"0 0 0 20rem",gap:"10rem"}},se.createElement("div",{className:"c-grey-eee text-nowrap "},"\u5F53\u524D\u8DEF\u5F84"),se.createElement(Qt.Z,{title:(Ui==null?void 0:Ui.name)||"",placement:"topLeft"},se.createElement("div",{style:{width:"160rem"},className:"multi_ellipsis1"},(Ui==null?void 0:Ui.name)||"")),se.createElement("div",{className:`current flex item-center justify-center text-nowrap ${Sn.Z.ChangeBut}`,onClick:()=>{qe({type:"pathsDetail/save",payload:{actionTabs:{key:"\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"",type:"route",currentSelectData:Ui}}})}},se.createElement("span",{className:"iconfont icon-dingbu-qiehuanbanben",style:{fontSize:"14rem"}})," \u66F4\u6362")),((Zt=Yi==null?void 0:Yi.data)==null?void 0:Zt.updated_at)&&se.createElement(se.Fragment,null,se.createElement("img",{src:dt,style:{width:"14rem"}}),se.createElement("div",null,et()((or=Yi==null?void 0:Yi.data)==null?void 0:or.updated_at).format("YYYY-MM-DD HH:mm"))),se.createElement("div",{className:`current flex item-center text-nowrap ${Sn.Z.ChangeBut}`,onClick:()=>Qn(void 0,null,function*(){const Wn=yield(0,Mn.D$)({subject_id:gr==null?void 0:gr.pathId,id:gr==null?void 0:gr.learningpathId});(Wn==null?void 0:Wn.status)==0&&$t.ZP.success("\u6570\u636E\u66F4\u65B0\u4E2D\uFF0C\u5927\u698210 ~ 15\u5206\u949F\u4E4B\u540E\u5237\u65B0\u9875\u9762")})}," \u66F4\u65B0")),se.createElement("div",{className:"flex gap-20px-rem px-40px-rem py-20px-rem",style:{background:`url(${Jt})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center"}},se.createElement("div",{className:"flex flex-col gap-20px-rem",style:{flex:1.5}},se.createElement("div",{className:`${Sn.Z.DefaultDiv} p-20px-rem`},se.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},se.createElement("img",{src:Dt,style:{width:"9rem",height:"17rem"}}),se.createElement("div",null,"\u5404\u9636\u6BB5\u638C\u63E1\u7387\u5360\u6BD4")),se.createElement("div",{className:"flex item-center"},se.createElement(Cn.Z,{style:{width:"50%",height:"300rem",transform:"translateX(-10rem)"},option:(ua==null?void 0:ua.option)||{}}),se.createElement("div",{className:Sn.Z.masteryList},se.createElement("div",{className:Sn.Z.masteryHead},se.createElement("div",null,"\u638C\u63E1\u7387"),se.createElement("div",null,"\u4EBA\u6570"),se.createElement("div",null,"\u5360\u6BD4")),(Xn=ua==null?void 0:ua.listData)==null?void 0:Xn.map((Wn,st)=>se.createElement("div",{className:Sn.Z.masteryBody,key:st},se.createElement("div",{className:"flex item-center"},se.createElement("div",{className:Sn.Z.dot,style:{backgroundColor:Wn==null?void 0:Wn.color}}),se.createElement("span",{style:{color:"#D0E3FF"}},Wn.name)),se.createElement("div",null,Wn.value),se.createElement("div",null,Wn.rate,"%")))))),se.createElement("div",{className:`${Sn.Z.DefaultDiv} p-20px-rem gap-16px-rem flex flex-col`,style:{flex:2.5,paddingTop:0}},se.createElement("div",{className:"flex item-center"},[{name:"\u77E5\u8BC6\u70B9\u638C\u63E1\u4F18\u79C0\u699C",img:It,key:"good"},{name:"\u77E5\u8BC6\u70B9\u638C\u63E1\u5F85\u63D0\u5347\u699C",img:vt,key:"up"}].map(Wn=>se.createElement("div",{key:Wn==null?void 0:Wn.name,className:`flex-1 py-12px-rem flex item-center justify-center current text-16px-rem gap-6px-rem - ${Sn.Z.DefaultDivItem} ${Fa==(Wn==null?void 0:Wn.key)?Sn.Z.DefaultDivItemActive:""}`,style:{height:"40rem"},onClick:()=>{_o(Wn==null?void 0:Wn.key)}},se.createElement("img",{src:Wn==null?void 0:Wn.img,width:16,height:16,style:{width:"16rem"}}),Wn==null?void 0:Wn.name))),se.createElement(Gt.default,{className:`mt-16px-rem ${Sn.Z.TableStyle} flex-1`,locale:{emptyText:se.createElement(Ct.Z,null)},columns:hr,pagination:!1,dataSource:Fa=="good"?(dn=Yi==null?void 0:Yi.data)==null?void 0:dn.desc_knowledge_infos:(kr=Yi==null?void 0:Yi.data)==null?void 0:kr.asc_knowledge_infos}))),se.createElement("div",{className:"flex-2 flex flex-col gap-20px-rem"},se.createElement("div",{className:"flex-1 flex gap-30px-rem pt-40px-rem"},lr==null?void 0:lr.map((Wn,st)=>se.createElement("div",{key:st,className:`flex-1 pb-20px-rem flex flex-col gap-10px-rem item-center ${Sn.Z.DefaultDiv}`},se.createElement("img",{src:Wn==null?void 0:Wn.img,width:80,height:80,style:{width:"80rem",height:"80rem",marginTop:"-40rem"}}),se.createElement("div",{className:"text-18px-rem blod",style:{color:"#72E8FF"}},Wn==null?void 0:Wn.num,Wn==null?void 0:Wn.unit),se.createElement("div",{className:"",style:{color:"#A4C8FC"}},Wn==null?void 0:Wn.title)))),se.createElement("div",{className:`flex-2 ${Sn.Z.DefaultDiv} relative`},se.createElement("div",{className:"absolute flex item-center justify-center",style:{color:"#C2E0F8",height:"25rem",width:"253rem",top:0,left:"50%",transform:"translateX(-50%)",background:`url(${Ot})`,backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"}}," \u8DEF\u5F84\u5B66\u4E60\u60C5\u51B5 "),se.createElement(Cn.Z,{key:ri,className:"w-full h-full",option:un})),se.createElement("div",{className:`p-20px-rem ${Sn.Z.DefaultDiv}`,style:{flex:3}},se.createElement("div",{className:"text-16px-rem"},"\u9636\u6BB5\u5B66\u4E60\u60C5\u51B5"),se.createElement(Gt.default,{className:`mt-14px-rem ${Sn.Z.TableStyle} flex-1`,locale:{emptyText:se.createElement(Ct.Z,null)},columns:Zi,pagination:!1,dataSource:((vi=Yi==null?void 0:Yi.data)==null?void 0:vi.stage_knowledge_infos)||[]}))),se.createElement("div",{className:"flex flex-col gap-20px-rem",style:{flex:1.5}},se.createElement("div",{className:`p-20px-rem ${Sn.Z.DefaultDiv} flex gap-10px-rem`},se.createElement("div",{className:"flex-1"},se.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},se.createElement("img",{src:Dt,style:{width:"9rem",height:"17rem"}}),se.createElement("div",null,"\u8D44\u6E90\u603B\u6570\u91CF")),se.createElement("div",{className:"mt-40px-rem",style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"25rem 10rem"}},(Un=Hr==null?void 0:Hr.resource_data)==null?void 0:Un.map((Wn,st)=>se.createElement("div",{key:st,className:"flex flex-col item-center",style:{height:"84rem",background:`url(${Wn==null?void 0:Wn.img}) 0% 0% / 100% 100% no-repeat`}},se.createElement("div",{className:"text-18px-rem blod",style:{color:"#72E8FF"}},Wn==null?void 0:Wn.num,Wn==null?void 0:Wn.unit),se.createElement("div",{className:"text-12px-rem",style:{color:"#D7EEFF"}},Wn==null?void 0:Wn.title))))),se.createElement("div",{className:"flex-1"},se.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},se.createElement("img",{src:Dt,style:{width:"9rem",height:"17rem"}}),se.createElement("div",null,"\u5DF2\u53D1\u5E03\u8D44\u6E90\u6570")),se.createElement("div",{className:"mt-30px-rem flex flex-col gap-12px-rem pl-20px-rem"},(Pr=Hr==null?void 0:Hr.publish_resource_data)==null?void 0:Pr.map((Wn,st)=>se.createElement("div",{key:st,className:"flex flex-col gap-6px-rem"},se.createElement("div",{className:"w-full flex item-center justify-between text-12px-rem"},se.createElement("div",{style:{color:"#D7EEFF"}},Wn==null?void 0:Wn.title),se.createElement("div",null,Wn==null?void 0:Wn.num)),se.createElement(Je.Z,{className:`${Sn.Z.ProgressStyle}`,style:{marginBottom:"0",marginLeft:"0",height:"6rem"},percent:Wn==null?void 0:Wn.publishNum,showInfo:!1,trailColor:Wn==null?void 0:Wn.trailColor,strokeColor:Wn==null?void 0:Wn.strokeColor})))))),se.createElement("div",{className:`p-20px-rem ${Sn.Z.DefaultDiv}`,style:{flex:2.5}},se.createElement("div",{className:"flex item-center text-16px-rem gap-8px-rem"},se.createElement("img",{src:Dt,style:{width:"9rem",height:"17rem"}}),se.createElement("div",null,"\u5B66\u751F\u638C\u63E1\u7387\u6392\u884C\u699C")),se.createElement("div",{className:"flex flex-col mt-24px-rem gap-10px-rem"},(on=(Ii=Yi==null?void 0:Yi.data)==null?void 0:Ii.student_grasp_rank_lists)==null?void 0:on.map((Wn,st)=>se.createElement("div",{key:Wn==null?void 0:Wn.user_id,className:`flex item-center ${Sn.Z.RankingDiv} px-20px-rem gap-20px-rem rounded-2px-rem`,style:{height:"46rem"}},st==0||st==2||st==1?se.createElement("img",{src:st==0?he(71463):st==1?he(69035):he(16065),width:34,height:34,style:{width:"34rem",height:"34rem"}}):se.createElement("div",{className:"flex item-center justify-center",style:{width:"34rem",height:"34rem",background:`url(${he(73099)}) 0% 0% / 100% 100% no-repeat`}},st+1),se.createElement("div",{className:"flex flex-2 minW-0 item-center"},se.createElement("img",{src:`${bn.Z.IMG_SERVER}/images/${Wn==null?void 0:Wn.avatar_url}`,width:30,height:30,className:"rounded-full",style:{width:"30rem",height:"30rem",border:"1rem solid #18D6FF"}}),se.createElement(Qt.Z,{title:Wn==null?void 0:Wn.real_name},se.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},Wn==null?void 0:Wn.real_name))),se.createElement("div",{className:"flex-1 minW-0 flex item-center"},se.createElement(Qt.Z,{title:"\u638C\u63E1\u7387"},se.createElement("img",{src:he(39633),width:14,height:14,style:{width:"14rem",height:"14rem"}})),se.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},Wn==null?void 0:Wn.grasp_rate,"%")),se.createElement("div",{className:"flex-1 minW-0 flex item-center"},se.createElement(Qt.Z,{title:"\u5B8C\u6210\u7387"},se.createElement("img",{src:he(31434),width:14,height:14,style:{width:"14rem",height:"14rem"}})),se.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 ml-10px-rem"},Wn==null?void 0:Wn.complete_rate,"%")))))))),se.createElement("div",{className:`flex item-center ${Sn.Z.NavBgTwo}`},[{title:"\u77E5\u8BC6\u70B9\u7EDF\u8BA1",key:"1"},{title:"\u8D44\u6E90\u5B66\u4E60\u7EDF\u8BA1\u8868",key:"2"},{title:"\u5B66\u751F\u5B66\u60C5\u7EDF\u8BA1\u8868",key:"3"}].map(Wn=>se.createElement("div",{key:Wn==null?void 0:Wn.key,className:`flex item-center justify-center text-16px-rem h-full current - ${Sn.Z.NavBgItem} ${(lo==null?void 0:lo.type)==(Wn==null?void 0:Wn.key)?Sn.Z.NavBgTwoActive:""}`,onClick:()=>{Qr(zn(Or({},lo),{type:Wn==null?void 0:Wn.key,page:1,keyword:""}))}},Wn==null?void 0:Wn.title))),se.createElement("div",{className:"px-40px-rem flex item-center justify-between mt-10px-rem"},se.createElement("div",{className:"text-16px-rem"},"\u5217\u8868\u8BE6\u60C5"),se.createElement(tn.t7,{className:Sn.Z.InputStyle,style:{background:"#0A1634"},placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u8FDB\u884C\u641C\u7D22",value:lo==null?void 0:lo.keyword,onChange:Wn=>{Qr(zn(Or({},lo),{keyword:Wn,page:1}))}})),se.createElement("div",{className:`${Sn.Z.DefaultDiv} ml-40px-rem mr-40px-rem p-20px mt-10px-rem`,style:{background:`url(${Jt})`,backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center"}},se.createElement(Gt.default,{className:`${Sn.Z.TableStyle}`,loading:ys,locale:{emptyText:se.createElement(Ct.Z,null)},columns:(lo==null?void 0:lo.type)=="1"?Vr:(lo==null?void 0:lo.type)=="2"?Rr:qr,dataSource:(eo==null?void 0:eo.data)||[],pagination:{total:(eo==null?void 0:eo.total_count)||0,onChange:(Wn,st)=>{Qr(zn(Or({},lo),{page:Wn,limit:st}))},current:lo==null?void 0:lo.page,pageSize:lo==null?void 0:lo.limit}})),(gn==null?void 0:gn.key)&&se.createElement(_n.E_,{type:"route",isCustom:!0,open:(gn==null?void 0:gn.key)=="\u5207\u6362\u5B66\u4E60\u8DEF\u5F84",title:"\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",currentSeleteData:Ui,onFinish:Wn=>{mr(zn(Or({},gr),{learningpathId:Wn==null?void 0:Wn.selectId})),je.history.push(`/knowledgegraph/${gr==null?void 0:gr.pathId}/statistics/learningpath/${Wn==null?void 0:Wn.selectId}?${xi}`)}}))))};var On=(0,je.connect)(({pathsDetail:qe})=>({pathsDetail:qe}))(qn)},59401:function(Hn,xr,he){"use strict";he.d(xr,{E_:function(){return Cn},DZ:function(){return pn},NI:function(){return tn}});var se=he(43418),je=he(8591),Bt=he(6848),Rt=he(24905),Dt=he(78241),dt=he(92832),Le=he(57809),Xe=he(5112),_e=he(78673),It=he(59301),vt=he(44225),wt={ItemDom:"ItemDom___gJ4Dc"},Ot=he(78162),Ye=he(41592),We=Object.defineProperty,pt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,Jt=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,$t=Object.prototype.propertyIsEnumerable,Ft=(Ct,Ln,Mn)=>Ln in Ct?We(Ct,Ln,{enumerable:!0,configurable:!0,writable:!0,value:Mn}):Ct[Ln]=Mn,Gt=(Ct,Ln)=>{for(var Mn in Ln||(Ln={}))Qt.call(Ln,Mn)&&Ft(Ct,Mn,Ln[Mn]);if(Jt)for(var Mn of Jt(Ln))$t.call(Ln,Mn)&&Ft(Ct,Mn,Ln[Mn]);return Ct},Je=(Ct,Ln)=>pt(Ct,mt(Ln)),Sn=(Ct,Ln,Mn)=>new Promise((bn,Dr)=>{var oi=Rn=>{try{tt(Mn.next(Rn))}catch(fi){Dr(fi)}},yt=Rn=>{try{tt(Mn.throw(Rn))}catch(fi){Dr(fi)}},tt=Rn=>Rn.done?bn(Rn.value):Promise.resolve(Rn.value).then(oi,yt);tt((Mn=Mn.apply(Ct,Ln)).next())});const _n=({dispatch:Ct,pathsDetail:Ln,currentSeleteData:Mn,onFinish:bn,open:Dr,title:oi,type:yt,isCustom:tt})=>{var Rn;const fi=yt==="knowledge"?"uuid":"id",li=(0,vt.useParams)(),{detail:In}=Ln,[an,Xr]=(0,It.useState)(Mn==null?void 0:Mn[fi]),[,Or,zn]=(0,Ot.U)(Ye.mE,{subject_id:li==null?void 0:li.pathId,type:yt}),Qn=yt==="goal"?In==null?void 0:In.ability_goals:yt==="knowledge"?((In==null?void 0:In.nodes)||[]).slice(1):In==null?void 0:In.route_nodes;return It.createElement(se.default,{open:Dr,width:1078,destroyOnClose:!0,closeIcon:Mn!=null&&Mn[fi]?"":null,centered:!0,maskClosable:!1,keyboard:!1,confirmLoading:Or,title:oi,cancelButtonProps:{style:{display:Mn!=null&&Mn[fi]?"inline-block":"none"}},onCancel:()=>{Mn!=null&&Mn[fi]&&Ct({type:"pathsDetail/save",payload:{actionTabs:{key:""}}})},onOk:()=>Sn(void 0,null,function*(){var Jn;const qn=yt==="goal"?"\u80FD\u529B\u56FE\u8C31":yt==="knowledge"?"\u77E5\u8BC6\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84";if(!an){je.ZP.warning(`\u8BF7\u5148\u9009\u62E9${qn}`);return}let On;tt||(On=yield zn({type:yt,subject_id:li==null?void 0:li.pathId,id:an})),((On==null?void 0:On.status)==0||tt)&&((Jn=je.ZP)==null||Jn.success(`${qn}\u9009\u62E9\u6210\u529F\uFF01`),Ct({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),bn==null||bn({selectId:an}))})},It.createElement("div",{className:"flex flex-col gap-16px-rem p-4px-rem",style:{overflow:"auto",maxHeight:"60vh"}},(Rn=Qn||[])==null?void 0:Rn.map(Jn=>{var qn;return It.createElement("div",{key:Jn==null?void 0:Jn[fi],className:`flex flex-col px-20px-rem py-14px-rem rounded-4px-rem ${(qn=wt)==null?void 0:qn.ItemDom}`},It.createElement("div",{className:"flex item-center gap-10px-rem"},It.createElement(Bt.Z,{title:Jn==null?void 0:Jn.name},It.createElement("div",{className:"text-500 text-16px-rem multi_ellipsis1 flex-1 minW-0",style:{color:"#232B40"}},Jn==null?void 0:Jn.name)),It.createElement(Rt.default,{className:"ml-auto",checked:an===(Jn==null?void 0:Jn[fi]),onChange:On=>{Xr(On.target.checked?Jn==null?void 0:Jn[fi]:null)}})),It.createElement("div",{className:"flex item-center gap-12px-rem text-14px-rem",style:{marginTop:"14rem"}},It.createElement("div",{className:"text-end w-64px-rem",style:{color:"#9096A3"}},"\u9002\u7528\u4EBA\u7FA4"),It.createElement("div",{style:{color:"#232B40"}},(Jn==null?void 0:Jn.applicable_people)||"--")),It.createElement("div",{className:"flex item-center gap-12px-rem text-14px-rem",style:{marginTop:"12rem"}},It.createElement("div",{className:"text-end w-64px-rem",style:{color:"#9096A3"}},"\u7B80\u4ECB"),It.createElement(Bt.Z,{title:Jn==null?void 0:Jn.description,placement:"topLeft"},It.createElement("div",{className:"multi_ellipsis1 flex-1 minW-0",style:{color:"#232B40"}},(Jn==null?void 0:Jn.description)||"--"))))})))},Cn=(0,vt.connect)(({pathsDetail:Ct})=>({pathsDetail:Ct}))(_n),Vt=({pathsDetail:Ct,dispatch:Ln,onFinish:Mn,currentSeleteData:bn={}})=>{const{actionTabs:Dr,detail:oi}=Ct,yt=(0,vt.useParams)(),[tt]=Dt.default.useForm(),[,Rn,fi]=(0,Ot.U)(Ye.wv,{subject_id:yt==null?void 0:yt.pathId}),[,li,In]=(0,Ot.U)(Ye.EG,{subject_id:yt==null?void 0:yt.pathId});return(0,It.useEffect)(()=>{(Dr==null?void 0:Dr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"&&tt.setFieldsValue(Gt({},bn))},[bn,Dr]),It.createElement(se.default,{open:(Dr==null?void 0:Dr.key)=="\u65B0\u5EFA\u80FD\u529B\u56FE\u8C31"||(Dr==null?void 0:Dr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31",width:700,centered:!0,confirmLoading:Rn||li,destroyOnClose:!0,title:Dr==null?void 0:Dr.key,onCancel:()=>{Ln({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),tt.resetFields()},okText:(Dr==null?void 0:Dr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?"\u786E\u5B9A\u4FEE\u6539":"\u786E\u8BA4\u65B0\u5EFA",onOk:()=>Sn(void 0,null,function*(){tt.submit()})},It.createElement(Dt.default,{form:tt,preserve:!1,labelCol:{span:4},labelAlign:"right",size:"large",colon:!1,onFinish:an=>Sn(void 0,null,function*(){const Xr=yield((Dr==null?void 0:Dr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?In:fi)(Je(Gt({},an),{subject_id:yt==null?void 0:yt.pathId}));(Xr==null?void 0:Xr.status)==0&&(je.ZP.success((Dr==null?void 0:Dr.key)=="\u7F16\u8F91\u80FD\u529B\u56FE\u8C31"?"\u4FEE\u6539\u6210\u529F":"\u521B\u5EFA\u6210\u529F"),tt.resetFields(),Ln({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),Mn==null||Mn())})},It.createElement(Dt.default.Item,{name:"id",hidden:!0}),It.createElement(Dt.default.Item,{name:"name",label:"\u540D\u79F0",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u540D\u79F0"},{whitespace:!0,message:"\u8F93\u5165\u540D\u79F0\u4E0D\u80FD\u5168\u4E3A\u7A7A\u683C"}]},It.createElement(dt.default,{placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0",maxLength:20,showCount:!0})),It.createElement(Dt.default.Item,{name:"knowledge_graph_route_id",label:"\u5173\u8054\u5B66\u4E60\u8DEF\u5F84",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84"}]},It.createElement(Le.default,{showSearch:!0,optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",options:(oi==null?void 0:oi.route_nodes)||[]})),It.createElement(Dt.default.Item,{name:"applicable_people",label:"\u9002\u7528\u4EBA\u7FA4"},It.createElement(dt.default,{placeholder:"\u8BF7\u8F93\u5165\u9002\u7528\u4EBA\u7FA4",maxLength:50,showCount:!0})),It.createElement(Dt.default.Item,{name:"description",label:"\u7B80\u4ECB"},It.createElement(dt.default.TextArea,{rows:4,placeholder:"\u8BF7\u8F93\u5165\u7B80\u4ECB",maxLength:200,showCount:!0}))))},pn=(0,vt.connect)(({pathsDetail:Ct})=>({pathsDetail:Ct}))(Vt),et=({pathsDetail:Ct,onFinish:Ln,dispatch:Mn,type:bn})=>{var Dr,oi,yt;const{actionTabs:tt,detail:Rn}=Ct,fi=(0,vt.useParams)(),[li]=Dt.default.useForm(),In=Dt.default.useWatch("uuid",li),an=Dt.default.useWatch("send_route",li),[Xr,Or]=(0,It.useState)(!1),[zn,Qn]=(0,It.useState)(null),[,Jn,qn,On]=(0,Ot.U)(Ye.O9,{type:bn,subject_id:fi==null?void 0:fi.pathId}),[,,qe,Ie]=(0,Ot.U)(Ye.Ho,{subject_id:fi==null?void 0:fi.pathId}),[,Ce,He]=(0,Ot.U)(Ye.zc,{subject_id:fi==null?void 0:fi.pathId,type:bn}),[it,we]=(0,It.useState)({}),Xt=(...wn)=>Sn(void 0,[...wn],function*(Lt=li.getFieldsValue()){const Zt=yield He(Je(Gt({},Lt),{repeat_names:On==null?void 0:On.repeat_names,is_cover:zn,subject_id:fi==null?void 0:fi.pathId,type:bn}));(Zt==null?void 0:Zt.status)==0&&(se.default.confirm({title:"\u63D0\u793A",centered:!0,icon:null,width:500,okText:"\u7ACB\u5373\u524D\u5F80",cancelText:"\u7A0D\u540E\u518D\u8BF4",onOk(...or){var Xn,dn;window.open((dn=(Xn=Ie==null?void 0:Ie.data)==null?void 0:Xn.find(kr=>(kr==null?void 0:kr.id)===Lt.course_id))==null?void 0:dn.first_category_url)},content:"\u53D1\u9001\u6210\u529F\uFF0C\u662F\u5426\u524D\u5F80\u6559\u5B66\u8BFE\u5802\u8FDB\u884C\u67E5\u770B\uFF1F"}),Ln==null||Ln(),Mn({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),Or(!1),li.resetFields())});return(0,It.useEffect)(()=>{var wn;li.setFieldsValue(Gt({},(wn=tt==null?void 0:tt.params)==null?void 0:wn.data))},[tt]),(0,It.useEffect)(()=>{qe({subject_id:fi==null?void 0:fi.pathId})},[]),(0,It.useEffect)(()=>{var wn;In&&we(((wn=Rn==null?void 0:Rn.nodes)==null?void 0:wn.find(Lt=>(Lt==null?void 0:Lt.uuid)==In))||{})},[In]),It.createElement(It.Fragment,null,It.createElement(se.default,{open:(tt==null?void 0:tt.key)=="\u53D1\u9001\u81F3\u6559\u5B66\u8BFE\u5802",width:670,centered:!0,destroyOnClose:!0,confirmLoading:Jn||Ce,title:tt==null?void 0:tt.key,onCancel:()=>{Mn({type:"pathsDetail/save",payload:{actionTabs:{key:""}}}),li.resetFields()},okText:"\u786E\u8BA4\u53D1\u9001",onOk:()=>Sn(void 0,null,function*(){li.submit()})},It.createElement(Dt.default,{preserve:!1,form:li,labelCol:{span:3},labelAlign:"right",size:"large",colon:!1,onValuesChange:wn=>{"uuid"in wn&&li.setFieldsValue({ids:[]})},onFinish:wn=>Sn(void 0,null,function*(){console.log("allvalue",wn);const Lt=yield qn(Je(Gt({},wn),{name:it==null?void 0:it.name,subject_id:fi==null?void 0:fi.pathId}));if((Lt==null?void 0:Lt.status)==0&&(Lt!=null&&Lt.is_repeat)){Or(!0);return}yield Xt(wn)})},It.createElement(Dt.default.Item,{name:"course_id",label:"\u6559\u5B66\u8BFE\u5802",required:!1,rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802"}]},It.createElement(Le.default,{showSearch:!0,optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u6559\u5B66\u8BFE\u5802",options:(Ie==null?void 0:Ie.data)||[]})),bn=="knowledge"?It.createElement(Dt.default.Item,{name:"uuid",label:"\u77E5\u8BC6\u56FE\u8C31"},It.createElement(Xe.ZP.Group,{options:((oi=((Dr=Rn==null?void 0:Rn.nodes)==null?void 0:Dr.length)>1?Rn==null?void 0:Rn.nodes.slice(1):[])==null?void 0:oi.map(wn=>({label:wn==null?void 0:wn.name,value:wn==null?void 0:wn.uuid})))||[]})):It.createElement(Dt.default.Item,{name:"ids",label:bn=="goal"?"\u80FD\u529B\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84",required:!1,rules:[{required:!0,message:`\u8BF7\u9009\u62E9${bn=="goal"?"\u80FD\u529B\u56FE\u8C31":"\u5B66\u4E60\u8DEF\u5F84"}`}]},It.createElement(Rt.default.Group,{options:((yt=(bn=="goal"?Rn==null?void 0:Rn.ability_goals:Rn==null?void 0:Rn.route_nodes)||[])==null?void 0:yt.map(wn=>({label:wn==null?void 0:wn.name,value:(wn==null?void 0:wn.id)||(wn==null?void 0:wn.uuid)})))||[]})),bn=="knowledge"?It.createElement(It.Fragment,null,It.createElement("div",{className:"flex pl-64px-rem"},It.createElement(Dt.default.Item,{name:"send_route",label:" ",valuePropName:"checked"},It.createElement(_e.Z,null)),It.createElement("div",{style:{lineHeight:"40px"}},"\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")),It.createElement(Dt.default.Item,{name:"ids",label:" ",required:!1,rules:[{required:an,message:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84"}]},It.createElement(Le.default,{showSearch:!0,mode:"multiple",optionFilterProp:"name",fieldNames:{label:"name",value:"id"},placeholder:"\u8BF7\u9009\u62E9\u5B66\u4E60\u8DEF\u5F84",options:(it==null?void 0:it.routes)||[]}))):It.createElement("div",{className:"flex item-center gap-10px-rem",style:{color:"#FF8C29"}},It.createElement("span",{className:"iconfont icon-tishi7"}),bn=="goal"&&It.createElement("span",null,"\u53D1\u9001\u80FD\u529B\u56FE\u8C31\u81F3\u6559\u5B66\u8BFE\u5802\u65F6\uFF0C\u4F1A\u540C\u6B65\u5C06\u80FD\u529B\u56FE\u8C31\u4E2D\u5173\u8054\u7684\u5B66\u4E60\u8DEF\u5F84\u548C\u77E5\u8BC6\u56FE\u8C31\u540C\u6B65\u53D1\u9001\u5230\u8BFE\u5802"),bn=="route"&&It.createElement("span",null,"\u53D1\u9001\u5B66\u4E60\u8DEF\u5F84\u81F3\u6559\u5B66\u8BFE\u5802\u65F6\uFF0C\u4F1A\u540C\u6B65\u5C06\u77E5\u8BC6\u56FE\u8C31\u540C\u6B65\u53D1\u9001\u5230\u8BFE\u5802")))),It.createElement(se.default,{open:Xr,title:"\u56FE\u8C31\u540D\u79F0\u91CD\u590D",width:346,destroyOnClose:!0,centered:!0,confirmLoading:Ce,onCancel:()=>{Or(!1),Qn(null)},okButtonProps:{disabled:zn==null},onOk:()=>Sn(void 0,null,function*(){yield Xt()})},It.createElement("div",{className:"flex flex-col"},bn=="goal"?It.createElement("div",null,"\u6559\u5B66\u8BFE\u5802\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u56FE\u8C31\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u8986\u76D6?"):It.createElement("div",null,"\u6559\u5B66\u8BFE\u5802\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u56FE\u8C31\u6216\u5B66\u4E60\u8DEF\u5F84\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u8986\u76D6"),It.createElement(Xe.ZP.Group,{className:"mt-14px-rem",value:zn,onChange:wn=>{Qn(wn.target.value)},options:[{label:"\u8986\u76D6",value:!0},{label:"\u4E0D\u8986\u76D6\uFF08\u6309\u7167\u65E5\u671F\u91CD\u547D\u540D\uFF09",value:!1}]}))))},tn=(0,vt.connect)(({pathsDetail:Ct})=>({pathsDetail:Ct}))(et)},5805:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return _e}});var se={noData:"noData___Luxe1"},je=he(14006),Bt=he(92310),Rt=he.n(Bt),Dt=he(6848),dt=he(61485),Le=he(59301),_e=({style:It={},className:vt,text:wt="\u6682\u65E0\u6570\u636E",textColor:Ot="#666",buttonText:Ye,buttonTexttow:We,ontwoClick:pt,onClick:mt})=>Le.createElement("div",{className:Rt()(se.noData,vt),style:It},Le.createElement("img",{src:je}),!!wt&&Le.createElement("span",{style:{color:Ot}},wt),Le.createElement("span",{style:{display:"flex"}},!!Ye&&Le.createElement("div",{onClick:mt},Ye),!!We&&Le.createElement("div",{style:{marginLeft:"20rem",display:"flex",alignItems:"center",justifyContent:"center"},onClick:pt},We," ",Le.createElement(Dt.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"},Le.createElement(dt.Z,{style:{color:"#fff",marginLeft:5,marginTop:0}})))))},33924:function(Hn,xr,he){"use strict";var se=he(59301);const je=()=>{const Rt=()=>window.innerWidth/1920,[Dt,dt]=(0,se.useState)(Rt()||1),Le=(0,se.useRef)(),Xe=(0,se.useRef)(),_e=()=>{Xe.current&&clearTimeout(Xe.current),Xe.current=setTimeout(()=>{Le.current=requestAnimationFrame(()=>{const vt=Rt();dt(vt)})},500)};return(0,se.useEffect)(()=>(_e(),window.addEventListener("resize",_e),()=>{window.removeEventListener("resize",_e),Xe.current&&clearTimeout(Xe.current),Le.current&&cancelAnimationFrame(Le.current)}),[]),{rootFontSize:Dt,pxToRoot:vt=>vt*Dt}};xr.Z=je},50321:function(Hn,xr,he){"use strict";he.d(xr,{rX:function(){return $t},pW:function(){return Ft},gy:function(){return Gt},xY:function(){return Qt},O5:function(){return Jt},tJ:function(){return Ot},o1:function(){return Ye},Rd:function(){return mt}});var se=he(44225),je=he(43418),Bt=he(28103),Rt=he(36466),Dt=he(85333),dt=he(87169),Le=he(25510),Xe="data:image/png;base64,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",_e=he.p+"static/newqrcode.a8740efb.png",It=he(32637),vt=he(59301),wt=(Je,Sn,_n)=>new Promise((Cn,Vt)=>{var pn=Ct=>{try{tn(_n.next(Ct))}catch(Ln){Vt(Ln)}},et=Ct=>{try{tn(_n.throw(Ct))}catch(Ln){Vt(Ln)}},tn=Ct=>Ct.done?Cn(Ct.value):Promise.resolve(Ct.value).then(pn,et);tn((_n=_n.apply(Je,Sn)).next())});const Ot=(Je,Sn=!1)=>!!(Ye(Je)&&We(Sn)),Ye=Je=>(0,Rt.bg)()?!0:(Je({type:"user/showPopLogin",payload:{showPopLogin:!0,showClosable:!0}}),!1),We=(Je=!1)=>{var Sn;const{user:_n}=(0,se.getDvaApp)()._store.getState();return(Sn=_n.userInfo)!=null&&Sn.profile_completed?!0:(je.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,Dt.xg)("/account/profile/edit"),pt()}}),!1)},pt=()=>{je.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()}})},mt=()=>{je.default.warning({title:"\u63D0\u793A",icon:null,width:400,content:vt.createElement("div",{style:{textAlign:"center"}},vt.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"),vt.createElement("img",{style:{border:"1px solid #D8E3E9",width:190,height:180},src:It}),vt.createElement("div",{style:{color:"#666666",fontSize:14,marginTop:15}},"\u6DFB\u52A0\u5BA2\u670D\u4EBA\u5458\u5FAE\u4FE1\uFF0C\u83B7\u5F97\u66F4\u591A\u652F\u6301"))})},Jt=()=>{var Je;const{user:Sn}=(0,se.getDvaApp)()._store.getState();return(Je=Sn.userInfo)!=null&&Je.professional_certification?!0:(je.default.confirm({title:"\u63D0\u793A",centered:!0,content:vt.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,Dt.xg)("/account/certification")}}),!1)},Qt=()=>(0,Rt.V9)()?!0:(je.default.warning({centered:!0,width:530,title:"\u63D0\u793A",content:vt.createElement("div",{className:"tc",style:{marginLeft:-38}},vt.createElement("p",null,"\u626B\u7801\u52A0\u52A9\u6559\uFF0C\u7533\u8BF7\u64CD\u4F5C\u6743\u9650"),vt.createElement("img",{src:_e,width:200})),okText:"\u6211\u77E5\u9053\u4E86",maskClosable:!0}),!1),$t=(Je,Sn)=>Je?!0:(je.default.confirm({centered:!0,zIndex:1e4,width:530,title:"\u63D0\u793A",content:vt.createElement("div",null,vt.createElement("p",null,Sn||"\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"),vt.createElement("div",{style:{marginLeft:"110px"}},vt.createElement("img",{src:Xe,width:200}),vt.createElement("div",{style:{marginLeft:"35px"}},"\u7FA4\u53F7\uFF1A","714336072"))),okText:"\u7ACB\u5373\u8054\u7CFB",cancelText:"\u53D6\u6D88",onOk:()=>{(0,Dt.xg)("https://qm.qq.com/cgi-bin/qm/qr?k=tIyDPXUtE0yEk-MOJxhH55lTUJS-nYAM&jump_from=webapi")}}),!1),Ft=Je=>{je.default.info({title:"\u8054\u7CFB\u5E73\u53F0\u8FD0\u8425",icon:null,width:615,centered:!0,content:vt.createElement("div",null,vt.createElement("div",null,vt.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"),vt.createElement(Bt.Z,null),vt.createElement("p",{style:{color:"#666666",fontSize:12}}," ",vt.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 ",vt.createElement("a",null,Je),"\u5929\u3002"),vt.createElement("p",{style:{color:"#666666",fontSize:12}}," ",vt.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")),vt.createElement("div",{style:{textAlign:"center",marginTop:30}},vt.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:Le,alt:"\u4E8C\u7EF4\u7801",width:160})))})},Gt=(Je,Sn="")=>{const{shixunsDetail:{detail:_n}}=(0,se.getDvaApp)()._store.getState();if((_n==null?void 0:_n.public)===2||(_n==null?void 0:_n.public)===1||(_n==null?void 0:_n.shixun_status)===3){let Cn="";return(_n==null?void 0:_n.public)===2&&(Cn="\u5DF2\u516C\u5F00"),(_n==null?void 0:_n.public)===1&&(Cn="\u5F85\u5BA1\u6838"),(_n==null?void 0:_n.shixun_status)===3&&(Cn="\u5DF2\u5173\u95ED"),je.default.info({centered:!0,icon:vt.createElement(dt.Z,{style:{color:"#faad14"}}),width:460,title:"\u63D0\u793A",content:vt.createElement("div",{className:"tc",style:{marginLeft:-38}},vt.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",paddingLeft:38,margin:"12px 0"}},vt.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u72B6\u6001\u4E3A",Cn,"\uFF0C",Sn,"\u3002"),vt.createElement("p",null,"\u5982\u6709\u9700\u8981\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u8FDB\u884C\u6280\u672F\u652F\u6301\u3002")),vt.createElement("img",{style:{border:"4px solid #0152d9",borderRadius:"4px"},src:Le,alt:"\u4E8C\u7EF4\u7801",width:160})),okText:"\u6211\u77E5\u9053\u4E86"}),!0}return(_n==null?void 0:_n.shixun_status)===2?(je.default.confirm({centered:!0,icon:vt.createElement(dt.Z,null),title:"\u63D0\u793A",content:vt.createElement("div",null,vt.createElement("span",null,"\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5DF2\u53D1\u5E03\uFF0C",Sn,"\u3002"),vt.createElement("br",null),vt.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:()=>{je.default.confirm({width:440,centered:!0,icon:vt.createElement(dt.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:()=>wt(void 0,null,function*(){(yield Je({type:"shixunsDetail/cancelRelease",payload:{id:_n==null?void 0:_n.identifier}})).status!==401&&(Je({type:"shixunsDetail/getShixunsDetail",payload:{id:_n==null?void 0:_n.identifier}}),Je({type:"practiceSetting/getCommonData",payload:{id:_n==null?void 0:_n.identifier}}))})})}}),!0):!1}},50371:function(Hn,xr){"use strict";function he(){const se=Object.assign({},arguments.length<=0?void 0:arguments[0]);for(let je=1;je{const Dt=Bt[Rt];Dt!==void 0&&(se[Rt]=Dt)})}return se}xr.Z=he},77578:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return se}});const se=je=>je?typeof je=="function"?je():je:null},88522:function(Hn,xr,he){"use strict";var se=he(92310),je=he.n(se),Bt=he(11592),Rt=he(2738),Dt=he(59301),dt=he(53487),Le=he(92343),Xe=he(36355),_e=he(57809);const{Option:It}=_e.default;function vt(We){return We&&We.type&&(We.type.isSelectOption||We.type.isSelectOptGroup)}const wt=(We,pt)=>{const{prefixCls:mt,className:Jt,popupClassName:Qt,dropdownClassName:$t,children:Ft,dataSource:Gt}=We,Je=(0,Bt.Z)(Ft);let Sn;Je.length===1&&(0,Le.l$)(Je[0])&&!vt(Je[0])&&([Sn]=Je);const _n=Sn?()=>Sn:void 0;let Cn;Je.length&&vt(Je[0])?Cn=Ft:Cn=Gt?Gt.map(et=>{if((0,Le.l$)(et))return et;switch(typeof et){case"string":return Dt.createElement(It,{key:et,value:et},et);case"object":{const{value:tn}=et;return Dt.createElement(It,{key:tn,value:tn},et.text)}default:return}}):[];const{getPrefixCls:Vt}=Dt.useContext(Xe.E_),pn=Vt("select",mt);return Dt.createElement(_e.default,Object.assign({ref:pt,suffixIcon:null},(0,Rt.Z)(We,["dataSource","dropdownClassName"]),{prefixCls:pn,popupClassName:Qt||$t,className:je()(`${pn}-auto-complete`,Jt),mode:_e.default.SECRET_COMBOBOX_MODE_DO_NOT_USE},{getInputElement:_n}),Cn)},Ot=Dt.forwardRef(wt),Ye=(0,dt.Z)(Ot);Ot.Option=It,Ot._InternalPanelDoNotUseOrYouWillBeFired=Ye,xr.Z=Ot},19842:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return ua}});var se=he(77654),je=he(59301),Bt=he(33853),Rt=he(58617),Dt=he(38819),dt=he(92310),Le=he.n(dt),Xe=he(60499),_e=he(72190),It=he(42244),vt=he(77861),wt=he(17115),Ot=he(90782),Ye=he(6089),We=he(18929),pt=je.createContext(null),mt=pt,Jt=he(43749),Qt=he(18642),$t=he(85899),Ft="__rc_cascader_search_mark__",Gt=function(lr,Hr,hr){var Vr=hr.label;return Hr.some(function(Rr){return String(Rr[Vr]).toLowerCase().includes(lr.toLowerCase())})},Je=function(lr,Hr,hr,Vr){return Hr.map(function(Rr){return Rr[Vr.label]}).join(" / ")},Sn=function(un,lr,Hr,hr,Vr,Rr){var qr=Vr.filter,Zi=qr===void 0?Gt:qr,Wn=Vr.render,st=Wn===void 0?Je:Wn,Nt=Vr.limit,Gn=Nt===void 0?50:Nt,Sr=Vr.sort;return je.useMemo(function(){var yr=[];if(!un)return[];function ci(ai,Ur){var zr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;ai.forEach(function(ta){if(!(!Sr&&Gn!==!1&&Gn>0&&yr.length>=Gn)){var qa=[].concat((0,se.Z)(Ur),[ta]),pi=ta[Hr.children],Mr=zr||ta.disabled;if((!pi||pi.length===0||Rr)&&Zi(un,qa,{label:Hr.label})){var sr;yr.push((0,$t.Z)((0,$t.Z)({},ta),{},(sr={disabled:Mr},(0,Qt.Z)(sr,Hr.label,st(un,qa,hr,Hr)),(0,Qt.Z)(sr,Ft,qa),(0,Qt.Z)(sr,Hr.children,void 0),sr)))}pi&&ci(ta[Hr.children],qa,Mr)}})}return ci(lr,[]),Sr&&yr.sort(function(ai,Ur){return Sr(ai[Ft],Ur[Ft],un,Hr)}),Gn!==!1&&Gn>0?yr.slice(0,Gn):yr},[un,lr,Hr,hr,st,Rr,Zi,Sr,Gn])},_n="__RC_CASCADER_SPLIT__",Cn="SHOW_PARENT",Vt="SHOW_CHILD";function pn(un){return un.join(_n)}function et(un){return un.map(pn)}function tn(un){return un.split(_n)}function Ct(un){var lr=un||{},Hr=lr.label,hr=lr.value,Vr=lr.children,Rr=hr||"value";return{label:Hr||"label",value:Rr,key:Rr,children:Vr||"children"}}function Ln(un,lr){var Hr,hr;return(Hr=un.isLeaf)!==null&&Hr!==void 0?Hr:!((hr=un[lr.children])!==null&&hr!==void 0&&hr.length)}function Mn(un){var lr=un.parentElement;if(lr){var Hr=un.offsetTop-lr.offsetTop;Hr-lr.scrollTop<0?lr.scrollTo({top:Hr}):Hr+un.offsetHeight-lr.scrollTop>lr.offsetHeight&&lr.scrollTo({top:Hr+un.offsetHeight-lr.offsetHeight})}}function bn(un,lr){return un.map(function(Hr){var hr;return(hr=Hr[Ft])===null||hr===void 0?void 0:hr.map(function(Vr){return Vr[lr.value]})})}function Dr(un,lr,Hr){var hr=new Set(un),Vr=lr();return un.filter(function(Rr){var qr=Vr[Rr],Zi=qr?qr.parent:null,Wn=qr?qr.children:null;return qr&&qr.node.disabled?!0:Hr===Vt?!(Wn&&Wn.some(function(st){return st.key&&hr.has(st.key)})):!(Zi&&!Zi.node.disabled&&hr.has(Zi.key))})}function oi(un,lr,Hr){for(var hr=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Vr=lr,Rr=[],qr=function(){var st,Nt,Gn,Sr=un[Zi],yr=(st=Vr)===null||st===void 0?void 0:st.findIndex(function(ai){var Ur=ai[Hr.value];return hr?String(Ur)===String(Sr):Ur===Sr}),ci=yr!==-1?(Nt=Vr)===null||Nt===void 0?void 0:Nt[yr]:null;Rr.push({value:(Gn=ci==null?void 0:ci[Hr.value])!==null&&Gn!==void 0?Gn:Sr,index:yr,option:ci}),Vr=ci==null?void 0:ci[Hr.children]},Zi=0;Zi1){var xn=ci.slice(0,-1);ta(xn)}else st(!1)},Mr=function(){var xn,er=((xn=Ur[ai])===null||xn===void 0?void 0:xn[Hr.children])||[],Er=er.find(function(ti){return!ti.disabled});if(Er){var Zr=[].concat((0,se.Z)(ci),[Er[Hr.value]]);ta(Zr)}};je.useImperativeHandle(un,function(){return{onKeyDown:function(xn){var er=xn.which;switch(er){case qn.Z.UP:case qn.Z.DOWN:{var Er=0;er===qn.Z.UP?Er=-1:er===qn.Z.DOWN&&(Er=1),Er!==0&&qa(Er);break}case qn.Z.LEFT:{if(Wn)break;Gn?Mr():pi();break}case qn.Z.RIGHT:{if(Wn)break;Gn?pi():Mr();break}case qn.Z.BACKSPACE:{Wn||pi();break}case qn.Z.ENTER:{if(ci.length){var Zr=Ur[ai],ti=(Zr==null?void 0:Zr[Ft])||[];ti.length?Rr(ti.map(function(Nr){return Nr[Hr.value]}),ti[ti.length-1]):Rr(ci,Ur[ai])}break}case qn.Z.ESC:st(!1),Nt&&xn.stopPropagation()}},onKeyUp:function(){}}})},qe=je.forwardRef(function(un,lr){var Hr,hr,Vr,Rr,qr=(0,vt.lk)(),Zi=qr.prefixCls,Wn=qr.multiple,st=qr.searchValue,Nt=qr.toggleOpen,Gn=qr.notFoundContent,Sr=qr.direction,yr=qr.open,ci=je.useRef(),ai=Sr==="rtl",Ur=je.useContext(mt),zr=Ur.options,ta=Ur.values,qa=Ur.halfValues,pi=Ur.fieldNames,Mr=Ur.changeOnSelect,sr=Ur.onSelect,xn=Ur.searchOptions,er=Ur.dropdownPrefixCls,Er=Ur.loadData,Zr=Ur.expandTrigger,ti=er||Zi,Nr=je.useState([]),Bi=(0,_e.Z)(Nr,2),Zn=Bi[0],Di=Bi[1],da=function(Ho){if(!(!Er||st)){var ll=oi(Ho,zr,pi),el=ll.map(function(za){var ls=za.option;return ls}),Rs=el[el.length-1];if(Rs&&!Ln(Rs,pi)){var ui=pn(Ho);Di(function(za){return[].concat((0,se.Z)(za),[ui])}),Er(el)}}};je.useEffect(function(){Zn.length&&Zn.forEach(function(Bs){var Ho=tn(Bs),ll=oi(Ho,zr,pi,!0).map(function(Rs){var ui=Rs.option;return ui}),el=ll[ll.length-1];(!el||el[pi.children]||Ln(el,pi))&&Di(function(Rs){return Rs.filter(function(ui){return ui!==Bs})})})},[zr,Zn,pi]);var ha=je.useMemo(function(){return new Set(et(ta))},[ta]),na=je.useMemo(function(){return new Set(et(qa))},[qa]),Qa=Jn(),Ao=(0,_e.Z)(Qa,2),Da=Ao[0],Ma=Ao[1],es=function(Ho){Ma(Ho),da(Ho)},Fo=function(Ho){var ll=Ho.disabled,el=Ln(Ho,pi);return!ll&&(el||Mr||Wn)},Ls=function(Ho,ll){var el=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;sr(Ho),!Wn&&(ll||Mr&&(Zr==="hover"||el))&&Nt(!1)},_a=je.useMemo(function(){return st?xn:zr},[st,xn,zr]),$s=je.useMemo(function(){for(var Bs=[{options:_a}],Ho=_a,ll=bn(Ho,pi),el=function(){var ls=Da[Rs],vs=Ho.find(function(Ts,ul){return(ll[ul]?pn(ll[ul]):Ts[pi.value])===ls}),Ms=vs==null?void 0:vs[pi.children];if(!(Ms!=null&&Ms.length))return"break";Ho=Ms,Bs.push({options:Ms})},Rs=0;Rs":Zn,da=un.loadingIcon,ha=un.children,na=un.dropdownMatchSelectWidth,Qa=na===void 0?!1:na,Ao=un.showCheckedStrategy,Da=Ao===void 0?Cn:Ao,Ma=(0,It.Z)(un,we),es=(0,wt.ZP)(Hr),Fo=!!Gn,Ls=(0,We.Z)(qr,{value:Zi,postState:wn}),_a=(0,_e.Z)(Ls,2),$s=_a[0],sa=_a[1],Os=je.useMemo(function(){return Ct(Rr)},[JSON.stringify(Rr)]),Us=je.useMemo(function(){return ta||[]},[ta]),Ns=Rn(Us,Os),xs=je.useCallback(function(no){var yn=Ns();return no.map(function(ps){var al=yn[ps].nodes;return al.map(function(Vs){return Vs[Os.value]})})},[Ns,Os]),Al=(0,We.Z)("",{value:ci,postState:function(yn){return yn||""}}),Bs=(0,_e.Z)(Al,2),Ho=Bs[0],ll=Bs[1],el=function(yn,ps){ll(yn),ps.source!=="blur"&&ai&&ai(yn)},Rs=In(Ur),ui=(0,_e.Z)(Rs,2),za=ui[0],ls=ui[1],vs=Sn(Ho,Us,Os,qa||Vr,ls,Wn),Ms=fi(Us,Os),Ts=je.useMemo(function(){var no=Ms($s),yn=(0,_e.Z)(no,2),ps=yn[0],al=yn[1];if(!Fo||!$s.length)return[ps,[],al];var Vs=et(ps),$l=Ns(),eu=(0,Ot.S)(Vs,!0,$l),vu=eu.checkedKeys,ku=eu.halfCheckedKeys;return[xs(vu),xs(ku),al]},[Fo,$s,Ns,xs,Ms]),ul=(0,_e.Z)(Ts,3),Na=ul[0],$a=ul[1],gl=ul[2],zs=je.useMemo(function(){var no=et(Na),yn=Dr(no,Ns,Da);return[].concat((0,se.Z)(gl),(0,se.Z)(xs(yn)))},[Na,Ns,xs,gl,Da]),Xu=yt(zs,Us,Os,Fo,Nt),Su=(0,Ye.Z)(function(no){if(sa(no),st){var yn=wn(no),ps=yn.map(function($l){return oi($l,Us,Os).map(function(eu){return eu.option})}),al=Fo?yn:yn[0],Vs=Fo?ps:ps[0];st(al,Vs)}}),cc=(0,Ye.Z)(function(no){if((!Fo||yr)&&ll(""),!Fo)Su(no);else{var yn=pn(no),ps=et(Na),al=et($a),Vs=ps.includes(yn),$l=gl.some(function(us){return pn(us)===yn}),eu=Na,vu=gl;if($l&&!Vs)vu=gl.filter(function(us){return pn(us)!==yn});else{var ku=Vs?ps.filter(function(us){return us!==yn}):[].concat((0,se.Z)(ps),[yn]),Lu=Ns(),Cc;if(Vs){var fo=(0,Ot.S)(ku,{checked:!1,halfCheckedKeys:al},Lu);Cc=fo.checkedKeys}else{var Ql=(0,Ot.S)(ku,!0,Lu);Cc=Ql.checkedKeys}var oc=Dr(Cc,Ns,Da);eu=xs(oc)}Su([].concat((0,se.Z)(vu),(0,se.Z)(eu)))}}),Ru=function(yn,ps){if(ps.type==="clear"){Su([]);return}var al=ps.values[0],Vs=al.valueCells;cc(Vs)},hu=sr!==void 0?sr:Mr,zu=er||xn,Mu=ti||Zr,vc=function(yn){Nr==null||Nr(yn),Bi==null||Bi(yn)},yu=je.useMemo(function(){return{options:Us,fieldNames:Os,values:Na,halfValues:$a,changeOnSelect:Wn,onSelect:cc,checkable:Gn,searchOptions:vs,dropdownPrefixCls:qa,loadData:pi,expandTrigger:zr,expandIcon:Di,loadingIcon:da,dropdownMenuColumnStyle:Er}},[Us,Os,Na,$a,Wn,cc,Gn,vs,qa,pi,zr,Di,da,Er]),to=!(Ho?vs:Us).length,uo=Ho&&ls.matchInputWidth||to?{}:{minWidth:"auto"};return je.createElement(mt.Provider,{value:yu},je.createElement(vt.Ac,(0,Xe.Z)({},Ma,{ref:lr,id:es,prefixCls:Vr,autoClearSearchValue:yr,dropdownMatchSelectWidth:Qa,dropdownStyle:uo,displayValues:Xu,onDisplayValuesChange:Ru,mode:Fo?"multiple":void 0,searchValue:Ho,onSearch:el,showSearch:za,OptionList:Ie,emptyOptions:to,open:hu,dropdownClassName:zu,placement:Mu,onDropdownVisibleChange:vc,getRawInputElement:function(){return ha}})))});Lt.SHOW_PARENT=Cn,Lt.SHOW_CHILD=Vt;var Zt=Lt,or=Zt,Xn=he(2738),dn=he(62892),kr=he(53487),vi=he(19080),Un=he(36355),Pr=he(93891),Ii=he(1684),on=he(19716),qt=he(32441),gn=he(14154),gr=he(58582),mr=he(84443),xi=he(66339),Ui=he(33234),Ni=he(98447),Fa=he(17313),_o=he(74207),co=he(83116);const kn=un=>{const{prefixCls:lr,componentCls:Hr,antCls:hr}=un,Vr=`${Hr}-menu-item`,Rr=` - &${Vr}-expand ${Vr}-expand-icon, - ${Vr}-loading-icon - `;return[{[Hr]:{width:un.controlWidth}},{[`${Hr}-dropdown`]:[(0,Ni.C2)(`${lr}-checkbox`,un),{[`&${hr}-select-dropdown`]:{padding:0}},{[Hr]:{"&-checkbox":{top:0,marginInlineEnd:un.paddingXS},"&-menus":{display:"flex",flexWrap:"nowrap",alignItems:"flex-start",[`&${Hr}-menu-empty`]:{[`${Hr}-menu`]:{width:"100%",height:"auto",[Vr]:{color:un.colorTextDisabled}}}},"&-menu":{flexGrow:1,minWidth:un.controlItemWidth,height:un.dropdownHeight,margin:0,padding:un.menuPadding,overflow:"auto",verticalAlign:"top",listStyle:"none","-ms-overflow-style":"-ms-autohiding-scrollbar","&:not(:last-child)":{borderInlineEnd:`${un.lineWidth}px ${un.lineType} ${un.colorSplit}`},"&-item":Object.assign(Object.assign({},Fa.vS),{display:"flex",flexWrap:"nowrap",alignItems:"center",padding:un.optionPadding,lineHeight:un.lineHeight,cursor:"pointer",transition:`all ${un.motionDurationMid}`,borderRadius:un.borderRadiusSM,"&:hover":{background:un.controlItemBgHover},"&-disabled":{color:un.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"},[Rr]:{color:un.colorTextDisabled}},[`&-active:not(${Vr}-disabled)`]:{"&, &:hover":{fontWeight:un.optionSelectedFontWeight,backgroundColor:un.optionSelectedBg}},"&-content":{flex:"auto"},[Rr]:{marginInlineStart:un.paddingXXS,color:un.colorTextDescription,fontSize:un.fontSizeIcon},"&-keyword":{color:un.colorHighlight}})}}}]},{[`${Hr}-dropdown-rtl`]:{direction:"rtl"}},(0,_o.c)(un)]};var Yi=(0,co.Z)("Cascader",un=>[kn(un)],un=>{const lr=Math.round((un.controlHeight-un.fontSize*un.lineHeight)/2);return{controlWidth:184,controlItemWidth:111,dropdownHeight:180,optionSelectedBg:un.controlItemBgActive,optionSelectedFontWeight:un.fontWeightStrong,optionPadding:`${lr}px ${un.paddingSM}px`,menuPadding:un.paddingXXS}}),ys=function(un,lr){var Hr={};for(var hr in un)Object.prototype.hasOwnProperty.call(un,hr)&&lr.indexOf(hr)<0&&(Hr[hr]=un[hr]);if(un!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Vr=0,hr=Object.getOwnPropertySymbols(un);VrWn===0?[Zi]:[].concat((0,se.Z)(qr),[lr,Zi]),[]),Vr=[];let Rr=0;return hr.forEach((qr,Zi)=>{const Wn=Rr+qr.length;let st=un.slice(Rr,Wn);Rr=Wn,Zi%2===1&&(st=je.createElement("span",{className:`${Hr}-menu-item-keyword`,key:`separator-${Zi}`},st)),Vr.push(st)}),Vr}const Qr=(un,lr,Hr,hr)=>{const Vr=[],Rr=un.toLowerCase();return lr.forEach((qr,Zi)=>{Zi!==0&&Vr.push(" / ");let Wn=qr[hr.label];const st=typeof Wn;(st==="string"||st==="number")&&(Wn=lo(String(Wn),Rr,Hr)),Vr.push(Wn)}),Vr},ir=je.forwardRef((un,lr)=>{const{prefixCls:Hr,size:hr,disabled:Vr,className:Rr,rootClassName:qr,multiple:Zi,bordered:Wn=!0,transitionName:st,choiceTransitionName:Nt="",popupClassName:Gn,dropdownClassName:Sr,expandIcon:yr,placement:ci,showSearch:ai,allowClear:Ur=!0,notFoundContent:zr,direction:ta,getPopupContainer:qa,status:pi,showArrow:Mr,builtinPlacements:sr,style:xn}=un,er=ys(un,["prefixCls","size","disabled","className","rootClassName","multiple","bordered","transitionName","choiceTransitionName","popupClassName","dropdownClassName","expandIcon","placement","showSearch","allowClear","notFoundContent","direction","getPopupContainer","status","showArrow","builtinPlacements","style"]),Er=(0,Xn.Z)(er,["suffixIcon"]),{getPopupContainer:Zr,getPrefixCls:ti,renderEmpty:Nr,direction:Bi,popupOverflow:Zn,cascader:Di}=je.useContext(Un.E_),da=ta||Bi,ha=da==="rtl",{status:na,hasFeedback:Qa,isFormItemInput:Ao,feedbackIcon:Da}=je.useContext(qt.aM),Ma=(0,vi.F)(na,pi),es=zr||(Nr==null?void 0:Nr("Cascader"))||je.createElement(Pr.Z,{componentName:"Cascader"}),Fo=ti(),Ls=ti("select",Hr),_a=ti("cascader",Hr),[$s,sa]=(0,gn.Z)(Ls),[Os]=Yi(_a),{compactSize:Us,compactItemClassnames:Ns}=(0,Ui.ri)(Ls,ta),xs=Le()(Gn||Sr,`${_a}-dropdown`,{[`${_a}-dropdown-rtl`]:da==="rtl"},qr,sa),Al=je.useMemo(()=>{if(!ai)return ai;let gl={render:Qr};return typeof ai=="object"&&(gl=Object.assign(Object.assign({},gl),ai)),gl},[ai]),Bs=(0,on.Z)(gl=>{var zs;return(zs=hr!=null?hr:Us)!==null&&zs!==void 0?zs:gl}),Ho=je.useContext(Ii.Z),ll=Vr!=null?Vr:Ho;let el=yr;yr||(el=ha?je.createElement(Bt.Z,null):je.createElement(Dt.Z,null));const Rs=je.createElement("span",{className:`${Ls}-menu-item-loading-icon`},je.createElement(Rt.Z,{spin:!0})),ui=je.useMemo(()=>Zi?je.createElement("span",{className:`${_a}-checkbox-inner`}):!1,[Zi]),za=(0,mr.Z)(un.suffixIcon,Mr),{suffixIcon:ls,removeIcon:vs,clearIcon:Ms}=(0,xi.Z)(Object.assign(Object.assign({},un),{hasFeedback:Qa,feedbackIcon:Da,showSuffixIcon:za,multiple:Zi,prefixCls:Ls,componentName:"Cascader"})),Ts=je.useMemo(()=>ci!==void 0?ci:ha?"bottomRight":"bottomLeft",[ci,ha]),ul=(0,gr.Z)(sr,Zn),Na=Ur===!0?{clearIcon:Ms}:Ur,$a=je.createElement(or,Object.assign({prefixCls:Ls,className:Le()(!Hr&&_a,{[`${Ls}-lg`]:Bs==="large",[`${Ls}-sm`]:Bs==="small",[`${Ls}-rtl`]:ha,[`${Ls}-borderless`]:!Wn,[`${Ls}-in-form-item`]:Ao},(0,vi.Z)(Ls,Ma,Qa),Ns,Di==null?void 0:Di.className,Rr,qr,sa),disabled:ll,style:Object.assign(Object.assign({},Di==null?void 0:Di.style),xn)},Er,{builtinPlacements:ul,direction:da,placement:Ts,notFoundContent:es,allowClear:Na,showSearch:Al,expandIcon:el,suffixIcon:ls,removeIcon:vs,loadingIcon:Rs,checkable:ui,dropdownClassName:xs,dropdownPrefixCls:Hr||_a,choiceTransitionName:(0,dn.m)(Fo,"",Nt),transitionName:(0,dn.m)(Fo,"slide-up",st),getPopupContainer:qa||Zr,ref:lr}));return Os($s($a))}),ri=(0,kr.Z)(ir);ir.SHOW_PARENT=eo,ir.SHOW_CHILD=$o,ir._InternalPanelDoNotUseOrYouWillBeFired=ri;var ua=ir},24905:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return Sn}});var se=he(92310),je=he.n(se),Bt=he(5630),Rt=he(59301),Dt=he(36355),dt=he(1684),Le=he(32441),_e=Rt.createContext(null),It=he(98447),vt=he(14088),wt=he(4572),Ot=function(_n,Cn){var Vt={};for(var pn in _n)Object.prototype.hasOwnProperty.call(_n,pn)&&Cn.indexOf(pn)<0&&(Vt[pn]=_n[pn]);if(_n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var et=0,pn=Object.getOwnPropertySymbols(_n);et{var Vt;const{prefixCls:pn,className:et,rootClassName:tn,children:Ct,indeterminate:Ln=!1,style:Mn,onMouseEnter:bn,onMouseLeave:Dr,skipGroup:oi=!1,disabled:yt}=_n,tt=Ot(_n,["prefixCls","className","rootClassName","children","indeterminate","style","onMouseEnter","onMouseLeave","skipGroup","disabled"]),{getPrefixCls:Rn,direction:fi,checkbox:li}=Rt.useContext(Dt.E_),In=Rt.useContext(_e),{isFormItemInput:an}=Rt.useContext(Le.aM),Xr=Rt.useContext(dt.Z),Or=(Vt=(In==null?void 0:In.disabled)||yt)!==null&&Vt!==void 0?Vt:Xr,zn=Rt.useRef(tt.value);Rt.useEffect(()=>{In==null||In.registerValue(tt.value)},[]),Rt.useEffect(()=>{if(!oi)return tt.value!==zn.current&&(In==null||In.cancelValue(zn.current),In==null||In.registerValue(tt.value),zn.current=tt.value),()=>In==null?void 0:In.cancelValue(tt.value)},[tt.value]);const Qn=Rn("checkbox",pn),[Jn,qn]=(0,It.ZP)(Qn),On=Object.assign({},tt);In&&!oi&&(On.onChange=function(){tt.onChange&&tt.onChange.apply(tt,arguments),In.toggleOption&&In.toggleOption({label:Ct,value:tt.value})},On.name=In.name,On.checked=In.value.includes(tt.value));const qe=je()(`${Qn}-wrapper`,{[`${Qn}-rtl`]:fi==="rtl",[`${Qn}-wrapper-checked`]:On.checked,[`${Qn}-wrapper-disabled`]:Or,[`${Qn}-wrapper-in-form-item`]:an},li==null?void 0:li.className,et,tn,qn),Ie=je()({[`${Qn}-indeterminate`]:Ln},wt.A,qn),Ce=Ln?"mixed":void 0;return Jn(Rt.createElement(vt.Z,{component:"Checkbox",disabled:Or},Rt.createElement("label",{className:qe,style:Object.assign(Object.assign({},li==null?void 0:li.style),Mn),onMouseEnter:bn,onMouseLeave:Dr},Rt.createElement(Bt.Z,Object.assign({"aria-checked":Ce},On,{prefixCls:Qn,className:Ie,disabled:Or,ref:Cn})),Ct!==void 0&&Rt.createElement("span",null,Ct))))};var pt=Rt.forwardRef(Ye),mt=he(77654),Jt=he(2738),Qt=function(_n,Cn){var Vt={};for(var pn in _n)Object.prototype.hasOwnProperty.call(_n,pn)&&Cn.indexOf(pn)<0&&(Vt[pn]=_n[pn]);if(_n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var et=0,pn=Object.getOwnPropertySymbols(_n);et{const{defaultValue:Vt,children:pn,options:et=[],prefixCls:tn,className:Ct,rootClassName:Ln,style:Mn,onChange:bn}=_n,Dr=Qt(_n,["defaultValue","children","options","prefixCls","className","rootClassName","style","onChange"]),{getPrefixCls:oi,direction:yt}=Rt.useContext(Dt.E_),[tt,Rn]=Rt.useState(Dr.value||Vt||[]),[fi,li]=Rt.useState([]);Rt.useEffect(()=>{"value"in Dr&&Rn(Dr.value||[])},[Dr.value]);const In=Rt.useMemo(()=>et.map(He=>typeof He=="string"||typeof He=="number"?{label:He,value:He}:He),[et]),an=He=>{li(it=>it.filter(we=>we!==He))},Xr=He=>{li(it=>[].concat((0,mt.Z)(it),[He]))},Or=He=>{const it=tt.indexOf(He.value),we=(0,mt.Z)(tt);it===-1?we.push(He.value):we.splice(it,1),"value"in Dr||Rn(we),bn==null||bn(we.filter(Xt=>fi.includes(Xt)).sort((Xt,wn)=>{const Lt=In.findIndex(or=>or.value===Xt),Zt=In.findIndex(or=>or.value===wn);return Lt-Zt}))},zn=oi("checkbox",tn),Qn=`${zn}-group`,[Jn,qn]=(0,It.ZP)(zn),On=(0,Jt.Z)(Dr,["value","disabled"]),qe=et.length?In.map(He=>Rt.createElement(pt,{prefixCls:zn,key:He.value.toString(),disabled:"disabled"in He?He.disabled:Dr.disabled,value:He.value,checked:tt.includes(He.value),onChange:He.onChange,className:`${Qn}-item`,style:He.style,title:He.title},He.label)):pn,Ie={toggleOption:Or,value:tt,disabled:Dr.disabled,name:Dr.name,registerValue:Xr,cancelValue:an},Ce=je()(Qn,{[`${Qn}-rtl`]:yt==="rtl"},Ct,Ln,qn);return Jn(Rt.createElement("div",Object.assign({className:Ce,style:Mn},On,{ref:Cn}),Rt.createElement(_e.Provider,{value:Ie},qe)))},Ft=Rt.forwardRef($t);var Gt=Rt.memo(Ft);const Je=pt;Je.Group=Gt,Je.__ANT_CHECKBOX=!0;var Sn=Je},98447:function(Hn,xr,he){"use strict";he.d(xr,{C2:function(){return Dt}});var se=he(17313),je=he(37613),Bt=he(83116);const Rt=dt=>{const{checkboxCls:Le}=dt,Xe=`${Le}-wrapper`;return[{[`${Le}-group`]:Object.assign(Object.assign({},(0,se.Wf)(dt)),{display:"inline-flex",flexWrap:"wrap",columnGap:dt.marginXS,[`> ${dt.antCls}-row`]:{flex:1}}),[Xe]:Object.assign(Object.assign({},(0,se.Wf)(dt)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${Xe}`]:{marginInlineStart:0},[`&${Xe}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[Le]:Object.assign(Object.assign({},(0,se.Wf)(dt)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:dt.borderRadiusSM,alignSelf:"center",[`${Le}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${Le}-inner`]:Object.assign({},(0,se.oN)(dt))},[`${Le}-inner`]:{boxSizing:"border-box",position:"relative",top:0,insetInlineStart:0,display:"block",width:dt.checkboxSize,height:dt.checkboxSize,direction:"ltr",backgroundColor:dt.colorBgContainer,border:`${dt.lineWidth}px ${dt.lineType} ${dt.colorBorder}`,borderRadius:dt.borderRadiusSM,borderCollapse:"separate",transition:`all ${dt.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"21.5%",display:"table",width:dt.checkboxSize/14*5,height:dt.checkboxSize/14*8,border:`${dt.lineWidthBold}px solid ${dt.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${dt.motionDurationFast} ${dt.motionEaseInBack}, opacity ${dt.motionDurationFast}`}},"& + span":{paddingInlineStart:dt.paddingXS,paddingInlineEnd:dt.paddingXS}})},{[` - ${Xe}:not(${Xe}-disabled), - ${Le}:not(${Le}-disabled) - `]:{[`&:hover ${Le}-inner`]:{borderColor:dt.colorPrimary}},[`${Xe}:not(${Xe}-disabled)`]:{[`&:hover ${Le}-checked:not(${Le}-disabled) ${Le}-inner`]:{backgroundColor:dt.colorPrimaryHover,borderColor:"transparent"},[`&:hover ${Le}-checked:not(${Le}-disabled):after`]:{borderColor:dt.colorPrimaryHover}}},{[`${Le}-checked`]:{[`${Le}-inner`]:{backgroundColor:dt.colorPrimary,borderColor:dt.colorPrimary,"&:after":{opacity:1,transform:"rotate(45deg) scale(1) translate(-50%,-50%)",transition:`all ${dt.motionDurationMid} ${dt.motionEaseOutBack} ${dt.motionDurationFast}`}}},[` - ${Xe}-checked:not(${Xe}-disabled), - ${Le}-checked:not(${Le}-disabled) - `]:{[`&:hover ${Le}-inner`]:{backgroundColor:dt.colorPrimaryHover,borderColor:"transparent"}}},{[Le]:{"&-indeterminate":{[`${Le}-inner`]:{backgroundColor:dt.colorBgContainer,borderColor:dt.colorBorder,"&:after":{top:"50%",insetInlineStart:"50%",width:dt.fontSizeLG/2,height:dt.fontSizeLG/2,backgroundColor:dt.colorPrimary,border:0,transform:"translate(-50%, -50%) scale(1)",opacity:1,content:'""'}}}}},{[`${Xe}-disabled`]:{cursor:"not-allowed"},[`${Le}-disabled`]:{[`&, ${Le}-input`]:{cursor:"not-allowed",pointerEvents:"none"},[`${Le}-inner`]:{background:dt.colorBgContainerDisabled,borderColor:dt.colorBorder,"&:after":{borderColor:dt.colorTextDisabled}},"&:after":{display:"none"},"& + span":{color:dt.colorTextDisabled},[`&${Le}-indeterminate ${Le}-inner::after`]:{background:dt.colorTextDisabled}}}]};function Dt(dt,Le){const Xe=(0,je.TS)(Le,{checkboxCls:`.${dt}`,checkboxSize:Le.controlInteractiveSize});return[Rt(Xe)]}xr.ZP=(0,Bt.Z)("Checkbox",(dt,Le)=>{let{prefixCls:Xe}=Le;return[Dt(Xe,dt)]})},5083:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return ru}});var se=he(66649),je=he.n(se),Bt=he(48736),Rt=he(9007),Dt=he.n(Rt),dt=he(50991),Le=he.n(dt),Xe=he(9084),_e=he.n(Xe),It=he(58626),vt=he.n(It),wt=he(13477),Ot=he.n(wt),Ye=he(64796),We=he.n(Ye);je().extend(We()),je().extend(Ot()),je().extend(Dt()),je().extend(Le()),je().extend(_e()),je().extend(vt()),je().extend(function(Re,$e){var nt=$e.prototype,Yt=nt.format;nt.format=function(Br){var Cr=(Br||"").replace("Wo","wo");return Yt.bind(this)(Cr)}});var pt={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"},mt=function($e){var nt=pt[$e];return nt||$e.split("_")[0]},Jt=function(){(0,Bt.ET)(!1,"Not match any format. Please help to fire a issue about this.")},Qt={getNow:function(){return je()()},getFixedDate:function($e){return je()($e,["YYYY-M-DD","YYYY-MM-DD"])},getEndDate:function($e){return $e.endOf("month")},getWeekDay:function($e){var nt=$e.locale("en");return nt.weekday()+nt.localeData().firstDayOfWeek()},getYear:function($e){return $e.year()},getMonth:function($e){return $e.month()},getDate:function($e){return $e.date()},getHour:function($e){return $e.hour()},getMinute:function($e){return $e.minute()},getSecond:function($e){return $e.second()},addYear:function($e,nt){return $e.add(nt,"year")},addMonth:function($e,nt){return $e.add(nt,"month")},addDate:function($e,nt){return $e.add(nt,"day")},setYear:function($e,nt){return $e.year(nt)},setMonth:function($e,nt){return $e.month(nt)},setDate:function($e,nt){return $e.date(nt)},setHour:function($e,nt){return $e.hour(nt)},setMinute:function($e,nt){return $e.minute(nt)},setSecond:function($e,nt){return $e.second(nt)},isAfter:function($e,nt){return $e.isAfter(nt)},isValidate:function($e){return $e.isValid()},locale:{getWeekFirstDay:function($e){return je()().locale(mt($e)).localeData().firstDayOfWeek()},getWeekFirstDate:function($e,nt){return nt.locale(mt($e)).weekday(0)},getWeek:function($e,nt){return nt.locale(mt($e)).week()},getShortWeekDays:function($e){return je()().locale(mt($e)).localeData().weekdaysMin()},getShortMonths:function($e){return je()().locale(mt($e)).localeData().monthsShort()},format:function($e,nt,Yt){return nt.locale(mt($e)).format(Yt)},parse:function($e,nt,Yt){for(var nn=mt($e),Br=0;Br1&&(Cr=$e.addDate(Cr,-7)),Cr}function qt(Re,$e,nt){var Yt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;switch($e){case"year":return nt.addYear(Re,Yt*10);case"quarter":case"month":return nt.addYear(Re,Yt);default:return nt.addMonth(Re,Yt)}}function gn(Re,$e){var nt=$e.generateConfig,Yt=$e.locale,nn=$e.format;return typeof nn=="function"?nn(Re):nt.locale.format(Yt.locale,Re,nn)}function gr(Re,$e){var nt=$e.generateConfig,Yt=$e.locale,nn=$e.formatList;return!Re||typeof nn[0]=="function"?null:nt.locale.parse(Yt.locale,Re,nn)}function mr(Re){var $e=Re.cellDate,nt=Re.mode,Yt=Re.disabledDate,nn=Re.generateConfig;if(!Yt)return!1;var Br=function(Ba,jr,Ci){for(var ya=jr;ya<=Ci;){var ns=void 0;switch(Ba){case"date":{if(ns=nn.setDate($e,ya),!Yt(ns))return!1;break}case"month":{if(ns=nn.setMonth($e,ya),!mr({cellDate:ns,mode:"month",generateConfig:nn,disabledDate:Yt}))return!1;break}case"year":{if(ns=nn.setYear($e,ya),!mr({cellDate:ns,mode:"year",generateConfig:nn,disabledDate:Yt}))return!1;break}}ya+=1}return!0};switch(nt){case"date":case"week":return Yt($e);case"month":{var Cr=1,yi=nn.getDate(nn.getEndDate($e));return Br("date",Cr,yi)}case"quarter":{var gi=Math.floor(nn.getMonth($e)/3)*3,Hi=gi+2;return Br("month",gi,Hi)}case"year":return Br("month",0,11);case"decade":{var Xa=nn.getYear($e),Ji=Math.floor(Xa/it)*it,ea=Ji+it-1;return Br("year",Ji,ea)}}}function xi(Re,$e){var nt=$e.formatList,Yt=$e.generateConfig,nn=$e.locale;return(0,Ce.Z)(function(){if(!Re)return[[""],""];for(var Br="",Cr=[],yi=0;yi1&&arguments[1]!==void 0?arguments[1]:!1;if(cancelAnimationFrame(Hi.current),ya){gi(Ci);return}Hi.current=requestAnimationFrame(function(){gi(Ci)})}var Ji=xi(yi,{formatList:nt,generateConfig:Yt,locale:nn}),ea=(0,On.Z)(Ji,2),fa=ea[1];function Ba(Ci){Xa(Ci)}function jr(){var Ci=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;Xa(null,Ci)}return(0,Je.useEffect)(function(){jr(!0)},[Re]),(0,Je.useEffect)(function(){return function(){return cancelAnimationFrame(Hi.current)}},[]),[fa,Ba,jr]}var Ni=he(10228),Fa=he(16089),_o=he(77654),co=he(29194),kn=new Map;function Yi(Re,$e){var nt;function Yt(){(0,co.Z)(Re)?$e():nt=(0,Fa.Z)(function(){Yt()})}return Yt(),function(){Fa.Z.cancel(nt)}}function ys(Re,$e,nt){if(kn.get(Re)&&cancelAnimationFrame(kn.get(Re)),nt<=0){kn.set(Re,requestAnimationFrame(function(){Re.scrollTop=$e}));return}var Yt=$e-Re.scrollTop,nn=Yt/nt*10;kn.set(Re,requestAnimationFrame(function(){Re.scrollTop+=nn,Re.scrollTop!==$e&&ys(Re,$e,nt-10)}))}function $o(Re,$e){var nt=$e.onLeftRight,Yt=$e.onCtrlLeftRight,nn=$e.onUpDown,Br=$e.onPageUpDown,Cr=$e.onEnter,yi=Re.which,gi=Re.ctrlKey,Hi=Re.metaKey;switch(yi){case Ni.Z.LEFT:if(gi||Hi){if(Yt)return Yt(-1),!0}else if(nt)return nt(-1),!0;break;case Ni.Z.RIGHT:if(gi||Hi){if(Yt)return Yt(1),!0}else if(nt)return nt(1),!0;break;case Ni.Z.UP:if(nn)return nn(-1),!0;break;case Ni.Z.DOWN:if(nn)return nn(1),!0;break;case Ni.Z.PAGE_UP:if(Br)return Br(-1),!0;break;case Ni.Z.PAGE_DOWN:if(Br)return Br(1),!0;break;case Ni.Z.ENTER:if(Cr)return Cr(),!0;break}return!1}function eo(Re,$e,nt,Yt){var nn=Re;if(!nn)switch($e){case"time":nn=Yt?"hh:mm:ss a":"HH:mm:ss";break;case"week":nn="gggg-wo";break;case"month":nn="YYYY-MM";break;case"quarter":nn="YYYY-[Q]Q";break;case"year":nn="YYYY";break;default:nn=nt?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD"}return nn}function lo(Re,$e,nt){var Yt=Re==="time"?8:10,nn=typeof $e=="function"?$e(nt.getNow()).length:$e.length;return Math.max(Yt,nn)+2}var Qr=null,ir=new Set;function ri(Re){return!Qr&&typeof window!="undefined"&&window.addEventListener&&(Qr=function(nt){(0,_o.Z)(ir).forEach(function(Yt){Yt(nt)})},window.addEventListener("mousedown",Qr)),ir.add(Re),function(){ir.delete(Re),ir.size===0&&(window.removeEventListener("mousedown",Qr),Qr=null)}}function ua(Re){var $e=Re.target;if(Re.composed&&$e.shadowRoot){var nt;return((nt=Re.composedPath)===null||nt===void 0?void 0:nt.call(Re)[0])||$e}return $e}var un=function($e){return $e==="month"||$e==="date"?"year":$e},lr=function($e){return $e==="date"?"month":$e},Hr=function($e){return $e==="month"||$e==="date"?"quarter":$e},hr=function($e){return $e==="date"?"week":$e},Vr={year:un,month:lr,quarter:Hr,week:hr,time:null,date:null};function Rr(Re,$e){return Re.some(function(nt){return nt&&nt.contains($e)})}function qr(Re){var $e=Re.open,nt=Re.value,Yt=Re.isClickOutside,nn=Re.triggerOpen,Br=Re.forwardKeyDown,Cr=Re.onKeyDown,yi=Re.blurToCancel,gi=Re.onSubmit,Hi=Re.onCancel,Xa=Re.onFocus,Ji=Re.onBlur,ea=Re.changeOnBlur,fa=(0,Je.useState)(!1),Ba=(0,On.Z)(fa,2),jr=Ba[0],Ci=Ba[1],ya=(0,Je.useState)(!1),ns=(0,On.Z)(ya,2),wo=ns[0],rs=ns[1],os=(0,Je.useRef)(!1),Vo=(0,Je.useRef)(!1),Lo=(0,Je.useRef)(!1),Xl={onMouseDown:function(){Ci(!0),nn(!0)},onKeyDown:function(ni){var Fl=function(){Lo.current=!0};if(Cr(ni,Fl),!Lo.current){switch(ni.which){case Ni.Z.ENTER:{$e?gi()!==!1&&Ci(!0):nn(!0),ni.preventDefault();return}case Ni.Z.TAB:{jr&&$e&&!ni.shiftKey?(Ci(!1),ni.preventDefault()):!jr&&$e&&!Br(ni)&&ni.shiftKey&&(Ci(!0),ni.preventDefault());return}case Ni.Z.ESC:{Ci(!0),Hi();return}}!$e&&![Ni.Z.SHIFT].includes(ni.which)?nn(!0):jr||Br(ni)}},onFocus:function(ni){Ci(!0),rs(!0),Xa&&Xa(ni)},onBlur:function(ni){if(os.current||!Yt(document.activeElement)){os.current=!1;return}yi?setTimeout(function(){for(var Fl=document,iu=Fl.activeElement;iu&&iu.shadowRoot;)iu=iu.shadowRoot.activeElement;Yt(iu)&&Hi()},0):$e&&(nn(!1),Vo.current&&gi()),rs(!1),Ji==null||Ji(ni)}};return(0,Je.useEffect)(function(){Vo.current=!1},[$e]),(0,Je.useEffect)(function(){Vo.current=!0},[nt]),(0,Je.useEffect)(function(){return ri(function(Qs){var ni=ua(Qs),Fl=Yt(ni);$e&&(Fl?!ea&&(!wo||Fl)&&nn(!1):(os.current=!0,(0,Fa.Z)(function(){os.current=!1})))})}),[Xl,{focused:wo,typing:jr}]}function Zi(Re,$e){return Je.useMemo(function(){return Re||($e?((0,Bt.ZP)(!1,"`ranges` is deprecated. Please use `presets` instead."),Object.entries($e).map(function(nt){var Yt=(0,On.Z)(nt,2),nn=Yt[0],Br=Yt[1];return{label:nn,value:Br}})):[])},[Re,$e])}var Wn=he(34280);function st(Re){var $e=Re.valueTexts,nt=Re.onTextChange,Yt=Je.useState(""),nn=(0,On.Z)(Yt,2),Br=nn[0],Cr=nn[1],yi=Je.useRef([]);yi.current=$e;function gi(Xa){Cr(Xa),nt(Xa)}function Hi(){Cr(yi.current[0])}return(0,Wn.Z)(function(){$e.every(function(Xa){return Xa!==Br})&&Hi()},[$e.join("||")]),[Br,gi,Hi]}var Nt=Je.createContext({}),Gn=Nt,Sr=he(43749);function yr(Re){var $e=Re.cellRender,nt=Re.monthCellRender,Yt=Re.dateRender,nn=Je.useMemo(function(){if($e)return $e;if(!(!nt&&!Yt))return function(Br,Cr){var yi=Br;return Yt&&Cr.type==="date"?Yt(yi,Cr.today):nt&&Cr.type==="month"?nt(yi,Cr.locale):Cr.originNode}},[$e,nt,Yt]);return nn}function ci(Re,$e){for(var nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0",Yt=String(Re);Yt.length<$e;)Yt="".concat(nt).concat(Re);return Yt}var ai=function(){for(var $e=arguments.length,nt=new Array($e),Yt=0;Yt<$e;Yt++)nt[Yt]=arguments[Yt];return nt};function Ur(Re){return Re==null?[]:Array.isArray(Re)?Re:[Re]}function zr(Re,$e){return Re?Re[$e]:null}function ta(Re,$e,nt){var Yt=[zr(Re,0),zr(Re,1)];return Yt[nt]=typeof $e=="function"?$e(Yt[nt]):$e,!Yt[0]&&!Yt[1]?null:Yt}function qa(Re){return typeof Re=="function"?Re():Re}function pi(Re){var $e=Re.cellPrefixCls,nt=Re.generateConfig,Yt=Re.rangedValue,nn=Re.hoverRangedValue,Br=Re.isInView,Cr=Re.isSameCell,yi=Re.offsetCell,gi=Re.today,Hi=Re.value;function Xa(Ji){var ea,fa=yi(Ji,-1),Ba=yi(Ji,1),jr=zr(Yt,0),Ci=zr(Yt,1),ya=zr(nn,0),ns=zr(nn,1),wo=Ii(nt,ya,ns,Ji);function rs(ni){return Cr(jr,ni)}function os(ni){return Cr(Ci,ni)}var Vo=Cr(ya,Ji),Lo=Cr(ns,Ji),Xl=(wo||Lo)&&(!Br(fa)||os(fa)),Qs=(wo||Vo)&&(!Br(Ba)||rs(Ba));return ea={},(0,Jn.Z)(ea,"".concat($e,"-in-view"),Br(Ji)),(0,Jn.Z)(ea,"".concat($e,"-in-range"),Ii(nt,jr,Ci,Ji)),(0,Jn.Z)(ea,"".concat($e,"-range-start"),rs(Ji)),(0,Jn.Z)(ea,"".concat($e,"-range-end"),os(Ji)),(0,Jn.Z)(ea,"".concat($e,"-range-start-single"),rs(Ji)&&!Ci),(0,Jn.Z)(ea,"".concat($e,"-range-end-single"),os(Ji)&&!jr),(0,Jn.Z)(ea,"".concat($e,"-range-start-near-hover"),rs(Ji)&&(Cr(fa,ya)||Ii(nt,ya,ns,fa))),(0,Jn.Z)(ea,"".concat($e,"-range-end-near-hover"),os(Ji)&&(Cr(Ba,ns)||Ii(nt,ya,ns,Ba))),(0,Jn.Z)(ea,"".concat($e,"-range-hover"),wo),(0,Jn.Z)(ea,"".concat($e,"-range-hover-start"),Vo),(0,Jn.Z)(ea,"".concat($e,"-range-hover-end"),Lo),(0,Jn.Z)(ea,"".concat($e,"-range-hover-edge-start"),Xl),(0,Jn.Z)(ea,"".concat($e,"-range-hover-edge-end"),Qs),(0,Jn.Z)(ea,"".concat($e,"-range-hover-edge-start-near-range"),Xl&&Cr(fa,Ci)),(0,Jn.Z)(ea,"".concat($e,"-range-hover-edge-end-near-range"),Qs&&Cr(Ba,jr)),(0,Jn.Z)(ea,"".concat($e,"-today"),Cr(gi,Ji)),(0,Jn.Z)(ea,"".concat($e,"-selected"),Cr(Hi,Ji)),ea}return Xa}var Mr=Je.createContext({}),sr=Mr;function xn(Re,$e,nt,Yt,nn){var Br=Re.setHour($e,nt);return Br=Re.setMinute(Br,Yt),Br=Re.setSecond(Br,nn),Br}function er(Re,$e,nt){if(!nt)return $e;var Yt=$e;return Yt=Re.setHour(Yt,Re.getHour(nt)),Yt=Re.setMinute(Yt,Re.getMinute(nt)),Yt=Re.setSecond(Yt,Re.getSecond(nt)),Yt}function Er(Re,$e,nt,Yt,nn,Br){var Cr=Math.floor(Re/Yt)*Yt;if(Cr=1?nt|0:1,Cr=Re;Cr<=$e;Cr+=Br)nn.push({label:ci(Cr,2),value:Cr,disabled:(Yt||[]).includes(Cr)});return nn}function Os(Re){var $e=Re.generateConfig,nt=Re.prefixCls,Yt=Re.operationRef,nn=Re.activeColumnIndex,Br=Re.value,Cr=Re.showHour,yi=Re.showMinute,gi=Re.showSecond,Hi=Re.use12Hours,Xa=Re.hourStep,Ji=Xa===void 0?1:Xa,ea=Re.minuteStep,fa=ea===void 0?1:ea,Ba=Re.secondStep,jr=Ba===void 0?1:Ba,Ci=Re.disabledHours,ya=Re.disabledMinutes,ns=Re.disabledSeconds,wo=Re.disabledTime,rs=Re.hideDisabledOptions,os=Re.onSelect,Vo=Re.cellRender,Lo=Re.locale,Xl=[],Qs="".concat(nt,"-content"),ni="".concat(nt,"-time-panel"),Fl,iu=Br?$e.getHour(Br):-1,Ou=iu,bu=Br?$e.getMinute(Br):-1,Ll=Br?$e.getSecond(Br):-1,Js=$e.getNow(),wl=Je.useMemo(function(){if(wo){var Wr=wo(Js);return[Wr.disabledHours,Wr.disabledMinutes,Wr.disabledSeconds]}return[Ci,ya,ns]},[Ci,ya,ns,wo,Js]),Vl=(0,On.Z)(wl,3),Uu=Vl[0],xu=Vl[1],cu=Vl[2],pc=sa(0,23,Ji,Uu&&Uu()),Ac=(0,Ce.Z)(function(){return pc},pc,$s);Hi&&(Fl=Ou>=12,Ou%=12);var ot=Je.useMemo(function(){if(!Hi)return[!1,!1];var Wr=[!0,!0];return Ac.forEach(function(Jr){var Qi=Jr.disabled,Xi=Jr.value;Qi||(Xi>=12?Wr[1]=!1:Wr[0]=!1)}),Wr},[Hi,Ac]),ht=(0,On.Z)(ot,2),Wt=ht[0],cn=ht[1],Nn=Je.useMemo(function(){return Hi?Ac.filter(Fl?function(Wr){return Wr.value>=12}:function(Wr){return Wr.value<12}).map(function(Wr){var Jr=Wr.value%12,Qi=Jr===0?"12":ci(Jr,2);return(0,qn.Z)((0,qn.Z)({},Wr),{},{label:Qi,value:Jr})}):Ac},[Hi,Fl,Ac]),Bn=sa(0,59,fa,xu&&xu(iu)),dr=sa(0,59,jr,cu&&cu(iu,bu)),pr=Fo({value:Br,generateConfig:$e,disabledMinutes:xu,disabledSeconds:cu,minutes:Bn,seconds:dr,use12Hours:Hi});Yt.current={onUpDown:function(Jr){var Qi=Xl[nn];if(Qi)for(var Xi=Qi.units.findIndex(function(Ta){return Ta.value===Qi.value}),Wi=Qi.units.length,pa=1;pa2&&arguments[2]!==void 0?arguments[2]:!1;(Ya===Ci||Kr)&&(So(En),Xl&&Xl(En),pr&&pr(En,Et),Qs&&!Pr(gi,En,Ia)&&!(fa!=null&&fa(En))&&Qs(En))},ke=function(En){if(oc.includes(Ya)){var Et,Kr,Pi=Ya==="date";switch(En===Ni.Z.PAGE_UP||En===Ni.Z.PAGE_DOWN?Kr=Pi?gi.addMonth:gi.addYear:Kr=Pi?gi.addDate:gi.addMonth,En){case Ni.Z.LEFT:case Ni.Z.PAGE_UP:Et=Kr(ms,-1);break;case Ni.Z.RIGHT:case Ni.Z.PAGE_DOWN:Et=Kr(ms,1);break;case Ni.Z.UP:case Ni.Z.DOWN:Et=Kr(ms,Number("".concat(En===Ni.Z.UP?"-":"").concat(Pi?Xt:$a)));break}if(Et)return!(fa!=null&&fa(Et))}return!0},Ke=function(En){if(pa.current&&pa.current.onKeyDown){var Et=!0,Kr=En.which;if([Ni.Z.LEFT,Ni.Z.RIGHT,Ni.Z.UP,Ni.Z.DOWN,Ni.Z.PAGE_UP,Ni.Z.PAGE_DOWN,Ni.Z.ENTER].includes(Kr)&&(En.preventDefault(),Kr!==Ni.Z.ENTER&&ns===0&&(Et=ke(Kr))),Et)return pa.current.onKeyDown(En)}return(0,Bt.ZP)(!1,"Panel not correct handle keyDown event. Please help to fire issue about this."),!1},Ue=function(En){pa.current&&pa.current.onBlur&&pa.current.onBlur(En)};dr&&Qi!=="right"&&(dr.current={onKeyDown:Ke,onClose:function(){pa.current&&pa.current.onClose&&pa.current.onClose()}}),Je.useEffect(function(){Hi&&!la.current&&nl(Hi)},[Hi]),Je.useEffect(function(){la.current=!1},[]);var ut,at=yr({cellRender:ot,monthCellRender:Ac,dateRender:pc}),Pt=(0,qn.Z)((0,qn.Z)({},Re),{},{cellRender:at,operationRef:pa,prefixCls:nn,viewDate:ms,value:Ia,onViewDateChange:ho,sourceMode:$r,onPanelChange:Ee,disabledDate:fa});switch(delete Pt.onChange,delete Pt.onSelect,Ya){case"decade":ut=Je.createElement(Ts,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;case"year":ut=Je.createElement(Cc,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;case"month":ut=Je.createElement(cc,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;case"quarter":ut=Je.createElement(uo,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;case"week":ut=Je.createElement(yn,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;case"time":delete Pt.showTime,ut=Je.createElement(Al,(0,Gt.Z)({},Pt,(0,Sr.Z)(rs)==="object"?rs:null,{onSelect:function(En,Et){ho(En),Be(En,Et)}}));break;default:rs?ut=Je.createElement(ll,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}})):ut=Je.createElement(Da,(0,Gt.Z)({},Pt,{onSelect:function(En,Et){ho(En),Be(En,Et)}}))}var bt,Ht,ln=function(){var En=gi.getNow(),Et=Er(gi.getHour(En),gi.getMinute(En),gi.getSecond(En),Wt?wl:1,cn?Uu:1,Nn?cu:1),Kr=xn(gi,En,Et[0],Et[1],Et[2]);Be(Kr,"submit")};ar||(bt=fo(nn,Ya,Vo),rs&&Ya!=="date"?Ht=null:Ht=Ql({prefixCls:nn,components:bu,needConfirmButton:ht,okDisabled:!Ia||fa&&fa(Ia),locale:yi,showNow:wo,onNow:ht&&ln,onOk:function(){Ia&&(Be(Ia,"submit",!0),Ou&&Ou(Ia))}}));var rn;if(os&&Ya==="date"&&Ci==="date"&&!rs){var Vn=gi.getNow(),sn="".concat(nn,"-today-btn"),vn=fa&&fa(Vn);rn=Je.createElement("a",{className:In()(sn,vn&&"".concat(sn,"-disabled")),"aria-disabled":vn,onClick:function(){vn||Be(Vn,"mouse",!0)}},yi.today)}return Je.createElement(Gn.Provider,{value:(0,qn.Z)((0,qn.Z)({},Bn),{},{mode:Ya,hideHeader:"hideHeader"in Re?Lo:Bn.hideHeader,hidePrevBtn:Jr&&Qi==="right",hideNextBtn:Jr&&Qi==="left"})},Je.createElement("div",{tabIndex:ns,className:In()("".concat(nn,"-panel"),Br,($e={},(0,Jn.Z)($e,"".concat(nn,"-panel-has-range"),Xi&&Xi[0]&&Xi[1]),(0,Jn.Z)($e,"".concat(nn,"-panel-has-range-hover"),Wi&&Wi[0]&&Wi[1]),(0,Jn.Z)($e,"".concat(nn,"-panel-rtl"),Ll==="rtl"),$e)),style:Cr,onKeyDown:Ke,onBlur:Ue,onMouseDown:Fl},ut,bt||Ht||rn?Je.createElement("div",{className:"".concat(nn,"-footer")},bt,Ht,rn):null))}var Hs=us,Oo=he(35593),fn={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 Lr(Re){var $e,nt=Re.prefixCls,Yt=Re.popupElement,nn=Re.popupStyle,Br=Re.visible,Cr=Re.dropdownClassName,yi=Re.dropdownAlign,gi=Re.transitionName,Hi=Re.getPopupContainer,Xa=Re.children,Ji=Re.range,ea=Re.popupPlacement,fa=Re.direction,Ba="".concat(nt,"-dropdown"),jr=function(){return ea!==void 0?ea:fa==="rtl"?"bottomRight":"bottomLeft"};return Je.createElement(Oo.Z,{showAction:[],hideAction:[],popupPlacement:jr(),builtinPlacements:fn,prefixCls:Ba,popupTransitionName:gi,popup:Yt,popupAlign:yi,popupVisible:Br,popupClassName:In()(Cr,($e={},(0,Jn.Z)($e,"".concat(Ba,"-range"),Ji),(0,Jn.Z)($e,"".concat(Ba,"-rtl"),fa==="rtl"),$e)),popupStyle:nn,getPopupContainer:Hi},Xa)}var nr=Lr;function Oi(Re){var $e=Re.prefixCls,nt=Re.presets,Yt=Re.onClick,nn=Re.onHover;return nt.length?Je.createElement("div",{className:"".concat($e,"-presets")},Je.createElement("ul",null,nt.map(function(Br,Cr){var yi=Br.label,gi=Br.value;return Je.createElement("li",{key:Cr,onClick:function(){return Yt==null?void 0:Yt(qa(gi))},onMouseEnter:function(){return nn==null?void 0:nn(qa(gi))},onMouseLeave:function(){return nn==null?void 0:nn(null)}},yi)}))):null}function Do(Re){var $e=Re.picker,nt=Re.disabledHours,Yt=Re.disabledMinutes,nn=Re.disabledSeconds;$e==="time"&&(nt||Yt||nn)&&warning(!1,"'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.")}function cr(Re,$e,nt){var Yt=(0,Sr.Z)($e)==="object"?$e.clearIcon:nt;return Yt||Je.createElement("span",{className:"".concat(Re,"-clear-btn")})}function tl(Re){var $e,nt=Re,Yt=nt.prefixCls,nn=Yt===void 0?"rc-picker":Yt,Br=nt.id,Cr=nt.name,yi=nt.tabIndex,gi=nt.style,Hi=nt.className,Xa=nt.dropdownClassName,Ji=nt.dropdownAlign,ea=nt.popupStyle,fa=nt.transitionName,Ba=nt.generateConfig,jr=nt.locale,Ci=nt.inputReadOnly,ya=nt.allowClear,ns=nt.autoFocus,wo=nt.showTime,rs=nt.picker,os=rs===void 0?"date":rs,Vo=nt.format,Lo=nt.use12Hours,Xl=nt.value,Qs=nt.defaultValue,ni=nt.presets,Fl=nt.open,iu=nt.defaultOpen,Ou=nt.defaultOpenValue,bu=nt.suffixIcon,Ll=nt.clearIcon,Js=nt.disabled,wl=nt.disabledDate,Vl=nt.placeholder,Uu=nt.getPopupContainer,xu=nt.pickerRef,cu=nt.panelRender,pc=nt.onChange,Ac=nt.onOpenChange,ot=nt.onFocus,ht=nt.onBlur,Wt=nt.onMouseDown,cn=nt.onMouseUp,Nn=nt.onMouseEnter,Bn=nt.onMouseLeave,dr=nt.onContextMenu,pr=nt.onClick,ar=nt.onKeyDown,_r=nt.onSelect,Wr=nt.direction,Jr=nt.autoComplete,Qi=Jr===void 0?"off":Jr,Xi=nt.inputRender,Wi=nt.changeOnBlur,pa=Je.useRef(null),la=os==="date"&&!!wo||os==="time",Ta=Zi(ni),hi=Ur(eo(Vo,os,wo,Lo)),Ia=Je.useRef(null),So=Je.useRef(null),hs=Je.useRef(null),jo=(0,qe.Z)(null,{value:Xl,defaultValue:Qs}),ms=(0,On.Z)(jo,2),nl=ms[0],ho=ms[1],is=Je.useState(nl),po=(0,On.Z)(is,2),wa=po[0],Ya=po[1],Ds=Je.useRef(null),bl=(0,qe.Z)(!1,{value:Fl,defaultValue:iu,postState:function(ia){return Js?!1:ia},onChange:function(ia){Ac&&Ac(ia),!ia&&Ds.current&&Ds.current.onClose&&Ds.current.onClose()}}),jn=(0,On.Z)(bl,2),$r=jn[0],pe=jn[1],Ee=xi(wa,{formatList:hi,generateConfig:Ba,locale:jr}),Be=(0,On.Z)(Ee,2),ke=Be[0],Ke=Be[1],Ue=st({valueTexts:ke,onTextChange:function(ia){var As=gr(ia,{locale:jr,formatList:hi,generateConfig:Ba});As&&(!wl||!wl(As))&&Ya(As)}}),ut=(0,On.Z)(Ue,3),at=ut[0],Pt=ut[1],bt=ut[2],Ht=function(ia){Ya(ia),ho(ia),pc&&!Pr(Ba,nl,ia)&&pc(ia,ia?gn(ia,{generateConfig:Ba,locale:jr,format:hi[0]}):"")},ln=function(ia){Js&&ia||pe(ia)},rn=function(ia){return $r&&Ds.current&&Ds.current.onKeyDown?Ds.current.onKeyDown(ia):((0,Bt.ZP)(!1,"Picker not correct forward KeyDown operation. Please help to fire issue about this."),!1)},Vn=function(){for(var ia=arguments.length,As=new Array(ia),Ws=0;Wsea(Hi);case"month":return Ji(jr)>Ji(Hi);case"week":return Xa(jr)>Xa(Hi);default:return!kr(yi,jr,Hi)&&yi.isAfter(jr,Hi)}return!1},[Br,Cr[1],Hi,$e]),Ba=Je.useCallback(function(jr){if(Cr[1]||Br&&Br(jr))return!0;if(Cr[0]&&gi)return!kr(yi,jr,Hi)&&yi.isAfter(gi,jr);if(!$e&&gi)switch(nt){case"quarter":return ea(jr)0&&arguments[0]!==void 0?arguments[0]:!1,sl=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},dl=null;mo&&rd&&rd[0]&&rd[1]&&jr.isAfter(rd[1],rd[0])&&(dl=rd);var Wu=Lo;if(Lo&&(0,Sr.Z)(Lo)==="object"&&Lo.defaultValue){var Qc=Lo.defaultValue;Wu=(0,qn.Z)((0,qn.Z)({},Lo),{},{defaultValue:zr(Qc,ii)||void 0})}return Je.createElement(sr.Provider,{value:{inRange:!0,panelPosition:$u,rangedValue:ju||Dn,hoverRangedValue:dl}},Je.createElement(Hs,(0,Gt.Z)({},Re,sl,{cellRender:Wf,showTime:Wu,mode:Pi[ii],generateConfig:jr,style:void 0,direction:ms,disabledDate:ii===0?La:ki,disabledTime:function(Ed){return wl?wl(Ed,ii===0?"start":"end"):!1},className:In()((0,Jn.Z)({},"".concat(Cr,"-panel-focused"),ii===0?!ad:!Vd)),value:zr(Dn,ii),locale:Ci,tabIndex:-1,onPanelChange:function(Ed,ff){ii===0&&qf(!0),ii===1&&_f(!0),wi(ta(Pi,ff,ii),ta(Dn,Ed,ii));var Sf=Ed;$u==="right"&&Pi[ii]===ff&&(Sf=qt(Sf,ff,jr,-1)),Vn(Sf,ii)},onOk:null,onSelect:void 0,onChange:void 0,defaultValue:ii===0?zr(Dn,1):zr(Dn,0)})))}var Sd=0,Nh=0;if(ii&&bl.current&&$r.current&&Ds.current&&Be.current){Sd=bl.current.offsetWidth+$r.current.offsetWidth;var ga=Be.current.offsetLeft>Sd?Be.current.offsetLeft-Sd:Be.current.offsetLeft,ph=Ds.current.offsetWidth,Kf=Be.current.offsetWidth;ph&&Kf&&Sd>ph-Kf-(ms==="rtl"?0:ga)&&(Nh=Sd)}var Zh=ms==="rtl"?{right:Sd}:{left:Sd};function Xh(){var $u,sl=fo(Cr,Pi[ii],pr),dl=Ql({prefixCls:Cr,components:hs,needConfirmButton:wa,okDisabled:!zr(Dn,ii)||Js&&Js(Dn[ii]),locale:Ci,onOk:function(){var kd=zr(Dn,ii);kd&&(Ws(Dn,ii),Ia==null||Ia(Dn),Mo(!1,ii,"confirm"))}});if(Vo!=="time"&&!Lo){var Wu=rn(ii),Qc=qt(Wu,Vo,jr),Gf=Pi[ii],Ed=Gf===Vo,ff=Ja(Ed?"left":!1,{pickerValue:Wu,onPickerValueChange:function(kd){Vn(kd,ii)}}),Sf=Ja("right",{pickerValue:Qc,onPickerValueChange:function(kd){Vn(qt(kd,Vo,jr,-1),ii)}});ms==="rtl"?$u=Je.createElement(Je.Fragment,null,Sf,Ed&&ff):$u=Je.createElement(Je.Fragment,null,ff,Ed&&Sf)}else $u=Ja();var Fh=Je.createElement("div",{className:"".concat(Cr,"-panel-layout")},Je.createElement(Oi,{prefixCls:Cr,presets:uc,onClick:function(kd){Ws(kd,null),Mo(!1,ii,"preset")},onHover:function(kd){Ec(kd)}}),Je.createElement("div",null,Je.createElement("div",{className:"".concat(Cr,"-panels")},$u),(sl||dl)&&Je.createElement("div",{className:"".concat(Cr,"-footer")},sl,dl)));return cu&&(Fh=cu(Fh)),Je.createElement("div",{className:"".concat(Cr,"-panel-container"),style:{marginLeft:Nh},ref:Ds,onMouseDown:function(kd){kd.preventDefault()}},Fh)}var Wd=Je.createElement("div",{className:In()("".concat(Cr,"-range-wrapper"),"".concat(Cr,"-").concat(Vo,"-range-wrapper")),style:{minWidth:go}},Je.createElement("div",{ref:Be,className:"".concat(Cr,"-range-arrow"),style:Zh}),Xh()),gh;Wt&&(gh=Je.createElement("span",{className:"".concat(Cr,"-suffix"),onMouseDown:function(sl){sl.preventDefault()}},Wt));var A0=cr(Cr,ht,cn),Fc=Je.createElement("span",{onMouseDown:function(sl){sl.preventDefault(),sl.stopPropagation()},onMouseUp:function(sl){sl.preventDefault(),sl.stopPropagation();var dl=Pt;Ue[0]||(dl=ta(dl,null,0)),Ue[1]||(dl=ta(dl,null,1)),Ws(dl,null),Mo(!1,ii,"clear")},className:"".concat(Cr,"-clear"),role:"button"},A0),Wl=ht&&(zr(Pt,0)&&!Ue[0]||zr(Pt,1)&&!Ue[1]),df={size:lo(Vo,ke[0],jr)},wh=0,Vh=0;bl.current&&jn.current&&$r.current&&(ii===0?Vh=bl.current.offsetWidth:(wh=Sd,Vh=jn.current.offsetWidth));var Pf=ms==="rtl"?{right:wh}:{left:wh},_d=function(sl,dl){var Wu=ta(Dn,sl,ii);if(dl==="submit"||dl!=="key"&&!wa){Ws(Wu,ii),ii===0?qf():_f();var Qc=ii===0?1:0;Ue[Qc]?Mo(!1,!1,"confirm"):Mo(!1,ii,"confirm")}else En(Wu)};return Je.createElement(Gn.Provider,{value:{operationRef:Ke,hideHeader:Vo==="time",onDateMouseEnter:$f,onDateMouseLeave:bd,hideRanges:!0,onSelect:_d,open:mo}},Je.createElement(nr,{visible:mo,popupElement:Wd,popupStyle:Xa,prefixCls:Cr,dropdownClassName:Ji,dropdownAlign:fa,getPopupContainer:Ba,transitionName:ea,range:!0,direction:ms},Je.createElement("div",(0,Gt.Z)({ref:Ya,className:In()(Cr,"".concat(Cr,"-range"),Hi,($e={},(0,Jn.Z)($e,"".concat(Cr,"-disabled"),Ue[0]&&Ue[1]),(0,Jn.Z)($e,"".concat(Cr,"-focused"),ii===0?xd:Fd),(0,Jn.Z)($e,"".concat(Cr,"-rtl"),ms==="rtl"),$e)),style:gi,onClick:hh,onMouseEnter:la,onMouseLeave:Ta,onMouseDown:Vc,onMouseUp:pa},(0,Ie.Z)(Re,{aria:!0,data:!0})),Je.createElement("div",{className:In()("".concat(Cr,"-input"),(nt={},(0,Jn.Z)(nt,"".concat(Cr,"-input-active"),ii===0),(0,Jn.Z)(nt,"".concat(Cr,"-input-placeholder"),!!Sh),nt)),ref:bl},Je.createElement("input",(0,Gt.Z)({id:yi,disabled:Ue[0],readOnly:Bn||typeof ke[0]=="function"||!ad,value:Sh||rc,onChange:function(sl){Gc(sl.target.value)},autoFocus:ns,placeholder:zr(ya,0)||"",ref:pe},au,df,{autoComplete:is}))),Je.createElement("div",{className:"".concat(Cr,"-range-separator"),ref:$r},ni),Je.createElement("div",{className:In()("".concat(Cr,"-input"),(Yt={},(0,Jn.Z)(Yt,"".concat(Cr,"-input-active"),ii===1),(0,Jn.Z)(Yt,"".concat(Cr,"-input-placeholder"),!!oo),Yt)),ref:jn},Je.createElement("input",(0,Gt.Z)({disabled:Ue[1],readOnly:Bn||typeof ke[0]=="function"||!Vd,value:oo||ld,onChange:function(sl){Nd(sl.target.value)},placeholder:zr(ya,1)||"",ref:Ee},fc,df,{autoComplete:is}))),Je.createElement("div",{className:"".concat(Cr,"-active-bar"),style:(0,qn.Z)((0,qn.Z)({},Pf),{},{width:Vh,position:"absolute"})}),gh,Wl&&Fc)))}var vl=function(Re){(0,zn.Z)(nt,Re);var $e=(0,Qn.Z)(nt);function nt(){var Yt;(0,an.Z)(this,nt);for(var nn=arguments.length,Br=new Array(nn),Cr=0;Cr{const{lineHeight:nn}=Re,Br=Math.floor(nt*nn)+2,Cr=Math.max(($e-Br)/2,0),yi=Math.max($e-Br-Cr,0);return{padding:`${Cr}px ${Yt}px ${yi}px`}},Pl=Re=>{const{componentCls:$e,pickerCellCls:nt,pickerCellInnerCls:Yt,cellHeight:nn,motionDurationSlow:Br,borderRadiusSM:Cr,motionDurationMid:yi,cellHoverBg:gi,lineWidth:Hi,lineType:Xa,colorPrimary:Ji,cellActiveWithRangeBg:ea,colorTextLightSolid:fa,controlHeightSM:Ba,cellRangeBorderColor:jr,pickerCellBorderGap:Ci,cellHoverWithRangeBg:ya,cellWidth:ns,colorTextDisabled:wo,cellBgDisabled:rs}=Re;return{"&::before":{position:"absolute",top:"50%",insetInlineStart:0,insetInlineEnd:0,zIndex:1,height:nn,transform:"translateY(-50%)",transition:`all ${Br}`,content:'""'},[Yt]:{position:"relative",zIndex:2,display:"inline-block",minWidth:nn,height:nn,lineHeight:`${nn}px`,borderRadius:Cr,transition:`background ${yi}, border ${yi}`},"&-range-hover-start, &-range-hover-end":{[Yt]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:hover:not(${nt}-in-view), - &:hover:not(${nt}-selected):not(${nt}-range-start):not(${nt}-range-end):not(${nt}-range-hover-start):not(${nt}-range-hover-end)`]:{[Yt]:{background:gi}},[`&-in-view${nt}-today ${Yt}`]:{"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,zIndex:1,border:`${Hi}px ${Xa} ${Ji}`,borderRadius:Cr,content:'""'}},[`&-in-view${nt}-in-range`]:{position:"relative","&::before":{background:ea}},[`&-in-view${nt}-selected ${Yt}, - &-in-view${nt}-range-start ${Yt}, - &-in-view${nt}-range-end ${Yt}`]:{color:fa,background:Ji},[`&-in-view${nt}-range-start:not(${nt}-range-start-single), - &-in-view${nt}-range-end:not(${nt}-range-end-single)`]:{"&::before":{background:ea}},[`&-in-view${nt}-range-start::before`]:{insetInlineStart:"50%"},[`&-in-view${nt}-range-end::before`]:{insetInlineEnd:"50%"},[`&-in-view${nt}-range-hover-start:not(${nt}-in-range):not(${nt}-range-start):not(${nt}-range-end), - &-in-view${nt}-range-hover-end:not(${nt}-in-range):not(${nt}-range-start):not(${nt}-range-end), - &-in-view${nt}-range-hover-start${nt}-range-start-single, - &-in-view${nt}-range-hover-start${nt}-range-start${nt}-range-end${nt}-range-end-near-hover, - &-in-view${nt}-range-hover-end${nt}-range-start${nt}-range-end${nt}-range-start-near-hover, - &-in-view${nt}-range-hover-end${nt}-range-end-single, - &-in-view${nt}-range-hover:not(${nt}-in-range)`]:{"&::after":{position:"absolute",top:"50%",zIndex:0,height:Ba,borderTop:`${Hi}px dashed ${jr}`,borderBottom:`${Hi}px dashed ${jr}`,transform:"translateY(-50%)",transition:`all ${Br}`,content:'""'}},"&-range-hover-start::after,\n &-range-hover-end::after,\n &-range-hover::after":{insetInlineEnd:0,insetInlineStart:Ci},[`&-in-view${nt}-in-range${nt}-range-hover::before, - &-in-view${nt}-in-range${nt}-range-hover-start::before, - &-in-view${nt}-in-range${nt}-range-hover-end::before, - &-in-view${nt}-range-start${nt}-range-hover::before, - &-in-view${nt}-range-end${nt}-range-hover::before, - &-in-view${nt}-range-start:not(${nt}-range-start-single)${nt}-range-hover-start::before, - &-in-view${nt}-range-end:not(${nt}-range-end-single)${nt}-range-hover-end::before, - ${$e}-panel - > :not(${$e}-date-panel) - &-in-view${nt}-in-range${nt}-range-hover-start::before, - ${$e}-panel - > :not(${$e}-date-panel) - &-in-view${nt}-in-range${nt}-range-hover-end::before`]:{background:ya},[`&-in-view${nt}-range-start:not(${nt}-range-start-single):not(${nt}-range-end) ${Yt}`]:{borderStartStartRadius:Cr,borderEndStartRadius:Cr,borderStartEndRadius:0,borderEndEndRadius:0},[`&-in-view${nt}-range-end:not(${nt}-range-end-single):not(${nt}-range-start) ${Yt}`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:Cr,borderEndEndRadius:Cr},[`&-range-hover${nt}-range-end::after`]:{insetInlineStart:"50%"},[`tr > &-in-view${nt}-range-hover:first-child::after, - tr > &-in-view${nt}-range-hover-end:first-child::after, - &-in-view${nt}-start${nt}-range-hover-edge-start${nt}-range-hover-edge-start-near-range::after, - &-in-view${nt}-range-hover-edge-start:not(${nt}-range-hover-edge-start-near-range)::after, - &-in-view${nt}-range-hover-start::after`]:{insetInlineStart:(ns-nn)/2,borderInlineStart:`${Hi}px dashed ${jr}`,borderStartStartRadius:Cr,borderEndStartRadius:Cr},[`tr > &-in-view${nt}-range-hover:last-child::after, - tr > &-in-view${nt}-range-hover-start:last-child::after, - &-in-view${nt}-end${nt}-range-hover-edge-end${nt}-range-hover-edge-end-near-range::after, - &-in-view${nt}-range-hover-edge-end:not(${nt}-range-hover-edge-end-near-range)::after, - &-in-view${nt}-range-hover-end::after`]:{insetInlineEnd:(ns-nn)/2,borderInlineEnd:`${Hi}px dashed ${jr}`,borderStartEndRadius:Cr,borderEndEndRadius:Cr},"&-disabled":{color:wo,pointerEvents:"none",[Yt]:{background:"transparent"},"&::before":{background:rs}},[`&-disabled${nt}-today ${Yt}::before`]:{borderColor:wo}}},nc=Re=>{const{componentCls:$e,pickerCellCls:nt,pickerCellInnerCls:Yt,pickerYearMonthCellWidth:nn,pickerControlIconSize:Br,cellWidth:Cr,paddingSM:yi,paddingXS:gi,paddingXXS:Hi,colorBgContainer:Xa,lineWidth:Ji,lineType:ea,borderRadiusLG:fa,colorPrimary:Ba,colorTextHeading:jr,colorSplit:Ci,pickerControlIconBorderWidth:ya,colorIcon:ns,textHeight:wo,motionDurationMid:rs,colorIconHover:os,fontWeightStrong:Vo,cellHeight:Lo,pickerCellPaddingVertical:Xl,colorTextDisabled:Qs,colorText:ni,fontSize:Fl,cellHoverWithRangeBg:iu,motionDurationSlow:Ou,withoutTimeCellHeight:bu,pickerQuarterPanelContentHeight:Ll,colorLink:Js,colorLinkActive:wl,colorLinkHover:Vl,cellRangeBorderColor:Uu,borderRadiusSM:xu,colorTextLightSolid:cu,cellHoverBg:pc,timeColumnHeight:Ac,timeColumnWidth:ot,timeCellHeight:ht,controlItemBgActive:Wt,marginXXS:cn,pickerDatePanelPaddingHorizontal:Nn}=Re,Bn=Cr*7+Nn*2,dr=(Bn-gi*2)/3-nn-yi,pr=(Bn-gi*2)/4-nn;return{[$e]:{"&-panel":{display:"inline-flex",flexDirection:"column",textAlign:"center",background:Xa,border:`${Ji}px ${ea} ${Ci}`,borderRadius:fa,outline:"none","&-focused":{borderColor:Ba},"&-rtl":{direction:"rtl",[`${$e}-prev-icon, - ${$e}-super-prev-icon`]:{transform:"rotate(45deg)"},[`${$e}-next-icon, - ${$e}-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:Bn},"&-header":{display:"flex",padding:`0 ${gi}px`,color:jr,borderBottom:`${Ji}px ${ea} ${Ci}`,"> *":{flex:"none"},button:{padding:0,color:ns,lineHeight:`${wo}px`,background:"transparent",border:0,cursor:"pointer",transition:`color ${rs}`,fontSize:"inherit"},"> button":{minWidth:"1.6em",fontSize:Fl,"&:hover":{color:os}},"&-view":{flex:"auto",fontWeight:Vo,lineHeight:`${wo}px`,button:{color:"inherit",fontWeight:"inherit",verticalAlign:"top","&:not(:first-child)":{marginInlineStart:gi},"&:hover":{color:Ba}}}},"&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon":{position:"relative",display:"inline-block",width:Br,height:Br,"&::before":{position:"absolute",top:0,insetInlineStart:0,display:"inline-block",width:Br,height:Br,border:"0 solid currentcolor",borderBlockStartWidth:ya,borderBlockEndWidth:0,borderInlineStartWidth:ya,borderInlineEndWidth:0,content:'""'}},"&-super-prev-icon,\n &-super-next-icon":{"&::after":{position:"absolute",top:Math.ceil(Br/2),insetInlineStart:Math.ceil(Br/2),display:"inline-block",width:Br,height:Br,border:"0 solid currentcolor",borderBlockStartWidth:ya,borderBlockEndWidth:0,borderInlineStartWidth:ya,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:Lo,fontWeight:"normal"},th:{height:Lo+Xl*2,color:ni,verticalAlign:"middle"}},"&-cell":Object.assign({padding:`${Xl}px 0`,color:Qs,cursor:"pointer","&-in-view":{color:ni}},Pl(Re)),[`&-date-panel ${$e}-cell-in-view${$e}-cell-in-range${$e}-cell-range-hover-start ${Yt}, - &-date-panel ${$e}-cell-in-view${$e}-cell-in-range${$e}-cell-range-hover-end ${Yt}`]:{"&::after":{position:"absolute",top:0,bottom:0,zIndex:-1,background:iu,transition:`all ${Ou}`,content:'""'}},[`&-date-panel - ${$e}-cell-in-view${$e}-cell-in-range${$e}-cell-range-hover-start - ${Yt}::after`]:{insetInlineEnd:-(Cr-Lo)/2,insetInlineStart:0},[`&-date-panel ${$e}-cell-in-view${$e}-cell-in-range${$e}-cell-range-hover-end ${Yt}::after`]:{insetInlineEnd:0,insetInlineStart:-(Cr-Lo)/2},[`&-range-hover${$e}-range-start::after`]:{insetInlineEnd:"50%"},"&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${$e}-content`]:{height:bu*4},[Yt]:{padding:`0 ${gi}px`}},"&-quarter-panel":{[`${$e}-content`]:{height:Ll},[`${$e}-cell-range-hover-start::after`]:{insetInlineStart:pr,borderInlineStart:`${Ji}px dashed ${Uu}`,[`${$e}-panel-rtl &`]:{insetInlineEnd:pr,borderInlineEnd:`${Ji}px dashed ${Uu}`}},[`${$e}-cell-range-hover-end::after`]:{insetInlineEnd:pr,borderInlineEnd:`${Ji}px dashed ${Uu}`,[`${$e}-panel-rtl &`]:{insetInlineStart:pr,borderInlineStart:`${Ji}px dashed ${Uu}`}}},[`&-panel ${$e}-footer`]:{borderTop:`${Ji}px ${ea} ${Ci}`},"&-footer":{width:"min-content",minWidth:"100%",lineHeight:`${wo-2*Ji}px`,textAlign:"center","&-extra":{padding:`0 ${yi}px`,lineHeight:`${wo-2*Ji}px`,textAlign:"start","&:not(:last-child)":{borderBottom:`${Ji}px ${ea} ${Ci}`}}},"&-now":{textAlign:"start"},"&-today-btn":{color:Js,"&:hover":{color:Vl},"&:active":{color:wl},[`&${$e}-today-btn-disabled`]:{color:Qs,cursor:"not-allowed"}},"&-decade-panel":{[Yt]:{padding:`0 ${gi/2}px`},[`${$e}-cell::before`]:{display:"none"}},"&-year-panel,\n &-quarter-panel,\n &-month-panel":{[`${$e}-body`]:{padding:`0 ${gi}px`},[Yt]:{width:nn},[`${$e}-cell-range-hover-start::after`]:{borderStartStartRadius:xu,borderEndStartRadius:xu,borderStartEndRadius:0,borderEndEndRadius:0,[`${$e}-panel-rtl &`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:xu,borderEndEndRadius:xu}},[`${$e}-cell-range-hover-end::after`]:{borderStartStartRadius:0,borderEndStartRadius:0,borderStartEndRadius:xu,borderEndEndRadius:xu,[`${$e}-panel-rtl &`]:{borderStartStartRadius:xu,borderEndStartRadius:xu,borderStartEndRadius:0,borderEndEndRadius:0}}},"&-year-panel,\n &-month-panel":{[`${$e}-cell-range-hover-start::after`]:{insetInlineStart:dr,borderInlineStart:`${Ji}px dashed ${Uu}`,[`${$e}-panel-rtl &`]:{insetInlineEnd:dr,borderInlineEnd:`${Ji}px dashed ${Uu}`}},[`${$e}-cell-range-hover-end::after`]:{insetInlineEnd:dr,borderInlineEnd:`${Ji}px dashed ${Uu}`,[`${$e}-panel-rtl &`]:{insetInlineStart:dr,borderInlineStart:`${Ji}px dashed ${Uu}`}}},"&-week-panel":{[`${$e}-body`]:{padding:`${gi}px ${yi}px`},[`${$e}-cell`]:{[`&:hover ${Yt}, - &-selected ${Yt}, - ${Yt}`]:{background:"transparent !important"}},"&-row":{td:{"&:before":{transition:`background ${rs}`},"&:first-child:before":{borderStartStartRadius:xu,borderEndStartRadius:xu},"&:last-child:before":{borderStartEndRadius:xu,borderEndEndRadius:xu}},"&:hover td":{"&:before":{background:pc}},"&-range-start td,\n &-range-end td,\n &-selected td":{[`&${nt}`]:{"&:before":{background:Ba},[`&${$e}-cell-week`]:{color:new Ro.C(cu).setAlpha(.5).toHexString()},[Yt]:{color:cu}}},"&-range-hover td:before":{background:Wt}}},"&-date-panel":{[`${$e}-body`]:{padding:`${gi}px ${Nn}px`},[`${$e}-content`]:{width:Cr*7,th:{width:Cr,boxSizing:"border-box",padding:0}}},"&-datetime-panel":{display:"flex",[`${$e}-time-panel`]:{borderInlineStart:`${Ji}px ${ea} ${Ci}`},[`${$e}-date-panel, - ${$e}-time-panel`]:{transition:`opacity ${Ou}`},"&-active":{[`${$e}-date-panel, - ${$e}-time-panel`]:{opacity:.3,"&-active":{opacity:1}}}},"&-time-panel":{width:"auto",minWidth:"auto",direction:"ltr",[`${$e}-content`]:{display:"flex",flex:"auto",height:Ac},"&-column":{flex:"1 0 auto",width:ot,margin:`${Hi}px 0`,padding:0,overflowY:"hidden",textAlign:"start",listStyle:"none",transition:`background ${rs}`,overflowX:"hidden","&::after":{display:"block",height:Ac-ht,content:'""'},"&:not(:first-child)":{borderInlineStart:`${Ji}px ${ea} ${Ci}`},"&-active":{background:new Ro.C(Wt).setAlpha(.2).toHexString()},"&:hover":{overflowY:"auto"},"> li":{margin:0,padding:0,[`&${$e}-time-panel-cell`]:{marginInline:cn,[`${$e}-time-panel-cell-inner`]:{display:"block",width:ot-2*cn,height:ht,margin:0,paddingBlock:0,paddingInlineEnd:0,paddingInlineStart:(ot-ht)/2,color:ni,lineHeight:`${ht}px`,borderRadius:xu,cursor:"pointer",transition:`background ${rs}`,"&:hover":{background:pc}},"&-selected":{[`${$e}-time-panel-cell-inner`]:{background:Wt}},"&-disabled":{[`${$e}-time-panel-cell-inner`]:{color:Qs,background:"transparent",cursor:"not-allowed"}}}}}},[`&-datetime-panel ${$e}-time-panel-column:after`]:{height:Ac-ht+Hi*2}}}},Tu=Re=>{const{componentCls:$e,colorBgContainer:nt,colorError:Yt,errorActiveShadow:nn,colorWarning:Br,warningActiveShadow:Cr}=Re;return{[`${$e}:not(${$e}-disabled)`]:{[`&${$e}-status-error`]:{"&, &:not([disabled]):hover":{backgroundColor:nt,borderColor:Yt},[`&${$e}-focused, &:focus`]:Object.assign({},(0,jl.M1)((0,Mc.TS)(Re,{activeBorderColor:Yt,activeShadow:nn}))),[`${$e}-active-bar`]:{background:Yt}},[`&${$e}-status-warning`]:{"&, &:not([disabled]):hover":{backgroundColor:nt,borderColor:Br},[`&${$e}-focused, &:focus`]:Object.assign({},(0,jl.M1)((0,Mc.TS)(Re,{activeBorderColor:Br,activeShadow:Cr}))),[`${$e}-active-bar`]:{background:Br}}}}},$i=Re=>{const{componentCls:$e,antCls:nt,controlHeight:Yt,fontSize:nn,paddingInline:Br,colorBgContainer:Cr,lineWidth:yi,lineType:gi,colorBorder:Hi,borderRadius:Xa,motionDurationMid:Ji,colorBgContainerDisabled:ea,colorTextDisabled:fa,colorTextPlaceholder:Ba,controlHeightLG:jr,fontSizeLG:Ci,controlHeightSM:ya,paddingInlineSM:ns,paddingXS:wo,marginXS:rs,colorTextDescription:os,lineWidthBold:Vo,lineHeight:Lo,colorPrimary:Xl,motionDurationSlow:Qs,zIndexPopup:ni,paddingXXS:Fl,paddingSM:iu,textHeight:Ou,cellActiveWithRangeBg:bu,colorPrimaryBorder:Ll,sizePopupArrow:Js,borderRadiusXS:wl,borderRadiusOuter:Vl,colorBgElevated:Uu,borderRadiusLG:xu,boxShadowSecondary:cu,borderRadiusSM:pc,colorSplit:Ac,cellHoverBg:ot,presetsWidth:ht,presetsMaxWidth:Wt,boxShadowPopoverArrow:cn,colorTextQuaternary:Nn}=Re;return[{[$e]:Object.assign(Object.assign(Object.assign({},(0,Ml.Wf)(Re)),tu(Re,Yt,nn,Br)),{position:"relative",display:"inline-flex",alignItems:"center",background:Cr,lineHeight:1,border:`${yi}px ${gi} ${Hi}`,borderRadius:Xa,transition:`border ${Ji}, box-shadow ${Ji}`,"&:hover, &-focused":Object.assign({},(0,jl.pU)(Re)),"&-focused":Object.assign({},(0,jl.M1)(Re)),[`&${$e}-disabled`]:{background:ea,borderColor:Hi,cursor:"not-allowed",[`${$e}-suffix`]:{color:Nn}},[`&${$e}-borderless`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`${$e}-input`]:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%","> input":Object.assign(Object.assign({},(0,jl.ik)(Re)),{flex:"auto",minWidth:1,height:"auto",padding:0,background:"transparent",border:0,borderRadius:0,"&:focus":{boxShadow:"none"},"&[disabled]":{background:"transparent"}}),"&:hover":{[`${$e}-clear`]:{opacity:1}},"&-placeholder":{"> input":{color:Ba}}},"&-large":Object.assign(Object.assign({},tu(Re,jr,Ci,Br)),{[`${$e}-input > input`]:{fontSize:Ci}}),"&-small":Object.assign({},tu(Re,ya,nn,ns)),[`${$e}-suffix`]:{display:"flex",flex:"none",alignSelf:"center",marginInlineStart:wo/2,color:fa,lineHeight:1,pointerEvents:"none","> *":{verticalAlign:"top","&:not(:last-child)":{marginInlineEnd:rs}}},[`${$e}-clear`]:{position:"absolute",top:"50%",insetInlineEnd:0,color:fa,lineHeight:1,background:Cr,transform:"translateY(-50%)",cursor:"pointer",opacity:0,transition:`opacity ${Ji}, color ${Ji}`,"> *":{verticalAlign:"top"},"&:hover":{color:os}},[`${$e}-separator`]:{position:"relative",display:"inline-block",width:"1em",height:Ci,color:fa,fontSize:Ci,verticalAlign:"top",cursor:"default",[`${$e}-focused &`]:{color:os},[`${$e}-range-separator &`]:{[`${$e}-disabled &`]:{cursor:"not-allowed"}}},"&-range":{position:"relative",display:"inline-flex",[`${$e}-clear`]:{insetInlineEnd:Br},"&:hover":{[`${$e}-clear`]:{opacity:1}},[`${$e}-active-bar`]:{bottom:-yi,height:Vo,marginInlineStart:Br,background:Xl,opacity:0,transition:`all ${Qs} ease-out`,pointerEvents:"none"},[`&${$e}-focused`]:{[`${$e}-active-bar`]:{opacity:1}},[`${$e}-range-separator`]:{alignItems:"center",padding:`0 ${wo}px`,lineHeight:1},[`&${$e}-small`]:{[`${$e}-clear`]:{insetInlineEnd:ns},[`${$e}-active-bar`]:{marginInlineStart:ns}}},"&-dropdown":Object.assign(Object.assign(Object.assign({},(0,Ml.Wf)(Re)),nc(Re)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:ni,[`&${$e}-dropdown-hidden`]:{display:"none"},[`&${$e}-dropdown-placement-bottomLeft`]:{[`${$e}-range-arrow`]:{top:0,display:"block",transform:"translateY(-100%)"}},[`&${$e}-dropdown-placement-topLeft`]:{[`${$e}-range-arrow`]:{bottom:0,display:"block",transform:"translateY(100%) rotate(180deg)"}},[`&${nt}-slide-up-enter${nt}-slide-up-enter-active${$e}-dropdown-placement-topLeft, - &${nt}-slide-up-enter${nt}-slide-up-enter-active${$e}-dropdown-placement-topRight, - &${nt}-slide-up-appear${nt}-slide-up-appear-active${$e}-dropdown-placement-topLeft, - &${nt}-slide-up-appear${nt}-slide-up-appear-active${$e}-dropdown-placement-topRight`]:{animationName:Go.Qt},[`&${nt}-slide-up-enter${nt}-slide-up-enter-active${$e}-dropdown-placement-bottomLeft, - &${nt}-slide-up-enter${nt}-slide-up-enter-active${$e}-dropdown-placement-bottomRight, - &${nt}-slide-up-appear${nt}-slide-up-appear-active${$e}-dropdown-placement-bottomLeft, - &${nt}-slide-up-appear${nt}-slide-up-appear-active${$e}-dropdown-placement-bottomRight`]:{animationName:Go.fJ},[`&${nt}-slide-up-leave${nt}-slide-up-leave-active${$e}-dropdown-placement-topLeft, - &${nt}-slide-up-leave${nt}-slide-up-leave-active${$e}-dropdown-placement-topRight`]:{animationName:Go.ly},[`&${nt}-slide-up-leave${nt}-slide-up-leave-active${$e}-dropdown-placement-bottomLeft, - &${nt}-slide-up-leave${nt}-slide-up-leave-active${$e}-dropdown-placement-bottomRight`]:{animationName:Go.Uw},[`${$e}-panel > ${$e}-time-panel`]:{paddingTop:Fl},[`${$e}-ranges`]:{marginBottom:0,padding:`${Fl}px ${iu}px`,overflow:"hidden",lineHeight:`${Ou-2*yi-wo/2}px`,textAlign:"start",listStyle:"none",display:"flex",justifyContent:"space-between","> li":{display:"inline-block"},[`${$e}-preset > ${nt}-tag-blue`]:{color:Xl,background:bu,borderColor:Ll,cursor:"pointer"},[`${$e}-ok`]:{marginInlineStart:"auto"}},[`${$e}-range-wrapper`]:{display:"flex",position:"relative"},[`${$e}-range-arrow`]:Object.assign({position:"absolute",zIndex:1,display:"none",marginInlineStart:Br*1.5,transition:`left ${Qs} ease-out`},(0,mu.r)(Js,wl,Vl,Uu,cn)),[`${$e}-panel-container`]:{overflow:"hidden",verticalAlign:"top",background:Uu,borderRadius:xu,boxShadow:cu,transition:`margin ${Qs}`,[`${$e}-panel-layout`]:{display:"flex",flexWrap:"nowrap",alignItems:"stretch"},[`${$e}-presets`]:{display:"flex",flexDirection:"column",minWidth:ht,maxWidth:Wt,ul:{height:0,flex:"auto",listStyle:"none",overflow:"auto",margin:0,padding:wo,borderInlineEnd:`${yi}px ${gi} ${Ac}`,li:Object.assign(Object.assign({},Ml.vS),{borderRadius:pc,paddingInline:wo,paddingBlock:(ya-Math.round(nn*Lo))/2,cursor:"pointer",transition:`all ${Qs}`,"+ li":{marginTop:rs},"&:hover":{background:ot}})}},[`${$e}-panels`]:{display:"inline-flex",flexWrap:"nowrap",direction:"ltr",[`${$e}-panel`]:{borderWidth:`0 0 ${yi}px`},"&:last-child":{[`${$e}-panel`]:{borderWidth:0}}},[`${$e}-panel`]:{verticalAlign:"top",background:"transparent",borderRadius:0,borderWidth:0,[`${$e}-content, - table`]:{textAlign:"center"},"&-focused":{borderColor:Hi}}}}),"&-dropdown-range":{padding:`${Js*2/3}px 0`,"&-hidden":{display:"none"}},"&-rtl":{direction:"rtl",[`${$e}-separator`]:{transform:"rotate(180deg)"},[`${$e}-footer`]:{"&-extra":{direction:"rtl"}}}})},(0,Go.oN)(Re,"slide-up"),(0,Go.oN)(Re,"slide-down"),(0,ou.Fm)(Re,"move-up"),(0,ou.Fm)(Re,"move-down")]},ol=Re=>{const{componentCls:$e,controlHeightLG:nt,paddingXXS:Yt,padding:nn}=Re;return{pickerCellCls:`${$e}-cell`,pickerCellInnerCls:`${$e}-cell-inner`,pickerYearMonthCellWidth:nt*1.5,pickerQuarterPanelContentHeight:nt*1.4,pickerCellPaddingVertical:Yt+Yt/2,pickerCellBorderGap:2,pickerControlIconSize:7,pickerControlIconBorderWidth:1.5,pickerDatePanelPaddingHorizontal:nn+Yt/2}},Po=Re=>({cellHoverBg:Re.controlItemBgHover,cellActiveWithRangeBg:Re.controlItemBgActive,cellHoverWithRangeBg:new Ro.C(Re.colorPrimary).lighten(35).toHexString(),cellRangeBorderColor:new Ro.C(Re.colorPrimary).lighten(20).toHexString(),cellBgDisabled:Re.colorBgContainerDisabled,timeColumnWidth:Re.controlHeightLG*1.4,timeColumnHeight:28*8,timeCellHeight:28,cellWidth:Re.controlHeightSM*1.5,cellHeight:Re.controlHeightSM,textHeight:Re.controlHeightLG,withoutTimeCellHeight:Re.controlHeightLG*1.65});var ds=(0,Ai.Z)("DatePicker",Re=>{const $e=(0,Mc.TS)((0,jl.e5)(Re),ol(Re));return[$i($e),Tu($e),(0,Co.c)(Re,{focusElCls:`${Re.componentCls}-focused`})]},Re=>Object.assign(Object.assign(Object.assign({},(0,jl.TM)(Re)),Po(Re)),{presetsWidth:120,presetsMaxWidth:200,zIndexPopup:Re.zIndexPopupBase+50}));function Zl(Re,$e,nt){return nt!==void 0?nt:$e==="year"&&Re.lang.yearPlaceholder?Re.lang.yearPlaceholder:$e==="quarter"&&Re.lang.quarterPlaceholder?Re.lang.quarterPlaceholder:$e==="month"&&Re.lang.monthPlaceholder?Re.lang.monthPlaceholder:$e==="week"&&Re.lang.weekPlaceholder?Re.lang.weekPlaceholder:$e==="time"&&Re.timePickerLocale.placeholder?Re.timePickerLocale.placeholder:Re.lang.placeholder}function uu(Re,$e,nt){return nt!==void 0?nt:$e==="year"&&Re.lang.yearPlaceholder?Re.lang.rangeYearPlaceholder:$e==="quarter"&&Re.lang.quarterPlaceholder?Re.lang.rangeQuarterPlaceholder:$e==="month"&&Re.lang.monthPlaceholder?Re.lang.rangeMonthPlaceholder:$e==="week"&&Re.lang.weekPlaceholder?Re.lang.rangeWeekPlaceholder:$e==="time"&&Re.timePickerLocale.placeholder?Re.timePickerLocale.rangePlaceholder:Re.lang.rangePlaceholder}function Ys(Re,$e){const nt={adjustX:1,adjustY:1};switch($e){case"bottomLeft":return{points:["tl","bl"],offset:[0,4],overflow:nt};case"bottomRight":return{points:["tr","br"],offset:[0,4],overflow:nt};case"topLeft":return{points:["bl","tl"],offset:[0,-4],overflow:nt};case"topRight":return{points:["br","tr"],offset:[0,-4],overflow:nt};default:return{points:Re==="rtl"?["tr","br"]:["tl","bl"],offset:[0,4],overflow:nt}}}function hl(Re){return Re?Array.isArray(Re)?Re:[Re]:[]}function Rl(Re){const{format:$e,picker:nt,showHour:Yt,showMinute:nn,showSecond:Br,use12Hours:Cr}=Re,yi=hl($e)[0],gi=Object.assign({},Re);return $e&&Array.isArray($e)&&(gi.format=yi),yi&&typeof yi=="string"&&(!yi.includes("s")&&Br===void 0&&(gi.showSecond=!1),!yi.includes("m")&&nn===void 0&&(gi.showMinute=!1),!yi.includes("H")&&!yi.includes("h")&&!yi.includes("K")&&!yi.includes("k")&&Yt===void 0&&(gi.showHour=!1),(yi.includes("a")||yi.includes("A"))&&Cr===void 0&&(gi.use12Hours=!0)),nt==="time"?gi:(typeof yi=="function"&&delete gi.format,{showTime:gi})}function Yl(Re,$e,nt){if(Re===!1)return!1;const Yt={clearIcon:$e!=null?$e:nt};return typeof Re=="object"?Object.assign(Object.assign({},Yt),Re):Yt}var Au=he(3113);function nu(Re){return Je.createElement(Au.ZP,Object.assign({size:"small",type:"primary"},Re))}var Kc={button:nu},Dc=function(Re,$e){var nt={};for(var Yt in Re)Object.prototype.hasOwnProperty.call(Re,Yt)&&$e.indexOf(Yt)<0&&(nt[Yt]=Re[Yt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nn=0,Yt=Object.getOwnPropertySymbols(Re);nn{const{prefixCls:nn,getPopupContainer:Br,className:Cr,placement:yi,size:gi,disabled:Hi,bordered:Xa=!0,placeholder:Ji,popupClassName:ea,dropdownClassName:fa,status:Ba,clearIcon:jr,allowClear:Ci,rootClassName:ya}=nt,ns=Dc(nt,["prefixCls","getPopupContainer","className","placement","size","disabled","bordered","placeholder","popupClassName","dropdownClassName","status","clearIcon","allowClear","rootClassName"]),wo=Je.useRef(null),{getPrefixCls:rs,direction:os,getPopupContainer:Vo}=(0,Je.useContext)(Ul.E_),Lo=rs("picker",nn),{compactSize:Xl,compactItemClassnames:Qs}=(0,lu.ri)(Lo,os),{format:ni,showTime:Fl,picker:iu}=nt,Ou=rs(),[bu,Ll]=ds(Lo),Js=Object.assign(Object.assign({},Fl?Rl(Object.assign({format:ni,picker:iu},Fl)):{}),iu==="time"?Rl(Object.assign(Object.assign({format:ni},nt),{picker:iu})):{}),wl=(0,ao.Z)(cn=>{var Nn;return(Nn=gi!=null?gi:Xl)!==null&&Nn!==void 0?Nn:cn}),Vl=Je.useContext(Ko.Z),Uu=Hi!=null?Hi:Vl,xu=(0,Je.useContext)(Wa.aM),{hasFeedback:cu,status:pc,feedbackIcon:Ac}=xu,ot=Je.createElement(Je.Fragment,null,iu==="time"?Je.createElement(bn,null):Je.createElement(et,null),cu&&Ac);(0,Je.useImperativeHandle)(Yt,()=>({focus:()=>{var cn;return(cn=wo.current)===null||cn===void 0?void 0:cn.focus()},blur:()=>{var cn;return(cn=wo.current)===null||cn===void 0?void 0:cn.blur()}}));const[ht]=(0,Dl.Z)("Calendar",mc.Z),Wt=Object.assign(Object.assign({},ht),nt.locale);return bu(Je.createElement(Is,Object.assign({separator:Je.createElement("span",{"aria-label":"to",className:`${Lo}-separator`},Je.createElement(fi,null)),disabled:Uu,ref:wo,dropdownAlign:Ys(os,yi),placeholder:uu(Wt,iu,Ji),suffixIcon:ot,prevIcon:Je.createElement("span",{className:`${Lo}-prev-icon`}),nextIcon:Je.createElement("span",{className:`${Lo}-next-icon`}),superPrevIcon:Je.createElement("span",{className:`${Lo}-super-prev-icon`}),superNextIcon:Je.createElement("span",{className:`${Lo}-super-next-icon`}),transitionName:`${Ou}-slide-up`},ns,Js,{className:In()({[`${Lo}-${wl}`]:wl,[`${Lo}-borderless`]:!Xa},(0,Gl.Z)(Lo,(0,Gl.F)(pc,Ba),cu),Ll,Qs,Cr,ya),locale:Wt.lang,prefixCls:Lo,getPopupContainer:Br||Vo,generateConfig:Re,components:Kc,direction:os,dropdownClassName:In()(Ll,ea||fa,ya),allowClear:Yl(Ci,jr,Je.createElement(Dr.Z,null))})))})}var Io=function(Re,$e){var nt={};for(var Yt in Re)Object.prototype.hasOwnProperty.call(Re,Yt)&&$e.indexOf(Yt)<0&&(nt[Yt]=Re[Yt]);if(Re!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nn=0,Yt=Object.getOwnPropertySymbols(Re);nn{const{prefixCls:Ba,getPopupContainer:jr,style:Ci,className:ya,rootClassName:ns,size:wo,bordered:rs=!0,placement:os,placeholder:Vo,popupClassName:Lo,dropdownClassName:Xl,disabled:Qs,status:ni,clearIcon:Fl,allowClear:iu}=ea,Ou=Io(ea,["prefixCls","getPopupContainer","style","className","rootClassName","size","bordered","placement","placeholder","popupClassName","dropdownClassName","disabled","status","clearIcon","allowClear"]),{getPrefixCls:bu,direction:Ll,getPopupContainer:Js,[Xa]:wl}=(0,Je.useContext)(Ul.E_),Vl=bu("picker",Ba),{compactSize:Uu,compactItemClassnames:xu}=(0,lu.ri)(Vl,Ll),cu=Je.useRef(null),{format:pc,showTime:Ac}=ea,[ot,ht]=ds(Vl);(0,Je.useImperativeHandle)(fa,()=>({focus:()=>{var la;return(la=cu.current)===null||la===void 0?void 0:la.focus()},blur:()=>{var la;return(la=cu.current)===null||la===void 0?void 0:la.blur()}}));const Wt={showToday:!0};let cn={};gi&&(cn.picker=gi);const Nn=gi||ea.picker;cn=Object.assign(Object.assign(Object.assign({},cn),Ac?Rl(Object.assign({format:pc,picker:Nn},Ac)):{}),Nn==="time"?Rl(Object.assign(Object.assign({format:pc},ea),{picker:Nn})):{});const Bn=bu(),dr=(0,ao.Z)(la=>{var Ta;return(Ta=wo!=null?wo:Uu)!==null&&Ta!==void 0?Ta:la}),pr=Je.useContext(Ko.Z),ar=Qs!=null?Qs:pr,_r=(0,Je.useContext)(Wa.aM),{hasFeedback:Wr,status:Jr,feedbackIcon:Qi}=_r,Xi=Je.createElement(Je.Fragment,null,Nn==="time"?Je.createElement(bn,null):Je.createElement(et,null),Wr&&Qi),[Wi]=(0,Dl.Z)("DatePicker",mc.Z),pa=Object.assign(Object.assign({},Wi),ea.locale);return ot(Je.createElement(fl,Object.assign({ref:cu,placeholder:Zl(pa,Nn,Vo),suffixIcon:Xi,dropdownAlign:Ys(Ll,os),prevIcon:Je.createElement("span",{className:`${Vl}-prev-icon`}),nextIcon:Je.createElement("span",{className:`${Vl}-next-icon`}),superPrevIcon:Je.createElement("span",{className:`${Vl}-super-prev-icon`}),superNextIcon:Je.createElement("span",{className:`${Vl}-super-next-icon`}),transitionName:`${Bn}-slide-up`},Wt,Ou,cn,{locale:pa.lang,className:In()({[`${Vl}-${dr}`]:dr,[`${Vl}-borderless`]:!rs},(0,Gl.Z)(Vl,(0,Gl.F)(Jr,ni),Wr),ht,xu,wl==null?void 0:wl.className,ya,ns),style:Object.assign(Object.assign({},wl==null?void 0:wl.style),Ci),prefixCls:Vl,getPopupContainer:jr||Js,generateConfig:Re,components:Kc,direction:Ll,disabled:ar,dropdownClassName:In()(ht,ns,Lo||Xl),allowClear:Yl(iu,Fl,Je.createElement(Dr.Z,null))})))});return Hi&&(Ji.displayName=Hi),Ji}const nt=$e(),Yt=$e("week","WeekPicker"),nn=$e("month","MonthPicker"),Br=$e("year","YearPicker"),Cr=$e("time","TimePicker"),yi=$e("quarter","QuarterPicker");return{DatePicker:nt,WeekPicker:Yt,MonthPicker:nn,YearPicker:Br,TimePicker:Cr,QuarterPicker:yi}}const Gu=null;function cl(Re){const{DatePicker:$e,WeekPicker:nt,MonthPicker:Yt,YearPicker:nn,TimePicker:Br,QuarterPicker:Cr}=fs(Re),yi=Jl(Re),gi=$e;return gi.WeekPicker=nt,gi.MonthPicker=Yt,gi.YearPicker=nn,gi.RangePicker=yi,gi.TimePicker=Br,gi.QuarterPicker=Cr,gi}var Iu=cl;const Mi=Iu($t);function Ha(Re){const $e=Ys(Re.direction,Re.placement);return $e.overflow.adjustY=!1,$e.overflow.adjustX=!1,Object.assign(Object.assign({},Re),{dropdownAlign:$e})}const yl=(0,Ft.Z)(Mi,"picker",null,Ha);Mi._InternalPanelDoNotUseOrYouWillBeFired=yl;const Sl=(0,Ft.Z)(Mi.RangePicker,"picker",null,Ha);Mi._InternalRangePanelDoNotUseOrYouWillBeFired=Sl,Mi.generatePicker=Iu;var ru=Mi},43428:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Jn}});var se=he(92310),je=he.n(se),Bt=he(85899),Rt=he(72190),Dt=he(43403),dt=he(34280),Le=he(59301),Xe=Le.createContext(null),_e=Le.createContext({}),It=Xe,vt=he(18642),wt=he(60499),Ot=he(77900),Ye=he(10228),We=he(26112),pt=he(70425),mt=function(On){var qe=On.prefixCls,Ie=On.className,Ce=On.style,He=On.children,it=On.containerRef,we=On.id,Xt=On.onMouseEnter,wn=On.onMouseOver,Lt=On.onMouseLeave,Zt=On.onClick,or=On.onKeyDown,Xn=On.onKeyUp,dn={onMouseEnter:Xt,onMouseOver:wn,onMouseLeave:Lt,onClick:Zt,onKeyDown:or,onKeyUp:Xn},kr=Le.useContext(_e),vi=kr.panel,Un=(0,pt.useComposeRef)(vi,it);return Le.createElement(Le.Fragment,null,Le.createElement("div",(0,wt.Z)({id:we,className:je()("".concat(qe,"-content"),Ie),style:(0,Bt.Z)({},Ce),"aria-modal":"true",role:"dialog",ref:Un},dn),He))},Jt=mt,Qt=he(48736);function $t(qn){return typeof qn=="string"&&String(Number(qn))===qn?((0,Qt.ZP)(!1,"Invalid value type of `width` or `height` which should be number type instead."),Number(qn)):qn}function Ft(qn){warning(!("wrapperClassName"in qn),"'wrapperClassName' is removed. Please use 'rootClassName' instead."),warning(canUseDom()||!qn.open,"Drawer with 'open' in SSR is not work since no place to createPortal. Please move to 'useEffect' instead.")}var Gt={width:0,height:0,overflow:"hidden",outline:"none",position:"absolute"};function Je(qn,On){var qe,Ie,Ce,He,it=qn.prefixCls,we=qn.open,Xt=qn.placement,wn=qn.inline,Lt=qn.push,Zt=qn.forceRender,or=qn.autoFocus,Xn=qn.keyboard,dn=qn.rootClassName,kr=qn.rootStyle,vi=qn.zIndex,Un=qn.className,Pr=qn.id,Ii=qn.style,on=qn.motion,qt=qn.width,gn=qn.height,gr=qn.children,mr=qn.contentWrapperStyle,xi=qn.mask,Ui=qn.maskClosable,Ni=qn.maskMotion,Fa=qn.maskClassName,_o=qn.maskStyle,co=qn.afterOpenChange,kn=qn.onClose,Yi=qn.onMouseEnter,ys=qn.onMouseOver,$o=qn.onMouseLeave,eo=qn.onClick,lo=qn.onKeyDown,Qr=qn.onKeyUp,ir=Le.useRef(),ri=Le.useRef(),ua=Le.useRef();Le.useImperativeHandle(On,function(){return ir.current});var un=function(Ur){var zr=Ur.keyCode,ta=Ur.shiftKey;switch(zr){case Ye.Z.TAB:{if(zr===Ye.Z.TAB){if(!ta&&document.activeElement===ua.current){var qa;(qa=ri.current)===null||qa===void 0||qa.focus({preventScroll:!0})}else if(ta&&document.activeElement===ri.current){var pi;(pi=ua.current)===null||pi===void 0||pi.focus({preventScroll:!0})}}break}case Ye.Z.ESC:{kn&&Xn&&(Ur.stopPropagation(),kn(Ur));break}}};Le.useEffect(function(){if(we&&or){var ai;(ai=ir.current)===null||ai===void 0||ai.focus({preventScroll:!0})}},[we]);var lr=Le.useState(!1),Hr=(0,Rt.Z)(lr,2),hr=Hr[0],Vr=Hr[1],Rr=Le.useContext(It),qr;Lt===!1?qr={distance:0}:Lt===!0?qr={}:qr=Lt||{};var Zi=(qe=(Ie=(Ce=qr)===null||Ce===void 0?void 0:Ce.distance)!==null&&Ie!==void 0?Ie:Rr==null?void 0:Rr.pushDistance)!==null&&qe!==void 0?qe:180,Wn=Le.useMemo(function(){return{pushDistance:Zi,push:function(){Vr(!0)},pull:function(){Vr(!1)}}},[Zi]);Le.useEffect(function(){if(we){var ai;Rr==null||(ai=Rr.push)===null||ai===void 0||ai.call(Rr)}else{var Ur;Rr==null||(Ur=Rr.pull)===null||Ur===void 0||Ur.call(Rr)}},[we]),Le.useEffect(function(){return function(){var ai;Rr==null||(ai=Rr.pull)===null||ai===void 0||ai.call(Rr)}},[]);var st=xi&&Le.createElement(Ot.default,(0,wt.Z)({key:"mask"},Ni,{visible:we}),function(ai,Ur){var zr=ai.className,ta=ai.style;return Le.createElement("div",{className:je()("".concat(it,"-mask"),zr,Fa),style:(0,Bt.Z)((0,Bt.Z)({},ta),_o),onClick:Ui&&we?kn:void 0,ref:Ur})}),Nt=typeof on=="function"?on(Xt):on,Gn={};if(hr&&Zi)switch(Xt){case"top":Gn.transform="translateY(".concat(Zi,"px)");break;case"bottom":Gn.transform="translateY(".concat(-Zi,"px)");break;case"left":Gn.transform="translateX(".concat(Zi,"px)");break;default:Gn.transform="translateX(".concat(-Zi,"px)");break}Xt==="left"||Xt==="right"?Gn.width=$t(qt):Gn.height=$t(gn);var Sr={onMouseEnter:Yi,onMouseOver:ys,onMouseLeave:$o,onClick:eo,onKeyDown:lo,onKeyUp:Qr},yr=Le.createElement(Ot.default,(0,wt.Z)({key:"panel"},Nt,{visible:we,forceRender:Zt,onVisibleChanged:function(Ur){co==null||co(Ur)},removeOnLeave:!1,leavedClassName:"".concat(it,"-content-wrapper-hidden")}),function(ai,Ur){var zr=ai.className,ta=ai.style;return Le.createElement("div",(0,wt.Z)({className:je()("".concat(it,"-content-wrapper"),zr),style:(0,Bt.Z)((0,Bt.Z)((0,Bt.Z)({},Gn),ta),mr)},(0,We.Z)(qn,{data:!0})),Le.createElement(Jt,(0,wt.Z)({id:Pr,containerRef:Ur,prefixCls:it,className:Un,style:Ii},Sr),gr))}),ci=(0,Bt.Z)({},kr);return vi&&(ci.zIndex=vi),Le.createElement(It.Provider,{value:Wn},Le.createElement("div",{className:je()(it,"".concat(it,"-").concat(Xt),dn,(He={},(0,vt.Z)(He,"".concat(it,"-open"),we),(0,vt.Z)(He,"".concat(it,"-inline"),wn),He)),style:ci,tabIndex:-1,ref:ir,onKeyDown:un},st,Le.createElement("div",{tabIndex:0,ref:ri,style:Gt,"aria-hidden":"true","data-sentinel":"start"}),yr,Le.createElement("div",{tabIndex:0,ref:ua,style:Gt,"aria-hidden":"true","data-sentinel":"end"})))}var Sn=Le.forwardRef(Je),_n=Sn,Cn=function(On){var qe=On.open,Ie=qe===void 0?!1:qe,Ce=On.prefixCls,He=Ce===void 0?"rc-drawer":Ce,it=On.placement,we=it===void 0?"right":it,Xt=On.autoFocus,wn=Xt===void 0?!0:Xt,Lt=On.keyboard,Zt=Lt===void 0?!0:Lt,or=On.width,Xn=or===void 0?378:or,dn=On.mask,kr=dn===void 0?!0:dn,vi=On.maskClosable,Un=vi===void 0?!0:vi,Pr=On.getContainer,Ii=On.forceRender,on=On.afterOpenChange,qt=On.destroyOnClose,gn=On.onMouseEnter,gr=On.onMouseOver,mr=On.onMouseLeave,xi=On.onClick,Ui=On.onKeyDown,Ni=On.onKeyUp,Fa=On.panelRef,_o=Le.useState(!1),co=(0,Rt.Z)(_o,2),kn=co[0],Yi=co[1],ys=Le.useState(!1),$o=(0,Rt.Z)(ys,2),eo=$o[0],lo=$o[1];(0,dt.Z)(function(){lo(!0)},[]);var Qr=eo?Ie:!1,ir=Le.useRef(),ri=Le.useRef();(0,dt.Z)(function(){Qr&&(ri.current=document.activeElement)},[Qr]);var ua=function(Vr){var Rr;if(Yi(Vr),on==null||on(Vr),!Vr&&ri.current&&!((Rr=ir.current)!==null&&Rr!==void 0&&Rr.contains(ri.current))){var qr;(qr=ri.current)===null||qr===void 0||qr.focus({preventScroll:!0})}},un=Le.useMemo(function(){return{panel:Fa}},[Fa]);if(!Ii&&!kn&&!Qr&&qt)return null;var lr={onMouseEnter:gn,onMouseOver:gr,onMouseLeave:mr,onClick:xi,onKeyDown:Ui,onKeyUp:Ni},Hr=(0,Bt.Z)((0,Bt.Z)({},On),{},{open:Qr,prefixCls:He,placement:we,autoFocus:wn,keyboard:Zt,width:Xn,mask:kr,maskClosable:Un,inline:Pr===!1,afterOpenChange:ua,ref:ir},lr);return Le.createElement(_e.Provider,{value:un},Le.createElement(Dt.Z,{open:Qr||Ii||kn,autoDestroy:!1,getContainer:Pr,autoLock:kr&&(Qr||kn)},Le.createElement(_n,Hr)))},Vt=Cn,pn=Vt,et=he(62892),tn=he(36355),Ct=he(32441),Ln=he(47729),bn=qn=>{const{prefixCls:On,title:qe,footer:Ie,extra:Ce,closeIcon:He,closable:it,onClose:we,headerStyle:Xt,drawerStyle:wn,bodyStyle:Lt,footerStyle:Zt,children:or}=qn,Xn=Le.useCallback(Pr=>Le.createElement("button",{type:"button",onClick:we,"aria-label":"Close",className:`${On}-close`},Pr),[we]),[dn,kr]=(0,Ln.Z)(it,He,Xn,void 0,!0),vi=Le.useMemo(()=>!qe&&!dn?null:Le.createElement("div",{style:Xt,className:je()(`${On}-header`,{[`${On}-header-close-only`]:dn&&!qe&&!Ce})},Le.createElement("div",{className:`${On}-header-title`},kr,qe&&Le.createElement("div",{className:`${On}-title`},qe)),Ce&&Le.createElement("div",{className:`${On}-extra`},Ce)),[dn,kr,Ce,Xt,On,qe]),Un=Le.useMemo(()=>{if(!Ie)return null;const Pr=`${On}-footer`;return Le.createElement("div",{className:Pr,style:Zt},Ie)},[Ie,Zt,On]);return Le.createElement("div",{className:`${On}-wrapper-body`,style:wn},vi,Le.createElement("div",{className:`${On}-body`,style:Lt},or),Un)},Dr=he(33234),oi=he(83116),yt=he(37613),Rn=qn=>{const{componentCls:On,motionDurationSlow:qe}=qn,Ie={"&-enter, &-appear, &-leave":{"&-start":{transition:"none"},"&-active":{transition:`all ${qe}`}}};return{[On]:{[`${On}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${qe}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${On}-panel-motion`]:{"&-left":[Ie,{"&-enter, &-appear":{"&-start":{transform:"translateX(-100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(-100%)"}}}],"&-right":[Ie,{"&-enter, &-appear":{"&-start":{transform:"translateX(100%) !important"},"&-active":{transform:"translateX(0)"}},"&-leave":{transform:"translateX(0)","&-active":{transform:"translateX(100%)"}}}],"&-top":[Ie,{"&-enter, &-appear":{"&-start":{transform:"translateY(-100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(-100%)"}}}],"&-bottom":[Ie,{"&-enter, &-appear":{"&-start":{transform:"translateY(100%) !important"},"&-active":{transform:"translateY(0)"}},"&-leave":{transform:"translateY(0)","&-active":{transform:"translateY(100%)"}}}]}}}};const fi=qn=>{const{componentCls:On,zIndexPopup:qe,colorBgMask:Ie,colorBgElevated:Ce,motionDurationSlow:He,motionDurationMid:it,padding:we,paddingLG:Xt,fontSizeLG:wn,lineHeightLG:Lt,lineWidth:Zt,lineType:or,colorSplit:Xn,marginSM:dn,colorIcon:kr,colorIconHover:vi,colorText:Un,fontWeightStrong:Pr,footerPaddingBlock:Ii,footerPaddingInline:on}=qn,qt=`${On}-content-wrapper`;return{[On]:{position:"fixed",inset:0,zIndex:qe,pointerEvents:"none","&-pure":{position:"relative",background:Ce,[`&${On}-left`]:{boxShadow:qn.boxShadowDrawerLeft},[`&${On}-right`]:{boxShadow:qn.boxShadowDrawerRight},[`&${On}-top`]:{boxShadow:qn.boxShadowDrawerUp},[`&${On}-bottom`]:{boxShadow:qn.boxShadowDrawerDown}},"&-inline":{position:"absolute"},[`${On}-mask`]:{position:"absolute",inset:0,zIndex:qe,background:Ie,pointerEvents:"auto"},[qt]:{position:"absolute",zIndex:qe,maxWidth:"100vw",transition:`all ${He}`,"&-hidden":{display:"none"}},[`&-left > ${qt}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:qn.boxShadowDrawerLeft},[`&-right > ${qt}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:qn.boxShadowDrawerRight},[`&-top > ${qt}`]:{top:0,insetInline:0,boxShadow:qn.boxShadowDrawerUp},[`&-bottom > ${qt}`]:{bottom:0,insetInline:0,boxShadow:qn.boxShadowDrawerDown},[`${On}-content`]:{width:"100%",height:"100%",overflow:"auto",background:Ce,pointerEvents:"auto"},[`${On}-wrapper-body`]:{display:"flex",flexDirection:"column",width:"100%",height:"100%"},[`${On}-header`]:{display:"flex",flex:0,alignItems:"center",padding:`${we}px ${Xt}px`,fontSize:wn,lineHeight:Lt,borderBottom:`${Zt}px ${or} ${Xn}`,"&-title":{display:"flex",flex:1,alignItems:"center",minWidth:0,minHeight:0}},[`${On}-extra`]:{flex:"none"},[`${On}-close`]:{display:"inline-block",marginInlineEnd:dn,color:kr,fontWeight:Pr,fontSize:wn,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",textDecoration:"none",background:"transparent",border:0,outline:0,cursor:"pointer",transition:`color ${it}`,textRendering:"auto","&:focus, &:hover":{color:vi,textDecoration:"none"}},[`${On}-title`]:{flex:1,margin:0,color:Un,fontWeight:qn.fontWeightStrong,fontSize:wn,lineHeight:Lt},[`${On}-body`]:{flex:1,minWidth:0,minHeight:0,padding:Xt,overflow:"auto"},[`${On}-footer`]:{flexShrink:0,padding:`${Ii}px ${on}px`,borderTop:`${Zt}px ${or} ${Xn}`},"&-rtl":{direction:"rtl"}}}};var li=(0,oi.Z)("Drawer",qn=>{const On=(0,yt.TS)(qn,{});return[fi(On),Rn(On)]},qn=>({zIndexPopup:qn.zIndexPopupBase,footerPaddingBlock:qn.paddingXS,footerPaddingInline:qn.padding})),In=he(11575),an=function(qn,On){var qe={};for(var Ie in qn)Object.prototype.hasOwnProperty.call(qn,Ie)&&On.indexOf(Ie)<0&&(qe[Ie]=qn[Ie]);if(qn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ce=0,Ie=Object.getOwnPropertySymbols(qn);Ce{var On;const{rootClassName:qe,width:Ie,height:Ce,size:He="default",mask:it=!0,push:we=Or,open:Xt,afterOpenChange:wn,onClose:Lt,prefixCls:Zt,getContainer:or,style:Xn,className:dn,visible:kr,afterVisibleChange:vi}=qn,Un=an(qn,["rootClassName","width","height","size","mask","push","open","afterOpenChange","onClose","prefixCls","getContainer","style","className","visible","afterVisibleChange"]),{getPopupContainer:Pr,getPrefixCls:Ii,direction:on,drawer:qt}=Le.useContext(tn.E_),gn=Ii("drawer",Zt),[gr,mr]=li(gn),xi=or===void 0&&Pr?()=>Pr(document.body):or,Ui=je()({"no-mask":!it,[`${gn}-rtl`]:on==="rtl"},qe,mr),Ni=Le.useMemo(()=>Ie!=null?Ie:He==="large"?736:378,[Ie,He]),Fa=Le.useMemo(()=>Ce!=null?Ce:He==="large"?736:378,[Ce,He]),_o={motionName:(0,et.m)(gn,"mask-motion"),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500},co=Yi=>({motionName:(0,et.m)(gn,`panel-motion-${Yi}`),motionAppear:!0,motionEnter:!0,motionLeave:!0,motionDeadline:500}),kn=(0,In.H)();return gr(Le.createElement(Dr.BR,null,Le.createElement(Ct.Ux,{status:!0,override:!0},Le.createElement(pn,Object.assign({prefixCls:gn,onClose:Lt,maskMotion:_o,motion:co},Un,{open:Xt!=null?Xt:kr,mask:it,push:we,width:Ni,height:Fa,style:Object.assign(Object.assign({},qt==null?void 0:qt.style),Xn),className:je()(qt==null?void 0:qt.className,dn),rootClassName:Ui,getContainer:xi,afterOpenChange:wn!=null?wn:vi,panelRef:kn}),Le.createElement(bn,Object.assign({prefixCls:gn},Un,{onClose:Lt}))))))},Qn=qn=>{const{prefixCls:On,style:qe,className:Ie,placement:Ce="right"}=qn,He=an(qn,["prefixCls","style","className","placement"]),{getPrefixCls:it}=Le.useContext(tn.E_),we=it("drawer",On),[Xt,wn]=li(we),Lt=je()(we,`${we}-pure`,`${we}-${Ce}`,wn,Ie);return Xt(Le.createElement("div",{className:Lt,style:qe},Le.createElement(bn,Object.assign({prefixCls:we},He))))};zn._InternalPanelDoNotUseOrYouWillBeFired=Qn;var Jn=zn},8628:function(Hn,xr,he){"use strict";var se=he(59301),je=he(34280),Bt=he(56762),Rt=he(69507);function Dt(){let dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;const Le=(0,se.useRef)({}),Xe=(0,Bt.Z)(),_e=(0,Rt.ZP)();return(0,je.Z)(()=>{const It=_e.subscribe(vt=>{Le.current=vt,dt&&Xe()});return()=>_e.unsubscribe(It)},[]),Le.current}xr.Z=Dt},5871:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return Ii}});var se=he(84105),je=he(87395),Bt=he(92310),Rt=he.n(Bt),Dt=he(60499),dt=he(18642),Le=he(43749),Xe=he(72190),_e=he(42244),It=he(38705),vt=he(17212);function wt(){return typeof BigInt=="function"}function Ot(on){return!on&&on!==0&&!Number.isNaN(on)||!String(on).trim()}function Ye(on){var qt=on.trim(),gn=qt.startsWith("-");gn&&(qt=qt.slice(1)),qt=qt.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),qt.startsWith(".")&&(qt="0".concat(qt));var gr=qt||"0",mr=gr.split("."),xi=mr[0]||"0",Ui=mr[1]||"0";xi==="0"&&Ui==="0"&&(gn=!1);var Ni=gn?"-":"";return{negative:gn,negativeStr:Ni,trimStr:gr,integerStr:xi,decimalStr:Ui,fullStr:"".concat(Ni).concat(gr)}}function We(on){var qt=String(on);return!Number.isNaN(Number(qt))&&qt.includes("e")}function pt(on){var qt=String(on);if(We(on)){var gn=Number(qt.slice(qt.indexOf("e-")+2)),gr=qt.match(/\.(\d+)/);return gr!=null&&gr[1]&&(gn+=gr[1].length),gn}return qt.includes(".")&&Jt(qt)?qt.length-qt.indexOf(".")-1:0}function mt(on){var qt=String(on);if(We(on)){if(on>Number.MAX_SAFE_INTEGER)return String(wt()?BigInt(on).toString():Number.MAX_SAFE_INTEGER);if(on0&&arguments[0]!==void 0?arguments[0]:!0;return gn?this.isInvalidate()?"":Ye("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),on}(),$t=function(){function on(qt){if((0,It.Z)(this,on),(0,dt.Z)(this,"origin",""),(0,dt.Z)(this,"number",void 0),(0,dt.Z)(this,"empty",void 0),Ot(qt)){this.empty=!0;return}this.origin=String(qt),this.number=Number(qt)}return(0,vt.Z)(on,[{key:"negate",value:function(){return new on(-this.toNumber())}},{key:"add",value:function(gn){if(this.isInvalidate())return new on(gn);var gr=Number(gn);if(Number.isNaN(gr))return this;var mr=this.number+gr;if(mr>Number.MAX_SAFE_INTEGER)return new on(Number.MAX_SAFE_INTEGER);if(mrNumber.MAX_SAFE_INTEGER)return new on(Number.MAX_SAFE_INTEGER);if(mr0&&arguments[0]!==void 0?arguments[0]:!0;return gn?this.isInvalidate()?"":mt(this.number):this.origin}}]),on}();function Ft(on){return wt()?new Qt(on):new $t(on)}function Gt(on,qt,gn){var gr=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(on==="")return"";var mr=Ye(on),xi=mr.negativeStr,Ui=mr.integerStr,Ni=mr.decimalStr,Fa="".concat(qt).concat(Ni),_o="".concat(xi).concat(Ui);if(gn>=0){var co=Number(Ni[gn]);if(co>=5&&!gr){var kn=Ft(on).add("".concat(xi,"0.").concat("0".repeat(gn)).concat(10-co));return Gt(kn.toString(),qt,gn,gr)}return gn===0?_o:"".concat(_o).concat(qt).concat(Ni.padEnd(gn,"0").slice(0,gn))}return Fa===".0"?_o:"".concat(_o).concat(Fa)}var Je=Ft,Sn=he(93681),_n=he(34280),Cn=he(8654),Vt=he(59301),pn=he(48736);function et(on,qt){var gn=(0,Vt.useRef)(null);function gr(){try{var xi=on.selectionStart,Ui=on.selectionEnd,Ni=on.value,Fa=Ni.substring(0,xi),_o=Ni.substring(Ui);gn.current={start:xi,end:Ui,value:Ni,beforeTxt:Fa,afterTxt:_o}}catch(co){}}function mr(){if(on&&gn.current&&qt)try{var xi=on.value,Ui=gn.current,Ni=Ui.beforeTxt,Fa=Ui.afterTxt,_o=Ui.start,co=xi.length;if(xi.endsWith(Fa))co=xi.length-gn.current.afterTxt.length;else if(xi.startsWith(Ni))co=Ni.length;else{var kn=Ni[_o-1],Yi=xi.indexOf(kn,_o-1);Yi!==-1&&(co=Yi+1)}on.setSelectionRange(co,co)}catch(ys){(0,pn.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(ys.message))}}return[gr,mr]}var tn=he(49658),Ct=function(){var qt=(0,Vt.useState)(!1),gn=(0,Xe.Z)(qt,2),gr=gn[0],mr=gn[1];return(0,_n.Z)(function(){mr((0,tn.Z)())},[]),gr},Ln=Ct,Mn=he(16089),bn=200,Dr=600;function oi(on){var qt=on.prefixCls,gn=on.upNode,gr=on.downNode,mr=on.upDisabled,xi=on.downDisabled,Ui=on.onStep,Ni=Vt.useRef(),Fa=Vt.useRef([]),_o=Vt.useRef();_o.current=Ui;var co=function(){clearTimeout(Ni.current)},kn=function(ri,ua){ri.preventDefault(),co(),_o.current(ua);function un(){_o.current(ua),Ni.current=setTimeout(un,bn)}Ni.current=setTimeout(un,Dr)};Vt.useEffect(function(){return function(){co(),Fa.current.forEach(function(ir){return Mn.Z.cancel(ir)})}},[]);var Yi=Ln();if(Yi)return null;var ys="".concat(qt,"-handler"),$o=Rt()(ys,"".concat(ys,"-up"),(0,dt.Z)({},"".concat(ys,"-up-disabled"),mr)),eo=Rt()(ys,"".concat(ys,"-down"),(0,dt.Z)({},"".concat(ys,"-down-disabled"),xi)),lo=function(){return Fa.current.push((0,Mn.Z)(co))},Qr={unselectable:"on",role:"button",onMouseUp:lo,onMouseLeave:lo};return Vt.createElement("div",{className:"".concat(ys,"-wrap")},Vt.createElement("span",(0,Dt.Z)({},Qr,{onMouseDown:function(ri){kn(ri,!0)},"aria-label":"Increase Value","aria-disabled":mr,className:$o}),gn||Vt.createElement("span",{unselectable:"on",className:"".concat(qt,"-handler-up-inner")})),Vt.createElement("span",(0,Dt.Z)({},Qr,{onMouseDown:function(ri){kn(ri,!1)},"aria-label":"Decrease Value","aria-disabled":xi,className:eo}),gr||Vt.createElement("span",{unselectable:"on",className:"".concat(qt,"-handler-down-inner")})))}function yt(on){var qt=typeof on=="number"?mt(on):Ye(on).fullStr,gn=qt.includes(".");return gn?Ye(qt.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:on+"0"}var tt=he(5643),Rn=function(){var on=(0,Vt.useRef)(0),qt=function(){Mn.Z.cancel(on.current)};return(0,Vt.useEffect)(function(){return qt},[]),function(gn){qt(),on.current=(0,Mn.Z)(function(){gn()})}},fi=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep"],li=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","classes","className","classNames"],In=function(qt,gn){return qt||gn.isEmpty()?gn.toString():gn.toNumber()},an=function(qt){var gn=Je(qt);return gn.isInvalidate()?null:gn},Xr=Vt.forwardRef(function(on,qt){var gn,gr=on.prefixCls,mr=gr===void 0?"rc-input-number":gr,xi=on.className,Ui=on.style,Ni=on.min,Fa=on.max,_o=on.step,co=_o===void 0?1:_o,kn=on.defaultValue,Yi=on.value,ys=on.disabled,$o=on.readOnly,eo=on.upHandler,lo=on.downHandler,Qr=on.keyboard,ir=on.controls,ri=ir===void 0?!0:ir,ua=on.classNames,un=on.stringMode,lr=on.parser,Hr=on.formatter,hr=on.precision,Vr=on.decimalSeparator,Rr=on.onChange,qr=on.onInput,Zi=on.onPressEnter,Wn=on.onStep,st=(0,_e.Z)(on,fi),Nt="".concat(mr,"-input"),Gn=Vt.useRef(null),Sr=Vt.useState(!1),yr=(0,Xe.Z)(Sr,2),ci=yr[0],ai=yr[1],Ur=Vt.useRef(!1),zr=Vt.useRef(!1),ta=Vt.useRef(!1),qa=Vt.useState(function(){return Je(Yi!=null?Yi:kn)}),pi=(0,Xe.Z)(qa,2),Mr=pi[0],sr=pi[1];function xn(ui){Yi===void 0&&sr(ui)}var er=Vt.useCallback(function(ui,za){if(!za)return hr>=0?hr:Math.max(pt(ui),pt(co))},[hr,co]),Er=Vt.useCallback(function(ui){var za=String(ui);if(lr)return lr(za);var ls=za;return Vr&&(ls=ls.replace(Vr,".")),ls.replace(/[^\w.-]+/g,"")},[lr,Vr]),Zr=Vt.useRef(""),ti=Vt.useCallback(function(ui,za){if(Hr)return Hr(ui,{userTyping:za,input:String(Zr.current)});var ls=typeof ui=="number"?mt(ui):ui;if(!za){var vs=er(ls,za);if(Jt(ls)&&(Vr||vs>=0)){var Ms=Vr||".";ls=Gt(ls,Ms,vs)}}return ls},[Hr,er,Vr]),Nr=Vt.useState(function(){var ui=kn!=null?kn:Yi;return Mr.isInvalidate()&&["string","number"].includes((0,Le.Z)(ui))?Number.isNaN(ui)?"":ui:ti(Mr.toString(),!1)}),Bi=(0,Xe.Z)(Nr,2),Zn=Bi[0],Di=Bi[1];Zr.current=Zn;function da(ui,za){Di(ti(ui.isInvalidate()?ui.toString(!1):ui.toString(!za),za))}var ha=Vt.useMemo(function(){return an(Fa)},[Fa,hr]),na=Vt.useMemo(function(){return an(Ni)},[Ni,hr]),Qa=Vt.useMemo(function(){return!ha||!Mr||Mr.isInvalidate()?!1:ha.lessEquals(Mr)},[ha,Mr]),Ao=Vt.useMemo(function(){return!na||!Mr||Mr.isInvalidate()?!1:Mr.lessEquals(na)},[na,Mr]),Da=et(Gn.current,ci),Ma=(0,Xe.Z)(Da,2),es=Ma[0],Fo=Ma[1],Ls=function(za){return ha&&!za.lessEquals(ha)?ha:na&&!na.lessEquals(za)?na:null},_a=function(za){return!Ls(za)},$s=function(za,ls){var vs=za,Ms=_a(vs)||vs.isEmpty();if(!vs.isEmpty()&&!ls&&(vs=Ls(vs)||vs,Ms=!0),!$o&&!ys&&Ms){var Ts=vs.toString(),ul=er(Ts,ls);return ul>=0&&(vs=Je(Gt(Ts,".",ul)),_a(vs)||(vs=Je(Gt(Ts,".",ul,!0)))),vs.equals(Mr)||(xn(vs),Rr==null||Rr(vs.isEmpty()?null:In(un,vs)),Yi===void 0&&da(vs,ls)),vs}return Mr},sa=Rn(),Os=function ui(za){if(es(),Zr.current=za,Di(za),!zr.current){var ls=Er(za),vs=Je(ls);vs.isNaN()||$s(vs,!0)}qr==null||qr(za),sa(function(){var Ms=za;lr||(Ms=za.replace(/。/g,".")),Ms!==za&&ui(Ms)})},Us=function(){zr.current=!0},Ns=function(){zr.current=!1,Os(Gn.current.value)},xs=function(za){Os(za.target.value)},Al=function(za){var ls;if(!(za&&Qa||!za&&Ao)){Ur.current=!1;var vs=Je(ta.current?yt(co):co);za||(vs=vs.negate());var Ms=(Mr||Je(0)).add(vs.toString()),Ts=$s(Ms,!1);Wn==null||Wn(In(un,Ts),{offset:ta.current?yt(co):co,type:za?"up":"down"}),(ls=Gn.current)===null||ls===void 0||ls.focus()}},Bs=function(za){var ls=Je(Er(Zn)),vs=ls;ls.isNaN()?vs=$s(Mr,za):vs=$s(ls,za),Yi!==void 0?da(Mr,!1):vs.isNaN()||da(vs,!1)},Ho=function(){Ur.current=!0},ll=function(za){var ls=za.key,vs=za.shiftKey;Ur.current=!0,ta.current=vs,ls==="Enter"&&(zr.current||(Ur.current=!1),Bs(!1),Zi==null||Zi(za)),Qr!==!1&&!zr.current&&["Up","ArrowUp","Down","ArrowDown"].includes(ls)&&(Al(ls==="Up"||ls==="ArrowUp"),za.preventDefault())},el=function(){Ur.current=!1,ta.current=!1},Rs=function(){Bs(!1),ai(!1),Ur.current=!1};return(0,_n.o)(function(){Mr.isInvalidate()||da(Mr,!1)},[hr]),(0,_n.o)(function(){var ui=Je(Yi);sr(ui);var za=Je(Er(Zn));(!ui.equals(za)||!Ur.current||Hr)&&da(ui,Ur.current)},[Yi]),(0,_n.o)(function(){Hr&&Fo()},[Zn]),Vt.createElement("div",{className:Rt()(mr,ua==null?void 0:ua.input,xi,(gn={},(0,dt.Z)(gn,"".concat(mr,"-focused"),ci),(0,dt.Z)(gn,"".concat(mr,"-disabled"),ys),(0,dt.Z)(gn,"".concat(mr,"-readonly"),$o),(0,dt.Z)(gn,"".concat(mr,"-not-a-number"),Mr.isNaN()),(0,dt.Z)(gn,"".concat(mr,"-out-of-range"),!Mr.isInvalidate()&&!_a(Mr)),gn)),style:Ui,onFocus:function(){ai(!0)},onBlur:Rs,onKeyDown:ll,onKeyUp:el,onCompositionStart:Us,onCompositionEnd:Ns,onBeforeInput:Ho},ri&&Vt.createElement(oi,{prefixCls:mr,upNode:eo,downNode:lo,upDisabled:Qa,downDisabled:Ao,onStep:Al}),Vt.createElement("div",{className:"".concat(Nt,"-wrap")},Vt.createElement("input",(0,Dt.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":Ni,"aria-valuemax":Fa,"aria-valuenow":Mr.isInvalidate()?null:Mr.toString(),step:co},st,{ref:(0,Cn.sQ)(Gn,qt),className:Nt,value:Zn,onChange:xs,disabled:ys,readOnly:$o}))))}),Or=Vt.forwardRef(function(on,qt){var gn=on.disabled,gr=on.style,mr=on.prefixCls,xi=on.value,Ui=on.prefix,Ni=on.suffix,Fa=on.addonBefore,_o=on.addonAfter,co=on.classes,kn=on.className,Yi=on.classNames,ys=(0,_e.Z)(on,li),$o=Vt.useRef(null),eo=function(Qr){$o.current&&(0,tt.nH)($o.current,Qr)};return Vt.createElement(Sn.BaseInput,{inputElement:Vt.createElement(Xr,(0,Dt.Z)({prefixCls:mr,disabled:gn,classNames:Yi,ref:(0,Cn.sQ)($o,qt)},ys)),className:kn,triggerFocus:eo,prefixCls:mr,value:xi,disabled:gn,style:gr,prefix:Ui,suffix:Ni,addonAfter:_o,addonBefore:Fa,classes:co,classNames:Yi,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}})});Or.displayName="InputNumber";var zn=Or,Qn=zn,Jn=he(19080),qn=he(36355),On=he(92736),qe=he(1684),Ie=he(19716),Ce=he(32441),He=he(33234),it=he(9937),we=he(17313),Xt=he(74207),wn=he(83116),Lt=he(37613);const Zt=(on,qt)=>{let{componentCls:gn,borderRadiusSM:gr,borderRadiusLG:mr}=on;const xi=qt==="lg"?mr:gr;return{[`&-${qt}`]:{[`${gn}-handler-wrap`]:{borderStartEndRadius:xi,borderEndEndRadius:xi},[`${gn}-handler-up`]:{borderStartEndRadius:xi},[`${gn}-handler-down`]:{borderEndEndRadius:xi}}}},or=on=>{const{componentCls:qt,lineWidth:gn,lineType:gr,colorBorder:mr,borderRadius:xi,fontSizeLG:Ui,controlHeightLG:Ni,controlHeightSM:Fa,colorError:_o,paddingInlineSM:co,colorTextDescription:kn,motionDurationMid:Yi,handleHoverColor:ys,paddingInline:$o,paddingBlock:eo,handleBg:lo,handleActiveBg:Qr,colorTextDisabled:ir,borderRadiusSM:ri,borderRadiusLG:ua,controlWidth:un,handleVisible:lr,handleBorderColor:Hr}=on;return[{[qt]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,we.Wf)(on)),(0,it.ik)(on)),(0,it.bi)(on,qt)),{display:"inline-block",width:un,margin:0,padding:0,border:`${gn}px ${gr} ${mr}`,borderRadius:xi,"&-rtl":{direction:"rtl",[`${qt}-input`]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:Ui,borderRadius:ua,[`input${qt}-input`]:{height:Ni-2*gn}},"&-sm":{padding:0,borderRadius:ri,[`input${qt}-input`]:{height:Fa-2*gn,padding:`0 ${co}px`}},"&:hover":Object.assign({},(0,it.pU)(on)),"&-focused":Object.assign({},(0,it.M1)(on)),"&-out-of-range":{[`${qt}-input-wrap`]:{input:{color:_o}}},"&-group":Object.assign(Object.assign(Object.assign({},(0,we.Wf)(on)),(0,it.s7)(on)),{"&-wrapper":{display:"inline-block",textAlign:"start",verticalAlign:"top",[`${qt}-affix-wrapper`]:{width:"100%"},"&-lg":{[`${qt}-group-addon`]:{borderRadius:ua,fontSize:on.fontSizeLG}},"&-sm":{[`${qt}-group-addon`]:{borderRadius:ri}},[`${qt}-wrapper-disabled > ${qt}-group-addon`]:Object.assign({},(0,it.Xy)(on))}}),[`&-disabled ${qt}-input`]:{cursor:"not-allowed"},[qt]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},(0,we.Wf)(on)),{width:"100%",padding:`${eo}px ${$o}px`,textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:xi,outline:0,transition:`all ${Yi} linear`,appearance:"textfield",fontSize:"inherit"}),(0,it.nz)(on.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[qt]:Object.assign(Object.assign(Object.assign({[`&:hover ${qt}-handler-wrap, &-focused ${qt}-handler-wrap`]:{opacity:1},[`${qt}-handler-wrap`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:on.handleWidth,height:"100%",background:lo,borderStartStartRadius:0,borderStartEndRadius:xi,borderEndEndRadius:xi,borderEndStartRadius:0,opacity:lr===!0?1:0,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`opacity ${Yi} linear ${Yi}`,[`${qt}-handler`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",[` - ${qt}-handler-up-inner, - ${qt}-handler-down-inner - `]:{marginInlineEnd:0,fontSize:on.handleFontSize}}},[`${qt}-handler`]:{height:"50%",overflow:"hidden",color:kn,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:`${gn}px ${gr} ${Hr}`,transition:`all ${Yi} linear`,"&:active":{background:Qr},"&:hover":{height:"60%",[` - ${qt}-handler-up-inner, - ${qt}-handler-down-inner - `]:{color:ys}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},(0,we.Ro)()),{color:kn,transition:`all ${Yi} linear`,userSelect:"none"})},[`${qt}-handler-up`]:{borderStartEndRadius:xi},[`${qt}-handler-down`]:{borderBlockStart:`${gn}px ${gr} ${Hr}`,borderEndEndRadius:xi}},Zt(on,"lg")),Zt(on,"sm")),{"&-disabled, &-readonly":{[`${qt}-handler-wrap`]:{display:"none"},[`${qt}-input`]:{color:"inherit"}},[` - ${qt}-handler-up-disabled, - ${qt}-handler-down-disabled - `]:{cursor:"not-allowed"},[` - ${qt}-handler-up-disabled:hover &-handler-up-inner, - ${qt}-handler-down-disabled:hover &-handler-down-inner - `]:{color:ir}})},{[`${qt}-borderless`]:{borderColor:"transparent",boxShadow:"none",[`${qt}-handler-down`]:{borderBlockStartWidth:0}}}]},Xn=on=>{const{componentCls:qt,paddingBlock:gn,paddingInline:gr,inputAffixPadding:mr,controlWidth:xi,borderRadiusLG:Ui,borderRadiusSM:Ni}=on;return{[`${qt}-affix-wrapper`]:Object.assign(Object.assign(Object.assign({},(0,it.ik)(on)),(0,it.bi)(on,`${qt}-affix-wrapper`)),{position:"relative",display:"inline-flex",width:xi,padding:0,paddingInlineStart:gr,"&-lg":{borderRadius:Ui},"&-sm":{borderRadius:Ni},[`&:not(${qt}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},(0,it.pU)(on)),{zIndex:1}),"&-focused, &:focus":{zIndex:1},[`&-disabled > ${qt}-disabled`]:{background:"transparent"},[`> div${qt}`]:{width:"100%",border:"none",outline:"none",[`&${qt}-focused`]:{boxShadow:"none !important"}},[`input${qt}-input`]:{padding:`${gn}px 0`},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${qt}-handler-wrap`]:{zIndex:2},[qt]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:mr},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:gr,marginInlineStart:mr}}})}};var dn=(0,wn.Z)("InputNumber",on=>{const qt=(0,Lt.TS)(on,(0,it.e5)(on));return[or(qt),Xn(qt),(0,Xt.c)(qt)]},on=>Object.assign(Object.assign({},(0,it.TM)(on)),{controlWidth:90,handleWidth:on.controlHeightSM-on.lineWidth*2,handleFontSize:on.fontSize/2,handleVisible:"auto",handleActiveBg:on.colorFillAlter,handleBg:on.colorBgContainer,handleHoverColor:on.colorPrimary,handleBorderColor:on.colorBorder})),kr=function(on,qt){var gn={};for(var gr in on)Object.prototype.hasOwnProperty.call(on,gr)&&qt.indexOf(gr)<0&&(gn[gr]=on[gr]);if(on!=null&&typeof Object.getOwnPropertySymbols=="function")for(var mr=0,gr=Object.getOwnPropertySymbols(on);mr{const{getPrefixCls:gn,direction:gr}=Vt.useContext(qn.E_),mr=Vt.useRef(null);Vt.useImperativeHandle(qt,()=>mr.current);const{className:xi,rootClassName:Ui,size:Ni,disabled:Fa,prefixCls:_o,addonBefore:co,addonAfter:kn,prefix:Yi,bordered:ys=!0,readOnly:$o,status:eo,controls:lo}=on,Qr=kr(on,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls"]),ir=gn("input-number",_o),[ri,ua]=dn(ir),{compactSize:un,compactItemClassnames:lr}=(0,He.ri)(ir,gr);let Hr=Vt.createElement(je.Z,{className:`${ir}-handler-up-inner`}),hr=Vt.createElement(se.Z,{className:`${ir}-handler-down-inner`});const Vr=typeof lo=="boolean"?lo:void 0;typeof lo=="object"&&(Hr=typeof lo.upIcon=="undefined"?Hr:Vt.createElement("span",{className:`${ir}-handler-up-inner`},lo.upIcon),hr=typeof lo.downIcon=="undefined"?hr:Vt.createElement("span",{className:`${ir}-handler-down-inner`},lo.downIcon));const{hasFeedback:Rr,status:qr,isFormItemInput:Zi,feedbackIcon:Wn}=Vt.useContext(Ce.aM),st=(0,Jn.F)(qr,eo),Nt=(0,Ie.Z)(Ur=>{var zr;return(zr=Ni!=null?Ni:un)!==null&&zr!==void 0?zr:Ur}),Gn=Vt.useContext(qe.Z),Sr=Fa!=null?Fa:Gn,yr=Rt()({[`${ir}-lg`]:Nt==="large",[`${ir}-sm`]:Nt==="small",[`${ir}-rtl`]:gr==="rtl",[`${ir}-borderless`]:!ys,[`${ir}-in-form-item`]:Zi},(0,Jn.Z)(ir,st),lr,ua),ci=`${ir}-group`,ai=Vt.createElement(Qn,Object.assign({ref:mr,disabled:Sr,className:Rt()(xi,Ui),upHandler:Hr,downHandler:hr,prefixCls:ir,readOnly:$o,controls:Vr,prefix:Yi,suffix:Rr&&Wn,addonAfter:kn&&Vt.createElement(He.BR,null,Vt.createElement(Ce.Ux,{override:!0,status:!0},kn)),addonBefore:co&&Vt.createElement(He.BR,null,Vt.createElement(Ce.Ux,{override:!0,status:!0},co)),classNames:{input:yr},classes:{affixWrapper:Rt()((0,Jn.Z)(`${ir}-affix-wrapper`,st,Rr),{[`${ir}-affix-wrapper-sm`]:Nt==="small",[`${ir}-affix-wrapper-lg`]:Nt==="large",[`${ir}-affix-wrapper-rtl`]:gr==="rtl",[`${ir}-affix-wrapper-borderless`]:!ys},ua),wrapper:Rt()({[`${ci}-rtl`]:gr==="rtl",[`${ir}-wrapper-disabled`]:Sr},ua),group:Rt()({[`${ir}-group-wrapper-sm`]:Nt==="small",[`${ir}-group-wrapper-lg`]:Nt==="large",[`${ir}-group-wrapper-rtl`]:gr==="rtl"},(0,Jn.Z)(`${ir}-group-wrapper`,st,Rr),ua)}},Qr));return ri(ai)}),Un=vi,Pr=on=>Vt.createElement(On.ZP,{theme:{components:{InputNumber:{handleVisible:!0}}}},Vt.createElement(vi,Object.assign({},on)));Un._InternalPanelDoNotUseOrYouWillBeFired=Pr;var Ii=Un},58421:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return wn}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(Zt,or){return je.createElement(Dt.Z,(0,se.Z)({},Zt,{ref:or,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le,_e=he(49198),It=he(33853),vt=he(38819),wt=he(92310),Ot=he.n(wt),Ye=he(18642),We=he(85899),pt=he(38705),mt=he(17212),Jt=he(39153),Qt=he(55401),$t=he(26112),Ft={ZERO:48,NINE:57,NUMPAD_ZERO:96,NUMPAD_NINE:105,BACKSPACE:8,DELETE:46,ENTER:13,ARROW_UP:38,ARROW_DOWN:40},Gt=Ft,Je=he(91735),Sn=function(Lt){(0,Jt.Z)(or,Lt);var Zt=(0,Qt.Z)(or);function or(){var Xn;(0,pt.Z)(this,or);for(var dn=arguments.length,kr=new Array(dn),vi=0;vi=0||Un.relatedTarget.className.indexOf("".concat(qt,"-item"))>=0))&&on(Xn.getValidValue()))},Xn.go=function(Un){var Pr=Xn.state.goInputText;Pr!==""&&(Un.keyCode===Gt.ENTER||Un.type==="click")&&(Xn.setState({goInputText:""}),Xn.props.quickGo(Xn.getValidValue()))},Xn}return(0,mt.Z)(or,[{key:"getPageSizeOptions",value:function(){var dn=this.props,kr=dn.pageSize,vi=dn.pageSizeOptions;return vi.some(function(Un){return Un.toString()===kr.toString()})?vi:vi.concat([kr.toString()]).sort(function(Un,Pr){var Ii=Number.isNaN(Number(Un))?0:Number(Un),on=Number.isNaN(Number(Pr))?0:Number(Pr);return Ii-on})}},{key:"render",value:function(){var dn=this,kr=this.props,vi=kr.pageSize,Un=kr.locale,Pr=kr.rootPrefixCls,Ii=kr.changeSize,on=kr.quickGo,qt=kr.goButton,gn=kr.selectComponentClass,gr=kr.buildOptionText,mr=kr.selectPrefixCls,xi=kr.disabled,Ui=this.state.goInputText,Ni="".concat(Pr,"-options"),Fa=gn,_o=null,co=null,kn=null;if(!Ii&&!on)return null;var Yi=this.getPageSizeOptions();if(Ii&&Fa){var ys=Yi.map(function($o,eo){return je.createElement(Fa.Option,{key:eo,value:$o.toString()},(gr||dn.buildOptionText)($o))});_o=je.createElement(Fa,{disabled:xi,prefixCls:mr,showSearch:!1,className:"".concat(Ni,"-size-changer"),optionLabelProp:"children",popupMatchSelectWidth:!1,value:(vi||Yi[0]).toString(),onChange:this.changeSize,getPopupContainer:function(eo){return eo.parentNode},"aria-label":Un.page_size,defaultOpen:!1},ys)}return on&&(qt&&(kn=typeof qt=="boolean"?je.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:xi,className:"".concat(Ni,"-quick-jumper-button")},Un.jump_to_confirm):je.createElement("span",{onClick:this.go,onKeyUp:this.go},qt)),co=je.createElement("div",{className:"".concat(Ni,"-quick-jumper")},Un.jump_to,je.createElement("input",{disabled:xi,type:"text",value:Ui,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":Un.page}),Un.page,kn)),je.createElement("li",{className:"".concat(Ni)},_o,co)}}]),or}(je.Component);Sn.defaultProps={pageSizeOptions:["10","20","50","100"]};var _n=Sn,Cn=function(Zt){var or,Xn=Zt.rootPrefixCls,dn=Zt.page,kr=Zt.active,vi=Zt.className,Un=Zt.showTitle,Pr=Zt.onClick,Ii=Zt.onKeyPress,on=Zt.itemRender,qt="".concat(Xn,"-item"),gn=Ot()(qt,"".concat(qt,"-").concat(dn),(or={},(0,Ye.Z)(or,"".concat(qt,"-active"),kr),(0,Ye.Z)(or,"".concat(qt,"-disabled"),!dn),(0,Ye.Z)(or,Zt.className,vi),or)),gr=function(){Pr(dn)},mr=function(Ni){Ii(Ni,Pr,dn)},xi=on(dn,"page",je.createElement("a",{rel:"nofollow"},dn));return xi?je.createElement("li",{title:Un?dn.toString():null,className:gn,onClick:gr,onKeyPress:mr,tabIndex:0},xi):null},Vt=Cn;function pn(){}function et(Lt){var Zt=Number(Lt);return typeof Zt=="number"&&!Number.isNaN(Zt)&&isFinite(Zt)&&Math.floor(Zt)===Zt}var tn=function(Zt,or,Xn){return Xn};function Ct(Lt,Zt,or){var Xn=typeof Lt=="undefined"?Zt.pageSize:Lt;return Math.floor((or.total-1)/Xn)+1}var Ln=function(Lt){(0,Jt.Z)(or,Lt);var Zt=(0,Qt.Z)(or);function or(Xn){var dn;(0,pt.Z)(this,or),dn=Zt.call(this,Xn),dn.paginationNode=je.createRef(),dn.getJumpPrevPage=function(){return Math.max(1,dn.state.current-(dn.props.showLessItems?3:5))},dn.getJumpNextPage=function(){return Math.min(Ct(void 0,dn.state,dn.props),dn.state.current+(dn.props.showLessItems?3:5))},dn.getItemIcon=function(Ii,on){var qt=dn.props.prefixCls,gn=Ii||je.createElement("button",{type:"button","aria-label":on,className:"".concat(qt,"-item-link")});return typeof Ii=="function"&&(gn=je.createElement(Ii,(0,We.Z)({},dn.props))),gn},dn.isValid=function(Ii){var on=dn.props.total;return et(Ii)&&Ii!==dn.state.current&&et(on)&&on>0},dn.shouldDisplayQuickJumper=function(){var Ii=dn.props,on=Ii.showQuickJumper,qt=Ii.total,gn=dn.state.pageSize;return qt<=gn?!1:on},dn.handleKeyDown=function(Ii){(Ii.keyCode===Gt.ARROW_UP||Ii.keyCode===Gt.ARROW_DOWN)&&Ii.preventDefault()},dn.handleKeyUp=function(Ii){var on=dn.getValidValue(Ii),qt=dn.state.currentInputValue;on!==qt&&dn.setState({currentInputValue:on}),Ii.keyCode===Gt.ENTER?dn.handleChange(on):Ii.keyCode===Gt.ARROW_UP?dn.handleChange(on-1):Ii.keyCode===Gt.ARROW_DOWN&&dn.handleChange(on+1)},dn.handleBlur=function(Ii){var on=dn.getValidValue(Ii);dn.handleChange(on)},dn.changePageSize=function(Ii){var on=dn.state.current,qt=Ct(Ii,dn.state,dn.props);on=on>qt?qt:on,qt===0&&(on=dn.state.current),typeof Ii=="number"&&("pageSize"in dn.props||dn.setState({pageSize:Ii}),"current"in dn.props||dn.setState({current:on,currentInputValue:on})),dn.props.onShowSizeChange(on,Ii),"onChange"in dn.props&&dn.props.onChange&&dn.props.onChange(on,Ii)},dn.handleChange=function(Ii){var on=dn.props,qt=on.disabled,gn=on.onChange,gr=dn.state,mr=gr.pageSize,xi=gr.current,Ui=gr.currentInputValue;if(dn.isValid(Ii)&&!qt){var Ni=Ct(void 0,dn.state,dn.props),Fa=Ii;return Ii>Ni?Fa=Ni:Ii<1&&(Fa=1),"current"in dn.props||dn.setState({current:Fa}),Fa!==Ui&&dn.setState({currentInputValue:Fa}),gn(Fa,mr),Fa}return xi},dn.prev=function(){dn.hasPrev()&&dn.handleChange(dn.state.current-1)},dn.next=function(){dn.hasNext()&&dn.handleChange(dn.state.current+1)},dn.jumpPrev=function(){dn.handleChange(dn.getJumpPrevPage())},dn.jumpNext=function(){dn.handleChange(dn.getJumpNextPage())},dn.hasPrev=function(){return dn.state.current>1},dn.hasNext=function(){return dn.state.current2?qt-2:0),gr=2;gr=vi?Pr=vi:Pr=Number(kr),Pr}},{key:"getShowSizeChanger",value:function(){var dn=this.props,kr=dn.showSizeChanger,vi=dn.total,Un=dn.totalBoundaryShowSizeChanger;return typeof kr!="undefined"?kr:vi>Un}},{key:"render",value:function(){var dn=this.props,kr=dn.prefixCls,vi=dn.className,Un=dn.style,Pr=dn.disabled,Ii=dn.hideOnSinglePage,on=dn.total,qt=dn.locale,gn=dn.showQuickJumper,gr=dn.showLessItems,mr=dn.showTitle,xi=dn.showTotal,Ui=dn.simple,Ni=dn.itemRender,Fa=dn.showPrevNextJumpers,_o=dn.jumpPrevIcon,co=dn.jumpNextIcon,kn=dn.selectComponentClass,Yi=dn.selectPrefixCls,ys=dn.pageSizeOptions,$o=this.state,eo=$o.current,lo=$o.pageSize,Qr=$o.currentInputValue;if(Ii===!0&&on<=lo)return null;var ir=Ct(void 0,this.state,this.props),ri=[],ua=null,un=null,lr=null,Hr=null,hr=null,Vr=gn&&gn.goButton,Rr=gr?1:2,qr=eo-1>0?eo-1:0,Zi=eo+1on?on:eo*lo]));if(Ui){Vr&&(typeof Vr=="boolean"?hr=je.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},qt.jump_to_confirm):hr=je.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},Vr),hr=je.createElement("li",{title:mr?"".concat(qt.jump_to).concat(eo,"/").concat(ir):null,className:"".concat(kr,"-simple-pager")},hr));var Nt=this.renderPrev(qr);return je.createElement("ul",(0,se.Z)({className:Ot()(kr,"".concat(kr,"-simple"),(0,Ye.Z)({},"".concat(kr,"-disabled"),Pr),vi),style:Un,ref:this.paginationNode},Wn),st,Nt?je.createElement("li",{title:mr?qt.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:Ot()("".concat(kr,"-prev"),(0,Ye.Z)({},"".concat(kr,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},Nt):null,je.createElement("li",{title:mr?"".concat(eo,"/").concat(ir):null,className:"".concat(kr,"-simple-pager")},je.createElement("input",{type:"text",value:Qr,disabled:Pr,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:3}),je.createElement("span",{className:"".concat(kr,"-slash")},"/"),ir),je.createElement("li",{title:mr?qt.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:Ot()("".concat(kr,"-next"),(0,Ye.Z)({},"".concat(kr,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(Zi)),hr)}if(ir<=3+Rr*2){var Gn={locale:qt,rootPrefixCls:kr,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:mr,itemRender:Ni};ir||ri.push(je.createElement(Vt,(0,se.Z)({},Gn,{key:"noPager",page:1,className:"".concat(kr,"-item-disabled")})));for(var Sr=1;Sr<=ir;Sr+=1){var yr=eo===Sr;ri.push(je.createElement(Vt,(0,se.Z)({},Gn,{key:Sr,page:Sr,active:yr})))}}else{var ci=gr?qt.prev_3:qt.prev_5,ai=gr?qt.next_3:qt.next_5,Ur=Ni(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(_o,"prev page")),zr=Ni(this.getJumpNextPage(),"jump-next",this.getItemIcon(co,"next page"));Fa&&(ua=Ur?je.createElement("li",{title:mr?ci:null,key:"prev",onClick:this.jumpPrev,tabIndex:0,onKeyPress:this.runIfEnterJumpPrev,className:Ot()("".concat(kr,"-jump-prev"),(0,Ye.Z)({},"".concat(kr,"-jump-prev-custom-icon"),!!_o))},Ur):null,un=zr?je.createElement("li",{title:mr?ai:null,key:"next",tabIndex:0,onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:Ot()("".concat(kr,"-jump-next"),(0,Ye.Z)({},"".concat(kr,"-jump-next-custom-icon"),!!co))},zr):null),Hr=je.createElement(Vt,{locale:qt,last:!0,rootPrefixCls:kr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:ir,page:ir,active:!1,showTitle:mr,itemRender:Ni}),lr=je.createElement(Vt,{locale:qt,rootPrefixCls:kr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:mr,itemRender:Ni});var ta=Math.max(1,eo-Rr),qa=Math.min(eo+Rr,ir);eo-1<=Rr&&(qa=1+Rr*2),ir-eo<=Rr&&(ta=ir-Rr*2);for(var pi=ta;pi<=qa;pi+=1){var Mr=eo===pi;ri.push(je.createElement(Vt,{locale:qt,rootPrefixCls:kr,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:pi,page:pi,active:Mr,showTitle:mr,itemRender:Ni}))}eo-1>=Rr*2&&eo!==3&&(ri[0]=(0,je.cloneElement)(ri[0],{className:"".concat(kr,"-item-after-jump-prev")}),ri.unshift(ua)),ir-eo>=Rr*2&&eo!==ir-2&&(ri[ri.length-1]=(0,je.cloneElement)(ri[ri.length-1],{className:"".concat(kr,"-item-before-jump-next")}),ri.push(un)),ta!==1&&ri.unshift(lr),qa!==ir&&ri.push(Hr)}var sr=!this.hasPrev()||!ir,xn=!this.hasNext()||!ir,er=this.renderPrev(qr),Er=this.renderNext(Zi);return je.createElement("ul",(0,se.Z)({className:Ot()(kr,vi,(0,Ye.Z)({},"".concat(kr,"-disabled"),Pr)),style:Un,ref:this.paginationNode},Wn),st,er?je.createElement("li",{title:mr?qt.prev_page:null,onClick:this.prev,tabIndex:sr?null:0,onKeyPress:this.runIfEnterPrev,className:Ot()("".concat(kr,"-prev"),(0,Ye.Z)({},"".concat(kr,"-disabled"),sr)),"aria-disabled":sr},er):null,ri,Er?je.createElement("li",{title:mr?qt.next_page:null,onClick:this.next,tabIndex:xn?null:0,onKeyPress:this.runIfEnterNext,className:Ot()("".concat(kr,"-next"),(0,Ye.Z)({},"".concat(kr,"-disabled"),xn)),"aria-disabled":xn},Er):null,je.createElement(_n,{disabled:Pr,locale:qt,rootPrefixCls:kr,selectComponentClass:kn,selectPrefixCls:Yi,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:eo,pageSize:lo,pageSizeOptions:ys,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:Vr}))}}],[{key:"getDerivedStateFromProps",value:function(dn,kr){var vi={};if("current"in dn&&(vi.current=dn.current,dn.current!==kr.current&&(vi.currentInputValue=vi.current)),"pageSize"in dn&&dn.pageSize!==kr.pageSize){var Un=kr.current,Pr=Ct(dn.pageSize,kr,dn);Un=Un>Pr?Pr:Un,"current"in dn||(vi.current=Un,vi.currentInputValue=Un),vi.pageSize=dn.pageSize}return vi}}]),or}(je.Component);Ln.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:pn,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:pn,locale:Je.Z,style:{},itemRender:tn,totalBoundaryShowSizeChanger:50};var Mn=Ln,bn=he(22075),Dr=he(36355),oi=he(19716),yt=he(8628),tt=he(9763),Rn=he(57809);const fi=Lt=>je.createElement(Rn.default,Object.assign({},Lt,{showSearch:!0,size:"small"})),li=Lt=>je.createElement(Rn.default,Object.assign({},Lt,{showSearch:!0,size:"middle"}));fi.Option=Rn.default.Option,li.Option=Rn.default.Option;var In=he(9937),an=he(17313),Xr=he(83116),Or=he(37613);const zn=Lt=>{const{componentCls:Zt}=Lt;return{[`${Zt}-disabled`]:{"&, &:hover":{cursor:"not-allowed",[`${Zt}-item-link`]:{color:Lt.colorTextDisabled,cursor:"not-allowed"}},"&:focus-visible":{cursor:"not-allowed",[`${Zt}-item-link`]:{color:Lt.colorTextDisabled,cursor:"not-allowed"}}},[`&${Zt}-disabled`]:{cursor:"not-allowed",[`${Zt}-item`]:{cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},a:{color:Lt.colorTextDisabled,backgroundColor:"transparent",border:"none",cursor:"not-allowed"},"&-active":{borderColor:Lt.colorBorder,backgroundColor:Lt.itemActiveBgDisabled,"&:hover, &:active":{backgroundColor:Lt.itemActiveBgDisabled},a:{color:Lt.itemActiveColorDisabled}}},[`${Zt}-item-link`]:{color:Lt.colorTextDisabled,cursor:"not-allowed","&:hover, &:active":{backgroundColor:"transparent"},[`${Zt}-simple&`]:{backgroundColor:"transparent","&:hover, &:active":{backgroundColor:"transparent"}}},[`${Zt}-simple-pager`]:{color:Lt.colorTextDisabled},[`${Zt}-jump-prev, ${Zt}-jump-next`]:{[`${Zt}-item-link-icon`]:{opacity:0},[`${Zt}-item-ellipsis`]:{opacity:1}}},[`&${Zt}-simple`]:{[`${Zt}-prev, ${Zt}-next`]:{[`&${Zt}-disabled ${Zt}-item-link`]:{"&:hover, &:active":{backgroundColor:"transparent"}}}}}},Qn=Lt=>{const{componentCls:Zt}=Lt;return{[`&${Zt}-mini ${Zt}-total-text, &${Zt}-mini ${Zt}-simple-pager`]:{height:Lt.itemSizeSM,lineHeight:`${Lt.itemSizeSM}px`},[`&${Zt}-mini ${Zt}-item`]:{minWidth:Lt.itemSizeSM,height:Lt.itemSizeSM,margin:0,lineHeight:`${Lt.itemSizeSM-2}px`},[`&${Zt}-mini:not(${Zt}-disabled) ${Zt}-item:not(${Zt}-item-active)`]:{backgroundColor:"transparent",borderColor:"transparent","&:hover":{backgroundColor:Lt.colorBgTextHover},"&:active":{backgroundColor:Lt.colorBgTextActive}},[`&${Zt}-mini ${Zt}-prev, &${Zt}-mini ${Zt}-next`]:{minWidth:Lt.itemSizeSM,height:Lt.itemSizeSM,margin:0,lineHeight:`${Lt.itemSizeSM}px`},[`&${Zt}-mini:not(${Zt}-disabled)`]:{[`${Zt}-prev, ${Zt}-next`]:{[`&:hover ${Zt}-item-link`]:{backgroundColor:Lt.colorBgTextHover},[`&:active ${Zt}-item-link`]:{backgroundColor:Lt.colorBgTextActive},[`&${Zt}-disabled:hover ${Zt}-item-link`]:{backgroundColor:"transparent"}}},[` - &${Zt}-mini ${Zt}-prev ${Zt}-item-link, - &${Zt}-mini ${Zt}-next ${Zt}-item-link - `]:{backgroundColor:"transparent",borderColor:"transparent","&::after":{height:Lt.itemSizeSM,lineHeight:`${Lt.itemSizeSM}px`}},[`&${Zt}-mini ${Zt}-jump-prev, &${Zt}-mini ${Zt}-jump-next`]:{height:Lt.itemSizeSM,marginInlineEnd:0,lineHeight:`${Lt.itemSizeSM}px`},[`&${Zt}-mini ${Zt}-options`]:{marginInlineStart:Lt.paginationMiniOptionsMarginInlineStart,"&-size-changer":{top:Lt.miniOptionsSizeChangerTop},"&-quick-jumper":{height:Lt.itemSizeSM,lineHeight:`${Lt.itemSizeSM}px`,input:Object.assign(Object.assign({},(0,In.x0)(Lt)),{width:Lt.paginationMiniQuickJumperInputWidth,height:Lt.controlHeightSM})}}}},Jn=Lt=>{const{componentCls:Zt}=Lt;return{[` - &${Zt}-simple ${Zt}-prev, - &${Zt}-simple ${Zt}-next - `]:{height:Lt.itemSizeSM,lineHeight:`${Lt.itemSizeSM}px`,verticalAlign:"top",[`${Zt}-item-link`]:{height:Lt.itemSizeSM,backgroundColor:"transparent",border:0,"&:hover":{backgroundColor:Lt.colorBgTextHover},"&:active":{backgroundColor:Lt.colorBgTextActive},"&::after":{height:Lt.itemSizeSM,lineHeight:`${Lt.itemSizeSM}px`}}},[`&${Zt}-simple ${Zt}-simple-pager`]:{display:"inline-block",height:Lt.itemSizeSM,marginInlineEnd:Lt.marginXS,input:{boxSizing:"border-box",height:"100%",marginInlineEnd:Lt.marginXS,padding:`0 ${Lt.paginationItemPaddingInline}px`,textAlign:"center",backgroundColor:Lt.itemInputBg,border:`${Lt.lineWidth}px ${Lt.lineType} ${Lt.colorBorder}`,borderRadius:Lt.borderRadius,outline:"none",transition:`border-color ${Lt.motionDurationMid}`,color:"inherit","&:hover":{borderColor:Lt.colorPrimary},"&:focus":{borderColor:Lt.colorPrimaryHover,boxShadow:`${Lt.inputOutlineOffset}px 0 ${Lt.controlOutlineWidth}px ${Lt.controlOutline}`},"&[disabled]":{color:Lt.colorTextDisabled,backgroundColor:Lt.colorBgContainerDisabled,borderColor:Lt.colorBorder,cursor:"not-allowed"}}}}},qn=Lt=>{const{componentCls:Zt}=Lt;return{[`${Zt}-jump-prev, ${Zt}-jump-next`]:{outline:0,[`${Zt}-item-container`]:{position:"relative",[`${Zt}-item-link-icon`]:{color:Lt.colorPrimary,fontSize:Lt.fontSizeSM,opacity:0,transition:`all ${Lt.motionDurationMid}`,"&-svg":{top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,margin:"auto"}},[`${Zt}-item-ellipsis`]:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,display:"block",margin:"auto",color:Lt.colorTextDisabled,fontFamily:"Arial, Helvetica, sans-serif",letterSpacing:Lt.paginationEllipsisLetterSpacing,textAlign:"center",textIndent:Lt.paginationEllipsisTextIndent,opacity:1,transition:`all ${Lt.motionDurationMid}`}},"&:hover":{[`${Zt}-item-link-icon`]:{opacity:1},[`${Zt}-item-ellipsis`]:{opacity:0}}},[` - ${Zt}-prev, - ${Zt}-jump-prev, - ${Zt}-jump-next - `]:{marginInlineEnd:Lt.marginXS},[` - ${Zt}-prev, - ${Zt}-next, - ${Zt}-jump-prev, - ${Zt}-jump-next - `]:{display:"inline-block",minWidth:Lt.itemSize,height:Lt.itemSize,color:Lt.colorText,fontFamily:Lt.fontFamily,lineHeight:`${Lt.itemSize}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",borderRadius:Lt.borderRadius,cursor:"pointer",transition:`all ${Lt.motionDurationMid}`},[`${Zt}-prev, ${Zt}-next`]:{fontFamily:"Arial, Helvetica, sans-serif",outline:0,button:{color:Lt.colorText,cursor:"pointer",userSelect:"none"},[`${Zt}-item-link`]:{display:"block",width:"100%",height:"100%",padding:0,fontSize:Lt.fontSizeSM,textAlign:"center",backgroundColor:"transparent",border:`${Lt.lineWidth}px ${Lt.lineType} transparent`,borderRadius:Lt.borderRadius,outline:"none",transition:`all ${Lt.motionDurationMid}`},[`&:hover ${Zt}-item-link`]:{backgroundColor:Lt.colorBgTextHover},[`&:active ${Zt}-item-link`]:{backgroundColor:Lt.colorBgTextActive},[`&${Zt}-disabled:hover`]:{[`${Zt}-item-link`]:{backgroundColor:"transparent"}}},[`${Zt}-slash`]:{marginInlineEnd:Lt.paginationSlashMarginInlineEnd,marginInlineStart:Lt.paginationSlashMarginInlineStart},[`${Zt}-options`]:{display:"inline-block",marginInlineStart:Lt.margin,verticalAlign:"middle","&-size-changer.-select":{display:"inline-block",width:"auto"},"&-quick-jumper":{display:"inline-block",height:Lt.controlHeight,marginInlineStart:Lt.marginXS,lineHeight:`${Lt.controlHeight}px`,verticalAlign:"top",input:Object.assign(Object.assign({},(0,In.ik)(Lt)),{width:Lt.controlHeightLG*1.25,height:Lt.controlHeight,boxSizing:"border-box",margin:0,marginInlineStart:Lt.marginXS,marginInlineEnd:Lt.marginXS})}}}},On=Lt=>{const{componentCls:Zt}=Lt;return{[`${Zt}-item`]:{display:"inline-block",minWidth:Lt.itemSize,height:Lt.itemSize,marginInlineEnd:Lt.marginXS,fontFamily:Lt.fontFamily,lineHeight:`${Lt.itemSize-2}px`,textAlign:"center",verticalAlign:"middle",listStyle:"none",backgroundColor:"transparent",border:`${Lt.lineWidth}px ${Lt.lineType} transparent`,borderRadius:Lt.borderRadius,outline:0,cursor:"pointer",userSelect:"none",a:{display:"block",padding:`0 ${Lt.paginationItemPaddingInline}px`,color:Lt.colorText,"&:hover":{textDecoration:"none"}},[`&:not(${Zt}-item-active)`]:{"&:hover":{transition:`all ${Lt.motionDurationMid}`,backgroundColor:Lt.colorBgTextHover},"&:active":{backgroundColor:Lt.colorBgTextActive}},"&-active":{fontWeight:Lt.fontWeightStrong,backgroundColor:Lt.itemActiveBg,borderColor:Lt.colorPrimary,a:{color:Lt.colorPrimary},"&:hover":{borderColor:Lt.colorPrimaryHover},"&:hover a":{color:Lt.colorPrimaryHover}}}}},qe=Lt=>{const{componentCls:Zt}=Lt;return{[Zt]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,an.Wf)(Lt)),{"ul, ol":{margin:0,padding:0,listStyle:"none"},"&::after":{display:"block",clear:"both",height:0,overflow:"hidden",visibility:"hidden",content:'""'},[`${Zt}-total-text`]:{display:"inline-block",height:Lt.itemSize,marginInlineEnd:Lt.marginXS,lineHeight:`${Lt.itemSize-2}px`,verticalAlign:"middle"}}),On(Lt)),qn(Lt)),Jn(Lt)),Qn(Lt)),zn(Lt)),{[`@media only screen and (max-width: ${Lt.screenLG}px)`]:{[`${Zt}-item`]:{"&-after-jump-prev, &-before-jump-next":{display:"none"}}},[`@media only screen and (max-width: ${Lt.screenSM}px)`]:{[`${Zt}-options`]:{display:"none"}}}),[`&${Lt.componentCls}-rtl`]:{direction:"rtl"}}},Ie=Lt=>{const{componentCls:Zt}=Lt;return{[`${Zt}${Zt}-disabled:not(${Zt}-mini)`]:{"&, &:hover":{[`${Zt}-item-link`]:{borderColor:Lt.colorBorder}},"&:focus-visible":{[`${Zt}-item-link`]:{borderColor:Lt.colorBorder}},[`${Zt}-item, ${Zt}-item-link`]:{backgroundColor:Lt.colorBgContainerDisabled,borderColor:Lt.colorBorder,[`&:hover:not(${Zt}-item-active)`]:{backgroundColor:Lt.colorBgContainerDisabled,borderColor:Lt.colorBorder,a:{color:Lt.colorTextDisabled}},[`&${Zt}-item-active`]:{backgroundColor:Lt.itemActiveBgDisabled}},[`${Zt}-prev, ${Zt}-next`]:{"&:hover button":{backgroundColor:Lt.colorBgContainerDisabled,borderColor:Lt.colorBorder,color:Lt.colorTextDisabled},[`${Zt}-item-link`]:{backgroundColor:Lt.colorBgContainerDisabled,borderColor:Lt.colorBorder}}},[`${Zt}:not(${Zt}-mini)`]:{[`${Zt}-prev, ${Zt}-next`]:{"&:hover button":{borderColor:Lt.colorPrimaryHover,backgroundColor:Lt.itemBg},[`${Zt}-item-link`]:{backgroundColor:Lt.itemLinkBg,borderColor:Lt.colorBorder},[`&:hover ${Zt}-item-link`]:{borderColor:Lt.colorPrimary,backgroundColor:Lt.itemBg,color:Lt.colorPrimary},[`&${Zt}-disabled`]:{[`${Zt}-item-link`]:{borderColor:Lt.colorBorder,color:Lt.colorTextDisabled}}},[`${Zt}-item`]:{backgroundColor:Lt.itemBg,border:`${Lt.lineWidth}px ${Lt.lineType} ${Lt.colorBorder}`,[`&:hover:not(${Zt}-item-active)`]:{borderColor:Lt.colorPrimary,backgroundColor:Lt.itemBg,a:{color:Lt.colorPrimary}},"&-active":{borderColor:Lt.colorPrimary}}}}},Ce=Lt=>{const{componentCls:Zt}=Lt;return{[`${Zt}:not(${Zt}-disabled)`]:{[`${Zt}-item`]:Object.assign({},(0,an.Qy)(Lt)),[`${Zt}-jump-prev, ${Zt}-jump-next`]:{"&:focus-visible":Object.assign({[`${Zt}-item-link-icon`]:{opacity:1},[`${Zt}-item-ellipsis`]:{opacity:0}},(0,an.oN)(Lt))},[`${Zt}-prev, ${Zt}-next`]:{[`&:focus-visible ${Zt}-item-link`]:Object.assign({},(0,an.oN)(Lt))}}}};var He=(0,Xr.Z)("Pagination",Lt=>{const Zt=(0,Or.TS)(Lt,{inputOutlineOffset:0,paginationMiniOptionsMarginInlineStart:Lt.marginXXS/2,paginationMiniQuickJumperInputWidth:Lt.controlHeightLG*1.1,paginationItemPaddingInline:Lt.marginXXS*1.5,paginationEllipsisLetterSpacing:Lt.marginXXS/2,paginationSlashMarginInlineStart:Lt.marginXXS,paginationSlashMarginInlineEnd:Lt.marginSM,paginationEllipsisTextIndent:"0.13em"},(0,In.e5)(Lt),(0,In.TM)(Lt));return[qe(Zt),Ce(Zt),Lt.wireframe&&Ie(Zt)]},Lt=>({itemBg:Lt.colorBgContainer,itemSize:Lt.controlHeight,itemSizeSM:Lt.controlHeightSM,itemActiveBg:Lt.colorBgContainer,itemLinkBg:Lt.colorBgContainer,itemActiveColorDisabled:Lt.colorTextDisabled,itemActiveBgDisabled:Lt.controlItemBgActiveDisabled,itemInputBg:Lt.colorBgContainer,miniOptionsSizeChangerTop:0})),it=function(Lt,Zt){var or={};for(var Xn in Lt)Object.prototype.hasOwnProperty.call(Lt,Xn)&&Zt.indexOf(Xn)<0&&(or[Xn]=Lt[Xn]);if(Lt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var dn=0,Xn=Object.getOwnPropertySymbols(Lt);dn{const{prefixCls:Zt,selectPrefixCls:or,className:Xn,rootClassName:dn,style:kr,size:vi,locale:Un,selectComponentClass:Pr,responsive:Ii,showSizeChanger:on}=Lt,qt=it(Lt,["prefixCls","selectPrefixCls","className","rootClassName","style","size","locale","selectComponentClass","responsive","showSizeChanger"]),{xs:gn}=(0,yt.Z)(Ii),{getPrefixCls:gr,direction:mr,pagination:xi={}}=je.useContext(Dr.E_),Ui=gr("pagination",Zt),[Ni,Fa]=He(Ui),_o=on!=null?on:xi.showSizeChanger,co=je.useMemo(()=>{const ir=je.createElement("span",{className:`${Ui}-item-ellipsis`},"\u2022\u2022\u2022"),ri=je.createElement("button",{className:`${Ui}-item-link`,type:"button",tabIndex:-1},mr==="rtl"?je.createElement(vt.Z,null):je.createElement(It.Z,null)),ua=je.createElement("button",{className:`${Ui}-item-link`,type:"button",tabIndex:-1},mr==="rtl"?je.createElement(It.Z,null):je.createElement(vt.Z,null)),un=je.createElement("a",{className:`${Ui}-item-link`},je.createElement("div",{className:`${Ui}-item-container`},mr==="rtl"?je.createElement(_e.Z,{className:`${Ui}-item-link-icon`}):je.createElement(Xe,{className:`${Ui}-item-link-icon`}),ir)),lr=je.createElement("a",{className:`${Ui}-item-link`},je.createElement("div",{className:`${Ui}-item-container`},mr==="rtl"?je.createElement(Xe,{className:`${Ui}-item-link-icon`}):je.createElement(_e.Z,{className:`${Ui}-item-link-icon`}),ir));return{prevIcon:ri,nextIcon:ua,jumpPrevIcon:un,jumpNextIcon:lr}},[mr,Ui]),[kn]=(0,tt.Z)("Pagination",bn.Z),Yi=Object.assign(Object.assign({},kn),Un),ys=(0,oi.Z)(vi),$o=ys==="small"||!!(gn&&!ys&&Ii),eo=gr("select",or),lo=Ot()({[`${Ui}-mini`]:$o,[`${Ui}-rtl`]:mr==="rtl"},xi==null?void 0:xi.className,Xn,dn,Fa),Qr=Object.assign(Object.assign({},xi==null?void 0:xi.style),kr);return Ni(je.createElement(Mn,Object.assign({},co,qt,{style:Qr,prefixCls:Ui,selectPrefixCls:eo,className:lo,selectComponentClass:Pr||($o?fi:li),locale:Yi,showSizeChanger:_o})))},wn=Xt},39722:function(Hn,xr,he){"use strict";he.d(xr,{t5:function(){return It}});var se=he(92310),je=he.n(se),Bt=he(55477),Rt=he(59301),Dt=he(36355),dt=he(77578),Le=he(17356),Xe=function(wt,Ot){var Ye={};for(var We in wt)Object.prototype.hasOwnProperty.call(wt,We)&&Ot.indexOf(We)<0&&(Ye[We]=wt[We]);if(wt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var pt=0,We=Object.getOwnPropertySymbols(wt);pt{if(!(!Ot&&!Ye))return Rt.createElement(Rt.Fragment,null,Ot&&Rt.createElement("div",{className:`${wt}-title`},(0,dt.Z)(Ot)),Rt.createElement("div",{className:`${wt}-inner-content`},(0,dt.Z)(Ye)))},It=wt=>{const{hashId:Ot,prefixCls:Ye,className:We,style:pt,placement:mt="top",title:Jt,content:Qt,children:$t}=wt;return Rt.createElement("div",{className:je()(Ot,Ye,`${Ye}-pure`,`${Ye}-placement-${mt}`,We),style:pt},Rt.createElement("div",{className:`${Ye}-arrow`}),Rt.createElement(Bt.G,Object.assign({},wt,{className:Ot,prefixCls:Ye}),$t||_e(Ye,Jt,Qt)))},vt=wt=>{const{prefixCls:Ot}=wt,Ye=Xe(wt,["prefixCls"]),{getPrefixCls:We}=Rt.useContext(Dt.E_),pt=We("popover",Ot),[mt,Jt]=(0,Le.Z)(pt);return mt(Rt.createElement(It,Object.assign({},Ye,{prefixCls:pt,hashId:Jt})))};xr.ZP=vt},60324:function(Hn,xr,he){"use strict";var se=he(92310),je=he.n(se),Bt=he(59301),Rt=he(77578),Dt=he(62892),dt=he(36355),Le=he(6848),Xe=he(39722),_e=he(17356),It=function(Ot,Ye){var We={};for(var pt in Ot)Object.prototype.hasOwnProperty.call(Ot,pt)&&Ye.indexOf(pt)<0&&(We[pt]=Ot[pt]);if(Ot!=null&&typeof Object.getOwnPropertySymbols=="function")for(var mt=0,pt=Object.getOwnPropertySymbols(Ot);mt{let{title:Ye,content:We,prefixCls:pt}=Ot;return Bt.createElement(Bt.Fragment,null,Ye&&Bt.createElement("div",{className:`${pt}-title`},(0,Rt.Z)(Ye)),Bt.createElement("div",{className:`${pt}-inner-content`},(0,Rt.Z)(We)))},wt=Bt.forwardRef((Ot,Ye)=>{const{prefixCls:We,title:pt,content:mt,overlayClassName:Jt,placement:Qt="top",trigger:$t="hover",mouseEnterDelay:Ft=.1,mouseLeaveDelay:Gt=.1,overlayStyle:Je={}}=Ot,Sn=It(Ot,["prefixCls","title","content","overlayClassName","placement","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle"]),{getPrefixCls:_n}=Bt.useContext(dt.E_),Cn=_n("popover",We),[Vt,pn]=(0,_e.Z)(Cn),et=_n(),tn=je()(Jt,pn);return Vt(Bt.createElement(Le.Z,Object.assign({placement:Qt,trigger:$t,mouseEnterDelay:Ft,mouseLeaveDelay:Gt,overlayStyle:Je},Sn,{prefixCls:Cn,overlayClassName:tn,ref:Ye,overlay:pt||mt?Bt.createElement(vt,{prefixCls:Cn,title:pt,content:mt}):null,transitionName:(0,Dt.m)(et,"zoom-big",Sn.transitionName),"data-popover-inject":!0})))});wt._InternalPanelDoNotUseOrYouWillBeFired=Xe.ZP,xr.Z=wt},17356:function(Hn,xr,he){"use strict";var se=he(17313),je=he(29878),Bt=he(19447),Rt=he(33166),Dt=he(83116),dt=he(37613);const Le=It=>{const{componentCls:vt,popoverColor:wt,minWidth:Ot,fontWeightStrong:Ye,popoverPadding:We,boxShadowSecondary:pt,colorTextHeading:mt,borderRadiusLG:Jt,zIndexPopup:Qt,marginXS:$t,colorBgElevated:Ft,popoverBg:Gt}=It;return[{[vt]:Object.assign(Object.assign({},(0,se.Wf)(It)),{position:"absolute",top:0,left:{_skip_check_:!0,value:0},zIndex:Qt,fontWeight:"normal",whiteSpace:"normal",textAlign:"start",cursor:"auto",userSelect:"text",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","--antd-arrow-background-color":Ft,"&-rtl":{direction:"rtl"},"&-hidden":{display:"none"},[`${vt}-content`]:{position:"relative"},[`${vt}-inner`]:{backgroundColor:Gt,backgroundClip:"padding-box",borderRadius:Jt,boxShadow:pt,padding:We},[`${vt}-title`]:{minWidth:Ot,marginBottom:$t,color:mt,fontWeight:Ye},[`${vt}-inner-content`]:{color:wt}})},(0,Bt.ZP)(It,{colorBg:"var(--antd-arrow-background-color)"}),{[`${vt}-pure`]:{position:"relative",maxWidth:"none",margin:It.sizePopupArrow,display:"inline-block",[`${vt}-content`]:{display:"inline-block"}}}]},Xe=It=>{const{componentCls:vt}=It;return{[vt]:Rt.i.map(wt=>{const Ot=It[`${wt}6`];return{[`&${vt}-${wt}`]:{"--antd-arrow-background-color":Ot,[`${vt}-inner`]:{backgroundColor:Ot},[`${vt}-arrow`]:{background:"transparent"}}}})}},_e=It=>{const{componentCls:vt,lineWidth:wt,lineType:Ot,colorSplit:Ye,paddingSM:We,controlHeight:pt,fontSize:mt,lineHeight:Jt,padding:Qt}=It,$t=pt-Math.round(mt*Jt),Ft=$t/2,Gt=$t/2-wt,Je=Qt;return{[vt]:{[`${vt}-inner`]:{padding:0},[`${vt}-title`]:{margin:0,padding:`${Ft}px ${Je}px ${Gt}px`,borderBottom:`${wt}px ${Ot} ${Ye}`},[`${vt}-inner-content`]:{padding:`${We}px ${Je}px`}}}};xr.Z=(0,Dt.Z)("Popover",It=>{const{colorBgElevated:vt,colorText:wt,wireframe:Ot}=It,Ye=(0,dt.TS)(It,{popoverPadding:12,popoverBg:vt,popoverColor:wt});return[Le(Ye),Xe(Ye),Ot&&_e(Ye),(0,je._y)(Ye,"zoom-big")]},It=>({width:177,minWidth:177,zIndexPopup:It.zIndexPopupBase+30}),{resetStyle:!1,deprecatedTokens:[["width","minWidth"]]})},15969:function(Hn,xr,he){"use strict";he.d(xr,{N:function(){return se}});const se=je=>({color:je.colorLink,textDecoration:"none",outline:"none",cursor:"pointer",transition:`color ${je.motionDurationSlow}`,"&:focus, &:hover":{color:je.colorLinkHover},"&:active":{color:je.colorLinkActive}})},78673:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return tn}});var se=he(58617),je=he(92310),Bt=he.n(je),Rt=he(60499),Dt=he(18642),dt=he(72190),Le=he(42244),Xe=he(59301),_e=he(18929),It=he(10228),vt=["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"],wt=Xe.forwardRef(function(Ct,Ln){var Mn,bn=Ct.prefixCls,Dr=bn===void 0?"rc-switch":bn,oi=Ct.className,yt=Ct.checked,tt=Ct.defaultChecked,Rn=Ct.disabled,fi=Ct.loadingIcon,li=Ct.checkedChildren,In=Ct.unCheckedChildren,an=Ct.onClick,Xr=Ct.onChange,Or=Ct.onKeyDown,zn=(0,Le.Z)(Ct,vt),Qn=(0,_e.Z)(!1,{value:yt,defaultValue:tt}),Jn=(0,dt.Z)(Qn,2),qn=Jn[0],On=Jn[1];function qe(it,we){var Xt=qn;return Rn||(Xt=it,On(Xt),Xr==null||Xr(Xt,we)),Xt}function Ie(it){it.which===It.Z.LEFT?qe(!1,it):it.which===It.Z.RIGHT&&qe(!0,it),Or==null||Or(it)}function Ce(it){var we=qe(!qn,it);an==null||an(we,it)}var He=Bt()(Dr,oi,(Mn={},(0,Dt.Z)(Mn,"".concat(Dr,"-checked"),qn),(0,Dt.Z)(Mn,"".concat(Dr,"-disabled"),Rn),Mn));return Xe.createElement("button",(0,Rt.Z)({},zn,{type:"button",role:"switch","aria-checked":qn,disabled:Rn,className:He,ref:Ln,onKeyDown:Ie,onClick:Ce}),fi,Xe.createElement("span",{className:"".concat(Dr,"-inner")},Xe.createElement("span",{className:"".concat(Dr,"-inner-checked")},li),Xe.createElement("span",{className:"".concat(Dr,"-inner-unchecked")},In)))});wt.displayName="Switch";var Ot=wt,Ye=he(14088),We=he(36355),pt=he(1684),mt=he(19716),Jt=he(64993),Qt=he(17313),$t=he(83116),Ft=he(37613);const Gt=Ct=>{const{componentCls:Ln,trackHeightSM:Mn,trackPadding:bn,trackMinWidthSM:Dr,innerMinMarginSM:oi,innerMaxMarginSM:yt,handleSizeSM:tt}=Ct,Rn=`${Ln}-inner`;return{[Ln]:{[`&${Ln}-small`]:{minWidth:Dr,height:Mn,lineHeight:`${Mn}px`,[`${Ln}-inner`]:{paddingInlineStart:yt,paddingInlineEnd:oi,[`${Rn}-checked`]:{marginInlineStart:`calc(-100% + ${tt+bn*2}px - ${yt*2}px)`,marginInlineEnd:`calc(100% - ${tt+bn*2}px + ${yt*2}px)`},[`${Rn}-unchecked`]:{marginTop:-Mn,marginInlineStart:0,marginInlineEnd:0}},[`${Ln}-handle`]:{width:tt,height:tt},[`${Ln}-loading-icon`]:{top:(tt-Ct.switchLoadingIconSize)/2,fontSize:Ct.switchLoadingIconSize},[`&${Ln}-checked`]:{[`${Ln}-inner`]:{paddingInlineStart:oi,paddingInlineEnd:yt,[`${Rn}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${Rn}-unchecked`]:{marginInlineStart:`calc(100% - ${tt+bn*2}px + ${yt*2}px)`,marginInlineEnd:`calc(-100% + ${tt+bn*2}px - ${yt*2}px)`}},[`${Ln}-handle`]:{insetInlineStart:`calc(100% - ${tt+bn}px)`}},[`&:not(${Ln}-disabled):active`]:{[`&:not(${Ln}-checked) ${Rn}`]:{[`${Rn}-unchecked`]:{marginInlineStart:Ct.marginXXS/2,marginInlineEnd:-Ct.marginXXS/2}},[`&${Ln}-checked ${Rn}`]:{[`${Rn}-checked`]:{marginInlineStart:-Ct.marginXXS/2,marginInlineEnd:Ct.marginXXS/2}}}}}}},Je=Ct=>{const{componentCls:Ln,handleSize:Mn}=Ct;return{[Ln]:{[`${Ln}-loading-icon${Ct.iconCls}`]:{position:"relative",top:(Mn-Ct.fontSize)/2,color:Ct.switchLoadingIconColor,verticalAlign:"top"},[`&${Ln}-checked ${Ln}-loading-icon`]:{color:Ct.switchColor}}}},Sn=Ct=>{const{componentCls:Ln,motion:Mn,trackPadding:bn,handleBg:Dr,handleShadow:oi,handleSize:yt}=Ct,tt=`${Ln}-handle`;return{[Ln]:{[tt]:{position:"absolute",top:bn,insetInlineStart:bn,width:yt,height:yt,transition:`all ${Ct.switchDuration} ease-in-out`,"&::before":{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,backgroundColor:Dr,borderRadius:yt/2,boxShadow:oi,transition:`all ${Ct.switchDuration} ease-in-out`,content:'""'}},[`&${Ln}-checked ${tt}`]:{insetInlineStart:`calc(100% - ${yt+bn}px)`},[`&:not(${Ln}-disabled):active`]:Mn?{[`${tt}::before`]:{insetInlineEnd:Ct.switchHandleActiveInset,insetInlineStart:0},[`&${Ln}-checked ${tt}::before`]:{insetInlineEnd:0,insetInlineStart:Ct.switchHandleActiveInset}}:{}}}},_n=Ct=>{const{componentCls:Ln,trackHeight:Mn,trackPadding:bn,innerMinMargin:Dr,innerMaxMargin:oi,handleSize:yt}=Ct,tt=`${Ln}-inner`;return{[Ln]:{[tt]:{display:"block",overflow:"hidden",borderRadius:100,height:"100%",paddingInlineStart:oi,paddingInlineEnd:Dr,transition:`padding-inline-start ${Ct.switchDuration} ease-in-out, padding-inline-end ${Ct.switchDuration} ease-in-out`,[`${tt}-checked, ${tt}-unchecked`]:{display:"block",color:Ct.colorTextLightSolid,fontSize:Ct.fontSizeSM,transition:`margin-inline-start ${Ct.switchDuration} ease-in-out, margin-inline-end ${Ct.switchDuration} ease-in-out`,pointerEvents:"none"},[`${tt}-checked`]:{marginInlineStart:`calc(-100% + ${yt+bn*2}px - ${oi*2}px)`,marginInlineEnd:`calc(100% - ${yt+bn*2}px + ${oi*2}px)`},[`${tt}-unchecked`]:{marginTop:-Mn,marginInlineStart:0,marginInlineEnd:0}},[`&${Ln}-checked ${tt}`]:{paddingInlineStart:Dr,paddingInlineEnd:oi,[`${tt}-checked`]:{marginInlineStart:0,marginInlineEnd:0},[`${tt}-unchecked`]:{marginInlineStart:`calc(100% - ${yt+bn*2}px + ${oi*2}px)`,marginInlineEnd:`calc(-100% + ${yt+bn*2}px - ${oi*2}px)`}},[`&:not(${Ln}-disabled):active`]:{[`&:not(${Ln}-checked) ${tt}`]:{[`${tt}-unchecked`]:{marginInlineStart:bn*2,marginInlineEnd:-bn*2}},[`&${Ln}-checked ${tt}`]:{[`${tt}-checked`]:{marginInlineStart:-bn*2,marginInlineEnd:bn*2}}}}}},Cn=Ct=>{const{componentCls:Ln,trackHeight:Mn,trackMinWidth:bn}=Ct;return{[Ln]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,Qt.Wf)(Ct)),{position:"relative",display:"inline-block",boxSizing:"border-box",minWidth:bn,height:Mn,lineHeight:`${Mn}px`,verticalAlign:"middle",background:Ct.colorTextQuaternary,border:"0",borderRadius:100,cursor:"pointer",transition:`all ${Ct.motionDurationMid}`,userSelect:"none",[`&:hover:not(${Ln}-disabled)`]:{background:Ct.colorTextTertiary}}),(0,Qt.Qy)(Ct)),{[`&${Ln}-checked`]:{background:Ct.switchColor,[`&:hover:not(${Ln}-disabled)`]:{background:Ct.colorPrimaryHover}},[`&${Ln}-loading, &${Ln}-disabled`]:{cursor:"not-allowed",opacity:Ct.switchDisabledOpacity,"*":{boxShadow:"none",cursor:"not-allowed"}},[`&${Ln}-rtl`]:{direction:"rtl"}})}};var Vt=(0,$t.Z)("Switch",Ct=>{const Ln=(0,Ft.TS)(Ct,{switchDuration:Ct.motionDurationMid,switchColor:Ct.colorPrimary,switchDisabledOpacity:Ct.opacityLoading,switchLoadingIconSize:Ct.fontSizeIcon*.75,switchLoadingIconColor:`rgba(0, 0, 0, ${Ct.opacityLoading})`,switchHandleActiveInset:"-30%"});return[Cn(Ln),_n(Ln),Sn(Ln),Je(Ln),Gt(Ln)]},Ct=>{const{fontSize:Ln,lineHeight:Mn,controlHeight:bn,colorWhite:Dr}=Ct,oi=Ln*Mn,yt=bn/2,tt=2,Rn=oi-tt*2,fi=yt-tt*2;return{trackHeight:oi,trackHeightSM:yt,trackMinWidth:Rn*2+tt*4,trackMinWidthSM:fi*2+tt*2,trackPadding:tt,handleBg:Dr,handleSize:Rn,handleSizeSM:fi,handleShadow:`0 2px 4px 0 ${new Jt.C("#00230b").setAlpha(.2).toRgbString()}`,innerMinMargin:Rn/2,innerMaxMargin:Rn+tt+tt*2,innerMinMarginSM:fi/2,innerMaxMarginSM:fi+tt+tt*2}}),pn=function(Ct,Ln){var Mn={};for(var bn in Ct)Object.prototype.hasOwnProperty.call(Ct,bn)&&Ln.indexOf(bn)<0&&(Mn[bn]=Ct[bn]);if(Ct!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Dr=0,bn=Object.getOwnPropertySymbols(Ct);Dr{const{prefixCls:Mn,size:bn,disabled:Dr,loading:oi,className:yt,rootClassName:tt,style:Rn}=Ct,fi=pn(Ct,["prefixCls","size","disabled","loading","className","rootClassName","style"]),{getPrefixCls:li,direction:In,switch:an}=Xe.useContext(We.E_),Xr=Xe.useContext(pt.Z),Or=(Dr!=null?Dr:Xr)||oi,zn=li("switch",Mn),Qn=Xe.createElement("div",{className:`${zn}-handle`},oi&&Xe.createElement(se.Z,{className:`${zn}-loading-icon`})),[Jn,qn]=Vt(zn),On=(0,mt.Z)(bn),qe=Bt()(an==null?void 0:an.className,{[`${zn}-small`]:On==="small",[`${zn}-loading`]:oi,[`${zn}-rtl`]:In==="rtl"},yt,tt,qn),Ie=Object.assign(Object.assign({},an==null?void 0:an.style),Rn);return Jn(Xe.createElement(Ye.Z,{component:"Switch"},Xe.createElement(Ot,Object.assign({},fi,{prefixCls:zn,className:qe,style:Ie,disabled:Or,ref:Ln,loadingIcon:Qn}))))});et.__ANT_SWITCH=!0;var tn=et},1710:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return Ac}});var se={},je="rc-table-internal-hook",Bt=he(72190),Rt=he(6089),Dt=he(34280),dt=he(13697),Le=he(59301),Xe=he(4676);function _e(ot){var ht=Le.createContext(void 0),Wt=function(Nn){var Bn=Nn.value,dr=Nn.children,pr=Le.useRef(Bn);pr.current=Bn;var ar=Le.useState(function(){return{getValue:function(){return pr.current},listeners:new Set}}),_r=(0,Bt.Z)(ar,1),Wr=_r[0];return(0,Dt.Z)(function(){(0,Xe.unstable_batchedUpdates)(function(){Wr.listeners.forEach(function(Jr){Jr(Bn)})})},[Bn]),Le.createElement(ht.Provider,{value:Wr},dr)};return{Context:ht,Provider:Wt,defaultValue:ot}}function It(ot,ht){var Wt=(0,Rt.Z)(typeof ht=="function"?ht:function(Jr){if(ht===void 0)return Jr;if(!Array.isArray(ht))return Jr[ht];var Qi={};return ht.forEach(function(Xi){Qi[Xi]=Jr[Xi]}),Qi}),cn=Le.useContext(ot==null?void 0:ot.Context),Nn=cn||{},Bn=Nn.listeners,dr=Nn.getValue,pr=Le.useRef();pr.current=Wt(cn?dr():ot==null?void 0:ot.defaultValue);var ar=Le.useState({}),_r=(0,Bt.Z)(ar,2),Wr=_r[1];return(0,Dt.Z)(function(){if(!cn)return;function Jr(Qi){var Xi=Wt(Qi);(0,dt.Z)(pr.current,Xi,!0)||Wr({})}return Bn.add(Jr),function(){Bn.delete(Jr)}},[cn]),pr.current}var vt=he(60499),wt=he(8654);function Ot(){var ot=Le.createContext(null);function ht(){return Le.useContext(ot)}function Wt(Nn,Bn){var dr=(0,wt.Yr)(Nn),pr=function(_r,Wr){var Jr=dr?{ref:Wr}:{},Qi=Le.useRef(0),Xi=Le.useRef(_r),Wi=ht();return Wi!==null?Le.createElement(Nn,(0,vt.Z)({},_r,Jr)):((!Bn||Bn(Xi.current,_r))&&(Qi.current+=1),Xi.current=_r,Le.createElement(ot.Provider,{value:Qi.current},Le.createElement(Nn,(0,vt.Z)({},_r,Jr))))};return dr?Le.forwardRef(pr):pr}function cn(Nn,Bn){var dr=(0,wt.Yr)(Nn),pr=function(_r,Wr){var Jr=dr?{ref:Wr}:{};return ht(),Le.createElement(Nn,(0,vt.Z)({},_r,Jr))};return dr?Le.memo(Le.forwardRef(pr),Bn):Le.memo(pr,Bn)}return{makeImmutable:Wt,responseImmutable:cn,useImmutableMark:ht}}var Ye=Ot(),We=Ye.makeImmutable,pt=Ye.responseImmutable,mt=Ye.useImmutableMark,Jt=Ot(),Qt=Jt.makeImmutable,$t=Jt.responseImmutable,Ft=Jt.useImmutableMark,Gt=_e(),Je=Gt;function Sn(ot,ht){var Wt=Le.useRef(0);Wt.current+=1;var cn=Le.useRef(ot),Nn=[];Object.keys(ot||{}).map(function(dr){var pr;(ot==null?void 0:ot[dr])!==((pr=cn.current)===null||pr===void 0?void 0:pr[dr])&&Nn.push(dr)}),cn.current=ot;var Bn=Le.useRef([]);return Nn.length&&(Bn.current=Nn),Le.useDebugValue(Wt.current),Le.useDebugValue(Bn.current.join(", ")),ht&&console.log("".concat(ht,":"),Wt.current,Bn.current),Wt.current}var _n=null,Cn=Le.memo(function(){var ot=Sn();return Le.createElement("h1",null,"Render Times: ",ot)});Cn.displayName="RenderBlock";var Vt=he(43749),pn=he(85899),et=he(18642),tn=he(92310),Ct=he.n(tn),Ln=he(80547),Mn=he(97938),bn=he(48736),Dr=Le.createContext({renderWithProps:!1}),oi=Dr,yt="RC_TABLE_KEY";function tt(ot){return ot==null?[]:Array.isArray(ot)?ot:[ot]}function Rn(ot){var ht=[],Wt={};return ot.forEach(function(cn){for(var Nn=cn||{},Bn=Nn.key,dr=Nn.dataIndex,pr=Bn||tt(dr).join("-")||yt;Wt[pr];)pr="".concat(pr,"_next");Wt[pr]=!0,ht.push(pr)}),ht}function fi(ot){return ot!=null}function li(ot){return ot&&(0,Vt.Z)(ot)==="object"&&!Array.isArray(ot)&&!Le.isValidElement(ot)}function In(ot,ht,Wt,cn,Nn,Bn){var dr=Le.useContext(oi),pr=Ft(),ar=(0,Ln.Z)(function(){if(fi(cn))return[cn];var _r=ht==null||ht===""?[]:Array.isArray(ht)?ht:[ht],Wr=(0,Mn.Z)(ot,_r),Jr=Wr,Qi=void 0;if(Nn){var Xi=Nn(Wr,ot,Wt);li(Xi)?(Jr=Xi.children,Qi=Xi.props,dr.renderWithProps=!0):Jr=Xi}return[Jr,Qi]},[pr,ot,cn,ht,Nn,Wt],function(_r,Wr){if(Bn){var Jr=(0,Bt.Z)(_r,2),Qi=Jr[1],Xi=(0,Bt.Z)(Wr,2),Wi=Xi[1];return Bn(Wi,Qi)}return dr.renderWithProps?!0:!(0,dt.Z)(_r,Wr,!0)});return ar}function an(ot,ht,Wt,cn){var Nn=ot+ht-1;return ot<=cn&&Nn>=Wt}function Xr(ot,ht){return It(Je,function(Wt){var cn=an(ot,ht||1,Wt.hoverStartRow,Wt.hoverEndRow);return[cn,Wt.onHover]})}var Or=function(ht){var Wt=ht.ellipsis,cn=ht.rowType,Nn=ht.children,Bn,dr=Wt===!0?{showTitle:!0}:Wt;return dr&&(dr.showTitle||cn==="header")&&(typeof Nn=="string"||typeof Nn=="number"?Bn=Nn.toString():Le.isValidElement(Nn)&&typeof Nn.props.children=="string"&&(Bn=Nn.props.children)),Bn};function zn(ot){var ht,Wt,cn,Nn,Bn,dr,pr,ar,_r=ot.component,Wr=ot.children,Jr=ot.ellipsis,Qi=ot.scope,Xi=ot.prefixCls,Wi=ot.className,pa=ot.align,la=ot.record,Ta=ot.render,hi=ot.dataIndex,Ia=ot.renderIndex,So=ot.shouldCellUpdate,hs=ot.index,jo=ot.rowType,ms=ot.colSpan,nl=ot.rowSpan,ho=ot.fixLeft,is=ot.fixRight,po=ot.firstFixLeft,wa=ot.lastFixLeft,Ya=ot.firstFixRight,Ds=ot.lastFixRight,bl=ot.appendNode,jn=ot.additionalProps,$r=jn===void 0?{}:jn,pe=ot.isSticky,Ee="".concat(Xi,"-cell"),Be=It(Je,["supportSticky","allColumnsFixedLeft"]),ke=Be.supportSticky,Ke=Be.allColumnsFixedLeft,Ue=In(la,hi,Ia,Wr,Ta,So),ut=(0,Bt.Z)(Ue,2),at=ut[0],Pt=ut[1],bt={},Ht=typeof ho=="number"&&ke,ln=typeof is=="number"&&ke;Ht&&(bt.position="sticky",bt.left=ho),ln&&(bt.position="sticky",bt.right=is);var rn=(ht=(Wt=(cn=Pt==null?void 0:Pt.colSpan)!==null&&cn!==void 0?cn:$r.colSpan)!==null&&Wt!==void 0?Wt:ms)!==null&&ht!==void 0?ht:1,Vn=(Nn=(Bn=(dr=Pt==null?void 0:Pt.rowSpan)!==null&&dr!==void 0?dr:$r.rowSpan)!==null&&Bn!==void 0?Bn:nl)!==null&&Nn!==void 0?Nn:1,sn=Xr(hs,Vn),vn=(0,Bt.Z)(sn,2),Dn=vn[0],En=vn[1],Et=function(ii){var Ki;la&&En(hs,hs+Vn-1),$r==null||(Ki=$r.onMouseEnter)===null||Ki===void 0||Ki.call($r,ii)},Kr=function(ii){var Ki;la&&En(-1,-1),$r==null||(Ki=$r.onMouseLeave)===null||Ki===void 0||Ki.call($r,ii)};if(rn===0||Vn===0)return null;var Pi=(pr=$r.title)!==null&&pr!==void 0?pr:Or({rowType:jo,ellipsis:Jr,children:at}),ja=Ct()(Ee,Wi,(ar={},(0,et.Z)(ar,"".concat(Ee,"-fix-left"),Ht&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-left-first"),po&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-left-last"),wa&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-left-all"),wa&&Ke&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-right"),ln&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-right-first"),Ya&&ke),(0,et.Z)(ar,"".concat(Ee,"-fix-right-last"),Ds&&ke),(0,et.Z)(ar,"".concat(Ee,"-ellipsis"),Jr),(0,et.Z)(ar,"".concat(Ee,"-with-append"),bl),(0,et.Z)(ar,"".concat(Ee,"-fix-sticky"),(Ht||ln)&&pe&&ke),(0,et.Z)(ar,"".concat(Ee,"-row-hover"),!Pt&&Dn),ar),$r.className,Pt==null?void 0:Pt.className),wi={};pa&&(wi.textAlign=pa);var Ka=(0,pn.Z)((0,pn.Z)((0,pn.Z)((0,pn.Z)({},bt),$r.style),wi),Pt==null?void 0:Pt.style),vo=at;return(0,Vt.Z)(vo)==="object"&&!Array.isArray(vo)&&!Le.isValidElement(vo)&&(vo=null),Jr&&(wa||Ya)&&(vo=Le.createElement("span",{className:"".concat(Ee,"-content")},vo)),Le.createElement(_r,(0,vt.Z)({},Pt,$r,{className:ja,style:Ka,title:Pi,scope:Qi,onMouseEnter:Et,onMouseLeave:Kr,colSpan:rn!==1?rn:null,rowSpan:Vn!==1?Vn:null}),bl,vo)}var Qn=Le.memo(zn);function Jn(ot,ht,Wt,cn,Nn,Bn){var dr=Wt[ot]||{},pr=Wt[ht]||{},ar,_r;dr.fixed==="left"?ar=cn.left[Nn==="rtl"?ht:ot]:pr.fixed==="right"&&(_r=cn.right[Nn==="rtl"?ot:ht]);var Wr=!1,Jr=!1,Qi=!1,Xi=!1,Wi=Wt[ht+1],pa=Wt[ot-1],la=!(Bn!=null&&Bn.children);if(Nn==="rtl"){if(ar!==void 0){var Ta=pa&&pa.fixed==="left";Xi=!Ta&&la}else if(_r!==void 0){var hi=Wi&&Wi.fixed==="right";Qi=!hi&&la}}else if(ar!==void 0){var Ia=Wi&&Wi.fixed==="left";Wr=!Ia&&la}else if(_r!==void 0){var So=pa&&pa.fixed==="right";Jr=!So&&la}return{fixLeft:ar,fixRight:_r,lastFixLeft:Wr,firstFixRight:Jr,lastFixRight:Qi,firstFixLeft:Xi,isSticky:cn.isSticky}}var qn=Le.createContext({}),On=qn;function qe(ot){var ht=ot.className,Wt=ot.index,cn=ot.children,Nn=ot.colSpan,Bn=Nn===void 0?1:Nn,dr=ot.rowSpan,pr=ot.align,ar=It(Je,["prefixCls","direction"]),_r=ar.prefixCls,Wr=ar.direction,Jr=Le.useContext(On),Qi=Jr.scrollColumnIndex,Xi=Jr.stickyOffsets,Wi=Jr.flattenColumns,pa=Jr.columns,la=Wt+Bn-1,Ta=la+1===Qi?Bn+1:Bn,hi=Jn(Wt,Wt+Ta-1,Wi,Xi,Wr,pa==null?void 0:pa[Wt]);return Le.createElement(Qn,(0,vt.Z)({className:ht,index:Wt,component:"td",prefixCls:_r,record:null,dataIndex:null,align:pr,colSpan:Ta,rowSpan:dr,render:function(){return cn}},hi))}var Ie=he(42244),Ce=["children"];function He(ot){var ht=ot.children,Wt=(0,Ie.Z)(ot,Ce);return Le.createElement("tr",Wt,ht)}function it(ot){var ht=ot.children;return ht}it.Row=He,it.Cell=qe;var we=it;function Xt(ot){var ht=ot.children,Wt=ot.stickyOffsets,cn=ot.flattenColumns,Nn=ot.columns,Bn=It(Je,"prefixCls"),dr=cn.length-1,pr=cn[dr],ar=Le.useMemo(function(){return{stickyOffsets:Wt,flattenColumns:cn,scrollColumnIndex:pr!=null&&pr.scrollbar?dr:null,columns:Nn}},[pr,cn,dr,Wt,Nn]);return Le.createElement(On.Provider,{value:ar},Le.createElement("tfoot",{className:"".concat(Bn,"-summary")},ht))}var wn=$t(Xt),Lt=we,Zt=he(70425),or=he(29301),Xn=he(29194),dn=he(24514),kr=he(75152),vi=he(26112);function Un(ot,ht,Wt,cn,Nn,Bn,dr){ot.push({record:ht,indent:Wt,index:dr});var pr=Bn(ht),ar=Nn==null?void 0:Nn.has(pr);if(ht&&Array.isArray(ht[cn])&&ar)for(var _r=0;_r1?po-1:0),Ya=1;Ya=0;pr-=1){var ar=ht[pr],_r=Wt&&Wt[pr],Wr=_r&&_r[co];if(ar||Wr||dr){var Jr=Wr||{},Qi=Jr.columnType,Xi=(0,Ie.Z)(Jr,Yi);Nn.unshift(Le.createElement("col",(0,vt.Z)({key:pr,style:{width:ar}},Xi))),dr=!0}}return Le.createElement("colgroup",null,Nn)}var $o=ys,eo=he(77654),lo=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];function Qr(ot,ht){return(0,Le.useMemo)(function(){for(var Wt=[],cn=0;cn1?"colgroup":"col":null,ellipsis:la.ellipsis,align:la.align,component:la.title?Bn:dr,prefixCls:Wr,key:Xi[pa]},Ta,{additionalProps:hi,rowType:"header"}))}))}ua.displayName="HeaderRow";var un=ua;function lr(ot){var ht=[];function Wt(dr,pr){var ar=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;ht[ar]=ht[ar]||[];var _r=pr,Wr=dr.filter(Boolean).map(function(Jr){var Qi={key:Jr.key,className:Jr.className||"",children:Jr.title,column:Jr,colStart:_r},Xi=1,Wi=Jr.children;return Wi&&Wi.length>0&&(Xi=Wt(Wi,_r,ar+1).reduce(function(pa,la){return pa+la},0),Qi.hasSubColumns=!0),"colSpan"in Jr&&(Xi=Jr.colSpan),"rowSpan"in Jr&&(Qi.rowSpan=Jr.rowSpan),Qi.colSpan=Xi,Qi.colEnd=Qi.colStart+Xi-1,ht[ar].push(Qi),_r+=Xi,Xi});return Wr}Wt(ot,0);for(var cn=ht.length,Nn=function(pr){ht[pr].forEach(function(ar){!("rowSpan"in ar)&&!ar.hasSubColumns&&(ar.rowSpan=cn-pr)})},Bn=0;Bn1&&arguments[1]!==void 0?arguments[1]:"";return typeof ht=="number"?ht:ht.endsWith("%")?ot*parseFloat(ht)/100:null}function qr(ot,ht){return Le.useMemo(function(){if(ht&&ht>0){var Wt=0,cn=0;ot.forEach(function(_r){var Wr=Rr(ht,_r.width);Wr?Wt+=Wr:cn+=1});var Nn=ht-Wt,Bn=cn,dr=Nn/cn,pr=0,ar=ot.map(function(_r){var Wr=(0,pn.Z)({},_r),Jr=Rr(ht,Wr.width);if(Jr)Wr.width=Jr;else{var Qi=Math.floor(dr);Wr.width=Bn===1?Nn:Qi,Nn-=Qi,Bn-=1}return pr+=Wr.width,Wr});return[ar,pr]}return[ot,ht]},[ot,ht])}var Zi=["children"],Wn=["fixed"];function st(ot){return(0,Vr.Z)(ot).filter(function(ht){return Le.isValidElement(ht)}).map(function(ht){var Wt=ht.key,cn=ht.props,Nn=cn.children,Bn=(0,Ie.Z)(cn,Zi),dr=(0,pn.Z)({key:Wt},Bn);return Nn&&(dr.children=st(Nn)),dr})}function Nt(ot){var ht=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key";return ot.filter(function(Wt){return Wt&&(0,Vt.Z)(Wt)==="object"}).reduce(function(Wt,cn,Nn){var Bn=cn.fixed,dr=Bn===!0?"left":Bn,pr="".concat(ht,"-").concat(Nn),ar=cn.children;return ar&&ar.length>0?[].concat((0,eo.Z)(Wt),(0,eo.Z)(Nt(ar,pr).map(function(_r){return(0,pn.Z)({fixed:dr},_r)}))):[].concat((0,eo.Z)(Wt),[(0,pn.Z)((0,pn.Z)({key:pr},cn),{},{fixed:dr})])},[])}function Gn(ot){for(var ht=!0,Wt=0;Wt=0;Bn-=1){var dr=ot[Bn];if(Nn&&dr.fixed!=="right")Nn=!1;else if(!Nn&&dr.fixed==="right"){warning(!1,"Index ".concat(Bn+1," of `columns` missing `fixed='right'` prop."));break}}}function Sr(ot){return ot.map(function(ht){var Wt=ht.fixed,cn=(0,Ie.Z)(ht,Wn),Nn=Wt;return Wt==="left"?Nn="right":Wt==="right"&&(Nn="left"),(0,pn.Z)({fixed:Nn},cn)})}function yr(ot,ht){var Wt=ot.prefixCls,cn=ot.columns,Nn=ot.children,Bn=ot.expandable,dr=ot.expandedKeys,pr=ot.columnTitle,ar=ot.getRowKey,_r=ot.onTriggerExpand,Wr=ot.expandIcon,Jr=ot.rowExpandable,Qi=ot.expandIconColumnIndex,Xi=ot.direction,Wi=ot.expandRowByClick,pa=ot.columnWidth,la=ot.fixed,Ta=ot.scrollWidth,hi=Le.useMemo(function(){return cn||st(Nn)},[cn,Nn]),Ia=Le.useMemo(function(){if(Bn){var is,po=hi.slice();if(!po.includes(se)){var wa=Qi||0;wa>=0&&po.splice(wa,0,se)}var Ya=po.indexOf(se);po=po.filter(function($r,pe){return $r!==se||pe===Ya});var Ds=hi[Ya],bl;(la==="left"||la)&&!Qi?bl="left":(la==="right"||la)&&Qi===hi.length?bl="right":bl=Ds?Ds.fixed:null;var jn=(is={},(0,et.Z)(is,co,{className:"".concat(Wt,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,et.Z)(is,"title",pr),(0,et.Z)(is,"fixed",bl),(0,et.Z)(is,"className","".concat(Wt,"-row-expand-icon-cell")),(0,et.Z)(is,"width",pa),(0,et.Z)(is,"render",function(pe,Ee,Be){var ke=ar(Ee,Be),Ke=dr.has(ke),Ue=Jr?Jr(Ee):!0,ut=Wr({prefixCls:Wt,expanded:Ke,expandable:Ue,record:Ee,onExpand:_r});return Wi?Le.createElement("span",{onClick:function(Pt){return Pt.stopPropagation()}},ut):ut}),is);return po.map(function($r){return $r===se?jn:$r})}return hi.filter(function($r){return $r!==se})},[Bn,hi,ar,dr,Wr,Xi]),So=Le.useMemo(function(){var is=Ia;return ht&&(is=ht(is)),is.length||(is=[{render:function(){return null}}]),is},[ht,Ia,Xi]),hs=Le.useMemo(function(){return Xi==="rtl"?Sr(Nt(So)):Nt(So)},[So,Xi,Ta]),jo=qr(hs,Ta),ms=(0,Bt.Z)(jo,2),nl=ms[0],ho=ms[1];return[So,nl,ho]}var ci=yr;function ai(ot){var ht,Wt=ot.prefixCls,cn=ot.record,Nn=ot.onExpand,Bn=ot.expanded,dr=ot.expandable,pr="".concat(Wt,"-row-expand-icon");if(!dr)return Le.createElement("span",{className:Ct()(pr,"".concat(Wt,"-row-spaced"))});var ar=function(Wr){Nn(cn,Wr),Wr.stopPropagation()};return Le.createElement("span",{className:Ct()(pr,(ht={},(0,et.Z)(ht,"".concat(Wt,"-row-expanded"),Bn),(0,et.Z)(ht,"".concat(Wt,"-row-collapsed"),!Bn),ht)),onClick:ar})}function Ur(ot,ht,Wt){var cn=[];function Nn(Bn){(Bn||[]).forEach(function(dr,pr){cn.push(ht(dr,pr)),Nn(dr[Wt])})}return Nn(ot),cn}function zr(ot,ht,Wt){var cn=kn(ot),Nn=cn.expandIcon,Bn=cn.expandedRowKeys,dr=cn.defaultExpandedRowKeys,pr=cn.defaultExpandAllRows,ar=cn.expandedRowRender,_r=cn.onExpand,Wr=cn.onExpandedRowsChange,Jr=cn.childrenColumnName,Qi=Nn||ai,Xi=Jr||"children",Wi=Le.useMemo(function(){return ar?"row":ot.expandable&&ot.internalHooks===je&&ot.expandable.__PARENT_RENDER_ICON__||ht.some(function(hs){return hs&&(0,Vt.Z)(hs)==="object"&&hs[Xi]})?"nest":!1},[!!ar,ht]),pa=Le.useState(function(){return dr||(pr?Ur(ht,Wt,Xi):[])}),la=(0,Bt.Z)(pa,2),Ta=la[0],hi=la[1],Ia=Le.useMemo(function(){return new Set(Bn||Ta||[])},[Bn,Ta]),So=Le.useCallback(function(hs){var jo=Wt(hs,ht.indexOf(hs)),ms,nl=Ia.has(jo);nl?(Ia.delete(jo),ms=(0,eo.Z)(Ia)):ms=[].concat((0,eo.Z)(Ia),[jo]),hi(ms),_r&&_r(!nl,hs),Wr&&Wr(ms)},[Wt,Ia,ht,_r,Wr]);return[cn,Wi,Ia,Qi,Xi,So]}function ta(ot,ht,Wt,cn){var Nn=ot.map(function(Bn,dr){return Jn(dr,dr,ot,ht,Wt,cn==null?void 0:cn[dr])});return(0,Ln.Z)(function(){return Nn},[Nn],function(Bn,dr){return!(0,dt.Z)(Bn,dr)})}function qa(ot){var ht=(0,Le.useRef)(ot),Wt=(0,Le.useState)({}),cn=(0,Bt.Z)(Wt,2),Nn=cn[1],Bn=(0,Le.useRef)(null),dr=(0,Le.useRef)([]);function pr(ar){dr.current.push(ar);var _r=Promise.resolve();Bn.current=_r,_r.then(function(){if(Bn.current===_r){var Wr=dr.current,Jr=ht.current;dr.current=[],Wr.forEach(function(Qi){ht.current=Qi(ht.current)}),Bn.current=null,Jr!==ht.current&&Nn({})}})}return(0,Le.useEffect)(function(){return function(){Bn.current=null}},[]),[ht.current,pr]}function pi(ot){var ht=(0,Le.useRef)(ot||null),Wt=(0,Le.useRef)();function cn(){window.clearTimeout(Wt.current)}function Nn(dr){ht.current=dr,cn(),Wt.current=window.setTimeout(function(){ht.current=null,Wt.current=void 0},100)}function Bn(){return ht.current}return(0,Le.useEffect)(function(){return cn},[]),[Nn,Bn]}function Mr(){var ot=Le.useState(-1),ht=(0,Bt.Z)(ot,2),Wt=ht[0],cn=ht[1],Nn=Le.useState(-1),Bn=(0,Bt.Z)(Nn,2),dr=Bn[0],pr=Bn[1],ar=Le.useCallback(function(_r,Wr){cn(_r),pr(Wr)},[]);return[Wt,dr,ar]}var sr=he(47273),xn=(0,sr.Z)()?window:null;function er(ot,ht){var Wt=(0,Vt.Z)(ot)==="object"?ot:{},cn=Wt.offsetHeader,Nn=cn===void 0?0:cn,Bn=Wt.offsetSummary,dr=Bn===void 0?0:Bn,pr=Wt.offsetScroll,ar=pr===void 0?0:pr,_r=Wt.getContainer,Wr=_r===void 0?function(){return xn}:_r,Jr=Wr()||xn;return Le.useMemo(function(){var Qi=!!ot;return{isSticky:Qi,stickyClassName:Qi?"".concat(ht,"-sticky-holder"):"",offsetHeader:Nn,offsetSummary:dr,offsetScroll:ar,container:Jr}},[ar,Nn,dr,ht,Jr])}function Er(ot,ht,Wt){var cn=(0,Le.useMemo)(function(){for(var Nn=[],Bn=[],dr=0,pr=0,ar=0;ar=Jr&&($r=Jr-Qi),dr({scrollLeft:$r/Jr*(Wr+2)}),hi.current.x=Ya.pageX},is=function(){if(Bn.current){var Ya=(0,Zn.os)(Bn.current).top,Ds=Ya+Bn.current.offsetHeight,bl=ar===window?document.documentElement.scrollTop+window.innerHeight:(0,Zn.os)(ar).top+ar.clientHeight;Ds-(0,kr.Z)()<=bl||Ya>=bl-pr?Ta(function(jn){return(0,pn.Z)((0,pn.Z)({},jn),{},{isHiddenScrollBar:!0})}):Ta(function(jn){return(0,pn.Z)((0,pn.Z)({},jn),{},{isHiddenScrollBar:!1})})}},po=function(Ya){Ta(function(Ds){return(0,pn.Z)((0,pn.Z)({},Ds),{},{scrollLeft:Ya/Wr*Jr||0})})};return Le.useImperativeHandle(Wt,function(){return{setScrollLeft:po}}),Le.useEffect(function(){var wa=(0,Bi.Z)(document.body,"mouseup",ms,!1),Ya=(0,Bi.Z)(document.body,"mousemove",ho,!1);return is(),function(){wa.remove(),Ya.remove()}},[Qi,hs]),Le.useEffect(function(){var wa=(0,Bi.Z)(ar,"scroll",is,!1),Ya=(0,Bi.Z)(window,"resize",is,!1);return function(){wa.remove(),Ya.remove()}},[ar]),Le.useEffect(function(){la.isHiddenScrollBar||Ta(function(wa){var Ya=Bn.current;return Ya?(0,pn.Z)((0,pn.Z)({},wa),{},{scrollLeft:Ya.scrollLeft/Ya.scrollWidth*Ya.clientWidth}):wa})},[la.isHiddenScrollBar]),Wr<=Jr||!Qi||la.isHiddenScrollBar?null:Le.createElement("div",{style:{height:(0,kr.Z)(),width:Jr,bottom:pr},className:"".concat(_r,"-sticky-scroll")},Le.createElement("div",{onMouseDown:nl,ref:Xi,className:Ct()("".concat(_r,"-sticky-scroll-bar"),(0,et.Z)({},"".concat(_r,"-sticky-scroll-bar-active"),hs)),style:{width:"".concat(Qi,"px"),transform:"translate3d(".concat(la.scrollLeft,"px, 0, 0)")}}))},da=Le.forwardRef(Di);function ha(ot){return null}var na=ha;function Qa(ot){return null}var Ao=Qa,Da="rc-table",Ma=[],es={};function Fo(){return"No Data"}function Ls(ot){var ht,Wt=(0,pn.Z)({rowKey:"key",prefixCls:Da,emptyText:Fo},ot),cn=Wt.prefixCls,Nn=Wt.className,Bn=Wt.rowClassName,dr=Wt.style,pr=Wt.data,ar=Wt.rowKey,_r=Wt.scroll,Wr=Wt.tableLayout,Jr=Wt.direction,Qi=Wt.title,Xi=Wt.footer,Wi=Wt.summary,pa=Wt.caption,la=Wt.id,Ta=Wt.showHeader,hi=Wt.components,Ia=Wt.emptyText,So=Wt.onRow,hs=Wt.onHeaderRow,jo=Wt.internalHooks,ms=Wt.transformColumns,nl=Wt.internalRefs,ho=Wt.tailor,is=Wt.sticky,po=pr||Ma,wa=!!po.length,Ya=jo===je,Ds=Le.useCallback(function(Qu,fc){return(0,Mn.Z)(hi,Qu)||fc},[hi]),bl=Le.useMemo(function(){return typeof ar=="function"?ar:function(Qu){var fc=Qu&&Qu[ar];return fc}},[ar]),jn=Ds(["body"]),$r=Mr(),pe=(0,Bt.Z)($r,3),Ee=pe[0],Be=pe[1],ke=pe[2],Ke=zr(Wt,po,bl),Ue=(0,Bt.Z)(Ke,6),ut=Ue[0],at=Ue[1],Pt=Ue[2],bt=Ue[3],Ht=Ue[4],ln=Ue[5],rn=_r==null?void 0:_r.x,Vn=Le.useState(0),sn=(0,Bt.Z)(Vn,2),vn=sn[0],Dn=sn[1],En=ci((0,pn.Z)((0,pn.Z)((0,pn.Z)({},Wt),ut),{},{expandable:!!ut.expandedRowRender,columnTitle:ut.columnTitle,expandedKeys:Pt,getRowKey:bl,onTriggerExpand:ln,expandIcon:bt,expandIconColumnIndex:ut.expandIconColumnIndex,direction:Jr,scrollWidth:Ya&&ho&&typeof rn=="number"?rn:null}),Ya?ms:null),Et=(0,Bt.Z)(En,3),Kr=Et[0],Pi=Et[1],ja=Et[2],wi=ja!=null?ja:rn,Ka=Le.useMemo(function(){return{columns:Kr,flattenColumns:Pi}},[Kr,Pi]),vo=Le.useRef(),mo=Le.useRef(),ii=Le.useRef(),Ki=Le.useRef(),Mo=Le.useRef(),fr=Le.useState(!1),tr=(0,Bt.Z)(fr,2),Fi=tr[0],_i=tr[1],La=Le.useState(!1),ki=(0,Bt.Z)(La,2),ma=ki[0],To=ki[1],go=qa(new Map),ia=(0,Bt.Z)(go,2),As=ia[0],Ws=ia[1],Vu=Rn(Pi),du=Vu.map(function(Qu){return As.get(Qu)}),Yu=Le.useMemo(function(){return du},[du.join("_")]),sc=Zr(Yu,Pi.length,Jr),_u=_r&&fi(_r.y),dc=_r&&fi(wi)||!!ut.fixed,Nc=dc&&Pi.some(function(Qu){var fc=Qu.fixed;return fc}),gd=Le.useRef(),Ic=er(is,cn),fd=Ic.isSticky,yd=Ic.offsetHeader,hc=Ic.offsetSummary,Eu=Ic.offsetScroll,rc=Ic.stickyClassName,Gc=Ic.container,lc=Le.useMemo(function(){return Wi==null?void 0:Wi(po)},[Wi,po]),zc=(_u||fd)&&Le.isValidElement(lc)&&lc.type===we&&lc.props.fixed,Uc,ld,Nd;_u&&(ld={overflowY:"scroll",maxHeight:_r.y}),dc&&(Uc={overflowX:"auto"},_u||(ld={overflowY:"hidden"}),Nd={width:wi===!0?"auto":wi,minWidth:"100%"});var Hc=Le.useCallback(function(Qu,fc){(0,Xn.Z)(vo.current)&&Ws(function(hd){if(hd.get(Qu)!==fc){var Fd=new Map(hd);return Fd.set(Qu,fc),Fd}return hd})},[]),vd=pi(null),Xd=(0,Bt.Z)(vd,2),ju=Xd[0],Ec=Xd[1];function yf(Qu,fc){fc&&(typeof fc=="function"?fc(Qu):fc.scrollLeft!==Qu&&(fc.scrollLeft=Qu,fc.scrollLeft!==Qu&&setTimeout(function(){fc.scrollLeft=Qu},0)))}var uf=(0,Rt.Z)(function(Qu){var fc=Qu.currentTarget,hd=Qu.scrollLeft,Fd=Jr==="rtl",Vd=typeof hd=="number"?hd:fc.scrollLeft,hh=fc||es;if(!Ec()||Ec()===hh){var Vc;ju(hh),yf(Vd,mo.current),yf(Vd,ii.current),yf(Vd,Mo.current),yf(Vd,(Vc=gd.current)===null||Vc===void 0?void 0:Vc.setScrollLeft)}var Qd=fc||mo.current;if(Qd){var Oh=Qd.scrollWidth,cf=Qd.clientWidth;if(Oh===cf){_i(!1),To(!1);return}Fd?(_i(-Vd0)):(_i(Vd>0),To(Vd1?pa-Ya:0,bl=(0,pn.Z)((0,pn.Z)((0,pn.Z)({},ms),ar),{},{flex:"0 0 ".concat(Ya,"px"),width:"".concat(Ya,"px"),marginRight:Ds,pointerEvents:"auto"}),jn=Le.useMemo(function(){return Wr?po<=1:ho===0||po===0||po>1},[po,ho,Wr]);jn?bl.visibility="hidden":Wr&&(bl.height=Jr==null?void 0:Jr(po));var $r=jn?function(){return null}:Qi,pe={};return(po===0||ho===0)&&(pe.rowSpan=1,pe.colSpan=1),Le.createElement(Qn,(0,vt.Z)({className:Ct()(Wi,_r),ellipsis:Wt.ellipsis,align:Wt.align,scope:Wt.rowScope,component:"div",prefixCls:ht.prefixCls,key:Ia,record:pr,index:Bn,renderIndex:dr,dataIndex:Xi,render:$r,shouldCellUpdate:Wt.shouldCellUpdate},So,{appendNode:hs,additionalProps:(0,pn.Z)((0,pn.Z)({},jo),{},{style:bl},pe)}))}var Bs=Al,Ho=["data","index","className","rowKey","style","extra","getHeight"],ll=Le.forwardRef(function(ot,ht){var Wt=ot.data,cn=ot.index,Nn=ot.className,Bn=ot.rowKey,dr=ot.style,pr=ot.extra,ar=ot.getHeight,_r=(0,Ie.Z)(ot,Ho),Wr=Wt.record,Jr=Wt.indent,Qi=Wt.index,Xi=It(Je,["prefixCls","flattenColumns","fixColumn","componentWidth","scrollX"]),Wi=Xi.scrollX,pa=Xi.flattenColumns,la=Xi.prefixCls,Ta=Xi.fixColumn,hi=Xi.componentWidth,Ia=qt(Wr,Bn,cn,Jr),So=Ia.rowSupportExpand,hs=Ia.expanded,jo=Ia.rowProps,ms=Ia.expandedRowRender,nl=Ia.expandedRowClassName,ho;if(So&&hs){var is=ms(Wr,cn,Jr+1,hs),po=nl==null?void 0:nl(Wr,cn,Jr),wa={};Ta&&(wa={style:(0,et.Z)({},"--virtual-width","".concat(hi,"px"))});var Ya="".concat(la,"-expanded-row-cell");ho=Le.createElement("div",{className:Ct()("".concat(la,"-expanded-row"),"".concat(la,"-expanded-row-level-").concat(Jr+1),po)},Le.createElement(Qn,{component:"div",prefixCls:la,className:Ct()(Ya,(0,et.Z)({},"".concat(Ya,"-fixed"),Ta)),additionalProps:wa},is))}var Ds=(0,pn.Z)((0,pn.Z)({},dr),{},{width:Wi});pr&&(Ds.position="absolute",Ds.pointerEvents="none");var bl=Le.createElement("div",(0,vt.Z)({},jo,_r,{ref:So?null:ht,className:Ct()(Nn,"".concat(la,"-row"),jo==null?void 0:jo.className,(0,et.Z)({},"".concat(la,"-row-extra"),pr)),style:(0,pn.Z)((0,pn.Z)({},Ds),jo==null?void 0:jo.style)}),pa.map(function(jn,$r){return Le.createElement(Bs,{key:$r,rowInfo:Ia,column:jn,colIndex:$r,indent:Jr,index:cn,renderIndex:Qi,record:Wr,inverse:pr,getHeight:ar})}));return So?Le.createElement("div",{ref:ht},bl,ho):bl}),el=$t(ll),Rs=el,ui=Le.forwardRef(function(ot,ht){var Wt=ot.data,cn=ot.onScroll,Nn=It(Je,["flattenColumns","onColumnResize","getRowKey","prefixCls","expandedKeys","childrenColumnName","emptyNode","scrollX"]),Bn=Nn.flattenColumns,dr=Nn.onColumnResize,pr=Nn.getRowKey,ar=Nn.expandedKeys,_r=Nn.prefixCls,Wr=Nn.childrenColumnName,Jr=Nn.emptyNode,Qi=Nn.scrollX,Xi=It(Us),Wi=Xi.scrollY,pa=Xi.listItemHeight,la=Le.useRef(),Ta=Pr(Wt,Wr,ar,pr),hi=Le.useMemo(function(){var ho=0;return Bn.map(function(is){var po=is.width,wa=is.key;return ho+=po,[wa,po,ho]})},[Bn]),Ia=Le.useMemo(function(){return hi.map(function(ho){return ho[2]})},[hi]);Le.useEffect(function(){hi.forEach(function(ho){var is=(0,Bt.Z)(ho,2),po=is[0],wa=is[1];dr(po,wa)})},[hi]),Le.useImperativeHandle(ht,function(){var ho={};return Object.defineProperty(ho,"scrollLeft",{get:function(){var po;return((po=la.current)===null||po===void 0?void 0:po.getScrollInfo().x)||0},set:function(po){var wa;(wa=la.current)===null||wa===void 0||wa.scrollTo({left:po})}}),ho});var So=function(is,po){var wa,Ya=(wa=Ta[po])===null||wa===void 0?void 0:wa.record,Ds=is.onCell;if(Ds){var bl,jn=Ds(Ya,po);return(bl=jn==null?void 0:jn.rowSpan)!==null&&bl!==void 0?bl:1}return 1},hs=function(is){var po=is.start,wa=is.end,Ya=is.getSize,Ds=is.offsetY;if(wa<0)return null;for(var bl=Bn.filter(function(rn){return So(rn,po)===0}),jn=po,$r=function(Vn){if(bl=bl.filter(function(sn){return So(sn,Vn)===0}),!bl.length)return jn=Vn,"break"},pe=po;pe>=0;pe-=1){var Ee=$r(pe);if(Ee==="break")break}for(var Be=Bn.filter(function(rn){return So(rn,wa)!==1}),ke=wa,Ke=function(Vn){if(Be=Be.filter(function(sn){return So(sn,Vn)!==1}),!Be.length)return ke=Math.max(Vn-1,wa),"break"},Ue=wa;Ue1})&&at.push(Vn)},bt=jn;bt<=ke;bt+=1)var Ht=Pt(bt);var ln=at.map(function(rn){var Vn=Ta[rn],sn=pr(Vn.record,rn),vn=function(Et){var Kr=rn+Et-1,Pi=pr(Ta[Kr].record,Kr),ja=Ya(sn,Pi);return ja.bottom-ja.top},Dn=Ya(sn);return Le.createElement(Rs,{key:rn,data:Vn,rowKey:sn,index:rn,style:{top:-Ds+Dn.top},extra:!0,getHeight:vn})});return ln},jo=Le.useMemo(function(){return{columnsOffset:Ia}},[Ia]),ms="".concat(_r,"-tbody"),nl;return Ta.length?nl=Le.createElement(Os.Z,{fullHeight:!1,ref:la,className:Ct()(ms,"".concat(ms,"-virtual")),height:Wi,itemHeight:pa||24,data:Ta,itemKey:function(is){return pr(is.record)},scrollWidth:Qi,onVirtualScroll:function(is){var po=is.x;cn({scrollLeft:po})},extraRender:hs},function(ho,is,po){var wa=pr(ho.record,is);return Le.createElement(Rs,(0,vt.Z)({data:ho,rowKey:wa,index:is},po))}):nl=Le.createElement("div",{className:Ct()("".concat(_r,"-placeholder"))},Le.createElement(Qn,{component:"div",prefixCls:_r},Jr)),Le.createElement(Ns.Provider,{value:jo},nl)}),za=$t(ui),ls=za,vs=function(ht,Wt){var cn=Wt.ref,Nn=Wt.onScroll;return Le.createElement(ls,{ref:cn,data:ht,onScroll:Nn})},Ms=100;function Ts(ot){var ht=ot.columns,Wt=ot.scroll,cn=ot.prefixCls,Nn=cn===void 0?Da:cn,Bn=ot.className,dr=ot.listItemHeight,pr=Wt||{},ar=pr.x,_r=pr.y;typeof ar!="number"&&(ar=((ht||[]).length+1)*Ms),typeof _r!="number"&&(_r=500);var Wr=Le.useMemo(function(){return{scrollY:_r,listItemHeight:dr}},[_r,dr]);return Le.createElement(Us.Provider,{value:Wr},Le.createElement(sa,(0,vt.Z)({},ot,{className:Ct()(Bn,"".concat(Nn,"-virtual")),scroll:(0,pn.Z)((0,pn.Z)({},Wt),{},{x:ar}),components:{body:vs},columns:ht,internalHooks:je,tailor:!0})))}function ul(ot){return Qt(Ts,ot)}var Na=ul(),$a=null;function gl(ot){return null}var zs=gl;function Xu(ot){return null}var Su=Xu,cc=he(2738),Ru=he(68031),hu=he(36355),zu=he(93891),Mu=he(19716),vc=he(8628),yu=he(31724),to=he(58421),uo=he(71418),no=he(70305);function yn(ot){return function(Wt){let{prefixCls:cn,onExpand:Nn,record:Bn,expanded:dr,expandable:pr}=Wt;const ar=`${cn}-row-expand-icon`;return Le.createElement("button",{type:"button",onClick:_r=>{Nn(Bn,_r),_r.stopPropagation()},className:Ct()(ar,{[`${ar}-spaced`]:!pr,[`${ar}-expanded`]:pr&&dr,[`${ar}-collapsed`]:pr&&!dr}),"aria-label":dr?ot.collapse:ot.expand,"aria-expanded":dr})}}var ps=yn;function al(ot,ht){return"key"in ot&&ot.key!==void 0&&ot.key!==null?ot.key:ot.dataIndex?Array.isArray(ot.dataIndex)?ot.dataIndex.join("."):ot.dataIndex:ht}function Vs(ot,ht){return ht?`${ht}-${ot}`:`${ot}`}function $l(ot,ht){return typeof ot=="function"?ot(ht):ot}function eu(ot,ht){const Wt=$l(ot,ht);return Object.prototype.toString.call(Wt)==="[object Object]"?"":Wt}var vu={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"},ku=vu,Lu=he(85221),Cc=function(ht,Wt){return Le.createElement(Lu.Z,(0,vt.Z)({},ht,{ref:Wt,icon:ku}))},fo=Le.forwardRef(Cc),Ql=fo,oc=he(56762);function us(ot){const ht=Le.useRef(ot),Wt=(0,oc.Z)();return[()=>ht.current,cn=>{ht.current=cn,Wt()}]}var Hs=he(3113),Oo=he(24905),fn=he(38854),Lr=he(64165),nr=he(20834),Oi=he(40875),Do=he(5112),cr=he(17574),tl=he(47472),ka=he(92832);function Vi(ot){let{value:ht,onChange:Wt,filterSearch:cn,tablePrefixCls:Nn,locale:Bn}=ot;return cn?Le.createElement("div",{className:`${Nn}-filter-dropdown-search`},Le.createElement(ka.default,{prefix:Le.createElement(tl.Z,null),placeholder:Bn.filterSearchPlaceholder,onChange:Wt,value:ht,htmlSize:1,className:`${Nn}-filter-dropdown-search-input`})):null}var No=Vi,Nl=he(10228);const Aa=ot=>{const{keyCode:ht}=ot;ht===Nl.Z.ENTER&&ot.stopPropagation()};var zi=Le.forwardRef((ot,ht)=>Le.createElement("div",{className:ot.className,onClick:Wt=>Wt.stopPropagation(),onKeyDown:Aa,ref:ht},ot.children));function Fs(ot){let ht=[];return(ot||[]).forEach(Wt=>{let{value:cn,children:Nn}=Wt;ht.push(cn),Nn&&(ht=[].concat((0,eo.Z)(ht),(0,eo.Z)(Fs(Nn))))}),ht}function bo(ot){return ot.some(ht=>{let{children:Wt}=ht;return Wt})}function js(ot,ht){return typeof ht=="string"||typeof ht=="number"?ht==null?void 0:ht.toString().toLowerCase().includes(ot.trim().toLowerCase()):!1}function kl(ot){let{filters:ht,prefixCls:Wt,filteredKeys:cn,filterMultiple:Nn,searchValue:Bn,filterSearch:dr}=ot;return ht.map((pr,ar)=>{const _r=String(pr.value);if(pr.children)return{key:_r||ar,label:pr.text,popupClassName:`${Wt}-dropdown-submenu`,children:kl({filters:pr.children,prefixCls:Wt,filteredKeys:cn,filterMultiple:Nn,searchValue:Bn,filterSearch:dr})};const Wr=Nn?Oo.default:Do.ZP,Jr={key:pr.value!==void 0?_r:ar,label:Le.createElement(Le.Fragment,null,Le.createElement(Wr,{checked:cn.includes(_r)}),Le.createElement("span",null,pr.text))};return Bn.trim()?typeof dr=="function"?dr(Bn,pr)?Jr:null:js(Bn,pr.text)?Jr:null:Jr})}function Es(ot){var ht,Wt;const{tablePrefixCls:cn,prefixCls:Nn,column:Bn,dropdownPrefixCls:dr,columnKey:pr,filterMultiple:ar,filterMode:_r="menu",filterSearch:Wr=!1,filterState:Jr,triggerFilter:Qi,locale:Xi,children:Wi,getPopupContainer:pa}=ot,{filterDropdownOpen:la,onFilterDropdownOpenChange:Ta,filterResetToDefaultFilteredValue:hi,defaultFilteredValue:Ia,filterDropdownVisible:So,onFilterDropdownVisibleChange:hs}=Bn,[jo,ms]=Le.useState(!1),nl=!!(Jr&&(!((ht=Jr.filteredKeys)===null||ht===void 0)&&ht.length||Jr.forceFiltered)),ho=En=>{ms(En),Ta==null||Ta(En),hs==null||hs(En)},is=(Wt=la!=null?la:So)!==null&&Wt!==void 0?Wt:jo,po=Jr==null?void 0:Jr.filteredKeys,[wa,Ya]=us(po||[]),Ds=En=>{let{selectedKeys:Et}=En;Ya(Et)},bl=(En,Et)=>{let{node:Kr,checked:Pi}=Et;Ds(ar?{selectedKeys:En}:{selectedKeys:Pi&&Kr.key?[Kr.key]:[]})};Le.useEffect(()=>{jo&&Ds({selectedKeys:po||[]})},[po]);const[jn,$r]=Le.useState([]),pe=En=>{$r(En)},[Ee,Be]=Le.useState(""),ke=En=>{const{value:Et}=En.target;Be(Et)};Le.useEffect(()=>{jo||Be("")},[jo]);const Ke=En=>{const Et=En&&En.length?En:null;if(Et===null&&(!Jr||!Jr.filteredKeys)||(0,dt.Z)(Et,Jr==null?void 0:Jr.filteredKeys,!0))return null;Qi({column:Bn,key:pr,filteredKeys:Et})},Ue=()=>{ho(!1),Ke(wa())},ut=function(){let{confirm:En,closeDropdown:Et}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{confirm:!1,closeDropdown:!1};En&&Ke([]),Et&&ho(!1),Be(""),Ya(hi?(Ia||[]).map(Kr=>String(Kr)):[])},at=function(){let{closeDropdown:En}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{closeDropdown:!0};En&&ho(!1),Ke(wa())},Pt=En=>{En&&po!==void 0&&Ya(po||[]),ho(En),!En&&!Bn.filterDropdown&&Ue()},bt=Ct()({[`${dr}-menu-without-submenu`]:!bo(Bn.filters||[])}),Ht=En=>{if(En.target.checked){const Et=Fs(Bn==null?void 0:Bn.filters).map(Kr=>String(Kr));Ya(Et)}else Ya([])},ln=En=>{let{filters:Et}=En;return(Et||[]).map((Kr,Pi)=>{const ja=String(Kr.value),wi={title:Kr.text,key:Kr.value!==void 0?ja:Pi};return Kr.children&&(wi.children=ln({filters:Kr.children})),wi})},rn=En=>{var Et;return Object.assign(Object.assign({},En),{text:En.title,value:En.key,children:((Et=En.children)===null||Et===void 0?void 0:Et.map(Kr=>rn(Kr)))||[]})};let Vn;if(typeof Bn.filterDropdown=="function")Vn=Bn.filterDropdown({prefixCls:`${dr}-custom`,setSelectedKeys:En=>Ds({selectedKeys:En}),selectedKeys:wa(),confirm:at,clearFilters:ut,filters:Bn.filters,visible:is,close:()=>{ho(!1)}});else if(Bn.filterDropdown)Vn=Bn.filterDropdown;else{const En=wa()||[],Et=()=>(Bn.filters||[]).length===0?Le.createElement(Lr.Z,{image:Lr.Z.PRESENTED_IMAGE_SIMPLE,description:Xi.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):_r==="tree"?Le.createElement(Le.Fragment,null,Le.createElement(No,{filterSearch:Wr,value:Ee,onChange:ke,tablePrefixCls:cn,locale:Xi}),Le.createElement("div",{className:`${cn}-filter-dropdown-tree`},ar?Le.createElement(Oo.default,{checked:En.length===Fs(Bn.filters).length,indeterminate:En.length>0&&En.lengthtypeof Wr=="function"?Wr(Ee,rn(Pi)):js(Ee,Pi.title):void 0}))):Le.createElement(Le.Fragment,null,Le.createElement(No,{filterSearch:Wr,value:Ee,onChange:ke,tablePrefixCls:cn,locale:Xi}),Le.createElement(nr.default,{selectable:!0,multiple:ar,prefixCls:`${dr}-menu`,className:bt,onSelect:Ds,onDeselect:Ds,selectedKeys:En,getPopupContainer:pa,openKeys:jn,onOpenChange:pe,items:kl({filters:Bn.filters||[],filterSearch:Wr,prefixCls:Nn,filteredKeys:wa(),filterMultiple:ar,searchValue:Ee})})),Kr=()=>hi?(0,dt.Z)((Ia||[]).map(Pi=>String(Pi)),En,!0):En.length===0;Vn=Le.createElement(Le.Fragment,null,Et(),Le.createElement("div",{className:`${Nn}-dropdown-btns`},Le.createElement(Hs.ZP,{type:"link",size:"small",disabled:Kr(),onClick:()=>ut()},Xi.filterReset),Le.createElement(Hs.ZP,{type:"primary",size:"small",onClick:Ue},Xi.filterConfirm)))}Bn.filterDropdown&&(Vn=Le.createElement(Oi.J,{selectable:void 0},Vn));const sn=()=>Le.createElement(zi,{className:`${Nn}-dropdown`},Vn);let vn;typeof Bn.filterIcon=="function"?vn=Bn.filterIcon(nl):Bn.filterIcon?vn=Bn.filterIcon:vn=Le.createElement(Ql,null);const{direction:Dn}=Le.useContext(hu.E_);return Le.createElement("div",{className:`${Nn}-column`},Le.createElement("span",{className:`${cn}-column-title`},Wi),Le.createElement(fn.Z,{dropdownRender:sn,trigger:["click"],open:is,onOpenChange:Pt,getPopupContainer:pa,placement:Dn==="rtl"?"bottomLeft":"bottomRight"},Le.createElement("span",{role:"button",tabIndex:-1,className:Ct()(`${Nn}-trigger`,{active:nl}),onClick:En=>{En.stopPropagation()}},vn)))}var vl=Es;function Is(ot,ht,Wt){let cn=[];return(ot||[]).forEach((Nn,Bn)=>{var dr;const pr=Vs(Bn,Wt);if(Nn.filters||"filterDropdown"in Nn||"onFilter"in Nn)if("filteredValue"in Nn){let ar=Nn.filteredValue;"filterDropdown"in Nn||(ar=(dr=ar==null?void 0:ar.map(String))!==null&&dr!==void 0?dr:ar),cn.push({column:Nn,key:al(Nn,pr),filteredKeys:ar,forceFiltered:Nn.filtered})}else cn.push({column:Nn,key:al(Nn,pr),filteredKeys:ht&&Nn.defaultFilteredValue?Nn.defaultFilteredValue:void 0,forceFiltered:Nn.filtered});"children"in Nn&&(cn=[].concat((0,eo.Z)(cn),(0,eo.Z)(Is(Nn.children,ht,pr))))}),cn}function fl(ot,ht,Wt,cn,Nn,Bn,dr,pr){return Wt.map((ar,_r)=>{const Wr=Vs(_r,pr),{filterMultiple:Jr=!0,filterMode:Qi,filterSearch:Xi}=ar;let Wi=ar;if(Wi.filters||Wi.filterDropdown){const pa=al(Wi,Wr),la=cn.find(Ta=>{let{key:hi}=Ta;return pa===hi});Wi=Object.assign(Object.assign({},Wi),{title:Ta=>Le.createElement(vl,{tablePrefixCls:ot,prefixCls:`${ot}-filter`,dropdownPrefixCls:ht,column:Wi,columnKey:pa,filterState:la,filterMultiple:Jr,filterMode:Qi,filterSearch:Xi,triggerFilter:Bn,locale:Nn,getPopupContainer:dr},$l(ar.title,Ta))})}return"children"in Wi&&(Wi=Object.assign(Object.assign({},Wi),{children:fl(ot,ht,Wi.children,cn,Nn,Bn,dr,Wr)})),Wi})}function Gl(ot){const ht={};return ot.forEach(Wt=>{let{key:cn,filteredKeys:Nn,column:Bn}=Wt;const{filters:dr,filterDropdown:pr}=Bn;if(pr)ht[cn]=Nn||null;else if(Array.isArray(Nn)){const ar=Fs(dr);ht[cn]=ar.filter(_r=>Nn.includes(String(_r)))}else ht[cn]=null}),ht}function Ul(ot,ht){return ht.reduce((Wt,cn)=>{const{column:{onFilter:Nn,filters:Bn},filteredKeys:dr}=cn;return Nn&&dr&&dr.length?Wt.filter(pr=>dr.some(ar=>{const _r=Fs(Bn),Wr=_r.findIndex(Qi=>String(Qi)===String(ar)),Jr=Wr!==-1?_r[Wr]:ar;return Nn(Jr,pr)})):Wt},ot)}const Ko=ot=>ot.flatMap(ht=>"children"in ht?[ht].concat((0,eo.Z)(Ko(ht.children||[]))):[ht]);function ao(ot){let{prefixCls:ht,dropdownPrefixCls:Wt,mergedColumns:cn,onFilterChange:Nn,getPopupContainer:Bn,locale:dr}=ot;const pr=Le.useMemo(()=>Ko(cn||[]),[cn]),[ar,_r]=Le.useState(()=>Is(pr,!0)),Wr=Le.useMemo(()=>{const Wi=Is(pr,!1);if(Wi.length===0)return Wi;let pa=!0,la=!0;if(Wi.forEach(Ta=>{let{filteredKeys:hi}=Ta;hi!==void 0?pa=!1:la=!1}),pa){const Ta=(pr||[]).map((hi,Ia)=>al(hi,Vs(Ia)));return ar.filter(hi=>{let{key:Ia}=hi;return Ta.includes(Ia)}).map(hi=>{const Ia=pr[Ta.findIndex(So=>So===hi.key)];return Object.assign(Object.assign({},hi),{column:Object.assign(Object.assign({},hi.column),Ia),forceFiltered:Ia.filtered})})}return Wi},[pr,ar]),Jr=Le.useMemo(()=>Gl(Wr),[Wr]),Qi=Wi=>{const pa=Wr.filter(la=>{let{key:Ta}=la;return Ta!==Wi.key});pa.push(Wi),_r(pa),Nn(Gl(pa),pa)};return[Wi=>fl(ht,Wt,Wi,Wr,dr,Qi,Bn),Wr,Jr]}var Wa=ao;function Dl(ot,ht,Wt){const cn=Le.useRef({});function Nn(Bn){if(!cn.current||cn.current.data!==ot||cn.current.childrenColumnName!==ht||cn.current.getRowKey!==Wt){let pr=function(ar){ar.forEach((_r,Wr)=>{const Jr=Wt(_r,Wr);dr.set(Jr,_r),_r&&typeof _r=="object"&&ht in _r&&pr(_r[ht]||[])})};const dr=new Map;pr(ot),cn.current={data:ot,childrenColumnName:ht,kvMap:dr,getRowKey:Wt}}return cn.current.kvMap.get(Bn)}return[Nn]}var lu=he(50371),mc=function(ot,ht){var Wt={};for(var cn in ot)Object.prototype.hasOwnProperty.call(ot,cn)&&ht.indexOf(cn)<0&&(Wt[cn]=ot[cn]);if(ot!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Nn=0,cn=Object.getOwnPropertySymbols(ot);Nn{const Bn=ot[Nn];typeof Bn!="function"&&(Wt[Nn]=Bn)}),Wt}function Ml(ot,ht,Wt){const cn=Wt&&typeof Wt=="object"?Wt:{},{total:Nn=0}=cn,Bn=mc(cn,["total"]),[dr,pr]=(0,Le.useState)(()=>({current:"defaultCurrent"in Bn?Bn.defaultCurrent:1,pageSize:"defaultPageSize"in Bn?Bn.defaultPageSize:Ro})),ar=(0,lu.Z)(dr,Bn,{total:Nn>0?Nn:ot}),_r=Math.ceil((Nn||ot)/ar.pageSize);ar.current>_r&&(ar.current=_r||1);const Wr=(Qi,Xi)=>{pr({current:Qi!=null?Qi:1,pageSize:Xi||ar.pageSize})},Jr=(Qi,Xi)=>{var Wi;Wt&&((Wi=Wt.onChange)===null||Wi===void 0||Wi.call(Wt,Qi,Xi)),Wr(Qi,Xi),ht(Qi,Xi||(ar==null?void 0:ar.pageSize))};return Wt===!1?[{},()=>{}]:[Object.assign(Object.assign({},ar),{onChange:Jr}),Wr]}var mu=Ml,Co=he(84105),Go=he(35654),ou=he(90782),Mc=he(71430),Ai=he(18929);const tu={},Pl="SELECT_ALL",nc="SELECT_INVERT",Tu="SELECT_NONE",$i=[],ol=(ot,ht)=>{let Wt=[];return(ht||[]).forEach(cn=>{Wt.push(cn),cn&&typeof cn=="object"&&ot in cn&&(Wt=[].concat((0,eo.Z)(Wt),(0,eo.Z)(ol(ot,cn[ot]))))}),Wt};var ds=(ot,ht)=>{const{preserveSelectedRowKeys:Wt,selectedRowKeys:cn,defaultSelectedRowKeys:Nn,getCheckboxProps:Bn,onChange:dr,onSelect:pr,onSelectAll:ar,onSelectInvert:_r,onSelectNone:Wr,onSelectMultiple:Jr,columnWidth:Qi,type:Xi,selections:Wi,fixed:pa,renderCell:la,hideSelectAll:Ta,checkStrictly:hi=!0}=ht||{},{prefixCls:Ia,data:So,pageData:hs,getRecordByKey:jo,getRowKey:ms,expandType:nl,childrenColumnName:ho,locale:is,getPopupContainer:po}=ot,[wa,Ya]=(0,Ai.Z)(cn||Nn||$i,{value:cn}),Ds=Le.useRef(new Map),bl=(0,Le.useCallback)(rn=>{if(Wt){const Vn=new Map;rn.forEach(sn=>{let vn=jo(sn);!vn&&Ds.current.has(sn)&&(vn=Ds.current.get(sn)),Vn.set(sn,vn)}),Ds.current=Vn}},[jo,Wt]);Le.useEffect(()=>{bl(wa)},[wa]);const{keyEntities:jn}=(0,Le.useMemo)(()=>{if(hi)return{keyEntities:null};let rn=So;if(Wt){const Vn=new Set(So.map((vn,Dn)=>ms(vn,Dn))),sn=Array.from(Ds.current).reduce((vn,Dn)=>{let[En,Et]=Dn;return Vn.has(En)?vn:vn.concat(Et)},[]);rn=[].concat((0,eo.Z)(rn),(0,eo.Z)(sn))}return(0,Mc.I8)(rn,{externalGetKey:ms,childrenPropName:ho})},[So,ms,hi,ho,Wt]),$r=(0,Le.useMemo)(()=>ol(ho,hs),[ho,hs]),pe=(0,Le.useMemo)(()=>{const rn=new Map;return $r.forEach((Vn,sn)=>{const vn=ms(Vn,sn),Dn=(Bn?Bn(Vn):null)||{};rn.set(vn,Dn)}),rn},[$r,ms,Bn]),Ee=(0,Le.useCallback)(rn=>{var Vn;return!!(!((Vn=pe.get(ms(rn)))===null||Vn===void 0)&&Vn.disabled)},[pe,ms]),[Be,ke]=(0,Le.useMemo)(()=>{if(hi)return[wa||[],[]];const{checkedKeys:rn,halfCheckedKeys:Vn}=(0,ou.S)(wa,!0,jn,Ee);return[rn||[],Vn]},[wa,hi,jn,Ee]),Ke=(0,Le.useMemo)(()=>{const rn=Xi==="radio"?Be.slice(0,1):Be;return new Set(rn)},[Be,Xi]),Ue=(0,Le.useMemo)(()=>Xi==="radio"?new Set:new Set(ke),[ke,Xi]),[ut,at]=(0,Le.useState)(null);Le.useEffect(()=>{ht||Ya($i)},[!!ht]);const Pt=(0,Le.useCallback)((rn,Vn)=>{let sn,vn;bl(rn),Wt?(sn=rn,vn=rn.map(Dn=>Ds.current.get(Dn))):(sn=[],vn=[],rn.forEach(Dn=>{const En=jo(Dn);En!==void 0&&(sn.push(Dn),vn.push(En))})),Ya(sn),dr==null||dr(sn,vn,{type:Vn})},[Ya,jo,dr,Wt]),bt=(0,Le.useCallback)((rn,Vn,sn,vn)=>{if(pr){const Dn=sn.map(En=>jo(En));pr(jo(rn),Vn,Dn,vn)}Pt(sn,"single")},[pr,jo,Pt]),Ht=(0,Le.useMemo)(()=>!Wi||Ta?null:(Wi===!0?[Pl,nc,Tu]:Wi).map(Vn=>Vn===Pl?{key:"all",text:is.selectionAll,onSelect(){Pt(So.map((sn,vn)=>ms(sn,vn)).filter(sn=>{const vn=pe.get(sn);return!(vn!=null&&vn.disabled)||Ke.has(sn)}),"all")}}:Vn===nc?{key:"invert",text:is.selectInvert,onSelect(){const sn=new Set(Ke);hs.forEach((Dn,En)=>{const Et=ms(Dn,En),Kr=pe.get(Et);Kr!=null&&Kr.disabled||(sn.has(Et)?sn.delete(Et):sn.add(Et))});const vn=Array.from(sn);_r&&_r(vn),Pt(vn,"invert")}}:Vn===Tu?{key:"none",text:is.selectNone,onSelect(){Wr==null||Wr(),Pt(Array.from(Ke).filter(sn=>{const vn=pe.get(sn);return vn==null?void 0:vn.disabled}),"none")}}:Vn).map(Vn=>Object.assign(Object.assign({},Vn),{onSelect:function(){for(var sn,vn,Dn=arguments.length,En=new Array(Dn),Et=0;Et{var Vn;if(!ht)return rn.filter(fr=>fr!==tu);let sn=(0,eo.Z)(rn);const vn=new Set(Ke),Dn=$r.map(ms).filter(fr=>!pe.get(fr).disabled),En=Dn.every(fr=>vn.has(fr)),Et=Dn.some(fr=>vn.has(fr)),Kr=()=>{const fr=[];En?Dn.forEach(Fi=>{vn.delete(Fi),fr.push(Fi)}):Dn.forEach(Fi=>{vn.has(Fi)||(vn.add(Fi),fr.push(Fi))});const tr=Array.from(vn);ar==null||ar(!En,tr.map(Fi=>jo(Fi)),fr.map(Fi=>jo(Fi))),Pt(tr,"all"),at(null)};let Pi;if(Xi!=="radio"){let fr;if(Ht){const ki={getPopupContainer:po,items:Ht.map((ma,To)=>{const{key:go,text:ia,onSelect:As}=ma;return{key:go!=null?go:To,onClick:()=>{As==null||As(Dn)},label:ia}})};fr=Le.createElement("div",{className:`${Ia}-selection-extra`},Le.createElement(fn.Z,{menu:ki,getPopupContainer:po},Le.createElement("span",null,Le.createElement(Co.Z,null))))}const tr=$r.map((ki,ma)=>{const To=ms(ki,ma),go=pe.get(To)||{};return Object.assign({checked:vn.has(To)},go)}).filter(ki=>{let{disabled:ma}=ki;return ma}),Fi=!!tr.length&&tr.length===$r.length,_i=Fi&&tr.every(ki=>{let{checked:ma}=ki;return ma}),La=Fi&&tr.some(ki=>{let{checked:ma}=ki;return ma});Pi=!Ta&&Le.createElement("div",{className:`${Ia}-selection`},Le.createElement(Oo.default,{checked:Fi?_i:!!$r.length&&En,indeterminate:Fi?!_i&&La:!En&&Et,onChange:Kr,disabled:$r.length===0||Fi,"aria-label":fr?"Custom selection":"Select all",skipGroup:!0}),fr)}let ja;Xi==="radio"?ja=(fr,tr,Fi)=>{const _i=ms(tr,Fi),La=vn.has(_i);return{node:Le.createElement(Do.ZP,Object.assign({},pe.get(_i),{checked:La,onClick:ki=>ki.stopPropagation(),onChange:ki=>{vn.has(_i)||bt(_i,!0,[_i],ki.nativeEvent)}})),checked:La}}:ja=(fr,tr,Fi)=>{var _i;const La=ms(tr,Fi),ki=vn.has(La),ma=Ue.has(La),To=pe.get(La);let go;return nl==="nest"?go=ma:go=(_i=To==null?void 0:To.indeterminate)!==null&&_i!==void 0?_i:ma,{node:Le.createElement(Oo.default,Object.assign({},To,{indeterminate:go,checked:ki,skipGroup:!0,onClick:ia=>ia.stopPropagation(),onChange:ia=>{let{nativeEvent:As}=ia;const{shiftKey:Ws}=As;let Vu=-1,du=-1;if(Ws&&hi){const Yu=new Set([ut,La]);Dn.some((sc,_u)=>{if(Yu.has(sc))if(Vu===-1)Vu=_u;else return du=_u,!0;return!1})}if(du!==-1&&Vu!==du&&hi){const Yu=Dn.slice(Vu,du+1),sc=[];ki?Yu.forEach(dc=>{vn.has(dc)&&(sc.push(dc),vn.delete(dc))}):Yu.forEach(dc=>{vn.has(dc)||(sc.push(dc),vn.add(dc))});const _u=Array.from(vn);Jr==null||Jr(!ki,_u.map(dc=>jo(dc)),sc.map(dc=>jo(dc))),Pt(_u,"multiple")}else{const Yu=Be;if(hi){const sc=ki?(0,Go._5)(Yu,La):(0,Go.L0)(Yu,La);bt(La,!ki,sc,As)}else{const sc=(0,ou.S)([].concat((0,eo.Z)(Yu),[La]),!0,jn,Ee),{checkedKeys:_u,halfCheckedKeys:dc}=sc;let Nc=_u;if(ki){const gd=new Set(_u);gd.delete(La),Nc=(0,ou.S)(Array.from(gd),{checked:!1,halfCheckedKeys:dc},jn,Ee).checkedKeys}bt(La,!ki,Nc,As)}}at(ki?null:La)}})),checked:ki}};const wi=(fr,tr,Fi)=>{const{node:_i,checked:La}=ja(fr,tr,Fi);return la?la(La,tr,Fi,_i):_i};if(!sn.includes(tu))if(sn.findIndex(fr=>{var tr;return((tr=fr[co])===null||tr===void 0?void 0:tr.columnType)==="EXPAND_COLUMN"})===0){const[fr,...tr]=sn;sn=[fr,tu].concat((0,eo.Z)(tr))}else sn=[tu].concat((0,eo.Z)(sn));const Ka=sn.indexOf(tu);sn=sn.filter((fr,tr)=>fr!==tu||tr===Ka);const vo=sn[Ka-1],mo=sn[Ka+1];let ii=pa;ii===void 0&&((mo==null?void 0:mo.fixed)!==void 0?ii=mo.fixed:(vo==null?void 0:vo.fixed)!==void 0&&(ii=vo.fixed)),ii&&vo&&((Vn=vo[co])===null||Vn===void 0?void 0:Vn.columnType)==="EXPAND_COLUMN"&&vo.fixed===void 0&&(vo.fixed=ii);const Ki=Ct()(`${Ia}-selection-col`,{[`${Ia}-selection-col-with-dropdown`]:Wi&&Xi==="checkbox"}),Mo={fixed:ii,width:Qi,className:`${Ia}-selection-column`,title:ht.columnTitle||Pi,render:wi,onCell:ht.onCell,[co]:{className:Ki}};return sn.map(fr=>fr===tu?Mo:fr)},[ms,$r,ht,Be,Ke,Ue,Qi,Ht,nl,ut,pe,Jr,bt,Ee]),Ke]},Zl=he(89489),uu=he(59477),Ys=he(6848);const hl="ascend",Rl="descend";function Yl(ot){return typeof ot.sorter=="object"&&typeof ot.sorter.multiple=="number"?ot.sorter.multiple:!1}function Au(ot){return typeof ot=="function"?ot:ot&&typeof ot=="object"&&ot.compare?ot.compare:!1}function nu(ot,ht){return ht?ot[ot.indexOf(ht)+1]:ot[0]}function xc(ot,ht,Wt){let cn=[];function Nn(Bn,dr){cn.push({column:Bn,key:al(Bn,dr),multiplePriority:Yl(Bn),sortOrder:Bn.sortOrder})}return(ot||[]).forEach((Bn,dr)=>{const pr=Vs(dr,Wt);Bn.children?("sortOrder"in Bn&&Nn(Bn,pr),cn=[].concat((0,eo.Z)(cn),(0,eo.Z)(xc(Bn.children,ht,pr)))):Bn.sorter&&("sortOrder"in Bn?Nn(Bn,pr):ht&&Bn.defaultSortOrder&&cn.push({column:Bn,key:al(Bn,pr),multiplePriority:Yl(Bn),sortOrder:Bn.defaultSortOrder}))}),cn}function Kc(ot,ht,Wt,cn,Nn,Bn,dr,pr){return(ht||[]).map((ar,_r)=>{const Wr=Vs(_r,pr);let Jr=ar;if(Jr.sorter){const Qi=Jr.sortDirections||Nn,Xi=Jr.showSorterTooltip===void 0?dr:Jr.showSorterTooltip,Wi=al(Jr,Wr),pa=Wt.find(nl=>{let{key:ho}=nl;return ho===Wi}),la=pa?pa.sortOrder:null,Ta=nu(Qi,la);let hi;if(ar.sortIcon)hi=ar.sortIcon({sortOrder:la});else{const nl=Qi.includes(hl)&&Le.createElement(uu.Z,{className:Ct()(`${ot}-column-sorter-up`,{active:la===hl})}),ho=Qi.includes(Rl)&&Le.createElement(Zl.Z,{className:Ct()(`${ot}-column-sorter-down`,{active:la===Rl})});hi=Le.createElement("span",{className:Ct()(`${ot}-column-sorter`,{[`${ot}-column-sorter-full`]:!!(nl&&ho)})},Le.createElement("span",{className:`${ot}-column-sorter-inner`,"aria-hidden":"true"},nl,ho))}const{cancelSort:Ia,triggerAsc:So,triggerDesc:hs}=Bn||{};let jo=Ia;Ta===Rl?jo=hs:Ta===hl&&(jo=So);const ms=typeof Xi=="object"?Xi:{title:jo};Jr=Object.assign(Object.assign({},Jr),{className:Ct()(Jr.className,{[`${ot}-column-sort`]:la}),title:nl=>{const ho=Le.createElement("div",{className:`${ot}-column-sorters`},Le.createElement("span",{className:`${ot}-column-title`},$l(ar.title,nl)),hi);return Xi?Le.createElement(Ys.Z,Object.assign({},ms),ho):ho},onHeaderCell:nl=>{const ho=ar.onHeaderCell&&ar.onHeaderCell(nl)||{},is=ho.onClick,po=ho.onKeyDown;ho.onClick=Ds=>{cn({column:ar,key:Wi,sortOrder:Ta,multiplePriority:Yl(ar)}),is==null||is(Ds)},ho.onKeyDown=Ds=>{Ds.keyCode===Nl.Z.ENTER&&(cn({column:ar,key:Wi,sortOrder:Ta,multiplePriority:Yl(ar)}),po==null||po(Ds))};const wa=eu(ar.title,{}),Ya=wa==null?void 0:wa.toString();return la?ho["aria-sort"]=la==="ascend"?"ascending":"descending":ho["aria-label"]=Ya||"",ho.className=Ct()(ho.className,`${ot}-column-has-sorters`),ho.tabIndex=0,ar.ellipsis&&(ho.title=(wa!=null?wa:"").toString()),ho}})}return"children"in Jr&&(Jr=Object.assign(Object.assign({},Jr),{children:Kc(ot,Jr.children,Wt,cn,Nn,Bn,dr,Wr)})),Jr})}function Dc(ot){const{column:ht,sortOrder:Wt}=ot;return{column:ht,order:Wt,field:ht.dataIndex,columnKey:ht.key}}function Jl(ot){const ht=ot.filter(Wt=>{let{sortOrder:cn}=Wt;return cn}).map(Dc);return ht.length===0&&ot.length?Object.assign(Object.assign({},Dc(ot[ot.length-1])),{column:void 0}):ht.length<=1?ht[0]||{}:ht}function Io(ot,ht,Wt){const cn=ht.slice().sort((dr,pr)=>pr.multiplePriority-dr.multiplePriority),Nn=ot.slice(),Bn=cn.filter(dr=>{let{column:{sorter:pr},sortOrder:ar}=dr;return Au(pr)&&ar});return Bn.length?Nn.sort((dr,pr)=>{for(let ar=0;ar{const pr=dr[Wt];return pr?Object.assign(Object.assign({},dr),{[Wt]:Io(pr,ht,Wt)}):dr}):Nn}function fs(ot){let{prefixCls:ht,mergedColumns:Wt,onSorterChange:cn,sortDirections:Nn,tableLocale:Bn,showSorterTooltip:dr}=ot;const[pr,ar]=Le.useState(xc(Wt,!0)),_r=Le.useMemo(()=>{let Wi=!0;const pa=xc(Wt,!1);if(!pa.length)return pr;const la=[];function Ta(Ia){Wi?la.push(Ia):la.push(Object.assign(Object.assign({},Ia),{sortOrder:null}))}let hi=null;return pa.forEach(Ia=>{hi===null?(Ta(Ia),Ia.sortOrder&&(Ia.multiplePriority===!1?Wi=!1:hi=!0)):(hi&&Ia.multiplePriority!==!1||(Wi=!1),Ta(Ia))}),la},[Wt,pr]),Wr=Le.useMemo(()=>{const Wi=_r.map(pa=>{let{column:la,sortOrder:Ta}=pa;return{column:la,order:Ta}});return{sortColumns:Wi,sortColumn:Wi[0]&&Wi[0].column,sortOrder:Wi[0]&&Wi[0].order}},[_r]);function Jr(Wi){let pa;Wi.multiplePriority===!1||!_r.length||_r[0].multiplePriority===!1?pa=[Wi]:pa=[].concat((0,eo.Z)(_r.filter(la=>{let{key:Ta}=la;return Ta!==Wi.key})),[Wi]),ar(pa),cn(Jl(pa),pa)}return[Wi=>Kc(ht,Wi,_r,Jr,Nn,Bn,dr),_r,Wr,()=>Jl(_r)]}function Gu(ot,ht){return ot.map(Wt=>{const cn=Object.assign({},Wt);return cn.title=$l(Wt.title,ht),"children"in cn&&(cn.children=Gu(cn.children,ht)),cn})}function cl(ot){return[Le.useCallback(Wt=>Gu(Wt,ot),[ot])]}var Iu=_a((ot,ht)=>{const{_renderTimes:Wt}=ot,{_renderTimes:cn}=ht;return Wt!==cn}),Mi=ul((ot,ht)=>{const{_renderTimes:Wt}=ot,{_renderTimes:cn}=ht;return Wt!==cn}),Ha=he(64993),yl=he(17313),Sl=he(83116),ru=he(37613),$e=ot=>{const{componentCls:ht}=ot,Wt=`${ot.lineWidth}px ${ot.lineType} ${ot.tableBorderColor}`,cn=(Nn,Bn,dr)=>({[`&${ht}-${Nn}`]:{[`> ${ht}-container`]:{[`> ${ht}-content, > ${ht}-body`]:{"\n > table > tbody > tr > th,\n > table > tbody > tr > td\n ":{[`> ${ht}-expanded-row-fixed`]:{margin:`-${Bn}px -${dr+ot.lineWidth}px`}}}}}});return{[`${ht}-wrapper`]:{[`${ht}${ht}-bordered`]:Object.assign(Object.assign(Object.assign({[`> ${ht}-title`]:{border:Wt,borderBottom:0},[`> ${ht}-container`]:{borderInlineStart:Wt,borderTop:Wt,[` - > ${ht}-content, - > ${ht}-header, - > ${ht}-body, - > ${ht}-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:Wt},"> thead":{"> tr:not(:last-child) > th":{borderBottom:Wt},"> tr > th::before":{backgroundColor:"transparent !important"}},"\n > thead > tr,\n > tbody > tr,\n > tfoot > tr\n ":{[`> ${ht}-cell-fix-right-first::after`]:{borderInlineEnd:Wt}},"\n > tbody > tr > th,\n > tbody > tr > td\n ":{[`> ${ht}-expanded-row-fixed`]:{margin:`-${ot.tablePaddingVertical}px -${ot.tablePaddingHorizontal+ot.lineWidth}px`,"&::after":{position:"absolute",top:0,insetInlineEnd:ot.lineWidth,bottom:0,borderInlineEnd:Wt,content:'""'}}}}}},[`&${ht}-scroll-horizontal`]:{[`> ${ht}-container > ${ht}-body`]:{"> table > tbody":{[` - > tr${ht}-expanded-row, - > tr${ht}-placeholder - `]:{"> th, > td":{borderInlineEnd:0}}}}}},cn("middle",ot.tablePaddingVerticalMiddle,ot.tablePaddingHorizontalMiddle)),cn("small",ot.tablePaddingVerticalSmall,ot.tablePaddingHorizontalSmall)),{[`> ${ht}-footer`]:{border:Wt,borderTop:0}}),[`${ht}-cell`]:{[`${ht}-container:first-child`]:{borderTop:0},"&-scrollbar:not([rowspan])":{boxShadow:`0 ${ot.lineWidth}px 0 ${ot.lineWidth}px ${ot.tableHeaderBg}`}},[`${ht}-bordered ${ht}-cell-scrollbar`]:{borderInlineEnd:Wt}}}},Yt=ot=>{const{componentCls:ht}=ot;return{[`${ht}-wrapper`]:{[`${ht}-cell-ellipsis`]:Object.assign(Object.assign({},yl.vS),{wordBreak:"keep-all",[` - &${ht}-cell-fix-left-last, - &${ht}-cell-fix-right-first - `]:{overflow:"visible",[`${ht}-cell-content`]:{display:"block",overflow:"hidden",textOverflow:"ellipsis"}},[`${ht}-column-title`]:{overflow:"hidden",textOverflow:"ellipsis",wordBreak:"keep-all"}})}}},Br=ot=>{const{componentCls:ht}=ot;return{[`${ht}-wrapper`]:{[`${ht}-tbody > tr${ht}-placeholder`]:{textAlign:"center",color:ot.colorTextDisabled,"\n &:hover > th,\n &:hover > td,\n ":{background:ot.colorBgContainer}}}}},Cr=he(15969),gi=ot=>{const{componentCls:ht,antCls:Wt,controlInteractiveSize:cn,motionDurationSlow:Nn,lineWidth:Bn,paddingXS:dr,lineType:pr,tableBorderColor:ar,tableExpandIconBg:_r,tableExpandColumnWidth:Wr,borderRadius:Jr,fontSize:Qi,fontSizeSM:Xi,lineHeight:Wi,tablePaddingVertical:pa,tablePaddingHorizontal:la,tableExpandedRowBg:Ta,paddingXXS:hi}=ot,Ia=cn/2-Bn,So=Ia*2+Bn*3,hs=`${Bn}px ${pr} ${ar}`,jo=hi-Bn;return{[`${ht}-wrapper`]:{[`${ht}-expand-icon-col`]:{width:Wr},[`${ht}-row-expand-icon-cell`]:{textAlign:"center",[`${ht}-row-expand-icon`]:{display:"inline-flex",float:"none",verticalAlign:"sub"}},[`${ht}-row-indent`]:{height:1,float:"left"},[`${ht}-row-expand-icon`]:Object.assign(Object.assign({},(0,Cr.N)(ot)),{position:"relative",float:"left",boxSizing:"border-box",width:So,height:So,padding:0,color:"inherit",lineHeight:`${So}px`,background:_r,border:hs,borderRadius:Jr,transform:`scale(${cn/So})`,transition:`all ${Nn}`,userSelect:"none","&:focus, &:hover, &:active":{borderColor:"currentcolor"},"&::before, &::after":{position:"absolute",background:"currentcolor",transition:`transform ${Nn} ease-out`,content:'""'},"&::before":{top:Ia,insetInlineEnd:jo,insetInlineStart:jo,height:Bn},"&::after":{top:jo,bottom:jo,insetInlineStart:Ia,width:Bn,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"}}),[`${ht}-row-indent + ${ht}-row-expand-icon`]:{marginTop:(Qi*Wi-Bn*3)/2-Math.ceil((Xi*1.4-Bn*3)/2),marginInlineEnd:dr},[`tr${ht}-expanded-row`]:{"&, &:hover":{"> th, > td":{background:Ta}},[`${Wt}-descriptions-view`]:{display:"flex",table:{flex:"auto",width:"auto"}}},[`${ht}-expanded-row-fixed`]:{position:"relative",margin:`-${pa}px -${la}px`,padding:`${pa}px ${la}px`}}}},Xa=ot=>{const{componentCls:ht,antCls:Wt,iconCls:cn,tableFilterDropdownWidth:Nn,tableFilterDropdownSearchWidth:Bn,paddingXXS:dr,paddingXS:pr,colorText:ar,lineWidth:_r,lineType:Wr,tableBorderColor:Jr,tableHeaderIconColor:Qi,fontSizeSM:Xi,tablePaddingHorizontal:Wi,borderRadius:pa,motionDurationSlow:la,colorTextDescription:Ta,colorPrimary:hi,tableHeaderFilterActiveBg:Ia,colorTextDisabled:So,tableFilterDropdownBg:hs,tableFilterDropdownHeight:jo,controlItemBgHover:ms,controlItemBgActive:nl,boxShadowSecondary:ho,filterDropdownMenuBg:is}=ot,po=`${Wt}-dropdown`,wa=`${ht}-filter-dropdown`,Ya=`${Wt}-tree`,Ds=`${_r}px ${Wr} ${Jr}`;return[{[`${ht}-wrapper`]:{[`${ht}-filter-column`]:{display:"flex",justifyContent:"space-between"},[`${ht}-filter-trigger`]:{position:"relative",display:"flex",alignItems:"center",marginBlock:-dr,marginInline:`${dr}px ${-Wi/2}px`,padding:`0 ${dr}px`,color:Qi,fontSize:Xi,borderRadius:pa,cursor:"pointer",transition:`all ${la}`,"&:hover":{color:Ta,background:Ia},"&.active":{color:hi}}}},{[`${Wt}-dropdown`]:{[wa]:Object.assign(Object.assign({},(0,yl.Wf)(ot)),{minWidth:Nn,backgroundColor:hs,borderRadius:pa,boxShadow:ho,overflow:"hidden",[`${po}-menu`]:{maxHeight:jo,overflowX:"hidden",border:0,boxShadow:"none",borderRadius:"unset",backgroundColor:is,"&:empty::after":{display:"block",padding:`${pr}px 0`,color:So,fontSize:Xi,textAlign:"center",content:'"Not Found"'}},[`${wa}-tree`]:{paddingBlock:`${pr}px 0`,paddingInline:pr,[Ya]:{padding:0},[`${Ya}-treenode ${Ya}-node-content-wrapper:hover`]:{backgroundColor:ms},[`${Ya}-treenode-checkbox-checked ${Ya}-node-content-wrapper`]:{"&, &:hover":{backgroundColor:nl}}},[`${wa}-search`]:{padding:pr,borderBottom:Ds,"&-input":{input:{minWidth:Bn},[cn]:{color:So}}},[`${wa}-checkall`]:{width:"100%",marginBottom:dr,marginInlineStart:dr},[`${wa}-btns`]:{display:"flex",justifyContent:"space-between",padding:`${pr-_r}px ${pr}px`,overflow:"hidden",borderTop:Ds}})}},{[`${Wt}-dropdown ${wa}, ${wa}-submenu`]:{[`${Wt}-checkbox-wrapper + span`]:{paddingInlineStart:pr,color:ar},"> ul":{maxHeight:"calc(100vh - 130px)",overflowX:"hidden",overflowY:"auto"}}}]},ea=ot=>{const{componentCls:ht,lineWidth:Wt,colorSplit:cn,motionDurationSlow:Nn,zIndexTableFixed:Bn,tableBg:dr,zIndexTableSticky:pr}=ot,ar=cn;return{[`${ht}-wrapper`]:{[` - ${ht}-cell-fix-left, - ${ht}-cell-fix-right - `]:{position:"sticky !important",zIndex:Bn,background:dr},[` - ${ht}-cell-fix-left-first::after, - ${ht}-cell-fix-left-last::after - `]:{position:"absolute",top:0,right:{_skip_check_:!0,value:0},bottom:-Wt,width:30,transform:"translateX(100%)",transition:`box-shadow ${Nn}`,content:'""',pointerEvents:"none"},[`${ht}-cell-fix-left-all::after`]:{display:"none"},[` - ${ht}-cell-fix-right-first::after, - ${ht}-cell-fix-right-last::after - `]:{position:"absolute",top:0,bottom:-Wt,left:{_skip_check_:!0,value:0},width:30,transform:"translateX(-100%)",transition:`box-shadow ${Nn}`,content:'""',pointerEvents:"none"},[`${ht}-container`]:{"&::before, &::after":{position:"absolute",top:0,bottom:0,zIndex:pr+1,width:30,transition:`box-shadow ${Nn}`,content:'""',pointerEvents:"none"},"&::before":{insetInlineStart:0},"&::after":{insetInlineEnd:0}},[`${ht}-ping-left`]:{[`&:not(${ht}-has-fix-left) ${ht}-container`]:{position:"relative","&::before":{boxShadow:`inset 10px 0 8px -8px ${ar}`}},[` - ${ht}-cell-fix-left-first::after, - ${ht}-cell-fix-left-last::after - `]:{boxShadow:`inset 10px 0 8px -8px ${ar}`},[`${ht}-cell-fix-left-last::before`]:{backgroundColor:"transparent !important"}},[`${ht}-ping-right`]:{[`&:not(${ht}-has-fix-right) ${ht}-container`]:{position:"relative","&::after":{boxShadow:`inset -10px 0 8px -8px ${ar}`}},[` - ${ht}-cell-fix-right-first::after, - ${ht}-cell-fix-right-last::after - `]:{boxShadow:`inset -10px 0 8px -8px ${ar}`}}}}},Ba=ot=>{const{componentCls:ht,antCls:Wt}=ot;return{[`${ht}-wrapper`]:{[`${ht}-pagination${Wt}-pagination`]:{margin:`${ot.margin}px 0`},[`${ht}-pagination`]:{display:"flex",flexWrap:"wrap",rowGap:ot.paddingXS,"> *":{flex:"none"},"&-left":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-right":{justifyContent:"flex-end"}}}}},Ci=ot=>{const{componentCls:ht,tableRadius:Wt}=ot;return{[`${ht}-wrapper`]:{[ht]:{[`${ht}-title, ${ht}-header`]:{borderRadius:`${Wt}px ${Wt}px 0 0`},[`${ht}-title + ${ht}-container`]:{borderStartStartRadius:0,borderStartEndRadius:0,[`${ht}-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:Wt,borderStartEndRadius:Wt,"table > thead > tr:first-child":{"> *:first-child":{borderStartStartRadius:Wt},"> *:last-child":{borderStartEndRadius:Wt}}},"&-footer":{borderRadius:`0 0 ${Wt}px ${Wt}px`}}}}},ns=ot=>{const{componentCls:ht}=ot;return{[`${ht}-wrapper-rtl`]:{direction:"rtl",table:{direction:"rtl"},[`${ht}-pagination-left`]:{justifyContent:"flex-end"},[`${ht}-pagination-right`]:{justifyContent:"flex-start"},[`${ht}-row-expand-icon`]:{float:"right","&::after":{transform:"rotate(-90deg)"},"&-collapsed::before":{transform:"rotate(180deg)"},"&-collapsed::after":{transform:"rotate(0deg)"}},[`${ht}-container`]:{"&::before":{insetInlineStart:"unset",insetInlineEnd:0},"&::after":{insetInlineStart:0,insetInlineEnd:"unset"},[`${ht}-row-indent`]:{float:"right"}}}}},rs=ot=>{const{componentCls:ht,antCls:Wt,iconCls:cn,fontSizeIcon:Nn,padding:Bn,paddingXS:dr,tableHeaderIconColor:pr,tableHeaderIconColorHover:ar,tableSelectionColumnWidth:_r}=ot;return{[`${ht}-wrapper`]:{[`${ht}-selection-col`]:{width:_r,[`&${ht}-selection-col-with-dropdown`]:{width:_r+Nn+Bn/4}},[`${ht}-bordered ${ht}-selection-col`]:{width:_r+dr*2,[`&${ht}-selection-col-with-dropdown`]:{width:_r+Nn+Bn/4+dr*2}},[` - table tr th${ht}-selection-column, - table tr td${ht}-selection-column - `]:{paddingInlineEnd:ot.paddingXS,paddingInlineStart:ot.paddingXS,textAlign:"center",[`${Wt}-radio-wrapper`]:{marginInlineEnd:0}},[`table tr th${ht}-selection-column${ht}-cell-fix-left`]:{zIndex:ot.zIndexTableFixed+1},[`table tr th${ht}-selection-column::after`]:{backgroundColor:"transparent !important"},[`${ht}-selection`]:{position:"relative",display:"inline-flex",flexDirection:"column"},[`${ht}-selection-extra`]:{position:"absolute",top:0,zIndex:1,cursor:"pointer",transition:`all ${ot.motionDurationSlow}`,marginInlineStart:"100%",paddingInlineStart:`${ot.tablePaddingHorizontal/4}px`,[cn]:{color:pr,fontSize:Nn,verticalAlign:"baseline","&:hover":{color:ar}}}}}},Vo=ot=>{const{componentCls:ht}=ot,Wt=(cn,Nn,Bn,dr)=>({[`${ht}${ht}-${cn}`]:{fontSize:dr,[` - ${ht}-title, - ${ht}-footer, - ${ht}-cell, - ${ht}-thead > tr > th, - ${ht}-tbody > tr > th, - ${ht}-tbody > tr > td, - tfoot > tr > th, - tfoot > tr > td - `]:{padding:`${Nn}px ${Bn}px`},[`${ht}-filter-trigger`]:{marginInlineEnd:`-${Bn/2}px`},[`${ht}-expanded-row-fixed`]:{margin:`-${Nn}px -${Bn}px`},[`${ht}-tbody`]:{[`${ht}-wrapper:only-child ${ht}`]:{marginBlock:`-${Nn}px`,marginInline:`${ot.tableExpandColumnWidth-Bn}px -${Bn}px`}},[`${ht}-selection-column`]:{paddingInlineStart:`${Bn/4}px`}}});return{[`${ht}-wrapper`]:Object.assign(Object.assign({},Wt("middle",ot.tablePaddingVerticalMiddle,ot.tablePaddingHorizontalMiddle,ot.tableFontSizeMiddle)),Wt("small",ot.tablePaddingVerticalSmall,ot.tablePaddingHorizontalSmall,ot.tableFontSizeSmall))}},Xl=ot=>{const{componentCls:ht,marginXXS:Wt,fontSizeIcon:cn,tableHeaderIconColor:Nn,tableHeaderIconColorHover:Bn}=ot;return{[`${ht}-wrapper`]:{[`${ht}-thead th${ht}-column-has-sorters`]:{outline:"none",cursor:"pointer",transition:`all ${ot.motionDurationSlow}`,"&:hover":{background:ot.tableHeaderSortHoverBg,"&::before":{backgroundColor:"transparent !important"}},"&:focus-visible":{color:ot.colorPrimary},[` - &${ht}-cell-fix-left:hover, - &${ht}-cell-fix-right:hover - `]:{background:ot.tableFixedHeaderSortActiveBg}},[`${ht}-thead th${ht}-column-sort`]:{background:ot.tableHeaderSortBg,"&::before":{backgroundColor:"transparent !important"}},[`td${ht}-column-sort`]:{background:ot.tableBodySortBg},[`${ht}-column-title`]:{position:"relative",zIndex:1,flex:1},[`${ht}-column-sorters`]:{display:"flex",flex:"auto",alignItems:"center",justifyContent:"space-between","&::after":{position:"absolute",inset:0,width:"100%",height:"100%",content:'""'}},[`${ht}-column-sorter`]:{marginInlineStart:Wt,color:Nn,fontSize:0,transition:`color ${ot.motionDurationSlow}`,"&-inner":{display:"inline-flex",flexDirection:"column",alignItems:"center"},"&-up, &-down":{fontSize:cn,"&.active":{color:ot.colorPrimary}},[`${ht}-column-sorter-up + ${ht}-column-sorter-down`]:{marginTop:"-0.3em"}},[`${ht}-column-sorters:hover ${ht}-column-sorter`]:{color:Bn}}}},ni=ot=>{const{componentCls:ht,opacityLoading:Wt,tableScrollThumbBg:cn,tableScrollThumbBgHover:Nn,tableScrollThumbSize:Bn,tableScrollBg:dr,zIndexTableSticky:pr,stickyScrollBarBorderRadius:ar}=ot,_r=`${ot.lineWidth}px ${ot.lineType} ${ot.tableBorderColor}`;return{[`${ht}-wrapper`]:{[`${ht}-sticky`]:{"&-holder":{position:"sticky",zIndex:pr,background:ot.colorBgContainer},"&-scroll":{position:"sticky",bottom:0,height:`${Bn}px !important`,zIndex:pr,display:"flex",alignItems:"center",background:dr,borderTop:_r,opacity:Wt,"&:hover":{transformOrigin:"center bottom"},"&-bar":{height:Bn,backgroundColor:cn,borderRadius:ar,transition:`all ${ot.motionDurationSlow}, transform none`,position:"absolute",bottom:0,"&:hover, &-active":{backgroundColor:Nn}}}}}}},iu=ot=>{const{componentCls:ht,lineWidth:Wt,tableBorderColor:cn}=ot,Nn=`${Wt}px ${ot.lineType} ${cn}`;return{[`${ht}-wrapper`]:{[`${ht}-summary`]:{position:"relative",zIndex:ot.zIndexTableFixed,background:ot.tableBg,"> tr":{"> th, > td":{borderBottom:Nn}}},[`div${ht}-summary`]:{boxShadow:`0 -${Wt}px 0 ${cn}`}}}},bu=ot=>{const{componentCls:ht}=ot,Wt=`${ot.lineWidth}px ${ot.lineType} ${ot.tableBorderColor}`,cn=`${ht}-expanded-row-cell`;return{[`${ht}-wrapper`]:{[`${ht}-tbody-virtual`]:{[`${ht}-row`]:{display:"flex",boxSizing:"border-box",width:"100%"},[`${ht}-cell`]:{borderBottom:Wt},[`${ht}-expanded-row`]:{[`${cn}${cn}-fixed`]:{position:"sticky",insetInlineStart:0,overflow:"hidden",width:`calc(var(--virtual-width) - ${ot.lineWidth}px)`,borderInlineEnd:"none"}}},[`${ht}-bordered`]:{[`${ht}-tbody-virtual`]:{"&:after":{content:'""',insetInline:0,bottom:0,borderBottom:Wt,position:"absolute"},[`${ht}-cell`]:{borderInlineEnd:Wt,[`&${ht}-cell-fix-right-first:before`]:{content:'""',position:"absolute",insetBlock:0,insetInlineStart:-ot.lineWidth,borderInlineStart:Wt}}}}}}};const Ll=ot=>{const{componentCls:ht,fontWeightStrong:Wt,tablePaddingVertical:cn,tablePaddingHorizontal:Nn,lineWidth:Bn,lineType:dr,tableBorderColor:pr,tableFontSize:ar,tableBg:_r,tableRadius:Wr,tableHeaderTextColor:Jr,motionDurationMid:Qi,tableHeaderBg:Xi,tableHeaderCellSplitColor:Wi,tableRowHoverBg:pa,tableSelectedRowBg:la,tableSelectedRowHoverBg:Ta,tableFooterTextColor:hi,tableFooterBg:Ia,paddingContentVerticalLG:So}=ot,hs=`${Bn}px ${dr} ${pr}`;return{[`${ht}-wrapper`]:Object.assign(Object.assign({clear:"both",maxWidth:"100%"},(0,yl.dF)()),{[ht]:Object.assign(Object.assign({},(0,yl.Wf)(ot)),{fontSize:ar,background:_r,borderRadius:`${Wr}px ${Wr}px 0 0`}),table:{width:"100%",textAlign:"start",borderRadius:`${Wr}px ${Wr}px 0 0`,borderCollapse:"separate",borderSpacing:0},[` - ${ht}-cell, - ${ht}-thead > tr > th, - ${ht}-tbody > tr > th, - ${ht}-tbody > tr > td, - tfoot > tr > th, - tfoot > tr > td - `]:{position:"relative",padding:`${So}px ${Nn}px`,overflowWrap:"break-word"},[`${ht}-title`]:{padding:`${cn}px ${Nn}px`},[`${ht}-thead`]:{"\n > tr > th,\n > tr > td\n ":{position:"relative",color:Jr,fontWeight:Wt,textAlign:"start",background:Xi,borderBottom:hs,transition:`background ${Qi} ease`,"&[colspan]:not([colspan='1'])":{textAlign:"center"},[`&:not(:last-child):not(${ht}-selection-column):not(${ht}-row-expand-icon-cell):not([colspan])::before`]:{position:"absolute",top:"50%",insetInlineEnd:0,width:1,height:"1.6em",backgroundColor:Wi,transform:"translateY(-50%)",transition:`background-color ${Qi}`,content:'""'}},"> tr:not(:last-child) > th[colspan]":{borderBottom:0}},[`${ht}-tbody`]:{"> tr":{"> th, > td":{transition:`background ${Qi}, border-color ${Qi}`,borderBottom:hs,[` - > ${ht}-wrapper:only-child, - > ${ht}-expanded-row-fixed > ${ht}-wrapper:only-child - `]:{[ht]:{marginBlock:`-${cn}px`,marginInline:`${ot.tableExpandColumnWidth-Nn}px -${Nn}px`,[`${ht}-tbody > tr:last-child > td`]:{borderBottom:0,"&:first-child, &:last-child":{borderRadius:0}}}}},"> th":{position:"relative",color:Jr,fontWeight:Wt,textAlign:"start",background:Xi,borderBottom:hs,transition:`background ${Qi} ease`},[` - &${ht}-row:hover > th, - &${ht}-row:hover > td, - > th${ht}-cell-row-hover, - > td${ht}-cell-row-hover - `]:{background:pa},[`&${ht}-row-selected`]:{"> th, > td":{background:la},"&:hover > th, &:hover > td":{background:Ta}}}},[`${ht}-footer`]:{padding:`${cn}px ${Nn}px`,color:hi,background:Ia}})}};var Js=(0,Sl.Z)("Table",ot=>{const{colorTextHeading:ht,colorSplit:Wt,colorIcon:cn,colorIconHover:Nn,opacityLoading:Bn,colorBgContainer:dr,controlInteractiveSize:pr,headerBg:ar,headerColor:_r,headerSortActiveBg:Wr,headerSortHoverBg:Jr,bodySortBg:Qi,rowHoverBg:Xi,rowSelectedBg:Wi,rowSelectedHoverBg:pa,rowExpandedBg:la,cellPaddingBlock:Ta,cellPaddingInline:hi,cellPaddingBlockMD:Ia,cellPaddingInlineMD:So,cellPaddingBlockSM:hs,cellPaddingInlineSM:jo,borderColor:ms,footerBg:nl,footerColor:ho,headerBorderRadius:is,cellFontSize:po,cellFontSizeMD:wa,cellFontSizeSM:Ya,headerSplitColor:Ds,fixedHeaderSortActiveBg:bl,headerFilterHoverBg:jn,filterDropdownBg:$r,expandIconBg:pe,selectionColumnWidth:Ee,stickyScrollBarBg:Be}=ot,ke=new Ha.C(cn),Ke=new Ha.C(Nn),Ue=2,ut=(0,ru.TS)(ot,{tableFontSize:po,tableBg:dr,tableRadius:is,tablePaddingVertical:Ta,tablePaddingHorizontal:hi,tablePaddingVerticalMiddle:Ia,tablePaddingHorizontalMiddle:So,tablePaddingVerticalSmall:hs,tablePaddingHorizontalSmall:jo,tableBorderColor:ms,tableHeaderTextColor:_r,tableHeaderBg:ar,tableFooterTextColor:ho,tableFooterBg:nl,tableHeaderCellSplitColor:Ds,tableHeaderSortBg:Wr,tableHeaderSortHoverBg:Jr,tableHeaderIconColor:ke.clone().setAlpha(ke.getAlpha()*Bn).toRgbString(),tableHeaderIconColorHover:Ke.clone().setAlpha(Ke.getAlpha()*Bn).toRgbString(),tableBodySortBg:Qi,tableFixedHeaderSortActiveBg:bl,tableHeaderFilterActiveBg:jn,tableFilterDropdownBg:$r,tableRowHoverBg:Xi,tableSelectedRowBg:Wi,tableSelectedRowHoverBg:pa,zIndexTableFixed:Ue,zIndexTableSticky:Ue+1,tableFontSizeMiddle:wa,tableFontSizeSmall:Ya,tableSelectionColumnWidth:Ee,tableExpandIconBg:pe,tableExpandColumnWidth:pr+2*ot.padding,tableExpandedRowBg:la,tableFilterDropdownWidth:120,tableFilterDropdownHeight:264,tableFilterDropdownSearchWidth:140,tableScrollThumbSize:8,tableScrollThumbBg:Be,tableScrollThumbBgHover:ht,tableScrollBg:Wt});return[Ll(ut),Ba(ut),iu(ut),Xl(ut),Xa(ut),$e(ut),Ci(ut),gi(ut),iu(ut),Br(ut),rs(ut),ea(ut),ni(ut),Yt(ut),Vo(ut),ns(ut),bu(ut)]},ot=>{const{colorFillAlter:ht,colorBgContainer:Wt,colorTextHeading:cn,colorFillSecondary:Nn,colorFillContent:Bn,controlItemBgActive:dr,controlItemBgActiveHover:pr,padding:ar,paddingSM:_r,paddingXS:Wr,colorBorderSecondary:Jr,borderRadiusLG:Qi,fontSize:Xi,controlHeight:Wi,colorTextPlaceholder:pa}=ot,la=new Ha.C(Nn).onBackground(Wt).toHexShortString(),Ta=new Ha.C(Bn).onBackground(Wt).toHexShortString(),hi=new Ha.C(ht).onBackground(Wt).toHexShortString();return{headerBg:hi,headerColor:cn,headerSortActiveBg:la,headerSortHoverBg:Ta,bodySortBg:hi,rowHoverBg:hi,rowSelectedBg:dr,rowSelectedHoverBg:pr,rowExpandedBg:ht,cellPaddingBlock:ar,cellPaddingInline:ar,cellPaddingBlockMD:_r,cellPaddingInlineMD:Wr,cellPaddingBlockSM:Wr,cellPaddingInlineSM:Wr,borderColor:Jr,headerBorderRadius:Qi,footerBg:hi,footerColor:cn,cellFontSize:Xi,cellFontSizeMD:Xi,cellFontSizeSM:Xi,headerSplitColor:Jr,fixedHeaderSortActiveBg:la,headerFilterHoverBg:Bn,filterDropdownMenuBg:Wt,filterDropdownBg:Wt,expandIconBg:Wt,selectionColumnWidth:Wi,stickyScrollBarBg:pa,stickyScrollBarBorderRadius:100}});const wl=[],Vl=(ot,ht)=>{const{prefixCls:Wt,className:cn,rootClassName:Nn,style:Bn,size:dr,bordered:pr,dropdownPrefixCls:ar,dataSource:_r,pagination:Wr,rowSelection:Jr,rowKey:Qi="key",rowClassName:Xi,columns:Wi,children:pa,childrenColumnName:la,onChange:Ta,getPopupContainer:hi,loading:Ia,expandIcon:So,expandable:hs,expandedRowRender:jo,expandIconColumnIndex:ms,indentSize:nl,scroll:ho,sortDirections:is,locale:po,showSorterTooltip:wa=!0,virtual:Ya}=ot,Ds=Le.useMemo(()=>Wi||st(pa),[Wi,pa]),bl=Le.useMemo(()=>Ds.some(Eu=>Eu.responsive),[Ds]),jn=(0,vc.Z)(bl),$r=Le.useMemo(()=>{const Eu=new Set(Object.keys(jn).filter(rc=>jn[rc]));return Ds.filter(rc=>!rc.responsive||rc.responsive.some(Gc=>Eu.has(Gc)))},[Ds,jn]),pe=(0,cc.Z)(ot,["className","style","columns"]),{locale:Ee=yu.Z,direction:Be,table:ke,renderEmpty:Ke,getPrefixCls:Ue,getPopupContainer:ut}=Le.useContext(hu.E_),at=(0,Mu.Z)(dr),Pt=Object.assign(Object.assign({},Ee.Table),po),bt=_r||wl,Ht=Ue("table",Wt),ln=Ue("dropdown",ar),rn=Object.assign({childrenColumnName:la,expandIconColumnIndex:ms},hs),{childrenColumnName:Vn="children"}=rn,sn=Le.useMemo(()=>bt.some(Eu=>Eu==null?void 0:Eu[Vn])?"nest":jo||hs&&hs.expandedRowRender?"row":null,[bt]),vn={body:Le.useRef()},Dn=Le.useMemo(()=>typeof Qi=="function"?Qi:Eu=>Eu==null?void 0:Eu[Qi],[Qi]),[En]=Dl(bt,Vn,Dn),Et={},Kr=function(Eu,rc){let Gc=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var lc,zc,Uc;const ld=Object.assign(Object.assign({},Et),Eu);Gc&&((lc=Et.resetPagination)===null||lc===void 0||lc.call(Et),!((zc=ld.pagination)===null||zc===void 0)&&zc.current&&(ld.pagination.current=1),Wr&&Wr.onChange&&Wr.onChange(1,(Uc=ld.pagination)===null||Uc===void 0?void 0:Uc.pageSize)),ho&&ho.scrollToFirstRowOnChange!==!1&&vn.body.current&&(0,Ru.Z)(0,{getContainer:()=>vn.body.current}),Ta==null||Ta(ld.pagination,ld.filters,ld.sorter,{currentDataSource:Ul(Io(bt,ld.sorterStates,Vn),ld.filterStates),action:rc})},Pi=(Eu,rc)=>{Kr({sorter:Eu,sorterStates:rc},"sort",!1)},[ja,wi,Ka,vo]=fs({prefixCls:Ht,mergedColumns:$r,onSorterChange:Pi,sortDirections:is||["ascend","descend"],tableLocale:Pt,showSorterTooltip:wa}),mo=Le.useMemo(()=>Io(bt,wi,Vn),[bt,wi]);Et.sorter=vo(),Et.sorterStates=wi;const ii=(Eu,rc)=>{Kr({filters:Eu,filterStates:rc},"filter",!0)},[Ki,Mo,fr]=Wa({prefixCls:Ht,locale:Pt,dropdownPrefixCls:ln,mergedColumns:$r,onFilterChange:ii,getPopupContainer:hi||ut}),tr=Ul(mo,Mo);Et.filters=fr,Et.filterStates=Mo;const Fi=Le.useMemo(()=>{const Eu={};return Object.keys(fr).forEach(rc=>{fr[rc]!==null&&(Eu[rc]=fr[rc])}),Object.assign(Object.assign({},Ka),{filters:Eu})},[Ka,fr]),[_i]=cl(Fi),La=(Eu,rc)=>{Kr({pagination:Object.assign(Object.assign({},Et.pagination),{current:Eu,pageSize:rc})},"paginate")},[ki,ma]=mu(tr.length,La,Wr);Et.pagination=Wr===!1?{}:jl(ki,Wr),Et.resetPagination=ma;const To=Le.useMemo(()=>{if(Wr===!1||!ki.pageSize)return tr;const{current:Eu=1,total:rc,pageSize:Gc=Ro}=ki;return tr.lengthGc?tr.slice((Eu-1)*Gc,Eu*Gc):tr:tr.slice((Eu-1)*Gc,Eu*Gc)},[!!Wr,tr,ki&&ki.current,ki&&ki.pageSize,ki&&ki.total]),[go,ia]=ds({prefixCls:Ht,data:tr,pageData:To,getRowKey:Dn,getRecordByKey:En,expandType:sn,childrenColumnName:Vn,locale:Pt,getPopupContainer:hi||ut},Jr),As=(Eu,rc,Gc)=>{let lc;return typeof Xi=="function"?lc=Ct()(Xi(Eu,rc,Gc)):lc=Ct()(Xi),Ct()({[`${Ht}-row-selected`]:ia.has(Dn(Eu,rc))},lc)};rn.__PARENT_RENDER_ICON__=rn.expandIcon,rn.expandIcon=rn.expandIcon||So||ps(Pt),sn==="nest"&&rn.expandIconColumnIndex===void 0?rn.expandIconColumnIndex=Jr?1:0:rn.expandIconColumnIndex>0&&Jr&&(rn.expandIconColumnIndex-=1),typeof rn.indentSize!="number"&&(rn.indentSize=typeof nl=="number"?nl:15);const Ws=Le.useCallback(Eu=>_i(go(Ki(ja(Eu)))),[ja,Ki,go]);let Vu,du;if(Wr!==!1&&(ki!=null&&ki.total)){let Eu;ki.size?Eu=ki.size:Eu=at==="small"||at==="middle"?"small":void 0;const rc=zc=>Le.createElement(to.Z,Object.assign({},ki,{className:Ct()(`${Ht}-pagination ${Ht}-pagination-${zc}`,ki.className),size:Eu})),Gc=Be==="rtl"?"left":"right",{position:lc}=ki;if(lc!==null&&Array.isArray(lc)){const zc=lc.find(Nd=>Nd.includes("top")),Uc=lc.find(Nd=>Nd.includes("bottom")),ld=lc.every(Nd=>`${Nd}`=="none");!zc&&!Uc&&!ld&&(du=rc(Gc)),zc&&(Vu=rc(zc.toLowerCase().replace("top",""))),Uc&&(du=rc(Uc.toLowerCase().replace("bottom","")))}else du=rc(Gc)}let Yu;typeof Ia=="boolean"?Yu={spinning:Ia}:typeof Ia=="object"&&(Yu=Object.assign({spinning:!0},Ia));const[sc,_u]=Js(Ht),[,dc]=(0,no.Z)(),Nc=Ct()(`${Ht}-wrapper`,ke==null?void 0:ke.className,{[`${Ht}-wrapper-rtl`]:Be==="rtl"},cn,Nn,_u),gd=Object.assign(Object.assign({},ke==null?void 0:ke.style),Bn),Ic=po&&po.emptyText||(Ke==null?void 0:Ke("Table"))||Le.createElement(zu.Z,{componentName:"Table"}),fd=Ya?Mi:Iu,yd={},hc=Le.useMemo(()=>{const{fontSize:Eu,lineHeight:rc,padding:Gc,paddingXS:lc,paddingSM:zc}=dc,Uc=Math.floor(Eu*rc);switch(at){case"large":return Gc*2+Uc;case"small":return lc*2+Uc;default:return zc*2+Uc}},[dc,at]);return Ya&&(yd.listItemHeight=hc),sc(Le.createElement("div",{ref:ht,className:Nc,style:gd},Le.createElement(uo.Z,Object.assign({spinning:!1},Yu),Vu,Le.createElement(fd,Object.assign({},yd,pe,{columns:$r,direction:Be,expandable:rn,prefixCls:Ht,className:Ct()({[`${Ht}-middle`]:at==="middle",[`${Ht}-small`]:at==="small",[`${Ht}-bordered`]:pr,[`${Ht}-empty`]:bt.length===0}),data:To,rowKey:Dn,rowClassName:As,emptyText:Ic,internalHooks:je,internalRefs:vn,transformColumns:Ws})),du)))};var Uu=Le.forwardRef(Vl);const xu=(ot,ht)=>{const Wt=Le.useRef(0);return Wt.current+=1,Le.createElement(Uu,Object.assign({},ot,{ref:ht,_renderTimes:Wt.current}))},cu=Le.forwardRef(xu);cu.SELECTION_COLUMN=tu,cu.EXPAND_COLUMN=se,cu.SELECTION_ALL=Pl,cu.SELECTION_INVERT=nc,cu.SELECTION_NONE=Tu,cu.Column=zs,cu.ColumnGroup=Su,cu.Summary=Lt;var pc=cu,Ac=pc},99313:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return Wn}});var se=he(99267),je=he(18785),Bt=he(62772),Rt=he(92310),Dt=he.n(Rt),dt=he(60499),Le=he(18642),Xe=he(85899),_e=he(72190),It=he(43749),vt=he(42244),wt=he(59301),Ot=he(49658),Ye=he(18929),We=he(77900),pt=(0,wt.createContext)(null),mt=wt.forwardRef(function(st,Nt){var Gn=st.prefixCls,Sr=st.className,yr=st.style,ci=st.id,ai=st.active,Ur=st.tabKey,zr=st.children;return wt.createElement("div",{id:ci&&"".concat(ci,"-panel-").concat(Ur),role:"tabpanel",tabIndex:ai?0:-1,"aria-labelledby":ci&&"".concat(ci,"-tab-").concat(Ur),"aria-hidden":!ai,style:yr,className:Dt()(Gn,ai&&"".concat(Gn,"-active"),Sr),ref:Nt},zr)}),Jt=mt,Qt=["key","forceRender","style","className"];function $t(st){var Nt=st.id,Gn=st.activeKey,Sr=st.animated,yr=st.tabPosition,ci=st.destroyInactiveTabPane,ai=wt.useContext(pt),Ur=ai.prefixCls,zr=ai.tabs,ta=Sr.tabPane,qa="".concat(Ur,"-tabpane");return wt.createElement("div",{className:Dt()("".concat(Ur,"-content-holder"))},wt.createElement("div",{className:Dt()("".concat(Ur,"-content"),"".concat(Ur,"-content-").concat(yr),(0,Le.Z)({},"".concat(Ur,"-content-animated"),ta))},zr.map(function(pi){var Mr=pi.key,sr=pi.forceRender,xn=pi.style,er=pi.className,Er=(0,vt.Z)(pi,Qt),Zr=Mr===Gn;return wt.createElement(We.default,(0,dt.Z)({key:Mr,visible:Zr,forceRender:sr,removeOnLeave:!!ci,leavedClassName:"".concat(qa,"-hidden")},Sr.tabPaneMotion),function(ti,Nr){var Bi=ti.style,Zn=ti.className;return wt.createElement(Jt,(0,dt.Z)({},Er,{prefixCls:qa,id:Nt,tabKey:Mr,animated:ta,active:Zr,style:(0,Xe.Z)((0,Xe.Z)({},xn),Bi),className:Dt()(er,Zn),ref:Nr}))})})))}var Ft=he(77654),Gt=he(29301),Je=he(6089),Sn=he(8654),_n={width:0,height:0,left:0,top:0};function Cn(st,Nt,Gn){return(0,wt.useMemo)(function(){for(var Sr,yr=new Map,ci=Nt.get((Sr=st[0])===null||Sr===void 0?void 0:Sr.key)||_n,ai=ci.left+ci.width,Ur=0;Ures?(Da=Qa,Di.current="x"):(Da=Ao,Di.current="y"),Nt(-Da,-Da)&&na.preventDefault()}var ha=(0,wt.useRef)(null);ha.current={onTouchStart:Nr,onTouchMove:Bi,onTouchEnd:Zn,onWheel:da},wt.useEffect(function(){function na(Ma){ha.current.onTouchStart(Ma)}function Qa(Ma){ha.current.onTouchMove(Ma)}function Ao(Ma){ha.current.onTouchEnd(Ma)}function Da(Ma){ha.current.onWheel(Ma)}return document.addEventListener("touchmove",Qa,{passive:!1}),document.addEventListener("touchend",Ao,{passive:!1}),st.current.addEventListener("touchstart",na,{passive:!1}),st.current.addEventListener("wheel",Da),function(){document.removeEventListener("touchmove",Qa),document.removeEventListener("touchend",Ao)}},[])}var Mn=he(34280);function bn(st){var Nt=(0,wt.useState)(0),Gn=(0,_e.Z)(Nt,2),Sr=Gn[0],yr=Gn[1],ci=(0,wt.useRef)(0),ai=(0,wt.useRef)();return ai.current=st,(0,Mn.o)(function(){var Ur;(Ur=ai.current)===null||Ur===void 0||Ur.call(ai)},[Sr]),function(){ci.current===Sr&&(ci.current+=1,yr(ci.current))}}function Dr(st){var Nt=(0,wt.useRef)([]),Gn=(0,wt.useState)({}),Sr=(0,_e.Z)(Gn,2),yr=Sr[1],ci=(0,wt.useRef)(typeof st=="function"?st():st),ai=bn(function(){var zr=ci.current;Nt.current.forEach(function(ta){zr=ta(zr)}),Nt.current=[],ci.current=zr,yr({})});function Ur(zr){Nt.current.push(zr),ai()}return[ci.current,Ur]}var oi={width:0,height:0,left:0,top:0,right:0};function yt(st,Nt,Gn,Sr,yr,ci,ai){var Ur=ai.tabs,zr=ai.tabPosition,ta=ai.rtl,qa,pi,Mr;return["top","bottom"].includes(zr)?(qa="width",pi=ta?"right":"left",Mr=Math.abs(Gn)):(qa="height",pi="top",Mr=-Gn),(0,wt.useMemo)(function(){if(!Ur.length)return[0,0];for(var sr=Ur.length,xn=sr,er=0;erMr+Nt){xn=er-1;break}}for(var Zr=0,ti=sr-1;ti>=0;ti-=1){var Nr=st.get(Ur[ti].key)||oi;if(Nr[pi]=xn?[0,0]:[Zr,xn]},[st,Nt,Sr,yr,ci,Mr,zr,Ur.map(function(sr){return sr.key}).join("_"),ta])}function tt(st){var Nt;return st instanceof Map?(Nt={},st.forEach(function(Gn,Sr){Nt[Sr]=Gn})):Nt=st,JSON.stringify(Nt)}var Rn="TABS_DQ";function fi(st){return String(st).replace(/"/g,Rn)}function li(st,Nt,Gn,Sr){return!(!Gn||Sr||st===!1||st===void 0&&(Nt===!1||Nt===null))}function In(st,Nt){var Gn=st.prefixCls,Sr=st.editable,yr=st.locale,ci=st.style;return!Sr||Sr.showAdd===!1?null:wt.createElement("button",{ref:Nt,type:"button",className:"".concat(Gn,"-nav-add"),style:ci,"aria-label":(yr==null?void 0:yr.addAriaLabel)||"Add tab",onClick:function(Ur){Sr.onEdit("add",{event:Ur})}},Sr.addIcon||"+")}var an=wt.forwardRef(In),Xr=wt.forwardRef(function(st,Nt){var Gn=st.position,Sr=st.prefixCls,yr=st.extra;if(!yr)return null;var ci,ai={};return(0,It.Z)(yr)==="object"&&!wt.isValidElement(yr)?ai=yr:ai.right=yr,Gn==="right"&&(ci=ai.right),Gn==="left"&&(ci=ai.left),ci?wt.createElement("div",{className:"".concat(Sr,"-extra-content"),ref:Nt},ci):null}),Or=Xr,zn=he(31561),Qn=he(15285),Jn=he(10228);function qn(st,Nt){var Gn=st.prefixCls,Sr=st.id,yr=st.tabs,ci=st.locale,ai=st.mobile,Ur=st.moreIcon,zr=Ur===void 0?"More":Ur,ta=st.moreTransitionName,qa=st.style,pi=st.className,Mr=st.editable,sr=st.tabBarGutter,xn=st.rtl,er=st.removeAriaLabel,Er=st.onTabClick,Zr=st.getPopupContainer,ti=st.popupClassName,Nr=(0,wt.useState)(!1),Bi=(0,_e.Z)(Nr,2),Zn=Bi[0],Di=Bi[1],da=(0,wt.useState)(null),ha=(0,_e.Z)(da,2),na=ha[0],Qa=ha[1],Ao="".concat(Sr,"-more-popup"),Da="".concat(Gn,"-dropdown"),Ma=na!==null?"".concat(Ao,"-").concat(na):null,es=ci==null?void 0:ci.dropdownAriaLabel;function Fo(Ns,xs){Ns.preventDefault(),Ns.stopPropagation(),Mr.onEdit("remove",{key:xs,event:Ns})}var Ls=wt.createElement(Qn.ZP,{onClick:function(xs){var Al=xs.key,Bs=xs.domEvent;Er(Al,Bs),Di(!1)},prefixCls:"".concat(Da,"-menu"),id:Ao,tabIndex:-1,role:"listbox","aria-activedescendant":Ma,selectedKeys:[na],"aria-label":es!==void 0?es:"expanded dropdown"},yr.map(function(Ns){var xs=Ns.closable,Al=Ns.disabled,Bs=Ns.closeIcon,Ho=Ns.key,ll=Ns.label,el=li(xs,Bs,Mr,Al);return wt.createElement(Qn.sN,{key:Ho,id:"".concat(Ao,"-").concat(Ho),role:"option","aria-controls":Sr&&"".concat(Sr,"-panel-").concat(Ho),disabled:Al},wt.createElement("span",null,ll),el&&wt.createElement("button",{type:"button","aria-label":er||"remove",tabIndex:0,className:"".concat(Da,"-menu-item-remove"),onClick:function(ui){ui.stopPropagation(),Fo(ui,Ho)}},Bs||Mr.removeIcon||"\xD7"))}));function _a(Ns){for(var xs=yr.filter(function(el){return!el.disabled}),Al=xs.findIndex(function(el){return el.key===na})||0,Bs=xs.length,Ho=0;Hoyo?"left":"right"})}),es=(0,_e.Z)(Ma,2),Fo=es[0],Ls=es[1],_a=Vt(0,function(Aa,yo){!Da&&Nr&&Nr({direction:Aa>yo?"top":"bottom"})}),$s=(0,_e.Z)(_a,2),sa=$s[0],Os=$s[1],Us=(0,wt.useState)([0,0]),Ns=(0,_e.Z)(Us,2),xs=Ns[0],Al=Ns[1],Bs=(0,wt.useState)([0,0]),Ho=(0,_e.Z)(Bs,2),ll=Ho[0],el=Ho[1],Rs=(0,wt.useState)([0,0]),ui=(0,_e.Z)(Rs,2),za=ui[0],ls=ui[1],vs=(0,wt.useState)([0,0]),Ms=(0,_e.Z)(vs,2),Ts=Ms[0],ul=Ms[1],Na=Dr(new Map),$a=(0,_e.Z)(Na,2),gl=$a[0],zs=$a[1],Xu=Cn(ci,gl,ll[0]),Su=Xt(xs,Da),cc=Xt(ll,Da),Ru=Xt(za,Da),hu=Xt(Ts,Da),zu=Suto?to:Aa}var no=(0,wt.useRef)(),yn=(0,wt.useState)(),ps=(0,_e.Z)(yn,2),al=ps[0],Vs=ps[1];function $l(){Vs(Date.now())}function eu(){window.clearTimeout(no.current)}Ln(ha,function(Aa,yo){function zi(Fs,bo){Fs(function(js){var kl=uo(js+bo);return kl})}return zu?(Da?zi(Ls,Aa):zi(Os,yo),eu(),$l(),!0):!1}),(0,wt.useEffect)(function(){return eu(),al&&(no.current=window.setTimeout(function(){Vs(0)},100)),eu},[al]);var vu=yt(Xu,Mu,Da?Fo:sa,cc,Ru,hu,(0,Xe.Z)((0,Xe.Z)({},st),{},{tabs:ci})),ku=(0,_e.Z)(vu,2),Lu=ku[0],Cc=ku[1],fo=(0,Je.Z)(function(){var Aa=arguments.length>0&&arguments[0]!==void 0?arguments[0]:qa,yo=Xu.get(Aa)||{width:0,height:0,left:0,right:0,top:0};if(Da){var zi=Fo;pi?yo.rightFo+Mu&&(zi=yo.right+yo.width-Mu):yo.left<-Fo?zi=-yo.left:yo.left+yo.width>-Fo+Mu&&(zi=-(yo.left+yo.width-Mu)),Os(0),Ls(uo(zi))}else{var Fs=sa;yo.top<-sa?Fs=-yo.top:yo.top+yo.height>-sa+Mu&&(Fs=-(yo.top+yo.height-Mu)),Ls(0),Os(uo(Fs))}}),Ql={};er==="top"||er==="bottom"?Ql[pi?"marginRight":"marginLeft"]=Er:Ql.marginTop=Er;var oc=ci.map(function(Aa,yo){var zi=Aa.key;return wt.createElement(Ie,{id:zr,prefixCls:yr,key:zi,tab:Aa,style:yo===0?void 0:Ql,closable:Aa.closable,editable:sr,active:zi===qa,renderWrapper:Zr,removeAriaLabel:xn==null?void 0:xn.removeAriaLabel,onClick:function(bo){ti(zi,bo)},onFocus:function(){fo(zi),$l(),ha.current&&(pi||(ha.current.scrollLeft=0),ha.current.scrollTop=0)}})}),us=function(){return zs(function(){var yo=new Map;return ci.forEach(function(zi){var Fs,bo=zi.key,js=(Fs=na.current)===null||Fs===void 0?void 0:Fs.querySelector('[data-node-key="'.concat(fi(bo),'"]'));js&&yo.set(bo,{width:js.offsetWidth,height:js.offsetHeight,left:js.offsetLeft,top:js.offsetTop})}),yo})};(0,wt.useEffect)(function(){us()},[ci.map(function(Aa){return Aa.key}).join("_")]);var Hs=bn(function(){var Aa=we(Zn),yo=we(Di),zi=we(da);Al([Aa[0]-yo[0]-zi[0],Aa[1]-yo[1]-zi[1]]);var Fs=we(Ao);ls(Fs);var bo=we(Qa);ul(bo);var js=we(na);el([js[0]-Fs[0],js[1]-Fs[1]]),us()}),Oo=ci.slice(0,Lu),fn=ci.slice(Cc+1),Lr=[].concat((0,Ft.Z)(Oo),(0,Ft.Z)(fn)),nr=Xu.get(qa),Oi=it({activeTabOffset:nr,horizontal:Da,rtl:pi,indicatorSize:Bi}),Do=Oi.style;(0,wt.useEffect)(function(){fo()},[qa,yu,to,tt(nr),tt(Xu),Da]),(0,wt.useEffect)(function(){Hs()},[pi]);var cr=!!Lr.length,tl="".concat(yr,"-nav-wrap"),ka,Vi,No,Nl;return Da?pi?(Vi=Fo>0,ka=Fo!==to):(ka=Fo<0,Vi=Fo!==yu):(No=sa<0,Nl=sa!==yu),wt.createElement(Gt.Z,{onResize:Hs},wt.createElement("div",{ref:(0,Sn.x1)(Nt,Zn),role:"tablist",className:Dt()("".concat(yr,"-nav"),ai),style:Ur,onKeyDown:function(){$l()}},wt.createElement(Or,{ref:Di,position:"left",extra:Mr,prefixCls:yr}),wt.createElement(Gt.Z,{onResize:Hs},wt.createElement("div",{className:Dt()(tl,(Gn={},(0,Le.Z)(Gn,"".concat(tl,"-ping-left"),ka),(0,Le.Z)(Gn,"".concat(tl,"-ping-right"),Vi),(0,Le.Z)(Gn,"".concat(tl,"-ping-top"),No),(0,Le.Z)(Gn,"".concat(tl,"-ping-bottom"),Nl),Gn)),ref:ha},wt.createElement(Gt.Z,{onResize:Hs},wt.createElement("div",{ref:na,className:"".concat(yr,"-nav-list"),style:{transform:"translate(".concat(Fo,"px, ").concat(sa,"px)"),transition:al?"none":void 0}},oc,wt.createElement(an,{ref:Ao,prefixCls:yr,locale:xn,editable:sr,style:(0,Xe.Z)((0,Xe.Z)({},oc.length===0?void 0:Ql),{},{visibility:cr?"hidden":null})}),wt.createElement("div",{className:Dt()("".concat(yr,"-ink-bar"),(0,Le.Z)({},"".concat(yr,"-ink-bar-animated"),ta.inkBar)),style:Do}))))),wt.createElement(On,(0,dt.Z)({},st,{removeAriaLabel:xn==null?void 0:xn.removeAriaLabel,ref:Qa,prefixCls:yr,tabs:Lr,className:!cr&&vc,tabMoving:!!al})),wt.createElement(Or,{ref:da,position:"right",extra:Mr,prefixCls:yr})))}var Lt=wt.forwardRef(wn),Zt=["renderTabBar"],or=["label","key"];function Xn(st){var Nt=st.renderTabBar,Gn=(0,vt.Z)(st,Zt),Sr=wt.useContext(pt),yr=Sr.tabs;if(Nt){var ci=(0,Xe.Z)((0,Xe.Z)({},Gn),{},{panes:yr.map(function(ai){var Ur=ai.label,zr=ai.key,ta=(0,vt.Z)(ai,or);return wt.createElement(Jt,(0,dt.Z)({tab:Ur,key:zr,tabKey:zr},ta))})});return Nt(ci,Lt)}return wt.createElement(Lt,Gn)}var dn=he(48736);function kr(){var st=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{inkBar:!0,tabPane:!1},Nt;return st===!1?Nt={inkBar:!1,tabPane:!1}:st===!0?Nt={inkBar:!0,tabPane:!1}:Nt=(0,Xe.Z)({inkBar:!0},(0,It.Z)(st)==="object"?st:{}),Nt.tabPaneMotion&&Nt.tabPane===void 0&&(Nt.tabPane=!0),!Nt.tabPaneMotion&&Nt.tabPane&&(Nt.tabPane=!1),Nt}var vi=["id","prefixCls","className","items","direction","activeKey","defaultActiveKey","editable","animated","tabPosition","tabBarGutter","tabBarStyle","tabBarExtraContent","locale","moreIcon","moreTransitionName","destroyInactiveTabPane","renderTabBar","onChange","onTabClick","onTabScroll","getPopupContainer","popupClassName","indicatorSize"],Un=0;function Pr(st,Nt){var Gn,Sr=st.id,yr=st.prefixCls,ci=yr===void 0?"rc-tabs":yr,ai=st.className,Ur=st.items,zr=st.direction,ta=st.activeKey,qa=st.defaultActiveKey,pi=st.editable,Mr=st.animated,sr=st.tabPosition,xn=sr===void 0?"top":sr,er=st.tabBarGutter,Er=st.tabBarStyle,Zr=st.tabBarExtraContent,ti=st.locale,Nr=st.moreIcon,Bi=st.moreTransitionName,Zn=st.destroyInactiveTabPane,Di=st.renderTabBar,da=st.onChange,ha=st.onTabClick,na=st.onTabScroll,Qa=st.getPopupContainer,Ao=st.popupClassName,Da=st.indicatorSize,Ma=(0,vt.Z)(st,vi),es=wt.useMemo(function(){return(Ur||[]).filter(function(ul){return ul&&(0,It.Z)(ul)==="object"&&"key"in ul})},[Ur]),Fo=zr==="rtl",Ls=kr(Mr),_a=(0,wt.useState)(!1),$s=(0,_e.Z)(_a,2),sa=$s[0],Os=$s[1];(0,wt.useEffect)(function(){Os((0,Ot.Z)())},[]);var Us=(0,Ye.Z)(function(){var ul;return(ul=es[0])===null||ul===void 0?void 0:ul.key},{value:ta,defaultValue:qa}),Ns=(0,_e.Z)(Us,2),xs=Ns[0],Al=Ns[1],Bs=(0,wt.useState)(function(){return es.findIndex(function(ul){return ul.key===xs})}),Ho=(0,_e.Z)(Bs,2),ll=Ho[0],el=Ho[1];(0,wt.useEffect)(function(){var ul=es.findIndex(function($a){return $a.key===xs});if(ul===-1){var Na;ul=Math.max(0,Math.min(ll,es.length-1)),Al((Na=es[ul])===null||Na===void 0?void 0:Na.key)}el(ul)},[es.map(function(ul){return ul.key}).join("_"),xs,ll]);var Rs=(0,Ye.Z)(null,{value:Sr}),ui=(0,_e.Z)(Rs,2),za=ui[0],ls=ui[1];(0,wt.useEffect)(function(){Sr||(ls("rc-tabs-".concat(Un)),Un+=1)},[]);function vs(ul,Na){ha==null||ha(ul,Na);var $a=ul!==xs;Al(ul),$a&&(da==null||da(ul))}var Ms={id:za,activeKey:xs,animated:Ls,tabPosition:xn,rtl:Fo,mobile:sa},Ts=(0,Xe.Z)((0,Xe.Z)({},Ms),{},{editable:pi,locale:ti,moreIcon:Nr,moreTransitionName:Bi,tabBarGutter:er,onTabClick:vs,onTabScroll:na,extra:Zr,style:Er,panes:null,getPopupContainer:Qa,popupClassName:Ao,indicatorSize:Da});return wt.createElement(pt.Provider,{value:{tabs:es,prefixCls:ci}},wt.createElement("div",(0,dt.Z)({ref:Nt,id:Sr,className:Dt()(ci,"".concat(ci,"-").concat(xn),(Gn={},(0,Le.Z)(Gn,"".concat(ci,"-mobile"),sa),(0,Le.Z)(Gn,"".concat(ci,"-editable"),pi),(0,Le.Z)(Gn,"".concat(ci,"-rtl"),Fo),Gn),ai)},Ma),wt.createElement(Xn,(0,dt.Z)({},Ts,{renderTabBar:Di})),wt.createElement($t,(0,dt.Z)({destroyInactiveTabPane:Zn},Ms,{animated:Ls}))))}var Ii=wt.forwardRef(Pr),on=Ii,qt=on,gn=he(36355),gr=he(19716),xi=()=>null,Ui=he(62892);const Ni={motionAppear:!1,motionEnter:!0,motionLeave:!0};function Fa(st){let Nt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inkBar:!0,tabPane:!1},Gn;return Nt===!1?Gn={inkBar:!1,tabPane:!1}:Nt===!0?Gn={inkBar:!0,tabPane:!0}:Gn=Object.assign({inkBar:!0},typeof Nt=="object"?Nt:{}),Gn.tabPane&&(Gn.tabPaneMotion=Object.assign(Object.assign({},Ni),{motionName:(0,Ui.m)(st,"switch")})),Gn}var _o=he(11592),co=function(st,Nt){var Gn={};for(var Sr in st)Object.prototype.hasOwnProperty.call(st,Sr)&&Nt.indexOf(Sr)<0&&(Gn[Sr]=st[Sr]);if(st!=null&&typeof Object.getOwnPropertySymbols=="function")for(var yr=0,Sr=Object.getOwnPropertySymbols(st);yrNt)}function Yi(st,Nt){if(st)return st;const Gn=(0,_o.Z)(Nt).map(Sr=>{if(wt.isValidElement(Sr)){const{key:yr,props:ci}=Sr,ai=ci||{},{tab:Ur}=ai,zr=co(ai,["tab"]);return Object.assign(Object.assign({key:String(yr)},zr),{label:Ur})}return null});return kn(Gn)}var ys=he(17313),$o=he(83116),eo=he(37613),lo=he(13826),ir=st=>{const{componentCls:Nt,motionDurationSlow:Gn}=st;return[{[Nt]:{[`${Nt}-switch`]:{"&-appear, &-enter":{transition:"none","&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${Gn}`}},"&-leave":{position:"absolute",transition:"none",inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${Gn}`}}}}},[(0,lo.oN)(st,"slide-up"),(0,lo.oN)(st,"slide-down")]]};const ri=st=>{const{componentCls:Nt,tabsCardPadding:Gn,cardBg:Sr,cardGutter:yr,colorBorderSecondary:ci,itemSelectedColor:ai}=st;return{[`${Nt}-card`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab`]:{margin:0,padding:Gn,background:Sr,border:`${st.lineWidth}px ${st.lineType} ${ci}`,transition:`all ${st.motionDurationSlow} ${st.motionEaseInOut}`},[`${Nt}-tab-active`]:{color:ai,background:st.colorBgContainer},[`${Nt}-ink-bar`]:{visibility:"hidden"}},[`&${Nt}-top, &${Nt}-bottom`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab + ${Nt}-tab`]:{marginLeft:{_skip_check_:!0,value:`${yr}px`}}}},[`&${Nt}-top`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab`]:{borderRadius:`${st.borderRadiusLG}px ${st.borderRadiusLG}px 0 0`},[`${Nt}-tab-active`]:{borderBottomColor:st.colorBgContainer}}},[`&${Nt}-bottom`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab`]:{borderRadius:`0 0 ${st.borderRadiusLG}px ${st.borderRadiusLG}px`},[`${Nt}-tab-active`]:{borderTopColor:st.colorBgContainer}}},[`&${Nt}-left, &${Nt}-right`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab + ${Nt}-tab`]:{marginTop:`${yr}px`}}},[`&${Nt}-left`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`${st.borderRadiusLG}px 0 0 ${st.borderRadiusLG}px`}},[`${Nt}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:st.colorBgContainer}}}},[`&${Nt}-right`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${st.borderRadiusLG}px ${st.borderRadiusLG}px 0`}},[`${Nt}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:st.colorBgContainer}}}}}}},ua=st=>{const{componentCls:Nt,itemHoverColor:Gn,dropdownEdgeChildVerticalPadding:Sr}=st;return{[`${Nt}-dropdown`]:Object.assign(Object.assign({},(0,ys.Wf)(st)),{position:"absolute",top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:st.zIndexPopup,display:"block","&-hidden":{display:"none"},[`${Nt}-dropdown-menu`]:{maxHeight:st.tabsDropdownHeight,margin:0,padding:`${Sr}px 0`,overflowX:"hidden",overflowY:"auto",textAlign:{_skip_check_:!0,value:"left"},listStyleType:"none",backgroundColor:st.colorBgContainer,backgroundClip:"padding-box",borderRadius:st.borderRadiusLG,outline:"none",boxShadow:st.boxShadowSecondary,"&-item":Object.assign(Object.assign({},ys.vS),{display:"flex",alignItems:"center",minWidth:st.tabsDropdownWidth,margin:0,padding:`${st.paddingXXS}px ${st.paddingSM}px`,color:st.colorText,fontWeight:"normal",fontSize:st.fontSize,lineHeight:st.lineHeight,cursor:"pointer",transition:`all ${st.motionDurationSlow}`,"> span":{flex:1,whiteSpace:"nowrap"},"&-remove":{flex:"none",marginLeft:{_skip_check_:!0,value:st.marginSM},color:st.colorTextDescription,fontSize:st.fontSizeSM,background:"transparent",border:0,cursor:"pointer","&:hover":{color:Gn}},"&:hover":{background:st.controlItemBgHover},"&-disabled":{"&, &:hover":{color:st.colorTextDisabled,background:"transparent",cursor:"not-allowed"}}})}})}},un=st=>{const{componentCls:Nt,margin:Gn,colorBorderSecondary:Sr,horizontalMargin:yr,verticalItemPadding:ci,verticalItemMargin:ai}=st;return{[`${Nt}-top, ${Nt}-bottom`]:{flexDirection:"column",[`> ${Nt}-nav, > div > ${Nt}-nav`]:{margin:yr,"&::before":{position:"absolute",right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${st.lineWidth}px ${st.lineType} ${Sr}`,content:"''"},[`${Nt}-ink-bar`]:{height:st.lineWidthBold,"&-animated":{transition:`width ${st.motionDurationSlow}, left ${st.motionDurationSlow}, - right ${st.motionDurationSlow}`}},[`${Nt}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:st.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:st.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:st.boxShadowTabsOverflowRight},[`&${Nt}-nav-wrap-ping-left::before`]:{opacity:1},[`&${Nt}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${Nt}-top`]:{[`> ${Nt}-nav, - > div > ${Nt}-nav`]:{"&::before":{bottom:0},[`${Nt}-ink-bar`]:{bottom:0}}},[`${Nt}-bottom`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{order:1,marginTop:`${Gn}px`,marginBottom:0,"&::before":{top:0},[`${Nt}-ink-bar`]:{top:0}},[`> ${Nt}-content-holder, > div > ${Nt}-content-holder`]:{order:0}},[`${Nt}-left, ${Nt}-right`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{flexDirection:"column",minWidth:st.controlHeight*1.25,[`${Nt}-tab`]:{padding:ci,textAlign:"center"},[`${Nt}-tab + ${Nt}-tab`]:{margin:ai},[`${Nt}-nav-wrap`]:{flexDirection:"column","&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:st.controlHeight},"&::before":{top:0,boxShadow:st.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:st.boxShadowTabsOverflowBottom},[`&${Nt}-nav-wrap-ping-top::before`]:{opacity:1},[`&${Nt}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${Nt}-ink-bar`]:{width:st.lineWidthBold,"&-animated":{transition:`height ${st.motionDurationSlow}, top ${st.motionDurationSlow}`}},[`${Nt}-nav-list, ${Nt}-nav-operations`]:{flex:"1 0 auto",flexDirection:"column"}}},[`${Nt}-left`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${Nt}-content-holder, > div > ${Nt}-content-holder`]:{marginLeft:{_skip_check_:!0,value:`-${st.lineWidth}px`},borderLeft:{_skip_check_:!0,value:`${st.lineWidth}px ${st.lineType} ${st.colorBorder}`},[`> ${Nt}-content > ${Nt}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:st.paddingLG}}}},[`${Nt}-right`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{order:1,[`${Nt}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${Nt}-content-holder, > div > ${Nt}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:-st.lineWidth},borderRight:{_skip_check_:!0,value:`${st.lineWidth}px ${st.lineType} ${st.colorBorder}`},[`> ${Nt}-content > ${Nt}-tabpane`]:{paddingRight:{_skip_check_:!0,value:st.paddingLG}}}}}},lr=st=>{const{componentCls:Nt,cardPaddingSM:Gn,cardPaddingLG:Sr,horizontalItemPaddingSM:yr,horizontalItemPaddingLG:ci}=st;return{[Nt]:{"&-small":{[`> ${Nt}-nav`]:{[`${Nt}-tab`]:{padding:yr,fontSize:st.titleFontSizeSM}}},"&-large":{[`> ${Nt}-nav`]:{[`${Nt}-tab`]:{padding:ci,fontSize:st.titleFontSizeLG}}}},[`${Nt}-card`]:{[`&${Nt}-small`]:{[`> ${Nt}-nav`]:{[`${Nt}-tab`]:{padding:Gn}},[`&${Nt}-bottom`]:{[`> ${Nt}-nav ${Nt}-tab`]:{borderRadius:`0 0 ${st.borderRadius}px ${st.borderRadius}px`}},[`&${Nt}-top`]:{[`> ${Nt}-nav ${Nt}-tab`]:{borderRadius:`${st.borderRadius}px ${st.borderRadius}px 0 0`}},[`&${Nt}-right`]:{[`> ${Nt}-nav ${Nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${st.borderRadius}px ${st.borderRadius}px 0`}}},[`&${Nt}-left`]:{[`> ${Nt}-nav ${Nt}-tab`]:{borderRadius:{_skip_check_:!0,value:`${st.borderRadius}px 0 0 ${st.borderRadius}px`}}}},[`&${Nt}-large`]:{[`> ${Nt}-nav`]:{[`${Nt}-tab`]:{padding:Sr}}}}}},Hr=st=>{const{componentCls:Nt,itemActiveColor:Gn,itemHoverColor:Sr,iconCls:yr,tabsHorizontalItemMargin:ci,horizontalItemPadding:ai,itemSelectedColor:Ur,itemColor:zr}=st,ta=`${Nt}-tab`;return{[ta]:{position:"relative",WebkitTouchCallout:"none",WebkitTapHighlightColor:"transparent",display:"inline-flex",alignItems:"center",padding:ai,fontSize:st.titleFontSize,background:"transparent",border:0,outline:"none",cursor:"pointer",color:zr,"&-btn, &-remove":Object.assign({"&:focus:not(:focus-visible), &:active":{color:Gn}},(0,ys.Qy)(st)),"&-btn":{outline:"none",transition:"all 0.3s"},"&-remove":{flex:"none",marginRight:{_skip_check_:!0,value:-st.marginXXS},marginLeft:{_skip_check_:!0,value:st.marginXS},color:st.colorTextDescription,fontSize:st.fontSizeSM,background:"transparent",border:"none",outline:"none",cursor:"pointer",transition:`all ${st.motionDurationSlow}`,"&:hover":{color:st.colorTextHeading}},"&:hover":{color:Sr},[`&${ta}-active ${ta}-btn`]:{color:Ur,textShadow:st.tabsActiveTextShadow},[`&${ta}-disabled`]:{color:st.colorTextDisabled,cursor:"not-allowed"},[`&${ta}-disabled ${ta}-btn, &${ta}-disabled ${Nt}-remove`]:{"&:focus, &:active":{color:st.colorTextDisabled}},[`& ${ta}-remove ${yr}`]:{margin:0},[yr]:{marginRight:{_skip_check_:!0,value:st.marginSM}}},[`${ta} + ${ta}`]:{margin:{_skip_check_:!0,value:ci}}}},hr=st=>{const{componentCls:Nt,tabsHorizontalItemMarginRTL:Gn,iconCls:Sr,cardGutter:yr}=st;return{[`${Nt}-rtl`]:{direction:"rtl",[`${Nt}-nav`]:{[`${Nt}-tab`]:{margin:{_skip_check_:!0,value:Gn},[`${Nt}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[Sr]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:`${st.marginSM}px`}},[`${Nt}-tab-remove`]:{marginRight:{_skip_check_:!0,value:`${st.marginXS}px`},marginLeft:{_skip_check_:!0,value:`-${st.marginXXS}px`},[Sr]:{margin:0}}}},[`&${Nt}-left`]:{[`> ${Nt}-nav`]:{order:1},[`> ${Nt}-content-holder`]:{order:0}},[`&${Nt}-right`]:{[`> ${Nt}-nav`]:{order:0},[`> ${Nt}-content-holder`]:{order:1}},[`&${Nt}-card${Nt}-top, &${Nt}-card${Nt}-bottom`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-tab + ${Nt}-tab`]:{marginRight:{_skip_check_:!0,value:yr},marginLeft:{_skip_check_:!0,value:0}}}}},[`${Nt}-dropdown-rtl`]:{direction:"rtl"},[`${Nt}-menu-item`]:{[`${Nt}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:"right"}}}}},Vr=st=>{const{componentCls:Nt,tabsCardPadding:Gn,cardHeight:Sr,cardGutter:yr,itemHoverColor:ci,itemActiveColor:ai,colorBorderSecondary:Ur}=st;return{[Nt]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,ys.Wf)(st)),{display:"flex",[`> ${Nt}-nav, > div > ${Nt}-nav`]:{position:"relative",display:"flex",flex:"none",alignItems:"center",[`${Nt}-nav-wrap`]:{position:"relative",display:"flex",flex:"auto",alignSelf:"stretch",overflow:"hidden",whiteSpace:"nowrap",transform:"translate(0)","&::before, &::after":{position:"absolute",zIndex:1,opacity:0,transition:`opacity ${st.motionDurationSlow}`,content:"''",pointerEvents:"none"}},[`${Nt}-nav-list`]:{position:"relative",display:"flex",transition:`opacity ${st.motionDurationSlow}`},[`${Nt}-nav-operations`]:{display:"flex",alignSelf:"stretch"},[`${Nt}-nav-operations-hidden`]:{position:"absolute",visibility:"hidden",pointerEvents:"none"},[`${Nt}-nav-more`]:{position:"relative",padding:Gn,background:"transparent",border:0,color:st.colorText,"&::after":{position:"absolute",right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:st.controlHeightLG/8,transform:"translateY(100%)",content:"''"}},[`${Nt}-nav-add`]:Object.assign({minWidth:Sr,marginLeft:{_skip_check_:!0,value:yr},padding:`0 ${st.paddingXS}px`,background:"transparent",border:`${st.lineWidth}px ${st.lineType} ${Ur}`,borderRadius:`${st.borderRadiusLG}px ${st.borderRadiusLG}px 0 0`,outline:"none",cursor:"pointer",color:st.colorText,transition:`all ${st.motionDurationSlow} ${st.motionEaseInOut}`,"&:hover":{color:ci},"&:active, &:focus:not(:focus-visible)":{color:ai}},(0,ys.Qy)(st))},[`${Nt}-extra-content`]:{flex:"none"},[`${Nt}-ink-bar`]:{position:"absolute",background:st.inkBarColor,pointerEvents:"none"}}),Hr(st)),{[`${Nt}-content`]:{position:"relative",width:"100%"},[`${Nt}-content-holder`]:{flex:"auto",minWidth:0,minHeight:0},[`${Nt}-tabpane`]:{outline:"none","&-hidden":{display:"none"}}}),[`${Nt}-centered`]:{[`> ${Nt}-nav, > div > ${Nt}-nav`]:{[`${Nt}-nav-wrap`]:{[`&:not([class*='${Nt}-nav-wrap-ping'])`]:{justifyContent:"center"}}}}}};var Rr=(0,$o.Z)("Tabs",st=>{const Nt=(0,eo.TS)(st,{tabsCardPadding:st.cardPadding||`${(st.cardHeight-Math.round(st.fontSize*st.lineHeight))/2-st.lineWidth}px ${st.padding}px`,dropdownEdgeChildVerticalPadding:st.paddingXXS,tabsActiveTextShadow:"0 0 0.25px currentcolor",tabsDropdownHeight:200,tabsDropdownWidth:120,tabsHorizontalItemMargin:`0 0 0 ${st.horizontalItemGutter}px`,tabsHorizontalItemMarginRTL:`0 0 0 ${st.horizontalItemGutter}px`});return[lr(Nt),hr(Nt),un(Nt),ua(Nt),ri(Nt),Vr(Nt),ir(Nt)]},st=>{const Nt=st.controlHeightLG;return{zIndexPopup:st.zIndexPopupBase+50,cardBg:st.colorFillAlter,cardHeight:Nt,cardPadding:"",cardPaddingSM:`${st.paddingXXS*1.5}px ${st.padding}px`,cardPaddingLG:`${st.paddingXS}px ${st.padding}px ${st.paddingXXS*1.5}px`,titleFontSize:st.fontSize,titleFontSizeLG:st.fontSizeLG,titleFontSizeSM:st.fontSize,inkBarColor:st.colorPrimary,horizontalMargin:`0 0 ${st.margin}px 0`,horizontalItemGutter:32,horizontalItemMargin:"",horizontalItemMarginRTL:"",horizontalItemPadding:`${st.paddingSM}px 0`,horizontalItemPaddingSM:`${st.paddingXS}px 0`,horizontalItemPaddingLG:`${st.padding}px 0`,verticalItemPadding:`${st.paddingXS}px ${st.paddingLG}px`,verticalItemMargin:`${st.margin}px 0 0 0`,itemColor:st.colorText,itemSelectedColor:st.colorPrimary,itemHoverColor:st.colorPrimaryHover,itemActiveColor:st.colorPrimaryActive,cardGutter:st.marginXXS/2}}),qr=function(st,Nt){var Gn={};for(var Sr in st)Object.prototype.hasOwnProperty.call(st,Sr)&&Nt.indexOf(Sr)<0&&(Gn[Sr]=st[Sr]);if(st!=null&&typeof Object.getOwnPropertySymbols=="function")for(var yr=0,Sr=Object.getOwnPropertySymbols(st);yr{const{type:Nt,className:Gn,rootClassName:Sr,size:yr,onEdit:ci,hideAdd:ai,centered:Ur,addIcon:zr,popupClassName:ta,children:qa,items:pi,animated:Mr,style:sr,indicatorSize:xn}=st,er=qr(st,["type","className","rootClassName","size","onEdit","hideAdd","centered","addIcon","popupClassName","children","items","animated","style","indicatorSize"]),{prefixCls:Er,moreIcon:Zr=wt.createElement(je.Z,null)}=er,{direction:ti,tabs:Nr,getPrefixCls:Bi,getPopupContainer:Zn}=wt.useContext(gn.E_),Di=Bi("tabs",Er),[da,ha]=Rr(Di);let na;Nt==="editable-card"&&(na={onEdit:(Fo,Ls)=>{let{key:_a,event:$s}=Ls;ci==null||ci(Fo==="add"?$s:_a,Fo)},removeIcon:wt.createElement(se.Z,null),addIcon:zr||wt.createElement(Bt.Z,null),showAdd:ai!==!0});const Qa=Bi(),Ao=Yi(pi,qa),Da=Fa(Di,Mr),Ma=(0,gr.Z)(yr),es=Object.assign(Object.assign({},Nr==null?void 0:Nr.style),sr);return da(wt.createElement(qt,Object.assign({direction:ti,getPopupContainer:Zn,moreTransitionName:`${Qa}-slide-up`},er,{items:Ao,className:Dt()({[`${Di}-${Ma}`]:Ma,[`${Di}-card`]:["card","editable-card"].includes(Nt),[`${Di}-editable-card`]:Nt==="editable-card",[`${Di}-centered`]:Ur},Nr==null?void 0:Nr.className,Gn,Sr,ha),popupClassName:Dt()(ta,ha),style:es,editable:na,moreIcon:Zr,prefixCls:Di,animated:Da,indicatorSize:xn!=null?xn:Nr==null?void 0:Nr.indicatorSize})))};Zi.TabPane=xi;var Wn=Zi},98228:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return lo}});var se=he(92310),je=he.n(se),Bt=he(60499),Rt=he(77654),Dt=he(85899),dt=he(72190),Le=he(42244),Xe=he(43749),_e=he(77861),It=he(17115),vt=he(90782),wt=he(18929),Ot=he(48736),Ye=he(59301),We=function(Qr){var ir=Ye.useRef({valueLabels:new Map});return Ye.useMemo(function(){var ri=ir.current.valueLabels,ua=new Map,un=Qr.map(function(lr){var Hr,hr=lr.value,Vr=(Hr=lr.label)!==null&&Hr!==void 0?Hr:ri.get(hr);return ua.set(hr,Vr),(0,Dt.Z)((0,Dt.Z)({},lr),{},{label:Vr})});return ir.current.valueLabels=ua,[un]},[Qr])},pt=function(Qr,ir,ri,ua){return Ye.useMemo(function(){var un=Qr.map(function(Vr){var Rr=Vr.value;return Rr}),lr=ir.map(function(Vr){var Rr=Vr.value;return Rr}),Hr=un.filter(function(Vr){return!ua[Vr]});if(ri){var hr=(0,vt.S)(un,!0,ua);un=hr.checkedKeys,lr=hr.halfCheckedKeys}return[Array.from(new Set([].concat((0,Rt.Z)(Hr),(0,Rt.Z)(un)))),lr]},[Qr,ir,ri,ua])},mt=he(71430),Jt=function(Qr,ir){return Ye.useMemo(function(){var ri=(0,mt.I8)(Qr,{fieldNames:ir,initWrapper:function(un){return(0,Dt.Z)((0,Dt.Z)({},un),{},{valueEntities:new Map})},processEntity:function(un,lr){var Hr=un.node[ir.value];if(0)var hr;lr.valueEntities.set(Hr,un)}});return ri},[Qr,ir])},Qt=he(18642),$t=he(11592),Ft=function(){return null},Gt=Ft,Je=["children","value"];function Sn(Qr){return(0,$t.Z)(Qr).map(function(ir){if(!Ye.isValidElement(ir)||!ir.type)return null;var ri=ir,ua=ri.key,un=ri.props,lr=un.children,Hr=un.value,hr=(0,Le.Z)(un,Je),Vr=(0,Dt.Z)({key:ua,value:Hr},hr),Rr=Sn(lr);return Rr.length&&(Vr.children=Rr),Vr}).filter(function(ir){return ir})}function _n(Qr){if(!Qr)return Qr;var ir=(0,Dt.Z)({},Qr);return"props"in ir||Object.defineProperty(ir,"props",{get:function(){return(0,Ot.ZP)(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),ir}}),ir}function Cn(Qr,ir,ri,ua,un,lr){var Hr=null,hr=null;function Vr(){function Rr(qr){var Zi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",Wn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return qr.map(function(st,Nt){var Gn="".concat(Zi,"-").concat(Nt),Sr=st[lr.value],yr=ri.includes(Sr),ci=Rr(st[lr.children]||[],Gn,yr),ai=Ye.createElement(Gt,st,ci.map(function(zr){return zr.node}));if(ir===Sr&&(Hr=ai),yr){var Ur={pos:Gn,node:ai,children:ci};return Wn||hr.push(Ur),Ur}return null}).filter(function(st){return st})}hr||(hr=[],Rr(ua),hr.sort(function(qr,Zi){var Wn=qr.node.props.value,st=Zi.node.props.value,Nt=ri.indexOf(Wn),Gn=ri.indexOf(st);return Nt-Gn}))}Object.defineProperty(Qr,"triggerNode",{get:function(){return(0,Ot.ZP)(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),Vr(),Hr}}),Object.defineProperty(Qr,"allCheckedNodes",{get:function(){return(0,Ot.ZP)(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),Vr(),un?hr:hr.map(function(qr){var Zi=qr.node;return Zi})}})}var Vt=function(Qr,ir,ri){var ua=ri.treeNodeFilterProp,un=ri.filterTreeNode,lr=ri.fieldNames,Hr=lr.children;return Ye.useMemo(function(){if(!ir||un===!1)return Qr;var hr;if(typeof un=="function")hr=un;else{var Vr=ir.toUpperCase();hr=function(Zi,Wn){var st=Wn[ua];return String(st).toUpperCase().includes(Vr)}}function Rr(qr){var Zi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return qr.reduce(function(Wn,st){var Nt=st[Hr],Gn=Zi||hr(ir,_n(st)),Sr=Rr(Nt||[],Gn);return(Gn||Sr.length)&&Wn.push((0,Dt.Z)((0,Dt.Z)({},st),{},(0,Qt.Z)({isLeaf:void 0},Hr,Sr))),Wn},[])}return Rr(Qr)},[Qr,ir,Hr,ua,un])};function pn(Qr){var ir=Ye.useRef();ir.current=Qr;var ri=Ye.useCallback(function(){return ir.current.apply(ir,arguments)},[]);return ri}function et(Qr,ir){var ri=ir.id,ua=ir.pId,un=ir.rootPId,lr={},Hr=[],hr=Qr.map(function(Vr){var Rr=(0,Dt.Z)({},Vr),qr=Rr[ri];return lr[qr]=Rr,Rr.key=Rr.key||qr,Rr});return hr.forEach(function(Vr){var Rr=Vr[ua],qr=lr[Rr];qr&&(qr.children=qr.children||[],qr.children.push(Vr)),(Rr===un||!qr&&un===null)&&Hr.push(Vr)}),Hr}function tn(Qr,ir,ri){return Ye.useMemo(function(){return Qr?ri?et(Qr,(0,Dt.Z)({id:"id",pId:"pId",rootPId:null},ri!==!0?ri:{})):Qr:Sn(ir)},[ir,ri,Qr])}var Ct=Ye.createContext(null),Ln=Ct,Mn=he(10228),bn=he(80547),Dr=he(38028),oi=Ye.createContext(null),yt=oi;function tt(Qr){return Array.isArray(Qr)?Qr:Qr!==void 0?[Qr]:[]}function Rn(Qr){var ir=Qr||{},ri=ir.label,ua=ir.value,un=ir.children,lr=ua||"value";return{_title:ri?[ri]:["title","label"],value:lr,key:lr,children:un||"children"}}function fi(Qr){return!Qr||Qr.disabled||Qr.disableCheckbox||Qr.checkable===!1}function li(Qr,ir){var ri=[];function ua(un){un.forEach(function(lr){var Hr=lr[ir.children];Hr&&(ri.push(lr[ir.value]),ua(Hr))})}return ua(Qr),ri}function In(Qr){return Qr==null}var an={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},Xr=function(ir,ri){var ua=(0,_e.lk)(),un=ua.prefixCls,lr=ua.multiple,Hr=ua.searchValue,hr=ua.toggleOpen,Vr=ua.open,Rr=ua.notFoundContent,qr=Ye.useContext(yt),Zi=qr.virtual,Wn=qr.listHeight,st=qr.listItemHeight,Nt=qr.treeData,Gn=qr.fieldNames,Sr=qr.onSelect,yr=qr.dropdownMatchSelectWidth,ci=qr.treeExpandAction,ai=Ye.useContext(Ln),Ur=ai.checkable,zr=ai.checkedKeys,ta=ai.halfCheckedKeys,qa=ai.treeExpandedKeys,pi=ai.treeDefaultExpandAll,Mr=ai.treeDefaultExpandedKeys,sr=ai.onTreeExpand,xn=ai.treeIcon,er=ai.showTreeIcon,Er=ai.switcherIcon,Zr=ai.treeLine,ti=ai.treeNodeFilterProp,Nr=ai.loadData,Bi=ai.treeLoadedKeys,Zn=ai.treeMotion,Di=ai.onTreeLoad,da=ai.keyEntities,ha=Ye.useRef(),na=(0,bn.Z)(function(){return Nt},[Vr,Nt],function(za,ls){return ls[0]&&za[1]!==ls[1]}),Qa=Ye.useState(null),Ao=(0,dt.Z)(Qa,2),Da=Ao[0],Ma=Ao[1],es=da[Da],Fo=Ye.useMemo(function(){return Ur?{checked:zr,halfChecked:ta}:null},[Ur,zr,ta]);Ye.useEffect(function(){if(Vr&&!lr&&zr.length){var za;(za=ha.current)===null||za===void 0||za.scrollTo({key:zr[0]}),Ma(zr[0])}},[Vr]);var Ls=String(Hr).toLowerCase(),_a=function(ls){return Ls?String(ls[ti]).toLowerCase().includes(Ls):!1},$s=Ye.useState(Mr),sa=(0,dt.Z)($s,2),Os=sa[0],Us=sa[1],Ns=Ye.useState(null),xs=(0,dt.Z)(Ns,2),Al=xs[0],Bs=xs[1],Ho=Ye.useMemo(function(){return qa?(0,Rt.Z)(qa):Hr?Al:Os},[Os,Al,qa,Hr]);Ye.useEffect(function(){Hr&&Bs(li(Nt,Gn))},[Hr]);var ll=function(ls){Us(ls),Bs(ls),sr&&sr(ls)},el=function(ls){ls.preventDefault()},Rs=function(ls,vs){var Ms=vs.node;Ur&&fi(Ms)||(Sr(Ms.key,{selected:!zr.includes(Ms.key)}),lr||hr(!1))};if(Ye.useImperativeHandle(ri,function(){var za;return{scrollTo:(za=ha.current)===null||za===void 0?void 0:za.scrollTo,onKeyDown:function(vs){var Ms,Ts=vs.which;switch(Ts){case Mn.Z.UP:case Mn.Z.DOWN:case Mn.Z.LEFT:case Mn.Z.RIGHT:(Ms=ha.current)===null||Ms===void 0||Ms.onKeyDown(vs);break;case Mn.Z.ENTER:{if(es){var ul=(es==null?void 0:es.node)||{},Na=ul.selectable,$a=ul.value;Na!==!1&&Rs(null,{node:{key:Da},selected:!zr.includes($a)})}break}case Mn.Z.ESC:hr(!1)}},onKeyUp:function(){}}}),na.length===0)return Ye.createElement("div",{role:"listbox",className:"".concat(un,"-empty"),onMouseDown:el},Rr);var ui={fieldNames:Gn};return Bi&&(ui.loadedKeys=Bi),Ho&&(ui.expandedKeys=Ho),Ye.createElement("div",{onMouseDown:el},es&&Vr&&Ye.createElement("span",{style:an,"aria-live":"assertive"},es.node.value),Ye.createElement(Dr.Z,(0,Bt.Z)({ref:ha,focusable:!1,prefixCls:"".concat(un,"-tree"),treeData:na,height:Wn,itemHeight:st,virtual:Zi!==!1&&yr!==!1,multiple:lr,icon:xn,showIcon:er,switcherIcon:Er,showLine:Zr,loadData:Hr?null:Nr,motion:Zn,activeKey:Da,checkable:Ur,checkStrictly:!0,checkedKeys:Fo,selectedKeys:Ur?[]:zr,defaultExpandAll:pi},ui,{onActiveChange:Ma,onSelect:Rs,onCheck:Rs,onExpand:ll,onLoad:Di,filterTreeNode:_a,expandAction:ci})))},Or=Ye.forwardRef(Xr);Or.displayName="OptionList";var zn=Or,Qn="SHOW_ALL",Jn="SHOW_PARENT",qn="SHOW_CHILD";function On(Qr,ir,ri,ua){var un=new Set(Qr);return ir===qn?Qr.filter(function(lr){var Hr=ri[lr];return!(Hr&&Hr.children&&Hr.children.some(function(hr){var Vr=hr.node;return un.has(Vr[ua.value])})&&Hr.children.every(function(hr){var Vr=hr.node;return fi(Vr)||un.has(Vr[ua.value])}))}):ir===Jn?Qr.filter(function(lr){var Hr=ri[lr],hr=Hr?Hr.parent:null;return!(hr&&!fi(hr.node)&&un.has(hr.key))}):Qr}function qe(Qr){var ir=Qr.searchPlaceholder,ri=Qr.treeCheckStrictly,ua=Qr.treeCheckable,un=Qr.labelInValue,lr=Qr.value,Hr=Qr.multiple;warning(!ir,"`searchPlaceholder` has been removed."),ri&&un===!1&&warning(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(un||ri)&&warning(toArray(lr).every(function(hr){return hr&&_typeof(hr)==="object"&&"value"in hr}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),ri||Hr||ua?warning(!lr||Array.isArray(lr),"`value` should be an array when `TreeSelect` is checkable or multiple."):warning(!Array.isArray(lr),"`value` should not be array when `TreeSelect` is single mode.")}var Ie=null,Ce=["id","prefixCls","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","treeExpandAction","virtual","listHeight","listItemHeight","onDropdownVisibleChange","dropdownMatchSelectWidth","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"];function He(Qr){return!Qr||(0,Xe.Z)(Qr)!=="object"}var it=Ye.forwardRef(function(Qr,ir){var ri=Qr.id,ua=Qr.prefixCls,un=ua===void 0?"rc-tree-select":ua,lr=Qr.value,Hr=Qr.defaultValue,hr=Qr.onChange,Vr=Qr.onSelect,Rr=Qr.onDeselect,qr=Qr.searchValue,Zi=Qr.inputValue,Wn=Qr.onSearch,st=Qr.autoClearSearchValue,Nt=st===void 0?!0:st,Gn=Qr.filterTreeNode,Sr=Qr.treeNodeFilterProp,yr=Sr===void 0?"value":Sr,ci=Qr.showCheckedStrategy,ai=Qr.treeNodeLabelProp,Ur=Qr.multiple,zr=Qr.treeCheckable,ta=Qr.treeCheckStrictly,qa=Qr.labelInValue,pi=Qr.fieldNames,Mr=Qr.treeDataSimpleMode,sr=Qr.treeData,xn=Qr.children,er=Qr.loadData,Er=Qr.treeLoadedKeys,Zr=Qr.onTreeLoad,ti=Qr.treeDefaultExpandAll,Nr=Qr.treeExpandedKeys,Bi=Qr.treeDefaultExpandedKeys,Zn=Qr.onTreeExpand,Di=Qr.treeExpandAction,da=Qr.virtual,ha=Qr.listHeight,na=ha===void 0?200:ha,Qa=Qr.listItemHeight,Ao=Qa===void 0?20:Qa,Da=Qr.onDropdownVisibleChange,Ma=Qr.dropdownMatchSelectWidth,es=Ma===void 0?!0:Ma,Fo=Qr.treeLine,Ls=Qr.treeIcon,_a=Qr.showTreeIcon,$s=Qr.switcherIcon,sa=Qr.treeMotion,Os=(0,Le.Z)(Qr,Ce),Us=(0,It.ZP)(ri),Ns=zr&&!ta,xs=zr||ta,Al=ta||qa,Bs=xs||Ur,Ho=(0,wt.Z)(Hr,{value:lr}),ll=(0,dt.Z)(Ho,2),el=ll[0],Rs=ll[1],ui=Ye.useMemo(function(){return zr?ci||qn:Qn},[ci,zr]),za=Ye.useMemo(function(){return Rn(pi)},[JSON.stringify(pi)]),ls=(0,wt.Z)("",{value:qr!==void 0?qr:Zi,postState:function(Hs){return Hs||""}}),vs=(0,dt.Z)(ls,2),Ms=vs[0],Ts=vs[1],ul=function(Hs){Ts(Hs),Wn==null||Wn(Hs)},Na=tn(sr,xn,Mr),$a=Jt(Na,za),gl=$a.keyEntities,zs=$a.valueEntities,Xu=Ye.useCallback(function(us){var Hs=[],Oo=[];return us.forEach(function(fn){zs.has(fn)?Oo.push(fn):Hs.push(fn)}),{missingRawValues:Hs,existRawValues:Oo}},[zs]),Su=Vt(Na,Ms,{fieldNames:za,treeNodeFilterProp:yr,filterTreeNode:Gn}),cc=Ye.useCallback(function(us){if(us){if(ai)return us[ai];for(var Hs=za._title,Oo=0;Oo{const{componentCls:ir,treePrefixCls:ri,colorBgElevated:ua}=Qr,un=`.${ri}`;return[{[`${ir}-dropdown`]:[{padding:`${Qr.paddingXS}px ${Qr.paddingXS/2}px`},(0,Fa.Yk)(ri,(0,Ui.TS)(Qr,{colorBgContainer:ua})),{[un]:{borderRadius:0,[`${un}-list-holder-inner`]:{alignItems:"stretch",[`${un}-treenode`]:{[`${un}-node-content-wrapper`]:{flex:"auto"}}}}},(0,xi.C2)(`${ri}-checkbox`,Qr),{"&-rtl":{direction:"rtl",[`${un}-switcher${un}-switcher_close`]:{[`${un}-switcher-icon svg`]:{transform:"rotate(90deg)"}}}}]}]};function co(Qr,ir){return(0,Ni.Z)("TreeSelect",ri=>{const ua=(0,Ui.TS)(ri,{treePrefixCls:ir});return[_o(ua)]},Fa.TM)(Qr)}var kn=function(Qr,ir){var ri={};for(var ua in Qr)Object.prototype.hasOwnProperty.call(Qr,ua)&&ir.indexOf(ua)<0&&(ri[ua]=Qr[ua]);if(Qr!=null&&typeof Object.getOwnPropertySymbols=="function")for(var un=0,ua=Object.getOwnPropertySymbols(Qr);un{var ri,{prefixCls:ua,size:un,disabled:lr,bordered:Hr=!0,className:hr,rootClassName:Vr,treeCheckable:Rr,multiple:qr,listHeight:Zi=256,listItemHeight:Wn=26,placement:st,notFoundContent:Nt,switcherIcon:Gn,treeLine:Sr,getPopupContainer:yr,popupClassName:ci,dropdownClassName:ai,treeIcon:Ur=!1,transitionName:zr,choiceTransitionName:ta="",status:qa,treeExpandAction:pi,builtinPlacements:Mr,dropdownMatchSelectWidth:sr,popupMatchSelectWidth:xn,allowClear:er}=Qr,Er=kn(Qr,["prefixCls","size","disabled","bordered","className","rootClassName","treeCheckable","multiple","listHeight","listItemHeight","placement","notFoundContent","switcherIcon","treeLine","getPopupContainer","popupClassName","dropdownClassName","treeIcon","transitionName","choiceTransitionName","status","treeExpandAction","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","allowClear"]);const{getPopupContainer:Zr,getPrefixCls:ti,renderEmpty:Nr,direction:Bi,virtual:Zn,popupMatchSelectWidth:Di,popupOverflow:da}=Ye.useContext(dn.E_),ha=ti(),na=ti("select",ua),Qa=ti("select-tree",ua),Ao=ti("tree-select",ua),{compactSize:Da,compactItemClassnames:Ma}=(0,gr.ri)(na,Bi),[es,Fo]=(0,Ii.Z)(na),[Ls]=co(Ao,Qa),_a=je()(ci||ai,`${Ao}-dropdown`,{[`${Ao}-dropdown-rtl`]:Bi==="rtl"},Vr,Fo),$s=!!(Rr||qr),sa=(0,qt.Z)(Er.suffixIcon,Er.showArrow),Os=(ri=xn!=null?xn:sr)!==null&&ri!==void 0?ri:Di,{status:Us,hasFeedback:Ns,isFormItemInput:xs,feedbackIcon:Al}=Ye.useContext(Pr.aM),Bs=(0,Xn.F)(Us,qa),{suffixIcon:Ho,removeIcon:ll,clearIcon:el}=(0,gn.Z)(Object.assign(Object.assign({},Er),{multiple:$s,showSuffixIcon:sa,hasFeedback:Ns,feedbackIcon:Al,prefixCls:na,componentName:"TreeSelect"})),Rs=er===!0?{clearIcon:el}:er;let ui;Nt!==void 0?ui=Nt:ui=(Nr==null?void 0:Nr("Select"))||Ye.createElement(vi.Z,{componentName:"Select"});const za=(0,Lt.Z)(Er,["suffixIcon","itemIcon","removeIcon","clearIcon","switcherIcon"]),ls=Ye.useMemo(()=>st!==void 0?st:Bi==="rtl"?"bottomRight":"bottomLeft",[st,Bi]),vs=(0,on.Z)(Mr,da),Ms=(0,Un.Z)(zs=>{var Xu;return(Xu=un!=null?un:Da)!==null&&Xu!==void 0?Xu:zs}),Ts=Ye.useContext(kr.Z),ul=lr!=null?lr:Ts,Na=je()(!ua&&Ao,{[`${na}-lg`]:Ms==="large",[`${na}-sm`]:Ms==="small",[`${na}-rtl`]:Bi==="rtl",[`${na}-borderless`]:!Hr,[`${na}-in-form-item`]:xs},(0,Xn.Z)(na,Bs,Ns),Ma,hr,Vr,Fo),$a=zs=>Ye.createElement(mr.Z,{prefixCls:Qa,switcherIcon:Gn,treeNodeProps:zs,showLine:Sr}),gl=Ye.createElement(wn,Object.assign({virtual:Zn,disabled:ul},za,{dropdownMatchSelectWidth:Os,builtinPlacements:vs,ref:ir,prefixCls:na,className:Na,listHeight:Zi,listItemHeight:Wn,treeCheckable:Rr&&Ye.createElement("span",{className:`${na}-tree-checkbox-inner`}),treeLine:!!Sr,suffixIcon:Ho,multiple:$s,placement:ls,removeIcon:ll,allowClear:Rs,switcherIcon:$a,showTreeIcon:Ur,notFoundContent:ui,getPopupContainer:yr||Zr,treeMotion:null,dropdownClassName:_a,choiceTransitionName:(0,or.m)(ha,"",ta),transitionName:(0,or.m)(ha,"slide-up",zr),treeExpandAction:pi}));return es(Ls(gl))},$o=Ye.forwardRef(Yi),eo=(0,Zt.Z)($o);$o.TreeNode=Gt,$o.SHOW_ALL=Qn,$o.SHOW_PARENT=Jn,$o.SHOW_CHILD=qn,$o._InternalPanelDoNotUseOrYouWillBeFired=eo;var lo=$o},17574:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return yt}});var se=he(38028),je=he(77654),Bt=he(52671),Rt=he(8657),Dt=he(60499),dt=he(59301),Le={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"},Xe=Le,_e=he(85221),It=function(Rn,fi){return dt.createElement(_e.Z,(0,Dt.Z)({},Rn,{ref:fi,icon:Xe}))},vt=dt.forwardRef(It),wt=vt,Ot=he(92310),Ye=he.n(Ot),We=he(35654),pt=he(71430),mt=he(36355),Jt=he(56082),Qt=he(62892),$t=he(20648);const Ft=4;function Gt(tt){const{dropPosition:Rn,dropLevelOffset:fi,prefixCls:li,indent:In,direction:an="ltr"}=tt,Xr=an==="ltr"?"left":"right",Or=an==="ltr"?"right":"left",zn={[Xr]:-fi*In+Ft,[Or]:0};switch(Rn){case-1:zn.top=-3;break;case 1:zn.bottom=-3;break;default:zn.bottom=-3,zn[Xr]=In+Ft;break}return dt.createElement("div",{style:zn,className:`${li}-drop-indicator`})}var Je=he(71997),_n=dt.forwardRef((tt,Rn)=>{const{getPrefixCls:fi,direction:li,virtual:In,tree:an}=dt.useContext(mt.E_),{prefixCls:Xr,className:Or,showIcon:zn=!1,showLine:Qn,switcherIcon:Jn,blockNode:qn=!1,children:On,checkable:qe=!1,selectable:Ie=!0,draggable:Ce,motion:He,style:it}=tt,we=fi("tree",Xr),Xt=fi(),wn=He!=null?He:Object.assign(Object.assign({},(0,Qt.Z)(Xt)),{motionAppear:!1}),Lt=Object.assign(Object.assign({},tt),{checkable:qe,selectable:Ie,showIcon:zn,motion:wn,blockNode:qn,showLine:!!Qn,dropIndicatorRender:Gt}),[Zt,or]=(0,$t.ZP)(we),Xn=dt.useMemo(()=>{if(!Ce)return!1;let kr={};switch(typeof Ce){case"function":kr.nodeDraggable=Ce;break;case"object":kr=Object.assign({},Ce);break;default:break}return kr.icon!==!1&&(kr.icon=kr.icon||dt.createElement(Jt.Z,null)),kr},[Ce]),dn=kr=>dt.createElement(Je.Z,{prefixCls:we,switcherIcon:Jn,treeNodeProps:kr,showLine:Qn});return Zt(dt.createElement(se.Z,Object.assign({itemHeight:20,ref:Rn,virtual:In},Lt,{style:Object.assign(Object.assign({},an==null?void 0:an.style),it),prefixCls:we,className:Ye()({[`${we}-icon-hide`]:!zn,[`${we}-block-node`]:qn,[`${we}-unselectable`]:!Ie,[`${we}-rtl`]:li==="rtl"},an==null?void 0:an.className,Or,or),direction:li,checkable:qe&&dt.createElement("span",{className:`${we}-checkbox-inner`}),selectable:Ie,switcherIcon:dn,draggable:Xn}),On))}),Cn;(function(tt){tt[tt.None=0]="None",tt[tt.Start=1]="Start",tt[tt.End=2]="End"})(Cn||(Cn={}));function Vt(tt,Rn){function fi(li){const{key:In,children:an}=li;Rn(In,li)!==!1&&Vt(an||[],Rn)}tt.forEach(fi)}function pn(tt){let{treeData:Rn,expandedKeys:fi,startKey:li,endKey:In}=tt;const an=[];let Xr=Cn.None;if(li&&li===In)return[li];if(!li||!In)return[];function Or(zn){return zn===li||zn===In}return Vt(Rn,zn=>{if(Xr===Cn.End)return!1;if(Or(zn)){if(an.push(zn),Xr===Cn.None)Xr=Cn.Start;else if(Xr===Cn.Start)return Xr=Cn.End,!1}else Xr===Cn.Start&&an.push(zn);return fi.includes(zn)}),an}function et(tt,Rn){const fi=(0,je.Z)(Rn),li=[];return Vt(tt,(In,an)=>{const Xr=fi.indexOf(In);return Xr!==-1&&(li.push(an),fi.splice(Xr,1)),!!fi.length}),li}var tn=function(tt,Rn){var fi={};for(var li in tt)Object.prototype.hasOwnProperty.call(tt,li)&&Rn.indexOf(li)<0&&(fi[li]=tt[li]);if(tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var In=0,li=Object.getOwnPropertySymbols(tt);In{var{defaultExpandAll:fi,defaultExpandParent:li,defaultExpandedKeys:In}=tt,an=tn(tt,["defaultExpandAll","defaultExpandParent","defaultExpandedKeys"]);const Xr=dt.useRef(),Or=dt.useRef(),zn=()=>{const{keyEntities:Xn}=(0,pt.I8)(Ln(an));let dn;return fi?dn=Object.keys(Xn):li?dn=(0,We.r7)(an.expandedKeys||In||[],Xn):dn=an.expandedKeys||In,dn},[Qn,Jn]=dt.useState(an.selectedKeys||an.defaultSelectedKeys||[]),[qn,On]=dt.useState(()=>zn());dt.useEffect(()=>{"selectedKeys"in an&&Jn(an.selectedKeys)},[an.selectedKeys]),dt.useEffect(()=>{"expandedKeys"in an&&On(an.expandedKeys)},[an.expandedKeys]);const qe=(Xn,dn)=>{var kr;return"expandedKeys"in an||On(Xn),(kr=an.onExpand)===null||kr===void 0?void 0:kr.call(an,Xn,dn)},Ie=(Xn,dn)=>{var kr;const{multiple:vi}=an,{node:Un,nativeEvent:Pr}=dn,{key:Ii=""}=Un,on=Ln(an),qt=Object.assign(Object.assign({},dn),{selected:!0}),gn=(Pr==null?void 0:Pr.ctrlKey)||(Pr==null?void 0:Pr.metaKey),gr=Pr==null?void 0:Pr.shiftKey;let mr;vi&&gn?(mr=Xn,Xr.current=Ii,Or.current=mr,qt.selectedNodes=et(on,mr)):vi&&gr?(mr=Array.from(new Set([].concat((0,je.Z)(Or.current||[]),(0,je.Z)(pn({treeData:on,expandedKeys:qn,startKey:Ii,endKey:Xr.current}))))),qt.selectedNodes=et(on,mr)):(mr=[Ii],Xr.current=Ii,Or.current=mr,qt.selectedNodes=et(on,mr)),(kr=an.onSelect)===null||kr===void 0||kr.call(an,mr,qt),"selectedKeys"in an||Jn(mr)},{getPrefixCls:Ce,direction:He}=dt.useContext(mt.E_),{prefixCls:it,className:we,showIcon:Xt=!0,expandAction:wn="click"}=an,Lt=tn(an,["prefixCls","className","showIcon","expandAction"]),Zt=Ce("tree",it),or=Ye()(`${Zt}-directory`,{[`${Zt}-directory-rtl`]:He==="rtl"},we);return dt.createElement(_n,Object.assign({icon:Ct,ref:Rn,blockNode:!0},Lt,{showIcon:Xt,expandAction:wn,prefixCls:Zt,className:or,expandedKeys:qn,selectedKeys:Qn,onSelect:Ie,onExpand:qe}))};var Dr=dt.forwardRef(Mn);const oi=_n;oi.DirectoryTree=Dr,oi.TreeNode=se.O;var yt=oi},20648:function(Hn,xr,he){"use strict";he.d(xr,{TM:function(){return Ot},Yk:function(){return wt}});var se=he(36237),je=he(98447),Bt=he(17313),Rt=he(8378),Dt=he(37613),dt=he(83116);const Le=new se.Keyframes("ant-tree-node-fx-do-not-use",{"0%":{opacity:0},"100%":{opacity:1}}),Xe=(Ye,We)=>({[`.${Ye}-switcher-icon`]:{display:"inline-block",fontSize:10,verticalAlign:"baseline",svg:{transition:`transform ${We.motionDurationSlow}`}}}),_e=(Ye,We)=>({[`.${Ye}-drop-indicator`]:{position:"absolute",zIndex:1,height:2,backgroundColor:We.colorPrimary,borderRadius:1,pointerEvents:"none","&:after":{position:"absolute",top:-3,insetInlineStart:-6,width:8,height:8,backgroundColor:"transparent",border:`${We.lineWidthBold}px solid ${We.colorPrimary}`,borderRadius:"50%",content:'""'}}}),It=(Ye,We)=>{const{treeCls:pt,treeNodeCls:mt,treeNodePadding:Jt,titleHeight:Qt,nodeSelectedBg:$t,nodeHoverBg:Ft}=We,Gt=We.paddingXS;return{[pt]:Object.assign(Object.assign({},(0,Bt.Wf)(We)),{background:We.colorBgContainer,borderRadius:We.borderRadius,transition:`background-color ${We.motionDurationSlow}`,[`&${pt}-rtl`]:{[`${pt}-switcher`]:{"&_close":{[`${pt}-switcher-icon`]:{svg:{transform:"rotate(90deg)"}}}}},[`&-focused:not(:hover):not(${pt}-active-focused)`]:Object.assign({},(0,Bt.oN)(We)),[`${pt}-list-holder-inner`]:{alignItems:"flex-start"},[`&${pt}-block-node`]:{[`${pt}-list-holder-inner`]:{alignItems:"stretch",[`${pt}-node-content-wrapper`]:{flex:"auto"},[`${mt}.dragging`]:{position:"relative","&:after":{position:"absolute",top:0,insetInlineEnd:0,bottom:Jt,insetInlineStart:0,border:`1px solid ${We.colorPrimary}`,opacity:0,animationName:Le,animationDuration:We.motionDurationSlow,animationPlayState:"running",animationFillMode:"forwards",content:'""',pointerEvents:"none"}}}},[`${mt}`]:{display:"flex",alignItems:"flex-start",padding:`0 0 ${Jt}px 0`,outline:"none","&-rtl":{direction:"rtl"},"&-disabled":{[`${pt}-node-content-wrapper`]:{color:We.colorTextDisabled,cursor:"not-allowed","&:hover":{background:"transparent"}}},[`&-active ${pt}-node-content-wrapper`]:Object.assign({},(0,Bt.oN)(We)),[`&:not(${mt}-disabled).filter-node ${pt}-title`]:{color:"inherit",fontWeight:500},"&-draggable":{[`${pt}-draggable-icon`]:{flexShrink:0,width:Qt,lineHeight:`${Qt}px`,textAlign:"center",visibility:"visible",opacity:.2,transition:`opacity ${We.motionDurationSlow}`,[`${mt}:hover &`]:{opacity:.45}},[`&${mt}-disabled`]:{[`${pt}-draggable-icon`]:{visibility:"hidden"}}}},[`${pt}-indent`]:{alignSelf:"stretch",whiteSpace:"nowrap",userSelect:"none","&-unit":{display:"inline-block",width:Qt}},[`${pt}-draggable-icon`]:{visibility:"hidden"},[`${pt}-switcher`]:Object.assign(Object.assign({},Xe(Ye,We)),{position:"relative",flex:"none",alignSelf:"stretch",width:Qt,margin:0,lineHeight:`${Qt}px`,textAlign:"center",cursor:"pointer",userSelect:"none","&-noop":{cursor:"default"},"&_close":{[`${pt}-switcher-icon`]:{svg:{transform:"rotate(-90deg)"}}},"&-loading-icon":{color:We.colorPrimary},"&-leaf-line":{position:"relative",zIndex:1,display:"inline-block",width:"100%",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:Qt/2,bottom:-Jt,marginInlineStart:-1,borderInlineEnd:`1px solid ${We.colorBorder}`,content:'""'},"&:after":{position:"absolute",width:Qt/2*.8,height:Qt/2,borderBottom:`1px solid ${We.colorBorder}`,content:'""'}}}),[`${pt}-checkbox`]:{top:"initial",marginInlineEnd:Gt},[`${pt}-node-content-wrapper, ${pt}-checkbox + span`]:{position:"relative",zIndex:"auto",minHeight:Qt,margin:0,padding:`0 ${We.paddingXS/2}px`,color:"inherit",lineHeight:`${Qt}px`,background:"transparent",borderRadius:We.borderRadius,cursor:"pointer",transition:`all ${We.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`,"&:hover":{backgroundColor:Ft},[`&${pt}-node-selected`]:{backgroundColor:$t},[`${pt}-iconEle`]:{display:"inline-block",width:Qt,height:Qt,lineHeight:`${Qt}px`,textAlign:"center",verticalAlign:"top","&:empty":{display:"none"}}},[`${pt}-unselectable ${pt}-node-content-wrapper:hover`]:{backgroundColor:"transparent"},[`${pt}-node-content-wrapper`]:Object.assign({lineHeight:`${Qt}px`,userSelect:"none"},_e(Ye,We)),[`${mt}.drop-container`]:{"> [draggable]":{boxShadow:`0 0 0 2px ${We.colorPrimary}`}},"&-show-line":{[`${pt}-indent`]:{"&-unit":{position:"relative",height:"100%","&:before":{position:"absolute",top:0,insetInlineEnd:Qt/2,bottom:-Jt,borderInlineEnd:`1px solid ${We.colorBorder}`,content:'""'},"&-end":{"&:before":{display:"none"}}}},[`${pt}-switcher`]:{background:"transparent","&-line-icon":{verticalAlign:"-0.15em"}}},[`${mt}-leaf-last`]:{[`${pt}-switcher`]:{"&-leaf-line":{"&:before":{top:"auto !important",bottom:"auto !important",height:`${Qt/2}px !important`}}}}})}},vt=Ye=>{const{treeCls:We,treeNodeCls:pt,treeNodePadding:mt,directoryNodeSelectedBg:Jt,directoryNodeSelectedColor:Qt}=Ye;return{[`${We}${We}-directory`]:{[pt]:{position:"relative","&:before":{position:"absolute",top:0,insetInlineEnd:0,bottom:mt,insetInlineStart:0,transition:`background-color ${Ye.motionDurationMid}`,content:'""',pointerEvents:"none"},"&:hover":{"&:before":{background:Ye.controlItemBgHover}},"> *":{zIndex:1},[`${We}-switcher`]:{transition:`color ${Ye.motionDurationMid}`},[`${We}-node-content-wrapper`]:{borderRadius:0,userSelect:"none","&:hover":{background:"transparent"},[`&${We}-node-selected`]:{color:Qt,background:"transparent"}},"&-selected":{"\n &:hover::before,\n &::before\n ":{background:Jt},[`${We}-switcher`]:{color:Qt},[`${We}-node-content-wrapper`]:{color:Qt,background:"transparent"}}}}}},wt=(Ye,We)=>{const pt=`.${Ye}`,mt=`${pt}-treenode`,Jt=We.paddingXS/2,Qt=(0,Dt.TS)(We,{treeCls:pt,treeNodeCls:mt,treeNodePadding:Jt});return[It(Ye,Qt),vt(Qt)]},Ot=Ye=>{const{controlHeightSM:We}=Ye;return{titleHeight:We,nodeHoverBg:Ye.controlItemBgHover,nodeSelectedBg:Ye.controlItemBgActive}};xr.ZP=(0,dt.Z)("Tree",(Ye,We)=>{let{prefixCls:pt}=We;return[{[Ye.componentCls]:(0,je.C2)(`${pt}-checkbox`,Ye)},wt(pt,Ye),(0,Rt.Z)(Ye)]},Ye=>{const{colorTextLightSolid:We,colorPrimary:pt}=Ye;return Object.assign(Object.assign({},Ot(Ye)),{directoryNodeSelectedColor:We,directoryNodeSelectedBg:pt})})},71997:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return mt}});var se=he(60499),je=he(59301),Bt={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"},Rt=Bt,Dt=he(85221),dt=function(Qt,$t){return je.createElement(Dt.Z,(0,se.Z)({},Qt,{ref:$t,icon:Rt}))},Le=je.forwardRef(dt),Xe=Le,_e=he(52671),It=he(58617),vt=he(15075),wt=he(43531),Ot=he(92310),Ye=he.n(Ot),We=he(92343),mt=Jt=>{const{prefixCls:Qt,switcherIcon:$t,treeNodeProps:Ft,showLine:Gt}=Jt,{isLeaf:Je,expanded:Sn,loading:_n}=Ft;if(_n)return je.createElement(It.Z,{className:`${Qt}-switcher-loading-icon`});let Cn;if(Gt&&typeof Gt=="object"&&(Cn=Gt.showLeafIcon),Je){if(!Gt)return null;if(typeof Cn!="boolean"&&Cn){const et=typeof Cn=="function"?Cn(Ft):Cn,tn=`${Qt}-switcher-line-custom-icon`;return(0,We.l$)(et)?(0,We.Tm)(et,{className:Ye()(et.props.className||"",tn)}):et}return Cn?je.createElement(_e.Z,{className:`${Qt}-switcher-line-icon`}):je.createElement("span",{className:`${Qt}-switcher-leaf-line`})}const Vt=`${Qt}-switcher-icon`,pn=typeof $t=="function"?$t(Ft):$t;return(0,We.l$)(pn)?(0,We.Tm)(pn,{className:Ye()(pn.props.className||"",Vt)}):pn!==void 0?pn:Gt?Sn?je.createElement(vt.Z,{className:`${Qt}-switcher-line-icon`}):je.createElement(wt.Z,{className:`${Qt}-switcher-line-icon`}):je.createElement(Xe,{className:Vt})}},54580:function(Hn,xr,he){"use strict";he.d(xr,{default:function(){return sr}});var se=he(59301),je=he(77654),Bt=he(92310),Rt=he.n(Bt),Dt=he(60499),dt=he(38705),Le=he(17212),Xe=he(39153),_e=he(55401),It=he(18642),vt=he(42244),wt=he(73001),Ot=he(43749),Ye=he(11576),We=he(26112);function pt(xn,er){var Er="cannot ".concat(xn.method," ").concat(xn.action," ").concat(er.status,"'"),Zr=new Error(Er);return Zr.status=er.status,Zr.method=xn.method,Zr.url=xn.action,Zr}function mt(xn){var er=xn.responseText||xn.response;if(!er)return er;try{return JSON.parse(er)}catch(Er){return er}}function Jt(xn){var er=new XMLHttpRequest;xn.onProgress&&er.upload&&(er.upload.onprogress=function(Nr){Nr.total>0&&(Nr.percent=Nr.loaded/Nr.total*100),xn.onProgress(Nr)});var Er=new FormData;xn.data&&Object.keys(xn.data).forEach(function(ti){var Nr=xn.data[ti];if(Array.isArray(Nr)){Nr.forEach(function(Bi){Er.append("".concat(ti,"[]"),Bi)});return}Er.append(ti,Nr)}),xn.file instanceof Blob?Er.append(xn.filename,xn.file,xn.file.name):Er.append(xn.filename,xn.file),er.onerror=function(Nr){xn.onError(Nr)},er.onload=function(){return er.status<200||er.status>=300?xn.onError(pt(xn,er),mt(er)):xn.onSuccess(mt(er),er)},er.open(xn.method,xn.action,!0),xn.withCredentials&&"withCredentials"in er&&(er.withCredentials=!0);var Zr=xn.headers||{};return Zr["X-Requested-With"]!==null&&er.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(Zr).forEach(function(ti){Zr[ti]!==null&&er.setRequestHeader(ti,Zr[ti])}),er.send(Er),{abort:function(){er.abort()}}}var Qt=+new Date,$t=0;function Ft(){return"rc-upload-".concat(Qt,"-").concat(++$t)}var Gt=he(48736),Je=function(xn,er){if(xn&&er){var Er=Array.isArray(er)?er:er.split(","),Zr=xn.name||"",ti=xn.type||"",Nr=ti.replace(/\/.*$/,"");return Er.some(function(Bi){var Zn=Bi.trim();if(/^\*(\/\*)?$/.test(Bi))return!0;if(Zn.charAt(0)==="."){var Di=Zr.toLowerCase(),da=Zn.toLowerCase(),ha=[da];return(da===".jpg"||da===".jpeg")&&(ha=[".jpg",".jpeg"]),ha.some(function(na){return Di.endsWith(na)})}return/\/\*$/.test(Zn)?Nr===Zn.replace(/\/.*$/,""):ti===Zn?!0:/^\w+$/.test(Zn)?((0,Gt.ZP)(!1,"Upload takes an invalidate 'accept' type '".concat(Zn,"'.Skip for check.")),!0):!1})}return!0};function Sn(xn,er){var Er=xn.createReader(),Zr=[];function ti(){Er.readEntries(function(Nr){var Bi=Array.prototype.slice.apply(Nr);Zr=Zr.concat(Bi);var Zn=!Bi.length;Zn?er(Zr):ti()})}ti()}var _n=function(er,Er,Zr){var ti=function Nr(Bi,Zn){Bi&&(Bi.path=Zn||"",Bi.isFile?Bi.file(function(Di){Zr(Di)&&(Bi.fullPath&&!Di.webkitRelativePath&&(Object.defineProperties(Di,{webkitRelativePath:{writable:!0}}),Di.webkitRelativePath=Bi.fullPath.replace(/^\//,""),Object.defineProperties(Di,{webkitRelativePath:{writable:!1}})),Er([Di]))}):Bi.isDirectory&&Sn(Bi,function(Di){Di.forEach(function(da){Nr(da,"".concat(Zn).concat(Bi.name,"/"))})}))};er.forEach(function(Nr){ti(Nr.webkitGetAsEntry())})},Cn=_n,Vt=["component","prefixCls","className","disabled","id","style","multiple","accept","capture","children","directory","openFileDialogOnClick","onMouseEnter","onMouseLeave"],pn=function(xn){(0,Xe.Z)(Er,xn);var er=(0,_e.Z)(Er);function Er(){var Zr;(0,dt.Z)(this,Er);for(var ti=arguments.length,Nr=new Array(ti),Bi=0;Bi{let{uid:Nr}=ti;return Nr===xn.uid});return Zr===-1?Er.push(xn):Er[Zr]=xn,Er}function kr(xn,er){const Er=xn.uid!==void 0?"uid":"name";return er.filter(Zr=>Zr[Er]===xn[Er])[0]}function vi(xn,er){const Er=xn.uid!==void 0?"uid":"name",Zr=er.filter(ti=>ti[Er]!==xn[Er]);return Zr.length===er.length?null:Zr}const Un=function(){const er=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:"").split("/"),Zr=er[er.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(Zr)||[""])[0]},Pr=xn=>xn.indexOf("image/")===0,Ii=xn=>{if(xn.type&&!xn.thumbUrl)return Pr(xn.type);const er=xn.thumbUrl||xn.url||"",Er=Un(er);return/^data:image\//.test(er)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(Er)?!0:!(/^data:/.test(er)||Er)},on=200;function qt(xn){return new Promise(er=>{if(!xn.type||!Pr(xn.type)){er("");return}const Er=document.createElement("canvas");Er.width=on,Er.height=on,Er.style.cssText=`position: fixed; left: 0; top: 0; width: ${on}px; height: ${on}px; z-index: 9999; display: none;`,document.body.appendChild(Er);const Zr=Er.getContext("2d"),ti=new Image;if(ti.onload=()=>{const{width:Nr,height:Bi}=ti;let Zn=on,Di=on,da=0,ha=0;Nr>Bi?(Di=Bi*(on/Nr),ha=-(Di-Zn)/2):(Zn=Nr*(on/Bi),da=-(Zn-Di)/2),Zr.drawImage(ti,da,ha,Zn,Di);const na=Er.toDataURL();document.body.removeChild(Er),window.URL.revokeObjectURL(ti.src),er(na)},ti.crossOrigin="anonymous",xn.type.startsWith("image/svg+xml")){const Nr=new FileReader;Nr.onload=()=>{Nr.result&&(ti.src=Nr.result)},Nr.readAsDataURL(xn)}else if(xn.type.startsWith("image/gif")){const Nr=new FileReader;Nr.onload=()=>{Nr.result&&er(Nr.result)},Nr.readAsDataURL(xn)}else ti.src=window.URL.createObjectURL(xn)})}var gn=he(26227),gr=he(41464),mr=he(15277),xi=he(93948),Ui=he(6848),Fa=se.forwardRef((xn,er)=>{let{prefixCls:Er,className:Zr,style:ti,locale:Nr,listType:Bi,file:Zn,items:Di,progress:da,iconRender:ha,actionIconRender:na,itemRender:Qa,isImgUrl:Ao,showPreviewIcon:Da,showRemoveIcon:Ma,showDownloadIcon:es,previewIcon:Fo,removeIcon:Ls,downloadIcon:_a,onPreview:$s,onDownload:sa,onClose:Os}=xn;var Us,Ns;const{status:xs}=Zn,[Al,Bs]=se.useState(xs);se.useEffect(()=>{xs!=="removed"&&Bs(xs)},[xs]);const[Ho,ll]=se.useState(!1);se.useEffect(()=>{const hu=setTimeout(()=>{ll(!0)},300);return()=>{clearTimeout(hu)}},[]);const el=ha(Zn);let Rs=se.createElement("div",{className:`${Er}-icon`},el);if(Bi==="picture"||Bi==="picture-card"||Bi==="picture-circle")if(Al==="uploading"||!Zn.thumbUrl&&!Zn.url){const hu=Rt()(`${Er}-list-item-thumbnail`,{[`${Er}-list-item-file`]:Al!=="uploading"});Rs=se.createElement("div",{className:hu},el)}else{const hu=Ao!=null&&Ao(Zn)?se.createElement("img",{src:Zn.thumbUrl||Zn.url,alt:Zn.name,className:`${Er}-list-item-image`,crossOrigin:Zn.crossOrigin}):el,zu=Rt()(`${Er}-list-item-thumbnail`,{[`${Er}-list-item-file`]:Ao&&!Ao(Zn)});Rs=se.createElement("a",{className:zu,onClick:Mu=>$s(Zn,Mu),href:Zn.url||Zn.thumbUrl,target:"_blank",rel:"noopener noreferrer"},hu)}const ui=Rt()(`${Er}-list-item`,`${Er}-list-item-${Al}`),za=typeof Zn.linkProps=="string"?JSON.parse(Zn.linkProps):Zn.linkProps,ls=Ma?na((typeof Ls=="function"?Ls(Zn):Ls)||se.createElement(gn.Z,null),()=>Os(Zn),Er,Nr.removeFile):null,vs=es&&Al==="done"?na((typeof _a=="function"?_a(Zn):_a)||se.createElement(gr.Z,null),()=>sa(Zn),Er,Nr.downloadFile):null,Ms=Bi!=="picture-card"&&Bi!=="picture-circle"&&se.createElement("span",{key:"download-delete",className:Rt()(`${Er}-list-item-actions`,{picture:Bi==="picture"})},vs,ls),Ts=Rt()(`${Er}-list-item-name`),ul=Zn.url?[se.createElement("a",Object.assign({key:"view",target:"_blank",rel:"noopener noreferrer",className:Ts,title:Zn.name},za,{href:Zn.url,onClick:hu=>$s(Zn,hu)}),Zn.name),Ms]:[se.createElement("span",{key:"view",className:Ts,onClick:hu=>$s(Zn,hu),title:Zn.name},Zn.name),Ms],Na={pointerEvents:"none",opacity:.5},$a=Da?se.createElement("a",{href:Zn.url||Zn.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:Zn.url||Zn.thumbUrl?void 0:Na,onClick:hu=>$s(Zn,hu),title:Nr.previewFile},typeof Fo=="function"?Fo(Zn):Fo||se.createElement(mr.Z,null)):null,gl=(Bi==="picture-card"||Bi==="picture-circle")&&Al!=="uploading"&&se.createElement("span",{className:`${Er}-list-item-actions`},$a,Al==="done"&&vs,ls),{getPrefixCls:zs}=se.useContext(oi.E_),Xu=zs(),Su=se.createElement("div",{className:ui},Rs,ul,gl,Ho&&se.createElement(Xt.default,{motionName:`${Xu}-fade`,visible:Al==="uploading",motionDeadline:2e3},hu=>{let{className:zu}=hu;const Mu="percent"in Zn?se.createElement(xi.Z,Object.assign({},da,{type:"line",percent:Zn.percent,"aria-label":Zn["aria-label"],"aria-labelledby":Zn["aria-labelledby"]})):null;return se.createElement("div",{className:Rt()(`${Er}-list-item-progress`,zu)},Mu)})),cc=Zn.response&&typeof Zn.response=="string"?Zn.response:((Us=Zn.error)===null||Us===void 0?void 0:Us.statusText)||((Ns=Zn.error)===null||Ns===void 0?void 0:Ns.message)||Nr.uploadError,Ru=Al==="error"?se.createElement(Ui.Z,{title:cc,getPopupContainer:hu=>hu.parentNode},Su):Su;return se.createElement("div",{className:Rt()(`${Er}-list-item-container`,Zr),style:ti,ref:er},Qa?Qa(Ru,Zn,Di,{download:sa.bind(null,Zn),preview:$s.bind(null,Zn),remove:Os.bind(null,Zn)}):Ru)});const _o=(xn,er)=>{const{listType:Er="text",previewFile:Zr=qt,onPreview:ti,onDownload:Nr,onRemove:Bi,locale:Zn,iconRender:Di,isImageUrl:da=Ii,prefixCls:ha,items:na=[],showPreviewIcon:Qa=!0,showRemoveIcon:Ao=!0,showDownloadIcon:Da=!1,removeIcon:Ma,previewIcon:es,downloadIcon:Fo,progress:Ls={size:[-1,2],showInfo:!1},appendAction:_a,appendActionVisible:$s=!0,itemRender:sa,disabled:Os}=xn,Us=(0,wn.Z)(),[Ns,xs]=se.useState(!1);se.useEffect(()=>{Er!=="picture"&&Er!=="picture-card"&&Er!=="picture-circle"||(na||[]).forEach(Na=>{typeof document=="undefined"||typeof window=="undefined"||!window.FileReader||!window.File||!(Na.originFileObj instanceof File||Na.originFileObj instanceof Blob)||Na.thumbUrl!==void 0||(Na.thumbUrl="",Zr&&Zr(Na.originFileObj).then($a=>{Na.thumbUrl=$a||"",Us()}))})},[Er,na,Zr]),se.useEffect(()=>{xs(!0)},[]);const Al=(Na,$a)=>{if(ti)return $a==null||$a.preventDefault(),ti(Na)},Bs=Na=>{typeof Nr=="function"?Nr(Na):Na.url&&window.open(Na.url)},Ho=Na=>{Bi==null||Bi(Na)},ll=Na=>{if(Di)return Di(Na,Er);const $a=Na.status==="uploading",gl=da&&da(Na)?se.createElement(we,null):se.createElement(Or,null);let zs=$a?se.createElement(zn.Z,null):se.createElement(qe,null);return Er==="picture"?zs=$a?se.createElement(zn.Z,null):gl:(Er==="picture-card"||Er==="picture-circle")&&(zs=$a?Zn.uploading:gl),zs},el=(Na,$a,gl,zs)=>{const Xu={type:"text",size:"small",title:zs,onClick:Su=>{$a(),(0,Zt.l$)(Na)&&Na.props.onClick&&Na.props.onClick(Su)},className:`${gl}-list-item-action`,disabled:Os};if((0,Zt.l$)(Na)){const Su=(0,Zt.Tm)(Na,Object.assign(Object.assign({},Na.props),{onClick:()=>{}}));return se.createElement(or.ZP,Object.assign({},Xu,{icon:Su}))}return se.createElement(or.ZP,Object.assign({},Xu),se.createElement("span",null,Na))};se.useImperativeHandle(er,()=>({handlePreview:Al,handleDownload:Bs}));const{getPrefixCls:Rs}=se.useContext(oi.E_),ui=Rs("upload",ha),za=Rs(),ls=Rt()(`${ui}-list`,`${ui}-list-${Er}`),vs=(0,je.Z)(na.map(Na=>({key:Na.uid,file:Na})));let Ts={motionDeadline:2e3,motionName:`${ui}-${Er==="picture-card"||Er==="picture-circle"?"animate-inline":"animate"}`,keys:vs,motionAppear:Ns};const ul=se.useMemo(()=>{const Na=Object.assign({},(0,Lt.Z)(za));return delete Na.onAppearEnd,delete Na.onEnterEnd,delete Na.onLeaveEnd,Na},[za]);return Er!=="picture-card"&&Er!=="picture-circle"&&(Ts=Object.assign(Object.assign({},ul),Ts)),se.createElement("div",{className:ls},se.createElement(Xt.CSSMotionList,Object.assign({},Ts,{component:!1}),Na=>{let{key:$a,file:gl,className:zs,style:Xu}=Na;return se.createElement(Fa,{key:$a,locale:Zn,prefixCls:ui,className:zs,style:Xu,file:gl,items:na,progress:Ls,listType:Er,isImgUrl:da,showPreviewIcon:Qa,showRemoveIcon:Ao,showDownloadIcon:Da,removeIcon:Ma,previewIcon:es,downloadIcon:Fo,iconRender:ll,actionIconRender:el,itemRender:sa,onPreview:Al,onDownload:Bs,onClose:Ho})}),_a&&se.createElement(Xt.default,Object.assign({},Ts,{visible:$s,forceRender:!0}),Na=>{let{className:$a,style:gl}=Na;return(0,Zt.Tm)(_a,zs=>({className:Rt()(zs.className,$a),style:Object.assign(Object.assign(Object.assign({},gl),{pointerEvents:$a?"none":void 0}),zs.style)}))}))};var kn=se.forwardRef(_o),Yi=he(17313),ys=he(8378),$o=he(83116),eo=he(37613),Qr=xn=>{const{componentCls:er,iconCls:Er}=xn;return{[`${er}-wrapper`]:{[`${er}-drag`]:{position:"relative",width:"100%",height:"100%",textAlign:"center",background:xn.colorFillAlter,border:`${xn.lineWidth}px dashed ${xn.colorBorder}`,borderRadius:xn.borderRadiusLG,cursor:"pointer",transition:`border-color ${xn.motionDurationSlow}`,[er]:{padding:`${xn.padding}px 0`},[`${er}-btn`]:{display:"table",width:"100%",height:"100%",outline:"none"},[`${er}-drag-container`]:{display:"table-cell",verticalAlign:"middle"},[`&:not(${er}-disabled):hover`]:{borderColor:xn.colorPrimaryHover},[`p${er}-drag-icon`]:{marginBottom:xn.margin,[Er]:{color:xn.colorPrimary,fontSize:xn.uploadThumbnailSize}},[`p${er}-text`]:{margin:`0 0 ${xn.marginXXS}px`,color:xn.colorTextHeading,fontSize:xn.fontSizeLG},[`p${er}-hint`]:{color:xn.colorTextDescription,fontSize:xn.fontSize},[`&${er}-disabled`]:{cursor:"not-allowed",[`p${er}-drag-icon ${Er}, - p${er}-text, - p${er}-hint - `]:{color:xn.colorTextDisabled}}}}}},ri=xn=>{const{componentCls:er,antCls:Er,iconCls:Zr,fontSize:ti,lineHeight:Nr}=xn,Bi=`${er}-list-item`,Zn=`${Bi}-actions`,Di=`${Bi}-action`,da=Math.round(ti*Nr);return{[`${er}-wrapper`]:{[`${er}-list`]:Object.assign(Object.assign({},(0,Yi.dF)()),{lineHeight:xn.lineHeight,[Bi]:{position:"relative",height:xn.lineHeight*ti,marginTop:xn.marginXS,fontSize:ti,display:"flex",alignItems:"center",transition:`background-color ${xn.motionDurationSlow}`,"&:hover":{backgroundColor:xn.controlItemBgHover},[`${Bi}-name`]:Object.assign(Object.assign({},Yi.vS),{padding:`0 ${xn.paddingXS}px`,lineHeight:Nr,flex:"auto",transition:`all ${xn.motionDurationSlow}`}),[Zn]:{[Di]:{opacity:0},[`${Di}${Er}-btn-sm`]:{height:da,border:0,lineHeight:1,"> span":{transform:"scale(1)"}},[` - ${Di}:focus-visible, - &.picture ${Di} - `]:{opacity:1},[Zr]:{color:xn.actionsColor,transition:`all ${xn.motionDurationSlow}`},[`&:hover ${Zr}`]:{color:xn.colorText}},[`${er}-icon ${Zr}`]:{color:xn.colorTextDescription,fontSize:ti},[`${Bi}-progress`]:{position:"absolute",bottom:-xn.uploadProgressOffset,width:"100%",paddingInlineStart:ti+xn.paddingXS,fontSize:ti,lineHeight:0,pointerEvents:"none","> div":{margin:0}}},[`${Bi}:hover ${Di}`]:{opacity:1,color:xn.colorText},[`${Bi}-error`]:{color:xn.colorError,[`${Bi}-name, ${er}-icon ${Zr}`]:{color:xn.colorError},[Zn]:{[`${Zr}, ${Zr}:hover`]:{color:xn.colorError},[Di]:{opacity:1}}},[`${er}-list-item-container`]:{transition:`opacity ${xn.motionDurationSlow}, height ${xn.motionDurationSlow}`,"&::before":{display:"table",width:0,height:0,content:'""'}}})}}},ua=he(36237),un=he(1950);const lr=new ua.Keyframes("uploadAnimateInlineIn",{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),Hr=new ua.Keyframes("uploadAnimateInlineOut",{to:{width:0,height:0,margin:0,padding:0,opacity:0}});var Vr=xn=>{const{componentCls:er}=xn,Er=`${er}-animate-inline`;return[{[`${er}-wrapper`]:{[`${Er}-appear, ${Er}-enter, ${Er}-leave`]:{animationDuration:xn.motionDurationSlow,animationTimingFunction:xn.motionEaseInOutCirc,animationFillMode:"forwards"},[`${Er}-appear, ${Er}-enter`]:{animationName:lr},[`${Er}-leave`]:{animationName:Hr}}},{[`${er}-wrapper`]:(0,un.J$)(xn)},lr,Hr]},Rr=he(30071),qr=he(64993);const Zi=xn=>{const{componentCls:er,iconCls:Er,uploadThumbnailSize:Zr,uploadProgressOffset:ti}=xn,Nr=`${er}-list`,Bi=`${Nr}-item`;return{[`${er}-wrapper`]:{[` - ${Nr}${Nr}-picture, - ${Nr}${Nr}-picture-card, - ${Nr}${Nr}-picture-circle - `]:{[Bi]:{position:"relative",height:Zr+xn.lineWidth*2+xn.paddingXS*2,padding:xn.paddingXS,border:`${xn.lineWidth}px ${xn.lineType} ${xn.colorBorder}`,borderRadius:xn.borderRadiusLG,"&:hover":{background:"transparent"},[`${Bi}-thumbnail`]:Object.assign(Object.assign({},Yi.vS),{width:Zr,height:Zr,lineHeight:`${Zr+xn.paddingSM}px`,textAlign:"center",flex:"none",[Er]:{fontSize:xn.fontSizeHeading2,color:xn.colorPrimary},img:{display:"block",width:"100%",height:"100%",overflow:"hidden"}}),[`${Bi}-progress`]:{bottom:ti,width:`calc(100% - ${xn.paddingSM*2}px)`,marginTop:0,paddingInlineStart:Zr+xn.paddingXS}},[`${Bi}-error`]:{borderColor:xn.colorError,[`${Bi}-thumbnail ${Er}`]:{[`svg path[fill='${Rr.blue[0]}']`]:{fill:xn.colorErrorBg},[`svg path[fill='${Rr.blue.primary}']`]:{fill:xn.colorError}}},[`${Bi}-uploading`]:{borderStyle:"dashed",[`${Bi}-name`]:{marginBottom:ti}}},[`${Nr}${Nr}-picture-circle ${Bi}`]:{[`&, &::before, ${Bi}-thumbnail`]:{borderRadius:"50%"}}}}},Wn=xn=>{const{componentCls:er,iconCls:Er,fontSizeLG:Zr,colorTextLightSolid:ti}=xn,Nr=`${er}-list`,Bi=`${Nr}-item`,Zn=xn.uploadPicCardSize;return{[` - ${er}-wrapper${er}-picture-card-wrapper, - ${er}-wrapper${er}-picture-circle-wrapper - `]:Object.assign(Object.assign({},(0,Yi.dF)()),{display:"inline-block",width:"100%",[`${er}${er}-select`]:{width:Zn,height:Zn,marginInlineEnd:xn.marginXS,marginBottom:xn.marginXS,textAlign:"center",verticalAlign:"top",backgroundColor:xn.colorFillAlter,border:`${xn.lineWidth}px dashed ${xn.colorBorder}`,borderRadius:xn.borderRadiusLG,cursor:"pointer",transition:`border-color ${xn.motionDurationSlow}`,[`> ${er}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center"},[`&:not(${er}-disabled):hover`]:{borderColor:xn.colorPrimary}},[`${Nr}${Nr}-picture-card, ${Nr}${Nr}-picture-circle`]:{[`${Nr}-item-container`]:{display:"inline-block",width:Zn,height:Zn,marginBlock:`0 ${xn.marginXS}px`,marginInline:`0 ${xn.marginXS}px`,verticalAlign:"top"},"&::after":{display:"none"},[Bi]:{height:"100%",margin:0,"&::before":{position:"absolute",zIndex:1,width:`calc(100% - ${xn.paddingXS*2}px)`,height:`calc(100% - ${xn.paddingXS*2}px)`,backgroundColor:xn.colorBgMask,opacity:0,transition:`all ${xn.motionDurationSlow}`,content:'" "'}},[`${Bi}:hover`]:{[`&::before, ${Bi}-actions`]:{opacity:1}},[`${Bi}-actions`]:{position:"absolute",insetInlineStart:0,zIndex:10,width:"100%",whiteSpace:"nowrap",textAlign:"center",opacity:0,transition:`all ${xn.motionDurationSlow}`,[`${Er}-eye, ${Er}-download, ${Er}-delete`]:{zIndex:10,width:Zr,margin:`0 ${xn.marginXXS}px`,fontSize:Zr,cursor:"pointer",transition:`all ${xn.motionDurationSlow}`,svg:{verticalAlign:"baseline"}}},[`${Bi}-actions, ${Bi}-actions:hover`]:{[`${Er}-eye, ${Er}-download, ${Er}-delete`]:{color:new qr.C(ti).setAlpha(.65).toRgbString(),"&:hover":{color:ti}}},[`${Bi}-thumbnail, ${Bi}-thumbnail img`]:{position:"static",display:"block",width:"100%",height:"100%",objectFit:"contain"},[`${Bi}-name`]:{display:"none",textAlign:"center"},[`${Bi}-file + ${Bi}-name`]:{position:"absolute",bottom:xn.margin,display:"block",width:`calc(100% - ${xn.paddingXS*2}px)`},[`${Bi}-uploading`]:{[`&${Bi}`]:{backgroundColor:xn.colorFillAlter},[`&::before, ${Er}-eye, ${Er}-download, ${Er}-delete`]:{display:"none"}},[`${Bi}-progress`]:{bottom:xn.marginXL,width:`calc(100% - ${xn.paddingXS*2}px)`,paddingInlineStart:0}}}),[`${er}-wrapper${er}-picture-circle-wrapper`]:{[`${er}${er}-select`]:{borderRadius:"50%"}}}};var Nt=xn=>{const{componentCls:er}=xn;return{[`${er}-rtl`]:{direction:"rtl"}}};const Gn=xn=>{const{componentCls:er,colorTextDisabled:Er}=xn;return{[`${er}-wrapper`]:Object.assign(Object.assign({},(0,Yi.Wf)(xn)),{[er]:{outline:0,"input[type='file']":{cursor:"pointer"}},[`${er}-select`]:{display:"inline-block"},[`${er}-disabled`]:{color:Er,cursor:"not-allowed"}})}};var Sr=(0,$o.Z)("Upload",xn=>{const{fontSizeHeading3:er,fontSize:Er,lineHeight:Zr,lineWidth:ti,controlHeightLG:Nr}=xn,Bi=Math.round(Er*Zr),Zn=(0,eo.TS)(xn,{uploadThumbnailSize:er*2,uploadProgressOffset:Bi/2+ti,uploadPicCardSize:Nr*2.55});return[Gn(Zn),Qr(Zn),Zi(Zn),Wn(Zn),ri(Zn),Vr(Zn),Nt(Zn),(0,ys.Z)(Zn)]},xn=>({actionsColor:xn.colorTextDescription})),yr=function(xn,er,Er,Zr){function ti(Nr){return Nr instanceof Er?Nr:new Er(function(Bi){Bi(Nr)})}return new(Er||(Er=Promise))(function(Nr,Bi){function Zn(ha){try{da(Zr.next(ha))}catch(na){Bi(na)}}function Di(ha){try{da(Zr.throw(ha))}catch(na){Bi(na)}}function da(ha){ha.done?Nr(ha.value):ti(ha.value).then(Zn,Di)}da((Zr=Zr.apply(xn,er||[])).next())})};const ci=`__LIST_IGNORE_${Date.now()}__`,ai=(xn,er)=>{const{fileList:Er,defaultFileList:Zr,onRemove:ti,showUploadList:Nr=!0,listType:Bi="text",onPreview:Zn,onDownload:Di,onChange:da,onDrop:ha,previewFile:na,disabled:Qa,locale:Ao,iconRender:Da,isImageUrl:Ma,progress:es,prefixCls:Fo,className:Ls,type:_a="select",children:$s,style:sa,itemRender:Os,maxCount:Us,data:Ns={},multiple:xs=!1,action:Al="",accept:Bs="",supportServerRender:Ho=!0,rootClassName:ll}=xn,el=se.useContext(yt.Z),Rs=Qa!=null?Qa:el,[ui,za]=(0,bn.Z)(Zr||[],{value:Er,postState:fo=>fo!=null?fo:[]}),[ls,vs]=se.useState("drop"),Ms=se.useRef(null);se.useMemo(()=>{const fo=Date.now();(Er||[]).forEach((Ql,oc)=>{!Ql.uid&&!Object.isFrozen(Ql)&&(Ql.uid=`__AUTO__${fo}_${oc}__`)})},[Er]);const Ts=(fo,Ql,oc)=>{let us=(0,je.Z)(Ql),Hs=!1;Us===1?us=us.slice(-1):Us&&(Hs=us.length>Us,us=us.slice(0,Us)),(0,Dr.flushSync)(()=>{za(us)});const Oo={file:fo,fileList:us};oc&&(Oo.event=oc),(!Hs||us.some(fn=>fn.uid===fo.uid))&&(0,Dr.flushSync)(()=>{da==null||da(Oo)})},ul=(fo,Ql)=>yr(void 0,void 0,void 0,function*(){const{beforeUpload:oc,transformFile:us}=xn;let Hs=fo;if(oc){const Oo=yield oc(fo,Ql);if(Oo===!1)return!1;if(delete fo[ci],Oo===ci)return Object.defineProperty(fo,ci,{value:!0,configurable:!0}),!1;typeof Oo=="object"&&Oo&&(Hs=Oo)}return us&&(Hs=yield us(Hs)),Hs}),Na=fo=>{const Ql=fo.filter(Hs=>!Hs.file[ci]);if(!Ql.length)return;const oc=Ql.map(Hs=>Xn(Hs.file));let us=(0,je.Z)(ui);oc.forEach(Hs=>{us=dn(Hs,us)}),oc.forEach((Hs,Oo)=>{let fn=Hs;if(Ql[Oo].parsedFile)Hs.status="uploading";else{const{originFileObj:Lr}=Hs;let nr;try{nr=new File([Lr],Lr.name,{type:Lr.type})}catch(Oi){nr=new Blob([Lr],{type:Lr.type}),nr.name=Lr.name,nr.lastModifiedDate=new Date,nr.lastModified=new Date().getTime()}nr.uid=Hs.uid,fn=nr}Ts(fn,us)})},$a=(fo,Ql,oc)=>{try{typeof fo=="string"&&(fo=JSON.parse(fo))}catch(Oo){}if(!kr(Ql,ui))return;const us=Xn(Ql);us.status="done",us.percent=100,us.response=fo,us.xhr=oc;const Hs=dn(us,ui);Ts(us,Hs)},gl=(fo,Ql)=>{if(!kr(Ql,ui))return;const oc=Xn(Ql);oc.status="uploading",oc.percent=fo.percent;const us=dn(oc,ui);Ts(oc,us,fo)},zs=(fo,Ql,oc)=>{if(!kr(oc,ui))return;const us=Xn(oc);us.error=fo,us.response=Ql,us.status="error";const Hs=dn(us,ui);Ts(us,Hs)},Xu=fo=>{let Ql;Promise.resolve(typeof ti=="function"?ti(fo):ti).then(oc=>{var us;if(oc===!1)return;const Hs=vi(fo,ui);Hs&&(Ql=Object.assign(Object.assign({},fo),{status:"removed"}),ui==null||ui.forEach(Oo=>{const fn=Ql.uid!==void 0?"uid":"name";Oo[fn]===Ql[fn]&&!Object.isFrozen(Oo)&&(Oo.status="removed")}),(us=Ms.current)===null||us===void 0||us.abort(Ql),Ts(Ql,Hs))})},Su=fo=>{vs(fo.type),fo.type==="drop"&&(ha==null||ha(fo))};se.useImperativeHandle(er,()=>({onBatchStart:Na,onSuccess:$a,onProgress:gl,onError:zs,fileList:ui,upload:Ms.current}));const{getPrefixCls:cc,direction:Ru,upload:hu}=se.useContext(oi.E_),zu=cc("upload",Fo),Mu=Object.assign(Object.assign({onBatchStart:Na,onError:zs,onProgress:gl,onSuccess:$a},xn),{data:Ns,multiple:xs,action:Al,accept:Bs,supportServerRender:Ho,prefixCls:zu,disabled:Rs,beforeUpload:ul,onChange:void 0});delete Mu.className,delete Mu.style,(!$s||Rs)&&delete Mu.id;const[vc,yu]=Sr(zu),[to]=(0,tt.Z)("Upload",Rn.Z.Upload),{showRemoveIcon:uo,showPreviewIcon:no,showDownloadIcon:yn,removeIcon:ps,previewIcon:al,downloadIcon:Vs}=typeof Nr=="boolean"?{}:Nr,$l=(fo,Ql)=>Nr?se.createElement(kn,{prefixCls:zu,listType:Bi,items:ui,previewFile:na,onPreview:Zn,onDownload:Di,onRemove:Xu,showRemoveIcon:!Rs&&uo,showPreviewIcon:no,showDownloadIcon:yn,removeIcon:ps,previewIcon:al,downloadIcon:Vs,iconRender:Da,locale:Object.assign(Object.assign({},to),Ao),isImageUrl:Ma,progress:es,appendAction:fo,appendActionVisible:Ql,itemRender:Os,disabled:Rs}):fo,eu=Rt()(`${zu}-wrapper`,Ls,ll,yu,hu==null?void 0:hu.className,{[`${zu}-rtl`]:Ru==="rtl",[`${zu}-picture-card-wrapper`]:Bi==="picture-card",[`${zu}-picture-circle-wrapper`]:Bi==="picture-circle"}),vu=Object.assign(Object.assign({},hu==null?void 0:hu.style),sa);if(_a==="drag"){const fo=Rt()(yu,zu,`${zu}-drag`,{[`${zu}-drag-uploading`]:ui.some(Ql=>Ql.status==="uploading"),[`${zu}-drag-hover`]:ls==="dragover",[`${zu}-disabled`]:Rs,[`${zu}-rtl`]:Ru==="rtl"});return vc(se.createElement("span",{className:eu},se.createElement("div",{className:fo,style:vu,onDrop:Su,onDragOver:Su,onDragLeave:Su},se.createElement(Mn,Object.assign({},Mu,{ref:Ms,className:`${zu}-btn`}),se.createElement("div",{className:`${zu}-drag-container`},$s))),$l()))}const ku=Rt()(zu,`${zu}-select`,{[`${zu}-disabled`]:Rs}),Cc=(fo=>se.createElement("div",{className:ku,style:fo},se.createElement(Mn,Object.assign({},Mu,{ref:Ms}))))($s?void 0:{display:"none"});return vc(Bi==="picture-card"||Bi==="picture-circle"?se.createElement("span",{className:eu},$l(Cc,!!$s)):se.createElement("span",{className:eu},Cc,$l()))};var zr=se.forwardRef(ai),ta=function(xn,er){var Er={};for(var Zr in xn)Object.prototype.hasOwnProperty.call(xn,Zr)&&er.indexOf(Zr)<0&&(Er[Zr]=xn[Zr]);if(xn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ti=0,Zr=Object.getOwnPropertySymbols(xn);ti{var{style:Er,height:Zr}=xn,ti=ta(xn,["style","height"]);return se.createElement(zr,Object.assign({ref:er},ti,{type:"drag",style:Object.assign(Object.assign({},Er),{height:Zr})}))});const Mr=zr;Mr.Dragger=pi,Mr.LIST_IGNORE=ci;var sr=Mr},99498:function(Hn,xr,he){(function(se){se(he(89780))})(function(se){se.defineOption("placeholder","",function(Xe,_e,It){var vt=It&&It!=se.Init;if(_e&&!vt)Xe.on("blur",Dt),Xe.on("change",dt),Xe.on("swapDoc",dt),se.on(Xe.getInputField(),"compositionupdate",Xe.state.placeholderCompose=function(){Rt(Xe)}),dt(Xe);else if(!_e&&vt){Xe.off("blur",Dt),Xe.off("change",dt),Xe.off("swapDoc",dt),se.off(Xe.getInputField(),"compositionupdate",Xe.state.placeholderCompose),je(Xe);var wt=Xe.getWrapperElement();wt.className=wt.className.replace(" CodeMirror-empty","")}_e&&!Xe.hasFocus()&&Dt(Xe)});function je(Xe){Xe.state.placeholder&&(Xe.state.placeholder.parentNode.removeChild(Xe.state.placeholder),Xe.state.placeholder=null)}function Bt(Xe){je(Xe);var _e=Xe.state.placeholder=document.createElement("pre");_e.style.cssText="height: 0; overflow: visible",_e.style.direction=Xe.getOption("direction"),_e.className="CodeMirror-placeholder CodeMirror-line-like";var It=Xe.getOption("placeholder");typeof It=="string"&&(It=document.createTextNode(It)),_e.appendChild(It),Xe.display.lineSpace.insertBefore(_e,Xe.display.lineSpace.firstChild)}function Rt(Xe){setTimeout(function(){var _e=!1,It=Xe.getInputField();It.nodeName=="TEXTAREA"?_e=!It.value:Xe.lineCount()==1&&(_e=!/[^\u200b]/.test(It.querySelector(".CodeMirror-line").textContent)),_e?Bt(Xe):je(Xe)},20)}function Dt(Xe){Le(Xe)&&Bt(Xe)}function dt(Xe){var _e=Xe.getWrapperElement(),It=Le(Xe);_e.className=_e.className.replace(" CodeMirror-empty","")+(It?" CodeMirror-empty":""),It?Bt(Xe):je(Xe)}function Le(Xe){return Xe.lineCount()===1&&Xe.getLine(0)===""}})},25717:function(Hn,xr,he){(function(se){se(he(89780))})(function(se){var je={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},Bt=se.Pos;se.defineOption("autoCloseBrackets",!1,function(We,pt,mt){mt&&mt!=se.Init&&(We.removeKeyMap(Dt),We.state.closeBrackets=null),pt&&(dt(Rt(pt,"pairs")),We.state.closeBrackets=pt,We.addKeyMap(Dt))});function Rt(We,pt){return pt=="pairs"&&typeof We=="string"?We:typeof We=="object"&&We[pt]!=null?We[pt]:je[pt]}var Dt={Backspace:_e,Enter:It};function dt(We){for(var pt=0;pt=0;Qt--){var Ft=Jt[Qt].head;We.replaceRange("",Bt(Ft.line,Ft.ch-1),Bt(Ft.line,Ft.ch+1),"+delete")}}function It(We){var pt=Xe(We),mt=pt&&Rt(pt,"explode");if(!mt||We.getOption("disableInput"))return se.Pass;for(var Jt=We.listSelections(),Qt=0;Qt0;return{anchor:new Bt(We.anchor.line,We.anchor.ch+(pt?-1:1)),head:new Bt(We.head.line,We.head.ch+(pt?1:-1))}}function wt(We,pt){var mt=Xe(We);if(!mt||We.getOption("disableInput"))return se.Pass;var Jt=Rt(mt,"pairs"),Qt=Jt.indexOf(pt);if(Qt==-1)return se.Pass;for(var $t=Rt(mt,"closeBefore"),Ft=Rt(mt,"triples"),Gt=Jt.charAt(Qt+1)==pt,Je=We.listSelections(),Sn=Qt%2==0,_n,Cn=0;Cn=0&&We.getRange(pn,Bt(pn.line,pn.ch+3))==pt+pt+pt?et="skipThree":et="skip";else if(Gt&&pn.ch>1&&Ft.indexOf(pt)>=0&&We.getRange(Bt(pn.line,pn.ch-2),pn)==pt+pt){if(pn.ch>2&&/\bstring/.test(We.getTokenTypeAt(Bt(pn.line,pn.ch-2))))return se.Pass;et="addFour"}else if(Gt){var Ct=pn.ch==0?" ":We.getRange(Bt(pn.line,pn.ch-1),pn);if(!se.isWordChar(tn)&&Ct!=pt&&!se.isWordChar(Ct))et="both";else return se.Pass}else if(Sn&&(tn.length===0||/\s/.test(tn)||$t.indexOf(tn)>-1))et="both";else return se.Pass;if(!_n)_n=et;else if(_n!=et)return se.Pass}var Ln=Qt%2?Jt.charAt(Qt-1):pt,Mn=Qt%2?pt:Jt.charAt(Qt+1);We.operation(function(){if(_n=="skip")We.execCommand("goCharRight");else if(_n=="skipThree")for(var bn=0;bn<3;bn++)We.execCommand("goCharRight");else if(_n=="surround"){for(var Dr=We.getSelections(),bn=0;bn'"]=function(Ot){return Rt(Ot)}),_e.addKeyMap(wt)}});var je=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Bt=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];function Rt(_e){if(_e.getOption("disableInput"))return se.Pass;for(var It=_e.listSelections(),vt=[],wt=_e.getOption("autoCloseTags"),Ot=0;OtYe.ch&&(Qt=Qt.slice(0,Qt.length-We.end+Ye.ch));var Je=Qt.toLowerCase();if(!Qt||We.type=="string"&&(We.end!=Ye.ch||!/[\"\']/.test(We.string.charAt(We.string.length-1))||We.string.length==1)||We.type=="tag"&&Jt.close||We.string.indexOf("/")==Ye.ch-We.start-1||Ft&&Le(Ft,Je)>-1||Xe(_e,pt.mode.xmlCurrentContext&&pt.mode.xmlCurrentContext(mt)||[],Qt,Ye,!0))return se.Pass;var Sn=typeof wt=="object"&&wt.emptyTags;if(Sn&&Le(Sn,Qt)>-1){vt[Ot]={text:"/>",newPos:se.Pos(Ye.line,Ye.ch+2)};continue}var _n=Gt&&Le(Gt,Je)>-1;vt[Ot]={indent:_n,text:">"+(_n?` - -`:"")+"",newPos:_n?se.Pos(Ye.line+1,0):se.Pos(Ye.line,Ye.ch+1)}}for(var Cn=typeof wt=="object"&&wt.dontIndentOnAutoClose,Ot=It.length-1;Ot>=0;Ot--){var Vt=vt[Ot];_e.replaceRange(Vt.text,It[Ot].head,It[Ot].anchor,"+insert");var pn=_e.listSelections().slice(0);pn[Ot]={head:Vt.newPos,anchor:Vt.newPos},_e.setSelections(pn),!Cn&&Vt.indent&&(_e.indentLine(Vt.newPos.line,null,!0),_e.indentLine(Vt.newPos.line+1,null,!0))}}function Dt(_e,It){for(var vt=_e.listSelections(),wt=[],Ot=It?"/":""&&(Ft+=">"),wt[pt]=Ft}if(_e.replaceSelections(wt),vt=_e.listSelections(),!We)for(var pt=0;pt=0&&It[mt]==vt;mt--)++pt;wt=We.to;for(var mt=1;mt=mt.max))return mt.ch=0,mt.text=mt.cm.getLine(++mt.line),!0}function It(mt){if(!(mt.line<=mt.min))return mt.text=mt.cm.getLine(--mt.line),mt.ch=mt.text.length,!0}function vt(mt){for(;;){var Jt=mt.text.indexOf(">",mt.ch);if(Jt==-1){if(_e(mt))continue;return}if(!Xe(mt,Jt+1)){mt.ch=Jt+1;continue}var Qt=mt.text.lastIndexOf("/",Jt),$t=Qt>-1&&!/\S/.test(mt.text.slice(Qt+1,Jt));return mt.ch=Jt+1,$t?"selfClose":"regular"}}function wt(mt){for(;;){var Jt=mt.ch?mt.text.lastIndexOf("<",mt.ch-1):-1;if(Jt==-1){if(It(mt))continue;return}if(!Xe(mt,Jt+1)){mt.ch=Jt;continue}dt.lastIndex=Jt,mt.ch=Jt;var Qt=dt.exec(mt.text);if(Qt&&Qt.index==Jt)return Qt}}function Ot(mt){for(;;){dt.lastIndex=mt.ch;var Jt=dt.exec(mt.text);if(!Jt){if(_e(mt))continue;return}if(!Xe(mt,Jt.index+1)){mt.ch=Jt.index+1;continue}return mt.ch=Jt.index+Jt[0].length,Jt}}function Ye(mt){for(;;){var Jt=mt.ch?mt.text.lastIndexOf(">",mt.ch-1):-1;if(Jt==-1){if(It(mt))continue;return}if(!Xe(mt,Jt+1)){mt.ch=Jt;continue}var Qt=mt.text.lastIndexOf("/",Jt),$t=Qt>-1&&!/\S/.test(mt.text.slice(Qt+1,Jt));return mt.ch=Jt+1,$t?"selfClose":"regular"}}function We(mt,Jt){for(var Qt=[];;){var $t=Ot(mt),Ft,Gt=mt.line,Je=mt.ch-($t?$t[0].length:0);if(!$t||!(Ft=vt(mt)))return;if(Ft!="selfClose")if($t[1]){for(var Sn=Qt.length-1;Sn>=0;--Sn)if(Qt[Sn]==$t[2]){Qt.length=Sn;break}if(Sn<0&&(!Jt||Jt==$t[2]))return{tag:$t[2],from:je(Gt,Je),to:je(mt.line,mt.ch)}}else Qt.push($t[2])}}function pt(mt,Jt){for(var Qt=[];;){var $t=Ye(mt);if(!$t)return;if($t=="selfClose"){wt(mt);continue}var Ft=mt.line,Gt=mt.ch,Je=wt(mt);if(!Je)return;if(Je[1])Qt.push(Je[2]);else{for(var Sn=Qt.length-1;Sn>=0;--Sn)if(Qt[Sn]==Je[2]){Qt.length=Sn;break}if(Sn<0&&(!Jt||Jt==Je[2]))return{tag:Je[2],from:je(mt.line,mt.ch),to:je(Ft,Gt)}}}}se.registerHelper("fold","xml",function(mt,Jt){for(var Qt=new Le(mt,Jt.line,0);;){var $t=Ot(Qt);if(!$t||Qt.line!=Jt.line)return;var Ft=vt(Qt);if(!Ft)return;if(!$t[1]&&Ft!="selfClose"){var Gt=je(Qt.line,Qt.ch),Je=We(Qt,$t[2]);return Je&&Bt(Je.from,Gt)>0?{from:Gt,to:Je.from}:null}}}),se.findMatchingTag=function(mt,Jt,Qt){var $t=new Le(mt,Jt.line,Jt.ch,Qt);if(!($t.text.indexOf(">")==-1&&$t.text.indexOf("<")==-1)){var Ft=vt($t),Gt=Ft&&je($t.line,$t.ch),Je=Ft&&wt($t);if(!(!Ft||!Je||Bt($t,Jt)>0)){var Sn={from:je($t.line,$t.ch),to:Gt,tag:Je[2]};return Ft=="selfClose"?{open:Sn,close:null,at:"open"}:Je[1]?{open:pt($t,Je[2]),close:Sn,at:"close"}:($t=new Le(mt,Gt.line,Gt.ch,Qt),{open:Sn,close:We($t,Je[2]),at:"open"})}}},se.findEnclosingTag=function(mt,Jt,Qt,$t){for(var Ft=new Le(mt,Jt.line,Jt.ch,Qt);;){var Gt=pt(Ft,$t);if(!Gt)break;var Je=new Le(mt,Jt.line,Jt.ch,Qt),Sn=We(Je,Gt.tag);if(Sn)return{open:Gt,close:Sn}}},se.scanForClosingTag=function(mt,Jt,Qt,$t){var Ft=new Le(mt,Jt.line,Jt.ch,$t?{from:0,to:$t}:null);return We(Ft,Qt)}})},89780:function(Hn){(function(xr,he){Hn.exports=he()})(this,function(){"use strict";var xr=navigator.userAgent,he=navigator.platform,se=/gecko\/\d/i.test(xr),je=/MSIE \d/.test(xr),Bt=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(xr),Rt=/Edge\/(\d+)/.exec(xr),Dt=je||Bt||Rt,dt=Dt&&(je?document.documentMode||6:+(Rt||Bt)[1]),Le=!Rt&&/WebKit\//.test(xr),Xe=Le&&/Qt\/\d+\.\d+/.test(xr),_e=!Rt&&/Chrome\//.test(xr),It=/Opera\//.test(xr),vt=/Apple Computer/.test(navigator.vendor),wt=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(xr),Ot=/PhantomJS/.test(xr),Ye=!Rt&&/AppleWebKit/.test(xr)&&/Mobile\/\w+/.test(xr),We=/Android/.test(xr),pt=Ye||We||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(xr),mt=Ye||/Mac/.test(he),Jt=/\bCrOS\b/.test(xr),Qt=/win/i.test(he),$t=It&&xr.match(/Version\/(\d*\.\d*)/);$t&&($t=Number($t[1])),$t&&$t>=15&&(It=!1,Le=!0);var Ft=mt&&(Xe||It&&($t==null||$t<12.11)),Gt=se||Dt&&dt>=9;function Je(ee){return new RegExp("(^|\\s)"+ee+"(?:$|\\s)\\s*")}var Sn=function(ee,ae){var de=ee.className,ce=Je(ae).exec(de);if(ce){var me=de.slice(ce.index+ce[0].length);ee.className=de.slice(0,ce.index)+(me?ce[1]+me:"")}};function _n(ee){for(var ae=ee.childNodes.length;ae>0;--ae)ee.removeChild(ee.firstChild);return ee}function Cn(ee,ae){return _n(ee).appendChild(ae)}function Vt(ee,ae,de,ce){var me=document.createElement(ee);if(de&&(me.className=de),ce&&(me.style.cssText=ce),typeof ae=="string")me.appendChild(document.createTextNode(ae));else if(ae)for(var Se=0;Se=ae)return Qe+(ae-Se);Qe+=ct-Se,Qe+=de-Qe%de,Se=ct+1}}var tt=function(){this.id=null,this.f=null,this.time=0,this.handler=Dr(this.onTimeout,this)};tt.prototype.onTimeout=function(ee){ee.id=0,ee.time<=+new Date?ee.f():setTimeout(ee.handler,ee.time-+new Date)},tt.prototype.set=function(ee,ae){this.f=ae;var de=+new Date+ee;(!this.id||de=ae)return ce+Math.min(Qe,ae-me);if(me+=Se-ce,me+=de-me%de,ce=Se+1,me>=ae)return ce}}var zn=[""];function Qn(ee){for(;zn.length<=ee;)zn.push(Jn(zn)+" ");return zn[ee]}function Jn(ee){return ee[ee.length-1]}function qn(ee,ae){for(var de=[],ce=0;ce"\x80"&&(ee.toUpperCase()!=ee.toLowerCase()||Ce.test(ee))}function it(ee,ae){return ae?ae.source.indexOf("\\w")>-1&&He(ee)?!0:ae.test(ee):He(ee)}function we(ee){for(var ae in ee)if(ee.hasOwnProperty(ae)&&ee[ae])return!1;return!0}var Xt=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function wn(ee){return ee.charCodeAt(0)>=768&&Xt.test(ee)}function Lt(ee,ae,de){for(;(de<0?ae>0:aede?-1:1;;){if(ae==de)return ae;var me=(ae+de)/2,Se=ce<0?Math.ceil(me):Math.floor(me);if(Se==ae)return ee(Se)?ae:de;ee(Se)?de=Se:ae=Se+ce}}function or(ee,ae,de,ce){if(!ee)return ce(ae,de,"ltr",0);for(var me=!1,Se=0;Seae||ae==de&&Qe.to==ae)&&(ce(Math.max(Qe.from,ae),Math.min(Qe.to,de),Qe.level==1?"rtl":"ltr",Se),me=!0)}me||ce(ae,de,"ltr")}var Xn=null;function dn(ee,ae,de){var ce;Xn=null;for(var me=0;meae)return me;Se.to==ae&&(Se.from!=Se.to&&de=="before"?ce=me:Xn=me),Se.from==ae&&(Se.from!=Se.to&&de!="before"?ce=me:Xn=me)}return ce!=null?ce:Xn}var kr=function(){var ee="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",ae="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function de(kt){return kt<=247?ee.charAt(kt):1424<=kt&&kt<=1524?"R":1536<=kt&&kt<=1785?ae.charAt(kt-1536):1774<=kt&&kt<=2220?"r":8192<=kt&&kt<=8203?"w":kt==8204?"b":"L"}var ce=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,me=/[stwN]/,Se=/[LRr]/,Qe=/[Lb1n]/,ct=/[1n]/;function xt(kt,Yn,vr){this.level=kt,this.from=Yn,this.to=vr}return function(kt,Yn){var vr=Yn=="ltr"?"L":"R";if(kt.length==0||Yn=="ltr"&&!ce.test(kt))return!1;for(var bi=kt.length,si=[],xa=0;xa-1&&(ce[ae]=me.slice(0,Se).concat(me.slice(Se+1)))}}}function qt(ee,ae){var de=Ii(ee,ae);if(de.length)for(var ce=Array.prototype.slice.call(arguments,2),me=0;me0}function xi(ee){ee.prototype.on=function(ae,de){Pr(this,ae,de)},ee.prototype.off=function(ae,de){on(this,ae,de)}}function Ui(ee){ee.preventDefault?ee.preventDefault():ee.returnValue=!1}function Ni(ee){ee.stopPropagation?ee.stopPropagation():ee.cancelBubble=!0}function Fa(ee){return ee.defaultPrevented!=null?ee.defaultPrevented:ee.returnValue==!1}function _o(ee){Ui(ee),Ni(ee)}function co(ee){return ee.target||ee.srcElement}function kn(ee){var ae=ee.which;return ae==null&&(ee.button&1?ae=1:ee.button&2?ae=3:ee.button&4&&(ae=2)),mt&&ee.ctrlKey&&ae==1&&(ae=3),ae}var Yi=function(){if(Dt&&dt<9)return!1;var ee=Vt("div");return"draggable"in ee||"dragDrop"in ee}(),ys;function $o(ee){if(ys==null){var ae=Vt("span","\u200B");Cn(ee,Vt("span",[ae,document.createTextNode("x")])),ee.firstChild.offsetHeight!=0&&(ys=ae.offsetWidth<=1&&ae.offsetHeight>2&&!(Dt&&dt<8))}var de=ys?Vt("span","\u200B"):Vt("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return de.setAttribute("cm-text",""),de}var eo;function lo(ee){if(eo!=null)return eo;var ae=Cn(ee,document.createTextNode("A\u062EA")),de=et(ae,0,1).getBoundingClientRect(),ce=et(ae,1,2).getBoundingClientRect();return _n(ee),!de||de.left==de.right?!1:eo=ce.right-de.right<3}var Qr=` - -b`.split(/\n/).length!=3?function(ee){for(var ae=0,de=[],ce=ee.length;ae<=ce;){var me=ee.indexOf(` -`,ae);me==-1&&(me=ee.length);var Se=ee.slice(ae,ee.charAt(me-1)=="\r"?me-1:me),Qe=Se.indexOf("\r");Qe!=-1?(de.push(Se.slice(0,Qe)),ae+=Qe+1):(de.push(Se),ae=me+1)}return de}:function(ee){return ee.split(/\r\n?|\n/)},ir=window.getSelection?function(ee){try{return ee.selectionStart!=ee.selectionEnd}catch(ae){return!1}}:function(ee){var ae;try{ae=ee.ownerDocument.selection.createRange()}catch(de){}return!ae||ae.parentElement()!=ee?!1:ae.compareEndPoints("StartToEnd",ae)!=0},ri=function(){var ee=Vt("div");return"oncopy"in ee?!0:(ee.setAttribute("oncopy","return;"),typeof ee.oncopy=="function")}(),ua=null;function un(ee){if(ua!=null)return ua;var ae=Cn(ee,Vt("span","x")),de=ae.getBoundingClientRect(),ce=et(ae,0,1).getBoundingClientRect();return ua=Math.abs(de.left-ce.left)>1}var lr={},Hr={};function hr(ee,ae){arguments.length>2&&(ae.dependencies=Array.prototype.slice.call(arguments,2)),lr[ee]=ae}function Vr(ee,ae){Hr[ee]=ae}function Rr(ee){if(typeof ee=="string"&&Hr.hasOwnProperty(ee))ee=Hr[ee];else if(ee&&typeof ee.name=="string"&&Hr.hasOwnProperty(ee.name)){var ae=Hr[ee.name];typeof ae=="string"&&(ae={name:ae}),ee=Ie(ae,ee),ee.name=ae.name}else{if(typeof ee=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(ee))return Rr("application/xml");if(typeof ee=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(ee))return Rr("application/json")}return typeof ee=="string"?{name:ee}:ee||{name:"null"}}function qr(ee,ae){ae=Rr(ae);var de=lr[ae.name];if(!de)return qr(ee,"text/plain");var ce=de(ee,ae);if(Zi.hasOwnProperty(ae.name)){var me=Zi[ae.name];for(var Se in me)me.hasOwnProperty(Se)&&(ce.hasOwnProperty(Se)&&(ce["_"+Se]=ce[Se]),ce[Se]=me[Se])}if(ce.name=ae.name,ae.helperType&&(ce.helperType=ae.helperType),ae.modeProps)for(var Qe in ae.modeProps)ce[Qe]=ae.modeProps[Qe];return ce}var Zi={};function Wn(ee,ae){var de=Zi.hasOwnProperty(ee)?Zi[ee]:Zi[ee]={};oi(ae,de)}function st(ee,ae){if(ae===!0)return ae;if(ee.copyState)return ee.copyState(ae);var de={};for(var ce in ae){var me=ae[ce];me instanceof Array&&(me=me.concat([])),de[ce]=me}return de}function Nt(ee,ae){for(var de;ee.innerMode&&(de=ee.innerMode(ae),!(!de||de.mode==ee));)ae=de.state,ee=de.mode;return de||{mode:ee,state:ae}}function Gn(ee,ae,de){return ee.startState?ee.startState(ae,de):!0}var Sr=function(ee,ae,de){this.pos=this.start=0,this.string=ee,this.tabSize=ae||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=de};Sr.prototype.eol=function(){return this.pos>=this.string.length},Sr.prototype.sol=function(){return this.pos==this.lineStart},Sr.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Sr.prototype.next=function(){if(this.posae},Sr.prototype.eatSpace=function(){for(var ee=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>ee},Sr.prototype.skipToEnd=function(){this.pos=this.string.length},Sr.prototype.skipTo=function(ee){var ae=this.string.indexOf(ee,this.pos);if(ae>-1)return this.pos=ae,!0},Sr.prototype.backUp=function(ee){this.pos-=ee},Sr.prototype.column=function(){return this.lastColumnPos0?null:(Se&&ae!==!1&&(this.pos+=Se[0].length),Se)}},Sr.prototype.current=function(){return this.string.slice(this.start,this.pos)},Sr.prototype.hideFirstChars=function(ee,ae){this.lineStart+=ee;try{return ae()}finally{this.lineStart-=ee}},Sr.prototype.lookAhead=function(ee){var ae=this.lineOracle;return ae&&ae.lookAhead(ee)},Sr.prototype.baseToken=function(){var ee=this.lineOracle;return ee&&ee.baseToken(this.pos)};function yr(ee,ae){if(ae-=ee.first,ae<0||ae>=ee.size)throw new Error("There is no line "+(ae+ee.first)+" in the document.");for(var de=ee;!de.lines;)for(var ce=0;;++ce){var me=de.children[ce],Se=me.chunkSize();if(ae=ee.first&&aede?Mr(de,yr(ee,de).text.length):Bi(ae,yr(ee,ae.line).text.length)}function Bi(ee,ae){var de=ee.ch;return de==null||de>ae?Mr(ee.line,ae):de<0?Mr(ee.line,0):ee}function Zn(ee,ae){for(var de=[],ce=0;cethis.maxLookAhead&&(this.maxLookAhead=ee),ae},da.prototype.baseToken=function(ee){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=ee;)this.baseTokenPos+=2;var ae=this.baseTokens[this.baseTokenPos+1];return{type:ae&&ae.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-ee}},da.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},da.fromSaved=function(ee,ae,de){return ae instanceof Di?new da(ee,st(ee.mode,ae.state),de,ae.lookAhead):new da(ee,st(ee.mode,ae),de)},da.prototype.save=function(ee){var ae=ee!==!1?st(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Di(ae,this.maxLookAhead):ae};function ha(ee,ae,de,ce){var me=[ee.state.modeGen],Se={};_a(ee,ae.text,ee.doc.mode,de,function(kt,Yn){return me.push(kt,Yn)},Se,ce);for(var Qe=de.state,ct=function(kt){de.baseTokens=me;var Yn=ee.state.overlays[kt],vr=1,bi=0;de.state=!0,_a(ee,ae.text,Yn.mode,de,function(si,xa){for(var Ga=vr;bisi&&me.splice(vr,1,si,me[vr+1],Zo),vr+=2,bi=Math.min(si,Zo)}if(xa)if(Yn.opaque)me.splice(Ga,vr-Ga,si,"overlay "+xa),vr=Ga+2;else for(;Gaee.options.maxHighlightLength&&st(ee.doc.mode,ce.state),Se=ha(ee,ae,ce);me&&(ce.state=me),ae.stateAfter=ce.save(!me),ae.styles=Se.styles,Se.classes?ae.styleClasses=Se.classes:ae.styleClasses&&(ae.styleClasses=null),de===ee.doc.highlightFrontier&&(ee.doc.modeFrontier=Math.max(ee.doc.modeFrontier,++ee.doc.highlightFrontier))}return ae.styles}function Qa(ee,ae,de){var ce=ee.doc,me=ee.display;if(!ce.mode.startState)return new da(ce,!0,ae);var Se=$s(ee,ae,de),Qe=Se>ce.first&&yr(ce,Se-1).stateAfter,ct=Qe?da.fromSaved(ce,Qe,Se):new da(ce,Gn(ce.mode),Se);return ce.iter(Se,ae,function(xt){Ao(ee,xt.text,ct);var kt=ct.line;xt.stateAfter=kt==ae-1||kt%5==0||kt>=me.viewFrom&&ktae.start)return Se}throw new Error("Mode "+ee.name+" failed to advance stream.")}var es=function(ee,ae,de){this.start=ee.start,this.end=ee.pos,this.string=ee.current(),this.type=ae||null,this.state=de};function Fo(ee,ae,de,ce){var me=ee.doc,Se=me.mode,Qe;ae=Nr(me,ae);var ct=yr(me,ae.line),xt=Qa(ee,ae.line,de),kt=new Sr(ct.text,ee.options.tabSize,xt),Yn;for(ce&&(Yn=[]);(ce||kt.posee.options.maxHighlightLength?(ct=!1,Qe&&Ao(ee,ae,ce,Yn.pos),Yn.pos=ae.length,vr=null):vr=Ls(Ma(de,Yn,ce.state,bi),Se),bi){var si=bi[0].name;si&&(vr="m-"+(vr?si+" "+vr:si))}if(!ct||kt!=vr){for(;xtQe;--ct){if(ct<=Se.first)return Se.first;var xt=yr(Se,ct-1),kt=xt.stateAfter;if(kt&&(!de||ct+(kt instanceof Di?kt.lookAhead:0)<=Se.modeFrontier))return ct;var Yn=yt(xt.text,null,ee.options.tabSize);(me==null||ce>Yn)&&(me=ct-1,ce=Yn)}return me}function sa(ee,ae){if(ee.modeFrontier=Math.min(ee.modeFrontier,ae),!(ee.highlightFrontierde;ce--){var me=yr(ee,ce).stateAfter;if(me&&(!(me instanceof Di)||ce+me.lookAhead=ae:Se.to>ae);(ce||(ce=[])).push(new Al(Qe,Se.from,xt?null:Se.to))}}return ce}function Rs(ee,ae,de){var ce;if(ee)for(var me=0;me=ae:Se.to>ae);if(ct||Se.from==ae&&Qe.type=="bookmark"&&(!de||Se.marker.insertLeft)){var xt=Se.from==null||(Qe.inclusiveLeft?Se.from<=ae:Se.from0&&ct)for(var qs=0;qs0)){var Yn=[xt,1],vr=sr(kt.from,ct.from),bi=sr(kt.to,ct.to);(vr<0||!Qe.inclusiveLeft&&!vr)&&Yn.push({from:kt.from,to:ct.from}),(bi>0||!Qe.inclusiveRight&&!bi)&&Yn.push({from:ct.to,to:kt.to}),me.splice.apply(me,Yn),xt+=Yn.length-3}}return me}function vs(ee){var ae=ee.markedSpans;if(ae){for(var de=0;deae)&&(!ce||Na(ce,Se.marker)<0)&&(ce=Se.marker)}return ce}function Su(ee,ae,de,ce,me){var Se=yr(ee,ae),Qe=Us&&Se.markedSpans;if(Qe)for(var ct=0;ct=0&&vr<=0||Yn<=0&&vr>=0)&&(Yn<=0&&(xt.marker.inclusiveRight&&me.inclusiveLeft?sr(kt.to,de)>=0:sr(kt.to,de)>0)||Yn>=0&&(xt.marker.inclusiveRight&&me.inclusiveLeft?sr(kt.from,ce)<=0:sr(kt.from,ce)<0)))return!0}}}function cc(ee){for(var ae;ae=gl(ee);)ee=ae.find(-1,!0).line;return ee}function Ru(ee){for(var ae;ae=zs(ee);)ee=ae.find(1,!0).line;return ee}function hu(ee){for(var ae,de;ae=zs(ee);)ee=ae.find(1,!0).line,(de||(de=[])).push(ee);return de}function zu(ee,ae){var de=yr(ee,ae),ce=cc(de);return de==ce?ae:zr(ce)}function Mu(ee,ae){if(ae>ee.lastLine())return ae;var de=yr(ee,ae),ce;if(!vc(ee,de))return ae;for(;ce=zs(de);)de=ce.find(1,!0).line;return zr(de)+1}function vc(ee,ae){var de=Us&&ae.markedSpans;if(de){for(var ce=void 0,me=0;meae.maxLineLength&&(ae.maxLineLength=me,ae.maxLine=ce)})}var yn=function(ee,ae,de){this.text=ee,Ms(this,ae),this.height=de?de(this):1};yn.prototype.lineNo=function(){return zr(this)},xi(yn);function ps(ee,ae,de,ce){ee.text=ae,ee.stateAfter&&(ee.stateAfter=null),ee.styles&&(ee.styles=null),ee.order!=null&&(ee.order=null),vs(ee),Ms(ee,de);var me=ce?ce(ee):1;me!=ee.height&&Ur(ee,me)}function al(ee){ee.parent=null,vs(ee)}var Vs={},$l={};function eu(ee,ae){if(!ee||/^\s*$/.test(ee))return null;var de=ae.addModeClass?$l:Vs;return de[ee]||(de[ee]=ee.replace(/\S+/g,"cm-$&"))}function vu(ee,ae){var de=pn("span",null,null,Le?"padding-right: .1px":null),ce={pre:pn("pre",[de],"CodeMirror-line"),content:de,col:0,pos:0,cm:ee,trailingSpace:!1,splitSpaces:ee.getOption("lineWrapping")};ae.measure={};for(var me=0;me<=(ae.rest?ae.rest.length:0);me++){var Se=me?ae.rest[me-1]:ae.line,Qe=void 0;ce.pos=0,ce.addToken=Lu,lo(ee.display.measure)&&(Qe=vi(Se,ee.doc.direction))&&(ce.addToken=fo(ce.addToken,Qe)),ce.map=[];var ct=ae!=ee.display.externalMeasured&&zr(Se);oc(Se,ce,na(ee,Se,ct)),Se.styleClasses&&(Se.styleClasses.bgClass&&(ce.bgClass=Mn(Se.styleClasses.bgClass,ce.bgClass||"")),Se.styleClasses.textClass&&(ce.textClass=Mn(Se.styleClasses.textClass,ce.textClass||""))),ce.map.length==0&&ce.map.push(0,0,ce.content.appendChild($o(ee.display.measure))),me==0?(ae.measure.map=ce.map,ae.measure.cache={}):((ae.measure.maps||(ae.measure.maps=[])).push(ce.map),(ae.measure.caches||(ae.measure.caches=[])).push({}))}if(Le){var xt=ce.content.lastChild;(/\bcm-tab\b/.test(xt.className)||xt.querySelector&&xt.querySelector(".cm-tab"))&&(ce.content.className="cm-tab-wrap-hack")}return qt(ee,"renderLine",ee,ae.line,ce.pre),ce.pre.className&&(ce.textClass=Mn(ce.pre.className,ce.textClass||"")),ce}function ku(ee){var ae=Vt("span","\u2022","cm-invalidchar");return ae.title="\\u"+ee.charCodeAt(0).toString(16),ae.setAttribute("aria-label",ae.title),ae}function Lu(ee,ae,de,ce,me,Se,Qe){if(ae){var ct=ee.splitSpaces?Cc(ae,ee.trailingSpace):ae,xt=ee.cm.state.specialChars,kt=!1,Yn;if(!xt.test(ae))ee.col+=ae.length,Yn=document.createTextNode(ct),ee.map.push(ee.pos,ee.pos+ae.length,Yn),Dt&&dt<9&&(kt=!0),ee.pos+=ae.length;else{Yn=document.createDocumentFragment();for(var vr=0;;){xt.lastIndex=vr;var bi=xt.exec(ae),si=bi?bi.index-vr:ae.length-vr;if(si){var xa=document.createTextNode(ct.slice(vr,vr+si));Dt&&dt<9?Yn.appendChild(Vt("span",[xa])):Yn.appendChild(xa),ee.map.push(ee.pos,ee.pos+si,xa),ee.col+=si,ee.pos+=si}if(!bi)break;vr+=si+1;var Ga=void 0;if(bi[0]==" "){var Zo=ee.cm.options.tabSize,Ps=Zo-ee.col%Zo;Ga=Yn.appendChild(Vt("span",Qn(Ps),"cm-tab")),Ga.setAttribute("role","presentation"),Ga.setAttribute("cm-text"," "),ee.col+=Ps}else bi[0]=="\r"||bi[0]==` -`?(Ga=Yn.appendChild(Vt("span",bi[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),Ga.setAttribute("cm-text",bi[0]),ee.col+=1):(Ga=ee.cm.options.specialCharPlaceholder(bi[0]),Ga.setAttribute("cm-text",bi[0]),Dt&&dt<9?Yn.appendChild(Vt("span",[Ga])):Yn.appendChild(Ga),ee.col+=1);ee.map.push(ee.pos,ee.pos+1,Ga),ee.pos++}}if(ee.trailingSpace=ct.charCodeAt(ae.length-1)==32,de||ce||me||kt||Se||Qe){var Zs=de||"";ce&&(Zs+=ce),me&&(Zs+=me);var cs=Vt("span",[Yn],Zs,Se);if(Qe)for(var qs in Qe)Qe.hasOwnProperty(qs)&&qs!="style"&&qs!="class"&&cs.setAttribute(qs,Qe[qs]);return ee.content.appendChild(cs)}ee.content.appendChild(Yn)}}function Cc(ee,ae){if(ee.length>1&&!/ /.test(ee))return ee;for(var de=ae,ce="",me=0;mekt&&vr.from<=kt));bi++);if(vr.to>=Yn)return ee(de,ce,me,Se,Qe,ct,xt);ee(de,ce.slice(0,vr.to-kt),me,Se,null,ct,xt),Se=null,ce=ce.slice(vr.to-kt),kt=vr.to}}}function Ql(ee,ae,de,ce){var me=!ce&&de.widgetNode;me&&ee.map.push(ee.pos,ee.pos+ae,me),!ce&&ee.cm.display.input.needsContentAttribute&&(me||(me=ee.content.appendChild(document.createElement("span"))),me.setAttribute("cm-marker",de.id)),me&&(ee.cm.display.input.setUneditable(me),ee.content.appendChild(me)),ee.pos+=ae,ee.trailingSpace=!1}function oc(ee,ae,de){var ce=ee.markedSpans,me=ee.text,Se=0;if(!ce){for(var Qe=1;Qext||ec.collapsed&&Cl.to==xt&&Cl.from==xt)){if(Cl.to!=null&&Cl.to!=xt&&si>Cl.to&&(si=Cl.to,Ga=""),ec.className&&(xa+=" "+ec.className),ec.css&&(bi=(bi?bi+";":"")+ec.css),ec.startStyle&&Cl.from==xt&&(Zo+=" "+ec.startStyle),ec.endStyle&&Cl.to==si&&(qs||(qs=[])).push(ec.endStyle,Cl.to),ec.title&&((Zs||(Zs={})).title=ec.title),ec.attributes)for(var Rc in ec.attributes)(Zs||(Zs={}))[Rc]=ec.attributes[Rc];ec.collapsed&&(!Ps||Na(Ps.marker,ec)<0)&&(Ps=Cl)}else Cl.from>xt&&si>Cl.from&&(si=Cl.from)}if(qs)for(var Md=0;Md=ct)break;for(var $d=Math.min(ct,si);;){if(Yn){var pf=xt+Yn.length;if(!Ps){var od=pf>$d?Yn.slice(0,$d-xt):Yn;ae.addToken(ae,od,vr?vr+xa:xa,Zo,xt+od.length==si?Ga:"",bi,Zs)}if(pf>=$d){Yn=Yn.slice($d-xt),xt=$d;break}xt=pf,Zo=""}Yn=me.slice(Se,Se=de[kt++]),vr=eu(de[kt++],ae.cm.options)}}}function us(ee,ae,de){this.line=ae,this.rest=hu(ae),this.size=this.rest?zr(Jn(this.rest))-de+1:1,this.node=this.text=null,this.hidden=vc(ee,ae)}function Hs(ee,ae,de){for(var ce=[],me,Se=ae;Se2&&Se.push((xt.bottom+kt.top)/2-de.top)}}Se.push(de.bottom-de.top)}}function Dl(ee,ae,de){if(ee.line==ae)return{map:ee.measure.map,cache:ee.measure.cache};for(var ce=0;cede)return{map:ee.measure.maps[me],cache:ee.measure.caches[me],before:!0}}function lu(ee,ae){ae=cc(ae);var de=zr(ae),ce=ee.display.externalMeasured=new us(ee.doc,ae,de);ce.lineN=de;var me=ce.built=vu(ee,ce);return ce.text=me.pre,Cn(ee.display.lineMeasure,me.pre),ce}function mc(ee,ae,de,ce){return Ml(ee,jl(ee,ae),de,ce)}function Ro(ee,ae){if(ae>=ee.display.viewFrom&&ae=de.lineN&&aeae)&&(Se=xt-ct,me=Se-1,ae>=xt&&(Qe="right")),me!=null){if(ce=ee[kt+2],ct==xt&&de==(ce.insertLeft?"left":"right")&&(Qe=de),de=="left"&&me==0)for(;kt&&ee[kt-2]==ee[kt-3]&&ee[kt-1].insertLeft;)ce=ee[(kt-=3)+2],Qe="left";if(de=="right"&&me==xt-ct)for(;kt=0&&(de=ee[me]).left==de.right;me--);return de}function ou(ee,ae,de,ce){var me=Co(ae.map,de,ce),Se=me.node,Qe=me.start,ct=me.end,xt=me.collapse,kt;if(Se.nodeType==3){for(var Yn=0;Yn<4;Yn++){for(;Qe&&wn(ae.line.text.charAt(me.coverStart+Qe));)--Qe;for(;me.coverStart+ct0&&(xt=ce="right");var vr;ee.options.lineWrapping&&(vr=Se.getClientRects()).length>1?kt=vr[ce=="right"?vr.length-1:0]:kt=Se.getBoundingClientRect()}if(Dt&&dt<9&&!Qe&&(!kt||!kt.left&&!kt.right)){var bi=Se.parentNode.getClientRects()[0];bi?kt={left:bi.left,right:bi.left+Io(ee.display),top:bi.top,bottom:bi.bottom}:kt=mu}for(var si=kt.top-ae.rect.top,xa=kt.bottom-ae.rect.top,Ga=(si+xa)/2,Zo=ae.view.measure.heights,Ps=0;Ps=ce.text.length?(xt=ce.text.length,kt="before"):xt<=0&&(xt=0,kt="after"),!ct)return Qe(kt=="before"?xt-1:xt,kt=="before");function Yn(xa,Ga,Zo){var Ps=ct[Ga],Zs=Ps.level==1;return Qe(Zo?xa-1:xa,Zs!=Zo)}var vr=dn(ct,xt,kt),bi=Xn,si=Yn(xt,vr,kt=="before");return bi!=null&&(si.other=Yn(xt,bi,kt!="before")),si}function uu(ee,ae){var de=0;ae=Nr(ee.doc,ae),ee.options.lineWrapping||(de=Io(ee.display)*ae.ch);var ce=yr(ee.doc,ae.line),me=to(ce)+Is(ee.display);return{left:de,right:de,top:me,bottom:me+ce.height}}function Ys(ee,ae,de,ce,me){var Se=Mr(ee,ae,de);return Se.xRel=me,ce&&(Se.outside=ce),Se}function hl(ee,ae,de){var ce=ee.doc;if(de+=ee.display.viewOffset,de<0)return Ys(ce.first,0,null,-1,-1);var me=ta(ce,de),Se=ce.first+ce.size-1;if(me>Se)return Ys(ce.first+ce.size-1,yr(ce,Se).text.length,null,1,1);ae<0&&(ae=0);for(var Qe=yr(ce,me);;){var ct=nu(ee,Qe,me,ae,de),xt=Xu(Qe,ct.ch+(ct.xRel>0||ct.outside>0?1:0));if(!xt)return ct;var kt=xt.find(1);if(kt.line==me)return kt;Qe=yr(ce,me=kt.line)}}function Rl(ee,ae,de,ce){ce-=$i(ae);var me=ae.text.length,Se=Zt(function(Qe){return Ml(ee,de,Qe-1).bottom<=ce},me,0);return me=Zt(function(Qe){return Ml(ee,de,Qe).top>ce},Se,me),{begin:Se,end:me}}function Yl(ee,ae,de,ce){de||(de=jl(ee,ae));var me=ol(ee,ae,Ml(ee,de,ce),"line").top;return Rl(ee,ae,de,me)}function Au(ee,ae,de,ce){return ee.bottom<=de?!1:ee.top>de?!0:(ce?ee.left:ee.right)>ae}function nu(ee,ae,de,ce,me){me-=to(ae);var Se=jl(ee,ae),Qe=$i(ae),ct=0,xt=ae.text.length,kt=!0,Yn=vi(ae,ee.doc.direction);if(Yn){var vr=(ee.options.lineWrapping?Kc:xc)(ee,ae,de,Se,Yn,ce,me);kt=vr.level!=1,ct=kt?vr.from:vr.to-1,xt=kt?vr.to:vr.from-1}var bi=null,si=null,xa=Zt(function(ml){var Cl=Ml(ee,Se,ml);return Cl.top+=Qe,Cl.bottom+=Qe,Au(Cl,ce,me,!1)?(Cl.top<=me&&Cl.left<=ce&&(bi=ml,si=Cl),!0):!1},ct,xt),Ga,Zo,Ps=!1;if(si){var Zs=ce-si.left=qs.bottom?1:0}return xa=Lt(ae.text,xa,1),Ys(de,xa,Zo,Ps,ce-Ga)}function xc(ee,ae,de,ce,me,Se,Qe){var ct=Zt(function(vr){var bi=me[vr],si=bi.level!=1;return Au(Zl(ee,Mr(de,si?bi.to:bi.from,si?"before":"after"),"line",ae,ce),Se,Qe,!0)},0,me.length-1),xt=me[ct];if(ct>0){var kt=xt.level!=1,Yn=Zl(ee,Mr(de,kt?xt.from:xt.to,kt?"after":"before"),"line",ae,ce);Au(Yn,Se,Qe,!0)&&Yn.top>Qe&&(xt=me[ct-1])}return xt}function Kc(ee,ae,de,ce,me,Se,Qe){var ct=Rl(ee,ae,ce,Qe),xt=ct.begin,kt=ct.end;/\s/.test(ae.text.charAt(kt-1))&&kt--;for(var Yn=null,vr=null,bi=0;bi=kt||si.to<=xt)){var xa=si.level!=1,Ga=Ml(ee,ce,xa?Math.min(kt,si.to)-1:Math.max(xt,si.from)).right,Zo=GaZo)&&(Yn=si,vr=Zo)}}return Yn||(Yn=me[me.length-1]),Yn.fromkt&&(Yn={from:Yn.from,to:kt,level:Yn.level}),Yn}var Dc;function Jl(ee){if(ee.cachedTextHeight!=null)return ee.cachedTextHeight;if(Dc==null){Dc=Vt("pre",null,"CodeMirror-line-like");for(var ae=0;ae<49;++ae)Dc.appendChild(document.createTextNode("x")),Dc.appendChild(Vt("br"));Dc.appendChild(document.createTextNode("x"))}Cn(ee.measure,Dc);var de=Dc.offsetHeight/50;return de>3&&(ee.cachedTextHeight=de),_n(ee.measure),de||1}function Io(ee){if(ee.cachedCharWidth!=null)return ee.cachedCharWidth;var ae=Vt("span","xxxxxxxxxx"),de=Vt("pre",[ae],"CodeMirror-line-like");Cn(ee.measure,de);var ce=ae.getBoundingClientRect(),me=(ce.right-ce.left)/10;return me>2&&(ee.cachedCharWidth=me),me||10}function fs(ee){for(var ae=ee.display,de={},ce={},me=ae.gutters.clientLeft,Se=ae.gutters.firstChild,Qe=0;Se;Se=Se.nextSibling,++Qe){var ct=ee.display.gutterSpecs[Qe].className;de[ct]=Se.offsetLeft+Se.clientLeft+me,ce[ct]=Se.clientWidth}return{fixedPos:Gu(ae),gutterTotalWidth:ae.gutters.offsetWidth,gutterLeft:de,gutterWidth:ce,wrapperWidth:ae.wrapper.clientWidth}}function Gu(ee){return ee.scroller.getBoundingClientRect().left-ee.sizer.getBoundingClientRect().left}function cl(ee){var ae=Jl(ee.display),de=ee.options.lineWrapping,ce=de&&Math.max(5,ee.display.scroller.clientWidth/Io(ee.display)-3);return function(me){if(vc(ee.doc,me))return 0;var Se=0;if(me.widgets)for(var Qe=0;Qe0&&(kt=yr(ee.doc,xt.line).text).length==xt.ch){var Yn=yt(kt,kt.length,ee.options.tabSize)-kt.length;xt=Mr(xt.line,Math.max(0,Math.round((Se-Gl(ee.display).left)/Io(ee.display))-Yn))}return xt}function Ha(ee,ae){if(ae>=ee.display.viewTo||(ae-=ee.display.viewFrom,ae<0))return null;for(var de=ee.display.view,ce=0;ceae)&&(me.updateLineNumbers=ae),ee.curOp.viewChanged=!0,ae>=me.viewTo)Us&&zu(ee.doc,ae)me.viewFrom?ru(ee):(me.viewFrom+=ce,me.viewTo+=ce);else if(ae<=me.viewFrom&&de>=me.viewTo)ru(ee);else if(ae<=me.viewFrom){var Se=Re(ee,de,de+ce,1);Se?(me.view=me.view.slice(Se.index),me.viewFrom=Se.lineN,me.viewTo+=ce):ru(ee)}else if(de>=me.viewTo){var Qe=Re(ee,ae,ae,-1);Qe?(me.view=me.view.slice(0,Qe.index),me.viewTo=Qe.lineN):ru(ee)}else{var ct=Re(ee,ae,ae,-1),xt=Re(ee,de,de+ce,1);ct&&xt?(me.view=me.view.slice(0,ct.index).concat(Hs(ee,ct.lineN,xt.lineN)).concat(me.view.slice(xt.index)),me.viewTo+=ce):ru(ee)}var kt=me.externalMeasured;kt&&(de=me.lineN&&ae=ce.viewTo)){var Se=ce.view[Ha(ee,ae)];if(Se.node!=null){var Qe=Se.changes||(Se.changes=[]);Rn(Qe,de)==-1&&Qe.push(de)}}}function ru(ee){ee.display.viewFrom=ee.display.viewTo=ee.doc.first,ee.display.view=[],ee.display.viewOffset=0}function Re(ee,ae,de,ce){var me=Ha(ee,ae),Se,Qe=ee.display.view;if(!Us||de==ee.doc.first+ee.doc.size)return{index:me,lineN:de};for(var ct=ee.display.viewFrom,xt=0;xt0){if(me==Qe.length-1)return null;Se=ct+Qe[me].size-ae,me++}else Se=ct-ae;ae+=Se,de+=Se}for(;zu(ee.doc,de)!=de;){if(me==(ce<0?0:Qe.length-1))return null;de+=ce*Qe[me-(ce<0?1:0)].size,me+=ce}return{index:me,lineN:de}}function $e(ee,ae,de){var ce=ee.display,me=ce.view;me.length==0||ae>=ce.viewTo||de<=ce.viewFrom?(ce.view=Hs(ee,ae,de),ce.viewFrom=ae):(ce.viewFrom>ae?ce.view=Hs(ee,ae,ce.viewFrom).concat(ce.view):ce.viewFromde&&(ce.view=ce.view.slice(0,Ha(ee,de)))),ce.viewTo=de}function nt(ee){for(var ae=ee.display.view,de=0,ce=0;ce=ee.display.viewTo||ct.to().line0?ae.blinker=setInterval(function(){ee.hasFocus()||ea(ee),ae.cursorDiv.style.visibility=(de=!de)?"":"hidden"},ee.options.cursorBlinkRate):ee.options.cursorBlinkRate<0&&(ae.cursorDiv.style.visibility="hidden")}}function Hi(ee){ee.state.focused||(ee.display.input.focus(),Ji(ee))}function Xa(ee){ee.state.delayingBlurEvent=!0,setTimeout(function(){ee.state.delayingBlurEvent&&(ee.state.delayingBlurEvent=!1,ea(ee))},100)}function Ji(ee,ae){ee.state.delayingBlurEvent&&(ee.state.delayingBlurEvent=!1),ee.options.readOnly!="nocursor"&&(ee.state.focused||(qt(ee,"focus",ee,ae),ee.state.focused=!0,Ln(ee.display.wrapper,"CodeMirror-focused"),!ee.curOp&&ee.display.selForContextMenu!=ee.doc.sel&&(ee.display.input.reset(),Le&&setTimeout(function(){return ee.display.input.reset(!0)},20)),ee.display.input.receivedFocus()),gi(ee))}function ea(ee,ae){ee.state.delayingBlurEvent||(ee.state.focused&&(qt(ee,"blur",ee,ae),ee.state.focused=!1,Sn(ee.display.wrapper,"CodeMirror-focused")),clearInterval(ee.display.blinker),setTimeout(function(){ee.state.focused||(ee.display.shift=!1)},150))}function fa(ee){for(var ae=ee.display,de=ae.lineDiv.offsetTop,ce=0;ce.005||Yn<-.005)&&(Ur(me.line,Qe),Ba(me.line),me.rest))for(var vr=0;vree.display.sizerWidth){var bi=Math.ceil(ct/Io(ee.display));bi>ee.display.maxLineLength&&(ee.display.maxLineLength=bi,ee.display.maxLine=me.line,ee.display.maxLineChanged=!0)}}}}function Ba(ee){if(ee.widgets)for(var ae=0;ae=Qe&&(Se=ta(ae,to(yr(ae,xt))-ee.wrapper.clientHeight),Qe=xt)}return{from:Se,to:Math.max(Qe,Se+1)}}function Ci(ee,ae){if(!gn(ee,"scrollCursorIntoView")){var de=ee.display,ce=de.sizer.getBoundingClientRect(),me=null;if(ae.top+ce.top<0?me=!0:ae.bottom+ce.top>(window.innerHeight||document.documentElement.clientHeight)&&(me=!1),me!=null&&!Ot){var Se=Vt("div","\u200B",null,`position: absolute; - top: `+(ae.top-de.viewOffset-Is(ee.display))+`px; - height: `+(ae.bottom-ae.top+Ul(ee)+de.barHeight)+`px; - left: `+ae.left+"px; width: "+Math.max(2,ae.right-ae.left)+"px;");ee.display.lineSpace.appendChild(Se),Se.scrollIntoView(me),ee.display.lineSpace.removeChild(Se)}}}function ya(ee,ae,de,ce){ce==null&&(ce=0);var me;!ee.options.lineWrapping&&ae==de&&(ae=ae.ch?Mr(ae.line,ae.sticky=="before"?ae.ch-1:ae.ch,"after"):ae,de=ae.sticky=="before"?Mr(ae.line,ae.ch+1,"before"):ae);for(var Se=0;Se<5;Se++){var Qe=!1,ct=Zl(ee,ae),xt=!de||de==ae?ct:Zl(ee,de);me={left:Math.min(ct.left,xt.left),top:Math.min(ct.top,xt.top)-ce,right:Math.max(ct.left,xt.left),bottom:Math.max(ct.bottom,xt.bottom)+ce};var kt=wo(ee,me),Yn=ee.doc.scrollTop,vr=ee.doc.scrollLeft;if(kt.scrollTop!=null&&(ni(ee,kt.scrollTop),Math.abs(ee.doc.scrollTop-Yn)>1&&(Qe=!0)),kt.scrollLeft!=null&&(iu(ee,kt.scrollLeft),Math.abs(ee.doc.scrollLeft-vr)>1&&(Qe=!0)),!Qe)break}return me}function ns(ee,ae){var de=wo(ee,ae);de.scrollTop!=null&&ni(ee,de.scrollTop),de.scrollLeft!=null&&iu(ee,de.scrollLeft)}function wo(ee,ae){var de=ee.display,ce=Jl(ee.display);ae.top<0&&(ae.top=0);var me=ee.curOp&&ee.curOp.scrollTop!=null?ee.curOp.scrollTop:de.scroller.scrollTop,Se=ao(ee),Qe={};ae.bottom-ae.top>Se&&(ae.bottom=ae.top+Se);var ct=ee.doc.height+fl(de),xt=ae.topct-ce;if(ae.topme+Se){var Yn=Math.min(ae.top,(kt?ct:ae.bottom)-Se);Yn!=me&&(Qe.scrollTop=Yn)}var vr=ee.options.fixedGutter?0:de.gutters.offsetWidth,bi=ee.curOp&&ee.curOp.scrollLeft!=null?ee.curOp.scrollLeft:de.scroller.scrollLeft-vr,si=Ko(ee)-de.gutters.offsetWidth,xa=ae.right-ae.left>si;return xa&&(ae.right=ae.left+si),ae.left<10?Qe.scrollLeft=0:ae.leftsi+bi-3&&(Qe.scrollLeft=ae.right+(xa?0:10)-si),Qe}function rs(ee,ae){ae!=null&&(Xl(ee),ee.curOp.scrollTop=(ee.curOp.scrollTop==null?ee.doc.scrollTop:ee.curOp.scrollTop)+ae)}function os(ee){Xl(ee);var ae=ee.getCursor();ee.curOp.scrollToPos={from:ae,to:ae,margin:ee.options.cursorScrollMargin}}function Vo(ee,ae,de){(ae!=null||de!=null)&&Xl(ee),ae!=null&&(ee.curOp.scrollLeft=ae),de!=null&&(ee.curOp.scrollTop=de)}function Lo(ee,ae){Xl(ee),ee.curOp.scrollToPos=ae}function Xl(ee){var ae=ee.curOp.scrollToPos;if(ae){ee.curOp.scrollToPos=null;var de=uu(ee,ae.from),ce=uu(ee,ae.to);Qs(ee,de,ce,ae.margin)}}function Qs(ee,ae,de,ce){var me=wo(ee,{left:Math.min(ae.left,de.left),top:Math.min(ae.top,de.top)-ce,right:Math.max(ae.right,de.right),bottom:Math.max(ae.bottom,de.bottom)+ce});Vo(ee,me.scrollLeft,me.scrollTop)}function ni(ee,ae){Math.abs(ee.doc.scrollTop-ae)<2||(se||Ta(ee,{top:ae}),Fl(ee,ae,!0),se&&Ta(ee),_r(ee,100))}function Fl(ee,ae,de){ae=Math.max(0,Math.min(ee.display.scroller.scrollHeight-ee.display.scroller.clientHeight,ae)),!(ee.display.scroller.scrollTop==ae&&!de)&&(ee.doc.scrollTop=ae,ee.display.scrollbars.setScrollTop(ae),ee.display.scroller.scrollTop!=ae&&(ee.display.scroller.scrollTop=ae))}function iu(ee,ae,de,ce){ae=Math.max(0,Math.min(ae,ee.display.scroller.scrollWidth-ee.display.scroller.clientWidth)),!((de?ae==ee.doc.scrollLeft:Math.abs(ee.doc.scrollLeft-ae)<2)&&!ce)&&(ee.doc.scrollLeft=ae,hs(ee),ee.display.scroller.scrollLeft!=ae&&(ee.display.scroller.scrollLeft=ae),ee.display.scrollbars.setScrollLeft(ae))}function Ou(ee){var ae=ee.display,de=ae.gutters.offsetWidth,ce=Math.round(ee.doc.height+fl(ee.display));return{clientHeight:ae.scroller.clientHeight,viewHeight:ae.wrapper.clientHeight,scrollWidth:ae.scroller.scrollWidth,clientWidth:ae.scroller.clientWidth,viewWidth:ae.wrapper.clientWidth,barLeft:ee.options.fixedGutter?de:0,docHeight:ce,scrollHeight:ce+Ul(ee)+ae.barHeight,nativeBarWidth:ae.nativeBarWidth,gutterWidth:de}}var bu=function(ee,ae,de){this.cm=de;var ce=this.vert=Vt("div",[Vt("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),me=this.horiz=Vt("div",[Vt("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ce.tabIndex=me.tabIndex=-1,ee(ce),ee(me),Pr(ce,"scroll",function(){ce.clientHeight&&ae(ce.scrollTop,"vertical")}),Pr(me,"scroll",function(){me.clientWidth&&ae(me.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,Dt&&dt<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};bu.prototype.update=function(ee){var ae=ee.scrollWidth>ee.clientWidth+1,de=ee.scrollHeight>ee.clientHeight+1,ce=ee.nativeBarWidth;if(de){this.vert.style.display="block",this.vert.style.bottom=ae?ce+"px":"0";var me=ee.viewHeight-(ae?ce:0);this.vert.firstChild.style.height=Math.max(0,ee.scrollHeight-ee.clientHeight+me)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(ae){this.horiz.style.display="block",this.horiz.style.right=de?ce+"px":"0",this.horiz.style.left=ee.barLeft+"px";var Se=ee.viewWidth-ee.barLeft-(de?ce:0);this.horiz.firstChild.style.width=Math.max(0,ee.scrollWidth-ee.clientWidth+Se)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&ee.clientHeight>0&&(ce==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:de?ce:0,bottom:ae?ce:0}},bu.prototype.setScrollLeft=function(ee){this.horiz.scrollLeft!=ee&&(this.horiz.scrollLeft=ee),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},bu.prototype.setScrollTop=function(ee){this.vert.scrollTop!=ee&&(this.vert.scrollTop=ee),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},bu.prototype.zeroWidthHack=function(){var ee=mt&&!wt?"12px":"18px";this.horiz.style.height=this.vert.style.width=ee,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new tt,this.disableVert=new tt},bu.prototype.enableZeroWidthBar=function(ee,ae,de){ee.style.pointerEvents="auto";function ce(){var me=ee.getBoundingClientRect(),Se=de=="vert"?document.elementFromPoint(me.right-1,(me.top+me.bottom)/2):document.elementFromPoint((me.right+me.left)/2,me.bottom-1);Se!=ee?ee.style.pointerEvents="none":ae.set(1e3,ce)}ae.set(1e3,ce)},bu.prototype.clear=function(){var ee=this.horiz.parentNode;ee.removeChild(this.horiz),ee.removeChild(this.vert)};var Ll=function(){};Ll.prototype.update=function(){return{bottom:0,right:0}},Ll.prototype.setScrollLeft=function(){},Ll.prototype.setScrollTop=function(){},Ll.prototype.clear=function(){};function Js(ee,ae){ae||(ae=Ou(ee));var de=ee.display.barWidth,ce=ee.display.barHeight;wl(ee,ae);for(var me=0;me<4&&de!=ee.display.barWidth||ce!=ee.display.barHeight;me++)de!=ee.display.barWidth&&ee.options.lineWrapping&&fa(ee),wl(ee,Ou(ee)),de=ee.display.barWidth,ce=ee.display.barHeight}function wl(ee,ae){var de=ee.display,ce=de.scrollbars.update(ae);de.sizer.style.paddingRight=(de.barWidth=ce.right)+"px",de.sizer.style.paddingBottom=(de.barHeight=ce.bottom)+"px",de.heightForcer.style.borderBottom=ce.bottom+"px solid transparent",ce.right&&ce.bottom?(de.scrollbarFiller.style.display="block",de.scrollbarFiller.style.height=ce.bottom+"px",de.scrollbarFiller.style.width=ce.right+"px"):de.scrollbarFiller.style.display="",ce.bottom&&ee.options.coverGutterNextToScrollbar&&ee.options.fixedGutter?(de.gutterFiller.style.display="block",de.gutterFiller.style.height=ce.bottom+"px",de.gutterFiller.style.width=ae.gutterWidth+"px"):de.gutterFiller.style.display=""}var Vl={native:bu,null:Ll};function Uu(ee){ee.display.scrollbars&&(ee.display.scrollbars.clear(),ee.display.scrollbars.addClass&&Sn(ee.display.wrapper,ee.display.scrollbars.addClass)),ee.display.scrollbars=new Vl[ee.options.scrollbarStyle](function(ae){ee.display.wrapper.insertBefore(ae,ee.display.scrollbarFiller),Pr(ae,"mousedown",function(){ee.state.focused&&setTimeout(function(){return ee.display.input.focus()},0)}),ae.setAttribute("cm-not-content","true")},function(ae,de){de=="horizontal"?iu(ee,ae):ni(ee,ae)},ee),ee.display.scrollbars.addClass&&Ln(ee.display.wrapper,ee.display.scrollbars.addClass)}var xu=0;function cu(ee){ee.curOp={cm:ee,viewChanged:!1,startHeight:ee.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++xu},fn(ee.curOp)}function pc(ee){var ae=ee.curOp;ae&&nr(ae,function(de){for(var ce=0;ce=de.viewTo)||de.maxLineChanged&&ae.options.lineWrapping,ee.update=ee.mustUpdate&&new Jr(ae,ee.mustUpdate&&{top:ee.scrollTop,ensure:ee.scrollToPos},ee.forceUpdate)}function ht(ee){ee.updatedDisplay=ee.mustUpdate&&pa(ee.cm,ee.update)}function Wt(ee){var ae=ee.cm,de=ae.display;ee.updatedDisplay&&fa(ae),ee.barMeasure=Ou(ae),de.maxLineChanged&&!ae.options.lineWrapping&&(ee.adjustWidthTo=mc(ae,de.maxLine,de.maxLine.text.length).left+3,ae.display.sizerWidth=ee.adjustWidthTo,ee.barMeasure.scrollWidth=Math.max(de.scroller.clientWidth,de.sizer.offsetLeft+ee.adjustWidthTo+Ul(ae)+ae.display.barWidth),ee.maxScrollLeft=Math.max(0,de.sizer.offsetLeft+ee.adjustWidthTo-Ko(ae))),(ee.updatedDisplay||ee.selectionChanged)&&(ee.preparedSelection=de.input.prepareSelection())}function cn(ee){var ae=ee.cm;ee.adjustWidthTo!=null&&(ae.display.sizer.style.minWidth=ee.adjustWidthTo+"px",ee.maxScrollLeft=ee.display.viewTo)){var de=+new Date+ee.options.workTime,ce=Qa(ee,ae.highlightFrontier),me=[];ae.iter(ce.line,Math.min(ae.first+ae.size,ee.display.viewTo+500),function(Se){if(ce.line>=ee.display.viewFrom){var Qe=Se.styles,ct=Se.text.length>ee.options.maxHighlightLength?st(ae.mode,ce.state):null,xt=ha(ee,Se,ce,!0);ct&&(ce.state=ct),Se.styles=xt.styles;var kt=Se.styleClasses,Yn=xt.classes;Yn?Se.styleClasses=Yn:kt&&(Se.styleClasses=null);for(var vr=!Qe||Qe.length!=Se.styles.length||kt!=Yn&&(!kt||!Yn||kt.bgClass!=Yn.bgClass||kt.textClass!=Yn.textClass),bi=0;!vr&&bide)return _r(ee,ee.options.workDelay),!0}),ae.highlightFrontier=ce.line,ae.modeFrontier=Math.max(ae.modeFrontier,ce.line),me.length&&Bn(ee,function(){for(var Se=0;Se=de.viewFrom&&ae.visible.to<=de.viewTo&&(de.updateLineNumbers==null||de.updateLineNumbers>=de.viewTo)&&de.renderedView==de.view&&nt(ee)==0)return!1;jo(ee)&&(ru(ee),ae.dims=fs(ee));var me=ce.first+ce.size,Se=Math.max(ae.visible.from-ee.options.viewportMargin,ce.first),Qe=Math.min(me,ae.visible.to+ee.options.viewportMargin);de.viewFromQe&&de.viewTo-Qe<20&&(Qe=Math.min(me,de.viewTo)),Us&&(Se=zu(ee.doc,Se),Qe=Mu(ee.doc,Qe));var ct=Se!=de.viewFrom||Qe!=de.viewTo||de.lastWrapHeight!=ae.wrapperHeight||de.lastWrapWidth!=ae.wrapperWidth;$e(ee,Se,Qe),de.viewOffset=to(yr(ee.doc,de.viewFrom)),ee.display.mover.style.top=de.viewOffset+"px";var xt=nt(ee);if(!ct&&xt==0&&!ae.force&&de.renderedView==de.view&&(de.updateLineNumbers==null||de.updateLineNumbers>=de.viewTo))return!1;var kt=Xi(ee);return xt>4&&(de.lineDiv.style.display="none"),hi(ee,de.updateLineNumbers,ae.dims),xt>4&&(de.lineDiv.style.display=""),de.renderedView=de.view,Wi(kt),_n(de.cursorDiv),_n(de.selectionDiv),de.gutters.style.height=de.sizer.style.minHeight=0,ct&&(de.lastWrapHeight=ae.wrapperHeight,de.lastWrapWidth=ae.wrapperWidth,_r(ee,400)),de.updateLineNumbers=null,!0}function la(ee,ae){for(var de=ae.viewport,ce=!0;;ce=!1){if(!ce||!ee.options.lineWrapping||ae.oldDisplayWidth==Ko(ee)){if(de&&de.top!=null&&(de={top:Math.min(ee.doc.height+fl(ee.display)-ao(ee),de.top)}),ae.visible=jr(ee.display,ee.doc,de),ae.visible.from>=ee.display.viewFrom&&ae.visible.to<=ee.display.viewTo)break}else ce&&(ae.visible=jr(ee.display,ee.doc,de));if(!pa(ee,ae))break;fa(ee);var me=Ou(ee);Yt(ee),Js(ee,me),So(ee,me),ae.force=!1}ae.signal(ee,"update",ee),(ee.display.viewFrom!=ee.display.reportedViewFrom||ee.display.viewTo!=ee.display.reportedViewTo)&&(ae.signal(ee,"viewportChange",ee,ee.display.viewFrom,ee.display.viewTo),ee.display.reportedViewFrom=ee.display.viewFrom,ee.display.reportedViewTo=ee.display.viewTo)}function Ta(ee,ae){var de=new Jr(ee,ae);if(pa(ee,de)){fa(ee),la(ee,de);var ce=Ou(ee);Yt(ee),Js(ee,ce),So(ee,ce),de.finish()}}function hi(ee,ae,de){var ce=ee.display,me=ee.options.lineNumbers,Se=ce.lineDiv,Qe=Se.firstChild;function ct(xa){var Ga=xa.nextSibling;return Le&&mt&&ee.display.currentWheelTarget==xa?xa.style.display="none":xa.parentNode.removeChild(xa),Ga}for(var xt=ce.view,kt=ce.viewFrom,Yn=0;Yn-1&&(si=!1),tl(ee,vr,kt,de)),si&&(_n(vr.lineNumber),vr.lineNumber.appendChild(document.createTextNode(pi(ee.options,kt)))),Qe=vr.node.nextSibling}kt+=vr.size}for(;Qe;)Qe=ct(Qe)}function Ia(ee){var ae=ee.gutters.offsetWidth;ee.sizer.style.marginLeft=ae+"px"}function So(ee,ae){ee.display.sizer.style.minHeight=ae.docHeight+"px",ee.display.heightForcer.style.top=ae.docHeight+"px",ee.display.gutters.style.height=ae.docHeight+ee.display.barHeight+Ul(ee)+"px"}function hs(ee){var ae=ee.display,de=ae.view;if(!(!ae.alignWidgets&&(!ae.gutters.firstChild||!ee.options.fixedGutter))){for(var ce=Gu(ae)-ae.scroller.scrollLeft+ee.doc.scrollLeft,me=ae.gutters.offsetWidth,Se=ce+"px",Qe=0;QeQe.clientWidth,xt=Qe.scrollHeight>Qe.clientHeight;if(ce&&ct||me&&xt){if(me&&mt&&Le){e:for(var kt=ae.target,Yn=Se.view;kt!=Qe;kt=kt.parentNode)for(var vr=0;vr=0&&sr(ee,ce.to())<=0)return de}return-1};var $r=function(ee,ae){this.anchor=ee,this.head=ae};$r.prototype.from=function(){return Zr(this.anchor,this.head)},$r.prototype.to=function(){return Er(this.anchor,this.head)},$r.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function pe(ee,ae,de){var ce=ee&&ee.options.selectionsMayTouch,me=ae[de];ae.sort(function(bi,si){return sr(bi.from(),si.from())}),de=Rn(ae,me);for(var Se=1;Se0:xt>=0){var kt=Zr(ct.from(),Qe.from()),Yn=Er(ct.to(),Qe.to()),vr=ct.empty()?Qe.from()==Qe.head:ct.from()==ct.head;Se<=de&&--de,ae.splice(--Se,2,new $r(vr?Yn:kt,vr?kt:Yn))}}return new jn(ae,de)}function Ee(ee,ae){return new jn([new $r(ee,ae||ee)],0)}function Be(ee){return ee.text?Mr(ee.from.line+ee.text.length-1,Jn(ee.text).length+(ee.text.length==1?ee.from.ch:0)):ee.to}function ke(ee,ae){if(sr(ee,ae.from)<0)return ee;if(sr(ee,ae.to)<=0)return Be(ae);var de=ee.line+ae.text.length-(ae.to.line-ae.from.line)-1,ce=ee.ch;return ee.line==ae.to.line&&(ce+=Be(ae).ch-ae.to.ch),Mr(de,ce)}function Ke(ee,ae){for(var de=[],ce=0;ce1&&ee.remove(ct.line+1,xa-1),ee.insert(ct.line+1,Ps)}Do(ee,"change",ee,ae)}function ln(ee,ae,de){function ce(me,Se,Qe){if(me.linked)for(var ct=0;ct1&&!ee.done[ee.done.length-2].ranges)return ee.done.pop(),Jn(ee.done)}function Kr(ee,ae,de,ce){var me=ee.history;me.undone.length=0;var Se=+new Date,Qe,ct;if((me.lastOp==ce||me.lastOrigin==ae.origin&&ae.origin&&(ae.origin.charAt(0)=="+"&&me.lastModTime>Se-(ee.cm?ee.cm.options.historyEventDelay:500)||ae.origin.charAt(0)=="*"))&&(Qe=Et(me,me.lastOp==ce)))ct=Jn(Qe.changes),sr(ae.from,ae.to)==0&&sr(ae.from,ct.to)==0?ct.to=Be(ae):Qe.changes.push(Dn(ee,ae));else{var xt=Jn(me.done);for((!xt||!xt.ranges)&&wi(ee.sel,me.done),Qe={changes:[Dn(ee,ae)],generation:me.generation},me.done.push(Qe);me.done.length>me.undoDepth;)me.done.shift(),me.done[0].ranges||me.done.shift()}me.done.push(de),me.generation=++me.maxGeneration,me.lastModTime=me.lastSelTime=Se,me.lastOp=me.lastSelOp=ce,me.lastOrigin=me.lastSelOrigin=ae.origin,ct||qt(ee,"historyAdded")}function Pi(ee,ae,de,ce){var me=ae.charAt(0);return me=="*"||me=="+"&&de.ranges.length==ce.ranges.length&&de.somethingSelected()==ce.somethingSelected()&&new Date-ee.history.lastSelTime<=(ee.cm?ee.cm.options.historyEventDelay:500)}function ja(ee,ae,de,ce){var me=ee.history,Se=ce&&ce.origin;de==me.lastSelOp||Se&&me.lastSelOrigin==Se&&(me.lastModTime==me.lastSelTime&&me.lastOrigin==Se||Pi(ee,Se,Jn(me.done),ae))?me.done[me.done.length-1]=ae:wi(ae,me.done),me.lastSelTime=+new Date,me.lastSelOrigin=Se,me.lastSelOp=de,ce&&ce.clearRedo!==!1&&En(me.undone)}function wi(ee,ae){var de=Jn(ae);de&&de.ranges&&de.equals(ee)||ae.push(ee)}function Ka(ee,ae,de,ce){var me=ae["spans_"+ee.id],Se=0;ee.iter(Math.max(ee.first,de),Math.min(ee.first+ee.size,ce),function(Qe){Qe.markedSpans&&((me||(me=ae["spans_"+ee.id]={}))[Se]=Qe.markedSpans),++Se})}function vo(ee){if(!ee)return null;for(var ae,de=0;de-1&&(Jn(ct)[vr]=kt[vr],delete kt[vr])}}return ce}function Mo(ee,ae,de,ce){if(ce){var me=ee.anchor;if(de){var Se=sr(ae,me)<0;Se!=sr(de,me)<0?(me=ae,ae=de):Se!=sr(ae,de)<0&&(ae=de)}return new $r(me,ae)}else return new $r(de||ae,ae)}function fr(ee,ae,de,ce,me){me==null&&(me=ee.cm&&(ee.cm.display.shift||ee.extend)),ma(ee,new jn([Mo(ee.sel.primary(),ae,de,me)],0),ce)}function tr(ee,ae,de){for(var ce=[],me=ee.cm&&(ee.cm.display.shift||ee.extend),Se=0;Se=ae.ch:ct.to>ae.ch))){if(me&&(qt(xt,"beforeCursorEnter"),xt.explicitlyCleared))if(Se.markedSpans){--Qe;continue}else break;if(!xt.atomic)continue;if(de){var vr=xt.find(ce<0?1:-1),bi=void 0;if((ce<0?Yn:kt)&&(vr=du(ee,vr,-ce,vr&&vr.line==ae.line?Se:null)),vr&&vr.line==ae.line&&(bi=sr(vr,de))&&(ce<0?bi<0:bi>0))return Ws(ee,vr,ae,ce,me)}var si=xt.find(ce<0?-1:1);return(ce<0?kt:Yn)&&(si=du(ee,si,ce,si.line==ae.line?Se:null)),si?Ws(ee,si,ae,ce,me):null}}return ae}function Vu(ee,ae,de,ce,me){var Se=ce||1,Qe=Ws(ee,ae,de,Se,me)||!me&&Ws(ee,ae,de,Se,!0)||Ws(ee,ae,de,-Se,me)||!me&&Ws(ee,ae,de,-Se,!0);return Qe||(ee.cantEdit=!0,Mr(ee.first,0))}function du(ee,ae,de,ce){return de<0&&ae.ch==0?ae.line>ee.first?Nr(ee,Mr(ae.line-1)):null:de>0&&ae.ch==(ce||yr(ee,ae.line)).text.length?ae.line=0;--me)dc(ee,{from:ce[me].from,to:ce[me].to,text:me?[""]:ae.text,origin:ae.origin});else dc(ee,ae)}}function dc(ee,ae){if(!(ae.text.length==1&&ae.text[0]==""&&sr(ae.from,ae.to)==0)){var de=Ke(ee,ae);Kr(ee,ae,de,ee.cm?ee.cm.curOp.id:NaN),Ic(ee,ae,de,ui(ee,ae));var ce=[];ln(ee,function(me,Se){!Se&&Rn(ce,me.history)==-1&&(rc(me.history,ae),ce.push(me.history)),Ic(me,ae,null,ui(me,ae))})}}function Nc(ee,ae,de){var ce=ee.cm&&ee.cm.state.suppressEdits;if(!(ce&&!de)){for(var me=ee.history,Se,Qe=ee.sel,ct=ae=="undo"?me.done:me.undone,xt=ae=="undo"?me.undone:me.done,kt=0;kt=0;--si){var xa=bi(si);if(xa)return xa.v}}}}function gd(ee,ae){if(ae!=0&&(ee.first+=ae,ee.sel=new jn(qn(ee.sel.ranges,function(me){return new $r(Mr(me.anchor.line+ae,me.anchor.ch),Mr(me.head.line+ae,me.head.ch))}),ee.sel.primIndex),ee.cm)){yl(ee.cm,ee.first,ee.first-ae,ae);for(var de=ee.cm.display,ce=de.viewFrom;ceee.lastLine())){if(ae.from.lineSe&&(ae={from:ae.from,to:Mr(Se,yr(ee,Se).text.length),text:[ae.text[0]],origin:ae.origin}),ae.removed=ci(ee,ae.from,ae.to),de||(de=Ke(ee,ae)),ee.cm?fd(ee.cm,ae,ce):Ht(ee,ae,ce),To(ee,de,In),ee.cantEdit&&Vu(ee,Mr(ee.firstLine(),0))&&(ee.cantEdit=!1)}}function fd(ee,ae,de){var ce=ee.doc,me=ee.display,Se=ae.from,Qe=ae.to,ct=!1,xt=Se.line;ee.options.lineWrapping||(xt=zr(cc(yr(ce,Se.line))),ce.iter(xt,Qe.line+1,function(si){if(si==me.maxLine)return ct=!0,!0})),ce.sel.contains(ae.from,ae.to)>-1&&gr(ee),Ht(ce,ae,de,cl(ee)),ee.options.lineWrapping||(ce.iter(xt,Se.line+ae.text.length,function(si){var xa=uo(si);xa>me.maxLineLength&&(me.maxLine=si,me.maxLineLength=xa,me.maxLineChanged=!0,ct=!1)}),ct&&(ee.curOp.updateMaxLine=!0)),sa(ce,Se.line),_r(ee,400);var kt=ae.text.length-(Qe.line-Se.line)-1;ae.full?yl(ee):Se.line==Qe.line&&ae.text.length==1&&!bt(ee.doc,ae)?Sl(ee,Se.line,"text"):yl(ee,Se.line,Qe.line+1,kt);var Yn=mr(ee,"changes"),vr=mr(ee,"change");if(vr||Yn){var bi={from:Se,to:Qe,text:ae.text,removed:ae.removed,origin:ae.origin};vr&&Do(ee,"change",ee,bi),Yn&&(ee.curOp.changeObjs||(ee.curOp.changeObjs=[])).push(bi)}ee.display.selForContextMenu=null}function yd(ee,ae,de,ce,me){var Se;ce||(ce=de),sr(ce,de)<0&&(Se=[ce,de],de=Se[0],ce=Se[1]),typeof ae=="string"&&(ae=ee.splitLines(ae)),_u(ee,{from:de,to:ce,text:ae,origin:me})}function hc(ee,ae,de,ce){de1||!(this.children[0]instanceof lc))){var ct=[];this.collapse(ct),this.children=[new lc(ct)],this.children[0].parent=this}},collapse:function(ee){for(var ae=0;ae50){for(var Qe=me.lines.length%25+25,ct=Qe;ct10);ee.parent.maybeSpill()}},iterN:function(ee,ae,de){for(var ce=0;ceee.display.maxLineLength&&(ee.display.maxLine=kt,ee.display.maxLineLength=Yn,ee.display.maxLineChanged=!0)}ce!=null&&ee&&this.collapsed&&yl(ee,ce,me+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,ee&&ia(ee.doc)),ee&&Do(ee,"markerCleared",ee,this,ce,me),ae&&pc(ee),this.parent&&this.parent.clear()}},vd.prototype.find=function(ee,ae){ee==null&&this.type=="bookmark"&&(ee=1);for(var de,ce,me=0;me0||Qe==0&&Se.clearWhenEmpty!==!1)return Se;if(Se.replacedWith&&(Se.collapsed=!0,Se.widgetNode=pn("span",[Se.replacedWith],"CodeMirror-widget"),ce.handleMouseEvents||Se.widgetNode.setAttribute("cm-ignore-events","true"),ce.insertLeft&&(Se.widgetNode.insertLeft=!0)),Se.collapsed){if(Su(ee,ae.line,ae,de,Se)||ae.line!=de.line&&Su(ee,de.line,ae,de,Se))throw new Error("Inserting collapsed marker partially overlapping an existing one");xs()}Se.addToHistory&&Kr(ee,{from:ae,to:de,origin:"markText"},ee.sel,NaN);var ct=ae.line,xt=ee.cm,kt;if(ee.iter(ct,de.line+1,function(vr){xt&&Se.collapsed&&!xt.options.lineWrapping&&cc(vr)==xt.display.maxLine&&(kt=!0),Se.collapsed&&ct!=ae.line&&Ur(vr,0),ll(vr,new Al(Se,ct==ae.line?ae.ch:null,ct==de.line?de.ch:null)),++ct}),Se.collapsed&&ee.iter(ae.line,de.line+1,function(vr){vc(ee,vr)&&Ur(vr,0)}),Se.clearOnEnter&&Pr(Se,"beforeCursorEnter",function(){return Se.clear()}),Se.readOnly&&(Ns(),(ee.history.done.length||ee.history.undone.length)&&ee.clearHistory()),Se.collapsed&&(Se.id=++Hc,Se.atomic=!0),xt){if(kt&&(xt.curOp.updateMaxLine=!0),Se.collapsed)yl(xt,ae.line,de.line+1);else if(Se.className||Se.startStyle||Se.endStyle||Se.css||Se.attributes||Se.title)for(var Yn=ae.line;Yn<=de.line;Yn++)Sl(xt,Yn,"text");Se.atomic&&ia(xt.doc),Do(xt,"markerAdded",xt,Se)}return Se}var ju=function(ee,ae){this.markers=ee,this.primary=ae;for(var de=0;de=0;xt--)_u(this,ce[xt]);ct?ki(this,ct):this.cm&&os(this.cm)}),undo:ar(function(){Nc(this,"undo")}),redo:ar(function(){Nc(this,"redo")}),undoSelection:ar(function(){Nc(this,"undo",!0)}),redoSelection:ar(function(){Nc(this,"redo",!0)}),setExtending:function(ee){this.extend=ee},getExtending:function(){return this.extend},historySize:function(){for(var ee=this.history,ae=0,de=0,ce=0;ce=ee.ch)&&ae.push(me.marker.parent||me.marker)}return ae},findMarks:function(ee,ae,de){ee=Nr(this,ee),ae=Nr(this,ae);var ce=[],me=ee.line;return this.iter(ee.line,ae.line+1,function(Se){var Qe=Se.markedSpans;if(Qe)for(var ct=0;ct=xt.to||xt.from==null&&me!=ee.line||xt.from!=null&&me==ae.line&&xt.from>=ae.ch)&&(!de||de(xt.marker))&&ce.push(xt.marker.parent||xt.marker)}++me}),ce},getAllMarks:function(){var ee=[];return this.iter(function(ae){var de=ae.markedSpans;if(de)for(var ce=0;ceee)return ae=ee,!0;ee-=Se,++de}),Nr(this,Mr(de,ae))},indexFromPos:function(ee){ee=Nr(this,ee);var ae=ee.ch;if(ee.lineae&&(ae=ee.from),ee.to!=null&&ee.to-1){ae.state.draggingText(ee),setTimeout(function(){return ae.display.input.focus()},20);return}try{var Yn=ee.dataTransfer.getData("Text");if(Yn){var vr;if(ae.state.draggingText&&!ae.state.draggingText.copy&&(vr=ae.listSelections()),To(ae.doc,Ee(de,de)),vr)for(var bi=0;bi=0;ct--)yd(ee.doc,"",ce[ct].from,ce[ct].to,"+delete");os(ee)})}function ad(ee,ae,de){var ce=Lt(ee.text,ae+de,de);return ce<0||ce>ee.text.length?null:ce}function wc(ee,ae,de){var ce=ad(ee,ae.ch,de);return ce==null?null:new Mr(ae.line,ce,de<0?"after":"before")}function Qu(ee,ae,de,ce,me){if(ee){ae.doc.direction=="rtl"&&(me=-me);var Se=vi(de,ae.doc.direction);if(Se){var Qe=me<0?Jn(Se):Se[0],ct=me<0==(Qe.level==1),xt=ct?"after":"before",kt;if(Qe.level>0||ae.doc.direction=="rtl"){var Yn=jl(ae,de);kt=me<0?de.text.length-1:0;var vr=Ml(ae,Yn,kt).top;kt=Zt(function(bi){return Ml(ae,Yn,bi).top==vr},me<0==(Qe.level==1)?Qe.from:Qe.to-1,kt),xt=="before"&&(kt=ad(de,kt,1))}else kt=me<0?Qe.to:Qe.from;return new Mr(ce,kt,xt)}}return new Mr(ce,me<0?de.text.length:0,me<0?"before":"after")}function fc(ee,ae,de,ce){var me=vi(ae,ee.doc.direction);if(!me)return wc(ae,de,ce);de.ch>=ae.text.length?(de.ch=ae.text.length,de.sticky="before"):de.ch<=0&&(de.ch=0,de.sticky="after");var Se=dn(me,de.ch,de.sticky),Qe=me[Se];if(ee.doc.direction=="ltr"&&Qe.level%2==0&&(ce>0?Qe.to>de.ch:Qe.from=Qe.from&&bi>=Yn.begin)){var si=vr?"before":"after";return new Mr(de.line,bi,si)}}var xa=function(Ps,Zs,cs){for(var qs=function(Rc,Md){return Md?new Mr(de.line,ct(Rc,1),"before"):new Mr(de.line,Rc,"after")};Ps>=0&&Ps0==(ml.level!=1),ec=Cl?cs.begin:ct(cs.end,-1);if(ml.from<=ec&&ec0?Yn.end:ct(Yn.begin,-1);return Zo!=null&&!(ce>0&&Zo==ae.text.length)&&(Ga=xa(ce>0?0:me.length-1,ce,kt(Zo)),Ga)?Ga:null}var hd={selectAll:Yu,singleSelection:function(ee){return ee.setSelection(ee.getCursor("anchor"),ee.getCursor("head"),In)},killLine:function(ee){return xd(ee,function(ae){if(ae.empty()){var de=yr(ee.doc,ae.head.line).text.length;return ae.head.ch==de&&ae.head.line0)me=new Mr(me.line,me.ch+1),ee.replaceRange(Se.charAt(me.ch-1)+Se.charAt(me.ch-2),Mr(me.line,me.ch-2),me,"+transpose");else if(me.line>ee.doc.first){var Qe=yr(ee.doc,me.line-1).text;Qe&&(me=new Mr(me.line,1),ee.replaceRange(Se.charAt(0)+ee.doc.lineSeparator()+Qe.charAt(Qe.length-1),Mr(me.line-1,Qe.length-1),me,"+transpose"))}}de.push(new $r(me,me))}ee.setSelections(de)})},newlineAndIndent:function(ee){return Bn(ee,function(){for(var ae=ee.listSelections(),de=ae.length-1;de>=0;de--)ee.replaceRange(ee.doc.lineSeparator(),ae[de].anchor,ae[de].head,"+input");ae=ee.listSelections();for(var ce=0;ceee&&sr(ae,this.pos)==0&&de==this.button};var Wd,gh;function A0(ee,ae){var de=+new Date;return gh&&gh.compare(de,ee,ae)?(Wd=gh=null,"triple"):Wd&&Wd.compare(de,ee,ae)?(gh=new Xh(de,ee,ae),Wd=null,"double"):(Wd=new Xh(de,ee,ae),gh=null,"single")}function Fc(ee){var ae=this,de=ae.display;if(!(gn(ae,ee)||de.activeTouch&&de.input.supportsTouch())){if(de.input.ensurePolled(),de.shift=ee.shiftKey,vl(de,ee)){Le||(de.scroller.draggable=!1,setTimeout(function(){return de.scroller.draggable=!0},100));return}if(!dl(ae,ee)){var ce=Mi(ae,ee),me=kn(ee),Se=ce?A0(ce,me):"single";window.focus(),me==1&&ae.state.selectingText&&ae.state.selectingText(ee),!(ce&&Wl(ae,me,ce,Se,ee))&&(me==1?ce?wh(ae,ce,Se,ee):co(ee)==de.scroller&&Ui(ee):me==2?(ce&&fr(ae.doc,ce),setTimeout(function(){return de.input.focus()},20)):me==3&&(Gt?ae.display.input.onContextMenu(ee):Xa(ae)))}}}function Wl(ee,ae,de,ce,me){var Se="Click";return ce=="double"?Se="Double"+Se:ce=="triple"&&(Se="Triple"+Se),Se=(ae==1?"Left":ae==2?"Middle":"Right")+Se,cf(ee,qd(Se,me),me,function(Qe){if(typeof Qe=="string"&&(Qe=hd[Qe]),!Qe)return!1;var ct=!1;try{ee.isReadOnly()&&(ee.state.suppressEdits=!0),ct=Qe(ee,de)!=li}finally{ee.state.suppressEdits=!1}return ct})}function df(ee,ae,de){var ce=ee.getOption("configureMouse"),me=ce?ce(ee,ae,de):{};if(me.unit==null){var Se=Jt?de.shiftKey&&de.metaKey:de.altKey;me.unit=Se?"rectangle":ae=="single"?"char":ae=="double"?"word":"line"}return(me.extend==null||ee.doc.extend)&&(me.extend=ee.doc.extend||de.shiftKey),me.addNew==null&&(me.addNew=mt?de.metaKey:de.ctrlKey),me.moveOnDrag==null&&(me.moveOnDrag=!(mt?de.altKey:de.ctrlKey)),me}function wh(ee,ae,de,ce){Dt?setTimeout(Dr(Hi,ee),0):ee.curOp.focus=Ct();var me=df(ee,de,ce),Se=ee.doc.sel,Qe;ee.options.dragDrop&&Yi&&!ee.isReadOnly()&&de=="single"&&(Qe=Se.contains(ae))>-1&&(sr((Qe=Se.ranges[Qe]).from(),ae)<0||ae.xRel>0)&&(sr(Qe.to(),ae)>0||ae.xRel<0)?Vh(ee,ce,ae,me):_d(ee,ce,ae,me)}function Vh(ee,ae,de,ce){var me=ee.display,Se=!1,Qe=dr(ee,function(kt){Le&&(me.scroller.draggable=!1),ee.state.draggingText=!1,on(me.wrapper.ownerDocument,"mouseup",Qe),on(me.wrapper.ownerDocument,"mousemove",ct),on(me.scroller,"dragstart",xt),on(me.scroller,"drop",Qe),Se||(Ui(kt),ce.addNew||fr(ee.doc,de,null,null,ce.extend),Le&&!vt||Dt&&dt==9?setTimeout(function(){me.wrapper.ownerDocument.body.focus({preventScroll:!0}),me.input.focus()},20):me.input.focus())}),ct=function(kt){Se=Se||Math.abs(ae.clientX-kt.clientX)+Math.abs(ae.clientY-kt.clientY)>=10},xt=function(){return Se=!0};Le&&(me.scroller.draggable=!0),ee.state.draggingText=Qe,Qe.copy=!ce.moveOnDrag,me.scroller.dragDrop&&me.scroller.dragDrop(),Pr(me.wrapper.ownerDocument,"mouseup",Qe),Pr(me.wrapper.ownerDocument,"mousemove",ct),Pr(me.scroller,"dragstart",xt),Pr(me.scroller,"drop",Qe),Xa(ee),setTimeout(function(){return me.input.focus()},20)}function Pf(ee,ae,de){if(de=="char")return new $r(ae,ae);if(de=="word")return ee.findWordAt(ae);if(de=="line")return new $r(Mr(ae.line,0),Nr(ee.doc,Mr(ae.line+1,0)));var ce=de(ee,ae);return new $r(ce.from,ce.to)}function _d(ee,ae,de,ce){var me=ee.display,Se=ee.doc;Ui(ae);var Qe,ct,xt=Se.sel,kt=xt.ranges;if(ce.addNew&&!ce.extend?(ct=Se.sel.contains(de),ct>-1?Qe=kt[ct]:Qe=new $r(de,de)):(Qe=Se.sel.primary(),ct=Se.sel.primIndex),ce.unit=="rectangle")ce.addNew||(Qe=new $r(de,de)),de=Mi(ee,ae,!0,!0),ct=-1;else{var Yn=Pf(ee,de,ce.unit);ce.extend?Qe=Mo(Qe,Yn.anchor,Yn.head,ce.extend):Qe=Yn}ce.addNew?ct==-1?(ct=kt.length,ma(Se,pe(ee,kt.concat([Qe]),ct),{scroll:!1,origin:"*mouse"})):kt.length>1&&kt[ct].empty()&&ce.unit=="char"&&!ce.extend?(ma(Se,pe(ee,kt.slice(0,ct).concat(kt.slice(ct+1)),0),{scroll:!1,origin:"*mouse"}),xt=Se.sel):Fi(Se,ct,Qe,an):(ct=0,ma(Se,new jn([Qe],0),an),xt=Se.sel);var vr=de;function bi(cs){if(sr(vr,cs)!=0)if(vr=cs,ce.unit=="rectangle"){for(var qs=[],ml=ee.options.tabSize,Cl=yt(yr(Se,de.line).text,de.ch,ml),ec=yt(yr(Se,cs.line).text,cs.ch,ml),Rc=Math.min(Cl,ec),Md=Math.max(Cl,ec),Jc=Math.min(de.line,cs.line),$d=Math.min(ee.lastLine(),Math.max(de.line,cs.line));Jc<=$d;Jc++){var pf=yr(Se,Jc).text,od=Or(pf,Rc,ml);Rc==Md?qs.push(new $r(Mr(Jc,od),Mr(Jc,od))):pf.length>od&&qs.push(new $r(Mr(Jc,od),Mr(Jc,Or(pf,Md,ml))))}qs.length||qs.push(new $r(de,de)),ma(Se,pe(ee,xt.ranges.slice(0,ct).concat(qs),ct),{origin:"*mouse",scroll:!1}),ee.scrollIntoView(cs)}else{var ef=Qe,Du=Pf(ee,cs,ce.unit),ed=ef.anchor,qc;sr(Du.anchor,ed)>0?(qc=Du.head,ed=Zr(ef.from(),Du.anchor)):(qc=Du.anchor,ed=Er(ef.to(),Du.head));var ss=xt.ranges.slice(0);ss[ct]=$u(ee,new $r(Nr(Se,ed),qc)),ma(Se,pe(ee,ss,ct),an)}}var si=me.wrapper.getBoundingClientRect(),xa=0;function Ga(cs){var qs=++xa,ml=Mi(ee,cs,!0,ce.unit=="rectangle");if(ml)if(sr(ml,vr)!=0){ee.curOp.focus=Ct(),bi(ml);var Cl=jr(me,Se);(ml.line>=Cl.to||ml.linesi.bottom?20:0;ec&&setTimeout(dr(ee,function(){xa==qs&&(me.scroller.scrollTop+=ec,Ga(cs))}),50)}}function Zo(cs){ee.state.selectingText=!1,xa=1/0,cs&&(Ui(cs),me.input.focus()),on(me.wrapper.ownerDocument,"mousemove",Ps),on(me.wrapper.ownerDocument,"mouseup",Zs),Se.history.lastSelOrigin=null}var Ps=dr(ee,function(cs){cs.buttons===0||!kn(cs)?Zo(cs):Ga(cs)}),Zs=dr(ee,Zo);ee.state.selectingText=Zs,Pr(me.wrapper.ownerDocument,"mousemove",Ps),Pr(me.wrapper.ownerDocument,"mouseup",Zs)}function $u(ee,ae){var de=ae.anchor,ce=ae.head,me=yr(ee.doc,de.line);if(sr(de,ce)==0&&de.sticky==ce.sticky)return ae;var Se=vi(me);if(!Se)return ae;var Qe=dn(Se,de.ch,de.sticky),ct=Se[Qe];if(ct.from!=de.ch&&ct.to!=de.ch)return ae;var xt=Qe+(ct.from==de.ch==(ct.level!=1)?0:1);if(xt==0||xt==Se.length)return ae;var kt;if(ce.line!=de.line)kt=(ce.line-de.line)*(ee.doc.direction=="ltr"?1:-1)>0;else{var Yn=dn(Se,ce.ch,ce.sticky),vr=Yn-Qe||(ce.ch-de.ch)*(ct.level==1?-1:1);Yn==xt-1||Yn==xt?kt=vr<0:kt=vr>0}var bi=Se[xt+(kt?-1:0)],si=kt==(bi.level==1),xa=si?bi.from:bi.to,Ga=si?"after":"before";return de.ch==xa&&de.sticky==Ga?ae:new $r(new Mr(de.line,xa,Ga),ce)}function sl(ee,ae,de,ce){var me,Se;if(ae.touches)me=ae.touches[0].clientX,Se=ae.touches[0].clientY;else try{me=ae.clientX,Se=ae.clientY}catch(bi){return!1}if(me>=Math.floor(ee.display.gutters.getBoundingClientRect().right))return!1;ce&&Ui(ae);var Qe=ee.display,ct=Qe.lineDiv.getBoundingClientRect();if(Se>ct.bottom||!mr(ee,de))return Fa(ae);Se-=ct.top-Qe.viewOffset;for(var xt=0;xt=me){var Yn=ta(ee.doc,Se),vr=ee.display.gutterSpecs[xt];return qt(ee,de,ee,Yn,vr.className,ae),Fa(ae)}}}function dl(ee,ae){return sl(ee,ae,"gutterClick",!0)}function Wu(ee,ae){vl(ee.display,ae)||Qc(ee,ae)||gn(ee,ae,"contextmenu")||Gt||ee.display.input.onContextMenu(ae)}function Qc(ee,ae){return mr(ee,"gutterContextMenu")?sl(ee,ae,"gutterContextMenu",!1):!1}function Gf(ee){ee.display.wrapper.className=ee.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+ee.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Pl(ee)}var Ed={toString:function(){return"CodeMirror.Init"}},ff={},Sf={};function Fh(ee){var ae=ee.optionHandlers;function de(ce,me,Se,Qe){ee.defaults[ce]=me,Se&&(ae[ce]=Qe?function(ct,xt,kt){kt!=Ed&&Se(ct,xt,kt)}:Se)}ee.defineOption=de,ee.Init=Ed,de("value","",function(ce,me){return ce.setValue(me)},!0),de("mode",null,function(ce,me){ce.doc.modeOption=me,at(ce)},!0),de("indentUnit",2,at,!0),de("indentWithTabs",!1),de("smartIndent",!0),de("tabSize",4,function(ce){Pt(ce),Pl(ce),yl(ce)},!0),de("lineSeparator",null,function(ce,me){if(ce.doc.lineSep=me,!!me){var Se=[],Qe=ce.doc.first;ce.doc.iter(function(xt){for(var kt=0;;){var Yn=xt.text.indexOf(me,kt);if(Yn==-1)break;kt=Yn+me.length,Se.push(Mr(Qe,Yn))}Qe++});for(var ct=Se.length-1;ct>=0;ct--)yd(ce.doc,me,Se[ct],Mr(Se[ct].line,Se[ct].ch+me.length))}}),de("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(ce,me,Se){ce.state.specialChars=new RegExp(me.source+(me.test(" ")?"":"| "),"g"),Se!=Ed&&ce.refresh()}),de("specialCharPlaceholder",ku,function(ce){return ce.refresh()},!0),de("electricChars",!0),de("inputStyle",pt?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),de("spellcheck",!1,function(ce,me){return ce.getInputField().spellcheck=me},!0),de("autocorrect",!1,function(ce,me){return ce.getInputField().autocorrect=me},!0),de("autocapitalize",!1,function(ce,me){return ce.getInputField().autocapitalize=me},!0),de("rtlMoveVisually",!Qt),de("wholeLineUpdateBefore",!0),de("theme","default",function(ce){Gf(ce),ho(ce)},!0),de("keyMap","default",function(ce,me,Se){var Qe=id(me),ct=Se!=Ed&&id(Se);ct&&ct.detach&&ct.detach(ce,Qe),Qe.attach&&Qe.attach(ce,ct||null)}),de("extraKeys",null),de("configureMouse",null),de("lineWrapping",!1,kd,!0),de("gutters",[],function(ce,me){ce.display.gutterSpecs=ms(me,ce.options.lineNumbers),ho(ce)},!0),de("fixedGutter",!0,function(ce,me){ce.display.gutters.style.left=me?Gu(ce.display)+"px":"0",ce.refresh()},!0),de("coverGutterNextToScrollbar",!1,function(ce){return Js(ce)},!0),de("scrollbarStyle","native",function(ce){Uu(ce),Js(ce),ce.display.scrollbars.setScrollTop(ce.doc.scrollTop),ce.display.scrollbars.setScrollLeft(ce.doc.scrollLeft)},!0),de("lineNumbers",!1,function(ce,me){ce.display.gutterSpecs=ms(ce.options.gutters,me),ho(ce)},!0),de("firstLineNumber",1,ho,!0),de("lineNumberFormatter",function(ce){return ce},ho,!0),de("showCursorWhenSelecting",!1,Yt,!0),de("resetSelectionOnContextMenu",!0),de("lineWiseCopyCut",!0),de("pasteLinesPerSelection",!0),de("selectionsMayTouch",!1),de("readOnly",!1,function(ce,me){me=="nocursor"&&(ea(ce),ce.display.input.blur()),ce.display.input.readOnlyChanged(me)}),de("screenReaderLabel",null,function(ce,me){me=me===""?null:me,ce.display.input.screenReaderLabelChanged(me)}),de("disableInput",!1,function(ce,me){me||ce.display.input.reset()},!0),de("dragDrop",!0,nh),de("allowDropFileTypes",null),de("cursorBlinkRate",530),de("cursorScrollMargin",0),de("cursorHeight",1,Yt,!0),de("singleCursorHeightPerLine",!0,Yt,!0),de("workTime",100),de("workDelay",100),de("flattenSpans",!0,Pt,!0),de("addModeClass",!1,Pt,!0),de("pollInterval",100),de("undoDepth",200,function(ce,me){return ce.doc.history.undoDepth=me}),de("historyEventDelay",1250),de("viewportMargin",10,function(ce){return ce.refresh()},!0),de("maxHighlightLength",1e4,Pt,!0),de("moveInputWithCursor",!0,function(ce,me){me||ce.display.input.resetPosition()}),de("tabindex",null,function(ce,me){return ce.display.input.getField().tabIndex=me||""}),de("autofocus",null),de("direction","ltr",function(ce,me){return ce.doc.setDirection(me)},!0),de("phrases",null)}function nh(ee,ae,de){var ce=de&&de!=Ed;if(!ae!=!ce){var me=ee.display.dragFunctions,Se=ae?Pr:on;Se(ee.display.scroller,"dragstart",me.start),Se(ee.display.scroller,"dragenter",me.enter),Se(ee.display.scroller,"dragover",me.over),Se(ee.display.scroller,"dragleave",me.leave),Se(ee.display.scroller,"drop",me.drop)}}function kd(ee){ee.options.lineWrapping?(Ln(ee.display.wrapper,"CodeMirror-wrap"),ee.display.sizer.style.minWidth="",ee.display.sizerWidth=null):(Sn(ee.display.wrapper,"CodeMirror-wrap"),no(ee)),Iu(ee),yl(ee),Pl(ee),setTimeout(function(){return Js(ee)},100)}function su(ee,ae){var de=this;if(!(this instanceof su))return new su(ee,ae);this.options=ae=ae?oi(ae):{},oi(ff,ae,!1);var ce=ae.value;typeof ce=="string"?ce=new Xc(ce,ae.mode,null,ae.lineSeparator,ae.direction):ae.mode&&(ce.modeOption=ae.mode),this.doc=ce;var me=new su.inputStyles[ae.inputStyle](this),Se=this.display=new is(ee,ce,me,ae);Se.wrapper.CodeMirror=this,Gf(this),ae.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Uu(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new tt,keySeq:null,specialChars:null},ae.autofocus&&!pt&&Se.input.focus(),Dt&&dt<11&&setTimeout(function(){return de.display.input.reset(!0)},20),up(this),Mh(),cu(this),this.curOp.forceUpdate=!0,rn(this,ce),ae.autofocus&&!pt||this.hasFocus()?setTimeout(function(){de.hasFocus()&&!de.state.focused&&Ji(de)},20):ea(this);for(var Qe in Sf)Sf.hasOwnProperty(Qe)&&Sf[Qe](this,ae[Qe],Ed);jo(this),ae.finishInit&&ae.finishInit(this);for(var ct=0;ct20*20}Pr(ae.scroller,"touchstart",function(xt){if(!gn(ee,xt)&&!Se(xt)&&!dl(ee,xt)){ae.input.ensurePolled(),clearTimeout(de);var kt=+new Date;ae.activeTouch={start:kt,moved:!1,prev:kt-ce.end<=300?ce:null},xt.touches.length==1&&(ae.activeTouch.left=xt.touches[0].pageX,ae.activeTouch.top=xt.touches[0].pageY)}}),Pr(ae.scroller,"touchmove",function(){ae.activeTouch&&(ae.activeTouch.moved=!0)}),Pr(ae.scroller,"touchend",function(xt){var kt=ae.activeTouch;if(kt&&!vl(ae,xt)&&kt.left!=null&&!kt.moved&&new Date-kt.start<300){var Yn=ee.coordsChar(ae.activeTouch,"page"),vr;!kt.prev||Qe(kt,kt.prev)?vr=new $r(Yn,Yn):!kt.prev.prev||Qe(kt,kt.prev.prev)?vr=ee.findWordAt(Yn):vr=new $r(Mr(Yn.line,0),Nr(ee.doc,Mr(Yn.line+1,0))),ee.setSelection(vr.anchor,vr.head),ee.focus(),Ui(xt)}me()}),Pr(ae.scroller,"touchcancel",me),Pr(ae.scroller,"scroll",function(){ae.scroller.clientHeight&&(ni(ee,ae.scroller.scrollTop),iu(ee,ae.scroller.scrollLeft,!0),qt(ee,"scroll",ee))}),Pr(ae.scroller,"mousewheel",function(xt){return bl(ee,xt)}),Pr(ae.scroller,"DOMMouseScroll",function(xt){return bl(ee,xt)}),Pr(ae.wrapper,"scroll",function(){return ae.wrapper.scrollTop=ae.wrapper.scrollLeft=0}),ae.dragFunctions={enter:function(xt){gn(ee,xt)||_o(xt)},over:function(xt){gn(ee,xt)||(qf(ee,xt),_o(xt))},start:function(xt){return Eh(ee,xt)},drop:dr(ee,Sh),leave:function(xt){gn(ee,xt)||Yd(ee)}};var ct=ae.input.getField();Pr(ct,"keyup",function(xt){return ph.call(ee,xt)}),Pr(ct,"keydown",dr(ee,Nh)),Pr(ct,"keypress",dr(ee,Kf)),Pr(ct,"focus",function(xt){return Ji(ee,xt)}),Pr(ct,"blur",function(xt){return ea(ee,xt)})}var y0=[];su.defineInitHook=function(ee){return y0.push(ee)};function kf(ee,ae,de,ce){var me=ee.doc,Se;de==null&&(de="add"),de=="smart"&&(me.mode.indent?Se=Qa(ee,ae).state:de="prev");var Qe=ee.options.tabSize,ct=yr(me,ae),xt=yt(ct.text,null,Qe);ct.stateAfter&&(ct.stateAfter=null);var kt=ct.text.match(/^\s*/)[0],Yn;if(!ce&&!/\S/.test(ct.text))Yn=0,de="not";else if(de=="smart"&&(Yn=me.mode.indent(Se,ct.text.slice(kt.length),ct.text),Yn==li||Yn>150)){if(!ce)return;de="prev"}de=="prev"?ae>me.first?Yn=yt(yr(me,ae-1).text,null,Qe):Yn=0:de=="add"?Yn=xt+ee.options.indentUnit:de=="subtract"?Yn=xt-ee.options.indentUnit:typeof de=="number"&&(Yn=xt+de),Yn=Math.max(0,Yn);var vr="",bi=0;if(ee.options.indentWithTabs)for(var si=Math.floor(Yn/Qe);si;--si)bi+=Qe,vr+=" ";if(biQe,xt=Qr(ae),kt=null;if(ct&&ce.ranges.length>1)if(rh&&rh.text.join(` -`)==ae){if(ce.ranges.length%rh.text.length==0){kt=[];for(var Yn=0;Yn=0;bi--){var si=ce.ranges[bi],xa=si.from(),Ga=si.to();si.empty()&&(de&&de>0?xa=Mr(xa.line,xa.ch-de):ee.state.overwrite&&!ct?Ga=Mr(Ga.line,Math.min(yr(Se,Ga.line).text.length,Ga.ch+Jn(xt).length)):ct&&rh&&rh.lineWise&&rh.text.join(` -`)==xt.join(` -`)&&(xa=Ga=Mr(xa.line,0)));var Zo={from:xa,to:Ga,text:kt?kt[bi%kt.length]:xt,origin:me||(ct?"paste":ee.state.cutIncoming>Qe?"cut":"+input")};_u(ee.doc,Zo),Do(ee,"inputRead",ee,Zo)}ae&&!ct&&s0(ee,ae),os(ee),ee.curOp.updateInput<2&&(ee.curOp.updateInput=vr),ee.curOp.typing=!0,ee.state.pasteIncoming=ee.state.cutIncoming=-1}function b0(ee,ae){var de=ee.clipboardData&&ee.clipboardData.getData("Text");if(de)return ee.preventDefault(),!ae.isReadOnly()&&!ae.options.disableInput&&Bn(ae,function(){return o0(ae,de,0,null,"paste")}),!0}function s0(ee,ae){if(!(!ee.options.electricChars||!ee.options.smartIndent))for(var de=ee.doc.sel,ce=de.ranges.length-1;ce>=0;ce--){var me=de.ranges[ce];if(!(me.head.ch>100||ce&&de.ranges[ce-1].head.line==me.head.line)){var Se=ee.getModeAt(me.head),Qe=!1;if(Se.electricChars){for(var ct=0;ct-1){Qe=kf(ee,me.head.line,"smart");break}}else Se.electricInput&&Se.electricInput.test(yr(ee.doc,me.head.line).text.slice(0,me.head.ch))&&(Qe=kf(ee,me.head.line,"smart"));Qe&&Do(ee,"electricInput",ee,me.head.line)}}}function Ch(ee){for(var ae=[],de=[],ce=0;ceSe&&(kf(this,ct.head.line,ce,!0),Se=ct.head.line,Qe==this.doc.sel.primIndex&&os(this));else{var xt=ct.from(),kt=ct.to(),Yn=Math.max(Se,xt.line);Se=Math.min(this.lastLine(),kt.line-(kt.ch?0:1))+1;for(var vr=Yn;vr0&&Fi(this.doc,Qe,new $r(xt,bi[Qe].to()),In)}}}),getTokenAt:function(ce,me){return Fo(this,ce,me)},getLineTokens:function(ce,me){return Fo(this,Mr(ce),me,!0)},getTokenTypeAt:function(ce){ce=Nr(this.doc,ce);var me=na(this,yr(this.doc,ce.line)),Se=0,Qe=(me.length-1)/2,ct=ce.ch,xt;if(ct==0)xt=me[2];else for(;;){var kt=Se+Qe>>1;if((kt?me[kt*2-1]:0)>=ct)Qe=kt;else if(me[kt*2+1]xt&&(ce=xt,Qe=!0),ct=yr(this.doc,ce)}else ct=ce;return ol(this,ct,{top:0,left:0},me||"page",Se||Qe).top+(Qe?this.doc.height-to(ct):0)},defaultTextHeight:function(){return Jl(this.display)},defaultCharWidth:function(){return Io(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(ce,me,Se,Qe,ct){var xt=this.display;ce=Zl(this,Nr(this.doc,ce));var kt=ce.bottom,Yn=ce.left;if(me.style.position="absolute",me.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(me),xt.sizer.appendChild(me),Qe=="over")kt=ce.top;else if(Qe=="above"||Qe=="near"){var vr=Math.max(xt.wrapper.clientHeight,this.doc.height),bi=Math.max(xt.sizer.clientWidth,xt.lineSpace.clientWidth);(Qe=="above"||ce.bottom+me.offsetHeight>vr)&&ce.top>me.offsetHeight?kt=ce.top-me.offsetHeight:ce.bottom+me.offsetHeight<=vr&&(kt=ce.bottom),Yn+me.offsetWidth>bi&&(Yn=bi-me.offsetWidth)}me.style.top=kt+"px",me.style.left=me.style.right="",ct=="right"?(Yn=xt.sizer.clientWidth-me.offsetWidth,me.style.right="0px"):(ct=="left"?Yn=0:ct=="middle"&&(Yn=(xt.sizer.clientWidth-me.offsetWidth)/2),me.style.left=Yn+"px"),Se&&ns(this,{left:Yn,top:kt,right:Yn+me.offsetWidth,bottom:kt+me.offsetHeight})},triggerOnKeyDown:pr(Nh),triggerOnKeyPress:pr(Kf),triggerOnKeyUp:ph,triggerOnMouseDown:pr(Fc),execCommand:function(ce){if(hd.hasOwnProperty(ce))return hd[ce].call(null,this)},triggerElectric:pr(function(ce){s0(this,ce)}),findPosH:function(ce,me,Se,Qe){var ct=1;me<0&&(ct=-1,me=-me);for(var xt=Nr(this.doc,ce),kt=0;kt0&&Yn(Se.charAt(Qe-1));)--Qe;for(;ct.5||this.options.lineWrapping)&&Iu(this),qt(this,"refresh",this)}),swapDoc:pr(function(ce){var me=this.doc;return me.cm=null,this.state.selectingText&&this.state.selectingText(),rn(this,ce),Pl(this),this.display.input.reset(),Vo(this,ce.scrollLeft,ce.scrollTop),this.curOp.forceScroll=!0,Do(this,"swapDoc",this,me),me}),phrase:function(ce){var me=this.options.phrases;return me&&Object.prototype.hasOwnProperty.call(me,ce)?me[ce]:ce},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xi(ee),ee.registerHelper=function(ce,me,Se){de.hasOwnProperty(ce)||(de[ce]=ee[ce]={_global:[]}),de[ce][me]=Se},ee.registerGlobalHelper=function(ce,me,Se,Qe){ee.registerHelper(ce,me,Qe),de[ce]._global.push({pred:Se,val:Qe})}}function Qh(ee,ae,de,ce,me){var Se=ae,Qe=de,ct=yr(ee,ae.line),xt=me&&ee.direction=="rtl"?-de:de;function kt(){var Zs=ae.line+xt;return Zs=ee.first+ee.size?!1:(ae=new Mr(Zs,ae.ch,ae.sticky),ct=yr(ee,Zs))}function Yn(Zs){var cs;if(ce=="codepoint"){var qs=ct.text.charCodeAt(ae.ch+(ce>0?0:-1));isNaN(qs)?cs=null:cs=new Mr(ae.line,Math.max(0,Math.min(ct.text.length,ae.ch+de*(qs>=55296&&qs<56320?2:1))),-de)}else me?cs=fc(ee.cm,ct,ae,de):cs=wc(ct,ae,de);if(cs==null)if(!Zs&&kt())ae=Qu(me,ee.cm,ct,ae.line,xt);else return!1;else ae=cs;return!0}if(ce=="char"||ce=="codepoint")Yn();else if(ce=="column")Yn(!0);else if(ce=="word"||ce=="group")for(var vr=null,bi=ce=="group",si=ee.cm&&ee.cm.getHelper(ae,"wordChars"),xa=!0;!(de<0&&!Yn(!xa));xa=!1){var Ga=ct.text.charAt(ae.ch)||` -`,Zo=it(Ga,si)?"w":bi&&Ga==` -`?"n":!bi||/\s/.test(Ga)?null:"p";if(bi&&!xa&&!Zo&&(Zo="s"),vr&&vr!=Zo){de<0&&(de=1,Yn(),ae.sticky="after");break}if(Zo&&(vr=Zo),de>0&&!Yn(!xa))break}var Ps=Vu(ee,ae,Se,Qe,!0);return xn(Se,Ps)&&(Ps.hitSide=!0),Ps}function Yh(ee,ae,de,ce){var me=ee.doc,Se=ae.left,Qe;if(ce=="page"){var ct=Math.min(ee.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),xt=Math.max(ct-.5*Jl(ee.display),3);Qe=(de>0?ae.bottom:ae.top)+de*xt}else ce=="line"&&(Qe=de>0?ae.bottom+3:ae.top-3);for(var kt;kt=hl(ee,Se,Qe),!!kt.outside;){if(de<0?Qe<=0:Qe>=me.height){kt.hitSide=!0;break}Qe+=de*5}return kt}var Bu=function(ee){this.cm=ee,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new tt,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Bu.prototype.init=function(ee){var ae=this,de=this,ce=de.cm,me=de.div=ee.lineDiv;x0(me,ce.options.spellcheck,ce.options.autocorrect,ce.options.autocapitalize);function Se(ct){for(var xt=ct.target;xt;xt=xt.parentNode){if(xt==me)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(xt.className))break}return!1}Pr(me,"paste",function(ct){!Se(ct)||gn(ce,ct)||b0(ct,ce)||dt<=11&&setTimeout(dr(ce,function(){return ae.updateFromDOM()}),20)}),Pr(me,"compositionstart",function(ct){ae.composing={data:ct.data,done:!1}}),Pr(me,"compositionupdate",function(ct){ae.composing||(ae.composing={data:ct.data,done:!1})}),Pr(me,"compositionend",function(ct){ae.composing&&(ct.data!=ae.composing.data&&ae.readFromDOMSoon(),ae.composing.done=!0)}),Pr(me,"touchstart",function(){return de.forceCompositionEnd()}),Pr(me,"input",function(){ae.composing||ae.readFromDOMSoon()});function Qe(ct){if(!(!Se(ct)||gn(ce,ct))){if(ce.somethingSelected())ih({lineWise:!1,text:ce.getSelections()}),ct.type=="cut"&&ce.replaceSelection("",null,"cut");else if(ce.options.lineWiseCopyCut){var xt=Ch(ce);ih({lineWise:!0,text:xt.text}),ct.type=="cut"&&ce.operation(function(){ce.setSelections(xt.ranges,0,In),ce.replaceSelection("",null,"cut")})}else return;if(ct.clipboardData){ct.clipboardData.clearData();var kt=rh.text.join(` -`);if(ct.clipboardData.setData("Text",kt),ct.clipboardData.getData("Text")==kt){ct.preventDefault();return}}var Yn=l0(),vr=Yn.firstChild;ce.display.lineSpace.insertBefore(Yn,ce.display.lineSpace.firstChild),vr.value=rh.text.join(` -`);var bi=document.activeElement;bn(vr),setTimeout(function(){ce.display.lineSpace.removeChild(Yn),bi.focus(),bi==me&&de.showPrimarySelection()},50)}}Pr(me,"copy",Qe),Pr(me,"cut",Qe)},Bu.prototype.screenReaderLabelChanged=function(ee){ee?this.div.setAttribute("aria-label",ee):this.div.removeAttribute("aria-label")},Bu.prototype.prepareSelection=function(){var ee=nn(this.cm,!1);return ee.focus=document.activeElement==this.div,ee},Bu.prototype.showSelection=function(ee,ae){!ee||!this.cm.display.view.length||((ee.focus||ae)&&this.showPrimarySelection(),this.showMultipleSelections(ee))},Bu.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Bu.prototype.showPrimarySelection=function(){var ee=this.getSelection(),ae=this.cm,de=ae.doc.sel.primary(),ce=de.from(),me=de.to();if(ae.display.viewTo==ae.display.viewFrom||ce.line>=ae.display.viewTo||me.line=ae.display.viewFrom&&T0(ae,ce)||{node:ct[0].measure.map[2],offset:0},kt=me.lineee.firstLine()&&(ce=Mr(ce.line-1,yr(ee.doc,ce.line-1).length)),me.ch==yr(ee.doc,me.line).text.length&&me.lineae.viewTo-1)return!1;var Se,Qe,ct;ce.line==ae.viewFrom||(Se=Ha(ee,ce.line))==0?(Qe=zr(ae.view[0].line),ct=ae.view[0].node):(Qe=zr(ae.view[Se].line),ct=ae.view[Se-1].node.nextSibling);var xt=Ha(ee,me.line),kt,Yn;if(xt==ae.view.length-1?(kt=ae.viewTo-1,Yn=ae.lineDiv.lastChild):(kt=zr(ae.view[xt+1].line)-1,Yn=ae.view[xt+1].node.previousSibling),!ct)return!1;for(var vr=ee.doc.splitLines(cp(ee,ct,Yn,Qe,kt)),bi=ci(ee.doc,Mr(Qe,0),Mr(kt,yr(ee.doc,kt).text.length));vr.length>1&&bi.length>1;)if(Jn(vr)==Jn(bi))vr.pop(),bi.pop(),kt--;else if(vr[0]==bi[0])vr.shift(),bi.shift(),Qe++;else break;for(var si=0,xa=0,Ga=vr[0],Zo=bi[0],Ps=Math.min(Ga.length,Zo.length);sice.ch&&Zs.charCodeAt(Zs.length-xa-1)==cs.charCodeAt(cs.length-xa-1);)si--,xa++;vr[vr.length-1]=Zs.slice(0,Zs.length-xa).replace(/^\u200b+/,""),vr[0]=vr[0].slice(si).replace(/\u200b+$/,"");var ml=Mr(Qe,si),Cl=Mr(kt,bi.length?Jn(bi).length-xa:0);if(vr.length>1||vr[0]||sr(ml,Cl))return yd(ee.doc,vr,ml,Cl,"+input"),!0},Bu.prototype.ensurePolled=function(){this.forceCompositionEnd()},Bu.prototype.reset=function(){this.forceCompositionEnd()},Bu.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Bu.prototype.readFromDOMSoon=function(){var ee=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(ee.readDOMTimeout=null,ee.composing)if(ee.composing.done)ee.composing=null;else return;ee.updateFromDOM()},80))},Bu.prototype.updateFromDOM=function(){var ee=this;(this.cm.isReadOnly()||!this.pollContent())&&Bn(this.cm,function(){return yl(ee.cm)})},Bu.prototype.setUneditable=function(ee){ee.contentEditable="false"},Bu.prototype.onKeyPress=function(ee){ee.charCode==0||this.composing||(ee.preventDefault(),this.cm.isReadOnly()||dr(this.cm,o0)(this.cm,String.fromCharCode(ee.charCode==null?ee.keyCode:ee.charCode),0))},Bu.prototype.readOnlyChanged=function(ee){this.div.contentEditable=String(ee!="nocursor")},Bu.prototype.onContextMenu=function(){},Bu.prototype.resetPosition=function(){},Bu.prototype.needsContentAttribute=!0;function T0(ee,ae){var de=Ro(ee,ae.line);if(!de||de.hidden)return null;var ce=yr(ee.doc,ae.line),me=Dl(de,ce,ae.line),Se=vi(ce,ee.doc.direction),Qe="left";if(Se){var ct=dn(Se,ae.ch);Qe=ct%2?"right":"left"}var xt=Co(me.map,ae.ch,Qe);return xt.offset=xt.collapse=="right"?xt.end:xt.start,xt}function w0(ee){for(var ae=ee;ae;ae=ae.parentNode)if(/CodeMirror-gutter-wrapper/.test(ae.className))return!0;return!1}function ah(ee,ae){return ae&&(ee.bad=!0),ee}function cp(ee,ae,de,ce,me){var Se="",Qe=!1,ct=ee.doc.lineSeparator(),xt=!1;function kt(si){return function(xa){return xa.id==si}}function Yn(){Qe&&(Se+=ct,xt&&(Se+=ct),Qe=xt=!1)}function vr(si){si&&(Yn(),Se+=si)}function bi(si){if(si.nodeType==1){var xa=si.getAttribute("cm-text");if(xa){vr(xa);return}var Ga=si.getAttribute("cm-marker"),Zo;if(Ga){var Ps=ee.findMarks(Mr(ce,0),Mr(me+1,0),kt(+Ga));Ps.length&&(Zo=Ps[0].find(0))&&vr(ci(ee.doc,Zo.from,Zo.to).join(ct));return}if(si.getAttribute("contenteditable")=="false")return;var Zs=/^(pre|div|p|li|table|br)$/i.test(si.nodeName);if(!/^br$/i.test(si.nodeName)&&si.textContent.length==0)return;Zs&&Yn();for(var cs=0;cs=9&&ae.hasSelection&&(ae.hasSelection=null),de.poll()}),Pr(me,"paste",function(Qe){gn(ce,Qe)||b0(Qe,ce)||(ce.state.pasteIncoming=+new Date,de.fastPoll())});function Se(Qe){if(!gn(ce,Qe)){if(ce.somethingSelected())ih({lineWise:!1,text:ce.getSelections()});else if(ce.options.lineWiseCopyCut){var ct=Ch(ce);ih({lineWise:!0,text:ct.text}),Qe.type=="cut"?ce.setSelections(ct.ranges,null,In):(de.prevInput="",me.value=ct.text.join(` -`),bn(me))}else return;Qe.type=="cut"&&(ce.state.cutIncoming=+new Date)}}Pr(me,"cut",Se),Pr(me,"copy",Se),Pr(ee.scroller,"paste",function(Qe){if(!(vl(ee,Qe)||gn(ce,Qe))){if(!me.dispatchEvent){ce.state.pasteIncoming=+new Date,de.focus();return}var ct=new Event("paste");ct.clipboardData=Qe.clipboardData,me.dispatchEvent(ct)}}),Pr(ee.lineSpace,"selectstart",function(Qe){vl(ee,Qe)||Ui(Qe)}),Pr(me,"compositionstart",function(){var Qe=ce.getCursor("from");de.composing&&de.composing.range.clear(),de.composing={start:Qe,range:ce.markText(Qe,ce.getCursor("to"),{className:"CodeMirror-composing"})}}),Pr(me,"compositionend",function(){de.composing&&(de.poll(),de.composing.range.clear(),de.composing=null)})},Oc.prototype.createField=function(ee){this.wrapper=l0(),this.textarea=this.wrapper.firstChild},Oc.prototype.screenReaderLabelChanged=function(ee){ee?this.textarea.setAttribute("aria-label",ee):this.textarea.removeAttribute("aria-label")},Oc.prototype.prepareSelection=function(){var ee=this.cm,ae=ee.display,de=ee.doc,ce=nn(ee);if(ee.options.moveInputWithCursor){var me=Zl(ee,de.sel.primary().head,"div"),Se=ae.wrapper.getBoundingClientRect(),Qe=ae.lineDiv.getBoundingClientRect();ce.teTop=Math.max(0,Math.min(ae.wrapper.clientHeight-10,me.top+Qe.top-Se.top)),ce.teLeft=Math.max(0,Math.min(ae.wrapper.clientWidth-10,me.left+Qe.left-Se.left))}return ce},Oc.prototype.showSelection=function(ee){var ae=this.cm,de=ae.display;Cn(de.cursorDiv,ee.cursors),Cn(de.selectionDiv,ee.selection),ee.teTop!=null&&(this.wrapper.style.top=ee.teTop+"px",this.wrapper.style.left=ee.teLeft+"px")},Oc.prototype.reset=function(ee){if(!(this.contextMenuPending||this.composing)){var ae=this.cm;if(ae.somethingSelected()){this.prevInput="";var de=ae.getSelection();this.textarea.value=de,ae.state.focused&&bn(this.textarea),Dt&&dt>=9&&(this.hasSelection=de)}else ee||(this.prevInput=this.textarea.value="",Dt&&dt>=9&&(this.hasSelection=null))}},Oc.prototype.getField=function(){return this.textarea},Oc.prototype.supportsTouch=function(){return!1},Oc.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!pt||Ct()!=this.textarea))try{this.textarea.focus()}catch(ee){}},Oc.prototype.blur=function(){this.textarea.blur()},Oc.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Oc.prototype.receivedFocus=function(){this.slowPoll()},Oc.prototype.slowPoll=function(){var ee=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){ee.poll(),ee.cm.state.focused&&ee.slowPoll()})},Oc.prototype.fastPoll=function(){var ee=!1,ae=this;ae.pollingFast=!0;function de(){var ce=ae.poll();!ce&&!ee?(ee=!0,ae.polling.set(60,de)):(ae.pollingFast=!1,ae.slowPoll())}ae.polling.set(20,de)},Oc.prototype.poll=function(){var ee=this,ae=this.cm,de=this.textarea,ce=this.prevInput;if(this.contextMenuPending||!ae.state.focused||ir(de)&&!ce&&!this.composing||ae.isReadOnly()||ae.options.disableInput||ae.state.keySeq)return!1;var me=de.value;if(me==ce&&!ae.somethingSelected())return!1;if(Dt&&dt>=9&&this.hasSelection===me||mt&&/[\uf700-\uf7ff]/.test(me))return ae.display.input.reset(),!1;if(ae.doc.sel==ae.display.selForContextMenu){var Se=me.charCodeAt(0);if(Se==8203&&!ce&&(ce="\u200B"),Se==8666)return this.reset(),this.cm.execCommand("undo")}for(var Qe=0,ct=Math.min(ce.length,me.length);Qe1e3||me.indexOf(` -`)>-1?de.value=ee.prevInput="":ee.prevInput=me,ee.composing&&(ee.composing.range.clear(),ee.composing.range=ae.markText(ee.composing.start,ae.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Oc.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Oc.prototype.onKeyPress=function(){Dt&&dt>=9&&(this.hasSelection=null),this.fastPoll()},Oc.prototype.onContextMenu=function(ee){var ae=this,de=ae.cm,ce=de.display,me=ae.textarea;ae.contextMenuPending&&ae.contextMenuPending();var Se=Mi(de,ee),Qe=ce.scroller.scrollTop;if(!Se||It)return;var ct=de.options.resetSelectionOnContextMenu;ct&&de.doc.sel.contains(Se)==-1&&dr(de,ma)(de.doc,Ee(Se),In);var xt=me.style.cssText,kt=ae.wrapper.style.cssText,Yn=ae.wrapper.offsetParent.getBoundingClientRect();ae.wrapper.style.cssText="position: static",me.style.cssText=`position: absolute; width: 30px; height: 30px; - top: `+(ee.clientY-Yn.top-5)+"px; left: "+(ee.clientX-Yn.left-5)+`px; - z-index: 1000; background: `+(Dt?"rgba(255, 255, 255, .05)":"transparent")+`; - outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var vr;Le&&(vr=window.scrollY),ce.input.focus(),Le&&window.scrollTo(null,vr),ce.input.reset(),de.somethingSelected()||(me.value=ae.prevInput=" "),ae.contextMenuPending=si,ce.selForContextMenu=de.doc.sel,clearTimeout(ce.detectingSelectAll);function bi(){if(me.selectionStart!=null){var Ga=de.somethingSelected(),Zo="\u200B"+(Ga?me.value:"");me.value="\u21DA",me.value=Zo,ae.prevInput=Ga?"":"\u200B",me.selectionStart=1,me.selectionEnd=Zo.length,ce.selForContextMenu=de.doc.sel}}function si(){if(ae.contextMenuPending==si&&(ae.contextMenuPending=!1,ae.wrapper.style.cssText=kt,me.style.cssText=xt,Dt&&dt<9&&ce.scrollbars.setScrollTop(ce.scroller.scrollTop=Qe),me.selectionStart!=null)){(!Dt||Dt&&dt<9)&&bi();var Ga=0,Zo=function(){ce.selForContextMenu==de.doc.sel&&me.selectionStart==0&&me.selectionEnd>0&&ae.prevInput=="\u200B"?dr(de,Yu)(de):Ga++<10?ce.detectingSelectAll=setTimeout(Zo,500):(ce.selForContextMenu=null,ce.input.reset())};ce.detectingSelectAll=setTimeout(Zo,200)}}if(Dt&&dt>=9&&bi(),Gt){_o(ee);var xa=function(){on(window,"mouseup",xa),setTimeout(si,20)};Pr(window,"mouseup",xa)}else setTimeout(si,50)},Oc.prototype.readOnlyChanged=function(ee){ee||this.reset(),this.textarea.disabled=ee=="nocursor",this.textarea.readOnly=!!ee},Oc.prototype.setUneditable=function(){},Oc.prototype.needsContentAttribute=!1;function oh(ee,ae){if(ae=ae?oi(ae):{},ae.value=ee.value,!ae.tabindex&&ee.tabIndex&&(ae.tabindex=ee.tabIndex),!ae.placeholder&&ee.placeholder&&(ae.placeholder=ee.placeholder),ae.autofocus==null){var de=Ct();ae.autofocus=de==ee||ee.getAttribute("autofocus")!=null&&de==document.body}function ce(){ee.value=ct.getValue()}var me;if(ee.form&&(Pr(ee.form,"submit",ce),!ae.leaveSubmitMethodAlone)){var Se=ee.form;me=Se.submit;try{var Qe=Se.submit=function(){ce(),Se.submit=me,Se.submit(),Se.submit=Qe}}catch(xt){}}ae.finishInit=function(xt){xt.save=ce,xt.getTextArea=function(){return ee},xt.toTextArea=function(){xt.toTextArea=isNaN,ce(),ee.parentNode.removeChild(xt.getWrapperElement()),ee.style.display="",ee.form&&(on(ee.form,"submit",ce),!ae.leaveSubmitMethodAlone&&typeof ee.form.submit=="function"&&(ee.form.submit=me))}},ee.style.display="none";var ct=su(function(xt){return ee.parentNode.insertBefore(xt,ee.nextSibling)},ae);return ct}function vh(ee){ee.off=on,ee.on=Pr,ee.wheelEventPixels=Ds,ee.Doc=Xc,ee.splitLines=Qr,ee.countColumn=yt,ee.findColumn=Or,ee.isWordChar=He,ee.Pass=li,ee.signal=qt,ee.Line=yn,ee.changeEnd=Be,ee.scrollbarModel=Vl,ee.Pos=Mr,ee.cmpPos=sr,ee.modes=lr,ee.mimeModes=Hr,ee.resolveMode=Rr,ee.getMode=qr,ee.modeExtensions=Zi,ee.extendMode=Wn,ee.copyState=st,ee.startState=Gn,ee.innerMode=Nt,ee.commands=hd,ee.keyMap=yc,ee.keyName=au,ee.isModifierKey=th,ee.lookupKey=Pd,ee.normalizeKeyMap=eh,ee.StringStream=Sr,ee.SharedTextMarker=ju,ee.TextMarker=vd,ee.LineWidget=Uc,ee.e_preventDefault=Ui,ee.e_stopPropagation=Ni,ee.e_stop=_o,ee.addClass=Ln,ee.contains=tn,ee.rmClass=Sn,ee.keyNames=bd}Fh(su),E0(su);var Lf="iter insert remove copy getEditor constructor".split(" ");for(var hf in Xc.prototype)Xc.prototype.hasOwnProperty(hf)&&Rn(Lf,hf)<0&&(su.prototype[hf]=function(ee){return function(){return ee.apply(this.doc,arguments)}}(Xc.prototype[hf]));return xi(Xc),su.inputStyles={textarea:Oc,contenteditable:Bu},su.defineMode=function(ee){!su.defaults.mode&&ee!="null"&&(su.defaults.mode=ee),hr.apply(this,arguments)},su.defineMIME=Vr,su.defineMode("null",function(){return{token:function(ee){return ee.skipToEnd()}}}),su.defineMIME("text/plain","null"),su.defineExtension=function(ee,ae){su.prototype[ee]=ae},su.defineDocExtension=function(ee,ae){Xc.prototype[ee]=ae},su.fromTextArea=oh,vh(su),su.version="5.58.2",su})},25419:function(Hn,xr,he){(function(se){se(he(89780),he(15525),he(98101))})(function(se){"use strict";se.defineMode("markdown",function(je,Bt){var Rt=se.getMode(je,"text/html"),Dt=Rt.name=="null";function dt(yt){if(se.findModeByName){var tt=se.findModeByName(yt);tt&&(yt=tt.mime||tt.mimes[0])}var Rn=se.getMode(je,yt);return Rn.name=="null"?null:Rn}Bt.highlightFormatting===void 0&&(Bt.highlightFormatting=!1),Bt.maxBlockquoteDepth===void 0&&(Bt.maxBlockquoteDepth=0),Bt.taskLists===void 0&&(Bt.taskLists=!1),Bt.strikethrough===void 0&&(Bt.strikethrough=!1),Bt.emoji===void 0&&(Bt.emoji=!1),Bt.fencedCodeBlockHighlighting===void 0&&(Bt.fencedCodeBlockHighlighting=!0),Bt.fencedCodeBlockDefaultMode===void 0&&(Bt.fencedCodeBlockDefaultMode="text/plain"),Bt.xml===void 0&&(Bt.xml=!0),Bt.tokenTypeOverrides===void 0&&(Bt.tokenTypeOverrides={});var Le={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var Xe in Le)Le.hasOwnProperty(Xe)&&Bt.tokenTypeOverrides[Xe]&&(Le[Xe]=Bt.tokenTypeOverrides[Xe]);var _e=/^([*\-_])(?:\s*\1){2,}\s*$/,It=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,vt=/^\[(x| )\](?=\s)/i,wt=Bt.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,Ot=/^ {0,3}(?:\={1,}|-{2,})\s*$/,Ye=/^[^#!\[\]*_\\<>` "'(~:]+/,We=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,pt=/^\s*\[[^\]]+?\]:.*$/,mt=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,Jt=" ";function Qt(yt,tt,Rn){return tt.f=tt.inline=Rn,Rn(yt,tt)}function $t(yt,tt,Rn){return tt.f=tt.block=Rn,Rn(yt,tt)}function Ft(yt){return!yt||!/\S/.test(yt.string)}function Gt(yt){if(yt.linkTitle=!1,yt.linkHref=!1,yt.linkText=!1,yt.em=!1,yt.strong=!1,yt.strikethrough=!1,yt.quote=0,yt.indentedCode=!1,yt.f==Sn){var tt=Dt;if(!tt){var Rn=se.innerMode(Rt,yt.htmlState);tt=Rn.mode.name=="xml"&&Rn.state.tagStart===null&&!Rn.state.context&&Rn.state.tokenize.isInText}tt&&(yt.f=pn,yt.block=Je,yt.htmlState=null)}return yt.trailingSpace=0,yt.trailingSpaceNewLine=!1,yt.prevLine=yt.thisLine,yt.thisLine={stream:null},null}function Je(yt,tt){var Rn=yt.column()===tt.indentation,fi=Ft(tt.prevLine.stream),li=tt.indentedCode,In=tt.prevLine.hr,an=tt.list!==!1,Xr=(tt.listStack[tt.listStack.length-1]||0)+3;tt.indentedCode=!1;var Or=tt.indentation;if(tt.indentationDiff===null&&(tt.indentationDiff=tt.indentation,an)){for(tt.list=null;Or=4&&(li||tt.prevLine.fencedCodeEnd||tt.prevLine.header||fi))return yt.skipToEnd(),tt.indentedCode=!0,Le.code;if(yt.eatSpace())return null;if(Rn&&tt.indentation<=Xr&&(Jn=yt.match(wt))&&Jn[1].length<=6)return tt.quote=0,tt.header=Jn[1].length,tt.thisLine.header=!0,Bt.highlightFormatting&&(tt.formatting="header"),tt.f=tt.inline,Cn(tt);if(tt.indentation<=Xr&&yt.eat(">"))return tt.quote=Rn?1:tt.quote+1,Bt.highlightFormatting&&(tt.formatting="quote"),yt.eatSpace(),Cn(tt);if(!Qn&&!tt.setext&&Rn&&tt.indentation<=Xr&&(Jn=yt.match(It))){var qn=Jn[1]?"ol":"ul";return tt.indentation=Or+yt.current().length,tt.list=!0,tt.quote=0,tt.listStack.push(tt.indentation),tt.em=!1,tt.strong=!1,tt.code=!1,tt.strikethrough=!1,Bt.taskLists&&yt.match(vt,!1)&&(tt.taskList=!0),tt.f=tt.inline,Bt.highlightFormatting&&(tt.formatting=["list","list-"+qn]),Cn(tt)}else{if(Rn&&tt.indentation<=Xr&&(Jn=yt.match(We,!0)))return tt.quote=0,tt.fencedEndRE=new RegExp(Jn[1]+"+ *$"),tt.localMode=Bt.fencedCodeBlockHighlighting&&dt(Jn[2]||Bt.fencedCodeBlockDefaultMode),tt.localMode&&(tt.localState=se.startState(tt.localMode)),tt.f=tt.block=_n,Bt.highlightFormatting&&(tt.formatting="code-block"),tt.code=-1,Cn(tt);if(tt.setext||(!zn||!an)&&!tt.quote&&tt.list===!1&&!tt.code&&!Qn&&!pt.test(yt.string)&&(Jn=yt.lookAhead(1))&&(Jn=Jn.match(Ot)))return tt.setext?(tt.header=tt.setext,tt.setext=0,yt.skipToEnd(),Bt.highlightFormatting&&(tt.formatting="header")):(tt.header=Jn[0].charAt(0)=="="?1:2,tt.setext=tt.header),tt.thisLine.header=!0,tt.f=tt.inline,Cn(tt);if(Qn)return yt.skipToEnd(),tt.hr=!0,tt.thisLine.hr=!0,Le.hr;if(yt.peek()==="[")return Qt(yt,tt,Mn)}return Qt(yt,tt,tt.inline)}function Sn(yt,tt){var Rn=Rt.token(yt,tt.htmlState);if(!Dt){var fi=se.innerMode(Rt,tt.htmlState);(fi.mode.name=="xml"&&fi.state.tagStart===null&&!fi.state.context&&fi.state.tokenize.isInText||tt.md_inside&&yt.current().indexOf(">")>-1)&&(tt.f=pn,tt.block=Je,tt.htmlState=null)}return Rn}function _n(yt,tt){var Rn=tt.listStack[tt.listStack.length-1]||0,fi=tt.indentation=yt.quote?tt.push(Le.formatting+"-"+yt.formatting[Rn]+"-"+yt.quote):tt.push("error"))}if(yt.taskOpen)return tt.push("meta"),tt.length?tt.join(" "):null;if(yt.taskClosed)return tt.push("property"),tt.length?tt.join(" "):null;if(yt.linkHref?tt.push(Le.linkHref,"url"):(yt.strong&&tt.push(Le.strong),yt.em&&tt.push(Le.em),yt.strikethrough&&tt.push(Le.strikethrough),yt.emoji&&tt.push(Le.emoji),yt.linkText&&tt.push(Le.linkText),yt.code&&tt.push(Le.code),yt.image&&tt.push(Le.image),yt.imageAltText&&tt.push(Le.imageAltText,"link"),yt.imageMarker&&tt.push(Le.imageMarker)),yt.header&&tt.push(Le.header,Le.header+"-"+yt.header),yt.quote&&(tt.push(Le.quote),!Bt.maxBlockquoteDepth||Bt.maxBlockquoteDepth>=yt.quote?tt.push(Le.quote+"-"+yt.quote):tt.push(Le.quote+"-"+Bt.maxBlockquoteDepth)),yt.list!==!1){var fi=(yt.listStack.length-1)%3;fi?fi===1?tt.push(Le.list2):tt.push(Le.list3):tt.push(Le.list1)}return yt.trailingSpaceNewLine?tt.push("trailing-space-new-line"):yt.trailingSpace&&tt.push("trailing-space-"+(yt.trailingSpace%2?"a":"b")),tt.length?tt.join(" "):null}function Vt(yt,tt){if(yt.match(Ye,!0))return Cn(tt)}function pn(yt,tt){var Rn=tt.text(yt,tt);if(typeof Rn!="undefined")return Rn;if(tt.list)return tt.list=null,Cn(tt);if(tt.taskList){var fi=yt.match(vt,!0)[1]===" ";return fi?tt.taskOpen=!0:tt.taskClosed=!0,Bt.highlightFormatting&&(tt.formatting="task"),tt.taskList=!1,Cn(tt)}if(tt.taskOpen=!1,tt.taskClosed=!1,tt.header&&yt.match(/^#+$/,!0))return Bt.highlightFormatting&&(tt.formatting="header"),Cn(tt);var li=yt.next();if(tt.linkTitle){tt.linkTitle=!1;var In=li;li==="("&&(In=")"),In=(In+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var an="^\\s*(?:[^"+In+"\\\\]+|\\\\\\\\|\\\\.)"+In;if(yt.match(new RegExp(an),!0))return Le.linkHref}if(li==="`"){var Xr=tt.formatting;Bt.highlightFormatting&&(tt.formatting="code"),yt.eatWhile("`");var Or=yt.current().length;if(tt.code==0&&(!tt.quote||Or==1))return tt.code=Or,Cn(tt);if(Or==tt.code){var zn=Cn(tt);return tt.code=0,zn}else return tt.formatting=Xr,Cn(tt)}else if(tt.code)return Cn(tt);if(li==="\\"&&(yt.next(),Bt.highlightFormatting)){var Qn=Cn(tt),Jn=Le.formatting+"-escape";return Qn?Qn+" "+Jn:Jn}if(li==="!"&&yt.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return tt.imageMarker=!0,tt.image=!0,Bt.highlightFormatting&&(tt.formatting="image"),Cn(tt);if(li==="["&&tt.imageMarker&&yt.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return tt.imageMarker=!1,tt.imageAltText=!0,Bt.highlightFormatting&&(tt.formatting="image"),Cn(tt);if(li==="]"&&tt.imageAltText){Bt.highlightFormatting&&(tt.formatting="image");var Qn=Cn(tt);return tt.imageAltText=!1,tt.image=!1,tt.inline=tt.f=tn,Qn}if(li==="["&&!tt.image)return tt.linkText&&yt.match(/^.*?\]/)||(tt.linkText=!0,Bt.highlightFormatting&&(tt.formatting="link")),Cn(tt);if(li==="]"&&tt.linkText){Bt.highlightFormatting&&(tt.formatting="link");var Qn=Cn(tt);return tt.linkText=!1,tt.inline=tt.f=yt.match(/\(.*?\)| ?\[.*?\]/,!1)?tn:pn,Qn}if(li==="<"&&yt.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){tt.f=tt.inline=et,Bt.highlightFormatting&&(tt.formatting="link");var Qn=Cn(tt);return Qn?Qn+=" ":Qn="",Qn+Le.linkInline}if(li==="<"&&yt.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){tt.f=tt.inline=et,Bt.highlightFormatting&&(tt.formatting="link");var Qn=Cn(tt);return Qn?Qn+=" ":Qn="",Qn+Le.linkEmail}if(Bt.xml&&li==="<"&&yt.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var qn=yt.string.indexOf(">",yt.pos);if(qn!=-1){var On=yt.string.substring(yt.start,qn);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(On)&&(tt.md_inside=!0)}return yt.backUp(1),tt.htmlState=se.startState(Rt),$t(yt,tt,Sn)}if(Bt.xml&&li==="<"&&yt.match(/^\/\w*?>/))return tt.md_inside=!1,"tag";if(li==="*"||li==="_"){for(var qe=1,Ie=yt.pos==1?" ":yt.string.charAt(yt.pos-2);qe<3&&yt.eat(li);)qe++;var Ce=yt.peek()||" ",He=!/\s/.test(Ce)&&(!mt.test(Ce)||/\s/.test(Ie)||mt.test(Ie)),it=!/\s/.test(Ie)&&(!mt.test(Ie)||/\s/.test(Ce)||mt.test(Ce)),we=null,Xt=null;if(qe%2&&(!tt.em&&He&&(li==="*"||!it||mt.test(Ie))?we=!0:tt.em==li&&it&&(li==="*"||!He||mt.test(Ce))&&(we=!1)),qe>1&&(!tt.strong&&He&&(li==="*"||!it||mt.test(Ie))?Xt=!0:tt.strong==li&&it&&(li==="*"||!He||mt.test(Ce))&&(Xt=!1)),Xt!=null||we!=null){Bt.highlightFormatting&&(tt.formatting=we==null?"strong":Xt==null?"em":"strong em"),we===!0&&(tt.em=li),Xt===!0&&(tt.strong=li);var zn=Cn(tt);return we===!1&&(tt.em=!1),Xt===!1&&(tt.strong=!1),zn}}else if(li===" "&&(yt.eat("*")||yt.eat("_"))){if(yt.peek()===" ")return Cn(tt);yt.backUp(1)}if(Bt.strikethrough){if(li==="~"&&yt.eatWhile(li)){if(tt.strikethrough){Bt.highlightFormatting&&(tt.formatting="strikethrough");var zn=Cn(tt);return tt.strikethrough=!1,zn}else if(yt.match(/^[^\s]/,!1))return tt.strikethrough=!0,Bt.highlightFormatting&&(tt.formatting="strikethrough"),Cn(tt)}else if(li===" "&&yt.match(/^~~/,!0)){if(yt.peek()===" ")return Cn(tt);yt.backUp(2)}}if(Bt.emoji&&li===":"&&yt.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){tt.emoji=!0,Bt.highlightFormatting&&(tt.formatting="emoji");var wn=Cn(tt);return tt.emoji=!1,wn}return li===" "&&(yt.match(/^ +$/,!1)?tt.trailingSpace++:tt.trailingSpace&&(tt.trailingSpaceNewLine=!0)),Cn(tt)}function et(yt,tt){var Rn=yt.next();if(Rn===">"){tt.f=tt.inline=pn,Bt.highlightFormatting&&(tt.formatting="link");var fi=Cn(tt);return fi?fi+=" ":fi="",fi+Le.linkInline}return yt.match(/^[^>]+/,!0),Le.linkInline}function tn(yt,tt){if(yt.eatSpace())return null;var Rn=yt.next();return Rn==="("||Rn==="["?(tt.f=tt.inline=Ln(Rn==="("?")":"]"),Bt.highlightFormatting&&(tt.formatting="link-string"),tt.linkHref=!0,Cn(tt)):"error"}var Ct={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function Ln(yt){return function(tt,Rn){var fi=tt.next();if(fi===yt){Rn.f=Rn.inline=pn,Bt.highlightFormatting&&(Rn.formatting="link-string");var li=Cn(Rn);return Rn.linkHref=!1,li}return tt.match(Ct[yt]),Rn.linkHref=!0,Cn(Rn)}}function Mn(yt,tt){return yt.match(/^([^\]\\]|\\.)*\]:/,!1)?(tt.f=bn,yt.next(),Bt.highlightFormatting&&(tt.formatting="link"),tt.linkText=!0,Cn(tt)):Qt(yt,tt,pn)}function bn(yt,tt){if(yt.match(/^\]:/,!0)){tt.f=tt.inline=Dr,Bt.highlightFormatting&&(tt.formatting="link");var Rn=Cn(tt);return tt.linkText=!1,Rn}return yt.match(/^([^\]\\]|\\.)+/,!0),Le.linkText}function Dr(yt,tt){return yt.eatSpace()?null:(yt.match(/^[^\s]+/,!0),yt.peek()===void 0?tt.linkTitle=!0:yt.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),tt.f=tt.inline=pn,Le.linkHref+" url")}var oi={startState:function(){return{f:Je,prevLine:{stream:null},thisLine:{stream:null},block:Je,htmlState:null,indentation:0,inline:pn,text:Vt,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(yt){return{f:yt.f,prevLine:yt.prevLine,thisLine:yt.thisLine,block:yt.block,htmlState:yt.htmlState&&se.copyState(Rt,yt.htmlState),indentation:yt.indentation,localMode:yt.localMode,localState:yt.localMode?se.copyState(yt.localMode,yt.localState):null,inline:yt.inline,text:yt.text,formatting:!1,linkText:yt.linkText,linkTitle:yt.linkTitle,linkHref:yt.linkHref,code:yt.code,em:yt.em,strong:yt.strong,strikethrough:yt.strikethrough,emoji:yt.emoji,header:yt.header,setext:yt.setext,hr:yt.hr,taskList:yt.taskList,list:yt.list,listStack:yt.listStack.slice(0),quote:yt.quote,indentedCode:yt.indentedCode,trailingSpace:yt.trailingSpace,trailingSpaceNewLine:yt.trailingSpaceNewLine,md_inside:yt.md_inside,fencedEndRE:yt.fencedEndRE}},token:function(yt,tt){if(tt.formatting=!1,yt!=tt.thisLine.stream){if(tt.header=0,tt.hr=!1,yt.match(/^\s*$/,!0))return Gt(tt),null;if(tt.prevLine=tt.thisLine,tt.thisLine={stream:yt},tt.taskList=!1,tt.trailingSpace=0,tt.trailingSpaceNewLine=!1,!tt.localState&&(tt.f=tt.block,tt.f!=Sn)){var Rn=yt.match(/^\s*/,!0)[0].replace(/\t/g,Jt).length;if(tt.indentation=Rn,tt.indentationDiff=null,Rn>0)return null}}return tt.f(yt,tt)},innerMode:function(yt){return yt.block==Sn?{state:yt.htmlState,mode:Rt}:yt.localState?{state:yt.localState,mode:yt.localMode}:{state:yt,mode:oi}},indent:function(yt,tt,Rn){return yt.block==Sn&&Rt.indent?Rt.indent(yt.htmlState,tt,Rn):yt.localState&&yt.localMode.indent?yt.localMode.indent(yt.localState,tt,Rn):se.Pass},blankLine:Gt,getType:Cn,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return oi},"xml"),se.defineMIME("text/markdown","markdown"),se.defineMIME("text/x-markdown","markdown")})},98101:function(Hn,xr,he){(function(se){se(he(89780))})(function(se){"use strict";se.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var je=0;je-1&&Rt.substring(Le+1,Rt.length);if(Xe)return se.findModeByExtension(Xe)},se.findModeByName=function(Rt){Rt=Rt.toLowerCase();for(var Dt=0;Dt0?Ye.cmdState[Ye.cmdState.length-1]:null}function dt(Ye){var We=Ye.cmdState.pop();We&&We.closeBracket()}function Le(Ye){for(var We=Ye.cmdState,pt=We.length-1;pt>=0;pt--){var mt=We[pt];if(mt.name!="DEFAULT")return mt}return{styleIdentifier:function(){return null}}}function Xe(Ye,We,pt){return function(){this.name=Ye,this.bracketNo=0,this.style=We,this.styles=pt,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var _e={};_e.importmodule=Xe("importmodule","tag",["string","builtin"]),_e.documentclass=Xe("documentclass","tag",["","atom"]),_e.usepackage=Xe("usepackage","tag",["atom"]),_e.begin=Xe("begin","tag",["atom"]),_e.end=Xe("end","tag",["atom"]),_e.label=Xe("label","tag",["atom"]),_e.ref=Xe("ref","tag",["atom"]),_e.eqref=Xe("eqref","tag",["atom"]),_e.cite=Xe("cite","tag",["atom"]),_e.bibitem=Xe("bibitem","tag",["atom"]),_e.Bibitem=Xe("Bibitem","tag",["atom"]),_e.RBibitem=Xe("RBibitem","tag",["atom"]),_e.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function It(Ye,We){Ye.f=We}function vt(Ye,We){var pt;if(Ye.match(/^\\[a-zA-Z@]+/)){var mt=Ye.current().slice(1);return pt=_e.hasOwnProperty(mt)?_e[mt]:_e.DEFAULT,pt=new pt,Rt(We,pt),It(We,Ot),pt.style}if(Ye.match(/^\\[$&%#{}_]/)||Ye.match(/^\\[,;!\/\\]/))return"tag";if(Ye.match("\\["))return It(We,function(Qt,$t){return wt(Qt,$t,"\\]")}),"keyword";if(Ye.match("\\("))return It(We,function(Qt,$t){return wt(Qt,$t,"\\)")}),"keyword";if(Ye.match("$$"))return It(We,function(Qt,$t){return wt(Qt,$t,"$$")}),"keyword";if(Ye.match("$"))return It(We,function(Qt,$t){return wt(Qt,$t,"$")}),"keyword";var Jt=Ye.next();if(Jt=="%")return Ye.skipToEnd(),"comment";if(Jt=="}"||Jt=="]"){if(pt=Dt(We),pt)pt.closeBracket(Jt),It(We,Ot);else return"error";return"bracket"}else return Jt=="{"||Jt=="["?(pt=_e.DEFAULT,pt=new pt,Rt(We,pt),"bracket"):/\d/.test(Jt)?(Ye.eatWhile(/[\w.%]/),"atom"):(Ye.eatWhile(/[\w\-_]/),pt=Le(We),pt.name=="begin"&&(pt.argument=Ye.current()),pt.styleIdentifier())}function wt(Ye,We,pt){if(Ye.eatSpace())return null;if(pt&&Ye.match(pt))return It(We,vt),"keyword";if(Ye.match(/^\\[a-zA-Z@]+/))return"tag";if(Ye.match(/^[a-zA-Z]+/))return"variable-2";if(Ye.match(/^\\[$&%#{}_]/)||Ye.match(/^\\[,;!\/]/)||Ye.match(/^[\^_&]/))return"tag";if(Ye.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(Ye.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var mt=Ye.next();return mt=="{"||mt=="}"||mt=="["||mt=="]"||mt=="("||mt==")"?"bracket":mt=="%"?(Ye.skipToEnd(),"comment"):"error"}function Ot(Ye,We){var pt=Ye.peek(),mt;return pt=="{"||pt=="["?(mt=Dt(We),mt.openBracket(pt),Ye.eat(pt),It(We,vt),"bracket"):/[ \t\r]/.test(pt)?(Ye.eat(pt),null):(It(We,vt),dt(We),vt(Ye,We))}return{startState:function(){var Ye=Bt.inMathMode?function(We,pt){return wt(We,pt)}:vt;return{cmdState:[],f:Ye}},copyState:function(Ye){return{cmdState:Ye.cmdState.slice(),f:Ye.f}},token:function(Ye,We){return We.f(Ye,We)},blankLine:function(Ye){Ye.f=vt,Ye.cmdState.length=0},lineComment:"%"}}),se.defineMIME("text/x-stex","stex"),se.defineMIME("text/x-latex","stex")})},15525:function(Hn,xr,he){(function(se){se(he(89780))})(function(se){"use strict";var je={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},Bt={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};se.defineMode("xml",function(Rt,Dt){var dt=Rt.indentUnit,Le={},Xe=Dt.htmlMode?je:Bt;for(var _e in Xe)Le[_e]=Xe[_e];for(var _e in Dt)Le[_e]=Dt[_e];var It,vt;function wt(et,tn){function Ct(bn){return tn.tokenize=bn,bn(et,tn)}var Ln=et.next();if(Ln=="<")return et.eat("!")?et.eat("[")?et.match("CDATA[")?Ct(We("atom","]]>")):null:et.match("--")?Ct(We("comment","-->")):et.match("DOCTYPE",!0,!0)?(et.eatWhile(/[\w\._\-]/),Ct(pt(1))):null:et.eat("?")?(et.eatWhile(/[\w\._\-]/),tn.tokenize=We("meta","?>"),"meta"):(It=et.eat("/")?"closeTag":"openTag",tn.tokenize=Ot,"tag bracket");if(Ln=="&"){var Mn;return et.eat("#")?et.eat("x")?Mn=et.eatWhile(/[a-fA-F\d]/)&&et.eat(";"):Mn=et.eatWhile(/[\d]/)&&et.eat(";"):Mn=et.eatWhile(/[\w\.\-:]/)&&et.eat(";"),Mn?"atom":"error"}else return et.eatWhile(/[^&<]/),null}wt.isInText=!0;function Ot(et,tn){var Ct=et.next();if(Ct==">"||Ct=="/"&&et.eat(">"))return tn.tokenize=wt,It=Ct==">"?"endTag":"selfcloseTag","tag bracket";if(Ct=="=")return It="equals",null;if(Ct=="<"){tn.tokenize=wt,tn.state=$t,tn.tagName=tn.tagStart=null;var Ln=tn.tokenize(et,tn);return Ln?Ln+" tag error":"tag error"}else return/[\'\"]/.test(Ct)?(tn.tokenize=Ye(Ct),tn.stringStartCol=et.column(),tn.tokenize(et,tn)):(et.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function Ye(et){var tn=function(Ct,Ln){for(;!Ct.eol();)if(Ct.next()==et){Ln.tokenize=Ot;break}return"string"};return tn.isInAttribute=!0,tn}function We(et,tn){return function(Ct,Ln){for(;!Ct.eol();){if(Ct.match(tn)){Ln.tokenize=wt;break}Ct.next()}return et}}function pt(et){return function(tn,Ct){for(var Ln;(Ln=tn.next())!=null;){if(Ln=="<")return Ct.tokenize=pt(et+1),Ct.tokenize(tn,Ct);if(Ln==">")if(et==1){Ct.tokenize=wt;break}else return Ct.tokenize=pt(et-1),Ct.tokenize(tn,Ct)}return"meta"}}function mt(et,tn,Ct){this.prev=et.context,this.tagName=tn,this.indent=et.indented,this.startOfLine=Ct,(Le.doNotIndent.hasOwnProperty(tn)||et.context&&et.context.noIndent)&&(this.noIndent=!0)}function Jt(et){et.context&&(et.context=et.context.prev)}function Qt(et,tn){for(var Ct;;){if(!et.context||(Ct=et.context.tagName,!Le.contextGrabbers.hasOwnProperty(Ct)||!Le.contextGrabbers[Ct].hasOwnProperty(tn)))return;Jt(et)}}function $t(et,tn,Ct){return et=="openTag"?(Ct.tagStart=tn.column(),Ft):et=="closeTag"?Gt:$t}function Ft(et,tn,Ct){return et=="word"?(Ct.tagName=tn.current(),vt="tag",_n):Le.allowMissingTagName&&et=="endTag"?(vt="tag bracket",_n(et,tn,Ct)):(vt="error",Ft)}function Gt(et,tn,Ct){if(et=="word"){var Ln=tn.current();return Ct.context&&Ct.context.tagName!=Ln&&Le.implicitlyClosed.hasOwnProperty(Ct.context.tagName)&&Jt(Ct),Ct.context&&Ct.context.tagName==Ln||Le.matchClosing===!1?(vt="tag",Je):(vt="tag error",Sn)}else return Le.allowMissingTagName&&et=="endTag"?(vt="tag bracket",Je(et,tn,Ct)):(vt="error",Sn)}function Je(et,tn,Ct){return et!="endTag"?(vt="error",Je):(Jt(Ct),$t)}function Sn(et,tn,Ct){return vt="error",Je(et,tn,Ct)}function _n(et,tn,Ct){if(et=="word")return vt="attribute",Cn;if(et=="endTag"||et=="selfcloseTag"){var Ln=Ct.tagName,Mn=Ct.tagStart;return Ct.tagName=Ct.tagStart=null,et=="selfcloseTag"||Le.autoSelfClosers.hasOwnProperty(Ln)?Qt(Ct,Ln):(Qt(Ct,Ln),Ct.context=new mt(Ct,Ln,Mn==Ct.indented)),$t}return vt="error",_n}function Cn(et,tn,Ct){return et=="equals"?Vt:(Le.allowMissing||(vt="error"),_n(et,tn,Ct))}function Vt(et,tn,Ct){return et=="string"?pn:et=="word"&&Le.allowUnquoted?(vt="string",_n):(vt="error",_n(et,tn,Ct))}function pn(et,tn,Ct){return et=="string"?pn:_n(et,tn,Ct)}return{startState:function(et){var tn={tokenize:wt,state:$t,indented:et||0,tagName:null,tagStart:null,context:null};return et!=null&&(tn.baseIndent=et),tn},token:function(et,tn){if(!tn.tagName&&et.sol()&&(tn.indented=et.indentation()),et.eatSpace())return null;It=null;var Ct=tn.tokenize(et,tn);return(Ct||It)&&Ct!="comment"&&(vt=null,tn.state=tn.state(It||Ct,et,tn),vt&&(Ct=vt=="error"?Ct+" error":vt)),Ct},indent:function(et,tn,Ct){var Ln=et.context;if(et.tokenize.isInAttribute)return et.tagStart==et.indented?et.stringStartCol+1:et.indented+dt;if(Ln&&Ln.noIndent)return se.Pass;if(et.tokenize!=Ot&&et.tokenize!=wt)return Ct?Ct.match(/^(\s*)/)[0].length:0;if(et.tagName)return Le.multilineTagIndentPastTag!==!1?et.tagStart+et.tagName.length+2:et.tagStart+dt*(Le.multilineTagIndentFactor||1);if(Le.alignCDATA&&/$/,blockCommentStart:"",configuration:Le.htmlMode?"html":"xml",helperType:Le.htmlMode?"html":"xml",skipAttribute:function(et){et.state==Vt&&(et.state=_n)},xmlCurrentTag:function(et){return et.tagName?{name:et.tagName,close:et.type=="closeTag"}:null},xmlCurrentContext:function(et){for(var tn=[],Ct=et.context;Ct;Ct=Ct.prev)Ct.tagName&&tn.push(Ct.tagName);return tn.reverse()}}}),se.defineMIME("text/xml","xml"),se.defineMIME("application/xml","xml"),se.mimeModes.hasOwnProperty("text/html")||se.defineMIME("text/html",{name:"xml",htmlMode:!0})})},24334:function(Hn,xr,he){var se,je;(function(Bt,Rt){Hn.exports=Rt(Bt)})(typeof self!="undefined"?self:typeof window!="undefined"?window:typeof he.g!="undefined"?he.g:this,function(Bt){"use strict";Bt=Bt||{};var Rt=Bt.Base64,Dt="2.6.4",dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Le=function(Ct){for(var Ln={},Mn=0,bn=Ct.length;Mn>>6)+Xe(128|Ln&63):Xe(224|Ln>>>12&15)+Xe(128|Ln>>>6&63)+Xe(128|Ln&63)}else{var Ln=65536+(Ct.charCodeAt(0)-55296)*1024+(Ct.charCodeAt(1)-56320);return Xe(240|Ln>>>18&7)+Xe(128|Ln>>>12&63)+Xe(128|Ln>>>6&63)+Xe(128|Ln&63)}},It=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,vt=function(Ct){return Ct.replace(It,_e)},wt=function(Ct){var Ln=[0,2,1][Ct.length%3],Mn=Ct.charCodeAt(0)<<16|(Ct.length>1?Ct.charCodeAt(1):0)<<8|(Ct.length>2?Ct.charCodeAt(2):0),bn=[dt.charAt(Mn>>>18),dt.charAt(Mn>>>12&63),Ln>=2?"=":dt.charAt(Mn>>>6&63),Ln>=1?"=":dt.charAt(Mn&63)];return bn.join("")},Ot=Bt.btoa&&typeof Bt.btoa=="function"?function(Ct){return Bt.btoa(Ct)}:function(Ct){if(Ct.match(/[^\x00-\xFF]/))throw new RangeError("The string contains invalid characters.");return Ct.replace(/[\s\S]{1,3}/g,wt)},Ye=function(Ct){return Ot(vt(String(Ct)))},We=function(Ct){return Ct.replace(/[+\/]/g,function(Ln){return Ln=="+"?"-":"_"}).replace(/=/g,"")},pt=function(Ct,Ln){return Ln?We(Ye(Ct)):Ye(Ct)},mt=function(Ct){return pt(Ct,!0)},Jt;Bt.Uint8Array&&(Jt=function(Ct,Ln){for(var Mn="",bn=0,Dr=Ct.length;bn>>18)+dt.charAt(Rn>>>12&63)+(typeof yt!="undefined"?dt.charAt(Rn>>>6&63):"=")+(typeof tt!="undefined"?dt.charAt(Rn&63):"=")}return Ln?We(Mn):Mn});var Qt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,$t=function(Ct){switch(Ct.length){case 4:var Ln=(7&Ct.charCodeAt(0))<<18|(63&Ct.charCodeAt(1))<<12|(63&Ct.charCodeAt(2))<<6|63&Ct.charCodeAt(3),Mn=Ln-65536;return Xe((Mn>>>10)+55296)+Xe((Mn&1023)+56320);case 3:return Xe((15&Ct.charCodeAt(0))<<12|(63&Ct.charCodeAt(1))<<6|63&Ct.charCodeAt(2));default:return Xe((31&Ct.charCodeAt(0))<<6|63&Ct.charCodeAt(1))}},Ft=function(Ct){return Ct.replace(Qt,$t)},Gt=function(Ct){var Ln=Ct.length,Mn=Ln%4,bn=(Ln>0?Le[Ct.charAt(0)]<<18:0)|(Ln>1?Le[Ct.charAt(1)]<<12:0)|(Ln>2?Le[Ct.charAt(2)]<<6:0)|(Ln>3?Le[Ct.charAt(3)]:0),Dr=[Xe(bn>>>16),Xe(bn>>>8&255),Xe(bn&255)];return Dr.length-=[0,0,2,1][Mn],Dr.join("")},Je=Bt.atob&&typeof Bt.atob=="function"?function(Ct){return Bt.atob(Ct)}:function(Ct){return Ct.replace(/\S{1,4}/g,Gt)},Sn=function(Ct){return Je(String(Ct).replace(/[^A-Za-z0-9\+\/]/g,""))},_n=function(Ct){return Ft(Je(Ct))},Cn=function(Ct){return String(Ct).replace(/[-_]/g,function(Ln){return Ln=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,"")},Vt=function(Ct){return _n(Cn(Ct))},pn;Bt.Uint8Array&&(pn=function(Ct){return Uint8Array.from(Sn(Cn(Ct)),function(Ln){return Ln.charCodeAt(0)})});var et=function(){var Ct=Bt.Base64;return Bt.Base64=Rt,Ct};if(Bt.Base64={VERSION:Dt,atob:Sn,btoa:Ot,fromBase64:Vt,toBase64:pt,utob:vt,encode:pt,encodeURI:mt,btou:Ft,decode:Vt,noConflict:et,fromUint8Array:Jt,toUint8Array:pn},typeof Object.defineProperty=="function"){var tn=function(Ct){return{value:Ct,enumerable:!1,writable:!0,configurable:!0}};Bt.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",tn(function(){return Vt(this)})),Object.defineProperty(String.prototype,"toBase64",tn(function(Ct){return pt(this,Ct)})),Object.defineProperty(String.prototype,"toBase64URI",tn(function(){return pt(this,!0)}))}}return Bt.Meteor&&(Base64=Bt.Base64),Hn.exports?Hn.exports.Base64=Bt.Base64:(se=[],je=function(){return Bt.Base64}.apply(xr,se),je!==void 0&&(Hn.exports=je)),{Base64:Bt.Base64}})},2859:function(Hn,xr,he){"use strict";he.d(xr,{hP:function(){return On}});var se=function(qe,Ie){return(se=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Ce,He){Ce.__proto__=He}||function(Ce,He){for(var it in He)Object.prototype.hasOwnProperty.call(He,it)&&(Ce[it]=He[it])})(qe,Ie)};function je(qe,Ie){function Ce(){this.constructor=qe}se(qe,Ie),qe.prototype=Ie===null?Object.create(Ie):(Ce.prototype=Ie.prototype,new Ce)}function Bt(qe,Ie,Ce,He){return new(Ce||(Ce=Promise))(function(it,we){function Xt(Zt){try{Lt(He.next(Zt))}catch(or){we(or)}}function wn(Zt){try{Lt(He.throw(Zt))}catch(or){we(or)}}function Lt(Zt){var or;Zt.done?it(Zt.value):(or=Zt.value,or instanceof Ce?or:new Ce(function(Xn){Xn(or)})).then(Xt,wn)}Lt((He=He.apply(qe,Ie||[])).next())})}function Rt(qe,Ie){var Ce,He,it,we,Xt={label:0,sent:function(){if(1&it[0])throw it[1];return it[1]},trys:[],ops:[]};return we={next:wn(0),throw:wn(1),return:wn(2)},typeof Symbol=="function"&&(we[Symbol.iterator]=function(){return this}),we;function wn(Lt){return function(Zt){return function(or){if(Ce)throw new TypeError("Generator is already executing.");for(;Xt;)try{if(Ce=1,He&&(it=2&or[0]?He.return:or[0]?He.throw||((it=He.return)&&it.call(He),0):He.next)&&!(it=it.call(He,or[1])).done)return it;switch(He=0,it&&(or=[2&or[0],it.value]),or[0]){case 0:case 1:it=or;break;case 4:return Xt.label++,{value:or[1],done:!1};case 5:Xt.label++,He=or[1],or=[0];continue;case 7:or=Xt.ops.pop(),Xt.trys.pop();continue;default:if(it=Xt.trys,!((it=it.length>0&&it[it.length-1])||or[0]!==6&&or[0]!==2)){Xt=0;continue}if(or[0]===3&&(!it||or[1]>it[0]&&or[1]',"select"),this.addActionButton(He,'',"delete"),this.uiStyleSettings.clearButtonVisible&&this.addActionButton(He,'',"clear"),this.uiStyleSettings.undoButtonVisible&&this.addActionButton(He,'',"undo"),this.uiStyleSettings.redoButtonVisible&&this.addActionButton(He,'',"redo"),this.uiStyleSettings.zoomButtonVisible&&this.addActionButton(He,'',"zoom"),this.uiStyleSettings.zoomButtonVisible&&this.uiStyleSettings.zoomOutButtonVisible&&this.addActionButton(He,'',"zoom-out"),this.uiStyleSettings.notesButtonVisible&&this.addActionButton(He,'',"notes"),this.markerButtonBlock=document.createElement("div"),this.markerButtonBlock.className=this.toolbarBlockStyleClass.name,this.markerButtonBlock.style.flexGrow="2",this.markerButtonBlock.style.textAlign="center",this.uiContainer.appendChild(this.markerButtonBlock),this.markerButtonOverflowBlock=document.createElement("div"),this.markerButtonOverflowBlock.className=this.toolbarOverflowBlockStyleClass.name+" "+(this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName?this.uiStyleSettings.toolbarOverflowBlockStyleColorsClassName:this.toolbarOverflowBlockStyleColorsClass.name),this.markerButtonOverflowBlock.style.display="none",this.uiContainer.appendChild(this.markerButtonOverflowBlock),this.markerItems&&(this.markerItems.forEach(function(we){var Xt=document.createElement("div");Xt.className=""+Ce.toolbarButtonStyleClass.name,Xt.setAttribute("data-type-name",we.typeName),Xt.innerHTML=we.icon,Xt.addEventListener("click",function(){Ce.markerToolbarButtonClicked(Xt,we)}),Ce.buttons.push(Xt),Ce.markerButtons.push(Xt)}),this.overflowButton=document.createElement("div"),this.overflowButton.className=this.toolbarButtonStyleClass.name+" "+(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name),this.overflowButton.innerHTML='',this.overflowButton.addEventListener("click",this.overflowButtonClicked),this.markerButtonBlock.appendChild(this.overflowButton));var it=document.createElement("div");it.className=this.toolbarBlockStyleClass.name,it.style.whiteSpace="nowrap",it.style.display=this.uiStyleSettings.resultButtonBlockVisible!==!1?"":"none",this.uiContainer.appendChild(it),this.addActionButton(it,'',"render"),this.addActionButton(it,'',"close"),this.markerjsContainer.appendChild(this.uiContainer),this.setSelectMode(),this.setCurrentMarker(),this.adjustLayout()},qe.prototype.addButtonClickListener=function(Ie){this.buttonClickListeners.push(Ie)},qe.prototype.removeButtonClickListener=function(Ie){this.buttonClickListeners.indexOf(Ie)>-1&&this.buttonClickListeners.splice(this.buttonClickListeners.indexOf(Ie),1)},qe.prototype.setSelectMode=function(){this.resetButtonStyles(),this.setActiveButton(this.buttons[0])},qe.prototype.adjustLayout=function(){if(this.markerButtons&&this.markerButtons.length>0){var Ie=Math.floor(this.markerButtonBlock.clientWidth/this.uiStyleSettings.toolbarHeight)-1;this.markerButtonBlock.innerHTML="",this.markerButtonOverflowBlock.innerHTML="";for(var Ce=0;Ce0&&this.buttonClickListeners.forEach(function(He){return He("marker",Ce)}),this.markerButtonOverflowBlock.style.display="none"},qe.prototype.actionToolbarButtonClicked=function(Ie,Ce){this.buttonClickListeners&&this.buttonClickListeners.length>0&&this.buttonClickListeners.forEach(function(He){return He("action",Ce)}),this.markerButtonOverflowBlock.style.display="none",this.setActiveButton(this.buttons[0])},qe.prototype.setActiveButton=function(Ie){this.resetButtonStyles(),Ie.className=Ie.className.replace(this.uiStyleSettings.toolbarButtonStyleColorsClassName?this.uiStyleSettings.toolbarButtonStyleColorsClassName:this.toolbarButtonStyleColorsClass.name,"").trim(),Ie.className+=" "+(this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName?this.uiStyleSettings.toolbarActiveButtonStyleColorsClassName:this.toolbarActiveButtonStyleColorsClass.name)},qe.prototype.setActiveMarkerButton=function(Ie){var Ce=this.markerButtons.find(function(He){return He.getAttribute("data-type-name")===Ie});Ce&&this.setActiveButton(Ce)},qe.prototype.setCurrentMarker=function(Ie){var Ce=this;this.currentMarker=Ie,this.buttons.filter(function(He){return/delete|notes/.test(He.getAttribute("data-action"))}).forEach(function(He){Ce.currentMarker===void 0?(He.style.fillOpacity="0.4",He.style.pointerEvents="none"):(He.style.fillOpacity="1",He.style.pointerEvents="all")})},qe}(),Ye=function(){function qe(Ie,Ce,He,it){this.panels=[],this.panelButtons=[],this.markerjsContainer=Ie,this.displayMode=Ce,this.uiStyleSettings=He,this.styles=it,this.panelButtonClick=this.panelButtonClick.bind(this),this.addStyles()}return qe.prototype.addStyles=function(){var Ie;this.toolboxStyleClass=this.styles.addClass(new wt("toolbox",` - width: 100%; - flex-shrink: 0; - display: flex; - flex-direction: column; - font-family: sans-serif; - `+(this.displayMode==="popup"?"height:"+2.5*this.uiStyleSettings.toolbarHeight+"px;":"")+` - box-sizing: content-box; - `+(this.displayMode==="popup"?"background-color: "+this.uiStyleSettings.canvasBackgroundColor+";":"")+` - `+(this.displayMode==="inline"?"border-bottom-left-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+` - `+(this.displayMode==="inline"?"border-bottom-right-radius: "+Math.round(this.uiStyleSettings.toolbarHeight/10)+"px;":"")+` - overflow: hidden; - `)),this.toolboxStyleColorsClass=this.styles.addClass(new wt("toolbox_colors",` - color: `+this.uiStyleSettings.toolboxColor+`; - `));var Ce=this.uiStyleSettings.toolbarHeight/4;this.toolboxButtonRowStyleClass=this.styles.addClass(new wt("toolbox-button-row",` - display: flex; - cursor: default; - box-sizing: content-box; - `)),this.toolboxButtonRowStyleColorsClass=this.styles.addClass(new wt("toolbox-button-row_colors",` - background-color: `+this.uiStyleSettings.toolbarBackgroundColor+`; - `)),this.toolboxPanelRowStyleClass=this.styles.addClass(new wt("toolbox-panel-row",` - display: flex; - `+(this.displayMode==="inline"?"position: absolute;":"")+` - `+(this.displayMode==="inline"?"bottom: "+this.uiStyleSettings.toolbarHeight+"px;":"")+` - cursor: default; - height: `+1.5*this.uiStyleSettings.toolbarHeight+`px; - `+(this.displayMode==="inline"?"width: 100%;":"")+` - box-sizing: content-box; - `)),this.toolboxPanelRowStyleColorsClass=this.styles.addClass(new wt("toolbox-panel-row_colors",` - background-color: `+((Ie=this.uiStyleSettings.toolboxBackgroundColor)!==null&&Ie!==void 0?Ie:this.uiStyleSettings.toolbarBackgroundHoverColor)+`; - `)),this.toolboxButtonStyleClass=this.styles.addClass(new wt("toolbox_button",` - display: inline-block; - width: `+(this.uiStyleSettings.toolbarHeight-2*Ce)+`px; - height: `+(this.uiStyleSettings.toolbarHeight-2*Ce)+`px; - padding: `+Ce+`px; - box-sizing: content-box; - `)),this.toolboxButtonStyleColorsClass=this.styles.addClass(new wt("toolbox-button_colors",` - fill: `+this.uiStyleSettings.toolbarColor+`; - `)),this.toolboxActiveButtonStyleColorsClass=this.styles.addClass(new wt("toolbox-active-button_colors",` - background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+`; - fill: `+this.uiStyleSettings.toolbarColor+`; - `)),this.styles.addRule(new vt("."+this.toolboxButtonStyleColorsClass.name+":hover",` - background-color: `+this.uiStyleSettings.toolbarBackgroundHoverColor+` - `)),this.styles.addRule(new vt("."+this.toolboxButtonStyleClass.name+" svg",` - height: `+this.uiStyleSettings.toolbarHeight/2+`px; - `))},qe.prototype.show=function(Ie){var Ce;this.uiContainer=document.createElement("div"),this.uiContainer.style.visibility=Ie,this.uiContainer.className=this.toolboxStyleClass.name+" "+((Ce=this.uiStyleSettings.toolboxStyleColorsClassName)!==null&&Ce!==void 0?Ce:this.toolboxStyleColorsClass.name),this.markerjsContainer.appendChild(this.uiContainer)},qe.prototype.setPanelButtons=function(Ie){var Ce,He,it=this;this.panels=Ie,this.uiContainer!==void 0&&(this.uiContainer.innerHTML="",this.panelRow=document.createElement("div"),this.panelRow.className=this.toolboxPanelRowStyleClass.name+" "+((Ce=this.uiStyleSettings.toolboxPanelRowStyleColorsClassName)!==null&&Ce!==void 0?Ce:this.toolboxPanelRowStyleColorsClass.name),this.uiContainer.appendChild(this.panelRow),this.buttonRow=document.createElement("div"),this.buttonRow.className=this.toolboxButtonRowStyleClass.name+" "+((He=this.uiStyleSettings.toolboxButtonRowStyleColorsClassName)!==null&&He!==void 0?He:this.toolboxButtonRowStyleColorsClass.name)+" ",this.uiContainer.appendChild(this.buttonRow),this.panelButtons.splice(0),this.panels.forEach(function(we){var Xt;we.uiStyleSettings=it.uiStyleSettings;var wn=document.createElement("div");wn.className=it.toolboxButtonStyleClass.name+" "+((Xt=it.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&Xt!==void 0?Xt:it.toolboxButtonStyleColorsClass.name),wn.innerHTML=we.icon,wn.title=we.title,wn.addEventListener("click",function(){it.panelButtonClick(we)}),it.panelButtons.push(wn),it.buttonRow.appendChild(wn)}),this.displayMode==="inline"?this.panelRow.style.display="none":this.panelRow.style.visibility="hidden")},qe.prototype.panelButtonClick=function(Ie){var Ce=this,He=-1;if(Ie!==this.activePanel){He=this.panels.indexOf(Ie),this.panelRow.innerHTML="";var it=Ie.getUi();it.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.panelRow.appendChild(it),this.panelRow.style.display="flex",this.panelRow.style.visibility="visible",this.panelRow.className=this.panelRow.className.replace(this.styles.fadeOutAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeInAnimationClassName,this.activePanel=Ie}else this.activePanel=void 0,this.panelRow.className=this.panelRow.className.replace(this.styles.fadeInAnimationClassName,""),this.panelRow.className+=" "+this.styles.fadeOutAnimationClassName,setTimeout(function(){Ce.displayMode==="inline"?Ce.panelRow.style.display="none":Ce.panelRow.style.visibility="hidden"},200);this.panelButtons.forEach(function(we,Xt){var wn,Lt;we.className=Ce.toolboxButtonStyleClass.name+" "+(Xt===He?""+((wn=Ce.uiStyleSettings.toolboxActiveButtonStyleColorsClassName)!==null&&wn!==void 0?wn:Ce.toolboxActiveButtonStyleColorsClass.name):""+((Lt=Ce.uiStyleSettings.toolboxButtonStyleColorsClassName)!==null&&Lt!==void 0?Lt:Ce.toolboxButtonStyleColorsClass.name))})},qe}(),We=function(qe,Ie){this.title=qe,this.icon=Ie},pt=function(qe){function Ie(Ce,He,it,we){var Xt=qe.call(this,Ce,we||'')||this;return Xt.colors=[],Xt.addTransparent=!1,Xt.colorBoxes=[],Xt.colors=He,Xt.currentColor=it,Xt.setCurrentColor=Xt.setCurrentColor.bind(Xt),Xt.getColorBox=Xt.getColorBox.bind(Xt),Xt}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");return He.style.overflow="hidden",He.style.whiteSpace="nowrap",this.colors.forEach(function(it){var we=Ce.getColorBox(it);He.appendChild(we),Ce.colorBoxes.push(we)}),He},Ie.prototype.getColorBox=function(Ce){var He=this,it=this.uiStyleSettings.toolbarHeight/4,we=this.uiStyleSettings.toolbarHeight-it,Xt=document.createElement("div");Xt.style.display="inline-block",Xt.style.boxSizing="content-box",Xt.style.width=we-2+"px",Xt.style.height=we-2+"px",Xt.style.padding="1px",Xt.style.marginRight="2px",Xt.style.marginBottom="2px",Xt.style.borderWidth="2px",Xt.style.borderStyle="solid",Xt.style.borderRadius=(we+2)/2+"px",Xt.style.borderColor=Ce===this.currentColor?this.uiStyleSettings.toolboxAccentColor:"transparent",Xt.addEventListener("click",function(){He.setCurrentColor(Ce,Xt)});var wn=document.createElement("div");return wn.style.display="inline-block",wn.style.width=we-2+"px",wn.style.height=we-2+"px",wn.style.backgroundColor=Ce,wn.style.borderRadius=we/2+"px",Ce==="transparent"&&(wn.style.fill=this.uiStyleSettings.toolboxAccentColor,wn.innerHTML=` - - `),Xt.appendChild(wn),Xt},Ie.prototype.setCurrentColor=function(Ce,He){var it=this;this.currentColor=Ce,this.colorBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onColorChanged&&this.onColorChanged(Ce)},Ie}(We),mt=function(){function qe(Ie,Ce,He){this._state="new",this._isSelected=!1,this._container=Ie,this._overlayContainer=Ce,this.globalSettings=He,this.stateChanged=this.stateChanged.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this)}return Object.defineProperty(qe.prototype,"typeName",{get:function(){return Object.getPrototypeOf(this).constructor.typeName},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"container",{get:function(){return this._container},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"overlayContainer",{get:function(){return this._overlayContainer},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"toolboxPanels",{get:function(){return[]},enumerable:!1,configurable:!0}),qe.prototype.ownsTarget=function(Ie){return!1},Object.defineProperty(qe.prototype,"isSelected",{get:function(){return this._isSelected},enumerable:!1,configurable:!0}),qe.prototype.select=function(){this.container.style.cursor="move",this._isSelected=!0,this.manipulationStartState=this.getState()},qe.prototype.deselect=function(){this.container.style.cursor="default",this._isSelected=!1,this.stateChanged()},qe.prototype.pointerDown=function(Ie,Ce){},qe.prototype.dblClick=function(Ie,Ce){},qe.prototype.manipulate=function(Ie){},qe.prototype.pointerUp=function(Ie){this.stateChanged()},qe.prototype.dispose=function(){},qe.prototype.addMarkerVisualToContainer=function(Ie){this.container.childNodes.length>0?this.container.insertBefore(Ie,this.container.childNodes[0]):this.container.appendChild(Ie)},qe.prototype.getState=function(){return{typeName:qe.typeName,state:this.state,notes:this.notes}},qe.prototype.restoreState=function(Ie){this._state=Ie.state,this.notes=Ie.notes},qe.prototype.scale=function(Ie,Ce){},qe.prototype.colorChanged=function(Ie){this.onColorChanged&&this.onColorChanged(Ie),this.stateChanged()},qe.prototype.fillColorChanged=function(Ie){this.onFillColorChanged&&this.onFillColorChanged(Ie),this.stateChanged()},qe.prototype.stateChanged=function(){if(this.onStateChanged&&this.state!=="creating"&&this.state!=="new"){var Ie=this.getState();this.manipulationStartState!==void 0&&(this.manipulationStartState.state="select"),Ie.state="select",JSON.stringify(this.manipulationStartState)!=JSON.stringify(Ie)&&this.onStateChanged(this)}},qe.typeName="MarkerBase",qe}(),Jt=function(){function qe(){this.findGripByVisual=this.findGripByVisual.bind(this)}return qe.prototype.findGripByVisual=function(Ie){return this.topLeft.ownsTarget(Ie)?this.topLeft:this.topCenter.ownsTarget(Ie)?this.topCenter:this.topRight.ownsTarget(Ie)?this.topRight:this.centerLeft.ownsTarget(Ie)?this.centerLeft:this.centerRight.ownsTarget(Ie)?this.centerRight:this.bottomLeft.ownsTarget(Ie)?this.bottomLeft:this.bottomCenter.ownsTarget(Ie)?this.bottomCenter:this.bottomRight.ownsTarget(Ie)?this.bottomRight:void 0},qe}(),Qt=function(){function qe(){this.GRIP_SIZE=10,this.visual=dt.createGroup(),this.visual.appendChild(dt.createCircle(1.5*this.GRIP_SIZE,[["fill","transparent"]])),this.visual.appendChild(dt.createCircle(this.GRIP_SIZE,[["fill","#cccccc"],["fill-opacity","0.7"],["stroke","#333333"],["stroke-width","2"],["stroke-opacity","0.7"]]))}return qe.prototype.ownsTarget=function(Ie){return Ie===this.visual||Ie===this.visual.childNodes[0]||Ie===this.visual.childNodes[1]},qe}(),$t=function(){function qe(){}return qe.toITransformMatrix=function(Ie){return{a:Ie.a,b:Ie.b,c:Ie.c,d:Ie.d,e:Ie.e,f:Ie.f}},qe.toSVGMatrix=function(Ie,Ce){return Ie.a=Ce.a,Ie.b=Ce.b,Ie.c=Ce.c,Ie.d=Ce.d,Ie.e=Ce.e,Ie.f=Ce.f,Ie},qe}(),Ft=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.left=0,we.top=0,we.width=0,we.height=0,we.defaultSize={x:50,y:20},we.offsetX=0,we.offsetY=0,we.rotationAngle=0,we.CB_DISTANCE=10,we._suppressMarkerCreateEvent=!1,we.container.transform.baseVal.appendItem(dt.createTransform()),we.setupControlBox(),we}return je(Ie,qe),Object.defineProperty(Ie.prototype,"centerX",{get:function(){return this.left+this.width/2},enumerable:!1,configurable:!0}),Object.defineProperty(Ie.prototype,"centerY",{get:function(){return this.top+this.height/2},enumerable:!1,configurable:!0}),Object.defineProperty(Ie.prototype,"visual",{get:function(){return this._visual},set:function(Ce){this._visual=Ce;var He=dt.createTransform();this._visual.transform.baseVal.appendItem(He)},enumerable:!1,configurable:!0}),Ie.prototype.ownsTarget=function(Ce){return!!qe.prototype.ownsTarget.call(this,Ce)||!!(this.controlGrips.findGripByVisual(Ce)!==void 0||this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(Ce))},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.state==="new"&&(this.left=Ce.x,this.top=Ce.y),this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.manipulationStartWidth=this.width,this.manipulationStartHeight=this.height;var it=this.unrotatePoint(Ce);if(this.manipulationStartX=it.x,this.manipulationStartY=it.y,this.offsetX=it.x-this.left,this.offsetY=it.y-this.top,this.state!=="new")if(this.select(),this.activeGrip=this.controlGrips.findGripByVisual(He),this.activeGrip!==void 0)this._state="resize";else if(this.rotatorGrip!==void 0&&this.rotatorGrip.ownsTarget(He)){this.activeGrip=this.rotatorGrip;var we=this.rotatePoint({x:this.centerX,y:this.centerY});this.left=we.x-this.width/2,this.top=we.y-this.height/2,this.moveVisual({x:this.left,y:this.top});var Xt=this.container.transform.baseVal.getItem(0);Xt.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(Xt,0),this.adjustControlBox(),this._state="rotate"}else this._state="move"},Ie.prototype.pointerUp=function(Ce){var He=this.state;qe.prototype.pointerUp.call(this,Ce),this.state==="creating"&&this.width<10&&this.height<10?(this.width=this.defaultSize.x,this.height=this.defaultSize.y):this.manipulate(Ce),this._state="select",He==="creating"&&this.onMarkerCreated&&this._suppressMarkerCreateEvent===!1&&this.onMarkerCreated(this)},Ie.prototype.moveVisual=function(Ce){this.visual.style.transform="translate("+Ce.x+"px, "+Ce.y+"px)"},Ie.prototype.manipulate=function(Ce){var He=this.unrotatePoint(Ce);this.state==="creating"?this.resize(Ce):this.state==="move"?(this.left=this.manipulationStartLeft+(He.x-this.manipulationStartLeft)-this.offsetX,this.top=this.manipulationStartTop+(He.y-this.manipulationStartTop)-this.offsetY,this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()):this.state==="resize"?this.resize(He):this.state==="rotate"&&this.rotate(Ce)},Ie.prototype.resize=function(Ce){var He=this.manipulationStartLeft,it=this.manipulationStartWidth,we=this.manipulationStartTop,Xt=this.manipulationStartHeight;switch(this.activeGrip){case this.controlGrips.bottomLeft:case this.controlGrips.centerLeft:case this.controlGrips.topLeft:He=this.manipulationStartLeft+Ce.x-this.manipulationStartX,it=this.manipulationStartWidth+this.manipulationStartLeft-He;break;case this.controlGrips.bottomRight:case this.controlGrips.centerRight:case this.controlGrips.topRight:case void 0:it=this.manipulationStartWidth+Ce.x-this.manipulationStartX}switch(this.activeGrip){case this.controlGrips.topCenter:case this.controlGrips.topLeft:case this.controlGrips.topRight:we=this.manipulationStartTop+Ce.y-this.manipulationStartY,Xt=this.manipulationStartHeight+this.manipulationStartTop-we;break;case this.controlGrips.bottomCenter:case this.controlGrips.bottomLeft:case this.controlGrips.bottomRight:case void 0:Xt=this.manipulationStartHeight+Ce.y-this.manipulationStartY}it>=0?(this.left=He,this.width=it):(this.left=He+it,this.width=-it),Xt>=0?(this.top=we,this.height=Xt):(this.top=we+Xt,this.height=-Xt),this.setSize()},Ie.prototype.setSize=function(){this.moveVisual({x:this.left,y:this.top}),this.adjustControlBox()},Ie.prototype.rotate=function(Ce){if(Math.abs(Ce.x-this.centerX)>.1){var He=Math.sign(Ce.x-this.centerX);this.rotationAngle=180*Math.atan((Ce.y-this.centerY)/(Ce.x-this.centerX))/Math.PI+90*He,this.applyRotation()}},Ie.prototype.applyRotation=function(){var Ce=this.container.transform.baseVal.getItem(0);Ce.setRotate(this.rotationAngle,this.centerX,this.centerY),this.container.transform.baseVal.replaceItem(Ce,0)},Ie.prototype.rotatePoint=function(Ce){if(this.rotationAngle===0)return Ce;var He=this.container.getCTM(),it=dt.createPoint(Ce.x,Ce.y);return{x:(it=it.matrixTransform(He)).x,y:it.y}},Ie.prototype.unrotatePoint=function(Ce){if(this.rotationAngle===0)return Ce;var He=this.container.getCTM();He=He.inverse();var it=dt.createPoint(Ce.x,Ce.y);return{x:(it=it.matrixTransform(He)).x,y:it.y}},Ie.prototype.select=function(){qe.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},Ie.prototype.deselect=function(){qe.prototype.deselect.call(this),this.controlBox.style.display="none"},Ie.prototype.setupControlBox=function(){this.controlBox=dt.createGroup();var Ce=dt.createTransform();Ce.setTranslate(-this.CB_DISTANCE/2,-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.appendItem(Ce),this.container.appendChild(this.controlBox),this.controlRect=dt.createRect(this.width+this.CB_DISTANCE,this.height+this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"],["fill","transparent"],["pointer-events","none"]]),this.controlBox.appendChild(this.controlRect),this.globalSettings.disableRotation!==!0&&(this.rotatorGripLine=dt.createLine((this.width+2*this.CB_DISTANCE)/2,this.top-this.CB_DISTANCE,(this.width+2*this.CB_DISTANCE)/2,this.top-3*this.CB_DISTANCE,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.appendChild(this.rotatorGripLine)),this.controlGrips=new Jt,this.addControlGrips(),this.controlBox.style.display="none"},Ie.prototype.adjustControlBox=function(){var Ce=this.controlBox.transform.baseVal.getItem(0);Ce.setTranslate(this.left-this.CB_DISTANCE/2,this.top-this.CB_DISTANCE/2),this.controlBox.transform.baseVal.replaceItem(Ce,0),this.controlRect.setAttribute("width",(this.width+this.CB_DISTANCE).toString()),this.controlRect.setAttribute("height",(this.height+this.CB_DISTANCE).toString()),this.rotatorGripLine!==void 0&&(this.rotatorGripLine.setAttribute("x1",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y1",(-this.CB_DISTANCE/2).toString()),this.rotatorGripLine.setAttribute("x2",((this.width+this.CB_DISTANCE)/2).toString()),this.rotatorGripLine.setAttribute("y2",(3*-this.CB_DISTANCE).toString())),this.positionGrips()},Ie.prototype.addControlGrips=function(){this.controlGrips.topLeft=this.createGrip(),this.controlGrips.topCenter=this.createGrip(),this.controlGrips.topRight=this.createGrip(),this.controlGrips.centerLeft=this.createGrip(),this.controlGrips.centerRight=this.createGrip(),this.controlGrips.bottomLeft=this.createGrip(),this.controlGrips.bottomCenter=this.createGrip(),this.controlGrips.bottomRight=this.createGrip(),this.globalSettings.disableRotation!==!0&&(this.rotatorGrip=this.createGrip()),this.positionGrips()},Ie.prototype.createGrip=function(){var Ce=new Qt;return Ce.visual.transform.baseVal.appendItem(dt.createTransform()),this.controlBox.appendChild(Ce.visual),Ce},Ie.prototype.positionGrips=function(){var Ce=this.controlGrips.topLeft.GRIP_SIZE,He=-Ce/2,it=He,we=(this.width+this.CB_DISTANCE)/2-Ce/2,Xt=(this.height+this.CB_DISTANCE)/2-Ce/2,wn=this.height+this.CB_DISTANCE-Ce/2,Lt=this.width+this.CB_DISTANCE-Ce/2;this.positionGrip(this.controlGrips.topLeft.visual,He,it),this.positionGrip(this.controlGrips.topCenter.visual,we,it),this.positionGrip(this.controlGrips.topRight.visual,Lt,it),this.positionGrip(this.controlGrips.centerLeft.visual,He,Xt),this.positionGrip(this.controlGrips.centerRight.visual,Lt,Xt),this.positionGrip(this.controlGrips.bottomLeft.visual,He,wn),this.positionGrip(this.controlGrips.bottomCenter.visual,we,wn),this.positionGrip(this.controlGrips.bottomRight.visual,Lt,wn),this.rotatorGrip!==void 0&&this.positionGrip(this.rotatorGrip.visual,we,it-3*this.CB_DISTANCE)},Ie.prototype.positionGrip=function(Ce,He,it){var we=Ce.transform.baseVal.getItem(0);we.setTranslate(He,it),Ce.transform.baseVal.replaceItem(we,0)},Ie.prototype.hideControlBox=function(){this.controlBox.style.display="none"},Ie.prototype.showControlBox=function(){this.controlBox.style.display=""},Ie.prototype.getState=function(){return Object.assign({left:this.left,top:this.top,width:this.width,height:this.height,rotationAngle:this.rotationAngle,visualTransformMatrix:$t.toITransformMatrix(this.visual.transform.baseVal.getItem(0).matrix),containerTransformMatrix:$t.toITransformMatrix(this.container.transform.baseVal.getItem(0).matrix)},qe.prototype.getState.call(this))},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce);var He=Ce;this.left=He.left,this.top=He.top,this.width=He.width,this.height=He.height,this.rotationAngle=He.rotationAngle,this.visual.transform.baseVal.getItem(0).setMatrix($t.toSVGMatrix(this.visual.transform.baseVal.getItem(0).matrix,He.visualTransformMatrix)),this.container.transform.baseVal.getItem(0).setMatrix($t.toSVGMatrix(this.container.transform.baseVal.getItem(0).matrix,He.containerTransformMatrix))},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He);var it=this.rotatePoint({x:this.left,y:this.top}),we=this.unrotatePoint({x:it.x*Ce,y:it.y*He});this.left=we.x,this.top=we.y,this.width=this.width*Ce,this.height=this.height*He,this.adjustControlBox()},Ie}(mt),Gt=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.fillColor="transparent",we.strokeColor="transparent",we.strokeWidth=0,we.strokeDasharray="",we.opacity=1,we.setStrokeColor=we.setStrokeColor.bind(we),we.setFillColor=we.setFillColor.bind(we),we.setStrokeWidth=we.setStrokeWidth.bind(we),we.setStrokeDasharray=we.setStrokeDasharray.bind(we),we.createVisual=we.createVisual.bind(we),we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.visual)},Ie.prototype.createVisual=function(){this.visual=dt.createRect(1,1,[["fill",this.fillColor],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray],["opacity",this.opacity.toString()]]),this.addMarkerVisualToContainer(this.visual)},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.state==="new"&&(this.createVisual(),this.moveVisual(Ce),this._state="creating")},Ie.prototype.manipulate=function(Ce){qe.prototype.manipulate.call(this,Ce)},Ie.prototype.resize=function(Ce){qe.prototype.resize.call(this,Ce),this.setSize()},Ie.prototype.setSize=function(){qe.prototype.setSize.call(this),dt.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]])},Ie.prototype.pointerUp=function(Ce){qe.prototype.pointerUp.call(this,Ce),this.setSize()},Ie.prototype.setStrokeColor=function(Ce){this.strokeColor=Ce,this.visual&&dt.setAttributes(this.visual,[["stroke",this.strokeColor]]),this.colorChanged(Ce),this.stateChanged()},Ie.prototype.setFillColor=function(Ce){this.fillColor=Ce,this.visual&&dt.setAttributes(this.visual,[["fill",this.fillColor]]),this.stateChanged()},Ie.prototype.setStrokeWidth=function(Ce){this.strokeWidth=Ce,this.visual&&dt.setAttributes(this.visual,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},Ie.prototype.setStrokeDasharray=function(Ce){this.strokeDasharray=Ce,this.visual&&dt.setAttributes(this.visual,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},Ie.prototype.getState=function(){return Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:this.opacity},qe.prototype.getState.call(this))},Ie.prototype.restoreState=function(Ce){var He=Ce;this.fillColor=He.fillColor,this.strokeColor=He.strokeColor,this.strokeWidth=He.strokeWidth,this.strokeDasharray=He.strokeDasharray,this.opacity=He.opacity,this.createVisual(),qe.prototype.restoreState.call(this,Ce),this.setSize()},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He),this.setSize()},Ie.title="Rectangle marker",Ie}(Ft),Je=function(qe){function Ie(Ce,He,it,we){var Xt=qe.call(this,Ce,we||'')||this;return Xt.widths=[],Xt.widthBoxes=[],Xt.widths=He,Xt.currentWidth=it,Xt.setCurrentWidth=Xt.setCurrentWidth.bind(Xt),Xt}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");return He.style.display="flex",He.style.overflow="hidden",He.style.flexGrow="2",this.widths.forEach(function(it){var we=document.createElement("div");we.style.display="flex",we.style.flexGrow="2",we.style.alignItems="center",we.style.justifyContent="space-between",we.style.padding="5px",we.style.borderWidth="2px",we.style.borderStyle="solid",we.style.borderColor=it===Ce.currentWidth?Ce.uiStyleSettings.toolboxAccentColor:"transparent",we.addEventListener("click",function(){Ce.setCurrentWidth(it,we)}),He.appendChild(we);var Xt=document.createElement("div");Xt.innerText=it.toString(),Xt.style.marginRight="5px",we.appendChild(Xt);var wn=document.createElement("div");wn.style.minHeight="20px",wn.style.flexGrow="2",wn.style.display="flex",wn.style.alignItems="center";var Lt=document.createElement("hr");Lt.style.minWidth="20px",Lt.style.border="0px",Lt.style.borderTop=it+"px solid "+Ce.uiStyleSettings.toolboxColor,Lt.style.flexGrow="2",wn.appendChild(Lt),we.appendChild(wn),Ce.widthBoxes.push(we)}),He},Ie.prototype.setCurrentWidth=function(Ce,He){var it=this;this.currentWidth=Ce,this.widthBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onWidthChanged&&this.onWidthChanged(this.currentWidth)},Ie}(We),Sn=function(qe){function Ie(Ce,He,it,we){var Xt=qe.call(this,Ce,we||'')||this;return Xt.styles=[],Xt.styleBoxes=[],Xt.styles=He,Xt.currentStyle=it,Xt.setCurrentStyle=Xt.setCurrentStyle.bind(Xt),Xt}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");return He.style.display="flex",He.style.overflow="hidden",He.style.flexGrow="2",this.styles.forEach(function(it){var we=document.createElement("div");we.style.display="flex",we.style.alignItems="center",we.style.justifyContent="space-between",we.style.padding="5px",we.style.borderWidth="2px",we.style.borderStyle="solid",we.style.overflow="hidden",we.style.maxWidth=100/Ce.styles.length-5+"%",we.style.borderColor=it===Ce.currentStyle?Ce.uiStyleSettings.toolboxAccentColor:"transparent",we.addEventListener("click",function(){Ce.setCurrentStyle(it,we)}),He.appendChild(we);var Xt=document.createElement("div");Xt.style.minHeight="20px",Xt.style.flexGrow="2",Xt.style.overflow="hidden";var wn=` - - `;Xt.innerHTML=wn,we.appendChild(Xt),Ce.styleBoxes.push(we)}),He},Ie.prototype.setCurrentStyle=function(Ce,He){var it=this;this.currentStyle=Ce,this.styleBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onStyleChanged&&this.onStyleChanged(this.currentStyle)},Ie}(We),_n=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.strokeColor=it.defaultColor,we.strokeWidth=it.defaultStrokeWidth,we.strokeDasharray=it.defaultStrokeDasharray,we.strokePanel=new pt("Line color",it.defaultColorSet,it.defaultColor),we.strokePanel.onColorChanged=we.setStrokeColor,we.strokeWidthPanel=new Je("Line width",it.defaultStrokeWidths,it.defaultStrokeWidth),we.strokeWidthPanel.onWidthChanged=we.setStrokeWidth,we.strokeStylePanel=new Sn("Line style",it.defaultStrokeDasharrays,it.defaultStrokeDasharray),we.strokeStylePanel.onStyleChanged=we.setStrokeDasharray,we}return je(Ie,qe),Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=qe.prototype.getState.call(this);return Ce.typeName=Ie.typeName,Ce},Ie.typeName="FrameMarker",Ie.title="Frame marker",Ie.icon='',Ie}(Gt),Cn=function(){this.defaultColorSet=["#EF4444","#10B981","#2563EB","#FFFF00","#7C3AED","#F472B6","#000000","#FFFFFF"],this.defaultColor=this.defaultColorSet[0],this.defaultFillColor=this.defaultColorSet[0],this.defaultStrokeColor=this.defaultColorSet[7],this.defaultHighlightColor=this.defaultColorSet[3],this.defaultStrokeWidth=3,this.defaultStrokeDasharray="",this.defaultHighlightOpacity=.5,this.defaultFontFamily="Helvetica, Arial, sans-serif",this.defaultStrokeWidths=[1,2,3,5,10],this.defaultStrokeDasharrays=["","3","12 3","9 6 3 6"],this.defaultOpacitySteps=[.1,.25,.5,.75,1],this.displayMode="inline",this.defaultFontFamilies=['Times, "Times New Roman", serif',"Helvetica, Arial, sans-serif",'Courier, "Courier New", monospace',"cursive","fantasy"],this.popupMargin=30,this.newFreehandMarkerOnPointerUp=!1,this.defaultColorsFollowCurrentColors=!1,this.freehandPixelRatio=1,this.disableRotation=!1,this.defaultCaptionFontSize="1rem",this.defaultCaptionText="Text"},Vt=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.x1=0,we.y1=0,we.x2=0,we.y2=0,we.defaultLength=50,we.manipulationStartX=0,we.manipulationStartY=0,we.manipulationStartX1=0,we.manipulationStartY1=0,we.manipulationStartX2=0,we.manipulationStartY2=0,we.setupControlBox(),we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!!qe.prototype.ownsTarget.call(this,Ce)||!(!this.grip1.ownsTarget(Ce)&&!this.grip2.ownsTarget(Ce))},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.manipulationStartX=Ce.x,this.manipulationStartY=Ce.y,this.state==="new"&&(this.x1=Ce.x,this.y1=Ce.y,this.x2=Ce.x,this.y2=Ce.y),this.manipulationStartX1=this.x1,this.manipulationStartY1=this.y1,this.manipulationStartX2=this.x2,this.manipulationStartY2=this.y2,this.state!=="new"&&(this.select(),this.grip1.ownsTarget(He)?this.activeGrip=this.grip1:this.grip2.ownsTarget(He)?this.activeGrip=this.grip2:this.activeGrip=void 0,this.activeGrip?this._state="resize":this._state="move")},Ie.prototype.pointerUp=function(Ce){var He=this.state;qe.prototype.pointerUp.call(this,Ce),this.state==="creating"&&Math.abs(this.x1-this.x2)<10&&Math.abs(this.y1-this.y2)<10?(this.x2=this.x1+this.defaultLength,this.adjustVisual(),this.adjustControlBox()):this.manipulate(Ce),this._state="select",He==="creating"&&this.onMarkerCreated&&this.onMarkerCreated(this)},Ie.prototype.adjustVisual=function(){},Ie.prototype.manipulate=function(Ce){this.state==="creating"?this.resize(Ce):this.state==="move"?(this.x1=this.manipulationStartX1+Ce.x-this.manipulationStartX,this.y1=this.manipulationStartY1+Ce.y-this.manipulationStartY,this.x2=this.manipulationStartX2+Ce.x-this.manipulationStartX,this.y2=this.manipulationStartY2+Ce.y-this.manipulationStartY,this.adjustVisual(),this.adjustControlBox()):this.state==="resize"&&this.resize(Ce)},Ie.prototype.resize=function(Ce){switch(this.activeGrip){case this.grip1:this.x1=Ce.x,this.y1=Ce.y;break;case this.grip2:case void 0:this.x2=Ce.x,this.y2=Ce.y}this.adjustVisual(),this.adjustControlBox()},Ie.prototype.select=function(){qe.prototype.select.call(this),this.adjustControlBox(),this.controlBox.style.display=""},Ie.prototype.deselect=function(){qe.prototype.deselect.call(this),this.controlBox.style.display="none"},Ie.prototype.setupControlBox=function(){this.controlBox=dt.createGroup(),this.container.appendChild(this.controlBox),this.addControlGrips(),this.controlBox.style.display="none"},Ie.prototype.adjustControlBox=function(){this.positionGrips()},Ie.prototype.addControlGrips=function(){this.grip1=this.createGrip(),this.grip2=this.createGrip(),this.positionGrips()},Ie.prototype.createGrip=function(){var Ce=new Qt;return Ce.visual.transform.baseVal.appendItem(dt.createTransform()),this.controlBox.appendChild(Ce.visual),Ce},Ie.prototype.positionGrips=function(){var Ce=this.grip1.GRIP_SIZE;this.positionGrip(this.grip1.visual,this.x1-Ce/2,this.y1-Ce/2),this.positionGrip(this.grip2.visual,this.x2-Ce/2,this.y2-Ce/2)},Ie.prototype.positionGrip=function(Ce,He,it){var we=Ce.transform.baseVal.getItem(0);we.setTranslate(He,it),Ce.transform.baseVal.replaceItem(we,0)},Ie.prototype.getState=function(){return Object.assign({x1:this.x1,y1:this.y1,x2:this.x2,y2:this.y2},qe.prototype.getState.call(this))},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce);var He=Ce;this.x1=He.x1,this.y1=He.y1,this.x2=He.x2,this.y2=He.y2},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He),this.x1=this.x1*Ce,this.y1=this.y1*He,this.x2=this.x2*Ce,this.y2=this.y2*He,this.adjustVisual(),this.adjustControlBox()},Ie}(mt),pn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.strokeColor="transparent",we.strokeWidth=0,we.strokeDasharray="",we.setStrokeColor=we.setStrokeColor.bind(we),we.setStrokeWidth=we.setStrokeWidth.bind(we),we.setStrokeDasharray=we.setStrokeDasharray.bind(we),we.strokeColor=it.defaultColor,we.strokeWidth=it.defaultStrokeWidth,we.strokeDasharray=it.defaultStrokeDasharray,we.strokePanel=new pt("Line color",it.defaultColorSet,it.defaultColor),we.strokePanel.onColorChanged=we.setStrokeColor,we.strokeWidthPanel=new Je("Line width",it.defaultStrokeWidths,it.defaultStrokeWidth),we.strokeWidthPanel.onWidthChanged=we.setStrokeWidth,we.strokeStylePanel=new Sn("Line style",it.defaultStrokeDasharrays,it.defaultStrokeDasharray),we.strokeStylePanel.onStyleChanged=we.setStrokeDasharray,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.visual&&Ce!==this.selectorLine&&Ce!==this.visibleLine)},Ie.prototype.createVisual=function(){this.visual=dt.createGroup(),this.selectorLine=dt.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()]]),this.visibleLine=dt.createLine(this.x1,this.y1,this.x2,this.y2,[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()]]),this.visual.appendChild(this.selectorLine),this.visual.appendChild(this.visibleLine),this.addMarkerVisualToContainer(this.visual)},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.state==="new"&&(this.createVisual(),this.adjustVisual(),this._state="creating")},Ie.prototype.adjustVisual=function(){this.selectorLine&&this.visibleLine&&(this.selectorLine.setAttribute("x1",this.x1.toString()),this.selectorLine.setAttribute("y1",this.y1.toString()),this.selectorLine.setAttribute("x2",this.x2.toString()),this.selectorLine.setAttribute("y2",this.y2.toString()),this.visibleLine.setAttribute("x1",this.x1.toString()),this.visibleLine.setAttribute("y1",this.y1.toString()),this.visibleLine.setAttribute("x2",this.x2.toString()),this.visibleLine.setAttribute("y2",this.y2.toString()),dt.setAttributes(this.visibleLine,[["stroke",this.strokeColor]]),dt.setAttributes(this.visibleLine,[["stroke-width",this.strokeWidth.toString()]]),dt.setAttributes(this.visibleLine,[["stroke-dasharray",this.strokeDasharray.toString()]]))},Ie.prototype.setStrokeColor=function(Ce){this.strokeColor=Ce,this.adjustVisual(),this.colorChanged(Ce)},Ie.prototype.setStrokeWidth=function(Ce){this.strokeWidth=Ce,this.adjustVisual()},Ie.prototype.setStrokeDasharray=function(Ce){this.strokeDasharray=Ce,this.adjustVisual(),this.stateChanged()},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray},qe.prototype.getState.call(this));return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce);var He=Ce;this.strokeColor=He.strokeColor,this.strokeWidth=He.strokeWidth,this.strokeDasharray=He.strokeDasharray,this.createVisual(),this.adjustVisual()},Ie.typeName="LineMarker",Ie.title="Line marker",Ie.icon='',Ie}(Vt),et=function(qe){function Ie(Ce,He,it,we){var Xt=qe.call(this,Ce,we||'')||this;return Xt.fonts=[],Xt.fontBoxes=[],Xt.fonts=He,Xt.currentFont=it,Xt.setCurrentFont=Xt.setCurrentFont.bind(Xt),Xt}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");return He.style.overflow="hidden",He.style.flexGrow="2",this.fonts.forEach(function(it){var we=document.createElement("div");we.style.display="inline-block",we.style.alignItems="center",we.style.justifyContent="space-between",we.style.padding="5px",we.style.borderWidth="2px",we.style.borderStyle="solid",we.style.overflow="hidden",we.style.maxWidth=100/Ce.fonts.length-5+"%",we.style.borderColor=it===Ce.currentFont?Ce.uiStyleSettings.toolboxAccentColor:"transparent",we.addEventListener("click",function(){Ce.setCurrentFont(it,we)}),He.appendChild(we);var Xt=document.createElement("div");Xt.style.display="flex",Xt.style.minHeight="20px",Xt.style.flexGrow="2",Xt.style.fontFamily=it,Xt.style.overflow="hidden";var wn=document.createElement("div");wn.style.whiteSpace="nowrap",wn.style.overflow="hidden",wn.style.textOverflow="ellipsis",wn.innerHTML="The quick brown fox jumps over the lazy dog",Xt.appendChild(wn),we.appendChild(Xt),Ce.fontBoxes.push(we)}),He},Ie.prototype.setCurrentFont=function(Ce,He){var it=this;this.currentFont=Ce,this.fontBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onFontChanged&&this.onFontChanged(this.currentFont)},Ie}(We),tn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.color="transparent",we.padding=5,we.DEFAULT_TEXT="\u8BF7\u8F93\u5165\u6587\u672C",we.text=we.DEFAULT_TEXT,we.isMoved=!1,we.color=it.defaultColor,we.fontFamily=it.defaultFontFamily,we.defaultSize={x:100,y:30},we.setColor=we.setColor.bind(we),we.setFont=we.setFont.bind(we),we.renderText=we.renderText.bind(we),we.sizeText=we.sizeText.bind(we),we.textEditDivClicked=we.textEditDivClicked.bind(we),we.showTextEditor=we.showTextEditor.bind(we),we.setSize=we.setSize.bind(we),we.positionTextEditor=we.positionTextEditor.bind(we),we.colorPanel=new pt("Color",it.defaultColorSet,it.defaultColor),we.colorPanel.onColorChanged=we.setColor,we.fontFamilyPanel=new et("Font",it.defaultFontFamilies,it.defaultFontFamily),we.fontFamilyPanel.onFontChanged=we.setFont,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){if(qe.prototype.ownsTarget.call(this,Ce)||Ce===this.visual||Ce===this.textElement||Ce===this.bgRectangle)return!0;var He=!1;return this.textElement.childNodes.forEach(function(it){it===Ce&&(He=!0)}),He},Ie.prototype.createVisual=function(){this.visual=dt.createGroup(),this.bgRectangle=dt.createRect(1,1,[["fill","transparent"]]),this.visual.appendChild(this.bgRectangle),this.textElement=dt.createText([["fill",this.color],["font-family",this.fontFamily],["font-size","16px"],["x","0"],["y","0"]]),this.textElement.transform.baseVal.appendItem(dt.createTransform()),this.textElement.transform.baseVal.appendItem(dt.createTransform()),this.visual.appendChild(this.textElement),this.addMarkerVisualToContainer(this.visual),this.renderText()},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.isMoved=!1,this.pointerDownPoint=Ce,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(Ce),this._state="creating")},Ie.prototype.renderText=function(){var Ce=this;if(this.textElement){for(;this.textElement.lastChild;)this.textElement.removeChild(this.textElement.lastChild);this.text.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/).forEach(function(He){Ce.textElement.appendChild(dt.createTSpan(He.trim()===""?" ":He.trim(),[["x","0"],["dy","1.2em"]]))}),setTimeout(this.sizeText,10)}},Ie.prototype.getTextScale=function(){var Ce=this.textElement.getBBox(),He=1;if(Ce.width>0&&Ce.height>0){var it=(1*this.width-this.width*this.padding*2/100)/Ce.width,we=(1*this.height-this.height*this.padding*2/100)/Ce.height;He=Math.min(it,we)}return He},Ie.prototype.getTextPosition=function(Ce){var He=this.textElement.getBBox(),it=0,we=0;return He.width>0&&He.height>0&&(it=(this.width-He.width*Ce)/2,we=this.height/2-He.height*Ce/2),{x:it,y:we}},Ie.prototype.sizeText=function(){var Ce=this.textElement.getBBox(),He=this.getTextScale(),it=this.getTextPosition(He);it.y-=Ce.y*He,navigator.userAgent.indexOf("Edge/")>-1?this.textElement.style.transform="translate("+it.x+"px, "+it.y+"px) scale("+He+", "+He+")":(this.textElement.transform.baseVal.getItem(0).setTranslate(it.x,it.y),this.textElement.transform.baseVal.getItem(1).setScale(He,He))},Ie.prototype.manipulate=function(Ce){qe.prototype.manipulate.call(this,Ce),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(Ce.x-this.pointerDownPoint.x)>5||Math.abs(Ce.y-this.pointerDownPoint.y)>5)},Ie.prototype.resize=function(Ce){qe.prototype.resize.call(this,Ce),this.isMoved=!0,this.setSize(),this.sizeText()},Ie.prototype.setSize=function(){qe.prototype.setSize.call(this),this.visual&&this.bgRectangle&&(dt.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),dt.setAttributes(this.bgRectangle,[["width",this.width.toString()],["height",this.height.toString()]]))},Ie.prototype.pointerUp=function(Ce){var He=this.state;He==="creating"&&(this._suppressMarkerCreateEvent=!0),qe.prototype.pointerUp.call(this,Ce),this.setSize(),(He==="creating"||!this.isMoved&&Date.now()-this.pointerDownTimestamp>500)&&this.showTextEditor(),this.pointerDownPoint=void 0},Ie.prototype.showTextEditor=function(){var Ce=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditor=document.createElement("div"),this.textEditor.style.position="absolute",this.textEditor.style.fontFamily=this.fontFamily,this.textEditor.style.lineHeight="1em",this.textEditor.innerText=this.text,this.textEditor.contentEditable="true",this.textEditor.style.color=this.color,this.textEditor.style.whiteSpace="pre",this.positionTextEditor(),this.textEditor.addEventListener("pointerup",function(He){He.stopPropagation()}),this.textEditor.addEventListener("input",function(){for(var He=Number.parseFloat(Ce.textEditor.style.fontSize);Ce.textEditor.clientWidth>=Number.parseInt(Ce.textEditor.style.maxWidth)&&He>.9;)He-=.1,Ce.textEditor.style.fontSize=Math.max(He,.9)+"em"}),this.textEditor.addEventListener("keyup",function(He){He.cancelBubble=!0}),this.textEditor.addEventListener("paste",function(He){if(He.clipboardData){var it=He.clipboardData.getData("text"),we=window.getSelection();if(!we.rangeCount)return!1;we.deleteFromDocument(),we.getRangeAt(0).insertNode(document.createTextNode(it)),He.preventDefault()}}),this.textEditDiv.addEventListener("pointerup",function(){Ce.textEditDivClicked(Ce.textEditor.innerText)}),this.textEditDiv.appendChild(this.textEditor),this.overlayContainer.appendChild(this.textEditDiv),this.hideVisual(),this.textEditor.focus(),document.execCommand("selectAll")},Ie.prototype.positionTextEditor=function(){if(this.state==="edit")if(this.textEditor===void 0)this.showTextEditor();else{this.textElement.style.display="";var Ce=this.getTextScale(),He=this.rotatePoint({x:this.left+this.width/2,y:this.top+this.height/2}),it=this.textElement.getBBox(),we={x:it.width*Ce,y:it.height*Ce};He.x-=we.x/2,He.y-=we.y/2,this.textEditor.style.top=He.y+"px",this.textEditor.style.left=He.x+"px",this.textEditor.style.maxWidth=this.overlayContainer.offsetWidth-He.x+"px",this.textEditor.style.fontSize=Math.max(16*Ce,12)+"px",this.textElement.style.display="none"}},Ie.prototype.textEditDivClicked=function(Ce){this.text=Ce.trim(),this.overlayContainer.innerHTML="",this.renderText(),this.showVisual(),this._suppressMarkerCreateEvent&&(this._suppressMarkerCreateEvent=!1,this.onMarkerCreated&&this.onMarkerCreated(this)),this.stateChanged()},Ie.prototype.select=function(){qe.prototype.select.call(this),this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText)},Ie.prototype.deselect=function(){this.state==="edit"&&this.textEditDivClicked(this.textEditor.innerText),qe.prototype.deselect.call(this)},Ie.prototype.dblClick=function(Ce,He){qe.prototype.dblClick.call(this,Ce,He),this.showTextEditor()},Ie.prototype.setColor=function(Ce){this.textElement&&dt.setAttributes(this.textElement,[["fill",Ce]]),this.color=Ce,this.textEditor&&(this.textEditor.style.color=this.color),this.colorChanged(Ce)},Ie.prototype.setFont=function(Ce){this.textElement&&dt.setAttributes(this.textElement,[["font-family",Ce]]),this.fontFamily=Ce,this.textEditor&&(this.textEditor.style.fontFamily=this.fontFamily),this.renderText(),this.stateChanged()},Ie.prototype.hideVisual=function(){this.textElement.style.display="none",this.hideControlBox()},Ie.prototype.showVisual=function(){this.state==="edit"&&(this._state="select"),this.textElement.style.display="",this.showControlBox()},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.colorPanel,this.fontFamilyPanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({color:this.color,fontFamily:this.fontFamily,padding:this.padding,text:this.text},qe.prototype.getState.call(this));return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){var He=Ce;this.color=He.color,this.fontFamily=He.fontFamily,this.padding=He.padding,this.text=He.text,this.createVisual(),qe.prototype.restoreState.call(this,Ce),this.setSize()},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He),this.setSize(),this.sizeText(),this.positionTextEditor()},Ie.typeName="TextMarker",Ie.title="Text marker",Ie.icon='',Ie}(Ft),Ct=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.color="transparent",we.lineWidth=3,we.drawing=!1,we.pixelRatio=1,we.color=it.defaultColor,we.lineWidth=it.defaultStrokeWidth,we.pixelRatio=it.freehandPixelRatio,we.setColor=we.setColor.bind(we),we.addCanvas=we.addCanvas.bind(we),we.finishCreation=we.finishCreation.bind(we),we.setLineWidth=we.setLineWidth.bind(we),we.colorPanel=new pt("Color",it.defaultColorSet,it.defaultColor),we.colorPanel.onColorChanged=we.setColor,we.lineWidthPanel=new Je("Line width",it.defaultStrokeWidths,it.defaultStrokeWidth),we.lineWidthPanel.onWidthChanged=we.setLineWidth,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.visual&&Ce!==this.drawingImage)},Ie.prototype.createVisual=function(){this.visual=dt.createGroup(),this.drawingImage=dt.createImage(),this.visual.appendChild(this.drawingImage);var Ce=dt.createTransform();this.visual.transform.baseVal.appendItem(Ce),this.addMarkerVisualToContainer(this.visual)},Ie.prototype.pointerDown=function(Ce,He){this.state==="new"&&(this.addCanvas(),this.createVisual(),this._state="creating"),this.state==="creating"?(this.canvasContext.strokeStyle=this.color,this.canvasContext.lineWidth=this.lineWidth,this.canvasContext.beginPath(),this.canvasContext.moveTo(Ce.x,Ce.y),this.drawing=!0):qe.prototype.pointerDown.call(this,Ce,He)},Ie.prototype.manipulate=function(Ce){this.state==="creating"?this.drawing&&(this.canvasContext.lineTo(Ce.x,Ce.y),this.canvasContext.stroke()):qe.prototype.manipulate.call(this,Ce)},Ie.prototype.resize=function(Ce){qe.prototype.resize.call(this,Ce),dt.setAttributes(this.visual,[["width",this.width.toString()],["height",this.height.toString()]]),dt.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]])},Ie.prototype.pointerUp=function(Ce){this._state==="creating"?this.drawing&&(this.canvasContext.closePath(),this.drawing=!1,this.globalSettings.newFreehandMarkerOnPointerUp&&this.finishCreation()):qe.prototype.pointerUp.call(this,Ce)},Ie.prototype.addCanvas=function(){this.overlayContainer.innerHTML="",this.canvasElement=document.createElement("canvas"),this.canvasElement.width=this.overlayContainer.clientWidth*this.pixelRatio,this.canvasElement.height=this.overlayContainer.clientHeight*this.pixelRatio,this.canvasContext=this.canvasElement.getContext("2d"),this.canvasContext.scale(this.pixelRatio,this.pixelRatio),this.overlayContainer.appendChild(this.canvasElement)},Ie.prototype.select=function(){this.state==="creating"&&this.finishCreation(),qe.prototype.select.call(this)},Ie.prototype.deselect=function(){this.state==="creating"&&this.finishCreation(),qe.prototype.deselect.call(this)},Ie.prototype.finishCreation=function(){for(var Ce=this.canvasContext.getImageData(0,0,this.canvasElement.width,this.canvasElement.height),He=[this.canvasElement.width+1,this.canvasElement.height+1,-1,-1],it=He[0],we=He[1],Xt=He[2],wn=He[3],Lt=!1,Zt=0;Zt0&&(Lt=!0,Ztwn&&(wn=Zt),or>Xt&&(Xt=or));if(Lt){this.left=it/this.pixelRatio,this.top=we/this.pixelRatio,this.width=(Xt-it)/this.pixelRatio,this.height=(wn-we)/this.pixelRatio;var Xn=document.createElement("canvas");Xn.width=Xt-it,Xn.height=wn-we,Xn.getContext("2d").putImageData(this.canvasContext.getImageData(it,we,Xt-it,wn-we),0,0),this.drawingImgUrl=Xn.toDataURL("image/png"),this.setDrawingImage(),this._state="select",this.onMarkerCreated&&this.onMarkerCreated(this)}this.overlayContainer.innerHTML=""},Ie.prototype.setDrawingImage=function(){dt.setAttributes(this.drawingImage,[["width",this.width.toString()],["height",this.height.toString()]]),dt.setAttributes(this.drawingImage,[["href",this.drawingImgUrl]]),this.moveVisual({x:this.left,y:this.top})},Ie.prototype.setColor=function(Ce){this.color=Ce,this.colorChanged(Ce)},Ie.prototype.setLineWidth=function(Ce){this.lineWidth=Ce},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return this.state==="new"||this.state==="creating"?[this.colorPanel,this.lineWidthPanel]:[]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({drawingImgUrl:this.drawingImgUrl},qe.prototype.getState.call(this));return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){this.createVisual(),qe.prototype.restoreState.call(this,Ce),this.drawingImgUrl=Ce.drawingImgUrl,this.setDrawingImage()},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He),this.setDrawingImage()},Ie.typeName="FreehandMarker",Ie.title="Freehand marker",Ie.icon='',Ie}(Ft),Ln=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,it||'')||this;return we.typeBoxes=[],we.currentType=He,we.setCurrentType=we.setCurrentType.bind(we),we}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");He.style.display="flex",He.style.overflow="hidden",He.style.flexGrow="2";for(var it=function(wn){var Lt="both";switch(wn){case 0:Lt="both";break;case 1:Lt="start";break;case 2:Lt="end";break;case 3:Lt="none"}var Zt=document.createElement("div");if(Zt.style.display="flex",Zt.style.flexGrow="2",Zt.style.alignItems="center",Zt.style.justifyContent="space-between",Zt.style.padding="5px",Zt.style.borderWidth="2px",Zt.style.borderStyle="solid",Zt.style.borderColor=Lt===we.currentType?we.uiStyleSettings.toolboxAccentColor:"transparent",Zt.addEventListener("click",function(){Ce.setCurrentType(Lt,Zt)}),He.appendChild(Zt),Lt==="both"||Lt==="start"){var or=document.createElement("div");or.style.display="flex",or.style.alignItems="center",or.style.minHeight="20px",or.innerHTML=` - - `,or.style.marginLeft="5px",Zt.appendChild(or)}var Xn=document.createElement("div");Xn.style.display="flex",Xn.style.alignItems="center",Xn.style.minHeight="20px",Xn.style.flexGrow="2";var dn=document.createElement("hr");if(dn.style.minWidth="20px",dn.style.border="0px",dn.style.borderTop="3px solid "+(we.uiStyleSettings!==void 0?we.uiStyleSettings.toolboxColor:"#eeeeee"),dn.style.flexGrow="2",Xn.appendChild(dn),Zt.appendChild(Xn),Lt==="both"||Lt==="end"){var kr=document.createElement("div");kr.style.display="flex",kr.style.alignItems="center",kr.style.minHeight="20px",kr.innerHTML=` - - `,kr.style.marginRight="5px",Zt.appendChild(kr)}we.typeBoxes.push(Zt)},we=this,Xt=0;Xt<4;Xt++)it(Xt);return He},Ie.prototype.setCurrentType=function(Ce,He){var it=this;this.currentType=Ce,this.typeBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings!==void 0?it.uiStyleSettings.toolboxAccentColor:"#3080c3":"transparent"}),this.onArrowTypeChanged&&this.onArrowTypeChanged(this.currentType)},Ie}(We),Mn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.arrowType="end",we.arrowBaseHeight=10,we.arrowBaseWidth=10,we.getArrowPoints=we.getArrowPoints.bind(we),we.setArrowType=we.setArrowType.bind(we),we.arrowTypePanel=new Ln("Arrow type","end"),we.arrowTypePanel.onArrowTypeChanged=we.setArrowType,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.arrow1&&Ce!==this.arrow2)},Ie.prototype.getArrowPoints=function(Ce,He){var it=this.arrowBaseWidth+2*this.strokeWidth,we=this.arrowBaseHeight+2*this.strokeWidth;return Ce-it/2+","+(He+we/2)+" "+Ce+","+(He-we/2)+" "+(Ce+it/2)+","+(He+we/2)},Ie.prototype.createTips=function(){this.arrow1=dt.createPolygon(this.getArrowPoints(this.x1,this.y1),[["fill",this.strokeColor]]),this.arrow1.transform.baseVal.appendItem(dt.createTransform()),this.visual.appendChild(this.arrow1),this.arrow2=dt.createPolygon(this.getArrowPoints(this.x2,this.y2),[["fill",this.strokeColor]]),this.arrow2.transform.baseVal.appendItem(dt.createTransform()),this.visual.appendChild(this.arrow2)},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.state==="creating"&&this.createTips()},Ie.prototype.adjustVisual=function(){if(qe.prototype.adjustVisual.call(this),this.arrow1&&this.arrow2){this.arrow1.style.display=this.arrowType==="both"||this.arrowType==="start"?"":"none",this.arrow2.style.display=this.arrowType==="both"||this.arrowType==="end"?"":"none",dt.setAttributes(this.arrow1,[["points",this.getArrowPoints(this.x1,this.y1)],["fill",this.strokeColor]]),dt.setAttributes(this.arrow2,[["points",this.getArrowPoints(this.x2,this.y2)],["fill",this.strokeColor]]);var Ce=0;Math.abs(this.x1-this.x2)>.1&&(Ce=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2));var He=this.arrow1.transform.baseVal.getItem(0);He.setRotate(Ce,this.x1,this.y1),this.arrow1.transform.baseVal.replaceItem(He,0);var it=this.arrow2.transform.baseVal.getItem(0);it.setRotate(Ce+180,this.x2,this.y2),this.arrow2.transform.baseVal.replaceItem(it,0)}},Ie.prototype.setArrowType=function(Ce){this.arrowType=Ce,this.adjustVisual(),this.stateChanged()},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel,this.arrowTypePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({arrowType:this.arrowType},qe.prototype.getState.call(this));return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce);var He=Ce;this.arrowType=He.arrowType,this.createTips(),this.adjustVisual()},Ie.typeName="ArrowMarker",Ie.title="Arrow marker",Ie.icon='',Ie}(pn),bn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.fillColor=it.defaultFillColor,we.strokeWidth=0,we.fillPanel=new pt("Color",it.defaultColorSet,it.defaultFillColor),we.fillPanel.onColorChanged=we.setFillColor,we}return je(Ie,qe),Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.fillPanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=qe.prototype.getState.call(this);return Ce.typeName=Ie.typeName,Ce},Ie.typeName="CoverMarker",Ie.title="Cover marker",Ie.icon='',Ie}(Gt),Dr=function(qe){function Ie(Ce,He,it,we){var Xt=qe.call(this,Ce,we||'')||this;return Xt.opacities=[],Xt.opacityBoxes=[],Xt.opacities=He,Xt.currentOpacity=it,Xt.setCurrentOpacity=Xt.setCurrentOpacity.bind(Xt),Xt}return je(Ie,qe),Ie.prototype.getUi=function(){var Ce=this,He=document.createElement("div");return He.style.display="flex",He.style.overflow="hidden",He.style.flexGrow="2",He.style.justifyContent="space-between",this.opacities.forEach(function(it){var we=document.createElement("div");we.style.display="flex",we.style.alignItems="center",we.style.justifyContent="center",we.style.padding="5px",we.style.borderWidth="2px",we.style.borderStyle="solid",we.style.borderColor=it===Ce.currentOpacity?Ce.uiStyleSettings.toolboxAccentColor:"transparent",we.addEventListener("click",function(){Ce.setCurrentOpacity(it,we)}),He.appendChild(we);var Xt=document.createElement("div");Xt.innerText=100*it+"%",we.appendChild(Xt),Ce.opacityBoxes.push(we)}),He},Ie.prototype.setCurrentOpacity=function(Ce,He){var it=this;this.currentOpacity=Ce,this.opacityBoxes.forEach(function(we){we.style.borderColor=we===He?it.uiStyleSettings.toolboxAccentColor:"transparent"}),this.onOpacityChanged&&this.onOpacityChanged(this.currentOpacity)},Ie}(We),oi=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.setOpacity=we.setOpacity.bind(we),we.fillColor=it.defaultHighlightColor,we.strokeWidth=0,we.opacity=it.defaultHighlightOpacity,we.fillPanel=new pt("Color",it.defaultColorSet,we.fillColor),we.fillPanel.onColorChanged=we.setFillColor,we.opacityPanel=new Dr("Opacity",it.defaultOpacitySteps,we.opacity),we.opacityPanel.onOpacityChanged=we.setOpacity,we}return je(Ie,qe),Ie.prototype.setOpacity=function(Ce){this.opacity=Ce,this.visual&&dt.setAttributes(this.visual,[["opacity",this.opacity.toString()]]),this.stateChanged()},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.fillPanel,this.opacityPanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=qe.prototype.getState.call(this);return Ce.typeName=Ie.typeName,Ce},Ie.typeName="HighlightMarker",Ie.title="Highlight marker",Ie.icon='',Ie}(bn),yt='',tt='',Rn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.bgColor="transparent",we.tipPosition={x:0,y:0},we.tipBase1Position={x:0,y:0},we.tipBase2Position={x:0,y:0},we.tipMoving=!1,we.color=it.defaultStrokeColor,we.bgColor=it.defaultFillColor,we.fontFamily=it.defaultFontFamily,we.defaultSize={x:100,y:30},we.setBgColor=we.setBgColor.bind(we),we.getTipPoints=we.getTipPoints.bind(we),we.positionTip=we.positionTip.bind(we),we.setTipPoints=we.setTipPoints.bind(we),we.colorPanel=new pt("Text color",it.defaultColorSet,we.color,yt),we.colorPanel.onColorChanged=we.setColor,we.bgColorPanel=new pt("Fill color",it.defaultColorSet,we.bgColor,tt),we.bgColorPanel.onColorChanged=we.setBgColor,we.fontFamilyPanel=new et("Font",it.defaultFontFamilies,it.defaultFontFamily),we.fontFamilyPanel.onFontChanged=we.setFont,we.tipGrip=new Qt,we.tipGrip.visual.transform.baseVal.appendItem(dt.createTransform()),we.controlBox.appendChild(we.tipGrip.visual),we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return qe.prototype.ownsTarget.call(this,Ce)||this.tipGrip.ownsTarget(Ce)||this.tip===Ce},Ie.prototype.createTip=function(){dt.setAttributes(this.bgRectangle,[["fill",this.bgColor],["rx","10px"]]),this.tip=dt.createPolygon(this.getTipPoints(),[["fill",this.bgColor]]),this.visual.appendChild(this.tip)},Ie.prototype.pointerDown=function(Ce,He){this.state==="new"&&qe.prototype.pointerDown.call(this,Ce,He),this.state==="creating"?this.createTip():this.tipGrip.ownsTarget(He)?(this.manipulationStartLeft=this.left,this.manipulationStartTop=this.top,this.tipMoving=!0):qe.prototype.pointerDown.call(this,Ce,He)},Ie.prototype.pointerUp=function(Ce){if(this.tipMoving)this.tipMoving=!1,this.isMoved=!0,qe.prototype.pointerUp.call(this,Ce);else{var He=this.state==="creating";qe.prototype.pointerUp.call(this,Ce),this.setTipPoints(He),this.positionTip()}},Ie.prototype.manipulate=function(Ce){if(this.tipMoving){var He=this.unrotatePoint(Ce);this.tipPosition={x:He.x-this.manipulationStartLeft,y:He.y-this.manipulationStartTop},this.positionTip()}else qe.prototype.manipulate.call(this,Ce)},Ie.prototype.setBgColor=function(Ce){this.bgRectangle&&this.tip&&(dt.setAttributes(this.bgRectangle,[["fill",Ce]]),dt.setAttributes(this.tip,[["fill",Ce]])),this.bgColor=Ce,this.fillColorChanged(Ce)},Ie.prototype.getTipPoints=function(){return this.setTipPoints(this.state==="creating"),this.tipBase1Position.x+","+this.tipBase1Position.y+" "+this.tipBase2Position.x+","+this.tipBase2Position.y+" "+this.tipPosition.x+","+this.tipPosition.y},Ie.prototype.setTipPoints=function(Ce){Ce===void 0&&(Ce=!1);var He=Math.min(this.height/2,15),it=this.height/5;Ce&&(this.tipPosition={x:He+it/2,y:this.height+20});var we=Math.atan(this.height/2/(this.width/2));this.tipPosition.x=this.width/2&&this.tipPosition.y=this.width/2&&this.tipPosition.y>=this.height/2?we.1)){var Ce=180*Math.atan((this.y2-this.y1)/(this.x2-this.x1))/Math.PI+90*Math.sign(this.x1-this.x2),He=this.tip1.transform.baseVal.getItem(0);He.setRotate(Ce,this.x1,this.y1),this.tip1.transform.baseVal.replaceItem(He,0);var it=this.tip2.transform.baseVal.getItem(0);it.setRotate(Ce+180,this.x2,this.y2),this.tip2.transform.baseVal.replaceItem(it,0)}},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=qe.prototype.getState.call(this);return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce),this.createTips(),this.adjustVisual()},Ie.typeName="MeasurementMarker",Ie.title="Measurement marker",Ie.icon='',Ie}(pn),In=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.strokePanel.colors=it.defaultColorSet,we.fillColor="transparent",we}return je(Ie,qe),Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=qe.prototype.getState.call(this);return Ce.typeName=Ie.typeName,Ce},Ie.typeName="EllipseFrameMarker",Ie.title="Ellipse frame marker",Ie.icon='',Ie}(fi),an=function(){function qe(){this.undoStack=[],this.redoStack=[]}return Object.defineProperty(qe.prototype,"isUndoPossible",{get:function(){return this.undoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"isRedoPossible",{get:function(){return this.redoStack.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"undoStepCount",{get:function(){return this.undoStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"redoStepCount",{get:function(){return this.redoStack.length},enumerable:!1,configurable:!0}),qe.prototype.addUndoStep=function(Ie){this.undoStack.length!==0&&JSON.stringify(this.undoStack[this.undoStack.length-1])===JSON.stringify(Ie)||(this.undoStack.push(Ie),JSON.stringify(this.lastRedoStep)!==JSON.stringify(Ie)&&this.redoStack.splice(0,this.redoStack.length))},qe.prototype.replaceLastUndoStep=function(Ie){this.undoStack.length>0&&(this.undoStack[this.undoStack.length-1]=Ie)},qe.prototype.getLastUndoStep=function(){return this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0},qe.prototype.undo=function(){if(this.undoStack.length>1){var Ie=this.undoStack.pop();return Ie!==void 0&&this.redoStack.push(Ie),this.undoStack.length>0?this.undoStack[this.undoStack.length-1]:void 0}},qe.prototype.redo=function(){return this.lastRedoStep=this.redoStack.pop(),this.lastRedoStep},qe}(),Xr=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.strokeColor="transparent",we.strokeWidth=0,we.strokeDasharray="",we.curveX=0,we.curveY=0,we.manipulationStartCurveX=0,we.manipulationStartCurveY=0,we.setStrokeColor=we.setStrokeColor.bind(we),we.setStrokeWidth=we.setStrokeWidth.bind(we),we.setStrokeDasharray=we.setStrokeDasharray.bind(we),we.positionGrips=we.positionGrips.bind(we),we.addControlGrips=we.addControlGrips.bind(we),we.adjustVisual=we.adjustVisual.bind(we),we.setupControlBox=we.setupControlBox.bind(we),we.resize=we.resize.bind(we),we.strokeColor=it.defaultColor,we.strokeWidth=it.defaultStrokeWidth,we.strokeDasharray=it.defaultStrokeDasharray,we.strokePanel=new pt("Line color",it.defaultColorSet,it.defaultColor),we.strokePanel.onColorChanged=we.setStrokeColor,we.strokeWidthPanel=new Je("Line width",it.defaultStrokeWidths,it.defaultStrokeWidth),we.strokeWidthPanel.onWidthChanged=we.setStrokeWidth,we.strokeStylePanel=new Sn("Line style",it.defaultStrokeDasharrays,it.defaultStrokeDasharray),we.strokeStylePanel.onStyleChanged=we.setStrokeDasharray,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.visual&&Ce!==this.selectorCurve&&Ce!==this.visibleCurve&&!this.curveGrip.ownsTarget(Ce))},Ie.prototype.getPathD=function(){return"M "+this.x1+" "+this.y1+" Q "+this.curveX+" "+this.curveY+", "+this.x2+" "+this.y2},Ie.prototype.createVisual=function(){this.visual=dt.createGroup(),this.selectorCurve=dt.createPath(this.getPathD(),[["stroke","transparent"],["stroke-width",(this.strokeWidth+10).toString()],["fill","transparent"]]),this.visibleCurve=dt.createPath(this.getPathD(),[["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["fill","transparent"]]),this.visual.appendChild(this.selectorCurve),this.visual.appendChild(this.visibleCurve),this.addMarkerVisualToContainer(this.visual)},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.manipulationStartCurveX=this.curveX,this.manipulationStartCurveY=this.curveY,this.state==="new"&&(this.curveX=Ce.x,this.curveY=Ce.y),this.state==="new"?(this.createVisual(),this.adjustVisual(),this._state="creating"):this.curveGrip.ownsTarget(He)&&(this.activeGrip=this.curveGrip,this._state="resize")},Ie.prototype.adjustVisual=function(){this.selectorCurve&&this.visibleCurve&&(this.selectorCurve.setAttribute("d",this.getPathD()),this.visibleCurve.setAttribute("d",this.getPathD()),dt.setAttributes(this.visibleCurve,[["stroke",this.strokeColor]]),dt.setAttributes(this.visibleCurve,[["stroke-width",this.strokeWidth.toString()]]),dt.setAttributes(this.visibleCurve,[["stroke-dasharray",this.strokeDasharray.toString()]]))},Ie.prototype.setupControlBox=function(){qe.prototype.setupControlBox.call(this),this.curveControlLine1=dt.createLine(this.x1,this.y1,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.curveControlLine2=dt.createLine(this.x2,this.y2,this.curveX,this.curveY,[["stroke","black"],["stroke-width","1"],["stroke-opacity","0.5"],["stroke-dasharray","3, 2"]]),this.controlBox.insertBefore(this.curveControlLine1,this.controlBox.firstChild),this.controlBox.insertBefore(this.curveControlLine2,this.controlBox.firstChild)},Ie.prototype.addControlGrips=function(){this.curveGrip=this.createGrip(),this.curveX=0,this.curveY=0,qe.prototype.addControlGrips.call(this)},Ie.prototype.positionGrips=function(){qe.prototype.positionGrips.call(this);var Ce=this.curveGrip.GRIP_SIZE;this.positionGrip(this.curveGrip.visual,this.curveX-Ce/2,this.curveY-Ce/2),this.curveControlLine1&&this.curveControlLine2&&(this.curveControlLine1.setAttribute("x1",this.x1.toString()),this.curveControlLine1.setAttribute("y1",this.y1.toString()),this.curveControlLine1.setAttribute("x2",this.curveX.toString()),this.curveControlLine1.setAttribute("y2",this.curveY.toString()),this.curveControlLine2.setAttribute("x1",this.x2.toString()),this.curveControlLine2.setAttribute("y1",this.y2.toString()),this.curveControlLine2.setAttribute("x2",this.curveX.toString()),this.curveControlLine2.setAttribute("y2",this.curveY.toString()))},Ie.prototype.manipulate=function(Ce){this.state==="move"&&(this.curveX=this.manipulationStartCurveX+Ce.x-this.manipulationStartX,this.curveY=this.manipulationStartCurveY+Ce.y-this.manipulationStartY),qe.prototype.manipulate.call(this,Ce)},Ie.prototype.resize=function(Ce){this.activeGrip===this.curveGrip&&(this.curveX=Ce.x,this.curveY=Ce.y),qe.prototype.resize.call(this,Ce),this.state==="creating"&&(this.curveX=this.x1+(this.x2-this.x1)/2,this.curveY=this.y1+(this.y2-this.y1)/2)},Ie.prototype.setStrokeColor=function(Ce){this.strokeColor=Ce,this.adjustVisual(),this.colorChanged(Ce)},Ie.prototype.setStrokeWidth=function(Ce){this.strokeWidth=Ce,this.adjustVisual()},Ie.prototype.setStrokeDasharray=function(Ce){this.strokeDasharray=Ce,this.adjustVisual()},Ie.prototype.scale=function(Ce,He){this.curveX=this.curveX*Ce,this.curveY=this.curveY*He,qe.prototype.scale.call(this,Ce,He)},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.strokeWidthPanel,this.strokeStylePanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,curveX:this.curveX,curveY:this.curveY},qe.prototype.getState.call(this));return Ce.typeName=Ie.typeName,Ce},Ie.prototype.restoreState=function(Ce){qe.prototype.restoreState.call(this,Ce);var He=Ce;this.strokeColor=He.strokeColor,this.strokeWidth=He.strokeWidth,this.strokeDasharray=He.strokeDasharray,this.curveX=He.curveX,this.curveY=He.curveY,this.createVisual(),this.adjustVisual()},Ie.typeName="CurveMarker",Ie.title="Curve marker",Ie.icon='',Ie}(Vt),Or=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,He,it)||this;return we.fillColor="transparent",we.strokeColor="transparent",we.strokeWidth=0,we.strokeDasharray="",we.textColor="transparent",we.fontSize="1rem",we.isMoved=!1,we.captionText="Caption",we.PADDING=5,we.captionBoxWidth=0,we.captionBoxHeight=0,we.strokeColor=it.defaultColor,we.strokeWidth=it.defaultStrokeWidth,we.strokeDasharray=it.defaultStrokeDasharray,we.fillColor=it.defaultFillColor,we.textColor=it.defaultStrokeColor,we.fontFamily=it.defaultFontFamily,we.fontSize=it.defaultCaptionFontSize,we.captionText=it.defaultCaptionText,we.setStrokeColor=we.setStrokeColor.bind(we),we.setFillColor=we.setFillColor.bind(we),we.setStrokeWidth=we.setStrokeWidth.bind(we),we.setStrokeDasharray=we.setStrokeDasharray.bind(we),we.createVisual=we.createVisual.bind(we),we.sizeCaption=we.sizeCaption.bind(we),we.setCaptionText=we.setCaptionText.bind(we),we.showTextEditor=we.showTextEditor.bind(we),we.positionTextEditor=we.positionTextEditor.bind(we),we.finishTextEditing=we.finishTextEditing.bind(we),we.setFont=we.setFont.bind(we),we.setTextColor=we.setTextColor.bind(we),we.strokePanel=new pt("Line color",Dt(it.defaultColorSet,["transparent"]),we.strokeColor),we.strokePanel.onColorChanged=we.setStrokeColor,we.fillPanel=new pt("Fill color",Dt(it.defaultColorSet,["transparent"]),we.fillColor,tt),we.fillPanel.onColorChanged=we.setFillColor,we.strokeWidthPanel=new Je("Line width",it.defaultStrokeWidths,it.defaultStrokeWidth),we.strokeWidthPanel.onWidthChanged=we.setStrokeWidth,we.strokeStylePanel=new Sn("Line style",it.defaultStrokeDasharrays,it.defaultStrokeDasharray),we.strokeStylePanel.onStyleChanged=we.setStrokeDasharray,we.fontFamilyPanel=new et("Font",it.defaultFontFamilies,it.defaultFontFamily),we.fontFamilyPanel.onFontChanged=we.setFont,we.textColorPanel=new pt("Text color",it.defaultColorSet,we.textColor,yt),we.textColorPanel.onColorChanged=we.setTextColor,we}return je(Ie,qe),Ie.prototype.ownsTarget=function(Ce){return!(!qe.prototype.ownsTarget.call(this,Ce)&&Ce!==this.visual&&Ce!==this.frame&&Ce!==this.captionBg&&Ce!==this.captionElement)},Ie.prototype.createVisual=function(){this.visual=dt.createGroup(),this.addMarkerVisualToContainer(this.visual),this.captionBg=dt.createRect(1,1,[["fill",this.fillColor]]),this.visual.appendChild(this.captionBg),this.captionElement=dt.createText([["fill",this.textColor],["font-family",this.fontFamily]]),this.captionElement.style.fontSize=this.fontSize,this.captionElement.style.textAnchor="start",this.captionElement.style.dominantBaseline="text-before-edge",this.captionElement.textContent=this.captionText,this.visual.appendChild(this.captionElement),this.frame=dt.createRect(this.width,this.height,[["fill","transparent"],["stroke",this.strokeColor],["stroke-width",this.strokeWidth.toString()],["stroke-dasharray",this.strokeDasharray]]),this.visual.appendChild(this.frame),this.sizeCaption()},Ie.prototype.setCaptionText=function(Ce){this.captionText=Ce,this.captionElement.textContent=this.captionText,this.sizeCaption()},Ie.prototype.pointerDown=function(Ce,He){qe.prototype.pointerDown.call(this,Ce,He),this.isMoved=!1,this.pointerDownPoint=Ce,this.pointerDownTimestamp=Date.now(),this.state==="new"&&(this.createVisual(),this.moveVisual(Ce),this._state="creating")},Ie.prototype.manipulate=function(Ce){qe.prototype.manipulate.call(this,Ce),this.pointerDownPoint!==void 0&&(this.isMoved=Math.abs(Ce.x-this.pointerDownPoint.x)>5||Math.abs(Ce.y-this.pointerDownPoint.y)>5)},Ie.prototype.resize=function(Ce){qe.prototype.resize.call(this,Ce),this.setSize()},Ie.prototype.sizeCaption=function(){var Ce=this.captionElement.getBBox();this.captionText.trim()!==""?(this.captionBoxWidth=Ce.width+2*this.PADDING,this.captionBoxHeight=Ce.height+2*this.PADDING):(this.captionBoxWidth=0,this.captionBoxHeight=0),dt.setAttributes(this.captionBg,[["width",this.captionBoxWidth.toString()],["height",this.captionBoxHeight.toString()],["clip-path","path('M0,0 H"+this.width+" V"+this.height+" H"+-this.width+" Z')"]]),dt.setAttributes(this.captionElement,[["x",this.PADDING.toString()],["y",this.PADDING.toString()],["clip-path","path('M0,0 H"+(this.width-this.PADDING)+" V"+this.height+" H"+(-this.width-this.PADDING)+" Z')"]])},Ie.prototype.showTextEditor=function(){var Ce=this;this._state="edit",this.overlayContainer.innerHTML="",this.textEditDiv=document.createElement("div"),this.textEditDiv.style.flexGrow="2",this.textEditDiv.style.alignItems="center",this.textEditDiv.style.justifyContent="center",this.textEditDiv.style.pointerEvents="auto",this.textEditDiv.style.overflow="hidden",this.textEditBox=document.createElement("input"),this.textEditBox.style.position="absolute",this.textEditBox.style.width=this.width+"px",this.captionBoxHeight>0&&(this.textEditBox.style.height=this.captionBoxHeight+"px"),this.textEditBox.style.fontSize=this.fontSize,this.textEditBox.style.fontFamily=this.fontFamily,this.textEditBox.style.backgroundColor=this.fillColor,this.textEditBox.style.color=this.textColor,this.textEditBox.style.borderWidth="0",this.textEditBox.setAttribute("value",this.captionText),this.textEditBox.select(),this.textEditDiv.appendChild(this.textEditBox),this.overlayContainer.appendChild(this.textEditDiv),this.textEditBox.addEventListener("pointerup",function(He){He.stopPropagation()}),this.textEditBox.addEventListener("keypress",function(He){He.key==="Enter"&&Ce.finishTextEditing(Ce.textEditBox.value)}),this.textEditBox.addEventListener("keyup",function(He){He.cancelBubble=!0}),this.textEditBox.addEventListener("blur",function(){Ce.finishTextEditing(Ce.textEditBox.value)}),this.textEditDiv.addEventListener("pointerup",function(){Ce.finishTextEditing(Ce.textEditBox.value)}),this.positionTextEditor(),this.textEditBox.focus()},Ie.prototype.positionTextEditor=function(){this.state==="edit"&&(this.textEditBox===void 0?this.showTextEditor():(this.textEditBox.style.left=this.left+"px",this.textEditBox.style.top=this.top+"px",this.textEditBox.style.transform="rotate("+this.rotationAngle+"deg)",this.textEditBox.style.transformOrigin=this.width/2+"px "+this.height/2+"px"))},Ie.prototype.finishTextEditing=function(Ce){this.setCaptionText(Ce.trim()),this.overlayContainer.innerHTML="",this.stateChanged()},Ie.prototype.setFont=function(Ce){this.captionElement&&dt.setAttributes(this.captionElement,[["font-family",Ce]]),this.fontFamily=Ce,this.textEditBox&&(this.textEditBox.style.fontFamily=this.fontFamily),this.sizeCaption(),this.stateChanged()},Ie.prototype.setTextColor=function(Ce){this.captionElement&&dt.setAttributes(this.captionElement,[["fill",Ce]]),this.textColor=Ce,this.textEditBox&&(this.textEditBox.style.color=this.textColor),this.stateChanged()},Ie.prototype.setSize=function(){qe.prototype.setSize.call(this),dt.setAttributes(this.frame,[["width",this.width.toString()],["height",this.height.toString()]]),this.sizeCaption()},Ie.prototype.pointerUp=function(Ce){qe.prototype.pointerUp.call(this,Ce),this.setSize(),!this.isMoved&&Date.now()-this.pointerDownTimestamp>500&&this.showTextEditor(),this.pointerDownPoint=void 0},Ie.prototype.dblClick=function(Ce,He){qe.prototype.dblClick.call(this,Ce,He),this.showTextEditor()},Ie.prototype.setStrokeColor=function(Ce){this.strokeColor=Ce,this.frame&&dt.setAttributes(this.frame,[["stroke",this.strokeColor]]),this.colorChanged(Ce),this.stateChanged()},Ie.prototype.setFillColor=function(Ce){this.fillColor=Ce,this.captionBg&&dt.setAttributes(this.captionBg,[["fill",this.fillColor]]),this.fillColorChanged(Ce),this.stateChanged()},Ie.prototype.setStrokeWidth=function(Ce){this.strokeWidth=Ce,this.frame&&dt.setAttributes(this.frame,[["stroke-width",this.strokeWidth.toString()]]),this.stateChanged()},Ie.prototype.setStrokeDasharray=function(Ce){this.strokeDasharray=Ce,this.frame&&dt.setAttributes(this.frame,[["stroke-dasharray",this.strokeDasharray]]),this.stateChanged()},Object.defineProperty(Ie.prototype,"toolboxPanels",{get:function(){return[this.strokePanel,this.fillPanel,this.strokeWidthPanel,this.strokeStylePanel,this.fontFamilyPanel,this.textColorPanel]},enumerable:!1,configurable:!0}),Ie.prototype.getState=function(){var Ce=Object.assign({fillColor:this.fillColor,strokeColor:this.strokeColor,strokeWidth:this.strokeWidth,strokeDasharray:this.strokeDasharray,opacity:1,textColor:this.textColor,fontFamily:this.fontFamily,fontSize:this.fontSize,captionText:this.captionText},qe.prototype.getState.call(this));return Ce.typeName=this.typeName,Ce},Ie.prototype.restoreState=function(Ce){var He=Ce;this.fillColor=He.fillColor,this.strokeColor=He.strokeColor,this.strokeWidth=He.strokeWidth,this.strokeDasharray=He.strokeDasharray,this.textColor=He.textColor,this.fontFamily=He.fontFamily,this.captionText=He.captionText,this.fontSize=He.fontSize,this.createVisual(),qe.prototype.restoreState.call(this,Ce),this.setSize()},Ie.prototype.scale=function(Ce,He){qe.prototype.scale.call(this,Ce,He),this.setSize()},Ie.typeName="CaptionFrameMarker",Ie.title="Caption frame marker",Ie.icon='',Ie}(Ft),zn=function(){function qe(Ie,Ce){Ce===void 0&&(Ce=!1),this.cancelable=!1,this._defaultPrevented=!1,this.markerArea=Ie,this.cancelable=Ce}return Object.defineProperty(qe.prototype,"defaultPrevented",{get:function(){return this._defaultPrevented},enumerable:!1,configurable:!0}),qe.prototype.preventDefault=function(){this._defaultPrevented=!0},qe}(),Qn=function(qe){function Ie(Ce,He,it){var we=qe.call(this,Ce,!1)||this;return we.dataUrl=He,we.state=it,we}return je(Ie,qe),Ie}(zn),Jn=function(qe){function Ie(Ce,He,it){it===void 0&&(it=!1);var we=qe.call(this,Ce,it)||this;return we.marker=He,we}return je(Ie,qe),Ie}(zn),qn=function(){function qe(){this.render=[],this.beforeclose=[],this.close=[],this.show=[],this.restorestate=[],this.statechange=[],this.markerselect=[],this.markerdeselect=[],this.markercreating=[],this.markercreate=[],this.markerbeforedelete=[],this.markerdelete=[],this.markerchange=[],this.focus=[],this.blur=[]}return qe.prototype.addEventListener=function(Ie,Ce){this[Ie].push(Ce)},qe.prototype.removeEventListener=function(Ie,Ce){var He=this[Ie].indexOf(Ce);He>-1&&this[Ie].splice(He,1)},qe}(),On=function(){function qe(Ie){this.touchPoints=0,this._availableMarkerTypes=this.DEFAULT_MARKER_TYPES,this.mode="select",this.markers=[],this.isDragging=!1,this.renderEventListeners=[],this.closeEventListeners=[],this.settings=new Cn,this._isOpen=!1,this.undoRedoManager=new an,this.renderAtNaturalSize=!1,this.renderImageType="image/png",this.renderMarkersOnly=!1,this.zoomSteps=[1,1.5,2,4],this._zoomLevel=1,this._isResizing=!1,this.prevPanPoint={x:0,y:0},this.eventListeners=new qn,this._silentRenderMode=!1,this._isFocused=!1,this._instanceNo=qe.instanceCounter++,this.styles=new It(this.instanceNo),this.uiStyleSettings=this.styles.settings,this.target=Ie,this.targetRoot=document.body,this.width=Ie.clientWidth,this.height=Ie.clientHeight,this.styles.removeStyleSheet(),this.open=this.open.bind(this),this.setTopLeft=this.setTopLeft.bind(this),this.toolbarButtonClicked=this.toolbarButtonClicked.bind(this),this.createNewMarker=this.createNewMarker.bind(this),this.addNewMarker=this.addNewMarker.bind(this),this.markerCreated=this.markerCreated.bind(this),this.setCurrentMarker=this.setCurrentMarker.bind(this),this.onPointerDown=this.onPointerDown.bind(this),this.onDblClick=this.onDblClick.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOut=this.onPointerOut.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.overrideOverflow=this.overrideOverflow.bind(this),this.restoreOverflow=this.restoreOverflow.bind(this),this.close=this.close.bind(this),this.closeUI=this.closeUI.bind(this),this.addCloseEventListener=this.addCloseEventListener.bind(this),this.removeCloseEventListener=this.removeCloseEventListener.bind(this),this.addRenderEventListener=this.addRenderEventListener.bind(this),this.removeRenderEventListener=this.removeRenderEventListener.bind(this),this.clientToLocalCoordinates=this.clientToLocalCoordinates.bind(this),this.onWindowResize=this.onWindowResize.bind(this),this.deleteSelectedMarker=this.deleteSelectedMarker.bind(this),this.setWindowHeight=this.setWindowHeight.bind(this),this.removeMarker=this.removeMarker.bind(this),this.colorChanged=this.colorChanged.bind(this),this.fillColorChanged=this.fillColorChanged.bind(this),this.onPopupTargetResize=this.onPopupTargetResize.bind(this),this.showNotesEditor=this.showNotesEditor.bind(this),this.hideNotesEditor=this.hideNotesEditor.bind(this),this.stepZoom=this.stepZoom.bind(this),this.focus=this.focus.bind(this),this.blur=this.blur.bind(this),this.markerStateChanged=this.markerStateChanged.bind(this),this.switchToSelectMode=this.switchToSelectMode.bind(this),this.addDefs=this.addDefs.bind(this),this.addDefsToImage=this.addDefsToImage.bind(this)}return Object.defineProperty(qe.prototype,"ALL_MARKER_TYPES",{get:function(){return[_n,Ct,Mn,tn,In,fi,oi,Rn,li,bn,pn,Xr,Or]},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"DEFAULT_MARKER_TYPES",{get:function(){return[_n,Ct,Mn,tn,fi,oi,Rn]},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"BASIC_MARKER_TYPES",{get:function(){return[_n,Ct,Mn,tn,oi]},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"availableMarkerTypes",{get:function(){return this._availableMarkerTypes},set:function(Ie){var Ce=this;this._availableMarkerTypes.splice(0),Ie.forEach(function(He){if(typeof He=="string"){var it=Ce.ALL_MARKER_TYPES.find(function(we){return we.typeName===He});it!==void 0&&Ce._availableMarkerTypes.push(it)}else Ce._availableMarkerTypes.push(He)})},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"currentMarker",{get:function(){return this._currentMarker},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"isOpen",{get:function(){return this._isOpen},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"isUndoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isUndoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"isRedoPossible",{get:function(){return!(!this.undoRedoManager||!this.undoRedoManager.isRedoPossible)},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"zoomLevel",{get:function(){return this._zoomLevel},set:function(Ie){this._zoomLevel=Ie,this.editorCanvas&&this.contentDiv&&(this.editorCanvas.style.transform="scale("+this._zoomLevel+")",this.contentDiv.scrollTo({left:(this.editorCanvas.clientWidth*this._zoomLevel-this.contentDiv.clientWidth)/2,top:(this.editorCanvas.clientHeight*this._zoomLevel-this.contentDiv.clientHeight)/2}))},enumerable:!1,configurable:!0}),Object.defineProperty(qe.prototype,"instanceNo",{get:function(){return this._instanceNo},enumerable:!1,configurable:!0}),qe.prototype.open=function(){this.setupResizeObserver(),this.setEditingTarget(),this.setTopLeft(),this.initMarkerCanvas(),this.initOverlay(),this.attachEvents(),this.settings.displayMode==="popup"&&this.onPopupTargetResize(),Le.isLicensed||this.addLogo(),this._isOpen=!0,this._isFocused=!0},qe.prototype.show=function(){var Ie=this;this.styles.styleSheetRoot===void 0&&_e.styleSheetRoot!==void 0&&(this.styles.styleSheetRoot=_e.styleSheetRoot),this.setWindowHeight(),this.showUI(),this.open(),this.eventListeners.show.forEach(function(Ce){return Ce(new zn(Ie))})},qe.prototype.render=function(){return Bt(this,void 0,void 0,function(){var Ie;return Rt(this,function(Ce){switch(Ce.label){case 0:return this.setCurrentMarker(),(Ie=new Xe).naturalSize=this.renderAtNaturalSize,Ie.imageType=this.renderImageType,Ie.imageQuality=this.renderImageQuality,Ie.markersOnly=this.renderMarkersOnly,Ie.width=this.renderWidth,Ie.height=this.renderHeight,[4,Ie.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 1:return Ce.sent(),[4,Ie.rasterize(this.target instanceof HTMLImageElement?this.target:null,this.markerImage,this.renderTarget)];case 2:return[2,Ce.sent()]}})})},qe.prototype.close=function(Ie){var Ce=this;if(Ie===void 0&&(Ie=!1),this.isOpen){var He=!1;Ie||this.eventListeners.beforeclose.forEach(function(it){var we=new zn(Ce,!0);it(we),we.defaultPrevented&&(He=!0)}),He||(this.coverDiv&&this.closeUI(),this.targetObserver&&(this.targetObserver.unobserve(this.target),this.targetObserver.unobserve(this.editorCanvas)),this.settings.displayMode==="popup"&&window.removeEventListener("resize",this.setWindowHeight),this.eventListeners.close.forEach(function(it){return it(new zn(Ce))}),this.detachEvents(),this._isOpen=!1)}},qe.prototype.addMarkersToToolbar=function(){for(var Ie,Ce=[],He=0;Hethis.editorCanvas.clientHeight?this.editorCanvas.clientHeight*Ie:this.editorCanvas.clientWidth,He=Ce',Ie.title="Powered by marker.js",Ie.style.display="grid",Ie.style.alignItems="center",Ie.style.justifyItems="center",Ie.style.padding="3px",Ie.style.width="20px",Ie.style.height="20px",this.logoUI.appendChild(Ie),this.editorCanvas.appendChild(this.logoUI),this.logoUI.style.position="absolute",this.logoUI.style.pointerEvents="all",this.positionLogo()},qe.prototype.positionLogo=function(){this.logoUI&&(this.uiStyleSettings.logoPosition!=="right"?this.logoUI.style.left=this.markerImageHolder.offsetLeft+10+"px":this.logoUI.style.left=this.markerImageHolder.offsetLeft+this.markerImageHolder.offsetWidth-this.logoUI.clientWidth-10+"px",this.logoUI.style.top=this.markerImageHolder.offsetTop+this.markerImageHolder.offsetHeight-this.logoUI.clientHeight-10+"px")},qe.prototype.overrideOverflow=function(){this.scrollXState=window.scrollX,this.scrollYState=window.scrollY,this.bodyOverflowState=document.body.style.overflow,window.scroll({top:0,left:0}),document.body.style.overflow="hidden"},qe.prototype.restoreOverflow=function(){document.body.style.overflow=this.bodyOverflowState,window.scroll({top:this.scrollYState,left:this.scrollXState})},qe.prototype.showUI=function(){switch(this.settings.displayMode==="popup"&&this.overrideOverflow(),this.coverDiv=document.createElement("div"),this.coverDiv.style.visibility=this._silentRenderMode?"hidden":"visible",this.coverDiv.className=this.styles.classNamePrefixBase+" "+this.styles.classNamePrefix,this.coverDiv.style.fontSize="16px",this.coverDiv.style.userSelect="none",this.settings.displayMode){case"inline":this.coverDiv.style.position="absolute";var Ie=this.settings.uiOffsetTop!==void 0?this.target.offsetTop+this.settings.uiOffsetTop:this.target.offsetTop>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=Ie+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px",this.coverDiv.style.width=this.target.offsetWidth.toString()+"px",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"5";break;case"popup":this.coverDiv.style.position="absolute",this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=window.innerHeight+"px",this.coverDiv.style.backgroundColor="rgba(0, 0, 0, 0.75)",this.coverDiv.style.zIndex=this.uiStyleSettings.zIndex!==void 0?this.uiStyleSettings.zIndex:"1000",this.coverDiv.style.display="flex"}this.targetRoot.appendChild(this.coverDiv),this.uiDiv=document.createElement("div"),this.uiDiv.style.display="flex",this.uiDiv.style.flexDirection="column",this.uiDiv.style.flexGrow="2",this.uiDiv.style.margin=this.settings.displayMode==="popup"?this.settings.popupMargin+"px":"0px",this.uiDiv.style.border="0px",this.coverDiv.appendChild(this.uiDiv),this.toolbar=new Ot(this.uiDiv,this.settings.displayMode,this._availableMarkerTypes,this.uiStyleSettings,this.styles),this.toolbar.addButtonClickListener(this.toolbarButtonClicked),this.toolbar.show(this._silentRenderMode||this.uiStyleSettings.hideToolbar?"hidden":"visible"),this.contentDiv=document.createElement("div"),this.contentDiv.style.display="flex",this.contentDiv.style.flexDirection="row",this.contentDiv.style.flexGrow="2",this.contentDiv.style.flexShrink="1",this.settings.displayMode==="popup"&&(this.contentDiv.style.backgroundColor=this.uiStyleSettings.canvasBackgroundColor,this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.uiStyleSettings.toolbarHeight+"px",this.contentDiv.style.maxWidth="calc(100vw - "+2*this.settings.popupMargin+"px)"),this.contentDiv.style.overflow="auto",this.uiDiv.appendChild(this.contentDiv),this.editorCanvas=document.createElement("div"),this.editorCanvas.style.flexGrow="2",this.editorCanvas.style.flexShrink="1",this.editorCanvas.style.position="relative",this.editorCanvas.style.overflow="hidden",this.editorCanvas.style.display="flex",this.settings.displayMode==="popup"&&(this.editorCanvas.style.alignItems="center",this.editorCanvas.style.justifyContent="center"),this.editorCanvas.style.pointerEvents="none",this.editorCanvas.style.transformOrigin="left top",this.editorCanvas.style.transform="scale("+this.zoomLevel+")",this.contentDiv.appendChild(this.editorCanvas),this.editingTarget=this.target instanceof HTMLImageElement?document.createElement("img"):document.createElement("canvas"),this.settings.uiOffsetTop===void 0&&this.target.offsetTop-1&&this.markers.splice(this.markers.indexOf(Ie),1),Ie.dispose()},qe.prototype.switchToSelectMode=function(){this.mode="select",this.hideNotesEditor(),this._currentMarker!==void 0&&(this._currentMarker.state!=="new"?this._currentMarker.select():(this.removeMarker(this._currentMarker),this.setCurrentMarker(),this.markerImage.style.cursor="default"),this.addUndoStep())},qe.prototype.toolbarButtonClicked=function(Ie,Ce){if(Ie==="marker"&&Ce!==void 0)this.createNewMarker(Ce);else if(Ie==="action")switch(Ce){case"select":this.switchToSelectMode(),this.switchToSelectMode();break;case"delete":this.deleteSelectedMarker();break;case"clear":this.clear();break;case"undo":this.undo();break;case"redo":this.redo();break;case"zoom":this.stepZoom();break;case"zoom-out":this.zoomLevel=1;break;case"notes":this.notesArea===void 0?(this.switchToSelectMode(),this.zoomLevel=1,this.showNotesEditor()):this.switchToSelectMode();break;case"close":this.close();break;case"render":this.switchToSelectMode(),this.startRenderAndClose()}},qe.prototype.deleteSelectedMarker=function(){var Ie=this;if(this._currentMarker!==void 0){var Ce=!1;if(this.eventListeners.markerbeforedelete.forEach(function(it){var we=new Jn(Ie,Ie._currentMarker,!0);it(we),we.defaultPrevented&&(Ce=!0)}),!Ce){var He=this._currentMarker;this._currentMarker.dispose(),this.markerImage.removeChild(this._currentMarker.container),this.markers.splice(this.markers.indexOf(this._currentMarker),1),this.setCurrentMarker(),this.addUndoStep(),this.eventListeners.markerdelete.forEach(function(it){return it(new Jn(Ie,He))})}}},qe.prototype.clear=function(){var Ie=this,Ce=!1;if(this.markers.length>0&&(this.eventListeners.markerbeforedelete.forEach(function(Xt){var wn=new Jn(Ie,void 0,!0);Xt(wn),wn.defaultPrevented&&(Ce=!0)}),!Ce)){this.setCurrentMarker();for(var He=function(Xt){var wn=it.markers[Xt];it.setCurrentMarker(it.markers[Xt]),it._currentMarker.dispose(),it.markerImage.removeChild(it._currentMarker.container),it.markers.splice(it.markers.indexOf(it._currentMarker),1),it.eventListeners.markerdelete.forEach(function(Lt){return Lt(new Jn(Ie,wn))})},it=this,we=this.markers.length-1;we>=0;we--)He(we);this.addUndoStep()}},Object.defineProperty(qe.prototype,"isNotesAreaOpen",{get:function(){return this.notesArea!==void 0},enumerable:!1,configurable:!0}),qe.prototype.showNotesEditor=function(){var Ie;this._currentMarker!==void 0&&(this.overlayContainer.innerHTML="",this.notesArea=document.createElement("textarea"),this.notesArea.className=this.uiStyleSettings.notesAreaStyleClassName,this.notesArea.style.pointerEvents="auto",this.notesArea.style.alignSelf="stretch",this.notesArea.style.width="100%",this.notesArea.style.margin=this.uiStyleSettings.toolbarHeight/4+"px",this.notesArea.value=(Ie=this._currentMarker.notes)!==null&&Ie!==void 0?Ie:"",this.overlayContainer.appendChild(this.notesArea))},qe.prototype.hideNotesEditor=function(){this.isNotesAreaOpen&&(this._currentMarker!==void 0&&(this._currentMarker.notes=this.notesArea.value.trim()!==""?this.notesArea.value:void 0),this.overlayContainer.removeChild(this.notesArea),this.notesArea=void 0)},qe.prototype.selectLastMarker=function(){this.markers.length>0?this.setCurrentMarker(this.markers[this.markers.length-1]):this.setCurrentMarker()},qe.prototype.addUndoStep=function(){var Ie=this;if(this._currentMarker===void 0||this._currentMarker.state!=="edit"){var Ce=this.getState(),He=this.undoRedoManager.getLastUndoStep();if(!He||He.width===Ce.width&&He.height===Ce.height){var it=this.undoRedoManager.undoStepCount;this.undoRedoManager.addUndoStep(Ce),it1&&this.panTo({x:Ie.clientX,y:Ie.clientY}))},qe.prototype.onPointerUp=function(Ie){this.touchPoints>0&&this.touchPoints--,this.touchPoints===0&&this.isDragging&&this._currentMarker!==void 0&&this._currentMarker.pointerUp(this.clientToLocalCoordinates(Ie.clientX,Ie.clientY)),this.isDragging=!1,this.addUndoStep()},qe.prototype.onPointerOut=function(){this.touchPoints>0&&this.touchPoints--},qe.prototype.onKeyUp=function(Ie){this._currentMarker===void 0||this.notesArea!==void 0||Ie.key!=="Delete"&&Ie.key!=="Backspace"||this.deleteSelectedMarker()},qe.prototype.clientToLocalCoordinates=function(Ie,Ce){var He=this.markerImage.getBoundingClientRect();return{x:(Ie-He.left)/this.zoomLevel,y:(Ce-He.top)/this.zoomLevel}},qe.prototype.onWindowResize=function(){this.positionUI()},qe.prototype.positionUI=function(){switch(this.setTopLeft(),this.settings.displayMode){case"inline":var Ie=this.target.getClientRects().item(0).y>this.styles.settings.toolbarHeight?this.target.offsetTop-this.styles.settings.toolbarHeight:0;this.coverDiv.style.top=Ie+"px",this.coverDiv.style.left=this.target.offsetLeft.toString()+"px";break;case"popup":this.coverDiv.style.top="0px",this.coverDiv.style.left="0px",this.coverDiv.style.width="100vw",this.coverDiv.style.height=this.windowHeight+"px",this.contentDiv.style.maxHeight=this.windowHeight-2*this.settings.popupMargin-3.5*this.styles.settings.toolbarHeight+"px"}this.positionMarkerImage(),this.positionLogo()},qe.prototype.addLicenseKey=function(Ie){Le.addKey(Ie)},qe.prototype.addEventListener=function(Ie,Ce){this.eventListeners.addEventListener(Ie,Ce)},qe.prototype.removeEventListener=function(Ie,Ce){this.eventListeners.removeEventListener(Ie,Ce)},qe.prototype.renderState=function(Ie){this._silentRenderMode=!0,this.settings.displayMode="inline",this.isOpen||this.show(),this.restoreState(Ie),this.startRenderAndClose(),this._silentRenderMode=!1},Object.defineProperty(qe.prototype,"isFocused",{get:function(){return this._isFocused},enumerable:!1,configurable:!0}),qe.prototype.focus=function(){var Ie=this;this._isFocused||(this.attachWindowEvents(),this._isFocused=!0,this._previousCurrentMarker!==void 0&&this.setCurrentMarker(this._previousCurrentMarker),this.eventListeners.focus.forEach(function(Ce){return Ce(new zn(Ie))}))},qe.prototype.blur=function(){var Ie=this;this._isFocused&&(this.detachWindowEvents(),this._isFocused=!1,this._previousCurrentMarker=this._currentMarker,this.setCurrentMarker(),this.eventListeners.blur.forEach(function(Ce){return Ce(new zn(Ie))}))},qe.instanceCounter=0,qe}()},91735:function(Hn,xr){"use strict";xr.Z={items_per_page:"\u6761/\u9875",jump_to:"\u8DF3\u81F3",jump_to_confirm:"\u786E\u5B9A",page:"\u9875",prev_page:"\u4E0A\u4E00\u9875",next_page:"\u4E0B\u4E00\u9875",prev_5:"\u5411\u524D 5 \u9875",next_5:"\u5411\u540E 5 \u9875",prev_3:"\u5411\u524D 3 \u9875",next_3:"\u5411\u540E 3 \u9875",page_size:"\u9875\u7801"}},39417:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return _n}});var se=he(60499),je=he(18642),Bt=he(42244),Rt=he(85899),Dt=he(38705),dt=he(17212),Le=he(15793),Xe=he(39153),_e=he(55401),It=he(92310),vt=he.n(It),wt=he(26112),Ot=he(59301),Ye=he(39378),We=function(Vt){for(var pn=Vt.prefixCls,et=Vt.level,tn=Vt.isStart,Ct=Vt.isEnd,Ln="".concat(pn,"-indent-unit"),Mn=[],bn=0;bn0&&arguments[0]!==void 0?arguments[0]:[],He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],it=Ce.length,we=He.length;if(Math.abs(it-we)!==1)return{add:!1,key:null};function Xt(wn,Lt){var Zt=new Map;wn.forEach(function(Xn){Zt.set(Xn,!0)});var or=Lt.filter(function(Xn){return!Zt.has(Xn)});return or.length===1?or[0]:null}return it ").concat(He);return He}var Xr=pt.forwardRef(function(Ce,He){var it=Ce.prefixCls,we=Ce.data,Xt=Ce.selectable,wn=Ce.checkable,Lt=Ce.expandedKeys,Zt=Ce.selectedKeys,or=Ce.checkedKeys,Xn=Ce.loadedKeys,dn=Ce.loadingKeys,kr=Ce.halfCheckedKeys,vi=Ce.keyEntities,Un=Ce.disabled,Pr=Ce.dragging,Ii=Ce.dragOverNodeKey,on=Ce.dropPosition,qt=Ce.motion,gn=Ce.height,gr=Ce.itemHeight,mr=Ce.virtual,xi=Ce.focusable,Ui=Ce.activeItem,Ni=Ce.focused,Fa=Ce.tabIndex,_o=Ce.onKeyDown,co=Ce.onFocus,kn=Ce.onBlur,Yi=Ce.onActiveChange,ys=Ce.onListChangeStart,$o=Ce.onListChangeEnd,eo=(0,Ft.Z)(Ce,bn),lo=pt.useRef(null),Qr=pt.useRef(null);pt.useImperativeHandle(He,function(){return{scrollTo:function(sr){lo.current.scrollTo(sr)},getIndentWidth:function(){return Qr.current.offsetWidth}}});var ir=pt.useState(Lt),ri=(0,$t.Z)(ir,2),ua=ri[0],un=ri[1],lr=pt.useState(we),Hr=(0,$t.Z)(lr,2),hr=Hr[0],Vr=Hr[1],Rr=pt.useState(we),qr=(0,$t.Z)(Rr,2),Zi=qr[0],Wn=qr[1],st=pt.useState([]),Nt=(0,$t.Z)(st,2),Gn=Nt[0],Sr=Nt[1],yr=pt.useState(null),ci=(0,$t.Z)(yr,2),ai=ci[0],Ur=ci[1],zr=pt.useRef(we);zr.current=we;function ta(){var Mr=zr.current;Vr(Mr),Wn(Mr),Sr([]),Ur(null),$o()}(0,Gt.Z)(function(){un(Lt);var Mr=Ln(ua,Lt);if(Mr.key!==null)if(Mr.add){var sr=hr.findIndex(function(Nr){var Bi=Nr.key;return Bi===Mr.key}),xn=li(Mn(hr,we,Mr.key),mr,gn,gr),er=hr.slice();er.splice(sr+1,0,fi),Wn(er),Sr(xn),Ur("show")}else{var Er=we.findIndex(function(Nr){var Bi=Nr.key;return Bi===Mr.key}),Zr=li(Mn(we,hr,Mr.key),mr,gn,gr),ti=we.slice();ti.splice(Er+1,0,fi),Wn(ti),Sr(Zr),Ur("hide")}else hr!==we&&(Vr(we),Wn(we))},[Lt,we]),pt.useEffect(function(){Pr||ta()},[Pr]);var qa=qt?Zi:we,pi={expandedKeys:Lt,selectedKeys:Zt,loadedKeys:Xn,loadingKeys:dn,checkedKeys:or,halfCheckedKeys:kr,dragOverNodeKey:Ii,dropPosition:on,keyEntities:vi};return pt.createElement(pt.Fragment,null,Ni&&Ui&&pt.createElement("span",{style:Dr,"aria-live":"assertive"},an(Ui)),pt.createElement("div",null,pt.createElement("input",{style:Dr,disabled:xi===!1||Un,tabIndex:xi!==!1?Fa:null,onKeyDown:_o,onFocus:co,onBlur:kn,value:"",onChange:oi,"aria-label":"for screen reader"})),pt.createElement("div",{className:"".concat(it,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},pt.createElement("div",{className:"".concat(it,"-indent")},pt.createElement("div",{ref:Qr,className:"".concat(it,"-indent-unit")}))),pt.createElement(Je.Z,(0,se.Z)({},eo,{data:qa,itemKey:In,height:gn,fullHeight:!1,virtual:mr,itemHeight:gr,prefixCls:"".concat(it,"-list"),ref:lo,onVisibleChange:function(sr,xn){var er=new Set(sr),Er=xn.filter(function(Zr){return!er.has(Zr)});Er.some(function(Zr){return In(Zr)===yt})&&ta()}}),function(Mr){var sr=Mr.pos,xn=(0,se.Z)({},(Qt(Mr.data),Mr.data)),er=Mr.title,Er=Mr.key,Zr=Mr.isStart,ti=Mr.isEnd,Nr=(0,Vt.km)(Er,sr);delete xn.key,delete xn.children;var Bi=(0,Vt.H8)(Nr,pi);return pt.createElement(Ct,(0,se.Z)({},xn,Bi,{title:er,active:!!Ui&&Er===Ui.key,pos:sr,data:Mr.data,isStart:Zr,isEnd:ti,motion:qt,motionNodes:Er===yt?Gn:null,motionType:ai,onMotionStart:ys,onMotionEnd:ta,treeNodeRequiredProps:pi,onMouseMove:function(){Yi(null)}}))}))});Xr.displayName="NodeList";var Or=Xr,zn=he(35654),Qn=he(90782),Jn=he(67841),qn=10,On=function(Ce){(0,_e.Z)(it,Ce);var He=(0,It.Z)(it);function it(){var we;(0,dt.Z)(this,it);for(var Xt=arguments.length,wn=new Array(Xt),Lt=0;Lt2&&arguments[2]!==void 0?arguments[2]:!1,kr=we.state,vi=kr.dragChildrenKeys,Un=kr.dropPosition,Pr=kr.dropTargetKey,Ii=kr.dropTargetPos,on=kr.dropAllowed;if(on){var qt=we.props.onDrop;if(we.setState({dragOverNodeKey:null}),we.cleanDragState(),Pr!==null){var gn=(0,Rt.Z)((0,Rt.Z)({},(0,Vt.H8)(Pr,we.getTreeNodeRequiredProps())),{},{active:((Xn=we.getActiveItem())===null||Xn===void 0?void 0:Xn.key)===Pr,data:(0,Jn.Z)(we.state.keyEntities,Pr).node}),gr=vi.indexOf(Pr)!==-1;(0,We.ZP)(!gr,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var mr=(0,zn.yx)(Ii),xi={event:Zt,node:(0,Vt.F)(gn),dragNode:we.dragNode?(0,Vt.F)(we.dragNode.props):null,dragNodesKeys:[we.dragNode.props.eventKey].concat(vi),dropToGap:Un!==0,dropPosition:Un+Number(mr[mr.length-1])};dn||qt==null||qt(xi),we.dragNode=null}}},we.cleanDragState=function(){var Zt=we.state.draggingNodeKey;Zt!==null&&we.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),we.dragStartMousePosition=null,we.currentMouseOverDroppableNodeKey=null},we.triggerExpandActionExpand=function(Zt,or){var Xn=we.state,dn=Xn.expandedKeys,kr=Xn.flattenNodes,vi=or.expanded,Un=or.key,Pr=or.isLeaf;if(!(Pr||Zt.shiftKey||Zt.metaKey||Zt.ctrlKey)){var Ii=kr.filter(function(qt){return qt.key===Un})[0],on=(0,Vt.F)((0,Rt.Z)((0,Rt.Z)({},(0,Vt.H8)(Un,we.getTreeNodeRequiredProps())),{},{data:Ii.data}));we.setExpandedKeys(vi?(0,zn._5)(dn,Un):(0,zn.L0)(dn,Un)),we.onNodeExpand(Zt,on)}},we.onNodeClick=function(Zt,or){var Xn=we.props,dn=Xn.onClick,kr=Xn.expandAction;kr==="click"&&we.triggerExpandActionExpand(Zt,or),dn==null||dn(Zt,or)},we.onNodeDoubleClick=function(Zt,or){var Xn=we.props,dn=Xn.onDoubleClick,kr=Xn.expandAction;kr==="doubleClick"&&we.triggerExpandActionExpand(Zt,or),dn==null||dn(Zt,or)},we.onNodeSelect=function(Zt,or){var Xn=we.state.selectedKeys,dn=we.state,kr=dn.keyEntities,vi=dn.fieldNames,Un=we.props,Pr=Un.onSelect,Ii=Un.multiple,on=or.selected,qt=or[vi.key],gn=!on;gn?Ii?Xn=(0,zn.L0)(Xn,qt):Xn=[qt]:Xn=(0,zn._5)(Xn,qt);var gr=Xn.map(function(mr){var xi=(0,Jn.Z)(kr,mr);return xi?xi.node:null}).filter(function(mr){return mr});we.setUncontrolledState({selectedKeys:Xn}),Pr==null||Pr(Xn,{event:"select",selected:gn,node:or,selectedNodes:gr,nativeEvent:Zt.nativeEvent})},we.onNodeCheck=function(Zt,or,Xn){var dn=we.state,kr=dn.keyEntities,vi=dn.checkedKeys,Un=dn.halfCheckedKeys,Pr=we.props,Ii=Pr.checkStrictly,on=Pr.onCheck,qt=or.key,gn,gr={event:"check",node:or,checked:Xn,nativeEvent:Zt.nativeEvent};if(Ii){var mr=Xn?(0,zn.L0)(vi,qt):(0,zn._5)(vi,qt),xi=(0,zn._5)(Un,qt);gn={checked:mr,halfChecked:xi},gr.checkedNodes=mr.map(function(kn){return(0,Jn.Z)(kr,kn)}).filter(function(kn){return kn}).map(function(kn){return kn.node}),we.setUncontrolledState({checkedKeys:mr})}else{var Ui=(0,Qn.S)([].concat((0,Dt.Z)(vi),[qt]),!0,kr),Ni=Ui.checkedKeys,Fa=Ui.halfCheckedKeys;if(!Xn){var _o=new Set(Ni);_o.delete(qt);var co=(0,Qn.S)(Array.from(_o),{checked:!1,halfCheckedKeys:Fa},kr);Ni=co.checkedKeys,Fa=co.halfCheckedKeys}gn=Ni,gr.checkedNodes=[],gr.checkedNodesPositions=[],gr.halfCheckedKeys=Fa,Ni.forEach(function(kn){var Yi=(0,Jn.Z)(kr,kn);if(Yi){var ys=Yi.node,$o=Yi.pos;gr.checkedNodes.push(ys),gr.checkedNodesPositions.push({node:ys,pos:$o})}}),we.setUncontrolledState({checkedKeys:Ni},!1,{halfCheckedKeys:Fa})}on==null||on(gn,gr)},we.onNodeLoad=function(Zt){var or=Zt.key,Xn=new Promise(function(dn,kr){we.setState(function(vi){var Un=vi.loadedKeys,Pr=Un===void 0?[]:Un,Ii=vi.loadingKeys,on=Ii===void 0?[]:Ii,qt=we.props,gn=qt.loadData,gr=qt.onLoad;if(!gn||Pr.indexOf(or)!==-1||on.indexOf(or)!==-1)return null;var mr=gn(Zt);return mr.then(function(){var xi=we.state.loadedKeys,Ui=(0,zn.L0)(xi,or);gr==null||gr(Ui,{event:"load",node:Zt}),we.setUncontrolledState({loadedKeys:Ui}),we.setState(function(Ni){return{loadingKeys:(0,zn._5)(Ni.loadingKeys,or)}}),dn()}).catch(function(xi){if(we.setState(function(Ni){return{loadingKeys:(0,zn._5)(Ni.loadingKeys,or)}}),we.loadingRetryTimes[or]=(we.loadingRetryTimes[or]||0)+1,we.loadingRetryTimes[or]>=qn){var Ui=we.state.loadedKeys;(0,We.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),we.setUncontrolledState({loadedKeys:(0,zn.L0)(Ui,or)}),dn()}kr(xi)}),{loadingKeys:(0,zn.L0)(on,or)}})});return Xn.catch(function(){}),Xn},we.onNodeMouseEnter=function(Zt,or){var Xn=we.props.onMouseEnter;Xn==null||Xn({event:Zt,node:or})},we.onNodeMouseLeave=function(Zt,or){var Xn=we.props.onMouseLeave;Xn==null||Xn({event:Zt,node:or})},we.onNodeContextMenu=function(Zt,or){var Xn=we.props.onRightClick;Xn&&(Zt.preventDefault(),Xn({event:Zt,node:or}))},we.onFocus=function(){var Zt=we.props.onFocus;we.setState({focused:!0});for(var or=arguments.length,Xn=new Array(or),dn=0;dn1&&arguments[1]!==void 0?arguments[1]:!1,Xn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!we.destroyed){var dn=!1,kr=!0,vi={};Object.keys(Zt).forEach(function(Un){if(Un in we.props){kr=!1;return}dn=!0,vi[Un]=Zt[Un]}),dn&&(!or||kr)&&we.setState((0,Rt.Z)((0,Rt.Z)({},vi),Xn))}},we.scrollTo=function(Zt){we.listRef.current.scrollTo(Zt)},we}return(0,Le.Z)(it,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var Xt=this.props.activeKey;Xt!==void 0&&Xt!==this.state.activeKey&&(this.setState({activeKey:Xt}),Xt!==null&&this.scrollTo({key:Xt}))}},{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 Xt,wn=this.state,Lt=wn.focused,Zt=wn.flattenNodes,or=wn.keyEntities,Xn=wn.draggingNodeKey,dn=wn.activeKey,kr=wn.dropLevelOffset,vi=wn.dropContainerKey,Un=wn.dropTargetKey,Pr=wn.dropPosition,Ii=wn.dragOverNodeKey,on=wn.indent,qt=this.props,gn=qt.prefixCls,gr=qt.className,mr=qt.style,xi=qt.showLine,Ui=qt.focusable,Ni=qt.tabIndex,Fa=Ni===void 0?0:Ni,_o=qt.selectable,co=qt.showIcon,kn=qt.icon,Yi=qt.switcherIcon,ys=qt.draggable,$o=qt.checkable,eo=qt.checkStrictly,lo=qt.disabled,Qr=qt.motion,ir=qt.loadData,ri=qt.filterTreeNode,ua=qt.height,un=qt.itemHeight,lr=qt.virtual,Hr=qt.titleRender,hr=qt.dropIndicatorRender,Vr=qt.onContextMenu,Rr=qt.onScroll,qr=qt.direction,Zi=qt.rootClassName,Wn=qt.rootStyle,st=(0,Ye.Z)(this.props,{aria:!0,data:!0}),Nt;return ys&&((0,Bt.Z)(ys)==="object"?Nt=ys:typeof ys=="function"?Nt={nodeDraggable:ys}:Nt={}),pt.createElement(mt.k.Provider,{value:{prefixCls:gn,selectable:_o,showIcon:co,icon:kn,switcherIcon:Yi,draggable:Nt,draggingNodeKey:Xn,checkable:$o,checkStrictly:eo,disabled:lo,keyEntities:or,dropLevelOffset:kr,dropContainerKey:vi,dropTargetKey:Un,dropPosition:Pr,dragOverNodeKey:Ii,indent:on,direction:qr,dropIndicatorRender:hr,loadData:ir,filterTreeNode:ri,titleRender:Hr,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}},pt.createElement("div",{role:"tree",className:wt()(gn,gr,Zi,(Xt={},(0,je.Z)(Xt,"".concat(gn,"-show-line"),xi),(0,je.Z)(Xt,"".concat(gn,"-focused"),Lt),(0,je.Z)(Xt,"".concat(gn,"-active-focused"),dn!==null),Xt)),style:Wn},pt.createElement(Or,(0,se.Z)({ref:this.listRef,prefixCls:gn,style:mr,data:Zt,disabled:lo,selectable:_o,checkable:!!$o,motion:Qr,dragging:Xn!==null,height:ua,itemHeight:un,virtual:lr,focusable:Ui,focused:Lt,tabIndex:Fa,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Vr,onScroll:Rr},this.getTreeNodeRequiredProps(),st))))}}],[{key:"getDerivedStateFromProps",value:function(Xt,wn){var Lt=wn.prevProps,Zt={prevProps:Xt};function or(Ui){return!Lt&&Ui in Xt||Lt&&Lt[Ui]!==Xt[Ui]}var Xn,dn=wn.fieldNames;if(or("fieldNames")&&(dn=(0,Vt.w$)(Xt.fieldNames),Zt.fieldNames=dn),or("treeData")?Xn=Xt.treeData:or("children")&&((0,We.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),Xn=(0,Vt.zn)(Xt.children)),Xn){Zt.treeData=Xn;var kr=(0,Vt.I8)(Xn,{fieldNames:dn});Zt.keyEntities=(0,Rt.Z)((0,je.Z)({},yt,Rn),kr.keyEntities)}var vi=Zt.keyEntities||wn.keyEntities;if(or("expandedKeys")||Lt&&or("autoExpandParent"))Zt.expandedKeys=Xt.autoExpandParent||!Lt&&Xt.defaultExpandParent?(0,zn.r7)(Xt.expandedKeys,vi):Xt.expandedKeys;else if(!Lt&&Xt.defaultExpandAll){var Un=(0,Rt.Z)({},vi);delete Un[yt],Zt.expandedKeys=Object.keys(Un).map(function(Ui){return Un[Ui].key})}else!Lt&&Xt.defaultExpandedKeys&&(Zt.expandedKeys=Xt.autoExpandParent||Xt.defaultExpandParent?(0,zn.r7)(Xt.defaultExpandedKeys,vi):Xt.defaultExpandedKeys);if(Zt.expandedKeys||delete Zt.expandedKeys,Xn||Zt.expandedKeys){var Pr=(0,Vt.oH)(Xn||wn.treeData,Zt.expandedKeys||wn.expandedKeys,dn);Zt.flattenNodes=Pr}if(Xt.selectable&&(or("selectedKeys")?Zt.selectedKeys=(0,zn.BT)(Xt.selectedKeys,Xt):!Lt&&Xt.defaultSelectedKeys&&(Zt.selectedKeys=(0,zn.BT)(Xt.defaultSelectedKeys,Xt))),Xt.checkable){var Ii;if(or("checkedKeys")?Ii=(0,zn.E6)(Xt.checkedKeys)||{}:!Lt&&Xt.defaultCheckedKeys?Ii=(0,zn.E6)(Xt.defaultCheckedKeys)||{}:Xn&&(Ii=(0,zn.E6)(Xt.checkedKeys)||{checkedKeys:wn.checkedKeys,halfCheckedKeys:wn.halfCheckedKeys}),Ii){var on=Ii,qt=on.checkedKeys,gn=qt===void 0?[]:qt,gr=on.halfCheckedKeys,mr=gr===void 0?[]:gr;if(!Xt.checkStrictly){var xi=(0,Qn.S)(gn,!0,vi);gn=xi.checkedKeys,mr=xi.halfCheckedKeys}Zt.checkedKeys=gn,Zt.halfCheckedKeys=mr}}return or("loadedKeys")&&(Zt.loadedKeys=Xt.loadedKeys),Zt}}]),it}(pt.Component);On.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:Jt,allowDrop:function(){return!0},expandAction:!1},On.TreeNode=_n.Z;var qe=On,Ie=qe},35654:function(Hn,xr,he){"use strict";he.d(xr,{BT:function(){return pt},E6:function(){return Qt},L0:function(){return It},OM:function(){return We},_5:function(){return _e},r7:function(){return $t},wA:function(){return wt},yx:function(){return vt}});var se=he(77654),je=he(43749),Bt=he(48736),Rt=he(59301),Dt=he(39417),dt=he(67841),Le=he(71430),Xe=null;function _e(Ft,Gt){if(!Ft)return[];var Je=Ft.slice(),Sn=Je.indexOf(Gt);return Sn>=0&&Je.splice(Sn,1),Je}function It(Ft,Gt){var Je=(Ft||[]).slice();return Je.indexOf(Gt)===-1&&Je.push(Gt),Je}function vt(Ft){return Ft.split("-")}function wt(Ft,Gt){var Je=[],Sn=(0,dt.Z)(Gt,Ft);function _n(){var Cn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];Cn.forEach(function(Vt){var pn=Vt.key,et=Vt.children;Je.push(pn),_n(et)})}return _n(Sn.children),Je}function Ot(Ft){if(Ft.parent){var Gt=vt(Ft.pos);return Number(Gt[Gt.length-1])===Ft.parent.children.length-1}return!1}function Ye(Ft){var Gt=vt(Ft.pos);return Number(Gt[Gt.length-1])===0}function We(Ft,Gt,Je,Sn,_n,Cn,Vt,pn,et,tn){var Ct,Ln=Ft.clientX,Mn=Ft.clientY,bn=Ft.target.getBoundingClientRect(),Dr=bn.top,oi=bn.height,yt=(tn==="rtl"?-1:1)*(((_n==null?void 0:_n.x)||0)-Ln),tt=(yt-12)/Sn,Rn=(0,dt.Z)(pn,Je.props.eventKey);if(Mn-1.5?Cn({dragNode:qn,dropNode:On,dropPosition:1})?zn=1:qe=!1:Cn({dragNode:qn,dropNode:On,dropPosition:0})?zn=0:Cn({dragNode:qn,dropNode:On,dropPosition:1})?zn=1:qe=!1:Cn({dragNode:qn,dropNode:On,dropPosition:1})?zn=1:qe=!1,{dropPosition:zn,dropLevelOffset:Qn,dropTargetKey:Rn.key,dropTargetPos:Rn.pos,dragOverNodeKey:Or,dropContainerKey:zn===0?null:((Ct=Rn.parent)===null||Ct===void 0?void 0:Ct.key)||null,dropAllowed:qe}}function pt(Ft,Gt){if(Ft){var Je=Gt.multiple;return Je?Ft.slice():Ft.length?[Ft[0]]:Ft}}var mt=function(Gt){return Gt};function Jt(Ft,Gt){if(!Ft)return[];var Je=Gt||{},Sn=Je.processProps,_n=Sn===void 0?mt:Sn,Cn=Array.isArray(Ft)?Ft:[Ft];return Cn.map(function(Vt){var pn=Vt.children,et=_objectWithoutProperties(Vt,Xe),tn=Jt(pn,Gt);return React.createElement(TreeNode,_extends({key:et.key},_n(et)),tn)})}function Qt(Ft){if(!Ft)return null;var Gt;if(Array.isArray(Ft))Gt={checkedKeys:Ft,halfCheckedKeys:void 0};else if((0,je.Z)(Ft)==="object")Gt={checkedKeys:Ft.checked||void 0,halfCheckedKeys:Ft.halfChecked||void 0};else return(0,Bt.ZP)(!1,"`checkedKeys` is not an array or an object"),null;return Gt}function $t(Ft,Gt){var Je=new Set;function Sn(_n){if(!Je.has(_n)){var Cn=(0,dt.Z)(Gt,_n);if(Cn){Je.add(_n);var Vt=Cn.parent,pn=Cn.node;pn.disabled||Vt&&Sn(Vt.key)}}}return(Ft||[]).forEach(function(_n){Sn(_n)}),(0,se.Z)(Je)}},90782:function(Hn,xr,he){"use strict";he.d(xr,{S:function(){return Le}});var se=he(48736),je=he(67841);function Bt(Xe,_e){var It=new Set;return Xe.forEach(function(vt){_e.has(vt)||It.add(vt)}),It}function Rt(Xe){var _e=Xe||{},It=_e.disabled,vt=_e.disableCheckbox,wt=_e.checkable;return!!(It||vt)||wt===!1}function Dt(Xe,_e,It,vt){for(var wt=new Set(Xe),Ot=new Set,Ye=0;Ye<=It;Ye+=1){var We=_e.get(Ye)||new Set;We.forEach(function(Qt){var $t=Qt.key,Ft=Qt.node,Gt=Qt.children,Je=Gt===void 0?[]:Gt;wt.has($t)&&!vt(Ft)&&Je.filter(function(Sn){return!vt(Sn.node)}).forEach(function(Sn){wt.add(Sn.key)})})}for(var pt=new Set,mt=It;mt>=0;mt-=1){var Jt=_e.get(mt)||new Set;Jt.forEach(function(Qt){var $t=Qt.parent,Ft=Qt.node;if(!(vt(Ft)||!Qt.parent||pt.has(Qt.parent.key))){if(vt(Qt.parent.node)){pt.add($t.key);return}var Gt=!0,Je=!1;($t.children||[]).filter(function(Sn){return!vt(Sn.node)}).forEach(function(Sn){var _n=Sn.key,Cn=wt.has(_n);Gt&&!Cn&&(Gt=!1),!Je&&(Cn||Ot.has(_n))&&(Je=!0)}),Gt&&wt.add($t.key),Je&&Ot.add($t.key),pt.add($t.key)}})}return{checkedKeys:Array.from(wt),halfCheckedKeys:Array.from(Bt(Ot,wt))}}function dt(Xe,_e,It,vt,wt){for(var Ot=new Set(Xe),Ye=new Set(_e),We=0;We<=vt;We+=1){var pt=It.get(We)||new Set;pt.forEach(function($t){var Ft=$t.key,Gt=$t.node,Je=$t.children,Sn=Je===void 0?[]:Je;!Ot.has(Ft)&&!Ye.has(Ft)&&!wt(Gt)&&Sn.filter(function(_n){return!wt(_n.node)}).forEach(function(_n){Ot.delete(_n.key)})})}Ye=new Set;for(var mt=new Set,Jt=vt;Jt>=0;Jt-=1){var Qt=It.get(Jt)||new Set;Qt.forEach(function($t){var Ft=$t.parent,Gt=$t.node;if(!(wt(Gt)||!$t.parent||mt.has($t.parent.key))){if(wt($t.parent.node)){mt.add(Ft.key);return}var Je=!0,Sn=!1;(Ft.children||[]).filter(function(_n){return!wt(_n.node)}).forEach(function(_n){var Cn=_n.key,Vt=Ot.has(Cn);Je&&!Vt&&(Je=!1),!Sn&&(Vt||Ye.has(Cn))&&(Sn=!0)}),Je||Ot.delete(Ft.key),Sn&&Ye.add(Ft.key),mt.add(Ft.key)}})}return{checkedKeys:Array.from(Ot),halfCheckedKeys:Array.from(Bt(Ye,Ot))}}function Le(Xe,_e,It,vt){var wt=[],Ot;vt?Ot=vt:Ot=Rt;var Ye=new Set(Xe.filter(function(Jt){var Qt=!!(0,je.Z)(It,Jt);return Qt||wt.push(Jt),Qt})),We=new Map,pt=0;Object.keys(It).forEach(function(Jt){var Qt=It[Jt],$t=Qt.level,Ft=We.get($t);Ft||(Ft=new Set,We.set($t,Ft)),Ft.add(Qt),pt=Math.max(pt,$t)}),(0,se.ZP)(!wt.length,"Tree missing follow keys: ".concat(wt.slice(0,100).map(function(Jt){return"'".concat(Jt,"'")}).join(", ")));var mt;return _e===!0?mt=Dt(Ye,We,pt,Ot):mt=dt(Ye,_e.halfCheckedKeys,We,pt,Ot),mt}},67841:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return se}});function se(je,Bt){return je[Bt]}},71430:function(Hn,xr,he){"use strict";he.d(xr,{F:function(){return $t},H8:function(){return Qt},I8:function(){return Jt},km:function(){return wt},oH:function(){return pt},w$:function(){return Ot},zn:function(){return We}});var se=he(43749),je=he(77654),Bt=he(85899),Rt=he(42244),Dt=he(11592),dt=he(2738),Le=he(48736),Xe=he(67841),_e=["children"];function It(Ft,Gt){return"".concat(Ft,"-").concat(Gt)}function vt(Ft){return Ft&&Ft.type&&Ft.type.isTreeNode}function wt(Ft,Gt){return Ft!=null?Ft:Gt}function Ot(Ft){var Gt=Ft||{},Je=Gt.title,Sn=Gt._title,_n=Gt.key,Cn=Gt.children,Vt=Je||"title";return{title:Vt,_title:Sn||[Vt],key:_n||"key",children:Cn||"children"}}function Ye(Ft,Gt){var Je=new Map;function Sn(_n){var Cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(_n||[]).forEach(function(Vt){var pn=Vt[Gt.key],et=Vt[Gt.children];warning(pn!=null,"Tree node must have a certain key: [".concat(Cn).concat(pn,"]"));var tn=String(pn);warning(!Je.has(tn)||pn===null||pn===void 0,"Same 'key' exist in the Tree: ".concat(tn)),Je.set(tn,!0),Sn(et,"".concat(Cn).concat(tn," > "))})}Sn(Ft)}function We(Ft){function Gt(Je){var Sn=(0,Dt.Z)(Je);return Sn.map(function(_n){if(!vt(_n))return(0,Le.ZP)(!_n,"Tree/TreeNode can only accept TreeNode as children."),null;var Cn=_n.key,Vt=_n.props,pn=Vt.children,et=(0,Rt.Z)(Vt,_e),tn=(0,Bt.Z)({key:Cn},et),Ct=Gt(pn);return Ct.length&&(tn.children=Ct),tn}).filter(function(_n){return _n})}return Gt(Ft)}function pt(Ft,Gt,Je){var Sn=Ot(Je),_n=Sn._title,Cn=Sn.key,Vt=Sn.children,pn=new Set(Gt===!0?[]:Gt),et=[];function tn(Ct){var Ln=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return Ct.map(function(Mn,bn){for(var Dr=It(Ln?Ln.pos:"0",bn),oi=wt(Mn[Cn],Dr),yt,tt=0;tt<_n.length;tt+=1){var Rn=_n[tt];if(Mn[Rn]!==void 0){yt=Mn[Rn];break}}var fi=(0,Bt.Z)((0,Bt.Z)({},(0,dt.Z)(Mn,[].concat((0,je.Z)(_n),[Cn,Vt]))),{},{title:yt,key:oi,parent:Ln,pos:Dr,children:null,data:Mn,isStart:[].concat((0,je.Z)(Ln?Ln.isStart:[]),[bn===0]),isEnd:[].concat((0,je.Z)(Ln?Ln.isEnd:[]),[bn===Ct.length-1])});return et.push(fi),Gt===!0||pn.has(oi)?fi.children=tn(Mn[Vt]||[],fi):fi.children=[],fi})}return tn(Ft),et}function mt(Ft,Gt,Je){var Sn={};(0,se.Z)(Je)==="object"?Sn=Je:Sn={externalGetKey:Je},Sn=Sn||{};var _n=Sn,Cn=_n.childrenPropName,Vt=_n.externalGetKey,pn=_n.fieldNames,et=Ot(pn),tn=et.key,Ct=et.children,Ln=Cn||Ct,Mn;Vt?typeof Vt=="string"?Mn=function(oi){return oi[Vt]}:typeof Vt=="function"&&(Mn=function(oi){return Vt(oi)}):Mn=function(oi,yt){return wt(oi[tn],yt)};function bn(Dr,oi,yt,tt){var Rn=Dr?Dr[Ln]:Ft,fi=Dr?It(yt.pos,oi):"0",li=Dr?[].concat((0,je.Z)(tt),[Dr]):[];if(Dr){var In=Mn(Dr,fi),an={node:Dr,index:oi,pos:fi,key:In,parentPos:yt.node?yt.pos:null,level:yt.level+1,nodes:li};Gt(an)}Rn&&Rn.forEach(function(Xr,Or){bn(Xr,Or,{node:Dr,pos:fi,level:yt?yt.level+1:-1},li)})}bn(null)}function Jt(Ft){var Gt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Je=Gt.initWrapper,Sn=Gt.processEntity,_n=Gt.onProcessFinished,Cn=Gt.externalGetKey,Vt=Gt.childrenPropName,pn=Gt.fieldNames,et=arguments.length>2?arguments[2]:void 0,tn=Cn||et,Ct={},Ln={},Mn={posEntities:Ct,keyEntities:Ln};return Je&&(Mn=Je(Mn)||Mn),mt(Ft,function(bn){var Dr=bn.node,oi=bn.index,yt=bn.pos,tt=bn.key,Rn=bn.parentPos,fi=bn.level,li=bn.nodes,In={node:Dr,nodes:li,index:oi,key:tt,pos:yt,level:fi},an=wt(tt,yt);Ct[yt]=In,Ln[an]=In,In.parent=Ct[Rn],In.parent&&(In.parent.children=In.parent.children||[],In.parent.children.push(In)),Sn&&Sn(In,Mn)},{externalGetKey:tn,childrenPropName:Vt,fieldNames:pn}),_n&&_n(Mn),Mn}function Qt(Ft,Gt){var Je=Gt.expandedKeys,Sn=Gt.selectedKeys,_n=Gt.loadedKeys,Cn=Gt.loadingKeys,Vt=Gt.checkedKeys,pn=Gt.halfCheckedKeys,et=Gt.dragOverNodeKey,tn=Gt.dropPosition,Ct=Gt.keyEntities,Ln=(0,Xe.Z)(Ct,Ft),Mn={eventKey:Ft,expanded:Je.indexOf(Ft)!==-1,selected:Sn.indexOf(Ft)!==-1,loaded:_n.indexOf(Ft)!==-1,loading:Cn.indexOf(Ft)!==-1,checked:Vt.indexOf(Ft)!==-1,halfChecked:pn.indexOf(Ft)!==-1,pos:String(Ln?Ln.pos:""),dragOver:et===Ft&&tn===0,dragOverGapTop:et===Ft&&tn===-1,dragOverGapBottom:et===Ft&&tn===1};return Mn}function $t(Ft){var Gt=Ft.data,Je=Ft.expanded,Sn=Ft.selected,_n=Ft.checked,Cn=Ft.loaded,Vt=Ft.loading,pn=Ft.halfChecked,et=Ft.dragOver,tn=Ft.dragOverGapTop,Ct=Ft.dragOverGapBottom,Ln=Ft.pos,Mn=Ft.active,bn=Ft.eventKey,Dr=(0,Bt.Z)((0,Bt.Z)({},Gt),{},{expanded:Je,selected:Sn,checked:_n,loaded:Cn,loading:Vt,halfChecked:pn,dragOver:et,dragOverGapTop:tn,dragOverGapBottom:Ct,pos:Ln,active:Mn,key:bn});return"props"in Dr||Object.defineProperty(Dr,"props",{get:function(){return(0,Le.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),Ft}}),Dr}},8224:function(Hn,xr,he){"use strict";he.d(xr,{Z:function(){return je}});var se=he(4676);function je(Bt,Rt,Dt,dt){var Le=se.unstable_batchedUpdates?function(_e){se.unstable_batchedUpdates(Dt,_e)}:Dt;return Bt!=null&&Bt.addEventListener&&Bt.addEventListener(Rt,Le,dt),{remove:function(){Bt!=null&&Bt.removeEventListener&&Bt.removeEventListener(Rt,Le,dt)}}}},55468:function(Hn,xr,he){"use strict";he.d(xr,{g1:function(){return vt},os:function(){return Ot}});var se=/margin|padding|width|height|max|min|offset/,je={left:!0,top:!0},Bt={cssFloat:1,styleFloat:1,float:1};function Rt(Ye){return Ye.nodeType===1?Ye.ownerDocument.defaultView.getComputedStyle(Ye,null):{}}function Dt(Ye,We,pt){if(We=We.toLowerCase(),pt==="auto"){if(We==="height")return Ye.offsetHeight;if(We==="width")return Ye.offsetWidth}return We in je||(je[We]=se.test(We)),je[We]?parseFloat(pt)||0:pt}function dt(Ye,We){var pt=arguments.length,mt=Rt(Ye);return We=Bt[We]?"cssFloat"in Ye.style?"cssFloat":"styleFloat":We,pt===1?mt:Dt(Ye,We,mt[We]||Ye.style[We])}function Le(Ye,We,pt){var mt=arguments.length;if(We=Bt[We]?"cssFloat"in Ye.style?"cssFloat":"styleFloat":We,mt===3)return typeof pt=="number"&&se.test(We)&&(pt="".concat(pt,"px")),Ye.style[We]=pt,pt;for(var Jt in We)We.hasOwnProperty(Jt)&&Le(Ye,Jt,We[Jt]);return Rt(Ye)}function Xe(Ye){return Ye===document.body?document.documentElement.clientWidth:Ye.offsetWidth}function _e(Ye){return Ye===document.body?window.innerHeight||document.documentElement.clientHeight:Ye.offsetHeight}function It(){var Ye=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),We=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);return{width:Ye,height:We}}function vt(){var Ye=document.documentElement.clientWidth,We=window.innerHeight||document.documentElement.clientHeight;return{width:Ye,height:We}}function wt(){return{scrollLeft:Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),scrollTop:Math.max(document.documentElement.scrollTop,document.body.scrollTop)}}function Ot(Ye){var We=Ye.getBoundingClientRect(),pt=document.documentElement;return{left:We.left+(window.pageXOffset||pt.scrollLeft)-(pt.clientLeft||document.body.clientLeft||0),top:We.top+(window.pageYOffset||pt.scrollTop)-(pt.clientTop||document.body.clientTop||0)}}},24514:function(Hn,xr,he){"use strict";he.d(xr,{G:function(){return Rt}});var se=he(47273),je=function(dt){if((0,se.Z)()&&window.document.documentElement){var Le=Array.isArray(dt)?dt:[dt],Xe=window.document.documentElement;return Le.some(function(_e){return _e in Xe.style})}return!1},Bt=function(dt,Le){if(!je(dt))return!1;var Xe=document.createElement("div"),_e=Xe.style[dt];return Xe.style[dt]=Le,Xe.style[dt]!==_e};function Rt(Dt,dt){return!Array.isArray(Dt)&&dt!==void 0?Bt(Dt,dt):je(Dt)}},22061:function(Hn,xr,he){"use strict";he.d(xr,{Z5:function(){return Ed},_l:function(){return ef},bK:function(){return Id}});var se=he(59301),je=he(84255),Bt=he(60499),Rt=he(59781),Dt=se.createContext(null),dt=null;function Le(Ae){Ae()}var Xe=Le,_e=function(xe){return Xe=xe},It=function(){return Xe};function vt(){var Ae=It(),xe=null,Pe=null;return{clear:function(){xe=null,Pe=null},notify:function(){Ae(function(){for(var gt=xe;gt;)gt.callback(),gt=gt.next})},get:function(){for(var gt=[],ft=xe;ft;)gt.push(ft),ft=ft.next;return gt},subscribe:function(gt){var ft=!0,St=Pe={callback:gt,next:null,prev:Pe};return St.prev?St.prev.next=St:xe=St,function(){!ft||xe===null||(ft=!1,St.next?St.next.prev=St.prev:Pe=St.prev,St.prev?St.prev.next=St.next:xe=St.next)}}}}var wt={notify:function(){},get:function(){return[]}};function Ot(Ae,xe){var Pe,Ze=wt;function gt(Kt){return Fn(),Ze.subscribe(Kt)}function ft(){Ze.notify()}function St(){ur.onStateChange&&ur.onStateChange()}function zt(){return!!Pe}function Fn(){Pe||(Pe=xe?xe.addNestedSub(St):Ae.subscribe(St),Ze=vt())}function Ar(){Pe&&(Pe(),Pe=void 0,Ze.clear(),Ze=wt)}var ur={addNestedSub:gt,notifyNestedSubs:ft,handleChangeWrapper:St,isSubscribed:zt,trySubscribe:Fn,tryUnsubscribe:Ar,getListeners:function(){return Ze}};return ur}var Ye=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?se.useLayoutEffect:se.useEffect;function We(Ae){var xe=Ae.store,Pe=Ae.context,Ze=Ae.children,gt=(0,se.useMemo)(function(){var zt=Ot(xe);return{store:xe,subscription:zt}},[xe]),ft=(0,se.useMemo)(function(){return xe.getState()},[xe]);Ye(function(){var zt=gt.subscription;return zt.onStateChange=zt.notifyNestedSubs,zt.trySubscribe(),ft!==xe.getState()&&zt.notifyNestedSubs(),function(){zt.tryUnsubscribe(),zt.onStateChange=null}},[gt,ft]);var St=Pe||Dt;return se.createElement(St.Provider,{value:gt},Ze)}var pt=We,mt=he(69010),Jt=he(94266),Qt=he.n(Jt),$t=he(53410),Ft=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],Gt=["reactReduxForwardedRef"],Je=[],Sn=[null,null],_n=function(xe){try{return JSON.stringify(xe)}catch(Pe){return String(xe)}};function Cn(Ae,xe){var Pe=Ae[1];return[xe.payload,Pe+1]}function Vt(Ae,xe,Pe){Ye(function(){return Ae.apply(void 0,xe)},Pe)}function pn(Ae,xe,Pe,Ze,gt,ft,St){Ae.current=Ze,xe.current=gt,Pe.current=!1,ft.current&&(ft.current=null,St())}function et(Ae,xe,Pe,Ze,gt,ft,St,zt,Fn,Ar){if(Ae){var ur=!1,Kt=null,Tn=function(){if(!ur){var Bo=xe.getState(),Qo,Wo;try{Qo=Ze(Bo,gt.current)}catch(Xs){Wo=Xs,Kt=Xs}Wo||(Kt=null),Qo===ft.current?St.current||Fn():(ft.current=Qo,zt.current=Qo,St.current=!0,Ar({type:"STORE_UPDATED",payload:{error:Wo}}))}};Pe.onStateChange=Tn,Pe.trySubscribe(),Tn();var Ir=function(){if(ur=!0,Pe.tryUnsubscribe(),Pe.onStateChange=null,Kt)throw Kt};return Ir}}var tn=function(){return[null,0]};function Ct(Ae,xe){xe===void 0&&(xe={});var Pe=xe,Ze=Pe.getDisplayName,gt=Ze===void 0?function(wu){return"ConnectAdvanced("+wu+")"}:Ze,ft=Pe.methodName,St=ft===void 0?"connectAdvanced":ft,zt=Pe.renderCountProp,Fn=zt===void 0?void 0:zt,Ar=Pe.shouldHandleStateChanges,ur=Ar===void 0?!0:Ar,Kt=Pe.storeKey,Tn=Kt===void 0?"store":Kt,Ir=Pe.withRef,Li=Ir===void 0?!1:Ir,Bo=Pe.forwardRef,Qo=Bo===void 0?!1:Bo,Wo=Pe.context,Xs=Wo===void 0?Dt:Wo,Bl=(0,mt.Z)(Pe,Ft);if(0)var Il;var Ku=Xs;return function(pu){var td=pu.displayName||pu.name||"Component",as=gt(td),Yc=(0,Bt.Z)({},Bl,{getDisplayName:gt,methodName:St,renderCountProp:Fn,shouldHandleStateChanges:ur,storeKey:Tn,displayName:as,wrappedComponentName:td,WrappedComponent:pu}),jc=Bl.pure;function tf(Od){return Ae(Od.dispatch,Yc)}var nf=jc?se.useMemo:function(Od){return Od()};function wd(Od){var Ld=(0,se.useMemo)(function(){var d0=Od.reactReduxForwardedRef,j0=(0,mt.Z)(Od,Gt);return[Od.context,d0,j0]},[Od]),Mf=Ld[0],C0=Ld[1],Tf=Ld[2],Kd=(0,se.useMemo)(function(){return Mf&&Mf.Consumer&&(0,$t.isContextConsumer)(se.createElement(Mf.Consumer,null))?Mf:Ku},[Mf,Ku]),Uf=(0,se.useContext)(Kd),zf=!!Od.store&&!!Od.store.getState&&!!Od.store.dispatch,lh=!!Uf&&!!Uf.store,Dh=zf?Od.store:Uf.store,Jh=(0,se.useMemo)(function(){return tf(Dh)},[Dh]),Hf=(0,se.useMemo)(function(){if(!ur)return Sn;var d0=Ot(Dh,zf?null:Uf.subscription),j0=d0.notifyNestedSubs.bind(d0);return[d0,j0]},[Dh,zf,Uf]),qh=Hf[0],_h=Hf[1],z0=(0,se.useMemo)(function(){return zf?Uf:(0,Bt.Z)({},Uf,{subscription:qh})},[zf,Uf,qh]),kh=(0,se.useReducer)(Cn,Je,tn),ng=kh[0],c0=ng[0],Lp=kh[1];if(c0&&c0.error)throw c0.error;var B0=(0,se.useRef)(),H0=(0,se.useRef)(Tf),D0=(0,se.useRef)(),fp=(0,se.useRef)(!1),R0=nf(function(){return D0.current&&Tf===H0.current?D0.current:Jh(Dh.getState(),Tf)},[Dh,c0,Tf]);Vt(pn,[H0,B0,fp,Tf,R0,D0,_h]),Vt(et,[ur,Dh,qh,Jh,H0,B0,fp,D0,_h,Lp],[Dh,qh,Jh]);var P0=(0,se.useMemo)(function(){return se.createElement(pu,(0,Bt.Z)({},R0,{ref:C0}))},[C0,pu,R0]),rg=(0,se.useMemo)(function(){return ur?se.createElement(Kd.Provider,{value:z0},P0):P0},[Kd,P0,z0]);return rg}var gf=jc?se.memo(wd):wd;if(gf.WrappedComponent=pu,gf.displayName=wd.displayName=as,Qo){var sh=se.forwardRef(function(Ld,Mf){return se.createElement(gf,(0,Bt.Z)({},Ld,{reactReduxForwardedRef:Mf}))});return sh.displayName=as,sh.WrappedComponent=pu,Qt()(sh,pu)}return Qt()(gf,pu)}}function Ln(Ae,xe){return Ae===xe?Ae!==0||xe!==0||1/Ae===1/xe:Ae!==Ae&&xe!==xe}function Mn(Ae,xe){if(Ln(Ae,xe))return!0;if(typeof Ae!="object"||Ae===null||typeof xe!="object"||xe===null)return!1;var Pe=Object.keys(Ae),Ze=Object.keys(xe);if(Pe.length!==Ze.length)return!1;for(var gt=0;gt=0;Ze--){var gt=xe[Ze](Ae);if(gt)return gt}return function(ft,St){throw new Error("Invalid value of type "+typeof Ae+" for "+Pe+" argument when connecting component "+St.wrappedComponentName+".")}}function we(Ae,xe){return Ae===xe}function Xt(Ae){var xe=Ae===void 0?{}:Ae,Pe=xe.connectHOC,Ze=Pe===void 0?Ct:Pe,gt=xe.mapStateToPropsFactories,ft=gt===void 0?Xr:gt,St=xe.mapDispatchToPropsFactories,zt=St===void 0?li:St,Fn=xe.mergePropsFactories,Ar=Fn===void 0?qn:Fn,ur=xe.selectorFactory,Kt=ur===void 0?Ce:ur;return function(Ir,Li,Bo,Qo){Qo===void 0&&(Qo={});var Wo=Qo,Xs=Wo.pure,Bl=Xs===void 0?!0:Xs,Il=Wo.areStatesEqual,Ku=Il===void 0?we:Il,wu=Wo.areOwnPropsEqual,pu=wu===void 0?Mn:wu,td=Wo.areStatePropsEqual,as=td===void 0?Mn:td,Yc=Wo.areMergedPropsEqual,jc=Yc===void 0?Mn:Yc,tf=(0,mt.Z)(Wo,He),nf=it(Ir,ft,"mapStateToProps"),wd=it(Li,zt,"mapDispatchToProps"),gf=it(Bo,Ar,"mergeProps");return Ze(Kt,(0,Bt.Z)({methodName:"connect",getDisplayName:function(Od){return"Connect("+Od+")"},shouldHandleStateChanges:!!Ir,initMapStateToProps:nf,initMapDispatchToProps:wd,initMergeProps:gf,pure:Bl,areStatesEqual:Ku,areOwnPropsEqual:pu,areStatePropsEqual:as,areMergedPropsEqual:jc},tf))}}var wn=Xt();function Lt(){var Ae=useContext(ReactReduxContext);return Ae}function Zt(Ae){Ae===void 0&&(Ae=ReactReduxContext);var xe=Ae===ReactReduxContext?useDefaultReduxContext:function(){return useContext(Ae)};return function(){var Ze=xe(),gt=Ze.store;return gt}}var or=null;function Xn(Ae){Ae===void 0&&(Ae=ReactReduxContext);var xe=Ae===ReactReduxContext?useDefaultStore:createStoreHook(Ae);return function(){var Ze=xe();return Ze.dispatch}}var dn=null,kr=function(xe,Pe){return xe===Pe};function vi(Ae,xe,Pe,Ze){var gt=useReducer(function(Li){return Li+1},0),ft=gt[1],St=useMemo(function(){return createSubscription(Pe,Ze)},[Pe,Ze]),zt=useRef(),Fn=useRef(),Ar=useRef(),ur=useRef(),Kt=Pe.getState(),Tn;try{if(Ae!==Fn.current||Kt!==Ar.current||zt.current){var Ir=Ae(Kt);ur.current===void 0||!xe(Ir,ur.current)?Tn=Ir:Tn=ur.current}else Tn=ur.current}catch(Li){throw zt.current&&(Li.message+=` -The error may be correlated with this previous error: -`+zt.current.stack+` - -`),Li}return useIsomorphicLayoutEffect(function(){Fn.current=Ae,Ar.current=Kt,ur.current=Tn,zt.current=void 0}),useIsomorphicLayoutEffect(function(){function Li(){try{var Bo=Pe.getState();if(Bo===Ar.current)return;var Qo=Fn.current(Bo);if(xe(Qo,ur.current))return;ur.current=Qo,Ar.current=Bo}catch(Wo){zt.current=Wo}ft()}return St.onStateChange=Li,St.trySubscribe(),Li(),function(){return St.tryUnsubscribe()}},[Pe,St]),Tn}function Un(Ae){Ae===void 0&&(Ae=ReactReduxContext);var xe=Ae===ReactReduxContext?useDefaultReduxContext:function(){return useContext(Ae)};return function(Ze,gt){gt===void 0&&(gt=kr);var ft=xe(),St=ft.store,zt=ft.subscription,Fn=vi(Ze,gt,St,zt);return useDebugValue(Fn),Fn}}var Pr=null,Ii=he(4676);_e(Ii.unstable_batchedUpdates);function on(Ae,xe){if(Ae.length!==xe.length)return!1;for(var Pe=0;Pe");return Ze.callbacks},Ze.setCallbacks=function(zt){Ze.callbacks=zt},Ze}var Pe=xe.prototype;return Pe.componentDidMount=function(){this.unbind=ta(window,[{eventName:"error",fn:this.onWindowError}])},Pe.componentWillUnmount=function(){this.unbind()},Pe.componentDidCatch=function(gt){if(gt instanceof Mr){this.setState({});return}throw gt},Pe.render=function(){return this.props.children(this.setCallbacks)},xe}(se.Component),er=` - Press space bar to start a drag. - When dragging you can use the arrow keys to move the item around and escape to cancel. - Some screen readers may require you to be in focus mode or to use your pass through key -`,Er=function(xe){return xe+1},Zr=function(xe){return` - You have lifted an item in position `+Er(xe.source.index)+` -`},ti=function(xe,Pe){var Ze=xe.droppableId===Pe.droppableId,gt=Er(xe.index),ft=Er(Pe.index);return Ze?` - You have moved the item from position `+gt+` - to position `+ft+` - `:` - You have moved the item from position `+gt+` - in list `+xe.droppableId+` - to list `+Pe.droppableId+` - in position `+ft+` - `},Nr=function(xe,Pe,Ze){var gt=Pe.droppableId===Ze.droppableId;return gt?` - The item `+xe+` - has been combined with `+Ze.draggableId:` - The item `+xe+` - in list `+Pe.droppableId+` - has been combined with `+Ze.draggableId+` - in list `+Ze.droppableId+` - `},Bi=function(xe){var Pe=xe.destination;if(Pe)return ti(xe.source,Pe);var Ze=xe.combine;return Ze?Nr(xe.draggableId,xe.source,Ze):"You are over an area that cannot be dropped on"},Zn=function(xe){return` - The item has returned to its starting position - of `+Er(xe.index)+` -`},Di=function(xe){if(xe.reason==="CANCEL")return` - Movement cancelled. - `+Zn(xe.source)+` - `;var Pe=xe.destination,Ze=xe.combine;return Pe?` - You have dropped the item. - `+ti(xe.source,Pe)+` - `:Ze?` - You have dropped the item. - `+Nr(xe.draggableId,xe.source,Ze)+` - `:` - The item has been dropped while not over a drop area. - `+Zn(xe.source)+` - `},da={dragHandleUsageInstructions:er,onDragStart:Zr,onDragUpdate:Bi,onDragEnd:Di},ha={x:0,y:0},na=function(xe,Pe){return{x:xe.x+Pe.x,y:xe.y+Pe.y}},Qa=function(xe,Pe){return{x:xe.x-Pe.x,y:xe.y-Pe.y}},Ao=function(xe,Pe){return xe.x===Pe.x&&xe.y===Pe.y},Da=function(xe){return{x:xe.x!==0?-xe.x:0,y:xe.y!==0?-xe.y:0}},Ma=function(xe,Pe,Ze){var gt;return Ze===void 0&&(Ze=0),gt={},gt[xe]=Pe,gt[xe==="x"?"y":"x"]=Ze,gt},es=function(xe,Pe){return Math.sqrt(Math.pow(Pe.x-xe.x,2)+Math.pow(Pe.y-xe.y,2))},Fo=function(xe,Pe){return Math.min.apply(Math,Pe.map(function(Ze){return es(xe,Ze)}))},Ls=function(xe){return function(Pe){return{x:xe(Pe.x),y:xe(Pe.y)}}},_a=function(Ae,xe){var Pe=Fa({top:Math.max(xe.top,Ae.top),right:Math.min(xe.right,Ae.right),bottom:Math.min(xe.bottom,Ae.bottom),left:Math.max(xe.left,Ae.left)});return Pe.width<=0||Pe.height<=0?null:Pe},$s=function(xe,Pe){return{top:xe.top+Pe.y,left:xe.left+Pe.x,bottom:xe.bottom+Pe.y,right:xe.right+Pe.x}},sa=function(xe){return[{x:xe.left,y:xe.top},{x:xe.right,y:xe.top},{x:xe.left,y:xe.bottom},{x:xe.right,y:xe.bottom}]},Os={top:0,right:0,bottom:0,left:0},Us=function(xe,Pe){return Pe?$s(xe,Pe.scroll.diff.displacement):xe},Ns=function(xe,Pe,Ze){if(Ze&&Ze.increasedBy){var gt;return(0,Bt.Z)({},xe,(gt={},gt[Pe.end]=xe[Pe.end]+Ze.increasedBy[Pe.line],gt))}return xe},xs=function(xe,Pe){return Pe&&Pe.shouldClipSubject?_a(Pe.pageMarginBox,xe):Fa(xe)},Al=function(Ae){var xe=Ae.page,Pe=Ae.withPlaceholder,Ze=Ae.axis,gt=Ae.frame,ft=Us(xe.marginBox,gt),St=Ns(ft,Ze,Pe),zt=xs(St,gt);return{page:xe,withPlaceholder:Pe,active:zt}},Bs=function(Ae,xe){Ae.frame||sr(!1);var Pe=Ae.frame,Ze=Qa(xe,Pe.scroll.initial),gt=Da(Ze),ft=(0,Bt.Z)({},Pe,{scroll:{initial:Pe.scroll.initial,current:xe,diff:{value:Ze,displacement:gt},max:Pe.scroll.max}}),St=Al({page:Ae.subject.page,withPlaceholder:Ae.subject.withPlaceholder,axis:Ae.axis,frame:ft}),zt=(0,Bt.Z)({},Ae,{frame:ft,subject:St});return zt};function Ho(Ae){return Number.isInteger?Number.isInteger(Ae):typeof Ae=="number"&&isFinite(Ae)&&Math.floor(Ae)===Ae}function ll(Ae){return Object.values?Object.values(Ae):Object.keys(Ae).map(function(xe){return Ae[xe]})}function el(Ae,xe){if(Ae.findIndex)return Ae.findIndex(xe);for(var Pe=0;PeAe.bottom,Ar=Ze.leftAe.right,ur=Fn&&Ar;if(ur)return!0;var Kt=Fn&&St||Ar&&ft;return Kt}},zu=function(Ae){var xe=Ru(Ae.top,Ae.bottom),Pe=Ru(Ae.left,Ae.right);return function(Ze){var gt=xe(Ze.top)&&xe(Ze.bottom)&&Pe(Ze.left)&&Pe(Ze.right);return gt}},Mu={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},vc={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},yu=function(Ae){return function(xe){var Pe=Ru(xe.top,xe.bottom),Ze=Ru(xe.left,xe.right);return function(gt){return Ae===Mu?Pe(gt.top)&&Pe(gt.bottom):Ze(gt.left)&&Ze(gt.right)}}},to=function(xe,Pe){var Ze=Pe.frame?Pe.frame.scroll.diff.displacement:ha;return $s(xe,Ze)},uo=function(xe,Pe,Ze){return Pe.subject.active?Ze(Pe.subject.active)(xe):!1},no=function(xe,Pe,Ze){return Ze(Pe)(xe)},yn=function(xe){var Pe=xe.target,Ze=xe.destination,gt=xe.viewport,ft=xe.withDroppableDisplacement,St=xe.isVisibleThroughFrameFn,zt=ft?to(Pe,Ze):Pe;return uo(zt,Ze,St)&&no(zt,gt,St)},ps=function(xe){return yn((0,Bt.Z)({},xe,{isVisibleThroughFrameFn:hu}))},al=function(xe){return yn((0,Bt.Z)({},xe,{isVisibleThroughFrameFn:zu}))},Vs=function(xe){return yn((0,Bt.Z)({},xe,{isVisibleThroughFrameFn:yu(xe.destination.axis)}))},$l=function(xe,Pe,Ze){if(typeof Ze=="boolean")return Ze;if(!Pe)return!0;var gt=Pe.invisible,ft=Pe.visible;if(gt[xe])return!1;var St=ft[xe];return St?St.shouldAnimate:!0};function eu(Ae,xe){var Pe=Ae.page.marginBox,Ze={top:xe.point.y,right:0,bottom:0,left:xe.point.x};return Fa(_o(Pe,Ze))}function vu(Ae){var xe=Ae.afterDragging,Pe=Ae.destination,Ze=Ae.displacedBy,gt=Ae.viewport,ft=Ae.forceShouldAnimate,St=Ae.last;return xe.reduce(function(Fn,Ar){var ur=eu(Ar,Ze),Kt=Ar.descriptor.id;Fn.all.push(Kt);var Tn=ps({target:ur,destination:Pe,viewport:gt,withDroppableDisplacement:!0});if(!Tn)return Fn.invisible[Ar.descriptor.id]=!0,Fn;var Ir=$l(Kt,St,ft),Li={draggableId:Kt,shouldAnimate:Ir};return Fn.visible[Kt]=Li,Fn},{all:[],visible:{},invisible:{}})}function ku(Ae,xe){if(!Ae.length)return 0;var Pe=Ae[Ae.length-1].descriptor.index;return xe.inHomeList?Pe:Pe+1}function Lu(Ae){var xe=Ae.insideDestination,Pe=Ae.inHomeList,Ze=Ae.displacedBy,gt=Ae.destination,ft=ku(xe,{inHomeList:Pe});return{displaced:Su,displacedBy:Ze,at:{type:"REORDER",destination:{droppableId:gt.descriptor.id,index:ft}}}}function Cc(Ae){var xe=Ae.draggable,Pe=Ae.insideDestination,Ze=Ae.destination,gt=Ae.viewport,ft=Ae.displacedBy,St=Ae.last,zt=Ae.index,Fn=Ae.forceShouldAnimate,Ar=zs(xe,Ze);if(zt==null)return Lu({insideDestination:Pe,inHomeList:Ar,displacedBy:ft,destination:Ze});var ur=Rs(Pe,function(Bo){return Bo.descriptor.index===zt});if(!ur)return Lu({insideDestination:Pe,inHomeList:Ar,displacedBy:ft,destination:Ze});var Kt=$a(xe,Pe),Tn=Pe.indexOf(ur),Ir=Kt.slice(Tn),Li=vu({afterDragging:Ir,destination:Ze,displacedBy:ft,last:St,viewport:gt.frame,forceShouldAnimate:Fn});return{displaced:Li,displacedBy:ft,at:{type:"REORDER",destination:{droppableId:Ze.descriptor.id,index:zt}}}}function fo(Ae,xe){return!!xe.effected[Ae]}var Ql=function(Ae){var xe=Ae.isMovingForward,Pe=Ae.destination,Ze=Ae.draggables,gt=Ae.combine,ft=Ae.afterCritical;if(!Pe.isCombineEnabled)return null;var St=gt.draggableId,zt=Ze[St],Fn=zt.descriptor.index,Ar=fo(St,ft);return Ar?xe?Fn:Fn-1:xe?Fn+1:Fn},oc=function(Ae){var xe=Ae.isMovingForward,Pe=Ae.isInHomeList,Ze=Ae.insideDestination,gt=Ae.location;if(!Ze.length)return null;var ft=gt.index,St=xe?ft+1:ft-1,zt=Ze[0].descriptor.index,Fn=Ze[Ze.length-1].descriptor.index,Ar=Pe?Fn:Fn+1;return StAr?null:St},us=function(Ae){var xe=Ae.isMovingForward,Pe=Ae.isInHomeList,Ze=Ae.draggable,gt=Ae.draggables,ft=Ae.destination,St=Ae.insideDestination,zt=Ae.previousImpact,Fn=Ae.viewport,Ar=Ae.afterCritical,ur=zt.at;if(ur||sr(!1),ur.type==="REORDER"){var Kt=oc({isMovingForward:xe,isInHomeList:Pe,location:ur.destination,insideDestination:St});return Kt==null?null:Cc({draggable:Ze,insideDestination:St,destination:ft,viewport:Fn,last:zt.displaced,displacedBy:zt.displacedBy,index:Kt})}var Tn=Ql({isMovingForward:xe,destination:ft,displaced:zt.displaced,draggables:gt,combine:ur.combine,afterCritical:Ar});return Tn==null?null:Cc({draggable:Ze,insideDestination:St,destination:ft,viewport:Fn,last:zt.displaced,displacedBy:zt.displacedBy,index:Tn})},Hs=function(Ae){var xe=Ae.displaced,Pe=Ae.afterCritical,Ze=Ae.combineWith,gt=Ae.displacedBy,ft=!!(xe.visible[Ze]||xe.invisible[Ze]);return fo(Ze,Pe)?ft?ha:Da(gt.point):ft?gt.point:ha},Oo=function(Ae){var xe=Ae.afterCritical,Pe=Ae.impact,Ze=Ae.draggables,gt=Na(Pe);gt||sr(!1);var ft=gt.draggableId,St=Ze[ft].page.borderBox.center,zt=Hs({displaced:Pe.displaced,afterCritical:xe,combineWith:ft,displacedBy:Pe.displacedBy});return na(St,zt)},fn=function(xe,Pe){return Pe.margin[xe.start]+Pe.borderBox[xe.size]/2},Lr=function(xe,Pe){return Pe.margin[xe.end]+Pe.borderBox[xe.size]/2},nr=function(xe,Pe,Ze){return Pe[xe.crossAxisStart]+Ze.margin[xe.crossAxisStart]+Ze.borderBox[xe.crossAxisSize]/2},Oi=function(xe){var Pe=xe.axis,Ze=xe.moveRelativeTo,gt=xe.isMoving;return Ma(Pe.line,Ze.marginBox[Pe.end]+fn(Pe,gt),nr(Pe,Ze.marginBox,gt))},Do=function(xe){var Pe=xe.axis,Ze=xe.moveRelativeTo,gt=xe.isMoving;return Ma(Pe.line,Ze.marginBox[Pe.start]-Lr(Pe,gt),nr(Pe,Ze.marginBox,gt))},cr=function(xe){var Pe=xe.axis,Ze=xe.moveInto,gt=xe.isMoving;return Ma(Pe.line,Ze.contentBox[Pe.start]+fn(Pe,gt),nr(Pe,Ze.contentBox,gt))},tl=function(Ae){var xe=Ae.impact,Pe=Ae.draggable,Ze=Ae.draggables,gt=Ae.droppable,ft=Ae.afterCritical,St=Ts(gt.descriptor.id,Ze),zt=Pe.page,Fn=gt.axis;if(!St.length)return cr({axis:Fn,moveInto:gt.page,isMoving:zt});var Ar=xe.displaced,ur=xe.displacedBy,Kt=Ar.all[0];if(Kt){var Tn=Ze[Kt];if(fo(Kt,ft))return Do({axis:Fn,moveRelativeTo:Tn.page,isMoving:zt});var Ir=lo(Tn.page,ur.point);return Do({axis:Fn,moveRelativeTo:Ir,isMoving:zt})}var Li=St[St.length-1];if(Li.descriptor.id===Pe.descriptor.id)return zt.borderBox.center;if(fo(Li.descriptor.id,ft)){var Bo=lo(Li.page,Da(ft.displacedBy.point));return Oi({axis:Fn,moveRelativeTo:Bo,isMoving:zt})}return Oi({axis:Fn,moveRelativeTo:Li.page,isMoving:zt})},ka=function(Ae,xe){var Pe=Ae.frame;return Pe?na(xe,Pe.scroll.diff.displacement):xe},Vi=function(xe){var Pe=xe.impact,Ze=xe.draggable,gt=xe.droppable,ft=xe.draggables,St=xe.afterCritical,zt=Ze.page.borderBox.center,Fn=Pe.at;return!gt||!Fn?zt:Fn.type==="REORDER"?tl({impact:Pe,draggable:Ze,draggables:ft,droppable:gt,afterCritical:St}):Oo({impact:Pe,draggables:ft,afterCritical:St})},No=function(Ae){var xe=Vi(Ae),Pe=Ae.droppable,Ze=Pe?ka(Pe,xe):xe;return Ze},Nl=function(Ae,xe){var Pe=Qa(xe,Ae.scroll.initial),Ze=Da(Pe),gt=Fa({top:xe.y,bottom:xe.y+Ae.frame.height,left:xe.x,right:xe.x+Ae.frame.width}),ft={frame:gt,scroll:{initial:Ae.scroll.initial,max:Ae.scroll.max,current:xe,diff:{value:Pe,displacement:Ze}}};return ft};function Aa(Ae,xe){return Ae.map(function(Pe){return xe[Pe]})}function yo(Ae,xe){for(var Pe=0;Pe1?ur.sort(function(Kt,Tn){return Es(Kt)[zt.start]-Es(Tn)[zt.start]})[0]:Ar.sort(function(Kt,Tn){var Ir=Fo(Pe,sa(Es(Kt))),Li=Fo(Pe,sa(Es(Tn)));return Ir!==Li?Ir-Li:Es(Kt)[zt.start]-Es(Tn)[zt.start]})[0]},Is=function(xe,Pe){var Ze=xe.page.borderBox.center;return fo(xe.descriptor.id,Pe)?Qa(Ze,Pe.displacedBy.point):Ze},fl=function(xe,Pe){var Ze=xe.page.borderBox;return fo(xe.descriptor.id,Pe)?$s(Ze,Da(Pe.displacedBy.point)):Ze},Gl=function(Ae){var xe=Ae.pageBorderBoxCenter,Pe=Ae.viewport,Ze=Ae.destination,gt=Ae.insideDestination,ft=Ae.afterCritical,St=gt.filter(function(zt){return al({target:fl(zt,ft),destination:Ze,viewport:Pe.frame,withDroppableDisplacement:!0})}).sort(function(zt,Fn){var Ar=es(xe,ka(Ze,Is(zt,ft))),ur=es(xe,ka(Ze,Is(Fn,ft)));return Arxe.left&&Ae.topxe.top}function ou(Ae){var xe=Ae.pageBorderBox,Pe=Ae.draggable,Ze=Ae.candidates,gt=Pe.page.borderBox.center,ft=Ze.map(function(St){var zt=St.axis,Fn=Ma(St.axis.line,xe.center[zt.line],St.page.borderBox.center[zt.crossAxisLine]);return{id:St.descriptor.id,distance:es(gt,Fn)}}).sort(function(St,zt){return zt.distance-St.distance});return ft[0]?ft[0].id:null}function Mc(Ae){var xe=Ae.pageBorderBox,Pe=Ae.draggable,Ze=Ae.droppables,gt=vs(Ze).filter(function(ft){if(!ft.isEnabled)return!1;var St=ft.subject.active;if(!St||!Go(xe,St))return!1;if(Co(St)(xe.center))return!0;var zt=ft.axis,Fn=St.center[zt.crossAxisLine],Ar=xe[zt.crossAxisStart],ur=xe[zt.crossAxisEnd],Kt=Ru(St[zt.crossAxisStart],St[zt.crossAxisEnd]),Tn=Kt(Ar),Ir=Kt(ur);return!Tn&&!Ir?!0:Tn?ArFn});return gt.length?gt.length===1?gt[0].descriptor.id:ou({pageBorderBox:xe,draggable:Pe,candidates:gt}):null}var Ai=function(xe,Pe){return Fa($s(xe,Pe))},tu=function(Ae,xe){var Pe=Ae.frame;return Pe?Ai(xe,Pe.scroll.diff.value):xe};function Pl(Ae){var xe=Ae.displaced,Pe=Ae.id;return!!(xe.visible[Pe]||xe.invisible[Pe])}function nc(Ae){var xe=Ae.draggable,Pe=Ae.closest,Ze=Ae.inHomeList;return Pe?Ze&&Pe.descriptor.index>xe.descriptor.index?Pe.descriptor.index-1:Pe.descriptor.index:null}var Tu=function(Ae){var xe=Ae.pageBorderBoxWithDroppableScroll,Pe=Ae.draggable,Ze=Ae.destination,gt=Ae.insideDestination,ft=Ae.last,St=Ae.viewport,zt=Ae.afterCritical,Fn=Ze.axis,Ar=Ul(Ze.axis,Pe.displaceBy),ur=Ar.value,Kt=xe[Fn.start],Tn=xe[Fn.end],Ir=$a(Pe,gt),Li=Rs(Ir,function(Qo){var Wo=Qo.descriptor.id,Xs=Qo.page.borderBox.center[Fn.line],Bl=fo(Wo,zt),Il=Pl({displaced:ft,id:Wo});return Bl?Il?Tn<=Xs:KtWo[zt.start]+Bl&&KtWo[zt.start]-Ar+Bl&&urWo[zt.start]+Ar+Bl&&KtWo[zt.start]+Bl&&ur=Vl)return Js;var ft=gt/Vl,St=Ll+wl*ft,zt=Ze==="CANCEL"?St*Uu:St;return Number(zt.toFixed(2))},cu=function(Ae){var xe=Ae.impact,Pe=Ae.draggable,Ze=Ae.dimensions,gt=Ae.viewport,ft=Ae.afterCritical,St=Ze.draggables,zt=Ze.droppables,Fn=Ro(xe),Ar=Fn?zt[Fn]:null,ur=zt[Pe.descriptor.droppableId],Kt=Yl({impact:xe,draggable:Pe,draggables:St,afterCritical:ft,droppable:Ar||ur,viewport:gt}),Tn=Qa(Kt,Pe.client.borderBox.center);return Tn},pc=function(Ae){var xe=Ae.draggables,Pe=Ae.reason,Ze=Ae.lastImpact,gt=Ae.home,ft=Ae.viewport,St=Ae.onLiftImpact;if(!Ze.at||Pe!=="DROP"){var zt=Rl({draggables:xe,impact:St,destination:gt,viewport:ft,forceShouldAnimate:!0});return{impact:zt,didDropInsideDroppable:!1}}if(Ze.at.type==="REORDER")return{impact:Ze,didDropInsideDroppable:!0};var Fn=(0,Bt.Z)({},Ze,{displaced:Su});return{impact:Fn,didDropInsideDroppable:!0}},Ac=function(Ae){var xe=Ae.getState,Pe=Ae.dispatch;return function(Ze){return function(gt){if(gt.type!=="DROP"){Ze(gt);return}var ft=xe(),St=gt.payload.reason;if(ft.phase==="COLLECTING"){Pe(ns({reason:St}));return}if(ft.phase!=="IDLE"){var zt=ft.phase==="DROP_PENDING"&&ft.isWaiting;zt&&sr(!1),ft.phase==="DRAGGING"||ft.phase==="DROP_PENDING"||sr(!1);var Fn=ft.critical,Ar=ft.dimensions,ur=Ar.draggables[ft.critical.draggable.id],Kt=pc({reason:St,lastImpact:ft.impact,afterCritical:ft.afterCritical,onLiftImpact:ft.onLiftImpact,home:ft.dimensions.droppables[ft.critical.droppable.id],viewport:ft.viewport,draggables:ft.dimensions.draggables}),Tn=Kt.impact,Ir=Kt.didDropInsideDroppable,Li=Ir?ul(Tn):null,Bo=Ir?Na(Tn):null,Qo={index:Fn.draggable.index,droppableId:Fn.droppable.id},Wo={draggableId:ur.descriptor.id,type:ur.descriptor.type,source:Qo,reason:St,mode:ft.movementMode,destination:Li,combine:Bo},Xs=cu({impact:Tn,draggable:ur,dimensions:Ar,viewport:ft.viewport,afterCritical:ft.afterCritical}),Bl={critical:ft.critical,afterCritical:ft.afterCritical,result:Wo,impact:Tn},Il=!Ao(ft.current.client.offset,Xs)||!!Wo.combine;if(!Il){Pe(Ci({completed:Bl}));return}var Ku=xu({current:ft.current.client.offset,destination:Xs,reason:St}),wu={newHomeClientOffset:Xs,dropDuration:Ku,completed:Bl};Pe(jr(wu))}}}},ot=function(){return{x:window.pageXOffset,y:window.pageYOffset}};function ht(Ae){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(Pe){Pe.target!==window&&Pe.target!==window.document||Ae()}}}function Wt(Ae){var xe=Ae.onWindowScroll;function Pe(){xe(ot())}var Ze=Rr(Pe),gt=ht(Ze),ft=Ur;function St(){return ft!==Ur}function zt(){St()&&sr(!1),ft=ta(window,[gt])}function Fn(){St()||sr(!1),Ze.cancel(),ft(),ft=Ur}return{start:zt,stop:Fn,isActive:St}}var cn=function(xe){return xe.type==="DROP_COMPLETE"||xe.type==="DROP_ANIMATE"||xe.type==="FLUSH"},Nn=function(Ae){var xe=Wt({onWindowScroll:function(Ze){Ae.dispatch(gi({newScroll:Ze}))}});return function(Pe){return function(Ze){!xe.isActive()&&Ze.type==="INITIAL_PUBLISH"&&xe.start(),xe.isActive()&&cn(Ze)&&xe.stop(),Pe(Ze)}}},Bn=function(Ae){var xe=!1,Pe=!1,Ze=setTimeout(function(){Pe=!0}),gt=function(St){xe||Pe||(xe=!0,Ae(St),clearTimeout(Ze))};return gt.wasCalled=function(){return xe},gt},dr=function(){var Ae=[],xe=function(ft){var St=el(Ae,function(Ar){return Ar.timerId===ft});St===-1&&sr(!1);var zt=Ae.splice(St,1),Fn=zt[0];Fn.callback()},Pe=function(ft){var St=setTimeout(function(){return xe(St)}),zt={timerId:St,callback:ft};Ae.push(zt)},Ze=function(){if(Ae.length){var ft=[].concat(Ae);Ae.length=0,ft.forEach(function(St){clearTimeout(St.timerId),St.callback()})}};return{add:Pe,flush:Ze}},pr=function(xe,Pe){return xe==null&&Pe==null?!0:xe==null||Pe==null?!1:xe.droppableId===Pe.droppableId&&xe.index===Pe.index},ar=function(xe,Pe){return xe==null&&Pe==null?!0:xe==null||Pe==null?!1:xe.draggableId===Pe.draggableId&&xe.droppableId===Pe.droppableId},_r=function(xe,Pe){if(xe===Pe)return!0;var Ze=xe.draggable.id===Pe.draggable.id&&xe.draggable.droppableId===Pe.draggable.droppableId&&xe.draggable.type===Pe.draggable.type&&xe.draggable.index===Pe.draggable.index,gt=xe.droppable.id===Pe.droppable.id&&xe.droppable.type===Pe.droppable.type;return Ze&>},Wr=function(xe,Pe){Dc(),Pe(),Jl()},Jr=function(xe,Pe){return{draggableId:xe.draggable.id,type:xe.droppable.type,source:{droppableId:xe.droppable.id,index:xe.draggable.index},mode:Pe}},Qi=function(xe,Pe,Ze,gt){if(!xe){Ze(gt(Pe));return}var ft=Bn(Ze),St={announce:ft};xe(Pe,St),ft.wasCalled()||Ze(gt(Pe))},Xi=function(Ae,xe){var Pe=dr(),Ze=null,gt=function(Tn,Ir){Ze&&sr(!1),Wr("onBeforeCapture",function(){var Li=Ae().onBeforeCapture;if(Li){var Bo={draggableId:Tn,mode:Ir};Li(Bo)}})},ft=function(Tn,Ir){Ze&&sr(!1),Wr("onBeforeDragStart",function(){var Li=Ae().onBeforeDragStart;Li&&Li(Jr(Tn,Ir))})},St=function(Tn,Ir){Ze&&sr(!1);var Li=Jr(Tn,Ir);Ze={mode:Ir,lastCritical:Tn,lastLocation:Li.source,lastCombine:null},Pe.add(function(){Wr("onDragStart",function(){return Qi(Ae().onDragStart,Li,xe,da.onDragStart)})})},zt=function(Tn,Ir){var Li=ul(Ir),Bo=Na(Ir);Ze||sr(!1);var Qo=!_r(Tn,Ze.lastCritical);Qo&&(Ze.lastCritical=Tn);var Wo=!pr(Ze.lastLocation,Li);Wo&&(Ze.lastLocation=Li);var Xs=!ar(Ze.lastCombine,Bo);if(Xs&&(Ze.lastCombine=Bo),!(!Qo&&!Wo&&!Xs)){var Bl=(0,Bt.Z)({},Jr(Tn,Ze.mode),{combine:Bo,destination:Li});Pe.add(function(){Wr("onDragUpdate",function(){return Qi(Ae().onDragUpdate,Bl,xe,da.onDragUpdate)})})}},Fn=function(){Ze||sr(!1),Pe.flush()},Ar=function(Tn){Ze||sr(!1),Ze=null,Wr("onDragEnd",function(){return Qi(Ae().onDragEnd,Tn,xe,da.onDragEnd)})},ur=function(){if(Ze){var Tn=(0,Bt.Z)({},Jr(Ze.lastCritical,Ze.mode),{combine:null,destination:null,reason:"CANCEL"});Ar(Tn)}};return{beforeCapture:gt,beforeStart:ft,start:St,update:zt,flush:Fn,drop:Ar,abort:ur}},Wi=function(Ae,xe){var Pe=Xi(Ae,xe);return function(Ze){return function(gt){return function(ft){if(ft.type==="BEFORE_INITIAL_CAPTURE"){Pe.beforeCapture(ft.payload.draggableId,ft.payload.movementMode);return}if(ft.type==="INITIAL_PUBLISH"){var St=ft.payload.critical;Pe.beforeStart(St,ft.payload.movementMode),gt(ft),Pe.start(St,ft.payload.movementMode);return}if(ft.type==="DROP_COMPLETE"){var zt=ft.payload.completed.result;Pe.flush(),gt(ft),Pe.drop(zt);return}if(gt(ft),ft.type==="FLUSH"){Pe.abort();return}var Fn=Ze.getState();Fn.phase==="DRAGGING"&&Pe.update(Fn.critical,Fn.impact)}}}},pa=function(Ae){return function(xe){return function(Pe){if(Pe.type!=="DROP_ANIMATION_FINISHED"){xe(Pe);return}var Ze=Ae.getState();Ze.phase!=="DROP_ANIMATING"&&sr(!1),Ae.dispatch(Ci({completed:Ze.completed}))}}},la=function(Ae){var xe=null,Pe=null;function Ze(){Pe&&(cancelAnimationFrame(Pe),Pe=null),xe&&(xe(),xe=null)}return function(gt){return function(ft){if((ft.type==="FLUSH"||ft.type==="DROP_COMPLETE"||ft.type==="DROP_ANIMATION_FINISHED")&&Ze(),gt(ft),ft.type==="DROP_ANIMATE"){var St={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){var Fn=Ae.getState();Fn.phase==="DROP_ANIMATING"&&Ae.dispatch(wo())}};Pe=requestAnimationFrame(function(){Pe=null,xe=ta(window,[St])})}}}},Ta=function(Ae){return function(){return function(xe){return function(Pe){(Pe.type==="DROP_COMPLETE"||Pe.type==="FLUSH"||Pe.type==="DROP_ANIMATE")&&Ae.stopPublishing(),xe(Pe)}}}},hi=function(Ae){var xe=!1;return function(){return function(Pe){return function(Ze){if(Ze.type==="INITIAL_PUBLISH"){xe=!0,Ae.tryRecordFocus(Ze.payload.critical.draggable.id),Pe(Ze),Ae.tryRestoreFocusRecorded();return}if(Pe(Ze),!!xe){if(Ze.type==="FLUSH"){xe=!1,Ae.tryRestoreFocusRecorded();return}if(Ze.type==="DROP_COMPLETE"){xe=!1;var gt=Ze.payload.completed.result;gt.combine&&Ae.tryShiftRecord(gt.draggableId,gt.combine.draggableId),Ae.tryRestoreFocusRecorded()}}}}}},Ia=function(xe){return xe.type==="DROP_COMPLETE"||xe.type==="DROP_ANIMATE"||xe.type==="FLUSH"},So=function(Ae){return function(xe){return function(Pe){return function(Ze){if(Ia(Ze)){Ae.stop(),Pe(Ze);return}if(Ze.type==="INITIAL_PUBLISH"){Pe(Ze);var gt=xe.getState();gt.phase!=="DRAGGING"&&sr(!1),Ae.start(gt);return}Pe(Ze),Ae.scroll(xe.getState())}}}},hs=function(Ae){return function(xe){return function(Pe){if(xe(Pe),Pe.type==="PUBLISH_WHILE_DRAGGING"){var Ze=Ae.getState();Ze.phase==="DROP_PENDING"&&(Ze.isWaiting||Ae.dispatch(ya({reason:Ze.reason})))}}}},jo=Rt.qC,ms=function(Ae){var xe=Ae.dimensionMarshal,Pe=Ae.focusMarshal,Ze=Ae.styleMarshal,gt=Ae.getResponders,ft=Ae.announce,St=Ae.autoScroller;return(0,Rt.MT)(Sl,jo((0,Rt.md)(Lo(Ze),Ta(xe),Vo(xe),Ac,pa,la,hs,So(St),Nn,hi(Pe),Wi(gt,ft))))},nl=function(){return{additions:{},removals:{},modified:{}}};function ho(Ae){var xe=Ae.registry,Pe=Ae.callbacks,Ze=nl(),gt=null,ft=function(){gt||(Pe.collectionStarting(),gt=requestAnimationFrame(function(){gt=null,Dc();var ur=Ze,Kt=ur.additions,Tn=ur.removals,Ir=ur.modified,Li=Object.keys(Kt).map(function(Wo){return xe.draggable.getById(Wo).getDimension(ha)}).sort(function(Wo,Xs){return Wo.descriptor.index-Xs.descriptor.index}),Bo=Object.keys(Ir).map(function(Wo){var Xs=xe.droppable.getById(Wo),Bl=Xs.callbacks.getScrollWhileDragging();return{droppableId:Wo,scroll:Bl}}),Qo={additions:Li,removals:Object.keys(Tn),modified:Bo};Ze=nl(),Jl(),Pe.publish(Qo)}))},St=function(ur){var Kt=ur.descriptor.id;Ze.additions[Kt]=ur,Ze.modified[ur.descriptor.droppableId]=!0,Ze.removals[Kt]&&delete Ze.removals[Kt],ft()},zt=function(ur){var Kt=ur.descriptor;Ze.removals[Kt.id]=!0,Ze.modified[Kt.droppableId]=!0,Ze.additions[Kt.id]&&delete Ze.additions[Kt.id],ft()},Fn=function(){gt&&(cancelAnimationFrame(gt),gt=null,Ze=nl())};return{add:St,remove:zt,stop:Fn}}var is=function(Ae){var xe=Ae.scrollHeight,Pe=Ae.scrollWidth,Ze=Ae.height,gt=Ae.width,ft=Qa({x:Pe,y:xe},{x:gt,y:Ze}),St={x:Math.max(0,ft.x),y:Math.max(0,ft.y)};return St},po=function(){var Ae=document.documentElement;return Ae||sr(!1),Ae},wa=function(){var Ae=po(),xe=is({scrollHeight:Ae.scrollHeight,scrollWidth:Ae.scrollWidth,width:Ae.clientWidth,height:Ae.clientHeight});return xe},Ya=function(){var Ae=ot(),xe=wa(),Pe=Ae.y,Ze=Ae.x,gt=po(),ft=gt.clientWidth,St=gt.clientHeight,zt=Ze+ft,Fn=Pe+St,Ar=Fa({top:Pe,left:Ze,right:zt,bottom:Fn}),ur={frame:Ar,scroll:{initial:Ae,current:Ae,max:xe,diff:{value:ha,displacement:ha}}};return ur},Ds=function(Ae){var xe=Ae.critical,Pe=Ae.scrollOptions,Ze=Ae.registry;Dc();var gt=Ya(),ft=gt.scroll.current,St=xe.droppable,zt=Ze.droppable.getAllByType(St.type).map(function(Kt){return Kt.callbacks.getDimensionAndWatchScroll(ft,Pe)}),Fn=Ze.draggable.getAllByType(xe.draggable.type).map(function(Kt){return Kt.getDimension(ft)}),Ar={draggables:ls(Fn),droppables:za(zt)};Jl();var ur={dimensions:Ar,critical:xe,viewport:gt};return ur};function bl(Ae,xe,Pe){if(Pe.descriptor.id===xe.id||Pe.descriptor.type!==xe.type)return!1;var Ze=Ae.droppable.getById(Pe.descriptor.droppableId);return Ze.descriptor.mode==="virtual"}var jn=function(Ae,xe){var Pe=null,Ze=ho({callbacks:{publish:xe.publishWhileDragging,collectionStarting:xe.collectionStarting},registry:Ae}),gt=function(Ir,Li){Ae.droppable.exists(Ir)||sr(!1),Pe&&xe.updateDroppableIsEnabled({id:Ir,isEnabled:Li})},ft=function(Ir,Li){Pe&&(Ae.droppable.exists(Ir)||sr(!1),xe.updateDroppableIsCombineEnabled({id:Ir,isCombineEnabled:Li}))},St=function(Ir,Li){Pe&&(Ae.droppable.exists(Ir)||sr(!1),xe.updateDroppableScroll({id:Ir,newScroll:Li}))},zt=function(Ir,Li){Pe&&Ae.droppable.getById(Ir).callbacks.scroll(Li)},Fn=function(){if(Pe){Ze.stop();var Ir=Pe.critical.droppable;Ae.droppable.getAllByType(Ir.type).forEach(function(Li){return Li.callbacks.dragStopped()}),Pe.unsubscribe(),Pe=null}},Ar=function(Ir){Pe||sr(!1);var Li=Pe.critical.draggable;Ir.type==="ADDITION"&&bl(Ae,Li,Ir.value)&&Ze.add(Ir.value),Ir.type==="REMOVAL"&&bl(Ae,Li,Ir.value)&&Ze.remove(Ir.value)},ur=function(Ir){Pe&&sr(!1);var Li=Ae.draggable.getById(Ir.draggableId),Bo=Ae.droppable.getById(Li.descriptor.droppableId),Qo={draggable:Li.descriptor,droppable:Bo.descriptor},Wo=Ae.subscribe(Ar);return Pe={critical:Qo,unsubscribe:Wo},Ds({critical:Qo,registry:Ae,scrollOptions:Ir.scrollOptions})},Kt={updateDroppableIsEnabled:gt,updateDroppableIsCombineEnabled:ft,scrollDroppable:zt,updateDroppableScroll:St,startPublishing:ur,stopPublishing:Fn};return Kt},$r=function(Ae,xe){return Ae.phase==="IDLE"?!0:Ae.phase!=="DROP_ANIMATING"||Ae.completed.result.draggableId===xe?!1:Ae.completed.result.reason==="DROP"},pe=function(Ae){window.scrollBy(Ae.x,Ae.y)},Ee=hr(function(Ae){return vs(Ae).filter(function(xe){return!(!xe.isEnabled||!xe.frame)})}),Be=function(xe,Pe){var Ze=Rs(Ee(Pe),function(gt){return gt.frame||sr(!1),Co(gt.frame.pageMarginBox)(xe)});return Ze},ke=function(Ae){var xe=Ae.center,Pe=Ae.destination,Ze=Ae.droppables;if(Pe){var gt=Ze[Pe];return gt.frame?gt:null}var ft=Be(xe,Ze);return ft},Ke={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:function(xe){return Math.pow(xe,2)},durationDampening:{stopDampeningAt:1200,accelerateAt:360}},Ue=function(Ae,xe){var Pe=Ae[xe.size]*Ke.startFromPercentage,Ze=Ae[xe.size]*Ke.maxScrollAtPercentage,gt={startScrollingFrom:Pe,maxScrollValueAt:Ze};return gt},ut=function(Ae){var xe=Ae.startOfRange,Pe=Ae.endOfRange,Ze=Ae.current,gt=Pe-xe;if(gt===0)return 0;var ft=Ze-xe,St=ft/gt;return St},at=1,Pt=function(Ae,xe){if(Ae>xe.startScrollingFrom)return 0;if(Ae<=xe.maxScrollValueAt)return Ke.maxPixelScroll;if(Ae===xe.startScrollingFrom)return at;var Pe=ut({startOfRange:xe.maxScrollValueAt,endOfRange:xe.startScrollingFrom,current:Ae}),Ze=1-Pe,gt=Ke.maxPixelScroll*Ke.ease(Ze);return Math.ceil(gt)},bt=Ke.durationDampening.accelerateAt,Ht=Ke.durationDampening.stopDampeningAt,ln=function(Ae,xe){var Pe=xe,Ze=Ht,gt=Date.now(),ft=gt-Pe;if(ft>=Ht)return Ae;if(ftxe.height,ft=Pe.width>xe.width;return!ft&&!gt?Ze:ft&>?null:{x:ft?0:Ze.x,y:gt?0:Ze.y}},vn=Ls(function(Ae){return Ae===0?0:Ae}),Dn=function(Ae){var xe=Ae.dragStartTime,Pe=Ae.container,Ze=Ae.subject,gt=Ae.center,ft=Ae.shouldUseTimeDampening,St={top:gt.y-Pe.top,right:Pe.right-gt.x,bottom:Pe.bottom-gt.y,left:gt.x-Pe.left},zt=Vn({container:Pe,distanceToEdges:St,dragStartTime:xe,axis:Mu,shouldUseTimeDampening:ft}),Fn=Vn({container:Pe,distanceToEdges:St,dragStartTime:xe,axis:vc,shouldUseTimeDampening:ft}),Ar=vn({x:Fn,y:zt});if(Ao(Ar,ha))return null;var ur=sn({container:Pe,subject:Ze,proposedScroll:Ar});return ur?Ao(ur,ha)?null:ur:null},En=Ls(function(Ae){return Ae===0?0:Ae>0?1:-1}),Et=function(){var Ae=function(Pe,Ze){return Pe<0?Pe:Pe>Ze?Pe-Ze:0};return function(xe){var Pe=xe.current,Ze=xe.max,gt=xe.change,ft=na(Pe,gt),St={x:Ae(ft.x,Ze.x),y:Ae(ft.y,Ze.y)};return Ao(St,ha)?null:St}}(),Kr=function(xe){var Pe=xe.max,Ze=xe.current,gt=xe.change,ft={x:Math.max(Ze.x,Pe.x),y:Math.max(Ze.y,Pe.y)},St=En(gt),zt=Et({max:ft,current:Ze,change:St});return!zt||St.x!==0&&zt.x===0||St.y!==0&&zt.y===0},Pi=function(xe,Pe){return Kr({current:xe.scroll.current,max:xe.scroll.max,change:Pe})},ja=function(xe,Pe){if(!Pi(xe,Pe))return null;var Ze=xe.scroll.max,gt=xe.scroll.current;return Et({current:gt,max:Ze,change:Pe})},wi=function(xe,Pe){var Ze=xe.frame;return Ze?Kr({current:Ze.scroll.current,max:Ze.scroll.max,change:Pe}):!1},Ka=function(xe,Pe){var Ze=xe.frame;return!Ze||!wi(xe,Pe)?null:Et({current:Ze.scroll.current,max:Ze.scroll.max,change:Pe})},vo=function(Ae){var xe=Ae.viewport,Pe=Ae.subject,Ze=Ae.center,gt=Ae.dragStartTime,ft=Ae.shouldUseTimeDampening,St=Dn({dragStartTime:gt,container:xe.frame,subject:Pe,center:Ze,shouldUseTimeDampening:ft});return St&&Pi(xe,St)?St:null},mo=function(Ae){var xe=Ae.droppable,Pe=Ae.subject,Ze=Ae.center,gt=Ae.dragStartTime,ft=Ae.shouldUseTimeDampening,St=xe.frame;if(!St)return null;var zt=Dn({dragStartTime:gt,container:St.pageMarginBox,subject:Pe,center:Ze,shouldUseTimeDampening:ft});return zt&&wi(xe,zt)?zt:null},ii=function(Ae){var xe=Ae.state,Pe=Ae.dragStartTime,Ze=Ae.shouldUseTimeDampening,gt=Ae.scrollWindow,ft=Ae.scrollDroppable,St=xe.current.page.borderBoxCenter,zt=xe.dimensions.draggables[xe.critical.draggable.id],Fn=zt.page.marginBox;if(xe.isWindowScrollAllowed){var Ar=xe.viewport,ur=vo({dragStartTime:Pe,viewport:Ar,subject:Fn,center:St,shouldUseTimeDampening:Ze});if(ur){gt(ur);return}}var Kt=ke({center:St,destination:Ro(xe.impact),droppables:xe.dimensions.droppables});if(Kt){var Tn=mo({dragStartTime:Pe,droppable:Kt,subject:Fn,center:St,shouldUseTimeDampening:Ze});Tn&&ft(Kt.descriptor.id,Tn)}},Ki=function(Ae){var xe=Ae.scrollWindow,Pe=Ae.scrollDroppable,Ze=Rr(xe),gt=Rr(Pe),ft=null,St=function(ur){ft||sr(!1);var Kt=ft,Tn=Kt.shouldUseTimeDampening,Ir=Kt.dragStartTime;ii({state:ur,scrollWindow:Ze,scrollDroppable:gt,dragStartTime:Ir,shouldUseTimeDampening:Tn})},zt=function(ur){Dc(),ft&&sr(!1);var Kt=Date.now(),Tn=!1,Ir=function(){Tn=!0};ii({state:ur,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:Ir,scrollDroppable:Ir}),ft={dragStartTime:Kt,shouldUseTimeDampening:Tn},Jl(),Tn&&St(ur)},Fn=function(){ft&&(Ze.cancel(),gt.cancel(),ft=null)};return{start:zt,stop:Fn,scroll:St}},Mo=function(Ae){var xe=Ae.move,Pe=Ae.scrollDroppable,Ze=Ae.scrollWindow,gt=function(Ar,ur){var Kt=na(Ar.current.client.selection,ur);xe({client:Kt})},ft=function(Ar,ur){if(!wi(Ar,ur))return ur;var Kt=Ka(Ar,ur);if(!Kt)return Pe(Ar.descriptor.id,ur),null;var Tn=Qa(ur,Kt);Pe(Ar.descriptor.id,Tn);var Ir=Qa(ur,Tn);return Ir},St=function(Ar,ur,Kt){if(!Ar||!Pi(ur,Kt))return Kt;var Tn=ja(ur,Kt);if(!Tn)return Ze(Kt),null;var Ir=Qa(Kt,Tn);Ze(Ir);var Li=Qa(Kt,Ir);return Li},zt=function(Ar){var ur=Ar.scrollJumpRequest;if(ur){var Kt=Ro(Ar.impact);Kt||sr(!1);var Tn=ft(Ar.dimensions.droppables[Kt],ur);if(Tn){var Ir=Ar.viewport,Li=St(Ar.isWindowScrollAllowed,Ir,Tn);Li&>(Ar,Li)}}};return zt},fr=function(Ae){var xe=Ae.scrollDroppable,Pe=Ae.scrollWindow,Ze=Ae.move,gt=Ki({scrollWindow:Pe,scrollDroppable:xe}),ft=Mo({move:Ze,scrollWindow:Pe,scrollDroppable:xe}),St=function(Ar){if(Ar.phase==="DRAGGING"){if(Ar.movementMode==="FLUID"){gt.scroll(Ar);return}Ar.scrollJumpRequest&&ft(Ar)}},zt={scroll:St,start:gt.start,stop:gt.stop};return zt},tr="data-rbd",Fi=function(){var Ae=tr+"-drag-handle";return{base:Ae,draggableId:Ae+"-draggable-id",contextId:Ae+"-context-id"}}(),_i=function(){var Ae=tr+"-draggable";return{base:Ae,contextId:Ae+"-context-id",id:Ae+"-id"}}(),La=function(){var Ae=tr+"-droppable";return{base:Ae,contextId:Ae+"-context-id",id:Ae+"-id"}}(),ki={contextId:tr+"-scroll-container-context-id"},ma=function(xe){return function(Pe){return"["+Pe+'="'+xe+'"]'}},To=function(xe,Pe){return xe.map(function(Ze){var gt=Ze.styles[Pe];return gt?Ze.selector+" { "+gt+" }":""}).join(" ")},go="pointer-events: none;",ia=function(Ae){var xe=ma(Ae),Pe=function(){var zt=` - cursor: -webkit-grab; - cursor: grab; - `;return{selector:xe(Fi.contextId),styles:{always:` - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); - touch-action: manipulation; - `,resting:zt,dragging:go,dropAnimating:zt}}}(),Ze=function(){var zt=` - transition: `+iu.outOfTheWay+`; - `;return{selector:xe(_i.contextId),styles:{dragging:zt,dropAnimating:zt,userCancel:zt}}}(),gt={selector:xe(La.contextId),styles:{always:"overflow-anchor: none;"}},ft={selector:"body",styles:{dragging:` - cursor: grabbing; - cursor: -webkit-grabbing; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - overflow-anchor: none; - `}},St=[Ze,Pe,gt,ft];return{always:To(St,"always"),resting:To(St,"resting"),dragging:To(St,"dragging"),dropAnimating:To(St,"dropAnimating"),userCancel:To(St,"userCancel")}},As=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?se.useLayoutEffect:se.useEffect,Ws=function(){var xe=document.querySelector("head");return xe||sr(!1),xe},Vu=function(xe){var Pe=document.createElement("style");return xe&&Pe.setAttribute("nonce",xe),Pe.type="text/css",Pe};function du(Ae,xe){var Pe=gr(function(){return ia(Ae)},[Ae]),Ze=(0,se.useRef)(null),gt=(0,se.useRef)(null),ft=mr(hr(function(Kt){var Tn=gt.current;Tn||sr(!1),Tn.textContent=Kt}),[]),St=mr(function(Kt){var Tn=Ze.current;Tn||sr(!1),Tn.textContent=Kt},[]);As(function(){!Ze.current&&!gt.current||sr(!1);var Kt=Vu(xe),Tn=Vu(xe);return Ze.current=Kt,gt.current=Tn,Kt.setAttribute(tr+"-always",Ae),Tn.setAttribute(tr+"-dynamic",Ae),Ws().appendChild(Kt),Ws().appendChild(Tn),St(Pe.always),ft(Pe.resting),function(){var Ir=function(Bo){var Qo=Bo.current;Qo||sr(!1),Ws().removeChild(Qo),Bo.current=null};Ir(Ze),Ir(gt)}},[xe,St,ft,Pe.always,Pe.resting,Ae]);var zt=mr(function(){return ft(Pe.dragging)},[ft,Pe.dragging]),Fn=mr(function(Kt){if(Kt==="DROP"){ft(Pe.dropAnimating);return}ft(Pe.userCancel)},[ft,Pe.dropAnimating,Pe.userCancel]),Ar=mr(function(){gt.current&&ft(Pe.resting)},[ft,Pe.resting]),ur=gr(function(){return{dragging:zt,dropping:Fn,resting:Ar}},[zt,Fn,Ar]);return ur}var Yu=function(Ae){return Ae&&Ae.ownerDocument?Ae.ownerDocument.defaultView:window};function sc(Ae){return Ae instanceof Yu(Ae).HTMLElement}function _u(Ae,xe){var Pe="["+Fi.contextId+'="'+Ae+'"]',Ze=ui(document.querySelectorAll(Pe));if(!Ze.length)return null;var gt=Rs(Ze,function(ft){return ft.getAttribute(Fi.draggableId)===xe});return!gt||!sc(gt)?null:gt}function dc(Ae){var xe=(0,se.useRef)({}),Pe=(0,se.useRef)(null),Ze=(0,se.useRef)(null),gt=(0,se.useRef)(!1),ft=mr(function(Tn,Ir){var Li={id:Tn,focus:Ir};return xe.current[Tn]=Li,function(){var Qo=xe.current,Wo=Qo[Tn];Wo!==Li&&delete Qo[Tn]}},[]),St=mr(function(Tn){var Ir=_u(Ae,Tn);Ir&&Ir!==document.activeElement&&Ir.focus()},[Ae]),zt=mr(function(Tn,Ir){Pe.current===Tn&&(Pe.current=Ir)},[]),Fn=mr(function(){Ze.current||gt.current&&(Ze.current=requestAnimationFrame(function(){Ze.current=null;var Tn=Pe.current;Tn&&St(Tn)}))},[St]),Ar=mr(function(Tn){Pe.current=null;var Ir=document.activeElement;Ir&&Ir.getAttribute(Fi.draggableId)===Tn&&(Pe.current=Tn)},[]);As(function(){return gt.current=!0,function(){gt.current=!1;var Tn=Ze.current;Tn&&cancelAnimationFrame(Tn)}},[]);var ur=gr(function(){return{register:ft,tryRecordFocus:Ar,tryRestoreFocusRecorded:Fn,tryShiftRecord:zt}},[ft,Ar,Fn,zt]);return ur}function Nc(){var Ae={draggables:{},droppables:{}},xe=[];function Pe(Kt){return xe.push(Kt),function(){var Ir=xe.indexOf(Kt);Ir!==-1&&xe.splice(Ir,1)}}function Ze(Kt){xe.length&&xe.forEach(function(Tn){return Tn(Kt)})}function gt(Kt){return Ae.draggables[Kt]||null}function ft(Kt){var Tn=gt(Kt);return Tn||sr(!1),Tn}var St={register:function(Tn){Ae.draggables[Tn.descriptor.id]=Tn,Ze({type:"ADDITION",value:Tn})},update:function(Tn,Ir){var Li=Ae.draggables[Ir.descriptor.id];Li&&Li.uniqueId===Tn.uniqueId&&(delete Ae.draggables[Ir.descriptor.id],Ae.draggables[Tn.descriptor.id]=Tn)},unregister:function(Tn){var Ir=Tn.descriptor.id,Li=gt(Ir);Li&&Tn.uniqueId===Li.uniqueId&&(delete Ae.draggables[Ir],Ze({type:"REMOVAL",value:Tn}))},getById:ft,findById:gt,exists:function(Tn){return!!gt(Tn)},getAllByType:function(Tn){return ll(Ae.draggables).filter(function(Ir){return Ir.descriptor.type===Tn})}};function zt(Kt){return Ae.droppables[Kt]||null}function Fn(Kt){var Tn=zt(Kt);return Tn||sr(!1),Tn}var Ar={register:function(Tn){Ae.droppables[Tn.descriptor.id]=Tn},unregister:function(Tn){var Ir=zt(Tn.descriptor.id);Ir&&Tn.uniqueId===Ir.uniqueId&&delete Ae.droppables[Tn.descriptor.id]},getById:Fn,findById:zt,exists:function(Tn){return!!zt(Tn)},getAllByType:function(Tn){return ll(Ae.droppables).filter(function(Ir){return Ir.descriptor.type===Tn})}};function ur(){Ae.draggables={},Ae.droppables={},xe.length=0}return{draggable:St,droppable:Ar,subscribe:Pe,clean:ur}}function gd(){var Ae=gr(Nc,[]);return(0,se.useEffect)(function(){return function(){requestAnimationFrame(Ae.clean)}},[Ae]),Ae}var Ic=se.createContext(null),fd=function(){var Ae=document.body;return Ae||sr(!1),Ae},yd={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},hc=function(xe){return"rbd-announcement-"+xe};function Eu(Ae){var xe=gr(function(){return hc(Ae)},[Ae]),Pe=(0,se.useRef)(null);(0,se.useEffect)(function(){var ft=document.createElement("div");return Pe.current=ft,ft.id=xe,ft.setAttribute("aria-live","assertive"),ft.setAttribute("aria-atomic","true"),(0,Bt.Z)(ft.style,yd),fd().appendChild(ft),function(){setTimeout(function(){var Fn=fd();Fn.contains(ft)&&Fn.removeChild(ft),ft===Pe.current&&(Pe.current=null)})}},[xe]);var Ze=mr(function(gt){var ft=Pe.current;if(ft){ft.textContent=gt;return}},[]);return Ze}var rc=0,Gc={separator:"::"};function lc(){rc=0}function zc(Ae,xe){return xe===void 0&&(xe=Gc),gr(function(){return""+Ae+xe.separator+rc++},[xe.separator,Ae])}function Uc(Ae){var xe=Ae.contextId,Pe=Ae.uniqueId;return"rbd-hidden-text-"+xe+"-"+Pe}function ld(Ae){var xe=Ae.contextId,Pe=Ae.text,Ze=zc("hidden-text",{separator:"-"}),gt=gr(function(){return Uc({contextId:xe,uniqueId:Ze})},[Ze,xe]);return(0,se.useEffect)(function(){var St=document.createElement("div");return St.id=gt,St.textContent=Pe,St.style.display="none",fd().appendChild(St),function(){var Fn=fd();Fn.contains(St)&&Fn.removeChild(St)}},[gt,Pe]),gt}var Nd=se.createContext(null),Hc={react:"^16.8.5","react-dom":"^16.8.5"},vd=/(\d+)\.(\d+)\.(\d+)/,Xd=function(xe){var Pe=vd.exec(xe);Pe==null&&sr(!1);var Ze=Number(Pe[1]),gt=Number(Pe[2]),ft=Number(Pe[3]);return{major:Ze,minor:gt,patch:ft,raw:xe}},ju=function(xe,Pe){return Pe.major>xe.major?!0:Pe.majorxe.minor?!0:Pe.minor=xe.patch},Ec=function(Ae,xe){var Pe=Xd(Ae),Ze=Xd(xe);ju(Pe,Ze)},yf=` - We expect a html5 doctype: - This is to ensure consistent browser layout and measurement - - More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md -`,uf=function(Ae){var xe=Ae.doctype;xe&&(xe.name.toLowerCase(),xe.publicId)};function rd(Ae){}function Nf(Ae,xe){}function Xc(){Nf(function(){Ec(Hc.react,se.version),uf(document)},[])}function Df(Ae){var xe=(0,se.useRef)(Ae);return(0,se.useEffect)(function(){xe.current=Ae}),xe}function Sh(){var Ae=null;function xe(){return!!Ae}function Pe(St){return St===Ae}function Ze(St){Ae&&sr(!1);var zt={abandon:St};return Ae=zt,zt}function gt(){Ae||sr(!1),Ae=null}function ft(){Ae&&(Ae.abandon(),gt())}return{isClaimed:xe,isActive:Pe,claim:Ze,release:gt,tryAbandon:ft}}var Eh=9,qf=13,Yd=27,Jd=32,oo=33,Mh=34,_f=35,$f=36,bd=37,fu=38,Ff=39,Qf=40,yc,Ih=(yc={},yc[qf]=!0,yc[Eh]=!0,yc),eh=function(Ae){Ih[Ae.keyCode]&&Ae.preventDefault()},Pd=function(){var Ae="visibilitychange";if(typeof document=="undefined")return Ae;var xe=[Ae,"ms"+Ae,"webkit"+Ae,"moz"+Ae,"o"+Ae],Pe=Rs(xe,function(Ze){return"on"+Ze in document});return Pe||Ae}(),th=0,qd=5;function au(Ae,xe){return Math.abs(xe.x-Ae.x)>=qd||Math.abs(xe.y-Ae.y)>=qd}var id={type:"IDLE"};function xd(Ae){var xe=Ae.cancel,Pe=Ae.completed,Ze=Ae.getPhase,gt=Ae.setPhase;return[{eventName:"mousemove",fn:function(St){var zt=St.button,Fn=St.clientX,Ar=St.clientY;if(zt===th){var ur={x:Fn,y:Ar},Kt=Ze();if(Kt.type==="DRAGGING"){St.preventDefault(),Kt.actions.move(ur);return}Kt.type!=="PENDING"&&sr(!1);var Tn=Kt.point;if(au(Tn,ur)){St.preventDefault();var Ir=Kt.actions.fluidLift(ur);gt({type:"DRAGGING",actions:Ir})}}}},{eventName:"mouseup",fn:function(St){var zt=Ze();if(zt.type!=="DRAGGING"){xe();return}St.preventDefault(),zt.actions.drop({shouldBlockNextClick:!0}),Pe()}},{eventName:"mousedown",fn:function(St){Ze().type==="DRAGGING"&&St.preventDefault(),xe()}},{eventName:"keydown",fn:function(St){var zt=Ze();if(zt.type==="PENDING"){xe();return}if(St.keyCode===Yd){St.preventDefault(),xe();return}eh(St)}},{eventName:"resize",fn:xe},{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(){Ze().type==="PENDING"&&xe()}},{eventName:"webkitmouseforcedown",fn:function(St){var zt=Ze();if(zt.type==="IDLE"&&sr(!1),zt.actions.shouldRespectForcePress()){xe();return}St.preventDefault()}},{eventName:Pd,fn:xe}]}function ad(Ae){var xe=(0,se.useRef)(id),Pe=(0,se.useRef)(Ur),Ze=gr(function(){return{eventName:"mousedown",fn:function(Kt){if(!Kt.defaultPrevented&&Kt.button===th&&!(Kt.ctrlKey||Kt.metaKey||Kt.shiftKey||Kt.altKey)){var Tn=Ae.findClosestDraggableId(Kt);if(Tn){var Ir=Ae.tryGetLock(Tn,St,{sourceEvent:Kt});if(Ir){Kt.preventDefault();var Li={x:Kt.clientX,y:Kt.clientY};Pe.current(),Ar(Ir,Li)}}}}}},[Ae]),gt=gr(function(){return{eventName:"webkitmouseforcewillbegin",fn:function(Kt){if(!Kt.defaultPrevented){var Tn=Ae.findClosestDraggableId(Kt);if(Tn){var Ir=Ae.findOptionsForDraggable(Tn);Ir&&(Ir.shouldRespectForcePress||Ae.canGetLock(Tn)&&Kt.preventDefault())}}}}},[Ae]),ft=mr(function(){var Kt={passive:!1,capture:!0};Pe.current=ta(window,[gt,Ze],Kt)},[gt,Ze]),St=mr(function(){var ur=xe.current;ur.type!=="IDLE"&&(xe.current=id,Pe.current(),ft())},[ft]),zt=mr(function(){var ur=xe.current;St(),ur.type==="DRAGGING"&&ur.actions.cancel({shouldBlockNextClick:!0}),ur.type==="PENDING"&&ur.actions.abort()},[St]),Fn=mr(function(){var Kt={capture:!0,passive:!1},Tn=xd({cancel:zt,completed:St,getPhase:function(){return xe.current},setPhase:function(Li){xe.current=Li}});Pe.current=ta(window,Tn,Kt)},[zt,St]),Ar=mr(function(Kt,Tn){xe.current.type!=="IDLE"&&sr(!1),xe.current={type:"PENDING",point:Tn,actions:Kt},Fn()},[Fn]);As(function(){return ft(),function(){Pe.current()}},[ft])}var wc;function Qu(){}var fc=(wc={},wc[Mh]=!0,wc[oo]=!0,wc[$f]=!0,wc[_f]=!0,wc);function hd(Ae,xe){function Pe(){xe(),Ae.cancel()}function Ze(){xe(),Ae.drop()}return[{eventName:"keydown",fn:function(ft){if(ft.keyCode===Yd){ft.preventDefault(),Pe();return}if(ft.keyCode===Jd){ft.preventDefault(),Ze();return}if(ft.keyCode===Qf){ft.preventDefault(),Ae.moveDown();return}if(ft.keyCode===fu){ft.preventDefault(),Ae.moveUp();return}if(ft.keyCode===Ff){ft.preventDefault(),Ae.moveRight();return}if(ft.keyCode===bd){ft.preventDefault(),Ae.moveLeft();return}if(fc[ft.keyCode]){ft.preventDefault();return}eh(ft)}},{eventName:"mousedown",fn:Pe},{eventName:"mouseup",fn:Pe},{eventName:"click",fn:Pe},{eventName:"touchstart",fn:Pe},{eventName:"resize",fn:Pe},{eventName:"wheel",fn:Pe,options:{passive:!0}},{eventName:Pd,fn:Pe}]}function Fd(Ae){var xe=(0,se.useRef)(Qu),Pe=gr(function(){return{eventName:"keydown",fn:function(ft){if(ft.defaultPrevented||ft.keyCode!==Jd)return;var St=Ae.findClosestDraggableId(ft);if(!St)return;var zt=Ae.tryGetLock(St,ur,{sourceEvent:ft});if(!zt)return;ft.preventDefault();var Fn=!0,Ar=zt.snapLift();xe.current();function ur(){Fn||sr(!1),Fn=!1,xe.current(),Ze()}xe.current=ta(window,hd(Ar,ur),{capture:!0,passive:!1})}}},[Ae]),Ze=mr(function(){var ft={passive:!1,capture:!0};xe.current=ta(window,[Pe],ft)},[Pe]);As(function(){return Ze(),function(){xe.current()}},[Ze])}var Vd={type:"IDLE"},hh=120,Vc=.15;function Qd(Ae){var xe=Ae.cancel,Pe=Ae.getPhase;return[{eventName:"orientationchange",fn:xe},{eventName:"resize",fn:xe},{eventName:"contextmenu",fn:function(gt){gt.preventDefault()}},{eventName:"keydown",fn:function(gt){if(Pe().type!=="DRAGGING"){xe();return}gt.keyCode===Yd&>.preventDefault(),xe()}},{eventName:Pd,fn:xe}]}function Oh(Ae){var xe=Ae.cancel,Pe=Ae.completed,Ze=Ae.getPhase;return[{eventName:"touchmove",options:{capture:!1},fn:function(ft){var St=Ze();if(St.type!=="DRAGGING"){xe();return}St.hasMoved=!0;var zt=ft.touches[0],Fn=zt.clientX,Ar=zt.clientY,ur={x:Fn,y:Ar};ft.preventDefault(),St.actions.move(ur)}},{eventName:"touchend",fn:function(ft){var St=Ze();if(St.type!=="DRAGGING"){xe();return}ft.preventDefault(),St.actions.drop({shouldBlockNextClick:!0}),Pe()}},{eventName:"touchcancel",fn:function(ft){if(Ze().type!=="DRAGGING"){xe();return}ft.preventDefault(),xe()}},{eventName:"touchforcechange",fn:function(ft){var St=Ze();St.type==="IDLE"&&sr(!1);var zt=ft.touches[0];if(zt){var Fn=zt.force>=Vc;if(Fn){var Ar=St.actions.shouldRespectForcePress();if(St.type==="PENDING"){Ar&&xe();return}if(Ar){if(St.hasMoved){ft.preventDefault();return}xe();return}ft.preventDefault()}}}},{eventName:Pd,fn:xe}]}function cf(Ae){var xe=(0,se.useRef)(Vd),Pe=(0,se.useRef)(Ur),Ze=mr(function(){return xe.current},[]),gt=mr(function(Ir){xe.current=Ir},[]),ft=gr(function(){return{eventName:"touchstart",fn:function(Ir){if(!Ir.defaultPrevented){var Li=Ae.findClosestDraggableId(Ir);if(Li){var Bo=Ae.tryGetLock(Li,zt,{sourceEvent:Ir});if(Bo){var Qo=Ir.touches[0],Wo=Qo.clientX,Xs=Qo.clientY,Bl={x:Wo,y:Xs};Pe.current(),Kt(Bo,Bl)}}}}}},[Ae]),St=mr(function(){var Ir={capture:!0,passive:!1};Pe.current=ta(window,[ft],Ir)},[ft]),zt=mr(function(){var Tn=xe.current;Tn.type!=="IDLE"&&(Tn.type==="PENDING"&&clearTimeout(Tn.longPressTimerId),gt(Vd),Pe.current(),St())},[St,gt]),Fn=mr(function(){var Tn=xe.current;zt(),Tn.type==="DRAGGING"&&Tn.actions.cancel({shouldBlockNextClick:!0}),Tn.type==="PENDING"&&Tn.actions.abort()},[zt]),Ar=mr(function(){var Ir={capture:!0,passive:!1},Li={cancel:Fn,completed:zt,getPhase:Ze},Bo=ta(window,Oh(Li),Ir),Qo=ta(window,Qd(Li),Ir);Pe.current=function(){Bo(),Qo()}},[Fn,Ze,zt]),ur=mr(function(){var Ir=Ze();Ir.type!=="PENDING"&&sr(!1);var Li=Ir.actions.fluidLift(Ir.point);gt({type:"DRAGGING",actions:Li,hasMoved:!1})},[Ze,gt]),Kt=mr(function(Ir,Li){Ze().type!=="IDLE"&&sr(!1);var Bo=setTimeout(ur,hh);gt({type:"PENDING",point:Li,actions:Ir,longPressTimerId:Bo}),Ar()},[Ar,Ze,gt,ur]);As(function(){return St(),function(){Pe.current();var Li=Ze();Li.type==="PENDING"&&(clearTimeout(Li.longPressTimerId),gt(Vd))}},[Ze,St,gt]),As(function(){var Ir=ta(window,[{eventName:"touchmove",fn:function(){},options:{capture:!1,passive:!1}}]);return Ir},[])}function Wf(Ae){}var uc={input:!0,button:!0,textarea:!0,select:!0,option:!0,optgroup:!0,video:!0,audio:!0};function Ja(Ae,xe){if(xe==null)return!1;var Pe=!!uc[xe.tagName.toLowerCase()];if(Pe)return!0;var Ze=xe.getAttribute("contenteditable");return Ze==="true"||Ze===""?!0:xe===Ae?!1:Ja(Ae,xe.parentElement)}function Sd(Ae,xe){var Pe=xe.target;return sc(Pe)?Ja(Ae,Pe):!1}var Nh=function(Ae){return Fa(Ae.getBoundingClientRect()).center};function ga(Ae){return Ae instanceof Yu(Ae).Element}var ph=function(){var Ae="matches";if(typeof document=="undefined")return Ae;var xe=[Ae,"msMatchesSelector","webkitMatchesSelector"],Pe=Rs(xe,function(Ze){return Ze in Element.prototype});return Pe||Ae}();function Kf(Ae,xe){return Ae==null?null:Ae[ph](xe)?Ae:Kf(Ae.parentElement,xe)}function Zh(Ae,xe){return Ae.closest?Ae.closest(xe):Kf(Ae,xe)}function Xh(Ae){return"["+Fi.contextId+'="'+Ae+'"]'}function Wd(Ae,xe){var Pe=xe.target;if(!ga(Pe))return null;var Ze=Xh(Ae),gt=Zh(Pe,Ze);return!gt||!sc(gt)?null:gt}function gh(Ae,xe){var Pe=Wd(Ae,xe);return Pe?Pe.getAttribute(Fi.draggableId):null}function A0(Ae,xe){var Pe="["+_i.contextId+'="'+Ae+'"]',Ze=ui(document.querySelectorAll(Pe)),gt=Rs(Ze,function(ft){return ft.getAttribute(_i.id)===xe});return!gt||!sc(gt)?null:gt}function Fc(Ae){Ae.preventDefault()}function Wl(Ae){var xe=Ae.expected,Pe=Ae.phase,Ze=Ae.isLockActive,gt=Ae.shouldWarn;return!(!Ze()||xe!==Pe)}function df(Ae){var xe=Ae.lockAPI,Pe=Ae.store,Ze=Ae.registry,gt=Ae.draggableId;if(xe.isClaimed())return!1;var ft=Ze.draggable.findById(gt);return!(!ft||!ft.options.isEnabled||!$r(Pe.getState(),gt))}function wh(Ae){var xe=Ae.lockAPI,Pe=Ae.contextId,Ze=Ae.store,gt=Ae.registry,ft=Ae.draggableId,St=Ae.forceSensorStop,zt=Ae.sourceEvent,Fn=df({lockAPI:xe,store:Ze,registry:gt,draggableId:ft});if(!Fn)return null;var Ar=gt.draggable.getById(ft),ur=A0(Pe,Ar.descriptor.id);if(!ur||zt&&!Ar.options.canDragInteractiveElements&&Sd(ur,zt))return null;var Kt=xe.claim(St||Ur),Tn="PRE_DRAG";function Ir(){return Ar.options.shouldRespectForcePress}function Li(){return xe.isActive(Kt)}function Bo(wu,pu){Wl({expected:wu,phase:Tn,isLockActive:Li,shouldWarn:!0})&&Ze.dispatch(pu())}var Qo=Bo.bind(null,"DRAGGING");function Wo(wu){function pu(){xe.release(),Tn="COMPLETED"}Tn!=="PRE_DRAG"&&(pu(),Tn!=="PRE_DRAG"&&sr(!1)),Ze.dispatch(Re(wu.liftActionArgs)),Tn="DRAGGING";function td(as,Yc){if(Yc===void 0&&(Yc={shouldBlockNextClick:!1}),wu.cleanup(),Yc.shouldBlockNextClick){var jc=ta(window,[{eventName:"click",fn:Fc,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(jc)}pu(),Ze.dispatch(ya({reason:as}))}return(0,Bt.Z)({isActive:function(){return Wl({expected:"DRAGGING",phase:Tn,isLockActive:Li,shouldWarn:!1})},shouldRespectForcePress:Ir,drop:function(Yc){return td("DROP",Yc)},cancel:function(Yc){return td("CANCEL",Yc)}},wu.actions)}function Xs(wu){var pu=Rr(function(as){Qo(function(){return yi({client:as})})}),td=Wo({liftActionArgs:{id:ft,clientSelection:wu,movementMode:"FLUID"},cleanup:function(){return pu.cancel()},actions:{move:pu}});return(0,Bt.Z)({},td,{move:pu})}function Bl(){var wu={moveUp:function(){return Qo(Xa)},moveRight:function(){return Qo(ea)},moveDown:function(){return Qo(Ji)},moveLeft:function(){return Qo(fa)}};return Wo({liftActionArgs:{id:ft,clientSelection:Nh(ur),movementMode:"SNAP"},cleanup:Ur,actions:wu})}function Il(){var wu=Wl({expected:"PRE_DRAG",phase:Tn,isLockActive:Li,shouldWarn:!0});wu&&xe.release()}var Ku={isActive:function(){return Wl({expected:"PRE_DRAG",phase:Tn,isLockActive:Li,shouldWarn:!1})},shouldRespectForcePress:Ir,fluidLift:Xs,snapLift:Bl,abort:Il};return Ku}var Vh=[ad,Fd,cf];function Pf(Ae){var xe=Ae.contextId,Pe=Ae.store,Ze=Ae.registry,gt=Ae.customSensors,ft=Ae.enableDefaultSensors,St=[].concat(ft?Vh:[],gt||[]),zt=(0,se.useState)(function(){return Sh()})[0],Fn=mr(function(Xs,Bl){Xs.isDragging&&!Bl.isDragging&&zt.tryAbandon()},[zt]);As(function(){var Xs=Pe.getState(),Bl=Pe.subscribe(function(){var Il=Pe.getState();Fn(Xs,Il),Xs=Il});return Bl},[zt,Pe,Fn]),As(function(){return zt.tryAbandon},[zt.tryAbandon]);var Ar=mr(function(Wo){return df({lockAPI:zt,registry:Ze,store:Pe,draggableId:Wo})},[zt,Ze,Pe]),ur=mr(function(Wo,Xs,Bl){return wh({lockAPI:zt,registry:Ze,contextId:xe,store:Pe,draggableId:Wo,forceSensorStop:Xs,sourceEvent:Bl&&Bl.sourceEvent?Bl.sourceEvent:null})},[xe,zt,Ze,Pe]),Kt=mr(function(Wo){return gh(xe,Wo)},[xe]),Tn=mr(function(Wo){var Xs=Ze.draggable.findById(Wo);return Xs?Xs.options:null},[Ze.draggable]),Ir=mr(function(){zt.isClaimed()&&(zt.tryAbandon(),Pe.getState().phase!=="IDLE"&&Pe.dispatch(Ba()))},[zt,Pe]),Li=mr(zt.isClaimed,[zt]),Bo=gr(function(){return{canGetLock:Ar,tryGetLock:ur,findClosestDraggableId:Kt,findOptionsForDraggable:Tn,tryReleaseLock:Ir,isLockClaimed:Li}},[Ar,ur,Kt,Tn,Ir,Li]);Wf(St);for(var Qo=0;Qo=0||Object.prototype.hasOwnProperty.call(wt,We)&&(Ye[We]=wt[We]);return Ye}function Xe(wt,Ot){if(!(wt instanceof Ot))throw new TypeError("Cannot call a class as a function")}function _e(wt,Ot){if(!wt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ot&&(typeof Ot=="object"||typeof Ot=="function")?Ot:wt}function It(wt,Ot){if(typeof Ot!="function"&&Ot!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Ot);wt.prototype=Object.create(Ot&&Ot.prototype,{constructor:{value:wt,enumerable:!1,writable:!0,configurable:!0}}),Ot&&(Object.setPrototypeOf?Object.setPrototypeOf(wt,Ot):wt.__proto__=Ot)}var vt=function(wt){It(Ot,wt);function Ot(Ye){Xe(this,Ot);var We=_e(this,(Ot.__proto__||Object.getPrototypeOf(Ot)).call(this,Ye));return We.scrollListener=We.scrollListener.bind(We),We.eventListenerOptions=We.eventListenerOptions.bind(We),We.mousewheelListener=We.mousewheelListener.bind(We),We}return se(Ot,[{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 We=this.getParentElement(this.scrollComponent);We.scrollTop=We.scrollHeight-this.beforeScrollHeight+this.beforeScrollTop,this.loadMore=!1}this.attachScrollListener()}},{key:"componentWillUnmount",value:function(){this.detachScrollListener(),this.detachMousewheelListener()}},{key:"isPassiveSupported",value:function(){var We=!1,pt={get passive(){We=!0}};try{document.addEventListener("test",null,pt),document.removeEventListener("test",null,pt)}catch(mt){}return We}},{key:"eventListenerOptions",value:function(){var We=this.props.useCapture;return this.isPassiveSupported()&&(We={useCapture:this.props.useCapture,passive:!0}),We}},{key:"setDefaultLoader",value:function(We){this.defaultLoader=We}},{key:"detachMousewheelListener",value:function(){var We=window;this.props.useWindow===!1&&(We=this.scrollComponent.parentNode),We.removeEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture)}},{key:"detachScrollListener",value:function(){var We=window;this.props.useWindow===!1&&(We=this.getParentElement(this.scrollComponent)),We.removeEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),We.removeEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture)}},{key:"getParentElement",value:function(We){var pt=this.props.getScrollParent&&this.props.getScrollParent();return pt!=null?pt:We&&We.parentNode}},{key:"filterProps",value:function(We){return We}},{key:"attachScrollListener",value:function(){var We=this.getParentElement(this.scrollComponent);if(!(!this.props.hasMore||!We)){var pt=window;this.props.useWindow===!1&&(pt=We),pt.addEventListener("mousewheel",this.mousewheelListener,this.options?this.options:this.props.useCapture),pt.addEventListener("scroll",this.scrollListener,this.options?this.options:this.props.useCapture),pt.addEventListener("resize",this.scrollListener,this.options?this.options:this.props.useCapture),this.props.initialLoad&&this.scrollListener()}}},{key:"mousewheelListener",value:function(We){We.deltaY===1&&!this.isPassiveSupported()&&We.preventDefault()}},{key:"scrollListener",value:function(){var We=this.scrollComponent,pt=window,mt=this.getParentElement(We),Jt=void 0;if(this.props.useWindow){var Qt=document.documentElement||document.body.parentNode||document.body,$t=pt.pageYOffset!==void 0?pt.pageYOffset:Qt.scrollTop;this.props.isReverse?Jt=$t:Jt=this.calculateOffset(We,$t)}else this.props.isReverse?Jt=mt.scrollTop:Jt=We.scrollHeight-mt.scrollTop-mt.clientHeight;Jty in a?se(a,y,{enumerable:!0,configurable:!0,writable:!0,value:z}):a[y]=z,Xe=(a,y)=>{for(var z in y||(y={}))Dt.call(y,z)&&Le(a,z,y[z]);if(Rt)for(var z of Rt(y))dt.call(y,z)&&Le(a,z,y[z]);return a},_e=(a,y)=>je(a,Bt(y)),It=a=>typeof a=="symbol"?a:a+"",vt=(a,y)=>{var z={};for(var ie in a)Dt.call(a,ie)&&y.indexOf(ie)<0&&(z[ie]=a[ie]);if(a!=null&&Rt)for(var ie of Rt(a))y.indexOf(ie)<0&&dt.call(a,ie)&&(z[ie]=a[ie]);return z};function wt(a){return Array.isArray(a)}var Ot={en:{"keyboard.tooltip.symbols":"\u7B26\u53F7","keyboard.tooltip.greek":"\u5E0C\u814A\u5B57\u6BCD","keyboard.tooltip.numeric":"\u6570\u5B57","keyboard.tooltip.alphabetic":"\u7F57\u9A6C\u5B57\u6BCD","tooltip.cut to clipboard":"\u526A\u5207\u5230\u526A\u8D34\u677F","tooltip.copy to clipboard":"\u590D\u5236\u5230\u526A\u8D34\u677F","tooltip.paste from clipboard":"\u7C98\u8D34","tooltip.redo":"\u91CD\u505A","tooltip.toggle virtual keyboard":"\u5207\u6362\u865A\u62DF\u952E\u76D8","tooltip.undo":"\u64A4\u6D88","menu.insert matrix":"\u63D2\u5165\u77E9\u9635","menu.borders":"\u77E9\u9635\u5206\u9694\u7B26","menu.array.add row above":"\u5728\u540E\u9762\u6DFB\u52A0\u884C","menu.array.add row below":"\u5728\u524D\u9762\u6DFB\u52A0\u884C","menu.array.add column after":"\u5728\u540E\u9762\u6DFB\u52A0\u5217r","menu.array.add column before":"\u5728\u524D\u9762\u6DFB\u52A0\u5217","menu.array.delete row":"\u5220\u9664\u884C","menu.array.delete rows":"\u5220\u9664\u9009\u5B9A\u884C","menu.array.delete column":"\u5220\u9664\u5217","menu.array.delete columns":"\u5220\u9664\u9009\u5B9A\u7684\u5217","menu.mode":"\u6A21\u5F0F","menu.mode-math":"\u6570\u5B66","menu.mode-text":"\u6587\u672C","menu.mode-latex":"LaTeX","tooltip.blackboard":"\u9ED1\u677F","tooltip.bold":"\u7C97\u4F53","tooltip.italic":"\u659C\u4F53","tooltip.fraktur":"Fraktur","tooltip.script":"\u811A\u672C","tooltip.caligraphic":"\u8349\u4E66","tooltip.typewriter":"\u6253\u5B57\u673A","tooltip.roman-upright":"\u7F57\u9A6C\u76F4\u7ACB","tooltip.row-by-col":"%@ \xD7 %@","menu.font-style":"\u5B57\u4F53\u6837\u5F0F","menu.accent":"\u91CD\u97F3","menu.decoration":"\u88C5\u9970","menu.color":"\u989C\u8272","menu.background-color":"\u80CC\u666F","menu.evaluate":"\u8BA1\u7B97","menu.simplify":"\u7B80\u5316","menu.solve":"\u6C42\u89E3","menu.solve-for":"\u6C42\u89E3 %@","menu.cut":"\u526A\u5207","menu.copy":"\u590D\u5236","menu.copy-as-latex":"\u590D\u5236\u4E3A LaTeX","menu.copy-as-ascii-math":"\u590D\u5236\u4E3A ASCII Math","menu.copy-as-mathml":"\u590D\u5236\u4E3A MathML","menu.paste":"\u7C98\u8D34","menu.select-all":"\u5168\u9009","color.red":"\u7EA2\u8272","color.orange":"\u6A59\u8272","color.yellow":"\u9EC4\u8272","color.lime":"\u7EFF\u9EC4\u8272","color.green":"\u7EFF\u8272","color.teal":"\u9752\u8272","color.cyan":"\u84DD\u7EFF\u8272","color.blue":"\u84DD\u8272","color.indigo":"\u975B\u84DD\u8272","color.purple":"\u7D2B\u8272","color.magenta":"\u6D0B\u7EA2\u8272","color.black":"\u9ED1\u8272","color.dark-grey":"\u6DF1\u7070\u8272","color.grey":"\u7070\u8272","color.light-grey":"\u6D45\u7070\u8272","color.white":"\u767D\u8272"}};function Ye(){return"window"in globalThis&&"document"in globalThis}function We(){return"matchMedia"in window?window.matchMedia("(pointer: coarse)").matches:"ontouchstart"in window||navigator.maxTouchPoints>0}function pt(){return typeof navigator.vibrate=="function"}function mt(){var a,y;if(!Ye())return"other";const z=(y=(a=navigator.userAgentData)==null?void 0:a.platform)!=null?y:navigator.platform;return/^mac/i.test(z)?navigator.maxTouchPoints===5?"ios":"macos":/^win/i.test(z)?"windows":/android/i.test(navigator.userAgent)?"android":/iphone|ipod|ipad/i.test(navigator.userAgent)?"ios":/\bcros\b/i.test(navigator.userAgent)?"chromeos":"other"}function Jt(){if(!Ye())return!0;if(/firefox/i.test(navigator.userAgent)){const a=navigator.userAgent.match(/firefox\/(\d+)/i);return a?parseInt(a[1])>=78:!1}if(/trident/i.test(navigator.userAgent))return!1;if(/edge/i.test(navigator.userAgent)){const a=navigator.userAgent.match(/edg\/(\d+)/i);return a?parseInt(a[1])>=79:!1}return!0}function Qt(){return HTMLElement.prototype.hasOwnProperty("popover")}var $t={strings:Ot,_locale:"",_dirty:!1,_subscribers:[],_numberFormatter:void 0,get locale(){return $t._locale||($t._locale=Ye()?navigator.language.slice(0,5):"en-US"),$t._locale},set locale(a){$t._locale=a,$t._numberFormatter=void 0,$t.dirty=!0},get numberFormatter(){return $t._numberFormatter||($t._numberFormatter=new Intl.NumberFormat($t.locale)),$t._numberFormatter},merge(a,y){if(typeof a=="string"&&y)$t.strings[a]=Xe(Xe({},$t.strings[a]),y),$t.dirty=!0;else for(const z of Object.keys(a))$t.merge(z,a[z])},get dirty(){return $t._dirty},set dirty(a){$t._dirty||$t._dirty===a||($t._dirty=!0,setTimeout(()=>{$t._dirty=!1,this._subscribers.forEach(y=>y==null?void 0:y())},0))},subscribe(a){return $t._subscribers.push(a),$t._subscribers.length-1},unsubscribe(a){a<0||a>=$t._subscribers.length||($t._subscribers[a]=void 0)},update(a){let y=a.querySelectorAll("[data-l10n-tooltip]");for(const z of y){const ie=z.getAttribute("data-l10n-tooltip");if(ie){const le=Ft(ie);le&&z.setAttribute("data-tooltip",le)}}y=a.querySelectorAll("[data-l10n-arial-label]");for(const z of y){const ie=z.getAttribute("data-l10n-arial-label");if(ie){const le=Ft(ie);le&&z.setAttribute("aria-label",le)}}}};function Ft(a,...y){if(a===void 0)return;let z="";const ie=$t.locale;$t.strings[ie]&&(z=$t.strings[ie][a]);const le=ie.slice(0,2);if(!z&&$t.strings[le]&&(z=$t.strings[le][a]),z||(z=$t.strings.en[a]),!z)return;const ve=/(%@|%([0-9]+)\$@)/g;let be=ve.exec(z),Ne=0;for(;be;){if(y[Ne++]){const Ge=be[2]?parseInt(be[2],10)-1:Ne-1;let lt=y[Ge];typeof lt=="number"&&(lt=$t.numberFormatter.format(lt)),z=z.replace(be[1],lt)}be=ve.exec(z)}return z=z.replace(/%%/g,"%"),z}var Gt={m0:"#3F3D99",m1:"#993D71",m2:"#998B3D",m3:"#3D9956",m4:"#3D5A99",m5:"#993D90",m6:"#996D3D",m7:"#43993D",m8:"#3D7999",m9:"#843D99"},Je={blue:"#0072BD",orange:"#D95319",yellow:"#EDB120",purple:"#7E2F8E",green:"#77AC30",cyan:"#4DBEEE",red:"#A2142F"},Sn={red:"#fbbbb6",orange:"#ffe0c2",yellow:"#fff1c2",lime:"#d0e8b9",green:"#bceac4",teal:"#b9f1f1",cyan:"#b8e5c9",blue:"#b6d9fb",indigo:"#d1c2f0",purple:"#e3baf8",magenta:"#f9c8e0",black:"#353535","dark-grey":"#8C8C8C",grey:"#D0D0D0","light-grey":"#F0F0F0",white:"#ffffff"},_n={red:"#d7170b",orange:"#fe8a2b",yellow:"#ffc02b",lime:"#63b215",green:"#21ba3a",teal:"#17cfcf",cyan:"#13a7ec",blue:"#0d80f2",indigo:"#63c",purple:"#a219e6",magenta:"#eb4799",black:"#000","dark-grey":"#666",grey:"#A6A6A6","light-grey":"#d4d5d2",white:"#ffffff"},Cn={Red:"red",Orange:"orange",Yellow:"yellow",LimeGreen:"lime",Green:"green",TealBlue:"teal",Blue:"blue",Violet:"indigo",Purple:"purple",Magenta:"magenta",Black:"black",Gray:"grey",White:"white"},Vt={Apricot:"#FBB982",Aquamarine:"#00B5BE",Bittersweet:"#C04F17",Black:"#221E1F",Blue:"#2D2F92",BlueGreen:"#00B3B8",BlueViolet:"#473992",BrickRed:"#B6321C",Brown:"#792500",BurntOrange:"#F7921D",CadetBlue:"#74729A",CarnationPink:"#F282B4",Cerulean:"#00A2E3",CornflowerBlue:"#41B0E4",Cyan:"#00AEEF",Dandelion:"#FDBC42",DarkOrchid:"#A4538A",Emerald:"#00A99D",ForestGreen:"#009B55",Fuchsia:"#8C368C",Goldenrod:"#FFDF42",Gray:"#949698",Green:"#00A64F",GreenYellow:"#DFE674",JungleGreen:"#00A99A",Lavender:"#F49EC4",Limegreen:"#8DC73E",Magenta:"#EC008C",Mahogany:"#A9341F",Maroon:"#AF3235",Melon:"#F89E7B",MidnightBlue:"#006795",Mulberry:"#A93C93",NavyBlue:"#006EB8",OliveGreen:"#3C8031",Orange:"#F58137",OrangeRed:"#ED135A",Orchid:"#AF72B0",Peach:"#F7965A",Periwinkle:"#7977B8",PineGreen:"#008B72",Plum:"#92268F",ProcessBlue:"#00B0F0",Purple:"#99479B",RawSienna:"#974006",Red:"#ED1B23",RedOrange:"#F26035",RedViolet:"#A1246B",Rhodamine:"#EF559F",RoyalBlue:"#0071BC",RoyalPurple:"#613F99",RubineRed:"#ED017D",Salmon:"#F69289",SeaGreen:"#3FBC9D",Sepia:"#671800",SkyBlue:"#46C5DD",SpringGreen:"#C6DC67",Tan:"#DA9D76",TealBlue:"#00AEB3",Thistle:"#D883B7",Turquoise:"#00B4CE",Violet:"#58429B",VioletRed:"#EF58A0",White:"#FFFFFF",WildStrawberry:"#EE2967",Yellow:"#FFF200",YellowGreen:"#98CC70",YellowOrange:"#FAA21A"};function pn(a){var y,z,ie,le,ve,be;const Ne=a.split("!");let ze,Ge,lt,Tt=255,An=255,$n=255,br=-1;const Gi=Ne.length>0&&Ne[0].startsWith("-");Gi&&(Ne[0]=Ne[0].slice(1));for(let zo=0;zo=0&&(Tt=(1-br)*Tt+br*ze,An=(1-br)*An+br*Ge,$n=(1-br)*$n+br*lt,br=-1),zo+1=0&&(Tt=br*Tt+(1-br)*ze,An=br*An+(1-br)*Ge,$n=br*$n+(1-br)*lt),Gi&&(Tt=255-Tt,An=255-An,$n=255-$n),"#"+("00"+Math.round(Tt).toString(16)).slice(-2)+("00"+Math.round(An).toString(16)).slice(-2)+("00"+Math.round($n).toString(16)).slice(-2)}function et(a){var y,z;return a=a.trim(),(z=(y=Sn[a.toLowerCase()])!=null?y:Sn[Cn[a]])!=null?z:pn(a)}function tn(a){if(!a||a[0]!=="#")return;a=a.slice(1);let y;return a.length<=4?(y={r:parseInt(a[0]+a[0],16),g:parseInt(a[1]+a[1],16),b:parseInt(a[2]+a[2],16)},a.length===4&&(y.a=parseInt(a[3]+a[3],16)/255)):(y={r:parseInt(a[0]+a[1],16),g:parseInt(a[2]+a[3],16),b:parseInt(a[4]+a[5],16)},a.length===8&&(y.a=parseInt(a[6]+a[7],16)/255)),y&&y.a===void 0&&(y.a=1),y}function Ct(a,y,z){return z<0&&(z+=6),z>=6&&(z-=6),z<1?(y-a)*z+a:z<3?y:z<4?(y-a)*(4-z)+a:a}function Ln(a){let[y,z,ie]=[a.h,a.s,a.l];y=(y+360)%360/60,ie=Math.max(0,Math.min(ie,1)),z=Math.max(0,Math.min(z,1));const le=ie<=.5?ie*(z+1):ie+z-ie*z,ve=ie*2-le;return{r:Math.round(255*Ct(ve,le,y+2)),g:Math.round(255*Ct(ve,le,y)),b:Math.round(255*Ct(ve,le,y-2))}}function Mn(a){return a<0?0:a>255?255:Math.round(a)}function bn(a){const{r:y,g:z,b:ie}=a;let le=((1<<24)+(Mn(y)<<16)+(Mn(z)<<8)+Mn(ie)).toString(16).slice(1);return le[0]===le[1]&&le[2]===le[3]&&le[4]===le[5]&&le[6]===le[7]&&(le=le[0]+le[2]+le[4]),"#"+le}function Dr(a){let{r:y,g:z,b:ie}=a;y=y/255,z=z/255,ie=ie/255;const le=Math.min(y,z,ie),ve=Math.max(y,z,ie),be=ve-le;let Ne,ze;ve===le?Ne=0:y===ve?Ne=(z-ie)/be:z===ve?Ne=2+(ie-y)/be:ie===ve&&(Ne=4+(y-z)/be),Ne=Math.min(Ne*60,360),Ne<0&&(Ne+=360);const Ge=(le+ve)/2;return ve===le?ze=0:Ge<=.5?ze=be/(ve+le):ze=be/(2-ve-le),{h:Ne,s:ze,l:Ge}}function oi(a){let y=tn(a);if(!y)return a;let{h:z,s:ie,l:le}=Dr(y);return ie+=.1,le-=.1,bn(Ln({h:z,s:ie,l:le}))}var yt={60:"\\lt",62:"\\gt",111:"o",38:"\\&",123:"\\lbrace",125:"\\rbrace",91:"\\lbrack",93:"\\rbrack",58:"\\colon",160:"~",172:"\\neg",183:"\\cdot",188:"\\frac{1}{4}",189:"\\frac{1}{2}",190:"\\frac{3}{4}",8304:"^{0}",8305:"^{i}",185:"^{1}",178:"^{2}",179:"^{3}",8224:"\\dagger",8225:"\\ddagger",8230:"\\ldots",8308:"^{4}",8309:"^{5}",8310:"^{6}",8311:"^{7}",8312:"^{8}",8313:"^{9}",8314:"^{+}",8315:"^{-}",8316:"^{=}",8319:"^{n}",8320:"_{0}",8321:"_{1}",8322:"_{2}",8323:"_{3}",8324:"_{4}",8325:"_{5}",8326:"_{6}",8327:"_{7}",8328:"_{8}",8329:"_{9}",8330:"_{+}",8331:"_{-}",8332:"_{=}",8336:"_{a}",8337:"_{e}",8338:"_{o}",8339:"_{x}",8242:"\\prime",39:"\\prime",8592:"\\gets",8594:"\\to",9651:"\\triangle",9661:"\\triangledown",8715:"\\owns",8727:"\\ast",8739:"\\vert",8741:"\\Vert",8743:"\\land",8744:"\\lor",8901:"\\cdot",8904:"\\bowtie",8800:"\\ne",8804:"\\le",8805:"\\ge",8869:"\\bot",10231:"\\biconditional",10232:"\\impliedby",10233:"\\implies",10234:"\\iff",8450:"\\mathbb{C}",8469:"\\mathbb{N}",8473:"\\mathbb{P}",8474:"\\mathbb{Q}",8477:"\\mathbb{R}",8484:"\\mathbb{Z}",8461:"\\mathbb{H}",8476:"\\Re",8465:"\\Im",42:"\\ast",11036:"\\square",9633:"\\square",8720:"\\coprod",8716:"\\not\\ni",9671:"\\diamond",8846:"\\uplus",8851:"\\sqcap",8852:"\\sqcup",8768:"\\wr",8750:"\\oint",8226:"\\textbullet",8722:"-",978:"\\Upsilon"},tt={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},Rn=[{start:119808,len:26,offset:65,style:"bold"},{start:119834,len:26,offset:97,style:"bold"},{start:119860,len:26,offset:65,style:"italic"},{start:119886,len:26,offset:97,style:"italic"},{start:119912,len:26,offset:65,style:"bolditalic"},{start:119938,len:26,offset:97,style:"bolditalic"},{start:119964,len:26,offset:65,variant:"script"},{start:119990,len:26,offset:97,variant:"script"},{start:120016,len:26,offset:65,variant:"script",style:"bold"},{start:120042,len:26,offset:97,variant:"script",style:"bold"},{start:120068,len:26,offset:65,variant:"fraktur"},{start:120094,len:26,offset:97,variant:"fraktur"},{start:120172,len:26,offset:65,variant:"fraktur",style:"bold"},{start:120198,len:26,offset:97,variant:"fraktur",style:"bold"},{start:120120,len:26,offset:65,variant:"double-struck"},{start:120146,len:26,offset:97,variant:"double-struck"},{start:120224,len:26,offset:65,variant:"sans-serif"},{start:120250,len:26,offset:97,variant:"sans-serif"},{start:120276,len:26,offset:65,variant:"sans-serif",style:"bold"},{start:120302,len:26,offset:97,variant:"sans-serif",style:"bold"},{start:120328,len:26,offset:65,variant:"sans-serif",style:"italic"},{start:120354,len:26,offset:97,variant:"sans-serif",style:"italic"},{start:120380,len:26,offset:65,variant:"sans-serif",style:"bolditalic"},{start:120406,len:26,offset:97,variant:"sans-serif",style:"bolditalic"},{start:120432,len:26,offset:65,variant:"monospace"},{start:120458,len:26,offset:97,variant:"monospace"},{start:120488,len:25,offset:913,style:"bold"},{start:120514,len:25,offset:945,style:"bold"},{start:120546,len:25,offset:913,style:"italic"},{start:120572,len:25,offset:945,style:"italic"},{start:120604,len:25,offset:913,style:"bolditalic"},{start:120630,len:25,offset:945,style:"bolditalic"},{start:120662,len:25,offset:913,variant:"sans-serif",style:"bold"},{start:120688,len:25,offset:945,variant:"sans-serif",style:"bold"},{start:120720,len:25,offset:913,variant:"sans-serif",style:"bolditalic"},{start:120746,len:25,offset:945,variant:"sans-serif",style:"bolditalic"},{start:120782,len:10,offset:48,variant:"main",style:"bold"},{start:120792,len:10,offset:48,variant:"double-struck"},{start:120803,len:10,offset:48,variant:"sans-serif"},{start:120812,len:10,offset:48,variant:"sans-serif",style:"bold"},{start:120822,len:10,offset:48,variant:"monospace"}];function fi(a,y,z){if(!/[A-Za-z\d]/.test(a)||(z==="up"&&(z=void 0),!y&&!z))return a;const ie=a.codePointAt(0);if(ie===void 0)return a;for(const le of Rn)if((!y||le.variant===y)&&(!z||le.style===z)&&ie>=le.offset&&ie120831)&&(a<8448||a>8527))return{char:String.fromCodePoint(a)};for(const z in tt)if(tt[z]===a){a=(y=z.codePointAt(0))!=null?y:0;break}for(const z of Rn)if(a>=z.start&&a[]$&#^_%:'\u02DC".includes(ie)){z+=ie;continue}const le=(y=ie.codePointAt(0))!=null?y:0;let ve=yt[le];if(ve)ve.startsWith("\\")?z+=ve+" ":z+=ve;else{const{char:be,variant:Ne,style:ze}=li(le);switch(ve=be,Ne){case"double-struck":ve=`\\mathbb{${ve}}`;break;case"fraktur":ve=`\\mathfrak{${ve}}`;break;case"script":ve=`\\mathscr{${ve}}`;break;case"sans-serif":ve=`\\mathsf{${ve}}`;break;case"monospace":ve=`\\mathtt{${ve}}`;break;case"calligraphic":ve=`\\mathcal{${ve}}`;break}switch(ze){case"bold":ve=`\\mathbf{${ve}}`;break;case"italic":ve=`\\mathit{${ve}}`;break;case"bolditalic":ve=`\\mathbfit{${ve}}`;break}z+=ve}}return z}function an(a){return a?Array.isArray(a)?a:typeof a=="object"&&"group"in a?a.group:[]:[]}var Xr={},Or=Xe({},yt),zn={},Qn={},Jn={darr:"\\downarrow",dArr:"\\Downarrow",Darr:"\\Downarrow",lang:"\\langle",rang:"\\rangle",uarr:"\\uparrow",uArr:"\\Uparrow",Uarr:"\\Uparrow",N:"\\mathbb{N}",R:"\\mathbb{R}",Z:"\\mathbb{Z}",alef:"\\aleph",alefsym:"\\aleph",Alpha:"\\mathrm{A}",Beta:"\\mathrm{B}",bull:"\\bullet",Chi:"\\mathrm{X}",clubs:"\\clubsuit",cnums:"\\mathbb{C}",Complex:"\\mathbb{C}",Dagger:"\\ddagger",diamonds:"\\diamondsuit",empty:"\\emptyset",Epsilon:"\\mathrm{E}",Eta:"\\mathrm{H}",exist:"\\exists",harr:"\\leftrightarrow",hArr:"\\Leftrightarrow",Harr:"\\Leftrightarrow",hearts:"\\heartsuit",image:"\\Im",infin:"\\infty",Iota:"\\mathrm{I}",isin:"\\in",Kappa:"\\mathrm{K}",larr:"\\leftarrow",lArr:"\\Leftarrow",Larr:"\\Leftarrow",lrarr:"\\leftrightarrow",lrArr:"\\Leftrightarrow",Lrarr:"\\Leftrightarrow",Mu:"\\mathrm{M}",natnums:"\\mathbb{N}",Nu:"\\mathrm{N}",Omicron:"\\mathrm{O}",plusmn:"\\pm",rarr:"\\rightarrow",rArr:"\\Rightarrow",Rarr:"\\Rightarrow",real:"\\Re",reals:"\\mathbb{R}",Reals:"\\mathbb{R}",Rho:"\\mathrm{P}",sdot:"\\cdot",sect:"\\S",spades:"\\spadesuit",sub:"\\subset",sube:"\\subseteq",supe:"\\supseteq",Tau:"\\mathrm{T}",thetasym:"\\vartheta",weierp:"\\wp",Zeta:"\\mathrm{Z}"},qn={varGamma:"\\mathit{\\Gamma}",varDelta:"\\mathit{\\Delta}",varTheta:"\\mathit{\\Theta}",varLambda:"\\mathit{\\Lambda}",varXi:"\\mathit{\\Xi}",varPi:"\\mathit{\\Pi}",varSigma:"\\mathit{\\Sigma}",varUpsilon:"\\mathit{\\Upsilon}",varPhi:"\\mathit{\\Phi}",varPsi:"\\mathit{\\Psi}",varOmega:"\\mathit{\\Omega}",pmod:{def:"\\quad(\\operatorname{mod}\\ #1)",args:1,expand:!1,captureSelection:!1},mod:{def:"\\quad\\operatorname{mod}\\,\\,#1",args:1,expand:!1},bmod:{def:"\\;\\mathbin{\\operatorname{mod }}",expand:!1}},On={bra:{def:"\\mathinner{\\langle{#1}|}",args:1,captureSelection:!1},ket:{def:"\\mathinner{|{#1}\\rangle}",args:1,captureSelection:!1},braket:{def:"\\mathinner{\\langle{#1}\\rangle}",args:1,captureSelection:!1},set:{def:"\\mathinner{\\lbrace #1 \\rbrace}",args:1,captureSelection:!1},Bra:{def:"\\left\\langle #1\\right|",args:1,captureSelection:!1},Ket:{def:"\\left|#1\\right\\rangle",args:1,captureSelection:!1},Braket:{def:"\\left\\langle{#1}\\right\\rangle",args:1,captureSelection:!1},Set:{def:"\\left\\lbrace #1 \\right\\rbrace",args:1,captureSelection:!1}},qe={iff:{primitive:!0,captureSelection:!0,def:"\\;\u27FA\\;"},nicefrac:"^{#1}\\!\\!/\\!_{#2}",phase:{def:"\\enclose{phasorangle}{#1}",args:1,captureSelection:!1},rd:"\\mathrm{d}",rD:"\\mathrm{D}",doubleStruckCapitalN:"\\mathbb{N}",doubleStruckCapitalR:"\\mathbb{R}",doubleStruckCapitalQ:"\\mathbb{Q}",doubleStruckCapitalZ:"\\mathbb{Z}",doubleStruckCapitalP:"\\mathbb{P}",scriptCapitalE:"\\mathscr{E}",scriptCapitalH:"\\mathscr{H}",scriptCapitalL:"\\mathscr{L}",gothicCapitalC:"\\mathfrak{C}",gothicCapitalH:"\\mathfrak{H}",gothicCapitalI:"\\mathfrak{I}",gothicCapitalR:"\\mathfrak{R}",imaginaryI:"\\mathrm{i}",imaginaryJ:"\\mathrm{j}",exponentialE:"\\mathrm{e}",differentialD:"\\mathrm{d}",capitalDifferentialD:"\\mathrm{D}",mathstrut:{def:"\\vphantom{(}",primitive:!0},angl:"\\enclose{actuarial}{#1}",angln:"\\enclose{actuarial}{n}",anglr:"\\enclose{actuarial}{r}",anglk:"\\enclose{actuarial}{k}",mathtools:{primitive:!0,package:{ordinarycolon:":",vcentcolon:"\\mathrel{\\mathop\\ordinarycolon}",dblcolon:'{\\mathop{\\char"2237}}',coloneqq:'{\\mathop{\\char"2254}}',Coloneqq:'{\\mathop{\\char"2237\\char"3D}}',coloneq:'{\\mathop{\\char"3A\\char"2212}}',Coloneq:'{\\mathop{\\char"2237\\char"2212}}',eqqcolon:'{\\mathop{\\char"2255}}',Eqqcolon:'{\\mathop{\\char"3D\\char"2237}}',eqcolon:'{\\mathop{\\char"2239}}',Eqcolon:'{\\mathop{\\char"2212\\char"2237}}',colonapprox:'{\\mathop{\\char"003A\\char"2248}}',Colonapprox:'{\\mathop{\\char"2237\\char"2248}}',colonsim:'{\\mathop{\\char"3A\\char"223C}}',Colonsim:'{\\mathop{\\char"2237\\char"223C}}',colondash:"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}",Colondash:"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}",dashcolon:"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Dashcolon:"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}"}},ratio:"\\vcentcolon",coloncolon:"\\dblcolon",colonequals:"\\coloneq",coloncolonequals:"\\Coloneq",equalscolon:"\\eqcolon",equalscoloncolon:"\\Eqcolon",colonminus:"\\colondash",coloncolonminus:"\\Colondash",minuscolon:"\\dashcolon",minuscoloncolon:"\\Dashcolon",coloncolonapprox:"\\Colonapprox",coloncolonsim:"\\Colonsim",simcolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Simcolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",simcoloncolon:"\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",approxcolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",Approxcolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",approxcoloncolon:"\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",notni:"\\mathrel{\\char`\u220C}",limsup:"\\operatorname*{lim\\,sup}",liminf:"\\operatorname*{lim\\,inf}",injlim:"\\operatorname*{inj\\,lim}",projlim:"\\operatorname*{proj\\,lim}",varlimsup:"\\operatorname*{\\overline{lim}}",varliminf:"\\operatorname*{\\underline{lim}}",varinjlim:"\\operatorname*{\\underrightarrow{lim}}",varprojlim:"\\operatorname*{\\underleftarrow{lim}}",argmin:"\\operatorname*{arg\\,min}",argmax:"\\operatorname*{arg\\,max}",plim:"\\mathop{\\operatorname{plim}}\\limits",tripledash:{def:"\\vphantom{-}\\raise{4mu}{\\mkern1.5mu\\rule{2mu}{1.5mu}\\mkern{2.25mu}\\rule{2mu}{1.5mu}\\mkern{2.25mu}\\rule{2mu}{1.5mu}\\mkern{2mu}}",expand:!0},"braket.sty":{package:On},"amsmath.sty":{package:qn,primitive:!0},"texvc.sty":{package:Jn,primitive:!1}},Ie={" ":32,"\\!":33,"\\#":35,"\\$":36,"\\%":37,"\\&":38,"-":45,"\\textunderscore":95,"\\euro":8364,"\\maltese":10016,"\\{":123,"\\}":125,"\\textbraceleft":123,"\\textbraceright":125,"\\lbrace":123,"\\rbrace":125,"\\lbrack":91,"\\rbrack":93,"\\nobreakspace":160,"\\ldots":8230,"\\textellipsis":8230,"\\backslash":92,"`":8216,"'":8217,"``":8220,"''":8221,"\\degree":176,"\\textasciicircum":94,"\\textasciitilde":126,"\\textasteriskcentered":42,"\\textbackslash":92,"\\textbullet":8226,"\\textdollar":36,"\\textsterling":163,"\\textdagger":8224,"\\textdaggerdbl":8225,"\u2013":8211,"\u2014":8212,"\u2018":8216,"\u2019":8217,"\u201C":8220,"\u201D":8221,'"':8221,"\\ss":223,"\\ae":230,"\\oe":339,"\\AE":198,"\\OE":338,"\\O":216,"\\i":305,"\\j":567,"\\aa":229,"\\AA":197},Ce=/[\w!@*()-=+{}\[\]\\';:?/.,~<>`|$%#&^" ]/,He,it;Jt()?(He=new RegExp("\\p{Letter}","u"),it=new RegExp("[0-9\\p{Letter}]","u")):(He=/[a-zA-ZаАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяĄąĆćĘꣳŃńÓóŚśŹźŻżàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒößÖẞìíòúÌÍÒÚáñÁÑ]/,it=/[\da-zA-ZаАбБвВгГдДеЕёЁжЖзЗиИйЙкКлЛмМнНоОпПрРсСтТуУфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяĄąĆćĘꣳŃńÓóŚśŹźŻżàâäôéèëêïîçùûüÿæœÀÂÄÔÉÈËÊÏΟÇÙÛÜÆŒößÖẞìíòúÌÍÒÚáñÁÑ]/);function we(a,y,z="mord",ie){y!==void 0&&(Xr[a]={definitionType:"symbol",type:z,variant:ie,codepoint:y},Or[y]||(Or[y]=a))}function Xt(a,y,z){if(typeof a=="string"){for(let ie=0;ie{var ze,Ge;return be.frequency===Ne.frequency?be.match.length===Ne.match.length?be.matchbe.match)}function or(a){let y="auto";const z=a.match(/:([^=]+)/);return z&&(y=z[1].trim()),y}function Xn(a){if(!a)return[];const y=[];let z=a.split("]");if(z[0].startsWith("[")){y.push({isOptional:!0,type:or(z[0].slice(1))});for(let ie=1;ie<=z.length;ie++)y.push(...Xn(z[ie]))}else if(z=a.split("}"),z[0].startsWith("{")){y.push({isOptional:!1,type:or(z[0].slice(1))});for(let ie=1;ie<=z.length;ie++)y.push(...Xn(z[ie]))}return y}function dn(a){if(!a)return"";let y="",z=!0;for(const ie of a)typeof ie.value=="string"?y+=ie.value:z=!1;return z?y:""}function kr(a,y){typeof a=="string"&&(a=[a]);const z={tabular:!1,params:[],createAtom:y};for(const ie of a)Qn[ie]=z}function vi(a,y,z){typeof a=="string"&&(a=[a]);const le={tabular:!0,params:Xn(y),createAtom:z};for(const ve of a)Qn[ve]=le}function Un(a,y,z){var ie,le;z||(z={});const ve={definitionType:"function",params:Xn(y),ifMode:z.ifMode,isFunction:(ie=z.isFunction)!=null?ie:!1,applyMode:z.applyMode,infix:(le=z.infix)!=null?le:!1,parse:z.parse,createAtom:z.createAtom,applyStyle:z.applyStyle,serialize:z.serialize,render:z.render};if(typeof a=="string")zn["\\"+a]=ve;else for(const be of a)zn["\\"+be]=ve}var Pr;function Ii(a){return Pr||(Pr=qt(qe)),a?qt(Xe(Xe({},Pr),a)):Pr}function on(a,y){var z,ie,le,ve;if(typeof a=="string"){let be=0;const Ne=a;return/(^|[^\\])#1/.test(Ne)&&(be=1),/(^|[^\\])#2/.test(Ne)&&(be=2),/(^|[^\\])#3/.test(Ne)&&(be=3),/(^|[^\\])#4/.test(Ne)&&(be=4),/(^|[^\\])#5/.test(Ne)&&(be=5),/(^|[^\\])#6/.test(Ne)&&(be=6),/(^|[^\\])#7/.test(Ne)&&(be=7),/(^|[^\\])#8/.test(Ne)&&(be=8),/(^|[^\\])#9/.test(Ne)&&(be=9),{expand:(z=y==null?void 0:y.expand)!=null?z:!0,captureSelection:(ie=y==null?void 0:y.captureSelection)!=null?ie:!0,args:be,def:Ne}}return Xe({expand:(le=y==null?void 0:y.expand)!=null?le:!0,captureSelection:(ve=y==null?void 0:y.captureSelection)!=null?ve:!0,args:0},a)}function qt(a){if(!a)return{};const y={};for(const z of Object.keys(a)){const ie=a[z];if(ie==null)delete y[z];else if(typeof ie=="object"&&"package"in ie)for(const le of Object.keys(ie.package))y[le]=on(ie.package[le],{expand:!ie.primitive,captureSelection:ie.captureSelection});else y[z]=on(ie)}return y}function gn(a,y="math"){if(!a||a.length===0)return null;let z=null;if(a.startsWith("\\")){if(z=zn[a],z)return!z.ifMode||z.ifMode===y?z:null;y==="math"?z=Xr[a]:Ie[a]&&(z={definitionType:"symbol",type:"mord",codepoint:Ie[a]})}else if(y==="math"){if(z=Xr[a],!z&&a.length===1){const ie=mr("math",a.codePointAt(0));return ie.startsWith("\\")?_e(Xe({},gn(ie,"math")),{command:ie}):null}}else Ie[a]?z={definitionType:"symbol",type:"mord",codepoint:Ie[a]}:y==="text"&&(z={definitionType:"symbol",type:"mord",codepoint:a.codePointAt(0)});return z!=null?z:null}function gr(a,y){if(!a.startsWith("\\"))return null;const z=a.slice(1);return y[z]}function mr(a,y){if(y===void 0)return"";if(a==="math"&&Or[y])return Or[y];if(a==="text"){const z=Object.keys(Ie).find(ie=>Ie[ie]===y);return z||String.fromCodePoint(y)}return String.fromCodePoint(y)}var xi=[0,.68889,0,0,.72222],Ui=[0,.68889,0,0,.66667],Ni=[0,.68889,0,0,.77778],Fa=[0,.68889,0,0,.61111],_o=[.16667,.68889,0,0,.77778],co=[0,.68889,0,0,.55556],kn=[0,0,0,0,.25],Yi=[0,.825,0,0,2.33334],ys=[0,.9,0,0,2.33334],$o=[0,.68889,0,0,.54028],eo=[-.03598,.46402,0,0,.5],lo=[-.13313,.36687,0,0,1],Qr=[.01354,.52239,0,0,1],ir=[.01354,.52239,0,0,1.11111],ri=[0,.54986,0,0,1],ua=[0,.69224,0,0,.5],un=[0,.43056,0,0,1],lr=[.08198,.58198,0,0,.77778],Hr=[.19444,.69224,0,0,.41667],hr=[.1808,.675,0,0,1],Vr=[.19444,.69224,0,0,.83334],Rr=[.13667,.63667,0,0,1],qr=[-.064,.437,0,0,1.334],Zi=[.08167,.58167,0,0,.77778],Wn=[0,.69224,0,0,.72222],st=[0,.69224,0,0,.66667],Nt=[-.13313,.36687,0,0,.77778],Gn=[.06062,.54986,0,0,.77778],Sr=[0,.69224,0,0,.77778],yr=[.25583,.75583,0,0,.77778],ci=[.25142,.75726,0,0,.77778],ai=[.20576,.70576,0,0,.77778],Ur=[.30274,.79383,0,0,.77778],zr=[.22958,.72958,0,0,.77778],ta=[.1808,.675,0,0,.77778],qa=[.13667,.63667,0,0,.77778],pi=[.13597,.63597,0,0,.77778],Mr=[.03517,.54986,0,0,.77778],sr=[0,.675,0,0,.77778],xn=[.19444,.69224,0,0,.61111],er=[0,.54986,0,0,.76042],Er=[0,.54986,0,0,.66667],Zr=[.0391,.5391,0,0,.77778],ti=[.03517,.54986,0,0,1.33334],Nr=[.38569,.88569,0,0,.77778],Bi=[.23222,.74111,0,0,.77778],Zn=[.19444,.69224,0,0,.77778],Di=[0,.37788,0,0,.5],da=[0,.54986,0,0,.72222],ha=[0,.69224,0,0,.83334],na=[.11111,.69224,0,0,.66667],Qa=[.26167,.75726,0,0,.77778],Ao=[.48256,.98256,0,0,.77778],Da=[.28481,.79383,0,0,.77778],Ma=[.08167,.58167,0,0,.22222],es=[.08167,.58167,0,0,.38889],Fo=[0,.43056,.04028,0,.66667],Ls=[.41951,.91951,0,0,.77778],_a=[.24982,.74947,0,0,.38865],$s=[.08319,.58283,0,0,.75623],sa=[0,.10803,0,0,.27764],Os=[0,.47534,0,0,.50181],Us=[.18906,.47534,0,0,.50181],Ns=[0,.69141,0,0,.50181],xs=[.24982,.74947,0,0,.27764],Al=[0,.69141,0,0,.21471],Bs=[.25,.75,0,0,.44722],Ho=[0,.64444,0,0,.575],ll=[.08556,.58556,0,0,.89444],el=[0,.69444,0,0,.89444],Rs=[0,.68611,0,0,.9],ui=[0,.68611,0,0,.86944],za=[.25,.75,0,0,.575],ls=[.25,.75,0,0,.31944],vs=[0,.69444,0,0,.63889],Ms=[0,.69444,0,0,.31944],Ts=[0,.44444,0,0,.63889],ul=[0,.44444,0,0,.51111],Na=[0,.69444,0,0,.575],$a=[.13333,.63333,0,0,.89444],gl=[0,.44444,0,0,.31944],zs=[0,.69444,0,0,.86944],Xu=[0,.68611,0,0,.69166],Su=[0,.68611,0,0,.83055],cc=[0,.68611,0,0,.89444],Ru=[0,.69444,0,0,.60278],hu=[.19444,.69444,0,0,.51111],zu=[0,.69444,0,0,.83055],Mu=[-.10889,.39111,0,0,1.14999],vc=[.19444,.69444,0,0,.575],yu=[.19444,.69444,0,0,1.14999],to=[.19444,.69444,0,0,.70277],uo=[.05556,.75,0,0,.575],no=[0,.68611,0,0,.95833],yn=[.08556,.58556,0,0,.76666],ps=[-.02639,.47361,0,0,.575],al=[0,.44444,0,0,.89444],Vs=[0,.55556,0,0,.76666],$l=[-.10889,.39111,0,0,.89444],eu=[.00222,.50222,0,0,.89444],vu=[.19667,.69667,0,0,.89444],ku=[.08556,.58556,0,0,1.14999],Lu=[0,.69444,0,0,.70277],Cc=[-.02778,.47222,0,0,.575],fo=[.25,.75,0,0,.51111],Ql=[-.13889,.36111,0,0,1.14999],oc=[.19444,.69444,0,0,1.02222],us=[.12963,.69444,0,0,.89444],Hs=[.19444,.69444,0,0,.44722],Oo=[0,.64444,.13167,0,.59111],fn=[.19444,.64444,.13167,0,.59111],Lr=[0,.68611,.17208,0,.8961],nr=[.19444,.44444,.105,0,.53222],Oi=[0,.44444,.085,0,.82666],Do=[0,.69444,.06709,0,.59111],cr=[0,.69444,.12945,0,.35555],tl=[0,.69444,0,0,.94888],ka=[0,.69444,.11472,0,.59111],Vi=[0,.68611,.10778,0,.88555],No=[0,.69444,.07939,0,.62055],Nl=[0,.69444,.12417,0,.30667],Aa=[0,.64444,.13556,0,.51111],yo=[.19444,.64444,.13556,0,.51111],zi=[0,.68333,.16389,0,.74333],Fs=[.19444,.43056,.08847,0,.46],bo=[0,.43056,.07514,0,.71555],js=[0,.69444,.06646,0,.51111],kl=[0,.69444,0,0,.83129],Es=[0,.69444,.1225,0,.51111],vl=[0,.68333,.09403,0,.76666],Is=[0,.68333,.11111,0,.76666],fl=[0,.69444,.06961,0,.51444],Gl=[0,.69444,0,0,.27778],Ul=[.25,.75,0,0,.38889],Ko=[0,.64444,0,0,.5],ao=[0,.69444,0,0,.77778],Wa=[0,.68333,0,0,.75],Dl=[0,.68333,0,0,.77778],lu=[0,.68333,0,0,.68056],mc=[0,.68333,0,0,.72222],Ro=[.25,.75,0,0,.5],jl=[.25,.75,0,0,.27778],Ml=[0,.69444,0,0,.5],mu=[0,.69444,0,0,.55556],Co=[0,.43056,0,0,.44445],Go=[0,.43056,0,0,.5],ou=[.19444,.43056,0,0,.55556],Mc=[0,.43056,0,0,.55556],Ai=[.08333,.58333,0,0,.77778],tu=[0,.43056,0,0,.27778],Pl=[0,.66786,0,0,.27778],nc=[0,.69444,0,0,.75],Tu=[0,.66786,0,0,.5],$i=[0,.68333,0,0,.625],ol=[.19444,.69444,0,0,.44445],Po=[0,.69444,0,0,.72222],ds=[.19444,.69444,0,0,.5],Zl=[.19444,.69444,0,0,1],uu=[.011,.511,0,0,1.126],Ys=[.19444,.69444,0,0,.61111],hl=[.05556,.75,0,0,.5],Rl=[0,.68333,0,0,.83334],Yl=[.0391,.5391,0,0,.66667],Au=[-.05555,.44445,0,0,.5],nu=[0,.43056,0,0,.77778],xc=[0,.55556,0,0,.66667],Kc=[-.03625,.46375,0,0,.77778],Dc=[-.01688,.48312,0,0,.77778],Jl=[.0391,.5391,0,0,1],Io=[0,.69444,0,0,.61111],fs=[-.03472,.46528,0,0,.5],Gu=[.25,.75,0,0,.44445],cl=[-.14236,.35764,0,0,1],Iu=[.244,.744,0,0,.412],Mi=[.19444,.69444,0,0,.88889],Ha=[.12963,.69444,0,0,.77778],yl=[.19444,.69444,0,0,.38889],Sl=[.011,.511,0,0,1.638],ru=[.19444,.69444,0,0,0],Re=[0,.44444,0,0,.575],$e=[.19444,.44444,0,0,.575],nt=[0,.68611,0,0,.75555],Yt=[0,.69444,0,0,.66759],nn=[0,.68611,0,0,.80555],Br=[0,.68611,.08229,0,.98229],Cr=[0,.68611,0,0,.76666],yi=[0,.44444,0,0,.58472],gi=[.19444,.44444,0,0,.6118],Hi=[.19444,.43056,0,0,.5],Xa=[0,.68333,.02778,.08334,.76278],Ji=[0,.68333,.08125,.05556,.83125],ea=[0,.43056,0,.05556,.48472],fa=[.19444,.43056,0,.08334,.51702],Ba=[.25,.75,0,0,.42778],jr=[0,.69444,0,0,.55],Ci=[0,.69444,0,0,.73334],ya=[0,.69444,0,0,.79445],ns=[0,.69444,0,0,.51945],wo=[0,.69444,0,0,.70278],rs=[0,.69444,0,0,.76389],os=[.25,.75,0,0,.34306],Vo=[0,.69444,0,0,.56111],Lo=[0,.69444,0,0,.25556],Xl=[.19444,.45833,0,0,.56111],Qs=[0,.45833,0,0,.56111],ni=[0,.69444,0,0,.30556],Fl=[0,.69444,0,0,.58056],iu=[0,.69444,0,0,.67223],Ou=[0,.69444,0,0,.85556],bu=[0,.69444,0,0,.55834],Ll=[0,.65556,.11156,0,.5],Js=[0,.69444,.08094,0,.70834],wl=[.17014,0,0,0,.44445],Vl=[0,.69444,.0799,0,.5],Uu=[0,.69444,0,0,.73752],xu=[0,.69444,.09205,0,.5],cu=[0,.69444,.09031,0,.77778],pc=[0,.69444,.07816,0,.27778],Ac=[0,.69444,.00316,0,.5],ot=[.19444,.69444,0,0,.83334],ht=[.05556,.75,0,0,.83334],Wt=[0,.75,0,0,.5],cn=[.125,.08333,0,0,.27778],Nn=[0,.08333,0,0,.27778],Bn=[0,.65556,0,0,.5],dr=[0,.69444,0,0,.47222],pr=[0,.69444,0,0,.66667],ar=[0,.69444,0,0,.59722],_r=[0,.69444,0,0,.54167],Wr=[0,.69444,0,0,.70834],Jr=[.25,.75,0,0,.28889],Qi=[0,.69444,0,0,.51667],Xi=[0,.44444,0,0,.44445],Wi=[.19444,.44444,0,0,.51667],pa=[0,.44444,0,0,.38333],la=[0,.44444,0,0,.51667],Ta=[0,.69444,0,0,.83334],hi=[.35001,.85,0,0,.45834],Ia=[.35001,.85,0,0,.57778],So=[.35001,.85,0,0,.41667],hs=[.35001,.85,0,0,.58334],jo=[0,.72222,0,0,.55556],ms=[1e-5,.6,0,0,.66667],nl=[1e-5,.6,0,0,.77778],ho=[.25001,.75,0,0,.94445],is=[.306,.805,.19445,0,.47222],po=[.30612,.805,.19445,0,.47222],wa=[.25001,.75,0,0,.83334],Ya=[.35001,.85,0,0,.47222],Ds=[.25001,.75,0,0,1.11111],bl=[.65002,1.15,0,0,.59722],jn=[.65002,1.15,0,0,.81111],$r=[.65002,1.15,0,0,.47222],pe=[.65002,1.15,0,0,.66667],Ee=[0,.75,0,0,1],Be=[.55001,1.05,0,0,1.27778],ke=[.862,1.36,.44445,0,.55556],Ke=[.86225,1.36,.44445,0,.55556],Ue=[.55001,1.05,0,0,1.11111],ut=[.65002,1.15,0,0,.52778],at=[.65002,1.15,0,0,.61111],Pt=[.55001,1.05,0,0,1.51112],bt=[.95003,1.45,0,0,.73611],Ht=[.95003,1.45,0,0,1.04445],ln=[.95003,1.45,0,0,.52778],rn=[.95003,1.45,0,0,.75],Vn=[0,.75,0,0,1.44445],sn=[.95003,1.45,0,0,.58334],vn=[1.25003,1.75,0,0,.79167],Dn=[1.25003,1.75,0,0,1.27778],En=[1.25003,1.75,0,0,.58334],Et=[1.25003,1.75,0,0,.80556],Kr=[0,.825,0,0,1.8889],Pi=[1.25003,1.75,0,0,.63889],ja=[.64502,1.155,0,0,.875],wi=[1e-5,.6,0,0,.875],Ka=[-99e-5,.601,0,0,.66667],vo=[.64502,1.155,0,0,.66667],mo=[1e-5,.9,0,0,.88889],ii=[.65002,1.15,0,0,.88889],Ki=[.90001,0,0,0,.88889],Mo=[-.00499,.605,0,0,1.05556],fr=[0,.12,0,0,.45],tr=[0,.61111,0,0,.525],Fi=[.08333,.69444,0,0,.525],_i=[-.08056,.53055,0,0,.525],La=[-.05556,.55556,0,0,.525],ki=[0,.43056,0,0,.525],ma=[.22222,.43056,0,0,.525],To=[0,0,0,0,.525],go={"AMS-Regular":{32:kn,65:xi,66:Ui,67:xi,68:xi,69:Ui,70:Fa,71:Ni,72:Ni,73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:Ni,76:Ui,77:[0,.68889,0,0,.94445],78:xi,79:_o,80:Fa,81:_o,82:xi,83:co,84:Ui,85:xi,86:xi,87:[0,.68889,0,0,1],88:xi,89:xi,90:Ui,107:co,160:kn,165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:co,295:$o,710:Yi,732:ys,770:Yi,771:ys,989:Zi,1008:Fo,8245:[0,.54986,0,0,.275],8463:$o,8487:xi,8498:co,8502:Ui,8503:[0,.68889,0,0,.44445],8504:Ui,8513:[0,.68889,0,0,.63889],8592:eo,8594:eo,8602:lo,8603:lo,8606:Qr,8608:Qr,8610:ir,8611:ir,8619:ri,8620:ri,8621:[-.13313,.37788,0,0,1.38889],8622:lo,8624:ua,8625:ua,8630:un,8631:un,8634:lr,8635:lr,8638:Hr,8639:Hr,8642:Hr,8643:Hr,8644:hr,8646:hr,8647:hr,8648:Vr,8649:hr,8650:Vr,8651:Qr,8652:Qr,8653:lo,8654:lo,8655:lo,8666:Rr,8667:Rr,8669:[-.13313,.37788,0,0,1],8672:qr,8674:qr,8705:[0,.825,0,0,.5],8708:co,8709:Zi,8717:[0,.43056,0,0,.42917],8722:eo,8724:[.08198,.69224,0,0,.77778],8726:Zi,8733:Sr,8736:Wn,8737:Wn,8738:[.03517,.52239,0,0,.72222],8739:Ma,8740:[.25142,.74111,0,0,.27778],8741:es,8742:[.25142,.74111,0,0,.5],8756:st,8757:st,8764:Nt,8765:[-.13313,.37788,0,0,.77778],8769:Nt,8770:Kc,8774:Ur,8776:Dc,8778:Zi,8782:Gn,8783:Gn,8785:lr,8786:lr,8787:lr,8790:Sr,8791:zr,8796:[.08198,.91667,0,0,.77778],8806:yr,8807:yr,8808:ci,8809:ci,8812:[.25583,.75583,0,0,.5],8814:ai,8815:ai,8816:Ur,8817:Ur,8818:zr,8819:zr,8822:ta,8823:ta,8828:qa,8829:qa,8830:zr,8831:zr,8832:ai,8833:ai,8840:Ur,8841:Ur,8842:pi,8843:pi,8847:Mr,8848:Mr,8858:lr,8859:lr,8861:lr,8862:sr,8863:sr,8864:sr,8865:sr,8872:[0,.69224,0,0,.61111],8873:Wn,8874:[0,.69224,0,0,.88889],8876:Fa,8877:Fa,8878:xi,8879:xi,8882:Mr,8883:Mr,8884:qa,8885:qa,8888:[0,.54986,0,0,1.11111],8890:ou,8891:xn,8892:xn,8901:[0,.54986,0,0,.27778],8903:Zi,8905:Zi,8906:Zi,8907:Sr,8908:Sr,8909:[-.03598,.46402,0,0,.77778],8910:er,8911:er,8912:Mr,8913:Mr,8914:Er,8915:Er,8916:st,8918:Zr,8919:Zr,8920:ti,8921:ti,8922:Nr,8923:Nr,8926:qa,8927:qa,8928:Ur,8929:Ur,8934:Bi,8935:Bi,8936:Bi,8937:Bi,8938:ai,8939:ai,8940:Ur,8941:Ur,8994:Zn,8995:Zn,9416:[.15559,.69224,0,0,.90222],9484:ua,9488:ua,9492:Di,9496:Di,9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:sr,9633:sr,9650:da,9651:da,9654:Mr,9660:da,9661:da,9664:Mr,9674:na,9733:[.19444,.69224,0,0,.94445],10003:ha,10016:ha,10731:na,10846:[.19444,.75583,0,0,.61111],10877:qa,10878:qa,10885:yr,10886:yr,10887:pi,10888:pi,10889:Qa,10890:Qa,10891:Ao,10892:Ao,10901:qa,10902:qa,10933:ci,10934:ci,10935:Qa,10936:Qa,10937:Qa,10938:Qa,10949:yr,10950:yr,10955:Da,10956:Da,57350:Ma,57351:es,57352:Zi,57353:Fo,57356:ci,57357:ci,57358:Ls,57359:Ur,57360:Ur,57361:Ls,57366:ci,57367:ci,57368:ci,57369:ci,57370:pi,57371:pi},"Caligraphic-Regular":{32:kn,65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:kn},"Fraktur-Regular":{32:kn,33:[0,.69141,0,0,.29574],34:Al,38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:_a,41:_a,42:[0,.62119,0,0,.27764],43:$s,44:sa,45:$s,46:sa,47:[.24982,.74947,0,0,.50181],48:Os,49:Os,50:Os,51:Us,52:Us,53:Us,54:Ns,55:Us,56:Ns,57:Us,58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:xs,93:xs,94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:kn,8216:Al,8217:Al,58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:kn,33:[0,.69444,0,0,.35],34:Ru,35:[.19444,.69444,0,0,.95833],36:uo,37:[.05556,.75,0,0,.95833],38:el,39:Ms,40:Bs,41:Bs,42:[0,.75,0,0,.575],43:$a,44:[.19444,.15556,0,0,.31944],45:pa,46:[0,.15556,0,0,.31944],47:za,48:Ho,49:Ho,50:Ho,51:Ho,52:Ho,53:Ho,54:Ho,55:Ho,56:Ho,57:Ho,58:gl,59:[.19444,.44444,0,0,.31944],60:ll,61:$l,62:ll,63:[0,.69444,0,0,.54305],64:el,65:ui,66:[0,.68611,0,0,.81805],67:Su,68:[0,.68611,0,0,.88194],69:nt,70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:Rs,73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:Xu,77:[0,.68611,0,0,1.09166],78:Rs,79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:ui,89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:ls,92:za,93:ls,94:Na,95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:vs,99:ul,100:vs,101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:vs,105:Ms,106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:Ms,109:[0,.44444,0,0,.95833],110:Ts,111:Re,112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:Ts,118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:ul,123:za,124:ls,125:za,126:[.35,.34444,0,0,.575],160:kn,163:[0,.69444,0,0,.86853],168:Na,172:[0,.44444,0,0,.76666],176:zs,177:$a,184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:$a,216:[.04861,.73472,0,0,.89444],223:ar,230:[0,.44444,0,0,.83055],247:$a,248:[.09722,.54167,0,0,.575],305:gl,338:[0,.68611,0,0,1.16944],339:al,567:[.19444,.44444,0,0,.35139],710:Na,711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:Na,715:Na,728:Na,729:Ms,730:zs,732:Na,733:Na,915:Xu,916:no,920:cc,923:nn,926:Cr,928:Rs,931:Su,933:cc,934:Su,936:cc,937:Su,8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:Ms,8217:Ms,8220:Ru,8221:Ru,8224:hu,8225:hu,8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:Yt,8465:zu,8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:zu,8501:Lu,8592:Mu,8593:vc,8594:Mu,8595:vc,8596:Mu,8597:za,8598:yu,8599:yu,8600:yu,8601:yu,8636:Mu,8637:Mu,8640:Mu,8641:Mu,8656:Mu,8657:to,8658:Mu,8659:to,8660:Mu,8661:[.25,.75,0,0,.70277],8704:vs,8706:[0,.69444,.06389,0,.62847],8707:vs,8709:uo,8711:no,8712:yn,8715:yn,8722:$a,8723:$a,8725:za,8726:za,8727:Cc,8728:ps,8729:ps,8730:[.18,.82,0,0,.95833],8733:al,8734:[0,.44444,0,0,1.14999],8736:Wn,8739:ls,8741:za,8743:Vs,8744:Vs,8745:Vs,8746:Vs,8747:[.19444,.69444,.12778,0,.56875],8764:$l,8768:[.19444,.69444,0,0,.31944],8771:eu,8776:[.02444,.52444,0,0,.89444],8781:eu,8801:eu,8804:vu,8805:vu,8810:ku,8811:ku,8826:ll,8827:ll,8834:ll,8835:ll,8838:vu,8839:vu,8846:Vs,8849:vu,8850:vu,8851:Vs,8852:Vs,8853:$a,8854:$a,8855:$a,8856:$a,8857:$a,8866:Lu,8867:Lu,8868:el,8869:el,8900:ps,8901:[-.02639,.47361,0,0,.31944],8902:Cc,8968:fo,8969:fo,8970:fo,8971:fo,8994:Ql,8995:Ql,9651:oc,9657:Cc,9661:oc,9667:Cc,9711:yu,9824:us,9825:us,9826:us,9827:us,9837:[0,.75,0,0,.44722],9838:Hs,9839:Hs,10216:Bs,10217:Bs,10815:Rs,10927:vu,10928:vu,57376:ru},"Main-BoldItalic":{32:kn,33:[0,.69444,.11417,0,.38611],34:No,35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:cr,40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:Oo,49:Oo,50:Oo,51:Oo,52:fn,53:Oo,54:Oo,55:fn,56:Oo,57:Oo,58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:ka,64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:Lr,73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:Lr,79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:Do,95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:nr,104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:nr,114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:kn,168:[0,.69444,.11473,0,.59111],176:tl,184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:Oi,248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:Oi,567:[.19444,.44444,.04611,0,.385],710:Do,711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:cr,730:tl,732:ka,733:ka,915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:Lr,931:[0,.68611,.11431,0,.82666],933:Vi,934:[0,.68611,.05632,0,.82666],936:Vi,937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:cr,8217:cr,8220:[0,.69444,.16772,0,.62055],8221:No},"Main-Italic":{32:kn,33:Nl,34:fl,35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:Nl,40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:Aa,49:Aa,50:Aa,51:Aa,52:yo,53:Aa,54:Aa,55:yo,56:Aa,57:Aa,58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:Es,64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:zi,73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:zi,79:vl,80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:zi,86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:js,95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:Fs,104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:Fs,114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:kn,168:[0,.66786,.10474,0,.51111],176:kl,184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:bo,248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:bo,710:js,711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:kl,732:[0,.66786,.11585,0,.51111],733:Es,915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:vl,923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:zi,931:[0,.68333,.12028,0,.71555],933:Is,934:[0,.68333,.05986,0,.71555],936:Is,937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:Nl,8217:Nl,8220:[0,.69444,.1685,0,.51444],8221:fl,8463:$o},"Main-Regular":{32:kn,33:Gl,34:Ml,35:ot,36:hl,37:ht,38:ao,39:Gl,40:Ul,41:Ul,42:Wt,43:Ai,44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:Ro,48:Ko,49:Ko,50:Ko,51:Ko,52:Ko,53:Ko,54:Ko,55:Ko,56:Ko,57:Ko,58:tu,59:[.19444,.43056,0,0,.27778],60:Zr,61:Nt,62:Zr,63:dr,64:ao,65:Wa,66:[0,.68333,0,0,.70834],67:mc,68:[0,.68333,0,0,.76389],69:lu,70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:Wa,73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:Dl,76:$i,77:[0,.68333,0,0,.91667],78:Wa,79:Dl,80:lu,81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:mc,85:Wa,86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:Wa,89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:jl,92:Ro,93:jl,94:Ml,95:[.31,.12056,.02778,0,.5],97:Go,98:mu,99:Co,100:mu,101:Co,102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:mu,105:Pl,106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:Gl,109:[0,.43056,0,0,.83334],110:Mc,111:Go,112:ou,113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:Mc,118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:Co,123:Ro,124:jl,125:Ro,126:[.35,.31786,0,0,.5],160:kn,163:[0,.69444,0,0,.76909],167:ol,168:Tu,172:[0,.43056,0,0,.66667],176:nc,177:Ai,182:Ys,184:wl,198:[0,.68333,0,0,.90278],215:Ai,216:[.04861,.73194,0,0,.77778],223:Ml,230:[0,.43056,0,0,.72222],247:Ai,248:[.09722,.52778,0,0,.5],305:tu,338:[0,.68333,0,0,1.01389],339:nu,567:[.19444,.43056,0,0,.30556],710:Ml,711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:Ml,715:Ml,728:Ml,729:Pl,730:nc,732:Tu,733:Ml,915:$i,916:Rl,920:Dl,923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:Wa,931:mc,933:Dl,934:mc,936:Dl,937:mc,8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:Gl,8217:Gl,8220:Ml,8221:Ml,8224:ol,8225:ol,8230:[0,.12,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:$o,8465:Po,8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:Po,8501:Io,8592:lo,8593:ds,8594:lo,8595:ds,8596:lo,8597:Ro,8598:Zl,8599:Zl,8600:Zl,8601:Zl,8614:[.011,.511,0,0,1],8617:uu,8618:uu,8636:lo,8637:lo,8640:lo,8641:lo,8652:[.011,.671,0,0,1],8656:lo,8657:Ys,8658:lo,8659:Ys,8660:lo,8661:[.25,.75,0,0,.61111],8704:mu,8706:[0,.69444,.05556,.08334,.5309],8707:mu,8709:hl,8711:Rl,8712:Yl,8715:Yl,8722:Ai,8723:Ai,8725:Ro,8726:Ro,8727:fs,8728:Au,8729:Au,8730:[.2,.8,0,0,.83334],8733:nu,8734:un,8736:Wn,8739:jl,8741:Ro,8743:xc,8744:xc,8745:xc,8746:xc,8747:[.19444,.69444,.11111,0,.41667],8764:Nt,8768:[.19444,.69444,0,0,.27778],8771:Kc,8773:[-.022,.589,0,0,1],8776:Dc,8781:Kc,8784:[-.133,.67,0,0,.778],8801:Kc,8804:pi,8805:pi,8810:Jl,8811:Jl,8826:Zr,8827:Zr,8834:Zr,8835:Zr,8838:pi,8839:pi,8846:xc,8849:pi,8850:pi,8851:xc,8852:xc,8853:Ai,8854:Ai,8855:Ai,8856:Ai,8857:Ai,8866:Io,8867:Io,8868:ao,8869:ao,8872:[.249,.75,0,0,.867],8900:Au,8901:[-.05555,.44445,0,0,.27778],8902:fs,8904:[.005,.505,0,0,.9],8942:[.03,.9,0,0,.278],8943:[-.19,.31,0,0,1.172],8945:[-.1,.82,0,0,1.282],8968:Gu,8969:Gu,8970:Gu,8971:Gu,8994:cl,8995:cl,9136:Iu,9137:Iu,9651:Mi,9657:fs,9661:Mi,9667:fs,9711:Zl,9824:Ha,9825:Ha,9826:Ha,9827:Ha,9837:[0,.75,0,0,.38889],9838:yl,9839:yl,10216:Ul,10217:Ul,10222:Iu,10223:Iu,10229:[.011,.511,0,0,1.609],10230:Sl,10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:Sl,10815:Wa,10927:pi,10928:pi,57376:ru},"Math-BoldItalic":{32:kn,48:Re,49:Re,50:Re,51:$e,52:$e,53:$e,54:Ho,55:$e,56:Ho,57:$e,65:ui,66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:Br,73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:nt,77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:Yt,105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:yi,112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:kn,915:[0,.68611,.15972,0,.65694],916:no,920:[0,.68611,.03194,0,.86722],923:nn,926:[0,.68611,.07458,0,.84125],928:Br,931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:Cr,936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:yi,960:[0,.44444,.03704,0,.68241],961:gi,962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:gi,1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:kn,48:Go,49:Go,50:Go,51:Hi,52:Hi,53:Hi,54:Ko,55:Hi,56:Ko,57:Hi,65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:Ji,73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:Xa,80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:ea,112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:kn,915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:Xa,923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:Ji,931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:ea,960:[0,.43056,.03588,0,.57003],961:fa,962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:fa,1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:kn,33:[0,.69444,0,0,.36667],34:bu,35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:ni,40:Ba,41:Ba,42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:jr,49:jr,50:jr,51:jr,52:jr,53:jr,54:jr,55:jr,56:jr,57:jr,58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:ns,64:Ci,65:Ci,66:Ci,67:wo,68:ya,69:[0,.69444,0,0,.64167],70:Io,71:Ci,72:ya,73:[0,.69444,0,0,.33056],74:ns,75:rs,76:Fl,77:[0,.69444,0,0,.97778],78:ya,79:ya,80:wo,81:[.10556,.69444,0,0,.79445],82:wo,83:Io,84:Ci,85:rs,86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:Ci,89:[0,.69444,.0275,0,.73334],90:iu,91:os,93:os,94:jr,95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:Vo,99:[0,.45833,0,0,.48889],100:Vo,101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:Vo,105:Lo,106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:Lo,109:[0,.45833,0,0,.86667],110:Qs,111:[0,.45833,0,0,.55],112:Xl,113:Xl,114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:Qs,118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:kn,168:jr,176:Ci,180:jr,184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:jr,711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:jr,729:ni,730:Ci,732:jr,733:jr,915:Fl,916:[0,.69444,0,0,.91667],920:Ou,923:iu,926:Ci,928:ya,931:ya,933:Ou,934:ya,936:Ou,937:ya,8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:ni,8217:ni,8220:bu,8221:bu},"SansSerif-Italic":{32:kn,33:[0,.69444,.05733,0,.31945],34:Ac,35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:pc,40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:cn,45:[0,.44444,.01946,0,.33333],46:Nn,47:[.25,.75,.13164,0,.5],48:Ll,49:Ll,50:Ll,51:Ll,52:Ll,53:Ll,54:Ll,55:Ll,56:Ll,57:Ll,58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:pr,66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:Js,73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:_r,77:[0,.69444,.08094,0,.875],78:Js,79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:Vl,95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:kn,168:[0,.67937,.06385,0,.5],176:Uu,184:wl,305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:Vl,711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:xu,715:Ml,728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:Uu,732:[0,.67659,.08826,0,.5],733:xu,915:[0,.69444,.13372,0,.54167],916:Ta,920:[0,.69444,.07555,0,.77778],923:Io,926:[0,.69444,.12816,0,.66667],928:Js,931:[0,.69444,.11983,0,.72222],933:cu,934:[0,.69444,.04603,0,.72222],936:cu,937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:pc,8217:pc,8220:[0,.69444,.14205,0,.5],8221:Ac},"SansSerif-Regular":{32:kn,33:[0,.69444,0,0,.31945],34:Ml,35:ot,36:hl,37:ht,38:[0,.69444,0,0,.75834],39:Gl,40:Ul,41:Ul,42:Wt,43:Ai,44:cn,45:[0,.44444,0,0,.33333],46:Nn,47:Ro,48:Bn,49:Bn,50:Bn,51:Bn,52:Bn,53:Bn,54:Bn,55:Bn,56:Bn,57:Bn,58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:dr,64:pr,65:pr,66:pr,67:vs,68:[0,.69444,0,0,.72223],69:ar,70:[0,.69444,0,0,.56945],71:pr,72:Wr,73:Gl,74:dr,75:[0,.69444,0,0,.69445],76:_r,77:[0,.69444,0,0,.875],78:Wr,79:[0,.69444,0,0,.73611],80:vs,81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:mu,84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:pr,89:[0,.69444,.025,0,.66667],90:Io,91:Jr,93:Jr,94:Ml,95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:Qi,99:Xi,100:Qi,101:Xi,102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:Qi,105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:la,111:[0,.44444,0,0,.5],112:Wi,113:Wi,114:[0,.44444,.01389,0,.34167],115:pa,116:[0,.57143,0,0,.36111],117:la,118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:kn,168:[0,.67937,0,0,.5],176:pr,184:wl,305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:Ml,711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:Ml,715:Ml,728:Ml,729:[0,.67937,0,0,.27778],730:pr,732:[0,.67659,0,0,.5],733:Ml,915:_r,916:Ta,920:ao,923:Io,926:pr,928:Wr,931:Po,933:ao,934:Po,936:ao,937:Po,8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:Gl,8217:Gl,8220:Ml,8221:Ml},"Script-Regular":{32:kn,65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:kn},"Size1-Regular":{32:kn,40:hi,41:hi,47:Ia,91:So,92:Ia,93:So,123:hs,125:hs,160:kn,710:jo,732:jo,770:jo,771:jo,8214:[-99e-5,.601,0,0,.77778],8593:ms,8595:ms,8657:nl,8659:nl,8719:ho,8720:ho,8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:po,8748:is,8749:is,8750:po,8896:wa,8897:wa,8898:wa,8899:wa,8968:Ya,8969:Ya,8970:Ya,8971:Ya,9168:Ka,10216:Ya,10217:Ya,10752:Ds,10753:Ds,10754:Ds,10756:wa,10758:wa},"Size2-Regular":{32:kn,40:bl,41:bl,47:jn,91:$r,92:jn,93:$r,123:pe,125:pe,160:kn,710:Ee,732:Ee,770:Ee,771:Ee,8719:Be,8720:Be,8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:Ke,8748:ke,8749:ke,8750:Ke,8896:Ue,8897:Ue,8898:Ue,8899:Ue,8968:ut,8969:ut,8970:ut,8971:ut,10216:at,10217:at,10752:Pt,10753:Pt,10754:Pt,10756:Ue,10758:Ue},"Size3-Regular":{32:kn,40:bt,41:bt,47:Ht,91:ln,92:Ht,93:ln,123:rn,125:rn,160:kn,710:Vn,732:Vn,770:Vn,771:Vn,8730:[.95003,1.45,0,0,1],8968:sn,8969:sn,8970:sn,8971:sn,10216:rn,10217:rn},"Size4-Regular":{32:kn,40:vn,41:vn,47:Dn,91:En,92:Dn,93:En,123:Et,125:Et,160:kn,710:Kr,732:Kr,770:Kr,771:Kr,8730:[1.25003,1.75,0,0,1],8968:Pi,8969:Pi,8970:Pi,8971:Pi,9115:ja,9116:wi,9117:ja,9118:ja,9119:wi,9120:ja,9121:vo,9122:Ka,9123:vo,9124:vo,9125:Ka,9126:vo,9127:mo,9128:ii,9129:Ki,9130:[0,.3,0,0,.88889],9131:mo,9132:ii,9133:Ki,9143:[.88502,.915,0,0,1.05556],10216:Et,10217:Et,57344:Mo,57345:Mo,57680:fr,57681:fr,57682:fr,57683:fr},"Typewriter-Regular":{32:To,33:tr,34:tr,35:tr,36:Fi,37:Fi,38:tr,39:tr,40:Fi,41:Fi,42:[0,.52083,0,0,.525],43:_i,44:[.13889,.125,0,0,.525],45:_i,46:[0,.125,0,0,.525],47:Fi,48:tr,49:tr,50:tr,51:tr,52:tr,53:tr,54:tr,55:tr,56:tr,57:tr,58:ki,59:[.13889,.43056,0,0,.525],60:La,61:[-.19549,.41562,0,0,.525],62:La,63:tr,64:tr,65:tr,66:tr,67:tr,68:tr,69:tr,70:tr,71:tr,72:tr,73:tr,74:tr,75:tr,76:tr,77:tr,78:tr,79:tr,80:tr,81:[.13889,.61111,0,0,.525],82:tr,83:tr,84:tr,85:tr,86:tr,87:tr,88:tr,89:tr,90:tr,91:Fi,92:Fi,93:Fi,94:tr,95:[.09514,0,0,0,.525],96:tr,97:ki,98:tr,99:ki,100:tr,101:ki,102:tr,103:ma,104:tr,105:tr,106:[.22222,.61111,0,0,.525],107:tr,108:tr,109:ki,110:ki,111:ki,112:ma,113:ma,114:ki,115:ki,116:[0,.55358,0,0,.525],117:ki,118:ki,119:ki,120:ki,121:ma,122:ki,123:Fi,124:Fi,125:Fi,126:tr,127:tr,160:To,176:tr,184:[.19445,0,0,0,.525],305:ki,567:ma,711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:tr,715:tr,728:tr,730:tr,770:tr,771:tr,776:tr,915:tr,916:tr,920:tr,923:tr,926:tr,928:tr,931:tr,933:tr,934:tr,936:tr,937:tr,8216:tr,8217:tr,8242:tr,9251:[.11111,.21944,0,0,.525]}},ia=/[\u3040-\u309F]|[\u30A0-\u30FF]|[\u4E00-\u9FAF]|[\uAC00-\uD7AF]/,As=10,Ws=.25,Vu=1.2,du=.431,Yu={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[du,du,du],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.5,.732,.925],num2:[.394,.384,.5],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[Ws,Ws,Ws],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04]},sc=[0,.5,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],_u=5,dc={"\xA0":" ","\u200B":" ",\u00C5:"A",\u00C7:"C",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00E7:"c",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function Nc(a,y){a===void 0&&(a=77);const z=go[y][a];if(z)return{defaultMetrics:!1,depth:z[0],height:z[1],italic:z[2],skew:z[3],width:z[4]};if(a===11034)return{defaultMetrics:!0,depth:.2,height:.8,italic:0,skew:0,width:.8};const ie=String.fromCodePoint(a);if(ie in dc)a=dc[ie].codePointAt(0);else if(ia.test(ie))return a=77,{defaultMetrics:!0,depth:.2,height:.9,italic:0,skew:0,width:1};return{defaultMetrics:!0,depth:.2,height:.7,italic:0,skew:0,width:.8}}var gd={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],longrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],longleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],longleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],longrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],longleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xleftrightarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],longleftrightarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xRightleftharpoons:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],longRightleftharpoons:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xLeftrightharpoons:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716],longLeftrightharpoons:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ic={widehat1:[1062,239,.24],widehat2:[2364,300,.3],widehat3:[2364,360,.36],widehat4:[2364,420,.42],widecheck1:[1062,239,.24],widecheck2:[2364,300,.3],widecheck3:[2364,360,.36],widecheck4:[2364,420,.42],widetilde1:[600,260,.26],widetilde2:[1033,286,.286],widetilde3:[2339,306,.306],widetilde4:[2340,312,.34],overarc:[1061,159,.3],underarc:[1061,159,.3]},fd={doubleleftarrow:`M262 157 -l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 - 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 - 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 -c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 - 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 --86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 --2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z -m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l --10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 - 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 --33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 --17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 --13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 -c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 --107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 - 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 --5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 -c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 - 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 - 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 - l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 --45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 - 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 - 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 - 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 --331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,overarc:"M529 0c179 0 524 115 524 115 5 1 9 5 9 10 0 1-1 2-1 3l-4 22c-1 5-5 9-11 9h-2s-338-93-512-92c-174 0-513 92-513 92h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13 0 0 342-115 520-115z",underarc:`m 529 160 - c -179 0 -524 -115 -524 -115 - c -5 -1 -9 -5 -9 -10 - c 0 -1 1 -2 1 -3 - l 4 -22 - c 1 -5 5 -9 11 -9 - h 2 - s 338 93 512 92 - c 174 0 513 -92 513 -92 - h 2 - c 5 0 9 4 11 9 - l 5 22 - c 1 6 -2 12 -8 13 - c 0 0 -342 115 -520 115 - z - `,leftgroup:`M400000 80 -H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 - 435 0h399565z`,leftgroupunder:`M400000 262 -H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 - 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 --3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 --18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 --196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 - 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 --4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 --10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z -m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 - 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 - 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 --152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 - 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 --2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 -v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 --83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 --68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 - 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z -M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z -M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 --.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 -c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 - 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z -M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 -c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 --53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 - 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 - 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 -c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 - 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 - 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 --5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 --320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z -m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 -60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 --451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z -m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 -c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 --480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z -m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 -85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 --707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z -m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 -c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 --16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 - 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 - 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 --40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 - 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l --6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 -s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 -c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 - 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 --174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 - 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 - 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 --3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 --10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 - 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 --18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 - 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z -m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 - 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 --7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 --27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 - 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 - 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 --64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z -m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 - 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 --13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 - 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z -M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 - 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 --52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 --167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 - 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 --70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 --40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 --37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 - 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 -c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 - 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 - 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 --19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 - 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,widetilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 --2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 - 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 - 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 --68.267.847-113-73.952-191-73.952z`,widetilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 --8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 - 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 -c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 - 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,widetilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 --11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 - 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 - 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 - -338 0-409-156.573-744-156.573z`,widetilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 --11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 - 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 - 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 - -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 -3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 -10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 --1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 --7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 -H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 -c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 -c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 --11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, --5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, --11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 -c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 -c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 -s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 -121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 -s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 -c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z -M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 --27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 -13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 --84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 --119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 --12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 -151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 -c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 -c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 -c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z -M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 -c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, -1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, --152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z -M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 -c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, --231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 -c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`};function yd(a){if(Ic[a]){const[Ge,lt,Tt]=Ic[a],An=``;return`${An}`}const[y,z,ie,le]=gd[a];let ve,be;const Ne=ie/1e3;y.length===3?(ve=["slice-1-of-3","slice-2-of-3","slice-3-of-3"],be=["xMinYMin","xMidYMin","xMaxYMin"]):y.length===2?(ve=["slice-1-of-2","slice-2-of-2"],be=["xMinYMin","xMaxYMin"]):(ve=["slice-1-of-1"],be=[le]);const ze=y.map((Ge,lt)=>``).join("");return`${ze}`}function hc(a){return gd[a]?gd[a][2]/1e3:Ic[a][2]}function Eu(a){const y=[];for(let z=0;z=55296&&ie<=56319){const le=a.charCodeAt(z+1);if(le>=56320&&le<=57343){const ve=ie-55296,be=le-56320;ie=lp(2,16)+ve*lp(2,10)+be,z++}}y.push(ie)}return y}var rc=8205,Gc=[[rc,1],[65038,2],[127995,5],[129456,4],[917536,96]],lc,zc=[127462,127487];function Uc(a){var y;if(lc===void 0){lc={};for(const z of Gc)for(let ie=z[0];ie<=z[0]+z[1]-1;ie++)lc[ie]=!0}return(y=lc[a])!=null?y:!1}function ld(a){return a>=zc[0]&&a<=zc[1]}function Nd(a){if(/^[\u0020-\u00FF]*$/.test(a))return a;const y=[],z=Eu(a);let ie=0;for(;ie=this.s.length}get(){return this.pos";const a=this.get();if(a==="\\"){if(!this.end()){let y=this.match(/^[a-zA-Z\*]+/);return y?this.match(/^[ \f\n\r\t\v\u00A0\u2028\u2029]*/):y=this.get(),"\\"+y}}else{if(a==="{")return"<{>";if(a==="}")return"<}>";if(a==="^"){if(this.peek()==="^"){this.get();const y=this.match(/^(\^(\^(\^(\^[\da-f])?[\da-f])?[\da-f])?[\da-f])?[\da-f]{2}/);if(y)return String.fromCodePoint(Number.parseInt(y.slice(y.lastIndexOf("^")+1),16))}return a}else if(a==="#"){if(!this.end()){let y=!1;if(/[\d?@]/.test(this.peek())&&(y=!0,this.pos+1"):"<$>"}return a}};function vd(a,y){var z,ie,le,ve;const be=[];let Ne=a.next();if(Ne&&Ne!=="\\relax"){if(Ne==="\\noexpand")Ne=a.next(),Ne&&be.push(Ne);else if(Ne==="\\obeyspaces")a.obeyspaces=!0;else if(Ne==="\\bgroup")be.push("<{>");else if(Ne==="\\egroup")be.push("<}>");else if(Ne==="\\string"){if(Ne=a.next(),Ne)if(Ne.startsWith("\\"))for(const ze of Ne)be.push(ze==="\\"?"\\backslash":ze);else Ne==="<{>"?be.push("\\{"):Ne===""?be.push("~"):Ne==="<}>"&&be.push("\\}")}else if(Ne==="\\csname"){for(;a.peek()==="";)a.next();let ze="",Ge=!1,lt=[];do{if(lt.length===0)if(/^#[\d?@]$/.test(a.peek())){const Tt=a.get().slice(1);lt=Xd((ie=(z=y==null?void 0:y(Tt))!=null?z:y==null?void 0:y("?"))!=null?ie:"\\placeholder{}",y),Ne=lt[0]}else Ne=a.next(),lt=Ne?[Ne]:[];Ge=lt.length===0,!Ge&&Ne==="\\endcsname"&&(Ge=!0,lt.shift()),Ge||(Ge=Ne==="<$>"||Ne==="<$$>"||Ne==="<{>"||Ne==="<}>"||typeof Ne=="string"&&Ne.length>1&&Ne.startsWith("\\")),Ge||(ze+=lt.shift())}while(!Ge);ze&&be.push("\\"+ze),be.push(...lt)}else if(Ne!=="\\endcsname")if(Ne.length>1&&Ne.startsWith("#")){const ze=Ne.slice(1);be.push(...Xd((ve=(le=y==null?void 0:y(ze))!=null?le:y==null?void 0:y("?"))!=null?ve:"\\placeholder{}",y))}else be.push(Ne)}return be}function Xd(a,y=null){const z=[];let ie="";for(const be of a.toString().split(/\r?\n/)){ie&&z.push(ie),ie=" ";const Ne=be.match(/((?:\\%)|[^%])*/);Ne!==null&&z.push(Ne[0])}const le=new Hc(In(z.join(""))),ve=[];do ve.push(...vd(le,y));while(!le.end());return ve}function ju(a){let y="";const z=[];for(const ie of a)ie&&(y&&/^[a-zA-Z\*]/.test(ie)&&z.push(y),z.push(ie),/^\\[a-zA-Z]+\*?[\"\'][^\ ]+$/.test(ie)&&z.push(" "),y=/\\[a-zA-Z]+\*?$/.test(ie)?" ":"");return z.join("")}function Ec(a,...y){return console.assert(a.startsWith("\\")),y.length===0?a:ju([a,...y.map(z=>`{${z}}`)])}function yf(a){return ju(a.map(y=>{var z;return(z={"":" ","<$$>":"$$","<$>":"$","<{>":"{","<}>":"}"}[y])!=null?z:y}))}var uf=class Tv{constructor(y){Tv._registry[y]=this}static createAtom(y,z,ie){return Tv._registry[y].createAtom(z,gn(z,y),ie)}static serialize(y,z){var ie;if(!y||y.length===0)return"";if((ie=z.skipStyles)!=null&&ie){const le=[];for(const ve of Nf(y)){const be=Tv._registry[ve[0].mode];le.push(...be.serialize(ve,z))}return ju(le)}return ju(Eh(y,z))}static getFont(y,z,ie){return Tv._registry[y].getFont(z,ie)}};uf._registry={};var rd=uf;function Nf(a){const y=[];let z=[],ie="NONE";for(const le of a)le.type!=="first"&&(le.mode!==ie?(z.length>0&&y.push(z),z=[le],ie=le.mode):z.push(le));return z.length>0&&y.push(z),y}function Xc(a,y){const z=[];let ie=[],le;for(const ve of a)if(ve.type!=="first"&&ve.style){let be;y==="variant"?(be=ve.style.variant,ve.style.variantStyle&&ve.style.variantStyle!=="up"&&(be+="-"+ve.style.variantStyle)):be=ve.style[y],be===le?ie.push(ve):(ie.length>0&&z.push(ie),ie=[ve],le=be)}return ie.length>0&&z.push(ie),z}function Df(a,y){var z;const{parent:ie}=a[0],le=ie==null?void 0:ie.computedStyle.color,ve=[];for(const be of Nf(a)){const Ne=y.defaultMode;for(const ze of Xc(be,"color")){const Ge=ze[0].computedStyle,lt=rd._registry[ze[0].mode].serialize(ze,_e(Xe({},y),{defaultMode:Ne==="text"?"text":"math"}));!y.skipStyles&&Ge.color&&Ge.color!=="none"&&(!ie||le!==Ge.color)?ve.push(Ec("\\textcolor",(z=Ge.verbatimColor)!=null?z:Ge.color,ju(lt))):ve.push(ju(lt))}}return ve}function Sh(a,y){const{parent:z}=a[0],ie=z==null?void 0:z.computedStyle.backgroundColor;return Xc(a,"backgroundColor").map(le=>{var ve;if(le.length>0||le[0].type!=="box"){const be=le[0].computedStyle;if(be.backgroundColor&&be.backgroundColor!=="none"&&(!z||ie!==be.backgroundColor))return Ec("\\colorbox",(ve=be.verbatimBackgroundColor)!=null?ve:be.backgroundColor,ju(Df(le,_e(Xe({},y),{defaultMode:"text"}))))}return ju(Df(le,y))})}function Eh(a,y){if(a.length===0)return[];const{parent:z}=a[0],ie=z==null?void 0:z.computedStyle.fontSize,le=[];for(const ve of Xc(a,"fontSize")){const be=ve[0].computedStyle.fontSize,Ne=Sh(ve,y);Ne&&(be&&be!=="auto"&&(!z||ie!==be)?le.push(["","\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"][be],...Ne):le.push(...Ne))}return le}function qf(a){return a?{mord:"ord",mbin:"bin",mop:"op",mrel:"rel",mopen:"open",mclose:"close",mpunct:"punct",minner:"inner",spacing:"ignore",latex:"latex",composition:"inner",error:"inner",placeholder:"ord",supsub:"ignore"}[a]:void 0}function Yd(a){if(a.length===0)return"ord";const y=qf(a[0].type),z=qf(a[a.length-1].type);return y&&y===z?y:"ord"}function Jd(a,y){if(typeof a=="string")return a;if(typeof a=="number"){console.assert(Number.isFinite(a));const z=Math.ceil(100*a)/100;return z===0?"0":z.toString()+(y!=null?y:"")}return""}var oo=class Zm{constructor(y,z){var ie,le,ve,be,Ne;if(typeof y=="number"?this.value=String.fromCodePoint(y):typeof y=="string"?this.value=y:wt(y)?this.children=y.filter(Ge=>Ge!==null):y&&y instanceof Zm&&(this.children=[y]),this.children)for(const Ge of this.children)Ge.parent=this;this.type=(ie=z==null?void 0:z.type)!=null?ie:"ignore",this.isSelected=(z==null?void 0:z.isSelected)===!0,z!=null&&z.caret&&(this.caret=z.caret),this.classes=(le=z==null?void 0:z.classes)!=null?le:"",this.isTight=(ve=z==null?void 0:z.isTight)!=null?ve:!1,z!=null&&z.attributes&&(this.attributes=z.attributes);let ze=z==null?void 0:z.fontFamily;z!=null&&z.style&&this.value&&(ze=(Ne=rd.getFont((be=z.mode)!=null?be:"math",this,_e(Xe({variant:"normal"},z.style),{letterShapeStyle:z.letterShapeStyle})))!=null?Ne:void 0),ze||(ze="Main-Regular"),this._height=0,this._depth=0,this._width=0,this.hasExplicitWidth=!1,this.skew=0,this.italic=0,this.maxFontSize=0,this.scale=1,(z==null?void 0:z.maxFontSize)!==void 0&&(this.maxFontSize=z.maxFontSize),fu(this,ze)}set atomID(y){y===void 0||y.length===0||(this.id=y)}selected(y){if(this.isSelected!==y&&(this.isSelected=y,this.children))for(const z of this.children)z.selected(y)}setStyle(y,z,ie){if(z===void 0)return;const le=Jd(z,ie);le.length>0&&(this.cssProperties||(this.cssProperties={}),this.cssProperties[y]=le)}setTop(y){Number.isFinite(y)&&Math.abs(y)>.01&&(this.cssProperties||(this.cssProperties={}),this.cssProperties.top=Jd(y,"em"),this.height-=y,this.depth+=y)}get left(){var y;return(y=this.cssProperties)!=null&&y["margin-left"]?Number.parseFloat(this.cssProperties["margin-left"]):0}set left(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-left"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-left"]=Jd(y,"em")))}set right(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-right"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-right"]=Jd(y,"em")))}set bottom(y){Number.isFinite(y)&&(y===0?this.cssProperties&&delete this.cssProperties["margin-bottom"]:(this.cssProperties||(this.cssProperties={}),this.cssProperties["margin-bottom"]=Jd(y,"em")))}get width(){return this._width*this.scale}set width(y){this._width=y,this.hasExplicitWidth=!0}set softWidth(y){}get height(){return this._height*this.scale}set height(y){this._height=y}get depth(){return this._depth*this.scale}set depth(y){this._depth=y}wrap(y){const z=y.parent;if(!z)return this;y.isPhantom&&this.setStyle("opacity",0);const ie=y.color;ie&&ie!==z.color&&this.setStyle("color",ie);let le=y.backgroundColor;this.isSelected&&(le=oi(le)),le&&le!==z.backgroundColor&&(this.setStyle("background-color",le),this.setStyle("display","inline-block"));const ve=y.scalingFactor;return this.scale=ve,this.skew*=ve,this.italic*=ve,this}toMarkup(){var y,z,ie,le;let ve=(y=this.value)!=null?y:"";if(this.children)for(const $n of this.children)ve+=$n.toMarkup();let be="";if(this.svgBody)be=yd(this.svgBody);else if(this.svgOverlay){be='',be+=ve,be+="",be+='${this.svgOverlay}`}let Ne="";const ze=this.classes.split(" ");ze.push((ie={latex:"ML__raw-latex",placeholder:"ML__placeholder",error:"ML__error"}[this.type])!=null?ie:""),this.caret==="latex"&&ze.push("ML__latex-caret"),this.isSelected&&ze.push("ML__selected");const Ge=ze.length===1?ze[0]:ze.filter(($n,br,Gi)=>$n.length>0&&Gi.indexOf($n)===br).join(" ");if(Ge.length>0&&(Ne+=` class="${Ge}"`),this.id&&(Ne+=` data-atom-id=${this.id}`),this.cssId&&(Ne+=` id="${this.cssId.replace(/ /g,"-")}" `),this.attributes&&(Ne+=" "+Object.keys(this.attributes).map($n=>`${$n}="${this.attributes[$n]}"`).join(" ")),this.htmlData){const $n=this.htmlData.split(",");for(const br of $n){const Gi=br.match(/([^=]+)=(.+$)/);if(Gi){const zo=Gi[1].trim().replace(/ /g,"-");zo&&(Ne+=` data-${zo}="${Gi[2]}" `)}else{const zo=br.trim().replace(/ /g,"-");zo&&(Ne+=` data-${zo} `)}}}const lt=(le=this.cssProperties)!=null?le:{};this.hasExplicitWidth&<.width===void 0&&(lt.width=`${Math.ceil(this._width*100)/100}em`);const Tt=Object.keys(lt).map($n=>`${$n}:${lt[$n]}`);if(this.scale!==void 0&&this.scale!==1&&(ve.length>0||be.length>0)&&Tt.push(`font-size: ${Math.ceil(this.scale*1e4)/100}%`),this.htmlStyle){const $n=this.htmlStyle.split(";");let br="";for(const Gi of $n){const zo=Gi.match(/([^=]+):(.+$)/);if(zo){const ji=zo[1].trim().replace(/ /g,"-");ji&&(br+=`${ji}:${zo[2]};`)}}br&&(Ne+=` style="${br}"`)}Tt.length>0&&(Ne+=` style="${Tt.join(";")}"`);let An="";return Ne.length>0||be.length>0?An=`${ve}${be}
    `:An=ve,this.caret==="text"?An+='':this.caret==="math"&&(An+=''),An}tryCoalesceWith(y){if(this.svgBody||!this.value||y.svgBody||!y.value)return!1;const z=this.children&&this.children.length>0,ie=y.children&&y.children.length>0;if(z||ie)return!1;if(y.cssProperties||this.cssProperties){for(const ze of["border","border-left","border-right","border-right-width","left","margin","margin-left","margin-right","padding","position","width"])if(y.cssProperties&&ze in y.cssProperties||this.cssProperties&&ze in this.cssProperties)return!1}const le=this.cssProperties?Object.keys(this.cssProperties).length:0,ve=y.cssProperties?Object.keys(y.cssProperties).length:0;if(le!==ve)return!1;if(le>0){for(const ze of Object.keys(this.cssProperties))if(this.cssProperties[ze]!==y.cssProperties[ze])return!1}const be=this.classes.trim().replace(/\s+/g," ").split(" "),Ne=y.classes.trim().replace(/\s+/g," ").split(" ");if(be.length!==Ne.length)return!1;be.sort(),Ne.sort();for(const[ze,Ge]of be.entries())if(Ge==="vertical-separator"||Ge!==Ne[ze])return!1;return this.value+=y.value,this.height=Math.max(this.height,y.height),this.depth=Math.max(this.depth,y.depth),this._width=this._width+y._width,this.maxFontSize=Math.max(this.maxFontSize,y.maxFontSize),this.italic=y.italic,!0}};function Mh(a){if(!a||a.length===0)return[];a[0].children=Mh(a[0].children);const y=[a[0]];for(let z=1;z0){let ie=-1/0,le=-1/0,ve=0;for(const be of a.children)be.height>ie&&(ie=be.height),be.depth>le&&(le=be.depth),ve=Math.max(ve,(z=be.maxFontSize)!=null?z:0);a.height=ie,a.depth=le,a._width=a.children.reduce((be,Ne)=>be+Ne.width,0),a.maxFontSize=ve}}function Ff(a){if("individualShift"in a){const y=a.individualShift;let z=y[0];const ie=[z],le=-z.shift-z.box.depth;let ve=le;for(let be=1;be{br.softWidth=lt});const Tt=new oo(be,{classes:"vlist"});if(Tt.softWidth=lt,Tt.height=ze,Tt.setStyle("height",ze,"em"),Ne>=0)return[[new oo(Tt,{classes:"vlist-r"})],ze,-Ne];const An=new oo(new oo(null),{classes:"vlist"});An.height=-Ne,An.setStyle("height",-Ne,"em");const $n=new oo(8203,{classes:"vlist-s",maxFontSize:0});return $n.softWidth=0,$n.height=0,$n.depth=0,[[new oo([Tt,$n],{classes:"vlist-r"}),new oo(An,{classes:"vlist-r"})],ze,-Ne]}var yc=class extends oo{constructor(a,y){var z;const[ie,le,ve]=Qf(a);super(ie.length===1?ie[0]:ie,{type:y==null?void 0:y.type,classes:((z=y==null?void 0:y.classes)!=null?z:"")+" vlist-t"+(ie.length===2?" vlist-t2":"")}),this.height=le,this.depth=ve,this.softWidth=ie.reduce((be,Ne)=>Math.max(be,Ne.width),0)}};function Ih(a,y){var z,ie,le,ve,be;const Ne=a.metrics,ze=new oo(y.base),Ge=(z=y.baseShift)!=null?z:0,lt=(ie=y.slant)!=null?ie:0;let Tt=0,An=0;y.above&&(Tt=(le=y.aboveShift)!=null?le:Math.max(Ne.bigOpSpacing1,Ne.bigOpSpacing3-y.above.depth)),y.below&&(An=(ve=y.belowShift)!=null?ve:Math.max(Ne.bigOpSpacing2,Ne.bigOpSpacing4-y.below.height));let $n=null;if(y.below&&y.above){const br=Ne.bigOpSpacing5+y.below.height+y.below.depth+An+ze.depth+Ge;$n=new yc({bottom:br,children:[Ne.bigOpSpacing5,{box:y.below,marginLeft:-lt,classes:["ML__center"]},An,{box:ze,classes:["ML__center"]},Tt,{box:y.above,marginLeft:lt,classes:["ML__center"]},Ne.bigOpSpacing5]}).wrap(a)}else if(y.below&&!y.above)$n=new yc({top:ze.height-Ge,children:[Ne.bigOpSpacing5,{box:y.below,marginLeft:-lt,classes:["ML__center"]},An,{box:ze,classes:["ML__center"]}]}).wrap(a);else if(!y.below&&y.above){const br=ze.depth+Ge;$n=new yc({bottom:br,children:[{box:ze,classes:["ML__center"]},Tt,{box:y.above,marginLeft:lt,classes:["ML__center"]},Ne.bigOpSpacing5]}).wrap(a)}else{const br=ze.depth+Ge;$n=new yc({bottom:br,children:[{box:ze},Ne.bigOpSpacing5]}).wrap(a)}return new oo($n,{type:(be=y.type)!=null?be:"op"})}var eh=7,Pd=6,th=5,qd=4,au=3,id=2,xd=1,ad=0,wc=class{constructor(a,y,z){this.id=a,this.sizeDelta=y,this.cramped=z;const ie={"-4":2,"-3":1,0:0}[y];this.metrics=Object.keys(Yu).reduce((le,ve)=>_e(Xe({},le),{[ve]:Yu[ve][ie]}),{})}getFontSize(a){return Math.max(1,a+this.sizeDelta)}get sup(){return fc[[ad,xd,ad,xd,id,au,id,au][this.id]]}get sub(){return fc[[ad,ad,ad,ad,id,id,id,id][this.id]]}get fracNum(){return fc[[ad,xd,ad,xd,id,au,qd,th][this.id]]}get fracDen(){return fc[[ad,ad,ad,ad,id,id,qd,qd][this.id]]}get cramp(){return fc[[ad,ad,id,id,qd,qd,Pd,Pd][this.id]]}get isTight(){return this.sizeDelta<0}},Qu={7:new wc(eh,0,!1),6:new wc(Pd,0,!0),5:new wc(th,0,!1),4:new wc(qd,0,!0),3:new wc(au,-3,!1),2:new wc(id,-3,!0),1:new wc(xd,-4,!1),0:new wc(ad,-4,!0)},fc=_e(Xe({},Qu),{displaystyle:Qu[eh],textstyle:Qu[th],scriptstyle:Qu[au],scriptscriptstyle:Qu[xd]});function hd(a,y){var z;if(!a)return 0;const ie={pt:1,mm:7227/2540,cm:7227/254,ex:35271/8192,px:3/4,em:As,bp:803/800,dd:1238/1157,pc:12,in:72.27,mu:10/18}[(z=a.unit)!=null?z:"pt"];if(Number.isFinite(y)){const le=lp(10,y);return Math.round(a.dimension/As*ie*le)/le}return a.dimension*ie}function Fd(a,y){if(a===null)return 0;const z=hd(a)/As;if(Number.isFinite(y)){const ie=lp(10,y);return Math.round(z*ie)/ie}return z}function Vd(a){var y;return`${a.dimension}${(y=a.unit)!=null?y:"pt"}`}function hh(a){let y=Vd(a.glue);return a.grow&&a.grow.dimension!==0&&(y+=` plus ${Vd(a.grow)}`),a.shrink&&a.shrink.dimension!==0&&(y+=` minus ${Vd(a.shrink)}`),y}function Vc(a){var y,z;if(a==null)return null;let ie="";if("dimension"in a&&(ie=`${a.dimension}${(y=a.unit)!=null?y:"pt"}`),"glue"in a&&(ie=hh(a)),"number"in a)if(!("base"in a)||a.base==="decimal")ie=Number(a.number).toString();else if(a.base==="alpha")ie=`\`${String.fromCodePoint(a.number)}`;else{const le=Math.round(a.number)>>>0;a.base==="hexadecimal"?(ie=Number(le).toString(16).toUpperCase(),le<=255?ie=ie.padStart(2,"0"):le<=65535?ie=ie.padStart(4,"0"):le<=16777215?ie=ie.padStart(6,"0"):ie=ie.padStart(8,"0"),ie=`"${ie}`):a.base==="octal"&&(ie=Number(le).toString(8),le<=63?ie=ie.padStart(2,"0"):le<=30583?ie=ie.padStart(4,"0"):ie=ie.padStart(8,"0"),ie=`'${ie}`)}return"register"in a&&("factor"in a&&(a.factor===-1?ie="-":a.factor!==1&&(ie=Number(a.factor).toString())),"global"in a&&a.global&&(ie+="\\global"),ie+=`\\${a.register}`),"string"in a&&(ie=a.string),(z=a.relax)!=null&&z&&(ie+="\\relax"),ie}function Qd(a,y){return a==null?null:"number"in a?_e(Xe({},a),{number:a.number*y}):"register"in a?"factor"in a&&a.factor?_e(Xe({},a),{factor:a.factor*y}):_e(Xe({},a),{factor:y}):"dimension"in a?_e(Xe({},a),{dimension:a.dimension*y}):"glue"in a?a.shrink&&a.grow?{glue:Qd(a.glue,y),shrink:Qd(a.shrink,y),grow:Qd(a.grow,y)}:a.shrink?{glue:Qd(a.glue,y),shrink:Qd(a.shrink,y)}:a.grow?{glue:Qd(a.glue,y),grow:Qd(a.grow,y)}:{glue:Qd(a.glue,y)}:null}var Oh={"p@":{dimension:1},"z@":{dimension:0},maxdimen:{dimension:16383.99999},hfuzz:{dimension:.1},vfuzz:{dimension:.1},overfullrule:{dimension:5},hsize:{dimension:6.5,unit:"in"},vsize:{dimension:8.9,unit:"in"},parindent:{dimension:20},maxdepth:{dimension:4},splitmaxdepth:{register:"maxdimen"},boxmaxdepth:{register:"maxdimen"},delimitershortfall:{dimension:5},nulldelimiterspace:{dimension:1.2,unit:"pt"},scriptspace:{dimension:.5},topskip:{dimension:10},splittopskip:{dimension:10},normalbaselineskip:{dimension:12},normallineskip:{dimension:1},normallineskiplimit:{dimension:0},jot:{dimension:3},doublerulesep:{dimension:2},arrayrulewidth:{dimension:.4},arraycolsep:{dimension:5},fboxsep:{dimension:3},fboxrule:{dimension:.4},"z@skip":{glue:{dimension:0},shrink:{dimension:0},grow:{dimension:0}},hideskip:{glue:{dimension:-1e3},grow:{dimension:1,unit:"fill"}},"@flushglue":{glue:{dimension:0},grow:{dimension:1,unit:"fill"}},parskip:{glue:{dimension:0},grow:{dimension:1}},abovedisplayskip:{glue:{dimension:12},grow:{dimension:3},shrink:{dimension:9}},abovedisplayshortskip:{glue:{dimension:0},grow:{dimension:3}},belowdisplayskip:{glue:{dimension:12},grow:{dimension:3},shrink:{dimension:9}},belowdisplayshortskip:{glue:{dimension:7},grow:{dimension:3},shrink:{dimension:4}},parfillskip:{glue:{dimension:0},grow:{dimension:1,unit:"fil"}},thinmuskip:{glue:{dimension:3,unit:"mu"}},medmuskip:{glue:{dimension:4,unit:"mu"},grow:{dimension:2,unit:"mu"},shrink:{dimension:4,unit:"mu"}},thickmuskip:{glue:{dimension:5,unit:"mu"},grow:{dimension:5,unit:"mu"}},smallskipamount:{glue:{dimension:3},grow:{dimension:1},shrink:{dimension:1}},medskipamount:{glue:{dimension:6},grow:{dimension:2},shrink:{dimension:3}},bigskipamount:{glue:{dimension:12},grow:{dimension:2},shrink:{dimension:4}},pretolerance:100,tolerance:200,hbadness:1e3,vbadness:1e3,linepenalty:10,hyphenpenalty:50,exhyphenpenalty:50,binoppenalty:700,relpenalty:500,clubpenalty:150,widowpenalty:150,displaywidowpenalty:50,brokenpenalty:100,predisplaypenalty:1e4,doublehyphendemerits:1e4,finalhyphendemerits:5e3,adjdemerits:1e4,tracinglostchars:1,uchyph:1,delimiterfactor:901,defaulthyphenchar:"\\-",defaultskewchar:-1,newlinechar:-1,showboxbreadth:5,showboxdepth:3,errorcontextlines:5,interdisplaylinepenalty:100,interfootnotelinepenalty:100,baselineSkip:1.2,arraystretch:1,month:new Date().getMonth()+1,day:new Date().getDate(),year:new Date().getFullYear()};function cf(){return Xe({},Oh)}function Wf(){return{registers:cf(),smartFence:!1,renderPlaceholder:void 0,placeholderSymbol:"\u25A2",letterShapeStyle:$t.locale.startsWith("fr")?"french":"tex",minFontScale:0,colorMap:pn,backgroundColorMap:et,getMacro:a=>gr(a,Ii())}}var uc=class Xm{constructor(y,z){var ie,le,ve,be,Ne,ze,Ge,lt,Tt,An,$n,br,Gi,zo,ji;let Za;y!=null&&y.parent?(this.parent=y.parent,Za=y.parent,this.registers={}):(Za=Xe(Xe({},Wf()),(ie=y==null?void 0:y.from)!=null?ie:{}),this.registers=Za.registers),Za.atomIdsSettings&&(this.atomIdsSettings=Xe({},Za.atomIdsSettings)),this.renderPlaceholder=Za.renderPlaceholder,this.isPhantom=(be=(ve=y==null?void 0:y.isPhantom)!=null?ve:(le=this.parent)==null?void 0:le.isPhantom)!=null?be:!1,this.letterShapeStyle=Za.letterShapeStyle,this.minFontScale=Za.minFontScale,z!=null&&z.color&&z.color!=="none"?this.color=z.color:this.color=(ze=(Ne=this.parent)==null?void 0:Ne.color)!=null?ze:"",z!=null&&z.backgroundColor&&z.backgroundColor!=="none"?this.backgroundColor=z.backgroundColor:this.backgroundColor=(lt=(Ge=this.parent)==null?void 0:Ge.backgroundColor)!=null?lt:"",z!=null&&z.fontSize&&z.fontSize!=="auto"&&z.fontSize!==((Tt=this.parent)==null?void 0:Tt.size)?this.size=z.fontSize:this.size=($n=(An=this.parent)==null?void 0:An.size)!=null?$n:_u;let qo=(Gi=(br=this.parent)==null?void 0:br.mathstyle)!=null?Gi:fc.displaystyle;if(typeof(y==null?void 0:y.mathstyle)=="string"){if(Za instanceof Xm)switch(y.mathstyle){case"cramp":qo=qo.cramp;break;case"superscript":qo=qo.sup;break;case"subscript":qo=qo.sub;break;case"numerator":qo=qo.fracNum;break;case"denominator":qo=qo.fracDen;break}switch(y.mathstyle){case"textstyle":qo=fc.textstyle;break;case"displaystyle":qo=fc.displaystyle;break;case"scriptstyle":qo=fc.scriptstyle;break;case"scriptscriptstyle":qo=fc.scriptscriptstyle;break;case"":case"auto":break}}this.mathstyle=qo,this.smartFence=Za.smartFence,this.placeholderSymbol=Za.placeholderSymbol,this.colorMap=(zo=Za.colorMap)!=null?zo:io=>io,this.backgroundColorMap=(ji=Za.backgroundColorMap)!=null?ji:io=>io,this.getMacro=Za.getMacro,console.assert(this.parent!==void 0||this.registers!==void 0)}makeID(){if(!this.atomIdsSettings)return;if(this.atomIdsSettings.overrideID)return this.atomIdsSettings.overrideID;if(typeof this.atomIdsSettings.seed!="number")return`${Date.now().toString(36).slice(-2)}${Math.floor(Math.random()*1e5).toString(36)}`;const y=this.atomIdsSettings.seed.toString(36);return this.atomIdsSettings.seed+=1,y}scale(y){return y*this.effectiveFontSize}get scalingFactor(){return this.parent?this.effectiveFontSize/this.parent.effectiveFontSize:1}get isDisplayStyle(){return this.mathstyle.id===eh||this.mathstyle.id===Pd}get isCramped(){return this.mathstyle.cramped}get isTight(){return this.mathstyle.isTight}get metrics(){return this.mathstyle.metrics}get effectiveFontSize(){return Math.max(sc[Math.max(1,this.size+this.mathstyle.sizeDelta)],this.minFontScale)}getRegister(y){var z;if((z=this.registers)!=null&&z[y])return this.registers[y];if(this.parent)return this.parent.getRegister(y)}getRegisterAsNumber(y){const z=this.getRegister(y);if(typeof z=="number")return z;if(typeof z=="string")return Number(z)}getRegisterAsGlue(y){var z;if((z=this.registers)!=null&&z[y]){const ie=this.registers[y];return typeof ie=="object"&&"glue"in ie?ie:typeof ie=="object"&&"dimension"in ie?{glue:{dimension:ie.dimension}}:typeof ie=="number"?{glue:{dimension:ie}}:void 0}if(this.parent)return this.parent.getRegisterAsGlue(y)}getRegisterAsEm(y,z){return Fd(this.getRegisterAsDimension(y),z)}getRegisterAsDimension(y){var z;if((z=this.registers)!=null&&z[y]){const ie=this.registers[y];return typeof ie=="object"&&"glue"in ie?ie.glue:typeof ie=="object"&&"dimension"in ie?ie:typeof ie=="number"?{dimension:ie}:void 0}if(this.parent)return this.parent.getRegisterAsDimension(y)}setRegister(y,z){if(z===void 0){delete this.registers[y];return}this.registers[y]=z}evaluate(y){if(!y||!("register"in y))return y;let z=this;if("global"in y&&y.global)for(;z.parent;)z=z.parent;let ie=1;"factor"in y&&y.factor!==1&&y.factor!==void 0&&(ie=y.factor);const le=z.getRegister(y.register);if(le===void 0)return;if(typeof le=="string")return{string:Number(le).toString()+le};if(typeof le=="number")return{number:ie*le};const ve=z.evaluate(le);if(ve!==void 0)return"string"in ve?{string:Number(le).toString()+ve.string}:"number"in ve?{number:ie*ve.number}:"dimension"in ve?_e(Xe({},ve),{dimension:ie*ve.dimension}):"glue"in ve?_e(Xe({},ve),{glue:_e(Xe({},ve.glue),{dimension:ie*ve.glue.dimension}),shrink:ve.shrink?_e(Xe({},ve.shrink),{dimension:ie*ve.shrink.dimension}):void 0,grow:ve.grow?_e(Xe({},ve.grow),{dimension:ie*ve.grow.dimension}):void 0}):y}toDimension(y){const z=this.evaluate(y);return z===void 0?null:"dimension"in z?z:"glue"in z?z.glue:"number"in z?{dimension:z.number}:null}toEm(y,z){if(y===null)return 0;const ie=this.toDimension(y);return ie===null?0:hd(ie,z)/As}toNumber(y){if(y===null)return null;const z=this.evaluate(y);return z===void 0?null:"number"in z?z.number:"dimension"in z?z.dimension:"glue"in z?z.glue.dimension:"string"in z?Number(z.string):null}toColor(y){var z,ie;if(y===null)return null;const le=this.evaluate(y);return le===void 0?null:"string"in le?(ie=(z=this.colorMap)==null?void 0:z.call(this,le.string))!=null?ie:le.string:null}toBackgroundColor(y){var z,ie;if(y===null)return null;const le=this.evaluate(y);return le===void 0?null:"string"in le?(ie=(z=this.backgroundColorMap)==null?void 0:z.call(this,le.string))!=null?ie:le.string:null}},Ja=["body","above","below","superscript","subscript"];function Sd(a){return typeof a=="string"&&Ja.includes(a)}function Nh(a){return a!==void 0&&Array.isArray(a)&&a.length===2}var ga=class Fp{constructor(y){var z,ie,le,ve,be,Ne;this.type=y.type,typeof y.value=="string"&&(this.value=y.value),this.command=(ie=(z=y.command)!=null?z:this.value)!=null?ie:"",this.mode=(le=y.mode)!=null?le:"math",y.isFunction&&(this.isFunction=!0),y.limits&&(this.subsupPlacement=y.limits),this.style=Xe({},y.style),this.displayContainsHighlight=(ve=y.displayContainsHighlight)!=null?ve:!1,this.captureSelection=(be=y.captureSelection)!=null?be:!1,this.skipBoundary=(Ne=y.skipBoundary)!=null?Ne:!1,y.verbatimLatex!==void 0&&y.verbatimLatex!==null&&(this.verbatimLatex=y.verbatimLatex),y.args&&(this.args=y.args),y.body&&(this.body=y.body),this._changeCounter=0}static createBox(y,z,ie){var le;if(!z)return null;const ve=ph(z),be=[];for(const ze of ve){const Ge=ze[0].style,lt=Kf(y,ze,{style:{color:Ge.color,backgroundColor:Ge.backgroundColor,fontSize:Ge.fontSize}});lt&&be.push(lt)}if(be.length===0)return null;const Ne=((le=ie==null?void 0:ie.classes)!=null?le:"").trim();return be.length===1&&!Ne&&!(ie!=null&&ie.type)?be[0].wrap(y):new oo(be,{classes:Ne,type:ie==null?void 0:ie.type}).wrap(y)}static serialize(y,z){return rd.serialize(y,z)}static commonAncestor(y,z){if(y===z||y.parent===z.parent)return y.parent;const ie=new WeakSet;let{parent:le}=y;for(;le;)ie.add(le),le=le.parent;for(le=z.parent;le;){if(ie.has(le))return le;le=le.parent}console.assert(!!le)}static fromJson(y){return typeof y=="string"?new Fp({type:"mord",value:y,mode:"math"}):new Fp(y)}get latexMode(){return this.mode==="math"?"math":"text"}toJson(){const y={};if(this.type&&(y.type=this.type),this.mode!=="math"&&(y.mode=this.mode),this.command&&this.command!==this.value&&(y.command=this.command),this.value!==void 0&&(y.value=this.value),this.style&&Object.keys(this.style).length>0&&(y.style=Xe({},this.style)),this.verbatimLatex!==void 0&&(y.verbatimLatex=this.verbatimLatex),this.subsupPlacement&&(y.subsupPlacement=this.subsupPlacement),this.explicitSubsupPlacement&&(y.explicitSubsupPlacement=!0),this.isFunction&&(y.isFunction=!0),this.displayContainsHighlight&&(y.displayContainsHighlight=!0),this.isExtensibleSymbol&&(y.isExtensibleSymbol=!0),this.skipBoundary&&(y.skipBoundary=!0),this.captureSelection&&(y.captureSelection=!0),this.args&&(y.args=Xh(this.args)),this._branches)for(const z of Object.keys(this._branches))this._branches[z]&&(y[z]=this._branches[z].filter(ie=>ie.type!=="first").map(ie=>ie.toJson()));return y.type==="mord"&&Object.keys(y).length===2&&"value"in y?y.value:y}get changeCounter(){return this.parent?this.parent.changeCounter:this._changeCounter}set isDirty(y){if(y){this.parent||this._changeCounter++,"verbatimLatex"in this&&(this.verbatimLatex=void 0),this._children=void 0;let{parent:z}=this;for(;z;)z.parent||z._changeCounter++,"verbatimLatex"in z&&(z.verbatimLatex=void 0),z._children=void 0,z=z.parent}}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);return z!=null&&z.serialize?z.serialize(this,y):this.body&&this.command?ju([Ec(this.command,this.bodyToLatex(y)),this.supsubToLatex(y)]):this.body?ju([this.bodyToLatex(y),this.supsubToLatex(y)]):!this.value||this.value==="\u200B"?"":this.command}bodyToLatex(y){var z;return rd.serialize(this.body,_e(Xe({},y),{defaultMode:(z=y.defaultMode)!=null?z:this.latexMode}))}aboveToLatex(y){return rd.serialize(this.above,y)}belowToLatex(y){return rd.serialize(this.below,y)}supsubToLatex(y){let z="";if(y=_e(Xe({},y),{defaultMode:"math"}),this.branch("subscript")!==void 0){const ie=rd.serialize(this.subscript,y);ie.length===0?z+="_{}":ie.length===1?/^[0-9]$/.test(ie)?z+=`_${ie}`:z+=`_{${ie}}`:z+=`_{${ie}}`}if(this.branch("superscript")!==void 0){const ie=rd.serialize(this.superscript,y);ie.length===0?z+="^{}":ie.length===1?ie==="\u2032"?z+="^\\prime ":ie==="\u2033"?z+="^\\doubleprime ":/^[0-9]$/.test(ie)?z+=`^${ie}`:z+=`^{${ie}}`:z+=`^{${ie}}`}return z}get treeDepth(){let y=1,z=this.parent;for(;z;)z=z.parent,y+=1;return y}get inCaptureSelection(){let y=this;for(;y;){if(y.captureSelection)return!0;y=y.parent}return!1}get parentPrompt(){let y=this.parent;for(;y;){if(y.type==="prompt"&&!y.captureSelection)return y;y=y.parent}return null}branch(y){if(Sd(y)&&this._branches)return this._branches[y]}get branches(){if(!this._branches)return[];const y=[];for(const z of Ja)this._branches[z]&&y.push(z);return y}createBranch(y){return console.assert(Sd(y)),Sd(y)?(this._branches?this._branches[y]||(this._branches[y]=[this.makeFirstAtom(y)]):this._branches={[y]:[this.makeFirstAtom(y)]},this.isDirty=!0,this._branches[y]):[]}get row(){return Nh(this.parentBranch)?this.parentBranch[0]:-1}get col(){return Nh(this.parentBranch)?this.parentBranch[1]:-1}get body(){var y;return(y=this._branches)==null?void 0:y.body}set body(y){this.setChildren(y,"body")}get superscript(){var y;return(y=this._branches)==null?void 0:y.superscript}set superscript(y){this.setChildren(y,"superscript")}get subscript(){var y;return(y=this._branches)==null?void 0:y.subscript}set subscript(y){this.setChildren(y,"subscript")}get above(){var y;return(y=this._branches)==null?void 0:y.above}set above(y){this.setChildren(y,"above")}get below(){var y;return(y=this._branches)==null?void 0:y.below}set below(y){this.setChildren(y,"below")}get computedStyle(){var y,z;const ie=typeof this.style.verbatimColor=="string",le=typeof this.style.verbatimBackgroundColor=="string",ve=Xe(Xe({},(z=(y=this.parent)==null?void 0:y.computedStyle)!=null?z:{}),this.style);return delete ve.variant,delete ve.variantStyle,le||delete ve.verbatimBackgroundColor,ie||delete ve.verbatimColor,ve}applyStyle(y){this.isDirty=!0,this.style=Xe(Xe({},this.style),y),this.style.fontFamily==="none"&&delete this.style.fontFamily,this.style.fontShape==="auto"&&delete this.style.fontShape,this.style.fontSeries==="auto"&&delete this.style.fontSeries,this.style.color==="none"&&(delete this.style.color,delete this.style.verbatimColor),this.style.backgroundColor==="none"&&(delete this.style.backgroundColor,delete this.style.verbatimBackgroundColor),this.style.fontSize==="auto"&&delete this.style.fontSize;for(const z of this.children)z.applyStyle(y)}getInitialBaseElement(){var y,z,ie;return this.hasEmptyBranch("body")?this:(console.assert(((y=this.body)==null?void 0:y[0].type)==="first"),(ie=(z=this.body[1])==null?void 0:z.getInitialBaseElement())!=null?ie:this)}getFinalBaseElement(){return this.hasEmptyBranch("body")?this:this.body[this.body.length-1].getFinalBaseElement()}isCharacterBox(){return this.type==="leftright"||this.type==="genfrac"||this.type==="subsup"||this.type==="delim"||this.type==="array"||this.type==="surd"?!1:this.getFinalBaseElement().type==="mord"}hasEmptyBranch(y){const z=this.branch(y);return z?(console.assert(z.length>0),console.assert(z[0].type==="first"),z.length===1):!0}setChildren(y,z){var ie;if(!y||(console.assert(Sd(z)),!Sd(z)))return;console.assert(((ie=y[0])==null?void 0:ie.type)!=="first");const le=[this.makeFirstAtom(z),...y];this._branches?this._branches[z]=le:this._branches={[z]:le};for(const ve of y)ve.parent=this,ve.parentBranch=z;this.isDirty=!0}makeFirstAtom(y){const z=new Fp({type:"first",mode:this.mode});return z.parent=this,z.parentBranch=y,z}addChild(y,z){console.assert(y.type!=="first"),this.createBranch(z).push(y),this.isDirty=!0,y.parent=this,y.parentBranch=z}addChildBefore(y,z){console.assert(z.parentBranch!==void 0);const ie=this.createBranch(z.parentBranch);ie.splice(ie.indexOf(z),0,y),this.isDirty=!0,y.parent=this,y.parentBranch=z.parentBranch}addChildAfter(y,z){console.assert(z.parentBranch!==void 0);const ie=this.createBranch(z.parentBranch);ie.splice(ie.indexOf(z)+1,0,y),this.isDirty=!0,y.parent=this,y.parentBranch=z.parentBranch}addChildren(y,z){const ie=this.createBranch(z);for(const le of y)le.parent=this,le.parentBranch=z,ie.push(le);this.isDirty=!0}addChildrenAfter(y,z){console.assert(y.length===0||y[0].type!=="first"),console.assert(z.parentBranch!==void 0);const ie=this.createBranch(z.parentBranch);ie.splice(ie.indexOf(z)+1,0,...y),this.isDirty=!0;for(const le of y)le.parent=this,le.parentBranch=z.parentBranch;return y[y.length-1]}removeBranch(y){const z=this.branch(y);if(Sd(y)&&(this._branches[y]=void 0),!z)return[];for(const ie of z)ie.parent=void 0,ie.parentBranch=void 0;return console.assert(z[0].type==="first"),z.shift(),this.isDirty=!0,z}removeChild(y){if(console.assert(y.parent===this),y.type==="first")return;const z=this.branch(y.parentBranch),ie=z.indexOf(y);console.assert(ie>=0),z.splice(ie,1),this.isDirty=!0,y.parent=void 0,y.parentBranch=void 0}get siblings(){return this.parent?this.parent.branch(this.parentBranch):[]}get firstSibling(){return this.siblings[0]}get lastSibling(){const{siblings:y}=this;return y[y.length-1]}get isFirstSibling(){return this===this.firstSibling}get isLastSibling(){return this===this.lastSibling}get hasNoSiblings(){return this.siblings.length===1}get leftSibling(){console.assert(this.parent!==void 0);const y=this.parent.branch(this.parentBranch);return y[y.indexOf(this)-1]}get rightSibling(){console.assert(this.parent!==void 0);const y=this.parent.branch(this.parentBranch);return y[y.indexOf(this)+1]}get hasChildren(){return!!(this._branches&&this.children.length>0)}get firstChild(){return console.assert(this.hasChildren),this.children[0]}get lastChild(){console.assert(this.hasChildren);const{children:y}=this;return y[y.length-1]}get children(){if(this._children)return this._children;if(!this._branches)return[];const y=[];for(const z of Ja)if(this._branches[z])for(const ie of this._branches[z])y.push(...ie.children),y.push(ie);return this._children=y,y}render(y){if(this.type==="first"&&!y.atomIdsSettings)return null;const z=gn(this.command,this.mode);if(z!=null&&z.render)return z.render(this,y);const ie=new uc({parent:y},this.style);let le=this.createBox(ie,{classes:this.parent?"":"ML__base"});return le?(!this.subsupPlacement&&(this.superscript||this.subscript)&&(le=this.attachSupsub(ie,{base:le})),le.wrap(ie)):null}attachSupsub(y,z){var ie;const le=z.base,ve=this.superscript,be=this.subscript;if(!ve&&!be)return le;let Ne=null,ze=null;const Ge=(ie=z.isCharacterBox)!=null?ie:this.isCharacterBox();let lt=0;if(ve){const Gi=new uc({parent:y,mathstyle:"superscript"});Ne=Fp.createBox(Gi,ve),Ge||(lt=le.height-y.metrics.supDrop*Gi.scalingFactor)}let Tt=0;if(be){const Gi=new uc({parent:y,mathstyle:"subscript"});ze=Fp.createBox(Gi,be),Ge||(Tt=le.depth+y.metrics.subDrop*Gi.scalingFactor)}let An;y.isDisplayStyle?An=y.metrics.sup1:y.isCramped?An=y.metrics.sup3:An=y.metrics.sup2;const $n=.5/As/y.scalingFactor;let br=null;if(ze&&Ne){lt=Math.max(lt,An,Ne.depth+.25*y.metrics.xHeight),Tt=Math.max(Tt,y.metrics.sub2);const Gi=y.metrics.defaultRuleThickness;if(lt-Ne.depth-(ze.height-Tt)<4*Gi){Tt=4*Gi-(lt-Ne.depth)+ze.height;const ji=.8*y.metrics.xHeight-(lt-Ne.depth);ji>0&&(lt+=ji,Tt-=ji)}const zo=this.isExtensibleSymbol&&le.italic?-le.italic:0;br=new yc({individualShift:[{box:ze,shift:Tt,marginLeft:zo},{box:Ne,shift:-lt}]}).wrap(y)}else ze&&!Ne?(Tt=Math.max(Tt,y.metrics.sub1,ze.height-.8*du),br=new yc({shift:Tt,children:[{box:ze,marginRight:$n,marginLeft:this.isCharacterBox()?-le.italic:0}]})):!ze&&Ne&&(lt=Math.max(lt,An,Ne.depth+.25*du),br=new yc({shift:-lt,children:[{box:Ne,marginRight:$n}]}));return new oo([le,new oo(br,{caret:this.caret,isSelected:this.isSelected,classes:"msubsup"})],{type:z.type})}attachLimits(y,z){const ie=this.superscript?Fp.createBox(new uc({parent:y,mathstyle:"superscript"},this.style),this.superscript):null,le=this.subscript?Fp.createBox(new uc({parent:y,mathstyle:"subscript"},this.style),this.subscript):null;return!ie&&!le?z.base.wrap(y):Ih(y,_e(Xe({},z),{above:ie,below:le}))}bind(y,z){if(!z||y.isPhantom||this.value==="\u200B")return z;let ie=this.parent;for(;ie&&!ie.captureSelection;)ie=ie.parent;return ie!=null&&ie.captureSelection||(this.id||(this.id=y.makeID()),z.atomID=this.id),z}createBox(y,z){var ie,le,ve,be;const Ne=(ie=this.value)!=null?ie:this.body,ze=(le=z==null?void 0:z.boxType)!=null?le:qf(this.type);let Ge=(ve=z==null?void 0:z.classes)!=null?ve:"";this.mode==="text"&&(Ge+=" ML__text");const lt=typeof Ne=="string"||Ne===void 0?new oo(Ne!=null?Ne:null,{type:ze,isSelected:this.isSelected,mode:this.mode,maxFontSize:y.scalingFactor,style:_e(Xe({variant:"normal"},this.style),{fontSize:Math.max(1,y.size+y.mathstyle.sizeDelta)}),letterShapeStyle:y.letterShapeStyle,classes:Ge}):(be=Fp.createBox(y,Ne,{type:ze,classes:Ge}))!=null?be:new oo(null);return y.isTight&&(lt.isTight=!0),(this.mode!=="math"||this.style.variant==="main")&&(lt.italic=0),lt.right=lt.italic,this.bind(y,lt),this.caret&&!this.superscript&&!this.subscript&&(lt.caret=this.caret),lt}isDigit(){var y;return this.type==="mord"&&this.value?/^[\d,\.]$/.test(this.value):this.type==="group"&&((y=this.body)==null?void 0:y.length)===2?this.body[0].type==="first"&&this.body[1].value===",":!1}asDigit(){var y;return this.type==="mord"&&this.value&&/^[\d,\.]$/.test(this.value)?this.value:this.type==="group"&&((y=this.body)==null?void 0:y.length)===2&&this.body[0].type==="first"&&this.body[1].value===","?".":""}};function ph(a){let y;const z=[];let ie=[];for(const le of a)if(!y&&!le.style)ie.push(le);else{const ve=le.computedStyle;y&&ve.color===y.color&&ve.backgroundColor===y.backgroundColor&&ve.fontSize===y.fontSize?ie.push(le):(ie.length>0&&z.push(ie),ie=[le],y=ve)}return ie.length>0&&z.push(ie),z}function Kf(a,y,z){var ie,le,ve,be,Ne;if(!y||y.length===0)return null;const ze=new uc({parent:a},z.style),Ge=!((ie=ze.atomIdsSettings)!=null&&ie.groupNumbers);let lt=[];if(y.length===1){const An=y[0],$n=An.render(ze);$n&&(Ge&&An.isSelected&&$n.selected(!0),lt=[$n])}else{let An="",$n=!0;for(const br of y){(le=ze.atomIdsSettings)!=null&&le.groupNumbers&&An&&($n&&br.isDigit()||!$n&&Zh(br))&&(ze.atomIdsSettings.overrideID=An);const Gi=br.render(ze);ze.atomIdsSettings&&(ze.atomIdsSettings.overrideID=void 0),Gi&&((ve=ze.atomIdsSettings)!=null&&ve.groupNumbers&&((br.isDigit()||Zh(br))&&(!An||$n!==br.isDigit())&&($n=br.isDigit(),An=(be=br.id)!=null?be:""),An&&(!(br.isDigit()||Zh(br))||!br.hasEmptyBranch("superscript")||!br.hasEmptyBranch("subscript"))&&(An="")),Ge&&br.isSelected&&Gi.selected(!0),lt.push(Gi))}}if(lt.length===0)return null;const Tt=new oo(lt,_e(Xe({isTight:ze.isTight},z),{type:(Ne=z.type)!=null?Ne:"lift"}));return Tt.isSelected=lt.every(An=>An.isSelected),Tt.wrap(ze)}function Zh(a){return a.mode==="text"}function Xh(a){return a.map(y=>y===null?"":Array.isArray(y)&&y[0]instanceof ga?{atoms:y.map(z=>z.toJson())}:typeof y=="object"&&"group"in y?{group:y.group.map(z=>z.toJson())}:y)}var Wd=class Vm extends ga{constructor(y,z,ie){super({type:"text",command:y,mode:"text",displayContainsHighlight:!0}),this.value=z,this.verbatimLatex=z,this.applyStyle(ie)}static fromJson(y){return new Vm(y.command,y.value,y.style)}render(y){const z=this.createBox(y);return this.caret&&(z.caret=this.caret),z}_serialize(y){var z;return(z=this.verbatimLatex)!=null?z:mr("text",this.value.codePointAt(0))}};function gh(a,y){if(a.direction===y.direction){const z=a.ranges.length;if(y.ranges.length===z){let ie=0;for(;ie=":"\\ge","\u2264":"\\le","<=":"\\le","<<":"\\ll",">>":"\\gg","~~":"\\approx","\u2248":"\\approx","?=":"\\questeq","\xF7":"\\div","\xAC":"\\neg",":=":"\\coloneq","::":"\\Colon","(:":"\\langle",":)":"\\rangle",beta:"\\beta",chi:"\\chi",epsilon:"\\epsilon",varepsilon:"\\varepsilon",eta:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\eta"},gamma:"\\gamma",Gamma:"\\Gamma",iota:"\\iota",kappa:"\\kappa",lambda:"\\lambda",Lambda:"\\Lambda",mu:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\mu"},nu:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\nu"},\u00B5:"\\mu",phi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\phi"},Phi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Phi"},varphi:"\\varphi",psi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\psi"},Psi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Psi"},rho:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\rho"},sigma:"\\sigma",Sigma:"\\Sigma",tau:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\tau"},vartheta:"\\vartheta",upsilon:"\\upsilon",xi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space",value:"\\xi"},Xi:{after:"nothing+digit+function+frac+surd+binop+relop+punct+array+openfence+closefence+space+text",value:"\\Xi"},zeta:"\\zeta",omega:"\\omega",Omega:"\\Omega",\u03A9:"\\omega",forall:"\\forall",exists:"\\exists","!exists":"\\nexists",":.":"\\therefore",liminf:"\\liminf_{#?}",limsup:"\\limsup_{#?}",argmin:"\\operatorname*{arg~min}_{#?}",argmax:"\\operatorname*{arg~max}_{#?}",det:"\\det",mod:"\\bmod{#?}","(mod":"\\pmod{#?}",max:"\\max",min:"\\min",erf:"\\operatorname{erf}",erfc:"\\operatorname{erfc}",bessel:"\\operatorname{bessel}",mean:"\\operatorname{mean}",median:"\\operatorname{median}",fft:"\\operatorname{fft}",lcm:"\\operatorname{lcm}",gcd:"\\operatorname{gcd}",randomReal:"\\operatorname{randomReal}",randomInteger:"\\operatorname{randomInteger}",Re:"\\operatorname{Re}",Im:"\\operatorname{Im}",mm:{after:"nothing+digit+operator",value:"\\operatorname{mm}"},cm:{after:"nothing+digit+operator",value:"\\operatorname{cm}"},km:{after:"nothing+digit+operator",value:"\\operatorname{km}"},kg:{after:"nothing+digit+operator",value:"\\operatorname{kg}"},"...":"\\ldots","+...":"+\\cdots","-...":"-\\cdots","->...":"\\to\\cdots","-->...":"\\longrightarrow\\cdots","->":"\\to","|->":"\\mapsto","-->":"\\longrightarrow","<--":"\\longleftarrow","=>":"\\Rightarrow","==>":"\\Longrightarrow","<=>":"\\Leftrightarrow","<->":"\\leftrightarrow","(.)":"\\odot","(+)":"\\oplus","(/)":"\\oslash","(*)":"\\otimes","(-)":"\\ominus","||":"\\Vert","*":"\\cdot","**":"\\star","***":"\\ast","//":"\\slash","\\\\":"\\backslash",setminus:"\\backslash","|><":"\\ltimes","><|":"\\rtimes","|><|":"\\bowtie","-:":"\\div",divide:"\\div","@":"\\circ","^^":"\\wedge","^^^":"\\bigwedge",vv:"\\vee",vvv:"\\bigvee",nn:"\\cap",nnn:"\\bigcap",uu:"\\cup",uuu:"\\bigcup","-=":"\\equiv","~=":"\\cong",lt:"<","lt=":"\\leq",gt:">","gt=":"\\geq","-<":"\\prec","-lt":"\\prec","-<=":"\\preceq",">-=":"\\succeq",prop:"\\propto",diamond:"\\diamond",square:"\\square",iff:"\\iff",sub:"\\subset",sup:"\\supset",sube:"\\subseteq",supe:"\\supseteq",uarr:"\\uparrow",darr:"\\downarrow",rarr:"\\rightarrow",rArr:"\\Rightarrow",larr:"\\leftarrow",lArr:"\\Leftarrow",harr:"\\leftrightarrow",hArr:"\\Leftrightarrow",aleph:"\\aleph",and:"\\land",or:"\\lor",not:"\\neg","_|_":"\\bot",TT:"\\top","|--":"\\vdash","|==":"\\models","|__":"\\lfloor","__|":"\\rfloor","|~":"\\lceil","~|":"\\rceil",">->":"\\rightarrowtail","->>":"\\twoheadrightarrow",">->>":"\\twoheadrightarrowtail",frac:"\\frac{#?}{#?}",cbrt:"\\sqrt[3]{#?}",nthroot:"\\sqrt[#?]{#?}"};function sl(a,y){var z;let ie=(z=y==null?void 0:y.format)!=null?z:"auto";return ie==="auto"&&([ie,a]=ff(a)),ie==="ascii-math"?(a=a.replace(/\u2061/gu,""),a=a.replace(/\u3016/gu,"{"),a=a.replace(/\u3017/gu,"}"),a=a.replace(/([^\\])sinx/g,"$1\\sin x"),a=a.replace(/([^\\])cosx/g,"$1\\cos x "),a=a.replace(/\u2013/g,"-"),["ascii-math",dl(a,{inlineShortcuts:y==null?void 0:y.inlineShortcuts})]):["latex",a]}function dl(a,y){var z,ie,le;if(!a)return"";let ve=!1,be;const Ne=(z=y.inlineShortcuts)!=null?z:$u;if(!ve&&(a.startsWith("^")||a.startsWith("_"))&&(be=Wu(a.slice(1),{inlineShortcuts:Ne,noWrap:!0}),a=a[0]+"{"+be.match+"}",a+=dl(be.rest,y),ve=!0),ve||(be=a.match(/^(sqrt|\u221A)(.*)/),be&&(be=Wu(be[2],{inlineShortcuts:Ne,noWrap:!0}),a="\\sqrt{"+((ie=be.match)!=null?ie:"\\placeholder{}")+"}",a+=dl(be.rest,y),ve=!0)),ve||(be=a.match(/^(\\cbrt|\u221B)(.*)/),be&&(be=Wu(be[2],{inlineShortcuts:Ne,noWrap:!0}),a="\\sqrt[3]{"+((le=be.match)!=null?le:"\\placeholder{}")+"}",a+=dl(be.rest,y),ve=!0)),ve||(be=a.match(/^abs(.*)/),be&&(be=Wu(be[1],{inlineShortcuts:Ne,noWrap:!0}),a="\\left|"+be.match+"\\right|",a+=dl(be.rest,y),ve=!0)),ve||(be=a.match(/^["”“](.*?)["”“](.*)/),be&&(a="\\text{"+be[1]+"}",a+=dl(be[2],y),ve=!0)),ve||(be=a.match(/^([^a-zA-Z\(\{\[\_\^\\\s"]+)(.*)/),be&&(a=Qc(be[1],Ne),a+=dl(be[2],y),ve=!0)),!ve&&/^([fgh])[^a-zA-Z]/.test(a)&&(be=Wu(a.slice(1),{inlineShortcuts:Ne,noWrap:!0}),a=a[1]==="("?a[0]+"\\left("+be.match+"\\right)":a[0]+be.match,a+=dl(be.rest,y),ve=!0),ve||(be=a.match(/^([a-zA-Z]+)(.*)/),be&&(a=Qc(be[1],Ne),a+=dl(be[2],y),ve=!0)),!ve)if(be=Wu(a,{inlineShortcuts:Ne,noWrap:!0}),be.match&&be.rest[0]==="/"){const ze=Wu(be.rest.slice(1),{inlineShortcuts:Ne,noWrap:!0});ze.match&&(a="\\frac{"+be.match+"}{"+ze.match+"}"+dl(ze.rest,y)),ve=!0}else be.match&&(a=a.startsWith("(")?"\\left("+be.match+"\\right)"+dl(be.rest,y):be.match+dl(be.rest,y),ve=!0);return ve||(be=a.match(/^(\s+)(.*)$/),be&&(a=" "+dl(be[2],y),ve=!0)),a}function Wu(a,y){let z="";a=a.trim();let ie=a,le=a.charAt(0),ve={"(":")","{":"}","[":"]"}[le];if(ve){let be=1,Ne=1;for(;Ne0;)a[Ne]===le&&be++,a[Ne]===ve&&be--,Ne++;be===0?(y.noWrap&&le==="("?z=dl(a.substring(1,Ne-1),y):(le==="{"&&ve==="}"&&(le="\\{",ve="\\}"),z="\\left"+le+dl(a.substring(1,Ne-1),y)+"\\right"+ve),ie=a.slice(Math.max(0,Ne))):(z=a.substring(1,Ne),ie="")}else{let be=a.match(/^([a-zA-Z]+)/);if(be){let Ne=_d(null,a,y.inlineShortcuts);if(Ne)return Ne=Ne.replace("_{#?}",""),Ne=Ne.replace("^{#?}",""),{match:Ne,rest:a.slice(Ne.length)}}if(be=a.match(/^([a-zA-Z])/),be)return{match:be[1],rest:a.slice(1)};if(be=a.match(/^(-)?\d+(\.\d*)?/),be)return{match:be[0],rest:a.slice(be[0].length)};/^\\(left|right)/.test(a)||(be=a.match(/^(\\[a-zA-Z]+)/),be&&(ie=a.slice(be[1].length),z=be[1]))}return{match:z,rest:ie}}function Qc(a,y){let z=_d(null,a,y);return z?(z=z.replace("_{#?}",""),z=z.replace("^{#?}",""),z+=" "):z=a,z}var Gf=[["\\[","\\]"],["\\(","\\)"],["$$","$$"],["$","$"],["\\begin{math}","\\end{math}"],["\\begin{displaymath}","\\end{displaymath}"],["\\begin{equation}","\\end{equation}"],["\\begin{equation*}","\\end{equation*}"]];function Ed(a){const y=a.trim();for(const z of Gf)if(y.startsWith(z[0])&&y.endsWith(z[1]))return[!0,y.substring(z[0].length,y.length-z[1].length)];return[!1,a]}function ff(a){if(a=a.trim(),a.length<=1)return["latex",a];let y;return[y,a]=Ed(a),y?["latex",a]:a.startsWith("`")&&a.endsWith("`")?(a=a.substring(1,a.length-1),["ascii-math",a]):a.includes("\\")?["latex",a]:/\$.+\$/.test(a)?["latex",`\\text{${a}}`]:[void 0,a]}var Sf="$$",Fh="$$",nh=(a,y,z)=>(Gf.some(ie=>y.startsWith(ie[0])&&y.endsWith(ie[1]))||(y=`${Sf} ${y} ${Fh}`),y),kd=class rm{constructor(y){rm._modes[y]=this}static onPaste(y,z,ie){var le;if(!z.contentEditable&&z.userSelect==="none")return z.model.announce("plonk"),!1;if(typeof ie=="string"){const be=new DataTransfer;be.setData("text/plain",ie),ie=be}const ve=new ClipboardEvent("paste",{clipboardData:ie,cancelable:!0});return(le=z.host)!=null&&le.dispatchEvent(ve)?rm._modes[y].onPaste(z,ie):!1}static copyToClipboard(y,z){if(!y.contentEditable&&y.userSelect==="none"){y.model.announce("plonk");return}const ie=y.model,le=ie.selectionIsCollapsed?[0,ie.lastOffset]:Fc(ie.selection),ve=ie.getValue(le,z);navigator.clipboard.writeText(ve).then(()=>{},()=>y.model.announce("plonk"))}static onCopy(y,z){var ie;if(!z.clipboardData)return;if(!y.contentEditable&&y.userSelect==="none"){y.model.announce("plonk");return}const le=y.model,ve=le.selectionIsCollapsed?[0,le.lastOffset]:Fc(le.selection);let be=le.getAtoms(ve);if(be.every(Ne=>Ne.mode==="text"||!Ne.mode))z.clipboardData.setData("text/plain",be.filter(Ne=>Ne instanceof Wd).map(Ne=>Ne.value).join(""));else if(be.every(Ne=>Ne.mode==="latex"))z.clipboardData.setData("text/plain",le.getAtoms(ve,{includeChildren:!0}).map(Ne=>{var ze;return(ze=Ne.value)!=null?ze:""}).join(""));else{let Ne;be.length===1&&be[0].verbatimLatex!==void 0?Ne=be[0].verbatimLatex:Ne=le.getValue(ve,"latex-expanded"),z.clipboardData.setData("application/x-latex",Ne);try{z.clipboardData.setData("text/plain",y.options.onExport(y,Ne,ve))}catch(ze){}if(be.length===1){const ze=be[0];(ze.type==="root"||ze.type==="group")&&(be=ze.body.filter(Ge=>Ge.type!=="first"))}try{z.clipboardData.setData("application/json+mathlive",JSON.stringify(be.map(ze=>ze.toJson())))}catch(ze){}if((ie=window[Symbol.for("io.cortexjs.compute-engine")])!=null&&ie.ComputeEngine){const ze=window.MathfieldElement.computeEngine;if(ze)try{const Ge=ze.jsonSerializationOptions;ze.jsonSerializationOptions={metadata:["latex"]};const lt=ze.parse(le.getValue(ve,"latex-unstyled"));ze.jsonSerializationOptions=Ge;const Tt=JSON.stringify(lt.json);Tt&&z.clipboardData.setData("application/json",Tt)}catch(Ge){}}}z.preventDefault()}static insert(y,z,ie={}){var le;const ve=ie.mode==="auto"?y.mode:(le=ie.mode)!=null?le:y.mode;return rm._modes[ve].insert(y,z,ie)}onPaste(y,z){return!1}insert(y,z,ie){return!1}};kd._modes={};var su=kd,up=[{key:"left",command:"moveToPreviousChar"},{key:"right",command:"moveToNextChar"},{key:"up",command:"moveUp"},{key:"down",command:"moveDown"},{key:"shift+[ArrowLeft]",command:"extendSelectionBackward"},{key:"shift+[ArrowRight]",command:"extendSelectionForward"},{key:"shift+[ArrowUp]",command:"extendSelectionUpward"},{key:"shift+[ArrowDown]",command:"extendSelectionDownward"},{key:"[Backspace]",command:"deleteBackward"},{key:"alt+[Delete]",command:"deleteBackward"},{key:"[Delete]",command:"deleteForward"},{key:"alt+[Backspace]",command:"deleteForward"},{key:"alt+[ArrowLeft]",command:"moveToPreviousWord"},{key:"alt+[ArrowRight]",command:"moveToNextWord"},{key:"shift+alt+[ArrowLeft]",command:"extendToPreviousWord"},{key:"shift+alt+[ArrowRight]",command:"extendToNextWord"},{key:"ctrl+[ArrowLeft]",command:"moveToGroupStart"},{key:"ctrl+[ArrowRight]",command:"moveToGroupEnd"},{key:"shift+ctrl+[ArrowLeft]",command:"extendToGroupStart"},{key:"shift+ctrl+[ArrowRight]",command:"extendToGroupEnd"},{key:"[Home]",command:"moveToMathfieldStart"},{key:"cmd+[ArrowLeft]",command:"moveToMathfieldStart"},{key:"shift+[Home]",command:"extendToMathFieldStart"},{key:"shift+cmd+[ArrowLeft]",command:"extendToMathFieldStart"},{key:"[End]",command:"moveToMathfieldEnd"},{key:"cmd+[ArrowRight]",command:"moveToMathfieldEnd"},{key:"shift+[End]",command:"extendToMathFieldEnd"},{key:"shift+cmd+[ArrowRight]",command:"extendToMathFieldEnd"},{key:"[Pageup]",command:"moveToGroupStart"},{key:"[Pagedown]",command:"moveToGroupEnd"},{key:"[Tab]",command:"moveToNextGroup"},{key:"shift+[Tab]",command:"moveToPreviousGroup"},{key:"[Escape]",ifMode:"math",command:["switchMode","latex"]},{key:"[Escape]",ifMode:"text",command:["switchMode","latex"]},{key:"[Escape]",ifMode:"latex",command:["complete","complete",{selectItem:"true"}]},{key:"\\",ifMode:"math",command:["switchMode","latex","\\"]},{key:"[IntlBackslash]",ifMode:"math",command:["switchMode","latex","\\"]},{key:"[Tab]",ifMode:"latex",command:["complete","accept-suggestion"]},{key:"[Return]",ifMode:"latex",command:"complete"},{key:"[Enter]",ifMode:"latex",command:"complete"},{key:"shift+[Escape]",ifMode:"latex",command:["complete","reject"]},{key:"[ArrowDown]",ifMode:"latex",command:"nextSuggestion"},{key:"[ArrowUp]",ifMode:"latex",command:"previousSuggestion"},{key:"ctrl+a",ifPlatform:"!macos",command:"selectAll"},{key:"cmd+a",command:"selectAll"},{key:"[Cut]",command:"cutToClipboard"},{key:"[Copy]",command:"copyToClipboard"},{key:"[Paste]",command:"pasteFromClipboard"},{key:"[Clear]",command:"deleteBackward"},{key:"[Undo]",command:"undo"},{key:"[Redo]",command:"redo"},{key:"[EraseEof]",command:"deleteToGroupEnd"},{key:"ctrl+x",ifPlatform:"ios",command:"cutToClipboard"},{key:"cmd+x",ifPlatform:"ios",command:"cutToClipboard"},{key:"ctrl+c",ifPlatform:"ios",command:"copyToClipboard"},{key:"cmd+c",ifPlatform:"ios",command:"copyToClipboard"},{key:"ctrl+v",ifPlatform:"ios",command:"pasteFromClipboard"},{key:"cmd+v",ifPlatform:"ios",command:"pasteFromClipboard"},{key:"ctrl+z",ifPlatform:"!macos",command:"undo"},{key:"cmd+z",command:"undo"},{key:"ctrl+y",ifPlatform:"!macos",command:"redo"},{key:"shift+cmd+y",command:"redo"},{key:"shift+ctrl+z",ifPlatform:"!macos",command:"redo"},{key:"shift+cmd+z",command:"redo"},{key:"ctrl+b",ifPlatform:"macos",command:"moveToPreviousChar"},{key:"ctrl+f",ifPlatform:"macos",command:"moveToNextChar"},{key:"ctrl+p",ifPlatform:"macos",command:"moveUp"},{key:"ctrl+n",ifPlatform:"macos",command:"moveDown"},{key:"ctrl+a",ifPlatform:"macos",command:"moveToMathfieldStart"},{key:"ctrl+e",ifPlatform:"macos",command:"moveToMathfieldEnd"},{key:"shift+ctrl+b",ifPlatform:"macos",command:"extendSelectionBackward"},{key:"shift+ctrl+f",ifPlatform:"macos",command:"extendSelectionForward"},{key:"shift+ctrl+p",ifPlatform:"macos",command:"extendSelectionUpward"},{key:"shift+ctrl+n",ifPlatform:"macos",command:"extendSelectionDownward"},{key:"shift+ctrl+a",ifPlatform:"macos",command:"extendToMathFieldStart"},{key:"shift+ctrl+e",ifPlatform:"macos",command:"extendToMathFieldEnd"},{key:"alt+ctrl+b",ifPlatform:"macos",command:"moveToPreviousWord"},{key:"alt+ctrl+f",ifPlatform:"macos",command:"moveToNextWord"},{key:"shift+alt+ctrl+b",ifPlatform:"macos",command:"extendToPreviousWord"},{key:"shift+alt+ctrl+f",ifPlatform:"macos",command:"extendToNextWord"},{key:"ctrl+h",ifPlatform:"macos",command:"deleteBackward"},{key:"ctrl+d",ifPlatform:"macos",command:"deleteForward"},{key:"ctrl+l",ifPlatform:"macos",command:"scrollIntoView"},{key:"ctrl+[Digit2]",ifMode:"math",command:["insert","\\sqrt{#0}"]},{key:"ctrl+[Digit5]",ifMode:"math",command:"moveToOpposite"},{key:"ctrl+[Digit6]",ifMode:"math",command:"moveToSuperscript"},{key:"ctrl+[Return]",ifMode:"math",command:"addRowAfter"},{key:"ctrl+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"cmd+[Return]",ifMode:"math",command:"addRowAfter"},{key:"cmd+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"alt+p",ifMode:"math",command:["insert","\\pi"]},{key:"alt+v",ifMode:"math",command:["insert","\\sqrt{#0}"]},{key:"alt+o",ifMode:"math",command:["insert","\\emptyset"]},{key:"alt+d",ifMode:"math",command:["insert","\\differentialD"]},{key:"shift+alt+o",ifMode:"math",command:["insert","\\varnothing"]},{key:"shift+alt+d",ifMode:"math",command:["insert","\\partial"]},{key:"alt+[Backslash]",ifMode:"math",command:["insert","\\backslash"]},{key:"[NumpadDivide]",ifMode:"math",command:["insert","\\frac{#@}{#?}"]},{key:"alt+[NumpadDivide]",ifMode:"math",command:["insert","\\frac{#?}{#@}"]},{key:"shift+alt+k",command:"toggleKeystrokeCaption"},{key:"alt+[Space]",command:"toggleContextMenu"},{key:"alt+shift+[Space]",command:"toggleVirtualKeyboard"},{key:"alt+ctrl+[ArrowUp]",command:["speak","all",{withHighlighting:!1}]},{key:"alt+ctrl+[ArrowDown]",command:["speak","selection",{withHighlighting:!1}]},{key:"shift+[Quote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["switchMode","text","",""]},{key:"shift+alt+[KeyT]",ifMode:"math",command:["switchMode","text","",""]},{key:"shift+[Quote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"text",command:["switchMode","math","",""]},{key:"shift+alt+[KeyT]",ifMode:"text",command:["switchMode","math","",""]},{key:"/",ifMode:"math",command:["insert","\\frac{#@}{#?}"]},{key:"alt+/",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","/"]},{key:"alt+shift+/",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","/"]},{key:"alt+[BracketLeft]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\left\\lbrack #0 \\right\\rbrack"]},{key:"ctrl+[Minus]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"moveToSubscript"},{key:"shift+alt+[BracketLeft]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\left\\lbrace #0 \\right\\rbrace"]},{key:"ctrl+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowAfter"},{key:"cmd+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowAfter"},{key:"shift+ctrl+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowBefore"},{key:"shift+cmd+;",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:"addRowBefore"},{key:"ctrl+[Backspace]",ifMode:"math",command:"removeRow"},{key:"cmd+[Backspace]",ifMode:"math",command:"removeRow"},{key:"alt+[Tab]",ifMode:"math",command:"addColumnAfter"},{key:"shift+alt+[Tab]",ifMode:"math",command:"addColumnBefore"},{key:"alt+[Enter]",ifMode:"math",command:"addRowAfter"},{key:"shift+alt+[Enter]",ifMode:"math",command:"addRowBefore"},{key:"alt+[Return]",ifMode:"math",command:"addRowAfter"},{key:"shift+alt+[Return]",ifMode:"math",command:"addRowBefore"},{key:"shift+[Backspace]",ifMode:"math",command:"removeColumn"},{key:"alt+[Digit5]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","$\\infty"]},{key:"alt+[Digit9]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","("]},{key:"alt+[Digit0]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert",")"]},{key:"alt+|",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","|"]},{key:"shift+[Backquote]",ifLayout:["apple.en-intl","windows.en-intl","linux.en"],ifMode:"math",command:["insert","\\~"]},{key:"[Backquote]",ifLayout:["windows.french","linux.french"],ifMode:"math",command:["insert","^2"]},{key:"[Backquote]",ifLayout:["windows.german","linux.german"],ifMode:"math",command:["insert","^"]},{key:"[IntlBackslash]",ifLayout:["apple.german"],ifMode:"math",command:["insert","^"]}],y0={"\\sqrt":["alt+v","ctrl+[Digit2]"],"\\pi":"alt+p","\\infty":"alt+[Digit5]","\\differentialD":"alt+d","\\partial":"shift+alt+d","\\frac":"Slash","\\emptyset":"alt+o","\\varnothing":"shift+alt+o","\\~":"~"};function kf(a){var y;return((y=a.element)==null?void 0:y.mathfield)===a}function rh(a){var y,z;return(z=(y=a.querySelector(".ML__caret"))!=null?y:a.querySelector(".ML__text-caret"))!=null?z:a.querySelector(".ML__latex-caret")}function ih(a){const y=rh(a);if(!y)return null;const z=y.getBoundingClientRect();return{x:z.right,y:z.bottom,height:z.height}}function o0(a){var y;if(!a.parent)return"root";let z=(y=a.parent.id)!=null?y:"";return z+=typeof a.parentBranch=="string"?"-"+a.parentBranch:`-${a.parentBranch[0]}/${a.parentBranch[0]}`,z}function b0(a,y,z){if(!y)return null;const ie=a.field.getBoundingClientRect(),le=y.right-y.left,ve=y.bottom-y.top,be=Math.ceil(y.left-ie.left+a.field.scrollLeft*z),Ne=Math.ceil(y.top-ie.top);return{left:be,right:be+le,top:Ne,bottom:Ne+ve}}function s0(a){const y=a.getBoundingClientRect(),z=parseInt(getComputedStyle(a).marginRight),ie={top:y.top-1,bottom:y.bottom,left:y.left,right:y.right-1+z};if(a.children.length===0||a.tagName.toUpperCase()==="SVG")return ie;for(const le of a.children)if(le.nodeType===1&&"atomId"in le.dataset&&!le.classList.contains("pstrut")){const ve=s0(le);ie.left=Math.min(ie.left,ve.left),ie.right=Math.max(ie.right,ve.right),ie.top=Math.min(ie.top,ve.top),ie.bottom=Math.max(ie.bottom,ve.bottom)}return ie}function Ch(a,y){var z,ie;if(!y.id)return null;let le=(ie=(z=a.atomBoundsCache)==null?void 0:z.get(y.id))!=null?ie:null;if(le!==null)return le;const ve=a.field.querySelector(`[data-atom-id="${y.id}"]`);return le=ve?s0(ve):null,a.atomBoundsCache&&(le?a.atomBoundsCache.set(y.id,le):a.atomBoundsCache.delete(y.id)),le!=null?le:null}function x0(a,y,z){const ie=new Map;for(const le of a.model.getAtoms(y,{includeChildren:!0})){if(z!=null&&z.excludeAtomsWithBackground&&le.style.backgroundColor)continue;const ve=a.field,be=ve.offsetWidth;let ze=Math.floor(ve.getBoundingClientRect().width)/be;ze=isNaN(ze)?1:ze;const Ge=b0(a,Ch(a,le),ze);if(Ge){const lt=o0(le);if(ie.has(lt)){const Tt=ie.get(lt);ie.set(lt,{left:Math.min(Tt.left,Ge.left),right:Math.max(Tt.right,Ge.right),top:Math.min(Tt.top,Ge.top),bottom:Math.max(Tt.bottom,Ge.bottom)})}else ie.set(lt,Ge)}}return[...ie.values()]}function l0(a,y){return a.model.selection.ranges.reduce((z,ie)=>z.concat(...x0(a,ie,y)),[])}function E0(a,y){return a==="*"||y==="none"?!0:y==="same-origin"?!window.origin||a===window.origin:typeof y=="function"?y(a):!1}function Qh(a){let y=0,z=0;const ie=a.offsetWidth,le=a.offsetHeight;for(;a instanceof HTMLElement;)y+=a.offsetTop,z+=a.offsetLeft,a=a.offsetParent;return new DOMRect(z,y,ie,le)}var Yh=`@keyframes ML__caret-blink { - 0%, - 100% { - opacity: 1; - } - 50% { - opacity: 0; - } -} -.ML__container { - display: inline-flex; - flex-flow: row; - justify-content: space-between; - align-items: flex-end; - min-height: 39px; - /* Need some room for the virtual keyboard toggle */ - width: 100%; - /* Encourage browsers to consider allocating a hardware accelerated - layer for this element. */ - isolation: isolate; - /* Prevent the browser from trying to interpret touch gestures in the field */ - /* "Disabling double-tap to zoom removes the need for browsers to - delay the generation of click events when the user taps the screen." */ - touch-action: none; - --_caret-color: var(--caret-color, hsl(var(--_hue), 40%, 49%)); - --_selection-color: var(--selection-color, #000); - --_selection-background-color: var(--selection-background-color, hsl(var(--_hue), 70%, 85%)); - --_text-highlight-background-color: var(--highlight-text, hsla(var(--_hue), 40%, 50%, 0.1)); - --_contains-highlight-background-color: var(--contains-highlight-background-color, hsl(var(--_hue), 40%, 95%)); - --_smart-fence-color: var(--smart-fence-color, currentColor); - --_smart-fence-opacity: var(--smart-fence-opacity, 0.5); - --_latex-color: var(--latex-color, hsl(var(--_hue), 80%, 40%)); - --_correct-color: var(--correct-color, #10a000); - --_incorrect-color: var(--incorrect-color, #a01b00); - --_composition-background-color: var(--composition-background-color, #fff1c2); - --_composition-text-color: var(--composition-text-color, black); - --_composition-underline-color: var(--composition-underline-color, transparent); -} -/* This is the actual field content (formula) */ -.ML__content { - display: flex; - align-items: center; - align-self: center; - position: relative; - overflow: hidden; - padding: 2px 3px 2px 1px; - width: 100%; -} -.ML__virtual-keyboard-toggle, -.ML__menu-toggle { - box-sizing: border-box; - display: flex; - align-self: center; - align-items: center; - flex-shrink: 0; - flex-direction: column; - justify-content: center; - width: 34px; - height: 34px; - padding: 0; - margin-right: 4px; - cursor: pointer; - /* Avoid some weird blinking with :hover */ - border-radius: 8px; - border: 1px solid transparent; - transition: background 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - color: hsl(var(--_hue), 40%, 50%); - fill: currentColor; - background: transparent; -} -.ML__virtual-keyboard-toggle:hover, -.ML__menu-toggle:hover { - background: hsla(0, 0%, 70%, 0.3); - color: #333; - fill: currentColor; -} -.ML__virtual-keyboard-toggle > span, -.ML__menu-toggle > span { - display: flex; - align-self: center; - align-items: center; -} -/* The invisible element used to capture keyboard events. We're just trying - really hard to make sure it doesn't show. */ -.ML__keyboard-sink { - display: inline-block; - resize: none; - outline: none; - border: none; - /* Need these for Microsoft Edge */ - position: fixed; - clip: rect(0 0 0 0); - /* Need this to prevent iOS Safari from auto-zooming */ - font-size: 1em; - font-family: KaTeX_Main; - line-height: 0.5; - /* On Chromium, if this is 0, no keyboard events are received */ -} -[part="placeholder"] { - color: var(--neutral-400); -} -.ML__composition { - background: var(--_composition-background-color); - color: var(--_composition-text-color); - text-decoration: underline var(--_composition-underline-color); -} -.ML__caret::after { - content: ''; - visibility: hidden; - width: 0; - display: inline-block; - height: 0.76em; - --_caret-width: clamp(2px, 0.08em, 10px); - border: none; - border-radius: calc(var(--_caret-width) / 2); - border-right: var(--_caret-width) solid var(--_caret-color); - margin-right: calc(-1 * var(--_caret-width)); - position: relative; - left: -0.045em; - bottom: -0.05em; - animation: ML__caret-blink 1.05s step-end forwards infinite; -} -.ML__text-caret::after { - content: ''; - visibility: hidden; - width: 0; - display: inline-block; - height: 0.76em; - --_caret-width: clamp(2px, 0.08em, 10px); - border: none; - border-radius: calc(var(--_caret-width) / 2); - border-right: var(--_caret-width) solid var(--_caret-color); - margin-right: calc(-1 * var(--_caret-width)); - position: relative; - left: -0.045em; - bottom: -0.05em; - animation: ML__caret-blink 1.05s step-end forwards infinite; -} -.ML__latex-caret::after { - content: ''; - visibility: hidden; - --_caret-width: clamp(2px, 0.08em, 10px); - border: none; - border-radius: calc(var(--_caret-width) / 2); - border-right: var(--_caret-width) solid var(--_latex-color); - margin-right: calc(-1 * var(--_caret-width)); - position: relative; - left: -0.019em; - animation: ML__caret-blink 1.05s step-end forwards infinite; -} -.ML__focused .ML__latex-caret::after, -.ML__focused .ML__text-caret::after, -.ML__focused .ML__caret::after { - visibility: visible; -} -.ML__focused .ML__text { - background: var(--_text-highlight-background-color); -} -/* When using smartFence, the anticipated closing fence is displayed -with this style */ -.ML__smart-fence__close { - opacity: var(--_smart-fence-opacity); - color: var(--_smart-fence-color); -} -.ML__selected, -.ML__focused .ML__selected .ML__contains-caret, -.ML__focused .ML__selected .ML__smart-fence__close, -.ML__focused .ML__selected .ML__placeholder { - color: var(--_selection-color); - opacity: 1; -} -.ML__selection { - box-sizing: border-box; - background: var(--_selection-background-color) !important; -} -.ML__contains-caret.ML__close, -.ML__contains-caret.ML__open, -.ML__contains-caret > .ML__close, -.ML__contains-caret > .ML__open, -.ML__contains-caret .ML__sqrt-sign, -.ML__contains-caret .ML__sqrt-line { - color: var(--_caret-color); -} -.ML__contains-highlight { - box-sizing: border-box; - background: transparent; -} -.ML__focused .ML__contains-highlight { - background: var(--_contains-highlight-background-color); -} -.ML__raw-latex { - font-family: 'Berkeley Mono', 'IBM Plex Mono', 'Source Code Pro', Consolas, 'Roboto Mono', Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Courier, monospace; - font-weight: 400; - font-size: 0.8em; - letter-spacing: -0.05em; - color: var(--_latex-color); -} -.ML__suggestion { - color: var(--neutral-500); -} -.ML__virtual-keyboard-toggle.is-visible.is-pressed:hover { - background: hsl(var(--_hue), 25%, 35%); - color: #fafafa; - fill: currentColor; -} -.ML__virtual-keyboard-toggle:focus { - outline: none; - border-radius: 8px; - border: 2px solid hsl(var(--_hue), 40%, 50%); -} -.ML__virtual-keyboard-toggle.is-pressed, -.ML__virtual-keyboard-toggle.is-active:hover, -.ML__virtual-keyboard-toggle.is-active { - background: hsl(var(--_hue), 25%, 35%); - color: #fafafa; - fill: currentColor; -} -/* Add an attribute 'data-tooltip' to automatically show a - tooltip over a element on hover. -*/ -[data-tooltip] { - position: relative; -} -[data-tooltip]::after { - content: attr(data-tooltip); - position: absolute; - display: block; - z-index: 2; - pointer-events: none; - right: auto; - top: calc(-100% - 4px); - width: max-content; - max-width: 200px; - padding: 8px 8px; - border-radius: 4px; - background: #616161; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - text-align: center; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-style: normal; - font-weight: 400; - font-size: 13px; - /* Phone */ - opacity: 0; - transform: scale(0.5); -} -@media only screen and (max-width: 767px) { - [data-tooltip]::after { - padding: 8px 16px; - font-size: 16px; - } -} -menu [data-tooltip]::after { - left: 100%; - top: 0%; -} -menu .ML__base { - cursor: default; -} -/** Don't display if we're tracking, i.e. have the pointer down */ -.tracking [data-tooltip]:hover::after { - /* Use visibility, not display. Display will remove the after from the DOM, and the override below will not work */ - visibility: hidden; -} -/** But do display if tracking and inside a menu */ -.tracking menu li[data-tooltip]:hover::after, -[data-tooltip]:hover::after { - visibility: visible; - opacity: 1; - transform: scale(1); - transition-property: opacity, scale; - transition-duration: 0.15s; - transition-delay: 1s; - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} -.ML__prompt { - border-radius: 2px; -} -.ML__editablePromptBox { - outline: 1px solid #acacac; - border-radius: 2px; - z-index: -1; -} -.ML__focusedPromptBox { - outline: highlight auto 1px; -} -.ML__lockedPromptBox { - background-color: rgba(142, 142, 141, 0.4); - z-index: -1; -} -.ML__correctPromptBox { - outline: 1px solid var(--_correct-color); - box-shadow: 0 0 5px var(--_correct-color); -} -.ML__incorrectPromptBox { - outline: 1px solid var(--_incorrect-color); - box-shadow: 0 0 5px var(--_incorrect-color); -} -.variant-submenu { - display: flex; - flex-direction: column; - padding: 8px; -} -.variant-submenu [part=menu-item] { - font-size: 2rem; - text-align: center; - margin: 0; -} -.insert-matrix-submenu { - display: grid; - padding: 8px; - align-content: center; - justify-content: center; - grid-template-columns: repeat(5, minmax(0, 1fr)); -} -.insert-matrix-submenu [part=menu-item] { - font-size: 21px; - border: none; - border-radius: 0; - line-height: 21px; - text-align: center; - padding: 0; - margin: 0; -} -.border-submenu [part=menu-item] { - font-size: 2rem; - line-height: 1.2; - text-align: center; -} -.swatches-submenu { - --_swatch-size: 2rem; - --_columns: 4; - display: flex; - flex-flow: wrap; - padding: 8px; - max-width: calc(var(--_columns) * (var(--_swatch-size) + 18px) + 16px); - box-sizing: border-box; -} -.menu-swatch { - display: flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - width: fit-content; - height: fit-content; - margin: 2px; - padding: 0; - background: var(--neutral-200); -} -.menu-swatch > .label { - padding: 0; - margin: 0; - line-height: 0; -} -.menu-swatch > .label > span { - display: inline-block; - margin: 6px; - min-width: var(--_swatch-size); - min-height: var(--_swatch-size); - border-radius: 50%; -} -.menu-swatch.active { - background: var(--neutral-100); - scale: 1.4; -} -.menu-swatch.active > .label > span { - border-radius: 2px; -} -.menu-swatch .ui-checkmark, -.menu-swatch .ui-mixedmark { - position: absolute; - margin: 0; - padding: 0; - color: white; -} -.menu-swatch.dark-contrast .ui-checkmark, -.menu-swatch.dark-contrast .ui-mixedmark { - color: #000; -} -`,Bu=`.ML__container { - min-height: auto !important; - --_hue: var(--hue, 212); - --_placeholder-color: var(--placeholder-color, hsl(var(--_hue), 40%, 49%)); - --_placeholder-opacity: var(--placeholder-opacity, 0.4); - --_text-font-family: var(--text-font-family, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif); -} -.ML__sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - clip-path: inset(50%); - white-space: nowrap; - border: 0; -} -.ML__is-inline { - display: inline-block; -} -.ML__base { - visibility: inherit; - display: inline-block; - position: relative; - cursor: text; - padding: 0; - margin: 0; - box-sizing: content-box; - border: 0; - outline: 0; - vertical-align: baseline; - font-weight: inherit; - font-family: inherit; - font-style: inherit; - text-decoration: none; - width: min-content; -} -.ML__strut, -.ML__strut--bottom { - display: inline-block; - min-height: 0.5em; -} -.ML__small-delim { - font-family: KaTeX_Main; -} -/* Text mode */ -.ML__text { - font-family: var(--_text-font-family); - white-space: pre; -} -/* Use cmr for 'math upright' */ -.ML__cmr { - font-family: KaTeX_Main; - font-style: normal; -} -.ML__mathit { - font-family: KaTeX_Math; - /* The KaTeX_Math font is italic by default, so the font-style below is only - useful when a fallback font is used - */ - font-style: italic; -} -.ML__mathbf { - font-family: KaTeX_Main; - font-weight: bold; -} -/* Lowercase greek symbols should stick to math font when \\mathbf is applied - to match TeX idiosyncratic behavior */ -.lcGreek.ML__mathbf { - font-family: KaTeX_Math; - font-weight: normal; -} -.ML__mathbfit { - font-family: KaTeX_Math; - font-weight: bold; - font-style: italic; -} -.ML__ams { - font-family: KaTeX_AMS; -} -/* Blackboard */ -.ML__bb { - font-family: KaTeX_AMS; -} -.ML__cal { - font-family: KaTeX_Caligraphic; -} -.ML__frak { - font-family: KaTeX_Fraktur; -} -.ML__tt { - font-family: KaTeX_Typewriter; -} -.ML__script { - font-family: KaTeX_Script; -} -.ML__sans { - font-family: KaTeX_SansSerif; -} -.ML__series_ul { - font-weight: 100; -} -.ML__series_el { - font-weight: 100; -} -.ML__series_l { - font-weight: 200; -} -.ML__series_sl { - font-weight: 300; -} -.ML__series_sb { - font-weight: 500; -} -.ML__bold, -.ML__boldsymbol { - font-weight: 700; -} -.ML__series_eb { - font-weight: 800; -} -.ML__series_ub { - font-weight: 900; -} -.ML__series_uc { - font-stretch: ultra-condensed; -} -.ML__series_ec { - font-stretch: extra-condensed; -} -.ML__series_c { - font-stretch: condensed; -} -.ML__series_sc { - font-stretch: semi-condensed; -} -.ML__series_sx { - font-stretch: semi-expanded; -} -.ML__series_x { - font-stretch: expanded; -} -.ML__series_ex { - font-stretch: extra-expanded; -} -.ML__series_ux { - font-stretch: ultra-expanded; -} -.ML__it { - font-style: italic; -} -.ML__shape_ol { - -webkit-text-stroke: 1px black; - text-stroke: 1px black; - color: transparent; -} -.ML__shape_sc { - font-variant: small-caps; -} -.ML__shape_sl { - font-style: oblique; -} -/* First level emphasis */ -.ML__emph { - color: #bc2612; -} -/* Second level emphasis */ -.ML__emph .ML__emph { - color: #0c7f99; -} -.ML__highlight { - color: #007cb2; - background: #edd1b0; -} -.ML__center { - text-align: center; -} -.ML__label_padding { - padding: 0 0.5em; -} -.ML__frac-line { - width: 100%; - min-height: 1px; -} -.ML__frac-line:after { - content: ''; - display: block; - margin-top: max(-1px, -0.04em); - min-height: max(1px, 0.04em); - /* Ensure the line is visible when printing even if "turn off background images" is on*/ - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - /* There's a bug since Chrome 62 where - sub-pixel border lines don't draw at some zoom - levels (110%, 90%). - Setting the min-height used to work around it, but that workaround - broke in Chrome 84 or so. - Setting the background (and the min-height) seems to work for now. - */ - background: currentColor; - box-sizing: content-box; - /* Vuetify sets the box-sizing to inherit - causes the fraction line to not draw at all sizes (see #26) */ - /* On some versions of Firefox on Windows, the line fails to - draw at some zoom levels, but setting the transform triggers - the hardware accelerated path, which works */ - transform: translate(0, 0); -} -.ML__sqrt { - display: inline-block; -} -.ML__sqrt-sign { - display: inline-block; - position: relative; -} -.ML__sqrt-line { - display: inline-block; - height: max(1px, 0.04em); - width: 100%; -} -.ML__sqrt-line:before { - content: ''; - display: block; - margin-top: min(-1px, -0.04em); - min-height: max(1px, 0.04em); - /* Ensure the line is visible when printing even if "turn off background images" is on*/ - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - background: currentColor; - /* On some versions of Firefox on Windows, the line fails to - draw at some zoom levels, but setting the transform triggers - the hardware accelerated path, which works */ - transform: translate(0, 0); -} -.ML__sqrt-line:after { - border-bottom-width: 1px; - content: ' '; - display: block; - margin-top: -0.1em; -} -.ML__sqrt-index { - margin-left: 0.27777778em; - margin-right: -0.55555556em; -} -.ML__delim-size1 { - font-family: KaTeX_Size1; -} -.ML__delim-size2 { - font-family: KaTeX_Size2; -} -.ML__delim-size3 { - font-family: KaTeX_Size3; -} -.ML__delim-size4 { - font-family: KaTeX_Size4; -} -.ML__delim-mult .delim-size1 > span { - font-family: KaTeX_Size1; -} -.ML__delim-mult .delim-size4 > span { - font-family: KaTeX_Size4; -} -.ML__accent-body > span { - font-family: KaTeX_Main; - width: 0; -} -.ML__accent-vec { - position: relative; - left: 0.24em; -} -/** The markup for a LaTeX formula, either in an editable mathfield or - in a static display. -*/ -.ML__latex { - display: inline-block; - direction: ltr; - text-align: left; - text-indent: 0; - text-rendering: auto; - font-family: KaTeX_Main, 'Times New Roman', serif; - font-style: normal; - font-size-adjust: none; - font-stretch: normal; - font-variant-caps: normal; - letter-spacing: normal; - line-height: 1.2; - word-wrap: normal; - word-spacing: normal; - white-space: nowrap; - text-shadow: none; - -webkit-user-select: none; - user-select: none; - width: min-content; -} -.ML__latex .style-wrap { - position: relative; -} -.ML__latex .mfrac { - display: inline-block; -} -.ML__latex .left-right { - display: inline-block; -} -.ML__latex .vlist-t { - display: inline-table; - table-layout: fixed; - border-collapse: collapse; -} -.ML__latex .vlist-r { - display: table-row; -} -.ML__latex .vlist { - display: table-cell; - vertical-align: bottom; - position: relative; -} -.ML__latex .vlist > span { - display: block; - height: 0; - position: relative; -} -.ML__latex .vlist > span > span { - display: inline-block; -} -.ML__latex .vlist > span > .pstrut { - overflow: hidden; - width: 0; -} -.ML__latex .vlist-t2 { - margin-right: -2px; -} -.ML__latex .vlist-s { - display: table-cell; - vertical-align: bottom; - font-size: 1px; - width: 2px; - min-width: 2px; -} -.ML__latex .msubsup { - text-align: left; -} -.ML__latex .negativethinspace { - display: inline-block; - margin-left: -0.16667em; - height: 0.71em; -} -.ML__latex .thinspace { - display: inline-block; - width: 0.16667em; - height: 0.71em; -} -.ML__latex .mediumspace { - display: inline-block; - width: 0.22222em; - height: 0.71em; -} -.ML__latex .thickspace { - display: inline-block; - width: 0.27778em; - height: 0.71em; -} -.ML__latex .enspace { - display: inline-block; - width: 0.5em; - height: 0.71em; -} -.ML__latex .quad { - display: inline-block; - width: 1em; - height: 0.71em; -} -.ML__latex .qquad { - display: inline-block; - width: 2em; - height: 0.71em; -} -.ML__latex .llap, -.ML__latex .rlap { - width: 0; - position: relative; - display: inline-block; -} -.ML__latex .llap > .inner, -.ML__latex .rlap > .inner { - position: absolute; -} -.ML__latex .llap > .fix, -.ML__latex .rlap > .fix { - display: inline-block; -} -.ML__latex .llap > .inner { - right: 0; -} -.ML__latex .rlap > .inner { - left: 0; -} -.ML__latex .rule { - display: inline-block; - border: solid 0; - position: relative; - box-sizing: border-box; -} -.ML__latex .overline .overline-line, -.ML__latex .underline .underline-line { - width: 100%; -} -.ML__latex .overline .overline-line:before, -.ML__latex .underline .underline-line:before { - content: ''; - border-bottom-style: solid; - border-bottom-width: max(1px, 0.04em); - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - display: block; -} -.ML__latex .overline .overline-line:after, -.ML__latex .underline .underline-line:after { - border-bottom-style: solid; - border-bottom-width: max(1px, 0.04em); - -webkit-print-color-adjust: exact; - print-color-adjust: exact; - content: ''; - display: block; - margin-top: -1px; -} -.ML__latex .stretchy { - display: block; - position: absolute; - width: 100%; - left: 0; - overflow: hidden; -} -.ML__latex .stretchy:before, -.ML__latex .stretchy:after { - content: ''; -} -.ML__latex .stretchy svg { - display: block; - position: absolute; - width: 100%; - height: inherit; - fill: currentColor; - stroke: currentColor; - fill-rule: nonzero; - fill-opacity: 1; - stroke-width: 1; - stroke-linecap: butt; - stroke-linejoin: miter; - stroke-miterlimit: 4; - stroke-dasharray: none; - stroke-dashoffset: 0; - stroke-opacity: 1; -} -.ML__latex .slice-1-of-2 { - display: inline-flex; - position: absolute; - left: 0; - width: 50.2%; - overflow: hidden; -} -.ML__latex .slice-2-of-2 { - display: inline-flex; - position: absolute; - right: 0; - width: 50.2%; - overflow: hidden; -} -.ML__latex .slice-1-of-3 { - display: inline-flex; - position: absolute; - left: 0; - width: 25.1%; - overflow: hidden; -} -.ML__latex .slice-2-of-3 { - display: inline-flex; - position: absolute; - left: 25%; - width: 50%; - overflow: hidden; -} -.ML__latex .slice-3-of-3 { - display: inline-flex; - position: absolute; - right: 0; - width: 25.1%; - overflow: hidden; -} -.ML__latex .slice-1-of-1 { - display: inline-flex; - position: absolute; - width: 100%; - left: 0; - overflow: hidden; -} -.ML__latex .nulldelimiter { - display: inline-block; -} -.ML__latex .op-group { - display: inline-block; -} -.ML__latex .op-symbol { - position: relative; -} -.ML__latex .op-symbol.small-op { - font-family: KaTeX_Size1; -} -.ML__latex .op-symbol.large-op { - font-family: KaTeX_Size2; -} -.ML__latex .mtable .vertical-separator { - display: inline-block; - min-width: 1px; - box-sizing: border-box; -} -.ML__latex .mtable .arraycolsep { - display: inline-block; -} -.ML__latex .mtable .col-align-m > .vlist-t { - text-align: center; -} -.ML__latex .mtable .col-align-c > .vlist-t { - text-align: center; -} -.ML__latex .mtable .col-align-l > .vlist-t { - text-align: left; -} -.ML__latex .mtable .col-align-r > .vlist-t { - text-align: right; -} -.ML__error { - display: inline-block; - background-image: radial-gradient(ellipse at center, hsl(341, 100%, 40%), rgba(0, 0, 0, 0) 70%); - background-color: hsla(341, 100%, 40%, 0.1); - background-repeat: repeat-x; - background-size: 3px 3px; - padding-bottom: 3px; - background-position: 0 100%; -} -.ML__error > .ML__error { - background: transparent; - padding: 0; -} -.ML__placeholder { - color: var(--_placeholder-color); - opacity: var(--_placeholder-opacity); - padding-left: 0.4ex; - padding-right: 0.4ex; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -} -.ML__notation { - position: absolute; - box-sizing: border-box; - line-height: 0; -} -/* This class is used to implement the \`\\mathtip\` and \`\\texttip\` commands - For UI elements, see \`[data-ML__tooltip]\` -*/ -.ML__tooltip-container { - position: relative; - transform: scale(0); -} -.ML__tooltip-container .ML__tooltip-content { - position: fixed; - display: inline-table; - visibility: hidden; - z-index: 2; - width: max-content; - max-width: 400px; - padding: 12px 12px; - border-radius: 8px; - background: #616161; - --_selection-color: #fff; - color: #fff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - opacity: 0; - transition: opacity 0.15s cubic-bezier(0.4, 0, 1, 1); -} -.ML__tooltip-container .ML__tooltip-content .ML__text { - white-space: normal; -} -.ML__tooltip-container .ML__tooltip-content .ML__base { - display: contents; -} -.ML__tooltip-container:hover .ML__tooltip-content { - visibility: visible; - opacity: 1; - font-size: 0.75em; - transform: scale(1) translate(0, 3em); -} -`,T0=`#mathlive-environment-popover.is-visible { - visibility: visible; -} -#mathlive-environment-popover { - --_environment-panel-height: var(--environment-panel-height, 70px); - --_accent-color: var(--accent-color, #aaa); - --_background: var(--environment-panel-background, #fff); - --_button-background: var(--environment-panel-button-background, white); - --_button-background-hover: var(--environment-panel-button-background-hover, #f5f5f7); - --_button-background-active: var(--environment-panel-button-background-active, #f5f5f7); - --_button-text: var(--environment-panel-button-text, #e3e4e8); - position: absolute; - width: calc(var(--_environment-panel-height) * 2); - height: var(--_environment-panel-height); - border-radius: 4px; - border: 1.5px solid var(--_accent-color); - background-color: var(--_background); - box-shadow: 0 0 30px 0 var(--environment-shadow, rgba(0, 0, 0, 0.4)); - pointer-events: all; - visibility: hidden; -} -#mathlive-environment-popover .MLEP__array-buttons { - height: calc(var(--_environment-panel-height) * 5/4); - width: calc(var(--_environment-panel-height) * 5/4); - margin-left: calc(0px - var(--_environment-panel-height) * 0.16); - margin-top: calc(0px - var(--_environment-panel-height) * 0.19); -} -#mathlive-environment-popover .MLEP__array-buttons .font { - fill: white; -} -#mathlive-environment-popover .MLEP__array-buttons circle { - fill: #7f7f7f; - transition: fill 300ms; -} -#mathlive-environment-popover .MLEP__array-buttons .MLEP__array-insert-background { - fill-opacity: 1; - fill: var(--_background); - stroke: var(--_accent-color); - stroke-width: 3px; -} -#mathlive-environment-popover .MLEP__array-buttons line { - stroke: var(--_accent-color); - stroke-opacity: 0; - stroke-width: 40; - pointer-events: none; - transition: stroke-opacity 300ms; - stroke-linecap: round; -} -#mathlive-environment-popover .MLEP__array-buttons g[data-command]:hover circle { - fill: var(--_accent-color); -} -#mathlive-environment-popover .MLEP__array-buttons g[data-command]:hover line { - stroke-opacity: 1; -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls { - height: 100%; - width: 50%; -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options { - width: var(--_environment-panel-height); - height: var(--_environment-panel-height); - display: flex; - flex-wrap: wrap; - flex-direction: row; - justify-content: space-around; -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg { - pointer-events: all; - margin-top: 2px; - width: calc(var(--_environment-panel-height) / 3 * 28 / 24); - height: calc(var(--_environment-panel-height) / 3 - 2px); - border-radius: calc(var(--_environment-panel-height) / 25); - background-color: var(--_button-background); -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg:hover { - background-color: var(--_button-background-hover); -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg path, -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg line { - stroke: var(--_button-text); - stroke-width: 2; - stroke-linecap: round; -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg rect, -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg path { - fill-opacity: 0; -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active { - pointer-events: none; - background-color: var(--_button-background-active); -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active path, -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active line { - stroke: var(--_accent-color); -} -#mathlive-environment-popover .MLEP__environment-delimiter-controls .MLEP__array-delimiter-options svg.active circle { - fill: var(--_accent-color); -} -`,w0=`/* The element that display info while in latex mode */ -#mathlive-suggestion-popover { - background-color: rgba(97, 97, 97); - color: #fff; - text-align: center; - border-radius: 8px; - position: fixed; - z-index: 1; - display: none; - flex-direction: column; - justify-content: center; - box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); -} -#mathlive-suggestion-popover.top-tip::after { - content: ''; - position: absolute; - top: -15px; - left: calc(50% - 15px); - width: 0; - height: 0; - border-left: 15px solid transparent; - border-right: 15px solid transparent; - border-bottom: 15px solid rgba(97, 97, 97); - font-size: 1rem; -} -#mathlive-suggestion-popover.bottom-tip::after { - content: ''; - position: absolute; - bottom: -15px; - left: calc(50% - 15px); - width: 0; - height: 0; - border-left: 15px solid transparent; - border-right: 15px solid transparent; - border-top: 15px solid rgba(97, 97, 97); - font-size: 1rem; -} -#mathlive-suggestion-popover.is-animated { - transition: all 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - animation: ML__fade-in cubic-bezier(0, 0, 0.2, 1) 0.15s; -} -#mathlive-suggestion-popover.is-visible { - display: flex; -} -@keyframes ML__fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -/* The wrapper class for the entire content of the popover panel */ -#mathlive-suggestion-popover ul { - display: flex; - flex-flow: column; - list-style: none; - margin: 0; - padding: 0; - align-items: flex-start; - max-height: 400px; - overflow-y: auto; -} -#mathlive-suggestion-popover li { - display: flex; - flex-direction: row; - justify-content: space-between; - margin: 8px; - padding: 8px; - width: calc(100% - 16px - 16px); - column-gap: 1em; - border-radius: 8px; - cursor: pointer; - /* Since the content can be clicked on, provide feedback on hover */ -} -#mathlive-suggestion-popover li a { - color: #5ea6fd; - padding-top: 0.3em; - margin-top: 0.4em; - display: block; -} -#mathlive-suggestion-popover li a:hover { - color: #5ea6fd; - text-decoration: underline; -} -#mathlive-suggestion-popover li:hover, -#mathlive-suggestion-popover li.is-pressed, -#mathlive-suggestion-popover li.is-active { - background: rgba(255, 255, 255, 0.1); -} -/* The command inside a popover (inside a #mathlive-suggestion-popover) */ -.ML__popover__command { - font-size: 1.6rem; - font-family: KaTeX_Main; -} -.ML__popover__current { - background: #5ea6fd; - color: #fff; -} -.ML__popover__latex { - font-family: 'IBM Plex Mono', 'Source Code Pro', Consolas, 'Roboto Mono', Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Courier, monospace; - align-self: center; -} -/* The keyboard shortcuts for a symbol as displayed in the popover */ -.ML__popover__keybinding { - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 0.8em; - opacity: 0.7; -} -/* Style for the character that joins the modifiers of a keyboard shortcut -(usually a "+" sign)*/ -.ML__shortcut-join { - opacity: 0.5; -} -`,ah=`/* The element that displays the keys as the user type them */ -#mathlive-keystroke-caption-panel { - visibility: hidden; - /*min-width: 160px;*/ - /*background-color: rgba(97, 97, 200, .95);*/ - background: var(--secondary, hsl(var(--_hue), 19%, 26%)); - border-color: var(--secondary-border, hsl(0, 0%, 91%)); - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - text-align: center; - border-radius: 6px; - padding: 16px; - position: absolute; - z-index: 1; - display: flex; - flex-direction: row-reverse; - justify-content: center; - --keystroke: white; - --on-keystroke: #555; - --keystroke-border: #f7f7f7; -} -@media (prefers-color-scheme: dark) { - body:not([theme='light']) #mathlive-keystroke-caption-panel { - --keystroke: hsl(var(--_hue), 50%, 30%); - --on-keystroke: hsl(0, 0%, 98%); - --keystroke-border: hsl(var(--_hue), 50%, 25%); - } -} -body[theme='dark'] #mathlive-keystroke-caption-panel { - --keystroke: hsl(var(--_hue), 50%, 30%); - --on-keystroke: hsl(0, 0%, 98%); - --keystroke-border: hsl(var(--_hue), 50%, 25%); -} -#mathlive-keystroke-caption-panel > span { - min-width: 14px; - /*height: 8px;*/ - margin: 0 8px 0 0; - padding: 4px; - background-color: var(--keystroke); - color: var(--on-keystroke); - fill: currentColor; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 1em; - border-radius: 6px; - border: 2px solid var(--keystroke-border); - /*box-shadow: 0 7px 14px rgba(0,0,0,0.25), 0 5px 5px rgba(0,0,0,0.22);*/ -} -`,cp=`.ML__keyboard { - --_keyboard-height: 0; - --_keyboard-zindex: var(--keyboard-zindex, 105); - --_accent-color: var(--keyboard-accent-color, #0c75d8); - --_background: var(--keyboard-background, #cacfd7); - --_border: var(--keyboard-border, #ddd); - --_padding-horizontal: var(--keyboard-padding-horizontal, 0px); - --_padding-top: var(--keyboard-padding-top, 5px); - --_padding-bottom: var(--keyboard-padding-bottom, 0px); - --_row-padding-left: var(--keyboard-row-padding-left, 0px); - --_row-padding-right: var(--keyboard-row-padding-right, 0px); - --_toolbar-text: var(--keyboard-toolbar-text, #2c2e2f); - --_toolbar-text-active: var(--keyboard-toolbar-text-active, var(--_accent-color)); - --_toolbar-background: var(--keyboard-toolbar-background, transparent); - --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #eee); - --_toolbar-background-selected: var(--keyboard-toolbar-background-selected, transparent); - --_toolbar-font-size: var(--keyboard-toolbar-font-size, '135%'); - --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #fff); - --_keycap-background: var(--keycap-background, white); - --_keycap-background-hover: var(--keycap-background-hover, #f5f5f7); - --_keycap-background-active: var(--keycap-background-active, var(--_accent-color)); - --_keycap-background-pressed: var(--keycap-background-pressed, var(--_accent-color)); - --_keycap-border: var(--keycap-border, #e5e6e9); - --_keycap-border-bottom: var(--keycap-border-bottom, #8d8f92); - --_keycap-text: var(--keycap-text, #000); - --_keycap-text-active: var(--keycap-text-active, #fff); - --_keycap-text-hover: var(--keycap-text-hover, var(--_keycap-text)); - --_keycap-text-pressed: var(--keycap-text-pressed, #fff); - --_keycap-shift-text: var(--keycap-shift-text, var(--_accent-color)); - --_keycap-primary-background: var(--keycap-primary-background, var(--_accent-color)); - --_keycap-primary-text: var(--keycap-primary-text, #ddd); - --_keycap-primary-background-hover: var(--keycap-primary-background-hover, #0d80f2); - --_keycap-secondary-background: var(--keycap-secondary-background, #a0a9b8); - --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #7d8795); - --_keycap-secondary-text: var(--keycap-secondary-text, #060707); - --_keycap-secondary-border: var(--keycap-secondary-border, #c5c9d0); - --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, #989da6); - --_keycap-height: var(--keycap-height, 60px); - /* Keycap width (incl. margin) */ - --_keycap-max-width: var(--keycap-max-width, 100px); - --_keycap-gap: var(--keycap-gap, 8px); - --_keycap-font-size: var(--keycap-font-size, clamp(16px, 4cqw, 24px)); - --_keycap-small-font-size: var(--keycap-small-font-size, calc(var(--keycap-font-size) * 0.8)); - --_keycap-extra-small-font-size: var(--keycap-extra-small-font-size, calc(var(--keycap-font-size) / 1.42)); - --_variant-panel-background: var(--variant-panel-background, #fff); - --_variant-keycap-text: var(--variant-keycap-text, var(--_keycap-text)); - --_variant-keycap-text-active: var(--variant-keycap-text-active, var(--_keycap-text-active)); - --_variant-keycap-background-active: var(--variant-keycap-background-active, var(--_accent-color)); - --_variant-keycap-length: var(--variant-keycap-length, 70px); - --_variant-keycap-font-size: var(--variant-keycap-font-size, 30px); - --_variant-keycap-aside-font-size: var(--variant-keycap-aside-font-size, 12px); - --_keycap-shift-font-size: var(--keycap-shift-font-size, 16px); - --_keycap-shift-color: var(--keycap-shift-color, var(--_accent-color)); - --_box-placeholder-color: var(--box-placeholder-color, var(--_accent-color)); - --_box-placeholder-pressed-color: var(--box-placeholder-pressed-color, var(--keycap-text-pressed)); -} -.is-math-mode .MLK__rows .if-text-mode, -.is-text-mode .MLK__rows .if-math-mode { - display: none; -} -.if-can-undo, -.if-can-redo, -.if-can-copy, -.if-can-cut, -.if-can-paste { - opacity: 0.4; - pointer-events: none; -} -.can-undo .if-can-undo, -.can-redo .if-can-redo, -.can-copy .if-can-copy, -.can-cut .if-can-cut, -.can-paste .if-can-paste { - opacity: 1; - pointer-events: all; -} -body > .ML__keyboard { - position: fixed; - --_padding-bottom: calc(var(--keyboard-padding-bottom, 0px) + env(safe-area-inset-bottom, 0)); -} -body > .ML__keyboard.is-visible > .MLK__backdrop { - box-shadow: 0 -5px 6px rgba(0, 0, 0, 0.08); - border-top: 1px solid var(--_border); -} -body > .ML__keyboard.backdrop-is-transparent.is-visible > .MLK__backdrop { - box-shadow: none; - border: none; -} -body > .ML__keyboard.is-visible.animate > .MLK__backdrop { - transition: 0.28s cubic-bezier(0, 0, 0.2, 1); - transition-property: transform, opacity; - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} -.ML__keyboard { - position: relative; - overflow: hidden; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: var(--_keyboard-zindex); - box-sizing: border-box; - outline: none; - border: none; - margin: 0; - padding: 0; - line-height: 1; - overflow-wrap: unset; - text-align: left; - vertical-align: baseline; - cursor: auto; - white-space: pre; - box-shadow: none; - opacity: 1; - transform: none; - pointer-events: none; -} -.ML__keyboard :where(div) { - box-sizing: border-box; - outline: none; - border: none; - margin: 0; - padding: 0; - line-height: 1; - overflow-wrap: unset; - text-align: left; - vertical-align: baseline; - cursor: auto; - white-space: pre; - box-shadow: none; - transform: none; -} -.MLK__backdrop { - position: absolute; - bottom: calc(-1 * var(--_keyboard-height)); - width: 100%; - height: var(--_keyboard-height); - box-sizing: border-box; - padding-top: var(--_padding-top); - padding-bottom: var(--_padding-bottom); - padding-left: var(--_padding-horizontal); - padding-right: var(--_padding-horizontal); - opacity: 0; - visibility: hidden; - transform: translate(0, 0); - background: var(--_background); -} -.backdrop-is-transparent .MLK__backdrop { - background: transparent; -} -/* If a custom layout has a custom container/backdrop - (backdrop-is-transparent), make sure to let pointer event go through. */ -.backdrop-is-transparent .MLK__plate { - background: transparent; - pointer-events: none; -} -/* If a custom layout has a custom container/backdrop, make sure to - allow pointer events on it. */ -.backdrop-is-transparent .MLK__layer > div > div { - pointer-events: all; -} -.ML__keyboard.is-visible > .MLK__backdrop { - transform: translate(0, calc(-1 * var(--_keyboard-height))); - opacity: 1; - visibility: visible; -} -.caps-lock-indicator { - display: none; - width: 8px; - height: 8px; - background: #0cbc0c; - box-shadow: inset 0 0 4px 0 #13ca13, 0 0 4px 0 #a9ef48; - border-radius: 8px; - right: 8px; - top: 8px; - position: absolute; -} -.ML__keyboard.is-caps-lock .caps-lock-indicator { - display: block; -} -.ML__keyboard.is-caps-lock .shift { - background: var(--_keycap-background-active); - color: var(--_keycap-text-active); -} -.MLK__plate { - position: absolute; - top: var(--_padding-top); - left: var(--_padding-horizontal); - width: calc(100% - 2 * var(--_padding-horizontal)); - margin: 0; - padding: 0; - box-sizing: border-box; - container-type: inline-size; - touch-action: none; - -webkit-user-select: none; - user-select: none; - pointer-events: all; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 16px; - /* Size of toolbar labels */ - font-weight: 400; - text-shadow: none; -} -.ML__box-placeholder { - color: var(--_box-placeholder-color); -} -.MLK__tex { - font-family: KaTeX_Main, KaTeX_Math, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; -} -.MLK__tex-math { - font-family: KaTeX_Math, KaTeX_Main, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; - font-style: italic; -} -.MLK__layer { - display: none; - outline: none; -} -.MLK__layer.is-visible { - display: flex; - flex-flow: column; -} -/* Keyboard layouts are made or rows of keys... */ -.MLK__rows { - --_keycap-width: min(var(--_keycap-max-width), 10cqw); - display: flex; - flex-flow: column; - align-items: center; - border-collapse: separate; - clear: both; - border: 0; - margin: 0; - margin-bottom: var(--_keycap-gap); - gap: var(--_keycap-gap); - /* If the styling include, e.g., some shadows, they will be - cut off by the overflow. In that case, set the padding to - compensate. */ - padding-left: var(--_row-padding-left); - padding-right: var(--_row-padding-right); - overflow: visible; - touch-action: none; -} -.MLK__rows > .MLK__row { - display: flex; - flex-flow: row; - justify-content: center; - width: 100%; - gap: var(--_keycap-gap); - margin: 0; - padding: 0; - /* For the alignment of the text on some modifiers (e.g. shift) */ - /* Extra spacing between two adjacent keys */ -} -.MLK__rows > .MLK__row .tex { - font-family: KaTeX_Math, KaTeX_Main, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; -} -.MLK__rows > .MLK__row .tex-math { - font-family: KaTeX_Math, 'Cambria Math', 'Asana Math', OpenSymbol, Symbola, STIX, Times, serif !important; -} -.MLK__rows > .MLK__row .big-op { - font-size: calc(1.25 * var(--_keycap-font-size)); -} -.MLK__rows > .MLK__row .small { - font-size: var(--_keycap-small-font-size); -} -.MLK__rows > .MLK__row .bottom { - justify-content: flex-end; -} -.MLK__rows > .MLK__row .left { - align-items: flex-start; - padding-left: 12px; -} -.MLK__rows > .MLK__row .right { - align-items: flex-end; - padding-right: 12px; -} -.MLK__rows > .MLK__row .w0 { - width: 0; -} -.MLK__rows > .MLK__row .w5 { - width: calc(0.5 * var(--_keycap-width) - var(--_keycap-gap)); -} -.MLK__rows > .MLK__row .w15 { - width: calc(1.5 * var(--_keycap-width) - var(--_keycap-gap)); -} -.MLK__rows > .MLK__row .w20 { - width: calc(2 * var(--_keycap-width) - var(--_keycap-gap)); -} -.MLK__rows > .MLK__row .w40 { - width: calc(4 * var(--_keycap-width) - var(--_keycap-gap)); -} -.MLK__rows > .MLK__row .w50 { - width: calc(5 * var(--_keycap-width) - var(--_keycap-gap)); -} -.MLK__rows > .MLK__row .MLK__keycap.w50 { - font-size: 80%; - padding-top: 10px; - font-weight: 100; -} -.MLK__rows > .MLK__row .separator { - background: transparent; - border: none; - pointer-events: none; -} -.MLK__rows > .MLK__row .horizontal-rule { - height: 6px; - margin-top: 3px; - margin-bottom: 0; - width: 100%; - border-radius: 0; - border-top: var(--_horizontal-rule); -} -.MLK__rows > .MLK__row .ghost { - background: var(--_toolbar-background); - border: none; - color: var(--_toolbar-text); -} -.MLK__rows > .MLK__row .ghost:hover { - background: var(--_toolbar-background-hover); -} -.MLK__rows > .MLK__row .bigfnbutton { - font-size: var(--_keycap-extra-small-font-size); -} -.MLK__rows > .MLK__row .shift, -.MLK__rows > .MLK__row .action { - color: var(--_keycap-secondary-text); - background: var(--_keycap-secondary-background); - border-color: var(--_keycap-secondary-border); - border-bottom-color: var(--_keycap-secondary-border-bottom); - line-height: 0.8; - font-size: min(1rem, var(--_keycap-small-font-size)); - font-weight: 600; - padding: 8px 12px 8px 12px; -} -.MLK__rows > .MLK__row .shift:hover, -.MLK__rows > .MLK__row .action:hover { - background: var(--_keycap-secondary-background-hover); -} -.MLK__rows > .MLK__row .action.primary { - background: var(--_keycap-primary-background); - color: var(--_keycap-primary-text); -} -.MLK__rows > .MLK__row .action.primary:hover { - background: var(--_keycap-primary-background-hover); - color: var(--_keycap-primary-text); -} -.MLK__rows > .MLK__row .shift.selected, -.MLK__rows > .MLK__row .action.selected { - color: var(--_toolbar-text-active); -} -.MLK__rows > .MLK__row .shift.selected.is-pressed, -.MLK__rows > .MLK__row .action.selected.is-pressed, -.MLK__rows > .MLK__row .shift.selected.is-active, -.MLK__rows > .MLK__row .action.selected.is-active { - color: white; -} -.MLK__rows > .MLK__row .warning { - background: #cd0030; - color: white; -} -.MLK__rows > .MLK__row .warning svg.svg-glyph { - width: 24px; - height: 24px; - min-height: 24px; -} -/** A regular keycap - * Use the :where() pseudo-class to give it a very low specifity, - * so that it can be overriden by custom style. - */ -:where(.MLK__rows > .MLK__row div) { - display: flex; - flex-flow: column; - align-items: center; - justify-content: space-evenly; - width: calc(var(--_keycap-width) - var(--_keycap-gap)); - height: var(--_keycap-height); - box-sizing: border-box; - padding: 0; - vertical-align: top; - text-align: center; - float: left; - color: var(--_keycap-text); - fill: currentColor; - font-size: var(--_keycap-font-size); - background: var(--_keycap-background); - border: 1px solid var(--_keycap-border); - border-bottom-color: var(--_keycap-border-bottom); - border-radius: 6px; - cursor: pointer; - touch-action: none; - /* Keys with a variants panel */ - position: relative; - overflow: hidden; - -webkit-user-select: none; - user-select: none; - -webkit-tap-highlight-color: transparent; -} -:where(.MLK__rows > .MLK__row div):hover { - overflow: visible; - background: var(--_keycap-background-hover); -} -:where(.MLK__rows > .MLK__row div) .ML__latex { - pointer-events: none; - touch-action: none; -} -:where(.MLK__rows > .MLK__row div) svg.svg-glyph { - margin: 8px 0; - width: 20px; - height: 20px; - min-height: 20px; -} -:where(.MLK__rows > .MLK__row div) svg.svg-glyph-lg { - margin: 8px 0; - width: 24px; - height: 24px; - min-height: 24px; -} -:where(.MLK__rows > .MLK__row div).MLK__tex-math { - font-size: 25px; -} -:where(.MLK__rows > .MLK__row div).is-pressed { - background: var(--_keycap-background-pressed); - color: var(--_keycap-text-pressed); - --_box-placeholder-color: var(--_box-placeholder-pressed-color); -} -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active, -:where(.MLK__rows > .MLK__row div).action.is-active, -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed, -:where(.MLK__rows > .MLK__row div).action.is-pressed { - z-index: calc(var(--_keyboard-zindex) - 5); -} -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active aside, -:where(.MLK__rows > .MLK__row div).action.is-active aside, -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed aside, -:where(.MLK__rows > .MLK__row div).action.is-pressed aside { - display: none; -} -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active .MLK__shift, -:where(.MLK__rows > .MLK__row div).action.is-active .MLK__shift, -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed .MLK__shift, -:where(.MLK__rows > .MLK__row div).action.is-pressed .MLK__shift { - display: none; -} -:where(.MLK__rows > .MLK__row div).shift.is-pressed, -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-pressed, -:where(.MLK__rows > .MLK__row div).action.is-pressed { - background: var(--_keycap-background-pressed); - color: var(--_keycap-text-pressed); -} -:where(.MLK__rows > .MLK__row div).shift.is-active, -:where(.MLK__rows > .MLK__row div).MLK__keycap.is-active, -:where(.MLK__rows > .MLK__row div).action.is-active { - background: var(--_keycap-background-active); - color: var(--_keycap-text-active); - --_box-placeholder-color: var(--_box-placeholder-pressed-color); -} -:where(.MLK__rows > .MLK__row div) small { - color: var(--_keycap-secondary-text); -} -:where(.MLK__rows > .MLK__row div) aside { - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-size: 10px; - line-height: 10px; - color: var(--_keycap-secondary-text); -} -/* Add an attribute 'data-tooltip' to display a tooltip on hover. -Note there are a different set of tooltip rules for the keyboard toggle -(it's in a different CSS tree) */ -.ML__keyboard [data-tooltip] { - position: relative; -} -.ML__keyboard [data-tooltip]::after { - position: absolute; - display: inline-table; - content: attr(data-tooltip); - top: inherit; - bottom: 100%; - width: max-content; - max-width: 200px; - padding: 8px 8px; - background: #616161; - color: #fff; - text-align: center; - z-index: 2; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - border-radius: 2px; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; - font-weight: 400; - font-size: 12px; - transition: all 0.15s cubic-bezier(0.4, 0, 1, 1) 1s; - opacity: 0; - transform: scale(0.5); -} -.ML__keyboard [data-tooltip]:hover { - position: relative; -} -.ML__keyboard [data-tooltip]:hover::after { - opacity: 1; - transform: scale(1); -} -.MLK__toolbar { - align-self: center; - display: flex; - flex-flow: row; - justify-content: space-between; - width: 100%; - max-width: 996px; - min-height: 32px; - /* Icons for undo/redo, etc. */ -} -.MLK__toolbar svg { - height: 20px; - width: 20px; -} -.MLK__toolbar > .left { - position: relative; - display: flex; - justify-content: flex-start; - flex-flow: row; -} -.MLK__toolbar > .right { - display: flex; - justify-content: flex-end; - flex-flow: row; -} -.MLK__toolbar > div > div { - /* "button" in the toolbar */ - display: flex; - align-items: center; - justify-content: center; - color: var(--_toolbar-text); - fill: currentColor; - background: var(--_toolbar-background); - font-size: var(--_toolbar-font-size); - padding: 4px 15px; - cursor: pointer; - width: max-content; - min-width: 42px; - min-height: 34px; - border: none; - padding-left: 10px; - padding-right: 10px; - padding-bottom: 8px; - padding-top: 8px; - margin-top: 0; - margin-bottom: 4px; - margin-left: 4px; - margin-right: 4px; - border-radius: 8px; - box-shadow: none; - border-bottom: 2px solid transparent; -} -.MLK__toolbar > div > div:not(.disabled):not(.selected):hover { - background: var(--_toolbar-background-hover); -} -.MLK__toolbar > div > div.disabled svg, -.MLK__toolbar > div > div.disabled:hover svg, -.MLK__toolbar > div > div.disabled.is-pressed svg { - color: var(--_toolbar-text); - opacity: 0.2; -} -.MLK__toolbar > div > div:hover, -.MLK__toolbar > div > div:active, -.MLK__toolbar > div > div.is-pressed, -.MLK__toolbar > div > div.is-active { - color: var(--_toolbar-text-active); -} -.MLK__toolbar > div > div.selected { - color: var(--_toolbar-text-active); - background: var(--_toolbar-background-selected); - border-radius: 0; - border-bottom-color: var(--_toolbar-text-active); - padding-bottom: 4px; - margin-bottom: 8px; -} -/* This is the element that displays variants on press+hold */ -.MLK__variant-panel { - visibility: hidden; - position: fixed; - display: flex; - flex-flow: row wrap-reverse; - justify-content: center; - align-content: center; - margin: 0; - padding: 0; - bottom: auto; - top: 0; - box-sizing: content-box; - transform: none; - z-index: calc(var(--_keyboard-zindex) + 1); - touch-action: none; - max-width: 350px; - background: var(--_variant-panel-background); - text-align: center; - border-radius: 6px; - padding: 6px; - box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); - transition: none; -} -.MLK__variant-panel.is-visible { - visibility: visible; -} -.MLK__variant-panel.compact { - --_variant-keycap-length: var(--variant-keycap-length, 50px); - --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); - --_variant-keycap-aside-font-size: var(--variant-keycap-aside-font-size, 10px); -} -.MLK__variant-panel .item { - display: flex; - flex-flow: column; - align-items: center; - justify-content: center; - font-size: var(--_variant-keycap-font-size); - height: var(--_variant-keycap-length); - width: var(--_variant-keycap-length); - margin: 0; - box-sizing: border-box; - border-radius: 5px; - border: 1px solid transparent; - background: transparent; - pointer-events: all; - cursor: pointer; - color: var(--_variant-keycap-text); - fill: currentColor; -} -@media (max-height: 412px) { - .MLK__variant-panel .item { - --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); - --_variant-keycap-length: var(--variant-keycap-length, 50px); - } -} -.MLK__variant-panel .item .ML__latex { - pointer-events: none; -} -.MLK__variant-panel .item.is-active { - background: var(--_variant-keycap-background-active); - color: var(--_variant-keycap-text-active); -} -.MLK__variant-panel .item.is-pressed { - background: var(--_variant-keycap-background-pressed); - color: var(--_variant-keycap-text-pressed); -} -.MLK__variant-panel .item.small { - font-size: var(--_keycap-small-font-size); -} -.MLK__variant-panel .item.swatch-button { - box-sizing: border-box; - background: #fbfbfb; -} -.MLK__variant-panel .item.swatch-button > span { - display: inline-block; - margin: 6px; - width: calc(100% - 12px); - height: calc(100% - 12px); - border-radius: 50%; -} -.MLK__variant-panel .item.swatch-button:hover { - background: #f0f0f0; -} -.MLK__variant-panel .item.swatch-button:hover > span { - border-radius: 2px; -} -.MLK__variant-panel .item.box > div, -.MLK__variant-panel .item.box > span { - border: 1px dashed rgba(0, 0, 0, 0.24); -} -.MLK__variant-panel .item .warning { - min-height: 60px; - min-width: 60px; - background: #cd0030; - color: white; - padding: 5px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 5px; -} -.MLK__variant-panel .item .warning.is-pressed, -.MLK__variant-panel .item .warning.is-active { - background: red; -} -.MLK__variant-panel .item .warning svg.svg-glyph { - width: 50px; - height: 50px; -} -.MLK__variant-panel .item aside { - font-size: var(--_variant-keycap-aside-font-size); - line-height: 12px; - opacity: 0.78; - padding-top: 2px; -} -.MLK__keycap { - position: relative; -} -.MLK__shift { - display: block; - position: absolute; - right: 4px; - top: 4px; - font-size: var(--_keycap-shift-font-size); - color: var(--_keycap-shift-color); -} -.hide-shift .MLK__shift { - display: none; -} -@media (max-width: 414px) { - .MLK__variant-panel { - max-width: 350px; - --_variant-keycap-font-size: var(--variant-keycap-font-size, 24px); - --_variant-keycap-length: var(--variant-keycap-length, 50px); - } -} -/* @xs breakpoint: iPhone 5 */ -@container (max-width: 414px) { - .MLK__rows { - --_keycap-gap: max(var(--_keycap-gap, 2px), 2px); - --_keycap-height: max(var(--_keycap-height), 42px); - --_keycap-width: min(min(var(--_keycap-max-width), 10cqw), 62px); - } - .MLK__toolbar > div > div { - font-size: 100%; - margin-left: 2px; - margin-right: 2px; - } - .MLK__rows .shift, - .MLK__rows .action { - font-size: 65%; - } - .MLK__rows .warning svg.svg-glyph { - width: 14px; - height: 14px; - min-height: 14px; - } -} -@container (max-width: 744px) { - .MLK__rows { - --_keycap-gap: max(var(--keycap-gap, 2px), 2px); - --_keycap-height: max(var(--keycap-height, 52px), 52px); - --_keycap-width: min(min(var(--_keycap-max-width), 10cqw), 62px); - } - .MLK__toolbar > div > div { - padding-left: 0; - padding-right: 0; - } - .MLK__tooltip::after { - padding: 8px 16px; - font-size: 16px; - } - .MLK__rows > .MLK__row > div.fnbutton { - font-size: 16px; - } - .MLK__rows > .MLK__row > div.bigfnbutton { - font-size: calc(var(--_keycap-extra-small-font-size) / 1.55); - } - .MLK__rows > .MLK__row > div.small { - font-size: 13px; - } - .MLK__rows > .MLK__row > div > aside { - display: none; - } - .MLK__shift { - display: none; - } -} -/* Medium breakpoint: larger phones */ -@container (max-width: 768px) { - .MLK__rows { - --_keycap-height: max(var(--keycap-height, 42px), 42px); - } - .MLK__rows > .MLK__row > div > small { - font-size: 14px; - } -} -@media (max-height: 768px) { - .MLK__rows { - --_keycap-height: max(var(--keycap-height, 42px), 42px); - } - .MLK__rows > .MLK__row > div > small { - font-size: 14px; - } -} -@container (max-width: 1444px) { - .MLK__rows .if-wide { - display: none; - } -} -@media (prefers-color-scheme: dark) { - .ML__keyboard { - --_accent-color: var(--keyboard-accent-color, #0b5c9c); - --_background: var(--keyboard-background, #151515); - --_border: var(--keyboard-border, transparent); - --_toolbar-text: var(--keyboard-toolbar-text, #e3e4e8); - --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #303030); - --keyboard-toolbar-background-hover: #303030; - --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #303030); - --_keycap-background: var(--keycap-background, #1f2022); - --_keycap-background-hover: var(--keycap-background-hover, #2f3032); - --_keycap-border: var(--_keycap-border, transparent); - --_keycap-border-bottom: var(--_keycap-border-bottom, transparent); - --_keycap-text: var(--keycap-text, #e3e4e8); - --_keycap-secondary-background: var(--keycap-secondary-background, #3d4144); - --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #4d5154); - --_keycap-secondary-text: var(--keycap-secondary-text, #e7ebee); - --keycap-secondary-border: transparent; - --keycap-secondary-border-bottom: transparent; - --_keycap-secondary-border: var(--keycap-secondary-border, transparent); - --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, transparent); - --_variant-panel-background: var(--variant-panel-background, #303030); - --_variant-keycap-text-active: var(--variant-keycap-text-active, #fff); - } -} -/* Same as the media query, but with a class */ -[theme='dark'] .ML__keyboard { - --_accent-color: var(--keyboard-accent-color, #0b5c9c); - --_background: var(--keyboard-background, #151515); - --_border: var(--keyboard-border, transparent); - --_toolbar-text: var(--keyboard-toolbar-text, #e3e4e8); - --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #303030); - --keyboard-toolbar-background-hover: #303030; - --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #303030); - --_keycap-background: var(--keycap-background, #1f2022); - --_keycap-background-hover: var(--keycap-background-hover, #2f3032); - --_keycap-border: var(--_keycap-border, transparent); - --_keycap-border-bottom: var(--_keycap-border-bottom, transparent); - --_keycap-text: var(--keycap-text, #e3e4e8); - --_keycap-secondary-background: var(--keycap-secondary-background, #3d4144); - --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #4d5154); - --_keycap-secondary-text: var(--keycap-secondary-text, #e7ebee); - --keycap-secondary-border: transparent; - --keycap-secondary-border-bottom: transparent; - --_keycap-secondary-border: var(--keycap-secondary-border, transparent); - --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, transparent); - --_variant-panel-background: var(--variant-panel-background, #303030); - --_variant-keycap-text-active: var(--variant-keycap-text-active, #fff); -} -[theme='light'] .ML__keyboard { - --_accent-color: var(--keyboard-accent-color, #0c75d8); - --_background: var(--keyboard-background, #cacfd7); - --_border: var(--keyboard-border, #ddd); - --_toolbar-text: var(--keyboard-toolbar-text, #2c2e2f); - --_toolbar-background: var(--keyboard-toolbar-background, transparent); - --_toolbar-background-hover: var(--keyboard-toolbar-background-hover, #eee); - --_toolbar-background-selected: var(--keyboard-toolbar-background-selected, transparent); - --_horizontal-rule: var(--keyboard-horizontal-rule, 1px solid #fff); - --_keycap-background: var(--keycap-background, white); - --_keycap-background-hover: var(--keycap-background-hover, #f5f5f7); - --_keycap-background-active: var(--keycap-background-active, var(--_accent-color)); - --_keycap-background-pressed: var(--keycap-background-pressed, var(--_accent-color)); - --_keycap-border: var(--_keycap-border, #e5e6e9); - --_keycap-border-bottom: var(--_keycap-border-bottom, #8d8f92); - --_keycap-text: var(--keycap-text, #000); - --_keycap-text-active: var(--keycap-text-active, #fff); - --_keycap-text-hover: var(--keycap-text-hover, var(--_keycap-text)); - --_keycap-text-pressed: var(--keycap-text-pressed, #fff); - --_keycap-shift-text: var(--keycap-shift-text, var(--_accent-color)); - --_keycap-secondary-background: var(--keycap-secondary-background, #a0a9b8); - --_keycap-secondary-background-hover: var(--keycap-secondary-background-hover, #7d8795); - --_keycap-secondary-text: var(--keycap-secondary-text, #060707); - --_keycap-secondary-border: var(--keycap-secondary-border, #c5c9d0); - --_keycap-secondary-border-bottom: var(--keycap-secondary-border-bottom, #989da6); - --_variant-panel-background: var(--variant-panel-background, #fff); - --_variant-keycap-text: var(--variant-keycap-textvar, var(--_keycap-text)); - --_variant-keycap-text-active: var(--variant-keycap-text-active, var(--_keycap-text-active)); - --_variant-keycap-background-active: var(--variant-keycap-background-active, var(--_accent-color)); -} -`,u0=`:host { - --primary-color: #5898ff; - --primary-color-dimmed: #c0c0f0; - --primary-color-dark: var(--blue-500); - --primary-color-light: var(--blue-100); - --primary-color-reverse: #ffffff; - --secondary-color: #ff8a65; - --secondary-color-dimmed: #f0d5c5; - --secondary-color-dark: var(--orange-500); - --secondary-color-light: var(--orange-100); - --secondary-color-reverse: #ffffff; - --link-color: #5898ff; - --link-color-dimmed: #c5c5c5; - --link-color-dark: #121212; - --link-color-light: #e2e2e2; - --link-color-reverse: #ffffff; - --semantic-blue: var(--blue-700); - --semantic-red: var(--red-400); - --semantic-orange: var(--orange-400); - --semantic-green: var(--green-700); - --neutral-100: #f5f5f5; - --neutral-200: #eeeeee; - --neutral-300: #e0e0e0; - --neutral-400: #bdbdbd; - --neutral-500: #9e9e9e; - --neutral-600: #757575; - --neutral-700: #616161; - --neutral-800: #424242; - --neutral-900: #212121; - --red-25: #fff8f7; - --red-50: #fff1ef; - --red-100: #ffeae6; - --red-200: #ffcac1; - --red-300: #ffa495; - --red-400: #ff7865; - --red-500: #f21c0d; - --red-600: #e50018; - --red-700: #d30024; - --red-800: #bd002c; - --red-900: #a1002f; - --orange-25: #fffbf8; - --orange-50: #fff7f1; - --orange-100: #fff3ea; - --orange-200: #ffe1c9; - --orange-300: #ffcca2; - --orange-400: #ffb677; - --orange-500: #fe9310; - --orange-600: #f58700; - --orange-700: #ea7c00; - --orange-800: #dc6d00; - --orange-900: #ca5b00; - --brown-25: #fff8ef; - --brown-50: #fff1df; - --brown-100: #ffe9ce; - --brown-200: #ebcca6; - --brown-300: #cdaf8a; - --brown-400: #af936f; - --brown-500: #856a47; - --brown-600: #7f5e34; - --brown-700: #78511f; - --brown-800: #6e4200; - --brown-900: #593200; - --yellow-25: #fffdf9; - --yellow-50: #fffcf2; - --yellow-100: #fffaec; - --yellow-200: #fff2ce; - --yellow-300: #ffe8ab; - --yellow-400: #ffdf85; - --yellow-500: #ffcf33; - --yellow-600: #f1c000; - --yellow-700: #dfb200; - --yellow-800: #c9a000; - --yellow-900: #ad8a00; - --lime-25: #f4ffee; - --lime-50: #e9ffdd; - --lime-100: #ddffca; - --lime-200: #a8fb6f; - --lime-300: #94e659; - --lime-400: #80d142; - --lime-500: #63b215; - --lime-600: #45a000; - --lime-700: #268e00; - --lime-800: #007417; - --lime-900: #005321; - --green-25: #f5fff5; - --green-50: #ebffea; - --green-100: #e0ffdf; - --green-200: #a7ffa7; - --green-300: #5afa65; - --green-400: #45e953; - --green-500: #17cf36; - --green-600: #00b944; - --green-700: #00a34a; - --green-800: #008749; - --green-900: #00653e; - --teal-25: #f3ffff; - --teal-50: #e6fffe; - --teal-100: #d9fffe; - --teal-200: #8dfffe; - --teal-300: #57f4f4; - --teal-400: #43e5e5; - --teal-500: #17cfcf; - --teal-600: #00c2c0; - --teal-700: #00b5b1; - --teal-800: #00a49e; - --teal-900: #009087; - --cyan-25: #f7fcff; - --cyan-50: #eff8ff; - --cyan-100: #e7f5ff; - --cyan-200: #c2e6ff; - --cyan-300: #95d5ff; - --cyan-400: #61c4ff; - --cyan-500: #13a7ec; - --cyan-600: #069eda; - --cyan-700: #0095c9; - --cyan-800: #0088b2; - --cyan-900: #0a7897; - --blue-25: #f7faff; - --blue-50: #eef5ff; - --blue-100: #e5f1ff; - --blue-200: #bfdbff; - --blue-300: #92c2ff; - --blue-400: #63a8ff; - --blue-500: #0d80f2; - --blue-600: #0077db; - --blue-700: #006dc4; - --blue-800: #0060a7; - --blue-900: #005086; - --indigo-25: #f8f7ff; - --indigo-50: #f1efff; - --indigo-100: #eae7ff; - --indigo-200: #ccc3ff; - --indigo-300: #ac99ff; - --indigo-400: #916aff; - --indigo-500: #63c; - --indigo-600: #5a21b2; - --indigo-700: #4e0b99; - --indigo-800: #3b0071; - --indigo-900: #220040; - --purple-25: #fbf7ff; - --purple-50: #f8f0ff; - --purple-100: #f4e8ff; - --purple-200: #e4c4ff; - --purple-300: #d49aff; - --purple-400: #c36aff; - --purple-500: #a219e6; - --purple-600: #9000c4; - --purple-700: #7c009f; - --purple-800: #600073; - --purple-900: #3d0043; - --magenta-25: #fff8fb; - --magenta-50: #fff2f6; - --magenta-100: #ffebf2; - --magenta-200: #ffcddf; - --magenta-300: #ffa8cb; - --magenta-400: #ff7fb7; - --magenta-500: #eb4799; - --magenta-600: #da3689; - --magenta-700: #c82179; - --magenta-800: #b00065; - --magenta-900: #8a004c; -} -@media (prefers-color-scheme: dark) { - :host { - --semantic-blue: var(--blue-700); - --semantic-red: var(--red-400); - --semantic-orange: var(--orange-400); - --semantic-green: var(--green-700); - --semantic-bg-blue: var(--blue-25); - --semantic-bg-red: var(--red-25); - --semantic-bg-orange: var(--orange-25); - --semantic-bg-green: var(--green-25); - --neutral-100: #121212; - --neutral-200: #424242; - --neutral-300: #616161; - --neutral-400: #757575; - --neutral-500: #9e9e9e; - --neutral-600: #bdbdbd; - --neutral-700: #e0e0e0; - --neutral-800: #eeeeee; - --neutral-900: #f5f5f5; - } -} -:host([theme='dark']) { - --semantic-blue: var(--blue-700); - --semantic-red: var(--red-400); - --semantic-orange: var(--orange-400); - --semantic-green: var(--green-700); - --semantic-bg-blue: var(--blue-25); - --semantic-bg-red: var(--red-25); - --semantic-bg-orange: var(--orange-25); - --semantic-bg-green: var(--green-25); - --neutral-100: #121212; - --neutral-200: #424242; - --neutral-300: #616161; - --neutral-400: #757575; - --neutral-500: #9e9e9e; - --neutral-600: #bdbdbd; - --neutral-700: #e0e0e0; - --neutral-800: #eeeeee; - --neutral-900: #f5f5f5; -} -/* @media (prefers-color-scheme: dark) { - :host { - --label-color: #fff; - --active-label-color: #000; - --menu-bg: #525252; - --active-bg: #5898ff; - --active-bg-dimmed: #5c5c5c; - } -} */ -:host { - --ui-font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, - 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', - 'Segoe UI Emoji', 'Segoe UI Symbol'; - --ui-font-size: 14px; - --ui-line-height: 1.5; - --ui-letter-spacing: 0.007em; - --mono-font-family: 'Berkeley Mono', 'JetBrains Mono', 'IBM Plex Mono', - 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace; - --ui-layer-1: var(--neutral-100); - --ui-layer-2: var(--neutral-200); - --ui-layer-3: var(--neutral-300); - --ui-layer-4: var(--neutral-400); - --ui-layer-5: var(--neutral-500); - --ui-layer-6: var(--neutral-600); - --ui-border-color: var(--primary-color); - --ui-border-radius: 4px; - --ui-text: var(--neutral-900); - --ui-text-secondary: var(--neutral-700); - --ui-text-placeholder: var(--neutral-500); - --ui-text-muted: var(--neutral-300); - /** A field is a UI element in which a user can type data, for - * example an input or textarea element. - */ - --ui-field-bg: var(--neutral-100); - --ui-field-bg-hover: var(--neutral-100); - --ui-field-bg-disabled: var(--neutral-300); - --ui-field-bg-invalid: var(--red-100); - --ui-field-bg-focus: var(--neutral-100); - --ui-field-border: 0.5px solid var(--border-color); - --ui-field-border-hover: 0.5px solid var(--border-color); - --ui-field-border-disabled: 0.5px solid var(--border-color); - --ui-field-border-invalid: 0.5px solid var(--border-color); - --ui-field-border-focus: 0.5px solid var(--border-color); - --ui-menu-bg: var(--neutral-100); - --ui-menu-text: var(--neutral-900); - --ui-menu-bg-hover: var(--neutral-200); - --ui-menu-text-hover: var(--neutral-900); - /** The \`active\` state is used for the state of menu items - * when they are selected. - */ - --ui-menu-bg-active: var(--primary-color); - --ui-menu-text-active: var(--primary-color-reverse); - /** The \`active-muted\` set is used for the state of - * submenus when they are open. - */ - --ui-menu-bg-active-muted: var(--neutral-300); - --ui-menu-text-active-muted: var(--neutral-900); - /* --ui-menu-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.302), -0 2px 6px 2px rgba(60, 64, 67, 0.149); */ - --ui-menu-shadow: 0 0 2px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 0, 0, 0.2); - --ui-menu-divider: 0.5px solid #c7c7c7; - /* var(--neutral-300); */ - --ui-menu-z-index: 10000; - --page-bg: var(--neutral-100); - --content-bg: var(--neutral-200); -} -@media (prefers-color-scheme: dark) { - :host { - --ui-menu-bg: var(--neutral-200); - } -} -:host([theme='dark']) { - --ui-menu-bg: var(--neutral-200); -} -/* PingFang SC is a macOS font. Microsoft Yahei is a Windows font. - Noto is a Linux/Android font. -*/ -:lang(zh-cn), -:lang(zh-sg), -:lang(zh-my), -:lang(zh) { - --ui-font-family: -apple-system, system-ui, 'PingFang SC', 'Hiragino Sans GB', - 'Noto Sans CJK SC', 'Noto Sans SC', 'Noto Sans', 'Microsoft Yahei UI', - 'Microsoft YaHei New', 'Microsoft Yahei', '\u5FAE\u8F6F\u96C5\u9ED1', SimSun, '\u5B8B\u4F53', - STXihei, '\u534E\u6587\u7EC6\u9ED1', sans-serif; -} -:lang(zh-tw), -:lang(zh-hk), -:lang(zh-mo) { - --ui-font-family: -apple-system, system-ui, 'Noto Sans', - 'Microsoft JhengHei UI', 'Microsoft JhengHei', '\u5FAE\u8EDF\u6B63\u9ED1\u9AD4', '\u65B0\u7D30\u660E\u9AD4', - 'PMingLiU', '\u7D30\u660E\u9AD4', 'MingLiU', sans-serif; -} -:lang(ja), -:lang(ja-jp), -:lang(ja-jp-mac) { - --ui-font-family: -apple-system, system-ui, 'Hiragino Sans', - 'Hiragino Kaku Gothic ProN', 'Noto Sans CJK JP', 'Noto Sans JP', 'Noto Sans', - '\u6E38\u30B4\u30B7\u30C3\u30AF', '\u6E38\u30B4\u30B7\u30C3\u30AF\u4F53', YuGothic, 'Yu Gothic', '\u30E1\u30A4\u30EA\u30AA', Meiryo, - '\uFF2D\uFF33 \uFF30\u30B4\u30B7\u30C3\u30AF', 'MS PGothic', sans-serif; -} -:lang(ko), -:lang(ko-kr), -:lang(ko-kr-std) { - --ui-font-family: -apple-system, system-ui, 'Noto Sans CJK KR', 'Noto Sans KR', - 'Noto Sans', 'Malgun Gothic', '\uB9D1\uC740 \uACE0\uB515', 'Apple SD Gothic Neo', - '\uC560\uD50C SD \uC0B0\uB3CC\uACE0\uB515 Neo', 'Apple SD \uC0B0\uB3CC\uACE0\uB515 Neo', '\uB3CB\uC6C0', Dotum, sans-serif; -} -:lang(ko-kr-apple) { - --ui-font-family: -apple-system, system-ui, 'Noto Sans CJK KR', 'Noto Sans KR', - 'Noto Sans', 'Apple SD Gothic Neo', '\uC560\uD50C SD \uC0B0\uB3CC\uACE0\uB515 Neo', - 'Apple SD \uC0B0\uB3CC\uACE0\uB515 Neo', '\uB3CB\uC6C0', Dotum, sans-serif; -} -:lang(zh-cn), -:lang(zh-sg), -:lang(zh-my), -:lang(zh), -:lang(zh-tw), -:lang(zh-hk), -:lang(zh-mo), -:lang(ja), -:lang(ja-jp), -:lang(ja-jp-mac), -:lang(ko), -:lang(ko-kr), -:lang(ko-kr-std), -:lang(ko-kr-apple) { - --ui-font-size: 1rem; - --ui-line-height: 1.7; - --ui-letter-spacing: 0; -} -:dir(rtl) { - --ui-line-height: auto; - --ui-letter-spacing: 0; -} -`,dp=`.ui-menu *, -.ui-menu ::before, -.ui-menu ::after { - box-sizing: border-box; -} -.ui-menu { - display: none; - color-scheme: light dark; - -webkit-user-select: none; - /* Important: Safari iOS doesn't respect user-select */ - user-select: none; - cursor: default; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0 0 0 0); - --active-label-color: #fff; - /* ui-menu-text-active */ - --label-color: #121212; - /* ui-menu-text */ - --menu-bg: #e2e2e2; - /* ui-menu-background */ - --active-bg: #5898ff; - /* ui-menu-background-active */ - --active-bg-dimmed: #c5c5c5; - /* ui-menu-background-active-muted */ -} -/** Use the :where pseudo selector to make the specificity of the - * selector 0, so that it can be overridden by the user. - */ -:where(.ui-menu-container) { - position: absolute; - overflow: visible; - width: auto; - height: auto; - z-index: 10000; - border-radius: 8px; - background: var(--ui-menu-bg); - box-shadow: var(--ui-menu-shadow); - list-style: none; - padding: 6px 0 6px 0; - margin: 0; - user-select: none; - cursor: default; - color: var(--ui-menu-text); - font-weight: normal; - font-style: normal; - text-shadow: none; - text-transform: none; - letter-spacing: 0; - outline: none; - opacity: 1; - /* The [popover] elements have a 1px solid black border. Ugh. */ - border: none; - width: fit-content; - height: fit-content; -} -:where(.ui-menu-container > li) { - display: flex; - flex-flow: row; - align-items: center; - padding: 1px 7px 1px 7px; - margin-top: 0; - margin-left: 6px; - margin-right: 6px; - border-radius: 4px; - white-space: nowrap; - position: relative; - outline: none; - fill: currentColor; - user-select: none; - cursor: default; - text-align: left; - color: inherit; - font-family: var(--ui-font-family); - font-size: var(--ui-font-size); - line-height: var(--ui-line-height); - letter-spacing: var(--ui-letter-spacing); -} -:where(.ui-menu-container > li > .label) { - appearance: none; - background: none; - outline: none; - width: 100%; - margin: 0; - padding: 1px 2px 1px 1px; - overflow: visible; - border: 1px solid transparent; - white-space: nowrap; - text-align: start; -} -:where(.ui-menu-container > li:has(.heading)) { - margin-top: 0.5em; -} -:where(.ui-menu-container > li > .label.heading) { - font-weight: bold; - opacity: 0.4; -} -:where(.ui-menu-container > li.indent > .label) { - margin-inline-start: 12px; -} -:where(.ui-menu-container > li > .label.indent) { - margin-inline-start: 12px; -} -:where(.ui-menu-container > li[role='divider']) { - border-bottom: 1px solid var(--ui-menu-divider); - border-radius: 0; - padding: 0; - margin-left: 15px; - margin-right: 15px; - padding-top: 5px; - margin-bottom: 5px; - width: calc(100% - 30px); - /** 100% - (margin-left + margin-right) */ -} -:where(.ui-menu-container > li[aria-disabled='true']) { - opacity: 0.5; -} -:where(.ui-menu-container > li.active) { - background: var(--ui-menu-bg-active); - background: -apple-system-control-accent; - color: var(--ui-menu-text-active); -} -:where(.ui-menu-container > li.active.is-submenu-open) { - background: var(--ui-menu-bg-active-muted); - color: inherit; -} -:where(.ui-menu-container > li[aria-haspopup='true'] > .label) { - padding-inline-end: 0; -} -:where(.ui-menu-container > li[aria-haspopup='true'].active::after) { - color: var(--ui-menu-text-active); -} -/** Keyboard shortcut */ -:where(.ui-menu-container > li > kbd) { - font-family: var(--ui-font-family); - margin-inline-start: 12px; - opacity: 0.4; -} -:where(.ui-menu-container > li.active > kbd) { - opacity: 0.85; -} -.ui-trailing-chevron { - display: flex; - margin-inline-start: 24px; - width: 10px; - height: 10px; - margin-bottom: 4px; -} -.ui-trailing-chevron:dir(rtl) { - transform: scaleX(-1); -} -.ui-checkmark { - display: flex; - margin-inline-end: -11px; - margin-inline-start: -4px; - margin-top: 2px; - width: 16px; - height: 16px; -} -.ui-mixedmark { - display: flex; - margin-inline-end: -11px; - margin-inline-start: -4px; - margin-top: 2px; - width: 16px; - height: 16px; -} -`,Oc;function oh(a){let y="";switch(a){case"mathfield-element":y=` - :host { display: inline-block; background-color: field; color: fieldtext; border-width: 1px; border-style: solid; border-color: #acacac; border-radius: 2px; padding:4px;} - :host([hidden]) { display: none; } - :host([disabled]), :host([disabled]:focus), :host([disabled]:focus-within) { outline: none; opacity: .5; } - :host(:focus), :host(:focus-within) { - outline: Highlight auto 1px; /* For Firefox */ - outline: -webkit-focus-ring-color auto 1px; - } - :host([readonly]:focus), :host([readonly]:focus-within), - :host([read-only]:focus), :host([read-only]:focus-within) { - outline: none; - } - @media (hover: none) and (pointer: coarse) { - :host(:not(:focus)) :first-child { pointer-events: none !important; } - }`;break;case"core":y=Bu;break;case"mathfield":y=Yh;break;case"environment-popover":y=T0;break;case"suggestion-popover":y=w0;break;case"keystroke-caption":y=ah;break;case"virtual-keyboard":y=cp;break;case"ui":y=u0;break;case"menu":y=dp;break;default:debugger}return y}function vh(a){return Oc||(Oc={}),Oc[a]||(Oc[a]=new CSSStyleSheet,Oc[a].replaceSync(oh(a))),Oc[a]}var Lf;function hf(a){var y;if(!("adoptedStyleSheets"in document)){if(window.document.getElementById(`mathlive-style-${a}`))return;const z=window.document.createElement("style");z.id=`mathlive-style-${a}`,z.append(window.document.createTextNode(oh(a))),window.document.head.appendChild(z);return}if(Lf||(Lf={}),((y=Lf[a])!=null?y:0)!==0)Lf[a]+=1;else{const z=vh(a);document.adoptedStyleSheets=[...document.adoptedStyleSheets,z],Lf[a]=1}}function ee(a){if("adoptedStyleSheets"in document&&Lf!=null&&Lf[a]&&(Lf[a]-=1,Lf[a]<=0)){const y=Oc[a];document.adoptedStyleSheets=document.adoptedStyleSheets.filter(z=>z!==y)}}var ae=class Qm extends ga{constructor(y){var z;super(_e(Xe({},y),{type:"accent",body:(z=y.body)!=null?z:void 0})),y.accentChar?this.accent=y.accentChar:this.svgAccent=y==null?void 0:y.svgAccent,this.skipBoundary=!0,this.captureSelection=!0}static fromJson(y){return new Qm(y)}toJson(){return _e(Xe({},super.toJson()),{accentChar:this.accent,svgAccent:this.svgAccent})}render(y){var z;const ie=new uc({parent:y,mathstyle:"cramp"},this.style),le=(z=ga.createBox(ie,this.body))!=null?z:new oo("\u25A2",{style:this.style});let ve=0;!this.hasEmptyBranch("body")&&this.body.length===2&&this.body[1].isCharacterBox()&&(ve=le.skew);let be=Math.min(le.height,du),Ne;if(this.svgAccent)Ne=bd(this.svgAccent),be=ie.metrics.bigOpSpacing1-be;else if(this.accent){const Ge=new oo(this.accent,{fontFamily:"Main-Regular"});Ge.italic=0;const lt=this.accent===8407?" ML__accent-vec":"";Ne=new oo(new oo(Ge),{classes:"ML__accent-body"+lt})}Ne=new yc({shift:0,children:[{box:new oo(le)},-be,{box:Ne,marginLeft:le.left+2*ve,classes:["ML__center"]}]});const ze=new oo(Ne,{type:"lift"});return this.caret&&(ze.caret=this.caret),this.bind(ie,ze.wrap(ie)),this.attachSupsub(ie,{base:ze})}},de={"(":")","{":"}","[":"]","|":"|","\\lbrace":"\\rbrace","\\lparen":"\\rparen","\\{":"\\}","\\langle":"\\rangle","\\lfloor":"\\rfloor","\\lceil":"\\rceil","\\vert":"\\vert","\\lvert":"\\rvert","\\Vert":"\\Vert","\\lVert":"\\rVert","\\lbrack":"\\rbrack","\\ulcorner":"\\urcorner","\\llcorner":"\\lrcorner","\\lgroup":"\\rgroup","\\lmoustache":"\\rmoustache"},ce=Object.fromEntries(Object.entries(de).map(([a,y])=>[y,a]));function me(a){var y;return(y={"[":91,"]":93,"(":40,")":41,"\\mid":8739,"|":8739,"\u2223":8739,"\u2225":8741,"\\|":8739,"\\{":123,"\\}":125,"\\lbrace":123,"\\rbrace":125,"\\lparen":40,"\\rparen":41,"\\lbrack":91,"\\rbrack":93,"\\vert":8739,"\\lvert":8739,"\\mvert":8739,"\\rvert":8739,"\\Vert":8741,"\\lVert":8741,"\\mVert":8741,"\\rVert":8741,"\\parallel":8741,"\\shortparallel":8741,"\\langle":10216,"\\rangle":10217,"\\lfloor":8970,"\\rfloor":8971,"\\lceil":8968,"\\rceil":8969,"\\ulcorner":9484,"\\urcorner":9488,"\\llcorner":9492,"\\lrcorner":9496,"\\lgroup":10222,"\\rgroup":10223,"\\lmoustache":9136,"\\rmoustache":9137,"\\surd":8730}[a])!=null?y:a.codePointAt(0)}function Se(a,y,z,ie){var le;const be=new oo(me(a),{fontFamily:"Main-Regular",isSelected:ie.isSelected,classes:"ML__small-delim "+((le=ie.classes)!=null?le:"")}).wrap(y);return z&&be.setTop((1-y.scalingFactor)*Ws),be}function Qe(a,y,z,ie,le){var ve,be;const Ne=new uc({parent:ie,mathstyle:"textstyle"},le==null?void 0:le.style),ze=new oo(me(a),{fontFamily:`Size${y}-Regular`,isSelected:le.isSelected,classes:((ve=le.classes)!=null?ve:"")+` ML__delim-size${y}`,type:(be=le.type)!=null?be:"ignore"}).wrap(Ne);return z&&ze.setTop((1-Ne.scalingFactor)*Ws),ze}function ct(a,y,z,ie,le){var ve;let be,Ne,ze,Ge;be=ze=Ge=me(a),Ne=null;let lt="Size1-Regular";a==="\\vert"||a==="\\lvert"||a==="\\rvert"||a==="\\mvert"||a==="\\mid"?ze=be=Ge=8739:a==="\\Vert"||a==="\\lVert"||a==="\\rVert"||a==="\\mVert"||a==="\\|"?ze=be=Ge=8741:a==="\\uparrow"?ze=Ge=9168:a==="\\Uparrow"?ze=Ge=8214:a==="\\downarrow"?be=ze=9168:a==="\\Downarrow"?be=ze=8214:a==="\\updownarrow"?(be=8593,ze=9168,Ge=8595):a==="\\Updownarrow"?(be=8657,ze=8214,Ge=8659):a==="["||a==="\\lbrack"?(be=9121,ze=9122,Ge=9123,lt="Size4-Regular"):a==="]"||a==="\\rbrack"?(be=9124,ze=9125,Ge=9126,lt="Size4-Regular"):a==="\\lfloor"||a==="\u230A"?(ze=be=9122,Ge=9123,lt="Size4-Regular"):a==="\\lceil"||a==="\u2308"?(be=9121,ze=Ge=9122,lt="Size4-Regular"):a==="\\rfloor"||a==="\u230B"?(ze=be=9125,Ge=9126,lt="Size4-Regular"):a==="\\rceil"||a==="\u2309"?(be=9124,ze=Ge=9125,lt="Size4-Regular"):a==="("||a==="\\lparen"?(be=9115,ze=9116,Ge=9117,lt="Size4-Regular"):a===")"||a==="\\rparen"?(be=9118,ze=9119,Ge=9120,lt="Size4-Regular"):a==="\\{"||a==="\\lbrace"?(be=9127,Ne=9128,Ge=9129,ze=9130,lt="Size4-Regular"):a==="\\}"||a==="\\rbrace"?(be=9131,Ne=9132,Ge=9133,ze=9130,lt="Size4-Regular"):a==="\\lgroup"||a==="\u27EE"?(be=9127,Ge=9129,ze=9130,lt="Size4-Regular"):a==="\\rgroup"||a==="\u27EF"?(be=9131,Ge=9133,ze=9130,lt="Size4-Regular"):a==="\\lmoustache"||a==="\u23B0"?(be=9127,Ge=9133,ze=9130,lt="Size4-Regular"):a==="\\rmoustache"||a==="\u23B1"?(be=9131,Ge=9129,ze=9130,lt="Size4-Regular"):a==="\\surd"?(be=57345,Ge=9143,ze=57344,lt="Size4-Regular"):a==="\\ulcorner"?(be=9484,ze=Ge=32):a==="\\urcorner"?(be=9488,ze=Ge=32):a==="\\llcorner"?(Ge=9492,ze=be=32):a==="\\lrcorner"&&(be=9496,ze=be=32);const Tt=Nc(be,lt),An=Tt.height+Tt.depth,$n=Nc(ze,lt),br=$n.height+$n.depth,Gi=Nc(Ge,lt),zo=Gi.height+Gi.depth;let ji=0,Za=1;if(Ne!==null){const Xf=Nc(Ne,lt);ji=Xf.height+Xf.depth,Za=2}const qo=An+zo+ji,io=Math.max(0,Math.ceil((y-qo)/(Za*br))),El=qo+io*Za*br;let ql=Ws;z&&(ql=ql*ie.scalingFactor);const zl=El/2-ql,Bc=.008,sd=[];sd.push({box:new oo(Ge,{fontFamily:lt})}),sd.push(-Bc);const gs=new oo(ze,{fontFamily:lt});if(Ne===null)for(let Xf=0;Xf","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),vr=[0,1.2,1.8,2.4,3];function bi(a,y,z,ie){return a===void 0||a==="."?qs(z,ie.classes):(a==="<"||a==="\\lt"||a==="\u27E8"?a="\\langle":(a===">"||a==="\\gt"||a==="\u27E9")&&(a="\\rangle"),xt.has(a)||Yn.has(a)?Qe(a,y,!1,z,ie):kt.has(a)?ct(a,vr[y],!1,z,ie):(console.assert(!1,"Unknown delimiter '"+a+"'"),null))}var si=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],xa=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"stack"}],Ga=[{type:"small",mathstyle:"scriptscriptstyle"},{type:"small",mathstyle:"scriptstyle"},{type:"small",mathstyle:"textstyle"},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}];function Zo(a){return a.type==="small"?"Main-Regular":a.type==="large"?"Size"+a.size+"-Regular":(console.assert(a.type==="stack"),"Size4-Regular")}function Ps(a,y,z,ie){const le={"-4":0,"-3":1,0:2}[ie.mathstyle.sizeDelta];for(let ve=le;vey)return z[ve]}return z[z.length-1]}function Zs(a,y,z,ie,le,ve){if(!y||y.length===0||y===".")return qs(le);y==="<"||y==="\\lt"?y="\\langle":(y===">"||y==="\\gt")&&(y="\\rangle");let be;Yn.has(y)?be=si:xt.has(y)?be=Ga:be=xa;const Ne=Ps(me(y),z,be,le),ze=new uc({parent:le,mathstyle:Ne.mathstyle},ve==null?void 0:ve.style);return Ne.type==="small"?Se(y,ze,ie,_e(Xe({},ve),{type:a})):Ne.type==="large"?Qe(y,Ne.size,ie,ze,_e(Xe({},ve),{type:a})):(console.assert(Ne.type==="stack"),ct(y,z,ie,ze,_e(Xe({},ve),{type:a})))}function cs(a,y,z,ie,le,ve){if(y===".")return qs(le,ve==null?void 0:ve.classes);const be=Ws*le.scalingFactor,Ne=901,ze=5/As,Ge=Math.max(z-be,ie+be),lt=Math.max(Ge/500*Ne,2*Ge-ze);return Zs(a,y,lt,!0,le,ve)}function qs(a,y){const z=new oo(null,{classes:" nulldelimiter "+(y!=null?y:""),type:"ignore"});return z.width=a.getRegisterAsEm("nulldelimiterspace"),z.wrap(new uc({parent:a,mathstyle:"textstyle"}))}var ml=class Wm extends ga{constructor(y){var z;super({type:"placeholder",command:"\\placeholder",mode:(z=y==null?void 0:y.mode)!=null?z:"math",style:y==null?void 0:y.style}),this.captureSelection=!0}static fromJson(y){return new Wm(y)}toJson(){return super.toJson()}render(y){let z;return this.value=y.placeholderSymbol,typeof y.renderPlaceholder=="function"?z=y.renderPlaceholder(y):z=this.createBox(y),this.caret&&(z.classes+=" ML__placeholder-selected"),z}_serialize(y){return y.skipPlaceholders?"":"\\placeholder{}"}},Cl=["matrix","matrix*","pmatrix","pmatrix*","bmatrix","bmatrix*","Bmatrix","Bmatrix*","vmatrix","vmatrix*","Vmatrix","Vmatrix*"],ec=["cases","dcases","rcases"],Rc=["align","align*","aligned","gather","gathered","split"],Md=["array","subequations","eqnarray"];function Jc(a){return Md.concat(Rc).concat(ec).concat(Cl).includes(a)}function $d(a){return Cl.includes(a)}function pf(a){return ec.includes(a)}function od(a){return Rc.includes(a)}function ef(a,y,z){let ie=0;for(const Ge of z)"align"in Ge&&(ie+=1);let le=0;const ve=[];for(const Ge of y){let lt=0;for(le=Math.max(le,Math.min(Ge.length,ie));ltbr.type==="first")),Tt.push($n)),lt+=1}ve.push(Tt)}}ve.length>0&&ve[ve.length-1].length===1&&ve[ve.length-1][0].length===1&&ve[ve.length-1][0][0].type==="first"&&ve.pop();const be=[];for(const Ge of ve){if(Ge.length!==le)for(let lt=Ge.length;ltz.map(ie=>ie.map(le=>le.toJson()))),rowGaps:this.rowGaps,columns:this.colFormat,colSeparationType:this.colSeparationType});return this.arraystretch!==void 0&&(y.arraystretch=this.arraystretch),this.arraycolsep!==void 0&&(y.arraycolsep=this.arraycolsep),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),y}branch(y){var z;if(Nh(y))return(z=this.array[y[0]][y[1]])!=null?z:void 0}createBranch(y){var z;return Nh(y)?(this.isDirty=!0,(z=this.branch(y))!=null?z:[]):[]}get rowCount(){return this.array.length}get colCount(){return this.array[0].length}get maxColumns(){return this.colFormat.filter(y=>!!y.align).length}removeBranch(y){if(Sd(y))return super.removeBranch(y);const z=this.branch(y);return this.array[y[0]][y[1]]=void 0,z.forEach(ie=>{ie.parent=void 0,ie.parentBranch=void 0}),console.assert(z[0].type==="first"),z.shift(),this.isDirty=!0,z}get hasChildren(){return this.children.length>0}get children(){const y=[];for(const z of this.array)for(const ie of z)if(ie)for(const le of ie)y.push(...le.children),y.push(le);return[...y,...super.children]}render(y){var z,ie,le,ve,be,Ne;const ze=new uc({parent:y,mathstyle:this.mathstyleName},this.style),Ge=ze.getRegisterAsEm("arrayrulewidth"),lt=ze.getRegisterAsEm("arraycolsep"),Tt=ze.getRegisterAsEm("doublerulesep"),An=(ie=(z=this.arraystretch)!=null?z:ze.getRegisterAsNumber("arraystretch"))!=null?ie:1;let $n=typeof this.arraycolsep=="number"?this.arraycolsep:lt;this.colSeparationType==="small"&&($n=.2778*(new uc({parent:y,mathstyle:"scriptstyle"}).scalingFactor/y.scalingFactor));const br=An*Vu,Gi=.7*br,zo=.3*br;let ji=0;const Za=[];let qo=0;const io=this.array.length;for(let dd=0;dd0&&(sp+=zo,ap=Math.max(ap,sp),sp=0),dd0&&ql.push(new yc({individualShift:lf}))}const zl=[];let Bc=!1,sd=!1,gs=0,i0=!this.leftDelim;const{colFormat:rp}=this;for(const dd of rp){if("align"in dd&&gs>=ql.length)break;if("align"in dd)Bc?zl.push(qc(2*$n)):(sd||i0)&&zl.push(qc($n)),zl.push(new oo(ql[gs],{classes:"col-align-"+dd.align})),gs++,Bc=!0,sd=!1,i0=!1;else if("gap"in dd){if(typeof dd.gap=="number")zl.push(qc(dd.gap));else{const lf=ss(y,Za,El,dd.gap);lf&&zl.push(lf)}Bc=!1,sd=!1,i0=!1}else if("separator"in dd){const lf=new oo(null,{classes:"vertical-separator"});lf.height=ji,lf.setStyle("height",ji,"em"),lf.setStyle("border-right",`${Ge}em ${dd.separator} currentColor`),lf.setStyle("vertical-align",-(ji-El),"em");let Vf=0;sd?Vf=Tt-Ge:Bc&&(Vf=$n-Ge),lf.left=Vf,zl.push(lf),Bc=!1,sd=!0,i0=!1}}Bc&&!this.rightDelim&&zl.push(qc($n));const v0=new oo(zl,{classes:"mtable"});if((!this.leftDelim||this.leftDelim===".")&&(!this.rightDelim||this.rightDelim==="."))return this.caret&&(v0.caret=this.caret),this.bind(y,v0);const Xf=v0.height,a0=v0.depth,jh=this.bind(y,new oo([this.bind(y,cs("open",(be=this.leftDelim)!=null?be:".",Xf,a0,ze,{isSelected:this.isSelected})),v0,this.bind(y,cs("close",(Ne=this.rightDelim)!=null?Ne:".",Xf,a0,ze,{isSelected:this.isSelected}))],{type:"ord"}));return jh?(jh.setStyle("display","inline-block"),this.caret&&(jh.caret=this.caret),this.bind(y,this.attachSupsub(y,{base:jh}))):null}_serialize(y){var z;const ie=[];if(this.environmentName==="lines"?ie.push("{\\displaylines"):ie.push(`\\begin{${this.environmentName}}`),this.environmentName==="array"){if(ie.push("{"),this.colFormat!==void 0)for(const le of this.colFormat)"align"in le&&typeof le.align=="string"?ie.push(le.align):"separator"in le&&le.separator==="solid"?ie.push("|"):"separator"in le&&le.separator==="dashed"&&ie.push(":");ie.push("}")}for(let le=0;le0&&ie.push(" & "),ie.push(ga.serialize(this.array[le][ve],y));if(ley);const z=this.array.splice(y,1);for(const ie of z)for(const le of ie)if(le)for(const ve of le)ve.parent=void 0,ve.parentBranch=void 0;for(let ie=y;iey);for(const z of this.array){const ie=z.splice(y,1);for(const le of ie)if(le)for(const ve of le)ve.parent=void 0,ve.parentBranch=void 0}for(let z=0;zle.type!=="first"));return y}};function ed(a){const y=new ga({type:"first",mode:a.mode});y.parent=a;const z=new ml;return z.parent=a,[y,z]}function qc(a){const y=new oo(null,{classes:"arraycolsep"});return y.width=a,y}function ss(a,y,z,ie){if(!ie)return null;const le=[];for(const ve of y){const be=ga.createBox(a,ie,{type:"ignore"});be&&(be.depth=ve.depth,be.height=ve.height,le.push({box:be,shift:ve.pos-z}))}return new yc({individualShift:le}).wrap(a)}var pd=class Gm extends ga{constructor(y){super({mode:y.mode,command:y.command,style:y.style,body:y.body,type:"box"}),this.framecolor=y.framecolor,this.backgroundcolor=y.backgroundcolor,this.padding=y.padding,this.offset=y.offset,this.border=y.border}static fromJson(y){return new Gm(y)}toJson(){return _e(Xe({},super.toJson()),{framecolor:this.framecolor,backgroundcolor:this.backgroundcolor,padding:this.padding,offset:this.offset,border:this.border})}render(y){var z,ie,le,ve;const be=ga.createBox(y,this.body,{type:"lift"});if(!be)return null;const Ne=y.toEm((z=this.offset)!=null?z:{dimension:0});be.depth+=Ne,be.setStyle("display","inline-block"),be.setStyle("position","relative"),be.setStyle("height",Math.floor(100*be.height+be.depth)/100,"em"),be.setStyle("vertical-align",-Math.floor(100*be.height)/100,"em");const ze=new uc({parent:y},this.style),Ge=ze.toEm((ie=this.padding)!=null?ie:{register:"fboxsep"}),lt=new oo(null,{classes:"ML__box"});lt.height=be.height+Ge,lt.depth=be.depth+Ge,lt.setStyle("box-sizing","border-box"),lt.setStyle("position","absolute"),lt.setStyle("top",-Ge+.3,"em"),lt.setStyle("left",0),lt.setStyle("height",lt.height+lt.depth,"em"),lt.setStyle("width","100%"),this.backgroundcolor&<.setStyle("background-color",(le=ze.toColor(this.backgroundcolor))!=null?le:"transparent"),this.framecolor&<.setStyle("border",`${ze.getRegisterAsEm("fboxrule",2)}em solid ${(ve=ze.toColor(this.framecolor))!=null?ve:"black"}`),this.border&<.setStyle("border",this.border);const Tt=new oo([lt,be],{type:"lift"});return Tt.setStyle("display","inline-block"),Tt.setStyle("position","relative"),Tt.setStyle("line-height",0),Tt.height=be.height+Ge+(Ne>0?Ne:0),Tt.depth=be.depth+Ge+(Ne<0?-Ne:0),Tt.setStyle("padding-left",Ge,"em"),Tt.setStyle("padding-right",Ge,"em"),Tt.setStyle("height",Math.floor(100*(be.height+be.depth+2*Ge+Math.abs(Ne)))/100,"em"),Tt.setStyle("margin-top",-Ge,"em"),Tt.setStyle("top",Math.floor(100*(be.depth-be.height+2*Ge-Ne))/100,"em"),Tt.setStyle("vertical-align",Math.floor(100*(be.depth+2*Ge))/100,"em"),this.caret&&(Tt.caret=this.caret),this.attachSupsub(y,{base:Tt})}_serialize(y){return y.skipStyles?ju([this.bodyToLatex(y),this.supsubToLatex(y)]):super._serialize(y)}},Bh=class Um extends ga{constructor(y,z){var ie;super({type:"composition",mode:(ie=z==null?void 0:z.mode)!=null?ie:"math",value:y})}static fromJson(y){return new Um(y.value,y)}toJson(){return super.toJson()}get computedStyle(){return{}}render(y){const z=new oo(this.value,{classes:"ML__composition",type:"composition"});return this.bind(y,z),this.caret&&(z.caret=this.caret),z}_serialize(y){return""}},bf=class Ym extends ga{constructor(y){super({type:"error",value:y,command:y,mode:"math"}),this.verbatimLatex=y}static fromJson(y){return new Ym(y.command)}toJson(){return super.toJson()}render(y){const z=this.createBox(y,{classes:"ML__error"});return this.caret&&(z.caret=this.caret),z}},Id=class Jm extends ga{constructor(y,z,ie){super({type:"group",mode:z,style:ie}),this.body=y,this.boxType=y.length>1?"ord":"ignore",this.skipBoundary=!0,this.displayContainsHighlight=!1,y&&y.length===1&&y[0].command===","&&(this.captureSelection=!0)}static fromJson(y){return new Jm(y.body,y.mode,y.style)}render(y){const z=ga.createBox(y,this.body,{type:this.boxType});return z?(this.caret&&(z.caret=this.caret),this.bind(y,z)):null}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);return z!=null&&z.serialize?z.serialize(this,y):`{${this.bodyToLatex(y)}}`}},Ae=class qm extends ga{constructor(y,z,ie){super({type:"leftright",style:ie.style,displayContainsHighlight:!0}),this.variant=y,this.body=z,this.leftDelim=ie.leftDelim,this.rightDelim=ie.rightDelim}static fromJson(y){var z;return new qm((z=y.variant)!=null?z:"",y.body,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),y}_serialize(y){var z,ie;const le=this.matchingRightDelim();return this.variant==="left...right"?ju(["\\left",(z=this.leftDelim)!=null?z:".",this.bodyToLatex(y),"\\right",le]):this.variant==="mleft...mright"?ju(["\\mleft",(ie=this.leftDelim)!=null?ie:".",this.bodyToLatex(y),"\\mright",le]):ju([!this.leftDelim||this.leftDelim==="."?"":this.leftDelim,this.bodyToLatex(y),le])}matchingRightDelim(){var y,z;if(this.rightDelim&&this.rightDelim!=="?")return this.rightDelim;const ie=(y=this.leftDelim)!=null?y:".";return(z=de[ie])!=null?z:ie}render(y){var z,ie;const le=new uc({parent:y},this.style);console.assert(this.body!==void 0);const ve=new uc({parent:y,mathstyle:"textstyle"},this.style),be=(z=ga.createBox(le,this.body,{type:"inner"}))!=null?z:new oo(null,{type:"inner"}),Ne=be.height/ve.scalingFactor,ze=be.depth/ve.scalingFactor,Ge=[];if(this.leftDelim&&Ge.push(this.bind(ve,cs("open",this.leftDelim,Ne,ze,ve,{isSelected:this.isSelected,classes:"ML__open"+(this.containsCaret?" ML__contains-caret":""),mode:this.mode,style:this.style}))),be&&(xe(be.children,this,le,Ne,ze),Ge.push(be)),this.rightDelim){let $n=this.containsCaret?" ML__contains-caret":"",br=this.rightDelim;br==="?"&&(le.smartFence?(br=this.matchingRightDelim(),$n+=" ML__smart-fence__close"):br="."),Ge.push(this.bind(ve,cs("close",br,Ne,ze,ve,{isSelected:this.isSelected,classes:$n+" ML__close",mode:this.mode,style:this.style})))}let lt=this.variant==="mleft...mright";const Tt=this.leftSibling;Tt&&(!lt&&Tt.isFunction&&(lt=!0),!lt&&Tt.type==="subsup"&&((ie=Tt.leftSibling)!=null&&ie.isFunction)&&(lt=!0));const An=new oo(Ge,{type:lt?"close":"inner",classes:"left-right"});return An.setStyle("margin-top",`${-be.depth}em`),An.setStyle("height",`${be.height+be.depth}em`),this.caret&&(An.caret=this.caret),this.bind(le,An.wrap(le))}};function xe(a,y,z,ie,le){if(a)for(let ve=0;vez.type!=="first").map(z=>z.toJson())),this.correctness&&(y.correctness=this.correctness),y.locked=this.locked,y}render(y){const z=new uc({parent:y}),ie=z.getRegisterAsEm("fboxsep"),le=ie,ve=ie,be=ga.createBox(y,this.body);if(!be)return null;be.height||(be.height=z.metrics.xHeight),be.setStyle("vertical-align",-be.height,"em"),this.correctness==="correct"?be.setStyle("color","var(--correct-color, var(--ML__correct-color))"):this.correctness==="incorrect"&&be.setStyle("color","var(--incorrect-color, var(--ML__incorrect-color))");const Ne=new oo(be,{type:"ord"});Ne.setStyle("display","inline-block"),Ne.setStyle("height",be.height+be.depth,"em"),Ne.setStyle("vertical-align",-ve,"em");let ze="ML__prompt ";this.locked?ze+=" ML__lockedPromptBox ":ze+=" ML__editablePromptBox ",this.correctness==="correct"?ze+=" ML__correctPromptBox ":this.correctness==="incorrect"&&(ze+=" ML__incorrectPromptBox "),this.containsCaret&&(ze+=" ML__focusedPromptBox ");const Ge=new oo(null,{classes:ze,attributes:{part:"prompt"}});Ge.height=Ne.height+ve,Ge.depth=Ne.depth+ve,Ge.width=Ne.width+2*le,Ge.setStyle("box-sizing","border-box"),Ge.setStyle("position","absolute"),Ge.setStyle("height",Ne.height+Ne.depth+2*ve,"em"),le===0&&Ge.setStyle("width","100%"),le!==0&&(Ge.setStyle("width",`calc(100% + ${2*le}em)`),Ge.setStyle("top",ie,"em"),Ge.setStyle("left",-le,"em")),(!this.body||this.body.length===1)&&(Ge.width=3*le,Ge.setStyle("width",`calc(100% + ${3*le}em)`),Ge.setStyle("left",-1.5*le,"em"));let lt="";this.correctness==="incorrect"&&(lt+=''),lt&&(Ge.svgOverlay=lt);const Tt=new oo([Ge,Ne],{classes:"ML__prompt-atom"});return Tt.setStyle("position","relative"),Tt.setStyle("display","inline-block"),Tt.setStyle("line-height",0),Tt.height=Ne.height+ve+.2,Tt.depth=Ne.depth+ve,Tt.left=le,Tt.right=le,Tt.setStyle("height",Ne.height+ve,"em"),Tt.setStyle("top",Ne.depth-Ne.height,"em"),Tt.setStyle("vertical-align",Ne.depth+ve,"em"),Tt.setStyle("margin-left",.5,"em"),Tt.setStyle("margin-right",.5,"em"),this.caret&&(Tt.caret=this.caret),this.bind(z,this.attachSupsub(y,{base:Tt}))}_serialize(y){var z;const ie=(z=this.bodyToLatex(y))!=null?z:"";if(y.skipPlaceholders)return ie;let le="\\placeholder";return this.placeholderId&&(le+=`[${this.placeholderId}]`),this.correctness==="correct"?le+="[correct]":this.correctness==="incorrect"&&(le+="[incorrect]"),this.locked&&(le+="[locked]"),Ec(le,ie)}},ft=class t1 extends ga{constructor(y){super({type:"subsup",style:y==null?void 0:y.style}),this.subsupPlacement="auto"}static fromJson(y){const z=new t1(y);for(const ie of Ja)y[ie]&&z.setChildren(y[ie],ie);return z}render(y){var z;const ie=new uc({parent:y,isPhantom:!0}),le=this.leftSibling,ve=(z=le.render(ie))!=null?z:new oo(null),be=new oo(null);return be.height=ve.height,be.depth=ve.depth,this.attachSupsub(y,{base:be,isCharacterBox:le.isCharacterBox(),type:"ignore"})}_serialize(y){return this.supsubToLatex(y)}};function St(a){return a?!/^(<$$>|<$>||<{>|<}>|#[0-9\?]|\\.+)$/.test(a):!1}var zt=class{constructor(a,y,z){this.errors=[],this.index=0,this.endCount=0;var ie,le,ve,be;z!=null||(z={}),this.tokens=a,this.context=y instanceof uc&&!(z!=null&&z.parseMode)&&!z.mathstyle?y:new uc({from:y,mathstyle:z.mathstyle},z.style),this.args=(ie=z.args)!=null?ie:void 0,this.smartFence=this.context.smartFence,this.parsingContext={parent:void 0,mathlist:[],style:(le=z.style)!=null?le:{},parseMode:(ve=z.parseMode)!=null?ve:"math",mathstyle:(be=z.mathstyle)!=null?be:"displaystyle",tabular:!1}}beginContext(a){var y,z,ie;const le=this.parsingContext,ve={parent:le,mathlist:[],style:Xe({},le.style),parseMode:(y=a==null?void 0:a.mode)!=null?y:le.parseMode,mathstyle:(z=a==null?void 0:a.mathstyle)!=null?z:le.mathstyle,tabular:(ie=a==null?void 0:a.tabular)!=null?ie:!1};this.parsingContext=ve}endContext(){this.parsingContext=this.parsingContext.parent}onError(a){this.errors.push(Xe({before:yf(this.tokens.slice(this.index,this.index+10)),after:yf(this.tokens.slice(Math.max(0,this.index-10),this.index))},a))}get mathlist(){return this.parsingContext.mathlist}set mathlist(a){this.parsingContext.mathlist=a}get parseMode(){return this.parsingContext.parseMode}set parseMode(a){this.parsingContext.parseMode=a}get tabularMode(){return this.parsingContext.tabular}get style(){let a=this.parsingContext;for(;a;){if(a.style)return Xe({},a.style);a=a.parent}return{}}set style(a){this.parsingContext.style=a}end(){return this.endCount++,this.index>=this.tokens.length||this.endCount>1e3}next(){this.index+=1}get(){return this.endCount=0,this.index0&&(a=this.mathlist[this.mathlist.length-1],a.type==="subsup"||a.subsupPlacement!==void 0)||(a=new ft({style:this.style}),this.mathlist.push(a)),a}hasPattern(a){return a.test(this.tokens[this.index])}hasInfixCommand(){var a;const{index:y}=this;if(y"););}skipUntilToken(a){let y=this.tokens[this.index];for(;y&&y!==a;)y=this.tokens[++this.index];y===a&&this.index++}skipFiller(){for(;this.match("\\relax")||this.match(""););}matchKeyword(a){const y=this.index;let z=this.end(),ie="";for(;!z;){const ve=this.get();St(ve)?(ie+=ve,z=this.end()||ie.length>=a.length):z=!0}const le=a.toUpperCase()===ie.toUpperCase();return le||(this.index=y),le}scanString(){let a="";for(;!this.end();){const y=this.peek();if(y==="]")return a;if(y==="")a+=" ";else if(y.startsWith("\\"))this.onError({code:"unexpected-command-in-string"}),a+=y.substring(1);else if(St(y))a+=y;else return a;this.next()}return a}scanBalancedString(){let a="",y=this.end(),z=1;for(;!y;){const ie=this.get();ie===""?a+=" ":ie==="<{>"?(a+="{",z+=1):ie==="<}>"?(z-=1,z>0?a+="}":this.index-=1):ie==="<$>"?a+="$":ie==="<$$>"?a+="$$":a+=ie,y=z===0||this.end()}return a}scanLiteralGroup(){var a;if(!this.match("<{>"))return"";let y="",z=1;for(;z>0&&!this.end();){const ie=this.get();ie==="<}>"?(z-=1,z>0&&(y+="}")):ie==="<{>"?(z+=1,y+="{"):(/\\[a-zA-Z]+$/.test(y)&&/^[a-zA-Z]/.test(ie)&&(y+=" "),y+=(a={"":" ","<$$>":"$$","<$>":"$"}[ie])!=null?a:ie)}return y}scanNumber(a=!0){var y,z;let ie=!1,le=this.peek();for(;le===""||le==="+"||le==="-";)this.get(),le==="-"&&(ie=!ie),le=this.peek();a=!!a;let ve=10,be=/\d/;if(this.match("'"))ve=8,be=/[0-7]/,a=!0;else if(this.match('"'))ve=16,be=/[\dA-F]/,a=!0;else if(this.match("x"))ve=16,be=/[\dA-Fa-f]/,a=!0;else if(this.match("`"))return le=this.get(),le?le.length===2&&le.startsWith("\\")?{number:(ie?-1:1)*((y=le.codePointAt(1))!=null?y:0),base:"alpha"}:{number:(ie?-1:1)*((z=le.codePointAt(0))!=null?z:0),base:"alpha"}:null;let Ne="";for(;this.hasPattern(be);)Ne+=this.get();if(!a&&(this.match(".")||this.match(",")))for(Ne+=".";this.hasPattern(be);)Ne+=this.get();const ze=a?Number.parseInt(Ne,ve):Number.parseFloat(Ne);return Number.isNaN(ze)?null:{number:ie?-ze:ze,base:ve===16?"hexadecimal":ve===8?"octal":"decimal"}}scanRegister(){var a;const y=this.index,z=this.scanNumber(!1);if(this.skipWhitespace(),this.match("\\relax"))return z;let ie=!1;if(z===null)for(;;){const ve=this.peek();if(ve==="-")ie=!ie;else if(ve!=="+")break;this.next(),this.skipWhitespace()}if(this.match("\\global")){this.skipWhitespace();const ve=this.get();return ve.startsWith("\\")?z?{register:ve,global:!0,factor:(ie?-1:1)*z.number}:ie?{register:ve,global:!0,factor:-1}:{register:ve,global:!0}:(this.index=y,null)}let le=this.get();return le!=null&&le.startsWith("\\")?(le=le.substring(1),this.context.registers[le]?!ie||z!==null?{register:le,factor:(ie?-1:1)*((a=z==null?void 0:z.number)!=null?a:1)}:{register:le}:(this.index=y,null)):(this.index=y,null)}scanValue(){const a=this.scanRegister();if(a)return a;const y=this.index,z=this.scanGlueOrDimen();if(z&&("unit"in z||"glue"in z&&"unit"in z.glue))return z;this.index=y;const ie=this.scanNumber();if(ie)return ie;if(this.end()||!St(this.peek()))return null;const le=this.scanString();return le.length>0?{string:le}:null}scanDimen(){const a=this.scanNumber(!1);if(a===null)return null;const y=a.number;this.skipWhitespace(),this.matchKeyword("true"),this.skipWhitespace();let z;return this.matchKeyword("pt")?z="pt":this.matchKeyword("mm")?z="mm":this.matchKeyword("cm")?z="cm":this.matchKeyword("ex")?z="ex":this.matchKeyword("px")?z="px":this.matchKeyword("em")?z="em":this.matchKeyword("bp")?z="bp":this.matchKeyword("dd")?z="dd":this.matchKeyword("pc")?z="pc":this.matchKeyword("in")?z="in":this.matchKeyword("mu")&&(z="mu"),z?{dimension:y,unit:z}:{dimension:y}}scanGlueOrDimen(){const a=this.scanDimen();if(a===null)return null;if(this.skipWhitespace(),this.match("\\relax"))return a;const y={glue:a};if(this.matchKeyword("plus")){const z=this.scanDimen();if(z)y.grow=z;else return y}if(this.skipWhitespace(),this.match("\\relax"))return y;if(this.skipWhitespace(),this.matchKeyword("minus")){const z=this.scanDimen();if(z)y.shrink=z;else return y}return!y.grow&&!y.shrink?a:y}scanColspec(){this.skipWhitespace();const a=[];for(;!this.end()&&!(this.peek()==="<}>"||this.peek()==="]");){const y=this.get();y==="c"||y==="r"||y==="l"?a.push({align:y}):y==="|"?a.push({separator:"solid"}):y===":"?a.push({separator:"dashed"}):y==="@"&&(this.match("<{>")&&(this.beginContext({mode:"math"}),a.push({gap:this.scan(z=>z==="<}>")}),this.endContext()),this.match("<}>")||this.onError({code:"unbalanced-braces"}))}return a}scanModeSet(){let a;if(this.match("\\(")&&(a="textstyle"),!a&&this.match("\\[")&&(a="displaystyle"),!a)return null;this.beginContext({mode:"math",mathstyle:a});const y=this.scan(z=>z===(a==="displaystyle"?"\\]":"\\)"));return this.match(a==="displaystyle"?"\\]":"\\)")||this.onError({code:"unbalanced-mode-shift"}),this.endContext(),y}scanModeShift(){let a="";if(this.match("<$>")&&(a="<$>"),!a&&this.match("<$$>")&&(a="<$$>"),!a)return null;this.beginContext({mode:"math",mathstyle:"textstyle"});const y=this.scan(z=>z===a);return this.match(a)||this.onError({code:"unbalanced-mode-shift"}),this.endContext(),y}scanEnvironment(){if(!this.match("\\begin"))return null;const a=this.scanArgument("string");if(!a)return null;const y=Lt(a);if(!y)return this.onError({code:"unknown-environment",arg:a}),null;const z=[];if(y.params)for(const Ne of y.params)if(Ne.isOptional)z.push(this.scanOptionalArgument(Ne.type));else{const ze=this.scanArgument(Ne.type);ze||this.onError({code:"missing-argument",arg:a}),z.push(ze)}this.beginContext({tabular:y.tabular});const ie=[],le=[];let ve=[],be=!1;do if(this.end()&&(this.onError({code:"unbalanced-environment",arg:a}),be=!0),!be&&this.match("\\end")&&(this.scanArgument("string")!==a&&this.onError({code:"unbalanced-environment",arg:a}),be=!0),!be)if(this.matchColumnSeparator())ve.push(this.mathlist),this.mathlist=[];else if(this.matchRowSeparator()){ve.push(this.mathlist),this.mathlist=[];let Ne=null;this.skipWhitespace(),this.match("[")&&(Ne=this.scanDimen(),this.skipWhitespace(),this.match("]")),le.push(Ne!=null?Ne:{dimension:0}),ie.push(ve),ve=[]}else this.mathlist.push(...this.scan(Ne=>["<}>","&","\\end","\\cr","\\\\","\\tabularnewline"].includes(Ne)));while(!be);return ve.push(this.mathlist),ve.length>0&&ie.push(ve),this.endContext(),y.createAtom(a,ie,le,z)}scanExpression(){const a=this.mathlist;if(this.mathlist=[],this.parseExpression()){const y=this.mathlist;return this.mathlist=a,y}return this.mathlist=a,null}scan(a){this.beginContext(),a||(a=be=>be==="<}>");let y="",z=null,ie=[],le=null;for(;!this.end()&&!a(this.peek());)this.hasInfixCommand()&&!y?(y=this.get(),z=gn(y,"math"),z&&(ie=this.scanArguments(z)[1]),le=this.mathlist,this.mathlist=[]):this.parseExpression();let ve;return y?(console.assert(!!z),ie.unshift(this.mathlist),le&&ie.unshift(le),ve=[z.createAtom({command:y,args:ie,style:this.style,mode:this.parseMode})]):ve=this.mathlist,this.endContext(),ve}scanGroup(){const a=this.index;if(!this.match("<{>"))return null;const y=this.scan(ie=>ie==="<}>");this.match("<}>")||this.onError({code:"unbalanced-braces"});const z=new Id(y,this.parseMode,this.style);return z.verbatimLatex=yf(this.tokens.slice(a,this.index)),z}scanSmartFence(){if(this.skipWhitespace(),!this.match("("))return null;this.beginContext();let a=1;for(;!this.end()&&a!==0;)this.match("(")&&(a+=1),this.match(")")&&(a-=1),a!==0&&this.parseExpression();const y=new Ae("",this.mathlist,{leftDelim:"(",rightDelim:a===0?")":"?"});return this.endContext(),y}scanDelim(){this.skipWhitespace();const a=this.peek();if(!a)return this.onError({code:"unexpected-end-of-string"}),null;if(!St(a)&&!a.startsWith("\\"))return null;this.next();const y=gn(a,"math");return y?y.definitionType==="function"&&y.ifMode&&!y.ifMode.includes(this.parseMode)?(this.onError({code:"unexpected-delimiter",arg:a}),null):y.definitionType==="symbol"&&(y.type==="mopen"||y.type==="mclose")||/^(\.|\?|\||<|>|\\vert|\\Vert|\\\||\\surd|\\uparrow|\\downarrow|\\Uparrow|\\Downarrow|\\updownarrow|\\Updownarrow|\\mid|\\mvert|\\mVert)$/.test(a)?a:(this.onError({code:"unexpected-delimiter",arg:a}),null):(this.onError({code:"unknown-command",arg:a}),null)}scanLeftRight(){var a;if(this.match("\\right"))return this.onError({code:"unbalanced-braces"}),new bf("\\right");if(this.match("\\mright"))return this.onError({code:"unbalanced-braces"}),new bf("\\mright");let y="\\right";if(!this.match("\\left")){if(!this.match("\\mleft"))return null;y="\\mright"}const z=this.scanDelim();if(!z)return this.onError({code:"unexpected-delimiter"}),new bf(y==="\\right"?"\\left":"\\mleft");for(this.beginContext();!this.end()&&!this.match(y);)this.parseExpression();const ie=this.mathlist;this.endContext();const le=(a=this.scanDelim())!=null?a:".";return new Ae(y==="\\right"?"left...right":"mleft...mright",ie,{leftDelim:z,rightDelim:le,style:this.style})}parseSupSub(){if(this.parseMode!=="math")return!1;let a=this.peek();if(a!=="^"&&a!=="_"&&a!=="'")return!1;const y=this.lastSubsupAtom();for(;a==="^"||a==="_"||a==="'";)this.match("'")?this.match("'")?y.addChild(new ga({type:"mord",command:"\\doubleprime",mode:"math",value:"\u2032\u2032"}),"superscript"):y.addChild(new ga({type:"mord",command:"\\prime",mode:"math",value:"\u2032"}),"superscript"):(this.match("^")||this.match("_"))&&y.addChildren(an(this.scanArgument("expression")),a==="_"?"subscript":"superscript"),a=this.peek();return!0}parseLimits(){if(this.parseMode!=="math")return!1;const a=this.match("\\limits"),y=!a&&this.match("\\nolimits"),z=!y&&!a&&this.match("\\displaylimits");if(!a&&!y&&!z)return!1;const ie=this.mathlist.length>0?this.mathlist[this.mathlist.length-1]:null;return ie===null?!1:(ie.explicitSubsupPlacement=!0,a&&(ie.subsupPlacement="over-under"),y&&(ie.subsupPlacement="adjacent"),z&&(ie.subsupPlacement="auto"),!0)}scanArguments(a){if(!(a!=null&&a.params))return[void 0,[]];let y;const z=[];let ie=a.infix?2:0;for(;ie["<}>","&","\\end","\\cr","\\\\","\\tabularnewline","\\right"].includes(ve))):le.isOptional?z.push(this.scanOptionalArgument(le.type)):le.type.endsWith("*")?y=le.type.slice(0,-1):z.push(this.scanArgument(le.type)),ie+=1}return[y,z]}scanSymbolOrLiteral(){const a=this.peek();if(!a)return null;this.next();let y;if(St(a)){const z=rd.createAtom(this.parseMode,a,Xe({},this.style));return z?[z]:null}if(y=this.scanMacro(a),y)return[y];if(a.startsWith("\\")){const z=gn(a,this.parseMode);if(!z)return this.onError({code:"unknown-command",arg:a}),[new bf(a)];if(z.definitionType==="symbol"){const ie=Xe({},this.style);z.variant&&(ie.variant=z.variant),y=new ga({type:z.type,command:a,style:ie,value:String.fromCodePoint(z.codepoint),mode:this.parseMode,verbatimLatex:a})}else{if(z.applyMode||z.applyStyle||z.infix)return this.onError({code:"invalid-command",arg:a}),[new bf(a)];z.createAtom&&(y=z.createAtom({command:a,args:[],style:this.style,mode:this.parseMode}))}}return y?[y]:null}scanArgument(a){var y;this.skipFiller();const z=this.parseMode;if(a==="auto"&&(a=z),!this.match("<{>")){if(a==="string")return this.scanString();if(a==="value")return this.scanValue();if(a==="delim")return(y=this.scanDelim())!=null?y:".";if(a==="expression")return this.scanExpression();if(a==="math"){a!==z&&this.beginContext({mode:"math"});const le=this.scanSymbolOrLiteral();return a!==z&&this.endContext(),le}if(a==="text"){a!==z&&this.beginContext({mode:"text"});const le=this.scanSymbolOrLiteral();return a!==z&&this.endContext(),le}return a==="balanced-string"||console.assert(!1),null}if(a==="text"){this.beginContext({mode:"text"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const le=this.mathlist;return this.endContext(),{group:le}}if(a==="math"){this.beginContext({mode:"math"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const le=this.mathlist;return this.endContext(),{group:le}}let ie=null;if(a==="expression"){this.beginContext({mode:"math"});do this.mathlist.push(...this.scan());while(!this.match("<}>")&&!this.end());const le=this.mathlist;return this.endContext(),{group:le}}return a==="string"?ie=this.scanString():a==="balanced-string"?ie=this.scanBalancedString():a==="colspec"?ie=this.scanColspec():a==="value"&&(ie=this.scanValue()),this.skipUntilToken("<}>"),ie}scanOptionalArgument(a){if(a=a==="auto"?this.parseMode:a,this.skipFiller(),!this.match("["))return null;let y=null;for(;!this.end()&&!this.match("]");)if(a==="string")y=this.scanString();else if(a==="value")y=this.scanValue();else if(a==="colspec")y=this.scanColspec();else if(a==="bbox"){const z={},ie=this.scanString().toLowerCase().trim().split(/,(?![^(]*\)(?:(?:[^(]*\)){2})*[^"]*$)/);for(const le of ie){const ve=le.match(/^\s*([\d.]+)\s*([a-z]{2})/);if(ve)z.padding={dimension:parseInt(ve[1]),unit:ve[2]};else{const be=le.match(/^\s*border\s*:\s*(.*)/);be?z.border=be[1]:z.backgroundcolor={string:le}}}y=z}else a==="math"&&(this.beginContext({mode:"math"}),y=this.mathlist.concat(this.scan(z=>z==="]")),this.endContext());return y}scanSymbolOrCommand(a){var y,z,ie;if(a==="\\placeholder"){const Ne=this.scanOptionalArgument("string"),ze=this.scanOptionalArgument("math"),Ge=ga.serialize(ze,{defaultMode:"math"});let lt=[],Tt;!Tt&&Ge==="correct"?Tt="correct":!Tt&&Ge==="incorrect"?Tt="incorrect":Ge!==""&&(lt=ze);const An=this.scanOptionalArgument("string")==="locked",$n=this.scanArgument("auto");let br;return $n&&Array.isArray($n)&&$n.length>0?br=$n:$n&&typeof $n=="object"&&"group"in $n?br=$n.group:br=lt,Ne?[new gt(Ne,Tt,An,br!=null?br:lt,{mode:this.parseMode,style:this.style})]:[new ml({mode:this.parseMode,style:this.style})]}if(a==="\\renewcommand"||a==="\\newcommand"||a==="\\providecommand"||a==="\\def"){const Ne=this.index,ze=this.scanLiteralGroup()||this.next();if(!ze)return null;if(this.context.registers[ze.substring(1)]){const Ge=this.scanArgument("string");Ge!==null&&(this.context.registers[ze.substring(1)]=Ge);const lt=ju([a,yf(this.tokens.slice(Ne,this.index))]);return[new ga({type:"text",value:"",verbatimLatex:lt})]}}let le=this.scanMacro(a);if(le)return[le];const ve=gn(a,this.parseMode);if(!ve)return this.parseMode==="text"?(/[a-zA-Z]/.test((y=this.peek())!=null?y:"")&&(a+=" "),[...a].map(Ne=>new ga({type:"text",value:Ne,mode:"text",style:this.style}))):(this.onError({code:"unknown-command",arg:a}),[new bf(a)]);const be=this.index;if(ve.definitionType==="symbol"){const Ne=Xe({},this.style);ve.variant&&(Ne.variant=ve.variant),le=new ga({type:ve.type,command:a,style:Ne,value:String.fromCodePoint(ve.codepoint),mode:this.parseMode})}else{if(ve.ifMode&&!ve.ifMode.includes(this.parseMode))return[];const Ne=this.parseMode;ve.applyMode&&(this.parseMode=ve.applyMode);let ze,Ge=[];if(ve.parse?Ge=ve.parse(this):[ze,Ge]=this.scanArguments(ve),this.parseMode=Ne,ve.applyMode&&!ve.applyStyle&&!ve.createAtom)return an(Ge[0]);if(ve.infix)return this.onError({code:"too-many-infix-commands",arg:a}),null;if(typeof ve.createAtom=="function")le=ve.createAtom({command:a,args:Ge,style:this.style,mode:this.parseMode}),ze&&(le.body=an(this.scanArgument(ze)));else if(typeof ve.applyStyle=="function"){const lt=Xe(Xe({},this.style),ve.applyStyle(a,Ge,this.context)),Tt=this.parseMode;if(ve.applyMode&&(this.parseMode=ve.applyMode),ze){const An=this.style;this.style=lt;const $n=this.scanArgument(ze);return this.style=An,this.parseMode=Tt,an($n)}this.style=lt}else le=new ga({type:"mord",command:(z=ve.command)!=null?z:a,style:Xe({},this.style),value:a,mode:(ie=ve.applyMode)!=null?ie:this.parseMode})}if(!le)return null;if(le instanceof ga&&le.verbatimLatex===void 0&&!/^\\(llap|rlap|class|cssId|htmlData)$/.test(a)){const Ne=ju([a,yf(this.tokens.slice(be,this.index))]);Ne&&(le.verbatimLatex=Ne)}if(le.verbatimLatex===null&&(le.verbatimLatex=void 0),le.isFunction&&this.smartFence){const Ne=this.scanSmartFence();if(Ne)return[le,Ne]}return[le]}scanSymbolCommandOrLiteral(){const a=this.get();if(!a)return null;if(St(a)){const y=rd.createAtom(this.parseMode,a,Xe({},this.style));if(!y)return null;if(y.isFunction&&this.smartFence){const z=this.scanSmartFence();if(z)return[y,z]}return[y]}return a.startsWith("\\")?this.scanSymbolOrCommand(a):a===""?this.parseMode==="text"?[new Wd(" "," ",this.style)]:null:(a==="<}>"?this.onError({latex:"",code:"unbalanced-braces"}):this.onError({latex:"",code:"unexpected-token",arg:a}),null)}scanMacro(a){var y;const z=this.context.getMacro(a);if(!z)return null;const ie=this.index,le=z.args,ve={"?":(y=this.args)==null?void 0:y.call(this,"?")};for(let be=1;be<=le;be++){let Ne=this.scanLiteralGroup();if(!Ne){const ze=this.index;this.scanExpression(),Ne=yf(this.tokens.slice(ze,this.index))}ve[be]=Ne}return new Pe(a,{expand:z.expand,captureSelection:z.captureSelection,args:ie===this.index?null:yf(this.tokens.slice(ie,this.index)),style:this.parsingContext.style,body:Fn(z.def,{context:this.context,parseMode:this.parseMode,args:be=>ve[be],mathstyle:this.parsingContext.mathstyle,style:this.parsingContext.style})})}parseExpression(){var a,y,z,ie;let le=(ie=(z=(y=(a=this.scanEnvironment())!=null?a:this.scanModeShift())!=null?y:this.scanModeSet())!=null?z:this.scanGroup())!=null?ie:this.scanLeftRight();if(le===null){if(this.parseSupSub()||this.parseLimits())return!0;le=this.scanSymbolCommandOrLiteral()}return le?(Array.isArray(le)?this.mathlist.push(...le):this.mathlist.push(le),!0):!1}};function Fn(a,y){var z,ie,le,ve;const be=(z=y==null?void 0:y.args)!=null?z:void 0,Ne=new zt(Xd(a,be),y==null?void 0:y.context,{args:be,mathstyle:(ie=y==null?void 0:y.mathstyle)!=null?ie:"displaystyle",parseMode:(le=y==null?void 0:y.parseMode)!=null?le:"math",style:(ve=y==null?void 0:y.style)!=null?ve:{}}),ze=[];for(;!Ne.end();)ze.push(...Ne.scan(()=>!1));return ze}function Ar(a,y){var z;const ie=new zt(Xd(a,null),y==null?void 0:y.context,{mathstyle:"displaystyle",parseMode:(z=y==null?void 0:y.parseMode)!=null?z:"math"});for(;!ie.end();)ie.scan();return ie.errors}var ur=class n1 extends ga{constructor(y,z){super({type:"chem"},{command:y,mode:"math"});const ie=Tn.go(Kt.go(z,y==="\\pu"?"pu":"ce"),!1);this.body=Fn(ie),this._verbatimLatex=y+"{"+z+"}",this.arg=z,this.captureSelection=!0}static fromJson(y){return new n1(y.command,y.arg)}set verbatimLatex(y){}get verbatimLatex(){return this._verbatimLatex}toJson(){return _e(Xe({},super.toJson()),{arg:this.arg})}render(y){const z=ga.createBox(y,this.body,{type:"inner"});return this.caret&&(z.caret=this.caret),this.bind(y,z)}_serialize(y){return console.assert(this.verbatimLatex!==void 0),this.verbatimLatex}};Un(["ce","pu"],"{chemformula:balanced-string}",{createAtom:a=>{var y;return new ur(a.command,(y=a.args[0])!=null?y:"")}});var Kt={go:function(a,y){if(!a)return[];y===void 0&&(y="ce");var z="0",ie={};ie.parenthesisLevel=0,a=a.replace(/\n/g," "),a=a.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),a=a.replace(/[\u2026]/g,"...");for(var le,ve=10,be=[];;){le!==a?(ve=10,le=a):ve--;var Ne=Kt.stateMachines[y],ze=Ne.transitions[z]||Ne.transitions["*"];e:for(var Ge=0;Ge0){if(Tt.revisit||(a=lt.remainder),!Tt.toContinue)break e}else return be}}if(ve<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(a,y){if(y)if(Object.prototype.toString.call(y)==="[object Array]")for(var z=0;z":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(a){return Kt.patterns.findObserveGroups(a,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(a){return Kt.patterns.findObserveGroups(a,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(a){return Kt.patterns.findObserveGroups(a,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(a){return Kt.patterns.findObserveGroups(a,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(a){return Kt.patterns.findObserveGroups(a,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(a){return Kt.patterns.findObserveGroups(a,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(a){return Kt.patterns.findObserveGroups(a,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(a){var y;if(y=a.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),y)return{match_:y[0],remainder:a.substr(y[0].length)};var z=Kt.patterns.findObserveGroups(a,"","$","$","");return z&&(y=z.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),y)?{match_:y[0],remainder:a.substr(y[0].length)}:null},amount2:function(a){return this.amount(a)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(a){if(a.match(/^\([a-z]+\)$/))return null;var y=a.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return y?{match_:y[0],remainder:a.substr(y[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(a,y,z,ie,le,ve,be,Ne,ze,Ge){var lt=function(ji,Za){if(typeof Za=="string")return ji.indexOf(Za)!==0?null:Za;var qo=ji.match(Za);return qo?qo[0]:null},Tt=function(ji,Za,qo){for(var io=0;Za0,null},An=lt(a,y);if(An===null||(a=a.substr(An.length),An=lt(a,z),An===null))return null;var $n=Tt(a,An.length,ie||le);if($n===null)return null;var br=a.substring(0,ie?$n.endMatchEnd:$n.endMatchBegin);if(ve||be){var Gi=this.findObserveGroups(a.substr($n.endMatchEnd),ve,be,Ne,ze);if(Gi===null)return null;var zo=[br,Gi.match_];return{match_:Ge?zo.join(""):zo,remainder:Gi.remainder}}else return{match_:br,remainder:a.substr($n.endMatchEnd)}},match_:function(a,y){var z=Kt.patterns.patterns[a];if(z===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+a+")"];if(typeof z=="function")return Kt.patterns.patterns[a](y);var ie=y.match(z);if(ie){var le;return ie[2]?le=[ie[1],ie[2]]:ie[1]?le=ie[1]:le=ie[0],{match_:le,remainder:y.substr(ie[0].length)}}return null}},actions:{"a=":function(a,y){a.a=(a.a||"")+y},"b=":function(a,y){a.b=(a.b||"")+y},"p=":function(a,y){a.p=(a.p||"")+y},"o=":function(a,y){a.o=(a.o||"")+y},"q=":function(a,y){a.q=(a.q||"")+y},"d=":function(a,y){a.d=(a.d||"")+y},"rm=":function(a,y){a.rm=(a.rm||"")+y},"text=":function(a,y){a.text_=(a.text_||"")+y},insert:function(a,y,z){return{type_:z}},"insert+p1":function(a,y,z){return{type_:z,p1:y}},"insert+p1+p2":function(a,y,z){return{type_:z,p1:y[0],p2:y[1]}},copy:function(a,y){return y},rm:function(a,y){return{type_:"rm",p1:y||""}},text:function(a,y){return Kt.go(y,"text")},"{text}":function(a,y){var z=["{"];return Kt.concatArray(z,Kt.go(y,"text")),z.push("}"),z},"tex-math":function(a,y){return Kt.go(y,"tex-math")},"tex-math tight":function(a,y){return Kt.go(y,"tex-math tight")},bond:function(a,y,z){return{type_:"bond",kind_:z||y}},"color0-output":function(a,y){return{type_:"color0",color:y[0]}},ce:function(a,y){return Kt.go(y)},"1/2":function(a,y){var z=[];y.match(/^[+\-]/)&&(z.push(y.substr(0,1)),y=y.substr(1));var ie=y.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return ie[1]=ie[1].replace(/\$/g,""),z.push({type_:"frac",p1:ie[1],p2:ie[2]}),ie[3]&&(ie[3]=ie[3].replace(/\$/g,""),z.push({type_:"tex-math",p1:ie[3]})),z},"9,9":function(a,y){return Kt.go(y,"9,9")}},createTransitions:function(a){var y,z,ie,le,ve={};for(y in a)for(z in a[y])for(ie=z.split("|"),a[y][z].stateArray=ie,le=0;le":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(a,y){var z;if((a.d||"").match(/^[0-9]+$/)){var ie=a.d;a.d=void 0,z=this.output(a),a.b=ie}else z=this.output(a);return Kt.actions["o="](a,y),z},"d= kv":function(a,y){a.d=y,a.dType="kv"},"charge or bond":function(a,y){if(a.beginsWithBond){var z=[];return Kt.concatArray(z,this.output(a)),Kt.concatArray(z,Kt.actions.bond(a,y,"-")),z}else a.d=y},"- after o/d":function(a,y,z){var ie=Kt.patterns.match_("orbital",a.o||""),le=Kt.patterns.match_("one lowercase greek letter $",a.o||""),ve=Kt.patterns.match_("one lowercase latin letter $",a.o||""),be=Kt.patterns.match_("$one lowercase latin letter$ $",a.o||""),Ne=y==="-"&&(ie&&ie.remainder===""||le||ve||be);Ne&&!a.a&&!a.b&&!a.p&&!a.d&&!a.q&&!ie&&ve&&(a.o="$"+a.o+"$");var ze=[];return Ne?(Kt.concatArray(ze,this.output(a)),ze.push({type_:"hyphen"})):(ie=Kt.patterns.match_("digits",a.d||""),z&&ie&&ie.remainder===""?(Kt.concatArray(ze,Kt.actions["d="](a,y)),Kt.concatArray(ze,this.output(a))):(Kt.concatArray(ze,this.output(a)),Kt.concatArray(ze,Kt.actions.bond(a,y,"-")))),ze},"a to o":function(a){a.o=a.a,a.a=void 0},"sb=true":function(a){a.sb=!0},"sb=false":function(a){a.sb=!1},"beginsWithBond=true":function(a){a.beginsWithBond=!0},"beginsWithBond=false":function(a){a.beginsWithBond=!1},"parenthesisLevel++":function(a){a.parenthesisLevel++},"parenthesisLevel--":function(a){a.parenthesisLevel--},"state of aggregation":function(a,y){return{type_:"state of aggregation",p1:Kt.go(y,"o")}},comma:function(a,y){var z=y.replace(/\s*$/,""),ie=z!==y;return ie&&a.parenthesisLevel===0?{type_:"comma enumeration L",p1:z}:{type_:"comma enumeration M",p1:z}},output:function(a,y,z){var ie;if(!a.r)ie=[],!a.a&&!a.b&&!a.p&&!a.o&&!a.q&&!a.d&&!z||(a.sb&&ie.push({type_:"entitySkip"}),!a.o&&!a.q&&!a.d&&!a.b&&!a.p&&z!==2?(a.o=a.a,a.a=void 0):!a.o&&!a.q&&!a.d&&(a.b||a.p)?(a.o=a.a,a.d=a.b,a.q=a.p,a.a=a.b=a.p=void 0):a.o&&a.dType==="kv"&&Kt.patterns.match_("d-oxidation$",a.d||"")?a.dType="oxidation":a.o&&a.dType==="kv"&&!a.q&&(a.dType=void 0),ie.push({type_:"chemfive",a:Kt.go(a.a,"a"),b:Kt.go(a.b,"bd"),p:Kt.go(a.p,"pq"),o:Kt.go(a.o,"o"),q:Kt.go(a.q,"pq"),d:Kt.go(a.d,a.dType==="oxidation"?"oxidation":"bd"),dType:a.dType}));else{var le;a.rdt==="M"?le=Kt.go(a.rd,"tex-math"):a.rdt==="T"?le=[{type_:"text",p1:a.rd||""}]:le=Kt.go(a.rd);var ve;a.rqt==="M"?ve=Kt.go(a.rq,"tex-math"):a.rqt==="T"?ve=[{type_:"text",p1:a.rq||""}]:ve=Kt.go(a.rq),ie={type_:"arrow",r:a.r,rd:le,rq:ve}}for(var be in a)be!=="parenthesisLevel"&&be!=="beginsWithBond"&&delete a[be];return ie},"oxidation-output":function(a,y){var z=["{"];return Kt.concatArray(z,Kt.go(y,"oxidation")),z.push("}"),z},"frac-output":function(a,y){return{type_:"frac-ce",p1:Kt.go(y[0]),p2:Kt.go(y[1])}},"overset-output":function(a,y){return{type_:"overset",p1:Kt.go(y[0]),p2:Kt.go(y[1])}},"underset-output":function(a,y){return{type_:"underset",p1:Kt.go(y[0]),p2:Kt.go(y[1])}},"underbrace-output":function(a,y){return{type_:"underbrace",p1:Kt.go(y[0]),p2:Kt.go(y[1])}},"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Kt.go(y[1])}},"r=":function(a,y){a.r=y},"rdt=":function(a,y){a.rdt=y},"rd=":function(a,y){a.rd=y},"rqt=":function(a,y){a.rqt=y},"rq=":function(a,y){a.rq=y},operator:function(a,y,z){return{type_:"operator",kind_:z||y}}}},a:{transitions:Kt.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:Kt.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:Kt.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(a){if(a.text_){var y={type_:"text",p1:a.text_};for(var z in a)delete a[z];return y}}}},pq:{transitions:Kt.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(a,y){return{type_:"state of aggregation subscript",p1:Kt.go(y,"o")}},"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Kt.go(y[1],"pq")}}}},bd:{transitions:Kt.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(a,y){return{type_:"color",color1:y[0],color2:Kt.go(y[1],"bd")}}}},oxidation:{transitions:Kt.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(a,y){return{type_:"roman numeral",p1:y||""}}}},"tex-math":{transitions:Kt.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(a){if(a.o){var y={type_:"tex-math",p1:a.o};for(var z in a)delete a[z];return y}}}},"tex-math tight":{transitions:Kt.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(a,y){a.o=(a.o||"")+"{"+y+"}"},output:function(a){if(a.o){var y={type_:"tex-math",p1:a.o};for(var z in a)delete a[z];return y}}}},"9,9":{transitions:Kt.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:Kt.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(a,y){var z=[];return y[0]==="+-"||y[0]==="+/-"?z.push("\\pm "):y[0]&&z.push(y[0]),y[1]&&(Kt.concatArray(z,Kt.go(y[1],"pu-9,9")),y[2]&&(y[2].match(/[,.]/)?Kt.concatArray(z,Kt.go(y[2],"pu-9,9")):z.push(y[2])),(y[3]||y[4])&&(y[3]==="e"||y[4]==="*"?z.push({type_:"cdot"}):z.push({type_:"times"}))),y[5]&&z.push("10^{"+y[5]+"}"),z},"number^":function(a,y){var z=[];return y[0]==="+-"||y[0]==="+/-"?z.push("\\pm "):y[0]&&z.push(y[0]),Kt.concatArray(z,Kt.go(y[1],"pu-9,9")),z.push("^{"+y[2]+"}"),z},operator:function(a,y,z){return{type_:"operator",kind_:z||y}},space:function(){return{type_:"pu-space-1"}},output:function(a){var y,z=Kt.patterns.match_("{(...)}",a.d||"");z&&z.remainder===""&&(a.d=z.match_);var ie=Kt.patterns.match_("{(...)}",a.q||"");if(ie&&ie.remainder===""&&(a.q=ie.match_),a.d&&(a.d=a.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),a.d=a.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),a.q){a.q=a.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),a.q=a.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var le={d:Kt.go(a.d,"pu"),q:Kt.go(a.q,"pu")};a.o==="//"?y={type_:"pu-frac",p1:le.d,p2:le.q}:(y=le.d,le.d.length>1||le.q.length>1?y.push({type_:" / "}):y.push({type_:"/"}),Kt.concatArray(y,le.q))}else y=Kt.go(a.d,"pu-2");for(var ve in a)delete a[ve];return y}}},"pu-2":{transitions:Kt.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(a,y){a.rm+="^{"+y+"}"},space:function(){return{type_:"pu-space-2"}},output:function(a){var y=[];if(a.rm){var z=Kt.patterns.match_("{(...)}",a.rm||"");z&&z.remainder===""?y=Kt.go(z.match_,"pu"):y={type_:"rm",p1:a.rm}}for(var ie in a)delete a[ie];return y}}},"pu-9,9":{transitions:Kt.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(a){var y=[];if(a.text_=a.text_||"",a.text_.length>4){var z=a.text_.length%3;z===0&&(z=3);for(var ie=a.text_.length-3;ie>0;ie-=3)y.push(a.text_.substr(ie,3)),y.push({type_:"1000 separator"});y.push(a.text_.substr(0,z)),y.reverse()}else y.push(a.text_);for(var le in a)delete a[le];return y},"output-o":function(a){var y=[];if(a.text_=a.text_||"",a.text_.length>4){for(var z=a.text_.length-3,ie=0;ie"||a.r==="<=>>"||a.r==="<<=>"||a.r==="<-->"?(be="\\long"+be,ve.rd&&(be="\\overset{"+ve.rd+"}{"+be+"}"),ve.rq&&(a.r==="<-->"?be="\\underset{\\lower2mu{"+ve.rq+"}}{"+be+"}":be="\\underset{\\lower6mu{"+ve.rq+"}}{"+be+"}"),be=" {}\\mathrel{"+be+"}{} "):(ve.rq&&(be+="[{"+ve.rq+"}]"),be+="{"+ve.rd+"}",be=" {}\\mathrel{\\x"+be+"}{} "):be=" {}\\mathrel{\\long"+be+"}{} ",y=be;break;case"operator":y=Tn._getOperator(a.kind_);break;case"1st-level escape":y=a.p1+" ";break;case"space":y=" ";break;case"entitySkip":y="~";break;case"pu-space-1":y="~";break;case"pu-space-2":y="\\mkern3mu ";break;case"1000 separator":y="\\mkern2mu ";break;case"commaDecimal":y="{,}";break;case"comma enumeration L":y="{"+a.p1+"}\\mkern6mu ";break;case"comma enumeration M":y="{"+a.p1+"}\\mkern3mu ";break;case"comma enumeration S":y="{"+a.p1+"}\\mkern1mu ";break;case"hyphen":y="\\text{-}";break;case"addition compound":y="\\,{\\cdot}\\,";break;case"electron dot":y="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":y="{\\times}";break;case"prime":y="\\prime ";break;case"cdot":y="\\cdot ";break;case"tight cdot":y="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":y="\\times ";break;case"circa":y="{\\sim}";break;case"^":y="uparrow";break;case"v":y="downarrow";break;case"ellipsis":y="\\ldots ";break;case"/":y="/";break;case" / ":y="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return y},_getArrow:function(a){switch(a){case"->":return"rightarrow";case"\u2192":return"rightarrow";case"\u27F6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"leftrightarrows";case"<=>":return"rightleftharpoons";case"\u21CC":return"rightleftharpoons";case"<=>>":return"Rightleftharpoons";case"<<=>":return"Leftrightharpoons";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(a){switch(a){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}";case"~=":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";case"~--":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";case"-~-":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(a){switch(a){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};function Ir(a){}function Li(a){}var Bo=class r1 extends ga{constructor(y){super(_e(Xe({},y),{type:"delim"})),this.value=y.delim,this.size=y.size}static fromJson(y){return new r1(y)}toJson(){return _e(Xe({},super.toJson()),{delim:this.value,size:this.size})}render(y){return new oo(this.value,{type:"middle"})}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);return z!=null&&z.serialize?z.serialize(this,y):Ec(this.command,this.value)}},Qo=class i1 extends ga{constructor(y){super(_e(Xe({},y),{type:"sizeddelim",value:y.delim})),this.delimType=y.delimType,this.size=y.size}static fromJson(y){return new i1(y)}toJson(){return _e(Xe({},super.toJson()),{delim:this.value,size:this.size,delimType:this.delimType})}render(y){let z=bi(this.value,this.size,y,{classes:{open:"mopen",close:"mclose"}[this.delimType],type:this.delimType,isSelected:this.isSelected});return z?(z=this.bind(y,z),this.caret&&(z.caret=this.caret),z):null}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);return z!=null&&z.serialize?z.serialize(this,y):Ec(this.command,this.value)}},Wo=class a1 extends ga{constructor(y,z,ie,le){var ve,be;super({type:"enclose",command:y,style:le.style}),this.body=z,this.backgroundcolor=le.backgroundcolor,ie.updiagonalarrow&&(ie.updiagonalstrike=!1),ie.box&&(ie.left=!1,ie.right=!1,ie.bottom=!1,ie.top=!1),this.notation=ie,this.shadow=(ve=le.shadow)!=null?ve:"none",this.strokeWidth=(be=le.strokeWidth)!=null?be:"0.06em",this.strokeWidth||(this.strokeWidth="0.06em"),this.strokeStyle=le.strokeStyle,this.svgStrokeStyle=le.svgStrokeStyle,this.strokeColor=le.strokeColor,this.borderStyle=le.borderStyle,this.padding=le.padding,this.captureSelection=!1}static fromJson(y){return new a1(y.command,y.body,y.notation,y)}toJson(){return _e(Xe({},super.toJson()),{notation:this.notation,shadow:this.shadow,strokeWidth:this.strokeWidth,strokeStyle:this.strokeStyle,svgStrokeStyle:this.svgStrokeStyle,strokeColor:this.strokeColor,borderStyle:this.borderStyle,padding:this.padding})}_serialize(y){var z;if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const ie=gn(this.command,this.mode);if(ie!=null&&ie.serialize)return ie.serialize(this,y);let le=(z=this.command)!=null?z:"";if(this.command==="\\enclose"){le+="{"+Object.keys(this.notation).join(" ")+"}";let ve="",be="";this.backgroundcolor&&this.backgroundcolor!=="transparent"&&(ve+=be+'mathbackground="'+this.backgroundcolor+'"',be=","),this.shadow&&this.shadow!=="auto"&&(ve+=be+'shadow="'+this.shadow+'"',be=","),this.strokeWidth||this.strokeStyle!=="solid"?(ve+=be+this.borderStyle,be=","):this.strokeColor&&this.strokeColor!=="currentColor"&&(ve+=be+'mathcolor="'+this.strokeColor+'"',be=","),ve&&(le+=`[${ve}]`)}return Ec(le,this.bodyToLatex(y))}render(y){const z=new uc({parent:y},this.style),ie=ga.createBox(z,this.body);if(!ie)return null;const le=Bl(this.borderStyle),ve=z.toEm(!this.padding||this.padding==="auto"?{register:"fboxsep"}:{string:this.padding});ie.setStyle("position","relative"),ie.setStyle("display","inline-block"),ie.setStyle("top",ve,"em"),ie.setStyle("height",ie.height+ie.depth,"em"),ie.setStyle("width",ie.width,"em");const be=new oo(null,{classes:"ML__notation"});let Ne=ie.height+ie.depth+2*ve;const ze=ie.width+2*ve;let Ge="";if(this.notation.horizontalstrike&&(Ge+=this.line(3,50,97,50)),this.notation.verticalstrike&&(Ge+=this.line(50,3,50,97)),this.notation.updiagonalstrike&&(Ge+=this.line(3,97,97,3)),this.notation.downdiagonalstrike&&(Ge+=this.line(3,3,97,97)),this.notation.updiagonalarrow){Ge+=this.line(ve.toString(),(ve+ie.depth+ie.height).toString(),(ve+ie.width).toString(),ve.toString());const br=.03*Math.sqrt(ze*ze+Ne*Ne)*1,Gi=ie.width*br,zo=(ie.depth+ie.height)*br,ji=ve+ie.width;let Za=ve;Za+zo-.4*Gi<0&&(Za=.4*Gi-zo),Ge+='`}};function Xs(a){return typeof a=="number"?`${Math.floor(100*a)/100}%`:a}function Bl(a){if(!a)return"1px";const y=a.match(/([0-9][a-zA-Z\%]+)/);return y===null?"1px":y[1]}function Il(a){return(Math.floor(100*a.metrics.sqrtRuleThickness/a.scalingFactor)/100/10).toString()+"em"}function Ku(a){const y=a.isDisplayStyle?du:a.metrics.defaultRuleThickness;return a.metrics.defaultRuleThickness+a.scalingFactor*y/4}var wu=class o1 extends ga{constructor(y,z,ie){var le,ve;super(_e(Xe({},ie),{type:"genfrac",displayContainsHighlight:!0})),this.above=y,this.below=z,this.hasBarLine=(le=ie==null?void 0:ie.hasBarLine)!=null?le:!0,this.continuousFraction=(ve=ie==null?void 0:ie.continuousFraction)!=null?ve:!1,this.numerPrefix=ie==null?void 0:ie.numerPrefix,this.denomPrefix=ie==null?void 0:ie.denomPrefix,this.mathstyleName=ie==null?void 0:ie.mathstyleName,this.leftDelim=ie==null?void 0:ie.leftDelim,this.rightDelim=ie==null?void 0:ie.rightDelim,this.fractionNavigationOrder=ie==null?void 0:ie.fractionNavigationOrder}static fromJson(y){return new o1(y.above,y.below,y)}toJson(){const y={};return this.continuousFraction&&(y.continuousFraction=!0),this.numerPrefix&&(y.numerPrefix=this.numerPrefix),this.denomPrefix&&(y.denomPrefix=this.denomPrefix),this.leftDelim&&(y.leftDelim=this.leftDelim),this.rightDelim&&(y.rightDelim=this.rightDelim),this.hasBarLine||(y.hasBarLine=!1),this.mathstyleName&&(y.mathstyleName=this.mathstyleName),this.fractionNavigationOrder&&(y.fractionNavigationOrder=this.fractionNavigationOrder),Xe(Xe({},super.toJson()),y)}get children(){if(this._children)return this._children;const y=[];if(this.fractionNavigationOrder==="denominator-numerator"){for(const z of this.below)y.push(...z.children),y.push(z);for(const z of this.above)y.push(...z.children),y.push(z)}else{for(const z of this.above)y.push(...z.children),y.push(z);for(const z of this.below)y.push(...z.children),y.push(z)}return this._children=y,y}render(y){var z,ie;const le=new uc({parent:y,mathstyle:this.mathstyleName},this.style),ve=le.metrics,be=new uc({parent:le,mathstyle:this.continuousFraction?"":"numerator"},this.style),Ne=this.numerPrefix?new oo([new oo(this.numerPrefix),ga.createBox(be,this.above)],{isTight:be.isTight,type:"ignore"}):(z=ga.createBox(be,this.above,{type:"ignore"}))!=null?z:new oo(null,{type:"ignore"}),ze=new uc({parent:le,mathstyle:this.continuousFraction?"":"denominator"},this.style),Ge=this.denomPrefix?new oo([new oo(this.denomPrefix),ga.createBox(ze,this.below,{type:"ignore"})]):(ie=ga.createBox(ze,this.below,{type:"ignore"}))!=null?ie:new oo(null,{type:"ignore"}),lt=this.hasBarLine?ve.defaultRuleThickness:0;let Tt,An=0,$n;le.isDisplayStyle?(Tt=be.metrics.num1,An=lt>0?3*lt:7*lt,$n=ze.metrics.denom1):(lt>0?(Tt=be.metrics.num2,An=lt):(Tt=be.metrics.num3,An=3*ve.defaultRuleThickness),$n=ze.metrics.denom2);const br=[];this.isSelected&&br.push("ML__selected");const Gi=Ne.depth,zo=Ge.height;let ji;if(lt<=0){const zl=Tt-Gi-(zo-$n);zlnew pu(z)),this.skipBoundary=!1}static fromJson(y){return new l1("")}toJson(){return super.toJson()}render(y){const z=ga.createBox(y,this.body);return z?(this.caret&&(z.caret=this.caret),this.bind(y,z)):null}_serialize(y){var z,ie;return(ie=(z=this.body)==null?void 0:z.map(le=>le.value).join(""))!=null?ie:""}},as=class u1 extends ga{constructor(y,z){super(_e(Xe({},z),{type:"extensible-symbol",isFunction:z==null?void 0:z.isFunction})),this.value=y,this.variant=z==null?void 0:z.variant,this.subsupPlacement=z==null?void 0:z.limits}static fromJson(y){return new u1(y.symbol,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.subsupPlacement&&(y.limits=this.subsupPlacement),this.isExtensibleSymbol&&(y.isExtensibleSymbol=!0),this.value&&(y.symbol=this.value),y}render(y){var z;const ie=y.isDisplayStyle&&this.value!=="\\smallint",le=new oo(this.value,{fontFamily:ie?"Size2-Regular":"Size1-Regular",classes:"op-symbol "+(ie?"large-op":"small-op"),type:"op",maxFontSize:y.scalingFactor,isSelected:this.isSelected});if(!le)return null;le.right=le.italic;const ve=(le.height-le.depth)/2-Ws*y.scalingFactor,be=le.italic;le.setTop(ve);let Ne=le;if(this.superscript||this.subscript){const ze=(z=this.subsupPlacement)!=null?z:"auto";Ne=ze==="over-under"||ze==="auto"&&y.isDisplayStyle?this.attachLimits(y,{base:le,baseShift:ve,slant:be}):this.attachSupsub(y,{base:le})}return new oo(this.bind(y,Ne),{type:"op",caret:this.caret,isSelected:this.isSelected,classes:"op-group"}).wrap(y)}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);if(z!=null&&z.serialize)return z.serialize(this,y);const ie=[];return ie.push(this.command),this.explicitSubsupPlacement&&(this.subsupPlacement==="over-under"&&ie.push("\\limits"),this.subsupPlacement==="adjacent"&&ie.push("\\nolimits"),this.subsupPlacement==="auto"&&ie.push("\\displaylimits")),ie.push(this.supsubToLatex(y)),ju(ie)}},Yc=class c1 extends ga{constructor(y){const z=y.body;super(_e(Xe({},y),{type:"overlap",body:typeof z=="string"?[new ga({value:z})]:z,style:y==null?void 0:y.style})),this.skipBoundary=!0,this.align=y==null?void 0:y.align,this.boxType=y==null?void 0:y.boxType}static fromJson(y){return new c1(y)}toJson(){const y={};return this.align&&(y.align=this.align),this.boxType&&(y.boxType=this.boxType),Xe(Xe({},super.toJson()),y)}render(y){const z=ga.createBox(y,this.body,{classes:"inner"});return z?(this.caret&&(z.caret=this.caret),this.bind(y,new oo([z,new oo(null,{classes:"fix"})],{classes:this.align==="right"?"rlap":"llap",type:this.boxType}))):null}},jc=class d1 extends ga{constructor(y){var z,ie,le,ve;super({type:"overunder",command:y.command,style:y.style,mode:y.mode,body:y.body,skipBoundary:(z=y.skipBoundary)!=null?z:!0}),this.subsupPlacement=y.supsubPlacement,this.svgAbove=y.svgAbove,this.svgBelow=y.svgBelow,this.svgBody=y.svgBody,this.above=y.above,this.below=y.below,this.boxType=(ie=y.boxType)!=null?ie:"ord",this.paddedBody=(le=y.paddedBody)!=null?le:!1,this.paddedLabels=(ve=y.paddedLabels)!=null?ve:!1}static fromJson(y){return new d1(y)}toJson(){const y=super.toJson();return this.skipBoundary||(y.skipBoundary=!1),this.subsupPlacement&&(y.subsupPlacement=this.subsupPlacement),this.svgAbove&&(y.svgAbove=this.svgAbove),this.svgBelow&&(y.svgBelow=this.svgBelow),this.svgBody&&(y.svgBody=this.svgBody),this.boxType!=="ord"&&(y.boxType=this.boxType),this.paddedBody&&(y.paddedBody=!0),this.paddedLabels&&(y.paddedLabels=!0),y}render(y){let z=this.svgBody?bd(this.svgBody):ga.createBox(y,this.body,{type:"ignore"});const ie=new uc({parent:y,mathstyle:"scriptstyle"},this.style);let le=null;this.svgAbove?le=bd(this.svgAbove):this.above&&(le=ga.createBox(ie,this.above,{type:"ignore"}));let ve=null;this.svgBelow?ve=bd(this.svgBelow):this.below&&(ve=ga.createBox(ie,this.below,{type:"ignore"})),this.paddedBody&&(z=new oo([qs(y,"open"),z,qs(y,"close")],{type:"ignore"}));let be=tf(y,{base:z,above:le,below:ve,type:this.boxType==="bin"||this.boxType==="rel"?this.boxType:"ord",paddedAboveBelow:this.paddedLabels});return be?(this.subsupPlacement==="over-under"?be=this.attachLimits(y,{base:be,type:be.type}):be=this.attachSupsub(y,{base:be}),this.caret&&(be.caret=this.caret),this.bind(y,be)):null}};function tf(a,y){if(!y.base)return null;if(!y.above&&!y.below){const Ne=new oo(y.base,{type:y.type});return Ne.setStyle("position","relative"),Ne}let z=0;y.above&&(z=a.metrics.bigOpSpacing5);let ie=null;const le=y.base,ve=0,be=["ML__center"];if(y.paddedAboveBelow&&be.push("ML__label_padding"),y.below&&y.above){const Ne=a.metrics.bigOpSpacing5+y.below.height+y.below.depth+le.depth+ve;ie=new yc({bottom:Ne,children:[a.metrics.bigOpSpacing5,{box:y.below,classes:be},{box:le,classes:["ML__center"]},z,{box:y.above,classes:be},a.metrics.bigOpSpacing5]})}else y.below?ie=new yc({top:le.height-ve,children:[a.metrics.bigOpSpacing5,{box:y.below,classes:be},{box:le,classes:["ML__center"]}]}):y.above&&(ie=new yc({bottom:le.depth+ve,children:[{box:le,classes:["ML__center"]},z,{box:y.above,classes:be},a.metrics.bigOpSpacing5]}));return new oo(ie,{type:y.type})}var nf=class f1 extends ga{constructor(y){var z,ie,le,ve;super(_e(Xe({},y),{type:"phantom"})),this.captureSelection=!0,this.isInvisible=(z=y.isInvisible)!=null?z:!1,this.smashDepth=(ie=y.smashDepth)!=null?ie:!1,this.smashHeight=(le=y.smashHeight)!=null?le:!1,this.smashWidth=(ve=y.smashWidth)!=null?ve:!1}static fromJson(y){return new f1(y)}toJson(){const y={};return this.isInvisible&&(y.isInvisible=!0),this.smashDepth&&(y.smashDepth=!0),this.smashHeight&&(y.smashHeight=!0),this.smashWidth&&(y.smashWidth=!0),Xe(Xe({},super.toJson()),y)}render(y){const z=new uc({parent:y,isPhantom:!0});if(!this.smashDepth&&!this.smashHeight&&!this.smashWidth)return console.assert(this.isInvisible),ga.createBox(z,this.body,{classes:"inner"});const ie=ga.createBox(this.isInvisible?z:y,this.body);if(!ie)return null;if(this.smashWidth){const le=new oo(null,{classes:"fix"});return new oo([ie,le],{classes:"rlap"}).wrap(y)}if(!this.smashHeight&&!this.smashDepth)return ie;if(this.smashHeight&&(ie.height=0),this.smashDepth&&(ie.depth=0),ie.children)for(const le of ie.children)this.smashHeight&&(le.height=0),this.smashDepth&&(le.depth=0);return new yc({firstBaseline:[{box:ie}]},{type:ie.type}).wrap(y)}},wd=class h1 extends ga{constructor(y){var z;super(Xe({type:"spacing"},y)),this.width=y==null?void 0:y.width,this._braced=(z=y==null?void 0:y.braced)!=null?z:!1}static fromJson(y){return new h1(y)}toJson(){const y=super.toJson();return this.width!==void 0&&(y.width=this.width),this._braced&&(y.braced=!0),y}render(y){var z;if(this.command==="space")return new oo(this.mode==="math"?null:" ");let ie;if(this.width!==void 0)ie=new oo(null,{classes:"mspace"}),ie.left=y.toEm(this.width);else{const le=(z={"\\qquad":"qquad","\\quad":"quad","\\enspace":"enspace","\\;":"thickspace","\\:":"mediumspace","\\>":"mediumspace","\\,":"thinspace","\\!":"negativethinspace"}[this.command])!=null?z:"mediumspace";ie=new oo(null,{classes:le})}return ie=this.bind(y,ie),this.caret&&(ie.caret=this.caret),ie}_serialize(y){var z;if(!y.expandMacro&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const ie=gn(this.command,this.mode);if(ie!=null&&ie.serialize)return ie.serialize(this,y);const le=(z=this.command)!=null?z:"";return this.width===void 0?le:this._braced&&!("register"in this.width)?`${le}{${Vc(this.width)}}`:`${le}${Vc(this.width)}`}},gf=class p1 extends ga{constructor(y){var z;super(_e(Xe({},y),{type:"surd",mode:(z=y.mode)!=null?z:"math",style:y.style,displayContainsHighlight:!0,body:y.body})),this.above=y.index}static fromJson(y){return new p1(_e(Xe({},y),{index:y.above}))}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);if(z!=null&&z.serialize)return z.serialize(this,y);const ie=this.command,le=this.bodyToLatex(y);return this.above&&!this.hasEmptyBranch("above")?Ec(`${ie}[${this.aboveToLatex(y)}]`,le):/^[0-9]$/.test(le)?`${ie}${le}`:Ec(ie,le)}get children(){if(this._children)return this._children;const y=[];if(this.above)for(const z of this.above)y.push(...z.children),y.push(z);if(this.body)for(const z of this.body)y.push(...z.children),y.push(z);return this._children=y,y}render(y){var z;const ie=new uc({parent:y,mathstyle:"cramp"},this.style),le=(z=ga.createBox(ie,this.body,{type:"inner"}))!=null?z:new oo(null),ve=ie.scalingFactor,be=ie.metrics.defaultRuleThickness/ve,Ne=y.isDisplayStyle?du:be,ze=new oo(null,{classes:"ML__sqrt-line",style:this.style});ze.height=be,ze.softWidth=le.width;let Ge=ve*(be+Ne/4);const Tt=Math.max(ve*2*Ne,le.height+le.depth)+Ge+be,An=new uc({parent:y},this.style),$n=this.bind(An,new oo(Zs("inner","\\surd",Tt,!1,An,{isSelected:this.isSelected}),{isSelected:this.isSelected,classes:"ML__sqrt-sign",style:this.style}));if(!$n)return null;const br=$n.height+$n.depth-be;br>le.height+le.depth+Ge&&(Ge=(Ge+br-(le.height+le.depth))/2),$n.setTop($n.height-le.height-Ge);const Gi=this.bind(y,new yc({firstBaseline:[{box:new oo(le)},Ge-2*be,{box:ze},be]})),zo=ga.createBox(new uc({parent:y,mathstyle:"scriptscriptstyle"}),this.above,{type:"ignore"});if(!zo){const qo=new oo([$n,Gi],{classes:this.containsCaret?"ML__contains-caret":"",type:"inner"});return qo.setStyle("display","inline-block"),qo.setStyle("height",qo.height+qo.depth,"em"),this.caret&&(qo.caret=this.caret),this.bind(y,qo)}const ji=new yc({shift:-.6*(Math.max($n.height,Gi.height)-Math.max($n.depth,Gi.depth)),children:[{box:zo}]}),Za=new oo([new oo(ji,{classes:"ML__sqrt-index",type:"ignore"}),$n,Gi],{type:"inner",classes:this.containsCaret?"ML__contains-caret":""});return Za.height=$n.height,Za.depth=$n.depth,this.caret&&(Za.caret=this.caret),this.bind(y,Za)}},sh=class extends oo{constructor(a){super(null,{type:"skip"}),this._width=a}toMarkup(){return``}};function Od(a,y){if(!a.parent)return;const z=a.parent.children,ie=z.indexOf(a);let le=ie-1;for(;le>=0&&z[le].type==="ignore";)le-=1;if(le<0&&a.parent.parent&&a.parent.type==="lift"){Od(a.parent,y);return}ie>0&&z[ie-1].type==="skip"?z[ie-1].width+=y:z.splice(ie,0,new sh(y))}var Ld={ord:{op:3,bin:4,rel:5,inner:3},op:{ord:3,op:3,rel:5,inner:3},bin:{ord:4,op:4,open:4,inner:4},rel:{ord:5,op:5,open:5,inner:5},close:{op:3,bin:4,rel:5,inner:3},punct:{ord:3,op:3,rel:3,open:3,punct:3,inner:3},inner:{ord:3,op:3,bin:4,rel:5,open:3,punct:3,inner:3}},Mf={ord:{op:3},op:{ord:3,op:3},close:{op:3},inner:{op:3}};function C0(a){Kd(a,(y,z)=>{z.type==="bin"&&(!y||/^(middle|bin|op|rel|open|punct)$/.test(y.type))&&(z.type="ord"),(y==null?void 0:y.type)==="bin"&&/^(rel|close|punct)$/.test(z.type)&&(y.type="ord"),z.type!=="ignore"&&(y=z)})}function Tf(a,y){if(!a.children)return a;const z=a.children;C0(z);const ie=y.getRegisterAsEm("thinmuskip"),le=y.getRegisterAsEm("medmuskip"),ve=y.getRegisterAsEm("thickmuskip");return Kd(z,(be,Ne)=>{var ze,Ge,lt;if(!be)return;const Tt=be.type,An=Ne.isTight?(ze=Mf[Tt])!=null?ze:null:(Ge=Ld[Tt])!=null?Ge:null,$n=(lt=An==null?void 0:An[Ne.type])!=null?lt:null;$n===3&&Od(Ne,ie),$n===4&&Od(Ne,le),$n===5&&Od(Ne,ve)}),a}function Kd(a,y,z=void 0){if(!a)return z;a=[...a];for(const ie of a)ie.type==="lift"?z=Kd(ie.children,y,z):ie.type==="ignore"?Kd(ie.children,y):(y(z,ie),Kd(ie.children,y),z=ie);return z}var Uf=class g1 extends ga{constructor(y){super({type:"tooltip",command:y.command,mode:y.mode,style:y.style,body:y.body,displayContainsHighlight:!0}),this.tooltip=new ga({type:"root",mode:y.content,body:y.tooltip,style:{}}),this.skipBoundary=!0,this.captureSelection=!1}static fromJson(y){return new g1(_e(Xe({},y),{tooltip:lh(y.tooltip)}))}toJson(){var y;const z=(y=this.tooltip.body)==null?void 0:y.filter(ie=>ie.type!=="first").map(ie=>ie.toJson());return _e(Xe({},super.toJson()),{tooltip:z})}render(y){const z=ga.createBox(new uc,this.body);if(!z)return null;const ie=new uc({parent:y,mathstyle:"displaystyle"},{fontSize:_u}),le=_f(Tf(new oo(this.tooltip.render(ie),{classes:"ML__tooltip-content"}),ie)),ve=new oo([le,z],{classes:"ML__tooltip-container"});return this.caret&&(ve.caret=this.caret),this.bind(y,ve)}},zf=class v1 extends ga{constructor(y,z){super(_e(Xe({},z),{type:"operator",isFunction:z==null?void 0:z.isFunction})),this.value=y,this.variant=z==null?void 0:z.variant,this.variantStyle=z==null?void 0:z.variantStyle,this.subsupPlacement=z==null?void 0:z.limits}static fromJson(y){return new v1(y.symbol,y)}toJson(){const y=super.toJson();return this.variant&&(y.variant=this.variant),this.variantStyle&&(y.variantStyle=this.variantStyle),this.subsupPlacement&&(y.limits=this.subsupPlacement),this.value&&(y.symbol=this.value),y}render(y){var z;const ie=new oo(this.value,{type:"op",mode:"math",maxFontSize:y.scalingFactor,style:{variant:this.variant,variantStyle:this.variantStyle},isSelected:this.isSelected,letterShapeStyle:y.letterShapeStyle});let le=ie;if(this.superscript||this.subscript){const ve=(z=this.subsupPlacement)!=null?z:"auto";le=ve==="over-under"||ve==="auto"&&y.isDisplayStyle?this.attachLimits(y,{base:ie}):this.attachSupsub(y,{base:ie})}return new oo(this.bind(y,le),{type:"op",caret:this.caret,isSelected:this.isSelected,classes:"op-group"}).wrap(y)}_serialize(y){if(!(y.expandMacro||y.skipStyles||y.skipPlaceholders)&&typeof this.verbatimLatex=="string")return this.verbatimLatex;const z=gn(this.command,this.mode);if(z!=null&&z.serialize)return z.serialize(this,y);const ie=[this.command];return this.explicitSubsupPlacement&&(this.subsupPlacement==="over-under"&&ie.push("\\limits"),this.subsupPlacement==="adjacent"&&ie.push("\\nolimits"),this.subsupPlacement==="auto"&&ie.push("\\displaylimits")),ie.push(this.supsubToLatex(y)),ju(ie)}};function lh(a){if(wt(a))return a.map(ie=>lh(ie));if(typeof a=="string")return ga.fromJson(a);a=Xe({},a);for(const ie of Ja)a[ie]&&(a[ie]=lh(a[ie]));a.args&&(a.args=Dh(a.args)),a.array&&(a.array=lh(a.array));const y=a.type;let z;y==="accent"&&(z=ae.fromJson(a)),y==="array"&&(z=Du.fromJson(a)),y==="box"&&(z=pd.fromJson(a)),y==="chem"&&(z=ur.fromJson(a)),y==="composition"&&(z=Bh.fromJson(a)),y==="delim"&&(z=Bo.fromJson(a)),y==="enclose"&&(z=Wo.fromJson(a)),y==="error"&&(z=bf.fromJson(a)),y==="extensible-symbol"&&(z=as.fromJson(a)),y==="genfrac"&&(z=wu.fromJson(a)),y==="group"&&(z=Id.fromJson(a)),y==="latex"&&(z=pu.fromJson(a)),y==="latexgroup"&&(z=td.fromJson(a)),y==="leftright"&&(z=Ae.fromJson(a)),y==="macro"&&(z=Pe.fromJson(a)),y==="macro-argument"&&(z=Ze.fromJson(a)),y==="operator"&&(z=zf.fromJson(a)),y==="overlap"&&(z=Yc.fromJson(a)),y==="overunder"&&(z=jc.fromJson(a)),y==="placeholder"&&(z=ml.fromJson(a)),y==="prompt"&&(z=gt.fromJson(a)),y==="phantom"&&(z=nf.fromJson(a)),y==="sizeddelim"&&(z=Qo.fromJson(a)),y==="spacing"&&(z=wd.fromJson(a)),y==="subsup"&&(z=ft.fromJson(a)),y==="surd"&&(z=gf.fromJson(a)),y==="text"&&(z=Wd.fromJson(a)),y==="tooltip"&&(z=Uf.fromJson(a)),z||(console.assert(!y||["first","mbin","mrel","mclose","minner","mop","mopen","mord","mpunct","root","space"].includes(y),`MathLive 0.98.5: an unexpected atom type "${y}" was encountered. Add new atom constructors to \`fromJson()\` in "atom.ts"`),z=ga.fromJson(a));for(const ie of Ja)a[ie]&&z.setChildren(a[ie],ie);return a.verbatimLatex!==void 0&&(z.verbatimLatex=a.verbatimLatex),a.subsupPlacement&&(z.subsupPlacement=a.subsupPlacement),a.explicitSubsupPlacement&&(z.explicitSubsupPlacement=!0),a.isFunction&&(z.isFunction=!0),a.isExtensibleSymbol&&(z.isExtensibleSymbol=!0),a.skipBoundary&&(z.skipBoundary=!0),a.captureSelection&&(z.captureSelection=!0),z}function Dh(a){if(a&&Array.isArray(a))return a.map(y=>y===""?null:typeof y=="object"&&"group"in y?{group:y.group.map(z=>lh(z))}:typeof y=="object"&&"atoms"in y?y.atoms.map(z=>lh(z)):y)}var Jh={main:["Main-Regular","ML__cmr"],"main-italic":["Main-Italic","ML__cmr ML__it"],"main-bold":["Main-Bold","ML__cmr ML__bold"],"main-bolditalic":["Main-BoldItalic","ML__cmr ML__bold ML__it"],normal:["Main-Regular","ML__cmr"],"normal-bold":["Main-Bold","ML__mathbf"],"normal-italic":["Math-Italic","ML__mathit"],"normal-bolditalic":["Math-BoldItalic","ML__mathbfit"],ams:["AMS-Regular","ML__ams"],"ams-bold":["AMS-Regular","ML__ams"],"ams-italic":["AMS-Regular","ML__ams"],"ams-bolditalic":["AMS-Regular","ML__ams"],"sans-serif":["SansSerif-Regular","ML__sans"],"sans-serif-bold":["SansSerif-Regular","ML__sans ML__bold"],"sans-serif-italic":["SansSerif-Regular","ML__sans"],"sans-serif-bolditalic":["SansSerif-Regular","ML__sans"],calligraphic:["Caligraphic-Regular","ML__cal"],"calligraphic-bold":["Caligraphic-Regular","ML__cal ML__bold"],"calligraphic-italic":["Caligraphic-Regular","ML__cal ML__it"],"calligraphic-bolditalic":["Caligraphic-Regular","ML__cal ML__bold ML__it"],script:["Script-Regular","ML__script"],"script-bold":["Script-Regular","ML__script ML__bold"],"script-italic":["Script-Regular","ML__script ML__it"],"script-bolditalic":["Script-Regular","ML__script ML__bold ML__it"],fraktur:["Fraktur-Regular","ML__frak"],"fraktur-bold":["Fraktur-Regular","ML__frak"],"fraktur-italic":["Fraktur-Regular","ML__frak"],"fraktur-bolditalic":["Fraktur-Regular","ML__frak"],monospace:["Typewriter-Regular","ML__tt"],"monospace-bold":["Typewriter-Regular","ML__tt ML__bold"],"monospace-italic":["Typewriter-Regular","ML__tt ML__it"],"monospace-bolditalic":["Typewriter-Regular","ML__tt ML__bold ML__it"],"double-struck":["AMS-Regular","ML__bb"],"double-struck-bold":["AMS-Regular","ML__bb"],"double-struck-italic":["AMS-Regular","ML__bb"],"double-struck-bolditalic":["AMS-Regular","ML__bb"]},Hf={"double-struck":/^[A-Z ]$/,script:/^[A-Z ]$/,calligraphic:/^[\dA-Z ]$/,fraktur:/^[\dA-Za-z ]$|^[!"#$%&'()*+,\-./:;=?[]^’‘]$/,monospace:/^[\dA-Za-z ]$|^[!"&'()*+,\-./:;=?@[\]^_~\u0131\u0237\u0393\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A8\u03A9]$/,"sans-serif":/^[\dA-Za-z ]$|^[!"&'()*+,\-./:;=?@[\]^_~\u0131\u0237\u0393\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A8\u03A9]$/},qh=/^[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5]$/,_h=/^[\u0393|\u0394\u0398\u039B\u039E\u03A0\u03A3\u03A5\u03A6\u03A8\u03A9]$/,z0=[/^[a-z]$/,/^[A-Z]$/,qh,_h],kh={iso:["it","it","it","it"],tex:["it","it","it","up"],french:["it","up","up","up"],upright:["up","up","up","up"]},ng=class extends rd{constructor(){super("math")}createAtom(a,y,z){var ie,le,ve,be;if(y===null)return new ga({type:"mord",mode:"math",command:a,value:a,style:z});const Ne=window.MathfieldElement.isFunction((ie=y.command)!=null?ie:a);if(y.definitionType==="symbol"){const Ge=new ga({type:(le=y.type)!=null?le:"mord",mode:"math",command:(ve=y.command)!=null?ve:a,value:String.fromCodePoint(y.codepoint),style:z});return Ne&&(Ge.isFunction=!0),a.startsWith("\\")&&(Ge.verbatimLatex=a),Ge}const ze=new ga({type:"mord",mode:"math",command:(be=y.command)!=null?be:a,value:a,style:z});return Ne&&(ze.isFunction=!0),a.startsWith("\\")&&(ze.verbatimLatex=a),ze}serialize(a,y){const z=c0(a,_e(Xe({},y),{defaultMode:"math"}));return z.length===0||y.defaultMode!=="text"?z:["$ ",...z," $"]}getFont(a,y){console.assert(y.variant!==void 0);let{variant:z}=y,{variantStyle:ie}=y;z==="normal"&&!ie&&/[\u00A3\u0131\u0237]/.test(a.value)&&(z="main",ie="italic"),z==="normal"&&!ie&&a.value.length===1&&z0.forEach((Ne,ze)=>{var Ge;Ne.test(a.value)&&kh[(Ge=y.letterShapeStyle)!=null?Ge:"tex"][ze]==="it"&&(ie="italic")}),ie==="up"&&(ie=void 0);const le=ie?z+"-"+ie:z;console.assert(Jh[le]!==void 0);const[ve,be]=Jh[le];return Hf[z]&&!Hf[z].test(a.value)?(a.value=fi(a.value,z,ie),null):(qh.test(a.value)&&(a.classes+=" lcGreek"),be&&(a.classes+=" "+be),ve)}};function c0(a,y){const{parent:z}=a[0],ie=Lp(z);return Xc(a,"variant").map(le=>{const ve=Lp(le[0]);let be="";ve&&ve!==ie&&(be={calligraphic:"\\mathcal",fraktur:"\\mathfrak","double-struck":"\\mathbb",script:"\\mathscr",monospace:"\\mathtt","sans-serif":"\\mathsf",normal:"\\mathrm","normal-italic":"\\mathnormal","normal-bold":"\\mathbf","normal-bolditalic":"\\mathbfit",ams:"","ams-italic":"\\mathit","ams-bold":"\\mathbf","ams-bolditalic":"\\mathbfit",main:"","main-italic":"\\mathit","main-bold":"\\mathbf","main-bolditalic":"\\mathbfit"}[ve],console.assert(be!==void 0));const Ne=ju(le.map(ze=>ze._serialize(y)));return be?Ec(be,Ne):Ne})}function Lp(a){if(!a)return"";const{style:y}=a;if(y.variant===void 0)return"";let z=y.variant;return!["calligraphic","fraktur","double-struck","script","monospace","sans-serif"].includes(y.variant)&&y.variantStyle&&y.variantStyle!=="up"&&(z+="-"+y.variantStyle),z}new ng;function B0(a,y){return a.map(z=>z._serialize(y))}function H0(a,y){return Xc(a,"fontShape").map(z=>{const ie=B0(z,y),{fontShape:le}=z[0].style;let ve="";return le==="it"&&(ve="\\textit"),le==="sl"&&(ve="\\textsl"),le==="sc"&&(ve="\\textsc"),le==="n"&&(ve="\\textup"),!ve&&le?`{${Ec("\\fontshape",le)}${ju(ie)}}`:ve?Ec(ve,ju(ie)):ju(ie)})}function D0(a,y){return Xc(a,"fontSeries").map(z=>{const ie=H0(z,y),{fontSeries:le}=z[0].style;let ve="";return le==="b"&&(ve="\\textbf"),le==="l"&&(ve="\\textlf"),le==="m"&&(ve="\\textmd"),le&&!ve?`{${Ec("\\fontseries",le)}${ju(ie)}}`:ve?Ec(ve,ju(ie)):ju(ie)})}function fp(a,y){return Xc(a,"fontSize").map(z=>{var ie,le;const ve=D0(z,y),be=(le=["","\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"][(ie=z[0].style.fontSize)!=null?ie:""])!=null?le:"";return be?`${be} ${ju(ve)}`:ju(ve)})}function R0(a,y,z){return Xc(a,"fontFamily").map(ie=>{var le,ve;const be=fp(ie,y),Ne=(ve={roman:"textrm",monospace:"texttt","sans-serif":"textsf"}[(le=ie[0].style.fontFamily)!=null?le:""])!=null?ve:"";return Ne?`\\${Ne}{${ju(be)}}`:ie[0].style.fontFamily?`{\\fontfamily{${ie[0].style.fontFamily}} ${ju(be)}}`:z?`\\text{${ju(be)}}`:ju(be)})}var P0={roman:"","sans-serif":"ML__sans",monospace:"ML__tt"},rg=class extends rd{constructor(){super("text")}createAtom(a,y,z){return y&&y.definitionType==="symbol"?new Wd(a,String.fromCodePoint(y.codepoint),z!=null?z:{}):null}serialize(a,y){return R0(a,_e(Xe({},y),{defaultMode:"text"}),y.defaultMode!=="text")}getFont(a,y){var z,ie,le,ve,be;const{fontFamily:Ne}=y;if(P0[Ne]?a.classes+=" "+P0[Ne]:Ne&&a.setStyle("font-family",Ne),y.fontShape&&(a.classes+=" ",a.classes+=(z={it:"ML__it",sl:"ML__shape_sl",sc:"ML__shape_sc",ol:"ML__shape_ol"}[y.fontShape])!=null?z:""),y.fontSeries){const ze=y.fontSeries.match(/(.?[lbm])?(.?[cx])?/);ze&&(a.classes+=" ",a.classes+=(le={ul:"ML__series_ul",el:"ML__series_el",l:"ML__series_l",sl:"ML__series_sl",m:"",sb:"ML__series_sb",b:"ML__bold",eb:"ML__series_eb",ub:"ML__series_ub"}[(ie=ze[1])!=null?ie:""])!=null?le:"",a.classes+=" ",a.classes+=(be={uc:"ML__series_uc",ec:"ML__series_ec",c:"ML__series_c",sc:"ML__series_sc",n:"",sx:"ML__series_sx",x:"ML__series_x",ex:"ML__series_ex",ux:"ML__series_ux"}[(ve=ze[2])!=null?ve:""])!=null?be:"")}return"Main-Regular"}};new rg;var d0=class extends rd{constructor(){super("latex")}createAtom(a){return new pu(a)}serialize(a,y){return a.filter(z=>z instanceof pu&&!z.isSuggestion).map(z=>z.value)}getFont(){return null}};new d0;var j0={id:"dvorak",locale:"en",displayName:"Dvorak",virtualLayout:"dvorak",platform:"",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["x","X","\u2248","\u02DB"],KeyC:["j","J","\u2206","\xD4"],KeyD:["e","E","\xB4","\xB4"],KeyE:[".",">","\u2265","\u02D8"],KeyF:["u","U","\xA8","\xA8"],KeyG:["i","I","\u02C6","\u02C6"],KeyH:["d","D","\u2202","\xCE"],KeyI:["c","C","\xE7","\xC7"],KeyJ:["h","H","\u02D9","\xD3"],KeyK:["t","T","\u2020","\u02C7"],KeyL:["n","N","\u02DC","\u02DC"],KeyM:["m","M","\xB5","\xC2"],KeyN:["b","B","\u222B","\u0131"],KeyO:["r","R","\xAE","\u2030"],KeyP:["l","L","\xAC","\xD2"],KeyQ:["'",'"',"\xE6","\xC6"],KeyR:["p","P","\u03C0","\u220F"],KeyS:["o","O","\xF8","\xD8"],KeyT:["y","Y","\xA5","\xC1"],KeyU:["g","G","\xA9","\u02DD"],KeyV:["k","K","\u02DA","\uF8FF"],KeyW:[",","<","\u2264","\xAF"],KeyX:["q","Q","\u0153","\u0152"],KeyY:["f","F","\u0192","\xCF"],KeyZ:[";",":","\u2026","\xDA"],Digit1:["1","!","\xA1","\u2044"],Digit2:["2","@","\u2122","\u20AC"],Digit3:["3","#","\xA3","\u2039"],Digit4:["4","$","\xA2","\u203A"],Digit5:["5","%","\u221E","\uFB01"],Digit6:["6","^","\xA7","\uFB02"],Digit7:["7","&","\xB6","\u2021"],Digit8:["8","*","\u2022","\xB0"],Digit9:["9","(","\xAA","\xB7"],Digit0:["0",")","\xBA","\u201A"],Space:[" "," "," "," "],Minus:["[","{","\u201C","\u201D"],Equal:["]","}","\u2018","\u2019"],BracketLeft:["/","?","\xF7","\xBF"],BracketRight:["=","+","\u2260","\xB1"],Backslash:["\\","|","\xAB","\xBB"],Semicolon:["s","S","\xDF","\xCD"],Quote:["-","_","\u2013","\u2014"],Backquote:["`","~","`","`"],Comma:["w","W","\u2211","\u201E"],Period:["v","V","\u221A","\u25CA"],Slash:["z","Z","\u03A9","\xB8"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[".",".",".","."],IntlBackslash:["\xA7","\xB1","\xA7","\xB1"],NumpadEqual:["=","=","=","="],AudioVolumeUp:["","=","","="]}},hp={id:"apple.en-intl",displayName:"English (international)",virtualLayout:"qwerty",platform:"apple",locale:"en",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\u222B","\u0131"],KeyC:["c","C","\xE7","\xC7"],KeyD:["d","D","\u2202","\xCE"],KeyE:["e","E","\xB4","\xB4"],KeyF:["f","F","\u0192","\xCF"],KeyG:["g","G","\xA9","\u02DD"],KeyH:["h","H","\u02D9","\xD3"],KeyI:["i","I","\u02C6","\u02C6"],KeyJ:["j","J","\u2206","\xD4"],KeyK:["k","K","\u02DA","\uF8FF"],KeyL:["l","L","\xAC","\xD2"],KeyM:["m","M","\xB5","\xC2"],KeyN:["n","N","\u02DC","\u02DC"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\u0153","\u0152"],KeyR:["r","R","\xAE","\u2030"],KeyS:["s","S","\xDF","\xCD"],KeyT:["t","T","\u2020","\u02C7"],KeyU:["u","U","\xA8","\xA8"],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\u2211","\u201E"],KeyX:["x","X","\u2248","\u02DB"],KeyY:["y","Y","\xA5","\xC1"],KeyZ:["z","Z","\u03A9","\xB8"],Digit1:["1","!","\xA1","\u2044"],Digit2:["2","@","\u2122","\u20AC"],Digit3:["3","#","\xA3","\u2039"],Digit4:["4","$","\xA2","\u203A"],Digit5:["5","%","\u221E","\uFB01"],Digit6:["6","^","\xA7","\uFB02"],Digit7:["7","&","\xB6","\u2021"],Digit8:["8","*","\u2022","\xB0"],Digit9:["9","(","\xAA","\xB7"],Digit0:["0",")","\xBA","\u201A"],Space:[" "," "," "," "],Minus:["-","_","\u2013","\u2014"],Equal:["=","+","\u2260","\xB1"],BracketLeft:["[","{","\u201C","\u201D"],BracketRight:["]","}","\u2018","\u2019"],Backslash:["\\","|","\xAB","\xBB"],Semicolon:[";",":","\u2026","\xDA"],Quote:["'",'"',"\xE6","\xC6"],Backquote:["`","\u02DC","`","`"],Comma:[",","<","\u2264","\xAF"],Period:[".",">","\u2265","\u02D8"],Slash:["/","?","\xF7","\xBF"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[".",".",".","."],IntlBackslash:["\xA7","\xB1","\xA7","\xB1"],NumpadEqual:["=","=","=","="],AudioVolumeUp:["","=","","="]}},Lh={id:"windows.en-intl",displayName:"English (international)",platform:"windows",virtualLayout:"qwerty",locale:"en",score:0,mapping:{KeyA:["a","A","\xE1","\xC1"],KeyB:["b","B","",""],KeyC:["c","C","\xA9","\xA2"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\xE9","\xC9"],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","\xED","\xCD"],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","\xF8","\xD8"],KeyM:["m","M","\xB5",""],KeyN:["n","N","\xF1","\xD1"],KeyO:["o","O","\xF3","\xD3"],KeyP:["p","P","\xF6","\xD6"],KeyQ:["q","Q","\xE4","\xC4"],KeyR:["r","R","\xAE",""],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\xFE","\xDE"],KeyU:["u","U","\xFA","\xDA"],KeyV:["v","V","",""],KeyW:["w","W","\xE5","\xC5"],KeyX:["x","X","",""],KeyY:["y","Y","\xFC","\xDC"],KeyZ:["z","Z","\xE6","\xC6"],Digit1:["1","!","\xA1","\xB9"],Digit2:["2","@","\xB2",""],Digit3:["3","#","\xB3",""],Digit4:["4","$","\xA4","\xA3"],Digit5:["5","%","\u20AC",""],Digit6:["6","^","\xBC",""],Digit7:["7","&","\xBD",""],Digit8:["8","*","\xBE",""],Digit9:["9","(","\u2018",""],Digit0:["0",")","\u2019",""],Space:[" "," ","",""],Minus:["-","_","\xA5",""],Equal:["=","+","\xD7","\xF7"],BracketLeft:["[","{","\xAB",""],BracketRight:["]","}","\xBB",""],Backslash:["\\","|","\xAC","\xA6"],Semicolon:[";",":","\xB6","\xB0"],Quote:["'",'"',"\xB4","\xA8"],Backquote:["`","~","",""],Comma:[",","<","\xE7","\xC7"],Period:[".",">","",""],Slash:["/","?","\xBF",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["\\","|","",""]}},ig={id:"linux.en",displayName:"English",platform:"linux",virtualLayout:"qwerty",locale:"en",score:0,mapping:{KeyA:["a","A","a","A"],KeyB:["b","B","b","B"],KeyC:["c","C","c","C"],KeyD:["d","D","d","D"],KeyE:["e","E","e","E"],KeyF:["f","F","f","F"],KeyG:["g","G","g","G"],KeyH:["h","H","h","H"],KeyI:["i","I","i","I"],KeyJ:["j","J","j","J"],KeyK:["k","K","k","K"],KeyL:["l","L","l","L"],KeyM:["m","M","m","M"],KeyN:["n","N","n","N"],KeyO:["o","O","o","O"],KeyP:["p","P","p","P"],KeyQ:["q","Q","q","Q"],KeyR:["r","R","r","R"],KeyS:["s","S","s","S"],KeyT:["t","T","t","T"],KeyU:["u","U","u","U"],KeyV:["v","V","v","V"],KeyW:["w","W","w","W"],KeyX:["x","X","x","X"],KeyY:["y","Y","y","Y"],KeyZ:["z","Z","z","Z"],Digit1:["1","!","1","!"],Digit2:["2","@","2","@"],Digit3:["3","#","3","#"],Digit4:["4","$","4","$"],Digit5:["5","%","5","%"],Digit6:["6","^","6","^"],Digit7:["7","&","7","&"],Digit8:["8","*","8","*"],Digit9:["9","(","9","("],Digit0:["0",")","0",")"],Space:[" "," "," "," "],Minus:["-","_","-","_"],Equal:["=","+","=","+"],BracketLeft:["[","{","[","{"],BracketRight:["]","}","]","}"],Backslash:["\\","|","\\","|"],Semicolon:[";",":",";",":"],Quote:["'",'"',"'",'"'],Backquote:["`","~","`","~"],Comma:[",","<",",","<"],Period:[".",">",".",">"],Slash:["/","?","/","?"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"],NumpadEqual:["=","=","=","="],NumpadComma:[".",".",".","."],NumpadParenLeft:["(","(","(","("],NumpadParenRight:[")",")",")",")"]}},Cg={id:"apple.french",locale:"fr",displayName:"French",platform:"apple",virtualLayout:"azerty",score:0,mapping:{KeyA:["q","Q","\u2021","\u03A9"],KeyB:["b","B","\xDF","\u222B"],KeyC:["c","C","\xA9","\xA2"],KeyD:["d","D","\u2202","\u2206"],KeyE:["e","E","\xEA","\xCA"],KeyF:["f","F","\u0192","\xB7"],KeyG:["g","G","\uFB01","\uFB02"],KeyH:["h","H","\xCC","\xCE"],KeyI:["i","I","\xEE","\xEF"],KeyJ:["j","J","\xCF","\xCD"],KeyK:["k","K","\xC8","\xCB"],KeyL:["l","L","\xAC","|"],KeyM:[",","?","\u221E","\xBF"],KeyN:["n","N","~","\u0131"],KeyO:["o","O","\u0153","\u0152"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["a","A","\xE6","\xC6"],KeyR:["r","R","\xAE","\u201A"],KeyS:["s","S","\xD2","\u2211"],KeyT:["t","T","\u2020","\u2122"],KeyU:["u","U","\xBA","\xAA"],KeyV:["v","V","\u25CA","\u221A"],KeyW:["z","Z","\xC2","\xC5"],KeyX:["x","X","\u2248","\u2044"],KeyY:["y","Y","\xDA","\u0178"],KeyZ:["w","W","\u2039","\u203A"],Digit1:["&","1","\uF8FF","\xB4"],Digit2:["\xE9","2","\xEB","\u201E"],Digit3:['"',"3","\u201C","\u201D"],Digit4:["'","4","\u2018","\u2019"],Digit5:["(","5","{","["],Digit6:["\xA7","6","\xB6","\xE5"],Digit7:["\xE8","7","\xAB","\xBB"],Digit8:["!","8","\xA1","\xDB"],Digit9:["\xE7","9","\xC7","\xC1"],Digit0:["\xE0","0","\xF8","\xD8"],Space:[" "," "," "," "],Minus:[")","\xB0","}","]"],Equal:["-","_","\u2014","\u2013"],BracketLeft:["^","\xA8","\xF4","\xD4"],BracketRight:["$","*","\u20AC","\xA5"],Backslash:["`","\xA3","@","#"],Semicolon:["m","M","\xB5","\xD3"],Quote:["\xF9","%","\xD9","\u2030"],Backquote:["<",">","\u2264","\u2265"],Comma:[";",".","\u2026","\u2022"],Period:[":","/","\xF7","\\"],Slash:["=","+","\u2260","\xB1"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:[",",".",",","."],IntlBackslash:["@","#","\u2022","\u0178"],NumpadEqual:["=","=","=","="]}},ev={id:"windows.french",locale:"fr",displayName:"French",virtualLayout:"azerty",platform:"windows",score:0,mapping:{KeyA:["q","Q","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:[",","?","",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["a","A","",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["z","Z","",""],KeyX:["x","X","",""],KeyY:["y","Y","",""],KeyZ:["w","W","",""],Digit1:["&","1","",""],Digit2:["\xE9","2","~",""],Digit3:['"',"3","#",""],Digit4:["'","4","{",""],Digit5:["(","5","[",""],Digit6:["-","6","|",""],Digit7:["\xE8","7","`",""],Digit8:["_","8","\\",""],Digit9:["\xE7","9","^",""],Digit0:["\xE0","0","@",""],Space:[" "," ","",""],Minus:[")","\xB0","]",""],Equal:["=","+","}",""],BracketLeft:["^","\xA8","",""],BracketRight:["$","\xA3","\xA4",""],Backslash:["*","\xB5","",""],Semicolon:["m","M","",""],Quote:["\xF9","%","",""],Backquote:["\xB2","","",""],Comma:[";",".","",""],Period:[":","/","",""],Slash:["!","\xA7","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","",""]}},tv={id:"linux.french",locale:"fr",displayName:"French",virtualLayout:"azerty",platform:"linux",score:0,mapping:{KeyA:["q","Q","@","\u03A9"],KeyB:["b","B","\u201D","\u2019"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\xA2"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0309","\u031B"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:[",","?","\u0301","\u030B"],KeyN:["n","N","n","N"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["a","A","\xE6","\xC6"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201C","\u2018"],KeyW:["z","Z","\xAB","<"],KeyX:["x","X","\xBB",">"],KeyY:["y","Y","\u2190","\xA5"],KeyZ:["w","W","\u0142","\u0141"],Digit1:["&","1","\xB9","\xA1"],Digit2:["\xE9","2","~","\u215B"],Digit3:['"',"3","#","\xA3"],Digit4:["'","4","{","$"],Digit5:["(","5","[","\u215C"],Digit6:["-","6","|","\u215D"],Digit7:["\xE8","7","`","\u215E"],Digit8:["_","8","\\","\u2122"],Digit9:["\xE7","9","^","\xB1"],Digit0:["\xE0","0","@","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:[")","\xB0","]","\xBF"],Equal:["=","+","}","\u0328"],BracketLeft:["\u0302","\u0308","\u0308","\u030A"],BracketRight:["$","\xA3","\xA4","\u0304"],Backslash:["*","\xB5","\u0300","\u0306"],Semicolon:["m","M","\xB5","\xBA"],Quote:["\xF9","%","\u0302","\u030C"],Backquote:["\xB2","~","\xAC","\xAC"],Comma:[";",".","\u2500","\xD7"],Period:[":","/","\xB7","\xF7"],Slash:["!","\xA7","\u0323","\u0307"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"]}},Bg={id:"apple.german",locale:"de",displayName:"German",virtualLayout:"qwertz",platform:"apple",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\u222B","\u2039"],KeyC:["c","C","\xE7","\xC7"],KeyD:["d","D","\u2202","\u2122"],KeyE:["e","E","\u20AC","\u2030"],KeyF:["f","F","\u0192","\xCF"],KeyG:["g","G","\xA9","\xCC"],KeyH:["h","H","\xAA","\xD3"],KeyI:["i","I","\u2044","\xDB"],KeyJ:["j","J","\xBA","\u0131"],KeyK:["k","K","\u2206","\u02C6"],KeyL:["l","L","@","\uFB02"],KeyM:["m","M","\xB5","\u02D8"],KeyN:["n","N","~","\u203A"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\xAB","\xBB"],KeyR:["r","R","\xAE","\xB8"],KeyS:["s","S","\u201A","\xCD"],KeyT:["t","T","\u2020","\u02DD"],KeyU:["u","U","\xA8","\xC1"],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\u2211","\u201E"],KeyX:["x","X","\u2248","\xD9"],KeyY:["z","Z","\u03A9","\u02C7"],KeyZ:["y","Y","\xA5","\u2021"],Digit1:["1","!","\xA1","\xAC"],Digit2:["2",'"',"\u201C","\u201D"],Digit3:["3","\xA7","\xB6","#"],Digit4:["4","$","\xA2","\xA3"],Digit5:["5","%","[","\uFB01"],Digit6:["6","&","]","^"],Digit7:["7","/","|","\\"],Digit8:["8","(","{","\u02DC"],Digit9:["9",")","}","\xB7"],Digit0:["0","=","\u2260","\xAF"],Space:[" "," "," "," "],Minus:["\xDF","?","\xBF","\u02D9"],Equal:["\xB4","`","'","\u02DA"],BracketLeft:["\xFC","\xDC","\u2022","\xB0"],BracketRight:["+","*","\xB1","\uF8FF"],Backslash:["#","'","\u2018","\u2019"],Semicolon:["\xF6","\xD6","\u0153","\u0152"],Quote:["\xE4","\xC4","\xE6","\xC6"],Backquote:["<",">","\u2264","\u2265"],Comma:[",",";","\u221E","\u02DB"],Period:[".",":","\u2026","\xF7"],Slash:["-","_","\u2013","\u2014"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadDecimal:[",",",",".","."],IntlBackslash:["^","\xB0","\u201E","\u201C"],NumpadEqual:["=","=","=","="]}},ag={id:"windows.german",locale:"de",displayName:"German",platform:"windows",virtualLayout:"qwertz",score:0,mapping:{KeyA:["a","A","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:["m","M","\xB5",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["q","Q","@",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["w","W","",""],KeyX:["x","X","",""],KeyY:["z","Z","",""],KeyZ:["y","Y","",""],Digit1:["1","!","",""],Digit2:["2",'"',"\xB2",""],Digit3:["3","\xA7","\xB3",""],Digit4:["4","$","",""],Digit5:["5","%","",""],Digit6:["6","&","",""],Digit7:["7","/","{",""],Digit8:["8","(","[",""],Digit9:["9",")","]",""],Digit0:["0","=","}",""],Space:[" "," ","",""],Minus:["\xDF","?","\\","\u1E9E"],Equal:["\xB4","`","",""],BracketLeft:["\xFC","\xDC","",""],BracketRight:["+","*","~",""],Backslash:["#","'","",""],Semicolon:["\xF6","\xD6","",""],Quote:["\xE4","\xC4","",""],Backquote:["^","\xB0","",""],Comma:[",",";","",""],Period:[".",":","",""],Slash:["-","_","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","|",""]}},nv={id:"linux.german",locale:"de",displayName:"German",platform:"windows",virtualLayout:"qwertz",score:0,mapping:{KeyA:["a","A","\xE6","\xC6"],KeyB:["b","B","\u201C","\u2018"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\u20AC"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0323","\u0307"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:["m","M","\xB5","\xBA"],KeyN:["n","N","\u201D","\u2019"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["q","Q","@","\u03A9"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\u017F","\u1E9E"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201E","\u201A"],KeyW:["w","W","\u0142","\u0141"],KeyX:["x","X","\xAB","\u2039"],KeyY:["z","Z","\u2190","\xA5"],KeyZ:["y","Y","\xBB","\u203A"],Digit1:["1","!","\xB9","\xA1"],Digit2:["2",'"',"\xB2","\u215B"],Digit3:["3","\xA7","\xB3","\xA3"],Digit4:["4","$","\xBC","\xA4"],Digit5:["5","%","\xBD","\u215C"],Digit6:["6","&","\xAC","\u215D"],Digit7:["7","/","{","\u215E"],Digit8:["8","(","[","\u2122"],Digit9:["9",")","]","\xB1"],Digit0:["0","=","}","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:["\xDF","?","\\","\xBF"],Equal:["\u0301","\u0300","\u0327","\u0328"],BracketLeft:["\xFC","\xDC","\u0308","\u030A"],BracketRight:["+","*","~","\xAF"],Backslash:["#","'","\u2019","\u0306"],Semicolon:["\xF6","\xD6","\u030B","\u0323"],Quote:["\xE4","\xC4","\u0302","\u030C"],Backquote:["\u0302","\xB0","\u2032","\u2033"],Comma:[",",";","\xB7","\xD7"],Period:[".",":","\u2026","\xF7"],Slash:["-","_","\u2013","\u2014"],PrintScreen:["","","",""],PageUp:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["","1","","1"],Numpad2:["","2","","2"],Numpad3:["","3","","3"],Numpad4:["","4","","4"],Numpad5:["","5","","5"],Numpad6:["","6","","6"],Numpad7:["","7","","7"],Numpad8:["","8","","8"],Numpad9:["","9","","9"],Numpad0:["","0","","0"],NumpadDecimal:["",",","",","],IntlBackslash:["<",">","|","\u0331"],AltRight:["\r","\r","\r","\r"],MetaRight:[".",".",".","."]}},Dg={id:"apple.spanish",locale:"es",displayName:"Spanish ISO",platform:"apple",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","\xE5","\xC5"],KeyB:["b","B","\xDF",""],KeyC:["c","C","\xA9"," "],KeyD:["d","D","\u2202","\u2206"],KeyE:["e","E","\u20AC","\u20AC"],KeyF:["f","F","\u0192","\uFB01"],KeyG:["g","G","\uF8FF","\uFB02"],KeyH:["h","H","\u2122"," "],KeyI:["i","I"," "," "],KeyJ:["j","J","\xB6","\xAF"],KeyK:["k","K","\xA7","\u02C7"],KeyL:["l","L"," ","\u02D8"],KeyM:["m","M","\xB5","\u02DA"],KeyN:["n","N"," ","\u02D9"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\u03C0","\u220F"],KeyQ:["q","Q","\u0153","\u0152"],KeyR:["r","R","\xAE"," "],KeyS:["s","S","\u222B"," "],KeyT:["t","T","\u2020","\u2021"],KeyU:["u","U"," "," "],KeyV:["v","V","\u221A","\u25CA"],KeyW:["w","W","\xE6","\xC6"],KeyX:["x","X","\u2211","\u203A"],KeyY:["y","Y","\xA5"," "],KeyZ:["z","Z","\u03A9","\u2039"],Digit1:["1","!","|","\u0131"],Digit2:["2",'"',"@","\u02DD"],Digit3:["3","\xB7","#","\u2022"],Digit4:["4","$","\xA2","\xA3"],Digit5:["5","%","\u221E","\u2030"],Digit6:["6","&","\xAC"," "],Digit7:["7","/","\xF7","\u2044"],Digit8:["8","(","\u201C","\u2018"],Digit9:["9",")","\u201D","\u2019"],Digit0:["0","=","\u2260","\u2248"],Space:[" "," "," "," "],Minus:["'","?","\xB4","\xB8"],Equal:["\xA1","\xBF","\u201A","\u02DB"],BracketLeft:["`","^","[","\u02C6"],BracketRight:["+","*","]","\xB1"],Backslash:["\xE7","\xC7","}","\xBB"],Semicolon:["\xF1","\xD1","~","\u02DC"],Quote:["\xB4","\xA8","{","\xAB"],Backquote:["<",">","\u2264","\u2265"],Comma:[",",";","\u201E",""],Period:[".",":","\u2026","\u2026"],Slash:["-","_","\u2013","\u2014"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],Numpad1:["1","1","1","1"],Numpad2:["2","2","2","2"],Numpad3:["3","3","3","3"],Numpad4:["4","4","4","4"],Numpad5:["5","5","5","5"],Numpad6:["6","6","6","6"],Numpad7:["7","7","7","7"],Numpad8:["8","8","8","8"],Numpad9:["9","9","9","9"],Numpad0:["0","0","0","0"],NumpadDecimal:[",",",",",",","],IntlBackslash:["\xBA","\xAA","\\","\xB0"]}},rv={id:"windows.spanish",locale:"es",displayName:"Spanish",platform:"windows",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","",""],KeyB:["b","B","",""],KeyC:["c","C","",""],KeyD:["d","D","",""],KeyE:["e","E","\u20AC",""],KeyF:["f","F","",""],KeyG:["g","G","",""],KeyH:["h","H","",""],KeyI:["i","I","",""],KeyJ:["j","J","",""],KeyK:["k","K","",""],KeyL:["l","L","",""],KeyM:["m","M","",""],KeyN:["n","N","",""],KeyO:["o","O","",""],KeyP:["p","P","",""],KeyQ:["q","Q","",""],KeyR:["r","R","",""],KeyS:["s","S","",""],KeyT:["t","T","",""],KeyU:["u","U","",""],KeyV:["v","V","",""],KeyW:["w","W","",""],KeyX:["x","X","",""],KeyY:["y","Y","",""],KeyZ:["z","Z","",""],Digit1:["1","!","|",""],Digit2:["2",'"',"@",""],Digit3:["3","\xB7","#",""],Digit4:["4","$","~",""],Digit5:["5","%","\u20AC",""],Digit6:["6","&","\xAC",""],Digit7:["7","/","",""],Digit8:["8","(","",""],Digit9:["9",")","",""],Digit0:["0","=","",""],Space:[" "," ","",""],Minus:["'","?","",""],Equal:["\xA1","\xBF","",""],BracketLeft:["`","^","[",""],BracketRight:["+","*","]",""],Backslash:["\xE7","\xC7","}",""],Semicolon:["\xF1","\xD1","",""],Quote:["\xB4","\xA8","{",""],Backquote:["\xBA","\xAA","\\",""],Comma:[",",";","",""],Period:[".",":","",""],Slash:["-","_","",""],NumpadDivide:["/","/","",""],NumpadMultiply:["*","*","",""],NumpadSubtract:["-","-","",""],NumpadAdd:["+","+","",""],IntlBackslash:["<",">","",""]}},iv={id:"linux.spanish",locale:"es",displayName:"Spanish",platform:"linux",virtualLayout:"qwerty",score:0,mapping:{KeyA:["a","A","\xE6","\xC6"],KeyB:["b","B","\u201D","\u2019"],KeyC:["c","C","\xA2","\xA9"],KeyD:["d","D","\xF0","\xD0"],KeyE:["e","E","\u20AC","\xA2"],KeyF:["f","F","\u0111","\xAA"],KeyG:["g","G","\u014B","\u014A"],KeyH:["h","H","\u0127","\u0126"],KeyI:["i","I","\u2192","\u0131"],KeyJ:["j","J","\u0309","\u031B"],KeyK:["k","K","\u0138","&"],KeyL:["l","L","\u0142","\u0141"],KeyM:["m","M","\xB5","\xBA"],KeyN:["n","N","n","N"],KeyO:["o","O","\xF8","\xD8"],KeyP:["p","P","\xFE","\xDE"],KeyQ:["q","Q","@","\u03A9"],KeyR:["r","R","\xB6","\xAE"],KeyS:["s","S","\xDF","\xA7"],KeyT:["t","T","\u0167","\u0166"],KeyU:["u","U","\u2193","\u2191"],KeyV:["v","V","\u201C","\u2018"],KeyW:["w","W","\u0142","\u0141"],KeyX:["x","X","\xBB",">"],KeyY:["y","Y","\u2190","\xA5"],KeyZ:["z","Z","\xAB","<"],Digit1:["1","!","|","\xA1"],Digit2:["2",'"',"@","\u215B"],Digit3:["3","\xB7","#","\xA3"],Digit4:["4","$","~","$"],Digit5:["5","%","\xBD","\u215C"],Digit6:["6","&","\xAC","\u215D"],Digit7:["7","/","{","\u215E"],Digit8:["8","(","[","\u2122"],Digit9:["9",")","]","\xB1"],Digit0:["0","=","}","\xB0"],Enter:["\r","\r","\r","\r"],Escape:["\x1B","\x1B","\x1B","\x1B"],Backspace:["\b","\b","\b","\b"],Tab:[" ",""," ",""],Space:[" "," "," "," "],Minus:["'","?","\\","\xBF"],Equal:["\xA1","\xBF","\u0303","~"],BracketLeft:["\u0300","\u0302","[","\u030A"],BracketRight:["+","*","]","\u0304"],Backslash:["\xE7","\xC7","}","\u0306"],Semicolon:["\xF1","\xD1","~","\u030B"],Quote:["\u0301","\u0308","{","{"],Backquote:["\xBA","\xAA","\\","\\"],Comma:[",",";","\u2500","\xD7"],Period:[".",":","\xB7","\xF7"],Slash:["-","_","\u0323","\u0307"],NumpadDivide:["/","/","/","/"],NumpadMultiply:["*","*","*","*"],NumpadSubtract:["-","-","-","-"],NumpadAdd:["+","+","+","+"],NumpadEnter:["\r","\r","\r","\r"],Numpad1:["","1","","1"],Numpad2:["","2","","2"],Numpad3:["","3","","3"],Numpad4:["","4","","4"],Numpad5:["","5","","5"],Numpad6:["","6","","6"],Numpad7:["","7","","7"],Numpad8:["","8","","8"],Numpad9:["","9","","9"],Numpad0:["","0","","0"],NumpadDecimal:["",".","","."],IntlBackslash:["<",">","|","\xA6"],NumpadEqual:["=","=","=","="],NumpadComma:[".",".",".","."],NumpadParenLeft:["(","(","(","("],NumpadParenRight:[")",")",")",")"]}};function Tp(a){const y=a.split("+"),z={shift:!1,alt:!1,cmd:!1,win:!1,meta:!1,ctrl:!1,key:y.pop()};return y.includes("shift")&&(z.shift=!0),y.includes("alt")&&(z.alt=!0),y.includes("ctrl")&&(z.ctrl=!0),y.includes("cmd")&&(z.cmd=!0),y.includes("win")&&(z.win=!0),y.includes("meta")&&(z.meta=!0),z}function f0(a){let y="";return a.shift&&(y+="shift+"),a.alt&&(y+="alt+"),a.ctrl&&(y+="ctrl+"),a.cmd&&(y+="cmd+"),a.win&&(y+="win+"),a.meta&&(y+="meta+"),y+a.key}var av={enter:"[Enter]",escape:"[Escape]",backspace:"[Backspace]",tab:"[Tab]",space:"[Space]",pausebreak:"[Pause]",insert:"[Insert]",home:"[Home]",pageup:"[PageUp]",delete:"[Delete]",end:"[End]",pagedown:"[PageDown]",right:"[ArrowRight]",left:"[ArrowLeft]",down:"[ArrowDown]",up:"[ArrowUp]",numpad0:"[Numpad0]",numpad1:"[Numpad1]",numpad2:"[Numpad2]",numpad3:"[Numpad3]",numpad4:"[Numpad4]",numpad5:"[Numpad5]",numpad6:"[Numpad6]",numpad7:"[Numpad7]",numpad8:"[Numpad8]",numpad9:"[Numpad9]",numpad_divide:"[NumpadDivide]",numpad_multiply:"[NumpadMultiply]",numpad_subtract:"[NumpadSubtract]",numpad_add:"[NumpadAdd]",numpad_decimal:"[NumpadDecimal]",numpad_separator:"[NumpadComma]",capslock:"[Capslock]",f1:"[F1]",f2:"[F2]",f3:"[F3]",f4:"[F4]",f5:"[F5]",f6:"[F6]",f7:"[F7]",f8:"[F8]",f9:"[F9]",f10:"[F10]",f11:"[F11]",f12:"[F12]",f13:"[F13]",f14:"[F14]",f15:"[F15]",f16:"[F16]",f17:"[F17]",f18:"[F18]",f19:"[F19]"},pp=[],Z0;function og(){switch(mt()){case"macos":case"ios":return"apple";case"windows":return"windows"}return"linux"}function mh(a){(!a.platform||a.platform===og())&&pp.push(a)}function ov(a,y){var z;const ie={shift:!1,alt:!1,cmd:!1,win:!1,meta:!1,ctrl:!1,key:""};if(!a)return ie;for(const[le,ve]of Object.entries(y.mapping)){if(ve[0]===a)return ie.key=`[${le}]`,ie;if(ve[1]===a)return ie.shift=!0,ie.key=`[${le}]`,ie;if(ve[2]===a)return ie.alt=!0,ie.key=`[${le}]`,ie;if(ve[3]===a)return ie.shift=!0,ie.alt=!0,ie.key=`[${le}]`,ie}return ie.key=(z=av[a])!=null?z:"",ie}function sv(a){if(a.code)return a;const y=Object.entries(X0().mapping);let z=!1,ie=!1,le="";for(let ve=0;ve<4;ve++){for(const[be,Ne]of y)if(Ne[ve]===a.key){le=be,ve===3?(z=!0,ie=!0):ve===2?z=!0:ve===1&&(ie=!0);break}if(le)break}return new KeyboardEvent(a.type,_e(Xe({},a),{altKey:z,shiftKey:ie,code:le}))}function lv(a){var y,z;if(!a||a.key==="Unidentified"||a.key==="Dead")return;const ie=a.shiftKey&&a.altKey?3:a.altKey?2:a.shiftKey?1:0;for(const le of pp)((y=le.mapping[a.code])==null?void 0:y[ie])===a.key?le.score+=1:(z=le.mapping[a.code])!=null&&z[ie]&&(le.score=0);pp.sort((le,ve)=>ve.score-le.score)}function uv(a){Z0=pp.find(y=>a.startsWith(y.locale))}function X0(){return Z0!=null?Z0:pp[0]}function cv(){switch(og()){case"apple":return hp;case"windows":return Lh;case"linux":return ig}return hp}switch(og()){case"apple":mh(hp),mh(Cg),mh(Dg),mh(Bg);break;case"windows":mh(Lh),mh(ev),mh(rv),mh(ag);break;case"linux":mh(ig),mh(tv),mh(iv),mh(nv);break}mh(j0);function sg(a){var y;const z=/macos|ios/.test(mt()),ie=a.split("+");let le="";for(const ve of ie)le&&(le+=z?"\u2009":'+'),ve.startsWith("[Key")?le+=ve.slice(4,5):ve.startsWith("Key")?le+=ve.slice(3,4):ve.startsWith("[Digit")?le+=ve.slice(6,7):ve.startsWith("Digit")?le+=ve.slice(5,6):le+=(y={cmd:"\u2318",meta:z?"\u2318":"Ctrl",shift:z?"\u21E7":"Shift",alt:z?"\u2325":"Alt",ctrl:z?"\u2303":"Ctrl","\n":z?"\u23CE":"Return","[return]":z?"\u23CE":"Return","[enter]":z?"\u2324":"Enter","[tab]":z?"\u21E5":"Tab","[escape]":"Esc","[backspace]":z?"\u232B":"Backspace","[delete]":z?"\u2326":"Del","[pageup]":z?"\u21DE":"Page Up","[pagedown]":z?"\u21DF":"Page Down","[home]":z?"\u2912":"Home","[end]":z?"\u2913":"End","[space]":"Space","[equal]":"=","[minus]":"-","[comma]":",","[slash]":"/","[backslash]":"\\","[bracketleft]":"[","[bracketright]":"]",semicolon:";",period:".",comma:",",minus:"-",equal:"=",quote:"'",backslash:"\\",intlbackslash:"\\",backquote:"`",slash:"/",numpadmultiply:"* 🔢",numpaddivide:"/ 🔢",numpadsubtract:"- 🔢",numpadadd:"+ 🔢",numpaddecimal:". 🔢",numpadcomma:", 🔢",help:"help",left:"\u21E0",up:"\u21E1",right:"\u21E2",down:"\u21E3","[arrowleft]":"\u21E0","[arrowup]":"\u21E1","[arrowright]":"\u21E2","[arrowdown]":"\u21E3"}[ve.toLowerCase()])!=null?y:ve.toUpperCase();return le}function V0(a){if(a instanceof MouseEvent||a instanceof PointerEvent)return{x:a.clientX,y:a.clientY};if(a instanceof TouchEvent){const y=[...a.touches].reduce((ie,le)=>({x:ie.x+le.clientX,y:ie.y+le.clientY}),{x:0,y:0}),z=a.touches.length;return{x:y.x/z,y:y.y/z}}}function h0(a){const y={alt:!1,control:!1,shift:!1,meta:!1};return(a instanceof MouseEvent||a instanceof PointerEvent||a instanceof TouchEvent||a instanceof KeyboardEvent)&&(a.altKey&&(y.alt=!0),a.ctrlKey&&(y.control=!0),a.metaKey&&(y.meta=!0),a.shiftKey&&(y.shift=!0)),y}function dv(a,y){return!a&&y||a&&!y?!1:!a||!y?!0:a.alt===y.alt&&a.control===y.control&&a.shift===y.shift&&a.meta===y.meta}var zp=new Set(["Backquote","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","Minus","Equal","IntlYen","KeyQ","KeyW","KeyE","KeyR","KeyT","KeyY","KeyU","KeyI","KeyO","KeyP","BracketLeft","BracketRight","Backslash","KeyA","KeyS","KeyD","KeyF","KeyG","KeyH","KeyJ","KeyK","KeyL","Semicolon","Quote","IntlBackslash","KeyZ","KeyX","KeyC","KeyV","KeyB","KeyN","KeyM","Comma","Period","Slash","IntlRo","Space","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","NumpadAdd","NumpadComma","NumpadDecimal","NumpadDivide","NumpadEqual","NumpadHash","NumpadMultiply","NumpadParenLeft","NumpadParenRight","NumpadStar","NumpadSubstract"]);function Q0(a){return a.ctrlKey||a.metaKey||["Dead","Process"].includes(a.key)?!1:a.code===""?!0:zp.has(a.code)}function $h(){var a;let y=document.activeElement;for(;(a=y==null?void 0:y.shadowRoot)!=null&&a.activeElement;)y=y.shadowRoot.activeElement;return y}var vf=class kp{static get scrim(){return kp._scrim||(kp._scrim=new kp),kp._scrim}static open(y){kp.scrim.open(y)}static close(){kp.scrim.close()}static get state(){return kp.scrim.state}static get element(){return kp.scrim.element}constructor(y){var z,ie;this.lightDismiss=(z=y==null?void 0:y.lightDismiss)!=null?z:!0,this.translucent=(ie=y==null?void 0:y.translucent)!=null?ie:!1,this.state="closed"}get element(){if(this._element)return this._element;const y=document.createElement("div");return y.setAttribute("role","presentation"),y.style.position="fixed",y.style.contain="content",y.style.top="0",y.style.left="0",y.style.right="0",y.style.bottom="0",y.style.zIndex="var(--scrim-zindex, 10099)",y.style.outline="none",this.translucent?(y.style.background="rgba(255, 255, 255, .2)",y.style.backdropFilter="contrast(40%)"):y.style.background="transparent",this._element=y,y}open(y){var z;if(this.state!=="closed")return;this.state="opening",this.onDismiss=y==null?void 0:y.onDismiss,this.savedActiveElement=$h();const{element:ie}=this;((z=y==null?void 0:y.root)!=null?z:document.body).appendChild(ie),ie.addEventListener("click",this),document.addEventListener("touchmove",this,!1),document.addEventListener("scroll",this,!1);const le=window.innerWidth-document.documentElement.clientWidth;this.savedMarginRight=document.body.style.marginRight,this.savedOverflow=document.body.style.overflow,document.body.style.overflow="hidden";const ve=Number.parseFloat(getComputedStyle(document.body).marginRight);document.body.style.marginRight=`${ve+le}px`,y!=null&&y.child&&ie.append(y.child),this.state="open"}close(){var y,z,ie,le;if(this.state!=="open"){console.assert(this.element.parentElement!==null);return}this.state="closing",typeof this.onDismiss=="function"&&this.onDismiss(),this.onDismiss=void 0;const{element:ve}=this;ve.removeEventListener("click",this),document.removeEventListener("touchmove",this,!1),document.removeEventListener("scroll",this,!1),ve.remove(),document.body.style.overflow=(y=this.savedOverflow)!=null?y:"",document.body.style.marginRight=(z=this.savedMarginRight)!=null?z:"",$h()!==this.savedActiveElement&&((le=(ie=this.savedActiveElement)==null?void 0:ie.focus)==null||le.call(ie)),ve.innerHTML="",this.state="closed"}handleEvent(y){this.lightDismiss&&(y.target===this._element&&y.type==="click"?(this.close(),y.preventDefault(),y.stopPropagation()):y.target===document&&(y.type==="touchmove"||y.type==="scroll")&&(this.close(),y.preventDefault(),y.stopPropagation()))}};function fv(a,y,z){let ie=null,le=null,ve=!1,be=!1,Ne=!1;const ze=new AbortController,Ge=ze.signal;return a.addEventListener("keydown",lt=>{if(ve||lt.key==="Process"||lt.code==="CapsLock"||/(Control|Meta|Alt|Shift)(Left|Right)/.test(lt.code)){ie=null;return}ie=lt,le=null,z.onKeystroke(lt)?a.textContent="":ie=null},{capture:!0,signal:Ge}),a.addEventListener("keypress",lt=>{ve||(ie&&le&&z.onKeystroke(ie),le=lt)},{capture:!0,signal:Ge}),a.addEventListener("compositionstart",lt=>{a.textContent="",ve=!0,z.onCompositionStart(lt.data)},{capture:!0,signal:Ge}),a.addEventListener("compositionupdate",lt=>{ve&&z.onCompositionUpdate(lt.data)},{capture:!0,signal:Ge}),a.addEventListener("compositionend",lt=>{a.textContent="",ve&&(ve=!1,z.onCompositionEnd(lt.data))},{capture:!0,signal:Ge}),a.addEventListener("beforeinput",lt=>lt.stopImmediatePropagation(),{signal:Ge}),a.addEventListener("input",lt=>{var Tt;if(!ve&&(a.textContent="",lt.inputType!=="insertCompositionText")){if(lt.inputType==="insertFromPaste"){lt.preventDefault(),lt.stopPropagation();return}z.onInput((Tt=lt.data)!=null?Tt:""),lt.preventDefault(),lt.stopPropagation()}},{signal:Ge}),a.addEventListener("paste",lt=>{a.focus({preventScroll:!0}),a.textContent="",z.onPaste(lt)||lt.preventDefault(),lt.stopImmediatePropagation()},{signal:Ge}),a.addEventListener("cut",lt=>z.onCut(lt),{capture:!0,signal:Ge}),a.addEventListener("copy",lt=>z.onCopy(lt),{capture:!0,signal:Ge}),a.addEventListener("blur",lt=>{var Tt,An;if(((An=(Tt=lt.relatedTarget)==null?void 0:Tt._mathfield)==null?void 0:An.element)===y){a.focus({preventScroll:!0}),lt.preventDefault(),lt.stopPropagation();return}const $n=vf.state;if($n==="open"||$n==="opening"){lt.preventDefault(),lt.stopPropagation();return}if(lt.relatedTarget===lt.target.getRootNode().host){lt.preventDefault(),lt.stopPropagation();return}Ne||be||(Ne=!0,ie=null,le=null,z.onBlur(),Ne=!1)},{capture:!0,signal:Ge}),a.addEventListener("focus",lt=>{Ne||be||(be=!0,z.onFocus(),be=!1)},{capture:!0,signal:Ge}),{dispose:()=>ze.abort(),cancelComposition:()=>{ve&&(a.blur(),requestAnimationFrame(()=>a.focus({preventScroll:!0})))},blur:()=>{typeof a.blur=="function"&&a.blur()},focus:()=>{!be&&typeof a.focus=="function"&&a.focus({preventScroll:!0})},hasFocus:()=>$h()===a,setAriaLabel:lt=>a.setAttribute("aria-label",lt),setValue:lt=>{var Tt;a.textContent=lt,a.style.left="-1000px",(Tt=window.getSelection())==null||Tt.selectAllChildren(a)},moveTo:(lt,Tt)=>{a.style.top=`${Tt}px`,a.style.left=`${lt}px`}}}function W0(a){var y;if(!a||!Q0(a))return"";let z;return a.key==="Unidentified"&&a.target&&(z=a.target.value),z=(y=z!=null?z:a.key)!=null?y:a.code,/^(Dead|Return|Enter|Tab|Escape|Delete|PageUp|PageDown|Home|End|Help|ArrowLeft|ArrowRight|ArrowUp|ArrowDown)$/.test(z)&&(z=""),z}function Pg(a){a=sv(a);const y=[];return a.ctrlKey&&y.push("ctrl"),a.metaKey&&y.push("meta"),a.altKey&&y.push("alt"),a.shiftKey&&y.push("shift"),y.length===0?`[${a.code}]`:(y.push(`[${a.code}]`),y.join("+"))}function hv(a){if(Ye()){const y=mt(),z=a.startsWith("!"),ie=a.endsWith(y);if(z&&!ie||!z&&ie)return!0}return a==="!other"?!1:a==="other"}function Sg(a,y,z){if(a.length===0)return"";const ie=f0(Tp(Pg(z))),le=f0({key:z.key,shift:z.shiftKey,alt:z.altKey,ctrl:z.ctrlKey,meta:z.metaKey||z.ctrlKey&&/macos|ios/.test(mt()),cmd:!1,win:!1});for(let ve=a.length-1;ve>=0;ve--)if((a[ve].key===ie||a[ve].key===le)&&(!a[ve].ifMode||a[ve].ifMode===y))return a[ve].command;return""}function Mg(a){let y=a;return wt(y)&&(y=y.length>0?y[0]+"("+y.slice(1).join("")+")":""),y}function pv(a,y){let z=[];if(typeof y=="string"){const ve=y0[y];wt(ve)?z=ve.slice():ve&&z.push(ve)}const ie=Mg(y),le=new RegExp("^"+ie.replace("\\","\\\\").replace("|","\\|").replace("*","\\*").replace("$","\\$").replace("^","\\^")+"([^*a-zA-Z]|$)");for(const ve of a)le.test(Mg(ve.command))&&z.push(ve.key);return z.map(sg)}function gp(a,y){if(a.ifPlatform&&!/^!?(macos|windows|android|ios|chromeos|other)$/.test(a.ifPlatform))throw new Error(`Unexpected platform "${a.ifPlatform}" for keybinding ${a.key}`);if(a.ifLayout!==void 0&&(y.score===0||!a.ifLayout.includes(y.id)))return;const z=Tp(a.key);let ie=a.ifPlatform;if(z.cmd){if(ie&&ie!=="macos"&&ie!=="ios")throw new Error('Unexpected "cmd" modifier with platform "'+ie+`" -"cmd" modifier can only be used with macOS or iOS platform.`);ie||(ie=mt()==="ios"?"ios":"macos"),z.win=!1,z.cmd=!1,z.meta=!0}if(z.win){if(ie&&ie!=="windows")throw new Error('Unexpected "win" modifier with platform "'+ie+`" -"win" modifier can only be used with Windows platform.`);ie="windows",z.win=!1,z.cmd=!1,z.meta=!0}if(ie&&!hv(ie))return;if(/^\[.+\]$/.test(z.key))return _e(Xe({},a),{key:f0(z)});const le=ov(z.key,y);if(!le)return _e(Xe({},a),{key:f0(z)});if(le.shift&&z.shift||le.alt&&z.alt)throw new Error(`The keybinding ${a.key} (${S0(a.command)}) is conflicting with the key combination ${f0(le)} using the ${y.displayName} keyboard layout`);return le.shift=le.shift||z.shift,le.alt=le.alt||z.alt,le.meta=z.meta,le.ctrl=z.ctrl,_e(Xe({},a),{key:f0(le)})}function S0(a){if(Array.isArray(a)){const y=[...a];return y.shift()+"("+y.map(z=>typeof z=="string"?`"${z}"`:z.toString()).join(", ")+")"}return a}function Hp(a,y){const z=[],ie=[];for(const le of a)try{const ve=gp(le,y);if(!ve)continue;const be=ie.find(Ne=>Ne.key===ve.key&&Ne.ifMode===ve.ifMode);if(be)throw new Error(`Ambiguous key binding ${le.key} (${S0(le.command)}) matches ${be.key} (${S0(be.command)}) with the ${y.displayName} keyboard layout`);ie.push(ve)}catch(ve){ve instanceof Error&&z.push(ve.message)}return[ie,z]}var Rp=class extends su{constructor(){super("latex")}createAtom(a){return new pu(a)}onPaste(a,y){if(!y)return!1;const z=typeof y=="string"?y:y.getData("application/x-latex")||y.getData("text/plain");return z&&a.model.contentWillChange({inputType:"insertFromPaste",data:z})?(a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,z)&&(a.startRecording(),a.snapshot("paste"),a.model.contentDidChange({inputType:"insertFromPaste"}),Pn(a)),a.startRecording(),!0):!1}insert(a,y,z){if(!a.contentWillChange({data:y,inputType:"insertText"}))return!1;z||(z={}),z.insertionMode||(z.insertionMode="replaceSelection"),z.selectionMode||(z.selectionMode="placeholder");const{silenceNotifications:ie}=a;z.silenceNotifications&&(a.silenceNotifications=!0);const le=a.silenceNotifications;a.silenceNotifications=!0,z.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Fc(a.selection)):z.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):z.insertionMode==="insertBefore"?a.collapseSelection("backward"):z.insertionMode==="insertAfter"&&a.collapseSelection("forward");const ve=[];for(const ze of y)Ce.test(ze)&&ve.push(new pu(ze));let be=a.at(a.position);if(be instanceof td&&(be=be.lastChild),!(be.parent instanceof td)){const ze=new td("");be.parent.addChildAfter(ze,be),be=ze.firstChild}const Ne=be.parent.addChildrenAfter(ve,be);return a.silenceNotifications=le,z.selectionMode==="before"||(z.selectionMode==="item"?a.setSelection(a.anchor,a.offsetOf(Ne)):Ne&&(a.position=a.offsetOf(Ne))),a.contentDidChange({data:y,inputType:"insertText"}),a.silenceNotifications=ie,!0}};function Ig(a){return a.atoms.find(y=>y.type==="latexgroup")}function vp(a){var y,z;const ie=a.atoms.find(le=>le.type==="latexgroup");return ie?(z=(y=ie.body)==null?void 0:y.filter(le=>le.type==="latex"))!=null?z:[]:[]}function Og(a,y){var z;let ie=0,le=!1;const ve=Number.isFinite(y==null?void 0:y.before)?(z=y==null?void 0:y.before)!=null?z:0:a.lastOffset;for(;ie<=ve&&!le;){const ze=a.at(ie);le=ze instanceof pu&&ze.isSuggestion,le||ie++}if(!le)return[void 0,void 0];let be=ie,Ne=!1;for(;be<=ve&&!Ne;){const ze=a.at(be);Ne=!(ze instanceof pu&&ze.isSuggestion),Ne||be++}return[ie-1,be-1]}new Rp;function Ol(a){const y=vp(a.model).filter(z=>z.isSuggestion);if(y.length!==0){a.model.position=a.model.offsetOf(y[0].leftSibling);for(const z of y)z.parent.removeChild(z)}}function mp(a,y){var z;const{model:ie}=a;Ol(a);for(const lt of vp(ie))lt.isError=!1;if(!ie.selectionIsCollapsed||a.options.popoverPolicy==="off"){K0(a);return}const le=[];let ve=ie.at(ie.position);for(;ve&&ve instanceof pu&&/^[a-zA-Z\*]$/.test(ve.value);)ve=ve.leftSibling;if(ve&&ve instanceof pu&&ve.value==="\\")for(le.push(ve),ve=ve.rightSibling;ve&&ve instanceof pu&&/^[a-zA-Z\*]$/.test(ve.value);)le.push(ve),ve=ve.rightSibling;const be=le.map(lt=>lt.value).join(""),Ne=Zt(a,be);if(Ne.length===0){if(/^\\[a-zA-Z\*]+$/.test(be))for(const lt of le)lt.isError=!0;K0(a);return}const ze=(z=y==null?void 0:y.atIndex)!=null?z:0;a.suggestionIndex=ze<0?Ne.length-1:ze%Ne.length;const Ge=Ne[a.suggestionIndex];if(Ge!==be){const lt=le[le.length-1];lt.parent.addChildrenAfter([...Ge.slice(be.length-Ge.length)].map(Tt=>new pu(Tt,{isSuggestion:!0})),lt),mn(a,{interactive:!0})}vv(a,Ne)}function Ap(a){const[y,z]=Og(a,{before:a.position});if(y===void 0||z===void 0)return!1;let ie=!1;return a.getAtoms([y,z]).forEach(le=>{le.isSuggestion&&(le.isSuggestion=!1,ie=!0)}),ie}function M0(a,y="accept",z){var ie,le;K0(a);const ve=Ig(a.model);if(!ve)return!1;if(y==="accept-suggestion"||y==="accept-all"){const Ge=vp(a.model).filter(lt=>lt.isSuggestion);if(Ge.length!==0){for(const lt of Ge)lt.isSuggestion=!1;a.model.position=a.model.offsetOf(Ge[Ge.length-1])}if(y==="accept-suggestion")return Ge.length!==0}const Ne=vp(a.model).filter(Ge=>!Ge.isSuggestion).map(Ge=>Ge.value).join(""),ze=ve.leftSibling;return ve.parent.removeChild(ve),a.model.position=a.model.offsetOf(ze),a.switchMode((ie=z==null?void 0:z.mode)!=null?ie:"math"),y==="reject"||(su.insert(a.model,Ne,{selectionMode:(le=z==null?void 0:z.selectItem)!=null&&le?"item":"placeholder",format:"latex",mode:"math"}),a.snapshot(),a.model.announce("replacement"),a.switchMode("math")),!0}function yp(a){var y;let z=document.getElementById(a);return z?z.dataset.refcount=Number(Number.parseInt((y=z.dataset.refcount)!=null?y:"0")+1).toString():(z=document.createElement("div"),z.setAttribute("aria-hidden","true"),z.dataset.refcount="1",z.id=a,document.body.append(z)),z}function jp(a){var y;const z=document.getElementById(a);if(!z)return;const ie=Number.parseInt((y=z.getAttribute("data-refcount"))!=null?y:"0");ie<=1?z.remove():z.dataset.refcount=Number(ie-1).toString()}function gv(a,y){const z=new uc({from:a.context}),ie=new ga({mode:"math",type:"root",body:Fn(y,{context:z})}),le=_f(Tf(new oo(ie.render(z),{classes:"ML__base"}),z));return $f(le,{classes:"ML__latex"}).toMarkup()}function vv(a,y){var z;if(y.length===0){K0(a);return}let ie="";for(const[ve,be]of y.entries()){const Ne=be,ze=gv(a,be),Ge=pv(a.keybindings,Ne).join("
    ");ie+=`
  • ${Ne}${ze}`,Ge&&(ie+=`${Ge}`),ie+="
  • "}const le=Vp(a,`
      ${ie}
    `);Zp()&&((z=le.querySelector(".ML__popover__current"))==null||z.scrollIntoView({block:"nearest",inline:"nearest"})),setTimeout(()=>{var ve;le&&!Zp()&&(le.classList.add("is-visible"),Xp(a),(ve=le.querySelector(".ML__popover__current"))==null||ve.scrollIntoView({block:"nearest",inline:"nearest"}))},32)}function Zp(){const a=document.getElementById("mathlive-suggestion-popover");return a?a.classList.contains("is-visible"):!1}function Xp(a,y){var z;if(!a.element||a.element.mathfield!==a||!Zp())return;if(((z=a.model.at(a.model.position))==null?void 0:z.type)!=="latex"){K0(a);return}if(y!=null&&y.deferred){setTimeout(()=>Xp(a),32);return}const ie=ih(a.field);if(!ie)return;const le=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,ve=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,be=window.innerWidth-document.documentElement.clientWidth,Ne=window.innerHeight-document.documentElement.clientHeight,ze=window.mathVirtualKeyboard.boundingRect.height,Ge=document.getElementById("mathlive-suggestion-popover");ie.x+Ge.offsetWidth/2>ve-be?Ge.style.left=`${ve-Ge.offsetWidth-be}px`:ie.x-Ge.offsetWidth/2<0?Ge.style.left="0":Ge.style.left=`${ie.x-Ge.offsetWidth/2}px`;const lt=ie.y-ie.height;le-Ne-ze-ie.yie.preventDefault()),z.addEventListener("click",ie=>{let le=ie.target;for(;le&&!le.dataset.command;)le=le.parentElement;le&&(M0(a,"reject"),su.insert(a.model,le.dataset.command,{selectionMode:"placeholder",format:"latex",mode:"math"}),a.dirty=!0,a.focus())})),z.innerHTML=window.MathfieldElement.createHTML(y),z}function Ng(){document.getElementById("mathlive-suggestion-popover")&&(jp("mathlive-suggestion-popover"),ee("suggestion-popover"),ee("core"))}function mv(){const a=String(new Error().stack).replace(/^Error.*\n/,"").split(` -`);if(a.length===0)return console.error(`Can't use relative paths to specify assets location because the sourcefile location could not be determined (unexpected stack trace format "${new Error().stack}").`),"";let y=a[1],z=y.match(/http.*\.ts[\?:]/);return z&&(y=a[2]),z=y.match(/(https?:.*):[0-9]+:[0-9]+/),z||(z=y.match(/at (.*(\.ts))[\?:]/),z||(z=y.match(/at (.*(\.mjs|\.js))[\?:]/))),z?z[1]:(console.error(a),console.error(`Can't use relative paths to specify assets location because the source file location could not be determined (unexpected location "${y}").`),"")}var bp=null,Fg,xp,Ep=((xp=(Fg=globalThis==null?void 0:globalThis.document)==null?void 0:Fg.currentScript)==null?void 0:xp.src)||mv();function Qp(a){return tg(this,null,function*(){if(/^(?:[a-z+]+:)?\/\//i.test(a))return new URL(a).href;if(bp===null)try{const y=yield fetch(Ep,{method:"HEAD"});y.status===200&&(bp=y.url)}catch(y){console.error(`Invalid URL "${a}" (relative to "${Ep}")`)}return new URL(a,bp!=null?bp:Ep).href})}function G0(a,y,z={}){return new FontFace(a,`url(${y}.woff2) format('woff2')`,z)}var Oe="not-loaded";function Fe(){return tg(this,null,function*(){return Oe="not-loaded",Me()})}function Me(){return tg(this,null,function*(){var a;if(Oe!=="not-loaded")return;if(Oe="loading",(a=getComputedStyle(document.documentElement).getPropertyValue("--ML__static-fonts"))!=null?a:!1){Oe="ready";return}if(document.body.classList.remove("ML__fonts-did-not-load"),"fonts"in document){const z=["KaTeX_Main","KaTeX_Math","KaTeX_AMS","KaTeX_Caligraphic","KaTeX_Fraktur","KaTeX_SansSerif","KaTeX_Script","KaTeX_Typewriter","KaTeX_Size1","KaTeX_Size2","KaTeX_Size3","KaTeX_Size4"],ie=Array.from(document.fonts).map(be=>be.family);if(z.every(be=>ie.includes(be))){Oe="ready";return}if(!window.MathfieldElement.fontsDirectory){Oe="not-loaded";return}const le=yield Qp(window.MathfieldElement.fontsDirectory);if(!le){document.body.classList.add("ML__fonts-did-not-load"),Oe="error";return}const ve=[["KaTeX_Main-Regular"],["KaTeX_Main-BoldItalic",{style:"italic",weight:"bold"}],["KaTeX_Main-Bold",{weight:"bold"}],["KaTeX_Main-Italic",{style:"italic"}],["KaTeX_Math-Italic",{style:"italic"}],["KaTeX_Math-BoldItalic",{style:"italic",weight:"bold"}],["KaTeX_AMS-Regular"],["KaTeX_Caligraphic-Regular"],["KaTeX_Caligraphic-Bold",{weight:"bold"}],["KaTeX_Fraktur-Regular"],["KaTeX_Fraktur-Bold",{weight:"bold"}],["KaTeX_SansSerif-Regular"],["KaTeX_SansSerif-Bold",{weight:"bold"}],["KaTeX_SansSerif-Italic",{style:"italic"}],["KaTeX_Script-Regular"],["KaTeX_Typewriter-Regular"],["KaTeX_Size1-Regular"],["KaTeX_Size2-Regular"],["KaTeX_Size3-Regular"],["KaTeX_Size4-Regular"]].map(be=>G0(be[0].replace(/-[a-zA-Z]+$/,""),`${le}/${be[0]}`,be[1]));try{(yield Promise.all(ve.map(Ne=>{try{return Ne.load()}catch(ze){}}))).forEach(Ne=>document.fonts.add(Ne)),Oe="ready";return}catch(be){console.error(`MathLive 0.98.5: The math fonts could not be loaded from "${le}"`,{cause:be}),document.body.classList.add("ML__fonts-did-not-load")}Oe="error"}})}function jt(a){let y=0;for(let z=0;z{kf(a)&&a.dirty&&(a.atomBoundsCache=new Map,mn(a,y),a.atomBoundsCache=void 0)})))}function Tr(a,y){var z;y=y!=null?y:{};const ie=new uc({from:_e(Xe({},a.context),{atomIdsSettings:{seed:y.forHighlighting?jt(ga.serialize([a.model.root],{expandMacro:!1,defaultMode:a.options.defaultMode})):"random",groupNumbers:(z=y.forHighlighting)!=null?z:!1},letterShapeStyle:a.options.letterShapeStyle}),mathstyle:a.options.defaultMode==="inline-math"?"textstyle":"displaystyle"}),le=a.model.root.render(ie);return $f(Tf(le,ie),{classes:a.hasEditablePrompts?"ML__latex ML__prompting":"ML__latex",attributes:{translate:"no","aria-hidden":"true"}})}function Fr(a,y){const{model:z}=a;z.root.caret=void 0,z.root.isSelected=!1,z.root.containsCaret=!0;for(const le of z.atoms)le.caret=void 0,le.isSelected=!1,le.containsCaret=!1;if(z.selectionIsCollapsed){const le=z.at(z.position);le.caret=a.model.mode;let ve=le.parent;for(;ve;)ve.containsCaret=!0,ve=ve.parent}else{const le=z.getAtoms(z.selection,{includeChildren:!0});for(const ve of le)ve.isSelected=!0}return Tr(a,y).toMarkup()}function mn(a,y){if(!kf(a))return;y!=null||(y={});const z=a.element.querySelector("[part=virtual-keyboard-toggle]");z&&(z.style.display=a.hasEditableContent?"":"none");const ie=a.field;if(!ie)return;const le=a.isSelectionEditable&&a.hasFocus(),ve=ie.classList.contains("ML__focused");ve&&!le?ie.classList.remove("ML__focused"):!ve&&le&&ie.classList.add("ML__focused");let be=Fr(a,y);const Ne=a.element.querySelector("[part=menu-toggle]");if(Ne&&(a.model.atoms.length<=1||a.disabled||a.readOnly&&!a.hasEditableContent||a.userSelect==="none"?Ne.style.display="none":Ne.style.display=""),a.model.atoms.length<=1){const ze=a.options.contentPlaceholder;ze&&(be+=`${Cf(ze)}`)}ie.innerHTML=window.MathfieldElement.createHTML(be),_t(a,y.interactive),a.dirty=!1}function _t(a,y){const z=a.field;if(!z)return;for(const Ne of z.querySelectorAll(".ML__selection, .ML__contains-highlight"))Ne.remove();!(y!=null&&y)&&Oe!=="error"&&Oe!=="ready"&&setTimeout(()=>{Oe==="ready"?_t(a):setTimeout(()=>_t(a),128)},32);const ie=a.model,le=z.offsetWidth,ve=z.getBoundingClientRect().width;let be=Math.floor(ve)/le;if(be=isNaN(be)?1:be,ie.selectionIsCollapsed){Xp(a,{deferred:!0});let Ne=ie.at(ie.position);for(;Ne&&Ne.type!=="prompt"&&!(Ne.containsCaret&&Ne.displayContainsHighlight);)Ne=Ne.parent;if(Ne!=null&&Ne.containsCaret&&Ne.displayContainsHighlight){const ze=b0(a,Ch(a,Ne),be);if(ze){ze.left/=be,ze.right/=be,ze.top/=be,ze.bottom/=be;const Ge=document.createElement("div");Ge.classList.add("ML__contains-highlight"),Ge.style.position="absolute",Ge.style.left=`${ze.left+1}px`,Ge.style.top=`${Math.ceil(ze.top)}px`,Ge.style.width=`${Math.ceil(ze.right-ze.left)}px`,Ge.style.height=`${Math.ceil(ze.bottom-ze.top)}px`,z.insertBefore(Ge,z.childNodes[0])}}return}for(const Ne of Kn(l0(a,{excludeAtomsWithBackground:!0}))){Ne.left/=be,Ne.right/=be,Ne.top/=be,Ne.bottom/=be;const ze=document.createElement("div");ze.classList.add("ML__selection"),ze.style.position="absolute",ze.style.left=`${Ne.left}px`,ze.style.top=`${Ne.top}px`,ze.style.width=`${Math.ceil(Ne.right-Ne.left)}px`,ze.style.height=`${Math.ceil(Ne.bottom-Ne.top-1)}px`,z.insertBefore(ze,z.childNodes[0])}}function Kn(a){let y=[];for(const z of a){let ie=!1;for(const le of y)if(z.left===le.left&&z.right===le.right&&z.top===le.top&&z.bottom===le.bottom){ie=!0;break}ie||y.push(z)}a=y,y=[];for(const z of a){let ie=0;for(const le of a)if(z.left>=le.left&&z.right<=le.right&&z.top>=le.top&&z.bottom<=le.bottom&&(ie+=1,ie>1))break;ie===1&&y.push(z)}return y}var wr=3,ra;function qi(a,y){y=Xe({target:"mathfield",canUndo:!1,audioFeedback:void 0,changeContent:!1,changeSelection:!1},y!=null?y:{}),ra||(ra={});for(const z of Object.keys(a))console.assert(!ra[z],"Selector already defined: ",z),ra[z]=_e(Xe({},y),{fn:a[z]})}function aa(a){let y;if(Array.isArray(a)){if(a[0]==="performWithFeedback")return aa(a[1]);y=a[0]}else y=a;return y=y.replace(/-\w/g,z=>z[1].toUpperCase()),ra[y]}function ca(a){var y;return(y=aa(a))==null?void 0:y.target}function Ra(a,y){var z;if(!y)return!1;let ie,le=[],ve=!1,be=!1;wt(y)?(ie=y[0],le=y.slice(1)):ie=y,ie=ie.replace(/-\w/g,Ge=>Ge[1].toUpperCase());const Ne=ra[ie],ze=Ne==null?void 0:Ne.target;if(ze==="model"){if(!a.isSelectionEditable&&(Ne!=null&&Ne.changeContent))return a.model.announce("plonk"),!1;/^(delete|add)/.test(ie)&&(ie!=="deleteBackward"&&a.flushInlineShortcutBuffer(),a.snapshot(ie)),/^complete/.test(ie)||Ol(a),ra[ie].fn(a.model,...le),mp(a),be=!0,ve=!0}else if(ze==="virtual-keyboard")be=(z=window.mathVirtualKeyboard.executeCommand(y))!=null?z:!1,ve=!0;else if(ra[ie]){if(!a.isSelectionEditable&&(Ne!=null&&Ne.changeContent))return a.model.announce("plonk"),!1;/^(undo|redo)/.test(ie)&&a.flushInlineShortcutBuffer(),be=ra[ie].fn(a,...le),ve=!0}else throw new Error(`Unknown command "${ie}"`);return ze!=="virtual-keyboard"&&(!a.model.selectionIsCollapsed||Ne!=null&&Ne.changeSelection&&y!=="deleteBackward")&&(a.flushInlineShortcutBuffer(),Ne!=null&&Ne.changeContent||a.stopCoalescingUndo(),a.defaultStyle={}),be&&Pn(a),ve}function Ei(a,y){var z;if(!a)return!1;a.focus(),km.keypressVibration&&pt()&&navigator.vibrate(wr);const ie=aa(y);window.MathfieldElement.playSound((z=ie==null?void 0:ie.audioFeedback)!=null?z:"keypress");const le=a.executeCommand(y);return a.scrollIntoView(),le}qi({performWithFeedback:(a,y)=>Ei(a,y)});function Si(a){return mp(a,{atIndex:a.suggestionIndex+1}),!1}function ba(a){return mp(a,{atIndex:a.suggestionIndex-1}),!1}qi({complete:M0},{target:"mathfield",audioFeedback:"return",canUndo:!0,changeContent:!0,changeSelection:!0}),qi({nextSuggestion:Si,previousSuggestion:ba},{target:"mathfield",audioFeedback:"keypress",changeSelection:!0});var Sa="mathlive#virtual-keyboard-message";function Uo(a){var y;return a.type!=="message"?!1:((y=a.data)==null?void 0:y.type)===Sa}var Ua=class m1{constructor(){this.targetOrigin=window.origin,this.originValidator="none",this._boundingRect=new DOMRect(0,0,0,0),this._isShifted=!1,window.addEventListener("message",this),this.sendMessage("proxy-created"),this.listeners={}}static get singleton(){return this._singleton||(this._singleton=new m1),this._singleton}set alphabeticLayout(y){this.sendMessage("update-setting",{alphabeticLayout:y})}set layouts(y){this.sendMessage("update-setting",{layouts:y})}get normalizedLayouts(){return[]}set editToolbar(y){this.sendMessage("update-setting",{editToolbar:y})}set actionKeycap(y){this.sendMessage("update-setting",{actionKeycap:y})}set shiftKeycap(y){this.sendMessage("update-setting",{shiftKeycap:y})}set backspaceKeycap(y){this.sendMessage("update-setting",{backspaceKeycap:y})}set tabKeycap(y){this.sendMessage("update-setting",{tabKeycap:y})}set container(y){throw new Error("Container inside an iframe cannot be changed")}show(y){this.sendMessage("show",y)}hide(y){this.sendMessage("hide",y)}get isShifted(){return this._isShifted}get visible(){return this._boundingRect.height>0}set visible(y){y?this.show():this.hide()}get boundingRect(){return this._boundingRect}executeCommand(y){return this.sendMessage("execute-command",{command:y}),!0}updateToolbar(y){this.sendMessage("update-toolbar",y)}update(y){this.sendMessage("update-setting",y)}connect(){this.sendMessage("connect")}disconnect(){this.sendMessage("disconnect")}addEventListener(y,z,ie){this.listeners[y]||(this.listeners[y]=new Set),this.listeners[y].has(z)||this.listeners[y].add(z)}dispatchEvent(y){return!this.listeners[y.type]||this.listeners[y.type].size===0?!0:(this.listeners[y.type].forEach(z=>{typeof z=="function"?z(y):z==null||z.handleEvent(y)}),!y.defaultPrevented)}removeEventListener(y,z,ie){this.listeners[y]&&this.listeners[y].delete(z)}handleEvent(y){if(Uo(y)){if(!E0(y.origin,this.originValidator))throw new DOMException(`Message from unknown origin (${y.origin}) cannot be handled`,"SecurityError");this.handleMessage(y.data)}}handleMessage(y){const{action:z}=y;if(z==="execute-command"){const{command:ie}=y;ca(ie)==="virtual-keyboard"&&this.executeCommand(ie);return}if(z==="synchronize-proxy"){this._boundingRect=y.boundingRect,this._isShifted=y.isShifted;return}if(z==="geometry-changed"){this._boundingRect=y.boundingRect,this.dispatchEvent(new Event("geometrychange"));return}}sendMessage(y,z={}){if(!window.top)throw new DOMException("A frame does not have access to the top window and can\u2018t communicate with the keyboard. Review virtualKeyboardTargetOrigin and originValidator on mathfields embedded in an iframe","SecurityError");window.top.postMessage(Xe({type:Sa,action:y},z),this.targetOrigin)}},Oa={numeric:{label:"123",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.numeric",rows:[[{latex:"x",shift:"y",variants:["y","z","t","r","x^2","x^n","x^{#?}","x_n","x_i","x_{#?}",{latex:"f(#?)",class:"small"},{latex:"g(#?)",class:"small"}]},{latex:"n",shift:"a",variants:["i","j","p","k","a","u"]},"[separator-5]","[7]","[8]","[9]","[/]","[separator-5]",{latex:"\\exponentialE",shift:"\\ln",variants:["\\exp","\\times 10^{#?}","\\ln","\\log_{10}","\\log"]},{latex:"\\imaginaryI",variants:["\\Re","\\Im","\\imaginaryJ","\\Vert #0 \\Vert"]},{latex:"\\pi",shift:"\\sin",variants:["\\prod",{latex:"\\theta",aside:"theta"},{latex:"\\rho",aside:"rho"},{latex:"\\tau",aside:"tau"},"\\sin","\\cos","\\tan"]}],[{label:"<",latex:"<",class:"hide-shift",shift:{latex:"\\le",label:"\u2264"}},{label:">",latex:">",class:"hide-shift",shift:{latex:"\\ge",label:"\u2265"}},"[separator-5]","[4]","[5]","[6]","[*]","[separator-5]",{class:"hide-shift",latex:"#@^2}",shift:"#@^{\\prime}}"},{latex:"#@^{#0}}",class:"hide-shift",shift:"#@_{#?}"},{class:"hide-shift",latex:"\\sqrt{#0}",shift:{latex:"\\sqrt[#0]{#?}}"}}],["[(]","[)]","[separator-5]","[1]","[2]","[3]","[-]","[separator-5]",{latex:"\\int^{\\infty}_{0}\\!#?\\,\\mathrm{d}x",class:"small hide-shift",shift:"\\int",variants:[{latex:"\\int_{#?}^{#?}",class:"small"},{latex:"\\int",class:"small"},{latex:"\\iint",class:"small"},{latex:"\\iiint",class:"small"},{latex:"\\oint",class:"small"},"\\mathrm{d}x",{latex:"\\dfrac{\\mathrm{d}}{\\mathrm{d} x}",class:"small"},{latex:"\\frac{\\partial}{\\partial x}",class:"small"},"\\partial"]},{class:"hide-shift",latex:"\\forall",shift:"\\exists"},{label:"[backspace]",width:1}],[{label:"[shift]",width:2},"[separator-5]","[0]","[.]","[=]","[+]","[separator-5]","[left]","[right]",{label:"[action]",width:1}]]},greek:{label:"αβγ",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.greek",rows:[[{label:"φ",class:"MLK__tex hide-shift",insert:"\\varphi",aside:"phi var.",shift:"\\Phi"},{label:"ς",class:"MLK__tex hide-shift",insert:"\\varsigma",aside:"sigma var.",shift:"\\Sigma"},{label:"ϵ",class:"MLK__tex hide-shift",insert:"\\epsilon",aside:"espilon",shift:'\\char"0190'},{label:"ρ",class:"MLK__tex hide-shift",insert:"\\rho",aside:"rho",shift:'\\char"3A1'},{label:"τ",class:"MLK__tex hide-shift",insert:"\\tau",aside:"tau",shift:'\\char"3A4'},{label:"υ",class:"MLK__tex hide-shift",insert:"\\upsilon",aside:"upsilon",shift:"\\Upsilon"},{label:"θ",class:"MLK__tex hide-shift",insert:"\\theta",aside:"theta",shift:"\\Theta"},{label:"ι",class:"MLK__tex hide-shift",insert:"\\iota",aside:"iota",shift:'\\char"399'},{label:"ο",class:"MLK__tex hide-shift",insert:"\\omicron",aside:"omicron",shift:'\\char"39F'},{label:"π",class:"MLK__tex hide-shift",insert:"\\pi",aside:"pi",shift:"\\Pi"}],["[separator-5]",{label:"α",class:"MLK__tex hide-shift",insert:"\\alpha",aside:"alpha",shift:'\\char"391'},{label:"σ",class:"MLK__tex hide-shift",insert:"\\sigma",aside:"sigma",shift:"\\Sigma"},{label:"δ",class:"MLK__tex hide-shift",insert:"\\delta",aside:"delta",shift:"\\Delta"},{latex:"\\phi",class:"MLK__tex hide-shift",insert:"\\phi",aside:"phi",shift:"\\Phi"},{label:"γ",class:"MLK__tex hide-shift",insert:"\\gamma",aside:"gamma",shift:"\\Gamma"},{label:"η",class:"MLK__tex hide-shift",insert:"\\eta",aside:"eta",shift:'\\char"397'},{label:"ξ",class:"MLK__tex hide-shift",insert:"\\xi",aside:"xi",shift:"\\Xi"},{label:"κ",class:"MLK__tex hide-shift",insert:"\\kappa",aside:"kappa",shift:"\\Kappa"},{label:"λ",class:"MLK__tex hide-shift",insert:"\\lambda",aside:"lambda",shift:"\\Lambda"},"[separator-5]"],["[shift]",{label:"ζ",class:"MLK__tex hide-shift",insert:"\\zeta",aside:"zeta",shift:'\\char"396'},{label:"χ",class:"MLK__tex hide-shift",insert:"\\chi",aside:"chi",shift:'\\char"3A7'},{label:"ψ",class:"MLK__tex hide-shift",insert:"\\psi",aside:"zeta",shift:"\\Psi"},{label:"ω",class:"MLK__tex hide-shift",insert:"\\omega",aside:"omega",shift:"\\Omega"},{label:"β",class:"MLK__tex hide-shift",insert:"\\beta",aside:"beta",shift:'\\char"392'},{label:"ν",class:"MLK__tex hide-shift",insert:"\\nu",aside:"nu",shift:'\\char"39D'},{label:"μ",class:"MLK__tex hide-shift",insert:"\\mu",aside:"mu",shift:'\\char"39C'},"[backspace]"],["[separator]",{label:"ε",class:"MLK__tex",insert:"\\varepsilon",aside:"espilon var."},{label:"ϑ",class:"MLK__tex",insert:"\\vartheta",aside:"theta var."},{label:"ϰ",class:"MLK__tex",insert:"\\varkappa",aside:"kappa var."},{label:"ϖ",class:"MLK__tex",insert:"\\varpi",aside:"pi var."},{label:"ϱ",class:"MLK__tex",insert:"\\varrho",aside:"rho var."},"[left]","[right]","[action]"]]},symbols:{label:"∞\u2260\u2208",labelClass:"MLK__tex",tooltip:"keyboard.tooltip.symbols",rows:[[{latex:"\\sin",shift:"\\sin^{-1}",variants:[{class:"small",latex:"\\sinh"},{class:"small",latex:"\\sin^{-1}"},{class:"small",latex:"\\arsinh"}]},"\\ln",{latex:"\\mathrm{abs}",insert:"\\mathrm{abs}\\left(#0\\right)"},{latex:"\\rarr",shift:"\\rArr",variants:[{latex:"\\implies",aside:"implies"},{latex:"\\to",aside:"to"},"\\dashv",{latex:"\\roundimplies",aside:"round implies"}]},{latex:"\\exists",variants:["\\nexists"],shift:"\\nexists"},{latex:"\\in",shift:"\\notin",variants:["\\notin","\\owns"]},"\\cup",{latex:"\\overrightarrow{#@}",shift:"\\overleftarrow{#@}",variants:["\\overleftarrow{#@}","\\bar{#@}","\\vec{#@}","\\hat{#@}","\\check{#@}","\\dot{#@}","\\ddot{#@}","\\mathring{#@}","\\breve{#@}","\\acute{#@}","\\tilde{#@}","\\grave{#@}"]},{class:"small",latex:"\\lim_{#?}",shift:"\\lim_{x\\to\\infty}",variants:[{class:"small",latex:"\\liminf_{#?}"},{class:"small",latex:"\\limsup_{#?}"}]},"\\exponentialE"],[{latex:"\\cos",shift:"\\cos^{-1}",variants:[{class:"small",latex:"\\cosh"},{class:"small",latex:"\\cos^{-1}"},{class:"small",latex:"\\arcosh"}]},{latex:"\\log",shift:"\\log_{10}",variants:["\\log_{#0}","\\log_{10}"]},"\\left\\vert#0\\right\\vert",{latex:"\\larr",shift:"\\lArr",variants:[{latex:"\\impliedby",aside:"implied by"},{latex:"\\gets",aside:"gets"},"\\lArr","\\vdash",{latex:"\\models",aside:"models"}]},{latex:"\\forall",shift:"\\lnot",variants:[{latex:"\\land",aside:"and"},{latex:"\\lor",aside:"or"},{latex:"\\oplus",aside:"xor"},{latex:"\\lnot",aside:"not"},{latex:"\\downarrow",aside:"nor"},{latex:"\\uparrow",aside:"nand"},{latex:"\\curlywedge",aside:"nor"},{latex:"\\bar\\curlywedge",aside:"nand"}]},{latex:"\\ni",shift:"\\not\\owns"},"\\cap",{latex:"\\overline{#@}",shift:"\\underline{#@}",variants:["\\overbrace{#@}","\\overlinesegment{#@}","\\overleftrightarrow{#@}","\\overrightarrow{#@}","\\overleftarrow{#@}","\\overgroup{#@}","\\underbrace{#@}","\\underlinesegment{#@}","\\underleftrightarrow{#@}","\\underrightarrow{#@}","\\underleftarrow{#@}","\\undergroup{#@}"]},{class:"hide-shift",latex:"\\int",shift:"\\iint",variants:[{latex:"\\int_{#?}^{#?}",class:"small"},{latex:"\\int",class:"small"},{latex:"\\smallint",class:"small"},{latex:"\\iint",class:"small"},{latex:"\\iiint",class:"small"},{latex:"\\oint",class:"small"},"\\intop","\\iiint","\\oiint","\\oiiint","\\intclockwise","\\varointclockwise","\\ointctrclockwise","\\intctrclockwise"]},{latex:"\\pi",shift:"\\tau",variants:["\\tau"]}],[{latex:"\\tan",shift:"\\tan^{-1}",variants:[{class:"small",latex:"\\tanh"},{class:"small",latex:"\\tan^{-1}"},{class:"small",latex:"\\artanh"},{class:"small",latex:"\\arctan"},{class:"small",latex:"\\arctg"},{class:"small",latex:"\\tg"}]},{latex:"\\exp",insert:"\\exp\\left(#0\\right)",variants:["\\exponentialE^{#0}"]},"\\left\\Vert#0\\right\\Vert",{latex:"\\lrArr",shift:"\\leftrightarrow",variants:[{latex:"\\iff",aside:"if and only if"},"\\leftrightarrow","\\leftrightarrows","\\Leftrightarrow",{latex:"^\\biconditional",aside:"biconditional"}]},{latex:"\\vert",shift:"!"},{latex:"#@^{\\complement}",aside:"complement",variants:[{latex:"\\setminus",aside:"set minus"},{latex:"\\smallsetminus",aside:"small set minus"}]},{latex:"\\subset",shift:"\\subseteq",variants:["\\subset","\\subseteq","\\subsetneq","\\varsubsetneq","\\subsetneqq","\\nsubset","\\nsubseteq","\\supset","\\supseteq","\\supsetneq","\\supsetneqq","\\nsupset","\\nsupseteq"]},{latex:"#@^{\\prime}",shift:"#@^{\\doubleprime}",variants:["#@^{\\doubleprime}","#@\\degree"]},{latex:"\\mathrm{d}",shift:"\\partial",variants:["\\mathrm{d}x",{latex:"\\dfrac{\\mathrm{d}}{\\mathrm{d} x}",class:"small"},{latex:"\\frac{\\partial}{\\partial x}",class:"small"},"\\partial"]},{latex:"\\infty",variants:["\\aleph_0","\\aleph_1","\\omega","\\mathfrak{m}"]}],[{label:"[shift]",width:2},{class:"box",latex:",",shift:";",variants:[";","?"]},{class:"box",latex:"\\colon",shift:"\\Colon",variants:[{latex:"\\Colon",aside:"such that",class:"box"},{latex:":",aside:"ratio",class:"box"},{latex:"\\vdots",aside:"",class:"box"},{latex:"\\ddots",aside:"",class:"box"},{latex:"\\ldotp",aside:"low dot",class:"box"},{latex:"\\cdotp",aside:"center dot",class:"box"},{latex:"\\ldots",aside:"low ellipsis",class:"box"},{latex:"\\cdots",aside:"center ellipsis",class:"box"},{latex:"\\therefore",aside:"therefore",class:"box"},{latex:"\\because",aside:"because",class:"box"}]},{class:"box",latex:"\\cdot",aside:"centered dot",shift:"\\ast",variants:["\\circ","\\bigcirc","\\bullet","\\odot","\\oslash","\\circledcirc","\\ast","\\star","\\times","\\doteq","\\doteqdot"]},"[separator]","[left]","[right]",{label:"[backspace]",width:1,class:"action hide-shift"},{label:"[action]",width:1}]]},compact:{label:"compact",rows:[["[+]","[-]","[*]","[/]","[=]","[.]","[(]","[)]","\\sqrt{#0}","#@^{#?}"],["[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]","[0]"],["[hr]"],["[undo]","[redo]","[separator]","[separator]","[separator]","[left]","[right]",{label:"[backspace]",class:"action hide-shift"},"[hide-keyboard]"]]},minimalist:{label:"minimalist",layers:[{style:` - .minimalist-backdrop { - display: flex; - justify-content: center; - } - .minimalist-container { - --keycap-height: 40px; - --keycap-max-width: 53px; - --keycap-small-font-size: 12px; - background: var(--keyboard-background); - padding: 20px; - border-top-left-radius: 8px; - border-top-right-radius: 8px; - border: 1px solid var(--keyboard-border); - box-shadow: 0 0 32px rgb(0 0 0 / 30%); - } - `,backdrop:"minimalist-backdrop",container:"minimalist-container",rows:[["+","-","\\times",{latex:"\\frac{#@}{#0}",class:"small"},"=","[.]","(",")",{latex:"\\sqrt{#0}",class:"small"},{latex:"#@^{#?}",class:"small"}],["1","2","3","4","5","6","7","8","9","0"],["[hr]"],["[undo]","[redo]","[separator]","[separator]","[separator]","[left]","[right]",{label:"[backspace]",class:"action hide-shift"},"[hide-keyboard]"]]}]},"numeric-only":{label:"123",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.numeric",id:"numeric-only",rows:[["7","8","9","[separator]",{label:"[backspace]",width:2}],["4","5","6","[separator]","[separator]","[separator]"],["1","2","3","[separator]","[separator]","[separator]"],["0",{label:"[.]",variants:[]},"-","[separator]","[left]","[right]"]]}},xo={0:["\\varnothing","\\infty"],1:["\\frac{1}{#@}","#@^{-1}","\\times 10^{#?}","\\phi","\\imaginaryI"],2:["\\frac{1}{2}","#@^2","\\sqrt2","\\exponentialE"],3:["\\frac{1}{3}","#@^3","\\sqrt3","\\pi"],4:["\\frac{1}{4}","#@^4"],5:["\\frac{1}{5}","#@^5","\\sqrt5"],6:["\\frac{1}{6}","#@^6"],7:["\\frac{1}{7}","#@^7"],8:["\\frac{1}{8}","#@^8"],9:["\\frac{1}{9}","#@^9"],".":[".",",",";","\\colon"],",":["{,}",".",";","\\colon"],a:[{latex:"\\aleph",aside:"aleph"},{latex:"\\forall",aside:"for all"},"\xE0","\xE1","\xE2","\xE4","\xE6"],b:[{latex:"\\beth",aside:"beth"}],c:[{latex:"\\C",aside:"set of complex numbers"},"\xE7"],d:[{latex:"\\daleth",aside:"daleth"}],e:[{latex:"\\exponentialE",aside:"exponential e"},{latex:"\\exists",aside:"there is"},{latex:"\\nexists",aside:"there isn\u2019t"},"\xE8","\xE9","\xEA","\xEB"],g:[{latex:"\\gimel",aside:"gimel"}],h:[{latex:"\\hbar",aside:"h bar"},{latex:"\\hslash",aside:"h slash"}],i:[{latex:"\\imaginaryI",aside:"imaginary i"},"\xEC","\xED","\xEE","\xEF"],j:[{latex:"\\imaginaryJ",aside:"imaginary j"}],l:[{latex:"\\ell",aside:"ell"}],n:[{latex:"\\mathbb{N}",aside:"set of natural numbers"},"\xF1"],o:["\xF8","\u0153","\xF2","\xF3","\xF4","\xF6","\u0153"],p:[{latex:"\\mathbb{P}",aside:"set of primes"}],q:[{latex:"\\mathbb{Q}",aside:"set of rational numbers"}],r:[{latex:"\\mathbb{R}",aside:"set of real numbers"}],u:["\xF9","\xFA","\xFB","\xFC"],z:[{latex:"\\mathbb{Z}",aside:"set of integers"}],y:["\xFD","\xFF"],space:[{latex:'\\char"203A\\!\\char"2039',insert:"\\!",aside:"negative thin space
    \u207B\xB3\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\,\\char"2039',insert:"\\,",aside:"thin space
    \xB3\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\:\\char"2039',insert:"\\:",aside:"medium space
    \u2074\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\;\\char"2039',insert:"\\;",aside:"thick space
    \u2075\u29F8\u2081\u2088 em"},{latex:'\\char"203A\\ \\char"2039',insert:"\\ ",aside:"\u2153 em"},{latex:'\\char"203A\\enspace\\char"2039',insert:"\\enspace",aside:"\xBD em"},{latex:'\\char"203A\\quad\\char"2039',insert:"\\quad",aside:"1 em"},{latex:'\\char"203A\\qquad\\char"2039',insert:"\\qquad",aside:"2 em"}]},di;function Ca(a,y){var z,ie,le;const ve=md.singleton;if(!ve)return;const be=Bd(a),Ne=(ie=(z=ve.getKeycap(be==null?void 0:be.id))==null?void 0:z.variants)!=null?ie:"";if(typeof Ne=="string"&&!Pa(Ne)||Array.isArray(Ne)&&Ne.length===0){y==null||y();return}const ze={};let Ge="";for(const Gi of rl(Ne)){const zo=Hu(Gi),ji=Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36);ze[ji]=zo;const[Za,qo]=Kl(zo);Ge+=`
    ${Za}
    `}const lt=document.createElement("div");lt.setAttribute("aria-hidden","true"),lt.className="MLK__variant-panel",lt.style.height="auto";const Tt=Object.keys(ze).length;let An=5;Tt===1?An=1:Tt===2||Tt===4?An=2:Tt===3||Tt===5||Tt===6?An=3:Tt>=7&&Tt<14&&(An=4),lt.style.width=`calc(var(--variant-keycap-length) * ${An} + 12px)`,lt.innerHTML=km.createHTML(Ge),vf.open({root:(le=ve==null?void 0:ve.container)==null?void 0:le.querySelector(".ML__keyboard"),child:lt}),di=new AbortController;const{signal:$n}=di,br=a==null?void 0:a.getBoundingClientRect();if(br){br.top-lt.clientHeight<0&&(lt.style.width="auto",Tt<=6?lt.style.height="56px":Tt<=12?lt.style.height="108px":Tt<=18?lt.style.height="205px":lt.classList.add("compact"));const Gi=Math.max(0,Math.min(window.innerWidth-lt.offsetWidth,(br.left+br.right-lt.offsetWidth)/2)),zo=br.top-lt.clientHeight+5;lt.style.transform=`translate(${Gi}px, ${zo}px)`,lt.classList.add("is-visible"),requestAnimationFrame(()=>{lt.addEventListener("pointerup",ji=>{const Za=Bd(ji.target);!(Za!=null&&Za.id)||!ze[Za.id]||(Lc(ze[Za.id]),va(),y==null||y(),ji.preventDefault())},{capture:!0,passive:!1,signal:$n}),lt.addEventListener("pointerenter",ji=>{const Za=Bd(ji.target);!(Za!=null&&Za.id)||!ze[Za.id]||Za.classList.add("is-active")},{capture:!0,signal:$n}),lt.addEventListener("pointerleave",ji=>{const Za=Bd(ji.target);!(Za!=null&&Za.id)||!ze[Za.id]||Za.classList.remove("is-active")},{capture:!0,signal:$n}),window.addEventListener("pointercancel",()=>{va(),y==null||y()},{signal:$n}),window.addEventListener("pointerup",()=>{va(),y==null||y()},{signal:$n})})}}function va(){di==null||di.abort(),di=null,vf.state==="open"&&vf.close()}function ro(a){if(a==="foreground-color"){const y=[];for(const z of Object.keys(_n))y.push({class:"swatch-button",label:'',command:["applyStyle",{color:z}]});return y}if(a==="background-color"){const y=[];for(const z of Object.keys(Sn))y.push({class:"swatch-button",label:'',command:["applyStyle",{backgroundColor:z}]});return y}}function Pa(a){return xo[a]!==void 0}function rl(a){var y;return typeof a!="string"?a:(xo[a]||(xo[a]=(y=ro(a))!=null?y:[]),xo[a])}function xl(a){return typeof a=="string"?a:Object.entries(a).map(([y,z])=>`${y}:${z} !important`).join(";")}function Xo(a){return Object.keys(a).map(y=>`${y} {${xl(a[y])}}`).join("")}function _l(a){if(!a)return"";const y=new uc,z=new ga({mode:"math",type:"root",body:Fn(a,{context:y,args:le=>le==="@"?"{\\class{ML__box-placeholder}{\\blacksquare}}":"\\placeholder{}"})}),ie=_f(Tf(new oo(z.render(y),{classes:"ML__base"}),y));return $f(ie,{classes:"ML__latex"}).toMarkup()}function ts(a){var y;if(Array.isArray(a))return a.map(ie=>ts(ie)).flat();const z=typeof a=="string"?{markup:a}:a;return"rows"in z&&Array.isArray(z.rows)&&(z.rows=z.rows.map(ie=>ie.map(le=>Hu(le)))),(y=z.id)!=null||(z.id="ML__layer_"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36)),[z]}function ko(){var a,y;let ie=window.mathVirtualKeyboard.alphabeticLayout;if(ie==="auto"){const Ne=X0();Ne&&(ie=Ne.virtualLayout),(!ie||ie==="auto")&&(ie=(a={fr:"azerty",be:"azerty",al:"qwertz",ba:"qwertz",cz:"qwertz",de:"qwertz",hu:"qwertz",sk:"qwertz",ch:"qwertz"}[$t.locale.slice(0,2)])!=null?a:"qwerty")}const le={qwerty:["qwertyuiop"," asdfghjkl ","^zxcvbnm~"],azerty:["azertyuiop","qsdfghjklm","^ wxcvbn ~"],qwertz:["qwertzuiop"," asdfghjkl ","^yxcvbnm~"],dvorak:["^ pyfgcrl ","aoeuidhtns","qjkxbmwvz~"],colemak:[" qwfpgjluy ","arstdhneio","^zxcvbkm~"]},ve=(y=le[ie])!=null?y:le.qwerty,be=ie==="azerty"?[[{label:"1",variants:"1"},{label:"2",shift:{latex:"\xE9"},variants:"2"},{label:"3",shift:{latex:"\xF9"},variants:"3"},{label:"4",variants:"4"},{label:"5",shift:{label:"(",latex:"("},variants:"5"},{label:"6",shift:{label:")",latex:")"},variants:"6"},{label:"7",shift:{latex:"\xE8"},variants:"7"},{label:"8",shift:{latex:"\xEA"},variants:"8"},{label:"9",shift:{latex:"\xE7"},variants:"9"},{label:"0",shift:{latex:"\xE0"},variants:"0"}]]:[[{label:"1",variants:"1"},{label:"2",variants:"2"},{label:"3",variants:"3"},{label:"4",variants:"4"},{label:"5",shift:{latex:"\\frac{#@}{#?}"},variants:"5"},{label:"6",shift:{latex:"#@^#?"},variants:"6"},{label:"7",variants:"7"},{label:"8",shift:{latex:"\\times"},variants:"8"},{label:"9",shift:{label:"(",latex:"("},variants:"9"},{label:"0",shift:{label:")",latex:")"},variants:"0"}]];for(const Ne of ve){const ze=[];for(const Ge of Ne)/[a-z]/.test(Ge)?ze.push({label:Ge,class:"hide-shift",shift:{label:Ge.toUpperCase()},variants:Pa(Ge)?Ge:void 0}):Ge==="~"?ie!=="dvorak"?ze.push("[backspace]"):ze.push({label:"[backspace]",width:1}):Ge==="^"?ze.push("[shift]"):Ge===" "&&ze.push("[separator-5]");be.push(ze)}return be.push(["[-]","[+]","[=]",{label:" ",width:1.5},{label:",",shift:";",variants:".",class:"hide-shift"},"[.]","[left]","[right]",{label:"[action]",width:1.5}]),{label:"abc",labelClass:"MLK__tex-math",tooltip:"keyboard.tooltip.alphabetic",layers:ts({rows:be})}}function Gr(a){if(a==="alphabetic")return ko();if(typeof a=="string")return console.assert(Oa[a]!==void 0,`MathLive 0.98.5: unknown keyboard layout "${a}"`),Gr(Oa[a]);let y;if("rows"in a&&Array.isArray(a.rows)){console.assert(!("layers"in a||"markup"in a),'MathLive 0.98.5: when providing a "rows" property, "layers" and "markup" are ignored');const le=a,{rows:ve}=le,be=vt(le,["rows"]);y=_e(Xe({},be),{layers:ts({rows:a.rows})})}else if("markup"in a&&typeof a.markup=="string"){const le=a,{markup:ve}=le,be=vt(le,["markup"]);y=_e(Xe({},be),{layers:ts(a.markup)})}else y=Xe({},a),"layers"in a?y.layers=ts(a.layers):console.error('MathLive 0.98.5: provide either a "rows", "markup" or "layers" property');let z=!1,ie=!1;for(const le of y.layers)if(le.rows)for(const ve of le.rows.flat()){mf(ve)&&(z=!0);const be=ve.command;typeof be=="string"&&["undo","redo","cut","copy","paste"].includes(be)&&(ie=!0)}return(!("displayShiftedKeycaps"in a)||a.displayShiftedKeycaps===void 0)&&(y.displayShiftedKeycaps=z),(!("displayEditToolbar"in a)||a.displayEditToolbar===void 0)&&(y.displayEditToolbar=!ie),y}function so(a,y){var z,ie;let le='
    ';if(a.normalizedLayouts.length>1)for(const[ve,be]of a.normalizedLayouts.entries()){const Ne=be,ze=[ve===y?"selected":"layer-switch"];Ne.tooltip&&ze.push("MLK__tooltip"),Ne.labelClass&&ze.push(...Ne.labelClass.split(" ")),le+=`
    ${(ie=Ne.label)!=null?ie:"untitled"}
    `}return le+="
    ",le}function Ti(a,y){let z="";if(a.editToolbar==="none")return"";const le=[];y.selectionIsCollapsed?le.push("undo","redo","pasteFromClipboard"):le.push("cutToClipboard","copyToClipboard","pasteFromClipboard");const ve={undo:`
    - -
    `,redo:`
    - -
    `,cutToClipboard:` -
    - -
    - `,copyToClipboard:` -
    - -
    - `,pasteFromClipboard:` -
    - -
    - `};return z+=le.map(be=>ve[be]).join(""),z}function oa(a){for(const y of a)Ea(y)}function Ea(a){const y=md.singleton;if(!y)return;const z={};if(!a.id){if(a.hasAttribute("data-label")&&(z.label=a.dataset.label),a.hasAttribute("data-latex")&&(z.latex=a.dataset.latex),a.hasAttribute("data-key")&&(z.key=a.dataset.key),a.hasAttribute("data-insert")&&(z.insert=a.dataset.insert),a.hasAttribute("data-variants")&&(z.variants=a.dataset.variants),a.hasAttribute("data-aside")&&(z.aside=a.dataset.aside),a.className&&(z.class=a.className),!z.label&&!z.latex&&!z.key&&!z.insert&&(z.latex=a.innerText,z.label=a.innerHTML),a.hasAttribute("data-command"))try{z.command=JSON.parse(a.dataset.command)}catch(ie){}a.id=y.registerKeycap(z)}if(!a.innerHTML){const[ie,le]=Kl(z);a.innerHTML=window.MathfieldElement.createHTML(ie)}}function Yo(){hf("virtual-keyboard"),hf("core"),Me()}function Eo(){ee("core"),ee("virtual-keyboard")}var Ss=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`;function _s(a){a.resetKeycapRegistry(),Yo();const y=document.createElement("div");y.className="ML__keyboard";const z=document.createElement("div");z.className="MLK__plate",z.innerHTML=window.MathfieldElement.createHTML(Ss+a.normalizedLayouts.map((be,Ne)=>il(a,be,Ne)).join(""));const ie=document.createElement("div");ie.className="MLK__backdrop",ie.appendChild(z),y.appendChild(ie),y.addEventListener("pointerdown",Gs,{passive:!1});const le=y.querySelectorAll(".ML__edit-toolbar");if(le)for(const be of le)be.addEventListener("click",Ne=>{var ze,Ge;let lt=Ne.target,Tt="";for(;lt&&!Tt;)Tt=(ze=lt==null?void 0:lt.getAttribute("data-command"))!=null?ze:"",lt=(Ge=lt==null?void 0:lt.parentElement)!=null?Ge:null;Tt&&a.executeCommand(JSON.parse(Tt))});oa(y.querySelectorAll(".MLK__keycap, .action, .fnbutton, .bigfnbutton"));const ve=y.querySelectorAll(".MLK__layer");console.assert(ve.length>0,"No virtual keyboards available");for(const be of ve)be.addEventListener("pointerdown",Ne=>Ne.preventDefault());return a.currentLayer=a.latentLayer,y}function il(a,y,z){const ie=[];if(!("layers"in y))return"";for(const le of y.layers)ie.push(`
    `),(a.normalizedLayouts.length>1||y.displayEditToolbar)&&(ie.push("")),ie.push(Ks(a,le)),ie.push("
    ");return ie.join("")}function Ks(a,y){if(typeof y=="string")return y;let z="";if(typeof y.style=="string"?z+=``:typeof y.style=="object"&&(z+=``),y.backdrop&&(z+=`
    `),y.container&&(z+=`
    `),y.rows){z+="
    ";for(const ie of y.rows){z+="
    ";for(const le of ie)if(le){const ve=a.registerKeycap(le),[be,Ne]=Kl(le);/(^|\s)separator/.test(Ne)?z+=`
    ${be}
    `}z+="
    "}z+="
    "}else y.markup&&(z+=y.markup);return y.container&&(z+="
    "),y.backdrop&&(z+="
    "),z}function Kl(a,y={shifted:!1}){var z,ie,le,ve,be,Ne,ze;let Ge="",lt=(z=a.class)!=null?z:"";if(y.shifted&&mf(a)&&(lt+=" is-active"),y.shifted&&"shift"in a)typeof a.shift=="string"?Ge=_l(a.shift):typeof a.shift=="object"&&(Ge=a.shift.label?a.shift.label:(ie=_l(a.shift.latex||a.shift.insert||"")||a.shift.key)!=null?ie:""),typeof a.shift=="object"&&(lt=(ve=(le=a.shift.class)!=null?le:a.class)!=null?ve:"");else{if(Ge=a.label?a.label:(be=_l(a.latex||a.insert||"")||a.key)!=null?be:"",a.shift){let Tt;typeof a.shift=="string"?Tt=_l(a.shift):a.shift.label?Tt=a.shift.label:Tt=(Ne=_l(a.shift.latex||a.shift.insert||"")||a.shift.key)!=null?Ne:"",Ge+=`${Tt}`}a.aside&&(Ge+=``)}return a.layer&&!/layer-switch/.test(lt)&&(lt+=" layer-switch"),/(^|\s)(separator|action|shift|fnbutton|bigfnbutton)($|\s)/.test(lt)||(lt+=" MLK__keycap"),!/\bw[0-9]+\b/.test(lt)&&a.width&&(lt+=(ze={0:" w0",.5:" w5",1.5:" w15",2:" w20",5:" w50"}[a.width])!=null?ze:""),[Ge,lt||"MLK__keycap"]}var Hl={"[left]":{class:"action hide-shift",label:"",command:["performWithFeedback","moveToPreviousChar"],shift:{label:"",command:["performWithFeedback","extendSelectionBackward"]}},"[right]":{class:"action hide-shift",label:"",command:["performWithFeedback","moveToNextChar"],shift:{label:"",command:["performWithFeedback","extendSelectionForward"]}},"[up]":{class:"action hide-shift",label:"\u2191",command:["performWithFeedback","moveUp"],shift:{label:"\u219F",command:["performWithFeedback","extendSelectionUpward"]}},"[down]":{class:"action hide-shift",label:"\u2193",command:["performWithFeedback","moveDown"],shift:{label:"\u21A1",command:["performWithFeedback","extendSelectionDownward"]}},"[return]":{class:"action hide-shift",command:["performWithFeedback","commit"],shift:{command:["performWithFeedback","addRowAfter"]},width:1.5,label:""},"[action]":{class:"action hide-shift",command:["performWithFeedback","commit"],shift:{label:"",command:["performWithFeedback","addRowAfter"]},width:1.5,label:""},"[hr]":{class:"separator horizontal-rule"},"[hide-keyboard]":{class:"action",command:["hideVirtualKeyboard"],width:1.5,label:""},"[.]":{variants:".",command:["performWithFeedback","insertDecimalSeparator"],shift:",",class:"big-op hide-shift",label:"."},"[,]":{variants:",",command:["performWithFeedback","insertDecimalSeparator"],shift:".",class:"big-op hide-shift",label:","},"[+]":{variants:[{latex:"\\sum_{#0}^{#0}",class:"small"},"\\oplus"],latex:"+",label:"+",class:"big-op hide-shift",shift:{latex:"\\sum",insert:"\\sum",class:"small"}},"[-]":{variants:["\\pm","\\ominus"],latex:"-",label:"−",shift:"\\pm",class:"big-op hide-shift"},"[/]":{class:"big-op hide-shift",shift:{class:"",latex:"\\frac{1}{#@}"},variants:["/","\\div","\\%","\\oslash"],latex:"\\frac{#@}{#?}",label:"÷"},"[*]":{variants:[{latex:"\\prod_{#0}^{#0}",class:"small"},"\\otimes","\\cdot"],latex:"\\cdot",label:"×",shift:{latex:"\\times"},class:"big-op hide-shift"},"[=]":{variants:["\\neq","\\equiv","\\varpropto","\\thickapprox","\\lt","\\gt","\\le","\\ge"],latex:"=",label:"=",shift:{label:"\u2260",latex:"\\ne"},class:"big-op hide-shift"},"[backspace]":{class:"action bottom right hide-shift",width:1.5,command:["performWithFeedback","deleteBackward"],label:"",shift:{class:"action warning",label:"",command:"deleteAll"}},"[undo]":{class:"ghost if-can-undo",command:"undo",label:"",tooltip:"tooltip.undo"},"[redo]":{class:"ghost if-can-redo",command:"redo",label:"",tooltip:"tooltip.redo"},"[(]":{variants:[{latex:"\\lbrack",key:"["},"\\langle","\\lfloor","\\lceil",{latex:"\\lbrace",key:"{"}],key:"(",label:"(",shift:{label:"[",key:"["},class:"hide-shift"},"[)]":{variants:[{latex:"\\rbrack",key:"]"},"\\rangle","\\rfloor","\\rceil",{latex:"\\rbrace",key:"]"}],key:")",label:")",shift:{label:"]",latex:"\\rbrack"},class:"hide-shift"},"[0]":{variants:"0",latex:"0",label:"0",shift:"\\infty",class:"hide-shift"},"[1]":{variants:"1",latex:"1",label:"1",shift:"#@^{-1}",class:"hide-shift"},"[2]":{variants:"2",latex:"2",label:"2",shift:"#@^2",class:"hide-shift"},"[3]":{variants:"3",latex:"3",label:"3",shift:"#@^3",class:"hide-shift"},"[4]":{variants:"4",latex:"4",label:"4",shift:"#@^4",class:"hide-shift"},"[5]":{variants:"5",latex:"5",label:"5",shift:"#@^5",class:"hide-shift"},"[6]":{variants:"6",latex:"6",label:"6",shift:"#@^6",class:"hide-shift"},"[7]":{variants:"7",latex:"7",label:"7",shift:"#@^7",class:"hide-shift"},"[8]":{variants:"8",latex:"8",label:"8",shift:"#@^8",class:"hide-shift"},"[9]":{variants:"9",latex:"9",label:"9",shift:"#@^9",class:"hide-shift"},"[separator-5]":{class:"separator",width:.5},"[separator]":{class:"separator"},"[separator-10]":{class:"separator"},"[separator-15]":{class:"separator",width:1.5},"[separator-20]":{class:"separator",width:2},"[separator-50]":{class:"separator",width:5},"[shift]":{class:"shift bottom left",width:1.5,label:""},"[foreground-color]":{variants:"foreground-color",command:["applyStyle",{color:"red"}],label:""},"[background-color]":{variants:"background-color",command:["applyStyle",{backgroundColor:"yellow"}],label:""}};function Hu(a){var y;if(typeof a=="string"){if(a==="[.]"&&window.MathfieldElement.decimalSeparator===","&&(a="[,]"),!Hl[a])return{latex:a};a={label:a}}let z;return"label"in a&&a.label&&Hl[a.label]&&(z=_e(Xe(Xe({},Hl[a.label]),a),{label:Hl[a.label].label})),"key"in a&&a.key&&Hl[a.key]&&(z=_e(Xe(Xe({},Hl[a.key]),a),{key:Hl[a.key].key})),z?(z.command==="insertDecimalSeparator"&&(z.label=(y=window.MathfieldElement.decimalSeparator)!=null?y:"."),a.label==="[action]"&&(z=Xe(Xe({},z),window.mathVirtualKeyboard.actionKeycap)),a.label==="[shift]"&&(z=Xe(Xe({},z),window.mathVirtualKeyboard.shiftKeycap)),a.label==="[backspace]"&&(z=Xe(Xe({},z),window.mathVirtualKeyboard.backspaceKeycap)),a.label==="[tab]"&&(z=Xe(Xe({},z),window.mathVirtualKeyboard.tabKeycap)),z):a}var Wc;function Gs(a){var y;if(a.button!==0)return;const z=md.singleton;if(!z)return;let ie=a.target;for(;ie&&!ie.getAttribute("data-layer");)ie=ie.parentElement;if(ie){z.currentLayer=(y=ie.getAttribute("data-layer"))!=null?y:"",a.preventDefault();return}const le=Bd(a.target);if(!(le!=null&&le.id))return;const ve=z.getKeycap(le.id);if(!ve)return;console.assert(a.type==="pointerdown");const be=new AbortController,Ne=be.signal;le.classList.add("is-pressed"),le.addEventListener("pointerenter",kc(be),{capture:!0,signal:Ne}),le.addEventListener("pointerleave",kc(be),{capture:!0,signal:Ne}),le.addEventListener("pointercancel",kc(be),{signal:Ne}),le.addEventListener("pointerup",kc(be),{signal:Ne}),mf(ve)&&(le.classList.add("is-active"),z.shiftPressCount++),ve.variants&&(Wc&&clearTimeout(Wc),Wc=setTimeout(()=>{le.classList.contains("is-pressed")&&(le.classList.remove("is-pressed"),le.classList.add("is-active"),a.target&&"releasePointerCapture"in a.target&&a.target.releasePointerCapture(a.pointerId),Ca(le,()=>{be.abort(),le==null||le.classList.remove("is-active")}))},300)),a.preventDefault()}function kc(a){return y=>{const z=Bd(y.target);if(!(z!=null&&z.id))return;const ie=md.singleton;if(!ie)return;const le=ie.getKeycap(z.id);if(le){if(y.type==="pointerenter"&&y.target===z&&y.isPrimary&&z.classList.add("is-pressed"),y.type==="pointercancel"){z.classList.remove("is-pressed"),mf(le)&&(ie.shiftPressCount--,z.classList.toggle("is-active",ie.isShifted)),a.abort();return}if(y.type==="pointerleave"&&y.target===z){z.classList.remove("is-pressed"),mf(le)&&(ie.shiftPressCount--,z.classList.toggle("is-active",ie.isShifted));return}if(y.type==="pointerup"){Wc&&clearTimeout(Wc),mf(le)?z.classList.toggle("is-active",ie.isShifted):z.classList.contains("is-pressed")&&(z.classList.remove("is-pressed"),ie.isShifted&&le.shift?typeof le.shift=="string"?ie.executeCommand(["insert",le.shift,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]):Lc(le.shift):Lc(le),ie.shiftPressCount===1&&!y.shiftKey&&(ie.shiftPressCount=0)),a.abort(),y.preventDefault();return}}}}function Lc(a){var y;let z=a.command;!z&&a.insert&&(z=["insert",a.insert,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]),!z&&a.key&&(z=["typedText",a.key,{focus:!0,feedback:!0,simulateKeystroke:!0}]),!z&&a.latex&&(z=["insert",a.latex,{focus:!0,feedback:!0,scrollIntoView:!0,mode:"math",format:"latex"}]),z||(z=["typedText",a.label,{focus:!0,feedback:!0,simulateKeystroke:!0}]),(y=md.singleton)==null||y.executeCommand(z)}function Cd(a){if(a.nodeType!==1)return!1;const y=a.classList;return y.contains("MLK__keycap")||y.contains("shift")||y.contains("action")||y.contains("fnbutton")||y.contains("bigfnbutton")}function Bd(a){if(!a)return;let y=a;for(;y&&!Cd(y);)y=y.parentElement;return y!=null?y:void 0}function mf(a){return!!a.class&&/(^|\s)shift($|\s)/.test(a.class)}var md=class A1{constructor(){this.originalContainerBottomPadding=null,this.keycapRegistry={},this._shiftPressCount=0;var y,z,ie;this.targetOrigin=window.origin,this.originValidator="none",this._alphabeticLayout="auto",this._layouts=Object.freeze(["default"]),this._editToolbar="default",this._container=(z=(y=window.document)==null?void 0:y.body)!=null?z:null,this._visible=!1,this._rebuilding=!1,this.observer=new ResizeObserver(le=>{this.adjustBoundingRect(),this.dispatchEvent(new Event("geometrychange")),this.sendMessage("geometry-changed",{boundingRect:this.boundingRect})}),this.listeners={};try{(ie=window.top)==null||ie.addEventListener("message",this)}catch(le){window.addEventListener("message",this)}document.body.addEventListener("focusin",le=>{const ve=le.target;ve!=null&&ve.isConnected&&setTimeout(()=>{const be=rf();be&&!be.readOnly&&be.mathVirtualKeyboardPolicy==="auto"&&We()&&this.show({animate:!0})},300)}),document.addEventListener("focusout",le=>{le.target.mathVirtualKeyboardPolicy!=="manual"&&setTimeout(()=>{rf()||this.hide()},300)})}get currentLayer(){var y,z,ie;return(ie=(z=(y=this._element)==null?void 0:y.querySelector(".MLK__layer.is-visible"))==null?void 0:z.id)!=null?ie:""}set currentLayer(y){var z;if(!this._element){this.latentLayer=y;return}let ie=y?this._element.querySelector(`#${y}.MLK__layer`):null;ie||(ie=this._element.querySelector(".MLK__layer")),ie&&((z=this._element.querySelector(".MLK__layer.is-visible"))==null||z.classList.remove("is-visible"),ie.classList.add("is-visible")),this.render()}get shiftPressCount(){return this._shiftPressCount}set shiftPressCount(y){var z;this._shiftPressCount=y>2||y<0?0:y,(z=this._element)==null||z.classList.toggle("is-caps-lock",this.shiftPressCount===2),this.render()}get isShifted(){return this._shiftPressCount>0}resetKeycapRegistry(){this.keycapRegistry={}}registerKeycap(y){const z="ML__k"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36);return this.keycapRegistry[z]=y,z}getKeycap(y){return y?this.keycapRegistry[y]:void 0}getLayer(y){const z=this.normalizedLayouts;for(const ie of z)for(const le of ie.layers)if(le.id===y)return le}get alphabeticLayout(){return this._alphabeticLayout}set alphabeticLayout(y){this._alphabeticLayout=y,this.rebuild()}get actionKeycap(){return this._actionKeycap}set actionKeycap(y){this._actionKeycap=typeof y=="string"?{label:y}:y}get shiftKeycap(){return this._shiftKeycap}set shiftKeycap(y){this._shiftKeycap=typeof y=="string"?{label:y}:y}get backspaceKeycap(){return this._backspaceKeycap}set backspaceKeycap(y){this._backspaceKeycap=typeof y=="string"?{label:y}:y}get tabKeycap(){return this._tabKeycap}set tabKeycap(y){this._tabKeycap=typeof y=="string"?{label:y}:y}get layouts(){return this._layouts}set layouts(y){this.updateNormalizedLayouts(y),this.rebuild()}updateNormalizedLayouts(y){const z=Array.isArray(y)?[...y]:[y],ie=z.findIndex(le=>le==="default");ie>=0&&z.splice(ie,1,"numeric","symbols","alphabetic","greek"),this._layouts=Object.freeze(z),this._normalizedLayouts=z.map(le=>Gr(le))}get normalizedLayouts(){return this._normalizedLayouts||this.updateNormalizedLayouts(this._layouts),this._normalizedLayouts}get editToolbar(){return this._editToolbar}set editToolbar(y){this._editToolbar=y,this.rebuild()}get container(){return this._container}set container(y){this._container=y,this.rebuild()}static get singleton(){if(this._singleton===void 0)try{this._singleton=new A1}catch(y){this._singleton=null}return this._singleton}get style(){return this._style}addEventListener(y,z,ie){this.listeners[y]||(this.listeners[y]=new Set),this.listeners[y].has(z)||this.listeners[y].add(z)}dispatchEvent(y){return!this.listeners[y.type]||this.listeners[y.type].size===0?!0:(this.listeners[y.type].forEach(z=>{typeof z=="function"?z(y):z==null||z.handleEvent(y)}),!y.defaultPrevented)}removeEventListener(y,z,ie){this.listeners[y]&&this.listeners[y].delete(z)}get element(){return this._element}set element(y){var z;this._element!==y&&((z=this._element)==null||z.remove(),this._element=y)}get visible(){return this._visible}set visible(y){y?this.show():this.hide()}get boundingRect(){var y;if(!this._visible)return new DOMRect;const z=(y=this._element)==null?void 0:y.getElementsByClassName("MLK__plate")[0];return z?z.getBoundingClientRect():new DOMRect}adjustBoundingRect(){var y,z;const ie=this.boundingRect.height;if(this.container===document.body){(y=this._element)==null||y.style.setProperty("--_keyboard-height",`calc(${ie}px + var(--_padding-top) + var(--_padding-bottom) + env(safe-area-inset-bottom, 0))`);const le=ie-1;this.container.style.paddingBottom=this.originalContainerBottomPadding?`calc(${this.originalContainerBottomPadding} + ${le}px)`:`${le}px`}else(z=this._element)==null||z.style.setProperty("--_keyboard-height",`${ie}px`)}rebuild(){if(this._rebuilding||!this._element)return;this._rebuilding=!0;const y=this.currentLayer;requestAnimationFrame(()=>{this._rebuilding=!1,this._element&&(this._element.remove(),this._element=void 0),this.visible&&(this.buildAndAttachElement(),this.currentLayer=y,this.render(),this.adjustBoundingRect(),this._element.classList.add("is-visible"))})}render(){if(!this._element)return;const y=this.getLayer(this.currentLayer);this._element.classList.toggle("backdrop-is-transparent",!!(y&&(y.backdrop||y.container)));const z=this._element.querySelectorAll(".MLK__layer.is-visible .MLK__keycap, .MLK__layer.is-visible .action, .fnbutton, .MLK__layer.is-visible .bigfnbutton, .MLK__layer.is-visible .shift");if(z)for(const ie of z){const le=this.getKeycap(ie.id);if(le){const[ve,be]=Kl(le,{shifted:this.isShifted});ie.innerHTML=window.MathfieldElement.createHTML(ve),ie.className=be}}}show(y){var z;if(this._visible)return;const ie=this.container;if(ie&&window.mathVirtualKeyboard&&this.stateWillChange(!0)){if(this._element||(this.buildAndAttachElement(),this.adjustBoundingRect()),!this._visible){const le=this._element.getElementsByClassName("MLK__plate")[0];if(le&&this.observer.observe(le),ie===window.document.body){const ve=ie.style.paddingBottom;this.originalContainerBottomPadding=ve;const be=le.offsetHeight-1;ie.style.paddingBottom=ve?`calc(${ve} + ${be}px)`:`${be}px`}window.addEventListener("mouseup",this),window.addEventListener("blur",this),window.addEventListener("keydown",this,{capture:!0}),window.addEventListener("keyup",this,{capture:!0}),(z=this._element)==null||z.classList.toggle("is-caps-lock",this.shiftPressCount===2),this.currentLayer=this.latentLayer}this._visible=!0,y!=null&&y.animate?requestAnimationFrame(()=>{this._element&&(this._element.classList.add("animate"),this._element.addEventListener("transitionend",()=>{var le;return(le=this._element)==null?void 0:le.classList.remove("animate")},{once:!0}),this._element.classList.add("is-visible"),this.stateChanged())}):(this._element.classList.add("is-visible"),this.stateChanged())}}hide(y){var z;const ie=this.container;if(ie&&this._visible&&this.stateWillChange(!1)){if(this._visible=!1,this._element){this.latentLayer=this.currentLayer;const le=this._element.getElementsByClassName("MLK__plate")[0];le&&this.observer.unobserve(le),window.removeEventListener("mouseup",this),window.removeEventListener("blur",this),window.removeEventListener("keydown",this,{capture:!0}),window.removeEventListener("keyup",this,{capture:!0}),window.removeEventListener("contextmenu",this,{capture:!0}),va(),Eo(),(z=this._element)==null||z.remove(),this._element=void 0,this.originalContainerBottomPadding!==null&&(ie.style.paddingBottom=this.originalContainerBottomPadding)}this.stateChanged()}}get height(){var y,z;return(z=(y=this.element)==null?void 0:y.offsetHeight)!=null?z:0}buildAndAttachElement(){var y;console.assert(!this.element),this.element=_s(this),window.addEventListener("contextmenu",this,{capture:!0}),this.element.addEventListener("contextmenu",z=>{z.shiftKey||((z.ctrlKey||z.button===2)&&Ca(z.target),z.preventDefault(),z.stopPropagation())},{capture:!0}),(y=this.container)==null||y.appendChild(this.element)}handleEvent(y){if(Uo(y)){if(!E0(y.origin,this.originValidator))throw new DOMException(`Message from unknown origin (${y.origin}) cannot be handled`,"SecurityError");y.data.action==="disconnect"?this.connectedMathfieldWindow=void 0:y.data.action!=="update-setting"&&y.data.action!=="proxy-created"&&y.data.action!=="execute-command"&&(console.assert(y.source!==void 0),this.connectedMathfieldWindow=y.source),this.handleMessage(y.data,y.source)}if(this._element)switch(y.type){case"mouseup":case"blur":document.body.style.userSelect="",this.shiftPressCount=0;break;case"contextmenu":y.button!==2&&y.preventDefault();break;case"keydown":{y.key==="Shift"&&!y.repeat&&(this.shiftPressCount=1);break}case"keyup":{(y.key==="Shift"||!y.getModifierState("Shift")&&this.shiftPressCount!==2)&&(this.shiftPressCount=0);break}}}handleMessage(y,z){const{action:ie}=y;if(ie==="execute-command"){const{command:le}=y,ve=ca(le);if(window.top!==void 0&&ve!=="virtual-keyboard")return;this.executeCommand(le);return}if((ie==="connect"||ie==="show")&&this.sendMessage("synchronize-proxy",{boundingRect:this.boundingRect,alphabeticLayout:this._alphabeticLayout,layouts:this._layouts,editToolbar:this._editToolbar},z),ie!=="disconnect"&&window===window.top){if(ie==="show"){typeof y.animate!="undefined"?this.show({animate:y.animate}):this.show();return}if(ie==="hide"){typeof y.animate!="undefined"?this.hide({animate:y.animate}):this.hide();return}if(ie==="update-setting"){y.alphabeticLayout&&(this.alphabeticLayout=y.alphabeticLayout),y.layouts&&(this.layouts=y.layouts),y.editToolbar&&(this.editToolbar=y.editToolbar);return}if(ie==="proxy-created"){this.sendMessage("synchronize-proxy",{boundingRect:this.boundingRect,alphabeticLayout:this._alphabeticLayout,layouts:this._layouts,editToolbar:this._editToolbar},z);return}}}sendMessage(y,z,ie){if(ie||(ie=this.connectedMathfieldWindow),this.targetOrigin===null||this.targetOrigin==="null"||ie===window){window.dispatchEvent(new MessageEvent("message",{source:window,data:Xe({type:Sa,action:y},z)}));return}if(ie)ie.postMessage(Xe({type:Sa,action:y},z),{targetOrigin:this.targetOrigin});else if(z.command&&this.dispatchEvent(new CustomEvent("math-virtual-keyboard-command",{detail:z.command})),y==="execute-command"&&Array.isArray(z.command)&&z.command[0]==="insert"){const le=z.command[1].split("");for(const ve of le)this.dispatchEvent(new KeyboardEvent("keydown",{key:ve,bubbles:!0})),this.dispatchEvent(new KeyboardEvent("keyup",{key:ve,bubbles:!0}))}}stateWillChange(y){return this.dispatchEvent(new CustomEvent("before-virtual-keyboard-toggle",{detail:{visible:y},bubbles:!0,cancelable:!0,composed:!0}))}stateChanged(){this.dispatchEvent(new Event("virtual-keyboard-toggle")),this._visible||(this.dispatchEvent(new Event("geometrychange")),this.sendMessage("geometry-changed",{boundingRect:this.boundingRect}))}focus(){this.sendMessage("focus",{})}blur(){this.sendMessage("blur",{})}updateToolbar(y){const z=this._element;if(!z)return;z.classList.toggle("is-math-mode",y.mode==="math"),z.classList.toggle("is-text-mode",y.mode==="text"),z.classList.toggle("can-undo",y.canUndo),z.classList.toggle("can-redo",y.canRedo),z.classList.toggle("can-copy",!y.selectionIsCollapsed),z.classList.toggle("can-copy",!y.selectionIsCollapsed),z.classList.toggle("can-paste",!0);const ie=z.querySelectorAll(".ML__edit-toolbar");if(ie)for(const le of ie)le.innerHTML=Ti(this,y)}update(y){this._style=y.style,this.updateToolbar(y)}connect(){this.connectedMathfieldWindow=window}disconnect(){this.connectedMathfieldWindow=void 0}executeCommand(y){let z,ie=[],le=ca(y);return wt(y)?(z=y[0],z==="performWithFeedback"&&(y=y.slice(1),le=ca(y)),ie=y.slice(1)):z=y,z=z.replace(/-\w/g,ve=>ve[1].toUpperCase()),le==="virtual-keyboard"?ra[z].fn(void 0,...ie):(this.sendMessage("execute-command",{command:y}),!1)}dispose(){window.removeEventListener("mouseup",this),window.removeEventListener("blur",this),window.removeEventListener("message",this)}};function rf(){var a,y;let z=$h(),ie=null;for(;z;){if("host"in z&&((y=(a=z.host)==null?void 0:a.tagName)==null?void 0:y.toLowerCase())==="math-field"){ie=z.host;break}z=z.parentNode}return ie}if(Ye()&&!("mathVirtualKeyboard"in window))if(window===window.top){const a=md.singleton;Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>a})}else Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>Ua.singleton,configurable:!0});function Gd(a){const y={};for(const z of Object.keys(a))switch(z){case"scriptDepth":const ie=a.scriptDepth;if(wt(ie))y.scriptDepth=[ie[0],ie[1]];else if(typeof ie=="number")y.scriptDepth=[ie,ie];else if(typeof ie=="string"){const[ve,be]=ie.split(",").map(Ne=>parseInt(Ne.trim()));y.scriptDepth=[ve,be]}else throw new TypeError("Unexpected value for scriptDepth");break;case"mathVirtualKeyboardPolicy":let le=a.mathVirtualKeyboardPolicy.toLowerCase();if(le==="sandboxed"){if(window!==window.top){const ve=md.singleton;Object.defineProperty(window,"mathVirtualKeyboard",{get:()=>ve})}le="manual"}y.mathVirtualKeyboardPolicy=le;break;case"letterShapeStyle":a.letterShapeStyle==="auto"?$t.locale.startsWith("fr")?y.letterShapeStyle="french":y.letterShapeStyle="tex":y.letterShapeStyle=a.letterShapeStyle;break;case"defaultMode":["text","math","inline-math"].includes(a.defaultMode)?y.defaultMode=a.defaultMode:(console.error('MathLive 0.98.5: valid values for defaultMode are "text", "math" or "inline-math"'),y.defaultMode="math");break;case"macros":y.macros=qt(a.macros);break;default:wt(a[z])?y[z]=[...a[z]]:typeof a[z]=="object"&&!(a[z]instanceof Element)&&z!=="computeEngine"?y[z]=Xe({},a[z]):y[z]=a[z]}return y}function Ad(a,y){let z;typeof y=="string"?z=[y]:y===void 0?z=Object.keys(a):z=y;const ie={};for(const le of z)a[le]===null?ie[le]=null:wt(a[le])?ie[le]=[...a[le]]:typeof a[le]=="object"&&!(a[le]instanceof Element)&&le!=="computeEngine"?ie[le]=Xe({},a[le]):ie[le]=a[le];return typeof y=="string"?ie[y]:ie}function uh(){return{readOnly:!1,defaultMode:"math",macros:{},registers:{},colorMap:pn,backgroundColorMap:et,letterShapeStyle:$t.locale.startsWith("fr")?"french":"tex",minFontScale:0,smartMode:!1,smartFence:!0,smartSuperscript:!0,scriptDepth:[1/0,1/0],removeExtraneousParentheses:!0,isImplicitFunction:a=>["\\sin","\\cos","\\tan","\\arcsin","\\arccos","\\arctan","\\arcsec","\\arccsc","\\arsinh","\\arcosh","\\artanh","\\arcsech","\\arccsch","\\arg","\\ch","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\sec","\\sinh","\\sh","\\tanh","\\tg","\\th","\\lg","\\lb","\\log","\\ln"].includes(a),mathModeSpace:"",placeholderSymbol:"\u25A2",contentPlaceholder:"",popoverPolicy:"auto",environmentPopoverPolicy:"off",keybindings:up,inlineShortcuts:$u,inlineShortcutTimeout:0,mathVirtualKeyboardPolicy:"auto",virtualKeyboardTargetOrigin:window==null?void 0:window.origin,originValidator:"none",onInlineShortcut:()=>"",onScrollIntoView:null,onExport:nh,value:""}}function af(a){return a.defaultMode==="inline-math"?"math":a.defaultMode}function xf(a,y){!a||!y||(wt(a)?a.forEach(z=>xf(z,y)):typeof a=="object"&&!a.style.color&&!a.style.backgroundColor&&!a.style.fontFamily&&!a.style.fontShape&&!a.style.fontSeries&&!a.style.fontSize&&!a.style.variant&&!a.style.variantStyle&&(a.applyStyle(y),xf(a.body,y),xf(a.above,y),xf(a.below,y),xf(a.subscript,y),xf(a.superscript,y)))}function ws(a,y,z,ie){function le(be,Ne){for(const ze of ve)if(ze.style[be]!==Ne)return!1;return!0}if(y=a.normalizeRange(y),y[0]===y[1])return!1;const ve=a.getAtoms(y,{includeChildren:!0});ie.operation==="toggle"&&(z.color&&le("color",z.color)&&(z.color="none",delete z.verbatimColor),z.backgroundColor&&le("backgroundColor",z.backgroundColor)&&(z.backgroundColor="none",delete z.verbatimBackgroundColor),z.fontFamily&&le("fontFamily",z.fontFamily)&&(z.fontFamily="none"),z.fontSeries&&le("fontSeries",z.fontSeries)&&(z.fontSeries="auto"),z.fontShape&&le("fontShape",z.fontShape)&&(z.fontShape="auto"),z.fontSize&&le("fontSize",z.fontSize)&&(z.fontSize=_u),z.variant&&le("variant",z.variant)&&(z.variant="normal"),z.variantStyle&&le("variantStyle",z.variantStyle)&&(z.variantStyle=""));for(const be of ve)be.applyStyle(z);return!0}function Pc(a,y){const z=a.at(a.position);if(z.type==="composition")z.value=y;else{const{caret:ie}=z;z.caret=void 0;const le=new Bh(y,{mode:z.mode});le.caret=ie,z.parent.addChildAfter(le,z),a.position+=1}}function Rf(a){const y=a.at(a.position);y.type==="composition"&&(y.parent.removeChild(y),a.position-=1)}kr(["math","displaymath"],Td),kr("center",Td),Un("displaylines","",{parse:a=>{const y=[];let z=[];a.beginContext({tabular:!0});do{if(a.end()||a.match("<}>"))break;a.matchColumnSeparator()||a.matchRowSeparator()?(y.push([z]),z=[]):z.push(...a.scan(ie=>["<}>","&","\\cr","\\\\","\\tabularnewline"].includes(ie)))}while(!0);return a.endContext(),y.push([z]),y},createAtom:a=>new Du("lines",a.args,[],{leftDelim:".",rightDelim:".",columns:[{align:"l"}]})}),vi("array","{columns:colspec}",(a,y,z,ie)=>new Du(a,ch(y),z,{columns:ie[0],mathstyleName:"textstyle"})),vi(["equation","equation*","subequations"],"",(a,y,z)=>new Du(a,ch(y),z,{columns:[{align:"c"}]})),vi(["multline","multline*"],"",Td),vi(["align","align*","aligned","eqnarray"],"",Td),vi("split","",Td),vi(["gather","gathered"],"",Td),vi(["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],"[columns:colspec]",Td),vi(["smallmatrix","smallmatrix*"],"[columns:colspec]",Td),vi(["cases","dcases","rcases"],"",Td);function Ah(a){for(const y of a)for(const z of y)if(z.length>0)return!1;return!0}function ch(a,y=1){return Ah(a)?Array(y).fill([[new ga({type:"first"}),new ml]]):a.map(z=>z.length===0?[[new ga({type:"first"})]]:z.map(ie=>ie.length===0?[new ga({type:"first"})]:(ie[0].type!=="first"&&ie.unshift(new ga({type:"first"})),ie)))}function Td(a,y=[[[]]],z=[],ie=[]){switch(y=ch(y,["split","align","align*","aligned","eqnarray"].includes(a)?2:1),a){case"math":return new Du(a,y,z,{mathstyleName:"textstyle"});case"displaymath":return new Du(a,y,z,{mathstyleName:"textstyle"});case"center":return new Du(a,y,z,{columns:[{align:"c"}]});case"multline":case"multline*":return new Du(a,y,z,{columns:[{align:"m"}],leftDelim:".",rightDelim:"."});case"split":return new Du(a,y,z,{columns:[{align:"r"},{align:"l"}],minColumns:2});case"gather":case"gathered":return new Du(a,y,z,{columns:[{gap:.25},{align:"c"},{gap:0}]});case"pmatrix":case"pmatrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:"(",rightDelim:")",columns:yh(ie[0])});case"bmatrix":case"bmatrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:"[",rightDelim:"]",columns:yh(ie[0])});case"Bmatrix":case"Bmatrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:"\\lbrace",rightDelim:"\\rbrace",columns:yh(ie[0])});case"vmatrix":case"vmatrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:"\\vert",rightDelim:"\\vert",columns:yh(ie[0])});case"Vmatrix":case"Vmatrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:"\\Vert",rightDelim:"\\Vert",columns:yh(ie[0])});case"matrix":case"matrix*":return new Du(a,y,z,{mathstyleName:"textstyle",leftDelim:".",rightDelim:".",columns:yh(ie==null?void 0:ie[0])});case"smallmatrix":case"smallmatrix*":return new Du(a,y,z,{mathstyleName:"scriptstyle",columns:yh(ie==null?void 0:ie[0]),colSeparationType:"small",arraystretch:.5});case"cases":case"dcases":return new Du(a,y,z,{mathstyleName:a==="dcases"?"displaystyle":"textstyle",arraystretch:1.2,leftDelim:"\\lbrace",rightDelim:".",columns:[{align:"l"},{gap:1},{align:"l"}]});case"rcases":return new Du(a,y,z,{arraystretch:1.2,leftDelim:".",rightDelim:"\\rbrace",columns:[{align:"l"},{gap:1},{align:"l"}]});case"lines":return new Du(a,y,z,{leftDelim:".",rightDelim:".",columns:[{align:"l"}]});case"align":case"align*":case"aligned":case"eqnarray":{let le=0;for(const Ne of y)le=Math.max(le,Ne.length);const ve=[{gap:0},{align:"r"},{gap:.25},{align:"l"}];let be=2;for(;be1){ie.removeRow(le[0]);const be=ie.getCell(Math.max(0,le[0]-1),le[1]);ve=a.offsetOf(be[be.length-1])}break;case"column":if(ie.colCount>ie.minColumns){ie.removeColumn(le[1]);const be=ie.getCell(le[0],Math.max(0,le[1]-1));ve=a.offsetOf(be[be.length-1])}break}ve&&a.setPositionHandlingPlaceholder(ve)}}function bs(a){return a.contentWillChange({inputType:"deleteContent"})?(p0(a,"row"),a.contentDidChange({inputType:"deleteContent"}),!0):!1}function Nu(a){return a.contentWillChange({inputType:"deleteContent"})?(p0(a,"column"),a.contentDidChange({inputType:"deleteContent"}),!0):!1}qi({addRowAfter:wp,addColumnAfter:Bp,addRowBefore:Cp,addColumnBefore:dh,removeRow:bs,removeColumn:Nu,setEnvironment:U0},{target:"model",canUndo:!0,changeContent:!0,changeSelection:!0});function ic(){return[new ml]}var tc=class y1{constructor(y){this.recording=!1,this.model=y,this.reset()}reset(){this.stack=[],this.index=-1,this.lastOp=""}startRecording(){this.recording=!0}stopRecording(){this.recording=!1}canUndo(){return this.index-1>=0}canRedo(){return this.stack.length-1>this.index}stopCoalescing(y){y&&this.index>=0&&(this.stack[this.index].selection=y),this.lastOp=""}undo(){return this.canUndo()?(this.model.setState(this.stack[this.index-1],{silenceNotifications:!1,type:"undo"}),this.index-=1,this.lastOp="",!0):!1}redo(){return this.canRedo()?(this.index+=1,this.model.setState(this.stack[this.index],{silenceNotifications:!1,type:"redo"}),this.lastOp="",!0):!1}pop(){this.canUndo()&&(this.stack.splice(this.index,this.stack.length-this.index),this.index-=1)}snapshot(y){return this.recording?(y&&y===this.lastOp&&this.pop(),this.stack.splice(this.index+1,this.stack.length-this.index-1),this.stack.push(this.model.getState()),this.index+=1,this.stack.length>y1.maximumDepth&&(this.stack.shift(),this.index-=1),this.lastOp=y!=null?y:"",!0):!1}};tc.maximumDepth=1e3;var Fu=tc;function bh(a,y,z){if(a.at(y).mode!=="text")return y;const ie=z==="backward"?-1:1;let le;if(it.test(a.at(y).value)){let ve=y,be;do be=a.at(ve).mode==="text"&&it.test(a.at(ve).value),ve+=ie;while(a.at(ve)&&be);le=a.at(ve)?ve-2*ie:ve-ie}else if(/\s/.test(a.at(y).value)){let ve=y;for(;a.at(ve)&&a.at(ve).mode==="text"&&/\s/.test(a.at(ve).value);)ve+=ie;if(!a.at(ve))le=ve-ie;else{let be=!0;do be=a.at(ve).mode==="text"&&!/\s/.test(a.at(ve).value),ve+=ie;while(a.at(ve)&&be);le=a.at(ve)?ve-2*ie:ve-ie}}else{let ve=y;for(;a.at(ve)&&a.at(ve).mode==="text"&&!/\s/.test(a.at(ve).value);)ve+=ie;le=a.at(ve)?ve:ve-ie;let be=!0;for(;a.at(ve)&&be;)be=a.at(ve).mode==="text"&&/\s/.test(a.at(ve).value),be&&(le=ve),ve+=ie;le=a.at(ve)?ve-2*ie:ve-ie}return le-(ie>0?0:1)}function fh(a,y,z){var ie,le,ve,be,Ne,ze,Ge;const lt=a.position;(ie=z==null?void 0:z.extend)!=null&&ie||a.collapseSelection(y);let Tt=a.at(a.position);if(y==="forward"&&(Tt.type==="subsup"?(Tt=Tt.rightSibling,Tt||(Tt=a.at(a.position+1))):Tt=a.at(a.position+1)),!Tt)return a.announce("plonk"),!1;let An=a.offsetOf(Tt);if(Tt instanceof Wd)An=bh(a,An,y);else if(Tt instanceof pu)if(Tt.isSuggestion)for(console.assert(y==="forward");Tt&&Tt instanceof pu;)Tt.isSuggestion=!1,An=a.offsetOf(Tt),Tt=Tt.rightSibling;else if(y==="forward"){if(Tt=Tt.rightSibling,!Tt||!(Tt instanceof pu))return a.announce("plonk"),!1;for(;Tt&&Tt instanceof pu&&/[a-zA-Z\*]/.test(Tt.value);)An=a.offsetOf(Tt),Tt=Tt.rightSibling}else{if(Tt=Tt.leftSibling,!Tt||!(Tt instanceof pu))return a.announce("plonk"),!1;for(;Tt&&Tt instanceof pu&&/[a-zA-Z\*]/.test(Tt.value);)An=a.offsetOf(Tt),Tt=Tt.leftSibling}else if(y==="forward"&&Tt.type==="mopen"){let $n=0;do Tt.type==="mopen"?$n+=1:Tt.type==="mclose"&&($n-=1),Tt=Tt.rightSibling;while(!Tt.isLastSibling&&$n!==0);An=a.offsetOf(Tt.leftSibling)}else if(y==="backward"&&Tt.type==="mclose"){let $n=0;do Tt.type==="mopen"?$n+=1:Tt.type==="mclose"&&($n-=1),Tt=Tt.leftSibling;while(!Tt.isFirstSibling&&$n!==0);An=a.offsetOf(Tt)}else if(y==="backward")if(Tt.type==="first")for(;An>0&&Tt.type==="first";)An-=1,Tt=a.at(An);else{const $n=Tt.type;Tt.type==="subsup"&&(An=a.offsetOf(a.at(An).leftSibling)),An-=1;let br=(le=a.at(An))==null?void 0:le.type;for(;An>=0&&br===$n;)((ve=a.at(An))==null?void 0:ve.type)==="subsup"?An=a.offsetOf(a.at(An).leftSibling):An-=1,br=a.at(An).type}else{const{type:$n}=Tt;let br=(be=a.at(An))==null?void 0:be.type;const{lastOffset:Gi}=a;for(;An<=Gi&&(br===$n||br==="subsup");){for(;((Ne=a.at(An).rightSibling)==null?void 0:Ne.type)==="subsup";)An=a.offsetOf(a.at(An).rightSibling);An+=1,br=(ze=a.at(An))==null?void 0:ze.type}An-=1}if((Ge=z==null?void 0:z.extend)!=null&&Ge){if(!a.setSelection(a.anchor,An))return a.announce("plonk"),!1}else{if(An===a.position)return a.announce("plonk"),!1;a.position=An}return a.announce("move",lt),a.mathfield.stopCoalescingUndo(),!0}function Yf(a,y,z){var ie,le;if(z=z!=null?z:{extend:!1},a.mathfield.adoptStyle=y==="backward"?"right":"left",y!=="forward"){const[Ne,ze]=Og(a);Ne!==void 0&&ze!==void 0&&a.deleteAtoms([Ne,ze])}if(y==="upward")return Wp(a,z);if(y==="downward")return Av(a,z);if(z.extend){let Ne=Y0(a,a.position,y);Ne<0&&(Ne=0),Ne>a.lastOffset&&(Ne=a.lastOffset);const ze=a.setSelection(a.anchor,Ne);return a.mathfield.stopCoalescingUndo(),ze}if(a.selectionIsPlaceholder){a.collapseSelection(y);const Ne=Yf(a,y);return a.mathfield.stopCoalescingUndo(),Ne}let ve=a.position;const be=ve;if(a.collapseSelection(y)?(ve=a.position,lg(a,ve)||(ve=Y0(a,ve,y))):ve=Y0(a,ve,y),ve<0||ve>a.lastOffset){let Ne=!0;return a.silenceNotifications||(Ne=(le=(ie=a.mathfield.host)==null?void 0:ie.dispatchEvent(new CustomEvent("move-out",{detail:{direction:y},cancelable:!0,bubbles:!0,composed:!0})))!=null?le:!0),Ne&&a.announce("plonk"),Ne}return a.setPositionHandlingPlaceholder(ve),a.mathfield.stopCoalescingUndo(),a.announce("move",be),!0}function Y0(a,y,z){return y=y+(z==="forward"?1:-1),y<0||y>a.lastOffset||lg(a,y)?y:Y0(a,y,z)}function lg(a,y){var z;const ie=a.at(y);let le=ie.parent;for(;le&&!le.inCaptureSelection;)le=le.parent;return!(le!=null&&le.inCaptureSelection||(z=ie.parent)!=null&&z.skipBoundary&&(!ie.isFirstSibling&&ie.isLastSibling||ie.type==="first")||a.mathfield.hasEditablePrompts&&!ie.parentPrompt)}function J0(a,y,z){let ie=1/0,le=0;for(;leGe.type==="prompt"&&!Ge.captureSelection):z,Ne=Qh(a.mathfield.getHTMLElement(y)).right,ze=a.offsetOf(J0(a.mathfield,be,Ne))-(ve?1:0);if(ie){const[Ge,lt]=a.selection.ranges[0];let Tt;ze<(le==="up"?Ge:lt)?Tt={ranges:[[ze,lt]],direction:"backward"}:Tt={ranges:[[Ge,ze]],direction:"forward"},a.setSelection(Tt)}else a.setPositionHandlingPlaceholder(ze);a.announce(`move ${le}`)}function Wp(a,y){var z,ie;const le=(z=y==null?void 0:y.extend)!=null?z:!1;le||a.collapseSelection("backward");const ve=()=>{var ze,Ge;let lt=!0;return a.silenceNotifications||(lt=(Ge=(ze=a.mathfield.host)==null?void 0:ze.dispatchEvent(new CustomEvent("move-out",{detail:{direction:"upward"},cancelable:!0,bubbles:!0,composed:!0})))!=null?Ge:!0),a.announce(lt?"plonk":"line"),lt},be=a.at(a.position);let Ne=be;for(;Ne&&Ne.parentBranch!=="below"&&!(Array.isArray(Ne.parentBranch)&&Ne.parent instanceof Du);)Ne=Ne.parent;if(Array.isArray(Ne==null?void 0:Ne.parentBranch)&&Ne.parent instanceof Du){const ze=Ne.parent;if(Ne.parentBranch[0]<1)return ve();const Ge=Ne.parentBranch[0]-1,lt=ze.array[Ge][Ne.parentBranch[1]];if(!lt.some(An=>An.type==="prompt"&&!An.captureSelection)&&a.mathfield.hasEditablePrompts)return ve();q0(a,be,lt,le,"up")}else if(Ne){const ze=(ie=Ne.parent.branch("above"))!=null?ie:Ne.parent.createBranch("above");if(!ze.some(lt=>lt.type==="prompt"&<.placeholderId)&&a.mathfield.hasEditablePrompts)return ve();q0(a,be,ze,le,"up")}else return ve();return a.mathfield.stopCoalescingUndo(),!0}function Av(a,y){var z,ie;const le=(z=y==null?void 0:y.extend)!=null?z:!1;le||a.collapseSelection("forward");const ve=()=>{var ze,Ge;let lt=!0;return a.silenceNotifications||(lt=(Ge=(ze=a.mathfield.host)==null?void 0:ze.dispatchEvent(new CustomEvent("move-out",{detail:{direction:"downward"},cancelable:!0,bubbles:!0,composed:!0})))!=null?Ge:!0),a.announce(lt?"plonk":"line"),lt},be=a.at(a.position);let Ne=be;for(;Ne&&Ne.parentBranch!=="above"&&!(Array.isArray(Ne.parentBranch)&&Ne.parent instanceof Du);)Ne=Ne.parent;if(Array.isArray(Ne==null?void 0:Ne.parentBranch)&&Ne.parent instanceof Du){const ze=Ne.parent;if(Ne.parentBranch[0]+1>ze.array.length-1)return ve();const Ge=Ne.parentBranch[0]+1,lt=ze.array[Ge][Ne.parentBranch[1]];if(!lt.some(An=>An.type==="prompt"&&!An.captureSelection)&&a.mathfield.hasEditablePrompts)return ve();q0(a,be,lt,le,"down")}else if(Ne){const ze=(ie=Ne.parent.branch("below"))!=null?ie:Ne.parent.createBranch("below");if(!ze.some(lt=>lt.type==="prompt")&&a.mathfield.hasEditablePrompts)return ve();q0(a,be,ze,le,"down")}else return ve();return!0}function ug(a){const y=a.position,z=a.at(y).parent;return z!=null&&z.parent?(a.position=a.offsetOf(z),a.mathfield.stopCoalescingUndo(),a.announce("move",y),!0):(a.announce("plonk"),!1)}function t0(a){let y=0,z=a.at(a.position),ie=!1;for(;z;)(!z.hasEmptyBranch("superscript")||!z.hasEmptyBranch("subscript"))&&(y+=1),z.hasEmptyBranch("superscript")?z.hasEmptyBranch("subscript")||(ie=!1):ie=!0,z=z.parent;return ie?y:0}function Kp(a){let y=0,z=a.at(a.position),ie=!1;for(;z;)(!z.hasEmptyBranch("superscript")||!z.hasEmptyBranch("subscript"))&&(y+=1),z.hasEmptyBranch("superscript")?z.hasEmptyBranch("subscript")||(ie=!0):ie=!1,z=z.parent;return ie?y:0}function kg(a){var y;if(a.collapseSelection(),t0(a)>=a.mathfield.options.scriptDepth[1])return a.announce("plonk"),!1;let z=a.at(a.position);return z.subsupPlacement===void 0&&(((y=z.rightSibling)==null?void 0:y.type)!=="subsup"&&z.parent.addChildAfter(new ft({style:z.computedStyle}),z),z=z.rightSibling),z.createBranch("superscript"),a.setSelection(a.getSiblingsRange(a.offsetOf(z.superscript[0]))),!0}function Cs(a){var y;if(a.collapseSelection(),Kp(a)>=a.mathfield.options.scriptDepth[0])return a.announce("plonk"),!1;let z=a.at(a.position);return z.subsupPlacement===void 0&&(((y=a.at(a.position+1))==null?void 0:y.type)!=="subsup"&&z.parent.addChildAfter(new ft({style:a.at(a.position).computedStyle}),z),z=a.at(a.position+1)),z.createBranch("subscript"),a.setSelection(a.getSiblingsRange(a.offsetOf(z.subscript[0]))),!0}function xh(){function a(ze){const Ge=[],lt=[];return[...ze.querySelectorAll(`input, select, textarea, a[href], button, - [tabindex], audio[controls], video[controls], - [contenteditable]:not([contenteditable="false"]), details>summary`)].filter(y).forEach((An,$n)=>{const br=ie(An);br===0?Ge.push(An):lt.push({documentOrder:$n,tabIndex:br,node:An})}),lt.sort((An,$n)=>An.tabIndex===$n.tabIndex?An.documentOrder-$n.documentOrder:An.tabIndex-$n.tabIndex).map(An=>An.node).concat(Ge)}function y(ze){return!(!z(ze)||le(ze)||ie(ze)<0)}function z(ze){return!(ze.disabled||ze.type==="hidden"&&ze.tagName.toUpperCase()==="INPUT"||Ne(ze))}function ie(ze){var Ge;const lt=Number.parseInt((Ge=ze.getAttribute("tabindex"))!=null?Ge:"NaN",10);return Number.isNaN(lt)?ze.contentEditable==="true"||(ze.nodeName==="AUDIO"||ze.nodeName==="VIDEO")&&ze.getAttribute("tabindex")===null?0:ze.tabIndex:lt}function le(ze){return ze.tagName.toUpperCase()==="INPUT"&&ze.type==="radio"&&!be(ze)}function ve(ze,Ge){for(const lt of ze)if(lt.checked&<.form===Ge)return lt;return null}function be(ze){var Ge;if(!ze.name)return!0;const Tt=((Ge=ze.form)!=null?Ge:ze.ownerDocument).querySelectorAll('input[type="radio"][name="'+ze.name+'"]'),An=ve(Tt,ze.form);return!An||An===ze}function Ne(ze){if(!Ye()||ze===document.activeElement||ze.contains(document.activeElement))return!1;if(getComputedStyle(ze).visibility==="hidden")return!0;const Ge=ze.getBoundingClientRect();if(Ge.width===0||Ge.height===0)return!0;for(;ze;){if(getComputedStyle(ze).display==="none")return!0;ze=ze.parentElement}return!1}return Ye()?a(document.body):[]}function ud(a,y,z="forward"){const ie=a.position;if(Array.isArray(y)){const le=a.offsetOf(y[0]),ve=a.offsetOf(y[y.length-1]);return z==="forward"?a.setSelection(le,ve):a.setSelection(ve,le),a.announce("move",ie),a.mathfield.stopCoalescingUndo(),!0}return z==="forward"?ud(a,[y.leftSibling,y]):ud(a,[y,y.leftSibling])}function Hd(a,y){const z=a.position;if(typeof y=="number"&&(y=a.at(y)),y.type==="prompt")a.setSelection(a.offsetOf(y.firstChild),a.offsetOf(y.lastChild));else{const ie=a.offsetOf(y);y.type==="placeholder"?a.setSelection(ie-1,ie):a.position=ie}return a.announce("move",z),a.mathfield.stopCoalescingUndo(),!0}function Th(a,y,z=!0){var ie,le;const ve=y==="forward"?1:-1;a.at(a.anchor).type==="placeholder"&&Yf(a,y);let be;const Ne=a.at(a.anchor).parentPrompt;Ne?y==="forward"?be=a.offsetOf(Ne)+1:be=a.offsetOf(Ne.leftSibling):be=Math.max(a.position+ve,0);const ze=I0(a,be,y);if(!ze||y==="forward"&&a.offsetOf(ze)be){if(!z||!((le=(ie=a.mathfield.host)==null?void 0:ie.dispatchEvent(new CustomEvent("move-out",{detail:{direction:y},cancelable:!0,bubbles:!0,composed:!0})))==null||le))return a.announce("plonk"),!1;const lt=xh();if(!document.activeElement||lt.length<=1)return a.announce("plonk"),!1;let Tt=lt.indexOf(document.activeElement)+ve;return Tt<0&&(Tt=lt.length-1),Tt>=lt.length&&(Tt=0),lt[Tt].focus(),a.mathfield.stopCoalescingUndo(),!0}return Hd(a,ze),!0}function I0(a,y=0,z="forward"){return a.findAtom(ie=>ie.type==="placeholder"||ie.type==="prompt"||!a.mathfield.readOnly&&ie.treeDepth>2&&ie.isFirstSibling&&ie.isLastSibling,y,z)}qi({moveToOpposite:a=>{const y={superscript:"subscript",subscript:"superscript",above:"below",below:"above"},z=a.at(a.position),{parent:ie}=z;if(!ie)return a.announce("plonk"),!1;const le=z.parentBranch;let ve;if(typeof le=="string"&&(ve=y[le]),!ve){const Ne=z.subsupPlacement?Cs(a):kg(a);return a.mathfield.stopCoalescingUndo(),Ne}ie.branch(ve)||ie.createBranch(ve);const be=a.setSelection(a.getBranchRange(a.offsetOf(ie),ve));return a.mathfield.stopCoalescingUndo(),be},moveBeforeParent:a=>{const{parent:y}=a.at(a.position);return y?(a.position=a.offsetOf(y),a.mathfield.stopCoalescingUndo(),!0):(a.announce("plonk"),!1)},moveAfterParent:a=>ug(a),moveToNextChar:a=>Yf(a,"forward"),moveToPreviousChar:a=>Yf(a,"backward"),moveUp:a=>Yf(a,"upward"),moveDown:a=>Yf(a,"downward"),moveToNextWord:a=>fh(a,"forward"),moveToPreviousWord:a=>fh(a,"backward"),moveToGroupStart:a=>{const y=a.offsetOf(a.at(a.position).firstSibling);return y===a.position?(a.announce("plonk"),!1):(a.position=y,a.mathfield.stopCoalescingUndo(),!0)},moveToGroupEnd:a=>{const y=a.offsetOf(a.at(a.position).lastSibling);return y===a.position?(a.announce("plonk"),!1):(a.position=y,a.mathfield.stopCoalescingUndo(),!0)},moveToNextGroup:a=>{var y,z,ie,le;if(a.position===a.lastOffset&&a.anchor===a.lastOffset)return Th(a,"forward");const ve=a.at(a.position);if(ve.mode==="text"){if(a.selectionIsCollapsed){let An=ve;for(;An&&An.mode==="text";)An=An.leftSibling;let $n=ve;for(;((y=$n.rightSibling)==null?void 0:y.mode)==="text";)$n=$n.rightSibling;if(An&&$n)return ud(a,[An,$n])}if(ve.rightSibling.mode==="text"){let An=ve;for(;An&&An.mode==="text";)An=An.rightSibling;return An?(Hd(a,(z=An.leftSibling)!=null?z:An),a.mathfield.switchMode("math"),!0):Hd(a,a.lastOffset)}}const Ne=a.at(a.anchor).parentPrompt,ze=Ne?a.offsetOf(Ne)+1:Math.max(a.position+1,0),Ge=I0(a,ze,"forward");if(Ge)return Hd(a,Ge);const lt=Wh(a,ve,An=>An.type==="leftright"||An.type==="text","forward");if(lt){if(lt.mode==="text"){let An=lt;for(;An&&An.mode==="text";)An=An.rightSibling;return ud(a,[(ie=lt.leftSibling)!=null?ie:lt,(le=An.leftSibling)!=null?le:An])}return ud(a,lt)}const Tt=ve.parent;if(Tt){if(Tt.type==="leftright"||Tt.type==="surd")return ud(a,Tt);if(ve.parentBranch==="superscript"&&Tt.subscript)return ud(a,Tt.subscript);if(ve.parentBranch==="above"&&Tt.below)return ud(a,Tt.below);if(ve.parentBranch==="superscript"||ve.parentBranch==="subscript")return Hd(a,Tt);if(ve.parentBranch==="above"||ve.parentBranch==="below")return ud(a,Tt)}return Hd(a,a.lastOffset)},moveToPreviousGroup:a=>{var y;if(a.position===0&&a.anchor===0)return Th(a,"backward");let z=a.at(a.position);const ie=z.mode;if(ie==="text"){if(a.selectionIsCollapsed){let Ne=z;for(;Ne&&Ne.mode==="text";)Ne=Ne.leftSibling;let ze=z;for(;((y=ze.rightSibling)==null?void 0:y.mode)==="text";)ze=ze.rightSibling;if(Ne&&ze)return ud(a,[Ne,ze])}for(;z&&z.mode==="text";)z=z.leftSibling;return z?Hd(a,z):Hd(a,0)}const le=a.at(a.anchor).parentPrompt,ve=le?a.offsetOf(le.leftSibling):Math.max(a.position-1,0),be=I0(a,ve,"backward");if(be)return Hd(a,be);if(ie==="math"){const Ne=Wh(a,z,Ge=>Ge.type==="leftright"||Ge.type==="text","backward");if(Ne){if(Ne.mode==="text"){let Ge=Ne;for(;Ge&&Ge.mode==="text";)Ge=Ge.leftSibling;return ud(a,[Ne,Ge])}return ud(a,Ne)}const ze=z.parent;if(ze){if(ze.type==="leftright"||ze.type==="surd")return ud(a,ze);if(z.parentBranch==="subscript"&&ze.superscript)return ud(a,ze.superscript);if(z.parentBranch==="below"&&ze.above)return ud(a,ze.above);if(z.parentBranch==="superscript"||z.parentBranch==="subscript")return Hd(a,ze);if(z.parentBranch==="above"||z.parentBranch==="below")return ud(a,ze)}return Hd(a,0)}return!1},moveToMathfieldStart:a=>a.selectionIsCollapsed&&a.position===0?(a.announce("plonk"),!1):(a.position=0,a.mathfield.stopCoalescingUndo(),!0),moveToMathfieldEnd:a=>a.selectionIsCollapsed&&a.position===a.lastOffset?(a.announce("plonk"),!1):(a.position=a.lastOffset,a.mathfield.stopCoalescingUndo(),!0),moveToSuperscript:kg,moveToSubscript:Cs},{target:"model",changeSelection:!0}),qi({moveToNextPlaceholder:a=>Th(a,"forward"),moveToPreviousPlaceholder:a=>Th(a,"backward")},{target:"model",changeSelection:!0,audioFeedback:"return"});function Wh(a,y,z,ie){if(ie==="forward"){let ve=y.rightSibling;for(;ve&&!z(ve);)ve=ve.rightSibling;return ve}let le=y.leftSibling;for(;le&&!z(le);)le=le.leftSibling;return le}function Ph(a,y,z){typeof y=="function"&&(z=y,y=1/0),y===void 0&&(y=1/0);let ie=a.position,le=!1,ve="";for(;!le;){const be=a.at(ie);le=y===0||be===void 0||be.type==="first"||be.mode!=="math"||!(be.type&&/mord|mpunct|operator/.test(be.type)||be.type==="mop"&&/[a-zA-Z ]+/.test(be.value))||!be.hasEmptyBranch("superscript")||!be.hasEmptyBranch("subscript")||typeof z=="function"&&!z(be),le||(be.mode="text",be.command=be.value,be.verbatimLatex=void 0,ve+=be.value),ie-=1,y-=1}a.contentDidChange({data:ve,inputType:"insertText"})}function Kh(a,y,z){typeof y=="function"&&(z=y,y=1/0),y===void 0&&(y=1/0);let ie=a.position,le=!1;const ve=[];for(;!le;){const be=a.at(ie);le=y===0||!be||be.type==="first"||be.isFirstSibling||be.mode!=="text"||be.value===" "||typeof z=="function"&&!z(be),le||(ve.push(ga.serialize([be],{defaultMode:"math"})),be.mode="math"),ie-=1,y-=1}_0(a),a.contentDidChange({data:ju(ve),inputType:"insertText"})}function _0(a){var y;let z=a.position-1;for(;z>=0&&((y=a.at(z))==null?void 0:y.mode)==="math";)z-=1;if(!(z<0)&&a.at(z).mode==="text"&&a.at(z).value===" "&&a.at(z-1).mode==="math"){a.at(z-1).parent.removeChild(a.at(z-1));const ie=a.silenceNotifications;a.silenceNotifications=!0,a.position-=1,a.silenceNotifications=ie,a.contentDidChange({inputType:"deleteContent"})}}function Dp(a){let y="",z=a.position,ie=!1;for(;!ie;){const le=a.at(z);ie=!(le&&(le.mode==="text"||le.mode==="math"&&le.type&&/mord|mpunct/.test(le.type))),ie||(y=le.value+y),z-=1}return y}function Of(a,y,z){const{model:ie}=a;if(ie.mode==="latex"||!ie.at(ie.position).isLastSibling||!z||!Q0(z))return!1;const le=W0(z);if(!ie.selectionIsCollapsed)return!!(a.model.mode==="text"&&/[/_^]/.test(le));const ve=Dp(ie)+le;if(a.model.mode==="text"){if(y==="Esc"||/[/\\]/.test(le))return!0;if(/[\^_]/.test(le))return/(^|\s)[a-zA-Z][^_]$/.test(ve)&&Kh(ie,1),!0;const be={")":"(","}":"{","]":"["}[le],{parent:Ne}=ie.at(ie.position);if(be&&Ne instanceof Ae&&Ne.leftDelim===be)return!0;if(/(^|[^a-zA-Z])(a|I) $/.test(ve))return!1;if(/[$€£₤₺¥¤฿¢₡₧₨₹₩₱]/u.test(le))return!0;if(/(^|[^a-zA-Z'’])[a-zA-Z] $/.test(ve))return Kh(ie,1),!1;if(/\D\.[^\d\s]$/.test(ve)){Kh(ie,1);const ze=ie.at(ie.position);return ze.value="\u22C5",ze.style.variant="normal",ze.command="\\cdot",ze.verbatimLatex=void 0,ie.contentDidChange({data:"\\cdot",inputType:"insertText"}),!0}if(/(^|\s)[a-zA-Z][^a-zA-Z]$/.test(ve)||/\.\d$/.test(ve)||/\([\d+\-.]$/.test(ve))return Kh(ie,1),!0;if(/\([a-z][,;]$/.test(ve))return Kh(ie,2),!0;if(/[\d+\-=><*|]$/.test(le))return _0(ie),!0}else{if(y==="[Space]")return Ph(ie,void 0,be=>/[a-z][:,;.]$/.test(be.value)),!0;if(/[a-zA-Z]{3,}$/.test(ve)&&!/(dxd|abc|xyz|uvw)$/.test(ve))return Ph(ie,void 0,be=>/[a-zA-Z]/.test(be.value)),!0;if(/(^|\W)(if)$/i.test(ve))return Ph(ie,1),!0;if(/(\u0393|\u0394|\u0398|\u039B|\u039E|\u03A0|\u03A3|\u03A5|\u03A6|\u03A8|\u03A9|[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5){3,}$/u.test(ve)&&!/(αβγ)$/.test(ve))return Ph(ie,void 0,be=>/(:|,|;|.|\u0393|\u0394|\u0398|\u039B|\u039E|\u03A0|\u03A3|\u03A5|\u03A6|\u03A8|\u03A9|[\u03B1-\u03C9]|\u03D1|\u03D5|\u03D6|\u03F1|\u03F5)/u.test(be.value)),!0;if(le==="?"||le==="."&&!/[\d-+]\.$/.test(ve))return!0}return!1}function cg(a,y){if(!a.isSelectionEditable||!a.keystrokeCaptionVisible)return;const z=dg(),ie=a.element.getBoundingClientRect();z.style.left=`${ie.left}px`,z.style.top=`${ie.top-64}px`,z.innerHTML=window.MathfieldElement.createHTML(""+(sg(y)||y)+""+z.innerHTML),z.style.visibility="visible",setTimeout(()=>{z.childNodes.length>0&&z.childNodes[z.childNodes.length-1].remove(),z.childNodes.length===0&&(z.style.visibility="hidden")},3e3)}function Lg(a){if(a.keystrokeCaptionVisible=!a.keystrokeCaptionVisible,a.keystrokeCaptionVisible){const y=dg();y.innerHTML=""}else{const y=yp("mathlive-keystroke-caption-panel");y.style.visibility="hidden"}return!1}function dg(){const a=document.getElementById("mathlive-keystroke-caption-panel");return a||(hf("keystroke-caption"),hf("core"),yp("mathlive-keystroke-caption-panel"))}function Tg(){document.getElementById("mathlive-keystroke-caption-panel")&&(jp("mathlive-keystroke-caption-panel"),ee("core"),ee("keystroke-caption"))}function fg(a,y){var z,ie,le;const{model:ve}=a,be=Pg(y);if(y.isTrusted){lv(y);const $n=X0();a.keyboardLayout!==$n.id&&(a.keyboardLayout=$n.id,a._keybindings=void 0)}if(clearTimeout(a.inlineShortcutBufferFlushTimer),a.inlineShortcutBufferFlushTimer=0,cg(a,be),y.isTrusted&&y.defaultPrevented)return a.flushInlineShortcutBuffer(),!1;let Ne,ze="",Ge;const lt=a.inlineShortcutBuffer;if(a.isSelectionEditable){if(ve.mode==="math")if(be==="[Backspace]")lt.pop();else if(!Q0(y))a.flushInlineShortcutBuffer();else{const $n=W0(y),br=[...(ie=(z=lt[lt.length-1])==null?void 0:z.keystrokes)!=null?ie:[],$n];lt.push({state:ve.getState(),keystrokes:br,leftSiblings:zg(a)});let Gi=0,zo="";for(;!Ne&&Gi(su.insert(ve,Ne,{format:"latex",style:$n}),_0(a.model),Ne.endsWith(" ")&&(a.switchMode("text"),su.insert(ve," ",{style:$n,mode:"text"})),a.snapshot(),ve.selectionIsCollapsed||a.flushInlineShortcutBuffer(),!0)),a.dirty=!0,ve.announce("replacement")}return a.scrollIntoView(),y.preventDefault&&y.preventDefault(),!1}function Gp(a,y,z){const{model:ie}=a;if(!a.isSelectionEditable){ie.announce("plonk");return}z!=null||(z={}),z.focus&&a.focus(),z.feedback&&window.MathfieldElement.playSound("keypress"),typeof z.mode=="string"&&(a.switchMode(z.mode),a.snapshot());let le=Nd(y);const ve=window.mathVirtualKeyboard;if(ve!=null&&ve.isShifted&&(le=typeof le=="string"?le.toUpperCase():le.map(ze=>ze.toUpperCase())),z.simulateKeystroke){let ze=!0;for(const Ge of le)fg(a,new KeyboardEvent("keypress",{key:Ge}))&&(ze=!1);if(ze)return}const be=ie.at(ie.position),Ne=Xe(Xe({},be.computedStyle),a.defaultStyle);if(ie.selectionIsCollapsed||(ie.deleteAtoms(Fc(ie.selection)),a.snapshot("delete")),ie.mode==="latex")ie.deferNotifications({content:!0,selection:!0,data:y,type:"insertText"},()=>{Ol(a);for(const ze of le)su.insert(ie,ze);a.snapshot("insert-latex"),mp(a)});else if(ie.mode==="text"){for(const ze of le)su.insert(ie,ze,{style:Ne});a.snapshot("insert-text")}else if(ie.mode==="math")for(const ze of le)Pp(a,ze,Ne,be);a.dirty=!0,a.scrollIntoView()}function zg(a){const y=a.model,z=[];let ie=y.at(Math.min(y.position,y.anchor));for(;ie.type!=="first";)z.push(ie),ie=ie.leftSibling;return z}function Pp(a,y,z,ie){const le=a.model;let ve={"^":"moveToSuperscript",_:"moveToSubscript"," ":"moveAfterParent"}[y];if(y===" "&&a.options.mathModeSpace&&(ve=["insert",a.options.mathModeSpace]),ve){a.executeCommand(ve);return}if(/\d/.test(y)&&a.options.smartSuperscript&&ie.parentBranch==="superscript"&&ie.parent.type!=="mop"&&ie.parent.type!=="operator"&&ie.parent.type!=="extensible-symbol"&&ie.hasNoSiblings){zh(le),su.insert(le,y,{style:z}),a.snapshot(),ug(le),a.snapshot();return}if(/[a-zA-Z0-9]/.test(y)&&a.adoptStyle!=="none"){const be=a.adoptStyle==="left"?ie:ie.parent?ie.rightSibling:null;(be==null?void 0:be.type)==="mord"&&/[a-zA-Z0-9]/.test(be.value)&&(z=Xe({},z),be.style.variant&&(z.variant=be.style.variant),be.style.variantStyle&&(z.variantStyle=be.style.variantStyle))}su.insert(le,y,{style:z}),a.snapshot(`insert-${le.at(le.position).type}`)}function zh(a){a.selectionIsCollapsed||(a.deleteAtoms(Fc(a.selection)),a.mathfield.snapshot("delete"))}function Hh(a,y,z){if(!y||a.mode!=="math")return!1;const ie=a.at(a.position),{parent:le}=ie,ve={"(":"(",")":")","{":"\\lbrace","}":"\\rbrace","[":"\\lbrack","]":"\\rbrack","|":"|"}[y];if(!ve)return!1;const be=ce[ve],Ne=de[ve];if(!a.selectionIsCollapsed){a.mathfield.snapshot();const[ze,Ge]=Fc(a.selection),lt=a.extractAtoms([ze,Ge]),Tt=le.addChildrenAfter([new Ae("left...right",lt,{leftDelim:ve,rightDelim:Ne})],a.at(ze));return a.setSelection(a.offsetOf(Tt.firstChild),a.offsetOf(Tt.lastChild)),a.mathfield.snapshot("insert-fence"),a.contentDidChange({data:ve,inputType:"insertText"}),!0}if(ve==="|"){const ze=le instanceof Ae?le.leftDelim+le.rightDelim:"";if(ze==="\\lbrace\\rbrace"||ze==="\\{\\}"||ze==="\\lbrace?")return a.mathfield.snapshot(),su.insert(a,"\\,\\middle\\vert\\,",{format:"latex",style:z}),a.mathfield.snapshot("insert-fence"),a.contentDidChange({data:ve,inputType:"insertText"}),!0}if(Ne){if(le instanceof Ae&&le.firstChild===ie&&(le.leftDelim==="?"||le.leftDelim==="."))return le.leftDelim=ve,le.isDirty=!0,a.mathfield.snapshot(),a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;if(!(le instanceof Ae)){let Tt=ie;for(;Tt&&!(Tt.type==="mclose"&&Tt.value===Ne);)Tt=Tt.rightSibling;if(Tt){a.mathfield.snapshot();const An=a.extractAtoms([a.offsetOf(ie),a.offsetOf(Tt)]);return An.pop(),le.addChildrenAfter([new Ae("left...right",An,{leftDelim:ve,rightDelim:Ne})],ie),a.position=a.offsetOf(le.firstChild)+1,a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}}const ze=a.offsetOf(ie.lastSibling);let Ge;for(Ge=a.position;Ge<=ze;Ge++){const Tt=a.at(Ge);if(Tt instanceof Ae&&(Tt.leftDelim==="?"||Tt.leftDelim===".")&&zv(ve,Tt.rightDelim))break}const lt=a.at(Ge);if(Ge<=ze&< instanceof Ae){lt.leftDelim=ve,a.mathfield.snapshot();let Tt=a.extractAtoms([a.position,Ge-1]);return Tt=Tt.filter(An=>An.type!=="first"),lt.addChildren(Tt,lt.parentBranch),a.position+=1,a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}if(le instanceof Ae&&(le.leftDelim==="?"||le.leftDelim===".")&&zv(ve,le.rightDelim)){le.isDirty=!0,le.leftDelim=ve,a.mathfield.snapshot();const Tt=a.extractAtoms([a.offsetOf(ie.firstSibling),a.position]);for(const An of Tt)le.parent.addChildBefore(An,le);return a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}if(!(le instanceof Ae&&le.leftDelim==="|")){if(a.mathfield.snapshot(),su.insert(a,`\\left${ve}\\right?`,{format:"latex",style:z}),ie.lastSibling.type!=="first"){const Tt=a.offsetOf(ie.lastSibling),An=a.extractAtoms([a.position,Tt]);a.at(a.position).body=An,a.position-=1}return a.mathfield.snapshot("insert-fence"),!0}}if(be){let ze=ie;for(;ze;){if(ze.type==="mopen"&&ze.value===be){a.mathfield.snapshot();const $n=ze.leftSibling,br=a.extractAtoms([a.offsetOf(ze.leftSibling),a.offsetOf(ie)]);br.shift();const Gi=new Ae("left...right",br,{leftDelim:be,rightDelim:ve});return le.addChildrenAfter([Gi],$n),a.position=a.offsetOf(Gi),a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0}ze=ze.leftSibling}if(le instanceof Ae&&ie.isLastSibling&&yv(le.leftDelim,ve))return a.mathfield.snapshot(),le.isDirty=!0,le.rightDelim=ve,a.position+=1,a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;const Ge=a.offsetOf(ie.firstSibling);let lt;for(lt=a.position;lt>=Ge;lt--){const $n=a.at(lt);if($n instanceof Ae&&($n.rightDelim==="?"||$n.rightDelim===".")&&yv($n.leftDelim,ve))break}const Tt=a.at(lt);if(lt>=Ge&&Tt instanceof Ae)return a.mathfield.snapshot(),Tt.rightDelim=ve,Tt.addChildren(a.extractAtoms([lt,a.position]),Tt.parentBranch),a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;if(le instanceof Ae&&(le.rightDelim==="?"||le.rightDelim===".")&&yv(le.leftDelim,ve))return a.mathfield.snapshot(),le.isDirty=!0,le.rightDelim=ve,le.parent.addChildren(a.extractAtoms([a.position,a.offsetOf(ie.lastSibling)]),le.parentBranch),a.position=a.offsetOf(le),a.contentDidChange({data:ve,inputType:"insertText"}),a.mathfield.snapshot("insert-fence"),!0;const An=le.parent;return An instanceof Ae&&(An.rightDelim==="?"||An.rightDelim===".")&&a.at(a.position).isLastSibling?(a.position=a.offsetOf(An),Hh(a,ve,z)):!1}return!1}function yv(a,y){return a?["(","\\lparen","{","\\{","\\lbrace","[","\\lbrack"].includes(a)?[")","\\rparen","}","\\}","\\rbrace","]","\\rbrack"].includes(y):de[a]===y:!0}function zv(a,y){return y?[")","\\rparen","}","\\}","\\rbrace","]","\\rbrack"].includes(y)?["(","\\lparen","{","\\{","\\lbrace","[","\\lbrack"].includes(a):ce[y]===a:!0}qi({undo:a=>(a.undo(),!0),redo:a=>(a.redo(),!0),scrollIntoView:a=>(a.scrollIntoView(),!0),scrollToStart:a=>(a.field.scroll(0,0),!0),scrollToEnd:a=>{const y=a.field.getBoundingClientRect();return a.field.scroll(y.left-window.scrollX,0),!0},toggleKeystrokeCaption:Lg,toggleContextMenu:a=>{const y=a.toggleContextMenu();return y||a.model.announce("plonk"),y},plonk:a=>(a.model.announce("plonk"),!0),switchMode:(a,y,z,ie)=>(a.switchMode(y,z,ie),!0),insert:(a,y,z)=>a.insert(y,z),typedText:(a,y,z)=>(Gp(a,y,z),!0),insertDecimalSeparator:a=>{const y=a.model;return y.mode==="math"&&window.MathfieldElement.decimalSeparator===","&&y.at(Math.max(y.position,y.anchor)).isDigit()?(a.insert("{,}",{format:"latex"}),a.snapshot("insert-mord"),!0):(a.insert("."),!0)},commit:a=>{var y;return a.model.contentWillChange({inputType:"insertLineBreak"})&&((y=a.host)==null||y.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),a.model.contentDidChange({inputType:"insertLineBreak"})),!0},insertPrompt:(a,y,z)=>{const ie=a.getPrompts();let le="prompt-"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36),ve=0;for(;ie.includes(le)&&ve<100;){if(ve===99)return console.error("could not find a unique ID after 100 tries"),!1;le="prompt-"+Date.now().toString(36).slice(-2)+Math.floor(Math.random()*1e5).toString(36),ve++}return a.insert(`\\placeholder[${y!=null?y:le}]{}`,z),!0}}),qi({copyToClipboard:a=>(a.focus(),a.model.selectionIsCollapsed&&a.select(),"queryCommandSupported"in document&&document.queryCommandSupported("copy")?document.execCommand("copy"):a.element.querySelector(".ML__keyboard-sink").dispatchEvent(new ClipboardEvent("copy",{bubbles:!0,composed:!0})),!1)},{target:"mathfield"}),qi({cutToClipboard:a=>(a.focus(),"queryCommandSupported"in document&&document.queryCommandSupported("cut")?document.execCommand("cut"):a.element.querySelector(".ML__keyboard-sink").dispatchEvent(new ClipboardEvent("cut",{bubbles:!0,composed:!0})),!0),pasteFromClipboard:a=>(a.focus(),"queryCommandSupported"in document&&document.queryCommandSupported("paste")?(document.execCommand("paste"),!0):(navigator.clipboard.readText().then(y=>{y&&a.model.contentWillChange({inputType:"insertFromPaste",data:y})?(a.stopCoalescingUndo(),a.stopRecording(),a.insert(y,{mode:a.model.mode})&&(mp(a),a.startRecording(),a.snapshot("paste"),a.model.contentDidChange({inputType:"insertFromPaste"}),Pn(a))):a.model.announce("plonk"),a.startRecording()}),!0))},{target:"mathfield",canUndo:!0,changeContent:!0,changeSelection:!0});function Hv(a,y){a.flushInlineShortcutBuffer(),a.stopCoalescingUndo();const z=bv(a,y),{model:ie}=a;return ie.selectionIsCollapsed?(a.defaultStyle.fontSeries&&z.fontSeries===a.defaultStyle.fontSeries&&(z.fontSeries="auto"),z.fontShape&&z.fontShape===a.defaultStyle.fontShape&&(z.fontShape="auto"),z.color&&z.color===a.defaultStyle.color&&(z.color="none"),z.backgroundColor&&z.backgroundColor===a.defaultStyle.backgroundColor&&(z.backgroundColor="none"),z.fontSize&&z.fontSize===a.defaultStyle.fontSize&&(z.fontSize="auto"),a.defaultStyle=Xe(Xe({},a.defaultStyle),z)):a.model.deferNotifications({content:!0,type:"insertText"},()=>{ie.selection.ranges.forEach(le=>ws(ie,le,z,{operation:"toggle"})),a.snapshot("style-change")}),!0}qi({applyStyle:Hv},{target:"mathfield",canUndo:!0,changeContent:!0});function bv(a,y){var z,ie,le,ve,be,Ne,ze,Ge,lt,Tt;const An={};if(typeof y.color=="string"){const br=(ie=a.colorMap((z=y.color)!=null?z:y.verbatimColor))!=null?ie:"none";br!==y.color&&(An.verbatimColor=(le=y.verbatimColor)!=null?le:y.color),An.color=br}if(typeof y.backgroundColor=="string"){const br=(be=a.backgroundColorMap((ve=y.backgroundColor)!=null?ve:y.verbatimBackgroundColor))!=null?be:"none";br!==y.backgroundColor&&(An.verbatimBackgroundColor=(Ne=y.verbatimBackgroundColor)!=null?Ne:y.backgroundColor),An.backgroundColor=br}typeof y.fontFamily=="string"&&(An.fontFamily=y.fontFamily),typeof y.series=="string"&&(An.fontSeries=y.series),typeof y.fontSeries=="string"&&(An.fontSeries=y.fontSeries.toLowerCase()),An.fontSeries&&(An.fontSeries=(ze={bold:"b",medium:"m",normal:"m"}[An.fontSeries])!=null?ze:An.fontSeries),typeof y.shape=="string"&&(An.fontShape=y.shape),typeof y.fontShape=="string"&&(An.fontShape=y.fontShape.toLowerCase()),An.fontShape&&(An.fontShape=(Ge={italic:"it",up:"n",upright:"n",normal:"n"}[An.fontShape])!=null?Ge:An.fontShape),y.variant&&(An.variant=y.variant.toLowerCase()),y.variantStyle&&(An.variantStyle=y.variantStyle.toLowerCase());const $n=(lt=y.size)!=null?lt:y.fontSize;return typeof $n=="number"?An.fontSize=Math.max(1,Math.min(10,$n)):typeof $n=="string"&&(An.fontSize=(Tt={size1:1,size2:2,size3:3,size4:4,size5:5,size6:6,size7:7,size8:8,size9:9,size10:10}[$n.toLowerCase()])!=null?Tt:{tiny:1,scriptsize:2,footnotesize:3,small:4,normal:5,normalsize:5,large:6,Large:7,LARGE:8,huge:9,Huge:10}[$n]),An}function xv(a){let[y,z]=Fc(a.selection);if(y=Rv(a,y,"backward"),z=Rv(a,z,"forward"),y===z){const ie=a.at(y);if(ie.type==="leftright")return a.setSelection(a.offsetOf(ie.firstChild)-1,z);if(ie.type==="first"&&(ie.parent.type==="leftright"||ie.parent.type==="surd"))return a.setSelection(y-1,a.offsetOf(ie.parent.lastChild)+1);a.setSelection(y-1,z)}else a.setSelection(y,z);return!0}function Rv(a,y,z){var ie,le,ve;let be=a.at(y);if(!be)return y;const Ne=z==="forward"?1:-1;if(be.mode==="text"){for(;be&&!(be.mode!=="text"||!it.test(be.value));)y+=Ne,be=a.at(y);return z==="backward"?y-1:y}if(be.mode==="latex"){if(/[a-zA-Z\*]/.test(be.value))if(z==="backward")for(;be&&be.mode==="latex"&&be.value!=="\\"&&/[a-zA-Z]/.test(be.value);)y+=Ne,be=a.at(y);else for(;be&&be.mode==="latex"&&/[a-zA-Z\*]/.test(be.value);)y+=Ne,be=a.at(y);else if(be.value==="{"){if(z==="forward"){for(;be&&be.mode==="latex"&&be.value!=="}";)y+=Ne,be=a.at(y);return y}return y-1}else if(be.value==="}"){if(z==="backward"){for(;be&&be.mode==="latex"&&be.value!=="{";)y+=Ne,be=a.at(y);return y-1}return y}return y-1}if(be.mode==="math"){if(be.isDigit()){for(;(ie=a.at(y+Ne))!=null&&ie.isDigit();)y+=Ne;return z==="backward"?y-1:y}if(be.style.variant||be.style.variantStyle){let ze=(le=a.at(y))==null?void 0:le.style;for(;ze&&ze.variant===be.style.variant&&ze.variantStyle===be.style.variantStyle;)ze=(ve=a.at(y+Ne))==null?void 0:ve.style,y+=Ne;return z==="backward"?y-1:y}return y}return y}qi({selectGroup:a=>{const y=xv(a);return y||a.announce("plonk"),y},selectAll:a=>a.setSelection(0,a.lastOffset),extendSelectionForward:a=>Yf(a,"forward",{extend:!0}),extendSelectionBackward:a=>Yf(a,"backward",{extend:!0}),extendToNextWord:a=>fh(a,"forward",{extend:!0}),extendToPreviousWord:a=>fh(a,"backward",{extend:!0}),extendSelectionUpward:a=>Yf(a,"upward",{extend:!0}),extendSelectionDownward:a=>Yf(a,"downward",{extend:!0}),extendToNextBoundary:a=>fh(a,"forward",{extend:!0}),extendToPreviousBoundary:a=>fh(a,"backward",{extend:!0}),extendToGroupStart:a=>{const y=a.setSelection(a.anchor,a.offsetOf(a.at(a.position).firstSibling));return y||a.announce("plonk"),y},extendToGroupEnd:a=>{const y=a.setSelection(a.anchor,a.offsetOf(a.at(a.position).lastSibling));return y||a.announce("plonk"),y},extendToMathFieldStart:a=>{const y=a.setSelection(a.anchor,0);return y||a.announce("plonk"),y},extendToMathFieldEnd:a=>{const y=a.setSelection(a.anchor,a.lastOffset);return y||a.announce("plonk"),y}},{target:"model",changeSelection:!0});var O0=null,Up=0,Hg=class m0{static start(y,z,ie,le){var ve;m0.element=y,(ve=m0.controller)==null||ve.abort(),m0.controller=new AbortController;const be={signal:m0.controller.signal};"PointerEvent"in window?(y.addEventListener("pointermove",ie,be),y.addEventListener("pointerup",le,be),y.addEventListener("pointercancel",le,be),Ev(z)&&(m0.pointerId=z.pointerId,y.setPointerCapture(z.pointerId))):(window.addEventListener("mousemove",ie,be),window.addEventListener("blur",le,be),window.addEventListener("mouseup",le,be))}static stop(){var y;(y=m0.controller)==null||y.abort(),m0.controller=void 0,typeof m0.pointerId=="number"&&(m0.element.releasePointerCapture(m0.pointerId),m0.pointerId=void 0)}};function Ev(a){return a!==null&&globalThis.PointerEvent!==void 0&&a instanceof PointerEvent}function jv(a,y){var z;if(y.buttons>1)return;a.atomBoundsCache=new Map;const ie=a;let le,ve=!1,be=!1,Ne="none",ze=!1,Ge=!1;const lt=y.clientX,Tt=y.clientY,An=Date.now(),$n=ie.field,br=setInterval(()=>{ze?$n.scroll({top:0,left:$n.scrollLeft-16}):Ge&&$n.scroll({top:0,left:$n.scrollLeft+16})},32);function Gi(){Hg.stop(),ve=!1,clearInterval(br),a.element.classList.remove("tracking"),y&&y.preventDefault()}function zo(Za){if(!ie.hasFocus()){Gi();return}const qo=Za.clientX,io=Za.clientY,El=Ev(Za)&&Za.pointerType==="touch"?20:5;if(Date.now()ql.right,ze=qo=0&&Bc>=0&&(ie.model.extendSelectionTo(zl,Bc),Pn(a)),be&&xv(ie.model)}O0&&Math.abs(O0.x-lt)<5&&Math.abs(O0.y-Tt)<5&&Date.now()=ji.left&<<=ji.right&&Tt>=ji.top&&Tt<=ji.bottom){if(a.flushInlineShortcutBuffer(),a.adoptStyle="left",le=$0(a,lt,Tt,{bias:0}),le>=0){if(a.element.classList.add("tracking"),y.shiftKey){const Za=a.model.selectionIsCollapsed;a.model.extendSelectionTo(a.model.anchor,le),Ap(a.model)||Za?Ne="all":Ne="selection"}else a.model.at(le).type==="placeholder"?(a.model.setSelection(le-1,le),Ne="selection"):((z=a.model.at(le).rightSibling)==null?void 0:z.type)==="placeholder"?(a.model.setSelection(le,le+1),Ne="selection"):(a.model.position=le,Ap(a.model)?Ne="all":Ne="selection");a.defaultStyle={},y.detail===3||Up>2?(Gi(),(y.detail===3||Up===3)&&(a.model.selection={ranges:[[0,a.model.lastOffset]]},Ne="all")):ve||(ve=!0,Hg.start($n,y,zo,Gi),(y.detail===2||Up===2)&&(be=!0,xv(a.model),Ne="all"))}a.hasFocus()||(Ne="none",a.focus({preventScroll:!0}))}else O0=null;a.stopCoalescingUndo(),Ne!=="none"&&(a.model.selectionIsCollapsed&&(Ne="all"),Pn(a)),y.preventDefault()}function im(a,y,z){if(a>=z.left&&a<=z.right&&y>=z.top&&y<=z.bottom)return 0;const ie=a-(z.left+z.right)/2,le=y-(z.top+z.bottom)/2;return ie*ie+le*le}function Zv(a,y,z,ie,le){if(!z.id)return[1/0,null];if(y.has(z.id))return y.get(z.id);const ve=Ch(a,z);if(!ve)return[1/0,null];let be=[1/0,null];if(z.hasChildren&&!z.captureSelection&&ie>=ve.left&&ie<=ve.right)for(const Ne of z.children){const ze=Zv(a,y,Ne,ie,le);ze[0]<=be[0]&&(be=ze)}return be[1]||(be=[im(ie,le,ve),z]),y.set(z.id,be),be}function Xv(a,y,z){const[,ie]=Zv(a,new Map,a.model.root,y,z);return ie}function $0(a,y,z,ie){var le;const ve=a.field.querySelector(".ML__latex").getBoundingClientRect();if(!ve)return 0;if(y>ve.right||z>ve.bottom+8)return a.model.lastOffset;if(y0?(Ge.push(lt),lt=[br]):lt.push(br);lt.length>0&&Ge.push(lt);let Tt=Number(ze.parentBranch[0]),An=Number(ze.parentBranch[1]);const $n=ze.parent.maxColumns;for(;ze.parent.colCount-An=$n&&(An=0,ze.parent.addRowAfter(Tt),Tt++),ze.parent.setCell(Tt,An,Ge[br])}else ze.parent.addChildrenAfter(be.filter(Ge=>Ge.type!=="first"),ze);return Ne.position=Ne.offsetOf(be[be.length-1]),Ne.contentDidChange({inputType:"insertFromPaste"}),Pn(a),!0}}catch(ve){}if(le=typeof y!="string"?y.getData("application/json"):"",le&&window.MathfieldElement.computeEngine)try{const ve=JSON.parse(le);if(typeof ve=="object"&&"latex"in ve&&ve.latex&&(z=ve.latex),!z){const be=window.MathfieldElement.computeEngine.box(ve);be&&!be.has("Error")&&(z=be.latex)}z||(ie="latex")}catch(ve){}if(!z&&typeof y!="string"&&(z=y.getData("application/x-latex"),z&&(ie="latex")),z||(z=typeof y=="string"?y:y.getData("text/plain")),z){let ve;return[ve,z]=Ed(z),ie==="auto"&&ve&&(ie="latex"),a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,z,{format:ie})&&(a.startRecording(),a.snapshot("paste"),Pn(a)),a.startRecording(),!0}return!1}insert(a,y,z){var ie,le;const ve=typeof y=="string"?y:(le=(ie=window.MathfieldElement.computeEngine)==null?void 0:ie.box(y).latex)!=null?le:"";if(!z.silenceNotifications&&!a.contentWillChange({data:ve,inputType:"insertText"}))return!1;z.insertionMode||(z.insertionMode="replaceSelection"),z.selectionMode||(z.selectionMode="placeholder"),z.format||(z.format="auto");const{silenceNotifications:be}=a;z.silenceNotifications&&(a.silenceNotifications=!0);const Ne=a.silenceNotifications;a.silenceNotifications=!0;const ze={"?":"\\placeholder{}","@":"\\placeholder{}"};ze[0]=z.insertionMode==="replaceAll"?"":a.getValue(a.selection,"latex-unstyled"),z.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Fc(a.selection)):z.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):z.insertionMode==="insertBefore"?a.collapseSelection("backward"):z.insertionMode==="insertAfter"&&a.collapseSelection("forward"),!a.at(a.position).isLastSibling&&a.at(a.position+1).type==="placeholder"?a.deleteAtoms([a.position,a.position+1]):a.at(a.position).type==="placeholder"&&a.deleteAtoms([a.position-1,a.position]);let Ge=-1;ze[0]?ze["@"]=ze[0]:typeof y=="string"&&/(^|[^\\])#@/.test(y)&&(Ge=Yp(a),Ge>=0&&(ze["@"]=a.getValue(Ge,a.position,"latex"))),ze[0]||(ze[0]=ze["?"]);let lt=!1;const Tt=qo=>(lt=!0,ze[qo]);let[An,$n]=wv(a,y,Tt,z);if(!$n)return!1;const br=$n.length===1&&$n[0].type==="genfrac";br&&Ge>=0&&typeof a.mathfield.options.isImplicitFunction=="function"&&a.mathfield.options.isImplicitFunction(a.at(a.position).command)?(ze["@"]=ze["?"],lt=!1,[An,$n]=wv(a,y,Tt,z)):Ge>=0&&a.deleteAtoms([Ge,a.position]);const{parent:Gi}=a.at(a.position),zo=Gi.hasEmptyBranch("body");if(br&&An!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&Gi instanceof Ae&&Gi.leftDelim==="("&&zo){const qo=Gi.parent,io=Gi.parentBranch;qo.removeChild(Gi),qo.setChildren($n,io)}const ji=a.at(a.position);ji.parent.addChildrenAfter($n,ji),An==="latex"&&typeof y=="string"&&(Gi==null?void 0:Gi.type)==="root"&&zo&&!lt&&(Gi.verbatimLatex=y),a.silenceNotifications=Ne;const Za=$n[$n.length-1];if(z.selectionMode==="placeholder"){const qo=$n.flatMap(io=>[io,...io.children]).find(io=>io.type==="placeholder");if(qo){const io=a.offsetOf(qo);a.setSelection(io-1,io),a.announce("move")}else Za&&(a.position=a.offsetOf(Za))}else z.selectionMode==="before"||(z.selectionMode==="after"?Za&&(a.position=a.offsetOf(Za)):z.selectionMode==="item"&&a.setSelection(a.anchor,a.offsetOf(Za)));return a.contentDidChange({data:ve,inputType:"insertText"}),a.silenceNotifications=be,!0}};function wv(a,y,z,ie){var le;let ve,be=[];if(typeof y!="string"||ie.format==="math-json"){const Ne=window.MathfieldElement.computeEngine;if(!Ne)return["math-json",[]];[ve,y]=["latex",Ne.box(y).latex],be=Fn(y,{context:a.mathfield.context})}else typeof y=="string"&&ie.format==="ascii-math"?([ve,y]=sl(y,{format:"ascii-math",inlineShortcuts:a.mathfield.options.inlineShortcuts}),be=Fn(y,{context:a.mathfield.context}),ve!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&hg(be)):(ie.format==="auto"||(le=ie.format)!=null&&le.startsWith("latex"))&&(ie.format==="auto"&&([ve,y]=sl(y,{format:"auto",inlineShortcuts:a.mathfield.options.inlineShortcuts})),ie.format==="latex"&&([,y]=Ed(y)),be=Fn(y,{context:a.mathfield.context,args:z}),ie.format!=="latex"&&a.mathfield.options.removeExtraneousParentheses&&hg(be));return xf(be,ie.style),[ve!=null?ve:"latex",be]}function Rg(a){if(!a||(console.assert(a[0].type==="first"),a.length>1))return null;const y=a[0];return y instanceof Ae&&y.leftDelim==="("&&y.rightDelim===")"?y.removeBranch("body"):null}function hg(a){if(a){for(let y=0;a[y];y++){const z=a[y];if(z instanceof Ae&&z.leftDelim==="("){let ie=0,le=0,ve=0;for(let be=0;z.body[be];be++)z.body[be].type==="genfrac"&&(ie++,le=be),ve++;ve===0&&ie===1&&(a[y]=z.body[le])}}for(const y of a){for(const z of y.branches)if(!y.hasEmptyBranch(z)){hg(y.branch(z));const ie=Rg(y.branch(z));ie&&y.setChildren(ie,z)}if(y instanceof Du)for(const z of y.cells)hg(z)}}}function Yp(a){let y=a.at(a.position);if(y.mode==="text"){for(;!y.isFirstSibling&&y.mode==="text";)y=y.leftSibling;return a.offsetOf(y)}const z=y;let ie=!1;if(y.type==="mclose"){const le=ce[y.value];for(;!y.isFirstSibling&&!(y.type==="mopen"&&y.value===le);)y=y.leftSibling;y.isFirstSibling||(y=y.leftSibling),ie=!0}else y.type==="leftright"&&(y=y.leftSibling,ie=!0);if(ie)for(;!y.isFirstSibling&&(y.isFunction||Cv(y));)y=y.leftSibling;else{const le=[];for(;!y.isFirstSibling&&(Cv(y)||le.length>0);)y.type==="mclose"&&le.unshift(y.value),y.type==="mopen"&&le.length>0&&y.value===ce[le[0]]&&le.shift(),y=y.leftSibling}return z===y?-1:a.offsetOf(y)}function Cv(a){return a.isDigit()?!0:a.type&&/^(mord|surd|subsup|leftright|mop|mclose)$/.test(a.type)?!a.isExtensibleSymbol:!1}new am;var om=class extends su{constructor(){super("text")}onPaste(a,y){if(!y)return!1;const z=typeof y=="string"?y:y.getData("text/plain");return z&&a.model.contentWillChange({inputType:"insertFromPaste",data:z})?(a.stopCoalescingUndo(),a.stopRecording(),this.insert(a.model,z)&&(a.model.contentDidChange({inputType:"insertFromPaste"}),a.startRecording(),a.snapshot("paste"),Pn(a)),a.startRecording(),!0):!1}insert(a,y,z={}){if(!a.contentWillChange({data:y,inputType:"insertText"}))return!1;z.insertionMode||(z.insertionMode="replaceSelection"),z.selectionMode||(z.selectionMode="placeholder"),z.format||(z.format="auto");const{silenceNotifications:ie}=a;z.silenceNotifications&&(a.silenceNotifications=!0);const le=a.silenceNotifications;a.silenceNotifications=!0,z.insertionMode==="replaceSelection"&&!a.selectionIsCollapsed?a.deleteAtoms(Fc(a.selection)):z.insertionMode==="replaceAll"?(a.root.setChildren([],"body"),a.position=0):z.insertionMode==="insertBefore"?a.collapseSelection("backward"):z.insertionMode==="insertAfter"&&a.collapseSelection("forward");const ve=sm(y,a.mathfield.context);if(xf(ve,z.style),!ve)return!1;const be=a.at(a.position),Ne=be.parent.addChildrenAfter(ve,be);return a.silenceNotifications=le,z.selectionMode==="before"||(z.selectionMode==="item"?a.setSelection(a.anchor,a.offsetOf(Ne)):Ne&&(a.position=a.offsetOf(Ne))),a.contentDidChange({data:y,inputType:"insertText"}),a.silenceNotifications=ie,!0}};function sm(a,y){return a=a.replace(/\\/g,"\\textbackslash "),a=a.replace(/#/g,"\\#"),a=a.replace(/\$/g,"\\$"),a=a.replace(/%/g,"\\%"),a=a.replace(/&/g,"\\&"),a=a.replace(/_/g,"\\_"),a=a.replace(/{/g,"\\textbraceleft "),a=a.replace(/}/g,"\\textbraceright "),a=a.replace(/lbrace/g,"\\textbraceleft "),a=a.replace(/rbrace/g,"\\textbraceright "),a=a.replace(/\^/g,"\\textasciicircum "),a=a.replace(/~/g,"\\textasciitilde "),a=a.replace(/£/g,"\\textsterling "),Fn(a,{context:y,parseMode:"text"})}new om;function g0(a){return{value:a.model.getValue(),selectionIsCollapsed:a.model.selectionIsCollapsed,canUndo:a.canUndo(),canRedo:a.canRedo(),style:a.selectionStyle,mode:a.model.mode}}var cd=4,jf=20,of=2*(jf+cd),jg=(a,y)=>` - - - - - `,Vv=(a,y)=>` - - - - - `,pg=(a,y,z)=>` - - - - - - `,Mm=` - - - - - ${pg(2*(cd+of),2*cd+3*of,0)} - - - ${pg(2*(cd+of),2*cd+of,180)} - - - ${pg(2*cd+3*of,2*(cd+of),-90)} - - - ${pg(2*cd+of,2*(cd+of),90)} - - - - - ${jg(2*cd+of,cd)} - - - ${Vv(2*cd+2*of,cd)} - - - ${jg(2*cd+3*of,cd)} - - - ${jg(cd,2*cd+of)} - - - ${Vv(cd,2*cd+2*of)} - - - ${jg(cd,2*cd+3*of)} - -`,Im=a=>` - - - - - `,lm=a=>` - - - - - - - `,um=a=>` - - - - - - - -`,cm=a=>` - - - - - - - -`,ep=a=>` - - - - - - - -`,dm=a=>` - - - - - - - - - -`,Rh=a=>` - - - - - - - -`,Zg=a=>` - - - - - - - -`,Bv={matrix:Im,pmatrix:lm,bmatrix:cm,Bmatrix:um,vmatrix:ep,Vmatrix:dm},Xg={cases:Rh,rcases:Zg,Bmatrix:um};function fm(a){var y,z;const ie=(y=a.model.parentEnvironment)==null?void 0:y.array;if(!ie)return;let le=0;ie.forEach(br=>{(!le||br.length>le)&&(le=br.length)});let ve=document.getElementById("mathlive-environment-popover");ve||(ve=yp("mathlive-environment-popover"),hf("environment-popover"),hf("core"),ve.setAttribute("aria-hidden","true"));let be;const Ne=ve.querySelector(".MLEP__environment-controls");Ne?be=Ne:(be=document.createElement("div"),ve.innerHTML="",ve.appendChild(be)),be.className="MLEP__environment-controls",be.style.display="flex",be.style.width="100%",be.style.height="100%",be.style.boxSizing="border-box",be.innerHTML=Mm;let ze=[],Ge="";const lt=a.model.parentEnvironment.environmentName;if($d(lt)){const br=hm(lt);Ge=Bv[br]("active");const Gi=Bv,{[br]:zo}=Gi,ji=vt(Gi,[It(br)]);ze=Object.values(ji).map(Za=>Za("inactive"))}else if(pf(lt)){const br=pm(lt);Ge=Xg[br]("active");const Gi=Xg,{[br]:zo}=Gi,ji=vt(Gi,[It(br)]);ze=Object.values(ji).map(Za=>Za("inactive"))}else od(lt)&&(Ge=Bv.matrix("active"),ze=Object.values(Xg).map(br=>br("inactive")));const Tt=document.createElement("div");Tt.className="MLEP__environment-delimiter-controls",Tt.style.display="flex",Tt.style.flexDirection="column",Tt.innerHTML=` -
    - ${Ge} - ${ze.join("")} -
    `,Ge&&be.appendChild(Tt),be.querySelectorAll("[data-command]").forEach(br=>{const Gi=br.dataset.command;let zo=Gi;try{zo=JSON.parse(Gi)}catch(ji){}br.addEventListener("mousedown",ji=>ji.preventDefault()),zo&&br.addEventListener("click",()=>a.executeCommand(zo))});const $n=(z=a.field)==null?void 0:z.getBoundingClientRect();$n&&(ve.style.top=`${window.scrollY+($n.top-ve.clientHeight-15)}px`,ve.style.left=`${$n.left+20}px`,ve.classList.add("is-visible"))}function gg(){const a=document.getElementById("mathlive-environment-popover");a==null||a.classList.remove("is-visible")}function Om(){document.getElementById("mathlive-environment-popover")&&(jp("mathlive-environment-popover"),ee("environment-popover"),ee("core"))}function vg(a){if(!a.hasFocus())return;let y=!1;if(a.model.mode==="math"){const z=a.model.parentEnvironment;if(z!=null&&z.array&&Jc(z.environmentName)){const ie=a.options.environmentPopoverPolicy;y=ie==="auto"||ie==="on"}}y?fm(a):gg()}function hm(a){return a.replace("*","")}function pm(a){return a==="dcases"?"cases":a}function Qv(a){const y=getComputedStyle(a).direction;return y==="ltr"||y==="rtl"?y:"ltr"}function Dv(a,y,z){return y==="left"||y==="leading"&&z==="ltr"||y==="trailing"&&z==="rtl"?a.left:a.right}function Vg(a,y,z,ie){return z==="middle"?a-y/2:z==="start"&&ie==="rtl"||z==="end"&&ie==="ltr"||z==="top"||z==="right"?Math.max(0,a-y):a}function Wv(a,y,z,ie){return z==="middle"?a-y/2:z==="start"&&ie==="ltr"||z==="end"&&ie==="rtl"||z==="top"||z==="right"?a:a-y}function Kv(a,y){var z,ie,le;const ve=(z=Qv(a))!=null?z:"ltr";a.style.position="fixed",a.style.left="",a.style.top="",a.style.right="",a.style.bottom="",a.style.height="",a.style.width="";const be=a.getBoundingClientRect(),Ne=Number.isFinite(y.maxHeight)?Math.min(y.maxHeight,window.innerHeight):window.innerHeight;let ze=Math.min(Ne,(ie=y.height)!=null?ie:be.height),Ge=Vg(y.location.y,ze,y.verticalPos,ve);Ge+ze>window.innerHeight-8&&(y.alternateLocation?(Ge=Vg(y.alternateLocation.y,ze,y.verticalPos,ve),Ge+ze>window.innerHeight-8&&(Ge=void 0)):Ge=void 0),Number.isFinite(Ge)||(Ge=Math.max(8,window.innerHeight-8-ze),8+ze>window.innerHeight-8&&(a.style.bottom="8px")),ze=Math.min(Ge+ze,window.innerHeight-8)-Ge;const lt=Number.isFinite(y.maxWidth)?Math.min(y.maxWidth,window.innerWidth):window.innerWidth;let Tt=Math.min(lt,(le=y.width)!=null?le:be.width),An=Vg(y.location.x,Tt,y.horizontalPos,ve);An+Tt>window.innerWidth-8&&(y.alternateLocation?(An=Wv(y.alternateLocation.x,Tt,y.verticalPos,ve),An+Tt>window.innerWidth-8&&(An=void 0)):An=void 0),Number.isFinite(An)||(An=Math.max(8,window.innerWidth-8-Tt),8+Tt>window.innerWidth-8&&(a.style.right="8px")),Tt=Math.min(An+Tt,window.innerWidth-8)-An,ve==="rtl"?a.style.right=`${Math.ceil(window.innerWidth-An-Tt).toString()}px`:a.style.left=`${Math.ceil(An).toString()}px`,a.style.top=`${Math.ceil(Ge).toString()}px`,ze!==be.height&&(a.style.height=`${Math.ceil(ze).toString()}px`),Tt!==be.width&&(a.style.width=`${Math.ceil(Tt).toString()}px`)}function gm(a,y){return Math.hypot(y.x-a.x,y.y-a.y)}function Sp(a){return"submenu"in a}function n0(a){return"type"in a&&a.type==="command"||"onMenuSelect"in a||"id"in a}function Qg(a){return"type"in a&&a.type==="divider"}function tp(a){return"type"in a&&a.type==="heading"}var Gv={};function Wg(a){let y=Gv[a];if(!y){let z;switch(a){case"checkmark":z=``;break;case"trailing-chevron":z='';break;case"mixedmark":z=''}if(z){const ie=document.createElement("template");ie.innerHTML=z,Gv[a]=ie,y=ie}}if(y){if("content"in y)return y.content.cloneNode(!0);const z=document.createElement("svg");return z.innerHTML=y.innerHTML,z}}var mg=80,Af=class{constructor(a,y){this._element=null;var z;this.parentMenu=y,this._declaration=a,Sp(a)?(this.type="submenu",this.submenu=new Ag(a.submenu,{parentMenu:y,submenuClass:a.submenuClass,columnCount:a.columnCount})):this.type=(z=a.type)!=null?z:"command",this.hasCheck=n0(a)&&a.checked!==void 0}get rootMenu(){return this.parentMenu.rootMenu}get abortController(){return this._abortController||(this._abortController=new AbortController),this._abortController}dispose(){var a,y;(a=this._abortController)==null||a.abort(),this._abortController=void 0,(y=this._element)==null||y.remove(),this._element=null,this.submenu&&this.submenu.dispose(),this.submenu=void 0}get menuItem(){return this._declaration}get label(){var a;return(a=this._label)!=null?a:""}set label(a){a===void 0&&(a=""),a!==this._label&&(this._label=a,this.dirty=!0)}get visible(){return this._visible}set visible(a){a!==this._visible&&(this._visible=a,this.dirty=!0)}get enabled(){return this._enabled}set enabled(a){this._enabled=a,this.element&&(a?this.element.removeAttribute("aria-disabled"):this.element.setAttribute("aria-disabled","true")),this.dirty=!0}get checked(){return this._checked}set checked(a){this._checked=a,this.dirty=!0}get tooltip(){return this._tooltip}set tooltip(a){a!==this._tooltip&&(this._tooltip=a,this.dirty=!0)}get ariaLabel(){return this._ariaLabel}set ariaLabel(a){a!==this._ariaLabel&&(this._ariaLabel=a,this.dirty=!0)}get active(){var a,y;return(y=(a=this.element)==null?void 0:a.classList.contains("active"))!=null?y:!1}set active(a){this.element&&this.element.classList.toggle("active",a)}updateState(a){var y,z,ie;const le=this._declaration;if(Qg(le)){this.enabled=!1,this.checked=!1;return}tp(le)&&(this.enabled=!1,this.checked=!1,this.visible=!0),n0(le)&&(this.checked=n0(le)&&((y=r0(le.checked,a))!=null?y:!1)),(n0(le)||Sp(le))&&(this.enabled=(z=r0(le.enabled,a))!=null?z:!0,this.visible=(ie=r0(le.visible,a))!=null?ie:!0,this.visible&&this.enabled&&this.submenu&&(this.submenu.updateState(a),this.submenu.visible||(this.visible=!1))),(n0(le)||tp(le)||Sp(le))&&(this.label=r0(le.label,a),this.tooltip=r0(le.tooltip,a),this.ariaLabel=r0(le.ariaLabel,a)),this._element&&this.updateElement()}set dirty(a){console.assert(a===!0),a&&this.parentMenu&&(this.parentMenu.dirty=!0)}updateElement(){if(!this.visible||!this.element)return;const a=this.element;a.textContent="",this.enabled?a.removeAttribute("aria-disabled"):a.setAttribute("aria-disabled","true"),this.checked===!0?(a.setAttribute("aria-checked","true"),a.append(Wg("checkmark"))):this.checked==="mixed"?(a.setAttribute("aria-checked","mixed"),a.append(Wg("mixedmark"))):a.removeAttribute("aria-checked"),this.ariaLabel&&a.setAttribute("aria-label",this.ariaLabel);const y=document.createElement("span");if(y.className=this.parentMenu.hasCheck?"label indent":"label",this.type==="heading"&&y.classList.add("heading"),y.innerHTML=this.label,a.append(y),this._tooltip&&a.setAttribute("data-tooltip",this._tooltip),n0(this._declaration)&&this._declaration.keyboardShortcut){const z=document.createElement("kbd");z.innerHTML=sg(this._declaration.keyboardShortcut),a.append(z)}this.type==="submenu"&&a.append(Wg("trailing-chevron"))}get element(){if(this._element)return this._element;if(Qg(this._declaration)){const z=document.createElement("li");return z.setAttribute("part","menu-divider"),z.setAttribute("role","divider"),this._element=z,z}const a=document.createElement("li");this._element=a,(n0(this._declaration)||tp(this._declaration)||Sp(this._declaration))&&this._declaration.class&&(a.className=this._declaration.class),a.setAttribute("part","menu-item"),a.setAttribute("tabindex","-1"),this.hasCheck?a.setAttribute("role","menuitemcheckbox"):a.setAttribute("role","menuitem"),this.type==="submenu"&&(a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded","false"));const y=this.abortController.signal;return a.addEventListener("pointerenter",this,{signal:y}),a.addEventListener("pointerleave",this,{signal:y}),a.addEventListener("pointerup",this,{signal:y}),a.addEventListener("click",this,{signal:y}),this._element}dispatchSelect(){if(!n0(this._declaration))return;const a=new CustomEvent("menu-select",{cancelable:!0,bubbles:!0,detail:{modifiers:this.rootMenu.modifiers,id:this._declaration.id,data:this._declaration.data}});this.parentMenu.dispatchEvent(a)&&typeof this._declaration.onMenuSelect=="function"&&this._declaration.onMenuSelect({modifiers:this.rootMenu.modifiers,id:this._declaration.id,data:this._declaration.data})}handleEvent(a){var y;if(!(!this.visible||!this.enabled)){if(a.type==="click"){this.rootMenu.state==="modal"&&this.select(),a.stopPropagation(),a.preventDefault();return}if(a.type==="pointerenter"){const z=a;this.rootMenu.cancelDelayedOperation(),this.parentMenu.isSubmenuOpen&&((y=this.parentMenu.activeMenuItem)!=null&&y.movingTowardSubmenu(z))?this.rootMenu.scheduleOperation(()=>{this.parentMenu.activeMenuItem=this,this.openSubmenu()}):(this.parentMenu.activeMenuItem=this,this.openSubmenu({withDelay:!0}));return}if(a.type==="pointerleave"){this.rootMenu.activeSubmenu===this.parentMenu&&(this.parentMenu.activeMenuItem=null);return}if(a.type==="pointerup"){this.rootMenu.state!=="modal"&&this.select(),a.stopPropagation(),a.preventDefault();return}}}select(){if(this.rootMenu.cancelDelayedOperation(),this.type==="submenu"){this.openSubmenu();return}this.active=!1,setTimeout(()=>{this.active=!0,setTimeout(()=>{this.rootMenu.hide(),this.dispatchSelect()},mg)},mg)}openSubmenu(a){var y;if(this.type!=="submenu"||!this.element)return;if((y=a==null?void 0:a.withDelay)!=null&&y){this.rootMenu.scheduleOperation(()=>this.openSubmenu());return}const z=this.element.getBoundingClientRect(),ie=Qv(this.element);this.submenu.show({container:this.rootMenu.element.parentNode,location:{x:Dv(z,"trailing",ie),y:z.top-4},alternateLocation:{x:Dv(z,"leading",ie),y:z.top-4}})}movingTowardSubmenu(a){if(!this.element||this.type!=="submenu")return!1;const y=this.rootMenu.lastMoveEvent;if(!y)return!1;const z=a.timeStamp-y.timeStamp;if(z>500)return!1;const ie=a.clientX-y.clientX;if(Gh(ie,y.clientY-a.clientY,z)<=.2)return!1;let ve="right";if(this.submenu.element){const be=this.submenu.element.getBoundingClientRect(),Ne=this.element.getBoundingClientRect();be.left0:ie<0}};function Gh(a,y,z){return Math.hypot(a,y)/z}function r0(a,y){return a===void 0||typeof a!="function"?a:(y!=null||(y={alt:!1,control:!1,shift:!1,meta:!1}),a(y))}var Ag=class $g{constructor(y,z){this._element=null,this._activeMenuItem=null,this._dirty=!0;var ie,le;this.parentMenu=(ie=z==null?void 0:z.parentMenu)!=null?ie:null,this._submenuClass=z==null?void 0:z.submenuClass,this.columnCount=(le=z==null?void 0:z.columnCount)!=null?le:1,this.isSubmenuOpen=!1,this.menuItems=y}get children(){return this._menuItems}set menuItems(y){const z=this.parentMenu;this.dispose(),this.parentMenu=z,y=[...y],this._menuItems=y.map(ie=>ie.onCreate?ie.onCreate(ie,this):new Af(ie,this)),this.hasCheck=void 0,this.dirty=!0}dispose(){var y;this.hide(),this._element&&this._element.remove(),this._abortController&&this._abortController.abort(),(y=this._menuItems)==null||y.forEach(z=>z.dispose()),this._menuItems=[],this._activeMenuItem=null,this.parentMenu=null}handleEvent(y){if(y.type==="wheel"&&this._element){const z=y;this._element.scrollBy(0,z.deltaY),y.stopPropagation()}}dispatchEvent(y){return this.rootMenu.dispatchEvent(y)}get rootMenu(){return this.parentMenu.rootMenu}updateState(y){var z,ie,le;this._menuItems.forEach(Ge=>Ge.updateState(y));const ve=this.hasCheck;this.hasCheck=this._menuItems.some(Ge=>Ge.visible&&Ge.hasCheck),this.hasCheck!==ve&&this._menuItems.forEach(Ge=>Ge.updateState(y));let be,Ne=0;for(const Ge of this._menuItems)Ge.type==="heading"?(be&&Ne===0&&(be.visible=!1),be=Ge,Ne=0):Ge.type==="divider"&&be?(be.visible=Ne>0,be=void 0,Ne=0):be&&Ge.visible&&(Ne+=1);be&&(be.visible=Ne>0);let ze=!0;for(const Ge of this._menuItems)Ge.type==="divider"?(Ge.visible=!ze,ze=!0):Ge.visible&&(ze=!1);(z=this.activeMenuItem)!=null&&z.visible||(this.activeMenuItem=null),!((ie=this.activeMenuItem)!=null&&ie.enabled)&&((le=this.activeMenuItem)==null?void 0:le.type)==="submenu"&&this._activeMenuItem.submenu.hide(),this._dirty=!1}get enabled(){return this.updateIfDirty(),this._menuItems.some(y=>y.type!=="divider"&&y.visible&&y.enabled)}get visible(){return this.updateIfDirty(),this._menuItems.some(y=>y.type!=="divider"&&y.visible)}set dirty(y){console.assert(y===!0),this._dirty!==y&&y&&this.parentMenu&&(this._dirty=!0,this.parentMenu.dirty=!0)}updateIfDirty(){this._dirty&&this.updateState(this.rootMenu.modifiers)}updateElement(){var y;if(this._element){this._element.textContent="";for(const{element:z,visible:ie}of this._menuItems)z&&ie&&this._element.append(z);(y=this._element.querySelector("li:first-of-type"))==null||y.setAttribute("tabindex","0")}}get element(){if(this._element)return this._element;const y=document.createElement("menu");y.setAttribute("role","menu"),y.setAttribute("tabindex","-1"),y.setAttribute("aria-orientation","vertical"),y.setAttribute("part","ui-menu-container"),this._submenuClass&&y.classList.add(this._submenuClass),y.classList.add("ui-menu-container"),this._abortController||(this._abortController=new AbortController);const z=this._abortController.signal;return y.addEventListener("focus",this,{signal:z}),y.addEventListener("wheel",this,{passive:!0,signal:z}),this._element=y,this.updateElement(),y}get activeMenuItem(){return this._activeMenuItem}set activeMenuItem(y){var z,ie,le,ve;if(this.rootMenu.cancelDelayedOperation(),y!==this._activeMenuItem){if(this.activeMenuItem){const be=this.activeMenuItem;be.active=!1,(z=be.submenu)==null||z.hide()}if(!((ie=y==null?void 0:y.visible)==null||ie)){this._activeMenuItem=null;return}this._activeMenuItem=y,y&&(y.active=!0)}y?(le=y.element)==null||le.focus({preventScroll:!0}):(ve=this._element)==null||ve.focus({preventScroll:!0})}get firstMenuItem(){this.updateIfDirty();let y=0,z=!1;const ie=this._menuItems;for(;!z&&y<=ie.length-1;){const le=ie[y];z=le.type!=="divider"&&le.visible&&le.enabled,y+=1}return z?ie[y-1]:null}get lastMenuItem(){this.updateIfDirty();const y=this._menuItems;let z=y.length-1,ie=!1;for(;!ie&&z>=0;){const le=y[z];ie=le.type!=="divider"&&le.visible&&le.enabled,z-=1}return ie?y[z+1]:null}nextMenuItem(y){if(y===0)return this._activeMenuItem;if(!this._activeMenuItem)return y>0?this.firstMenuItem:this.lastMenuItem;if(!this.firstMenuItem||!this.lastMenuItem||!this._activeMenuItem)return null;this.updateIfDirty();const z=this._menuItems.indexOf(this.firstMenuItem),ie=this._menuItems.indexOf(this.lastMenuItem);let le=this._menuItems.indexOf(this._activeMenuItem),ve=1;for(;le>=z&&le<=ie;){le+=y>0?1:-1;const be=this._menuItems[le];if(!be)break;if(be.visible&&be.enabled){if(ve===Math.abs(y))return this._menuItems[le];ve+=1}}return y>0?this.lastMenuItem:this.firstMenuItem}getMenuItemColumn(y){this.updateIfDirty();const ie=this._menuItems.filter(le=>le.visible&&le.enabled).indexOf(y);return ie<0?-1:ie%this.columnCount}static get collator(){return $g._collator||($g._collator=new Intl.Collator(void 0,{usage:"search",sensitivity:"base"})),$g._collator}findMenuItem(y){var z;this.updateIfDirty();const ie=this._menuItems.filter(Ne=>Ne.type!=="divider"&&Ne.visible&&Ne.enabled);if(ie.length===0)return null;const le=Math.max(...ie.map(Ne=>Ne.label.length))-y.length;if(le<0)return null;let ve=null,be=0;for(;be$g.collator.compare(y,Ne.label.substring(be,y.length))===0))!=null?z:null,be++;return ve}show(y){return!this.visible||!y.container?!1:(this.updateElement(),y.container.appendChild(this.element),Qt()&&(this.element.popover="manual",this.element.showPopover()),y.location&&Kv(this.element,{location:y.location,alternateLocation:y.alternateLocation,verticalPos:"bottom",horizontalPos:"start"}),this.element.focus({preventScroll:!0}),this.parentMenu&&(this.parentMenu.openSubmenu=this),!0)}hide(){var y,z,ie,le,ve;this.openSubmenu=null,this.activeMenuItem=null,this.parentMenu&&(this.parentMenu.openSubmenu=null),Qt()&&((y=this._element)!=null&&y.popover)&&this.element.hidePopover(),(ie=(z=this.parentMenu)==null?void 0:z.element)==null||ie.focus(),(ve=(le=this._element)==null?void 0:le.parentNode)==null||ve.removeChild(this._element)}set openSubmenu(y){var z,ie,le,ve;const be=y!==null;((z=this.activeMenuItem)==null?void 0:z.type)==="submenu"&&((ie=this.activeMenuItem.element)==null||ie.setAttribute("aria-expanded",be.toString())),(ve=(le=this.activeMenuItem)==null?void 0:le.element)==null||ve.classList.toggle("is-submenu-open",be),this.isSubmenuOpen=be}},wf=class b1 extends Ag{constructor(y,z){var ie;super(y),this.state="closed",this.typingBufferResetTimer=0,this.hysteresisTimer=0,this._updating=!1,this._host=(ie=z==null?void 0:z.host)!=null?ie:null,this.isDynamic=y.some(Pv),this._modifiers={shift:!1,control:!1,alt:!1,meta:!1},this.typingBuffer="",this.state="closed"}get modifiers(){return this._modifiers}set modifiers(y){dv(this._modifiers,y)||(this._modifiers=y,this.dirty=!0)}get activeSubmenu(){let y=this;for(;y.isSubmenuOpen;)y=y.activeMenuItem.submenu;return y}set dirty(y){this._updating||(console.assert(y===!0),this._dirty!==y&&(this._dirty=!0,y&&setTimeout(()=>{this.updateState(this.modifiers),this.updateElement()})))}updateState(y){this._updating=!0,this.modifiers=y!=null?y:this.modifiers,super.updateState(this.modifiers),this._updating=!1}handleKeyupEvent(y){this.isDynamic&&(this.modifiers=h0(y)),y.stopImmediatePropagation()}handleKeydownEvent(y){var z,ie,le;if(y.key==="Tab"||y.key==="Escape"){this.hide();return}this.isDynamic&&(this.modifiers=h0(y));let ve=!0;const be=this.activeSubmenu,Ne=be.activeMenuItem;switch(y.key){case" ":case"Space":case"Return":case"Enter":Ne==null||Ne.select(h0(y));break;case"ArrowRight":if((Ne==null?void 0:Ne.type)==="submenu")Ne.select(h0(y)),this.activeSubmenu.activeMenuItem=this.activeSubmenu.firstMenuItem;else if(!Ne)be.activeMenuItem=be.firstMenuItem;else{const ze=(z=be.getMenuItemColumn(Ne))!=null?z:-1;if(ze>=0&&ze<((ie=be.columnCount)!=null?ie:1)-1){const Ge=be.nextMenuItem(1);Ge&&(be.activeMenuItem=Ge)}}break;case"ArrowLeft":if(be===this.rootMenu)Ne||(be.activeMenuItem=be.firstMenuItem);else if((Ne&&(le=be.getMenuItemColumn(Ne))!=null?le:-1)<=0||!Ne){be.hide();const Ge=be.parentMenu.activeMenuItem;if(Ge){const{element:lt}=Ge;lt==null||lt.focus(),lt==null||lt.classList.remove("is-submenu-open")}}else{const Ge=be.nextMenuItem(-1);Ge&&(be.activeMenuItem=Ge)}break;case"ArrowDown":be.activeMenuItem=be.nextMenuItem(be.columnCount);break;case"ArrowUp":be.activeMenuItem=be.nextMenuItem(-be.columnCount);break;case"Home":case"PageUp":be.activeMenuItem=be.firstMenuItem;break;case"End":case"PageDown":be.activeMenuItem=be.lastMenuItem;break;case"Backspace":if(this.typingBuffer&&(this.typingBuffer=this.typingBuffer.slice(0,-1),this.typingBuffer)){clearTimeout(this.typingBufferResetTimer);const ze=be.findMenuItem(this.typingBuffer);ze&&(be.activeMenuItem=ze),this.typingBufferResetTimer=setTimeout(()=>{this.typingBuffer=""},500)}break;default:if(Q0(y)){isFinite(this.typingBufferResetTimer)&&clearTimeout(this.typingBufferResetTimer),this.typingBuffer+=y.key;const ze=be.findMenuItem(this.typingBuffer);ze&&(be.activeMenuItem=ze),this.typingBufferResetTimer=setTimeout(()=>{this.typingBuffer=""},500)}else ve=!1}ve&&(y.preventDefault(),y.stopPropagation())}handleEvent(y){if(y.type==="keydown")this.handleKeydownEvent(y);else if(y.type==="keyup")this.handleKeyupEvent(y);else if(y.type==="pointermove")this.lastMoveEvent=y;else if(y.type==="pointerup"&&y.target===this.scrim)Number.isFinite(this.rootMenu._openTimestamp)&&Date.now()-this.rootMenu._openTimestamp<120?this.state="modal":this.state==="modal"&&this.hide();else if(y.type==="contextmenu"){y.preventDefault(),y.stopPropagation();return}super.handleEvent(y)}dispatchEvent(y){return this._host?this._host.dispatchEvent(y):!0}get scrim(){return vf.element}connectScrim(y){const z=this.scrim;z.addEventListener("pointerup",this),z.addEventListener("contextmenu",this),z.addEventListener("keydown",this),z.addEventListener("keyup",this),z.addEventListener("pointermove",this),vf.open({root:y,onDismiss:()=>this.hide()})}disconnectScrim(){const y=this.scrim;y.removeEventListener("pointerup",this),y.removeEventListener("contextmenu",this),y.removeEventListener("keydown",this),y.removeEventListener("keyup",this),y.removeEventListener("pointermove",this),vf.state==="open"&&vf.scrim.close()}get rootMenu(){return this}show(y){return this._onDismiss=y==null?void 0:y.onDismiss,y!=null&&y.modifiers&&(this.modifiers=y.modifiers),this.updateState(),this.connectScrim(y==null?void 0:y.target),super.show(_e(Xe({},y),{container:this.scrim}))?(this._openTimestamp=Date.now(),this.state="open",!0):(this.disconnectScrim(),!1)}hide(){this.cancelDelayedOperation(),this.state!==void 0&&(this.state!=="closed"&&(this.activeMenuItem=null,vf.element.parentElement.focus(),super.hide(),this.state="closed",this.disconnectScrim()),this._onDismiss&&(this._onDismiss(),this._onDismiss=void 0))}scheduleOperation(y){this.cancelDelayedOperation();const z=b1.SUBMENU_DELAY;if(z<=0){y();return}this.hysteresisTimer=setTimeout(()=>{this.hysteresisTimer=0,y()},z)}cancelDelayedOperation(){this.hysteresisTimer&&(clearTimeout(this.hysteresisTimer),this.hysteresisTimer=0)}};wf.SUBMENU_DELAY=120;var vm=wf;function Pv(a){return Qg(a)?!1:typeof a.label=="function"||typeof a.ariaLabel=="function"||typeof a.tooltip=="function"||(n0(a)||Sp(a))&&(typeof a.enabled=="function"||typeof a.visible=="function")||n0(a)&&typeof a.checked=="function"?!0:Sp(a)?a.submenu.some(Pv):!1}var N0=class{};N0.DELAY=300,N0.MAX_DISTANCE=10;function Kg(a){return new Promise((y,z)=>{const ie=V0(a);ie||y(!1);let le=ie;const ve=setTimeout(()=>{be.abort(),y(gm(le,ie){if(Ge.type==="pointerup"||Ge.type==="pointercancel")clearTimeout(ve),be.abort(),y(!1);else if(Ge.type==="pointermove"){const lt=V0(Ge);lt&&(le=lt)}},{passive:!0,signal:Ne})})}function Uv(a,y,z){return tg(this,null,function*(){if(a.type==="contextmenu"){const ie=a;if(z.show({target:y,location:V0(ie),modifiers:h0(ie)}))return a.preventDefault(),a.stopPropagation(),!0}if(a.type==="keydown"){const ie=a;if(ie.code==="ContextMenu"||ie.code==="F10"&&ie.shiftKey){const le=y==null?void 0:y.getBoundingClientRect();if(le&&z.show({target:y,location:{x:Math.ceil(le.left+le.width/2),y:Math.ceil(le.top+le.height/2)},modifiers:h0(ie)}))return a.preventDefault(),a.stopPropagation(),!0}}if(a.type==="pointerdown"&&a.pointerType!=="mouse"&&a.button===0){let ie=a.target;for(;ie&&y!==ie;)ie=ie.parentNode;if(!ie||!z.visible)return!1;const le=V0(a);if(yield Kg(a))return z.state!=="closed"?!1:(z.show({target:y,location:le}),!0)}return!1})}var Sv={acute:714,grave:715,dot:729,ddot:168,mathring:730,tilde:126,bar:713,breve:728,check:711,hat:94,vec:8407};Un(Object.keys(Sv),"{body:auto}",{createAtom:a=>new ae(_e(Xe({},a),{body:an(a.args[0]),accentChar:Sv[a.command.slice(1)]}))}),Un(["widehat","widecheck","widetilde"],"{body:auto}",{createAtom:a=>{const y=dn(an(a.args[0]));return new ae(_e(Xe({},a),{body:an(a.args[0]),svgAccent:a.command.slice(1)+(y.length>5?"4":["1","1","2","2","3","3"][y.length])}))}}),Un(["overarc","overparen","wideparen"],"{body:auto}",{createAtom:a=>new ae(_e(Xe({},a),{body:an(a.args[0]),svgAccent:"overarc"}))}),Un(["underarc","underparen"],"{body:auto}",{createAtom:a=>new jc(_e(Xe({},a),{body:an(a.args[0]),svgBelow:"underarc"}))}),Un("utilde","{body:auto}",{createAtom:a=>{const y=an(a.args[0]),z=dn(y),ie="widetilde"+(z.length>5?"4":["1","1","2","2","3","3"][z.length]);return new jc(_e(Xe({},a),{body:y,svgBelow:ie,boxType:Yd(y)}))}}),Un("^","{:string}",{createAtom:a=>{var y;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE2",e:"\xEA",i:"\xEE",o:"\xF4",u:"\xFB",A:"\xC2",E:"\xCA",I:"\xCE",O:"\xD4",U:"\xDB"}[a.args[0]])!=null?y:"^"}))}}),Un("`","{:string}",{createAtom:a=>{var y;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE0",e:"\xE8",i:"\xEC",o:"\xF2",u:"\xF9",A:"\xC0",E:"\xC8",I:"\xCC",O:"\xD2",U:"\xD9"}[a.args[0]])!=null?y:"`"}))}}),Un("'","{:string}",{createAtom:a=>{var y;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={a:"\xE1",e:"\xE9",i:"\xED",o:"\xF3",u:"\xFA",A:"\xC1",E:"\xC9",I:"\xCD",O:"\xD3",U:"\xDA"}[a.args[0]])!=null?y:"'"}))}}),Un('"',"{:string}",{createAtom:a=>{var y,z;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(z={a:"\xE4",e:"\xEB",i:"\xEF",o:"\xF6",u:"\xFC",A:"\xC4",E:"\xCB",I:"\xCB",O:"\xD6",U:"\xDC"}[a.args[0]])!=null?z:'"'+a.args[0]:'"'}))}}),Un(".","{:string}",{createAtom:a=>{var y,z;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(z={a:"\u0227",e:"\u0117",i:"\u0307i",o:"\u022F",u:"\u0307u",A:"\u0226",E:"\u0116",I:"\u0130",O:"\u022E",U:"\u0307U"}[a.args[0]])!=null?z:"."+a.args[0]:"."}))}}),Un("=","{:string}",{createAtom:a=>{var y,z;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:(y=a.args)!=null&&y[0]?(z={a:"\u0101",e:"\u0113",i:"\u012B",o:"\u014D",u:"\u016B",A:"\u0100",E:"\u0112",I:"\u012A",O:"\u014C",U:"\u016A"}[a.args[0]])!=null?z:"="+a.args[0]:"="}))}}),Un("~","{:string}",{createAtom:a=>{var y;return new ga(_e(Xe({type:"mord"},a),{isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={n:"\xF1",N:"\xD1",a:"\xE3",o:"\xF5",A:"\xC3",O:"\xD5"}[a.args[0]])!=null?y:"\xB4"}))}}),Un("c","{:string}",{createAtom:a=>{var y;return new ga(_e(Xe({},a),{type:"mord",isFunction:!1,limits:"adjacent",value:a.args[0]&&(y={c:"\xE7",C:"\xC7"}[a.args[0]])!=null?y:""}))}}),Un("enclose","{notation:string}[style:string]{body:auto}",{createAtom:a=>{var y,z;const ie=a.args,le={strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",backgroundcolor:"transparent",padding:"auto",shadow:"none",svgStrokeStyle:void 0,borderStyle:void 0,style:(y=a.style)!=null?y:{}};if(ie[1]){const be=ie[1].split(/,(?![^(]*\)(?:(?:[^(]*\)){2})*[^"]*$)/);for(const Ne of be){const ze=Ne.match(/\s*(\S+)\s+(\S+)\s+(.*)/);if(ze)le.strokeWidth=ze[1],le.strokeStyle=ze[2],le.strokeColor=ze[3];else{const Ge=Ne.match(/\s*([a-z]*)\s*=\s*"(.*)"/);Ge&&(Ge[1]==="mathbackground"?le.backgroundcolor=Ge[2]:Ge[1]==="mathcolor"?le.strokeColor=Ge[2]:Ge[1]==="padding"?le.padding=Ge[2]:Ge[1]==="shadow"&&(le.shadow=Ge[2]))}}le.strokeStyle==="dashed"?le.svgStrokeStyle="5,5":le.strokeStyle==="dotted"&&(le.svgStrokeStyle="1,5")}le.borderStyle=`${le.strokeWidth} ${le.strokeStyle} ${le.strokeColor}`;const ve={};return((z=ie[0])!=null?z:"").split(/[, ]/).filter(be=>be.length>0).forEach(be=>{ve[be.toLowerCase()]=!0}),new Wo(a.command,an(ie[2]),ve,le)}}),Un("cancel","{body:auto}",{createAtom:a=>{var y;return new Wo(a.command,an(a.args[0]),{updiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),Un("bcancel","{body:auto}",{createAtom:a=>{var y;return new Wo(a.command,an(a.args[0]),{downdiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),Un("xcancel","{body:auto}",{createAtom:a=>{var y;return new Wo(a.command,an(a.args[0]),{updiagonalstrike:!0,downdiagonalstrike:!0},{strokeColor:"currentColor",strokeWidth:"",strokeStyle:"solid",borderStyle:"1px solid currentColor",backgroundcolor:"transparent",padding:"auto",shadow:"none",style:(y=a.style)!=null?y:{}})}}),Un(["overrightarrow","overleftarrow","Overrightarrow","overleftharpoon","overrightharpoon","overleftrightarrow","overlinesegment","overgroup"],"{:auto}",{createAtom:a=>{var y;return new jc(_e(Xe({},a),{body:an((y=a.args)==null?void 0:y[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"rel",svgAbove:a.command.slice(1)}))}}),Un("overbrace","{:auto}",{createAtom:a=>new jc(_e(Xe({},a),{body:an(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"ord",svgAbove:a.command.slice(1)}))}),Un(["underrightarrow","underleftarrow","underleftrightarrow","underlinesegment","undergroup"],"{:auto}",{createAtom:a=>new jc(_e(Xe({},a),{body:an(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"rel",svgBelow:a.command.slice(1)}))}),Un(["underbrace"],"{:auto}",{createAtom:a=>new jc(_e(Xe({},a),{body:an(a.args[0]),skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,boxType:"ord",svgBelow:a.command.slice(1)}))}),Un(["xrightarrow","longrightarrow","xleftarrow","longleftarrow","xRightarrow","xLeftarrow","xleftharpoonup","xleftharpoondown","xrightharpoonup","xrightharpoondown","xlongequal","xtwoheadleftarrow","xtwoheadrightarrow","xleftrightarrow","longleftrightarrow","xLeftrightarrow","xrightleftharpoons","longrightleftharpoons","xleftrightharpoons","xhookleftarrow","xhookrightarrow","xmapsto","xtofrom","xleftrightarrows","longleftrightarrows","xRightleftharpoons","longRightleftharpoons","xLeftrightharpoons","longLeftrightharpoons"],"[:auto]{:auto}",{createAtom:a=>{var y,z,ie,le,ve;return new jc(_e(Xe({},a),{svgBody:a.command.slice(1),above:((z=an((y=a.args)==null?void 0:y[1]))==null?void 0:z.length)===0?void 0:an((ie=a.args)==null?void 0:ie[1]),below:(ve=an((le=a.args)==null?void 0:le[0]))!=null?ve:null,skipBoundary:!1,supsubPlacement:"over-under",paddedBody:!0,paddedLabels:!0,boxType:"rel"}))},serialize:(a,y)=>a.command+(a.hasEmptyBranch("below")?"":`[${a.belowToLatex(y)}]`)+`{${a.aboveToLatex(y)}}${a.supsubToLatex(y)}`}),Un(["arccos","arcsin","arctan","arctg","arcctg","arg","ch","cos","cosh","cot","cotg","coth","ctg","cth","csc","cosec","deg","dim","exp","gcd","hom","inf","ker","lb","lg","ln","log","Pr","sec","sh","sin","sinh","sup","tan","tanh","tg","th","arcsec","arccsc","arsinh","arcosh","artanh","arcsech","arccsch"],"",{isFunction:!0,ifMode:"math",createAtom:a=>new zf(a.command.slice(1),_e(Xe({},a),{limits:"adjacent",isFunction:!0,variant:"main",variantStyle:"up"}))}),Un(["liminf","limsup"],"",{ifMode:"math",createAtom:a=>new zf({"\\liminf":"lim inf","\\limsup":"lim sup"}[a.command],_e(Xe({},a),{limits:"over-under",variant:"main"}))}),Un(["lim","mod"],"",{ifMode:"math",createAtom:a=>new zf(a.command.slice(1),_e(Xe({},a),{limits:"over-under",variant:"main"}))}),Un(["det","max","min"],"",{ifMode:"math",isFunction:!0,createAtom:a=>new zf(a.command.slice(1),_e(Xe({},a),{limits:"over-under",isFunction:!0,variant:"main"}))}),Un(["ang"],"{:math}",{ifMode:"math",createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),serialize:(a,y)=>`\\ang{${a.bodyToLatex(y)}}`,render:(a,y)=>{const z=a.createBox(y),ie=z.caret;z.caret=void 0;const le=new oo("\xB0",{style:_e(Xe({},a.style),{variant:"normal",variantStyle:"up"})});return new oo([z,le],{type:"inner",isSelected:a.isSelected,caret:ie})}}),Un("sqrt","[index:auto]{radicand:expression}",{ifMode:"math",createAtom:a=>new gf(_e(Xe({},a),{body:an(a.args[1]),index:a.args[0]?an(a.args[0]):void 0}))}),Un(["frac","dfrac","tfrac","cfrac","binom","dbinom","tbinom"],"{:expression}{:expression}",{ifMode:"math",createAtom:a=>{const y=Xe({},a),z=a.command,ie=a.args;switch(z){case"\\dfrac":case"\\frac":case"\\tfrac":y.hasBarLine=!0;break;case"\\atopfrac":y.hasBarLine=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":y.hasBarLine=!1,y.leftDelim="(",y.rightDelim=")";break;case"\\cfrac":y.hasBarLine=!0,y.continuousFraction=!0;break;default:}switch(z){case"\\dfrac":case"\\dbinom":y.mathstyleName="displaystyle";break;case"\\tfrac":case"\\tbinom":y.mathstyleName="textstyle";break;default:}return new wu(ie[0]?an(ie[0]):[new ml],ie[1]?an(ie[1]):[new ml],y)},serialize:(a,y)=>{const z=a.aboveToLatex(y),ie=a.belowToLatex(y);return/^[0-9]$/.test(z)&&/^[0-9]$/.test(ie)?`${a.command}${z}${ie}`:Ec(a.command,z,ie)}}),Un(["brace","brack"],"",{infix:!0,createAtom:a=>new wu(an(a.args[0]),an(a.args[1]),_e(Xe({},a),{hasBarLine:!1,leftDelim:a.command==="\\brace"?"\\lbrace":"\\lbrack",rightDelim:a.command==="\\brace"?"\\rbrace":"\\rbrack"})),serialize:(a,y)=>ju([a.aboveToLatex(y),a.command,a.belowToLatex(y)])}),Un(["over","atop","choose"],"",{infix:!0,createAtom:a=>{let y,z;const ie=a.args;return a.command==="\\choose"&&(y="(",z=")"),new wu(an(ie[0]),an(ie[1]),_e(Xe({},a),{hasBarLine:a.command==="\\over",leftDelim:y,rightDelim:z}))},serialize:(a,y)=>ju([a.aboveToLatex(y),a.command,a.belowToLatex(y)])}),Un(["overwithdelims","atopwithdelims"],"{numer:auto}{denom:auto}{left-delim:delim}{right-delim:delim}",{infix:!0,createAtom:a=>{var y,z;const ie=a.args;return new wu(an(ie[0]),an(ie[1]),_e(Xe({},a),{leftDelim:(y=ie[2])!=null?y:".",rightDelim:(z=ie[3])!=null?z:".",hasBarLine:!1}))},serialize:(a,y)=>`${a.aboveToLatex(y)} ${a.command}${a.leftDelim}${a.rightDelim}${a.belowToLatex(y)}`}),Un("pdiff","{numerator}{denominator}",{ifMode:"math",createAtom:a=>new wu(an(a.args[0]),an(a.args[1]),_e(Xe({},a),{hasBarLine:!0,numerPrefix:"\u2202",denomPrefix:"\u2202"}))}),Un(["sum","prod","bigcup","bigcap","coprod","bigvee","bigwedge","biguplus","bigotimes","bigoplus","bigodot","bigsqcup","intop"],"",{ifMode:"math",createAtom:a=>new as({coprod:"\u2210",bigvee:"\u22C1",bigwedge:"\u22C0",biguplus:"\u2A04",bigcap:"\u22C2",bigcup:"\u22C3",intop:"\u222B",prod:"\u220F",sum:"\u2211",bigotimes:"\u2A02",bigoplus:"\u2A01",bigodot:"\u2A00",bigsqcup:"\u2A06",smallint:"\u222B"}[a.command.slice(1)],_e(Xe({},a),{limits:"auto",variant:"main"}))}),Un("smallint","",{ifMode:"math",createAtom:a=>new zf("\u222B",_e(Xe({},a),{limits:"adjacent",variant:"main"}))});var Yv={int:"\u222B",iint:"\u222C",iiint:"\u222D",oint:"\u222E",oiint:"\u222F",oiiint:"\u2230",intclockwise:"\u2231",varointclockwise:"\u2232",ointctrclockwise:"\u2233",intctrclockwise:"\u2A11",sqcup:"\u2294",sqcap:"\u2293",uplus:"\u228E",wr:"\u2240",amalg:"\u2A3F",Cap:"\u22D2",Cup:"\u22D3",doublecap:"\u22D2",doublecup:"\u22D3"};Un(Object.keys(Yv),"",{ifMode:"math",createAtom:a=>{const y=a.command,z=Yv[y.slice(1)];return new as(z,_e(Xe({},a),{limits:"adjacent",variant:{"\u22D2":"ams","\u22D3":"ams"}[z]}))}}),Un(["Re","Im"],"",{ifMode:"math",createAtom:a=>new zf({"\\Re":"\u211C","\\Im":"\u2111"}[a.command],_e(Xe({},a),{limits:"adjacent",isFunction:!0,variant:"fraktur"}))}),Un("middle","{:delim}",{ifMode:"math",createAtom:a=>{var y;return new Bo(_e(Xe({},a),{delim:(y=a.args[0])!=null?y:"|",size:1}))}}),Un("the","{:value}",{createAtom:a=>new ga(_e(Xe({},a),{captureSelection:!0,verbatimLatex:null})),render:(a,y)=>{var z;const ie=new uc({parent:y},a.style);let le="";a.isSelected&&(le+=" ML__selected");const ve=ie.evaluate(a.args[0]);return new oo(((z=Vc(ve))!=null?z:"").split("").map(be=>new oo(be,{type:"ord",classes:le,mode:a.mode,isSelected:a.isSelected,style:Xe({variant:"main"},a.style)})),{type:"lift",style:a.style,caret:a.caret,isSelected:a.isSelected,classes:le}).wrap(ie)},serialize:a=>{var y;return`\\the${(y=Vc(a.args[0]))!=null?y:"\\relax"}`}}),Un("mathtip","{:auto}{:math}",{createAtom:a=>new Uf(_e(Xe({},a),{body:an(a.args[0]),tooltip:an(a.args[1]),content:"math"})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\texttip{${a.bodyToLatex(y)}}{${ga.serialize([a.tooltip],_e(Xe({},y),{defaultMode:"math"}))}}`}),Un("texttip","{:auto}{:text}",{createAtom:a=>new Uf(_e(Xe({},a),{body:an(a.args[0]),tooltip:an(a.args[1]),content:"text"})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\texttip{${a.bodyToLatex(y)}}{${ga.serialize([a.tooltip],_e(Xe({},y),{defaultMode:"text"}))}}`}),Un("error","{:math}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),serialize:(a,y)=>`\\error{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__error"})}),Un("ensuremath","{:math}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),serialize:(a,y)=>`${a.command}{${a.bodyToLatex(_e(Xe({},y),{defaultMode:"math"}))}}`}),Un("color","{:value}",{applyStyle:(a,y,z)=>{var ie,le;return{verbatimColor:(ie=Vc(y[0]))!=null?ie:void 0,color:z.toColor((le=y[0])!=null?le:{string:"red"})}}}),Un("textcolor","{:value}{content:auto*}",{applyStyle:(a,y,z)=>{var ie,le;return{verbatimColor:(ie=Vc(y[0]))!=null?ie:void 0,color:z.toColor((le=y[0])!=null?le:{string:"red"})}}}),Un("boxed","{content:math}",{createAtom:a=>new pd(_e(Xe({},a),{body:an(a.args[0]),framecolor:{string:"black"}}))}),Un("colorbox","{:value}{:text*}",{applyStyle:(a,y,z)=>{var ie,le;return{verbatimBackgroundColor:(ie=Vc(y[0]))!=null?ie:void 0,backgroundColor:z.toBackgroundColor((le=y[0])!=null?le:{string:"yellow"})}}}),Un("fcolorbox","{frame-color:value}{background-color:value}{content:text}",{applyMode:"text",createAtom:a=>{var y,z;return new pd(_e(Xe({},a),{body:an(a.args[2]),framecolor:(y=a.args[0])!=null?y:{string:"blue"},backgroundcolor:(z=a.args[1])!=null?z:{string:"yellow"}}))},serialize:(a,y)=>{var z,ie;return y.skipStyles?a.bodyToLatex(_e(Xe({},y),{defaultMode:"text"})):Ec(a.command,(z=Vc(a.framecolor))!=null?z:"",(ie=Vc(a.backgroundcolor))!=null?ie:"",a.bodyToLatex(_e(Xe({},y),{defaultMode:"text"})))}}),Un("bbox","[:bbox]{body:auto}",{createAtom:a=>{var y;const z=a.args[0],ie=an(a.args[1]);return z?new pd(_e(Xe({},a),{body:ie,padding:z.padding,border:z.border,backgroundcolor:(y=z.backgroundcolor)!=null?y:void 0})):new pd(_e(Xe({},a),{body:ie}))},serialize:(a,y)=>{var z,ie;if(y.skipStyles)return a.bodyToLatex(y);let le=a.command;if(Number.isFinite(a.padding)||a.border!==void 0||a.backgroundcolor!==void 0){const ve=[];a.padding&&ve.push((z=Vc(a.padding))!=null?z:""),a.border&&ve.push(`border: ${a.border}`),a.backgroundcolor&&ve.push((ie=Vc(a.backgroundcolor))!=null?ie:""),le+=`[${ve.join(",")}]`}return Ec(le,a.bodyToLatex(y))}}),Un(["displaystyle","textstyle","scriptstyle","scriptscriptstyle"],"{:rest}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),render:(a,y)=>{const z=new uc({parent:y,mathstyle:a.command.slice(1)},a.style),ie=ga.createBox(z,a.body,{type:"lift"});return a.caret&&(ie.caret=a.caret),a.bind(y,ie)},serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`{${ju([a.command,a.bodyToLatex(y)])}}`}),Un(["tiny","scriptsize","footnotesize","small","normalsize","large","Large","LARGE","huge","Huge"],"",{applyStyle:a=>({fontSize:{"\\tiny":1,"\\scriptsize":2,"\\footnotesize":3,"\\small":4,"\\normalsize":5,"\\large":6,"\\Large":7,"\\LARGE":8,"\\huge":9,"\\Huge":10}[a]})}),Un("fontseries","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var z;return{fontSeries:(z=y[0])!=null?z:"auto"}}}),Un("fontshape","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var z;return{fontShape:(z=y[0])!=null?z:"auto"}}}),Un("fontfamily","{:string}",{ifMode:"text",applyStyle:(a,y)=>{var z;return{fontFamily:(z=y[0])!=null?z:"roman"}}}),Un("selectfont","",{ifMode:"text",applyStyle:()=>({})}),Un("bf","{:rest}",{applyStyle:()=>({fontSeries:"b",fontShape:"n",fontFamily:"roman"})}),Un(["boldsymbol","bm"],"{:math}",{applyMode:"math",createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),serialize:(a,y)=>`${a.command}{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__boldsymbol"})}),Un("bold","{:math*}",{applyMode:"math",applyStyle:()=>({variantStyle:"bold"})}),Un("bfseries","{:rest}",{applyMode:"text",applyStyle:()=>({fontSeries:"b"})}),Un("mdseries","{:rest}",{applyMode:"text",applyStyle:()=>({fontSeries:"m"})}),Un("upshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"n"})}),Un("slshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"sl"})}),Un("scshape","{:rest}",{applyMode:"text",applyStyle:()=>({fontShape:"sc"})}),Un("textbf","{:text*}",{applyMode:"text",applyStyle:()=>({fontSeries:"b"})}),Un("textmd","{:text*}",{applyMode:"text",applyStyle:()=>({fontSeries:"m"})}),Un("textup","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"n"})}),Un("textnormal","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"n",fontSeries:"m"})}),Un("textsl","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"sl"})}),Un("textit","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"it"})}),Un("textsc","{:text*}",{applyMode:"text",applyStyle:()=>({fontShape:"sc"})}),Un("textrm","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"roman"})}),Un("textsf","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"sans-serif"})}),Un("texttt","{:text*}",{applyMode:"text",applyStyle:()=>({fontFamily:"monospace"})}),Un("mathbf","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"bold"})}),Un("mathit","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"main",variantStyle:"italic"})}),Un("mathnormal","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"italic"})}),Un("mathbfit","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"main",variantStyle:"bolditalic"})}),Un("mathrm","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"normal",variantStyle:"up"})}),Un("mathsf","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"sans-serif",variantStyle:"up"})}),Un("mathtt","{:math*}",{applyMode:"math",applyStyle:()=>({variant:"monospace",variantStyle:"up"})}),Un("it","{:rest}",{applyStyle:()=>({fontSeries:"m",fontShape:"it",fontFamily:"roman",variantStyle:"italic"})}),Un("rmfamily","",{applyStyle:()=>({fontFamily:"roman"})}),Un("sffamily","",{applyStyle:()=>({fontFamily:"sans-serif"})}),Un("ttfamily","",{applyStyle:()=>({fontFamily:"monospace"})}),Un(["Bbb","mathbb"],"{:math*}",{applyStyle:()=>({variant:"double-struck",variantStyle:"up"})}),Un(["frak","mathfrak"],"{:math*}",{applyStyle:()=>({variant:"fraktur",variantStyle:"up"})}),Un("mathcal","{:math*}",{applyStyle:()=>({variant:"calligraphic",variantStyle:"up"})}),Un("mathscr","{:math*}",{applyStyle:()=>({variant:"script",variantStyle:"up"})}),Un("mbox","{:text}",{ifMode:"math",createAtom:a=>new ga(_e(Xe({},a),{type:"mord",body:an(a.args[0]),mode:"math"})),serialize:(a,y)=>Ec("\\mbox",a.bodyToLatex(_e(Xe({},y),{defaultMode:"text"})))}),Un("text","{:text}",{ifMode:"math",applyMode:"text"}),Un(["class","htmlClass"],"{name:string}{content:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[1])})),serialize:(a,y)=>!a.args[0]||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`,render:(a,y)=>{var z;return a.createBox(y,{classes:(z=a.args[0])!=null?z:""})}}),Un(["cssId","htmlId"],"{id:string}{content:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[1])})),serialize:(a,y)=>{var z;return!((z=a.args)!=null&&z[0])||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var z;const ie=a.createBox(y);return ie.cssId=(z=a.args[0])!=null?z:"",ie}}),Un("htmlData","{data:string}{content:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[1])})),serialize:(a,y)=>{var z;return!((z=a.args)!=null&&z[0])||y.skipStyles?a.bodyToLatex(y):`\\htmlData{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var z;const ie=a.createBox(y);return ie.htmlData=(z=a.args[0])!=null?z:"",ie}}),Un(["style","htmlStyle"],"{data:string}{content:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[1])})),serialize:(a,y)=>{var z;return!((z=a.args)!=null&&z[0])||y.skipStyles?a.bodyToLatex(y):`${a.command}{${a.args[0]}}{${a.bodyToLatex(y)}}`},render:(a,y)=>{var z;const ie=a.createBox(y);return ie.htmlStyle=(z=a.args[0])!=null?z:"",ie}}),Un("em","{:rest}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`{\\em ${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__emph",boxType:"lift"})}),Un("emph","{:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[1])})),serialize:(a,y)=>y.skipStyles?a.bodyToLatex(y):`\\emph{${a.bodyToLatex(y)}}`,render:(a,y)=>a.createBox(y,{classes:"ML__emph",boxType:"lift"})});var mm={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}};Un(["bigl","Bigl","biggl","Biggl","bigr","Bigr","biggr","Biggr","bigm","Bigm","biggm","Biggm","big","Big","bigg","Bigg"],"{:delim}",{createAtom:a=>{var y;return new Qo(_e(Xe({},a),{delim:(y=a.args[0])!=null?y:".",size:mm[a.command].size,delimType:mm[a.command].mclass}))}}),Un(["hspace","hspace*"],"{width:value}",{createAtom:a=>{var y;return new wd(_e(Xe({},a),{width:(y=a.args[0])!=null?y:{dimension:0}}))}}),Un(["mkern","kern","mskip","hskip","mspace"],"{width:value}",{createAtom:a=>{var y;return new wd(_e(Xe({},a),{width:(y=a.args[0])!=null?y:{dimension:0}}))}}),Un("mathchoice","{:math}{:math}{:math}{:math}",{createAtom:a=>new ga(a),render:(a,y)=>{let z=0;const ie=y.mathstyle.id;(ie===th||ie===qd)&&(z=1),(ie===au||ie===id)&&(z=2),(ie===xd||ie===ad)&&(z=3);const le=an(a.args[z]);return ga.createBox(y,le)},serialize:(a,y)=>`\\mathchoice{${ga.serialize(a.args[0],y)}}{${ga.serialize(a.args[1],y)}}{${ga.serialize(a.args[2],y)}}{${ga.serialize(a.args[3],y)}}`}),Un("mathop","{:auto}",{createAtom:a=>new ga(_e(Xe({},a),{type:"mop",body:an(a.args[0]),limits:"over-under",isFunction:!0,captureSelection:!0})),render:(a,y)=>{var z;let ie=ga.createBox(y,a.body);if(a.superscript||a.subscript){const le=(z=a.subsupPlacement)!=null?z:"auto";ie=le==="over-under"||le==="auto"&&y.isDisplayStyle?a.attachLimits(y,{base:ie}):a.attachSupsub(y,{base:ie})}return new oo(a.bind(y,ie),{type:"op",isSelected:a.isSelected,classes:"op-group"})},serialize:(a,y)=>{const z=[Ec(a.command,a.bodyToLatex(y))];return a.explicitSubsupPlacement&&(a.subsupPlacement==="over-under"&&z.push("\\limits"),a.subsupPlacement==="adjacent"&&z.push("\\nolimits"),a.subsupPlacement==="auto"&&z.push("\\displaylimits")),z.push(a.supsubToLatex(y)),ju(z)}}),Un(["mathbin","mathrel","mathopen","mathclose","mathpunct","mathord","mathinner"],"{:auto}",{createAtom:a=>new ga(_e(Xe({},a),{type:{"\\mathbin":"mbin","\\mathrel":"mrel","\\mathopen":"mopen","\\mathclose":"mclose","\\mathpunct":"mpunct","\\mathord":"mord","\\mathinner":"minner"}[a.command],body:an(a.args[0])}))}),Un(["operatorname","operatorname*"],"{operator:math}",{createAtom:a=>{const y=an(a.args[0]).map(z=>{var ie;return z.type!=="first"&&(z.type="mord",z.value=(ie={"\u2217":"*","\u2212":"-"}[z.value])!=null?ie:z.value,z.isFunction=!1,!z.style.variant&&!z.style.variantStyle&&(z.style.variant="main",z.style.variantStyle="up")),z});return new ga(_e(Xe({},a),{type:"mop",body:y,isFunction:!0,limits:a.command==="\\operatorname"?"adjacent":"over-under"}))},render:(a,y)=>{var z;let ie=ga.createBox(y,a.body);if(a.superscript||a.subscript){const le=(z=a.subsupPlacement)!=null?z:"auto";ie=le==="over-under"||le==="auto"&&y.isDisplayStyle?a.attachLimits(y,{base:ie}):a.attachSupsub(y,{base:ie})}return a.caret&&(ie.caret=a.caret),new oo(a.bind(y,ie),{type:"op",isSelected:a.isSelected,classes:"op-group"})},serialize:(a,y)=>{const z=[Ec(a.command,a.bodyToLatex(y))];return a.explicitSubsupPlacement&&(a.subsupPlacement==="over-under"&&z.push("\\limits"),a.subsupPlacement==="adjacent"&&z.push("\\nolimits"),a.subsupPlacement==="auto"&&z.push("\\displaylimits")),z.push(a.supsubToLatex(y)),ju(z)}}),Un(["char","unicode"],"{charcode:value}",{createAtom:a=>new ga(_e(Xe({},a),{type:a.mode==="text"?"text":"mord"})),serialize:a=>{var y;return`${a.command}${Vc((y=a.args[0])!=null?y:{number:10067,base:"hexadecimal"})}`},render:(a,y)=>{let z=y.evaluate(a.args[0]);return(!z||!("number"in z))&&(z={number:10067,base:"hexadecimal"}),a.value=String.fromCodePoint(z.number),a.createBox(y)}}),Un("rule","[raise:value]{width:value}{thickness:value}",{createAtom:a=>new ga(a),render:(a,y)=>{var z,ie,le;const ve=new uc({parent:y,mathstyle:"textstyle"},a.style),be=ve.toEm((z=a.args[0])!=null?z:{dimension:0}),Ne=ve.toEm((ie=a.args[1])!=null?ie:{dimension:10}),ze=ve.toEm((le=a.args[2])!=null?le:{dimension:10}),Ge=new oo(null,{classes:"rule",type:"ord"});return Ge.width=Ne,Ge.height=ze+be,Ge.depth=-be,Ge.setStyle("border-right-width",Ne,"em"),Ge.setStyle("border-top-width",ze,"em"),Ge.setStyle("border-color",a.style.color),Ge.setStyle("vertical-align",be,"em"),a.isSelected&&Ge.setStyle("opacity","50%"),a.bind(ve,Ge),a.caret&&(Ge.caret=a.caret),Ge.wrap(y)},serialize:a=>`\\rule${a.args[0]?`[${Vc(a.args[0])}]`:""}{${Vc(a.args[1])}}{${Vc(a.args[2])}}`}),Un(["overline","underline"],"{:auto}",{createAtom:a=>new ga(_e(Xe({},a),{body:an(a.args[0])})),render:(a,y)=>{const z=a.command.substring(1),ie=new uc({parent:y,mathstyle:"cramp"},a.style),le=ga.createBox(ie,a.body);if(!le)return null;const ve=ie.metrics.defaultRuleThickness/ie.scalingFactor,be=new oo(null,{classes:z+"-line"});be.height=ve,be.maxFontSize=ve*1.125*ie.scalingFactor;let Ne;return z==="overline"?Ne=new yc({shift:0,children:[{box:le},3*ve,{box:be},ve]}):Ne=new yc({top:le.height,children:[ve,{box:be},3*ve,{box:le}]}),a.caret&&(Ne.caret=a.caret),new oo(Ne,{classes:z,type:"ignore"})}}),Un("overset","{:auto}{base:auto}",{createAtom:a=>{const y=an(a.args[1]);return new jc(_e(Xe({},a),{above:an(a.args[0]),body:y,skipBoundary:!1,boxType:Yd(y)}))},serialize:(a,y)=>Ec(a.command,a.aboveToLatex(y),a.bodyToLatex(y))}),Un("underset","{:auto}{base:auto}",{createAtom:a=>{const y=an(a.args[1]);return new jc(_e(Xe({},a),{below:an(a.args[0]),body:y,skipBoundary:!1,boxType:Yd(y)}))},serialize:(a,y)=>Ec(a.command,a.belowToLatex(y),a.bodyToLatex(y))}),Un("overunderset","{above:auto}{below:auto}{base:auto}",{createAtom:a=>{const y=an(a.args[2]);return new jc(_e(Xe({},a),{above:an(a.args[0]),below:an(a.args[1]),body:y,skipBoundary:!1,boxType:Yd(y)}))},serialize:(a,y)=>Ec(a.command,a.belowToLatex(y),a.bodyToLatex(y))}),Un(["stackrel","stackbin"],"[below:auto]{above:auto}{base:auto}",{createAtom:a=>new jc(_e(Xe({},a),{body:an(a.args[2]),above:an(a.args[1]),below:an(a.args[0]),skipBoundary:!1,boxType:a.command==="\\stackrel"?"rel":"bin"})),serialize:(a,y)=>Ec(a.command,a.aboveToLatex(y),a.bodyToLatex(y))}),Un("smash","[:string]{:auto}",{createAtom:a=>{var y,z,ie,le;return new nf(_e(Xe({},a),{body:an(a.args[1]),smashHeight:(z=(y=a.args[0])==null?void 0:y.includes("t"))!=null?z:!0,smashDepth:(le=(ie=a.args[0])==null?void 0:ie.includes("b"))!=null?le:!0}))}}),Un(["vphantom"],"{:auto}",{createAtom:a=>new nf(_e(Xe({},a),{body:an(a.args[0]),isInvisible:!0,smashWidth:!0}))}),Un(["hphantom"],"{:auto}",{createAtom:a=>new nf(_e(Xe({},a),{body:an(a.args[0]),isInvisible:!0,smashHeight:!0,smashDepth:!0}))}),Un(["phantom"],"{:auto}",{createAtom:a=>new nf(_e(Xe({},a),{body:an(a.args[0]),isInvisible:!0}))}),Un("not","{:math}",{createAtom:a=>{const y=an(a.args[0]);return y.length===0?new ga(_e(Xe({},a),{type:"mrel",value:"\uE020"})):new ga(_e(Xe({},a),{body:[new Yc(_e(Xe({},a),{body:"\uE020",align:"right"})),...y],captureSelection:!0}))},serialize:(a,y)=>{const z=a.args[0],ie=z&&typeof z=="object"&&"group"in z;return a.value!=="\uE020"?ie?`\\not{${ga.serialize(z.group,y)}}`:`\\not${ga.serialize(z,y)}`:ie?"\\not{}":"\\not"},render:(a,y)=>{if(a.value)return a.createBox(y);const ie=a.args[0]&&typeof a.args[0]=="object"&&"group"in a.args[0]?"ord":Yd(an(a.args[0])),le=ga.createBox(y,a.body,{type:ie});return a.caret&&(le.caret=a.caret),a.bind(y,le)}}),Un(["ne","neq"],"",{createAtom:a=>new ga(_e(Xe({},a),{type:"mrel",body:[new Yc(_e(Xe({},a),{body:"\uE020",align:"right",boxType:"rel"})),new ga(_e(Xe({},a),{value:"="}))],captureSelection:!0})),serialize:a=>a.command}),Un("rlap","{:auto}",{createAtom:a=>new Yc(_e(Xe({},a),{body:an(a.args[0]),align:"right"}))}),Un("llap","{:auto}",{createAtom:a=>new Yc(_e(Xe({},a),{body:an(a.args[0]),align:"left"}))}),Un("mathrlap","{:math}",{createAtom:a=>new Yc(_e(Xe({},a),{body:an(a.args[0]),align:"left"}))}),Un("mathllap","{:math}",{createAtom:a=>new Yc(_e(Xe({},a),{body:an(a.args[0]),align:"left"}))}),Un("raisebox","{:value}{:text}",{createAtom:a=>{var y;return new pd(_e(Xe({},a),{body:an(a.args[1]),padding:{dimension:0},offset:(y=a.args[0])!=null?y:{dimension:0}}))},serialize:(a,y)=>{var z;return Ec("\\raisebox",(z=Vc(a.offset))!=null?z:"0pt",a.bodyToLatex(y))}}),Un("raise","{:value}{:auto}",{createAtom:a=>{var y;return new pd(_e(Xe({},a),{body:an(a.args[1]),padding:{dimension:0},offset:(y=a.args[0])!=null?y:{dimension:0}}))},serialize:(a,y)=>{var z;return Ec("\\raise",(z=Vc(a.offset))!=null?z:"0pt",a.bodyToLatex(y))}}),Un("lower","{:value}{:auto}",{createAtom:a=>{var y;return new pd(_e(Xe({},a),{body:an(a.args[1]),padding:{dimension:0},offset:(y=Qd(a.args[0],-1))!=null?y:{dimension:0}}))},serialize:(a,y)=>{var z,ie;return Ec("\\lower",(ie=Vc(Qd((z=a.offset)!=null?z:{dimension:0},-1)))!=null?ie:"0pt",a.bodyToLatex(y))}}),Xt("0123456789/@.?!"),wn(65,90),wn(97,122),Xt([["\\forall",8704],["\\exists",8707],["\\nexists",8708,"mord","ams"],["\\mid",8739,"mrel"],["\\top",8868],["\\bot",8869]]),Xt([["\\#",35],["\\&",38],["\\parallelogram",9649],["\\spadesuit",9824],["\\heartsuit",9825],["\\diamondsuit",9826],["\\clubsuit",9827],["\\flat",9837],["\\natural",9838],["\\sharp",9839]]),Xt([["\\backslash",92],["\\nabla",8711],["\\partial",8706],["\\ell",8467],["\\hbar",8463],["\\Q",81,"mord","double-struck"],["\\C",67,"mord","double-struck"],["\\P",80,"mord","double-struck"],["\\pounds",163],["\\euro",8364]]),Xt([["\\rightarrow",8594],["\\to",8594],["\\leftarrow",8592],["\\gets",8592],["\\Rightarrow",8658],["\\Leftarrow",8656],["\\longrightarrow",10230],["\\longleftarrow",10229],["\\Longrightarrow",10233],["\\implies",10233],["\\Longleftarrow",10232],["\\impliedby",10232],["\\longleftrightarrow",10231],["\\biconditional",10231],["\\Longleftrightarrow",10234],["\\mapsto",8614],["\\longmapsto",10236],["\\uparrow",8593],["\\downarrow",8595],["\\Uparrow",8657],["\\Downarrow",8659],["\\updownarrow",8597],["\\Updownarrow",8661],["\\hookrightarrow",8618],["\\hookleftarrow",8617],["\\rightharpoonup",8640],["\\leftharpoonup",8636],["\\rightharpoondown",8641],["\\leftharpoondown",8637],["\\searrow",8600],["\\nearrow",8599],["\\swarrow",8601],["\\nwarrow",8598],["\\originalof",8886],["\\laplace",8886],["\\imageof",8887],["\\Laplace",8887]],"mrel"),Xt([["\\mapsfrom",8612,"mrel"],["\\Mapsfrom",10502,"mrel"],["\\MapsTo",10503,"mrel"],["\\Yup",8516,"mord"],["\\lightning",8623,"mrel"],["\\leftarrowtriangle",8701,"mrel"],["\\rightarrowtriangle",8702,"mrel"],["\\leftrightarrowtriangle",8703,"mrel"],["\\boxdot",8865,"mbin"],["\\bigtriangleup",9651,"mbin"],["\\bigtriangledown",9661,"mbin"],["\\boxbar",9707,"mbin"],["\\Lbag",10181,"mopen"],["\\Rbag",10182,"mclose"],["\\llbracket",10214,"mopen"],["\\rrbracket",10215,"mclose"],["\\longmapsfrom",10235,"mrel"],["\\Longmapsfrom",10237,"mrel"],["\\Longmapsto",10238,"mrel"],["\\boxslash",10692,"mbin"],["\\boxbslash",10693,"mbin"],["\\boxast",10694,"mbin"],["\\boxcircle",10695,"mbin"],["\\boxbox",10696,"mbin"],["\\fatsemi",10783,"mop"],["\\leftslice",10918,"mrel"],["\\rightslice",10919,"mrel"],["\\interleave",10996,"mbin"],["\\biginterleave",11004,"mop"],["\\sslash",11005,"mbin"],["\\talloblong",11006,"mbin"]]),Xt([["\\lbrace",123,"mopen"],["\\rbrace",125,"mclose"],["\\lparen",40,"mopen"],["\\rparen",41,"mclose"],["\\langle",10216,"mopen"],["\\rangle",10217,"mclose"],["\\lfloor",8970,"mopen"],["\\rfloor",8971,"mclose"],["\\lceil",8968,"mopen"],["\\rceil",8969,"mclose"],["\\vert",8739],["\\lvert",8739,"mopen"],["\\rvert",8739,"mclose"],["\\|",8741],["\\Vert",8741],["\\mVert",8741],["\\lVert",8741,"mopen"],["\\rVert",8741,"mclose"],["\\lbrack",91,"mopen"],["\\rbrack",93,"mclose"],["\\{",123,"mopen"],["\\}",125,"mclose"],["(",40,"mopen"],[")",41,"mclose"],["[",91,"mopen"],["]",93,"mclose"],["\\ulcorner",9484,"mopen","ams"],["\\urcorner",9488,"mclose","ams"],["\\llcorner",9492,"mopen","ams"],["\\lrcorner",9496,"mclose","ams"],["\\lgroup",10222,"mopen"],["\\rgroup",10223,"mclose"],["\\lmoustache",9136,"mopen"],["\\rmoustache",9137,"mclose"]]),Xt([["\\dashrightarrow",8674],["\\dashleftarrow",8672],["\\Rrightarrow",8667],["\\Lleftarrow",8666],["\\leftrightarrows",8646],["\\rightleftarrows",8644],["\\curvearrowright",8631],["\\curvearrowleft",8630],["\\rightrightarrows",8649],["\\leftleftarrows",8647],["\\upuparrows",8648],["\\downdownarrows",8650],["\\vartriangle",9651],["\\triangleq",8796],["\\vartriangleleft",8882],["\\trianglelefteq",8884],["\\ntriangleleft",8938],["\\ntrianglelefteq",8940],["\\vartriangleright",8883],["\\trianglerighteq",8885],["\\ntriangleright",8939],["\\ntrianglerighteq",8941],["\\blacktriangleleft",9664],["\\blacktriangleright",9654],["\\leftarrowtail",8610],["\\rightarrowtail",8611],["\\looparrowright",8620],["\\looparrowleft",8619],["\\twoheadleftarrow",8606],["\\twoheadrightarrow",8608],["\\twoheadrightarrowtail",10518],["\\rightleftharpoons",8652],["\\leftrightharpoons",8651],["\\Rsh",8625],["\\Lsh",8624],["\\circlearrowright",8635],["\\circlearrowleft",8634],["\\restriction",8638],["\\upharpoonright",8638],["\\upharpoonleft",8639],["\\downharpoonright",8642],["\\downharpoonleft",8643],["\\rightsquigarrow",8669],["\\leadsto",8669],["\\leftrightsquigarrow",8621],["\\multimap",8888],["\\nleftarrow",8602],["\\nrightarrow",8603],["\\nRightarrow",8655],["\\nLeftarrow",8653],["\\nleftrightarrow",8622],["\\nLeftrightarrow",8654],["\\nvrightarrow",8696],["\\nvtwoheadrightarrow",10496],["\\nvrightarrowtail",10516],["\\nvtwoheadrightarrowtail",10519],["\\shortparallel",8741],["\\nless",8814],["\\nleqslant",57360],["\\lneq",10887],["\\lneqq",8808],["\\nleqq",57361],["\\lvertneqq",57356],["\\lnsim",8934],["\\lnapprox",10889],["\\nprec",8832],["\\npreceq",8928],["\\precnsim",8936],["\\precnapprox",10937],["\\nsim",8769],["\\nshortmid",57350],["\\nmid",8740],["\\nvdash",8876],["\\nvDash",8877],["\\ngtr",8815],["\\ngeqslant",57359],["\\ngeqq",57358],["\\gneq",10888],["\\gneqq",8809],["\\gvertneqq",57357],["\\gnsim",8935],["\\gnapprox",10890],["\\nsucc",8833],["\\nsucceq",8929],["\\succnsim",8937],["\\succnapprox",10938],["\\ncong",8774],["\\nshortparallel",57351],["\\nparallel",8742],["\\nVDash",8879],["\\nsupseteqq",57368],["\\supsetneq",8843],["\\varsupsetneq",57371],["\\supsetneqq",10956],["\\varsupsetneqq",57369],["\\nVdash",8878],["\\precneqq",10933],["\\succneqq",10934],["\\nsubseteqq",57366],["\\leqslant",10877],["\\geqslant",10878],["\\gtrsim",8819],["\\approxeq",8778],["\\thickapprox",8776],["\\lessapprox",10885],["\\gtrapprox",10886],["\\precapprox",10935],["\\succapprox",10936],["\\thicksim",8764],["\\succsim",8831],["\\precsim",8830],["\\backsim",8765],["\\eqsim",8770],["\\backsimeq",8909],["\\lesssim",8818],["\\nleq",8816],["\\ngeq",8817],["\\smallsmile",8995],["\\smallfrown",8994],["\\leqq",8806],["\\eqslantless",10901],["\\lll",8920],["\\lessgtr",8822],["\\lesseqgtr",8922],["\\lesseqqgtr",10891],["\\risingdotseq",8787],["\\fallingdotseq",8786],["\\subseteqq",10949],["\\Subset",8912],["\\sqsubset",8847],["\\preccurlyeq",8828],["\\curlyeqprec",8926],["\\vDash",8872],["\\Vvdash",8874],["\\bumpeq",8783],["\\Bumpeq",8782],["\\geqq",8807],["\\eqslantgtr",10902],["\\ggg",8921],["\\gtrless",8823],["\\gtreqless",8923],["\\gtreqqless",10892],["\\supseteqq",10950],["\\Supset",8913],["\\sqsupset",8848],["\\succcurlyeq",8829],["\\curlyeqsucc",8927],["\\Vdash",8873],["\\shortmid",8739],["\\between",8812],["\\pitchfork",8916],["\\varpropto",8733],["\\backepsilon",8717],["\\llless",8920],["\\gggtr",8921],["\\doteqdot",8785],["\\Doteq",8785],["\\eqcirc",8790],["\\circeq",8791],["\\therefore",8756],["\\because",8757]],"mrel","ams"),Xt([["+",43],["-",8722],["\u2212",8722],["\\pm",177],["\\mp",8723],["*",8727],["\\times",215],["\\div",247],["\\divides",8739],["\\cdot",8901],["\\cap",8745],["\\cup",8746],["\\setminus",8726],["\\land",8743],["\\wedge",8743],["\\lor",8744],["\\vee",8744],["\\circ",8728],["\\bigcirc",9711],["\\bullet",8729],["\\oplus",8853],["\\ominus",8854],["\\otimes",8855],["\\odot",8857],["\\oslash",8856],["\\bigtriangleup",9651],["\\bigtriangledown",9661],["\\triangleleft",9667],["\\triangleright",9657],["\\And",38],["\\dagger",8224],["\\dag",8224],["\\ddag",8225],["\\ddagger",8225],["\\ast",8727],["\\star",8902],["\\bigstar",9733],["\\diamond",8900]],"mbin"),Xt([["\\lhd",8882],["\\rhd",8883],["\\lessdot",8918],["\\gtrdot",8919],["\\ltimes",8905],["\\rtimes",8906],["\\leftthreetimes",8907],["\\rightthreetimes",8908],["\\intercal",8890],["\\dotplus",8724],["\\doublebarwedge",10846],["\\divideontimes",8903],["\\centerdot",8901],["\\smallsetminus",8726],["\\barwedge",8892],["\\veebar",8891],["\\nor",8891],["\\curlywedge",8911],["\\curlyvee",8910],["\\boxminus",8863],["\\boxplus",8862],["\\boxtimes",8864],["\\boxdot",8865],["\\circleddash",8861],["\\circledast",8859],["\\circledcirc",8858],["\\unlhd",8884],["\\unrhd",8885]],"mbin","ams"),Xt([["\\surd",8730],["\\infty",8734],["\\prime",8242],["\\doubleprime",8243],["\\angle",8736],["`",8216],["\\$",36],["\\%",37],["\\_",95],["\\alpha",945],["\\beta",946],["\\gamma",947],["\\delta",948],["\\epsilon",1013],["\\varepsilon",949],["\\zeta",950],["\\eta",951],["\\theta",952],["\\vartheta",977],["\\iota",953],["\\kappa",954],["\\varkappa",1008,"mord","ams"],["\\lambda",955],["\\mu",956],["\\nu",957],["\\xi",958],["\\omicron",111],["\\pi",960],["\\varpi",982],["\\rho",961],["\\varrho",1009],["\\sigma",963],["\\varsigma",962],["\\tau",964],["\\phi",981],["\\varphi",966],["\\upsilon",965],["\\chi",967],["\\psi",968],["\\omega",969],["\\Gamma",915],["\\Delta",916],["\\Theta",920],["\\Lambda",923],["\\Xi",926],["\\Pi",928],["\\Sigma",931],["\\Upsilon",933],["\\Phi",934],["\\Psi",936],["\\Omega",937],["\\digamma",989,"mord","ams"],["\\emptyset",8709]]),Xt([["=",61],["<",60],["\\lt",60],[">",62],["\\gt",62],["\\le",8804],["\\leq",8804],["\\ge",8805],["\\geq",8805],["\\ll",8810],["\\gg",8811],["\\coloneq",8788],["\\coloneqq",8788],["\\colonequals",8788],["\\measeq",8797],["\\eqdef",8798],["\\questeq",8799],[":",58],["\\cong",8773],["\\equiv",8801],["\\prec",8826],["\\preceq",10927],["\\succ",8827],["\\succeq",10928],["\\perp",8869],["\\propto",8733],["\\Colon",8759],["\\smile",8995],["\\frown",8994],["\\sim",8764],["\\doteq",8784],["\\bowtie",8904],["\\Join",8904],["\\asymp",8781],["\\sqsubseteq",8849],["\\sqsupseteq",8850],["\\approx",8776],["\\~",126],["\\leftrightarrow",8596],["\\Leftrightarrow",8660],["\\models",8872],["\\vdash",8866],["\\dashv",8867],["\\roundimplies",10608],["\\in",8712],["\\notin",8713],["\\ni",8715],["\\owns",8715],["\\subset",8834],["\\supset",8835],["\\subseteq",8838],["\\supseteq",8839],["\\differencedelta",8710],["\\mvert",8739],["\\parallel",8741],["\\simeq",8771]],"mrel"),Xt([["\\lnot",172],["\\neg",172],["\\triangle",9651],["\\subsetneq",8842],["\\varsubsetneq",57370],["\\subsetneqq",10955],["\\varsubsetneqq",57367],["\\nsubset",8836],["\\nsupset",8837],["\\nsubseteq",8840],["\\nsupseteq",8841]],"mrel","ams"),Xt([["\\wp",8472],["\\aleph",8501]]),Xt([["\\blacktriangle",9650],["\\hslash",8463],["\\Finv",8498],["\\Game",8513],["\\eth",240],["\\mho",8487],["\\Bbbk",107],["\\yen",165],["\\square",9633],["\\Box",9633],["\\blacksquare",9632],["\\circledS",9416],["\\circledR",174],["\\triangledown",9661],["\\blacktriangledown",9660],["\\checkmark",10003],["\\diagup",9585],["\\measuredangle",8737],["\\sphericalangle",8738],["\\backprime",8245],["\\backdoubleprime",8246],["\\Diamond",9674],["\\lozenge",9674],["\\blacklozenge",10731],["\\varnothing",8709],["\\complement",8705],["\\maltese",10016],["\\beth",8502],["\\daleth",8504],["\\gimel",8503]],"mord","ams"),Xt([["\\ ",160],["~",160]],"space"),Un(["!",",",":",";",">","enskip","enspace","quad","qquad"],"",{createAtom:a=>new wd(a)}),Un("space","",{createAtom:a=>new wd(a)}),Xt([["\\colon",58],["\\cdotp",8901],["\\vdots",8942,"mord"],["\\ldotp",46],[",",44],[";",59]],"mpunct"),Xt([["\\cdots",8943],["\\ddots",8945],["\\ldots",8230],["\\mathellipsis",8230]],"minner"),Xt([["\\/",47],["|",8739,"mord"],["\\imath",305],["\\jmath",567],["\\degree",176],["'",8242],['"',8221]]);var Jv="",Gg="";function Ug(a){return a.replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function nd(a,y){return!a||!y.generateID?"":` extid="${a}"`}function Am(a,y,z){var ie,le,ve,be,Ne,ze,Ge,lt,Tt,An,$n;let br=!1;y=y!=null?y:a.atoms.length;let Gi="",zo="",ji=a.atoms[a.index];const Za=(le=(ie=ji.style)==null?void 0:ie.variant)!=null?le:"",qo=(be=(ve=ji.style)==null?void 0:ve.variantStyle)!=null?be:"";let io="";if(Za||qo){const ql=fi(ji.value,(Ne=ji.style)==null?void 0:Ne.variant,(ze=ji.style)==null?void 0:ze.variantStyle);if(ql!==ji.value)return a.index+=1,Gi=`${ql}`,F0(Gi,a,z)||(a.mathML+=Gi,a.lastType="mi"),!0;io=(Ge={upnormal:"normal",boldnormal:"bold",italicmain:"italic",bolditalicmain:"bold-italic","updouble-struck":"double-struck","double-struck":"double-struck",boldfraktur:"bold-fraktur",calligraphic:"script",upcalligraphic:"script",script:"script",boldscript:"bold-script",boldcalligraphic:"bold-script",fraktur:"fraktur","upsans-serif":"sans-serif","boldsans-serif":"bold-sans-serif","italicsans-serif":"sans-serif-italic","bolditalicsans-serif":"sans-serif-bold-italic",monospace:"monospace"}[qo+Za])!=null?Ge:"",io=` mathvariant="${io}"`}const El={"\\exponentialE":"ⅇ","\\imaginaryI":"ⅈ","\\differentialD":"ⅆ","\\capitalDifferentialD":"ⅅ","\\alpha":"α","\\pi":"π","\\infty":"∞","\\forall":"∀","\\nexists":"∄","\\exists":"∃","\\hbar":"\u210F","\\cdotp":"\u22C5","\\ldots":"\u2026","\\cdots":"\u22EF","\\ddots":"\u22F1","\\vdots":"\u22EE","\\ldotp":"."};if(ji.command==="!")return a.index+=1,Gi="!",F0(Gi,a,z)||(a.mathML+=Gi,a.lastType="mo"),!0;if(El[ji.command]){a.index+=1;let ql=`${El[ji.command]}`;return(a.lastType==="mi"||a.lastType==="mn"||a.lastType==="mtext"||a.lastType==="fence")&&(ql=Gg+ql),F0(ql,a,z)||(a.mathML+=ql,a.lastType="mi"),!0}if(ji.command==="\\operatorname")zo=qp(ji.body),a.index+=1;else if(Za||qo)for(;a.index0){br=!0,Gi=`${zo}`;const ql=a.lastType;Gi.endsWith(">f")||Gi.endsWith(">g")?(Gi+=Jv,a.lastType="applyfunction"):a.lastType=/^(.*)<\/mo>$/.test(Gi)?"mo":"mi",F0(Gi,a,z)||((ql==="mi"||ql==="mn"||ql==="mtext"||ql==="fence")&&(Gi=Gg+Gi),a.mathML+=Gi)}return br}function Mv(a){return a.index${a}${Ne}${be}`:be?ze=`${a}${be}`:Ne&&(ze=`${a}${Ne}`),y.mathML+=ze,y.lastType="",!0}function ym(a,y,z){y=y!=null?y:a.atoms.length;const ie=a.index;let le="";for(;a.index0?(a.mathML+=`${le}`,a.lastType="mtext",!0):!1}function Jp(a,y,z){y=y!=null?y:a.atoms.length;const ie=a.index;let le="",ve=Zf(a);for(ve>=0&&ve"+le+"",ve<0&&Mv(a)&&(ve=a.index,a.index+=1),F0(le,a,z)||(a.mathML+=le,a.lastType="mn"),!0)}function bm(a,y,z){let ie=!1;y=y!=null?y:a.atoms.length;let le="",ve="";if(a.index",le+=Uh(a.atoms[ze],z),le+=Tc(a.atoms,z,ze+1,Ge),le+=Uh(a.atoms[Ge],z),le+="",a.index=Ge+1,(a.lastType==="mi"||a.lastType==="mn"||a.lastType==="mfrac"||a.lastType==="fence")&&(a.mathML+=Gg),F0(le,a,z)&&(ie=!0,a.lastType="",le=""),ve="fence")}return le.length>0&&(ie=!0,a.mathML+=le,a.lastType=ve),ie}function qv(a,y,z){let ie=!1;y=y!=null?y:a.atoms.length;let le="",ve="";const be=a.atoms[a.index];if(!be)return!1;const Ne={"\\ne":"≠","\\neq":"&neq;","\\pm":"±","\\times":"×","\\colon":":","\\vert":"|","\\Vert":"\u2225","\\mid":"\u2223","\\{":"{","\\}":"}","\\lbrace":"{","\\rbrace":"}","\\lbrack":"[","\\rbrack":"]","\\lparen":"(","\\rparen":")","\\langle":"\u27E8","\\rangle":"\u27E9","\\lfloor":"\u230A","\\rfloor":"\u230B","\\lceil":"\u2308","\\rceil":"\u2309"};if(Ne[be.command]){a.index+=1;const ze=`${Ne[be.command]}`;return F0(ze,a,z)||(a.mathML+=ze,a.lastType="mo"),!0}if(a.index"):be.superscript?(le+=""+ze,le+=Tc(be.superscript,z),le+=""):be.subscript&&(le+=""+ze,le+=Tc(be.subscript,z),le+=""),a.mathML+=le,a.lastType="mo",a.index+=1,!0}{const ze=a.atoms[a.index],Ge=ze.value==="\\operatorname",lt=Ge?'"+qp(ze.value)+"":Uh(ze,z);le+=lt,!Ge&&!/^(.*)<\/mo>$/.test(lt)?(le+=Jv,ve="applyfunction"):ve=Ge?"mi":"mo"}(a.lastType==="mi"||a.lastType==="mn")&&!/^(.*)<\/mo>$/.test(le)&&(le=Gg+le),a.index+=1}return le.length>0&&(ie=!0,F0(le,a,z)||(a.mathML+=le,a.lastType=ve)),ie}function Tc(a,y,z,ie){y!=null||(y={});const le={atoms:[],index:z!=null?z:0,mathML:"",lastType:""};if(typeof a=="number"||typeof a=="boolean")le.mathML=a.toString();else if(typeof a=="string")le.mathML=a;else if(a instanceof ga)le.mathML=Iv(a,y);else if(Array.isArray(a)){le.atoms=a;let ve=0;for(ie=ie||(a?a.length:0);le.index0&&le.atoms[le.index].type==="genfrac"&&(be=""+be),le.atoms[le.index].type==="genfrac"?le.lastType="mfrac":le.lastType="",le.index+=1,F0(be,le,y)?ve+=1:be.length>0&&(le.mathML+=be,ve+=1)}ve>1&&(le.mathML=""+le.mathML+"")}return le.mathML}function Uh(a,y){let z="";const ie=qp(a.value);return ie&&(z=""+ie+""),z}function qp(a){if(!a)return"";if(typeof a=="string")return Ug(a);if(!Array.isArray(a)&&typeof a.body=="string")return Ug(a.body);let y="";for(const z of a)typeof z.value=="string"&&(y+=z.value);return Ug(y)}function Iv(a,y){var z,ie,le,ve,be,Ne,ze,Ge,lt,Tt,An,$n,br,Gi,zo,ji,Za,qo,io,El,ql,zl;if(a.mode==="text")return`${a.value}`;const Bc={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",longleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",longrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",longrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xleftrightarrows:"\u21C4",xRightleftharpoons:"\u21CC",longRightleftharpoons:"\u21CC",xLeftrightharpoons:"\u21CB",longLeftrightharpoons:"\u21CB"},sd={"\\!":-3/18,"\\ ":6/18,"\\,":3/18,"\\:":4/18,"\\>":4/18,"\\;":5/18,"\\enspace":.5,"\\quad":1,"\\qquad":2,"\\enskip":.5};let gs="",i0="",rp,v0,Xf,a0,jh,dd;const{command:lf}=a;if(a.command==="\\error")return`${Tc(a.body,y)}`;const Vf={"\\vert":"|","\\Vert":"\u2225","\\mid":"\u2223","\\lbrack":"[","\\rbrack":"]","\\{":"{","\\}":"}","\\lbrace":"{","\\rbrace":"}","\\lparen":"(","\\rparen":")","\\langle":"\u27E8","\\rangle":"\u27E9","\\lfloor":"\u230A","\\rfloor":"\u230B","\\lceil":"\u2308","\\rceil":"\u2309"},ip={"\\vec":"⃗","\\acute":"´","\\grave":"`","\\dot":"˙","\\ddot":"¨","\\tilde":"~","\\bar":"¯","\\breve":"˘","\\check":"ˇ","\\hat":"^"};switch(a.type){case"first":break;case"group":case"root":gs=Tc(a.body,y);break;case"array":if((a.leftDelim&&a.leftDelim!=="."||a.rightDelim&&a.rightDelim!==".")&&(gs+="",a.leftDelim&&a.leftDelim!=="."&&(gs+=""+(Vf[a.leftDelim]||a.leftDelim)+"")),gs+="",rp=0;rp"+Tc(a.array[v0][rp],y)+"";gs+=""}gs+="",(a.leftDelim&&a.leftDelim!=="."||a.rightDelim&&a.rightDelim!==".")&&(a.rightDelim&&a.rightDelim!=="."&&(gs+=""+(Vf[a.leftDelim]||a.rightDelim)+""),gs+="");break;case"genfrac":(a.leftDelim||a.rightDelim)&&(gs+=""),a.leftDelim&&a.leftDelim!=="."&&(gs+=""+(Vf[a.leftDelim]||a.leftDelim)+""),a.hasBarLine?(gs+="",gs+=Tc(a.above,y)||" ",gs+=Tc(a.below,y)||" ",gs+=""):(gs+="",gs+=""+Tc(a.above,y)+"",gs+=""+Tc(a.below,y)+"",gs+=""),a.rightDelim&&a.rightDelim!=="."&&(gs+=""+(Vf[a.rightDelim]||a.rightDelim)+""),(a.leftDelim||a.rightDelim)&&(gs+="");break;case"surd":a.hasEmptyBranch("above")?(gs+="",gs+=Tc(a.body,y),gs+=""):(gs+="",gs+=Tc(a.body,y),gs+=Tc(a.above,y),gs+="");break;case"leftright":const ap=a,op=ap.leftDelim;gs="",op&&op!=="."&&(gs+=`${(z=Vf[op])!=null?z:op}`),a.body&&(gs+=Tc(a.body,y));const sp=ap.matchingRightDelim();sp&&sp!=="."&&(gs+=`${(ie=Vf[sp])!=null?ie:sp}`),gs+="";break;case"sizeddelim":case"delim":gs+=`${Vf[a.value]||a.value}`;break;case"accent":gs+='",gs+=Tc(a.body,y),gs+=""+(ip[lf]||a.accent)+"",gs+="";break;case"line":case"overlap":break;case"overunder":jh=a.above,a0=a.below,(a.svgAbove||jh)&&(a.svgBelow||a0)?dd=a.body:jh&&jh.length>0?(dd=a.body,(ve=(le=a.body)==null?void 0:le[0])!=null&&ve.below?(a0=a.body[0].below,dd=a.body[0].body):((Ne=(be=a.body)==null?void 0:be[0])==null?void 0:Ne.type)==="first"&&((Ge=(ze=a.body)==null?void 0:ze[1])!=null&&Ge.below)&&(a0=a.body[1].below,dd=a.body[1].body)):a0&&a0.length>0&&(dd=a.body,(Tt=(lt=a.body)==null?void 0:lt[0])!=null&&Tt.above?(jh=a.body[0].above,dd=a.body[0].body):(($n=(An=a.body)==null?void 0:An[0])==null?void 0:$n.type)==="first"&&((Gi=(br=a.body)==null?void 0:br[1])!=null&&Gi.above)&&(jh=a.body[1].overscript,dd=a.body[1].body)),(a.svgAbove||jh)&&(a.svgBelow||a0)?(gs+=``,gs+=(zo=Bc[a.svgBody])!=null?zo:Tc(dd,y),gs+=(ji=Bc[a.svgBelow])!=null?ji:Tc(a0,y),gs+=(Za=Bc[a.svgAbove])!=null?Za:Tc(jh,y),gs+=""):a.svgAbove||jh?(gs+=``+((qo=Bc[a.svgBody])!=null?qo:Tc(dd,y)),gs+=(io=Bc[a.svgAbove])!=null?io:Tc(jh,y),gs+=""):(a.svgBelow||a0)&&(gs+=``+((El=Bc[a.svgBody])!=null?El:Tc(dd,y)),gs+=(ql=Bc[a.svgBelow])!=null?ql:Tc(a0,y),gs+="");break;case"placeholder":gs+="?";break;case"mord":{gs=typeof a.value=="string"?a.value:lf,lf==="\\char"?gs="&#x"+("000000"+a.args[0].number.toString(16)).slice(-4)+";":gs.length>0&&gs.startsWith("\\")&&(typeof a.value=="string"&&a.value.charCodeAt(0)>255?gs="&#x"+("000000"+a.value.charCodeAt(0).toString(16)).slice(-4)+";":typeof a.value=="string"?gs=a.value.charAt(0):(console.error("Did not expect this"),gs=""));const L0=/\d/.test(gs)?"mn":"mi";gs=`<${L0}${nd(a.id,y)}>${Ug(gs)}`;break}case"mbin":case"mrel":case"minner":gs=Uh(a,y);break;case"mpunct":gs='"+lf+"";break;case"mop":case"operator":case"extensible-symbol":a.body!=="\u200B"&&(gs="",gs+=lf==="\\operatorname"?a.body:lf||a.body,gs+="");break;case"box":gs='"+Tc(a.body,y)+"";break;case"spacing":gs+='';break;case"enclose":gs=''+Tc(a.body,y)+"";break;case"prompt":gs=''+Tc(a.body,y)+"";break;case"space":gs+=" ";break;case"subsup":break;case"phantom":break;case"composition":break;case"rule":break;case"chem":break;case"mopen":gs+=Uh(a,y);break;case"mclose":gs+=Uh(a,y);break;case"macro":{const L0=a.command+qp(a.macroArgs);L0&&(gs+=`${L0}`)}break;case"latexgroup":gs+=Tc(a.body,y);break;case"latex":gs+=""+a.value+"";break;case"tooltip":gs+=Tc(a.body,y);break;case"text":gs+=`${a.value}`;break;default:if(a.command==="\\displaystyle")return`${Tc(a.body,y)}`;if(a.command==="\\textstyle")return`${Tc(a.body,y)}`;console.info("Unexpected element in conversion to MathML:",a)}return gs}var Mp={"\\alpha":"alpha ","\\mu":"mew ","\\sigma":"sigma ","\\pi":"pie ","\\imaginaryI":"imaginary eye ","\\imaginaryJ":"imaginary jay ","\\sum":"Summation ","\\prod":"Product ","+":"plus ","-":"minus ",";":' semi-colon ',",":' comma ',"|":'Vertical bar',"(":'Open paren. ',")":' Close paren. ',"=":"equals ","<":"is less than ","\\lt":"is less than ","<=":"is less than or equal to ","\\le":"is less than or equal to ","\\gt":"is greater than ",">":"is greater than ","\\pm":"plus or minus","\\mp":"minus or plus","\\ge":"is greater than or equal to ","\\geq":"is greater than or equal to ","\\leq":"is less than or equal to ","\\ne":"is not equal to ","\\neq":"is not equal to ","!":"factorial ","\\sin":"sine ","\\cos":"cosine ","\u200B":"","\u2212":"minus ",":":' such that ',"\\colon":' such that ',"\\hbar":"etch bar ","\\iff":'if, and only if, ',"\\Longleftrightarrow":'if, and only if, ',"\\land":"and ","\\lor":"or ","\\neg":"not ","\\div":"divided by ","\\forall":"for all ","\\exists":"there exists ","\\nexists":"there does not exists ","\\in":"element of ","\\N":'the set n',"\\C":'the set c',"\\Z":'the set z',"\\Q":'the set q',"\\infty":"infinity ","\\nabla":"nabla ","\\partial":"partial derivative of ","\\cdot":"times ","\\cdots":"dot dot dot ","\\Rightarrow":"implies ","\\lparen":'open paren',"\\rparen":'close paren',"\\lbrace":'open brace',"\\{":'open brace',"\\rbrace":'close brace',"\\}":'close brace',"\\langle":'left angle bracket',"\\rangle":'right angle bracket',"\\lfloor":'open floor',"\\rfloor":'close floor',"\\lceil":'open ceiling',"\\rceil":'close ceiling',"\\vert":'vertical bar',"\\mvert":'divides',"\\lvert":'left vertical bar',"\\rvert":'right vertical bar',"\\lbrack":' open square bracket ',"\\rbrack":' close square bracket ',mm:"millimeters",cm:"centimeters",km:"kilometers",kg:"kilograms"},Ov={array:"array",matrix:"matrix",pmatrix:"parenthesis matrix",bmatrix:"square brackets matrix",Bmatrix:"braces matrix",vmatrix:"bars matrix",Vmatrix:"double bars matrix","matrix*":"matrix",smallmatrix:"small matrix"};function xm(a){let y="";return a.startsWith("\\")&&(y=" "+a.replace("\\","")+" "),y}function yg(a){let y=0;if(wt(a))for(const z of a)z.type!=="first"&&(y+=1);return y===1}function Yg(a){if(wt(a)){for(const y of a)if(y.type!=="first"&&y.id)return y.id.toString()}return""}function _v(a){let y="";if(wt(a))for(const z of a)z.type!=="first"&&typeof z.value=="string"&&(y+=z.value);return y}function bg(a){return a?a.map(y=>y.value).join(""):""}function bc(a,y){var z,ie,le,ve,be;function Ne(lt){return window.MathfieldElement.textToSpeechMarkup?/[a-z]/.test(lt)?` ${lt}`:/[A-Z]/.test(lt)?`capital ${lt.toLowerCase()}`:lt:/[a-z]/.test(lt)?" '"+lt.toUpperCase()+"'":/[A-Z]/.test(lt)?" 'capital "+lt.toUpperCase()+"'":lt}function ze(lt){return""+lt+""}if(!y)return"";let Ge="";if(wt(y)){let lt=!1,Tt=!1;for(let An=0;An'),Ge+=y.value;else{y.id&&a==="math"&&(Ge+='');let lt="",Tt="",An="",$n=!1;const{command:br}=y;switch(br){case"\\vec":return"vector "+bc(a,y.body);case"\\acute":return bc(a,y.body)+" acute";case"\\grave":return bc(a,y.body)+" grave";case"\\dot":return"dot over"+bc(a,y.body);case"\\ddot":return"double dot over"+bc(a,y.body);case"\\mathring":return"ring over"+bc(a,y.body);case"\\tilde":case"\\widetilde":return"tilde over"+bc(a,y.body);case"\\bar":return bc(a,y.body)+" bar";case"\\breve":return bc(a,y.body)+" breve";case"\\check":case"\\widecheck":return"check over "+bc(a,y.body);case"\\hat":case"\\widehat":return"hat over"+bc(a,y.body);case"\\overarc":case"\\overparen":case"\\wideparen":return"arc over "+bc(a,y.body);case"\\underarc":case"\\underparen":return"arc under "+bc(a,y.body)}switch(y.type){case"prompt":const Gi=y.body.length>1?'start input . '+bc(a,y.body)+'. end input':"blank";Ge+=' '+Gi+'. '+((ie=y.correctness)!=null?ie:"")+' . ';break;case"array":const zo=y.array,ji=y.environmentName;if(Object.keys(Ov).includes(ji)){Ge+=` begin ${Ov[ji]} `;for(let io=0;io0&&(Ge+=","),Ge+=` row ${io+1} `;for(let El=0;El0&&(Ge+=","),Ge+=` column ${El+1}: `,Ge+=bc("math",zo[io][El])}Ge+=` end ${Ov[ji]} `}break;case"group":br==="\\ne"?Ge+=" not equal ":(br==="\\not"&&(Ge+=" not "),Ge+=bc("math",y.body));break;case"root":Ge+=bc("math",y.body);break;case"genfrac":if(lt=bc("math",y.above),Tt=bc("math",y.below),yg(y.above)&&yg(y.below)){const El={"1/2":" half ","1/3":" one third ","2/3":" two third","1/4":" one quarter ","3/4":" three quarter ","1/5":" one fifth ","2/5":" two fifths ","3/5":" three fifths ","4/5":" four fifths ","1/6":" one sixth ","5/6":" five sixths ","1/8":" one eight ","3/8":" three eights ","5/8":" five eights ","7/8":" seven eights ","1/9":" one ninth ","2/9":" two ninths ","4/9":" four ninths ","5/9":" five ninths ","7/9":" seven ninths ","8/9":" eight ninths "}[_v(y.above)+"/"+_v(y.below)];El?Ge=El:Ge+=lt+" over "+Tt}else Ge+=' the fraction '+lt+' over '+Tt+'. End fraction.';break;case"surd":if(An=bc("math",y.body),y.hasEmptyBranch("above"))Ge+=yg(y.body)?" the square root of "+An+" , ":' the square root of '+An+'. End square root';else{let io=bc("math",y.above);io=io.trim();const El=io.replace(//g,"");El==="3"?Ge+=' the cube root of '+An+'. End cube root':El==="n"?Ge+=' the nth root of '+An+'. End root':Ge+=' the root with index: '+io+', of '+An+'. End root'}break;case"leftright":{const io=y;Ge+=(le=io.leftDelim?Mp[io.leftDelim]:void 0)!=null?le:io.leftDelim,Ge+=bc("math",y.body),Ge+=(ve=io.rightDelim?Mp[io.rightDelim]:void 0)!=null?ve:io.rightDelim}break;case"rule":break;case"overunder":break;case"overlap":break;case"macro":const Za=br.replace(/^\\/g,""),qo=Ii()[Za];qo&&(qo!=null&&qo.expand?Ge+=bc("math",y.body):Ge+=`${Za} `);break;case"placeholder":Ge+="placeholder ";break;case"delim":case"sizeddelim":case"mord":case"minner":case"mbin":case"mrel":case"mpunct":case"mopen":case"mclose":{if(br==="\\mathbin"||br==="\\mathrel"||br==="\\mathopen"||br==="\\mathclose"||br==="\\mathpunct"||br==="\\mathord"||br==="\\mathinner"){Ge=bc(a,y.body);break}let io=y.isDigit()?y.asDigit():y.value,El=y.command;if((y.type==="delim"||y.type==="sizeddelim")&&(El=y.value,io=El),a==="text")Ge+=io;else{if(y.type==="mbin"&&(Ge+=''),io){const ql=Mp[io]||(El?Mp[El.trim()]:"");if(ql)Ge+=" "+ql;else{const zl=El?xm(El.trim()):"";Ge+=zl||Ne(io)}}else Ge+=bc("math",y.body);y.type==="mbin"&&(Ge+='')}break}case"mop":case"operator":case"extensible-symbol":if(y.value!=="\u200B"){const io=y.command;if(io==="\\sum")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let El=bc("math",y.superscript);El=El.trim();let ql=bc("math",y.subscript);ql=ql.trim(),Ge+=' the summation from '+ql+' to '+El+' of ',$n=!0}else if(y.hasEmptyBranch("subscript"))Ge+=" the summation of";else{let El=bc("math",y.subscript);El=El.trim(),Ge+=' the summation from '+El+' of ',$n=!0}else if(io==="\\prod")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let El=bc("math",y.superscript);El=El.trim();let ql=bc("math",y.subscript);ql=ql.trim(),Ge+=' the product from '+ql+' to '+El+' of ',$n=!0}else if(y.hasEmptyBranch("subscript"))Ge+=" the product of ";else{let El=bc("math",y.subscript);El=El.trim(),Ge+=' the product from '+El+' of ',$n=!0}else if(io==="\\int")if(!y.hasEmptyBranch("superscript")&&!y.hasEmptyBranch("subscript")){let El=bc("math",y.superscript);El=El.trim();let ql=bc("math",y.subscript);ql=ql.trim(),Ge+=' the integral from '+ze(ql)+' to '+ze(El)+' of ',$n=!0}else Ge+=' the integral of ';else if(typeof y.value=="string"){const El=(be=Mp[y.value])!=null?be:y.command?Mp[y.command]:void 0;Ge+=El||" "+y.value}else y.command&&(y.command==="\\mathop"?Ge+=bc("math",y.body):y.command==="\\operatorname"?Ge+=bg(y.body):Ge+=y.command.startsWith("\\")?" "+y.command.slice(1):" "+y.command)}break;case"enclose":An=bc("math",y.body),Ge+=" crossed out "+An+". End crossed out.";break;case"space":case"spacing":break}if(!$n&&!y.hasEmptyBranch("superscript")){let Gi=bc(a,y.superscript);Gi=Gi.trim();const zo=Gi.replace(/<[^>]*>/g,"");if(yg(y.superscript)){if(a==="math"){const ji=Yg(y.superscript);ji&&(Ge+='')}zo==="\u2032"?Ge+=" prime ":zo==="2"?Ge+=" squared ":zo==="3"?Ge+=" cubed ":Number.isNaN(Number.parseInt(zo))?Ge+=" to the "+Gi+"; ":Ge+=' to the '+zo+" power; "}else Number.isNaN(Number.parseInt(zo))?Ge+=" raised to the "+Gi+"; ":Ge+=' raised to the '+zo+" power; "}if(!$n&&!y.hasEmptyBranch("subscript")){let Gi=bc("math",y.subscript);Gi=Gi.trim(),Ge+=yg(y.subscript)?" sub "+Gi:" subscript "+Gi+". End subscript. "}}return Ge}function _c(a){var y,z;if(window.MathfieldElement.textToSpeechRules==="sre"&&("sre"in window||"SRE"in window)){const le=Tc(a);if(le){window.MathfieldElement.textToSpeechMarkup&&(window.MathfieldElement.textToSpeechRulesOptions=(y=window.MathfieldElement.textToSpeechRulesOptions)!=null?y:{},window.MathfieldElement.textToSpeechRulesOptions=_e(Xe({},window.MathfieldElement.textToSpeechRulesOptions),{markup:window.MathfieldElement.textToSpeechMarkup}),window.MathfieldElement.textToSpeechRulesOptions.markup==="ssml"&&(window.MathfieldElement.textToSpeechRulesOptions=_e(Xe({},window.MathfieldElement.textToSpeechRulesOptions),{markup:"ssml_step"})),window.MathfieldElement.textToSpeechRulesOptions=_e(Xe({},window.MathfieldElement.textToSpeechRulesOptions),{rate:window.MathfieldElement.speechEngineRate}));const ve=(z=window.SRE)!=null?z:window.sre.System.getInstance();window.MathfieldElement.textToSpeechRulesOptions&&ve.setupEngine(window.MathfieldElement.textToSpeechRulesOptions);let be="";try{be=ve.toSpeech(le)}catch(Ne){console.error("MathLive 0.98.5: `SRE.toSpeech()` runtime error",Ne)}return be}return""}let ie=bc("math",a);if(window.MathfieldElement.textToSpeechMarkup==="ssml"){let le="";window.MathfieldElement.speechEngineRate&&(le=''),ie=''+le+"

    "+ie+"

    "+(le?"
    ":"")+""}else window.MathfieldElement.textToSpeechMarkup==="mac"&&mt()==="macos"?ie=ie.replace(//g,"").replace(//g,"[[emph+]]").replace(/<\/emphasis>/g,"").replace(//g,"[[slc $1]]").replace(/]*>/g,"").replace(/<\/say-as>/g,""):ie=ie.replace(/<[^>]*>/g,"").replace(/\s{2,}/g," ");return ie}var np={"\\ne":"\u2260","\\neq":"\u2260","\u2212":"-","-":"-","\\alpha":"alpha","\\beta":"beta","\\gamma":"gamma","\\delta":"delta","\\epsilon":"epsilon","\\varepsilon":"varepsilon","\\zeta":"zeta","\\eta":"eta","\\theta":"theta","\\vartheta":"vartheta","\\iota":"iota","\\kappa":"kappa","\\lambda":"lambda","\\mu":"mu","\\nu":"nu","\\xi":"xi","\\pi":"pi","\\rho":"rho","\\sigma":"sigma","\\tau":"tau","\\upsilon":"upsilon","\\phi":"phi","\\varphi":"varphi","\\chi":"chi","\\psi":"psi","\\omega":"omega","\\Gamma":"Gamma","\\Delta":"Delta","\\Theta":"Theta","\\Lambda":"Lambda","\\Xi":"Xi","\\Pi":"Pi","\\Sigma":"Sigma","\\Phi":"Phi","\\Psi":"Psi","\\Omega":"Omega","\\exponentialE":"e","\\imaginaryI":"i","\\imaginaryJ":"j","\\!":" ","\\,":" ","\\:":" ","\\>":" ","\\;":" ","\\enskip":" ","\\enspace":" ","\\qquad":" ","\\quad":" ","\\infty":"oo"},xg={"\\pm":"+-","\\colon":":","\\vert":"|","\\Vert":"||","\\mid":"|","\\lbrack":"[","\\rbrack":"]","\\lbrace":"{","\\rbrace":"}","\\lparen":"(","\\rparen":")","\\langle":"(:","\\rangle":":)","\\sum":" sum ","\\prod":" prod ","\\bigcap":" nnn ","\\bigcup":" uuu ","\\int":" int ","\\oint":" oint ","\\ge":">=","\\le":"<=","\\ne":"!=","\\neq":"!=","\\lt":"<","\\gt":">","\\gets":"<-","\\to":"->","\\land":" and ","\\lor":" or ","\\lnot":" not ","\\forall":" AA ","\\exists":" EE ","\\in":" in ","\\notin":" !in ","\\mapsto":"|->","\\implies":"=>","\\iff":"<=>","\\cdot":"*","\\ast":"**","\\star":"***","\\times":"xx","\\div":"-:","\\ltimes":"|><","\\rtimes":"><|","\\bowtie":"|><|","\\circ":"@"};function Em(a){let y="";for(const z of a){const ie=y[y.length-1];ie!==void 0&&/\d/.test(ie)&&/^\d/.test(z)&&(y+=" "),y+=z}return y}function Rd(a){var y,z,ie,le,ve,be,Ne,ze,Ge,lt,Tt,An,$n;if(!a)return"";if(wt(a)){if(a.length===0)return"";if(a[0].mode==="latex")return a.map(Rd).join("");if(a[0].mode==="text"){let qo=0,io="";for(;((y=a[qo])==null?void 0:y.mode)==="text";)io+=a[qo].body?Rd(a[qo].body):a[qo].value,qo++;return`"${io}" ${Rd(a.slice(qo))}`}let ji=0;const Za=[];for(;a[ji]&&a[ji].mode==="math";){let qo="";for(;a[ji]&&a[ji].type==="mord"&&/\d/.test(a[ji].value);)qo+=a[ji++].value;qo?Za.push(qo):Za.push(Rd(a[ji++]))}return Za.push(Rd(a.slice(ji))),Em(Za)}if(a.mode==="text")return`"${a.value}"`;let br="";const{command:Gi}=a;let zo;if(Gi==="\\placeholder")return`(${Rd(a.body)})`;switch(a.type){case"accent":const ji={"\\vec":"vec","\\dot":"dot","\\ddot":"ddot","\\bar":"bar","\\hat":"hat","\\acute":"acute;","\\grave":"grave","\\tilde":"tilde","\\breve":"breave","\\check":"check"}[Gi];br=`${ji!=null?ji:""} ${Rd(a.body)} `;break;case"first":return"";case"latexgroup":return a.body.map(zl=>zl.value).join("");case"group":case"root":br=(z=np[Gi])!=null?z:Rd(a.body);break;case"genfrac":{const zl=a;(zl.leftDelim||zl.rightDelim)&&(br=zl.leftDelim==="."||!zl.leftDelim?"{:":zl.leftDelim),zl.hasBarLine?(br+="(",br+=Rd(zl.above),br+=")/(",br+=Rd(zl.below),br+=")"):(br+="("+Rd(zl.above)+"),",br+="("+Rd(zl.below)+")"),(zl.leftDelim||zl.rightDelim)&&(br+=zl.rightDelim==="."||!zl.rightDelim?"{:":zl.rightDelim)}break;case"surd":br+=a.hasEmptyBranch("above")?"sqrt("+Rd(a.body)+")":"root("+Rd(a.above)+")("+Rd(a.body)+")";break;case"latex":br=a.value;break;case"leftright":{const zl=a,Bc=zl.leftDelim;br+=Bc==="."||!Bc?"{:":Bc,br+=Rd(zl.body);const sd=zl.matchingRightDelim();br+=sd==="."||!sd?":}":sd}break;case"sizeddelim":case"delim":br=a.value;break;case"overlap":break;case"overunder":break;case"mord":br=(le=(ie=np[Gi])!=null?ie:Gi)!=null?le:typeof a.value=="string"?a.value:"",br.startsWith("\\")&&(br+=" "),zo=Gi?Gi.match(/{?\\char"([\dabcdefABCDEF]+)}?/):null,zo?br=String.fromCodePoint(Number.parseInt("0x"+zo[1])):br.length>0&&br.startsWith("\\")&&(br=typeof a.value=="string"?a.value.charAt(0):a.command),br=$v(br,a.style);break;case"mbin":case"mrel":case"minner":br=(be=(ve=np[Gi])!=null?ve:xg[Gi])!=null?be:a.value;break;case"mopen":case"mclose":br=a.value;break;case"mpunct":br=(Ne=xg[Gi])!=null?Ne:Gi;break;case"mop":case"operator":case"extensible-symbol":a.value!=="\u200B"&&(xg[Gi]?br=xg[Gi]:br=Gi==="\\operatorname"?Rd(a.body):(ze=a.value)!=null?ze:Gi,br+=" ");break;case"array":const Za=a.array,qo=a.environmentName,io=(Ge={bmatrix:["[","]"],"bmatrix*":["[","]"]}[qo])!=null?Ge:["(",")"],El=[];for(const zl of Za){const Bc=[];for(const sd of zl)Bc.push(io[0]+Rd(sd)+io[1]);El.push(Bc.join(","))}const ql=(lt={bmatrix:["[","]"],"bmatrix*":["[","]"],cases:["{",":}"]}[qo])!=null?lt:["(",")"];br=ql[0]+El.join(",")+ql[1];break;case"box":break;case"spacing":br=(Tt=np[Gi])!=null?Tt:" ";break;case"enclose":br="("+Rd(a.body)+")";break;case"space":br=" ";break;case"subsup":br="";break;case"macro":br=($n=(An=np[Gi])!=null?An:xg[Gi])!=null?$n:Rd(a.body);break}if(!a.hasEmptyBranch("subscript")){br+="_";const ji=Rd(a.subscript);br+=ji.length!==1?`(${ji})`:ji}if(!a.hasEmptyBranch("superscript")){br+="^";const ji=Rd(a.superscript);br+=ji.length!==1?`(${ji})`:ji}return br}function $v(a,y){if(!y)return a;let z=a;return y.variant==="double-struck"&&(z=`bbb "${z}"`),y.variant==="script"&&(z=`cc "${z}"`),y.variant==="fraktur"&&(z=`fr "${z}"`),y.variant==="sans-serif"&&(z=`sf "${z}"`),y.variant==="monospace"&&(z=`tt "${z}"`),y.variantStyle==="bold"&&(z=`bb "${z}"`),y.color?`color({${y.color}})(${z})`:z}function Cf(a,y){var z,ie;y!=null||(y={}),y.mathstyle=(z=y.mathstyle)!=null?z:"displaystyle";const le=new uc({from:_e(Xe({},Wf()),{renderPlaceholder:()=>new oo(160,{maxFontSize:1}),letterShapeStyle:(ie=y==null?void 0:y.letterShapeStyle)!=null?ie:"tex"}),mathstyle:y.mathstyle}),be=new ga({mode:"math",type:"root",body:Fn(a,{context:le,parseMode:"math",mathstyle:y.mathstyle})}).render(le);return be?(_f(Tf(be,le)),$f(be,{classes:"ML__latex"}).toMarkup()):""}function Nm(a){return Ar(a,{context:Wf()})}function wm(a,y={}){return Tc(Fn(a,{parseMode:"math",args:()=>"",mathstyle:"displaystyle"}),y)}function Cm(a){const y=Fn(a,{parseMode:"math",mathstyle:"displaystyle"});return _c(y)}var Ip;function Jg(a){var y,z;if(!Ip){const ie=(y=globalThis[Symbol.for("io.cortexjs.compute-engine")])==null?void 0:y.ComputeEngine;ie?Ip=new ie:console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. - - Load the library, for example with: - - import "https://unpkg.com/@cortex-js/compute-engine?module"`)}return(z=Ip==null?void 0:Ip.box(a).latex)!=null?z:""}function Fm(a,y="math"){return Rd(new ga({type:"root",body:Fn(a,{parseMode:y})}))}function Bm(a){return sl(a,{format:"ascii-math"})[1]}function _p(a){if(typeof a=="string"){const y=Dm(a);if(!y)throw new Error(`Invalid color: ${a}`);return y}return"C"in a?b(a):"a"in a?te(a):a}function Op(a){return a<0?0:a>255?255:Math.round(a)}function Dm(a){if(!a||a[0]!=="#")return;a=a.slice(1);let y;return a.length<=4?(y={r:parseInt(a[0]+a[0],16),g:parseInt(a[1]+a[1],16),b:parseInt(a[2]+a[2],16)},a.length===4&&(y.a=parseInt(a[3]+a[3],16)/255)):(y={r:parseInt(a[0]+a[1],16),g:parseInt(a[2]+a[3],16),b:parseInt(a[4]+a[5],16)},a.length===8&&(y.a=parseInt(a[6]+a[7],16)/255)),y&&typeof y.a=="undefined"&&(y.a=1),y}function Eg(a){const[y,z,ie]=[a.L,a.C,a.H],le=ie*Math.PI/180,ve={L:y,a:z*Math.cos(le),b:z*Math.sin(le)};return a.alpha!==void 0&&(ve.alpha=a.alpha),ve}function Pm(a){const[y,z,ie]=[a.L,a.a,a.b],le=Math.sqrt(z*z+ie*ie),be=Math.atan2(ie,z)*180/Math.PI,Ne={L:y,C:le,H:be};return a.alpha!==void 0&&(Ne.alpha=a.alpha),Ne}function Nv(a){const[y,z,ie]=[a.L,a.a,a.b],le=Math.pow(.9999999984505198*y+.39633779217376786*z+.2158037580607588*ie,3),ve=Math.pow(1.00000000888176*y-.10556134232365635*z-.0638541747717059*ie,3),be=Math.pow(y*1.000000054672411-.0894841820949657*z-1.2914855378640917*ie,3),Ne=4.076741661347994*le-3.307711590408193*ve+.230969928729428*be,ze=-1.2684380040921763*le+2.6097574006633715*ve-.3413193963102197*be,Ge=-.004196086541837188*le-.7034186144594493*ve+1.7076147009309444*be,lt=Tt=>{const An=Math.abs(Tt);return An<=.0031308?Tt*12.92:(Math.sign(Tt)||1)*(1.055*Math.pow(An,1/2.4)-.055)};return[lt(Ne),lt(ze),lt(Ge)]}function Fv(a){const[y,z,ie]=a;return y>=0&&y<=1&&z>=0&&z<=1&&ie>=0&&ie<=1}function em(a,y){let[z,ie,le]=a;return z=Op(z*255),ie=Op(ie*255),le=Op(le*255),y!==void 0?{r:z,g:ie,b:le,alpha:y}:{r:z,g:ie,b:le}}function te(a){let[y,z,ie]=Nv(a);if(Fv([y,z,ie]))return em([y,z,ie],a.alpha);const le=Pm(a);if(le.C=0,[y,z,ie]=Nv(Eg(le)),!Fv([y,z,ie]))return em([y,z,ie],a.alpha);let ve=0,be=a.L,Ne=(ve+be)/2;le.C=Ne;const ze=.36/Math.pow(2,12);for(;be-ve>ze;)Ne=(ve+be)/2,le.C=Ne,[y,z,ie]=Nv(Eg(le)),Fv([y,z,ie])?ve=Ne:be=Ne;return em([y,z,ie],a.alpha)}function b(a){return te(Eg(a))}function x(a,y){const z=_p(a),ie=_p(y),le=.56,ve=.57,be=.62,Ne=.65,ze=.022,Ge=1.414,lt=.1,Tt=5e-4,An=1.14,$n=.027,br=1.14,Gi=.027;function zo(zl){return zl>=ze?zl:zl+lp(ze-zl,Ge)}function ji(zl){return(zl<0?-1:1)*Math.pow(Math.abs(zl),2.4)}const Za=zo(ji(ie.r/255)*.2126729+ji(ie.g/255)*.7151522+ji(ie.b/255)*.072175),qo=zo(ji(z.r/255)*.2126729+ji(z.g/255)*.7151522+ji(z.b/255)*.072175);let io,El,ql;return Math.abs(qo-Za)Za?(io=lp(qo,le)-lp(Za,ve),El=io*An):(io=lp(qo,Ne)-lp(Za,be),El=io*br),Math.abs(El)0?ql=El-Gi:ql=El+$n,ql*100}function E(a,y,z){z!=null||(z="#fff"),y!=null||(y="#000");const ie=x(a,z),le=x(a,y);return Math.abs(ie)>Math.abs(le)?z:y}function ne(a){const y=_p(a);let z=((1<<24)+(Op(y.r)<<16)+(Op(y.g)<<8)+Op(y.b)).toString(16).slice(1);return y.alpha!==void 0&&y.alpha<1&&(z+=("00"+Math.round(y.alpha*255).toString(16)).slice(-2)),z[0]===z[1]&&z[2]===z[3]&&z[4]===z[5]&&z[6]===z[7]&&(z=z[0]+z[2]+z[4]+(y.alpha!==void 0&&y.alpha<1?z[6]:"")),"#"+z}function re(a){const y=oe(a);let z="";for(const ie of y){if(typeof ie.value!="string")return"";z+=ie.value}return z}function oe(a){const z=a.model.selection.ranges;return z.length!==1?[]:a.model.getAtoms(z[0])}function ue(a,y){const z=oe(a);if(z.length!==1)return!1;const ie=Hf[y];return ie?!!ie.test(z[0].value):!1}function fe(a,y){return re(a).length>0}function ge(a){return[ei(a,"double-struck","mathbb","tooltip.blackboard"),ei(a,"fraktur","mathfrak","tooltip.fraktur"),ei(a,"calligraphic","mathcal","tooltip.caligraphic"),Ri(a,"up","mathrm","tooltip.roman-upright"),Ri(a,"bold","mathbf","tooltip.bold"),Ri(a,"italic","mathit","tooltip.italic")]}function ye(a){return[{label:()=>Cf(`\\vec{${re(a)}}`),visible:()=>re(a).length===1,onMenuSelect:()=>a.insert("\\vec{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\overrightarrow{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\overrightarrow{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\overleftarrow{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\overleftarrow{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\dot{${re(a)}}`),visible:()=>re(a).length===1,onMenuSelect:()=>a.insert("\\dot{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\ddot{${re(a)}}`),visible:()=>re(a).length===1,onMenuSelect:()=>a.insert("\\ddot{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\bar{${re(a)}}`),visible:()=>re(a).length===1,onMenuSelect:()=>a.insert("\\bar{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\overline{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\overline{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\overgroup{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\overgroup{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\overbrace{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\overbrace{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\underline{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\underline{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\undergroup{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\undergroup{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\underbrace{${re(a)}}`),visible:()=>re(a).length>0,onMenuSelect:()=>a.insert("\\underbrace{#@}",{selectionMode:"item"})}]}function De(a){return[{label:()=>Cf(`\\boxed{${a.getValue(a.model.selection)}}}`),onMenuSelect:()=>a.insert("\\boxed{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\bbox[5px, border: 2px solid red]{${a.getValue(a.model.selection)}}`),onMenuSelect:()=>a.insert("\\bbox[5px, border: 2px solid red]{#@}",{selectionMode:"item"})},{label:()=>Cf(`\\bbox[5px, border: 2px dashed black]{${a.getValue(a.model.selection)}}`),onMenuSelect:()=>a.insert("\\bbox[5px, border: 2px dashed black]{#@}",{selectionMode:"item"})}]}function Te(a){const y=[];for(const z of Object.keys(Sn))y.push({class:(ne(E(Sn[z]))==="#000"?"dark-contrast":"light-contrast")+" menu-swatch",label:``,ariaLabel:()=>{var ie;return(ie=Ft(z))!=null?ie:z},checked:()=>{var ie;return{some:"mixed",all:!0}[(ie=a.queryStyle({backgroundColor:z}))!=null?ie:!1]},onMenuSelect:()=>{a.applyStyle({backgroundColor:z},{operation:"toggle"}),a.adoptStyle="none"}});return y}function Ve(a){const y=[];for(const z of Object.keys(_n))y.push({class:(E(_n[z])==="#000"?"dark-contrast":"light-contrast")+" menu-swatch",label:``,ariaLabel:()=>{var ie;return(ie=Ft(z))!=null?ie:z},checked:()=>{var ie;return{some:"mixed",all:!0}[(ie=a.queryStyle({color:z}))!=null?ie:!1]},onMenuSelect:()=>{a.applyStyle({color:z},{operation:"toggle"}),a.adoptStyle="none"}});return y}var rt=class extends Af{constructor(a,y,z,ie){super(a,y),this.row=z,this.col=ie}set active(a){const y=this.parentMenu.children;if(a)for(const z of y)z.element.classList.toggle("active",z.row<=this.row&&z.col<=this.col);else for(const z of y)z.element.classList.remove("active")}};function At(a){const y=[];for(let z=1;z<=5;z++)for(let ie=1;ie<=5;ie++)y.push({onCreate:(le,ve)=>new rt(le,ve,z,ie),label:"\u2610",tooltip:()=>Ft("tooltip.row-by-col",z,ie),data:{row:z,col:ie},onMenuSelect:()=>{a.insert(`\\begin{pmatrix}${Array(z).fill(Array(ie).fill("#?").join(" & ")).join("\\\\")}\\end{pmatrix}`,{selectionMode:"item"})}});return y}function Mt(a){return[{label:()=>Ft("menu.array.add row above"),id:"add-row-above",onMenuSelect:()=>a.executeCommand("addRowBefore"),visible:()=>Ut(a)},{label:()=>Ft("menu.array.add row below"),id:"add-row-below",onMenuSelect:()=>a.executeCommand("addRowAfter"),visible:()=>Ut(a)},{label:()=>Ft("menu.array.add column before"),id:"add-column-before",onMenuSelect:()=>a.executeCommand("addColumnBefore"),visible:()=>Ut(a),enabled:()=>{const y=a.model.parentEnvironment;if(!y)return!1;const[z,ie]=hn(a);return zFt("menu.array.add column after"),id:"add-column-after",onMenuSelect:()=>a.executeCommand("addColumnAfter"),visible:()=>Ut(a)},{type:"divider"},{label:()=>Ft("menu.array.delete row"),id:"delete-row",onMenuSelect:()=>a.executeCommand("removeRow"),visible:()=>Ut(a)},{label:()=>Ft("menu.array.delete column"),id:"delete-column",onMenuSelect:()=>a.executeCommand("removeColumn"),visible:()=>Ut(a)},{type:"divider"},{label:()=>Ft("menu.borders"),visible:()=>(en(a)||Ut(a))&&a.isSelectionEditable,submenu:[{label:" \u22F1 ",id:"environment-no-border",onMenuSelect:()=>rr(a,"matrix")},{label:"(\u22F1)",id:"environment-parentheses",onMenuSelect:()=>rr(a,"pmatrix")},{label:"[\u22F1]",id:"environment-brackets",onMenuSelect:()=>rr(a,"bmatrix")},{label:"|\u22F1|",id:"environment-bar",onMenuSelect:()=>rr(a,"vmatrix")},{label:"{\u22F1}",id:"environment-braces",onMenuSelect:()=>rr(a,"Bmatrix")}],submenuClass:"border-submenu"},{type:"divider"},{label:()=>Ft("menu.insert matrix"),id:"insert-matrix",visible:()=>a.isSelectionEditable,submenu:At(a),submenuClass:"insert-matrix-submenu",columnCount:5},{label:()=>Ft("menu.mode"),id:"mode",visible:()=>a.isSelectionEditable&&a.model.selectionIsCollapsed,submenu:[{label:()=>Ft("menu.mode-math"),id:"mode-math",onMenuSelect:()=>{M0(a,"accept-all"),a.executeCommand(["switchMode","math"])},checked:()=>a.model.mode==="math"},{label:()=>Ft("menu.mode-text"),id:"mode-text",onMenuSelect:()=>{M0(a,"accept-all"),a.executeCommand(["switchMode","text"])},checked:()=>a.model.mode==="text"},{label:()=>Ft("menu.mode-latex"),id:"mode-latex",onMenuSelect:()=>a.executeCommand(["switchMode","latex"]),checked:()=>a.model.mode==="latex"}]},{type:"divider"},{label:()=>Ft("menu.font-style"),id:"variant",visible:()=>a.isSelectionEditable,submenu:ge(a),submenuClass:"variant-submenu"},{label:()=>Ft("menu.color"),id:"color",visible:()=>a.isSelectionEditable,submenu:Ve(a),columnCount:4,submenuClass:"swatches-submenu"},{label:()=>Ft("menu.background-color"),id:"background-color",visible:()=>a.isSelectionEditable,submenu:Te(a),columnCount:4,submenuClass:"swatches-submenu"},{label:()=>Ft("menu.accent"),id:"accent",visible:()=>a.isSelectionEditable,submenu:ye(a),submenuClass:"variant-submenu"},{label:()=>Ft("menu.decoration"),id:"decoration",visible:()=>a.isSelectionEditable&&re(a).length>0,submenu:De(a),submenuClass:"variant-submenu"},{type:"divider"},{label:()=>Ft("menu.evaluate"),id:"ce-evaluate",visible:()=>a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null,onMenuSelect:()=>{const y=mi(a);if(!y){a.model.announce("plonk");return}a.model.selectionIsCollapsed?(a.model.position=a.model.lastOffset,a.insert(`=${y}`,{insertionMode:"insertAfter",selectionMode:"item"})):a.insert(y,{insertionMode:"replaceSelection",selectionMode:"item"})}},{label:()=>Ft("menu.simplify"),id:"ce-simplify",visible:()=>a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null,onMenuSelect:()=>{var y,z;if(a.model.selectionIsCollapsed){const ie=(y=a.expression)==null?void 0:y.simplify();if(a.model.position=a.model.lastOffset,!ie){a.model.announce("plonk");return}a.insert(`=${ie.latex}`,{insertionMode:"insertAfter",selectionMode:"item"})}else{const ie=(z=window.MathfieldElement.computeEngine)==null?void 0:z.parse(a.getValue(a.model.selection)).simplify();if(!ie){a.model.announce("plonk");return}a.insert(ie.latex,{insertionMode:"replaceSelection",selectionMode:"item"})}}},{label:()=>{var y;if(window.MathfieldElement.computeEngine===null)return"";const z=(y=a.expression)==null?void 0:y.unknowns[0];return z?Ft("menu.solve-for",Cf(z)):Ft("menu.solve")},id:"ce-solve",visible:()=>{var y;return a.isSelectionEditable&&window.MathfieldElement.computeEngine!==null&&((y=a.expression)==null?void 0:y.unknowns.length)===1&&a.expression.unknowns[0]!=="Nothing"},onMenuSelect:()=>{var y;const z=a.expression,ie=z==null?void 0:z.unknowns[0],le=(y=z.solve(ie))==null?void 0:y.map(ve=>{var be;return(be=ve.simplify().latex)!=null?be:""});if(!le){a.model.announce("plonk");return}a.insert(`${ie}=${le.length===1?le[0]:"\\left\\lbrace"+(le==null?void 0:le.join(", "))+"\\right\\rbrace"}`,{insertionMode:"replaceAll",selectionMode:"item"})}},{type:"divider"},{label:()=>Ft("menu.cut"),onMenuSelect:()=>a.executeCommand("cutToClipboard"),visible:()=>!a.options.readOnly&&a.isSelectionEditable,keyboardShortcut:"meta+X"},{label:()=>Ft("menu.copy"),id:"copy",submenu:[{label:()=>Ft("menu.copy-as-latex"),id:"copy-latex",onMenuSelect:()=>su.copyToClipboard(a,"latex"),keyboardShortcut:"meta+C"},{label:()=>Ft("menu.copy-as-ascii-math"),id:"copy-ascii-math",onMenuSelect:()=>su.copyToClipboard(a,"ascii-math")},{label:()=>Ft("menu.copy-as-mathml"),id:"copy-math-ml",onMenuSelect:()=>su.copyToClipboard(a,"math-ml")}]},{label:()=>Ft("menu.paste"),id:"paste",onMenuSelect:()=>a.executeCommand("pasteFromClipboard"),visible:()=>a.hasEditableContent,keyboardShortcut:"meta+V"},{label:()=>Ft("menu.select-all"),id:"select-all",keyboardShortcut:"meta+A",onMenuSelect:()=>a.executeCommand("selectAll")}]}function Ut(a){var y;return!!((y=a.model.parentEnvironment)!=null&&y.array)}function en(a){return a.model.at(a.model.position).type==="array"}function hn(a){var y;const z=(y=a.model.parentEnvironment)==null?void 0:y.array;return z?[z.length,z.reduce((ie,le)=>Math.max(ie,le.length),0)]:[0,0]}function rr(a,y){Ol(a),a.flushInlineShortcutBuffer(),U0(a.model,y),Pn(a)}function mi(a){var y,z;let ie;if(a.model.selectionIsCollapsed?ie=(y=window.MathfieldElement.computeEngine)==null?void 0:y.parse(a.getValue(),{canonical:!1}):ie=(z=window.MathfieldElement.computeEngine)==null?void 0:z.parse(a.getValue(a.model.selection),{canonical:!1}),!ie)return"";let le=ie.evaluate();return le.isSame(ie)&&(le=ie.N()),le.latex}function ei(a,y,z,ie){return{label:()=>Cf(`\\${z}{${re(a)}}`),tooltip:()=>{var le;return(le=Ft(ie))!=null?le:ie},visible:()=>ue(a,y),checked:()=>{var le;return{some:"mixed",all:!0}[(le=a.queryStyle({variant:y}))!=null?le:!1]},onMenuSelect:()=>{a.applyStyle({variant:y},{operation:"toggle"}),a.adoptStyle="none"}}}function Ri(a,y,z,ie){return{label:()=>Cf(`\\${z}{${re(a)}}`),tooltip:()=>{var le;return(le=Ft(ie))!=null?le:ie},visible:()=>fe(a,y),checked:()=>{var le;return{some:"mixed",all:!0}[(le=a.queryStyle({variantStyle:y}))!=null?le:!1]},onMenuSelect:()=>{a.applyStyle({variantStyle:y},{operation:"toggle"}),a.adoptStyle="none"}}}function Yr(a,y){return a+_c(y)}qi({speak:(a,y,z)=>Va(a,y,z)},{target:"mathfield"});function Va(a,y,z){var ie,le;z=z!=null?z:{withHighlighting:!1};const{model:ve}=a;function be(lt){let Tt=null;switch(lt){case"all":Tt=ve.root;break;case"selection":Tt=ve.getAtoms(ve.selection);break;case"left":{Tt=ve.getAtoms(ve.offsetOf(ve.at(ve.position).leftSibling),ve.position);break}case"right":{Tt=ve.getAtoms(ve.position,ve.offsetOf(ve.at(ve.position).rightSibling));break}case"group":Tt=ve.getAtoms(ve.getSiblingsRange(ve.position));break;case"parent":{const{parent:An}=ve.at(ve.position);An!=null&&An.parent?Tt=An:Tt=ve.root;break}default:Tt=ve.root}return Tt}function Ne(lt){let Tt="";switch(lt){case"all":console.log("Internal failure: speak all failed");break;case"selection":Tt="no selection";break;case"left":Tt="at start";break;case"right":Tt="at end";break;case"group":console.log("Internal failure: speak group failed");break;case"parent":Tt="no parent";break;default:console.log('unknown speak_ param value: "'+lt+'"');break}return Tt}const ze=be(y);if(ze===null)return(le=(ie=window.MathfieldElement).speakHook)==null||le.call(ie,Ne(y)),!1;(z.withHighlighting||window.MathfieldElement.speechEngine==="amazon")&&(window.MathfieldElement.textToSpeechMarkup=window.sre&&window.MathfieldElement.textToSpeechRules==="sre"?"ssml_step":"ssml");const Ge=_c(ze);return Ye()&&z.withHighlighting?(eg().readAloudMathfield=a,mn(a,{forHighlighting:!0}),window.MathfieldElement.readAloudHook&&window.MathfieldElement.readAloudHook(a.field,Ge)):window.MathfieldElement.speakHook&&window.MathfieldElement.speakHook(Ge),!1}function ks(a){var y,z;if(!Ye()){console.log("Speak:",a);return}if(!window.MathfieldElement.speechEngine||window.MathfieldElement.speechEngine==="local"){const ie=new SpeechSynthesisUtterance(a);window.speechSynthesis.speak(ie)}else if(window.MathfieldElement.speechEngine==="amazon")if(!("AWS"in window))console.error("MathLive 0.98.5: AWS SDK not loaded. See https://www.npmjs.com/package/aws-sdk");else{const ie=new window.AWS.Polly({apiVersion:"2016-06-10"}),le={OutputFormat:"mp3",VoiceId:(y=window.MathfieldElement.speechEngineVoice)!=null?y:"Joanna",Engine:["Amy","Emma","Brian","Ivy","Joanna","Kendra","Kimberly","Salli","Joey","Justin","Matthew"].includes((z=window.MathfieldElement.speechEngineVoice)!=null?z:"Joanna")?"neural":"standard",Text:a,TextType:"ssml"};ie.synthesizeSpeech(le,(ve,be)=>{if(ve)console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech()\` error: ${ve}`);else if(be!=null&&be.AudioStream){const Ne=new Uint8Array(be.AudioStream),ze=new Blob([Ne.buffer],{type:"audio/mpeg"}),Ge=URL.createObjectURL(ze);new Audio(Ge).play().catch(Tt=>console.log(Tt))}else console.log("polly.synthesizeSpeech():",be)})}else window.MathfieldElement.speechEngine==="google"&&console.error("MathLive 0.98.5: The Google speech engine is not supported yet. Please come again.")}function pl(a){var y;let z;if(a.parent.type==="prompt")a.parentBranch==="body"&&(z="prompt");else if(a.parentBranch==="body")z=a.type&&(y={enclose:"cross out",leftright:"delimiter",surd:"square root",root:"math field",mop:"operator",first:"first"}[a.type])!=null?y:"parent";else if(a.parent.type==="genfrac"){if(a.parentBranch==="above")return"numerator";if(a.parentBranch==="below")return"denominator"}else a.parent.type==="surd"?a.parentBranch==="above"&&(z="index"):a.parentBranch==="superscript"?z="superscript":a.parentBranch==="subscript"&&(z="subscript");return z||console.log("unknown relationship"),z!=null?z:"parent"}function Zu(a,y,z,ie){let le="";if(y==="plonk")window.MathfieldElement.playSound("plonk"),a.flushInlineShortcutBuffer();else if(y==="delete")le=Yr("deleted: ",ie);else if(y==="focus"||y.includes("move"))le=gu(a.model,z)+(a.model.selectionIsCollapsed?"":"selected: ")+Pu(a.model);else if(y==="replacement")le=Yr("",a.model.at(a.model.position));else if(y==="line"){const ve=Yr("",a.model.root);a.keyboardDelegate.setAriaLabel(ve)}else le=ie?Yr(y+" ",ie):y;if(le){const ve=a.ariaLiveText.textContent.includes("\xA0")?" \u202F ":" \xA0 ";a.ariaLiveText.textContent=le+ve}}function gu(a,y){if(Number.isNaN(y))return"";const z=a.at(y);if(!z||z.treeDepth<=a.at(a.position).treeDepth)return"";let ie="",le=z.parent;const ve=a.at(a.position).parent;for(;le!==a.root&&le!==ve;)ie+=`out of ${pl(le)};`,le=le.parent;return ie}function Pu(a){if(!a.selectionIsCollapsed)return Yr("",a.getAtoms(a.selection));let y="";const z=a.at(a.position),ie=pl(z);return z.isFirstSibling&&(y=(ie?"start of "+ie:"unknown")+": "),z.isLastSibling?z.isFirstSibling||(y+=ie?"end of "+ie:"unknown"):y+=Yr("",z),y}var Tl=class{constructor(a,y,z){this.mathfield=a,this.mode=y,this.silenceNotifications=!1,this._selection={ranges:[[0,0]],direction:"none"},this._anchor=0,this._position=0,this.root=z}dispose(){this.mathfield=void 0}getState(){const a={ranges:[...this._selection.ranges]};return this.selection.direction&&this.selection.direction!=="none"&&(a.direction=this.selection.direction),{content:this.root.toJson(),selection:a,mode:this.mode}}setState(a,y){var z;const ie=this.silenceNotifications;this.silenceNotifications=(z=y==null?void 0:y.silenceNotifications)!=null?z:!0;let le={};if((y==null?void 0:y.type)==="undo"&&(le={inputType:"historyUndo"}),(y==null?void 0:y.type)==="redo"&&(le={inputType:"historyRedo"}),this.contentWillChange(le)){const ve=this.silenceNotifications;this.silenceNotifications=!0,this.mode=a.mode,this.root=lh(a.content),this.selection=a.selection,this.silenceNotifications=ve,this.contentDidChange(le)}this.silenceNotifications=ie}get atoms(){return this.root.children}get selection(){return this._selection}set selection(a){this.setSelection(a)}setSelection(a,y){return!this.mathfield.contentEditable&&this.mathfield.userSelect==="none"?!1:this.deferNotifications({selection:!0},()=>{var z,ie,le;const ve=this.normalizeSelection(a,y);if(ve===void 0)throw new TypeError("Invalid selection");if(ve.ranges.length===1&&ve.ranges[0][0]===ve.ranges[0][1]){const lt=ve.ranges[0][0];if(!this.mathfield.dirty&&!((z=this.at(lt))!=null&&z.parentPrompt)&&this.mathfield.hasEditablePrompts){if((ie=this.at(lt-1))!=null&&ie.parentPrompt){this._anchor=this.normalizeOffset(lt-1),this._position=this._anchor,this._selection=this.normalizeSelection(this._anchor);return}if((le=this.at(lt+1))!=null&&le.parentPrompt){this._anchor=this.normalizeOffset(lt+1),this._position=this._anchor,this._selection=this.normalizeSelection(this._anchor);return}this._anchor=0,this._position=0,this._selection={ranges:[[0,0]]};return}this._anchor=lt,this._position=lt,this._selection=ve;return}const be=Fc(ve);ve.direction==="backward"?[this._position,this._anchor]=be:[this._anchor,this._position]=be;const Ne=this.at(be[0]+1),ze=this.at(be[1]),Ge=ga.commonAncestor(Ne,ze);(Ge==null?void 0:Ge.type)==="array"&&Ne.parent===Ge&&ze.parent===Ge?this._selection={ranges:[be],direction:ve.direction}:this._selection={ranges:[be],direction:ve.direction},console.assert(this._position>=0&&this._position<=this.lastOffset)})}setPositionHandlingPlaceholder(a){var y;const z=this.at(a);(z==null?void 0:z.type)==="placeholder"?this.setSelection(a-1,a):((y=z==null?void 0:z.rightSibling)==null?void 0:y.type)==="placeholder"?this.setSelection(a,a+1):this.position=a,z instanceof pu&&z.isSuggestion&&(z.isSuggestion=!1),this.mathfield.stopCoalescingUndo()}get position(){return this._position}set position(a){this.setSelection(a,a)}get anchor(){return this._anchor}get selectionIsCollapsed(){return this._anchor===this._position}get selectionIsPlaceholder(){return Math.abs(this._anchor-this._position)===1?this.at(Math.max(this._anchor,this._position)).type==="placeholder":!1}collapseSelection(a="forward"){return this._anchor===this._position?!1:(a==="backward"?this.position=Math.min(this._anchor,this._position):this.position=Math.max(this._anchor,this._position),!0)}get lastOffset(){return this.atoms.length-1}at(a){return this.atoms[a]}offsetOf(a){return this.atoms.indexOf(a)}getSiblingsRange(a){const y=this.at(a),{parent:z}=y;if(!z)return[0,this.lastOffset];const ie=y.parent.branch(y.parentBranch);return[this.offsetOf(ie[0]),this.offsetOf(ie[ie.length-1])]}getBranchRange(a,y){const z=this.at(a).branch(y);return[this.offsetOf(z[0]),this.offsetOf(z[z.length-1])]}getAtoms(a,y,z){let ie=z!=null?z:{};if(wh(a)){if(ie=y!=null?y:{},a.ranges.length>1)return a.ranges.reduce((Ge,lt)=>[...Ge,...this.getAtoms(lt,ie)],[]);a=a.ranges[0]}let le,ve;if(Wl(a)){if(le=a,!Wl(y))return[];ve=y}else[le,ve]=a,ie=y!=null?y:{};if(!Number.isFinite(le))return[];ie.includeChildren===void 0&&(ie.includeChildren=!1),le<0&&(le=this.lastOffset-le+1),ve<0&&(ve=this.lastOffset-ve+1);const be=Math.min(le,ve)+1,Ne=Math.max(le,ve);if(!ie.includeChildren&&be===1&&Ne===this.lastOffset)return[this.root];let ze=[];for(let Ge=be;Ge<=Ne;Ge++){const lt=this.atoms[Ge];Ju(this,lt,be,Ne)&&ze.push(lt)}return ie.includeChildren||(ze=ze.filter(Ge=>{let lt=!1,{parent:Tt}=Ge;for(;Tt&&!lt;)lt=Ju(this,Tt,be,Ne),Tt=Tt.parent;return!lt})),ze}getAllAtoms(a=0){const y=[],z=this.lastOffset;for(let ie=a;ie<=z;ie++)y.push(this.atoms[ie]);for(let ie=0;ie=0;ve--)if(ie=this.atoms[ve],a(ie))return ie;for(let ve=le;ve>y;ve--)if(ie=this.atoms[ve],a(ie))return ie}extractAtoms(a){let y=this.getAtoms(a);if(y.length===1&&!y[0].parent)if(y[0].type==="root")y=[...y[0].body],y.shift();else return y=this.root.cells.flat(),this.root=new ga({type:"root",body:[]}),y;for(const z of y)z.parent.removeChild(z);return y}deleteAtoms(a){this.extractAtoms(a),this.position=a[0]}atomToString(a,y){const z=y!=null?y:"latex";if(z.startsWith("latex"))return ga.serialize([a],{expandMacro:z==="latex-expanded",skipStyles:z==="latex-unstyled",skipPlaceholders:z==="latex-without-placeholders",defaultMode:this.mathfield.options.defaultMode});if(z==="math-ml")return Tc(a);if(z==="spoken")return _c(a);if(z==="spoken-text"){const ie=window.MathfieldElement.textToSpeechMarkup;window.MathfieldElement.textToSpeechMarkup="";const le=_c(a);return window.MathfieldElement.textToSpeechMarkup=ie,le}if(z==="spoken-ssml"||z==="spoken-ssml-with-highlighting"){const ie=window.MathfieldElement.textToSpeechMarkup;window.MathfieldElement.textToSpeechMarkup="ssml";const le=_c(a);return window.MathfieldElement.textToSpeechMarkup=ie,le}return z==="ascii-math"?Rd(a):(console.error(`MathLive 0.98.5: Unexpected format "${z}`),"")}getValue(a,y,z){if(a===void 0)return this.atomToString(this.root,"latex");if(typeof a=="string"&&a!=="math-json")return this.atomToString(this.root,a);let ie,le;if(Wl(a)&&Wl(y)?(ie=[this.normalizeRange([a,y])],le=z):df(a)?(ie=[this.normalizeRange(a)],le=y):wh(a)?(ie=a.ranges,le=y):(ie=[this.normalizeRange([0,-1])],le=a),le!=null||(le="latex"),le==="math-json"){if(!window.MathfieldElement.computeEngine)return window[Symbol.for("io.cortexjs.compute-engine")]||console.error(`The CortexJS Compute Engine library is not available. -Load the library, for example with: -import "https://unpkg.com/@cortex-js/compute-engine?module"`),'["Error", "compute-engine-not-available"]';const ve=this.getValue({ranges:ie},"latex-unstyled");try{const be=window.MathfieldElement.computeEngine.parse(ve);return JSON.stringify(be.json)}catch(be){return JSON.stringify(["Error",`'${be.toString()}'`])}}if(le.startsWith("latex")){const ve={expandMacro:le==="latex-expanded",skipStyles:le==="latex-unstyled",skipPlaceholders:le==="latex-without-placeholders",defaultMode:this.mathfield.options.defaultMode};return ju(ie.map(be=>ga.serialize(this.getAtoms(be),ve)))}return ie.map(ve=>this.getAtoms(ve).map(be=>this.atomToString(be,le)).join("")).join("")}extendSelectionTo(a,y){return!this.mathfield.contentEditable&&this.mathfield.userSelect==="none"?!1:this.deferNotifications({selection:!0},()=>{const z=this.normalizeRange([a,y]);let[ie,le]=z,{parent:ve}=this.at(le);if(ve&&(ve.type==="genfrac"||ve.type==="subsup"))for(;ve!==this.root&&$c(this,ve,[ie,le]);)le=this.offsetOf(ve),ve=ve.parent;for(ve=this.at(ie).parent;ve!==this.root&&$c(this,ve,[ie,le]);)ie=this.offsetOf(ve.leftSibling),ve=ve.parent;if(ve=this.at(le).parent,(ve==null?void 0:ve.type)==="genfrac")for(;ve!==this.root&&$c(this,ve,[ie,le]);)le=this.offsetOf(ve),console.assert(le>=0),ve=ve.parent;this._position=this.normalizeOffset(y),this._selection={ranges:[[ie,le]],direction:"none"}})}announce(a,y,z=[]){var ie,le;((le=(ie=this.mathfield.host)==null?void 0:ie.dispatchEvent(new CustomEvent("announce",{detail:{command:a,previousPosition:y,atoms:z},cancelable:!0,bubbles:!0,composed:!0})))!=null?le:!0)&&Zu(this.mathfield,a,y,z)}deferNotifications(a,y){const z=this._selection,ie=this._anchor,le=this._position,ve=this.silenceNotifications;this.silenceNotifications=!0;const be=this.root.changeCounter;y();const Ne=this.root.changeCounter!==be,ze=ie!==this._anchor||le!==this._position||gh(this._selection,z)==="different";return this.silenceNotifications=ve,a.content&&Ne&&this.contentDidChange({inputType:a.type}),a.selection&&ze&&this.selectionDidChange(),Ne||ze}normalizeOffset(a){return a>0?a=Math.min(a,this.lastOffset):a<0&&(a=this.lastOffset+a+1),a}normalizeRange(a){let[y,z]=a;return y=this.normalizeOffset(y),z=this.normalizeOffset(z),ythis.normalizeRange(le)),direction:(z=a.direction)!=null?z:"none"});return console.assert(ie!==void 0),ie}get parentEnvironment(){let a=this.at(this.position).parent;if(a){for(;a.parent&&a.type!=="array";)a=a.parent;if(a.type==="array")return a}}get cell(){var a;let y=this.at(this.position);if(y){for(;y&&((a=y.parent)==null?void 0:a.type)!=="array";)y=y.parent;if(!(!(y!=null&&y.parent)||y.parent.type!=="array"))return y.parentBranch}}contentWillChange(a={}){if(this.silenceNotifications||!this.mathfield)return!0;const y=this.silenceNotifications;this.silenceNotifications=!0;const z=this.mathfield.onContentWillChange(a);return this.silenceNotifications=y,z}contentDidChange(a){var y;if(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this.mathfield)),this.silenceNotifications||!this.mathfield.host||!this.mathfield)return;const z=this.silenceNotifications;this.silenceNotifications=!0,this.mathfield.host.dispatchEvent(new InputEvent("input",_e(Xe({},a),{data:a.data?a.data:(y=a.inputType)!=null?y:"",bubbles:!0,composed:!0}))),this.silenceNotifications=z}selectionDidChange(){if(!this.mathfield||(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this.mathfield)),this.silenceNotifications))return;const a=this.silenceNotifications;this.silenceNotifications=!0,this.mathfield.onSelectionDidChange(),this.silenceNotifications=a}};function Ju(a,y,z,ie){const le=a.offsetOf(y);if(leie)return!1;if(!y.hasChildren)return!0;const ve=a.offsetOf(y.firstChild);if(ve>=z&&ve<=ie){const be=a.offsetOf(y.lastChild);if(be>=z&&be<=ie)return!0}return!1}function $c(a,y,z){if(!(y!=null&&y.hasChildren))return!1;const[ie,le]=z,ve=a.offsetOf(y.firstChild),be=a.offsetOf(y.lastChild);return ve>=ie&&ve<=le&&be>=ve&&be<=le}function Jo(a,y,z,ie){var le,ve,be,Ne,ze,Ge;const lt=z.parent;if(lt&&z instanceof Ae){const Tt=!ie&&y==="forward"||ie==="body"&&y==="backward";let An=Tt?a.offsetOf(z.firstChild):a.offsetOf(z.lastChild);return Tt?z.rightDelim!=="?"&&z.rightDelim!=="."?(z.leftDelim=".",z.isDirty=!0):(lt.addChildrenAfter(z.removeBranch("body"),z),lt.removeChild(z),An--):z.leftDelim!=="?"&&z.leftDelim!=="."?(z.rightDelim=".",z.isDirty=!0):(lt.addChildrenAfter(z.removeBranch("body"),z),lt.removeChild(z),An--),a.position=An,!0}if(lt&&z.type==="surd"){if(y==="forward"&&!ie||y==="backward"&&ie==="body"){const Tt=z.leftSibling;z.hasChildren&<.addChildrenAfter(z.removeBranch("body"),z),lt.removeChild(z),a.position=a.offsetOf(Tt)}else y==="forward"&&ie==="body"?a.position=a.offsetOf(z):!ie&&y==="backward"?z.hasChildren?a.position=a.offsetOf(z.lastChild):(a.position=Math.max(0,a.offsetOf(z)-1),lt.removeChild(z)):ie==="above"&&(z.hasEmptyBranch("above")&&z.removeBranch("above"),y==="backward"?a.position=a.offsetOf(z.leftSibling):a.position=a.offsetOf(z.body[0]));return!0}if(lt&&(z.type==="box"||z.type==="enclose")){const Tt=ie&&y==="backward"||!ie&&y==="forward"?z.leftSibling:z.lastChild;return lt.addChildrenAfter(z.removeBranch("body"),z),lt.removeChild(z),a.position=a.offsetOf(Tt),!0}if(z.type==="genfrac"||z.type==="overunder"){if(!ie)return z.type==="overunder"&&z.hasEmptyBranch("body")||z.type==="genfrac"&&z.hasEmptyBranch("below")&&z.hasEmptyBranch("above")?!1:(a.position=a.offsetOf(y==="forward"?z.firstChild:z.lastChild),!0);const Tt=kv.fractionNavigationOrder==="numerator-denominator"?"above":"below",An=Tt==="above"?"below":"above";if(lt&&(y==="forward"&&ie===Tt||y==="backward"&&ie===An)){const $n=z.removeBranch(Tt),br=z.removeBranch(An);return lt.addChildrenAfter([...$n,...br],z),lt.removeChild(z),a.position=a.offsetOf($n.length>0?$n[$n.length-1]:br[0]),!0}return y==="backward"?a.position=a.offsetOf(z.leftSibling):a.position=a.offsetOf(z),!0}if(z.isExtensibleSymbol||z.type==="subsup"){if(!ie&&y==="forward")return!1;if(!ie){if(z.subscript||z.superscript){const Tt=y==="forward"?(be=(le=z.superscript)==null?void 0:le[0])!=null?be:(ve=z.subscript)==null?void 0:ve[0]:(Ge=(Ne=z.subscript)==null?void 0:Ne[0].lastSibling)!=null?Ge:(ze=z.superscript)==null?void 0:ze[0].lastSibling;return Tt&&(a.position=a.offsetOf(Tt)),!0}return!1}if(!z.hasChildren&&z.type==="subsup"){const Tt=y==="forward"?a.offsetOf(z):Math.max(0,a.offsetOf(z)-1);return z.parent.removeChild(z),a.position=Tt,!0}if(ie==="superscript")if(y==="backward"){const Tt=a.offsetOf(z.firstChild)-1;console.assert(Tt>=0),a.position=Tt}else z.subscript?a.position=a.offsetOf(z.subscript[0]):a.position=a.offsetOf(z);else ie==="subscript"&&(y==="backward"&&z.superscript?a.position=a.offsetOf(z.superscript[0].lastSibling):y==="backward"?a.position=a.offsetOf(z.firstChild)-1:a.position=a.offsetOf(z));if(ie&&z.hasEmptyBranch(ie)&&(z.removeBranch(ie),z.type==="subsup"&&!z.subscript&&!z.superscript)){const Tt=y==="forward"?a.offsetOf(z):Math.max(0,a.offsetOf(z)-1);z.parent.removeChild(z),a.position=Tt}return!0}if((lt==null?void 0:lt.type)==="genfrac"&&!ie&&z.type!=="first"){let Tt=a.offsetOf(z.leftSibling);return lt.removeChild(z),lt.hasEmptyBranch("above")&<.hasEmptyBranch("below")?(Tt=a.offsetOf(lt.leftSibling),lt.parent.removeChild(lt),a.announce("delete",void 0,[lt]),a.position=Tt,!0):(a.announce("delete",void 0,[z]),a.position=Tt,!0)}if(y==="backward"&&((lt==null?void 0:lt.command)==="\\ln"||(lt==null?void 0:lt.command)==="\\log")&&z.parentBranch!=="body"){const Tt=a.offsetOf(lt.leftSibling);return lt.parent.removeChild(lt),a.announce("delete",void 0,[lt]),a.position=Tt,!0}return!1}function qu(a){return!a.mathfield.isSelectionEditable||!a.contentWillChange({inputType:"deleteContentBackward"})?!1:a.selectionIsCollapsed?a.deferNotifications({content:!0,selection:!0,type:"deleteContentBackward"},()=>{let y=a.at(a.position);if(!(y&&Jo(a,"backward",y))){if(y!=null&&y.isFirstSibling){if(Jo(a,"backward",y.parent,y.parentBranch))return;y=null}if(!y){a.announce("plonk");return}a.position=a.offsetOf(y.leftSibling),y.parent.removeChild(y),a.announce("delete",void 0,[y])}}):gc(a,Fc(a.selection),"deleteContentBackward")}function Sc(a){return!a.mathfield.isSelectionEditable||!a.contentWillChange({inputType:"deleteContentForward"})?!1:a.selectionIsCollapsed?a.deferNotifications({content:!0,selection:!0,type:"deleteContentForward"},()=>{var y,z;let ie=a.at(a.position).rightSibling;if(ie&&Jo(a,"forward",ie))return;if(ie){if(a.at(a.position).isLastSibling&&Jo(a,"forward",ie.parent,ie.parentBranch))return}else{if(ie=a.at(a.position),ie.isLastSibling&&Jo(a,"forward",ie.parent,ie.parentBranch))return;ie=void 0}if(a.position===a.lastOffset||!ie){a.announce("plonk");return}ie.parent.removeChild(ie);let le=(y=a.at(a.position))==null?void 0:y.rightSibling;for(;(le==null?void 0:le.type)==="subsup";)le.parent.removeChild(le),le=(z=a.at(a.position))==null?void 0:z.rightSibling;a.announce("delete",void 0,[ie])}):gc(a,Fc(a.selection),"deleteContentForward")}function gc(a,y,z){const ie=a.getAtoms(y);if(ie.length>0&&ie[0].parent){let le=ie[0].parent.firstChild;le.type==="first"&&(le=le.rightSibling);const ve=ie[ie.length-1].parent.lastChild;let be=ie[0];be.type==="first"&&(be=be.rightSibling);const Ne=ie[ie.length-1];if(be===le&&Ne===ve){const ze=ie[0].parent;ze.parent&&ze.type!=="prompt"&&(y=[a.offsetOf(ze.leftSibling),a.offsetOf(ze)])}if(ie.length===1&&ie[0].type==="placeholder"&&ie[0].parent.type==="genfrac"){const ze=ie[0].parent,Ge=ie[0].parentBranch==="below"?"above":"below",lt=a.offsetOf(ze.leftSibling);return a.deferNotifications({content:!0,selection:!0,type:z},()=>{var Tt,An;const $n=ze.removeBranch(Ge);if($n.length===1&&$n[0].type==="placeholder")(An=ze.parent)==null||An.removeChild(ze),a.position=Math.max(0,lt);else{const br=ze.parent.addChildrenAfter($n,ze);(Tt=ze.parent)==null||Tt.removeChild(ze),a.position=a.offsetOf(br)}})}}return a.deferNotifications({content:!0,selection:!0,type:z},()=>a.deleteAtoms(y))}qi({deleteAll:a=>a.contentWillChange({inputType:"deleteContent"})&&gc(a,[0,-1],"deleteContent"),deleteForward:a=>Sc(a),deleteBackward:a=>qu(a),deleteNextWord:a=>a.contentWillChange({inputType:"deleteWordForward"})&&gc(a,[a.anchor,bh(a,a.position,"forward")],"deleteWordForward"),deletePreviousWord:a=>a.contentWillChange({inputType:"deleteWordBackward"})&&gc(a,[a.anchor,bh(a,a.position,"backward")],"deleteWordBackward"),deleteToGroupStart:a=>a.contentWillChange({inputType:"deleteSoftLineBackward"})&&gc(a,[a.anchor,a.offsetOf(a.at(a.position).firstSibling)],"deleteSoftLineBackward"),deleteToGroupEnd:a=>a.contentWillChange({inputType:"deleteSoftLineForward"})&&gc(a,[a.anchor,a.offsetOf(a.at(a.position).lastSibling)],"deleteSoftLineForward"),deleteToMathFieldStart:a=>a.contentWillChange({inputType:"deleteHardLineBackward"})&&gc(a,[a.anchor,0],"deleteHardLineBackward"),deleteToMathFieldEnd:a=>a.contentWillChange({inputType:"deleteHardLineForward"})&&gc(a,[a.anchor,-1],"deleteHardLineForward")},{target:"model",audioFeedback:"delete",canUndo:!0,changeContent:!0,changeSelection:!0});var Dd=``,Bf=``,Zc=class{constructor(a,y){this.focusBlurInProgress=!1;var z,ie,le;this.options=Xe(_e(Xe({},uh()),{macros:Ii(),registers:cf()}),Gd(y)),this.eventController=new AbortController;const ve=this.eventController.signal;y.eventSink&&(this.host=y.eventSink),this.element=a,a.mathfield=this,this.blurred=!0,this.keystrokeCaptionVisible=!1,this.suggestionIndex=0,this.inlineShortcutBuffer=[],this.inlineShortcutBufferFlushTimer=0,this.defaultStyle={},this.adoptStyle="left",this.options.defaultMode==="inline-math"?this.element.classList.add("ML__is-inline"):this.element.classList.remove("ML__is-inline"),this.dirty=!1;let be=(ie=(z=y.value)!=null?z:this.element.textContent)!=null?ie:"";be=be.trim();const Ne=af(this.options),ze=new ga({type:"root",mode:Ne,body:Fn(be,{context:this.context})});this.model=new Tl(this,Ne,ze),this.undoManager=new Fu(this.model);const Ge=[];if(Ge.push(""),Ge.push('"),Ge.push(""),Ge.push(""),Ge.push(""),this.element.innerHTML=window.MathfieldElement.createHTML(Ge.join("")),!this.element.children){console.error("%cMathLive 0.98.5: Something went wrong and the mathfield could not be created.%c\nIf you are using Vue, this may be because you are using the runtime-only build of Vue. Make sure to include `runtimeCompiler: true` in your Vue configuration. There may a warning from Vue in the log above.","color:red;font-family:system-ui;font-size:1.2rem;font-weight:bold","color:inherit;font-family:system-ui;font-size:inherit;font-weight:inherit");return}this._l10Subscription=$t.subscribe(()=>$t.update(this.element)),$t.update(this.element),this.field=this.element.querySelector("[part=content]"),this.field.addEventListener("click",Tt=>Tt.stopImmediatePropagation(),{capture:!1,signal:ve}),this.field.addEventListener("wheel",this,{passive:!1,signal:ve}),"PointerEvent"in window?this.field.addEventListener("pointerdown",this,{signal:ve}):this.field.addEventListener("mousedown",this,{signal:ve}),(le=this.element.querySelector("[part=virtual-keyboard-toggle]"))==null||le.addEventListener("click",()=>{window.mathVirtualKeyboard.visible?window.mathVirtualKeyboard.hide():(window.mathVirtualKeyboard.show({animate:!0}),window.mathVirtualKeyboard.update(g0(this)))},{signal:ve}),this._menu=new vm(Mt(this),{host:this.host}),this.field.addEventListener("contextmenu",this,{signal:ve});const lt=this.element.querySelector("[part=menu-toggle]");lt==null||lt.addEventListener("pointerdown",Tt=>{if(Tt.currentTarget!==lt||this._menu.state!=="closed")return;this.element.classList.add("tracking");const An=lt.getBoundingClientRect();this._menu.modifiers=h0(Tt),this._menu.show({target:lt,location:{x:An.left,y:An.bottom},onDismiss:()=>this.element.classList.remove("tracking")}),Tt.preventDefault(),Tt.stopPropagation()},{signal:ve}),(this.model.atoms.length<=1||this.disabled||this.readOnly&&!this.hasEditableContent||this.userSelect==="none")&&(lt.style.display="none"),this.ariaLiveText=this.element.querySelector("[role=status]"),this.keyboardDelegate=fv(this.element.querySelector(".ML__keyboard-sink"),this.element,this),window.addEventListener("resize",this,{signal:ve}),document.addEventListener("scroll",this,{signal:ve}),this.resizeObserver=new ResizeObserver(()=>Pn(this)),this.resizeObserver.observe(this.field),window.mathVirtualKeyboard.addEventListener("virtual-keyboard-toggle",this,{signal:ve}),Z0&&!$t.locale.startsWith(Z0.locale)&&uv($t.locale),Oe!=="ready"&&document.fonts.ready.then(()=>_t(this)),a.querySelector("[part=container]").style.removeProperty("visibility"),this.undoManager.startRecording(),this.undoManager.snapshot("set-value")}get defaultStyle(){return this._defaultStyle}set defaultStyle(a){this._defaultStyle=a}get effectiveStyle(){if(this.adoptStyle==="none")return this.defaultStyle;const a=this.model.at(this.model.position),y=this.adoptStyle==="right"?a.rightSibling:a;if(!y)return this.defaultStyle;if(y.type==="group"){const z=y.branch("body");return!z||z.length<2?{}:this.adoptStyle==="right"?z[1].computedStyle:z[z.length-1].computedStyle}return y.computedStyle}connectToVirtualKeyboard(){this.connectedToVirtualKeyboard||(this.connectedToVirtualKeyboard=!0,window.addEventListener("message",this,{signal:this.eventController.signal}),window.mathVirtualKeyboard.connect(),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this)),vg(this))}disconnectFromVirtualKeyboard(){this.connectedToVirtualKeyboard&&(window.removeEventListener("message",this),window.mathVirtualKeyboard.disconnect(),this.connectedToVirtualKeyboard=!1,gg())}showMenu(a){var y,z;const ie=(z=(y=a==null?void 0:a.location)!=null?y:ih(this.field))!=null?z:void 0,le=a==null?void 0:a.modifiers,ve=this.element.querySelector("[part=container]");return this._menu.show({target:ve,location:ie,modifiers:le})}get colorMap(){return a=>{var y,z,ie;return(ie=(z=(y=this.options).colorMap)==null?void 0:z.call(y,a))!=null?ie:pn(a)}}get backgroundColorMap(){return a=>{var y,z,ie,le,ve,be;return(be=(ve=(z=(y=this.options).backgroundColorMap)==null?void 0:z.call(y,a))!=null?ve:(le=(ie=this.options).colorMap)==null?void 0:le.call(ie,a))!=null?be:et(a)}}get smartFence(){var a;return(a=this.options.smartFence)!=null?a:!1}get readOnly(){var a;return(a=this.options.readOnly)!=null?a:!1}get disabled(){var a,y;return(y=(a=this.host)==null?void 0:a.disabled)!=null?y:!1}get contentEditable(){return this.host?this.host.getAttribute("contenteditable")!=="false":!1}get userSelect(){if(!this.host)return"";const a=getComputedStyle(this.host);return a.getPropertyValue("user-select")||a.getPropertyValue("-webkit-user-select")}get hasEditableContent(){return this.disabled||!this.contentEditable?!1:!this.readOnly||this.hasEditablePrompts}get hasEditablePrompts(){return this.readOnly&&!this.disabled&&this.contentEditable&&this.model.findAtom(a=>a.type==="prompt"&&!a.locked)!==void 0}get isSelectionEditable(){if(this.disabled||!this.contentEditable)return!1;if(!this.readOnly)return!0;const a=this.model.at(this.model.anchor),y=this.model.at(this.model.position),z=ga.commonAncestor(a,y);return!!((z==null?void 0:z.type)==="prompt"||z!=null&&z.parentPrompt)}get letterShapeStyle(){var a;return(a=this.options.letterShapeStyle)!=null?a:"tex"}get minFontScale(){return this.options.minFontScale}get selectionStyle(){if(this.model.selectionIsCollapsed)return this.effectiveStyle;const a=this.model.getAtoms(this.model.selection);if(a.length===0)return{};const y=Xe({},a[0].style);for(const z of a)for(const[ie,le]of Object.entries(z.style))y[ie]!==le&&delete y[ie];return y}queryStyle(a){const y=bv(this,a);"verbatimColor"in y&&delete y.verbatimColor,"verbatimBackgroundColor"in y&&delete y.verbatimBackgroundColor;const z=Object.keys(y).length;if(z===0)return"all";if(z>1){for(const ze of Object.keys(y)){const Ge=this.queryStyle({[ze]:y[ze]});if(Ge==="none")return"none";if(Ge==="some")return"some"}return"all"}const ie=Object.keys(y)[0],le=y[ie];if(this.model.selectionIsCollapsed)return this.effectiveStyle[ie]===le?"all":"none";const ve=this.model.getAtoms(this.model.selection,{includeChildren:!0});let be=ve.length;if(be===0)return"none";let Ne=0;for(const ze of ve){if(ze.type==="first"){be-=1;continue}ze.style[ie]===le&&(Ne+=1)}return Ne===0?"none":Ne===be?"all":"some"}get keybindings(){var a,y;if(this._keybindings)return this._keybindings;const[z,ie]=Hp(this.options.keybindings,(a=X0())!=null?a:cv());return((y=X0())==null?void 0:y.score)>0&&(this._keybindings=z,ie.length>0&&console.error("MathLive 0.98.5: Invalid keybindings for current keyboard layout",ie)),z}get menu(){return this._menu}setOptions(a){var y;this.options=Xe(Xe({},this.options),Gd(a)),this._keybindings=void 0,this.options.defaultMode==="inline-math"?this.element.classList.add("ML__is-inline"):this.element.classList.remove("ML__is-inline");let z=this.options.defaultMode;z==="inline-math"&&(z="math"),((y=this.model.root.firstChild)==null?void 0:y.mode)!==z&&(this.model.root.firstChild.mode=z),this.options.readOnly&&this.hasFocus()&&window.mathVirtualKeyboard.visible&&this.executeCommand("hideVirtualKeyboard");const ie=ga.serialize([this.model.root],{expandMacro:!1,defaultMode:this.options.defaultMode});("macros"in a||this.model.getValue()!==ie)&&su.insert(this.model,ie,{insertionMode:"replaceAll",selectionMode:"after",format:"latex",silenceNotifications:!0,mode:"math"}),("value"in a||"macros"in a||"registers"in a||"colorMap"in a||"backgroundColorMap"in a||"letterShapeStyle"in a||"minFontScale"in a||"readOnly"in a||"placeholderSymbol"in a)&&Pn(this)}getOptions(a){return Ad(this.options,a)}getOption(a){return Ad(this.options,a)}handleEvent(a){return tg(this,null,function*(){var y;if(kf(this)){if(Uo(a)){if(!E0(a.origin,(y=this.options.originValidator)!=null?y:"none"))throw new DOMException(`Message from unknown origin (${a.origin}) cannot be handled`,"SecurityError");const{action:z}=a.data;if(z==="execute-command"){const ie=a.data.command;if(ca(ie)==="virtual-keyboard")return;this.executeCommand(ie)}else z==="update-state"||(z==="focus"?this.focus({preventScroll:!0}):z==="blur"&&this.blur());return}switch(a.type){case"focus":this.onFocus();break;case"blur":this.onBlur();break;case"mousedown":this.userSelect!=="none"&&jv(this,a);break;case"pointerdown":this.userSelect!=="none"&&(jv(this,a),a.shiftKey===!1&&(yield Uv(a,this.element.querySelector("[part=container]"),this._menu))&&Hg.stop());break;case"contextmenu":this.userSelect!=="none"&&a.shiftKey===!1&&(yield Uv(a,this.element.querySelector("[part=container]"),this._menu))&&Hg.stop();break;case"virtual-keyboard-toggle":this.hasFocus()&&vg(this);break;case"resize":this.geometryChangeTimer&&cancelAnimationFrame(this.geometryChangeTimer),this.geometryChangeTimer=requestAnimationFrame(()=>kf(this)&&this.onGeometryChange());break;case"scroll":this.geometryChangeTimer&&cancelAnimationFrame(this.geometryChangeTimer),this.geometryChangeTimer=requestAnimationFrame(()=>kf(this)&&this.onGeometryChange());break;case"wheel":this.onWheel(a);break;default:console.warn("Unexpected event type",a.type)}}})}dispose(){if(!kf(this))return;$t.unsubscribe(this._l10Subscription),this.keyboardDelegate.dispose(),this.keyboardDelegate=void 0,this.eventController.abort(),this.eventController=void 0,this.resizeObserver.disconnect(),window.mathVirtualKeyboard.removeEventListener("virtual-keyboard-toggle",this),this.disconnectFromVirtualKeyboard(),this.model.dispose();const a=this.element;delete a.mathfield,this.element=void 0,this.host=void 0,this.field=void 0,this.ariaLiveText=void 0,Tg(),Ng(),Om()}flushInlineShortcutBuffer(a){if(a!=null||(a={defer:!1}),!a.defer){this.inlineShortcutBuffer=[],clearTimeout(this.inlineShortcutBufferFlushTimer),this.inlineShortcutBufferFlushTimer=0;return}this.options.inlineShortcutTimeout>0&&(clearTimeout(this.inlineShortcutBufferFlushTimer),this.inlineShortcutBufferFlushTimer=setTimeout(()=>this.flushInlineShortcutBuffer(),this.options.inlineShortcutTimeout))}executeCommand(a){return ca(a)==="virtual-keyboard"?(this.focus({preventScroll:!0}),window.mathVirtualKeyboard.executeCommand(a),requestAnimationFrame(()=>window.mathVirtualKeyboard.update(g0(this))),!1):Ra(this,a)}get errors(){return Ar(this.model.getValue(),{context:this.context})}getValue(a,y,z){return this.model.getValue(a,y,z)}setValue(a,y){var z;y=y!=null?y:{mode:"math"},y.insertionMode===void 0&&(y.insertionMode="replaceAll"),(y.format===void 0||y.format==="auto")&&(y.format="latex"),(y.mode===void 0||y.mode==="auto")&&(y.mode=(z=Vh(this.model,this.model.position))!=null?z:"math");const ie=this.undoManager.canUndo();su.insert(this.model,a,y)&&(Pn(this),ie||this.undoManager.reset(),this.undoManager.snapshot("set-value"))}get expression(){const a=window.MathfieldElement.computeEngine;return a?a.box(a.parse(this.model.getValue("latex-unstyled"))):(console.error("MathLive 0.98.5: no compute engine available. Make sure the Compute Engine library is loaded."),null)}scrollIntoView(){var a;if(!this.element)return;if(this.host){if(this.options.onScrollIntoView)this.options.onScrollIntoView(this);else if(this.host.scrollIntoView({block:"nearest",inline:"nearest"}),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.container===window.document.body){const ie=window.mathVirtualKeyboard.boundingRect,le=this.host.getBoundingClientRect();le.bottom>ie.top&&((a=window.document.scrollingElement)==null||a.scrollBy(0,le.bottom-ie.top+8))}}this.dirty&&mn(this,{interactive:!0});const y=this.field.getBoundingClientRect();let z=null;if(this.model.selectionIsCollapsed)z=ih(this.field);else{const ie=l0(this);if(ie.length>0){let le=-1/0,ve=-1/0;for(const be of ie)be.right>le&&(le=be.right),be.topie.bottom&&(ve=le-ie.bottom+this.host.scrollTop+z.height),this.host.scroll({top:ve,left:0})}if(z){const ie=z.x-window.scrollX;let le=this.field.scrollLeft;iey.right&&(le=ie-y.right+this.field.scrollLeft+20),this.field.scroll({top:this.field.scrollTop,left:le})}}insert(a,y){return typeof a!="string"||a.length===0&&((y==null?void 0:y.insertionMode)==="insertBefore"||(y==null?void 0:y.insertionMode)==="insertAfter")||a.length===0&&this.model.selectionIsCollapsed?!1:(this.flushInlineShortcutBuffer(),y=y!=null?y:{mode:"math"},y.focus&&this.focus(),y.feedback&&(window.MathfieldElement.keypressVibration&&pt()&&navigator.vibrate(wr),window.MathfieldElement.playSound("keypress")),a==="\\\\"?wp(this.model):a==="&"?Bp(this.model):this.model.selectionIsCollapsed?su.insert(this.model,a,Xe({style:this.model.at(this.model.position).computedStyle},y)):su.insert(this.model,a,y),this.snapshot(`insert-${this.model.at(this.model.position).type}`),Pn(this),y.scrollIntoView&&this.scrollIntoView(),!0)}switchMode(a,y="",z=""){var ie;if(this.model.mode===a||!this.hasEditableContent||!this.contentEditable||this.disabled)return;const le=this.model.mode;if(this.model.mode=a,!((ie=this.host)!=null&&ie.dispatchEvent(new Event("mode-change",{bubbles:!0,composed:!0,cancelable:!0})))){this.model.mode=le;return}const ve=this.model.mode,{model:be}=this;be.deferNotifications({content:!!z||!!y,selection:!0,type:"insertText"},()=>{let Ne=!1;if(this.flushInlineShortcutBuffer(),this.stopCoalescingUndo(),y&&a!=="latex"){const ze=Fn(y,{context:this.context,parseMode:a});be.collapseSelection("forward");const Ge=be.at(be.position);be.position=be.offsetOf(Ge.parent.addChildrenAfter(ze,Ge)),Ne=!0}if(this.model.mode=a,a==="latex"){let ze=be.selectionIsCollapsed;M0(this,"accept");let Ge,lt=be.at(be.position);if(ze)Ge="\\";else{const An=Fc(be.selection);Ge=this.model.getValue(An,"latex");const $n=this.model.extractAtoms(An);$n.length===1&&$n[0].type==="placeholder"&&(Ge=y,ze=!0),lt=be.at(An[0])}const Tt=new td(Ge);lt.parent.addChildAfter(Tt,lt),ze?be.position=be.offsetOf(Tt.lastChild):be.setSelection(be.offsetOf(Tt.firstChild),be.offsetOf(Tt.lastChild))}else vp(be).forEach(ze=>{ze.isError=!1});if(z){const ze=Fn(z,{context:this.context,parseMode:ve});be.collapseSelection("forward");const Ge=be.at(be.position);be.position=be.offsetOf(Ge.parent.addChildrenAfter(ze,Ge)),Ne=!0}return Pn(this),this.undoManager.snapshot(a==="latex"?"insert-latex":"insert"),Ne}),this.model.mode=a,window.mathVirtualKeyboard.update(g0(this))}hasFocus(){return!this.blurred}focus(a){var y;this.hasFocus()||(this.keyboardDelegate.focus(),this.connectToVirtualKeyboard(),this.onFocus(),this.model.announce("line")),(y=a==null?void 0:a.preventScroll)!=null&&y||this.scrollIntoView()}blur(){this.disconnectFromVirtualKeyboard(),this.hasFocus()&&this.keyboardDelegate.blur()}select(){this.model.selection={ranges:[[0,this.model.lastOffset]]},this.focus()}applyStyle(a,y={}){var z,ie;const le={operation:"set",silenceNotifications:!1};df(y)?le.range=y:(y.operation==="toggle"&&(le.operation="toggle"),le.range=y.range,le.silenceNotifications=(z=y.silenceNotifications)!=null?z:!1);const ve=bv(this,a),be=(ie=le.operation)!=null?ie:"set";if(le.range===void 0&&this.model.selectionIsCollapsed){if(be==="set"){this.defaultStyle=Xe(Xe({},this.defaultStyle),ve);return}const Ne=Xe({},this.defaultStyle);for(const ze of Object.keys(ve))Ne[ze]===ve[ze]?(ze==="color"&&delete Ne.verbatimColor,ze==="backgroundColor"&&delete Ne.verbatimBackgroundColor,delete Ne[ze]):Ne[ze]=ve[ze];this.defaultStyle=Ne;return}this.model.deferNotifications({content:!le.silenceNotifications,type:"insertText"},()=>{if(le.range===void 0)for(const Ne of this.model.selection.ranges)ws(this.model,Ne,ve,{operation:be});else ws(this.model,le.range,ve,{operation:be})}),Pn(this)}toggleContextMenu(){var a;return this._menu.visible?this._menu.state==="open"?(this._menu.hide(),!0):(this._menu.show({target:this.element.querySelector("[part=container]"),location:(a=this.getCaretPoint())!=null?a:void 0,onDismiss:()=>{var y;return(y=this.element)==null?void 0:y.focus()}}),!0):!1}getCaretPoint(){const a=ih(this.field);return a?{x:a.x,y:a.y}:null}setCaretPoint(a,y){const z=$0(this,a,y,{bias:0});if(z<0)return!1;const ie=this.model.position;return this.model.position=z,this.model.announce("move",ie),Pn(this),!0}getPrompt(a){const y=this.model.findAtom(z=>z.type==="prompt"&&z.placeholderId===a);return console.assert(y!==void 0,"MathLive 0.98.5: no prompts with matching ID found"),y}getPromptValue(a,y){const z=this.getPrompt(a);if(!z)return"";const ie=this.model.offsetOf(z.firstChild),le=this.model.offsetOf(z.lastChild);return this.model.getValue(ie,le,y)}getPrompts(a){return this.model.getAllAtoms().filter(y=>y.type!=="prompt"?!1:a?!(a.id&&y.placeholderId!==a.id||a.locked&&y.locked!==a.locked||a.correctness==="undefined"&&y.correctness||a.correctness&&y.correctness!==a.correctness):!0).map(y=>y.placeholderId)}setPromptValue(a,y,z){if(y!==void 0){const ie=this.getPrompt(a);if(!ie){console.error(`MathLive 0.98.5: unknown prompt ${a}`);return}const le=this.model.getBranchRange(this.model.offsetOf(ie),"body");this.model.setSelection(le),this.insert(y,_e(Xe({},z),{insertionMode:"replaceSelection"}))}z!=null&&z.silenceNotifications&&(this.valueOnFocus=this.getValue()),Pn(this)}setPromptState(a,y,z){const ie=this.getPrompt(a);if(!ie){console.error(`MathLive 0.98.5: unknown prompt ${a}`);return}y==="undefined"?ie.correctness=void 0:typeof y=="string"&&(ie.correctness=y),typeof z=="boolean"&&(ie.locked=z,ie.captureSelection=z),Pn(this)}getPromptState(a){const y=this.getPrompt(a);return y?[y.correctness,y.locked]:(console.error(`MathLive 0.98.5: unknown prompt ${a}`),[void 0,!0])}getPromptRange(a){const y=this.getPrompt(a);return y?this.model.getBranchRange(this.model.offsetOf(y),"body"):(console.error(`MathLive 0.98.5: unknown prompt ${a}`),[0,0])}canUndo(){return this.undoManager.canUndo()}canRedo(){return this.undoManager.canRedo()}popUndoStack(){this.undoManager.pop()}snapshot(a){var y;this.undoManager.snapshot(a)&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this)),(y=this.host)==null||y.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"snapshot"}})))}stopCoalescingUndo(){this.undoManager.stopCoalescing(this.model.selection)}stopRecording(){this.undoManager.stopRecording()}startRecording(){this.undoManager.startRecording()}undo(){var a;this.undoManager.undo()&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this)),(a=this.host)==null||a.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"undo"}})))}redo(){var a;this.undoManager.redo()&&(window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this)),(a=this.host)==null||a.dispatchEvent(new CustomEvent("undo-state-change",{bubbles:!0,composed:!0,detail:{type:"undo"}})))}resetUndo(){var a;(a=this.undoManager)==null||a.reset()}onSelectionDidChange(){var a,y;const z=this.model;this.keyboardDelegate.setValue(z.getValue(this.model.selection,"latex-expanded"));{const ie=z.at(z.position),le=(a=ie.mode)!=null?a:af(this.options);this.model.mode!==le&&(this.model.mode==="latex"?(M0(this,"accept",{mode:le}),z.position=z.offsetOf(ie)):this.switchMode(le))}(y=this.host)==null||y.dispatchEvent(new Event("selection-change",{bubbles:!0,composed:!0})),window.mathVirtualKeyboard.visible&&window.mathVirtualKeyboard.update(g0(this)),vg(this)}onContentWillChange(a){var y,z,ie;return(ie=(z=this.host)==null?void 0:z.dispatchEvent(new InputEvent("beforeinput",_e(Xe({},a),{data:a.data?a.data:(y=a.inputType)!=null?y:"",cancelable:!0,bubbles:!0,composed:!0}))))!=null?ie:!0}onFocus(){this.focusBlurInProgress||!this.blurred||(this.focusBlurInProgress=!0,this.blurred=!1,this.keyboardDelegate.focus(),this.stopCoalescingUndo(),mn(this,{interactive:!0}),this.valueOnFocus=this.model.getValue(),this.hasEditablePrompts&&!this.model.at(this.model.anchor).parentPrompt&&this.executeCommand("moveToNextPlaceholder"),this.focusBlurInProgress=!1)}onBlur(){var a,y,z;if(this.focusBlurInProgress||this.blurred)return;this.focusBlurInProgress=!0,this.stopCoalescingUndo(),this.blurred=!0,this.ariaLiveText.textContent="",K0(this),this.model.getValue()!==this.valueOnFocus&&((a=this.host)==null||a.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))),this.disconnectFromVirtualKeyboard(),(y=this.host)==null||y.dispatchEvent(new Event("blur",{bubbles:!1,composed:!0})),(z=this.host)==null||z.dispatchEvent(new UIEvent("focusout",{bubbles:!0,composed:!0})),Pn(this),this.focusBlurInProgress=!1,gg();const ie=new AbortController,le=ie.signal;document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&document.addEventListener("visibilitychange",()=>{kf(this)&&document.visibilityState==="visible"&&this.focus({preventScroll:!0})},{once:!0,signal:le})},{once:!0,signal:le}),setTimeout(()=>ie.abort(),100)}onInput(a){Gp(this,a)}onKeystroke(a){return fg(this,a)}onCompositionStart(a){this.model.deleteAtoms(Fc(this.model.selection));const y=ih(this.field);y&&requestAnimationFrame(()=>{mn(this),this.keyboardDelegate.moveTo(y.x,y.y-y.height)})}onCompositionUpdate(a){Pc(this.model,a),Pn(this)}onCompositionEnd(a){Rf(this.model),Gp(this,a,{simulateKeystroke:!0})}onCut(a){if(!this.isSelectionEditable){this.model.announce("plonk");return}this.model.contentWillChange({inputType:"deleteByCut"})&&(this.stopCoalescingUndo(),su.onCopy(this,a),gc(this.model,Fc(this.model.selection),"deleteByCut"),this.snapshot("cut"),Pn(this))}onCopy(a){su.onCopy(this,a)}onPaste(a){let y=this.isSelectionEditable;return y&&(y=su.onPaste(this.model.at(this.model.position).mode,this,a.clipboardData)),y||this.model.announce("plonk"),a.preventDefault(),a.stopPropagation(),y}onGeometryChange(){this._menu.hide(),Xp(this),vg(this)}onWheel(a){const y=5*a.deltaX;if(!Number.isFinite(y)||y===0)return;const z=this.field;y<0&&z.scrollLeft===0||y>0&&z.offsetWidth+z.scrollLeft>=z.scrollWidth||(z.scrollBy({top:0,left:y}),a.preventDefault(),a.stopPropagation())}getHTMLElement(a){let y=a;for(;!y.id&&y.hasChildren;)y=a.children[0];return this.field.querySelector(`[data-atom-id="${y.id}"]`)}get context(){var a,y;return{registers:(a=this.options.registers)!=null?a:{},smartFence:this.smartFence,letterShapeStyle:this.letterShapeStyle,minFontScale:this.minFontScale,placeholderSymbol:(y=this.options.placeholderSymbol)!=null?y:"\u25A2",colorMap:z=>this.colorMap(z),backgroundColorMap:z=>this.backgroundColorMap(z),getMacro:z=>gr(z,this.options.macros),atomIdsSettings:{seed:"random",groupNumbers:!1}}}};function jd(a){if(a&&(a.classList.remove("ML__highlight"),a.children))for(const y of a.children)jd(y)}function sf(a,y){var z;a&&(!y||((z=a.dataset)==null?void 0:z.atomId)===y?(a.classList.add("ML__highlight"),a.children&&a.children.length>0&&[...a.children].forEach(ie=>{ie instanceof HTMLElement&&sf(ie)})):(a.classList.remove("ML__highlight"),a.children&&a.children.length>0&&[...a.children].forEach(ie=>{ie instanceof HTMLElement&&sf(ie,y)})))}function Zd(a,y){var z;if(!Ye())return;if(window.MathfieldElement.speechEngine!=="amazon"){console.error("MathLive 0.98.5: Use Amazon TTS Engine for synchronized highlighting"),typeof window.MathfieldElement.speakHook=="function"&&window.MathfieldElement.speakHook(y);return}if(!window.AWS){console.error("MathLive 0.98.5: AWS SDK not loaded. See https://www.npmjs.com/package/aws-sdk");return}const ie=new window.AWS.Polly({apiVersion:"2016-06-10"}),le={OutputFormat:"json",VoiceId:(z=window.MathfieldElement.speechEngineVoice)!=null?z:"Joanna",Engine:"standard",Text:y,TextType:"ssml",SpeechMarkTypes:["ssml"]};eg().readAloudElement=a,ie.synthesizeSpeech(le,(ve,be)=>{if(ve){console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech()\` error: ${ve}`);return}if(!(be!=null&&be.AudioStream)){console.log("polly.synthesizeSpeech():",be);return}const Ne=new TextDecoder("utf-8").decode(new Uint8Array(be.AudioStream));eg().readAloudMarks=Ne.split(` -`).map(ze=>ze?JSON.parse(ze):{}),eg().readAloudTokens=[];for(const ze of eg().readAloudMarks)ze.value&&eg().readAloudTokens.push(ze.value);eg().readAloudCurrentMark="",le.OutputFormat="mp3",le.SpeechMarkTypes=[],ie.synthesizeSpeech(le,(ze,Ge)=>{if(ze){console.trace(`MathLive 0.98.5: \`polly.synthesizeSpeech("${y}") error:${ze}`);return}if(!(Ge!=null&&Ge.AudioStream))return;const lt=new Uint8Array(Ge.AudioStream),Tt=new Blob([lt.buffer],{type:"audio/mpeg"}),An=URL.createObjectURL(Tt),$n=eg();$n.readAloudAudio?$n.readAloudAudio.pause():($n.readAloudAudio=new Audio,$n.readAloudAudio.addEventListener("ended",()=>{const br=$n.readAloudMathfield;$n.readAloudStatus="ended",document.body.dispatchEvent(new Event("read-aloud-status-change",{bubbles:!0,composed:!0})),br?(mn(br),$n.readAloudElement=null,$n.readAloudMathfield=null,$n.readAloudTokens=[],$n.readAloudMarks=[],$n.readAloudCurrentMark=""):jd($n.readAloudElement)}),$n.readAloudAudio.addEventListener("timeupdate",()=>{let br="";const Gi=$n.readAloudAudio.currentTime*1e3+100;for(const zo of $n.readAloudMarks)zo.time!1:this._isFunction}static set isFunction(y){this._isFunction=y}static loadSound(y){return tg(this,null,function*(){delete this.audioBuffers[y];let z="";switch(y){case"keypress":z=this._keypressSound.default;break;case"return":z=this._keypressSound.return;break;case"spacebar":z=this._keypressSound.spacebar;break;case"delete":z=this._keypressSound.delete;break;case"plonk":z=this.plonkSound;break}if(typeof z!="string")return;z=z.trim();const ie=this.soundsDirectory;if(!(ie==null||ie==="null"||z==="none"||z==="null"))try{const ve=yield(yield fetch(yield Qp(`${ie}/${z}`))).arrayBuffer(),be=yield this.audioContext.decodeAudioData(ve);this.audioBuffers[y]=be}catch(le){}})}static playSound(y){return tg(this,null,function*(){if((this.audioContext.state==="suspended"||this.audioContext.state==="interrupted")&&(yield this.audioContext.resume()),this.audioBuffers[y]||(yield this.loadSound(y)),!this.audioBuffers[y])return;const z=this.audioContext.createBufferSource();z.buffer=this.audioBuffers[y];const ie=this.audioContext.createGain();ie.gain.value=k0,z.connect(ie).connect(this.audioContext.destination),z.start()})}constructor(y){if(super(),y){const z=[];for(const ie of Object.keys(y))if($p[ie])if($p[ie].startsWith("mf."))if($p[ie].startsWith(`mf.${ie}`))z.push(`Option \`${ie}\` cannot be used as a constructor option. Use ${$p[ie]}`);else{const le=$p[ie].match(/([a-zA-Z]+) =/);z.push(`Option \`${ie}\` has been renamed \`${le[1]}\``)}else z.push(`Option \`${ie}\` cannot be used as a constructor option. Use ${$p[ie]}`);if(z.length>0){console.group("%cMathLive 0.98.5: %cInvalid Options","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),console.warn("Some of the options passed to `new MathfieldElement(...)` are invalid. \n See https://cortexjs.io/mathlive/changelog/ for details.");for(const ie of z)console.warn(ie);console.groupEnd()}}if(qg()&&(this._internals=this.attachInternals(),this._internals.role="math",this._internals.ariaLabel="math input field",this._internals.ariaMultiLine="false"),this.attachShadow({mode:"open",delegatesFocus:!0}),this.shadowRoot&&"adoptedStyleSheets"in this.shadowRoot){this.shadowRoot.adoptedStyleSheets=[vh("core"),vh("mathfield"),vh("mathfield-element"),vh("ui"),vh("menu")],this.shadowRoot.appendChild(document.createElement("span"));const z=document.createElement("slot");z.style.display="none",this.shadowRoot.appendChild(z)}else this.shadowRoot.innerHTML="';y&&this._setOptions(y),this.shadowRoot.addEventListener("slotchange",()=>{var z;const ie=this.shadowRoot.querySelector("slot:not([name])");this.value=(z=ie==null?void 0:ie.assignedNodes().map(le=>le.nodeType===3?le.textContent:"").join("").trim())!=null?z:""})}showMenu(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.showMenu(y))!=null?ie:!1}get mathVirtualKeyboard(){throw new Error("The `mathVirtualKeyboard` property is not available on the MathfieldElement. Use `window.mathVirtualKeyboard` instead.")}onPointerDown(){window.addEventListener("pointerup",y=>{var z;y.target===this&&!((z=this._mathfield)!=null&&z.disabled)&&this.dispatchEvent(new MouseEvent("click",{altKey:y.altKey,button:y.button,buttons:y.buttons,clientX:y.clientX,clientY:y.clientY,ctrlKey:y.ctrlKey,metaKey:y.metaKey,movementX:y.movementX,movementY:y.movementY,relatedTarget:y.relatedTarget,screenX:y.screenX,screenY:y.screenY,shiftKey:y.shiftKey}))},{once:!0})}getPromptValue(y,z){var ie,le;return(le=(ie=this._mathfield)==null?void 0:ie.getPromptValue(y,z))!=null?le:""}setPromptValue(y,z,ie){var le;(le=this._mathfield)==null||le.setPromptValue(y,z,ie)}getPromptRange(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.getPromptRange(y))!=null?ie:null}getPrompts(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.getPrompts(y))!=null?ie:[]}get form(){var y;return(y=this._internals)==null?void 0:y.form}get name(){var y;return(y=this.getAttribute("name"))!=null?y:""}get type(){return this.localName}get mode(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.model.mode)!=null?z:this.defaultMode==="text"?"text":"math"}set mode(y){var z;(z=this._mathfield)==null||z.switchMode(y)}get expression(){if(this._mathfield)return window[Symbol.for("io.cortexjs.compute-engine")]?this._mathfield.expression:(console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. - - Load the library, for example with: - - import "https://unpkg.com/@cortex-js/compute-engine?module"`),null)}set expression(y){var z,ie;if(!this._mathfield)return;const le=(ie=(z=wg.computeEngine)==null?void 0:z.box(y).latex)!=null?ie:null;le!==null&&this._mathfield.setValue(le),window[Symbol.for("io.cortexjs.compute-engine")]||console.error(`MathLive 0.98.5: The CortexJS Compute Engine library is not available. - - Load the library, for example with: - - import "https://unpkg.com/@cortex-js/compute-engine?module"`)}get errors(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.errors)!=null?z:[]}_getOptions(y){return this._mathfield?Ad(this._mathfield.options,y):ac.has(this)?Xe({},Ad(Xe(Xe({},uh()),Gd(ac.get(this).options)),y)):null}getOptions(y){return console.warn("%cMathLive 0.98.5: %cDeprecated Usage%c\n `mf.getOptions()` is deprecated. Read the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem","color: inherit, font-size: 1rem"),this._mathfield?Ad(this._mathfield.options,y):ac.has(this)?Ad(Xe(Xe({},uh()),Gd(ac.get(this).options)),y):null}reflectAttributes(){const y=uh(),z=this._getOptions();Object.keys(wg.optionsAttributes).forEach(ie=>{const le=Np(ie);wg.optionsAttributes[ie]==="on/off"?y[le]!==z[le]?this.setAttribute(ie,z[le]?"on":"off"):this.removeAttribute(ie):y[le]!==z[le]&&(wg.optionsAttributes[ie]==="boolean"?z[le]?this.setAttribute(ie,""):this.removeAttribute(ie):(typeof z[le]=="string"||typeof z[le]=="number")&&this.setAttribute(ie,z[le].toString()))})}getOption(y){return console.warn("%cMathLive 0.98.5: %cDeprecated Usage%c\n `mf.getOption()` is deprecated. Read the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem","color: inherit, font-size: 1rem"),this._getOptions([y])[y]}_getOption(y){return this._getOptions([y])[y]}_setOptions(y){if(this._mathfield)this._mathfield.setOptions(y);else if(ac.has(this)){const z=Xe(Xe({},ac.get(this).options),y);ac.set(this,_e(Xe({},ac.get(this)),{selection:{ranges:z.readOnly?[[0,0]]:[[0,-1]]},options:z}))}else ac.set(this,{value:void 0,selection:{ranges:[[0,0]]},options:y,menuItems:void 0});this.reflectAttributes()}setOptions(y){console.group("%cMathLive 0.98.5: %cDeprecated Usage","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),console.warn(" `mf.setOptions()` is deprecated. Set the property directly on the mathfield instead.\n See https://cortexjs.io/mathlive/changelog/ for details.");for(const z of Object.keys(y))$p[z]&&console.warn(`\`mf.setOptions({${z}:...})\` -> ${$p[z]}`);console.groupEnd(),this._setOptions(y)}executeCommand(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.executeCommand(y))!=null?ie:!1}getValue(y,z,ie){var le,ve;if(this._mathfield)return this._mathfield.model.getValue(y,z,ie);if(ac.has(this)){let be,Ne,ze;if(wh(y)?([be,Ne]=y.ranges[0],ze=z):df(y)?([be,Ne]=y,ze=z):Wl(y)&&Wl(z)?(be=y,Ne=z,ze=ie):(be=0,Ne=-1,ze=y),(ze===void 0||ze==="latex")&&be===0&&Ne===-1)return(ve=(le=ac.get(this).value)!=null?le:this.textContent)!=null?ve:""}return""}setValue(y,z){if(this._mathfield&&y!==void 0){z!=null||(z={silenceNotifications:!0,mode:"math"}),this._mathfield.setValue(y,z);return}if(ac.has(this)){const le=ac.get(this).options;ac.set(this,{value:y,selection:{ranges:[[-1,-1]],direction:"forward"},options:le,menuItems:void 0});return}const ie=Lv(this);ac.set(this,{value:y,selection:{ranges:[[-1,-1]],direction:"forward"},options:ie,menuItems:void 0})}hasFocus(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.hasFocus())!=null?z:!1}focus(){var y;(y=this._mathfield)==null||y.focus()}blur(){var y;(y=this._mathfield)==null||y.blur()}select(){var y;(y=this._mathfield)==null||y.select()}insert(y,z){var ie,le;return(le=(ie=this._mathfield)==null?void 0:ie.insert(y,z))!=null?le:!1}applyStyle(y,z){var ie;return(ie=this._mathfield)==null?void 0:ie.applyStyle(y,z)}queryStyle(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.queryStyle(y))!=null?ie:"none"}get caretPoint(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.getCaretPoint())!=null?z:null}set caretPoint(y){var z;y&&((z=this._mathfield)==null||z.setCaretPoint(y.x,y.y))}setCaretPoint(y,z){var ie,le;return(le=(ie=this._mathfield)==null?void 0:ie.setCaretPoint(y,z))!=null?le:!1}offsetFromPoint(y,z,ie){return this._mathfield?$0(this._mathfield,y,z,ie):-1}hitboxFromOffset(y){if(!this._mathfield)return null;const z=this._mathfield.model.at(y);if(!z)return null;const ie=Ch(this._mathfield,z);return ie?new DOMRect(ie.left,ie.top,ie.right-ie.left,ie.bottom-ie.top):null}resetUndo(){var y;(y=this._mathfield)==null||y.resetUndo()}canUndo(){return this._mathfield?this._mathfield.canUndo():!1}canRedo(){return this._mathfield?this._mathfield.canRedo():!1}handleEvent(y){var z,ie,le,ve;vf.state==="closed"&&((ie=(z=this._mathfield)==null?void 0:z.menu)==null?void 0:ie.state)==="closed"&&(y.type==="pointerdown"&&this.onPointerDown(),y.type==="focus"&&((le=this._mathfield)==null||le.focus()),y.type==="blur"&&((ve=this._mathfield)==null||ve.blur()))}connectedCallback(){var y,z,ie,le;const ve=window.getComputedStyle(this),be=this.shadowRoot,Ne=ve.userSelect!=="none";if(Ne)be.host.addEventListener("pointerdown",this,!0);else{const lt=be.querySelector("span");lt.style.pointerEvents="none"}be.host.addEventListener("focus",this,!0),be.host.addEventListener("blur",this,!0),qg()||(this.hasAttribute("role")||this.setAttribute("role","math"),this.hasAttribute("aria-label")||this.setAttribute("aria-label","math input field"),this.setAttribute("aria-multiline","false")),Ne&&!this.hasAttribute("contenteditable")&&this.setAttribute("contenteditable","true"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0");const ze=be.querySelector("slot:not([name])");if(ze)try{this._style=ze.assignedElements().filter(lt=>lt.tagName.toLowerCase()==="style").map(lt=>lt.textContent).join("")}catch(lt){console.error(lt)}if(this._style){const lt=document.createElement("style");lt.textContent=this._style,be.appendChild(lt)}let Ge="";if(this.hasAttribute("value")?Ge=this.getAttribute("value"):Ge=(y=ze==null?void 0:ze.assignedNodes().map(lt=>lt.nodeType===3?lt.textContent:"").join("").trim())!=null?y:"",this._mathfield=new Zc(be.querySelector(":host > span"),_e(Xe({},(ie=(z=ac.get(this))==null?void 0:z.options)!=null?ie:Lv(this)),{eventSink:this,value:Ge})),!ac.has(this)){this.upgradeProperty("disabled"),this.upgradeProperty("readonly");for(const lt of Object.keys(wg.optionsAttributes))this.upgradeProperty(Np(lt))}if(!((le=this._mathfield)!=null&&le.model)){this._mathfield=null;return}if(ac.has(this)){const lt=this._mathfield,Tt=ac.get(this),An=Tt.menuItems;lt.model.deferNotifications({content:!1,selection:!1},()=>{const $n=Tt.value;$n!==void 0&<.setValue($n),lt.model.selection=Tt.selection,ac.delete(this)}),An&&(this.menuItems=An)}window.queueMicrotask(()=>{this.isConnected&&this.dispatchEvent(new Event("mount",{cancelable:!1,bubbles:!0,composed:!0}))}),Me()}disconnectedCallback(){var y,z;if(this.shadowRoot.host.removeEventListener("pointerdown",this,!0),!this._mathfield)return;window.queueMicrotask(()=>this.dispatchEvent(new Event("unmount",{cancelable:!1,bubbles:!0,composed:!0})));const ie=Ad(this._mathfield.options,Object.keys(wg.optionsAttributes).map(le=>Np(le)));ac.set(this,{value:this._mathfield.getValue(),selection:this._mathfield.model.selection,menuItems:(z=(y=this._mathfield.menu)==null?void 0:y.menuItems)!=null?z:void 0,options:ie}),this._mathfield.dispose(),this._mathfield=null}upgradeProperty(y){if(this.hasOwnProperty(y)){const z=this[y];delete this[y],(y==="readonly"||y==="read-only")&&(y="readOnly"),this[y]=z}}attributeChangedCallback(y,z,ie){if(z===ie)return;const le=ie!==null;switch(y){case"contenteditable":Pn(this._mathfield);break;case"disabled":this.disabled=le;break;case"read-only":case"readonly":this.readOnly=le;break;default:}}get readonly(){return this.hasAttribute("readonly")||this.hasAttribute("read-only")}set readonly(y){const z=!!y;z?(this.setAttribute("readonly",""),qg()?this._internals.ariaReadOnly="true":this.setAttribute("aria-readonly","true"),this.setAttribute("aria-readonly","true")):(qg()?this._internals.ariaReadOnly="false":this.removeAttribute("aria-readonly"),this.removeAttribute("readonly"),this.removeAttribute("read-only")),this._setOptions({readOnly:z})}get disabled(){return this.hasAttribute("disabled")}set disabled(y){var z;const ie=!!y;ie?this.setAttribute("disabled",""):this.removeAttribute("disabled"),qg()?this._internals.ariaDisabled=ie?"true":"false":this.setAttribute("aria-disabled",ie?"true":"false"),ie&&((z=this._mathfield)!=null&&z.hasFocus)&&window.mathVirtualKeyboard.visible&&this._mathfield.executeCommand("hideVirtualKeyboard")}get value(){return this.getValue()}set value(y){this.setValue(y)}get defaultMode(){return this._getOption("defaultMode")}set defaultMode(y){this._setOptions({defaultMode:y})}get macros(){return this._getOption("macros")}set macros(y){this._setOptions({macros:y})}get registers(){const y=this;return new Proxy({},{get:(z,ie)=>{if(typeof ie=="string")return y._getOption("registers")[ie]},set(z,ie,le){return typeof ie!="string"?!1:(y._setOptions({registers:_e(Xe({},y._getOption("registers")),{[ie]:le})}),!0)}})}set registers(y){this._setOptions({registers:y})}get colorMap(){return this._getOption("colorMap")}set colorMap(y){this._setOptions({colorMap:y})}get backgroundColorMap(){return this._getOption("backgroundColorMap")}set backgroundColorMap(y){this._setOptions({backgroundColorMap:y})}get letterShapeStyle(){return this._getOption("letterShapeStyle")}set letterShapeStyle(y){this._setOptions({letterShapeStyle:y})}get minFontScale(){return this._getOption("minFontScale")}set minFontScale(y){this._setOptions({minFontScale:y})}get smartMode(){return this._getOption("smartMode")}set smartMode(y){this._setOptions({smartMode:y})}get smartFence(){return this._getOption("smartFence")}set smartFence(y){this._setOptions({smartFence:y})}get smartSuperscript(){return this._getOption("smartSuperscript")}set smartSuperscript(y){this._setOptions({smartSuperscript:y})}get scriptDepth(){return this._getOption("scriptDepth")}set scriptDepth(y){this._setOptions({scriptDepth:y})}get removeExtraneousParentheses(){return this._getOption("removeExtraneousParentheses")}set removeExtraneousParentheses(y){this._setOptions({removeExtraneousParentheses:y})}get mathModeSpace(){return this._getOption("mathModeSpace")}set mathModeSpace(y){this._setOptions({mathModeSpace:y})}get placeholderSymbol(){return this._getOption("placeholderSymbol")}set placeholderSymbol(y){this._setOptions({placeholderSymbol:y})}get popoverPolicy(){return this._getOption("popoverPolicy")}set popoverPolicy(y){this._setOptions({popoverPolicy:y})}get environmentPopoverPolicy(){return this._getOption("environmentPopoverPolicy")}set environmentPopoverPolicy(y){this._setOptions({environmentPopoverPolicy:y})}get menuItems(){var y,z,ie;return this._mathfield?(y=this._mathfield.menu._menuItems.map(le=>le.menuItem))!=null?y:[]:(ie=(z=ac.get(this))==null?void 0:z.menuItems)!=null?ie:[]}set menuItems(y){var z;if(this._mathfield){const ie=(z=this._mathfield.element)==null?void 0:z.querySelector("[part=menu-toggle]");ie&&(ie.style.display=y.length===0?"none":""),this._mathfield.menu.menuItems=y}ac.has(this)?ac.set(this,_e(Xe({},ac.get(this)),{menuItems:y})):ac.set(this,{value:void 0,selection:{ranges:[[0,0]]},options:Lv(this),menuItems:y})}get mathVirtualKeyboardPolicy(){return this._getOption("mathVirtualKeyboardPolicy")}set mathVirtualKeyboardPolicy(y){this._setOptions({mathVirtualKeyboardPolicy:y})}get inlineShortcuts(){return this._getOption("inlineShortcuts")}set inlineShortcuts(y){this._setOptions({inlineShortcuts:y})}get inlineShortcutTimeout(){return this._getOption("inlineShortcutTimeout")}set inlineShortcutTimeout(y){this._setOptions({inlineShortcutTimeout:y})}get keybindings(){return this._getOption("keybindings")}set keybindings(y){this._setOptions({keybindings:y})}get onInlineShortcut(){return this._getOption("onInlineShortcut")}set onInlineShortcut(y){this._setOptions({onInlineShortcut:y})}get onScrollIntoView(){return this._getOption("onScrollIntoView")}set onScrollIntoView(y){this._setOptions({onScrollIntoView:y})}get onExport(){return this._getOption("onExport")}set onExport(y){this._setOptions({onExport:y})}get readOnly(){return this._getOption("readOnly")}set readOnly(y){this._setOptions({readOnly:y})}get isSelectionEditable(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.isSelectionEditable)!=null?z:!1}setPromptState(y,z,ie){var le;(le=this._mathfield)==null||le.setPromptState(y,z,ie)}getPromptState(y){var z,ie;return(ie=(z=this._mathfield)==null?void 0:z.getPromptState(y))!=null?ie:[void 0,!0]}get virtualKeyboardTargetOrigin(){return this._getOption("virtualKeyboardTargetOrigin")}set virtualKeyboardTargetOrigin(y){this._setOptions({virtualKeyboardTargetOrigin:y})}get selection(){return this._mathfield?this._mathfield.model.selection:ac.has(this)?ac.get(this).selection:{ranges:[[0,0]],direction:"forward"}}set selection(y){if(typeof y=="number"&&(y={ranges:[[y,y]]}),this._mathfield){this._mathfield.model.selection=y,Pn(this._mathfield);return}if(ac.has(this)){ac.set(this,_e(Xe({},ac.get(this)),{selection:y}));return}ac.set(this,{value:void 0,selection:y,options:Lv(this),menuItems:void 0})}get selectionIsCollapsed(){const y=this.selection;return y.ranges.length===1&&y.ranges[0][0]===y.ranges[0][1]}get position(){return this._mathfield?this._mathfield.model.position:ac.has(this)?ac.get(this).selection.ranges[0][0]:0}set position(y){if(this._mathfield&&(this._mathfield.model.position=y,Pn(this._mathfield)),ac.has(this)){ac.set(this,_e(Xe({},ac.get(this)),{selection:{ranges:[[y,y]]}}));return}ac.set(this,{value:void 0,selection:{ranges:[[y,y]]},options:Lv(this),menuItems:void 0})}getOffsetDepth(y){var z,ie;return this._mathfield?((ie=(z=this._mathfield.model.at(y))==null?void 0:z.treeDepth)!=null?ie:2)-2:0}get lastOffset(){var y,z;return(z=(y=this._mathfield)==null?void 0:y.model.lastOffset)!=null?z:-1}};Jf.version="0.98.5",Jf._fontsDirectory="./fonts",Jf._soundsDirectory="./sounds",Jf.keypressVibration=!0,Jf._keypressSound={spacebar:"keypress-spacebar.wav",return:"keypress-return.wav",delete:"keypress-delete.wav",default:"keypress-standard.wav"},Jf._plonkSound="plonk.wav",Jf.audioBuffers={},Jf.createHTML=a=>a,Jf._speechEngineRate="100%",Jf._speechEngineVoice="Joanna",Jf._textToSpeechMarkup="",Jf._textToSpeechRules="mathlive",Jf._textToSpeechRulesOptions={},Jf.speakHook=ks,Jf.readAloudHook=Zd,Jf._decimalSeparator=".",Jf.fractionNavigationOrder="numerator-denominator",Jf._isFunction=a=>{var y,z;const ie=window.MathfieldElement.computeEngine;return(z=(y=ie==null?void 0:ie.parse(a).domain)==null?void 0:y.isFunction)!=null?z:!1};var kv=Jf;function Np(a){return a.replace(/[^a-zA-Z\d]+(.)/g,(y,z)=>z.toUpperCase())}function Lv(a){const y={readOnly:!1},z=kv.optionsAttributes;return Object.keys(z).forEach(ie=>{if(a.hasAttribute(ie)){const le=a.getAttribute(ie);ie==="placeholder"?y.contentPlaceholder=le!=null?le:"":z[ie]==="boolean"?y[Np(ie)]=!0:z[ie]==="on/off"?le==="on"?y[Np(ie)]=!0:le==="off"?y[Np(ie)]=!1:y[Np(ie)]=void 0:z[ie]==="number"?y[Np(ie)]=Number.parseFloat(le!=null?le:"0"):y[Np(ie)]=le}}),y}function qg(){return!(!("ElementInternals"in window)||!HTMLElement.prototype.attachInternals||!("role"in window.ElementInternals.prototype))}var km=kv,Lm,Tm,zm,Hm;if(Ye()&&!((Lm=window.customElements)!=null&&Lm.get("math-field"))){(zm=window[Tm=Symbol.for("io.cortexjs.mathlive")])!=null||(window[Tm]={});const a=window[Symbol.for("io.cortexjs.mathlive")];a.version="0.98.5",window.MathfieldElement=kv,(Hm=window.customElements)==null||Hm.define("math-field",kv)}function x1(a,y,z){let ie=z,le=0;const ve=a.length;for(;ie0&&ve.push({type:"text",data:Ne.slice(0,Ge)}),ze=!1);let Tt=!1;for(;!Tt;){if(ze){if(lt=Ne.indexOf(y,Ge),lt===-1){Tt=!0;break}Ge!==lt&&ve.push({type:"text",data:Ne.slice(Ge,lt)}),Ge=lt}else{if(lt=x1(z,Ne,Ge+y.length),lt===-1){Tt=!0;break}let An=Ne.slice(Ge+y.length,lt);le==="ascii-math"&&([,An]=sl(An,{format:"ascii-math"})),ve.push({type:"math",data:An,rawData:Ne.slice(Ge,lt+z.length),mathstyle:ie}),Ge=lt+z.length}ze=!ze}Ge{ie=tm(ie,le,ve,"textstyle")}),y!=null&&y.display&&y.display.forEach(([le,ve])=>{ie=tm(ie,le,ve,"displaystyle")}),z!=null&&z.inline&&z.inline.forEach(([le,ve])=>{ie=tm(ie,le,ve,"textstyle","ascii-math")}),z!=null&&z.display&&z.display.forEach(([le,ve])=>{ie=tm(ie,le,ve,"displaystyle","ascii-math")}),ie}function E1(a,y){const z=document.createElement("span");z.setAttribute("translate","no");try{const ie=""+y.renderToMathML(a)+"";z.innerHTML=window.MathfieldElement.createHTML(ie)}catch(ie){console.error(`MathLive 0.98.5: Could not convert "${a}"' to MathML with ${ie}`),z.textContent=a}return z.className="ML__sr-only",z}function w1(a,y,z,ie){try{const le=y.renderToMarkup(a,{mathstyle:z,format:"html"}),ve=document.createElement("span");return ve.dataset.latex=a,ve.style.display=z==="displaystyle"?"flex":"inline-flex",ve.setAttribute("aria-hidden","true"),ve.setAttribute("translate","no"),ve.innerHTML=window.MathfieldElement.createHTML(le),ve}catch(le){if(console.error("Could not parse'"+a+"' with ",le),ie)return document.createTextNode(a)}return null}function _g(a,y,z,ie){var le;const ve=w1(a,z,y||"textstyle",ie),be=(le=z.renderAccessibleContent)!=null?le:"";if(ve&&/\b(mathml|speakable-text)\b/i.test(be)){const Ne=document.createElement("span");if(/\bmathml\b/i.test(be)&&z.renderToMathML&&Ne.append(E1(a,z)),/\bspeakable-text\b/i.test(be)&&z.renderToSpeakableText){const ze=document.createElement("span");ze.setAttribute("translate","no");const Ge=z.renderToSpeakableText(a);ze.innerHTML=window.MathfieldElement.createHTML(Ge),ze.className="ML__sr-only",Ne.append(ze)}return Ne.append(ve),Ne}return ve}function C1(a,y){var z,ie,le;let ve=null;if((z=y.TeX)!=null&&z.processEnvironments&&/^\s*\\begin/.test(a)){ve=document.createDocumentFragment();const be=_g(a,"",y,!0);be&&ve.appendChild(be)}else{if(!a.trim())return null;const be=Rm(a,(ie=y.TeX)==null?void 0:ie.delimiters,(le=y.asciiMath)==null?void 0:le.delimiters);if(be.length===1&&be[0].type==="text")return null;ve=document.createDocumentFragment();for(const Ne of be)if(Ne.type==="text")ve.appendChild(document.createTextNode(Ne.data));else{const ze=_g(Ne.data,Ne.mathstyle==="textstyle"?"textstyle":"displaystyle",y,!0);ze&&ve.appendChild(ze)}}return ve}function jm(a,y){var z,ie,le,ve,be,Ne,ze,Ge,lt,Tt,An,$n,br,Gi,zo,ji;if(a.childNodes.length===1&&a.childNodes[0].nodeType===3){const Za=(z=a.childNodes[0].textContent)!=null?z:"";if((ie=y.TeX)!=null&&ie.processEnvironments&&/^\s*\\begin/.test(Za)){a.textContent="";const io=_g(Za,"",y,!0);io&&a.append(io);return}const qo=Rm(Za,(le=y.TeX)==null?void 0:le.delimiters,(ve=y.asciiMath)==null?void 0:ve.delimiters);if(qo.length===1&&qo[0].type==="math"){a.textContent="";const io=_g(qo[0].data,qo[0].mathstyle==="textstyle"?"textstyle":"displaystyle",y,!0);io&&a.append(io);return}if(qo.length===1&&qo[0].type==="text")return}for(let Za=a.childNodes.length-1;Za>=0;Za--){const qo=a.childNodes[Za];if(qo.nodeType===3){const io=C1((be=qo.textContent)!=null?be:"",y);io&&(Za+=io.childNodes.length-1,qo.replaceWith(io))}else if(qo.nodeType===1){const io=qo,El=qo.nodeName.toLowerCase();if(El==="script"){const ql=qo;let zl;if((Ne=y.processScriptTypePattern)!=null&&Ne.test(ql.type))zl=(ze=ql.textContent)!=null?ze:"";else if((Ge=y.processMathJSONScriptTypePattern)!=null&&Ge.test(ql.type))try{zl=(Tt=y.serializeToLatex)==null?void 0:Tt.call(y,JSON.parse((lt=ql.textContent)!=null?lt:""))}catch(Bc){console.error(Bc)}if(zl){let Bc="textstyle";for(const gs of ql.type.split(";")){const[i0,rp]=gs.toLowerCase().split("=");i0.trim()==="mode"&&(Bc=rp.trim()==="display"?"displaystyle":"textstyle")}const sd=_g(zl,Bc,y,!0);sd&&ql.parentNode.replaceChild(sd,ql)}}else if((($n=(An=y.processClassPattern)==null?void 0:An.test(io.className))!=null?$n:!1)||!((Gi=(br=y.skipTags)==null?void 0:br.includes(El))!=null&&Gi||(ji=(zo=y.ignoreClassPattern)==null?void 0:zo.test(io.className))!=null&&ji))if(a.childNodes.length===1&&a.childNodes[0].nodeType===3){const zl=a.textContent;a.textContent="";const Bc=_g(zl!=null?zl:"","displaystyle",y,!0);Bc&&a.append(Bc)}else jm(io,y)}}}var B1={skipTags:["math-field","noscript","style","textarea","pre","code","annotation","annotation-xml"],processScriptType:"math/tex",processMathJSONScriptType:"math/json",ignoreClass:"tex2jax_ignore",processClass:"tex2jax_process",renderAccessibleContent:"mathml",asciiMath:{delimiters:{inline:[["`","`"]]}},TeX:{processEnvironments:!0,delimiters:{inline:[["\\(","\\)"]],display:[["$$","$$"],["\\[","\\]"]]}}};function D1(a,y){var z,ie,le,ve;try{const be=Xe(Xe({},B1),y);be.ignoreClassPattern=new RegExp((z=be.ignoreClass)!=null?z:""),be.processClassPattern=new RegExp((ie=be.processClass)!=null?ie:""),be.processScriptTypePattern=new RegExp((le=be.processScriptType)!=null?le:""),be.processMathJSONScriptTypePattern=new RegExp((ve=be.processMathJSONScriptType)!=null?ve:""),Me(),hf("core"),jm(a,be)}catch(be){be instanceof Error?console.error("renderMathInElement(): "+be.message):console.error("renderMathInElement(): Could not render math for element",a)}}function P1(a,y){const z=md.singleton;return z?(z.show(),va(),z.currentLayer=y,z.render(),z.focus(),!0):!1}function S1(){const a=window.mathVirtualKeyboard;return a.visible?a.hide({animate:!0}):a.show({animate:!0}),!1}qi({switchKeyboardLayer:P1,toggleVirtualKeyboard:S1,hideVirtualKeyboard:()=>(window.mathVirtualKeyboard.hide({animate:!0}),!1),showVirtualKeyboard:()=>(window.mathVirtualKeyboard.show({animate:!0}),!1)},{target:"virtual-keyboard"});function eg(){var a,y;return(y=globalThis[a=Symbol.for("io.cortexjs.mathlive")])!=null||(globalThis[a]={}),globalThis[Symbol.for("io.cortexjs.mathlive")]}function O1(){return console.warn("%cMathLive 0.98.5: %cmakeSharedVirtualKeyboard() is deprecated. \n Use `window.mathVirtualKeyboard` to access the virtual keyboard instance.\n See https://cortexjs.io/mathlive/changelog/ for details.","color:#12b; font-size: 1.1rem","color:#db1111; font-size: 1.1rem"),window.mathVirtualKeyboard}function N1(a){I1(document.body,a)}function M1(a){if(typeof a=="string"){const y=document.getElementById(a);if(y===null)throw new Error(`The element with ID "${a}" could not be found.`);return y}return typeof a=="string"?null:a}function I1(a,y){var z,ie,le,ve;const be=M1(a);if(!be)return;const Ne=y!=null?y:{};(z=Ne.renderToMarkup)!=null||(Ne.renderToMarkup=Cf),(ie=Ne.renderToMathML)!=null||(Ne.renderToMathML=wm),(le=Ne.renderToSpeakableText)!=null||(Ne.renderToSpeakableText=Cm),(ve=Ne.serializeToLatex)!=null||(Ne.serializeToLatex=Jg),D1(be,Ne)}var F1={mathlive:"0.98.5"}}}]); -}()); \ No newline at end of file diff --git a/p__knowledgegraph__SanD__index.2a6098e2.async.js b/p__knowledgegraph__SanD__index.2a6098e2.async.js deleted file mode 100644 index d458e48005..0000000000 --- a/p__knowledgegraph__SanD__index.2a6098e2.async.js +++ /dev/null @@ -1,171 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[96979],{40001:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(60499),C=y(59301),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},F=S,R=y(85221),L=function(b,P){return C.createElement(R.Z,(0,T.Z)({},b,{ref:P,icon:F}))},A=C.forwardRef(L),$=A},84105:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(60499),C=y(59301),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},F=S,R=y(85221),L=function(b,P){return C.createElement(R.Z,(0,T.Z)({},b,{ref:P,icon:F}))},A=C.forwardRef(L),$=A},73331:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(60499),C=y(59301),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},F=S,R=y(85221),L=function(b,P){return C.createElement(R.Z,(0,T.Z)({},b,{ref:P,icon:F}))},A=C.forwardRef(L),$=A},15277:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(60499),C=y(59301),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},F=S,R=y(85221),L=function(b,P){return C.createElement(R.Z,(0,T.Z)({},b,{ref:P,icon:F}))},A=C.forwardRef(L),$=A},47472:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(60499),C=y(59301),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},F=S,R=y(85221),L=function(b,P){return C.createElement(R.Z,(0,T.Z)({},b,{ref:P,icon:F}))},A=C.forwardRef(L),$=A},13722:function(Ke){(function(y,T){Ke.exports=T()})(typeof self!="undefined"?self:this,function(){return function(ct){var y={};function T(C){if(y[C])return y[C].exports;var S=y[C]={i:C,l:!1,exports:{}};return ct[C].call(S.exports,S,S.exports,T),S.l=!0,S.exports}return T.m=ct,T.c=y,T.d=function(C,S,F){T.o(C,S)||Object.defineProperty(C,S,{configurable:!1,enumerable:!0,get:F})},T.n=function(C){var S=C&&C.__esModule?function(){return C.default}:function(){return C};return T.d(S,"a",S),S},T.o=function(C,S){return Object.prototype.hasOwnProperty.call(C,S)},T.p="",T(T.s=5)}([function(ct,y){function T(C,S,F,R){return R===void 0&&(R="height"),F==="center"?(C[R]+S[R])/2:C.height}ct.exports={assign:Object.assign,getHeight:T}},function(ct,y,T){var C=T(3),S=function(){function F(L,A){A===void 0&&(A={});var $=this;$.options=A,$.rootNode=C(L,A)}var R=F.prototype;return R.execute=function(){throw new Error("please override this method")},F}();ct.exports=S},function(ct,y,T){var C=T(4),S=["LR","RL","TB","BT","H","V"],F=["LR","RL","H"],R=function(_){return F.indexOf(_)>-1},L=S[0];ct.exports=function($,_,b){var P=_.direction||L;if(_.isHorizontal=R(P),P&&S.indexOf(P)===-1)throw new TypeError("Invalid direction: "+P);if(P===S[0])b($,_);else if(P===S[1])b($,_),$.right2left();else if(P===S[2])b($,_);else if(P===S[3])b($,_),$.bottom2top();else if(P===S[4]||P===S[5]){var D=C($,_),H=D.left,Y=D.right;b(H,_),b(Y,_),_.isHorizontal?H.right2left():H.bottom2top(),Y.translate(H.x-Y.x,H.y-Y.y),$.x=H.x,$.y=Y.y;var et=$.getBoundingBox();_.isHorizontal?et.top<0&&$.translate(0,-et.top):et.left<0&&$.translate(-et.left,0)}var jt=_.fixedRoot;return jt===void 0&&(jt=!0),jt&&$.translate(-($.x+$.width/2+$.hgap),-($.y+$.height/2+$.vgap)),A($,_),$};function A($,_){if(_.radial){var b=_.isHorizontal?["x","y"]:["y","x"],P=b[0],D=b[1],H={x:1/0,y:1/0},Y={x:-1/0,y:-1/0},et=0;$.DFTraverse(function(ft){et++;var Dt=ft.x,tt=ft.y;H.x=Math.min(H.x,Dt),H.y=Math.min(H.y,tt),Y.x=Math.max(Y.x,Dt),Y.y=Math.max(Y.y,tt)});var jt=Y[D]-H[D];if(jt===0)return;var ot=Math.PI*2/et;$.DFTraverse(function(ft){var Dt=(ft[D]-H[D])/jt*(Math.PI*2-ot)+ot,tt=ft[P]-$[P];ft.x=Math.cos(Dt)*tt,ft.y=Math.sin(Dt)*tt})}}},function(ct,y,T){var C=T(0),S=18,F=S*2,R=S,L={getId:function(b){return b.id||b.name},getPreH:function(b){return b.preH||0},getPreV:function(b){return b.preV||0},getHGap:function(b){return b.hgap||R},getVGap:function(b){return b.vgap||R},getChildren:function(b){return b.children},getHeight:function(b){return b.height||F},getWidth:function(b){var P=b.label||" ";return b.width||P.split("").length*S}};function A(_,b){var P=this;if(P.vgap=P.hgap=0,_ instanceof A)return _;P.data=_;var D=b.getHGap(_),H=b.getVGap(_);return P.preH=b.getPreH(_),P.preV=b.getPreV(_),P.width=b.getWidth(_),P.height=b.getHeight(_),P.width+=P.preH,P.height+=P.preV,P.id=b.getId(_),P.x=P.y=0,P.depth=0,P.children||(P.children=[]),P.addGap(D,H),P}C.assign(A.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(b,P){var D=this;D.hgap+=b,D.vgap+=P,D.width+=2*b,D.height+=2*P},eachNode:function(b){for(var P=this,D=[P],H;H=D.shift();)b(H),D=H.children.concat(D)},DFTraverse:function(b){this.eachNode(b)},BFTraverse:function(b){for(var P=this,D=[P],H;H=D.shift();)b(H),D=D.concat(H.children)},getBoundingBox:function(){var b={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(P){b.left=Math.min(b.left,P.x),b.top=Math.min(b.top,P.y),b.width=Math.max(b.width,P.x+P.width),b.height=Math.max(b.height,P.y+P.height)}),b},translate:function(b,P){b===void 0&&(b=0),P===void 0&&(P=0),this.eachNode(function(D){D.x+=b,D.y+=P,D.x+=D.preH,D.y+=D.preV})},right2left:function(){var b=this,P=b.getBoundingBox();b.eachNode(function(D){D.x=D.x-(D.x-P.left)*2-D.width}),b.translate(P.width,0)},bottom2top:function(){var b=this,P=b.getBoundingBox();b.eachNode(function(D){D.y=D.y-(D.y-P.top)*2-D.height}),b.translate(0,P.height)}});function $(_,b,P){b===void 0&&(b={}),b=C.assign({},L,b);var D=new A(_,b),H=[D],Y;if(!P&&!_.collapsed){for(;Y=H.shift();)if(!Y.data.collapsed){var et=b.getChildren(Y.data),jt=et?et.length:0;if(Y.children=new Array(jt),et&&jt)for(var ot=0;otG.low&&(G=G.nxt);var Pe=Rt+rt.prelim+rt.w-($t+At.prelim);Pe>0&&($t+=Pe,H(w,K,G.index,Pe));var Xt=jt(rt),ne=jt(At);Xt<=ne&&(rt=et(rt),rt!==null&&(Rt+=rt.mod)),Xt>=ne&&(At=Y(At),At!==null&&($t+=At.mod))}!rt&&At?ot(w,K,At,$t):rt&&!At&&ft(w,K,rt,Rt)}function H(w,K,G,rt){w.c[K].mod+=rt,w.c[K].msel+=rt,w.c[K].mser+=rt,Q(w,K,G,rt)}function Y(w){return w.cs===0?w.tl:w.c[0]}function et(w){return w.cs===0?w.tr:w.c[w.cs-1]}function jt(w){return w.y+w.h}function ot(w,K,G,rt){var Rt=w.c[0].el;Rt.tl=G;var At=rt-G.mod-w.c[0].msel;Rt.mod+=At,Rt.prelim-=At,w.c[0].el=w.c[K].el,w.c[0].msel=w.c[K].msel}function ft(w,K,G,rt){var Rt=w.c[K].er;Rt.tr=G;var At=rt-G.mod-w.c[K].mser;Rt.mod+=At,Rt.prelim-=At,w.c[K].er=w.c[K-1].er,w.c[K].mser=w.c[K-1].mser}function Dt(w){w.prelim=(w.c[0].prelim+w.c[0].mod+w.c[w.cs-1].mod+w.c[w.cs-1].prelim+w.c[w.cs-1].w)/2-w.w/2}function tt(w,K){K+=w.mod,w.x=w.prelim+K,M(w);for(var G=0;G=G.low;)G=G.nxt;return{low:w,index:K,nxt:G}}L(A,_);var I=T.fromNode(A,_);return b(I),tt(I,0),R(I,A,_),F(A,_),A}},function(ct,y,T){function C(P,D){P.prototype=Object.create(D.prototype),P.prototype.constructor=P,S(P,D)}function S(P,D){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,Y){return H.__proto__=Y,H},S(P,D)}var F=T(1),R=T(9),L=T(2),A=T(0),$=function(P){function D(){return P.apply(this,arguments)||this}C(D,P);var H=D.prototype;return H.execute=function(){var et=this;return et.rootNode.width=0,L(et.rootNode,et.options,R)},D}(F),_={};function b(P,D){return D=A.assign({},_,D),new $(P,D).execute()}ct.exports=b},function(ct,y,T){var C=T(0);function S(L,A){L===void 0&&(L=0),A===void 0&&(A=[]);var $=this;$.x=$.y=0,$.leftChild=$.rightChild=null,$.height=0,$.children=A}var F={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function R(L,A,$){$?(A.x=L.x,A.y=L.y):(A.x=L.y,A.y=L.x),L.children.forEach(function(_,b){R(_,A.children[b],$)})}ct.exports=function(L,A){A===void 0&&(A={}),A=C.assign({},F,A);var $=0;function _(Y){if(!Y)return null;Y.width=0,Y.depth&&Y.depth>$&&($=Y.depth);var et=Y.children,jt=et.length,ot=new S(Y.height,[]);return et.forEach(function(ft,Dt){var tt=_(ft);ot.children.push(tt),Dt===0&&(ot.leftChild=tt),Dt===jt-1&&(ot.rightChild=tt)}),ot.originNode=Y,ot.isLeaf=Y.isLeaf(),ot}function b(Y){if(Y.isLeaf||Y.children.length===0)Y.drawingDepth=$;else{var et=Y.children.map(function(ot){return b(ot)}),jt=Math.min.apply(null,et);Y.drawingDepth=jt-1}return Y.drawingDepth}var P;function D(Y){Y.x=Y.drawingDepth*A.rankSep,Y.isLeaf?(Y.y=0,P&&(Y.y=P.y+P.height+A.nodeSep,Y.originNode.parent!==P.originNode.parent&&(Y.y+=A.subTreeSep)),P=Y):(Y.children.forEach(function(et){D(et)}),Y.y=(Y.leftChild.y+Y.rightChild.y)/2)}var H=_(L);return b(H),D(H),R(H,L,A.isHorizontal),L}},function(ct,y,T){function C(H,Y){H.prototype=Object.create(Y.prototype),H.prototype.constructor=H,S(H,Y)}function S(H,Y){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(et,jt){return et.__proto__=jt,et},S(H,Y)}var F=T(1),R=T(11),L=T(4),A=T(0),$=["LR","RL","H"],_=$[0],b=function(H){function Y(){return H.apply(this,arguments)||this}C(Y,H);var et=Y.prototype;return et.execute=function(){var ot=this,ft=ot.options,Dt=ot.rootNode;ft.isHorizontal=!0;var tt=ft.indent,Q=tt===void 0?20:tt,M=ft.dropCap,v=M===void 0?!0:M,I=ft.direction,w=I===void 0?_:I,K=ft.align;if(w&&$.indexOf(w)===-1)throw new TypeError("Invalid direction: "+w);if(w===$[0])R(Dt,Q,v,K);else if(w===$[1])R(Dt,Q,v,K),Dt.right2left();else if(w===$[2]){var G=L(Dt,ft),rt=G.left,Rt=G.right;R(rt,Q,v,K),rt.right2left(),R(Rt,Q,v,K);var At=rt.getBoundingBox();Rt.translate(At.width,0),Dt.x=Rt.x-Dt.width/2}return Dt},Y}(F),P={};function D(H,Y){return Y=A.assign({},P,Y),new b(H,Y).execute()}ct.exports=D},function(ct,y,T){var C=T(0);function S(F,R,L,A,$){var _=(typeof L=="function"?L(F):L)*F.depth;if(!A)try{if(F.id===F.parent.children[0].id){F.x+=_,F.y=R?R.y:0;return}}catch(D){}if(F.x+=_,R){if(F.y=R.y+C.getHeight(R,F,$),R.parent&&F.parent.id!==R.parent.id){var b=R.parent,P=b.y+C.getHeight(b,F,$);F.y=P>F.y?P:F.y}}else F.y=0}ct.exports=function(F,R,L,A){var $=null;F.eachNode(function(_){S(_,$,R,L,A),$=_})}},function(ct,y,T){function C(P,D){P.prototype=Object.create(D.prototype),P.prototype.constructor=P,S(P,D)}function S(P,D){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,Y){return H.__proto__=Y,H},S(P,D)}var F=T(1),R=T(13),L=T(2),A=T(0),$=function(P){function D(){return P.apply(this,arguments)||this}C(D,P);var H=D.prototype;return H.execute=function(){var et=this;return L(et.rootNode,et.options,R)},D}(F),_={};function b(P,D){return D=A.assign({},_,D),new $(P,D).execute()}ct.exports=b},function(ct,y,T){var C=T(0);function S(L,A){var $=0;return L.children.length?L.children.forEach(function(_){$+=S(_,A)}):$=L.height,L._subTreeSep=A.getSubTreeSep(L.data),L.totalHeight=Math.max(L.height,$)+2*L._subTreeSep,L.totalHeight}function F(L){var A=L.children,$=A.length;if($){A.forEach(function(Y){F(Y)});var _=A[0],b=A[$-1],P=b.y-_.y+b.height,D=0;if(A.forEach(function(Y){D+=Y.totalHeight}),P>L.height)L.y=_.y+P/2-L.height/2;else if(A.length!==1||L.height>D){var H=L.y+(L.height-P)/2-_.y;A.forEach(function(Y){Y.translate(0,H)})}else L.y=(_.y+_.height/2+b.y+b.height/2)/2-L.height/2}}var R={getSubTreeSep:function(){return 0}};ct.exports=function(L,A){A===void 0&&(A={}),A=C.assign({},R,A),L.parent={x:0,width:0,height:0,y:0},L.BFTraverse(function($){$.x=$.parent.x+$.parent.width}),L.parent=null,S(L,A),L.startY=0,L.y=L.totalHeight/2-L.height/2,L.eachNode(function($){var _=$.children,b=_.length;if(b){var P=_[0];if(P.startY=$.startY+$._subTreeSep,b===1)P.y=$.y+$.height/2-P.height/2;else{P.y=P.startY+P.totalHeight/2-P.height/2;for(var D=1;Do.length)&&(t=o.length);for(var e=0,n=Array(t);e0&&arguments[0]!==void 0?arguments[0]:"",i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"rgba(255, 255, 255, 1)";return b(this,t),e=_(this,t,[new G.SpriteMaterial]),e._text="".concat(n),e._textHeight=i,e._color=s,e._backgroundColor=!1,e._padding=0,e._borderWidth=0,e._borderRadius=0,e._borderColor="white",e._offsetX=0,e._offsetY=0,e._strokeWidth=0,e._strokeColor="white",e._fontFace="system-ui",e._fontSize=90,e._fontWeight="normal",e._canvas=document.createElement("canvas"),e._genCanvas(),e}return Y(t,o),D(t,[{key:"text",get:function(){return this._text},set:function(n){this._text=n,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(n){this._textHeight=n,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(n){this._color=n,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(n){this._backgroundColor=n,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(n){this._padding=n,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(n){this._borderWidth=n,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(n){this._borderRadius=n,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(n){this._borderColor=n,this._genCanvas()}},{key:"offsetX",get:function(){return this._offsetX},set:function(n){this._offsetX=n,this._genCanvas()}},{key:"offsetY",get:function(){return this._offsetY},set:function(n){this._offsetY=n,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(n){this._fontFace=n,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(n){this._fontSize=n,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(n){this._fontWeight=n,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(n){this._strokeWidth=n,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(n){this._strokeColor=n,this._genCanvas()}},{key:"_genCanvas",value:function(){var n=this,i=this._canvas,s=i.getContext("2d"),r=1/this.textHeight,a=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],l=a.map(function(q){return q*n.fontSize*r}),c=Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius],d=c.map(function(q){return q*n.fontSize*r}),u=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],h=u.map(function(q){return q*n.fontSize*r}),f=[this.offsetX,this.offsetY].map(function(q){return q*n.fontSize*r}),g=this.text.split(` -`),p="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);s.font=p;var m=Math.max.apply(Math,v(g.map(function(q){return s.measureText(q).width}))),E=this.fontSize*g.length,x=m+l[0]*2+h[0]*2,O=E+l[1]*2+h[1]*2;if(i.width=x+Math.abs(f[0]),i.height=O+Math.abs(f[1]),s.translate.apply(s,v(f.map(function(q){return Math.max(0,q)}))),this.borderWidth){if(s.strokeStyle=this.borderColor,l[0]){var j=l[0]/2;s.lineWidth=l[0],s.beginPath(),s.moveTo(j,d[0]),s.lineTo(j,O-d[3]),s.moveTo(x-j,d[1]),s.lineTo(x-j,O-d[2]),s.stroke()}if(l[1]){var X=l[1]/2;s.lineWidth=l[1],s.beginPath(),s.moveTo(Math.max(l[0],d[0]),X),s.lineTo(x-Math.max(l[0],d[1]),X),s.moveTo(Math.max(l[0],d[3]),O-X),s.lineTo(x-Math.max(l[0],d[2]),O-X),s.stroke()}if(this.borderRadius){var U=Math.max.apply(Math,v(l)),V=U/2;s.lineWidth=U,s.beginPath(),[!!d[0]&&[d[0],V,V,d[0]],!!d[1]&&[x-d[1],x-V,V,d[1]],!!d[2]&&[x-d[2],x-V,O-V,O-d[2]],!!d[3]&&[d[3],V,O-V,O-d[3]]].filter(function(q){return q}).forEach(function(q){var Lt=M(q,4),Nt=Lt[0],Tt=Lt[1],St=Lt[2],kt=Lt[3];s.moveTo(Nt,St),s.quadraticCurveTo(Tt,St,Tt,kt)}),s.stroke()}}this.backgroundColor&&(s.fillStyle=this.backgroundColor,this.borderRadius?(s.beginPath(),s.moveTo(l[0],d[0]),[[l[0],d[0],x-d[1],l[1],l[1],l[1]],[x-l[0],x-l[0],x-l[0],l[1],d[1],O-d[2]],[x-l[0],x-d[2],d[3],O-l[1],O-l[1],O-l[1]],[l[0],l[0],l[0],O-l[1],O-d[3],d[0]]].forEach(function(q){var Lt=M(q,6),Nt=Lt[0],Tt=Lt[1],St=Lt[2],kt=Lt[3],rn=Lt[4],pt=Lt[5];s.quadraticCurveTo(Nt,kt,Tt,rn),s.lineTo(St,pt)}),s.closePath(),s.fill()):s.fillRect(l[0],l[1],x-l[0]*2,O-l[1]*2)),s.translate.apply(s,v(l)),s.translate.apply(s,v(h)),s.font=p,s.fillStyle=this.color,s.textBaseline="bottom";var k=this.strokeWidth>0;k&&(s.lineWidth=this.strokeWidth*this.fontSize/10,s.strokeStyle=this.strokeColor),g.forEach(function(q,Lt){var Nt=(m-s.measureText(q).width)/2,Tt=(Lt+1)*n.fontSize;k&&s.strokeText(q,Nt,Tt),s.fillText(q,Nt,Tt)}),this.material.map&&this.material.map.dispose();var yt=this.material.map=new G.CanvasTexture(i);yt.colorSpace=G.SRGBColorSpace;var zt=this.textHeight*g.length+a[1]*2+u[1]*2+Math.abs(this.offsetY);this.scale.set(zt*i.width/i.height,zt,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(n){return G.Sprite.prototype.copy.call(this,n),this.color=n.color,this.backgroundColor=n.backgroundColor,this.padding=n.padding,this.borderWidth=n.borderWidth,this.borderColor=n.borderColor,this.offsetX=n.offsetX,this.offsetY=n.offsetY,this.fontFace=n.fontFace,this.fontSize=n.fontSize,this.fontWeight=n.fontWeight,this.strokeWidth=n.strokeWidth,this.strokeColor=n.strokeColor,this}}])}(G.Sprite),Rt=y(78241),At=y(3113),$t=y(8591),Pe=y(43418),Xt=y(5112),ne=y(92832),Et=y(57809),lt=y(44225),Mt=y(58661),Ot=y(85333),wt={rightopen:"rightopen___cs_vm",rightmodal:"rightmodal___MNsxT",rname:"rname___QGxLy",topradios:"topradios___si9En",topradio:"topradio___kGT57",bocent:"bocent___yMEuU",bctitle:"bctitle___Pll_D",btcent:"btcent___aHH1B",bctitles:"bctitles___UC1Yp"},nt=y(66623),Kt=y(18178),It=y(76075),xt=y(62099),dt=y(93785);const Oe={duration:500},Ye={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},Ce={CHANGE:"change"};var pe;(function(o){o.NodeAdded="NodeAdded",o.NodeUpdated="NodeUpdated",o.NodeRemoved="NodeRemoved",o.EdgeAdded="EdgeAdded",o.EdgeUpdated="EdgeUpdated",o.EdgeRemoved="EdgeRemoved",o.ComboAdded="ComboAdded",o.ComboUpdated="ComboUpdated",o.ComboRemoved="ComboRemoved"})(pe||(pe={}));var be;(function(o){o.DRAW="draw",o.COLLAPSE="collapse",o.EXPAND="expand",o.TRANSFORM="transform"})(be||(be={}));var oe;(function(o){o.CLICK="canvas:click",o.DBLCLICK="canvas:dblclick",o.POINTER_OVER="canvas:pointerover",o.POINTER_LEAVE="canvas:pointerleave",o.POINTER_ENTER="canvas:pointerenter",o.POINTER_MOVE="canvas:pointermove",o.POINTER_OUT="canvas:pointerout",o.POINTER_DOWN="canvas:pointerdown",o.POINTER_UP="canvas:pointerup",o.CONTEXT_MENU="canvas:contextmenu",o.DRAG_START="canvas:dragstart",o.DRAG="canvas:drag",o.DRAG_END="canvas:dragend",o.DRAG_ENTER="canvas:dragenter",o.DRAG_OVER="canvas:dragover",o.DRAG_LEAVE="canvas:dragleave",o.DROP="canvas:drop",o.WHEEL="canvas:wheel"})(oe||(oe={}));var J;(function(o){o.CLICK="combo:click",o.DBLCLICK="combo:dblclick",o.POINTER_OVER="combo:pointerover",o.POINTER_LEAVE="combo:pointerleave",o.POINTER_ENTER="combo:pointerenter",o.POINTER_MOVE="combo:pointermove",o.POINTER_OUT="combo:pointerout",o.POINTER_DOWN="combo:pointerdown",o.POINTER_UP="combo:pointerup",o.CONTEXT_MENU="combo:contextmenu",o.DRAG_START="combo:dragstart",o.DRAG="combo:drag",o.DRAG_END="combo:dragend",o.DRAG_ENTER="combo:dragenter",o.DRAG_OVER="combo:dragover",o.DRAG_LEAVE="combo:dragleave",o.DROP="combo:drop"})(J||(J={}));var B;(function(o){o.CLICK="click",o.DBLCLICK="dblclick",o.POINTER_OVER="pointerover",o.POINTER_LEAVE="pointerleave",o.POINTER_ENTER="pointerenter",o.POINTER_MOVE="pointermove",o.POINTER_OUT="pointerout",o.POINTER_DOWN="pointerdown",o.POINTER_UP="pointerup",o.CONTEXT_MENU="contextmenu",o.DRAG_START="dragstart",o.DRAG="drag",o.DRAG_END="dragend",o.DRAG_ENTER="dragenter",o.DRAG_OVER="dragover",o.DRAG_LEAVE="dragleave",o.DROP="drop",o.KEY_DOWN="keydown",o.KEY_UP="keyup",o.WHEEL="wheel"})(B||(B={}));var gt;(function(o){o.KEY_DOWN="keydown",o.KEY_UP="keyup"})(gt||(gt={}));var at;(function(o){o.CLICK="edge:click",o.DBLCLICK="edge:dblclick",o.POINTER_OVER="edge:pointerover",o.POINTER_LEAVE="edge:pointerleave",o.POINTER_ENTER="edge:pointerenter",o.POINTER_MOVE="edge:pointermove",o.POINTER_OUT="edge:pointerout",o.POINTER_DOWN="edge:pointerdown",o.POINTER_UP="edge:pointerup",o.CONTEXT_MENU="edge:contextmenu",o.DRAG_ENTER="edge:dragenter",o.DRAG_OVER="edge:dragover",o.DRAG_LEAVE="edge:dragleave",o.DROP="edge:drop"})(at||(at={}));var W;(function(o){o.BEFORE_CANVAS_INIT="beforecanvasinit",o.AFTER_CANVAS_INIT="aftercanvasinit",o.BEFORE_SIZE_CHANGE="beforesizechange",o.AFTER_SIZE_CHANGE="aftersizechange",o.BEFORE_ELEMENT_CREATE="beforeelementcreate",o.AFTER_ELEMENT_CREATE="afterelementcreate",o.BEFORE_ELEMENT_UPDATE="beforeelementupdate",o.AFTER_ELEMENT_UPDATE="afterelementupdate",o.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",o.AFTER_ELEMENT_DESTROY="afterelementdestroy",o.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",o.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",o.BEFORE_DRAW="beforedraw",o.AFTER_DRAW="afterdraw",o.BEFORE_RENDER="beforerender",o.AFTER_RENDER="afterrender",o.BEFORE_ANIMATE="beforeanimate",o.AFTER_ANIMATE="afteranimate",o.BEFORE_LAYOUT="beforelayout",o.AFTER_LAYOUT="afterlayout",o.BEFORE_STAGE_LAYOUT="beforestagelayout",o.AFTER_STAGE_LAYOUT="afterstagelayout",o.BEFORE_TRANSFORM="beforetransform",o.AFTER_TRANSFORM="aftertransform",o.BATCH_START="batchstart",o.BATCH_END="batchend",o.BEFORE_DESTROY="beforedestroy",o.AFTER_DESTROY="afterdestroy",o.BEFORE_RENDERER_CHANGE="beforerendererchange",o.AFTER_RENDERER_CHANGE="afterrendererchange"})(W||(W={}));var mt;(function(o){o.UNDO="undo",o.REDO="redo",o.CANCEL="cancel",o.ADD="add",o.CLEAR="clear",o.CHANGE="change"})(mt||(mt={}));var vt;(function(o){o.CLICK="node:click",o.DBLCLICK="node:dblclick",o.POINTER_OVER="node:pointerover",o.POINTER_LEAVE="node:pointerleave",o.POINTER_ENTER="node:pointerenter",o.POINTER_MOVE="node:pointermove",o.POINTER_OUT="node:pointerout",o.POINTER_DOWN="node:pointerdown",o.POINTER_UP="node:pointerup",o.CONTEXT_MENU="node:contextmenu",o.DRAG_START="node:dragstart",o.DRAG="node:drag",o.DRAG_END="node:dragend",o.DRAG_ENTER="node:dragenter",o.DRAG_OVER="node:dragover",o.DRAG_LEAVE="node:dragleave",o.DROP="node:drop"})(vt||(vt={}));const st="combo",Pt="tree";var ht;(function(o){o.NODE="node",o.EDGE="edge",o.COMBO="combo",o.THEME="theme",o.PALETTE="palette",o.LAYOUT="layout",o.BEHAVIOR="behavior",o.PLUGIN="plugin",o.ANIMATION="animation",o.TRANSFORM="transform",o.SHAPE="shape"})(ht||(ht={}));const Vt={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function bt(o,t){var e;const n=(e=Vt[o])===null||e===void 0?void 0:e[t];if(n)return n}function Yt(o){return EXTENSION_REGISTRY[o]}const _t="5.0.27",Qt="G6";function Zt(o){return`[${Qt} v${_t}] ${o}`}const Wt={mute:!1,debug:o=>{!Wt.mute&&console.debug(Zt(o))},info:o=>{!Wt.mute&&console.info(Zt(o))},warn:o=>{!Wt.mute&&console.warn(Zt(o))},error:o=>{!Wt.mute&&console.error(Zt(o))}};function ue(o){const{theme:t}=o;if(!t)return{};const e=bt(ht.THEME,t);return e||(Wt.warn(`The theme of ${t} is not registered.`),{})}function se(o,t){if(Array.isArray(o)&&o.length===0)return null;const e=Array.isArray(o)?o[0]:o,n=Array.isArray(o)?o.slice(1):t||[];return new Proxy(e,{get(i,s){return typeof i[s]=="function"&&!["onframe","onfinish"].includes(s)?(...r)=>{i[s](...r),n.forEach(a=>{var l;return(l=a[s])===null||l===void 0?void 0:l.call(a,...r)})}:s==="finished"?Promise.all([e.finished,...n.map(r=>r.finished)]):Reflect.get(i,s)},set(i,s,r){return["onframe","onfinish"].includes(s)||n.forEach(a=>{a[s]=r}),Reflect.set(i,s,r)}})}function We(o){const t=o.reduce((n,i)=>(Object.entries(i).forEach(([s,r])=>{n[s]===void 0?n[s]=[r]:n[s].push(r)}),n),{});Object.entries(t).forEach(([n,i])=>{(i.length!==o.length||i.some(s=>(0,It.Z)(s))||i.every(s=>!["sourceNode","targetNode","childrenNode"].includes(n)&&(0,xt.Z)(s,i[0])))&&delete t[n]});const e=Object.entries(t).reduce((n,[i,s])=>(s.forEach((r,a)=>{n[a]?n[a][i]=r:n[a]={[i]:r}}),n),[]);return o.length!==0&&e.length===0&&e.push({_:0},{_:0}),e}function He(o){switch(o){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 pn(o,t){const{animation:e}=o;if(e===!1||t===!1)return!1;const n=Object.assign({},Oe);return(0,dt.Z)(e)&&Object.assign(n,e),(0,dt.Z)(t)&&Object.assign(n,t),n}function In(o){if(typeof o=="string"){const t=bt(ht.ANIMATION,o);return t||(Wt.warn(`The animation of ${o} is not registered.`),[])}return o}function en(o,t,e,n){var i,s;const{animation:r}=o,a=(i=o==null?void 0:o[t])===null||i===void 0?void 0:i.animation;if(a===!1)return[];const l=a==null?void 0:a[e];if(l===!1)return[];if(r===!1||n===!1)return[];const c=(s=ue(o)[t])===null||s===void 0?void 0:s.animation,d=(h=[])=>In(h).map(f=>Object.assign(Object.assign(Object.assign(Object.assign({},Ye),(0,dt.Z)(r)&&r),f),(0,dt.Z)(n)&&n));if(l)return d(l);if(!c)return[];const u=c[e];return u===!1?[]:d(u)}function Cn(o,t,e,n){if(Array.isArray(n)){let s=!1;const r=n.map(a=>a[0]==="translate"?(s=!0,["translate",o,t]):a[0]==="translate3d"?(s=!0,["translate3d",o,t,e]):a);return s||r.splice(0,0,e===0?["translate",o,t]:["translate3d",o,t,e]),r}const i=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return e===0?`translate(${o}, ${t})${i}`:`translate3d(${o}, ${t}, ${e})${i}`}var mn=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{if(!e.length)return null;const[n,i]=t,s=c=>{var d;if(c){const u=o.getShape(c);if(!u)return null;const h=`get${(0,Kt.Z)(c)}Style`,f=((d=o==null?void 0:o[h])===null||d===void 0?void 0:d.bind(o))||(m=>m),g=(f==null?void 0:f(n))||{},p=(f==null?void 0:f(i))||{};return{shape:u,fromStyle:g,toStyle:p}}else return{shape:o,fromStyle:n,toStyle:i}};let r;const a=e.map(c=>{var{fields:d,shape:u,states:h}=c,f=mn(c,["fields","shape","states"]);const g=s(u);if(!g)return null;const{shape:p,fromStyle:m,toStyle:E}=g,x=[{},{}];if(d.forEach(j=>{var X,U;Object.assign(x[0],{[j]:(X=m[j])!==null&&X!==void 0?X:He(j)}),Object.assign(x[1],{[j]:(U=E[j])!==null&&U!==void 0?U:He(j)})}),x.some(j=>Object.keys(j).some(X=>["x","y","z"].includes(X)))){const{x:j=0,y:X=0,z:U=0,transform:V=""}=p.attributes||{};x.forEach(k=>{k.transform=Cn(k.x||j,k.y||X,k.z||U,V)})}const O=p.animate(We(x),f);return u===void 0&&(r=O),O}).filter(Boolean),l=r||(a==null?void 0:a[0]);return l?se(l,a.filter(c=>c!==c)):null},Bn=[{fields:["opacity"]}],Xn=[{fields:["x","y"]}],An=[{fields:["x","y"]}],ri=An,ci=[{fields:["sourceNode","targetNode"]}],Fn=ci,ei=[{fields:["childrenNode","x","y"]}],_n=ei,ni=[{fields:["childrenNode","x","y"]}];var Ht=y(71018),Pn=y(15610),ii=y(62199),vn=y(37547);function di(o){return"source"in o&&"target"in o}function Mi(o){return o.length===2}function Ri(o){return o.length===3}function gi(o){return o instanceof Float32Array?!0:Array.isArray(o)&&(o.length===2||o.length===3)?o.every(t=>typeof t=="number"):!1}function Ge(o,t,e){return o>=t&&o<=e}function me(o=0){if(Array.isArray(o)){const[t=0,e=t,n=t,i=e]=o;return[t,e,n,i]}return[o,o,o,o]}function cn(o=0){const t=me(o);return t[0]+t[2]}function Dn(o=0){const t=me(o);return t[1]+t[3]}function fn(o){return o.max[0]-o.min[0]}function dn(o){return o.max[1]-o.min[1]}function Z(o){return[fn(o),dn(o)]}function N(o,t){const e=gi(o)?ut(o):o.getShape("key").getBounds();return t?it(e,t):e}function ut(o){const[t,e,n=0]=o,i=new nt.mN;return i.setMinMax([t,e,n],[t,e,n]),i}function it(o,t){const[e,n,i,s]=me(t),[r,a,l]=o.min,[c,d,u]=o.max,h=new nt.mN;return h.setMinMax([r-s,a-e,l],[c+n,d+i,u]),h}function Ft(o){if(o.length===0)return new nt.mN;if(o.length===1)return o[0];const t=new nt.mN;t.setMinMax(o[0].min,o[0].max);for(let e=1;e=r&&i<=l&&n>=a&&s<=c}function Bt(o,t){return Ge(o[0],t.min[0],t.max[0])&&Ge(o[1],t.min[1],t.max[1])}function Jt(o,t,e=!1){const{min:[n,i],max:[s,r]}=t,a=(o[1]===i||o[1]===r)&&(e||Ge(o[0],n,s)),l=(o[0]===n||o[0]===s)&&(e||Ge(o[1],i,r));return a||l}function ie(o,t){return!Bt(o,t)}function ce(o,t){const{center:e}=t;return o[0]===e[0]&&o[1]===e[1]}function ye(o,t){const[e,n]=o,[i,s]=t.min,[r,a]=t.max,l=e-i,c=r-e,d=n-s,u=a-n,h=Math.min(l,c,d,u);return h===l?"left":h===c?"right":h===d?"top":h===u?"bottom":"left"}function te(o,t){const e=(0,vn.Z)(o);if(Bt(o,t))switch(ye(o,t)){case"left":e[0]=t.min[0];break;case"right":e[0]=t.max[0];break;case"top":e[1]=t.min[1];break;case"bottom":e[1]=t.max[1];break}else{const[n,i]=o,[s,r]=t.min,[a,l]=t.max;e[0]=Ge(n,s,a)?n:n{var n;switch(e.type){case"degree":{const i=new Map;return(n=o.nodes)===null||n===void 0||n.forEach(s=>{const r=t(z(s),e.direction).length;i.set(z(s),r)}),i}case"betweenness":return Ze(o,e.directed,e.weightPropertyName);case"closeness":return Ie(o,e.directed,e.weightPropertyName);case"eigenvector":return qt(o,e.directed);case"pagerank":return Mn(o,e.epsilon,e.linkProb);default:return Sn(o)}},Sn=o=>{var t;const e=new Map;return(t=o.nodes)===null||t===void 0||t.forEach(n=>{e.set(z(n),0)}),e},Ze=(o,t,e)=>{const n=Sn(o),{nodes:i=[]}=o;return i.forEach(s=>{i.forEach(r=>{if(s!==r){const{allPath:a}=(0,ze.ni)(o,z(s),z(r),t,e),l=a.length;a.flat().forEach(c=>{c!==z(s)&&c!==z(r)&&n.set(c,n.get(c)+1/l)})}})}),n},Ie=(o,t,e)=>{const n=new Map,{nodes:i=[]}=o;return i.forEach(s=>{const r=i.reduce((a,l)=>{if(s!==l){const{length:c}=(0,ze.ni)(o,z(s),z(l),t,e);a+=c}return a},0);n.set(z(s),1/r)}),n},Mn=(o,t,e)=>{var n;const i=new Map,s=(0,ze.EF)(o,t,e);return(n=o.nodes)===null||n===void 0||n.forEach(r=>{i.set(z(r),s[z(r)])}),i},qt=(o,t)=>{const{nodes:e=[]}=o,n=he(o,t),i=xe(n,e.length),s=new Map;return e.forEach((r,a)=>{s.set(z(r),i[a])}),s},he=(o,t)=>{const{nodes:e=[],edges:n=[]}=o,i=Array(e.length).fill(null).map(()=>Array(e.length).fill(0));return n.forEach(({source:s,target:r})=>{const a=e.findIndex(c=>z(c)===s),l=e.findIndex(c=>z(c)===r);t?i[a][l]=1:(i[a][l]=1,i[l][a]=1)}),i},xe=(o,t,e=100,n=1e-6)=>{let i=Array(t).fill(1),s=1/0;for(let r=0;rn;r++){const a=Array(t).fill(0);for(let c=0;cc+d*d,0));for(let c=0;cc+(d-i[u])*d,0)),i=a}return i};function Te(o,t,e,n=xt.Z){const i=new Map(o.map(h=>[e(h),h])),s=new Map(t.map(h=>[e(h),h])),r=new Set(i.keys()),a=new Set(s.keys()),l=[],c=[],d=[],u=[];return a.forEach(h=>{r.has(h)?n(i.get(h),s.get(h))?u.push(s.get(h)):c.push(s.get(h)):l.push(s.get(h))}),r.forEach(h=>{a.has(h)||d.push(i.get(h))}),{enter:l,exit:d,keep:u,update:c}}const un=new WeakMap;function gn(o,t,e=!1,n){if(t===void 0)return;const i=(s,r=t)=>{const a=(l=r)=>s.childNodes.forEach(c=>i(c,l));if(n&&!n(s))return a();if(!e&&s===o)o.style.visibility=t,un.delete(o),a(t);else{un.has(s)||un.set(s,s.style.visibility);const l=r==="hidden"||yn(s)==="hidden"?"hidden":"visible";s.style.visibility=l,a(l)}};i(o)}function yn(o){return un.has(o)?un.get(o):o.style.visibility}function Tn(o,t,e){const n={},i=s=>(s in n||(n[s]=0),`${t}-${s}-${n[s]++}`);return e.map(s=>typeof s=="string"?{type:s,key:i(s)}:typeof s=="function"?s.call(o):s.key?s:Object.assign(Object.assign({},s),{key:i(s.type)}))}class Xe{constructor(t){this.extensions=[],this.extensionMap={},this.context=t}setExtensions(t){const e=Tn(this.context.graph,this.category,t),{enter:n,update:i,exit:s,keep:r}=Te(this.extensions,e,a=>a.key);this.createExtensions(n),this.updateExtensions([...i,...r]),this.destroyExtensions(s),this.extensions=e}createExtension(t){const{category:e}=this,{key:n,type:i}=t,s=bt(e,i);if(!s)return Wt.warn(`The extension ${i} of ${e} is not registered.`);const r=new s(this.context,t);this.extensionMap[n]=r}createExtensions(t){t.forEach(e=>this.createExtension(e))}updateExtension(t){const{key:e}=t,n=this.extensionMap[e];n&&n.update(t)}updateExtensions(t){t.forEach(e=>this.updateExtension(e))}destroyExtension(t){const e=this.extensionMap[t];e&&(e.destroy(),delete this.extensionMap[t])}destroyExtensions(t){t.forEach(({key:e})=>this.destroyExtension(e))}destroy(){Object.values(this.extensionMap).forEach(t=>t.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class Le{constructor(t,e){this.events=[],this.destroyed=!1,this.context=t,this.options=e}update(t){this.options=Object.assign(this.options,t)}destroy(){this.context={},this.options={},this.destroyed=!0}}class Me extends Le{}class qe extends Me{constructor(t,e){super(t,Object.assign({},qe.defaultOptions,e)),this.isOverlapping=(n,i)=>i.some(s=>n.intersects(s)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const i=this.context.viewport,s={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(r=>{const a=r.getShape("label").getRenderBounds();i.isInViewport(a,!0)&&!this.isOverlapping(a,this.occupiedBounds)?(s.show.push(r),this.occupiedBounds.push(it(a,this.options.padding))):s.hide.push(r)}),s},this.hideLabelIfExceedViewport=(n,i)=>{const{exit:s}=Te(n,i,r=>r.id);s==null||s.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,i)=>{const{model:s}=this.context,r=s.getData(),a=s.getRelatedEdgesData.bind(s);return n.map(c=>(this.nodeCentralities.has(c.id)||(this.nodeCentralities=ln(r,a,i)),{node:c,centrality:this.nodeCentralities.get(c.id)})).sort((c,d)=>d.centrality-c.centrality).map(c=>c.node)},this.sortLabelElementsInView=n=>{const{sort:i,sortNode:s,sortCombo:r,sortEdge:a}=this.options,{model:l}=this.context;if((0,Ht.Z)(i))return n.sort((p,m)=>i(l.getElementDataById(p.id),l.getElementDataById(m.id)));const{node:c=[],edge:d=[],combo:u=[]}=(0,Pn.Z)(n,p=>p.type),h=(0,Ht.Z)(r)?u.sort((p,m)=>r(...l.getComboData([p.id,m.id]))):u,f=(0,Ht.Z)(s)?c.sort((p,m)=>s(...l.getNodeData([p.id,m.id]))):this.sortNodesByCentrality(c,s),g=(0,Ht.Z)(a)?d.sort((p,m)=>a(...l.getEdgeData([p.id,m.id]))):d;return[...h,...f,...g]},this.labelElementsInView=[],this.onToggleVisibility=n=>{if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const i=this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,i),this.labelElementsInView=i;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:r,hide:a}=this.detectLabelCollision(s);for(let l=r.length-1;l>=0;l--)this.showLabel(r[l]);a.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const i=n.getShape("label");i&&gn(i,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const i=n.getShape("label");i&&gn(i,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=(0,ii.Z)(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents(),this.onToggleVisibility({})}get labelElements(){const e=Object.values(this.context.element.elementMap).filter(n=>n.isVisible()&&n.getShape("label"));return Object.fromEntries(e.map(n=>[n.id,n]))}getLabelElementsInView(){const t=this.context.viewport;return Object.values(this.labelElements).filter(e=>t.isInViewport(e.getShape("key").getRenderBounds()))}bindEvents(){const{graph:t}=this.context;t.on(W.AFTER_DRAW,this.onToggleVisibility),t.on(W.AFTER_LAYOUT,this.onToggleVisibility),t.on(W.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(W.AFTER_DRAW,this.onToggleVisibility),t.off(W.AFTER_LAYOUT,this.onToggleVisibility),t.off(W.AFTER_TRANSFORM,this.onTransform)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}qe.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var kn=y(23343);const Qn=[0,0,0];function ae(o,t){return o.map((e,n)=>e+t[n])}function Qe(o,t){return o.map((e,n)=>e-t[n])}function nn(o,t){return typeof t=="number"?o.map(e=>e*t):o.map((e,n)=>e*t[n])}function Ln(o,t){return typeof t=="number"?o.map(e=>e/t):o.map((e,n)=>e/t[n])}function ji(o,t){return o.reduce((e,n,i)=>e+n*t[i],0)}function Fe(o,t){const e=Hn(o),n=Hn(t);return[e[1]*n[2]-e[2]*n[1],e[2]*n[0]-e[0]*n[2],e[0]*n[1]-e[1]*n[0]]}function fe(o,t){return o.map(e=>e*t)}function re(o,t){return Math.sqrt(o.reduce((e,n,i)=>e+Math.pow(n-t[i]||0,2),0))}function hn(o,t){return o.reduce((e,n,i)=>e+Math.abs(n-t[i]),0)}function Je(o){const t=o.reduce((e,n)=>e+Math.pow(n,2),0);return o.map(e=>e/Math.sqrt(t))}function bn(o,t,e=!1){const n=o[0]*t[1]-o[1]*t[0];let i=Math.acos(nn(o,t).reduce((s,r)=>s+r,0)/(re(o,Qn)*re(t,Qn)));return e&&n<0&&(i=2*Math.PI-i),i}function on(o,t){return o.every((e,n)=>e===t[n])}function wn(o,t=!0){return t?[-o[1],o[0]]:[o[1],-o[0]]}function Jn(o,t){return o.map(e=>e%t)}function Rn(o){return[o[0],o[1]]}function Hn(o){return Mi(o)?[o[0],o[1],0]:o}function ee(o){const[t,e]=o;return!t&&!e?0:Math.atan2(e,t)}function Ut(o,t){const[e,n]=o,[i,s]=t,r=Qe(e,n),a=Qe(i,s);return Fe(r,a).every(l=>l===0)}function Ee(o,t,e=!1){if(Ut(o,t))return;const[n,i]=o,[s,r]=t,a=((n[0]-s[0])*(s[1]-r[1])-(n[1]-s[1])*(s[0]-r[0]))/((n[0]-i[0])*(s[1]-r[1])-(n[1]-i[1])*(s[0]-r[0])),l=r[0]-s[0]?(n[0]-s[0]+a*(i[0]-n[0]))/(r[0]-s[0]):(n[1]-s[1]+a*(i[1]-n[1]))/(r[1]-s[1]);if(!(!e&&(!Ge(a,0,1)||!Ge(l,0,1))))return[n[0]+a*(i[0]-n[0]),n[1]+a*(i[1]-n[1])]}function Ne(o){if(Array.isArray(o))return Ge(o[0],0,1)&&Ge(o[1],0,1)?o:[.5,.5];const t=o.split("-"),e=t.includes("left")?0:t.includes("right")?1:.5,n=t.includes("top")?0:t.includes("bottom")?1:.5;return[e,n]}function $e(o){const{x:t=0,y:e=0,z:n=0}=o.style||{};return[+t,+e,+n]}function zi(o){const{x:t,y:e,z:n}=o.style||{};return t!==void 0||e!==void 0||n!==void 0}function ai(o,t){const[e,n]=t,{min:i,max:s}=o;return[i[0]+e*(s[0]-i[0]),i[1]+n*(s[1]-i[1])]}function jn(o,t="center"){const e=Ne(t);return ai(o,e)}function Ii(o,t){const e=parseAnchor(t);return ai(o,e)}const yi=o=>{const[t,e]=o;return{left:Math.min(t[0],e[0]),right:Math.max(t[0],e[0]),top:Math.min(t[1],e[1]),bottom:Math.max(t[1],e[1])}};function En(o){var t;return[o.x,o.y,(t=o.z)!==null&&t!==void 0?t:0]}function qn(o){var t;return{x:o[0],y:o[1],z:(t=o[2])!==null&&t!==void 0?t:0}}function Si(o){return o.sort((t,e)=>t[0]-e[0]||t[1]-e[1])}function Ki(o){const t=new Set;return o.filter(e=>{const n=e.join(",");return t.has(n)?!1:(t.add(n),!0)})}function Bi(o,t=0){return o.map(e=>parseFloat(e.toFixed(t)))}function wi(o,t,e,n=!1){if((0,xt.Z)(o,t))return o;const i=n?Qe(o,t):Qe(t,o),s=Je(i),r=[s[0]*e,s[1]*e];return ae(Rn(o),r)}function so(o,t){return o[1]===t[1]}function ro(o,t){return o[0]===t[0]}function Wi(o,t){return so(o,t)||ro(o,t)}function mo(o,t,e){return Ut([o,t],[t,e])}function Zi(o,t){return[2*t[0]-o[0],2*t[1]-o[1]]}function No(o,t,e,n=!0,i=!1){for(let s=0;ss!=f>s&&i<(h-d)*(s-u)/(f-u)+d&&(r=!r)}return r}function vo(o,t,e=!1){const n=jn(t,"center"),i=[jn(t,"left-top"),jn(t,"right-top"),jn(t,"right-bottom"),jn(t,"left-bottom")];return No(o,n,i,!1,e).point}function Yi(o,t,e=!1){const n=t.center,i=e?Zi(o,n):o,s=Qe(i,t.center),r=Math.atan2(s[1],s[0]);if(isNaN(r))return n;const a=fn(t)/2,l=dn(t)/2,c=n[0]+a*Math.cos(r),d=n[1]+l*Math.sin(r);return[c,d]}function Po(o,t){let e=1/0,n=[o[0],t[0]];return o.forEach(i=>{t.forEach(s=>{const r=re(i,s);r{const s=To(o,i);s1?d=1:d<0&&(d=0);const u=e+d*l,h=n+d*c;return[u,h]}function bo(o){const t=o.reduce((e,n)=>ae(e,n),[0,0]);return Ln(t,o.length)}function de(o,t=!0){const e=bo(o);return o.sort(([n,i],[s,r])=>{const a=Math.atan2(i-e[1],n-e[0]),l=Math.atan2(r-e[1],s-e[0]);return t?l-a:a-l})}function _e(o,t){return[o,[o[0],t[1]],t,[t[0],o[1]]]}var ve=y(71879);const Ae=o=>o.map(t=>(0,ve.Z)(t)?t.toLocaleLowerCase():t);class xn{constructor(t){this.map=new Map,this.recordKey=new Set,this.onKeyDown=e=>{e!=null&&e.key&&(this.recordKey.add(e.key),this.trigger(e))},this.onKeyUp=e=>{e!=null&&e.key&&this.recordKey.delete(e.key)},this.onWheel=e=>{this.triggerExtendKey(B.WHEEL,e)},this.onDrag=e=>{this.triggerExtendKey(B.DRAG,e)},this.onFocus=()=>{this.recordKey.clear()},this.emitter=t,this.bindEvents()}bind(t,e){t.length!==0&&this.map.set(t,e)}unbind(t,e){this.map.forEach((n,i)=>{(0,xt.Z)(i,t)&&(!e||e===n)&&this.map.delete(i)})}unbindAll(){this.map.clear()}match(t){const e=Ae(Array.from(this.recordKey)).sort(),n=Ae(t).sort();return(0,xt.Z)(e,n)}bindEvents(){const{emitter:t}=this;t.on(B.KEY_DOWN,this.onKeyDown),t.on(B.KEY_UP,this.onKeyUp),t.on(B.WHEEL,this.onWheel),t.on(B.DRAG,this.onDrag),window.addEventListener("focus",this.onFocus)}trigger(t){this.map.forEach((e,n)=>{this.match(n)&&e(t)})}triggerExtendKey(t,e){this.map.forEach((n,i)=>{i.includes(t)&&(0,xt.Z)(Array.from(this.recordKey),i.filter(s=>s!==t))&&n(e)})}destroy(){this.unbindAll(),this.emitter.off(B.KEY_DOWN,this.onKeyDown),this.emitter.off(B.KEY_UP,this.onKeyUp),this.emitter.off(B.WHEEL,this.onWheel),this.emitter.off(B.DRAG,this.onDrag),window.removeEventListener("blur",this.onFocus)}}class On extends Me{constructor(t,e){super(t,(0,kn.Z)({},On.defaultOptions,e)),this.shortcut=new xn(t.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(t){if(!this.validate(t)||!this.isKeydown()||this.startPoint)return;const{canvas:e,graph:n}=this.context,i=Object.assign({},this.options.style);this.options.style.lineWidth&&(i.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new nt.UL({id:"g6-brush-select",style:i}),e.appendChild(this.rectShape),this.startPoint=[t.canvas.x,t.canvas.y]}onPointerMove(t){var e;if(!this.startPoint)return;const{immediately:n,mode:i}=this.options;this.endPoint=Ni(t),(e=this.rectShape)===null||e===void 0||e.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])}),n&&i==="default"&&this.updateElementsStates(_e(this.startPoint,this.endPoint))}onPointerUp(t){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=Ni(t),this.updateElementsStates(_e(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:t}=this.context,e=Object.values(t.getData()).reduce((n,i)=>Object.assign({},n,i.reduce((s,r)=>(s[z(r)]=[],s),{})),{});t.setElementState(e,this.options.animation)}updateElementsStates(t){const{graph:e}=this.context,{enableElements:n,state:i,mode:s,onSelect:r}=this.options,a=this.selector(e,t,n);let l={};switch(s){case"union":a.forEach(c=>{l[c]=[...e.getElementState(c),i]});break;case"diff":a.forEach(c=>{const d=e.getElementState(c);l[c]=d.includes(i)?d.filter(u=>u!==i):[...d,i]});break;case"intersect":a.forEach(c=>{const d=e.getElementState(c);l[c]=d.includes(i)?[i]:[]});break;case"default":default:a.forEach(c=>{l[c]=[i]});break}(0,Ht.Z)(r)&&(l=r(l)),e.setElementState(l,this.options.animation)}selector(t,e,n){if(!n||n.length===0)return[];const i=[],s=t.getData();if(n.forEach(r=>{s[`${r}s`].forEach(a=>{const l=z(a);t.getElementVisibility(l)!=="hidden"&&Ao(t.getElementPosition(l),e)&&i.push(l)})}),n.includes("edge")){const r=s.edges;r==null||r.forEach(a=>{const{source:l,target:c}=a;i.includes(l)&&i.includes(c)&&i.push(z(a))})}return i}clearBrush(){var t;(t=this.rectShape)===null||t===void 0||t.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:t}=this.options,e=Array.isArray(t)?t:[t];return this.shortcut.match(e.filter(n=>n!=="drag"))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}bindEvents(){const{graph:t}=this.context;t.on(B.POINTER_DOWN,this.onPointerDown),t.on(B.POINTER_MOVE,this.onPointerMove),t.on(B.POINTER_UP,this.onPointerUp),t.on(oe.CLICK,this.clearStates)}unbindEvents(){const{graph:t}=this.context;t.off(B.POINTER_DOWN,this.onPointerDown),t.off(B.POINTER_MOVE,this.onPointerMove),t.off(B.POINTER_UP,this.onPointerUp),t.off(oe.CLICK,this.clearStates)}update(t){this.unbindEvents(),this.options=(0,kn.Z)(this.options,t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}On.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 Ni=o=>[o.canvas.x,o.canvas.y],oi=.8,bi=["node","edge","combo"];function Wn(o,t,e,n,i=0){n==="TB"&&t(o,i);const s=e(o);if(s)for(const r of s)Wn(r,t,e,n,i+1);n==="BT"&&t(o,i)}function to(o,t,e){const n=[[o,0]];for(;n.length;){const[i,s]=n.shift();t(i,s);const r=e(i);if(r)for(const a of r)n.push([a,s+1])}}function Eo(o,t,e,n,i="both"){if(t==="combo"||t==="node")return xo(o,e,n,i);const s=o.getEdgeData(e);if(!s)return[];const r=xo(o,s.source,n-1,i),a=xo(o,s.target,n-1,i);return Array.from(new Set([...r,...a,e]))}function xo(o,t,e,n="both"){const i=new Set,s=new Set,r=new Set;return to(t,(a,l)=>{l>e||(r.add(a),o.getRelatedEdgesData(a,n).forEach(c=>{const d=z(c);!s.has(d)&&lo.getRelatedEdgesData(a,n).map(l=>l.source===a?l.target:l.source).filter(l=>i.has(l)?!1:(i.add(l),!0))),Array.from(r)}function Lo(o){return o.states||[]}var Hi=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Ai extends Me{constructor(t,e){super(t,Object.assign({},Ai.defaultOptions,e)),this.onClickSelect=n=>Hi(this,void 0,void 0,function*(){var i,s;this.validate(n)&&(yield this.updateState(n),(s=(i=this.options).onClick)===null||s===void 0||s.call(i,n))}),this.onClickCanvas=n=>Hi(this,void 0,void 0,function*(){var i,s;this.validate(n)&&(yield this.clearState(),(s=(i=this.options).onClick)===null||s===void 0||s.call(i,n))}),this.shortcut=new xn(t.graph),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),bi.forEach(e=>{t.on(`${e}:${B.CLICK}`,this.onClickSelect)}),t.on(oe.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:t,trigger:e}=this.options;return t&&this.shortcut.match(e)}getNeighborIds(t){const{target:e,targetType:n}=t,{graph:i}=this.context,{degree:s}=this.options;return Eo(i,n,e.id,typeof s=="function"?s(t):s).filter(r=>r!==e.id)}updateState(t){return Hi(this,void 0,void 0,function*(){const{state:e,unselectedState:n,neighborState:i,animation:s}=this.options;if(!e&&!i&&!n)return;const{target:r}=t,{graph:a}=this.context,l=a.getElementData(r.id),c=Lo(l).includes(e)?"unselect":"select",d={},u=this.isMultipleSelect,h=[r.id],f=this.getNeighborIds(t);if(u)if(Object.assign(d,this.getDataStates()),c==="select"){const g=(p,m)=>{p.forEach(E=>{const x=new Set(a.getElementState(E));x.add(m),x.delete(n),d[E]=Array.from(x)})};g(h,e),g(f,i),n&&Object.keys(d).forEach(p=>{const m=d[p];!m.includes(e)&&!m.includes(i)&&!m.includes(n)&&d[p].push(n)})}else{const g=d[r.id];d[r.id]=g.filter(p=>p!==e&&p!==i),g.includes(n)||d[r.id].push(n),f.forEach(p=>{d[p]=d[p].filter(m=>m!==i),d[p].includes(e)||d[p].push(n)})}else if(c==="select"){Object.assign(d,this.getClearStates(!!n));const g=(p,m)=>{p.forEach(E=>{d[E]||(d[E]=a.getElementState(E)),d[E].push(m)})};g(h,e),g(f,i),n&&Object.keys(d).forEach(p=>{!h.includes(p)&&!f.includes(p)&&d[p].push(n)})}else Object.assign(d,this.getClearStates());yield a.setElementState(d,s)})}getDataStates(){const{graph:t}=this.context,{nodes:e,edges:n,combos:i}=t.getData(),s={};return[...e,...n,...i].forEach(r=>{s[z(r)]=Lo(r)}),s}getClearStates(t=!1){const{graph:e}=this.context,{state:n,unselectedState:i,neighborState:s}=this.options,r=new Set([n,i,s]),{nodes:a,edges:l,combos:c}=e.getData(),d={};return[...a,...l,...c].forEach(u=>{const h=Lo(u),f=h.filter(g=>!r.has(g));(t||f.length!==h.length)&&(d[z(u)]=f)}),d}clearState(){return Hi(this,void 0,void 0,function*(){const{graph:t}=this.context;yield t.setElementState(this.getClearStates(),this.options.animation)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;bi.forEach(e=>{t.off(`${e}:${B.CLICK}`,this.onClickSelect)}),t.off(oe.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}Ai.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function Oi(o){var t;return!!(!((t=o.style)===null||t===void 0)&&t.collapsed)}var ti=y(5759),So=y(37004),wr=y(45642);function wo(o,t){if(!o.startsWith(t))return!1;const e=o[t.length];return e>="A"&&e<="Z"}function us(o,t){return`${t}${(0,Kt.Z)(o)}`}function hs(o,t,e=!0){if(!t||!wo(o,t))return o;const n=o.slice(t.length);return e?(0,wr.Z)(n):n}function Vn(o,t){const e=Object.entries(o).reduce((n,[i,s])=>(i==="className"||i==="class"||wo(i,t)&&Object.assign(n,{[hs(i,t)]:s}),n),{});if("opacity"in o){const n=us("opacity",t),i=o.opacity;if(n in o){const s=o[n];Object.assign(e,{opacity:i*s})}else Object.assign(e,{opacity:i})}return e}function Xo(o,t){const e=t.length;return Object.keys(o).reduce((n,i)=>{if(i.startsWith(t)){const s=i.slice(e);n[s]=o[i]}return n},{})}function _o(o,t){const e=typeof t=="string"?[t]:t,n={};return Object.keys(o).forEach(i=>{e.find(s=>i.startsWith(s))||(n[i]=o[i])}),n}function Or(o,t,e){return Object.entries(o).reduce((n,[i,s])=>(wo(i,t)?n[us(hs(i,t,!1),e)]=s:n[i]=s,n),{})}function Pi(o=0){if(typeof o=="number")return[o,o,o];const[t,e=t,n=t]=o;return[t,e,n]}var fs=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);itypeof s=="function"?[i,s.call(n,e)]:[i,s]))}function si(o,t){const e=(o==null?void 0:o.style)||{},n=(t==null?void 0:t.style)||{};return Object.assign({},o,t,{style:Object.assign({},e,n)})}function Cr(o){const{x:t,y:e,z:n,class:i,className:s,transform:r,transformOrigin:a,context:l,zIndex:c,visibility:d}=o;return fs(o,["x","y","z","class","className","transform","transformOrigin","context","zIndex","visibility"])}const Qo=new WeakMap;function Ti(o,t,e){Qo.has(o)||Qo.set(o,{});const n=Qo.get(o);if(!n[t])return n[t]=e,!0;const i=n[t];return jo(i,e)?!1:(n[t]=e,!0)}const jo=(o,t,e=2)=>{if(typeof o!="object"||typeof t!="object")return o===t;const n=Object.keys(o),i=Object.keys(t);if(n.length!==i.length)return!1;for(const s of n){const r=o[s],a=t[s];if(e>1&&typeof r=="object"&&typeof a=="object"){if(!jo(r,a,e-1))return!1}else if(r!==a)return!1}return!0};function sn(o,t){const e=Pi(o);let n={};return t.text&&!t.fontSize&&(n={fontSize:Math.min(...e)*.5}),t.src&&(!t.width||!t.height)&&(n={width:e[0]*.5,height:e[1]*.5}),n}function ke(o){if(o)return typeof o=="string"||typeof o=="function"||Array.isArray(o)?{type:"group",field:t=>t.id,color:o,invert:!1}:o}function ui(o,t){if(!t)return{};const{type:e,color:n,field:i,invert:s}=t,r=l=>{const c=typeof n=="string"?bt("palette",n):n;if(typeof c=="function"){const d={};return l.forEach(([u,h])=>{d[u]=c(s?1-h:h)}),d}else if(Array.isArray(c)){const d=s?[...c].reverse():c,u={};return l.forEach(([h,f])=>{u[h]=d[f%c.length]}),u}return{}},a=(l,c)=>{var d;return typeof l=="string"?(d=c.data)===null||d===void 0?void 0:d[l]:l==null?void 0:l(c)};if(e==="group"){const l=(0,Pn.Z)(o,h=>{if(!i)return"default";const f=a(i,h);return f?String(f):"default"}),c=Object.keys(l),d=r(c.map((h,f)=>[h,f])),u={};return Object.entries(l).forEach(([h,f])=>{f.forEach(g=>{u[z(g)]=d[h]})}),u}else if(e==="value"){const[l,c]=o.reduce(([u,h],f)=>{const g=a(i,f);if(typeof g!="number")throw new Error(Zt(`Palette field ${i} is not a number`));return[Math.min(u,g),Math.max(h,g)]},[1/0,-1/0]),d=c-l;return r(o.map(u=>[u.id,(a(i,u)-l)/d]))}}function pi(o){const t=typeof o=="string"?bt("palette",o):o;if(typeof t!="function")return t}function Un(o,t){let e=2*o;return typeof t=="string"?e=o*Number(t.replace("%",""))/100:typeof t=="number"&&(e=t),isNaN(e)&&(e=2*o),e}function Ei(o,t,e=1,n=!1){const i=n?e:1,s=(o.max[0]-o.min[0])*i;return Un(s,t)}function $i(o,t,e=1){const n=re(o[0],o[1])*e;return Un(n,t)}var Gi=y(42791);class Li extends nt.b_{constructor(t){super(t),this.shapeMap={},this.animateMap={},this.transformPosition(this.attributes),this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(t,e,n,i,s){var r,a,l,c,d,u,h,f;const g=this.shapeMap[t];if(n===!1){g&&((r=s==null?void 0:s.beforeDestroy)===null||r===void 0||r.call(s,g),i.removeChild(g),delete this.shapeMap[t],(a=s==null?void 0:s.afterDestroy)===null||a===void 0||a.call(s,g));return}const p=typeof e=="string"?bt(ht.SHAPE,e):e;if(!p)throw new Error(Zt(`Shape ${e} not found`));if(!g||g.destroyed||!(g instanceof p)){g&&((l=s==null?void 0:s.beforeDestroy)===null||l===void 0||l.call(s,g),g==null||g.destroy(),(c=s==null?void 0:s.afterDestroy)===null||c===void 0||c.call(s,g)),(d=s==null?void 0:s.beforeCreate)===null||d===void 0||d.call(s);const m=new p({className:t,style:n});return i.appendChild(m),this.shapeMap[t]=m,(u=s==null?void 0:s.afterCreate)===null||u===void 0||u.call(s,m),m}return(h=s==null?void 0:s.beforeUpdate)===null||h===void 0||h.call(s,g),Zr(g,n),(f=s==null?void 0:s.afterUpdate)===null||f===void 0||f.call(s,g),g}transformPosition(t){if("x"in t||"y"in t||"z"in t){const{x:e=0,y:n=0,z:i=0,transform:s}=t;this.style.transform=Cn(+e,+n,+i,s)}}update(t={}){const e=Object.assign({},this.attributes,t);this.attr(e),this.render(e,this),this.transformPosition(e),this.setVisibility()}bindEvents(){}getGraphicStyle(t){return Cr(t)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(t,e){if(t.length===0)return null;const n=[];if(t[0].x!==void 0||t[0].y!==void 0||t[0].z!==void 0){const{x:s=0,y:r=0,z:a=0}=this.attributes;t.forEach(l=>{const{x:c=s,y:d=r,z:u=a}=l;Object.assign(l,{transform:u?[["translate3d",c,d,u]]:[["translate",c,d]]})})}const i=super.animate(t,e);if(i&&(eo(this,i),n.push(i)),Array.isArray(t)&&t.length>0){const s=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(t[0]).some(r=>!s.includes(r))){Object.entries(this.shapeMap).forEach(([a,l])=>{const c=`get${(0,Kt.Z)(a)}Style`,d=this[c];if((0,Ht.Z)(d)){const u=t.map(f=>d.call(this,Object.assign(Object.assign({},this.attributes),f))),h=l.animate(We(u),e);h&&(eo(l,h),n.push(h))}});const r=(a,l)=>{if(!(0,Gi.Z)(a)){const c=`get${(0,Kt.Z)(l)}Style`,d=this[c];if((0,Ht.Z)(d)){const u=t.map(h=>d.call(this,Object.assign(Object.assign({},this.attributes),h)));Object.entries(u[0]).map(([h])=>{const f=u.map(p=>p[h]),g=a[h];if(g){const p=g.animate(We(f),e);p&&(eo(g,p),n.push(p))}})}}};this.compositeShapes.forEach(([a,l])=>{const c=Xo(this.shapeMap,l);r(c,a)})}}return se(n)}getShape(t){return this.shapeMap[t]}setVisibility(){const{visibility:t}=this.attributes;gn(this,t,!0)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function eo(o,t){t==null||t.finished.then(()=>{const e=o.activeAnimations.findIndex(n=>n===t);e>-1&&o.activeAnimations.splice(e,1)})}var no=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{e.push([i===0?"M":"L",...n])}),t&&e.push(["Z"]),e}const ua={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 Nc(o){const t=o.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),e=[];let n="",i={};for(;t.length>0;){let s=t.shift();s in ua?n=s:t.unshift(s),i={type:n},ua[n].forEach(l=>{s=t.shift(),i[l]=s}),n==="M"?n="L":n==="m"&&(n="l");const[r,...a]=Object.values(i);e.push([r,...a.map(Number)])}return e}function Ac(o){const t=[];return(typeof o=="string"?Nc(o):o).forEach(n=>{const i=n[0];if(i==="Z"){t.push(t[0]);return}if(i!=="A")for(let s=1;s{if(o.length<2)return[["M",0,0],["L",0,0]];const t=o[0],e=o[1],n=o[o.length-1],i=o[o.length-2];o.unshift(i,n),o.push(t,e);const s=[["M",n[0],n[1]]];for(let r=1;r{const m=g,E=d[(p+1)%d.length];return(0,xt.Z)(m,E)?null:[m,E]}).filter(Boolean),h=Go([a,l],u),f=yo([a,l],h);if(f&&h&&(c.transform=[["translate",f[0]+e,f[1]+n]],r)){const g=Math.atan((h[0][1]-h[1][1])/(h[0][0]-h[1][0]));c.transform.push(["rotate",g/Math.PI*180]),c.textAlign="center",(t==="right"||t==="left")&&(g>0?c.textBaseline=t==="right"?"bottom":"top":c.textBaseline=t==="right"?"top":"bottom")}return c}var Tc=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{n!=null&&n.children.length&&n.children.forEach(i=>{t.push(i),e(i)})};return e(o),t}function _c(o){const t=[];let e=o.parentNode;for(;e;)t.push(e),e=e.parentNode;return t}class Dr extends nt.Ee{constructor(t){super(t),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Bo=this,this.isMutationObserved=!0,this.addEventListener(nt.Dk.MOUNTED,this.onMounted),this.addEventListener(nt.Dk.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:t,clipPath:e,width:n=0,height:i=0}=this.attributes;if(t&&n&&i){const[s,r]=this.getBounds().min,a={x:s,y:r,radius:t,width:n,height:i};if(e)Object.assign(this.parsedStyle.clipPath.style,a);else{const l=new nt.UL({style:a});this.style.clipPath=l}}else e&&(this.style.clipPath=null)}}const Mr=new WeakMap;let Bo=null;const Rr=o=>{if(Bo&&_c(Bo).includes(o)){const t=Mr.get(o);t?t.includes(Bo)||t.push(Bo):Mr.set(o,[Bo])}},Ir=o=>{const t=Mr.get(o);t&&t.forEach(e=>e.handleRadius())};class fa extends Li{constructor(t){super(t)}isImage(){const{src:t}=this.attributes;return!!t}getIconStyle(t=this.attributes){const{width:e=0,height:n=0}=t,i=this.getGraphicStyle(t);return this.isImage()?Object.assign({x:-e/2,y:-n/2},i):Object.assign({textBaseline:"middle",textAlign:"center"},i)}render(t=this.attributes,e=this){this.upsert("icon",this.isImage()?Dr:nt.xv,this.getIconStyle(t),e)}}class ga extends Li{get context(){return this.attributes.context}get parsedAttributes(){return this.attributes}onframe(){}animate(t,e){const n=super.animate(t,e);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var ps=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{i[u]=!1}),t.badge===!1||!(!((e=t.badges)===null||e===void 0)&&e.length))return i;const{badges:s=[],badgePalette:r,opacity:a=1}=t,l=ps(t,["badges","badgePalette","opacity"]),c=pi(r),d=Vn(this.getGraphicStyle(l),"badge");return s.forEach((u,h)=>{i[h]=Object.assign(Object.assign({backgroundFill:c?c[h%(c==null?void 0:c.length)]:void 0,opacity:a},d),this.getBadgeStyle(u))}),i}getBadgeStyle(t){const e=this.getShape("key"),{placement:n="top",offsetX:i,offsetY:s}=t,r=ps(t,["placement","offsetX","offsetY"]),a=_a(e.getLocalBounds(),n,i,s,!0);return Object.assign(Object.assign({},a),r)}getPortsStyle(t){var e;const n=this.getPorts(),i={};if(Object.keys(n).forEach(a=>{i[a]=!1}),t.port===!1||!(!((e=t.ports)===null||e===void 0)&&e.length))return i;const s=Vn(this.getGraphicStyle(t),"port"),{ports:r=[]}=t;return r.forEach((a,l)=>{const c=a.key||l,d=Object.assign(Object.assign({},s),a);if(Pa(d))i[c]=!1;else{const[u,h]=this.getPortXY(t,a);i[c]=Object.assign({transform:[["translate",u,h]]},d)}}),i}getPortXY(t,e){const{placement:n="left"}=e,i=this.getShape("key");return jr(jc(this.context,i),n)}getPorts(){return Xo(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return vo(t,n,e)}drawHaloShape(t,e){const n=this.getHaloStyle(t);if(!Ti(this,"halo",n))return;const i=this.getShape("key");this.upsert("halo",i.constructor,n,e)}drawIconShape(t,e){const n=this.getIconStyle(t);Ti(this,"icon",n)&&(this.upsert("icon",fa,n,e),Rr(this))}drawBadgeShapes(t,e){const n=this.getBadgesStyle(t);Object.keys(n).forEach(i=>{const s=n[i];Ti(this,`badge-${i}`,s)&&this.upsert(`badge-${i}`,zo,s,e)})}drawPortShapes(t,e){const n=this.getPortsStyle(t);Object.keys(n).forEach(i=>{const s=n[i],r=`port-${i}`;Ti(this,r,s)&&this.upsert(r,nt.Cd,s,e)})}drawLabelShape(t,e){const n=this.getLabelStyle(t);Ti(this,"label",n)&&this.upsert("label",Xi,n,e)}_drawKeyShape(t,e){return this.drawKeyShape(t,e)}render(t=this.parsedAttributes,e=this){this._drawKeyShape(t,e),this.getShape("key")&&(this.drawHaloShape(t,e),this.drawIconShape(t,e),this.drawBadgeShapes(t,e),this.drawLabelShape(t,e),this.drawPortShapes(t,e))}update(t){super.update(t),t&&("x"in t||"y"in t||"z"in t)&&Ir(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}Qi.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 jc(o,t){if(!o)return t.getLocalBounds();const e=o.canvas.getLayer(),n=t.cloneNode();gn(n,"hidden"),e.appendChild(n);const i=n.getLocalBounds();return e.removeChild(n),i}class Oo extends Qi{constructor(t){super(si({style:Oo.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",nt.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{r:Math.min(...this.getSize(t))/2})}getIconStyle(t){const e=super.getIconStyle(t),{r:n}=this.getShape("key").attributes,i=n*2*oi;return e?Object.assign({width:i,height:i},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return Yi(t,n,e)}}Oo.defaultStyleProps={size:32};class ms extends Qi{constructor(t){super(t)}get parsedAttributes(){return this.attributes}drawKeyShape(t,e){return this.upsert("key",nt.mg,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t);return Object.assign(Object.assign({},e),{points:this.getPoints(t)})}getIntersectPoint(t,e=!1){var n,i;const{points:s}=this.getShape("key").attributes,r=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((i=this.attributes)===null||i===void 0?void 0:i.y)||0)];return No(t,r,s,!0,e).point}}class zc extends ms{constructor(t){super(t)}getPoints(t){const[e,n]=this.getSize(t);return Ad(e,n)}}var ge=y(1933),Bc=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i(0,ge.Z)(u)?{value:u}:u),s=Vn(this.getGraphicStyle(t),"donut"),r=pi(t.donutPalette);if(!r)return;const a=i.reduce((u,h)=>{var f;return u+((f=h.value)!==null&&f!==void 0?f:0)},0),l=this.parseOuterR(),c=this.parseInnerR();let d=0;i.forEach((u,h)=>{const{value:f=0,color:g=r[h%r.length]}=u,p=Bc(u,["value","color"]),m=(a===0?1/i.length:f/a)*360;this.upsert(`round${h}`,nt.y$,Object.assign(Object.assign(Object.assign({},s),{d:Fc(l,c,d,d+m),fill:g}),p),e),d+=m})}render(t,e=this){super.render(t,e),this.drawDonutShape(t,e)}}vs.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const ys=(o,t,e,n)=>[o+Math.sin(n)*e,t-Math.cos(n)*e],Zc=(o,t,e,n)=>n<=0||e<=n?[["M",o-e,t],["A",e,e,0,1,1,o+e,t],["A",e,e,0,1,1,o-e,t],["Z"]]:[["M",o-e,t],["A",e,e,0,1,1,o+e,t],["A",e,e,0,1,1,o-e,t],["Z"],["M",o+n,t],["A",n,n,0,1,0,o-n,t],["A",n,n,0,1,0,o+n,t],["Z"]],$c=(o,t,e,n,i,s)=>{const[r,a]=[i/360*2*Math.PI,s/360*2*Math.PI],l=[ys(o,t,n,r),ys(o,t,e,r),ys(o,t,e,a),ys(o,t,n,a)],c=a-r>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",e,e,0,c,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,c,0,l[0][0],l[0][1]],["Z"]]},Fc=(o=0,t=0,e,n)=>{const[i,s]=[0,0];return Math.abs(e-n)%360<1e-6?Zc(i,s,o,t):$c(i,s,o,t,e,n)};class bs extends Qi{constructor(t){super(si({style:bs.defaultStyleProps},t))}drawKeyShape(t,e){return this.upsert("key",nt.Pj,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getSize(t);return Object.assign(Object.assign({},e),{rx:n/2,ry:i/2})}getIconStyle(t){const e=super.getIconStyle(t),{rx:n,ry:i}=this.getShape("key").attributes,s=Math.min(+n,+i)*2*oi;return e?Object.assign({width:s,height:s},e):!1}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return Yi(t,n,e)}}bs.defaultStyleProps={size:[45,35]};class kc extends ms{constructor(t){super(t)}getOuterR(t){return t.outerR||Math.min(...this.getSize(t))/2}getPoints(t){return Td(this.getOuterR(t))}getIconStyle(t){const e=super.getIconStyle(t),n=this.getOuterR(t)*oi;return e?Object.assign({width:n,height:n},e):!1}}var qo=y(94344),Co=y(84502),Kn=y(49527),Wc=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const n=this.context.canvas,i=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(e,i).forEach(r=>{const a=this.bootstrapEvent(this.rootPointerEvent,r,i,e);(0,So.Z)(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(a)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[B.CLICK,B.POINTER_DOWN,B.POINTER_MOVE,B.POINTER_UP,B.POINTER_OVER,B.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}getKeyStyle(t){const e=(0,Co.Z)(t,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:i=0}=e,s=Wc(e,["dx","dy"]),[r,a]=this.getSize(t);return Object.assign(Object.assign({x:n,y:i},s),{width:r,height:a})}drawKeyShape(t,e){const n=this.getKeyStyle(t),{x:i,y:s,width:r=0,height:a=0}=n,l=this.upsert("key-container",nt.UL,{x:i,y:s,width:r,height:a,opacity:0},e);return this.upsert("key",nt.k9,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof qo.Th))return;const n=this.getDomElement();this.events.forEach(i=>{n.addEventListener(i,this.forwardEvents)})}attributeChangedCallback(t,e,n){t==="zIndex"&&e!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const t=this.getDomElement();this.events.forEach(e=>{t.removeEventListener(e,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(t,e){const n=[];if(e.isTouchEvent(t))for(let i=0;ie.element.getElement(a)).filter(Boolean);if(s.length===0){const a=new nt.mN,{x:l=0,y:c=0,size:d}=t,[u,h]=Pi(d);return a.setMinMax([l-u/2,c-h/2,0],[l+u/2,c+h/2,0]),a}const r=Ft(s.map(a=>a.getBounds()));return i?it(r,i):r}drawCollapsedMarkerShape(t,e){const n=this.getCollapsedMarkerStyle(t);Ti(this,"collapsedMarker",n)&&(this.upsert("collapsed-marker",fa,n,e),Rr(this))}getCollapsedMarkerStyle(t){if(!t.collapsed||!t.collapsedMarker)return!1;const e=Vn(this.getGraphicStyle(t),"collapsedMarker"),{type:n}=e,i=ma(e,["type"]),s=this.getShape("key"),[r,a]=jn(s.getLocalBounds(),"center"),l=Object.assign(Object.assign({},i),{x:r,y:a});if(n){const c=this.getCollapsedMarkerText(n,t);Object.assign(l,{text:c})}return l}getCollapsedMarkerText(t,e){const{context:n,childrenData:i=[]}=e,{model:s}=n;return t==="descendant-count"?s.getDescendantsData(this.id).length.toString():t==="child-count"?i.length.toString():t==="node-count"?s.getDescendantsData(this.id).filter(r=>s.getElementType(z(r))==="node").length.toString():(0,Ht.Z)(t)?t(i):""}getComboZIndex(t){return(this.context.model.getAncestorsData(this.id,st)||[]).length}getComboPosition(t){const{x:e=0,y:n=0,collapsed:i,context:s,childrenData:r=[]}=t;if(r.length===0)return[+e,+n,0];if(i){const{model:a}=s,l=a.getDescendantsData(this.id).filter(c=>!a.isCombo(z(c)));if(l.length>0&&l.some(zi)){const c=l.reduce((d,u)=>ae(d,$e(u)),[0,0,0]);return Ln(c,l.length)}return[+e,+n,0]}return this.getContentBBox(t).center}getComboStyle(t){const{zIndex:e=this.getComboZIndex(t)}=t,[n,i]=this.getComboPosition(t);return{x:n,y:i,transform:[["translate",n,i]],zIndex:e}}updateComboPosition(t){const e=this.getComboStyle(t);Object.assign(this.style,e);const{x:n,y:i}=e;this.context.model.syncComboDatum({id:this.id,style:{x:n,y:i}}),Ir(this)}render(t,e=this){super.render(t,e),this.drawCollapsedMarkerShape(t,e)}update(t={}){super.update(t),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(t,e){const n=super.animate(this.attributes.collapsed?t:t.map(i=>{var{x:s,y:r,z:a,transform:l}=i,c=ma(i,["x","y","z","transform"]);return c}),e);return n&&new Proxy(n,{set:(i,s,r)=>(s==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,s,r))})}}Zo.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class Uc extends Zo{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",nt.Cd,this.getKeyStyle(t),e)}getKeyStyle(t){const{collapsed:e}=t,n=super.getKeyStyle(t),[i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},n),e&&Vn(n,"collapsed")),{r:i/2})}getCollapsedKeySize(t){const[e,n]=Pi(t.collapsedSize),i=Math.max(e,n)/2;return[i*2,i*2,0]}getExpandedKeySize(t){const e=this.getContentBBox(t),[n,i]=Z(e),s=Math.sqrt(Math.pow(n,2)+Math.pow(i,2))/2;return[s*2,s*2,0]}getIntersectPoint(t,e=!1){const n=this.getShape("key").getBounds();return Yi(t,n,e)}}class Kc extends Zo{constructor(t){super(t)}drawKeyShape(t,e){return this.upsert("key",nt.UL,this.getKeyStyle(t),e)}getKeyStyle(t){const e=super.getKeyStyle(t),[n,i]=this.getKeySize(t);return Object.assign(Object.assign(Object.assign({},e),t.collapsed&&Vn(e,"collapsed")),{width:n,height:i,x:-n/2,y:-i/2})}}var Yc=y(47182);const Gc={padding:10};function va(o,t,e,n,i,s){const{padding:r}=Object.assign(Gc,s),a=N(e,r),l=N(n,r),c=[o,...i,t];let d=null;const u=[];for(let h=0,f=c.length;hs?"N":"S":n===s?e>i?"W":"E":null}function Nr(o,t){return t==="N"||t==="S"?dn(o):fn(o)}function ba(o,t,e){const n=[o[0],t[1]],i=[t[0],o[1]],s=Ci(o,n),r=Ci(o,i),a=e?Xc[e]:null,l=s===e||s!==a&&r!==e?n:i;return{points:[l],direction:Ci(l,t)}}function ws(o,t,e){if(ce(o,e)){const n=ts(o,t,e);return{points:[n],direction:Ci(n,t)}}else{const n=te(o,e),s=["left","right"].includes(ye(o,e))?[t[0],n[1]]:[n[0],t[1]];return{points:[s],direction:Ci(s,t)}}}function Ea(o,t,e,n){const i=ce(t,e)?t:te(t,e),s=[[i[0],o[1]],[o[0],i[1]]],r=s.filter(l=>ie(l,e)&&!Jt(l,e,!0)),a=r.filter(l=>Ci(l,o)!==n);if(a.length>0){const l=a.find(c=>Ci(o,c)===n)||a[0];return{points:[l],direction:Ci(l,t)}}else{const l=(0,Yc.Z)(s,r)[0],c=wi(t,l,Nr(e,n)/2);return{points:[ts(c,o,e),c],direction:Ci(c,t)}}}function Qc(o,t,e,n){let i=ws(o,t,e);const s=Hn(i.points[0]);if(Bt(s,n)){i=ws(t,o,n);const r=Hn(i.points[0]);if(Bt(r,e)){const a=wi(o,s,Nr(e,Ci(o,s))/2),l=wi(t,r,Nr(n,Ci(t,r))/2),c=[(a[0]+l[0])/2,(a[1]+l[1])/2],d=ws(o,c,e),u=Ea(c,t,n,d.direction);i.points=[d.points[0],u.points[0]],i.direction=u.direction}}return i}function Ar(o,t,e,n,i){const r=Ft([e,n]),a=re(t,r.center)>re(o,r.center),[l,c]=a?[t,o]:[o,t],d=dn(r)+fn(r);let u;if(i){const g=[l[0]+d*Math.cos(ya[i]),l[1]+d*Math.sin(ya[i])];u=wi(te(g,r),g,.01)}else u=wi(te(l,r),l,-.01);let h=ts(u,c,r),f=[Bi(u,2),Bi(h,2)];if((0,xt.Z)(Bi(u),Bi(h))){const g=bn(Qe(u,l),[1,0,0])+Math.PI/2;h=[c[0]+d*Math.cos(g),c[1]+d*Math.sin(g),0],h=Bi(wi(te(h,r),c,-.01),2);const p=ts(u,h,r);f=[u,p,h]}return{points:a?f.reverse():f,direction:Ci(a?u:h,t)}}function ts(o,t,e){let n=[o[0],t[1]];return Bt(n,e)&&(n=[t[0],o[1]]),n}function xa(o,t,e,n,i){let l=typeof t=="number"?t:.5;t==="start"&&(l=0),t==="end"&&(l=.99);const c=En(o.getPoint(l)),d=En(o.getPoint(l+.01));let u=t==="start"?"left":t==="end"?"right":"center";if(so(c,d)||!e){const[E,x]=Sa(o,l,n,i);return{transform:[["translate",E,x]],textAlign:u}}let h=Math.atan2(d[1]-c[1],d[0]-c[0]);d[0]{const c=s[l-1]||n,d=s[l+1]||i;if(!mo(c,a,d)&&t){const[u,h]=nd(c,a,d,t);r.push(["L",u[0],u[1]],["Q",a[0],a[1],h[0],h[1]],["L",h[0],h[1]])}else r.push(["L",a[0],a[1]])}),r.push(["L",i[0],i[1]]),e&&r.push(["Z"]),r}function nd(o,t,e,n){const i=hn(o,t),s=hn(e,t),r=Math.min(n,Math.min(i,s)/2),a=[t[0]-r/i*(t[0]-o[0]),t[1]-r/i*(t[1]-o[1])],l=[t[0]-r/s*(t[0]-e[0]),t[1]-r/s*(t[1]-e[1])];return[a,l]}const id=o=>{const t=Math.PI/2,e=dn(o)/2,n=fn(o)/2,i=Math.atan2(e,n)/2,s=Math.atan2(n,e)/2;return{top:[-t-s,-t+s],"top-right":[-t+s,-i],"right-top":[-t+s,-i],right:[-i,i],"bottom-right":[i,t-s],"right-bottom":[i,t-s],bottom:[t-s,t+s],"bottom-left":[t+s,Math.PI-i],"left-bottom":[t+s,Math.PI-i],left:[Math.PI-i,Math.PI+i],"top-left":[Math.PI+i,-t-s],"left-top":[Math.PI+i,-t-s]}};function Oa(o,t,e,n,i){const s=N(o),r=o.getCenter();let a=n&&lo(n),l=i&&lo(i);if(!a||!l){const c=id(s),d=c[t][0],u=c[t][1],[h,f]=Z(s),g=Math.max(h,f),p=ae(r,[g*Math.cos(d),g*Math.sin(d),0]),m=ae(r,[g*Math.cos(u),g*Math.sin(u),0]);a=Br(o,p),l=Br(o,m),e||([a,l]=[l,a])}return[a,l]}function od(o,t,e,n,i,s){const r=o.getPorts()[i||s],a=o.getPorts()[s||i];let[l,c]=Oa(o,t,e,r,a);const d=sd(o,l,c,n);return r&&(l=ns(r,d[0])),a&&(c=ns(a,d[d.length-1])),wa(l,c,d)}function sd(o,t,e,n){const i=o.getCenter();if((0,xt.Z)(t,e)){const s=Qe(t,i),r=[n*Math.sign(s[0])||n/2,n*Math.sign(s[1])||-n/2,0];return[ae(t,r),ae(e,nn(r,[1,-1,1]))]}return[wi(i,t,re(i,t)+n),wi(i,e,re(i,e)+n)]}function rd(o,t,e,n,i,s,r){const a=zr(o),l=a[s||r],c=a[r||s];let[d,u]=Oa(o,e,n,l,c);const h=ad(o,d,u,i);return l&&(d=ns(l,h[0])),c&&(u=ns(c,h[h.length-1])),Tr([d,...h,u],t)}function ad(o,t,e,n){const i=[],s=N(o);if((0,xt.Z)(t,e))switch(ye(t,s)){case"left":i.push([t[0]-n,t[1]]),i.push([t[0]-n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"right":i.push([t[0]+n,t[1]]),i.push([t[0]+n,t[1]+n]),i.push([t[0],t[1]+n]);break;case"top":i.push([t[0],t[1]-n]),i.push([t[0]+n,t[1]-n]),i.push([t[0]+n,t[1]]);break;case"bottom":i.push([t[0],t[1]+n]),i.push([t[0]+n,t[1]+n]),i.push([t[0]+n,t[1]]);break}else{const r=ye(t,s),a=ye(e,s);if(r===a){const l=r;let c,d;switch(l){case"left":c=Math.min(t[0],e[0])-n,i.push([c,t[1]]),i.push([c,e[1]]);break;case"right":c=Math.max(t[0],e[0])+n,i.push([c,t[1]]),i.push([c,e[1]]);break;case"top":d=Math.min(t[1],e[1])-n,i.push([t[0],d]),i.push([e[0],d]);break;case"bottom":d=Math.max(t[1],e[1])+n,i.push([t[0],d]),i.push([e[0],d]);break}}else{const l=(h,f)=>({left:[f[0]-n,f[1]],right:[f[0]+n,f[1]],top:[f[0],f[1]-n],bottom:[f[0],f[1]+n]})[h],c=l(r,t),d=l(a,e),u=ts(c,d,s);i.push(c,u,d)}}return i}function Lr(o,t){const e=new Set,n=new Set,i=new Set;return o.forEach(s=>{t(s).forEach(a=>{e.add(a),o.includes(a.source)&&o.includes(a.target)?n.add(a):i.add(a)})}),{edges:Array.from(e),internal:Array.from(n),external:Array.from(i)}}function Ca(o,t){const e=[];let n=o;for(;n;){e.push(n);const i=t(z(n));if(i)n=i;else break}if(e.some(i=>{var s;return(s=i.style)===null||s===void 0?void 0:s.collapsed})){const i=e.reverse().findIndex(Oi);return e[i]||e.at(-1)}return o}function ld(o,t){return t||(o<4?10:o===4?12:o*2.5)}const cd=(o,t)=>{const e=Math.max(o,t)/2;return[["M",-o/2,0],["A",e,e,0,1,0,2*e-o/2,0],["A",e,e,0,1,0,-o/2,0],["Z"]]},Da=(o,t)=>[["M",-o/2,0],["L",o/2,-t/2],["L",o/2,t/2],["Z"]],dd=(o,t)=>[["M",-o/2,0],["L",0,-t/2],["L",o/2,0],["L",0,t/2],["Z"]],ud=(o,t)=>[["M",-o/2,0],["L",o/2,-t/2],["L",4*o/5-o/2,0],["L",o/2,t/2],["Z"]],hd=(o,t)=>[["M",-o/2,-t/2],["L",o/2,-t/2],["L",o/2,t/2],["L",-o/2,t/2],["Z"]],fd=(o,t)=>{const e=o/2,n=o/7,i=o-n;return[["M",-e,0],["L",0,-t/2],["L",0,t/2],["Z"],["M",i-e,-t/2],["L",i+n-e,-t/2],["L",i+n-e,t/2],["L",i-e,t/2],["Z"]]},gd=(o,t)=>[["M",o/2,-t/2],["L",-o/2,0],["L",o/2,0],["L",-o/2,0],["L",o/2,t/2]];var Os=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i(s==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(i,s,r))})}}ao.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 Do extends ao{constructor(t){super(si({style:Do.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t),{controlPoints:i,curvePosition:s,curveOffset:r}=t,a=this.getControlPoints(e,n,td(s),qc(r),i);return wa(e,n,a)}getControlPoints(t,e,n,i,s){return(s==null?void 0:s.length)===2?s:[Pr(t,e,n[0],i[0]),Pr(t,e,n[1],i[1])]}}Do.defaultStyleProps={curvePosition:.5,curveOffset:20};class Cs extends Do{constructor(t){super(si({style:Cs.defaultStyleProps},t))}getControlPoints(t,e,n,i){const s=e[0]-t[0];return[[t[0]+s*n[0]+i[0],t[1]],[e[0]-s*n[1]+i[1],e[1]]]}}Cs.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Ds extends Do{constructor(t){super(si({style:Ds.defaultStyleProps},t))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(t){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(t);const e=$e(this.ref),n=this.sourceNode.getIntersectPoint(e,!0),i=this.targetNode.getIntersectPoint(e);return[n,i]}toRadialCoordinate(t){const e=$e(this.ref),n=re(t,e),i=ee(Qe(t,e));return[n,i]}getControlPoints(t,e,n,i){const[s,r]=this.toRadialCoordinate(t),[a]=this.toRadialCoordinate(e),l=a-s;return[[t[0]+(l*n[0]+i[0])*Math.cos(r),t[1]+(l*n[0]+i[0])*Math.sin(r)],[e[0]-(l*n[1]-i[0])*Math.cos(r),e[1]-(l*n[1]-i[0])*Math.sin(r)]]}}Ds.defaultStyleProps={curvePosition:.5,curveOffset:20};class Ms extends Do{constructor(t){super(si({style:Ms.defaultStyleProps},t))}getControlPoints(t,e,n,i){const s=e[1]-t[1];return[[t[0],t[1]+s*n[0]+i[0]],[e[0],e[1]-s*n[1]+i[1]]]}}Ms.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class Rs extends ao{constructor(t){super(si({style:Rs.defaultStyleProps},t))}getKeyPath(t){const[e,n]=this.getEndpoints(t);return[["M",e[0],e[1]],["L",n[0],n[1]]]}}Rs.defaultStyleProps={};const pd={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:hn},oo=o=>`${Math.round(o[0])}|||${Math.round(o[1])}`;function Mo(o,t){const e=n=>Math.round(n/t);return(0,ge.Z)(o)?e(o):o.map(e)}function md(o,t){const e=Math.abs(o-t);return e>Math.PI?2*Math.PI-e:e}function Ma(o,t){const e=t[0]-o[0],n=t[1]-o[1];return!e&&!n?0:Math.atan2(n,e)}function Ra(o,t,e,n){const i=Ma(o,t),s=e[oo(o)],a=Ma(s||n,o);return md(a,i)}const vd=(o,t)=>{const{offset:e,gridSize:n}=t,i={};return o.forEach(s=>{if(!s||s.destroyed||!s.isVisible())return;const r=it(s.getRenderBounds(),e);for(let a=Mo(r.min[0],n);a<=Mo(r.max[0],n);a+=1)for(let l=Mo(r.min[1],n);l<=Mo(r.max[1],n);l+=1)i[`${a}|||${l}`]=!0}),i};function Ia(o,t,e){return Math.min(...t.map(n=>e(o,n)))}function yd(o,t,e){let n=o[0],i=e(o[0],t);for(let s=0;s{if(!t)return[o];const{directionMap:i,offset:s}=n,r=it(t.getRenderBounds(),s),a=Object.keys(i).reduce((l,c)=>{if(e.includes(c)){const d=i[c],[u,h]=Z(r),f=[o[0]+d.stepX*u,o[1]+d.stepY*h],g=we(r);for(let p=0;pMo(l,n.gridSize))},bd=(o,t,e,n,i,s,r)=>{const a=[];let l=[s[0]===n[0]?n[0]:o[0]*r,s[1]===n[1]?n[1]:o[1]*r];a.unshift(l);let c=o,d=t[oo(c)];for(;d;){const f=d,g=c;Ra(f,g,t,e)&&(l=[f[0]===g[0]?l[0]:f[0]*r,f[1]===g[1]?l[1]:f[1]*r],a.unshift(l)),d=t[oo(f)],c=f}const u=i.map(f=>[f[0]*r,f[1]*r]),h=yd(u,l,hn);return a.unshift(h),a};function Ed(o,t,e,n){const i=Rn(o.getCenter()),s=Rn(t.getCenter()),r=Object.assign(pd,n),{gridSize:a}=r,l=r.enableObstacleAvoidance?e:[o,t],c=vd(l,r),d=Mo(i,a),u=Mo(s,a),h=Na(i,o,r.startDirections,r),f=Na(s,t,r.endDirections,r);h.forEach(k=>delete c[oo(k)]),f.forEach(k=>delete c[oo(k)]);const g={},p={},m={},E={},x={},O=new xd;for(let k=0;koo(k));let X=r.maximumLoops,U,V=1/0;for(const[k,yt]of Object.entries(g))x[k]<=V&&(V=x[k],U=yt);for(;Object.keys(g).length>0&&X>0;){const k=O.minId(!1);if(k)U=g[k];else break;const yt=oo(U);if(j.includes(yt))return bd(U,m,d,s,h,u,a);delete g[yt],O.remove(yt),p[yt]=!0;for(const zt of Object.values(r.directionMap)){const q=ae(U,[zt.stepX,zt.stepY]),Lt=oo(q);if(p[Lt])continue;const Nt=Ra(U,q,m,d);if(Nt>r.maxAllowedDirectionChange||c[Lt])continue;g[Lt]||(g[Lt]=q);const Tt=r.penalties[Nt],St=r.distFunc(U,q)+(isNaN(Tt)?a:Tt),kt=E[yt]+St,rn=E[Lt];rn&&kt>=rn||(m[Lt]=U,E[Lt]=kt,x[Lt]=kt+Ia(q,f,r.distFunc),O.add({id:Lt,value:x[Lt]}))}X-=1}return[]}class xd{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(t,e){let n=0,i=e-1;for(;i-n>1;){const s=Math.floor((n+i)/2);if(this.arr[s].value>t.value)i=s;else if(this.arr[s].value=0;e--)this.map[this.arr[e].id]?t=this.arr[e].id:this.arr.splice(e,1);return t}_findFirstId(){for(;this.arr.length;){const t=this.arr.shift();if(this.map[t.id])return t.id}}minId(t){return t?this._clearAndGetMinId():this._findFirstId()}}class Is extends ao{constructor(t){super(si({style:Is.defaultStyleProps},t))}getControlPoints(t){const{router:e}=t,{sourceNode:n,targetNode:i}=this,[s,r]=this.getEndpoints(t,!1);let a=[];if(!e)a=t.controlPoints;else if(e.type==="shortest-path"){const l=this.context.element.getNodes();a=Ed(n,i,l,e),a.length||(a=va(s,r,n,i,t.controlPoints,{padding:e.offset}))}else e.type==="orth"&&(a=va(s,r,n,i,t.controlPoints,e));return a}getPoints(t){const e=this.getControlPoints(t),[n,i]=this.getEndpoints(t,!0,e);return[n,...e,i]}getKeyPath(t){const e=this.getPoints(t);return Tr(e,t.radius)}getLoopPath(t){const{sourcePort:e,targetPort:n,radius:i}=t,s=this.sourceNode,r=N(s),a=Math.max(fn(r),dn(r))/4,{placement:l,clockwise:c,dist:d=a}=Vn(this.getGraphicStyle(t),"loop");return rd(s,i,l,c,d,e,n)}}Is.defaultStyleProps={radius:0,controlPoints:[],router:!1};class Ns extends ao{constructor(t){super(si({style:Ns.defaultStyleProps},t))}getKeyPath(t){const{curvePosition:e,curveOffset:n}=t,[i,s]=this.getEndpoints(t),r=t.controlPoint||Pr(i,s,e,n);return ed(i,s,r)}}Ns.defaultStyleProps={curvePosition:.5,curveOffset:30};function es(o){return o instanceof Qi&&o.type==="node"}function Aa(o){return o instanceof ao}function _r(o){return o instanceof Zo}function Sd(o){return es(o)||Aa(o)||_r(o)}function wd(o,t){return!o||!t?!1:o===t}const Od={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function jr(o,t,e=Od,n=!0){const i=[.5,.5],s=(0,ve.Z)(t)?(0,ti.Z)(e,t.toLocaleLowerCase(),i):t;if(!n&&(0,ve.Z)(t))return s;const[r,a]=s||i;return[o.min[0]+fn(o)*r,o.min[1]+dn(o)*a]}function zr(o){if(!o)return{};const t=o.getPorts();return(o.attributes.ports||[]).forEach((n,i)=>{var s;const{key:r,placement:a}=n;Pa(n)&&(t[s=r||i]||(t[s]=jn(o.getShape("key").getBounds(),a)))}),t}function Pa(o){const{r:t}=o;return!t||Number(t)===0}function lo(o){return gi(o)?o:o.getPosition()}function Cd(o,t,e,n){const i=Ta(o,t,e,n),s=Ta(t,o,n,e);return[i,s]}function Ta(o,t,e,n){const i=zr(o);if(e)return i[e];const s=Object.values(i);if(s.length===0)return;const r=s.map(c=>lo(c)),a=Dd(t,n),[l]=Po(r,a);return s.find(c=>lo(c)===l)}function Dd(o,t){const e=zr(o);if(t)return[lo(e[t])];const n=Object.values(e);return n.length>0?n.map(i=>lo(i)):[o.getCenter()]}function La(o,t){return _r(o)||es(o)?Br(o,t):ns(o,t)}function ns(o,t){if(!o||!t)return[0,0,0];if(gi(o))return o;if(o.attributes.linkToCenter)return o.getPosition();const e=gi(t)?t:es(t)?t.getCenter():t.getPosition();return Yi(e,o.getBounds())}function Br(o,t){if(!o||!t)return[0,0,0];const e=gi(t)?t:es(t)?t.getCenter():t.getPosition();return o.getIntersectPoint(e)||o.getCenter()}function _a(o,t="bottom",e=0,n=0,i=!1){const s=t.split("-"),[r,a]=jn(o,t),l=s.includes("left")?"right":s.includes("right")?"left":"center";let c=s.includes("top")?"bottom":s.includes("bottom")?"top":"middle";return i&&(c=c==="top"?"bottom":c==="bottom"?"top":c),{transform:[["translate",r+e,a+n]],textBaseline:c,textAlign:l}}function Md(o,t){return[[0,-o],[t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)],[o*Math.cos(Math.PI/10),-o*Math.sin(Math.PI/10)],[t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[o*Math.cos(3*Math.PI/10),o*Math.sin(3*Math.PI/10)],[0,t],[-o*Math.cos(3*Math.PI/10),o*Math.sin(3*Math.PI/10)],[-t*Math.cos(Math.PI/10),t*Math.sin(Math.PI/10)],[-o*Math.cos(Math.PI/10),-o*Math.sin(Math.PI/10)],[-t*Math.cos(3*Math.PI/10),-t*Math.sin(3*Math.PI/10)]]}function Rd(o,t){const e={};return e.top=[0,-o],e.left=[-o*Math.cos(Math.PI/10),-o*Math.sin(Math.PI/10)],e["left-bottom"]=[-o*Math.cos(3*Math.PI/10),o*Math.sin(3*Math.PI/10)],e.bottom=[0,t],e["right-bottom"]=[o*Math.cos(3*Math.PI/10),o*Math.sin(3*Math.PI/10)],e.right=e.default=[o*Math.cos(Math.PI/10),-o*Math.sin(Math.PI/10)],e}function Id(o,t,e){const n=t/2,i=o/2,s={up:[[-i,n],[i,n],[0,-n]],left:[[-i,0],[i,n],[i,-n]],right:[[-i,n],[-i,-n],[i,0]],down:[[-i,-n],[i,-n],[0,n]]};return s[e]||s.up}function Nd(o,t,e){const n=t/2,i=o/2,s={};return e==="down"?(s.bottom=s.default=[0,n],s.right=[i,-n],s.left=[-i,-n]):e==="left"?(s.top=[i,-n],s.bottom=[i,n],s.left=s.default=[-i,0]):e==="right"?(s.top=[-i,-n],s.bottom=[-i,n],s.right=s.default=[i,0]):(s.left=[-i,n],s.top=s.default=[0,-n],s.right=[i,n]),s}function z0(o,t){return[[o/2,-t/2],[o/2,t/2],[-o/2,t/2],[-o/2,-t/2]]}function Ad(o,t){return[[0,-t/2],[o/2,0],[0,t/2],[-o/2,0]]}function Pd(o){return(0,ti.Z)(o,["style","visibility"])!=="hidden"}function Zr(o,t){"update"in o?o.update(t):o.attr(t)}function Td(o){return[[0,o],[o*Math.sqrt(3)/2,o/2],[o*Math.sqrt(3)/2,-o/2],[0,-o],[-o*Math.sqrt(3)/2,-o/2],[-o*Math.sqrt(3)/2,o/2]]}function Ld(o){(0,So.Z)(o,"__to_be_destroyed__",!0)}function As(o){return(0,ti.Z)(o,"__to_be_destroyed__",!1)}var _d=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Ps extends Me{constructor(t,e){super(t,Object.assign({},Ps.defaultOptions,e)),this.onCollapseExpand=n=>_d(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:i}=n;if(!Sd(i))return;const s=i.id,{model:r,graph:a}=this.context,l=r.getElementDataById(s);if(!l)return!1;const{onCollapse:c,onExpand:d,animation:u}=this.options;Oi(l)?(yield a.expandElement(s,u),d==null||d(s)):(yield a.collapseElement(s,u),c==null||c(s))}),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`node:${e}`,this.onCollapseExpand),t.on(`combo:${e}`,this.onCollapseExpand)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`node:${e}`,this.onCollapseExpand),t.off(`combo:${e}`,this.onCollapseExpand)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}Ps.defaultOptions={enable:!0,animation:!0,trigger:B.DBLCLICK};var jd=y(63178),Ts=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};const zd="g6-create-edge-assist-edge-id",Ls="g6-create-edge-assist-node-id";class _s extends Me{constructor(t,e){super(t,Object.assign({},_s.defaultOptions,e)),this.drop=n=>Ts(this,void 0,void 0,function*(){const{targetType:i}=n;["combo","node"].includes(i)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>Ts(this,void 0,void 0,function*(){var i,s,r;if(!this.validate(n))return;const{graph:a,canvas:l,batch:c,element:d}=this.context,{style:u}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}c.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const h=a.getElementData(this.source);a.addNodeData([{id:Ls,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(i=h.style)===null||i===void 0?void 0:i.x,y:(s=h.style)===null||s===void 0?void 0:s.y}}]),a.addEdgeData([{id:zd,source:this.source,target:Ls,style:Object.assign({pointerEvents:"none"},u)}]),yield(r=d.draw({animation:!1}))===null||r===void 0?void 0:r.finished}),this.updateAssistEdge=n=>Ts(this,void 0,void 0,function*(){var i;if(!this.source)return;const{model:s,element:r}=this.context;s.translateNodeTo(Ls,[n.canvas.x,n.canvas.y]),yield(i=r.draw({animation:!1,silence:!0}))===null||i===void 0?void 0:i.finished}),this.createEdge=n=>{var i,s;const{graph:r}=this.context,{style:a,onFinish:l,onCreate:c}=this.options;if(((i=n.target)===null||i===void 0?void 0:i.id)===void 0||this.source===void 0)return;const u=(s=this.getSelectedNodeIDs([n.target.id]))===null||s===void 0?void 0:s[0],h=`${this.source}-${u}-${(0,jd.Z)()}`,f=c({id:h,source:this.source,target:u,style:a});r.addEdgeData([f]),l(f)},this.cancelEdge=()=>Ts(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:i,element:s,batch:r}=this.context;i.removeNodeData([Ls]),this.source=void 0,yield(n=s.draw({animation:!1}))===null||n===void 0?void 0:n.finished,r.endBatch()}),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;this.unbindEvents(),e==="click"?(t.on(vt.CLICK,this.handleCreateEdge),t.on(J.CLICK,this.handleCreateEdge),t.on(oe.CLICK,this.cancelEdge),t.on(at.CLICK,this.cancelEdge)):(t.on(vt.DRAG_START,this.handleCreateEdge),t.on(J.DRAG_START,this.handleCreateEdge),t.on(B.POINTER_UP,this.drop)),t.on(B.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;t.off(vt.CLICK,this.handleCreateEdge),t.off(J.CLICK,this.handleCreateEdge),t.off(oe.CLICK,this.cancelEdge),t.off(at.CLICK,this.cancelEdge),t.off(vt.DRAG_START,this.handleCreateEdge),t.off(J.DRAG_START,this.handleCreateEdge),t.off(B.POINTER_UP,this.drop),t.off(B.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}_s.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:o=>o,onFinish:()=>{}};var js=y(78431),ja=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class zs extends Me{constructor(t,e){super(t,Object.assign({},zs.defaultOptions,e)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{if(!this.isDragging)return;const{x:i,y:s}=n.movement;i|s&&this.translate([i,s],!1)},this.onDragEnd=()=>{var n,i;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},this.invokeOnFinish=(0,js.Z)(()=>{var n,i;(i=(n=this.options).onFinish)===null||i===void 0||i.call(n)},300),this.shortcut=new xn(t.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{trigger:t}=this.options;if((0,dt.Z)(t)){const{up:e=[],down:n=[],left:i=[],right:s=[]}=t;this.shortcut.bind(e,r=>this.onTranslate([0,1],r)),this.shortcut.bind(n,r=>this.onTranslate([0,-1],r)),this.shortcut.bind(i,r=>this.onTranslate([1,0],r)),this.shortcut.bind(s,r=>this.onTranslate([-1,0],r))}else{const{graph:e}=this.context;e.on(B.DRAG_START,this.onDragStart),e.on(B.DRAG,this.onDrag),e.on(B.DRAG_END,this.onDragEnd)}}onTranslate(t,e){return ja(this,void 0,void 0,function*(){if(!this.validate(e))return;const{sensitivity:n}=this.options,i=n*-1;yield this.translate(nn(t,i),this.options.animation),this.invokeOnFinish()})}translate(t,e){return ja(this,void 0,void 0,function*(){t=this.clampByDirection(t),t=this.clampByRange(t),yield this.context.graph.translateBy(t,e)})}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[s,r]=i.getSize(),[a,l,c,d]=me(this.options.range),u=[r*a,s*l,r*c,s*d],h=it(ut(n.getCanvasCenter()),u),f=Qe(n.getViewportCenter(),[t,e,0]);if(!Bt(f,h)){const{min:[g,p],max:[m,E]}=h;(f[0]0||f[0]>m&&t<0)&&(t=0),(f[1]0||f[1]>E&&e<0)&&(e=0)}return[t,e]}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return typeof e=="function"?e(t):!!e}unbindEvents(){this.shortcut.unbindAll();const{graph:t}=this.context;t.off(B.DRAG_START,this.onDragStart),t.off(B.DRAG,this.onDrag),t.off(B.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}zs.defaultOptions={enable:o=>"targetType"in o?o.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var za=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class is extends Me{constructor(t,e){super(t,Object.assign({},is.defaultOptions,e)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>za(this,void 0,void 0,function*(){var i;if(this.options.dropEffect!=="link")return;const{model:s,element:r}=this.context,a=n.target.id;this.target.forEach(l=>{const c=s.getParentData(l,st);c&&z(c)===a&&s.refreshComboData(a),s.setParent(l,a,st)}),yield(i=r==null?void 0:r.draw({animation:!0}))===null||i===void 0?void 0:i.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:i}=n,{canvas:s}=this.context,{cursor:r}=this.options;i===B.POINTER_ENTER?s.setCursor((r==null?void 0:r.grab)||"grab"):s.setCursor((r==null?void 0:r.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(t){this.unbindEvents(),super.update(t),this.bindEvents()}bindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.on(`${i}:${B.DRAG_START}`,this.onDragStart),t.on(`${i}:${B.DRAG}`,this.onDrag),t.on(`${i}:${B.DRAG_END}`,this.onDragEnd),t.on(`${i}:${B.POINTER_ENTER}`,this.setCursor),t.on(`${i}:${B.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(t.on(J.DROP,this.onDrop),t.on(oe.DROP,this.onDrop))}getSelectedNodeIDs(t){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(e=>e.id).concat(t)))}getDelta(t){const e=this.context.graph.getZoom();return Ln([t.dx,t.dy],e)}onDragStart(t){var e;if(this.enable=this.validate(t),!this.enable)return;const{batch:n,canvas:i}=this.context;i.setCursor(((e=this.options.cursor)===null||e===void 0?void 0:e.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch(),this.target=this.getSelectedNodeIDs([t.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.options.shadow?this.moveShadow(e):this.moveElement(this.target,e)}onDragEnd(){var t,e,n;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:r=0,y:a=0}=this.shadow.attributes,[l,c]=Qe([+r,+a],this.shadowOrigin);this.moveElement(this.target,[l,c])}this.showEdges(),(e=(t=this.options).onFinish)===null||e===void 0||e.call(t,this.target);const{batch:i,canvas:s}=this.context;i.endBatch(),s.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}moveElement(t,e){return za(this,void 0,void 0,function*(){const{graph:n,model:i}=this.context,{dropEffect:s}=this.options;s==="move"&&t.forEach(r=>i.refreshComboData(r)),n.translateElementBy(Object.fromEntries(t.map(r=>[r,e])),!1)})}moveShadow(t){if(!this.shadow)return;const{x:e=0,y:n=0}=this.shadow.attributes,[i,s]=t;this.shadow.attr({x:+e+i,y:+n+s})}createShadow(t){const e=Vn(this.options,"shadow"),n=Ft(t.map(c=>this.context.element.getElement(c).getBounds())),[i,s]=n.min;this.shadowOrigin=[i,s];const[r,a]=Z(n),l={width:r,height:a,x:i,y:s};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},e),l),{visibility:"visible"})):(this.shadow=new nt.UL({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},e),l),{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:t,shadow:e}=this.options;if(t==="none"||e)return;const{graph:n}=this.context;t==="all"?this.hiddenEdges=n.getEdgeData().map(z):this.hiddenEdges=Array.from(new Set(this.target.map(i=>n.getRelatedEdgesData(i,t).map(z)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:t,canvas:e}=this.context,n=e.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(i=>{t.off(`${i}:${B.DRAG_START}`,this.onDragStart),t.off(`${i}:${B.DRAG}`,this.onDrag),t.off(`${i}:${B.DRAG_END}`,this.onDragEnd),t.off(`${i}:${B.POINTER_ENTER}`,this.setCursor),t.off(`${i}:${B.POINTER_LEAVE}`,this.setCursor)}),t.off(`combo:${B.DROP}`,this.onDrop),t.off(`canvas:${B.DROP}`,this.onDrop)}destroy(){var t;this.unbindEvents(),(t=this.shadow)===null||t===void 0||t.destroy(),super.destroy()}}is.defaultOptions={animation:!0,enable:o=>["node","combo"].includes(o.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 li=y(67469);class Ba{constructor(t,e){this.context=t,this.options=e||{}}}var Bd=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})},Zd=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const s=i.data._isCombo?n.combos:n.nodes,{x:r,y:a,z:l=0}=i.data;s==null||s.push({id:i.id,style:{x:r,y:a,z:l}})}),e.forEach(i=>{const{id:s,source:r,target:a,data:{points:l=[],controlPoints:c=l.slice(1,l.length-1)}}=i;n.edges.push({id:s,source:r,target:a,style:Object.assign({},c!=null&&c.length?{controlPoints:c.map(En)}:{})})}),n}function Fd(o,t){class e extends Ba{constructor(i,s){if(super(i,s),this.instance=new o({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const r=this.instance;this.stop=r.stop.bind(r),this.tick=a=>{const l=r.tick(a);return Bs(l)}}}execute(i,s){return Bd(this,void 0,void 0,function*(){return Bs(yield this.instance.execute(this.graphData2LayoutModel(i),this.transformOptions((0,kn.Z)({},this.options,s))))})}transformOptions(i){const{onTick:s}=i;return s&&(i.onTick=r=>s(Bs(r))),i}graphData2LayoutModel(i){const{nodes:s=[],edges:r=[],combos:a=[]}=i,l=s.map(f=>{const g=z(f),{data:p,style:m,combo:E}=f,x=Zd(f,["data","style","combo"]),O={id:g,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p),{data:p}),E?{parentId:E}:{}),{style:m}),x)};return m!=null&&m.x&&Object.assign(O.data,{x:m.x}),m!=null&&m.y&&Object.assign(O.data,{y:m.y}),m!=null&&m.z&&Object.assign(O.data,{z:m.z}),O}),c=new Map(l.map(f=>[f.id,f])),d=r.filter(f=>{const{source:g,target:p}=f;return c.has(g)&&c.has(p)}).map(f=>{const{source:g,target:p,data:m,style:E}=f;return{id:z(f),source:g,target:p,data:Object.assign({},m),style:Object.assign({},E)}}),u=a.map(f=>({id:z(f),data:Object.assign({_isCombo:!0},f.data),style:Object.assign({},f.style)})),h=new li.k({nodes:[...l,...u],edges:d});return t.model.model.hasTreeStructure(st)&&(h.attachTreeStructure(st),l.forEach(f=>{const g=t.model.model.getParent(f.id,st);g&&h.hasNode(g.id)&&h.setParent(f.id,g.id,st)})),h}}return e}function $r(o,t,...e){if(t in o)return o[t](...e);if("instance"in o){const n=o.instance;if(t in n)return n[t](...e)}return null}function Za(o,t){if(t in o)return o[t];if("instance"in o){const e=o.instance;if(t in e)return e[t]}return null}var kd=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Wd extends is{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(t=>["d3-force","d3-force-3d"].includes(t==null?void 0:t.id))}validate(t){return this.context.layout?this.forceLayoutInstance?super.validate(t):(Wt.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(t,e){return kd(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(t).forEach((i,s)=>{const{x:r=0,y:a=0}=i.style||{};n&&$r(n,"setFixedPosition",t[s],[...ae([+r,+a],e)])})})}onDragStart(t){if(this.enable=this.validate(t),!this.enable)return;this.target=this.getSelectedNodeIDs([t.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const e=this.forceLayoutInstance;e&&Za(e,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:i=0,y:s=0}=n.style||{};e&&$r(e,"setFixedPosition",z(n),[+i,+s])})}onDrag(t){if(!this.enable)return;const e=this.getDelta(t);this.moveElement(this.target,e)}onDragEnd(){const t=this.forceLayoutInstance;t&&Za(t,"simulation").alphaTarget(0),this.context.graph.getNodeData(this.target).forEach(e=>{t&&$r(t,"setFixedPosition",z(e),[null,null,null])})}}var $a=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Zs extends Me{constructor(t,e){super(t,Object.assign({},Zs.defaultOptions,e)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>$a(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context,{state:s,nodeFilter:r,edgeFilter:a,comboFilter:l}=this.options,c=(s?i.getElementDataByState("node",s):i.getNodeData()).filter(r),d=(s?i.getElementDataByState("edge",s):i.getEdgeData()).filter(a),u=(s?i.getElementDataByState("combo",s):i.getComboData()).filter(l),h=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,f=[...c,...u];f.length>0&&f.forEach(g=>this.fixNodeLike(g,h)),this.updateRelatedEdges(),d.length>0&&d.forEach(g=>this.fixEdge(g,h))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,i,s)=>{var r;const a=this.cachedStyles.get(n)||[],l=((r=a.find(c=>c.shape===i))===null||r===void 0?void 0:r.style)||{};return s in l||(l[s]=i.attributes[s],this.cachedStyles.set(n,[...a.filter(c=>c.shape!==i),{shape:i,style:l}])),l[s]},this.scaleEntireElement=(n,i,s)=>{i.setLocalScale(1/s);const r=this.cachedStyles.get(n)||[];r.push({shape:i}),this.cachedStyles.set(n,r)},this.scaleSpecificShapes=(n,i,s)=>{const r=Lc(n);(Array.isArray(s)?s:[s]).forEach(l=>{const{shape:c,fields:d}=l,u=typeof c=="function"?c(r):n.getShape(c);if(u){if(!d){this.scaleEntireElement(n.id,u,i);return}d.forEach(h=>{const f=this.getOriginalFieldValue(n.id,u,h);(0,ge.Z)(f)&&(u.style[h]=f/i)})}})},this.skipIfExceedViewport=n=>{const{viewport:i}=this.context;return!(i!=null&&i.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,i)=>{const s=z(n),{element:r,model:a}=this.context,l=r.getElement(s);if(!l||this.skipIfExceedViewport(l))return;a.getRelatedEdgesData(s).forEach(u=>this.relatedEdgeToUpdate.add(z(u)));const d=this.options[l.type];if(!d){this.scaleEntireElement(s,l,i);return}this.scaleSpecificShapes(l,i,d)},this.fixEdge=(n,i)=>{const s=z(n),r=this.context.element.getElement(s);if(!r||this.skipIfExceedViewport(r))return;const a=this.options.edge;if(!a){r.style.transformOrigin="center",this.scaleEntireElement(s,r,i);return}this.scaleSpecificShapes(r,i,a)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(i=>{const s=n.getElement(i);s==null||s.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=()=>$a(this,void 0,void 0,function*(){this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}})}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(i=>{i.forEach(({shape:s,style:r})=>{if((0,Gi.Z)(r))s.setLocalScale(1);else{if(this.options.state)return;Object.entries(r).forEach(([a,l])=>s.style[a]=l)}})});const{graph:t,element:e}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(i=>i&&t.getElementType(i)==="node");if(n.length>0){const i=new Set;n.forEach(s=>{t.getRelatedEdgesData(s).forEach(r=>i.add(z(r)))}),i.forEach(s=>{const r=e==null?void 0:e.getElement(s);r==null||r.update({})})}}}bindEvents(){const{graph:t}=this.context;t.on(W.AFTER_DRAW,this.resetTransform),t.on(W.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:t}=this.context;t.off(W.AFTER_DRAW,this.resetTransform),t.off(W.AFTER_TRANSFORM,this.fixElementSize)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}destroy(){this.unbindEvents(),super.destroy()}}Zs.defaultOptions={enable:o=>o.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var Hd=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class $s extends Me{constructor(t,e){super(t,Object.assign({},$s.defaultOptions,e)),this.focus=n=>Hd(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:i}=this.context;yield i.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),bi.forEach(e=>{t.on(`${e}:${B.CLICK}`,this.focus)})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;bi.forEach(e=>{t.off(`${e}:${B.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}$s.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class Fs extends Me{constructor(t,e){super(t,Object.assign({},Fs.defaultOptions,e)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const i=n.type===B.POINTER_ENTER;this.updateElementsState(n,i);const{onHover:s,onHoverEnd:r}=this.options;i?s==null||s(n):r==null||r(n)},this.updateElementsState=(n,i)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:s}=this.context,{state:r,animation:a,inactiveState:l}=this.options,c=this.getActiveIds(n),d={};if(r&&Object.assign(d,this.getElementsState(c,r,i)),l){const u=Be(s.getData(),!0).filter(h=>!c.includes(h));Object.assign(d,this.getElementsState(u,l,i))}s.setElementState(d,a)},this.getElementsState=(n,i,s)=>{const{graph:r}=this.context,a={};return n.forEach(l=>{const c=r.getElementState(l);s?a[l]=c.includes(i)?c:[...c,i]:a[l]=c.filter(d=>d!==i)}),a},this.bindEvents()}bindEvents(){const{graph:t}=this.context;this.unbindEvents(),bi.forEach(n=>{t.on(`${n}:${B.POINTER_ENTER}`,this.hoverElement),t.on(`${n}:${B.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.addEventListener(`${B.DRAG_START}`,this.toggleFrozen),e.addEventListener(`${B.DRAG_END}`,this.toggleFrozen)}getActiveIds(t){const{graph:e}=this.context,{degree:n,direction:i}=this.options,s=t.target.id;return n?Eo(e,t.targetType,s,typeof n=="function"?n(t):n,i):[s]}validate(t){if(this.destroyed||this.isFrozen||As(t.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}unbindEvents(){const{graph:t}=this.context;bi.forEach(n=>{t.off(`${n}:${B.POINTER_ENTER}`,this.hoverElement),t.off(`${n}:${B.POINTER_LEAVE}`,this.hoverElement)});const e=this.context.canvas.document;e.removeEventListener(`${B.DRAG_START}`,this.toggleFrozen),e.removeEventListener(`${B.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}Fs.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class Vd extends On{onPointerDown(t){if(!super.validate(t)||!super.isKeydown()||this.points)return;const{canvas:e}=this.context;this.pathShape=new nt.y$({id:"g6-lasso-select",style:this.options.style}),e.appendChild(this.pathShape),this.points=[Ni(t)]}onPointerMove(t){var e;if(!this.points)return;const{immediately:n,mode:i}=this.options;this.points.push(Ni(t)),(e=this.pathShape)===null||e===void 0||e.setAttribute("d",Ic(this.points)),n&&i==="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 t;(t=this.pathShape)===null||t===void 0||t.remove(),this.pathShape=void 0,this.points=void 0}}class ks extends Me{constructor(t,e){super(t,Object.assign({},ks.defaultOptions,e)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,i,s)=>{n.filter(Boolean).forEach(r=>{i==="hidden"&&!r.isVisible()?this.hiddenShapes.push(r):i==="visible"&&this.hiddenShapes.includes(r)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(r),1):gn(r,i,!1,s)})},this.filterShapes=(n,i)=>{if((0,Ht.Z)(i))return r=>!i(n,r);const s=i==null?void 0:i[n];return r=>r.className?!(s!=null&&s.includes(r.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:i}=this.context,{shapes:s={}}=this.options;this.setElementsVisibility(i.getNodes(),"hidden",this.filterShapes("node",s)),this.setElementsVisibility(i.getEdges(),"hidden",this.filterShapes("edge",s)),this.setElementsVisibility(i.getCombos(),"hidden",this.filterShapes("combo",s)),this.isVisible=!1},this.showShapes=(0,js.Z)(n=>{if(!this.validate(n)||this.isVisible)return;const{element:i}=this.context;this.setElementsVisibility(i.getNodes(),"visible"),this.setElementsVisibility(i.getEdges(),"visible"),this.setElementsVisibility(i.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:t}=this.context;t.on(W.BEFORE_TRANSFORM,this.hideShapes),t.on(W.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:t}=this.context;t.off(W.BEFORE_TRANSFORM,this.hideShapes),t.off(W.AFTER_TRANSFORM,this.showShapes)}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}ks.defaultOptions={enable:!0,debounce:200,shapes:o=>o==="node"};var Fa=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Ws extends Me{constructor(t,e){super(t,Object.assign({},Ws.defaultOptions,e)),this.onWheel=n=>Fa(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const i=n.deltaX,s=n.deltaY;yield this.scroll([-i,-s],n)}),this.shortcut=new xn(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){var t,e;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),(0,dt.Z)(n)){(t=this.graphDom)===null||t===void 0||t.removeEventListener(B.WHEEL,this.onWheel);const{up:i=[],down:s=[],left:r=[],right:a=[]}=n;this.shortcut.bind(i,l=>this.scroll([0,-10],l)),this.shortcut.bind(s,l=>this.scroll([0,10],l)),this.shortcut.bind(r,l=>this.scroll([-10,0],l)),this.shortcut.bind(a,l=>this.scroll([10,0],l))}else(e=this.graphDom)===null||e===void 0||e.addEventListener(B.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(t){const{sensitivity:e}=this.options;return t=nn(t,e),t=this.clampByDirection(t),t=this.clampByRange(t),t}clampByDirection([t,e]){const{direction:n}=this.options;return n==="x"?e=0:n==="y"&&(t=0),[t,e]}clampByRange([t,e]){const{viewport:n,canvas:i}=this.context,[s,r]=i.getSize(),[a,l,c,d]=me(this.options.range),u=[r*a,s*l,r*c,s*d],h=it(ut(n.getCanvasCenter()),u),f=Qe(n.getViewportCenter(),[t,e,0]);if(!Bt(f,h)){const{min:[g,p],max:[m,E]}=h;(f[0]0||f[0]>m&&t<0)&&(t=0),(f[1]0||f[1]>E&&e<0)&&(e=0)}return[t,e]}scroll(t,e){return Fa(this,void 0,void 0,function*(){if(!this.validate(e))return;const{onFinish:n}=this.options,i=this.context.graph,s=this.formatDisplacement(t);yield i.translateBy(s,!1),n==null||n()})}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.graphDom)===null||t===void 0||t.removeEventListener(B.WHEEL,this.onWheel),super.destroy()}}Ws.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var ka=y(70208),Wa=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Hs extends Me{constructor(t,e){super(t,Object.assign({},Hs.defaultOptions,e)),this.zoom=(n,i,s)=>Wa(this,void 0,void 0,function*(){if(!this.validate(i))return;const{graph:r}=this.context;let a;"viewport"in i&&(a=En(i.viewport));const{sensitivity:l,onFinish:c}=this.options,d=1+(0,ka.Z)(n,-50,50)*l/100,u=r.getZoom();yield r.zoomTo(u*d,s,a),c==null||c()}),this.onReset=()=>Wa(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new xn(t.graph),this.bindEvents()}update(t){super.update(t),this.bindEvents()}bindEvents(){var t;const{trigger:e}=this.options;if(this.shortcut.unbindAll(),Array.isArray(e)&&((t=this.context.canvas.getContainer())===null||t===void 0||t.addEventListener(B.WHEEL,this.preventDefault),this.shortcut.bind([...e,B.WHEEL],n=>{const{deltaX:i,deltaY:s}=n;this.zoom(-(s!=null?s:i),n,!1)})),typeof e=="object"){const{zoomIn:n=[],zoomOut:i=[],reset:s=[]}=e;this.shortcut.bind(n,r=>this.zoom(10,r,this.options.animation)),this.shortcut.bind(i,r=>this.zoom(-10,r,this.options.animation)),this.shortcut.bind(s,this.onReset)}}validate(t){if(this.destroyed)return!1;const{enable:e}=this.options;return(0,Ht.Z)(e)?e(t):!!e}destroy(){var t;this.shortcut.destroy(),(t=this.context.canvas.getContainer())===null||t===void 0||t.removeEventListener(B.WHEEL,this.preventDefault),super.destroy()}}Hs.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var Vs=y(13722),Se=y(80813);const Ud=(o,t)=>{if(o!=="next"&&o!=="prev")return t},Ha=o=>{o.prev.next=o.next,o.next.prev=o.prev,delete o.next,delete o.prev};class Kd{constructor(){const t={};t.prev=t,t.next=t.prev,this.shortcut=t}dequeue(){const t=this.shortcut,e=t.prev;if(e&&e!==t)return Ha(e),e}enqueue(t){const e=this.shortcut;t.prev&&t.next&&Ha(t),t.next=e.next,e.next.prev=t,e.next=t,t.prev=e}toString(){const t=[],e=this.shortcut;let n=e.prev;for(;n!==e;)t.push(JSON.stringify(n,Ud)),n=n==null?void 0:n.prev;return`[${t.join(", ")}]`}}class Yd extends Kd{}const Gd=()=>1,Xd=(o,t)=>{var e;if(o.getAllNodes().length<=1)return[];const n=Jd(o,t||Gd);return(e=Qd(n.graph,n.buckets,n.zeroIdx).map(s=>o.getRelatedEdges(s.v,"out").filter(({target:r})=>r===s.w)))===null||e===void 0?void 0:e.flat()},Qd=(o,t,e)=>{let n=[];const i=t[t.length-1],s=t[0];let r;for(;o.getAllNodes().length;){for(;r=s.dequeue();)Fr(o,t,e,r);for(;r=i.dequeue();)Fr(o,t,e,r);if(o.getAllNodes().length){for(let a=t.length-2;a>0;--a)if(r=t[a].dequeue(),r){n=n.concat(Fr(o,t,e,r,!0));break}}}return n},Fr=(o,t,e,n,i)=>{var s,r;const a=[];return o.hasNode(n.v)&&((s=o.getRelatedEdges(n.v,"in"))===null||s===void 0||s.forEach(l=>{const c=l.data.weight,d=o.getNode(l.source);i&&a.push({v:l.source,w:l.target,in:0,out:0}),d.data.out===void 0&&(d.data.out=0),d.data.out-=c,kr(t,e,Object.assign({v:d.id},d.data))}),(r=o.getRelatedEdges(n.v,"out"))===null||r===void 0||r.forEach(l=>{const c=l.data.weight,d=l.target,u=o.getNode(d);u.data.in===void 0&&(u.data.in=0),u.data.in-=c,kr(t,e,Object.assign({v:u.id},u.data))}),o.removeNode(n.v)),i?a:void 0},Jd=(o,t)=>{const e=new li.k;let n=0,i=0;o.getAllNodes().forEach(l=>{e.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),o.getAllEdges().forEach(l=>{const c=e.getRelatedEdges(l.source,"out").find(u=>u.target===l.target),d=(t==null?void 0:t(l))||1;c?e.updateEdgeData(c==null?void 0:c.id,Object.assign(Object.assign({},c.data),{weight:c.data.weight+d})):e.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:d}}),i=Math.max(i,e.getNode(l.source).data.out+=d),n=Math.max(n,e.getNode(l.target).data.in+=d)});const s=[],r=i+n+3;for(let l=0;l{kr(s,a,Object.assign({v:l.id},e.getNode(l.id).data))}),{buckets:s,zeroIdx:a,graph:e}},kr=(o,t,e)=>{e.out?e.in?o[e.out-e.in+t].enqueue(e):o[o.length-1].enqueue(e):o[0].enqueue(e)},qd=(o,t)=>{const n=t==="greedy"?Xd(o,(i=>s=>s.data.weight||1)(o)):tu(o);n==null||n.forEach(i=>{const s=i.data;o.removeEdge(i.id),s.forwardName=i.data.name,s.reversed=!0,o.addEdge({id:i.id,source:i.target,target:i.source,data:Object.assign({},s)})})},tu=o=>{const t=[],e={},n={},i=s=>{n[s]||(n[s]=!0,e[s]=!0,o.getRelatedEdges(s,"out").forEach(r=>{e[r.target]?t.push(r):i(r.target)}),delete e[s])};return o.getAllNodes().forEach(s=>i(s.id)),t},eu=o=>{o.getAllEdges().forEach(t=>{const e=t.data;if(e.reversed){o.removeEdge(t.id);const n=e.forwardName;delete e.reversed,delete e.forwardName,o.addEdge({id:t.id,source:t.target,target:t.source,data:Object.assign(Object.assign({},e),{forwardName:n})})}})},nu=(o,t)=>Number(o)-Number(t),$o=(o,t,e,n)=>{let i;do i=`${n}${Math.random()}`;while(o.hasNode(i));return e.dummy=t,o.addNode({id:i,data:e}),i},iu=o=>{const t=new li.k;return o.getAllNodes().forEach(e=>{t.addNode(Object.assign({},e))}),o.getAllEdges().forEach(e=>{const n=t.getRelatedEdges(e.source,"out").find(i=>i.target===e.target);n?t.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+e.data.weight||0,minlen:Math.max(n.data.minlen,e.data.minlen||1)})):t.addEdge({id:e.id,source:e.source,target:e.target,data:{weight:e.data.weight||0,minlen:e.data.minlen||1}})}),t},Va=o=>{const t=new li.k;return o.getAllNodes().forEach(e=>{o.getChildren(e.id).length||t.addNode(Object.assign({},e))}),o.getAllEdges().forEach(e=>{t.addEdge(e)}),t},Ua=(o,t)=>o==null?void 0:o.reduce((e,n,i)=>(e[n]=t[i],e),{}),$0=o=>{const t={};return o.getAllNodes().forEach(e=>{const n={};o.getRelatedEdges(e.id,"out").forEach(i=>{n[i.target]=(n[i.target]||0)+(i.data.weight||0)}),t[e.id]=n}),t},F0=o=>{const t=o.getAllNodes(),e=t.map(n=>{const i={};return o.getRelatedEdges(n.id,"in").forEach(s=>{i[s.source]=(i[s.source]||0)+s.data.weight}),i});return Ua(t.map(n=>n.id),e)},Ka=(o,t)=>{const e=Number(o.x),n=Number(o.y),i=Number(t.x)-e,s=Number(t.y)-n;let r=Number(o.width)/2,a=Number(o.height)/2;if(!i&&!s)return{x:0,y:0};let l,c;return Math.abs(s)*r>Math.abs(i)*a?(s<0&&(a=-a),l=a*i/s,c=a):(i<0&&(r=-r),l=r,c=r*s/i),{x:e+l,y:n+c}},os=o=>{const t=[],e=Ga(o)+1;for(let n=0;n{const i=n.data.rank;i!==void 0&&t[i]&&t[i].push(n.id)});for(let n=0;nnu(o.getNode(i).data.order,o.getNode(s).data.order));return t},ou=o=>{const t=o.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),e=Math.min(...t);o.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&e!==1/0&&(n.data.rank-=e)})},su=(o,t=0)=>{const e=o.getAllNodes(),n=e.filter(a=>a.data.rank!==void 0).map(a=>a.data.rank),i=Math.min(...n),s=[];e.forEach(a=>{const l=(a.data.rank||0)-i;s[l]||(s[l]=[]),s[l].push(a.id)});let r=0;for(let a=0;a{const d=o.getNode(c);d&&(d.data.rank=d.data.rank||0,d.data.rank+=r)}))}},Ya=(o,t,e,n)=>{const i={width:0,height:0};return(0,ge.Z)(e)&&(0,ge.Z)(n)&&(i.rank=e,i.order=n),$o(o,"border",i,t)},Ga=o=>{let t;return o.getAllNodes().forEach(e=>{const n=e.data.rank;n!==void 0&&(t===void 0||n>t)&&(t=n)}),t||(t=0),t},ru=(o,t)=>{const e={lhs:[],rhs:[]};return o==null||o.forEach(n=>{t(n)?e.lhs.push(n):e.rhs.push(n)}),e},Wr=(o,t)=>o.reduce((e,n)=>{const i=t(e),s=t(n);return i>s?n:e}),Xa=(o,t,e,n,i,s)=>{n.includes(t.id)||(n.push(t.id),e||s.push(t.id),i(t.id).forEach(r=>Xa(o,r,e,n,i,s)),e&&s.push(t.id))},Qa=(o,t,e,n)=>{const i=Array.isArray(t)?t:[t],s=l=>n?o.getSuccessors(l):o.getNeighbors(l),r=[],a=[];return i.forEach(l=>{if(o.hasNode(l.id))Xa(o,l,e==="post",a,s,r);else throw new Error(`Graph does not have node: ${l}`)}),r},au=o=>{const t=e=>{const n=o.getChildren(e),i=o.getNode(e);if(n!=null&&n.length&&n.forEach(s=>t(s.id)),i.data.hasOwnProperty("minRank")){i.data.borderLeft=[],i.data.borderRight=[];for(let s=i.data.minRank,r=i.data.maxRank+1;st(e.id))},Ja=(o,t,e,n,i,s)=>{const r={rank:s,borderType:t,width:0,height:0},a=i.data[t][s-1],l=$o(o,"border",r,e);i.data[t][s]=l,o.setParent(l,n),a&&o.addEdge({id:`e${Math.random()}`,source:a,target:l,data:{weight:1}})},lu=(o,t)=>{const e=t.toLowerCase();(e==="lr"||e==="rl")&&qa(o)},cu=(o,t)=>{const e=t.toLowerCase();(e==="bt"||e==="rl")&&du(o),(e==="lr"||e==="rl")&&(uu(o),qa(o))},qa=o=>{o.getAllNodes().forEach(t=>{tl(t)}),o.getAllEdges().forEach(t=>{tl(t)})},tl=o=>{const t=o.data.width;o.data.width=o.data.height,o.data.height=t},du=o=>{o.getAllNodes().forEach(t=>{Hr(t.data)}),o.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>Hr(n)),t.data.hasOwnProperty("y")&&Hr(t.data)})},Hr=o=>{o!=null&&o.y&&(o.y=-o.y)},uu=o=>{o.getAllNodes().forEach(t=>{Vr(t.data)}),o.getAllEdges().forEach(t=>{var e;(e=t.data.points)===null||e===void 0||e.forEach(n=>Vr(n)),t.data.hasOwnProperty("x")&&Vr(t.data)})},Vr=o=>{const t=o.x;o.x=o.y,o.y=t},hu=o=>{const t=$o(o,"root",{},"_root"),e=fu(o);let n=Math.max(...Object.values(e));Math.abs(n)===1/0&&(n=1);const i=n-1,s=2*i+1;o.getAllEdges().forEach(a=>{a.data.minlen*=s});const r=gu(o)+1;return o.getRoots().forEach(a=>{el(o,t,s,r,i,e,a.id)}),{nestingRoot:t,nodeRankFactor:s}},el=(o,t,e,n,i,s,r)=>{const a=o.getChildren(r);if(!(a!=null&&a.length)){r!==t&&o.addEdge({id:`e${Math.random()}`,source:t,target:r,data:{weight:0,minlen:e}});return}const l=Ya(o,"_bt"),c=Ya(o,"_bb"),d=o.getNode(r);o.setParent(l,r),d.data.borderTop=l,o.setParent(c,r),d.data.borderBottom=c,a==null||a.forEach(u=>{el(o,t,e,n,i,s,u.id);const h=u.data.borderTop?u.data.borderTop:u.id,f=u.data.borderBottom?u.data.borderBottom:u.id,g=u.data.borderTop?n:2*n,p=h!==f?1:i-s[r]+1;o.addEdge({id:`e${Math.random()}`,source:l,target:h,data:{minlen:p,weight:g,nestingEdge:!0}}),o.addEdge({id:`e${Math.random()}`,source:f,target:c,data:{minlen:p,weight:g,nestingEdge:!0}})}),o.getParent(r)||o.addEdge({id:`e${Math.random()}`,source:t,target:l,data:{weight:0,minlen:i+s[r]}})},fu=o=>{const t={},e=(n,i)=>{const s=o.getChildren(n);s==null||s.forEach(r=>e(r.id,i+1)),t[n]=i};return o.getRoots().forEach(n=>e(n.id,1)),t},gu=o=>{let t=0;return o.getAllEdges().forEach(e=>{t+=e.data.weight}),t},pu=(o,t)=>{t&&o.removeNode(t),o.getAllEdges().forEach(e=>{e.data.nestingEdge&&o.removeEdge(e.id)})},mu="edge",nl="edge-label",vu=(o,t)=>{o.getAllEdges().forEach(e=>yu(o,e,t))},yu=(o,t,e)=>{let n=t.source,i=o.getNode(n).data.rank;const s=t.target,r=o.getNode(s).data.rank,a=t.data.labelRank;if(r===i+1)return;o.removeEdge(t.id);let l,c,d;for(d=0,++i;i{t.forEach(e=>{let n=o.getNode(e);const{data:i}=n,s=i.originalEdge;let r;s&&o.addEdge(s);let a=e;for(;n.data.dummy;)r=o.getSuccessors(a)[0],o.removeNode(a),s.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===nl&&(s.data.x=n.data.x,s.data.y=n.data.y,s.data.width=n.data.width,s.data.height=n.data.height),a=r.id,n=o.getNode(a)})},Eu=(o,t,e)=>{const n={};let i;e==null||e.forEach(s=>{let r=o.getParent(s),a,l;for(;r;){if(a=o.getParent(r.id),a?(l=n[a.id],n[a.id]=r.id):(l=i,i=r.id),l&&l!==r.id){t.hasNode(l)||t.addNode({id:l,data:{}}),t.hasNode(r.id)||t.addNode({id:r.id,data:{}}),t.hasEdge(`e${l}-${r.id}`)||t.addEdge({id:`e${l}-${r.id}`,source:l,target:r.id,data:{}});return}r=a}})},xu=(o,t,e)=>{const n=Su(o),i=new li.k({tree:[{id:n,children:[],data:{}}]});return o.getAllNodes().forEach(s=>{const r=o.getParent(s.id);(s.data.rank===t||s.data.minRank<=t&&t<=s.data.maxRank)&&(i.hasNode(s.id)||i.addNode(Object.assign({},s)),r!=null&&r.id&&!i.hasNode(r==null?void 0:r.id)&&i.addNode(Object.assign({},r)),i.setParent(s.id,(r==null?void 0:r.id)||n),o.getRelatedEdges(s.id,e).forEach(a=>{const l=a.source===s.id?a.target:a.source;i.hasNode(l)||i.addNode(Object.assign({},o.getNode(l)));const c=i.getRelatedEdges(l,"out").find(({target:u})=>u===s.id),d=c!==void 0?c.data.weight:0;c?i.updateEdgeData(c.id,Object.assign(Object.assign({},c.data),{weight:a.data.weight+d})):i.addEdge({id:a.id,source:l,target:s.id,data:{weight:a.data.weight+d}})}),s.data.hasOwnProperty("minRank")&&i.updateNodeData(s.id,Object.assign(Object.assign({},s.data),{borderLeft:s.data.borderLeft[t],borderRight:s.data.borderRight[t]})))}),i},Su=o=>{let t;for(;o.hasNode(t=`_root${Math.random()}`););return t},wu=(o,t,e)=>{const n=Ua(e,e.map((d,u)=>u)),s=t.map(d=>{const u=o.getRelatedEdges(d,"out").map(h=>({pos:n[h.target]||0,weight:h.data.weight}));return u==null?void 0:u.sort((h,f)=>h.pos-f.pos)}).flat().filter(d=>d!==void 0);let r=1;for(;r{if(d){let u=d.pos+r;l[u]+=d.weight;let h=0;for(;u>0;)u%2&&(h+=l[u+1]),u=u-1>>1,l[u]+=d.weight;c+=d.weight*h}}),c},il=(o,t)=>{let e=0;for(let n=1;n<(t==null?void 0:t.length);n+=1)e+=wu(o,t[n-1],t[n]);return e},ol=o=>{const t={},e=o.getAllNodes(),n=e.map(c=>{var d;return(d=c.data.rank)!==null&&d!==void 0?d:-1/0}),i=Math.max(...n),s=[];for(let c=0;co.getNode(c.id).data.rank-o.getNode(d.id).data.rank),l=r.filter(c=>o.getNode(c.id).data.fixorder!==void 0).sort((c,d)=>o.getNode(c.id).data.fixorder-o.getNode(d.id).data.fixorder);return l==null||l.forEach(c=>{isNaN(o.getNode(c.id).data.rank)||s[o.getNode(c.id).data.rank].push(c.id),t[c.id]=!0}),r==null||r.forEach(c=>o.dfsTree(c.id,d=>{if(t.hasOwnProperty(d.id))return!0;t[d.id]=!0,isNaN(d.data.rank)||s[d.data.rank].push(d.id)})),s},Ou=(o,t)=>t.map(e=>{const n=o.getRelatedEdges(e,"in");if(!(n!=null&&n.length))return{v:e};const i={sum:0,weight:0};return n==null||n.forEach(s=>{const r=o.getNode(s.source);i.sum+=s.data.weight*r.data.order,i.weight+=s.data.weight}),{v:e,barycenter:i.sum/i.weight,weight:i.weight}}),Cu=(o,t)=>{var e,n,i;const s={};o==null||o.forEach((a,l)=>{s[a.v]={i:l,indegree:0,in:[],out:[],vs:[a.v]};const c=s[a.v];a.barycenter!==void 0&&(c.barycenter=a.barycenter,c.weight=a.weight)}),(e=t.getAllEdges())===null||e===void 0||e.forEach(a=>{const l=s[a.source],c=s[a.target];l!==void 0&&c!==void 0&&(c.indegree++,l.out.push(s[a.target]))});const r=(i=(n=Object.values(s)).filter)===null||i===void 0?void 0:i.call(n,a=>!a.indegree);return Du(r)},Du=o=>{var t,e;const n=[],i=l=>c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&Mu(l,c)},s=l=>c=>{c.in.push(l),--c.indegree===0&&o.push(c)};for(;o!=null&&o.length;){const l=o.pop();n.push(l),(t=l.in.reverse())===null||t===void 0||t.forEach(c=>i(l)(c)),(e=l.out)===null||e===void 0||e.forEach(c=>s(l)(c))}const r=n.filter(l=>!l.merged),a=["vs","i","barycenter","weight"];return r.map(l=>{const c={};return a==null||a.forEach(d=>{l[d]!==void 0&&(c[d]=l[d])}),c})},Mu=(o,t)=>{var e;let n=0,i=0;o.weight&&(n+=o.barycenter*o.weight,i+=o.weight),t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),o.vs=(e=t.vs)===null||e===void 0?void 0:e.concat(o.vs),o.barycenter=n/i,o.weight=i,o.i=Math.min(t.i,o.i),t.merged=!0};var Ru=Cu;const Iu=(o,t,e,n)=>{const i=ru(o,h=>{const f=h.hasOwnProperty("fixorder")&&!isNaN(h.fixorder);return n?!f&&h.hasOwnProperty("barycenter"):f||h.hasOwnProperty("barycenter")}),s=i.lhs,r=i.rhs.sort((h,f)=>-h.i- -f.i),a=[];let l=0,c=0,d=0;s==null||s.sort(Nu(!!t,!!e)),d=sl(a,r,d),s==null||s.forEach(h=>{var f;d+=(f=h.vs)===null||f===void 0?void 0:f.length,a.push(h.vs),l+=h.barycenter*h.weight,c+=h.weight,d=sl(a,r,d)});const u={vs:a.flat()};return c&&(u.barycenter=l/c,u.weight=c),u},sl=(o,t,e)=>{let n=e,i;for(;t.length&&(i=t[t.length-1]).i<=n;)t.pop(),o==null||o.push(i.vs),n++;return n},Nu=(o,t)=>(e,n)=>{if(e.fixorder!==void 0&&n.fixorder!==void 0)return e.fixorder-n.fixorder;if(e.barycentern.barycenter)return 1;if(t&&e.order!==void 0&&n.order!==void 0){if(e.ordern.order)return 1}return o?n.i-e.i:e.i-n.i},rl=(o,t,e,n,i,s)=>{var r,a,l,c;let d=o.getChildren(t).map(x=>x.id);const u=o.getNode(t),h=u?u.data.borderLeft:void 0,f=u?u.data.borderRight:void 0,g={};h&&(d=d==null?void 0:d.filter(x=>x!==h&&x!==f));const p=Ou(o,d||[]);p==null||p.forEach(x=>{var O;if(!((O=o.getChildren(x.v))===null||O===void 0)&&O.length){const j=rl(o,x.v,e,n,s);g[x.v]=j,j.hasOwnProperty("barycenter")&&Pu(x,j)}});const m=Ru(p,e);Au(m,g),(r=m.filter(x=>x.vs.length>0))===null||r===void 0||r.forEach(x=>{const O=o.getNode(x.vs[0]);O&&(x.fixorder=O.data.fixorder,x.order=O.data.order)});const E=Iu(m,n,i,s);if(h&&(E.vs=[h,E.vs,f].flat(),!((a=o.getPredecessors(h))===null||a===void 0)&&a.length)){const x=o.getNode(((l=o.getPredecessors(h))===null||l===void 0?void 0:l[0].id)||""),O=o.getNode(((c=o.getPredecessors(f))===null||c===void 0?void 0:c[0].id)||"");E.hasOwnProperty("barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+x.data.order+O.data.order)/(E.weight+2),E.weight+=2}return E},Au=(o,t)=>{o==null||o.forEach(e=>{var n;const i=(n=e.vs)===null||n===void 0?void 0:n.map(s=>t[s]?t[s].vs:s);e.vs=i.flat()})},Pu=(o,t)=>{o.barycenter!==void 0?(o.barycenter=(o.barycenter*o.weight+t.barycenter*t.weight)/(o.weight+t.weight),o.weight+=t.weight):(o.barycenter=t.barycenter,o.weight=t.weight)},Tu=(o,t)=>{const e=Ga(o),n=[],i=[];for(let d=1;d-1;d--)i.push(d);const s=al(o,n,"in"),r=al(o,i,"out");let a=ol(o);Ur(o,a);let l=Number.POSITIVE_INFINITY,c;for(let d=0,u=0;u<4;++d,++u){ll(d%2?s:r,d%4>=2,!1,t),a=os(o);const h=il(o,a);h=2,!0,t),a=os(o);const h=il(o,a);ht.map(n=>xu(o,n,e)),ll=(o,t,e,n)=>{const i=new li.k;o==null||o.forEach(s=>{var r;const a=s.getRoots()[0].id,l=rl(s,a,i,t,e,n);for(let c=0;c<((r=l.vs)===null||r===void 0?void 0:r.length);c++){const d=s.getNode(l.vs[c]);d&&(d.data.order=c)}Eu(s,i,l.vs)})},Ur=(o,t)=>{t==null||t.forEach(e=>{e==null||e.forEach((n,i)=>{o.getNode(n).data.order=i})})},Lu=(o,t)=>{const n=o.getAllNodes().filter(r=>{var a;return!(!((a=o.getChildren(r.id))===null||a===void 0)&&a.length)}).map(r=>r.data.rank),i=Math.max(...n),s=[];for(let r=0;r{const a=o.getNode(r);!a||a.data.dummy||isNaN(a.data.rank)||(a.data.fixorder=s[a.data.rank].length,s[a.data.rank].push(r))})},_u=o=>{const t={};let e=0;const n=i=>{const s=e;o.getChildren(i).forEach(r=>n(r.id)),t[i]={low:s,lim:e++}};return o.getRoots().forEach(i=>n(i.id)),t},ju=(o,t,e,n)=>{var i,s;const r=[],a=[],l=Math.min(t[e].low,t[n].low),c=Math.max(t[e].lim,t[n].lim);let d,u;d=e;do d=(i=o.getParent(d))===null||i===void 0?void 0:i.id,r.push(d);while(d&&(t[d].low>l||c>t[d].lim));for(u=d,d=n;d&&d!==u;)a.push(d),d=(s=o.getParent(d))===null||s===void 0?void 0:s.id;return{lca:u,path:r.concat(a.reverse())}},zu=(o,t)=>{const e=_u(o);t.forEach(n=>{var i,s;let r=n,a=o.getNode(r);const l=a.data.originalEdge;if(!l)return;const c=ju(o,e,l.source,l.target),d=c.path,u=c.lca;let h=0,f=d[h],g=!0;for(;r!==l.target;){if(a=o.getNode(r),g){for(;f!==u&&((i=o.getNode(f))===null||i===void 0?void 0:i.data.maxRank){const e={},n=(i,s)=>{let r=0,a=0;const l=i.length,c=s==null?void 0:s[(s==null?void 0:s.length)-1];return s==null||s.forEach((d,u)=>{var h;const f=Bu(o,d),g=f?o.getNode(f.id).data.order:l;(f||d===c)&&((h=s.slice(a,u+1))===null||h===void 0||h.forEach(p=>{var m;(m=o.getPredecessors(p))===null||m===void 0||m.forEach(E=>{var x;const O=o.getNode(E.id),j=O.data.order;(j{const e={};function n(a,l,c,d,u){var h,f;let g;for(let p=l;p{const E=o.getNode(m.id);E.data.dummy&&(E.data.orderu)&&ul(e,m.id,g)}))}function i(a){return JSON.stringify(a.slice(1))}function s(a,l){const c=i(a);l.get(c)||(n(...a),l.set(c,!0))}const r=(a,l)=>{let c=-1,d,u=0;const h=new Map;return l==null||l.forEach((f,g)=>{var p;if(((p=o.getNode(f))===null||p===void 0?void 0:p.data.dummy)==="border"){const m=o.getPredecessors(f)||[];m.length&&(d=o.getNode(m[0].id).data.order,s([l,u,g,c,d],h),u=g,c=d)}s([l,u,l.length,d,a.length],h)}),l};return t!=null&&t.length&&t.reduce(r),e},Bu=(o,t)=>{var e,n;if(!((e=o.getNode(t))===null||e===void 0)&&e.data.dummy)return(n=o.getPredecessors(t))===null||n===void 0?void 0:n.find(i=>o.getNode(i.id).data.dummy)},ul=(o,t,e)=>{let n=t,i=e;if(n>i){const r=n;n=i,i=r}let s=o[n];s||(o[n]=s={}),s[i]=!0},Zu=(o,t,e)=>{let n=t,i=e;if(n>i){const s=t;n=i,i=s}return!!o[n]},hl=(o,t,e,n)=>{const i={},s={},r={};return t==null||t.forEach(a=>{a==null||a.forEach((l,c)=>{i[l]=l,s[l]=l,r[l]=c})}),t==null||t.forEach(a=>{let l=-1;a==null||a.forEach(c=>{let d=n(c).map(u=>u.id);if(d.length){d=d.sort((h,f)=>r[h]-r[f]);const u=(d.length-1)/2;for(let h=Math.floor(u),f=Math.ceil(u);h<=f;++h){const g=d[h];s[c]===c&&l{var a;const l={},c=$u(o,t,e,i,s,r),d=r?"borderLeft":"borderRight",u=(g,p)=>{let m=c.getAllNodes(),E=m.pop();const x={};for(;E;)x[E.id]?g(E.id):(x[E.id]=!0,m.push(E),m=m.concat(p(E.id))),E=m.pop()},h=g=>{l[g]=(c.getRelatedEdges(g,"in")||[]).reduce((p,m)=>Math.max(p,(l[m.source]||0)+m.data.weight),0)},f=g=>{const p=(c.getRelatedEdges(g,"out")||[]).reduce((E,x)=>Math.min(E,(l[x.target]||0)-x.data.weight),Number.POSITIVE_INFINITY),m=o.getNode(g);p!==Number.POSITIVE_INFINITY&&m.data.borderType!==d&&(l[g]=Math.max(l[g],p))};return u(h,c.getPredecessors.bind(c)),u(f,c.getSuccessors.bind(c)),(a=Object.values(n))===null||a===void 0||a.forEach(g=>{l[g]=l[e[g]]}),l},$u=(o,t,e,n,i,s)=>{const r=new li.k,a=Fu(n,i,s);return t==null||t.forEach(l=>{let c;l==null||l.forEach(d=>{const u=e[d];if(r.hasNode(u)||r.addNode({id:u,data:{}}),c){const h=e[c],f=r.getRelatedEdges(h,"out").find(g=>g.target===u);f?r.updateEdgeData(f.id,Object.assign(Object.assign({},f.data),{weight:Math.max(a(o,d,c),f.data.weight||0)})):r.addEdge({id:`e${Math.random()}`,source:h,target:u,data:{weight:Math.max(a(o,d,c),0)}})}c=d})}),r},gl=(o,t)=>Wr(Object.values(t),e=>{var n;let i=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;return(n=Object.keys(e))===null||n===void 0||n.forEach(r=>{const a=e[r],l=ku(o,r)/2;i=Math.max(a+l,i),s=Math.min(a-l,s)}),i-s});function pl(o,t){const e=Object.values(t),n=Math.min(...e),i=Math.max(...e);["u","d"].forEach(s=>{["l","r"].forEach(r=>{const a=s+r,l=o[a];let c;if(l===t)return;const d=Object.values(l);c=r==="l"?n-Math.min(...d):i-Math.max(...d),c&&(o[a]={},Object.keys(l).forEach(u=>{o[a][u]=l[u]+c}))})})}const ml=(o,t)=>{const e={};return Object.keys(o.ul).forEach(n=>{if(t)e[n]=o[t.toLowerCase()][n];else{const i=Object.values(o).map(s=>s[n]);e[n]=(i[0]+i[1])/2}}),e},k0=(o,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},s=buildLayerMatrix(o),r=Object.assign(cl(o,s),dl(o,s)),a={};let l;["u","d"].forEach(d=>{l=d==="u"?s:Object.values(s).reverse(),["l","r"].forEach(u=>{u==="r"&&(l=l.map(p=>Object.values(p).reverse()));const h=(d==="u"?o.getPredecessors:o.getSuccessors).bind(o),f=hl(o,l,r,h),g=fl(o,l,f.root,f.align,n,i,u==="r");u==="r"&&Object.keys(g).forEach(p=>{g[p]=-g[p]}),a[d+u]=g})});const c=gl(o,a);return pl(a,c),ml(a,e)},Fu=(o,t,e)=>(n,i,s)=>{const r=n.getNode(i),a=n.getNode(s);let l=0,c=0;if(l+=r.data.width/2,r.data.hasOwnProperty("labelpos"))switch((r.data.labelpos||"").toLowerCase()){case"l":c=-r.data.width/2;break;case"r":c=r.data.width/2;break}if(c&&(l+=e?c:-c),c=0,l+=(r.data.dummy?t:o)/2,l+=(a.data.dummy?t:o)/2,l+=a.data.width/2,a.data.labelpos)switch((a.data.labelpos||"").toLowerCase()){case"l":c=a.data.width/2;break;case"r":c=-a.data.width/2;break}return c&&(l+=e?c:-c),c=0,l},ku=(o,t)=>o.getNode(t).data.width||0,Wu=(o,t)=>{const{ranksep:e=0}=t||{},n=os(o);let i=0;n==null||n.forEach(s=>{const r=s.map(l=>o.getNode(l).data.height),a=Math.max(...r,0);s==null||s.forEach(l=>{o.getNode(l).data.y=i+a/2}),i+=a+e})},Hu=(o,t)=>{const{align:e,nodesep:n=0,edgesep:i=0}=t||{},s=os(o),r=Object.assign(cl(o,s),dl(o,s)),a={};let l=[];["u","d"].forEach(d=>{l=d==="u"?s:Object.values(s).reverse(),["l","r"].forEach(u=>{u==="r"&&(l=l.map(p=>Object.values(p).reverse()));const h=(d==="u"?o.getPredecessors:o.getSuccessors).bind(o),f=hl(o,l,r,h),g=fl(o,l,f.root,f.align,n,i,u==="r");u==="r"&&Object.keys(g).forEach(p=>g[p]=-g[p]),a[d+u]=g})});const c=gl(o,a);return c&&pl(a,c),ml(a,e)},Vu=(o,t)=>{var e;const n=Va(o);Wu(n,t);const i=Hu(n,t);(e=Object.keys(i))===null||e===void 0||e.forEach(s=>{n.getNode(s).data.x=i[s]})},vl=o=>{const t={},e=n=>{var i;const s=o.getNode(n);if(!s)return 0;if(t[n])return s.data.rank;t[n]=!0;let r;return(i=o.getRelatedEdges(n,"out"))===null||i===void 0||i.forEach(a=>{const l=e(a.target),c=a.data.minlen,d=l-c;d&&(r===void 0||do.getRelatedEdges(n.id,"in").length===0).forEach(n=>e(n.id))},Uu=o=>{const t={};let e;const n=r=>{var a;const l=o.getNode(r);if(!l)return 0;if(t[r])return l.data.rank;t[r]=!0;let c;return(a=o.getRelatedEdges(r,"out"))===null||a===void 0||a.forEach(d=>{const u=n(d.target),h=d.data.minlen,f=u-h;f&&(c===void 0||fo.getRelatedEdges(r.id,"in").length===0).forEach(r=>{r&&n(r.id)}),e===void 0&&(e=0);const i={},s=(r,a)=>{var l;const c=o.getNode(r),d=isNaN(c.data.layer)?a:c.data.layer;(c.data.rank===void 0||c.data.rank{s(u.target,d+u.data.minlen)}))};o.getAllNodes().forEach(r=>{const a=r.data;a&&(isNaN(a.layer)?a.rank-=e:s(r.id,a.layer))})},co=(o,t)=>o.getNode(t.target).data.rank-o.getNode(t.source).data.rank-t.data.minlen,Ku=o=>{const t=new li.k({tree:[]}),e=o.getAllNodes()[0],n=o.getAllNodes().length;t.addNode(e);let i,s;for(;Yu(t,o){const e=n=>{t.getRelatedEdges(n,"both").forEach(i=>{const s=i.source,r=n===s?i.target:s;!o.hasNode(r)&&!co(t,i)&&(o.addNode({id:r,data:{}}),o.addEdge({id:i.id,source:n,target:r,data:{}}),e(r))})};return o.getAllNodes().forEach(n=>e(n.id)),o.getAllNodes().length},Gu=o=>{const t=new li.k({tree:[]}),e=o.getAllNodes()[0],n=o.getAllNodes().length;t.addNode(e);let i,s;for(;Xu(t,o){const e=n=>{var i;(i=t.getRelatedEdges(n,"both"))===null||i===void 0||i.forEach(s=>{const r=s.source,a=n===r?s.target:r;!o.hasNode(a)&&(t.getNode(a).data.layer!==void 0||!co(t,s))&&(o.addNode({id:a,data:{}}),o.addEdge({id:s.id,source:n,target:a,data:{}}),e(a))})};return o.getAllNodes().forEach(n=>e(n.id)),o.getAllNodes().length},yl=(o,t)=>Wr(t.getAllEdges(),e=>o.hasNode(e.source)!==o.hasNode(e.target)?co(t,e):1/0),bl=(o,t,e)=>{o.getAllNodes().forEach(n=>{const i=t.getNode(n.id);i.data.rank||(i.data.rank=0),i.data.rank+=e})},Qu=o=>{const t=iu(o);vl(t);const e=Ku(t);xl(e),El(e,t);let n,i;for(;n=th(e);)i=eh(e,t,n),nh(e,t,n,i)},El=(o,t)=>{let e=Qa(o,o.getAllNodes(),"post",!1);e=e.slice(0,(e==null?void 0:e.length)-1),e.forEach(n=>{Ju(o,t,n)})},Ju=(o,t,e)=>{const i=o.getNode(e).data.parent,s=o.getRelatedEdges(e,"both").find(r=>r.target===i||r.source===i);s.data.cutvalue=qu(o,t,e)},qu=(o,t,e)=>{const i=o.getNode(e).data.parent;let s=!0,r=t.getRelatedEdges(e,"out").find(l=>l.target===i),a=0;return r||(s=!1,r=t.getRelatedEdges(i,"out").find(l=>l.target===e)),a=r.data.weight,t.getRelatedEdges(e,"both").forEach(l=>{const c=l.source===e,d=c?l.target:l.source;if(d!==i){const u=c===s,h=l.data.weight;if(a+=u?h:-h,oh(o,e,d)){const f=o.getRelatedEdges(e,"both").find(g=>g.source===d||g.target===d).data.cutvalue;a+=u?-f:f}}}),a},xl=(o,t=o.getAllNodes()[0].id)=>{Sl(o,{},1,t)},Sl=(o,t,e,n,i)=>{var s;const r=e;let a=e;const l=o.getNode(n);return t[n]=!0,(s=o.getNeighbors(n))===null||s===void 0||s.forEach(c=>{t[c.id]||(a=Sl(o,t,a,c.id,n))}),l.data.low=r,l.data.lim=a++,i?l.data.parent=i:delete l.data.parent,a},th=o=>o.getAllEdges().find(t=>t.data.cutvalue<0),eh=(o,t,e)=>{let n=e.source,i=e.target;t.getRelatedEdges(n,"out").find(d=>d.target===i)||(n=e.target,i=e.source);const s=o.getNode(n),r=o.getNode(i);let a=s,l=!1;s.data.lim>r.data.lim&&(a=r,l=!0);const c=t.getAllEdges().filter(d=>l===wl(o.getNode(d.source),a)&&l!==wl(o.getNode(d.target),a));return Wr(c,d=>co(t,d))},nh=(o,t,e,n)=>{const i=o.getRelatedEdges(e.source,"both").find(s=>s.source===e.target||s.target===e.target);i&&o.removeEdge(i.id),o.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),xl(o),El(o,t),ih(o,t)},ih=(o,t)=>{const e=o.getAllNodes().find(i=>!i.data.parent);let n=Qa(o,e,"pre",!1);n=n.slice(1),n.forEach(i=>{const s=o.getNode(i).data.parent;let r=t.getRelatedEdges(i,"out").find(l=>l.target===s),a=!1;!r&&t.hasNode(s)&&(r=t.getRelatedEdges(s,"out").find(l=>l.target===i),a=!0),t.getNode(i).data.rank=(t.hasNode(s)&&t.getNode(s).data.rank||0)+(a?r==null?void 0:r.data.minlen:-(r==null?void 0:r.data.minlen))})},oh=(o,t,e)=>o.getRelatedEdges(t,"both").find(n=>n.source===e||n.target===e),wl=(o,t)=>t.data.low<=o.data.lim&&o.data.lim<=t.data.lim,sh=(o,t)=>{switch(t){case"network-simplex":ah(o);break;case"tight-tree":Ol(o);break;case"longest-path":rh(o);break;default:Ol(o)}},rh=vl,Ol=o=>{Uu(o),Gu(o)},ah=o=>{Qu(o)},lh=(o,t)=>{const{edgeLabelSpace:e,keepNodeOrder:n,prevGraph:i,rankdir:s,ranksep:r}=t;!n&&i&&dh(o,i);const a=mh(o);e&&(t.ranksep=vh(a,{rankdir:s,ranksep:r}));let l;try{l=ch(a,t)}catch(c){if(c.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: -`,c);return}throw c}return uh(o,a),l},ch=(o,t)=>{const{acyclicer:e,ranker:n,rankdir:i="tb",nodeOrder:s,keepNodeOrder:r,align:a,nodesep:l=50,edgesep:c=20,ranksep:d=50}=t;Dh(o),qd(o,e);const{nestingRoot:u,nodeRankFactor:h}=hu(o);sh(Va(o),n),yh(o),su(o,h),pu(o,u),ou(o),bh(o),Eh(o);const f=[];vu(o,f),zu(o,f),au(o),r&&Lu(o,s),Tu(o,r),Mh(o),lu(o,i),Vu(o,{align:a,nodesep:l,edgesep:c,ranksep:d}),Rh(o),Ch(o),bu(o,f),wh(o),cu(o,i);const{width:g,height:p}=xh(o);return Sh(o),Oh(o),eu(o),{width:g,height:p}},dh=(o,t)=>{o.getAllNodes().forEach(e=>{const n=o.getNode(e.id);if(t.hasNode(e.id)){const i=t.getNode(e.id);n.data.fixorder=i.data._order,delete i.data._order}else delete n.data.fixorder})},uh=(o,t)=>{o.getAllNodes().forEach(e=>{var n;const i=o.getNode(e.id);if(i){const s=t.getNode(e.id);i.data.x=s.data.x,i.data.y=s.data.y,i.data._order=s.data.order,i.data._rank=s.data.rank,!((n=t.getChildren(e.id))===null||n===void 0)&&n.length&&(i.data.width=s.data.width,i.data.height=s.data.height)}}),o.getAllEdges().forEach(e=>{const n=o.getEdge(e.id),i=t.getEdge(e.id);n.data.points=i?i.data.points:[],i&&i.data.hasOwnProperty("x")&&(n.data.x=i.data.x,n.data.y=i.data.y)})},hh=["width","height","layer","fixorder"],fh={width:0,height:0},gh=["minlen","weight","width","height","labeloffset"],ph={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Kr=["labelpos"],mh=o=>{const t=new li.k({tree:[]});return o.getAllNodes().forEach(e=>{const n=Dl(o.getNode(e.id).data),i=Object.assign(Object.assign({},fh),n),s=Cl(i,hh);t.hasNode(e.id)||t.addNode({id:e.id,data:Object.assign({},s)});const r=o.hasTreeStructure("combo")?o.getParent(e.id,"combo"):o.getParent(e.id);(0,It.Z)(r)||(t.hasNode(r.id)||t.addNode(Object.assign({},r)),t.setParent(e.id,r.id))}),o.getAllEdges().forEach(e=>{const n=Dl(o.getEdge(e.id).data),i={};Kr==null||Kr.forEach(s=>{n[s]!==void 0&&(i[s]=n[s])}),t.addEdge({id:e.id,source:e.source,target:e.target,data:Object.assign({},ph,Cl(n,gh),i)})}),t},vh=(o,t)=>{const{ranksep:e=0,rankdir:n}=t;return o.getAllNodes().forEach(i=>{isNaN(i.data.layer)||i.data.layer||(i.data.layer=0)}),o.getAllEdges().forEach(i=>{var s;i.data.minlen*=2,((s=i.data.labelpos)===null||s===void 0?void 0:s.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?i.data.width+=i.data.labeloffset:i.data.height+=i.data.labeloffset)}),e/2},yh=o=>{o.getAllEdges().forEach(t=>{if(t.data.width&&t.data.height){const e=o.getNode(t.source),n=o.getNode(t.target),i={e:t,rank:(n.data.rank-e.data.rank)/2+e.data.rank};$o(o,"edge-proxy",i,"_ep")}})},bh=o=>{let t=0;return o.getAllNodes().forEach(e=>{var n,i;e.data.borderTop&&(e.data.minRank=(n=o.getNode(e.data.borderTop))===null||n===void 0?void 0:n.data.rank,e.data.maxRank=(i=o.getNode(e.data.borderBottom))===null||i===void 0?void 0:i.data.rank,t=Math.max(t,e.data.maxRank||-1/0))}),t},Eh=o=>{o.getAllNodes().forEach(t=>{t.data.dummy==="edge-proxy"&&(o.getEdge(t.data.e.id).data.labelRank=t.data.rank,o.removeNode(t.id))})},xh=(o,t)=>{let e,n=0,i,s=0;const{marginx:r=0,marginy:a=0}=t||{},l=c=>{if(!c.data)return;const d=c.data.x,u=c.data.y,h=c.data.width,f=c.data.height;!isNaN(d)&&!isNaN(h)&&(e===void 0&&(e=d-h/2),e=Math.min(e,d-h/2),n=Math.max(n,d+h/2)),!isNaN(u)&&!isNaN(f)&&(i===void 0&&(i=u-f/2),i=Math.min(i,u-f/2),s=Math.max(s,u+f/2))};return o.getAllNodes().forEach(c=>{l(c)}),o.getAllEdges().forEach(c=>{c!=null&&c.data.hasOwnProperty("x")&&l(c)}),e-=r,i-=a,o.getAllNodes().forEach(c=>{c.data.x-=e,c.data.y-=i}),o.getAllEdges().forEach(c=>{var d;(d=c.data.points)===null||d===void 0||d.forEach(u=>{u.x-=e,u.y-=i}),c.data.hasOwnProperty("x")&&(c.data.x-=e),c.data.hasOwnProperty("y")&&(c.data.y-=i)}),{width:n-e+r,height:s-i+a}},Sh=o=>{o.getAllEdges().forEach(t=>{const e=o.getNode(t.source),n=o.getNode(t.target);let i,s;t.data.points?(i=t.data.points[0],s=t.data.points[t.data.points.length-1]):(t.data.points=[],i={x:n.data.x,y:n.data.y},s={x:e.data.x,y:e.data.y}),t.data.points.unshift(Ka(e.data,i)),t.data.points.push(Ka(n.data,s))})},wh=o=>{o.getAllEdges().forEach(t=>{if(t.data.hasOwnProperty("x"))switch((t.data.labelpos==="l"||t.data.labelpos==="r")&&(t.data.width-=t.data.labeloffset),t.data.labelpos){case"l":t.data.x-=t.data.width/2+t.data.labeloffset;break;case"r":t.data.x+=t.data.width/2+t.data.labeloffset;break}})},Oh=o=>{o.getAllEdges().forEach(t=>{var e;t.data.reversed&&((e=t.data.points)===null||e===void 0||e.reverse())})},Ch=o=>{o.getAllNodes().forEach(t=>{var e,n,i;if(!((e=o.getChildren(t.id))===null||e===void 0)&&e.length){const s=o.getNode(t.id),r=o.getNode(s.data.borderTop),a=o.getNode(s.data.borderBottom),l=o.getNode(s.data.borderLeft[((n=s.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),c=o.getNode(s.data.borderRight[((i=s.data.borderRight)===null||i===void 0?void 0:i.length)-1]);s.data.width=Math.abs((c==null?void 0:c.data.x)-(l==null?void 0:l.data.x))||10,s.data.height=Math.abs((a==null?void 0:a.data.y)-(r==null?void 0:r.data.y))||10,s.data.x=((l==null?void 0:l.data.x)||0)+s.data.width/2,s.data.y=((r==null?void 0:r.data.y)||0)+s.data.height/2}}),o.getAllNodes().forEach(t=>{t.data.dummy==="border"&&o.removeNode(t.id)})},Dh=o=>{o.getAllEdges().forEach(t=>{if(t.source===t.target){const e=o.getNode(t.source);e.data.selfEdges||(e.data.selfEdges=[]),e.data.selfEdges.push(t),o.removeEdge(t.id)}})},Mh=o=>{const t=os(o);t==null||t.forEach(e=>{let n=0;e==null||e.forEach((i,s)=>{var r;const a=o.getNode(i);a.data.order=s+n,(r=a.data.selfEdges)===null||r===void 0||r.forEach(l=>{$o(o,"selfedge",{width:l.data.width,height:l.data.height,rank:a.data.rank,order:s+ ++n,e:l},"_se")}),delete a.data.selfEdges})})},Rh=o=>{o.getAllNodes().forEach(t=>{const e=o.getNode(t.id);if(e.data.dummy==="selfedge"){const n=o.getNode(e.data.e.source),i=n.data.x+n.data.width/2,s=n.data.y,r=e.data.x-i,a=n.data.height/2;o.hasEdge(e.data.e.id)?o.updateEdgeData(e.data.e.id,e.data.e.data):o.addEdge({id:e.data.e.id,source:e.data.e.source,target:e.data.e.target,data:e.data.e.data}),o.removeNode(t.id),e.data.e.data.points=[{x:i+2*r/3,y:s-a},{x:i+5*r/6,y:s-a},{y:s,x:i+r},{x:i+5*r/6,y:s+a},{x:i+2*r/3,y:s+a}],e.data.e.data.x=e.data.x,e.data.e.data.y=e.data.y}})},Cl=(o,t)=>{const e={};return t==null||t.forEach(n=>{o[n]!==void 0&&(e[n]=+o[n])}),e},Dl=(o={})=>{const t={};return Object.keys(o).forEach(e=>{t[e.toLowerCase()]=o[e]}),t};function uo(o,t){let e;return(0,Ht.Z)(t)?e=t:(0,ge.Z)(t)?e=()=>t:e=()=>o,e}function Ml(o,t,e=!0){return!t&&t!==0?n=>{const{size:i}=n.data||{};return i?Array.isArray(i)?i[0]>i[1]?i[0]:i[1]:(0,dt.Z)(i)?i.width>i.height?i.width:i.height:i:o}:(0,Ht.Z)(t)?t:(0,ge.Z)(t)?()=>t:Array.isArray(t)?()=>{if(e){const n=Math.max(...t);return isNaN(n)?o:n}return t}:(0,dt.Z)(t)?()=>{if(e){const n=Math.max(t.width,t.height);return isNaN(n)?o:n}return[t.width,t.height]}:()=>o}const Rl=(o,t)=>{let e,n;return(0,ge.Z)(t)?n=()=>t:(0,Ht.Z)(t)?n=t:n=()=>0,o?Array.isArray(o)?e=i=>(o[0]>o[1]?o[0]:o[1])+n(i):(0,Ht.Z)(o)?e=o:e=i=>o+n(i):e=i=>{var s,r;if(!((s=i.data)===null||s===void 0)&&s.bboxSize)return Math.max(i.data.bboxSize[0],i.data.bboxSize[1])+n(i);if(!((r=i.data)===null||r===void 0)&&r.size){if(Array.isArray(i.data.size))return Math.max(i.data.size[0],i.data.size[1])+n(i);const a=i.data.size;return(0,dt.Z)(a)?(a.width>a.height?a.width:a.height)+n(i):a+n(i)}return 10+n(i)},e},Yr=o=>{if(o===null)return o;if(o instanceof Date)return new Date(o.getTime());if(o instanceof Array){const t=[];return o.forEach(e=>{t.push(e)}),t.map(e=>Yr(e))}if(typeof o=="object"){const t={};return Object.keys(o).forEach(e=>{t[e]=Yr(o[e])}),t}return o},Fi=(o,t)=>{const e=Yr(o);return e.data=e.data||{},t&&((0,ge.Z)(e.data.x)||(e.data.x=Math.random()*t[0]),(0,ge.Z)(e.data.y)||(e.data.y=Math.random()*t[1])),e},Ih={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class Nh{constructor(t={}){this.options=t,this.id="antv-dagre",this.options=Object.assign(Object.assign({},Ih),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,e)})}genericDagreLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{nodeSize:s,align:r,rankdir:a="TB",ranksep:l,nodesep:c,ranksepFunc:d,nodesepFunc:u,edgeLabelSpace:h,ranker:f,nodeOrder:g,begin:p,controlPoints:m,radial:E,sortByCombo:x,preset:O}=i,j=new li.k({tree:[]}),X=uo(l||50,d),U=uo(c||50,u);let V=U,k=X;(a==="LR"||a==="RL")&&(V=X,k=U);const yt=Rl(s,void 0),zt=e.getAllNodes(),q=e.getAllEdges();zt.forEach(pt=>{const le=yt(pt),je=k(pt),Ve=V(pt),Nn=le+2*Ve,Yn=le+2*je,tn=pt.data.layer;(0,ge.Z)(tn)?j.addNode({id:pt.id,data:{width:Nn,height:Yn,layer:tn}}):j.addNode({id:pt.id,data:{width:Nn,height:Yn}})}),x&&(j.attachTreeStructure("combo"),zt.forEach(pt=>{const{parentId:le}=pt.data;le!==void 0&&j.hasNode(le)&&j.setParent(pt.id,le,"combo")})),q.forEach(pt=>{j.addEdge({id:pt.id,source:pt.source,target:pt.target,data:{weight:pt.data.weight||1}})});let Lt;O!=null&&O.length&&(Lt=new li.k({nodes:O})),lh(j,{prevGraph:Lt,edgeLabelSpace:h,keepNodeOrder:!!g,nodeOrder:g||[],acyclicer:"greedy",ranker:f,rankdir:a,nodesep:c,align:r});const Nt=[0,0];if(p){let pt=1/0,le=1/0;j.getAllNodes().forEach(je=>{pt>je.data.x&&(pt=je.data.x),le>je.data.y&&(le=je.data.y)}),j.getAllEdges().forEach(je=>{var Ve;(Ve=je.data.points)===null||Ve===void 0||Ve.forEach(Nn=>{pt>Nn.x&&(pt=Nn.x),le>Nn.y&&(le=Nn.y)})}),Nt[0]=p[0]-pt,Nt[1]=p[1]-le}const Tt=a==="LR"||a==="RL";if(!E){const pt=new Set,je=a==="BT"||a==="RL"?(tn,Zn)=>Zn-tn:(tn,Zn)=>tn-Zn;j.getAllNodes().forEach(tn=>{tn.data.x=tn.data.x+Nt[0],tn.data.y=tn.data.y+Nt[1],pt.add(Tt?tn.data.x:tn.data.y)});const Ve=Array.from(pt).sort(je),Nn=Tt?(tn,Zn)=>tn.x!==Zn.x:(tn,Zn)=>tn.y!==Zn.y,Yn=Tt?(tn,Zn,Gn)=>{const $n=Math.max(Zn.y,Gn.y),_i=Math.min(Zn.y,Gn.y);return tn.filter(Ue=>Ue.y<=$n&&Ue.y>=_i)}:(tn,Zn,Gn)=>{const $n=Math.max(Zn.x,Gn.x),_i=Math.min(Zn.x,Gn.x);return tn.filter(Ue=>Ue.x<=$n&&Ue.x>=_i)};j.getAllEdges().forEach((tn,Zn)=>{var Gn;h&&m&&tn.data.type!=="loop"&&(tn.data.controlPoints=Ah((Gn=tn.data.points)===null||Gn===void 0?void 0:Gn.map(({x:$n,y:_i})=>({x:$n+Nt[0],y:_i+Nt[1]})),j.getNode(tn.source),j.getNode(tn.target),Ve,Tt,Nn,Yn))})}let St=[];St=j.getAllNodes().map(pt=>Fi(pt));const kt=j.getAllEdges();return t&&(St.forEach(pt=>{e.mergeNodeData(pt.id,{x:pt.data.x,y:pt.data.y})}),kt.forEach(pt=>{e.mergeEdgeData(pt.id,{controlPoints:pt.data.controlPoints})})),{nodes:St,edges:kt}})}}const Ah=(o,t,e,n,i,s,r)=>{let a=(o==null?void 0:o.slice(1,o.length-1))||[];if(t&&e){let{x:l,y:c}=t.data,{x:d,y:u}=e.data;if(i&&(l=t.data.y,c=t.data.x,d=e.data.y,u=e.data.x),u!==c&&l!==d){const h=n.indexOf(c),f=n[h+1];if(f){const m=a[0],E=i?{x:(c+f)/2,y:(m==null?void 0:m.y)||d}:{x:(m==null?void 0:m.x)||d,y:(c+f)/2};(!m||s(m,E))&&a.unshift(E)}const g=n.indexOf(u),p=Math.abs(g-h);if(p===1)a=r(a,t.data,e.data),a.length||a.push(i?{x:(c+u)/2,y:l}:{x:l,y:(c+u)/2});else if(p>1){const m=n[g-1];if(m){const E=a[a.length-1],x=i?{x:(u+m)/2,y:(E==null?void 0:E.y)||d}:{x:(E==null?void 0:E.x)||l,y:(u+m)/2};(!E||s(E,x))&&a.push(x)}}}}return a},Ro=(o,t,e)=>{const n=o.getAllNodes(),i=o.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:i};if(n.length===1)return t&&o.mergeNodeData(n[0].id,{x:e[0],y:e[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:e[0],y:e[1]})})],edges:i}},Ph={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class Th{constructor(t={}){this.options=t,this.id="circular",this.options=Object.assign(Object.assign({},Ph),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,t,e)})}genericCircularLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:s,height:r,center:a,divisions:l,startAngle:c=0,endAngle:d=2*Math.PI,angleRatio:u,ordering:h,clockwise:f,nodeSpacing:g,nodeSize:p}=i,m=e.getAllNodes(),E=e.getAllEdges(),[x,O,j]=_h(s,r,a),X=m==null?void 0:m.length;if(!X||X===1)return Ro(e,t,j);const U=(d-c)/X;let{radius:V,startRadius:k,endRadius:yt}=i;if(g){const Tt=uo(10,g),St=Ml(10,p);let kt=-1/0;m.forEach(pt=>{const le=St(pt);kt{le===0?rn+=kt||10:rn+=(Tt(pt)||0)+(kt||10)}),V=rn/(2*Math.PI)}else!V&&!k&&!yt?V=Math.min(O,x)/2:!k&&yt?k=yt:k&&!yt&&(yt=k);const zt=U*u;let q=[];h==="topology"?q=Il(e,m):h==="topology-directed"?q=Il(e,m,!0):h==="degree"?q=Lh(e,m):q=m.map(Tt=>Fi(Tt));const Lt=Math.ceil(X/l);for(let Tt=0;Tt{e.mergeNodeData(Tt.id,{x:Tt.data.x,y:Tt.data.y})}),{nodes:q,edges:E}})}}const Il=(o,t,e=!1)=>{const n=[Fi(t[0])],i={},s=t.length;i[t[0].id]=!0;let r=0;return t.forEach((a,l)=>{if(l!==0)if((l===s-1||o.getDegree(a.id,"both")!==o.getDegree(t[l+1].id,"both")||o.areNeighbors(n[r].id,a.id))&&!i[a.id])n.push(Fi(a)),i[a.id]=!0,r++;else{const c=e?o.getSuccessors(n[r].id):o.getNeighbors(n[r].id);let d=!1;for(let h=0;h{e.push(Fi(n))}),e.sort((n,i)=>o.getDegree(n.id,"both")-o.getDegree(i.id,"both")),e}const _h=(o,t,e)=>{let n=o,i=t,s=e;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!i&&typeof window!="undefined"&&(i=window.innerHeight),s||(s=[n/2,i/2]),[n,i,s]},Di=Array.isArray,jh={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class Gr{constructor(t={}){this.options=t,this.id="concentric",this.options=Object.assign(Object.assign({},jh),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,t,e)})}genericConcentricLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:s,width:r,height:a,sortBy:l,maxLevelDiff:c,sweep:d,clockwise:u,equidistant:h,preventOverlap:f,startAngle:g=3/2*Math.PI,nodeSize:p,nodeSpacing:m}=i,E=e.getAllNodes(),x=e.getAllEdges(),O=!r&&typeof window!="undefined"?window.innerWidth:r,j=!a&&typeof window!="undefined"?window.innerHeight:a,X=s||[O/2,j/2];if(!(E!=null&&E.length)||E.length===1)return Ro(e,t,X);const U=[];let V,k=0;Di(p)?V=Math.max(p[0],p[1]):(0,Ht.Z)(p)?(V=-1/0,E.forEach(pt=>{const le=p(pt);le>V&&(V=le)})):V=p,Di(m)?k=Math.max(m[0],m[1]):(0,ge.Z)(m)&&(k=m),E.forEach(pt=>{const le=Fi(pt);U.push(le);let je=V;const{data:Ve}=le;Di(Ve.size)?je=Math.max(Ve.size[0],Ve.size[1]):(0,ge.Z)(Ve.size)?je=Ve.size:(0,dt.Z)(Ve.size)&&(je=Math.max(Ve.size.width,Ve.size.height)),V=Math.max(V,je),(0,Ht.Z)(m)&&(k=Math.max(m(pt),k))});const yt={};U.forEach((pt,le)=>{yt[pt.id]=le});let zt=l;(!(0,ve.Z)(zt)||U[0].data[zt]===void 0)&&(zt="degree"),zt==="degree"?U.sort((pt,le)=>e.getDegree(le.id,"both")-e.getDegree(pt.id,"both")):U.sort((pt,le)=>le.data[zt]-pt.data[zt]);const q=U[0],Lt=(c||(zt==="degree"?e.getDegree(q.id,"both"):q.data[zt]))/4,Nt=[{nodes:[]}];let Tt=Nt[0];U.forEach(pt=>{if(Tt.nodes.length>0){const le=Math.abs(zt==="degree"?e.getDegree(Tt.nodes[0].id,"both")-e.getDegree(pt.id,"both"):Tt.nodes[0].data[zt]-pt.data[zt]);Lt&&le>=Lt&&(Tt={nodes:[]},Nt.push(Tt))}Tt.nodes.push(pt)});let St=V+k;if(!f){const pt=Nt.length>0&&Nt[0].nodes.length>1,je=(Math.min(O,j)/2-St)/(Nt.length+(pt?1:0));St=Math.min(St,je)}let kt=0;if(Nt.forEach(pt=>{const le=d===void 0?2*Math.PI-2*Math.PI/pt.nodes.length:d;if(pt.dTheta=le/Math.max(1,pt.nodes.length-1),pt.nodes.length>1&&f){const je=Math.cos(pt.dTheta)-Math.cos(0),Ve=Math.sin(pt.dTheta)-Math.sin(0),Nn=Math.sqrt(St*St/(je*je+Ve*Ve));kt=Math.max(Nn,kt)}pt.r=kt,kt+=St}),h){let pt=0,le=0;for(let je=0;je{Ve===0&&(le=je.r||0),je.r=le,le+=pt})}return Nt.forEach(pt=>{const le=pt.dTheta||0,je=pt.r||0;pt.nodes.forEach((Ve,Nn)=>{const Yn=g+(u?1:-1)*le*Nn;Ve.data.x=X[0]+je*Math.cos(Yn),Ve.data.y=X[1]+je*Math.sin(Yn)})}),t&&U.forEach(pt=>e.mergeNodeData(pt.id,{x:pt.data.x,y:pt.data.y})),{nodes:U,edges:x}})}}var zh=y(14301),Bh=y(7695);const Zh=.81,Xr=.1;function $h(o,t,e,n,i=2){const s=t/e,r=o.getAllNodes(),a=r.map((d,u)=>{const{nodeStrength:h,x:f,y:g,z:p,size:m}=d.data;return{x:f,y:g,z:p,size:m,index:u,id:d.id,vx:0,vy:0,vz:0,weight:s*h}}),l=(i===2?(0,zh.Z)(a,d=>d.x,d=>d.y):(0,Bh.Z)(a,d=>d.x,d=>d.y,d=>d.z)).visitAfter(Fh),c=new Map;return a.forEach(d=>{c.set(d.id,d),Wh(d,l,i)}),a.map((d,u)=>{const{id:h,data:f}=r[u],{mass:g=1}=f;n[h]={x:d.vx/g,y:d.vy/g,z:d.vz/g}}),n}function Fh(o){let t=0,e=0,n=0,i=0,s=0;const r=o.length;if(r){for(let a=0;a{var a;if(((a=o.data)===null||a===void 0?void 0:a.id)===s.id)return;const l=[e,n,i][r-1],c=s.x-o.x||Xr,d=s.y-o.y||Xr,u=s.z-o.z||Xr,h=[c,d,u],f=l-t;let g=0;for(let E=0;Ekh(n,i,s,r,a,o,e))}const Hh={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 Nl{constructor(t={}){this.options=t,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},Hh),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericForceLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),s=e.getAllNodes(),r=e.getAllEdges(),a=this.formatOptions(i,e),{dimensions:l,width:c,height:d,nodeSize:u,getMass:h,nodeStrength:f,edgeStrength:g,linkDistance:p}=a,m=s.map((k,yt)=>Object.assign(Object.assign({},k),{data:Object.assign(Object.assign({},k.data),{x:(0,ge.Z)(k.data.x)?k.data.x:Math.random()*c,y:(0,ge.Z)(k.data.y)?k.data.y:Math.random()*d,z:(0,ge.Z)(k.data.z)?k.data.z:Math.random()*Math.sqrt(c*d),size:u(k)||30,mass:h(k),nodeStrength:f(k)})})),E=r.map(k=>Object.assign(Object.assign({},k),{data:Object.assign(Object.assign({},k.data),{edgeStrength:g(k),linkDistance:p(k,e.getNode(k.source),e.getNode(k.target))})}));if(!(s!=null&&s.length))return this.lastResult={nodes:[],edges:r},{nodes:[],edges:r};const x={};s.forEach((k,yt)=>{x[k.id]={x:0,y:0,z:0}});const O=new li.k({nodes:m,edges:E});this.formatCentripetal(a,O);const{maxIteration:j,minMovement:X,onTick:U}=a;if(this.lastLayoutNodes=m,this.lastLayoutEdges=E,this.lastAssign=t,this.lastGraph=e,this.lastCalcGraph=O,this.lastOptions=a,this.lastVelMap=x,typeof window=="undefined")return;let V=0;return new Promise(k=>{this.timeInterval=window.setInterval(()=>{(!s||!this.running)&&k({nodes:Qr(e,m),edges:r}),this.runOneStep(O,e,V,x,a),this.updatePosition(e,O,x,a),t&&m.forEach(yt=>e.mergeNodeData(yt.id,{x:yt.data.x,y:yt.data.y,z:l===3?yt.data.z:void 0})),U==null||U({nodes:Qr(e,m),edges:r}),V++,(V>=j||this.judgingDistance{let h=1;(0,ge.Z)(u==null?void 0:u.data.mass)&&(h=u==null?void 0:u.data.mass);const f=e.getDegree(u.id,"both");return!f||f<5?h:f*5*h});const l=uo(0,t.nodeSpacing);let c;a?(0,Ht.Z)(a)?c=u=>a(u)+l(u):Di(a)?c=u=>{const h=a;return Math.max(h[0],h[1])+l(u)}:c=u=>a+l(u):c=u=>{const{size:h}=(u==null?void 0:u.data)||{};return h?Di(h)?Math.max(h[0],h[1])+l(u):(0,dt.Z)(h)?Math.max(h.width,h.height)+l(u):h+l(u):10+l(u)},n.nodeSize=c;const d=t.linkDistance?uo(1,t.linkDistance):u=>1+n.nodeSize(e.getNode(u.source))+n.nodeSize(e.getNode(u.target));return n.linkDistance=d,n.nodeStrength=uo(1,t.nodeStrength),n.edgeStrength=uo(1,t.edgeStrength),n}formatCentripetal(t,e){const{dimensions:n,centripetalOptions:i,center:s,clusterNodeStrength:r,leafCluster:a,clustering:l,nodeClusterBy:c}=t,d=e.getAllNodes(),u=i||{leaf:2,single:2,others:1,center:E=>({x:s[0],y:s[1],z:n===3?s[2]:void 0})};typeof r!="function"&&(t.clusterNodeStrength=E=>r);let h,f;if(a&&c&&(h=Al(e,c),f=Array.from(new Set(d==null?void 0:d.map(E=>E.data[c])))||[],t.centripetalOptions=Object.assign(u,{single:100,leaf:E=>{const{siblingLeaves:x,sameTypeLeaves:O}=h[E.id]||{};return(O==null?void 0:O.length)===(x==null?void 0:x.length)||(f==null?void 0:f.length)===1?1:t.clusterNodeStrength(E)},others:1,center:E=>{const x=e.getDegree(E.id,"both");if(!x)return{x:100,y:100,z:0};let O;if(x===1){const{sameTypeLeaves:j=[]}=h[E.id]||{};j.length===1?O=void 0:j.length>1&&(O=Pl(j))}else O=void 0;return{x:O==null?void 0:O.x,y:O==null?void 0:O.y,z:O==null?void 0:O.z}}})),l&&c){h||(h=Al(e,c)),f||(f=Array.from(new Set(d.map(x=>x.data[c])))),f=f.filter(x=>x!==void 0);const E={};f.forEach(x=>{const O=d.filter(j=>j.data[c]===x).map(j=>e.getNode(j.id));E[x]=Pl(O)}),t.centripetalOptions=Object.assign(u,{single:x=>t.clusterNodeStrength(x),leaf:x=>t.clusterNodeStrength(x),others:x=>t.clusterNodeStrength(x),center:x=>{const O=E[x.data[c]];return{x:O==null?void 0:O.x,y:O==null?void 0:O.y,z:O==null?void 0:O.z}}})}const{leaf:g,single:p,others:m}=t.centripetalOptions||{};g&&typeof g!="function"&&(t.centripetalOptions.leaf=()=>g),p&&typeof p!="function"&&(t.centripetalOptions.single=()=>p),m&&typeof m!="function"&&(t.centripetalOptions.others=()=>m)}runOneStep(t,e,n,i,s){const r={},a=t.getAllNodes(),l=t.getAllEdges();if(!(a!=null&&a.length))return;const{monitor:c}=s;if(this.calRepulsive(t,r,s),l&&this.calAttractive(t,r,s),this.calGravity(t,e,r,s),this.updateVelocity(t,r,i,s),c){const d=this.calTotalEnergy(r,a);c({energy:d,nodes:e.getAllNodes(),edges:e.getAllEdges(),iterations:n})}}calTotalEnergy(t,e){if(!(e!=null&&e.length))return 0;let n=0;return e.forEach((i,s)=>{const r=t[i.id].x,a=t[i.id].y,l=this.options.dimensions===3?t[i.id].z:0,c=r*r+a*a+l*l,{mass:d=1}=i.data;n+=d*c*.5}),n}calRepulsive(t,e,n){const{dimensions:i,factor:s,coulombDisScale:r}=n;$h(t,s,r*r,e,i)}calAttractive(t,e,n){const{dimensions:i,nodeSize:s}=n;t.getAllEdges().forEach((r,a)=>{const{source:l,target:c}=r,d=t.getNode(l),u=t.getNode(c);if(!d||!u)return;let h=u.data.x-d.data.x,f=u.data.y-d.data.y,g=i===3?u.data.z-d.data.z:0;!h&&!f&&(h=Math.random()*.01,f=Math.random()*.01,i===3&&!g&&(g=Math.random()*.01));const p=Math.sqrt(h*h+f*f+g*g);if(p{const{id:p,data:m}=g,{mass:E,x,y:O,z:j}=m,X=e.getNode(p);let U=0,V=0,k=0,yt=h;const zt=t.getDegree(p,"in"),q=t.getDegree(p,"out"),Lt=t.getDegree(p,"both"),Nt=s==null?void 0:s(X,Lt);if(Nt){const[Tt,St,kt]=Nt;U=x-Tt,V=O-St,yt=kt}else U=x-u[0],V=O-u[1],k=j-u[2];if(yt&&(n[p].x-=yt*U/E,n[p].y-=yt*V/E,n[p].z-=yt*k/E),f){const{leaf:Tt,single:St,others:kt,center:rn}=f,{x:pt,y:le,z:je,centerStrength:Ve}=(rn==null?void 0:rn(X,a,l,c,d))||{x:0,y:0,z:0,centerStrength:0};if(!(0,ge.Z)(pt)||!(0,ge.Z)(le))return;const Nn=(x-pt)/E,Yn=(O-le)/E,tn=(j-je)/E;if(Ve&&(n[p].x-=Ve*Nn,n[p].y-=Ve*Yn,n[p].z-=Ve*tn),Lt===0){const Gn=St(X);if(!Gn)return;n[p].x-=Gn*Nn,n[p].y-=Gn*Yn,n[p].z-=Gn*tn;return}if(zt===0||q===0){const Gn=Tt(X,a,l);if(!Gn)return;n[p].x-=Gn*Nn,n[p].y-=Gn*Yn,n[p].z-=Gn*tn;return}const Zn=kt(X);if(!Zn)return;n[p].x-=Zn*Nn,n[p].y-=Zn*Yn,n[p].z-=Zn*tn}})}updateVelocity(t,e,n,i){const{damping:s,maxSpeed:r,interval:a,dimensions:l}=i,c=t.getAllNodes();c!=null&&c.length&&c.forEach(d=>{const{id:u}=d;let h=(n[u].x+e[u].x*a)*s||.01,f=(n[u].y+e[u].y*a)*s||.01,g=l===3?(n[u].z+e[u].z*a)*s||.01:0;const p=Math.sqrt(h*h+f*f+g*g);if(p>r){const m=r/p;h=m*h,f=m*f,g=m*g}n[u]={x:h,y:f,z:g}})}updatePosition(t,e,n,i){const{distanceThresholdMode:s,interval:r,dimensions:a}=i,l=e.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let c=0;s==="max"?this.judgingDistance=-1/0:s==="min"&&(this.judgingDistance=1/0),l.forEach(d=>{const{id:u}=d,h=t.getNode(u);if((0,ge.Z)(h.data.fx)&&(0,ge.Z)(h.data.fy)){e.mergeNodeData(u,{x:h.data.fx,y:h.data.fy,z:a===3?h.data.fz:void 0});return}const f=n[u].x*r,g=n[u].y*r,p=a===3?n[u].z*r:0;e.mergeNodeData(u,{x:d.data.x+f,y:d.data.y+g,z:d.data.z+p});const m=Math.sqrt(f*f+g*g+p*p);switch(s){case"max":this.judgingDistancem&&(this.judgingDistance=m);break;default:c=c+m;break}}),(!s||s==="mean")&&(this.judgingDistance=c/l.length)}}const Al=(o,t)=>{const e=o.getAllNodes();if(!(e!=null&&e.length))return{};const n={};return e.forEach((i,s)=>{o.getDegree(i.id,"both")===1&&(n[i.id]=Vh(o,"leaf",i,t))}),n},Vh=(o,t,e,n)=>{const i=o.getDegree(e.id,"in"),s=o.getDegree(e.id,"out");let r=e,a=[];i===0?(r=o.getSuccessors(e.id)[0],a=o.getNeighbors(r.id)):s===0&&(r=o.getPredecessors(e.id)[0],a=o.getNeighbors(r.id)),a=a.filter(c=>o.getDegree(c.id,"in")===0||o.getDegree(c.id,"out")===0);const l=Uh(o,t,n,e,a);return{coreNode:r,siblingLeaves:a,sameTypeLeaves:l}},Uh=(o,t,e,n,i)=>{const s=n.data[e]||"";let r=(i==null?void 0:i.filter(a=>a.data[e]===s))||[];return t==="leaf"&&(r=r.filter(a=>o.getDegree(a.id,"in")===0||o.getDegree(a.id,"out")===0)),r},Pl=o=>{const t={x:0,y:0};o.forEach(n=>{const{x:i,y:s}=n.data;t.x+=i||0,t.y+=s||0});const e=o.length||1;return{x:t.x/e,y:t.y/e}},Qr=(o,t)=>t.map(e=>{const{id:n,data:i}=e,s=o.getNode(n);return Object.assign(Object.assign({},s),{data:Object.assign(Object.assign({},s.data),{x:i.x,y:i.y,z:i.z})})});var io=y(16970);const Tl=o=>{const t=[],e=o.length;for(let n=0;nt[i][n]+t[n][s]&&(t[i][s]=t[i][n]+t[n][s]);return t},Ll=(o,t)=>{const{nodes:e,edges:n}=o,i=[],s={};if(!e)throw new Error("invalid nodes data!");return e&&e.forEach((r,a)=>{s[r.id]=a;const l=[];i.push(l)}),n==null||n.forEach(r=>{const{source:a,target:l}=r,c=s[a],d=s[l];c===void 0||d===void 0||(i[c][d]=1,t||(i[d][c]=1))}),i},Kh=(o,t)=>{const e=[];return o.forEach(n=>{const i=[];n.forEach(s=>{i.push(s*t)}),e.push(i)}),e},Yh=o=>{let t=1/0,e=1/0,n=-1/0,i=-1/0;return o.forEach(s=>{let r=s.data.size;Di(r)?r.length===1&&(r=[r[0],r[0]]):(0,ge.Z)(r)?r=[r,r]:(r===void 0||isNaN(r))&&(r=[30,30]);const a=[r[0]/2,r[1]/2],l=s.data.x-a[0],c=s.data.x+a[0],d=s.data.y-a[1],u=s.data.y+a[1];t>l&&(t=l),e>d&&(e=d),nMath.sqrt((o.x-t.x)*(o.x-t.x)+(o.y-t.y)*(o.y-t.y)),Jr=(o,t,e,n="TB",i,s={})=>{if(!(t!=null&&t.length))return;const{stopBranchFn:r,stopAllFn:a}=s;for(let l=0;l{const E=Fi(a[m]);E.data.x=p[0]+s[0],E.data.y=p[1]+s[1],f.push(E)}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:l}})}}const Xh=o=>{let t=-999999;o.forEach(e=>{e.forEach(n=>{n!==1/0&&t{e.forEach((i,s)=>{i===1/0&&(o[n][s]=t)})})},Qh=o=>{const e=io.y3.mul(io.y3.pow(o,2),-.5),n=e.mean("row"),i=e.mean("column"),s=e.mean();e.add(s).subRowVector(n).subColumnVector(i);const r=new io.Sc(e),a=io.y3.sqrt(r.diagonalMatrix).diagonal();return r.leftSingularVectors.toJSON().map(l=>io.y3.mul([l],[a]).toJSON()[0].splice(0,2))};function qr(o){return!!o.tick&&!!o.stop}const Jh={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},qh={center:[0,0],comboPadding:10,treeKey:"combo"};class tf{constructor(t={}){this.options=t,this.id="comboCombined",this.options=Object.assign(Object.assign({},qh),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,t,e)})}genericComboCombinedLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:s,treeKey:r,outerLayout:a}=i,l=e.getAllNodes().filter(k=>!k.data._isCombo),c=e.getAllNodes().filter(k=>k.data._isCombo),d=e.getAllEdges(),u=l==null?void 0:l.length;if(!u||u===1)return Ro(e,t,s);const h=[],f=new Map;l.forEach(k=>{f.set(k.id,k)});const g=new Map;c.forEach(k=>{g.set(k.id,k)});const p=new Map,m=this.getInnerGraphs(e,r,f,g,d,i,p);yield Promise.all(m);const E=new Map,x=[],O=new Map;let j=!0;e.getRoots(r).forEach(k=>{const yt=p.get(k.id),zt=g.get(k.id)||f.get(k.id),q={id:k.id,data:Object.assign(Object.assign({},k.data),{x:yt.data.x||zt.data.x,y:yt.data.y||zt.data.y,fx:yt.data.fx||zt.data.fx,fy:yt.data.fy||zt.data.fy,mass:yt.data.mass||zt.data.mass,size:yt.data.size})};x.push(q),E.set(k.id,!0),!isNaN(q.data.x)&&q.data.x!==0&&!isNaN(q.data.y)&&q.data.y!==0?j=!1:(q.data.x=Math.random()*100,q.data.y=Math.random()*100),Jr(e,[k],Lt=>{Lt.id!==k.id&&O.set(Lt.id,k.id)},"TB",r)});const X=[];d.forEach(k=>{const yt=O.get(k.source)||k.source,zt=O.get(k.target)||k.target;yt!==zt&&E.has(yt)&&E.has(zt)&&X.push({id:k.id,source:yt,target:zt,data:{}})});let U;if(x!=null&&x.length){if(x.length===1)x[0].data.x=s[0],x[0].data.y=s[1];else{const k=new li.k({nodes:x,edges:X}),yt=a||new Nl;j&&Jh[yt.id]&&(yield(x.length<100?new jl:new Gr).assign(k));const zt=Object.assign({center:s,kg:5,preventOverlap:!0,animate:!1},yt.id==="force"?{gravity:1,factor:4,linkDistance:(q,Lt,Nt)=>{const Tt=Math.max(...Lt.data.size)||32,St=Math.max(...Nt.data.size)||32;return Tt/2+St/2+200}}:{});U=yield zl(yt,k,zt)}p.forEach(k=>{var yt;const zt=U.nodes.find(Nt=>Nt.id===k.id);if(zt){const{x:Nt,y:Tt}=zt.data;k.data.visited=!0,k.data.x=Nt,k.data.y=Tt,h.push({id:k.id,data:{x:Nt,y:Tt}})}const{x:q,y:Lt}=k.data;(yt=k.data.nodes)===null||yt===void 0||yt.forEach(Nt=>{h.push({id:Nt.id,data:{x:Nt.data.x+q,y:Nt.data.y+Lt}})})}),p.forEach(({data:k})=>{const{x:yt,y:zt,visited:q,nodes:Lt}=k;Lt==null||Lt.forEach(Nt=>{if(!q){const Tt=h.find(St=>St.id===Nt.id);Tt.data.x+=yt||0,Tt.data.y+=zt||0}})})}return t&&h.forEach(k=>{e.mergeNodeData(k.id,{x:k.data.x,y:k.data.y})}),{nodes:h,edges:d}})}initVals(t){const e=Object.assign({},t),{nodeSize:n,spacing:i,comboPadding:s}=t;let r,a;if((0,ge.Z)(i)?a=()=>i:(0,Ht.Z)(i)?a=i:a=()=>0,e.spacing=a,!n)r=c=>{const d=a(c);return c.size?Di(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+d)/2:(0,dt.Z)(c.size)?((c.size.width>c.size.height?c.size.width:c.size.height)+d)/2:(c.size+d)/2:32+d/2};else if((0,Ht.Z)(n))r=c=>{const d=n(c),u=a(c);return Di(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+u)/2:((d||32)+u)/2};else if(Di(n)){const d=(n[0]>n[1]?n[0]:n[1])/2;r=u=>d+a(u)/2}else{const c=n/2;r=d=>c+a(d)/2}e.nodeSize=r;let l;return(0,ge.Z)(s)?l=()=>s:Di(s)?l=()=>Math.max.apply(null,s):(0,Ht.Z)(s)?l=s:l=()=>0,e.comboPadding=l,e}getInnerGraphs(t,e,n,i,s,r,a){const{nodeSize:l,comboPadding:c,spacing:d,innerLayout:u}=r,h=u||new Gr({}),f={center:[0,0],preventOverlap:!0,nodeSpacing:d},g=[],p=m=>{let E=(c==null?void 0:c(m))||10;return Di(E)&&(E=Math.max(...E)),{size:E?[E*2,E*2]:[30,30],padding:E}};return t.getRoots(e).forEach(m=>{a.set(m.id,{id:m.id,data:{nodes:[],size:p(m).size}});let E=Promise.resolve();Jr(t,[m],x=>{var O;if(!x.data._isCombo)return;const{size:j,padding:X}=p(x);if(!(!((O=t.getChildren(x.id,e))===null||O===void 0)&&O.length))a.set(x.id,{id:x.id,data:Object.assign(Object.assign({},x.data),{size:j})});else{const U=a.get(x.id);a.set(x.id,{id:x.id,data:Object.assign({nodes:[]},U==null?void 0:U.data)});const V=new Map,k=t.getChildren(x.id,e).map(q=>{if(q.data._isCombo)return a.has(q.id)||a.set(q.id,{id:q.id,data:Object.assign({},q.data)}),V.set(q.id,!0),a.get(q.id);const Lt=n.get(q.id)||i.get(q.id);return V.set(q.id,!0),{id:q.id,data:Object.assign(Object.assign({},Lt.data),q.data)}}),yt={nodes:k,edges:s.filter(q=>V.has(q.source)&&V.has(q.target))};let zt=1/0;k.forEach(q=>{var Lt;let{size:Nt}=q.data;Nt||(Nt=((Lt=a.get(q.id))===null||Lt===void 0?void 0:Lt.data.size)||(l==null?void 0:l(q))||[30,30]),(0,ge.Z)(Nt)&&(Nt=[Nt,Nt]);const[Tt,St]=Nt;zt>Tt&&(zt=Tt),zt>St&&(zt=St),q.data.size=Nt}),E=E.then(()=>(0,Se.mG)(this,void 0,void 0,function*(){const q=new li.k(yt);yield zl(h,q,f,!0);const{minX:Lt,minY:Nt,maxX:Tt,maxY:St}=Yh(k),kt={x:(Tt+Lt)/2,y:(St+Nt)/2};yt.nodes.forEach(pt=>{pt.data.x-=kt.x,pt.data.y-=kt.y});const rn=[Math.max(Tt-Lt,zt)+X*2,Math.max(St-Nt,zt)+X*2];a.get(x.id).data.size=rn,a.get(x.id).data.nodes=k}))}return!0},"BT",e),g.push(E)}),g}}function zl(o,t,e,n){var i;return(0,Se.mG)(this,void 0,void 0,function*(){return qr(o)?(o.execute(t,e),o.stop(),o.tick((i=e.iterations)!==null&&i!==void 0?i:300)):n?yield o.assign(t,e):yield o.execute(t,e)})}var ef=y(31136),nf=y(84365),of=y(32575),sf=y(33039),rf=y(54774),af=y(34123),lf=y(97468),cf=y(74515);class df{constructor(t){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:ef.Z,manyBody:nf.Z,center:of.Z,collide:sf.Z,radial:rf.Z,x:af.Z,y:lf.Z},this.options={link:{id:e=>e.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},(0,kn.Z)(this.options,t),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,t,e)})}stop(){this.simulation.stop()}tick(t){return this.simulation.tick(t),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(t,e){const n=this.context.nodes.find(i=>i.id===t);n&&e.forEach((i,s)=>{if(typeof i=="number"||i===null){const r=["fx","fy","fz"][s];n[r]=i}})}getOptions(t){var e,n;const i=(0,kn.Z)({},this.options,t);return i.collide&&((e=i.collide)===null||e===void 0?void 0:e.radius)===void 0&&(i.collide=i.collide||{},i.collide.radius=(n=i.nodeSize)!==null&&n!==void 0?n:10),i.iterations===void 0&&(i.link&&i.link.iterations===void 0&&(i.iterations=i.link.iterations),i.collide&&i.collide.iterations===void 0&&(i.iterations=i.collide.iterations)),this.context.options=i,i}genericLayout(t,e,n){var i;return(0,Se.mG)(this,void 0,void 0,function*(){const s=this.getOptions(n),r=e.getAllNodes().map(({id:d,data:u})=>Object.assign(Object.assign({id:d},u),(0,Co.Z)(u.data,this.config.inputNodeAttrs))),a=e.getAllEdges().map(d=>Object.assign({},d));Object.assign(this.context,{assign:t,nodes:r,edges:a,graph:e});const l=new Promise(d=>{this.resolver=d}),c=this.setSimulation(s);return c.nodes(r),(i=c.force("link"))===null||i===void 0||i.links(a),l})}getResult(){const{assign:t,nodes:e,edges:n,graph:i}=this.context,s=e.map(a=>({id:a.id,data:Object.assign(Object.assign({},a.data),(0,Co.Z)(a,this.config.outputNodeAttrs))})),r=n.map(({id:a,source:l,target:c,data:d})=>({id:a,source:typeof l=="object"?l.id:l,target:typeof c=="object"?c.id:c,data:d}));return t&&s.forEach(a=>i.mergeNodeData(a.id,a.data)),{nodes:s,edges:r}}initSimulation(){return(0,cf.Z)()}setSimulation(t){const e=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=e.on("tick",()=>{var n;return(n=t.onTick)===null||n===void 0?void 0:n.call(t,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),Bl(e,this.config.simulationAttrs.map(n=>[n,t[n]])),Object.entries(this.forceMap).forEach(([n,i])=>{const s=n;if(t[n]){let r=e.force(s);r||(r=i(),e.force(s,r)),Bl(r,Object.entries(t[s]))}else e.force(s,null)}),e}}const Bl=(o,t)=>t.reduce((e,[n,i])=>!e[n]||i===void 0?e:e[n].call(o,i),o);var Zl=y(92546),uf=y.n(Zl);function hf(o){if(!o)return[0,0,0];if((0,ge.Z)(o))return[o,o,o];if(o.length===0)return[0,0,0];const[t,e=t,n=t]=o;return[t,e,n]}class Us{constructor(t){this.id="dagre",this.options={},Object.assign(this.options,Us.defaultOptions,t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,t,Object.assign(Object.assign({},this.options),e))})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,t,Object.assign(Object.assign({},this.options),e))})}genericDagreLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const{nodeSize:i}=n,s=new Zl.graphlib.Graph;s.setGraph(n),s.setDefaultEdgeLabel(()=>({}));const r=e.getAllNodes(),a=e.getAllEdges();[...r,...a].some(({id:c})=>(0,ge.Z)(c))&&console.error("Dagre layout only support string id, it will convert number to string."),e.getAllNodes().forEach(c=>{const{id:d}=c,u=Object.assign({},c.data);if(i!==void 0){const[h,f]=hf((0,Ht.Z)(i)?i(c):i);Object.assign(u,{width:h,height:f})}s.setNode(d.toString(),u)}),e.getAllEdges().forEach(({id:c,source:d,target:u})=>{s.setEdge(d.toString(),u.toString(),{id:c})}),uf().layout(s);const l={nodes:[],edges:[]};return s.nodes().forEach(c=>{const d=s.node(c);l.nodes.push({id:c,data:d}),t&&e.mergeNodeData(c,d)}),s.edges().forEach(c=>{const d=s.edge(c),{id:u}=d,h=(0,Se._T)(d,["id"]),{v:f,w:g}=c;l.edges.push({id:u,source:f,target:g,data:h}),t&&e.mergeEdgeData(u,h)}),l})}}Us.defaultOptions={};class ta{constructor(t){this.id=t.id||0,this.rx=t.rx,this.ry=t.ry,this.fx=0,this.fy=0,this.mass=t.mass,this.degree=t.degree,this.g=t.g||0}distanceTo(t){const e=this.rx-t.rx,n=this.ry-t.ry;return Math.hypot(e,n)}setPos(t,e){this.rx=t,this.ry=e}resetForce(){this.fx=0,this.fy=0}addForce(t){const e=t.rx-this.rx,n=t.ry-this.ry;let i=Math.hypot(e,n);i=i<1e-4?1e-4:i;const s=this.g*(this.degree+1)*(t.degree+1)/i;this.fx+=s*e/i,this.fy+=s*n/i}in(t){return t.contains(this.rx,this.ry)}add(t){const e=this.mass+t.mass,n=(this.rx*this.mass+t.rx*t.mass)/e,i=(this.ry*this.mass+t.ry*t.mass)/e,s=this.degree+t.degree,r={rx:n,ry:i,mass:e,degree:s};return new ta(r)}}class Fo{constructor(t){this.xmid=t.xmid,this.ymid=t.ymid,this.length=t.length,this.massCenter=t.massCenter||[0,0],this.mass=t.mass||1}getLength(){return this.length}contains(t,e){const n=this.length/2;return t<=this.xmid+n&&t>=this.xmid-n&&e<=this.ymid+n&&e>=this.ymid-n}NW(){const t=this.xmid-this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Fo(i)}NE(){const t=this.xmid+this.length/4,e=this.ymid+this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Fo(i)}SW(){const t=this.xmid-this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Fo(i)}SE(){const t=this.xmid+this.length/4,e=this.ymid-this.length/4,n=this.length/2,i={xmid:t,ymid:e,length:n};return new Fo(i)}}class ko{constructor(t){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,t!=null&&(this.quad=t)}insert(t){if(this.body==null){this.body=t;return}this._isExternal()?(this.quad&&(this.NW=new ko(this.quad.NW()),this.NE=new ko(this.quad.NE()),this.SW=new ko(this.quad.SW()),this.SE=new ko(this.quad.SE())),this._putBody(this.body),this._putBody(t),this.body=this.body.add(t)):(this.body=this.body.add(t),this._putBody(t))}_putBody(t){this.quad&&(t.in(this.quad.NW())&&this.NW?this.NW.insert(t):t.in(this.quad.NE())&&this.NE?this.NE.insert(t):t.in(this.quad.SW())&&this.SW?this.SW.insert(t):t.in(this.quad.SE())&&this.SE&&this.SE.insert(t))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(t){if(!(this.body==null||t===this.body))if(this._isExternal())t.addForce(this.body);else{const e=this.quad?this.quad.getLength():0,n=this.body.distanceTo(t);e/nFi(E,[a,l])),g=i.filter(E=>{const{source:x,target:O}=E;return x!==O}),p=new li.k({nodes:f,edges:g}),m=this.getSizes(p,e,u);if(this.run(p,e,d,m,t,r),c){for(let x=0;x250&&(n.barnesHut=!0),l===void 0&&e>100&&(n.prune=!0),c===0&&!l?(n.maxIteration=250,e<=200&&e>100?n.maxIteration=1e3:e>200&&(n.maxIteration=1200)):c===0&&l&&(n.maxIteration=100,e<=200&&e>100?n.maxIteration=500:e>200&&(n.maxIteration=950)),d||(n.kr=50,e>100&&e<=500?n.kr=20:e>500&&(n.kr=1)),u||(n.kg=20,e>100&&e<=500?n.kg=10:e>500&&(n.kg=1)),n}run(t,e,n,i,s,r){const{kr:a,barnesHut:l,onTick:c}=r,d=t.getAllNodes();let u=0,h=n;const f={},g={},p={};for(let m=0;m0;)u=this.oneStep(t,{iter:h,preventOverlapIters:50,krPrime:100,sg:u,forces:f,preForces:g,bodies:p,sizes:i},r),h--,c==null||c({nodes:d,edges:e.getAllEdges()});return t}oneStep(t,e,n){const{iter:i,preventOverlapIters:s,krPrime:r,sg:a,preForces:l,bodies:c,sizes:d}=e;let{forces:u}=e;const{preventOverlap:h,barnesHut:f}=n,g=t.getAllNodes();for(let p=0;ps||!h)?u=this.getOptRepGraForces(t,u,c,n):u=this.getRepGraForces(t,i,s,u,r,d,n),this.updatePos(t,u,l,a,n)}getAttrForces(t,e,n,i,s,r){const{preventOverlap:a,dissuadeHubs:l,mode:c,prune:d}=r,u=t.getAllEdges();for(let h=0;h0&&(X=j,U=j),s[f][0]+=X*O[0],s[g][0]-=U*O[0],s[f][1]+=X*O[1],s[g][1]-=U*O[1]}return s}getOptRepGraForces(t,e,n,i){const{kg:s,center:r,prune:a}=i,l=t.getAllNodes(),c=l.length;let d=9e10,u=-9e10,h=9e10,f=-9e10;for(let x=0;x=u&&(u=j.x),j.x<=d&&(d=j.x),j.y>=f&&(f=j.y),j.y<=h&&(h=j.y))}const g=Math.max(u-d,f-h),p={xmid:(u+d)/2,ymid:(f+h)/2,length:g,massCenter:r,mass:c},m=new Fo(p),E=new ko(m);for(let x=0;x0&&(zt=c*(E+1)*(V+1)/yt),i[m.id][0]-=zt*k[0],i[U.id][0]+=zt*k[0],i[m.id][1]-=zt*k[1],i[U.id][1]+=zt*k[1]}const x=[m.data.x-u[0],m.data.y-u[1]],O=Math.hypot(x[0],x[1]);x[0]=x[0]/O,x[1]=x[1]/O;const j=d*(E+1);i[m.id][0]-=j*x[0],i[m.id][1]-=j*x[1]}return i}updatePos(t,e,n,i,s){const{ks:r,tao:a,prune:l,ksmax:c}=s,d=t.getAllNodes(),u=d.length,h=[],f=[];let g=0,p=0,m=i;for(let x=0;x1.5*E?1.5*E:m);for(let x=0;xk?k:U;const yt=U*e[O][0],zt=U*e[O][1];t.mergeNodeData(O,{x:j.x+yt,y:j.y+zt})}return m}}const pf={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},mf=800;class vf{constructor(t={}){this.options=t,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},pf),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,t,e)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(t=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),e}genericFruchtermanLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){if(this.running)return;const i=this.formatOptions(n),{dimensions:s,width:r,height:a,center:l,clustering:c,nodeClusterBy:d,maxIteration:u,onTick:h}=i,f=e.getAllNodes(),g=e.getAllEdges();if(!(f!=null&&f.length)){const O={nodes:[],edges:g};return this.lastResult=O,O}if(f.length===1){t&&e.mergeNodeData(f[0].id,{x:l[0],y:l[1],z:s===3?l[2]:void 0});const O={nodes:[Object.assign(Object.assign({},f[0]),{data:Object.assign(Object.assign({},f[0].data),{x:l[0],y:l[1],z:s===3?l[2]:void 0})})],edges:g};return this.lastResult=O,O}const p=f.map(O=>Fi(O,[r,a])),m=new li.k({nodes:p,edges:g}),E={};if(c&&p.forEach(O=>{const j=O.data[d];E[j]||(E[j]={name:j,cx:0,cy:0,count:0})}),this.lastLayoutNodes=p,this.lastLayoutEdges=g,this.lastAssign=t,this.lastGraph=m,this.lastOptions=i,this.lastClusterMap=E,typeof window=="undefined")return;let x=0;return new Promise(O=>{this.timeInterval=window.setInterval(()=>{if(!this.running){O({nodes:p,edges:g});return}this.runOneStep(m,E,i),t&&p.forEach(({id:j,data:X})=>e.mergeNodeData(j,{x:X.x,y:X.y,z:s===3?X.z:void 0})),h==null||h({nodes:p,edges:g}),x++,x>=u&&(window.clearInterval(this.timeInterval),O({nodes:p,edges:g}))},0),this.running=!0})})}formatOptions(t={}){const e=Object.assign(Object.assign({},this.options),t),{clustering:n,nodeClusterBy:i}=e,{center:s,width:r,height:a}=e;return e.width=!r&&typeof window!="undefined"?window.innerWidth:r,e.height=!a&&typeof window!="undefined"?window.innerHeight:a,e.center=s||[e.width/2,e.height/2],e.clustering=n&&!!i,e}runOneStep(t,e,n){const{dimensions:i,height:s,width:r,gravity:a,center:l,speed:c,clustering:d,nodeClusterBy:u,clusterGravity:h}=n,f=s*r,g=Math.sqrt(f)/10,p=t.getAllNodes(),m=f/(p.length+1),E=Math.sqrt(m),x={};if(this.applyCalculate(t,x,E,m),d){for(const j in e)e[j].cx=0,e[j].cy=0,e[j].count=0;p.forEach(j=>{const{data:X}=j,U=e[X[u]];(0,ge.Z)(X.x)&&(U.cx+=X.x),(0,ge.Z)(X.y)&&(U.cy+=X.y),U.count++});for(const j in e)e[j].cx/=e[j].count,e[j].cy/=e[j].count;const O=h||a;p.forEach((j,X)=>{const{id:U,data:V}=j;if(!(0,ge.Z)(V.x)||!(0,ge.Z)(V.y))return;const k=e[V[u]],yt=Math.sqrt((V.x-k.cx)*(V.x-k.cx)+(V.y-k.cy)*(V.y-k.cy)),zt=E*O;x[U].x-=zt*(V.x-k.cx)/yt,x[U].y-=zt*(V.y-k.cy)/yt})}p.forEach((O,j)=>{const{id:X,data:U}=O;if(!(0,ge.Z)(U.x)||!(0,ge.Z)(U.y))return;const V=.01*E*a;x[X].x-=V*(U.x-l[0]),x[X].y-=V*(U.y-l[1]),i===3&&(x[X].z-=V*(U.z-l[2]))}),p.forEach((O,j)=>{const{id:X,data:U}=O;if((0,ge.Z)(U.fx)&&(0,ge.Z)(U.fy)){U.x=U.fx,U.y=U.fy,i===3&&(U.z=U.fz);return}if(!(0,ge.Z)(U.x)||!(0,ge.Z)(U.y))return;const V=Math.sqrt(x[X].x*x[X].x+x[X].y*x[X].y+(i===3?x[X].z*x[X].z:0));if(V>0){const k=Math.min(g*(c/mf),V);t.mergeNodeData(X,{x:U.x+x[X].x/V*k,y:U.y+x[X].y/V*k,z:i===3?U.z+x[X].z/V*k:void 0})}})}applyCalculate(t,e,n,i){this.calRepulsive(t,e,i),this.calAttractive(t,e,n)}calRepulsive(t,e,n){const i=t.getAllNodes();i.forEach(({data:s,id:r},a)=>{e[r]={x:0,y:0,z:0},i.forEach(({data:l,id:c},d)=>{if(a<=d||!(0,ge.Z)(s.x)||!(0,ge.Z)(l.x)||!(0,ge.Z)(s.y)||!(0,ge.Z)(l.y))return;let u=s.x-l.x,h=s.y-l.y,f=this.options.dimensions===3?s.z-l.z:0,g=u*u+h*h+f*f;g===0&&(g=1,u=.01,h=.01,f=.01);const p=n/g,m=u*p,E=h*p,x=f*p;e[r].x+=m,e[r].y+=E,e[c].x-=m,e[c].y-=E,this.options.dimensions===3&&(e[r].z+=x,e[c].z-=x)})})}calAttractive(t,e,n){t.getAllEdges().forEach(s=>{const{source:r,target:a}=s;if(!r||!a||r===a)return;const{data:l}=t.getNode(r),{data:c}=t.getNode(a);if(!(0,ge.Z)(c.x)||!(0,ge.Z)(l.x)||!(0,ge.Z)(c.y)||!(0,ge.Z)(l.y))return;const d=c.x-l.x,u=c.y-l.y,h=this.options.dimensions===3?c.z-l.z:0,f=Math.sqrt(d*d+u*u+h*h)/n,g=d*f,p=u*f,m=h*f;e[r].x+=g,e[r].y+=p,e[a].x-=g,e[a].y-=p,this.options.dimensions===3&&(e[r].z+=m,e[a].z-=m)})}}const yf={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 bf{constructor(t={}){this.options=t,this.id="grid",this.options=Object.assign(Object.assign({},yf),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,t,e)})}genericGridLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{begin:s=[0,0],condense:r,preventOverlapPadding:a,preventOverlap:l,rows:c,cols:d,nodeSpacing:u,nodeSize:h,width:f,height:g,position:p}=i;let{sortBy:m}=i;const E=e.getAllNodes(),x=e.getAllEdges(),O=E==null?void 0:E.length;if(!O||O===1)return Ro(e,t,s);const j=E.map(St=>Fi(St));m!=="id"&&(!(0,ve.Z)(m)||j[0].data[m]===void 0)&&(m="degree"),m==="degree"?j.sort((St,kt)=>e.getDegree(kt.id,"both")-e.getDegree(St.id,"both")):m==="id"?j.sort((St,kt)=>(0,ge.Z)(kt.id)&&(0,ge.Z)(St.id)?kt.id-St.id:`${St.id}`.localeCompare(`${kt.id}`)):j.sort((St,kt)=>kt.data[m]-St.data[m]);const X=!f&&typeof window!="undefined"?window.innerWidth:f,U=!g&&typeof window!="undefined"?window.innerHeight:g,V=O,k={rows:c,cols:d};if(c!=null&&d!=null)k.rows=c,k.cols=d;else if(c!=null&&d==null)k.rows=c,k.cols=Math.ceil(V/k.rows);else if(c==null&&d!=null)k.cols=d,k.rows=Math.ceil(V/k.cols);else{const St=Math.sqrt(V*U/X);k.rows=Math.round(St),k.cols=Math.round(X/U*St)}if(k.rows=Math.max(k.rows,1),k.cols=Math.max(k.cols,1),k.cols*k.rows>V){const St=Ks(k),kt=Ys(k);(St-1)*kt>=V?Ks(k,St-1):(kt-1)*St>=V&&Ys(k,kt-1)}else for(;k.cols*k.rows=V?Ys(k,kt+1):Ks(k,St+1)}let yt=r?0:X/k.cols,zt=r?0:U/k.rows;if(l||u){const St=uo(10,u),kt=Ml(30,h,!1);j.forEach(rn=>{(!rn.data.x||!rn.data.y)&&(rn.data.x=0,rn.data.y=0);const pt=e.getNode(rn.id),le=kt(pt)||30;let je,Ve;Di(le)?(je=le[0],Ve=le[1]):(je=le,Ve=le);const Nn=St!==void 0?St(rn):a,Yn=je+Nn,tn=Ve+Nn;yt=Math.max(yt,Yn),zt=Math.max(zt,tn)})}const q={},Lt={row:0,col:0},Nt={};for(let St=0;St{e.mergeNodeData(St.id,{x:St.data.x,y:St.data.y})}),Tt})}}const Ks=(o,t)=>{let e;const n=o.rows||5,i=o.cols||5;return t==null?e=Math.min(n,i):Math.min(n,i)===o.rows?o.rows=t:o.cols=t,e},Ys=(o,t)=>{let e;const n=o.rows||5,i=o.cols||5;return t==null?e=Math.max(n,i):Math.max(n,i)===o.rows?o.rows=t:o.cols=t,e},ea=(o,t)=>o[`c-${t.row}-${t.col}`]||!1,$l=(o,t)=>o[`c-${t.row}-${t.col}`]=!0,Fl=(o,t)=>{const e=o.cols||5;t.col++,t.col>=e&&(t.col=0,t.row++)},Ef=(o,t,e,n,i,s,r,a)=>{let l,c;const d=i[o.id];if(d)l=d.col*e+e/2+t[0],c=d.row*n+n/2+t[1];else{for(;ea(a,r);)Fl(s,r);l=r.col*e+e/2+t[0],c=r.row*n+n/2+t[1],$l(a,r),Fl(s,r)}o.data.x=l,o.data.y=c},xf=(o,t,e)=>{try{const n=io.y3.mul(io.y3.pow(t,2),-.5),i=n.mean("row"),s=n.mean("column"),r=n.mean();n.add(r).subRowVector(i).subColumnVector(s);const a=new io.Sc(n),l=io.y3.sqrt(a.diagonalMatrix).diagonal();return a.leftSingularVectors.toJSON().map(c=>io.y3.mul([c],[l]).toJSON()[0].splice(0,o))}catch(n){const i=[];for(let s=0;s{const e=Object.assign(Object.assign({},wf),t),{positions:n,iterations:i,width:s,k:r,speed:a=100,strictRadial:l,focusIdx:c,radii:d=[],nodeSizeFunc:u}=e,h=o.getAllNodes(),f=[],g=s/10;for(let p=0;p{f[E]={x:0,y:0}}),Cf(h,n,f,r,d,u),Df(n,f,a,l,c,g,s,d);return n},Cf=(o,t,e,n,i,s)=>{t.forEach((r,a)=>{e[a]={x:0,y:0},t.forEach((l,c)=>{if(a===c||i[a]!==i[c])return;let d=r.x-l.x,u=r.y-l.y,h=Math.sqrt(d*d+u*u);if(h===0){h=1;const f=a>c?1:-1;d=.01*f,u=.01*f}if(h{const l=s||r/10;return n&&t.forEach((c,d)=>{const u=o[d].x-o[i].x,h=o[d].y-o[i].y,f=Math.sqrt(u*u+h*h);let g=h/f,p=-u/f;const m=Math.sqrt(c.x*c.x+c.y*c.y);let E=Math.acos((g*c.x+p*c.y)/m);E>Math.PI/2&&(E-=Math.PI/2,g*=-1,p*=-1);const x=Math.cos(E)*m;c.x=g*x,c.y=p*x}),o.forEach((c,d)=>{if(d===i)return;const u=Math.sqrt(t[d].x*t[d].x+t[d].y*t[d].y);if(u>0&&d!==i){const h=Math.min(l*(e/Sf),u);if(c.x+=t[d].x/u*h,c.y+=t[d].y/u*h,n){let f=c.x-o[i].x,g=c.y-o[i].y;const p=Math.sqrt(f*f+g*g);f=f/p*a[d],g=g/p*a[d],c.x=o[i].x+f,c.y=o[i].y+g}}}),o},Mf={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class Rf{constructor(t={}){this.options=t,this.id="radial",this.options=Object.assign(Object.assign({},Mf),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,t,e)})}genericRadialLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{width:s,height:r,center:a,focusNode:l,unitRadius:c,nodeSize:d,nodeSpacing:u,strictRadial:h,preventOverlap:f,maxPreventOverlapIteration:g,sortBy:p,linkDistance:m=50,sortStrength:E=10,maxIteration:x=1e3}=i,O=e.getAllNodes(),j=e.getAllEdges(),X=!s&&typeof window!="undefined"?window.innerWidth:s,U=!r&&typeof window!="undefined"?window.innerHeight:r,V=a||[X/2,U/2];if(!(O!=null&&O.length)||O.length===1)return Ro(e,t,V);let k=O[0];if((0,ve.Z)(l)){for(let $n=0;$nV[0]?V[0]:X-V[0],St=U-V[1]>V[1]?V[1]:U-V[1];Tt===0&&(Tt=X/2),St===0&&(St=U/2);const kt=Math.min(Tt,St),rn=Math.max(...Nt),pt=[],le=c||kt/rn;Nt.forEach(($n,_i)=>{pt[_i]=$n*le});const je=If(O,q,m,pt,le,p,E),Ve=Nf(je),Nn=xf(m,je,m);let Yn=Nn.map(([$n,_i])=>({x:(isNaN($n)?Math.random()*m:$n)-Nn[yt][0],y:(isNaN(_i)?Math.random()*m:_i)-Nn[yt][1]}));this.run(x,Yn,Ve,je,pt,yt);let tn;if(f){tn=Rl(d,u);const $n={nodes:O,nodeSizeFunc:tn,positions:Yn,radii:pt,height:U,width:X,strictRadial:!!h,focusIdx:yt,iterations:g||200,k:Yn.length/4.5};Yn=Of(e,$n)}const Zn=[];return Yn.forEach(($n,_i)=>{const Ue=Fi(O[_i]);Ue.data.x=$n.x+V[0],Ue.data.y=$n.y+V[1],Zn.push(Ue)}),t&&Zn.forEach($n=>e.mergeNodeData($n.id,{x:$n.data.x,y:$n.data.y})),{nodes:Zn,edges:j}})}run(t,e,n,i,s,r){for(let a=0;a<=t;a++){const l=a/t;this.oneIteration(l,e,s,i,n,r)}}oneIteration(t,e,n,i,s,r){const a=1-t;e.forEach((l,c)=>{const d=_l(l,{x:0,y:0}),u=d===0?0:1/d;if(c===r)return;let h=0,f=0,g=0;e.forEach((m,E)=>{if(c===E)return;const x=_l(l,m),O=x===0?0:1/x,j=i[E][c];g+=s[c][E],h+=s[c][E]*(m.x+j*(l.x-m.x)*O),f+=s[c][E]*(m.y+j*(l.y-m.y)*O)});const p=n[c]===0?0:1/n[c];g*=a,g+=t*p*p,h*=a,h+=t*p*l.x*u,l.x=h/g,f*=a,f+=t*p*l.y*u,l.y=f/g})}}const If=(o,t,e,n,i,s,r)=>{if(!o)return[];const a=[];if(t){const l={};t.forEach((c,d)=>{const u=[];c.forEach((h,f)=>{var g,p;if(d===f)u.push(0);else if(n[d]===n[f])if(s==="data")u.push(h*(Math.abs(d-f)*r)/(n[d]/i));else if(s){let m,E;if(l[o[d].id])m=l[o[d].id];else{const x=(s==="id"?o[d].id:(g=o[d].data)===null||g===void 0?void 0:g[s])||0;(0,ve.Z)(x)?m=x.charCodeAt(0):m=x,l[o[d].id]=m}if(l[o[f].id])E=l[o[f].id];else{const x=(s==="id"?o[f].id:(p=o[f].data)===null||p===void 0?void 0:p[s])||0;(0,ve.Z)(x)?E=x.charCodeAt(0):E=x,l[o[f].id]=E}u.push(h*(Math.abs(m-E)*r)/(n[d]/i))}else u.push(h*e/(n[d]/i));else{const m=(e+i)/2;u.push(h*m)}}),a.push(u)})}return a},Nf=o=>{const t=o.length,e=o[0].length,n=[];for(let i=0;i{let e=-1;return o.forEach((n,i)=>{n.id===t&&(e=i)}),Math.max(e,0)},Pf=(o,t,e)=>{const n=o.length;for(let i=0;i{let e=0;for(let n=0;ne?o[t][n]:e);return e},Lf={center:[0,0],width:300,height:300};class _f{constructor(t={}){this.options=t,this.id="random",this.options=Object.assign(Object.assign({},Lf),t)}execute(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,t,e)})}assign(t,e){return(0,Se.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,t,e)})}genericRandomLayout(t,e,n){return(0,Se.mG)(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},this.options),n),{center:s,width:r,height:a}=i,l=e.getAllNodes(),c=.9,d=!r&&typeof window!="undefined"?window.innerWidth:r,u=!a&&typeof window!="undefined"?window.innerHeight:a,h=s||[d/2,u/2],f=[];return l&&l.forEach(p=>{f.push({id:p.id,data:{x:(Math.random()-.5)*c*d+h[0],y:(Math.random()-.5)*c*u+h[1]}})}),t&&f.forEach(p=>e.mergeNodeData(p.id,{x:p.data.x,y:p.data.y})),{nodes:f,edges:e.getAllEdges()}})}}const jf=["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)"],zf=["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)"],Bf=["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)"],Zf=["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)"],$f=["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 kl=y(92387);const Wo=o=>o?parseInt(o):0;function Ff(o){const t=getComputedStyle(o),e=o.clientWidth||Wo(t.width),n=o.clientHeight||Wo(t.height),i=Wo(t.paddingLeft)+Wo(t.paddingRight),s=Wo(t.paddingTop)+Wo(t.paddingBottom);return[e-i,n-s]}function Wl(o){let t=640,e=480;const[n,i]=Ff(o);t=n||t,e=i||e;const s=1,r=1;return[Math.max((0,ge.Z)(t)?t:s,s),Math.max((0,ge.Z)(e)?e:r,r)]}function ss(o,t=!0,e){const n=document.createElement("div");return n.setAttribute("class",`g6-${o}`),Object.assign(n.style,{position:"absolute",display:"block"}),t&&Object.assign(n.style,{inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),e&&Object.assign(n.style,e),n}function na(o,t="div",e={},n="",i=document.body){const s=document.getElementById(o);s&&s.remove();const r=document.createElement(t);return r.innerHTML=n,r.id=o,Object.assign(r.style,e),i.appendChild(r),r}function kf(o,t){const e=o.firstChild;e?o.insertBefore(t,e):o.appendChild(t)}class mi extends Le{}var Wf=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Gs extends mi{constructor(t,e){super(t,Object.assign({},Gs.defaultOptions,e)),this.$element=ss("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return Wf(this,void 0,void 0,function*(){e.update.call(this,t),Object.assign(this.$element.style,(0,kl.Z)(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}Gs.defaultOptions={transition:"background 0.5s",backgroundSize:"cover"};var Ho=y(80574),Hf=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const{style:n,bubbleSetOptions:i}=this.parseOptions();(0,xt.Z)(this.bubbleSetOptions,i)||this.init(),this.bubbleSetOptions=Object.assign({},i);const s=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(s):(this.shape=new Jo({style:s}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const i=z(n.data);[...this.options.members,...this.options.avoidMembers].includes(i)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(i)}))},this.getPath=n=>{const{graph:i}=this.context,s=this.options.members,r=[...this.members.keys()],a=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&(0,xt.Z)(s,r)&&(0,xt.Z)(a,l))return this.path;const{enter:c=[],exit:d=[]}=Te(r,s,m=>m),{enter:u=[],exit:h=[]}=Te(l,a,m=>m);n&&(d.push(n),c.push(n));const f=(m,E,x)=>{m.forEach(O=>{const j=x?this.members:this.avoidMembers,X=x?"pushMember":"pushNonMember",U=x?"removeMember":"removeNonMember";if(E){let V;i.getElementType(O)==="edge"?([V]=Uf(i,O),this.bubbleSets.pushEdge(V)):([V]=Vf(i,O),this.bubbleSets[X](V)),j.set(O,V)}else{const V=j.get(O);V&&(i.getElementType(O)==="edge"?this.bubbleSets.removeEdge(V):this.bubbleSets[U](V),j.delete(O))}})};f(d,!1,!0),f(c,!0,!0),f(h,!1,!1),f(u,!0,!1);const p=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=ha(p.points.map(En)),this.path},this.bindEvents(),this.bubbleSets=new Ho.CF(this.options)}bindEvents(){this.context.graph.on(W.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(W.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new Ho.CF(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const t=this.options,{type:e,key:n,members:i,avoidMembers:s}=t,r=Hf(t,["type","key","members","avoidMembers"]),a=Object.keys(r).reduce((l,c)=>(c in Ho.vC?l.bubbleSetOptions[c]=r[c]:l.style[c]=r[c],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:e,key:n,members:i,avoidMembers:s},a)}addMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n))),this.options.members=[...new Set([...this.options.members,...e])],this.drawBubbleSets()}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),this.drawBubbleSets()}updateMember(t){this.options.members=(0,Ht.Z)(t)?t(this.options.members):t,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(t){const e=Array.isArray(t)?t:[t];e.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!e.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...e])],this.drawBubbleSets()}removeAvoidMember(t){const e=Array.isArray(t)?t:[t];this.options.avoidMembers.some(n=>e.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!e.includes(n)),this.drawBubbleSets())}updateAvoidMember(t){this.options.avoidMembers=Array.isArray(t)?t:[t],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(W.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(W.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}Xs.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},Ho.vC);const Vf=(o,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=o.getElementRenderBounds(n);return new Ho.Ae(i.min[0],i.min[1],fn(i),dn(i))}),Uf=(o,t)=>(Array.isArray(t)?t:[t]).map(n=>{const i=o.getEdgeData(n),s=o.getElementPosition(i.source),r=o.getElementPosition(i.target);return Ho.x1.from({x1:s[0],y1:s[1],x2:r[0],y2:r[1]})});class W0 extends null{constructor(t,e){super(t,e),this.setOptions=n=>{const i={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},s=(r,a)=>{switch(r){case"projectionMode":return a==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[a];case"aspect":return typeof a=="number"?a:this.getCanvasAspect();default:return a}};Object.entries(i).forEach(([r,a])=>{const l=n[r];if(l!==void 0){const c=s(r,l);this.context.canvas.getCamera()[a](c)}})},this.bindEvents()}update(t){this.setOptions(t),super.update(t)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[t,e]=this.context.viewport.getCanvasSize();return t/e}}function Kf(o){return` -
      - ${o.map(t=>`
    • ${t.name}
    • `).join("")} -
    - `}const Yf=` - .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 Hl=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class Qs extends mi{constructor(t,e){super(t,Object.assign({},Qs.defaultOptions,e)),this.targetElement=null,this.onTriggerEvent=n=>{var i;(i=n.preventDefault)===null||i===void 0||i.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:i,trigger:s}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const r=n.target.getAttribute("value");i==null||i(r,n.target,this.targetElement),this.hide()}s!=="click"&&this.hide()},this.initElement(),this.update(e)}initElement(){this.$element=ss("contextmenu",!1,{zIndex:"99"});const{className:t}=this.options;t&&this.$element.classList.add(t),this.context.canvas.getContainer().appendChild(this.$element),na("g6-contextmenu-css","style",{},Yf,document.head)}show(t){return Hl(this,void 0,void 0,function*(){const{enable:e,offset:n}=this.options;if(typeof e=="function"&&!e(t)||!e){this.hide();return}const i=yield this.getDOMContent(t);i instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(i)):this.$element.innerHTML=i;const s=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${t.client.x-s.left+n[0]}px`,this.$element.style.top=`${t.client.y-s.top+n[1]}px`,this.$element.style.display="block",this.targetElement=t.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(t){return Hl(this,void 0,void 0,function*(){const{getContent:e,getItems:n}=this.options;return n?Kf(yield n(t)):yield e(t)})}bindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.on(`canvas:${e}`,this.onTriggerEvent),t.on(`node:${e}`,this.onTriggerEvent),t.on(`edge:${e}`,this.onTriggerEvent),t.on(`combo:${e}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:t}=this.context,{trigger:e}=this.options;t.off(`canvas:${e}`,this.onTriggerEvent),t.off(`node:${e}`,this.onTriggerEvent),t.off(`edge:${e}`,this.onTriggerEvent),t.off(`combo:${e}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}Qs.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'
    Loading...
    ',getContent:()=>"It is a empty context menu.",enable:()=>!0};class Js extends mi{constructor(t,e){super(t,Object.assign({},Js.defaultOptions,e)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:i}=this.context,s=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:r,iterRate:a,divRate:l}=this.options;let{lambda:c,divisions:d,iterations:u}=this.options;for(let h=0;h{var m;if(p.source===p.target)return;const E=z(p);g[E]=this.getEdgeForces(p,d,c);for(let x=0;x{const f=z(h),g=i.getElement(f);g==null||g.update({d:Tr(this.edgePoints[f])})})},this.bindEvents()}get nodeMap(){const t=this.context.model.getNodeData();return Object.fromEntries(t.map(e=>[z(e),Rn($e(e))]))}divideEdges(t){this.context.model.getEdgeData().forEach(n=>{var i;const s=z(n);(i=this.edgePoints)[s]||(i[s]=[]);const r=this.nodeMap[n.source],a=this.nodeMap[n.target];if(t===1)this.edgePoints[s].push(r),this.edgePoints[s].push(Ln(ae(r,a),2)),this.edgePoints[s].push(a);else{const c=(this.edgePoints[s].length===0?re(r,a):qf(this.edgePoints[s]))/(t+1);let d=c;const u=[r];for(let h=1;hd;){const m=d/p,E=ae(f,nn(Qe(g,f),m));u.push(E),p-=d,d=c}d-=p}u.push(a),this.edgePoints[s]=u}})}getVectorPosition(t){const e=this.nodeMap[t.source],n=this.nodeMap[t.target],[i,s]=Qe(n,e),r=re(e,n);return{source:e,target:n,vx:i,vy:s,length:r}}measureEdgeCompatibility(t,e){const n=this.getVectorPosition(t),i=this.getVectorPosition(e),s=Gf(n,i),r=Xf(n,i),a=Qf(n,i),l=Jf(n,i);return s*r*a*l}getEdgeBundles(){const t={},e=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((i,s)=>{n.forEach((r,a)=>{var l,c;if(a<=s)return;this.measureEdgeCompatibility(i,r)>=e&&(t[l=z(i)]||(t[l]=[]),t[z(i)].push(r),t[c=z(r)]||(t[c]=[]),t[z(r)].push(i))})}),t}getSpringForce(t,e){const{pre:n,cur:i,next:s}=t;return nn(Qe(ae(n,s),nn(i,2)),e)}getElectrostaticForce(t,e){(0,Gi.Z)(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[z(e)];let i=[0,0];return n==null||n.forEach(s=>{const r=this.edgePoints[z(s)][t],a=this.edgePoints[z(e)][t],l=Qe(r,a),c=re(r,a);i=ae(i,nn(l,1/c))}),i}getEdgeForces(t,e,n){const i=this.nodeMap[t.source],s=this.nodeMap[t.target],r=this.options.K/(re(i,s)*(e+1)),a=[[0,0]],l=z(t);for(let c=1;cMath.abs(ji([o.vx,o.vy],[t.vx,t.vy])/(o.length*t.length)),Xf=(o,t)=>{const e=(o.length+t.length)/2;return 2/(e/Math.min(o.length,t.length)+Math.max(o.length,t.length)/e)},Qf=(o,t)=>{const e=(o.length+t.length)/2,n=Ln(ae(o.source,o.target),2),i=Ln(ae(t.source,t.target),2);return e/(e+re(n,i))},Vl=(o,t)=>{if(t.source[0]===t.target[0])return[t.source[0],o[1]];if(t.source[1]===t.target[1])return[o[0],t.source[1]];const e=(t.source[1]-t.target[1])/(t.source[0]-t.target[0]),n=(e*e*t.source[0]+e*(o[1]-t.source[1])+o[0])/(e*e+1),i=e*(n-t.source[0])+t.source[1];return[n,i]},Ul=(o,t)=>{const e=Vl(t.source,o),n=Vl(t.target,o),i=Ln(ae(e,n),2),s=Ln(ae(o.source,o.target),2);return re(e,n)===0?0:Math.max(0,1-2*re(s,i)/re(e,n))},Jf=(o,t)=>Math.min(Ul(o,t),Ul(t,o)),qf=o=>{let t=0;for(let e=1;e{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=En(n.canvas);this.renderLens(i),this.renderFocusElements()},this.renderLens=n=>{const i=Object.assign({},tg,this.options.style);this.isLensOn||(this.lens=new Oo({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,qn(n),{size:this.r*2}),this.lens.update(i)},this.getFilterData=()=>{const{filter:n}=this.options,{model:i}=this.context,s=i.getData();if(!n)return s;const{nodes:r,edges:a,combos:l}=s;return{nodes:r.filter(c=>n(z(c),"node")),edges:a.filter(c=>n(z(c),"edge")),combos:l.filter(c=>n(z(c),"combo"))}},this.getFocusElements=n=>{const{nodes:i,edges:s}=this.getFilterData(),r=i.filter(c=>re($e(c),n)z(c)),l=s.filter(c=>{const{source:d,target:u}=c,h=a.includes(d),f=a.includes(u);switch(this.options.nodeType){case"both":return h&&f;case"either":return h!==f;case"source":return h&&!f;case"target":return!h&&f;default:return!1}});return{nodes:r,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:i}=this.context;if(!this.isLensOn)return;const s=this.lens.getCenter(),{nodes:r,edges:a}=this.getFocusElements(s),l=new Set,c=d=>{const u=z(d);l.add(u);const h=n.getElement(u);if(!h)return;const f=this.shapes.get(u)||h.cloneNode();f.setPosition(h.getPosition()),f.id=h.id,this.shapes.has(u)?Object.entries(h.attributes).forEach(([m,E])=>{f.style[m]!==E&&(f.style[m]=E)}):(this.canvas.appendChild(f),this.shapes.set(u,f));const g=i.getElementType(u),p=this.getElementStyle(g,d);f.update(p)};r.forEach(c),a.forEach(c),this.shapes.forEach((d,u)=>{l.has(u)||(d.destroy(),this.shapes.delete(u))})},this.scaleRByWheel=n=>{var i;this.options.preventDefault&&n.preventDefault();const{clientX:s,clientY:r,deltaX:a,deltaY:l}=n,{graph:c,canvas:d}=this.context,u=c.getCanvasByClient([s,r]),h=(i=this.lens)===null||i===void 0?void 0:i.getCenter();if(!this.isLensOn||re(u,h)>this.r)return;const{maxR:f,minR:g}=this.options,p=a+l>0?1/(1-Kl):1-Kl,m=Math.min(...d.getSize())/2;this.r=Math.max(g||0,Math.min(f||m,this.r*p)),this.renderLens(h),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var i;const s=En(n.canvas),r=(i=this.lens)===null||i===void 0?void 0:i.getCenter();!this.isLensOn||re(s,r)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=En(n.canvas);this.renderLens(i),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(t,e){const n=t==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(e):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,s=e.getCanvas().getLayer();["click","drag"].includes(n)&&s.addEventListener(B.CLICK,this.onEdgeFilter),n==="pointermove"?s.addEventListener(B.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(s.addEventListener(B.DRAG_START,this.onDragStart),s.addEventListener(B.DRAG,this.onDrag),s.addEventListener(B.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.addEventListener(B.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i}=this.options,s=e.getCanvas().getLayer();["click","drag"].includes(n)&&s.removeEventListener(B.CLICK,this.onEdgeFilter),n==="pointermove"?s.removeEventListener(B.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(s.removeEventListener(B.DRAG_START,this.onDragStart),s.removeEventListener(B.DRAG,this.onDrag),s.removeEventListener(B.DRAG_END,this.onDragEnd)),i==="wheel"&&((t=this.graphDom)===null||t===void 0||t.removeEventListener(B.WHEEL,this.scaleRByWheel))}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((t,e)=>{t.destroy(),this.shapes.delete(e)}),super.destroy()}}qs.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const eg={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},Yl=.05,Gl=.1;class tr extends mi{constructor(t,e){super(t,Object.assign({},tr.defaultOptions,e)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const i=En(n.canvas);this.onMagnify(i)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const i=Object.assign({},eg,this.options.style);this.isLensOn||(this.lens=new Oo({style:i}),this.canvas.appendChild(this.lens)),Object.assign(i,qn(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(i)},this.getDPercent=()=>{const{minD:n,maxD:i}=this.options;return`${Math.round((this.d-n)/(i-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,i=this.lens.getCenter(),s=(this.d+1)*this.r,r=new Map,a=new Map;n.getNodeData().forEach(c=>{const d=$e(c),u=re(d,i);if(u>this.r)return;const h=s*u/(this.d*u+this.r),[f,g]=d,[p,m]=i,E=(f-p)/u,x=(g-m)/u,O=[p+h*E,m+h*x],j=z(c),X=this.getNodeStyle(c),U=(0,Co.Z)(n.getElementRenderStyle(j),Object.keys(X));r.set(j,Object.assign(Object.assign({},qn(O)),X)),a.set(j,Object.assign(Object.assign({},qn(d)),U))}),this.updateStyle(r,a)},this.getNodeStyle=n=>{const{nodeStyle:i}=this.options;return typeof i=="function"?i(n):i},this.updateStyle=(n,i)=>{const{graph:s,element:r}=this.context,{enter:a,exit:l,keep:c}=Te(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),h=>h),d=new Set,u=(h,f)=>{const g=r.getElement(h);g==null||g.update(f),s.getRelatedEdgesData(h).forEach(p=>{d.add(z(p))})};[...a,...c].forEach(h=>{u(h,n.get(h))}),l.forEach(h=>{u(h,this.prevOriginStyleMap.get(h)),this.prevOriginStyleMap.delete(h)}),d.forEach(h=>{const f=r.getElement(h);f==null||f.update({})}),this.prevMagnifiedStyleMap=n,i.forEach((h,f)=>{this.prevOriginStyleMap.has(f)||this.prevOriginStyleMap.set(f,h)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:i,clientY:s}=n,r=this.context.graph.getCanvasByClient([i,s]),a=this.lens.getCenter();return!(re(r,a)>this.r)},this.scaleR=n=>{const{maxR:i,minR:s}=this.options,r=n?1/(1-Yl):1-Yl,a=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(s||0,Math.min(i||a,this.r*r))},this.scaleD=n=>{const{maxD:i,minD:s}=this.options,r=n?this.d+Gl:this.d-Gl;this.d=Math.max(s,Math.min(i,r))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:s}=n;this.scaleR(i+s>0);const r=this.lens.getCenter();this.onMagnify(r)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:i,deltaY:s}=n;this.scaleD(i+s>0);const r=this.lens.getCenter();this.onMagnify(r)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const i=En(n.canvas),s=this.lens.getCenter();return!(re(i,s)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const i=En(n.canvas);this.onMagnify(i)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:s}=n;this.scaleR(i-s>0);const r=this.lens.getCenter();this.onMagnify(r)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:i,dy:s}=n;this.scaleD(i-s>0);const r=this.lens.getCenter();this.onMagnify(r)},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 t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:s}=this.options,r=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&r.addEventListener(B.CLICK,this.onCreateFisheye),n==="pointermove"&&r.addEventListener(B.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||s==="drag"){r.addEventListener(B.DRAG_START,this.onDragStart),r.addEventListener(B.DRAG_END,this.onDragEnd);const a=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;r.addEventListener(B.DRAG,a)}if(i==="wheel"||s==="wheel"){const a=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.addEventListener(B.WHEEL,a,{passive:!1})}}unbindEvents(){var t;const{graph:e}=this.context,{trigger:n,scaleRBy:i,scaleDBy:s}=this.options,r=e.getCanvas().getLayer();if(["click","drag"].includes(n)&&r.removeEventListener(B.CLICK,this.onCreateFisheye),n==="pointermove"&&r.removeEventListener(B.POINTER_MOVE,this.onCreateFisheye),n==="drag"||i==="drag"||s==="drag"){r.removeEventListener(B.DRAG_START,this.onDragStart),r.removeEventListener(B.DRAG_END,this.onDragEnd);const a=n==="drag"?this.onDrag:i==="drag"?this.scaleRByDrag:this.scaleDByDrag;r.removeEventListener(B.DRAG,a)}if(i==="wheel"||s==="wheel"){const a=i==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(t=this.graphDom)===null||t===void 0||t.removeEventListener(B.WHEEL,a)}}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){var t;this.unbindEvents(),this.isLensOn&&((t=this.lens)===null||t===void 0||t.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}tr.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class er extends mi{constructor(t,e){super(t,Object.assign({},er.defaultOptions,e)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,i,s,r;const a=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(a),a?(i=(n=this.options).onEnter)===null||i===void 0||i.call(n):(r=(s=this.options).onExit)===null||r===void 0||r.call(s)},this.shortcut=new xn(t.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:t=[],exit:e=[]}=this.options.trigger;this.shortcut.bind(t,this.request),this.shortcut.bind(e,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(i=>{document.addEventListener(i,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(e=>{document.removeEventListener(e,this.onFullscreenChange,!1)})}setGraphSize(t=!0){let e,n;t?(e=window.screen.width,n=window.screen.height,this.graphSize=this.context.graph.getSize()):[e,n]=this.graphSize,this.context.graph.setSize(e,n),this.context.graph.render()}request(){document.fullscreenElement||!ng()||this.$el.requestFullscreen().catch(t=>{Wt.warn(`Error attempting to enable full-screen: ${t.message} (${t.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(t){this.unbindEvents(),super.update(t),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}er.defaultOptions={trigger:{},autoFit:!0};function ng(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class nr extends mi{constructor(t,e){super(t,Object.assign({},nr.defaultOptions,e)),this.$element=ss("grid-line"),this.offset=[0,0],this.onTransform=i=>{if(!this.options.follow)return;const{data:{translate:s}}=i;s&&this.updateOffset(s)};const n=this.context.canvas.getContainer();kf(n,this.$element),this.updateStyle(),this.bindEvents()}update(t){super.update(t),this.updateStyle()}bindEvents(){const{graph:t}=this.context;t.on(W.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:t,stroke:e,lineWidth:n,border:i,borderLineWidth:s,borderStroke:r,borderStyle:a}=this.options;Object.assign(this.$element.style,{border:i?`${s}px ${a} ${r}`:"none",backgroundImage:`linear-gradient(${e} ${n}px, transparent ${n}px), linear-gradient(90deg, ${e} ${n}px, transparent ${n}px)`,backgroundSize:`${t}px ${t}px`})}updateOffset(t){this.offset=Jn(ae(this.offset,t),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(W.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}nr.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};var ia=y(49336);function oa(o){const t={Added:new Map,Updated:new Map,Removed:new Map};return o.forEach(e=>{const{type:n,value:i}=e,s=z(i);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")t.Added.set(s,e);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(t.Added.has(s))t.Added.set(s,{type:n.replace("Updated","Added"),value:i});else if(t.Updated.has(s)){const{original:r}=t.Updated.get(s);t.Updated.set(s,{type:n,value:i,original:r})}else t.Removed.has(s)||t.Updated.set(s,e);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(t.Added.has(s)?t.Added.delete(s):(t.Updated.has(s)&&t.Updated.delete(s),t.Removed.set(s,e)))}),[...Array.from(t.Added.values()),...Array.from(t.Updated.values()),...Array.from(t.Removed.values())]}function Xl(o){const{NodeAdded:t=[],NodeUpdated:e=[],NodeRemoved:n=[],EdgeAdded:i=[],EdgeUpdated:s=[],EdgeRemoved:r=[],ComboAdded:a=[],ComboUpdated:l=[],ComboRemoved:c=[]}=(0,Pn.Z)(o,d=>d.type);return{add:{nodes:t,edges:i,combos:a},update:{nodes:e,edges:s,combos:l},remove:{nodes:n,edges:r,combos:c}}}function Ql(o,t){for(const e in o)(0,dt.Z)(o[e])&&!Array.isArray(o[e])&&o[e]!==null?(t[e]||(t[e]={}),Ql(o[e],t[e])):t[e]===void 0&&(t[e]=He(e))}function ig(o,t=!1,e){const n={animation:t,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:i,update:s,remove:r}=Xl(oa(o));return["nodes","edges","combos"].forEach(a=>{s[a]&&s[a].forEach(l=>{var c,d;const u=Object.assign({},l.value);let h=Object.assign({},l.original);if(e){const f=e.graph.getElementType(z(l.original)),g=f==="edge"?"stroke":"fill",p=e.element.getElementComputedStyle(f,l.original);h=Object.assign(Object.assign({},l.original),{style:Object.assign({[g]:p[g]},l.original.style)})}Ql(u,h),(c=n.current.update)[a]||(c[a]=[]),n.current.update[a].push(u),(d=n.original.update)[a]||(d[a]=[]),n.original.update[a].push(h)}),i[a]&&i[a].forEach(l=>{var c,d;const u=Object.assign({},l.value);(c=n.current.add)[a]||(c[a]=[]),n.current.add[a].push(u),(d=n.original.remove)[a]||(d[a]=[]),n.original.remove[a].push(u)}),r[a]&&r[a].forEach(l=>{var c,d;const u=Object.assign({},l.value);(c=n.current.remove)[a]||(c[a]=[]),n.current.remove[a].push(u),(d=n.original.add)[a]||(d[a]=[]),n.original.add[a].push(u)})}),n}class ir extends mi{constructor(t,e){super(t,Object.assign({},ir.defaultOptions,e)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(i,s=!0)=>{var r,a,l;this.freezed=!0,(a=(r=this.options).executeCommand)===null||a===void 0||a.call(r,i);const c=s?i.original:i.current;this.context.graph.addData(c.add),this.context.graph.updateData(c.update),this.context.graph.removeData(Be(c.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:i.animation}),this.freezed=!1},this.addCommand=i=>{var s;if(!this.freezed){if(i.type===W.AFTER_DRAW){const{dataChanges:r=[],animation:a=!0}=i.data;if(!((s=this.context.batch)===null||s===void 0)&&s.isBatching){if(!this.batchChanges)return;this.batchChanges.push(r),this.batchAnimation&&(this.batchAnimation=a);return}this.batchChanges=[r],this.batchAnimation=a}this.undoStackPush(ig(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(mt.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=i=>{const{initiate:s}=i.data;this.batchAnimation=!1,s?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new ia.Z;const{graph:n}=this.context;n.on(W.AFTER_DRAW,this.addCommand),n.on(W.BATCH_START,this.initBatchCommand),n.on(W.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var t,e,n,i;const s=this.undoStack.pop();if(s){if(this.executeCommand(s),((e=(t=this.options).beforeAddCommand)===null||e===void 0?void 0:e.call(t,s,!1))===!1)return;this.redoStack.push(s),(i=(n=this.options).afterAddCommand)===null||i===void 0||i.call(n,s,!1),this.notify(mt.UNDO,s)}return this}redo(){const t=this.redoStack.pop();return t&&(this.executeCommand(t,!1),this.undoStackPush(t),this.notify(mt.REDO,t)),this}undoAndCancel(){const t=this.undoStack.pop();return t&&(this.executeCommand(t,!1),this.redoStack=[],this.notify(mt.CANCEL,t)),this}undoStackPush(t){var e,n,i,s;const{stackSize:r}=this.options;r!==0&&this.undoStack.length>=r&&this.undoStack.shift(),((n=(e=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(e,t,!0))!==!1&&(this.undoStack.push(t),(s=(i=this.options).afterAddCommand)===null||s===void 0||s.call(i,t,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(mt.CLEAR,null)}notify(t,e){this.emitter.emit(t,{cmd:e}),this.emitter.emit(mt.CHANGE,{cmd:e})}on(t,e){this.emitter.on(t,e)}destroy(){const{graph:t}=this.context;t.off(W.AFTER_DRAW,this.addCommand),t.off(W.BATCH_START,this.initBatchCommand),t.off(W.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}ir.defaultOptions={stackSize:0};var og=y(76117),sg=y.n(og);function rg(o,t,e){if(o.length===1)return ag(o[0],t,e);if(o.length===2)return lg(o,t,e);switch(e){case"smooth":return dg(o,t);case"sharp":return ug(o,t);case"rounded":default:return cg(o,t)}}const ag=(o,t,e)=>{if(e==="sharp")return[["M",o[0]-t,o[1]-t],["L",o[0]+t,o[1]-t],["L",o[0]+t,o[1]+t],["L",o[0]-t,o[1]+t],["Z"]];const n=[t,t,0,0,0];return[["M",o[0],o[1]-t],["A",...n,o[0],o[1]+t],["A",...n,o[0],o[1]-t]]},lg=(o,t,e)=>{const n=[t,t,0,0,0],i=e==="sharp"?ae(o[0],fe(Je(Qe(o[0],o[1])),t)):o[0],s=e==="sharp"?ae(o[1],fe(Je(Qe(o[1],o[0])),t)):o[1],r=fe(Je(wn(Qe(i,s),!1)),t),a=fe(r,-1),l=ae(i,r),c=ae(s,r),d=ae(s,a),u=ae(i,a);return e==="sharp"?[["M",l[0],l[1]],["L",c[0],c[1]],["L",d[0],d[1]],["L",u[0],u[1]],["Z"]]:[["M",l[0],l[1]],["L",c[0],c[1]],["A",...n,d[0],d[1]],["L",u[0],u[1]],["A",...n,l[0],l[1]]]},cg=(o,t)=>{const e=de(o).map((a,l)=>{const c=(l-2+o.length)%o.length,d=(l-1+o.length)%o.length,u=(l+1)%o.length,h=o[c],f=o[d],g=o[u],p=Qe(h,f),m=Qe(f,a),E=Qe(a,g),x=(V,k)=>bn(V,k,!0)fe(Je(wn(V,!1)),t),U=X(m);return[{p:Rn(O?ae(f,X(p)):ae(f,U)),concave:O&&f},{p:Rn(j?ae(a,X(E)):ae(a,U)),concave:j&&a}]}),n=[t,t,0,0,0],i=e.findIndex((a,l)=>!e[(l-1+e.length)%e.length][0].concave&&!e[(l-1+e.length)%e.length][1].concave&&!a[0].concave&&!a[0].concave&&!a[1].concave),s=e.slice(i).concat(e.slice(0,i));let r=[];return s.flatMap((a,l)=>{const c=[],d=s[e.length-1];return l===0&&c.push(["M",...d[1].p]),a[0].concave?r.push(a[0].p,a[1].p):c.push(["A",...n,...a[0].p]),a[1].concave?r.unshift(a[1].p):c.push(["L",...a[1].p]),r.length===3&&(c.pop(),c.push(["C",...r.flat()]),r=[]),c})},dg=(o,t)=>{const e=de(o).map((n,i)=>{const s=o[(i+1)%o.length];return{p:n,v:Je(Qe(s,n))}});return e.forEach((n,i)=>{const s=i>0?i-1:o.length-1,r=e[s].v,a=Je(ae(r,fe(n.v,bn(r,n.v,!0)n.p))},ug=(o,t)=>{const n=o.map((s,r)=>{const a=o[r===0?o.length-1:r-1],l=Hn(fe(Je(wn(Qe(a,s),!1)),t));return[ae(a,l),ae(s,l)]}).flat();return n.map((s,r)=>{if(r%2===0)return null;const a=[n[(r-1)%n.length],n[r%n.length]],l=[n[(r+1)%n.length],n[(r+2)%n.length]];return Ee(a,l,!0)}).filter(Boolean).map((s,r)=>[r===0?"M":"L",s[0],s[1]]).concat([["Z"]])};var hg=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{if(!this.shape)this.shape=new Jo({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!(0,xt.Z)(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(z(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:i}=this.context,s=this.getMember();if(s.length===0)return"";const r=s.map(c=>i.getNodeData(c)),a=sg()(r.map($e),this.options.concavity).slice(1).reverse(),l=a.flatMap(c=>r.filter(d=>(0,xt.Z)($e(d),c)).map(z));return(0,xt.Z)(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=rg(a,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(W.AFTER_RENDER,this.drawHull),this.context.graph.on(W.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(t){const e=this.options,{members:n,padding:i,corner:s}=e,r=hg(e,["members","padding","corner"]);return Object.assign(Object.assign({},r),{d:this.getHullPath(t)})}getPadding(){const{graph:t}=this.context;return this.hullMemberIds.reduce((n,i)=>{const{halfExtents:s}=t.getElementRenderBounds(i),r=Math.max(s[0],s[1]);return Math.max(n,r)},0)+this.options.padding}addMember(t){const e=Array.isArray(t)?t:[t];this.options.members=[...new Set([...this.options.members,...e])],this.shape.update({d:this.getHullPath()})}removeMember(t){const e=Array.isArray(t)?t:[t];this.options.members=this.options.members.filter(n=>!e.includes(n)),e.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(t){this.options.members=(0,Ht.Z)(t)?t(this.options.members):t,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(W.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}or.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};var Io=y(17911);function Jl(o){for(var t=1/0,e=1/0,n=-1/0,i=-1/0,s=0;sn&&(n=h),f>i&&(i=f)}return new Io.b(t,e,n-t,i-e)}var fg=function(o,t,e){var n=o.width,i=o.height,s=e.flexDirection,r=s===void 0?"row":s,a=e.flexWrap,l=a===void 0?"nowrap":a,c=e.justifyContent,d=c===void 0?"flex-start":c,u=e.alignContent,h=u===void 0?"flex-start":u,f=e.alignItems,g=f===void 0?"flex-start":f,p=r==="row",m=r==="row"||r==="column",E=p?m?[1,0]:[-1,0]:m?[0,1]:[0,-1],x=(0,Se.CR)([0,0],2),O=x[0],j=x[1],X=t.map(function(Nt){var Tt,St=Nt.width,kt=Nt.height,rn=(0,Se.CR)([O,j],2),pt=rn[0],le=rn[1];return Tt=(0,Se.CR)([O+St*E[0],j+kt*E[1]],2),O=Tt[0],j=Tt[1],new Io.b(pt,le,St,kt)}),U=Jl(X),V={"flex-start":0,"flex-end":p?n-U.width:i-U.height,center:p?(n-U.width)/2:(i-U.height)/2},k=X.map(function(Nt){var Tt=Nt.x,St=Nt.y,kt=Io.b.fromRect(Nt);return kt.x=p?Tt+V[d]:Tt,kt.y=p?St:St+V[d],kt}),yt=Jl(k),zt=function(Nt){var Tt=(0,Se.CR)(p?["height",i]:["width",n],2),St=Tt[0],kt=Tt[1];switch(g){case"flex-start":return 0;case"flex-end":return kt-Nt[St];case"center":return kt/2-Nt[St]/2;default:return 0}},q=k.map(function(Nt){var Tt=Nt.x,St=Nt.y,kt=Io.b.fromRect(Nt);return kt.x=p?Tt:Tt+zt(kt),kt.y=p?St+zt(kt):St,kt}),Lt=q.map(function(Nt){var Tt,St,kt=Io.b.fromRect(Nt);return kt.x+=(Tt=o.x)!==null&&Tt!==void 0?Tt:0,kt.y+=(St=o.y)!==null&&St!==void 0?St:0,kt});return Lt},gg=function(o,t,e){return[]},pg=function(o,t,e){if(t.length===0)return[];var n={flex:fg,grid:gg},i=e.display in n?n[e.display]:null;return(i==null?void 0:i.call(null,o,t,e))||[]},sr=y(98294),mg=function(o){(0,Se.ZT)(t,o);function t(e){var n=o.call(this,e)||this;n.layoutEvents=[nt.Dk.BOUNDS_CHANGED,nt.Dk.INSERTED,nt.Dk.REMOVED],n.$margin=(0,sr.j)(0),n.$padding=(0,sr.j)(0);var i=e.style||{},s=i.margin,r=s===void 0?0:s,a=i.padding,l=a===void 0?0:a;return n.margin=r,n.padding=l,n.isMutationObserved=!0,n.bindEvents(),n}return Object.defineProperty(t.prototype,"margin",{get:function(){return this.$margin},set:function(e){this.$margin=(0,sr.j)(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"padding",{get:function(){return this.$padding},set:function(e){this.$padding=(0,sr.j)(e)},enumerable:!1,configurable:!0}),t.prototype.getBBox=function(){var e=this.attributes,n=e.x,i=n===void 0?0:n,s=e.y,r=s===void 0?0:s,a=e.width,l=e.height,c=(0,Se.CR)(this.$margin,4),d=c[0],u=c[1],h=c[2],f=c[3];return new Io.b(i-f,r-d,a+f+u,l+d+h)},t.prototype.appendChild=function(e,n){return e.isMutationObserved=!0,o.prototype.appendChild.call(this,e,n),e},t.prototype.getAvailableSpace=function(){var e=this.attributes,n=e.width,i=e.height,s=(0,Se.CR)(this.$padding,4),r=s[0],a=s[1],l=s[2],c=s[3],d=(0,Se.CR)(this.$margin,4),u=d[0],h=d[3];return new Io.b(c+h,r+u,n-c-a,i-r-l)},t.prototype.layout=function(){if(!(!this.attributes.display||!this.isConnected)&&!this.children.some(function(r){return!r.isConnected}))try{var e=this.attributes,n=e.x,i=e.y;this.style.transform="translate(".concat(n,", ").concat(i,")");var s=pg(this.getAvailableSpace(),this.children.map(function(r){return r.getBBox()}),this.attributes);this.children.forEach(function(r,a){var l=s[a],c=l.x,d=l.y;r.style.transform="translate(".concat(c,", ").concat(d,")")})}catch(r){}},t.prototype.bindEvents=function(){var e=this;this.layoutEvents.forEach(function(n){e.addEventListener(n,function(i){i.target&&(i.target.isMutationObserved=!0,e.layout())})})},t.prototype.attributeChangedCallback=function(e,n,i){e==="margin"?this.margin=i:e==="padding"&&(this.padding=i),this.layout()},t}(nt.ZA),vg=y(65244),yg=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const{graph:n}=this.context;n.on(W.AFTER_DRAW,this.createElement)},this.changeState=(n,i)=>{const{graph:s}=this.context,{typePrefix:r}=this,a=(0,ti.Z)(n,[r,"id"]),l=(0,ti.Z)(n,[r,"style","labelText"]),[c]=a.split("__"),d=this.fieldMap[c].get(l)||[];s.setElementState(Object.fromEntries(d==null?void 0:d.map(u=>[u,i])))},this.click=n=>{if(this.options.trigger==="hover")return;const i=(0,ti.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?(this.selectedItems=this.selectedItems.filter(s=>s!==i),this.changeState(n,[])):(this.selectedItems.push(i),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const i=(0,ti.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(i)?this.selectedItems=this.selectedItems.filter(s=>s!==i):(this.selectedItems.push(i),this.changeState(n,"active"))},this.setFieldMap=(n,i,s)=>{if(!n)return;const r=this.fieldMap[s];if(r)if(!r.has(n))r.set(n,[i]);else{const a=r.get(n);a&&(a.push(i),r.set(n,a))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,i)=>{if(!n)return[];const{model:s,element:r,graph:a}=this.context,{nodes:l,edges:c,combos:d}=s.getData(),u={},h=E=>(0,Ht.Z)(n)?n(E):n,f={node:"circle",edge:"line",combo:"rect"},g={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"},p=(E,x)=>r==null?void 0:r.getElementComputedStyle(E,x),m=(E,x)=>{E.forEach(O=>{const{id:j}=O,X=(0,ti.Z)(O,["data",h(O)]),U=(r==null?void 0:r.getElementType(x,O))||"circle",V=p(x,O),k=(x==="edge"?V==null?void 0:V.stroke:V==null?void 0:V.fill)||"#1783ff";j&&X&&X.replace(/\s+/g,"")&&(this.setFieldMap(X,j,x),u[X]||(u[X]={id:`${x}__${j}`,label:X,marker:g[U]||f[x],elementType:x,lineWidth:1,stroke:k,fill:k}))})};switch(i){case"node":m(l,"node");break;case"edge":m(c,"edge");break;case"combo":m(d,"combo");break;default:return[]}return Object.values(u)},this.layout=n=>{const i={flexDirection:"row",alignItems:"flex-end",justifyContent:"center"};let{flexDirection:s,alignItems:r,justifyContent:a}=i;const l={top:["row","flex-start","center"],bottom:["row","flex-end","center"],left:["column","flex-start","center"],right:["column","flex-end","center"]};return n in l&&([s,r,a]=l[n]),{display:"flex",flexDirection:s,justifyContent:a,alignItems:r}},this.createElement=()=>{if(this.draw){this.updateElement();return}const{canvas:n}=this.context,[i,s]=n.getSize(),r=this.options,{width:a=i,height:l=s,nodeField:c,edgeField:d,comboField:u,trigger:h,position:f}=r,g=yg(r,["width","height","nodeField","edgeField","comboField","trigger","position"]),p=this.getMarkerData(c,"node"),m=this.getMarkerData(d,"edge"),E=this.getMarkerData(u,"combo"),x=[...p,...E,...m],O=this.layout(f),j=new mg({style:Object.assign({width:a,height:l},O)}),X=Object.assign({width:a,height:l,data:x,itemMarkerLineWidth:({lineWidth:V})=>V,itemMarker:({marker:V})=>V,itemMarkerStroke:({stroke:V})=>V,itemMarkerFill:({fill:V})=>V,gridCol:p.length},g,this.getEvents()),U=new vg.W({className:"legend",style:X});j.appendChild(U),n.appendChild(j),this.element=j,this.draw=!0},this.bindEvents()}update(t){super.update(t),this.clear(),this.createElement()}clear(){var t;(t=this.element)===null||t===void 0||t.destroy(),this.element=null,this.draw=!1}updateElement(){if(!this.element)return;this.element.getChildByIndex(0).update({itemMarkerOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5,itemLabelOpacity:({id:e})=>!this.selectedItems.length||this.selectedItems.includes(e)?1:.5})}destroy(){this.clear(),this.context.graph.off(W.AFTER_DRAW,this.createElement),super.destroy()}}rr.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16};class ar extends mi{constructor(t,e){super(t,Object.assign({},ar.defaultOptions,e)),this.onDraw=n=>{var i;!((i=n==null?void 0:n.data)===null||i===void 0)&&i.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[i,s]}=this.options,{movementX:r,movementY:a}=n,{left:l,top:c,width:d,height:u}=this.mask.style,[,,h,f]=this.maskBBox;let g=parseInt(l)+r,p=parseInt(c)+a,m=parseInt(d),E=parseInt(u);g<0&&(g=0),p<0&&(p=0),g+m>i&&(g=fo(i-m,0)),p+E>s&&(p=fo(s-E,0)),m0?(g=fo(g-r,0),m=ho(m+r,i)):r<0&&(m=ho(m-r,i))),E0?(p=fo(p-a,0),E=ho(E+a,s)):a<0&&(E=ho(E-a,s))),Object.assign(this.mask.style,{left:g+"px",top:p+"px",width:m+"px",height:E+"px"});const x=parseInt(l)-g,O=parseInt(c)-p;if(x===0&&O===0)return;const j=this.context.canvas.getCamera().getZoom(),X=this.canvas.getCamera().getZoom(),U=j/X;this.context.graph.translateBy([x*U,O*U],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=(0,ii.Z)(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(t){this.unbindEvents(),super.update(t),"delay"in t&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=(0,js.Z)(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:t}=this.context;t.on(W.AFTER_DRAW,this.onDraw),t.on(W.AFTER_RENDER,this.onRender),t.on(W.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:t}=this.context;t.off(W.AFTER_DRAW,this.onDraw),t.off(W.AFTER_RENDER,this.onRender),t.off(W.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const t=this.getElements(),e=this.initCanvas();this.setShapes(e,t)}getElements(){const{filter:t}=this.options,{model:e}=this.context,n=e.getData();if(!t)return n;const{nodes:i,edges:s,combos:r}=n;return{nodes:i.filter(a=>t(z(a),"node")),edges:s.filter(a=>t(z(a),"edge")),combos:r.filter(a=>t(z(a),"combo"))}}setShapes(t,e){const{nodes:n,edges:i,combos:s}=e,{shape:r}=this.options,{element:a}=this.context;if(r==="key"){const c=new Set,d=u=>{const h=z(u);c.add(h);const f=a.getElement(h);if(!f)return;const g=f.getShape("key"),p=this.shapes.get(h)||g.cloneNode();p.setPosition(g.getPosition()),f.style.zIndex&&(p.style.zIndex=f.style.zIndex),p.id=f.id,this.shapes.has(h)?Object.entries(g.attributes).forEach(([m,E])=>{p.style[m]!==E&&(p.style[m]=E)}):(t.appendChild(p),this.shapes.set(h,p))};i.forEach(d),s.forEach(d),n.forEach(d),this.shapes.forEach((u,h)=>{c.has(h)||(t.removeChild(u),this.shapes.delete(h))});return}const l=(c,d)=>{const h=a.getElement(c).getPosition();return d.setPosition(h),d};t.removeChildren(),i.forEach(c=>t.appendChild(r(z(c),"edge"))),s.forEach(c=>{t.appendChild(l(z(c),r(z(c),"combo")))}),n.forEach(c=>{t.appendChild(l(z(c),r(z(c),"node")))})}calculatePosition(){const{position:t,size:[e,n]}=this.options,{canvas:i}=this.context,[s,r]=i.getSize(),[a,l]=Ne(t);return[a*(s-e),l*(r-n)]}createContainer(){const{container:t,className:e,size:[n,i],containerStyle:s}=this.options;if(t)return typeof t=="string"?document.querySelector(t):t;const r=document.createElement("div");r.classList.add("g6-minimap"),e&&r.classList.add(e);const[a,l]=this.calculatePosition();return Object.assign(r.style,Object.assign({position:"absolute",left:a+"px",top:l+"px",width:n+"px",height:i+"px"},s)),this.context.canvas.getContainer().appendChild(r)}initCanvas(){const{renderer:t,size:[e,n]}=this.options;if(this.canvas){const{width:i,height:s}=this.canvas.getConfig();(e!==i||n!==s)&&this.canvas.resize(e,n),t&&this.canvas.setRenderer(t)}else{const i=document.createElement("div"),s=this.createContainer();this.container=s,s.appendChild(i),this.canvas=new nt.Xz({width:e,height:n,container:i,renderer:t||new qo.Th})}return this.setCamera(),this.canvas}createLandmark(t,e,n){const i=`${t.join(",")}-${e.join(",")}-${n}`;if(this.landmarkMap.has(i))return this.landmarkMap.get(i);const r=this.canvas.getCamera().createLandmark(i,{position:t,focalPoint:e,zoom:n});return this.landmarkMap.set(i,r),r}setCamera(){var t;const{canvas:e}=this.context,n=(t=this.canvas)===null||t===void 0?void 0:t.getCamera();if(!n)return;const{size:[i,s],padding:r}=this.options,[a,l,c,d]=me(r),{min:u,max:h,center:f}=e.getBounds("elements"),g=h[0]-u[0],p=h[1]-u[1],m=i-d-l,E=s-a-c,x=m/g,O=E/p,j=Math.min(x,O),X=this.createLandmark(f,f,j);n.gotoLandmark(X,0)}get maskBBox(){const{canvas:t}=this.context,e=t.getSize(),n=t.getCanvasByViewport([0,0]),i=t.getCanvasByViewport(e),s=this.canvas.canvas2Viewport(qn(n)),r=this.canvas.canvas2Viewport(qn(i)),a=r.x-s.x,l=r.y-s.y;return[s.x,s.y,a,l]}calculateMaskBBox(){const{size:[t,e]}=this.options;let[n,i,s,r]=this.maskBBox;return n<0&&(s=ho(s+n,t),n=0),i<0&&(r=ho(r+i,e),i=0),n+s>t&&(s=fo(t-n,0)),i+r>e&&(r=fo(e-i,0)),[ho(n,t),ho(i,e),fo(s,0),fo(r,0)]}renderMask(){const{maskStyle:t}=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({},t),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[t,e,n,i]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:e+"px",left:t+"px",width:n+"px",height:i+"px"})}destroy(){var t;this.unbindEvents(),this.canvas.destroy(),(t=this.mask)===null||t===void 0||t.remove(),super.destroy()}}ar.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 ho=(o,t)=>Math.min(o,t),fo=(o,t)=>Math.max(o,t);var sa=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};const ra={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class lr extends mi{constructor(t,e){super(t,Object.assign({},lr.defaultOptions,e)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new nt.x1({style:Object.assign(Object.assign({},ra),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new nt.x1({style:Object.assign(Object.assign({},ra),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,i,s)=>sa(this,void 0,void 0,function*(){const{verticalX:r,horizontalY:a}=s,{tolerance:l}=this.options,{min:[c,d],max:[u,h],center:[f,g]}=i;let p=0,m=0;r!==null&&(xi(u,r){const{target:i}=n,s=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[r,a]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(r)<=s&&Math.abs(a)<=s)return this.context.graph.translateElementBy({[i.id]:[-r,-a]},!1),!1;if(this.isHorizontalSticking&&Math.abs(a)<=s)return this.context.graph.translateElementBy({[i.id]:[0,-a]},!1),!1;if(this.isVerticalSticking&&Math.abs(r)<=s)return this.context.graph.translateElementBy({[i.id]:[-r,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,i)=>{const{tolerance:s,shape:r}=this.options,{min:[a,l],max:[c,d],center:[u,h]}=i;let f=null,g=null,p=null,m=null,E=null,x=null;return this.getNodes().some(O=>{if((0,xt.Z)(n.id,O.id))return!1;const j=ql(O,r).getRenderBounds(),{min:[X,U],max:[V,k],center:[yt,zt]}=j;return f===null&&(xi(yt,u){this.initSnapline()},this.onDrag=n=>sa(this,void 0,void 0,function*(){const{target:i}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const s=ql(i,this.options.shape).getRenderBounds(),r=this.calcSnaplineMetadata(i,s);this.hideSnapline(),(r.verticalX!==null||r.horizontalY!==null)&&this.updateSnapline(r),this.options.autoSnap&&(yield this.autoSnapToLine(i.id,s,r))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var t;const{filter:e}=this.options,i=(((t=this.context.element)===null||t===void 0?void 0:t.getNodes())||[]).filter(s=>{var r;return Pd(s)&&((r=this.context.viewport)===null||r===void 0?void 0:r.isInViewport(s.getRenderBounds()))});return e?i.filter(s=>e(s)):i}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(t){const{lineWidth:e}=this.options[`${t}LineStyle`];return+(e||ra.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(t){const{verticalX:e,verticalMinY:n,verticalMaxY:i,horizontalY:s,horizontalMinX:r,horizontalMaxX:a}=t,[l,c]=this.context.canvas.getSize(),{offset:d}=this.options;s!==null?Object.assign(this.horizontalLine.style,{x1:d===1/0?0:r-d,y1:s,x2:d===1/0?l:a+d,y2:s,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",e!==null?Object.assign(this.verticalLine.style,{x1:e,y1:d===1/0?0:n-d,x2:e,y2:d===1/0?c:i+d,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(t){const e=this.context.graph.getZoom();return Ln([t.dx,t.dy],e)}bindEvents(){return sa(this,void 0,void 0,function*(){const{graph:t}=this.context;t.on(vt.DRAG_START,this.onDragStart),t.on(vt.DRAG,this.onDrag),t.on(vt.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:t}=this.context;t.off(vt.DRAG_START,this.onDragStart),t.off(vt.DRAG,this.onDrag),t.off(vt.DRAG_END,this.onDragEnd)}destroyElements(){var t,e;(t=this.horizontalLine)===null||t===void 0||t.destroy(),(e=this.verticalLine)===null||e===void 0||e.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}lr.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const xi=(o,t)=>Math.abs(o-t),ql=(o,t)=>typeof t=="function"?t(o):o.getShape(t);var bg=y(91498),Eg=y(39934),xg=y(21790),Sg=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})},wg=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{switch(e){case"position":this.upsertWrapper();break;default:this.upsertTimebar();break}})}backup(){this.originalData=tc(this.context.graph.getData())}upsertTimebar(){const{canvas:t}=this.context,e=this.options,{onChange:n,timebarType:i,data:s,x:r,y:a,width:l,height:c,mode:d}=e,u=wg(e,["onChange","timebarType","data","x","y","width","height","mode"]),h=t.getSize(),[f]=this.padding;this.upsertCanvas().ready.then(()=>{var g;const p=Object.assign(Object.assign({x:h[0]/2-l/2,y:f,onChange:m=>{const E=((0,Eg.Z)(m)?m:[m,m]).map(x=>(0,xg.Z)(x)?x.getTime():x);this.options.mode==="modify"?this.filterElements(E):this.hiddenElements(E),n==null||n(E)}},u),{data:s.map(m=>(0,ge.Z)(m)?{time:m,value:0}:m),width:l,height:c,type:i});this.timebar?this.timebar.update(p):(this.timebar=new bg.s({style:p}),(g=this.canvas)===null||g===void 0||g.appendChild(this.timebar))})}upsertWrapper(){var t;if(!this.wrapper){const r=document.createElement("div");r.style.position="absolute",this.wrapper=r}const{x:e,y:n,className:i,position:s}=this.options;return i&&(this.wrapper.className=i),(0,ge.Z)(e)||(0,ge.Z)(n)?Object.assign(this.wrapper.style,{left:`${e!=null?e:0}px`,top:`${n!=null?n:0}px`}):Object.assign(this.wrapper.style,{[s==="top"?"bottom":"top"]:"unset",[s==="top"?"top":"bottom"]:"0px"}),(t=this.context.canvas.getContainer())===null||t===void 0||t.appendChild(this.wrapper),this.wrapper}upsertCanvas(){var t,e;const n=this.upsertWrapper();if(this.canvas)return this.canvas;const{height:i}=this.options,[s]=this.context.canvas.getSize(),[r,,a]=this.padding;return this.canvas=new nt.Xz({container:n,width:s,height:i+r+a,renderer:((e=(t=this.context.options).renderer)===null||e===void 0?void 0:e.call(t,"main"))||new qo.Th,supportsMutipleCanvasesInOneContainer:!0}),this.canvas}filterElements(t){return Sg(this,void 0,void 0,function*(){var e;if(!this.originalData)return;const{elementTypes:n,getTime:i}=this.options,{graph:s,element:r}=this.context,a=tc(this.originalData);n.forEach(c=>{const d=`${c}s`;a[d]=(this.originalData[d]||[]).filter(u=>{const h=i(u);return!!ec(h,t)})});const l=[...a.nodes,...a.combos].map(c=>z(c));a.edges=a.edges.filter(c=>{const d=c.source,u=c.target;return l.includes(d)&&l.includes(u)}),s.setData(a),yield(e=r.draw({animation:!1,silence:!0}))===null||e===void 0?void 0:e.finished})}hiddenElements(t){const{graph:e}=this.context,{elementTypes:n,getTime:i}=this.options,s=[],r=[];n.forEach(a=>{var l;const c=`${a}s`;(((l=this.originalData)===null||l===void 0?void 0:l[c])||[]).forEach(u=>{const h=z(u),f=i(u);ec(f,t)?r.push(h):s.push(h)})}),e.hideElement(s,!1),e.showElement(r,!1)}destroy(){var t,e,n;const{graph:i}=this.context;this.originalData&&i.setData(Object.assign({},this.originalData)),(t=this.timebar)===null||t===void 0||t.destroy(),(e=this.canvas)===null||e===void 0||e.destroy(),(n=this.wrapper)===null||n===void 0||n.remove(),this.originalData=void 0,this.wrapper=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}cr.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:o=>Cg(o,Og,void 0),loop:!1};const tc=o=>{const{nodes:t=[],edges:e=[],combos:n=[]}=o;return{nodes:[...t],edges:[...e],combos:[...n]}},ec=(o,t)=>{if((0,ge.Z)(t))return o===t;const[e,n]=t;return o>=e&&o<=n},Cg=(o,t,e)=>{var n;for(let i=0;i{t[n]="8px"}),t.flexDirection=o.startsWith("top")||o.startsWith("bottom")?"row":"column",t}const Mg=` - .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; - } -`,Rg=` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`;var nc=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class dr extends mi{constructor(t,e){super(t,Object.assign({},dr.defaultOptions,e)),this.$element=ss("toolbar",!1),this.onToolbarItemClick=i=>{const{onClick:s}=this.options;if(i.target instanceof Element&&i.target.className.includes("g6-toolbar-item")){const r=i.target.getAttribute("value");s==null||s(r,i.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),na("g6-toolbar-css","style",{},Mg,document.head),na("g6-toolbar-svgicon","div",{display:"none"},Rg),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(e)}update(t){const e=Object.create(null,{update:{get:()=>super.update}});return nc(this,void 0,void 0,function*(){e.update.call(this,t);const{className:n,position:i,style:s}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,s,Dg(i)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return nc(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(e=>` -
    - -
    `).join("")})}}dr.defaultOptions={position:"top-left"};var Ig=y(75242);class ur extends mi{constructor(t,e){super(t,Object.assign({},ur.defaultOptions,e)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=n=>{const{enable:i}=this.options;return typeof i=="function"?i(n):i},this.onClick=n=>{const{target:{id:i}}=n;this.currentTarget===i?(this.hide(n),this.currentTarget=null):(this.currentTarget=i,this.show(n))},this.onPointerMove=n=>{const{target:i}=n;!this.currentTarget||i.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n),this.currentTarget=null},this.onCanvasMove=n=>{this.hide(n),this.currentTarget=null},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>{const i={target:{id:n}};this.show(i)},this.getElementData=(n,i)=>{const{model:s}=this.context;switch(i){case"node":return s.getNodeData([n]);case"edge":return s.getEdgeData([n]);case"combo":return s.getComboData([n]);default:return[]}},this.show=n=>{const{client:i,target:{id:s}}=n;if(As(n.target)||!this.tooltipElement||!this.isEnable(n))return;const r=this.context.graph.getElementType(s),{getContent:a,title:l}=this.options;this.currentTarget=s;const c=this.getElementData(s,r);let d,u;if(i)d=i.x,u=i.y;else{const f=(0,ti.Z)(c,"0.style",{x:0,y:0});d=f.x,u=f.y}let h={};if(a)h.content=a(n,c);else{const f=this.context.graph.getElementRenderStyle(s),g=r==="node"?f.fill:f.stroke;h={title:l||r,data:c.map(p=>({name:"ID",value:p.id||`${p.source} -> ${p.target}`,color:g}))}}this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:d,y:u,style:{".tooltip":{visibility:"visible"}}}),h))},this.hide=n=>{var i;if(!n){(i=this.tooltipElement)===null||i===void 0||i.hide();return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:s,y:r}}=n;this.tooltipElement.hide(s,r)},this.initTooltip=()=>{var n;const i=new Ig.u({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(i.HTMLTooltipElement),i},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(t){var e;this.unbindEvents(),super.update(t),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:t}=this.context,e=t.getContainer();e&&(this.container=e,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.off(n,e[n])})}bindEvents(){const{graph:t}=this.context,e=this.getEvents();Object.keys(e).forEach(n=>{t.on(n,e[n])})}get tooltipStyleProps(){const{canvas:t}=this.context,{center:e}=t.getBounds(),n=t.getContainer(),{top:i,left:s}=n.getBoundingClientRect(),{style:r,position:a,enterable:l,container:c={x:-s,y:-i},title:d,offset:u}=this.options,[h,f]=e,[g,p]=t.getSize();return{x:h,y:f,container:c,title:d,bounding:{x:0,y:0,width:g,height:p},position:a,enterable:l,offset:u,style:r}}destroy(){var t;this.unbindEvents(),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}ur.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var ic=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};let Vo;function oc(o,t){return Vo||(Vo=document.createElement("canvas")),Vo.width=o,Vo.height=t,Vo.getContext("2d").clearRect(0,0,o,t),Vo}function Ng(o,t,e,n){return ic(this,void 0,void 0,function*(){const i=oc(o,t),s=i.getContext("2d"),{rotate:r,opacity:a,textFill:l,textFontSize:c,textFontFamily:d,textFontVariant:u,textFontWeight:h,textAlign:f,textBaseline:g}=n;return s.textAlign=f,s.textBaseline=g,s.translate(o/2,t/2),s.font=`${c}px ${d} ${u} ${h}`,r&&s.rotate(r),a&&(s.globalAlpha=a),l&&(s.fillStyle=l,s.fillText(`${e}`,0,0)),i.toDataURL()})}function Ag(o,t,e,n){return ic(this,void 0,void 0,function*(){const i=oc(o,t),s=i.getContext("2d"),{rotate:r,opacity:a}=n;r&&s.rotate(r),a&&(s.globalAlpha=a);const l=new Image;return l.crossOrigin="anonymous",l.src=e,new Promise(c=>{l.onload=function(){const d=o>l.width?(o-l.width)/2:0,u=t>l.height?(t-l.height)/2:0;s.drawImage(l,0,0,l.width,l.height,d,u,o-d*2,t-u*2),c(i.toDataURL())}})})}var Pg=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})},Tg=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);isuper.update}});return Pg(this,void 0,void 0,function*(){e.update.call(this,t);const n=this.options,{width:i,height:s,text:r,imageURL:a}=n,l=Tg(n,["width","height","text","imageURL"]);Object.keys(l).forEach(d=>{d.startsWith("background")&&(this.$element.style[d]=t[d])});const c=a?yield Ag(i,s,a,l):yield Ng(i,s,r,l);this.$element.style.backgroundImage=`url(${c})`})}destroy(){super.destroy(),this.$element.remove()}}hr.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const Lg=["#7E92B5","#F4664A","#FFBE3A"],_g={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},jg={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function sc(o){const{bgColor:t,textColor:e,nodeColor:n,nodeColorDisabled:i,nodeStroke:s,nodeHaloStrokeOpacityActive:r=.15,nodeHaloStrokeOpacitySelected:a=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:c=.85,nodeOpacityInactive:d=.25,nodeBadgePalette:u=Lg,nodePaletteOptions:h=_g,edgeColor:f,edgeColorDisabled:g,edgePaletteOptions:p=jg,comboColor:m,comboColorDisabled:E,comboStroke:x,comboStrokeDisabled:O,edgeColorInactive:j}=o;return{background:t,node:{palette:h,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:u,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:e,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:s,portStrokeOpacity:.65,size:32,stroke:s,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:a,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:s},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:r},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:s,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:d,donutOpacity:d,fillOpacity:d,iconOpacity:c,labelFill:e,labelFillOpacity:d,strokeOpacity:d},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:i,fillOpacity:l,iconFill:i,iconOpacity:.25,labelFill:e,labelFillOpacity:.25,strokeOpacity:l}},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:p,style:{badgeBackgroundFill:f,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:f,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:j,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:g,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:t,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:m,halo:!1,haloLineWidth:12,haloStroke:x,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:t,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:e,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:x},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:E,fillOpacity:.25,labelOpacity:.25,stroke:O,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 zg=sc({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"}),Bg=sc({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 go extends Le{beforeDraw(t,e){return t}afterLayout(){}}class Zg extends go{beforeDraw(t){const{model:e}=this.context,n=t.add.combos,i=s=>{const r=[];return s.forEach((a,l)=>{const d=e.getAncestorsData(l,"combo").map(u=>z(u)).reverse();r.push([l,a,d.length])}),new Map(r.sort(([,,a],[,,l])=>l-a).map(([a,l])=>[a,l]))};return t.add.combos=i(n),t.update.combos=i(t.update.combos),t}}function ki(o,t,e,n,i){const s=z(n),r=`${e}s`,a=i?n:o.add[r].get(s)||o.update[r].get(s)||o.remove[r].get(s)||n;Object.entries(o).forEach(([l,c])=>{t===l?c[r].set(s,a):c[r].delete(s)})}function fr(o,t){return Object.keys(o).every(e=>o[e]===t[e])}class $g extends go{beforeDraw(t,e){if(e.stage==="visibility"||!this.context.model.model.hasTreeStructure(st))return t;const{model:n}=this.context,{add:i,update:s}=t,r=[...t.update.combos.entries(),...t.add.combos.entries()];for(;r.length;){const[a,l]=r.pop();if(Oi(l)){const c=n.getDescendantsData(a),d=c.map(z),{internal:u,external:h}=Lr(d,f=>n.getRelatedEdgesData(f));c.forEach(f=>{const g=z(f),p=r.findIndex(([E])=>E===g);p!==-1&&r.splice(p,1);const m=n.getElementType(g);ki(t,"remove",m,f)}),u.forEach(f=>ki(t,"remove","edge",f)),h.forEach(f=>{var g;const p=z(f);((g=this.context.element)===null||g===void 0?void 0:g.getElement(p))?s.edges.set(p,f):i.edges.set(p,f)})}else{const c=n.getChildrenData(a),d=c.map(z),{edges:u}=Lr(d,h=>n.getRelatedEdgesData(h));[...c,...u].forEach(h=>{var f;const g=z(h),p=n.getElementType(g);((f=this.context.element)===null||f===void 0?void 0:f.getElement(g))?ki(t,"update",p,h):ki(t,"add",p,h),p==="combo"&&r.push([g,h])})}}return t}}const rc=(o,t,e,n)=>{const i=`${e}s`,s=z(n);!o.add[i].has(s)&&!o.update[i].has(s)&&o[t][i].set(z(n),n)};class Fg extends go{getElement(t){return this.context.element.getElement(t)}handleExpand(t,e){if(rc(e,"add","node",t),Oi(t))return;const n=z(t);rc(e,"add","node",t),this.context.model.getRelatedEdgesData(n,"out").forEach(r=>{ki(e,"add","edge",r)}),this.context.model.getChildrenData(n).forEach(r=>{this.handleExpand(r,e)})}beforeDraw(t){const{graph:e,model:n}=this.context;if(!n.model.hasTreeStructure(Pt))return t;const{add:{nodes:i,edges:s},update:{nodes:r}}=t,a=new Map,l=new Map;i.forEach((d,u)=>{Oi(d)&&a.set(u,d)}),s.forEach(d=>{if(e.getElementType(d.source)!=="node")return;const u=e.getNodeData(d.source);Oi(u)&&a.set(d.source,u)}),r.forEach((d,u)=>{const h=this.getElement(u);if(!h)return;const f=h.attributes.collapsed;Oi(d)?f||a.set(u,d):f&&l.set(u,d)});const c=new Set;return a.forEach((d,u)=>{n.getDescendantsData(u).forEach(f=>{const g=z(f);if(c.has(g))return;ki(t,"remove","node",f),n.getRelatedEdgesData(g).forEach(m=>{ki(t,"remove","edge",m)}),c.add(g)})}),l.forEach((d,u)=>{if(n.getAncestorsData(u,Pt).some(Oi)){ki(t,"remove","node",d);return}this.handleExpand(d,t)}),t}}function kg(o,t,e,n=!1){const i=Vt[o][t];!n&&i?i!==e&&Wt.warn(`The extension ${t} of ${o} has been registered before.`):Object.assign(Vt[o],{[t]:e})}class gr{constructor(t){this.type=t}}class hi extends gr{constructor(t,e){super(t),this.data=e}}class Vi extends gr{constructor(t,e,n,i){super(t),this.animationType=e,this.animation=n,this.data=i}}class Uo extends gr{constructor(t,e,n){super(t),this.elementType=e,this.data=n}}class pr extends gr{constructor(t,e){super(t),this.data=e}}function vi(o,t){o.emit(t.type,t)}function Wg(o){if(!o)return null;if(o instanceof nt.BB)return{type:"canvas",element:o};let t=o;for(;t;){if(es(t))return{type:"node",element:t};if(Aa(t))return{type:"edge",element:t};if(_r(t))return{type:"combo",element:t};t=t.parentElement}return null}const Ko="cachedStyle",mr=o=>`__${o}__`;function Hg(o,t){const e=Array.isArray(t)?t:[t];(0,ti.Z)(o,Ko)||(0,So.Z)(o,Ko,{}),e.forEach(n=>{(0,So.Z)((0,ti.Z)(o,Ko),mr(n),o.attributes[n])})}function ac(o,t){return(0,ti.Z)(o,[Ko,mr(t)])}function Vg(o,t){return mr(t)in((0,ti.Z)(o,Ko)||{})}function K0(o,t,e){set(o,[Ko,mr(t)],e)}class Ug{constructor(t){this.tasks=[],this.animations=new Set,this.context=t}getTasks(){const t=[...this.tasks];return this.tasks=[],t}add(t,e){this.tasks.push([t,e])}animate(t,e,n){var i,s,r;(i=e==null?void 0:e.before)===null||i===void 0||i.call(e);const a=this.getTasks().map(([c,d])=>{var u,h,f;const{element:g,elementType:p,stage:m}=c,E=en(this.context.options,p,m,t);(u=d==null?void 0:d.before)===null||u===void 0||u.call(d);const x=an(g,this.inferStyle(c,n),E);return x?((h=d==null?void 0:d.beforeAnimate)===null||h===void 0||h.call(d,x),x.finished.then(()=>{var O,j;(O=d==null?void 0:d.afterAnimate)===null||O===void 0||O.call(d,x),(j=d==null?void 0:d.after)===null||j===void 0||j.call(d),this.animations.delete(x)})):(f=d==null?void 0:d.after)===null||f===void 0||f.call(d),x}).filter(Boolean);a.forEach(c=>this.animations.add(c));const l=se(a);return l?((s=e==null?void 0:e.beforeAnimate)===null||s===void 0||s.call(e,l),l.finished.then(()=>{var c,d;(c=e==null?void 0:e.afterAnimate)===null||c===void 0||c.call(e,l),(d=e==null?void 0:e.after)===null||d===void 0||d.call(e),this.release()})):(r=e==null?void 0:e.after)===null||r===void 0||r.call(e),l}inferStyle(t,e){var n,i;const{element:s,elementType:r,stage:a,originalStyle:l,modifiedStyle:c}=t,d={},u={};if(a==="enter")Object.assign(d,{opacity:0});else if(a==="exit")Object.assign(u,{opacity:0});else if(a==="show")Object.assign(d,{opacity:0}),Object.assign(u,{opacity:(n=ac(s,"opacity"))!==null&&n!==void 0?n:He("opacity")});else if(a==="hide")Object.assign(d,{opacity:(i=ac(s,"opacity"))!==null&&i!==void 0?i:He("opacity")}),Object.assign(u,{opacity:0});else if(a==="collapse"){const{collapse:h}=e||{},{target:f,descendants:g,position:p}=h;if(r==="node"){if(g.includes(s.id)){const[m,E,x]=p;Object.assign(u,{x:m,y:E,z:x})}}else if(r==="combo"){if(s.id===f||g.includes(s.id)){const[m,E]=p;Object.assign(u,{x:m,y:E,childrenNode:l.childrenNode})}}else r==="edge"&&Object.assign(u,{sourceNode:c.sourceNode,targetNode:c.targetNode})}else if(a==="expand"){const{expand:h}=e||{},{target:f,descendants:g,position:p}=h;if(r==="node"){if(s.id===f||g.includes(s.id)){const[m,E,x]=p;Object.assign(d,{x:m,y:E,z:x})}}else if(r==="combo"){if(s.id===f||g.includes(s.id)){const[m,E,x]=p;Object.assign(d,{x:m,y:E,z:x,childrenNode:c.childrenNode})}}else r==="edge"&&Object.assign(d,{sourceNode:c.sourceNode,targetNode:c.targetNode})}return[Object.keys(d).length>0?Object.assign({},l,d):l,Object.keys(u).length>0?Object.assign({},c,u):c]}stop(){this.animations.forEach(t=>t.cancel())}clear(){this.tasks=[]}release(){var t,e;const{canvas:n}=this.context,i=(e=(t=n.document)===null||t===void 0?void 0:t.timeline)===null||e===void 0?void 0:e.animationsWithPromises;i&&(n.document.timeline.animationsWithPromises=i.filter(s=>s.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class Kg{constructor(t){this.batchCount=0,this.context=t}emit(t){const{graph:e}=this.context;e.emit(t.type,t)}startBatch(t=!0){this.batchCount++,this.batchCount===1&&this.emit(new hi(W.BATCH_START,{initiate:t}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new hi(W.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class Yg extends Xe{constructor(t){super(t),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=e=>{const{target:n}=e,i=Wg(n);if(!i)return;const{graph:s,canvas:r}=this.context,{type:a,element:l}=i;if("destroyed"in l&&(As(l)||l.destroyed))return;const{type:c,detail:d,button:u}=e,h=Object.assign(Object.assign({},e),{target:l,targetType:a,originalTarget:n});c===B.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&s.emit(`${this.currentTargetType}:${B.POINTER_LEAVE}`,Object.assign(Object.assign({},h),{type:B.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(h,{type:B.POINTER_ENTER}),s.emit(`${a}:${B.POINTER_ENTER}`,h))),this.currentTarget=l,this.currentTargetType=a),c===B.CLICK&&u===2||(s.emit(`${a}:${c}`,h),s.emit(c,h)),c===B.CLICK&&d===2&&(Object.assign(h,{type:B.DBLCLICK}),s.emit(`${a}:${B.DBLCLICK}`,h),s.emit(B.DBLCLICK,h)),c===B.POINTER_DOWN&&u===2&&(Object.assign(h,{type:B.CONTEXT_MENU,preventDefault:()=>{var f;(f=r.getContainer())===null||f===void 0||f.addEventListener(B.CONTEXT_MENU,g=>g.preventDefault(),{once:!0})}}),s.emit(`${a}:${B.CONTEXT_MENU}`,h),s.emit(B.CONTEXT_MENU,h))},this.forwardContainerEvents=e=>{this.context.graph.emit(e.type,e)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(t){this.setExtensions(t)}forwardEvents(){const t=this.context.canvas.getContainer();t&&[gt.KEY_DOWN,gt.KEY_UP].forEach(n=>{t.addEventListener(n,this.forwardContainerEvents)});const e=this.context.canvas.document;e&&[B.CLICK,B.DBLCLICK,B.POINTER_OVER,B.POINTER_LEAVE,B.POINTER_ENTER,B.POINTER_MOVE,B.POINTER_OUT,B.POINTER_DOWN,B.POINTER_UP,B.CONTEXT_MENU,B.DRAG_START,B.DRAG,B.DRAG_END,B.DRAG_ENTER,B.DRAG_OVER,B.DRAG_LEAVE,B.DROP,B.WHEEL].forEach(n=>{e.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const t=this.context.canvas.getContainer();t&&[gt.KEY_DOWN,gt.KEY_UP].forEach(e=>{t.removeEventListener(e,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var Gg=y(59293),Xg=y(85580),lc=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})},cc=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const c=new nt.Xz(Object.assign(Object.assign({},s),{supportsMutipleCanvasesInOneContainer:!0,renderer:r[l],background:l==="background"?n:void 0}));return[l,c]}));fc(a),this.extends={config:t,renderer:e,renderers:r,layers:a}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,t])=>t.ready))}resize(t,e){Object.assign(this.extends.config,{width:t,height:e}),Object.values(this.getLayers()).forEach(n=>{const i=n.getCamera(),s=i.getPosition(),r=i.getFocalPoint();n.resize(t,e),i.setPosition(s),i.setFocalPoint(r)})}getBounds(t){return Ft(Object.values(this.getLayers()).map(e=>t?e.getRoot().childNodes.find(i=>i.classList.includes(t)):e.getRoot()).filter(e=>(e==null?void 0:e.childNodes.length)>0).map(e=>e.getBounds()))}getContainer(){const t=this.extends.config.container;return typeof t=="string"?document.getElementById(t):t}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(t,e){var n;const i=((n=t.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(i).appendChild(t,e)}setRenderer(t){if(t===this.extends.renderer)return;const e=hc(t);this.extends.renderers=e,Object.entries(e).forEach(([n,i])=>this.getLayer(n).setRenderer(i)),fc(this.getLayers())}getCanvasByViewport(t){return En(this.getLayer().viewport2Canvas(qn(t)))}getViewportByCanvas(t){return En(this.getLayer().canvas2Viewport(qn(t)))}getViewportByClient(t){return En(this.getLayer().client2Viewport(qn(t)))}getClientByViewport(t){return En(this.getLayer().viewport2Client(qn(t)))}getClientByCanvas(t){return this.getClientByViewport(this.getViewportByCanvas(t))}getCanvasByClient(t){const e=this.getLayer(),n=e.client2Viewport(qn(t));return En(e.viewport2Canvas(n))}toDataURL(){return lc(this,arguments,void 0,function*(t={}){const e=window.devicePixelRatio||1,{mode:n="viewport"}=t,i=cc(t,["mode"]);let[s,r,a,l]=[0,0,0,0];if(n==="viewport")[a,l]=this.getSize();else if(n==="overall"){const E=this.getBounds(),x=Z(E);[s,r]=E.min,[a,l]=x}const c=(0,Xg.L)('
    '),d=new nt.Xz({width:a,height:l,renderer:new qo.Th,devicePixelRatio:e,container:c,background:this.extends.config.background});yield d.ready,d.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),d.appendChild(this.getRoot().cloneNode(!0));const u=this.getLayer("label").getRoot().cloneNode(!0),h=d.viewport2Canvas({x:0,y:0}),f=this.getCanvasByViewport([0,0]);u.translate([f[0]-h.x,f[1]-h.y]),u.scale(1/this.getCamera().getZoom()),d.appendChild(u),d.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const g=this.getCamera(),p=d.getCamera();if(n==="viewport")p.setZoom(g.getZoom()),p.setPosition(g.getPosition()),p.setFocalPoint(g.getFocalPoint());else if(n==="overall"){const[E,x,O]=p.getPosition(),[j,X,U]=p.getFocalPoint();p.setPosition([E+s,x+r,O]),p.setFocalPoint([j+s,X+r,U])}const m=d.getContextService();return new Promise(E=>{d.addEventListener(nt.$6.RERENDER,()=>lc(this,void 0,void 0,function*(){yield new Promise(O=>setTimeout(O,300));const x=yield m.toDataURL(i);E(x)}))})})}destroy(){Object.values(this.getLayers()).forEach(t=>{t.getCamera().cancelLandmarkAnimation(),t.destroy()})}}function hc(o){return Object.fromEntries(dc.map(t=>{const e=(o==null?void 0:o(t))||new qo.Th;return t==="main"?e.registerPlugin(new Gg.S({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):e.unregisterPlugin(e.getPlugin("dom-interaction")),[t,e]}))}function fc(o){Object.entries(o).forEach(([t,e])=>{const n=e.getContextService().getDomElement();n.style.position="absolute",n.style.outline="none",n.tabIndex=1,t!=="main"&&(n.style.pointerEvents="none")})}var Qg=y(35300),rs=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);ig.length!==p.length?!1:g.every((m,E)=>m===p[E]),f=(g,p)=>{const m=Object.keys(g),E=Object.keys(p);return m.length!==E.length?!1:m.every(x=>g[x]===p[x])};return!(!f(r,u)||!h(s,d)||!h(e,a)||!f(n,l)||!f(i,c))}var Jg=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{const i=fi(n);return this.isCombo(z(i))||(t===void 0||t.includes(z(i)))&&e.push(i),e},[])}getEdgeDatum(t){return fi(this.model.getEdge(t))}getEdgeData(t){return this.model.getAllEdges().reduce((e,n)=>{const i=fi(n);return(t===void 0||t.includes(z(i)))&&e.push(i),e},[])}getComboData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=fi(n);return this.isCombo(z(i))&&(t===void 0||t.includes(z(i)))&&e.push(i),e},[])}getRootsData(t=Pt){return this.model.getRoots(t).map(fi)}getAncestorsData(t,e){const{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getAncestors(t,e).map(fi)}getDescendantsData(t){const e=this.getElementDataById(t),n=[];return Wn(e,i=>{i!==e&&n.push(i)},i=>this.getChildrenData(z(i)),"TB"),n}getParentData(t,e){const{model:n}=this;if(!e){Wt.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(t)||!n.hasTreeStructure(e))return;const i=n.getParent(t,e);return i?fi(i):void 0}getChildrenData(t){const e=this.getElementType(t)==="node"?Pt:st,{model:n}=this;return!n.hasNode(t)||!n.hasTreeStructure(e)?[]:n.getChildren(t,e).map(fi)}getElementsDataByType(t){return t==="node"?this.getNodeData():t==="edge"?this.getEdgeData():t==="combo"?this.getComboData():[]}getElementDataById(t){return this.getElementType(t)==="edge"?this.getEdgeDatum(t):this.getNodeLikeDatum(t)}getNodeLikeDatum(t){const e=this.model.getNode(t);return fi(e)}getNodeLikeData(t){return this.model.getAllNodes().reduce((e,n)=>{const i=fi(n);return t?t.includes(z(i))&&e.push(i):e.push(i),e},[])}getElementDataByState(t,e){return this.getElementsDataByType(t).filter(i=>{var s;return(s=i.states)===null||s===void 0?void 0:s.includes(e)})}getElementState(t){var e;return((e=this.getElementDataById(t))===null||e===void 0?void 0:e.states)||[]}hasNode(t){return this.model.hasNode(t)&&!this.isCombo(t)}hasEdge(t){return this.model.hasEdge(t)}hasCombo(t){return this.model.hasNode(t)&&this.isCombo(t)}getRelatedEdgesData(t,e="both"){return this.model.getRelatedEdges(t,e).map(fi)}getNeighborNodesData(t){return this.model.getNeighbors(t).map(fi)}setData(t){const{nodes:e=[],edges:n=[],combos:i=[]}=t,{nodes:s,edges:r,combos:a}=this.getData(),l=Te(s,e,u=>z(u),Yo),c=Te(r,n,u=>z(u),Yo),d=Te(a,i,u=>z(u),Yo);this.batch(()=>{this.addData({nodes:l.enter,edges:c.enter,combos:d.enter}),this.updateData({nodes:l.update,edges:c.update,combos:d.update}),this.removeData({nodes:l.exit.map(z),edges:c.exit.map(z),combos:d.exit.map(z)})})}addData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.addComboData(i),this.addNodeData(e),this.addEdgeData(n)})}addNodeData(t=[]){t.length&&(this.model.addNodes(t.map(e=>(this.pushChange({value:e,type:pe.NodeAdded}),la(e)))),this.updateNodeLikeHierarchy(t))}addEdgeData(t=[]){t.length&&this.model.addEdges(t.map(e=>(this.pushChange({value:e,type:pe.EdgeAdded}),la(e))))}addComboData(t=[]){if(!t.length)return;const{model:e}=this;e.hasTreeStructure(st)||e.attachTreeStructure(st),e.addNodes(t.map(n=>(this.comboIds.add(z(n)),this.pushChange({value:n,type:pe.ComboAdded}),la(n)))),this.updateNodeLikeHierarchy(t)}addChildrenData(t,e){const n=this.getNodeLikeDatum(t),i=e.map(z);this.addNodeData(e),this.updateNodeData([{id:t,children:[...n.children||[],...i]}]),this.addEdgeData(i.map(s=>({source:t,target:s})))}updateNodeLikeHierarchy(t){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:e}=this;t.forEach(n=>{const i=z(n);Re(n)&&(e.hasTreeStructure(st)||e.attachTreeStructure(st),this.setParent(i,Re(n),st));const r=n.children||[];if(r.length){e.hasTreeStructure(Pt)||e.attachTreeStructure(Pt);const a=r.filter(l=>e.hasNode(l));a.forEach(l=>this.setParent(l,i,Pt)),a.length!==r.length&&this.updateNodeData([{id:i,children:a}])}})}preventUpdateNodeLikeHierarchy(t){this.enableUpdateNodeLikeHierarchy=!1,t(),this.enableUpdateNodeLikeHierarchy=!0}updateData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.updateNodeData(e),this.updateComboData(i),this.updateEdgeData(n)})}updateNodeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{const n=[];t.forEach(i=>{const s=z(i),r=fi(e.getNode(s));if(Yo(r,i))return;const a=po(r,i);this.pushChange({value:a,original:r,type:pe.NodeUpdated}),e.mergeNodeData(s,a),n.push(a)}),this.updateNodeLikeHierarchy(n)})}refreshData(){const{nodes:t,edges:e,combos:n}=this.getData();t.forEach(i=>{this.pushChange({value:i,original:i,type:pe.NodeUpdated})}),e.forEach(i=>{this.pushChange({value:i,original:i,type:pe.EdgeUpdated})}),n.forEach(i=>{this.pushChange({value:i,original:i,type:pe.ComboUpdated})})}syncNodeDatum(t){const{model:e}=this,n=z(t),i=fi(e.getNode(n)),s=po(i,t);e.mergeNodeData(n,s)}updateEdgeData(t=[]){if(!t.length)return;const{model:e}=this;this.batch(()=>{t.forEach(n=>{const i=z(n),s=fi(e.getEdge(i));if(Yo(s,n))return;n.source&&s.source!==n.source&&e.updateEdgeSource(i,n.source),n.target&&s.target!==n.target&&e.updateEdgeTarget(i,n.target);const r=po(s,n);this.pushChange({value:r,original:s,type:pe.EdgeUpdated}),e.mergeEdgeData(i,r)})})}updateComboData(t=[]){if(!t.length)return;const{model:e}=this;e.batch(()=>{const n=[];t.forEach(i=>{const s=z(i),r=fi(e.getNode(s));if(Yo(r,i))return;const a=po(r,i);this.pushChange({value:a,original:r,type:pe.ComboUpdated}),e.mergeNodeData(s,a),n.push(a)}),this.updateNodeLikeHierarchy(n)})}setParent(t,e,n,i=!0){var s;if(t===e)return;const r=this.getNodeLikeDatum(t),a=Re(r);if(e){const l=this.getNodeLikeDatum(e);if(((s=l.style)===null||s===void 0?void 0:s.zIndex)!==void 0){const c=(0,ti.Z)(l,["style","zIndex"],0)+(this.isCombo(e)?1:0);(0,So.Z)(r,["style","zIndex"],c)}}if(a!==e&&n===st){const l={id:t,combo:e};this.isCombo(t)?this.syncComboDatum(l):this.syncNodeDatum(l)}this.model.setParent(t,e,n),i&&n===st&&(0,Qg.Z)([a,e]).forEach(l=>{l!==void 0&&this.refreshComboData(l)})}refreshComboData(t){const e=this.getComboData([t])[0],n=this.getAncestorsData(t,st);e&&this.pushChange({value:e,original:e,type:pe.ComboUpdated}),n.forEach(i=>{this.pushChange({value:i,original:i,type:pe.ComboUpdated})})}syncComboDatum(t){const{model:e}=this,n=z(t);if(!e.hasNode(n))return;const i=fi(e.getNode(n)),s=po(i,t);e.mergeNodeData(n,s)}getElementPosition(t){const e=this.getElementDataById(t);return $e(e)}translateNodeLikeBy(t,e){this.isCombo(t)?this.translateComboBy(t,e):this.translateNodeBy(t,e)}translateNodeLikeTo(t,e){this.isCombo(t)?this.translateComboTo(t,e):this.translateNodeTo(t,e)}translateNodeBy(t,e){const n=this.getElementPosition(t),i=ae(n,[...e,0].slice(0,3));this.translateNodeTo(t,i)}translateNodeTo(t,e){const[n=0,i=0,s=0]=e;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:t,style:{x:n,y:i,z:s}}])})}translateComboBy(t,e){const[n=0,i=0,s=0]=e;if([n,i,s].some(isNaN)||[n,i,s].every(l=>l===0))return;const r=this.getComboData([t])[0];if(!r)return;const a=new Set;Wn(r,l=>{const c=z(l);if(a.has(c))return;a.add(c);const[d,u,h]=$e(l),f=po(l,{style:{x:d+n,y:u+i,z:h+s}});this.pushChange({value:f,original:l,type:this.isCombo(c)?pe.ComboUpdated:pe.NodeUpdated}),this.model.mergeNodeData(c,f)},l=>this.getChildrenData(z(l)),"BT")}translateComboTo(t,e){var n;if(e.some(isNaN))return;const[i=0,s=0,r=0]=e,a=(n=this.getComboData([t]))===null||n===void 0?void 0:n[0];if(!a)return;const[l,c,d]=$e(a),u=i-l,h=s-c,f=r-d;Wn(a,g=>{const p=z(g),[m,E,x]=$e(g),O=po(g,{style:{x:m+u,y:E+h,z:x+f}});this.pushChange({value:O,original:g,type:this.isCombo(p)?pe.ComboUpdated:pe.NodeUpdated}),this.model.mergeNodeData(p,O)},g=>this.getChildrenData(z(g)),"BT")}removeData(t){const{nodes:e,edges:n,combos:i}=t;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(e),this.removeComboData(i),this.latestRemovedComboIds=new Set(i)})}removeNodeData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.removeEdgeData(this.getRelatedEdgesData(e).map(z)),this.pushChange({value:this.getNodeData([e])[0],type:pe.NodeRemoved}),this.removeNodeLikeHierarchy(e)}),this.model.removeNodes(t)})}removeEdgeData(t=[]){t.length&&(t.forEach(e=>this.pushChange({value:this.getEdgeData([e])[0],type:pe.EdgeRemoved})),this.model.removeEdges(t))}removeComboData(t=[]){t.length&&this.batch(()=>{t.forEach(e=>{this.pushChange({value:this.getComboData([e])[0],type:pe.ComboRemoved}),this.removeNodeLikeHierarchy(e),this.comboIds.delete(e)}),this.model.removeNodes(t)})}removeNodeLikeHierarchy(t){if(this.model.hasTreeStructure(st)){const e=Re(this.getNodeLikeDatum(t));this.setParent(t,void 0,st,!1),this.model.getChildren(t,st).forEach(n=>{const i=fi(n),s=z(i);this.setParent(z(i),e,st,!1);const r=po(i,{id:z(i),combo:e});this.pushChange({value:r,original:i,type:this.isCombo(s)?pe.ComboUpdated:pe.NodeUpdated}),this.model.mergeNodeData(z(i),r)}),(0,Kn.Z)(e)||this.refreshComboData(e)}}getElementType(t){if(this.model.hasNode(t))return this.isCombo(t)?"combo":"node";if(this.model.hasEdge(t))return"edge";throw new Error(Zt(`Unknown element type of id: ${t}`))}destroy(){const{model:t}=this,e=t.getAllNodes(),n=t.getAllEdges();t.removeEdges(n.map(i=>i.id)),t.removeNodes(e.map(i=>i.id)),this.context={}}}var vr=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class e0{constructor(t){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=t}init(){if(!this.container){const{canvas:t}=this.context;this.container=t.appendChild(new nt.ZA({className:"elements"}))}}emit(t,e){e.silence||vi(this.context.graph,t)}forEachElementData(t){bi.forEach(e=>{const n=this.context.model.getElementsDataByType(e);t(e,n)})}getElementType(t,e){var n;const{options:i,graph:s}=this.context,r=((n=i[t])===null||n===void 0?void 0:n.type)||e.type;return r?typeof r=="string"?r:r.call(s,e):t==="edge"?"line":"circle"}getTheme(t){return ue(this.context.options)[t]||{}}getThemeStyle(t){return this.getTheme(t).style||{}}getThemeStateStyle(t,e){const{state:n={}}=this.getTheme(t);return Object.assign({},...e.map(i=>n[i]||{}))}computePaletteStyle(){const{options:t}=this.context;this.paletteStyle={},this.forEachElementData((e,n)=>{var i,s;const r=Object.assign({},ke((i=this.getTheme(e))===null||i===void 0?void 0:i.palette),ke((s=t[e])===null||s===void 0?void 0:s.palette));r!=null&&r.field&&Object.assign(this.paletteStyle,ui(n,r))})}getPaletteStyle(t,e){const n=this.paletteStyle[e];return n?t==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(t,e){var n;const{options:i}=this.context,s=((n=i[t])===null||n===void 0?void 0:n.style)||{};"transform"in s&&Array.isArray(s.transform)&&(s.transform=[...s.transform]),this.defaultStyle[z(e.datum)]=gs(s,e)}computeElementsDefaultStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const s=i.length;for(let r=0;rthis.getElementStateStyle(t,i,n)))}computeElementsStatesStyle(t){const{graph:e}=this.context;this.forEachElementData((n,i)=>{const s=i.length;for(let r=0;rthis.elementMap[t])}getEdges(){return this.context.model.getEdgeData().map(t=>this.elementMap[z(t)])}getCombos(){return this.context.model.getComboData().map(({id:t})=>this.elementMap[t])}getElementComputedStyle(t,e){const n=z(e),i=this.getThemeStyle(t),s=this.getPaletteStyle(t,n),r=e.style||{},a=this.getDefaultStyle(n),l=this.getThemeStateStyle(t,this.getElementState(n)),c=this.getStateStyle(n),d=Object.assign({},i,s,r,a,l,c);if(t==="combo"){const u=this.context.model.getChildrenData(n),f=!!d.collapsed?[]:u.map(z).filter(g=>this.getElement(g));Object.assign(d,{childrenNode:f,childrenData:u})}return d}draw(t={animation:!0}){this.init();const e=this.computeChangesAndDrawData(t);if(!e)return null;const{dataChanges:n,drawData:i}=e;this.markDestroyElement(i),this.computeStyle(t.stage);const{add:s,update:r,remove:a}=i;this.destroyElements(a,t),this.createElements(s,t),this.updateElements(r,t);const{animation:l,silence:c}=t,{type:d="draw"}=t;return this.context.animation.animate(l,c?{}:{before:()=>this.emit(new hi(W.BEFORE_DRAW,{dataChanges:n,animation:l,render:d==="render"}),t),beforeAnimate:u=>this.emit(new Vi(W.BEFORE_ANIMATE,be.DRAW,u,i),t),afterAnimate:u=>this.emit(new Vi(W.AFTER_ANIMATE,be.DRAW,u,i),t),after:()=>this.emit(new hi(W.AFTER_DRAW,{dataChanges:n,animation:l,render:d==="render"}),t)})}computeChangesAndDrawData(t){const{model:e}=this.context,n=e.getChanges(),i=oa(n);if(i.length===0)return null;const{NodeAdded:s=[],NodeUpdated:r=[],NodeRemoved:a=[],EdgeAdded:l=[],EdgeUpdated:c=[],EdgeRemoved:d=[],ComboAdded:u=[],ComboUpdated:h=[],ComboRemoved:f=[]}=(0,Pn.Z)(i,E=>E.type),g=E=>new Map(E.map(x=>{const O=x.value;return[z(O),O]})),p={add:{nodes:g(s),edges:g(l),combos:g(u)},update:{nodes:g(r),edges:g(c),combos:g(h)},remove:{nodes:g(a),edges:g(d),combos:g(f)}},m=this.transformData(p,t);return e.clearChanges(),{dataChanges:n,drawData:m}}transformData(t,e){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((i,s)=>s.beforeDraw(i,e),t)}createElement(t,e,n){var i,s;const r=z(e);if(this.getElement(r))return;const l=this.getElementType(t,e),c=this.getElementComputedStyle(t,e),d=bt(t,l);if(!d)return Wt.warn(`The element ${l} of ${t} is not registered.`);if(this.emit(new Uo(W.BEFORE_ELEMENT_CREATE,t,e),n),n.stage==="expand"){const f=this.getElementZIndex(n.target);(!c.zIndex||c.zIndex{var f;this.emit(new Uo(W.AFTER_ELEMENT_CREATE,t,e),n),(f=u.onCreate)===null||f===void 0||f.call(u)}})}createElements(t,e){const{nodes:n,edges:i,combos:s}=t;[["node",n],["combo",s],["edge",i]].forEach(([a,l])=>{l.forEach(c=>this.createElement(a,c,e))})}getUpdateStageStyle(t,e,n){const{stage:i="update"}=n;if(i==="translate")if(t==="node"||t==="combo"){const{style:{x:s=0,y:r=0,z:a=0}={}}=e;return{x:s,y:r,z:a}}else return{};return this.getElementComputedStyle(t,e)}updateElement(t,e,n){var i;const s=z(e),{stage:r="update"}=n,a=this.getElement(s);if(!a)return()=>null;this.emit(new Uo(W.BEFORE_ELEMENT_UPDATE,t,e),n);const l=this.getElementType(t,e),c=this.getUpdateStageStyle(t,e,n);this.shapeTypeMap[s]!==l&&(a.destroy(),delete this.shapeTypeMap[s],delete this.elementMap[s],this.createElement(t,e,{animation:!1,silence:!0}));const d=r!=="visibility"?r:c.visibility==="hidden"?"hide":"show";d==="hide"&&delete c.visibility,(i=this.context.animation)===null||i===void 0||i.add({element:a,elementType:t,stage:d,originalStyle:Object.assign({},a.attributes),modifiedStyle:Object.assign(Object.assign({},a.attributes),c)},{before:()=>{const u=this.elementMap[s];r!=="collapse"&&Zr(u,c),r==="visibility"&&(Vg(u,"opacity")||Hg(u,"opacity"),this.visibilityCache.set(u,d==="show"?"visible":"hidden"),d==="show"&&gn(u,"visible"))},after:()=>{var u;const h=this.elementMap[s];r==="collapse"&&Zr(h,c),d==="hide"&&gn(h,this.visibilityCache.get(h)),this.emit(new Uo(W.AFTER_ELEMENT_UPDATE,t,e),n),(u=h.onUpdate)===null||u===void 0||u.call(h)}})}updateElements(t,e){const{nodes:n,edges:i,combos:s}=t;[["node",n],["combo",s],["edge",i]].forEach(([a,l])=>{l.forEach(c=>this.updateElement(a,c,e))})}markDestroyElement(t){Object.values(t.remove).forEach(e=>{e.forEach(n=>{const i=z(n),s=this.getElement(i);s&&Ld(s)})})}destroyElement(t,e,n){var i;const{stage:s="exit"}=n,r=z(e),a=this.elementMap[r];if(!a)return()=>null;this.emit(new Uo(W.BEFORE_ELEMENT_DESTROY,t,e),n),(i=this.context.animation)===null||i===void 0||i.add({element:a,elementType:t,stage:s,originalStyle:Object.assign({},a.attributes),modifiedStyle:Object.assign({},a.attributes)},{after:()=>{var l;this.clearElement(r),a.destroy(),(l=a.onDestroy)===null||l===void 0||l.call(a),this.emit(new Uo(W.AFTER_ELEMENT_DESTROY,t,e),n)}})}destroyElements(t,e){const{nodes:n,edges:i,combos:s}=t;[["combo",s],["edge",i],["node",n]].forEach(([a,l])=>{l.forEach(c=>this.destroyElement(a,c,e))})}clearElement(t){delete this.paletteStyle[t],delete this.defaultStyle[t],delete this.stateStyle[t],delete this.elementMap[t],delete this.shapeTypeMap[t]}collapseNode(t,e){return vr(this,void 0,void 0,function*(){var n;const{model:i,layout:s}=this.context,r=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!r)return;this.markDestroyElement(r.drawData);const a=yield s.simulate();i.updateData(a);const l=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!l)return;const{drawData:c}=l,{add:d,remove:u,update:h}=c;this.markDestroyElement(c);const f={animation:e,stage:"collapse",data:c};this.destroyElements(u,f),this.createElements(d,f),this.updateElements(h,f),yield(n=this.context.animation.animate(e,{beforeAnimate:g=>this.emit(new Vi(W.BEFORE_ANIMATE,be.COLLAPSE,g,c),f),afterAnimate:g=>this.emit(new Vi(W.AFTER_ANIMATE,be.COLLAPSE,g,c),f)},{collapse:{target:t,descendants:Array.from(u.nodes).map(([,g])=>z(g)),position:$e(h.nodes.get(t))}}))===null||n===void 0?void 0:n.finished})}expandNode(t,e){return vr(this,void 0,void 0,function*(){var n;const{model:i,layout:s}=this.context;if(!i.getAncestorsData(t,st).every(g=>Oi(g)))return;const r=$e(i.getNodeData([t])[0]),a=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!a)return;const{drawData:{add:l}}=a;this.createElements(l,{animation:!1,stage:"expand",target:t}),this.context.animation.clear();const c=yield s.simulate();i.updateData(c),this.computeStyle("expand");const d=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!d)return;const{drawData:u}=d,{update:h}=u,f={animation:e,stage:"expand",data:u};l.edges.forEach(g=>h.edges.set(z(g),g)),l.nodes.forEach(g=>h.nodes.set(z(g),g)),this.updateElements(h,f),yield(n=this.context.animation.animate(e,{beforeAnimate:g=>this.emit(new Vi(W.BEFORE_ANIMATE,be.EXPAND,g,u),f),afterAnimate:g=>this.emit(new Vi(W.AFTER_ANIMATE,be.EXPAND,g,u),f)},{expand:{target:t,descendants:Array.from(l.nodes).map(([,g])=>z(g)),position:r}}))===null||n===void 0?void 0:n.finished})}collapseCombo(t,e){return vr(this,void 0,void 0,function*(){var n;const{model:i,element:s}=this.context;if(i.getAncestorsData(t,st).some(p=>Oi(p)))return;const r=s.getElement(t),a=r.getComboPosition(Object.assign(Object.assign({},r.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:e});if(!l)return;const{dataChanges:c,drawData:d}=l;this.markDestroyElement(d);const{update:u,remove:h}=d,f={animation:e,stage:"collapse",data:d};this.destroyElements(h,f),this.updateElements(u,f);const g=p=>Array.from(p).map(([,m])=>z(m));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new hi(W.BEFORE_DRAW,{dataChanges:c,animation:e}),f),beforeAnimate:p=>this.emit(new Vi(W.BEFORE_ANIMATE,be.COLLAPSE,p,d),f),afterAnimate:p=>this.emit(new Vi(W.AFTER_ANIMATE,be.COLLAPSE,p,d),f),after:()=>this.emit(new hi(W.AFTER_DRAW,{dataChanges:c,animation:e}),f)},{collapse:{target:t,descendants:[...g(h.nodes),...g(h.combos)],position:a}}))===null||n===void 0?void 0:n.finished})}expandCombo(t,e){return vr(this,void 0,void 0,function*(){var n;const{model:i}=this.context,s=$e(i.getComboData([t])[0]);this.computeStyle("expand");const r=this.computeChangesAndDrawData({stage:"expand",animation:e});if(!r)return;const{dataChanges:a,drawData:l}=r,{add:c,update:d}=l,u={animation:e,stage:"expand",data:l,target:t};this.createElements(c,u),this.updateElements(d,u);const h=f=>Array.from(f).map(([,g])=>z(g));yield(n=this.context.animation.animate(e,{before:()=>this.emit(new hi(W.BEFORE_DRAW,{dataChanges:a,animation:e}),u),beforeAnimate:f=>this.emit(new Vi(W.BEFORE_ANIMATE,be.EXPAND,f,l),u),afterAnimate:f=>this.emit(new Vi(W.AFTER_ANIMATE,be.EXPAND,f,l),u),after:()=>this.emit(new hi(W.AFTER_DRAW,{dataChanges:a,animation:e}),u)},{expand:{target:t,descendants:[...h(c.nodes),...h(c.combos)],position:s}}))===null||n===void 0?void 0:n.finished})}getFrontZIndex(t){const{model:e}=this.context,n=e.getElementType(t),i=e.getElementDataById(t),s=e.getData();if(Object.assign(s,{[`${n}s`]:s[`${n}s`].filter(r=>z(r)!==t)}),n==="combo"&&!Oi(i)){const r=e.getAncestorsData(t,st).map(z);s.nodes=s.nodes.filter(a=>!r.includes(z(a))),s.combos=s.combos.filter(a=>!r.includes(z(a))),s.edges=s.edges.filter(({source:a,target:l})=>r.includes(a)&&r.includes(l))}return Math.max(0,...Object.values(s).flat().map(r=>{const a=z(r);return this.getElementZIndex(a)}))+1}destroy(){this.container.destroy(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={},this.context={}}}var gc=y(96262);class n0 extends ia.Z{constructor(t,e,n){super(),this.graph=t,this.layout=e,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=gc.Ud(new Worker(new URL(y.p+y.u(96344),y.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var t;return(0,Se.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const e=this.layout.options,{onTick:n}=e,i=(0,Se._T)(e,["onTick"]),s={};Object.keys(i).forEach(c=>{(0,Ht.Z)(i[c])||(s[c]=i[c])});const r={layout:{id:this.layout.id,options:s,iterations:(t=this.options)===null||t===void 0?void 0:t.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},a=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(r,[a]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[gc.Yy]()}isRunning(){return this.running}}var as=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})},i0=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);ie.afterLayout())}simulate(){return as(this,void 0,void 0,function*(){if(!this.options)return{};const t=Array.isArray(this.options)?this.options:[this.options];let e={};for(const n of t){const i=t.indexOf(n),s=this.getLayoutData(n);e=yield this.stepLayout(s,Object.assign(Object.assign(Object.assign({},this.presetOptions),n),{animation:!1}),i)}return e})}stepLayout(t,e,n){return as(this,void 0,void 0,function*(){return $d(e)?yield this.treeLayout(t,e,n):yield this.graphLayout(t,e,n)})}graphLayout(t,e,n){return as(this,void 0,void 0,function*(){const{animation:i,enableWorker:s,iterations:r=300}=e,a=this.initGraphLayout(e);if(!a)return{};if(this.instances[n]=a,this.instance=a,s){const c=a;return this.supervisor=new n0(c.graphData2LayoutModel(t),c.instance,{iterations:r}),Bs(yield this.supervisor.execute())}if(qr(a))return i?yield a.execute(t,{onTick:c=>{this.updateElementPosition(c,!1)}}):(a.execute(t),a.stop(),a.tick(r));const l=yield a.execute(t);if(i){const c=this.updateElementPosition(l,i);yield c==null?void 0:c.finished}return l})}treeLayout(t,e,n){return as(this,void 0,void 0,function*(){const{type:i,animation:s}=e,r=bt("layout",i);if(!r)return{};const{nodes:a=[],edges:l=[]}=t,c=new li.k({nodes:a.map(g=>({id:z(g),data:g.data||{}})),edges:l.map(g=>({id:z(g),source:g.source,target:g.target,data:g.data||{}}))});qg(c);const d={nodes:[],edges:[]},u={nodes:[],edges:[]};c.getRoots(Pt).forEach(g=>{Wn(g,O=>{O.children=c.getSuccessors(O.id)},O=>c.getSuccessors(O.id),"TB");const p=r(g,e),{x:m,y:E,z:x=0}=p;Wn(p,O=>{const{id:j,x:X,y:U,z:V=0}=O;d.nodes.push({id:j,style:{x:m,y:E,z:x}}),u.nodes.push({id:j,style:{x:X,y:U,z:V}})},O=>O.children,"TB")});const f=this.inferTreeLayoutOffset(u);if(pc(u,f),s){pc(d,f),this.updateElementPosition(d,!1);const g=this.updateElementPosition(u,s);yield g==null?void 0:g.finished}return u})}inferTreeLayoutOffset(t){var e;let[n,i]=[1/0,-1/0],[s,r]=[1/0,-1/0];(e=t.nodes)===null||e===void 0||e.forEach(p=>{const{x:m=0,y:E=0}=p.style||{};n=Math.min(n,m),i=Math.max(i,m),s=Math.min(s,E),r=Math.max(r,E)});const{canvas:a}=this.context,l=a.getSize(),[c,d]=a.getCanvasByViewport([0,0]),[u,h]=a.getCanvasByViewport(l);if(n>=c&&i<=u&&s>=d&&r<=h)return[0,0];const f=(c+u)/2,g=(d+h)/2;return[f-(n+i)/2,g-(s+r)/2]}stopLayout(){this.instance&&qr(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(t){const{nodeFilter:e=()=>!0}=t,{nodes:n,edges:i,combos:s}=this.context.model.getData(),r=d=>this.context.element.getElement(d),a=n.filter(d=>{const u=z(d),h=r(u);return!h||As(h)?!1:e(d)}),l=new Map(a.map(d=>[z(d),d])),c=i.filter(d=>{const{source:u,target:h}=d;return!(!l.has(u)||!l.has(h))});return{nodes:a,edges:c,combos:s}}initGraphLayout(t){var e;const{element:n,viewport:i}=this.context,{type:s,enableWorker:r,animation:a,iterations:l}=t,c=i0(t,["type","enableWorker","animation","iterations"]),[d,u]=i.getCanvasSize(),h=[d/2,u/2],f=(e=t==null?void 0:t.nodeSize)!==null&&e!==void 0?e:x=>{const O=n==null?void 0:n.getElement(x.id),{size:j}=(O==null?void 0:O.attributes)||{};return Math.max(...Pi(j))},g=bt("layout",s);if(!g)return Wt.warn(`The layout of ${s} is not registered.`);const p=Object.getPrototypeOf(g.prototype)===Ba.prototype?g:Fd(g,this.context),m=new p(this.context),E={nodeSize:f,width:d,height:u,center:h};switch(m.id){case"d3-force":case"d3-force-3d":Object.assign(E,{center:{x:d/2,y:u/2,z:0}});break;default:break}return(0,kn.Z)(m.options,E,c),m}updateElementPosition(t,e){const{model:n,element:i}=this.context;return i?(n.updateData(t),i.draw({animation:e,silence:!0})):null}destroy(){var t;this.stopLayout(),this.context={},(t=this.supervisor)===null||t===void 0||t.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const pc=(o,t)=>{var e;const[n,i]=t;(e=o.nodes)===null||e===void 0||e.forEach(s=>{if(s.style){const{x:r=0,y:a=0}=s.style;s.style.x=r+n,s.style.y=a+i}else s.style={x:n,y:i}})};class s0 extends Xe{constructor(t){super(t),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(t){this.setExtensions(t)}getPluginInstance(t){const e=this.extensionMap[t];if(e)return e;Wt.warn(`Cannot find the plugin ${t}, will try to find it by type.`);const n=this.extensions.find(i=>i.type===t);if(n)return this.extensionMap[n.key]}}const yr=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class r0 extends Xe{constructor(t){super(t),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(t){this.setExtensions([...yr.slice(0,yr.length-1),...t,yr[yr.length-1]])}getTransformInstance(t){return t?this.extensionMap[t]:this.extensionMap}}var ls=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class a0{get padding(){return me(this.context.options.padding)}get paddingOffset(){const[t,e,n,i]=this.padding,[s,r,a]=[(i-e)/2,(t-n)/2,0];return[s,r,a]}constructor(t){this.landmarkCounter=0,this.context=t;const[e,n]=this.paddingOffset,{zoom:i,rotation:s,x:r=e,y:a=n}=t.options;this.transform({mode:"absolute",scale:i,translate:[r,a],rotate:s},!1)}get camera(){const{canvas:t}=this.context;return new Proxy(t.getCamera(),{get:(e,n)=>{const s=Object.entries(t.getLayers()).filter(([a])=>!["main"].includes(a)).map(([,a])=>a.getCamera()),r=e[n];if(typeof r=="function")return(...a)=>{const l=r.apply(e,a);return s.forEach(c=>{c[n].apply(c,a)}),l}}})}createLandmark(t){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,t)}getAnimation(t){const e=pn(this.context.options,t);return e?(0,Co.Z)(Object.assign({},e),["easing","duration"]):!1}getCanvasSize(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e,n]}getCanvasCenter(){const{canvas:t}=this.context,{width:e=0,height:n=0}=t.getConfig();return[e/2,n/2,0]}getViewportCenter(){const[t,e]=this.camera.getPosition();return[t,e,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(t){const{camera:e}=this,{mode:n,translate:i=[]}=t,s=this.getZoom(),r=e.getPosition(),a=e.getFocalPoint(),[l,c]=this.getCanvasCenter(),[d=0,u=0,h=0]=i,f=Ln([-d,-u,-h],s);return n==="relative"?{position:ae(r,f),focalPoint:ae(a,f)}:{position:ae([l,c,r[2]],f),focalPoint:ae([l,c,a[2]],f)}}getRotateOptions(t){const{mode:e,rotate:n=0}=t;return{roll:e==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(t){const{zoomRange:e}=this.context.options,n=this.camera.getZoom(),{mode:i,scale:s=1}=t;return(0,ka.Z)(i==="relative"?n*s:s,...e)}transform(t,e){return ls(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:i,rotate:s,scale:r,origin:a}=t;this.cancelAnimation();const l=this.getAnimation(e);if(vi(n,new pr(W.BEFORE_TRANSFORM,t)),!s&&r&&!i&&a&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(t),a),vi(n,new pr(W.AFTER_TRANSFORM,t));return}const c={};if(i&&Object.assign(c,this.getTranslateOptions(t)),(0,ge.Z)(s)&&Object.assign(c,this.getRotateOptions(t)),(0,ge.Z)(r)&&Object.assign(c,{zoom:this.getZoomOptions(t)}),l)return vi(n,new Vi(W.BEFORE_ANIMATE,be.TRANSFORM,null,t)),new Promise(d=>{this.transformResolver=d,this.camera.gotoLandmark(this.createLandmark(c),Object.assign(Object.assign({},l),{onfinish:()=>{vi(n,new Vi(W.AFTER_ANIMATE,be.TRANSFORM,null,t)),vi(n,new pr(W.AFTER_TRANSFORM,t)),this.transformResolver=void 0,d()}}))});this.camera.gotoLandmark(this.createLandmark(c),{duration:0}),vi(n,new pr(W.AFTER_TRANSFORM,t))})}fitView(t,e){return ls(this,void 0,void 0,function*(){const[n,i,s,r]=this.padding,{when:a="always",direction:l="both"}=t||{},[c,d]=this.context.canvas.getSize(),u=c-r-i,h=d-n-s,f=this.context.canvas.getBounds(),g=this.getBBoxInViewport(f),[p,m]=Z(g),E=l==="x"&&p>=u||l==="y"&&m>=h||l==="both"&&p>=u&&m>=h;if(a==="overflow"&&!E)return yield this.fitCenter(e);const x=u/p,O=h/m,j=l==="x"?x:l==="y"?O:Math.min(x,O),X=this.getAnimation(e);yield this.transform({mode:"relative",scale:j,translate:ae(Qe(this.getCanvasCenter(),this.getBBoxInViewport(f).center),Ln(this.paddingOffset,j))},X)})}fitCenter(t){return ls(this,void 0,void 0,function*(){const e=this.context.canvas.getBounds();yield this.focus(e,t)})}focusElements(t,e){return ls(this,void 0,void 0,function*(){const{element:n}=this.context;if(!n)return;const i=Ft(t.map(s=>n.getElement(s).getRenderBounds()));yield this.focus(i,e)})}focus(t,e){return ls(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(t.center),i=this.getCanvasCenter(),s=Qe(i,n);yield this.transform({mode:"relative",translate:ae(s,this.paddingOffset)},e)})}getBBoxInViewport(t){const{min:e,max:n}=t,{graph:i}=this.context,[s,r]=i.getViewportByCanvas(e),[a,l]=i.getViewportByCanvas(n),c=new nt.mN;return c.setMinMax([s,r,0],[a,l,0]),c}isInViewport(t,e=!1,n=0){const{graph:i}=this.context,s=this.getCanvasSize(),[r,a]=i.getCanvasByViewport([0,0]),[l,c]=i.getCanvasByViewport(s);let d=new nt.mN;return d.setMinMax([r,a,0],[l,c,0]),n&&(d=it(d,n)),gi(t)?Bt(t,d):e?Ct(t,d):d.intersects(t)}cancelAnimation(){var t,e;!((t=this.camera.landmarks)===null||t===void 0)&&t.length&&this.camera.cancelLandmarkAnimation(),(e=this.transformResolver)===null||e===void 0||e.call(this)}}var zn=function(o,t,e,n){function i(s){return s instanceof e?s:new e(function(r){r(s)})}return new(e||(e=Promise))(function(s,r){function a(d){try{c(n.next(d))}catch(u){r(u)}}function l(d){try{c(n.throw(d))}catch(u){r(u)}}function c(d){d.done?s(d.value):i(d.value).then(a,l)}c((n=n.apply(o,t||[])).next())})};class ca extends ia.Z{constructor(t){super(),this.destroyed=!1,this.context={model:new t0},this.isCollapsingExpanding=!1,this.onResize=(0,js.Z)(()=>{this.resize()},300),this.options=Object.assign({},ca.defaultOptions,t),this._setOptions(this.options,!0),this.context.graph=this,this.options.autoResize&&window.addEventListener("resize",this.onResize)}getOptions(){return this.options}setOptions(t){this._setOptions(t,!1)}_setOptions(t,e){if(this.updateCanvas(t),e){const{data:h}=t;h&&this.addData(h);return}Object.assign(this.options,t);const{behaviors:n,combo:i,data:s,edge:r,layout:a,node:l,plugins:c,theme:d,transforms:u}=t;n&&this.setBehaviors(n),s&&this.setData(s),l&&this.setNode(l),r&&this.setEdge(r),i&&this.setCombo(i),a&&this.setLayout(a),d&&this.setTheme(d),c&&this.setPlugins(c),u&&this.setTransforms(u)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(t,e){var n;Object.assign(this.options,{width:t,height:e}),(n=this.context.canvas)===null||n===void 0||n.resize(t,e)}setZoomRange(t){this.options.zoomRange=t}getZoomRange(){return this.options.zoomRange}setNode(t){this.options.node=t,this.context.model.refreshData()}setEdge(t){this.options.edge=t,this.context.model.refreshData()}setCombo(t){this.options.combo=t,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(t){this.options.theme=(0,Ht.Z)(t)?t(this.getTheme()):t}setLayout(t){this.options.layout=(0,Ht.Z)(t)?t(this.getLayout()):t}getLayout(){return this.options.layout}setBehaviors(t){var e;this.options.behaviors=(0,Ht.Z)(t)?t(this.getBehaviors()):t,(e=this.context.behavior)===null||e===void 0||e.setBehaviors(this.options.behaviors)}updateBehavior(t){this.setBehaviors(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(t){var e;this.options.plugins=(0,Ht.Z)(t)?t(this.getPlugins()):t,(e=this.context.plugin)===null||e===void 0||e.setPlugins(this.options.plugins)}updatePlugin(t){this.setPlugins(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(t){return this.context.plugin.getPluginInstance(t)}setTransforms(t){var e;this.options.transforms=(0,Ht.Z)(t)?t(this.getTransforms()):t,(e=this.context.transform)===null||e===void 0||e.setTransforms(this.options.transforms)}updateTransform(t){this.setTransforms(e=>e.map(n=>typeof n=="object"&&n.key===t.key?Object.assign(Object.assign({},n),t):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(t){return Array.isArray(t)?t.map(e=>this.context.model.getElementDataById(e)):this.context.model.getElementDataById(t)}getNodeData(t){var e;return t===void 0?this.context.model.getNodeData():Array.isArray(t)?this.context.model.getNodeData(t):(e=this.context.model.getNodeData([t]))===null||e===void 0?void 0:e[0]}getEdgeData(t){var e;return t===void 0?this.context.model.getEdgeData():Array.isArray(t)?this.context.model.getEdgeData(t):(e=this.context.model.getEdgeData([t]))===null||e===void 0?void 0:e[0]}getComboData(t){var e;return t===void 0?this.context.model.getComboData():Array.isArray(t)?this.context.model.getComboData(t):(e=this.context.model.getComboData([t]))===null||e===void 0?void 0:e[0]}setData(t){this.context.model.setData((0,Ht.Z)(t)?t(this.getData()):t)}addData(t){this.context.model.addData((0,Ht.Z)(t)?t(this.getData()):t)}addNodeData(t){this.context.model.addNodeData((0,Ht.Z)(t)?t(this.getNodeData()):t)}addEdgeData(t){this.context.model.addEdgeData((0,Ht.Z)(t)?t(this.getEdgeData()):t)}addComboData(t){this.context.model.addComboData((0,Ht.Z)(t)?t(this.getComboData()):t)}addChildrenData(t,e){this.context.model.addChildrenData(t,e)}updateData(t){this.context.model.updateData((0,Ht.Z)(t)?t(this.getData()):t)}updateNodeData(t){this.context.model.updateNodeData((0,Ht.Z)(t)?t(this.getNodeData()):t)}updateEdgeData(t){this.context.model.updateEdgeData((0,Ht.Z)(t)?t(this.getEdgeData()):t)}updateComboData(t){this.context.model.updateComboData((0,Ht.Z)(t)?t(this.getComboData()):t)}removeData(t){this.context.model.removeData((0,Ht.Z)(t)?t(this.getData()):t)}removeNodeData(t){this.context.model.removeNodeData((0,Ht.Z)(t)?t(this.getNodeData()):t)}removeEdgeData(t){this.context.model.removeEdgeData((0,Ht.Z)(t)?t(this.getEdgeData()):t)}removeComboData(t){this.context.model.removeComboData((0,Ht.Z)(t)?t(this.getComboData()):t)}getElementType(t){return this.context.model.getElementType(t)}getRelatedEdgesData(t,e="both"){return this.context.model.getRelatedEdgesData(t,e)}getNeighborNodesData(t){return this.context.model.getNeighborNodesData(t)}getAncestorsData(t,e){return this.context.model.getAncestorsData(t,e)}getParentData(t,e){return this.context.model.getParentData(t,e)}getChildrenData(t){return this.context.model.getChildrenData(t)}getDescendantsData(t){return this.context.model.getDescendantsData(t)}getElementDataByState(t,e){return this.context.model.getElementDataByState(t,e)}initCanvas(){return zn(this,void 0,void 0,function*(){var t;if(this.context.canvas)return yield this.context.canvas.ready;const{container:e="container",width:n,height:i,renderer:s,cursor:r,background:a,devicePixelRatio:l=(t=window.devicePixelRatio)!==null&&t!==void 0?t:1}=this.options;if(e instanceof uc)this.context.canvas=e,r&&e.setCursor(r),s&&e.setRenderer(s),yield e.ready;else{const c=(0,ve.Z)(e)?document.getElementById(e):e,d=Wl(c);this.emit(W.BEFORE_CANVAS_INIT,{container:c,width:n,height:i});const u=new uc({container:c,width:n||d[0],height:i||d[1],background:a,renderer:s,cursor:r,devicePixelRatio:l});this.context.canvas=u,yield u.ready,this.emit(W.AFTER_CANVAS_INIT,{canvas:u})}})}updateCanvas(t){var e,n;const{renderer:i,cursor:s,height:r,width:a}=t,l=this.context.canvas;l&&(i&&(this.emit(W.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(i),this.emit(W.AFTER_RENDERER_CHANGE,{renderer:i})),s&&l.setCursor(s),((0,ge.Z)(a)||(0,ge.Z)(r))&&this.setSize((e=a!=null?a:this.options.width)!==null&&e!==void 0?e:0,(n=r!=null?r:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new Kg(this.context)),this.context.plugin||(this.context.plugin=new s0(this.context)),this.context.viewport||(this.context.viewport=new a0(this.context)),this.context.transform||(this.context.transform=new r0(this.context)),this.context.element||(this.context.element=new e0(this.context)),this.context.animation||(this.context.animation=new Ug(this.context)),this.context.layout||(this.context.layout=new o0(this.context)),this.context.behavior||(this.context.behavior=new Yg(this.context))}prepare(){return zn(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Zt("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return zn(this,void 0,void 0,function*(){yield this.prepare(),vi(this,new hi(W.BEFORE_RENDER));const t=this.context.element.draw({type:"render"});yield Promise.all([t==null?void 0:t.finished,this.context.layout.layout()]),yield this.autoFit(),vi(this,new hi(W.AFTER_RENDER))})}draw(){return zn(this,void 0,void 0,function*(){var t;yield this.prepare(),yield(t=this.context.element.draw())===null||t===void 0?void 0:t.finished})}layout(){return zn(this,void 0,void 0,function*(){yield this.context.layout.layout()})}stopLayout(){this.context.layout.stopLayout()}clear(){return zn(this,void 0,void 0,function*(){this.context.model.setData({}),yield this.draw()})}destroy(){vi(this,new hi(W.BEFORE_DESTROY));const{layout:t,animation:e,element:n,model:i,canvas:s,behavior:r,plugin:a}=this.context;a==null||a.destroy(),r==null||r.destroy(),t==null||t.destroy(),e==null||e.destroy(),n==null||n.destroy(),i.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),window.removeEventListener("resize",this.onResize),this.destroyed=!0,vi(this,new hi(W.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(t,e){const n=!t||!e?Wl(this.context.canvas.getContainer()):[t,e];(0,xt.Z)(n,this.getSize())||(vi(this,new hi(W.BEFORE_SIZE_CHANGE,{size:n})),this.context.canvas.resize(...n),vi(this,new hi(W.AFTER_SIZE_CHANGE,{size:n})))}fitView(t,e){return zn(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(t,e)})}fitCenter(t){return zn(this,void 0,void 0,function*(){var e;yield(e=this.context.viewport)===null||e===void 0?void 0:e.fitCenter(t)})}autoFit(){return zn(this,void 0,void 0,function*(){const{autoFit:t}=this.context.options;if(t)if((0,ve.Z)(t))t==="view"?yield this.fitView():t==="center"&&(yield this.fitCenter());else{const{type:e,animation:n}=t;e==="view"?yield this.fitView(t.options,n):e==="center"&&(yield this.fitCenter(n))}})}focusElement(t,e){return zn(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(t)?t:[t],e)})}zoomBy(t,e,n){return zn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:t,origin:n},e)})}zoomTo(t,e,n){return zn(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:t,origin:n},e)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(t,e,n){return zn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:t,origin:n},e)})}rotateTo(t,e,n){return zn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:t,origin:n},e)})}getRotation(){return this.context.viewport.getRotation()}translateBy(t,e){return zn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:t},e)})}translateTo(t,e){return zn(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:t},e)})}getPosition(){return Qe([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(t,e){return zn(this,arguments,void 0,function*(n,i,s=!0){var r,a;const[l,c]=(0,dt.Z)(n)?[n,(r=i)!==null&&r!==void 0?r:!0]:[{[n]:i},s];Object.entries(l).forEach(([d,u])=>this.context.model.translateNodeLikeBy(d,u)),yield(a=this.context.element.draw({animation:c,stage:"translate"}))===null||a===void 0?void 0:a.finished})}translateElementTo(t,e){return zn(this,arguments,void 0,function*(n,i,s=!0){var r,a;const[l,c]=(0,dt.Z)(n)?[n,(r=i)!==null&&r!==void 0?r:!0]:[{[n]:i},s];Object.entries(l).forEach(([d,u])=>this.context.model.translateNodeLikeTo(d,u)),yield(a=this.context.element.draw({animation:c,stage:"translate"}))===null||a===void 0?void 0:a.finished})}getElementPosition(t){return this.context.model.getElementPosition(t)}getElementRenderStyle(t){return(0,kl.Z)(this.context.element.getElement(t).attributes,["context"])}setElementVisibility(t,e){return zn(this,arguments,void 0,function*(n,i,s=!0){var r,a;const[l,c]=(0,dt.Z)(n)?[n,(r=i)!==null&&r!==void 0?r:!0]:[{[n]:i},s],d={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([f,g])=>{const p=this.getElementType(f);d[`${p}s`].push({id:f,style:{visibility:g}})});const{model:u,element:h}=this.context;u.preventUpdateNodeLikeHierarchy(()=>{u.updateData(d)}),yield(a=h.draw({animation:c,stage:"visibility"}))===null||a===void 0?void 0:a.finished})}showElement(t,e){return zn(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"visible"])),e)})}hideElement(t,e){return zn(this,void 0,void 0,function*(){const n=Array.isArray(t)?t:[t];yield this.setElementVisibility(Object.fromEntries(n.map(i=>[i,"hidden"])),e)})}getElementVisibility(t){var e,n;const i=this.context.element.getElement(t);return(n=(e=i==null?void 0:i.style)===null||e===void 0?void 0:e.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(t,e){return zn(this,void 0,void 0,function*(){var n;const i={nodes:[],edges:[],combos:[]},s=(0,dt.Z)(t)?t:{[t]:e};Object.entries(s).forEach(([l,c])=>{const d=this.getElementType(l);i[`${d}s`].push({id:l,style:{zIndex:c}})});const{model:r,element:a}=this.context;r.preventUpdateNodeLikeHierarchy(()=>r.updateData(i)),yield(n=a.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(t){return zn(this,void 0,void 0,function*(){const e=Array.isArray(t)?t:[t],{model:n,element:i}=this.context,s={};e.map(r=>{const a=i.getFrontZIndex(r);if(n.getElementType(r)==="combo"){const c=n.getAncestorsData(r,st).at(-1)||this.getComboData(r),d=[c,...n.getDescendantsData(z(c))],u=a-i.getElementZIndex(r);d.forEach(f=>{s[z(f)]=this.getElementZIndex(z(f))+u});const{internal:h}=Lr(d.map(z),f=>n.getRelatedEdgesData(f));h.forEach(f=>{const g=z(f);s[g]=this.getElementZIndex(g)+u})}else s[r]=a}),yield this.setElementZIndex(s)})}getElementZIndex(t){var e,n,i;const{model:s,element:r}=this.context;return(i=(n=(e=s.getElementDataById(t))===null||e===void 0?void 0:e.style)===null||n===void 0?void 0:n.zIndex)!==null&&i!==void 0?i:r.getElementZIndex(t)}setElementState(t,e){return zn(this,arguments,void 0,function*(n,i,s=!0){var r,a;const[l,c]=(0,dt.Z)(n)?[n,(r=i)!==null&&r!==void 0?r:!0]:[{[n]:i},s],d=h=>h?Array.isArray(h)?h:[h]:[],u={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([h,f])=>{const g=this.getElementType(h);u[`${g}s`].push({id:h,states:d(f)})}),this.updateData(u),yield(a=this.context.element.draw({animation:c}))===null||a===void 0?void 0:a.finished})}getElementState(t){return this.context.model.getElementState(t)}getElementRenderBounds(t){return this.context.element.getElement(t).getRenderBounds()}collapseElement(t){return zn(this,arguments,void 0,function*(e,n=!0){const{model:i,element:s}=this.context;if(Oi(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;const r=i.getElementType(e);yield this.frontElement(e),this.isCollapsingExpanding=!0,this.setElementCollapsibility(e,!0),r==="node"?yield s.collapseNode(e,n):r==="combo"&&(yield s.collapseCombo(e,n)),this.isCollapsingExpanding=!1})}expandElement(t){return zn(this,arguments,void 0,function*(e,n=!0){const{model:i,element:s}=this.context;if(!Oi(i.getNodeLikeData([e])[0])||this.isCollapsingExpanding)return;const r=i.getElementType(e);this.isCollapsingExpanding=!0,this.setElementCollapsibility(e,!1),r==="node"?yield s.expandNode(e,n):r==="combo"&&(yield s.expandCombo(e,n)),this.isCollapsingExpanding=!1})}setElementCollapsibility(t,e){const n=this.getElementType(t);n==="node"?this.updateNodeData([{id:t,style:{collapsed:e}}]):n==="combo"&&this.updateComboData([{id:t,style:{collapsed:e}}])}toDataURL(){return zn(this,arguments,void 0,function*(t={}){return this.context.canvas.toDataURL(t)})}getCanvasByViewport(t){return this.context.canvas.getCanvasByViewport(t)}getViewportByCanvas(t){return this.context.canvas.getViewportByCanvas(t)}getClientByCanvas(t){return this.context.canvas.getClientByCanvas(t)}getCanvasByClient(t){return this.context.canvas.getCanvasByClient(t)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(t,e,n){return super.on(t,e,n)}once(t,e){return super.once(t,e)}off(t,e){return super.off(t,e)}}ca.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var l0=function(o,t){var e={};for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&t.indexOf(n)<0&&(e[n]=o[n]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(o);i{if(a.depth=l,!a.children)return a;const{children:c}=a,d=l0(a,["children"]);return Object.assign(Object.assign({},d),{children:c.map(u=>u.id)})},getEdgeData:n=(a,l)=>({source:a.id,target:l.id}),getChildren:i=a=>a.children||[]}=t||{},s=[],r=[];return Wn(o,(a,l)=>{s.push(e(a,l));const c=i(a);for(const d of c)r.push(n(a,d))},a=>i(a),"TB"),{nodes:s,edges:r}}class d0 extends go{beforeDraw(t){const{add:e,update:n}=t,{model:i}=this.context;return[...e.edges.entries(),...n.edges.entries()].forEach(([,s])=>{mc(i,s)}),t}}const mc=(o,t)=>{const{source:e,target:n}=t,i=o.getElementDataById(e),s=o.getElementDataById(n),r=Ca(i,u=>o.getParentData(u,st)),a=Ca(s,u=>o.getParentData(u,st)),l=z(r),c=z(a),d={sourceNode:l,targetNode:c};return t.style?Object.assign(t.style,d):t.style=d,t},u0=(o,t,e)=>{const[n,i]=t,[s,r]=e;if(i===n)return s;const a=(o-n)/(i-n);return s+a*(r-s)},h0=(o,t,e)=>{const[n,i]=t,[s,r]=e,a=Math.log(o-n+1)/Math.log(i-n+1);return s+a*(r-s)},f0=(o,t,e,n=2)=>{const[i,s]=t,[r,a]=e,l=Math.pow((o-i)/(s-i),n);return r+l*(a-r)},g0=(o,t,e)=>{const[n,i]=t,[s,r]=e,a=Math.sqrt((o-n)/(i-n));return s+a*(r-s)};class br extends go{constructor(t,e){super(t,(0,kn.Z)({},br.defaultOptions,e)),this.assignSizeByCentrality=(n,i,s,r,a,l)=>{const c=[i,s],d=[r[0],a[0]],u=[r[1],a[1]],h=[r[2],a[2]],f=(g,p)=>{if(typeof l=="function")return l(g,c,p);switch(l){case"linear":return u0(g,c,p);case"log":return h0(g,c,p);case"pow":return f0(g,c,p,2);case"sqrt":return g0(g,c,p);default:return p[0]}};return[f(n,d),f(n,u),f(n,h)]}}beforeDraw(t){const{model:e}=this.context,n=e.getNodeData(),i=Pi(this.options.maxSize),s=Pi(this.options.minSize),r=this.getCentralities(this.options.centrality),a=r.size>0?Math.max(...r.values()):0,l=r.size>0?Math.min(...r.values()):0;return n.forEach(c=>{var d;const u=this.assignSizeByCentrality(r.get(z(c))||0,l,a,s,i,this.options.scale),h=(d=this.context.element)===null||d===void 0?void 0:d.getElement(z(c)),f={size:u};this.assignLabelStyle(f,u,c,h),(!h||!fr(f,h.attributes))&&ki(t,h?"update":"add","node",(0,kn.Z)(c,{style:f}),!0)}),t}assignLabelStyle(t,e,n,i){var s;const r=i?i.config.style:(s=this.context.element)===null||s===void 0?void 0:s.getElementComputedStyle("node",n);if(Object.assign(t,(0,Co.Z)(r,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const a=this.getLabelSizeByNodeSize(e,1/0,Number(t.labelFontSize));Object.assign(t,{labelFontSize:a,labelLineHeight:a+cn(t.labelPadding)})}return t}getLabelSizeByNodeSize(t,e,n){const i=Math.min(...t)/2,[s,r]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,e];return Math.min(r,Math.max(i,s))}getCentralities(t){const{model:e}=this.context,n=e.getData();if(typeof t=="function")return t(n);const i=e.getRelatedEdgesData.bind(e);return ln(n,i,t)}}br.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class Er extends go{constructor(t,e){super(t,Object.assign({},Er.defaultOptions,e))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var t;const e=$e(this.ref),{graph:n,model:i}=this.context;(t=i.getData().nodes)===null||t===void 0||t.forEach(r=>{if(z(r)===z(this.ref))return;const a=ee(Qe($e(r),e)),l=Math.abs(a)>Math.PI/2,c=r.transformd||!r.children||r.children.length===0,d=Pi(n.getElementRenderStyle(z(r)).size)[0]/2,u=(c?1:-1)*(d+this.options.offset),h=[["translate",u*Math.cos(a),u*Math.sin(a)],["rotate",l?(0,nt.BV)(a)+180:(0,nt.BV)(a)]];i.updateNodeData([{id:z(r),style:{labelTextAlign:l===c?"right":"left",labelTextBaseline:"middle",labelTransform:h}}])}),n.draw()}}Er.defaultOptions={offset:5};var vc=y(50264);const p0="quadratic",yc=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class xr extends go{constructor(t,e){super(t,Object.assign({},xr.defaultOptions,e)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:i},update:{nodes:s,edges:r,combos:a},remove:{edges:l}}=n,{model:c}=this.context,d=new Map,u=(g,p)=>{c.getRelatedEdgesData(p).forEach(E=>!d.has(z(E))&&d.set(z(E),E))};s.forEach(u),a.forEach(u);const h=g=>{const p=c.getEdgeData().map(E=>mc(c,E));m0(g,p,!0).forEach(E=>!d.has(z(E))&&d.set(z(E),E))};if(l.size&&l.forEach(h),i.size&&i.forEach(h),r.size){const g=Xl(oa(c.getChanges())).update.edges;r.forEach(p=>{var m;h(p);const E=(m=g.find(x=>z(x.value)===z(p)))===null||m===void 0?void 0:m.original;E&&!da(p,E)&&h(E)})}(0,Gi.Z)(this.options.edges)||d.forEach((g,p)=>!this.options.edges.includes(p)&&d.delete(p));const f=c.getEdgeData().map(z);return new Map([...d].sort((g,p)=>f.indexOf(g[0])-f.indexOf(p[0])))},this.applyBundlingStyle=(n,i,s)=>{const{edgeMap:r,reverses:a}=bc(i);r.forEach(l=>{l.forEach((c,d,u)=>{var h;const f=u.length,g=c.style||{};if(c.source===c.target){const E=yc.length;g.loopPlacement=yc[d%E],g.loopDist=Math.floor(d/E)*s+50}else if(f===1)g.curveOffset=0;else{const E=(d%2===0?1:-1)*(a[`${c.source}|${c.target}|${d}`]?-1:1);g.curveOffset=f%2===1?E*Math.ceil(d/2)*s*2:E*(Math.floor(d/2)*s*2+s)}const p=Object.assign(c,{type:p0,style:g}),m=(h=this.context.element)===null||h===void 0?void 0:h.getElement(z(c));(!m||!fr(p.style,m.attributes))&&ki(n,m?"update":"add","edge",p,!0)})})},this.resetEdgeStyle=n=>{const i=n.style||{},s=this.cacheMergeStyle.get(z(n))||{};return Object.keys(s).forEach(r=>{(0,xt.Z)(i[r],s[r])&&(n[r]?i[r]=n[r]:delete i[r])}),Object.assign(n,{style:i})},this.applyMergingStyle=(n,i)=>{const{edgeMap:s,reverses:r}=bc(i);s.forEach(a=>{var l;if(a.length===1){const d=a[0],u=(l=this.context.element)===null||l===void 0?void 0:l.getElement(z(d)),h=this.resetEdgeStyle(d);(!u||!fr(h,u.attributes))&&ki(n,u?"update":"add","edge",h);return}const c=a.map(({source:d,target:u,style:h={}},f)=>{const{startArrow:g,endArrow:p}=h,m={},[E,x]=r[`${d}|${u}|${f}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return(0,vc.Z)(g)&&(m[E]=g),(0,vc.Z)(p)&&(m[x]=p),m}).reduce((d,u)=>Object.assign(Object.assign({},d),u),{});a.forEach((d,u,h)=>{var f;if(u!==0){ki(n,"remove","edge",d);return}const g=Object.assign({},(0,Ht.Z)(this.options.style)?this.options.style(h):this.options.style,{childrenData:h});this.cacheMergeStyle.set(z(d),g);const p=Object.assign(Object.assign({},d),{type:"line",style:Object.assign(Object.assign(Object.assign({},d.style),c),g)}),m=(f=this.context.element)===null||f===void 0?void 0:f.getElement(z(d));(!m||!fr(p.style,m.attributes))&&ki(n,m?"update":"add","edge",p,!0)})})}}beforeDraw(t){const e=this.getAffectedParallelEdges(t);return e.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(t,e,this.options.distance):this.applyMergingStyle(t,e)),t}}xr.defaultOptions={mode:"bundle",distance:15};const bc=o=>{const t=new Map,e=new Set,n={};for(const[i,s]of o){if(e.has(i))continue;const{source:r,target:a}=s,l=`${r}-${a}`;t.has(l)||t.set(l,[]),t.get(l).push(s),e.add(i);for(const[c,d]of o)e.has(c)||da(s,d)&&(t.get(l).push(d),e.add(c),r===d.target&&a===d.source&&(n[`${d.source}|${d.target}|${t.get(l).length-1}`]=!0))}return{edgeMap:t,reverses:n}},m0=(o,t,e)=>t.filter(n=>(e||z(n)!==z(o))&&da(n,o)),da=(o,t)=>{const{sourceNode:e,targetNode:n}=o.style||{},{sourceNode:i,targetNode:s}=t.style||{};return e===i&&n===s||e===s&&n===i};class v0 extends go{beforeDraw(t,e){const{stage:n}=e;if(n==="visibility")return t;const{model:i}=this.context,{update:{nodes:s,edges:r,combos:a}}=t,l=(c,d)=>{i.getRelatedEdgesData(d).forEach(h=>!r.has(z(h))&&r.set(z(h),h))};return s.forEach(l),a.forEach(l),t}}const y0={animation:{"combo-collapse":ei,"combo-expand":_n,"node-collapse":An,"node-expand":ri,"path-in":ci,"path-out":Fn,fade:Bn,translate:Xn},behavior:{"brush-select":On,"click-select":Ai,"collapse-expand":Ps,"create-edge":_s,"drag-canvas":zs,"drag-element-force":Wd,"drag-element":is,"fix-element-size":Zs,"focus-element":$s,"hover-activate":Fs,"lasso-select":Vd,"auto-adapt-label":qe,"optimize-viewport-transform":ks,"scroll-canvas":Ws,"zoom-canvas":Hs},combo:{circle:Uc,rect:Kc},edge:{cubic:Do,line:Rs,polyline:Is,quadratic:Ns,"cubic-horizontal":Cs,"cubic-radial":Ds,"cubic-vertical":Ms},layout:{"antv-dagre":Nh,"combo-combined":tf,"compact-box":Vs.compactBox,"force-atlas2":gf,circular:Th,concentric:Gr,"d3-force":df,dagre:Us,dendrogram:Vs.dendrogram,force:Nl,fruchterman:vf,grid:bf,indented:Vs.indented,mds:jl,mindmap:Vs.mindmap,radial:Rf,random:_f},node:{circle:Oo,diamond:zc,ellipse:bs,hexagon:kc,html:Es,image:xs,rect:Hc,star:Vc,donut:vs,triangle:Ss},palette:{spectral:jf,tableau:zf,oranges:Bf,greens:Zf,blues:$f},theme:{dark:zg,light:Bg},plugin:{"bubble-sets":Xs,"edge-bundling":Js,"edge-filter-lens":qs,"grid-line":nr,background:Gs,contextmenu:Qs,fisheye:tr,fullscreen:er,history:ir,hull:or,legend:rr,minimap:ar,snapline:lr,timebar:cr,toolbar:dr,tooltip:ur,watermark:hr},transform:{"arrange-draw-order":Zg,"collapse-expand-combo":$g,"collapse-expand-node":Fg,"get-edge-actual-ends":d0,"map-node-size":br,"place-radial-labels":Er,"process-parallel-edges":xr,"update-related-edges":v0},shape:{circle:nt.Cd,ellipse:nt.Pj,group:nt.ZA,html:nt.k9,image:Dr,line:nt.x1,path:nt.y$,polygon:nt.mg,polyline:nt.aH,rect:nt.UL,text:nt.xv,label:Xi,badge:zo}};function b0(){Object.entries(y0).forEach(([o,t])=>{Object.entries(t).forEach(([e,n])=>{kg(o,e,n)})})}b0();const G0={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"};var E0=Object.defineProperty,Ec=Object.getOwnPropertySymbols,x0=Object.prototype.hasOwnProperty,S0=Object.prototype.propertyIsEnumerable,xc=(o,t,e)=>t in o?E0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,w0=(o,t)=>{for(var e in t||(t={}))x0.call(t,e)&&xc(o,e,t[e]);if(Ec)for(var e of Ec(t))S0.call(t,e)&&xc(o,e,t[e]);return o};const X0=o=>React.createElement("svg",w0({width:12,height:8,xmlns:"http://www.w3.org/2000/svg"},o),React.createElement("title",null,"\u7F16\u7EC4 10"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"m.565 4.503 3.488 3.284c.217.204.533.26.814.154a.708.708 0 0 0 .463-.652V.72a.708.708 0 0 0-.463-.652.807.807 0 0 0-.288-.056.737.737 0 0 0-.526.21L.565 3.506a.692.692 0 0 0-.217.499.655.655 0 0 0 .217.498Z",fill:"#462BB1"}),React.createElement("path",{d:"m7.232 4.503 3.488 3.284c.217.204.533.26.814.154a.708.708 0 0 0 .463-.652V.72a.708.708 0 0 0-.463-.652.807.807 0 0 0-.288-.056.737.737 0 0 0-.526.21L7.232 3.506a.692.692 0 0 0-.218.499.655.655 0 0 0 .218.498Z",fill:"#A395D9"})));var O0="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Im0uNTY1IDQuNTAzIDMuNDg4IDMuMjg0Yy4yMTcuMjA0LjUzMy4yNi44MTQuMTU0YS43MDguNzA4IDAgMCAwIC40NjMtLjY1MlYuNzJhLjcwOC43MDggMCAwIDAtLjQ2My0uNjUyLjgwNy44MDcgMCAwIDAtLjI4OC0uMDU2LjczNy43MzcgMCAwIDAtLjUyNi4yMUwuNTY1IDMuNTA2YS42OTIuNjkyIDAgMCAwLS4yMTcuNDk5LjY1NS42NTUgMCAwIDAgLjIxNy40OThaIiBmaWxsPSIjNDYyQkIxIi8+PHBhdGggZD0ibTcuMjMyIDQuNTAzIDMuNDg4IDMuMjg0Yy4yMTcuMjA0LjUzMy4yNi44MTQuMTU0YS43MDguNzA4IDAgMCAwIC40NjMtLjY1MlYuNzJhLjcwOC43MDggMCAwIDAtLjQ2My0uNjUyLjgwNy44MDcgMCAwIDAtLjI4OC0uMDU2LjczNy43MzcgMCAwIDAtLjUyNi4yMUw3LjIzMiAzLjUwNmEuNjkyLjY5MiAwIDAgMC0uMjE4LjQ5OS42NTUuNjU1IDAgMCAwIC4yMTguNDk4WiIgZmlsbD0iI0EzOTVEOSIvPjwvZz48L3N2Zz4=",C0=Object.defineProperty,Sc=Object.getOwnPropertySymbols,D0=Object.prototype.hasOwnProperty,M0=Object.prototype.propertyIsEnumerable,wc=(o,t,e)=>t in o?C0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,R0=(o,t)=>{for(var e in t||(t={}))D0.call(t,e)&&wc(o,e,t[e]);if(Sc)for(var e of Sc(t))M0.call(t,e)&&wc(o,e,t[e]);return o};const Q0=o=>React.createElement("svg",R0({width:12,height:8,xmlns:"http://www.w3.org/2000/svg"},o),React.createElement("title",null,"\u7F16\u7EC4 10"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M11.435 4.503 7.947 7.787a.785.785 0 0 1-.814.154.708.708 0 0 1-.463-.652V.72c0-.287.182-.54.463-.652a.807.807 0 0 1 .288-.056c.196 0 .386.07.526.21l3.488 3.284c.14.134.217.316.217.499a.655.655 0 0 1-.217.498Z",fill:"#462BB1"}),React.createElement("path",{d:"M4.768 4.503 1.28 7.787a.785.785 0 0 1-.814.154.708.708 0 0 1-.463-.652V.72c0-.287.183-.54.463-.652A.807.807 0 0 1 .754.012c.197 0 .386.07.526.21l3.488 3.284c.14.134.218.316.218.499a.655.655 0 0 1-.218.498Z",fill:"#A395D9"})));var I0="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMS40MzUgNC41MDMgNy45NDcgNy43ODdhLjc4NS43ODUgMCAwIDEtLjgxNC4xNTQuNzA4LjcwOCAwIDAgMS0uNDYzLS42NTJWLjcyYzAtLjI4Ny4xODItLjU0LjQ2My0uNjUyYS44MDcuODA3IDAgMCAxIC4yODgtLjA1NmMuMTk2IDAgLjM4Ni4wNy41MjYuMjFsMy40ODggMy4yODRjLjE0LjEzNC4yMTcuMzE2LjIxNy40OTlhLjY1NS42NTUgMCAwIDEtLjIxNy40OThaIiBmaWxsPSIjNDYyQkIxIi8+PHBhdGggZD0iTTQuNzY4IDQuNTAzIDEuMjggNy43ODdhLjc4NS43ODUgMCAwIDEtLjgxNC4xNTQuNzA4LjcwOCAwIDAgMS0uNDYzLS42NTJWLjcyYzAtLjI4Ny4xODMtLjU0LjQ2My0uNjUyQS44MDcuODA3IDAgMCAxIC43NTQuMDEyYy4xOTcgMCAuMzg2LjA3LjUyNi4yMWwzLjQ4OCAzLjI4NGMuMTQuMTM0LjIxOC4zMTYuMjE4LjQ5OWEuNjU1LjY1NSAwIDAgMS0uMjE4LjQ5OFoiIGZpbGw9IiNBMzk1RDkiLz48L2c+PC9zdmc+",N0=Object.defineProperty,A0=Object.defineProperties,P0=Object.getOwnPropertyDescriptors,Oc=Object.getOwnPropertySymbols,T0=Object.prototype.hasOwnProperty,L0=Object.prototype.propertyIsEnumerable,Cc=(o,t,e)=>t in o?N0(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,Sr=(o,t)=>{for(var e in t||(t={}))T0.call(t,e)&&Cc(o,e,t[e]);if(Oc)for(var e of Oc(t))L0.call(t,e)&&Cc(o,e,t[e]);return o},_0=(o,t)=>A0(o,P0(t)),cs=(o,t,e)=>new Promise((n,i)=>{var s=l=>{try{a(e.next(l))}catch(c){i(c)}},r=l=>{try{a(e.throw(l))}catch(c){i(c)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,r);a((e=e.apply(o,t)).next())}),j0=()=>{const o=(0,C.useRef)(null),t=(0,C.useRef)(null),{pathId:e}=(0,lt.useParams)(),[n,i]=(0,C.useState)([]),[s,r]=(0,C.useState)(!1),[a,l]=(0,C.useState)([]),[c,d]=(0,C.useState)(1),[u,h]=(0,C.useState)(!1),[f]=Rt.default.useForm(),[g,p]=(0,C.useState)([]),[m,E]=(0,C.useState)({knowledge_type:1}),[x,O]=(0,C.useState)([]),[j,X]=(0,C.useState)({}),[U,V]=(0,C.useState)({nodes:[],links:[]});(0,C.useEffect)(()=>{k()},[]);function k(){return cs(this,null,function*(){var q,Lt,Nt,Tt,St,kt,rn,pt;if(!o.current)return;let le=yield(0,Mt.ZP)(`/api/knowledge_maps/${e}.json`,{method:"get"});if((le==null?void 0:le.status)===0){l(le==null?void 0:le.data);let Ve=[];(Lt=(q=le==null?void 0:le.data)==null?void 0:q.node_data)==null||Lt.map(Ue=>{var Ji;return(Ji=Ue==null?void 0:Ue.nodes)==null?void 0:Ji.map((qi,Ui)=>{Ui==0&&Ve.push(qi)})});let Nn=(Nt=Ve==null?void 0:Ve.splice(1))==null?void 0:Nt.map((Ue,Ji)=>{var qi,Ui,ds;return{startNodeUuid:(Ui=(qi=Ve==null?void 0:Ve[0])==null?void 0:qi.properties)==null?void 0:Ui.uuid,type:"\u5305\u542B",endNodeUuid:(ds=Ue==null?void 0:Ue.properties)==null?void 0:ds.uuid}});const{nodes:Yn,links:tn}=(St=(Tt=le==null?void 0:le.data)==null?void 0:Tt.node_data)==null?void 0:St.reduce((Ue,Ji)=>(Ue.nodes.push(...Ji.nodes),Ue.links.push(...Ji.relationships),Ue),{nodes:[],links:[]});let Zn=(0,Ot.fX)(Yn==null?void 0:Yn.map((Ue,Ji)=>{var qi,Ui,ds,Dc,Mc,Rc;return _0(Sr(Sr({},Ue),Ue==null?void 0:Ue.properties),{rootNodeUuid:(qi=Ue==null?void 0:Ue.properties)==null?void 0:qi.rootNodeUuid,id:(Ui=Ue==null?void 0:Ue.properties)==null?void 0:Ui.name,name:(ds=Ue==null?void 0:Ue.properties)==null?void 0:ds.name,labelstype:(Dc=Ue==null?void 0:Ue.labels)==null?void 0:Dc[1],description:(Mc=Ue==null?void 0:Ue.properties)==null?void 0:Mc.description,nodeType:(Rc=Ue==null?void 0:Ue.properties)==null?void 0:Rc.nodeType,level:0})}),[...tn==null?void 0:tn.filter(Ue=>Ue.type==="\u5305\u542B"),...Nn]),Gn=c0(Zn),$n=(kt=Gn.nodes)==null?void 0:kt.filter((Ue,Ji,qi)=>Ji===qi.findIndex(Ui=>Ui.id===Ue.id)),_i=(rn=Gn.edges)==null?void 0:rn.filter((Ue,Ji,qi)=>Ji===qi.findIndex(Ui=>Ui.source===Ue.source&&Ui.target===Ue.target));console.log("----",Zn),V({nodes:$n,links:_i})}let je=yield(0,Mt.ZP)(`/api/knowledge_maps/${e}/knowledge_list.json`,{method:"get"});(je==null?void 0:je.status)===0&&(i((pt=je==null?void 0:je.data)==null?void 0:pt.list),X(je==null?void 0:je.data))})}(0,C.useEffect)(()=>{if(!o.current||U.nodes.length===0)return;const q=(0,S.Z)()(o.current).graphData(U).nodeAutoColorBy("group").nodeThreeObject(Lt=>{const Nt=Math.max(10*Math.pow(.7,Lt.level),2),Tt=new F.Kj0(new F.xo$(Nt,16,16),new F.vBJ({color:Lt.color||16777215})),St=new rt(Lt.id);St.color="#fff",St.textHeight=Nt*.9,St.position.set(0,Nt+2,0);const kt=new F.ZAu;return kt.add(Tt),kt.add(St),kt}).linkOpacity(.3).linkWidth(.5).linkDirectionalParticles(0).linkDirectionalParticleWidth(0).onNodeClick(Lt=>{const Tt=1+80/Math.hypot(Lt.x,Lt.y,Lt.z);q.cameraPosition({x:Lt.x*Tt,y:Lt.y*Tt,z:Lt.z*Tt},Lt,3e3)});return t.current=q,()=>{q._destructor()}},[U]);function yt(){return cs(this,null,function*(){let q=yield(0,Mt.ZP)("/api/paths.json",{method:"get",params:{page:1,limit:800}});q&&p(q==null?void 0:q.subjects)})}function zt(q){return cs(this,null,function*(){var Lt;let Nt=yield(0,Mt.ZP)("/api/knowledge_maps.json",{method:"get",params:{page:1,limit:800,knowledge_type:q}});Nt&&O(((Lt=Nt==null?void 0:Nt.data)==null?void 0:Lt.list)||[])})}return C.createElement("div",{style:{position:"relative"}},C.createElement(At.ZP,{type:"primary",ghost:!0,style:{position:"absolute",top:20,left:20,zIndex:10},onClick:()=>{history.back()}},"\u8FD4\u56DE"),C.createElement("div",{onClick:()=>{r(!s)},className:wt.rightopen,style:{right:s?600:0}},C.createElement("div",null,s?"\u6536":"\u5C55"),C.createElement("div",null,s?"\u8D77":"\u5F00"),C.createElement("img",{src:s?I0:O0})),s&&C.createElement("div",{className:wt.rightmodal},C.createElement("div",{style:{display:"flex",justifyContent:"end"}},C.createElement("a",{onClick:()=>{(j==null?void 0:j.knowledge_type)==2?yt():(j==null?void 0:j.knowledge_type)==3&&zt(2),f.setFieldsValue({knowledge_type:j==null?void 0:j.knowledge_type,name:a==null?void 0:a.name,description:a==null?void 0:a.description,subject_ids:(j==null?void 0:j.knowledge_type)==2?a==null?void 0:a.subject_ids:[],knowledge_map_ids:(j==null?void 0:j.knowledge_type)==3?a==null?void 0:a.map_ids:[]}),E({knowledge_type:j==null?void 0:j.knowledge_type,name:a==null?void 0:a.name,description:a==null?void 0:a.description,subject_ids:(j==null?void 0:j.knowledge_type)==2?a==null?void 0:a.subject_ids:[],knowledge_map_ids:(j==null?void 0:j.knowledge_type)==3?a==null?void 0:a.map_ids:[]}),h(!0)}},"\u7F16\u8F91"),C.createElement("a",{onClick:()=>cs(void 0,null,function*(){let q=yield(0,Mt.ZP)(`/api/knowledge_maps/${e}.json`,{method:"DELETE"});(q==null?void 0:q.status)===0&&($t.ZP.info("\u5220\u9664\u6210\u529F"),history.back())}),style:{marginLeft:20}},"\u5220\u9664")),C.createElement("div",{className:wt.rname},C.createElement("div",{style:{color:"#333333",fontSize:16}},a==null?void 0:a.name),C.createElement("div",{style:{marginTop:14}},C.createElement("span",{style:{color:"#5F6A95"}},"\u521B\u5EFA\u65E5\u671F"),C.createElement("span",{style:{marginLeft:10}},a==null?void 0:a.created_at))),C.createElement("div",{style:{marginTop:20,display:"flex"}},C.createElement("div",{onClick:()=>{d(1)},className:wt.topradios},"\u4E13\u4E1A\u6982\u89C8"),C.createElement("div",{onClick:()=>{d(2)},className:wt.topradio},"\u56FE\u8C31\u5217\u8868")),c===1&&C.createElement("div",{className:wt.bocent},C.createElement("div",{className:wt.bctitle},C.createElement("div",null,"\u8BFE\u7A0B\u6570\u91CF"),C.createElement("div",null,"\u56FE\u8C31\u6570\u91CF"),C.createElement("div",null,"\u56FE\u8C31\u8282\u70B9\u6570\u91CF")),C.createElement("div",{className:wt.btcent},C.createElement("div",null,a==null?void 0:a.subject_count),C.createElement("div",null,a==null?void 0:a.knowledge_count),C.createElement("div",null,a==null?void 0:a.node_count)),C.createElement("div",{style:{marginTop:20}},a==null?void 0:a.description)),c===2&&C.createElement("div",{className:wt.bocent},C.createElement("div",{className:wt.bctitles},C.createElement("div",null,"\u8BFE\u7A0B\u540D\u79F0"),C.createElement("div",null,"\u56FE\u8C31\u6570\u91CF"),C.createElement("div",null,"\u6807\u7B7E\u8282\u70B9"),C.createElement("div",null,"\u8D44\u6E90\u8282\u70B9")),n==null?void 0:n.map(q=>C.createElement("div",{className:wt.bctitles},C.createElement("div",{style:{color:"#3061D0"},onClick:()=>{window.open(`/knowledgegraph/${q==null?void 0:q.identifier}`)}},"\u300A",q==null?void 0:q.name,"\u300B"),C.createElement("div",null,q==null?void 0:q.knowledge_count),C.createElement("div",null,q==null?void 0:q.label_count),C.createElement("div",null,q==null?void 0:q.resource_count))))),C.createElement("div",{ref:o,style:{width:"100vw",height:"100vh",background:"#000",margin:0,overflow:"hidden"}}),C.createElement(Pe.default,{open:u,title:"\u7F16\u8F91\u77E5\u8BC6\u56FE\u8C31",centered:!0,width:1200,onCancel:()=>{h(!1)},onOk:()=>f.submit()},C.createElement(Rt.default,{form:f,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onValuesChange:(q,Lt)=>{(q==null?void 0:q.knowledge_type)==2?yt():(q==null?void 0:q.knowledge_type)==3&&zt(2),E(Sr({},Lt)),q!=null&&q.knowledge_type&&f.setFieldsValue({name:"",description:"",subject_id:"",subject_ids:[],knowledge_map_ids:[],knowledge_type:q==null?void 0:q.knowledge_type})},initialValues:{knowledge_type:1},onFinish:q=>cs(void 0,null,function*(){let Lt=yield(0,Mt.ZP)(`/api/knowledge_maps/${e}.json`,{method:"PUT",body:Sr({},q)});(Lt==null?void 0:Lt.status)===0&&($t.ZP.info("\u4FEE\u6539\u6210\u529F"),k(),h(!1),f.resetFields(),E({name:"",description:"",subject_id:"",subject_ids:[],knowledge_map_ids:[],knowledge_type:1}))}),className:wt.form},C.createElement(Rt.default.Item,{label:"\u56FE\u8C31\u603B\u7C7B",name:"knowledge_type",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u56FE\u8C31\u603B\u7C7B"}]},C.createElement(Xt.ZP.Group,{disabled:!0},C.createElement(Xt.ZP,{value:1},"\u8BFE\u7A0B\u56FE\u8C31"),C.createElement(Xt.ZP,{value:2},"\u4E13\u4E1A\u56FE\u8C31"),C.createElement(Xt.ZP,{value:3},"\u5B66\u79D1\u56FE\u8C31"))),C.createElement(Rt.default.Item,{label:m.knowledge_type==1?"\u56FE\u8C31\u540D\u79F0":m.knowledge_type==2?"\u4E13\u4E1A\u540D\u79F0":"\u5B66\u79D1\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\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"}]},C.createElement(ne.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),C.createElement(Rt.default.Item,{label:m.knowledge_type==1?"\u56FE\u8C31\u7B80\u4ECB":m.knowledge_type==2?"\u4E13\u4E1A\u7B80\u4ECB":"\u5B66\u79D1\u7B80\u4ECB",name:"description",rules:[{required:!1,message:"\u8BF7\u8F93\u5165\u7B80\u4ECB"},{type:"string",max:500,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"}]},C.createElement(ne.default.TextArea,{maxLength:500,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),m.knowledge_type=="2"&&C.createElement(Rt.default.Item,{className:wt.mType,label:m.knowledge_type==2?"\u9009\u62E9\u8BFE\u7A0B":"\u9009\u62E9\u4E13\u4E1A",name:m.knowledge_type==2?"subject_ids":"knowledge_map_ids",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8BFE\u7A0B"}]},C.createElement(Et.default,{mode:"multiple"},g==null?void 0:g.map(q=>C.createElement(Et.default.Option,{value:q==null?void 0:q.id},q==null?void 0:q.name)))),m.knowledge_type=="3"&&C.createElement(Rt.default.Item,{className:wt.mType,label:"\u9009\u62E9\u4E13\u4E1A",name:"knowledge_map_ids",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u4E13\u4E1A"}]},C.createElement(Et.default,{mode:"multiple"},x==null?void 0:x.map(q=>C.createElement(Et.default.Option,{value:q==null?void 0:q.id},q==null?void 0:q.name)))))))}},19080:function(Ke,ct,y){"use strict";y.d(ct,{F:function(){return R},Z:function(){return F}});var T=y(92310),C=y.n(T);const S=null;function F(L,A,$){return C()({[`${L}-status-success`]:A==="success",[`${L}-status-warning`]:A==="warning",[`${L}-status-error`]:A==="error",[`${L}-status-validating`]:A==="validating",[`${L}-has-feedback`]:$})}const R=(L,A)=>A||L},93891:function(Ke,ct,y){"use strict";var T=y(59301),C=y(36355),S=y(64165);const F=R=>{const{componentName:L}=R,{getPrefixCls:A}=(0,T.useContext)(C.E_),$=A("empty");switch(L){case"Table":case"List":return T.createElement(S.Z,{image:S.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return T.createElement(S.Z,{image:S.Z.PRESENTED_IMAGE_SIMPLE,className:`${$}-small`});default:return T.createElement(S.Z,null)}};ct.Z=F},64165:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return tt}});var T=y(92310),C=y.n(T),S=y(59301),F=y(36355),R=y(9763),L=y(64993),A=y(70305),_=()=>{const[,Q]=(0,A.Z)(),v=new L.C(Q.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return S.createElement("svg",{style:v,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},S.createElement("g",{fill:"none",fillRule:"evenodd"},S.createElement("g",{transform:"translate(24 31.67)"},S.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),S.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),S.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),S.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),S.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),S.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),S.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},S.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),S.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},P=()=>{const[,Q]=(0,A.Z)(),{colorFill:M,colorFillTertiary:v,colorFillQuaternary:I,colorBgContainer:w}=Q,{borderColor:K,shadowColor:G,contentColor:rt}=(0,S.useMemo)(()=>({borderColor:new L.C(M).onBackground(w).toHexShortString(),shadowColor:new L.C(v).onBackground(w).toHexShortString(),contentColor:new L.C(I).onBackground(w).toHexShortString()}),[M,v,I,w]);return S.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},S.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},S.createElement("ellipse",{fill:G,cx:"32",cy:"33",rx:"32",ry:"7"}),S.createElement("g",{fillRule:"nonzero",stroke:K},S.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),S.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:rt}))))},D=y(83116),H=y(37613);const Y=Q=>{const{componentCls:M,margin:v,marginXS:I,marginXL:w,fontSize:K,lineHeight:G}=Q;return{[M]:{marginInline:I,fontSize:K,lineHeight:G,textAlign:"center",[`${M}-image`]:{height:Q.emptyImgHeight,marginBottom:I,opacity:Q.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${M}-description`]:{color:Q.colorText},[`${M}-footer`]:{marginTop:v},"&-normal":{marginBlock:w,color:Q.colorTextDisabled,[`${M}-description`]:{color:Q.colorTextDisabled},[`${M}-image`]:{height:Q.emptyImgHeightMD}},"&-small":{marginBlock:I,color:Q.colorTextDisabled,[`${M}-image`]:{height:Q.emptyImgHeightSM}}}}};var et=(0,D.Z)("Empty",Q=>{const{componentCls:M,controlHeightLG:v}=Q,I=(0,H.TS)(Q,{emptyImgCls:`${M}-img`,emptyImgHeight:v*2.5,emptyImgHeightMD:v,emptyImgHeightSM:v*.875});return[Y(I)]}),jt=function(Q,M){var v={};for(var I in Q)Object.prototype.hasOwnProperty.call(Q,I)&&M.indexOf(I)<0&&(v[I]=Q[I]);if(Q!=null&&typeof Object.getOwnPropertySymbols=="function")for(var w=0,I=Object.getOwnPropertySymbols(Q);w{var{className:M,rootClassName:v,prefixCls:I,image:w=ot,description:K,children:G,imageStyle:rt,style:Rt}=Q,At=jt(Q,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:$t,direction:Pe,empty:Xt}=S.useContext(F.E_),ne=$t("empty",I),[Et,lt]=et(ne),[Mt]=(0,R.Z)("Empty"),Ot=typeof K!="undefined"?K:Mt==null?void 0:Mt.description,wt=typeof Ot=="string"?Ot:"empty";let nt=null;return typeof w=="string"?nt=S.createElement("img",{alt:wt,src:w}):nt=w,Et(S.createElement("div",Object.assign({className:C()(lt,ne,Xt==null?void 0:Xt.className,{[`${ne}-normal`]:w===ft,[`${ne}-rtl`]:Pe==="rtl"},M,v),style:Object.assign(Object.assign({},Xt==null?void 0:Xt.style),Rt)},At),S.createElement("div",{className:`${ne}-image`,style:rt},nt),Ot&&S.createElement("div",{className:`${ne}-description`},Ot),G&&S.createElement("div",{className:`${ne}-footer`},G)))};Dt.PRESENTED_IMAGE_DEFAULT=ot,Dt.PRESENTED_IMAGE_SIMPLE=ft;var tt=Dt},9432:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return Dt},n:function(){return ot}});var T=y(19248),C=y(92310),S=y.n(C),F=y(93681),R=y(8654),L=y(59301),A=y(19080),$=y(36355),_=y(1684),b=y(19716),P=y(32441),D=y(33234),H=y(59412),Y=y(9937);function et(tt){return!!(tt.prefix||tt.suffix||tt.allowClear)}var jt=function(tt,Q){var M={};for(var v in tt)Object.prototype.hasOwnProperty.call(tt,v)&&Q.indexOf(v)<0&&(M[v]=tt[v]);if(tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var I=0,v=Object.getOwnPropertySymbols(tt);I{var M;const{prefixCls:v,bordered:I=!0,status:w,size:K,disabled:G,onBlur:rt,onFocus:Rt,suffix:At,allowClear:$t,addonAfter:Pe,addonBefore:Xt,className:ne,style:Et,styles:lt,rootClassName:Mt,onChange:Ot,classNames:wt}=tt,nt=jt(tt,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:Kt,direction:It,input:xt}=L.useContext($.E_),dt=Kt("input",v),Oe=(0,L.useRef)(null),[Ye,Ce]=(0,Y.ZP)(dt),{compactSize:pe,compactItemClassnames:be}=(0,D.ri)(dt,It),oe=(0,b.Z)(Qt=>{var Zt;return(Zt=K!=null?K:pe)!==null&&Zt!==void 0?Zt:Qt}),J=L.useContext(_.Z),B=G!=null?G:J,{status:gt,hasFeedback:at,feedbackIcon:W}=(0,L.useContext)(P.aM),mt=(0,A.F)(gt,w),vt=et(tt)||!!at,st=(0,L.useRef)(vt);(0,L.useEffect)(()=>{var Qt;vt&&st.current,st.current=vt},[vt]);const Pt=(0,H.Z)(Oe,!0),ht=Qt=>{Pt(),rt==null||rt(Qt)},Vt=Qt=>{Pt(),Rt==null||Rt(Qt)},bt=Qt=>{Pt(),Ot==null||Ot(Qt)},Yt=(at||At)&&L.createElement(L.Fragment,null,At,at&&W);let _t;return typeof $t=="object"&&($t!=null&&$t.clearIcon)?_t=$t:$t&&(_t={clearIcon:L.createElement(T.Z,null)}),Ye(L.createElement(F.default,Object.assign({ref:(0,R.sQ)(Q,Oe),prefixCls:dt,autoComplete:xt==null?void 0:xt.autoComplete},nt,{disabled:B,onBlur:ht,onFocus:Vt,style:Object.assign(Object.assign({},xt==null?void 0:xt.style),Et),styles:Object.assign(Object.assign({},xt==null?void 0:xt.styles),lt),suffix:Yt,allowClear:_t,className:S()(ne,Mt,be,xt==null?void 0:xt.className),onChange:bt,addonAfter:Pe&&L.createElement(D.BR,null,L.createElement(P.Ux,{override:!0,status:!0},Pe)),addonBefore:Xt&&L.createElement(D.BR,null,L.createElement(P.Ux,{override:!0,status:!0},Xt)),classNames:Object.assign(Object.assign(Object.assign({},wt),xt==null?void 0:xt.classNames),{input:S()({[`${dt}-sm`]:oe==="small",[`${dt}-lg`]:oe==="large",[`${dt}-rtl`]:It==="rtl",[`${dt}-borderless`]:!I},!vt&&(0,A.Z)(dt,mt),wt==null?void 0:wt.input,(M=xt==null?void 0:xt.classNames)===null||M===void 0?void 0:M.input,Ce)}),classes:{affixWrapper:S()({[`${dt}-affix-wrapper-sm`]:oe==="small",[`${dt}-affix-wrapper-lg`]:oe==="large",[`${dt}-affix-wrapper-rtl`]:It==="rtl",[`${dt}-affix-wrapper-borderless`]:!I},(0,A.Z)(`${dt}-affix-wrapper`,mt,at),Ce),wrapper:S()({[`${dt}-group-rtl`]:It==="rtl"},Ce),group:S()({[`${dt}-group-wrapper-sm`]:oe==="small",[`${dt}-group-wrapper-lg`]:oe==="large",[`${dt}-group-wrapper-rtl`]:It==="rtl",[`${dt}-group-wrapper-disabled`]:B},(0,A.Z)(`${dt}-group-wrapper`,mt,at),Ce)}})))})},1643:function(Ke,ct,y){"use strict";var T=y(19248),C=y(92310),S=y.n(C),F=y(9296),R=y(59301),L=y(19080),A=y(36355),$=y(1684),_=y(19716),b=y(32441),P=y(9432),D=y(9937),H=function(et,jt){var ot={};for(var ft in et)Object.prototype.hasOwnProperty.call(et,ft)&&jt.indexOf(ft)<0&&(ot[ft]=et[ft]);if(et!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Dt=0,ft=Object.getOwnPropertySymbols(et);Dt{const{prefixCls:ot,bordered:ft=!0,size:Dt,disabled:tt,status:Q,allowClear:M,showCount:v,classNames:I,rootClassName:w,className:K}=et,G=H(et,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames","rootClassName","className"]),{getPrefixCls:rt,direction:Rt}=R.useContext(A.E_),At=(0,_.Z)(Dt),$t=R.useContext($.Z),Pe=tt!=null?tt:$t,{status:Xt,hasFeedback:ne,feedbackIcon:Et}=R.useContext(b.aM),lt=(0,L.F)(Xt,Q),Mt=R.useRef(null);R.useImperativeHandle(jt,()=>{var It;return{resizableTextArea:(It=Mt.current)===null||It===void 0?void 0:It.resizableTextArea,focus:xt=>{var dt,Oe;(0,P.n)((Oe=(dt=Mt.current)===null||dt===void 0?void 0:dt.resizableTextArea)===null||Oe===void 0?void 0:Oe.textArea,xt)},blur:()=>{var xt;return(xt=Mt.current)===null||xt===void 0?void 0:xt.blur()}}});const Ot=rt("input",ot);let wt;typeof M=="object"&&(M!=null&&M.clearIcon)?wt=M:M&&(wt={clearIcon:R.createElement(T.Z,null)});const[nt,Kt]=(0,D.ZP)(Ot);return nt(R.createElement(F.default,Object.assign({},G,{disabled:Pe,allowClear:wt,className:S()(K,w),classes:{affixWrapper:S()(`${Ot}-textarea-affix-wrapper`,{[`${Ot}-affix-wrapper-rtl`]:Rt==="rtl",[`${Ot}-affix-wrapper-borderless`]:!ft,[`${Ot}-affix-wrapper-sm`]:At==="small",[`${Ot}-affix-wrapper-lg`]:At==="large",[`${Ot}-textarea-show-count`]:v},(0,L.Z)(`${Ot}-affix-wrapper`,lt),Kt)},classNames:Object.assign(Object.assign({},I),{textarea:S()({[`${Ot}-borderless`]:!ft,[`${Ot}-sm`]:At==="small",[`${Ot}-lg`]:At==="large"},(0,L.Z)(Ot,lt),Kt,I==null?void 0:I.textarea)}),prefixCls:Ot,suffix:ne&&R.createElement("span",{className:`${Ot}-textarea-suffix`},Et),showCount:v,ref:Mt})))});ct.Z=Y},59412:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return C}});var T=y(59301);function C(S,F){const R=(0,T.useRef)([]),L=()=>{R.current.push(setTimeout(()=>{var A,$,_,b;!((A=S.current)===null||A===void 0)&&A.input&&(($=S.current)===null||$===void 0?void 0:$.input.getAttribute("type"))==="password"&&(!((_=S.current)===null||_===void 0)&&_.input.hasAttribute("value"))&&((b=S.current)===null||b===void 0||b.input.removeAttribute("value"))}))};return(0,T.useEffect)(()=>(F&&L(),()=>R.current.forEach(A=>{A&&clearTimeout(A)})),[]),L}},92832:function(Ke,ct,y){"use strict";y.d(ct,{default:function(){return At}});var T=y(92310),C=y.n(T),S=y(59301),F=y(36355),R=y(32441),L=y(9937),$=$t=>{const{getPrefixCls:Pe,direction:Xt}=(0,S.useContext)(F.E_),{prefixCls:ne,className:Et}=$t,lt=Pe("input-group",ne),Mt=Pe("input"),[Ot,wt]=(0,L.ZP)(Mt),nt=C()(lt,{[`${lt}-lg`]:$t.size==="large",[`${lt}-sm`]:$t.size==="small",[`${lt}-compact`]:$t.compact,[`${lt}-rtl`]:Xt==="rtl"},wt,Et),Kt=(0,S.useContext)(R.aM),It=(0,S.useMemo)(()=>Object.assign(Object.assign({},Kt),{isFormItemInput:!1}),[Kt]);return Ot(S.createElement("span",{className:nt,style:$t.style,onMouseEnter:$t.onMouseEnter,onMouseLeave:$t.onMouseLeave,onFocus:$t.onFocus,onBlur:$t.onBlur},S.createElement(R.aM.Provider,{value:It},$t.children)))},_=y(9432),b=y(73331),P=y(15277),D=y(2738),H=y(8654),Y=y(59412),et=function($t,Pe){var Xt={};for(var ne in $t)Object.prototype.hasOwnProperty.call($t,ne)&&Pe.indexOf(ne)<0&&(Xt[ne]=$t[ne]);if($t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Et=0,ne=Object.getOwnPropertySymbols($t);Et$t?S.createElement(P.Z,null):S.createElement(b.Z,null),ot={click:"onClick",hover:"onMouseOver"};var Dt=S.forwardRef(($t,Pe)=>{const{visibilityToggle:Xt=!0}=$t,ne=typeof Xt=="object"&&Xt.visible!==void 0,[Et,lt]=(0,S.useState)(()=>ne?Xt.visible:!1),Mt=(0,S.useRef)(null);S.useEffect(()=>{ne&<(Xt.visible)},[ne,Xt]);const Ot=(0,Y.Z)(Mt),wt=()=>{const{disabled:B}=$t;B||(Et&&Ot(),lt(gt=>{var at;const W=!gt;return typeof Xt=="object"&&((at=Xt.onVisibleChange)===null||at===void 0||at.call(Xt,W)),W}))},nt=B=>{const{action:gt="click",iconRender:at=jt}=$t,W=ot[gt]||"",mt=at(Et),vt={[W]:wt,className:`${B}-icon`,key:"passwordIcon",onMouseDown:st=>{st.preventDefault()},onMouseUp:st=>{st.preventDefault()}};return S.cloneElement(S.isValidElement(mt)?mt:S.createElement("span",null,mt),vt)},{className:Kt,prefixCls:It,inputPrefixCls:xt,size:dt}=$t,Oe=et($t,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:Ye}=S.useContext(F.E_),Ce=Ye("input",xt),pe=Ye("input-password",It),be=Xt&&nt(pe),oe=C()(pe,Kt,{[`${pe}-${dt}`]:!!dt}),J=Object.assign(Object.assign({},(0,D.Z)(Oe,["suffix","iconRender","visibilityToggle"])),{type:Et?"text":"password",className:oe,prefixCls:Ce,suffix:be});return dt&&(J.size=dt),S.createElement(_.Z,Object.assign({ref:(0,H.sQ)(Pe,Mt)},J))}),tt=y(47472),Q=y(92343),M=y(3113),v=y(19716),I=y(33234),w=function($t,Pe){var Xt={};for(var ne in $t)Object.prototype.hasOwnProperty.call($t,ne)&&Pe.indexOf(ne)<0&&(Xt[ne]=$t[ne]);if($t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Et=0,ne=Object.getOwnPropertySymbols($t);Et{const{prefixCls:Xt,inputPrefixCls:ne,className:Et,size:lt,suffix:Mt,enterButton:Ot=!1,addonAfter:wt,loading:nt,disabled:Kt,onSearch:It,onChange:xt,onCompositionStart:dt,onCompositionEnd:Oe}=$t,Ye=w($t,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:Ce,direction:pe}=S.useContext(F.E_),be=S.useRef(!1),oe=Ce("input-search",Xt),J=Ce("input",ne),{compactSize:B}=(0,I.ri)(oe,pe),gt=(0,v.Z)(Wt=>{var ue;return(ue=lt!=null?lt:B)!==null&&ue!==void 0?ue:Wt}),at=S.useRef(null),W=Wt=>{Wt&&Wt.target&&Wt.type==="click"&&It&&It(Wt.target.value,Wt,{source:"clear"}),xt&&xt(Wt)},mt=Wt=>{var ue;document.activeElement===((ue=at.current)===null||ue===void 0?void 0:ue.input)&&Wt.preventDefault()},vt=Wt=>{var ue,se;It&&It((se=(ue=at.current)===null||ue===void 0?void 0:ue.input)===null||se===void 0?void 0:se.value,Wt,{source:"input"})},st=Wt=>{be.current||nt||vt(Wt)},Pt=typeof Ot=="boolean"?S.createElement(tt.Z,null):null,ht=`${oe}-button`;let Vt;const bt=Ot||{},Yt=bt.type&&bt.type.__ANT_BUTTON===!0;Yt||bt.type==="button"?Vt=(0,Q.Tm)(bt,Object.assign({onMouseDown:mt,onClick:Wt=>{var ue,se;(se=(ue=bt==null?void 0:bt.props)===null||ue===void 0?void 0:ue.onClick)===null||se===void 0||se.call(ue,Wt),vt(Wt)},key:"enterButton"},Yt?{className:ht,size:gt}:{})):Vt=S.createElement(M.ZP,{className:ht,type:Ot?"primary":void 0,size:gt,disabled:Kt,key:"enterButton",onMouseDown:mt,onClick:vt,loading:nt,icon:Pt},Ot),wt&&(Vt=[Vt,(0,Q.Tm)(wt,{key:"addonAfter"})]);const _t=C()(oe,{[`${oe}-rtl`]:pe==="rtl",[`${oe}-${gt}`]:!!gt,[`${oe}-with-button`]:!!Ot},Et),Qt=Wt=>{be.current=!0,dt==null||dt(Wt)},Zt=Wt=>{be.current=!1,Oe==null||Oe(Wt)};return S.createElement(_.Z,Object.assign({ref:(0,H.sQ)(at,Pe),onPressEnter:st},Ye,{size:gt,onCompositionStart:Qt,onCompositionEnd:Zt,prefixCls:J,addonAfter:Vt,suffix:Mt,onChange:W,className:_t,disabled:Kt}))}),rt=y(1643);const Rt=_.Z;Rt.Group=$,Rt.Search=G,Rt.TextArea=rt.Z,Rt.Password=Dt;var At=Rt},9937:function(Ke,ct,y){"use strict";y.d(ct,{M1:function(){return A},TM:function(){return Q},Xy:function(){return $},bi:function(){return P},e5:function(){return tt},ik:function(){return D},nz:function(){return R},pU:function(){return L},s7:function(){return H},x0:function(){return b}});var T=y(17313),C=y(74207),S=y(37613),F=y(83116);const R=M=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:M,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),L=M=>({borderColor:M.hoverBorderColor}),A=M=>({borderColor:M.activeBorderColor,boxShadow:M.activeShadow,outline:0}),$=M=>({color:M.colorTextDisabled,backgroundColor:M.colorBgContainerDisabled,borderColor:M.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover":Object.assign({},L((0,S.TS)(M,{hoverBorderColor:M.colorBorder})))}),_=M=>{const{paddingBlockLG:v,fontSizeLG:I,lineHeightLG:w,borderRadiusLG:K,paddingInlineLG:G}=M;return{padding:`${v}px ${G}px`,fontSize:I,lineHeight:w,borderRadius:K}},b=M=>({padding:`${M.paddingBlockSM}px ${M.paddingInlineSM}px`,borderRadius:M.borderRadiusSM}),P=(M,v)=>{const{componentCls:I,colorError:w,colorWarning:K,errorActiveShadow:G,warningActiveShadow:rt,colorErrorBorderHover:Rt,colorWarningBorderHover:At}=M;return{[`&-status-error:not(${v}-disabled):not(${v}-borderless)${v}`]:{borderColor:w,"&:hover":{borderColor:Rt},"&:focus, &-focused":Object.assign({},A((0,S.TS)(M,{activeBorderColor:w,activeShadow:G}))),[`${I}-prefix, ${I}-suffix`]:{color:w}},[`&-status-warning:not(${v}-disabled):not(${v}-borderless)${v}`]:{borderColor:K,"&:hover":{borderColor:At},"&:focus, &-focused":Object.assign({},A((0,S.TS)(M,{activeBorderColor:K,activeShadow:rt}))),[`${I}-prefix, ${I}-suffix`]:{color:K}}}},D=M=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${M.paddingBlock}px ${M.paddingInline}px`,color:M.colorText,fontSize:M.fontSize,lineHeight:M.lineHeight,backgroundColor:M.colorBgContainer,backgroundImage:"none",borderWidth:M.lineWidth,borderStyle:M.lineType,borderColor:M.colorBorder,borderRadius:M.borderRadius,transition:`all ${M.motionDurationMid}`},R(M.colorTextPlaceholder)),{"&:hover":Object.assign({},L(M)),"&:focus, &-focused":Object.assign({},A(M)),"&-disabled, &[disabled]":Object.assign({},$(M)),"&-borderless":{"&, &:hover, &:focus, &-focused, &-disabled, &[disabled]":{backgroundColor:"transparent",border:"none",boxShadow:"none"}},"textarea&":{maxWidth:"100%",height:"auto",minHeight:M.controlHeight,lineHeight:M.lineHeight,verticalAlign:"bottom",transition:`all ${M.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},_(M)),"&-sm":Object.assign({},b(M)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),H=M=>{const{componentCls:v,antCls:I}=M;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:M.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${v}, &-lg > ${v}-group-addon`]:Object.assign({},_(M)),[`&-sm ${v}, &-sm > ${v}-group-addon`]:Object.assign({},b(M)),[`&-lg ${I}-select-single ${I}-select-selector`]:{height:M.controlHeightLG},[`&-sm ${I}-select-single ${I}-select-selector`]:{height:M.controlHeightSM},[`> ${v}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${v}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${M.paddingInline}px`,color:M.colorText,fontWeight:"normal",fontSize:M.fontSize,textAlign:"center",backgroundColor:M.colorFillAlter,border:`${M.lineWidth}px ${M.lineType} ${M.colorBorder}`,borderRadius:M.borderRadius,transition:`all ${M.motionDurationSlow}`,lineHeight:1,[`${I}-select`]:{margin:`-${M.paddingBlock+1}px -${M.paddingInline}px`,[`&${I}-select-single:not(${I}-select-customize-input)`]:{[`${I}-select-selector`]:{backgroundColor:"inherit",border:`${M.lineWidth}px ${M.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${I}-select-selector`]:{color:M.colorPrimary}}},[`${I}-cascader-picker`]:{margin:`-9px -${M.paddingInline}px`,backgroundColor:"transparent",[`${I}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}},[`${v}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${v}-search-with-button &`]:{zIndex:0}}},[`> ${v}:first-child, ${v}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${I}-select ${I}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${v}-affix-wrapper`]:{[`&:not(:first-child) ${v}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${v}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${v}:last-child, ${v}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${I}-select ${I}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${v}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${v}-search &`]:{borderStartStartRadius:M.borderRadius,borderEndStartRadius:M.borderRadius}},[`&:not(:first-child), ${v}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${v}-group-compact`]:Object.assign(Object.assign({display:"block"},(0,T.dF)()),{[`${v}-group-addon, ${v}-group-wrap, > ${v}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:M.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` - & > ${v}-affix-wrapper, - & > ${v}-number-affix-wrapper, - & > ${I}-picker-range - `]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:-M.lineWidth,borderInlineEndWidth:M.lineWidth},[`${v}`]:{float:"none"},[`& > ${I}-select > ${I}-select-selector, - & > ${I}-select-auto-complete ${v}, - & > ${I}-cascader-picker ${v}, - & > ${v}-group-wrapper ${v}`]:{borderInlineEndWidth:M.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},[`& > ${I}-select-focused`]:{zIndex:1},[`& > ${I}-select > ${I}-select-arrow`]:{zIndex:1},[`& > *:first-child, - & > ${I}-select:first-child > ${I}-select-selector, - & > ${I}-select-auto-complete:first-child ${v}, - & > ${I}-cascader-picker:first-child ${v}`]:{borderStartStartRadius:M.borderRadius,borderEndStartRadius:M.borderRadius},[`& > *:last-child, - & > ${I}-select:last-child > ${I}-select-selector, - & > ${I}-cascader-picker:last-child ${v}, - & > ${I}-cascader-picker-focused:last-child ${v}`]:{borderInlineEndWidth:M.lineWidth,borderStartEndRadius:M.borderRadius,borderEndEndRadius:M.borderRadius},[`& > ${I}-select-auto-complete ${v}`]:{verticalAlign:"top"},[`${v}-group-wrapper + ${v}-group-wrapper`]:{marginInlineStart:-M.lineWidth,[`${v}-affix-wrapper`]:{borderRadius:0}},[`${v}-group-wrapper:not(:last-child)`]:{[`&${v}-search > ${v}-group`]:{[`& > ${v}-group-addon > ${v}-search-button`]:{borderRadius:0},[`& > ${v}`]:{borderStartStartRadius:M.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:M.borderRadius}}}})}},Y=M=>{const{componentCls:v,controlHeightSM:I,lineWidth:w}=M,G=(I-w*2-16)/2;return{[v]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,T.Wf)(M)),D(M)),P(M,v)),{'&[type="color"]':{height:M.controlHeight,[`&${v}-lg`]:{height:M.controlHeightLG},[`&${v}-sm`]:{height:I,paddingTop:G,paddingBottom:G}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},et=M=>{const{componentCls:v}=M;return{[`${v}-clear-icon`]:{margin:0,color:M.colorTextQuaternary,fontSize:M.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${M.motionDurationSlow}`,"&:hover":{color:M.colorTextTertiary},"&:active":{color:M.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${M.inputAffixPadding}px`}}}},jt=M=>{const{componentCls:v,inputAffixPadding:I,colorTextDescription:w,motionDurationSlow:K,colorIcon:G,colorIconHover:rt,iconCls:Rt}=M;return{[`${v}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},D(M)),{display:"inline-flex",[`&:not(${v}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},L(M)),{zIndex:1,[`${v}-search-with-button &`]:{zIndex:0}}),"&-focused, &:focus":{zIndex:1},"&-disabled":{[`${v}[disabled]`]:{background:"transparent"}},[`> input${v}`]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${v}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:M.paddingXS}},"&-show-count-suffix":{color:w},"&-show-count-has-suffix":{marginInlineEnd:M.paddingXXS},"&-prefix":{marginInlineEnd:I},"&-suffix":{marginInlineStart:I}}}),et(M)),{[`${Rt}${v}-password-icon`]:{color:G,cursor:"pointer",transition:`all ${K}`,"&:hover":{color:rt}}}),P(M,`${v}-affix-wrapper`))}},ot=M=>{const{componentCls:v,colorError:I,colorWarning:w,borderRadiusLG:K,borderRadiusSM:G}=M;return{[`${v}-group`]:Object.assign(Object.assign(Object.assign({},(0,T.Wf)(M)),H(M)),{"&-rtl":{direction:"rtl"},"&-wrapper":{display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${v}-group-addon`]:{borderRadius:K,fontSize:M.fontSizeLG}},"&-sm":{[`${v}-group-addon`]:{borderRadius:G}},"&-status-error":{[`${v}-group-addon`]:{color:I,borderColor:I}},"&-status-warning":{[`${v}-group-addon`]:{color:w,borderColor:w}},"&-disabled":{[`${v}-group-addon`]:Object.assign({},$(M))},[`&:not(${v}-compact-first-item):not(${v}-compact-last-item)${v}-compact-item`]:{[`${v}, ${v}-group-addon`]:{borderRadius:0}},[`&:not(${v}-compact-last-item)${v}-compact-first-item`]:{[`${v}, ${v}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${v}-compact-first-item)${v}-compact-last-item`]:{[`${v}, ${v}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}})}},ft=M=>{const{componentCls:v,antCls:I}=M,w=`${v}-search`;return{[w]:{[`${v}`]:{"&:hover, &:focus":{borderColor:M.colorPrimaryHover,[`+ ${v}-group-addon ${w}-button:not(${I}-btn-primary)`]:{borderInlineStartColor:M.colorPrimaryHover}}},[`${v}-affix-wrapper`]:{borderRadius:0},[`${v}-lg`]:{lineHeight:M.lineHeightLG-2e-4},[`> ${v}-group`]:{[`> ${v}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${w}-button`]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:M.borderRadius,borderEndEndRadius:M.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${w}-button:not(${I}-btn-primary)`]:{color:M.colorTextDescription,"&:hover":{color:M.colorPrimaryHover},"&:active":{color:M.colorPrimaryActive},[`&${I}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${w}-button`]:{height:M.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${w}-button`]:{height:M.controlHeightLG},[`&-small ${w}-button`]:{height:M.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${v}-compact-item`]:{[`&:not(${v}-compact-last-item)`]:{[`${v}-group-addon`]:{[`${v}-search-button`]:{marginInlineEnd:-M.lineWidth,borderRadius:0}}},[`&:not(${v}-compact-first-item)`]:{[`${v},${v}-affix-wrapper`]:{borderRadius:0}},[`> ${v}-group-addon ${v}-search-button, - > ${v}, - ${v}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${v}-affix-wrapper-focused`]:{zIndex:2}}}}},Dt=M=>{const{componentCls:v,paddingLG:I}=M,w=`${v}-textarea`;return{[w]:{position:"relative","&-show-count":{[`> ${v}`]:{height:"100%"},[`${v}-data-count`]:{position:"absolute",bottom:-M.fontSize*M.lineHeight,insetInlineEnd:0,color:M.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${v}`]:{paddingInlineEnd:I}},[`&-affix-wrapper${w}-has-feedback`]:{[`${v}`]:{paddingInlineEnd:I}},[`&-affix-wrapper${v}-affix-wrapper`]:{padding:0,[`> textarea${v}`]:{fontSize:"inherit",border:"none",outline:"none","&:focus":{boxShadow:"none !important"}},[`${v}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${v}-clear-icon`]:{position:"absolute",insetInlineEnd:M.paddingXS,insetBlockStart:M.paddingXS},[`${w}-suffix`]:{position:"absolute",top:0,insetInlineEnd:M.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}};function tt(M){return(0,S.TS)(M,{inputAffixPadding:M.paddingXXS})}const Q=M=>{const{controlHeight:v,fontSize:I,lineHeight:w,lineWidth:K,controlHeightSM:G,controlHeightLG:rt,fontSizeLG:Rt,lineHeightLG:At,paddingSM:$t,controlPaddingHorizontalSM:Pe,controlPaddingHorizontal:Xt,colorFillAlter:ne,colorPrimaryHover:Et,controlOutlineWidth:lt,controlOutline:Mt,colorErrorOutline:Ot,colorWarningOutline:wt}=M;return{paddingBlock:Math.max(Math.round((v-I*w)/2*10)/10-K,3),paddingBlockSM:Math.max(Math.round((G-I*w)/2*10)/10-K,0),paddingBlockLG:Math.ceil((rt-Rt*At)/2*10)/10-K,paddingInline:$t-K,paddingInlineSM:Pe-K,paddingInlineLG:Xt-K,addonBg:ne,activeBorderColor:Et,hoverBorderColor:Et,activeShadow:`0 0 0 ${lt}px ${Mt}`,errorActiveShadow:`0 0 0 ${lt}px ${Ot}`,warningActiveShadow:`0 0 0 ${lt}px ${wt}`}};ct.ZP=(0,F.Z)("Input",M=>{const v=(0,S.TS)(M,tt(M));return[Y(v),Dt(v),jt(v),ot(v),ft(v),(0,C.c)(v)]},Q)},57809:function(Ke,ct,y){"use strict";var T=y(92310),C=y.n(T),S=y(77861),F=y(2738),R=y(59301),L=y(53487),A=y(62892),$=y(19080),_=y(36355),b=y(1684),P=y(93891),D=y(19716),H=y(32441),Y=y(33234),et=y(14154),jt=y(58582),ot=y(84443),ft=y(66339),Dt=function(I,w){var K={};for(var G in I)Object.prototype.hasOwnProperty.call(I,G)&&w.indexOf(G)<0&&(K[G]=I[G]);if(I!=null&&typeof Object.getOwnPropertySymbols=="function")for(var rt=0,G=Object.getOwnPropertySymbols(I);rt{var K,{prefixCls:G,bordered:rt=!0,className:Rt,rootClassName:At,getPopupContainer:$t,popupClassName:Pe,dropdownClassName:Xt,listHeight:ne=256,placement:Et,listItemHeight:lt=24,size:Mt,disabled:Ot,notFoundContent:wt,status:nt,builtinPlacements:Kt,dropdownMatchSelectWidth:It,popupMatchSelectWidth:xt,direction:dt,style:Oe,allowClear:Ye}=I,Ce=Dt(I,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:pe,getPrefixCls:be,renderEmpty:oe,direction:J,virtual:B,popupMatchSelectWidth:gt,popupOverflow:at,select:W}=R.useContext(_.E_),mt=be("select",G),vt=be(),st=dt!=null?dt:J,{compactSize:Pt,compactItemClassnames:ht}=(0,Y.ri)(mt,st),[Vt,bt]=(0,et.Z)(mt),Yt=R.useMemo(()=>{const{mode:ni}=Ce;if(ni!=="combobox")return ni===tt?"combobox":ni},[Ce.mode]),_t=Yt==="multiple"||Yt==="tags",Qt=(0,ot.Z)(Ce.suffixIcon,Ce.showArrow),Zt=(K=xt!=null?xt:It)!==null&&K!==void 0?K:gt,{status:Wt,hasFeedback:ue,isFormItemInput:se,feedbackIcon:We}=R.useContext(H.aM),He=(0,$.F)(Wt,nt);let pn;wt!==void 0?pn=wt:Yt==="combobox"?pn=null:pn=(oe==null?void 0:oe("Select"))||R.createElement(P.Z,{componentName:"Select"});const{suffixIcon:In,itemIcon:en,removeIcon:Cn,clearIcon:mn}=(0,ft.Z)(Object.assign(Object.assign({},Ce),{multiple:_t,hasFeedback:ue,feedbackIcon:We,showSuffixIcon:Qt,prefixCls:mt,showArrow:Ce.showArrow,componentName:"Select"})),an=Ye===!0?{clearIcon:mn}:Ye,Bn=(0,F.Z)(Ce,["suffixIcon","itemIcon"]),Xn=C()(Pe||Xt,{[`${mt}-dropdown-${st}`]:st==="rtl"},At,bt),An=(0,D.Z)(ni=>{var Ht;return(Ht=Mt!=null?Mt:Pt)!==null&&Ht!==void 0?Ht:ni}),ri=R.useContext(b.Z),ci=Ot!=null?Ot:ri,Fn=C()({[`${mt}-lg`]:An==="large",[`${mt}-sm`]:An==="small",[`${mt}-rtl`]:st==="rtl",[`${mt}-borderless`]:!rt,[`${mt}-in-form-item`]:se},(0,$.Z)(mt,He,ue),ht,W==null?void 0:W.className,Rt,At,bt),ei=R.useMemo(()=>Et!==void 0?Et:st==="rtl"?"bottomRight":"bottomLeft",[Et,st]),_n=(0,jt.Z)(Kt,at);return Vt(R.createElement(S.ZP,Object.assign({ref:w,virtual:B,showSearch:W==null?void 0:W.showSearch},Bn,{style:Object.assign(Object.assign({},W==null?void 0:W.style),Oe),dropdownMatchSelectWidth:Zt,builtinPlacements:_n,transitionName:(0,A.m)(vt,"slide-up",Ce.transitionName),listHeight:ne,listItemHeight:lt,mode:Yt,prefixCls:mt,placement:ei,direction:st,suffixIcon:In,menuItemSelectedIcon:en,removeIcon:Cn,allowClear:an,notFoundContent:pn,className:Fn,getPopupContainer:$t||pe,dropdownClassName:Xn,disabled:ci})))},M=R.forwardRef(Q),v=(0,L.Z)(M);M.SECRET_COMBOBOX_MODE_DO_NOT_USE=tt,M.Option=S.Wx,M.OptGroup=S.Xo,M._InternalPanelDoNotUseOrYouWillBeFired=v,ct.default=M},14154:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return M}});var T=y(17313),C=y(74207),S=y(37613),F=y(83116),R=y(13826),L=y(92899);const A=v=>{const{optionHeight:I,optionFontSize:w,optionLineHeight:K,optionPadding:G}=v;return{position:"relative",display:"block",minHeight:I,padding:G,color:v.colorText,fontWeight:"normal",fontSize:w,lineHeight:K,boxSizing:"border-box"}};var _=v=>{const{antCls:I,componentCls:w}=v,K=`${w}-item`,G=`&${I}-slide-up-enter${I}-slide-up-enter-active`,rt=`&${I}-slide-up-appear${I}-slide-up-appear-active`,Rt=`&${I}-slide-up-leave${I}-slide-up-leave-active`,At=`${w}-dropdown-placement-`;return[{[`${w}-dropdown`]:Object.assign(Object.assign({},(0,T.Wf)(v)),{position:"absolute",top:-9999,zIndex:v.zIndexPopup,boxSizing:"border-box",padding:v.paddingXXS,overflow:"hidden",fontSize:v.fontSize,fontVariant:"initial",backgroundColor:v.colorBgElevated,borderRadius:v.borderRadiusLG,outline:"none",boxShadow:v.boxShadowSecondary,[` - ${G}${At}bottomLeft, - ${rt}${At}bottomLeft - `]:{animationName:R.fJ},[` - ${G}${At}topLeft, - ${rt}${At}topLeft, - ${G}${At}topRight, - ${rt}${At}topRight - `]:{animationName:R.Qt},[`${Rt}${At}bottomLeft`]:{animationName:R.Uw},[` - ${Rt}${At}topLeft, - ${Rt}${At}topRight - `]:{animationName:R.ly},"&-hidden":{display:"none"},[`${K}`]:Object.assign(Object.assign({},A(v)),{cursor:"pointer",transition:`background ${v.motionDurationSlow} ease`,borderRadius:v.borderRadiusSM,"&-group":{color:v.colorTextDescription,fontSize:v.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},T.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${K}-option-disabled)`]:{backgroundColor:v.optionActiveBg},[`&-selected:not(${K}-option-disabled)`]:{color:v.optionSelectedColor,fontWeight:v.optionSelectedFontWeight,backgroundColor:v.optionSelectedBg,[`${K}-option-state`]:{color:v.colorPrimary}},"&-disabled":{[`&${K}-option-selected`]:{backgroundColor:v.colorBgContainerDisabled},color:v.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:v.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,R.oN)(v,"slide-up"),(0,R.oN)(v,"slide-down"),(0,L.Fm)(v,"move-up"),(0,L.Fm)(v,"move-down")]};const b=2,P=v=>{let{controlHeightSM:I,controlHeight:w,lineWidth:K}=v;const G=(w-I)/2-K,rt=Math.ceil(G/2);return[G,rt]};function D(v,I){const{componentCls:w,iconCls:K}=v,G=`${w}-selection-overflow`,rt=v.multipleSelectItemHeight,[Rt]=P(v),At=I?`${w}-${I}`:"";return{[`${w}-multiple${At}`]:{fontSize:v.fontSize,[G]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${w}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${Rt-b}px ${b*2}px`,borderRadius:v.borderRadius,[`${w}-show-search&`]:{cursor:"text"},[`${w}-disabled&`]:{background:v.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${b}px 0`,lineHeight:`${rt}px`,visibility:"hidden",content:'"\\a0"'}},[` - &${w}-show-arrow ${w}-selector, - &${w}-allow-clear ${w}-selector - `]:{paddingInlineEnd:v.fontSizeIcon+v.controlPaddingHorizontal},[`${w}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:rt,marginTop:b,marginBottom:b,lineHeight:`${rt-v.lineWidth*2}px`,background:v.multipleItemBg,border:`${v.lineWidth}px ${v.lineType} ${v.multipleItemBorderColor}`,borderRadius:v.borderRadiusSM,cursor:"default",transition:`font-size ${v.motionDurationSlow}, line-height ${v.motionDurationSlow}, height ${v.motionDurationSlow}`,userSelect:"none",marginInlineEnd:b*2,paddingInlineStart:v.paddingXS,paddingInlineEnd:v.paddingXS/2,[`${w}-disabled&`]:{color:v.multipleItemColorDisabled,borderColor:v.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:v.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,T.Ro)()),{display:"inline-flex",alignItems:"center",color:v.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${K}`]:{verticalAlign:"-0.2em"},"&:hover":{color:v.colorIconHover}})},[`${G}-item + ${G}-item`]:{[`${w}-selection-search`]:{marginInlineStart:0}},[`${w}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:v.inputPaddingHorizontalBase-Rt,"\n &-input,\n &-mirror\n ":{height:rt,fontFamily:v.fontFamily,lineHeight:`${rt}px`,transition:`all ${v.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${w}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:v.inputPaddingHorizontalBase,insetInlineEnd:v.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${v.motionDurationSlow}`}}}}var Y=v=>{const{componentCls:I}=v,w=(0,S.TS)(v,{controlHeight:v.controlHeightSM,multipleSelectItemHeight:v.controlHeightXS,borderRadius:v.borderRadiusSM,borderRadiusSM:v.borderRadiusXS}),K=(0,S.TS)(v,{fontSize:v.fontSizeLG,controlHeight:v.controlHeightLG,multipleSelectItemHeight:v.multipleItemHeightLG,borderRadius:v.borderRadiusLG,borderRadiusSM:v.borderRadius}),[,G]=P(v);return[D(v),D(w,"sm"),{[`${I}-multiple${I}-sm`]:{[`${I}-selection-placeholder`]:{insetInline:v.controlPaddingHorizontalSM-v.lineWidth},[`${I}-selection-search`]:{marginInlineStart:G}}},D(K,"lg")]};function et(v,I){const{componentCls:w,inputPaddingHorizontalBase:K,borderRadius:G}=v,rt=v.controlHeight-v.lineWidth*2,Rt=Math.ceil(v.fontSize*1.25),At=I?`${w}-${I}`:"";return{[`${w}-single${At}`]:{fontSize:v.fontSize,[`${w}-selector`]:Object.assign(Object.assign({},(0,T.Wf)(v)),{display:"flex",borderRadius:G,[`${w}-selection-search`]:{position:"absolute",top:0,insetInlineStart:K,insetInlineEnd:K,bottom:0,"&-input":{width:"100%"}},[` - ${w}-selection-item, - ${w}-selection-placeholder - `]:{padding:0,lineHeight:`${rt}px`,transition:`all ${v.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${rt}px`}},[`${w}-selection-item`]:{position:"relative",userSelect:"none"},[`${w}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${w}-selection-item:after`,`${w}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` - &${w}-show-arrow ${w}-selection-item, - &${w}-show-arrow ${w}-selection-placeholder - `]:{paddingInlineEnd:Rt},[`&${w}-open ${w}-selection-item`]:{color:v.colorTextPlaceholder},[`&:not(${w}-customize-input)`]:{[`${w}-selector`]:{width:"100%",height:v.controlHeight,padding:`0 ${K}px`,[`${w}-selection-search-input`]:{height:rt},"&:after":{lineHeight:`${rt}px`}}},[`&${w}-customize-input`]:{[`${w}-selector`]:{"&:after":{display:"none"},[`${w}-selection-search`]:{position:"static",width:"100%"},[`${w}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${K}px`,"&:after":{display:"none"}}}}}}}function jt(v){const{componentCls:I}=v,w=v.controlPaddingHorizontalSM-v.lineWidth;return[et(v),et((0,S.TS)(v,{controlHeight:v.controlHeightSM,borderRadius:v.borderRadiusSM}),"sm"),{[`${I}-single${I}-sm`]:{[`&:not(${I}-customize-input)`]:{[`${I}-selection-search`]:{insetInlineStart:w,insetInlineEnd:w},[`${I}-selector`]:{padding:`0 ${w}px`},[`&${I}-show-arrow ${I}-selection-search`]:{insetInlineEnd:w+v.fontSize*1.5},[` - &${I}-show-arrow ${I}-selection-item, - &${I}-show-arrow ${I}-selection-placeholder - `]:{paddingInlineEnd:v.fontSize*1.5}}}},et((0,S.TS)(v,{controlHeight:v.singleItemHeightLG,fontSize:v.fontSizeLG,borderRadius:v.borderRadiusLG}),"lg")]}const ot=v=>{const{componentCls:I,selectorBg:w}=v;return{position:"relative",backgroundColor:w,border:`${v.lineWidth}px ${v.lineType} ${v.colorBorder}`,transition:`all ${v.motionDurationMid} ${v.motionEaseInOut}`,input:{cursor:"pointer"},[`${I}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${I}-disabled&`]:{color:v.colorTextDisabled,background:v.colorBgContainerDisabled,cursor:"not-allowed",[`${I}-multiple&`]:{background:v.multipleSelectorBgDisabled},input:{cursor:"not-allowed"}}}},ft=function(v,I){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:K,borderHoverColor:G,outlineColor:rt,antCls:Rt}=I,At=w?{[`${K}-selector`]:{borderColor:G}}:{};return{[v]:{[`&:not(${K}-disabled):not(${K}-customize-input):not(${Rt}-pagination-size-changer)`]:Object.assign(Object.assign({},At),{[`${K}-focused& ${K}-selector`]:{borderColor:G,boxShadow:`0 0 0 ${I.controlOutlineWidth}px ${rt}`,outline:0},[`&:hover ${K}-selector`]:{borderColor:G}})}}},Dt=v=>{const{componentCls:I}=v;return{[`${I}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},tt=v=>{const{componentCls:I,inputPaddingHorizontalBase:w,iconCls:K}=v;return{[I]:Object.assign(Object.assign({},(0,T.Wf)(v)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${I}-customize-input) ${I}-selector`]:Object.assign(Object.assign({},ot(v)),Dt(v)),[`${I}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},T.vS),[`${I}-selection-placeholder`]:Object.assign(Object.assign({},T.vS),{flex:1,color:v.colorTextPlaceholder,pointerEvents:"none"}),[`${I}-arrow`]:Object.assign(Object.assign({},(0,T.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:w,height:v.fontSizeIcon,marginTop:-v.fontSizeIcon/2,color:v.colorTextQuaternary,fontSize:v.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[K]:{verticalAlign:"top",transition:`transform ${v.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${I}-suffix)`]:{pointerEvents:"auto"}},[`${I}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${I}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:w,zIndex:1,display:"inline-block",width:v.fontSizeIcon,height:v.fontSizeIcon,marginTop:-v.fontSizeIcon/2,color:v.colorTextQuaternary,fontSize:v.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:v.clearBg,cursor:"pointer",opacity:0,transition:`color ${v.motionDurationMid} ease, opacity ${v.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:v.colorTextTertiary}},"&:hover":{[`${I}-clear`]:{opacity:1}}}),[`${I}-has-feedback`]:{[`${I}-clear`]:{insetInlineEnd:w+v.fontSize+v.paddingXS}}}},Q=v=>{const{componentCls:I}=v;return[{[I]:{[`&-borderless ${I}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${I}-in-form-item`]:{width:"100%"}}},tt(v),jt(v),Y(v),_(v),{[`${I}-rtl`]:{direction:"rtl"}},ft(I,(0,S.TS)(v,{borderHoverColor:v.colorPrimaryHover,outlineColor:v.controlOutline})),ft(`${I}-status-error`,(0,S.TS)(v,{borderHoverColor:v.colorErrorHover,outlineColor:v.colorErrorOutline}),!0),ft(`${I}-status-warning`,(0,S.TS)(v,{borderHoverColor:v.colorWarningHover,outlineColor:v.colorWarningOutline}),!0),(0,C.c)(v,{borderElCls:`${I}-selector`,focusElCls:`${I}-focused`})]};var M=(0,F.Z)("Select",(v,I)=>{let{rootPrefixCls:w}=I;const K=(0,S.TS)(v,{rootPrefixCls:w,inputPaddingHorizontalBase:v.paddingSM-1,multipleSelectItemHeight:v.multipleItemHeight});return[Q(K)]},v=>{const{fontSize:I,lineHeight:w,controlHeight:K,controlPaddingHorizontal:G,zIndexPopupBase:rt,colorText:Rt,fontWeightStrong:At,controlItemBgActive:$t,controlItemBgHover:Pe,colorBgContainer:Xt,colorFillSecondary:ne,controlHeightLG:Et,controlHeightSM:lt,colorBgContainerDisabled:Mt,colorTextDisabled:Ot}=v;return{zIndexPopup:rt+50,optionSelectedColor:Rt,optionSelectedFontWeight:At,optionSelectedBg:$t,optionActiveBg:Pe,optionPadding:`${(K-I*w)/2}px ${G}px`,optionFontSize:I,optionLineHeight:w,optionHeight:K,selectorBg:Xt,clearBg:Xt,singleItemHeightLG:Et,multipleItemBg:ne,multipleItemBorderColor:"transparent",multipleItemHeight:lt,multipleItemHeightLG:K,multipleSelectorBgDisabled:Mt,multipleItemColorDisabled:Ot,multipleItemBorderColorDisabled:"transparent"}})},58582:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return C}});const T=S=>{const R={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:S==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},R),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},R),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},R),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},R),{points:["br","tr"],offset:[0,-4]})}};function C(S,F){return S||T(F)}},84443:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return T}});function T(C,S){return S!==void 0?S:C!==null}},66339:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});var T=y(40001),C=y(19248),S=y(99267),F=y(84105),R=y(58617),L=y(47472),A=y(59301);function $(_){let{suffixIcon:b,clearIcon:P,menuItemSelectedIcon:D,removeIcon:H,loading:Y,multiple:et,hasFeedback:jt,prefixCls:ot,showSuffixIcon:ft,feedbackIcon:Dt,showArrow:tt,componentName:Q}=_;const M=P!=null?P:A.createElement(C.Z,null),v=G=>b===null&&!jt&&!tt?null:A.createElement(A.Fragment,null,ft!==!1&&G,jt&&Dt);let I=null;if(b!==void 0)I=v(b);else if(Y)I=v(A.createElement(R.Z,{spin:!0}));else{const G=`${ot}-suffix`;I=rt=>{let{open:Rt,showSearch:At}=rt;return v(Rt&&At?A.createElement(L.Z,{className:G}):A.createElement(F.Z,{className:G}))}}let w=null;D!==void 0?w=D:et?w=A.createElement(T.Z,null):w=null;let K=null;return H!==void 0?K=H:K=A.createElement(S.Z,null),{clearIcon:M,suffixIcon:I,itemIcon:w,removeIcon:K}}},8378:function(Ke,ct){"use strict";const y=T=>({[T.componentCls]:{[`${T.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${T.motionDurationMid} ${T.motionEaseInOut}, - opacity ${T.motionDurationMid} ${T.motionEaseInOut} !important`}},[`${T.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${T.motionDurationMid} ${T.motionEaseInOut}, - opacity ${T.motionDurationMid} ${T.motionEaseInOut} !important`}}});ct.Z=y},92899:function(Ke,ct,y){"use strict";y.d(ct,{Fm:function(){return D}});var T=y(36237),C=y(95406);const S=new T.Keyframes("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),F=new T.Keyframes("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),R=new T.Keyframes("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),L=new T.Keyframes("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),A=new T.Keyframes("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),$=new T.Keyframes("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),_=new T.Keyframes("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),b=new T.Keyframes("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),P={"move-up":{inKeyframes:_,outKeyframes:b},"move-down":{inKeyframes:S,outKeyframes:F},"move-left":{inKeyframes:R,outKeyframes:L},"move-right":{inKeyframes:A,outKeyframes:$}},D=(H,Y)=>{const{antCls:et}=H,jt=`${et}-${Y}`,{inKeyframes:ot,outKeyframes:ft}=P[Y];return[(0,C.R)(jt,ot,ft,H.motionDurationMid),{[` - ${jt}-enter, - ${jt}-appear - `]:{opacity:0,animationTimingFunction:H.motionEaseOutCirc},[`${jt}-leave`]:{animationTimingFunction:H.motionEaseInOutCirc}}]}},13826:function(Ke,ct,y){"use strict";y.d(ct,{Qt:function(){return R},Uw:function(){return F},fJ:function(){return S},ly:function(){return L},oN:function(){return D}});var T=y(36237),C=y(95406);const S=new T.Keyframes("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),F=new T.Keyframes("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),R=new T.Keyframes("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),L=new T.Keyframes("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),A=new T.Keyframes("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),$=new T.Keyframes("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),_=new T.Keyframes("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),b=new T.Keyframes("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),P={"slide-up":{inKeyframes:S,outKeyframes:F},"slide-down":{inKeyframes:R,outKeyframes:L},"slide-left":{inKeyframes:A,outKeyframes:$},"slide-right":{inKeyframes:_,outKeyframes:b}},D=(H,Y)=>{const{antCls:et}=H,jt=`${et}-${Y}`,{inKeyframes:ot,outKeyframes:ft}=P[Y];return[(0,C.R)(jt,ot,ft,H.motionDurationMid),{[` - ${jt}-enter, - ${jt}-appear - `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:H.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${jt}-leave`]:{animationTimingFunction:H.motionEaseInQuint}}]}},95328:function(Ke){function ct(S,F,R){return(F[0]-S[0])*(R[1]-S[1])-(F[1]-S[1])*(R[0]-S[0])}function y(S){const F=[];for(let R=0;R=2&&ct(F[F.length-2],F[F.length-1],S[R])<=0;)F.pop();F.push(S[R])}return F.pop(),F}function T(S){const F=S.reverse(),R=[];for(let L=0;L=2&&ct(R[R.length-2],R[R.length-1],F[L])<=0;)R.pop();R.push(F[L])}return R.pop(),R}function C(S){const F=y(S),L=T(S).concat(F);return L.push(S[0]),L}Ke.exports=C},11950:function(Ke){Ke.exports={toXy:function(ct,y){return y===void 0?ct.slice():ct.map(function(T){return new Function("pt","return [pt"+y[0]+",pt"+y[1]+"];")(T)})},fromXy:function(ct,y){return y===void 0?ct.slice():ct.map(function(T){return new Function("pt","const o = {}; o"+y[0]+"= pt[0]; o"+y[1]+"= pt[1]; return o;")(T)})}}},98204:function(Ke){function ct(T,C){this._cells=[],this._cellSize=C,this._reverseCellSize=1/C;for(let S=0;S=0;M--)ot[M][0]tt&&(tt=ot[M][0]),ot[M][1]>Q&&(Q=ot[M][1]);return[tt-ft,Q-Dt]}function P(ot){return[Math.min(ot[0][0],ot[1][0]),Math.min(ot[0][1],ot[1][1]),Math.max(ot[0][0],ot[1][0]),Math.max(ot[0][1],ot[1][1])]}function D(ot,ft,Dt){let tt=null,Q=et,M=et,v,I;for(let w=0;wQ&&I>M&&!_([ot[0],ft[w]],Dt)&&!_([ot[1],ft[w]],Dt)&&(Q=v,M=I,tt=ft[w]);return tt}function H(ot,ft,Dt,tt,Q){let M=!1;for(let v=0;vrt||Dt[1]>Rt));rt>=Dt[0]&&Rt>=Dt[1]&&Q.add(w),At!==null&&(ot.splice(v+1,0,At),tt.removePoint(At),M=!0)}return M?H(ot,ft,Dt,tt,Q):ot}function Y(ot,ft,Dt){let tt=ft||20;const Q=R(L(S.toXy(ot,Dt)));if(Q.length<4){const rt=Q.concat([Q[0]]);return Dt?S.fromXy(rt,Dt):rt}const M=b(Q),v=[M[0]*jt,M[1]*jt],I=F(Q),w=Q.filter(function(rt){return I.indexOf(rt)<0}),K=Math.ceil(1/(Q.length/(M[0]*M[1]))),G=H(I,Math.pow(tt,2),v,C(w,K),new Set);return Dt?S.fromXy(G,Dt):G}const et=Math.cos(90/(180/Math.PI)),jt=.6;Ke.exports=Y},86972:function(Ke){function ct(T,C,S,F,R,L){const A=(L-C)*(S-T)-(F-C)*(R-T);return A>0?!0:!(A<0)}function y(T,C){const S=T[0][0],F=T[0][1],R=T[1][0],L=T[1][1],A=C[0][0],$=C[0][1],_=C[1][0],b=C[1][1];return ct(S,F,A,$,_,b)!==ct(R,L,A,$,_,b)&&ct(S,F,R,L,A,$)!==ct(S,F,R,L,_,b)}Ke.exports=y},93681:function(Ke,ct,y){"use strict";y.r(ct),y.d(ct,{BaseInput:function(){return b},default:function(){return Dt}});var T=y(60499),C=y(85899),S=y(18642),F=y(43749),R=y(92310),L=y.n(R),A=y(59301),$=y(5643),_=function(Q){var M,v,I=Q.inputElement,w=Q.prefixCls,K=Q.prefix,G=Q.suffix,rt=Q.addonBefore,Rt=Q.addonAfter,At=Q.className,$t=Q.style,Pe=Q.disabled,Xt=Q.readOnly,ne=Q.focused,Et=Q.triggerFocus,lt=Q.allowClear,Mt=Q.value,Ot=Q.handleReset,wt=Q.hidden,nt=Q.classes,Kt=Q.classNames,It=Q.dataAttrs,xt=Q.styles,dt=Q.components,Oe=(dt==null?void 0:dt.affixWrapper)||"span",Ye=(dt==null?void 0:dt.groupWrapper)||"span",Ce=(dt==null?void 0:dt.wrapper)||"span",pe=(dt==null?void 0:dt.groupAddon)||"span",be=(0,A.useRef)(null),oe=function(bt){var Yt;(Yt=be.current)!==null&&Yt!==void 0&&Yt.contains(bt.target)&&(Et==null||Et())},J=function(){var bt;if(!lt)return null;var Yt=!Pe&&!Xt&&Mt,_t="".concat(w,"-clear-icon"),Qt=(0,F.Z)(lt)==="object"&<!==null&<!==void 0&<.clearIcon?lt.clearIcon:"\u2716";return A.createElement("span",{onClick:Ot,onMouseDown:function(Wt){return Wt.preventDefault()},className:L()(_t,(bt={},(0,S.Z)(bt,"".concat(_t,"-hidden"),!Yt),(0,S.Z)(bt,"".concat(_t,"-has-suffix"),!!G),bt)),role:"button",tabIndex:-1},Qt)},B=(0,A.cloneElement)(I,{value:Mt,hidden:wt,className:L()((M=I.props)===null||M===void 0?void 0:M.className,!(0,$.X3)(Q)&&!(0,$.He)(Q)&&At)||null,style:(0,C.Z)((0,C.Z)({},(v=I.props)===null||v===void 0?void 0:v.style),!(0,$.X3)(Q)&&!(0,$.He)(Q)?$t:{})});if((0,$.X3)(Q)){var gt,at="".concat(w,"-affix-wrapper"),W=L()(at,(gt={},(0,S.Z)(gt,"".concat(at,"-disabled"),Pe),(0,S.Z)(gt,"".concat(at,"-focused"),ne),(0,S.Z)(gt,"".concat(at,"-readonly"),Xt),(0,S.Z)(gt,"".concat(at,"-input-with-clear-btn"),G&<&&Mt),gt),!(0,$.He)(Q)&&At,nt==null?void 0:nt.affixWrapper,Kt==null?void 0:Kt.affixWrapper),mt=(G||lt)&&A.createElement("span",{className:L()("".concat(w,"-suffix"),Kt==null?void 0:Kt.suffix),style:xt==null?void 0:xt.suffix},J(),G);B=A.createElement(Oe,(0,T.Z)({className:W,style:(0,C.Z)((0,C.Z)({},(0,$.He)(Q)?void 0:$t),xt==null?void 0:xt.affixWrapper),hidden:!(0,$.He)(Q)&&wt,onClick:oe},It==null?void 0:It.affixWrapper,{ref:be}),K&&A.createElement("span",{className:L()("".concat(w,"-prefix"),Kt==null?void 0:Kt.prefix),style:xt==null?void 0:xt.prefix},K),(0,A.cloneElement)(I,{value:Mt,hidden:null}),mt)}if((0,$.He)(Q)){var vt="".concat(w,"-group"),st="".concat(vt,"-addon"),Pt=L()("".concat(w,"-wrapper"),vt,nt==null?void 0:nt.wrapper),ht=L()("".concat(w,"-group-wrapper"),At,nt==null?void 0:nt.group);return A.createElement(Ye,{className:ht,style:$t,hidden:wt},A.createElement(Ce,{className:Pt},rt&&A.createElement(pe,{className:st},rt),(0,A.cloneElement)(B,{hidden:null}),Rt&&A.createElement(pe,{className:st},Rt)))}return B},b=_,P=y(77654),D=y(72190),H=y(42244),Y=y(18929),et=y(2738),jt=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","type","classes","classNames","styles"],ot=(0,A.forwardRef)(function(tt,Q){var M=tt.autoComplete,v=tt.onChange,I=tt.onFocus,w=tt.onBlur,K=tt.onPressEnter,G=tt.onKeyDown,rt=tt.prefixCls,Rt=rt===void 0?"rc-input":rt,At=tt.disabled,$t=tt.htmlSize,Pe=tt.className,Xt=tt.maxLength,ne=tt.suffix,Et=tt.showCount,lt=tt.type,Mt=lt===void 0?"text":lt,Ot=tt.classes,wt=tt.classNames,nt=tt.styles,Kt=(0,H.Z)(tt,jt),It=(0,Y.Z)(tt.defaultValue,{value:tt.value}),xt=(0,D.Z)(It,2),dt=xt[0],Oe=xt[1],Ye=(0,A.useState)(!1),Ce=(0,D.Z)(Ye,2),pe=Ce[0],be=Ce[1],oe=(0,A.useRef)(null),J=function(ht){oe.current&&(0,$.nH)(oe.current,ht)};(0,A.useImperativeHandle)(Q,function(){return{focus:J,blur:function(){var ht;(ht=oe.current)===null||ht===void 0||ht.blur()},setSelectionRange:function(ht,Vt,bt){var Yt;(Yt=oe.current)===null||Yt===void 0||Yt.setSelectionRange(ht,Vt,bt)},select:function(){var ht;(ht=oe.current)===null||ht===void 0||ht.select()},input:oe.current}}),(0,A.useEffect)(function(){be(function(Pt){return Pt&&At?!1:Pt})},[At]);var B=function(ht){tt.value===void 0&&Oe(ht.target.value),oe.current&&(0,$.rJ)(oe.current,ht,v)},gt=function(ht){K&&ht.key==="Enter"&&K(ht),G==null||G(ht)},at=function(ht){be(!0),I==null||I(ht)},W=function(ht){be(!1),w==null||w(ht)},mt=function(ht){Oe(""),J(),oe.current&&(0,$.rJ)(oe.current,ht,v)},vt=function(){var ht=(0,et.Z)(tt,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","classes","htmlSize","styles","classNames"]);return A.createElement("input",(0,T.Z)({autoComplete:M},ht,{onChange:B,onFocus:at,onBlur:W,onKeyDown:gt,className:L()(Rt,(0,S.Z)({},"".concat(Rt,"-disabled"),At),wt==null?void 0:wt.input),style:nt==null?void 0:nt.input,ref:oe,size:$t,type:Mt}))},st=function(){var ht=Number(Xt)>0;if(ne||Et){var Vt=(0,$.D7)(dt),bt=(0,P.Z)(Vt).length,Yt=(0,F.Z)(Et)==="object"?Et.formatter({value:Vt,count:bt,maxLength:Xt}):"".concat(bt).concat(ht?" / ".concat(Xt):"");return A.createElement(A.Fragment,null,!!Et&&A.createElement("span",{className:L()("".concat(Rt,"-show-count-suffix"),(0,S.Z)({},"".concat(Rt,"-show-count-has-suffix"),!!ne),wt==null?void 0:wt.count),style:(0,C.Z)({},nt==null?void 0:nt.count)},Yt),ne)}return null};return A.createElement(b,(0,T.Z)({},Kt,{prefixCls:Rt,className:Pe,inputElement:vt(),handleReset:mt,value:(0,$.D7)(dt),focused:pe,triggerFocus:J,suffix:st(),disabled:At,classes:Ot,classNames:wt,styles:nt}))}),ft=ot,Dt=ft},5643:function(Ke,ct,y){"use strict";y.d(ct,{D7:function(){return R},He:function(){return T},X3:function(){return C},nH:function(){return F},rJ:function(){return S}});function T(L){return!!(L.addonBefore||L.addonAfter)}function C(L){return!!(L.prefix||L.suffix||L.allowClear)}function S(L,A,$,_){if($){var b=A;if(A.type==="click"){var P=L.cloneNode(!0);b=Object.create(A,{target:{value:P},currentTarget:{value:P}}),P.value="",$(b);return}if(_!==void 0){b=Object.create(A,{target:{value:L},currentTarget:{value:L}}),L.value=_,$(b);return}$(b)}}function F(L,A){if(L){L.focus(A);var $=A||{},_=$.cursor;if(_){var b=L.value.length;switch(_){case"start":L.setSelectionRange(0,0);break;case"end":L.setSelectionRange(b,b);break;default:L.setSelectionRange(0,b)}}}}function R(L){return typeof L=="undefined"||L===null?"":String(L)}},83836:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return Et}});var T=y(60499),C=y(85899),S=y(72190),F=y(42244),R=y(59301),L=y(92310),A=y.n(L),$=y(29301),_=y(34280),b=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],P=void 0;function D(lt,Mt){var Ot=lt.prefixCls,wt=lt.invalidate,nt=lt.item,Kt=lt.renderItem,It=lt.responsive,xt=lt.responsiveDisabled,dt=lt.registerSize,Oe=lt.itemKey,Ye=lt.className,Ce=lt.style,pe=lt.children,be=lt.display,oe=lt.order,J=lt.component,B=J===void 0?"div":J,gt=(0,F.Z)(lt,b),at=It&&!be;function W(ht){dt(Oe,ht)}R.useEffect(function(){return function(){W(null)}},[]);var mt=Kt&&nt!==P?Kt(nt,{index:oe}):pe,vt;wt||(vt={opacity:at?0:1,height:at?0:P,overflowY:at?"hidden":P,order:It?oe:P,pointerEvents:at?"none":P,position:at?"absolute":P});var st={};at&&(st["aria-hidden"]=!0);var Pt=R.createElement(B,(0,T.Z)({className:A()(!wt&&Ot,Ye),style:(0,C.Z)((0,C.Z)({},vt),Ce)},st,gt,{ref:Mt}),mt);return It&&(Pt=R.createElement($.Z,{onResize:function(Vt){var bt=Vt.offsetWidth;W(bt)},disabled:xt},Pt)),Pt}var H=R.forwardRef(D);H.displayName="Item";var Y=H,et=y(6089),jt=y(4676),ot=y(16089);function ft(lt){if(typeof MessageChannel=="undefined")(0,ot.Z)(lt);else{var Mt=new MessageChannel;Mt.port1.onmessage=function(){return lt()},Mt.port2.postMessage(void 0)}}function Dt(){var lt=R.useRef(null),Mt=function(wt){lt.current||(lt.current=[],ft(function(){(0,jt.unstable_batchedUpdates)(function(){lt.current.forEach(function(nt){nt()}),lt.current=null})})),lt.current.push(wt)};return Mt}function tt(lt,Mt){var Ot=R.useState(Mt),wt=(0,S.Z)(Ot,2),nt=wt[0],Kt=wt[1],It=(0,et.Z)(function(xt){lt(function(){Kt(xt)})});return[nt,It]}var Q=R.createContext(null),M=["component"],v=["className"],I=["className"],w=function(Mt,Ot){var wt=R.useContext(Q);if(!wt){var nt=Mt.component,Kt=nt===void 0?"div":nt,It=(0,F.Z)(Mt,M);return R.createElement(Kt,(0,T.Z)({},It,{ref:Ot}))}var xt=wt.className,dt=(0,F.Z)(wt,v),Oe=Mt.className,Ye=(0,F.Z)(Mt,I);return R.createElement(Q.Provider,{value:null},R.createElement(Y,(0,T.Z)({ref:Ot,className:A()(xt,Oe)},dt,Ye)))},K=R.forwardRef(w);K.displayName="RawItem";var G=K,rt=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","prefix","suffix","component","itemComponent","onVisibleChange"],Rt="responsive",At="invalidate";function $t(lt){return"+ ".concat(lt.length," ...")}function Pe(lt,Mt){var Ot=lt.prefixCls,wt=Ot===void 0?"rc-overflow":Ot,nt=lt.data,Kt=nt===void 0?[]:nt,It=lt.renderItem,xt=lt.renderRawItem,dt=lt.itemKey,Oe=lt.itemWidth,Ye=Oe===void 0?10:Oe,Ce=lt.ssr,pe=lt.style,be=lt.className,oe=lt.maxCount,J=lt.renderRest,B=lt.renderRawRest,gt=lt.prefix,at=lt.suffix,W=lt.component,mt=W===void 0?"div":W,vt=lt.itemComponent,st=lt.onVisibleChange,Pt=(0,F.Z)(lt,rt),ht=Ce==="full",Vt=Dt(),bt=tt(Vt,null),Yt=(0,S.Z)(bt,2),_t=Yt[0],Qt=Yt[1],Zt=_t||0,Wt=tt(Vt,new Map),ue=(0,S.Z)(Wt,2),se=ue[0],We=ue[1],He=tt(Vt,0),pn=(0,S.Z)(He,2),In=pn[0],en=pn[1],Cn=tt(Vt,0),mn=(0,S.Z)(Cn,2),an=mn[0],Bn=mn[1],Xn=tt(Vt,0),An=(0,S.Z)(Xn,2),ri=An[0],ci=An[1],Fn=tt(Vt,0),ei=(0,S.Z)(Fn,2),_n=ei[0],ni=ei[1],Ht=(0,R.useState)(null),Pn=(0,S.Z)(Ht,2),ii=Pn[0],vn=Pn[1],di=(0,R.useState)(null),Mi=(0,S.Z)(di,2),Ri=Mi[0],gi=Mi[1],Ge=R.useMemo(function(){return Ri===null&&ht?Number.MAX_SAFE_INTEGER:Ri||0},[Ri,_t]),me=(0,R.useState)(!1),cn=(0,S.Z)(me,2),Dn=cn[0],fn=cn[1],dn="".concat(wt,"-item"),Z=Math.max(In,an),N=oe===Rt,ut=Kt.length&&N,it=oe===At,Ft=ut||typeof oe=="number"&&Kt.length>oe,Ct=(0,R.useMemo)(function(){var qt=Kt;return ut?_t===null&&ht?qt=Kt:qt=Kt.slice(0,Math.min(Kt.length,Zt/Ye)):typeof oe=="number"&&(qt=Kt.slice(0,oe)),qt},[Kt,Ye,_t,oe,ut]),Bt=(0,R.useMemo)(function(){return ut?Kt.slice(Ge+1):Kt.slice(Ct.length)},[Kt,Ct,ut,Ge]),Jt=(0,R.useCallback)(function(qt,he){var xe;return typeof dt=="function"?dt(qt):(xe=dt&&(qt==null?void 0:qt[dt]))!==null&&xe!==void 0?xe:he},[dt]),ie=(0,R.useCallback)(It||function(qt){return qt},[It]);function ce(qt,he,xe){Ri===qt&&(he===void 0||he===ii)||(gi(qt),xe||(fn(qtZt){ce(Te-1,qt-un-_n+an);break}}at&&ze(0)+_n>Zt&&vn(null)}},[Zt,se,an,ri,_n,Jt,Ct]);var z=Dn&&!!Bt.length,Re={};ii!==null&&ut&&(Re={position:"absolute",left:ii,top:0});var Be={prefixCls:dn,responsive:ut,component:vt,invalidate:it},ln=xt?function(qt,he){var xe=Jt(qt,he);return R.createElement(Q.Provider,{key:xe,value:(0,C.Z)((0,C.Z)({},Be),{},{order:he,item:qt,itemKey:xe,registerSize:te,display:he<=Ge})},xt(qt,he))}:function(qt,he){var xe=Jt(qt,he);return R.createElement(Y,(0,T.Z)({},Be,{order:he,key:xe,item:qt,renderItem:ie,itemKey:xe,registerSize:te,display:he<=Ge}))},Sn={order:z?Ge:Number.MAX_SAFE_INTEGER,className:"".concat(dn,"-rest"),registerSize:De,display:z},Ze=J||$t,Ie=B?R.createElement(Q.Provider,{value:(0,C.Z)((0,C.Z)({},Be),Sn)},B(Bt)):R.createElement(Y,(0,T.Z)({},Be,Sn),typeof Ze=="function"?Ze(Bt):Ze),Mn=R.createElement(mt,(0,T.Z)({className:A()(!it&&wt,be),style:pe,ref:Mt},Pt),gt&&R.createElement(Y,(0,T.Z)({},Be,{responsive:N,responsiveDisabled:!ut,order:-1,className:"".concat(dn,"-prefix"),registerSize:Gt,display:!0}),gt),Ct.map(ln),Ft?Ie:null,at&&R.createElement(Y,(0,T.Z)({},Be,{responsive:N,responsiveDisabled:!ut,order:Ge,className:"".concat(dn,"-suffix"),registerSize:we,display:!0,style:Re}),at));return N?R.createElement($.Z,{onResize:ye,disabled:!ut},Mn):Mn}var Xt=R.forwardRef(Pe);Xt.displayName="Overflow",Xt.Item=G,Xt.RESPONSIVE=Rt,Xt.INVALIDATE=At;var ne=Xt,Et=ne},17115:function(Ke,ct,y){"use strict";y.d(ct,{ZP:function(){return A}});var T=y(72190),C=y(59301),S=y(47273),F=0,R=(0,S.Z)();function L(){var $;return R?($=F,F+=1):$="TEST_OR_SSR",$}function A($){var _=C.useState(),b=(0,T.Z)(_,2),P=b[0],D=b[1];return C.useEffect(function(){D("rc_select_".concat(L()))},[]),$||P}},77861:function(Ke,ct,y){"use strict";y.d(ct,{Ac:function(){return _t},Xo:function(){return an},Wx:function(){return Xn},ZP:function(){return dn},lk:function(){return Q}});var T=y(60499),C=y(77654),S=y(18642),F=y(85899),R=y(72190),L=y(42244),A=y(43749),$=y(18929),_=y(48736),b=y(59301),P=y(92310),D=y.n(P),H=y(34280),Y=y(49658),et=y(10228),jt=y(8654),ot=function(N){var ut=N.className,it=N.customizeIcon,Ft=N.customizeIconProps,Ct=N.onMouseDown,Bt=N.onClick,Jt=N.children,ie;return typeof it=="function"?ie=it(Ft):ie=it,b.createElement("span",{className:ut,onMouseDown:function(ye){ye.preventDefault(),Ct&&Ct(ye)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:Bt,"aria-hidden":!0},ie!==void 0?ie:b.createElement("span",{className:D()(ut.split(/\s+/).map(function(ce){return"".concat(ce,"-icon")}))},Jt))},ft=ot;function Dt(Z,N,ut,it,Ft){var Ct=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,Bt=arguments.length>6?arguments[6]:void 0,Jt=arguments.length>7?arguments[7]:void 0,ie=b.useMemo(function(){if((0,A.Z)(it)==="object")return it.clearIcon;if(Ft)return Ft},[it,Ft]),ce=b.useMemo(function(){return!!(!Ct&&it&&(ut.length||Bt)&&!(Jt==="combobox"&&Bt===""))},[it,Ct,ut.length,Bt,Jt]);return{allowClear:ce,clearIcon:b.createElement(ft,{className:"".concat(Z,"-clear"),onMouseDown:N,customizeIcon:ie},"\xD7")}}var tt=b.createContext(null);function Q(){return b.useContext(tt)}function M(){var Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,N=b.useState(!1),ut=(0,R.Z)(N,2),it=ut[0],Ft=ut[1],Ct=b.useRef(null),Bt=function(){window.clearTimeout(Ct.current)};b.useEffect(function(){return Bt},[]);var Jt=function(ce,ye){Bt(),Ct.current=window.setTimeout(function(){Ft(ce),ye&&ye()},Z)};return[it,Jt,Bt]}function v(){var Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,N=b.useRef(null),ut=b.useRef(null);b.useEffect(function(){return function(){window.clearTimeout(ut.current)}},[]);function it(Ft){(Ft||N.current===null)&&(N.current=Ft),window.clearTimeout(ut.current),ut.current=window.setTimeout(function(){N.current=null},Z)}return[function(){return N.current},it]}function I(Z,N,ut,it){var Ft=b.useRef(null);Ft.current={open:N,triggerOpen:ut,customizedTrigger:it},b.useEffect(function(){function Ct(Bt){var Jt;if(!((Jt=Ft.current)!==null&&Jt!==void 0&&Jt.customizedTrigger)){var ie=Bt.target;ie.shadowRoot&&Bt.composed&&(ie=Bt.composedPath()[0]||ie),Ft.current.open&&Z().filter(function(ce){return ce}).every(function(ce){return!ce.contains(ie)&&ce!==ie})&&Ft.current.triggerOpen(!1)}}return window.addEventListener("mousedown",Ct),function(){return window.removeEventListener("mousedown",Ct)}},[])}var w=y(26112),K=y(83836),G=function(N,ut){var it,Ft,Ct=N.prefixCls,Bt=N.id,Jt=N.inputElement,ie=N.disabled,ce=N.tabIndex,ye=N.autoFocus,te=N.autoComplete,De=N.editable,Gt=N.activeDescendantId,we=N.value,ze=N.maxLength,z=N.onKeyDown,Re=N.onMouseDown,Be=N.onChange,ln=N.onPaste,Sn=N.onCompositionStart,Ze=N.onCompositionEnd,Ie=N.open,Mn=N.attrs,qt=Jt||b.createElement("input",null),he=qt,xe=he.ref,Te=he.props,un=Te.onKeyDown,gn=Te.onChange,yn=Te.onMouseDown,Tn=Te.onCompositionStart,Xe=Te.onCompositionEnd,Le=Te.style;return(0,_.Kp)(!("maxLength"in qt.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),qt=b.cloneElement(qt,(0,F.Z)((0,F.Z)((0,F.Z)({type:"search"},Te),{},{id:Bt,ref:(0,jt.sQ)(ut,xe),disabled:ie,tabIndex:ce,autoComplete:te||"off",autoFocus:ye,className:D()("".concat(Ct,"-selection-search-input"),(it=qt)===null||it===void 0||(Ft=it.props)===null||Ft===void 0?void 0:Ft.className),role:"combobox","aria-label":"Search","aria-expanded":Ie||!1,"aria-haspopup":"listbox","aria-owns":"".concat(Bt,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(Bt,"_list"),"aria-activedescendant":Ie?Gt:void 0},Mn),{},{value:De?we:"",maxLength:ze,readOnly:!De,unselectable:De?null:"on",style:(0,F.Z)((0,F.Z)({},Le),{},{opacity:De?null:0}),onKeyDown:function(qe){z(qe),un&&un(qe)},onMouseDown:function(qe){Re(qe),yn&&yn(qe)},onChange:function(qe){Be(qe),gn&&gn(qe)},onCompositionStart:function(qe){Sn(qe),Tn&&Tn(qe)},onCompositionEnd:function(qe){Ze(qe),Xe&&Xe(qe)},onPaste:ln})),qt},rt=b.forwardRef(G);rt.displayName="Input";var Rt=rt;function At(Z){return Array.isArray(Z)?Z:Z!==void 0?[Z]:[]}var $t=typeof window!="undefined"&&window.document&&window.document.documentElement,Pe=$t;function Xt(Z){return Z!=null}function ne(Z){return!Z&&Z!==0}function Et(Z){return["string","number"].includes((0,A.Z)(Z))}function lt(Z){var N=void 0;return Z&&(Et(Z.title)?N=Z.title.toString():Et(Z.label)&&(N=Z.label.toString())),N}function Mt(Z,N){Pe?b.useLayoutEffect(Z,N):b.useEffect(Z,N)}function Ot(Z){var N;return(N=Z.key)!==null&&N!==void 0?N:Z.value}var wt=function(N){N.preventDefault(),N.stopPropagation()},nt=function(N){var ut=N.id,it=N.prefixCls,Ft=N.values,Ct=N.open,Bt=N.searchValue,Jt=N.autoClearSearchValue,ie=N.inputRef,ce=N.placeholder,ye=N.disabled,te=N.mode,De=N.showSearch,Gt=N.autoFocus,we=N.autoComplete,ze=N.activeDescendantId,z=N.tabIndex,Re=N.removeIcon,Be=N.maxTagCount,ln=N.maxTagTextLength,Sn=N.maxTagPlaceholder,Ze=Sn===void 0?function(on){return"+ ".concat(on.length," ...")}:Sn,Ie=N.tagRender,Mn=N.onToggleOpen,qt=N.onRemove,he=N.onInputChange,xe=N.onInputPaste,Te=N.onInputKeyDown,un=N.onInputMouseDown,gn=N.onInputCompositionStart,yn=N.onInputCompositionEnd,Tn=b.useRef(null),Xe=(0,b.useState)(0),Le=(0,R.Z)(Xe,2),Me=Le[0],qe=Le[1],kn=(0,b.useState)(!1),Qn=(0,R.Z)(kn,2),ae=Qn[0],Qe=Qn[1],nn="".concat(it,"-selection"),Ln=Ct||te==="multiple"&&Jt===!1||te==="tags"?Bt:"",ji=te==="tags"||te==="multiple"&&Jt===!1||De&&(Ct||ae);Mt(function(){qe(Tn.current.scrollWidth)},[Ln]);function Fe(on,wn,Jn,Rn,Hn){return b.createElement("span",{className:D()("".concat(nn,"-item"),(0,S.Z)({},"".concat(nn,"-item-disabled"),Jn)),title:lt(on)},b.createElement("span",{className:"".concat(nn,"-item-content")},wn),Rn&&b.createElement(ft,{className:"".concat(nn,"-item-remove"),onMouseDown:wt,onClick:Hn,customizeIcon:Re},"\xD7"))}function fe(on,wn,Jn,Rn,Hn){var ee=function(Ee){wt(Ee),Mn(!Ct)};return b.createElement("span",{onMouseDown:ee},Ie({label:wn,value:on,disabled:Jn,closable:Rn,onClose:Hn}))}function re(on){var wn=on.disabled,Jn=on.label,Rn=on.value,Hn=!ye&&!wn,ee=Jn;if(typeof ln=="number"&&(typeof Jn=="string"||typeof Jn=="number")){var Ut=String(ee);Ut.length>ln&&(ee="".concat(Ut.slice(0,ln),"..."))}var Ee=function($e){$e&&$e.stopPropagation(),qt(on)};return typeof Ie=="function"?fe(Rn,ee,wn,Hn,Ee):Fe(on,ee,wn,Hn,Ee)}function hn(on){var wn=typeof Ze=="function"?Ze(on):Ze;return Fe({title:wn},wn,!1)}var Je=b.createElement("div",{className:"".concat(nn,"-search"),style:{width:Me},onFocus:function(){Qe(!0)},onBlur:function(){Qe(!1)}},b.createElement(Rt,{ref:ie,open:Ct,prefixCls:it,id:ut,inputElement:null,disabled:ye,autoFocus:Gt,autoComplete:we,editable:ji,activeDescendantId:ze,value:Ln,onKeyDown:Te,onMouseDown:un,onChange:he,onPaste:xe,onCompositionStart:gn,onCompositionEnd:yn,tabIndex:z,attrs:(0,w.Z)(N,!0)}),b.createElement("span",{ref:Tn,className:"".concat(nn,"-search-mirror"),"aria-hidden":!0},Ln,"\xA0")),bn=b.createElement(K.Z,{prefixCls:"".concat(nn,"-overflow"),data:Ft,renderItem:re,renderRest:hn,suffix:Je,itemKey:Ot,maxCount:Be});return b.createElement(b.Fragment,null,bn,!Ft.length&&!Ln&&b.createElement("span",{className:"".concat(nn,"-placeholder")},ce))},Kt=nt,It=function(N){var ut=N.inputElement,it=N.prefixCls,Ft=N.id,Ct=N.inputRef,Bt=N.disabled,Jt=N.autoFocus,ie=N.autoComplete,ce=N.activeDescendantId,ye=N.mode,te=N.open,De=N.values,Gt=N.placeholder,we=N.tabIndex,ze=N.showSearch,z=N.searchValue,Re=N.activeValue,Be=N.maxLength,ln=N.onInputKeyDown,Sn=N.onInputMouseDown,Ze=N.onInputChange,Ie=N.onInputPaste,Mn=N.onInputCompositionStart,qt=N.onInputCompositionEnd,he=N.title,xe=b.useState(!1),Te=(0,R.Z)(xe,2),un=Te[0],gn=Te[1],yn=ye==="combobox",Tn=yn||ze,Xe=De[0],Le=z||"";yn&&Re&&!un&&(Le=Re),b.useEffect(function(){yn&&gn(!1)},[yn,Re]);var Me=ye!=="combobox"&&!te&&!ze?!1:!!Le,qe=he===void 0?lt(Xe):he,kn=function(){if(Xe)return null;var ae=Me?{visibility:"hidden"}:void 0;return b.createElement("span",{className:"".concat(it,"-selection-placeholder"),style:ae},Gt)};return b.createElement(b.Fragment,null,b.createElement("span",{className:"".concat(it,"-selection-search")},b.createElement(Rt,{ref:Ct,prefixCls:it,id:Ft,open:te,inputElement:ut,disabled:Bt,autoFocus:Jt,autoComplete:ie,editable:Tn,activeDescendantId:ce,value:Le,onKeyDown:ln,onMouseDown:Sn,onChange:function(ae){gn(!0),Ze(ae)},onPaste:Ie,onCompositionStart:Mn,onCompositionEnd:qt,tabIndex:we,attrs:(0,w.Z)(N,!0),maxLength:yn?Be:void 0})),!yn&&Xe?b.createElement("span",{className:"".concat(it,"-selection-item"),title:qe,style:Me?{visibility:"hidden"}:void 0},Xe.label):null,kn())},xt=It;function dt(Z){return![et.Z.ESC,et.Z.SHIFT,et.Z.BACKSPACE,et.Z.TAB,et.Z.WIN_KEY,et.Z.ALT,et.Z.META,et.Z.WIN_KEY_RIGHT,et.Z.CTRL,et.Z.SEMICOLON,et.Z.EQUALS,et.Z.CAPS_LOCK,et.Z.CONTEXT_MENU,et.Z.F1,et.Z.F2,et.Z.F3,et.Z.F4,et.Z.F5,et.Z.F6,et.Z.F7,et.Z.F8,et.Z.F9,et.Z.F10,et.Z.F11,et.Z.F12].includes(Z)}var Oe=function(N,ut){var it=(0,b.useRef)(null),Ft=(0,b.useRef)(!1),Ct=N.prefixCls,Bt=N.open,Jt=N.mode,ie=N.showSearch,ce=N.tokenWithEnter,ye=N.autoClearSearchValue,te=N.onSearch,De=N.onSearchSubmit,Gt=N.onToggleOpen,we=N.onInputKeyDown,ze=N.domRef;b.useImperativeHandle(ut,function(){return{focus:function(){it.current.focus()},blur:function(){it.current.blur()}}});var z=v(0),Re=(0,R.Z)(z,2),Be=Re[0],ln=Re[1],Sn=function(Le){var Me=Le.which;(Me===et.Z.UP||Me===et.Z.DOWN)&&Le.preventDefault(),we&&we(Le),Me===et.Z.ENTER&&Jt==="tags"&&!Ft.current&&!Bt&&(De==null||De(Le.target.value)),dt(Me)&&Gt(!0)},Ze=function(){ln(!0)},Ie=(0,b.useRef)(null),Mn=function(Le){te(Le,!0,Ft.current)!==!1&&Gt(!0)},qt=function(){Ft.current=!0},he=function(Le){Ft.current=!1,Jt!=="combobox"&&Mn(Le.target.value)},xe=function(Le){var Me=Le.target.value;if(ce&&Ie.current&&/[\r\n]/.test(Ie.current)){var qe=Ie.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Me=Me.replace(qe,Ie.current)}Ie.current=null,Mn(Me)},Te=function(Le){var Me=Le.clipboardData,qe=Me.getData("text");Ie.current=qe},un=function(Le){var Me=Le.target;if(Me!==it.current){var qe=document.body.style.msTouchAction!==void 0;qe?setTimeout(function(){it.current.focus()}):it.current.focus()}},gn=function(Le){var Me=Be();Le.target!==it.current&&!Me&&Jt!=="combobox"&&Le.preventDefault(),(Jt!=="combobox"&&(!ie||!Me)||!Bt)&&(Bt&&ye!==!1&&te("",!0,!1),Gt())},yn={inputRef:it,onInputKeyDown:Sn,onInputMouseDown:Ze,onInputChange:xe,onInputPaste:Te,onInputCompositionStart:qt,onInputCompositionEnd:he},Tn=Jt==="multiple"||Jt==="tags"?b.createElement(Kt,(0,T.Z)({},N,yn)):b.createElement(xt,(0,T.Z)({},N,yn));return b.createElement("div",{ref:ze,className:"".concat(Ct,"-selector"),onClick:un,onMouseDown:gn},Tn)},Ye=b.forwardRef(Oe);Ye.displayName="Selector";var Ce=Ye,pe=y(35593),be=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],oe=function(N){var ut=N===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:ut,adjustY:1},htmlRegion:"scroll"}}},J=function(N,ut){var it=N.prefixCls,Ft=N.disabled,Ct=N.visible,Bt=N.children,Jt=N.popupElement,ie=N.animation,ce=N.transitionName,ye=N.dropdownStyle,te=N.dropdownClassName,De=N.direction,Gt=De===void 0?"ltr":De,we=N.placement,ze=N.builtinPlacements,z=N.dropdownMatchSelectWidth,Re=N.dropdownRender,Be=N.dropdownAlign,ln=N.getPopupContainer,Sn=N.empty,Ze=N.getTriggerDOMNode,Ie=N.onPopupVisibleChange,Mn=N.onPopupMouseEnter,qt=(0,L.Z)(N,be),he="".concat(it,"-dropdown"),xe=Jt;Re&&(xe=Re(Jt));var Te=b.useMemo(function(){return ze||oe(z)},[ze,z]),un=ie?"".concat(he,"-").concat(ie):ce,gn=typeof z=="number",yn=b.useMemo(function(){return gn?null:z===!1?"minWidth":"width"},[z,gn]),Tn=ye;gn&&(Tn=(0,F.Z)((0,F.Z)({},Tn),{},{width:z}));var Xe=b.useRef(null);return b.useImperativeHandle(ut,function(){return{getPopupElement:function(){return Xe.current}}}),b.createElement(pe.Z,(0,T.Z)({},qt,{showAction:Ie?["click"]:[],hideAction:Ie?["click"]:[],popupPlacement:we||(Gt==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:Te,prefixCls:he,popupTransitionName:un,popup:b.createElement("div",{ref:Xe,onMouseEnter:Mn},xe),stretch:yn,popupAlign:Be,popupVisible:Ct,getPopupContainer:ln,popupClassName:D()(te,(0,S.Z)({},"".concat(he,"-empty"),Sn)),popupStyle:Tn,getTriggerDOMNode:Ze,onPopupVisibleChange:Ie}),Bt)},B=b.forwardRef(J);B.displayName="SelectTrigger";var gt=B,at=y(48745);function W(Z,N){var ut=Z.key,it;return"value"in Z&&(it=Z.value),ut!=null?ut:it!==void 0?it:"rc-index-key-".concat(N)}function mt(Z,N){var ut=Z||{},it=ut.label,Ft=ut.value,Ct=ut.options,Bt=ut.groupLabel,Jt=it||(N?"children":"label");return{label:Jt,value:Ft||"value",options:Ct||"options",groupLabel:Bt||Jt}}function vt(Z){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=N.fieldNames,it=N.childrenAsData,Ft=[],Ct=mt(ut,!1),Bt=Ct.label,Jt=Ct.value,ie=Ct.options,ce=Ct.groupLabel;function ye(te,De){te.forEach(function(Gt){if(De||!(ie in Gt)){var we=Gt[Jt];Ft.push({key:W(Gt,Ft.length),groupOption:De,data:Gt,label:Gt[Bt],value:we})}else{var ze=Gt[ce];ze===void 0&&it&&(ze=Gt.label),Ft.push({key:W(Gt,Ft.length),group:!0,data:Gt,label:ze}),ye(Gt[ie],!0)}})}return ye(Z,!1),Ft}function st(Z){var N=(0,F.Z)({},Z);return"props"in N||Object.defineProperty(N,"props",{get:function(){return(0,_.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),N}}),N}function Pt(Z,N){if(!N||!N.length)return null;var ut=!1;function it(Ct,Bt){var Jt=(0,at.Z)(Bt),ie=Jt[0],ce=Jt.slice(1);if(!ie)return[Ct];var ye=Ct.split(ie);return ut=ut||ye.length>1,ye.reduce(function(te,De){return[].concat((0,C.Z)(te),(0,C.Z)(it(De,ce)))},[]).filter(function(te){return te})}var Ft=it(Z,N);return ut?Ft:null}var ht=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],Vt=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function bt(Z){return Z==="tags"||Z==="multiple"}var Yt=b.forwardRef(function(Z,N){var ut,it,Ft=Z.id,Ct=Z.prefixCls,Bt=Z.className,Jt=Z.showSearch,ie=Z.tagRender,ce=Z.direction,ye=Z.omitDomProps,te=Z.displayValues,De=Z.onDisplayValuesChange,Gt=Z.emptyOptions,we=Z.notFoundContent,ze=we===void 0?"Not Found":we,z=Z.onClear,Re=Z.mode,Be=Z.disabled,ln=Z.loading,Sn=Z.getInputElement,Ze=Z.getRawInputElement,Ie=Z.open,Mn=Z.defaultOpen,qt=Z.onDropdownVisibleChange,he=Z.activeValue,xe=Z.onActiveValueChange,Te=Z.activeDescendantId,un=Z.searchValue,gn=Z.autoClearSearchValue,yn=Z.onSearch,Tn=Z.onSearchSplit,Xe=Z.tokenSeparators,Le=Z.allowClear,Me=Z.suffixIcon,qe=Z.clearIcon,kn=Z.OptionList,Qn=Z.animation,ae=Z.transitionName,Qe=Z.dropdownStyle,nn=Z.dropdownClassName,Ln=Z.dropdownMatchSelectWidth,ji=Z.dropdownRender,Fe=Z.dropdownAlign,fe=Z.placement,re=Z.builtinPlacements,hn=Z.getPopupContainer,Je=Z.showAction,bn=Je===void 0?[]:Je,on=Z.onFocus,wn=Z.onBlur,Jn=Z.onKeyUp,Rn=Z.onKeyDown,Hn=Z.onMouseDown,ee=(0,L.Z)(Z,ht),Ut=bt(Re),Ee=(Jt!==void 0?Jt:Ut)||Re==="combobox",Ne=(0,F.Z)({},ee);Vt.forEach(function(sn){delete Ne[sn]}),ye==null||ye.forEach(function(sn){delete Ne[sn]});var $e=b.useState(!1),zi=(0,R.Z)($e,2),ai=zi[0],jn=zi[1];b.useEffect(function(){jn((0,Y.Z)())},[]);var Ii=b.useRef(null),yi=b.useRef(null),En=b.useRef(null),qn=b.useRef(null),Si=b.useRef(null),Ki=M(),Bi=(0,R.Z)(Ki,3),wi=Bi[0],so=Bi[1],ro=Bi[2];b.useImperativeHandle(N,function(){var sn,ke;return{focus:(sn=qn.current)===null||sn===void 0?void 0:sn.focus,blur:(ke=qn.current)===null||ke===void 0?void 0:ke.blur,scrollTo:function(pi){var Un;return(Un=Si.current)===null||Un===void 0?void 0:Un.scrollTo(pi)}}});var Wi=b.useMemo(function(){var sn;if(Re!=="combobox")return un;var ke=(sn=te[0])===null||sn===void 0?void 0:sn.value;return typeof ke=="string"||typeof ke=="number"?String(ke):""},[un,Re,te]),mo=Re==="combobox"&&typeof Sn=="function"&&Sn()||null,Zi=typeof Ze=="function"&&Ze(),No=(0,jt.x1)(yi,Zi==null||(ut=Zi.props)===null||ut===void 0?void 0:ut.ref),Ao=b.useState(!1),vo=(0,R.Z)(Ao,2),Yi=vo[0],Po=vo[1];(0,H.Z)(function(){Po(!0)},[]);var Go=(0,$.Z)(!1,{defaultValue:Mn,value:Ie}),To=(0,R.Z)(Go,2),yo=To[0],bo=To[1],de=Yi?yo:!1,_e=!ze&≫(Be||_e&&de&&Re==="combobox")&&(de=!1);var ve=_e?!1:de,Ae=b.useCallback(function(sn){var ke=sn!==void 0?sn:!de;Be||(bo(ke),de!==ke&&(qt==null||qt(ke)))},[Be,de,bo,qt]),xn=b.useMemo(function(){return(Xe||[]).some(function(sn){return[` -`,`\r -`].includes(sn)})},[Xe]),On=function(ke,ui,pi){var Un=!0,Ei=ke;xe==null||xe(null);var $i=pi?null:Pt(ke,Xe);return Re!=="combobox"&&$i&&(Ei="",Tn==null||Tn($i),Ae(!1),Un=!1),yn&&Wi!==Ei&&yn(Ei,{source:ui?"typing":"effect"}),Un},Ni=function(ke){!ke||!ke.trim()||yn(ke,{source:"submit"})};b.useEffect(function(){!de&&!Ut&&Re!=="combobox"&&On("",!1,!1)},[de]),b.useEffect(function(){yo&&Be&&bo(!1),Be&&so(!1)},[Be]);var oi=v(),bi=(0,R.Z)(oi,2),Wn=bi[0],to=bi[1],Eo=function(ke){var ui=Wn(),pi=ke.which;if(pi===et.Z.ENTER&&(Re!=="combobox"&&ke.preventDefault(),de||Ae(!0)),to(!!Wi),pi===et.Z.BACKSPACE&&!ui&&Ut&&!Wi&&te.length){for(var Un=(0,C.Z)(te),Ei=null,$i=Un.length-1;$i>=0;$i-=1){var Gi=Un[$i];if(!Gi.disabled){Un.splice($i,1),Ei=Gi;break}}Ei&&De(Un,{type:"remove",values:[Ei]})}for(var Li=arguments.length,eo=new Array(Li>1?Li-1:0),no=1;no1?ui-1:0),Un=1;Un1?$i-1:0),Li=1;Li<$i;Li++)Gi[Li-1]=arguments[Li];Hn==null||Hn.apply(void 0,[ke].concat(Gi))},wr=b.useState({}),wo=(0,R.Z)(wr,2),us=wo[1];function hs(){us({})}var Vn;Zi&&(Vn=function(ke){Ae(ke)}),I(function(){var sn;return[Ii.current,(sn=En.current)===null||sn===void 0?void 0:sn.getPopupElement()]},ve,Ae,!!Zi);var Xo=b.useMemo(function(){return(0,F.Z)((0,F.Z)({},Z),{},{notFoundContent:ze,open:de,triggerOpen:ve,id:Ft,showSearch:Ee,multiple:Ut,toggleOpen:Ae})},[Z,ze,ve,de,Ft,Ee,Ut,Ae]),_o=!!Me||ln,Or;_o&&(Or=b.createElement(ft,{className:D()("".concat(Ct,"-arrow"),(0,S.Z)({},"".concat(Ct,"-arrow-loading"),ln)),customizeIcon:Me,customizeIconProps:{loading:ln,searchValue:Wi,open:de,focused:wi,showSearch:Ee}}));var Pi=function(){var ke;z==null||z(),(ke=qn.current)===null||ke===void 0||ke.focus(),De([],{type:"clear",values:te}),On("",!1,!1)},fs=Dt(Ct,Pi,te,Le,qe,Be,Wi,Re),gs=fs.allowClear,si=fs.clearIcon,Cr=b.createElement(kn,{ref:Si}),Qo=D()(Ct,Bt,(it={},(0,S.Z)(it,"".concat(Ct,"-focused"),wi),(0,S.Z)(it,"".concat(Ct,"-multiple"),Ut),(0,S.Z)(it,"".concat(Ct,"-single"),!Ut),(0,S.Z)(it,"".concat(Ct,"-allow-clear"),Le),(0,S.Z)(it,"".concat(Ct,"-show-arrow"),_o),(0,S.Z)(it,"".concat(Ct,"-disabled"),Be),(0,S.Z)(it,"".concat(Ct,"-loading"),ln),(0,S.Z)(it,"".concat(Ct,"-open"),de),(0,S.Z)(it,"".concat(Ct,"-customize-input"),mo),(0,S.Z)(it,"".concat(Ct,"-show-search"),Ee),it)),Ti=b.createElement(gt,{ref:En,disabled:Be,prefixCls:Ct,visible:ve,popupElement:Cr,animation:Qn,transitionName:ae,dropdownStyle:Qe,dropdownClassName:nn,direction:ce,dropdownMatchSelectWidth:Ln,dropdownRender:ji,dropdownAlign:Fe,placement:fe,builtinPlacements:re,getPopupContainer:hn,empty:Gt,getTriggerDOMNode:function(){return yi.current},onPopupVisibleChange:Vn,onPopupMouseEnter:hs},Zi?b.cloneElement(Zi,{ref:No}):b.createElement(Ce,(0,T.Z)({},Z,{domRef:yi,prefixCls:Ct,inputElement:mo,ref:qn,id:Ft,showSearch:Ee,autoClearSearchValue:gn,mode:Re,activeDescendantId:Te,tagRender:ie,values:te,open:de,onToggleOpen:Ae,activeValue:he,searchValue:Wi,onSearch:On,onSearchSubmit:Ni,onRemove:Lo,tokenWithEnter:xn}))),jo;return Zi?jo=Ti:jo=b.createElement("div",(0,T.Z)({className:Qo},Ne,{ref:Ii,onMouseDown:So,onKeyDown:Eo,onKeyUp:xo,onFocus:Ai,onBlur:Oi}),wi&&!de&&b.createElement("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite"},"".concat(te.map(function(sn){var ke=sn.label,ui=sn.value;return["number","string"].includes((0,A.Z)(ke))?ke:ui}).join(", "))),Ti,Or,gs&&si),b.createElement(tt.Provider,{value:Xo},jo)}),_t=Yt,Qt=function(Z,N){var ut=b.useRef({values:new Map,options:new Map}),it=b.useMemo(function(){var Ct=ut.current,Bt=Ct.values,Jt=Ct.options,ie=Z.map(function(te){if(te.label===void 0){var De;return(0,F.Z)((0,F.Z)({},te),{},{label:(De=Bt.get(te.value))===null||De===void 0?void 0:De.label})}return te}),ce=new Map,ye=new Map;return ie.forEach(function(te){ce.set(te.value,te),ye.set(te.value,N.get(te.value)||Jt.get(te.value))}),ut.current.values=ce,ut.current.options=ye,ie},[Z,N]),Ft=b.useCallback(function(Ct){return N.get(Ct)||ut.current.options.get(Ct)},[N]);return[it,Ft]};function Zt(Z,N){return At(Z).join("").toUpperCase().includes(N)}var Wt=function(Z,N,ut,it,Ft){return b.useMemo(function(){if(!ut||it===!1)return Z;var Ct=N.options,Bt=N.label,Jt=N.value,ie=[],ce=typeof it=="function",ye=ut.toUpperCase(),te=ce?it:function(Gt,we){return Ft?Zt(we[Ft],ye):we[Ct]?Zt(we[Bt!=="children"?Bt:"label"],ye):Zt(we[Jt],ye)},De=ce?function(Gt){return st(Gt)}:function(Gt){return Gt};return Z.forEach(function(Gt){if(Gt[Ct]){var we=te(ut,De(Gt));if(we)ie.push(Gt);else{var ze=Gt[Ct].filter(function(z){return te(ut,De(z))});ze.length&&ie.push((0,F.Z)((0,F.Z)({},Gt),{},(0,S.Z)({},Ct,ze)))}return}te(ut,De(Gt))&&ie.push(Gt)}),ie},[Z,it,Ft,ut,N])},ue=y(17115),se=y(11592),We=["children","value"],He=["children"];function pn(Z){var N=Z,ut=N.key,it=N.props,Ft=it.children,Ct=it.value,Bt=(0,L.Z)(it,We);return(0,F.Z)({key:ut,value:Ct!==void 0?Ct:ut,children:Ft},Bt)}function In(Z){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,se.Z)(Z).map(function(ut,it){if(!b.isValidElement(ut)||!ut.type)return null;var Ft=ut,Ct=Ft.type.isSelectOptGroup,Bt=Ft.key,Jt=Ft.props,ie=Jt.children,ce=(0,L.Z)(Jt,He);return N||!Ct?pn(ut):(0,F.Z)((0,F.Z)({key:"__RC_SELECT_GRP__".concat(Bt===null?it:Bt,"__"),label:Bt},ce),{},{options:In(ie)})}).filter(function(ut){return ut})}function en(Z,N,ut,it,Ft){return b.useMemo(function(){var Ct=Z,Bt=!Z;Bt&&(Ct=In(N));var Jt=new Map,ie=new Map,ce=function(De,Gt,we){we&&typeof we=="string"&&De.set(Gt[we],Gt)};function ye(te){for(var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Gt=0;Gt1&&arguments[1]!==void 0?arguments[1]:1,hn=xe.length,Je=0;Je1&&arguments[1]!==void 0?arguments[1]:!1;Me(fe);var hn={source:re?"keyboard":"mouse"},Je=xe[fe];if(!Je){ze(null,-1,hn);return}ze(Je.value,fe,hn)};(0,b.useEffect)(function(){qe(z!==!1?yn(0):-1)},[xe.length,ce]);var kn=b.useCallback(function(Fe){return ln.has(Fe)&&ie!=="combobox"},[ie,(0,C.Z)(ln).toString(),ln.size]);(0,b.useEffect)(function(){var Fe=setTimeout(function(){if(!Jt&&Bt&&ln.size===1){var re=Array.from(ln)[0],hn=xe.findIndex(function(Je){var bn=Je.data;return bn.value===re});hn!==-1&&(qe(hn),gn(hn))}});if(Bt){var fe;(fe=Te.current)===null||fe===void 0||fe.scrollTo(void 0)}return function(){return clearTimeout(Fe)}},[Bt,ce,we.length]);var Qn=function(fe){fe!==void 0&&Re(fe,{selected:!ln.has(fe)}),Jt||ye(!1)};if(b.useImperativeHandle(ut,function(){return{onKeyDown:function(fe){var re=fe.which,hn=fe.ctrlKey;switch(re){case et.Z.N:case et.Z.P:case et.Z.UP:case et.Z.DOWN:{var Je=0;if(re===et.Z.UP?Je=-1:re===et.Z.DOWN?Je=1:_n()&&hn&&(re===et.Z.N?Je=1:re===et.Z.P&&(Je=-1)),Je!==0){var bn=yn(Le+Je,Je);gn(bn),qe(bn,!0)}break}case et.Z.ENTER:{var on=xe[Le];on&&!on.data.disabled?Qn(on.value):Qn(void 0),Bt&&fe.preventDefault();break}case et.Z.ESC:ye(!1),Bt&&fe.stopPropagation()}},onKeyUp:function(){},scrollTo:function(fe){gn(fe)}}}),xe.length===0)return b.createElement("div",{role:"listbox",id:"".concat(Ct,"_list"),className:"".concat(he,"-empty"),onMouseDown:un},te);var ae=Object.keys(Sn).map(function(Fe){return Sn[Fe]}),Qe=function(fe){return fe.label};function nn(Fe,fe){var re=Fe.group;return{role:re?"presentation":"option",id:"".concat(Ct,"_list_").concat(fe)}}var Ln=function(fe){var re=xe[fe];if(!re)return null;var hn=re.data||{},Je=hn.value,bn=re.group,on=(0,w.Z)(hn,!0),wn=Qe(re);return re?b.createElement("div",(0,T.Z)({"aria-label":typeof wn=="string"&&!bn?wn:null},on,{key:fe},nn(re,fe),{"aria-selected":kn(Je)}),Je):null},ji={role:"listbox",id:"".concat(Ct,"_list")};return b.createElement(b.Fragment,null,Ze&&b.createElement("div",(0,T.Z)({},ji,{style:{height:0,width:0,overflow:"hidden"}}),Ln(Le-1),Ln(Le),Ln(Le+1)),b.createElement(ci.Z,{itemKey:"key",ref:Te,data:xe,height:Mn,itemHeight:qt,fullHeight:!1,onMouseDown:un,onScroll:De,virtual:Ze,direction:Ie,innerProps:Ze?null:ji},function(Fe,fe){var re,hn=Fe.group,Je=Fe.groupOption,bn=Fe.data,on=Fe.label,wn=Fe.value,Jn=bn.key;if(hn){var Rn,Hn=(Rn=bn.title)!==null&&Rn!==void 0?Rn:Ht(on)?on.toString():void 0;return b.createElement("div",{className:D()(he,"".concat(he,"-group")),title:Hn},on!==void 0?on:Jn)}var ee=bn.disabled,Ut=bn.title,Ee=bn.children,Ne=bn.style,$e=bn.className,zi=(0,L.Z)(bn,ni),ai=(0,ri.Z)(zi,ae),jn=kn(wn),Ii="".concat(he,"-option"),yi=D()(he,Ii,$e,(re={},(0,S.Z)(re,"".concat(Ii,"-grouped"),Je),(0,S.Z)(re,"".concat(Ii,"-active"),Le===fe&&!ee),(0,S.Z)(re,"".concat(Ii,"-disabled"),ee),(0,S.Z)(re,"".concat(Ii,"-selected"),jn),re)),En=Qe(Fe),qn=!Be||typeof Be=="function"||jn,Si=typeof En=="number"?En:En||wn,Ki=Ht(Si)?Si.toString():void 0;return Ut!==void 0&&(Ki=Ut),b.createElement("div",(0,T.Z)({},(0,w.Z)(ai),Ze?{}:nn(Fe,fe),{"aria-selected":jn,className:yi,title:Ki,onMouseMove:function(){Le===fe||ee||qe(fe)},onClick:function(){ee||Qn(wn)},style:Ne}),b.createElement("div",{className:"".concat(Ii,"-content")},Si),b.isValidElement(Be)||jn,qn&&b.createElement(ft,{className:"".concat(he,"-option-state"),customizeIcon:Be,customizeIconProps:{isSelected:jn}},jn?"\u2713":null))}))},ii=b.forwardRef(Pn);ii.displayName="OptionList";var vn=ii;function di(Z){var N=Z.mode,ut=Z.options,it=Z.children,Ft=Z.backfill,Ct=Z.allowClear,Bt=Z.placeholder,Jt=Z.getInputElement,ie=Z.showSearch,ce=Z.onSearch,ye=Z.defaultOpen,te=Z.autoFocus,De=Z.labelInValue,Gt=Z.value,we=Z.inputValue,ze=Z.optionLabelProp,z=isMultiple(N),Re=ie!==void 0?ie:z||N==="combobox",Be=ut||convertChildrenToData(it);if(warning(N!=="tags"||Be.every(function(Ie){return!Ie.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),N==="tags"||N==="combobox"){var ln=Be.some(function(Ie){return Ie.options?Ie.options.some(function(Mn){return typeof("value"in Mn?Mn.value:Mn.key)=="number"}):typeof("value"in Ie?Ie.value:Ie.key)=="number"});warning(!ln,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(N!=="combobox"||!ze,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(N==="combobox"||!Ft,"`backfill` only works with `combobox` mode."),warning(N==="combobox"||!Jt,"`getInputElement` only work with `combobox` mode."),noteOnce(N!=="combobox"||!Jt||!Ct||!Bt,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),ce&&!Re&&N!=="combobox"&&N!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!ye||te,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),Gt!=null){var Sn=toArray(Gt);warning(!De||Sn.every(function(Ie){return _typeof(Ie)==="object"&&("key"in Ie||"value"in Ie)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!z||Array.isArray(Gt),"`value` should be array when `mode` is `multiple` or `tags`")}if(it){var Ze=null;toNodeArray(it).some(function(Ie){if(!React.isValidElement(Ie)||!Ie.type)return!1;var Mn=Ie,qt=Mn.type;if(qt.isSelectOption)return!1;if(qt.isSelectOptGroup){var he=toNodeArray(Ie.props.children).every(function(xe){return!React.isValidElement(xe)||!Ie.type||xe.type.isSelectOption?!0:(Ze=xe.type,!1)});return!he}return Ze=qt,!0}),Ze&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Ze.displayName||Ze.name||Ze,"`.")),warning(we===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Mi(Z,N){if(Z){var ut=function it(Ft){for(var Ct=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Bt=0;Bt2&&arguments[2]!==void 0?arguments[2]:{},Ae=ve.source,xn=Ae===void 0?"keyboard":Ae;No(_e),Bt&&it==="combobox"&&de!==null&&xn==="keyboard"&&ro(String(de))},[Bt,it]),Yi=function(_e,ve,Ae){var xn=function(){var Hi,Ai=$e(_e);return[Le?{label:Ai==null?void 0:Ai[nn.label],value:_e,key:(Hi=Ai==null?void 0:Ai.key)!==null&&Hi!==void 0?Hi:_e}:_e,st(Ai)]};if(ve&&Gt){var On=xn(),Ni=(0,R.Z)(On,2),oi=Ni[0],bi=Ni[1];Gt(oi,bi)}else if(!ve&&we&&Ae!=="clear"){var Wn=xn(),to=(0,R.Z)(Wn,2),Eo=to[0],xo=to[1];we(Eo,xo)}},Po=Cn(function(de,_e){var ve,Ae=Qn?_e.selected:!0;Ae?ve=Qn?[].concat((0,C.Z)(Ne),[de]):[de]:ve=Ne.filter(function(xn){return xn.value!==de}),Ki(ve),Yi(de,Ae),it==="combobox"?ro(""):(!bt||De)&&(fe(""),ro(""))}),Go=function(_e,ve){Ki(_e);var Ae=ve.type,xn=ve.values;(Ae==="remove"||Ae==="clear")&&xn.forEach(function(On){Yi(On.value,!1,Ae)})},To=function(_e,ve){if(fe(_e),ro(null),ve.source==="submit"){var Ae=(_e||"").trim();if(Ae){var xn=Array.from(new Set([].concat((0,C.Z)(ai),[Ae])));Ki(xn),Yi(Ae,!0),fe("")}return}ve.source!=="blur"&&(it==="combobox"&&Ki(_e),ye==null||ye(_e))},yo=function(_e){var ve=_e;it!=="tags"&&(ve=_e.map(function(xn){var On=Je.get(xn);return On==null?void 0:On.value}).filter(function(xn){return xn!==void 0}));var Ae=Array.from(new Set([].concat((0,C.Z)(ai),(0,C.Z)(ve))));Ki(Ae),Ae.forEach(function(xn){Yi(xn,!0)})},bo=b.useMemo(function(){var de=he!==!1&&z!==!1;return(0,F.Z)((0,F.Z)({},re),{},{flattenOptions:Si,onActiveValue:vo,defaultActiveFirstOption:Ao,onSelect:Po,menuItemSelectedIcon:qt,rawValues:ai,fieldNames:nn,virtual:de,direction:xe,listHeight:un,listItemHeight:yn,childrenAsData:ae})},[re,Si,vo,Ao,Po,qt,ai,nn,he,z,un,yn,ae]);return b.createElement(ei.Provider,{value:bo},b.createElement(_t,(0,T.Z)({},qe,{id:kn,prefixCls:Ct,ref:N,omitDomProps:Ge,mode:it,displayValues:zi,onDisplayValuesChange:Go,direction:xe,searchValue:Fe,onSearch:To,autoClearSearchValue:De,onSearchSplit:yo,dropdownMatchSelectWidth:z,OptionList:vn,emptyOptions:!Si.length,activeValue:so,activeDescendantId:"".concat(kn,"_list_").concat(Zi)})))}),Dn=cn;Dn.Option=Xn,Dn.OptGroup=an;var fn=Dn,dn=fn},9296:function(Ke,ct,y){"use strict";y.r(ct),y.d(ct,{ResizableTextArea:function(){return rt},default:function(){return ne}});var T=y(60499),C=y(85899),S=y(18642),F=y(43749),R=y(72190),L=y(42244),A=y(77654),$=y(92310),_=y.n($),b=y(93681),P=y(5643),D=y(18929),H=y(59301),Y=y(29301),et=y(34280),jt=y(16089),ot=` - min-height:0 !important; - max-height:none !important; - height:0 !important; - visibility:hidden !important; - overflow:hidden !important; - position:absolute !important; - z-index:-1000 !important; - top:0 !important; - right:0 !important; - pointer-events: none !important; -`,ft=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Dt={},tt;function Q(Et){var lt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Mt=Et.getAttribute("id")||Et.getAttribute("data-reactid")||Et.getAttribute("name");if(lt&&Dt[Mt])return Dt[Mt];var Ot=window.getComputedStyle(Et),wt=Ot.getPropertyValue("box-sizing")||Ot.getPropertyValue("-moz-box-sizing")||Ot.getPropertyValue("-webkit-box-sizing"),nt=parseFloat(Ot.getPropertyValue("padding-bottom"))+parseFloat(Ot.getPropertyValue("padding-top")),Kt=parseFloat(Ot.getPropertyValue("border-bottom-width"))+parseFloat(Ot.getPropertyValue("border-top-width")),It=ft.map(function(dt){return"".concat(dt,":").concat(Ot.getPropertyValue(dt))}).join(";"),xt={sizingStyle:It,paddingSize:nt,borderSize:Kt,boxSizing:wt};return lt&&Mt&&(Dt[Mt]=xt),xt}function M(Et){var lt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Mt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,Ot=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;tt||(tt=document.createElement("textarea"),tt.setAttribute("tab-index","-1"),tt.setAttribute("aria-hidden","true"),document.body.appendChild(tt)),Et.getAttribute("wrap")?tt.setAttribute("wrap",Et.getAttribute("wrap")):tt.removeAttribute("wrap");var wt=Q(Et,lt),nt=wt.paddingSize,Kt=wt.borderSize,It=wt.boxSizing,xt=wt.sizingStyle;tt.setAttribute("style","".concat(xt,";").concat(ot)),tt.value=Et.value||Et.placeholder||"";var dt=void 0,Oe=void 0,Ye,Ce=tt.scrollHeight;if(It==="border-box"?Ce+=Kt:It==="content-box"&&(Ce-=nt),Mt!==null||Ot!==null){tt.value=" ";var pe=tt.scrollHeight-nt;Mt!==null&&(dt=pe*Mt,It==="border-box"&&(dt=dt+nt+Kt),Ce=Math.max(dt,Ce)),Ot!==null&&(Oe=pe*Ot,It==="border-box"&&(Oe=Oe+nt+Kt),Ye=Ce>Oe?"":"hidden",Ce=Math.min(Oe,Ce))}var be={height:Ce,overflowY:Ye,resize:"none"};return dt&&(be.minHeight=dt),Oe&&(be.maxHeight=Oe),be}var v=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],I=0,w=1,K=2,G=H.forwardRef(function(Et,lt){var Mt=Et,Ot=Mt.prefixCls,wt=Mt.onPressEnter,nt=Mt.defaultValue,Kt=Mt.value,It=Mt.autoSize,xt=Mt.onResize,dt=Mt.className,Oe=Mt.style,Ye=Mt.disabled,Ce=Mt.onChange,pe=Mt.onInternalAutoSize,be=(0,L.Z)(Mt,v),oe=(0,D.Z)(nt,{value:Kt,postState:function(an){return an!=null?an:""}}),J=(0,R.Z)(oe,2),B=J[0],gt=J[1],at=function(an){gt(an.target.value),Ce==null||Ce(an)},W=H.useRef();H.useImperativeHandle(lt,function(){return{textArea:W.current}});var mt=H.useMemo(function(){return It&&(0,F.Z)(It)==="object"?[It.minRows,It.maxRows]:[]},[It]),vt=(0,R.Z)(mt,2),st=vt[0],Pt=vt[1],ht=!!It,Vt=function(){try{if(document.activeElement===W.current){var an=W.current,Bn=an.selectionStart,Xn=an.selectionEnd,An=an.scrollTop;W.current.setSelectionRange(Bn,Xn),W.current.scrollTop=An}}catch(ri){}},bt=H.useState(K),Yt=(0,R.Z)(bt,2),_t=Yt[0],Qt=Yt[1],Zt=H.useState(),Wt=(0,R.Z)(Zt,2),ue=Wt[0],se=Wt[1],We=function(){Qt(I)};(0,et.Z)(function(){ht&&We()},[Kt,st,Pt,ht]),(0,et.Z)(function(){if(_t===I)Qt(w);else if(_t===w){var mn=M(W.current,!1,st,Pt);Qt(K),se(mn)}else Vt()},[_t]);var He=H.useRef(),pn=function(){jt.Z.cancel(He.current)},In=function(an){_t===K&&(xt==null||xt(an),It&&(pn(),He.current=(0,jt.Z)(function(){We()})))};H.useEffect(function(){return pn},[]);var en=ht?ue:null,Cn=(0,C.Z)((0,C.Z)({},Oe),en);return(_t===I||_t===w)&&(Cn.overflowY="hidden",Cn.overflowX="hidden"),H.createElement(Y.Z,{onResize:In,disabled:!(It||xt)},H.createElement("textarea",(0,T.Z)({},be,{ref:W,style:Cn,className:_()(Ot,dt,(0,S.Z)({},"".concat(Ot,"-disabled"),Ye)),disabled:Ye,value:B,onChange:at})))}),rt=G,Rt=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function At(Et,lt){return(0,A.Z)(Et||"").slice(0,lt).join("")}function $t(Et,lt,Mt,Ot){var wt=Mt;return Et?wt=At(Mt,Ot):(0,A.Z)(lt||"").lengthOt&&(wt=lt),wt}var Pe=H.forwardRef(function(Et,lt){var Mt,Ot=Et.defaultValue,wt=Et.value,nt=Et.onFocus,Kt=Et.onBlur,It=Et.onChange,xt=Et.allowClear,dt=Et.maxLength,Oe=Et.onCompositionStart,Ye=Et.onCompositionEnd,Ce=Et.suffix,pe=Et.prefixCls,be=pe===void 0?"rc-textarea":pe,oe=Et.classes,J=Et.showCount,B=Et.className,gt=Et.style,at=Et.disabled,W=Et.hidden,mt=Et.classNames,vt=Et.styles,st=Et.onResize,Pt=(0,L.Z)(Et,Rt),ht=(0,D.Z)(Ot,{value:wt,defaultValue:Ot}),Vt=(0,R.Z)(ht,2),bt=Vt[0],Yt=Vt[1],_t=(0,H.useRef)(null),Qt=H.useState(!1),Zt=(0,R.Z)(Qt,2),Wt=Zt[0],ue=Zt[1],se=H.useState(!1),We=(0,R.Z)(se,2),He=We[0],pn=We[1],In=H.useRef(),en=H.useRef(0),Cn=H.useState(null),mn=(0,R.Z)(Cn,2),an=mn[0],Bn=mn[1],Xn=function(){var me;(me=_t.current)===null||me===void 0||me.textArea.focus()};(0,H.useImperativeHandle)(lt,function(){return{resizableTextArea:_t.current,focus:Xn,blur:function(){var me;(me=_t.current)===null||me===void 0||me.textArea.blur()}}}),(0,H.useEffect)(function(){ue(function(Ge){return!at&&Ge})},[at]);var An=Number(dt)>0,ri=function(me){pn(!0),In.current=bt,en.current=me.currentTarget.selectionStart,Oe==null||Oe(me)},ci=function(me){pn(!1);var cn=me.currentTarget.value;if(An){var Dn,fn=en.current>=dt+1||en.current===((Dn=In.current)===null||Dn===void 0?void 0:Dn.length);cn=$t(fn,In.current,cn,dt)}cn!==bt&&(Yt(cn),(0,P.rJ)(me.currentTarget,me,It,cn)),Ye==null||Ye(me)},Fn=function(me){var cn=me.target.value;if(!He&&An){var Dn=me.target.selectionStart>=dt+1||me.target.selectionStart===cn.length||!me.target.selectionStart;cn=$t(Dn,bt,cn,dt)}Yt(cn),(0,P.rJ)(me.currentTarget,me,It,cn)},ei=function(me){var cn=Pt.onPressEnter,Dn=Pt.onKeyDown;me.key==="Enter"&&cn&&cn(me),Dn==null||Dn(me)},_n=function(me){ue(!0),nt==null||nt(me)},ni=function(me){ue(!1),Kt==null||Kt(me)},Ht=function(me){var cn;Yt(""),Xn(),(0,P.rJ)((cn=_t.current)===null||cn===void 0?void 0:cn.textArea,me,It)},Pn=(0,P.D7)(bt);!He&&An&&wt==null&&(Pn=At(Pn,dt));var ii=Ce,vn;if(J){var di=(0,A.Z)(Pn).length;(0,F.Z)(J)==="object"?vn=J.formatter({value:Pn,count:di,maxLength:dt}):vn="".concat(di).concat(An?" / ".concat(dt):""),ii=H.createElement(H.Fragment,null,ii,H.createElement("span",{className:_()("".concat(be,"-data-count"),mt==null?void 0:mt.count),style:vt==null?void 0:vt.count},vn))}var Mi=function(me){var cn;st==null||st(me),(cn=_t.current)!==null&&cn!==void 0&&cn.textArea.style.height&&Bn(!0)},Ri=!Pt.autoSize&&!J&&!xt,gi=H.createElement(b.BaseInput,{value:Pn,allowClear:xt,handleReset:Ht,suffix:ii,prefixCls:be,classes:{affixWrapper:_()(oe==null?void 0:oe.affixWrapper,(Mt={},(0,S.Z)(Mt,"".concat(be,"-show-count"),J),(0,S.Z)(Mt,"".concat(be,"-textarea-allow-clear"),xt),Mt))},disabled:at,focused:Wt,className:B,style:(0,C.Z)((0,C.Z)({},gt),an&&!Ri?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof vn=="string"?vn:void 0}},hidden:W,inputElement:H.createElement(rt,(0,T.Z)({},Pt,{onKeyDown:ei,onChange:Fn,onFocus:_n,onBlur:ni,onCompositionStart:ri,onCompositionEnd:ci,className:mt==null?void 0:mt.textarea,style:(0,C.Z)((0,C.Z)({},vt==null?void 0:vt.textarea),{},{resize:gt==null?void 0:gt.resize}),disabled:at,prefixCls:be,onResize:Mi,ref:_t}))});return gi}),Xt=Pe,ne=Xt},48911:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return oe}});var T=y(60499),C=y(43749),S=y(85899),F=y(18642),R=y(72190),L=y(42244),A=y(92310),$=y.n(A),_=y(29301),b=y(70425),P=y(34280),D=y(59301),H=y(4676),Y=D.forwardRef(function(J,B){var gt=J.height,at=J.offsetY,W=J.offsetX,mt=J.children,vt=J.prefixCls,st=J.onInnerResize,Pt=J.innerProps,ht=J.rtl,Vt=J.extra,bt={},Yt={display:"flex",flexDirection:"column"};return at!==void 0&&(bt={height:gt,position:"relative",overflow:"hidden"},Yt=(0,S.Z)((0,S.Z)({},Yt),{},(0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)((0,F.Z)({transform:"translateY(".concat(at,"px)")},ht?"marginRight":"marginLeft",-W),"position","absolute"),"left",0),"right",0),"top",0))),D.createElement("div",{style:bt},D.createElement(_.Z,{onResize:function(Qt){var Zt=Qt.offsetHeight;Zt&&st&&st()}},D.createElement("div",(0,T.Z)({style:Yt,className:$()((0,F.Z)({},"".concat(vt,"-holder-inner"),vt)),ref:B},Pt),mt,Vt)))});Y.displayName="Filler";var et=Y;function jt(J){var B=J.children,gt=J.setRef,at=D.useCallback(function(W){gt(W)},[]);return D.cloneElement(B,{ref:at})}function ot(J,B,gt,at,W,mt,vt,st){var Pt=st.getKey;return J.slice(B,gt+1).map(function(ht,Vt){var bt=B+Vt,Yt=vt(ht,bt,{style:{width:at},offsetX:W}),_t=Pt(ht);return D.createElement(jt,{key:_t,setRef:function(Zt){return mt(ht,Zt)}},Yt)})}function ft(J,B,gt,at){var W=gt-J,mt=B-gt,vt=Math.min(W,mt)*2;if(at<=vt){var st=Math.floor(at/2);return at%2?gt+st+1:gt-st}return W>mt?gt-(at-mt):gt+(at-W)}function Dt(J,B,gt){var at=J.length,W=B.length,mt,vt;if(at===0&&W===0)return null;at2&&arguments[2]!==void 0?arguments[2]:!1,bt=Pt?ht<0&&st.current.left||ht>0&&st.current.right:ht<0&&st.current.top||ht>0&&st.current.bottom;return Vt&&bt?(clearTimeout(mt.current),W.current=!1):(!bt||W.current)&&vt(),!W.current&&bt}};function w(J,B,gt,at,W,mt,vt){var st=(0,D.useRef)(0),Pt=(0,D.useRef)(null),ht=(0,D.useRef)(null),Vt=(0,D.useRef)(!1),bt=I(B,gt,at,W);function Yt(se,We){if(Q.Z.cancel(Pt.current),!bt(!1,We)){var He=se;if(!He._virtualHandled)He._virtualHandled=!0;else return;st.current+=We,ht.current=We,v||He.preventDefault(),Pt.current=(0,Q.Z)(function(){var pn=Vt.current?10:1;vt(st.current*pn,!1),st.current=0})}}function _t(se,We){vt(We,!0),v||se.preventDefault()}var Qt=(0,D.useRef)(null),Zt=(0,D.useRef)(null);function Wt(se){if(J){Q.Z.cancel(Zt.current),Zt.current=(0,Q.Z)(function(){Qt.current=null},2);var We=se.deltaX,He=se.deltaY,pn=se.shiftKey,In=We,en=He;(Qt.current==="sx"||!Qt.current&&pn&&He&&!We)&&(In=He,en=0,Qt.current="sx");var Cn=Math.abs(In),mn=Math.abs(en);Qt.current===null&&(Qt.current=mt&&Cn>mn?"x":"y"),Qt.current==="y"?Yt(se,en):_t(se,In)}}function ue(se){J&&(Vt.current=se.detail===ht.current)}return[Wt,ue]}function K(J,B,gt,at){var W=D.useMemo(function(){return[new Map,[]]},[J,gt.id,at]),mt=(0,R.Z)(W,2),vt=mt[0],st=mt[1],Pt=function(Vt){var bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Vt,Yt=vt.get(Vt),_t=vt.get(bt);if(Yt===void 0||_t===void 0)for(var Qt=J.length,Zt=st.length;Zt0&&arguments[0]!==void 0?arguments[0]:!1;Vt();var Qt=function(){var ue=!1;st.current.forEach(function(se,We){if(se&&se.offsetParent){var He=se.offsetHeight,pn=getComputedStyle(se),In=pn.marginTop,en=pn.marginBottom,Cn=$t(In),mn=$t(en),an=He+Cn+mn;Pt.current.get(We)!==an&&(Pt.current.set(We,an),ue=!0)}}),ue&&vt(function(se){return se+1})};if(_t)Qt();else{ht.current+=1;var Zt=ht.current;Promise.resolve().then(function(){Zt===ht.current&&Qt()})}}function Yt(_t,Qt){var Zt=J(_t),Wt=st.current.get(Zt);Qt?(st.current.set(Zt,Qt),bt()):st.current.delete(Zt),!Wt!=!Qt&&(Qt?B==null||B(_t):gt==null||gt(_t))}return(0,D.useEffect)(function(){return Vt},[]),[Yt,bt,Pt.current,mt]}var Xt=14/15;function ne(J,B,gt){var at=(0,D.useRef)(!1),W=(0,D.useRef)(0),mt=(0,D.useRef)(0),vt=(0,D.useRef)(null),st=(0,D.useRef)(null),Pt,ht=function(_t){if(at.current){var Qt=Math.ceil(_t.touches[0].pageX),Zt=Math.ceil(_t.touches[0].pageY),Wt=W.current-Qt,ue=mt.current-Zt,se=Math.abs(Wt)>Math.abs(ue);se?W.current=Qt:mt.current=Zt;var We=gt(se,se?Wt:ue,!1,_t);We&&_t.preventDefault(),clearInterval(st.current),We&&(st.current=setInterval(function(){se?Wt*=Xt:ue*=Xt;var He=Math.floor(se?Wt:ue);(!gt(se,He,!0)||Math.abs(He)<=.1)&&clearInterval(st.current)},16))}},Vt=function(){at.current=!1,Pt()},bt=function(_t){Pt(),_t.touches.length===1&&!at.current&&(at.current=!0,W.current=Math.ceil(_t.touches[0].pageX),mt.current=Math.ceil(_t.touches[0].pageY),vt.current=_t.target,vt.current.addEventListener("touchmove",ht,{passive:!1}),vt.current.addEventListener("touchend",Vt,{passive:!0}))};Pt=function(){vt.current&&(vt.current.removeEventListener("touchmove",ht),vt.current.removeEventListener("touchend",Vt))},(0,P.Z)(function(){return J&&B.current.addEventListener("touchstart",bt,{passive:!0}),function(){var Yt;(Yt=B.current)===null||Yt===void 0||Yt.removeEventListener("touchstart",bt),Pt(),clearInterval(st.current)}},[J])}function Et(J){return Math.floor(Math.pow(J,.5))}function lt(J,B){var gt="touches"in J?J.touches[0]:J;return gt[B?"pageX":"pageY"]-window[B?"scrollX":"scrollY"]}function Mt(J,B,gt){D.useEffect(function(){var at=B.current;if(J&&at){var W=!1,mt,vt,st=function(){Q.Z.cancel(mt)},Pt=function Yt(){st(),mt=(0,Q.Z)(function(){gt(vt),Yt()})},ht=function(){W=!1,st()},Vt=function(_t){if(!(_t.target.draggable||_t.button!==0)){var Qt=_t;Qt._virtualHandled||(Qt._virtualHandled=!0,W=!0)}},bt=function(_t){if(W){var Qt=lt(_t,!1),Zt=at.getBoundingClientRect(),Wt=Zt.top,ue=Zt.bottom;if(Qt<=Wt){var se=Wt-Qt;vt=-Et(se),Pt()}else if(Qt>=ue){var We=Qt-ue;vt=Et(We),Pt()}else st()}};return at.addEventListener("mousedown",Vt),at.ownerDocument.addEventListener("mouseup",ht),at.ownerDocument.addEventListener("mousemove",bt),at.ownerDocument.addEventListener("dragend",ht),function(){at.removeEventListener("mousedown",Vt),at.ownerDocument.removeEventListener("mouseup",ht),at.ownerDocument.removeEventListener("mousemove",bt),at.ownerDocument.removeEventListener("dragend",ht),st()}}},[J])}var Ot=10;function wt(J,B,gt,at,W,mt,vt,st){var Pt=D.useRef(),ht=D.useState(null),Vt=(0,R.Z)(ht,2),bt=Vt[0],Yt=Vt[1];return(0,P.Z)(function(){if(bt&&bt.times=0;ri-=1){var ci=W(B[ri]),Fn=gt.get(ci);if(Fn===void 0){se=!0;break}if(An-=Fn,An<=0)break}switch(pn){case"top":He=en-Wt;break;case"bottom":He=Cn-ue+Wt;break;default:{var ei=J.current.scrollTop,_n=ei+ue;en_n&&(We="bottom")}}He!==null&&vt(He),He!==bt.lastTop&&(se=!0)}se&&Yt((0,S.Z)((0,S.Z)({},bt),{},{times:bt.times+1,targetAlign:We,lastTop:He}))}},[bt,J.current]),function(_t){if(_t==null){st();return}if(Q.Z.cancel(Pt.current),typeof _t=="number")vt(_t);else if(_t&&(0,C.Z)(_t)==="object"){var Qt,Zt=_t.align;"index"in _t?Qt=_t.index:Qt=B.findIndex(function(se){return W(se)===_t.key});var Wt=_t.offset,ue=Wt===void 0?0:Wt;Yt({times:0,index:Qt,offset:ue,originAlign:Zt})}}}var nt=D.forwardRef(function(J,B){var gt=J.prefixCls,at=J.rtl,W=J.scrollOffset,mt=J.scrollRange,vt=J.onStartMove,st=J.onStopMove,Pt=J.onScroll,ht=J.horizontal,Vt=J.spinSize,bt=J.containerSize,Yt=J.style,_t=J.thumbStyle,Qt=J.showScrollBar,Zt=D.useState(!1),Wt=(0,R.Z)(Zt,2),ue=Wt[0],se=Wt[1],We=D.useState(null),He=(0,R.Z)(We,2),pn=He[0],In=He[1],en=D.useState(null),Cn=(0,R.Z)(en,2),mn=Cn[0],an=Cn[1],Bn=!at,Xn=D.useRef(),An=D.useRef(),ri=D.useState(Qt),ci=(0,R.Z)(ri,2),Fn=ci[0],ei=ci[1],_n=D.useRef(),ni=function(){Qt===!0||Qt===!1||(clearTimeout(_n.current),ei(!0),_n.current=setTimeout(function(){ei(!1)},3e3))},Ht=mt-bt||0,Pn=bt-Vt||0,ii=D.useMemo(function(){if(W===0||Ht===0)return 0;var Dn=W/Ht;return Dn*Pn},[W,Ht,Pn]),vn=function(fn){fn.stopPropagation(),fn.preventDefault()},di=D.useRef({top:ii,dragging:ue,pageY:pn,startTop:mn});di.current={top:ii,dragging:ue,pageY:pn,startTop:mn};var Mi=function(fn){se(!0),In(lt(fn,ht)),an(di.current.top),vt(),fn.stopPropagation(),fn.preventDefault()};D.useEffect(function(){var Dn=function(N){N.preventDefault()},fn=Xn.current,dn=An.current;return fn.addEventListener("touchstart",Dn,{passive:!1}),dn.addEventListener("touchstart",Mi,{passive:!1}),function(){fn.removeEventListener("touchstart",Dn),dn.removeEventListener("touchstart",Mi)}},[]);var Ri=D.useRef();Ri.current=Ht;var gi=D.useRef();gi.current=Pn,D.useEffect(function(){if(ue){var Dn,fn=function(N){var ut=di.current,it=ut.dragging,Ft=ut.pageY,Ct=ut.startTop;Q.Z.cancel(Dn);var Bt=Xn.current.getBoundingClientRect(),Jt=bt/(ht?Bt.width:Bt.height);if(it){var ie=(lt(N,ht)-Ft)*Jt,ce=Ct;!Bn&&ht?ce-=ie:ce+=ie;var ye=Ri.current,te=gi.current,De=te?ce/te:0,Gt=Math.ceil(De*ye);Gt=Math.max(Gt,0),Gt=Math.min(Gt,ye),Dn=(0,Q.Z)(function(){Pt(Gt,ht)})}},dn=function(){se(!1),st()};return window.addEventListener("mousemove",fn,{passive:!0}),window.addEventListener("touchmove",fn,{passive:!0}),window.addEventListener("mouseup",dn,{passive:!0}),window.addEventListener("touchend",dn,{passive:!0}),function(){window.removeEventListener("mousemove",fn),window.removeEventListener("touchmove",fn),window.removeEventListener("mouseup",dn),window.removeEventListener("touchend",dn),Q.Z.cancel(Dn)}}},[ue]),D.useEffect(function(){return ni(),function(){clearTimeout(_n.current)}},[W]),D.useImperativeHandle(B,function(){return{delayHidden:ni}});var Ge="".concat(gt,"-scrollbar"),me={position:"absolute",visibility:Fn?null:"hidden"},cn={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return ht?(Object.assign(me,{height:8,left:0,right:0,bottom:0}),Object.assign(cn,(0,F.Z)({height:"100%",width:Vt},Bn?"left":"right",ii))):(Object.assign(me,(0,F.Z)({width:8,top:0,bottom:0},Bn?"right":"left",0)),Object.assign(cn,{width:"100%",height:Vt,top:ii})),D.createElement("div",{ref:Xn,className:$()(Ge,(0,F.Z)((0,F.Z)((0,F.Z)({},"".concat(Ge,"-horizontal"),ht),"".concat(Ge,"-vertical"),!ht),"".concat(Ge,"-visible"),Fn)),style:(0,S.Z)((0,S.Z)({},me),Yt),onMouseDown:vn,onMouseMove:ni},D.createElement("div",{ref:An,className:$()("".concat(Ge,"-thumb"),(0,F.Z)({},"".concat(Ge,"-thumb-moving"),ue)),style:(0,S.Z)((0,S.Z)({},cn),_t),onMouseDown:Mi}))}),Kt=nt,It=20;function xt(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,gt=J/B*J;return isNaN(gt)&&(gt=0),gt=Math.max(gt,It),Math.floor(gt)}var dt=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],Oe=[],Ye={overflowY:"auto",overflowAnchor:"none"};function Ce(J,B){var gt=J.prefixCls,at=gt===void 0?"rc-virtual-list":gt,W=J.className,mt=J.height,vt=J.itemHeight,st=J.fullHeight,Pt=st===void 0?!0:st,ht=J.style,Vt=J.data,bt=J.children,Yt=J.itemKey,_t=J.virtual,Qt=J.direction,Zt=J.scrollWidth,Wt=J.component,ue=Wt===void 0?"div":Wt,se=J.onScroll,We=J.onVirtualScroll,He=J.onVisibleChange,pn=J.innerProps,In=J.extraRender,en=J.styles,Cn=J.showScrollBar,mn=Cn===void 0?"optional":Cn,an=(0,L.Z)(J,dt),Bn=D.useCallback(function(ee){return typeof Yt=="function"?Yt(ee):ee==null?void 0:ee[Yt]},[Yt]),Xn=Pe(Bn,null,null),An=(0,R.Z)(Xn,4),ri=An[0],ci=An[1],Fn=An[2],ei=An[3],_n=!!(_t!==!1&&mt&&vt),ni=D.useMemo(function(){return Object.values(Fn.maps).reduce(function(ee,Ut){return ee+Ut},0)},[Fn.id,Fn.maps]),Ht=_n&&Vt&&(Math.max(vt*Vt.length,ni)>mt||!!Zt),Pn=Qt==="rtl",ii=$()(at,(0,F.Z)({},"".concat(at,"-rtl"),Pn),W),vn=Vt||Oe,di=(0,D.useRef)(),Mi=(0,D.useRef)(),Ri=(0,D.useRef)(),gi=(0,D.useState)(0),Ge=(0,R.Z)(gi,2),me=Ge[0],cn=Ge[1],Dn=(0,D.useState)(0),fn=(0,R.Z)(Dn,2),dn=fn[0],Z=fn[1],N=(0,D.useState)(!1),ut=(0,R.Z)(N,2),it=ut[0],Ft=ut[1],Ct=function(){Ft(!0)},Bt=function(){Ft(!1)},Jt={getKey:Bn};function ie(ee){cn(function(Ut){var Ee;typeof ee=="function"?Ee=ee(Ut):Ee=ee;var Ne=yn(Ee);return di.current.scrollTop=Ne,Ne})}var ce=(0,D.useRef)({start:0,end:vn.length}),ye=(0,D.useRef)(),te=tt(vn,Bn),De=(0,R.Z)(te,1),Gt=De[0];ye.current=Gt;var we=D.useMemo(function(){if(!_n)return{scrollHeight:void 0,start:0,end:vn.length-1,offset:void 0};if(!Ht){var ee;return{scrollHeight:((ee=Mi.current)===null||ee===void 0?void 0:ee.offsetHeight)||0,start:0,end:vn.length-1,offset:void 0}}for(var Ut=0,Ee,Ne,$e,zi=vn.length,ai=0;ai=me&&Ee===void 0&&(Ee=ai,Ne=Ut),En>me+mt&&$e===void 0&&($e=ai),Ut=En}return Ee===void 0&&(Ee=0,Ne=0,$e=Math.ceil(mt/vt)),$e===void 0&&($e=vn.length-1),$e=Math.min($e+1,vn.length-1),{scrollHeight:Ut,start:Ee,end:$e,offset:Ne}},[Ht,_n,me,vn,ei,mt]),ze=we.scrollHeight,z=we.start,Re=we.end,Be=we.offset;ce.current.start=z,ce.current.end=Re,D.useLayoutEffect(function(){var ee=Fn.getRecord();if(ee.size===1){var Ut=Array.from(ee.keys())[0],Ee=ee.get(Ut),Ne=vn[z];if(Ne&&Ee===void 0){var $e=Bn(Ne);if($e===Ut){var zi=Fn.get(Ut),ai=zi-vt;ie(function(jn){return jn+ai})}}}Fn.resetRecord()},[ze]);var ln=D.useState({width:0,height:mt}),Sn=(0,R.Z)(ln,2),Ze=Sn[0],Ie=Sn[1],Mn=function(Ut){Ie({width:Ut.offsetWidth,height:Ut.offsetHeight})},qt=(0,D.useRef)(),he=(0,D.useRef)(),xe=D.useMemo(function(){return xt(Ze.width,Zt)},[Ze.width,Zt]),Te=D.useMemo(function(){return xt(Ze.height,ze)},[Ze.height,ze]),un=ze-mt,gn=(0,D.useRef)(un);gn.current=un;function yn(ee){var Ut=ee;return Number.isNaN(gn.current)||(Ut=Math.min(Ut,gn.current)),Ut=Math.max(Ut,0),Ut}var Tn=me<=0,Xe=me>=un,Le=dn<=0,Me=dn>=Zt,qe=I(Tn,Xe,Le,Me),kn=function(){return{x:Pn?-dn:dn,y:me}},Qn=(0,D.useRef)(kn()),ae=(0,b.useEvent)(function(ee){if(We){var Ut=(0,S.Z)((0,S.Z)({},kn()),ee);(Qn.current.x!==Ut.x||Qn.current.y!==Ut.y)&&(We(Ut),Qn.current=Ut)}});function Qe(ee,Ut){var Ee=ee;Ut?((0,H.flushSync)(function(){Z(Ee)}),ae()):ie(Ee)}function nn(ee){var Ut=ee.currentTarget.scrollTop;Ut!==me&&ie(Ut),se==null||se(ee),ae()}var Ln=function(Ut){var Ee=Ut,Ne=Zt?Zt-Ze.width:0;return Ee=Math.max(Ee,0),Ee=Math.min(Ee,Ne),Ee},ji=(0,b.useEvent)(function(ee,Ut){Ut?((0,H.flushSync)(function(){Z(function(Ee){var Ne=Ee+(Pn?-ee:ee);return Ln(Ne)})}),ae()):ie(function(Ee){var Ne=Ee+ee;return Ne})}),Fe=w(_n,Tn,Xe,Le,Me,!!Zt,ji),fe=(0,R.Z)(Fe,2),re=fe[0],hn=fe[1];ne(_n,di,function(ee,Ut,Ee,Ne){var $e=Ne;return qe(ee,Ut,Ee)?!1:!$e||!$e._virtualHandled?($e&&($e._virtualHandled=!0),re({preventDefault:function(){},deltaX:ee?Ut:0,deltaY:ee?0:Ut}),!0):!1}),Mt(Ht,di,function(ee){ie(function(Ut){return Ut+ee})}),(0,P.Z)(function(){function ee(Ee){var Ne=Tn&&Ee.detail<0,$e=Xe&&Ee.detail>0;_n&&!Ne&&!$e&&Ee.preventDefault()}var Ut=di.current;return Ut.addEventListener("wheel",re,{passive:!1}),Ut.addEventListener("DOMMouseScroll",hn,{passive:!0}),Ut.addEventListener("MozMousePixelScroll",ee,{passive:!1}),function(){Ut.removeEventListener("wheel",re),Ut.removeEventListener("DOMMouseScroll",hn),Ut.removeEventListener("MozMousePixelScroll",ee)}},[_n,Tn,Xe]),(0,P.Z)(function(){if(Zt){var ee=Ln(dn);Z(ee),ae({x:ee})}},[Ze.width,Zt]);var Je=function(){var Ut,Ee;(Ut=qt.current)===null||Ut===void 0||Ut.delayHidden(),(Ee=he.current)===null||Ee===void 0||Ee.delayHidden()},bn=wt(di,vn,Fn,vt,Bn,function(){return ci(!0)},ie,Je);D.useImperativeHandle(B,function(){return{nativeElement:Ri.current,getScrollInfo:kn,scrollTo:function(Ut){function Ee(Ne){return Ne&&(0,C.Z)(Ne)==="object"&&("left"in Ne||"top"in Ne)}Ee(Ut)?(Ut.left!==void 0&&Z(Ln(Ut.left)),bn(Ut.top)):bn(Ut)}}}),(0,P.Z)(function(){if(He){var ee=vn.slice(z,Re+1);He(ee,vn)}},[z,Re,vn]);var on=K(vn,Bn,Fn,vt),wn=In==null?void 0:In({start:z,end:Re,virtual:Ht,offsetX:dn,offsetY:Be,rtl:Pn,getSize:on}),Jn=ot(vn,z,Re,Zt,dn,ri,bt,Jt),Rn=null;mt&&(Rn=(0,S.Z)((0,F.Z)({},Pt?"height":"maxHeight",mt),Ye),_n&&(Rn.overflowY="hidden",Zt&&(Rn.overflowX="hidden"),it&&(Rn.pointerEvents="none")));var Hn={};return Pn&&(Hn.dir="rtl"),D.createElement("div",(0,T.Z)({ref:Ri,style:(0,S.Z)((0,S.Z)({},ht),{},{position:"relative"}),className:ii},Hn,an),D.createElement(_.Z,{onResize:Mn},D.createElement(ue,{className:"".concat(at,"-holder"),style:Rn,ref:di,onScroll:nn,onMouseEnter:Je},D.createElement(et,{prefixCls:at,height:ze,offsetX:dn,offsetY:Be,scrollWidth:Zt,onInnerResize:ci,ref:Mi,innerProps:pn,rtl:Pn,extra:wn},Jn))),Ht&&ze>mt&&D.createElement(Kt,{ref:qt,prefixCls:at,scrollOffset:me,scrollRange:ze,rtl:Pn,onScroll:Qe,onStartMove:Ct,onStopMove:Bt,spinSize:Te,containerSize:Ze.height,style:en==null?void 0:en.verticalScrollBar,thumbStyle:en==null?void 0:en.verticalScrollBarThumb,showScrollBar:mn}),Ht&&Zt>Ze.width&&D.createElement(Kt,{ref:he,prefixCls:at,scrollOffset:dn,scrollRange:Zt,rtl:Pn,onScroll:Qe,onStartMove:Ct,onStopMove:Bt,spinSize:xe,containerSize:Ze.width,horizontal:!0,style:en==null?void 0:en.horizontalScrollBar,thumbStyle:en==null?void 0:en.horizontalScrollBarThumb,showScrollBar:mn}))}var pe=D.forwardRef(Ce);pe.displayName="List";var be=pe,oe=be},16722:function(Ke,ct,y){"use strict";y.d(ct,{Z:function(){return $}});const T=_=>typeof _=="object"&&_!=null&&_.nodeType===1,C=(_,b)=>(!b||_!=="hidden")&&_!=="visible"&&_!=="clip",S=(_,b)=>{if(_.clientHeight<_.scrollHeight||_.clientWidth<_.scrollWidth){const P=getComputedStyle(_,null);return C(P.overflowY,b)||C(P.overflowX,b)||(D=>{const H=(Y=>{if(!Y.ownerDocument||!Y.ownerDocument.defaultView)return null;try{return Y.ownerDocument.defaultView.frameElement}catch(et){return null}})(D);return!!H&&(H.clientHeightY<_&&et>b||Y>_&&et=b&&jt>=P?Y-_-D:et>b&&jtP?et-b+H:0,R=_=>{const b=_.parentElement;return b==null?_.getRootNode().host||null:b},L=(_,b)=>{var P,D,H,Y;if(typeof document=="undefined")return[];const{scrollMode:et,block:jt,inline:ot,boundary:ft,skipOverflowHiddenElements:Dt}=b,tt=typeof ft=="function"?ft:Kt=>Kt!==ft;if(!T(_))throw new TypeError("Invalid target");const Q=document.scrollingElement||document.documentElement,M=[];let v=_;for(;T(v)&&tt(v);){if(v=R(v),v===Q){M.push(v);break}v!=null&&v===document.body&&S(v)&&!S(document.documentElement)||v!=null&&S(v,Dt)&&M.push(v)}const I=(D=(P=window.visualViewport)==null?void 0:P.width)!=null?D:innerWidth,w=(Y=(H=window.visualViewport)==null?void 0:H.height)!=null?Y:innerHeight,{scrollX:K,scrollY:G}=window,{height:rt,width:Rt,top:At,right:$t,bottom:Pe,left:Xt}=_.getBoundingClientRect(),{top:ne,right:Et,bottom:lt,left:Mt}=(Kt=>{const It=window.getComputedStyle(Kt);return{top:parseFloat(It.scrollMarginTop)||0,right:parseFloat(It.scrollMarginRight)||0,bottom:parseFloat(It.scrollMarginBottom)||0,left:parseFloat(It.scrollMarginLeft)||0}})(_);let Ot=jt==="start"||jt==="nearest"?At-ne:jt==="end"?Pe+lt:At+rt/2-ne+lt,wt=ot==="center"?Xt+Rt/2-Mt+Et:ot==="end"?$t+Et:Xt-Mt;const nt=[];for(let Kt=0;Kt=0&&Xt>=0&&Pe<=w&&$t<=I&&(It===Q&&!S(It)||At>=Oe&&Pe<=Ce&&Xt>=pe&&$t<=Ye))return nt;const be=getComputedStyle(It),oe=parseInt(be.borderLeftWidth,10),J=parseInt(be.borderTopWidth,10),B=parseInt(be.borderRightWidth,10),gt=parseInt(be.borderBottomWidth,10);let at=0,W=0;const mt="offsetWidth"in It?It.offsetWidth-It.clientWidth-oe-B:0,vt="offsetHeight"in It?It.offsetHeight-It.clientHeight-J-gt:0,st="offsetWidth"in It?It.offsetWidth===0?0:dt/It.offsetWidth:0,Pt="offsetHeight"in It?It.offsetHeight===0?0:xt/It.offsetHeight:0;if(Q===It)at=jt==="start"?Ot:jt==="end"?Ot-w:jt==="nearest"?F(G,G+w,w,J,gt,G+Ot,G+Ot+rt,rt):Ot-w/2,W=ot==="start"?wt:ot==="center"?wt-I/2:ot==="end"?wt-I:F(K,K+I,I,oe,B,K+wt,K+wt+Rt,Rt),at=Math.max(0,at+G),W=Math.max(0,W+K);else{at=jt==="start"?Ot-Oe-J:jt==="end"?Ot-Ce+gt+vt:jt==="nearest"?F(Oe,Ce,xt,J,gt+vt,Ot,Ot+rt,rt):Ot-(Oe+xt/2)+vt/2,W=ot==="start"?wt-pe-oe:ot==="center"?wt-(pe+dt/2)+mt/2:ot==="end"?wt-Ye+B+mt:F(pe,Ye,dt,oe,B+mt,wt,wt+Rt,Rt);const{scrollLeft:ht,scrollTop:Vt}=It;at=Pt===0?0:Math.max(0,Math.min(Vt+at/Pt,It.scrollHeight-xt/Pt+vt)),W=st===0?0:Math.max(0,Math.min(ht+W/st,It.scrollWidth-dt/st+mt)),Ot+=Vt-at,wt+=ht-W}nt.push({el:It,top:at,left:W})}return nt},A=_=>_===!1?{block:"end",inline:"nearest"}:(b=>b===Object(b)&&Object.keys(b).length!==0)(_)?_:{block:"start",inline:"nearest"};function $(_,b){if(!_.isConnected||!(H=>{let Y=H;for(;Y&&Y.parentNode;){if(Y.parentNode===document)return!0;Y=Y.parentNode instanceof ShadowRoot?Y.parentNode.host:Y.parentNode}return!1})(_))return;const P=(H=>{const Y=window.getComputedStyle(H);return{top:parseFloat(Y.scrollMarginTop)||0,right:parseFloat(Y.scrollMarginRight)||0,bottom:parseFloat(Y.scrollMarginBottom)||0,left:parseFloat(Y.scrollMarginLeft)||0}})(_);if((H=>typeof H=="object"&&typeof H.behavior=="function")(b))return b.behavior(L(_,b));const D=typeof b=="boolean"||b==null?void 0:b.behavior;for(const{el:H,top:Y,left:et}of L(_,A(b))){const jt=Y-P.top+P.bottom,ot=et-P.left+P.right;H.scroll({top:jt,left:ot,behavior:D})}}}}]); diff --git a/p__knowledgegraph__SanD__index.f9ce6f19.async.js b/p__knowledgegraph__SanD__index.f9ce6f19.async.js new file mode 100644 index 0000000000..cfaf1af0c8 --- /dev/null +++ b/p__knowledgegraph__SanD__index.f9ce6f19.async.js @@ -0,0 +1,5425 @@ +!(function(){var $xe=Object.defineProperty,jxe=Object.defineProperties;var Kxe=Object.getOwnPropertyDescriptors;var f8=Object.getOwnPropertySymbols,Xxe=Object.getPrototypeOf,Yxe=Object.prototype.hasOwnProperty,qxe=Object.prototype.propertyIsEnumerable,Jxe=Reflect.get;var IA=Math.pow,SP=(Re,xe,v)=>xe in Re?$xe(Re,xe,{enumerable:!0,configurable:!0,writable:!0,value:v}):Re[xe]=v,ko=(Re,xe)=>{for(var v in xe||(xe={}))Yxe.call(xe,v)&&SP(Re,v,xe[v]);if(f8)for(var v of f8(xe))qxe.call(xe,v)&&SP(Re,v,xe[v]);return Re},dh=(Re,xe)=>jxe(Re,Kxe(xe));var Tc=(Re,xe,v)=>SP(Re,typeof xe!="symbol"?xe+"":xe,v);var A8=(Re,xe,v)=>Jxe(Xxe(Re),v,xe);var va=(Re,xe,v)=>new Promise((m,O)=>{var B=I=>{try{_(v.next(I))}catch(E){O(E)}},R=I=>{try{_(v.throw(I))}catch(E){O(E)}},_=I=>I.done?m(I.value):Promise.resolve(I.value).then(B,R);_((v=v.apply(Re,xe)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[96979],{40001:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},84105:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},73331:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},15277:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},61485:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={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:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},47472:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(60499),O=v(59301),B={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},R=B,_=v(85221),I=function(T,D){return O.createElement(_.Z,(0,m.Z)({},T,{ref:D,icon:R}))},E=O.forwardRef(I),N=E},55532:function(Re,xe,v){"use strict";v.d(xe,{ni:function(){return ql},EF:function(){return Lc}});var m=function(we,Ce){var tt=we.nodes,Qe=we.edges,Ot=[],ye={};if(!tt)throw new Error("invalid nodes data!");return tt&&tt.forEach(function(Dn,Fn){ye[Dn.id]=Fn;var Pn=[];Ot.push(Pn)}),Qe&&Qe.forEach(function(Dn){var Fn=Dn.source,Pn=Dn.target,fr=ye[Fn],ur=ye[Pn];!fr&&fr!==0||!ur&&ur!==0||(Ot[fr][ur]=1,Ce||(Ot[ur][fr]=1))}),Ot},O=m,B=function(we,Ce){return we===Ce},R=function(){function rt(we,Ce){Ce===void 0&&(Ce=null),this.value=we,this.next=Ce}return rt.prototype.toString=function(we){return we?we(this.value):"".concat(this.value)},rt}(),_=function(){function rt(we){we===void 0&&(we=B),this.head=null,this.tail=null,this.compare=we}return rt.prototype.prepend=function(we){var Ce=new R(we,this.head);return this.head=Ce,this.tail||(this.tail=Ce),this},rt.prototype.append=function(we){var Ce=new R(we);return this.head?(this.tail.next=Ce,this.tail=Ce,this):(this.head=Ce,this.tail=Ce,this)},rt.prototype.delete=function(we){if(!this.head)return null;for(var Ce=null;this.head&&this.compare(this.head.value,we);)Ce=this.head,this.head=this.head.next;var tt=this.head;if(tt!==null)for(;tt.next;)this.compare(tt.next.value,we)?(Ce=tt.next,tt.next=tt.next.next):tt=tt.next;return this.compare(this.tail.value,we)&&(this.tail=tt),Ce},rt.prototype.find=function(we){var Ce=we.value,tt=Ce===void 0?void 0:Ce,Qe=we.callback,Ot=Qe===void 0?void 0:Qe;if(!this.head)return null;for(var ye=this.head;ye;){if(Ot&&Ot(ye.value)||tt!==void 0&&this.compare(ye.value,tt))return ye;ye=ye.next}return null},rt.prototype.deleteTail=function(){var we=this.tail;if(this.head===this.tail)return this.head=null,this.tail=null,we;for(var Ce=this.head;Ce.next;)Ce.next.next?Ce=Ce.next:Ce.next=null;return this.tail=Ce,we},rt.prototype.deleteHead=function(){if(!this.head)return null;var we=this.head;return this.head.next?this.head=this.head.next:(this.head=null,this.tail=null),we},rt.prototype.fromArray=function(we){var Ce=this;return we.forEach(function(tt){return Ce.append(tt)}),this},rt.prototype.toArray=function(){for(var we=[],Ce=this.head;Ce;)we.push(Ce),Ce=Ce.next;return we},rt.prototype.reverse=function(){for(var we=this.head,Ce=null,tt=null;we;)tt=we.next,we.next=Ce,Ce=we,we=tt;this.tail=this.head,this.head=Ce},rt.prototype.toString=function(we){return we===void 0&&(we=void 0),this.toArray().map(function(Ce){return Ce.toString(we)}).toString()},rt}(),I=_,E=function(){function rt(){this.linkedList=new I}return rt.prototype.isEmpty=function(){return!this.linkedList.head},rt.prototype.peek=function(){return this.linkedList.head?this.linkedList.head.value:null},rt.prototype.enqueue=function(we){this.linkedList.append(we)},rt.prototype.dequeue=function(){var we=this.linkedList.deleteHead();return we?we.value:null},rt.prototype.toString=function(we){return this.linkedList.toString(we)},rt}(),N=E,F=function(we,Ce,tt){Ce===void 0&&(Ce=[]);var Qe=Ce.filter(function(Fn){return Fn.source===we||Fn.target===we});if(tt==="target"){var Ot=function(Pn){return Pn.source===we};return Qe.filter(Ot).map(function(Fn){return Fn.target})}if(tt==="source"){var ye=function(Pn){return Pn.target===we};return Qe.filter(ye).map(function(Fn){return Fn.source})}var Dn=function(Pn){return Pn.source===we?Pn.target:Pn.source};return Qe.map(Dn)},T=function(we,Ce){return Ce.filter(function(tt){return tt.source===we})},D=function(we,Ce){return Ce.filter(function(tt){return tt.source===we||tt.target===we})},z=function(we){we===void 0&&(we=0);var Ce="".concat(Math.random()).split(".")[1].substr(0,5),tt="".concat(Math.random()).split(".")[1].substr(0,5);return"".concat(we,"-").concat(Ce).concat(tt)};function ee(rt){rt===void 0&&(rt={});var we=rt,Ce=function(){},tt=function(){var Qe={};return function(Ot){var ye=Ot.next,Dn=ye;return Qe[Dn]?!1:(Qe[Dn]=!0,!0)}}();return we.allowTraversal=rt.allowTraversal||tt,we.enter=rt.enter||Ce,we.leave=rt.leave||Ce,we}var te=function(we,Ce,tt,Qe){Qe===void 0&&(Qe=!0);var Ot=ee(tt),ye=new N,Dn=we.edges,Fn=Dn===void 0?[]:Dn;ye.enqueue(Ce);for(var Pn="",fr=function(){var Kr=ye.dequeue();Ot.enter({current:Kr,previous:Pn}),F(Kr,Fn,Qe?"target":void 0).forEach(function(Ur){Ot.allowTraversal({previous:Pn,current:Kr,next:Ur})&&ye.enqueue(Ur)}),Ot.leave({current:Kr,previous:Pn}),Pn=Kr};!ye.isEmpty();)fr()},ge=te,pe=function(we){for(var Ce=we.nodes,tt=Ce===void 0?[]:Ce,Qe=we.edges,Ot=Qe===void 0?[]:Qe,ye=[],Dn={},Fn=[],Pn=function Ur(xr){Fn.push(xr),Dn[xr.id]=!0;for(var mi=F(xr.id,Ot),ci=function(qi){var os=mi[qi];if(!Dn[os]){var _s=tt.filter(function(Ls){return Ls.id===os});_s.length>0&&Ur(_s[0])}},Bi=0;Bi0;)Kr.push(Fn.pop());ye.push(Kr)}}return ye},fe=function(we){for(var Ce=we.nodes,tt=Ce===void 0?[]:Ce,Qe=we.edges,Ot=Qe===void 0?[]:Qe,ye=[],Dn={},Fn={},Pn={},fr=[],ur=0,Kr=function ci(Bi){Fn[Bi.id]=ur,Pn[Bi.id]=ur,ur+=1,ye.push(Bi),Dn[Bi.id]=!0;for(var rs=F(Bi.id,Ot,"target").filter(function(xa){return tt.map(function(ms){return ms.id}).indexOf(xa)>-1}),qi=function(ms){var Mi=rs[ms];if(!Fn[Mi]&&Fn[Mi]!==0){var ha=tt.filter(function(Js){return Js.id===Mi});ha.length>0&&ci(ha[0]),Pn[Bi.id]=Math.min(Pn[Bi.id],Pn[Mi])}else Dn[Mi]&&(Pn[Bi.id]=Math.min(Pn[Bi.id],Fn[Mi]))},os=0;os0;){var Ls=ye.pop();if(Dn[Ls.id]=!1,_s.push(Ls),Ls===Bi)break}_s.length>0&&fr.push(_s)}},Ur=0,xr=tt;Ur0;)for(var ci=Ur.pop(),Bi=ci.id,rs=F(Bi,we.edges),qi=function(Ls){var xa,ms=rs[Ls],Mi=we.nodes.find(function(Y){return Y.id===ms});if(ms===Bi)ye.push((xa={},xa[ms]=ci,xa));else if(!(ms in mi))xr[ms]=ci,Ur.push(Mi),mi[ms]=new Set([ci]);else if(!mi[Bi].has(Mi)){for(var ha=!0,Js=[Mi,ci],oe=xr[Bi];mi[ms].size&&!mi[ms].has(oe)&&(Js.push(oe),oe!==xr[oe.id]);)oe=xr[oe.id];if(Js.push(oe),Ce&&tt?(ha=!1,Js.findIndex(function(Y){return Ce.indexOf(Y.id)>-1})>-1&&(ha=!0)):Ce&&!tt&&Js.findIndex(function(Y){return Ce.indexOf(Y.id)>-1})>-1&&(ha=!1),ha){for(var q={},X=1;X0;){var X=q.pop();Ot.has(X)&&(Ot.delete(X),ye[X.id].forEach(function(Y){q.push(Y)}),ye[X.id].clear())}},ur=function Js(oe,q,X){var Y=!1;if(Ce&&tt===!1&&Ce.indexOf(oe.id)>-1)return Y;Qe.push(oe),Ot.add(oe);for(var le=X[oe.id],Pe=0;Pe-1});nn-1)?Dn.push((q={},q[Kt.id]=Kt,q)):_t[Kt.id].push(Pn[Nn])}}return{component:et,adjList:_t,minIdx:Y}},qi=0;qi=qi}),_s=fe({nodes:os,edges:we.edges}).filter(function(Js){return Js.length>1});if(_s.length===0)break;var Ls=rs(_s),xa=Ls.minIdx,ms=Ls.adjList,Mi=Ls.component;if(Mi.length>1){Mi.forEach(function(Js){ye[Js.id]=new Set});var ha=Fn[xa];if(Ce&&tt&&Ce.indexOf(ha.id)===-1)return Dn;ur(ha,ha,ms),qi=xa+1}else break}return Dn},Sn=function(we,Ce,tt,Qe){return Qe===void 0&&(Qe=!0),Ce?cn(we,tt,Qe):$t(we,tt,Qe)},vn=it,Qn=v(80813),xn={}.toString,Un=function(rt,we){return xn.call(rt)==="[object "+we+"]"},ke=Un,ot=function(rt){return ke(rt,"Function")},Ht=function(rt){return Array.isArray?Array.isArray(rt):ke(rt,"Array")},On=function(rt){var we=typeof rt;return rt!==null&&we==="object"||we==="function"};function xt(rt,we){if(rt){var Ce;if(Ht(rt))for(var tt=0,Qe=rt.length;tt-1;)jt.call(rt,Ot,1);return rt},he=null,qe=Array.prototype.splice,ct=function(we,Ce){if(!isArrayLike(we))return[];for(var tt=we?Ce.length:0,Qe=tt-1;tt--;){var Ot=void 0,ye=Ce[tt];(tt===Qe||ye!==Ot)&&(Ot=ye,qe.call(we,ye,1))}return we},je=null,Xe=function(rt,we,Ce){if(!isArray(rt)&&!isPlainObject(rt))return rt;var tt=Ce;return each(rt,function(Qe,Ot){tt=we(tt,Qe,Ot)}),tt},dt=null,Tt=function(rt,we){var Ce=[];if(!isArrayLike(rt))return Ce;for(var tt=-1,Qe=[],Ot=rt.length;++ttOt[Dn])return 1;if(Qe[Dn]0},me=null,$e=function(rt,we){if(isArray(rt)){for(var Ce,tt=-1/0,Qe=0;Qett&&(Ce=Ot,tt=ye)}return Ce}},Ke=function(rt,we){if(isArray(rt)){for(var Ce,tt=1/0,Qe=0;QeDn&&fr>Dn);)if(Fn.push(Pn),Dn-=fr,ye=ye.substr(Qe),!ye)return Fn.join("");for(;Pn=ye.substr(0,1),fr=measureTextWidth(Pn,Ce),!(fr+Ot>Dn);)if(Fn.push(Pn),Dn-=fr,ye=ye.substr(1),!ye)return Fn.join("");return""+Fn.join("")+tt},Oa=function(){function rt(){this.map={}}return rt.prototype.has=function(we){return this.map[we]!==void 0},rt.prototype.get=function(we,Ce){var tt=this.map[we];return tt===void 0?Ce:tt},rt.prototype.set=function(we,Ce){this.map[we]=Ce},rt.prototype.clear=function(){this.map={}},rt.prototype.delete=function(we){delete this.map[we]},rt.prototype.size=function(){return Object.keys(this.map).length},rt}(),$a=null,zo=function(we,Ce,tt){for(var Qe=1/0,Ot,ye=0;yeur[_s.id]+oe?(ur[Js]=ur[_s.id]+oe,Kr[Js]=[_s.id]):ur[Js]===ur[_s.id]+oe&&Kr[Js].push(_s.id)})},mi=0;mi0&&fr.length>0;){var Ur=fr[fr.length-1];if(Ur.length){var xr=Ur.shift();xr&&(Fn.push(xr),Pn[xr]=!0,Kr=Qe?F(xr,Dn,"target"):F(xr,Dn),fr.push(Kr.filter(function(Bi){return!Pn[Bi]})))}else{var mi=Fn.pop();Pn[mi]=!1,fr.pop();continue}if(Fn[Fn.length-1]===tt){var ci=Fn.map(function(rs){return rs});ur.push(ci);var mi=Fn.pop();Pn[mi]=!1,fr.pop()}}return ur},Pl=function(we,Ce){for(var tt=O(we,Ce),Qe=[],Ot=tt.length,ye=0;yeQe[ye][Fn]+Qe[Fn][Dn]&&(Qe[ye][Dn]=Qe[ye][Fn]+Qe[Fn][Dn]);return Qe},So=Pl,To=function(we,Ce,tt,Qe){Ce===void 0&&(Ce=!1),tt===void 0&&(tt="weight"),Qe===void 0&&(Qe=1e3);var Ot=we.nodes,ye=Ot===void 0?[]:Ot,Dn=we.edges,Fn=Dn===void 0?[]:Dn,Pn={},fr={};ye.forEach(function(os,_s){var Ls=z();os.clusterId=Ls,Pn[Ls]={id:Ls,nodes:[os]},fr[os.id]={node:os,idx:_s}});var ur=O(we,Ce),Kr=[],Ur={};ur.forEach(function(os,_s){var Ls=0,xa=ye[_s].id;Ur[xa]={},os.forEach(function(ms,Mi){if(ms){Ls+=ms;var ha=ye[Mi].id;Ur[xa][ha]=ms}}),Kr.push(Ls)});for(var xr=0,mi=function(){var _s=!1;if(ye.forEach(function(Ls){var xa={};Object.keys(Ur[Ls.id]).forEach(function(Y){var le=Ur[Ls.id][Y],Pe=fr[Y].node,We=Pe.clusterId;xa[We]||(xa[We]=0),xa[We]+=le});var ms=-1/0,Mi=[];if(Object.keys(xa).forEach(function(Y){ms=0&&Mi.splice(ha,1),Mi&&Mi.length){_s=!0;var Js=Pn[Ls.clusterId],oe=Js.nodes.indexOf(Ls);Js.nodes.splice(oe,1);var q=Math.floor(Math.random()*Mi.length),X=Pn[Mi[q]];X.nodes.push(Ls),Ls.clusterId=X.id}}}),!_s)return"break";xr++};xr0&&ms>Mi&&ms-MiMi&&(Js=ur.map(function(He){return{node:He,clusterId:He.clusterId}}),oe=Rt(rs),Mi=ms),q||ha>100)break;ha++,Object.keys(rs).forEach(function(He){var et=0;Ur.forEach(function(_t){var Kt=_t.source,nn=_t.target,bn=qi[Kt].node.clusterId,Nn=qi[nn].node.clusterId;(bn===He&&Nn!==He||Nn===He&&bn!==He)&&(et=et+(_t[tt]||1))}),rs[He].sumTot=et}),ur.forEach(function(He,et){var _t=rs[He.clusterId],Kt=0,nn,bn=_s[et]/(2*xa),Nn=0,$n=_t.nodes;$n.forEach(function(Vs){var ba=qi[Vs.id].idx;Nn+=os[et][ba]||0});var Cr=Nn-_t.sumTot*bn,dr=$n.filter(function(Vs){return Vs.id!==He.id}),jr=[];dr.forEach(function(Vs,ba){jr[ba]=xr[Vs.originIndex]});var Yr=ta(dr,xr)*Pn,li=Ls[He.id];if(Object.keys(li).forEach(function(Vs){var ba=qi[Vs].node,qa=ba.clusterId;if(qa!==He.clusterId){var mo=rs[qa],Na=mo.nodes;if(!(!Na||!Na.length)){var Xs=0;Na.forEach(function(vo){var Ua=qi[vo.id].idx;Xs+=os[et][Ua]||0});var _a=Xs-mo.sumTot*bn,pi=Na.concat([He]),Da=[];pi.forEach(function(vo,Ua){Da[Ua]=xr[vo.originIndex]});var io=ta(pi,xr)*Pn,qs=_a-Cr;Ot&&(qs=_a+io-(Cr+Yr)),qs>Kt&&(Kt=qs,nn=mo)}}}),Kt>0){nn.nodes.push(He);var Ci=He.clusterId;He.clusterId=nn.id;var Ji=_t.nodes.indexOf(He);_t.nodes.splice(Ji,1);var Li=0,ds=0;Ur.forEach(function(Vs){var ba=Vs.source,qa=Vs.target,mo=qi[ba].node.clusterId,Na=qi[qa].node.clusterId;(mo===nn.id&&Na!==nn.id||Na===nn.id&&mo!==nn.id)&&(Li=Li+(Vs[tt]||1)),(mo===Ci&&Na!==Ci||Na===Ci&&mo!==Ci)&&(ds=ds+(Vs[tt]||1))}),nn.sumTot=Li,_t.sumTot=ds}})}var X={},Y=0;Object.keys(oe).forEach(function(He){var et=oe[He];if(!et.nodes||!et.nodes.length){delete oe[He];return}var _t=String(Y+1);_t!==He&&(et.id=_t,et.nodes=et.nodes.map(function(Kt){return{id:Kt.id,clusterId:_t}}),oe[_t]=et,X[He]=_t,delete oe[He],Y++)}),Js.forEach(function(He){var et=He.node,_t=He.clusterId;et&&(et.clusterId=_t,et.clusterId&&X[et.clusterId]&&(et.clusterId=X[et.clusterId]))});var le=[],Pe={};Ur.forEach(function(He){var et=He.source,_t=He.target,Kt=He[tt]||1,nn=qi[et].node.clusterId,bn=qi[_t].node.clusterId;if(!(!nn||!bn)){var Nn="".concat(nn,"---").concat(bn);if(Pe[Nn])Pe[Nn].weight+=Kt,Pe[Nn].count++;else{var $n={source:nn,target:bn,weight:Kt,count:1};Pe[Nn]=$n,le.push($n)}}});var We=[];return Object.keys(oe).forEach(function(He){We.push(oe[He])}),{clusters:We,clusterEdges:le}},jo=Oi,cc=function(we,Ce,tt,Qe,Ot,ye,Dn,Fn){return Ce===void 0&&(Ce=!1),tt===void 0&&(tt="weight"),Qe===void 0&&(Qe=1e-4),Ot===void 0&&(Ot=void 0),ye===void 0&&(ye=[]),Dn===void 0&&(Dn=["id"]),Fn===void 0&&(Fn=1),jo(we,Ce,tt,Qe,!0,Ot,ye,Dn,Fn)},ll=cc,Jl=function(we,Ce){var tt;Ce===void 0&&(Ce=1);for(var Qe=Rt(we),Ot=Qe.nodes,ye=Ot===void 0?[]:Ot,Dn=Qe.edges,Fn=Dn===void 0?[]:Dn,Pn=function(){var Kr=Ze({nodes:ye,edges:Fn}),Ur=Object.keys(Kr);Ur.sort(function(ci,Bi){var rs,qi;return((rs=Kr[ci])===null||rs===void 0?void 0:rs.degree)-((qi=Kr[Bi])===null||qi===void 0?void 0:qi.degree)});var xr=Ur[0];if(!ye.length||((tt=Kr[xr])===null||tt===void 0?void 0:tt.degree)>=Ce)return"break";var mi=ye.findIndex(function(ci){return ci.id===xr});ye.splice(mi,1),Fn=Fn.filter(function(ci){return!(ci.source===xr||ci.target===xr)})};;){var fr=Pn();if(fr==="break")break}return{nodes:ye,edges:Fn}},Cl=Jl,iu=function(we,Ce,tt){var Qe=[];switch(we){case ol.EuclideanDistance:Qe=Ce[tt];break;default:Qe=[];break}return Qe},Pu=function(we,Ce,tt,Qe,Ot,ye){Ce===void 0&&(Ce=3),tt===void 0&&(tt=void 0),Qe===void 0&&(Qe=[]),Ot===void 0&&(Ot=["id"]),ye===void 0&&(ye=ol.EuclideanDistance);var Dn=we.nodes,Fn=Dn===void 0?[]:Dn,Pn=we.edges,fr=Pn===void 0?[]:Pn,ur={clusters:[{id:"0",nodes:Fn}],clusterEdges:[]};if(ye===ol.EuclideanDistance&&!Fn.every(function(_t){return _t.hasOwnProperty(tt)}))return ur;var Kr=[],Ur=[];if(ye===ol.EuclideanDistance&&(Kr=fo(Fn,tt),Ur=as(Kr,Qe,Ot)),!Ur.length)return ur;for(var xr=_n(Ur.map(function(_t){return _t.join("")})),mi=Math.min(Ce,Fn.length,xr.length),ci=0;ci_s&&!Bi.find(function(dr){return Ss(dr,iu(ye,Ur,Fn[nn].originIndex))})&&(_s=Cr,Ls=nn)}},ms=0;ms=0;X--)qi[Number(Fn[ci].clusterId)][X].id===Fn[ci].id&&qi[Number(Fn[ci].clusterId)].splice(X,1);Fn[ci].clusterId=String(ha),qi[ha].push(Fn[ci])}}for(var Y=!1,ci=0;ci=1e3)break}var He=[],et={};return fr.forEach(function(_t){var Kt,nn,bn=_t.source,Nn=_t.target,$n=(Kt=Fn.find(function(Yr){return Yr.id===bn}))===null||Kt===void 0?void 0:Kt.clusterId,Cr=(nn=Fn.find(function(Yr){return Yr.id===Nn}))===null||nn===void 0?void 0:nn.clusterId,dr="".concat($n,"---").concat(Cr);if(et[dr])et[dr].count++;else{var jr={source:$n,target:Cr,count:1};et[dr]=jr,He.push(jr)}}),{clusters:qi,clusterEdges:He}},Bo=Pu,Ro=function(we,Ce){var tt=new bo(Ce),Qe=tt.norm2(),Ot=new bo(we),ye=Ot.norm2(),Dn=tt.dot(Ot),Fn=Qe*ye,Pn=Fn?Dn/Fn:0;return Pn},_o=Ro,su=function(we,Ce,tt,Qe,Ot){we===void 0&&(we=[]),tt===void 0&&(tt=void 0),Qe===void 0&&(Qe=[]),Ot===void 0&&(Ot=[]);var ye=Rt(we.filter(function(Kr){return Kr.id!==Ce.id})),Dn=we.findIndex(function(Kr){return Kr.id===Ce.id}),Fn=fo(we,tt),Pn=as(Fn,Qe,Ot),fr=Pn[Dn],ur=[];return ye.forEach(function(Kr,Ur){if(Kr.id!==Ce.id){var xr=Pn[Ur],mi=_o(xr,fr);ur.push(mi),Kr.cosineSimilarity=mi}}),ye.sort(function(Kr,Ur){return Ur.cosineSimilarity-Kr.cosineSimilarity}),{allCosineSimilarity:ur,similarNodes:ye}},Fu=su,sd=function(){function rt(we){this.count=we.length,this.parent={};for(var Ce=0,tt=we;Ce0&&(this.list[0]=Ce,this.moveDown(0)),we},rt.prototype.insert=function(we){if(we!==null){this.list.push(we);var Ce=this.list.length-1;return this.moveUp(Ce),!0}return!1},rt.prototype.moveUp=function(we){for(var Ce=this.getParent(we);we&&we>0&&this.compareFn(this.list[Ce],this.list[we])>0;){var tt=this.list[Ce];this.list[Ce]=this.list[we],this.list[we]=tt,we=Ce,Ce=this.getParent(we)}},rt.prototype.moveDown=function(we){var Ce,tt=we,Qe=this.getLeft(we),Ot=this.getRight(we),ye=this.list.length;Qe!==null&&Qe0?tt=Qe:Ot!==null&&Ot0&&(tt=Ot),we!==tt&&(Ce=[this.list[tt],this.list[we]],this.list[we]=Ce[0],this.list[tt]=Ce[1],this.moveDown(tt))},rt}(),cl=Vo,Fo=function(we,Ce){var tt=[],Qe=we.nodes,Ot=Qe===void 0?[]:Qe,ye=we.edges,Dn=ye===void 0?[]:ye;if(Ot.length===0)return tt;var Fn=Ot[0],Pn=new Set;Pn.add(Fn);var fr=function(ci,Bi){return Ce?ci.weight-Bi.weight:0},ur=new cl(fr);for(D(Fn.id,Dn).forEach(function(mi){ur.insert(mi)});!ur.isEmpty();){var Kr=ur.delMin(),Ur=Kr.source,xr=Kr.target;Pn.has(Ur)&&Pn.has(xr)||(tt.push(Kr),Pn.has(Ur)||(Pn.add(Ur),D(Ur,Dn).forEach(function(mi){ur.insert(mi)})),Pn.has(xr)||(Pn.add(xr),D(xr,Dn).forEach(function(mi){ur.insert(mi)})))}return tt},ho=function(we,Ce){var tt=[],Qe=we.nodes,Ot=Qe===void 0?[]:Qe,ye=we.edges,Dn=ye===void 0?[]:ye;if(Ot.length===0)return tt;var Fn=Dn.map(function(Ur){return Ur});Ce&&Fn.sort(function(Ur,xr){return Ur.weight-xr.weight});for(var Pn=new kl(Ot.map(function(Ur){return Ur.id}));Fn.length>0;){var fr=Fn.shift(),ur=fr.source,Kr=fr.target;Pn.connected(ur,Kr)||(tt.push(fr),Pn.union(ur,Kr))}return tt},po=function(we,Ce,tt){var Qe={prim:Fo,kruskal:ho};return tt?Qe[tt](we,Ce):ho(we,Ce)},mu=po,ec=function(we,Ce,tt){typeof Ce!="number"&&(Ce=1e-6),typeof tt!="number"&&(tt=.85);for(var Qe=1,Ot=0,ye=1e3,Dn=we.nodes,Fn=Dn===void 0?[]:Dn,Pn=we.edges,fr=Pn===void 0?[]:Pn,ur=Fn.length,Kr,Ur={},xr={},mi=0;mi0&&Qe>Ce;){Ot=0;for(var mi=0;mi0&&(Kr+=xr[_s]/Ls)}Ur[Bi]=tt*Kr,Ot+=Ur[Bi]}}Ot=(1-Ot)/ur,Qe=0;for(var mi=0;mi=0;tt--){var Qe=this.dfsEdgeList[tt],Ot=Qe.fromNode,ye=Qe.toNode;OtUr||Qe.hasNode(ye[Kr.to])||(Ce.labelqi;_s--){var Ls=os(_s);if(Ls==="break")break}if(Bi){var xa=we.findMinLabel(ci);ye.dfsEdgeList.push(new $s(mi,rs,ml,xa.edgeLabel,ml));var ms=ye.dfsEdgeList.length-1;return we.dfsCode.dfsEdgeList[ms]!==ye.dfsEdgeList[ms]?!1:ur(ci[xa.edgeLabel].projected)}var Mi={};Bi=!1;var ha=0;Kr.forEach(function(le){var Pe=new La(le),We=we.findForwardPureEdges(Qe,Pe.edges[Ur[0]],xr,Pe);We.length>0&&(Bi=!0,ha=mi,We.forEach(function(He){var et="".concat(He.label,"-").concat(Ot[He.to].label);Mi[et]||(Mi[et]={projected:[],edgeLabel:He.label,nodeLabel2:Ot[He.to].label}),Mi[et].projected.push({graphId:Qe.id,edge:He,preNode:le})}))});for(var Js=Ur.length,oe=function(Pe){if(Bi)return"break";var We=Ur[Pe];Kr.forEach(function(He){var et=new La(He),_t=we.findForwardRmpathEdges(Qe,et.edges[We],xr,et);_t.length>0&&(Bi=!0,ha=ye.dfsEdgeList[We].fromNode,_t.forEach(function(Kt){var nn="".concat(Kt.label,"-").concat(Ot[Kt.to].label);Mi[nn]||(Mi[nn]={projected:[],edgeLabel:Kt.label,nodeLabel2:Ot[Kt.to].label}),Mi[nn].projected.push({graphId:Qe.id,edge:Kt,preNode:He})}))})},_s=0;_s=0;xr--){var mi=Ce.findBackwardEdge(ur,Ur.edges[Ot[xr]],Ur.edges[Ot[0]],Ur);if(mi){var ci="".concat(Ce.dfsCode.dfsEdgeList[Ot[xr]].fromNode,"-").concat(mi.label);Pn[ci]||(Pn[ci]={projected:[],toNodeId:Ce.dfsCode.dfsEdgeList[Ot[xr]].fromNode,edgeLabel:mi.label}),Pn[ci].projected.push({graphId:fr.graphId,edge:mi,preNode:fr})}}if(!(Qe>=Ce.maxNodeNum)){var Bi=Ce.findForwardPureEdges(ur,Ur.edges[Ot[0]],Dn,Ur);Bi.forEach(function(qi){var os="".concat(ye,"-").concat(qi.label,"-").concat(Kr[qi.to].label);Fn[os]||(Fn[os]={projected:[],fromNodeId:ye,edgeLabel:qi.label,nodeLabel2:Kr[qi.to].label}),Fn[os].projected.push({graphId:fr.graphId,edge:qi,preNode:fr})});for(var rs=function(os){var _s=Ce.findForwardRmpathEdges(ur,Ur.edges[Ot[os]],Dn,Ur);_s.forEach(function(Ls){var xa="".concat(Ce.dfsCode.dfsEdgeList[Ot[os]].fromNode,"-").concat(Ls.label,"-").concat(Kr[Ls.to].label);Fn[xa]||(Fn[xa]={projected:[],fromNodeId:Ce.dfsCode.dfsEdgeList[Ot[os]].fromNode,edgeLabel:Ls.label,nodeLabel2:Kr[Ls.to].label}),Fn[xa].projected.push({graphId:fr.graphId,edge:Ls,preNode:fr})})},xr=0;xrqi){var os=qi;qi=rs,rs=os}var _s=Bi.label,Ls="".concat(Pn,"-").concat(rs,"-").concat(_s,"-").concat(qi),xa="".concat(rs,"-").concat(_s,"-").concat(qi);if(!ye[xa]){var ms=ye[xa]||0;ms++,ye[xa]=ms}Fn[Ls]={graphId:Pn,nodeLabel1:rs,edgeLabel:_s,nodeLabel2:qi}})})}),Object.keys(Ot).forEach(function(Pn){var fr=Ot[Pn];if(!(fr2*Ce)););if(ci<2*Ce&&(Dn["".concat(fr,"-").concat(mi)]={start:fr,end:mi,distance:Ot[fr][mi]},ur++,Fn++,Fn>=tt))return Dn;if(Kr++,Kr>2*Ce)break}if(urKr&&(Fn=Kr);var Ur=tt[ur.id].inDegree;Pn>Ur&&(Pn=Ur);var xr=tt[ur.id].outDegree;fr>xr&&(fr=xr)}),we[Ce]={degree:Fn,inDegree:Pn,outDegree:fr}),{minPatternNodeLabelDegree:Fn,minPatternNodeLabelInDegree:Pn,minPatternNodeLabelOutDegree:fr}},FA=function(we,Ce,tt,Qe,Ot,ye,Dn){var Fn;if(tt===void 0&&(tt=!1),ye===void 0&&(ye="cluster"),Dn===void 0&&(Dn="cluster"),!(!we||!we.nodes)){var Pn=we.nodes.length;if(Pn){var fr=So(we,tt),ur=So(Ce,tt),Kr=nl(we.nodes,fr,tt),Ur=nl(Ce.nodes,ur,tt),xr=ad(we.nodes,ye),mi=xr.nodeMap,ci=xr.nodeLabelMap,Bi=ad(Ce.nodes,ye),rs=Bi.nodeMap,qi=Bi.nodeLabelMap;od(we.edges,Dn,mi);var os=od(Ce.edges,Dn,rs).edgeLabelMap,_s=[];ur==null||ur.forEach(function(Xs){_s=_s.concat(Xs)}),Ot||(Ot=Math.max.apply(Math,(0,Qn.ev)((0,Qn.ev)([],_s,!1),[2],!1))),Qe||(Qe=Ot);var Ls=ju(we,fr,ye,Qe),xa=ju(Ce,ur,ye,Qe),ms=Math.min(100,Pn*(Pn-1)/2),Mi=NA(Qe,Pn,ms,Ls,fr),ha=Ku(Mi,Ls,we),Js=10,oe=1,q=1,X=4,Y={graphs:ha,nodeLabelProp:ye,edgeLabelProp:Dn,minSupport:oe,minNodeNum:q,maxNodeNum:X,directed:tt},le=Ta(Y).slice(0,Js),Pe=le.length,We=[];le.forEach(function(Xs,_a){We[_a]={},Object.keys(ha).forEach(function(pi){var Da=ha[pi],io=zh(Da,Xs,ye,Dn);We[_a][pi]=io})});var He=PA(We,Pe,le),et=He.structure,_t=He.structureCountMap,Kt=Ce.nodes[0],nn=[],bn=(Fn=Ce.nodes[0])===null||Fn===void 0?void 0:Fn[ye],Nn=-1/0;Ce.nodes.forEach(function(Xs){var _a=Xs[ye],pi=ci[_a];(pi==null?void 0:pi.length)>Nn&&(Nn=pi.length,nn=pi,bn=_a,Kt=Xs)});var $n={},Cr={},dr={},jr={},Yr={},li={};Object.keys(qi).forEach(function(Xs,_a){Yr[Xs]=[],tt&&(li[Xs]=[]);var pi=-1/0,Da=qi[Xs],io={};Da.forEach(function(Ba){var so=Ur["".concat(Kt.id,"-").concat(Ba.id)];if(so&&Yr[Xs].push(so),piYr[Xs][Wl]){ud=!0;break}if(ud)return nn.splice(so,1),"continue";var nc={};il.neighbors.forEach(function(rc){var yu=Kr["".concat(rl.id,"-").concat(rc.id)];nc["".concat(rl.id,"-").concat(rc.id)]={start:mi[rl.id].idx,end:mi[rc.id].idx,distance:yu}}),ha=Ku(nc,Ls,we,ha);var vu=[];Object.keys(nc).forEach(function(rc){if(_t[rc]){vu.push(_t[rc]);return}var yu=ha[rc];_t[rc]=zh(yu,et,ye,Dn),vu.push(_t[rc])}),vu=vu.sort(function(rc,yu){return yu-rc});for(var Du=!1,Wl=0;Wl=0;qo--)Ua(qo)});var Ci=[];nn==null||nn.forEach(function(Xs){for(var _a=mi[Xs.id].idx,pi=Lu(we.nodes,fr[_a],_a,ye,Ot),Da=pi.neighbors,io=Da.length,qs=!1,vo=io-1;vo>=0;vo--){if(Da.length+1il){Da.splice(vo,1);continue}if(tt){var Fl="".concat(Ua.id,"-").concat(Xs.id),Id=Kr[Fl];rl=li[qo].length-1;var ud=li[qo][rl];if(Id>ud){Da.splice(vo,1);continue}}var Wl=_t[Ba]?_t[Ba]:$c(we,Xs,Ua,mi,so,Ls,et,ye,Dn,_t,ha),nc="".concat(Kt.id,"-").concat(qo),vu=jr[nc][jr[nc].length-1];if(Wl=0;so--){var ud=Id(so);if(ud==="break")break}if(Fl)return Ci.splice(_a,1),"continue";pi.edges=vo;var Wl=Hi(pi,pi.nodes[0].id,!1).length;if(Object.keys(Wl).reverse().forEach(function(Ho){if(!(Ho===pi.nodes[0].id||Fl)){if(Wl[Ho]===1/0){var Uc=qs[Ho].node[ye];if(io[Uc]--,io[Uc]Li[xu][Li[xu].length-1]){var Uc=qs[Ho].node[ye];if(io[Uc]--,io[Uc]=0;yu--){var Ah=pi.nodes[yu],LA=qs[Ah.id].degree,rm=qs[Ah.id].inDegree,im=qs[Ah.id].outDegree,y0=Ah[ye],hd=ld($n,y0,rs,qi),DA=hd.minPatternNodeLabelDegree,Ol=hd.minPatternNodeLabelInDegree,Xu=hd.minPatternNodeLabelOutDegree,Vh=tt?LA=0;Ml--){var Dc=vo[Ml];if(!qs[Dc.source]||!qs[Dc.target]){vo.splice(Ml,1);var Yu=Dc[Dn];if(Ua[Yu]--,qs[Dc.source]&&(qs[Dc.source].degree--,qs[Dc.source].outDegree--),qs[Dc.target]&&(qs[Dc.target].degree--,qs[Dc.target].inDegree--),os[Yu]&&Ua[Yu]=0;ba--){var qa=Vs(ba);if(qa==="break")break}for(var mo=Ci.length,Na=function(_a){var pi=Ci[_a],Da={};pi.edges.forEach(function(vo){var Ua="".concat(vo.source,"-").concat(vo.target,"-").concat(vo.label);Da[Ua]?Da[Ua]++:Da[Ua]=1});for(var io=function(Ua){var qo=Ci[Ua],Ba={};qo.edges.forEach(function(rl){var il="".concat(rl.source,"-").concat(rl.target,"-").concat(rl.label);Ba[il]?Ba[il]++:Ba[il]=1});var so=!0;Object.keys(Ba).length!==Object.keys(Da).length?so=!1:Object.keys(Da).forEach(function(rl){Ba[rl]!==Da[rl]&&(so=!1)}),so&&Ci.splice(Ua,1)},qs=mo-1;qs>_a;qs--)io(qs);mo=Ci.length},ba=0;ba<=mo-1;ba++)Na(ba);return Ci}}},Af=FA,Qp=function(){function rt(we){we===void 0&&(we=10),this.linkedList=new I,this.maxStep=we}return Object.defineProperty(rt.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),rt.prototype.isEmpty=function(){return!this.linkedList.head},rt.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},rt.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},rt.prototype.push=function(we){this.linkedList.prepend(we),this.length>this.maxStep&&this.linkedList.deleteTail()},rt.prototype.pop=function(){var we=this.linkedList.deleteHead();return we?we.value:null},rt.prototype.toArray=function(){return this.linkedList.toArray().map(function(we){return we.value})},rt.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},rt}(),zf=Qp,cd=vn,OA={getAdjMatrix:O,breadthFirstSearch:ge,connectedComponent:Le,getDegree:Ze,getInDegree:Ye,getOutDegree:Te,detectCycle:vn,detectDirectedCycle:cd,detectAllCycles:Sn,detectAllDirectedCycle:cn,detectAllUndirectedCycle:$t,depthFirstSearch:Je,dijkstra:Hi,findAllPath:lc,findShortestPath:ql,floydWarshall:So,labelPropagation:Wc,louvain:jo,iLouvain:ll,kCore:Cl,kMeans:Bo,cosineSimilarity:_o,nodesCosineSimilarity:Fu,minimumSpanningTree:mu,pageRank:Lc,getNeighbors:F,Stack:zf,GADDI:Af}},86314:function(Re,xe,v){"use strict";v.d(xe,{MG:function(){return _},V7:function(){return E},Yq:function(){return I},eR:function(){return z},jt:function(){return F},tT:function(){return D}});var m=v(80813),O=v(76075),B=v(69014);function R(ee){return typeof ee=="boolean"?!1:"enter"in ee&&"update"in ee&&"exit"in ee}function _(ee){if(!ee)return{enter:!1,update:!1,exit:!1};var te=["enter","update","exit"],ge=Object.fromEntries(Object.entries(ee).filter(function(pe){var fe=(0,m.CR)(pe,1),Le=fe[0];return!te.includes(Le)}));return Object.fromEntries(te.map(function(pe){return R(ee)?ee[pe]===!1?[pe,!1]:[pe,(0,m.pi)((0,m.pi)({},ee[pe]),ge)]:[pe,ge]}))}function I(ee,te){ee?ee.finished.then(te):te()}function E(ee,te){ee.length===0?te():Promise.all(ee.map(function(ge){return ge==null?void 0:ge.finished})).then(te)}function N(ee,te){"update"in ee?ee.update(te):ee.attr(te)}function F(ee,te,ge){if(te.length===0)return null;if(!ge){var pe=te.slice(-1)[0];return N(ee,{style:pe}),null}return ee.animate(te,ge)}function T(ee,te){return!(ee.nodeName!=="text"||te.nodeName!=="text"||ee.attributes.text!==te.attributes.text)}function D(ee,te,ge,pe){if(pe===void 0&&(pe="destroy"),T(ee,te))return ee.remove(),[null];var fe=function(){pe==="destroy"?ee.destroy():pe==="hide"&&(0,B.Cp)(ee),te.isVisible()&&(0,B.$Z)(te)};if(!ge)return fe(),[null];var Le=ge.duration,Me=Le===void 0?0:Le,Ze=ge.delay,Ye=Ze===void 0?0:Ze,Te=Math.ceil(+Me/2),be=+Me/4,Ge=(0,m.CR)(ee.getGeometryBounds().center,2),Je=Ge[0],it=Ge[1],$t=(0,m.CR)(te.getGeometryBounds().center,2),cn=$t[0],Sn=$t[1],vn=(0,m.CR)([(Je+cn)/2-Je,(it+Sn)/2-it],2),Qn=vn[0],xn=vn[1],Un=ee.style.opacity,ke=Un===void 0?1:Un,ot=te.style.opacity,Ht=ot===void 0?1:ot,On=ee.style.transform||"",xt=te.style.transform||"",Pt=ee.animate([{opacity:ke,transform:"translate(0, 0) ".concat(On)},{opacity:0,transform:"translate(".concat(Qn,", ").concat(xn,") ").concat(On)}],(0,m.pi)((0,m.pi)({fill:"both"},ge),{duration:Ye+Te+be})),tn=te.animate([{opacity:0,transform:"translate(".concat(-Qn,", ").concat(-xn,") ").concat(xt),offset:.01},{opacity:Ht,transform:"translate(0, 0) ".concat(xt)}],(0,m.pi)((0,m.pi)({fill:"both"},ge),{duration:Te+be,delay:Ye+Te-be}));return I(tn,fe),[Pt,tn]}function z(ee,te,ge){var pe={},fe={};return Object.entries(te).forEach(function(Le){var Me=(0,m.CR)(Le,2),Ze=Me[0],Ye=Me[1];if(!(0,O.Z)(Ye)){var Te=ee.style[Ze]||ee.parsedStyle[Ze]||0;Te!==Ye&&(pe[Ze]=Te,fe[Ze]=Ye)}}),ge?F(ee,[pe,fe],(0,m.pi)({fill:"both"},ge)):(N(ee,fe),null)}},97304:function(Re,xe,v){"use strict";v.d(xe,{w:function(){return E}});var m=v(80813),O=v(66623),B=v(69014),R=v(99247),_=v(16915);function I(){(0,B.WD)(this,this.attributes.visibility!=="hidden")}var E=function(N){(0,m.ZT)(F,N);function F(T,D){D===void 0&&(D={});var z=N.call(this,(0,R.n)({},{style:D},T))||this;return z.initialized=!1,z._defaultOptions=D,z}return Object.defineProperty(F.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,_.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"defaultOptions",{get:function(){return this._defaultOptions},enumerable:!1,configurable:!0}),F.prototype.connectedCallback=function(){this.render(this.attributes,this),this.bindEvents(this.attributes,this),this.initialized=!0},F.prototype.disconnectedCallback=function(){var T;(T=this._offscreen)===null||T===void 0||T.destroy()},F.prototype.attributeChangedCallback=function(T){T==="visibility"&&I.call(this)},F.prototype.update=function(T,D){var z;return this.attr((0,R.n)({},this.attributes,T||{})),(z=this.render)===null||z===void 0?void 0:z.call(this,this.attributes,this,D)},F.prototype.clear=function(){this.removeChildren()},F.prototype.bindEvents=function(T,D){},F.prototype.getSubShapeStyle=function(T){var D=T.x,z=T.y,ee=T.transform,te=T.transformOrigin,ge=T.class,pe=T.className,fe=T.zIndex,Le=(0,m._T)(T,["x","y","transform","transformOrigin","class","className","zIndex"]);return Le},F}(O.b_)},42777:function(Re,xe,v){"use strict";v.d(xe,{x:function(){return R}});var m=v(80813),O=v(66623),B=v(16915),R=function(_){(0,m.ZT)(I,_);function I(E){E===void 0&&(E={});var N=E.style,F=(0,m._T)(E,["style"]);return _.call(this,(0,m.pi)({style:(0,m.pi)({text:"",fill:"black",fontFamily:"sans-serif",fontSize:16,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",lineWidth:1,textAlign:"start",textBaseline:"middle"},N)},F))||this}return Object.defineProperty(I.prototype,"offscreenGroup",{get:function(){return this._offscreen||(this._offscreen=(0,B.g)(this)),this._offscreen},enumerable:!1,configurable:!0}),I.prototype.disconnectedCallback=function(){var E;(E=this._offscreen)===null||E===void 0||E.destroy()},I}(O.xv)},65244:function(Re,xe,v){"use strict";v.d(xe,{W:function(){return Xt}});var m=v(80813),O=v(97304),B=v(66623),R=v(88839),_=v(38974),I=v(17911),E=v(58688),N=v(33253),F=v(98294),T=v(67756);function D(Se,Oe,Ee){return Ee?"".concat(Se," ").concat(Ee,"legend-").concat(Oe):Se}function z(Se,Oe,Ee){var Ue=Se.classNamePrefix,at=Ue===void 0?"":Ue;return D(Oe.name,Ee,at)}var ee={title:"title",item:"item",marker:"marker",label:"label",value:"value",focusIcon:"focus-icon",background:"background",ribbon:"ribbon",track:"track",selection:"selection",handle:"handle",handleMarker:"handle-marker",handleLabel:"handle-label",indicator:"indicator",prevBtn:"prev-btn",nextBtn:"next-btn",pageInfo:"page-info"},te=(0,E.A)({text:"text"},"title");function ge(Se,Oe){var Ee=Se.attributes,Ue=Ee.position,at=Ee.spacing,Ut=Ee.inset,ut=Ee.text,Lt=Se.getBBox(),qt=Oe.getBBox(),Tn=(0,N.l)(Ue),Rn=(0,m.CR)((0,F.j)(ut?at:0),4),ir=Rn[0],Ln=Rn[1],Gn=Rn[2],_r=Rn[3],un=(0,m.CR)((0,F.j)(Ut),4),Bn=un[0],lr=un[1],cr=un[2],Fr=un[3],zr=(0,m.CR)([_r+Ln,ir+Gn],2),Wr=zr[0],Vr=zr[1],wi=(0,m.CR)([Fr+lr,Bn+cr],2),Zr=wi[0],Ei=wi[1];if(Tn[0]==="l")return new I.b(Lt.x,Lt.y,qt.width+Lt.width+Wr+Zr,Math.max(qt.height+Ei,Lt.height));if(Tn[0]==="t")return new I.b(Lt.x,Lt.y,Math.max(qt.width+Zr,Lt.width),qt.height+Lt.height+Vr+Ei);var Yi=(0,m.CR)([Oe.attributes.width||qt.width,Oe.attributes.height||qt.height],2),wn=Yi[0],wt=Yi[1];return new I.b(qt.x,qt.y,wn+Lt.width+Wr+Zr,wt+Lt.height+Vr+Ei)}function pe(Se,Oe){var Ee=Object.entries(Oe).reduce(function(Ue,at){var Ut=(0,m.CR)(at,2),ut=Ut[0],Lt=Ut[1],qt=Se.node().attr(ut);return qt||(Ue[ut]=Lt),Ue},{});Se.styles(Ee)}function fe(Se){var Oe,Ee,Ue,at,Ut=Se,ut=Ut.width,Lt=Ut.height,qt=Ut.position,Tn=(0,m.CR)([+ut/2,+Lt/2],2),Rn=Tn[0],ir=Tn[1],Ln=(0,m.CR)([+Rn,+ir,"center","middle"],4),Gn=Ln[0],_r=Ln[1],un=Ln[2],Bn=Ln[3],lr=(0,N.l)(qt);return lr.includes("l")&&(Oe=(0,m.CR)([0,"start"],2),Gn=Oe[0],un=Oe[1]),lr.includes("r")&&(Ee=(0,m.CR)([+ut,"end"],2),Gn=Ee[0],un=Ee[1]),lr.includes("t")&&(Ue=(0,m.CR)([0,"top"],2),_r=Ue[0],Bn=Ue[1]),lr.includes("b")&&(at=(0,m.CR)([+Lt,"bottom"],2),_r=at[0],Bn=at[1]),{x:Gn,y:_r,textAlign:un,textBaseline:Bn}}var Le=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee){return Se.call(this,Ee,{text:"",width:0,height:0,fill:"#4a505a",fontWeight:"bold",fontSize:12,fontFamily:"sans-serif",inset:0,spacing:0,position:"top-left"})||this}return Oe.prototype.getAvailableSpace=function(){var Ee=this,Ue=this.attributes,at=Ue.width,Ut=Ue.height,ut=Ue.position,Lt=Ue.spacing,qt=Ue.inset,Tn=Ee.querySelector(te.text.class);if(!Tn)return new I.b(0,0,+at,+Ut);var Rn=Tn.getBBox(),ir=Rn.width,Ln=Rn.height,Gn=(0,m.CR)((0,F.j)(Lt),4),_r=Gn[0],un=Gn[1],Bn=Gn[2],lr=Gn[3],cr=(0,m.CR)([0,0,+at,+Ut],4),Fr=cr[0],zr=cr[1],Wr=cr[2],Vr=cr[3],wi=(0,N.l)(ut);if(wi.includes("i"))return new I.b(Fr,zr,Wr,Vr);wi.forEach(function(Cn,Xn){var mr,yr,ai,Si;Cn==="t"&&(mr=(0,m.CR)(Xn===0?[Ln+Bn,+Ut-Ln-Bn]:[0,+Ut],2),zr=mr[0],Vr=mr[1]),Cn==="r"&&(yr=(0,m.CR)([+at-ir-lr],1),Wr=yr[0]),Cn==="b"&&(ai=(0,m.CR)([+Ut-Ln-_r],1),Vr=ai[0]),Cn==="l"&&(Si=(0,m.CR)(Xn===0?[ir+un,+at-ir-un]:[0,+at],2),Fr=Si[0],Wr=Si[1])});var Zr=(0,m.CR)((0,F.j)(qt),4),Ei=Zr[0],Yi=Zr[1],wn=Zr[2],wt=Zr[3],Rt=(0,m.CR)([wt+Yi,Ei+wn],2),Et=Rt[0],dn=Rt[1];return new I.b(Fr+wt,zr+Ei,Wr-Et,Vr-dn)},Oe.prototype.getBBox=function(){return this.title?this.title.getBBox():new I.b(0,0,0,0)},Oe.prototype.render=function(Ee,Ue){var at=this,Ut=Ee.width,ut=Ee.height,Lt=Ee.position,qt=Ee.spacing,Tn=Ee.classNamePrefix,Rn=(0,m._T)(Ee,["width","height","position","spacing","classNamePrefix"]),ir=(0,m.CR)((0,R.Hm)(Rn),1),Ln=ir[0],Gn=fe(Ee),_r=Gn.x,un=Gn.y,Bn=Gn.textAlign,lr=Gn.textBaseline;(0,T.z)(!!Rn.text,(0,_.Ys)(Ue),function(cr){var Fr=D(te.text.name,ee.title,Tn);at.title=cr.maybeAppendByClassName(te.text,"text").attr("className",Fr).styles(Ln).call(pe,{x:_r,y:un,textAlign:Bn,textBaseline:lr}).node()})},Oe}(O.w),Me=function(){},Ze=v(37004),Ye=v(38242);function Te(Se,Oe){return Se.reduce(function(Ee,Ue){return(Ee[Ue[Oe]]=Ee[Ue[Oe]]||[]).push(Ue),Ee},{})}var be=v(99247),Ge=v(70208),Je=v(78431),it=v(86314);function $t(Se){var Oe;return((Oe=Se[0])===null||Oe===void 0?void 0:Oe.map(function(Ee,Ue){return Se.map(function(at){return at[Ue]})}))||[]}var cn=v(69014),Sn=v(99769),vn=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["A",Ee,Ee,0,1,0,Se+Ee,Oe],["A",Ee,Ee,0,1,0,Se-Ee,Oe],["Z"]]},Qn=vn,xn=function(Se,Oe,Ee){return[["M",Se-Ee,Oe-Ee],["L",Se+Ee,Oe-Ee],["L",Se+Ee,Oe+Ee],["L",Se-Ee,Oe+Ee],["Z"]]},Un=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["L",Se,Oe-Ee],["L",Se+Ee,Oe],["L",Se,Oe+Ee],["Z"]]},ke=function(Se,Oe,Ee){var Ue=Ee*Math.sin(.3333333333333333*Math.PI);return[["M",Se-Ee,Oe+Ue],["L",Se,Oe-Ue],["L",Se+Ee,Oe+Ue],["Z"]]},ot=function(Se,Oe,Ee){var Ue=Ee*Math.sin(.3333333333333333*Math.PI);return[["M",Se-Ee,Oe-Ue],["L",Se+Ee,Oe-Ue],["L",Se,Oe+Ue],["Z"]]},Ht=function(Se,Oe,Ee){var Ue=Ee/2*Math.sqrt(3);return[["M",Se,Oe-Ee],["L",Se+Ue,Oe-Ee/2],["L",Se+Ue,Oe+Ee/2],["L",Se,Oe+Ee],["L",Se-Ue,Oe+Ee/2],["L",Se-Ue,Oe-Ee/2],["Z"]]},On=function(Se,Oe,Ee){var Ue=Ee-1.5;return[["M",Se-Ee,Oe-Ue],["L",Se+Ee,Oe+Ue],["L",Se+Ee,Oe-Ue],["L",Se-Ee,Oe+Ue],["Z"]]},xt=function(Se,Oe,Ee){return[["M",Se,Oe+Ee],["L",Se,Oe-Ee]]},Pt=function(Se,Oe,Ee){return[["M",Se-Ee,Oe-Ee],["L",Se+Ee,Oe+Ee],["M",Se+Ee,Oe-Ee],["L",Se-Ee,Oe+Ee]]},tn=function(Se,Oe,Ee){return[["M",Se-Ee/2,Oe-Ee],["L",Se+Ee/2,Oe-Ee],["M",Se,Oe-Ee],["L",Se,Oe+Ee],["M",Se-Ee/2,Oe+Ee],["L",Se+Ee/2,Oe+Ee]]},pt=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["L",Se+Ee,Oe],["M",Se,Oe-Ee],["L",Se,Oe+Ee]]},lt=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["L",Se+Ee,Oe]]},ae=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["L",Se+Ee,Oe]]},re=ae,Ie=function(Se,Oe,Ee){return[["M",Se-Ee,Oe],["A",Ee/2,Ee/2,0,1,1,Se,Oe],["A",Ee/2,Ee/2,0,1,0,Se+Ee,Oe]]},Ct=function(Se,Oe,Ee){return[["M",Se-Ee-1,Oe-2.5],["L",Se,Oe-2.5],["L",Se,Oe+2.5],["L",Se+Ee+1,Oe+2.5]]},Nt=function(Se,Oe,Ee){return[["M",Se-Ee-1,Oe+2.5],["L",Se,Oe+2.5],["L",Se,Oe-2.5],["L",Se+Ee+1,Oe-2.5]]},ht=function(Se,Oe,Ee){return[["M",Se-(Ee+1),Oe+2.5],["L",Se-Ee/2,Oe+2.5],["L",Se-Ee/2,Oe-2.5],["L",Se+Ee/2,Oe-2.5],["L",Se+Ee/2,Oe+2.5],["L",Se+Ee+1,Oe+2.5]]};function Wt(Se,Oe){return[["M",Se-5,Oe+2.5],["L",Se-5,Oe],["L",Se,Oe],["L",Se,Oe-3],["L",Se,Oe+3],["L",Se+6.5,Oe+3]]}var zt=function(Se,Oe,Ee){return[["M",Se-Ee,Oe-Ee],["L",Se+Ee,Oe],["L",Se-Ee,Oe+Ee],["Z"]]},De=function(Se,Oe,Ee){var Ue=Ee,at=Ee*.2,Ut=Ee*.7;return[["M",Se-Ue,Oe],["A",Ue,Ue,0,1,0,Se+Ue,Oe],["A",Ue,Ue,0,1,0,Se-Ue,Oe],["Z"],["M",Se-Ut,Oe],["L",Se-at,Oe],["M",Se+at,Oe],["L",Se+Ut,Oe],["M",Se,Oe-Ut],["L",Se,Oe-at],["M",Se,Oe+at],["L",Se,Oe+Ut]]},ft=(0,E.A)({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"),bt=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee){var Ue=Se.call(this,Ee,{x:0,y:0,animate:{easing:"linear",duration:200,fill:"both"},buttonCursor:"pointer",buttonFill:"black",buttonD:zt(0,0,6),buttonSize:12,controllerPadding:5,controllerSpacing:5,formatter:function(at,Ut){return"".concat(at,"/").concat(Ut)},defaultPage:0,loop:!1,orientation:"horizontal",pageNumFill:"black",pageNumFontSize:12,pageNumTextAlign:"start",pageNumTextBaseline:"middle"})||this;return Ue.playState="idle",Ue.contentGroup=Ue.appendChild(new B.ZA({class:ft.contentGroup.name})),Ue.playWindow=Ue.contentGroup.appendChild(new B.ZA({class:ft.playWindow.name})),Ue.innerCurrPage=Ue.defaultPage,Ue}return Object.defineProperty(Oe.prototype,"defaultPage",{get:function(){var Ee=this.attributes.defaultPage;return(0,Ge.Z)(Ee,0,Math.max(this.pageViews.length-1,0))},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"pageViews",{get:function(){return this.playWindow.children},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"controllerShape",{get:function(){return this.totalPages>1?{width:55,height:0}:{width:0,height:0}},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"pageShape",{get:function(){var Ee=this.pageViews,Ue=(0,m.CR)($t(Ee.map(function(ir){var Ln=ir.getBBox(),Gn=Ln.width,_r=Ln.height;return[Gn,_r]})).map(function(ir){return Math.max.apply(Math,(0,m.ev)([],(0,m.CR)(ir),!1))}),2),at=Ue[0],Ut=Ue[1],ut=this.attributes,Lt=ut.pageWidth,qt=Lt===void 0?at:Lt,Tn=ut.pageHeight,Rn=Tn===void 0?Ut:Tn;return{pageWidth:qt,pageHeight:Rn}},enumerable:!1,configurable:!0}),Oe.prototype.getContainer=function(){return this.playWindow},Object.defineProperty(Oe.prototype,"totalPages",{get:function(){return this.pageViews.length},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"currPage",{get:function(){return this.innerCurrPage},enumerable:!1,configurable:!0}),Oe.prototype.getBBox=function(){var Ee=Se.prototype.getBBox.call(this),Ue=Ee.x,at=Ee.y,Ut=this.controllerShape,ut=this.pageShape,Lt=ut.pageWidth,qt=ut.pageHeight;return new I.b(Ue,at,Lt+Ut.width,qt)},Oe.prototype.goTo=function(Ee){var Ue=this,at=this.attributes.animate,Ut=this,ut=Ut.currPage,Lt=Ut.playState,qt=Ut.playWindow,Tn=Ut.pageViews;if(Lt!=="idle"||Ee<0||Tn.length<=0||Ee>=Tn.length)return null;Tn[ut].setLocalPosition(0,0),this.prepareFollowingPage(Ee);var Rn=(0,m.CR)(this.getFollowingPageDiff(Ee),2),ir=Rn[0],Ln=Rn[1];this.playState="running";var Gn=(0,it.jt)(qt,[{transform:"translate(0, 0)"},{transform:"translate(".concat(-ir,", ").concat(-Ln,")")}],at);return(0,it.Yq)(Gn,function(){Ue.innerCurrPage=Ee,Ue.playState="idle",Ue.setVisiblePages([Ee]),Ue.updatePageInfo()}),Gn},Oe.prototype.prev=function(){var Ee=this.attributes.loop,Ue=this.pageViews.length,at=this.currPage;if(!Ee&&at<=0)return null;var Ut=Ee?(at-1+Ue)%Ue:(0,Ge.Z)(at-1,0,Ue);return this.goTo(Ut)},Oe.prototype.next=function(){var Ee=this.attributes.loop,Ue=this.pageViews.length,at=this.currPage;if(!Ee&&at>=Ue-1)return null;var Ut=Ee?(at+1)%Ue:(0,Ge.Z)(at+1,0,Ue);return this.goTo(Ut)},Oe.prototype.renderClipPath=function(Ee){var Ue=this.pageShape,at=Ue.pageWidth,Ut=Ue.pageHeight;if(!at||!Ut){this.contentGroup.style.clipPath=void 0;return}this.clipPath=Ee.maybeAppendByClassName(ft.clipPath,"rect").styles({width:at,height:Ut}),this.contentGroup.attr("clipPath",this.clipPath.node())},Oe.prototype.setVisiblePages=function(Ee){this.playWindow.children.forEach(function(Ue,at){Ee.includes(at)?(0,cn.$Z)(Ue):(0,cn.Cp)(Ue)})},Oe.prototype.adjustControllerLayout=function(){var Ee=this,Ue=Ee.prevBtnGroup,at=Ee.nextBtnGroup,Ut=Ee.pageInfoGroup,ut=this.attributes,Lt=ut.orientation,qt=ut.controllerPadding,Tn=Ut.getBBox(),Rn=Tn.width,ir=Tn.height,Ln=(0,m.CR)(Lt==="horizontal"?[-180,0]:[-90,90],2),Gn=Ln[0],_r=Ln[1];Ue.setLocalEulerAngles(Gn),at.setLocalEulerAngles(_r);var un=Ue.getBBox(),Bn=un.width,lr=un.height,cr=at.getBBox(),Fr=cr.width,zr=cr.height,Wr=Math.max(Bn,Rn,Fr),Vr=Lt==="horizontal"?{offset:[[0,0],[Bn/2+qt,0],[Bn+Rn+qt*2,0]],textAlign:"start"}:{offset:[[Wr/2,-lr-qt],[Wr/2,0],[Wr/2,zr+qt]],textAlign:"center"},wi=(0,m.CR)(Vr.offset,3),Zr=(0,m.CR)(wi[0],2),Ei=Zr[0],Yi=Zr[1],wn=(0,m.CR)(wi[1],2),wt=wn[0],Rt=wn[1],Et=(0,m.CR)(wi[2],2),dn=Et[0],Cn=Et[1],Xn=Vr.textAlign,mr=Ut.querySelector("text");mr&&(mr.style.textAlign=Xn),Ue.setLocalPosition(Ei,Yi),Ut.setLocalPosition(wt,Rt),at.setLocalPosition(dn,Cn)},Oe.prototype.updatePageInfo=function(){var Ee,Ue=this,at=Ue.currPage,Ut=Ue.pageViews,ut=Ue.attributes.formatter;Ut.length<2||((Ee=this.pageInfoGroup.querySelector(ft.pageInfo.class))===null||Ee===void 0||Ee.attr("text",ut(at+1,Ut.length)),this.adjustControllerLayout())},Oe.prototype.getFollowingPageDiff=function(Ee){var Ue=this.currPage;if(Ue===Ee)return[0,0];var at=this.attributes.orientation,Ut=this.pageShape,ut=Ut.pageWidth,Lt=Ut.pageHeight,qt=Ee=2,Ln=Ee.maybeAppendByClassName(ft.controller,"g");if((0,cn.WD)(Ln.node(),ir),!!ir){var Gn=(0,R.zs)(this.attributes,"button"),_r=(0,R.zs)(this.attributes,"pageNum"),un=(0,m.CR)((0,R.Hm)(Gn),2),Bn=un[0],lr=un[1],cr=Bn.size,Fr=(0,m._T)(Bn,["size"]),zr=!Ln.select(ft.prevBtnGroup.class).node(),Wr=Ln.maybeAppendByClassName(ft.prevBtnGroup,"g").styles(lr);this.prevBtnGroup=Wr.node();var Vr=Wr.maybeAppendByClassName(ft.prevBtn,"path");if(Lt){var wi=D(ft.prevBtn.name,ee.prevBtn,Lt);Vr.node().setAttribute("class",wi)}var Zr=Ln.maybeAppendByClassName(ft.nextBtnGroup,"g").styles(lr);this.nextBtnGroup=Zr.node();var Ei=Zr.maybeAppendByClassName(ft.nextBtn,"path");if(Lt){var Yi=D(ft.nextBtn.name,ee.nextBtn,Lt);Ei.node().setAttribute("class",Yi)}[Vr,Ei].forEach(function(Et){Et.styles((0,m.pi)((0,m.pi)({},Fr),{transformOrigin:"center"})),(0,Sn.b)(Et.node(),cr,!0)});var wn=Ln.maybeAppendByClassName(ft.pageInfoGroup,"g");this.pageInfoGroup=wn.node();var wt=wn.maybeAppendByClassName(ft.pageInfo,"text");if(wt.styles(_r),Lt){var Rt=D(ft.pageInfo.name,ee.pageInfo,Lt);wt.node().setAttribute("class",Rt)}this.updatePageInfo(),Ln.node().setLocalPosition(Tn+Ut,Rn/2),zr&&(this.prevBtnGroup.addEventListener("click",function(){Ue.prev()}),this.nextBtnGroup.addEventListener("click",function(){Ue.next()}))}},Oe.prototype.render=function(Ee,Ue){var at=Ee.x,Ut=at===void 0?0:at,ut=Ee.y,Lt=ut===void 0?0:ut;this.attr("transform","translate(".concat(Ut,", ").concat(Lt,")"));var qt=(0,_.Ys)(Ue);this.renderClipPath(qt),this.renderController(qt),this.setVisiblePages([this.defaultPage]),this.goTo(this.defaultPage)},Oe.prototype.bindEvents=function(){var Ee=this,Ue=(0,Je.Z)(function(){return Ee.render(Ee.attributes,Ee)},50);this.playWindow.addEventListener(B.Dk.INSERTED,Ue),this.playWindow.addEventListener(B.Dk.REMOVED,Ue)},Oe}(O.w),U=v(71018),de=v(93785),vt=v(71879);function mt(Se){var Oe="default";if((0,de.Z)(Se)&&Se instanceof Image)Oe="image";else if((0,U.Z)(Se))Oe="symbol";else if((0,vt.Z)(Se)){var Ee=new RegExp("data:(image|text)");Se.match(Ee)?Oe="base64":/^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(Se)?Oe="url":Oe="symbol"}return Oe}function Qt(Se){var Oe=mt(Se);return["base64","url","image"].includes(Oe)?"image":Se&&Oe==="symbol"?"path":null}var jt=function(Se){(0,m.ZT)(Oe,Se);function Oe(){return Se!==null&&Se.apply(this,arguments)||this}return Oe.prototype.render=function(Ee,Ue){var at=Ee.x,Ut=at===void 0?0:at,ut=Ee.y,Lt=ut===void 0?0:ut,qt=this.getSubShapeStyle(Ee),Tn=qt.symbol,Rn=qt.size,ir=Rn===void 0?16:Rn,Ln=(0,m._T)(qt,["symbol","size"]),Gn=Qt(Tn);(0,T.z)(!!Gn,(0,_.Ys)(Ue),function(_r){_r.maybeAppendByClassName("marker",Gn).attr("className","marker ".concat(Gn,"-marker")).call(function(un){if(Gn==="image"){var Bn=ir*2;un.styles({img:Tn,width:Bn,height:Bn,x:Ut-ir,y:Lt-ir})}else{var Bn=ir/2,lr=(0,U.Z)(Tn)?Tn:Oe.getSymbol(Tn);un.styles((0,m.pi)({d:lr==null?void 0:lr(Ut,Lt,Bn)},Ln))}})})},Oe.MARKER_SYMBOL_MAP=new Map,Oe.registerSymbol=function(Ee,Ue){Oe.MARKER_SYMBOL_MAP.set(Ee,Ue)},Oe.getSymbol=function(Ee){return Oe.MARKER_SYMBOL_MAP.get(Ee)},Oe.getSymbols=function(){return Array.from(Oe.MARKER_SYMBOL_MAP.keys())},Oe}(O.w);jt.registerSymbol("cross",Pt),jt.registerSymbol("hyphen",lt),jt.registerSymbol("line",xt),jt.registerSymbol("plus",pt),jt.registerSymbol("tick",tn),jt.registerSymbol("circle",vn),jt.registerSymbol("point",Qn),jt.registerSymbol("bowtie",On),jt.registerSymbol("hexagon",Ht),jt.registerSymbol("square",xn),jt.registerSymbol("diamond",Un),jt.registerSymbol("triangle",ke),jt.registerSymbol("triangle-down",ot),jt.registerSymbol("line",xt),jt.registerSymbol("dot",ae),jt.registerSymbol("dash",re),jt.registerSymbol("smooth",Ie),jt.registerSymbol("hv",Ct),jt.registerSymbol("vh",Nt),jt.registerSymbol("hvh",ht),jt.registerSymbol("vhv",Wt),jt.registerSymbol("focus",De);function hn(Se,Oe,Ee){var Ue=Math.round((Se-Ee)/Oe);return Ee+Ue*Oe}function ze(Se,Oe,Ee){var Ue=1.4,at=Ue*Ee;return[["M",Se-Ee,Oe-at],["L",Se+Ee,Oe-at],["L",Se+Ee,Oe+at],["L",Se-Ee,Oe+at],["Z"]]}var he=1.4,qe=.4;function ct(Se,Oe,Ee){var Ue=Ee,at=Ue*he,Ut=Ue/2,ut=Ue/6,Lt=Se+at*qe;return[["M",Se,Oe],["L",Lt,Oe+Ut],["L",Se+at,Oe+Ut],["L",Se+at,Oe-Ut],["L",Lt,Oe-Ut],["Z"],["M",Lt,Oe+ut],["L",Se+at-2,Oe+ut],["M",Lt,Oe-ut],["L",Se+at-2,Oe-ut]]}function je(Se,Oe,Ee){var Ue=Ee,at=Ue*he,Ut=Ue/2,ut=Ue/6,Lt=Oe+at*qe;return[["M",Se,Oe],["L",Se-Ut,Lt],["L",Se-Ut,Oe+at],["L",Se+Ut,Oe+at],["L",Se+Ut,Lt],["Z"],["M",Se-ut,Lt],["L",Se-ut,Oe+at-2],["M",Se+ut,Lt],["L",Se+ut,Oe+at-2]]}jt.registerSymbol("hiddenHandle",ze),jt.registerSymbol("verticalHandle",ct),jt.registerSymbol("horizontalHandle",je);var Xe=function(Se,Oe,Ee){return Se===void 0&&(Se="horizontal"),Se==="horizontal"?Oe:Ee};function dt(Se,Oe,Ee,Ue){var at;Ue===void 0&&(Ue=4);var Ut=__read(Se,2),ut=Ut[0],Lt=Ut[1],qt=__read(Oe,2),Tn=qt[0],Rn=qt[1],ir=__read(Ee,2),Ln=ir[0],Gn=ir[1],_r=__read([Tn,Rn],2),un=_r[0],Bn=_r[1],lr=Bn-un;return un>Bn&&(at=__read([Bn,un],2),un=at[0],Bn=at[1]),lr>Lt-ut?[ut,Lt]:unLt?Gn===Lt&&Ln===un?[un,Lt]:[Lt-lr,Lt]:[un,Bn]}function Tt(Se,Oe,Ee){return Se===void 0&&(Se="horizontal"),Se==="horizontal"?Oe:Ee}var Mt=v(49527),It=v(2080),an=v(88170),In=v(53160),_n=v(23343);function er(Se,Oe){for(var Ee in Oe)Oe.hasOwnProperty(Ee)&&Ee!=="constructor"&&Oe[Ee]!==void 0&&(Se[Ee]=Oe[Ee])}function Mr(Se,Oe,Ee,Ue){return Oe&&er(Se,Oe),Ee&&er(Se,Ee),Ue&&er(Se,Ue),Se}var hr=v(5759);function di(Se){return Se instanceof Element||Se instanceof Document}var br,ri="component-poptip",Ir={CONTAINER:"component-poptip",ARROW:"component-poptip-arrow",TEXT:"component-poptip-text"},Vi=(br={},br[".".concat(Ir.CONTAINER)]={visibility:"visible",position:"absolute","background-color":"rgba(0, 0, 0)","box-shadow":"0px 0px 10px #aeaeae","border-radius":"3px",color:"#fff",opacity:.8,"font-size":"12px",padding:"4px 6px",display:"flex","justify-content":"center","align-items":"center","z-index":8,transition:"visibility 50ms"},br[".".concat(Ir.TEXT)]={"text-align":"center"},br[".".concat(Ir.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, -100%)"},br[".".concat(Ir.CONTAINER,"[data-position='left']")]={transform:"translate(-100%, -50%)"},br[".".concat(Ir.CONTAINER,"[data-position='right']")]={transform:"translate(0, -50%)"},br[".".concat(Ir.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 0)"},br[".".concat(Ir.CONTAINER,"[data-position='top-left']")]={transform:"translate(0,-100%)"},br[".".concat(Ir.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%,-100%)"},br[".".concat(Ir.CONTAINER,"[data-position='left-top']")]={transform:"translate(-100%, 0)"},br[".".concat(Ir.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(-100%, -100%)"},br[".".concat(Ir.CONTAINER,"[data-position='right-top']")]={transform:"translate(0, 0)"},br[".".concat(Ir.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(0, -100%)"},br[".".concat(Ir.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 0)"},br[".".concat(Ir.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 0)"},br[".".concat(Ir.ARROW)]={width:"4px",height:"4px",transform:"rotate(45deg)","background-color":"rgba(0, 0, 0)",position:"absolute","z-index":-1},br[".".concat(Ir.CONTAINER,"[data-position='top']")]={transform:"translate(-50%, calc(-100% - 5px))"},br["[data-position='top'] .".concat(Ir.ARROW)]={bottom:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='left']")]={transform:"translate(calc(-100% - 5px), -50%)"},br["[data-position='left'] .".concat(Ir.ARROW)]={right:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='right']")]={transform:"translate(5px, -50%)"},br["[data-position='right'] .".concat(Ir.ARROW)]={left:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='bottom']")]={transform:"translate(-50%, 5px)"},br["[data-position='bottom'] .".concat(Ir.ARROW)]={top:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='top-left']")]={transform:"translate(0, calc(-100% - 5px))"},br["[data-position='top-left'] .".concat(Ir.ARROW)]={left:"10px",bottom:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='top-right']")]={transform:"translate(-100%, calc(-100% - 5px))"},br["[data-position='top-right'] .".concat(Ir.ARROW)]={right:"10px",bottom:"-2px"},br[".".concat(Ir.CONTAINER,"[data-position='left-top']")]={transform:"translate(calc(-100% - 5px), 0)"},br["[data-position='left-top'] .".concat(Ir.ARROW)]={right:"-2px",top:"8px"},br[".".concat(Ir.CONTAINER,"[data-position='left-bottom']")]={transform:"translate(calc(-100% - 5px), -100%)"},br["[data-position='left-bottom'] .".concat(Ir.ARROW)]={right:"-2px",bottom:"8px"},br[".".concat(Ir.CONTAINER,"[data-position='right-top']")]={transform:"translate(5px, 0)"},br["[data-position='right-top'] .".concat(Ir.ARROW)]={left:"-2px",top:"8px"},br[".".concat(Ir.CONTAINER,"[data-position='right-bottom']")]={transform:"translate(5px, -100%)"},br["[data-position='right-bottom'] .".concat(Ir.ARROW)]={left:"-2px",bottom:"8px"},br[".".concat(Ir.CONTAINER,"[data-position='bottom-left']")]={transform:"translate(0, 5px)"},br["[data-position='bottom-left'] .".concat(Ir.ARROW)]={top:"-2px",left:"8px"},br[".".concat(Ir.CONTAINER,"[data-position='bottom-right']")]={transform:"translate(-100%, 5px)"},br["[data-position='bottom-right'] .".concat(Ir.ARROW)]={top:"-2px",right:"8px"},br),fi=void 0;function on(Se,Oe,Ee,Ue,at,Ut){if(at===void 0&&(at=!1),Ut===void 0&&(Ut=!1),Ut)return[Se,Oe];var ut=Ee.getBoundingClientRect(),Lt=ut.x,qt=ut.y,Tn=ut.width,Rn=ut.height;switch(Ue){case"top":return at?[Lt+Tn/2,qt]:[Se,qt];case"left":return at?[Lt,qt+Rn/2]:[Lt,Oe];case"bottom":return at?[Lt+Tn/2,qt+Rn]:[Se,qt+Rn];case"right":return at?[Lt+Tn,qt+Rn/2]:[Lt+Tn,Oe];case"top-right":case"right-top":return[Lt+Tn,qt];case"left-bottom":case"bottom-left":return[Lt,qt+Rn];case"right-bottom":case"bottom-right":return[Lt+Tn,qt+Rn];case"top-left":case"left-top":default:return[Lt,qt]}}var Yt=function(Se){var Oe;return function(){for(var Ee=[],Ue=0;Ue
    ');Ee.innerHTML=Lt,(0,vt.Z)(Ut)?Ee.innerHTML+=Ut:Ut&&di(Ut)&&Ee.appendChild(Ut),ut&&(Ee.getElementsByClassName(Ir.TEXT)[0].textContent=ut),this.applyStyles(),this.container.style.visibility=this.visibility},Oe.prototype.applyStyles=function(){var Ee=(0,be.n)({},Vi,this.style.domStyles),Ue=Object.entries(Ee).reduce(function(Ut,ut){var Lt=(0,m.CR)(ut,2),qt=Lt[0],Tn=Lt[1],Rn=Object.entries(Tn).reduce(function(ir,Ln){var Gn=(0,m.CR)(Ln,2),_r=Gn[0],un=Gn[1];return"".concat(ir).concat(_r,": ").concat(un,";")},"");return"".concat(Ut).concat(qt,"{").concat(Rn,"}")},"");if(this.domStyles!==Ue){this.domStyles=Ue;var at=this.container.querySelector("style");at&&this.container.removeChild(at),at=document.createElement("style"),at.innerHTML=Ue,this.container.appendChild(at)}},Oe.prototype.setOffsetPosition=function(Ee,Ue,at){at===void 0&&(at=this.style.offset);var Ut=(0,m.CR)(at,2),ut=Ut[0],Lt=ut===void 0?0:ut,qt=Ut[1],Tn=qt===void 0?0:qt;this.container.style.left="".concat(Ee+Lt,"px"),this.container.style.top="".concat(Ue+Tn,"px")},Oe.tag="poptip",Oe.defaultOptions={style:{x:0,y:0,width:0,height:0,target:null,visibility:"hidden",text:"",position:"top",follow:!1,offset:[0,0],domStyles:Vi,template:'
    ')}},Oe}(O.w),Ft=(0,E.A)({layout:"flex",markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label",valueGroup:"value-group",focusGroup:"focus-group",focus:"focus",value:"value",backgroundGroup:"background-group",background:"background"},"legend-category-item"),rn={offset:[0,20],domStyles:{".component-poptip":{opacity:"1",padding:"8px 12px",background:"#fff",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},".component-poptip-arrow":{display:"none"},".component-poptip-text":{color:"#000",lineHeight:"20px"}}};function Dt(Se){var Oe=Se.querySelector(Ft.marker.class);return Oe?Oe.style:{}}var jn=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee,Ue){var at=Se.call(this,Ee,{span:[1,1],marker:function(){return new B.Cd({style:{r:6}})},markerSize:10,labelFill:"#646464",valueFill:"#646464",labelFontSize:12,valueFontSize:12,labelTextBaseline:"middle",valueTextBaseline:"middle"})||this;return at.keyFields={},at.keyFields=Ue||{},at}return Object.defineProperty(Oe.prototype,"showValue",{get:function(){var Ee=this.attributes.valueText;return Ee?typeof Ee=="string"||typeof Ee=="number"?Ee!=="":typeof Ee=="function"?!0:Ee.attr("text")!=="":!1},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"actualSpace",{get:function(){var Ee=this.labelGroup,Ue=this.valueGroup,at=this.attributes,Ut=at.markerSize,ut=at.focus,Lt=at.focusMarkerSize,qt=Ee.node().getBBox(),Tn=qt.width,Rn=qt.height,ir=Ue.node().getBBox(),Ln=ir.width,Gn=ir.height,_r=ut?Lt!=null?Lt:12:0;return{markerWidth:Ut,labelWidth:Tn,valueWidth:Ln,focusWidth:_r,height:Math.max(Ut,Rn,Gn)}},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"span",{get:function(){var Ee=this.attributes.span;if(!Ee)return[1,1];var Ue=(0,m.CR)((0,F.j)(Ee),2),at=Ue[0],Ut=Ue[1],ut=this.showValue?Ut:0,Lt=at+ut;return[at/Lt,ut/Lt]},enumerable:!1,configurable:!0}),Oe.prototype.setAttribute=function(Ee,Ue){Se.prototype.setAttribute.call(this,Ee,Ue)},Object.defineProperty(Oe.prototype,"shape",{get:function(){var Ee,Ue=this.attributes,at=Ue.markerSize,Ut=Ue.width,ut=this.actualSpace,Lt=ut.markerWidth,qt=ut.focusWidth,Tn=ut.height,Rn=this.actualSpace,ir=Rn.labelWidth,Ln=Rn.valueWidth,Gn=(0,m.CR)(this.spacing,3),_r=Gn[0],un=Gn[1],Bn=Gn[2];if(Ut){var lr=Ut-at-_r-un-qt-Bn,cr=(0,m.CR)(this.span,2),Fr=cr[0],zr=cr[1];Ee=(0,m.CR)([Fr*lr,zr*lr],2),ir=Ee[0],Ln=Ee[1]}var Wr=Lt+ir+Ln+_r+un+qt+Bn;return{width:Wr,height:Tn,markerWidth:Lt,labelWidth:ir,valueWidth:Ln,focusWidth:qt}},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"spacing",{get:function(){var Ee=this.attributes,Ue=Ee.spacing,at=Ee.focus;if(!Ue)return[0,0,0];var Ut=(0,m.CR)((0,F.j)(Ue),3),ut=Ut[0],Lt=Ut[1],qt=Ut[2];return[ut,this.showValue?Lt:0,at?qt:0]},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"layout",{get:function(){var Ee=this.shape,Ue=Ee.markerWidth,at=Ee.labelWidth,Ut=Ee.valueWidth,ut=Ee.focusWidth,Lt=Ee.width,qt=Ee.height,Tn=(0,m.CR)(this.spacing,3),Rn=Tn[0],ir=Tn[1],Ln=Tn[2];return{height:qt,width:Lt,markerWidth:Ue,labelWidth:at,valueWidth:Ut,focusWidth:ut,position:[Ue/2,Ue+Rn,Ue+at+Rn+ir,Ue+at+Ut+Rn+ir+Ln+ut/2]}},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"scaleSize",{get:function(){var Ee=Dt(this.markerGroup.node()),Ue=this.attributes,at=Ue.markerSize,Ut=Ue.markerStrokeWidth,ut=Ut===void 0?Ee.strokeWidth:Ut,Lt=Ue.markerLineWidth,qt=Lt===void 0?Ee.lineWidth:Lt,Tn=Ue.markerStroke,Rn=Tn===void 0?Ee.stroke:Tn,ir=+(ut||qt||(Rn?1:0))*Math.sqrt(2),Ln=this.markerGroup.node().getBBox(),Gn=Ln.width,_r=Ln.height;return(1-ir/Math.max(Gn,_r))*at},enumerable:!1,configurable:!0}),Oe.prototype.renderMarker=function(Ee){var Ue=this,at=this.attributes,Ut=at.marker,ut=at.classNamePrefix,Lt=(0,R.zs)(this.attributes,"marker");this.markerGroup=Ee.maybeAppendByClassName(Ft.markerGroup,"g").style("zIndex",0),(0,T.z)(!!Ut,this.markerGroup,function(){var qt,Tn=Ue.markerGroup.node(),Rn=(qt=Tn.childNodes)===null||qt===void 0?void 0:qt[0],ir=D(Ft.marker.name,ee.marker,ut),Ln=typeof Ut=="string"?new jt({style:{symbol:Ut},className:ir}):Ut();if(Rn)if(Ln.nodeName===Rn.nodeName)Rn instanceof jt?Rn.update((0,m.pi)((0,m.pi)({},Lt),{symbol:Ut})):((0,It.DM)(Rn,Ln),(0,_.Ys)(Rn).styles(Lt));else{if(Rn.remove(),!(Ln instanceof jt)){var _r=D(Ft.marker.name,ee.marker,ut);Ln.className=_r}(0,_.Ys)(Ln).styles(Lt),Tn.appendChild(Ln)}else{if(!(Ln instanceof jt)){var Gn=D(Ft.marker.name,ee.marker,ut);Ln.className=Gn,(0,_.Ys)(Ln).styles(Lt)}Tn.appendChild(Ln)}Ue.markerGroup.node().scale(1/Ue.markerGroup.node().getScale()[0]);var un=(0,Sn.b)(Ue.markerGroup.node(),Ue.scaleSize,!0);Ue.markerGroup.node().style._transform="scale(".concat(un,")")})},Oe.prototype.renderLabel=function(Ee){var Ue=(0,R.zs)(this.attributes,"label"),at=Ue.text,Ut=(0,m._T)(Ue,["text"]),ut=this.attributes.classNamePrefix;this.labelGroup=Ee.maybeAppendByClassName(Ft.labelGroup,"g").style("zIndex",0);var Lt=D(Ft.label.name,ee.label,ut),qt=this.labelGroup.maybeAppendByClassName(Ft.label,function(){return(0,an.S)(at)});qt.node().setAttribute("class",Lt),qt.styles(Ut)},Oe.prototype.renderValue=function(Ee){var Ue=this,at=(0,R.zs)(this.attributes,"value"),Ut=at.text,ut=(0,m._T)(at,["text"]),Lt=this.attributes.classNamePrefix;this.valueGroup=Ee.maybeAppendByClassName(Ft.valueGroup,"g").style("zIndex",0),(0,T.z)(this.showValue,this.valueGroup,function(){var qt=D(Ft.value.name,ee.value,Lt),Tn=Ue.valueGroup.maybeAppendByClassName(Ft.value,function(){return(0,an.S)(Ut)});Tn.node().setAttribute("class",qt),Tn.styles(ut)})},Oe.prototype.createPoptip=function(){var Ee=this.attributes.poptip,Ue=Ee||{},at=Ue.render,Ut=(0,m._T)(Ue,["render"]),ut=new yt({style:(0,be.n)(rn,Ut)});return this.poptipGroup=ut,ut},Oe.prototype.bindPoptip=function(Ee){var Ue=this,at=this.attributes.poptip;if(at){var Ut=this.poptipGroup||this.createPoptip();Ut.bind(Ee,function(){var ut=Ue.attributes,Lt=ut.labelText,qt=ut.valueText,Tn=ut.markerFill,Rn=typeof Lt=="string"?Lt:Lt==null?void 0:Lt.attr("text"),ir=typeof qt=="string"?qt:qt==null?void 0:qt.attr("text");if(typeof at.render=="function")return{html:at.render((0,m.pi)((0,m.pi)({},Ue.keyFields),{label:Rn,value:ir,color:Tn}))};var Ln="";return(typeof Rn=="string"||typeof Rn=="number")&&(Ln+='
    '.concat(Rn,"
    ")),(typeof ir=="string"||typeof ir=="number")&&(Ln+='
    '.concat(ir,"
    ")),{html:Ln}})}},Oe.prototype.renderFocus=function(Ee){var Ue=this,at=this.attributes,Ut=at.focus,ut=at.focusMarkerSize,Lt=at.classNamePrefix,qt={x:0,y:0,size:ut,opacity:.6,symbol:"focus",stroke:"#aaaaaa",lineWidth:1};(0,Mt.Z)(Ut)||(this.focusGroup=Ee.maybeAppendByClassName(Ft.focusGroup,"g").style("zIndex",0),(0,T.z)(Ut,this.focusGroup,function(){var Tn=D(Ft.focus.name,ee.focusIcon,Lt),Rn=new jt({style:(0,m.pi)((0,m.pi)({},qt),{symbol:"focus"}),className:Tn}),ir=new B.Cd({style:{r:qt.size/2,fill:"transparent"}}),Ln=Ue.focusGroup.node();Ln.appendChild(ir),Ln.appendChild(Rn),Rn.update({opacity:0}),Ee.node().addEventListener("pointerenter",function(){Rn.update({opacity:1})}),Ee.node().addEventListener("pointerleave",function(){Rn.update({opacity:0})})}))},Oe.prototype.renderPoptip=function(Ee){var Ue=this,at=this.attributes.poptip;if(at){var Ut=Ee.maybeAppendByClassName(Ft.value,"g").node(),ut=Ee.maybeAppendByClassName(Ft.label,"g").node();[Ut,ut].forEach(function(Lt){Lt&&Ue.bindPoptip(Lt)})}},Oe.prototype.renderBackground=function(Ee){var Ue=this.shape,at=Ue.width,Ut=Ue.height,ut=(0,R.zs)(this.attributes,"background");this.background=Ee.maybeAppendByClassName(Ft.backgroundGroup,"g").style("zIndex",-1);var Lt=this.background.maybeAppendByClassName(Ft.background,"rect");Lt.styles((0,m.pi)({width:at,height:Ut},ut));var qt=this.attributes.classNamePrefix,Tn=qt===void 0?"":qt;if(Tn){var Rn=D(Ft.background.name,ee.background,Tn);Lt.node().setAttribute("class",Rn)}},Oe.prototype.adjustLayout=function(){var Ee=this.layout,Ue=Ee.labelWidth,at=Ee.valueWidth,Ut=Ee.height,ut=(0,m.CR)(Ee.position,4),Lt=ut[0],qt=ut[1],Tn=ut[2],Rn=ut[3],ir=Ut/2;this.markerGroup.styles({transform:"translate(".concat(Lt,", ").concat(ir,")").concat(this.markerGroup.node().style._transform)}),this.labelGroup.styles({transform:"translate(".concat(qt,", ").concat(ir,")")}),this.focusGroup&&this.focusGroup.styles({transform:"translate(".concat(Rn,", ").concat(ir,")")}),(0,In.O)(this.labelGroup.select(Ft.label.class).node(),Math.ceil(Ue)),this.showValue&&(this.valueGroup.styles({transform:"translate(".concat(Tn,", ").concat(ir,")")}),(0,In.O)(this.valueGroup.select(Ft.value.class).node(),Math.ceil(at)))},Oe.prototype.render=function(Ee,Ue){var at=(0,_.Ys)(Ue),Ut=Ee.x,ut=Ut===void 0?0:Ut,Lt=Ee.y,qt=Lt===void 0?0:Lt;at.styles({transform:"translate(".concat(ut,", ").concat(qt,")")}),this.renderMarker(at),this.renderLabel(at),this.renderValue(at),this.renderBackground(at),this.renderPoptip(at),this.renderFocus(at),this.adjustLayout()},Oe}(O.w),Zn=(0,E.A)({page:"item-page",navigator:"navigator",item:"item"},"items"),Tr=function(Se,Oe,Ee){return Ee===void 0&&(Ee=!0),Se?Oe(Se):Ee},Qr=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee){var Ue=Se.call(this,Ee,{data:[],gridRow:1/0,gridCol:void 0,padding:0,width:1e3,height:100,rowPadding:0,colPadding:0,layout:"flex",orientation:"horizontal",click:Me,mouseenter:Me,mouseleave:Me})||this;return Ue.navigatorShape=[0,0],Ue}return Object.defineProperty(Oe.prototype,"pageViews",{get:function(){return this.navigator.getContainer()},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"grid",{get:function(){var Ee=this.attributes,Ue=Ee.gridRow,at=Ee.gridCol,Ut=Ee.data;if(!Ue&&!at)throw new Error("gridRow and gridCol can not be set null at the same time");return Ue&&at?[Ue,at]:Ue?[Ue,Ut.length]:[Ut.length,at]},enumerable:!1,configurable:!0}),Object.defineProperty(Oe.prototype,"renderData",{get:function(){var Ee=this.attributes,Ue=Ee.data,at=Ee.layout,Ut=Ee.poptip,ut=Ee.focus,Lt=Ee.focusMarkerSize,qt=Ee.classNamePrefix,Tn=(0,R.zs)(this.attributes,"item"),Rn=Ue.map(function(ir,Ln){var Gn=ir.id,_r=Gn===void 0?Ln:Gn,un=ir.label,Bn=ir.value;return{id:"".concat(_r),index:Ln,style:(0,m.pi)({layout:at,labelText:un,valueText:Bn,poptip:Ut,focus:ut,focusMarkerSize:Lt,classNamePrefix:qt},Object.fromEntries(Object.entries(Tn).map(function(lr){var cr=(0,m.CR)(lr,2),Fr=cr[0],zr=cr[1];return[Fr,(0,Ye.S)(zr,[ir,Ln,Ue])]})))}});return Rn},enumerable:!1,configurable:!0}),Oe.prototype.getGridLayout=function(){var Ee=this,Ue=this.attributes,at=Ue.orientation,Ut=Ue.width,ut=Ue.rowPadding,Lt=Ue.colPadding,qt=(0,m.CR)(this.navigatorShape,1),Tn=qt[0],Rn=(0,m.CR)(this.grid,2),ir=Rn[0],Ln=Rn[1],Gn=Ln*ir,_r=0;return this.pageViews.children.map(function(un,Bn){var lr,cr,Fr=Math.floor(Bn/Gn),zr=Bn%Gn,Wr=Ee.ifHorizontal(Ln,ir),Vr=[Math.floor(zr/Wr),zr%Wr];at==="vertical"&&Vr.reverse();var wi=(0,m.CR)(Vr,2),Zr=wi[0],Ei=wi[1],Yi=(Ut-Tn-(Ln-1)*Lt)/Ln,wn=un.getBBox().height,wt=(0,m.CR)([0,0],2),Rt=wt[0],Et=wt[1];return at==="horizontal"?(lr=(0,m.CR)([_r,Zr*(wn+ut)],2),Rt=lr[0],Et=lr[1],_r=Ei===Ln-1?0:_r+Yi+Lt):(cr=(0,m.CR)([Ei*(Yi+Lt),_r],2),Rt=cr[0],Et=cr[1],_r=Zr===ir-1?0:_r+wn+ut),{page:Fr,index:Bn,row:Zr,col:Ei,pageIndex:zr,width:Yi,height:wn,x:Rt,y:Et}})},Oe.prototype.getFlexLayout=function(){var Ee=this.attributes,Ue=Ee.width,at=Ee.height,Ut=Ee.rowPadding,ut=Ee.colPadding,Lt=(0,m.CR)(this.navigatorShape,1),qt=Lt[0],Tn=(0,m.CR)(this.grid,2),Rn=Tn[0],ir=Tn[1],Ln=(0,m.CR)([Ue-qt,at],2),Gn=Ln[0],_r=Ln[1],un=(0,m.CR)([0,0,0,0,0,0,0,0],8),Bn=un[0],lr=un[1],cr=un[2],Fr=un[3],zr=un[4],Wr=un[5],Vr=un[6],wi=un[7];return this.pageViews.children.map(function(Zr,Ei){var Yi,wn,wt,Rt,Et=Zr.getBBox(),dn=Et.width,Cn=Et.height,Xn=Vr===0?0:ut,mr=Vr+Xn+dn;if(mr<=Gn&&Tr(zr,function(ai){return ai0?(this.navigatorShape=[55,0],Ee.call(this)):Ue},enumerable:!1,configurable:!0}),Oe.prototype.ifHorizontal=function(Ee,Ue){var at=this.attributes.orientation;return Tt(at,Ee,Ue)},Oe.prototype.flattenPage=function(Ee){Ee.querySelectorAll(Zn.item.class).forEach(function(Ue){Ee.appendChild(Ue)}),Ee.querySelectorAll(Zn.page.class).forEach(function(Ue){var at=Ee.removeChild(Ue);at.destroy()})},Oe.prototype.renderItems=function(Ee){var Ue=this.attributes,at=Ue.click,Ut=Ue.mouseenter,ut=Ue.mouseleave,Lt=Ue.classNamePrefix;this.flattenPage(Ee);var qt=this.dispatchCustomEvent.bind(this),Tn=D(Zn.item.name,ee.item,Lt);(0,_.Ys)(Ee).selectAll(Zn.item.class).data(this.renderData,function(Rn){return Rn.id}).join(function(Rn){return Rn.append(function(ir){var Ln=ir.style,Gn=(0,m._T)(ir,["style"]);return new jn({style:Ln},Gn)}).attr("className",Tn).on("click",function(){at==null||at(this),qt("itemClick",{item:this})}).on("pointerenter",function(){Ut==null||Ut(this),qt("itemMouseenter",{item:this})}).on("pointerleave",function(){ut==null||ut(this),qt("itemMouseleave",{item:this})})},function(Rn){return Rn.each(function(ir){var Ln=ir.style;this.update(Ln)})},function(Rn){return Rn.remove()})},Oe.prototype.relayoutNavigator=function(){var Ee,Ue=this.attributes,at=Ue.layout,Ut=Ue.width,ut=((Ee=this.pageViews.children[0])===null||Ee===void 0?void 0:Ee.getBBox().height)||0,Lt=(0,m.CR)(this.navigatorShape,2),qt=Lt[0],Tn=Lt[1];this.navigator.update(at==="grid"?{pageWidth:Ut-qt,pageHeight:ut-Tn}:{})},Oe.prototype.adjustLayout=function(){var Ee=this,Ue=Object.entries(Te(this.itemsLayout,"page")).map(function(Ut){var ut=(0,m.CR)(Ut,2),Lt=ut[0],qt=ut[1];return{page:Lt,layouts:qt}}),at=(0,m.ev)([],(0,m.CR)(this.navigator.getContainer().children),!1);Ue.forEach(function(Ut){var ut=Ut.layouts,Lt=Ee.pageViews.appendChild(new B.ZA({className:Zn.page.name}));ut.forEach(function(qt){var Tn=qt.x,Rn=qt.y,ir=qt.index,Ln=qt.width,Gn=qt.height,_r=at[ir];Lt.appendChild(_r),(0,Ze.Z)(_r,"__layout__",qt),_r.update({x:Tn,y:Rn,width:Ln,height:Gn})})}),this.relayoutNavigator()},Oe.prototype.renderNavigator=function(Ee){var Ue=this.attributes,at=Ue.orientation,Ut=Ue.classNamePrefix,ut=(0,R.zs)(this.attributes,"nav"),Lt=(0,be.n)({orientation:at,classNamePrefix:Ut},ut),qt=this;return Ee.selectAll(Zn.navigator.class).data(["nav"]).join(function(Tn){return Tn.append(function(){return new bt({style:Lt})}).attr("className",Zn.navigator.name).each(function(){qt.navigator=this})},function(Tn){return Tn.each(function(){this.update(Lt)})},function(Tn){return Tn.remove()}),this.navigator},Oe.prototype.getBBox=function(){return this.navigator.getBBox()},Oe.prototype.render=function(Ee,Ue){var at=this.attributes.data;if(!(!at||at.length===0)){var Ut=this.renderNavigator((0,_.Ys)(Ue));this.renderItems(Ut.getContainer()),this.adjustLayout()}},Oe.prototype.dispatchCustomEvent=function(Ee,Ue){var at=new B.Aw(Ee,{detail:Ue});this.dispatchEvent(at)},Oe}(O.w),Ne=(0,E.A)({markerGroup:"marker-group",marker:"marker",labelGroup:"label-group",label:"label"},"handle"),V={showLabel:!0,formatter:function(Se){return Se.toString()},markerSize:25,markerStroke:"#c5c5c5",markerFill:"#fff",markerLineWidth:1,labelFontSize:12,labelFill:"#c5c5c5",labelText:"",orientation:"vertical",spacing:0},W=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee){return Se.call(this,Ee,V)||this}return Oe.prototype.render=function(Ee,Ue){var at=(0,_.Ys)(Ue).maybeAppendByClassName(Ne.markerGroup,"g");this.renderMarker(at);var Ut=(0,_.Ys)(Ue).maybeAppendByClassName(Ne.labelGroup,"g");this.renderLabel(Ut)},Oe.prototype.renderMarker=function(Ee){var Ue=this,at=this.attributes,Ut=at.orientation,ut=at.classNamePrefix,Lt=at.markerSymbol,qt=Lt===void 0?Tt(Ut,"horizontalHandle","verticalHandle"):Lt;(0,T.z)(!!qt,Ee,function(Tn){var Rn=(0,R.zs)(Ue.attributes,"marker"),ir=(0,m.pi)({symbol:qt},Rn),Ln=D(Ne.marker.name,ee.handleMarker,ut);if(Ue.marker=Tn.maybeAppendByClassName(Ne.marker,function(){return new jt({style:ir,className:Ln})}).update(ir),ut){var Gn=Ue.marker.node().querySelector(".marker");if(Gn){var _r=Gn.getAttribute("class")||"",un=_r.split(" ")[0],Bn=D(un,ee.handleMarker,ut);Gn.setAttribute("class",Bn)}}})},Oe.prototype.renderLabel=function(Ee){var Ue=this,at=this.attributes,Ut=at.showLabel,ut=at.orientation,Lt=at.spacing,qt=Lt===void 0?0:Lt,Tn=at.formatter,Rn=at.classNamePrefix;(0,T.z)(Ut,Ee,function(ir){var Ln,Gn=(0,R.zs)(Ue.attributes,"label"),_r=Gn.text,un=(0,m._T)(Gn,["text"]),Bn=((Ln=ir.select(Ne.marker.class))===null||Ln===void 0?void 0:Ln.node().getBBox())||{},lr=Bn.width,cr=lr===void 0?0:lr,Fr=Bn.height,zr=Fr===void 0?0:Fr,Wr=(0,m.CR)(Tt(ut,[0,zr+qt,"center","top"],[cr+qt,0,"start","middle"]),4),Vr=Wr[0],wi=Wr[1],Zr=Wr[2],Ei=Wr[3],Yi=D(Ne.label.name,ee.handleLabel,Rn);ir.maybeAppendByClassName(Ne.label,"text").attr("className",Yi).styles((0,m.pi)((0,m.pi)({},un),{x:Vr,y:wi,text:Tn(_r).toString(),textAlign:Zr,textBaseline:Ei}))})},Oe}(O.w),S={showTitle:!0,padding:0,orientation:"horizontal",backgroundFill:"transparent",titleText:"",titleSpacing:4,titlePosition:"top-left",titleFill:"#2C3542",titleFontWeight:"bold",titleFontFamily:"sans-serif",titleFontSize:12},H=(0,be.n)({},S,{}),J=(0,be.n)({},S,(0,R.dq)(V,"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"}),Ae=.01,me=.5,$e=(0,E.A)({title:"title",html:"html",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"),Ke=function(Se){(0,m.ZT)(Oe,Se);function Oe(){return Se!==null&&Se.apply(this,arguments)||this}return Oe.prototype.update=function(Ee){this.attr(Ee)},Oe}(B.k9),Xt=function(Se){(0,m.ZT)(Oe,Se);function Oe(Ee){return Se.call(this,Ee,H)||this}return Oe.prototype.renderTitle=function(Ee,Ue,at){var Ut=this.attributes,ut=Ut.showTitle,Lt=Ut.titleText,qt=Ut.classNamePrefix,Tn=(0,R.zs)(this.attributes,"title"),Rn=(0,m.CR)((0,R.Hm)(Tn),2),ir=Rn[0],Ln=Rn[1];this.titleGroup=Ee.maybeAppendByClassName($e.titleGroup,"g").styles(Ln);var Gn=(0,m.pi)((0,m.pi)({width:Ue,height:at},ir),{text:ut?Lt:"",classNamePrefix:qt});this.title=this.titleGroup.maybeAppendByClassName($e.title,function(){return new Le({style:Gn})}).update(Gn)},Oe.prototype.renderCustom=function(Ee){var Ue=this.attributes.data,at={innerHTML:this.attributes.render(Ue),pointerEvents:"auto"};Ee.maybeAppendByClassName($e.html,function(){return new Ke({className:$e.html.name,style:at})}).update(at)},Oe.prototype.renderItems=function(Ee,Ue){var at=Ue.x,Ut=Ue.y,ut=Ue.width,Lt=Ue.height,qt=(0,R.zs)(this.attributes,"title",!0),Tn=(0,m.CR)((0,R.Hm)(qt),2),Rn=Tn[0],ir=Tn[1],Ln=(0,m.pi)((0,m.pi)({},Rn),{width:ut,height:Lt,x:0,y:0});this.itemsGroup=Ee.maybeAppendByClassName($e.itemsGroup,"g").styles((0,m.pi)((0,m.pi)({},ir),{transform:"translate(".concat(at,", ").concat(Ut,")")}));var Gn=this;this.itemsGroup.selectAll($e.items.class).data(["items"]).join(function(_r){return _r.append(function(){return new Qr({style:Ln})}).attr("className",$e.items.name).each(function(){Gn.items=(0,_.Ys)(this)})},function(_r){return _r.update(Ln)},function(_r){return _r.remove()})},Oe.prototype.adjustLayout=function(){var Ee=this.attributes.showTitle;if(Ee){var Ue=this.title.node().getAvailableSpace(),at=Ue.x,Ut=Ue.y;this.itemsGroup.node().style.transform="translate(".concat(at,", ").concat(Ut,")")}},Object.defineProperty(Oe.prototype,"availableSpace",{get:function(){var Ee=this.attributes,Ue=Ee.showTitle,at=Ee.width,Ut=Ee.height;return Ue?this.title.node().getAvailableSpace():new I.b(0,0,at,Ut)},enumerable:!1,configurable:!0}),Oe.prototype.getBBox=function(){var Ee,Ue,at=(Ee=this.title)===null||Ee===void 0?void 0:Ee.node(),Ut=(Ue=this.items)===null||Ue===void 0?void 0:Ue.node();return!at||!Ut?Se.prototype.getBBox.call(this):ge(at,Ut)},Oe.prototype.render=function(Ee,Ue){var at=this.attributes,Ut=at.width,ut=at.height,Lt=at.x,qt=Lt===void 0?0:Lt,Tn=at.y,Rn=Tn===void 0?0:Tn,ir=at.classNamePrefix,Ln=at.render,Gn=(0,_.Ys)(Ue),_r=Ue.className||"legend-category";ir?Ue.attr("className","".concat(_r," ").concat(ir,"legend")):Ue.className||Ue.attr("className","legend-category"),Ue.style.transform="translate(".concat(qt,", ").concat(Rn,")"),Ln?this.renderCustom(Gn):(this.renderTitle(Gn,Ut,ut),this.renderItems(Gn,this.availableSpace),this.adjustLayout())},Oe}(O.w)},91498:function(Re,xe,v){"use strict";v.d(xe,{s:function(){return Js}});var m=v(80813),O=v(70208),B=v(97304),R=v(66623),_=v(99247),I=v(17911),E=v(88839),N=null,F=null;function T(oe){return oe instanceof Date?oe:new Date(oe)}function D(oe){for(var q=__read(oe,2),X=q[0],Y=q[1],le=N.indexOf(X),Pe=N.indexOf(Y),We="",He=le;He<=Pe;He+=1)if(We+=F[He],He2&&(et=":"),We+=et}return We}function z(oe,q){var X={YYYY:oe.getFullYear(),MM:oe.getMonth()+1,DD:oe.getDate(),HH:oe.getHours(),mm:oe.getMinutes(),ss:oe.getSeconds()},Y=q;return Object.keys(X).forEach(function(le){var Pe=X[le];Y=Y.replace(le,le==="YYYY"?"".concat(Pe):"".concat(Pe).padStart(2,"0"))}),Y}function ee(oe,q){return T(oe).getTime()-T(q).getTime()}function te(oe,q){var X=__read([T(oe),T(q)],2),Y=X[0],le=X[1];return Y.getFullYear()!==le.getFullYear()?"year":Y.getMonth()!==le.getMonth()?"month":Y.getDay()!==le.getDay()?"day":Y.getHours()!==le.getHours()?"hour":Y.getMinutes()!==le.getMinutes()?"minute":"second"}function ge(oe,q){var X=new Date(oe),Y={year:function(le){le.setMonth(0),le.setHours(0,0,0,0)},month:function(le){le.setDate(1),le.setHours(0,0,0,0)},day:function(le){return le.setHours(0,0,0,0)},hour:function(le){return le.setMinutes(0,0,0)},minute:function(le){return le.setSeconds(0,0)},second:function(le){return le.setMilliseconds(0)}};return Y[q](X),z(X,D(["year",q]))}var pe=v(86314),fe=v(67756);function Le(oe,q){if(oe.length<=q)return oe;for(var X=Math.floor(oe.length/q),Y=[],le=0;le180?1:0,Vs=oe>q?0:1,ba=!1;return ba?"M".concat(X,",").concat(Y,",L").concat($n,",").concat(Cr,",A").concat(He,",").concat(et,",0,").concat(ds,",").concat(Vs,",").concat(jr,",").concat(Yr,",L").concat(X,",").concat(Y):"M".concat($n,",").concat(Cr,",A").concat(He,",").concat(et,",0,").concat(ds,",").concat(Vs,",").concat(jr,",").concat(Yr)}function ri(oe){var q=oe.attributes,X=q.startAngle,Y=q.endAngle,le=q.center,Pe=q.radius;return(0,m.ev)((0,m.ev)([X,Y],(0,m.CR)(le),!1),[Pe],!1)}function Ir(oe,q,X,Y){var le=q.startAngle,Pe=q.endAngle,We=q.center,He=q.radius,et=q.classNamePrefix;return oe.selectAll(it.line.class).data([{d:br.apply(void 0,(0,m.ev)((0,m.ev)([le,Pe],(0,m.CR)(We),!1),[He],!1))}],function(_t,Kt){return Kt}).join(function(_t){var Kt=_t.append("path").attr("className",it.line.name).styles(q).styles({d:function(nn){return nn.d}});return an(Kt,it.line,Te.line,et),Kt},function(_t){return _t.transition(function(){var Kt=this,nn=Qt(this,ri(this),(0,m.ev)((0,m.ev)([le,Pe],(0,m.CR)(We),!1),[He],!1),Y.update);if(nn){var bn=function(){var Nn=(0,bt.Z)(Kt.attributes,"__keyframe_data__");Kt.style.d=br.apply(void 0,(0,m.ev)([],(0,m.CR)(Nn),!1))};nn.onframe=bn,nn.onfinish=bn}return nn}).styles(q)},function(_t){return _t.remove()}).styles(X).transitions()}function Vi(oe,q){var X=q.truncRange,Y=q.truncShape,le=q.lineExtension}function fi(oe,q,X){X===void 0&&(X=[0,0]);var Y=(0,m.CR)([oe,q,X],3),le=(0,m.CR)(Y[0],2),Pe=le[0],We=le[1],He=(0,m.CR)(Y[1],2),et=He[0],_t=He[1],Kt=(0,m.CR)(Y[2],2),nn=Kt[0],bn=Kt[1],Nn=(0,m.CR)([et-Pe,_t-We],2),$n=Nn[0],Cr=Nn[1],dr=Math.sqrt(Math.pow($n,2)+Math.pow(Cr,2)),jr=(0,m.CR)([-nn/dr,bn/dr],2),Yr=jr[0],li=jr[1];return[Yr*$n,Yr*Cr,li*$n,li*Cr]}function on(oe){var q=(0,m.CR)(oe,2),X=(0,m.CR)(q[0],2),Y=X[0],le=X[1],Pe=(0,m.CR)(q[1],2),We=Pe[0],He=Pe[1];return{x1:Y,y1:le,x2:We,y2:He}}function Yt(oe,q,X,Y){var le=q.showTrunc,Pe=q.startPos,We=q.endPos,He=q.truncRange,et=q.lineExtension,_t=q.classNamePrefix,Kt=(0,m.CR)([Pe,We],2),nn=(0,m.CR)(Kt[0],2),bn=nn[0],Nn=nn[1],$n=(0,m.CR)(Kt[1],2),Cr=$n[0],dr=$n[1],jr=(0,m.CR)(et?fi(Pe,We,et):new Array(4).fill(0),4),Yr=jr[0],li=jr[1],Ci=jr[2],Ji=jr[3],Li=function(vo){return oe.selectAll(it.line.class).data(vo,function(Ua,qo){return qo}).join(function(Ua){var qo=Ua.append("line").styles(X).transition(function(Ba){return(0,pe.eR)(this,on(Ba.line),!1)});return qo.attr("className",function(Ba){if(!_t)return"".concat(it.line.name," ").concat(Ba.className);var so=Mt(it.line.name,Te.line,_t);if(Ba.className===it.lineFirst.name){var rl=Mt(it.lineFirst.name,Te.lineFirst,_t);return"".concat(so," ").concat(rl)}if(Ba.className===it.lineSecond.name){var rl=Mt(it.lineSecond.name,Te.lineSecond,_t);return"".concat(so," ").concat(rl)}return so}),qo},function(Ua){return Ua.styles(X).transition(function(qo){var Ba=qo.line;return(0,pe.eR)(this,on(Ba),Y.update)})},function(Ua){return Ua.remove()}).transitions()};if(!le||!He)return Li([{line:[[bn+Yr,Nn+li],[Cr+Ci,dr+Ji]],className:it.line.name}]);var ds=(0,m.CR)(He,2),Vs=ds[0],ba=ds[1],qa=Cr-bn,mo=dr-Nn,Na=(0,m.CR)([bn+qa*Vs,Nn+mo*Vs],2),Xs=Na[0],_a=Na[1],pi=(0,m.CR)([bn+qa*ba,Nn+mo*ba],2),Da=pi[0],io=pi[1],qs=Li([{line:[[bn+Yr,Nn+li],[Xs,_a]],className:it.lineFirst.name},{line:[[Da,io],[Cr+Ci,dr+Ji]],className:it.lineSecond.name}]);return Vi(oe,q),qs}function Vt(oe,q,X,Y){var le=X.showArrow,Pe=X.showTrunc,We=X.lineArrow,He=X.lineArrowOffset,et=X.lineArrowSize,_t;if(q==="arc"?_t=oe.select(it.line.class):Pe?_t=oe.select(it.lineSecond.class):_t=oe.select(it.line.class),!le||!We||X.type==="arc"&&di(X.startAngle,X.endAngle)){var Kt=_t.node();Kt&&(Kt.style.markerEnd=void 0);return}var nn=(0,jt.S)(We);nn.attr(Y),(0,hn.b)(nn,et,!0),_t.style("markerEnd",nn).style("markerEndOffset",-He)}function gt(oe,q,X){var Y=q.type,le,Pe=(0,E.zs)(q,"line");return Y==="linear"?le=Yt(oe,q,ze(Pe,"arrow"),X):le=Ir(oe,q,ze(Pe,"arrow"),X),Vt(oe,Y,q,Pe),le}function yt(oe,q){return dt(oe,q.gridDirection,q)}function Ft(oe){var q=oe.type,X=oe.gridCenter;return q==="linear"?X:X||oe.center}function rn(oe,q){var X=q.gridLength;return oe.map(function(Y,le){var Pe=Y.value,We=(0,m.CR)(er(Pe,q),2),He=We[0],et=We[1],_t=(0,m.CR)(cn(yt(Pe,q),X),2),Kt=_t[0],nn=_t[1];return{id:le,points:[[He,et],[He+Kt,et+nn]]}})}function Dt(oe,q){var X=q.gridControlAngles,Y=Ft(q);if(!Y)throw new Error("grid center is not provide");if(oe.length<2)throw new Error("Invalid grid data");if(!X||X.length===0)throw new Error("Invalid gridControlAngles");var le=(0,m.CR)(Y,2),Pe=le[0],We=le[1];return oe.map(function(He,et){var _t=He.value,Kt=(0,m.CR)(er(_t,q),2),nn=Kt[0],bn=Kt[1],Nn=(0,m.CR)([nn-Pe,bn-We],2),$n=Nn[0],Cr=Nn[1],dr=[];return X.forEach(function(jr){var Yr=On(jr),li=(0,m.CR)([Math.cos(Yr),Math.sin(Yr)],2),Ci=li[0],Ji=li[1],Li=$n*Ci-Cr*Ji+Pe,ds=$n*Ji+Cr*Ci+We;dr.push([Li,ds])}),{points:dr,id:et}})}function jn(oe,q,X,Y){var le=X.classNamePrefix,Pe=(0,E.zs)(X,"grid"),We=Pe.type,He=Pe.areaFill,et=Ft(X),_t=ct(q,X.gridFilter),Kt=We==="segment"?rn(_t,X):Dt(_t,X),nn=(0,m.pi)((0,m.pi)({},Pe),{center:et,areaFill:(0,$t.Z)(He)?_t.map(function(bn,Nn){return(0,Pt.S)(He,[bn,Nn,_t])}):He,animate:Y,data:Kt});return oe.selectAll(it.grid.class).data([1]).join(function(bn){var Nn=bn.append(function(){return new ft({style:nn})}).attr("className",it.grid.name);return an(Nn,it.grid,Te.grid,le),Nn},function(bn){return bn.transition(function(){return this.update(nn)})},function(bn){return bn.remove()}).transitions()}function Zn(oe,q,X,Y,le){return Y===void 0&&(Y=!0),le===void 0&&(le=!1),Y&&oe===q||le&&oe===X?!0:oe>q&&oe0,Yr=Y-et,li=le-_t,Ci=bn*li-Nn*Yr;if(Ci<0===jr)return!1;var Ji=$n*li-Cr*Yr;return!(Ji<0===jr||Ci>dr===jr||Ji>dr===jr)}function ut(oe,q){var X=[[oe[0],oe[1],oe[2],oe[3]],[oe[2],oe[3],oe[4],oe[5]],[oe[4],oe[5],oe[6],oe[7]],[oe[6],oe[7],oe[0],oe[1]]];return X.some(function(Y){return Ut(q,Y)})}var Lt={lineToLine:Ut,intersectBoxLine:ut,getBounds:Ke};function qt(oe,q,X){var Y,le,Pe=Ke(oe,X).flat(1),We=Ke(q,X).flat(1),He=[[Pe[0],Pe[1],Pe[2],Pe[3]],[Pe[0],Pe[1],Pe[4],Pe[5]],[Pe[4],Pe[5],Pe[6],Pe[7]],[Pe[2],Pe[3],Pe[6],Pe[7]]];try{for(var et=(0,m.XA)(He),_t=et.next();!_t.done;_t=et.next()){var Kt=_t.value;if(ut(We,Kt))return!0}}catch(nn){Y={error:nn}}finally{try{_t&&!_t.done&&(le=et.return)&&le.call(et)}finally{if(Y)throw Y.error}}return!1}function Tn(oe,q){var X=oe.type,Y=oe.labelDirection,le=oe.crossSize;if(!le)return!1;if(X==="arc"){var Pe=oe.center,We=oe.radius,He=(0,m.CR)(Pe,2),et=He[0],_t=He[1],Kt=Y==="negative"?0:le,nn=-We-Kt,bn=We+Kt,Nn=(0,m.CR)((0,me.j)(q),4),$n=Nn[0],Cr=Nn[1],dr=Nn[2],jr=Nn[3];return new $e(et+nn-jr,_t+nn-$n,et+bn+Cr,_t+bn+dr)}var Yr=(0,m.CR)(oe.startPos,2),li=Yr[0],Ci=Yr[1],Ji=(0,m.CR)(oe.endPos,2),Li=Ji[0],ds=Ji[1],Vs=(0,m.CR)(hr(oe)?[-q,0,q,0]:[0,q,0,-q],4),ba=Vs[0],qa=Vs[1],mo=Vs[2],Na=Vs[3],Xs=Tt(0,oe),_a=cn(Xs,le),pi=new $e(li,Ci,Li,ds);return pi.x1+=Na,pi.y1+=ba,pi.x2+=qa+_a[0],pi.y2+=mo+_a[1],pi}function Rn(oe,q,X){var Y,le,Pe=q.crossPadding,We=new Set,He=null,et=Tn(q,Pe),_t=function($n){return et?at(et,$n):!0},Kt=function($n,Cr){return!$n||!$n.firstChild?!0:!qt($n.firstChild,Cr.firstChild,(0,me.j)(X))};try{for(var nn=(0,m.XA)(oe),bn=nn.next();!bn.done;bn=nn.next()){var Nn=bn.value;_t(Nn)?!He||Kt(He,Nn)?He=Nn:(We.add(He),We.add(Nn)):We.add(Nn)}}catch($n){Y={error:$n}}finally{try{bn&&!bn.done&&(le=nn.return)&&le.call(nn)}finally{if(Y)throw Y.error}}return Array.from(We)}function ir(oe,q){return q===void 0&&(q={}),(0,Ae.Z)(oe)?0:typeof oe=="number"?oe:Math.floor((0,V.Ux)(oe,q))}function Ln(oe,q,X,Y){if(!(oe.length<=0)){var le=q.suffix,Pe=le===void 0?"...":le,We=q.minLength,He=q.maxLength,et=He===void 0?1/0:He,_t=q.step,Kt=_t===void 0?" ":_t,nn=q.margin,bn=nn===void 0?[0,0,0,0]:nn,Nn=(0,V.qT)(Y.getTextShape(oe[0])),$n=ir(Kt,Nn),Cr=We?ir(We,Nn):$n,dr=ir(et,Nn);((0,Ae.Z)(dr)||dr===1/0)&&(dr=Math.max.apply(null,oe.map(function(_a){return _a.getBBox().width})));for(var jr=oe.slice(),Yr=(0,m.CR)(bn,4),li=Yr[0],Ci=li===void 0?0:li,Ji=Yr[1],Li=Ji===void 0?0:Ji,ds=Yr[2],Vs=ds===void 0?Ci:ds,ba=Yr[3],qa=ba===void 0?Li:ba,mo=function(_a){if(jr.forEach(function(pi){Y.ellipsis(Y.getTextShape(pi),_a,Pe)}),jr=Rn(oe,X,bn),jr.length<1)return{value:void 0}},Na=dr;Na>Cr+$n;Na-=$n){var Xs=mo(Na);if(typeof Xs=="object")return Xs.value}}}var Gn=function(oe){return oe!==void 0&&oe!=null&&!Number.isNaN(oe)},_r=v(2080),un={parity:function(oe,q){var X=q.seq,Y=X===void 0?2:X;return oe.filter(function(le,Pe){return Pe%Y?((0,Qr.Cp)(le),!1):!0})}},Bn=function(oe){return oe.filter(Gn)};function lr(oe,q,X,Y){var le=oe.length,Pe=q.keepHeader,We=q.keepTail;if(!(le<=1||le===2&&Pe&&We)){var He=un.parity,et=function(li){return li.forEach(Y.show),li},_t=2,Kt=oe.slice(),nn=oe.slice(),bn=Math.min.apply(Math,(0,m.ev)([1],(0,m.CR)(oe.map(function(li){return li.getBBox().width})),!1));if(X.type==="linear"&&(Mr(X)||hr(X))){var Nn=(0,_r._v)(oe[0]).left,$n=(0,_r._v)(oe[le-1]).right,Cr=Math.abs($n-Nn)||1;_t=Math.max(Math.floor(le*bn/Cr),_t)}var dr,jr;for(Pe&&(dr=Kt.splice(0,1)[0]),We&&(jr=Kt.splice(-1,1)[0],Kt.reverse()),et(Kt);_tHe)){if(X.type==="linear"&&Mr(X)){if(jr(He),Cr())return}else for(var Yr=$n;Yr<=He;Yr++)if(jr(Yr),Cr())return;_t&&jr(Nn)}}var Wr=new Map([["hide",lr],["rotate",cr],["ellipsis",Ln],["wrap",zr]]);function Vr(oe,q,X){return q.labelOverlap.length<1?!1:X==="hide"?!(0,J.X)(oe[0]):X==="rotate"?!oe.some(function(Y){var le;return!!(!((le=Y.attr("transform"))===null||le===void 0)&&le.includes("rotate"))}):X==="ellipsis"||X==="wrap"?oe.filter(function(Y){return Y.querySelector("text")}).length>=1:!0}function wi(oe,q,X,Y){var le=q.labelOverlap,Pe=le===void 0?[]:le;Pe.length&&Pe.forEach(function(We){var He=We.type,et=Wr.get(He);Vr(oe,q,He)&&(et==null||et(oe,We,q,Y,X))})}function Zr(){for(var oe=[],q=0;qbn[0]&&Vs0&&Number.isFinite(oe)?q:X},Nl=function(oe,q){return oe*q},ql=function(oe,q){return oe/2+(q||0)/2},lc=function(oe){return oe};class Pl{constructor(q){this.options=(0,Ze.Z)({},this.getDefaultOptions()),this.update(q)}getOptions(){return this.options}update(q={}){this.options=(0,Ze.Z)({},this.options,q),this.rescale(q)}rescale(q){}}function So(oe,q){return q-oe?X=>(X-oe)/(q-oe):X=>.5}function To(oe,...q){return q.reduce((X,Y)=>le=>X(Y(le)),oe)}function Wc(oe,q,X,Y,le){let Pe=X||0,We=Y||oe.length;const He=le||(et=>et);for(;Peq?We=et:Pe=et+1}return Pe}var vc=v(75196),bo=v.n(vc);function Zc(oe,q,X){let Y=X;return Y<0&&(Y+=1),Y>1&&(Y-=1),Y<1/6?oe+(q-oe)*6*Y:Y<1/2?q:Y<2/3?oe+(q-oe)*(2/3-Y)*6:oe}function Nu(oe){const q=oe[0]/360,X=oe[1]/100,Y=oe[2]/100,le=oe[3];if(X===0)return[Y*255,Y*255,Y*255,le];const Pe=Y<.5?Y*(1+X):Y+X-Y*X,We=2*Y-Pe,He=Zc(We,Pe,q+1/3),et=Zc(We,Pe,q),_t=Zc(We,Pe,q-1/3);return[He*255,et*255,_t*255,le]}function Oc(oe){const q=bo().get(oe);if(!q)return null;const{model:X,value:Y}=q;return X==="rgb"?Y:X==="hsl"?Nu(Y):null}const Bc=(oe,q)=>X=>oe*(1-X)+q*X,yc=(oe,q)=>{const X=Oc(oe),Y=Oc(q);return X===null||Y===null?X?()=>oe:()=>q:le=>{const Pe=new Array(4);for(let Kt=0;Kt<4;Kt+=1){const nn=X[Kt],bn=Y[Kt];Pe[Kt]=nn*(1-le)+bn*le}const[We,He,et,_t]=Pe;return`rgba(${Math.round(We)}, ${Math.round(He)}, ${Math.round(et)}, ${_t})`}},fo=(oe,q)=>typeof oe=="number"&&typeof q=="number"?Bc(oe,q):typeof oe=="string"&&typeof q=="string"?yc(oe,q):()=>oe,ru=(oe,q)=>{const X=Bc(oe,q);return Y=>Math.round(X(Y))};var ol=v(49527);function us(oe){return oe===null}function as(oe){return!(0,ol.Z)(oe)&&!us(oe)&&!Number.isNaN(oe)}const Ws=Math.sqrt(50),ia=Math.sqrt(10),oo=Math.sqrt(2);function ta(oe,q,X){const Y=(q-oe)/Math.max(0,X),le=Math.floor(Math.log(Y)/Math.LN10),Pe=Y/IA(10,le);return le>=0?(Pe>=Ws?10:Pe>=ia?5:Pe>=oo?2:1)*IA(10,le):-IA(10,-le)/(Pe>=Ws?10:Pe>=ia?5:Pe>=oo?2:1)}function Oi(oe,q,X){const Y=Math.abs(q-oe)/Math.max(0,X);let le=IA(10,Math.floor(Math.log(Y)/Math.LN10));const Pe=Y/le;return Pe>=Ws?le*=10:Pe>=ia?le*=5:Pe>=oo&&(le*=2),q{const Y=[oe,q];let le=0,Pe=Y.length-1,We=Y[le],He=Y[Pe],et;return He0?(We=Math.floor(We/et)*et,He=Math.ceil(He/et)*et,et=ta(We,He,X)):et<0&&(We=Math.ceil(We*et)/et,He=Math.floor(He*et)/et,et=ta(We,He,X)),et>0?(Y[le]=Math.floor(We/et)*et,Y[Pe]=Math.ceil(He/et)*et):et<0&&(Y[le]=Math.ceil(We*et)/et,Y[Pe]=Math.floor(He*et)/et),Y};function cc(oe,q){const X=qq?oe:q;return le=>Math.min(Math.max(X,le),Y)}const ll=(oe,q,X)=>{const[Y,le]=oe,[Pe,We]=q;let He,et;return Y{const Y=Math.min(oe.length,q.length)-1,le=new Array(Y),Pe=new Array(Y),We=oe[0]>oe[Y],He=We?[...oe].reverse():oe,et=We?[...q].reverse():q;for(let _t=0;_t{const Kt=Wc(oe,_t,1,Y)-1,nn=le[Kt],bn=Pe[Kt];return To(bn,nn)(_t)}},Cl=(oe,q,X,Y)=>(Math.min(oe.length,q.length)>2?Jl:ll)(oe,q,Y?ru:X);class iu extends Pl{getDefaultOptions(){return{domain:[0,1],range:[0,1],nice:!1,clamp:!1,round:!1,interpolate:Bc,tickCount:5}}map(q){return as(q)?this.output(q):this.options.unknown}invert(q){return as(q)?this.input(q):this.options.unknown}nice(){if(!this.options.nice)return;const[q,X,Y,...le]=this.getTickMethodOptions();this.options.domain=this.chooseNice()(q,X,Y,...le)}getTicks(){const{tickMethod:q}=this.options,[X,Y,le,...Pe]=this.getTickMethodOptions();return q(X,Y,le,...Pe)}getTickMethodOptions(){const{domain:q,tickCount:X}=this.options,Y=q[0],le=q[q.length-1];return[Y,le,X]}chooseNice(){return jo}rescale(){this.nice();const[q,X]=this.chooseTransforms();this.composeOutput(q,this.chooseClamp(q)),this.composeInput(q,X,this.chooseClamp(X))}chooseClamp(q){const{clamp:X,range:Y}=this.options,le=this.options.domain.map(q),Pe=Math.min(le.length,Y.length);return X?cc(le[0],le[Pe-1]):lc}composeOutput(q,X){const{domain:Y,range:le,round:Pe,interpolate:We}=this.options,He=Cl(Y.map(q),le,We,Pe);this.output=To(He,X,q)}composeInput(q,X,Y){const{domain:le,range:Pe}=this.options,We=Cl(Pe,le.map(q),Bc);this.input=To(X,Y,We)}}const Pu=(oe,q,X)=>{let Y,le,Pe=oe,We=q;if(Pe===We&&X>0)return[Pe];let He=ta(Pe,We,X);if(He===0||!Number.isFinite(He))return[];if(He>0){Pe=Math.ceil(Pe/He),We=Math.floor(We/He),le=new Array(Y=Math.ceil(We-Pe+1));for(let et=0;et`${q}`:typeof oe=="object"?q=>JSON.stringify(q):q=>q}class Fo extends Pl{getDefaultOptions(){return{domain:[],range:[],unknown:kl}}constructor(q){super(q)}map(q){return this.domainIndexMap.size===0&&Ao(this.domainIndexMap,this.getDomain(),this.domainKey),Vo({value:this.domainKey(q),mapper:this.domainIndexMap,from:this.getDomain(),to:this.getRange(),notFoundReturn:this.options.unknown})}invert(q){return this.rangeIndexMap.size===0&&Ao(this.rangeIndexMap,this.getRange(),this.rangeKey),Vo({value:this.rangeKey(q),mapper:this.rangeIndexMap,from:this.getRange(),to:this.getDomain(),notFoundReturn:this.options.unknown})}rescale(q){const[X]=this.options.domain,[Y]=this.options.range;if(this.domainKey=cl(X),this.rangeKey=cl(Y),!this.rangeIndexMap){this.rangeIndexMap=new Map,this.domainIndexMap=new Map;return}(!q||q.range)&&this.rangeIndexMap.clear(),(!q||q.domain||q.compare)&&(this.domainIndexMap.clear(),this.sortedDomain=void 0)}clone(){return new Fo(this.options)}getRange(){return this.options.range}getDomain(){if(this.sortedDomain)return this.sortedDomain;const{domain:q,compare:X}=this.options;return this.sortedDomain=X?[...q].sort(X):q,this.sortedDomain}}function ho(oe){const q=Math.min(...oe);return oe.map(X=>X/q)}function po(oe,q){const X=oe.length,Y=q-X;return Y>0?[...oe,...new Array(Y).fill(1)]:Y<0?oe.slice(0,q):oe}function mu(oe){return Math.round(oe*1e12)/1e12}function ec(oe){const{domain:q,range:X,paddingOuter:Y,paddingInner:le,flex:Pe,round:We,align:He}=oe,et=q.length,_t=po(Pe,et),[Kt,nn]=X,bn=nn-Kt,Nn=2/et*Y+1-1/et*le,$n=bn/Nn,Cr=$n*le/et,dr=$n-et*Cr,jr=ho(_t),Yr=jr.reduce((Na,Xs)=>Na+Xs),li=dr/Yr,Ci=new sd(q.map((Na,Xs)=>{const _a=jr[Xs]*li;return[Na,We?Math.floor(_a):_a]})),Ji=new sd(q.map((Na,Xs)=>{const pi=jr[Xs]*li+Cr;return[Na,We?Math.floor(pi):pi]})),Li=Array.from(Ji.values()).reduce((Na,Xs)=>Na+Xs),Vs=(bn-(Li-Li/et*le))*He,ba=Kt+Vs;let qa=We?Math.round(ba):ba;const mo=new Array(et);for(let Na=0;Nabn+li*Kt);return{valueStep:Kt,valueBandWidth:nn,adjustedRange:jr}}class go extends Fo{getDefaultOptions(){return{domain:[],range:[0,1],align:.5,round:!1,paddingInner:0,paddingOuter:0,padding:0,unknown:kl,flex:[]}}constructor(q){super(q)}clone(){return new go(this.options)}getStep(q){return this.valueStep===void 0?1:typeof this.valueStep=="number"?this.valueStep:q===void 0?Array.from(this.valueStep.values())[0]:this.valueStep.get(q)}getBandWidth(q){return this.valueBandWidth===void 0?1:typeof this.valueBandWidth=="number"?this.valueBandWidth:q===void 0?Array.from(this.valueBandWidth.values())[0]:this.valueBandWidth.get(q)}getRange(){return this.adjustedRange}getPaddingInner(){const{padding:q,paddingInner:X}=this.options;return q>0?q:X}getPaddingOuter(){const{padding:q,paddingOuter:X}=this.options;return q>0?q:X}rescale(){super.rescale();const{align:q,domain:X,range:Y,round:le,flex:Pe}=this.options,{adjustedRange:We,valueBandWidth:He,valueStep:et}=Lc({align:q,range:Y,round:le,flex:Pe,paddingInner:this.getPaddingInner(),paddingOuter:this.getPaddingOuter(),domain:X});this.valueStep=et,this.valueBandWidth=He,this.adjustedRange=We}}var Ou=v(37547),fh=v(1933),ml=v(39934),kh=function(oe){(0,m.ZT)(q,oe);function q(X){var Y=this,le=X.style,Pe=(0,m._T)(X,["style"]);return Y=oe.call(this,(0,Ze.Z)({},{type:"column"},(0,m.pi)({style:le},Pe)))||this,Y.columnsGroup=new R.ZA({name:"columns"}),Y.appendChild(Y.columnsGroup),Y.render(),Y}return q.prototype.render=function(){var X=this.attributes,Y=X.columns,le=X.x,Pe=X.y;this.columnsGroup.style.transform="translate(".concat(le,", ").concat(Pe,")"),(0,Me.Ys)(this.columnsGroup).selectAll(".column").data(Y.flat()).join(function(We){return We.append("rect").attr("className","column").each(function(He){this.attr(He)})},function(We){return We.each(function(He){this.attr(He)})},function(We){return We.remove()})},q.prototype.update=function(X){this.attr((0,_.n)({},this.attributes,X)),this.render()},q.prototype.clear=function(){this.removeChildren()},q}(R.s$),eo=function(oe){(0,m.ZT)(q,oe);function q(X){var Y=this,le=X.style,Pe=(0,m._T)(X,["style"]);return Y=oe.call(this,(0,Ze.Z)({},{type:"lines"},(0,m.pi)({style:le},Pe)))||this,Y.linesGroup=Y.appendChild(new R.ZA),Y.areasGroup=Y.appendChild(new R.ZA),Y.render(),Y}return q.prototype.render=function(){var X=this.attributes,Y=X.lines,le=X.areas,Pe=X.x,We=X.y;this.style.transform="translate(".concat(Pe,", ").concat(We,")"),Y&&this.renderLines(Y),le&&this.renderAreas(le)},q.prototype.clear=function(){this.linesGroup.removeChildren(),this.areasGroup.removeChildren()},q.prototype.update=function(X){this.attr((0,_.n)({},this.attributes,X)),this.render()},q.prototype.renderLines=function(X){(0,Me.Ys)(this.linesGroup).selectAll(".line").data(X).join(function(Y){return Y.append("path").attr("className","line").each(function(le){this.attr(le)})},function(Y){return Y.each(function(le){this.attr(le)})},function(Y){return Y.remove()})},q.prototype.renderAreas=function(X){(0,Me.Ys)(this.linesGroup).selectAll(".area").data(X).join(function(Y){return Y.append("path").attr("className","area").each(function(le){this.attr(le)})},function(Y){return Y.each(function(le){this.style(le)})},function(Y){return Y.remove()})},q}(R.s$),Ma=v(62099);function sr(oe,q,X,Y){var le,Pe=[],We=!!Y,He,et,_t=[1/0,1/0],Kt=[-1/0,-1/0],nn,bn,Nn;if(We){le=(0,m.CR)(Y,2),_t=le[0],Kt=le[1];for(var $n=0,Cr=oe.length;$nWe&&(X=(0,m.CR)([We,He],2),He=X[0],We=X[1]),oe.map(function(et){var _t=et.map(function(Kt,nn){return[Y.map(nn),(0,O.Z)(le.map(Kt),He,We)]});return _t})}function Ko(oe,q){q===void 0&&(q=!1);var X=q?oe.length-1:0,Y=oe.map(function(le,Pe){return(0,m.ev)([Pe===X?"M":"L"],(0,m.CR)(le),!1)});return q?Y.reverse():Y}function La(oe,q){if(q===void 0&&(q=!1),oe.length<=2)return Ko(oe);for(var X=[],Y=oe.length,le=0;le=0;le-=1){var Pe=oe[le],We=Ko(Pe),He=void 0;if(le===0)He=Io(We,q,X);else{var et=oe[le-1],_t=Ko(et,!0);_t[0][0]="L",He=(0,m.ev)((0,m.ev)((0,m.ev)([],(0,m.CR)(We),!1),(0,m.CR)(_t),!1),[["Z"]],!1)}Y.push(He)}return Y}function zl(oe,q,X){for(var Y=[],le=oe.length-1;le>=0;le-=1){var Pe=oe[le],We=La(Pe),He=void 0;if(le===0)He=Io(We,q,X);else{var et=oe[le-1],_t=La(et,!0),Kt=Pe[0];_t[0][0]="L",He=(0,m.ev)((0,m.ev)((0,m.ev)([],(0,m.CR)(We),!1),(0,m.CR)(_t),!1),[(0,m.ev)(["M"],(0,m.CR)(Kt),!1),["Z"]],!1)}Y.push(He)}return Y}var tc=v(2078),Ta=function(oe,q){if((0,ml.Z)(oe)){for(var X,Y=1/0,le=0;leY&&(X=Pe,Y=We)}return X}};function NA(oe){return oe.length===0?[0,0]:[(0,tc.Z)(Ta(oe,function(q){return(0,tc.Z)(q)||0})),(0,ju.Z)(Lu(oe,function(q){return(0,ju.Z)(q)||0}))]}function Ku(oe){for(var q=(0,Ou.Z)(oe),X=q[0].length,Y=(0,m.CR)([Array(X).fill(0),Array(X).fill(0)],2),le=Y[0],Pe=Y[1],We=0;We=0?(He[et]+=le[et],le[et]=He[et]):(He[et]+=Pe[et],Pe[et]=He[et]);return q}var zh=function(oe){(0,m.ZT)(q,oe);function q(X){return oe.call(this,X,{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(q.prototype,"rawData",{get:function(){var X=this.attributes.data;if(!X||(X==null?void 0:X.length)===0)return[[]];var Y=(0,Ou.Z)(X);return(0,fh.Z)(Y[0])?[Y]:Y},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"data",{get:function(){return this.attributes.isStack?Ku(this.rawData):this.rawData},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"scales",{get:function(){return this.createScales(this.data)},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"baseline",{get:function(){var X=this.scales.y,Y=(0,m.CR)(X.getOptions().domain||[0,0],2),le=Y[0],Pe=Y[1];return Pe<0?X.map(Pe):X.map(le<0?0:le)},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"containerShape",{get:function(){var X=this.attributes,Y=X.width,le=X.height;return{width:Y,height:le}},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"linesStyle",{get:function(){var X=this,Y=this.attributes,le=Y.type,Pe=Y.isStack,We=Y.smooth;if(le!=="line")throw new Error("linesStyle can only be used in line type");var He=(0,E.zs)(this.attributes,"area"),et=(0,E.zs)(this.attributes,"line"),_t=this.containerShape.width,Kt=this.data;if(Kt[0].length===0)return{lines:[],areas:[]};var nn=this.scales,bn=nn.x,Nn=nn.y,$n=$s(Kt,{type:"line",x:bn,y:Nn}),Cr=[];if(He){var dr=this.baseline;Pe?Cr=We?zl($n,_t,dr):Rc($n,_t,dr):Cr=au($n,We,_t,dr)}return{lines:$n.map(function(jr,Yr){return(0,m.pi)({stroke:X.getColor(Yr),d:We?La(jr):Ko(jr)},et)}),areas:Cr.map(function(jr,Yr){return(0,m.pi)({d:jr,fill:X.getColor(Yr)},He)})}},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"columnsStyle",{get:function(){var X=this,Y=(0,E.zs)(this.attributes,"column"),le=this.attributes,Pe=le.isStack,We=le.type,He=le.scale;if(We!=="column")throw new Error("columnsStyle can only be used in column type");var et=this.containerShape.height,_t=this.rawData;if(!_t)return{columns:[]};Pe&&(_t=Ku(_t));var Kt=this.createScales(_t),nn=Kt.x,bn=Kt.y,Nn=(0,m.CR)(NA(_t),2),$n=Nn[0],Cr=Nn[1],dr=new Bo({domain:[0,Cr-($n>0?0:$n)],range:[0,et*He]}),jr=nn.getBandWidth(),Yr=this.rawData;return{columns:_t.map(function(li,Ci){return li.map(function(Ji,Li){var ds=jr/_t.length,Vs=function(){return{x:nn.map(Li)+ds*Ci,y:Ji>=0?bn.map(Ji):bn.map(0),width:ds,height:dr.map(Math.abs(Ji))}},ba=function(){return{x:nn.map(Li),y:bn.map(Ji),width:jr,height:dr.map(Yr[Ci][Li])}};return(0,m.pi)((0,m.pi)({fill:X.getColor(Ci)},Y),Pe?ba():Vs())})})}},enumerable:!1,configurable:!0}),q.prototype.render=function(X,Y){(0,Me.OV)(Y,".container","rect").attr("className","container").node();var le=X.type,Pe=X.x,We=X.y,He="spark".concat(le),et=(0,m.pi)({x:Pe,y:We},le==="line"?this.linesStyle:this.columnsStyle);(0,Me.Ys)(Y).selectAll(".spark").data([le]).join(function(_t){return _t.append(function(Kt){return Kt==="line"?new eo({className:He,style:et}):new kh({className:He,style:et})}).attr("className","spark ".concat(He))},function(_t){return _t.update(et)},function(_t){return _t.remove()})},q.prototype.getColor=function(X){var Y=this.attributes.color;return(0,ml.Z)(Y)?Y[X%Y.length]:(0,$t.Z)(Y)?Y.call(null,X):Y},q.prototype.createScales=function(X){var Y,le,Pe=this.attributes,We=Pe.type,He=Pe.scale,et=Pe.range,_t=et===void 0?[]:et,Kt=Pe.spacing,nn=this.containerShape,bn=nn.width,Nn=nn.height,$n=(0,m.CR)(NA(X),2),Cr=$n[0],dr=$n[1],jr=new Bo({domain:[(Y=_t[0])!==null&&Y!==void 0?Y:Cr,(le=_t[1])!==null&&le!==void 0?le:dr],range:[Nn,Nn*(1-He)]});return We==="line"?{type:We,x:new Bo({domain:[0,X[0].length-1],range:[0,bn]}),y:jr}:{type:We,x:new go({domain:X[0].map(function(Yr,li){return li}),range:[0,bn],paddingInner:Kt,paddingOuter:Kt/2,align:.5}),y:jr}},q.tag="sparkline",q}(B.w),PA={fill:"#fff",lineWidth:1,radius:2,size:10,stroke:"#bfbfbf",strokeOpacity:1,zIndex:0},ad={fill:"#000",fillOpacity:.45,fontSize:12,textAlign:"center",textBaseline:"middle",zIndex:1},od={x:0,y:0,orientation:"horizontal",showLabel:!0,type:"start"},nl=(0,Ye.A)({foreground:"foreground",handle:"handle",selection:"selection",sparkline:"sparkline",sparklineGroup:"sparkline-group",track:"track",brushArea:"brush-area"},"slider"),$c=(0,Ye.A)({labelGroup:"label-group",label:"label",iconGroup:"icon-group",icon:"icon",iconRect:"icon-rect",iconLine:"icon-line"},"handle"),ld=function(oe){(0,m.ZT)(q,oe);function q(){return oe!==null&&oe.apply(this,arguments)||this}return q.prototype.render=function(X,Y){var le=X.x,Pe=X.y,We=X.size,He=We===void 0?10:We,et=X.radius,_t=et===void 0?He/4:et,Kt=X.orientation,nn=X.classNamePrefix,bn=(0,m._T)(X,["x","y","size","radius","orientation","classNamePrefix"]),Nn=He,$n=Nn*2.4,Cr=nn?"".concat($c.iconRect.name," ").concat(nn,"handle-icon-rect"):$c.iconRect.name,dr=function(Li){return nn?"".concat($c.iconLine,"-").concat(Li," ").concat(nn,"handle-icon-line"):"".concat($c.iconLine,"-").concat(Li)},jr=(0,Me.Ys)(Y).maybeAppendByClassName($c.iconRect,"rect").attr("className",Cr).styles((0,m.pi)((0,m.pi)({},bn),{width:Nn,height:$n,radius:_t,x:le-Nn/2,y:Pe-$n/2,transformOrigin:"center"})),Yr=le+1/3*Nn-Nn/2,li=le+2/3*Nn-Nn/2,Ci=Pe+1/4*$n-$n/2,Ji=Pe+3/4*$n-$n/2;jr.maybeAppendByClassName("".concat($c.iconLine,"-1"),"line").attr("className",dr(1)).styles((0,m.pi)({x1:Yr,x2:Yr,y1:Ci,y2:Ji},bn)),jr.maybeAppendByClassName("".concat($c.iconLine,"-2"),"line").attr("className",dr(2)).styles((0,m.pi)({x1:li,x2:li,y1:Ci,y2:Ji},bn)),Kt==="vertical"&&(jr.node().style.transform="rotate(90)")},q}(B.w),FA=function(oe){(0,m.ZT)(q,oe);function q(X){return oe.call(this,X,od)||this}return q.prototype.renderLabel=function(X){var Y=this,le=this.attributes,Pe=le.x,We=le.y,He=le.showLabel,et=(0,E.zs)(this.attributes,"label"),_t=et.x,Kt=_t===void 0?0:_t,nn=et.y,bn=nn===void 0?0:nn,Nn=et.transform,$n=et.transformOrigin,Cr=(0,m._T)(et,["x","y","transform","transformOrigin"]),dr=(0,m.CR)((0,E.Hm)(Cr,[]),2),jr=dr[0],Yr=dr[1],li=(0,Me.Ys)(X).maybeAppendByClassName($c.labelGroup,"g").styles(Yr),Ci=(0,m.pi)((0,m.pi)({},ad),jr),Ji=Ci.text,Li=(0,m._T)(Ci,["text"]);(0,fe.z)(!!He,li,function(ds){Y.label=ds.maybeAppendByClassName($c.label,"text").styles((0,m.pi)((0,m.pi)({},Li),{x:Pe+Kt,y:We+bn,transform:Nn,transformOrigin:$n,text:"".concat(Ji)})),Y.label.on("mousedown",function(Vs){Vs.stopPropagation()}),Y.label.on("touchstart",function(Vs){Vs.stopPropagation()})})},q.prototype.renderIcon=function(X){var Y=this.attributes,le=Y.x,Pe=Y.y,We=Y.orientation,He=Y.type,et=Y.classNamePrefix,_t=(0,m.pi)((0,m.pi)({x:le,y:Pe,orientation:We,classNamePrefix:et},PA),(0,E.zs)(this.attributes,"icon")),Kt=this.attributes.iconShape,nn=Kt===void 0?function(){return new ld({style:_t})}:Kt,bn=(0,Me.Ys)(X).maybeAppendByClassName($c.iconGroup,"g");bn.selectAll($c.icon.class).data([nn]).join(function(Nn){return Nn.append(typeof nn=="string"?nn:function(){return nn(He)}).attr("className",$c.icon.name)},function(Nn){return Nn.update(_t)},function(Nn){return Nn.remove()})},q.prototype.render=function(X,Y){this.renderIcon(Y),this.renderLabel(Y)},q}(B.w),Af=function(oe){(0,m.ZT)(q,oe);function q(X){var Y=oe.call(this,X,(0,m.pi)((0,m.pi)((0,m.pi)({x:0,y:0,animate:{duration:100,fill:"both"},brushable:!0,formatter:function(le){return le.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},(0,E.dq)(od,"handle")),(0,E.dq)(PA,"handleIcon")),(0,E.dq)(ad,"handleLabel")))||this;return Y.range=[0,1],Y.onDragStart=function(le){return function(Pe){Pe.stopPropagation(),Y.target=le,Y.prevPos=Y.getOrientVal(wa(Pe));var We=Y.availableSpace,He=We.x,et=We.y,_t=Y.getBBox(),Kt=_t.x,nn=_t.y;Y.selectionStartPos=Y.getRatio(Y.prevPos-Y.getOrientVal([He,et])-Y.getOrientVal([+Kt,+nn])),Y.selectionWidth=0,document.addEventListener("pointermove",Y.onDragging),document.addEventListener("pointerup",Y.onDragEnd)}},Y.onDragging=function(le){var Pe=Y.attributes,We=Pe.slidable,He=Pe.brushable,et=Pe.type;le.stopPropagation();var _t=Y.getOrientVal(wa(le)),Kt=_t-Y.prevPos;if(Kt){var nn=Y.getRatio(Kt);switch(Y.target){case"start":We&&Y.setValuesOffset(nn);break;case"end":We&&Y.setValuesOffset(0,nn);break;case"selection":We&&Y.setValuesOffset(nn,nn);break;case"track":if(!He)return;Y.selectionWidth+=nn,et==="range"?Y.innerSetValues([Y.selectionStartPos,Y.selectionStartPos+Y.selectionWidth].sort(),!0):Y.innerSetValues([0,Y.selectionStartPos+Y.selectionWidth],!0);break;default:break}Y.prevPos=_t}},Y.onDragEnd=function(){document.removeEventListener("pointermove",Y.onDragging),document.removeEventListener("pointermove",Y.onDragging),document.removeEventListener("pointerup",Y.onDragEnd),Y.target="",Y.updateHandlesPosition(!1)},Y.onValueChange=function(le){var Pe=Y.attributes,We=Pe.onChange,He=Pe.type,et=He==="range"?le:le[1],_t=He==="range"?Y.getValues():Y.getValues()[1],Kt=new R.Aw("valuechange",{detail:{oldValue:et,value:_t}});Y.dispatchEvent(Kt),We==null||We(_t)},Y.selectionStartPos=0,Y.selectionWidth=0,Y.prevPos=0,Y.target="",Y}return Object.defineProperty(q.prototype,"values",{get:function(){return this.attributes.values},set:function(X){this.attributes.values=this.clampValues(X)},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"sparklineStyle",{get:function(){var X=this.attributes.orientation;if(X!=="horizontal")return null;var Y=(0,E.zs)(this.attributes,"sparkline");return(0,m.pi)((0,m.pi)({zIndex:0},this.availableSpace),Y)},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"shape",{get:function(){var X=this.attributes,Y=X.trackLength,le=X.trackSize,Pe=(0,m.CR)(this.getOrientVal([[Y,le],[le,Y]]),2),We=Pe[0],He=Pe[1];return{width:We,height:He}},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"availableSpace",{get:function(){var X=this.attributes,Y=X.x,le=X.y,Pe=X.padding,We=(0,m.CR)((0,me.j)(Pe),4),He=We[0],et=We[1],_t=We[2],Kt=We[3],nn=this.shape,bn=nn.width,Nn=nn.height;return{x:Kt,y:He,width:bn-(Kt+et),height:Nn-(He+_t)}},enumerable:!1,configurable:!0}),q.prototype.getValues=function(){return this.values},q.prototype.setValues=function(X,Y){X===void 0&&(X=[0,0]),Y===void 0&&(Y=!1),this.attributes.values=X;var le=Y===!1?!1:this.attributes.animate;this.updateSelectionArea(le),this.updateHandlesPosition(le)},q.prototype.updateSelectionArea=function(X){var Y=this.calcSelectionArea();this.foregroundGroup.selectAll(nl.selection.class).each(function(le,Pe){(0,pe.eR)(this,Y[Pe],X)})},q.prototype.updateHandlesPosition=function(X){this.attributes.showHandle&&(this.startHandle&&(0,pe.eR)(this.startHandle,this.getHandleStyle("start"),X),this.endHandle&&(0,pe.eR)(this.endHandle,this.getHandleStyle("end"),X))},q.prototype.innerSetValues=function(X,Y){X===void 0&&(X=[0,0]),Y===void 0&&(Y=!1);var le=this.values,Pe=this.clampValues(X);this.attributes.values=Pe,this.setValues(Pe),Y&&this.onValueChange(le)},q.prototype.renderTrack=function(X){var Y=this.attributes,le=Y.x,Pe=Y.y,We=(0,E.zs)(this.attributes,"track");this.trackShape=(0,Me.Ys)(X).maybeAppendByClassName(nl.track,"rect").styles((0,m.pi)((0,m.pi)({x:le,y:Pe},this.shape),We))},q.prototype.renderBrushArea=function(X){var Y=this.attributes,le=Y.x,Pe=Y.y,We=Y.brushable;this.brushArea=(0,Me.Ys)(X).maybeAppendByClassName(nl.brushArea,"rect").styles((0,m.pi)({x:le,y:Pe,fill:"transparent",cursor:We?"crosshair":"default"},this.shape))},q.prototype.renderSparkline=function(X){var Y=this,le=this.attributes,Pe=le.x,We=le.y,He=le.orientation,et=(0,Me.Ys)(X).maybeAppendByClassName(nl.sparklineGroup,"g");(0,fe.z)(He==="horizontal",et,function(_t){var Kt=(0,m.pi)((0,m.pi)({},Y.sparklineStyle),{x:Pe,y:We});_t.maybeAppendByClassName(nl.sparkline,function(){return new zh({style:Kt})}).update(Kt)})},q.prototype.renderHandles=function(){var X=this,Y,le=this.attributes,Pe=le.showHandle,We=le.type,He=We==="range"?["start","end"]:["end"],et=Pe?He:[],_t=this;(Y=this.foregroundGroup)===null||Y===void 0||Y.selectAll(nl.handle.class).data(et.map(function(Kt){return{type:Kt}}),function(Kt){return Kt.type}).join(function(Kt){return Kt.append(function(nn){var bn=nn.type;return new FA({style:X.getHandleStyle(bn)})}).each(function(nn){var bn=nn.type;this.attr("class","".concat(nl.handle.name," ").concat(bn,"-handle"));var Nn="".concat(bn,"Handle");_t[Nn]=this,this.addEventListener("pointerdown",_t.onDragStart(bn))})},function(Kt){return Kt.each(function(nn){var bn=nn.type;this.update(_t.getHandleStyle(bn))})},function(Kt){return Kt.each(function(nn){var bn=nn.type,Nn="".concat(bn,"Handle");_t[Nn]=void 0}).remove()})},q.prototype.renderSelection=function(X){var Y=this.attributes,le=Y.x,Pe=Y.y,We=Y.type,He=Y.selectionType;this.foregroundGroup=(0,Me.Ys)(X).maybeAppendByClassName(nl.foreground,"g");var et=(0,E.zs)(this.attributes,"selection"),_t=function(nn){return nn.style("visibility",function(bn){return bn.show?"visible":"hidden"}).style("cursor",function(bn){return He==="select"?"grab":He==="invert"?"crosshair":"default"}).styles((0,m.pi)((0,m.pi)({},et),{transform:"translate(".concat(le,", ").concat(Pe,")")}))},Kt=this;this.foregroundGroup.selectAll(nl.selection.class).data(We==="value"?[]:this.calcSelectionArea().map(function(nn,bn){return{style:(0,m.pi)({},nn),index:bn,show:He==="select"?bn===1:bn!==1}}),function(nn){return nn.index}).join(function(nn){return nn.append("rect").attr("className",nl.selection.name).call(_t).each(function(bn,Nn){var $n=this;Nn===1?(Kt.selectionShape=(0,Me.Ys)(this),this.on("pointerdown",function(Cr){$n.attr("cursor","grabbing"),Kt.onDragStart("selection")(Cr)}),Kt.dispatchCustomEvent(this,"pointerenter","selectionMouseenter"),Kt.dispatchCustomEvent(this,"pointerleave","selectionMouseleave"),Kt.dispatchCustomEvent(this,"click","selectionClick"),this.addEventListener("pointerdown",function(){$n.attr("cursor","grabbing")}),this.addEventListener("pointerup",function(){$n.attr("cursor","pointer")}),this.addEventListener("pointerover",function(){$n.attr("cursor","pointer")})):this.on("pointerdown",Kt.onDragStart("track"))})},function(nn){return nn.call(_t)},function(nn){return nn.remove()}),this.updateSelectionArea(!1),this.renderHandles()},q.prototype.render=function(X,Y){this.renderTrack(Y),this.renderSparkline(Y),this.renderBrushArea(Y),this.renderSelection(Y)},q.prototype.clampValues=function(X,Y){var le;Y===void 0&&(Y=4);var Pe=(0,m.CR)(this.range,2),We=Pe[0],He=Pe[1],et=(0,m.CR)(this.getValues().map(function(dr){return Eo(dr,Y)}),2),_t=et[0],Kt=et[1],nn=Array.isArray(X)?X:[_t,X!=null?X:Kt],bn=(0,m.CR)((nn||[_t,Kt]).map(function(dr){return Eo(dr,Y)}),2),Nn=bn[0],$n=bn[1];if(this.attributes.type==="value")return[0,(0,O.Z)($n,We,He)];Nn>$n&&(le=(0,m.CR)([$n,Nn],2),Nn=le[0],$n=le[1]);var Cr=$n-Nn;return Cr>He-We?[We,He]:NnHe?Kt===He&&_t===Nn?[Nn,He]:[He-Cr,He]:[Nn,$n]},q.prototype.calcSelectionArea=function(X){var Y=(0,m.CR)(this.clampValues(X),2),le=Y[0],Pe=Y[1],We=this.availableSpace,He=We.x,et=We.y,_t=We.width,Kt=We.height;return this.getOrientVal([[{y:et,height:Kt,x:He,width:le*_t},{y:et,height:Kt,x:le*_t+He,width:(Pe-le)*_t},{y:et,height:Kt,x:Pe*_t,width:(1-Pe)*_t}],[{x:He,width:_t,y:et,height:le*Kt},{x:He,width:_t,y:le*Kt+et,height:(Pe-le)*Kt},{x:He,width:_t,y:Pe*Kt,height:(1-Pe)*Kt}]])},q.prototype.calcHandlePosition=function(X){var Y=this.attributes.handleIconOffset,le=this.availableSpace,Pe=le.x,We=le.y,He=le.width,et=le.height,_t=(0,m.CR)(this.clampValues(),2),Kt=_t[0],nn=_t[1],bn=X==="start"?-Y:Y,Nn=(X==="start"?Kt:nn)*this.getOrientVal([He,et])+bn;return{x:Pe+this.getOrientVal([Nn,He/2]),y:We+this.getOrientVal([et/2,Nn])}},q.prototype.inferTextStyle=function(X){var Y=this.attributes.orientation;return Y==="horizontal"?{}:X==="start"?{transformOrigin:"left center",transform:"rotate(90)",textAlign:"start"}:X==="end"?{transformOrigin:"right center",transform:"rotate(90)",textAlign:"end"}:{}},q.prototype.calcHandleText=function(X){var Y,le=this.attributes,Pe=le.type,We=le.orientation,He=le.formatter,et=le.autoFitLabel,_t=(0,E.zs)(this.attributes,"handle"),Kt=(0,E.zs)(_t,"label"),nn=_t.spacing,bn=this.getHandleSize(),Nn=this.clampValues(),$n=X==="start"?Nn[0]:Nn[1],Cr=He($n),dr=new ro.x({style:(0,m.pi)((0,m.pi)((0,m.pi)({},Kt),this.inferTextStyle(X)),{text:Cr})}),jr=dr.getBBox(),Yr=jr.width,li=jr.height;if(dr.destroy(),!et){if(Pe==="value")return{text:Cr,x:0,y:-li-nn};var Ci=nn+bn+(We==="horizontal"?Yr/2:0);return Y={text:Cr},Y[We==="horizontal"?"x":"y"]=X==="start"?-Ci:Ci,Y}var Ji=0,Li=0,ds=this.availableSpace,Vs=ds.width,ba=ds.height,qa=this.calcSelectionArea()[1],mo=qa.x,Na=qa.y,Xs=qa.width,_a=qa.height,pi=nn+bn;if(We==="horizontal"){var Da=pi+Yr/2;if(X==="start"){var io=mo-pi-Yr;Ji=io>0?-Da:Da}else{var qs=Vs-mo-Xs-pi>Yr;Ji=qs?Da:-Da}}else{var vo=pi,Ua=li+pi;X==="start"?Li=Na-bn>li?-Ua:vo:Li=ba-(Na+_a)-bn>li?Ua:-vo}return{x:Ji,y:Li,text:Cr}},q.prototype.getHandleLabelStyle=function(X){var Y=(0,E.zs)(this.attributes,"handleLabel");return(0,m.pi)((0,m.pi)((0,m.pi)({},Y),this.calcHandleText(X)),this.inferTextStyle(X))},q.prototype.getHandleIconStyle=function(){var X=this.attributes.handleIconShape,Y=(0,E.zs)(this.attributes,"handleIcon"),le=this.getOrientVal(["ew-resize","ns-resize"]),Pe=this.getHandleSize();return(0,m.pi)({cursor:le,shape:X,size:Pe},Y)},q.prototype.getHandleStyle=function(X){var Y=this.attributes,le=Y.x,Pe=Y.y,We=Y.showLabel,He=Y.showLabelOnInteraction,et=Y.orientation,_t=this.calcHandlePosition(X),Kt=_t.x,nn=_t.y,bn=this.calcHandleText(X),Nn=We;return!We&&He&&(this.target?Nn=!0:Nn=!1),(0,m.pi)((0,m.pi)((0,m.pi)({},(0,E.dq)(this.getHandleIconStyle(),"icon")),(0,E.dq)((0,m.pi)((0,m.pi)({},this.getHandleLabelStyle(X)),bn),"label")),{transform:"translate(".concat(Kt+le,", ").concat(nn+Pe,")"),orientation:et,showLabel:Nn,type:X,zIndex:3})},q.prototype.getHandleSize=function(){var X=this.attributes,Y=X.handleIconSize,le=X.width,Pe=X.height;return Y||Math.floor((this.getOrientVal([+Pe,+le])+4)/2.4)},q.prototype.getOrientVal=function(X){var Y=(0,m.CR)(X,2),le=Y[0],Pe=Y[1],We=this.attributes.orientation;return We==="horizontal"?le:Pe},q.prototype.setValuesOffset=function(X,Y){Y===void 0&&(Y=0);var le=this.attributes.type,Pe=(0,m.CR)(this.getValues(),2),We=Pe[0],He=Pe[1],et=le==="range"?X:0,_t=[We+et,He+Y].sort();this.innerSetValues(_t,!0)},q.prototype.getRatio=function(X){var Y=this.availableSpace,le=Y.width,Pe=Y.height;return X/this.getOrientVal([le,Pe])},q.prototype.dispatchCustomEvent=function(X,Y,le){var Pe=this;X.on(Y,function(We){We.stopPropagation(),Pe.dispatchEvent(new R.Aw(le,{detail:We}))})},q.prototype.bindEvents=function(){this.addEventListener("wheel",this.onScroll);var X=this.brushArea;this.dispatchCustomEvent(X,"click","trackClick"),this.dispatchCustomEvent(X,"pointerenter","trackMouseenter"),this.dispatchCustomEvent(X,"pointerleave","trackMouseleave"),X.on("pointerdown",this.onDragStart("track"))},q.prototype.onScroll=function(X){var Y=this.attributes.scrollable;if(Y){var le=X.deltaX,Pe=X.deltaY,We=Pe||le,He=this.getRatio(We);this.setValuesOffset(He,He)}},q.tag="slider",q}(B.w),Qp=v(92387),zf={backgroundFill:"#262626",backgroundLineCap:"round",backgroundLineWidth:1,backgroundStroke:"#333",backgroundZIndex:-1,formatter:function(oe){return oe.toString()},labelFill:"#fff",labelFontSize:12,labelTextBaseline:"middle",padding:[2,4],position:"right",radius:0,zIndex:999},cd=(0,Ye.A)({background:"background",labelGroup:"label-group",label:"label"},"indicator"),OA=function(oe){(0,m.ZT)(q,oe);function q(X){var Y=oe.call(this,X,zf)||this;return Y.point=[0,0],Y.group=Y.appendChild(new R.ZA({})),Y.isMutationObserved=!0,Y}return q.prototype.renderBackground=function(){if(this.label){var X=this.attributes,Y=X.position,le=X.padding,Pe=(0,m.CR)((0,me.j)(le),4),We=Pe[0],He=Pe[1],et=Pe[2],_t=Pe[3],Kt=this.label.node().getLocalBounds(),nn=Kt.min,bn=Kt.max,Nn=new I.b(nn[0]-_t,nn[1]-We,bn[0]+He-nn[0]+_t,bn[1]+et-nn[1]+We),$n=this.getPath(Y,Nn),Cr=(0,E.zs)(this.attributes,"background");this.background=(0,Me.Ys)(this.group).maybeAppendByClassName(cd.background,"path").styles((0,m.pi)((0,m.pi)({},Cr),{d:$n})),this.group.appendChild(this.label.node())}},q.prototype.renderLabel=function(){var X=this.attributes,Y=X.formatter,le=X.labelText,Pe=(0,E.zs)(this.attributes,"label"),We=(0,m.CR)((0,E.Hm)(Pe),2),He=We[0],et=We[1],_t=He.text,Kt=(0,m._T)(He,["text"]);if(this.label=(0,Me.Ys)(this.group).maybeAppendByClassName(cd.labelGroup,"g").styles(et),!!le){var nn=this.label.maybeAppendByClassName(cd.label,function(){return(0,jt.S)(Y(le))}).style("text",Y(le).toString());nn.selectAll("text").styles(Kt)}},q.prototype.adjustLayout=function(){var X=(0,m.CR)(this.point,2),Y=X[0],le=X[1],Pe=this.attributes,We=Pe.x,He=Pe.y;this.group.attr("transform","translate(".concat(We-Y,", ").concat(He-le,")"))},q.prototype.getPath=function(X,Y){var le=this.attributes.radius,Pe=Y.x,We=Y.y,He=Y.width,et=Y.height,_t=[["M",Pe+le,We],["L",Pe+He-le,We],["A",le,le,0,0,1,Pe+He,We+le],["L",Pe+He,We+et-le],["A",le,le,0,0,1,Pe+He-le,We+et],["L",Pe+le,We+et],["A",le,le,0,0,1,Pe,We+et-le],["L",Pe,We+le],["A",le,le,0,0,1,Pe+le,We],["Z"]],Kt={top:4,right:6,bottom:0,left:2},nn=Kt[X],bn=this.createCorner([_t[nn].slice(-2),_t[nn+1].slice(-2)]);return _t.splice.apply(_t,(0,m.ev)([nn+1,1],(0,m.CR)(bn),!1)),_t[0][0]="M",_t},q.prototype.createCorner=function(X,Y){Y===void 0&&(Y=10);var le=.8,Pe=_r.wE.apply(void 0,(0,m.ev)([],(0,m.CR)(X),!1)),We=(0,m.CR)(X,2),He=(0,m.CR)(We[0],2),et=He[0],_t=He[1],Kt=(0,m.CR)(We[1],2),nn=Kt[0],bn=Kt[1],Nn=(0,m.CR)(Pe?[nn-et,[et,nn]]:[bn-_t,[_t,bn]],2),$n=Nn[0],Cr=(0,m.CR)(Nn[1],2),dr=Cr[0],jr=Cr[1],Yr=$n/2,li=$n/Math.abs($n),Ci=Y*li,Ji=Ci/2,Li=Ci*Math.sqrt(3)/2*le,ds=(0,m.CR)([dr,dr+Yr-Ji,dr+Yr,dr+Yr+Ji,jr],5),Vs=ds[0],ba=ds[1],qa=ds[2],mo=ds[3],Na=ds[4];return Pe?(this.point=[qa,_t-Li],[["L",Vs,_t],["L",ba,_t],["L",qa,_t-Li],["L",mo,_t],["L",Na,_t]]):(this.point=[et+Li,qa],[["L",et,Vs],["L",et,ba],["L",et+Li,qa],["L",et,mo],["L",et,Na]])},q.prototype.applyVisibility=function(){var X=this.attributes.visibility;X==="hidden"?(0,Qr.Cp)(this):(0,Qr.$Z)(this)},q.prototype.bindEvents=function(){this.label.on(R.Dk.BOUNDS_CHANGED,this.renderBackground)},q.prototype.render=function(){this.renderLabel(),this.renderBackground(),this.adjustLayout(),this.applyVisibility()},q}(B.w),rt=function(oe){(0,m.ZT)(q,oe);function q(X){var Y=oe.call(this,(0,_.n)({},q.defaultOptions,X))||this;return Y.hoverColor="#f5f5f5",Y.selectedColor="#e6f7ff",Y.background=Y.appendChild(new R.UL({})),Y.label=Y.background.appendChild(new R.ZA({})),Y}return Object.defineProperty(q.prototype,"padding",{get:function(){return(0,me.j)(this.style.padding)},enumerable:!1,configurable:!0}),q.prototype.renderLabel=function(){var X=this.style,Y=X.label,le=X.value,Pe=(0,E.zs)(this.attributes,"label");(0,Me.Ys)(this.label).maybeAppend(".label",function(){return(0,jt.S)(Y)}).attr("className","label").styles(Pe),this.label.attr("__data__",le)},q.prototype.renderBackground=function(){var X=this.label.getBBox(),Y=(0,m.CR)(this.padding,4),le=Y[0],Pe=Y[1],We=Y[2],He=Y[3],et=X.width,_t=X.height,Kt=et+He+Pe,nn=_t+le+We,bn=(0,E.zs)(this.attributes,"background"),Nn=this.style,$n=Nn.width,Cr=$n===void 0?0:$n,dr=Nn.height,jr=dr===void 0?0:dr,Yr=Nn.selected;this.background.attr((0,m.pi)((0,m.pi)({},bn),{width:Math.max(Kt,Cr),height:Math.max(nn,jr),fill:Yr?this.selectedColor:"#fff"})),this.label.attr({transform:"translate(".concat(He,", ").concat((nn-_t)/2,")")})},q.prototype.render=function(){this.renderLabel(),this.renderBackground()},q.prototype.bindEvents=function(){var X=this;this.addEventListener("pointerenter",function(){X.style.selected||X.background.attr("fill",X.hoverColor)}),this.addEventListener("pointerleave",function(){X.style.selected||X.background.attr("fill",X.style.backgroundFill)});var Y=this;this.addEventListener("click",function(){var le=X.style,Pe=le.label,We=le.value,He=le.onClick;He==null||He(We,{label:Pe,value:We},Y)})},q.defaultOptions={style:{value:"",label:"",cursor:"pointer"}},q}(B.w),we=function(oe){(0,m.ZT)(q,oe);function q(X){var Y,le,Pe=oe.call(this,(0,_.n)({},q.defaultOptions,X))||this;Pe.currentValue=(Y=q.defaultOptions.style)===null||Y===void 0?void 0:Y.defaultValue,Pe.isPointerInSelect=!1,Pe.select=Pe.appendChild(new R.UL({className:"select",style:{cursor:"pointer",width:0,height:0}})),Pe.dropdown=Pe.appendChild(new R.UL({className:"dropdown"}));var We=Pe.style.defaultValue;return We&&(!((le=Pe.style.options)===null||le===void 0)&&le.some(function(He){return He.value===We}))&&(Pe.currentValue=We),Pe}return q.prototype.setValue=function(X){this.currentValue=X,this.render()},q.prototype.getValue=function(){return this.currentValue},Object.defineProperty(q.prototype,"dropdownPadding",{get:function(){return(0,me.j)(this.style.dropdownPadding)},enumerable:!1,configurable:!0}),q.prototype.renderSelect=function(){var X=this,Y,le=this.style,Pe=le.x,We=le.y,He=le.width,et=le.height,_t=le.bordered,Kt=le.showDropdownIcon,nn=(0,E.zs)(this.attributes,"select"),bn=(0,E.zs)(this.attributes,"placeholder");this.select.attr((0,m.pi)((0,m.pi)({x:Pe,y:We,width:He,height:et},nn),{fill:"#fff",strokeWidth:_t?1:0}));var Nn=this.dropdownPadding,$n=10;Kt&&(0,Me.Ys)(this.select).maybeAppend(".dropdown-icon","path").style("d","M-5,-3.5 L0,3.5 L5,-3.5").style("transform","translate(".concat(Pe+He-$n-Nn[1]-Nn[3],", ").concat(We+et/2,")")).style("lineWidth",1).style("stroke",this.select.style.stroke);var Cr=(Y=this.style.options)===null||Y===void 0?void 0:Y.find(function(li){return li.value===X.currentValue}),dr=(0,m.pi)({x:Pe+Nn[3]},bn);(0,Me.Ys)(this.select).selectAll(".placeholder").data(Cr?[]:[1]).join(function(li){return li.append("text").attr("className","placeholder").styles(dr).style("y",function(){var Ci=this.getBBox();return We+(et-Ci.height)/2})},function(li){return li.styles(dr)},function(li){return li.remove()});var jr=(0,E.zs)(this.attributes,"optionLabel"),Yr=(0,m.pi)({x:Pe+Nn[3]},jr);(0,Me.Ys)(this.select).selectAll(".value").data(Cr?[Cr]:[]).join(function(li){return li.append(function(Ci){return(0,jt.S)(Ci.label)}).attr("className","value").styles(Yr).style("y",function(){var Ci=this.getBBox();return We+(et-Ci.height)/2})},function(li){return li.styles(Yr)},function(li){return li.remove()})},q.prototype.renderDropdown=function(){var X=this,Y,le,Pe=this.style,We=Pe.x,He=Pe.y,et=Pe.width,_t=Pe.height,Kt=Pe.options,nn=Pe.onSelect,bn=Pe.open,Nn=(0,E.zs)(this.attributes,"dropdown"),$n=(0,E.zs)(this.attributes,"option"),Cr=this.dropdownPadding;(0,Me.Ys)(this.dropdown).maybeAppend(".dropdown-container","g").attr("className","dropdown-container").selectAll(".dropdown-item").data(Kt,function(Yr){return Yr.value}).join(function(Yr){return Yr.append(function(li){return new rt({className:"dropdown-item",style:(0,m.pi)((0,m.pi)((0,m.pi)({},li),$n),{width:et-Cr[1]-Cr[3],selected:li.value===X.currentValue,onClick:function(Ci,Ji,Li){X.setValue(Ci),nn==null||nn(Ci,Ji,Li),X.dispatchEvent(new R.Aw("change",{detail:{value:Ci,option:Ji,item:Li}})),(0,Qr.Cp)(X.dropdown)}})})}).each(function(li,Ci){var Ji,Li=(Ji=this.parentNode)===null||Ji===void 0?void 0:Ji.children,ds=Li.reduce(function(Vs,ba,qa){return qaPe.time?1:0};return X.sort(Y)},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"space",{get:function(){var X=this.attributes,Y=X.x,le=X.y,Pe=X.width,We=X.height,He=X.type,et=X.controllerHeight,_t=(0,O.Z)(+We-et,0,+We),Kt=new I.b(Y,le+ +We-et,+Pe,et),nn,bn=0;He==="chart"?(bn=35,nn=new I.b(Y,le+_t-bn,+Pe,bn)):nn=new I.b;var Nn=He==="time"?10:_t,$n=new I.b(Y,le+(He==="time"?_t:_t-Nn),+Pe,Nn-bn);return{axisBBox:nn,controllerBBox:Kt,timelineBBox:$n}},enumerable:!1,configurable:!0}),q.prototype.setBySliderValues=function(X){var Y,le,Pe=this.data,We=(0,m.CR)(Array.isArray(X)?X:[0,X],2),He=We[0],et=We[1],_t=Pe.length,Kt=Pe[Math.floor(He*_t)],nn=Pe[Math.ceil(et*_t)-(Array.isArray(X)?0:1)];this.states.values=[(Y=Kt==null?void 0:Kt.time)!==null&&Y!==void 0?Y:Pe[0].time,(le=nn==null?void 0:nn.time)!==null&&le!==void 0?le:1/0]},q.prototype.setByTimebarValues=function(X){var Y,le,Pe,We=this.data,He=(0,m.CR)(Array.isArray(X)?X:[void 0,X],2),et=He[0],_t=He[1],Kt=We.find(function(bn){var Nn=bn.time;return Nn===et}),nn=We.find(function(bn){var Nn=bn.time;return Nn===_t});this.states.values=[(Y=Kt==null?void 0:Kt.time)!==null&&Y!==void 0?Y:(le=We[0])===null||le===void 0?void 0:le.time,(Pe=nn==null?void 0:nn.time)!==null&&Pe!==void 0?Pe:1/0]},q.prototype.setByIndex=function(X){var Y,le,Pe,We,He=this.data,et=(0,m.CR)(X,2),_t=et[0],Kt=et[1];this.states.values=[(le=(Y=He[_t])===null||Y===void 0?void 0:Y.time)!==null&&le!==void 0?le:He[0].time,(We=(Pe=this.data[Kt])===null||Pe===void 0?void 0:Pe.time)!==null&&We!==void 0?We:1/0]},Object.defineProperty(q.prototype,"sliderValues",{get:function(){var X=this.states,Y=X.values,le=X.selectionType,Pe=(0,m.CR)(Array.isArray(Y)?Y:[void 0,Y],2),We=Pe[0],He=Pe[1],et=this.data,_t=et.length,Kt=le==="value",nn=function(){var Nn=et.findIndex(function($n){var Cr=$n.time;return Cr===We});return Kt?0:Nn>-1?Nn/_t:0},bn=function(){if(He===1/0)return 1;var Nn=et.findIndex(function($n){var Cr=$n.time;return Cr===He});return Nn>-1?Nn/_t:Kt?.5:1};return[nn(),bn()]},enumerable:!1,configurable:!0}),Object.defineProperty(q.prototype,"values",{get:function(){var X=this.states,Y=X.values,le=X.selectionType,Pe=(0,m.CR)(Array.isArray(Y)?Y:[this.data[0].time,Y],2),We=Pe[0],He=Pe[1];return le==="value"?He:[We,He]},enumerable:!1,configurable:!0}),q.prototype.getDatumByRatio=function(X){var Y=this.data,le=Y.length,Pe=Math.floor(X*(le-1));return Y[Pe]},Object.defineProperty(q.prototype,"chartHandleIconShape",{get:function(){var X=this.states.selectionType,Y=this.space.timelineBBox.height;return X==="range"?function(le){return new xa({style:{type:le,height:Y,iconSize:Y/6}})}:function(){return new R.x1({style:{x1:0,y1:-Y/2,x2:0,y2:Y/2,lineWidth:2,stroke:"#c8c8c8"}})}},enumerable:!1,configurable:!0}),q.prototype.getChartStyle=function(X){var Y=this,le=X.x,Pe=X.y,We=X.width,He=X.height,et=this.states,_t=et.selectionType,Kt=et.chartType,nn=this.data,bn=this.attributes,Nn=bn.type,$n=bn.labelFormatter,Cr=(0,E.zs)(this.attributes,"chart"),dr=Cr.type,jr=(0,m._T)(Cr,["type"]),Yr=_t==="range";if(Nn==="time")return(0,m.pi)({handleIconShape:function(){return new Ls({})},selectionFill:"#2e7ff8",selectionFillOpacity:1,showLabelOnInteraction:!0,handleLabelDy:Yr?-15:0,autoFitLabel:Yr,handleSpacing:Yr?-15:0,trackFill:"#edeeef",trackLength:We,trackOpacity:.5,trackRadius:He/2,trackSize:He/2,type:_t,values:this.sliderValues,formatter:function(Ji){if($n)return $n(Ji);var Li=Y.getDatumByRatio(Ji).time;return typeof Li=="number"?ha(Li):z(Li,"YYYY-MM-DD HH:mm:ss")},transform:"translate(".concat(le,", ").concat(Pe,")"),zIndex:1},jr);var li=_t==="range"?5:0,Ci=nn.map(function(Ji){var Li=Ji.value;return Li});return(0,m.pi)({handleIconOffset:li,handleIconShape:this.chartHandleIconShape,selectionFill:"#fff",selectionFillOpacity:.5,selectionType:"invert",sparklineSpacing:.1,sparklineColumnLineWidth:0,sparklineColor:"#d4e5fd",sparklineAreaOpacity:1,sparklineAreaLineWidth:0,sparklineData:Ci,sparklineType:Kt,sparklineScale:.8,trackLength:We,trackSize:He,type:_t,values:this.sliderValues,transform:"translate(".concat(le,", ").concat(Pe,")"),zIndex:1},jr)},q.prototype.renderChart=function(X){X===void 0&&(X=this.space.timelineBBox),this.timeline.update(this.getChartStyle(X))},q.prototype.updateSelection=function(){this.timeline.setValues(this.sliderValues,!0),this.handleSliderChange(this.sliderValues)},q.prototype.getAxisStyle=function(X){var Y=this.data,le=this.attributes,Pe=le.interval,We=le.labelFormatter,He=(0,E.zs)(this.attributes,"axis"),et=X.x,_t=X.y,Kt=X.width,nn=(0,m.ev)((0,m.ev)([],(0,m.CR)(Y),!1),[{time:0}],!1).map(function(Nn,$n,Cr){var dr=Nn.time;return{label:"".concat(dr),value:$n/(Cr.length-1),time:dr}}),bn=(0,m.pi)({startPos:[et,_t],endPos:[et+Kt,_t],data:nn,labelFilter:function(Nn,$n){return $nPe?et==="value"?[0,0]:_t==="acc"?[ds(Ji),ds(Ji)]:[0,ds(Li-Ji)]:Ji<0?_t==="acc"?[0,ds(Li)]:[ds(Ji+Pe-Li),Pe]:[ds(Ji),ds(Li)]},Yr=jr(dr);return this.setByIndex(Yr),this.updateSelection(),Yr},q.prototype.internalBackward=function(X){var Y,le,Pe=this.moveSelection("backward",X);return X||((le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onBackward)===null||le===void 0||le.call(Y),this.dispatchOnChange()),Pe},q.prototype.backward=function(){this.internalBackward()},q.prototype.internalPlay=function(X){var Y=this,le,Pe,We=this.data,He=this.attributes.loop,et=this.states.speed,_t=et===void 0?1:et;this.playInterval=window.setInterval(function(){var Kt=Y.internalForward();Kt[1]===We.length&&!He&&(Y.internalPause(),Y.renderController())},1e3/_t),this.states.state="play",!X&&((Pe=(le=this.attributes)===null||le===void 0?void 0:le.onPlay)===null||Pe===void 0||Pe.call(le))},q.prototype.play=function(){this.internalPlay()},q.prototype.internalPause=function(X){var Y,le;clearInterval(this.playInterval),this.states.state="pause",!X&&((le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onPause)===null||le===void 0||le.call(Y))},q.prototype.pause=function(){this.internalPause()},q.prototype.internalForward=function(X){var Y,le,Pe=this.moveSelection("forward",X);return X||((le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onForward)===null||le===void 0||le.call(Y),this.dispatchOnChange()),Pe},q.prototype.forward=function(){this.internalForward()},q.prototype.handleSpeedChange=function(X){var Y,le;this.states.speed=X;var Pe=this.states.state;Pe==="play"&&(this.internalPause(!0),this.internalPlay(!0)),(le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onSpeedChange)===null||le===void 0||le.call(Y,X)},q.prototype.handleSelectionTypeChange=function(X){var Y,le;this.states.selectionType=X,this.renderChart(),(le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onSelectionTypeChange)===null||le===void 0||le.call(Y,X)},q.prototype.handleChartTypeChange=function(X){var Y,le;this.states.chartType=X,this.renderChart(),(le=(Y=this.attributes)===null||Y===void 0?void 0:Y.onChartTypeChange)===null||le===void 0||le.call(Y,X)},q.prototype.render=function(){var X=this.space,Y=X.axisBBox,le=X.controllerBBox,Pe=X.timelineBBox;this.renderController(le),this.renderAxis(Y),this.renderChart(Pe),this.states.state==="play"&&this.internalPlay()},q.prototype.destroy=function(){oe.prototype.destroy.call(this),this.internalPause(!0)},q.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"}},q}(B.w)},75242:function(Re,xe,v){"use strict";v.d(xe,{u:function(){return z}});var m=v(80813),O=v(85580);function B(ee,te){return!ee||!te?ee:ee.replace(/\\?\{([^{}]+)\}/g,function(ge,pe){return ge.charAt(0)==="\\"?ge.slice(1):te[pe]===void 0?"":te[pe]})}var R=B,_=v(97304),I=function(ee,te){if(te==null){ee.innerHTML="";return}ee.replaceChildren?Array.isArray(te)?ee.replaceChildren.apply(ee,(0,m.ev)([],(0,m.CR)(te),!1)):ee.replaceChildren(te):(ee.innerHTML="",Array.isArray(te)?te.forEach(function(ge){return ee.appendChild(ge)}):ee.appendChild(te))},E=v(88839),N=v(17911);function F(ee){return ee===void 0&&(ee=""),{CONTAINER:"".concat(ee,"tooltip"),TITLE:"".concat(ee,"tooltip-title"),LIST:"".concat(ee,"tooltip-list"),LIST_ITEM:"".concat(ee,"tooltip-list-item"),NAME:"".concat(ee,"tooltip-list-item-name"),MARKER:"".concat(ee,"tooltip-list-item-marker"),NAME_LABEL:"".concat(ee,"tooltip-list-item-name-label"),VALUE:"".concat(ee,"tooltip-list-item-value"),CROSSHAIR_X:"".concat(ee,"tooltip-crosshair-x"),CROSSHAIR_Y:"".concat(ee,"tooltip-crosshair-y")}}var T={overflow:"hidden","white-space":"nowrap","text-overflow":"ellipsis"};function D(ee){var te;ee===void 0&&(ee="");var ge=F(ee);return te={},te[".".concat(ge.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"},te[".".concat(ge.TITLE)]={color:"rgba(0, 0, 0, 0.45)"},te[".".concat(ge.LIST)]={margin:"0px","list-style-type":"none",padding:"0px"},te[".".concat(ge.LIST_ITEM)]={"list-style-type":"none",display:"flex","line-height":"2em","align-items":"center","justify-content":"space-between","white-space":"nowrap"},te[".".concat(ge.MARKER)]={width:"8px",height:"8px","border-radius":"50%",display:"inline-block","margin-right":"4px"},te[".".concat(ge.NAME)]={display:"flex","align-items":"center","max-width":"216px"},te[".".concat(ge.NAME_LABEL)]=(0,m.pi)({flex:1},T),te[".".concat(ge.VALUE)]=(0,m.pi)({display:"inline-block",float:"right",flex:1,"text-align":"right","min-width":"28px","margin-left":"30px",color:"rgba(0, 0, 0, 0.85)"},T),te[".".concat(ge.CROSSHAIR_X)]={position:"absolute",width:"1px","background-color":"rgba(0, 0, 0, 0.25)"},te[".".concat(ge.CROSSHAIR_Y)]={position:"absolute",height:"1px","background-color":"rgba(0, 0, 0, 0.25)"},te}var z=function(ee){(0,m.ZT)(te,ee);function te(ge){var pe=this,fe,Le,Me=(Le=(fe=ge.style)===null||fe===void 0?void 0:fe.template)===null||Le===void 0?void 0:Le.prefixCls,Ze=F(Me);return pe=ee.call(this,ge,{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:'
    '),title:'
    '),item:'
  • + + + {name} + + {value} +
  • `)},style:D(Me)})||this,pe.timestamp=-1,pe.prevCustomContentKey=pe.attributes.contentKey,pe.initShape(),pe.render(pe.attributes,pe),pe}return Object.defineProperty(te.prototype,"HTMLTooltipElement",{get:function(){return this.element},enumerable:!1,configurable:!0}),te.prototype.getContainer=function(){return this.element},Object.defineProperty(te.prototype,"elementSize",{get:function(){var ge=this.element.offsetWidth,pe=this.element.offsetHeight;return{width:ge,height:pe}},enumerable:!1,configurable:!0}),Object.defineProperty(te.prototype,"HTMLTooltipItemsElements",{get:function(){var ge=this.attributes,pe=ge.data,fe=ge.template;return pe.map(function(Le,Me){var Ze=Le.name,Ye=Ze===void 0?"":Ze,Te=Le.color,be=Te===void 0?"black":Te,Ge=Le.index,Je=(0,m._T)(Le,["name","color","index"]),it=(0,m.pi)({name:Ye,color:be,index:Ge!=null?Ge:Me},Je);return(0,O.L)(R(fe.item,it))})},enumerable:!1,configurable:!0}),te.prototype.render=function(ge,pe){this.renderHTMLTooltipElement(),this.updatePosition()},te.prototype.destroy=function(){var ge;(ge=this.element)===null||ge===void 0||ge.remove(),ee.prototype.destroy.call(this)},te.prototype.show=function(ge,pe){var fe=this;if(ge!==void 0&&pe!==void 0){var Le=this.element.style.visibility==="hidden",Me=function(){fe.attributes.x=ge!=null?ge:fe.attributes.x,fe.attributes.y=pe!=null?pe:fe.attributes.y,fe.updatePosition()};Le?this.closeTransition(Me):Me()}this.element.style.visibility="visible"},te.prototype.hide=function(ge,pe){ge===void 0&&(ge=0),pe===void 0&&(pe=0);var fe=this.attributes.enterable;fe&&this.isCursorEntered(ge,pe)||(this.element.style.visibility="hidden")},te.prototype.initShape=function(){var ge=this.attributes.template;this.element=(0,O.L)(ge.container),this.id&&this.element.setAttribute("id",this.id)},te.prototype.renderCustomContent=function(){if(!(this.prevCustomContentKey!==void 0&&this.prevCustomContentKey===this.attributes.contentKey)){this.prevCustomContentKey=this.attributes.contentKey;var ge=this.attributes.content;ge&&(typeof ge=="string"?this.element.innerHTML=ge:I(this.element,ge))}},te.prototype.renderHTMLTooltipElement=function(){var ge,pe,fe=this.attributes,Le=fe.template,Me=fe.title,Ze=fe.enterable,Ye=fe.style,Te=fe.content,be=F(Le.prefixCls),Ge=this.element;if(this.element.style.pointerEvents=Ze?"auto":"none",Te)this.renderCustomContent();else{Me?(Ge.innerHTML=Le.title,Ge.getElementsByClassName(be.TITLE)[0].innerHTML=Me):(pe=(ge=Ge.getElementsByClassName(be.TITLE))===null||ge===void 0?void 0:ge[0])===null||pe===void 0||pe.remove();var Je=this.HTMLTooltipItemsElements,it=document.createElement("ul");it.className=be.LIST,I(it,Je);var $t=this.element.querySelector(".".concat(be.LIST));$t?$t.replaceWith(it):Ge.appendChild(it)}(0,E.MC)(Ge,Ye)},te.prototype.getRelativeOffsetFromCursor=function(ge){var pe=this.attributes,fe=pe.position,Le=pe.offset,Me=ge||fe,Ze=Me.split("-"),Ye={left:[-1,0],right:[1,0],top:[0,-1],bottom:[0,1]},Te=this.elementSize,be=Te.width,Ge=Te.height,Je=[-be/2,-Ge/2];return Ze.forEach(function(it){var $t=(0,m.CR)(Je,2),cn=$t[0],Sn=$t[1],vn=(0,m.CR)(Ye[it],2),Qn=vn[0],xn=vn[1];Je=[cn+(be/2+Le[0])*Qn,Sn+(Ge/2+Le[1])*xn]}),Je},te.prototype.setOffsetPosition=function(ge){var pe=(0,m.CR)(ge,2),fe=pe[0],Le=pe[1],Me=this.attributes,Ze=Me.x,Ye=Ze===void 0?0:Ze,Te=Me.y,be=Te===void 0?0:Te,Ge=Me.container,Je=Ge.x,it=Ge.y;this.element.style.left="".concat(+Ye+Je+fe,"px"),this.element.style.top="".concat(+be+it+Le,"px")},te.prototype.updatePosition=function(){var ge=this.attributes.showDelay,pe=ge===void 0?60:ge,fe=Date.now();this.timestamp>0&&fe-this.timestampQn+Un,top:Snxn+ke},Ht=[];be.split("-").forEach(function(xt){ot[xt]?Ht.push(vn[xt]):Ht.push(xt)});var On=Ht.join("-");return this.getRelativeOffsetFromCursor(On)},te.prototype.isCursorEntered=function(ge,pe){if(this.element){var fe=this.element.getBoundingClientRect(),Le=fe.x,Me=fe.y,Ze=fe.width,Ye=fe.height;return new N.b(Le,Me,Ze,Ye).isPointIn(ge,pe)}return!1},te.prototype.closeTransition=function(ge){var pe=this,fe=this.element.style.transition;this.element.style.transition="none",ge(),setTimeout(function(){pe.element.style.transition=fe},10)},te.tag="tooltip",te}(_.w)},17911:function(Re,xe,v){"use strict";v.d(xe,{b:function(){return m}});var m=function(){function B(R,_,I,E){R===void 0&&(R=0),_===void 0&&(_=0),I===void 0&&(I=0),E===void 0&&(E=0),this.x=0,this.y=0,this.width=0,this.height=0,this.x=R,this.y=_,this.width=I,this.height=E}return Object.defineProperty(B.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(B.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(B.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(B.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),B.fromRect=function(R){return new B(R.x,R.y,R.width,R.height)},B.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}},B.prototype.isPointIn=function(R,_){return R>=this.left&&R<=this.right&&_>=this.top&&_<=this.bottom},B}();function O(B){var R=B.getRenderBounds(),_=__read(R.min,2),I=_[0],E=_[1],N=__read(R.max,2),F=N[0],T=N[1],D=F-I,z=T-E;return new m(I,E,D,z)}},38242:function(Re,xe,v){"use strict";v.d(xe,{S:function(){return B}});var m=v(80813),O=v(71018);function B(R,_){return(0,O.Z)(R)?R.apply(void 0,(0,m.ev)([],(0,m.CR)(_),!1)):R}},58688:function(Re,xe,v){"use strict";v.d(xe,{A:function(){return O}});var m=v(80813),O=function(B,R){var _=function(E){return"".concat(R,"-").concat(E)},I=Object.fromEntries(Object.entries(B).map(function(E){var N=(0,m.CR)(E,2),F=N[0],T=N[1],D=_(T);return[F,{name:D,class:".".concat(D),id:"#".concat(D),toString:function(){return D}}]}));return Object.assign(I,{prefix:_}),I}},99247:function(Re,xe,v){"use strict";v.d(xe,{n:function(){return I}});var m=v(80813),O=v(63467),B=v(39934),R=5,_=function(E,N,F,T){F===void 0&&(F=0),T===void 0&&(T=R),Object.entries(N).forEach(function(D){var z=(0,m.CR)(D,2),ee=z[0],te=z[1],ge=E;Object.prototype.hasOwnProperty.call(N,ee)&&(te?(0,O.Z)(te)?((0,O.Z)(E[ee])||(ge[ee]={}),F2?[O[0]]:O.split("")}},99769:function(Re,xe,v){"use strict";v.d(xe,{b:function(){return m}});function m(O,B,R){R===void 0&&(R=!1);var _=O.getBBox(),I=_.width,E=_.height,N=B/Math.max(I,E);return R&&(O.style.transform="scale(".concat(N,")")),N}},38974:function(Re,xe,v){"use strict";v.d(xe,{OV:function(){return D},Ys:function(){return T}});var m=v(80813),O=v(39934),B=function(z){if(!(0,O.Z)(z))return[];for(var ee=[],te=0;te="A"&&ee<="Z"};function N(D,z,ee){ee===void 0&&(ee=!1);var te={};return Object.entries(D).forEach(function(ge){var pe=(0,m.CR)(ge,2),fe=pe[0],Le=pe[1];if(!(fe==="className"||fe==="class")){if(E(fe,"show")&&E(_(fe,"show"),z)!==ee)fe===R(z,"show")?te[fe]=Le:te[fe.replace(new RegExp(O(z)),"")]=Le;else if(!E(fe,"show")&&E(fe,z)!==ee){var Me=_(fe,z);Me==="filter"&&typeof Le=="function"||(te[Me]=Le)}}}),te}function F(D,z){return Object.entries(D).reduce(function(ee,te){var ge=(0,m.CR)(te,2),pe=ge[0],fe=ge[1];return pe.startsWith("show")?ee["show".concat(z).concat(pe.slice(4))]=fe:ee["".concat(z).concat(O(pe))]=fe,ee},{})}function T(D,z){z===void 0&&(z=["x","y","class","className"]);var ee=["transform","transformOrigin","anchor","visibility","pointerEvents","zIndex","cursor","clipPath","clipPathTargets","offsetPath","offsetPathTargets","offsetDistance","draggable","droppable"],te={},ge={};return Object.entries(D).forEach(function(pe){var fe=(0,m.CR)(pe,2),Le=fe[0],Me=fe[1];z.includes(Le)||(ee.indexOf(Le)!==-1?ge[Le]=Me:te[Le]=Me)}),[te,ge]}},58533:function(Re,xe,v){"use strict";v.d(xe,{Rm:function(){return F},U4:function(){return N},Ux:function(){return I},qT:function(){return E}});var m=v(66623),O=v(40455),B,R;function _(T){R=T}var I=(0,O.Z)(function(T,D){var z=D.fontSize,ee=D.fontFamily,te=D.fontWeight,ge=D.fontStyle,pe=D.fontVariant;return R?R(T,z):(B||(B=m.GZ.offscreenCanvasCreator.getOrCreateContext(void 0)),B.font=[ge,pe,te,"".concat(z,"px"),ee].join(" "),B.measureText(T).width)},function(T,D){return[T,Object.values(D||E(T)).join()].join("")},4096),E=function(T){var D=T.style.fontFamily||"sans-serif",z=T.style.fontWeight||"normal",ee=T.style.fontStyle||"normal",te=T.style.fontVariant,ge=T.style.fontSize;return ge=typeof ge=="object"?ge.value:ge,{fontSize:ge,fontFamily:D,fontWeight:z,fontStyle:ee,fontVariant:te}};function N(T){return T.nodeName==="text"?T:T.nodeName==="g"&&T.children.length===1&&T.children[0].nodeName==="text"?T.children[0]:null}function F(T,D){var z=N(T);z&&z.attr(D)}},69014:function(Re,xe,v){"use strict";v.d(xe,{Cp:function(){return B},$Z:function(){return O},WD:function(){return R}});function m(_,I){I(_),_.children&&_.children.forEach(function(E){E&&m(E,I)})}function O(_){R(_,!0)}function B(_){R(_,!1)}function R(_,I){var E=I?"visible":"hidden";m(_,function(N){N.attr("visibility",E)})}},49336:function(Re,xe){"use strict";var v="*",m=function(){function O(){this._events={}}return O.prototype.on=function(B,R,_){return this._events[B]||(this._events[B]=[]),this._events[B].push({callback:R,once:!!_}),this},O.prototype.once=function(B,R){return this.on(B,R,!0)},O.prototype.emit=function(B){for(var R=this,_=[],I=1;ISe&&Ut>Oe,Ae&&(typeof Ae.resetTransform=="function"?Ae.resetTransform():Ae.setTransform(1,0,0,1,0,0),yt.clearFullScreen&&yt.clearRect(Ae,0,0,$e*me,Ke*me,rn.background))},S=function(J,Ae){for(var me=[J];me.length>0;){var $e,Ke=me.pop();Ke.isVisible()&&!Ke.isCulled()&&(Qr?yt.renderDisplayObjectOptimized(Ke,Ae,yt.context,F(yt,Te)[Te],gt):yt.renderDisplayObject(Ke,Ae,yt.context,F(yt,Te)[Te],gt));for(var Xt=(($e=Ke.sortable)===null||$e===void 0||($e=$e.sorted)===null||$e===void 0?void 0:$e.length)>0?Ke.sortable.sorted:Ke.childNodes,Se=Xt.length-1;Se>=0;Se--)me.push(Xt[Se])}};jn.hooks.endFrame.tap(on.tag,function(){if(W(),Zn.root.childNodes.length===0){yt.clearFullScreenLastFrame=!0;return}Qr=rn.renderer.getConfig().enableRenderingOptimization,F(yt,Te)[Te]={restoreStack:[],prevObject:null,currentContext:F(yt,Te)[Te].currentContext},F(yt,Te)[Te].currentContext.clear(),yt.clearFullScreenLastFrame=!1;var H=Ne.getContext(),J=Ne.getDPR();if(z.fromScaling(yt.dprMatrix,[J,J,1]),z.multiply(yt.vpMatrix,yt.dprMatrix,Dt.getOrthoMatrix()),yt.clearFullScreen)Qr?(H.save(),S(Zn.root,H),H.restore()):S(Zn.root,H);else{var Ae=yt.safeMergeAABB(yt.mergeDirtyAABBs(yt.renderQueue));if(_.mN.isEmpty(Ae)){yt.renderQueue=[];return}var me=yt.convertAABB2Rect(Ae),$e=me.x,Ke=me.y,Xt=me.width,Se=me.height,Oe=ee.fF(yt.vec3a,[$e,Ke,0],yt.vpMatrix),Ee=ee.fF(yt.vec3b,[$e+Xt,Ke,0],yt.vpMatrix),Ue=ee.fF(yt.vec3c,[$e,Ke+Se,0],yt.vpMatrix),at=ee.fF(yt.vec3d,[$e+Xt,Ke+Se,0],yt.vpMatrix),Ut=Math.min(Oe[0],Ee[0],at[0],Ue[0]),ut=Math.min(Oe[1],Ee[1],at[1],Ue[1]),Lt=Math.max(Oe[0],Ee[0],at[0],Ue[0]),qt=Math.max(Oe[1],Ee[1],at[1],Ue[1]),Tn=Math.floor(Ut),Rn=Math.floor(ut),ir=Math.ceil(Lt-Ut),Ln=Math.ceil(qt-ut);H.save(),yt.clearRect(H,Tn,Rn,ir,Ln,rn.background),H.beginPath(),H.rect(Tn,Rn,ir,Ln),H.clip(),H.setTransform(yt.vpMatrix[0],yt.vpMatrix[1],yt.vpMatrix[4],yt.vpMatrix[5],yt.vpMatrix[12],yt.vpMatrix[13]);var Gn=rn.renderer.getConfig(),_r=Gn.enableDirtyRectangleRenderingDebug;_r&&V.dispatchEvent(new _.Aw(_.$6.DIRTY_RECTANGLE,{dirtyRect:{x:Tn,y:Rn,width:ir,height:Ln}}));var un=Ae.getMin(),Bn=(0,N.Z)(un,2),lr=Bn[0],cr=Bn[1],Fr=Ae.getMax(),zr=(0,N.Z)(Fr,2),Wr=zr[0],Vr=zr[1],wi=Zn.root.ownerDocument.elementsFromBBox(lr,cr,Wr,Vr);wi.sort(function(Zr,Ei){return Zr.sortable.renderOrder-Ei.sortable.renderOrder}).forEach(function(Zr){Zr&&Zr.isVisible()&&!Zr.isCulled()&&yt.renderDisplayObject(Zr,H,yt.context,F(yt,Te)[Te],gt)}),H.restore(),yt.renderQueue.forEach(function(Zr){yt.saveDirtyAABB(Zr)}),yt.renderQueue=[]}F(yt,Te)[Te].restoreStack.forEach(function(){H.restore()}),F(yt,Te)[Te].restoreStack=[]}),jn.hooks.render.tap(on.tag,function(H){yt.clearFullScreen||yt.renderQueue.push(H)})}},{key:"clearRect",value:function(Vt,gt,yt,Ft,rn,Dt){Vt.clearRect(gt,yt,Ft,rn),Dt&&(Vt.fillStyle=Dt,Vt.fillRect(gt,yt,Ft,rn))}},{key:"renderDisplayObjectOptimized",value:function(Vt,gt,yt,Ft,rn){var Dt=Vt.nodeName,jn=!1,Zn=!1,Tr=this.context.styleRendererFactory[Dt],Qr=this.pathGeneratorFactory[Dt],Ne=Vt.parsedStyle.clipPath;if(Ne){jn=!Ft.prevObject||!z.exactEquals(Ne.getWorldTransform(),Ft.prevObject.getWorldTransform()),jn&&(this.applyWorldTransform(gt,Ne),Ft.prevObject=null);var V=this.pathGeneratorFactory[Ne.nodeName];V&&(gt.save(),Zn=!0,gt.beginPath(),V(gt,Ne.parsedStyle),gt.closePath(),gt.clip())}if(Tr){jn=!Ft.prevObject||!z.exactEquals(Vt.getWorldTransform(),Ft.prevObject.getWorldTransform()),jn&&this.applyWorldTransform(gt,Vt);var W=!Ft.prevObject;if(!W){var S=Ft.prevObject.nodeName;Dt===_.bn.TEXT?W=S!==_.bn.TEXT:Dt===_.bn.IMAGE?W=S!==_.bn.IMAGE:W=S===_.bn.TEXT||S===_.bn.IMAGE}Tr.applyStyleToContext(gt,Vt,W,Ft),Ft.prevObject=Vt}Qr&&(gt.beginPath(),Qr(gt,Vt.parsedStyle),Dt!==_.bn.LINE&&Dt!==_.bn.PATH&&Dt!==_.bn.POLYLINE&>.closePath()),Tr&&Tr.drawToContext(gt,Vt,F(this,Te)[Te],this,rn),Zn&>.restore(),Vt.dirty(!1)}},{key:"renderDisplayObject",value:function(Vt,gt,yt,Ft,rn){var Dt=Vt.nodeName,jn=Ft.restoreStack[Ft.restoreStack.length-1];jn&&!(Vt.compareDocumentPosition(jn)&_.NB.DOCUMENT_POSITION_CONTAINS)&&(gt.restore(),Ft.restoreStack.pop());var Zn=this.context.styleRendererFactory[Dt],Tr=this.pathGeneratorFactory[Dt],Qr=Vt.parsedStyle.clipPath;if(Qr){this.applyWorldTransform(gt,Qr);var Ne=this.pathGeneratorFactory[Qr.nodeName];Ne&&(gt.save(),Ft.restoreStack.push(Vt),gt.beginPath(),Ne(gt,Qr.parsedStyle),gt.closePath(),gt.clip())}Zn&&(this.applyWorldTransform(gt,Vt),gt.save(),this.applyAttributesToContext(gt,Vt)),Tr&&(gt.beginPath(),Tr(gt,Vt.parsedStyle),Dt!==_.bn.LINE&&Dt!==_.bn.PATH&&Dt!==_.bn.POLYLINE&>.closePath()),Zn&&(Zn.render(gt,Vt.parsedStyle,Vt,yt,this,rn),gt.restore()),Vt.dirty(!1)}},{key:"applyAttributesToContext",value:function(Vt,gt){var yt=gt.parsedStyle,Ft=yt.stroke,rn=yt.fill,Dt=yt.opacity,jn=yt.lineDash,Zn=yt.lineDashOffset;jn&&Vt.setLineDash(jn),(0,te.Z)(Zn)||(Vt.lineDashOffset=Zn),(0,te.Z)(Dt)||(Vt.globalAlpha*=Dt),!(0,te.Z)(Ft)&&!Array.isArray(Ft)&&!Ft.isNone&&(Vt.strokeStyle=gt.attributes.stroke),!(0,te.Z)(rn)&&!Array.isArray(rn)&&!rn.isNone&&(Vt.fillStyle=gt.attributes.fill)}},{key:"convertAABB2Rect",value:function(Vt){var gt=Vt.getMin(),yt=Vt.getMax(),Ft=Math.floor(gt[0]),rn=Math.floor(gt[1]),Dt=Math.ceil(yt[0]),jn=Math.ceil(yt[1]),Zn=Dt-Ft,Tr=jn-rn;return{x:Ft,y:rn,width:Zn,height:Tr}}},{key:"mergeDirtyAABBs",value:function(Vt){var gt=new _.mN;return Vt.forEach(function(yt){var Ft=yt.getRenderBounds();gt.add(Ft);var rn=yt.renderable.dirtyRenderBounds;rn&>.add(rn)}),gt}},{key:"saveDirtyAABB",value:function(Vt){var gt=Vt.renderable;gt.dirtyRenderBounds||(gt.dirtyRenderBounds=new _.mN);var yt=Vt.getRenderBounds();yt&>.dirtyRenderBounds.update(yt.center,yt.halfExtents)}},{key:"applyWorldTransform",value:function(Vt,gt,yt){yt?(z.copy(this.tmpMat4,gt.getLocalTransform()),z.multiply(this.tmpMat4,yt,this.tmpMat4),z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)):(z.copy(this.tmpMat4,gt.getWorldTransform()),z.multiply(this.tmpMat4,this.vpMatrix,this.tmpMat4)),Vt.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 Vt=new _.mN,gt=arguments.length,yt=new Array(gt),Ft=0;Ft0;if(Qr){if(yt||gt.attributes.stroke!==Ft.prevObject.attributes.stroke){var Ne=!(0,te.Z)(Dt.stroke)&&!Array.isArray(Dt.stroke)&&!Dt.stroke.isNone?gt.attributes.stroke:cn.strokeStyle;vn(Vt,"strokeStyle",Ne,Ft.currentContext)}(yt||Dt.lineWidth!==rn.lineWidth)&&vn(Vt,"lineWidth",(0,te.Z)(Dt.lineWidth)?cn.lineWidth:Dt.lineWidth,Ft.currentContext),(yt||Dt.lineDash!==rn.lineDash)&&vn(Vt,"lineDash",Dt.lineDash||cn.lineDash,Ft.currentContext),(yt||Dt.lineDashOffset!==rn.lineDashOffset)&&vn(Vt,"lineDashOffset",(0,te.Z)(Dt.lineDashOffset)?cn.lineDashOffset:Dt.lineDashOffset,Ft.currentContext);for(var V=0;V<$t.length;V++){var W=$t[V];(yt||Dt[W]!==rn[W])&&vn(Vt,W,(0,te.Z)(Dt[W])?cn[W]:Dt[W],Ft.currentContext)}}if(Tr&&(yt||gt.attributes.fill!==Ft.prevObject.attributes.fill)){var S=!(0,te.Z)(Dt.fill)&&!Array.isArray(Dt.fill)&&!Dt.fill.isNone?gt.attributes.fill:cn.fillStyle;vn(Vt,"fillStyle",S,Ft.currentContext)}}},{key:"applyStyleToContext",value:function(Vt,gt,yt,Ft){var rn=gt.nodeName;this.applyCommonStyleToContext(Vt,gt,yt,Ft),rn===_.bn.IMAGE||this.applyStrokeFillStyleToContext(Vt,gt,yt,Ft)}},{key:"applyShadowAndFilterStyleToContext",value:function(Vt,gt,yt,Ft){var rn=gt.parsedStyle;if(yt){vn(Vt,"shadowColor",rn.shadowColor.toString(),Ft.currentContext);for(var Dt=0;Dt4&&arguments[4]!==void 0?arguments[4]:!1;if(gt){vn(Vt,"shadowColor",cn.shadowColor,Ft.currentContext);for(var Dt=0;Dt-1&&vn(Vt,"filter",Zn.replace(/drop-shadow\([^)]*\)/,"").trim()||cn.filter,Ft.currentContext)}else vn(Vt,"filter",cn.filter,Ft.currentContext)}},{key:"fillToContext",value:function(Vt,gt,yt,Ft,rn){var Dt=this,jn=gt.parsedStyle,Zn=jn.fill,Tr=jn.fillRule,Qr=null;if(Array.isArray(Zn)&&Zn.length>0)Zn.forEach(function(V){var W=vn(Vt,"fillStyle",Je(V,gt,Vt,Dt.imagePool),yt.currentContext);Qr=Qr!=null?Qr:W,Tr?Vt.fill(Tr):Vt.fill()});else{if((0,_.R)(Zn)){var Ne=Ge(Zn,gt,Vt,gt.ownerDocument.defaultView.context,Ft,rn,this.imagePool);Ne&&(Vt.fillStyle=Ne,Qr=!0)}Tr?Vt.fill(Tr):Vt.fill()}Qr!==null&&vn(Vt,"fillStyle",Qr,yt.currentContext)}},{key:"strokeToContext",value:function(Vt,gt,yt,Ft,rn){var Dt=this,jn=gt.parsedStyle.stroke,Zn=null;if(Array.isArray(jn)&&jn.length>0)jn.forEach(function(Ne){var V=vn(Vt,"strokeStyle",Je(Ne,gt,Vt,Dt.imagePool),yt.currentContext);Zn=Zn!=null?Zn:V,Vt.stroke()});else{if((0,_.R)(jn)){var Tr=Ge(jn,gt,Vt,gt.ownerDocument.defaultView.context,Ft,rn,this.imagePool);if(Tr){var Qr=vn(Vt,"strokeStyle",Tr,yt.currentContext);Zn=Zn!=null?Zn:Qr}}Vt.stroke()}Zn!==null&&vn(Vt,"strokeStyle",Zn,yt.currentContext)}},{key:"drawToContext",value:function(Vt,gt,yt,Ft,rn){var Dt,jn=gt.nodeName,Zn=gt.parsedStyle,Tr=Zn.opacity,Qr=Tr===void 0?cn.globalAlpha:Tr,Ne=Zn.fillOpacity,V=Ne===void 0?cn.fillOpacity:Ne,W=Zn.strokeOpacity,S=W===void 0?cn.strokeOpacity:W,H=Zn.lineWidth,J=H===void 0?cn.lineWidth:H,Ae=Zn.fill&&!Zn.fill.isNone,me=Zn.stroke&&!Zn.stroke.isNone&&J>0;if(!(!Ae&&!me)){var $e=!(0,te.Z)(Zn.shadowColor)&&Zn.shadowBlur>0,Ke=Zn.shadowType==="inner",Xt=((Dt=Zn.fill)===null||Dt===void 0?void 0:Dt.alpha)===0,Se=!!(Zn.filter&&Zn.filter.length),Oe=$e&&me&&(jn===_.bn.PATH||jn===_.bn.LINE||jn===_.bn.POLYLINE||Xt||Ke),Ee=null;if(Ae){Oe||this.applyShadowAndFilterStyleToContext(Vt,gt,$e,yt);var Ue=Qr*V;Ee=vn(Vt,"globalAlpha",Ue,yt.currentContext),this.fillToContext(Vt,gt,yt,Ft,rn),Oe||this.clearShadowAndFilterStyleForContext(Vt,$e,Se,yt)}if(me){var at=!1,Ut=Qr*S,ut=vn(Vt,"globalAlpha",Ut,yt.currentContext);if(Ee=Ae?Ee:ut,Oe&&(this.applyShadowAndFilterStyleToContext(Vt,gt,$e,yt),at=!0,Ke)){var Lt=Vt.globalCompositeOperation;Vt.globalCompositeOperation="source-atop",this.strokeToContext(Vt,gt,yt,Ft,rn),Vt.globalCompositeOperation=Lt,this.clearShadowAndFilterStyleForContext(Vt,$e,Se,yt,!0)}this.strokeToContext(Vt,gt,yt,Ft,rn),at&&this.clearShadowAndFilterStyleForContext(Vt,$e,Se,yt)}Ee!==null&&vn(Vt,"globalAlpha",Ee,yt.currentContext)}}}])}(),xn=function(on){function Yt(){return(0,O.Z)(this,Yt),(0,B.Z)(this,Yt,arguments)}return(0,R.Z)(Yt,on),(0,m.Z)(Yt,[{key:"render",value:function(gt,yt,Ft,rn,Dt,jn){var Zn=yt.fill,Tr=yt.fillRule,Qr=yt.opacity,Ne=Qr===void 0?1:Qr,V=yt.fillOpacity,W=V===void 0?1:V,S=yt.stroke,H=yt.strokeOpacity,J=H===void 0?1:H,Ae=yt.lineWidth,me=Ae===void 0?1:Ae,$e=yt.lineCap,Ke=yt.lineJoin,Xt=yt.shadowType,Se=yt.shadowColor,Oe=yt.shadowBlur,Ee=yt.filter,Ue=yt.miterLimit,at=Zn&&!Zn.isNone,Ut=S&&!S.isNone&&me>0,ut=(Zn==null?void 0:Zn.alpha)===0,Lt=!!(Ee&&Ee.length),qt=!(0,te.Z)(Se)&&Oe>0,Tn=Ft.nodeName,Rn=Xt==="inner",ir=Ut&&qt&&(Tn===_.bn.PATH||Tn===_.bn.LINE||Tn===_.bn.POLYLINE||ut||Rn);at&&(gt.globalAlpha=Ne*W,ir||Un(Ft,gt,qt),ke(gt,Ft,Zn,Tr,rn,Dt,jn,this.imagePool),ir||this.clearShadowAndFilter(gt,Lt,qt)),Ut&&(gt.globalAlpha=Ne*J,gt.lineWidth=me,(0,te.Z)(Ue)||(gt.miterLimit=Ue),(0,te.Z)($e)||(gt.lineCap=$e),(0,te.Z)(Ke)||(gt.lineJoin=Ke),ir&&(Rn&&(gt.globalCompositeOperation="source-atop"),Un(Ft,gt,!0),Rn&&(ot(gt,Ft,S,rn,Dt,jn,this.imagePool),gt.globalCompositeOperation=cn.globalCompositeOperation,this.clearShadowAndFilter(gt,Lt,!0))),ot(gt,Ft,S,rn,Dt,jn,this.imagePool))}},{key:"clearShadowAndFilter",value:function(gt,yt,Ft){if(Ft&&(gt.shadowColor="transparent",gt.shadowBlur=0),yt){var rn=gt.filter;!(0,te.Z)(rn)&&rn.indexOf("drop-shadow")>-1&&(gt.filter=rn.replace(/drop-shadow\([^)]*\)/,"").trim()||"none")}}}])}(Qn);function Un(on,Yt,Vt){var gt=on.parsedStyle,yt=gt.filter,Ft=gt.shadowColor,rn=gt.shadowBlur,Dt=gt.shadowOffsetX,jn=gt.shadowOffsetY;yt&&yt.length&&(Yt.filter=on.style.filter),Vt&&(Yt.shadowColor=Ft.toString(),Yt.shadowBlur=rn||0,Yt.shadowOffsetX=Dt||0,Yt.shadowOffsetY=jn||0)}function ke(on,Yt,Vt,gt,yt,Ft,rn,Dt){var jn=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;Array.isArray(Vt)?Vt.forEach(function(Zn){on.fillStyle=Je(Zn,Yt,on,Dt),jn||(gt?on.fill(gt):on.fill())}):((0,_.R)(Vt)&&(on.fillStyle=Ge(Vt,Yt,on,yt,Ft,rn,Dt)),jn||(gt?on.fill(gt):on.fill()))}function ot(on,Yt,Vt,gt,yt,Ft,rn){var Dt=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1;Array.isArray(Vt)?Vt.forEach(function(jn){on.strokeStyle=Je(jn,Yt,on,rn),Dt||on.stroke()}):((0,_.R)(Vt)&&(on.strokeStyle=Ge(Vt,Yt,on,gt,yt,Ft,rn)),Dt||on.stroke())}function Ht(on,Yt){var Vt=(0,N.Z)(on,4),gt=Vt[0],yt=Vt[1],Ft=Vt[2],rn=Vt[3],Dt=(0,N.Z)(Yt,4),jn=Dt[0],Zn=Dt[1],Tr=Dt[2],Qr=Dt[3],Ne=Math.max(gt,jn),V=Math.max(yt,Zn),W=Math.min(gt+Ft,jn+Tr),S=Math.min(yt+rn,Zn+Qr);return W<=Ne||S<=V?null:[Ne,V,W-Ne,S-V]}function On(on,Yt){var Vt=ee.fF(ee.Ue(),[on[0],on[1],0],Yt),gt=ee.fF(ee.Ue(),[on[0]+on[2],on[1],0],Yt),yt=ee.fF(ee.Ue(),[on[0],on[1]+on[3],0],Yt),Ft=ee.fF(ee.Ue(),[on[0]+on[2],on[1]+on[3],0],Yt);return[Math.min(Vt[0],gt[0],yt[0],Ft[0]),Math.min(Vt[1],gt[1],yt[1],Ft[1]),Math.max(Vt[0],gt[0],yt[0],Ft[0])-Math.min(Vt[0],gt[0],yt[0],Ft[0]),Math.max(Vt[1],gt[1],yt[1],Ft[1])-Math.min(Vt[1],gt[1],yt[1],Ft[1])]}var xt=function(on){function Yt(){return(0,O.Z)(this,Yt),(0,B.Z)(this,Yt,arguments)}return(0,R.Z)(Yt,on),(0,m.Z)(Yt,[{key:"renderDownSampled",value:function(gt,yt,Ft,rn){var Dt=rn.src,jn=rn.imageCache;if(!jn.downSampled){this.imagePool.createDownSampledImage(Dt,Ft).then(function(){Ft.ownerDocument&&(Ft.dirty(),Ft.ownerDocument.defaultView.context.renderingService.dirty())}).catch(function(Zn){console.error(Zn)});return}gt.drawImage(jn.downSampled,Math.floor(rn.drawRect[0]),Math.floor(rn.drawRect[1]),Math.ceil(rn.drawRect[2]),Math.ceil(rn.drawRect[3]))}},{key:"renderTile",value:function(gt,yt,Ft,rn){var Dt=rn.src,jn=rn.imageCache,Zn=rn.imageRect,Tr=rn.drawRect,Qr=jn.size,Ne=gt.getTransform(),V=Ne.a,W=Ne.b,S=Ne.c,H=Ne.d,J=Ne.e,Ae=Ne.f;if(gt.resetTransform(),!(jn!=null&&jn.gridSize)){this.imagePool.createImageTiles(Dt,[],function(){Ft.ownerDocument&&(Ft.dirty(),Ft.ownerDocument.defaultView.context.renderingService.dirty())},Ft).catch(function(qt){console.error(qt)});return}for(var me=[Qr[0]/Zn[2],Qr[1]/Zn[3]],$e=[jn.tileSize[0]/me[0],jn.tileSize[1]/me[1]],Ke=[Math.floor((Tr[0]-Zn[0])/$e[0]),Math.ceil((Tr[0]+Tr[2]-Zn[0])/$e[0])],Xt=Ke[0],Se=Ke[1],Oe=[Math.floor((Tr[1]-Zn[1])/$e[1]),Math.ceil((Tr[1]+Tr[3]-Zn[1])/$e[1])],Ee=Oe[0],Ue=Oe[1],at=Ee;at<=Ue;at++)for(var Ut=Xt;Ut<=Se;Ut++){var ut=jn.tiles[at][Ut];if(ut){var Lt=[Math.floor(Zn[0]+ut.tileX*$e[0]),Math.floor(Zn[1]+ut.tileY*$e[1]),Math.ceil($e[0]),Math.ceil($e[1])];gt.drawImage(ut.data,Lt[0],Lt[1],Lt[2],Lt[3])}}gt.setTransform(V,W,S,H,J,Ae)}},{key:"render",value:function(gt,yt,Ft){var rn=yt.x,Dt=rn===void 0?0:rn,jn=yt.y,Zn=jn===void 0?0:jn,Tr=yt.width,Qr=yt.height,Ne=yt.src,V=yt.shadowColor,W=yt.shadowBlur,S=this.imagePool.getImageSync(Ne,Ft),H=S==null?void 0:S.img,J=Tr,Ae=Qr;if(H){J||(J=H.width),Ae||(Ae=H.height);var me=!(0,te.Z)(V)&&W>0;Un(Ft,gt,me);try{var $e=Ft.ownerDocument.defaultView.getContextService().getDomElement(),Ke=$e.width,Xt=$e.height,Se=gt.getTransform(),Oe=Se.a,Ee=Se.b,Ue=Se.c,at=Se.d,Ut=Se.e,ut=Se.f,Lt=z.fromValues(Oe,Ue,0,0,Ee,at,0,0,0,0,1,0,Ut,ut,0,1),qt=On([Dt,Zn,J,Ae],Lt),Tn=Ht([0,0,Ke,Xt],qt);if(!Tn)return;if(!Ft.ownerDocument.defaultView.getConfig().enableLargeImageOptimization){Yt.renderFull(gt,yt,Ft,{image:H,drawRect:[Dt,Zn,J,Ae]});return}var Rn=qt[2]/S.size[0];if(Rn<(S.downSamplingRate||.5)){this.renderDownSampled(gt,yt,Ft,{src:Ne,imageCache:S,drawRect:[Dt,Zn,J,Ae]});return}if(!ImagePool.isSupportTile){Yt.renderFull(gt,yt,Ft,{image:H,drawRect:[Dt,Zn,J,Ae]});return}this.renderTile(gt,yt,Ft,{src:Ne,imageCache:S,imageRect:qt,drawRect:Tn})}catch(ir){}}}},{key:"drawToContext",value:function(gt,yt,Ft,rn,Dt){this.render(gt,yt.parsedStyle,yt)}}],[{key:"renderFull",value:function(gt,yt,Ft,rn){gt.drawImage(rn.image,Math.floor(rn.drawRect[0]),Math.floor(rn.drawRect[1]),Math.ceil(rn.drawRect[2]),Math.ceil(rn.drawRect[3]))}}])}(xn),Pt=function(on){function Yt(){return(0,O.Z)(this,Yt),(0,B.Z)(this,Yt,arguments)}return(0,R.Z)(Yt,on),(0,m.Z)(Yt,[{key:"render",value:function(gt,yt,Ft,rn,Dt,jn){Ft.getBounds();var Zn=yt.lineWidth,Tr=Zn===void 0?1:Zn,Qr=yt.textAlign,Ne=Qr===void 0?"start":Qr,V=yt.textBaseline,W=V===void 0?"alphabetic":V,S=yt.lineJoin,H=S===void 0?"miter":S,J=yt.miterLimit,Ae=J===void 0?10:J,me=yt.letterSpacing,$e=me===void 0?0:me,Ke=yt.stroke,Xt=yt.fill,Se=yt.fillRule,Oe=yt.fillOpacity,Ee=Oe===void 0?1:Oe,Ue=yt.strokeOpacity,at=Ue===void 0?1:Ue,Ut=yt.opacity,ut=Ut===void 0?1:Ut,Lt=yt.metrics,qt=yt.x,Tn=qt===void 0?0:qt,Rn=yt.y,ir=Rn===void 0?0:Rn,Ln=yt.dx,Gn=yt.dy,_r=yt.shadowColor,un=yt.shadowBlur,Bn=yt.textDecorationLine,lr=Lt.font,cr=Lt.lines,Fr=Lt.height,zr=Lt.lineHeight,Wr=Lt.lineMetrics;gt.font=lr,gt.lineWidth=Tr,gt.textAlign=Ne==="middle"?"center":Ne;var Vr=W;Vr==="alphabetic"&&(Vr="bottom"),gt.lineJoin=H,(0,te.Z)(Ae)||(gt.miterLimit=Ae);var wi=ir;W==="middle"?wi+=-Fr/2-zr/2:W==="bottom"||W==="alphabetic"||W==="ideographic"?wi+=-Fr:(W==="top"||W==="hanging")&&(wi+=-zr);var Zr=Tn+(Ln||0);wi+=Gn||0,cr.length===1&&(Vr==="bottom"?(Vr="middle",wi-=.5*Fr):Vr==="top"&&(Vr="middle",wi+=.5*Fr)),gt.textBaseline=Vr;var Ei=!(0,te.Z)(_r)&&un>0;Un(Ft,gt,Ei);for(var Yi=0;Yi0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,Yt),Vt=(0,B.Z)(this,Yt),Vt.name="canvas-renderer",Vt.options=gt,Vt}return(0,R.Z)(Yt,on),(0,m.Z)(Yt,[{key:"init",value:function(){var gt,yt=(0,E.Z)({dirtyObjectNumThreshold:500,dirtyObjectRatioThreshold:.8},this.options),Ft=this.context.imagePool,rn=new xn(Ft),Dt=(gt={},(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)(gt,_.bn.CIRCLE,rn),_.bn.ELLIPSE,rn),_.bn.RECT,rn),_.bn.IMAGE,new xt(Ft)),_.bn.TEXT,new Pt(Ft)),_.bn.LINE,rn),_.bn.POLYLINE,rn),_.bn.POLYGON,rn),_.bn.PATH,rn),_.bn.GROUP,void 0),(0,I.Z)((0,I.Z)((0,I.Z)(gt,_.bn.HTML,void 0),_.bn.MESH,void 0),_.bn.FRAGMENT,void 0));this.context.defaultStyleRendererFactory=Dt,this.context.styleRendererFactory=Dt,this.addRenderingPlugin(new be(yt))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins(),delete this.context.defaultStyleRendererFactory,delete this.context.styleRendererFactory}}])}(_.F6),pt=Object.freeze({__proto__:null,CircleRenderer:xn,DefaultRenderer:xn,EllipseRenderer:xn,ImageRenderer:xt,LineRenderer:xn,PathRenderer:xn,Plugin:tn,PolygonRenderer:xn,PolylineRenderer:xn,RectRenderer:xn,TextRenderer:Pt}),lt=ee.Ue(),ae=ee.Ue(),re=ee.Ue(),Ie=z.create(),Ct=function(){function on(){var Yt=this;(0,O.Z)(this,on),this.isHit=function(Vt,gt,yt,Ft){var rn=Yt.context.pointInPathPickerFactory[Vt.nodeName];if(rn){var Dt=z.invert(Ie,yt),jn=ee.fF(ae,ee.t8(re,gt[0],gt[1],0),Dt);if(rn(Vt,new _.E9(jn[0],jn[1]),Ft,Yt.isPointInPath,Yt.context,Yt.runtime))return!0}return!1},this.isPointInPath=function(Vt,gt){var yt=Yt.runtime.offscreenCanvasCreator.getOrCreateContext(Yt.context.config.offscreenCanvas),Ft=Yt.context.pathGeneratorFactory[Vt.nodeName];return Ft&&(yt.beginPath(),Ft(yt,Vt.parsedStyle),yt.closePath()),yt.isPointInPath(gt.x,gt.y)}}return(0,m.Z)(on,[{key:"apply",value:function(Vt,gt){var yt,Ft=this,rn=Vt.renderingService,Dt=Vt.renderingContext;this.context=Vt,this.runtime=gt;var jn=(yt=Dt.root)===null||yt===void 0?void 0:yt.ownerDocument;rn.hooks.pick.tapPromise(on.tag,function(){var Zn=(0,Ze.Z)((0,Me.Z)().mark(function Tr(Qr){return(0,Me.Z)().wrap(function(Ne){for(;;)switch(Ne.prev=Ne.next){case 0:return Ne.abrupt("return",Ft.pick(jn,Qr));case 1:case"end":return Ne.stop()}},Tr)}));return function(Tr){return Zn.apply(this,arguments)}}()),rn.hooks.pickSync.tap(on.tag,function(Zn){return Ft.pick(jn,Zn)})}},{key:"pick",value:function(Vt,gt){var yt=gt.topmost,Ft=gt.position,rn=Ft.x,Dt=Ft.y,jn=ee.t8(lt,rn,Dt,0),Zn=Vt.elementsFromBBox(jn[0],jn[1],jn[0],jn[1]),Tr=[],Qr=(0,Le.Z)(Zn),Ne;try{for(Qr.s();!(Ne=Qr.n()).done;){var V=Ne.value,W=V.getWorldTransform(),S=this.isHit(V,jn,W,!1);if(S){var H=(0,_.Oi)(V);if(H){var J=H.parsedStyle.clipPath,Ae=this.isHit(J,jn,J.getWorldTransform(),!0);if(Ae){if(yt)return gt.picked=[V],gt;Tr.push(V)}}else{if(yt)return gt.picked=[V],gt;Tr.push(V)}}}}catch(me){Qr.e(me)}finally{Qr.f()}return gt.picked=Tr,gt}}])}();Ct.tag="CanvasPicker";function Nt(on,Yt,Vt){var gt=on.parsedStyle,yt=gt.cx,Ft=yt===void 0?0:yt,rn=gt.cy,Dt=rn===void 0?0:rn,jn=gt.r,Zn=gt.fill,Tr=gt.stroke,Qr=gt.lineWidth,Ne=Qr===void 0?1:Qr,V=gt.increasedLineWidthForHitTesting,W=V===void 0?0:V,S=gt.pointerEvents,H=S===void 0?"auto":S,J=(Ne+W)/2,Ae=(0,Ye.TE)(Ft,Dt,Yt.x,Yt.y),me=(0,_.L1)(H,Zn,Tr),$e=(0,N.Z)(me,2),Ke=$e[0],Xt=$e[1];return Ke&&Xt||Vt?Ae<=jn+J:Ke?Ae<=jn:Xt?Ae>=jn-J&&Ae<=jn+J:!1}function ht(on,Yt,Vt,gt){return on/(Vt*Vt)+Yt/(gt*gt)}function Wt(on,Yt,Vt){var gt=on.parsedStyle,yt=gt.cx,Ft=yt===void 0?0:yt,rn=gt.cy,Dt=rn===void 0?0:rn,jn=gt.rx,Zn=gt.ry,Tr=gt.fill,Qr=gt.stroke,Ne=gt.lineWidth,V=Ne===void 0?1:Ne,W=gt.increasedLineWidthForHitTesting,S=W===void 0?0:W,H=gt.pointerEvents,J=H===void 0?"auto":H,Ae=Yt.x,me=Yt.y,$e=(0,_.L1)(J,Tr,Qr),Ke=(0,N.Z)($e,2),Xt=Ke[0],Se=Ke[1],Oe=(V+S)/2,Ee=(Ae-Ft)*(Ae-Ft),Ue=(me-Dt)*(me-Dt);return Xt&&Se||Vt?ht(Ee,Ue,jn+Oe,Zn+Oe)<=1:Xt?ht(Ee,Ue,jn,Zn)<=1:Se?ht(Ee,Ue,jn-Oe,Zn-Oe)>=1&&ht(Ee,Ue,jn+Oe,Zn+Oe)<=1:!1}function zt(on,Yt,Vt,gt,yt,Ft){return yt>=on&&yt<=on+Vt&&Ft>=Yt&&Ft<=Yt+gt}function De(on,Yt,Vt,gt,yt,Ft,rn){var Dt=yt/2;return zt(on-Dt,Yt-Dt,Vt,yt,Ft,rn)||zt(on+Vt-Dt,Yt-Dt,yt,gt,Ft,rn)||zt(on+Dt,Yt+gt-Dt,Vt,yt,Ft,rn)||zt(on-Dt,Yt+Dt,yt,gt,Ft,rn)}function ft(on,Yt,Vt,gt,yt,Ft,rn,Dt){var jn=(Math.atan2(Dt-Yt,rn-on)+Math.PI*2)%(Math.PI*2),Zn={x:on+Vt*Math.cos(jn),y:Yt+Vt*Math.sin(jn)};return(0,Ye.TE)(Zn.x,Zn.y,rn,Dt)<=Ft/2}function bt(on,Yt,Vt,gt,yt,Ft,rn){var Dt=Math.min(on,Vt),jn=Math.max(on,Vt),Zn=Math.min(Yt,gt),Tr=Math.max(Yt,gt),Qr=yt/2;return Ft>=Dt-Qr&&Ft<=jn+Qr&&rn>=Zn-Qr&&rn<=Tr+Qr?(0,Ye._x)(on,Yt,Vt,gt,Ft,rn)<=yt/2:!1}function U(on,Yt,Vt,gt,yt){var Ft=on.length;if(Ft<2)return!1;for(var rn=0;rn0!=vt(Dt[1]-Vt)>0&&vt(Yt-(Vt-rn[1])*(rn[0]-Dt[0])/(rn[1]-Dt[1])-rn[0])<0&&(gt=!gt)}return gt}function jt(on,Yt,Vt){for(var gt=!1,yt=0;yt=yt.min[0]&&Yt.y>=yt.min[1]&&Yt.x<=yt.max[0]&&Yt.y<=yt.max[1]}var Mt=function(on){function Yt(){var Vt;(0,O.Z)(this,Yt);for(var gt=arguments.length,yt=new Array(gt),Ft=0;FtDt?rn:Dt,Zn=rn>Dt?1:rn/Dt,Tr=rn>Dt?Dt/rn:1;on.save(),on.scale(Zn,Tr),on.arc(gt,Ft,jn,0,Math.PI*2)}}function _n(on,Yt){var Vt=Yt.x1,gt=Yt.y1,yt=Yt.x2,Ft=Yt.y2,rn=Yt.markerStart,Dt=Yt.markerEnd,jn=Yt.markerStartOffset,Zn=Yt.markerEndOffset,Tr=0,Qr=0,Ne=0,V=0,W=0,S,H;rn&&(0,_.RV)(rn)&&jn&&(S=yt-Vt,H=Ft-gt,W=Math.atan2(H,S),Tr=Math.cos(W)*(jn||0),Qr=Math.sin(W)*(jn||0)),Dt&&(0,_.RV)(Dt)&&Zn&&(S=Vt-yt,H=gt-Ft,W=Math.atan2(H,S),Ne=Math.cos(W)*(Zn||0),V=Math.sin(W)*(Zn||0)),on.moveTo(Vt+Tr,gt+Qr),on.lineTo(yt+Ne,Ft+V)}function er(on,Yt){var Vt=Yt.markerStart,gt=Yt.markerEnd,yt=Yt.markerStartOffset,Ft=Yt.markerEndOffset,rn=Yt.d,Dt=rn.absolutePath,jn=rn.segments,Zn=0,Tr=0,Qr=0,Ne=0,V=0,W,S;if(Vt&&(0,_.RV)(Vt)&&yt){var H=Vt.parentNode.getStartTangent(),J=(0,N.Z)(H,2),Ae=J[0],me=J[1];W=Ae[0]-me[0],S=Ae[1]-me[1],V=Math.atan2(S,W),Zn=Math.cos(V)*(yt||0),Tr=Math.sin(V)*(yt||0)}if(gt&&(0,_.RV)(gt)&&Ft){var $e=gt.parentNode.getEndTangent(),Ke=(0,N.Z)($e,2),Xt=Ke[0],Se=Ke[1];W=Xt[0]-Se[0],S=Xt[1]-Se[1],V=Math.atan2(S,W),Qr=Math.cos(V)*(Ft||0),Ne=Math.sin(V)*(Ft||0)}for(var Oe=0;OeFr?cr:Fr,Ei=cr>Fr?1:cr/Fr,Yi=cr>Fr?Fr/cr:1;on.translate(Bn,lr),on.rotate(Vr),on.scale(Ei,Yi),on.arc(0,0,Zr,zr,Wr,!!(1-wi)),on.scale(1/Ei,1/Yi),on.rotate(-Vr),on.translate(-Bn,-lr)}ut&&on.lineTo(Ee[6]+Qr,Ee[7]+Ne);break}case"Z":on.closePath();break}}}function Mr(on,Yt){var Vt=Yt.markerStart,gt=Yt.markerEnd,yt=Yt.markerStartOffset,Ft=Yt.markerEndOffset,rn=Yt.points.points,Dt=rn.length,jn=rn[0][0],Zn=rn[0][1],Tr=rn[Dt-1][0],Qr=rn[Dt-1][1],Ne=0,V=0,W=0,S=0,H=0,J,Ae;Vt&&(0,_.RV)(Vt)&&yt&&(J=rn[1][0]-rn[0][0],Ae=rn[1][1]-rn[0][1],H=Math.atan2(Ae,J),Ne=Math.cos(H)*(yt||0),V=Math.sin(H)*(yt||0)),gt&&(0,_.RV)(gt)&&Ft&&(J=rn[Dt-1][0]-rn[0][0],Ae=rn[Dt-1][1]-rn[0][1],H=Math.atan2(Ae,J),W=Math.cos(H)*(Ft||0),S=Math.sin(H)*(Ft||0)),on.moveTo(jn+(Ne||W),Zn+(V||S));for(var me=1;me0?1:-1,V=jn>0?1:-1,W=Ne+V===0,S=rn.map(function(Ke){return(0,pe.Z)(Ke,0,Math.min(Math.abs(Zn)/2,Math.abs(Tr)/2))}),H=(0,N.Z)(S,4),J=H[0],Ae=H[1],me=H[2],$e=H[3];on.moveTo(Ne*J+gt,Ft),on.lineTo(Zn-Ne*Ae+gt,Ft),Ae!==0&&on.arc(Zn-Ne*Ae+gt,V*Ae+Ft,Ae,-V*Math.PI/2,Ne>0?0:Math.PI,W),on.lineTo(Zn+gt,Tr-V*me+Ft),me!==0&&on.arc(Zn-Ne*me+gt,Tr-V*me+Ft,me,Ne>0?0:Math.PI,V>0?Math.PI/2:1.5*Math.PI,W),on.lineTo(Ne*$e+gt,Tr+Ft),$e!==0&&on.arc(Ne*$e+gt,Tr-V*$e+Ft,$e,V>0?Math.PI/2:-Math.PI/2,Ne>0?Math.PI:0,W),on.lineTo(gt,V*J+Ft),J!==0&&on.arc(Ne*J+gt,V*J+Ft,J,Ne>0?Math.PI:0,V>0?Math.PI*1.5:Math.PI/2,W)}}var br=function(on){function Yt(){var Vt;(0,O.Z)(this,Yt);for(var gt=arguments.length,yt=new Array(gt),Ft=0;Ft0&&Dt[0]!==void 0?Dt[0]:{},Ft=yt.type,rn=yt.encoderOptions,jn.abrupt("return",this.context.canvas.toDataURL(Ft,rn));case 1:case"end":return jn.stop()}},gt,this)}));function Vt(){return Yt.apply(this,arguments)}return Vt}()}])}(),Vi=function(on){function Yt(){var Vt;(0,O.Z)(this,Yt);for(var gt=arguments.length,yt=new Array(gt),Ft=0;Ft=Te[p]&&(p==="m"&&g.length>2?(w.segments.push([M].concat(g.splice(0,2))),p="l",M=M==="m"?"l":"L"):w.segments.push([M].concat(g.splice(0,Te[p]))),!!Te[p]););}function cn(w){var M=w.index,p=w.pathValue,g=p.charCodeAt(M);if(g===48){w.param=0,w.index+=1;return}if(g===49){w.param=1,w.index+=1;return}w.err='[path-util]: invalid Arc flag "'.concat(p[M],'", expecting 0 or 1 at index ').concat(M)}function Sn(w){return w>=48&&w<=57||w===43||w===45||w===46}function vn(w){return w>=48&&w<=57}function Qn(w){var M=w.max,p=w.pathValue,g=w.index,C=g,Q=!1,Z=!1,ne=!1,_e=!1,Ve;if(C>=M){w.err="[path-util]: Invalid path value at index ".concat(C,', "pathValue" is missing param');return}if(Ve=p.charCodeAt(C),(Ve===43||Ve===45)&&(C+=1,Ve=p.charCodeAt(C)),!vn(Ve)&&Ve!==46){w.err="[path-util]: Invalid path value at index ".concat(C,', "').concat(p[C],'" is not a number');return}if(Ve!==46){if(Q=Ve===48,C+=1,Ve=p.charCodeAt(C),Q&&C=5760&&M.includes(w)}function Un(w){for(var M=w.pathValue,p=w.max;w.index0;Z-=1){if(ot(C)&&(Z===3||Z===4)?cn(w):Qn(w),w.err.length)return;w.data.push(w.param),Un(w),w.index=w.max||!Sn(p.charCodeAt(w.index)))break}$t(w)}var On=function(){function w(M){this.pathValue=M,this.segments=[],this.max=M.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}return w}();function xt(w){if(be(w))return[].concat(w);var M=new On(w);for(Un(M);M.index=Q)Z={x:p,y:g};else{var ne=lt([w,M],[p,g],C/Q),_e=ne[0],Ve=ne[1];Z={x:_e,y:Ve}}return{length:Q,point:Z,min:{x:Math.min(w,p),y:Math.min(M,g)},max:{x:Math.max(w,p),y:Math.max(M,g)}}}function re(w,M){var p=w.x,g=w.y,C=M.x,Q=M.y,Z=p*C+g*Q,ne=Math.sqrt((Math.pow(p,2)+Math.pow(g,2))*(Math.pow(C,2)+Math.pow(Q,2))),_e=p*Q-g*C<0?-1:1,Ve=_e*Math.acos(Z/ne);return Ve}function Ie(w,M,p,g,C,Q,Z,ne,_e,Ve){var At=Math.abs,Bt=Math.sin,Zt=Math.cos,En=Math.sqrt,mn=Math.PI,kn=At(p),Jn=At(g),nr=(C%360+360)%360,Kn=nr*(mn/180);if(w===ne&&M===_e)return{x:w,y:M};if(kn===0||Jn===0)return ae(w,M,ne,_e,Ve).point;var wr=(w-ne)/2,qr=(M-_e)/2,ji={x:Zt(Kn)*wr+Bt(Kn)*qr,y:-Bt(Kn)*wr+Zt(Kn)*qr},Ki=Math.pow(ji.x,2)/Math.pow(kn,2)+Math.pow(ji.y,2)/Math.pow(Jn,2);Ki>1&&(kn*=En(Ki),Jn*=En(Ki));var yi=Math.pow(kn,2)*Math.pow(Jn,2)-Math.pow(kn,2)*Math.pow(ji.y,2)-Math.pow(Jn,2)*Math.pow(ji.x,2),_i=Math.pow(kn,2)*Math.pow(ji.y,2)+Math.pow(Jn,2)*Math.pow(ji.x,2),ws=yi/_i;ws=ws<0?0:ws;var Es=(Q!==Z?1:-1)*En(ws),ks={x:Es*(kn*ji.y/Jn),y:Es*(-(Jn*ji.x)/kn)},ys={x:Zt(Kn)*ks.x-Bt(Kn)*ks.y+(w+ne)/2,y:Bt(Kn)*ks.x+Zt(Kn)*ks.y+(M+_e)/2},la={x:(ji.x-ks.x)/kn,y:(ji.y-ks.y)/Jn},Go=re({x:1,y:0},la),hl={x:(-ji.x-ks.x)/kn,y:(-ji.y-ks.y)/Jn},xl=re(la,hl);!Z&&xl>0?xl-=2*mn:Z&&xl<0&&(xl+=2*mn),xl%=2*mn;var Ys=Go+xl*Ve,G=kn*Zt(Ys),L=Jn*Bt(Ys),K={x:Zt(Kn)*G-Bt(Kn)*L+ys.x,y:Bt(Kn)*G+Zt(Kn)*L+ys.y};return K}function Ct(w,M,p,g,C,Q,Z,ne,_e,Ve,At){var Bt,Zt=At.bbox,En=Zt===void 0?!0:Zt,mn=At.length,kn=mn===void 0?!0:mn,Jn=At.sampleSize,nr=Jn===void 0?30:Jn,Kn=typeof Ve=="number",wr=w,qr=M,ji=0,Ki=[wr,qr,ji],yi=[wr,qr],_i=0,ws={x:0,y:0},Es=[{x:wr,y:qr}];Kn&&Ve<=0&&(ws={x:wr,y:qr});for(var ks=0;ks<=nr;ks+=1){if(_i=ks/nr,Bt=Ie(w,M,p,g,C,Q,Z,ne,_e,_i),wr=Bt.x,qr=Bt.y,En&&Es.push({x:wr,y:qr}),kn&&(ji+=(0,fe.y)(yi,[wr,qr])),yi=[wr,qr],Kn&&ji>=Ve&&Ve>Ki[2]){var ys=(ji-Ve)/(ji-Ki[2]);ws={x:yi[0]*(1-ys)+Ki[0]*ys,y:yi[1]*(1-ys)+Ki[1]*ys}}Ki=[wr,qr,ji]}return Kn&&Ve>=ji&&(ws={x:ne,y:_e}),{length:ji,point:ws,min:{x:Math.min.apply(null,Es.map(function(la){return la.x})),y:Math.min.apply(null,Es.map(function(la){return la.y}))},max:{x:Math.max.apply(null,Es.map(function(la){return la.x})),y:Math.max.apply(null,Es.map(function(la){return la.y}))}}}function Nt(w,M,p,g,C,Q,Z,ne,_e){var Ve=1-_e;return{x:Math.pow(Ve,3)*w+3*Math.pow(Ve,2)*_e*p+3*Ve*Math.pow(_e,2)*C+Math.pow(_e,3)*Z,y:Math.pow(Ve,3)*M+3*Math.pow(Ve,2)*_e*g+3*Ve*Math.pow(_e,2)*Q+Math.pow(_e,3)*ne}}function ht(w,M,p,g,C,Q,Z,ne,_e,Ve){var At,Bt=Ve.bbox,Zt=Bt===void 0?!0:Bt,En=Ve.length,mn=En===void 0?!0:En,kn=Ve.sampleSize,Jn=kn===void 0?10:kn,nr=typeof _e=="number",Kn=w,wr=M,qr=0,ji=[Kn,wr,qr],Ki=[Kn,wr],yi=0,_i={x:0,y:0},ws=[{x:Kn,y:wr}];nr&&_e<=0&&(_i={x:Kn,y:wr});for(var Es=0;Es<=Jn;Es+=1){if(yi=Es/Jn,At=Nt(w,M,p,g,C,Q,Z,ne,yi),Kn=At.x,wr=At.y,Zt&&ws.push({x:Kn,y:wr}),mn&&(qr+=(0,fe.y)(Ki,[Kn,wr])),Ki=[Kn,wr],nr&&qr>=_e&&_e>ji[2]){var ks=(qr-_e)/(qr-ji[2]);_i={x:Ki[0]*(1-ks)+ji[0]*ks,y:Ki[1]*(1-ks)+ji[1]*ks}}ji=[Kn,wr,qr]}return nr&&_e>=qr&&(_i={x:Z,y:ne}),{length:qr,point:_i,min:{x:Math.min.apply(null,ws.map(function(ys){return ys.x})),y:Math.min.apply(null,ws.map(function(ys){return ys.y}))},max:{x:Math.max.apply(null,ws.map(function(ys){return ys.x})),y:Math.max.apply(null,ws.map(function(ys){return ys.y}))}}}function Wt(w,M,p,g,C,Q,Z){var ne=1-Z;return{x:Math.pow(ne,2)*w+2*ne*Z*p+Math.pow(Z,2)*C,y:Math.pow(ne,2)*M+2*ne*Z*g+Math.pow(Z,2)*Q}}function zt(w,M,p,g,C,Q,Z,ne){var _e,Ve=ne.bbox,At=Ve===void 0?!0:Ve,Bt=ne.length,Zt=Bt===void 0?!0:Bt,En=ne.sampleSize,mn=En===void 0?10:En,kn=typeof Z=="number",Jn=w,nr=M,Kn=0,wr=[Jn,nr,Kn],qr=[Jn,nr],ji=0,Ki={x:0,y:0},yi=[{x:Jn,y:nr}];kn&&Z<=0&&(Ki={x:Jn,y:nr});for(var _i=0;_i<=mn;_i+=1){if(ji=_i/mn,_e=Wt(w,M,p,g,C,Q,ji),Jn=_e.x,nr=_e.y,At&&yi.push({x:Jn,y:nr}),Zt&&(Kn+=(0,fe.y)(qr,[Jn,nr])),qr=[Jn,nr],kn&&Kn>=Z&&Z>wr[2]){var ws=(Kn-Z)/(Kn-wr[2]);Ki={x:qr[0]*(1-ws)+wr[0]*ws,y:qr[1]*(1-ws)+wr[1]*ws}}wr=[Jn,nr,Kn]}return kn&&Z>=Kn&&(Ki={x:C,y:Q}),{length:Kn,point:Ki,min:{x:Math.min.apply(null,yi.map(function(Es){return Es.x})),y:Math.min.apply(null,yi.map(function(Es){return Es.y}))},max:{x:Math.max.apply(null,yi.map(function(Es){return Es.x})),y:Math.max.apply(null,yi.map(function(Es){return Es.y}))}}}function De(w,M,p){for(var g,C,Q,Z,ne,_e,Ve=pt(w),At=typeof M=="number",Bt,Zt=[],En,mn=0,kn=0,Jn=0,nr=0,Kn,wr=[],qr=[],ji=0,Ki={x:0,y:0},yi=Ki,_i=Ki,ws=Ki,Es=0,ks=0,ys=Ve.length;ks=M&&(ws=_i),qr.push(yi),wr.push(Ki),Es+=ji,_e=En!=="Z"?Kn.slice(-2):[Jn,nr],mn=_e[0],kn=_e[1];return At&&M>=Es&&(ws={x:mn,y:kn}),{length:Es,point:ws,min:{x:Math.min.apply(null,wr.map(function(la){return la.x})),y:Math.min.apply(null,wr.map(function(la){return la.y}))},max:{x:Math.max.apply(null,qr.map(function(la){return la.x})),y:Math.max.apply(null,qr.map(function(la){return la.y}))}}}function ft(w,M){return De(w,void 0,(0,Ye.pi)((0,Ye.pi)({},M),{bbox:!1,length:!0})).length}var bt=v(2078),U=v(82639),de=v(5131),vt=function(w,M){return(w%M+M)%M},mt=vt;function Qt(w,M,p){if(w[p].length>7){w[p].shift();for(var g=w[p],C=p;g.length;)M[p]="A",w.splice(C+=1,0,["C"].concat(g.splice(0,6)));w.splice(p,1)}}function jt(w){return Je(w)&&w.every(function(M){var p=M[0];return"MC".includes(p)})}var hn=v(66045);function ze(w,M,p,g,C,Q){var Z=.3333333333333333,ne=2/3;return[Z*w+ne*p,Z*M+ne*g,Z*C+ne*p,Z*Q+ne*g,C,Q]}var he=function(w,M,p,g){var C=.5,Q=lt([w,M],[p,g],C);return(0,Ye.ev)((0,Ye.ev)([],Q,!0),[p,g,p,g],!1)};function qe(w,M){var p=w[0],g=w.slice(1).map(Number),C=g[0],Q=g[1],Z,ne=M.x1,_e=M.y1,Ve=M.x,At=M.y;switch("TQ".includes(p)||(M.qx=null,M.qy=null),p){case"M":return M.x=C,M.y=Q,w;case"A":return Z=[ne,_e].concat(g),["C"].concat((0,hn.W)(Z[0],Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],Z[9]));case"Q":return M.qx=C,M.qy=Q,Z=[ne,_e].concat(g),["C"].concat(ze(Z[0],Z[1],Z[2],Z[3],Z[4],Z[5]));case"L":return["C"].concat(he(ne,_e,C,Q));case"Z":return ne===Ve&&_e===At?["C",ne,_e,Ve,At,Ve,At]:["C"].concat(he(ne,_e,Ve,At));default:}return w}function ct(w,M){if(M===void 0&&(M=!1),jt(w)){var p=[].concat(w);return M?[p,[]]:p}for(var g=pt(w),C=(0,Ye.pi)({},it),Q=[],Z="",ne=g.length,_e,Ve,At=[],Bt=0;Btje)return console.warn("Maximum recursion depth reached in equalizeSegments"),[w,M];var C=dt(w),Q=dt(M),Z=C.length,ne=Q.length,_e=C.filter(function(nr){return nr.l}).length,Ve=Q.filter(function(nr){return nr.l}).length,At=C.filter(function(nr){return nr.l}).reduce(function(nr,Kn){var wr=Kn.l;return nr+wr},0)/_e||0,Bt=Q.filter(function(nr){return nr.l}).reduce(function(nr,Kn){var wr=Kn.l;return nr+wr},0)/Ve||0,Zt=p||Math.max(Z,ne),En=[At,Bt],mn=[Zt-Z,Zt-ne],kn=0,Jn=[C,Q].map(function(nr,Kn){return nr.l===Zt?nr.map(function(wr){return wr.s}):nr.map(function(wr,qr){return kn=qr&&mn[Kn]&&wr.l>=En[Kn],mn[Kn]-=kn?1:0,kn?wr.ss:[wr.s]}).flat()});return Jn[0].length===Jn[1].length?Jn:Tt(Jn[0],Jn[1],Zt,g+1)}function Mt(w,M,p,g,C,Q,Z,ne){return 3*((ne-M)*(p+C)-(Z-w)*(g+Q)+g*(w-C)-p*(M-Q)+ne*(C+w/3)-Z*(Q+M/3))/20}function It(w){var M=0,p=0,g=0;return ct(w).map(function(C){var Q;switch(C[0]){case"M":return M=C[1],p=C[2],0;default:var Z=C.slice(1),ne=Z[0],_e=Z[1],Ve=Z[2],At=Z[3],Bt=Z[4],Zt=Z[5];return g=Mt(M,p,ne,_e,Ve,At,Bt,Zt),Q=C.slice(-2),M=Q[0],p=Q[1],g}}).reduce(function(C,Q){return C+Q},0)}function an(w){return It(w)>=0}function In(w){var M=w.slice(1).map(function(p,g,C){return g?C[g-1].slice(-2).concat(p.slice(1)):w[0].slice(1).concat(p.slice(1))}).map(function(p){return p.map(function(g,C){return p[p.length-C-2*(1-C%2)]})}).reverse();return[["M"].concat(M[0].slice(0,2))].concat(M.map(function(p){return["C"].concat(p.slice(2))}))}function _n(w){return w.map(function(M){return Array.isArray(M)?[].concat(M):M})}function er(w){var M=w.length,p=M-1;return w.map(function(g,C){return w.map(function(Q,Z){var ne=C+Z,_e;return Z===0||w[ne]&&w[ne][0]==="M"?(_e=w[ne],["M"].concat(_e.slice(-2))):(ne>=M&&(ne-=p),w[ne])})})}function Mr(w,M){var p=w.length-1,g=[],C=0,Q=0,Z=er(w);return Z.forEach(function(ne,_e){w.slice(1).forEach(function(Ve,At){Q+=(0,fe.y)(w[(_e+At)%p].slice(-2),M[At%p].slice(-2))}),g[_e]=Q,Q=0}),C=g.indexOf(Math.min.apply(null,g)),Z[C]}var hr=v(49527),di=v(39934),br=v(50264),ri=v(71018),Ir=v(93785);function Vi(w,M,p){return De(w,M,(0,Ye.pi)((0,Ye.pi)({},p),{bbox:!1,length:!0})).point}var fi=v(18642),on=v(71369),Yt=v(13750),Vt=v(19606),gt=v(73001),yt=v(11576),Ft=v(72054),rn=v(42244);var Dt=function(w){return w.GROUP="g",w.FRAGMENT="fragment",w.CIRCLE="circle",w.ELLIPSE="ellipse",w.IMAGE="image",w.RECT="rect",w.LINE="line",w.POLYLINE="polyline",w.POLYGON="polygon",w.TEXT="text",w.PATH="path",w.HTML="html",w.MESH="mesh",w}({}),jn=function(w){return w[w.ZERO=0]="ZERO",w[w.NEGATIVE_ONE=1]="NEGATIVE_ONE",w}({}),Zn=function(){function w(){(0,O.Z)(this,w),this.plugins=[]}return(0,B.Z)(w,[{key:"addRenderingPlugin",value:function(p){this.plugins.push(p),this.context.renderingPlugins.push(p)}},{key:"removeAllRenderingPlugins",value:function(){var p=this;this.plugins.forEach(function(g){var C=p.context.renderingPlugins.indexOf(g);C>=0&&p.context.renderingPlugins.splice(C,1)})}}])}(),Tr=function(){function w(M){(0,O.Z)(this,w),this.clipSpaceNearZ=jn.NEGATIVE_ONE,this.plugins=[],this.config=(0,m.Z)({enableDirtyCheck:!0,enableCulling:!1,enableAutoRendering:!0,enableDirtyRectangleRendering:!0,enableDirtyRectangleRenderingDebug:!1,enableSizeAttenuation:!0,enableRenderingOptimization:!1},M)}return(0,B.Z)(w,[{key:"registerPlugin",value:function(p){var g=this.plugins.findIndex(function(C){return C===p});g===-1&&this.plugins.push(p)}},{key:"unregisterPlugin",value:function(p){var g=this.plugins.findIndex(function(C){return C===p});g>-1&&this.plugins.splice(g,1)}},{key:"getPlugins",value:function(){return this.plugins}},{key:"getPlugin",value:function(p){return this.plugins.find(function(g){return g.name===p})}},{key:"getConfig",value:function(){return this.config}},{key:"setConfig",value:function(p){Object.assign(this.config,p)}}])}(),Qr=T.IH,Ne=T.JG,V=T.Fp,W=T.VV,S=T.bA,H=T.lu,J=function(){function w(){(0,O.Z)(this,w),this.center=[0,0,0],this.halfExtents=[0,0,0],this.min=[0,0,0],this.max=[0,0,0]}return(0,B.Z)(w,[{key:"update",value:function(p,g){Ne(this.center,p),Ne(this.halfExtents,g),H(this.min,this.center,this.halfExtents),Qr(this.max,this.center,this.halfExtents)}},{key:"setMinMax",value:function(p,g){Qr(this.center,g,p),S(this.center,this.center,.5),H(this.halfExtents,g,p),S(this.halfExtents,this.halfExtents,.5),Ne(this.min,p),Ne(this.max,g)}},{key:"getMin",value:function(){return this.min}},{key:"getMax",value:function(){return this.max}},{key:"add",value:function(p){if(!w.isEmpty(p)){if(w.isEmpty(this)){this.setMinMax(p.getMin(),p.getMax());return}var g=this.center,C=g[0],Q=g[1],Z=g[2],ne=this.halfExtents,_e=ne[0],Ve=ne[1],At=ne[2],Bt=C-_e,Zt=C+_e,En=Q-Ve,mn=Q+Ve,kn=Z-At,Jn=Z+At,nr=p.center,Kn=nr[0],wr=nr[1],qr=nr[2],ji=p.halfExtents,Ki=ji[0],yi=ji[1],_i=ji[2],ws=Kn-Ki,Es=Kn+Ki,ks=wr-yi,ys=wr+yi,la=qr-_i,Go=qr+_i;wsZt&&(Zt=Es),ksmn&&(mn=ys),laJn&&(Jn=Go),g[0]=(Bt+Zt)*.5,g[1]=(En+mn)*.5,g[2]=(kn+Jn)*.5,ne[0]=(Zt-Bt)*.5,ne[1]=(mn-En)*.5,ne[2]=(Jn-kn)*.5,this.min[0]=Bt,this.min[1]=En,this.min[2]=kn,this.max[0]=Zt,this.max[1]=mn,this.max[2]=Jn}}},{key:"setFromTransformedAABB",value:function(p,g){var C=this.center,Q=this.halfExtents,Z=p.center,ne=p.halfExtents,_e=g[0],Ve=g[4],At=g[8],Bt=g[1],Zt=g[5],En=g[9],mn=g[2],kn=g[6],Jn=g[10],nr=Math.abs(_e),Kn=Math.abs(Ve),wr=Math.abs(At),qr=Math.abs(Bt),ji=Math.abs(Zt),Ki=Math.abs(En),yi=Math.abs(mn),_i=Math.abs(kn),ws=Math.abs(Jn);C[0]=g[12]+_e*Z[0]+Ve*Z[1]+At*Z[2],C[1]=g[13]+Bt*Z[0]+Zt*Z[1]+En*Z[2],C[2]=g[14]+mn*Z[0]+kn*Z[1]+Jn*Z[2],Q[0]=nr*ne[0]+Kn*ne[1]+wr*ne[2],Q[1]=qr*ne[0]+ji*ne[1]+Ki*ne[2],Q[2]=yi*ne[0]+_i*ne[1]+ws*ne[2],H(this.min,C,Q),Qr(this.max,C,Q)}},{key:"intersects",value:function(p){var g=this.getMax(),C=this.getMin(),Q=p.getMax(),Z=p.getMin();return C[0]<=Q[0]&&g[0]>=Z[0]&&C[1]<=Q[1]&&g[1]>=Z[1]&&C[2]<=Q[2]&&g[2]>=Z[2]}},{key:"intersection",value:function(p){if(!this.intersects(p))return null;var g=new w,C=V([0,0,0],this.getMin(),p.getMin()),Q=W([0,0,0],this.getMax(),p.getMax());return g.setMinMax(C,Q),g}},{key:"getNegativeFarPoint",value:function(p){return p.pnVertexFlag===273?Ne([0,0,0],this.min):p.pnVertexFlag===272?[this.min[0],this.min[1],this.max[2]]:p.pnVertexFlag===257?[this.min[0],this.max[1],this.min[2]]:p.pnVertexFlag===256?[this.min[0],this.max[1],this.max[2]]:p.pnVertexFlag===17?[this.max[0],this.min[1],this.min[2]]:p.pnVertexFlag===16?[this.max[0],this.min[1],this.max[2]]:p.pnVertexFlag===1?[this.max[0],this.max[1],this.min[2]]:[this.max[0],this.max[1],this.max[2]]}},{key:"getPositiveFarPoint",value:function(p){return p.pnVertexFlag===273?Ne([0,0,0],this.max):p.pnVertexFlag===272?[this.max[0],this.max[1],this.min[2]]:p.pnVertexFlag===257?[this.max[0],this.min[1],this.max[2]]:p.pnVertexFlag===256?[this.max[0],this.min[1],this.min[2]]:p.pnVertexFlag===17?[this.min[0],this.max[1],this.max[2]]:p.pnVertexFlag===16?[this.min[0],this.max[1],this.min[2]]:p.pnVertexFlag===1?[this.min[0],this.min[1],this.max[2]]:[this.min[0],this.min[1],this.min[2]]}}],[{key:"isEmpty",value:function(p){return!p||p.halfExtents[0]===0&&p.halfExtents[1]===0&&p.halfExtents[2]===0}}])}(),Ae=function(){function w(M,p){(0,O.Z)(this,w),this.distance=M||0,this.normal=p||T.al(0,1,0),this.updatePNVertexFlag()}return(0,B.Z)(w,[{key:"updatePNVertexFlag",value:function(){this.pnVertexFlag=(+(this.normal[0]>=0)<<8)+(+(this.normal[1]>=0)<<4)+ +(this.normal[2]>=0)}},{key:"distanceToPoint",value:function(p){return T.AK(p,this.normal)-this.distance}},{key:"normalize",value:function(){var p=1/T.Zh(this.normal);T.bA(this.normal,this.normal,p),this.distance*=p}},{key:"intersectsLine",value:function(p,g,C){var Q=this.distanceToPoint(p),Z=this.distanceToPoint(g),ne=Q/(Q-Z),_e=ne>=0&&ne<=1;return _e&&C&&T.t7(C,p,g,ne),_e}}])}(),me=function(w){return w[w.OUTSIDE=4294967295]="OUTSIDE",w[w.INSIDE=0]="INSIDE",w[w.INDETERMINATE=2147483647]="INDETERMINATE",w}({}),$e=function(){function w(M){if((0,O.Z)(this,w),this.planes=[],M)this.planes=M;else for(var p=0;p<6;p++)this.planes.push(new Ae)}return(0,B.Z)(w,[{key:"extractFromVPMatrix",value:function(p){var g=(0,E.Z)(p,16),C=g[0],Q=g[1],Z=g[2],ne=g[3],_e=g[4],Ve=g[5],At=g[6],Bt=g[7],Zt=g[8],En=g[9],mn=g[10],kn=g[11],Jn=g[12],nr=g[13],Kn=g[14],wr=g[15];T.t8(this.planes[0].normal,ne-C,Bt-_e,kn-Zt),this.planes[0].distance=wr-Jn,T.t8(this.planes[1].normal,ne+C,Bt+_e,kn+Zt),this.planes[1].distance=wr+Jn,T.t8(this.planes[2].normal,ne+Q,Bt+Ve,kn+En),this.planes[2].distance=wr+nr,T.t8(this.planes[3].normal,ne-Q,Bt-Ve,kn-En),this.planes[3].distance=wr-nr,T.t8(this.planes[4].normal,ne-Z,Bt-At,kn-mn),this.planes[4].distance=wr-Kn,T.t8(this.planes[5].normal,ne+Z,Bt+At,kn+mn),this.planes[5].distance=wr+Kn,this.planes.forEach(function(qr){qr.normalize(),qr.updatePNVertexFlag()})}}])}(),Ke=function(){function w(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;(0,O.Z)(this,w),this.x=0,this.y=0,this.x=M,this.y=p}return(0,B.Z)(w,[{key:"clone",value:function(){return new w(this.x,this.y)}},{key:"copyFrom",value:function(p){this.x=p.x,this.y=p.y}}])}(),Xt=function(){function w(M,p,g,C){(0,O.Z)(this,w),this.x=M,this.y=p,this.width=g,this.height=C,this.left=M,this.right=M+g,this.top=p,this.bottom=p+C}return(0,B.Z)(w,[{key:"toJSON",value:function(){}}],[{key:"fromRect",value:function(p){return new w(p.x,p.y,p.width,p.height)}},{key:"applyTransform",value:function(p,g){var C=D.al(p.x,p.y,0,1),Q=D.al(p.x+p.width,p.y,0,1),Z=D.al(p.x,p.y+p.height,0,1),ne=D.al(p.x+p.width,p.y+p.height,0,1),_e=D.Ue(),Ve=D.Ue(),At=D.Ue(),Bt=D.Ue();D.fF(_e,C,g),D.fF(Ve,Q,g),D.fF(At,Z,g),D.fF(Bt,ne,g);var Zt=Math.min(_e[0],Ve[0],At[0],Bt[0]),En=Math.min(_e[1],Ve[1],At[1],Bt[1]),mn=Math.max(_e[0],Ve[0],At[0],Bt[0]),kn=Math.max(_e[1],Ve[1],At[1],Bt[1]);return w.fromRect({x:Zt,y:En,width:mn-Zt,height:kn-En})}}])}(),Se="Method not implemented.",Oe="Use document.documentElement instead.",Ee="Cannot append a destroyed element.";function Ue(w){return w===void 0?0:w>360||w<-360?w%360:w}var at=T.Ue();function Ut(w){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Array.isArray(w)&&w.length===3?g?T.d9(w):T.JG(at,w):(0,pe.Z)(w)?g?T.al(w,M,p):T.t8(at,w,M,p):g?T.al(w[0],w[1]||M,w[2]||p):T.t8(at,w[0],w[1]||M,w[2]||p)}var ut=Math.PI/180;function Lt(w){return w*ut}var qt=180/Math.PI;function Tn(w){return w*qt}var Rn=.9;function ir(w){return w%=400,w<0&&(w+=400),w*Rn}function Ln(w){return w/360}function Gn(w){return 360*w}var _r=Math.PI/2;function un(w,M){var p=M[0],g=M[1],C=M[2],Q=M[3],Z=p*p,ne=g*g,_e=C*C,Ve=Q*Q,At=Z+ne+_e+Ve,Bt=p*Q-g*C;return Bt>.499995*At?(w[0]=_r,w[1]=2*Math.atan2(g,p),w[2]=0):Bt<-.499995*At?(w[0]=-_r,w[1]=2*Math.atan2(g,p),w[2]=0):(w[0]=Math.asin(2*(p*C-Q*g)),w[1]=Math.atan2(2*(p*Q+g*C),1-2*(_e+Ve)),w[2]=Math.atan2(2*(p*g+C*Q),1-2*(ne+_e))),w}function Bn(w,M){var p,g,C=z.getScaling(T.Ue(),M),Q=(0,E.Z)(C,3),Z=Q[0],ne=Q[1],_e=Q[2],Ve=Math.asin(-M[2]/Z);return Ve<_r?Ve>-_r?(p=Math.atan2(M[6]/ne,M[10]/_e),g=Math.atan2(M[1]/Z,M[0]/Z)):(g=0,p=-Math.atan2(M[4]/ne,M[5]/ne)):(g=0,p=Math.atan2(M[4]/ne,M[5]/ne)),w[0]=p,w[1]=Ve,w[2]=g,w}function lr(w,M){return M.length===16?Bn(w,M):un(w,M)}function cr(w,M,p,g,C){var Q=Math.cos(w),Z=Math.sin(w);return ee.al(g*Q,C*Z,0,-g*Z,C*Q,0,M,p,1)}function Fr(w,M,p,g,C,Q,Z){var ne=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,_e=2*Q,Ve=p-M,At=g-C,Bt=_e/Ve,Zt=_e/At,En=(p+M)/Ve,mn=(g+C)/At,kn,Jn,nr=Z-Q,Kn=Z*Q;return ne?(kn=-Z/nr,Jn=-Kn/nr):(kn=-(Z+Q)/nr,Jn=-2*Kn/nr),w[0]=Bt,w[1]=0,w[2]=0,w[3]=0,w[4]=0,w[5]=Zt,w[6]=0,w[7]=0,w[8]=En,w[9]=mn,w[10]=kn,w[11]=-1,w[12]=0,w[13]=0,w[14]=Jn,w[15]=0,w}function zr(w){var M=w[0],p=w[1],g=w[3],C=w[4],Q=Math.sqrt(M*M+p*p),Z=Math.sqrt(g*g+C*C),ne=M*C-p*g;if(ne<0&&(MZr[1][2]&&(Q[0]=-Q[0]),Zr[0][2]>Zr[2][0]&&(Q[1]=-Q[1]),Zr[1][0]>Zr[0][1]&&(Q[2]=-Q[2]),!0}function wn(w,M){var p=M[15];if(p===0)return!1;for(var g=1/p,C=0;C<16;C++)w[C]=M[C]*g;return!0}function wt(w,M){w[0][0]=M[0],w[0][1]=M[1],w[0][2]=M[2],w[1][0]=M[4],w[1][1]=M[5],w[1][2]=M[6],w[2][0]=M[8],w[2][1]=M[9],w[2][2]=M[10]}function Rt(w,M,p,g,C){w[0]=M[0]*g+p[0]*C,w[1]=M[1]*g+p[1]*C,w[2]=M[2]*g+p[2]*C}var Et=function(w){return w[w.ORBITING=0]="ORBITING",w[w.EXPLORING=1]="EXPLORING",w[w.TRACKING=2]="TRACKING",w}({}),dn=function(w){return w[w.DEFAULT=0]="DEFAULT",w[w.ROTATIONAL=1]="ROTATIONAL",w[w.TRANSLATIONAL=2]="TRANSLATIONAL",w[w.CINEMATIC=3]="CINEMATIC",w}({}),Cn=function(w){return w[w.ORTHOGRAPHIC=0]="ORTHOGRAPHIC",w[w.PERSPECTIVE=1]="PERSPECTIVE",w}({}),Xn={UPDATED:"updated"},mr=2e-4,yr=function(){function w(){(0,O.Z)(this,w),this.clipSpaceNearZ=jn.NEGATIVE_ONE,this.eventEmitter=new F,this.matrix=z.create(),this.right=T.al(1,0,0),this.up=T.al(0,1,0),this.forward=T.al(0,0,1),this.position=T.al(0,0,1),this.focalPoint=T.al(0,0,0),this.distanceVector=T.al(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=z.create(),this.projectionMatrixInverse=z.create(),this.jitteredProjectionMatrix=void 0,this.enableUpdate=!0,this.type=Et.EXPLORING,this.trackingMode=dn.DEFAULT,this.projectionMode=Cn.PERSPECTIVE,this.frustum=new $e,this.orthoMatrix=z.create()}return(0,B.Z)(w,[{key:"isOrtho",value:function(){return this.projectionMode===Cn.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(p){this.enableUpdate=p}},{key:"setType",value:function(p,g){return this.type=p,this.type===Et.EXPLORING?this.setWorldRotation(!0):this.setWorldRotation(!1),this._getAngles(),this.type===Et.TRACKING&&g!==void 0&&this.setTrackingMode(g),this}},{key:"setProjectionMode",value:function(p){return this.projectionMode=p,this}},{key:"setTrackingMode",value:function(p){if(this.type!==Et.TRACKING)throw new Error("Impossible to set a tracking mode if the camera is not of tracking type");return this.trackingMode=p,this}},{key:"setWorldRotation",value:function(p){return this.rotateWorld=p,this._getAngles(),this}},{key:"getViewTransform",value:function(){return z.invert(z.create(),this.matrix)}},{key:"getWorldTransform",value:function(){return this.matrix}},{key:"jitterProjectionMatrix",value:function(p,g){var C=z.fromTranslation(z.create(),[p,g,0]);this.jitteredProjectionMatrix=z.multiply(z.create(),C,this.projectionMatrix)}},{key:"clearJitterProjectionMatrix",value:function(){this.jitteredProjectionMatrix=void 0}},{key:"setMatrix",value:function(p){return this.matrix=p,this._update(),this}},{key:"setProjectionMatrix",value:function(p){this.projectionMatrix=p}},{key:"setFov",value:function(p){return this.setPerspective(this.near,this.far,p,this.aspect),this}},{key:"setAspect",value:function(p){return this.setPerspective(this.near,this.far,this.fov,p),this}},{key:"setNear",value:function(p){return this.projectionMode===Cn.PERSPECTIVE?this.setPerspective(p,this.far,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,p,this.far),this}},{key:"setFar",value:function(p){return this.projectionMode===Cn.PERSPECTIVE?this.setPerspective(this.near,p,this.fov,this.aspect):this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,p),this}},{key:"setViewOffset",value:function(p,g,C,Q,Z,ne){return this.aspect=p/g,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=p,this.view.fullHeight=g,this.view.offsetX=C,this.view.offsetY=Q,this.view.width=Z,this.view.height=ne,this.projectionMode===Cn.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===Cn.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(p){return this.zoom=p,this.projectionMode===Cn.ORTHOGRAPHIC?this.setOrthographic(this.left,this.rright,this.top,this.bottom,this.near,this.far):this.projectionMode===Cn.PERSPECTIVE&&this.setPerspective(this.near,this.far,this.fov,this.aspect),this}},{key:"setZoomByViewportPoint",value:function(p,g){var C=this.canvas.viewport2Canvas({x:g[0],y:g[1]}),Q=C.x,Z=C.y,ne=this.roll;this.rotate(0,0,-ne),this.setPosition(Q,Z),this.setFocalPoint(Q,Z),this.setZoom(p),this.rotate(0,0,ne);var _e=this.canvas.viewport2Canvas({x:g[0],y:g[1]}),Ve=_e.x,At=_e.y,Bt=T.al(Ve-Q,At-Z,0),Zt=T.AK(Bt,this.right)/T.kE(this.right),En=T.AK(Bt,this.up)/T.kE(this.up),mn=this.getPosition(),kn=(0,E.Z)(mn,2),Jn=kn[0],nr=kn[1],Kn=this.getFocalPoint(),wr=(0,E.Z)(Kn,2),qr=wr[0],ji=wr[1];return this.setPosition(Jn-Zt,nr-En),this.setFocalPoint(qr-Zt,ji-En),this}},{key:"setPerspective",value:function(p,g,C,Q){var Z;this.projectionMode=Cn.PERSPECTIVE,this.fov=C,this.near=p,this.far=g,this.aspect=Q;var ne=this.near*Math.tan(Lt(.5*this.fov))/this.zoom,_e=2*ne,Ve=this.aspect*_e,At=-.5*Ve;if((Z=this.view)!==null&&Z!==void 0&&Z.enabled){var Bt=this.view.fullWidth,Zt=this.view.fullHeight;At+=this.view.offsetX*Ve/Bt,ne-=this.view.offsetY*_e/Zt,Ve*=this.view.width/Bt,_e*=this.view.height/Zt}return Fr(this.projectionMatrix,At,At+Ve,ne-_e,ne,p,this.far,this.clipSpaceNearZ===jn.ZERO),z.invert(this.projectionMatrixInverse,this.projectionMatrix),this.triggerUpdate(),this}},{key:"setOrthographic",value:function(p,g,C,Q,Z,ne){var _e;this.projectionMode=Cn.ORTHOGRAPHIC,this.rright=g,this.left=p,this.top=C,this.bottom=Q,this.near=Z,this.far=ne;var Ve=(this.rright-this.left)/(2*this.zoom),At=(this.top-this.bottom)/(2*this.zoom),Bt=(this.rright+this.left)/2,Zt=(this.top+this.bottom)/2,En=Bt-Ve,mn=Bt+Ve,kn=Zt+At,Jn=Zt-At;if((_e=this.view)!==null&&_e!==void 0&&_e.enabled){var nr=(this.rright-this.left)/this.view.fullWidth/this.zoom,Kn=(this.top-this.bottom)/this.view.fullHeight/this.zoom;En+=nr*this.view.offsetX,mn=En+nr*this.view.width,kn-=Kn*this.view.offsetY,Jn=kn-Kn*this.view.height}return this.clipSpaceNearZ===jn.NEGATIVE_ONE?z.ortho(this.projectionMatrix,En,mn,kn,Jn,Z,ne):z.orthoZO(this.projectionMatrix,En,mn,kn,Jn,Z,ne),z.invert(this.projectionMatrixInverse,this.projectionMatrix),this._getOrthoMatrix(),this.triggerUpdate(),this}},{key:"setPosition",value:function(p){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.position[1],C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.position[2],Q=Ut(p,g,C);return this._setPosition(Q),this.setFocalPoint(this.focalPoint),this.triggerUpdate(),this}},{key:"setFocalPoint",value:function(p){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.focalPoint[1],C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.focalPoint[2],Q=T.al(0,1,0);if(this.focalPoint=Ut(p,g,C),this.trackingMode===dn.CINEMATIC){var Z=T.$X(T.Ue(),this.focalPoint,this.position);p=Z[0],g=Z[1],C=Z[2];var ne=T.kE(Z),_e=Tn(Math.asin(g/ne)),Ve=90+Tn(Math.atan2(C,p)),At=z.create();z.rotateY(At,At,Lt(Ve)),z.rotateX(At,At,Lt(_e)),Q=T.fF(T.Ue(),[0,1,0],At)}return z.invert(this.matrix,z.lookAt(z.create(),this.position,this.focalPoint,Q)),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(p){if(this.distance===p||p<0)return this;this.distance=p,this.distance>8&15|M>>4&240,M>>4&15|M&240,(M&15)<<4|M&15,1):p===8?To(M>>24&255,M>>16&255,M>>8&255,(M&255)/255):p===4?To(M>>12&15|M>>8&240,M>>8&15|M>>4&240,M>>4&15|M&240,((M&15)<<4|M&15)/255):null):(M=tl.exec(w))?new bo(M[1],M[2],M[3],1):(M=wa.exec(w))?new bo(M[1]*255/100,M[2]*255/100,M[3]*255/100,1):(M=Eo.exec(w))?To(M[1],M[2],M[3],M[4]):(M=Oa.exec(w))?To(M[1]*255/100,M[2]*255/100,M[3]*255/100,M[4]):(M=$a.exec(w))?ru(M[1],M[2]/100,M[3]/100,1):(M=zo.exec(w))?ru(M[1],M[2]/100,M[3]/100,M[4]):Sl.hasOwnProperty(w)?So(Sl[w]):w==="transparent"?new bo(NaN,NaN,NaN,0):null}function So(w){return new bo(w>>16&255,w>>8&255,w&255,1)}function To(w,M,p,g){return g<=0&&(w=M=p=NaN),new bo(w,M,p,g)}function Wc(w){return w instanceof pa||(w=Pl(w)),w?(w=w.rgb(),new bo(w.r,w.g,w.b,w.opacity)):new bo}function vc(w,M,p,g){return arguments.length===1?Wc(w):new bo(w,M,p,g==null?1:g)}function bo(w,M,p,g){this.r=+w,this.g=+M,this.b=+p,this.opacity=+g}Ss(bo,vc,ya(pa,{brighter(w){return w=w==null?Ui:Math.pow(Ui,w),new bo(this.r*w,this.g*w,this.b*w,this.opacity)},darker(w){return w=w==null?Pa:Math.pow(Pa,w),new bo(this.r*w,this.g*w,this.b*w,this.opacity)},rgb(){return this},clamp(){return new bo(yc(this.r),yc(this.g),yc(this.b),Bc(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:Zc,formatHex:Zc,formatHex8:Nu,formatRgb:Oc,toString:Oc}));function Zc(){return`#${fo(this.r)}${fo(this.g)}${fo(this.b)}`}function Nu(){return`#${fo(this.r)}${fo(this.g)}${fo(this.b)}${fo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Oc(){const w=Bc(this.opacity);return`${w===1?"rgb(":"rgba("}${yc(this.r)}, ${yc(this.g)}, ${yc(this.b)}${w===1?")":`, ${w})`}`}function Bc(w){return isNaN(w)?1:Math.max(0,Math.min(1,w))}function yc(w){return Math.max(0,Math.min(255,Math.round(w)||0))}function fo(w){return w=yc(w),(w<16?"0":"")+w.toString(16)}function ru(w,M,p,g){return g<=0?w=M=p=NaN:p<=0||p>=1?w=M=NaN:M<=0&&(w=NaN),new as(w,M,p,g)}function ol(w){if(w instanceof as)return new as(w.h,w.s,w.l,w.opacity);if(w instanceof pa||(w=Pl(w)),!w)return new as;if(w instanceof as)return w;w=w.rgb();var M=w.r/255,p=w.g/255,g=w.b/255,C=Math.min(M,p,g),Q=Math.max(M,p,g),Z=NaN,ne=Q-C,_e=(Q+C)/2;return ne?(M===Q?Z=(p-g)/ne+(p0&&_e<1?0:Z,new as(Z,ne,_e,w.opacity)}function us(w,M,p,g){return arguments.length===1?ol(w):new as(w,M,p,g==null?1:g)}function as(w,M,p,g){this.h=+w,this.s=+M,this.l=+p,this.opacity=+g}Ss(as,us,ya(pa,{brighter(w){return w=w==null?Ui:Math.pow(Ui,w),new as(this.h,this.s,this.l*w,this.opacity)},darker(w){return w=w==null?Pa:Math.pow(Pa,w),new as(this.h,this.s,this.l*w,this.opacity)},rgb(){var w=this.h%360+(this.h<0)*360,M=isNaN(w)||isNaN(this.s)?0:this.s,p=this.l,g=p+(p<.5?p:1-p)*M,C=2*p-g;return new bo(oo(w>=240?w-240:w+120,C,g),oo(w,C,g),oo(w<120?w+240:w-120,C,g),this.opacity)},clamp(){return new as(Ws(this.h),ia(this.s),ia(this.l),Bc(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 w=Bc(this.opacity);return`${w===1?"hsl(":"hsla("}${Ws(this.h)}, ${ia(this.s)*100}%, ${ia(this.l)*100}%${w===1?")":`, ${w})`}`}}));function Ws(w){return w=(w||0)%360,w<0?w+360:w}function ia(w){return Math.max(0,Math.min(1,w||0))}function oo(w,M,p){return(w<60?M+(p-M)*w/60:w<180?p:w<240?M+(p-M)*(240-w)/60:M)*255}function ta(w,M){if(typeof w!="function"||M!=null&&typeof M!="function")throw new TypeError("Expected a function");var p=function(){for(var C=arguments.length,Q=new Array(C),Z=0;Z=Cl.kUnitType&&this.getType()<=Cl.kClampType}}],[{key:"isAngle",value:function(p){return p===Oi.kDegrees||p===Oi.kRadians||p===Oi.kGradians||p===Oi.kTurns}},{key:"isLength",value:function(p){return p>=Oi.kEms&&p1&&arguments[1]!==void 0?arguments[1]:"",g="";return Number.isFinite(M)?g="NaN":M>0?g="infinity":g="-infinity",g+=p},Fo=function(M){return Ro(Bo(M))},ho=function(w){function M(p){var g,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Oi.kNumber;(0,O.Z)(this,M),g=(0,_.Z)(this,M);var Q;return typeof C=="string"?Q=Pu(C):Q=C,g.unit=Q,g.value=p,g}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"clone",value:function(){return new M(this.value,this.unit)}},{key:"equals",value:function(g){var C=g;return this.value===C.value&&this.unit===C.unit}},{key:"getType",value:function(){return Cl.kUnitType}},{key:"convertTo",value:function(g){if(this.unit===g)return new M(this.value,this.unit);var C=Fo(this.unit);if(C!==Fo(g)||C===Oi.kUnknown)return null;var Q=_o(this.unit)/_o(g);return new M(this.value*Q,g)}},{key:"buildCSSText",value:function(g,C,Q){var Z;switch(this.unit){case Oi.kUnknown:break;case Oi.kInteger:Z=Number(this.value).toFixed(0);break;case Oi.kNumber:case Oi.kPercentage:case Oi.kEms:case Oi.kRems:case Oi.kPixels:case Oi.kDegrees:case Oi.kRadians:case Oi.kGradians:case Oi.kMilliseconds:case Oi.kSeconds:case Oi.kTurns:{var ne=-999999,_e=999999,Ve=this.value,At=su(this.unit);if(Ve_e){var Bt=su(this.unit);!Number.isFinite(Ve)||Number.isNaN(Ve)?Z=cl(Ve,Bt):Z=Ve+(Bt||"")}else Z="".concat(Ve).concat(At)}}return Q+=Z,Q}}])}(Fu),po=new ho(0,"px");new ho(1,"px");var mu=new ho(0,"deg"),ec=function(w){function M(p,g,C){var Q,Z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,ne=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return(0,O.Z)(this,M),Q=(0,_.Z)(this,M,["rgb"]),Q.r=p,Q.g=g,Q.b=C,Q.alpha=Z,Q.isNone=ne,Q}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"clone",value:function(){return new M(this.r,this.g,this.b,this.alpha)}},{key:"buildCSSText",value:function(g,C,Q){return"".concat(Q,"rgba(").concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.alpha,")")}}])}(sd),Lc=new Vo("unset"),go=new Vo("initial"),Ou=new Vo("inherit"),fh={"":Lc,unset:Lc,initial:go,inherit:Ou},ml=function(M){return fh[M]||(fh[M]=new Vo(M)),fh[M]},kh=new ec(0,0,0,0,!0),eo=new ec(0,0,0,0),Ma=ta(function(w,M,p,g){return new ec(w,M,p,g)},function(w,M,p,g){return"rgba(".concat(w,",").concat(M,",").concat(p,",").concat(g,")")}),sr=function(M){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Oi.kNumber;return new ho(M,p)};new ho(50,"%");function Nr(w){var M=w.type,p=w.value;return M==="hex"?"#".concat(p):M==="literal"?p:M==="rgb"?"rgb(".concat(p.join(","),")"):"rgba(".concat(p.join(","),")")}var $s=function(){var w={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]+\.?))/},M="";function p(Ys){throw new Error("".concat(M,": ").concat(Ys))}function g(){var Ys=C();return M.length>0&&p("Invalid input not EOF"),Ys}function C(){return wr(Q)}function Q(){return Z("linear-gradient",w.linearGradient,_e)||Z("repeating-linear-gradient",w.repeatingLinearGradient,_e)||Z("radial-gradient",w.radialGradient,Bt)||Z("repeating-radial-gradient",w.repeatingRadialGradient,Bt)||Z("conic-gradient",w.conicGradient,Bt)}function Z(Ys,G,L){return ne(G,function(K){var j=L();return j&&(hl(w.comma)||p("Missing comma before color stops")),{type:Ys,orientation:j,colorStops:wr(qr)}})}function ne(Ys,G){var L=hl(Ys);if(L){hl(w.startCall)||p("Missing (");var K=G(L);return hl(w.endCall)||p("Missing )"),K}}function _e(){return Ve()||At()}function Ve(){return Go("directional",w.sideOrCorner,1)}function At(){return Go("angular",w.angleValue,1)}function Bt(){var Ys,G=Zt(),L;return G&&(Ys=[],Ys.push(G),L=M,hl(w.comma)&&(G=Zt(),G?Ys.push(G):M=L)),Ys}function Zt(){var Ys=En()||mn();if(Ys)Ys.at=Jn();else{var G=kn();if(G){Ys=G;var L=Jn();L&&(Ys.at=L)}else{var K=nr();K&&(Ys={type:"default-radial",at:K})}}return Ys}function En(){var Ys=Go("shape",/^(circle)/i,0);return Ys&&(Ys.style=la()||kn()),Ys}function mn(){var Ys=Go("shape",/^(ellipse)/i,0);return Ys&&(Ys.style=ks()||kn()),Ys}function kn(){return Go("extent-keyword",w.extentKeywords,1)}function Jn(){if(Go("position",/^at/,0)){var Ys=nr();return Ys||p("Missing positioning value"),Ys}}function nr(){var Ys=Kn();if(Ys.x||Ys.y)return{type:"position",value:Ys}}function Kn(){return{x:ks(),y:ks()}}function wr(Ys){var G=Ys(),L=[];if(G)for(L.push(G);hl(w.comma);)G=Ys(),G?L.push(G):p("One extra comma");return L}function qr(){var Ys=ji();return Ys||p("Expected color definition"),Ys.length=ks(),Ys}function ji(){return yi()||ws()||_i()||Ki()}function Ki(){return Go("literal",w.literalColor,0)}function yi(){return Go("hex",w.hexColor,1)}function _i(){return ne(w.rgbColor,function(){return{type:"rgb",value:wr(Es)}})}function ws(){return ne(w.rgbaColor,function(){return{type:"rgba",value:wr(Es)}})}function Es(){return hl(w.number)[1]}function ks(){return Go("%",w.percentageValue,1)||ys()||la()}function ys(){return Go("position-keyword",w.positionKeywords,1)}function la(){return Go("px",w.pixelValue,1)||Go("em",w.emValue,1)}function Go(Ys,G,L){var K=hl(G);if(K)return{type:Ys,value:K[L]}}function hl(Ys){var G=/^[\n\r\t\s]+/.exec(M);G&&xl(G[0].length);var L=Ys.exec(M);return L&&xl(L[0].length),L}function xl(Ys){M=M.substring(Ys)}return function(Ys){return M=Ys,g()}}();function Ko(w,M,p,g){var C=Lt(g.value),Q=0,Z=0,ne=Q+M/2,_e=Z+p/2,Ve=Math.abs(M*Math.cos(C))+Math.abs(p*Math.sin(C)),At=w[0]+ne-Math.cos(C)*Ve/2,Bt=w[1]+_e-Math.sin(C)*Ve/2,Zt=w[0]+ne+Math.cos(C)*Ve/2,En=w[1]+_e+Math.sin(C)*Ve/2;return{x1:At,y1:Bt,x2:Zt,y2:En}}function La(w,M,p,g,C,Q){var Z=g.value,ne=C.value;g.unit===Oi.kPercentage&&(Z=g.value/100*M),C.unit===Oi.kPercentage&&(ne=C.value/100*p);var _e=Math.max((0,fe.y)([0,0],[Z,ne]),(0,fe.y)([0,p],[Z,ne]),(0,fe.y)([M,p],[Z,ne]),(0,fe.y)([M,0],[Z,ne]));return Q&&(Q instanceof ho?_e=Q.value:Q instanceof Vo&&(Q.value==="closest-side"?_e=Math.min(Z,M-Z,ne,p-ne):Q.value==="farthest-side"?_e=Math.max(Z,M-Z,ne,p-ne):Q.value==="closest-corner"&&(_e=Math.min((0,fe.y)([0,0],[Z,ne]),(0,fe.y)([0,p],[Z,ne]),(0,fe.y)([M,p],[Z,ne]),(0,fe.y)([M,0],[Z,ne]))))),{x:Z+w[0],y:ne+w[1],r:_e}}var Io=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,au=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,Rc=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,zl=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function tc(w){var M,p=w.length;if(w[p-1].length=(M=w[p-1].length)!==null&&M!==void 0?M:{type:"%",value:"100"},p>1){var g;w[0].length=(g=w[0].length)!==null&&g!==void 0?g:{type:"%",value:"0"}}for(var C=0,Q=Number(w[0].length.value),Z=1;Z-1||w.indexOf("radial")>-1){var M=$s(w);return M.map(function(ne){var _e=ne.type,Ve=ne.orientation,At=ne.colorStops;tc(At);var Bt=At.map(function(wr){return{offset:sr(Number(wr.length.value),"%"),color:Nr(wr)}});if(_e==="linear-gradient")return new Ao(kl.LinearGradient,{angle:Ve?ju(Ve):mu,steps:Bt});if(_e==="radial-gradient"&&(Ve||(Ve=[{type:"shape",value:"circle"}]),Ve[0].type==="shape"&&Ve[0].value==="circle")){var Zt=Lu(Ve[0].at),En=Zt.cx,mn=Zt.cy,kn;if(Ve[0].style){var Jn=Ve[0].style,nr=Jn.type,Kn=Jn.value;nr==="extent-keyword"?kn=ml(Kn):kn=sr(Kn,nr)}return new Ao(kl.RadialGradient,{cx:En,cy:mn,size:kn,steps:Bt})}})}var p=w[0];if(w[1]==="("||w[2]==="("){if(p==="l"){var g=Io.exec(w);if(g){var C,Q=((C=g[2].match(zl))===null||C===void 0?void 0:C.map(function(ne){return ne.split(":")}))||[];return[new Ao(kl.LinearGradient,{angle:sr(parseFloat(g[1]),"deg"),steps:Q.map(function(ne){var _e=(0,E.Z)(ne,2),Ve=_e[0],At=_e[1];return{offset:sr(Number(Ve)*100,"%"),color:At}})})]}}else if(p==="r"){var Z=Ku(w);if(Z)if((0,Me.Z)(Z))w=Z;else return[new Ao(kl.RadialGradient,Z)]}else if(p==="p")return zh(w)}});function Ku(w){var M=au.exec(w);if(M){var p,g=((p=M[4].match(zl))===null||p===void 0?void 0:p.map(function(C){return C.split(":")}))||[];return{cx:sr(50,"%"),cy:sr(50,"%"),steps:g.map(function(C){var Q=(0,E.Z)(C,2),Z=Q[0],ne=Q[1];return{offset:sr(Number(Z)*100,"%"),color:ne}})}}return null}function zh(w){var M=Rc.exec(w);if(M){var p=M[1],g=M[2];switch(p){case"a":p="repeat";break;case"x":p="repeat-x";break;case"y":p="repeat-y";break;case"n":p="no-repeat";break;default:p="no-repeat"}return{image:g,repetition:p}}return null}function PA(w){return!!w.type&&!!w.value}function ad(w){return w&&!!w.image}function od(w){return w&&!(0,Le.Z)(w.r)&&!(0,Le.Z)(w.g)&&!(0,Le.Z)(w.b)}var nl=ta(function(w){if(ad(w))return(0,m.Z)({repetition:"repeat"},w);if((0,Le.Z)(w)&&(w=""),w==="transparent")return eo;if(w==="currentColor")w="black";else if(w==="none")return kh;var M=NA(w);if(M)return M;var p=Pl(w),g=[0,0,0,0];return p!==null&&(g[0]=p.r||0,g[1]=p.g||0,g[2]=p.b||0,g[3]=p.opacity),Ma.apply(void 0,g)});function $c(w,M){if(!(!od(w)||!od(M)))return[[Number(w.r),Number(w.g),Number(w.b),Number(w.alpha)],[Number(M.r),Number(M.g),Number(M.b),Number(M.alpha)],function(p){var g=p.slice();if(g[3])for(var C=0;C<3;C++)g[C]=Math.round((0,Ze.Z)(g[C],0,255));return g[3]=(0,Ze.Z)(g[3],0,1),"rgba(".concat(g.join(","),")")}]}function ld(w,M){if((0,Le.Z)(M))return sr(0,"px");if(M="".concat(M).trim().toLowerCase(),isFinite(Number(M))){if("px".search(w)>=0)return sr(Number(M),"px");if("deg".search(w)>=0)return sr(Number(M),"deg")}var p=[];M=M.replace(w,function(C){return p.push(C),"U".concat(C)});var g="U(".concat(w.source,")");return p.map(function(C){return sr(Number(M.replace(new RegExp("U".concat(C),"g"),"").replace(new RegExp(g,"g"),"*0")),C)})[0]}var FA=function(M){return ld(new RegExp("px","g"),M)},Af=ta(FA),Qp=function(M){return ld(new RegExp("%","g"),M)};ta(Qp);var zf=function(M){return(0,pe.Z)(M)||isFinite(Number(M))?sr(Number(M)||0,"px"):ld(new RegExp("px|%|em|rem","g"),M)},cd=ta(zf),OA=function(M){return ld(new RegExp("deg|rad|grad|turn","g"),M)},rt=ta(OA);function we(w,M,p,g){var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,Q="",Z=w.value||0,ne=M.value||0,_e=Fo(w.unit),Ve=w.convertTo(_e),At=M.convertTo(_e);return Ve&&At?(Z=Ve.value,ne=At.value,Q=su(w.unit)):(ho.isLength(w.unit)||ho.isLength(M.unit))&&(Z=Qe(w,C,p),ne=Qe(M,C,p),Q="px"),[Z,ne,function(Bt){return g&&(Bt=Math.max(Bt,0)),Bt+Q}]}function Ce(w){var M=0;return w.unit===Oi.kDegrees?M=w.value:w.unit===Oi.kRadians?M=Tn(Number(w.value)):w.unit===Oi.kTurns?M=Gn(Number(w.value)):w.value&&(M=w.value),M}function tt(w,M){var p;return Array.isArray(w)?p=w.map(function(g){return Number(g)}):(0,Me.Z)(w)?p=w.split(" ").map(function(g){return Number(g)}):(0,pe.Z)(w)&&(p=[w]),M===2?p.length===1?[p[0],p[0]]:[p[0],p[1]]:M===4?p.length===1?[p[0],p[0],p[0],p[0]]:p.length===2?[p[0],p[1],p[0],p[1]]:p.length===3?[p[0],p[1],p[2],p[1]]:[p[0],p[1],p[2],p[3]]:M==="even"&&p.length%2===1?[].concat((0,R.Z)(p),(0,R.Z)(p)):p}function Qe(w,M,p){var g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(w.unit===Oi.kPixels)return Number(w.value);if(w.unit===Oi.kPercentage&&p){var C=p.nodeName===Dt.GROUP?p.getLocalBounds():p.getGeometryBounds();return(g?C.min[M]:0)+w.value/100*C.halfExtents[M]*2}return 0}var Ot=function(M){return ld(/deg|rad|grad|turn|px|%/g,M)},ye=["blur","brightness","drop-shadow","contrast","grayscale","sepia","saturate","hue-rotate","invert"];function Dn(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(w=w.toLowerCase().trim(),w==="none")return[];for(var M=/\s*([\w-]+)\(([^)]*)\)/g,p=[],g,C=0;g=M.exec(w);){if(g.index!==C)return[];if(C=g.index+g[0].length,ye.indexOf(g[1])>-1&&p.push({name:g[1],params:g[2].split(" ").map(function(Q){return Ot(Q)||nl(Q)})}),M.lastIndex===w.length)return p}return[]}function Fn(w){return w.toString()}var Pn=function(M){return typeof M=="number"?sr(M):/^\s*[-+]?(\d*\.)?\d+\s*$/.test(M)?sr(Number(M)):sr(0)},fr=ta(Pn);ta(function(w){return(0,Me.Z)(w)?w.split(" ").map(fr):w.map(fr)});function ur(w,M){return[w,M,Fn]}function Kr(w,M){return function(p,g){return[p,g,function(C){return Fn((0,Ze.Z)(C,w,M))}]}}function Ur(w,M){if(w.length===M.length)return[w,M,function(p){return p}]}function xr(w){return w.parsedStyle.d.totalLength===0&&(w.parsedStyle.d.totalLength=ft(w.parsedStyle.d.absolutePath)),w.parsedStyle.d.totalLength}function mi(w){return w.parsedStyle.points.totalLength===0&&(w.parsedStyle.points.totalLength=(0,Vt.hE)(w.parsedStyle.points.points)),w.parsedStyle.points.totalLength}function ci(w){for(var M=0;M0&&p.push(g),{polygons:M,polylines:p}}function qi(w,M){return w[0]===M[0]&&w[1]===M[1]}function os(w,M){for(var p=[],g=[],C=[],Q=0;QMath.PI/2?Math.PI-Ve:Ve,At=At>Math.PI/2?Math.PI-At:At;var Bt={xExtra:Math.cos(_e/2-Ve)*(M/2*(1/Math.sin(_e/2)))-M/2||0,yExtra:Math.cos(At-_e/2)*(M/2*(1/Math.sin(_e/2)))-M/2||0};return Bt}function Ls(w,M){return[M[0]+(M[0]-w[0]),M[1]+(M[1]-w[1])]}var xa=function(M,p){var g=M.x*p.x+M.y*p.y,C=Math.sqrt((Math.pow(M.x,2)+Math.pow(M.y,2))*(Math.pow(p.x,2)+Math.pow(p.y,2))),Q=M.x*p.y-M.y*p.x<0?-1:1,Z=Q*Math.acos(g/C);return Z},ms=function(M,p,g,C,Q,Z,ne,_e){p=Math.abs(p),g=Math.abs(g),C=mt(C,360);var Ve=Lt(C);if(M.x===ne.x&&M.y===ne.y)return{x:M.x,y:M.y,ellipticalArcAngle:0};if(p===0||g===0)return{x:0,y:0,ellipticalArcAngle:0};var At=(M.x-ne.x)/2,Bt=(M.y-ne.y)/2,Zt={x:Math.cos(Ve)*At+Math.sin(Ve)*Bt,y:-Math.sin(Ve)*At+Math.cos(Ve)*Bt},En=Math.pow(Zt.x,2)/Math.pow(p,2)+Math.pow(Zt.y,2)/Math.pow(g,2);En>1&&(p*=Math.sqrt(En),g*=Math.sqrt(En));var mn=Math.pow(p,2)*Math.pow(g,2)-Math.pow(p,2)*Math.pow(Zt.y,2)-Math.pow(g,2)*Math.pow(Zt.x,2),kn=Math.pow(p,2)*Math.pow(Zt.y,2)+Math.pow(g,2)*Math.pow(Zt.x,2),Jn=mn/kn;Jn=Jn<0?0:Jn;var nr=(Q!==Z?1:-1)*Math.sqrt(Jn),Kn={x:nr*(p*Zt.y/g),y:nr*(-(g*Zt.x)/p)},wr={x:Math.cos(Ve)*Kn.x-Math.sin(Ve)*Kn.y+(M.x+ne.x)/2,y:Math.sin(Ve)*Kn.x+Math.cos(Ve)*Kn.y+(M.y+ne.y)/2},qr={x:(Zt.x-Kn.x)/p,y:(Zt.y-Kn.y)/g},ji=xa({x:1,y:0},qr),Ki={x:(-Zt.x-Kn.x)/p,y:(-Zt.y-Kn.y)/g},yi=xa(qr,Ki);!Z&&yi>0?yi-=2*Math.PI:Z&&yi<0&&(yi+=2*Math.PI),yi%=2*Math.PI;var _i=ji+yi*_e,ws=p*Math.cos(_i),Es=g*Math.sin(_i),ks={x:Math.cos(Ve)*ws-Math.sin(Ve)*Es+wr.x,y:Math.sin(Ve)*ws+Math.cos(Ve)*Es+wr.y,ellipticalArcStartAngle:ji,ellipticalArcEndAngle:ji+yi,ellipticalArcAngle:_i,ellipticalArcCenter:wr,resultantRx:p,resultantRy:g};return ks};function Mi(w){for(var M=[],p=null,g=null,C=null,Q=0,Z=w.length,ne=0;ne2&&arguments[2]!==void 0?arguments[2]:!0,g=w.arcParams,C=g.rx,Q=C===void 0?0:C,Z=g.ry,ne=Z===void 0?0:Z,_e=g.xRotation,Ve=g.arcFlag,At=g.sweepFlag,Bt=ms({x:w.prePoint[0],y:w.prePoint[1]},Q,ne,_e,!!Ve,!!At,{x:w.currentPoint[0],y:w.currentPoint[1]},M),Zt=ms({x:w.prePoint[0],y:w.prePoint[1]},Q,ne,_e,!!Ve,!!At,{x:w.currentPoint[0],y:w.currentPoint[1]},p?M+.005:M-.005),En=Zt.x-Bt.x,mn=Zt.y-Bt.y,kn=Math.sqrt(En*En+mn*mn);return{x:-En/kn,y:-mn/kn}}function Js(w){return Math.sqrt(w[0]*w[0]+w[1]*w[1])}function oe(w,M){return Js(w)*Js(M)?(w[0]*M[0]+w[1]*M[1])/(Js(w)*Js(M)):1}function q(w,M){return(w[0]*M[1]1&&(p*=Math.sqrt(En),g*=Math.sqrt(En));var mn=p*p*(Zt*Zt)+g*g*(Bt*Bt),kn=mn?Math.sqrt((p*p*(g*g)-mn)/mn):1;Q===Z&&(kn*=-1),isNaN(kn)&&(kn=0);var Jn=g?kn*p*Zt/g:0,nr=p?kn*-g*Bt/p:0,Kn=(ne+Ve)/2+Math.cos(C)*Jn-Math.sin(C)*nr,wr=(_e+At)/2+Math.sin(C)*Jn+Math.cos(C)*nr,qr=[(Bt-Jn)/p,(Zt-nr)/g],ji=[(-1*Bt-Jn)/p,(-1*Zt-nr)/g],Ki=q([1,0],qr),yi=q(qr,ji);return oe(qr,ji)<=-1&&(yi=Math.PI),oe(qr,ji)>=1&&(yi=0),Z===0&&yi>0&&(yi-=2*Math.PI),Z===1&&yi<0&&(yi+=2*Math.PI),{cx:Kn,cy:wr,rx:qi(w,[Ve,At])?0:p,ry:qi(w,[Ve,At])?0:g,startAngle:Ki,endAngle:Ki+yi,xRotation:C,arcFlag:Q,sweepFlag:Z}}function Y(w,M,p){return w.reduce(function(g,C){var Q="";if(C[0]==="M"||C[0]==="L"){var Z=vec3.fromValues(C[1],C[2],0);p&&vec3.transformMat4(Z,Z,p),Q="".concat(C[0]).concat(Z[0],",").concat(Z[1])}else if(C[0]==="Z")Q=C[0];else if(C[0]==="C"){var ne=vec3.fromValues(C[1],C[2],0),_e=vec3.fromValues(C[3],C[4],0),Ve=vec3.fromValues(C[5],C[6],0);p&&(vec3.transformMat4(ne,ne,p),vec3.transformMat4(_e,_e,p),vec3.transformMat4(Ve,Ve,p)),Q="".concat(C[0]).concat(ne[0],",").concat(ne[1],",").concat(_e[0],",").concat(_e[1],",").concat(Ve[0],",").concat(Ve[1])}else if(C[0]==="A"){var At=vec3.fromValues(C[6],C[7],0);p&&vec3.transformMat4(At,At,p),Q="".concat(C[0]).concat(C[1],",").concat(C[2],",").concat(C[3],",").concat(C[4],",").concat(C[5],",").concat(At[0],",").concat(At[1])}else if(C[0]==="Q"){var Bt=vec3.fromValues(C[1],C[2],0),Zt=vec3.fromValues(C[3],C[4],0);p&&(vec3.transformMat4(Bt,Bt,p),vec3.transformMat4(Zt,Zt,p)),Q="".concat(C[0]).concat(C[1],",").concat(C[2],",").concat(C[3],",").concat(C[4],"}")}return g+=Q},"")}function le(w,M,p,g){return[["M",w,M],["L",p,g]]}function Pe(w,M,p,g){var C=(-1+Math.sqrt(2))/3*4,Q=w*C,Z=M*C,ne=p-w,_e=p+w,Ve=g-M,At=g+M;return[["M",ne,g],["C",ne,g-Z,p-Q,Ve,p,Ve],["C",p+Q,Ve,_e,g-Z,_e,g],["C",_e,g+Z,p+Q,At,p,At],["C",p-Q,At,ne,g+Z,ne,g],["Z"]]}function We(w,M){var p=w.map(function(g,C){return[C===0?"M":"L",g[0],g[1]]});return M&&p.push(["Z"]),p}function He(w,M,p,g,C){if(C){var Q=_slicedToArray(C,4),Z=Q[0],ne=Q[1],_e=Q[2],Ve=Q[3],At=w>0?1:-1,Bt=M>0?1:-1,Zt=At+Bt!==0?1:0;return[["M",At*Z+p,g],["L",w-At*ne+p,g],ne?["A",ne,ne,0,0,Zt,w+p,Bt*ne+g]:null,["L",w+p,M-Bt*_e+g],_e?["A",_e,_e,0,0,Zt,w+p-At*_e,M+g]:null,["L",p+At*Ve,M+g],Ve?["A",Ve,Ve,0,0,Zt,p,M+g-Bt*Ve]:null,["L",p,Bt*Z+g],Z?["A",Z,Z,0,0,Zt,At*Z+p,g]:null,["Z"]].filter(function(En){return En})}return[["M",p,g],["L",p+w,g],["L",p+w,g+M],["L",p,g+M],["Z"]]}function et(w){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:w.getLocalTransform(),p=[];switch(w.nodeName){case Dt.LINE:var g=w.parsedStyle,C=g.x1,Q=C===void 0?0:C,Z=g.y1,ne=Z===void 0?0:Z,_e=g.x2,Ve=_e===void 0?0:_e,At=g.y2,Bt=At===void 0?0:At;p=le(Q,ne,Ve,Bt);break;case Dt.CIRCLE:{var Zt=w.parsedStyle,En=Zt.r,mn=En===void 0?0:En,kn=Zt.cx,Jn=kn===void 0?0:kn,nr=Zt.cy,Kn=nr===void 0?0:nr;p=Pe(mn,mn,Jn,Kn);break}case Dt.ELLIPSE:{var wr=w.parsedStyle,qr=wr.rx,ji=qr===void 0?0:qr,Ki=wr.ry,yi=Ki===void 0?0:Ki,_i=wr.cx,ws=_i===void 0?0:_i,Es=wr.cy,ks=Es===void 0?0:Es;p=Pe(ji,yi,ws,ks);break}case Dt.POLYLINE:case Dt.POLYGON:var ys=w.parsedStyle.points;p=We(ys.points,w.nodeName===Dt.POLYGON);break;case Dt.RECT:var la=w.parsedStyle,Go=la.width,hl=Go===void 0?0:Go,xl=la.height,Ys=xl===void 0?0:xl,G=la.x,L=G===void 0?0:G,K=la.y,j=K===void 0?0:K,Be=la.radius,st=Be&&Be.some(function(fn){return fn!==0});p=He(hl,Ys,L,j,st&&Be.map(function(fn){return clamp(fn,0,Math.min(Math.abs(hl)/2,Math.abs(Ys)/2))}));break;case Dt.PATH:var kt=w.parsedStyle.d.absolutePath;p=_toConsumableArray(kt);break}if(p.length)return Y(p,w,M)}function _t(w){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,g=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,Q=w.map(function(Z,ne){var _e=Z[0],Ve=w[ne+1],At=ne===0&&(M!==0||p!==0),Bt=(ne===w.length-1||Ve&&(Ve[0]==="M"||Ve[0]==="Z"))&&g!==0&&C!==0,Zt=At?[M,p]:[0,0],En=_slicedToArray(Zt,2),mn=En[0],kn=En[1],Jn=Bt?[g,C]:[0,0],nr=_slicedToArray(Jn,2),Kn=nr[0],wr=nr[1];switch(_e){case"M":return"M ".concat(Z[1]+mn,",").concat(Z[2]+kn);case"L":return"L ".concat(Z[1]+Kn,",").concat(Z[2]+wr);case"Q":return"Q ".concat(Z[1]," ").concat(Z[2],",").concat(Z[3]+Kn," ").concat(Z[4]+wr);case"C":return"C ".concat(Z[1]," ").concat(Z[2],",").concat(Z[3]," ").concat(Z[4],",").concat(Z[5]+Kn," ").concat(Z[6]+wr);case"A":return"A ".concat(Z[1]," ").concat(Z[2]," ").concat(Z[3]," ").concat(Z[4]," ").concat(Z[5]," ").concat(Z[6]," ").concat(Z[7]).concat(Bt?" L ".concat(Z[6]+g,",").concat(Z[7]+C):"");case"Z":return"Z";default:return null}}).filter(function(Z){return Z!==null}).join(" ");return~Q.indexOf("NaN")?"":Q}var Kt=function(M){if(M===""||Array.isArray(M)&&M.length===0)return{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:{x:0,y:0,width:0,height:0}};var p;try{p=pt(M)}catch(En){p=pt(""),console.error("[g]: Invalid SVG Path definition: ".concat(M))}ci(p);var g=Bi(p),C=rs(p),Q=C.polygons,Z=C.polylines,ne=Mi(p),_e=os(ne,0),Ve=_e.x,At=_e.y,Bt=_e.width,Zt=_e.height;return{absolutePath:p,hasArc:g,segments:ne,polygons:Q,polylines:Z,totalLength:0,rect:{x:Number.isFinite(Ve)?Ve:0,y:Number.isFinite(At)?At:0,width:Number.isFinite(Bt)?Bt:0,height:Number.isFinite(Zt)?Zt:0}}},nn=ta(Kt);function bn(w){return(0,Me.Z)(w)?nn(w):Kt(w)}function Nn(w,M,p){var g=w.curve,C=M.curve;(!g||g.length===0)&&(g=ct(w.absolutePath,!1),w.curve=g),(!C||C.length===0)&&(C=ct(M.absolutePath,!1),M.curve=C);var Q=[g,C];g.length!==C.length&&(Q=Tt(g,C));var Z=an(Q[0])!==an(Q[1])?In(Q[0]):_n(Q[0]);return[Z,Mr(Q[1],Z),function(ne){return ne}]}function $n(w,M){var p;return(0,Me.Z)(w)?p=w.split(" ").map(function(g){var C=g.split(","),Q=(0,E.Z)(C,2),Z=Q[0],ne=Q[1];return[Number(Z),Number(ne)]}):p=w,{points:p,totalLength:0,segments:[]}}function Cr(w,M){return[w.points,M.points,function(p){return p}]}var dr=null,jr=/\s*(\w+)\(([^)]*)\)/g;function Yr(w){return function(M){var p=0;return w.map(function(g){return g===dr?M[p++]:g})}}function li(w){return w}var Ci={matrix:["NNNNNN",[dr,dr,0,0,dr,dr,0,0,0,0,1,0,dr,dr,0,1],li],matrix3d:["NNNNNNNNNNNNNNNN",li],rotate:["A"],rotateX:["A"],rotateY:["A"],rotateZ:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",Yr([dr,dr,new ho(1)]),li],scaleX:["N",Yr([dr,new ho(1),new ho(1)]),Yr([dr,new ho(1)])],scaleY:["N",Yr([new ho(1),dr,new ho(1)]),Yr([new ho(1),dr])],scaleZ:["N",Yr([new ho(1),new ho(1),dr])],scale3d:["NNN",li],skew:["Aa",null,li],skewX:["A",null,Yr([dr,mu])],skewY:["A",null,Yr([mu,dr])],translate:["Tt",Yr([dr,dr,po]),li],translateX:["T",Yr([dr,po,po]),Yr([dr,po])],translateY:["T",Yr([po,dr,po]),Yr([po,dr])],translateZ:["L",Yr([po,po,dr])],translate3d:["TTL",li]};function Ji(w){for(var M=[],p=w.length,g=0;g2&&arguments[2]!==void 0?arguments[2]:{skipUpdateAttribute:!1,skipParse:!1,forceUpdateGeometry:!1,usedAttributes:[],memoize:!0};Object.assign(p.attributes,g);var Q=p.parsedStyle.clipPath,Z=p.parsedStyle.offsetPath;Id(p,g);var ne=!!C.forceUpdateGeometry;if(!ne){for(var _e in g)if(rl.has(_e)){ne=!0;break}}var Ve=ud(p);Ve.has("fill")&&g.fill&&(p.parsedStyle.fill=nl(g.fill)),Ve.has("stroke")&&g.stroke&&(p.parsedStyle.stroke=nl(g.stroke)),Ve.has("shadowColor")&&g.shadowColor&&(p.parsedStyle.shadowColor=nl(g.shadowColor)),Ve.has("filter")&&g.filter&&(p.parsedStyle.filter=Dn(g.filter)),Ve.has("radius")&&!(0,Le.Z)(g.radius)&&(p.parsedStyle.radius=tt(g.radius,4)),Ve.has("lineDash")&&!(0,Le.Z)(g.lineDash)&&(p.parsedStyle.lineDash=tt(g.lineDash,"even")),Ve.has("points")&&g.points&&(p.parsedStyle.points=$n(g.points)),Ve.has("d")&&g.d===""&&(p.parsedStyle.d=(0,m.Z)({},Wi)),Ve.has("d")&&g.d&&(p.parsedStyle.d=bn(g.d)),Ve.has("textTransform")&&g.textTransform&&this.runtime.CSSPropertySyntaxFactory[Rr.TEXT_TRANSFORM].calculator(null,null,{value:g.textTransform},p,null),Ve.has("clipPath")&&!(0,hr.Z)(g.clipPath)&&this.runtime.CSSPropertySyntaxFactory[Rr.DEFINED_PATH].calculator("clipPath",Q,g.clipPath,p,this.runtime),Ve.has("offsetPath")&&g.offsetPath&&this.runtime.CSSPropertySyntaxFactory[Rr.DEFINED_PATH].calculator("offsetPath",Z,g.offsetPath,p,this.runtime),Ve.has("transform")&&g.transform&&(p.parsedStyle.transform=Li(g.transform)),Ve.has("transformOrigin")&&g.transformOrigin&&(p.parsedStyle.transformOrigin=qo(g.transformOrigin)),Ve.has("markerStart")&&g.markerStart&&(p.parsedStyle.markerStart=this.runtime.CSSPropertySyntaxFactory[Rr.MARKER].calculator(null,g.markerStart,g.markerStart,null,null)),Ve.has("markerEnd")&&g.markerEnd&&(p.parsedStyle.markerEnd=this.runtime.CSSPropertySyntaxFactory[Rr.MARKER].calculator(null,g.markerEnd,g.markerEnd,null,null)),Ve.has("markerMid")&&g.markerMid&&(p.parsedStyle.markerMid=this.runtime.CSSPropertySyntaxFactory[Rr.MARKER].calculator("",g.markerMid,g.markerMid,null,null)),Ve.has("zIndex")&&!(0,Le.Z)(g.zIndex)&&this.runtime.CSSPropertySyntaxFactory[Rr.Z_INDEX].postProcessor(p),Ve.has("offsetDistance")&&!(0,Le.Z)(g.offsetDistance)&&this.runtime.CSSPropertySyntaxFactory[Rr.OFFSET_DISTANCE].postProcessor(p),Ve.has("transform")&&g.transform&&this.runtime.CSSPropertySyntaxFactory[Rr.TRANSFORM].postProcessor(p),Ve.has("transformOrigin")&&g.transformOrigin&&this.runtime.CSSPropertySyntaxFactory[Rr.TRANSFORM_ORIGIN].postProcessor(p),ne&&(p.dirty(!0,!0),C.forceUpdateGeometry||this.runtime.sceneGraphService.dirtyToRoot(p))}},{key:"updateGeometry",value:function(p){var g=p.nodeName,C=this.runtime.geometryUpdaterFactory[g];if(C){var Q=p.geometry;Q.contentBounds||(Q.contentBounds=new J),Q.renderBounds||(Q.renderBounds=new J);var Z=p.parsedStyle,ne=C.update(Z,p),_e=ne.cx,Ve=_e===void 0?0:_e,At=ne.cy,Bt=At===void 0?0:At,Zt=ne.cz,En=Zt===void 0?0:Zt,mn=ne.hwidth,kn=mn===void 0?0:mn,Jn=ne.hheight,nr=Jn===void 0?0:Jn,Kn=ne.hdepth,wr=Kn===void 0?0:Kn,qr=[Math.abs(kn),Math.abs(nr),wr],ji=Z.stroke,Ki=Z.lineWidth,yi=Ki===void 0?1:Ki,_i=Z.increasedLineWidthForHitTesting,ws=_i===void 0?0:_i,Es=Z.shadowType,ks=Es===void 0?"outer":Es,ys=Z.shadowColor,la=Z.filter,Go=la===void 0?[]:la,hl=Z.transformOrigin,xl=[Ve,Bt,En];Q.contentBounds.update(xl,qr);var Ys=g===Dt.POLYLINE||g===Dt.POLYGON||g===Dt.PATH?Math.SQRT2:.5,G=ji&&!ji.isNone;if(G){var L=((yi||0)+(ws||0))*Ys;qr[0]+=L,qr[1]+=L}if(Q.renderBounds.update(xl,qr),ys&&ks&&ks!=="inner"){var K=Q.renderBounds,j=K.min,Be=K.max,st=Z.shadowBlur,kt=Z.shadowOffsetX,fn=Z.shadowOffsetY,pn=st||0,ar=kt||0,pr=fn||0,Dr=j[0]-pn+ar,$r=Be[0]+pn+ar,Ts=j[1]-pn+pr,ts=Be[1]+pn+pr;j[0]=Math.min(j[0],Dr),Be[0]=Math.max(Be[0],$r),j[1]=Math.min(j[1],Ts),Be[1]=Math.max(Be[1],ts),Q.renderBounds.setMinMax(j,Be)}Go.forEach(function(Qo){var ao=Qo.name,Fa=Qo.params;if(ao==="blur"){var Ms=Fa[0].value;Q.renderBounds.update(Q.renderBounds.center,T.IH(Q.renderBounds.halfExtents,Q.renderBounds.halfExtents,[Ms,Ms,0]))}else if(ao==="drop-shadow"){var wo=Fa[0].value,No=Fa[1].value,ka=Fa[2].value,Jo=Q.renderBounds,Ac=Jo.min,xc=Jo.max,el=Ac[0]-ka+wo,qc=xc[0]+ka+wo,xf=Ac[1]-ka+No,uu=xc[1]+ka+No;Ac[0]=Math.min(Ac[0],el),xc[0]=Math.max(xc[0],qc),Ac[1]=Math.min(Ac[1],xf),xc[1]=Math.max(xc[1],uu),Q.renderBounds.setMinMax(Ac,xc)}}),p.geometry.dirty=!1;var xs=kn<0,to=nr<0,sa=(xs?-1:1)*(hl?Qe(hl[0],0,p,!0):0),Hs=(to?-1:1)*(hl?Qe(hl[1],1,p,!0):0);(sa||Hs)&&p.setOrigin(sa,Hs)}}},{key:"updateSizeAttenuation",value:function(p,g){p.style.isSizeAttenuation?(p.style.rawLineWidth||(p.style.rawLineWidth=p.style.lineWidth),p.style.lineWidth=(p.style.rawLineWidth||1)/g,p.nodeName===Dt.CIRCLE&&(p.style.rawR||(p.style.rawR=p.style.r),p.style.r=(p.style.rawR||1)/g)):(p.style.rawLineWidth&&(p.style.lineWidth=p.style.rawLineWidth,delete p.style.rawLineWidth),p.nodeName===Dt.CIRCLE&&p.style.rawR&&(p.style.r=p.style.rawR,delete p.style.rawR))}}])}();function Id(w,M){var p=ud(w);for(var g in M)p.has(g)&&(w.parsedStyle[g]=M[g])}function ud(w){return w.constructor.PARSED_STYLE_LIST}var Wl=function(){function w(){(0,O.Z)(this,w),this.mixer=ur}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C,Q){return Ce(C)}}])}(),nc=function(){function w(){(0,O.Z)(this,w)}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C,Q,Z){return C instanceof Vo&&(C=null),Z.sceneGraphService.updateDisplayObjectDependency(p,g,C,Q),p==="clipPath"&&Q.forEach(function(ne){ne.childNodes.length===0&&Z.sceneGraphService.dirtyToRoot(ne)}),C}}])}(),vu=function(){function w(){(0,O.Z)(this,w),this.parser=nl,this.mixer=$c}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C,Q){return C instanceof Vo?C.value==="none"?kh:eo:C}}])}(),Du=function(){function w(){(0,O.Z)(this,w)}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C instanceof Vo?[]:C}}])}();function rc(w){var M=w.parsedStyle,p=M.fontSize;return(0,Le.Z)(p)?null:p}var yu=function(){function w(){(0,O.Z)(this,w),this.mixer=ur}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C,Q,Z){if((0,pe.Z)(C))return C;if(ho.isRelativeUnit(C.unit)){if(C.unit===Oi.kPercentage)return 0;if(C.unit===Oi.kEms){if(Q.parentNode){var ne=rc(Q.parentNode);if(ne)return ne*=C.value,ne}return 0}if(C.unit===Oi.kRems){var _e;if(Q!=null&&(_e=Q.ownerDocument)!==null&&_e!==void 0&&_e.documentElement){var Ve=rc(Q.ownerDocument.documentElement);if(Ve)return Ve*=C.value,Ve}return 0}}else return C.value}}])}(),Ah=function(){function w(){(0,O.Z)(this,w),this.mixer=Ur}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C.map(function(Q){return Q.value})}}])}(),LA=function(){function w(){(0,O.Z)(this,w),this.mixer=Ur}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C.map(function(Q){return Q.value})}}])}(),rm=function(){function w(){(0,O.Z)(this,w)}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C,Q){var Z;C instanceof Vo&&(C=null);var ne=(Z=C)===null||Z===void 0?void 0:Z.cloneNode(!0);return ne&&(ne.style.isMarker=!0),ne}}])}(),im=function(){function w(){(0,O.Z)(this,w),this.mixer=ur}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C.value}}])}(),y0=function(){function w(){(0,O.Z)(this,w),this.mixer=Kr(0,1)}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C.value}},{key:"postProcessor",value:function(p){var g=p.parsedStyle,C=g.offsetPath,Q=g.offsetDistance;if(C){var Z=C.nodeName;if(Z===Dt.LINE||Z===Dt.PATH||Z===Dt.POLYLINE){var ne=C.getPoint(Q);ne&&p.setLocalPosition(ne.x,ne.y)}}}}])}(),hd=function(){function w(){(0,O.Z)(this,w),this.mixer=Kr(0,1)}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C.value}}])}(),DA=function(){function w(){(0,O.Z)(this,w),this.parser=bn,this.mixer=Nn}return(0,B.Z)(w,[{key:"calculator",value:function(p,g,C){return C instanceof Vo&&C.value==="unset"?{absolutePath:[],hasArc:!1,segments:[],polygons:[],polylines:[],curve:null,totalLength:0,rect:new Xt(0,0,0,0)}:C}}])}(),Ol=(0,B.Z)(function w(){(0,O.Z)(this,w),this.mixer=Cr}),Xu=function(w){function M(){var p;(0,O.Z)(this,M);for(var g=arguments.length,C=new Array(g),Q=0;Q>>1;ph(w[C],M)<0?p=C+1:g=C}return p}function ph(w,M){var p=Number(w.parsedStyle.zIndex||0),g=Number(M.parsedStyle.zIndex||0);if(p===g){var C=w.parentNode;if(C){var Q=C.childNodes||[];return Q.indexOf(w)-Q.indexOf(M)}}return p-g}function Vf(w){var M=w;do{var p,g=(p=M.parsedStyle)===null||p===void 0?void 0:p.clipPath;if(g)return M;M=M.parentElement}while(M!==null);return null}var Hf="px";function Gf(w,M,p){Uc&&w.style&&(w.style.width=M+Hf,w.style.height=p+Hf)}function jc(w,M){if(Uc)return document.defaultView.getComputedStyle(w,null).getPropertyValue(M)}function Wp(w){var M=jc(w,"width");return M==="auto"?w.offsetWidth:parseFloat(M)}function gh(w){var M=jc(w,"height");return M==="auto"?w.offsetHeight:parseFloat(M)}var Ps=1,x0={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},hs=typeof performance=="object"&&performance.now?performance:Date;function uc(w){return w.nodeName===Dt.FRAGMENT?!0:w.getRootNode().nodeName===Dt.FRAGMENT}function dd(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"auto",M=arguments.length>1?arguments[1]:void 0,p=arguments.length>2?arguments[2]:void 0,g=!1,C=!1,Q=!!M&&!M.isNone,Z=!!p&&!p.isNone;return w==="visiblepainted"||w==="painted"||w==="auto"?(g=Q,C=Z):w==="visiblefill"||w==="fill"?g=!0:w==="visiblestroke"||w==="stroke"?C=!0:(w==="visible"||w==="all")&&(g=!0,C=!0),[g,C]}var Kc=1,ou=function(){return Kc++},ic=typeof self=="object"&&self.self===self?self:typeof v.g=="object"&&v.g.global===v.g?v.g:{},sm=Date.now(),Uu=function(){return ic.performance&&typeof ic.performance.now=="function"?ic.performance.now():Date.now()-sm},Nd={},ob=Date.now(),Tl=function(M){if(typeof M!="function")throw new TypeError("".concat(M," is not a function"));var p=Date.now(),g=p-ob,C=g>16?0:16-g,Q=ou();return Nd[Q]=M,Object.keys(Nd).length>1||setTimeout(function(){ob=p;var Z=Nd;Nd={},Object.keys(Z).forEach(function(ne){return Z[ne](Uu())})},C),Q},UA=function(M){delete Nd[M]},b0=["","webkit","moz","ms","o"],ul=function(M){return typeof M!="string"?Tl:M===""?ic.requestAnimationFrame:ic["".concat(M,"RequestAnimationFrame")]},lb=function(M){return typeof M!="string"?UA:M===""?ic.cancelAnimationFrame:ic["".concat(M,"CancelAnimationFrame")]||ic["".concat(M,"CancelRequestAnimationFrame")]},_1=function(M,p){for(var g=0;M[g]!==void 0;){if(p(M[g]))return M[g];g+=1}},_0=_1(b0,function(w){return!!ul(w)}),ny=ul(_0),am=lb(_0);ic.requestAnimationFrame=ny,ic.cancelAnimationFrame=am;var w1=function(){function w(){(0,O.Z)(this,w),this.callbacks=[]}return(0,B.Z)(w,[{key:"getCallbacksNum",value:function(){return this.callbacks.length}},{key:"tapPromise",value:function(p,g){this.callbacks.push(g)}},{key:"promise",value:function(){for(var p=arguments.length,g=new Array(p),C=0;C=0;At--){var Bt=Ve[At].trim();!mh.test(Bt)&&cb.indexOf(Bt)<0&&(Bt='"'.concat(Bt,'"')),Ve[At]=Bt}return"".concat(Q," ").concat(Z," ").concat(ne," ").concat(_e," ").concat(Ve.join(","))},function(w){var M=Zp(w),p=M.fontSize,g=M.fontFamily,C=M.fontStyle,Q=M.fontVariant,Z=M.fontWeight;return"".concat(C,"_").concat(Q,"_").concat(Z,"_").concat(p,"_").concat(g)}),qu=1e-6,Pd=function(M){return Math.max(M,qu)};function hc(w,M,p){return z.identity(w),w[4]=Math.tan(M),w[1]=Math.tan(p),w}var js=z.create(),$p=z.create(),Wf={scale:function(M){z.fromScaling(js,[M[0].value,M[1].value,1].map(function(p){return Pd(p)}))},scaleX:function(M){z.fromScaling(js,[M[0].value,1,1].map(function(p){return Pd(p)}))},scaleY:function(M){z.fromScaling(js,[1,M[0].value,1].map(function(p){return Pd(p)}))},scaleZ:function(M){z.fromScaling(js,[1,1,M[0].value].map(function(p){return Pd(p)}))},scale3d:function(M){z.fromScaling(js,[M[0].value,M[1].value,M[2].value].map(function(p){return Pd(p)}))},translate:function(M){z.fromTranslation(js,[M[0].value,M[1].value,0])},translateX:function(M){z.fromTranslation(js,[M[0].value,0,0])},translateY:function(M){z.fromTranslation(js,[0,M[0].value,0])},translateZ:function(M){z.fromTranslation(js,[0,0,M[0].value])},translate3d:function(M){z.fromTranslation(js,[M[0].value,M[1].value,M[2].value])},rotate:function(M){z.fromZRotation(js,Lt(Ce(M[0])))},rotateX:function(M){z.fromXRotation(js,Lt(Ce(M[0])))},rotateY:function(M){z.fromYRotation(js,Lt(Ce(M[0])))},rotateZ:function(M){z.fromZRotation(js,Lt(Ce(M[0])))},rotate3d:function(M){z.fromRotation(js,Lt(Ce(M[3])),[M[0].value,M[1].value,M[2].value])},skew:function(M){hc(js,Lt(M[0].value),Lt(M[1].value))},skewX:function(M){hc(js,Lt(M[0].value),0)},skewY:function(M){hc(js,0,Lt(M[0].value))},matrix:function(M){z.set(js,M[0].value,M[1].value,0,0,M[2].value,M[3].value,0,0,0,0,1,0,M[4].value,M[5].value,0,1)},matrix3d:function(M){z.set.apply(z,[js].concat((0,R.Z)(M.map(function(p){return p.value}))))}},kA=T.al(1,1,1),om=T.Ue(),zA={translate:function(M,p){Ii.sceneGraphService.setLocalScale(M,kA,!1),Ii.sceneGraphService.setLocalEulerAngles(M,om,void 0,void 0,!1),Ii.sceneGraphService.setLocalPosition(M,[p[0].value,p[1].value,0],!1),Ii.sceneGraphService.dirtyLocalTransform(M,M.transformable)}};function VA(w,M){if(w.length){if(w.length===1&&zA[w[0].t]){zA[w[0].t](M,w[0].d);return}for(var p=z.identity($p),g=0;g1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2?arguments[2]:void 0;if(C)return this.dispatchEventToSelf(p),!0;var Q;if(this.document)Q=this;else if(this.defaultView)Q=this.defaultView;else{var Z;Q=(Z=this.ownerDocument)===null||Z===void 0?void 0:Z.defaultView}if(Q){if(p.manager=Q.getEventService(),!p.manager)return!1;p.defaultPrevented=!1,p.path?p.path.length=0:p.page=[],g||(p.target=this),p.manager.dispatchEvent(p,p.type,g)}else this.dispatchEventToSelf(p);return!p.defaultPrevented}}])}(),Ll=function(w){function M(){var p;(0,O.Z)(this,M);for(var g=arguments.length,C=new Array(g),Q=0;Q0&&arguments[0]!==void 0?arguments[0]:{};return this.parentNode?this.parentNode.getRootNode(g):g.composed&&this.host?this.host.getRootNode(g):this}},{key:"hasChildNodes",value:function(){return this.childNodes.length>0}},{key:"isDefaultNamespace",value:function(g){throw new Error(Se)}},{key:"lookupNamespaceURI",value:function(g){throw new Error(Se)}},{key:"lookupPrefix",value:function(g){throw new Error(Se)}},{key:"normalize",value:function(){throw new Error(Se)}},{key:"isEqualNode",value:function(g){return this===g}},{key:"isSameNode",value:function(g){return this.isEqualNode(g)}},{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(g){if(g===this)return 0;for(var C=g,Q=this,Z=[C],ne=[Q];(_e=C.parentNode)!==null&&_e!==void 0?_e:Q.parentNode;){var _e;C=C.parentNode?(Z.push(C.parentNode),C.parentNode):C,Q=Q.parentNode?(ne.push(Q.parentNode),Q.parentNode):Q}if(C!==Q)return M.DOCUMENT_POSITION_DISCONNECTED|M.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|M.DOCUMENT_POSITION_PRECEDING;var Ve=Z.length>ne.length?Z:ne,At=Ve===Z?ne:Z;if(Ve[Ve.length-At.length]===At[0])return Ve===Z?M.DOCUMENT_POSITION_CONTAINED_BY|M.DOCUMENT_POSITION_FOLLOWING:M.DOCUMENT_POSITION_CONTAINS|M.DOCUMENT_POSITION_PRECEDING;for(var Bt=Ve.length-At.length,Zt=At.length-1;Zt>=0;Zt--){var En=At[Zt],mn=Ve[Bt+Zt];if(mn!==En){var kn=En.parentNode.childNodes;return kn.indexOf(En)0&&C;)C=C.parentNode,g--;return C}},{key:"forEach",value:function(g){for(var C=[this];C.length>0;){var Q=C.pop(),Z=g(Q);if(Z===!1)break;for(var ne=Q.childNodes.length-1;ne>=0;ne--)C.push(Q.childNodes[ne])}}}],[{key:"isNode",value:function(g){return!!g.childNodes}}])}(Fd);Ll.DOCUMENT_POSITION_DISCONNECTED=1,Ll.DOCUMENT_POSITION_PRECEDING=2,Ll.DOCUMENT_POSITION_FOLLOWING=4,Ll.DOCUMENT_POSITION_CONTAINS=8,Ll.DOCUMENT_POSITION_CONTAINED_BY=16,Ll.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;var sy=2048,dc=function(){function w(M,p){var g=this;(0,O.Z)(this,w),this.nativeHTMLMap=new WeakMap,this.cursor="default",this.mappingTable={},this.mappingState={trackingData:{}},this.eventPool=new Map,this.tmpMatrix=z.create(),this.tmpVec3=T.Ue(),this.onPointerDown=function(C){var Q=g.createPointerEvent(C);if(g.dispatchEvent(Q,"pointerdown"),Q.pointerType==="touch")g.dispatchEvent(Q,"touchstart");else if(Q.pointerType==="mouse"||Q.pointerType==="pen"){var Z=Q.button===2;g.dispatchEvent(Q,Z?"rightdown":"mousedown")}var ne=g.trackingData(C.pointerId);ne.pressTargetsByButton[C.button]=Q.composedPath(),g.freeEvent(Q)},this.onPointerUp=function(C){var Q=hs.now(),Z=g.createPointerEvent(C,void 0,void 0,g.context.config.alwaysTriggerPointerEventOnCanvas?g.rootTarget:void 0);if(g.dispatchEvent(Z,"pointerup"),Z.pointerType==="touch")g.dispatchEvent(Z,"touchend");else if(Z.pointerType==="mouse"||Z.pointerType==="pen"){var ne=Z.button===2;g.dispatchEvent(Z,ne?"rightup":"mouseup")}var _e=g.trackingData(C.pointerId),Ve=g.findMountedTarget(_e.pressTargetsByButton[C.button]),At=Ve;if(Ve&&!Z.composedPath().includes(Ve)){for(var Bt=Ve;Bt&&!Z.composedPath().includes(Bt);){if(Z.currentTarget=Bt,g.notifyTarget(Z,"pointerupoutside"),Z.pointerType==="touch")g.notifyTarget(Z,"touchendoutside");else if(Z.pointerType==="mouse"||Z.pointerType==="pen"){var Zt=Z.button===2;g.notifyTarget(Z,Zt?"rightupoutside":"mouseupoutside")}Ll.isNode(Bt)&&(Bt=Bt.parentNode)}delete _e.pressTargetsByButton[C.button],At=Bt}if(At){var En,mn=g.clonePointerEvent(Z,"click");mn.target=At,mn.path=[],_e.clicksByButton[C.button]||(_e.clicksByButton[C.button]={clickCount:0,target:mn.target,timeStamp:Q});var kn=g.context.renderingContext.root.ownerDocument.defaultView,Jn=_e.clicksByButton[C.button];Jn.target===mn.target&&Q-Jn.timeStamp=1;Q--)if(p.currentTarget=C[Q],this.notifyTarget(p,g),p.propagationStopped||p.propagationImmediatelyStopped)return;if(p.eventPhase=p.AT_TARGET,p.currentTarget=p.target,this.notifyTarget(p,g),!(p.propagationStopped||p.propagationImmediatelyStopped)){var Z=C.indexOf(p.currentTarget);p.eventPhase=p.BUBBLING_PHASE;for(var ne=Z+1;neZ||C>ne?null:!_e&&this.pickHandler(p)||this.rootTarget||null}},{key:"isNativeEventFromCanvas",value:function(p,g){var C,Q=g==null?void 0:g.target;if((C=Q)!==null&&C!==void 0&&C.shadowRoot&&(Q=g.composedPath()[0]),Q){if(Q===p)return!0;if(p&&p.contains)return p.contains(Q)}return g!=null&&g.composedPath?g.composedPath().indexOf(p)>-1:!1}},{key:"getExistedHTML",value:function(p){if(p.nativeEvent.composedPath)for(var g=0,C=p.nativeEvent.composedPath();g=0;C--){var Q=p[C];if(Q===this.rootTarget||Ll.isNode(Q)&&Q.parentNode===g)g=p[C];else break}return g}},{key:"getCursor",value:function(p){for(var g=p;g;){var C=Zl(g)&&g.getAttribute("cursor");if(C)return C;g=Ll.isNode(g)&&g.parentNode}}}])}(),pf=function(){function w(){(0,O.Z)(this,w)}return(0,B.Z)(w,[{key:"getOrCreateCanvas",value:function(p,g){if(this.canvas)return this.canvas;if(p||Ii.offscreenCanvas)this.canvas=p||Ii.offscreenCanvas,this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},g));else try{this.canvas=new window.OffscreenCanvas(0,0),this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},g)),(!this.context||!this.context.measureText)&&(this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"))}catch(C){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d",(0,m.Z)({willReadFrequently:!0},g))}return this.canvas.width=10,this.canvas.height=10,this.canvas}},{key:"getOrCreateContext",value:function(p,g){return this.context?this.context:(this.getOrCreateCanvas(p,g),this.context)}}],[{key:"createCanvas",value:function(){try{return new window.OffscreenCanvas(0,0)}catch(p){}try{return document.createElement("canvas")}catch(p){}return null}}])}(),yh=function(w){return w[w.CAMERA_CHANGED=0]="CAMERA_CHANGED",w[w.DISPLAY_OBJECT_CHANGED=1]="DISPLAY_OBJECT_CHANGED",w[w.NONE=2]="NONE",w}({}),ay=function(){function w(M,p){(0,O.Z)(this,w),this.inited=!1,this.stats={total:0,rendered:0},this.zIndexCounter=0,this.hooks={init:new lu,initAsync:new w1,dirtycheck:new Ds,cull:new Ds,beginFrame:new lu,beforeRender:new lu,render:new lu,afterRender:new lu,endFrame:new lu,destroy:new lu,pick:new w0,pickSync:new Ds,pointerDown:new lu,pointerUp:new lu,pointerMove:new lu,pointerOut:new lu,pointerOver:new lu,pointerWheel:new lu,pointerCancel:new lu,click:new lu},this.globalRuntime=M,this.context=p}return(0,B.Z)(w,[{key:"init",value:function(p){var g=this,C=(0,m.Z)((0,m.Z)({},this.globalRuntime),this.context);this.context.renderingPlugins.forEach(function(Q){Q.apply(C,g.globalRuntime)}),this.hooks.init.call(),this.hooks.initAsync.getCallbacksNum()===0?(this.inited=!0,p()):this.hooks.initAsync.promise().then(function(){g.inited=!0,p()}).catch(function(Q){})}},{key:"getStats",value:function(){return this.stats}},{key:"disableDirtyRectangleRendering",value:function(){var p=this.context.config.renderer,g=p.getConfig(),C=g.enableDirtyRectangleRendering;return!C||this.context.renderingContext.renderReasons.has(yh.CAMERA_CHANGED)}},{key:"render",value:function(p,g,C){var Q=this,Z=p.getConfig(),ne=this.context.renderingContext;if(this.stats.total=0,this.stats.rendered=0,this.zIndexCounter=0,this.globalRuntime.sceneGraphService.syncHierarchy(ne.root),this.globalRuntime.sceneGraphService.notifyMutationObservers(p),ne.renderReasons.size&&this.inited){ne.dirtyRectangleRenderingDisabled=this.disableDirtyRectangleRendering();var _e=ne.renderReasons.size===1&&ne.renderReasons.has(yh.CAMERA_CHANGED),Ve=!Z.disableRenderHooks||!_e;Ve&&this.renderDisplayObject(ne.root,Z,ne),this.hooks.beginFrame.call(g),Ve&&ne.renderListCurrentFrame.forEach(function(At){Q.hooks.beforeRender.call(At),Q.hooks.render.call(At),Q.hooks.afterRender.call(At)}),this.hooks.endFrame.call(g),ne.renderListCurrentFrame=[],ne.renderReasons.clear(),C()}}},{key:"renderDisplayObject",value:function(p,g,C){var Q=this,Z=g.renderer.getConfig(),ne=Z.enableDirtyCheck,_e=Z.enableCulling;function Ve(kn){var Jn=kn.renderable,nr=kn.sortable,Kn=ne?Jn.dirty||C.dirtyRectangleRenderingDisabled?kn:null:kn,wr=null;Kn&&(wr=_e?Q.hooks.cull.call(Kn,Q.context.camera):Kn,wr&&(Q.stats.rendered+=1,C.renderListCurrentFrame.push(wr))),kn.dirty(!1),nr.renderOrder=Q.zIndexCounter,Q.zIndexCounter+=1,Q.stats.total+=1,nr.dirty&&(Q.sort(kn,nr),nr.dirty=!1,nr.dirtyChildren=[],nr.dirtyReason=void 0)}for(var At=[p];At.length>0;){var Bt,Zt=At.pop();Ve(Zt);for(var En=((Bt=Zt.sortable)===null||Bt===void 0||(Bt=Bt.sorted)===null||Bt===void 0?void 0:Bt.length)>0?Zt.sortable.sorted:Zt.childNodes,mn=En.length-1;mn>=0;mn--)At.push(En[mn])}}},{key:"sort",value:function(p,g){var C,Q;(g==null||(C=g.sorted)===null||C===void 0?void 0:C.length)>0&&g.dirtyReason!==Si.Z_INDEX_CHANGED?g.dirtyChildren.forEach(function(Z){var ne=g.sorted.indexOf(Z);ne>-1&&g.sorted.splice(ne,1);var _e=p.childNodes.indexOf(Z);if(_e>-1)if(g.sorted.length===0)g.sorted.push(Z);else{var Ve=xu(g.sorted,Z);g.sorted.splice(Ve,0,Z)}}):g.sorted=p.childNodes.slice().sort(ph),((Q=g.sorted)===null||Q===void 0?void 0:Q.length)>0&&p.childNodes.filter(function(Z){return Z.parsedStyle.zIndex}).length===0&&(g.sorted=[])}},{key:"destroy",value:function(){this.inited=!1,this.hooks.destroy.call()}},{key:"dirty",value:function(){this.context.renderingContext.renderReasons.add(yh.DISPLAY_OBJECT_CHANGED)}}])}(),Od=/\[\s*(.*)=(.*)\s*\]/,dm=function(){function w(){(0,O.Z)(this,w)}return(0,B.Z)(w,[{key:"selectOne",value:function(p,g){var C=this;if(p.startsWith("."))return g.find(function(_e){return((_e==null?void 0:_e.classList)||[]).indexOf(C.getIdOrClassname(p))>-1});if(p.startsWith("#"))return g.find(function(_e){return _e.id===C.getIdOrClassname(p)});if(p.startsWith("[")){var Q=this.getAttribute(p),Z=Q.name,ne=Q.value;return Z?g.find(function(_e){return g!==_e&&(Z==="name"?_e.name===ne:C.attributeToString(_e,Z)===ne)}):null}return g.find(function(_e){return g!==_e&&_e.nodeName===p})}},{key:"selectAll",value:function(p,g){var C=this;if(p.startsWith("."))return g.findAll(function(_e){return g!==_e&&((_e==null?void 0:_e.classList)||[]).indexOf(C.getIdOrClassname(p))>-1});if(p.startsWith("#"))return g.findAll(function(_e){return g!==_e&&_e.id===C.getIdOrClassname(p)});if(p.startsWith("[")){var Q=this.getAttribute(p),Z=Q.name,ne=Q.value;return Z?g.findAll(function(_e){return g!==_e&&(Z==="name"?_e.name===ne:C.attributeToString(_e,Z)===ne)}):[]}return g.findAll(function(_e){return g!==_e&&_e.nodeName===p})}},{key:"is",value:function(p,g){if(p.startsWith("."))return g.className===this.getIdOrClassname(p);if(p.startsWith("#"))return g.id===this.getIdOrClassname(p);if(p.startsWith("[")){var C=this.getAttribute(p),Q=C.name,Z=C.value;return Q==="name"?g.name===Z:this.attributeToString(g,Q)===Z}return g.nodeName===p}},{key:"getIdOrClassname",value:function(p){return p.substring(1)}},{key:"getAttribute",value:function(p){var g=p.match(Od),C="",Q="";return g&&g.length>2&&(C=g[1].replace(/"/g,""),Q=g[2].replace(/"/g,"")),{name:C,value:Q}}},{key:"attributeToString",value:function(p,g){if(!p.getAttribute)return"";var C=p.getAttribute(g);return(0,Le.Z)(C)?"":C.toString?C.toString():""}}])}(),Ca=function(w){return w.ATTR_MODIFIED="DOMAttrModified",w.INSERTED="DOMNodeInserted",w.MOUNTED="DOMNodeInsertedIntoDocument",w.REMOVED="removed",w.UNMOUNTED="DOMNodeRemovedFromDocument",w.REPARENT="reparent",w.DESTROY="destroy",w.BOUNDS_CHANGED="bounds-changed",w.CULLED="culled",w}({}),ku=function(w){function M(p,g,C,Q,Z,ne,_e,Ve){var At;return(0,O.Z)(this,M),At=(0,_.Z)(this,M,[null]),At.relatedNode=g,At.prevValue=C,At.newValue=Q,At.attrName=Z,At.attrChange=ne,At.prevParsedValue=_e,At.newParsedValue=Ve,At.type=p,At}return(0,I.Z)(M,w),(0,B.Z)(M)}(Zf);ku.ADDITION=2,ku.MODIFICATION=1,ku.REMOVAL=3;var fm=new ku(Ca.REPARENT,null,"","","",0,"",""),E0=ge.Ue(),$f=T.Ue(),jf=T.al(1,1,1),Am=z.create(),wu=ge.Ue(),Ju=T.Ue(),S0=z.create(),xh=te.Ue(),Xp=T.Ue(),QA=te.Ue(),WA=T.Ue(),Hh=T.Ue(),bh=T.Ue(),ZA=z.create(),$A=te.Ue(),gf=te.Ue(),Kf=te.Ue(),oy=function(){function w(M){(0,O.Z)(this,w),this.displayObjectDependencyMap=new WeakMap,this.runtime=M}return(0,B.Z)(w,[{key:"matches",value:function(p,g){return this.runtime.sceneGraphSelector.is(p,g)}},{key:"querySelector",value:function(p,g){return this.runtime.sceneGraphSelector.selectOne(p,g)}},{key:"querySelectorAll",value:function(p,g){return this.runtime.sceneGraphSelector.selectAll(p,g)}},{key:"attach",value:function(p,g,C){var Q,Z=!1;p.parentNode&&(Z=p.parentNode!==g,this.detach(p));var ne=p.nodeName===Dt.FRAGMENT,_e=uc(g);p.parentNode=g;var Ve=ne?p.childNodes:[p];(0,pe.Z)(C)?Ve.forEach(function(kn){g.childNodes.splice(C,0,kn),kn.parentNode=g}):Ve.forEach(function(kn){g.childNodes.push(kn),kn.parentNode=g});var At=g,Bt=At.sortable;if((Bt!=null&&(Q=Bt.sorted)!==null&&Q!==void 0&&Q.length||Bt.dirty||p.parsedStyle.zIndex)&&(Bt.dirtyChildren.indexOf(p)===-1&&Bt.dirtyChildren.push(p),Bt.dirty=!0,Bt.dirtyReason=Si.ADDED),!_e){if(ne)this.dirtyFragment(p);else{var Zt=p.transformable;Zt&&this.dirtyWorldTransform(p,Zt)}if(Z){var En,mn=((En=g.ownerDocument)===null||En===void 0||(En=En.defaultView)===null||En===void 0||(En=En.getConfig())===null||En===void 0||(En=En.future)===null||En===void 0?void 0:En.experimentalCancelEventPropagation)===!0;p.dispatchEvent(fm,mn,mn)}}}},{key:"detach",value:function(p){var g,C;if(p.parentNode){var Q=p.transformable,Z=p.parentNode,ne=Z.sortable;(ne!=null&&(g=ne.sorted)!==null&&g!==void 0&&g.length||(C=p.style)!==null&&C!==void 0&&C.zIndex)&&(ne.dirtyChildren.indexOf(p)===-1&&ne.dirtyChildren.push(p),ne.dirty=!0,ne.dirtyReason=Si.REMOVED);var _e=p.parentNode.childNodes.indexOf(p);_e>-1&&p.parentNode.childNodes.splice(_e,1),Q&&this.dirtyWorldTransform(p,Q),p.parentNode=null}}},{key:"getLocalPosition",value:function(p){return p.transformable.localPosition}},{key:"getLocalRotation",value:function(p){return p.transformable.localRotation}},{key:"getLocalScale",value:function(p){return p.transformable.localScale}},{key:"getLocalSkew",value:function(p){return p.transformable.localSkew}},{key:"getLocalTransform",value:function(p){var g=p.transformable;return es(g),g.localTransform}},{key:"setLocalPosition",value:function(p,g){var C,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Z=p.transformable;Hh[0]=g[0],Hh[1]=g[1],Hh[2]=(C=g[2])!==null&&C!==void 0?C:0,!T.fS(Z.localPosition,Hh)&&(T.JG(Z.localPosition,Hh),Q&&this.dirtyLocalTransform(p,Z))}},{key:"translateLocal",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=T.al(g,C,Q));var Z=p.transformable;T.fS(g,$f)||(T.VC(g,g,Z.localRotation),T.IH(Z.localPosition,Z.localPosition,g),this.dirtyLocalTransform(p,Z))}},{key:"setLocalRotation",value:function(p,g,C,Q,Z){var ne=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;typeof g=="number"&&(g=te.t8(xh,g,C,Q,Z));var _e=p.transformable;te.JG(_e.localRotation,g),ne&&this.dirtyLocalTransform(p,_e)}},{key:"rotateLocal",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=T.al(g,C,Q));var Z=p.transformable;te.Su(gf,g[0],g[1],g[2]),te.dC(Z.localRotation,Z.localRotation,gf),this.dirtyLocalTransform(p,Z)}},{key:"setLocalScale",value:function(p,g){var C,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Z=p.transformable;T.t8(Ju,g[0],g[1],(C=g[2])!==null&&C!==void 0?C:Z.localScale[2]),!T.fS(Ju,Z.localScale)&&(T.JG(Z.localScale,Ju),Q&&this.dirtyLocalTransform(p,Z))}},{key:"scaleLocal",value:function(p,g){var C,Q=p.transformable;T.Jp(Q.localScale,Q.localScale,T.t8(Ju,g[0],g[1],(C=g[2])!==null&&C!==void 0?C:1)),this.dirtyLocalTransform(p,Q)}},{key:"setLocalSkew",value:function(p,g,C){var Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;typeof g=="number"&&(g=ge.t8(wu,g,C));var Z=p.transformable;ge.JG(Z.localSkew,g),Q&&this.dirtyLocalTransform(p,Z)}},{key:"setLocalEulerAngles",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,Z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;typeof g=="number"&&(g=T.al(g,C,Q));var ne=p.transformable;te.Su(ne.localRotation,g[0],g[1],g[2]),Z&&this.dirtyLocalTransform(p,ne)}},{key:"setLocalTransform",value:function(p,g){var C=z.getTranslation(Xp,g),Q=z.getRotation(QA,g),Z=z.getScaling(WA,g);this.setLocalScale(p,Z,!1),this.setLocalPosition(p,C,!1),this.setLocalRotation(p,Q,void 0,void 0,void 0,!1),this.dirtyLocalTransform(p,p.transformable)}},{key:"resetLocalTransform",value:function(p){this.setLocalScale(p,jf,!1),this.setLocalPosition(p,$f,!1),this.setLocalEulerAngles(p,$f,void 0,void 0,!1),this.setLocalSkew(p,E0,void 0,!1),this.dirtyLocalTransform(p,p.transformable)}},{key:"getPosition",value:function(p){var g=p.transformable;return z.getTranslation(g.position,this.getWorldTransform(p,g))}},{key:"getRotation",value:function(p){var g=p.transformable;return z.getRotation(g.rotation,this.getWorldTransform(p,g))}},{key:"getScale",value:function(p){var g=p.transformable;return z.getScaling(g.scaling,this.getWorldTransform(p,g))}},{key:"getOrigin",value:function(p){return p.getGeometryBounds(),p.transformable.origin}},{key:"getWorldTransform",value:function(p){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p.transformable;return!g.localDirtyFlag&&!g.dirtyFlag||(p.parentNode&&p.parentNode.transformable&&this.getWorldTransform(p.parentNode),this.internalUpdateTransform(p)),g.worldTransform}},{key:"setPosition",value:function(p,g){var C,Q=p.transformable;if(bh[0]=g[0],bh[1]=g[1],bh[2]=(C=g[2])!==null&&C!==void 0?C:0,!T.fS(this.getPosition(p),bh)){if(T.JG(Q.position,bh),p.parentNode===null||!p.parentNode.transformable)T.JG(Q.localPosition,bh);else{var Z=p.parentNode.transformable;z.copy(ZA,Z.worldTransform),z.invert(ZA,ZA),T.fF(Q.localPosition,bh,ZA)}this.dirtyLocalTransform(p,Q)}}},{key:"translate",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=T.t8(Ju,g,C,Q)),!T.fS(g,$f)&&(T.IH(Ju,this.getPosition(p),g),this.setPosition(p,Ju))}},{key:"setRotation",value:function(p,g,C,Q,Z){var ne=p.transformable;if(typeof g=="number"&&(g=te.al(g,C,Q,Z)),p.parentNode===null||!p.parentNode.transformable)this.setLocalRotation(p,g);else{var _e=this.getRotation(p.parentNode);te.JG(xh,_e),te.U_(xh,xh),te.Jp(ne.localRotation,xh,g),te.Fv(ne.localRotation,ne.localRotation),this.dirtyLocalTransform(p,ne)}}},{key:"rotate",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=T.al(g,C,Q));var Z=p.transformable;if(p.parentNode===null||!p.parentNode.transformable)this.rotateLocal(p,g);else{var ne=xh;te.Su(ne,g[0],g[1],g[2]);var _e=this.getRotation(p),Ve=this.getRotation(p.parentNode);te.JG(Kf,Ve),te.U_(Kf,Kf),te.Jp(ne,Kf,ne),te.Jp(Z.localRotation,ne,_e),te.Fv(Z.localRotation,Z.localRotation),this.dirtyLocalTransform(p,Z)}}},{key:"setOrigin",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=[g,C,Q]);var Z=p.transformable;if(!(g[0]===Z.origin[0]&&g[1]===Z.origin[1]&&g[2]===Z.origin[2])){var ne=Z.origin;ne[0]=g[0],ne[1]=g[1],ne[2]=g[2]||0,this.dirtyLocalTransform(p,Z)}}},{key:"setEulerAngles",value:function(p,g){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,Q=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;typeof g=="number"&&(g=T.al(g,C,Q));var Z=p.transformable;if(p.parentNode===null||!p.parentNode.transformable)this.setLocalEulerAngles(p,g);else{te.Su(Z.localRotation,g[0],g[1],g[2]);var ne=this.getRotation(p.parentNode);te.JG($A,te.U_(xh,ne)),te.dC(Z.localRotation,Z.localRotation,$A),this.dirtyLocalTransform(p,Z)}}},{key:"getGeometryBounds",value:function(p){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=p,Q=C.geometry;Q.dirty&&Ii.styleValueRegistry.updateGeometry(p);var Z=g?Q.renderBounds:Q.contentBounds||null;return Z||new J}},{key:"getTransformedGeometryBounds",value:function(p){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2?arguments[2]:void 0,Q=this.getGeometryBounds(p,g);if(!J.isEmpty(Q)){var Z=C||new J;return Z.setFromTransformedAABB(Q,this.getWorldTransform(p)),Z}return null}},{key:"getBounds",value:function(p){var g=this,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Q=p,Z=Q.renderable;if(!Z.boundsDirty&&!C&&Z.bounds)return Z.bounds;if(!Z.renderBoundsDirty&&C&&Z.renderBounds)return Z.renderBounds;var ne=C?Z.renderBounds:Z.bounds,_e=this.getTransformedGeometryBounds(p,C,ne),Ve=p.childNodes;if(Ve.forEach(function(Zt){var En=g.getBounds(Zt,C);En&&(_e?_e.add(En):(_e=ne||new J,_e.update(En.center,En.halfExtents)))}),_e||(_e=new J),C){var At=Vf(p);if(At){var Bt=At.parsedStyle.clipPath.getBounds(C);_e?Bt&&(_e=Bt.intersection(_e)):_e.update(Bt.center,Bt.halfExtents)}}return C?(Z.renderBounds=_e,Z.renderBoundsDirty=!1):(Z.bounds=_e,Z.boundsDirty=!1),_e}},{key:"getLocalBounds",value:function(p){if(p.parentNode){var g=Am;p.parentNode.transformable&&(g=z.invert(S0,this.getWorldTransform(p.parentNode)));var C=this.getBounds(p);if(!J.isEmpty(C)){var Q=new J;return Q.setFromTransformedAABB(C,g),Q}}return this.getBounds(p)}},{key:"getBoundingClientRect",value:function(p){var g,C,Q=this.getGeometryBounds(p);J.isEmpty(Q)||(C=new J,C.setFromTransformedAABB(Q,this.getWorldTransform(p)));var Z=(g=p.ownerDocument)===null||g===void 0||(g=g.defaultView)===null||g===void 0?void 0:g.getContextService().getBoundingClientRect();if(C){var ne=C.getMin(),_e=(0,E.Z)(ne,2),Ve=_e[0],At=_e[1],Bt=C.getMax(),Zt=(0,E.Z)(Bt,2),En=Zt[0],mn=Zt[1];return new Xt(Ve+((Z==null?void 0:Z.left)||0),At+((Z==null?void 0:Z.top)||0),En-Ve,mn-At)}return new Xt((Z==null?void 0:Z.left)||0,(Z==null?void 0:Z.top)||0,0,0)}},{key:"internalUpdateTransform",value:function(p){var g,C=(g=p.parentNode)===null||g===void 0?void 0:g.transformable;es(p.transformable),$i(p.transformable,C)}},{key:"internalUpdateElement",value:function(p,g){var C,Q,Z,ne,_e=((C=p.ownerDocument)===null||C===void 0||(C=C.defaultView)===null||C===void 0||(C=C.getConfig())===null||C===void 0||(C=C.future)===null||C===void 0?void 0:C.experimentalAttributeUpdateOptimization)===!0,Ve=g[g.length-1],At=(Ve==null?void 0:Ve.transformDirty)||((Q=p.transformable)===null||Q===void 0?void 0:Q.localDirtyFlag);if(p.transformable){var Bt;(Bt=p.transformable).dirtyFlag||(Bt.dirtyFlag=At)}if(this.internalUpdateTransform(p),At){var Zt;(Zt=p.dirty)===null||Zt===void 0||Zt.call(p,!0,!0)}var En=((Z=p.renderable)===null||Z===void 0?void 0:Z.boundsDirty)||((ne=p.renderable)===null||ne===void 0?void 0:ne.renderBoundsDirty);if((At||En)&&(Ve==null?void 0:Ve.shapeUpdated)===!1&&_e)for(var mn=g.length-1;mn>=0;){var kn,Jn,nr=g[mn];if(nr.shapeUpdated)break;(kn=(Jn=nr.node).dirty)===null||kn===void 0||kn.call(Jn,!0,!0),nr.shapeUpdated=!0,mn-=1}return At}},{key:"syncHierarchy",value:function(p){for(var g,C,Q=[p],Z=p.parentNode?[{node:p.parentNode,transformDirty:((g=p.parentNode.transformable)===null||g===void 0?void 0:g.localDirtyFlag)||((C=p.parentNode.transformable)===null||C===void 0?void 0:C.dirtyFlag),shapeUpdated:!1}]:[];Q.length>0;){for(var ne=Q.pop(),_e=Z[Z.length-1];Z.length>0&&ne.parentNode!==_e.node;)_e=Z.pop();var Ve=this.internalUpdateElement(ne,Z);if(ne.childNodes.length>0){for(var At=ne.childNodes.length-1;At>=0;At--)Q.push(ne.childNodes[At]);Z.push({node:ne,transformDirty:Ve,shapeUpdated:!1})}}}},{key:"dirtyLocalTransform",value:function(p,g){uc(p)||g.localDirtyFlag||(g.localDirtyFlag=!0,g.dirtyFlag||this.dirtyWorldTransform(p,g))}},{key:"dirtyWorldTransform",value:function(p,g){this.dirtyWorldInternal(p,g),this.dirtyToRoot(p,!0)}},{key:"dirtyWorldInternal",value:function(p,g){var C,Q=this,Z=((C=p.ownerDocument)===null||C===void 0||(C=C.defaultView)===null||C===void 0||(C=C.getConfig())===null||C===void 0||(C=C.future)===null||C===void 0?void 0:C.experimentalAttributeUpdateOptimization)===!0;g.dirtyFlag||(g.dirtyFlag=!0,p.dirty(!0,!0),Z||p.childNodes.forEach(function(ne){var _e=ne.transformable;Q.dirtyWorldInternal(ne,_e)}))}},{key:"dirtyToRoot",value:function(p){for(var g,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Q=p,Z=((g=p.ownerDocument)===null||g===void 0||(g=g.defaultView)===null||g===void 0||(g=g.getConfig())===null||g===void 0||(g=g.future)===null||g===void 0?void 0:g.experimentalAttributeUpdateOptimization)===!0;Q;){var ne,_e;if((ne=(_e=Q).dirty)===null||ne===void 0||ne.call(_e,!0,!0),Z)break;Q=Q.parentNode}C&&p.forEach(function(Bt){var Zt;(Zt=Bt.dirty)===null||Zt===void 0||Zt.call(Bt,!0,!0)}),this.informDependentDisplayObjects(p);var Ve=p.mutations||[],At=Ve.find(function(Bt){return Bt.type==="attributes"&&Bt._boundsChangeData});At?At._boundsChangeData={affectChildren:At._boundsChangeData.affectChildren||C}:(At={type:"attributes",target:p,_boundsChangeData:{affectChildren:C}},Ve.push(At)),p.mutations=Ve}},{key:"dirtyFragment",value:function(p){var g,C,Q=p.transformable;Q&&(Q.dirtyFlag=!0,Q.localDirtyFlag=!0),(g=(C=p).dirty)===null||g===void 0||g.call(C,!0,!0);for(var Z=p.childNodes.length,ne=0;ne0){var C=new Ic(Ca.BOUNDS_CHANGED,{detail:Array.from(g)});p.dispatchEvent(C,!0,!0)}}},{key:"updateDisplayObjectDependency",value:function(p,g,C,Q){if(g&&g!==C){var Z=this.displayObjectDependencyMap.get(g);if(Z&&Z[p]){var ne=Z[p].indexOf(Q);Z[p].splice(ne,1)}}if(C){var _e=this.displayObjectDependencyMap.get(C);_e||(this.displayObjectDependencyMap.set(C,{}),_e=this.displayObjectDependencyMap.get(C)),_e[p]||(_e[p]=[]),_e[p].push(Q)}}},{key:"informDependentDisplayObjects",value:function(p){var g,C=this,Q=this.displayObjectDependencyMap.get(p);if(Q){var Z=(g=p.ownerDocument)===null||g===void 0||(g=g.defaultView)===null||g===void 0||(g=g.getConfig())===null||g===void 0||(g=g.future)===null||g===void 0?void 0:g.experimentalCancelEventPropagation;Object.keys(Q).forEach(function(ne){Q[ne].forEach(function(_e){C.dirtyToRoot(_e,!0),_e.dispatchEvent(new ku(Ca.ATTR_MODIFIED,_e,C,C,ne,ku.MODIFICATION,C,C),Z,Z),_e.isCustomElement&&_e.isConnected&&_e.attributeChangedCallback&&_e.attributeChangedCallback(ne,C,C)})})}}}])}(),pm=function(){function w(M){if((0,O.Z)(this,w),M<=0)throw new Error("LRU capacity must be a positive number.");this.capacity=M,this.cache=new Map}return(0,B.Z)(w,[{key:"get",value:function(p){if(this.cache.has(p)){var g=this.cache.get(p);return this.cache.delete(p),this.cache.set(p,g),g}}},{key:"put",value:function(p,g){if(this.cache.has(p)&&this.cache.delete(p),this.cache.set(p,g),this.cache.size>this.capacity){var C=this.cache.keys().next().value;this.cache.delete(C)}}},{key:"len",value:function(){return this.cache.size}},{key:"clear",value:function(){this.cache.clear()}}])}(),mf={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]},Yp=/[a-zA-Z0-9\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff!"#$%&'()*+,-./:;]/,Xf=/[!%),.:;?\]}¢°·'""†‡›℃∶、。〃〆〕〗〞﹚﹜!"%'),.:;?!]}~]/,gm=/[$(£¥·'"〈《「『【〔〖〝﹙﹛$(.[{£¥]/,C0=/[!),.:;?\]}¢·–—'"•"、。〆〞〕〉》」︰︱︲︳﹐﹑﹒﹓﹔﹕﹖﹘﹚﹜!),.:;?︶︸︺︼︾﹀﹂﹗]|}、]/,M0=/[([{£¥'"‵〈《「『〔〝︴﹙﹛({︵︷︹︻︽︿﹁﹃﹏]/,T0=/[)\]}〕〉》」』】〙〗〟'"⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、:;,。.]/,B0=/[([{〔〈《「『【〘〖〝'"⦅«—...‥〳〴〵]/,R0=/[!%),.:;?\]}¢°'"†‡℃〆〈《「『〕!%),.:;?]}]/,hb=/[$([{£¥'"々〇〉》」〔$([{⦆¥₩#]/,qp=new RegExp("".concat(Xf.source,"|").concat(C0.source,"|").concat(T0.source,"|").concat(R0.source)),Jp=new RegExp("".concat(gm.source,"|").concat(M0.source,"|").concat(B0.source,"|").concat(hb.source)),mm=function(){function w(M){var p=this;(0,O.Z)(this,w),this.fontMetricsCache={},this.shouldBreakByKinsokuShorui=function(g,C){return p.isBreakingSpace(C)?!1:!!(g&&(Jp.exec(C)||qp.exec(g)))},this.trimByKinsokuShorui=function(g){var C=(0,R.Z)(g),Q=C[C.length-2];if(!Q)return g;var Z=Q[Q.length-1];return C[C.length-2]=Q.slice(0,-1),C[C.length-1]=Z+C[C.length-1],C},this.runtime=M,this.charWidthCache=new pm(100)}return(0,B.Z)(w,[{key:"measureFont",value:function(p,g){if(this.fontMetricsCache[p])return this.fontMetricsCache[p];var C={ascent:0,descent:0,fontSize:0},Q=this.runtime.offscreenCanvasCreator.getOrCreateCanvas(g),Z=this.runtime.offscreenCanvasCreator.getOrCreateContext(g,{willReadFrequently:!0});Z.font=p;var ne=mf.MetricsString+mf.BaselineSymbol,_e=Math.ceil(Z.measureText(ne).width),Ve=Math.ceil(Z.measureText(mf.BaselineSymbol).width),At=mf.HeightMultiplier*Ve;Ve=Ve*mf.BaselineMultiplier|0,Q.width=_e,Q.height=At,Z.fillStyle="#f00",Z.fillRect(0,0,_e,At),Z.font=p,Z.textBaseline="alphabetic",Z.fillStyle="#000",Z.fillText(ne,0,Ve);var Bt=Z.getImageData(0,0,_e||1,At||1).data,Zt=Bt.length,En=_e*4,mn=0,kn=0,Jn=!1;for(mn=0;mnVe;--mn){for(var Kn=0;Knj&&L>=K;)L-=1,G=G.slice(0,-1);return{lineTxt:G,txtLastCharIndex:L}}function ks(G,L){if(!(ws<=0||ws>Jn)){if(!Kn[G]){Kn[G]=nr;return}var K=Es(Kn[G],L,ji+1,Jn-ws);Kn[G]=K.lineTxt+nr}}for(var ys=0;ys=En){ysJn){ks(wr,ys-1),g.isOverflowing=!0;break}if(qr>0&&qr+xl>Jn){var Ys=Es(Kn[wr],ys-1,ji+1,Jn);if(Ys.txtLastCharIndex!==ys-1){if(Kn[wr]=Ys.lineTxt,Ys.txtLastCharIndex===Z.length-1)break;ys=Ys.txtLastCharIndex+1,la=Z[ys],Go=Z[ys-1],hl=Z[ys+1],xl=_i(la)}if(wr+1>=En){ks(wr,ys-1),g.isOverflowing=!0;break}if(ji=ys-1,wr+=1,qr=0,Kn[wr]="",this.isBreakingSpace(la))continue;this.canBreakInLastChar(la)||(Kn=this.trimToBreakable(Kn),qr=this.sumTextWidthByCache(Kn[wr]||"",_i)),this.shouldBreakByKinsokuShorui(la,hl)&&(Kn=this.trimByKinsokuShorui(Kn),qr+=_i(Go||""))}qr+=xl,Kn[wr]+=la}return Kn.join(` +`)}},{key:"isBreakingSpace",value:function(p){return typeof p!="string"?!1:mf.BreakingSpaces.indexOf(p.charCodeAt(0))>=0}},{key:"isNewline",value:function(p){return typeof p!="string"?!1:mf.Newlines.indexOf(p.charCodeAt(0))>=0}},{key:"trimToBreakable",value:function(p){var g=(0,R.Z)(p),C=g[g.length-2],Q=this.findBreakableIndex(C);if(Q===-1||!C)return g;var Z=C.slice(Q,Q+1),ne=this.isBreakingSpace(Z),_e=Q+1,Ve=Q+(ne?0:1);return g[g.length-1]+=C.slice(_e,C.length),g[g.length-2]=C.slice(0,Ve),g}},{key:"canBreakInLastChar",value:function(p){return!(p&&Yp.test(p))}},{key:"sumTextWidthByCache",value:function(p,g){return p.split("").reduce(function(C,Q){return C+g(Q)},0)}},{key:"findBreakableIndex",value:function(p){for(var g=p.length-1;g>=0;g--)if(!Yp.test(p[g]))return g;return-1}},{key:"getFromCache",value:function(p,g,C,Q){var Z=C.get(p);if(typeof Z!="number"){var ne=p.length*g,_e=Q.measureText(p);Z=_e.width+ne,C.put(p,Z)}return Z}},{key:"clearCache",value:function(){this.fontMetricsCache={},this.charWidthCache.clear()}}])}(),Ii={},I0=function(w){var M=new fd,p=new Kp;return w={},(0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)(w,Dt.FRAGMENT,null),Dt.CIRCLE,new um),Dt.ELLIPSE,new jp),Dt.RECT,M),Dt.IMAGE,M),Dt.GROUP,new bu),Dt.LINE,new vl),Dt.TEXT,new GA(Ii)),Dt.POLYLINE,p),Dt.POLYGON,p),(0,fi.Z)((0,fi.Z)((0,fi.Z)(w,Dt.PATH,new ry),Dt.HTML,new ub),Dt.MESH,null)}(),ly=function(w){var M=new vu,p=new yu;return w={},(0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)(w,Rr.PERCENTAGE,null),Rr.NUMBER,new im),Rr.ANGLE,new Wl),Rr.DEFINED_PATH,new nc),Rr.PAINT,M),Rr.COLOR,M),Rr.FILTER,new Du),Rr.LENGTH,p),Rr.LENGTH_PERCENTAGE,p),Rr.LENGTH_PERCENTAGE_12,new Ah),(0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)((0,fi.Z)(w,Rr.LENGTH_PERCENTAGE_14,new LA),Rr.COORDINATE,new yu),Rr.OFFSET_DISTANCE,new y0),Rr.OPACITY_VALUE,new hd),Rr.PATH,new DA),Rr.LIST_OF_POINTS,new Ol),Rr.SHADOW_BLUR,new Xu),Rr.TEXT,new Vh),Rr.TEXT_TRANSFORM,new Ml),Rr.TRANSFORM,new lm),(0,fi.Z)((0,fi.Z)((0,fi.Z)(w,Rr.TRANSFORM_ORIGIN,new cm),Rr.Z_INDEX,new HA),Rr.MARKER,new rm)}(),Yf=function(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof v.g!="undefined"?v.g:{}};Ii.CameraContribution=yr,Ii.AnimationTimeline=null,Ii.EasingFunction=null,Ii.offscreenCanvasCreator=new pf,Ii.sceneGraphSelector=new dm,Ii.sceneGraphService=new oy(Ii),Ii.textService=new mm(Ii),Ii.geometryUpdaterFactory=I0,Ii.CSSPropertySyntaxFactory=ly,Ii.styleValueRegistry=new Fl(Ii),Ii.layoutRegistry=null,Ii.globalThis=Yf(),Ii.enableStyleSyntax=!0,Ii.enableSizeAttenuation=!1;var Eu=0;function vm(){Eu=0}var N0=new ku(Ca.INSERTED,null,"","","",0,"",""),eg=new ku(Ca.REMOVED,null,"","","",0,"",""),_h=new Ic(Ca.DESTROY),jA=function(w){function M(){var p;(0,O.Z)(this,M);for(var g=arguments.length,C=new Array(g),Q=0;Q0&&arguments[0]!==void 0?arguments[0]:!0,C=arguments.length>1?arguments[1]:void 0;this.renderable.dirty=g,C!==void 0&&(this.renderable.boundsDirty=C,this.renderable.renderBoundsDirty=C,this.geometry.dirty=C)}},{key:"className",get:function(){return this.getAttribute("class")||""},set:function(g){this.setAttribute("class",g)}},{key:"classList",get:function(){return this.className.split(" ").filter(function(g){return g!==""})}},{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 g=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[g+1]||null}return null}},{key:"previousSibling",get:function(){if(this.parentNode){var g=this.parentNode.childNodes.indexOf(this);return this.parentNode.childNodes[g-1]||null}return null}},{key:"cloneNode",value:function(g){throw new Error(Se)}},{key:"appendChild",value:function(g,C){var Q;if(g.destroyed)throw new Error(Ee);return Ii.sceneGraphService.attach(g,this,C),(Q=this.ownerDocument)!==null&&Q!==void 0&&Q.defaultView&&(!uc(this)&&g.nodeName===Dt.FRAGMENT?this.ownerDocument.defaultView.mountFragment(g):this.ownerDocument.defaultView.mountChildren(g)),this.isMutationObserved&&(N0.relatedNode=this,g.dispatchEvent(N0)),g}},{key:"insertBefore",value:function(g,C){if(!C)this.appendChild(g);else{g.parentElement&&g.parentElement.removeChild(g);var Q=this.childNodes.indexOf(C);Q===-1?this.appendChild(g):this.appendChild(g,Q)}return g}},{key:"replaceChild",value:function(g,C){var Q=this.childNodes.indexOf(C);return this.removeChild(C),this.appendChild(g,Q),C}},{key:"removeChild",value:function(g){var C,Q,Z=((C=this.ownerDocument)===null||C===void 0||(C=C.defaultView)===null||C===void 0||(C=C.getConfig().future)===null||C===void 0?void 0:C.experimentalCancelEventPropagation)===!0;return eg.relatedNode=this,g.dispatchEvent(eg,Z,Z),(Q=g.ownerDocument)!==null&&Q!==void 0&&Q.defaultView&&g.ownerDocument.defaultView.unmountChildren(g),Ii.sceneGraphService.detach(g),g}},{key:"removeChildren",value:function(){for(var g=this.childNodes.length-1;g>=0;g--){var C=this.childNodes[g];this.removeChild(C)}}},{key:"destroyChildren",value:function(){for(var g=this.childNodes.length-1;g>=0;g--){var C=this.childNodes[g];C.childNodes.length>0&&C.destroyChildren(),C.destroy()}}},{key:"matches",value:function(g){return Ii.sceneGraphService.matches(g,this)}},{key:"getElementById",value:function(g){return Ii.sceneGraphService.querySelector("#".concat(g),this)}},{key:"getElementsByName",value:function(g){return Ii.sceneGraphService.querySelectorAll('[name="'.concat(g,'"]'),this)}},{key:"getElementsByClassName",value:function(g){return Ii.sceneGraphService.querySelectorAll(".".concat(g),this)}},{key:"getElementsByTagName",value:function(g){return Ii.sceneGraphService.querySelectorAll(g,this)}},{key:"querySelector",value:function(g){return Ii.sceneGraphService.querySelector(g,this)}},{key:"querySelectorAll",value:function(g){return Ii.sceneGraphService.querySelectorAll(g,this)}},{key:"closest",value:function(g){var C=this;do{if(Ii.sceneGraphService.matches(g,C))return C;C=C.parentElement}while(C!==null);return null}},{key:"find",value:function(g){var C=this,Q=null;return this.forEach(function(Z){return Z!==C&&g(Z)?(Q=Z,!1):!0}),Q}},{key:"findAll",value:function(g){var C=this,Q=[];return this.forEach(function(Z){Z!==C&&g(Z)&&Q.push(Z)}),Q}},{key:"after",value:function(){var g=this;if(this.parentNode){for(var C=this.parentNode.childNodes.indexOf(this),Q=arguments.length,Z=new Array(Q),ne=0;ne0&&arguments[0]!==void 0?arguments[0]:!1;return Ii.sceneGraphService.getGeometryBounds(this,g)}},{key:"getTransformedGeometryBounds",value:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return Ii.sceneGraphService.getTransformedGeometryBounds(this,g)}},{key:"getBounds",value:function(){return Ii.sceneGraphService.getBounds(this)}},{key:"getRenderBounds",value:function(){return Ii.sceneGraphService.getBounds(this,!0)}},{key:"getLocalBounds",value:function(){return Ii.sceneGraphService.getLocalBounds(this)}},{key:"getBoundingClientRect",value:function(){return Ii.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(g){if(typeof g!="symbol"){var C=this.attributes[g];return C}}},{key:"hasAttribute",value:function(g){return this.getAttributeNames().includes(g)}},{key:"hasAttributes",value:function(){return!!this.getAttributeNames().length}},{key:"removeAttribute",value:function(g){this.setAttribute(g,null),delete this.attributes[g]}},{key:"setAttribute",value:function(g,C){this.attributes[g]=C}},{key:"getAttributeNS",value:function(g,C){throw new Error(Se)}},{key:"getAttributeNode",value:function(g){throw new Error(Se)}},{key:"getAttributeNodeNS",value:function(g,C){throw new Error(Se)}},{key:"hasAttributeNS",value:function(g,C){throw new Error(Se)}},{key:"removeAttributeNS",value:function(g,C){throw new Error(Se)}},{key:"removeAttributeNode",value:function(g){throw new Error(Se)}},{key:"setAttributeNS",value:function(g,C,Q){throw new Error(Se)}},{key:"setAttributeNode",value:function(g){throw new Error(Se)}},{key:"setAttributeNodeNS",value:function(g){throw new Error(Se)}},{key:"toggleAttribute",value:function(g,C){throw new Error(Se)}}])}(Ll);function sl(w){return!!(w!=null&&w.nodeName)}var KA=Ii.globalThis.Proxy?Ii.globalThis.Proxy:function(){},wh=new ku(Ca.ATTR_MODIFIED,null,null,null,null,ku.MODIFICATION,null,null),XA=T.Ue(),qf=te.Ue(),Xo=function(w){function M(p){var g;return(0,O.Z)(this,M),g=(0,_.Z)(this,M),g.isCustomElement=!1,g.isMutationObserved=!1,g.activeAnimations=[],g.config=p,g.id=p.id||"",g.name=p.name||"",(p.className||p.class)&&(g.className=p.className||p.class),g.nodeName=p.type||Dt.GROUP,p.initialParsedStyle&&Object.assign(g.parsedStyle,p.initialParsedStyle),g.initAttributes(p.style),Ii.enableStyleSyntax&&(g.style=new KA({setProperty:function(Q,Z){g.setAttribute(Q,Z)},getPropertyValue:function(Q){return g.getAttribute(Q)},removeProperty:function(Q){g.removeAttribute(Q)},item:function(){return""}},{get:function(Q,Z){return Q[Z]!==void 0?Q[Z]:g.getAttribute(Z)},set:function(Q,Z,ne){return g.setAttribute(Z,ne),!0}})),g}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"destroy",value:function(){(0,on.Z)(M,"destroy",this,3)([]),this.getAnimations().forEach(function(g){g.cancel()})}},{key:"cloneNode",value:function(g,C){var Q=(0,m.Z)({},this.attributes);for(var Z in Q){var ne=Q[Z];sl(ne)&&Z!=="clipPath"&&Z!=="offsetPath"&&Z!=="textPath"&&(Q[Z]=ne.cloneNode(g)),C&&(Q[Z]=C(Z,ne))}var _e=new this.constructor((0,m.Z)((0,m.Z)({},this.config),{},{style:Q}));return _e.setLocalTransform(this.getLocalTransform()),g&&this.children.forEach(function(Ve){if(!Ve.style.isMarker){var At=Ve.cloneNode(g);_e.appendChild(At)}}),_e}},{key:"initAttributes",value:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C={forceUpdateGeometry:!0};Ii.styleValueRegistry.processProperties(this,g,C),this.dirty()}},{key:"setAttribute",value:function(g,C){var Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,Z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;(0,hr.Z)(C)||(Q||C!==this.attributes[g])&&(this.internalSetAttribute(g,C,{memoize:Z}),(0,on.Z)(M,"setAttribute",this,3)([g,C]))}},{key:"setAttributes",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Q=C.skipDispatchAttrModifiedEvent,Z=Q===void 0?!1:Q,ne,_e;if(Z||(ne=(0,m.Z)({},this.attributes),_e=(0,m.Z)({},this.parsedStyle)),Ii.styleValueRegistry.processProperties(this,g,C),this.dirty(),!Z)for(var Ve in g)this.dispatchAttrModifiedEvent(Ve,ne[Ve],g[Ve],_e[Ve])}},{key:"internalSetAttribute",value:function(g,C){var Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Z=this.attributes[g],ne=this.parsedStyle[g];Ii.styleValueRegistry.processProperties(this,(0,fi.Z)({},g,C),Q),this.dirty(),this.dispatchAttrModifiedEvent(g,Z,C,ne)}},{key:"dispatchAttrModifiedEvent",value:function(g,C,Q,Z){var ne=this.parsedStyle[g];if(this.isConnected)if(wh.relatedNode=this,wh.prevValue=C,wh.newValue=Q,wh.attrName=g,wh.prevParsedValue=Z,wh.newParsedValue=ne,this.isMutationObserved)this.dispatchEvent(wh);else{var _e,Ve=((_e=this.ownerDocument.defaultView.getConfig().future)===null||_e===void 0?void 0:_e.experimentalCancelEventPropagation)===!0;wh.target=this,this.ownerDocument.defaultView.dispatchEvent(wh,!0,Ve)}if(this.isCustomElement&&this.isConnected||!this.isCustomElement){var At,Bt;(At=(Bt=this).attributeChangedCallback)===null||At===void 0||At.call(Bt,g,C,Q,Z,ne)}}},{key:"getBBox",value:function(){var g=this.getBounds(),C=g.getMin(),Q=(0,E.Z)(C,2),Z=Q[0],ne=Q[1],_e=g.getMax(),Ve=(0,E.Z)(_e,2),At=Ve[0],Bt=Ve[1];return new Xt(Z,ne,At-Z,Bt-ne)}},{key:"setOrigin",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ii.sceneGraphService.setOrigin(this,Ut(g,C,Q,!1)),this}},{key:"getOrigin",value:function(){return Ii.sceneGraphService.getOrigin(this)}},{key:"setPosition",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ii.sceneGraphService.setPosition(this,Ut(g,C,Q,!1)),this}},{key:"setLocalPosition",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ii.sceneGraphService.setLocalPosition(this,Ut(g,C,Q,!1)),this}},{key:"translate",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ii.sceneGraphService.translate(this,Ut(g,C,Q,!1)),this}},{key:"translateLocal",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Ii.sceneGraphService.translateLocal(this,Ut(g,C,Q,!1)),this}},{key:"getPosition",value:function(){return Ii.sceneGraphService.getPosition(this)}},{key:"getLocalPosition",value:function(){return Ii.sceneGraphService.getLocalPosition(this)}},{key:"scale",value:function(g,C,Q){return this.scaleLocal(g,C,Q)}},{key:"scaleLocal",value:function(g,C,Q){return typeof g=="number"&&(C=C||g,Q=Q||g,g=Ut(g,C,Q,!1)),Ii.sceneGraphService.scaleLocal(this,g),this}},{key:"setLocalScale",value:function(g,C,Q){return typeof g=="number"&&(C=C||g,Q=Q||g,g=Ut(g,C,Q,!1)),Ii.sceneGraphService.setLocalScale(this,g),this}},{key:"getLocalScale",value:function(){return Ii.sceneGraphService.getLocalScale(this)}},{key:"getScale",value:function(){return Ii.sceneGraphService.getScale(this)}},{key:"getEulerAngles",value:function(){var g=lr(XA,Ii.sceneGraphService.getWorldTransform(this)),C=(0,E.Z)(g,3),Q=C[2];return Tn(Q)}},{key:"getLocalEulerAngles",value:function(){var g=lr(XA,Ii.sceneGraphService.getLocalRotation(this)),C=(0,E.Z)(g,3),Q=C[2];return Tn(Q)}},{key:"setEulerAngles",value:function(g){return Ii.sceneGraphService.setEulerAngles(this,0,0,g),this}},{key:"setLocalEulerAngles",value:function(g){return Ii.sceneGraphService.setLocalEulerAngles(this,0,0,g),this}},{key:"rotateLocal",value:function(g,C,Q){return(0,Le.Z)(C)&&(0,Le.Z)(Q)?Ii.sceneGraphService.rotateLocal(this,0,0,g):Ii.sceneGraphService.rotateLocal(this,g,C,Q),this}},{key:"rotate",value:function(g,C,Q){return(0,Le.Z)(C)&&(0,Le.Z)(Q)?Ii.sceneGraphService.rotate(this,0,0,g):Ii.sceneGraphService.rotate(this,g,C,Q),this}},{key:"setRotation",value:function(g,C,Q,Z){return Ii.sceneGraphService.setRotation(this,g,C,Q,Z),this}},{key:"setLocalRotation",value:function(g,C,Q,Z){return Ii.sceneGraphService.setLocalRotation(this,g,C,Q,Z),this}},{key:"setLocalSkew",value:function(g,C){return Ii.sceneGraphService.setLocalSkew(this,g,C),this}},{key:"getRotation",value:function(){return Ii.sceneGraphService.getRotation(this)}},{key:"getLocalRotation",value:function(){return Ii.sceneGraphService.getLocalRotation(this)}},{key:"getLocalSkew",value:function(){return Ii.sceneGraphService.getLocalSkew(this)}},{key:"getLocalTransform",value:function(){return Ii.sceneGraphService.getLocalTransform(this)}},{key:"getWorldTransform",value:function(){return Ii.sceneGraphService.getWorldTransform(this)}},{key:"setLocalTransform",value:function(g){return Ii.sceneGraphService.setLocalTransform(this,g),this}},{key:"resetLocalTransform",value:function(){Ii.sceneGraphService.resetLocalTransform(this)}},{key:"getAnimations",value:function(){return this.activeAnimations}},{key:"animate",value:function(g,C){var Q,Z=(Q=this.ownerDocument)===null||Q===void 0?void 0:Q.timeline;return Z?Z.play(this,g,C):null}},{key:"isVisible",value:function(){var g;return((g=this.parsedStyle)===null||g===void 0?void 0:g.visibility)!=="hidden"}},{key:"interactive",get:function(){return this.isInteractive()},set:function(g){this.style.pointerEvents=g?"auto":"none"}},{key:"isInteractive",value:function(){var g;return((g=this.parsedStyle)===null||g===void 0?void 0:g.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,R.Z)(this.parentNode.children.map(function(g){return Number(g.style.zIndex)})))+1),this}},{key:"toBack",value:function(){return this.parentNode&&(this.style.zIndex=Math.min.apply(Math,(0,R.Z)(this.parentNode.children.map(function(g){return Number(g.style.zIndex)})))-1),this}},{key:"getConfig",value:function(){return this.config}},{key:"attr",value:function(){for(var g=this,C=arguments.length,Q=new Array(C),Z=0;Z1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(g,C,Q),this}},{key:"move",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return this.setPosition(g,C,Q),this}},{key:"setZIndex",value:function(g){return this.style.zIndex=g,this}}])}(jA);Xo.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 ym=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.CIRCLE},p)])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);ym.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["cx","cy","cz","r","isBillboard","isSizeAttenuation"]));var P0=["style"],tg=function(w){function M(){var p,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=g.style,Q=(0,rn.Z)(g,P0);return(0,O.Z)(this,M),p=(0,_.Z)(this,M,[(0,m.Z)({style:C},Q)]),p.isCustomElement=!0,p}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);tg.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var YA=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.ELLIPSE},p)])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);YA.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["cx","cy","cz","rx","ry","isBillboard","isSizeAttenuation"]));var Eh=function(w){function M(){return(0,O.Z)(this,M),(0,_.Z)(this,M,[{type:Dt.FRAGMENT}])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);Eh.PARSED_STYLE_LIST=new Set(["class","className"]);var Sh=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.GROUP},p)])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);Sh.PARSED_STYLE_LIST=new Set(["class","className","clipPath","cursor","draggable","droppable","opacity","pointerEvents","transform","transformOrigin","zIndex","visibility"]);var db=["style"],Jf=function(w){function M(){var p,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=g.style,Q=(0,rn.Z)(g,db);return(0,O.Z)(this,M),p=(0,_.Z)(this,M,[(0,m.Z)({type:Dt.HTML,style:C},Q)]),p.cullable.enable=!1,p}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"getDomElement",value:function(){return this.parsedStyle.$el}},{key:"getClientRects",value:function(){return[this.getBoundingClientRect()]}},{key:"getLocalBounds",value:function(){if(this.parentNode){var g=z.invert(z.create(),this.parentNode.getWorldTransform()),C=this.getBounds();if(!J.isEmpty(C)){var Q=new J;return Q.setFromTransformedAABB(C,g),Q}}return this.getBounds()}}])}(Xo);Jf.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["x","y","$el","innerHTML","width","height"]));var Ld=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.IMAGE},p)])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);Ld.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["x","y","z","src","width","height","isBillboard","billboardRotation","isSizeAttenuation","keepAspectRatio"]));var Ad=["style"],Ch=function(w){function M(){var p,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=g.style,Q=(0,rn.Z)(g,Ad);(0,O.Z)(this,M),p=(0,_.Z)(this,M,[(0,m.Z)({type:Dt.LINE,style:(0,m.Z)({x1:0,y1:0,x2:0,y2:0,z1:0,z2:0},C)},Q)]),p.markerStartAngle=0,p.markerEndAngle=0;var Z=p.parsedStyle,ne=Z.markerStart,_e=Z.markerEnd;return ne&&sl(ne)&&(p.markerStartAngle=ne.getLocalEulerAngles(),p.appendChild(ne)),_e&&sl(_e)&&(p.markerEndAngle=_e.getLocalEulerAngles(),p.appendChild(_e)),p.transformMarker(!0),p.transformMarker(!1),p}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"attributeChangedCallback",value:function(g,C,Q,Z,ne){g==="x1"||g==="y1"||g==="x2"||g==="y2"||g==="markerStartOffset"||g==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):g==="markerStart"?(Z&&sl(Z)&&(this.markerStartAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerStartAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!0))):g==="markerEnd"&&(Z&&sl(Z)&&(this.markerEndAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerEndAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!1)))}},{key:"transformMarker",value:function(g){var C=this.parsedStyle,Q=C.markerStart,Z=C.markerEnd,ne=C.markerStartOffset,_e=C.markerEndOffset,Ve=C.x1,At=C.x2,Bt=C.y1,Zt=C.y2,En=g?Q:Z;if(!(!En||!sl(En))){var mn=0,kn,Jn,nr,Kn,wr,qr;g?(nr=Ve,Kn=Bt,kn=At-Ve,Jn=Zt-Bt,wr=ne||0,qr=this.markerStartAngle):(nr=At,Kn=Zt,kn=Ve-At,Jn=Bt-Zt,wr=_e||0,qr=this.markerEndAngle),mn=Math.atan2(Jn,kn),En.setLocalEulerAngles(mn*180/Math.PI+qr),En.setLocalPosition(nr+Math.cos(mn)*wr,Kn+Math.sin(mn)*wr)}}},{key:"getPoint",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Q=this.parsedStyle,Z=Q.x1,ne=Q.y1,_e=Q.x2,Ve=Q.y2,At=(0,Vt.U4)(Z,ne,_e,Ve,g),Bt=At.x,Zt=At.y,En=T.fF(T.Ue(),T.al(Bt,Zt,0),C?this.getWorldTransform():this.getLocalTransform());return new Ke(En[0],En[1])}},{key:"getPointAtLength",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(g/this.getTotalLength(),C)}},{key:"getTotalLength",value:function(){var g=this.parsedStyle,C=g.x1,Q=g.y1,Z=g.x2,ne=g.y2;return(0,Vt.Xk)(C,Q,Z,ne)}}])}(Xo);Ch.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["x1","y1","x2","y2","z1","z2","isBillboard","isSizeAttenuation","markerStart","markerEnd","markerStartOffset","markerEndOffset"]));var Dd=["style"],qA=function(w){function M(){var p,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=g.style,Q=(0,rn.Z)(g,Dd);(0,O.Z)(this,M),p=(0,_.Z)(this,M,[(0,m.Z)({type:Dt.PATH,style:C,initialParsedStyle:{miterLimit:4,d:(0,m.Z)({},Wi)}},Q)]),p.markerStartAngle=0,p.markerEndAngle=0,p.markerMidList=[];var Z=p.parsedStyle,ne=Z.markerStart,_e=Z.markerEnd,Ve=Z.markerMid;return ne&&sl(ne)&&(p.markerStartAngle=ne.getLocalEulerAngles(),p.appendChild(ne)),Ve&&sl(Ve)&&p.placeMarkerMid(Ve),_e&&sl(_e)&&(p.markerEndAngle=_e.getLocalEulerAngles(),p.appendChild(_e)),p.transformMarker(!0),p.transformMarker(!1),p}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"attributeChangedCallback",value:function(g,C,Q,Z,ne){g==="d"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):g==="markerStartOffset"||g==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):g==="markerStart"?(Z&&sl(Z)&&(this.markerStartAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerStartAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!0))):g==="markerEnd"?(Z&&sl(Z)&&(this.markerEndAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerEndAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!1))):g==="markerMid"&&this.placeMarkerMid(ne)}},{key:"transformMarker",value:function(g){var C=this.parsedStyle,Q=C.markerStart,Z=C.markerEnd,ne=C.markerStartOffset,_e=C.markerEndOffset,Ve=g?Q:Z;if(!(!Ve||!sl(Ve))){var At=0,Bt,Zt,En,mn,kn,Jn;if(g){var nr=this.getStartTangent(),Kn=(0,E.Z)(nr,2),wr=Kn[0],qr=Kn[1];En=qr[0],mn=qr[1],Bt=wr[0]-qr[0],Zt=wr[1]-qr[1],kn=ne||0,Jn=this.markerStartAngle}else{var ji=this.getEndTangent(),Ki=(0,E.Z)(ji,2),yi=Ki[0],_i=Ki[1];En=_i[0],mn=_i[1],Bt=yi[0]-_i[0],Zt=yi[1]-_i[1],kn=_e||0,Jn=this.markerEndAngle}At=Math.atan2(Zt,Bt),Ve.setLocalEulerAngles(At*180/Math.PI+Jn),Ve.setLocalPosition(En+Math.cos(At)*kn,mn+Math.sin(At)*kn)}}},{key:"placeMarkerMid",value:function(g){var C=this.parsedStyle.d.segments;if(this.markerMidList.forEach(function(At){At.remove()}),g&&sl(g))for(var Q=1;Q1&&arguments[1]!==void 0?arguments[1]:!1,Q=this.parsedStyle.d.absolutePath,Z=Vi(Q,g),ne=Z.x,_e=Z.y,Ve=T.fF(T.Ue(),T.al(ne,_e,0),C?this.getWorldTransform():this.getLocalTransform());return new Ke(Ve[0],Ve[1])}},{key:"getPoint",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPointAtLength(g*xr(this),C)}},{key:"getStartTangent",value:function(){var g=this.parsedStyle.d.segments,C=[];if(g.length>1){var Q=g[0].currentPoint,Z=g[1].currentPoint,ne=g[1].startTangent;C=[],ne?(C.push([Q[0]-ne[0],Q[1]-ne[1]]),C.push([Q[0],Q[1]])):(C.push([Z[0],Z[1]]),C.push([Q[0],Q[1]]))}return C}},{key:"getEndTangent",value:function(){var g=this.parsedStyle.d.segments,C=g.length,Q=[];if(C>1){var Z=g[C-2].currentPoint,ne=g[C-1].currentPoint,_e=g[C-1].endTangent;Q=[],_e?(Q.push([ne[0]-_e[0],ne[1]-_e[1]]),Q.push([ne[0],ne[1]])):(Q.push([Z[0],Z[1]]),Q.push([ne[0],ne[1]]))}return Q}}])}(Xo);qA.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["d","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard","isSizeAttenuation"]));var fc=["style"],Gh=function(w){function M(){var p,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=g.style,Q=(0,rn.Z)(g,fc);(0,O.Z)(this,M),p=(0,_.Z)(this,M,[(0,m.Z)({type:Dt.POLYGON,style:C,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!0}},Q)]),p.markerStartAngle=0,p.markerEndAngle=0,p.markerMidList=[];var Z=p.parsedStyle,ne=Z.markerStart,_e=Z.markerEnd,Ve=Z.markerMid;return ne&&sl(ne)&&(p.markerStartAngle=ne.getLocalEulerAngles(),p.appendChild(ne)),Ve&&sl(Ve)&&p.placeMarkerMid(Ve),_e&&sl(_e)&&(p.markerEndAngle=_e.getLocalEulerAngles(),p.appendChild(_e)),p.transformMarker(!0),p.transformMarker(!1),p}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"attributeChangedCallback",value:function(g,C,Q,Z,ne){g==="points"?(this.transformMarker(!0),this.transformMarker(!1),this.placeMarkerMid(this.parsedStyle.markerMid)):g==="markerStartOffset"||g==="markerEndOffset"?(this.transformMarker(!0),this.transformMarker(!1)):g==="markerStart"?(Z&&sl(Z)&&(this.markerStartAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerStartAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!0))):g==="markerEnd"?(Z&&sl(Z)&&(this.markerEndAngle=0,Z.remove()),ne&&sl(ne)&&(this.markerEndAngle=ne.getLocalEulerAngles(),this.appendChild(ne),this.transformMarker(!1))):g==="markerMid"&&this.placeMarkerMid(ne)}},{key:"transformMarker",value:function(g){var C=this.parsedStyle,Q=C.markerStart,Z=C.markerEnd,ne=C.markerStartOffset,_e=C.markerEndOffset,Ve=C.points,At=Ve||{},Bt=At.points,Zt=g?Q:Z;if(!(!Zt||!sl(Zt)||!Bt)){var En=0,mn,kn,Jn,nr,Kn,wr;if(Jn=Bt[0][0],nr=Bt[0][1],g)mn=Bt[1][0]-Bt[0][0],kn=Bt[1][1]-Bt[0][1],Kn=ne||0,wr=this.markerStartAngle;else{var qr=Bt.length;this.parsedStyle.isClosed?(mn=Bt[qr-1][0]-Bt[0][0],kn=Bt[qr-1][1]-Bt[0][1]):(Jn=Bt[qr-1][0],nr=Bt[qr-1][1],mn=Bt[qr-2][0]-Bt[qr-1][0],kn=Bt[qr-2][1]-Bt[qr-1][1]),Kn=_e||0,wr=this.markerEndAngle}En=Math.atan2(kn,mn),Zt.setLocalEulerAngles(En*180/Math.PI+wr),Zt.setLocalPosition(Jn+Math.cos(En)*Kn,nr+Math.sin(En)*Kn)}}},{key:"placeMarkerMid",value:function(g){var C=this.parsedStyle.points,Q=C||{},Z=Q.points;if(this.markerMidList.forEach(function(Bt){Bt.remove()}),this.markerMidList=[],g&&sl(g)&&Z)for(var ne=1;ne<(this.parsedStyle.isClosed?Z.length:Z.length-1);ne++){var _e=Z[ne][0],Ve=Z[ne][1],At=ne===1?g:g.cloneNode(!0);this.markerMidList.push(At),this.appendChild(At),At.setLocalPosition(_e,Ve)}}}])}(Xo);Gh.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isClosed","isBillboard","isSizeAttenuation"]));var JA=["style"],$l=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=p.style,C=(0,rn.Z)(p,JA);return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.POLYLINE,style:g,initialParsedStyle:{points:{points:[],totalLength:0,segments:[]},miterLimit:4,isClosed:!1}},C)])}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"getTotalLength",value:function(){return mi(this)}},{key:"getPointAtLength",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return this.getPoint(g/this.getTotalLength(),C)}},{key:"getPoint",value:function(g){var C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Q=this.parsedStyle.points.points;if(this.parsedStyle.points.segments.length===0){var Z=[],ne=0,_e,Ve,At=this.getTotalLength();Q.forEach(function(nr,Kn){Q[Kn+1]&&(_e=[0,0],_e[0]=ne/At,Ve=(0,Vt.Xk)(nr[0],nr[1],Q[Kn+1][0],Q[Kn+1][1]),ne+=Ve,_e[1]=ne/At,Z.push(_e))}),this.parsedStyle.points.segments=Z}var Bt=0,Zt=0;this.parsedStyle.points.segments.forEach(function(nr,Kn){g>=nr[0]&&g<=nr[1]&&(Bt=(g-nr[0])/(nr[1]-nr[0]),Zt=Kn)});var En=(0,Vt.U4)(Q[Zt][0],Q[Zt][1],Q[Zt+1][0],Q[Zt+1][1],Bt),mn=En.x,kn=En.y,Jn=T.fF(T.Ue(),T.al(mn,kn,0),C?this.getWorldTransform():this.getLocalTransform());return new Ke(Jn[0],Jn[1])}},{key:"getStartTangent",value:function(){var g=this.parsedStyle.points.points,C=[];return C.push([g[1][0],g[1][1]]),C.push([g[0][0],g[0][1]]),C}},{key:"getEndTangent",value:function(){var g=this.parsedStyle.points.points,C=g.length-1,Q=[];return Q.push([g[C-1][0],g[C-1][1]]),Q.push([g[C][0],g[C][1]]),Q}}])}(Gh);$l.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Gh.PARSED_STYLE_LIST),["points","markerStart","markerMid","markerEnd","markerStartOffset","markerEndOffset","isBillboard"]));var pd=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.RECT},p)])}return(0,I.Z)(M,w),(0,B.Z)(M)}(Xo);pd.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.PARSED_STYLE_LIST),["x","y","z","width","height","isBillboard","isSizeAttenuation","radius"]));var ep=["style"],Mh=function(w){function M(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},g=p.style,C=(0,rn.Z)(p,ep);return(0,O.Z)(this,M),(0,_.Z)(this,M,[(0,m.Z)({type:Dt.TEXT,style:(0,m.Z)({fill:"black"},g)},C)])}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"getComputedTextLength",value:function(){var g;return this.getGeometryBounds(),((g=this.parsedStyle.metrics)===null||g===void 0?void 0:g.maxLineWidth)||0}},{key:"getLineBoundingRects",value:function(){var g;return this.getGeometryBounds(),((g=this.parsedStyle.metrics)===null||g===void 0?void 0:g.lineMetrics)||[]}},{key:"isOverflowing",value:function(){return this.getGeometryBounds(),!!this.parsedStyle.isOverflowing}}])}(Xo);Mh.PARSED_STYLE_LIST=new Set([].concat((0,R.Z)(Xo.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","textDecorationThickness","textPathSide","textPathStartOffset","metrics","dx","dy"]));var ng=function(){function w(){(0,O.Z)(this,w),this.registry={},this.define(Dt.CIRCLE,ym),this.define(Dt.ELLIPSE,YA),this.define(Dt.RECT,pd),this.define(Dt.IMAGE,Ld),this.define(Dt.LINE,Ch),this.define(Dt.GROUP,Sh),this.define(Dt.PATH,qA),this.define(Dt.POLYGON,Gh),this.define(Dt.POLYLINE,$l),this.define(Dt.TEXT,Mh),this.define(Dt.HTML,Jf)}return(0,B.Z)(w,[{key:"define",value:function(p,g){this.registry[p]=g}},{key:"get",value:function(p){return this.registry[p]}}])}(),vf={number:function(M){return new ho(M)},percent:function(M){return new ho(M,"%")},px:function(M){return new ho(M,"px")},em:function(M){return new ho(M,"em")},rem:function(M){return new ho(M,"rem")},deg:function(M){return new ho(M,"deg")},grad:function(M){return new ho(M,"grad")},rad:function(M){return new ho(M,"rad")},turn:function(M){return new ho(M,"turn")},s:function(M){return new ho(M,"s")},ms:function(M){return new ho(M,"ms")},registerProperty:function(M){var p=M.name,g=M.inherits,C=M.interpolable,Q=M.initialValue,Z=M.syntax;Ii.styleValueRegistry.registerMetadata({n:p,inh:g,int:C,d:Q,syntax:Z})},registerLayout:function(M,p){Ii.layoutRegistry.registerLayout(M,p)}},eA=function(w){function M(){var p;(0,O.Z)(this,M),p=(0,_.Z)(this,M),p.defaultView=null,p.ownerDocument=null,p.nodeName="document";try{p.timeline=new Ii.AnimationTimeline(p)}catch(C){}var g={};return so.forEach(function(C){var Q=C.n,Z=C.inh,ne=C.d;Z&&ne&&(g[Q]=(0,ri.Z)(ne)?ne(Dt.GROUP):ne)}),p.documentElement=new Sh({id:"g-root",style:g}),p.documentElement.ownerDocument=p,p.documentElement.parentNode=p,p.childNodes=[p.documentElement],p}return(0,I.Z)(M,w),(0,B.Z)(M,[{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(g,C){if(g==="svg")return this.documentElement;var Q=this.defaultView.customElements.get(g);Q||(console.warn("Unsupported tagName: ",g),Q=g==="tspan"?Mh:Sh);var Z=new Q(C);return Z.ownerDocument=this,Z}},{key:"createElementNS",value:function(g,C,Q){return this.createElement(C,Q)}},{key:"cloneNode",value:function(g){throw new Error(Se)}},{key:"destroy",value:function(){try{this.documentElement.destroyChildren(),this.timeline.destroy()}catch(g){}}},{key:"elementsFromBBox",value:function(g,C,Q,Z){var ne=[],_e=function(At){if(!(!At.isInteractive()||At.isCulled())){var Bt=At.parsedStyle.pointerEvents,Zt=Bt===void 0?"auto":Bt,En=["auto","visiblepainted","visiblefill","visiblestroke","visible"].includes(Zt);if(!En||At.isVisible()){var mn=At.getTransformedGeometryBounds(!0);mn&&!J.isEmpty(mn)&&mn.max[0]>=g&&mn.min[0]<=Q&&mn.max[1]>=C&&mn.min[1]<=Z&&ne.push(At)}At.childNodes&&At.childNodes.forEach(function(kn){kn instanceof Xo&&_e(kn)})}};return _e(this.documentElement),ne.sort(function(Ve,At){return At.sortable.renderOrder-Ve.sortable.renderOrder}),ne}},{key:"elementFromPointSync",value:function(g,C){var Q=this.defaultView.canvas2Viewport({x:g,y:C}),Z=Q.x,ne=Q.y,_e=this.defaultView.getConfig(),Ve=_e.width,At=_e.height;if(Z<0||ne<0||Z>Ve||ne>At)return null;var Bt=this.defaultView.viewport2Client({x:Z,y:ne}),Zt=Bt.x,En=Bt.y,mn=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!0,position:{x:g,y:C,viewportX:Z,viewportY:ne,clientX:Zt,clientY:En},picked:[]}),kn=mn.picked;return kn&&kn[0]||this.documentElement}},{key:"elementFromPoint",value:function(){var p=(0,yt.Z)((0,gt.Z)().mark(function C(Q,Z){var ne,_e,Ve,At,Bt,Zt,En,mn,kn,Jn,nr;return(0,gt.Z)().wrap(function(Kn){for(;;)switch(Kn.prev=Kn.next){case 0:if(ne=this.defaultView.canvas2Viewport({x:Q,y:Z}),_e=ne.x,Ve=ne.y,At=this.defaultView.getConfig(),Bt=At.width,Zt=At.height,!(_e<0||Ve<0||_e>Bt||Ve>Zt)){Kn.next=1;break}return Kn.abrupt("return",null);case 1:return En=this.defaultView.viewport2Client({x:_e,y:Ve}),mn=En.x,kn=En.y,Kn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!0,position:{x:Q,y:Z,viewportX:_e,viewportY:Ve,clientX:mn,clientY:kn},picked:[]});case 2:return Jn=Kn.sent,nr=Jn.picked,Kn.abrupt("return",nr&&nr[0]||this.documentElement);case 3:case"end":return Kn.stop()}},C,this)}));function g(C,Q){return p.apply(this,arguments)}return g}()},{key:"elementsFromPointSync",value:function(g,C){var Q=this.defaultView.canvas2Viewport({x:g,y:C}),Z=Q.x,ne=Q.y,_e=this.defaultView.getConfig(),Ve=_e.width,At=_e.height;if(Z<0||ne<0||Z>Ve||ne>At)return[];var Bt=this.defaultView.viewport2Client({x:Z,y:ne}),Zt=Bt.x,En=Bt.y,mn=this.defaultView.getRenderingService().hooks.pickSync.call({topmost:!1,position:{x:g,y:C,viewportX:Z,viewportY:ne,clientX:Zt,clientY:En},picked:[]}),kn=mn.picked;return kn[kn.length-1]!==this.documentElement&&kn.push(this.documentElement),kn}},{key:"elementsFromPoint",value:function(){var p=(0,yt.Z)((0,gt.Z)().mark(function C(Q,Z){var ne,_e,Ve,At,Bt,Zt,En,mn,kn,Jn,nr;return(0,gt.Z)().wrap(function(Kn){for(;;)switch(Kn.prev=Kn.next){case 0:if(ne=this.defaultView.canvas2Viewport({x:Q,y:Z}),_e=ne.x,Ve=ne.y,At=this.defaultView.getConfig(),Bt=At.width,Zt=At.height,!(_e<0||Ve<0||_e>Bt||Ve>Zt)){Kn.next=1;break}return Kn.abrupt("return",[]);case 1:return En=this.defaultView.viewport2Client({x:_e,y:Ve}),mn=En.x,kn=En.y,Kn.next=2,this.defaultView.getRenderingService().hooks.pick.promise({topmost:!1,position:{x:Q,y:Z,viewportX:_e,viewportY:Ve,clientX:mn,clientY:kn},picked:[]});case 2:return Jn=Kn.sent,nr=Jn.picked,nr[nr.length-1]!==this.documentElement&&nr.push(this.documentElement),Kn.abrupt("return",nr);case 3:case"end":return Kn.stop()}},C,this)}));function g(C,Q){return p.apply(this,arguments)}return g}()},{key:"appendChild",value:function(g,C){throw new Error(Oe)}},{key:"insertBefore",value:function(g,C){throw new Error(Oe)}},{key:"removeChild",value:function(g,C){throw new Error(Oe)}},{key:"replaceChild",value:function(g,C,Q){throw new Error(Oe)}},{key:"append",value:function(){throw new Error(Oe)}},{key:"prepend",value:function(){throw new Error(Oe)}},{key:"getElementById",value:function(g){return this.documentElement.getElementById(g)}},{key:"getElementsByName",value:function(g){return this.documentElement.getElementsByName(g)}},{key:"getElementsByTagName",value:function(g){return this.documentElement.getElementsByTagName(g)}},{key:"getElementsByClassName",value:function(g){return this.documentElement.getElementsByClassName(g)}},{key:"querySelector",value:function(g){return this.documentElement.querySelector(g)}},{key:"querySelectorAll",value:function(g){return this.documentElement.querySelectorAll(g)}},{key:"find",value:function(g){return this.documentElement.find(g)}},{key:"findAll",value:function(g){return this.documentElement.findAll(g)}}])}(Ll),rg=function(){function w(M){(0,O.Z)(this,w),this.strategies=M}return(0,B.Z)(w,[{key:"apply",value:function(p){var g=p.config,C=p.camera,Q=p.renderingService,Z=p.renderingContext,ne=this.strategies;Q.hooks.cull.tap(w.tag,function(_e){if(_e){var Ve,At=_e.cullable;if(ne.length===0?At.visible=Z.unculledEntities.indexOf(_e.entity)>-1:At.visible=ne.every(function(Zt){return Zt.isVisible(C,_e)}),!_e.isCulled()&&_e.isVisible())return _e;var Bt=((Ve=g.future)===null||Ve===void 0?void 0:Ve.experimentalCancelEventPropagation)===!0;return _e.dispatchEvent(new Ic(Ca.CULLED),Bt,Bt),null}return _e}),Q.hooks.afterRender.tap(w.tag,function(_e){_e.cullable.visibilityPlaneMask=-1})}}])}();rg.tag="Culling";var tp=function(){function w(){var M=this;(0,O.Z)(this,w),this.autoPreventDefault=!1,this.rootPointerEvent=new hm(null),this.rootWheelEvent=new _u(null),this.onPointerMove=function(p){var g,C=(g=M.context.renderingContext.root)===null||g===void 0||(g=g.ownerDocument)===null||g===void 0?void 0:g.defaultView;if(!(C.supportsTouchEvents&&p.pointerType==="touch")){var Q=M.normalizeToPointerEvent(p,C),Z=(0,Ft.Z)(Q),ne;try{for(Z.s();!(ne=Z.n()).done;){var _e=ne.value,Ve=M.bootstrapEvent(M.rootPointerEvent,_e,C,p);M.context.eventService.mapEvent(Ve)}}catch(At){Z.e(At)}finally{Z.f()}M.setCursor(M.context.eventService.cursor)}},this.onClick=function(p){var g,C=(g=M.context.renderingContext.root)===null||g===void 0||(g=g.ownerDocument)===null||g===void 0?void 0:g.defaultView,Q=M.normalizeToPointerEvent(p,C),Z=(0,Ft.Z)(Q),ne;try{for(Z.s();!(ne=Z.n()).done;){var _e=ne.value,Ve=M.bootstrapEvent(M.rootPointerEvent,_e,C,p);M.context.eventService.mapEvent(Ve)}}catch(At){Z.e(At)}finally{Z.f()}M.setCursor(M.context.eventService.cursor)}}return(0,B.Z)(w,[{key:"apply",value:function(p){var g=this;this.context=p;var C=p.renderingService,Q=this.context.renderingContext.root.ownerDocument.defaultView;this.context.eventService.setPickHandler(function(Z){var ne=g.context.renderingService.hooks.pickSync.call({position:Z,picked:[],topmost:!0}),_e=ne.picked;return _e[0]||null}),C.hooks.pointerWheel.tap(w.tag,function(Z){var ne=g.normalizeWheelEvent(Z);g.context.eventService.mapEvent(ne)}),C.hooks.pointerDown.tap(w.tag,function(Z){if(!(Q.supportsTouchEvents&&Z.pointerType==="touch")){var ne=g.normalizeToPointerEvent(Z,Q);if(g.autoPreventDefault&&ne[0].isNormalized){var _e=Z.cancelable||!("cancelable"in Z);_e&&Z.preventDefault()}var Ve=(0,Ft.Z)(ne),At;try{for(Ve.s();!(At=Ve.n()).done;){var Bt=At.value,Zt=g.bootstrapEvent(g.rootPointerEvent,Bt,Q,Z);g.context.eventService.mapEvent(Zt)}}catch(En){Ve.e(En)}finally{Ve.f()}g.setCursor(g.context.eventService.cursor)}}),C.hooks.pointerUp.tap(w.tag,function(Z){if(!(Q.supportsTouchEvents&&Z.pointerType==="touch")){var ne=g.context.contextService.getDomElement(),_e=g.context.eventService.isNativeEventFromCanvas(ne,Z),Ve=_e?"":"outside",At=g.normalizeToPointerEvent(Z,Q),Bt=(0,Ft.Z)(At),Zt;try{for(Bt.s();!(Zt=Bt.n()).done;){var En=Zt.value,mn=g.bootstrapEvent(g.rootPointerEvent,En,Q,Z);mn.type+=Ve,g.context.eventService.mapEvent(mn)}}catch(kn){Bt.e(kn)}finally{Bt.f()}g.setCursor(g.context.eventService.cursor)}}),C.hooks.pointerMove.tap(w.tag,this.onPointerMove),C.hooks.pointerOver.tap(w.tag,this.onPointerMove),C.hooks.pointerOut.tap(w.tag,this.onPointerMove),C.hooks.click.tap(w.tag,this.onClick),C.hooks.pointerCancel.tap(w.tag,function(Z){var ne=g.normalizeToPointerEvent(Z,Q),_e=(0,Ft.Z)(ne),Ve;try{for(_e.s();!(Ve=_e.n()).done;){var At=Ve.value,Bt=g.bootstrapEvent(g.rootPointerEvent,At,Q,Z);g.context.eventService.mapEvent(Bt)}}catch(Zt){_e.e(Zt)}finally{_e.f()}g.setCursor(g.context.eventService.cursor)})}},{key:"bootstrapEvent",value:function(p,g,C,Q){p.view=C,p.originalEvent=null,p.nativeEvent=Q,p.pointerId=g.pointerId,p.width=g.width,p.height=g.height,p.isPrimary=g.isPrimary,p.pointerType=g.pointerType,p.pressure=g.pressure,p.tangentialPressure=g.tangentialPressure,p.tiltX=g.tiltX,p.tiltY=g.tiltY,p.twist=g.twist,this.transferMouseData(p,g);var Z=this.context.eventService.client2Viewport({x:g.clientX,y:g.clientY}),ne=Z.x,_e=Z.y;p.viewport.x=ne,p.viewport.y=_e;var Ve=this.context.eventService.viewport2Canvas(p.viewport),At=Ve.x,Bt=Ve.y;return p.canvas.x=At,p.canvas.y=Bt,p.global.copyFrom(p.canvas),p.offset.copyFrom(p.canvas),p.isTrusted=Q.isTrusted,p.type==="pointerleave"&&(p.type="pointerout"),p.type.startsWith("mouse")&&(p.type=p.type.replace("mouse","pointer")),p.type.startsWith("touch")&&(p.type=x0[p.type]||p.type),p}},{key:"normalizeWheelEvent",value:function(p){var g=this.rootWheelEvent;this.transferMouseData(g,p),g.deltaMode=p.deltaMode,g.deltaX=p.deltaX,g.deltaY=p.deltaY,g.deltaZ=p.deltaZ;var C=this.context.eventService.client2Viewport({x:p.clientX,y:p.clientY}),Q=C.x,Z=C.y;g.viewport.x=Q,g.viewport.y=Z;var ne=this.context.eventService.viewport2Canvas(g.viewport),_e=ne.x,Ve=ne.y;return g.canvas.x=_e,g.canvas.y=Ve,g.global.copyFrom(g.canvas),g.offset.copyFrom(g.canvas),g.nativeEvent=p,g.type=p.type,g}},{key:"transferMouseData",value:function(p,g){p.isTrusted=g.isTrusted,p.srcElement=g.srcElement,p.timeStamp=hs.now(),p.type=g.type,p.altKey=g.altKey,p.metaKey=g.metaKey,p.shiftKey=g.shiftKey,p.ctrlKey=g.ctrlKey,p.button=g.button,p.buttons=g.buttons,p.client.x=g.clientX,p.client.y=g.clientY,p.movement.x=g.movementX,p.movement.y=g.movementY,p.page.x=g.pageX,p.page.y=g.pageY,p.screen.x=g.screenX,p.screen.y=g.screenY,p.relatedTarget=null}},{key:"setCursor",value:function(p){this.context.contextService.applyCursorStyle(p||this.context.config.cursor||"default")}},{key:"normalizeToPointerEvent",value:function(p,g){var C=[];if(g.isTouchEvent(p))for(var Q=0;Q-1,_e=0,Ve=Q.length;_e=1?Math.ceil(Es):1,Q&&(_i=ne||Wp(Q)||Q.width/Es,ws=_e||gh(Q)||Q.height/Es),g.customElements=new ng,g.devicePixelRatio=Es,g.requestAnimationFrame=Jn!=null?Jn:ny.bind(Ii.globalThis),g.cancelAnimationFrame=nr!=null?nr:am.bind(Ii.globalThis),g.createImage=Kn!=null?Kn:function(){return new window.Image},g.supportsTouchEvents=wr!=null?wr:"ontouchstart"in Ii.globalThis,g.supportsPointerEvents=qr!=null?qr:!!Ii.globalThis.PointerEvent,g.isTouchEvent=ji!=null?ji:function(ks){return g.supportsTouchEvents&&ks instanceof Ii.globalThis.TouchEvent},g.isMouseEvent=Ki!=null?Ki:function(ks){return!Ii.globalThis.MouseEvent||ks instanceof Ii.globalThis.MouseEvent&&(!g.supportsPointerEvents||!(ks instanceof Ii.globalThis.PointerEvent))},mn&&(Ii.offscreenCanvas=mn),g.document=new eA,g.document.defaultView=g,Bt||Ho(C,g,En),g.initRenderingContext((0,m.Z)((0,m.Z)({},p),{},{width:_i,height:ws,background:Ve!=null?Ve:"transparent",cursor:At!=null?At:"default",cleanUpOnDestroy:En,devicePixelRatio:Es,requestAnimationFrame:g.requestAnimationFrame,cancelAnimationFrame:g.cancelAnimationFrame,createImage:g.createImage,supportsTouchEvents:g.supportsTouchEvents,supportsPointerEvents:g.supportsPointerEvents,isTouchEvent:g.isTouchEvent,isMouseEvent:g.isMouseEvent,dblClickSpeed:yi!=null?yi:200})),g.initDefaultCamera(_i,ws,Z.clipSpaceNearZ),g.initRenderer(Z,!0),g}return(0,I.Z)(M,w),(0,B.Z)(M,[{key:"initRenderingContext",value:function(g){this.context.config=g,this.context.renderingContext={root:this.document.documentElement,unculledEntities:[],renderListCurrentFrame:[],renderReasons:new Set,force:!1,dirty:!1}}},{key:"initDefaultCamera",value:function(g,C,Q){var Z=this,ne=new Ii.CameraContribution;ne.clipSpaceNearZ=Q,ne.setType(Et.EXPLORING,dn.DEFAULT).setPosition(g/2,C/2,cy).setFocalPoint(g/2,C/2,0).setOrthographic(g/-2,g/2,C/2,C/-2,cu,bm),ne.canvas=this,ne.eventEmitter.on(Xn.UPDATED,function(){Z.context.renderingContext.renderReasons.add(yh.CAMERA_CHANGED),Ii.enableSizeAttenuation&&Z.getConfig().renderer.getConfig().enableSizeAttenuation&&Z.updateSizeAttenuation()}),this.context.camera=ne}},{key:"updateSizeAttenuation",value:function(){var g=this.getCamera().getZoom();this.document.documentElement.forEach(function(C){Ii.styleValueRegistry.updateSizeAttenuation(C,g)})}},{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 g=this;return this.readyPromise||(this.readyPromise=new Promise(function(C){g.resolveReadyPromise=function(){C(g)}}),this.inited&&this.resolveReadyPromise()),this.readyPromise}},{key:"destroy",value:function(){var g,C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Q=arguments.length>1?arguments[1]:void 0;ta.clearCache();var Z=((g=this.getConfig().future)===null||g===void 0?void 0:g.experimentalCancelEventPropagation)===!0;Q||this.dispatchEvent(new Ic(kc.BEFORE_DESTROY),Z,Z),this.frameId&&this.cancelAnimationFrame(this.frameId);var ne=this.getRoot();C&&(this.unmountChildren(ne),this.document.destroy(),this.getEventService().destroy()),this.getRenderingService().destroy(),this.getContextService().destroy(),Q||this.dispatchEvent(new Ic(kc.AFTER_DESTROY),Z,Z);var _e=function(At){At.currentTarget=null,At.manager=null,At.target=null,At.relatedNode=null};_e(kd),_e(ig),_e(tA),_e(sg),_e(ag),_e(wh),_e(N0),_e(eg),_e(_h),Ii.textService.clearCache()}},{key:"changeSize",value:function(g,C){this.resize(g,C)}},{key:"resize",value:function(g,C){var Q,Z=this.context.config;Z.width=g,Z.height=C,this.getContextService().resize(g,C);var ne=this.context.camera,_e=ne.getProjectionMode();ne.setPosition(g/2,C/2,cy).setFocalPoint(g/2,C/2,0),_e===Cn.ORTHOGRAPHIC?ne.setOrthographic(g/-2,g/2,C/2,C/-2,ne.getNear(),ne.getFar()):ne.setAspect(g/C);var Ve=((Q=Z.future)===null||Q===void 0?void 0:Q.experimentalCancelEventPropagation)===!0;this.dispatchEvent(new Ic(kc.RESIZE,{width:g,height:C}),Ve,Ve)}},{key:"appendChild",value:function(g,C){return this.document.documentElement.appendChild(g,C)}},{key:"insertBefore",value:function(g,C){return this.document.documentElement.insertBefore(g,C)}},{key:"removeChild",value:function(g){return this.document.documentElement.removeChild(g)}},{key:"removeChildren",value:function(){this.document.documentElement.removeChildren()}},{key:"destroyChildren",value:function(){this.document.documentElement.destroyChildren()}},{key:"render",value:function(g){var C,Q=this;g&&(tA.detail=g,ag.detail=g);var Z=((C=this.getConfig().future)===null||C===void 0?void 0:C.experimentalCancelEventPropagation)===!0;this.dispatchEvent(tA,Z,Z);var ne=this.getRenderingService();ne.render(this,g,function(){Q.dispatchEvent(sg,Z,Z)}),this.dispatchEvent(ag,Z,Z)}},{key:"run",value:function(){var g=this,C=function(Z,ne){g.render(ne),g.frameId=g.requestAnimationFrame(C)};C()}},{key:"initRenderer",value:function(g){var C=this,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!g)throw new Error("Renderer is required.");this.inited=!1,this.readyPromise=void 0,this.context.renderingPlugins=[],this.context.renderingPlugins.push(new tp,new Ud,new rg([new Xc])),this.loadRendererContainerModule(g),this.context.contextService=new this.context.ContextService((0,m.Z)((0,m.Z)({},Ii),this.context)),this.context.renderingService=new ay(Ii,this.context),this.context.eventService=new dc(Ii,this.context),this.context.eventService.init(),this.context.contextService.init?(this.context.contextService.init(),this.initRenderingService(g,Q,!0)):this.context.contextService.initAsync().then(function(){C.initRenderingService(g,Q)}).catch(function(Z){console.error(Z)})}},{key:"initRenderingService",value:function(g){var C=this,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Z=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.context.renderingService.init(function(){var ne;C.inited=!0;var _e=((ne=C.getConfig().future)===null||ne===void 0?void 0:ne.experimentalCancelEventPropagation)===!0;Q?Z?C.requestAnimationFrame(function(){C.dispatchEvent(new Ic(kc.READY),_e,_e)}):C.dispatchEvent(new Ic(kc.READY),_e,_e):C.dispatchEvent(new Ic(kc.RENDERER_CHANGED),_e,_e),C.readyPromise&&C.resolveReadyPromise(),Q||C.getRoot().forEach(function(Ve){var At,Bt;(At=(Bt=Ve).dirty)===null||At===void 0||At.call(Bt,!0,!0)}),C.mountChildren(C.getRoot()),g.getConfig().enableAutoRendering&&C.run()})}},{key:"loadRendererContainerModule",value:function(g){var C=this,Q=g.getPlugins();Q.forEach(function(Z){Z.context=C.context,Z.init(Ii)})}},{key:"setRenderer",value:function(g){var C=this.getConfig();if(C.renderer!==g){var Q=C.renderer;C.renderer=g,this.destroy(!1,!0),(0,R.Z)((Q==null?void 0:Q.getPlugins())||[]).reverse().forEach(function(Z){Z.destroy(Ii)}),this.initRenderer(g)}}},{key:"setCursor",value:function(g){var C=this.getConfig();C.cursor=g,this.getContextService().applyCursorStyle(g)}},{key:"unmountChildren",value:function(g){var C=this;if(g.childNodes.forEach(function(ne){C.unmountChildren(ne)}),this.inited){if(g.isMutationObserved)g.dispatchEvent(ig);else{var Q,Z=((Q=this.getConfig().future)===null||Q===void 0?void 0:Q.experimentalCancelEventPropagation)===!0;ig.target=g,this.dispatchEvent(ig,!0,Z)}g!==this.document.documentElement&&(g.ownerDocument=null),g.isConnected=!1}g.isCustomElement&&g.disconnectedCallback&&g.disconnectedCallback()}},{key:"mountChildren",value:function(g){var C=this,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:uc(g);if(this.inited){if(!g.isConnected&&(g.ownerDocument=this.document,g.isConnected=!0,!Q))if(g.isMutationObserved)g.dispatchEvent(kd);else{var Z,ne=((Z=this.getConfig().future)===null||Z===void 0?void 0:Z.experimentalCancelEventPropagation)===!0;kd.target=g,this.dispatchEvent(kd,!0,ne)}}else 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: ",g.nodeName);g.childNodes.forEach(function(_e){C.mountChildren(_e,Q)}),g.isCustomElement&&g.connectedCallback&&g.connectedCallback()}},{key:"mountFragment",value:function(g){this.mountChildren(g,!1)}},{key:"client2Viewport",value:function(g){return this.getEventService().client2Viewport(g)}},{key:"viewport2Client",value:function(g){return this.getEventService().viewport2Client(g)}},{key:"viewport2Canvas",value:function(g){return this.getEventService().viewport2Canvas(g)}},{key:"canvas2Viewport",value:function(g){return this.getEventService().canvas2Viewport(g)}},{key:"getPointByClient",value:function(g,C){return this.client2Viewport({x:g,y:C})}},{key:"getClientByPoint",value:function(g,C){return this.viewport2Client({x:g,y:C})}}])}(Fd),np=0,nA=new WeakMap,_m=null,fb=null,Ab=null,og,Qh;function pb(w,M){return og=new _m(w,M)}function hy(w){return Qh||(Qh=_m.copy(og),Qh.oldValue=w,Qh)}function F0(){og=Qh=void 0}function wm(w){return w===Qh||w===og}function dy(w,M){return w===M?w:Qh&&wm(w)?Qh:null}function fy(w){w.nodes.forEach(function(M){var p=nA.get(M);p&&p.forEach(function(g){g.observer===w&&g.removeTransientObservers()})})}function gb(w,M){for(var p=w;p;p=p.parentNode){var g=nA.get(p);if(g)for(var C=0;C0&&arguments[0]!==void 0?arguments[0]:w.api;w.rafId&&(p.cancelAnimationFrame(w.rafId),w.rafId=null)}},{key:"executeTask",value:function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:w.api;py.length<=0&&ja.length<=0||(ja.forEach(function(g){return g()}),ja=py.splice(0,w.TASK_NUM_PER_FRAME),w.rafId=p.requestAnimationFrame(function(){w.executeTask(p)}))}},{key:"sliceImage",value:function(p,g,C,Q){for(var Z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,ne=arguments.length>5&&arguments[5]!==void 0?arguments[5]:w.api,_e=p.naturalWidth||p.width,Ve=p.naturalHeight||p.height,At=g-Z,Bt=C-Z,Zt=Math.ceil(_e/At),En=Math.ceil(Ve/Bt),mn={tileSize:[g,C],gridSize:[En,Zt],tiles:Array(En).fill(null).map(function(){return Array(Zt).fill(null)})},kn=function(Kn){for(var wr=function(Ki){py.push(function(){var yi=Ki*At,_i=Kn*Bt,ws=[Math.min(g,_e-yi),Math.min(C,Ve-_i)],Es=ws[0],ks=ws[1],ys=ne.createCanvas();ys.width=g,ys.height=C;var la=ys.getContext("2d");la.drawImage(p,yi,_i,Es,ks,0,0,Es,ks),mn.tiles[Kn][Ki]={x:yi,y:_i,tileX:Ki,tileY:Kn,data:ys},Q()})},qr=0;qr1&&arguments[1]!==void 0?arguments[1]:[0,0,0];return"matrix(".concat([p[0],p[1],p[4],p[5],p[12]+g[0],p[13]+g[1]].join(","),")")}},{key:"apply",value:function(p,g){var C=this,Q=p.camera,Z=p.renderingContext,ne=p.renderingService;this.context=p;var _e=Z.root.ownerDocument.defaultView,Ve=_e.context.eventService.nativeHTMLMap,At=function(nr,Kn){Kn.style.transform=C.joinTransformMatrix(nr.getWorldTransform(),nr.getOrigin())},Bt=function(nr){var Kn=nr.target;if(Kn.nodeName===Dt.HTML){C.$camera||(C.$camera=C.createCamera(Q));var wr=C.getOrCreateEl(Kn);C.$camera.appendChild(wr),Object.keys(Kn.attributes).forEach(function(qr){C.updateAttribute(qr,Kn)}),At(Kn,wr),Ve.set(wr,Kn)}},Zt=function(nr){var Kn=nr.target;if(Kn.nodeName===Dt.HTML&&C.$camera){var wr=C.getOrCreateEl(Kn);wr&&(wr.remove(),Ve.delete(wr))}},En=function(nr){var Kn=nr.target;if(Kn.nodeName===Dt.HTML){var wr=nr.attrName;C.updateAttribute(wr,Kn)}},mn=function(nr){for(var Kn=nr.detail,wr=0;wr0?dt:dt*-1}function N(je,Xe,dt,Tt,Mt,It){var an=dt,In=Tt;if(an===0||In===0)return{x:je,y:Xe};for(var _n=Mt-je,er=It-Xe,Mr=Math.abs(_n),hr=Math.abs(er),di=an*an,br=In*In,ri=Math.PI/4,Ir=0,Vi=0,fi=0;fi<4;fi++){Ir=an*Math.cos(ri),Vi=In*Math.sin(ri);var on=(di-br)*Math.pow(Math.cos(ri),3)/an,Yt=(br-di)*Math.pow(Math.sin(ri),3)/In,Vt=Ir-on,gt=Vi-Yt,yt=Mr-on,Ft=hr-Yt,rn=Math.hypot(gt,Vt),Dt=Math.hypot(Ft,yt),jn=rn*Math.asin((Vt*Ft-gt*yt)/(rn*Dt)),Zn=jn/Math.sqrt(di+br-Ir*Ir-Vi*Vi);ri+=Zn,ri=Math.min(Math.PI/2,Math.max(0,ri))}return{x:je+E(Ir,_n),y:Xe+E(Vi,er)}}function F(je,Xe,dt,Tt,Mt,It,an,In){return-1*dt*Math.cos(Mt)*Math.sin(In)-Tt*Math.sin(Mt)*Math.cos(In)}function T(je,Xe,dt,Tt,Mt,It,an,In){return-1*dt*Math.sin(Mt)*Math.sin(In)+Tt*Math.cos(Mt)*Math.cos(In)}function D(je,Xe,dt){return Math.atan(-Xe/je*Math.tan(dt))}function z(je,Xe,dt){return Math.atan(Xe/(je*Math.tan(dt)))}function ee(je,Xe,dt,Tt,Mt,It){return dt*Math.cos(Mt)*Math.cos(It)-Tt*Math.sin(Mt)*Math.sin(It)+je}function te(je,Xe,dt,Tt,Mt,It){return dt*Math.sin(Mt)*Math.cos(It)+Tt*Math.cos(Mt)*Math.sin(It)+Xe}function ge(je,Xe,dt,Tt){var Mt=Math.atan2(Tt*je,dt*Xe);return(Mt+Math.PI*2)%(Math.PI*2)}function pe(je,Xe,dt){return{x:je*Math.cos(dt),y:Xe*Math.sin(dt)}}function fe(je,Xe,dt){var Tt=Math.cos(dt),Mt=Math.sin(dt);return[je*Tt-Xe*Mt,je*Mt+Xe*Tt]}function Le(je,Xe,dt,Tt,Mt,It,an){for(var In=D(dt,Tt,Mt),_n=1/0,er=-1/0,Mr=[It,an],hr=-Math.PI*2;hr<=Math.PI*2;hr+=Math.PI){var di=In+hr;Iter&&(er=ri)}for(var Ir=z(dt,Tt,Mt),Vi=1/0,fi=-1/0,on=[It,an],Yt=-Math.PI*2;Yt<=Math.PI*2;Yt+=Math.PI){var Vt=Ir+Yt;Itfi&&(fi=yt)}return{x:_n,y:Vi,width:er-_n,height:fi-Vi}}function Me(je,Xe,dt,Tt,Mt,It,an,In,_n){var er=fe(In-je,_n-Xe,-Mt),Mr=_slicedToArray(er,2),hr=Mr[0],di=Mr[1],br=N(0,0,dt,Tt,hr,di),ri=ge(dt,Tt,br.x,br.y);rian&&(br=pe(dt,Tt,an));var Ir=fe(br.x,br.y,Mt);return{x:Ir[0]+je,y:Ir[1]+Xe}}function Ze(je,Xe,dt,Tt,Mt,It,an,In){var _n=(an-It)*In+It,er=F(je,Xe,dt,Tt,Mt,It,an,_n),Mr=T(je,Xe,dt,Tt,Mt,It,an,_n);return I(Math.atan2(Mr,er))}var Ye=1e-4;function Te(je,Xe,dt,Tt,Mt,It){var an=-1,In=1/0,_n=[dt,Tt],er=20;It&&It>200&&(er=It/10);for(var Mr=1/er,hr=Mr/10,di=0;di<=er;di++){var br=di*Mr,ri=[Mt.apply(void 0,(0,m.Z)(je.concat([br]))),Mt.apply(void 0,(0,m.Z)(Xe.concat([br])))],Ir=R(_n[0],_n[1],ri[0],ri[1]);Ir=0&>In?R(dt,Tt,Mt,It):cn(je,Xe,dt,Tt,Mt,It)}function cn(je,Xe,dt,Tt,Mt,It){var an=[dt-je,Tt-Xe];if(B.I6(an,[0,0]))return Math.sqrt((Mt-je)*(Mt-je)+(It-Xe)*(It-Xe));var In=[-an[1],an[0]];B.Fv(In,In);var _n=[Mt-je,It-Xe];return Math.abs(B.AK(_n,In))}function Sn(je,Xe,dt,Tt){return Math.atan2(Tt-Xe,dt-je)}function vn(je,Xe,dt,Tt,Mt){var It=1-Mt;return It*It*It*je+3*Xe*Mt*It*It+3*dt*Mt*Mt*It+Tt*Mt*Mt*Mt}function Qn(je,Xe,dt,Tt,Mt){var It=1-Mt;return 3*(It*It*(Xe-je)+2*It*Mt*(dt-Xe)+Mt*Mt*(Tt-dt))}function xn(je,Xe,dt,Tt){var Mt=-3*je+9*Xe-9*dt+3*Tt,It=6*je-12*Xe+6*dt,an=3*Xe-3*je,In=[],_n,er,Mr;if((0,O.Z)(Mt,0))(0,O.Z)(It,0)||(_n=-an/It,_n>=0&&_n<=1&&In.push(_n));else{var hr=It*It-4*Mt*an;(0,O.Z)(hr,0)?In.push(-It/(2*Mt)):hr>0&&(Mr=Math.sqrt(hr),_n=(-It+Mr)/(2*Mt),er=(-It-Mr)/(2*Mt),_n>=0&&_n<=1&&In.push(_n),er>=0&&er<=1&&In.push(er))}return In}function Un(je,Xe,dt,Tt,Mt,It,an,In,_n){var er=vn(je,dt,Mt,an,_n),Mr=vn(Xe,Tt,It,In,_n),hr=it(je,Xe,dt,Tt,_n),di=it(dt,Tt,Mt,It,_n),br=it(Mt,It,an,In,_n),ri=it(hr.x,hr.y,di.x,di.y,_n),Ir=it(di.x,di.y,br.x,br.y,_n);return[[je,Xe,hr.x,hr.y,ri.x,ri.y,er,Mr],[er,Mr,Ir.x,Ir.y,br.x,br.y,an,In]]}function ke(je,Xe,dt,Tt,Mt,It,an,In,_n){if(_n===0)return be([je,dt,Mt,an],[Xe,Tt,It,In]);var er=Un(je,Xe,dt,Tt,Mt,It,an,In,.5),Mr=[].concat(_toConsumableArray(er[0]),[_n-1]),hr=[].concat(_toConsumableArray(er[1]),[_n-1]);return ke.apply(void 0,_toConsumableArray(Mr))+ke.apply(void 0,_toConsumableArray(hr))}function ot(je,Xe,dt,Tt,Mt,It,an,In){for(var _n=[je,an],er=[Xe,In],Mr=xn(je,dt,Mt,an),hr=xn(Xe,Tt,It,In),di=0;di1||Xe<0||je.length<2)return null;var dt=pt(je),Tt=dt.segments,Mt=dt.totalLength;if(Mt===0)return{x:je[0][0],y:je[0][1]};for(var It=0,an=null,In=0;In=It&&Xe<=It+hr){var di=(Xe-It)/hr;an=it(er[0],er[1],Mr[0],Mr[1],di);break}It+=hr}return an}function re(je,Xe){if(Xe>1||Xe<0||je.length<2)return 0;for(var dt=pt(je),Tt=dt.segments,Mt=dt.totalLength,It=0,an=0,In=0;In=It&&Xe<=It+hr){an=Math.atan2(Mr[1]-er[1],Mr[0]-er[0]);break}It+=hr}return an}function Ie(je,Xe,dt){for(var Tt=1/0,Mt=0;Mt=0?[Mt]:[]}function jt(je,Xe,dt,Tt,Mt,It,an){var In=mt(je,dt,Mt,an),_n=mt(Xe,Tt,It,an),er=it(je,Xe,dt,Tt,an),Mr=it(dt,Tt,Mt,It,an);return[[je,Xe,er.x,er.y,In,_n],[In,_n,Mr.x,Mr.y,Mt,It]]}function hn(je,Xe,dt,Tt,Mt,It,an){if(an===0)return(R(je,Xe,dt,Tt)+R(dt,Tt,Mt,It)+R(je,Xe,Mt,It))/2;var In=jt(je,Xe,dt,Tt,Mt,It,.5),_n=In[0],er=In[1];return _n.push(an-1),er.push(an-1),hn.apply(void 0,_toConsumableArray(_n))+hn.apply(void 0,_toConsumableArray(er))}function ze(je,Xe,dt,Tt,Mt,It){var an=Qt(je,dt,Mt)[0],In=Qt(Xe,Tt,It)[0],_n=[je,Mt],er=[Xe,It];return an!==void 0&&_n.push(mt(je,dt,Mt,an)),In!==void 0&&er.push(mt(Xe,Tt,It,In)),_(_n,er)}function he(je,Xe,dt,Tt,Mt,It){return hn(je,Xe,dt,Tt,Mt,It,3)}function qe(je,Xe,dt,Tt,Mt,It,an,In){return Te([je,dt,Mt],[Xe,Tt,It],an,In,mt)}function ct(je,Xe,dt,Tt,Mt,It,an,In){var _n=qe(je,Xe,dt,Tt,Mt,It,an,In);return R(_n.x,_n.y,an,In)}},59293:function(Re,xe,v){"use strict";v.d(xe,{S:function(){return D}});var m=v(85899),O=v(38705),B=v(17212),R=v(96885),_=v(39153),I=v(48981),E=v(73001),N=v(11576),F=v(68901);var T=function(){function z(ee){(0,O.Z)(this,z),this.dragndropPluginOptions=ee}return(0,B.Z)(z,[{key:"apply",value:function(te){var ge=this,pe=te.renderingService,fe=te.renderingContext,Le=fe.root.ownerDocument,Me=Le.defaultView,Ze=function(Te){var be=Te.target,Ge=be===Le,Je=Ge&&ge.dragndropPluginOptions.isDocumentDraggable?Le:be.closest&&be.closest("[draggable=true]");if(Je){var it=!1,$t=Te.timeStamp,cn=[Te.clientX,Te.clientY],Sn=null,vn=[Te.clientX,Te.clientY],Qn=function(){var Un=(0,N.Z)((0,E.Z)().mark(function ke(ot){var Ht,On,xt,Pt,tn,pt;return(0,E.Z)().wrap(function(lt){for(;;)switch(lt.prev=lt.next){case 0:if(it){lt.next=2;break}if(Ht=ot.timeStamp-$t,On=(0,F.y)([ot.clientX,ot.clientY],cn),!(Ht<=ge.dragndropPluginOptions.dragstartTimeThreshold||On<=ge.dragndropPluginOptions.dragstartDistanceThreshold)){lt.next=1;break}return lt.abrupt("return");case 1:ot.type="dragstart",Je.dispatchEvent(ot),it=!0;case 2:if(ot.type="drag",ot.dx=ot.clientX-vn[0],ot.dy=ot.clientY-vn[1],Je.dispatchEvent(ot),vn=[ot.clientX,ot.clientY],Ge){lt.next=4;break}return xt=ge.dragndropPluginOptions.overlap==="pointer"?[ot.canvasX,ot.canvasY]:be.getBounds().center,lt.next=3,Le.elementsFromPoint(xt[0],xt[1]);case 3:Pt=lt.sent,tn=Pt[Pt.indexOf(be)+1],pt=(tn==null?void 0:tn.closest("[droppable=true]"))||(ge.dragndropPluginOptions.isDocumentDroppable?Le:null),Sn!==pt&&(Sn&&(ot.type="dragleave",ot.target=Sn,Sn.dispatchEvent(ot)),pt&&(ot.type="dragenter",ot.target=pt,pt.dispatchEvent(ot)),Sn=pt,Sn&&(ot.type="dragover",ot.target=Sn,Sn.dispatchEvent(ot)));case 4:case"end":return lt.stop()}},ke)}));return function(ot){return Un.apply(this,arguments)}}();Me.addEventListener("pointermove",Qn);var xn=function(ke){if(it){ke.detail={preventClick:!0};var ot=ke.clone();Sn&&(ot.type="drop",ot.target=Sn,Sn.dispatchEvent(ot)),ot.type="dragend",Je.dispatchEvent(ot),it=!1}Me.removeEventListener("pointermove",Qn)};be.addEventListener("pointerup",xn,{once:!0}),be.addEventListener("pointerupoutside",xn,{once:!0})}};pe.hooks.init.tap(z.tag,function(){Me.addEventListener("pointerdown",Ze)}),pe.hooks.destroy.tap(z.tag,function(){Me.removeEventListener("pointerdown",Ze)})}}])}();T.tag="Dragndrop";var D=function(z){function ee(){var te,ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return(0,O.Z)(this,ee),te=(0,R.Z)(this,ee),te.name="dragndrop",te.options=ge,te}return(0,_.Z)(ee,z),(0,B.Z)(ee,[{key:"init",value:function(){this.addRenderingPlugin(new T((0,m.Z)({overlap:"pointer",isDocumentDraggable:!1,isDocumentDroppable:!1,dragstartDistanceThreshold:0,dragstartTimeThreshold:0},this.options)))}},{key:"destroy",value:function(){this.removeAllRenderingPlugins()}},{key:"setOptions",value:function(ge){Object.assign(this.plugins[0].dragndropPluginOptions,ge)}}])}(I.F6)},66623:function(Re,xe,v){"use strict";v.d(xe,{$6:function(){return m.$6},Aw:function(){return m.Aw},BB:function(){return m.BB},BV:function(){return m.BV},Cd:function(){return m.Cd},Dk:function(){return m.Dk},Ee:function(){return m.Ee},GZ:function(){return m.GZ},Pj:function(){return m.Pj},UL:function(){return m.UL},Xz:function(){return m.Xz},ZA:function(){return m.ZA},aH:function(){return m.aH},b_:function(){return m.b_},k9:function(){return m.k9},mN:function(){return m.mN},mg:function(){return m.mg},nR:function(){return m.nR},s$:function(){return m.s$},x1:function(){return m.x1},xv:function(){return m.xv},y$:function(){return m.y$}});var m=v(48981),O=v(38705),B=v(17212),R=v(96885),_=v(39153),I=v(77654),E=v(72190),N=v(70208),F=v(1933),T=v(76075),D=v(71879),z=v(5131),ee=v(94569),te=v(60187),ge=v(92421),pe=v(42244),fe=v(64270),Le=v.n(fe),Me=v(85899),Ze=v(18642),Ye=v(71369);var Te=function(wn){function wt(Rt,Et,dn,Cn){var Xn;return(0,O.Z)(this,wt),Xn=(0,R.Z)(this,wt,[Rt]),Xn.currentTime=dn,Xn.timelineTime=Cn,Xn.target=Et,Xn.type="finish",Xn.bubbles=!1,Xn.currentTarget=Et,Xn.defaultPrevented=!1,Xn.eventPhase=Xn.AT_TARGET,Xn.timeStamp=Date.now(),Xn.currentTime=dn,Xn.timelineTime=Cn,Xn}return(0,_.Z)(wt,wn),(0,B.Z)(wt)}(m.xA),be=0,Ge=function(){function wn(wt,Rt){var Et;(0,O.Z)(this,wn),this.currentTimePending=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._playbackRate=1,this._inTimeline=!0,this.effect=wt,wt.animation=this,this.timeline=Rt,this.id="".concat(be++),this._inEffect=!!this.effect.update(0),this._totalDuration=Number((Et=this.effect)===null||Et===void 0?void 0:Et.getComputedTiming().endTime),this._holdTime=0,this._paused=!1,this.oldPlayState="idle",this.updatePromises()}return(0,B.Z)(wn,[{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 Rt=this;return this.readyPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.readyPromise=new Promise(function(Et,dn){Rt.resolveReadyPromise=function(){Et(Rt)},Rt.rejectReadyPromise=function(){dn(new Error)}}),this.pending||this.resolveReadyPromise()),this.readyPromise}},{key:"finished",get:function(){var Rt=this;return this.finishedPromise||(this.timeline.animationsWithPromises.indexOf(this)===-1&&this.timeline.animationsWithPromises.push(this),this.finishedPromise=new Promise(function(Et,dn){Rt.resolveFinishedPromise=function(){Et(Rt)},Rt.rejectFinishedPromise=function(){dn(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(Rt){if(Rt=Number(Rt),!isNaN(Rt)){if(this.timeline.restart(),!this._paused&&this._startTime!==null){var Et;this._startTime=Number((Et=this.timeline)===null||Et===void 0?void 0:Et.currentTime)-Rt/this.playbackRate}this.currentTimePending=!1,this._currentTime!==Rt&&(this._idle&&(this._idle=!1,this._paused=!0),this.tickCurrentTime(Rt,!0),this.timeline.applyDirtiedAnimation(this))}}},{key:"startTime",get:function(){return this._startTime},set:function(Rt){if(Rt!==null){if(this.updatePromises(),Rt=Number(Rt),isNaN(Rt)||this._paused||this._idle)return;this._startTime=Rt,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(Rt){if(Rt!==this._playbackRate){this.updatePromises();var Et=this.currentTime;this._playbackRate=Rt,this.startTime=null,this.playState!=="paused"&&this.playState!=="idle"&&(this._finishedFlag=!1,this._idle=!1,this.ensureAlive(),this.timeline.applyDirtiedAnimation(this)),Et!==null&&(this.currentTime=Et),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 Rt;if((Rt=this.effect.target)!==null&&Rt!==void 0&&Rt.destroyed)return this.readyPromise=void 0,this.finishedPromise=void 0,!1;var Et=this.oldPlayState,dn=this.pending?"pending":this.playState;return this.readyPromise&&dn!==Et&&(dn==="idle"?(this.rejectReadyPromise(),this.readyPromise=void 0):Et==="pending"?this.resolveReadyPromise():dn==="pending"&&(this.readyPromise=void 0)),this.finishedPromise&&dn!==Et&&(dn==="idle"?(this.rejectFinishedPromise(),this.finishedPromise=void 0):dn==="finished"?this.resolveFinishedPromise():Et==="finished"&&(this.finishedPromise=void 0)),this.oldPlayState=dn,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 Rt=this;if(this.updatePromises(),!!this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=null,this._startTime=null,this.effect.update(null),this.timeline.applyDirtiedAnimation(this),this.updatePromises(),this.oncancel)){var Et=new Te(null,this,this.currentTime,null);setTimeout(function(){Rt.oncancel(Et)})}}},{key:"reverse",value:function(){this.updatePromises();var Rt=this.currentTime;this.playbackRate*=-1,this.play(),Rt!==null&&(this.currentTime=Rt),this.updatePromises()}},{key:"updatePlaybackRate",value:function(Rt){this.playbackRate=Rt}},{key:"targetAnimations",value:function(){var Rt,Et=(Rt=this.effect)===null||Rt===void 0?void 0:Rt.target;return Et.getAnimations()}},{key:"markTarget",value:function(){var Rt=this.targetAnimations();Rt.indexOf(this)===-1&&Rt.push(this)}},{key:"unmarkTarget",value:function(){var Rt=this.targetAnimations(),Et=Rt.indexOf(this);Et!==-1&&Rt.splice(Et,1)}},{key:"tick",value:function(Rt,Et){!this._idle&&!this._paused&&(this._startTime===null?Et&&(this.startTime=Rt-this._currentTime/this.playbackRate):this._isFinished||this.tickCurrentTime((Rt-this._startTime)*this.playbackRate)),Et&&(this.currentTimePending=!1,this.fireEvents(Rt))}},{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(m.jf)}},{key:"addEventListener",value:function(Rt,Et,dn){throw new Error(m.jf)}},{key:"removeEventListener",value:function(Rt,Et,dn){throw new Error(m.jf)}},{key:"dispatchEvent",value:function(Rt){throw new Error(m.jf)}},{key:"commitStyles",value:function(){throw new Error(m.jf)}},{key:"ensureAlive",value:function(){if(this.playbackRate<0&&this.currentTime===0){var Rt;this._inEffect=!!((Rt=this.effect)!==null&&Rt!==void 0&&Rt.update(-1))}else{var Et;this._inEffect=!!((Et=this.effect)!==null&&Et!==void 0&&Et.update(this.currentTime))}!this._inTimeline&&(this._inEffect||!this._finishedFlag)&&(this._inTimeline=!0,this.timeline.animations.push(this))}},{key:"tickCurrentTime",value:function(Rt,Et){Rt!==this._currentTime&&(this._currentTime=Rt,this._isFinished&&!Et&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this.ensureAlive())}},{key:"fireEvents",value:function(Rt){var Et=this;if(this._isFinished){if(!this._finishedFlag){if(this.onfinish){var dn=new Te(null,this,this.currentTime,Rt);setTimeout(function(){Et.onfinish&&Et.onfinish(dn)})}this._finishedFlag=!0}}else{if(this.onframe&&this.playState==="running"){var Cn=new Te(null,this,this.currentTime,Rt);this.onframe(Cn)}this._finishedFlag=!1}}}])}(),Je=4,it=.001,$t=1e-7,cn=10,Sn=11,vn=1/(Sn-1),Qn=typeof Float32Array=="function",xn=function(wt,Rt){return 1-3*Rt+3*wt},Un=function(wt,Rt){return 3*Rt-6*wt},ke=function(wt){return 3*wt},ot=function(wt,Rt,Et){return((xn(Rt,Et)*wt+Un(Rt,Et))*wt+ke(Rt))*wt},Ht=function(wt,Rt,Et){return 3*xn(Rt,Et)*wt*wt+2*Un(Rt,Et)*wt+ke(Rt)},On=function(wt,Rt,Et,dn,Cn){var Xn,mr,yr=0;do mr=Rt+(Et-Rt)/2,Xn=ot(mr,dn,Cn)-wt,Xn>0?Et=mr:Rt=mr;while(Math.abs(Xn)>$t&&++yr=0&&wt<=1&&Et>=0&&Et<=1))throw new Error("bezier x values must be in [0, 1] range");if(wt===Rt&&Et===dn)return function(yr){return yr};for(var Cn=Qn?new Float32Array(Sn):new Array(Sn),Xn=0;Xn=it?xt(ai,es,wt,Et):$i===0?es:On(ai,Si,Si+vn,wt,Et)};return function(yr){return yr===0||yr===1?yr:ot(mr(yr),Rt,dn)}},tn=function(wt){return wt=wt.replace(/([A-Z])/g,function(Rt){return"-".concat(Rt.toLowerCase())}),wt.charAt(0)==="-"?wt.substring(1):wt},pt=function(wt){return Math.pow(wt,2)},lt=function(wt){return Math.pow(wt,3)},ae=function(wt){return Math.pow(wt,4)},re=function(wt){return Math.pow(wt,5)},Ie=function(wt){return Math.pow(wt,6)},Ct=function(wt){return 1-Math.cos(wt*Math.PI/2)},Nt=function(wt){return 1-Math.sqrt(1-wt*wt)},ht=function(wt){return wt*wt*(3*wt-2)},Wt=function(wt){for(var Rt,Et=4;wt<((Rt=Math.pow(2,--Et))-1)/11;);return 1/Math.pow(4,3-Et)-7.5625*Math.pow((Rt*3-2)/22-wt,2)},zt=function(wt){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Et=(0,E.Z)(Rt,2),dn=Et[0],Cn=dn===void 0?1:dn,Xn=Et[1],mr=Xn===void 0?.5:Xn,yr=(0,N.Z)(Number(Cn),1,10),ai=(0,N.Z)(Number(mr),.1,2);return wt===0||wt===1?wt:-yr*Math.pow(2,10*(wt-1))*Math.sin((wt-1-ai/(Math.PI*2)*Math.asin(1/yr))*(Math.PI*2)/ai)},De=function(wt){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Et=arguments.length>2?arguments[2]:void 0,dn=(0,E.Z)(Rt,4),Cn=dn[0],Xn=Cn===void 0?1:Cn,mr=dn[1],yr=mr===void 0?100:mr,ai=dn[2],Si=ai===void 0?10:ai,Ai=dn[3],ii=Ai===void 0?0:Ai;Xn=(0,N.Z)(Xn,.1,1e3),yr=(0,N.Z)(yr,.1,1e3),Si=(0,N.Z)(Si,.1,1e3),ii=(0,N.Z)(ii,.1,1e3);var vi=Math.sqrt(yr/Xn),es=Si/(2*Math.sqrt(yr*Xn)),$i=es<1?vi*Math.sqrt(1-es*es):0,Wi=1,Rr=es<1?(es*vi+-ii)/$i:-ii+vi,Ss=Et?Et*wt/1e3:wt;return es<1?Ss=Math.exp(-Ss*es*vi)*(Wi*Math.cos($i*Ss)+Rr*Math.sin($i*Ss)):Ss=(Wi+Rr*Ss)*Math.exp(-Ss*vi),wt===0||wt===1?wt:1-Ss},ft=function(wt){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Et=Rt,dn=(0,E.Z)(Et,2),Cn=dn[0],Xn=Cn===void 0?10:Cn,mr=dn[1],yr=mr==="start"?Math.ceil:Math.floor;return yr((0,N.Z)(wt,0,1)*Xn)/Xn},bt=function(wt){var Rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Et=(0,E.Z)(Rt,4),dn=Et[0],Cn=Et[1],Xn=Et[2],mr=Et[3];return Pt(dn,Cn,Xn,mr)(wt)},U=Pt(.42,0,1,1),de=function(wt){return function(Rt){var Et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],dn=arguments.length>2?arguments[2]:void 0;return 1-wt(1-Rt,Et,dn)}},vt=function(wt){return function(Rt){var Et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],dn=arguments.length>2?arguments[2]:void 0;return Rt<.5?wt(Rt*2,Et,dn)/2:1-wt(Rt*-2+2,Et,dn)/2}},mt=function(wt){return function(Rt){var Et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],dn=arguments.length>2?arguments[2]:void 0;return Rt<.5?(1-wt(1-Rt*2,Et,dn))/2:(wt(Rt*2-1,Et,dn)+1)/2}},Qt={steps:ft,"step-start":function(wt){return ft(wt,[1,"start"])},"step-end":function(wt){return ft(wt,[1,"end"])},linear:function(wt){return wt},"cubic-bezier":bt,ease:function(wt){return bt(wt,[.25,.1,.25,1])},in:U,out:de(U),"in-out":vt(U),"out-in":mt(U),"in-quad":pt,"out-quad":de(pt),"in-out-quad":vt(pt),"out-in-quad":mt(pt),"in-cubic":lt,"out-cubic":de(lt),"in-out-cubic":vt(lt),"out-in-cubic":mt(lt),"in-quart":ae,"out-quart":de(ae),"in-out-quart":vt(ae),"out-in-quart":mt(ae),"in-quint":re,"out-quint":de(re),"in-out-quint":vt(re),"out-in-quint":mt(re),"in-expo":Ie,"out-expo":de(Ie),"in-out-expo":vt(Ie),"out-in-expo":mt(Ie),"in-sine":Ct,"out-sine":de(Ct),"in-out-sine":vt(Ct),"out-in-sine":mt(Ct),"in-circ":Nt,"out-circ":de(Nt),"in-out-circ":vt(Nt),"out-in-circ":mt(Nt),"in-back":ht,"out-back":de(ht),"in-out-back":vt(ht),"out-in-back":mt(ht),"in-bounce":Wt,"out-bounce":de(Wt),"in-out-bounce":vt(Wt),"out-in-bounce":mt(Wt),"in-elastic":zt,"out-elastic":de(zt),"in-out-elastic":vt(zt),"out-in-elastic":mt(zt),spring:De,"spring-in":De,"spring-out":de(De),"spring-in-out":vt(De),"spring-out-in":mt(De)},jt=function(wt){return tn(wt).replace(/^ease-/,"").replace(/(\(|\s).+/,"").toLowerCase().trim()},hn=function(wt){return Qt[jt(wt)]||Qt.linear},ze=function(wt){return wt},he=1,qe=.5,ct=0;function je(wn,wt){return function(Rt){if(Rt>=1)return 1;var Et=1/wn;return Rt+=wt*Et,Rt-Rt%Et}}var Xe="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",dt=new RegExp("cubic-bezier\\(".concat(Xe,",").concat(Xe,",").concat(Xe,",").concat(Xe,"\\)")),Tt=/steps\(\s*(\d+)\s*\)/,Mt=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/;function It(wn){var wt=dt.exec(wn);if(wt)return Pt.apply(void 0,(0,I.Z)(wt.slice(1).map(Number)));var Rt=Tt.exec(wn);if(Rt)return je(Number(Rt[1]),ct);var Et=Mt.exec(wn);return Et?je(Number(Et[1]),{start:he,middle:qe,end:ct}[Et[2]]):hn(wn)}function an(wn){return Math.abs(In(wn)/(wn.playbackRate||1))}function In(wn){var wt;return wn.duration===0||wn.iterations===0?0:(wn.duration==="auto"?0:Number(wn.duration))*((wt=wn.iterations)!==null&&wt!==void 0?wt:1)}var _n=0,er=1,Mr=2,hr=3;function di(wn,wt,Rt){if(wt===null)return _n;var Et=Rt.endTime;return wt=Math.min(Rt.delay+wn+Rt.endDelay,Et)?Mr:hr}function br(wn,wt,Rt,Et,dn){switch(Et){case er:return wt==="backwards"||wt==="both"?0:null;case hr:return Rt-dn;case Mr:return wt==="forwards"||wt==="both"?wn:null;case _n:return null}}function ri(wn,wt,Rt,Et,dn){var Cn=dn;return wn===0?wt!==er&&(Cn+=Rt):Cn+=Et/wn,Cn}function Ir(wn,wt,Rt,Et,dn,Cn){var Xn=wn===1/0?wt%1:wn%1;return Xn===0&&Rt===Mr&&Et!==0&&(dn!==0||Cn===0)&&(Xn=1),Xn}function Vi(wn,wt,Rt,Et){return wn===Mr&&wt===1/0?1/0:Rt===1?Math.floor(Et)-1:Math.floor(Et)}function fi(wn,wt,Rt){var Et=wn;if(wn!=="normal"&&wn!=="reverse"){var dn=wt;wn==="alternate-reverse"&&(dn+=1),Et="normal",dn!==1/0&&dn%2!==0&&(Et="reverse")}return Et==="normal"?Rt:1-Rt}function on(wn,wt,Rt){var Et=di(wn,wt,Rt),dn=br(wn,Rt.fill,wt,Et,Rt.delay);if(dn===null)return null;var Cn=Rt.duration==="auto"?0:Rt.duration,Xn=ri(Cn,Et,Rt.iterations,dn,Rt.iterationStart),mr=Ir(Xn,Rt.iterationStart,Et,Rt.iterations,dn,Cn),yr=Vi(Et,Rt.iterations,mr,Xn),ai=fi(Rt.direction,yr,mr);return Rt.currentIteration=yr,Rt.progress=ai,Rt.easingFunction(ai)}function Yt(wn,wt,Rt){var Et=gt(wn,wt),dn=yt(Et,Rt);return function(Cn,Xn){if(Xn!==null)dn.filter(function(yr){return Xn>=yr.applyFrom&&Xn1)throw new Error("Keyframe offsets must be between 0 and 1.");ai.computedOffset=Ai}}else if(Si==="composite"&&["replace","add","accumulate","auto"].indexOf(Ai)===-1)throw new Error("".concat(Ai," compositing is not supported"));ai[Si]=Ai}return ai.offset===void 0&&(ai.offset=null),ai.easing===void 0&&(ai.easing=(wt==null?void 0:wt.easing)||"linear"),ai.composite===void 0&&(ai.composite="auto"),ai}),Et=!0,dn=-1/0,Cn=0;Cn=0&&Number(yr.offset)<=1});function mr(){var yr,ai=Rt,Si=ai.length;if(Rt[Si-1].computedOffset=Number((yr=Rt[Si-1].offset)!==null&&yr!==void 0?yr:1),Si>1){var Ai;Rt[0].computedOffset=Number((Ai=Rt[0].offset)!==null&&Ai!==void 0?Ai:0)}for(var ii=0,vi=Number(Rt[0].computedOffset),es=1;es90)return this;this.computeMatrix()}return this._getAxes(),this.type===m.iM.ORBITING||this.type===m.iM.EXPLORING?this._getPosition():this.type===m.iM.TRACKING&&this._getFocalPoint(),this._update(),this}},{key:"pan",value:function(Et,dn){var Cn=(0,m.O4)(Et,dn,0),Xn=ge.d9(this.position);return ge.IH(Xn,Xn,ge.bA(ge.Ue(),this.right,Cn[0])),ge.IH(Xn,Xn,ge.bA(ge.Ue(),this.up,Cn[1])),this._setPosition(Xn),this.triggerUpdate(),this}},{key:"dolly",value:function(Et){var dn=this.forward,Cn=ge.d9(this.position),Xn=Et*this.dollyingStep,mr=this.distance+Et*this.dollyingStep;return Xn=Math.max(Math.min(mr,this.maxDistance),this.minDistance)-this.distance,Cn[0]+=Xn*dn[0],Cn[1]+=Xn*dn[1],Cn[2]+=Xn*dn[2],this._setPosition(Cn),this.type===m.iM.ORBITING||this.type===m.iM.EXPLORING?this._getDistance():this.type===m.iM.TRACKING&&ge.IH(this.focalPoint,Cn,this.distanceVector),this.triggerUpdate(),this}},{key:"cancelLandmarkAnimation",value:function(){this.landmarkAnimationID!==void 0&&this.canvas.cancelAnimationFrame(this.landmarkAnimationID)}},{key:"createLandmark",value:function(Et){var dn,Cn,Xn,mr,yr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ai=yr.position,Si=ai===void 0?this.position:ai,Ai=yr.focalPoint,ii=Ai===void 0?this.focalPoint:Ai,vi=yr.roll,es=yr.zoom,$i=new m.GZ.CameraContribution;$i.setType(this.type,void 0),$i.setPosition(Si[0],(dn=Si[1])!==null&&dn!==void 0?dn:this.position[1],(Cn=Si[2])!==null&&Cn!==void 0?Cn:this.position[2]),$i.setFocalPoint(ii[0],(Xn=ii[1])!==null&&Xn!==void 0?Xn:this.focalPoint[1],(mr=ii[2])!==null&&mr!==void 0?mr:this.focalPoint[2]),$i.setRoll(vi!=null?vi:this.roll),$i.setZoom(es!=null?es:this.zoom);var Wi={name:Et,matrix:te.clone($i.getWorldTransform()),right:ge.d9($i.right),up:ge.d9($i.up),forward:ge.d9($i.forward),position:ge.d9($i.getPosition()),focalPoint:ge.d9($i.getFocalPoint()),distanceVector:ge.d9($i.getDistanceVector()),distance:$i.getDistance(),dollyingStep:$i.getDollyingStep(),azimuth:$i.getAzimuth(),elevation:$i.getElevation(),roll:$i.getRoll(),relAzimuth:$i.relAzimuth,relElevation:$i.relElevation,relRoll:$i.relRoll,zoom:$i.getZoom()};return this.landmarks.push(Wi),Wi}},{key:"gotoLandmark",value:function(Et){var dn=this,Cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Xn=(0,D.Z)(Et)?this.landmarks.find(function(tl){return tl.name===Et}):Et;if(Xn){var mr=(0,F.Z)(Cn)?{duration:Cn}:Cn,yr=mr.easing,ai=yr===void 0?"linear":yr,Si=mr.duration,Ai=Si===void 0?100:Si,ii=mr.easingFunction,vi=ii===void 0?void 0:ii,es=mr.onfinish,$i=es===void 0?void 0:es,Wi=mr.onframe,Rr=Wi===void 0?void 0:Wi,Ss=.01;this.cancelLandmarkAnimation();var ya=Xn.position,pa=Xn.focalPoint,Pa=Xn.zoom,Ui=Xn.roll,ki=vi||m.GZ.EasingFunction(ai),cs,vs=function(){dn.setFocalPoint(pa),dn.setPosition(ya),dn.setRoll(Ui),dn.setZoom(Pa),dn.computeMatrix(),dn.triggerUpdate(),$i==null||$i()};if(Ai===0)return vs();var ro=function(wa){cs===void 0&&(cs=wa);var Eo=wa-cs;if(Eo>=Ai){vs();return}var Oa=ki(Eo/Ai),$a=ge.Ue(),zo=ge.Ue(),Sl=1,Hi=0;ge.t7($a,dn.focalPoint,pa,Oa),ge.t7(zo,dn.position,ya,Oa),Hi=dn.roll*(1-Oa)+Ui*Oa,Sl=dn.zoom*(1-Oa)+Pa*Oa,dn.setFocalPoint($a),dn.setPosition(zo),dn.setRoll(Hi),dn.setZoom(Sl);var Nl=ge.TK($a,pa)+ge.TK(zo,ya);if(Nl<=Ss&&Pa===void 0&&Ui===void 0)return vs();dn.computeMatrix(),dn.triggerUpdate(),EoOa*Oa+$a*$a&&(cs=ro,vs=tl),{cx:cs,cy:vs,x0:-Si,y0:-Ai,x1:cs*(dn/Pa-1),y1:vs*(dn/Pa-1)}}function Ei(wn,wt){return wt=wt<0&&wn>=0?wt+Ln:wt,wt-wn<=ir?0:1}var Yi=function(wn){function wt(Rt){var Et;return(0,O.Z)(this,wt),Et=(0,R.Z)(this,wt,[Rt]),Et.updatePath(),Et}return(0,_.Z)(wt,wn),(0,B.Z)(wt,[{key:"setAttribute",value:function(Et,dn,Cn){(0,Ye.Z)(wt,"setAttribute",this,3)([Et,dn,Cn]),["startAngle","endAngle","sr","sr0","radius"].indexOf(Et)>-1&&this.updatePath()}},{key:"updatePath",value:function(){var Et=this.parsedStyle,dn=Et.x,Cn=Et.y,Xn=Et.startAngle,mr=Et.endAngle,yr=Et.sr,ai=Et.sr0,Si=Et.radius,Ai=this.createPath(dn,Cn,Xn?(0,m.Vl)(Xn):0,mr?(0,m.Vl)(mr):Math.PI*2,yr||0,ai||0,Si||[0,0,0,0]);(0,Ye.Z)(wt,"setAttribute",this,3)(["d",Ai])}},{key:"createPath",value:function(Et,dn,Cn,Xn,mr,yr,ai){if(!(mr<=0)){var Si=Vr(Et,dn,mr,Cn),Ai=Vr(Et,dn,mr,Xn),ii=Vr(Et,dn,yr,Cn),vi=Vr(Et,dn,yr,Xn);if((0,z.Z)(Xn-Cn,Math.PI*2)){var es=Vr(Et,dn,mr,Cn+Math.PI),$i=Vr(Et,dn,yr,Cn+Math.PI),Wi=[["M",Si.x,Si.y],["A",mr,mr,0,1,1,es.x,es.y],["A",mr,mr,0,1,1,Ai.x,Ai.y],["M",ii.x,ii.y]];return yr&&(Wi.push(["A",yr,yr,0,1,0,$i.x,$i.y]),Wi.push(["A",yr,yr,0,1,0,vi.x,vi.y])),Wi.push(["M",Si.x,Si.y]),Wi.push(["Z"]),Wi}var Rr=Xn-Cn,Ss=mr*_r(Cn),ya=mr*Gn(Cn),pa=yr*_r(Xn),Pa=yr*Gn(Xn),Ui=mr*_r(Xn),ki=mr*Gn(Xn),cs=yr*_r(Cn),vs=yr*Gn(Cn),ro=(0,E.Z)(ai,4),tl=ro[0],wa=ro[1],Eo=ro[2],Oa=ro[3],$a=(mr-yr)/2,zo=Fr($a,tl),Sl=Fr($a,wa),Hi=Fr($a,Eo),Nl=Fr($a,Oa),ql=cr(zo,Sl),lc=cr(Hi,Nl),Pl=ql,So=lc;if((ql>zr||lc>zr)&&Rrzr){var ru=Fr(tl,Pl),ol=Fr(wa,Pl),us=Zr(cs,vs,Ss,ya,mr,ru,yc),as=Zr(Ui,ki,pa,Pa,mr,ol,yc);if(fo.push(["M",Et+us.cx+us.x0,dn+us.cy+us.y0]),Pl0){var oo=Bn(us.y0,us.x0),ta=Bn(us.y1,us.x1),Oi=Vr(Et,dn,mr,ta);fo.push(["A",ru,ru,0,Ei(oo,ta),1,Oi.x,Oi.y])}var jo=Bn(us.cy+us.y1,us.cx+us.x1),cc=Bn(as.cy+as.y1,as.cx+as.x1),ll=Vr(Et,dn,mr,cc);if(fo.push(["A",mr,mr,0,Ei(jo,cc),1,ll.x,ll.y]),ol>0){var Jl=Bn(as.y1,as.x1),Cl=Bn(as.y0,as.x0);fo.push(["A",ol,ol,0,Ei(Jl,Cl),1,Et+as.cx+as.x0,dn+as.cy+as.y0])}}}else fo.push(["M",Si.x,Si.y]),fo.push(["A",mr,mr,0,Bc,1,Ai.x,Ai.y]);if(yrzr){var iu=Fr(Oa,So),Pu=Fr(Eo,So),Bo=Zr(pa,Pa,0,0,yr-mr,Pu,yc),Ro=Zr(0,0,cs,vs,yr-mr,iu,yc);if(fo.push(["L",Et+Bo.cx+Bo.x0,dn+Bo.cy+Bo.y0]),So0){var sd=Bn(Bo.y0,Bo.x0),kl=Bn(Bo.y1,Bo.x1),Ao=Vr(Et,dn,yr-mr,kl);fo.push(["A",Pu,Pu,0,Ei(sd,kl),1,Ao.x,Ao.y])}var Vo=Bn(Bo.cy+Bo.y1,Bo.cx+Bo.x1),cl=Bn(Ro.cy+Ro.y1,Ro.cx+Ro.x1),Fo=Vr(Et,dn,yr,cl);if(fo.push(["A",yr,yr,0,Ei(cl,Vo),0,Fo.x,Fo.y]),fo.push(["L",Fo.x,Fo.y]),iu>0){var ho=Bn(Ro.y1,Ro.x1),po=Bn(Ro.y0,Ro.x0);fo.push(["A",iu,iu,0,Ei(ho,po),1,Et+Ro.cx+Ro.x0,dn+Ro.cy+Ro.y0])}}}else fo.push(["L",vi.x,vi.y]),fo.push(["A",yr,yr,0,Bc,0,ii.x,ii.y]);return fo.push(["Z"]),fo}}}])}(m.y$);Yi.PARSED_STYLE_LIST=new Set([].concat((0,I.Z)(m.y$.PARSED_STYLE_LIST),["x","y","sr","sr0","radius","startAngle","endAngle"]))},67469:function(Re,xe,v){"use strict";v.d(xe,{k:function(){return R}});var m=v(49336),O=v(54648),B=v(7663);class R extends m.Z{constructor(E){super();Tc(this,"nodeMap",new Map);Tc(this,"edgeMap",new Map);Tc(this,"inEdgesMap",new Map);Tc(this,"outEdgesMap",new Map);Tc(this,"bothEdgesMap",new Map);Tc(this,"treeIndices",new Map);Tc(this,"changes",[]);Tc(this,"batchCount",0);Tc(this,"onChanged",()=>{});Tc(this,"batch",E=>{this.batchCount+=1,E(),this.batchCount-=1,this.batchCount||this.commit()});E&&(E.nodes&&this.addNodes(E.nodes),E.edges&&this.addEdges(E.edges),E.tree&&this.addTree(E.tree),E.onChanged&&(this.onChanged=E.onChanged))}commit(){const E=this.changes;this.changes=[];const N={graph:this,changes:E};this.emit("changed",N),this.onChanged(N)}reduceChanges(E){let N=[];return E.forEach(F=>{switch(F.type){case"NodeRemoved":{let T=!1;N=N.filter(D=>{if(D.type==="NodeAdded"){const z=D.value.id===F.value.id;return z&&(T=!0),!z}else{if(D.type==="NodeDataUpdated")return D.id!==F.value.id;if(D.type==="TreeStructureChanged")return D.nodeId!==F.value.id}return!0}),T||N.push(F);break}case"EdgeRemoved":{let T=!1;N=N.filter(D=>{if(D.type==="EdgeAdded"){const z=D.value.id===F.value.id;return z&&(T=!0),!z}else if(D.type==="EdgeDataUpdated"||D.type==="EdgeUpdated")return D.id!==F.value.id;return!0}),T||N.push(F);break}case"NodeDataUpdated":case"EdgeDataUpdated":case"EdgeUpdated":{const T=N.findIndex(z=>z.type===F.type&&z.id===F.id&&(F.propertyName===void 0||z.propertyName===F.propertyName)),D=N[T];D?F.propertyName!==void 0?D.newValue=F.newValue:(N.splice(T,1),N.push(F)):N.push(F);break}case"TreeStructureDetached":{N=N.filter(T=>T.type==="TreeStructureAttached"||T.type==="TreeStructureChanged"?T.treeKey!==F.treeKey:!0),N.push(F);break}case"TreeStructureChanged":{const T=N.find(D=>D.type==="TreeStructureChanged"&&D.treeKey===F.treeKey&&D.nodeId===F.nodeId);T?T.newParentId=F.newParentId:N.push(F);break}default:N.push(F);break}}),N}checkNodeExistence(E){this.getNode(E)}hasNode(E){return this.nodeMap.has(E)}areNeighbors(E,N){return this.getNeighbors(N).some(F=>F.id===E)}getNode(E){const N=this.nodeMap.get(E);if(!N)throw new Error("Node not found for id: "+E);return N}getRelatedEdges(E,N){if(this.checkNodeExistence(E),N==="in"){const F=this.inEdgesMap.get(E);return Array.from(F)}else if(N==="out"){const F=this.outEdgesMap.get(E);return Array.from(F)}else{const F=this.bothEdgesMap.get(E);return Array.from(F)}}getDegree(E,N){return this.getRelatedEdges(E,N).length}getSuccessors(E){const F=this.getRelatedEdges(E,"out").map(T=>this.getNode(T.target));return Array.from(new Set(F))}getPredecessors(E){const F=this.getRelatedEdges(E,"in").map(T=>this.getNode(T.source));return Array.from(new Set(F))}getNeighbors(E){const N=this.getPredecessors(E),F=this.getSuccessors(E);return Array.from(new Set([...N,...F]))}doAddNode(E){if(this.hasNode(E.id))throw new Error("Node already exists: "+E.id);this.nodeMap.set(E.id,E),this.inEdgesMap.set(E.id,new Set),this.outEdgesMap.set(E.id,new Set),this.bothEdgesMap.set(E.id,new Set),this.treeIndices.forEach(N=>{N.childrenMap.set(E.id,new Set)}),this.changes.push({type:"NodeAdded",value:E})}addNodes(E){this.batch(()=>{for(const N of E)this.doAddNode(N)})}addNode(E){this.addNodes([E])}doRemoveNode(E){const N=this.getNode(E),F=this.bothEdgesMap.get(E);F==null||F.forEach(T=>this.doRemoveEdge(T.id)),this.nodeMap.delete(E),this.treeIndices.forEach(T=>{var z,ee;(z=T.childrenMap.get(E))==null||z.forEach(te=>{T.parentMap.delete(te.id)});const D=T.parentMap.get(E);D&&((ee=T.childrenMap.get(D.id))==null||ee.delete(N)),T.parentMap.delete(E),T.childrenMap.delete(E)}),this.bothEdgesMap.delete(E),this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.changes.push({type:"NodeRemoved",value:N})}removeNodes(E){this.batch(()=>{E.forEach(N=>this.doRemoveNode(N))})}removeNode(E){this.removeNodes([E])}updateNodeDataProperty(E,N,F){const T=this.getNode(E);this.batch(()=>{const D=T.data[N],z=F;T.data[N]=z,this.changes.push({type:"NodeDataUpdated",id:E,propertyName:N,oldValue:D,newValue:z})})}mergeNodeData(E,N){this.batch(()=>{Object.entries(N).forEach(([F,T])=>{this.updateNodeDataProperty(E,F,T)})})}updateNodeData(...E){const N=E[0],F=this.getNode(N);if(typeof E[1]=="string"){this.updateNodeDataProperty(N,E[1],E[2]);return}let T;if(typeof E[1]=="function"){const D=E[1];T=D(F.data)}else typeof E[1]=="object"&&(T=E[1]);this.batch(()=>{const D=F.data,z=T;F.data=T,this.changes.push({type:"NodeDataUpdated",id:N,oldValue:D,newValue:z})})}checkEdgeExistence(E){if(!this.hasEdge(E))throw new Error("Edge not found for id: "+E)}hasEdge(E){return this.edgeMap.has(E)}getEdge(E){return this.checkEdgeExistence(E),this.edgeMap.get(E)}getEdgeDetail(E){const N=this.getEdge(E);return{edge:N,source:this.getNode(N.source),target:this.getNode(N.target)}}doAddEdge(E){if(this.hasEdge(E.id))throw new Error("Edge already exists: "+E.id);this.checkNodeExistence(E.source),this.checkNodeExistence(E.target),this.edgeMap.set(E.id,E);const N=this.inEdgesMap.get(E.target),F=this.outEdgesMap.get(E.source),T=this.bothEdgesMap.get(E.source),D=this.bothEdgesMap.get(E.target);N.add(E),F.add(E),T.add(E),D.add(E),this.changes.push({type:"EdgeAdded",value:E})}addEdges(E){this.batch(()=>{for(const N of E)this.doAddEdge(N)})}addEdge(E){this.addEdges([E])}doRemoveEdge(E){const N=this.getEdge(E),F=this.outEdgesMap.get(N.source),T=this.inEdgesMap.get(N.target),D=this.bothEdgesMap.get(N.source),z=this.bothEdgesMap.get(N.target);F.delete(N),T.delete(N),D.delete(N),z.delete(N),this.edgeMap.delete(E),this.changes.push({type:"EdgeRemoved",value:N})}removeEdges(E){this.batch(()=>{E.forEach(N=>this.doRemoveEdge(N))})}removeEdge(E){this.removeEdges([E])}updateEdgeSource(E,N){const F=this.getEdge(E);this.checkNodeExistence(N);const T=F.source,D=N;this.outEdgesMap.get(T).delete(F),this.bothEdgesMap.get(T).delete(F),this.outEdgesMap.get(D).add(F),this.bothEdgesMap.get(D).add(F),F.source=N,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"source",oldValue:T,newValue:D})})}updateEdgeTarget(E,N){const F=this.getEdge(E);this.checkNodeExistence(N);const T=F.target,D=N;this.inEdgesMap.get(T).delete(F),this.bothEdgesMap.get(T).delete(F),this.inEdgesMap.get(D).add(F),this.bothEdgesMap.get(D).add(F),F.target=N,this.batch(()=>{this.changes.push({type:"EdgeUpdated",id:E,propertyName:"target",oldValue:T,newValue:D})})}updateEdgeDataProperty(E,N,F){const T=this.getEdge(E);this.batch(()=>{const D=T.data[N],z=F;T.data[N]=z,this.changes.push({type:"EdgeDataUpdated",id:E,propertyName:N,oldValue:D,newValue:z})})}updateEdgeData(...E){const N=E[0],F=this.getEdge(N);if(typeof E[1]=="string"){this.updateEdgeDataProperty(N,E[1],E[2]);return}let T;if(typeof E[1]=="function"){const D=E[1];T=D(F.data)}else typeof E[1]=="object"&&(T=E[1]);this.batch(()=>{const D=F.data,z=T;F.data=T,this.changes.push({type:"EdgeDataUpdated",id:N,oldValue:D,newValue:z})})}mergeEdgeData(E,N){this.batch(()=>{Object.entries(N).forEach(([F,T])=>{this.updateEdgeDataProperty(E,F,T)})})}checkTreeExistence(E){if(!this.hasTreeStructure(E))throw new Error("Tree structure not found for treeKey: "+E)}hasTreeStructure(E){return this.treeIndices.has(E)}attachTreeStructure(E){this.treeIndices.has(E)||(this.treeIndices.set(E,{parentMap:new Map,childrenMap:new Map}),this.batch(()=>{this.changes.push({type:"TreeStructureAttached",treeKey:E})}))}detachTreeStructure(E){this.checkTreeExistence(E),this.treeIndices.delete(E),this.batch(()=>{this.changes.push({type:"TreeStructureDetached",treeKey:E})})}addTree(E,N){this.batch(()=>{this.attachTreeStructure(N);const F=[],T=Array.isArray(E)?E:[E];for(;T.length;){const D=T.shift();F.push(D),D.children&&T.push(...D.children)}this.addNodes(F),F.forEach(D=>{var z;(z=D.children)==null||z.forEach(ee=>{this.setParent(ee.id,D.id,N)})})})}getRoots(E){return this.checkTreeExistence(E),this.getAllNodes().filter(N=>!this.getParent(N.id,E))}getChildren(E,N){this.checkNodeExistence(E),this.checkTreeExistence(N);const T=this.treeIndices.get(N).childrenMap.get(E);return Array.from(T||[])}getParent(E,N){return this.checkNodeExistence(E),this.checkTreeExistence(N),this.treeIndices.get(N).parentMap.get(E)||null}getAncestors(E,N){const F=[];let T=this.getNode(E),D;for(;D=this.getParent(T.id,N);)F.push(D),T=D;return F}setParent(E,N,F){var ge,pe;this.checkTreeExistence(F);const T=this.treeIndices.get(F);if(!T)return;const D=this.getNode(E),z=T.parentMap.get(E);if((z==null?void 0:z.id)===N)return;if(N==null){z&&((ge=T.childrenMap.get(z.id))==null||ge.delete(D)),T.parentMap.delete(E);return}const ee=this.getNode(N);T.parentMap.set(E,ee),z&&((pe=T.childrenMap.get(z.id))==null||pe.delete(D));let te=T.childrenMap.get(ee.id);te||(te=new Set,T.childrenMap.set(ee.id,te)),te.add(D),this.batch(()=>{this.changes.push({type:"TreeStructureChanged",treeKey:F,nodeId:E,oldParentId:z==null?void 0:z.id,newParentId:ee.id})})}dfsTree(E,N,F){const T=D=>this.getChildren(D,F);return(0,B.I)(this.getNode(E),new Set,N,T)}bfsTree(E,N,F){const T=D=>this.getChildren(D,F);return(0,B.O)([this.getNode(E)],new Set,N,T)}getAllNodes(){return Array.from(this.nodeMap.values())}getAllEdges(){return Array.from(this.edgeMap.values())}bfs(E,N,F="out"){const T={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[F];return(0,B.O)([this.getNode(E)],new Set,N,T)}dfs(E,N,F="out"){const T={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[F];return(0,B.I)(this.getNode(E),new Set,N,T)}clone(){const E=this.getAllNodes().map(T=>dh(ko({},T),{data:ko({},T.data)})),N=this.getAllEdges().map(T=>dh(ko({},T),{data:ko({},T.data)})),F=new R({nodes:E,edges:N});return this.treeIndices.forEach(({parentMap:T,childrenMap:D},z)=>{const ee=new Map;T.forEach((ge,pe)=>{ee.set(pe,F.getNode(ge.id))});const te=new Map;D.forEach((ge,pe)=>{te.set(pe,new Set(Array.from(ge).map(fe=>F.getNode(fe.id))))}),F.treeIndices.set(z,{parentMap:ee,childrenMap:te})}),F}toJSON(){return JSON.stringify({nodes:this.getAllNodes(),edges:this.getAllEdges()})}createView(E){return new O.t(ko({graph:this},E))}}},54648:function(Re,xe,v){"use strict";v.d(xe,{t:function(){return B}});var m=v(7663);const O=()=>!0;class B{constructor(_){Tc(this,"graph");Tc(this,"nodeFilter");Tc(this,"edgeFilter");Tc(this,"cacheEnabled");Tc(this,"inEdgesMap",new Map);Tc(this,"outEdgesMap",new Map);Tc(this,"bothEdgesMap",new Map);Tc(this,"allNodesMap",new Map);Tc(this,"allEdgesMap",new Map);Tc(this,"clearCache",()=>{this.inEdgesMap.clear(),this.outEdgesMap.clear(),this.bothEdgesMap.clear(),this.allNodesMap.clear(),this.allEdgesMap.clear()});Tc(this,"refreshCache",()=>{this.clearCache(),this.updateCache(this.graph.getAllNodes().map(_=>_.id))});Tc(this,"updateCache",_=>{const I=new Set;_.forEach(E=>{const N=this.bothEdgesMap.get(E);if(N&&N.forEach(F=>I.add(F.id)),!this.hasNode(E))this.inEdgesMap.delete(E),this.outEdgesMap.delete(E),this.bothEdgesMap.delete(E),this.allNodesMap.delete(E);else{const F=this.graph.getRelatedEdges(E,"in").filter(this.edgeFilter),T=this.graph.getRelatedEdges(E,"out").filter(this.edgeFilter),D=Array.from(new Set([...F,...T]));D.forEach(z=>I.add(z.id)),this.inEdgesMap.set(E,F),this.outEdgesMap.set(E,T),this.bothEdgesMap.set(E,D),this.allNodesMap.set(E,this.graph.getNode(E))}}),I.forEach(E=>{this.hasEdge(E)?this.allEdgesMap.set(E,this.graph.getEdge(E)):this.allEdgesMap.delete(E)})});Tc(this,"handleGraphChanged",_=>{const I=new Set;_.changes.forEach(E=>{switch(E.type){case"NodeAdded":I.add(E.value.id);break;case"NodeDataUpdated":I.add(E.id);break;case"EdgeAdded":I.add(E.value.source),I.add(E.value.target);break;case"EdgeUpdated":(E.propertyName==="source"||E.propertyName==="target")&&(I.add(E.oldValue),I.add(E.newValue));break;case"EdgeDataUpdated":if(_.graph.hasEdge(E.id)){const N=_.graph.getEdge(E.id);I.add(N.source),I.add(N.target)}break;case"EdgeRemoved":I.add(E.value.source),I.add(E.value.target);break;case"NodeRemoved":I.add(E.value.id);break;default:break}}),this.updateCache(I)});this.graph=_.graph;const I=_.nodeFilter||O,E=_.edgeFilter||O;this.nodeFilter=I,this.edgeFilter=N=>{const{source:F,target:T}=this.graph.getEdgeDetail(N.id);return!I(F)||!I(T)?!1:E(N,F,T)},_.cache==="auto"?(this.cacheEnabled=!0,this.startAutoCache()):_.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(_){this.getNode(_)}hasNode(_){if(!this.graph.hasNode(_))return!1;const I=this.graph.getNode(_);return this.nodeFilter(I)}areNeighbors(_,I){return this.checkNodeExistence(_),this.getNeighbors(I).some(E=>E.id===_)}getNode(_){const I=this.graph.getNode(_);if(!this.nodeFilter(I))throw new Error("Node not found for id: "+_);return I}getRelatedEdges(_,I){return this.checkNodeExistence(_),this.cacheEnabled?I==="in"?this.inEdgesMap.get(_):I==="out"?this.outEdgesMap.get(_):this.bothEdgesMap.get(_):this.graph.getRelatedEdges(_,I).filter(this.edgeFilter)}getDegree(_,I){return this.getRelatedEdges(_,I).length}getSuccessors(_){const E=this.getRelatedEdges(_,"out").map(N=>this.getNode(N.target));return Array.from(new Set(E))}getPredecessors(_){const E=this.getRelatedEdges(_,"in").map(N=>this.getNode(N.source));return Array.from(new Set(E))}getNeighbors(_){const I=this.getPredecessors(_),E=this.getSuccessors(_);return Array.from(new Set([...I,...E]))}hasEdge(_){if(!this.graph.hasEdge(_))return!1;const I=this.graph.getEdge(_);return this.edgeFilter(I)}getEdge(_){const I=this.graph.getEdge(_);if(!this.edgeFilter(I))throw new Error("Edge not found for id: "+_);return I}getEdgeDetail(_){const I=this.getEdge(_);return{edge:I,source:this.getNode(I.source),target:this.getNode(I.target)}}hasTreeStructure(_){return this.graph.hasTreeStructure(_)}getRoots(_){return this.graph.getRoots(_).filter(this.nodeFilter)}getChildren(_,I){return this.checkNodeExistence(_),this.graph.getChildren(_,I).filter(this.nodeFilter)}getParent(_,I){this.checkNodeExistence(_);const E=this.graph.getParent(_,I);return!E||!this.nodeFilter(E)?null:E}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(_,I,E="out"){const N={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,m.O)([this.getNode(_)],new Set,I,N)}dfs(_,I,E="out"){const N={in:this.getPredecessors.bind(this),out:this.getSuccessors.bind(this),both:this.getNeighbors.bind(this)}[E];(0,m.I)(this.getNode(_),new Set,I,N)}}},7663:function(Re,xe,v){"use strict";v.d(xe,{I:function(){return O},O:function(){return m}});function m(B,R,_,I){for(;B.length;){const E=B.shift();if(_(E))return!0;R.add(E.id),I(E.id).forEach(F=>{R.has(F.id)||(R.add(F.id),B.push(F))})}return!1}function O(B,R,_,I){if(_(B))return!0;R.add(B.id);for(const N of I(B.id))if(!R.has(N.id)&&O(N,R,_,I))return!0;return!1}},13722:function(Re){(function(v,m){Re.exports=m()})(typeof self!="undefined"?self:this,function(){return function(xe){var v={};function m(O){if(v[O])return v[O].exports;var B=v[O]={i:O,l:!1,exports:{}};return xe[O].call(B.exports,B,B.exports,m),B.l=!0,B.exports}return m.m=xe,m.c=v,m.d=function(O,B,R){m.o(O,B)||Object.defineProperty(O,B,{configurable:!1,enumerable:!0,get:R})},m.n=function(O){var B=O&&O.__esModule?function(){return O.default}:function(){return O};return m.d(B,"a",B),B},m.o=function(O,B){return Object.prototype.hasOwnProperty.call(O,B)},m.p="",m(m.s=5)}([function(xe,v){function m(O,B,R,_){return _===void 0&&(_="height"),R==="center"?(O[_]+B[_])/2:O.height}xe.exports={assign:Object.assign,getHeight:m}},function(xe,v,m){var O=m(3),B=function(){function R(I,E){E===void 0&&(E={});var N=this;N.options=E,N.rootNode=O(I,E)}var _=R.prototype;return _.execute=function(){throw new Error("please override this method")},R}();xe.exports=B},function(xe,v,m){var O=m(4),B=["LR","RL","TB","BT","H","V"],R=["LR","RL","H"],_=function(F){return R.indexOf(F)>-1},I=B[0];xe.exports=function(N,F,T){var D=F.direction||I;if(F.isHorizontal=_(D),D&&B.indexOf(D)===-1)throw new TypeError("Invalid direction: "+D);if(D===B[0])T(N,F);else if(D===B[1])T(N,F),N.right2left();else if(D===B[2])T(N,F);else if(D===B[3])T(N,F),N.bottom2top();else if(D===B[4]||D===B[5]){var z=O(N,F),ee=z.left,te=z.right;T(ee,F),T(te,F),F.isHorizontal?ee.right2left():ee.bottom2top(),te.translate(ee.x-te.x,ee.y-te.y),N.x=ee.x,N.y=te.y;var ge=N.getBoundingBox();F.isHorizontal?ge.top<0&&N.translate(0,-ge.top):ge.left<0&&N.translate(-ge.left,0)}var pe=F.fixedRoot;return pe===void 0&&(pe=!0),pe&&N.translate(-(N.x+N.width/2+N.hgap),-(N.y+N.height/2+N.vgap)),E(N,F),N};function E(N,F){if(F.radial){var T=F.isHorizontal?["x","y"]:["y","x"],D=T[0],z=T[1],ee={x:1/0,y:1/0},te={x:-1/0,y:-1/0},ge=0;N.DFTraverse(function(Le){ge++;var Me=Le.x,Ze=Le.y;ee.x=Math.min(ee.x,Me),ee.y=Math.min(ee.y,Ze),te.x=Math.max(te.x,Me),te.y=Math.max(te.y,Ze)});var pe=te[z]-ee[z];if(pe===0)return;var fe=Math.PI*2/ge;N.DFTraverse(function(Le){var Me=(Le[z]-ee[z])/pe*(Math.PI*2-fe)+fe,Ze=Le[D]-N[D];Le.x=Math.cos(Me)*Ze,Le.y=Math.sin(Me)*Ze})}}},function(xe,v,m){var O=m(0),B=18,R=B*2,_=B,I={getId:function(T){return T.id||T.name},getPreH:function(T){return T.preH||0},getPreV:function(T){return T.preV||0},getHGap:function(T){return T.hgap||_},getVGap:function(T){return T.vgap||_},getChildren:function(T){return T.children},getHeight:function(T){return T.height||R},getWidth:function(T){var D=T.label||" ";return T.width||D.split("").length*B}};function E(F,T){var D=this;if(D.vgap=D.hgap=0,F instanceof E)return F;D.data=F;var z=T.getHGap(F),ee=T.getVGap(F);return D.preH=T.getPreH(F),D.preV=T.getPreV(F),D.width=T.getWidth(F),D.height=T.getHeight(F),D.width+=D.preH,D.height+=D.preV,D.id=T.getId(F),D.x=D.y=0,D.depth=0,D.children||(D.children=[]),D.addGap(z,ee),D}O.assign(E.prototype,{isRoot:function(){return this.depth===0},isLeaf:function(){return this.children.length===0},addGap:function(T,D){var z=this;z.hgap+=T,z.vgap+=D,z.width+=2*T,z.height+=2*D},eachNode:function(T){for(var D=this,z=[D],ee;ee=z.shift();)T(ee),z=ee.children.concat(z)},DFTraverse:function(T){this.eachNode(T)},BFTraverse:function(T){for(var D=this,z=[D],ee;ee=z.shift();)T(ee),z=z.concat(ee.children)},getBoundingBox:function(){var T={left:Number.MAX_VALUE,top:Number.MAX_VALUE,width:0,height:0};return this.eachNode(function(D){T.left=Math.min(T.left,D.x),T.top=Math.min(T.top,D.y),T.width=Math.max(T.width,D.x+D.width),T.height=Math.max(T.height,D.y+D.height)}),T},translate:function(T,D){T===void 0&&(T=0),D===void 0&&(D=0),this.eachNode(function(z){z.x+=T,z.y+=D,z.x+=z.preH,z.y+=z.preV})},right2left:function(){var T=this,D=T.getBoundingBox();T.eachNode(function(z){z.x=z.x-(z.x-D.left)*2-z.width}),T.translate(D.width,0)},bottom2top:function(){var T=this,D=T.getBoundingBox();T.eachNode(function(z){z.y=z.y-(z.y-D.top)*2-z.height}),T.translate(0,D.height)}});function N(F,T,D){T===void 0&&(T={}),T=O.assign({},I,T);var z=new E(F,T),ee=[z],te;if(!D&&!F.collapsed){for(;te=ee.shift();)if(!te.data.collapsed){var ge=T.getChildren(te.data),pe=ge?ge.length:0;if(te.children=new Array(pe),ge&&pe)for(var fe=0;fe$t.low&&($t=$t.nxt);var xn=Sn+cn.prelim+cn.w-(Qn+vn.prelim);xn>0&&(Qn+=xn,ee(Je,it,$t.index,xn));var Un=pe(cn),ke=pe(vn);Un<=ke&&(cn=ge(cn),cn!==null&&(Sn+=cn.mod)),Un>=ke&&(vn=te(vn),vn!==null&&(Qn+=vn.mod))}!cn&&vn?fe(Je,it,vn,Qn):cn&&!vn&&Le(Je,it,cn,Sn)}function ee(Je,it,$t,cn){Je.c[it].mod+=cn,Je.c[it].msel+=cn,Je.c[it].mser+=cn,Ye(Je,it,$t,cn)}function te(Je){return Je.cs===0?Je.tl:Je.c[0]}function ge(Je){return Je.cs===0?Je.tr:Je.c[Je.cs-1]}function pe(Je){return Je.y+Je.h}function fe(Je,it,$t,cn){var Sn=Je.c[0].el;Sn.tl=$t;var vn=cn-$t.mod-Je.c[0].msel;Sn.mod+=vn,Sn.prelim-=vn,Je.c[0].el=Je.c[it].el,Je.c[0].msel=Je.c[it].msel}function Le(Je,it,$t,cn){var Sn=Je.c[it].er;Sn.tr=$t;var vn=cn-$t.mod-Je.c[it].mser;Sn.mod+=vn,Sn.prelim-=vn,Je.c[it].er=Je.c[it-1].er,Je.c[it].mser=Je.c[it-1].mser}function Me(Je){Je.prelim=(Je.c[0].prelim+Je.c[0].mod+Je.c[Je.cs-1].mod+Je.c[Je.cs-1].prelim+Je.c[Je.cs-1].w)/2-Je.w/2}function Ze(Je,it){it+=Je.mod,Je.x=Je.prelim+it,Te(Je);for(var $t=0;$t=$t.low;)$t=$t.nxt;return{low:Je,index:it,nxt:$t}}I(E,F);var Ge=m.fromNode(E,F);return T(Ge),Ze(Ge,0),_(Ge,E,F),R(E,F),E}},function(xe,v,m){function O(D,z){D.prototype=Object.create(z.prototype),D.prototype.constructor=D,B(D,z)}function B(D,z){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ee,te){return ee.__proto__=te,ee},B(D,z)}var R=m(1),_=m(9),I=m(2),E=m(0),N=function(D){function z(){return D.apply(this,arguments)||this}O(z,D);var ee=z.prototype;return ee.execute=function(){var ge=this;return ge.rootNode.width=0,I(ge.rootNode,ge.options,_)},z}(R),F={};function T(D,z){return z=E.assign({},F,z),new N(D,z).execute()}xe.exports=T},function(xe,v,m){var O=m(0);function B(I,E){I===void 0&&(I=0),E===void 0&&(E=[]);var N=this;N.x=N.y=0,N.leftChild=N.rightChild=null,N.height=0,N.children=E}var R={isHorizontal:!0,nodeSep:20,nodeSize:20,rankSep:200,subTreeSep:10};function _(I,E,N){N?(E.x=I.x,E.y=I.y):(E.x=I.y,E.y=I.x),I.children.forEach(function(F,T){_(F,E.children[T],N)})}xe.exports=function(I,E){E===void 0&&(E={}),E=O.assign({},R,E);var N=0;function F(te){if(!te)return null;te.width=0,te.depth&&te.depth>N&&(N=te.depth);var ge=te.children,pe=ge.length,fe=new B(te.height,[]);return ge.forEach(function(Le,Me){var Ze=F(Le);fe.children.push(Ze),Me===0&&(fe.leftChild=Ze),Me===pe-1&&(fe.rightChild=Ze)}),fe.originNode=te,fe.isLeaf=te.isLeaf(),fe}function T(te){if(te.isLeaf||te.children.length===0)te.drawingDepth=N;else{var ge=te.children.map(function(fe){return T(fe)}),pe=Math.min.apply(null,ge);te.drawingDepth=pe-1}return te.drawingDepth}var D;function z(te){te.x=te.drawingDepth*E.rankSep,te.isLeaf?(te.y=0,D&&(te.y=D.y+D.height+E.nodeSep,te.originNode.parent!==D.originNode.parent&&(te.y+=E.subTreeSep)),D=te):(te.children.forEach(function(ge){z(ge)}),te.y=(te.leftChild.y+te.rightChild.y)/2)}var ee=F(I);return T(ee),z(ee),_(ee,I,E.isHorizontal),I}},function(xe,v,m){function O(ee,te){ee.prototype=Object.create(te.prototype),ee.prototype.constructor=ee,B(ee,te)}function B(ee,te){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ge,pe){return ge.__proto__=pe,ge},B(ee,te)}var R=m(1),_=m(11),I=m(4),E=m(0),N=["LR","RL","H"],F=N[0],T=function(ee){function te(){return ee.apply(this,arguments)||this}O(te,ee);var ge=te.prototype;return ge.execute=function(){var fe=this,Le=fe.options,Me=fe.rootNode;Le.isHorizontal=!0;var Ze=Le.indent,Ye=Ze===void 0?20:Ze,Te=Le.dropCap,be=Te===void 0?!0:Te,Ge=Le.direction,Je=Ge===void 0?F:Ge,it=Le.align;if(Je&&N.indexOf(Je)===-1)throw new TypeError("Invalid direction: "+Je);if(Je===N[0])_(Me,Ye,be,it);else if(Je===N[1])_(Me,Ye,be,it),Me.right2left();else if(Je===N[2]){var $t=I(Me,Le),cn=$t.left,Sn=$t.right;_(cn,Ye,be,it),cn.right2left(),_(Sn,Ye,be,it);var vn=cn.getBoundingBox();Sn.translate(vn.width,0),Me.x=Sn.x-Me.width/2}return Me},te}(R),D={};function z(ee,te){return te=E.assign({},D,te),new T(ee,te).execute()}xe.exports=z},function(xe,v,m){var O=m(0);function B(R,_,I,E,N){var F=(typeof I=="function"?I(R):I)*R.depth;if(!E)try{if(R.id===R.parent.children[0].id){R.x+=F,R.y=_?_.y:0;return}}catch(z){}if(R.x+=F,_){if(R.y=_.y+O.getHeight(_,R,N),_.parent&&R.parent.id!==_.parent.id){var T=_.parent,D=T.y+O.getHeight(T,R,N);R.y=D>R.y?D:R.y}}else R.y=0}xe.exports=function(R,_,I,E){var N=null;R.eachNode(function(F){B(F,N,_,I,E),N=F})}},function(xe,v,m){function O(D,z){D.prototype=Object.create(z.prototype),D.prototype.constructor=D,B(D,z)}function B(D,z){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ee,te){return ee.__proto__=te,ee},B(D,z)}var R=m(1),_=m(13),I=m(2),E=m(0),N=function(D){function z(){return D.apply(this,arguments)||this}O(z,D);var ee=z.prototype;return ee.execute=function(){var ge=this;return I(ge.rootNode,ge.options,_)},z}(R),F={};function T(D,z){return z=E.assign({},F,z),new N(D,z).execute()}xe.exports=T},function(xe,v,m){var O=m(0);function B(I,E){var N=0;return I.children.length?I.children.forEach(function(F){N+=B(F,E)}):N=I.height,I._subTreeSep=E.getSubTreeSep(I.data),I.totalHeight=Math.max(I.height,N)+2*I._subTreeSep,I.totalHeight}function R(I){var E=I.children,N=E.length;if(N){E.forEach(function(te){R(te)});var F=E[0],T=E[N-1],D=T.y-F.y+T.height,z=0;if(E.forEach(function(te){z+=te.totalHeight}),D>I.height)I.y=F.y+D/2-I.height/2;else if(E.length!==1||I.height>z){var ee=I.y+(I.height-D)/2-F.y;E.forEach(function(te){te.translate(0,ee)})}else I.y=(F.y+F.height/2+T.y+T.height/2)/2-I.height/2}}var _={getSubTreeSep:function(){return 0}};xe.exports=function(I,E){E===void 0&&(E={}),E=O.assign({},_,E),I.parent={x:0,width:0,height:0,y:0},I.BFTraverse(function(N){N.x=N.parent.x+N.parent.width}),I.parent=null,B(I,E),I.startY=0,I.y=I.totalHeight/2-I.height/2,I.eachNode(function(N){var F=N.children,T=F.length;if(T){var D=F[0];if(D.startY=N.startY+N._subTreeSep,T===1)D.y=N.y+N.height/2-D.height/2;else{D.y=D.startY+D.totalHeight/2-D.height/2;for(var z=1;zB?B:m};xe.Z=v},37547:function(Re,xe,v){"use strict";var m=v(39934),O=function(B){if(typeof B!="object"||B===null)return B;var R;if((0,m.Z)(B)){R=[];for(var _=0,I=B.length;_-1:!1},_=R,I=function(N,F){return F===void 0&&(F=[]),B(N,function(T){return!_(F,T)})},E=I},56039:function(Re,xe,v){"use strict";var m=v(39934),O=v(93785);function B(R,_){if(R){var I;if((0,m.Z)(R))for(var E=0,N=R.length;EN&&(E=I,T(1),++_),I[D]=z}function T(D){_=0,I=Object.create(null),D||(E=Object.create(null))}return T(),{clear:T,has:function(D){return I[D]!==void 0||E[D]!==void 0},get:function(D){var z=I[D];if(z!==void 0)return z;if((z=E[D])!==void 0)return F(D,z),z},set:function(D,z){I[D]!==void 0?I[D]=z:F(D,z)}}}var O=new Map;function B(R,_,I){I===void 0&&(I=128);var E=function(){for(var N=[],F=0;Fm?(B&&(clearTimeout(B),B=null),E=T,I=v.apply(R,_),B||(R=_=null)):!B&&O.trailing!==!1&&(B=setTimeout(N,D)),I};return F.cancel=function(){clearTimeout(B),E=0,B=R=_=null},F}},96862:function(Re,xe,v){"use strict";var m=v(76075);xe.Z=function(O){return(0,m.Z)(O)?"":O.toString()}},35300:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(O,B){B===void 0&&(B=new Map);var R=[];if(Array.isArray(O))for(var _=0,I=O.length;_1&&(Sn=Math.sqrt(Sn),ge*=Sn,pe*=Sn);var vn=ge*ge,Qn=pe*pe,xn=(N===F?-1:1)*Math.sqrt(Math.abs((vn*Qn-vn*cn*cn-Qn*$t*$t)/(vn*cn*cn+Qn*$t*$t)));Je=xn*ge*cn/pe+(ee+fe)/2,it=xn*-pe*$t/ge+(te+Le)/2,be=Math.asin(((te-it)/pe*Math.pow(10,9)>>0)/Math.pow(10,9)),Ge=Math.asin(((Le-it)/pe*Math.pow(10,9)>>0)/Math.pow(10,9)),be=eeGe&&(be-=Math.PI*2),!F&&Ge>be&&(Ge-=Math.PI*2)}var Un=Ge-be;if(Math.abs(Un)>Me){var ke=Ge,ot=fe,Ht=Le;Ge=be+Me*(F&&Ge>be?1:-1),fe=Je+ge*Math.cos(Ge),Le=it+pe*Math.sin(Ge),Ye=O(fe,Le,ge,pe,E,0,F,ot,Ht,[Ge,ke,Je,it])}Un=Ge-be;var On=Math.cos(be),xt=Math.sin(be),Pt=Math.cos(Ge),tn=Math.sin(Ge),pt=Math.tan(Un/4),lt=4/3*ge*pt,ae=4/3*pe*pt,re=[ee,te],Ie=[ee+lt*xt,te-ae*On],Ct=[fe+lt*tn,Le-ae*Pt],Nt=[fe,Le];if(Ie[0]=2*re[0]-Ie[0],Ie[1]=2*re[1]-Ie[1],z)return Ie.concat(Ct,Nt,Ye);Ye=Ie.concat(Ct,Nt,Ye);for(var ht=[],Wt=0,zt=Ye.length;Wt=0;--e)if(i[e]>=65535)return!0;return!1}const mu={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function ec(i,e){return new mu[i](e)}function Lc(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function go(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function Ou(){const i=go("canvas");return i.style.display="block",i}const fh={};let ml=null;function kh(i){ml=i}function eo(){return ml}function Ma(...i){const e="THREE."+i.shift();ml?ml("log",e,...i):console.log(e,...i)}function sr(...i){const e="THREE."+i.shift();ml?ml("warn",e,...i):console.warn(e,...i)}function Nr(...i){const e="THREE."+i.shift();ml?ml("error",e,...i):console.error(e,...i)}function $s(...i){const e=i.join(" ");e in fh||(fh[e]=!0,sr(...i))}function Ko(i,e,t){return new Promise(function(n,r){function s(){switch(i.clientWaitSync(e,i.SYNC_FLUSH_COMMANDS_BIT,0)){case i.WAIT_FAILED:r();break;case i.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:n()}}setTimeout(s,t)})}class La{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){const n=this._listeners;if(n===void 0)return;const r=n[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const n=t[e.type];if(n!==void 0){e.target=this;const r=n.slice(0);for(let s=0,a=r.length;s>8&255]+Io[i>>16&255]+Io[i>>24&255]+"-"+Io[e&255]+Io[e>>8&255]+"-"+Io[e>>16&15|64]+Io[e>>24&255]+"-"+Io[t&63|128]+Io[t>>8&255]+"-"+Io[t>>16&255]+Io[t>>24&255]+Io[n&255]+Io[n>>8&255]+Io[n>>16&255]+Io[n>>24&255]).toLowerCase()}function Ta(i,e,t){return Math.max(e,Math.min(t,i))}function ju(i,e){return(i%e+e)%e}function Lu(i,e,t,n,r){return n+(i-e)*(r-n)/(t-e)}function NA(i,e,t){return i!==e?(t-i)/(e-i):0}function Ku(i,e,t){return(1-t)*i+t*e}function zh(i,e,t,n){return Ku(i,e,1-Math.exp(-t*n))}function PA(i,e=1){return e-Math.abs(ju(i,e*2)-e)}function ad(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function od(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function nl(i,e){return i+Math.floor(Math.random()*(e-i+1))}function $c(i,e){return i+Math.random()*(e-i)}function ld(i){return i*(.5-Math.random())}function FA(i){i!==void 0&&(au=i);let e=au+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Af(i){return i*Rc}function Qp(i){return i*zl}function zf(i){return(i&i-1)===0&&i!==0}function cd(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function OA(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function rt(i,e,t,n,r){const s=Math.cos,a=Math.sin,o=s(t/2),l=a(t/2),c=s((e+n)/2),u=a((e+n)/2),h=s((e-n)/2),d=a((e-n)/2),f=s((n-e)/2),A=a((n-e)/2);switch(r){case"XYX":i.set(o*u,l*h,l*d,o*c);break;case"YZY":i.set(l*d,o*u,l*h,o*c);break;case"ZXZ":i.set(l*h,l*d,o*u,o*c);break;case"XZX":i.set(o*u,l*A,l*f,o*c);break;case"YXY":i.set(l*f,o*u,l*A,o*c);break;case"ZYZ":i.set(l*A,l*f,o*u,o*c);break;default:sr("MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function we(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return i/4294967295;case Uint16Array:return i/65535;case Uint8Array:return i/255;case Int32Array:return Math.max(i/2147483647,-1);case Int16Array:return Math.max(i/32767,-1);case Int8Array:return Math.max(i/127,-1);default:throw new Error("Invalid component type.")}}function Ce(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return Math.round(i*4294967295);case Uint16Array:return Math.round(i*65535);case Uint8Array:return Math.round(i*255);case Int32Array:return Math.round(i*2147483647);case Int16Array:return Math.round(i*32767);case Int8Array:return Math.round(i*127);default:throw new Error("Invalid component type.")}}const tt={DEG2RAD:Rc,RAD2DEG:zl,generateUUID:tc,clamp:Ta,euclideanModulo:ju,mapLinear:Lu,inverseLerp:NA,lerp:Ku,damp:zh,pingpong:PA,smoothstep:ad,smootherstep:od,randInt:nl,randFloat:$c,randFloatSpread:ld,seededRandom:FA,degToRad:Af,radToDeg:Qp,isPowerOfTwo:zf,ceilPowerOfTwo:cd,floorPowerOfTwo:OA,setQuaternionFromProperEuler:rt,normalize:Ce,denormalize:we};class Qe{constructor(e=0,t=0){Qe.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Ta(this.x,e.x,t.x),this.y=Ta(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Ta(this.x,e,t),this.y=Ta(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ta(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ta(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),r=Math.sin(t),s=this.x-e.x,a=this.y-e.y;return this.x=s*n-a*r+e.x,this.y=s*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ot{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,s,a,o){let l=n[r+0],c=n[r+1],u=n[r+2],h=n[r+3],d=s[a+0],f=s[a+1],A=s[a+2],y=s[a+3];if(o<=0){e[t+0]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h;return}if(o>=1){e[t+0]=d,e[t+1]=f,e[t+2]=A,e[t+3]=y;return}if(h!==y||l!==d||c!==f||u!==A){let b=l*d+c*f+u*A+h*y;b<0&&(d=-d,f=-f,A=-A,y=-y,b=-b);let x=1-o;if(b<.9995){const P=Math.acos(b),k=Math.sin(P);x=Math.sin(x*P)/k,o=Math.sin(o*P)/k,l=l*x+d*o,c=c*x+f*o,u=u*x+A*o,h=h*x+y*o}else{l=l*x+d*o,c=c*x+f*o,u=u*x+A*o,h=h*x+y*o;const P=1/Math.sqrt(l*l+c*c+u*u+h*h);l*=P,c*=P,u*=P,h*=P}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h}static multiplyQuaternionsFlat(e,t,n,r,s,a){const o=n[r],l=n[r+1],c=n[r+2],u=n[r+3],h=s[a],d=s[a+1],f=s[a+2],A=s[a+3];return e[t]=o*A+u*h+l*f-c*d,e[t+1]=l*A+u*d+c*h-o*f,e[t+2]=c*A+u*f+o*d-l*h,e[t+3]=u*A-o*h-l*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,r=e._y,s=e._z,a=e._order,o=Math.cos,l=Math.sin,c=o(n/2),u=o(r/2),h=o(s/2),d=l(n/2),f=l(r/2),A=l(s/2);switch(a){case"XYZ":this._x=d*u*h+c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h-d*f*A;break;case"YXZ":this._x=d*u*h+c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h+d*f*A;break;case"ZXY":this._x=d*u*h-c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h-d*f*A;break;case"ZYX":this._x=d*u*h-c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h+d*f*A;break;case"YZX":this._x=d*u*h+c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h-d*f*A;break;case"XZY":this._x=d*u*h-c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h+d*f*A;break;default:sr("Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],s=t[8],a=t[1],o=t[5],l=t[9],c=t[2],u=t[6],h=t[10],d=n+o+h;if(d>0){const f=.5/Math.sqrt(d+1);this._w=.25/f,this._x=(u-l)*f,this._y=(s-c)*f,this._z=(a-r)*f}else if(n>o&&n>h){const f=2*Math.sqrt(1+n-o-h);this._w=(u-l)/f,this._x=.25*f,this._y=(r+a)/f,this._z=(s+c)/f}else if(o>h){const f=2*Math.sqrt(1+o-n-h);this._w=(s-c)/f,this._x=(r+a)/f,this._y=.25*f,this._z=(l+u)/f}else{const f=2*Math.sqrt(1+h-n-o);this._w=(a-r)/f,this._x=(s+c)/f,this._y=(l+u)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ta(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,r=e._y,s=e._z,a=e._w,o=t._x,l=t._y,c=t._z,u=t._w;return this._x=n*u+a*o+r*c-s*l,this._y=r*u+a*l+s*o-n*c,this._z=s*u+a*c+n*l-r*o,this._w=a*u-n*o-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t<=0)return this;if(t>=1)return this.copy(e);let n=e._x,r=e._y,s=e._z,a=e._w,o=this.dot(e);o<0&&(n=-n,r=-r,s=-s,a=-a,o=-o);let l=1-t;if(o<.9995){const c=Math.acos(o),u=Math.sin(c);l=Math.sin(l*c)/u,t=Math.sin(t*c)/u,this._x=this._x*l+n*t,this._y=this._y*l+r*t,this._z=this._z*l+s*t,this._w=this._w*l+a*t,this._onChangeCallback()}else this._x=this._x*l+n*t,this._y=this._y*l+r*t,this._z=this._z*l+s*t,this._w=this._w*l+a*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),s=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ye{constructor(e=0,t=0,n=0){ye.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Fn.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Fn.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*r,this.y=s[1]*t+s[4]*n+s[7]*r,this.z=s[2]*t+s[5]*n+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,s=e.elements,a=1/(s[3]*t+s[7]*n+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*r+s[12])*a,this.y=(s[1]*t+s[5]*n+s[9]*r+s[13])*a,this.z=(s[2]*t+s[6]*n+s[10]*r+s[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z,s=e.x,a=e.y,o=e.z,l=e.w,c=2*(a*r-o*n),u=2*(o*t-s*r),h=2*(s*n-a*t);return this.x=t+l*c+a*h-o*u,this.y=n+l*u+o*c-s*h,this.z=r+l*h+s*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*r,this.y=s[1]*t+s[5]*n+s[9]*r,this.z=s[2]*t+s[6]*n+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Ta(this.x,e.x,t.x),this.y=Ta(this.y,e.y,t.y),this.z=Ta(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Ta(this.x,e,t),this.y=Ta(this.y,e,t),this.z=Ta(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ta(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,r=e.y,s=e.z,a=t.x,o=t.y,l=t.z;return this.x=r*l-s*o,this.y=s*a-n*l,this.z=n*o-r*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Dn.copy(this).projectOnVector(e),this.sub(Dn)}reflect(e){return this.sub(Dn.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ta(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Dn=new ye,Fn=new Ot;class Pn{constructor(e,t,n,r,s,a,o,l,c){Pn.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,r,s,a,o,l,c)}set(e,t,n,r,s,a,o,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=o,u[3]=t,u[4]=s,u[5]=l,u[6]=n,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,r=t.elements,s=this.elements,a=n[0],o=n[3],l=n[6],c=n[1],u=n[4],h=n[7],d=n[2],f=n[5],A=n[8],y=r[0],b=r[3],x=r[6],P=r[1],k=r[4],$=r[7],se=r[2],ie=r[5],ce=r[8];return s[0]=a*y+o*P+l*se,s[3]=a*b+o*k+l*ie,s[6]=a*x+o*$+l*ce,s[1]=c*y+u*P+h*se,s[4]=c*b+u*k+h*ie,s[7]=c*x+u*$+h*ce,s[2]=d*y+f*P+A*se,s[5]=d*b+f*k+A*ie,s[8]=d*x+f*$+A*ce,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8];return t*a*u-t*o*c-n*s*u+n*o*l+r*s*c-r*a*l}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8],h=u*a-o*c,d=o*l-u*s,f=c*s-a*l,A=t*h+n*d+r*f;if(A===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/A;return e[0]=h*y,e[1]=(r*c-u*n)*y,e[2]=(o*n-r*a)*y,e[3]=d*y,e[4]=(u*t-r*l)*y,e[5]=(r*s-o*t)*y,e[6]=f*y,e[7]=(n*l-c*t)*y,e[8]=(a*t-n*s)*y,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,s,a,o){const l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*a+c*o)+a+e,-r*c,r*l,-r*(-c*a+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(fr.makeScale(e,t)),this}rotate(e){return this.premultiply(fr.makeRotation(-e)),this}translate(e,t){return this.premultiply(fr.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const fr=new Pn,ur=new Pn().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Kr=new Pn().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Ur(){const i={enabled:!0,workingColorSpace:zo,spaces:{},convert:function(r,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===Hi&&(r.r=mi(r.r),r.g=mi(r.g),r.b=mi(r.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(r.applyMatrix3(this.spaces[s].toXYZ),r.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===Hi&&(r.r=ci(r.r),r.g=ci(r.g),r.b=ci(r.b))),r},workingToColorSpace:function(r,s){return this.convert(r,this.workingColorSpace,s)},colorSpaceToWorking:function(r,s){return this.convert(r,s,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===Oa?Sl:this.spaces[r].transfer},getToneMappingMode:function(r){return this.spaces[r].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(r,s=this.workingColorSpace){return r.fromArray(this.spaces[s].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,s,a){return r.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.spaces[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(r,s){return $s("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),i.workingToColorSpace(r,s)},toWorkingColorSpace:function(r,s){return $s("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),i.colorSpaceToWorking(r,s)}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return i.define({[zo]:{primaries:e,whitePoint:n,transfer:Sl,toXYZ:ur,fromXYZ:Kr,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:$a},outputColorSpaceConfig:{drawingBufferColorSpace:$a}},[$a]:{primaries:e,whitePoint:n,transfer:Hi,toXYZ:ur,fromXYZ:Kr,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:$a}}}),i}const xr=Ur();function mi(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function ci(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}let Bi;class rs{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Bi===void 0&&(Bi=go("canvas")),Bi.width=e.width,Bi.height=e.height;const r=Bi.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),n=Bi}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=go("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const r=n.getImageData(0,0,e.width,e.height),s=r.data;for(let a=0;a1),this.pmremVersion=0}get width(){return this.source.getSize(xa).x}get height(){return this.source.getSize(xa).y}get depth(){return this.source.getSize(xa).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const t in e){const n=e[t];if(n===void 0){sr(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){sr(`Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const n={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==ct)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case It:e.x=e.x-Math.floor(e.x);break;case an:e.x=e.x<0?0:1;break;case In:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case It:e.y=e.y-Math.floor(e.y);break;case an:e.y=e.y<0?0:1;break;case In:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}ms.DEFAULT_IMAGE=null,ms.DEFAULT_MAPPING=ct,ms.DEFAULT_ANISOTROPY=1;class Mi{constructor(e=0,t=0,n=0,r=1){Mi.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,s=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*s,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*s,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*s,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,s;const l=e.elements,c=l[0],u=l[4],h=l[8],d=l[1],f=l[5],A=l[9],y=l[2],b=l[6],x=l[10];if(Math.abs(u-d)<.01&&Math.abs(h-y)<.01&&Math.abs(A-b)<.01){if(Math.abs(u+d)<.1&&Math.abs(h+y)<.1&&Math.abs(A+b)<.1&&Math.abs(c+f+x-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const k=(c+1)/2,$=(f+1)/2,se=(x+1)/2,ie=(u+d)/4,ce=(h+y)/4,ue=(A+b)/4;return k>$&&k>se?k<.01?(n=0,r=.707106781,s=.707106781):(n=Math.sqrt(k),r=ie/n,s=ce/n):$>se?$<.01?(n=.707106781,r=0,s=.707106781):(r=Math.sqrt($),n=ie/r,s=ue/r):se<.01?(n=.707106781,r=.707106781,s=0):(s=Math.sqrt(se),n=ce/s,r=ue/s),this.set(n,r,s,t),this}let P=Math.sqrt((b-A)*(b-A)+(h-y)*(h-y)+(d-u)*(d-u));return Math.abs(P)<.001&&(P=1),this.x=(b-A)/P,this.y=(h-y)/P,this.z=(d-u)/P,this.w=Math.acos((c+f+x-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Ta(this.x,e.x,t.x),this.y=Ta(this.y,e.y,t.y),this.z=Ta(this.z,e.z,t.z),this.w=Ta(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Ta(this.x,e,t),this.y=Ta(this.y,e,t),this.z=Ta(this.z,e,t),this.w=Ta(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ta(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class ha extends La{constructor(e=1,t=1,n={}){super(),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:br,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},n),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=n.depth,this.scissor=new Mi(0,0,e,t),this.scissorTest=!1,this.viewport=new Mi(0,0,e,t);const r={width:e,height:t,depth:n.depth},s=new ms(r);this.textures=[];const a=n.count;for(let o=0;o1);this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,We),We.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter($n),Cr.subVectors(this.max,$n),et.subVectors(e.a,$n),_t.subVectors(e.b,$n),Kt.subVectors(e.c,$n),nn.subVectors(_t,et),bn.subVectors(Kt,_t),Nn.subVectors(et,Kt);let t=[0,-nn.z,nn.y,0,-bn.z,bn.y,0,-Nn.z,Nn.y,nn.z,0,-nn.x,bn.z,0,-bn.x,Nn.z,0,-Nn.x,-nn.y,nn.x,0,-bn.y,bn.x,0,-Nn.y,Nn.x,0];return!Yr(t,et,_t,Kt,Cr)||(t=[1,0,0,0,1,0,0,0,1],!Yr(t,et,_t,Kt,Cr))?!1:(dr.crossVectors(nn,bn),t=[dr.x,dr.y,dr.z],Yr(t,et,_t,Kt,Cr))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,We).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(We).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Pe[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Pe[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Pe[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Pe[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Pe[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Pe[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Pe[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Pe[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Pe),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}const Pe=[new ye,new ye,new ye,new ye,new ye,new ye,new ye,new ye],We=new ye,He=new le,et=new ye,_t=new ye,Kt=new ye,nn=new ye,bn=new ye,Nn=new ye,$n=new ye,Cr=new ye,dr=new ye,jr=new ye;function Yr(i,e,t,n,r){for(let s=0,a=i.length-3;s<=a;s+=3){jr.fromArray(i,s);const o=r.x*Math.abs(jr.x)+r.y*Math.abs(jr.y)+r.z*Math.abs(jr.z),l=e.dot(jr),c=t.dot(jr),u=n.dot(jr);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>o)return!1}return!0}const li=new le,Ci=new ye,Ji=new ye;class Li{constructor(e=new ye,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):li.setFromPoints(e).getCenter(n);let r=0;for(let s=0,a=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ci.subVectors(e,this.center);const t=Ci.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),r=(n-this.radius)*.5;this.center.addScaledVector(Ci,r/n),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Ji.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ci.copy(e.center).add(Ji)),this.expandByPoint(Ci.copy(e.center).sub(Ji))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}const ds=new ye,Vs=new ye,ba=new ye,qa=new ye,mo=new ye,Na=new ye,Xs=new ye;class _a{constructor(e=new ye,t=new ye(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,ds)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=ds.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(ds.copy(this.origin).addScaledVector(this.direction,t),ds.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){Vs.copy(e).add(t).multiplyScalar(.5),ba.copy(t).sub(e).normalize(),qa.copy(this.origin).sub(Vs);const s=e.distanceTo(t)*.5,a=-this.direction.dot(ba),o=qa.dot(this.direction),l=-qa.dot(ba),c=qa.lengthSq(),u=Math.abs(1-a*a);let h,d,f,A;if(u>0)if(h=a*l-o,d=a*o-l,A=s*u,h>=0)if(d>=-A)if(d<=A){const y=1/u;h*=y,d*=y,f=h*(h+a*d+2*o)+d*(a*h+d+2*l)+c}else d=s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;else d=-s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;else d<=-A?(h=Math.max(0,-(-a*s+o)),d=h>0?-s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c):d<=A?(h=0,d=Math.min(Math.max(-s,-l),s),f=d*(d+2*l)+c):(h=Math.max(0,-(a*s+o)),d=h>0?s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c);else d=a>0?-s:s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(Vs).addScaledVector(ba,d),f}intersectSphere(e,t){ds.subVectors(e.center,this.origin);const n=ds.dot(this.direction),r=ds.dot(ds)-n*n,s=e.radius*e.radius;if(r>s)return null;const a=Math.sqrt(s-r),o=n-a,l=n+a;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,s,a,o,l;const c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),u>=0?(s=(e.min.y-d.y)*u,a=(e.max.y-d.y)*u):(s=(e.max.y-d.y)*u,a=(e.min.y-d.y)*u),n>a||s>r||((s>n||isNaN(n))&&(n=s),(a=0?(o=(e.min.z-d.z)*h,l=(e.max.z-d.z)*h):(o=(e.max.z-d.z)*h,l=(e.min.z-d.z)*h),n>l||o>r)||((o>n||n!==n)&&(n=o),(l=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,ds)!==null}intersectTriangle(e,t,n,r,s){mo.subVectors(t,e),Na.subVectors(n,e),Xs.crossVectors(mo,Na);let a=this.direction.dot(Xs),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;qa.subVectors(this.origin,e);const l=o*this.direction.dot(Na.crossVectors(qa,Na));if(l<0)return null;const c=o*this.direction.dot(mo.cross(qa));if(c<0||l+c>a)return null;const u=-o*qa.dot(Xs);return u<0?null:this.at(u/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class pi{constructor(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b){pi.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b)}set(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b){const x=this.elements;return x[0]=e,x[4]=t,x[8]=n,x[12]=r,x[1]=s,x[5]=a,x[9]=o,x[13]=l,x[2]=c,x[6]=u,x[10]=h,x[14]=d,x[3]=f,x[7]=A,x[11]=y,x[15]=b,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new pi().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return this.determinant()===0?(e.set(1,0,0),t.set(0,1,0),n.set(0,0,1),this):(e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this)}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){if(e.determinant()===0)return this.identity();const t=this.elements,n=e.elements,r=1/Da.setFromMatrixColumn(e,0).length(),s=1/Da.setFromMatrixColumn(e,1).length(),a=1/Da.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,r=e.y,s=e.z,a=Math.cos(n),o=Math.sin(n),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const d=a*u,f=a*h,A=o*u,y=o*h;t[0]=l*u,t[4]=-l*h,t[8]=c,t[1]=f+A*c,t[5]=d-y*c,t[9]=-o*l,t[2]=y-d*c,t[6]=A+f*c,t[10]=a*l}else if(e.order==="YXZ"){const d=l*u,f=l*h,A=c*u,y=c*h;t[0]=d+y*o,t[4]=A*o-f,t[8]=a*c,t[1]=a*h,t[5]=a*u,t[9]=-o,t[2]=f*o-A,t[6]=y+d*o,t[10]=a*l}else if(e.order==="ZXY"){const d=l*u,f=l*h,A=c*u,y=c*h;t[0]=d-y*o,t[4]=-a*h,t[8]=A+f*o,t[1]=f+A*o,t[5]=a*u,t[9]=y-d*o,t[2]=-a*c,t[6]=o,t[10]=a*l}else if(e.order==="ZYX"){const d=a*u,f=a*h,A=o*u,y=o*h;t[0]=l*u,t[4]=A*c-f,t[8]=d*c+y,t[1]=l*h,t[5]=y*c+d,t[9]=f*c-A,t[2]=-c,t[6]=o*l,t[10]=a*l}else if(e.order==="YZX"){const d=a*l,f=a*c,A=o*l,y=o*c;t[0]=l*u,t[4]=y-d*h,t[8]=A*h+f,t[1]=h,t[5]=a*u,t[9]=-o*u,t[2]=-c*u,t[6]=f*h+A,t[10]=d-y*h}else if(e.order==="XZY"){const d=a*l,f=a*c,A=o*l,y=o*c;t[0]=l*u,t[4]=-h,t[8]=c*u,t[1]=d*h+y,t[5]=a*u,t[9]=f*h-A,t[2]=A*h-f,t[6]=o*u,t[10]=y*h+d}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(qs,e,vo)}lookAt(e,t,n){const r=this.elements;return Ba.subVectors(e,t),Ba.lengthSq()===0&&(Ba.z=1),Ba.normalize(),Ua.crossVectors(n,Ba),Ua.lengthSq()===0&&(Math.abs(n.z)===1?Ba.x+=1e-4:Ba.z+=1e-4,Ba.normalize(),Ua.crossVectors(n,Ba)),Ua.normalize(),qo.crossVectors(Ba,Ua),r[0]=Ua.x,r[4]=qo.x,r[8]=Ba.x,r[1]=Ua.y,r[5]=qo.y,r[9]=Ba.y,r[2]=Ua.z,r[6]=qo.z,r[10]=Ba.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,r=t.elements,s=this.elements,a=n[0],o=n[4],l=n[8],c=n[12],u=n[1],h=n[5],d=n[9],f=n[13],A=n[2],y=n[6],b=n[10],x=n[14],P=n[3],k=n[7],$=n[11],se=n[15],ie=r[0],ce=r[4],ue=r[8],ve=r[12],Fe=r[1],nt=r[5],Gt=r[9],Jt=r[13],gn=r[2],yn=r[6],Mn=r[10],rr=r[14],Hn=r[3],Er=r[7],Hr=r[11],qn=r[15];return s[0]=a*ie+o*Fe+l*gn+c*Hn,s[4]=a*ce+o*nt+l*yn+c*Er,s[8]=a*ue+o*Gt+l*Mn+c*Hr,s[12]=a*ve+o*Jt+l*rr+c*qn,s[1]=u*ie+h*Fe+d*gn+f*Hn,s[5]=u*ce+h*nt+d*yn+f*Er,s[9]=u*ue+h*Gt+d*Mn+f*Hr,s[13]=u*ve+h*Jt+d*rr+f*qn,s[2]=A*ie+y*Fe+b*gn+x*Hn,s[6]=A*ce+y*nt+b*yn+x*Er,s[10]=A*ue+y*Gt+b*Mn+x*Hr,s[14]=A*ve+y*Jt+b*rr+x*qn,s[3]=P*ie+k*Fe+$*gn+se*Hn,s[7]=P*ce+k*nt+$*yn+se*Er,s[11]=P*ue+k*Gt+$*Mn+se*Hr,s[15]=P*ve+k*Jt+$*rr+se*qn,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],r=e[8],s=e[12],a=e[1],o=e[5],l=e[9],c=e[13],u=e[2],h=e[6],d=e[10],f=e[14],A=e[3],y=e[7],b=e[11],x=e[15],P=l*f-c*d,k=o*f-c*h,$=o*d-l*h,se=a*f-c*u,ie=a*d-l*u,ce=a*h-o*u;return t*(y*P-b*k+x*$)-n*(A*P-b*se+x*ie)+r*(A*k-y*se+x*ce)-s*(A*$-y*ie+b*ce)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],f=e[11],A=e[12],y=e[13],b=e[14],x=e[15],P=h*b*c-y*d*c+y*l*f-o*b*f-h*l*x+o*d*x,k=A*d*c-u*b*c-A*l*f+a*b*f+u*l*x-a*d*x,$=u*y*c-A*h*c+A*o*f-a*y*f-u*o*x+a*h*x,se=A*h*l-u*y*l-A*o*d+a*y*d+u*o*b-a*h*b,ie=t*P+n*k+r*$+s*se;if(ie===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const ce=1/ie;return e[0]=P*ce,e[1]=(y*d*s-h*b*s-y*r*f+n*b*f+h*r*x-n*d*x)*ce,e[2]=(o*b*s-y*l*s+y*r*c-n*b*c-o*r*x+n*l*x)*ce,e[3]=(h*l*s-o*d*s-h*r*c+n*d*c+o*r*f-n*l*f)*ce,e[4]=k*ce,e[5]=(u*b*s-A*d*s+A*r*f-t*b*f-u*r*x+t*d*x)*ce,e[6]=(A*l*s-a*b*s-A*r*c+t*b*c+a*r*x-t*l*x)*ce,e[7]=(a*d*s-u*l*s+u*r*c-t*d*c-a*r*f+t*l*f)*ce,e[8]=$*ce,e[9]=(A*h*s-u*y*s-A*n*f+t*y*f+u*n*x-t*h*x)*ce,e[10]=(a*y*s-A*o*s+A*n*c-t*y*c-a*n*x+t*o*x)*ce,e[11]=(u*o*s-a*h*s-u*n*c+t*h*c+a*n*f-t*o*f)*ce,e[12]=se*ce,e[13]=(u*y*r-A*h*r+A*n*d-t*y*d-u*n*b+t*h*b)*ce,e[14]=(A*o*r-a*y*r-A*n*l+t*y*l+a*n*b-t*o*b)*ce,e[15]=(a*h*r-u*o*r+u*n*l-t*h*l-a*n*d+t*o*d)*ce,this}scale(e){const t=this.elements,n=e.x,r=e.y,s=e.z;return t[0]*=n,t[4]*=r,t[8]*=s,t[1]*=n,t[5]*=r,t[9]*=s,t[2]*=n,t[6]*=r,t[10]*=s,t[3]*=n,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),r=Math.sin(t),s=1-n,a=e.x,o=e.y,l=e.z,c=s*a,u=s*o;return this.set(c*a+n,c*o-r*l,c*l+r*o,0,c*o+r*l,u*o+n,u*l-r*a,0,c*l-r*o,u*l+r*a,s*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,s,a){return this.set(1,n,s,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){const r=this.elements,s=t._x,a=t._y,o=t._z,l=t._w,c=s+s,u=a+a,h=o+o,d=s*c,f=s*u,A=s*h,y=a*u,b=a*h,x=o*h,P=l*c,k=l*u,$=l*h,se=n.x,ie=n.y,ce=n.z;return r[0]=(1-(y+x))*se,r[1]=(f+$)*se,r[2]=(A-k)*se,r[3]=0,r[4]=(f-$)*ie,r[5]=(1-(d+x))*ie,r[6]=(b+P)*ie,r[7]=0,r[8]=(A+k)*ce,r[9]=(b-P)*ce,r[10]=(1-(d+y))*ce,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){const r=this.elements;if(e.x=r[12],e.y=r[13],e.z=r[14],this.determinant()===0)return n.set(1,1,1),t.identity(),this;let s=Da.set(r[0],r[1],r[2]).length();const a=Da.set(r[4],r[5],r[6]).length(),o=Da.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),io.copy(this);const c=1/s,u=1/a,h=1/o;return io.elements[0]*=c,io.elements[1]*=c,io.elements[2]*=c,io.elements[4]*=u,io.elements[5]*=u,io.elements[6]*=u,io.elements[8]*=h,io.elements[9]*=h,io.elements[10]*=h,t.setFromRotationMatrix(io),n.x=s,n.y=a,n.z=o,this}makePerspective(e,t,n,r,s,a,o=Ao,l=!1){const c=this.elements,u=2*s/(t-e),h=2*s/(n-r),d=(t+e)/(t-e),f=(n+r)/(n-r);let A,y;if(l)A=s/(a-s),y=a*s/(a-s);else if(o===Ao)A=-(a+s)/(a-s),y=-2*a*s/(a-s);else if(o===Vo)A=-a/(a-s),y=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return c[0]=u,c[4]=0,c[8]=d,c[12]=0,c[1]=0,c[5]=h,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=A,c[14]=y,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,t,n,r,s,a,o=Ao,l=!1){const c=this.elements,u=2/(t-e),h=2/(n-r),d=-(t+e)/(t-e),f=-(n+r)/(n-r);let A,y;if(l)A=1/(a-s),y=a/(a-s);else if(o===Ao)A=-2/(a-s),y=-(a+s)/(a-s);else if(o===Vo)A=-1/(a-s),y=-s/(a-s);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return c[0]=u,c[4]=0,c[8]=0,c[12]=d,c[1]=0,c[5]=h,c[9]=0,c[13]=f,c[2]=0,c[6]=0,c[10]=A,c[14]=y,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Da=new ye,io=new pi,qs=new ye(0,0,0),vo=new ye(1,1,1),Ua=new ye,qo=new ye,Ba=new ye,so=new pi,rl=new Ot;class il{constructor(e=0,t=0,n=0,r=il.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const r=e.elements,s=r[0],a=r[4],o=r[8],l=r[1],c=r[5],u=r[9],h=r[2],d=r[6],f=r[10];switch(t){case"XYZ":this._y=Math.asin(Ta(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,f),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ta(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ta(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ta(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(Ta(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(o,f));break;case"XZY":this._z=Math.asin(-Ta(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-u,f),this._y=0);break;default:sr("Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return so.makeRotationFromQuaternion(e),this.setFromRotationMatrix(so,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return rl.setFromEuler(this),this.setFromQuaternion(rl,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}il.DEFAULT_ORDER="XYZ";class Fl{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(o=>dh(ko({},o),{boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(o=>ko({},o)),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function s(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let c=0,u=l.length;c0){r.children=[];for(let o=0;o0){r.animations=[];for(let o=0;o0&&(n.geometries=o),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),u.length>0&&(n.images=u),h.length>0&&(n.shapes=h),d.length>0&&(n.skeletons=d),f.length>0&&(n.animations=f),A.length>0&&(n.nodes=A)}return n.object=r,n;function a(o){const l=[];for(const c in o){const u=o[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,n,r,s){Xu.subVectors(r,t),Vh.subVectors(n,t),Ml.subVectors(e,t);const a=Xu.dot(Xu),o=Xu.dot(Vh),l=Xu.dot(Ml),c=Vh.dot(Vh),u=Vh.dot(Ml),h=a*c-o*o;if(h===0)return s.set(0,0,0),null;const d=1/h,f=(c*l-o*u)*d,A=(a*u-o*l)*d;return s.set(1-f-A,A,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,Dc)===null?!1:Dc.x>=0&&Dc.y>=0&&Dc.x+Dc.y<=1}static getInterpolation(e,t,n,r,s,a,o,l){return this.getBarycoord(e,t,n,r,Dc)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Dc.x),l.addScaledVector(a,Dc.y),l.addScaledVector(o,Dc.z),l)}static getInterpolatedAttribute(e,t,n,r,s,a){return Vf.setScalar(0),Hf.setScalar(0),Gf.setScalar(0),Vf.fromBufferAttribute(e,t),Hf.fromBufferAttribute(e,n),Gf.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(Vf,s.x),a.addScaledVector(Hf,s.y),a.addScaledVector(Gf,s.z),a}static isFrontFacing(e,t,n,r){return Xu.subVectors(n,t),Vh.subVectors(e,t),Xu.cross(Vh).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Xu.subVectors(this.c,this.b),Vh.subVectors(this.a,this.b),Xu.cross(Vh).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return jc.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return jc.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,r,s){return jc.getInterpolation(e,this.a,this.b,this.c,t,n,r,s)}containsPoint(e){return jc.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return jc.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,s=this.c;let a,o;Yu.subVectors(r,n),Ho.subVectors(s,n),Zl.subVectors(e,n);const l=Yu.dot(Zl),c=Ho.dot(Zl);if(l<=0&&c<=0)return t.copy(n);xu.subVectors(e,r);const u=Yu.dot(xu),h=Ho.dot(xu);if(u>=0&&h<=u)return t.copy(r);const d=l*h-u*c;if(d<=0&&l>=0&&u<=0)return a=l/(l-u),t.copy(n).addScaledVector(Yu,a);ph.subVectors(e,s);const f=Yu.dot(ph),A=Ho.dot(ph);if(A>=0&&f<=A)return t.copy(s);const y=f*c-l*A;if(y<=0&&c>=0&&A<=0)return o=c/(c-A),t.copy(n).addScaledVector(Ho,o);const b=u*A-f*h;if(b<=0&&h-u>=0&&f-A>=0)return Uc.subVectors(s,r),o=(h-u)/(h-u+(f-A)),t.copy(r).addScaledVector(Uc,o);const x=1/(b+y+d);return a=y*x,o=d*x,t.copy(n).addScaledVector(Yu,a).addScaledVector(Ho,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const Wp={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},gh={h:0,s:0,l:0},Ps={h:0,s:0,l:0};function x0(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}class hs{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=$a){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,xr.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=xr.workingColorSpace){return this.r=e,this.g=t,this.b=n,xr.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=xr.workingColorSpace){if(e=ju(e,1),t=Ta(t,0,1),n=Ta(n,0,1),t===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,a=2*n-s;this.r=x0(a,s,e+1/3),this.g=x0(a,s,e),this.b=x0(a,s,e-1/3)}return xr.colorSpaceToWorking(this,r),this}setStyle(e,t=$a){function n(s){s!==void 0&&parseFloat(s)<1&&sr("Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=r[1],o=r[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:sr("Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(a===6)return this.setHex(parseInt(s,16),t);sr("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=$a){const n=Wp[e.toLowerCase()];return n!==void 0?this.setHex(n,t):sr("Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=mi(e.r),this.g=mi(e.g),this.b=mi(e.b),this}copyLinearToSRGB(e){return this.r=ci(e.r),this.g=ci(e.g),this.b=ci(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=$a){return xr.workingToColorSpace(uc.copy(this),e),Math.round(Ta(uc.r*255,0,255))*65536+Math.round(Ta(uc.g*255,0,255))*256+Math.round(Ta(uc.b*255,0,255))}getHexString(e=$a){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=xr.workingColorSpace){xr.workingToColorSpace(uc.copy(this),t);const n=uc.r,r=uc.g,s=uc.b,a=Math.max(n,r,s),o=Math.min(n,r,s);let l,c;const u=(o+a)/2;if(o===a)l=0,c=0;else{const h=a-o;switch(c=u<=.5?h/(a+o):h/(2-a-o),a){case n:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){sr(`Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){sr(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Le&&(n.blending=this.blending),this.side!==te&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==xn&&(n.blendSrc=this.blendSrc),this.blendDst!==Un&&(n.blendDst=this.blendDst),this.blendEquation!==be&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Ct&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==as&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==So&&(n.stencilFail=this.stencilFail),this.stencilZFail!==So&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==So&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.allowOverride===!1&&(n.allowOverride=!1),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(s){const a=[];for(const o in s){const l=s[o];delete l.metadata,a.push(l)}return a}if(t){const s=r(e.textures),a=r(e.images);s.length>0&&(n.textures=s),a.length>0&&(n.images=a)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const r=t.length;n=new Array(r);for(let s=0;s!==r;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.allowOverride=e.allowOverride,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class ou extends Kc{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new hs(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new il,this.combine=De,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const ic=sm();function sm(){const i=new ArrayBuffer(4),e=new Float32Array(i),t=new Uint32Array(i),n=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(n[l]=0,n[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(n[l]=1024>>-c-14,n[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(n[l]=c+15<<10,n[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(n[l]=31744,n[l|256]=64512,r[l]=24,r[l|256]=24):(n[l]=31744,n[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)a[l]=l<<23;a[31]=1199570944,a[32]=2147483648;for(let l=33;l<63;++l)a[l]=2147483648+(l-32<<23);a[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(o[l]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function Uu(i){Math.abs(i)>65504&&sr("DataUtils.toHalfFloat(): Value out of range."),i=Ta(i,-65504,65504),ic.floatView[0]=i;const e=ic.uint32View[0],t=e>>23&511;return ic.baseTable[t]+((e&8388607)>>ic.shiftTable[t])}function Nd(i){const e=i>>10;return ic.uint32View[0]=ic.mantissaTable[ic.offsetTable[e]+(i&1023)]+ic.exponentTable[e],ic.floatView[0]}class ob{static toHalfFloat(e){return Uu(e)}static fromHalfFloat(e){return Nd(e)}}const Tl=new ye,UA=new Qe;let b0=0;class ul{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:b0++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=Jl,this.updateRanges=[],this.gpuType=rn,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,s=this.itemSize;rt.count&&sr("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new le);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){Nr("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new ye(-1/0,-1/0,-1/0),new ye(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,r=t.length;n0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const l in n){const c=n[l];e.data.attributes[l]=c.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],u=[];for(let h=0,d=c.length;h0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone());const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],h=s[c];for(let d=0,f=h.length;d0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sIA(e.far-e.near,2)))&&($p.copy(s).invert(),Wf.copy(e.ray).applyMatrix4($p),!(n.boundingBox!==null&&Wf.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Wf)))}_computeIntersections(e,t,n){let r;const s=this.geometry,a=this.material,o=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,h=s.attributes.normal,d=s.groups,f=s.drawRange;if(o!==null)if(Array.isArray(a))for(let A=0,y=d.length;At.far?null:{distance:c,point:jp.clone(),object:i}}function Kp(i,e,t,n,r,s,a,o,l,c){i.getVertexPosition(o,zA),i.getVertexPosition(l,VA),i.getVertexPosition(c,lm);const u=ry(i,e,t,n,zA,VA,lm,um);if(u){const h=new ye;jc.getBarycoord(um,zA,VA,lm,h),r&&(u.uv=jc.getInterpolatedAttribute(r,o,l,c,h,new Qe)),s&&(u.uv1=jc.getInterpolatedAttribute(s,o,l,c,h,new Qe)),a&&(u.normal=jc.getInterpolatedAttribute(a,o,l,c,h,new ye),u.normal.dot(n.direction)>0&&u.normal.multiplyScalar(-1));const d={a:o,b:l,c,normal:new ye,materialIndex:0};jc.getNormal(zA,VA,lm,d.normal),u.face=d,u.barycoord=h}return u}class fd extends js{constructor(e=1,t=1,n=1,r=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:s,depthSegments:a};const o=this;r=Math.floor(r),s=Math.floor(s),a=Math.floor(a);const l=[],c=[],u=[],h=[];let d=0,f=0;A("z","y","x",-1,-1,n,t,e,a,s,0),A("z","y","x",1,-1,n,t,-e,a,s,1),A("x","z","y",1,1,e,n,t,r,a,2),A("x","z","y",1,-1,e,n,-t,r,a,3),A("x","y","z",1,-1,e,t,n,r,s,4),A("x","y","z",-1,-1,e,t,-n,r,s,5),this.setIndex(l),this.setAttribute("position",new Ds(c,3)),this.setAttribute("normal",new Ds(u,3)),this.setAttribute("uv",new Ds(h,2));function A(y,b,x,P,k,$,se,ie,ce,ue,ve){const Fe=$/ce,nt=se/ue,Gt=$/2,Jt=se/2,gn=ie/2,yn=ce+1,Mn=ue+1;let rr=0,Hn=0;const Er=new ye;for(let Hr=0;Hr0?1:-1,u.push(Er.x,Er.y,Er.z),h.push(Jr/ce),h.push(1-Hr/ue),rr+=1}}for(let Hr=0;Hr0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const r in this.extensions)this.extensions[r]===!0&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class Ic extends Ol{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new pi,this.projectionMatrix=new pi,this.projectionMatrixInverse=new pi,this.coordinateSystem=Ao,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Fd=new ye,Ll=new Qe,sy=new Qe;class dc extends Ic{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=zl*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Rc*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return zl*2*Math.atan(Math.tan(Rc*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){Fd.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Fd.x,Fd.y).multiplyScalar(-e/Fd.z),Fd.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Fd.x,Fd.y).multiplyScalar(-e/Fd.z)}getViewSize(e,t){return this.getViewBounds(e,Ll,sy),t.subVectors(sy,Ll)}setViewOffset(e,t,n,r,s,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Rc*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,s=-.5*r;const a=this.view;if(this.view!==null&&this.view.enabled){const l=a.fullWidth,c=a.fullHeight;s+=a.offsetX*r/l,t-=a.offsetY*n/c,r*=a.width/l,n*=a.height/c}const o=this.filmOffset;o!==0&&(s+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const pf=-90,yh=1;class ay extends Ol{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new dc(pf,yh,e,t);r.layers=this.layers,this.add(r);const s=new dc(pf,yh,e,t);s.layers=this.layers,this.add(s);const a=new dc(pf,yh,e,t);a.layers=this.layers,this.add(a);const o=new dc(pf,yh,e,t);o.layers=this.layers,this.add(o);const l=new dc(pf,yh,e,t);l.layers=this.layers,this.add(l);const c=new dc(pf,yh,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,r,s,a,o,l]=t;for(const c of t)this.remove(c);if(e===Ao)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Vo)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,a,o,l,c,u]=this.children,h=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),A=e.xr.enabled;e.xr.enabled=!1;const y=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,s),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,l),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=y,e.setRenderTarget(n,5,r),e.render(t,u),e.setRenderTarget(h,d,f),e.xr.enabled=A,n.texture.needsPMREMUpdate=!0}}class Od extends ms{constructor(e=[],t=je,n,r,s,a,o,l,c,u){super(e,t,n,r,s,a,o,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class dm extends Js{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new Od(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},r=new fd(5,5,5),s=new _u({name:"CubemapFromEquirect",uniforms:GA(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:ge,blending:fe});s.uniforms.tEquirect.value=t;const a=new vl(r,s),o=t.minFilter;return t.minFilter===Vi&&(t.minFilter=br),new ay(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,n=!0,r=!0){const s=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(s)}}class Ca extends Ol{constructor(){super(),this.isGroup=!0,this.type="Group"}}const ku={type:"move"};class fm{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ca,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ca,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ye,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ye),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ca,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ye,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ye),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,s=null,a=null;const o=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const y of e.hand.values()){const b=t.getJointPose(y,n),x=this._getHandJoint(c,y);b!==null&&(x.matrix.fromArray(b.transform.matrix),x.matrix.decompose(x.position,x.rotation,x.scale),x.matrixWorldNeedsUpdate=!0,x.jointRadius=b.radius),x.visible=b!==null}const u=c.joints["index-finger-tip"],h=c.joints["thumb-tip"],d=u.position.distanceTo(h.position),f=.02,A=.005;c.inputState.pinching&&d>f+A?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&d<=f-A&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&s!==null&&(r=s),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(ku)))}return o!==null&&(o.visible=r!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new Ca;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class E0{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new hs(e),this.density=t}clone(){return new E0(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class $f{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new hs(e),this.near=t,this.far=n}clone(){return new $f(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class jf extends Ol{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new il,this.environmentIntensity=1,this.environmentRotation=new il,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Am{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Jl,this.updateRanges=[],this.version=0,this.uuid=tc()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:l,point:Xp.clone(),uv:jc.getInterpolation(Xp,$A,gf,Kf,oy,pm,mf,new Qe),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Xf(i,e,t,n,r,s){Hh.subVectors(i,t).addScalar(.5).multiply(n),r!==void 0?(bh.x=s*Hh.x-r*Hh.y,bh.y=r*Hh.x+s*Hh.y):bh.copy(Hh),i.copy(e),i.x+=bh.x,i.y+=bh.y,i.applyMatrix4(ZA)}const gm=new ye,C0=new ye;class M0 extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,r=t.length;n0){let n,r;for(n=1,r=t.length;n0){gm.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(gm);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){gm.setFromMatrixPosition(e.matrixWorld),C0.setFromMatrixPosition(this.matrixWorld);const n=gm.distanceTo(C0)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=a)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||YA.getNormalMatrix(e),r=this.coplanarPoint(P0).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Sh=new Li,db=new Qe(.5,.5),Jf=new ye;class Ld{constructor(e=new Eh,t=new Eh,n=new Eh,r=new Eh,s=new Eh,a=new Eh){this.planes=[e,t,n,r,s,a]}set(e,t,n,r,s,a){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(s),o[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Ao,n=!1){const r=this.planes,s=e.elements,a=s[0],o=s[1],l=s[2],c=s[3],u=s[4],h=s[5],d=s[6],f=s[7],A=s[8],y=s[9],b=s[10],x=s[11],P=s[12],k=s[13],$=s[14],se=s[15];if(r[0].setComponents(c-a,f-u,x-A,se-P).normalize(),r[1].setComponents(c+a,f+u,x+A,se+P).normalize(),r[2].setComponents(c+o,f+h,x+y,se+k).normalize(),r[3].setComponents(c-o,f-h,x-y,se-k).normalize(),n)r[4].setComponents(l,d,b,$).normalize(),r[5].setComponents(c-l,f-d,x-b,se-$).normalize();else if(r[4].setComponents(c-l,f-d,x-b,se-$).normalize(),t===Ao)r[5].setComponents(c+l,f+d,x+b,se+$).normalize();else if(t===Vo)r[5].setComponents(l,d,b,$).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Sh.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Sh.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Sh)}intersectsSprite(e){Sh.center.set(0,0,0);const t=db.distanceTo(e.center);return Sh.radius=.7071067811865476+t,Sh.applyMatrix4(e.matrixWorld),this.intersectsSphere(Sh)}intersectsSphere(e){const t=this.planes,n=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,Jf.y=r.normal.y>0?e.max.y:e.min.y,Jf.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Jf)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const Ad=new pi,Ch=new Ld;class Dd{constructor(){this.coordinateSystem=Ao}intersectsObject(e,t){if(!t.isArrayCamera||t.cameras.length===0)return!1;for(let n=0;n=s.length&&s.push({start:-1,count:-1,z:-1,index:-1});const o=s[this.index];a.push(o),this.index++,o.start=e,o.count=t,o.z=n,o.index=r}reset(){this.list.length=0,this.index=0}}const $l=new pi,pd=new hs(1,1,1),ep=new Ld,Mh=new Dd,ng=new le,vf=new Li,eA=new ye,rg=new ye,tp=new ye,xm=new JA,Xc=new vl,Ud=null;function E1(i,e,t=0){const n=e.itemSize;if(i.isInterleavedBufferAttribute||i.array.constructor!==e.array.constructor){const r=i.count;for(let s=0;s65535?new Uint32Array(r):new Uint16Array(r);t.setIndex(new ul(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const r=e.getAttribute(n),s=t.getAttribute(n);if(r.itemSize!==s.itemSize||r.normalized!==s.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new le);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,r=t.length;n=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let r=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(qA),r=this._availableInstanceIds.shift(),this._instanceInfo[r]=n):(r=this._instanceInfo.length,this._instanceInfo.push(n));const s=this._matricesTexture;$l.identity().toArray(s.image.data,r*16),s.needsUpdate=!0;const a=this._colorsTexture;return a&&(pd.toArray(a.image.data,r*4),a.needsUpdate=!0),this._visibilityChanged=!0,r}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const r={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},s=this._geometryInfo;r.vertexStart=this._nextVertexStart,r.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const a=e.getIndex();if(a!==null&&(r.indexStart=this._nextIndexStart,r.reservedIndexCount=n===-1?a.count:n),r.indexStart!==-1&&r.indexStart+r.reservedIndexCount>this._maxIndexCount||r.vertexStart+r.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let l;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(qA),l=this._availableGeometryIds.shift(),s[l]=r):(l=this._geometryCount,this._geometryCount++,s.push(r)),this.setGeometryAt(l,e),this._nextIndexStart=r.indexStart+r.reservedIndexCount,this._nextVertexStart=r.vertexStart+r.reservedVertexCount,l}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,r=n.getIndex()!==null,s=n.getIndex(),a=t.getIndex(),o=this._geometryInfo[e];if(r&&a.count>o.reservedIndexCount||t.attributes.position.count>o.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const l=o.vertexStart,c=o.reservedVertexCount;o.vertexCount=t.getAttribute("position").count;for(const u in n.attributes){const h=t.getAttribute(u),d=n.getAttribute(u);E1(h,d,l);const f=h.itemSize;for(let A=h.count,y=c;A=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let r=0,s=n.length;ro).sort((a,o)=>n[a].vertexStart-n[o].vertexStart),s=this.geometry;for(let a=0,o=n.length;a=this._geometryCount)return null;const n=this.geometry,r=this._geometryInfo[e];if(r.boundingBox===null){const s=new le,a=n.index,o=n.attributes.position;for(let l=r.start,c=r.start+r.count;l=this._geometryCount)return null;const n=this.geometry,r=this._geometryInfo[e];if(r.boundingSphere===null){const s=new Li;this.getBoundingBoxAt(e,ng),ng.getCenter(s.center);const a=n.index,o=n.attributes.position;let l=0;for(let c=r.start,u=r.start+r.count;co.active);if(Math.max(...n.map(o=>o.vertexStart+o.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(l=>l.indexStart+l.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const s=this.geometry;s.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new js,this._initializeGeometry(s));const a=this.geometry;s.index&&kc(s.index.array,a.index.array);for(const o in s.attributes)kc(s.attributes[o].array,a.attributes[o].array)}raycast(e,t){const n=this._instanceInfo,r=this._geometryInfo,s=this.matrixWorld,a=this.geometry;Xc.material=this.material,Xc.geometry.index=a.index,Xc.geometry.attributes=a.attributes,Xc.geometry.boundingBox===null&&(Xc.geometry.boundingBox=new le),Xc.geometry.boundingSphere===null&&(Xc.geometry.boundingSphere=new Li);for(let o=0,l=n.length;odh(ko({},t),{boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>ko({},t)),this._availableInstanceIds=e._availableInstanceIds.slice(),this._availableGeometryIds=e._availableGeometryIds.slice(),this._nextIndexStart=e._nextIndexStart,this._nextVertexStart=e._nextVertexStart,this._geometryCount=e._geometryCount,this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._indirectTexture=e._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(e,t,n,r,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const a=r.getIndex(),o=a===null?1:a.array.BYTES_PER_ELEMENT,l=this._instanceInfo,c=this._multiDrawStarts,u=this._multiDrawCounts,h=this._geometryInfo,d=this.perObjectFrustumCulled,f=this._indirectTexture,A=f.image.data,y=n.isArrayCamera?Mh:ep;d&&!n.isArrayCamera&&($l.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),ep.setFromProjectionMatrix($l,n.coordinateSystem,n.reversedDepth));let b=0;if(this.sortObjects){$l.copy(this.matrixWorld).invert(),eA.setFromMatrixPosition(n.matrixWorld).applyMatrix4($l),rg.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection($l);for(let k=0,$=l.length;k<$;k++)if(l[k].visible&&l[k].active){const se=l[k].geometryIndex;this.getMatrixAt(k,$l),this.getBoundingSphereAt(se,vf).applyMatrix4($l);let ie=!1;if(d&&(ie=!y.intersectsSphere(vf,n)),!ie){const ce=h[se],ue=tp.subVectors(vf.center,eA).dot(rg);xm.push(ce.start,ce.count,ue,k)}}const x=xm.list,P=this.customSort;P===null?x.sort(s.transparent?Gh:fc):P.call(this,x,n);for(let k=0,$=x.length;k<$;k++){const se=x[k];c[b]=se.start*o,u[b]=se.count,A[b]=se.index,b++}xm.reset()}else for(let x=0,P=l.length;x0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sn)return;ag.applyMatrix4(i.matrixWorld);const c=e.ray.origin.distanceTo(ag);if(!(ce.far))return{distance:c,point:uy.clone().applyMatrix4(i.matrixWorld),index:a,face:null,faceIndex:null,barycoord:null,object:i}}const _m=new ye,fb=new ye;class Ab extends null{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let r=0,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sr.far)return;s.push({distance:c,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}class gb extends null{constructor(e,t,n,r,s=br,a=br,o,l,c){super(e,t,n,r,s,a,o,l,c),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;const u=this;function h(){u.needsUpdate=!0,u._requestVideoFrameCallbackId=e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&(this._requestVideoFrameCallbackId=e.requestVideoFrameCallback(h))}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&(this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0),super.dispose()}}class Ay extends null{constructor(e,t,n,r,s,a,o,l){super({},e,t,n,r,s,a,o,l),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(e){this.image=e,this.needsUpdate=!0}}class Cs extends ms{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=_n,this.minFilter=_n,this.generateMipmaps=!1,this.needsUpdate=!0}}class lg extends null{constructor(e,t,n,r,s,a,o,l,c,u,h,d){super(null,a,o,l,c,u,r,s,h,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class cg extends null{constructor(e,t,n,r,s,a){super(e,t,n,s,a),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=an,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class Wh extends null{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,je),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class py extends null{constructor(e,t,n,r,s,a,o,l,c){super(e,t,n,r,s,a,o,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class ja extends ms{constructor(e,t,n=Ft,r,s,a,o=_n,l=_n,c,u=H,h=1){if(u!==H&&u!==J)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const d={width:e,height:t,depth:h};super(d,r,s,a,o,l,u,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new os(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class yl extends ja{constructor(e,t=Ft,n=je,r,s,a=_n,o=_n,l,c=H){const u={width:e,height:e,depth:1},h=[u,u,u,u,u,u];super(e,e,t,n,r,s,a,o,l,c),this.image=h,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}}class Yc extends ms{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}}class ug extends js{constructor(e=1,t=1,n=4,r=8,s=1){super(),this.type="CapsuleGeometry",this.parameters={radius:e,height:t,capSegments:n,radialSegments:r,heightSegments:s},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),r=Math.max(3,Math.floor(r)),s=Math.max(1,Math.floor(s));const a=[],o=[],l=[],c=[],u=t/2,h=Math.PI/2*e,d=t,f=2*h+d,A=n*2+s,y=r+1,b=new ye,x=new ye;for(let P=0;P<=A;P++){let k=0,$=0,se=0,ie=0;if(P<=n){const ve=P/n,Fe=ve*Math.PI/2;$=-u-e*Math.cos(Fe),se=e*Math.sin(Fe),ie=-e*Math.cos(Fe),k=ve*h}else if(P<=n+s){const ve=(P-n)/s;$=-u+ve*t,se=e,ie=0,k=h+ve*d}else{const ve=(P-n-s)/n,Fe=ve*Math.PI/2;$=u+e*Math.sin(Fe),se=e*Math.cos(Fe),ie=e*Math.sin(Fe),k=h+d+ve*h}const ce=Math.max(0,Math.min(1,k/f));let ue=0;P===0?ue=.5/r:P===A&&(ue=-.5/r);for(let ve=0;ve<=r;ve++){const Fe=ve/r,nt=Fe*Math.PI*2,Gt=Math.sin(nt),Jt=Math.cos(nt);x.x=-se*Jt,x.y=$,x.z=se*Gt,o.push(x.x,x.y,x.z),b.set(-se*Jt,ie,se*Gt),b.normalize(),l.push(b.x,b.y,b.z),c.push(Fe+ue,ce)}if(P>0){const ve=(P-1)*y;for(let Fe=0;Fe0&&k(!0),t>0&&k(!1)),this.setIndex(u),this.setAttribute("position",new Ds(h,3)),this.setAttribute("normal",new Ds(d,3)),this.setAttribute("uv",new Ds(f,2));function P(){const $=new ye,se=new ye;let ie=0;const ce=(t-e)/n;for(let ue=0;ue<=s;ue++){const ve=[],Fe=ue/s,nt=Fe*(t-e)+e;for(let Gt=0;Gt<=r;Gt++){const Jt=Gt/r,gn=Jt*l+o,yn=Math.sin(gn),Mn=Math.cos(gn);se.x=nt*yn,se.y=-Fe*n+b,se.z=nt*Mn,h.push(se.x,se.y,se.z),$.set(yn,ce,Mn).normalize(),d.push($.x,$.y,$.z),f.push(Jt,1-Fe),ve.push(A++)}y.push(ve)}for(let ue=0;ue0||ve!==0)&&(u.push(Fe,nt,Jt),ie+=3),(t>0||ve!==s-1)&&(u.push(nt,Gt,Jt),ie+=3)}c.addGroup(x,ie,0),x+=ie}function k($){const se=A,ie=new Qe,ce=new ye;let ue=0;const ve=$===!0?e:t,Fe=$===!0?1:-1;for(let Gt=1;Gt<=r;Gt++)h.push(0,b*Fe,0),d.push(0,Fe,0),f.push(.5,.5),A++;const nt=A;for(let Gt=0;Gt<=r;Gt++){const gn=Gt/r*l+o,yn=Math.cos(gn),Mn=Math.sin(gn);ce.x=ve*Mn,ce.y=b*Fe,ce.z=ve*yn,h.push(ce.x,ce.y,ce.z),d.push(0,Fe,0),ie.x=yn*.5+.5,ie.y=Mn*.5*Fe+.5,f.push(ie.x,ie.y),A++}for(let Gt=0;Gt.9&&ce<.1&&(k<.2&&(a[P+0]+=1),$<.2&&(a[P+2]+=1),se<.2&&(a[P+4]+=1))}}function d(P){s.push(P.x,P.y,P.z)}function f(P,k){const $=P*3;k.x=e[$+0],k.y=e[$+1],k.z=e[$+2]}function A(){const P=new ye,k=new ye,$=new ye,se=new ye,ie=new Qe,ce=new Qe,ue=new Qe;for(let ve=0,Fe=0;ve0)l=r-1;else{l=r;break}if(r=l,n[r]===a)return r/(s-1);const u=n[r],d=n[r+1]-u,f=(a-u)/d;return(r+f)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const a=this.getPoint(r),o=this.getPoint(s),l=t||(a.isVector2?new Qe:new ye);return l.copy(o).sub(a).normalize(),l}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){const n=new ye,r=[],s=[],a=[],o=new ye,l=new pi;for(let f=0;f<=e;f++){const A=f/e;r[f]=this.getTangentAt(A,new ye)}s[0]=new ye,a[0]=new ye;let c=Number.MAX_VALUE;const u=Math.abs(r[0].x),h=Math.abs(r[0].y),d=Math.abs(r[0].z);u<=c&&(c=u,n.set(1,0,0)),h<=c&&(c=h,n.set(0,1,0)),d<=c&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],o),a[0].crossVectors(r[0],s[0]);for(let f=1;f<=e;f++){if(s[f]=s[f-1].clone(),a[f]=a[f-1].clone(),o.crossVectors(r[f-1],r[f]),o.length()>Number.EPSILON){o.normalize();const A=Math.acos(Ta(r[f-1].dot(r[f]),-1,1));s[f].applyMatrix4(l.makeRotationAxis(o,A))}a[f].crossVectors(r[f],s[f])}if(t===!0){let f=Math.acos(Ta(s[0].dot(s[e]),-1,1));f/=e,r[0].dot(o.crossVectors(s[0],s[e]))>0&&(f=-f);for(let A=1;A<=e;A++)s[A].applyMatrix4(l.makeRotationAxis(r[A],f*A)),a[A].crossVectors(r[A],s[A])}return{tangents:r,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class ip extends Zh{constructor(e=0,t=0,n=1,r=1,s=0,a=Math.PI*2,o=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=o,this.aRotation=l}getPoint(e,t=new Qe){const n=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(o)/s)+1)*s:l===0&&o===s-1&&(o=s-2,l=1);let c,u;this.closed||o>0?c=r[(o-1)%s]:(w.subVectors(r[0],r[1]).add(r[0]),c=w);const h=r[o%s],d=r[(o+1)%s];if(this.closed||o+2r.length-2?r.length-1:a+1],h=r[a>r.length-3?r.length-1:a+2];return n.set(Q(o,l.x,c.x,u.x,h.x),Q(o,l.y,c.y,u.y,h.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=r[s]-n,o=this.curves[s],l=o.getLength(),c=l===0?0:1-a/l;return o.getPointAt(c,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const h=c.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class ws extends _i{constructor(e){super(e),this.uuid=tc(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n80*t){o=i[0],l=i[1];let u=o,h=l;for(let d=t;du&&(u=f),A>h&&(h=A)}c=Math.max(u-o,h-l),c=c!==0?32767/c:0}return la(s,a,t,o,l,c,0),a}function ks(i,e,t,n,r){let s;if(r===No(i,e,t,n)>0)for(let a=e;a=e;a-=n)s=Fa(a/n|0,i[a],i[a+1],s);return s&&Ts(s,s.next)&&(Ms(s),s=s.next),s}function ys(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(Ts(t,t.next)||$r(t.prev,t,t.next)===0)){if(Ms(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function la(i,e,t,n,r,s,a){if(!i)return;!a&&s&&st(i,n,r,s);let o=i;for(;i.prev!==i.next;){const l=i.prev,c=i.next;if(s?hl(i,n,r,s):Go(i)){e.push(l.i,i.i,c.i),Ms(i),i=c.next,o=c.next;continue}if(i=c,i===o){a?a===1?(i=xl(ys(i),e),la(i,e,t,n,r,s,2)):a===2&&Ys(i,e,t,n,r,s):la(ys(i),e,t,n,r,s,1);break}}}function Go(i){const e=i.prev,t=i,n=i.next;if($r(e,t,n)>=0)return!1;const r=e.x,s=t.x,a=n.x,o=e.y,l=t.y,c=n.y,u=Math.min(r,s,a),h=Math.min(o,l,c),d=Math.max(r,s,a),f=Math.max(o,l,c);let A=n.next;for(;A!==e;){if(A.x>=u&&A.x<=d&&A.y>=h&&A.y<=f&&pr(r,o,s,l,a,c,A.x,A.y)&&$r(A.prev,A,A.next)>=0)return!1;A=A.next}return!0}function hl(i,e,t,n){const r=i.prev,s=i,a=i.next;if($r(r,s,a)>=0)return!1;const o=r.x,l=s.x,c=a.x,u=r.y,h=s.y,d=a.y,f=Math.min(o,l,c),A=Math.min(u,h,d),y=Math.max(o,l,c),b=Math.max(u,h,d),x=fn(f,A,e,t,n),P=fn(y,b,e,t,n);let k=i.prevZ,$=i.nextZ;for(;k&&k.z>=x&&$&&$.z<=P;){if(k.x>=f&&k.x<=y&&k.y>=A&&k.y<=b&&k!==r&&k!==a&&pr(o,u,l,h,c,d,k.x,k.y)&&$r(k.prev,k,k.next)>=0||(k=k.prevZ,$.x>=f&&$.x<=y&&$.y>=A&&$.y<=b&&$!==r&&$!==a&&pr(o,u,l,h,c,d,$.x,$.y)&&$r($.prev,$,$.next)>=0))return!1;$=$.nextZ}for(;k&&k.z>=x;){if(k.x>=f&&k.x<=y&&k.y>=A&&k.y<=b&&k!==r&&k!==a&&pr(o,u,l,h,c,d,k.x,k.y)&&$r(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;$&&$.z<=P;){if($.x>=f&&$.x<=y&&$.y>=A&&$.y<=b&&$!==r&&$!==a&&pr(o,u,l,h,c,d,$.x,$.y)&&$r($.prev,$,$.next)>=0)return!1;$=$.nextZ}return!0}function xl(i,e){let t=i;do{const n=t.prev,r=t.next.next;!Ts(n,r)&&ts(n,t,t.next,r)&&Hs(n,r)&&Hs(r,n)&&(e.push(n.i,t.i,r.i),Ms(t),Ms(t.next),t=i=r),t=t.next}while(t!==i);return ys(t)}function Ys(i,e,t,n,r,s){let a=i;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&Dr(a,o)){let l=ao(a,o);a=ys(a,a.next),l=ys(l,l.next),la(a,e,t,n,r,s,0),la(l,e,t,n,r,s,0);return}o=o.next}a=a.next}while(a!==i)}function G(i,e,t,n){const r=[];for(let s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const h=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=n&&h>s&&(s=h,a=t.x=t.x&&t.x>=l&&n!==t.x&&ar(ra.x||t.x===a.x&&Be(a,t)))&&(a=t,u=h)}t=t.next}while(t!==o);return a}function Be(i,e){return $r(i.prev,i,e.prev)<0&&$r(e.next,i,i.next)<0}function st(i,e,t,n){let r=i;do r.z===0&&(r.z=fn(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,kt(r)}function kt(i){let e,t=1;do{let n=i,r;i=null;let s=null;for(e=0;n;){e++;let a=n,o=0;for(let c=0;c0||l>0&&a;)o!==0&&(l===0||!a||n.z<=a.z)?(r=n,n=n.nextZ,o--):(r=a,a=a.nextZ,l--),s?s.nextZ=r:i=r,r.prevZ=s,s=r;n=a}s.nextZ=null,t*=2}while(e>1);return i}function fn(i,e,t,n,r){return i=(i-t)*r|0,e=(e-n)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function pn(i){let e=i,t=i;do(e.x=(i-a)*(s-o)&&(i-a)*(n-o)>=(t-a)*(e-o)&&(t-a)*(s-o)>=(r-a)*(n-o)}function pr(i,e,t,n,r,s,a,o){return!(i===a&&e===o)&&ar(i,e,t,n,r,s,a,o)}function Dr(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!sa(i,e)&&(Hs(i,e)&&Hs(e,i)&&Qo(i,e)&&($r(i.prev,i,e.prev)||$r(i,e.prev,e))||Ts(i,e)&&$r(i.prev,i,i.next)>0&&$r(e.prev,e,e.next)>0)}function $r(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Ts(i,e){return i.x===e.x&&i.y===e.y}function ts(i,e,t,n){const r=to($r(i,e,t)),s=to($r(i,e,n)),a=to($r(t,n,i)),o=to($r(t,n,e));return!!(r!==s&&a!==o||r===0&&xs(i,t,e)||s===0&&xs(i,n,e)||a===0&&xs(t,i,n)||o===0&&xs(t,e,n))}function xs(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function to(i){return i>0?1:i<0?-1:0}function sa(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&ts(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function Hs(i,e){return $r(i.prev,i,i.next)<0?$r(i,e,i.next)>=0&&$r(i,i.prev,e)>=0:$r(i,e,i.prev)<0||$r(i,i.next,e)<0}function Qo(i,e){let t=i,n=!1;const r=(i.x+e.x)/2,s=(i.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function ao(i,e){const t=wo(i.i,i.x,i.y),n=wo(e.i,e.x,e.y),r=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function Fa(i,e,t,n){const r=wo(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function Ms(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function wo(i,e,t){return{i,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function No(i,e,t,n){let r=0;for(let s=e,a=t-n;s2&&i[e-1].equals(i[0])&&i.pop()}function xc(i,e){for(let t=0;tNumber.EPSILON){const ei=Math.sqrt(St),Pi=Math.sqrt(zi*zi+An*An),hi=kr.x-Fs/ei,ca=kr.y+Fi/ei,bs=Br.x-An/Pi,ua=Br.y+zi/Pi,Va=((bs-hi)*An-(ua-ca)*zi)/(Fi*An-Fs*zi);oi=hi+Fi*Va-gr.x,ln=ca+Fs*Va-gr.y;const Xi=oi*oi+ln*ln;if(Xi<=2)return new Qe(oi,ln);As=Math.sqrt(Xi/2)}else{let ei=!1;Fi>Number.EPSILON?zi>Number.EPSILON&&(ei=!0):Fi<-Number.EPSILON?zi<-Number.EPSILON&&(ei=!0):Math.sign(Fs)===Math.sign(An)&&(ei=!0),ei?(oi=-Fs,ln=Fi,As=Math.sqrt(St)):(oi=Fi,ln=Fs,As=Math.sqrt(St/2))}return new Qe(oi/As,ln/As)}const Er=[];for(let gr=0,kr=yn.length,Br=kr-1,oi=gr+1;gr=0;gr--){const kr=gr/b,Br=f*Math.cos(kr*Math.PI/2),oi=A*Math.sin(kr*Math.PI/2)+y;for(let ln=0,As=yn.length;ln=0;){const oi=Br;let ln=Br-1;ln<0&&(ln=gr.length-1);for(let As=0,Fi=u+b*2;As0)&&f.push(k,$,ie),(x!==n-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class PP extends Kc{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new hs(16777215),this.specular=new hs(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new hs(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=wa,this.normalScale=new Qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new il,this.combine=De,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class FP extends Kc{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new hs(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new hs(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=wa,this.normalScale=new Qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class OP extends Kc{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=wa,this.normalScale=new Qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class SM extends Kc{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new hs(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new hs(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=wa,this.normalScale=new Qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new il,this.combine=De,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class LP extends Kc{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=cs,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class DP extends Kc{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class UP extends Kc{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new hs(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=wa,this.normalScale=new Qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this.fog=e.fog,this}}class CM extends cu{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function L0(i,e){return!i||i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)}function kP(i){function e(r,s){return i[r]-i[s]}const t=i.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort(e),n}function MM(i,e,t){const n=i.length,r=new i.constructor(n);for(let s=0,a=0;a!==n;++s){const o=t[s]*e;for(let l=0;l!==e;++l)r[a++]=i[o+l]}return r}function TM(i,e,t,n){let r=1,s=i[0];for(;s!==void 0&&s[n]===void 0;)s=i[r++];if(s===void 0)return;let a=s[n];if(a!==void 0)if(Array.isArray(a))do a=s[n],a!==void 0&&(e.push(s.time),t.push(...a)),s=i[r++];while(s!==void 0);else if(a.toArray!==void 0)do a=s[n],a!==void 0&&(e.push(s.time),a.toArray(t,t.length)),s=i[r++];while(s!==void 0);else do a=s[n],a!==void 0&&(e.push(s.time),t.push(a)),s=i[r++];while(s!==void 0)}function g8(i,e,t,n,r=30){const s=i.clone();s.name=e;const a=[];for(let l=0;l=n)){h.push(c.times[f]);for(let y=0;ys.tracks[l].times[0]&&(o=s.tracks[l].times[0]);for(let l=0;l=o.times[A]){const x=A*h+u,P=x+h-u;y=o.values.slice(x,P)}else{const x=o.createInterpolant(),P=u,k=h-u;x.evaluate(s),y=x.resultBuffer.slice(P,k)}l==="quaternion"&&new Ot().fromArray(y).normalize().conjugate().toArray(y);const b=c.times.length;for(let x=0;x=s)){const o=t[1];e=s)break t}a=n,n=0;break n}break e}for(;n>>1;et;)--a;if(++a,s!==0||a!==r){s>=a&&(a=Math.max(a,1),s=a-1);const o=this.getValueSize();this.times=n.slice(s,a),this.values=this.values.slice(s*o,a*o)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(Nr("KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,r=this.values,s=n.length;s===0&&(Nr("KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let o=0;o!==s;o++){const l=n[o];if(typeof l=="number"&&isNaN(l)){Nr("KeyframeTrack: Time is not a valid number.",this,o,l),e=!1;break}if(a!==null&&a>l){Nr("KeyframeTrack: Out of order keys.",this,o,l,a),e=!1;break}a=l}if(r!==void 0&&Lc(r))for(let o=0,l=r.length;o!==l;++o){const c=r[o];if(isNaN(c)){Nr("KeyframeTrack: Value is not a valid number.",this,o,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===$i,s=e.length-1;let a=1;for(let o=1;o0){e[a]=e[s];for(let o=s*n,l=a*n,c=0;c!==n;++c)t[l+c]=t[o+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=t.slice(0,a*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}oA.prototype.ValueTypeName="",oA.prototype.TimeBufferType=Float32Array,oA.prototype.ValueBufferType=Float32Array,oA.prototype.DefaultInterpolation=es;class yy extends oA{constructor(e,t,n){super(e,t,n)}}yy.prototype.ValueTypeName="bool",yy.prototype.ValueBufferType=Array,yy.prototype.DefaultInterpolation=vi,yy.prototype.InterpolantFactoryMethodLinear=void 0,yy.prototype.InterpolantFactoryMethodSmooth=void 0;class VP extends oA{constructor(e,t,n,r){super(e,t,n,r)}}VP.prototype.ValueTypeName="color";class C1 extends oA{constructor(e,t,n,r){super(e,t,n,r)}}C1.prototype.ValueTypeName="number";class x8 extends S1{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,l=(n-t)/(r-t);let c=e*o;for(let u=c+o;c!==u;c+=4)Ot.slerpFlat(s,0,a,c-o,a,c,l);return s}}class M1 extends oA{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new x8(this.times,this.values,this.getValueSize(),e)}}M1.prototype.ValueTypeName="quaternion",M1.prototype.InterpolantFactoryMethodSmooth=void 0;class xy extends oA{constructor(e,t,n){super(e,t,n)}}xy.prototype.ValueTypeName="string",xy.prototype.ValueBufferType=Array,xy.prototype.DefaultInterpolation=vi,xy.prototype.InterpolantFactoryMethodLinear=void 0,xy.prototype.InterpolantFactoryMethodSmooth=void 0;class T1 extends oA{constructor(e,t,n,r){super(e,t,n,r)}}T1.prototype.ValueTypeName="vector";class B1{constructor(e="",t=-1,n=[],r=ya){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=tc(),this.userData={},this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let a=0,o=n.length;a!==o;++a)t.push(_8(n[a]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s.userData=JSON.parse(e.userData||"{}"),s}static toJSON(e){const t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode,userData:JSON.stringify(e.userData)};for(let s=0,a=n.length;s!==a;++s)t.push(oA.toJSON(n[s]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const s=t.length,a=[];for(let o=0;o1){const h=u[1];let d=r[h];d||(r[h]=d=[]),d.push(c)}}const a=[];for(const o in r)a.push(this.CreateFromMorphTargetSequence(o,r[o],t,n));return a}static parseAnimation(e,t){if(sr("AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!e)return Nr("AnimationClip: No animation in JSONLoader data."),null;const n=function(h,d,f,A,y){if(f.length!==0){const b=[],x=[];TM(f,b,x,A),b.length!==0&&y.push(new h(d,b,x))}},r=[],s=e.name||"default",a=e.fps||30,o=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let h=0;h{t&&t(s),this.manager.itemEnd(e)},0),s;if(Ag[e]!==void 0){Ag[e].push({onLoad:t,onProgress:n,onError:r});return}Ag[e]=[],Ag[e].push({onLoad:t,onProgress:n,onError:r});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),o=this.mimeType,l=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&sr("FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||c.body===void 0||c.body.getReader===void 0)return c;const u=Ag[e],h=c.body.getReader(),d=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),f=d?parseInt(d):0,A=f!==0;let y=0;const b=new ReadableStream({start(x){P();function P(){h.read().then(({done:k,value:$})=>{if(k)x.close();else{y+=$.byteLength;const se=new ProgressEvent("progress",{lengthComputable:A,loaded:y,total:f});for(let ie=0,ce=u.length;ie{x.error(k)})}}});return new Response(b)}else throw new E8(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,o));case"json":return c.json();default:if(o==="")return c.text();{const h=/charset="?([^;"\s]*)"?/i.exec(o),d=h&&h[1]?h[1].toLowerCase():void 0,f=new TextDecoder(d);return c.arrayBuffer().then(A=>f.decode(A))}}}).then(c=>{fg.add(`file:${e}`,c);const u=Ag[e];delete Ag[e];for(let h=0,d=u.length;h{const u=Ag[e];if(u===void 0)throw this.manager.itemError(e),c;delete Ag[e];for(let h=0,d=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}class tbe extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new Cm(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(o){try{t(s.parse(JSON.parse(o)))}catch(l){r?r(l):Nr(l),s.manager.itemError(e)}},n,r)}parse(e){const t=[];for(let n=0;n0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const a=e.uniforms[s];switch(r.uniforms[s]={},a.type){case"t":r.uniforms[s].value=n(a.value);break;case"c":r.uniforms[s].value=new hs().setHex(a.value);break;case"v2":r.uniforms[s].value=new Qe().fromArray(a.value);break;case"v3":r.uniforms[s].value=new ye().fromArray(a.value);break;case"v4":r.uniforms[s].value=new Mi().fromArray(a.value);break;case"m3":r.uniforms[s].value=new Pn().fromArray(a.value);break;case"m4":r.uniforms[s].value=new pi().fromArray(a.value);break;default:r.uniforms[s].value=a.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new Qe().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapRotation!==void 0&&r.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new Qe().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return FM.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:RP,SpriteMaterial:S0,RawShaderMaterial:IP,ShaderMaterial:_u,PointsMaterial:Qh,MeshPhysicalMaterial:NP,MeshStandardMaterial:EM,MeshPhongMaterial:PP,MeshToonMaterial:FP,MeshNormalMaterial:OP,MeshLambertMaterial:SM,MeshDepthMaterial:LP,MeshDistanceMaterial:DP,MeshBasicMaterial:ou,MeshMatcapMaterial:UP,LineDashedMaterial:CM,LineBasicMaterial:cu,Material:Kc};return new t[e]}}class XP{static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class B8 extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class R8 extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new Cm(s.manager);a.setPath(s.path),a.setRequestHeader(s.requestHeader),a.setWithCredentials(s.withCredentials),a.load(e,function(o){try{t(s.parse(JSON.parse(o)))}catch(l){r?r(l):Nr(l),s.manager.itemError(e)}},n,r)}parse(e){const t={},n={};function r(f,A){if(t[A]!==void 0)return t[A];const b=f.interleavedBuffers[A],x=s(f,b.buffer),P=ec(b.type,x),k=new Am(P,b.stride);return k.uuid=b.uuid,t[A]=k,k}function s(f,A){if(n[A]!==void 0)return n[A];const b=f.arrayBuffers[A],x=new Uint32Array(b).buffer;return n[A]=x,x}const a=e.isInstancedBufferGeometry?new B8:new js,o=e.data.index;if(o!==void 0){const f=ec(o.type,o.array);a.setIndex(new ul(f,1))}const l=e.data.attributes;for(const f in l){const A=l[f];let y;if(A.isInterleavedBufferAttribute){const b=r(e.data,A.data);y=new Ju(b,A.itemSize,A.offset,A.normalized)}else{const b=ec(A.type,A.array),x=A.isInstancedBufferAttribute?_h:ul;y=new x(b,A.itemSize,A.normalized)}A.name!==void 0&&(y.name=A.name),A.usage!==void 0&&y.setUsage(A.usage),a.setAttribute(f,y)}const c=e.data.morphAttributes;if(c)for(const f in c){const A=c[f],y=[];for(let b=0,x=A.length;b0){const l=new HP(t);s=new R1(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){r=new R1(this.manager),r.setCrossOrigin(this.crossOrigin);for(let a=0,o=e.length;a{let x=null,P=null;return b.boundingBox!==void 0&&(x=new le().fromJSON(b.boundingBox)),b.boundingSphere!==void 0&&(P=new Li().fromJSON(b.boundingSphere)),dh(ko({},b),{boundingBox:x,boundingSphere:P})}),a._instanceInfo=e.instanceInfo,a._availableInstanceIds=e._availableInstanceIds,a._availableGeometryIds=e._availableGeometryIds,a._nextIndexStart=e.nextIndexStart,a._nextVertexStart=e.nextVertexStart,a._geometryCount=e.geometryCount,a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._matricesTexture=c(e.matricesTexture.uuid),a._indirectTexture=c(e.indirectTexture.uuid),e.colorsTexture!==void 0&&(a._colorsTexture=c(e.colorsTexture.uuid)),e.boundingSphere!==void 0&&(a.boundingSphere=new Li().fromJSON(e.boundingSphere)),e.boundingBox!==void 0&&(a.boundingBox=new le().fromJSON(e.boundingBox));break;case"LOD":a=new M0;break;case"Line":a=new np(o(e.geometry),l(e.material));break;case"LineLoop":a=new og(o(e.geometry),l(e.material));break;case"LineSegments":a=new Ab(o(e.geometry),l(e.material));break;case"PointCloud":case"Points":a=new dy(o(e.geometry),l(e.material));break;case"Sprite":a=new Yp(l(e.material));break;case"Group":a=new Ca;break;case"Bone":a=new Yf;break;default:a=new Ol}if(a.uuid=e.uuid,e.name!==void 0&&(a.name=e.name),e.matrix!==void 0?(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)):(e.position!==void 0&&a.position.fromArray(e.position),e.rotation!==void 0&&a.rotation.fromArray(e.rotation),e.quaternion!==void 0&&a.quaternion.fromArray(e.quaternion),e.scale!==void 0&&a.scale.fromArray(e.scale)),e.up!==void 0&&a.up.fromArray(e.up),e.castShadow!==void 0&&(a.castShadow=e.castShadow),e.receiveShadow!==void 0&&(a.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(a.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(a.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(a.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(a.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(a.visible=e.visible),e.frustumCulled!==void 0&&(a.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(a.renderOrder=e.renderOrder),e.userData!==void 0&&(a.userData=e.userData),e.layers!==void 0&&(a.layers.mask=e.layers),e.children!==void 0){const d=e.children;for(let f=0;f{if(OM.has(a)===!0)r&&r(OM.get(a)),s.manager.itemError(e),s.manager.itemEnd(e);else return t&&t(c),s.manager.itemEnd(e),c});return}return setTimeout(function(){t&&t(a),s.manager.itemEnd(e)},0),a}const o={};o.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",o.headers=this.requestHeader,o.signal=typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;const l=fetch(e,o).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return fg.add(`image-bitmap:${e}`,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),OM.set(l,c),fg.remove(`image-bitmap:${e}`),s.manager.itemError(e),s.manager.itemEnd(e)});fg.add(`image-bitmap:${e}`,l),s.manager.itemStart(e)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}let N1;class JP{static getContext(){return N1===void 0&&(N1=new(window.AudioContext||window.webkitAudioContext)),N1}static setContext(e){N1=e}}class obe extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new Cm(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{const c=l.slice(0);JP.getContext().decodeAudioData(c,function(h){t(h)}).catch(o)}catch(c){o(c)}},n,r);function o(l){r?r(l):Nr(l),s.manager.itemError(e)}}}const eF=new pi,tF=new pi,k0=new pi;class lbe{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new dc,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new dc,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,k0.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,a=t.near*Math.tan(Rc*t.fov*.5)/t.zoom;let o,l;tF.elements[12]=-r,eF.elements[12]=r,o=-a*t.aspect+s,l=a*t.aspect+s,k0.elements[0]=2*t.near/(l-o),k0.elements[8]=(l+o)/(l-o),this.cameraL.projectionMatrix.copy(k0),o=-a*t.aspect-s,l=a*t.aspect-s,k0.elements[0]=2*t.near/(l-o),k0.elements[8]=(l+o)/(l-o),this.cameraR.projectionMatrix.copy(k0)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(tF),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(eF)}}class nF extends dc{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}}class LM{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=performance.now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}const z0=new ye,DM=new Ot,N8=new ye,V0=new ye,H0=new ye;class cbe extends null{constructor(){super(),this.type="AudioListener",this.context=JP.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new LM}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(z0,DM,N8),V0.set(0,0,-1).applyQuaternion(DM),H0.set(0,1,0).applyQuaternion(DM),t.positionX){const n=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(z0.x,n),t.positionY.linearRampToValueAtTime(z0.y,n),t.positionZ.linearRampToValueAtTime(z0.z,n),t.forwardX.linearRampToValueAtTime(V0.x,n),t.forwardY.linearRampToValueAtTime(V0.y,n),t.forwardZ.linearRampToValueAtTime(V0.z,n),t.upX.linearRampToValueAtTime(H0.x,n),t.upY.linearRampToValueAtTime(H0.y,n),t.upZ.linearRampToValueAtTime(H0.z,n)}else t.setPosition(z0.x,z0.y,z0.z),t.setOrientation(V0.x,V0.y,V0.z,H0.x,H0.y,H0.z)}}class ube extends null{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){sr("Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){sr("Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){sr("Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){sr("Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){o.setValue(n,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let s=n,a=r;s!==a;++s)t[s]=t[r+s%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let a=0;a!==s;++a)e[t+a]=e[n+a]}_slerp(e,t,n,r){Ot.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,s){const a=this._workIndex*s;Ot.multiplyQuaternionsFlat(e,a,e,t,e,n),Ot.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,s){const a=1-r;for(let o=0;o!==s;++o){const l=t+o;e[l]=e[l]*a+e[n+o]*r}}_lerpAdditive(e,t,n,r,s){for(let a=0;a!==s;++a){const o=t+a;e[o]=e[o]+e[n+a]*r}}}const UM="\\[\\]\\.:\\/",O8=new RegExp("["+UM+"]","g"),kM="[^"+UM+"]",L8="[^"+UM.replace("\\.","")+"]",D8=/((?:WC+[\/:])*)/.source.replace("WC",kM),U8=/(WCOD+)?/.source.replace("WCOD",L8),k8=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",kM),z8=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",kM),V8=new RegExp("^"+D8+U8+k8+z8+"$"),H8=["material","materials","bones","map"];class G8{constructor(e,t,n){const r=n||dl.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=n.length;r!==s;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class dl{constructor(e,t,n){this.path=t,this.parsedPath=n||dl.parseTrackName(t),this.node=dl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new dl.Composite(e,t,n):new dl(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(O8,"")}static parseTrackName(e){const t=V8.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=n.nodeName.substring(r+1);H8.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(s){for(let a=0;a=s){const h=s++,d=e[h];t[d.uuid]=u,e[u]=d,t[c]=h,e[h]=l;for(let f=0,A=r;f!==A;++f){const y=n[f],b=y[h],x=y[u];y[u]=b,y[h]=x}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let s=this.nCachedObjects_,a=e.length;for(let o=0,l=arguments.length;o!==l;++o){const c=arguments[o],u=c.uuid,h=t[u];if(h!==void 0)if(delete t[u],h0&&(t[f.uuid]=h),e[h]=f,e.pop();for(let A=0,y=r;A!==y;++A){const b=n[A];b[h]=b[d],b.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const s=this._bindings;if(r!==void 0)return s[r];const a=this._paths,o=this._parsedPaths,l=this._objects,c=l.length,u=this.nCachedObjects_,h=new Array(c);r=s.length,n[e]=r,a.push(e),o.push(t),s.push(h);for(let d=u,f=l.length;d!==f;++d){const A=l[d];h[d]=new dl(A,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const r=this._paths,s=this._parsedPaths,a=this._bindings,o=a.length-1,l=a[o],c=e[o];t[c]=n,a[n]=l,a.pop(),s[n]=s[o],s.pop(),r[n]=r[o],r.pop()}}}class Q8{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;const s=t.tracks,a=s.length,o=new Array(a),l={endingStart:Wi,endingEnd:Wi};for(let c=0;c!==a;++c){const u=s[c].createInterpolant(null);o[c]=u,u.settings=l}this._interpolantSettings=l,this._interpolants=o,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ai,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n=!1){if(e.fadeOut(t),this.fadeIn(t),n===!0){const r=this._clip.duration,s=e._clip.duration,a=s/r,o=r/s;e.warp(1,a,t),this.warp(o,1,t)}return this}crossFadeTo(e,t,n=!1){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const r=this._mixer,s=r.time,a=this.timeScale;let o=this._timeScaleInterpolant;o===null&&(o=r._lendControlInterpolant(),this._timeScaleInterpolant=o);const l=o.parameterPositions,c=o.sampleValues;return l[0]=s,l[1]=s+n,c[0]=e/a,c[1]=t/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*n;l<0||n===0?t=0:(this._startTime=null,t=n*l)}t*=this._updateTimeScale(e);const a=this._updateTime(t),o=this._updateWeight(e);if(o>0){const l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case pa:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulateAdditive(o);break;case ya:default:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulate(r,o)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let r=this.time+e,s=this._loopCount;const a=n===ii;if(e===0)return s===-1?r:a&&(s&1)===1?t-r:r;if(n===Si){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),r>=t||r<0){const o=Math.floor(r/t);r-=t*o,s+=Math.abs(o);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:o})}}else this.time=r;if(a&&(s&1)===1)return t-r}return r}_setEndings(e,t,n){const r=this._interpolantSettings;n?(r.endingStart=Rr,r.endingEnd=Rr):(e?r.endingStart=this.zeroSlopeAtStart?Rr:Wi:r.endingStart=Ss,t?r.endingEnd=this.zeroSlopeAtEnd?Rr:Wi:r.endingEnd=Ss)}_scheduleFading(e,t,n){const r=this._mixer,s=r.time;let a=this._weightInterpolant;a===null&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=s,l[0]=t,o[1]=s+e,l[1]=n,this}}const W8=new Float32Array(1);class Abe extends null{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,s=r.length,a=e._propertyBindings,o=e._interpolants,l=n.uuid,c=this._bindingsByRootAndName;let u=c[l];u===void 0&&(u={},c[l]=u);for(let h=0;h!==s;++h){const d=r[h],f=d.name;let A=u[f];if(A!==void 0)++A.referenceCount,a[h]=A;else{if(A=a[h],A!==void 0){A._cacheIndex===null&&(++A.referenceCount,this._addInactiveBinding(A,l,f));continue}const y=t&&t._propertyBindings[h].binding.parsedPath;A=new F8(dl.create(n,f,y),d.ValueTypeName,d.getValueSize()),++A.referenceCount,this._addInactiveBinding(A,l,f),a[h]=A}o[h].resultBuffer=A.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,n)}const t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){const s=t[n];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){const s=t[n];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,s=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==n;++c)t[c]._update(r,e,s,a);const o=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)o[c].apply(a);return this}setTime(e){this.time=0;for(let t=0;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,cF).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const uF=new ye,F1=new ye,_y=new ye,wy=new ye,VM=new ye,K8=new ye,X8=new ye;class bbe{constructor(e=new ye,t=new ye){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){uF.subVectors(e,this.start),F1.subVectors(this.end,this.start);const n=F1.dot(F1);let s=F1.dot(uF)/n;return t&&(s=Ta(s,0,1)),s}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}distanceSqToLine3(e,t=K8,n=X8){const r=10000000000000001e-32;let s,a;const o=this.start,l=e.start,c=this.end,u=e.end;_y.subVectors(c,o),wy.subVectors(u,l),VM.subVectors(o,l);const h=_y.dot(_y),d=wy.dot(wy),f=wy.dot(VM);if(h<=r&&d<=r)return t.copy(o),n.copy(l),t.sub(n),t.dot(t);if(h<=r)s=0,a=f/d,a=Ta(a,0,1);else{const A=_y.dot(VM);if(d<=r)a=0,s=Ta(-A/h,0,1);else{const y=_y.dot(wy),b=h*d-y*y;b!==0?s=Ta((y*f-A*d)/b,0,1):s=0,a=(y*s+f)/d,a<0?(a=0,s=Ta(-A/h,0,1)):a>1&&(a=1,s=Ta((y-A)/h,0,1))}}return t.copy(o).add(_y.multiplyScalar(s)),n.copy(l).add(wy.multiplyScalar(a)),t.sub(n),t.dot(t)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const hF=new ye;class _be extends null{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new js,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,o=1,l=32;a1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{mF.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(mF,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Fbe extends null{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new js;r.setAttribute("position",new Ds(t,3)),r.setAttribute("color",new Ds(n,3));const s=new cu({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,n){const r=new hs,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(n),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Obe{constructor(){this.type="ShapePath",this.color=new hs,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new _i,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,s,a){return this.currentPath.bezierCurveTo(e,t,n,r,s,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(x){const P=[];for(let k=0,$=x.length;k<$;k++){const se=x[k],ie=new ws;ie.curves=se.curves,P.push(ie)}return P}function n(x,P){const k=P.length;let $=!1;for(let se=k-1,ie=0;ieNumber.EPSILON){if(Fe<0&&(ce=P[ie],ve=-ve,ue=P[se],Fe=-Fe),x.yue.y)continue;if(x.y===ce.y){if(x.x===ce.x)return!0}else{const nt=Fe*(x.x-ce.x)-ve*(x.y-ce.y);if(nt===0)return!0;if(nt<0)continue;$=!$}}else{if(x.y!==ce.y)continue;if(ue.x<=x.x&&x.x<=ce.x||ce.x<=x.x&&x.x<=ue.x)return!0}}return $}const r=Jo.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,o,l;const c=[];if(s.length===1)return o=s[0],l=new ws,l.curves=o.curves,c.push(l),c;let u=!r(s[0].getPoints());u=e?!u:u;const h=[],d=[];let f=[],A=0,y;d[A]=void 0,f[A]=[];for(let x=0,P=s.length;x1){let x=!1,P=0;for(let k=0,$=d.length;k<$;k++)h[k]=[];for(let k=0,$=d.length;k<$;k++){const se=f[k];for(let ie=0;ie0&&x===!1&&(f=h)}let b;for(let x=0,P=d.length;xe?(i.repeat.x=1,i.repeat.y=t/e,i.offset.x=0,i.offset.y=(1-i.repeat.y)/2):(i.repeat.x=e/t,i.repeat.y=1,i.offset.x=(1-i.repeat.x)/2,i.offset.y=0),i}function J8(i,e){const t=i.image&&i.image.width?i.image.width/i.image.height:1;return t>e?(i.repeat.x=e/t,i.repeat.y=1,i.offset.x=(1-i.repeat.x)/2,i.offset.y=0):(i.repeat.x=1,i.repeat.y=t/e,i.offset.x=0,i.offset.y=(1-i.repeat.y)/2),i}function eQ(i){return i.repeat.x=1,i.repeat.y=1,i.offset.x=0,i.offset.y=0,i}function V1(i,e,t,n){const r=tQ(n);switch(t){case V:return i*e;case Ae:return i*e/r.components*r.byteLength;case me:return i*e/r.components*r.byteLength;case $e:return i*e*2/r.components*r.byteLength;case Ke:return i*e*2/r.components*r.byteLength;case W:return i*e*3/r.components*r.byteLength;case S:return i*e*4/r.components*r.byteLength;case Se:return i*e*4/r.components*r.byteLength;case Oe:case Ee:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*8;case Ue:case at:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case ut:case qt:return Math.max(i,16)*Math.max(e,8)/4;case Ut:case Lt:return Math.max(i,8)*Math.max(e,8)/2;case Tn:case Rn:case Ln:case Gn:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*8;case ir:case _r:case un:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case Bn:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case lr:return Math.floor((i+4)/5)*Math.floor((e+3)/4)*16;case cr:return Math.floor((i+4)/5)*Math.floor((e+4)/5)*16;case Fr:return Math.floor((i+5)/6)*Math.floor((e+4)/5)*16;case zr:return Math.floor((i+5)/6)*Math.floor((e+5)/6)*16;case Wr:return Math.floor((i+7)/8)*Math.floor((e+4)/5)*16;case Vr:return Math.floor((i+7)/8)*Math.floor((e+5)/6)*16;case wi:return Math.floor((i+7)/8)*Math.floor((e+7)/8)*16;case Zr:return Math.floor((i+9)/10)*Math.floor((e+4)/5)*16;case Ei:return Math.floor((i+9)/10)*Math.floor((e+5)/6)*16;case Yi:return Math.floor((i+9)/10)*Math.floor((e+7)/8)*16;case wn:return Math.floor((i+9)/10)*Math.floor((e+9)/10)*16;case wt:return Math.floor((i+11)/12)*Math.floor((e+9)/10)*16;case Rt:return Math.floor((i+11)/12)*Math.floor((e+11)/12)*16;case Et:case dn:case Cn:return Math.ceil(i/4)*Math.ceil(e/4)*16;case Xn:case mr:return Math.ceil(i/4)*Math.ceil(e/4)*8;case yr:case ai:return Math.ceil(i/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function tQ(i){switch(i){case on:case Yt:return{byteLength:1,components:1};case gt:case Vt:case Dt:return{byteLength:2,components:1};case jn:case Zn:return{byteLength:2,components:4};case Ft:case yt:case rn:return{byteLength:4,components:1};case Qr:case Ne:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${i}.`)}class Lbe{static contain(e,t){return q8(e,t)}static cover(e,t){return J8(e,t)}static fill(e){return eQ(e)}static getByteLength(e,t,n,r){return V1(e,t,n,r)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:B}})),typeof window!="undefined"&&(window.__THREE__?sr("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=B);const Ey=new Eh,pg=new Qe,vF=new ye,QM=new Qe,H1=new Qe,G1=new ye,WM=new ye,yF=new pi,xF=new ye,bF=new ye;let Th=null,op=null;const gg=[],Tm={NONE:-1,PAN:0,ROTATE:1};class nQ extends z1{constructor(e,t,n=null){super(t,n),this.objects=e,this.recursive=!0,this.transformGroup=!1,this.rotateSpeed=1,this.raycaster=new aF,this.mouseButtons={LEFT:R.PAN,MIDDLE:R.PAN,RIGHT:R.ROTATE},this.touches={ONE:_.PAN},this._onPointerMove=rQ.bind(this),this._onPointerDown=iQ.bind(this),this._onPointerCancel=sQ.bind(this),this._onContextMenu=aQ.bind(this),n!==null&&this.connect(n)}connect(e){super.connect(e),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerCancel),this.domElement.addEventListener("pointerleave",this._onPointerCancel),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerCancel),this.domElement.removeEventListener("pointerleave",this._onPointerCancel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.domElement.style.touchAction="auto",this.domElement.style.cursor=""}dispose(){this.disconnect()}_updatePointer(e){const t=this.domElement.getBoundingClientRect();pg.x=(e.clientX-t.left)/t.width*2-1,pg.y=-(e.clientY-t.top)/t.height*2+1}_updateState(e){let t;if(e.pointerType==="touch")t=this.touches.ONE;else switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=null}switch(t){case R.PAN:case _.PAN:this.state=Tm.PAN;break;case R.ROTATE:case _.ROTATE:this.state=Tm.ROTATE;break;default:this.state=Tm.NONE}}}function rQ(i){const e=this.object,t=this.domElement,n=this.raycaster;if(this.enabled!==!1){if(this._updatePointer(i),n.setFromCamera(pg,e),Th)this.state===Tm.PAN?n.ray.intersectPlane(Ey,G1)&&(Th.position.copy(G1.sub(vF).applyMatrix4(yF)),this.dispatchEvent({type:"drag",object:Th})):this.state===Tm.ROTATE&&(QM.subVectors(pg,H1).multiplyScalar(this.rotateSpeed),Th.rotateOnWorldAxis(xF,QM.x),Th.rotateOnWorldAxis(bF.normalize(),-QM.y),this.dispatchEvent({type:"drag",object:Th})),H1.copy(pg);else if(i.pointerType==="mouse"||i.pointerType==="pen")if(gg.length=0,n.setFromCamera(pg,e),n.intersectObjects(this.objects,this.recursive,gg),gg.length>0){const r=gg[0].object;Ey.setFromNormalAndCoplanarPoint(e.getWorldDirection(Ey.normal),WM.setFromMatrixPosition(r.matrixWorld)),op!==r&&op!==null&&(this.dispatchEvent({type:"hoveroff",object:op}),t.style.cursor="auto",op=null),op!==r&&(this.dispatchEvent({type:"hoveron",object:r}),t.style.cursor="pointer",op=r)}else op!==null&&(this.dispatchEvent({type:"hoveroff",object:op}),t.style.cursor="auto",op=null);H1.copy(pg)}}function iQ(i){const e=this.object,t=this.domElement,n=this.raycaster;this.enabled!==!1&&(this._updatePointer(i),this._updateState(i),gg.length=0,n.setFromCamera(pg,e),n.intersectObjects(this.objects,this.recursive,gg),gg.length>0&&(this.transformGroup===!0?Th=_F(gg[0].object):Th=gg[0].object,Ey.setFromNormalAndCoplanarPoint(e.getWorldDirection(Ey.normal),WM.setFromMatrixPosition(Th.matrixWorld)),n.ray.intersectPlane(Ey,G1)&&(this.state===Tm.PAN?(yF.copy(Th.parent.matrixWorld).invert(),vF.copy(G1).sub(WM.setFromMatrixPosition(Th.matrixWorld)),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Th})):this.state===Tm.ROTATE&&(xF.set(0,1,0).applyQuaternion(e.quaternion).normalize(),bF.set(1,0,0).applyQuaternion(e.quaternion).normalize(),t.style.cursor="move",this.dispatchEvent({type:"dragstart",object:Th})))),H1.copy(pg))}function sQ(){this.enabled!==!1&&(Th&&(this.dispatchEvent({type:"dragend",object:Th}),Th=null),this.domElement.style.cursor=op?"pointer":"auto",this.state=Tm.NONE)}function aQ(i){this.enabled!==!1&&i.preventDefault()}function _F(i,e=null){return i.isGroup&&(e=i),i.parent===null?e:_F(i.parent,e)}var oQ=v(25551),lQ=v(83833);const cQ=1664525,uQ=1013904223,wF=4294967296;function hQ(){let i=1;return()=>(i=(cQ*i+uQ)%wF)/wF}var EF=3;function ZM(i){return i.x}function SF(i){return i.y}function dQ(i){return i.z}var fQ=10,AQ=Math.PI*(3-Math.sqrt(5)),pQ=Math.PI*20/(9+Math.sqrt(221));function gQ(i,e){e=e||2;var t=Math.min(EF,Math.max(1,Math.round(e))),n,r=1,s=.001,a=1-Math.pow(s,1/300),o=0,l=.6,c=new Map,u=(0,lQ.HT)(f),h=(0,oQ.Z)("tick","end"),d=hQ();i==null&&(i=[]);function f(){A(),h.call("tick",n),r1&&($.fy==null?$.y+=$.vy*=l:($.y=$.fy,$.vy=0)),t>2&&($.fz==null?$.z+=$.vz*=l:($.z=$.fz,$.vz=0));return n}function y(){for(var x=0,P=i.length,k;x1&&isNaN(k.y)||t>2&&isNaN(k.z)){var $=fQ*(t>2?Math.cbrt(.5+x):t>1?Math.sqrt(.5+x):x),se=x*AQ,ie=x*pQ;t===1?k.x=$:t===2?(k.x=$*Math.cos(se),k.y=$*Math.sin(se)):(k.x=$*Math.sin(se)*Math.cos(ie),k.y=$*Math.cos(se),k.z=$*Math.sin(se)*Math.sin(ie))}(isNaN(k.vx)||t>1&&isNaN(k.vy)||t>2&&isNaN(k.vz))&&(k.vx=0,t>1&&(k.vy=0),t>2&&(k.vz=0))}}function b(x){return x.initialize&&x.initialize(i,d,t),x}return y(),n={tick:A,restart:function(){return u.restart(f),n},stop:function(){return u.stop(),n},numDimensions:function(x){return arguments.length?(t=Math.min(EF,Math.max(1,Math.round(x))),c.forEach(b),n):t},nodes:function(x){return arguments.length?(i=x,y(),c.forEach(b),n):i},alpha:function(x){return arguments.length?(r=+x,n):r},alphaMin:function(x){return arguments.length?(s=+x,n):s},alphaDecay:function(x){return arguments.length?(a=+x,n):+a},alphaTarget:function(x){return arguments.length?(o=+x,n):o},velocityDecay:function(x){return arguments.length?(l=1-x,n):1-l},randomSource:function(x){return arguments.length?(d=x,c.forEach(b),n):d},force:function(x,P){return arguments.length>1?(P==null?c.delete(x):c.set(x,b(P)),n):c.get(x)},find:function(){var x=Array.prototype.slice.call(arguments),P=x.shift()||0,k=(t>1?x.shift():null)||0,$=(t>2?x.shift():null)||0,se=x.shift()||1/0,ie=0,ce=i.length,ue,ve,Fe,nt,Gt,Jt;for(se*=se,ie=0;ie1?(h.on(x,P),n):h.on(x)}}}function mg(i){return function(){return i}}function vg(i){return(i()-.5)*1e-6}function mQ(i){return i.index}function CF(i,e){var t=i.get(e);if(!t)throw new Error("node not found: "+e);return t}function vQ(i){var e=mQ,t=d,n,r=mg(30),s,a,o,l,c,u,h=1;i==null&&(i=[]);function d(x){return 1/Math.min(l[x.source.index],l[x.target.index])}function f(x){for(var P=0,k=i.length;P1&&(ve=ce.y+ce.vy-ie.y-ie.vy||vg(u)),o>2&&(Fe=ce.z+ce.vz-ie.z-ie.vz||vg(u)),nt=Math.sqrt(ue*ue+ve*ve+Fe*Fe),nt=(nt-s[$])/nt*x*n[$],ue*=nt,ve*=nt,Fe*=nt,ce.vx-=ue*(Gt=c[$]),o>1&&(ce.vy-=ve*Gt),o>2&&(ce.vz-=Fe*Gt),ie.vx+=ue*(Gt=1-Gt),o>1&&(ie.vy+=ve*Gt),o>2&&(ie.vz+=Fe*Gt)}function A(){if(a){var x,P=a.length,k=i.length,$=new Map(a.map((ie,ce)=>[e(ie,ce,a),ie])),se;for(x=0,l=new Array(P);xtypeof k=="function")||Math.random,o=P.find(k=>[1,2,3].includes(k))||2,A()},f.links=function(x){return arguments.length?(i=x,A(),f):i},f.id=function(x){return arguments.length?(e=x,f):e},f.iterations=function(x){return arguments.length?(h=+x,f):h},f.strength=function(x){return arguments.length?(t=typeof x=="function"?x:mg(+x),y(),f):t},f.distance=function(x){return arguments.length?(r=typeof x=="function"?x:mg(+x),b(),f):r},f}function yQ(i){const e=+this._x.call(null,i);return MF(this.cover(e),e,i)}function MF(i,e,t){if(isNaN(e))return i;var n,r=i._root,s={data:t},a=i._x0,o=i._x1,l,c,u,h,d;if(!r)return i._root=s,i;for(;r.length;)if((u=e>=(l=(a+o)/2))?a=l:o=l,n=r,!(r=r[h=+u]))return n[h]=s,i;if(c=+i._x.call(null,r.data),e===c)return s.next=r,n?n[h]=s:i._root=s,i;do n=n?n[h]=new Array(2):i._root=new Array(2),(u=e>=(l=(a+o)/2))?a=l:o=l;while((h=+u)==(d=+(c>=l)));return n[d]=r,n[h]=s,i}function xQ(i){Array.isArray(i)||(i=Array.from(i));const e=i.length,t=new Float64Array(e);let n=1/0,r=-1/0;for(let s=0,a;sr&&(r=a));if(n>r)return this;this.cover(n).cover(r);for(let s=0;si||i>=t;)switch(a=+(ia||(s=c.x1)=h))&&(c=o[o.length-1],o[o.length-1]=o[o.length-1-u],o[o.length-1-u]=c)}else{var d=Math.abs(i-+this._x.call(null,l.data));d=(c=(a+o)/2))?a=c:o=c,e=t,!(t=t[h=+u]))return this;if(!t.length)break;e[h+1&1]&&(n=e,d=h)}for(;t.data!==i;)if(r=t,!(t=t.next))return this;return(s=t.next)&&delete t.next,r?(s?r.next=s:delete r.next,this):e?(s?e[h]=s:delete e[h],(t=e[0]||e[1])&&t===(e[1]||e[0])&&!t.length&&(n?n[d]=t:this._root=t),this):(this._root=s,this)}function CQ(i){for(var e=0,t=i.length;e1&&(A.y=$/P),e>2&&(A.z=se/P)}else{b=A,b.x=b.data.x,e>1&&(b.y=b.data.y),e>2&&(b.z=b.data.z);do y+=a[b.data.index];while(b=b.next)}A.value=y}function f(A,y,b,x,P){if(!A.value)return!0;var k=[b,x,P][e-1],$=A.x-t.x,se=e>1?A.y-t.y:0,ie=e>2?A.z-t.z:0,ce=k-y,ue=$*$+se*se+ie*ie;if(ce*ce/c1&&se===0&&(se=vg(n),ue+=se*se),e>2&&ie===0&&(ie=vg(n),ue+=ie*ie),ue1&&(t.vy+=se*A.value*r/ue),e>2&&(t.vz+=ie*A.value*r/ue)),!0;if(A.length||ue>=l)return;(A.data!==t||A.next)&&($===0&&($=vg(n),ue+=$*$),e>1&&se===0&&(se=vg(n),ue+=se*se),e>2&&ie===0&&(ie=vg(n),ue+=ie*ie),ue1&&(t.vy+=se*ce),e>2&&(t.vz+=ie*ce));while(A=A.next)}return u.initialize=function(A,...y){i=A,n=y.find(b=>typeof b=="function")||Math.random,e=y.find(b=>[1,2,3].includes(b))||2,h()},u.strength=function(A){return arguments.length?(s=typeof A=="function"?A:mg(+A),h(),u):s},u.distanceMin=function(A){return arguments.length?(o=A*A,u):Math.sqrt(o)},u.distanceMax=function(A){return arguments.length?(l=A*A,u):Math.sqrt(l)},u.theta=function(A){return arguments.length?(c=A*A,u):Math.sqrt(c)},u}function FQ(i,e,t){var n,r=1;i==null&&(i=0),e==null&&(e=0),t==null&&(t=0);function s(){var a,o=n.length,l,c=0,u=0,h=0;for(a=0;a1&&(A.vy+=b*k),s>2&&(A.vz+=x*k)}}function u(){if(r){var h,d=r.length;for(o=new Array(d),l=new Array(d),h=0;h[1,2,3].includes(f))||2,u()},c.strength=function(h){return arguments.length?(a=typeof h=="function"?h:mg(+h),u(),c):a},c.radius=function(h){return arguments.length?(i=typeof h=="function"?h:mg(+h),u(),c):i},c.x=function(h){return arguments.length?(e=+h,c):e},c.y=function(h){return arguments.length?(t=+h,c):t},c.z=function(h){return arguments.length?(n=+h,c):n},c}function LQ(i){UQ(i);const e=DQ(i);return i.on=e.on,i.off=e.off,i.fire=e.fire,i}function DQ(i){let e=Object.create(null);return{on:function(t,n,r){if(typeof n!="function")throw new Error("callback is expected to be a function");let s=e[t];return s||(s=e[t]=[]),s.push({callback:n,ctx:r}),i},off:function(t,n){if(typeof t=="undefined")return e=Object.create(null),i;if(e[t])if(typeof n!="function")delete e[t];else{const a=e[t];for(let o=0;o1&&(r=Array.prototype.slice.call(arguments,1));for(let s=0;s0&&(h.fire("changed",a),a.length=0)}function Hr(qn){if(typeof qn!="function")throw new Error("Function is expected to iterate over graph nodes. You passed "+qn);for(var Jr=e.values(),gi=Jr.next();!gi.done;){if(qn(gi.value))return!0;gi=Jr.next()}}}function VQ(i,e){this.id=i,this.links=null,this.data=e}function NF(i,e){i.links?i.links.add(e):i.links=new Set([e])}function PF(i,e,t,n){this.fromId=i,this.toId=e,this.data=t,this.id=n}function Q1(i,e){return i.toString()+"\u{1F449} "+e.toString()}var HQ=v(91998),jM=v(58094),GQ=v(8248),QQ=function(){return GQ.Z.Date.now()},KM=QQ,WQ=/\s/;function ZQ(i){for(var e=i.length;e--&&WQ.test(i.charAt(e)););return e}var $Q=ZQ,jQ=/^\s+/;function KQ(i){return i&&i.slice(0,$Q(i)+1).replace(jQ,"")}var XQ=KQ,YQ=v(69053),qQ=v(82144),JQ="[object Symbol]";function e9(i){return typeof i=="symbol"||(0,qQ.Z)(i)&&(0,YQ.Z)(i)==JQ}var t9=e9,FF=NaN,n9=/^[-+]0x[0-9a-f]+$/i,r9=/^0b[01]+$/i,i9=/^0o[0-7]+$/i,s9=parseInt;function a9(i){if(typeof i=="number")return i;if(t9(i))return FF;if((0,jM.Z)(i)){var e=typeof i.valueOf=="function"?i.valueOf():i;i=(0,jM.Z)(e)?e+"":e}if(typeof i!="string")return i===0?i:+i;i=XQ(i);var t=r9.test(i);return t||i9.test(i)?s9(i.slice(2),t?2:8):n9.test(i)?FF:+i}var OF=a9,o9="Expected a function",l9=Math.max,c9=Math.min;function u9(i,e,t){var n,r,s,a,o,l,c=0,u=!1,h=!1,d=!0;if(typeof i!="function")throw new TypeError(o9);e=OF(e)||0,(0,jM.Z)(t)&&(u=!!t.leading,h="maxWait"in t,s=h?l9(OF(t.maxWait)||0,e):s,d="trailing"in t?!!t.trailing:d);function f(ie){var ce=n,ue=r;return n=r=void 0,c=ie,a=i.apply(ue,ce),a}function A(ie){return c=ie,o=setTimeout(x,e),u?f(ie):a}function y(ie){var ce=ie-l,ue=ie-c,ve=e-ce;return h?c9(ve,s-ue):ve}function b(ie){var ce=ie-l,ue=ie-c;return l===void 0||ce>=e||ce<0||h&&ue>=s}function x(){var ie=KM();if(b(ie))return P(ie);o=setTimeout(x,y(ie))}function P(ie){return o=void 0,d&&n?f(ie):(n=r=void 0,a)}function k(){o!==void 0&&clearTimeout(o),c=0,n=l=r=o=void 0}function $(){return o===void 0?a:P(KM())}function se(){var ie=KM(),ce=b(ie);if(n=arguments,r=this,l=ie,ce){if(o===void 0)return A(l);if(h)return clearTimeout(o),o=setTimeout(x,e),f(l)}return o===void 0&&(o=setTimeout(x,e)),a}return se.cancel=k,se.flush=$,se}var h9=u9;function LF(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);tn||t===void 0&&n>=n)&&(t=n);else{let n=-1;for(let r of i)(r=e(r,++n,i))!=null&&(t>r||t===void 0&&r>=r)&&(t=r)}return t}function b9(i,e){let t;if(e===void 0)for(const n of i)n!=null&&(t=n)&&(t=n);else{let n=-1;for(let r of i)(r=e(r,++n,i))!=null&&(t=r)&&(t=r)}return t}function XM(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);ti.length)&&(e=i.length);for(var t=0,n=Array(e);t1&&arguments[1]!==void 0?arguments[1]:{},s=r.dataBindAttr,a=s===void 0?"__data":s,o=r.objBindAttr,l=o===void 0?"__threeObj":o;return jF(this,e),n=$F(this,e),$1(n,"scene",void 0),KF(n,cT,void 0),KF(n,j1,void 0),n.scene=t,XF(cT,n,a),XF(j1,n,l),n.onRemoveObj(function(){}),n}return JF(e,i),qF(e,[{key:"onCreateObj",value:function(n){var r=this;return aT(e,"onCreateObj",this)([function(s){var a=n(s);return s[nT(j1,r)]=a,a[nT(cT,r)]=s,r.scene.add(a),a}]),this}},{key:"onRemoveObj",value:function(n){var r=this;return aT(e,"onRemoveObj",this)([function(s,a){var o=aT(e,"getData",r)([s]);n(s,a),r.scene.remove(s),lT(s),delete o[nT(j1,r)]}]),this}}])}(L9),xb=function(e){return isNaN(e)?parseInt((0,WF.Z)(e).toHex(),16):e},uT=function(e){return isNaN(e)?(0,WF.Z)(e).getAlpha():1},J9=QF(k9);function sO(i,e,t){!e||typeof t!="string"||i.filter(function(n){return!n[t]}).forEach(function(n){n[t]=J9(e(n))})}function eW(i,e){var t=i.nodes,n=i.links,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=r.nodeFilter,a=s===void 0?function(){return!0}:s,o=r.onLoopError,l=o===void 0?function(f){throw"Invalid DAG structure! Found cycle in node path: ".concat(f.join(" -> "),".")}:o,c={};t.forEach(function(f){return c[e(f)]={data:f,out:[],depth:-1,skip:!a(f)}}),n.forEach(function(f){var A=f.source,y=f.target,b=$(A),x=$(y);if(!c.hasOwnProperty(b))throw"Missing source node with id: ".concat(b);if(!c.hasOwnProperty(x))throw"Missing target node with id: ".concat(x);var P=c[b],k=c[x];P.out.push(k);function $(se){return oT(se)==="object"?e(se):se}});var u=[];d(Object.values(c));var h=Object.assign.apply(Object,[{}].concat(lA(Object.entries(c).filter(function(f){var A=vb(f,2),y=A[1];return!y.skip}).map(function(f){var A=vb(f,2),y=A[0],b=A[1];return $1({},y,b.depth)}))));return h;function d(f){for(var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=function(){var $=f[x];if(A.indexOf($)!==-1){var se=[].concat(lA(A.slice(A.indexOf($))),[$]).map(function(ie){return e(ie.data)});return u.some(function(ie){return ie.length===se.length&&ie.every(function(ce,ue){return ce===se[ue]})})||(u.push(se),l(se)),1}y>$.depth&&($.depth=y,d($.out,[].concat(lA(A),[$]),y+($.skip?0:1)))},x=0,P=f.length;x2?-60:-30),e<3&&r(t.graphData.nodes,"z"),e<2&&r(t.graphData.nodes,"y");function r(s,a){s.forEach(function(o){delete o[a],delete o["v".concat(a)]})}}},dagMode:{onChange:function(e,t){!e&&t.forceEngine==="d3"&&(t.graphData.nodes||[]).forEach(function(n){return n.fx=n.fy=n.fz=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},nodePositionUpdate:{triggerUpdate:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleOffset:{default:0,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},linkDirectionalParticleThreeObject:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.velocityDecay(e)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(e){return e._flushObjects=!0,e._rerender(),this},d3Force:function(e,t,n){return n===void 0?e.d3ForceLayout.force(t):(e.d3ForceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},tickFrame:function(e){var t=e.forceEngine!=="ngraph";return e.engineRunning&&n(),r(),s(),this;function n(){++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||t&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()0){var ie=y.x-A.x,ce=y.y-A.y||0,ue=new Ka.Vector3().subVectors(P,x),ve=ue.clone().multiplyScalar(b).cross(ie!==0||ce!==0?new Ka.Vector3(0,0,1):new Ka.Vector3(0,1,0)).applyAxisAngle(ue.normalize(),se).add(new Ka.Vector3().addVectors(x,P).divideScalar(2));$=new Ka.QuadraticBezierCurve3(x,ve,P)}else{var Fe=b*70,nt=-se,Gt=nt+Math.PI/2;$=new Ka.CubicBezierCurve3(x,new Ka.Vector3(Fe*Math.cos(Gt),Fe*Math.sin(Gt),0).add(x),new Ka.Vector3(Fe*Math.cos(nt),Fe*Math.sin(nt),0).add(x),P)}d.__curve=$}}}}function r(){var a=Wo(e.linkDirectionalArrowRelPos),o=Wo(e.linkDirectionalArrowLength),l=Wo(e.nodeVal);e.arrowDataMapper.entries().forEach(function(c){var u=vb(c,2),h=u[0],d=u[1];if(d){var f=t?h:e.layout.getLinkPosition(e.layout.graph.getLink(h.source,h.target).id),A=f[t?"source":"from"],y=f[t?"target":"to"];if(!(!A||!y||!A.hasOwnProperty("x")||!y.hasOwnProperty("x"))){var b=Math.cbrt(Math.max(0,l(A)||1))*e.nodeRelSize,x=Math.cbrt(Math.max(0,l(y)||1))*e.nodeRelSize,P=o(h),k=a(h),$=h.__curve?function(Fe){return h.__curve.getPoint(Fe)}:function(Fe){var nt=function(Jt,gn,yn,Mn){return gn[Jt]+(yn[Jt]-gn[Jt])*Mn||0};return{x:nt("x",A,y,Fe),y:nt("y",A,y,Fe),z:nt("z",A,y,Fe)}},se=h.__curve?h.__curve.getLength():Math.sqrt(["x","y","z"].map(function(Fe){return Math.pow((y[Fe]||0)-(A[Fe]||0),2)}).reduce(function(Fe,nt){return Fe+nt},0)),ie=b+P+(se-b-x-P)*k,ce=$(ie/se),ue=$((ie-P)/se);["x","y","z"].forEach(function(Fe){return d.position[Fe]=ue[Fe]});var ve=YF(Ka.Vector3,lA(["x","y","z"].map(function(Fe){return ce[Fe]})));d.parent.localToWorld(ve),d.lookAt(ve)}}})}function s(){var a=Wo(e.linkDirectionalParticleSpeed),o=Wo(e.linkDirectionalParticleOffset);e.graphData.links.forEach(function(l){var c=e.particlesDataMapper.getObj(l),u=c&&c.children,h=l.__singleHopPhotonsObj&&l.__singleHopPhotonsObj.children;if(!((!h||!h.length)&&(!u||!u.length))){var d=t?l:e.layout.getLinkPosition(e.layout.graph.getLink(l.source,l.target).id),f=d[t?"source":"from"],A=d[t?"target":"to"];if(!(!f||!A||!f.hasOwnProperty("x")||!A.hasOwnProperty("x"))){var y=a(l),b=Math.abs(o(l)),x=l.__curve?function(k){return l.__curve.getPoint(k)}:function(k){var $=function(ie,ce,ue,ve){return ce[ie]+(ue[ie]-ce[ie])*ve||0};return{x:$("x",f,A,k),y:$("y",f,A,k),z:$("z",f,A,k)}},P=[].concat(lA(u||[]),lA(h||[]));P.forEach(function(k,$){var se=k.parent.__linkThreeObjType==="singleHopPhotons";if(k.hasOwnProperty("__progressRatio")||(k.__progressRatio=se?0:($+b)/u.length),k.__progressRatio+=y,k.__progressRatio>=1)if(!se)k.__progressRatio=k.__progressRatio%1;else{k.parent.remove(k),lT(k);return}var ie=k.__progressRatio,ce=x(ie);k.geometry.type!=="SphereGeometry"&&k.lookAt(ce.x,ce.y,ce.z),["x","y","z"].forEach(function(ue){return k.position[ue]=ce[ue]})})}}})}},emitParticle:function(e,t){if(t&&e.graphData.links.includes(t)){if(!t.__singleHopPhotonsObj){var n=new Ka.Group;n.__linkThreeObjType="singleHopPhotons",t.__singleHopPhotonsObj=n,e.graphScene.add(n)}var r=Wo(e.linkDirectionalParticleThreeObject)(t);if(r&&e.linkDirectionalParticleThreeObject===r&&(r=r.clone()),!r){var s=Wo(e.linkDirectionalParticleWidth),a=Math.ceil(s(t)*10)/10/2,o=e.linkDirectionalParticleResolution,l=new Ka.SphereGeometry(a,o,o),c=Wo(e.linkColor),u=Wo(e.linkDirectionalParticleColor),h=u(t)||c(t)||"#f0f0f0",d=new Ka.Color(xb(h)),f=e.linkOpacity*3,A=new Ka.MeshLambertMaterial({color:d,transparent:!0,opacity:f});r=new Ka.Mesh(l,A)}t.__singleHopPhotonsObj.add(r)}return this},getGraphBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0};if(!e.initialised)return null;var n=function r(s){var a=[];if(s.geometry){s.geometry.computeBoundingBox();var o=new Ka.Box3;o.copy(s.geometry.boundingBox).applyMatrix4(s.matrixWorld),a.push(o)}return a.concat.apply(a,lA((s.children||[]).filter(function(l){return!l.hasOwnProperty("__graphObjType")||l.__graphObjType==="node"&&t(l.__data)}).map(r)))}(e.graphScene);return n.length?Object.assign.apply(Object,lA(["x","y","z"].map(function(r){return $1({},r,[x9(n,function(s){return s.min[r]}),b9(n,function(s){return s.max[r]})])}))):null}},stateInit:function(){return{d3ForceLayout:gQ().force("link",vQ()).force("charge",PQ()).force("center",FQ()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.graphScene=e,t.nodeDataMapper=new yb(e,{objBindAttr:"__threeObj"}),t.linkDataMapper=new yb(e,{objBindAttr:"__lineObj"}),t.arrowDataMapper=new yb(e,{objBindAttr:"__arrowObj"}),t.particlesDataMapper=new yb(e,{objBindAttr:"__photonsObj"})},update:function(e,t){var n=function(or){return or.some(function(Sr){return t.hasOwnProperty(Sr)})};if(e.engineRunning=!1,typeof e.onUpdate=="function"&&e.onUpdate(),e.nodeAutoColorBy!==null&&n(["nodeAutoColorBy","graphData","nodeColor"])&&sO(e.graphData.nodes,Wo(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&n(["linkAutoColorBy","graphData","linkColor"])&&sO(e.graphData.links,Wo(e.linkAutoColorBy),e.linkColor),e._flushObjects||n(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var r=Wo(e.nodeThreeObject),s=Wo(e.nodeThreeObjectExtend),a=Wo(e.nodeVal),o=Wo(e.nodeColor),l=Wo(e.nodeVisibility),c={},u={};(e._flushObjects||n(["nodeThreeObject","nodeThreeObjectExtend"]))&&e.nodeDataMapper.clear(),e.nodeDataMapper.onCreateObj(function(Xr){var or=r(Xr),Sr=s(Xr);or&&e.nodeThreeObject===or&&(or=or.clone());var Ri;return or&&!Sr?Ri=or:(Ri=new Ka.Mesh,Ri.__graphDefaultObj=!0,or&&Sr&&Ri.add(or)),Ri.__graphObjType="node",Ri}).onUpdateObj(function(Xr,or){if(Xr.__graphDefaultObj){var Sr=a(or)||1,Ri=Math.cbrt(Sr)*e.nodeRelSize,xi=e.nodeResolution;(!Xr.geometry.type.match(/^Sphere(Buffer)?Geometry$/)||Xr.geometry.parameters.radius!==Ri||Xr.geometry.parameters.widthSegments!==xi)&&(c.hasOwnProperty(Sr)||(c[Sr]=new Ka.SphereGeometry(Ri,xi,xi)),Xr.geometry.dispose(),Xr.geometry=c[Sr]);var Qi=o(or),Ks=new Ka.Color(xb(Qi||"#ffffaa")),ga=e.nodeOpacity*uT(Qi);(Xr.material.type!=="MeshLambertMaterial"||!Xr.material.color.equals(Ks)||Xr.material.opacity!==ga)&&(u.hasOwnProperty(Qi)||(u[Qi]=new Ka.MeshLambertMaterial({color:Ks,transparent:!0,opacity:ga})),Xr.material.dispose(),Xr.material=u[Qi])}}).digest(e.graphData.nodes.filter(l))}if(e._flushObjects||n(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","linkDirectionalParticleThreeObject"])){var h=Wo(e.linkThreeObject),d=Wo(e.linkThreeObjectExtend),f=Wo(e.linkMaterial),A=Wo(e.linkVisibility),y=Wo(e.linkColor),b=Wo(e.linkWidth),x={},P={},k={},$=e.graphData.links.filter(A);if((e._flushObjects||n(["linkThreeObject","linkThreeObjectExtend","linkWidth"]))&&e.linkDataMapper.clear(),e.linkDataMapper.onRemoveObj(function(Xr){var or=Xr.__data&&Xr.__data.__singleHopPhotonsObj;or&&(or.parent.remove(or),lT(or),delete Xr.__data.__singleHopPhotonsObj)}).onCreateObj(function(Xr){var or=h(Xr),Sr=d(Xr);or&&e.linkThreeObject===or&&(or=or.clone());var Ri;if(!or||Sr){var xi=!!b(Xr);if(xi)Ri=new Ka.Mesh;else{var Qi=new Ka.BufferGeometry;Qi[hT]("position",new Ka.BufferAttribute(new Float32Array(2*3),3)),Ri=new Ka.Line(Qi)}}var Ks;return or?Sr?(Ks=new Ka.Group,Ks.__graphDefaultObj=!0,Ks.add(Ri),Ks.add(or)):Ks=or:(Ks=Ri,Ks.__graphDefaultObj=!0),Ks.renderOrder=10,Ks.__graphObjType="link",Ks}).onUpdateObj(function(Xr,or){if(Xr.__graphDefaultObj){var Sr=Xr.children.length?Xr.children[0]:Xr,Ri=Math.ceil(b(or)*10)/10,xi=!!Ri;if(xi){var Qi=Ri/2,Ks=e.linkResolution;if(!Sr.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||Sr.geometry.parameters.radiusTop!==Qi||Sr.geometry.parameters.radialSegments!==Ks){if(!x.hasOwnProperty(Ri)){var ga=new Ka.CylinderGeometry(Qi,Qi,1,Ks,1,!1);ga[K1](new Ka.Matrix4().makeTranslation(0,1/2,0)),ga[K1](new Ka.Matrix4().makeRotationX(Math.PI/2)),x[Ri]=ga}Sr.geometry.dispose(),Sr.geometry=x[Ri]}}var ra=f(or);if(ra)Sr.material=ra;else{var gr=y(or),kr=new Ka.Color(xb(gr||"#f0f0f0")),Br=e.linkOpacity*uT(gr),oi=xi?"MeshLambertMaterial":"LineBasicMaterial";if(Sr.material.type!==oi||!Sr.material.color.equals(kr)||Sr.material.opacity!==Br){var ln=xi?P:k;ln.hasOwnProperty(gr)||(ln[gr]=new Ka[oi]({color:kr,transparent:Br<1,opacity:Br,depthWrite:Br>=1})),Sr.material.dispose(),Sr.material=ln[gr]}}}}).digest($),e.linkDirectionalArrowLength||t.hasOwnProperty("linkDirectionalArrowLength")){var se=Wo(e.linkDirectionalArrowLength),ie=Wo(e.linkDirectionalArrowColor);e.arrowDataMapper.onCreateObj(function(){var Xr=new Ka.Mesh(void 0,new Ka.MeshLambertMaterial({transparent:!0}));return Xr.__linkThreeObjType="arrow",Xr}).onUpdateObj(function(Xr,or){var Sr=se(or),Ri=e.linkDirectionalArrowResolution;if(!Xr.geometry.type.match(/^Cone(Buffer)?Geometry$/)||Xr.geometry.parameters.height!==Sr||Xr.geometry.parameters.radialSegments!==Ri){var xi=new Ka.ConeGeometry(Sr*.25,Sr,Ri);xi.translate(0,Sr/2,0),xi.rotateX(Math.PI/2),Xr.geometry.dispose(),Xr.geometry=xi}var Qi=ie(or)||y(or)||"#f0f0f0";Xr.material.color=new Ka.Color(xb(Qi)),Xr.material.opacity=e.linkOpacity*3*uT(Qi)}).digest($.filter(se))}if(e.linkDirectionalParticles||t.hasOwnProperty("linkDirectionalParticles")){var ce=Wo(e.linkDirectionalParticles),ue=Wo(e.linkDirectionalParticleWidth),ve=Wo(e.linkDirectionalParticleColor),Fe=Wo(e.linkDirectionalParticleThreeObject),nt={},Gt={};e.particlesDataMapper.onCreateObj(function(){var Xr=new Ka.Group;return Xr.__linkThreeObjType="photons",Xr.__photonDataMapper=new yb(Xr),Xr}).onUpdateObj(function(Xr,or){var Sr=!!Xr.children.length&&Xr.children[0],Ri=Fe(or),xi,Qi;if(Ri)xi=Ri.geometry,Qi=Ri.material;else{var Ks=Math.ceil(ue(or)*10)/10/2,ga=e.linkDirectionalParticleResolution;Sr&&Sr.geometry.parameters.radius===Ks&&Sr.geometry.parameters.widthSegments===ga?xi=Sr.geometry:(Gt.hasOwnProperty(Ks)||(Gt[Ks]=new Ka.SphereGeometry(Ks,ga,ga)),xi=Gt[Ks]);var ra=ve(or)||y(or)||"#f0f0f0",gr=new Ka.Color(xb(ra)),kr=e.linkOpacity*3;Sr&&Sr.material.color.equals(gr)&&Sr.material.opacity===kr?Qi=Sr.material:(nt.hasOwnProperty(ra)||(nt[ra]=new Ka.MeshLambertMaterial({color:gr,transparent:!0,opacity:kr})),Qi=nt[ra])}Sr&&(Sr.geometry!==xi&&Sr.geometry.dispose(),Sr.material!==Qi&&Sr.material.dispose());var Br=Math.round(Math.abs(ce(or)));Xr.__photonDataMapper.id(function(oi){return oi.idx}).onCreateObj(function(){return new Ka.Mesh(xi,Qi)}).onUpdateObj(function(oi){oi.geometry=xi,oi.material=Qi}).digest(lA(new Array(Br)).map(function(oi,ln){return{idx:ln}}))}).digest($.filter(ce))}}if(e._flushObjects=!1,n(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){e.engineRunning=!1,e.graphData.links.forEach(function(Xr){Xr.source=Xr[e.linkSource],Xr.target=Xr[e.linkTarget]});var Jt=e.forceEngine!=="ngraph",gn;if(Jt){(gn=e.d3ForceLayout).stop().alpha(1).numDimensions(e.numDimensions).nodes(e.graphData.nodes);var yn=e.d3ForceLayout.force("link");yn&&yn.id(function(Xr){return Xr[e.nodeId]}).links(e.graphData.links);var Mn=e.dagMode&&eW(e.graphData,function(Xr){return Xr[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),rr=Math.max.apply(Math,lA(Object.values(Mn||[]))),Hn=e.dagLevelDistance||e.graphData.nodes.length/(rr||1)*tW*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu","zin","zout"].includes(t.dagMode)){var Er=["lr","rl"].includes(t.dagMode)?"fx":["td","bu"].includes(t.dagMode)?"fy":"fz";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(Xr){return delete Xr[Er]})}if(["lr","rl","td","bu","zin","zout"].includes(e.dagMode)){var Hr=["rl","td","zout"].includes(e.dagMode),qn=function(or){return(Mn[or[e.nodeId]]-rr/2)*Hn*(Hr?-1:1)},Jr=["lr","rl"].includes(e.dagMode)?"fx":["td","bu"].includes(e.dagMode)?"fy":"fz";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(Xr){return Xr[Jr]=qn(Xr)})}e.d3ForceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?OQ(function(Xr){var or=Mn[Xr[e.nodeId]]||-1;return(e.dagMode==="radialin"?rr-or:or)*Hn}).strength(function(Xr){return e.dagNodeFilter(Xr)?1:0}):null)}else{var gi=aO.graph();e.graphData.nodes.forEach(function(Xr){gi.addNode(Xr[e.nodeId])}),e.graphData.links.forEach(function(Xr){gi.addLink(Xr.source,Xr.target)}),gn=aO.forcelayout(gi,K9({dimensions:e.numDimensions},e.ngraphPhysics)),gn.graph=gi}for(var Zi=0;Zi0&&e.d3ForceLayout.alpha()1&&arguments[1]!==void 0?arguments[1]:Object,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=function(r){function s(){var a;jF(this,s);for(var o=arguments.length,l=new Array(o),c=0;cf.start-A.start);let d=0;for(let f=1;f 0 + vec4 plane; + #ifdef ALPHA_TO_COVERAGE + float distanceToPlane, distanceGradient; + float clipOpacity = 1.0; + #pragma unroll_loop_start + for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + if ( clipOpacity == 0.0 ) discard; + } + #pragma unroll_loop_end + #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES + float unionClipOpacity = 1.0; + #pragma unroll_loop_start + for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; + distanceGradient = fwidth( distanceToPlane ) / 2.0; + unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); + } + #pragma unroll_loop_end + clipOpacity *= 1.0 - unionClipOpacity; + #endif + diffuseColor.a *= clipOpacity; + if ( diffuseColor.a == 0.0 ) discard; + #else + #pragma unroll_loop_start + for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; + } + #pragma unroll_loop_end + #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES + bool clipped = true; + #pragma unroll_loop_start + for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { + plane = clippingPlanes[ i ]; + clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; + } + #pragma unroll_loop_end + if ( clipped ) discard; + #endif + #endif +#endif`,_W=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; + uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; +#endif`,wW=`#if NUM_CLIPPING_PLANES > 0 + varying vec3 vClipPosition; +#endif`,EW=`#if NUM_CLIPPING_PLANES > 0 + vClipPosition = - mvPosition.xyz; +#endif`,SW=`#if defined( USE_COLOR_ALPHA ) + diffuseColor *= vColor; +#elif defined( USE_COLOR ) + diffuseColor.rgb *= vColor; +#endif`,CW=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) + varying vec3 vColor; +#endif`,MW=`#if defined( USE_COLOR_ALPHA ) + varying vec4 vColor; +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) + varying vec3 vColor; +#endif`,TW=`#if defined( USE_COLOR_ALPHA ) + vColor = vec4( 1.0 ); +#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) + vColor = vec3( 1.0 ); +#endif +#ifdef USE_COLOR + vColor *= color; +#endif +#ifdef USE_INSTANCING_COLOR + vColor.xyz *= instanceColor.xyz; +#endif +#ifdef USE_BATCHING_COLOR + vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); + vColor.xyz *= batchingColor.xyz; +#endif`,BW=`#define PI 3.141592653589793 +#define PI2 6.283185307179586 +#define PI_HALF 1.5707963267948966 +#define RECIPROCAL_PI 0.3183098861837907 +#define RECIPROCAL_PI2 0.15915494309189535 +#define EPSILON 1e-6 +#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +#define whiteComplement( a ) ( 1.0 - saturate( a ) ) +float pow2( const in float x ) { return x*x; } +vec3 pow2( const in vec3 x ) { return x*x; } +float pow3( const in float x ) { return x*x*x; } +float pow4( const in float x ) { float x2 = x*x; return x2*x2; } +float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } +float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } +highp float rand( const in 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, PI ); + return fract( sin( sn ) * c ); +} +#ifdef HIGH_PRECISION + float precisionSafeLength( vec3 v ) { return length( v ); } +#else + float precisionSafeLength( vec3 v ) { + float maxComponent = max3( abs( v ) ); + return length( v / maxComponent ) * maxComponent; + } +#endif +struct IncidentLight { + vec3 color; + vec3 direction; + bool visible; +}; +struct ReflectedLight { + vec3 directDiffuse; + vec3 directSpecular; + vec3 indirectDiffuse; + vec3 indirectSpecular; +}; +#ifdef USE_ALPHAHASH + varying vec3 vPosition; +#endif +vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); +} +vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { + return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); +} +bool isPerspectiveMatrix( mat4 m ) { + return m[ 2 ][ 3 ] == - 1.0; +} +vec2 equirectUv( in vec3 dir ) { + float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; + float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; + return vec2( u, v ); +} +vec3 BRDF_Lambert( const in vec3 diffuseColor ) { + return RECIPROCAL_PI * diffuseColor; +} +vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} +float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { + float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); + return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); +} // validated`,RW=`#ifdef ENVMAP_TYPE_CUBE_UV + #define cubeUV_minMipLevel 4.0 + #define cubeUV_minTileSize 16.0 + float getFace( vec3 direction ) { + vec3 absDirection = abs( direction ); + float face = - 1.0; + if ( absDirection.x > absDirection.z ) { + if ( absDirection.x > absDirection.y ) + face = direction.x > 0.0 ? 0.0 : 3.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } else { + if ( absDirection.z > absDirection.y ) + face = direction.z > 0.0 ? 2.0 : 5.0; + else + face = direction.y > 0.0 ? 1.0 : 4.0; + } + return face; + } + vec2 getUV( vec3 direction, float face ) { + vec2 uv; + if ( face == 0.0 ) { + uv = vec2( direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 1.0 ) { + uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); + } else if ( face == 2.0 ) { + uv = vec2( - direction.x, direction.y ) / abs( direction.z ); + } else if ( face == 3.0 ) { + uv = vec2( - direction.z, direction.y ) / abs( direction.x ); + } else if ( face == 4.0 ) { + uv = vec2( - direction.x, direction.z ) / abs( direction.y ); + } else { + uv = vec2( direction.x, direction.y ) / abs( direction.z ); + } + return 0.5 * ( uv + 1.0 ); + } + vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { + float face = getFace( direction ); + float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); + mipInt = max( mipInt, cubeUV_minMipLevel ); + float faceSize = exp2( mipInt ); + highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; + if ( face > 2.0 ) { + uv.y += faceSize; + face -= 3.0; + } + uv.x += face * faceSize; + uv.x += filterInt * 3.0 * cubeUV_minTileSize; + uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); + uv.x *= CUBEUV_TEXEL_WIDTH; + uv.y *= CUBEUV_TEXEL_HEIGHT; + #ifdef texture2DGradEXT + return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; + #else + return texture2D( envMap, uv ).rgb; + #endif + } + #define cubeUV_r0 1.0 + #define cubeUV_m0 - 2.0 + #define cubeUV_r1 0.8 + #define cubeUV_m1 - 1.0 + #define cubeUV_r4 0.4 + #define cubeUV_m4 2.0 + #define cubeUV_r5 0.305 + #define cubeUV_m5 3.0 + #define cubeUV_r6 0.21 + #define cubeUV_m6 4.0 + float roughnessToMip( float roughness ) { + float mip = 0.0; + if ( roughness >= cubeUV_r1 ) { + mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; + } else if ( roughness >= cubeUV_r4 ) { + mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; + } else if ( roughness >= cubeUV_r5 ) { + mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; + } else if ( roughness >= cubeUV_r6 ) { + mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; + } else { + mip = - 2.0 * log2( 1.16 * roughness ); } + return mip; + } + vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { + float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); + float mipF = fract( mip ); + float mipInt = floor( mip ); + vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); + if ( mipF == 0.0 ) { + return vec4( color0, 1.0 ); + } else { + vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); + return vec4( mix( color0, color1, mipF ), 1.0 ); + } + } +#endif`,IW=`vec3 transformedNormal = objectNormal; +#ifdef USE_TANGENT + vec3 transformedTangent = objectTangent; +#endif +#ifdef USE_BATCHING + mat3 bm = mat3( batchingMatrix ); + transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); + transformedNormal = bm * transformedNormal; + #ifdef USE_TANGENT + transformedTangent = bm * transformedTangent; + #endif +#endif +#ifdef USE_INSTANCING + mat3 im = mat3( instanceMatrix ); + transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); + transformedNormal = im * transformedNormal; + #ifdef USE_TANGENT + transformedTangent = im * transformedTangent; + #endif +#endif +transformedNormal = normalMatrix * transformedNormal; +#ifdef FLIP_SIDED + transformedNormal = - transformedNormal; +#endif +#ifdef USE_TANGENT + transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; + #ifdef FLIP_SIDED + transformedTangent = - transformedTangent; + #endif +#endif`,NW=`#ifdef USE_DISPLACEMENTMAP + uniform sampler2D displacementMap; + uniform float displacementScale; + uniform float displacementBias; +#endif`,PW=`#ifdef USE_DISPLACEMENTMAP + transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); +#endif`,FW=`#ifdef USE_EMISSIVEMAP + vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); + #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE + emissiveColor = sRGBTransferEOTF( emissiveColor ); + #endif + totalEmissiveRadiance *= emissiveColor.rgb; +#endif`,OW=`#ifdef USE_EMISSIVEMAP + uniform sampler2D emissiveMap; +#endif`,LW="gl_FragColor = linearToOutputTexel( gl_FragColor );",DW=`vec4 LinearTransferOETF( in vec4 value ) { + return value; +} +vec4 sRGBTransferEOTF( 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.a ); +} +vec4 sRGBTransferOETF( 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.a ); +}`,UW=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vec3 cameraToFrag; + if ( isOrthographic ) { + cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToFrag = normalize( vWorldPosition - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vec3 reflectVec = reflect( cameraToFrag, worldNormal ); + #else + vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); + #endif + #else + vec3 reflectVec = vReflect; + #endif + #ifdef ENVMAP_TYPE_CUBE + vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); + #else + vec4 envColor = vec4( 0.0 ); + #endif + #ifdef ENVMAP_BLENDING_MULTIPLY + outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_MIX ) + outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); + #elif defined( ENVMAP_BLENDING_ADD ) + outgoingLight += envColor.xyz * specularStrength * reflectivity; + #endif +#endif`,kW=`#ifdef USE_ENVMAP + uniform float envMapIntensity; + uniform float flipEnvMap; + uniform mat3 envMapRotation; + #ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; + #else + uniform sampler2D envMap; + #endif +#endif`,zW=`#ifdef USE_ENVMAP + uniform float reflectivity; + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + varying vec3 vWorldPosition; + uniform float refractionRatio; + #else + varying vec3 vReflect; + #endif +#endif`,VW=`#ifdef USE_ENVMAP + #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) + #define ENV_WORLDPOS + #endif + #ifdef ENV_WORLDPOS + + varying vec3 vWorldPosition; + #else + varying vec3 vReflect; + uniform float refractionRatio; + #endif +#endif`,HW=`#ifdef USE_ENVMAP + #ifdef ENV_WORLDPOS + vWorldPosition = worldPosition.xyz; + #else + vec3 cameraToVertex; + if ( isOrthographic ) { + cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); + } else { + cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); + } + vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + #ifdef ENVMAP_MODE_REFLECTION + vReflect = reflect( cameraToVertex, worldNormal ); + #else + vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); + #endif + #endif +#endif`,GW=`#ifdef USE_FOG + vFogDepth = - mvPosition.z; +#endif`,QW=`#ifdef USE_FOG + varying float vFogDepth; +#endif`,WW=`#ifdef USE_FOG + #ifdef FOG_EXP2 + float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); + #else + float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); + #endif + gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); +#endif`,ZW=`#ifdef USE_FOG + uniform vec3 fogColor; + varying float vFogDepth; + #ifdef FOG_EXP2 + uniform float fogDensity; + #else + uniform float fogNear; + uniform float fogFar; + #endif +#endif`,$W=`#ifdef USE_GRADIENTMAP + uniform sampler2D gradientMap; +#endif +vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { + float dotNL = dot( normal, lightDirection ); + vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); + #ifdef USE_GRADIENTMAP + return vec3( texture2D( gradientMap, coord ).r ); + #else + vec2 fw = fwidth( coord ) * 0.5; + return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); + #endif +}`,jW=`#ifdef USE_LIGHTMAP + uniform sampler2D lightMap; + uniform float lightMapIntensity; +#endif`,KW=`LambertMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularStrength = specularStrength;`,XW=`varying vec3 vViewPosition; +struct LambertMaterial { + vec3 diffuseColor; + float specularStrength; +}; +void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Lambert +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,YW=`uniform bool receiveShadow; +uniform vec3 ambientLightColor; +#if defined( USE_LIGHT_PROBES ) + uniform vec3 lightProbe[ 9 ]; +#endif +vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { + float x = normal.x, y = normal.y, z = normal.z; + vec3 result = shCoefficients[ 0 ] * 0.886227; + result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; + result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; + result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; + result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; + result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; + result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); + result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; + result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); + return result; +} +vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); + return irradiance; +} +vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { + vec3 irradiance = ambientLightColor; + return irradiance; +} +float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { + float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); + if ( cutoffDistance > 0.0 ) { + distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); + } + return distanceFalloff; +} +float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { + return smoothstep( coneCosine, penumbraCosine, angleCosine ); +} +#if NUM_DIR_LIGHTS > 0 + struct DirectionalLight { + vec3 direction; + vec3 color; + }; + uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; + void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { + light.color = directionalLight.color; + light.direction = directionalLight.direction; + light.visible = true; + } +#endif +#if NUM_POINT_LIGHTS > 0 + struct PointLight { + vec3 position; + vec3 color; + float distance; + float decay; + }; + uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; + void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { + vec3 lVector = pointLight.position - geometryPosition; + light.direction = normalize( lVector ); + float lightDistance = length( lVector ); + light.color = pointLight.color; + light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } +#endif +#if NUM_SPOT_LIGHTS > 0 + struct SpotLight { + vec3 position; + vec3 direction; + vec3 color; + float distance; + float decay; + float coneCos; + float penumbraCos; + }; + uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; + void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { + vec3 lVector = spotLight.position - geometryPosition; + light.direction = normalize( lVector ); + float angleCos = dot( light.direction, spotLight.direction ); + float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); + if ( spotAttenuation > 0.0 ) { + float lightDistance = length( lVector ); + light.color = spotLight.color * spotAttenuation; + light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); + light.visible = ( light.color != vec3( 0.0 ) ); + } else { + light.color = vec3( 0.0 ); + light.visible = false; + } + } +#endif +#if NUM_RECT_AREA_LIGHTS > 0 + struct RectAreaLight { + vec3 color; + vec3 position; + vec3 halfWidth; + vec3 halfHeight; + }; + uniform sampler2D ltc_1; uniform sampler2D ltc_2; + uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; +#endif +#if NUM_HEMI_LIGHTS > 0 + struct HemisphereLight { + vec3 direction; + vec3 skyColor; + vec3 groundColor; + }; + uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; + vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { + float dotNL = dot( normal, hemiLight.direction ); + float hemiDiffuseWeight = 0.5 * dotNL + 0.5; + vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); + return irradiance; + } +#endif`,qW=`#ifdef USE_ENVMAP + vec3 getIBLIrradiance( const in vec3 normal ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); + return PI * envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 reflectVec = reflect( - viewDir, normal ); + reflectVec = normalize( mix( reflectVec, normal, pow4( roughness ) ) ); + reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); + vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); + return envMapColor.rgb * envMapIntensity; + #else + return vec3( 0.0 ); + #endif + } + #ifdef USE_ANISOTROPY + vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { + #ifdef ENVMAP_TYPE_CUBE_UV + vec3 bentNormal = cross( bitangent, viewDir ); + bentNormal = normalize( cross( bentNormal, bitangent ) ); + bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); + return getIBLRadiance( viewDir, bentNormal, roughness ); + #else + return vec3( 0.0 ); + #endif + } + #endif +#endif`,JW=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,e7=`varying vec3 vViewPosition; +struct ToonMaterial { + vec3 diffuseColor; +}; +void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_Toon +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,t7=`BlinnPhongMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.specularColor = specular; +material.specularShininess = shininess; +material.specularStrength = specularStrength;`,n7=`varying vec3 vViewPosition; +struct BlinnPhongMaterial { + vec3 diffuseColor; + vec3 specularColor; + float specularShininess; + float specularStrength; +}; +void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); + reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; +} +void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { + reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); +} +#define RE_Direct RE_Direct_BlinnPhong +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,r7=`PhysicalMaterial material; +material.diffuseColor = diffuseColor.rgb; +material.diffuseContribution = diffuseColor.rgb * ( 1.0 - metalnessFactor ); +material.metalness = metalnessFactor; +vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); +float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); +material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; +material.roughness = min( material.roughness, 1.0 ); +#ifdef IOR + material.ior = ior; + #ifdef USE_SPECULAR + float specularIntensityFactor = specularIntensity; + vec3 specularColorFactor = specularColor; + #ifdef USE_SPECULAR_COLORMAP + specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; + #endif + material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); + #else + float specularIntensityFactor = 1.0; + vec3 specularColorFactor = vec3( 1.0 ); + material.specularF90 = 1.0; + #endif + material.specularColor = min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor; + material.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor ); +#else + material.specularColor = vec3( 0.04 ); + material.specularColorBlended = mix( material.specularColor, diffuseColor.rgb, metalnessFactor ); + material.specularF90 = 1.0; +#endif +#ifdef USE_CLEARCOAT + material.clearcoat = clearcoat; + material.clearcoatRoughness = clearcoatRoughness; + material.clearcoatF0 = vec3( 0.04 ); + material.clearcoatF90 = 1.0; + #ifdef USE_CLEARCOATMAP + material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; + #endif + #ifdef USE_CLEARCOAT_ROUGHNESSMAP + material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; + #endif + material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); + material.clearcoatRoughness += geometryRoughness; + material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); +#endif +#ifdef USE_DISPERSION + material.dispersion = dispersion; +#endif +#ifdef USE_IRIDESCENCE + material.iridescence = iridescence; + material.iridescenceIOR = iridescenceIOR; + #ifdef USE_IRIDESCENCEMAP + material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; + #endif + #ifdef USE_IRIDESCENCE_THICKNESSMAP + material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; + #else + material.iridescenceThickness = iridescenceThicknessMaximum; + #endif +#endif +#ifdef USE_SHEEN + material.sheenColor = sheenColor; + #ifdef USE_SHEEN_COLORMAP + material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; + #endif + material.sheenRoughness = clamp( sheenRoughness, 0.0001, 1.0 ); + #ifdef USE_SHEEN_ROUGHNESSMAP + material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; + #endif +#endif +#ifdef USE_ANISOTROPY + #ifdef USE_ANISOTROPYMAP + mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); + vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; + vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; + #else + vec2 anisotropyV = anisotropyVector; + #endif + material.anisotropy = length( anisotropyV ); + if( material.anisotropy == 0.0 ) { + anisotropyV = vec2( 1.0, 0.0 ); + } else { + anisotropyV /= material.anisotropy; + material.anisotropy = saturate( material.anisotropy ); + } + material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); + material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; + material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; +#endif`,i7=`uniform sampler2D dfgLUT; +struct PhysicalMaterial { + vec3 diffuseColor; + vec3 diffuseContribution; + vec3 specularColor; + vec3 specularColorBlended; + float roughness; + float metalness; + float specularF90; + float dispersion; + #ifdef USE_CLEARCOAT + float clearcoat; + float clearcoatRoughness; + vec3 clearcoatF0; + float clearcoatF90; + #endif + #ifdef USE_IRIDESCENCE + float iridescence; + float iridescenceIOR; + float iridescenceThickness; + vec3 iridescenceFresnel; + vec3 iridescenceF0; + vec3 iridescenceFresnelDielectric; + vec3 iridescenceFresnelMetallic; + #endif + #ifdef USE_SHEEN + vec3 sheenColor; + float sheenRoughness; + #endif + #ifdef IOR + float ior; + #endif + #ifdef USE_TRANSMISSION + float transmission; + float transmissionAlpha; + float thickness; + float attenuationDistance; + vec3 attenuationColor; + #endif + #ifdef USE_ANISOTROPY + float anisotropy; + float alphaT; + vec3 anisotropyT; + vec3 anisotropyB; + #endif +}; +vec3 clearcoatSpecularDirect = vec3( 0.0 ); +vec3 clearcoatSpecularIndirect = vec3( 0.0 ); +vec3 sheenSpecularDirect = vec3( 0.0 ); +vec3 sheenSpecularIndirect = vec3(0.0 ); +vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { + float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); + float x2 = x * x; + float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); + return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); +} +float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { + float a2 = pow2( alpha ); + float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); + float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); + return 0.5 / max( gv + gl, EPSILON ); +} +float D_GGX( const in float alpha, const in float dotNH ) { + float a2 = pow2( alpha ); + float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; + return RECIPROCAL_PI * a2 / pow2( denom ); +} +#ifdef USE_ANISOTROPY + float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { + float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); + float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); + float v = 0.5 / ( gv + gl ); + return v; + } + float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { + float a2 = alphaT * alphaB; + highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); + highp float v2 = dot( v, v ); + float w2 = a2 / v2; + return RECIPROCAL_PI * a2 * pow2 ( w2 ); + } +#endif +#ifdef USE_CLEARCOAT + vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { + vec3 f0 = material.clearcoatF0; + float f90 = material.clearcoatF90; + float roughness = material.clearcoatRoughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + return F * ( V * D ); + } +#endif +vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 f0 = material.specularColorBlended; + float f90 = material.specularF90; + float roughness = material.roughness; + float alpha = pow2( roughness ); + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float dotVH = saturate( dot( viewDir, halfDir ) ); + vec3 F = F_Schlick( f0, f90, dotVH ); + #ifdef USE_IRIDESCENCE + F = mix( F, material.iridescenceFresnel, material.iridescence ); + #endif + #ifdef USE_ANISOTROPY + float dotTL = dot( material.anisotropyT, lightDir ); + float dotTV = dot( material.anisotropyT, viewDir ); + float dotTH = dot( material.anisotropyT, halfDir ); + float dotBL = dot( material.anisotropyB, lightDir ); + float dotBV = dot( material.anisotropyB, viewDir ); + float dotBH = dot( material.anisotropyB, halfDir ); + float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); + float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); + #else + float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); + float D = D_GGX( alpha, dotNH ); + #endif + return F * ( V * D ); +} +vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { + const float LUT_SIZE = 64.0; + const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; + const float LUT_BIAS = 0.5 / LUT_SIZE; + float dotNV = saturate( dot( N, V ) ); + vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); + uv = uv * LUT_SCALE + LUT_BIAS; + return uv; +} +float LTC_ClippedSphereFormFactor( const in vec3 f ) { + float l = length( f ); + return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); +} +vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { + float x = dot( v1, v2 ); + float y = abs( x ); + float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; + float b = 3.4175940 + ( 4.1616724 + y ) * y; + float v = a / b; + float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; + return cross( v1, v2 ) * theta_sintheta; +} +vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { + vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; + vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; + vec3 lightNormal = cross( v1, v2 ); + if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); + vec3 T1, T2; + T1 = normalize( V - N * dot( V, N ) ); + T2 = - cross( N, T1 ); + mat3 mat = mInv * transpose( mat3( T1, T2, N ) ); + vec3 coords[ 4 ]; + coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); + coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); + coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); + coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); + coords[ 0 ] = normalize( coords[ 0 ] ); + coords[ 1 ] = normalize( coords[ 1 ] ); + coords[ 2 ] = normalize( coords[ 2 ] ); + coords[ 3 ] = normalize( coords[ 3 ] ); + vec3 vectorFormFactor = vec3( 0.0 ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); + vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); + float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); + return vec3( result ); +} +#if defined( USE_SHEEN ) +float D_Charlie( float roughness, float dotNH ) { + float alpha = pow2( roughness ); + float invAlpha = 1.0 / alpha; + float cos2h = dotNH * dotNH; + float sin2h = max( 1.0 - cos2h, 0.0078125 ); + return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); +} +float V_Neubelt( float dotNV, float dotNL ) { + return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); +} +vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { + vec3 halfDir = normalize( lightDir + viewDir ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + float dotNH = saturate( dot( normal, halfDir ) ); + float D = D_Charlie( sheenRoughness, dotNH ); + float V = V_Neubelt( dotNV, dotNL ); + return sheenColor * ( D * V ); +} +#endif +float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + float r2 = roughness * roughness; + float rInv = 1.0 / ( roughness + 0.1 ); + float a = -1.9362 + 1.0678 * roughness + 0.4573 * r2 - 0.8469 * rInv; + float b = -0.6014 + 0.5538 * roughness - 0.4670 * r2 - 0.1255 * rInv; + float DG = exp( a * dotNV + b ); + return saturate( DG ); +} +vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { + float dotNV = saturate( dot( normal, viewDir ) ); + vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg; + return specularColor * fab.x + specularF90 * fab.y; +} +#ifdef USE_IRIDESCENCE +void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#else +void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { +#endif + float dotNV = saturate( dot( normal, viewDir ) ); + vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg; + #ifdef USE_IRIDESCENCE + vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); + #else + vec3 Fr = specularColor; + #endif + vec3 FssEss = Fr * fab.x + specularF90 * fab.y; + float Ess = fab.x + fab.y; + float Ems = 1.0 - Ess; + vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); + singleScatter += FssEss; + multiScatter += Fms * Ems; +} +vec3 BRDF_GGX_Multiscatter( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { + vec3 singleScatter = BRDF_GGX( lightDir, viewDir, normal, material ); + float dotNL = saturate( dot( normal, lightDir ) ); + float dotNV = saturate( dot( normal, viewDir ) ); + vec2 dfgV = texture2D( dfgLUT, vec2( material.roughness, dotNV ) ).rg; + vec2 dfgL = texture2D( dfgLUT, vec2( material.roughness, dotNL ) ).rg; + vec3 FssEss_V = material.specularColorBlended * dfgV.x + material.specularF90 * dfgV.y; + vec3 FssEss_L = material.specularColorBlended * dfgL.x + material.specularF90 * dfgL.y; + float Ess_V = dfgV.x + dfgV.y; + float Ess_L = dfgL.x + dfgL.y; + float Ems_V = 1.0 - Ess_V; + float Ems_L = 1.0 - Ess_L; + vec3 Favg = material.specularColorBlended + ( 1.0 - material.specularColorBlended ) * 0.047619; + vec3 Fms = FssEss_V * FssEss_L * Favg / ( 1.0 - Ems_V * Ems_L * Favg + EPSILON ); + float compensationFactor = Ems_V * Ems_L; + vec3 multiScatter = Fms * compensationFactor; + return singleScatter + multiScatter; +} +#if NUM_RECT_AREA_LIGHTS > 0 + void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 normal = geometryNormal; + vec3 viewDir = geometryViewDir; + vec3 position = geometryPosition; + vec3 lightPos = rectAreaLight.position; + vec3 halfWidth = rectAreaLight.halfWidth; + vec3 halfHeight = rectAreaLight.halfHeight; + vec3 lightColor = rectAreaLight.color; + float roughness = material.roughness; + vec3 rectCoords[ 4 ]; + rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; + rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; + rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; + vec2 uv = LTC_Uv( normal, viewDir, roughness ); + vec4 t1 = texture2D( ltc_1, uv ); + vec4 t2 = texture2D( ltc_2, uv ); + mat3 mInv = mat3( + vec3( t1.x, 0, t1.y ), + vec3( 0, 1, 0 ), + vec3( t1.z, 0, t1.w ) + ); + vec3 fresnel = ( material.specularColorBlended * t2.x + ( vec3( 1.0 ) - material.specularColorBlended ) * t2.y ); + reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); + reflectedLight.directDiffuse += lightColor * material.diffuseContribution * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); + } +#endif +void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); + vec3 irradiance = dotNL * directLight.color; + #ifdef USE_CLEARCOAT + float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); + vec3 ccIrradiance = dotNLcc * directLight.color; + clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); + #endif + #ifdef USE_SHEEN + + sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); + + float sheenAlbedoV = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); + float sheenAlbedoL = IBLSheenBRDF( geometryNormal, directLight.direction, material.sheenRoughness ); + + float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * max( sheenAlbedoV, sheenAlbedoL ); + + irradiance *= sheenEnergyComp; + + #endif + reflectedLight.directSpecular += irradiance * BRDF_GGX_Multiscatter( directLight.direction, geometryViewDir, geometryNormal, material ); + reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseContribution ); +} +void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { + vec3 diffuse = irradiance * BRDF_Lambert( material.diffuseContribution ); + #ifdef USE_SHEEN + float sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); + float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo; + diffuse *= sheenEnergyComp; + #endif + reflectedLight.indirectDiffuse += diffuse; +} +void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { + #ifdef USE_CLEARCOAT + clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); + #endif + #ifdef USE_SHEEN + sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ) * RECIPROCAL_PI; + #endif + vec3 singleScatteringDielectric = vec3( 0.0 ); + vec3 multiScatteringDielectric = vec3( 0.0 ); + vec3 singleScatteringMetallic = vec3( 0.0 ); + vec3 multiScatteringMetallic = vec3( 0.0 ); + #ifdef USE_IRIDESCENCE + computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnelDielectric, material.roughness, singleScatteringDielectric, multiScatteringDielectric ); + computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.iridescence, material.iridescenceFresnelMetallic, material.roughness, singleScatteringMetallic, multiScatteringMetallic ); + #else + computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScatteringDielectric, multiScatteringDielectric ); + computeMultiscattering( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.roughness, singleScatteringMetallic, multiScatteringMetallic ); + #endif + vec3 singleScattering = mix( singleScatteringDielectric, singleScatteringMetallic, material.metalness ); + vec3 multiScattering = mix( multiScatteringDielectric, multiScatteringMetallic, material.metalness ); + vec3 totalScatteringDielectric = singleScatteringDielectric + multiScatteringDielectric; + vec3 diffuse = material.diffuseContribution * ( 1.0 - totalScatteringDielectric ); + vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; + vec3 indirectSpecular = radiance * singleScattering; + indirectSpecular += multiScattering * cosineWeightedIrradiance; + vec3 indirectDiffuse = diffuse * cosineWeightedIrradiance; + #ifdef USE_SHEEN + float sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); + float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo; + indirectSpecular *= sheenEnergyComp; + indirectDiffuse *= sheenEnergyComp; + #endif + reflectedLight.indirectSpecular += indirectSpecular; + reflectedLight.indirectDiffuse += indirectDiffuse; +} +#define RE_Direct RE_Direct_Physical +#define RE_Direct_RectArea RE_Direct_RectArea_Physical +#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical +#define RE_IndirectSpecular RE_IndirectSpecular_Physical +float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { + return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); +}`,s7=` +vec3 geometryPosition = - vViewPosition; +vec3 geometryNormal = normal; +vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); +vec3 geometryClearcoatNormal = vec3( 0.0 ); +#ifdef USE_CLEARCOAT + geometryClearcoatNormal = clearcoatNormal; +#endif +#ifdef USE_IRIDESCENCE + float dotNVi = saturate( dot( normal, geometryViewDir ) ); + if ( material.iridescenceThickness == 0.0 ) { + material.iridescence = 0.0; + } else { + material.iridescence = saturate( material.iridescence ); + } + if ( material.iridescence > 0.0 ) { + material.iridescenceFresnelDielectric = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); + material.iridescenceFresnelMetallic = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.diffuseColor ); + material.iridescenceFresnel = mix( material.iridescenceFresnelDielectric, material.iridescenceFresnelMetallic, material.metalness ); + material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); + } +#endif +IncidentLight directLight; +#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) + PointLight pointLight; + #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 + PointLightShadow pointLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { + pointLight = pointLights[ i ]; + getPointLightInfo( pointLight, geometryPosition, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) ) + pointLightShadow = pointLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; + #endif + RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) + SpotLight spotLight; + vec4 spotColor; + vec3 spotLightCoord; + bool inSpotLightMap; + #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { + spotLight = spotLights[ i ]; + getSpotLightInfo( spotLight, geometryPosition, directLight ); + #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX + #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS + #else + #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) + #endif + #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) + spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; + inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); + spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); + directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; + #endif + #undef SPOT_LIGHT_MAP_INDEX + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + spotLightShadow = spotLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) + DirectionalLight directionalLight; + #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLightShadow; + #endif + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { + directionalLight = directionalLights[ i ]; + getDirectionalLightInfo( directionalLight, directLight ); + #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) + directionalLightShadow = directionalLightShadows[ i ]; + directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + #endif + RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) + RectAreaLight rectAreaLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { + rectAreaLight = rectAreaLights[ i ]; + RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); + } + #pragma unroll_loop_end +#endif +#if defined( RE_IndirectDiffuse ) + vec3 iblIrradiance = vec3( 0.0 ); + vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); + #if defined( USE_LIGHT_PROBES ) + irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); + #endif + #if ( NUM_HEMI_LIGHTS > 0 ) + #pragma unroll_loop_start + for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { + irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); + } + #pragma unroll_loop_end + #endif +#endif +#if defined( RE_IndirectSpecular ) + vec3 radiance = vec3( 0.0 ); + vec3 clearcoatRadiance = vec3( 0.0 ); +#endif`,a7=`#if defined( RE_IndirectDiffuse ) + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; + irradiance += lightMapIrradiance; + #endif + #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) + iblIrradiance += getIBLIrradiance( geometryNormal ); + #endif +#endif +#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) + #ifdef USE_ANISOTROPY + radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); + #else + radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); + #endif + #ifdef USE_CLEARCOAT + clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); + #endif +#endif`,o7=`#if defined( RE_IndirectDiffuse ) + RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); +#endif +#if defined( RE_IndirectSpecular ) + RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); +#endif`,l7=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) + gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; +#endif`,c7=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) + uniform float logDepthBufFC; + varying float vFragDepth; + varying float vIsPerspective; +#endif`,u7=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER + varying float vFragDepth; + varying float vIsPerspective; +#endif`,h7=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER + vFragDepth = 1.0 + gl_Position.w; + vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); +#endif`,d7=`#ifdef USE_MAP + vec4 sampledDiffuseColor = texture2D( map, vMapUv ); + #ifdef DECODE_VIDEO_TEXTURE + sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); + #endif + diffuseColor *= sampledDiffuseColor; +#endif`,f7=`#ifdef USE_MAP + uniform sampler2D map; +#endif`,A7=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + #if defined( USE_POINTS_UV ) + vec2 uv = vUv; + #else + vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; + #endif +#endif +#ifdef USE_MAP + diffuseColor *= texture2D( map, uv ); +#endif +#ifdef USE_ALPHAMAP + diffuseColor.a *= texture2D( alphaMap, uv ).g; +#endif`,p7=`#if defined( USE_POINTS_UV ) + varying vec2 vUv; +#else + #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) + uniform mat3 uvTransform; + #endif +#endif +#ifdef USE_MAP + uniform sampler2D map; +#endif +#ifdef USE_ALPHAMAP + uniform sampler2D alphaMap; +#endif`,g7=`float metalnessFactor = metalness; +#ifdef USE_METALNESSMAP + vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); + metalnessFactor *= texelMetalness.b; +#endif`,m7=`#ifdef USE_METALNESSMAP + uniform sampler2D metalnessMap; +#endif`,v7=`#ifdef USE_INSTANCING_MORPH + float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; + } +#endif`,y7=`#if defined( USE_MORPHCOLORS ) + vColor *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + #if defined( USE_COLOR_ALPHA ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; + #elif defined( USE_COLOR ) + if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; + #endif + } +#endif`,x7=`#ifdef USE_MORPHNORMALS + objectNormal *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; + } +#endif`,b7=`#ifdef USE_MORPHTARGETS + #ifndef USE_INSTANCING_MORPH + uniform float morphTargetBaseInfluence; + uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; + #endif + uniform sampler2DArray morphTargetsTexture; + uniform ivec2 morphTargetsTextureSize; + vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { + int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; + int y = texelIndex / morphTargetsTextureSize.x; + int x = texelIndex - y * morphTargetsTextureSize.x; + ivec3 morphUV = ivec3( x, y, morphTargetIndex ); + return texelFetch( morphTargetsTexture, morphUV, 0 ); + } +#endif`,_7=`#ifdef USE_MORPHTARGETS + transformed *= morphTargetBaseInfluence; + for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { + if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; + } +#endif`,w7=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#ifdef FLAT_SHADED + vec3 fdx = dFdx( vViewPosition ); + vec3 fdy = dFdy( vViewPosition ); + vec3 normal = normalize( cross( fdx, fdy ) ); +#else + vec3 normal = normalize( vNormal ); + #ifdef DOUBLE_SIDED + normal *= faceDirection; + #endif +#endif +#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) + #ifdef USE_TANGENT + mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn = getTangentFrame( - vViewPosition, normal, + #if defined( USE_NORMALMAP ) + vNormalMapUv + #elif defined( USE_CLEARCOAT_NORMALMAP ) + vClearcoatNormalMapUv + #else + vUv + #endif + ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn[0] *= faceDirection; + tbn[1] *= faceDirection; + #endif +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + #ifdef USE_TANGENT + mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); + #else + mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); + #endif + #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) + tbn2[0] *= faceDirection; + tbn2[1] *= faceDirection; + #endif +#endif +vec3 nonPerturbedNormal = normal;`,E7=`#ifdef USE_NORMALMAP_OBJECTSPACE + normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + #ifdef FLIP_SIDED + normal = - normal; + #endif + #ifdef DOUBLE_SIDED + normal = normal * faceDirection; + #endif + normal = normalize( normalMatrix * normal ); +#elif defined( USE_NORMALMAP_TANGENTSPACE ) + vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; + mapN.xy *= normalScale; + normal = normalize( tbn * mapN ); +#elif defined( USE_BUMPMAP ) + normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); +#endif`,S7=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,C7=`#ifndef FLAT_SHADED + varying vec3 vNormal; + #ifdef USE_TANGENT + varying vec3 vTangent; + varying vec3 vBitangent; + #endif +#endif`,M7=`#ifndef FLAT_SHADED + vNormal = normalize( transformedNormal ); + #ifdef USE_TANGENT + vTangent = normalize( transformedTangent ); + vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); + #endif +#endif`,T7=`#ifdef USE_NORMALMAP + uniform sampler2D normalMap; + uniform vec2 normalScale; +#endif +#ifdef USE_NORMALMAP_OBJECTSPACE + uniform mat3 normalMatrix; +#endif +#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) + mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { + vec3 q0 = dFdx( eye_pos.xyz ); + vec3 q1 = dFdy( eye_pos.xyz ); + vec2 st0 = dFdx( uv.st ); + vec2 st1 = dFdy( uv.st ); + vec3 N = surf_norm; + vec3 q1perp = cross( q1, N ); + vec3 q0perp = cross( N, q0 ); + vec3 T = q1perp * st0.x + q0perp * st1.x; + vec3 B = q1perp * st0.y + q0perp * st1.y; + float det = max( dot( T, T ), dot( B, B ) ); + float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); + return mat3( T * scale, B * scale, N ); + } +#endif`,B7=`#ifdef USE_CLEARCOAT + vec3 clearcoatNormal = nonPerturbedNormal; +#endif`,R7=`#ifdef USE_CLEARCOAT_NORMALMAP + vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; + clearcoatMapN.xy *= clearcoatNormalScale; + clearcoatNormal = normalize( tbn2 * clearcoatMapN ); +#endif`,I7=`#ifdef USE_CLEARCOATMAP + uniform sampler2D clearcoatMap; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform sampler2D clearcoatNormalMap; + uniform vec2 clearcoatNormalScale; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform sampler2D clearcoatRoughnessMap; +#endif`,N7=`#ifdef USE_IRIDESCENCEMAP + uniform sampler2D iridescenceMap; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform sampler2D iridescenceThicknessMap; +#endif`,P7=`#ifdef OPAQUE +diffuseColor.a = 1.0; +#endif +#ifdef USE_TRANSMISSION +diffuseColor.a *= material.transmissionAlpha; +#endif +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,F7=`vec3 packNormalToRGB( const in vec3 normal ) { + return normalize( normal ) * 0.5 + 0.5; +} +vec3 unpackRGBToNormal( const in vec3 rgb ) { + return 2.0 * rgb.xyz - 1.0; +} +const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; +const float Inv255 = 1. / 255.; +const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); +const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); +const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); +const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); +vec4 packDepthToRGBA( const in float v ) { + if( v <= 0.0 ) + return vec4( 0., 0., 0., 0. ); + if( v >= 1.0 ) + return vec4( 1., 1., 1., 1. ); + float vuf; + float af = modf( v * PackFactors.a, vuf ); + float bf = modf( vuf * ShiftRight8, vuf ); + float gf = modf( vuf * ShiftRight8, vuf ); + return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); +} +vec3 packDepthToRGB( const in float v ) { + if( v <= 0.0 ) + return vec3( 0., 0., 0. ); + if( v >= 1.0 ) + return vec3( 1., 1., 1. ); + float vuf; + float bf = modf( v * PackFactors.b, vuf ); + float gf = modf( vuf * ShiftRight8, vuf ); + return vec3( vuf * Inv255, gf * PackUpscale, bf ); +} +vec2 packDepthToRG( const in float v ) { + if( v <= 0.0 ) + return vec2( 0., 0. ); + if( v >= 1.0 ) + return vec2( 1., 1. ); + float vuf; + float gf = modf( v * 256., vuf ); + return vec2( vuf * Inv255, gf ); +} +float unpackRGBAToDepth( const in vec4 v ) { + return dot( v, UnpackFactors4 ); +} +float unpackRGBToDepth( const in vec3 v ) { + return dot( v, UnpackFactors3 ); +} +float unpackRGToDepth( const in vec2 v ) { + return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; +} +vec4 pack2HalfToRGBA( const in vec2 v ) { + vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); + return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); +} +vec2 unpackRGBATo2Half( const in vec4 v ) { + return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); +} +float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { + return ( viewZ + near ) / ( near - far ); +} +float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { + return depth * ( near - far ) - near; +} +float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { + return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); +} +float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { + return ( near * far ) / ( ( far - near ) * depth - far ); +}`,O7=`#ifdef PREMULTIPLIED_ALPHA + gl_FragColor.rgb *= gl_FragColor.a; +#endif`,L7=`vec4 mvPosition = vec4( transformed, 1.0 ); +#ifdef USE_BATCHING + mvPosition = batchingMatrix * mvPosition; +#endif +#ifdef USE_INSTANCING + mvPosition = instanceMatrix * mvPosition; +#endif +mvPosition = modelViewMatrix * mvPosition; +gl_Position = projectionMatrix * mvPosition;`,D7=`#ifdef DITHERING + gl_FragColor.rgb = dithering( gl_FragColor.rgb ); +#endif`,U7=`#ifdef DITHERING + vec3 dithering( vec3 color ) { + float grid_position = rand( gl_FragCoord.xy ); + vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); + dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); + return color + dither_shift_RGB; + } +#endif`,k7=`float roughnessFactor = roughness; +#ifdef USE_ROUGHNESSMAP + vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); + roughnessFactor *= texelRoughness.g; +#endif`,z7=`#ifdef USE_ROUGHNESSMAP + uniform sampler2D roughnessMap; +#endif`,V7=`#if NUM_SPOT_LIGHT_COORDS > 0 + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#if NUM_SPOT_LIGHT_MAPS > 0 + uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + #if defined( SHADOWMAP_TYPE_PCF ) + uniform sampler2DShadow directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + #else + uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + #if defined( SHADOWMAP_TYPE_PCF ) + uniform sampler2DShadow spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + #else + uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + struct SpotLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #if defined( SHADOWMAP_TYPE_PCF ) + uniform samplerCubeShadow pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + #elif defined( SHADOWMAP_TYPE_BASIC ) + uniform samplerCube pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif + #if defined( SHADOWMAP_TYPE_PCF ) + float interleavedGradientNoise( vec2 position ) { + return fract( 52.9829189 * fract( dot( position, vec2( 0.06711056, 0.00583715 ) ) ) ); + } + vec2 vogelDiskSample( int sampleIndex, int samplesCount, float phi ) { + const float goldenAngle = 2.399963229728653; + float r = sqrt( ( float( sampleIndex ) + 0.5 ) / float( samplesCount ) ); + float theta = float( sampleIndex ) * goldenAngle + phi; + return vec2( cos( theta ), sin( theta ) ) * r; + } + #endif + #if defined( SHADOWMAP_TYPE_PCF ) + float getShadow( sampler2DShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + vec2 texelSize = vec2( 1.0 ) / shadowMapSize; + float radius = shadowRadius * texelSize.x; + float phi = interleavedGradientNoise( gl_FragCoord.xy ) * 6.28318530718; + shadow = ( + texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 0, 5, phi ) * radius, shadowCoord.z ) ) + + texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 1, 5, phi ) * radius, shadowCoord.z ) ) + + texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 2, 5, phi ) * radius, shadowCoord.z ) ) + + texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 3, 5, phi ) * radius, shadowCoord.z ) ) + + texture( shadowMap, vec3( shadowCoord.xy + vogelDiskSample( 4, 5, phi ) * radius, shadowCoord.z ) ) + ) * 0.2; + } + return mix( 1.0, shadow, shadowIntensity ); + } + #elif defined( SHADOWMAP_TYPE_VSM ) + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + vec2 distribution = texture2D( shadowMap, shadowCoord.xy ).rg; + float mean = distribution.x; + float variance = distribution.y * distribution.y; + #ifdef USE_REVERSED_DEPTH_BUFFER + float hard_shadow = step( mean, shadowCoord.z ); + #else + float hard_shadow = step( shadowCoord.z, mean ); + #endif + if ( hard_shadow == 1.0 ) { + shadow = 1.0; + } else { + variance = max( variance, 0.0000001 ); + float d = shadowCoord.z - mean; + float p_max = variance / ( variance + d * d ); + p_max = clamp( ( p_max - 0.3 ) / 0.65, 0.0, 1.0 ); + shadow = max( hard_shadow, p_max ); + } + } + return mix( 1.0, shadow, shadowIntensity ); + } + #else + float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { + float shadow = 1.0; + shadowCoord.xyz /= shadowCoord.w; + shadowCoord.z += shadowBias; + bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; + bool frustumTest = inFrustum && shadowCoord.z <= 1.0; + if ( frustumTest ) { + float depth = texture2D( shadowMap, shadowCoord.xy ).r; + #ifdef USE_REVERSED_DEPTH_BUFFER + shadow = step( depth, shadowCoord.z ); + #else + shadow = step( shadowCoord.z, depth ); + #endif + } + return mix( 1.0, shadow, shadowIntensity ); + } + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #if defined( SHADOWMAP_TYPE_PCF ) + float getPointShadow( samplerCubeShadow shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + vec3 bd3D = normalize( lightToPosition ); + vec3 absVec = abs( lightToPosition ); + float viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z ); + if ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) { + float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) ); + dp += shadowBias; + float texelSize = shadowRadius / shadowMapSize.x; + vec3 absDir = abs( bd3D ); + vec3 tangent = absDir.x > absDir.z ? vec3( 0.0, 1.0, 0.0 ) : vec3( 1.0, 0.0, 0.0 ); + tangent = normalize( cross( bd3D, tangent ) ); + vec3 bitangent = cross( bd3D, tangent ); + float phi = interleavedGradientNoise( gl_FragCoord.xy ) * 6.28318530718; + shadow = ( + texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 0, 5, phi ).x + bitangent * vogelDiskSample( 0, 5, phi ).y ) * texelSize, dp ) ) + + texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 1, 5, phi ).x + bitangent * vogelDiskSample( 1, 5, phi ).y ) * texelSize, dp ) ) + + texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 2, 5, phi ).x + bitangent * vogelDiskSample( 2, 5, phi ).y ) * texelSize, dp ) ) + + texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 3, 5, phi ).x + bitangent * vogelDiskSample( 3, 5, phi ).y ) * texelSize, dp ) ) + + texture( shadowMap, vec4( bd3D + ( tangent * vogelDiskSample( 4, 5, phi ).x + bitangent * vogelDiskSample( 4, 5, phi ).y ) * texelSize, dp ) ) + ) * 0.2; + } + return mix( 1.0, shadow, shadowIntensity ); + } + #elif defined( SHADOWMAP_TYPE_BASIC ) + float getPointShadow( samplerCube shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { + float shadow = 1.0; + vec3 lightToPosition = shadowCoord.xyz; + vec3 bd3D = normalize( lightToPosition ); + vec3 absVec = abs( lightToPosition ); + float viewSpaceZ = max( max( absVec.x, absVec.y ), absVec.z ); + if ( viewSpaceZ - shadowCameraFar <= 0.0 && viewSpaceZ - shadowCameraNear >= 0.0 ) { + float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) ); + dp += shadowBias; + float depth = textureCube( shadowMap, bd3D ).r; + #ifdef USE_REVERSED_DEPTH_BUFFER + shadow = step( depth, dp ); + #else + shadow = step( dp, depth ); + #endif + } + return mix( 1.0, shadow, shadowIntensity ); + } + #endif + #endif +#endif`,H7=`#if NUM_SPOT_LIGHT_COORDS > 0 + uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; + varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; +#endif +#ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; + varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; + struct DirectionalLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + struct SpotLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + }; + uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; + varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; + struct PointLightShadow { + float shadowIntensity; + float shadowBias; + float shadowNormalBias; + float shadowRadius; + vec2 shadowMapSize; + float shadowCameraNear; + float shadowCameraFar; + }; + uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; + #endif +#endif`,G7=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) + vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); + vec4 shadowWorldPosition; +#endif +#if defined( USE_SHADOWMAP ) + #if NUM_DIR_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); + vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); + vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end + #endif +#endif +#if NUM_SPOT_LIGHT_COORDS > 0 + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { + shadowWorldPosition = worldPosition; + #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) + shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; + #endif + vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; + } + #pragma unroll_loop_end +#endif`,Q7=`float getShadowMask() { + float shadow = 1.0; + #ifdef USE_SHADOWMAP + #if NUM_DIR_LIGHT_SHADOWS > 0 + DirectionalLightShadow directionalLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { + directionalLight = directionalLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_SPOT_LIGHT_SHADOWS > 0 + SpotLightShadow spotLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { + spotLight = spotLightShadows[ i ]; + shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; + } + #pragma unroll_loop_end + #endif + #if NUM_POINT_LIGHT_SHADOWS > 0 && ( defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_BASIC ) ) + PointLightShadow pointLight; + #pragma unroll_loop_start + for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { + pointLight = pointLightShadows[ i ]; + shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; + } + #pragma unroll_loop_end + #endif + #endif + return shadow; +}`,W7=`#ifdef USE_SKINNING + mat4 boneMatX = getBoneMatrix( skinIndex.x ); + mat4 boneMatY = getBoneMatrix( skinIndex.y ); + mat4 boneMatZ = getBoneMatrix( skinIndex.z ); + mat4 boneMatW = getBoneMatrix( skinIndex.w ); +#endif`,Z7=`#ifdef USE_SKINNING + uniform mat4 bindMatrix; + uniform mat4 bindMatrixInverse; + uniform highp sampler2D boneTexture; + mat4 getBoneMatrix( const in float i ) { + int size = textureSize( boneTexture, 0 ).x; + int j = int( i ) * 4; + int x = j % size; + int y = j / size; + vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); + vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); + vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); + vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); + return mat4( v1, v2, v3, v4 ); + } +#endif`,$7=`#ifdef USE_SKINNING + vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); + vec4 skinned = vec4( 0.0 ); + skinned += boneMatX * skinVertex * skinWeight.x; + skinned += boneMatY * skinVertex * skinWeight.y; + skinned += boneMatZ * skinVertex * skinWeight.z; + skinned += boneMatW * skinVertex * skinWeight.w; + transformed = ( bindMatrixInverse * skinned ).xyz; +#endif`,j7=`#ifdef USE_SKINNING + mat4 skinMatrix = mat4( 0.0 ); + skinMatrix += skinWeight.x * boneMatX; + skinMatrix += skinWeight.y * boneMatY; + skinMatrix += skinWeight.z * boneMatZ; + skinMatrix += skinWeight.w * boneMatW; + skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; + objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; + #ifdef USE_TANGENT + objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; + #endif +#endif`,K7=`float specularStrength; +#ifdef USE_SPECULARMAP + vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); + specularStrength = texelSpecular.r; +#else + specularStrength = 1.0; +#endif`,X7=`#ifdef USE_SPECULARMAP + uniform sampler2D specularMap; +#endif`,Y7=`#if defined( TONE_MAPPING ) + gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); +#endif`,q7=`#ifndef saturate +#define saturate( a ) clamp( a, 0.0, 1.0 ) +#endif +uniform float toneMappingExposure; +vec3 LinearToneMapping( vec3 color ) { + return saturate( toneMappingExposure * color ); +} +vec3 ReinhardToneMapping( vec3 color ) { + color *= toneMappingExposure; + return saturate( color / ( vec3( 1.0 ) + color ) ); +} +vec3 CineonToneMapping( vec3 color ) { + color *= toneMappingExposure; + color = max( vec3( 0.0 ), color - 0.004 ); + return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); +} +vec3 RRTAndODTFit( vec3 v ) { + vec3 a = v * ( v + 0.0245786 ) - 0.000090537; + vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; + return a / b; +} +vec3 ACESFilmicToneMapping( vec3 color ) { + const mat3 ACESInputMat = mat3( + vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), + vec3( 0.04823, 0.01566, 0.83777 ) + ); + const mat3 ACESOutputMat = mat3( + vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), + vec3( -0.07367, -0.00605, 1.07602 ) + ); + color *= toneMappingExposure / 0.6; + color = ACESInputMat * color; + color = RRTAndODTFit( color ); + color = ACESOutputMat * color; + return saturate( color ); +} +const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( + vec3( 1.6605, - 0.1246, - 0.0182 ), + vec3( - 0.5876, 1.1329, - 0.1006 ), + vec3( - 0.0728, - 0.0083, 1.1187 ) +); +const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( + vec3( 0.6274, 0.0691, 0.0164 ), + vec3( 0.3293, 0.9195, 0.0880 ), + vec3( 0.0433, 0.0113, 0.8956 ) +); +vec3 agxDefaultContrastApprox( vec3 x ) { + vec3 x2 = x * x; + vec3 x4 = x2 * x2; + return + 15.5 * x4 * x2 + - 40.14 * x4 * x + + 31.96 * x4 + - 6.868 * x2 * x + + 0.4298 * x2 + + 0.1191 * x + - 0.00232; +} +vec3 AgXToneMapping( vec3 color ) { + const mat3 AgXInsetMatrix = mat3( + vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), + vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), + vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) + ); + const mat3 AgXOutsetMatrix = mat3( + vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), + vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), + vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) + ); + const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; + color *= toneMappingExposure; + color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; + color = AgXInsetMatrix * color; + color = max( color, 1e-10 ); color = log2( color ); + color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); + color = clamp( color, 0.0, 1.0 ); + color = agxDefaultContrastApprox( color ); + color = AgXOutsetMatrix * color; + color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); + color = LINEAR_REC2020_TO_LINEAR_SRGB * color; + color = clamp( color, 0.0, 1.0 ); + return color; +} +vec3 NeutralToneMapping( vec3 color ) { + const float StartCompression = 0.8 - 0.04; + const float Desaturation = 0.15; + color *= toneMappingExposure; + float x = min( color.r, min( color.g, color.b ) ); + float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; + color -= offset; + float peak = max( color.r, max( color.g, color.b ) ); + if ( peak < StartCompression ) return color; + float d = 1. - StartCompression; + float newPeak = 1. - d * d / ( peak + d - StartCompression ); + color *= newPeak / peak; + float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); + return mix( color, vec3( newPeak ), g ); +} +vec3 CustomToneMapping( vec3 color ) { return color; }`,J7=`#ifdef USE_TRANSMISSION + material.transmission = transmission; + material.transmissionAlpha = 1.0; + material.thickness = thickness; + material.attenuationDistance = attenuationDistance; + material.attenuationColor = attenuationColor; + #ifdef USE_TRANSMISSIONMAP + material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; + #endif + #ifdef USE_THICKNESSMAP + material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; + #endif + vec3 pos = vWorldPosition; + vec3 v = normalize( cameraPosition - pos ); + vec3 n = inverseTransformDirection( normal, viewMatrix ); + vec4 transmitted = getIBLVolumeRefraction( + n, v, material.roughness, material.diffuseContribution, material.specularColorBlended, material.specularF90, + pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, + material.attenuationColor, material.attenuationDistance ); + material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); + totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); +#endif`,eZ=`#ifdef USE_TRANSMISSION + uniform float transmission; + uniform float thickness; + uniform float attenuationDistance; + uniform vec3 attenuationColor; + #ifdef USE_TRANSMISSIONMAP + uniform sampler2D transmissionMap; + #endif + #ifdef USE_THICKNESSMAP + uniform sampler2D thicknessMap; + #endif + uniform vec2 transmissionSamplerSize; + uniform sampler2D transmissionSamplerMap; + uniform mat4 modelMatrix; + uniform mat4 projectionMatrix; + varying vec3 vWorldPosition; + float w0( float a ) { + return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); + } + float w1( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); + } + float w2( float a ){ + return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); + } + float w3( float a ) { + return ( 1.0 / 6.0 ) * ( a * a * a ); + } + float g0( float a ) { + return w0( a ) + w1( a ); + } + float g1( float a ) { + return w2( a ) + w3( a ); + } + float h0( float a ) { + return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); + } + float h1( float a ) { + return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); + } + vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { + uv = uv * texelSize.zw + 0.5; + vec2 iuv = floor( uv ); + vec2 fuv = fract( uv ); + float g0x = g0( fuv.x ); + float g1x = g1( fuv.x ); + float h0x = h0( fuv.x ); + float h1x = h1( fuv.x ); + float h0y = h0( fuv.y ); + float h1y = h1( fuv.y ); + vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; + vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; + return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + + g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); + } + vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { + vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); + vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); + vec2 fLodSizeInv = 1.0 / fLodSize; + vec2 cLodSizeInv = 1.0 / cLodSize; + vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); + vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); + return mix( fSample, cSample, fract( lod ) ); + } + vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { + vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); + vec3 modelScale; + modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); + modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); + modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); + return normalize( refractionVector ) * thickness * modelScale; + } + float applyIorToRoughness( const in float roughness, const in float ior ) { + return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); + } + vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { + float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); + return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); + } + vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { + if ( isinf( attenuationDistance ) ) { + return vec3( 1.0 ); + } else { + vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; + vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; + } + } + vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, + const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, + const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, + const in vec3 attenuationColor, const in float attenuationDistance ) { + vec4 transmittedLight; + vec3 transmittance; + #ifdef USE_DISPERSION + float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; + vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); + for ( int i = 0; i < 3; i ++ ) { + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); + transmittedLight[ i ] = transmissionSample[ i ]; + transmittedLight.a += transmissionSample.a; + transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; + } + transmittedLight.a /= 3.0; + #else + vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); + vec3 refractedRayExit = position + transmissionRay; + vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); + transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); + #endif + vec3 attenuatedColor = transmittance * transmittedLight.rgb; + vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); + float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; + return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); + } +#endif`,tZ=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + varying vec2 vNormalMapUv; +#endif +#ifdef USE_EMISSIVEMAP + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_ANISOTROPYMAP + varying vec2 vAnisotropyMapUv; +#endif +#ifdef USE_CLEARCOATMAP + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_SPECULARMAP + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,nZ=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + varying vec2 vUv; +#endif +#ifdef USE_MAP + uniform mat3 mapTransform; + varying vec2 vMapUv; +#endif +#ifdef USE_ALPHAMAP + uniform mat3 alphaMapTransform; + varying vec2 vAlphaMapUv; +#endif +#ifdef USE_LIGHTMAP + uniform mat3 lightMapTransform; + varying vec2 vLightMapUv; +#endif +#ifdef USE_AOMAP + uniform mat3 aoMapTransform; + varying vec2 vAoMapUv; +#endif +#ifdef USE_BUMPMAP + uniform mat3 bumpMapTransform; + varying vec2 vBumpMapUv; +#endif +#ifdef USE_NORMALMAP + uniform mat3 normalMapTransform; + varying vec2 vNormalMapUv; +#endif +#ifdef USE_DISPLACEMENTMAP + uniform mat3 displacementMapTransform; + varying vec2 vDisplacementMapUv; +#endif +#ifdef USE_EMISSIVEMAP + uniform mat3 emissiveMapTransform; + varying vec2 vEmissiveMapUv; +#endif +#ifdef USE_METALNESSMAP + uniform mat3 metalnessMapTransform; + varying vec2 vMetalnessMapUv; +#endif +#ifdef USE_ROUGHNESSMAP + uniform mat3 roughnessMapTransform; + varying vec2 vRoughnessMapUv; +#endif +#ifdef USE_ANISOTROPYMAP + uniform mat3 anisotropyMapTransform; + varying vec2 vAnisotropyMapUv; +#endif +#ifdef USE_CLEARCOATMAP + uniform mat3 clearcoatMapTransform; + varying vec2 vClearcoatMapUv; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + uniform mat3 clearcoatNormalMapTransform; + varying vec2 vClearcoatNormalMapUv; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + uniform mat3 clearcoatRoughnessMapTransform; + varying vec2 vClearcoatRoughnessMapUv; +#endif +#ifdef USE_SHEEN_COLORMAP + uniform mat3 sheenColorMapTransform; + varying vec2 vSheenColorMapUv; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + uniform mat3 sheenRoughnessMapTransform; + varying vec2 vSheenRoughnessMapUv; +#endif +#ifdef USE_IRIDESCENCEMAP + uniform mat3 iridescenceMapTransform; + varying vec2 vIridescenceMapUv; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + uniform mat3 iridescenceThicknessMapTransform; + varying vec2 vIridescenceThicknessMapUv; +#endif +#ifdef USE_SPECULARMAP + uniform mat3 specularMapTransform; + varying vec2 vSpecularMapUv; +#endif +#ifdef USE_SPECULAR_COLORMAP + uniform mat3 specularColorMapTransform; + varying vec2 vSpecularColorMapUv; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + uniform mat3 specularIntensityMapTransform; + varying vec2 vSpecularIntensityMapUv; +#endif +#ifdef USE_TRANSMISSIONMAP + uniform mat3 transmissionMapTransform; + varying vec2 vTransmissionMapUv; +#endif +#ifdef USE_THICKNESSMAP + uniform mat3 thicknessMapTransform; + varying vec2 vThicknessMapUv; +#endif`,rZ=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) + vUv = vec3( uv, 1 ).xy; +#endif +#ifdef USE_MAP + vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ALPHAMAP + vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_LIGHTMAP + vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_AOMAP + vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_BUMPMAP + vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_NORMALMAP + vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_DISPLACEMENTMAP + vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_EMISSIVEMAP + vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_METALNESSMAP + vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ROUGHNESSMAP + vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_ANISOTROPYMAP + vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOATMAP + vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_NORMALMAP + vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_CLEARCOAT_ROUGHNESSMAP + vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCEMAP + vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_IRIDESCENCE_THICKNESSMAP + vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_COLORMAP + vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SHEEN_ROUGHNESSMAP + vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULARMAP + vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_COLORMAP + vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_SPECULAR_INTENSITYMAP + vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_TRANSMISSIONMAP + vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; +#endif +#ifdef USE_THICKNESSMAP + vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; +#endif`,iZ=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 + vec4 worldPosition = vec4( transformed, 1.0 ); + #ifdef USE_BATCHING + worldPosition = batchingMatrix * worldPosition; + #endif + #ifdef USE_INSTANCING + worldPosition = instanceMatrix * worldPosition; + #endif + worldPosition = modelMatrix * worldPosition; +#endif`;const Co={alphahash_fragment:aW,alphahash_pars_fragment:oW,alphamap_fragment:lW,alphamap_pars_fragment:cW,alphatest_fragment:uW,alphatest_pars_fragment:hW,aomap_fragment:dW,aomap_pars_fragment:fW,batching_pars_vertex:AW,batching_vertex:pW,begin_vertex:gW,beginnormal_vertex:mW,bsdfs:vW,iridescence_fragment:yW,bumpmap_pars_fragment:xW,clipping_planes_fragment:bW,clipping_planes_pars_fragment:_W,clipping_planes_pars_vertex:wW,clipping_planes_vertex:EW,color_fragment:SW,color_pars_fragment:CW,color_pars_vertex:MW,color_vertex:TW,common:BW,cube_uv_reflection_fragment:RW,defaultnormal_vertex:IW,displacementmap_pars_vertex:NW,displacementmap_vertex:PW,emissivemap_fragment:FW,emissivemap_pars_fragment:OW,colorspace_fragment:LW,colorspace_pars_fragment:DW,envmap_fragment:UW,envmap_common_pars_fragment:kW,envmap_pars_fragment:zW,envmap_pars_vertex:VW,envmap_physical_pars_fragment:qW,envmap_vertex:HW,fog_vertex:GW,fog_pars_vertex:QW,fog_fragment:WW,fog_pars_fragment:ZW,gradientmap_pars_fragment:$W,lightmap_pars_fragment:jW,lights_lambert_fragment:KW,lights_lambert_pars_fragment:XW,lights_pars_begin:YW,lights_toon_fragment:JW,lights_toon_pars_fragment:e7,lights_phong_fragment:t7,lights_phong_pars_fragment:n7,lights_physical_fragment:r7,lights_physical_pars_fragment:i7,lights_fragment_begin:s7,lights_fragment_maps:a7,lights_fragment_end:o7,logdepthbuf_fragment:l7,logdepthbuf_pars_fragment:c7,logdepthbuf_pars_vertex:u7,logdepthbuf_vertex:h7,map_fragment:d7,map_pars_fragment:f7,map_particle_fragment:A7,map_particle_pars_fragment:p7,metalnessmap_fragment:g7,metalnessmap_pars_fragment:m7,morphinstance_vertex:v7,morphcolor_vertex:y7,morphnormal_vertex:x7,morphtarget_pars_vertex:b7,morphtarget_vertex:_7,normal_fragment_begin:w7,normal_fragment_maps:E7,normal_pars_fragment:S7,normal_pars_vertex:C7,normal_vertex:M7,normalmap_pars_fragment:T7,clearcoat_normal_fragment_begin:B7,clearcoat_normal_fragment_maps:R7,clearcoat_pars_fragment:I7,iridescence_pars_fragment:N7,opaque_fragment:P7,packing:F7,premultiplied_alpha_fragment:O7,project_vertex:L7,dithering_fragment:D7,dithering_pars_fragment:U7,roughnessmap_fragment:k7,roughnessmap_pars_fragment:z7,shadowmap_pars_fragment:V7,shadowmap_pars_vertex:H7,shadowmap_vertex:G7,shadowmask_pars_fragment:Q7,skinbase_vertex:W7,skinning_pars_vertex:Z7,skinning_vertex:$7,skinnormal_vertex:j7,specularmap_fragment:K7,specularmap_pars_fragment:X7,tonemapping_fragment:Y7,tonemapping_pars_fragment:q7,transmission_fragment:J7,transmission_pars_fragment:eZ,uv_pars_fragment:tZ,uv_pars_vertex:nZ,uv_vertex:rZ,worldpos_vertex:iZ,background_vert:`varying vec2 vUv; +uniform mat3 uvTransform; +void main() { + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + gl_Position = vec4( position.xy, 1.0, 1.0 ); +}`,background_frag:`uniform sampler2D t2D; +uniform float backgroundIntensity; +varying vec2 vUv; +void main() { + vec4 texColor = texture2D( t2D, vUv ); + #ifdef DECODE_VIDEO_TEXTURE + texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,backgroundCube_vert:`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,backgroundCube_frag:`#ifdef ENVMAP_TYPE_CUBE + uniform samplerCube envMap; +#elif defined( ENVMAP_TYPE_CUBE_UV ) + uniform sampler2D envMap; +#endif +uniform float flipEnvMap; +uniform float backgroundBlurriness; +uniform float backgroundIntensity; +uniform mat3 backgroundRotation; +varying vec3 vWorldDirection; +#include +void main() { + #ifdef ENVMAP_TYPE_CUBE + vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); + #elif defined( ENVMAP_TYPE_CUBE_UV ) + vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); + #else + vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + #endif + texColor.rgb *= backgroundIntensity; + gl_FragColor = texColor; + #include + #include +}`,cube_vert:`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include + gl_Position.z = gl_Position.w; +}`,cube_frag:`uniform samplerCube tCube; +uniform float tFlip; +uniform float opacity; +varying vec3 vWorldDirection; +void main() { + vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); + gl_FragColor = texColor; + gl_FragColor.a *= opacity; + #include + #include +}`,depth_vert:`#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + #include + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vHighPrecisionZW = gl_Position.zw; +}`,depth_frag:`#if DEPTH_PACKING == 3200 + uniform float opacity; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +varying vec2 vHighPrecisionZW; +void main() { + vec4 diffuseColor = vec4( 1.0 ); + #include + #if DEPTH_PACKING == 3200 + diffuseColor.a = opacity; + #endif + #include + #include + #include + #include + #include + #ifdef USE_REVERSED_DEPTH_BUFFER + float fragCoordZ = vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ]; + #else + float fragCoordZ = 0.5 * vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ] + 0.5; + #endif + #if DEPTH_PACKING == 3200 + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); + #elif DEPTH_PACKING == 3201 + gl_FragColor = packDepthToRGBA( fragCoordZ ); + #elif DEPTH_PACKING == 3202 + gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); + #elif DEPTH_PACKING == 3203 + gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); + #endif +}`,distance_vert:`#define DISTANCE +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #ifdef USE_DISPLACEMENTMAP + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + vWorldPosition = worldPosition.xyz; +}`,distance_frag:`#define DISTANCE +uniform vec3 referencePosition; +uniform float nearDistance; +uniform float farDistance; +varying vec3 vWorldPosition; +#include +#include +#include +#include +#include +#include +#include +void main () { + vec4 diffuseColor = vec4( 1.0 ); + #include + #include + #include + #include + #include + float dist = length( vWorldPosition - referencePosition ); + dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); + dist = saturate( dist ); + gl_FragColor = vec4( dist, 0.0, 0.0, 1.0 ); +}`,equirect_vert:`varying vec3 vWorldDirection; +#include +void main() { + vWorldDirection = transformDirection( position, modelMatrix ); + #include + #include +}`,equirect_frag:`uniform sampler2D tEquirect; +varying vec3 vWorldDirection; +#include +void main() { + vec3 direction = normalize( vWorldDirection ); + vec2 sampleUV = equirectUv( direction ); + gl_FragColor = texture2D( tEquirect, sampleUV ); + #include + #include +}`,linedashed_vert:`uniform float scale; +attribute float lineDistance; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + vLineDistance = scale * lineDistance; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,linedashed_frag:`uniform vec3 diffuse; +uniform float opacity; +uniform float dashSize; +uniform float totalSize; +varying float vLineDistance; +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + if ( mod( vLineDistance, totalSize ) > dashSize ) { + discard; + } + vec3 outgoingLight = vec3( 0.0 ); + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,meshbasic_vert:`#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,meshbasic_frag:`uniform vec3 diffuse; +uniform float opacity; +#ifndef FLAT_SHADED + varying vec3 vNormal; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + #ifdef USE_LIGHTMAP + vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); + reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; + #else + reflectedLight.indirectDiffuse += vec3( 1.0 ); + #endif + #include + reflectedLight.indirectDiffuse *= diffuseColor.rgb; + vec3 outgoingLight = reflectedLight.indirectDiffuse; + #include + #include + #include + #include + #include + #include + #include +}`,meshlambert_vert:`#define LAMBERT +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,meshlambert_frag:`#define LAMBERT +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,meshmatcap_vert:`#define MATCAP +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; +}`,meshmatcap_frag:`#define MATCAP +uniform vec3 diffuse; +uniform float opacity; +uniform sampler2D matcap; +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 viewDir = normalize( vViewPosition ); + vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); + vec3 y = cross( viewDir, x ); + vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; + #ifdef USE_MATCAP + vec4 matcapColor = texture2D( matcap, uv ); + #else + vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); + #endif + vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; + #include + #include + #include + #include + #include + #include +}`,meshnormal_vert:`#define NORMAL +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + vViewPosition = - mvPosition.xyz; +#endif +}`,meshnormal_frag:`#define NORMAL +uniform float opacity; +#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) + varying vec3 vViewPosition; +#endif +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); + #include + #include + #include + #include + gl_FragColor = vec4( normalize( normal ) * 0.5 + 0.5, diffuseColor.a ); + #ifdef OPAQUE + gl_FragColor.a = 1.0; + #endif +}`,meshphong_vert:`#define PHONG +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include + #include +}`,meshphong_frag:`#define PHONG +uniform vec3 diffuse; +uniform vec3 emissive; +uniform vec3 specular; +uniform float shininess; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include + #include +}`,meshphysical_vert:`#define STANDARD +varying vec3 vViewPosition; +#ifdef USE_TRANSMISSION + varying vec3 vWorldPosition; +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +#ifdef USE_TRANSMISSION + vWorldPosition = worldPosition.xyz; +#endif +}`,meshphysical_frag:`#define STANDARD +#ifdef PHYSICAL + #define IOR + #define USE_SPECULAR +#endif +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float roughness; +uniform float metalness; +uniform float opacity; +#ifdef IOR + uniform float ior; +#endif +#ifdef USE_SPECULAR + uniform float specularIntensity; + uniform vec3 specularColor; + #ifdef USE_SPECULAR_COLORMAP + uniform sampler2D specularColorMap; + #endif + #ifdef USE_SPECULAR_INTENSITYMAP + uniform sampler2D specularIntensityMap; + #endif +#endif +#ifdef USE_CLEARCOAT + uniform float clearcoat; + uniform float clearcoatRoughness; +#endif +#ifdef USE_DISPERSION + uniform float dispersion; +#endif +#ifdef USE_IRIDESCENCE + uniform float iridescence; + uniform float iridescenceIOR; + uniform float iridescenceThicknessMinimum; + uniform float iridescenceThicknessMaximum; +#endif +#ifdef USE_SHEEN + uniform vec3 sheenColor; + uniform float sheenRoughness; + #ifdef USE_SHEEN_COLORMAP + uniform sampler2D sheenColorMap; + #endif + #ifdef USE_SHEEN_ROUGHNESSMAP + uniform sampler2D sheenRoughnessMap; + #endif +#endif +#ifdef USE_ANISOTROPY + uniform vec2 anisotropyVector; + #ifdef USE_ANISOTROPYMAP + uniform sampler2D anisotropyMap; + #endif +#endif +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; + vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; + #include + vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; + #ifdef USE_SHEEN + + outgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect; + + #endif + #ifdef USE_CLEARCOAT + float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); + vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); + outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; + #endif + #include + #include + #include + #include + #include + #include +}`,meshtoon_vert:`#define TOON +varying vec3 vViewPosition; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vViewPosition = - mvPosition.xyz; + #include + #include + #include +}`,meshtoon_frag:`#define TOON +uniform vec3 diffuse; +uniform vec3 emissive; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); + vec3 totalEmissiveRadiance = emissive; + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; + #include + #include + #include + #include + #include + #include +}`,points_vert:`uniform float size; +uniform float scale; +#include +#include +#include +#include +#include +#include +#ifdef USE_POINTS_UV + varying vec2 vUv; + uniform mat3 uvTransform; +#endif +void main() { + #ifdef USE_POINTS_UV + vUv = ( uvTransform * vec3( uv, 1 ) ).xy; + #endif + #include + #include + #include + #include + #include + #include + gl_PointSize = size; + #ifdef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); + #endif + #include + #include + #include + #include +}`,points_frag:`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + vec3 outgoingLight = vec3( 0.0 ); + #include + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include + #include +}`,shadow_vert:`#include +#include +#include +#include +#include +#include +#include +void main() { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +}`,shadow_frag:`uniform vec3 color; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +void main() { + #include + gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); + #include + #include + #include +}`,sprite_vert:`uniform float rotation; +uniform vec2 center; +#include +#include +#include +#include +#include +void main() { + #include + vec4 mvPosition = modelViewMatrix[ 3 ]; + vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); + #ifndef USE_SIZEATTENUATION + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + #endif + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + gl_Position = projectionMatrix * mvPosition; + #include + #include + #include +}`,sprite_frag:`uniform vec3 diffuse; +uniform float opacity; +#include +#include +#include +#include +#include +#include +#include +#include +#include +void main() { + vec4 diffuseColor = vec4( diffuse, opacity ); + #include + vec3 outgoingLight = vec3( 0.0 ); + #include + #include + #include + #include + #include + outgoingLight = diffuseColor.rgb; + #include + #include + #include + #include +}`},Us={common:{diffuse:{value:new hs(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Pn},alphaMap:{value:null},alphaMapTransform:{value:new Pn},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Pn}},envmap:{envMap:{value:null},envMapRotation:{value:new Pn},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Pn}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Pn}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Pn},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Pn},normalScale:{value:new Qe(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Pn},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Pn}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Pn}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Pn}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new hs(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new hs(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Pn},alphaTest:{value:0},uvTransform:{value:new Pn}},sprite:{diffuse:{value:new hs(16777215)},opacity:{value:1},center:{value:new Qe(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Pn},alphaMap:{value:null},alphaMapTransform:{value:new Pn},alphaTest:{value:0}}},lp={basic:{uniforms:bu([Us.common,Us.specularmap,Us.envmap,Us.aomap,Us.lightmap,Us.fog]),vertexShader:Co.meshbasic_vert,fragmentShader:Co.meshbasic_frag},lambert:{uniforms:bu([Us.common,Us.specularmap,Us.envmap,Us.aomap,Us.lightmap,Us.emissivemap,Us.bumpmap,Us.normalmap,Us.displacementmap,Us.fog,Us.lights,{emissive:{value:new hs(0)}}]),vertexShader:Co.meshlambert_vert,fragmentShader:Co.meshlambert_frag},phong:{uniforms:bu([Us.common,Us.specularmap,Us.envmap,Us.aomap,Us.lightmap,Us.emissivemap,Us.bumpmap,Us.normalmap,Us.displacementmap,Us.fog,Us.lights,{emissive:{value:new hs(0)},specular:{value:new hs(1118481)},shininess:{value:30}}]),vertexShader:Co.meshphong_vert,fragmentShader:Co.meshphong_frag},standard:{uniforms:bu([Us.common,Us.envmap,Us.aomap,Us.lightmap,Us.emissivemap,Us.bumpmap,Us.normalmap,Us.displacementmap,Us.roughnessmap,Us.metalnessmap,Us.fog,Us.lights,{emissive:{value:new hs(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Co.meshphysical_vert,fragmentShader:Co.meshphysical_frag},toon:{uniforms:bu([Us.common,Us.aomap,Us.lightmap,Us.emissivemap,Us.bumpmap,Us.normalmap,Us.displacementmap,Us.gradientmap,Us.fog,Us.lights,{emissive:{value:new hs(0)}}]),vertexShader:Co.meshtoon_vert,fragmentShader:Co.meshtoon_frag},matcap:{uniforms:bu([Us.common,Us.bumpmap,Us.normalmap,Us.displacementmap,Us.fog,{matcap:{value:null}}]),vertexShader:Co.meshmatcap_vert,fragmentShader:Co.meshmatcap_frag},points:{uniforms:bu([Us.points,Us.fog]),vertexShader:Co.points_vert,fragmentShader:Co.points_frag},dashed:{uniforms:bu([Us.common,Us.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Co.linedashed_vert,fragmentShader:Co.linedashed_frag},depth:{uniforms:bu([Us.common,Us.displacementmap]),vertexShader:Co.depth_vert,fragmentShader:Co.depth_frag},normal:{uniforms:bu([Us.common,Us.bumpmap,Us.normalmap,Us.displacementmap,{opacity:{value:1}}]),vertexShader:Co.meshnormal_vert,fragmentShader:Co.meshnormal_frag},sprite:{uniforms:bu([Us.sprite,Us.fog]),vertexShader:Co.sprite_vert,fragmentShader:Co.sprite_frag},background:{uniforms:{uvTransform:{value:new Pn},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Co.background_vert,fragmentShader:Co.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Pn}},vertexShader:Co.backgroundCube_vert,fragmentShader:Co.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Co.cube_vert,fragmentShader:Co.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Co.equirect_vert,fragmentShader:Co.equirect_frag},distance:{uniforms:bu([Us.common,Us.displacementmap,{referencePosition:{value:new ye},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Co.distance_vert,fragmentShader:Co.distance_frag},shadow:{uniforms:bu([Us.lights,Us.fog,{color:{value:new hs(0)},opacity:{value:1}}]),vertexShader:Co.shadow_vert,fragmentShader:Co.shadow_frag}};lp.physical={uniforms:bu([lp.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Pn},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Pn},clearcoatNormalScale:{value:new Qe(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Pn},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Pn},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Pn},sheen:{value:0},sheenColor:{value:new hs(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Pn},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Pn},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Pn},transmissionSamplerSize:{value:new Qe},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Pn},attenuationDistance:{value:0},attenuationColor:{value:new hs(0)},specularColor:{value:new hs(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Pn},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Pn},anisotropyVector:{value:new Qe},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Pn}}]),vertexShader:Co.meshphysical_vert,fragmentShader:Co.meshphysical_frag};const X1={r:0,b:0,g:0},W0=new il,sZ=new pi;function aZ(i,e,t,n,r,s,a){const o=new hs(0);let l=s===!0?0:1,c,u,h=null,d=0,f=null;function A(k){let $=k.isScene===!0?k.background:null;return $&&$.isTexture&&($=(k.backgroundBlurriness>0?t:e).get($)),$}function y(k){let $=!1;const se=A(k);se===null?x(o,l):se&&se.isColor&&(x(se,1),$=!0);const ie=i.xr.getEnvironmentBlendMode();ie==="additive"?n.buffers.color.setClear(0,0,0,1,a):ie==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,a),(i.autoClear||$)&&(n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil))}function b(k,$){const se=A($);se&&(se.isCubeTexture||se.mapping===Mt)?(u===void 0&&(u=new vl(new fd(1,1,1),new _u({name:"BackgroundCubeMaterial",uniforms:GA(lp.backgroundCube.uniforms),vertexShader:lp.backgroundCube.vertexShader,fragmentShader:lp.backgroundCube.fragmentShader,side:ge,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),u.geometry.deleteAttribute("normal"),u.geometry.deleteAttribute("uv"),u.onBeforeRender=function(ie,ce,ue){this.matrixWorld.copyPosition(ue.matrixWorld)},Object.defineProperty(u.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(u)),W0.copy($.backgroundRotation),W0.x*=-1,W0.y*=-1,W0.z*=-1,se.isCubeTexture&&se.isRenderTargetTexture===!1&&(W0.y*=-1,W0.z*=-1),u.material.uniforms.envMap.value=se,u.material.uniforms.flipEnvMap.value=se.isCubeTexture&&se.isRenderTargetTexture===!1?-1:1,u.material.uniforms.backgroundBlurriness.value=$.backgroundBlurriness,u.material.uniforms.backgroundIntensity.value=$.backgroundIntensity,u.material.uniforms.backgroundRotation.value.setFromMatrix4(sZ.makeRotationFromEuler(W0)),u.material.toneMapped=xr.getTransfer(se.colorSpace)!==Hi,(h!==se||d!==se.version||f!==i.toneMapping)&&(u.material.needsUpdate=!0,h=se,d=se.version,f=i.toneMapping),u.layers.enableAll(),k.unshift(u,u.geometry,u.material,0,0,null)):se&&se.isTexture&&(c===void 0&&(c=new vl(new eh(2,2),new _u({name:"BackgroundMaterial",uniforms:GA(lp.background.uniforms),vertexShader:lp.background.vertexShader,fragmentShader:lp.background.fragmentShader,side:te,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(c)),c.material.uniforms.t2D.value=se,c.material.uniforms.backgroundIntensity.value=$.backgroundIntensity,c.material.toneMapped=xr.getTransfer(se.colorSpace)!==Hi,se.matrixAutoUpdate===!0&&se.updateMatrix(),c.material.uniforms.uvTransform.value.copy(se.matrix),(h!==se||d!==se.version||f!==i.toneMapping)&&(c.material.needsUpdate=!0,h=se,d=se.version,f=i.toneMapping),c.layers.enableAll(),k.unshift(c,c.geometry,c.material,0,0,null))}function x(k,$){k.getRGB(X1,vh(i)),n.buffers.color.setClear(X1.r,X1.g,X1.b,$,a)}function P(){u!==void 0&&(u.geometry.dispose(),u.material.dispose(),u=void 0),c!==void 0&&(c.geometry.dispose(),c.material.dispose(),c=void 0)}return{getClearColor:function(){return o},setClearColor:function(k,$=1){o.set(k),l=$,x(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(k){l=k,x(o,l)},render:y,addToRenderList:b,dispose:P}}function oZ(i,e){const t=i.getParameter(i.MAX_VERTEX_ATTRIBS),n={},r=d(null);let s=r,a=!1;function o(Fe,nt,Gt,Jt,gn){let yn=!1;const Mn=h(Jt,Gt,nt);s!==Mn&&(s=Mn,c(s.object)),yn=f(Fe,Jt,Gt,gn),yn&&A(Fe,Jt,Gt,gn),gn!==null&&e.update(gn,i.ELEMENT_ARRAY_BUFFER),(yn||a)&&(a=!1,$(Fe,nt,Gt,Jt),gn!==null&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.get(gn).buffer))}function l(){return i.createVertexArray()}function c(Fe){return i.bindVertexArray(Fe)}function u(Fe){return i.deleteVertexArray(Fe)}function h(Fe,nt,Gt){const Jt=Gt.wireframe===!0;let gn=n[Fe.id];gn===void 0&&(gn={},n[Fe.id]=gn);let yn=gn[nt.id];yn===void 0&&(yn={},gn[nt.id]=yn);let Mn=yn[Jt];return Mn===void 0&&(Mn=d(l()),yn[Jt]=Mn),Mn}function d(Fe){const nt=[],Gt=[],Jt=[];for(let gn=0;gn=0){const Hr=gn[Hn];let qn=yn[Hn];if(qn===void 0&&(Hn==="instanceMatrix"&&Fe.instanceMatrix&&(qn=Fe.instanceMatrix),Hn==="instanceColor"&&Fe.instanceColor&&(qn=Fe.instanceColor)),Hr===void 0||Hr.attribute!==qn||qn&&Hr.data!==qn.data)return!0;Mn++}return s.attributesNum!==Mn||s.index!==Jt}function A(Fe,nt,Gt,Jt){const gn={},yn=nt.attributes;let Mn=0;const rr=Gt.getAttributes();for(const Hn in rr)if(rr[Hn].location>=0){let Hr=yn[Hn];Hr===void 0&&(Hn==="instanceMatrix"&&Fe.instanceMatrix&&(Hr=Fe.instanceMatrix),Hn==="instanceColor"&&Fe.instanceColor&&(Hr=Fe.instanceColor));const qn={};qn.attribute=Hr,Hr&&Hr.data&&(qn.data=Hr.data),gn[Hn]=qn,Mn++}s.attributes=gn,s.attributesNum=Mn,s.index=Jt}function y(){const Fe=s.newAttributes;for(let nt=0,Gt=Fe.length;nt=0){let Er=gn[rr];if(Er===void 0&&(rr==="instanceMatrix"&&Fe.instanceMatrix&&(Er=Fe.instanceMatrix),rr==="instanceColor"&&Fe.instanceColor&&(Er=Fe.instanceColor)),Er!==void 0){const Hr=Er.normalized,qn=Er.itemSize,Jr=e.get(Er);if(Jr===void 0)continue;const gi=Jr.buffer,Zi=Jr.type,Xr=Jr.bytesPerElement,or=Zi===i.INT||Zi===i.UNSIGNED_INT||Er.gpuType===yt;if(Er.isInterleavedBufferAttribute){const Sr=Er.data,Ri=Sr.stride,xi=Er.offset;if(Sr.isInstancedInterleavedBuffer){for(let Qi=0;Qi0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision>0)return"highp";ce="mediump"}return ce==="mediump"&&i.getShaderPrecisionFormat(i.VERTEX_SHADER,i.MEDIUM_FLOAT).precision>0&&i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=t.precision!==void 0?t.precision:"highp";const u=l(c);u!==c&&(sr("WebGLRenderer:",c,"not supported, using",u,"instead."),c=u);const h=t.logarithmicDepthBuffer===!0,d=t.reversedDepthBuffer===!0&&e.has("EXT_clip_control"),f=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),A=i.getParameter(i.MAX_VERTEX_TEXTURE_IMAGE_UNITS),y=i.getParameter(i.MAX_TEXTURE_SIZE),b=i.getParameter(i.MAX_CUBE_MAP_TEXTURE_SIZE),x=i.getParameter(i.MAX_VERTEX_ATTRIBS),P=i.getParameter(i.MAX_VERTEX_UNIFORM_VECTORS),k=i.getParameter(i.MAX_VARYING_VECTORS),$=i.getParameter(i.MAX_FRAGMENT_UNIFORM_VECTORS),se=i.getParameter(i.MAX_SAMPLES),ie=i.getParameter(i.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:a,textureTypeReadable:o,precision:c,logarithmicDepthBuffer:h,reversedDepthBuffer:d,maxTextures:f,maxVertexTextures:A,maxTextureSize:y,maxCubemapSize:b,maxAttributes:x,maxVertexUniforms:P,maxVaryings:k,maxFragmentUniforms:$,maxSamples:se,samples:ie}}function uZ(i){const e=this;let t=null,n=0,r=!1,s=!1;const a=new Eh,o=new Pn,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(h,d){const f=h.length!==0||d||n!==0||r;return r=d,n=h.length,f},this.beginShadows=function(){s=!0,u(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(h,d){t=u(h,d,0)},this.setState=function(h,d,f){const A=h.clippingPlanes,y=h.clipIntersection,b=h.clipShadows,x=i.get(h);if(!r||A===null||A.length===0||s&&!b)s?u(null):c();else{const P=s?0:n,k=P*4;let $=x.clippingState||null;l.value=$,$=u(A,d,k,f);for(let se=0;se!==k;++se)$[se]=t[se];x.clippingState=$,this.numIntersection=y?this.numPlanes:0,this.numPlanes+=P}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function u(h,d,f,A){const y=h!==null?h.length:0;let b=null;if(y!==0){if(b=l.value,A!==!0||b===null){const x=f+y*4,P=d.matrixWorldInverse;o.getNormalMatrix(P),(b===null||b.length0){const c=new dm(l.height);return c.fromEquirectangularTexture(i,a),e.set(a,c),a.addEventListener("dispose",r),t(c.texture,a.mapping)}else return null}}return a}function r(a){const o=a.target;o.removeEventListener("dispose",r);const l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function s(){e=new WeakMap}return{get:n,dispose:s}}const Bm=4,cO=[.125,.215,.35,.446,.526,.582],Z0=20,dZ=256,bb=new U0,uO=new hs;let dT=null,fT=0,AT=0,pT=!1;const fZ=new ye;class hO{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._backgroundBox=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._blurMaterial=null,this._ggxMaterial=null}fromScene(e,t=0,n=.1,r=100,s={}){const{size:a=256,position:o=fZ}=s;dT=this._renderer.getRenderTarget(),fT=this._renderer.getActiveCubeFace(),AT=this._renderer.getActiveMipmapLevel(),pT=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(a);const l=this._allocateTargets();return l.depthBuffer=!0,this._sceneToCubeUV(e,n,r,l,o),t>0&&this._blur(l,0,0,t),this._applyPMREM(l),this._cleanup(l),l}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=AO(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=fO(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?se:0,se,se),h.setRenderTarget(r),x&&h.render(y,l),h.render(e,l)}h.toneMapping=f,h.autoClear=d,e.background=P}_textureToCubeUV(e,t){const n=this._renderer,r=e.mapping===je||e.mapping===Xe;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=AO()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=fO());const s=r?this._cubemapMaterial:this._equirectMaterial,a=this._lodMeshes[0];a.material=s;const o=s.uniforms;o.envMap.value=e;const l=this._cubeSize;By(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,bb)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const r=this._lodMeshes.length;for(let s=1;sA-Bm?n-A+Bm:0),x=4*(this._cubeSize-y);l.envMap.value=e.texture,l.roughness.value=f,l.mipInt.value=A-t,By(s,b,x,3*y,2*y),r.setRenderTarget(s),r.render(o,bb),l.envMap.value=s.texture,l.roughness.value=0,l.mipInt.value=A-n,By(e,b,x,3*y,2*y),r.setRenderTarget(e),r.render(o,bb)}_blur(e,t,n,r,s){const a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,"latitudinal",s),this._halfBlur(a,e,n,n,r,"longitudinal",s)}_halfBlur(e,t,n,r,s,a,o){const l=this._renderer,c=this._blurMaterial;a!=="latitudinal"&&a!=="longitudinal"&&Nr("blur direction must be either latitudinal or longitudinal!");const u=3,h=this._lodMeshes[r];h.material=c;const d=c.uniforms,f=this._sizeLods[n]-1,A=isFinite(s)?Math.PI/(2*f):2*Math.PI/(2*Z0-1),y=s/A,b=isFinite(s)?1+Math.floor(u*y):Z0;b>Z0&&sr(`sigmaRadians, ${s}, is too large and will clip, as it requested ${b} samples when the maximum is set to ${Z0}`);const x=[];let P=0;for(let ce=0;cek-Bm?r-k+Bm:0),ie=4*(this._cubeSize-$);By(t,se,ie,3*$,2*$),l.setRenderTarget(t),l.render(h,bb)}}function AZ(i){const e=[],t=[],n=[];let r=i;const s=i-Bm+1+cO.length;for(let a=0;ai-Bm?l=cO[a-i+Bm-1]:a===0&&(l=0),t.push(l);const c=1/(o-2),u=-c,h=1+c,d=[u,u,h,u,h,h,u,u,h,h,u,h],f=6,A=6,y=3,b=2,x=1,P=new Float32Array(y*A*f),k=new Float32Array(b*A*f),$=new Float32Array(x*A*f);for(let ie=0;ie2?0:-1,ve=[ce,ue,0,ce+2/3,ue,0,ce+2/3,ue+1,0,ce,ue,0,ce+2/3,ue+1,0,ce,ue+1,0];P.set(ve,y*A*ie),k.set(d,b*A*ie);const Fe=[ie,ie,ie,ie,ie,ie];$.set(Fe,x*A*ie)}const se=new js;se.setAttribute("position",new ul(P,y)),se.setAttribute("uv",new ul(k,b)),se.setAttribute("faceIndex",new ul($,x)),n.push(new vl(se,null)),r>Bm&&r--}return{lodMeshes:n,sizeLods:e,sigmas:t}}function dO(i,e,t){const n=new Js(i,e,t);return n.texture.mapping=Mt,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function By(i,e,t,n,r){i.viewport.set(e,t,n,r),i.scissor.set(e,t,n,r)}function pZ(i,e,t){return new _u({name:"PMREMGGXConvolution",defines:{GGX_SAMPLES:dZ,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${i}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:Y1(),fragmentShader:` + + precision highp float; + precision highp int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform float roughness; + uniform float mipInt; + + #define ENVMAP_TYPE_CUBE_UV + #include + + #define PI 3.14159265359 + + // Van der Corput radical inverse + float radicalInverse_VdC(uint bits) { + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits) * 2.3283064365386963e-10; // / 0x100000000 + } + + // Hammersley sequence + vec2 hammersley(uint i, uint N) { + return vec2(float(i) / float(N), radicalInverse_VdC(i)); + } + + // GGX VNDF importance sampling (Eric Heitz 2018) + // "Sampling the GGX Distribution of Visible Normals" + // https://jcgt.org/published/0007/04/01/ + vec3 importanceSampleGGX_VNDF(vec2 Xi, vec3 V, float roughness) { + float alpha = roughness * roughness; + + // Section 3.2: Transform view direction to hemisphere configuration + vec3 Vh = normalize(vec3(alpha * V.x, alpha * V.y, V.z)); + + // Section 4.1: Orthonormal basis + float lensq = Vh.x * Vh.x + Vh.y * Vh.y; + vec3 T1 = lensq > 0.0 ? vec3(-Vh.y, Vh.x, 0.0) / sqrt(lensq) : vec3(1.0, 0.0, 0.0); + vec3 T2 = cross(Vh, T1); + + // Section 4.2: Parameterization of projected area + float r = sqrt(Xi.x); + float phi = 2.0 * PI * Xi.y; + float t1 = r * cos(phi); + float t2 = r * sin(phi); + float s = 0.5 * (1.0 + Vh.z); + t2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2; + + // Section 4.3: Reprojection onto hemisphere + vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * Vh; + + // Section 3.4: Transform back to ellipsoid configuration + return normalize(vec3(alpha * Nh.x, alpha * Nh.y, max(0.0, Nh.z))); + } + + void main() { + vec3 N = normalize(vOutputDirection); + vec3 V = N; // Assume view direction equals normal for pre-filtering + + vec3 prefilteredColor = vec3(0.0); + float totalWeight = 0.0; + + // For very low roughness, just sample the environment directly + if (roughness < 0.001) { + gl_FragColor = vec4(bilinearCubeUV(envMap, N, mipInt), 1.0); + return; + } + + // Tangent space basis for VNDF sampling + vec3 up = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangent = normalize(cross(up, N)); + vec3 bitangent = cross(N, tangent); + + for(uint i = 0u; i < uint(GGX_SAMPLES); i++) { + vec2 Xi = hammersley(i, uint(GGX_SAMPLES)); + + // For PMREM, V = N, so in tangent space V is always (0, 0, 1) + vec3 H_tangent = importanceSampleGGX_VNDF(Xi, vec3(0.0, 0.0, 1.0), roughness); + + // Transform H back to world space + vec3 H = normalize(tangent * H_tangent.x + bitangent * H_tangent.y + N * H_tangent.z); + vec3 L = normalize(2.0 * dot(V, H) * H - V); + + float NdotL = max(dot(N, L), 0.0); + + if(NdotL > 0.0) { + // Sample environment at fixed mip level + // VNDF importance sampling handles the distribution filtering + vec3 sampleColor = bilinearCubeUV(envMap, L, mipInt); + + // Weight by NdotL for the split-sum approximation + // VNDF PDF naturally accounts for the visible microfacet distribution + prefilteredColor += sampleColor * NdotL; + totalWeight += NdotL; + } + } + + if (totalWeight > 0.0) { + prefilteredColor = prefilteredColor / totalWeight; + } + + gl_FragColor = vec4(prefilteredColor, 1.0); + } + `,blending:fe,depthTest:!1,depthWrite:!1})}function gZ(i,e,t){const n=new Float32Array(Z0),r=new ye(0,1,0);return new _u({name:"SphericalGaussianBlur",defines:{n:Z0,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${i}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Y1(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `,blending:fe,depthTest:!1,depthWrite:!1})}function fO(){return new _u({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Y1(),fragmentShader:` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + + #include + + void main() { + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); + + } + `,blending:fe,depthTest:!1,depthWrite:!1})}function AO(){return new _u({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Y1(),fragmentShader:` + + precision mediump float; + precision mediump int; + + uniform float flipEnvMap; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + void main() { + + gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); + + } + `,blending:fe,depthTest:!1,depthWrite:!1})}function Y1(){return` + + precision mediump float; + precision mediump int; + + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `}function mZ(i){let e=new WeakMap,t=null;function n(o){if(o&&o.isTexture){const l=o.mapping,c=l===dt||l===Tt,u=l===je||l===Xe;if(c||u){let h=e.get(o);const d=h!==void 0?h.texture.pmremVersion:0;if(o.isRenderTargetTexture&&o.pmremVersion!==d)return t===null&&(t=new hO(i)),h=c?t.fromEquirectangular(o,h):t.fromCubemap(o,h),h.texture.pmremVersion=o.pmremVersion,e.set(o,h),h.texture;if(h!==void 0)return h.texture;{const f=o.image;return c&&f&&f.height>0||u&&f&&r(f)?(t===null&&(t=new hO(i)),h=c?t.fromEquirectangular(o):t.fromCubemap(o),h.texture.pmremVersion=o.pmremVersion,e.set(o,h),o.addEventListener("dispose",s),h.texture):null}}}return o}function r(o){let l=0;const c=6;for(let u=0;ue.maxTextureSize&&(se=Math.ceil($/e.maxTextureSize),$=e.maxTextureSize);const ie=new Float32Array($*se*4*h),ce=new oe(ie,$,se,h);ce.type=rn,ce.needsUpdate=!0;const ue=k*4;for(let Fe=0;Fe + #include + + void main() { + gl_FragColor = texture2D( tDiffuse, vUv ); + + #ifdef LINEAR_TONE_MAPPING + gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb ); + #elif defined( REINHARD_TONE_MAPPING ) + gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb ); + #elif defined( CINEON_TONE_MAPPING ) + gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb ); + #elif defined( ACES_FILMIC_TONE_MAPPING ) + gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb ); + #elif defined( AGX_TONE_MAPPING ) + gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb ); + #elif defined( NEUTRAL_TONE_MAPPING ) + gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb ); + #elif defined( CUSTOM_TONE_MAPPING ) + gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb ); + #endif + + #ifdef SRGB_TRANSFER + gl_FragColor = sRGBTransferOETF( gl_FragColor ); + #endif + }`,depthTest:!1,depthWrite:!1}),c=new vl(o,l),u=new U0(-1,1,1,-1,0,1);let h=null,d=null,f=!1,A,y=null,b=[],x=!1;this.setSize=function(P,k){s.setSize(P,k),a.setSize(P,k);for(let $=0;$0&&b[0].isRenderPass===!0;const k=s.width,$=s.height;for(let se=0;se0)return i;const r=e*t;let s=yO[r];if(s===void 0&&(s=new Float32Array(r),yO[r]=s),e!==0){n.toArray(s,0);for(let a=1,o=0;a!==e;++a)o+=t,i[a].toArray(s,o)}return s}function Su(i,e){if(i.length!==e.length)return!1;for(let t=0,n=i.length;t0&&(this.seq=r.concat(s))}setValue(e,t,n,r){const s=this.map[t];s!==void 0&&s.setValue(e,n,r)}setOptional(e,t,n){const r=t[n];r!==void 0&&this.setValue(e,n,r)}static upload(e,t,n,r){for(let s=0,a=t.length;s!==a;++s){const o=t[s],l=n[o.id];l.needsUpdate!==!1&&o.setValue(e,l.value,r)}}static seqWithValue(e,t){const n=[];for(let r=0,s=e.length;r!==s;++r){const a=e[r];a.id in t&&n.push(a)}return n}}function SO(i,e,t){const n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}const g$=37297;let m$=0;function v$(i,e){const t=i.split(` +`),n=[],r=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let a=r;a":" "} ${o}: ${t[a]}`)}return n.join(` +`)}const CO=new Pn;function y$(i){xr._getMatrix(CO,xr.workingColorSpace,i);const e=`mat3( ${CO.elements.map(t=>t.toFixed(4))} )`;switch(xr.getTransfer(i)){case Sl:return[e,"LinearTransferOETF"];case Hi:return[e,"sRGBTransferOETF"];default:return sr("WebGLProgram: Unsupported color space: ",i),[e,"LinearTransferOETF"]}}function MO(i,e,t){const n=i.getShaderParameter(e,i.COMPILE_STATUS),s=(i.getShaderInfoLog(e)||"").trim();if(n&&s==="")return"";const a=/ERROR: 0:(\d+)/.exec(s);if(a){const o=parseInt(a[1]);return t.toUpperCase()+` + +`+s+` + +`+v$(i.getShaderSource(e),o)}else return s}function x$(i,e){const t=y$(e);return[`vec4 ${i}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` +`)}const b$={[de]:"Linear",[vt]:"Reinhard",[mt]:"Cineon",[Qt]:"ACESFilmic",[hn]:"AgX",[ze]:"Neutral",[jt]:"Custom"};function _$(i,e){const t=b$[e];return t===void 0?(sr("WebGLProgram: Unsupported toneMapping:",e),"vec3 "+i+"( vec3 color ) { return LinearToneMapping( color ); }"):"vec3 "+i+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const ew=new ye;function w$(){xr.getLuminanceCoefficients(ew);const i=ew.x.toFixed(4),e=ew.y.toFixed(4),t=ew.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${i}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` +`)}function E$(i){return[i.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",i.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(_b).join(` +`)}function S$(i){const e=[];for(const t in i){const n=i[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` +`)}function C$(i,e){const t={},n=i.getProgramParameter(e,i.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function vT(i){return i.replace(M$,B$)}const T$=new Map;function B$(i,e){let t=Co[e];if(t===void 0){const n=T$.get(e);if(n!==void 0)t=Co[n],sr('WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return vT(t)}const R$=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function RO(i){return i.replace(R$,I$)}function I$(i,e,t,n){let r="";for(let s=parseInt(e);s0&&(b+=` +`),x=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A].filter(_b).join(` +`),x.length>0&&(x+=` +`)):(b=[IO(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",t.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` +`].filter(_b).join(` +`),x=[IO(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+u:"",t.envMap?"#define "+h:"",d?"#define CUBEUV_TEXEL_WIDTH "+d.texelWidth:"",d?"#define CUBEUV_TEXEL_HEIGHT "+d.texelHeight:"",d?"#define CUBEUV_MAX_MIP "+d.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",t.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==U?"#define TONE_MAPPING":"",t.toneMapping!==U?Co.tonemapping_pars_fragment:"",t.toneMapping!==U?_$("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",Co.colorspace_pars_fragment,x$("linearToOutputTexel",t.outputColorSpace),w$(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`].filter(_b).join(` +`)),a=vT(a),a=TO(a,t),a=BO(a,t),o=vT(o),o=TO(o,t),o=BO(o,t),a=RO(a),o=RO(o),t.isRawShaderMaterial!==!0&&(P=`#version 300 es +`,b=[f,"#define attribute in","#define varying out","#define texture2D texture"].join(` +`)+` +`+b,x=["#define varying in",t.glslVersion===kl?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===kl?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` +`)+` +`+x);const k=P+b+a,$=P+x+o,se=SO(r,r.VERTEX_SHADER,k),ie=SO(r,r.FRAGMENT_SHADER,$);r.attachShader(y,se),r.attachShader(y,ie),t.index0AttributeName!==void 0?r.bindAttribLocation(y,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(y,0,"position"),r.linkProgram(y);function ce(nt){if(i.debug.checkShaderErrors){const Gt=r.getProgramInfoLog(y)||"",Jt=r.getShaderInfoLog(se)||"",gn=r.getShaderInfoLog(ie)||"",yn=Gt.trim(),Mn=Jt.trim(),rr=gn.trim();let Hn=!0,Er=!0;if(r.getProgramParameter(y,r.LINK_STATUS)===!1)if(Hn=!1,typeof i.debug.onShaderError=="function")i.debug.onShaderError(r,y,se,ie);else{const Hr=MO(r,se,"vertex"),qn=MO(r,ie,"fragment");Nr("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(y,r.VALIDATE_STATUS)+` + +Material Name: `+nt.name+` +Material Type: `+nt.type+` + +Program Info Log: `+yn+` +`+Hr+` +`+qn)}else yn!==""?sr("WebGLProgram: Program Info Log:",yn):(Mn===""||rr==="")&&(Er=!1);Er&&(nt.diagnostics={runnable:Hn,programLog:yn,vertexShader:{log:Mn,prefix:b},fragmentShader:{log:rr,prefix:x}})}r.deleteShader(se),r.deleteShader(ie),ue=new J1(r,y),ve=C$(r,y)}let ue;this.getUniforms=function(){return ue===void 0&&ce(this),ue};let ve;this.getAttributes=function(){return ve===void 0&&ce(this),ve};let Fe=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return Fe===!1&&(Fe=r.getProgramParameter(y,g$)),Fe},this.destroy=function(){n.releaseStatesOfProgram(this),r.deleteProgram(y),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=m$++,this.cacheKey=e,this.usedTimes=1,this.program=y,this.vertexShader=se,this.fragmentShader=ie,this}let H$=0;class G${constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(s)===!1&&(a.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new Q$(e),t.set(e,n)),n}}class Q${constructor(e){this.id=H$++,this.code=e,this.usedTimes=0}}function W$(i,e,t,n,r,s,a){const o=new Fl,l=new G$,c=new Set,u=[],h=new Map,d=r.logarithmicDepthBuffer;let f=r.precision;const A={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distance",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function y(ve){return c.add(ve),ve===0?"uv":`uv${ve}`}function b(ve,Fe,nt,Gt,Jt){const gn=Gt.fog,yn=Jt.geometry,Mn=ve.isMeshStandardMaterial?Gt.environment:null,rr=(ve.isMeshStandardMaterial?t:e).get(ve.envMap||Mn),Hn=rr&&rr.mapping===Mt?rr.image.height:null,Er=A[ve.type];ve.precision!==null&&(f=r.getMaxPrecision(ve.precision),f!==ve.precision&&sr("WebGLProgram.getParameters:",ve.precision,"not supported, using",f,"instead."));const Hr=yn.morphAttributes.position||yn.morphAttributes.normal||yn.morphAttributes.color,qn=Hr!==void 0?Hr.length:0;let Jr=0;yn.morphAttributes.position!==void 0&&(Jr=1),yn.morphAttributes.normal!==void 0&&(Jr=2),yn.morphAttributes.color!==void 0&&(Jr=3);let gi,Zi,Xr,or;if(Er){const Dl=lp[Er];gi=Dl.vertexShader,Zi=Dl.fragmentShader}else gi=ve.vertexShader,Zi=ve.fragmentShader,l.update(ve),Xr=l.getVertexShaderID(ve),or=l.getFragmentShaderID(ve);const Sr=i.getRenderTarget(),Ri=i.state.buffers.depth.getReversed(),xi=Jt.isInstancedMesh===!0,Qi=Jt.isBatchedMesh===!0,Ks=!!ve.map,ga=!!ve.matcap,ra=!!rr,gr=!!ve.aoMap,kr=!!ve.lightMap,Br=!!ve.bumpMap,oi=!!ve.normalMap,ln=!!ve.displacementMap,As=!!ve.emissiveMap,Fi=!!ve.metalnessMap,Fs=!!ve.roughnessMap,zi=ve.anisotropy>0,An=ve.clearcoat>0,St=ve.dispersion>0,Ar=ve.iridescence>0,ei=ve.sheen>0,Pi=ve.transmission>0,hi=zi&&!!ve.anisotropyMap,ca=An&&!!ve.clearcoatMap,bs=An&&!!ve.clearcoatNormalMap,ua=An&&!!ve.clearcoatRoughnessMap,Va=Ar&&!!ve.iridescenceMap,Xi=Ar&&!!ve.iridescenceThicknessMap,Ns=ei&&!!ve.sheenColorMap,ma=ei&&!!ve.sheenRoughnessMap,Sa=!!ve.specularMap,Is=!!ve.specularColorMap,Po=!!ve.specularIntensityMap,vr=Pi&&!!ve.transmissionMap,Zs=Pi&&!!ve.thicknessMap,ps=!!ve.gradientMap,ea=!!ve.alphaMap,ns=ve.alphaTest>0,Di=!!ve.alphaHash,Bs=!!ve.extensions;let uo=U;ve.toneMapped&&(Sr===null||Sr.isXRRenderTarget===!0)&&(uo=i.toneMapping);const ac={shaderID:Er,shaderType:ve.type,shaderName:ve.name,vertexShader:gi,fragmentShader:Zi,defines:ve.defines,customVertexShaderID:Xr,customFragmentShaderID:or,isRawShaderMaterial:ve.isRawShaderMaterial===!0,glslVersion:ve.glslVersion,precision:f,batching:Qi,batchingColor:Qi&&Jt._colorsTexture!==null,instancing:xi,instancingColor:xi&&Jt.instanceColor!==null,instancingMorph:xi&&Jt.morphTexture!==null,outputColorSpace:Sr===null?i.outputColorSpace:Sr.isXRRenderTarget===!0?Sr.texture.colorSpace:zo,alphaToCoverage:!!ve.alphaToCoverage,map:Ks,matcap:ga,envMap:ra,envMapMode:ra&&rr.mapping,envMapCubeUVHeight:Hn,aoMap:gr,lightMap:kr,bumpMap:Br,normalMap:oi,displacementMap:ln,emissiveMap:As,normalMapObjectSpace:oi&&ve.normalMapType===Eo,normalMapTangentSpace:oi&&ve.normalMapType===wa,metalnessMap:Fi,roughnessMap:Fs,anisotropy:zi,anisotropyMap:hi,clearcoat:An,clearcoatMap:ca,clearcoatNormalMap:bs,clearcoatRoughnessMap:ua,dispersion:St,iridescence:Ar,iridescenceMap:Va,iridescenceThicknessMap:Xi,sheen:ei,sheenColorMap:Ns,sheenRoughnessMap:ma,specularMap:Sa,specularColorMap:Is,specularIntensityMap:Po,transmission:Pi,transmissionMap:vr,thicknessMap:Zs,gradientMap:ps,opaque:ve.transparent===!1&&ve.blending===Le&&ve.alphaToCoverage===!1,alphaMap:ea,alphaTest:ns,alphaHash:Di,combine:ve.combine,mapUv:Ks&&y(ve.map.channel),aoMapUv:gr&&y(ve.aoMap.channel),lightMapUv:kr&&y(ve.lightMap.channel),bumpMapUv:Br&&y(ve.bumpMap.channel),normalMapUv:oi&&y(ve.normalMap.channel),displacementMapUv:ln&&y(ve.displacementMap.channel),emissiveMapUv:As&&y(ve.emissiveMap.channel),metalnessMapUv:Fi&&y(ve.metalnessMap.channel),roughnessMapUv:Fs&&y(ve.roughnessMap.channel),anisotropyMapUv:hi&&y(ve.anisotropyMap.channel),clearcoatMapUv:ca&&y(ve.clearcoatMap.channel),clearcoatNormalMapUv:bs&&y(ve.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:ua&&y(ve.clearcoatRoughnessMap.channel),iridescenceMapUv:Va&&y(ve.iridescenceMap.channel),iridescenceThicknessMapUv:Xi&&y(ve.iridescenceThicknessMap.channel),sheenColorMapUv:Ns&&y(ve.sheenColorMap.channel),sheenRoughnessMapUv:ma&&y(ve.sheenRoughnessMap.channel),specularMapUv:Sa&&y(ve.specularMap.channel),specularColorMapUv:Is&&y(ve.specularColorMap.channel),specularIntensityMapUv:Po&&y(ve.specularIntensityMap.channel),transmissionMapUv:vr&&y(ve.transmissionMap.channel),thicknessMapUv:Zs&&y(ve.thicknessMap.channel),alphaMapUv:ea&&y(ve.alphaMap.channel),vertexTangents:!!yn.attributes.tangent&&(oi||zi),vertexColors:ve.vertexColors,vertexAlphas:ve.vertexColors===!0&&!!yn.attributes.color&&yn.attributes.color.itemSize===4,pointsUvs:Jt.isPoints===!0&&!!yn.attributes.uv&&(Ks||ea),fog:!!gn,useFog:ve.fog===!0,fogExp2:!!gn&&gn.isFogExp2,flatShading:ve.flatShading===!0&&ve.wireframe===!1,sizeAttenuation:ve.sizeAttenuation===!0,logarithmicDepthBuffer:d,reversedDepthBuffer:Ri,skinning:Jt.isSkinnedMesh===!0,morphTargets:yn.morphAttributes.position!==void 0,morphNormals:yn.morphAttributes.normal!==void 0,morphColors:yn.morphAttributes.color!==void 0,morphTargetsCount:qn,morphTextureStride:Jr,numDirLights:Fe.directional.length,numPointLights:Fe.point.length,numSpotLights:Fe.spot.length,numSpotLightMaps:Fe.spotLightMap.length,numRectAreaLights:Fe.rectArea.length,numHemiLights:Fe.hemi.length,numDirLightShadows:Fe.directionalShadowMap.length,numPointLightShadows:Fe.pointShadowMap.length,numSpotLightShadows:Fe.spotShadowMap.length,numSpotLightShadowsWithMaps:Fe.numSpotLightShadowsWithMaps,numLightProbes:Fe.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:ve.dithering,shadowMapEnabled:i.shadowMap.enabled&&nt.length>0,shadowMapType:i.shadowMap.type,toneMapping:uo,decodeVideoTexture:Ks&&ve.map.isVideoTexture===!0&&xr.getTransfer(ve.map.colorSpace)===Hi,decodeVideoTextureEmissive:As&&ve.emissiveMap.isVideoTexture===!0&&xr.getTransfer(ve.emissiveMap.colorSpace)===Hi,premultipliedAlpha:ve.premultipliedAlpha,doubleSided:ve.side===pe,flipSided:ve.side===ge,useDepthPacking:ve.depthPacking>=0,depthPacking:ve.depthPacking||0,index0AttributeName:ve.index0AttributeName,extensionClipCullDistance:Bs&&ve.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(Bs&&ve.extensions.multiDraw===!0||Qi)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:ve.customProgramCacheKey()};return ac.vertexUv1s=c.has(1),ac.vertexUv2s=c.has(2),ac.vertexUv3s=c.has(3),c.clear(),ac}function x(ve){const Fe=[];if(ve.shaderID?Fe.push(ve.shaderID):(Fe.push(ve.customVertexShaderID),Fe.push(ve.customFragmentShaderID)),ve.defines!==void 0)for(const nt in ve.defines)Fe.push(nt),Fe.push(ve.defines[nt]);return ve.isRawShaderMaterial===!1&&(P(Fe,ve),k(Fe,ve),Fe.push(i.outputColorSpace)),Fe.push(ve.customProgramCacheKey),Fe.join()}function P(ve,Fe){ve.push(Fe.precision),ve.push(Fe.outputColorSpace),ve.push(Fe.envMapMode),ve.push(Fe.envMapCubeUVHeight),ve.push(Fe.mapUv),ve.push(Fe.alphaMapUv),ve.push(Fe.lightMapUv),ve.push(Fe.aoMapUv),ve.push(Fe.bumpMapUv),ve.push(Fe.normalMapUv),ve.push(Fe.displacementMapUv),ve.push(Fe.emissiveMapUv),ve.push(Fe.metalnessMapUv),ve.push(Fe.roughnessMapUv),ve.push(Fe.anisotropyMapUv),ve.push(Fe.clearcoatMapUv),ve.push(Fe.clearcoatNormalMapUv),ve.push(Fe.clearcoatRoughnessMapUv),ve.push(Fe.iridescenceMapUv),ve.push(Fe.iridescenceThicknessMapUv),ve.push(Fe.sheenColorMapUv),ve.push(Fe.sheenRoughnessMapUv),ve.push(Fe.specularMapUv),ve.push(Fe.specularColorMapUv),ve.push(Fe.specularIntensityMapUv),ve.push(Fe.transmissionMapUv),ve.push(Fe.thicknessMapUv),ve.push(Fe.combine),ve.push(Fe.fogExp2),ve.push(Fe.sizeAttenuation),ve.push(Fe.morphTargetsCount),ve.push(Fe.morphAttributeCount),ve.push(Fe.numDirLights),ve.push(Fe.numPointLights),ve.push(Fe.numSpotLights),ve.push(Fe.numSpotLightMaps),ve.push(Fe.numHemiLights),ve.push(Fe.numRectAreaLights),ve.push(Fe.numDirLightShadows),ve.push(Fe.numPointLightShadows),ve.push(Fe.numSpotLightShadows),ve.push(Fe.numSpotLightShadowsWithMaps),ve.push(Fe.numLightProbes),ve.push(Fe.shadowMapType),ve.push(Fe.toneMapping),ve.push(Fe.numClippingPlanes),ve.push(Fe.numClipIntersection),ve.push(Fe.depthPacking)}function k(ve,Fe){o.disableAll(),Fe.instancing&&o.enable(0),Fe.instancingColor&&o.enable(1),Fe.instancingMorph&&o.enable(2),Fe.matcap&&o.enable(3),Fe.envMap&&o.enable(4),Fe.normalMapObjectSpace&&o.enable(5),Fe.normalMapTangentSpace&&o.enable(6),Fe.clearcoat&&o.enable(7),Fe.iridescence&&o.enable(8),Fe.alphaTest&&o.enable(9),Fe.vertexColors&&o.enable(10),Fe.vertexAlphas&&o.enable(11),Fe.vertexUv1s&&o.enable(12),Fe.vertexUv2s&&o.enable(13),Fe.vertexUv3s&&o.enable(14),Fe.vertexTangents&&o.enable(15),Fe.anisotropy&&o.enable(16),Fe.alphaHash&&o.enable(17),Fe.batching&&o.enable(18),Fe.dispersion&&o.enable(19),Fe.batchingColor&&o.enable(20),Fe.gradientMap&&o.enable(21),ve.push(o.mask),o.disableAll(),Fe.fog&&o.enable(0),Fe.useFog&&o.enable(1),Fe.flatShading&&o.enable(2),Fe.logarithmicDepthBuffer&&o.enable(3),Fe.reversedDepthBuffer&&o.enable(4),Fe.skinning&&o.enable(5),Fe.morphTargets&&o.enable(6),Fe.morphNormals&&o.enable(7),Fe.morphColors&&o.enable(8),Fe.premultipliedAlpha&&o.enable(9),Fe.shadowMapEnabled&&o.enable(10),Fe.doubleSided&&o.enable(11),Fe.flipSided&&o.enable(12),Fe.useDepthPacking&&o.enable(13),Fe.dithering&&o.enable(14),Fe.transmission&&o.enable(15),Fe.sheen&&o.enable(16),Fe.opaque&&o.enable(17),Fe.pointsUvs&&o.enable(18),Fe.decodeVideoTexture&&o.enable(19),Fe.decodeVideoTextureEmissive&&o.enable(20),Fe.alphaToCoverage&&o.enable(21),ve.push(o.mask)}function $(ve){const Fe=A[ve.type];let nt;if(Fe){const Gt=lp[Fe];nt=Zf.clone(Gt.uniforms)}else nt=ve.uniforms;return nt}function se(ve,Fe){let nt=h.get(Fe);return nt!==void 0?++nt.usedTimes:(nt=new V$(i,Fe,ve,s),u.push(nt),h.set(Fe,nt)),nt}function ie(ve){if(--ve.usedTimes===0){const Fe=u.indexOf(ve);u[Fe]=u[u.length-1],u.pop(),h.delete(ve.cacheKey),ve.destroy()}}function ce(ve){l.remove(ve)}function ue(){l.dispose()}return{getParameters:b,getProgramCacheKey:x,getUniforms:$,acquireProgram:se,releaseProgram:ie,releaseShaderCache:ce,programs:u,dispose:ue}}function Z$(){let i=new WeakMap;function e(a){return i.has(a)}function t(a){let o=i.get(a);return o===void 0&&(o={},i.set(a,o)),o}function n(a){i.delete(a)}function r(a,o,l){i.get(a)[o]=l}function s(){i=new WeakMap}return{has:e,get:t,remove:n,update:r,dispose:s}}function $$(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.material.id!==e.material.id?i.material.id-e.material.id:i.z!==e.z?i.z-e.z:i.id-e.id}function NO(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.z!==e.z?e.z-i.z:i.id-e.id}function PO(){const i=[];let e=0;const t=[],n=[],r=[];function s(){e=0,t.length=0,n.length=0,r.length=0}function a(h,d,f,A,y,b){let x=i[e];return x===void 0?(x={id:h.id,object:h,geometry:d,material:f,groupOrder:A,renderOrder:h.renderOrder,z:y,group:b},i[e]=x):(x.id=h.id,x.object=h,x.geometry=d,x.material=f,x.groupOrder=A,x.renderOrder=h.renderOrder,x.z=y,x.group=b),e++,x}function o(h,d,f,A,y,b){const x=a(h,d,f,A,y,b);f.transmission>0?n.push(x):f.transparent===!0?r.push(x):t.push(x)}function l(h,d,f,A,y,b){const x=a(h,d,f,A,y,b);f.transmission>0?n.unshift(x):f.transparent===!0?r.unshift(x):t.unshift(x)}function c(h,d){t.length>1&&t.sort(h||$$),n.length>1&&n.sort(d||NO),r.length>1&&r.sort(d||NO)}function u(){for(let h=e,d=i.length;h=s.length?(a=new PO,s.push(a)):a=s[r],a}function t(){i=new WeakMap}return{get:e,dispose:t}}function K$(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new ye,color:new hs};break;case"SpotLight":t={position:new ye,direction:new ye,color:new hs,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new ye,color:new hs,distance:0,decay:0};break;case"HemisphereLight":t={direction:new ye,skyColor:new hs,groundColor:new hs};break;case"RectAreaLight":t={color:new hs,position:new ye,halfWidth:new ye,halfHeight:new ye};break}return i[e.id]=t,t}}}function X$(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Qe};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Qe};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Qe,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}let Y$=0;function q$(i,e){return(e.castShadow?2:0)-(i.castShadow?2:0)+(e.map?1:0)-(i.map?1:0)}function J$(i){const e=new K$,t=X$(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)n.probe.push(new ye);const r=new ye,s=new pi,a=new pi;function o(c){let u=0,h=0,d=0;for(let ve=0;ve<9;ve++)n.probe[ve].set(0,0,0);let f=0,A=0,y=0,b=0,x=0,P=0,k=0,$=0,se=0,ie=0,ce=0;c.sort(q$);for(let ve=0,Fe=c.length;ve0&&(i.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Us.LTC_FLOAT_1,n.rectAreaLTC2=Us.LTC_FLOAT_2):(n.rectAreaLTC1=Us.LTC_HALF_1,n.rectAreaLTC2=Us.LTC_HALF_2)),n.ambient[0]=u,n.ambient[1]=h,n.ambient[2]=d;const ue=n.hash;(ue.directionalLength!==f||ue.pointLength!==A||ue.spotLength!==y||ue.rectAreaLength!==b||ue.hemiLength!==x||ue.numDirectionalShadows!==P||ue.numPointShadows!==k||ue.numSpotShadows!==$||ue.numSpotMaps!==se||ue.numLightProbes!==ce)&&(n.directional.length=f,n.spot.length=y,n.rectArea.length=b,n.point.length=A,n.hemi.length=x,n.directionalShadow.length=P,n.directionalShadowMap.length=P,n.pointShadow.length=k,n.pointShadowMap.length=k,n.spotShadow.length=$,n.spotShadowMap.length=$,n.directionalShadowMatrix.length=P,n.pointShadowMatrix.length=k,n.spotLightMatrix.length=$+se-ie,n.spotLightMap.length=se,n.numSpotLightShadowsWithMaps=ie,n.numLightProbes=ce,ue.directionalLength=f,ue.pointLength=A,ue.spotLength=y,ue.rectAreaLength=b,ue.hemiLength=x,ue.numDirectionalShadows=P,ue.numPointShadows=k,ue.numSpotShadows=$,ue.numSpotMaps=se,ue.numLightProbes=ce,n.version=Y$++)}function l(c,u){let h=0,d=0,f=0,A=0,y=0;const b=u.matrixWorldInverse;for(let x=0,P=c.length;x=a.length?(o=new FO(i),a.push(o)):o=a[s],o}function n(){e=new WeakMap}return{get:t,dispose:n}}const tj=`void main() { + gl_Position = vec4( position, 1.0 ); +}`,nj=`uniform sampler2D shadow_pass; +uniform vec2 resolution; +uniform float radius; +void main() { + const float samples = float( VSM_SAMPLES ); + float mean = 0.0; + float squared_mean = 0.0; + float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); + float uvStart = samples <= 1.0 ? 0.0 : - 1.0; + for ( float i = 0.0; i < samples; i ++ ) { + float uvOffset = uvStart + i * uvStride; + #ifdef HORIZONTAL_PASS + vec2 distribution = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ).rg; + mean += distribution.x; + squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; + #else + float depth = texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ).r; + mean += depth; + squared_mean += depth * depth; + #endif + } + mean = mean / samples; + squared_mean = squared_mean / samples; + float std_dev = sqrt( max( 0.0, squared_mean - mean * mean ) ); + gl_FragColor = vec4( mean, std_dev, 0.0, 1.0 ); +}`,rj=[new ye(1,0,0),new ye(-1,0,0),new ye(0,1,0),new ye(0,-1,0),new ye(0,0,1),new ye(0,0,-1)],ij=[new ye(0,-1,0),new ye(0,-1,0),new ye(0,0,1),new ye(0,0,-1),new ye(0,-1,0),new ye(0,-1,0)],OO=new pi,wb=new ye,yT=new ye;function sj(i,e,t){let n=new Ld;const r=new Qe,s=new Qe,a=new Mi,o=new LP,l=new DP,c={},u=t.maxTextureSize,h={[te]:ge,[ge]:te,[pe]:pe},d=new _u({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Qe},radius:{value:4}},vertexShader:tj,fragmentShader:nj}),f=d.clone();f.defines.HORIZONTAL_PASS=1;const A=new js;A.setAttribute("position",new ul(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const y=new vl(A,d),b=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=D;let x=this.type;this.render=function(ie,ce,ue){if(b.enabled===!1||b.autoUpdate===!1&&b.needsUpdate===!1||ie.length===0)return;ie.type===z&&(sr("WebGLShadowMap: PCFSoftShadowMap has been deprecated. Using PCFShadowMap instead."),ie.type=D);const ve=i.getRenderTarget(),Fe=i.getActiveCubeFace(),nt=i.getActiveMipmapLevel(),Gt=i.state;Gt.setBlending(fe),Gt.buffers.depth.getReversed()===!0?Gt.buffers.color.setClear(0,0,0,0):Gt.buffers.color.setClear(1,1,1,1),Gt.buffers.depth.setTest(!0),Gt.setScissorTest(!1);const Jt=x!==this.type;Jt&&ce.traverse(function(gn){gn.material&&(Array.isArray(gn.material)?gn.material.forEach(yn=>yn.needsUpdate=!0):gn.material.needsUpdate=!0)});for(let gn=0,yn=ie.length;gnu||r.y>u)&&(r.x>u&&(s.x=Math.floor(u/Hn.x),r.x=s.x*Hn.x,rr.mapSize.x=s.x),r.y>u&&(s.y=Math.floor(u/Hn.y),r.y=s.y*Hn.y,rr.mapSize.y=s.y)),rr.map===null||Jt===!0){if(rr.map!==null&&(rr.map.depthTexture!==null&&(rr.map.depthTexture.dispose(),rr.map.depthTexture=null),rr.map.dispose()),this.type===ee){if(Mn.isPointLight){sr("WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.");continue}rr.map=new Js(r.x,r.y,{format:$e,type:Dt,minFilter:br,magFilter:br,generateMipmaps:!1}),rr.map.texture.name=Mn.name+".shadowMap",rr.map.depthTexture=new ja(r.x,r.y,rn),rr.map.depthTexture.name=Mn.name+".shadowMapDepth",rr.map.depthTexture.format=H,rr.map.depthTexture.compareFunction=null,rr.map.depthTexture.minFilter=_n,rr.map.depthTexture.magFilter=_n}else{Mn.isPointLight?(rr.map=new dm(r.x),rr.map.depthTexture=new yl(r.x,Ft)):(rr.map=new Js(r.x,r.y),rr.map.depthTexture=new ja(r.x,r.y,Ft)),rr.map.depthTexture.name=Mn.name+".shadowMap",rr.map.depthTexture.format=H;const Hr=i.state.buffers.depth.getReversed();this.type===D?(rr.map.depthTexture.compareFunction=Hr?cc:ta,rr.map.depthTexture.minFilter=br,rr.map.depthTexture.magFilter=br):(rr.map.depthTexture.compareFunction=null,rr.map.depthTexture.minFilter=_n,rr.map.depthTexture.magFilter=_n)}rr.camera.updateProjectionMatrix()}const Er=rr.map.isWebGLCubeRenderTarget?6:1;for(let Hr=0;Hr0||ce.map&&ce.alphaTest>0||ce.alphaToCoverage===!0){const Gt=Fe.uuid,Jt=ce.uuid;let gn=c[Gt];gn===void 0&&(gn={},c[Gt]=gn);let yn=gn[Jt];yn===void 0&&(yn=Fe.clone(),gn[Jt]=yn,ce.addEventListener("dispose",se)),Fe=yn}if(Fe.visible=ce.visible,Fe.wireframe=ce.wireframe,ve===ee?Fe.side=ce.shadowSide!==null?ce.shadowSide:ce.side:Fe.side=ce.shadowSide!==null?ce.shadowSide:h[ce.side],Fe.alphaMap=ce.alphaMap,Fe.alphaTest=ce.alphaToCoverage===!0?.5:ce.alphaTest,Fe.map=ce.map,Fe.clipShadows=ce.clipShadows,Fe.clippingPlanes=ce.clippingPlanes,Fe.clipIntersection=ce.clipIntersection,Fe.displacementMap=ce.displacementMap,Fe.displacementScale=ce.displacementScale,Fe.displacementBias=ce.displacementBias,Fe.wireframeLinewidth=ce.wireframeLinewidth,Fe.linewidth=ce.linewidth,ue.isPointLight===!0&&Fe.isMeshDistanceMaterial===!0){const Gt=i.properties.get(Fe);Gt.light=ue}return Fe}function $(ie,ce,ue,ve,Fe){if(ie.visible===!1)return;if(ie.layers.test(ce.layers)&&(ie.isMesh||ie.isLine||ie.isPoints)&&(ie.castShadow||ie.receiveShadow&&Fe===ee)&&(!ie.frustumCulled||n.intersectsObject(ie))){ie.modelViewMatrix.multiplyMatrices(ue.matrixWorldInverse,ie.matrixWorld);const Jt=e.update(ie),gn=ie.material;if(Array.isArray(gn)){const yn=Jt.groups;for(let Mn=0,rr=yn.length;Mn=1):Hn.indexOf("OpenGL ES")!==-1&&(rr=parseFloat(/^OpenGL ES (\d)/.exec(Hn)[1]),Mn=rr>=2);let Er=null,Hr={};const qn=i.getParameter(i.SCISSOR_BOX),Jr=i.getParameter(i.VIEWPORT),gi=new Mi().fromArray(qn),Zi=new Mi().fromArray(Jr);function Xr(vr,Zs,ps,ea){const ns=new Uint8Array(4),Di=i.createTexture();i.bindTexture(vr,Di),i.texParameteri(vr,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(vr,i.TEXTURE_MAG_FILTER,i.NEAREST);for(let Bs=0;BsAr||Pi.height>Ar)&&(ei=Ar/Math.max(Pi.width,Pi.height)),ei<1)if(typeof HTMLImageElement!="undefined"&&An instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&An instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&An instanceof ImageBitmap||typeof VideoFrame!="undefined"&&An instanceof VideoFrame){const hi=Math.floor(ei*Pi.width),ca=Math.floor(ei*Pi.height);h===void 0&&(h=A(hi,ca));const bs=St?A(hi,ca):h;return bs.width=hi,bs.height=ca,bs.getContext("2d").drawImage(An,0,0,hi,ca),sr("WebGLRenderer: Texture has been resized from ("+Pi.width+"x"+Pi.height+") to ("+hi+"x"+ca+")."),bs}else return"data"in An&&sr("WebGLRenderer: Image in DataTexture is too big ("+Pi.width+"x"+Pi.height+")."),An;return An}function b(An){return An.generateMipmaps}function x(An){i.generateMipmap(An)}function P(An){return An.isWebGLCubeRenderTarget?i.TEXTURE_CUBE_MAP:An.isWebGL3DRenderTarget?i.TEXTURE_3D:An.isWebGLArrayRenderTarget||An.isCompressedArrayTexture?i.TEXTURE_2D_ARRAY:i.TEXTURE_2D}function k(An,St,Ar,ei,Pi=!1){if(An!==null){if(i[An]!==void 0)return i[An];sr("WebGLRenderer: Attempt to use non-existing WebGL internal format '"+An+"'")}let hi=St;if(St===i.RED&&(Ar===i.FLOAT&&(hi=i.R32F),Ar===i.HALF_FLOAT&&(hi=i.R16F),Ar===i.UNSIGNED_BYTE&&(hi=i.R8)),St===i.RED_INTEGER&&(Ar===i.UNSIGNED_BYTE&&(hi=i.R8UI),Ar===i.UNSIGNED_SHORT&&(hi=i.R16UI),Ar===i.UNSIGNED_INT&&(hi=i.R32UI),Ar===i.BYTE&&(hi=i.R8I),Ar===i.SHORT&&(hi=i.R16I),Ar===i.INT&&(hi=i.R32I)),St===i.RG&&(Ar===i.FLOAT&&(hi=i.RG32F),Ar===i.HALF_FLOAT&&(hi=i.RG16F),Ar===i.UNSIGNED_BYTE&&(hi=i.RG8)),St===i.RG_INTEGER&&(Ar===i.UNSIGNED_BYTE&&(hi=i.RG8UI),Ar===i.UNSIGNED_SHORT&&(hi=i.RG16UI),Ar===i.UNSIGNED_INT&&(hi=i.RG32UI),Ar===i.BYTE&&(hi=i.RG8I),Ar===i.SHORT&&(hi=i.RG16I),Ar===i.INT&&(hi=i.RG32I)),St===i.RGB_INTEGER&&(Ar===i.UNSIGNED_BYTE&&(hi=i.RGB8UI),Ar===i.UNSIGNED_SHORT&&(hi=i.RGB16UI),Ar===i.UNSIGNED_INT&&(hi=i.RGB32UI),Ar===i.BYTE&&(hi=i.RGB8I),Ar===i.SHORT&&(hi=i.RGB16I),Ar===i.INT&&(hi=i.RGB32I)),St===i.RGBA_INTEGER&&(Ar===i.UNSIGNED_BYTE&&(hi=i.RGBA8UI),Ar===i.UNSIGNED_SHORT&&(hi=i.RGBA16UI),Ar===i.UNSIGNED_INT&&(hi=i.RGBA32UI),Ar===i.BYTE&&(hi=i.RGBA8I),Ar===i.SHORT&&(hi=i.RGBA16I),Ar===i.INT&&(hi=i.RGBA32I)),St===i.RGB&&(Ar===i.UNSIGNED_INT_5_9_9_9_REV&&(hi=i.RGB9_E5),Ar===i.UNSIGNED_INT_10F_11F_11F_REV&&(hi=i.R11F_G11F_B10F)),St===i.RGBA){const ca=Pi?Sl:xr.getTransfer(ei);Ar===i.FLOAT&&(hi=i.RGBA32F),Ar===i.HALF_FLOAT&&(hi=i.RGBA16F),Ar===i.UNSIGNED_BYTE&&(hi=ca===Hi?i.SRGB8_ALPHA8:i.RGBA8),Ar===i.UNSIGNED_SHORT_4_4_4_4&&(hi=i.RGBA4),Ar===i.UNSIGNED_SHORT_5_5_5_1&&(hi=i.RGB5_A1)}return(hi===i.R16F||hi===i.R32F||hi===i.RG16F||hi===i.RG32F||hi===i.RGBA16F||hi===i.RGBA32F)&&e.get("EXT_color_buffer_float"),hi}function $(An,St){let Ar;return An?St===null||St===Ft||St===Tr?Ar=i.DEPTH24_STENCIL8:St===rn?Ar=i.DEPTH32F_STENCIL8:St===gt&&(Ar=i.DEPTH24_STENCIL8,sr("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):St===null||St===Ft||St===Tr?Ar=i.DEPTH_COMPONENT24:St===rn?Ar=i.DEPTH_COMPONENT32F:St===gt&&(Ar=i.DEPTH_COMPONENT16),Ar}function se(An,St){return b(An)===!0||An.isFramebufferTexture&&An.minFilter!==_n&&An.minFilter!==br?Math.log2(Math.max(St.width,St.height))+1:An.mipmaps!==void 0&&An.mipmaps.length>0?An.mipmaps.length:An.isCompressedTexture&&Array.isArray(An.image)?St.mipmaps.length:1}function ie(An){const St=An.target;St.removeEventListener("dispose",ie),ue(St),St.isVideoTexture&&u.delete(St)}function ce(An){const St=An.target;St.removeEventListener("dispose",ce),Fe(St)}function ue(An){const St=n.get(An);if(St.__webglInit===void 0)return;const Ar=An.source,ei=d.get(Ar);if(ei){const Pi=ei[St.__cacheKey];Pi.usedTimes--,Pi.usedTimes===0&&ve(An),Object.keys(ei).length===0&&d.delete(Ar)}n.remove(An)}function ve(An){const St=n.get(An);i.deleteTexture(St.__webglTexture);const Ar=An.source,ei=d.get(Ar);delete ei[St.__cacheKey],a.memory.textures--}function Fe(An){const St=n.get(An);if(An.depthTexture&&(An.depthTexture.dispose(),n.remove(An.depthTexture)),An.isWebGLCubeRenderTarget)for(let ei=0;ei<6;ei++){if(Array.isArray(St.__webglFramebuffer[ei]))for(let Pi=0;Pi=r.maxTextures&&sr("WebGLTextures: Trying to use "+An+" texture units while this GPU supports only "+r.maxTextures),nt+=1,An}function gn(An){const St=[];return St.push(An.wrapS),St.push(An.wrapT),St.push(An.wrapR||0),St.push(An.magFilter),St.push(An.minFilter),St.push(An.anisotropy),St.push(An.internalFormat),St.push(An.format),St.push(An.type),St.push(An.generateMipmaps),St.push(An.premultiplyAlpha),St.push(An.flipY),St.push(An.unpackAlignment),St.push(An.colorSpace),St.join()}function yn(An,St){const Ar=n.get(An);if(An.isVideoTexture&&Fi(An),An.isRenderTargetTexture===!1&&An.isExternalTexture!==!0&&An.version>0&&Ar.__version!==An.version){const ei=An.image;if(ei===null)sr("WebGLRenderer: Texture marked for update but no image data found.");else if(ei.complete===!1)sr("WebGLRenderer: Texture marked for update but image is incomplete");else{or(Ar,An,St);return}}else An.isExternalTexture&&(Ar.__webglTexture=An.sourceTexture?An.sourceTexture:null);t.bindTexture(i.TEXTURE_2D,Ar.__webglTexture,i.TEXTURE0+St)}function Mn(An,St){const Ar=n.get(An);if(An.isRenderTargetTexture===!1&&An.version>0&&Ar.__version!==An.version){or(Ar,An,St);return}else An.isExternalTexture&&(Ar.__webglTexture=An.sourceTexture?An.sourceTexture:null);t.bindTexture(i.TEXTURE_2D_ARRAY,Ar.__webglTexture,i.TEXTURE0+St)}function rr(An,St){const Ar=n.get(An);if(An.isRenderTargetTexture===!1&&An.version>0&&Ar.__version!==An.version){or(Ar,An,St);return}t.bindTexture(i.TEXTURE_3D,Ar.__webglTexture,i.TEXTURE0+St)}function Hn(An,St){const Ar=n.get(An);if(An.isCubeDepthTexture!==!0&&An.version>0&&Ar.__version!==An.version){Sr(Ar,An,St);return}t.bindTexture(i.TEXTURE_CUBE_MAP,Ar.__webglTexture,i.TEXTURE0+St)}const Er={[It]:i.REPEAT,[an]:i.CLAMP_TO_EDGE,[In]:i.MIRRORED_REPEAT},Hr={[_n]:i.NEAREST,[er]:i.NEAREST_MIPMAP_NEAREST,[hr]:i.NEAREST_MIPMAP_LINEAR,[br]:i.LINEAR,[ri]:i.LINEAR_MIPMAP_NEAREST,[Vi]:i.LINEAR_MIPMAP_LINEAR},qn={[Ws]:i.NEVER,[ll]:i.ALWAYS,[ia]:i.LESS,[ta]:i.LEQUAL,[oo]:i.EQUAL,[cc]:i.GEQUAL,[Oi]:i.GREATER,[jo]:i.NOTEQUAL};function Jr(An,St){if(St.type===rn&&e.has("OES_texture_float_linear")===!1&&(St.magFilter===br||St.magFilter===ri||St.magFilter===hr||St.magFilter===Vi||St.minFilter===br||St.minFilter===ri||St.minFilter===hr||St.minFilter===Vi)&&sr("WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),i.texParameteri(An,i.TEXTURE_WRAP_S,Er[St.wrapS]),i.texParameteri(An,i.TEXTURE_WRAP_T,Er[St.wrapT]),(An===i.TEXTURE_3D||An===i.TEXTURE_2D_ARRAY)&&i.texParameteri(An,i.TEXTURE_WRAP_R,Er[St.wrapR]),i.texParameteri(An,i.TEXTURE_MAG_FILTER,Hr[St.magFilter]),i.texParameteri(An,i.TEXTURE_MIN_FILTER,Hr[St.minFilter]),St.compareFunction&&(i.texParameteri(An,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(An,i.TEXTURE_COMPARE_FUNC,qn[St.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(St.magFilter===_n||St.minFilter!==hr&&St.minFilter!==Vi||St.type===rn&&e.has("OES_texture_float_linear")===!1)return;if(St.anisotropy>1||n.get(St).__currentAnisotropy){const Ar=e.get("EXT_texture_filter_anisotropic");i.texParameterf(An,Ar.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(St.anisotropy,r.getMaxAnisotropy())),n.get(St).__currentAnisotropy=St.anisotropy}}}function gi(An,St){let Ar=!1;An.__webglInit===void 0&&(An.__webglInit=!0,St.addEventListener("dispose",ie));const ei=St.source;let Pi=d.get(ei);Pi===void 0&&(Pi={},d.set(ei,Pi));const hi=gn(St);if(hi!==An.__cacheKey){Pi[hi]===void 0&&(Pi[hi]={texture:i.createTexture(),usedTimes:0},a.memory.textures++,Ar=!0),Pi[hi].usedTimes++;const ca=Pi[An.__cacheKey];ca!==void 0&&(Pi[An.__cacheKey].usedTimes--,ca.usedTimes===0&&ve(St)),An.__cacheKey=hi,An.__webglTexture=Pi[hi].texture}return Ar}function Zi(An,St,Ar){return Math.floor(Math.floor(An/Ar)/St)}function Xr(An,St,Ar,ei){const hi=An.updateRanges;if(hi.length===0)t.texSubImage2D(i.TEXTURE_2D,0,0,0,St.width,St.height,Ar,ei,St.data);else{hi.sort((Xi,Ns)=>Xi.start-Ns.start);let ca=0;for(let Xi=1;Xi0){vr&&Zs&&t.texStorage2D(i.TEXTURE_2D,ea,Sa,Po[0].width,Po[0].height);for(let ns=0,Di=Po.length;ns0){const Bs=V1(Is.width,Is.height,St.format,St.type);for(const uo of St.layerUpdates){const ac=Is.data.subarray(uo*Bs/Is.data.BYTES_PER_ELEMENT,(uo+1)*Bs/Is.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,ns,0,0,uo,Is.width,Is.height,1,Ns,ac)}St.clearLayerUpdates()}else t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,ns,0,0,0,Is.width,Is.height,Xi.depth,Ns,Is.data)}else t.compressedTexImage3D(i.TEXTURE_2D_ARRAY,ns,Sa,Is.width,Is.height,Xi.depth,0,Is.data,0,0);else sr("WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else vr?ps&&t.texSubImage3D(i.TEXTURE_2D_ARRAY,ns,0,0,0,Is.width,Is.height,Xi.depth,Ns,ma,Is.data):t.texImage3D(i.TEXTURE_2D_ARRAY,ns,Sa,Is.width,Is.height,Xi.depth,0,Ns,ma,Is.data)}else{vr&&Zs&&t.texStorage2D(i.TEXTURE_2D,ea,Sa,Po[0].width,Po[0].height);for(let ns=0,Di=Po.length;ns0){const ns=V1(Xi.width,Xi.height,St.format,St.type);for(const Di of St.layerUpdates){const Bs=Xi.data.subarray(Di*ns/Xi.data.BYTES_PER_ELEMENT,(Di+1)*ns/Xi.data.BYTES_PER_ELEMENT);t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,Di,Xi.width,Xi.height,1,Ns,ma,Bs)}St.clearLayerUpdates()}else t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,0,Xi.width,Xi.height,Xi.depth,Ns,ma,Xi.data)}else t.texImage3D(i.TEXTURE_2D_ARRAY,0,Sa,Xi.width,Xi.height,Xi.depth,0,Ns,ma,Xi.data);else if(St.isData3DTexture)vr?(Zs&&t.texStorage3D(i.TEXTURE_3D,ea,Sa,Xi.width,Xi.height,Xi.depth),ps&&t.texSubImage3D(i.TEXTURE_3D,0,0,0,0,Xi.width,Xi.height,Xi.depth,Ns,ma,Xi.data)):t.texImage3D(i.TEXTURE_3D,0,Sa,Xi.width,Xi.height,Xi.depth,0,Ns,ma,Xi.data);else if(St.isFramebufferTexture){if(Zs)if(vr)t.texStorage2D(i.TEXTURE_2D,ea,Sa,Xi.width,Xi.height);else{let ns=Xi.width,Di=Xi.height;for(let Bs=0;Bs>=1,Di>>=1}}else if(Po.length>0){if(vr&&Zs){const ns=zi(Po[0]);t.texStorage2D(i.TEXTURE_2D,ea,Sa,ns.width,ns.height)}for(let ns=0,Di=Po.length;ns0&&ea++;const Di=zi(Ns[0]);t.texStorage2D(i.TEXTURE_CUBE_MAP,ea,Po,Di.width,Di.height)}for(let Di=0;Di<6;Di++)if(Xi){vr?ps&&t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+Di,0,0,0,Ns[Di].width,Ns[Di].height,Sa,Is,Ns[Di].data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+Di,0,Po,Ns[Di].width,Ns[Di].height,0,Sa,Is,Ns[Di].data);for(let Bs=0;Bs>hi),ma=Math.max(1,St.height>>hi);Pi===i.TEXTURE_3D||Pi===i.TEXTURE_2D_ARRAY?t.texImage3D(Pi,hi,ua,Ns,ma,St.depth,0,ca,bs,null):t.texImage2D(Pi,hi,ua,Ns,ma,0,ca,bs,null)}t.bindFramebuffer(i.FRAMEBUFFER,An),As(St)?o.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER,ei,Pi,Xi.__webglTexture,0,ln(St)):(Pi===i.TEXTURE_2D||Pi>=i.TEXTURE_CUBE_MAP_POSITIVE_X&&Pi<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&i.framebufferTexture2D(i.FRAMEBUFFER,ei,Pi,Xi.__webglTexture,hi),t.bindFramebuffer(i.FRAMEBUFFER,null)}function xi(An,St,Ar){if(i.bindRenderbuffer(i.RENDERBUFFER,An),St.depthBuffer){const ei=St.depthTexture,Pi=ei&&ei.isDepthTexture?ei.type:null,hi=$(St.stencilBuffer,Pi),ca=St.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT;As(St)?o.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,ln(St),hi,St.width,St.height):Ar?i.renderbufferStorageMultisample(i.RENDERBUFFER,ln(St),hi,St.width,St.height):i.renderbufferStorage(i.RENDERBUFFER,hi,St.width,St.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,ca,i.RENDERBUFFER,An)}else{const ei=St.textures;for(let Pi=0;Pi{delete St.__boundDepthTexture,delete St.__depthDisposeCallback,ei.removeEventListener("dispose",Pi)};ei.addEventListener("dispose",Pi),St.__depthDisposeCallback=Pi}St.__boundDepthTexture=ei}if(An.depthTexture&&!St.__autoAllocateDepthBuffer)if(Ar)for(let ei=0;ei<6;ei++)Qi(St.__webglFramebuffer[ei],An,ei);else{const ei=An.texture.mipmaps;ei&&ei.length>0?Qi(St.__webglFramebuffer[0],An,0):Qi(St.__webglFramebuffer,An,0)}else if(Ar){St.__webglDepthbuffer=[];for(let ei=0;ei<6;ei++)if(t.bindFramebuffer(i.FRAMEBUFFER,St.__webglFramebuffer[ei]),St.__webglDepthbuffer[ei]===void 0)St.__webglDepthbuffer[ei]=i.createRenderbuffer(),xi(St.__webglDepthbuffer[ei],An,!1);else{const Pi=An.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,hi=St.__webglDepthbuffer[ei];i.bindRenderbuffer(i.RENDERBUFFER,hi),i.framebufferRenderbuffer(i.FRAMEBUFFER,Pi,i.RENDERBUFFER,hi)}}else{const ei=An.texture.mipmaps;if(ei&&ei.length>0?t.bindFramebuffer(i.FRAMEBUFFER,St.__webglFramebuffer[0]):t.bindFramebuffer(i.FRAMEBUFFER,St.__webglFramebuffer),St.__webglDepthbuffer===void 0)St.__webglDepthbuffer=i.createRenderbuffer(),xi(St.__webglDepthbuffer,An,!1);else{const Pi=An.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,hi=St.__webglDepthbuffer;i.bindRenderbuffer(i.RENDERBUFFER,hi),i.framebufferRenderbuffer(i.FRAMEBUFFER,Pi,i.RENDERBUFFER,hi)}}t.bindFramebuffer(i.FRAMEBUFFER,null)}function ga(An,St,Ar){const ei=n.get(An);St!==void 0&&Ri(ei.__webglFramebuffer,An,An.texture,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,0),Ar!==void 0&&Ks(An)}function ra(An){const St=An.texture,Ar=n.get(An),ei=n.get(St);An.addEventListener("dispose",ce);const Pi=An.textures,hi=An.isWebGLCubeRenderTarget===!0,ca=Pi.length>1;if(ca||(ei.__webglTexture===void 0&&(ei.__webglTexture=i.createTexture()),ei.__version=St.version,a.memory.textures++),hi){Ar.__webglFramebuffer=[];for(let bs=0;bs<6;bs++)if(St.mipmaps&&St.mipmaps.length>0){Ar.__webglFramebuffer[bs]=[];for(let ua=0;ua0){Ar.__webglFramebuffer=[];for(let bs=0;bs0&&As(An)===!1){Ar.__webglMultisampledFramebuffer=i.createFramebuffer(),Ar.__webglColorRenderbuffer=[],t.bindFramebuffer(i.FRAMEBUFFER,Ar.__webglMultisampledFramebuffer);for(let bs=0;bs0)for(let ua=0;ua0)for(let ua=0;ua0){if(As(An)===!1){const St=An.textures,Ar=An.width,ei=An.height;let Pi=i.COLOR_BUFFER_BIT;const hi=An.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,ca=n.get(An),bs=St.length>1;if(bs)for(let Va=0;Va0?t.bindFramebuffer(i.DRAW_FRAMEBUFFER,ca.__webglFramebuffer[0]):t.bindFramebuffer(i.DRAW_FRAMEBUFFER,ca.__webglFramebuffer);for(let Va=0;Va0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&St.__useRenderToTexture!==!1}function Fi(An){const St=a.render.frame;u.get(An)!==St&&(u.set(An,St),An.update())}function Fs(An,St){const Ar=An.colorSpace,ei=An.format,Pi=An.type;return An.isCompressedTexture===!0||An.isVideoTexture===!0||Ar!==zo&&Ar!==Oa&&(xr.getTransfer(Ar)===Hi?(ei!==S||Pi!==on)&&sr("WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):Nr("WebGLTextures: Unsupported texture color space:",Ar)),St}function zi(An){return typeof HTMLImageElement!="undefined"&&An instanceof HTMLImageElement?(c.width=An.naturalWidth||An.width,c.height=An.naturalHeight||An.height):typeof VideoFrame!="undefined"&&An instanceof VideoFrame?(c.width=An.displayWidth,c.height=An.displayHeight):(c.width=An.width,c.height=An.height),c}this.allocateTextureUnit=Jt,this.resetTextureUnits=Gt,this.setTexture2D=yn,this.setTexture2DArray=Mn,this.setTexture3D=rr,this.setTextureCube=Hn,this.rebindTextures=ga,this.setupRenderTarget=ra,this.updateRenderTargetMipmap=gr,this.updateMultisampleRenderTarget=oi,this.setupDepthRenderbuffer=Ks,this.setupFrameBufferTexture=Ri,this.useMultisampledRTT=As,this.isReversedDepthBuffer=function(){return t.buffers.depth.getReversed()}}function cj(i,e){function t(n,r=Oa){let s;const a=xr.getTransfer(r);if(n===on)return i.UNSIGNED_BYTE;if(n===jn)return i.UNSIGNED_SHORT_4_4_4_4;if(n===Zn)return i.UNSIGNED_SHORT_5_5_5_1;if(n===Qr)return i.UNSIGNED_INT_5_9_9_9_REV;if(n===Ne)return i.UNSIGNED_INT_10F_11F_11F_REV;if(n===Yt)return i.BYTE;if(n===Vt)return i.SHORT;if(n===gt)return i.UNSIGNED_SHORT;if(n===yt)return i.INT;if(n===Ft)return i.UNSIGNED_INT;if(n===rn)return i.FLOAT;if(n===Dt)return i.HALF_FLOAT;if(n===V)return i.ALPHA;if(n===W)return i.RGB;if(n===S)return i.RGBA;if(n===H)return i.DEPTH_COMPONENT;if(n===J)return i.DEPTH_STENCIL;if(n===Ae)return i.RED;if(n===me)return i.RED_INTEGER;if(n===$e)return i.RG;if(n===Ke)return i.RG_INTEGER;if(n===Se)return i.RGBA_INTEGER;if(n===Oe||n===Ee||n===Ue||n===at)if(a===Hi)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===Oe)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Ee)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Ue)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===at)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===Oe)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Ee)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Ue)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===at)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===Ut||n===ut||n===Lt||n===qt)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===Ut)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===ut)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Lt)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===qt)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===Tn||n===Rn||n===ir||n===Ln||n===Gn||n===_r||n===un)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===Tn||n===Rn)return a===Hi?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===ir)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC;if(n===Ln)return s.COMPRESSED_R11_EAC;if(n===Gn)return s.COMPRESSED_SIGNED_R11_EAC;if(n===_r)return s.COMPRESSED_RG11_EAC;if(n===un)return s.COMPRESSED_SIGNED_RG11_EAC}else return null;if(n===Bn||n===lr||n===cr||n===Fr||n===zr||n===Wr||n===Vr||n===wi||n===Zr||n===Ei||n===Yi||n===wn||n===wt||n===Rt)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===Bn)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===lr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===cr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Fr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===zr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===Wr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Vr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===wi)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===Zr)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===Ei)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===Yi)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===wn)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===wt)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===Rt)return a===Hi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Et||n===dn||n===Cn)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===Et)return a===Hi?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===dn)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===Cn)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===Xn||n===mr||n===yr||n===ai)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===Xn)return s.COMPRESSED_RED_RGTC1_EXT;if(n===mr)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===yr)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===ai)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Tr?i.UNSIGNED_INT_24_8:i[n]!==void 0?i[n]:null}return{convert:t}}const uj=` +void main() { + + gl_Position = vec4( position, 1.0 ); + +}`,hj=` +uniform sampler2DArray depthColor; +uniform float depthWidth; +uniform float depthHeight; + +void main() { + + vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); + + if ( coord.x >= 1.0 ) { + + gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; + + } else { + + gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; + + } + +}`;class dj{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){const n=new Yc(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new _u({vertexShader:uj,fragmentShader:hj,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new vl(new eh(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class fj extends La{constructor(e,t){super();const n=this;let r=null,s=1,a=null,o="local-floor",l=1,c=null,u=null,h=null,d=null,f=null,A=null;const y=typeof XRWebGLBinding!="undefined",b=new dj,x={},P=t.getContextAttributes();let k=null,$=null;const se=[],ie=[],ce=new Qe;let ue=null;const ve=new dc;ve.viewport=new Mi;const Fe=new dc;Fe.viewport=new Mi;const nt=[ve,Fe],Gt=new nF;let Jt=null,gn=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(or){let Sr=se[or];return Sr===void 0&&(Sr=new fm,se[or]=Sr),Sr.getTargetRaySpace()},this.getControllerGrip=function(or){let Sr=se[or];return Sr===void 0&&(Sr=new fm,se[or]=Sr),Sr.getGripSpace()},this.getHand=function(or){let Sr=se[or];return Sr===void 0&&(Sr=new fm,se[or]=Sr),Sr.getHandSpace()};function yn(or){const Sr=ie.indexOf(or.inputSource);if(Sr===-1)return;const Ri=se[Sr];Ri!==void 0&&(Ri.update(or.inputSource,or.frame,c||a),Ri.dispatchEvent({type:or.type,data:or.inputSource}))}function Mn(){r.removeEventListener("select",yn),r.removeEventListener("selectstart",yn),r.removeEventListener("selectend",yn),r.removeEventListener("squeeze",yn),r.removeEventListener("squeezestart",yn),r.removeEventListener("squeezeend",yn),r.removeEventListener("end",Mn),r.removeEventListener("inputsourceschange",rr);for(let or=0;or=0&&(ie[xi]=null,se[xi].disconnect(Ri))}for(let Sr=0;Sr=ie.length){ie.push(Ri),xi=Ks;break}else if(ie[Ks]===null){ie[Ks]=Ri,xi=Ks;break}if(xi===-1)break}const Qi=se[xi];Qi&&Qi.connect(Ri)}}const Hn=new ye,Er=new ye;function Hr(or,Sr,Ri){Hn.setFromMatrixPosition(Sr.matrixWorld),Er.setFromMatrixPosition(Ri.matrixWorld);const xi=Hn.distanceTo(Er),Qi=Sr.projectionMatrix.elements,Ks=Ri.projectionMatrix.elements,ga=Qi[14]/(Qi[10]-1),ra=Qi[14]/(Qi[10]+1),gr=(Qi[9]+1)/Qi[5],kr=(Qi[9]-1)/Qi[5],Br=(Qi[8]-1)/Qi[0],oi=(Ks[8]+1)/Ks[0],ln=ga*Br,As=ga*oi,Fi=xi/(-Br+oi),Fs=Fi*-Br;if(Sr.matrixWorld.decompose(or.position,or.quaternion,or.scale),or.translateX(Fs),or.translateZ(Fi),or.matrixWorld.compose(or.position,or.quaternion,or.scale),or.matrixWorldInverse.copy(or.matrixWorld).invert(),Qi[10]===-1)or.projectionMatrix.copy(Sr.projectionMatrix),or.projectionMatrixInverse.copy(Sr.projectionMatrixInverse);else{const zi=ga+Fi,An=ra+Fi,St=ln-Fs,Ar=As+(xi-Fs),ei=gr*ra/An*zi,Pi=kr*ra/An*zi;or.projectionMatrix.makePerspective(St,Ar,ei,Pi,zi,An),or.projectionMatrixInverse.copy(or.projectionMatrix).invert()}}function qn(or,Sr){Sr===null?or.matrixWorld.copy(or.matrix):or.matrixWorld.multiplyMatrices(Sr.matrixWorld,or.matrix),or.matrixWorldInverse.copy(or.matrixWorld).invert()}this.updateCamera=function(or){if(r===null)return;let Sr=or.near,Ri=or.far;b.texture!==null&&(b.depthNear>0&&(Sr=b.depthNear),b.depthFar>0&&(Ri=b.depthFar)),Gt.near=Fe.near=ve.near=Sr,Gt.far=Fe.far=ve.far=Ri,(Jt!==Gt.near||gn!==Gt.far)&&(r.updateRenderState({depthNear:Gt.near,depthFar:Gt.far}),Jt=Gt.near,gn=Gt.far),Gt.layers.mask=or.layers.mask|6,ve.layers.mask=Gt.layers.mask&3,Fe.layers.mask=Gt.layers.mask&5;const xi=or.parent,Qi=Gt.cameras;qn(Gt,xi);for(let Ks=0;Ks0&&(b.alphaTest.value=x.alphaTest);const P=e.get(x),k=P.envMap,$=P.envMapRotation;k&&(b.envMap.value=k,$0.copy($),$0.x*=-1,$0.y*=-1,$0.z*=-1,k.isCubeTexture&&k.isRenderTargetTexture===!1&&($0.y*=-1,$0.z*=-1),b.envMapRotation.value.setFromMatrix4(Aj.makeRotationFromEuler($0)),b.flipEnvMap.value=k.isCubeTexture&&k.isRenderTargetTexture===!1?-1:1,b.reflectivity.value=x.reflectivity,b.ior.value=x.ior,b.refractionRatio.value=x.refractionRatio),x.lightMap&&(b.lightMap.value=x.lightMap,b.lightMapIntensity.value=x.lightMapIntensity,t(x.lightMap,b.lightMapTransform)),x.aoMap&&(b.aoMap.value=x.aoMap,b.aoMapIntensity.value=x.aoMapIntensity,t(x.aoMap,b.aoMapTransform))}function a(b,x){b.diffuse.value.copy(x.color),b.opacity.value=x.opacity,x.map&&(b.map.value=x.map,t(x.map,b.mapTransform))}function o(b,x){b.dashSize.value=x.dashSize,b.totalSize.value=x.dashSize+x.gapSize,b.scale.value=x.scale}function l(b,x,P,k){b.diffuse.value.copy(x.color),b.opacity.value=x.opacity,b.size.value=x.size*P,b.scale.value=k*.5,x.map&&(b.map.value=x.map,t(x.map,b.uvTransform)),x.alphaMap&&(b.alphaMap.value=x.alphaMap,t(x.alphaMap,b.alphaMapTransform)),x.alphaTest>0&&(b.alphaTest.value=x.alphaTest)}function c(b,x){b.diffuse.value.copy(x.color),b.opacity.value=x.opacity,b.rotation.value=x.rotation,x.map&&(b.map.value=x.map,t(x.map,b.mapTransform)),x.alphaMap&&(b.alphaMap.value=x.alphaMap,t(x.alphaMap,b.alphaMapTransform)),x.alphaTest>0&&(b.alphaTest.value=x.alphaTest)}function u(b,x){b.specular.value.copy(x.specular),b.shininess.value=Math.max(x.shininess,1e-4)}function h(b,x){x.gradientMap&&(b.gradientMap.value=x.gradientMap)}function d(b,x){b.metalness.value=x.metalness,x.metalnessMap&&(b.metalnessMap.value=x.metalnessMap,t(x.metalnessMap,b.metalnessMapTransform)),b.roughness.value=x.roughness,x.roughnessMap&&(b.roughnessMap.value=x.roughnessMap,t(x.roughnessMap,b.roughnessMapTransform)),x.envMap&&(b.envMapIntensity.value=x.envMapIntensity)}function f(b,x,P){b.ior.value=x.ior,x.sheen>0&&(b.sheenColor.value.copy(x.sheenColor).multiplyScalar(x.sheen),b.sheenRoughness.value=x.sheenRoughness,x.sheenColorMap&&(b.sheenColorMap.value=x.sheenColorMap,t(x.sheenColorMap,b.sheenColorMapTransform)),x.sheenRoughnessMap&&(b.sheenRoughnessMap.value=x.sheenRoughnessMap,t(x.sheenRoughnessMap,b.sheenRoughnessMapTransform))),x.clearcoat>0&&(b.clearcoat.value=x.clearcoat,b.clearcoatRoughness.value=x.clearcoatRoughness,x.clearcoatMap&&(b.clearcoatMap.value=x.clearcoatMap,t(x.clearcoatMap,b.clearcoatMapTransform)),x.clearcoatRoughnessMap&&(b.clearcoatRoughnessMap.value=x.clearcoatRoughnessMap,t(x.clearcoatRoughnessMap,b.clearcoatRoughnessMapTransform)),x.clearcoatNormalMap&&(b.clearcoatNormalMap.value=x.clearcoatNormalMap,t(x.clearcoatNormalMap,b.clearcoatNormalMapTransform),b.clearcoatNormalScale.value.copy(x.clearcoatNormalScale),x.side===ge&&b.clearcoatNormalScale.value.negate())),x.dispersion>0&&(b.dispersion.value=x.dispersion),x.iridescence>0&&(b.iridescence.value=x.iridescence,b.iridescenceIOR.value=x.iridescenceIOR,b.iridescenceThicknessMinimum.value=x.iridescenceThicknessRange[0],b.iridescenceThicknessMaximum.value=x.iridescenceThicknessRange[1],x.iridescenceMap&&(b.iridescenceMap.value=x.iridescenceMap,t(x.iridescenceMap,b.iridescenceMapTransform)),x.iridescenceThicknessMap&&(b.iridescenceThicknessMap.value=x.iridescenceThicknessMap,t(x.iridescenceThicknessMap,b.iridescenceThicknessMapTransform))),x.transmission>0&&(b.transmission.value=x.transmission,b.transmissionSamplerMap.value=P.texture,b.transmissionSamplerSize.value.set(P.width,P.height),x.transmissionMap&&(b.transmissionMap.value=x.transmissionMap,t(x.transmissionMap,b.transmissionMapTransform)),b.thickness.value=x.thickness,x.thicknessMap&&(b.thicknessMap.value=x.thicknessMap,t(x.thicknessMap,b.thicknessMapTransform)),b.attenuationDistance.value=x.attenuationDistance,b.attenuationColor.value.copy(x.attenuationColor)),x.anisotropy>0&&(b.anisotropyVector.value.set(x.anisotropy*Math.cos(x.anisotropyRotation),x.anisotropy*Math.sin(x.anisotropyRotation)),x.anisotropyMap&&(b.anisotropyMap.value=x.anisotropyMap,t(x.anisotropyMap,b.anisotropyMapTransform))),b.specularIntensity.value=x.specularIntensity,b.specularColor.value.copy(x.specularColor),x.specularColorMap&&(b.specularColorMap.value=x.specularColorMap,t(x.specularColorMap,b.specularColorMapTransform)),x.specularIntensityMap&&(b.specularIntensityMap.value=x.specularIntensityMap,t(x.specularIntensityMap,b.specularIntensityMapTransform))}function A(b,x){x.matcap&&(b.matcap.value=x.matcap)}function y(b,x){const P=e.get(x).light;b.referencePosition.value.setFromMatrixPosition(P.matrixWorld),b.nearDistance.value=P.shadow.camera.near,b.farDistance.value=P.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:r}}function gj(i,e,t,n){let r={},s={},a=[];const o=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function l(P,k){const $=k.program;n.uniformBlockBinding(P,$)}function c(P,k){let $=r[P.id];$===void 0&&(A(P),$=u(P),r[P.id]=$,P.addEventListener("dispose",b));const se=k.program;n.updateUBOMapping(P,se);const ie=e.render.frame;s[P.id]!==ie&&(d(P),s[P.id]=ie)}function u(P){const k=h();P.__bindingPointIndex=k;const $=i.createBuffer(),se=P.__size,ie=P.usage;return i.bindBuffer(i.UNIFORM_BUFFER,$),i.bufferData(i.UNIFORM_BUFFER,se,ie),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,k,$),$}function h(){for(let P=0;P0&&($+=se-ie),P.__size=$,P.__cache={},this}function y(P){const k={boundary:0,storage:0};return typeof P=="number"||typeof P=="boolean"?(k.boundary=4,k.storage=4):P.isVector2?(k.boundary=8,k.storage=8):P.isVector3||P.isColor?(k.boundary=16,k.storage=12):P.isVector4?(k.boundary=16,k.storage=16):P.isMatrix3?(k.boundary=48,k.storage=48):P.isMatrix4?(k.boundary=64,k.storage=64):P.isTexture?sr("WebGLRenderer: Texture samplers can not be part of an uniforms group."):sr("WebGLRenderer: Unsupported uniform value type.",P),k}function b(P){const k=P.target;k.removeEventListener("dispose",b);const $=a.indexOf(k.__bindingPointIndex);a.splice($,1),i.deleteBuffer(r[k.id]),delete r[k.id],delete s[k.id]}function x(){for(const P in r)i.deleteBuffer(r[P]);a=[],r={},s={}}return{bind:l,update:c,dispose:x}}const mj=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let cp=null;function vj(){return cp===null&&(cp=new Eu(mj,16,16,$e,Dt),cp.name="DFG_LUT",cp.minFilter=br,cp.magFilter=br,cp.wrapS=an,cp.wrapT=an,cp.generateMipmaps=!1,cp.needsUpdate=!0),cp}class yj{constructor(e={}){const{canvas:t=Ou(),context:n=null,depth:r=!0,stencil:s=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1,reversedDepthBuffer:d=!1,outputBufferType:f=on}=e;this.isWebGLRenderer=!0;let A;if(n!==null){if(typeof WebGLRenderingContext!="undefined"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");A=n.getContextAttributes().alpha}else A=a;const y=f,b=new Set([Se,Ke,me]),x=new Set([on,Ft,gt,Tr,jn,Zn]),P=new Uint32Array(4),k=new Int32Array(4);let $=null,se=null;const ie=[],ce=[];let ue=null;this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=U,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const ve=this;let Fe=!1;this._outputColorSpace=$a;let nt=0,Gt=0,Jt=null,gn=-1,yn=null;const Mn=new Mi,rr=new Mi;let Hn=null;const Er=new hs(0);let Hr=0,qn=t.width,Jr=t.height,gi=1,Zi=null,Xr=null;const or=new Mi(0,0,qn,Jr),Sr=new Mi(0,0,qn,Jr);let Ri=!1;const xi=new Ld;let Qi=!1,Ks=!1;const ga=new pi,ra=new ye,gr=new Mi,kr={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Br=!1;function oi(){return Jt===null?gi:1}let ln=n;function As(sn,Pr){return t.getContext(sn,Pr)}try{const sn={alpha:!0,depth:r,stencil:s,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:h};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${B}`),t.addEventListener("webglcontextlost",uo,!1),t.addEventListener("webglcontextrestored",ac,!1),t.addEventListener("webglcontextcreationerror",Dl,!1),ln===null){const Pr="webgl2";if(ln=As(Pr,sn),ln===null)throw As(Pr)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(sn){throw Nr("WebGLRenderer: "+sn.message),sn}let Fi,Fs,zi,An,St,Ar,ei,Pi,hi,ca,bs,ua,Va,Xi,Ns,ma,Sa,Is,Po,vr,Zs,ps,ea,ns;function Di(){Fi=new vZ(ln),Fi.init(),ps=new cj(ln,Fi),Fs=new cZ(ln,Fi,e,ps),zi=new oj(ln,Fi),Fs.reversedDepthBuffer&&d&&zi.buffers.depth.setReversed(!0),An=new bZ(ln),St=new Z$,Ar=new lj(ln,Fi,zi,St,Fs,ps,An),ei=new hZ(ve),Pi=new mZ(ve),hi=new sW(ln),ea=new oZ(ln,hi),ca=new yZ(ln,hi,An,ea),bs=new wZ(ln,ca,hi,An),Po=new _Z(ln,Fs,Ar),ma=new uZ(St),ua=new W$(ve,ei,Pi,Fi,Fs,ea,ma),Va=new pj(ve,St),Xi=new j$,Ns=new ej(Fi),Is=new aZ(ve,ei,Pi,zi,bs,A,l),Sa=new sj(ve,bs,Fs),ns=new gj(ln,An,Fs,zi),vr=new lZ(ln,Fi,An),Zs=new xZ(ln,Fi,An),An.programs=ua.programs,ve.capabilities=Fs,ve.extensions=Fi,ve.properties=St,ve.renderLists=Xi,ve.shadowMap=Sa,ve.state=zi,ve.info=An}Di(),y!==on&&(ue=new SZ(y,t.width,t.height,r,s));const Bs=new fj(ve,ln);this.xr=Bs,this.getContext=function(){return ln},this.getContextAttributes=function(){return ln.getContextAttributes()},this.forceContextLoss=function(){const sn=Fi.get("WEBGL_lose_context");sn&&sn.loseContext()},this.forceContextRestore=function(){const sn=Fi.get("WEBGL_lose_context");sn&&sn.restoreContext()},this.getPixelRatio=function(){return gi},this.setPixelRatio=function(sn){sn!==void 0&&(gi=sn,this.setSize(qn,Jr,!1))},this.getSize=function(sn){return sn.set(qn,Jr)},this.setSize=function(sn,Pr,si=!0){if(Bs.isPresenting){sr("WebGLRenderer: Can't change size while VR device is presenting.");return}qn=sn,Jr=Pr,t.width=Math.floor(sn*gi),t.height=Math.floor(Pr*gi),si===!0&&(t.style.width=sn+"px",t.style.height=Pr+"px"),ue!==null&&ue.setSize(t.width,t.height),this.setViewport(0,0,sn,Pr)},this.getDrawingBufferSize=function(sn){return sn.set(qn*gi,Jr*gi).floor()},this.setDrawingBufferSize=function(sn,Pr,si){qn=sn,Jr=Pr,gi=si,t.width=Math.floor(sn*si),t.height=Math.floor(Pr*si),this.setViewport(0,0,sn,Pr)},this.setEffects=function(sn){if(y===on){console.error("THREE.WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.");return}if(sn){for(let Pr=0;Pr{function Os(){if(ti.forEach(function(oa){St.get(oa).currentProgram.isReady()&&ti.delete(oa)}),ti.size===0){Gr(sn);return}setTimeout(Os,10)}Fi.get("KHR_parallel_shader_compile")!==null?Os():setTimeout(Os,10)})};let _P=null;function zxe(sn){_P&&_P(sn)}function a8(){ey.stop()}function o8(){ey.start()}const ey=new lO;ey.setAnimationLoop(zxe),typeof self!="undefined"&&ey.setContext(self),this.setAnimationLoop=function(sn){_P=sn,Bs.setAnimationLoop(sn),sn===null?ey.stop():ey.start()},Bs.addEventListener("sessionstart",a8),Bs.addEventListener("sessionend",o8),this.render=function(sn,Pr){if(Pr!==void 0&&Pr.isCamera!==!0){Nr("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(Fe===!0)return;const si=Bs.enabled===!0&&Bs.isPresenting===!0,ti=ue!==null&&(Jt===null||si)&&ue.begin(ve,Jt);if(sn.matrixWorldAutoUpdate===!0&&sn.updateMatrixWorld(),Pr.parent===null&&Pr.matrixWorldAutoUpdate===!0&&Pr.updateMatrixWorld(),Bs.enabled===!0&&Bs.isPresenting===!0&&(ue===null||ue.isCompositing()===!1)&&(Bs.cameraAutoUpdate===!0&&Bs.updateCamera(Pr),Pr=Bs.getCamera()),sn.isScene===!0&&sn.onBeforeRender(ve,sn,Pr,Jt),se=Ns.get(sn,ce.length),se.init(Pr),ce.push(se),ga.multiplyMatrices(Pr.projectionMatrix,Pr.matrixWorldInverse),xi.setFromProjectionMatrix(ga,Ao,Pr.reversedDepth),Ks=this.localClippingEnabled,Qi=ma.init(this.clippingPlanes,Ks),$=Xi.get(sn,ie.length),$.init(),ie.push($),Bs.enabled===!0&&Bs.isPresenting===!0){const oa=ve.xr.getDepthSensingMesh();oa!==null&&wP(oa,Pr,-1/0,ve.sortObjects)}wP(sn,Pr,0,ve.sortObjects),$.finish(),ve.sortObjects===!0&&$.sort(Zi,Xr),Br=Bs.enabled===!1||Bs.isPresenting===!1||Bs.hasDepthSensing()===!1,Br&&Is.addToRenderList($,sn),this.info.render.frame++,Qi===!0&&ma.beginShadows();const Gr=se.state.shadowsArray;if(Sa.render(Gr,sn,Pr),Qi===!0&&ma.endShadows(),this.info.autoReset===!0&&this.info.reset(),(ti&&ue.hasRenderPass())===!1){const oa=$.opaque,Qs=$.transmissive;if(se.setupLights(),Pr.isArrayCamera){const Aa=Pr.cameras;if(Qs.length>0)for(let Ia=0,no=Aa.length;Ia0&&c8(oa,Qs,sn,Pr),Br&&Is.render(sn),l8($,sn,Pr)}Jt!==null&&Gt===0&&(Ar.updateMultisampleRenderTarget(Jt),Ar.updateRenderTargetMipmap(Jt)),ti&&ue.end(ve),sn.isScene===!0&&sn.onAfterRender(ve,sn,Pr),ea.resetDefaultState(),gn=-1,yn=null,ce.pop(),ce.length>0?(se=ce[ce.length-1],Qi===!0&&ma.setGlobalState(ve.clippingPlanes,se.state.camera)):se=null,ie.pop(),ie.length>0?$=ie[ie.length-1]:$=null};function wP(sn,Pr,si,ti){if(sn.visible===!1)return;if(sn.layers.test(Pr.layers)){if(sn.isGroup)si=sn.renderOrder;else if(sn.isLOD)sn.autoUpdate===!0&&sn.update(Pr);else if(sn.isLight)se.pushLight(sn),sn.castShadow&&se.pushShadow(sn);else if(sn.isSprite){if(!sn.frustumCulled||xi.intersectsSprite(sn)){ti&&gr.setFromMatrixPosition(sn.matrixWorld).applyMatrix4(ga);const oa=bs.update(sn),Qs=sn.material;Qs.visible&&$.push(sn,oa,Qs,si,gr.z,null)}}else if((sn.isMesh||sn.isLine||sn.isPoints)&&(!sn.frustumCulled||xi.intersectsObject(sn))){const oa=bs.update(sn),Qs=sn.material;if(ti&&(sn.boundingSphere!==void 0?(sn.boundingSphere===null&&sn.computeBoundingSphere(),gr.copy(sn.boundingSphere.center)):(oa.boundingSphere===null&&oa.computeBoundingSphere(),gr.copy(oa.boundingSphere.center)),gr.applyMatrix4(sn.matrixWorld).applyMatrix4(ga)),Array.isArray(Qs)){const Aa=oa.groups;for(let Ia=0,no=Aa.length;Ia0&&_M(Gr,Pr,si),Os.length>0&&_M(Os,Pr,si),oa.length>0&&_M(oa,Pr,si),zi.buffers.depth.setTest(!0),zi.buffers.depth.setMask(!0),zi.buffers.color.setMask(!0),zi.setPolygonOffset(!1)}function c8(sn,Pr,si,ti){if((si.isScene===!0?si.overrideMaterial:null)!==null)return;if(se.state.transmissionRenderTarget[ti.id]===void 0){const Uo=Fi.has("EXT_color_buffer_half_float")||Fi.has("EXT_color_buffer_float");se.state.transmissionRenderTarget[ti.id]=new Js(1,1,{generateMipmaps:!0,type:Uo?Dt:on,minFilter:Vi,samples:Fs.samples,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:xr.workingColorSpace})}const Os=se.state.transmissionRenderTarget[ti.id],oa=ti.viewport||Mn;Os.setSize(oa.z*ve.transmissionResolutionScale,oa.w*ve.transmissionResolutionScale);const Qs=ve.getRenderTarget(),Aa=ve.getActiveCubeFace(),Ia=ve.getActiveMipmapLevel();ve.setRenderTarget(Os),ve.getClearColor(Er),Hr=ve.getClearAlpha(),Hr<1&&ve.setClearColor(16777215,.5),ve.clear(),Br&&Is.render(si);const no=ve.toneMapping;ve.toneMapping=U;const Wa=ti.viewport;if(ti.viewport!==void 0&&(ti.viewport=void 0),se.setupLightsView(ti),Qi===!0&&ma.setGlobalState(ve.clippingPlanes,ti),_M(sn,si,ti),Ar.updateMultisampleRenderTarget(Os),Ar.updateRenderTargetMipmap(Os),Fi.has("WEBGL_multisampled_render_to_texture")===!1){let Uo=!1;for(let Ql=0,Gc=Pr.length;Ql0),Wa=!!si.morphAttributes.position,Uo=!!si.morphAttributes.normal,Ql=!!si.morphAttributes.color;let Gc=U;ti.toneMapped&&(Jt===null||Jt.isXRRenderTarget===!0)&&(Gc=ve.toneMapping);const Qc=si.morphAttributes.position||si.morphAttributes.normal||si.morphAttributes.color,Yl=Qc!==void 0?Qc.length:0,Za=St.get(ti),Ul=se.state.lights;if(Qi===!0&&(Ks===!0||sn!==yn)){const id=sn===yn&&ti.id===gn;ma.setState(ti,sn,id)}let gl=!1;ti.version===Za.__version?(Za.needsLights&&Za.lightsStateVersion!==Ul.state.version||Za.outputColorSpace!==Qs||Gr.isBatchedMesh&&Za.batching===!1||!Gr.isBatchedMesh&&Za.batching===!0||Gr.isBatchedMesh&&Za.batchingColor===!0&&Gr.colorTexture===null||Gr.isBatchedMesh&&Za.batchingColor===!1&&Gr.colorTexture!==null||Gr.isInstancedMesh&&Za.instancing===!1||!Gr.isInstancedMesh&&Za.instancing===!0||Gr.isSkinnedMesh&&Za.skinning===!1||!Gr.isSkinnedMesh&&Za.skinning===!0||Gr.isInstancedMesh&&Za.instancingColor===!0&&Gr.instanceColor===null||Gr.isInstancedMesh&&Za.instancingColor===!1&&Gr.instanceColor!==null||Gr.isInstancedMesh&&Za.instancingMorph===!0&&Gr.morphTexture===null||Gr.isInstancedMesh&&Za.instancingMorph===!1&&Gr.morphTexture!==null||Za.envMap!==Aa||ti.fog===!0&&Za.fog!==Os||Za.numClippingPlanes!==void 0&&(Za.numClippingPlanes!==ma.numPlanes||Za.numIntersection!==ma.numIntersection)||Za.vertexAlphas!==Ia||Za.vertexTangents!==no||Za.morphTargets!==Wa||Za.morphNormals!==Uo||Za.morphColors!==Ql||Za.toneMapping!==Gc||Za.morphTargetsCount!==Yl)&&(gl=!0):(gl=!0,Za.__version=ti.version);let df=Za.currentProgram;gl===!0&&(df=wM(ti,Pr,Gr));let ab=!1,ff=!1,b1=!1;const oc=df.getUniforms(),Bd=Za.uniforms;if(zi.useProgram(df.program)&&(ab=!0,ff=!0,b1=!0),ti.id!==gn&&(gn=ti.id,ff=!0),ab||yn!==sn){zi.buffers.depth.getReversed()&&sn.reversedDepth!==!0&&(sn._reversedDepth=!0,sn.updateProjectionMatrix()),oc.setValue(ln,"projectionMatrix",sn.projectionMatrix),oc.setValue(ln,"viewMatrix",sn.matrixWorldInverse);const Rd=oc.map.cameraPosition;Rd!==void 0&&Rd.setValue(ln,ra.setFromMatrixPosition(sn.matrixWorld)),Fs.logarithmicDepthBuffer&&oc.setValue(ln,"logDepthBufFC",2/(Math.log(sn.far+1)/Math.LN2)),(ti.isMeshPhongMaterial||ti.isMeshToonMaterial||ti.isMeshLambertMaterial||ti.isMeshBasicMaterial||ti.isMeshStandardMaterial||ti.isShaderMaterial)&&oc.setValue(ln,"isOrthographic",sn.isOrthographicCamera===!0),yn!==sn&&(yn=sn,ff=!0,b1=!0)}if(Za.needsLights&&(Ul.state.directionalShadowMap.length>0&&oc.setValue(ln,"directionalShadowMap",Ul.state.directionalShadowMap,Ar),Ul.state.spotShadowMap.length>0&&oc.setValue(ln,"spotShadowMap",Ul.state.spotShadowMap,Ar),Ul.state.pointShadowMap.length>0&&oc.setValue(ln,"pointShadowMap",Ul.state.pointShadowMap,Ar)),Gr.isSkinnedMesh){oc.setOptional(ln,Gr,"bindMatrix"),oc.setOptional(ln,Gr,"bindMatrixInverse");const id=Gr.skeleton;id&&(id.boneTexture===null&&id.computeBoneTexture(),oc.setValue(ln,"boneTexture",id.boneTexture,Ar))}Gr.isBatchedMesh&&(oc.setOptional(ln,Gr,"batchingTexture"),oc.setValue(ln,"batchingTexture",Gr._matricesTexture,Ar),oc.setOptional(ln,Gr,"batchingIdTexture"),oc.setValue(ln,"batchingIdTexture",Gr._indirectTexture,Ar),oc.setOptional(ln,Gr,"batchingColorTexture"),Gr._colorsTexture!==null&&oc.setValue(ln,"batchingColorTexture",Gr._colorsTexture,Ar));const kf=si.morphAttributes;if((kf.position!==void 0||kf.normal!==void 0||kf.color!==void 0)&&Po.update(Gr,si,df),(ff||Za.receiveShadow!==Gr.receiveShadow)&&(Za.receiveShadow=Gr.receiveShadow,oc.setValue(ln,"receiveShadow",Gr.receiveShadow)),ti.isMeshGouraudMaterial&&ti.envMap!==null&&(Bd.envMap.value=Aa,Bd.flipEnvMap.value=Aa.isCubeTexture&&Aa.isRenderTargetTexture===!1?-1:1),ti.isMeshStandardMaterial&&ti.envMap===null&&Pr.environment!==null&&(Bd.envMapIntensity.value=Pr.environmentIntensity),Bd.dfgLUT!==void 0&&(Bd.dfgLUT.value=vj()),ff&&(oc.setValue(ln,"toneMappingExposure",ve.toneMappingExposure),Za.needsLights&&Hxe(Bd,b1),Os&&ti.fog===!0&&Va.refreshFogUniforms(Bd,Os),Va.refreshMaterialUniforms(Bd,ti,gi,Jr,se.state.transmissionRenderTarget[sn.id]),J1.upload(ln,h8(Za),Bd,Ar)),ti.isShaderMaterial&&ti.uniformsNeedUpdate===!0&&(J1.upload(ln,h8(Za),Bd,Ar),ti.uniformsNeedUpdate=!1),ti.isSpriteMaterial&&oc.setValue(ln,"center",Gr.center),oc.setValue(ln,"modelViewMatrix",Gr.modelViewMatrix),oc.setValue(ln,"normalMatrix",Gr.normalMatrix),oc.setValue(ln,"modelMatrix",Gr.matrixWorld),ti.isShaderMaterial||ti.isRawShaderMaterial){const id=ti.uniformsGroups;for(let Rd=0,EP=id.length;Rd0&&Ar.useMultisampledRTT(sn)===!1?ti=St.get(sn).__webglMultisampledFramebuffer:Array.isArray(Ia)?ti=Ia[si]:ti=Ia,Mn.copy(sn.viewport),rr.copy(sn.scissor),Hn=sn.scissorTest}else Mn.copy(or).multiplyScalar(gi).floor(),rr.copy(Sr).multiplyScalar(gi).floor(),Hn=Ri;if(si!==0&&(ti=Qxe),zi.bindFramebuffer(ln.FRAMEBUFFER,ti)&&zi.drawBuffers(sn,ti),zi.viewport(Mn),zi.scissor(rr),zi.setScissorTest(Hn),Gr){const Qs=St.get(sn.texture);ln.framebufferTexture2D(ln.FRAMEBUFFER,ln.COLOR_ATTACHMENT0,ln.TEXTURE_CUBE_MAP_POSITIVE_X+Pr,Qs.__webglTexture,si)}else if(Os){const Qs=Pr;for(let Aa=0;Aa=0&&Pr<=sn.width-ti&&si>=0&&si<=sn.height-Gr&&(sn.textures.length>1&&ln.readBuffer(ln.COLOR_ATTACHMENT0+Qs),ln.readPixels(Pr,si,ti,Gr,ps.convert(no),ps.convert(Wa),Os))}finally{const Ia=Jt!==null?St.get(Jt).__webglFramebuffer:null;zi.bindFramebuffer(ln.FRAMEBUFFER,Ia)}}},this.readRenderTargetPixelsAsync=function(sn,Pr,si,ti,Gr,Os,oa,Qs=0){return va(this,null,function*(){if(!(sn&&sn.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let Aa=St.get(sn).__webglFramebuffer;if(sn.isWebGLCubeRenderTarget&&oa!==void 0&&(Aa=Aa[oa]),Aa)if(Pr>=0&&Pr<=sn.width-ti&&si>=0&&si<=sn.height-Gr){zi.bindFramebuffer(ln.FRAMEBUFFER,Aa);const Ia=sn.textures[Qs],no=Ia.format,Wa=Ia.type;if(!Fs.textureFormatReadable(no))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Fs.textureTypeReadable(Wa))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const Uo=ln.createBuffer();ln.bindBuffer(ln.PIXEL_PACK_BUFFER,Uo),ln.bufferData(ln.PIXEL_PACK_BUFFER,Os.byteLength,ln.STREAM_READ),sn.textures.length>1&&ln.readBuffer(ln.COLOR_ATTACHMENT0+Qs),ln.readPixels(Pr,si,ti,Gr,ps.convert(no),ps.convert(Wa),0);const Ql=Jt!==null?St.get(Jt).__webglFramebuffer:null;zi.bindFramebuffer(ln.FRAMEBUFFER,Ql);const Gc=ln.fenceSync(ln.SYNC_GPU_COMMANDS_COMPLETE,0);return ln.flush(),yield Ko(ln,Gc,4),ln.bindBuffer(ln.PIXEL_PACK_BUFFER,Uo),ln.getBufferSubData(ln.PIXEL_PACK_BUFFER,0,Os),ln.deleteBuffer(Uo),ln.deleteSync(Gc),Os}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")})},this.copyFramebufferToTexture=function(sn,Pr=null,si=0){const ti=Math.pow(2,-si),Gr=Math.floor(sn.image.width*ti),Os=Math.floor(sn.image.height*ti),oa=Pr!==null?Pr.x:0,Qs=Pr!==null?Pr.y:0;Ar.setTexture2D(sn,0),ln.copyTexSubImage2D(ln.TEXTURE_2D,si,0,0,oa,Qs,Gr,Os),zi.unbindTexture()};const Wxe=ln.createFramebuffer(),Zxe=ln.createFramebuffer();this.copyTextureToTexture=function(sn,Pr,si=null,ti=null,Gr=0,Os=null){Os===null&&(Gr!==0?($s("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Os=Gr,Gr=0):Os=0);let oa,Qs,Aa,Ia,no,Wa,Uo,Ql,Gc;const Qc=sn.isCompressedTexture?sn.mipmaps[Os]:sn.image;if(si!==null)oa=si.max.x-si.min.x,Qs=si.max.y-si.min.y,Aa=si.isBox3?si.max.z-si.min.z:1,Ia=si.min.x,no=si.min.y,Wa=si.isBox3?si.min.z:0;else{const kf=Math.pow(2,-Gr);oa=Math.floor(Qc.width*kf),Qs=Math.floor(Qc.height*kf),sn.isDataArrayTexture?Aa=Qc.depth:sn.isData3DTexture?Aa=Math.floor(Qc.depth*kf):Aa=1,Ia=0,no=0,Wa=0}ti!==null?(Uo=ti.x,Ql=ti.y,Gc=ti.z):(Uo=0,Ql=0,Gc=0);const Yl=ps.convert(Pr.format),Za=ps.convert(Pr.type);let Ul;Pr.isData3DTexture?(Ar.setTexture3D(Pr,0),Ul=ln.TEXTURE_3D):Pr.isDataArrayTexture||Pr.isCompressedArrayTexture?(Ar.setTexture2DArray(Pr,0),Ul=ln.TEXTURE_2D_ARRAY):(Ar.setTexture2D(Pr,0),Ul=ln.TEXTURE_2D),ln.pixelStorei(ln.UNPACK_FLIP_Y_WEBGL,Pr.flipY),ln.pixelStorei(ln.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Pr.premultiplyAlpha),ln.pixelStorei(ln.UNPACK_ALIGNMENT,Pr.unpackAlignment);const gl=ln.getParameter(ln.UNPACK_ROW_LENGTH),df=ln.getParameter(ln.UNPACK_IMAGE_HEIGHT),ab=ln.getParameter(ln.UNPACK_SKIP_PIXELS),ff=ln.getParameter(ln.UNPACK_SKIP_ROWS),b1=ln.getParameter(ln.UNPACK_SKIP_IMAGES);ln.pixelStorei(ln.UNPACK_ROW_LENGTH,Qc.width),ln.pixelStorei(ln.UNPACK_IMAGE_HEIGHT,Qc.height),ln.pixelStorei(ln.UNPACK_SKIP_PIXELS,Ia),ln.pixelStorei(ln.UNPACK_SKIP_ROWS,no),ln.pixelStorei(ln.UNPACK_SKIP_IMAGES,Wa);const oc=sn.isDataArrayTexture||sn.isData3DTexture,Bd=Pr.isDataArrayTexture||Pr.isData3DTexture;if(sn.isDepthTexture){const kf=St.get(sn),id=St.get(Pr),Rd=St.get(kf.__renderTarget),EP=St.get(id.__renderTarget);zi.bindFramebuffer(ln.READ_FRAMEBUFFER,Rd.__webglFramebuffer),zi.bindFramebuffer(ln.DRAW_FRAMEBUFFER,EP.__webglFramebuffer);for(let ty=0;ty0){const{width:a,height:o}=e.context;t.bufferWidth=a,t.bufferHeight=o}t.lights=this.getLightsData(e.lightsNode.getLights()),this.renderObjects.set(e,t)}return t}getAttributesData(e){const t={};for(const n in e){const r=e[n];t[n]={version:r.version}}return t}containsNode(e){const t=e.material;for(const n in t)if(t[n]&&t[n].isNode)return!0;return!!(e.context.modelViewMatrix||e.context.modelNormalViewMatrix||e.context.getAO||e.context.getShadow)}getMaterialData(e){const t={};for(const n of this.refreshUniforms){const r=e[n];r!=null&&(typeof r=="object"&&r.clone!==void 0?r.isTexture===!0?t[n]={id:r.id,version:r.version}:t[n]=r.clone():t[n]=r)}return t}equals(e,t){const{object:n,material:r,geometry:s}=e,a=this.getRenderObjectData(e);if(a.worldMatrix.equals(n.matrixWorld)!==!0)return a.worldMatrix.copy(n.matrixWorld),!1;const o=a.material;for(const b in o){const x=o[b],P=r[b];if(x.equals!==void 0){if(x.equals(P)===!1)return x.copy(P),!1}else if(P.isTexture===!0){if(x.id!==P.id||x.version!==P.version)return x.id=P.id,x.version=P.version,!1}else if(x!==P)return o[b]=P,!1}if(o.transmission>0){const{width:b,height:x}=e.context;if(a.bufferWidth!==b||a.bufferHeight!==x)return a.bufferWidth=b,a.bufferHeight=x,!1}const l=a.geometry,c=s.attributes,u=l.attributes,h=Object.keys(u),d=Object.keys(c);if(l.id!==s.id)return l.id=s.id,!1;if(h.length!==d.length)return a.geometry.attributes=this.getAttributesData(c),!1;for(const b of h){const x=u[b],P=c[b];if(P===void 0)return delete u[b],!1;if(x.version!==P.version)return x.version=P.version,!1}const f=s.index,A=l.indexVersion,y=f?f.version:null;if(A!==y)return l.indexVersion=y,!1;if(l.drawRange.start!==s.drawRange.start||l.drawRange.count!==s.drawRange.count)return l.drawRange.start=s.drawRange.start,l.drawRange.count=s.drawRange.count,!1;if(a.morphTargetInfluences){let b=!1;for(let x=0;x>>16,2246822507),t^=Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)}const Iy=i=>bT(i),j0=i=>bT(i),Ny=(...i)=>bT(i),_j=new Map([[1,"float"],[2,"vec2"],[3,"vec3"],[4,"vec4"],[9,"mat3"],[16,"mat4"]]),LO=new WeakMap;function _T(i){return _j.get(i)}function Eb(i){if(/[iu]?vec\d/.test(i))return i.startsWith("ivec")?Int32Array:i.startsWith("uvec")?Uint32Array:Float32Array;if(/mat\d/.test(i)||/float/.test(i))return Float32Array;if(/uint/.test(i))return Uint32Array;if(/int/.test(i))return Int32Array;throw new Error(`THREE.NodeUtils: Unsupported type: ${i}`)}function wT(i){if(/float|int|uint/.test(i))return 1;if(/vec2/.test(i))return 2;if(/vec3/.test(i))return 3;if(/vec4/.test(i)||/mat2/.test(i))return 4;if(/mat3/.test(i))return 9;if(/mat4/.test(i))return 16;Nr("TSL: Unsupported type:",i)}function DO(i){if(/float|int|uint/.test(i))return 1;if(/vec2/.test(i))return 2;if(/vec3/.test(i))return 3;if(/vec4/.test(i)||/mat2/.test(i))return 4;if(/mat3/.test(i))return 12;if(/mat4/.test(i))return 16;Nr("TSL: Unsupported type:",i)}function UO(i){if(/float|int|uint/.test(i))return 4;if(/vec2/.test(i))return 8;if(/vec3/.test(i)||/vec4/.test(i))return 16;if(/mat2/.test(i))return 8;if(/mat3/.test(i)||/mat4/.test(i))return 16;Nr("TSL: Unsupported type:",i)}function xg(i){if(i==null)return null;const e=typeof i;return i.isNode===!0?"node":e==="number"?"float":e==="boolean"?"bool":e==="string"?"string":e==="function"?"shader":i.isVector2===!0?"vec2":i.isVector3===!0?"vec3":i.isVector4===!0?"vec4":i.isMatrix2===!0?"mat2":i.isMatrix3===!0?"mat3":i.isMatrix4===!0?"mat4":i.isColor===!0?"color":i instanceof ArrayBuffer?"ArrayBuffer":null}function tw(i,...e){const t=i?i.slice(-4):void 0;return e.length===1&&(t==="vec2"?e=[e[0],e[0]]:t==="vec3"?e=[e[0],e[0],e[0]]:t==="vec4"&&(e=[e[0],e[0],e[0],e[0]])),i==="color"?new hs(...e):t==="vec2"?new Qe(...e):t==="vec3"?new ye(...e):t==="vec4"?new Mi(...e):t==="mat2"?new P1(...e):t==="mat3"?new Pn(...e):t==="mat4"?new pi(...e):i==="bool"?e[0]||!1:i==="float"||i==="int"||i==="uint"?e[0]||0:i==="string"?e[0]||"":i==="ArrayBuffer"?CT(e[0]):null}function ET(i){let e=LO.get(i);return e===void 0&&(e={},LO.set(i,e)),e}function ST(i){let e="";const t=new Uint8Array(i);for(let n=0;ne.charCodeAt(0)).buffer}var y_e=Object.freeze({__proto__:null,arrayBufferToBase64:ST,base64ToArrayBuffer:CT,getAlignmentFromType:UO,getDataFromObject:ET,getLengthFromType:wT,getMemoryLengthFromType:DO,getTypeFromLength:_T,getTypedArrayFromType:Eb,getValueFromType:tw,getValueType:xg,hash:Ny,hashArray:j0,hashString:Iy});const Sb={VERTEX:"vertex",FRAGMENT:"fragment"},Xa={NONE:"none",FRAME:"frame",RENDER:"render",OBJECT:"object"},wj={BOOLEAN:"bool",INTEGER:"int",FLOAT:"float",VECTOR2:"vec2",VECTOR3:"vec3",VECTOR4:"vec4",MATRIX2:"mat2",MATRIX3:"mat3",MATRIX4:"mat4"},nh={READ_ONLY:"readOnly",WRITE_ONLY:"writeOnly",READ_WRITE:"readWrite"},kO=["fragment","vertex"],MT=["setup","analyze","generate"],TT=[...kO,"compute"],K0=["x","y","z","w"],Ej={analyze:"setup",generate:"analyze"};let Sj=0;class zs extends La{static get type(){return"Node"}constructor(e=null){super(),this.nodeType=e,this.updateType=Xa.NONE,this.updateBeforeType=Xa.NONE,this.updateAfterType=Xa.NONE,this.uuid=tt.generateUUID(),this.version=0,this.name="",this.global=!1,this.parents=!1,this.isNode=!0,this._beforeNodes=null,this._cacheKey=null,this._cacheKeyVersion=0,Object.defineProperty(this,"id",{value:Sj++})}set needsUpdate(e){e===!0&&this.version++}get type(){return this.constructor.type}onUpdate(e,t){return this.updateType=t,this.update=e.bind(this),this}onFrameUpdate(e){return this.onUpdate(e,Xa.FRAME)}onRenderUpdate(e){return this.onUpdate(e,Xa.RENDER)}onObjectUpdate(e){return this.onUpdate(e,Xa.OBJECT)}onReference(e){return this.updateReference=e.bind(this),this}updateReference(){return this}isGlobal(){return this.global}*getChildren(){for(const{childNode:e}of this._getChildren())yield e}dispose(){this.dispatchEvent({type:"dispose"})}traverse(e){e(this);for(const t of this.getChildren())t.traverse(e)}_getChildren(e=new Set){const t=[];e.add(this);for(const n of Object.getOwnPropertyNames(this)){const r=this[n];if(!(n.startsWith("_")===!0||e.has(r))){if(Array.isArray(r)===!0)for(let s=0;s0&&(e.inputNodes=n)}deserialize(e){if(e.inputNodes!==void 0){const t=e.meta.nodes;for(const n in e.inputNodes)if(Array.isArray(e.inputNodes[n])){const r=[];for(const s of e.inputNodes[n])r.push(t[s]);this[n]=r}else if(typeof e.inputNodes[n]=="object"){const r={};for(const s in e.inputNodes[n]){const a=e.inputNodes[n][s];r[s]=t[a]}this[n]=r}else{const r=e.inputNodes[n];this[n]=t[r]}}}toJSON(e){const{uuid:t,type:n}=this,r=e===void 0||typeof e=="string";r&&(e={textures:{},images:{},nodes:{}});let s=e.nodes[t];s===void 0&&(s={uuid:t,type:n,meta:e,metadata:{version:4.7,type:"Node",generator:"Node.toJSON"}},r!==!0&&(e.nodes[s.uuid]=s),this.serialize(s),delete s.meta);function a(o){const l=[];for(const c in o){const u=o[c];delete u.metadata,l.push(u)}return l}if(r){const o=a(e.textures),l=a(e.images),c=a(e.nodes);o.length>0&&(s.textures=o),l.length>0&&(s.images=l),c.length>0&&(s.nodes=c)}return s}}class X0 extends zs{static get type(){return"ArrayElementNode"}constructor(e,t){super(),this.node=e,this.indexNode=t,this.isArrayElementNode=!0}getNodeType(e){return this.node.getElementType(e)}getMemberType(e,t){return this.node.getMemberType(e,t)}generate(e){const t=this.indexNode.getNodeType(e),n=this.node.build(e),r=this.indexNode.build(e,!e.isVector(t)&&e.isInteger(t)?t:"uint");return`${n}[ ${r} ]`}}class zO extends zs{static get type(){return"ConvertNode"}constructor(e,t){super(),this.node=e,this.convertTo=t}getNodeType(e){const t=this.node.getNodeType(e);let n=null;for(const r of this.convertTo.split("|"))(n===null||e.getTypeLength(t)===e.getTypeLength(r))&&(n=r);return n}serialize(e){super.serialize(e),e.convertTo=this.convertTo}deserialize(e){super.deserialize(e),this.convertTo=e.convertTo}generate(e,t){const n=this.node,r=this.getNodeType(e),s=n.build(e,r);return e.format(s,r,t)}}class bc extends zs{static get type(){return"TempNode"}constructor(e=null){super(e),this.isTempNode=!0}hasDependencies(e){return e.getDataFromNode(this).usageCount>1}build(e,t){if(e.getBuildStage()==="generate"){const r=e.getVectorType(this.getNodeType(e,t)),s=e.getDataFromNode(this);if(s.propertyName!==void 0)return e.format(s.propertyName,r,t);if(r!=="void"&&t!=="void"&&this.hasDependencies(e)){const a=super.build(e,r),o=e.getVarFromNode(this,null,r),l=e.getPropertyName(o);return e.addLineFlowCode(`${l} = ${a}`,this),s.snippet=a,s.propertyName=l,e.format(s.propertyName,r,t)}}return super.build(e,t)}}class Cj extends bc{static get type(){return"JoinNode"}constructor(e=[],t=null){super(t),this.nodes=e}getNodeType(e){return this.nodeType!==null?e.getVectorType(this.nodeType):e.getTypeFromLength(this.nodes.reduce((t,n)=>t+e.getTypeLength(n.getNodeType(e)),0))}generate(e,t){const n=this.getNodeType(e),r=e.getTypeLength(n),s=this.nodes,a=e.getComponentType(n),o=[];let l=0;for(const u of s){if(l>=r){Nr(`TSL: Length of parameters exceeds maximum length of function '${n}()' type.`);break}let h=u.getNodeType(e),d=e.getTypeLength(h),f;if(l+d>r&&(Nr(`TSL: Length of '${n}()' data exceeds maximum length of output type.`),d=r-l,h=e.getTypeFromLength(d)),l+=d,f=u.build(e,h),e.getComponentType(h)!==a){const y=e.getTypeFromLength(d,a);f=e.format(f,h,y)}o.push(f)}const c=`${e.getType(n)}( ${o.join(", ")} )`;return e.format(c,n,t)}}const Mj=K0.join("");class VO extends zs{static get type(){return"SplitNode"}constructor(e,t="x"){super(),this.node=e,this.components=t,this.isSplitNode=!0}getVectorLength(){let e=this.components.length;for(const t of this.components)e=Math.max(K0.indexOf(t)+1,e);return e}getComponentType(e){return e.getComponentType(this.node.getNodeType(e))}getNodeType(e){return e.getTypeFromLength(this.components.length,this.getComponentType(e))}getScope(){return this.node.getScope()}generate(e,t){const n=this.node,r=e.getTypeLength(n.getNodeType(e));let s=null;if(r>1){let a=null;this.getVectorLength()>=r&&(a=e.getTypeFromLength(this.getVectorLength(),this.getComponentType(e)));const l=n.build(e,a);this.components.length===r&&this.components===Mj.slice(0,this.components.length)?s=e.format(l,a,t):s=e.format(`${l}.${this.components}`,this.getNodeType(e),t)}else s=n.build(e,t);return s}serialize(e){super.serialize(e),e.components=this.components}deserialize(e){super.deserialize(e),this.components=e.components}}class Tj extends bc{static get type(){return"SetNode"}constructor(e,t,n){super(),this.sourceNode=e,this.components=t,this.targetNode=n}getNodeType(e){return this.sourceNode.getNodeType(e)}generate(e){const{sourceNode:t,components:n,targetNode:r}=this,s=this.getNodeType(e),a=e.getComponentType(r.getNodeType(e)),o=e.getTypeFromLength(n.length,a),l=r.build(e,o),c=t.build(e,s),u=e.getTypeLength(s),h=[];for(let d=0;di.replace(/r|s/g,"x").replace(/g|t/g,"y").replace(/b|p/g,"z").replace(/a|q/g,"w"),GO=i=>Ij(i).split("").sort().join("");zs.prototype.assign=function(...i){if(this.isStackNode!==!0)return Rm!==null?Rm.assign(this,...i):Nr("TSL: No stack defined for assign operation. Make sure the assign is inside a Fn()."),this;{const e=RT.get("assign");return this.addToStack(e(...i))}},zs.prototype.toVarIntent=function(){return this},zs.prototype.get=function(i){return new Rj(this,i)};const Cb={};function nw(i,e,t){Cb[i]=Cb[e]=Cb[t]={get(){this._cache=this._cache||{};let a=this._cache[i];return a===void 0&&(a=new VO(this,i),this._cache[i]=a),a},set(a){this[i].assign(ls(a))}};const n=i.toUpperCase(),r=e.toUpperCase(),s=t.toUpperCase();zs.prototype["set"+n]=zs.prototype["set"+r]=zs.prototype["set"+s]=function(a){const o=GO(i);return new Tj(this,o,ls(a))},zs.prototype["flip"+n]=zs.prototype["flip"+r]=zs.prototype["flip"+s]=function(){const a=GO(i);return new Bj(this,a)}}const up=["x","y","z","w"],hp=["r","g","b","a"],dp=["s","t","p","q"];for(let i=0;i<4;i++){let e=up[i],t=hp[i],n=dp[i];nw(e,t,n);for(let r=0;r<4;r++){e=up[i]+up[r],t=hp[i]+hp[r],n=dp[i]+dp[r],nw(e,t,n);for(let s=0;s<4;s++){e=up[i]+up[r]+up[s],t=hp[i]+hp[r]+hp[s],n=dp[i]+dp[r]+dp[s],nw(e,t,n);for(let a=0;a<4;a++)e=up[i]+up[r]+up[s]+up[a],t=hp[i]+hp[r]+hp[s]+hp[a],n=dp[i]+dp[r]+dp[s]+dp[a],nw(e,t,n)}}}for(let i=0;i<32;i++)Cb[i]={get(){this._cache=this._cache||{};let e=this._cache[i];return e===void 0&&(e=new X0(this,new wf(i,"uint")),this._cache[i]=e),e},set(e){this[i].assign(ls(e))}};Object.defineProperties(zs.prototype,Cb);const QO=new WeakMap,Nj=function(i,e=null){const t=xg(i);return t==="node"?i:e===null&&(t==="float"||t==="boolean")||t&&t!=="shader"&&t!=="string"?ls(FT(i,e)):t==="shader"?i.isFn?i:tr(i):i},Pj=function(i,e=null){for(const t in i)i[t]=ls(i[t],e);return i},Fj=function(i,e=null){const t=i.length;for(let n=0;nl?(Nr(`TSL: "${h}" parameter length exceeds limit.`),u.slice(0,l)):u}return e===null?s=(...u)=>r(new i(...Y0(c(u)))):t!==null?(t=ls(t),s=(...u)=>r(new i(e,...Y0(c(u)),t))):s=(...u)=>r(new i(e,...Y0(c(u)))),s.setParameterLength=(...u)=>(u.length===1?o=l=u[0]:u.length===2&&([o,l]=u),s),s.setName=u=>(a=u,s),s},Oj=function(i,...e){return new i(...Y0(e))};class Lj extends zs{constructor(e,t){super(),this.shaderNode=e,this.rawInputs=t,this.isShaderCallNodeInternal=!0}getNodeType(e){return this.shaderNode.nodeType||this.getOutputNode(e).getNodeType(e)}getElementType(e){return this.getOutputNode(e).getElementType(e)}getMemberType(e,t){return this.getOutputNode(e).getMemberType(e,t)}call(e){const{shaderNode:t,rawInputs:n}=this,r=e.getNodeProperties(t),s=e.getClosestSubBuild(t.subBuilds)||"",a=s||"default";if(r[a])return r[a];const o=e.subBuildFn,l=e.fnCall;e.subBuildFn=s,e.fnCall=this;let c=null;if(t.layout){let u=QO.get(e.constructor);u===void 0&&(u=new WeakMap,QO.set(e.constructor,u));let h=u.get(t);h===void 0&&(h=ls(e.buildFunctionNode(t)),u.set(t,h)),e.addInclude(h);const d=n?Dj(n):null;c=ls(h.call(d))}else{const u=new Proxy(e,{get:(y,b,x)=>{let P;return Symbol.iterator===b?P=function*(){yield void 0}:P=Reflect.get(y,b,x),P}}),h=n?Uj(n):null,d=Array.isArray(n)?n.length>0:n!==null,f=t.jsFunc,A=d||f.length>1?f(h,u):f(u);c=ls(A)}return e.subBuildFn=o,e.fnCall=l,t.once&&(r[a]=c),c}setupOutput(e){return e.addStack(),e.stack.outputNode=this.call(e),e.removeStack()}getOutputNode(e){const t=e.getNodeProperties(this),n=e.getSubBuildOutput(this);return t[n]=t[n]||this.setupOutput(e),t[n].subBuild=e.getClosestSubBuild(this),t[n]}build(e,t=null){let n=null;const r=e.getBuildStage(),s=e.getNodeProperties(this),a=e.getSubBuildOutput(this),o=this.getOutputNode(e),l=e.fnCall;if(e.fnCall=this,r==="setup"){const c=e.getSubBuildProperty("initialized",this);if(s[c]!==!0&&(s[c]=!0,s[a]=this.getOutputNode(e),s[a].build(e),this.shaderNode.subBuilds))for(const u of e.chaining){const h=e.getDataFromNode(u,"any");h.subBuilds=h.subBuilds||new Set;for(const d of this.shaderNode.subBuilds)h.subBuilds.add(d)}n=s[a]}else r==="analyze"?o.build(e,t):r==="generate"&&(n=o.build(e,t)||"");return e.fnCall=l,n}}function Dj(i){let e;return sw(i),i[0]&&(i[0].isNode||Object.getPrototypeOf(i[0])!==Object.prototype)?e=[...i]:e=i[0],e}function Uj(i){let e=0;return sw(i),new Proxy(i,{get:(t,n,r)=>{let s;if(n==="length")return s=i.length,s;if(Symbol.iterator===n)s=function*(){for(const a of i)yield ls(a)};else{if(i.length>0)if(Object.getPrototypeOf(i[0])===Object.prototype){const a=i[0];a[n]===void 0?s=a[e++]:s=Reflect.get(a,n,r)}else i[0]instanceof zs&&(i[n]===void 0?s=i[e++]:s=Reflect.get(i,n,r));else s=Reflect.get(t,n,r);s=ls(s)}return s}})}class kj extends zs{constructor(e,t){super(t),this.jsFunc=e,this.layout=null,this.global=!0,this.once=!1}setLayout(e){return this.layout=e,this}getLayout(){return this.layout}call(e=null){return new Lj(this,e)}setup(){return this.call()}}const zj=[!1,!0],Vj=[0,1,2,3],Hj=[-1,-2],ZO=[.5,1.5,1/3,1e-6,1e6,Math.PI,Math.PI*2,1/Math.PI,2/Math.PI,1/(Math.PI*2),Math.PI/2],IT=new Map;for(const i of zj)IT.set(i,new wf(i));const NT=new Map;for(const i of Vj)NT.set(i,new wf(i,"uint"));const PT=new Map([...NT].map(i=>new wf(i.value,"int")));for(const i of Hj)PT.set(i,new wf(i,"int"));const rw=new Map([...PT].map(i=>new wf(i.value)));for(const i of ZO)rw.set(i,new wf(i));for(const i of ZO)rw.set(-i,new wf(-i));const iw={bool:IT,uint:NT,ints:PT,float:rw},$O=new Map([...IT,...rw]),FT=(i,e)=>$O.has(i)?$O.get(i):i.isNode===!0?i:new wf(i,e),hu=function(i,e=null){return(...t)=>{for(const r of t)if(r===void 0)return Nr(`TSL: Invalid parameter for the type "${i}".`),new wf(0,i);if((t.length===0||!["bool","float","int","uint"].includes(i)&&t.every(r=>{const s=typeof r;return s!=="object"&&s!=="function"}))&&(t=[tw(i,...t)]),t.length===1&&e!==null&&e.has(t[0]))return Tb(e.get(t[0]));if(t.length===1){const r=FT(t[0],i);return r.nodeType===i?Tb(r):Tb(new zO(r,i))}const n=t.map(r=>FT(r));return Tb(new Cj(n,i))}},Mb=i=>typeof i=="object"&&i!==null?i.value:i,jO=i=>i!=null?i.nodeType||i.convertTo||(typeof i=="string"?i:null):null;function Py(i,e){return new kj(i,e)}const ls=(i,e=null)=>Nj(i,e),Tb=(i,e=null)=>ls(i,e).toVarIntent(),sw=(i,e=null)=>new Pj(i,e),Y0=(i,e=null)=>new Fj(i,e),Ha=(i,e=null,t=null,n=null)=>new WO(i,e,t,n),is=(i,...e)=>new Oj(i,...e),Gi=(i,e=null,t=null,n={})=>new WO(i,e,t,dh(ko({},n),{intent:!0}));let Gj=0;class Qj extends zs{constructor(e,t=null){super();let n=null;t!==null&&(typeof t=="object"?n=t.return:(typeof t=="string"?n=t:Nr("TSL: Invalid layout type."),t=null)),this.shaderNode=new Py(e,n),t!==null&&this.setLayout(t),this.isFn=!0}setLayout(e){const t=this.shaderNode.nodeType;if(typeof e.inputs!="object"){const n={name:"fn"+Gj++,type:t,inputs:[]};for(const r in e)r!=="return"&&n.inputs.push({name:r,type:e[r]});e=n}return this.shaderNode.setLayout(e),this}getNodeType(e){return this.shaderNode.getNodeType(e)||"float"}call(...e){const t=this.shaderNode.call(e);return this.shaderNode.nodeType==="void"&&t.toStack(),t.toVarIntent()}once(e=null){return this.shaderNode.once=!0,this.shaderNode.subBuilds=e,this}generate(e){const t=this.getNodeType(e);return Nr('TSL: "Fn()" was declared but not invoked. Try calling it like "Fn()( ...params )".'),e.generateConst(t)}}function tr(i,e=null){const t=new Qj(i,e);return new Proxy(()=>{},{apply(n,r,s){return t.call(...s)},get(n,r,s){return Reflect.get(t,r,s)},set(n,r,s,a){return Reflect.set(t,r,s,a)}})}const Bb=i=>{Rm=i},OT=()=>Rm,Gs=(...i)=>Rm.If(...i),Wj=(...i)=>Rm.Switch(...i);function aw(i){return Rm&&Rm.addToStack(i),i}ni("toStack",aw);const KO=new hu("color"),en=new hu("float",iw.float),zn=new hu("int",iw.ints),Ti=new hu("uint",iw.uint),Ef=new hu("bool",iw.bool),Ni=new hu("vec2"),du=new hu("ivec2"),LT=new hu("uvec2"),XO=new hu("bvec2"),Wn=new hu("vec3"),DT=new hu("ivec3"),q0=new hu("uvec3"),UT=new hu("bvec3"),Rs=new hu("vec4"),kT=new hu("ivec4"),zT=new hu("uvec4"),YO=new hu("bvec4"),ow=new hu("mat2"),rh=new hu("mat3"),Im=new hu("mat4"),Zj=(i="")=>new wf(i,"string"),$j=i=>new wf(i,"ArrayBuffer");ni("toColor",KO),ni("toFloat",en),ni("toInt",zn),ni("toUint",Ti),ni("toBool",Ef),ni("toVec2",Ni),ni("toIVec2",du),ni("toUVec2",LT),ni("toBVec2",XO),ni("toVec3",Wn),ni("toIVec3",DT),ni("toUVec3",q0),ni("toBVec3",UT),ni("toVec4",Rs),ni("toIVec4",kT),ni("toUVec4",zT),ni("toBVec4",YO),ni("toMat2",ow),ni("toMat3",rh),ni("toMat4",Im);const qO=Ha(X0).setParameterLength(2),JO=(i,e)=>ls(new zO(ls(i),e)),jj=(i,e)=>ls(new VO(ls(i),e));ni("element",qO),ni("convert",JO);const Kj=i=>(sr("TSL: append() has been renamed to Stack()."),aw(i));ni("append",i=>(sr("TSL: .append() has been renamed to .toStack()."),aw(i)));class al extends zs{static get type(){return"PropertyNode"}constructor(e,t=null,n=!1){super(e),this.name=t,this.varying=n,this.isPropertyNode=!0,this.global=!0}customCacheKey(){return Iy(this.type+":"+(this.name||"")+":"+(this.varying?"1":"0"))}getHash(e){return this.name||super.getHash(e)}generate(e){let t;return this.varying===!0?(t=e.getVaryingFromNode(this,this.name),t.needsInterpolation=!0):t=e.getVarFromNode(this,this.name),e.getPropertyName(t)}}const cA=(i,e)=>new al(i,e),Hd=(i,e)=>new al(i,e,!0),bl=is(al,"vec4","DiffuseColor"),J0=is(al,"vec3","DiffuseContribution"),VT=is(al,"vec3","EmissiveColor"),fp=is(al,"float","Roughness"),bg=is(al,"float","Metalness"),lw=is(al,"float","Clearcoat"),Rb=is(al,"float","ClearcoatRoughness"),Gd=is(al,"vec3","Sheen"),Nm=is(al,"float","SheenRoughness"),cw=is(al,"float","Iridescence"),uw=is(al,"float","IridescenceIOR"),hw=is(al,"float","IridescenceThickness"),dw=is(al,"float","AlphaT"),Pm=is(al,"float","Anisotropy"),Ib=is(al,"vec3","AnisotropyT"),ev=is(al,"vec3","AnisotropyB"),Fm=is(al,"color","SpecularColor"),tv=is(al,"color","SpecularColorBlended"),Fy=is(al,"float","SpecularF90"),fw=is(al,"float","Shininess"),Oy=is(al,"vec4","Output"),nv=is(al,"float","dashSize"),Nb=is(al,"float","gapSize"),Xj=is(al,"float","pointWidth"),Pb=is(al,"float","IOR"),Aw=is(al,"float","Transmission"),HT=is(al,"float","Thickness"),GT=is(al,"float","AttenuationDistance"),QT=is(al,"color","AttenuationColor"),WT=is(al,"float","Dispersion");class e3 extends zs{static get type(){return"UniformGroupNode"}constructor(e,t=!1,n=1){super("string"),this.name=e,this.shared=t,this.order=n,this.isUniformGroup=!0}serialize(e){super.serialize(e),e.name=this.name,e.version=this.version,e.shared=this.shared}deserialize(e){super.deserialize(e),this.name=e.name,this.version=e.version,this.shared=e.shared}}const t3=i=>new e3(i),pw=(i,e=0)=>new e3(i,!0,e),n3=pw("frame"),aa=pw("render"),ZT=t3("object");class Fb extends BT{static get type(){return"UniformNode"}constructor(e,t=null){super(e,t),this.isUniformNode=!0,this.name="",this.groupNode=ZT}setName(e){return this.name=e,this}label(e){return sr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setGroup(e){return this.groupNode=e,this}getGroup(){return this.groupNode}getUniformHash(e){return this.getHash(e)}onUpdate(e,t){return e=e.bind(this),super.onUpdate(n=>{const r=e(n,this);r!==void 0&&(this.value=r)},t)}getInputType(e){let t=super.getInputType(e);return t==="bool"&&(t="uint"),t}generate(e,t){const n=this.getNodeType(e),r=this.getUniformHash(e);let s=e.getNodeFromHash(r);s===void 0&&(e.setHashNode(this,r),s=this);const a=s.getInputType(e),o=e.getUniformFromNode(s,a,e.shaderStage,this.name||e.context.nodeName),l=e.getPropertyName(o);e.context.nodeName!==void 0&&delete e.context.nodeName;let c=l;if(n==="bool"){const u=e.getDataFromNode(this);let h=u.propertyName;if(h===void 0){const d=e.getVarFromNode(this,null,"bool");h=e.getPropertyName(d),u.propertyName=h,c=e.format(l,a,n),e.addLineFlowCode(`${h} = ${c}`,this)}c=h}return e.format(c,n,t)}}const na=(i,e)=>{const t=jO(e||i);if(t===i&&(i=tw(t)),i&&i.isNode===!0){let n=i.value;i.traverse(r=>{r.isConstNode===!0&&(n=r.value)}),i=n}return new Fb(i,t)};class r3 extends bc{static get type(){return"ArrayNode"}constructor(e,t,n=null){super(e),this.count=t,this.values=n,this.isArrayNode=!0}getArrayCount(){return this.count}getNodeType(e){return this.nodeType===null?this.values[0].getNodeType(e):this.nodeType}getElementType(e){return this.getNodeType(e)}getMemberType(e,t){return this.nodeType===null?this.values[0].getMemberType(e,t):super.getMemberType(e,t)}generate(e){const t=this.getNodeType(e);return e.generateArray(t,this.count,this.values)}}const i3=(...i)=>{let e;if(i.length===1){const t=i[0];e=new r3(null,t.length,t)}else{const t=i[0],n=i[1];e=new r3(t,n)}return ls(e)};ni("toArray",(i,e)=>i3(Array(e).fill(i)));class Yj extends bc{static get type(){return"AssignNode"}constructor(e,t){super(),this.targetNode=e,this.sourceNode=t,this.isAssignNode=!0}hasDependencies(){return!1}getNodeType(e,t){return t!=="void"?this.targetNode.getNodeType(e):"void"}needsSplitAssign(e){const{targetNode:t}=this;if(e.isAvailable("swizzleAssign")===!1&&t.isSplitNode&&t.components.length>1){const n=e.getTypeLength(t.node.getNodeType(e));return K0.join("").slice(0,n)!==t.components}return!1}setup(e){const{targetNode:t,sourceNode:n}=this,r=t.getScope(),s=e.getDataFromNode(r);s.assign=!0;const a=e.getNodeProperties(this);a.sourceNode=n,a.targetNode=t.context({assign:!0})}generate(e,t){const{targetNode:n,sourceNode:r}=e.getNodeProperties(this),s=this.needsSplitAssign(e),a=n.build(e),o=n.getNodeType(e),l=r.build(e,o),c=r.getNodeType(e),u=e.getDataFromNode(this);let h;if(u.initialized===!0)t!=="void"&&(h=a);else if(s){const d=e.getVarFromNode(this,null,o),f=e.getPropertyName(d);e.addLineFlowCode(`${f} = ${l}`,this);const A=n.node,b=A.node.context({assign:!0}).build(e);for(let x=0;x{const u=c.type,h=u==="pointer";let d;return h?d="&"+l.build(e):d=l.build(e,u),d};if(Array.isArray(s)){if(s.length>r.length)Nr("TSL: The number of provided parameters exceeds the expected number of inputs in 'Fn()'."),s.length=r.length;else if(s.length(e=e.length>1||e[0]&&e[0].isNode===!0?Y0(e):sw(e[0]),new qj(ls(i),e));ni("call",a3);const Jj={"==":"equal","!=":"notEqual","<":"lessThan",">":"greaterThan","<=":"lessThanEqual",">=":"greaterThanEqual","%":"mod"};class _c extends bc{static get type(){return"OperatorNode"}constructor(e,t,n,...r){if(super(),r.length>0){let s=new _c(e,t,n);for(let a=0;a>"||n==="<<")return e.getIntegerType(a);if(n==="!"||n==="&&"||n==="||"||n==="^^")return"bool";if(n==="=="||n==="!="||n==="<"||n===">"||n==="<="||n===">="){const l=Math.max(e.getTypeLength(a),e.getTypeLength(o));return l>1?`bvec${l}`:"bool"}else{if(e.isMatrix(a)){if(o==="float")return a;if(e.isVector(o))return e.getVectorFromMatrix(a);if(e.isMatrix(o))return a}else if(e.isMatrix(o)){if(a==="float")return o;if(e.isVector(a))return e.getVectorFromMatrix(o)}return e.getTypeLength(o)>e.getTypeLength(a)?o:a}}generate(e,t){const n=this.op,{aNode:r,bNode:s}=this,a=this.getNodeType(e,t);let o=null,l=null;a!=="void"?(o=r.getNodeType(e),l=s?s.getNodeType(e):null,n==="<"||n===">"||n==="<="||n===">="||n==="=="||n==="!="?e.isVector(o)?l=o:e.isVector(l)?o=l:o!==l&&(o=l="float"):n===">>"||n==="<<"?(o=a,l=e.changeComponentType(l,"uint")):n==="%"?(o=a,l=e.isInteger(o)&&e.isInteger(l)?l:o):e.isMatrix(o)?l==="float"?l="float":e.isVector(l)?l=e.getVectorFromMatrix(o):e.isMatrix(l)||(o=l=a):e.isMatrix(l)?o==="float"?o="float":e.isVector(o)?o=e.getVectorFromMatrix(l):o=l=a:o=l=a):o=l=a;const c=r.build(e,o),u=s?s.build(e,l):null,h=e.getFunctionOperator(n);if(t!=="void"){const d=e.renderer.coordinateSystem===Ao;if(n==="=="||n==="!="||n==="<"||n===">"||n==="<="||n===">=")return d?e.isVector(o)?e.format(`${this.getOperatorMethod(e,t)}( ${c}, ${u} )`,a,t):e.format(`( ${c} ${n} ${u} )`,a,t):e.format(`( ${c} ${n} ${u} )`,a,t);if(n==="%")return e.isInteger(l)?e.format(`( ${c} % ${u} )`,a,t):e.format(`${this.getOperatorMethod(e,a)}( ${c}, ${u} )`,a,t);if(n==="!"||n==="~")return e.format(`(${n}${c})`,o,t);if(h)return e.format(`${h}( ${c}, ${u} )`,a,t);if(e.isMatrix(o)&&l==="float")return e.format(`( ${u} ${n} ${c} )`,a,t);if(o==="float"&&e.isMatrix(l))return e.format(`${c} ${n} ${u}`,a,t);{let f=`( ${c} ${n} ${u} )`;return!d&&a==="bool"&&e.isVector(o)&&e.isVector(l)&&(f=`all${f}`),e.format(f,a,t)}}else if(o!=="void")return h?e.format(`${h}( ${c}, ${u} )`,a,t):e.isMatrix(o)&&l==="float"?e.format(`${u} ${n} ${c}`,a,t):e.format(`${c} ${n} ${u}`,a,t)}serialize(e){super.serialize(e),e.op=this.op}deserialize(e){super.deserialize(e),this.op=e.op}}const eu=Gi(_c,"+").setParameterLength(2,1/0).setName("add"),Oo=Gi(_c,"-").setParameterLength(2,1/0).setName("sub"),Ga=Gi(_c,"*").setParameterLength(2,1/0).setName("mul"),Qd=Gi(_c,"/").setParameterLength(2,1/0).setName("div"),Ob=Gi(_c,"%").setParameterLength(2).setName("mod"),$T=Gi(_c,"==").setParameterLength(2).setName("equal"),o3=Gi(_c,"!=").setParameterLength(2).setName("notEqual"),l3=Gi(_c,"<").setParameterLength(2).setName("lessThan"),jT=Gi(_c,">").setParameterLength(2).setName("greaterThan"),c3=Gi(_c,"<=").setParameterLength(2).setName("lessThanEqual"),u3=Gi(_c,">=").setParameterLength(2).setName("greaterThanEqual"),h3=Gi(_c,"&&").setParameterLength(2,1/0).setName("and"),d3=Gi(_c,"||").setParameterLength(2,1/0).setName("or"),f3=Gi(_c,"!").setParameterLength(1).setName("not"),A3=Gi(_c,"^^").setParameterLength(2).setName("xor"),p3=Gi(_c,"&").setParameterLength(2).setName("bitAnd"),g3=Gi(_c,"~").setParameterLength(1).setName("bitNot"),m3=Gi(_c,"|").setParameterLength(2).setName("bitOr"),v3=Gi(_c,"^").setParameterLength(2).setName("bitXor"),y3=Gi(_c,"<<").setParameterLength(2).setName("shiftLeft"),x3=Gi(_c,">>").setParameterLength(2).setName("shiftRight"),b3=tr(([i])=>(i.addAssign(1),i)),_3=tr(([i])=>(i.subAssign(1),i)),w3=tr(([i])=>{const e=zn(i).toConst();return i.addAssign(1),e}),E3=tr(([i])=>{const e=zn(i).toConst();return i.subAssign(1),e});ni("add",eu),ni("sub",Oo),ni("mul",Ga),ni("div",Qd),ni("mod",Ob),ni("equal",$T),ni("notEqual",o3),ni("lessThan",l3),ni("greaterThan",jT),ni("lessThanEqual",c3),ni("greaterThanEqual",u3),ni("and",h3),ni("or",d3),ni("not",f3),ni("xor",A3),ni("bitAnd",p3),ni("bitNot",g3),ni("bitOr",m3),ni("bitXor",v3),ni("shiftLeft",y3),ni("shiftRight",x3),ni("incrementBefore",b3),ni("decrementBefore",_3),ni("increment",w3),ni("decrement",E3);const S3=(i,e)=>(sr('TSL: "modInt()" is deprecated. Use "mod( int( ... ) )" instead.'),Ob(zn(i),zn(e)));ni("modInt",S3);class Or extends bc{static get type(){return"MathNode"}constructor(e,t,n=null,r=null){if(super(),(e===Or.MAX||e===Or.MIN)&&arguments.length>3){let s=new Or(e,t,n);for(let a=2;aa&&s>o?t:a>o?n:o>s?r:t}getNodeType(e){const t=this.method;return t===Or.LENGTH||t===Or.DISTANCE||t===Or.DOT?"float":t===Or.CROSS?"vec3":t===Or.ALL||t===Or.ANY?"bool":t===Or.EQUALS?e.changeComponentType(this.aNode.getNodeType(e),"bool"):this.getInputType(e)}setup(e){const{aNode:t,bNode:n,method:r}=this;let s=null;if(r===Or.ONE_MINUS)s=Oo(1,t);else if(r===Or.RECIPROCAL)s=Qd(1,t);else if(r===Or.DIFFERENCE)s=Vl(Oo(t,n));else if(r===Or.TRANSFORM_DIRECTION){let a=t,o=n;e.isMatrix(a.getNodeType(e))?o=Rs(Wn(o),0):a=Rs(Wn(a),0);const l=Ga(a,o).xyz;s=$h(l)}return s!==null?s:super.setup(e)}generate(e,t){if(e.getNodeProperties(this).outputNode)return super.generate(e,t);let r=this.method;const s=this.getNodeType(e),a=this.getInputType(e),o=this.aNode,l=this.bNode,c=this.cNode,u=e.renderer.coordinateSystem;if(r===Or.NEGATE)return e.format("( - "+o.build(e,a)+" )",s,t);{const h=[];return r===Or.CROSS?h.push(o.build(e,s),l.build(e,s)):u===Ao&&r===Or.STEP?h.push(o.build(e,e.getTypeLength(o.getNodeType(e))===1?"float":a),l.build(e,a)):u===Ao&&(r===Or.MIN||r===Or.MAX)?h.push(o.build(e,a),l.build(e,e.getTypeLength(l.getNodeType(e))===1?"float":a)):r===Or.REFRACT?h.push(o.build(e,a),l.build(e,a),c.build(e,"float")):r===Or.MIX?h.push(o.build(e,a),l.build(e,a),c.build(e,e.getTypeLength(c.getNodeType(e))===1?"float":a)):(u===Vo&&r===Or.ATAN&&l!==null&&(r="atan2"),e.shaderStage!=="fragment"&&(r===Or.DFDX||r===Or.DFDY)&&(sr(`TSL: '${r}' is not supported in the ${e.shaderStage} stage.`),r="/*"+r+"*/"),h.push(o.build(e,a)),l!==null&&h.push(l.build(e,a)),c!==null&&h.push(c.build(e,a))),e.format(`${e.getMethod(r,s)}( ${h.join(", ")} )`,s,t)}}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}Or.ALL="all",Or.ANY="any",Or.RADIANS="radians",Or.DEGREES="degrees",Or.EXP="exp",Or.EXP2="exp2",Or.LOG="log",Or.LOG2="log2",Or.SQRT="sqrt",Or.INVERSE_SQRT="inversesqrt",Or.FLOOR="floor",Or.CEIL="ceil",Or.NORMALIZE="normalize",Or.FRACT="fract",Or.SIN="sin",Or.COS="cos",Or.TAN="tan",Or.ASIN="asin",Or.ACOS="acos",Or.ATAN="atan",Or.ABS="abs",Or.SIGN="sign",Or.LENGTH="length",Or.NEGATE="negate",Or.ONE_MINUS="oneMinus",Or.DFDX="dFdx",Or.DFDY="dFdy",Or.ROUND="round",Or.RECIPROCAL="reciprocal",Or.TRUNC="trunc",Or.FWIDTH="fwidth",Or.TRANSPOSE="transpose",Or.DETERMINANT="determinant",Or.INVERSE="inverse",Or.EQUALS="equals",Or.MIN="min",Or.MAX="max",Or.STEP="step",Or.REFLECT="reflect",Or.DISTANCE="distance",Or.DIFFERENCE="difference",Or.DOT="dot",Or.CROSS="cross",Or.POW="pow",Or.TRANSFORM_DIRECTION="transformDirection",Or.MIX="mix",Or.CLAMP="clamp",Or.REFRACT="refract",Or.SMOOTHSTEP="smoothstep",Or.FACEFORWARD="faceforward";const KT=en(1e-6),eK=en(1e6),gw=en(Math.PI),tK=en(Math.PI*2),nK=en(Math.PI*2),rK=en(Math.PI*.5),C3=Gi(Or,Or.ALL).setParameterLength(1),M3=Gi(Or,Or.ANY).setParameterLength(1),T3=Gi(Or,Or.RADIANS).setParameterLength(1),B3=Gi(Or,Or.DEGREES).setParameterLength(1),XT=Gi(Or,Or.EXP).setParameterLength(1),Ly=Gi(Or,Or.EXP2).setParameterLength(1),mw=Gi(Or,Or.LOG).setParameterLength(1),Ap=Gi(Or,Or.LOG2).setParameterLength(1),Rh=Gi(Or,Or.SQRT).setParameterLength(1),YT=Gi(Or,Or.INVERSE_SQRT).setParameterLength(1),pp=Gi(Or,Or.FLOOR).setParameterLength(1),vw=Gi(Or,Or.CEIL).setParameterLength(1),$h=Gi(Or,Or.NORMALIZE).setParameterLength(1),uA=Gi(Or,Or.FRACT).setParameterLength(1),jh=Gi(Or,Or.SIN).setParameterLength(1),hA=Gi(Or,Or.COS).setParameterLength(1),R3=Gi(Or,Or.TAN).setParameterLength(1),I3=Gi(Or,Or.ASIN).setParameterLength(1),qT=Gi(Or,Or.ACOS).setParameterLength(1),yw=Gi(Or,Or.ATAN).setParameterLength(1,2),Vl=Gi(Or,Or.ABS).setParameterLength(1),JT=Gi(Or,Or.SIGN).setParameterLength(1),gp=Gi(Or,Or.LENGTH).setParameterLength(1),eB=Gi(Or,Or.NEGATE).setParameterLength(1),N3=Gi(Or,Or.ONE_MINUS).setParameterLength(1),tB=Gi(Or,Or.DFDX).setParameterLength(1),nB=Gi(Or,Or.DFDY).setParameterLength(1),P3=Gi(Or,Or.ROUND).setParameterLength(1),F3=Gi(Or,Or.RECIPROCAL).setParameterLength(1),rB=Gi(Or,Or.TRUNC).setParameterLength(1),iB=Gi(Or,Or.FWIDTH).setParameterLength(1),O3=Gi(Or,Or.TRANSPOSE).setParameterLength(1),L3=Gi(Or,Or.DETERMINANT).setParameterLength(1),D3=Gi(Or,Or.INVERSE).setParameterLength(1),U3=(i,e)=>(sr('TSL: "equals" is deprecated. Use "equal" inside a vector instead, like: "bvec*( equal( ... ) )"'),$T(i,e)),md=Gi(Or,Or.MIN).setParameterLength(2,1/0),wc=Gi(Or,Or.MAX).setParameterLength(2,1/0),xw=Gi(Or,Or.STEP).setParameterLength(2),k3=Gi(Or,Or.REFLECT).setParameterLength(2),z3=Gi(Or,Or.DISTANCE).setParameterLength(2),V3=Gi(Or,Or.DIFFERENCE).setParameterLength(2),Sf=Gi(Or,Or.DOT).setParameterLength(2),_g=Gi(Or,Or.CROSS).setParameterLength(2),Cf=Gi(Or,Or.POW).setParameterLength(2),sB=i=>Ga(i,i),H3=i=>Ga(i,i,i),aB=i=>Ga(i,i,i,i),G3=Gi(Or,Or.TRANSFORM_DIRECTION).setParameterLength(2),Q3=i=>Ga(JT(i),Cf(Vl(i),1/3)),oB=i=>Sf(i,i),Mo=Gi(Or,Or.MIX).setParameterLength(3),dA=(i,e=0,t=1)=>ls(new Or(Or.CLAMP,ls(i),ls(e),ls(t))),bw=i=>dA(i),lB=Gi(Or,Or.REFRACT).setParameterLength(3),Wd=Gi(Or,Or.SMOOTHSTEP).setParameterLength(3),cB=Gi(Or,Or.FACEFORWARD).setParameterLength(3),W3=tr(([i])=>{const n=43758.5453,r=Sf(i.xy,Ni(12.9898,78.233)),s=Ob(r,gw);return uA(jh(s).mul(n))}),Z3=(i,e,t)=>Mo(e,t,i),$3=(i,e,t)=>Wd(e,t,i),j3=(i,e)=>xw(e,i),K3=(i,e)=>(sr('TSL: "atan2" is overloaded. Use "atan" instead.'),yw(i,e)),iK=cB,sK=YT;ni("all",C3),ni("any",M3),ni("equals",U3),ni("radians",T3),ni("degrees",B3),ni("exp",XT),ni("exp2",Ly),ni("log",mw),ni("log2",Ap),ni("sqrt",Rh),ni("inverseSqrt",YT),ni("floor",pp),ni("ceil",vw),ni("normalize",$h),ni("fract",uA),ni("sin",jh),ni("cos",hA),ni("tan",R3),ni("asin",I3),ni("acos",qT),ni("atan",yw),ni("abs",Vl),ni("sign",JT),ni("length",gp),ni("lengthSq",oB),ni("negate",eB),ni("oneMinus",N3),ni("dFdx",tB),ni("dFdy",nB),ni("round",P3),ni("reciprocal",F3),ni("trunc",rB),ni("fwidth",iB),ni("atan2",K3),ni("min",md),ni("max",wc),ni("step",j3),ni("reflect",k3),ni("distance",z3),ni("dot",Sf),ni("cross",_g),ni("pow",Cf),ni("pow2",sB),ni("pow3",H3),ni("pow4",aB),ni("transformDirection",G3),ni("mix",Z3),ni("clamp",dA),ni("refract",lB),ni("smoothstep",$3),ni("faceForward",cB),ni("difference",V3),ni("saturate",bw),ni("cbrt",Q3),ni("transpose",O3),ni("determinant",L3),ni("inverse",D3),ni("rand",W3);class aK extends zs{static get type(){return"ConditionalNode"}constructor(e,t,n=null){super(),this.condNode=e,this.ifNode=t,this.elseNode=n}getNodeType(e){const{ifNode:t,elseNode:n}=e.getNodeProperties(this);if(t===void 0)return e.flowBuildStage(this,"setup"),this.getNodeType(e);const r=t.getNodeType(e);if(n!==null){const s=n.getNodeType(e);if(e.getTypeLength(s)>e.getTypeLength(r))return s}return r}setup(e){const t=this.condNode,n=this.ifNode.isolate(),r=this.elseNode?this.elseNode.isolate():null,s=e.context.nodeBlock;e.getDataFromNode(n).parentNodeBlock=s,r!==null&&(e.getDataFromNode(r).parentNodeBlock=s);const a=e.context.uniformFlow,o=e.getNodeProperties(this);o.condNode=t,o.ifNode=a?n:n.context({nodeBlock:n}),o.elseNode=r?a?r:r.context({nodeBlock:r}):null}generate(e,t){const n=this.getNodeType(e),r=e.getDataFromNode(this);if(r.nodeProperty!==void 0)return r.nodeProperty;const{condNode:s,ifNode:a,elseNode:o}=e.getNodeProperties(this),l=e.currentFunctionNode,c=t!=="void",u=c?cA(n).build(e):"";r.nodeProperty=u;const h=s.build(e,"bool");if(e.context.uniformFlow&&o!==null){const A=a.build(e,n),y=o.build(e,n),b=e.getTernary(h,A,y);return e.format(b,n,t)}e.addFlowCode(` +${e.tab}if ( ${h} ) { + +`).addFlowTab();let f=a.build(e,n);if(f&&(c?f=u+" = "+f+";":(f="return "+f+";",l===null&&(sr("TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),f="// "+f))),e.removeFlowTab().addFlowCode(e.tab+" "+f+` + +`+e.tab+"}"),o!==null){e.addFlowCode(` else { + +`).addFlowTab();let A=o.build(e,n);A&&(c?A=u+" = "+A+";":(A="return "+A+";",l===null&&(sr("TSL: Return statement used in an inline 'Fn()'. Define a layout struct to allow return values."),A="// "+A))),e.removeFlowTab().addFlowCode(e.tab+" "+A+` + +`+e.tab+`} + +`)}else e.addFlowCode(` + +`);return e.format(u,n,t)}}const ih=Ha(aK).setParameterLength(2,3);ni("select",ih);class X3 extends zs{static get type(){return"ContextNode"}constructor(e=null,t={}){super(),this.isContextNode=!0,this.node=e,this.value=t}getScope(){return this.node.getScope()}getNodeType(e){return this.node.getNodeType(e)}getFlowContextData(){const e=[];return this.traverse(t=>{t.isContextNode===!0&&e.push(t.value)}),Object.assign({},...e)}getMemberType(e,t){return this.node.getMemberType(e,t)}analyze(e){const t=e.addContext(this.value);this.node.build(e),e.setContext(t)}setup(e){const t=e.addContext(this.value);this.node.build(e),e.setContext(t)}generate(e,t){const n=e.addContext(this.value),r=this.node.build(e,t);return e.setContext(n),r}}const wg=(i=null,e={})=>{let t=i;return(t===null||t.isNode!==!0)&&(e=t||e,t=null),new X3(t,e)},Y3=i=>wg(i,{uniformFlow:!0}),uB=(i,e)=>wg(i,{nodeName:e});function q3(i,e,t=null){return wg(t,{getShadow:({light:n,shadowColorNode:r})=>e===n?r.mul(i):r})}function J3(i,e=null){return wg(e,{getAO:(t,{material:n})=>n.transparent===!0?t:t!==null?t.mul(i):i})}function eL(i,e){return sr('TSL: "label()" has been deprecated. Use "setName()" instead.'),uB(i,e)}ni("context",wg),ni("label",eL),ni("uniformFlow",Y3),ni("setName",uB),ni("builtinShadowContext",(i,e,t)=>q3(e,t,i)),ni("builtinAOContext",(i,e)=>J3(e,i));class _w extends zs{static get type(){return"VarNode"}constructor(e,t=null,n=!1){super(),this.node=e,this.name=t,this.global=!0,this.isVarNode=!0,this.readOnly=n,this.parents=!0,this.intent=!1}setIntent(e){return this.intent=e,this}isIntent(e){return e.getDataFromNode(this).forceDeclaration===!0?!1:this.intent}getIntent(){return this.intent}getMemberType(e,t){return this.node.getMemberType(e,t)}getElementType(e){return this.node.getElementType(e)}getNodeType(e){return this.node.getNodeType(e)}getArrayCount(e){return this.node.getArrayCount(e)}isAssign(e){return e.getDataFromNode(this).assign}build(...e){const t=e[0];if(this._hasStack(t)===!1&&t.buildStage==="setup"&&(t.context.nodeLoop||t.context.nodeBlock)){let n=!1;if(this.node.isShaderCallNodeInternal&&this.node.shaderNode.getLayout()===null&&t.fnCall&&t.fnCall.shaderNode&&t.getDataFromNode(this.node.shaderNode).hasLoop){const a=t.getDataFromNode(this);a.forceDeclaration=!0,n=!0}const r=t.getBaseStack();n?r.addToStackBefore(this):r.addToStack(this)}return this.isIntent(t)&&this.isAssign(t)!==!0?this.node.build(...e):super.build(...e)}generate(e){const{node:t,name:n,readOnly:r}=this,{renderer:s}=e,a=s.backend.isWebGPUBackend===!0;let o=!1,l=!1;r&&(o=e.isDeterministic(t),l=a?r:o);const c=this.getNodeType(e);if(c=="void")return this.isIntent(e)!==!0&&Nr('TSL: ".toVar()" can not be used with void type.'),t.build(e);const u=e.getVectorType(c),h=t.build(e,u),d=e.getVarFromNode(this,n,u,void 0,l),f=e.getPropertyName(d);let A=f;if(l)if(a)A=o?`const ${f}`:`let ${f}`;else{const y=t.getArrayCount(e);A=`const ${e.getVar(d.type,f,y)}`}return e.addLineFlowCode(`${A} = ${h}`,this),f}_hasStack(e){return e.getDataFromNode(this).stack!==void 0}}const hB=Ha(_w),tL=(i,e=null)=>hB(i,e).toStack(),nL=(i,e=null)=>hB(i,e,!0).toStack(),rL=i=>hB(i).setIntent(!0).toStack();ni("toVar",tL),ni("toConst",nL),ni("toVarIntent",rL);class oK extends zs{static get type(){return"SubBuild"}constructor(e,t,n=null){super(n),this.node=e,this.name=t,this.isSubBuildNode=!0}getNodeType(e){if(this.nodeType!==null)return this.nodeType;e.addSubBuild(this.name);const t=this.node.getNodeType(e);return e.removeSubBuild(),t}build(e,...t){e.addSubBuild(this.name);const n=this.node.build(e,...t);return e.removeSubBuild(),n}}const Dy=(i,e,t=null)=>ls(new oK(ls(i),e,t));class lK extends zs{static get type(){return"VaryingNode"}constructor(e,t=null){super(),this.node=e,this.name=t,this.isVaryingNode=!0,this.interpolationType=null,this.interpolationSampling=null,this.global=!0}setInterpolation(e,t=null){return this.interpolationType=e,this.interpolationSampling=t,this}getHash(e){return this.name||super.getHash(e)}getNodeType(e){return this.node.getNodeType(e)}setupVarying(e){const t=e.getNodeProperties(this);let n=t.varying;if(n===void 0){const r=this.name,s=this.getNodeType(e),a=this.interpolationType,o=this.interpolationSampling;t.varying=n=e.getVaryingFromNode(this,r,s,a,o),t.node=Dy(this.node,"VERTEX")}return n.needsInterpolation||(n.needsInterpolation=e.shaderStage==="fragment"),n}setup(e){this.setupVarying(e),e.flowNodeFromShaderStage(Sb.VERTEX,this.node)}analyze(e){this.setupVarying(e),e.flowNodeFromShaderStage(Sb.VERTEX,this.node)}generate(e){const t=e.getSubBuildProperty("property",e.currentStack),n=e.getNodeProperties(this),r=this.setupVarying(e);if(n[t]===void 0){const s=this.getNodeType(e),a=e.getPropertyName(r,Sb.VERTEX);e.flowNodeFromShaderStage(Sb.VERTEX,n.node,s,a),n[t]=a}return e.getPropertyName(r)}}const mp=Ha(lK).setParameterLength(1,2),iL=i=>mp(i);ni("toVarying",mp),ni("toVertexStage",iL),ni("varying",(...i)=>(sr("TSL: .varying() has been renamed to .toVarying()."),mp(...i))),ni("vertexStage",(...i)=>(sr("TSL: .vertexStage() has been renamed to .toVertexStage()."),mp(...i)));const sL=tr(([i])=>{const e=i.mul(.9478672986).add(.0521327014).pow(2.4),t=i.mul(.0773993808),n=i.lessThanEqual(.04045);return Mo(e,t,n)}).setLayout({name:"sRGBTransferEOTF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),aL=tr(([i])=>{const e=i.pow(.41666).mul(1.055).sub(.055),t=i.mul(12.92),n=i.lessThanEqual(.0031308);return Mo(e,t,n)}).setLayout({name:"sRGBTransferOETF",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),dB="WorkingColorSpace",cK="OutputColorSpace";class fB extends bc{static get type(){return"ColorSpaceNode"}constructor(e,t,n){super("vec4"),this.colorNode=e,this.source=t,this.target=n}resolveColorSpace(e,t){return t===dB?xr.workingColorSpace:t===cK?e.context.outputColorSpace||e.renderer.outputColorSpace:t}setup(e){const{colorNode:t}=this,n=this.resolveColorSpace(e,this.source),r=this.resolveColorSpace(e,this.target);let s=t;return xr.enabled===!1||n===r||!n||!r||(xr.getTransfer(n)===Hi&&(s=Rs(sL(s.rgb),s.a)),xr.getPrimaries(n)!==xr.getPrimaries(r)&&(s=Rs(rh(xr._getMatrix(new Pn,n,r)).mul(s.rgb),s.a)),xr.getTransfer(r)===Hi&&(s=Rs(aL(s.rgb),s.a))),s}}const oL=(i,e)=>ls(new fB(ls(i),dB,e)),ww=(i,e)=>ls(new fB(ls(i),e,dB)),uK=(i,e,t)=>ls(new fB(ls(i),e,t));ni("workingToColorSpace",oL),ni("colorSpaceToWorking",ww);let hK=class extends X0{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),n=this.referenceNode.getNodeType(),r=this.getNodeType();return e.format(t,n,r)}};class lL extends zs{static get type(){return"ReferenceBaseNode"}constructor(e,t,n=null,r=null){super(),this.property=e,this.uniformType=t,this.object=n,this.count=r,this.properties=e.split("."),this.reference=n,this.node=null,this.group=null,this.updateType=Xa.OBJECT}setGroup(e){return this.group=e,this}element(e){return new hK(this,ls(e))}setNodeType(e){const t=na(null,e);this.group!==null&&t.setGroup(this.group),this.node=t}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateValue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let n=e[t[0]];for(let r=1;rnew lL(i,e,t);class fK extends lL{static get type(){return"RendererReferenceNode"}constructor(e,t,n=null){super(e,t,n),this.renderer=n,this.setGroup(aa)}updateReference(e){return this.reference=this.renderer!==null?this.renderer:e.renderer,this.reference}}const cL=(i,e,t=null)=>new fK(i,e,t);class AK extends bc{static get type(){return"ToneMappingNode"}constructor(e,t=hL,n=null){super("vec3"),this._toneMapping=e,this.exposureNode=t,this.colorNode=n}customCacheKey(){return Ny(this._toneMapping)}setToneMapping(e){return this._toneMapping=e,this}getToneMapping(){return this._toneMapping}setup(e){const t=this.colorNode||e.context.color,n=this._toneMapping;if(n===U)return t;let r=null;const s=e.renderer.library.getToneMappingFunction(n);return s!==null?r=Rs(s(t.rgb,this.exposureNode),t.a):(Nr("ToneMappingNode: Unsupported Tone Mapping configuration.",n),r=t),r}}const uL=(i,e,t)=>ls(new AK(i,ls(e),ls(t))),hL=cL("toneMappingExposure","float");ni("toneMapping",(i,e,t)=>uL(e,t,i));const dL=new WeakMap;function fL(i,e){let t=dL.get(i);return t===void 0&&(t=new Am(i,e),dL.set(i,t)),t}class Om extends BT{static get type(){return"BufferAttributeNode"}constructor(e,t=null,n=0,r=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferStride=n,this.bufferOffset=r,this.usage=Jl,this.instanced=!1,this.attribute=null,this.global=!0,e&&e.isBufferAttribute===!0&&e.itemSize<=4&&(this.attribute=e,this.usage=e.usage,this.instanced=e.isInstancedBufferAttribute)}getHash(e){if(this.bufferStride===0&&this.bufferOffset===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getNodeType(e){return this.bufferType===null&&(this.bufferType=e.getTypeFromAttribute(this.attribute)),this.bufferType}setup(e){if(this.attribute!==null)return;const t=this.getNodeType(e),n=e.getTypeLength(t),r=this.value,s=this.bufferStride||n,a=this.bufferOffset;let o;r.isInterleavedBuffer===!0?o=r:r.isBufferAttribute===!0?o=fL(r.array,s):o=fL(r,s);const l=new Ju(o,n,a);o.setUsage(this.usage),this.attribute=l,this.attribute.isInstancedBufferAttribute=this.instanced}generate(e){const t=this.getNodeType(e),n=e.getBufferAttributeFromNode(this,t),r=e.getPropertyName(n);let s=null;return e.shaderStage==="vertex"||e.shaderStage==="compute"?(this.name=r,s=r):s=mp(this).build(e,t),s}getInputType(){return"bufferAttribute"}setUsage(e){return this.usage=e,this.attribute&&this.attribute.isBufferAttribute===!0&&(this.attribute.usage=e),this}setInstanced(e){return this.instanced=e,this}}function Ew(i,e=null,t=0,n=0,r=Jl,s=!1){return e==="mat3"||e===null&&i.itemSize===9?rh(new Om(i,"vec3",9,0).setUsage(r).setInstanced(s),new Om(i,"vec3",9,3).setUsage(r).setInstanced(s),new Om(i,"vec3",9,6).setUsage(r).setInstanced(s)):e==="mat4"||e===null&&i.itemSize===16?Im(new Om(i,"vec4",16,0).setUsage(r).setInstanced(s),new Om(i,"vec4",16,4).setUsage(r).setInstanced(s),new Om(i,"vec4",16,8).setUsage(r).setInstanced(s),new Om(i,"vec4",16,12).setUsage(r).setInstanced(s)):new Om(i,e,t,n)}const AB=(i,e=null,t=0,n=0)=>Ew(i,e,t,n),pK=(i,e=null,t=0,n=0)=>Ew(i,e,t,n,Cl),Sw=(i,e=null,t=0,n=0)=>Ew(i,e,t,n,Jl,!0),pB=(i,e=null,t=0,n=0)=>Ew(i,e,t,n,Cl,!0);ni("toAttribute",i=>AB(i.value));class gK extends zs{static get type(){return"ComputeNode"}constructor(e,t){super("void"),this.isComputeNode=!0,this.computeNode=e,this.workgroupSize=t,this.count=null,this.version=1,this.name="",this.updateBeforeType=Xa.OBJECT,this.onInitFunction=null}setCount(e){return this.count=e,this}getCount(){return this.count}dispose(){this.dispatchEvent({type:"dispose"})}setName(e){return this.name=e,this}label(e){return sr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}onInit(e){return this.onInitFunction=e,this}updateBefore({renderer:e}){e.compute(this)}setup(e){const t=this.computeNode.build(e);if(t){const n=e.getNodeProperties(this);n.outputComputeNode=t.outputNode,t.outputNode=null}return t}generate(e,t){const{shaderStage:n}=e;if(n==="compute"){const r=this.computeNode.build(e,"void");r!==""&&e.addLineFlowCode(r,this)}else{const s=e.getNodeProperties(this).outputComputeNode;if(s)return s.build(e,t)}}}const gB=(i,e=[64])=>{(e.length===0||e.length>3)&&Nr("TSL: compute() workgroupSize must have 1, 2, or 3 elements");for(let t=0;tgB(i,t).setCount(e);ni("compute",AL),ni("computeKernel",gB);class mK extends zs{static get type(){return"IsolateNode"}constructor(e,t=!0){super(),this.node=e,this.parent=t,this.isIsolateNode=!0}getNodeType(e){const t=e.getCache(),n=e.getCacheFromNode(this,this.parent);e.setCache(n);const r=this.node.getNodeType(e);return e.setCache(t),r}build(e,...t){const n=e.getCache(),r=e.getCacheFromNode(this,this.parent);e.setCache(r);const s=this.node.build(e,...t);return e.setCache(n),s}setParent(e){return this.parent=e,this}getParent(){return this.parent}}const Uy=i=>new mK(ls(i));function pL(i,e=!0){return sr('TSL: "cache()" has been deprecated. Use "isolate()" instead.'),Uy(i).setParent(e)}ni("cache",pL),ni("isolate",Uy);class vK extends zs{static get type(){return"BypassNode"}constructor(e,t){super(),this.isBypassNode=!0,this.outputNode=e,this.callNode=t}getNodeType(e){return this.outputNode.getNodeType(e)}generate(e){const t=this.callNode.build(e,"void");return t!==""&&e.addLineFlowCode(t,this),this.outputNode.build(e)}}const gL=Ha(vK).setParameterLength(2);ni("bypass",gL);class mL extends zs{static get type(){return"RemapNode"}constructor(e,t,n,r=en(0),s=en(1)){super(),this.node=e,this.inLowNode=t,this.inHighNode=n,this.outLowNode=r,this.outHighNode=s,this.doClamp=!0}setup(){const{node:e,inLowNode:t,inHighNode:n,outLowNode:r,outHighNode:s,doClamp:a}=this;let o=e.sub(t).div(n.sub(t));return a===!0&&(o=o.clamp()),o.mul(s.sub(r)).add(r)}}const vL=Ha(mL,null,null,{doClamp:!1}).setParameterLength(3,5),yL=Ha(mL).setParameterLength(3,5);ni("remap",vL),ni("remapClamp",yL);class Cw extends zs{static get type(){return"ExpressionNode"}constructor(e="",t="void"){super(t),this.snippet=e}generate(e,t){const n=this.getNodeType(e),r=this.snippet;if(n==="void")e.addLineFlowCode(r,this);else return e.format(r,n,t)}}const Eg=Ha(Cw).setParameterLength(1,2),xL=i=>(i?ih(i,Eg("discard")):Eg("discard")).toStack(),yK=()=>Eg("return").toStack();ni("discard",xL);class xK extends bc{static get type(){return"RenderOutputNode"}constructor(e,t,n){super("vec4"),this.colorNode=e,this._toneMapping=t,this.outputColorSpace=n,this.isRenderOutputNode=!0}setToneMapping(e){return this._toneMapping=e,this}getToneMapping(){return this._toneMapping}setup({context:e}){let t=this.colorNode||e.color;const n=(this._toneMapping!==null?this._toneMapping:e.toneMapping)||U,r=(this.outputColorSpace!==null?this.outputColorSpace:e.outputColorSpace)||Oa;return n!==U&&(t=t.toneMapping(n)),r!==Oa&&r!==xr.workingColorSpace&&(t=t.workingToColorSpace(r)),t}}const mB=(i,e=null,t=null)=>ls(new xK(ls(i),e,t));ni("renderOutput",mB);class bK extends bc{static get type(){return"DebugNode"}constructor(e,t=null){super(),this.node=e,this.callback=t}getNodeType(e){return this.node.getNodeType(e)}setup(e){return this.node.build(e)}analyze(e){return this.node.build(e)}generate(e){const t=this.callback,n=this.node.build(e),r="--- TSL debug - "+e.shaderStage+" shader ---",s="-".repeat(r.length);let a="";return a+="// #"+r+`# +`,a+=e.flow.code.replace(/^\t/mg,"")+` +`,a+="/* ... */ "+n+` /* ... */ +`,a+="// #"+s+`# +`,t!==null?t(e,a):Ma(a),n}}const bL=(i,e=null)=>ls(new bK(ls(i),e)).toStack();ni("debug",bL);class _L{constructor(){this._renderer=null,this.currentFrame=null}get nodeFrame(){return this._renderer._nodes.nodeFrame}setRenderer(e){return this._renderer=e,this}getRenderer(){return this._renderer}init(){}begin(){}finish(){}inspect(){}computeAsync(){}beginCompute(){}finishCompute(){}beginRender(){}finishRender(){}copyTextureToTexture(){}copyFramebufferToTexture(){}}class _K extends zs{static get type(){return"InspectorNode"}constructor(e,t="",n=null){super(),this.node=e,this.name=t,this.callback=n,this.updateType=Xa.FRAME,this.isInspectorNode=!0}getName(){return this.name||this.node.name}update(e){e.renderer.inspector.inspect(this)}getNodeType(e){return this.node.getNodeType(e)}setup(e){let t=this.node;return e.context.inspector===!0&&this.callback!==null&&(t=this.callback(t)),e.renderer.backend.isWebGPUBackend!==!0&&e.renderer.inspector.constructor!==_L&&$s('TSL: ".toInspector()" is only available with WebGPU.'),t}}function wL(i,e="",t=null){return i=ls(i),i.before(new _K(i,e,t))}ni("toInspector",wL);function wK(i){sr("TSL: AddNodeElement has been removed in favor of tree-shaking. Trying add",i)}class EL extends zs{static get type(){return"AttributeNode"}constructor(e,t=null){super(t),this.global=!0,this._attributeName=e}getHash(e){return this.getAttributeName(e)}getNodeType(e){let t=this.nodeType;if(t===null){const n=this.getAttributeName(e);if(e.hasGeometryAttribute(n)){const r=e.geometry.getAttribute(n);t=e.getTypeFromAttribute(r)}else t="float"}return t}setAttributeName(e){return this._attributeName=e,this}getAttributeName(){return this._attributeName}generate(e){const t=this.getAttributeName(e),n=this.getNodeType(e);if(e.hasGeometryAttribute(t)===!0){const s=e.geometry.getAttribute(t),a=e.getTypeFromAttribute(s),o=e.getAttribute(t,a);return e.shaderStage==="vertex"?e.format(o.name,a,n):mp(this).build(e,n)}else return sr(`AttributeNode: Vertex attribute "${t}" not found on geometry.`),e.generateConst(n)}serialize(e){super.serialize(e),e.global=this.global,e._attributeName=this._attributeName}deserialize(e){super.deserialize(e),this.global=e.global,this._attributeName=e._attributeName}}const Kh=(i,e=null)=>new EL(i,e),_l=(i=0)=>Kh("uv"+(i>0?i:""),"vec2");class EK extends zs{static get type(){return"TextureSizeNode"}constructor(e,t=null){super("uvec2"),this.isTextureSizeNode=!0,this.textureNode=e,this.levelNode=t}generate(e,t){const n=this.textureNode.build(e,"property"),r=this.levelNode===null?"0":this.levelNode.build(e,"int");return e.format(`${e.getMethod("textureDimensions")}( ${n}, ${r} )`,this.getNodeType(e),t)}}const Sg=Ha(EK).setParameterLength(1,2);class SK extends Fb{static get type(){return"MaxMipLevelNode"}constructor(e){super(0),this._textureNode=e,this.updateType=Xa.FRAME}get textureNode(){return this._textureNode}get texture(){return this._textureNode.value}update(){const e=this.texture,t=e.images,n=t&&t.length>0?t[0]&&t[0].image||t[0]:e.image;if(n&&n.width!==void 0){const{width:r,height:s}=n;this.value=Math.log2(Math.max(r,s))}}}const vB=Ha(SK).setParameterLength(1),yB=new ms;class vp extends Fb{static get type(){return"TextureNode"}constructor(e=yB,t=null,n=null,r=null){super(e),this.isTextureNode=!0,this.uvNode=t,this.levelNode=n,this.biasNode=r,this.compareNode=null,this.depthNode=null,this.gradNode=null,this.offsetNode=null,this.sampler=!0,this.updateMatrix=!1,this.updateType=Xa.NONE,this.referenceNode=null,this._value=e,this._matrixUniform=null,this._flipYUniform=null,this.setUpdateMatrix(t===null)}set value(e){this.referenceNode?this.referenceNode.value=e:this._value=e}get value(){return this.referenceNode?this.referenceNode.value:this._value}getUniformHash(){return this.value.uuid}getNodeType(){return this.value.isDepthTexture===!0?"float":this.value.type===Ft?"uvec4":this.value.type===yt?"ivec4":"vec4"}getInputType(){return"texture"}getDefaultUV(){return _l(this.value.channel)}updateReference(){return this.value}getTransformedUV(e){return this._matrixUniform===null&&(this._matrixUniform=na(this.value.matrix)),this._matrixUniform.mul(Wn(e,1)).xy}setUpdateMatrix(e){return this.updateMatrix=e,this}setupUV(e,t){return e.isFlipY()&&(this._flipYUniform===null&&(this._flipYUniform=na(!1)),t=t.toVar(),this.sampler?t=this._flipYUniform.select(t.flipY(),t):t=this._flipYUniform.select(t.setY(zn(Sg(this,this.levelNode).y).sub(t.y).sub(1)),t)),t}setup(e){const t=e.getNodeProperties(this);t.referenceNode=this.referenceNode;const n=this.value;if(!n||n.isTexture!==!0)throw new Error("THREE.TSL: `texture( value )` function expects a valid instance of THREE.Texture().");const r=tr(()=>{let a=this.uvNode;return(a===null||e.context.forceUVContext===!0)&&e.context.getUV&&(a=e.context.getUV(this,e)),a||(a=this.getDefaultUV()),this.updateMatrix===!0&&(a=this.getTransformedUV(a)),a=this.setupUV(e,a),this.updateType=this._matrixUniform!==null||this._flipYUniform!==null?Xa.OBJECT:Xa.NONE,a})();let s=this.levelNode;s===null&&e.context.getTextureLevel&&(s=e.context.getTextureLevel(this)),t.uvNode=r,t.levelNode=s,t.biasNode=this.biasNode,t.compareNode=this.compareNode,t.gradNode=this.gradNode,t.depthNode=this.depthNode,t.offsetNode=this.offsetNode}generateUV(e,t){return t.build(e,this.sampler===!0?"vec2":"ivec2")}generateOffset(e,t){return t.build(e,"ivec2")}generateSnippet(e,t,n,r,s,a,o,l,c){const u=this.value;let h;return s?h=e.generateTextureBias(u,t,n,s,a,c):l?h=e.generateTextureGrad(u,t,n,l,a,c):o?h=e.generateTextureCompare(u,t,n,o,a,c):this.sampler===!1?h=e.generateTextureLoad(u,t,n,r,a,c):r?h=e.generateTextureLevel(u,t,n,r,a,c):h=e.generateTexture(u,t,n,a,c),h}generate(e,t){const n=this.value,r=e.getNodeProperties(this),s=super.generate(e,"property");if(/^sampler/.test(t))return s+"_sampler";if(e.isReference(t))return s;{const a=e.getDataFromNode(this);let o=a.propertyName;if(o===void 0){const{uvNode:u,levelNode:h,biasNode:d,compareNode:f,depthNode:A,gradNode:y,offsetNode:b}=r,x=this.generateUV(e,u),P=h?h.build(e,"float"):null,k=d?d.build(e,"float"):null,$=A?A.build(e,"int"):null,se=f?f.build(e,"float"):null,ie=y?[y[0].build(e,"vec2"),y[1].build(e,"vec2")]:null,ce=b?this.generateOffset(e,b):null,ue=e.getVarFromNode(this);o=e.getPropertyName(ue);const ve=this.generateSnippet(e,s,x,P,k,$,se,ie,ce);e.addLineFlowCode(`${o} = ${ve}`,this),a.snippet=ve,a.propertyName=o}let l=o;const c=this.getNodeType(e);return e.needsToWorkingColorSpace(n)&&(l=ww(Eg(l,c),n.colorSpace).setup(e).build(e,c)),e.format(l,c,t)}}setSampler(e){return this.sampler=e,this}getSampler(){return this.sampler}uv(e){return sr("TextureNode: .uv() has been renamed. Use .sample() instead."),this.sample(e)}sample(e){const t=this.clone();return t.uvNode=ls(e),t.referenceNode=this.getBase(),ls(t)}load(e){return this.sample(e).setSampler(!1)}blur(e){const t=this.clone();t.biasNode=ls(e).mul(vB(t)),t.referenceNode=this.getBase();const n=t.value;return t.generateMipmaps===!1&&(n&&n.generateMipmaps===!1||n.minFilter===_n||n.magFilter===_n)&&(sr("TSL: texture().blur() requires mipmaps and sampling. Use .generateMipmaps=true and .minFilter/.magFilter=THREE.LinearFilter in the Texture."),t.biasNode=null),ls(t)}level(e){const t=this.clone();return t.levelNode=ls(e),t.referenceNode=this.getBase(),ls(t)}size(e){return Sg(this,e)}bias(e){const t=this.clone();return t.biasNode=ls(e),t.referenceNode=this.getBase(),ls(t)}getBase(){return this.referenceNode?this.referenceNode.getBase():this}compare(e){const t=this.clone();return t.compareNode=ls(e),t.referenceNode=this.getBase(),ls(t)}grad(e,t){const n=this.clone();return n.gradNode=[ls(e),ls(t)],n.referenceNode=this.getBase(),ls(n)}depth(e){const t=this.clone();return t.depthNode=ls(e),t.referenceNode=this.getBase(),ls(t)}offset(e){const t=this.clone();return t.offsetNode=ls(e),t.referenceNode=this.getBase(),ls(t)}serialize(e){super.serialize(e),e.value=this.value.toJSON(e.meta).uuid,e.sampler=this.sampler,e.updateMatrix=this.updateMatrix,e.updateType=this.updateType}deserialize(e){super.deserialize(e),this.value=e.meta.textures[e.value],this.sampler=e.sampler,this.updateMatrix=e.updateMatrix,this.updateType=e.updateType}update(){const e=this.value,t=this._matrixUniform;t!==null&&(t.value=e.matrix),e.matrixAutoUpdate===!0&&e.updateMatrix();const n=this._flipYUniform;n!==null&&(n.value=e.image instanceof ImageBitmap&&e.flipY===!0||e.isRenderTargetTexture===!0||e.isFramebufferTexture===!0||e.isDepthTexture===!0)}clone(){const e=new this.constructor(this.value,this.uvNode,this.levelNode,this.biasNode);return e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e}}const CK=Ha(vp).setParameterLength(1,4).setName("texture"),Yo=(i=yB,e=null,t=null,n=null)=>{let r;return i&&i.isTextureNode===!0?(r=ls(i.clone()),r.referenceNode=i.getBase(),e!==null&&(r.uvNode=ls(e)),t!==null&&(r.levelNode=ls(t)),n!==null&&(r.biasNode=ls(n))):r=CK(i,e,t,n),r},MK=(i=yB)=>Yo(i),Nc=(...i)=>Yo(...i).setSampler(!1),TK=(i,e,t)=>Yo(i,e).level(t),BK=i=>(i.isNode===!0?i:Yo(i)).convert("sampler"),RK=i=>(i.isNode===!0?i:Yo(i)).convert("samplerComparison");class xB extends Fb{static get type(){return"BufferNode"}constructor(e,t,n=0){super(e,t),this.isBufferNode=!0,this.bufferType=t,this.bufferCount=n,this.updateRanges=[]}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}getElementType(e){return this.getNodeType(e)}getInputType(){return"buffer"}}const Lb=(i,e,t)=>new xB(i,e,t);class IK extends X0{static get type(){return"UniformArrayElementNode"}constructor(e,t){super(e,t),this.isArrayBufferElementNode=!0}generate(e){const t=super.generate(e),n=this.getNodeType(),r=this.node.getPaddedType();return e.format(t,r,n)}}class NK extends xB{static get type(){return"UniformArrayNode"}constructor(e,t=null){super(null),this.array=e,this.elementType=t===null?xg(e[0]):t,this.paddedType=this.getPaddedType(),this.updateType=Xa.RENDER,this.isArrayBufferNode=!0}getNodeType(){return this.paddedType}getElementType(){return this.elementType}getPaddedType(){const e=this.elementType;let t="vec4";return e==="mat2"?t="mat2":/mat/.test(e)===!0?t="mat4":e.charAt(0)==="i"?t="ivec4":e.charAt(0)==="u"&&(t="uvec4"),t}update(){const{array:e,value:t}=this,n=this.elementType;if(n==="float"||n==="int"||n==="uint")for(let r=0;rnew NK(i,e);class PK extends zs{constructor(e){super("float"),this.name=e,this.isBuiltinNode=!0}generate(){return this.name}}const Cg=Ha(PK).setParameterLength(1);let Db,Ub;class jl extends zs{static get type(){return"ScreenNode"}constructor(e){super(),this.scope=e,this._output=null,this.isViewportNode=!0}getNodeType(){return this.scope===jl.DPR?"float":this.scope===jl.VIEWPORT?"vec4":"vec2"}getUpdateType(){let e=Xa.NONE;return(this.scope===jl.SIZE||this.scope===jl.VIEWPORT||this.scope===jl.DPR)&&(e=Xa.RENDER),this.updateType=e,e}update({renderer:e}){const t=e.getRenderTarget();this.scope===jl.VIEWPORT?t!==null?Ub.copy(t.viewport):(e.getViewport(Ub),Ub.multiplyScalar(e.getPixelRatio())):this.scope===jl.DPR?this._output.value=e.getPixelRatio():t!==null?(Db.width=t.width,Db.height=t.height):e.getDrawingBufferSize(Db)}setup(){const e=this.scope;let t=null;return e===jl.SIZE?t=na(Db||(Db=new Qe)):e===jl.VIEWPORT?t=na(Ub||(Ub=new Mi)):e===jl.DPR?t=na(1):t=Ni(iv.div(rv)),this._output=t,t}generate(e){if(this.scope===jl.COORDINATE){let t=e.getFragCoord();if(e.isFlipY()){const n=e.getNodeProperties(rv).outputNode.build(e);t=`${e.getType("vec2")}( ${t}.x, ${n}.y - ${t}.y )`}return t}return super.generate(e)}}jl.COORDINATE="coordinate",jl.VIEWPORT="viewport",jl.SIZE="size",jl.UV="uv",jl.DPR="dpr";const bB=is(jl,jl.DPR),Mg=is(jl,jl.UV),rv=is(jl,jl.SIZE),iv=is(jl,jl.COORDINATE),ky=is(jl,jl.VIEWPORT),_B=ky.zw,SL=iv.sub(ky.xy),FK=SL.div(_B),OK=tr(()=>(sr('TSL: "viewportResolution" is deprecated. Use "screenSize" instead.'),rv),"vec2").once()(),Lm=na(0,"uint").setName("u_cameraIndex").setGroup(pw("cameraIndex")).toVarying("v_cameraIndex"),Tg=na("float").setName("cameraNear").setGroup(aa).onRenderUpdate(({camera:i})=>i.near),Bg=na("float").setName("cameraFar").setGroup(aa).onRenderUpdate(({camera:i})=>i.far),Xh=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.projectionMatrix);e=Ih(t).setGroup(aa).setName("cameraProjectionMatrices").element(i.isMultiViewCamera?Cg("gl_ViewID_OVR"):Lm).toConst("cameraProjectionMatrix")}else e=na("mat4").setName("cameraProjectionMatrix").setGroup(aa).onRenderUpdate(({camera:t})=>t.projectionMatrix);return e}).once()(),LK=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.projectionMatrixInverse);e=Ih(t).setGroup(aa).setName("cameraProjectionMatricesInverse").element(i.isMultiViewCamera?Cg("gl_ViewID_OVR"):Lm).toConst("cameraProjectionMatrixInverse")}else e=na("mat4").setName("cameraProjectionMatrixInverse").setGroup(aa).onRenderUpdate(({camera:t})=>t.projectionMatrixInverse);return e}).once()(),Zd=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.matrixWorldInverse);e=Ih(t).setGroup(aa).setName("cameraViewMatrices").element(i.isMultiViewCamera?Cg("gl_ViewID_OVR"):Lm).toConst("cameraViewMatrix")}else e=na("mat4").setName("cameraViewMatrix").setGroup(aa).onRenderUpdate(({camera:t})=>t.matrixWorldInverse);return e}).once()(),DK=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.matrixWorld);e=Ih(t).setGroup(aa).setName("cameraWorldMatrices").element(i.isMultiViewCamera?Cg("gl_ViewID_OVR"):Lm).toConst("cameraWorldMatrix")}else e=na("mat4").setName("cameraWorldMatrix").setGroup(aa).onRenderUpdate(({camera:t})=>t.matrixWorld);return e}).once()(),UK=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.normalMatrix);e=Ih(t).setGroup(aa).setName("cameraNormalMatrices").element(i.isMultiViewCamera?Cg("gl_ViewID_OVR"):Lm).toConst("cameraNormalMatrix")}else e=na("mat3").setName("cameraNormalMatrix").setGroup(aa).onRenderUpdate(({camera:t})=>t.normalMatrix);return e}).once()(),kb=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(let r=0,s=i.cameras.length;r{const a=r.cameras,o=s.array;for(let l=0,c=a.length;ln.value.setFromMatrixPosition(t.matrixWorld));return e}).once()(),kK=tr(({camera:i})=>{let e;if(i.isArrayCamera&&i.cameras.length>0){const t=[];for(const r of i.cameras)t.push(r.viewport);e=Ih(t,"vec4").setGroup(aa).setName("cameraViewports").element(Lm).toConst("cameraViewport")}else e=Rs(0,0,rv.x,rv.y).toConst("cameraViewport");return e}).once()(),CL=new Li;class Lo extends zs{static get type(){return"Object3DNode"}constructor(e,t=null){super(),this.scope=e,this.object3d=t,this.updateType=Xa.OBJECT,this.uniformNode=new Fb(null)}getNodeType(){const e=this.scope;if(e===Lo.WORLD_MATRIX)return"mat4";if(e===Lo.POSITION||e===Lo.VIEW_POSITION||e===Lo.DIRECTION||e===Lo.SCALE)return"vec3";if(e===Lo.RADIUS)return"float"}update(e){const t=this.object3d,n=this.uniformNode,r=this.scope;if(r===Lo.WORLD_MATRIX)n.value=t.matrixWorld;else if(r===Lo.POSITION)n.value=n.value||new ye,n.value.setFromMatrixPosition(t.matrixWorld);else if(r===Lo.SCALE)n.value=n.value||new ye,n.value.setFromMatrixScale(t.matrixWorld);else if(r===Lo.DIRECTION)n.value=n.value||new ye,t.getWorldDirection(n.value);else if(r===Lo.VIEW_POSITION){const s=e.camera;n.value=n.value||new ye,n.value.setFromMatrixPosition(t.matrixWorld),n.value.applyMatrix4(s.matrixWorldInverse)}else if(r===Lo.RADIUS){const s=e.object.geometry;s.boundingSphere===null&&s.computeBoundingSphere(),CL.copy(s.boundingSphere).applyMatrix4(t.matrixWorld),n.value=CL.radius}}generate(e){const t=this.scope;return t===Lo.WORLD_MATRIX?this.uniformNode.nodeType="mat4":t===Lo.POSITION||t===Lo.VIEW_POSITION||t===Lo.DIRECTION||t===Lo.SCALE?this.uniformNode.nodeType="vec3":t===Lo.RADIUS&&(this.uniformNode.nodeType="float"),this.uniformNode.build(e)}serialize(e){super.serialize(e),e.scope=this.scope}deserialize(e){super.deserialize(e),this.scope=e.scope}}Lo.WORLD_MATRIX="worldMatrix",Lo.POSITION="position",Lo.SCALE="scale",Lo.VIEW_POSITION="viewPosition",Lo.DIRECTION="direction",Lo.RADIUS="radius";const zK=Ha(Lo,Lo.DIRECTION).setParameterLength(1),VK=Ha(Lo,Lo.WORLD_MATRIX).setParameterLength(1),ML=Ha(Lo,Lo.POSITION).setParameterLength(1),HK=Ha(Lo,Lo.SCALE).setParameterLength(1),GK=Ha(Lo,Lo.VIEW_POSITION).setParameterLength(1),QK=Ha(Lo,Lo.RADIUS).setParameterLength(1);class Mf extends Lo{static get type(){return"ModelNode"}constructor(e){super(e)}update(e){this.object3d=e.object,super.update(e)}}const WK=is(Mf,Mf.DIRECTION),Tf=is(Mf,Mf.WORLD_MATRIX),ZK=is(Mf,Mf.POSITION),$K=is(Mf,Mf.SCALE),jK=is(Mf,Mf.VIEW_POSITION),TL=is(Mf,Mf.RADIUS),BL=na(new Pn).onObjectUpdate(({object:i},e)=>e.value.getNormalMatrix(i.matrixWorld)),KK=na(new pi).onObjectUpdate(({object:i},e)=>e.value.copy(i.matrixWorld).invert()),yp=tr(i=>i.context.modelViewMatrix||RL).once()().toVar("modelViewMatrix"),RL=Zd.mul(Tf),wB=tr(i=>(i.context.isHighPrecisionModelViewMatrix=!0,na("mat4").onObjectUpdate(({object:e,camera:t})=>e.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,e.matrixWorld)))).once()().toVar("highpModelViewMatrix"),EB=tr(i=>{const e=i.context.isHighPrecisionModelViewMatrix;return na("mat3").onObjectUpdate(({object:t,camera:n})=>(e!==!0&&t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix)))}).once()().toVar("highpModelNormalViewMatrix"),sh=Kh("position","vec3"),Ec=sh.toVarying("positionLocal"),Mw=sh.toVarying("positionPrevious"),$d=tr(i=>Tf.mul(Ec).xyz.toVarying(i.getSubBuildProperty("v_positionWorld")),"vec3").once(["POSITION"])(),SB=tr(()=>Ec.transformDirection(Tf).toVarying("v_positionWorldDirection").normalize().toVar("positionWorldDirection"),"vec3").once(["POSITION"])(),Vc=tr(i=>i.context.setupPositionView().toVarying("v_positionView"),"vec3").once(["POSITION"])(),Bl=tr(i=>{let e;return i.camera.isOrthographicCamera?e=Wn(0,0,1):e=Vc.negate().toVarying("v_positionViewDirection").normalize(),e.toVar("positionViewDirection")},"vec3").once(["POSITION"])();class XK extends zs{static get type(){return"FrontFacingNode"}constructor(){super("bool"),this.isFrontFacingNode=!0}generate(e){if(e.shaderStage!=="fragment")return"true";const{material:t}=e;return t.side===ge?"false":e.getFrontFacing()}}const IL=is(XK),CB=en(IL).mul(2).sub(1),zy=tr(([i],{material:e})=>{const t=e.side;return t===ge?i=i.mul(-1):t===pe&&(i=i.mul(CB)),i}),Tw=Kh("normal","vec3"),vd=tr(i=>i.geometry.hasAttribute("normal")===!1?(sr('TSL: Vertex attribute "normal" not found on geometry.'),Wn(0,1,0)):Tw,"vec3").once()().toVar("normalLocal"),NL=Vc.dFdx().cross(Vc.dFdy()).normalize().toVar("normalFlat"),Vy=tr(i=>{let e;return i.material.flatShading===!0?e=NL:e=MB(vd).toVarying("v_normalViewGeometry").normalize(),e},"vec3").once()().toVar("normalViewGeometry"),PL=tr(i=>{let e=Vy.transformDirection(Zd);return i.material.flatShading!==!0&&(e=e.toVarying("v_normalWorldGeometry")),e.normalize().toVar("normalWorldGeometry")},"vec3").once()(),Zo=tr(({subBuildFn:i,material:e,context:t})=>{let n;return i==="NORMAL"||i==="VERTEX"?(n=Vy,e.flatShading!==!0&&(n=zy(n))):n=t.setupNormal().context({getUV:null}),n},"vec3").once(["NORMAL","VERTEX"])().toVar("normalView"),Dm=Zo.transformDirection(Zd).toVar("normalWorld"),sv=tr(({subBuildFn:i,context:e})=>{let t;return i==="NORMAL"||i==="VERTEX"?t=Zo:t=e.setupClearcoatNormal().context({getUV:null}),t},"vec3").once(["NORMAL","VERTEX"])().toVar("clearcoatNormalView"),FL=tr(([i,e=Tf])=>{const t=rh(e),n=i.div(Wn(t[0].dot(t[0]),t[1].dot(t[1]),t[2].dot(t[2])));return t.mul(n).xyz}),MB=tr(([i],e)=>{const t=e.context.modelNormalViewMatrix;if(t)return t.transformDirection(i);const n=BL.mul(i);return Zd.transformDirection(n)}),YK=tr(()=>(sr('TSL: "transformedNormalView" is deprecated. Use "normalView" instead.'),Zo)).once(["NORMAL","VERTEX"])(),qK=tr(()=>(sr('TSL: "transformedNormalWorld" is deprecated. Use "normalWorld" instead.'),Dm)).once(["NORMAL","VERTEX"])(),JK=tr(()=>(sr('TSL: "transformedClearcoatNormalView" is deprecated. Use "clearcoatNormalView" instead.'),sv)).once(["NORMAL","VERTEX"])(),OL=new il,TB=new pi,LL=na(0).onReference(({material:i})=>i).onObjectUpdate(({material:i})=>i.refractionRatio),Bw=na(1).onReference(({material:i})=>i).onObjectUpdate(function({material:i,scene:e}){return i.envMap?i.envMapIntensity:e.environmentIntensity}),BB=na(new pi).onReference(function(i){return i.material}).onObjectUpdate(function({material:i,scene:e}){const t=e.environment!==null&&i.envMap===null?e.environmentRotation:i.envMapRotation;return t?(OL.copy(t),TB.makeRotationFromEuler(OL)):TB.identity(),TB}),DL=Bl.negate().reflect(Zo),UL=Bl.negate().refract(Zo,LL),kL=DL.transformDirection(Zd).toVar("reflectVector"),zL=UL.transformDirection(Zd).toVar("reflectVector"),VL=new Od;class eX extends vp{static get type(){return"CubeTextureNode"}constructor(e,t=null,n=null,r=null){super(e,t,n,r),this.isCubeTextureNode=!0}getInputType(){return this.value.isDepthTexture===!0?"cubeDepthTexture":"cubeTexture"}getDefaultUV(){const e=this.value;return e.mapping===je?kL:e.mapping===Xe?zL:(Nr('CubeTextureNode: Mapping "%s" not supported.',e.mapping),Wn(0,0,0))}setUpdateMatrix(){}setupUV(e,t){const n=this.value;return n.isDepthTexture===!0?e.renderer.coordinateSystem===Vo?Wn(t.x,t.y.negate(),t.z):t:((e.renderer.coordinateSystem===Vo||!n.isRenderTargetTexture)&&(t=Wn(t.x.negate(),t.yz)),BB.mul(t))}generateUV(e,t){return t.build(e,this.sampler===!0?"vec3":"ivec3")}}const RB=Ha(eX).setParameterLength(1,4).setName("cubeTexture"),Yh=(i=VL,e=null,t=null,n=null)=>{let r;return i&&i.isCubeTextureNode===!0?(r=ls(i.clone()),r.referenceNode=i,e!==null&&(r.uvNode=ls(e)),t!==null&&(r.levelNode=ls(t)),n!==null&&(r.biasNode=ls(n))):r=RB(i,e,t,n),r},tX=(i=VL)=>RB(i);class nX extends X0{static get type(){return"ReferenceElementNode"}constructor(e,t){super(e,t),this.referenceNode=e,this.isReferenceElementNode=!0}getNodeType(){return this.referenceNode.uniformType}generate(e){const t=super.generate(e),n=this.referenceNode.getNodeType(),r=this.getNodeType();return e.format(t,n,r)}}class Rw extends zs{static get type(){return"ReferenceNode"}constructor(e,t,n=null,r=null){super(),this.property=e,this.uniformType=t,this.object=n,this.count=r,this.properties=e.split("."),this.reference=n,this.node=null,this.group=null,this.name=null,this.updateType=Xa.OBJECT}element(e){return new nX(this,ls(e))}setGroup(e){return this.group=e,this}setName(e){return this.name=e,this}label(e){return sr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setNodeType(e){let t=null;this.count!==null?t=Lb(null,e,this.count):Array.isArray(this.getValueFromReference())?t=Ih(null,e):e==="texture"?t=Yo(null):e==="cubeTexture"?t=Yh(null):t=na(null,e),this.group!==null&&t.setGroup(this.group),this.name!==null&&t.setName(this.name),this.node=t}getNodeType(e){return this.node===null&&(this.updateReference(e),this.updateValue()),this.node.getNodeType(e)}getValueFromReference(e=this.reference){const{properties:t}=this;let n=e[t[0]];for(let r=1;rnew Rw(i,e,t),IB=(i,e,t,n)=>new Rw(i,e,n,t);class rX extends Rw{static get type(){return"MaterialReferenceNode"}constructor(e,t,n=null){super(e,t,n),this.material=n,this.isMaterialReferenceNode=!0}updateReference(e){return this.reference=this.material!==null?this.material:e.material,this.reference}}const Rg=(i,e,t=null)=>new rX(i,e,t),HL=_l(),iX=Vc.dFdx(),sX=Vc.dFdy(),GL=HL.dFdx(),QL=HL.dFdy(),WL=Zo,ZL=sX.cross(WL),$L=WL.cross(iX),NB=ZL.mul(GL.x).add($L.mul(QL.x)),PB=ZL.mul(GL.y).add($L.mul(QL.y)),jL=NB.dot(NB).max(PB.dot(PB)),KL=jL.equal(0).select(0,jL.inverseSqrt()),aX=NB.mul(KL).toVar("tangentViewFrame"),oX=PB.mul(KL).toVar("bitangentViewFrame"),Iw=Kh("tangent","vec4"),zb=Iw.xyz.toVar("tangentLocal"),Nw=tr(({subBuildFn:i,geometry:e,material:t})=>{let n;return i==="VERTEX"||e.hasAttribute("tangent")?n=yp.mul(Rs(zb,0)).xyz.toVarying("v_tangentView").normalize():n=aX,t.flatShading!==!0&&(n=zy(n)),n},"vec3").once(["NORMAL","VERTEX"])().toVar("tangentView"),XL=Nw.transformDirection(Zd).toVarying("v_tangentWorld").normalize().toVar("tangentWorld"),Pw=tr(([i,e],{subBuildFn:t,material:n})=>{let r=i.mul(Iw.w).xyz;return t==="NORMAL"&&n.flatShading!==!0&&(r=r.toVarying(e)),r}).once(["NORMAL"]),lX=Pw(Tw.cross(Iw),"v_bitangentGeometry").normalize().toVar("bitangentGeometry"),cX=Pw(vd.cross(zb),"v_bitangentLocal").normalize().toVar("bitangentLocal"),YL=tr(({subBuildFn:i,geometry:e,material:t})=>{let n;return i==="VERTEX"||e.hasAttribute("tangent")?n=Pw(Zo.cross(Nw),"v_bitangentView").normalize():n=oX,t.flatShading!==!0&&(n=zy(n)),n},"vec3").once(["NORMAL","VERTEX"])().toVar("bitangentView"),uX=Pw(Dm.cross(XL),"v_bitangentWorld").normalize().toVar("bitangentWorld"),av=rh(Nw,YL,Zo).toVar("TBNViewMatrix"),qL=Bl.mul(av),hX=(i,e)=>i.sub(qL.mul(e)),JL=tr(()=>{let i=ev.cross(Bl);return i=i.cross(ev).normalize(),i=Mo(i,Zo,Pm.mul(fp.oneMinus()).oneMinus().pow2().pow2()).normalize(),i}).once()(),eD=i=>ls(i).mul(.5).add(.5),dX=i=>ls(i).mul(2).sub(1),FB=i=>Wn(i,Rh(bw(en(1).sub(Sf(i,i)))));class fX extends bc{static get type(){return"NormalMapNode"}constructor(e,t=null){super("vec3"),this.node=e,this.scaleNode=t,this.normalMapType=wa,this.unpackNormalMode=Nl}setup({material:e}){const{normalMapType:t,scaleNode:n,unpackNormalMode:r}=this;let s=this.node.mul(2).sub(1);if(t===wa?r===ql?s=FB(s.xy):r===lc?s=FB(s.yw):r!==Nl&&console.error(`THREE.NodeMaterial: Unexpected unpack normal mode: ${r}`):r!==Nl&&console.error(`THREE.NodeMaterial: Normal map type '${t}' is not compatible with unpack normal mode '${r}'`),n!==null){let o=n;e.flatShading===!0&&(o=zy(o)),s=Wn(s.xy.mul(o),s.z)}let a=null;return t===Eo?a=MB(s):t===wa?a=av.mul(s).normalize():(Nr(`NodeMaterial: Unsupported normal map type: ${t}`),a=Zo),a}}const OB=Ha(fX).setParameterLength(1,2),AX=tr(({textureNode:i,bumpScale:e})=>{const t=r=>i.isolate().context({getUV:s=>r(s.uvNode||_l()),forceUVContext:!0}),n=en(t(r=>r));return Ni(en(t(r=>r.add(r.dFdx()))).sub(n),en(t(r=>r.add(r.dFdy()))).sub(n)).mul(e)}),pX=tr(i=>{const{surf_pos:e,surf_norm:t,dHdxy:n}=i,r=e.dFdx().normalize(),s=e.dFdy().normalize(),a=t,o=s.cross(a),l=a.cross(r),c=r.dot(o).mul(CB),u=c.sign().mul(n.x.mul(o).add(n.y.mul(l)));return c.abs().mul(t).sub(u).normalize()});class gX extends bc{static get type(){return"BumpMapNode"}constructor(e,t=null){super("vec3"),this.textureNode=e,this.scaleNode=t}setup(){const e=this.scaleNode!==null?this.scaleNode:1,t=AX({textureNode:this.textureNode,bumpScale:e});return pX({surf_pos:Vc,surf_norm:Zo,dHdxy:t})}}const LB=Ha(gX).setParameterLength(1,2),tD=new Map;class ui extends zs{static get type(){return"MaterialNode"}constructor(e){super(),this.scope=e}getCache(e,t){let n=tD.get(e);return n===void 0&&(n=Rg(e,t),tD.set(e,n)),n}getFloat(e){return this.getCache(e,"float")}getColor(e){return this.getCache(e,"color")}getTexture(e){return this.getCache(e==="map"?"map":e+"Map","texture")}setup(e){const t=e.context.material,n=this.scope;let r=null;if(n===ui.COLOR){const s=t.color!==void 0?this.getColor(n):Wn();t.map&&t.map.isTexture===!0?r=s.mul(this.getTexture("map")):r=s}else if(n===ui.OPACITY){const s=this.getFloat(n);t.alphaMap&&t.alphaMap.isTexture===!0?r=s.mul(this.getTexture("alpha")):r=s}else if(n===ui.SPECULAR_STRENGTH)t.specularMap&&t.specularMap.isTexture===!0?r=this.getTexture("specular").r:r=en(1);else if(n===ui.SPECULAR_INTENSITY){const s=this.getFloat(n);t.specularIntensityMap&&t.specularIntensityMap.isTexture===!0?r=s.mul(this.getTexture(n).a):r=s}else if(n===ui.SPECULAR_COLOR){const s=this.getColor(n);t.specularColorMap&&t.specularColorMap.isTexture===!0?r=s.mul(this.getTexture(n).rgb):r=s}else if(n===ui.ROUGHNESS){const s=this.getFloat(n);t.roughnessMap&&t.roughnessMap.isTexture===!0?r=s.mul(this.getTexture(n).g):r=s}else if(n===ui.METALNESS){const s=this.getFloat(n);t.metalnessMap&&t.metalnessMap.isTexture===!0?r=s.mul(this.getTexture(n).b):r=s}else if(n===ui.EMISSIVE){const s=this.getFloat("emissiveIntensity"),a=this.getColor(n).mul(s);t.emissiveMap&&t.emissiveMap.isTexture===!0?r=a.mul(this.getTexture(n)):r=a}else if(n===ui.NORMAL)t.normalMap?(r=OB(this.getTexture("normal"),this.getCache("normalScale","vec2")),r.normalMapType=t.normalMapType,(t.normalMap.format==$e||t.normalMap.format==yr||t.normalMap.format==_r)&&(r.unpackNormalMode=ql)):t.bumpMap?r=LB(this.getTexture("bump").r,this.getFloat("bumpScale")):r=Zo;else if(n===ui.CLEARCOAT){const s=this.getFloat(n);t.clearcoatMap&&t.clearcoatMap.isTexture===!0?r=s.mul(this.getTexture(n).r):r=s}else if(n===ui.CLEARCOAT_ROUGHNESS){const s=this.getFloat(n);t.clearcoatRoughnessMap&&t.clearcoatRoughnessMap.isTexture===!0?r=s.mul(this.getTexture(n).r):r=s}else if(n===ui.CLEARCOAT_NORMAL)t.clearcoatNormalMap?r=OB(this.getTexture(n),this.getCache(n+"Scale","vec2")):r=Zo;else if(n===ui.SHEEN){const s=this.getColor("sheenColor").mul(this.getFloat("sheen"));t.sheenColorMap&&t.sheenColorMap.isTexture===!0?r=s.mul(this.getTexture("sheenColor").rgb):r=s}else if(n===ui.SHEEN_ROUGHNESS){const s=this.getFloat(n);t.sheenRoughnessMap&&t.sheenRoughnessMap.isTexture===!0?r=s.mul(this.getTexture(n).a):r=s,r=r.clamp(1e-4,1)}else if(n===ui.ANISOTROPY)if(t.anisotropyMap&&t.anisotropyMap.isTexture===!0){const s=this.getTexture(n);r=ow(Hy.x,Hy.y,Hy.y.negate(),Hy.x).mul(s.rg.mul(2).sub(Ni(1)).normalize().mul(s.b))}else r=Hy;else if(n===ui.IRIDESCENCE_THICKNESS){const s=Rl("1","float",t.iridescenceThicknessRange);if(t.iridescenceThicknessMap){const a=Rl("0","float",t.iridescenceThicknessRange);r=s.sub(a).mul(this.getTexture(n).g).add(a)}else r=s}else if(n===ui.TRANSMISSION){const s=this.getFloat(n);t.transmissionMap?r=s.mul(this.getTexture(n).r):r=s}else if(n===ui.THICKNESS){const s=this.getFloat(n);t.thicknessMap?r=s.mul(this.getTexture(n).g):r=s}else if(n===ui.IOR)r=this.getFloat(n);else if(n===ui.LIGHT_MAP)r=this.getTexture(n).rgb.mul(this.getFloat("lightMapIntensity"));else if(n===ui.AO)r=this.getTexture(n).r.sub(1).mul(this.getFloat("aoMapIntensity")).add(1);else if(n===ui.LINE_DASH_OFFSET)r=t.dashOffset?this.getFloat(n):en(0);else{const s=this.getNodeType(e);r=this.getCache(n,s)}return r}}ui.ALPHA_TEST="alphaTest",ui.COLOR="color",ui.OPACITY="opacity",ui.SHININESS="shininess",ui.SPECULAR="specular",ui.SPECULAR_STRENGTH="specularStrength",ui.SPECULAR_INTENSITY="specularIntensity",ui.SPECULAR_COLOR="specularColor",ui.REFLECTIVITY="reflectivity",ui.ROUGHNESS="roughness",ui.METALNESS="metalness",ui.NORMAL="normal",ui.CLEARCOAT="clearcoat",ui.CLEARCOAT_ROUGHNESS="clearcoatRoughness",ui.CLEARCOAT_NORMAL="clearcoatNormal",ui.EMISSIVE="emissive",ui.ROTATION="rotation",ui.SHEEN="sheen",ui.SHEEN_ROUGHNESS="sheenRoughness",ui.ANISOTROPY="anisotropy",ui.IRIDESCENCE="iridescence",ui.IRIDESCENCE_IOR="iridescenceIOR",ui.IRIDESCENCE_THICKNESS="iridescenceThickness",ui.IOR="ior",ui.TRANSMISSION="transmission",ui.THICKNESS="thickness",ui.ATTENUATION_DISTANCE="attenuationDistance",ui.ATTENUATION_COLOR="attenuationColor",ui.LINE_SCALE="scale",ui.LINE_DASH_SIZE="dashSize",ui.LINE_GAP_SIZE="gapSize",ui.LINE_WIDTH="linewidth",ui.LINE_DASH_OFFSET="dashOffset",ui.POINT_SIZE="size",ui.DISPERSION="dispersion",ui.LIGHT_MAP="light",ui.AO="ao";const nD=is(ui,ui.ALPHA_TEST),Fw=is(ui,ui.COLOR),rD=is(ui,ui.SHININESS),iD=is(ui,ui.EMISSIVE),Ow=is(ui,ui.OPACITY),sD=is(ui,ui.SPECULAR),DB=is(ui,ui.SPECULAR_INTENSITY),aD=is(ui,ui.SPECULAR_COLOR),Vb=is(ui,ui.SPECULAR_STRENGTH),Lw=is(ui,ui.REFLECTIVITY),oD=is(ui,ui.ROUGHNESS),lD=is(ui,ui.METALNESS),cD=is(ui,ui.NORMAL),uD=is(ui,ui.CLEARCOAT),hD=is(ui,ui.CLEARCOAT_ROUGHNESS),dD=is(ui,ui.CLEARCOAT_NORMAL),fD=is(ui,ui.ROTATION),AD=is(ui,ui.SHEEN),pD=is(ui,ui.SHEEN_ROUGHNESS),gD=is(ui,ui.ANISOTROPY),mD=is(ui,ui.IRIDESCENCE),vD=is(ui,ui.IRIDESCENCE_IOR),yD=is(ui,ui.IRIDESCENCE_THICKNESS),xD=is(ui,ui.TRANSMISSION),bD=is(ui,ui.THICKNESS),_D=is(ui,ui.IOR),wD=is(ui,ui.ATTENUATION_DISTANCE),ED=is(ui,ui.ATTENUATION_COLOR),UB=is(ui,ui.LINE_SCALE),kB=is(ui,ui.LINE_DASH_SIZE),zB=is(ui,ui.LINE_GAP_SIZE),Dw=is(ui,ui.LINE_WIDTH),VB=is(ui,ui.LINE_DASH_OFFSET),SD=is(ui,ui.POINT_SIZE),CD=is(ui,ui.DISPERSION),HB=is(ui,ui.LIGHT_MAP),MD=is(ui,ui.AO),Hy=na(new Qe).onReference(function(i){return i.material}).onRenderUpdate(function({material:i}){this.value.set(i.anisotropy*Math.cos(i.anisotropyRotation),i.anisotropy*Math.sin(i.anisotropyRotation))}),TD=tr(i=>i.context.setupModelViewProjection(),"vec4").once()().toVarying("v_modelViewProjection");class mX extends X0{static get type(){return"StorageArrayElementNode"}constructor(e,t){super(e,t),this.isStorageArrayElementNode=!0}set storageBufferNode(e){this.node=e}get storageBufferNode(){return this.node}getMemberType(e,t){const n=this.storageBufferNode.structTypeNode;return n?n.getMemberType(e,t):"void"}setup(e){return e.isAvailable("storageBuffer")===!1&&this.node.isPBO===!0&&e.setupPBO(this.node),super.setup(e)}generate(e,t){let n;const r=e.context.assign;if(e.isAvailable("storageBuffer")===!1?this.node.isPBO===!0&&r!==!0&&(this.node.value.isInstancedBufferAttribute||e.shaderStage!=="compute")?n=e.generatePBO(this):n=this.node.build(e):n=super.generate(e),r!==!0){const s=this.getNodeType(e);n=e.format(n,s,t)}return n}}const vX=Ha(mX).setParameterLength(2);class yX extends xB{static get type(){return"StorageBufferNode"}constructor(e,t=null,n=0){let r,s=null;t&&t.isStruct?(r="struct",s=t.layout,(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)&&(n=e.count)):t===null&&(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute)?(r=_T(e.itemSize),n=e.count):r=t,super(e,r,n),this.isStorageBufferNode=!0,this.structTypeNode=s,this.access=nh.READ_WRITE,this.isAtomic=!1,this.isPBO=!1,this._attribute=null,this._varying=null,this.global=!0,e.isStorageBufferAttribute!==!0&&e.isStorageInstancedBufferAttribute!==!0&&(e.isInstancedBufferAttribute?e.isStorageInstancedBufferAttribute=!0:e.isStorageBufferAttribute=!0)}getHash(e){if(this.bufferCount===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getInputType(){return this.value.isIndirectStorageBufferAttribute?"indirectStorageBuffer":"storageBuffer"}element(e){return vX(this,e)}setPBO(e){return this.isPBO=e,this}getPBO(){return this.isPBO}setAccess(e){return this.access=e,this}toReadOnly(){return this.setAccess(nh.READ_ONLY)}setAtomic(e){return this.isAtomic=e,this}toAtomic(){return this.setAtomic(!0)}getAttributeData(){return this._attribute===null&&(this._attribute=AB(this.value),this._varying=mp(this._attribute)),{attribute:this._attribute,varying:this._varying}}getNodeType(e){if(this.structTypeNode!==null)return this.structTypeNode.getNodeType(e);if(e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.getNodeType(e);const{attribute:t}=this.getAttributeData();return t.getNodeType(e)}getMemberType(e,t){return this.structTypeNode!==null?this.structTypeNode.getMemberType(e,t):"void"}generate(e){if(this.structTypeNode!==null&&this.structTypeNode.build(e),e.isAvailable("storageBuffer")||e.isAvailable("indirectStorageBuffer"))return super.generate(e);const{attribute:t,varying:n}=this.getAttributeData(),r=n.build(e);return e.registerTransform(r,t),r}}const Ig=(i,e=null,t=0)=>new yX(i,e,t),xX=(i,e,t)=>(sr('TSL: "storageObject()" is deprecated. Use "storage().setPBO( true )" instead.'),Ig(i,e,t).setPBO(!0));class pc extends zs{static get type(){return"IndexNode"}constructor(e){super("uint"),this.scope=e,this.isIndexNode=!0}generate(e){const t=this.getNodeType(e),n=this.scope;let r;if(n===pc.VERTEX)r=e.getVertexIndex();else if(n===pc.INSTANCE)r=e.getInstanceIndex();else if(n===pc.DRAW)r=e.getDrawIndex();else if(n===pc.INVOCATION_LOCAL)r=e.getInvocationLocalIndex();else if(n===pc.INVOCATION_SUBGROUP)r=e.getInvocationSubgroupIndex();else if(n===pc.SUBGROUP)r=e.getSubgroupIndex();else throw new Error("THREE.IndexNode: Unknown scope: "+n);let s;return e.shaderStage==="vertex"||e.shaderStage==="compute"?s=r:s=mp(this).build(e,t),s}}pc.VERTEX="vertex",pc.INSTANCE="instance",pc.SUBGROUP="subgroup",pc.INVOCATION_LOCAL="invocationLocal",pc.INVOCATION_SUBGROUP="invocationSubgroup",pc.DRAW="draw";const BD=is(pc,pc.VERTEX),xp=is(pc,pc.INSTANCE),bX=is(pc,pc.SUBGROUP),_X=is(pc,pc.INVOCATION_SUBGROUP),wX=is(pc,pc.INVOCATION_LOCAL),RD=is(pc,pc.DRAW);class ID extends zs{static get type(){return"InstanceNode"}constructor(e,t,n=null){super("void"),this.count=e,this.instanceMatrix=t,this.instanceColor=n,this.instanceMatrixNode=null,this.instanceColorNode=null,this.updateType=Xa.FRAME,this.buffer=null,this.bufferColor=null}get isStorageMatrix(){const{instanceMatrix:e}=this;return e&&e.isStorageInstancedBufferAttribute===!0}get isStorageColor(){const{instanceColor:e}=this;return e&&e.isStorageInstancedBufferAttribute===!0}setup(e){const{instanceMatrix:t,instanceColor:n,isStorageMatrix:r,isStorageColor:s}=this,{count:a}=t;let{instanceMatrixNode:o,instanceColorNode:l}=this;if(o===null){if(r)o=Ig(t,"mat4",Math.max(a,1)).element(xp);else if(a<=1e3)o=Lb(t.array,"mat4",Math.max(a,1)).element(xp);else{const u=new $8(t.array,16,1);this.buffer=u;const h=t.usage===Cl?pB:Sw,d=[h(u,"vec4",16,0),h(u,"vec4",16,4),h(u,"vec4",16,8),h(u,"vec4",16,12)];o=Im(...d)}this.instanceMatrixNode=o}if(n&&l===null){if(s)l=Ig(n,"vec3",Math.max(n.count,1)).element(xp);else{const u=new _h(n.array,3),h=n.usage===Cl?pB:Sw;this.bufferColor=u,l=Wn(h(u,"vec3",3,0))}this.instanceColorNode=l}const c=o.mul(Ec).xyz;if(Ec.assign(c),e.hasGeometryAttribute("normal")){const u=FL(vd,o);vd.assign(u)}this.instanceColorNode!==null&&Hd("vec3","vInstanceColor").assign(this.instanceColorNode)}update(){this.buffer!==null&&this.isStorageMatrix!==!0&&(this.buffer.clearUpdateRanges(),this.buffer.updateRanges.push(...this.instanceMatrix.updateRanges),this.instanceMatrix.usage!==Cl&&this.instanceMatrix.version!==this.buffer.version&&(this.buffer.version=this.instanceMatrix.version)),this.instanceColor&&this.bufferColor!==null&&this.isStorageColor!==!0&&(this.bufferColor.clearUpdateRanges(),this.bufferColor.updateRanges.push(...this.instanceColor.updateRanges),this.instanceColor.usage!==Cl&&this.instanceColor.version!==this.bufferColor.version&&(this.bufferColor.version=this.instanceColor.version))}}const EX=Ha(ID).setParameterLength(2,3);class SX extends ID{static get type(){return"InstancedMeshNode"}constructor(e){const{count:t,instanceMatrix:n,instanceColor:r}=e;super(t,n,r),this.instancedMesh=e}}const ND=Ha(SX).setParameterLength(1);class CX extends zs{static get type(){return"BatchNode"}constructor(e){super("void"),this.batchMesh=e,this.batchingIdNode=null}setup(e){this.batchingIdNode===null&&(e.getDrawIndex()===null?this.batchingIdNode=xp:this.batchingIdNode=RD);const n=tr(([A])=>{const y=zn(Sg(Nc(this.batchMesh._indirectTexture),0).x).toConst(),b=zn(A).mod(y).toConst(),x=zn(A).div(y).toConst();return Nc(this.batchMesh._indirectTexture,du(b,x)).x}).setLayout({name:"getIndirectIndex",type:"uint",inputs:[{name:"id",type:"int"}]})(zn(this.batchingIdNode)),r=this.batchMesh._matricesTexture,s=zn(Sg(Nc(r),0).x).toConst(),a=en(n).mul(4).toInt().toConst(),o=a.mod(s).toConst(),l=a.div(s).toConst(),c=Im(Nc(r,du(o,l)),Nc(r,du(o.add(1),l)),Nc(r,du(o.add(2),l)),Nc(r,du(o.add(3),l))),u=this.batchMesh._colorsTexture;if(u!==null){const y=tr(([b])=>{const x=zn(Sg(Nc(u),0).x).toConst(),P=b,k=P.mod(x).toConst(),$=P.div(x).toConst();return Nc(u,du(k,$)).rgb}).setLayout({name:"getBatchingColor",type:"vec3",inputs:[{name:"id",type:"int"}]})(n);Hd("vec3","vBatchColor").assign(y)}const h=rh(c);Ec.assign(c.mul(Ec));const d=vd.div(Wn(h[0].dot(h[0]),h[1].dot(h[1]),h[2].dot(h[2]))),f=h.mul(d).xyz;vd.assign(f),e.hasGeometryAttribute("tangent")&&zb.mulAssign(h)}}const PD=Ha(CX).setParameterLength(1),FD=new WeakMap;class OD extends zs{static get type(){return"SkinningNode"}constructor(e){super("void"),this.skinnedMesh=e,this.updateType=Xa.OBJECT,this.skinIndexNode=Kh("skinIndex","uvec4"),this.skinWeightNode=Kh("skinWeight","vec4"),this.bindMatrixNode=Rl("bindMatrix","mat4"),this.bindMatrixInverseNode=Rl("bindMatrixInverse","mat4"),this.boneMatricesNode=IB("skeleton.boneMatrices","mat4",e.skeleton.bones.length),this.positionNode=Ec,this.toPositionNode=Ec,this.previousBoneMatricesNode=null}getSkinnedPosition(e=this.boneMatricesNode,t=this.positionNode){const{skinIndexNode:n,skinWeightNode:r,bindMatrixNode:s,bindMatrixInverseNode:a}=this,o=e.element(n.x),l=e.element(n.y),c=e.element(n.z),u=e.element(n.w),h=s.mul(t),d=eu(o.mul(r.x).mul(h),l.mul(r.y).mul(h),c.mul(r.z).mul(h),u.mul(r.w).mul(h));return a.mul(d).xyz}getSkinnedNormal(e=this.boneMatricesNode,t=vd){const{skinIndexNode:n,skinWeightNode:r,bindMatrixNode:s,bindMatrixInverseNode:a}=this,o=e.element(n.x),l=e.element(n.y),c=e.element(n.z),u=e.element(n.w);let h=eu(r.x.mul(o),r.y.mul(l),r.z.mul(c),r.w.mul(u));return h=a.mul(h).mul(s),h.transformDirection(t).xyz}getPreviousSkinnedPosition(e){const t=e.object;return this.previousBoneMatricesNode===null&&(t.skeleton.previousBoneMatrices=new Float32Array(t.skeleton.boneMatrices),this.previousBoneMatricesNode=IB("skeleton.previousBoneMatrices","mat4",t.skeleton.bones.length)),this.getSkinnedPosition(this.previousBoneMatricesNode,Mw)}needsPreviousBoneMatrices(e){const t=e.renderer.getMRT();return t&&t.has("velocity")||ET(e.object).useVelocity===!0}setup(e){this.needsPreviousBoneMatrices(e)&&Mw.assign(this.getPreviousSkinnedPosition(e));const t=this.getSkinnedPosition();if(this.toPositionNode&&this.toPositionNode.assign(t),e.hasGeometryAttribute("normal")){const n=this.getSkinnedNormal();vd.assign(n),e.hasGeometryAttribute("tangent")&&zb.assign(n)}return t}generate(e,t){if(t!=="void")return super.generate(e,t)}update(e){const t=e.object&&e.object.skeleton?e.object.skeleton:this.skinnedMesh.skeleton;FD.get(t)!==e.frameId&&(FD.set(t,e.frameId),this.previousBoneMatricesNode!==null&&(t.previousBoneMatrices===null&&(t.previousBoneMatrices=new Float32Array(t.boneMatrices)),t.previousBoneMatrices.set(t.boneMatrices)),t.update())}}const LD=i=>new OD(i),MX=(i,e=null)=>{const t=new OD(i);return t.positionNode=Ig(new _h(i.geometry.getAttribute("position").array,3),"vec3").setPBO(!0).toReadOnly().element(xp).toVar(),t.skinIndexNode=Ig(new _h(new Uint32Array(i.geometry.getAttribute("skinIndex").array),4),"uvec4").setPBO(!0).toReadOnly().element(xp).toVar(),t.skinWeightNode=Ig(new _h(i.geometry.getAttribute("skinWeight").array,4),"vec4").setPBO(!0).toReadOnly().element(xp).toVar(),t.bindMatrixNode=na(i.bindMatrix,"mat4"),t.bindMatrixInverseNode=na(i.bindMatrixInverse,"mat4"),t.boneMatricesNode=Lb(i.skeleton.boneMatrices,"mat4",i.skeleton.bones.length),t.toPositionNode=e,ls(t)};class TX extends zs{static get type(){return"LoopNode"}constructor(e=[]){super("void"),this.params=e}getVarName(e){return String.fromCharCode(105+e)}getProperties(e){const t=e.getNodeProperties(this);if(t.stackNode!==void 0)return t;const n={};for(let o=0,l=this.params.length-1;oNumber(h)?A=">=":A="<"));let b;if(c)b=`while ( ${h} )`;else{const x={start:u,end:h},P=x.start,k=x.end;let $;const se=()=>A.includes("<")?"+=":"-=";if(y!=null)switch(typeof y){case"function":$=e.flowStagesNode(t.updateNode,"void").code.replace(/\t|;/g,"");break;case"number":$=d+" "+se()+" "+e.generateConst(f,y);break;case"string":$=d+" "+y;break;default:y.isNode?$=d+" "+se()+" "+y.build(e):(Nr("TSL: 'Loop( { update: ... } )' is not a function, string or number."),$="break /* invalid update */")}else f==="int"||f==="uint"?y=A.includes("<")?"++":"--":y=se()+" 1.",$=d+" "+y;const ie=e.getVar(f,d)+" = "+P,ce=d+" "+A+" "+k;b=`for ( ${ie}; ${ce}; ${$} )`}e.addFlowCode((a===0?` +`:"")+e.tab+b+` { + +`).addFlowTab()}const s=r.build(e,"void");t.returnsNode.build(e,"void"),e.removeFlowTab().addFlowCode(` +`+e.tab+s);for(let a=0,o=this.params.length-1;anew TX(Y0(i,"int")).toStack(),BX=()=>Eg("continue").toStack(),DD=()=>Eg("break").toStack(),GB=new WeakMap,jd=new Mi,UD=tr(({bufferMap:i,influence:e,stride:t,width:n,depth:r,offset:s})=>{const a=zn(BD).mul(t).add(s),o=a.div(n),l=a.sub(o.mul(n));return Nc(i,du(l,o)).depth(r).xyz.mul(e)});function RX(i){const e=i.morphAttributes.position!==void 0,t=i.morphAttributes.normal!==void 0,n=i.morphAttributes.color!==void 0,r=i.morphAttributes.position||i.morphAttributes.normal||i.morphAttributes.color,s=r!==void 0?r.length:0;let a=GB.get(i);if(a===void 0||a.count!==s){let x=function(){y.dispose(),GB.delete(i),i.removeEventListener("dispose",x)};a!==void 0&&a.texture.dispose();const o=i.morphAttributes.position||[],l=i.morphAttributes.normal||[],c=i.morphAttributes.color||[];let u=0;e===!0&&(u=1),t===!0&&(u=2),n===!0&&(u=3);let h=i.attributes.position.count*u,d=1;const f=4096;h>f&&(d=Math.ceil(h/f),h=f);const A=new Float32Array(h*d*4*s),y=new oe(A,h,d,s);y.type=rn,y.needsUpdate=!0;const b=u*4;for(let P=0;P{const d=en(0).toVar();this.mesh.count>1&&this.mesh.morphTexture!==null&&this.mesh.morphTexture!==void 0?d.assign(Nc(this.mesh.morphTexture,du(zn(h).add(1),zn(xp))).r):d.assign(Rl("morphTargetInfluences","float").element(h).toVar()),Gs(d.notEqual(0),()=>{n===!0&&Ec.addAssign(UD({bufferMap:o,influence:d,stride:l,width:u,depth:h,offset:zn(0)})),r===!0&&vd.addAssign(UD({bufferMap:o,influence:d,stride:l,width:u,depth:h,offset:zn(1)}))})})}update(){const e=this.morphBaseInfluence;this.mesh.geometry.morphTargetsRelative?e.value=1:e.value=1-this.mesh.morphTargetInfluences.reduce((t,n)=>t+n,0)}}const kD=Ha(IX).setParameterLength(1);class Gy extends zs{static get type(){return"LightingNode"}constructor(){super("vec3"),this.isLightingNode=!0}}class NX extends Gy{static get type(){return"AONode"}constructor(e=null){super(),this.aoNode=e}setup(e){e.context.ambientOcclusion.mulAssign(this.aoNode)}}class PX extends X3{static get type(){return"LightingContextNode"}constructor(e,t=null,n=null,r=null){super(e),this.lightingModel=t,this.backdropNode=n,this.backdropAlphaNode=r,this._value=null}getContext(){const{backdropNode:e,backdropAlphaNode:t}=this,n=Wn().toVar("directDiffuse"),r=Wn().toVar("directSpecular"),s=Wn().toVar("indirectDiffuse"),a=Wn().toVar("indirectSpecular"),o={directDiffuse:n,directSpecular:r,indirectDiffuse:s,indirectSpecular:a};return{radiance:Wn().toVar("radiance"),irradiance:Wn().toVar("irradiance"),iblIrradiance:Wn().toVar("iblIrradiance"),ambientOcclusion:en(1).toVar("ambientOcclusion"),reflectedLight:o,backdrop:e,backdropAlpha:t}}setup(e){return this.value=this._value||(this._value=this.getContext()),this.value.lightingModel=this.lightingModel||e.context.lightingModel,super.setup(e)}}const zD=Ha(PX);class FX extends Gy{static get type(){return"IrradianceNode"}constructor(e){super(),this.node=e}setup(e){e.context.irradiance.addAssign(this.node)}}const Qy=new Qe;class Uw extends vp{static get type(){return"ViewportTextureNode"}constructor(e=Mg,t=null,n=null){let r=null;n===null?(r=new Cs,r.minFilter=Vi,n=r):r=n,super(n,e,t),this.generateMipmaps=!1,this.defaultFramebuffer=r,this.isOutputTextureNode=!0,this.updateBeforeType=Xa.FRAME,this._cacheTextures=new WeakMap}getTextureForReference(e=null){let t,n;if(this.referenceNode?(t=this.referenceNode.defaultFramebuffer,n=this.referenceNode._cacheTextures):(t=this.defaultFramebuffer,n=this._cacheTextures),e===null)return t;if(n.has(e)===!1){const r=t.clone();n.set(e,r)}return n.get(e)}updateReference(e){const t=e.renderer.getRenderTarget();return this.value=this.getTextureForReference(t),this.value}updateBefore(e){const t=e.renderer,n=t.getRenderTarget();n===null?t.getDrawingBufferSize(Qy):Qy.set(n.width,n.height);const r=this.getTextureForReference(n);(r.image.width!==Qy.width||r.image.height!==Qy.height)&&(r.image.width=Qy.width,r.image.height=Qy.height,r.needsUpdate=!0);const s=r.generateMipmaps;r.generateMipmaps=this.generateMipmaps,t.copyFramebufferToTexture(r),r.generateMipmaps=s}clone(){const e=new this.constructor(this.uvNode,this.levelNode,this.value);return e.generateMipmaps=this.generateMipmaps,e}}const OX=Ha(Uw).setParameterLength(0,3),QB=Ha(Uw,null,null,{generateMipmaps:!0}).setParameterLength(0,3);let kw=null;class LX extends Uw{static get type(){return"ViewportDepthTextureNode"}constructor(e=Mg,t=null){kw===null&&(kw=new ja),super(e,t,kw)}getTextureForReference(){return kw}}const WB=Ha(LX).setParameterLength(0,2);class yd extends zs{static get type(){return"ViewportDepthNode"}constructor(e,t=null){super("float"),this.scope=e,this.valueNode=t,this.isViewportDepthNode=!0}generate(e){const{scope:t}=this;return t===yd.DEPTH_BASE?e.getFragDepth():super.generate(e)}setup({camera:e}){const{scope:t}=this,n=this.valueNode;let r=null;if(t===yd.DEPTH_BASE)n!==null&&(r=VD().assign(n));else if(t===yd.DEPTH)e.isPerspectiveCamera?r=ZB(Vc.z,Tg,Bg):r=Wy(Vc.z,Tg,Bg);else if(t===yd.LINEAR_DEPTH)if(n!==null)if(e.isPerspectiveCamera){const s=$B(n,Tg,Bg);r=Wy(s,Tg,Bg)}else r=n;else r=Wy(Vc.z,Tg,Bg);return r}}yd.DEPTH_BASE="depthBase",yd.DEPTH="depth",yd.LINEAR_DEPTH="linearDepth";const Wy=(i,e,t)=>i.add(e).div(e.sub(t)),DX=(i,e,t)=>e.sub(t).mul(i).sub(e),ZB=(i,e,t)=>e.add(i).mul(t).div(t.sub(e).mul(i)),$B=(i,e,t)=>e.mul(t).div(t.sub(e).mul(i).sub(t)),jB=(i,e,t)=>{e=e.max(1e-6).toVar();const n=Ap(i.negate().div(e)),r=Ap(t.div(e));return n.div(r)},UX=(i,e,t)=>{const n=i.mul(mw(t.div(e)));return en(Math.E).pow(n).mul(e).negate()},VD=Ha(yd,yd.DEPTH_BASE),KB=is(yd,yd.DEPTH),Zy=Ha(yd,yd.LINEAR_DEPTH).setParameterLength(0,1),kX=Zy(WB());KB.assign=i=>VD(i);class Bf extends zs{static get type(){return"ClippingNode"}constructor(e=Bf.DEFAULT){super(),this.scope=e}setup(e){super.setup(e);const t=e.clippingContext,{intersectionPlanes:n,unionPlanes:r}=t;return this.hardwareClipping=e.material.hardwareClipping,this.scope===Bf.ALPHA_TO_COVERAGE?this.setupAlphaToCoverage(n,r):this.scope===Bf.HARDWARE?this.setupHardwareClipping(r,e):this.setupDefault(n,r)}setupAlphaToCoverage(e,t){return tr(()=>{const n=en().toVar("distanceToPlane"),r=en().toVar("distanceToGradient"),s=en(1).toVar("clipOpacity"),a=t.length;if(this.hardwareClipping===!1&&a>0){const l=Ih(t).setGroup(aa);fl(a,({i:c})=>{const u=l.element(c);n.assign(Vc.dot(u.xyz).negate().add(u.w)),r.assign(n.fwidth().div(2)),s.mulAssign(Wd(r.negate(),r,n))})}const o=e.length;if(o>0){const l=Ih(e).setGroup(aa),c=en(1).toVar("intersectionClipOpacity");fl(o,({i:u})=>{const h=l.element(u);n.assign(Vc.dot(h.xyz).negate().add(h.w)),r.assign(n.fwidth().div(2)),c.mulAssign(Wd(r.negate(),r,n).oneMinus())}),s.mulAssign(c.oneMinus())}bl.a.mulAssign(s),bl.a.equal(0).discard()})()}setupDefault(e,t){return tr(()=>{const n=t.length;if(this.hardwareClipping===!1&&n>0){const s=Ih(t).setGroup(aa);fl(n,({i:a})=>{const o=s.element(a);Vc.dot(o.xyz).greaterThan(o.w).discard()})}const r=e.length;if(r>0){const s=Ih(e).setGroup(aa),a=Ef(!0).toVar("clipped");fl(r,({i:o})=>{const l=s.element(o);a.assign(Vc.dot(l.xyz).greaterThan(l.w).and(a))}),a.discard()}})()}setupHardwareClipping(e,t){const n=e.length;return t.enableHardwareClipping(n),tr(()=>{const r=Ih(e).setGroup(aa),s=Cg(t.getClipDistance());fl(n,({i:a})=>{const o=r.element(a),l=Vc.dot(o.xyz).sub(o.w).negate();s.element(a).assign(l)})})()}}Bf.ALPHA_TO_COVERAGE="alphaToCoverage",Bf.DEFAULT="default",Bf.HARDWARE="hardware";const zX=()=>new Bf,VX=()=>new Bf(Bf.ALPHA_TO_COVERAGE),HX=()=>new Bf(Bf.HARDWARE),GX=.05,HD=tr(([i])=>uA(Ga(1e4,jh(Ga(17,i.x).add(Ga(.1,i.y)))).mul(eu(.1,Vl(jh(Ga(13,i.y).add(i.x))))))),GD=tr(([i])=>HD(Ni(HD(i.xy),i.z))),QX=tr(([i])=>{const e=wc(gp(tB(i.xyz)),gp(nB(i.xyz))),t=en(1).div(en(GX).mul(e)).toVar("pixScale"),n=Ni(Ly(pp(Ap(t))),Ly(vw(Ap(t)))),r=Ni(GD(pp(n.x.mul(i.xyz))),GD(pp(n.y.mul(i.xyz)))),s=uA(Ap(t)),a=eu(Ga(s.oneMinus(),r.x),Ga(s,r.y)),o=md(s,s.oneMinus()),l=Wn(a.mul(a).div(Ga(2,o).mul(Oo(1,o))),a.sub(Ga(.5,o)).div(Oo(1,o)),Oo(1,Oo(1,a).mul(Oo(1,a)).div(Ga(2,o).mul(Oo(1,o))))),c=a.lessThan(o.oneMinus()).select(a.lessThan(o).select(l.x,l.y),l.z);return dA(c,1e-6,1)}).setLayout({name:"getAlphaHashThreshold",type:"float",inputs:[{name:"position",type:"vec3"}]});class WX extends EL{static get type(){return"VertexColorNode"}constructor(e){super(null,"vec4"),this.isVertexColorNode=!0,this.index=e}getAttributeName(){const e=this.index;return"color"+(e>0?e:"")}generate(e){const t=this.getAttributeName(e),n=e.hasGeometryAttribute(t);let r;return n===!0?r=super.generate(e):r=e.generateConst(this.nodeType,new Mi(1,1,1,1)),r}serialize(e){super.serialize(e),e.index=this.index}deserialize(e){super.deserialize(e),this.index=e.index}}const QD=(i=0)=>new WX(i),WD=tr(([i,e])=>md(1,i.oneMinus().div(e)).oneMinus()).setLayout({name:"blendBurn",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),ZD=tr(([i,e])=>md(i.div(e.oneMinus()),1)).setLayout({name:"blendDodge",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),$D=tr(([i,e])=>i.oneMinus().mul(e.oneMinus()).oneMinus()).setLayout({name:"blendScreen",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),jD=tr(([i,e])=>Mo(i.mul(2).mul(e),i.oneMinus().mul(2).mul(e.oneMinus()).oneMinus(),xw(.5,i))).setLayout({name:"blendOverlay",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),ZX=tr(([i,e])=>{const t=e.a.add(i.a.mul(e.a.oneMinus()));return Rs(e.rgb.mul(e.a).add(i.rgb.mul(i.a).mul(e.a.oneMinus())).div(t),t)}).setLayout({name:"blendColor",type:"vec4",inputs:[{name:"base",type:"vec4"},{name:"blend",type:"vec4"}]}),KD=tr(([i])=>Rs(i.rgb.mul(i.a),i.a),{color:"vec4",return:"vec4"}),$X=tr(([i])=>(Gs(i.a.equal(0),()=>Rs(0)),Rs(i.rgb.div(i.a),i.a)),{color:"vec4",return:"vec4"}),jX=(...i)=>(sr('TSL: "burn" has been renamed. Use "blendBurn" instead.'),WD(i)),KX=(...i)=>(sr('TSL: "dodge" has been renamed. Use "blendDodge" instead.'),ZD(i)),XX=(...i)=>(sr('TSL: "screen" has been renamed. Use "blendScreen" instead.'),$D(i)),YX=(...i)=>(sr('TSL: "overlay" has been renamed. Use "blendOverlay" instead.'),jD(i));class Sc extends Kc{static get type(){return"NodeMaterial"}get type(){return this.constructor.type}set type(e){}constructor(){super(),this.isNodeMaterial=!0,this.fog=!0,this.lights=!1,this.hardwareClipping=!1,this.lightsNode=null,this.envNode=null,this.aoNode=null,this.colorNode=null,this.normalNode=null,this.opacityNode=null,this.backdropNode=null,this.backdropAlphaNode=null,this.alphaTestNode=null,this.maskNode=null,this.positionNode=null,this.geometryNode=null,this.depthNode=null,this.receivedShadowPositionNode=null,this.castShadowPositionNode=null,this.receivedShadowNode=null,this.castShadowNode=null,this.outputNode=null,this.mrtNode=null,this.fragmentNode=null,this.vertexNode=null,this.contextNode=null,Object.defineProperty(this,"shadowPositionNode",{get:()=>this.receivedShadowPositionNode,set:e=>{sr('NodeMaterial: ".shadowPositionNode" was renamed to ".receivedShadowPositionNode".'),this.receivedShadowPositionNode=e}})}_getNodeChildren(){const e=[];for(const t of Object.getOwnPropertyNames(this)){if(t.startsWith("_")===!0)continue;const n=this[t];n&&n.isNode===!0&&e.push({property:t,childNode:n})}return e}customProgramCacheKey(){const e=[];for(const{property:t,childNode:n}of this._getNodeChildren())e.push(Iy(t.slice(0,-4)),n.getCacheKey());return this.type+j0(e)}build(e){this.setup(e)}setupObserver(e){return new bj(e)}setup(e){e.context.setupNormal=()=>Dy(this.setupNormal(e),"NORMAL","vec3"),e.context.setupPositionView=()=>this.setupPositionView(e),e.context.setupModelViewProjection=()=>this.setupModelViewProjection(e);const t=e.renderer,n=t.getRenderTarget();t.contextNode.isContextNode===!0?e.context=ko(ko({},e.context),t.contextNode.getFlowContextData()):Nr('NodeMaterial: "renderer.contextNode" must be an instance of `context()`.'),this.contextNode!==null&&(this.contextNode.isContextNode===!0?e.context=ko(ko({},e.context),this.contextNode.getFlowContextData()):Nr('NodeMaterial: "material.contextNode" must be an instance of `context()`.')),e.addStack();const r=Dy(this.setupVertex(e),"VERTEX"),s=this.vertexNode||r;e.stack.outputNode=s,this.setupHardwareClipping(e),this.geometryNode!==null&&(e.stack.outputNode=e.stack.outputNode.bypass(this.geometryNode)),e.addFlow("vertex",e.removeStack()),e.addStack();let a;const o=this.setupClipping(e);if((this.depthWrite===!0||this.depthTest===!0)&&(n!==null?n.depthBuffer===!0&&this.setupDepth(e):t.depth===!0&&this.setupDepth(e)),this.fragmentNode===null){this.setupDiffuseColor(e),this.setupVariants(e);const l=this.setupLighting(e);o!==null&&e.stack.addToStack(o);const c=Rs(l,bl.a).max(0);a=this.setupOutput(e,c),Oy.assign(a);const u=this.outputNode!==null;if(u&&(a=this.outputNode),e.context.getOutput&&(a=e.context.getOutput(a,e)),n!==null){const h=t.getMRT(),d=this.mrtNode;h!==null?(u&&Oy.assign(a),a=h,d!==null&&(a=h.merge(d))):d!==null&&(a=d)}}else{let l=this.fragmentNode;l.isOutputStructNode!==!0&&(l=Rs(l)),a=this.setupOutput(e,l)}e.stack.outputNode=a,e.addFlow("fragment",e.removeStack()),e.observer=this.setupObserver(e)}setupClipping(e){if(e.clippingContext===null)return null;const{unionPlanes:t,intersectionPlanes:n}=e.clippingContext;let r=null;if(t.length>0||n.length>0){const s=e.renderer.currentSamples;this.alphaToCoverage&&s>1?r=VX():e.stack.addToStack(zX())}return r}setupHardwareClipping(e){if(this.hardwareClipping=!1,e.clippingContext===null)return;const t=e.clippingContext.unionPlanes.length;t>0&&t<=8&&e.isAvailable("clipDistance")&&(e.stack.addToStack(HX()),this.hardwareClipping=!0)}setupDepth(e){const{renderer:t,camera:n}=e;let r=this.depthNode;if(r===null){const s=t.getMRT();s&&s.has("depth")?r=s.get("depth"):t.logarithmicDepthBuffer===!0&&(n.isPerspectiveCamera?r=jB(Vc.z,Tg,Bg):r=Wy(Vc.z,Tg,Bg))}r!==null&&KB.assign(r).toStack()}setupPositionView(){return yp.mul(Ec).xyz}setupModelViewProjection(){return Xh.mul(Vc)}setupVertex(e){return e.addStack(),this.setupPosition(e),e.context.vertex=e.removeStack(),TD}setupPosition(e){const{object:t,geometry:n}=e;if((n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color)&&kD(t).toStack(),t.isSkinnedMesh===!0&&LD(t).toStack(),this.displacementMap){const r=Rg("displacementMap","texture"),s=Rg("displacementScale","float"),a=Rg("displacementBias","float");Ec.addAssign(vd.normalize().mul(r.x.mul(s).add(a)))}return t.isBatchedMesh&&PD(t).toStack(),t.isInstancedMesh&&t.instanceMatrix&&t.instanceMatrix.isInstancedBufferAttribute===!0&&ND(t).toStack(),this.positionNode!==null&&Ec.assign(Dy(this.positionNode,"POSITION","vec3")),Ec}setupDiffuseColor(e){const{object:t,geometry:n}=e;this.maskNode!==null&&Ef(this.maskNode).not().discard();let r=this.colorNode?Rs(this.colorNode):Fw;this.vertexColors===!0&&n.hasAttribute("color")&&(r=r.mul(QD())),t.instanceColor&&(r=Hd("vec3","vInstanceColor").mul(r)),t.isBatchedMesh&&t._colorsTexture&&(r=Hd("vec3","vBatchColor").mul(r)),bl.assign(r);const s=this.opacityNode?en(this.opacityNode):Ow;bl.a.assign(bl.a.mul(s));let a=null;(this.alphaTestNode!==null||this.alphaTest>0)&&(a=this.alphaTestNode!==null?en(this.alphaTestNode):nD,this.alphaToCoverage===!0?(bl.a=Wd(a,a.add(iB(bl.a)),bl.a),bl.a.lessThanEqual(0).discard()):bl.a.lessThanEqual(a).discard()),this.alphaHash===!0&&bl.a.lessThan(QX(Ec)).discard(),e.isOpaque()&&bl.a.assign(1)}setupVariants(){}setupOutgoingLight(){return this.lights===!0?Wn(0):bl.rgb}setupNormal(){return this.normalNode?Wn(this.normalNode):cD}setupEnvironment(){let e=null;return this.envNode?e=this.envNode:this.envMap&&(e=this.envMap.isCubeTexture?Rg("envMap","cubeTexture"):Rg("envMap","texture")),e}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new FX(HB)),t}setupLights(e){const t=[],n=this.setupEnvironment(e);n&&n.isLightingNode&&t.push(n);const r=this.setupLightMap(e);r&&r.isLightingNode&&t.push(r);let s=this.aoNode;s===null&&e.material.aoMap&&(s=MD),e.context.getAO&&(s=e.context.getAO(s,e)),s&&t.push(new NX(s));let a=this.lightsNode||e.lightsNode;return t.length>0&&(a=e.renderer.lighting.createNode([...a.getLights(),...t])),a}setupLightingModel(){}setupLighting(e){const{material:t}=e,{backdropNode:n,backdropAlphaNode:r,emissiveNode:s}=this,o=this.lights===!0||this.lightsNode!==null?this.setupLights(e):null;let l=this.setupOutgoingLight(e);if(o&&o.getScope().hasLights){const c=this.setupLightingModel(e)||null;l=zD(o,c,n,r)}else n!==null&&(l=Wn(r!==null?Mo(l,n,r):n));return(s&&s.isNode===!0||t.emissive&&t.emissive.isColor===!0)&&(VT.assign(Wn(s||iD)),l=l.add(VT)),l}setupFog(e,t){const n=e.fogNode;return n&&(Oy.assign(t),t=Rs(n.toVar())),t}setupPremultipliedAlpha(e,t){return KD(t)}setupOutput(e,t){return this.fog===!0&&(t=this.setupFog(e,t)),this.premultipliedAlpha===!0&&(t=this.setupPremultipliedAlpha(e,t)),t}setDefaultValues(e){for(const n in e){const r=e[n];this[n]===void 0&&(this[n]=r,r&&r.clone&&(this[n]=r.clone()))}const t=Object.getOwnPropertyDescriptors(e.constructor.prototype);for(const n in t)Object.getOwnPropertyDescriptor(this.constructor.prototype,n)===void 0&&t[n].get!==void 0&&Object.defineProperty(this.constructor.prototype,n,t[n])}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{},nodes:{}});const n=Kc.prototype.toJSON.call(this,e);n.inputNodes={};for(const{property:s,childNode:a}of this._getNodeChildren())n.inputNodes[s]=a.toJSON(e).uuid;function r(s){const a=[];for(const o in s){const l=s[o];delete l.metadata,a.push(l)}return a}if(t){const s=r(e.textures),a=r(e.images),o=r(e.nodes);s.length>0&&(n.textures=s),a.length>0&&(n.images=a),o.length>0&&(n.nodes=o)}return n}copy(e){return this.lightsNode=e.lightsNode,this.envNode=e.envNode,this.aoNode=e.aoNode,this.colorNode=e.colorNode,this.normalNode=e.normalNode,this.opacityNode=e.opacityNode,this.backdropNode=e.backdropNode,this.backdropAlphaNode=e.backdropAlphaNode,this.alphaTestNode=e.alphaTestNode,this.maskNode=e.maskNode,this.positionNode=e.positionNode,this.geometryNode=e.geometryNode,this.depthNode=e.depthNode,this.receivedShadowPositionNode=e.receivedShadowPositionNode,this.castShadowPositionNode=e.castShadowPositionNode,this.receivedShadowNode=e.receivedShadowNode,this.castShadowNode=e.castShadowNode,this.outputNode=e.outputNode,this.mrtNode=e.mrtNode,this.fragmentNode=e.fragmentNode,this.vertexNode=e.vertexNode,this.contextNode=e.contextNode,super.copy(e)}}const qX=new cu;class JX extends Sc{static get type(){return"LineBasicNodeMaterial"}constructor(e){super(),this.isLineBasicNodeMaterial=!0,this.setDefaultValues(qX),this.setValues(e)}}const eY=new CM;class tY extends Sc{static get type(){return"LineDashedNodeMaterial"}constructor(e){super(),this.isLineDashedNodeMaterial=!0,this.setDefaultValues(eY),this.dashOffset=0,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.setValues(e)}setupVariants(){const e=this.offsetNode?en(this.offsetNode):VB,t=this.dashScaleNode?en(this.dashScaleNode):UB,n=this.dashSizeNode?en(this.dashSizeNode):kB,r=this.gapSizeNode?en(this.gapSizeNode):zB;nv.assign(n),Nb.assign(r);const s=mp(Kh("lineDistance").mul(t));(e?s.add(e):s).mod(nv.add(Nb)).greaterThan(nv).discard()}}let zw=null;class nY extends Uw{static get type(){return"ViewportSharedTextureNode"}constructor(e=Mg,t=null){zw===null&&(zw=new Cs),super(e,t,zw)}getTextureForReference(){return zw}updateReference(){return this}}const XD=Ha(nY).setParameterLength(0,2),rY=new CM;class x_e extends null{static get type(){return"Line2NodeMaterial"}constructor(e={}){super(),this.isLine2NodeMaterial=!0,this.setDefaultValues(rY),this.useColor=e.vertexColors,this.dashOffset=0,this.lineColorNode=null,this.offsetNode=null,this.dashScaleNode=null,this.dashSizeNode=null,this.gapSizeNode=null,this.blending=NoBlending,this._useDash=e.dashed,this._useAlphaToCoverage=!0,this._useWorldUnits=!1,this.setValues(e)}setup(e){const{renderer:t}=e,n=this._useAlphaToCoverage,r=this.useColor,s=this._useDash,a=this._useWorldUnits,o=tr(({start:c,end:u})=>{const h=Xh.element(2).element(2),A=Xh.element(3).element(2).mul(-.5).div(h).sub(c.z).div(u.z.sub(c.z));return Rs(Mo(c.xyz,u.xyz,A),u.w)}).setLayout({name:"trimSegment",type:"vec4",inputs:[{name:"start",type:"vec4"},{name:"end",type:"vec4"}]});this.vertexNode=tr(()=>{const c=Kh("instanceStart"),u=Kh("instanceEnd"),h=Rs(yp.mul(Rs(c,1))).toVar("start"),d=Rs(yp.mul(Rs(u,1))).toVar("end");if(s){const se=this.dashScaleNode?en(this.dashScaleNode):UB,ie=this.offsetNode?en(this.offsetNode):VB,ce=Kh("instanceDistanceStart"),ue=Kh("instanceDistanceEnd");let ve=sh.y.lessThan(.5).select(se.mul(ce),se.mul(ue));ve=ve.add(ie),Hd("float","lineDistance").assign(ve)}a&&(Hd("vec3","worldStart").assign(h.xyz),Hd("vec3","worldEnd").assign(d.xyz));const f=ky.z.div(ky.w),A=Xh.element(2).element(3).equal(-1);Gs(A,()=>{Gs(h.z.lessThan(0).and(d.z.greaterThan(0)),()=>{d.assign(o({start:h,end:d}))}).ElseIf(d.z.lessThan(0).and(h.z.greaterThanEqual(0)),()=>{h.assign(o({start:d,end:h}))})});const y=Xh.mul(h),b=Xh.mul(d),x=y.xyz.div(y.w),P=b.xyz.div(b.w),k=P.xy.sub(x.xy).toVar();k.x.assign(k.x.mul(f)),k.assign(k.normalize());const $=Rs().toVar();if(a){const se=d.xyz.sub(h.xyz).normalize(),ie=Mo(h.xyz,d.xyz,.5).normalize(),ce=se.cross(ie).normalize(),ue=se.cross(ce),ve=Hd("vec4","worldPos");ve.assign(sh.y.lessThan(.5).select(h,d));const Fe=Dw.mul(.5);ve.addAssign(Rs(sh.x.lessThan(0).select(ce.mul(Fe),ce.mul(Fe).negate()),0)),s||(ve.addAssign(Rs(sh.y.lessThan(.5).select(se.mul(Fe).negate(),se.mul(Fe)),0)),ve.addAssign(Rs(ue.mul(Fe),0)),Gs(sh.y.greaterThan(1).or(sh.y.lessThan(0)),()=>{ve.subAssign(Rs(ue.mul(2).mul(Fe),0))})),$.assign(Xh.mul(ve));const nt=Wn().toVar();nt.assign(sh.y.lessThan(.5).select(x,P)),$.z.assign(nt.z.mul($.w))}else{const se=Ni(k.y,k.x.negate()).toVar("offset");k.x.assign(k.x.div(f)),se.x.assign(se.x.div(f)),se.assign(sh.x.lessThan(0).select(se.negate(),se)),Gs(sh.y.lessThan(0),()=>{se.assign(se.sub(k))}).ElseIf(sh.y.greaterThan(1),()=>{se.assign(se.add(k))}),se.assign(se.mul(Dw)),se.assign(se.div(ky.w.div(bB))),$.assign(sh.y.lessThan(.5).select(y,b)),se.assign(se.mul($.w)),$.assign($.add(Rs(se,0,0)))}return $})();const l=tr(({p1:c,p2:u,p3:h,p4:d})=>{const f=c.sub(h),A=d.sub(h),y=u.sub(c),b=f.dot(A),x=A.dot(y),P=f.dot(y),k=A.dot(A),se=y.dot(y).mul(k).sub(x.mul(x)),ce=b.mul(x).sub(P.mul(k)).div(se).clamp(),ue=b.add(x.mul(ce)).div(k).clamp();return Ni(ce,ue)});if(this.colorNode=tr(()=>{const c=_l();if(s){const d=this.dashSizeNode?en(this.dashSizeNode):kB,f=this.gapSizeNode?en(this.gapSizeNode):zB;nv.assign(d),Nb.assign(f);const A=Hd("float","lineDistance");c.y.lessThan(-1).or(c.y.greaterThan(1)).discard(),A.mod(nv.add(Nb)).greaterThan(nv).discard()}const u=en(1).toVar("alpha");if(a){const d=Hd("vec3","worldStart"),f=Hd("vec3","worldEnd"),A=Hd("vec4","worldPos").xyz.normalize().mul(1e5),y=f.sub(d),b=l({p1:d,p2:f,p3:Wn(0,0,0),p4:A}),x=d.add(y.mul(b.x)),P=A.mul(b.y),se=x.sub(P).length().div(Dw);if(!s)if(n&&t.currentSamples>0){const ie=se.fwidth();u.assign(Wd(ie.negate().add(.5),ie.add(.5),se).oneMinus())}else se.greaterThan(.5).discard()}else if(n&&t.currentSamples>0){const d=c.x,f=c.y.greaterThan(0).select(c.y.sub(1),c.y.add(1)),A=d.mul(d).add(f.mul(f)),y=en(A.fwidth()).toVar("dlen");Gs(c.y.abs().greaterThan(1),()=>{u.assign(Wd(y.oneMinus(),y.add(1),A).oneMinus())})}else Gs(c.y.abs().greaterThan(1),()=>{const d=c.x,f=c.y.greaterThan(0).select(c.y.sub(1),c.y.add(1));d.mul(d).add(f.mul(f)).greaterThan(1).discard()});let h;if(this.lineColorNode)h=this.lineColorNode;else if(r){const d=Kh("instanceColorStart"),f=Kh("instanceColorEnd");h=sh.y.lessThan(.5).select(d,f).mul(Fw)}else h=Fw;return Rs(h,u)})(),this.transparent){const c=this.opacityNode?en(this.opacityNode):Ow;this.outputNode=Rs(this.colorNode.rgb.mul(c).add(XD().rgb.mul(c.oneMinus())),this.colorNode.a)}super.setup(e)}get worldUnits(){return this._useWorldUnits}set worldUnits(e){this._useWorldUnits!==e&&(this._useWorldUnits=e,this.needsUpdate=!0)}get dashed(){return this._useDash}set dashed(e){this._useDash!==e&&(this._useDash=e,this.needsUpdate=!0)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(e){this._useAlphaToCoverage!==e&&(this._useAlphaToCoverage=e,this.needsUpdate=!0)}}const iY=new OP;class sY extends Sc{static get type(){return"MeshNormalNodeMaterial"}constructor(e){super(),this.isMeshNormalNodeMaterial=!0,this.setDefaultValues(iY),this.setValues(e)}setupDiffuseColor(){const e=this.opacityNode?en(this.opacityNode):Ow;bl.assign(ww(Rs(eD(Zo),e),$a))}}const XB=tr(([i=SB])=>{const e=i.z.atan(i.x).mul(1/(Math.PI*2)).add(.5),t=i.y.clamp(-1,1).asin().mul(1/Math.PI).add(.5);return Ni(e,t)});class YD extends dm{constructor(e=1,t={}){super(e,t),this.isCubeRenderTarget=!0}fromEquirectangularTexture(e,t){const n=t.minFilter,r=t.generateMipmaps;t.generateMipmaps=!0,this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const s=new fd(5,5,5),a=XB(SB),o=new Sc;o.colorNode=Yo(t,a,0),o.side=ge,o.blending=fe;const l=new vl(s,o),c=new jf;c.add(l),t.minFilter===Vi&&(t.minFilter=br);const u=new ay(1,10,this),h=e.getMRT();return e.setMRT(null),u.update(e,c),e.setMRT(h),t.minFilter=n,t.currentGenerateMipmaps=r,l.geometry.dispose(),l.material.dispose(),this}}const Hb=new WeakMap;class aY extends bc{static get type(){return"CubeMapNode"}constructor(e){super("vec3"),this.envNode=e,this._cubeTexture=null,this._cubeTextureNode=Yh(null);const t=new Od;t.isRenderTargetTexture=!0,this._defaultTexture=t,this.updateBeforeType=Xa.RENDER}updateBefore(e){const{renderer:t,material:n}=e,r=this.envNode;if(r.isTextureNode||r.isMaterialReferenceNode){const s=r.isTextureNode?r.value:n[r.property];if(s&&s.isTexture){const a=s.mapping;if(a===dt||a===Tt){if(Hb.has(s)){const o=Hb.get(s);JD(o,s.mapping),this._cubeTexture=o}else{const o=s.image;if(oY(o)){const l=new YD(o.height);l.fromEquirectangularTexture(t,s),JD(l.texture,s.mapping),this._cubeTexture=l.texture,Hb.set(s,l.texture),s.addEventListener("dispose",qD)}else this._cubeTexture=this._defaultTexture}this._cubeTextureNode.value=this._cubeTexture}else this._cubeTextureNode=this.envNode}}}setup(e){return this.updateBefore(e),this._cubeTextureNode}}function oY(i){return i==null?!1:i.height>0}function qD(i){const e=i.target;e.removeEventListener("dispose",qD);const t=Hb.get(e);t!==void 0&&(Hb.delete(e),t.dispose())}function JD(i,e){e===dt?i.mapping=je:e===Tt&&(i.mapping=Xe)}const eU=Ha(aY).setParameterLength(1);class YB extends Gy{static get type(){return"BasicEnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){e.context.environment=eU(this.envNode)}}class lY extends Gy{static get type(){return"BasicLightMapNode"}constructor(e=null){super(),this.lightMapNode=e}setup(e){const t=en(1/Math.PI);e.context.irradianceLightMap=this.lightMapNode.mul(t)}}class Vw{start(e){e.lightsNode.setupLights(e,e.lightsNode.getLightNodes(e)),this.indirect(e)}finish(){}direct(){}directRectArea(){}indirect(){}ambientOcclusion(){}}class tU extends Vw{constructor(){super()}indirect({context:e}){const t=e.ambientOcclusion,n=e.reflectedLight,r=e.irradianceLightMap;n.indirectDiffuse.assign(Rs(0)),r?n.indirectDiffuse.addAssign(r):n.indirectDiffuse.addAssign(Rs(1,1,1,0)),n.indirectDiffuse.mulAssign(t),n.indirectDiffuse.mulAssign(bl.rgb)}finish(e){const{material:t,context:n}=e,r=n.outgoingLight,s=e.context.environment;if(s)switch(t.combine){case De:r.rgb.assign(Mo(r.rgb,r.rgb.mul(s.rgb),Vb.mul(Lw)));break;case ft:r.rgb.assign(Mo(r.rgb,s.rgb,Vb.mul(Lw)));break;case bt:r.rgb.addAssign(s.rgb.mul(Vb.mul(Lw)));break;default:sr("BasicLightingModel: Unsupported .combine value:",t.combine);break}}}const cY=new ou;class uY extends Sc{static get type(){return"MeshBasicNodeMaterial"}constructor(e){super(),this.isMeshBasicNodeMaterial=!0,this.lights=!0,this.setDefaultValues(cY),this.setValues(e)}setupNormal(){return zy(Vy)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new YB(t):null}setupLightMap(e){let t=null;return e.material.lightMap&&(t=new lY(HB)),t}setupOutgoingLight(){return bl.rgb}setupLightingModel(){return new tU}}const $y=tr(({f0:i,f90:e,dotVH:t})=>{const n=t.mul(-5.55473).sub(6.98316).mul(t).exp2();return i.mul(n.oneMinus()).add(e.mul(n))}),ov=tr(i=>i.diffuseColor.mul(1/Math.PI)),hY=()=>en(.25),dY=tr(({dotNH:i})=>fw.mul(en(.5)).add(1).mul(en(1/Math.PI)).mul(i.pow(fw))),fY=tr(({lightDirection:i})=>{const e=i.add(Bl).normalize(),t=Zo.dot(e).clamp(),n=Bl.dot(e).clamp(),r=$y({f0:Fm,f90:1,dotVH:n}),s=hY(),a=dY({dotNH:t});return r.mul(s).mul(a)});class nU extends tU{constructor(e=!0){super(),this.specular=e}direct({lightDirection:e,lightColor:t,reflectedLight:n}){const s=Zo.dot(e).clamp().mul(t);n.directDiffuse.addAssign(s.mul(ov({diffuseColor:bl.rgb}))),this.specular===!0&&n.directSpecular.addAssign(s.mul(fY({lightDirection:e})).mul(Vb))}indirect(e){const{ambientOcclusion:t,irradiance:n,reflectedLight:r}=e.context;r.indirectDiffuse.addAssign(n.mul(ov({diffuseColor:bl}))),r.indirectDiffuse.mulAssign(t)}}const AY=new SM;class pY extends Sc{static get type(){return"MeshLambertNodeMaterial"}constructor(e){super(),this.isMeshLambertNodeMaterial=!0,this.lights=!0,this.setDefaultValues(AY),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new YB(t):null}setupLightingModel(){return new nU(!1)}}const gY=new PP;class mY extends Sc{static get type(){return"MeshPhongNodeMaterial"}constructor(e){super(),this.isMeshPhongNodeMaterial=!0,this.lights=!0,this.shininessNode=null,this.specularNode=null,this.setDefaultValues(gY),this.setValues(e)}setupEnvironment(e){const t=super.setupEnvironment(e);return t?new YB(t):null}setupLightingModel(){return new nU}setupVariants(){const e=(this.shininessNode?en(this.shininessNode):rD).max(1e-4);fw.assign(e);const t=this.specularNode||sD;Fm.assign(t)}copy(e){return this.shininessNode=e.shininessNode,this.specularNode=e.specularNode,super.copy(e)}}const rU=tr(i=>{if(i.geometry.hasAttribute("normal")===!1)return en(0);const e=Vy.dFdx().abs().max(Vy.dFdy().abs());return e.x.max(e.y).max(e.z)}),qB=tr(i=>{const{roughness:e}=i,t=rU();let n=e.max(.0525);return n=n.add(t),n=n.min(1),n}),iU=tr(({alpha:i,dotNL:e,dotNV:t})=>{const n=i.pow2(),r=e.mul(n.add(n.oneMinus().mul(t.pow2())).sqrt()),s=t.mul(n.add(n.oneMinus().mul(e.pow2())).sqrt());return Qd(.5,r.add(s).max(KT))}).setLayout({name:"V_GGX_SmithCorrelated",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNL",type:"float"},{name:"dotNV",type:"float"}]}),vY=tr(({alphaT:i,alphaB:e,dotTV:t,dotBV:n,dotTL:r,dotBL:s,dotNV:a,dotNL:o})=>{const l=o.mul(Wn(i.mul(t),e.mul(n),a).length()),c=a.mul(Wn(i.mul(r),e.mul(s),o).length());return Qd(.5,l.add(c))}).setLayout({name:"V_GGX_SmithCorrelated_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotTV",type:"float",qualifier:"in"},{name:"dotBV",type:"float",qualifier:"in"},{name:"dotTL",type:"float",qualifier:"in"},{name:"dotBL",type:"float",qualifier:"in"},{name:"dotNV",type:"float",qualifier:"in"},{name:"dotNL",type:"float",qualifier:"in"}]}),sU=tr(({alpha:i,dotNH:e})=>{const t=i.pow2(),n=e.pow2().mul(t.oneMinus()).oneMinus();return t.div(n.pow2()).mul(1/Math.PI)}).setLayout({name:"D_GGX",type:"float",inputs:[{name:"alpha",type:"float"},{name:"dotNH",type:"float"}]}),yY=en(1/Math.PI),xY=tr(({alphaT:i,alphaB:e,dotNH:t,dotTH:n,dotBH:r})=>{const s=i.mul(e),a=Wn(e.mul(n),i.mul(r),s.mul(t)),o=a.dot(a),l=s.div(o);return yY.mul(s.mul(l.pow2()))}).setLayout({name:"D_GGX_Anisotropic",type:"float",inputs:[{name:"alphaT",type:"float",qualifier:"in"},{name:"alphaB",type:"float",qualifier:"in"},{name:"dotNH",type:"float",qualifier:"in"},{name:"dotTH",type:"float",qualifier:"in"},{name:"dotBH",type:"float",qualifier:"in"}]}),JB=tr(({lightDirection:i,f0:e,f90:t,roughness:n,f:r,normalView:s=Zo,USE_IRIDESCENCE:a,USE_ANISOTROPY:o})=>{const l=n.pow2(),c=i.add(Bl).normalize(),u=s.dot(i).clamp(),h=s.dot(Bl).clamp(),d=s.dot(c).clamp(),f=Bl.dot(c).clamp();let A=$y({f0:e,f90:t,dotVH:f}),y,b;if(Mb(a)&&(A=cw.mix(A,r)),Mb(o)){const x=Ib.dot(i),P=Ib.dot(Bl),k=Ib.dot(c),$=ev.dot(i),se=ev.dot(Bl),ie=ev.dot(c);y=vY({alphaT:dw,alphaB:l,dotTV:P,dotBV:se,dotTL:x,dotBL:$,dotNV:h,dotNL:u}),b=xY({alphaT:dw,alphaB:l,dotNH:d,dotTH:k,dotBH:ie})}else y=iU({alpha:l,dotNL:u,dotNV:h}),b=sU({alpha:l,dotNH:d});return A.mul(y).mul(b)}),bY=new Uint16Array([12469,15057,12620,14925,13266,14620,13807,14376,14323,13990,14545,13625,14713,13328,14840,12882,14931,12528,14996,12233,15039,11829,15066,11525,15080,11295,15085,10976,15082,10705,15073,10495,13880,14564,13898,14542,13977,14430,14158,14124,14393,13732,14556,13410,14702,12996,14814,12596,14891,12291,14937,11834,14957,11489,14958,11194,14943,10803,14921,10506,14893,10278,14858,9960,14484,14039,14487,14025,14499,13941,14524,13740,14574,13468,14654,13106,14743,12678,14818,12344,14867,11893,14889,11509,14893,11180,14881,10751,14852,10428,14812,10128,14765,9754,14712,9466,14764,13480,14764,13475,14766,13440,14766,13347,14769,13070,14786,12713,14816,12387,14844,11957,14860,11549,14868,11215,14855,10751,14825,10403,14782,10044,14729,9651,14666,9352,14599,9029,14967,12835,14966,12831,14963,12804,14954,12723,14936,12564,14917,12347,14900,11958,14886,11569,14878,11247,14859,10765,14828,10401,14784,10011,14727,9600,14660,9289,14586,8893,14508,8533,15111,12234,15110,12234,15104,12216,15092,12156,15067,12010,15028,11776,14981,11500,14942,11205,14902,10752,14861,10393,14812,9991,14752,9570,14682,9252,14603,8808,14519,8445,14431,8145,15209,11449,15208,11451,15202,11451,15190,11438,15163,11384,15117,11274,15055,10979,14994,10648,14932,10343,14871,9936,14803,9532,14729,9218,14645,8742,14556,8381,14461,8020,14365,7603,15273,10603,15272,10607,15267,10619,15256,10631,15231,10614,15182,10535,15118,10389,15042,10167,14963,9787,14883,9447,14800,9115,14710,8665,14615,8318,14514,7911,14411,7507,14279,7198,15314,9675,15313,9683,15309,9712,15298,9759,15277,9797,15229,9773,15166,9668,15084,9487,14995,9274,14898,8910,14800,8539,14697,8234,14590,7790,14479,7409,14367,7067,14178,6621,15337,8619,15337,8631,15333,8677,15325,8769,15305,8871,15264,8940,15202,8909,15119,8775,15022,8565,14916,8328,14804,8009,14688,7614,14569,7287,14448,6888,14321,6483,14088,6171,15350,7402,15350,7419,15347,7480,15340,7613,15322,7804,15287,7973,15229,8057,15148,8012,15046,7846,14933,7611,14810,7357,14682,7069,14552,6656,14421,6316,14251,5948,14007,5528,15356,5942,15356,5977,15353,6119,15348,6294,15332,6551,15302,6824,15249,7044,15171,7122,15070,7050,14949,6861,14818,6611,14679,6349,14538,6067,14398,5651,14189,5311,13935,4958,15359,4123,15359,4153,15356,4296,15353,4646,15338,5160,15311,5508,15263,5829,15188,6042,15088,6094,14966,6001,14826,5796,14678,5543,14527,5287,14377,4985,14133,4586,13869,4257,15360,1563,15360,1642,15358,2076,15354,2636,15341,3350,15317,4019,15273,4429,15203,4732,15105,4911,14981,4932,14836,4818,14679,4621,14517,4386,14359,4156,14083,3795,13808,3437,15360,122,15360,137,15358,285,15355,636,15344,1274,15322,2177,15281,2765,15215,3223,15120,3451,14995,3569,14846,3567,14681,3466,14511,3305,14344,3121,14037,2800,13753,2467,15360,0,15360,1,15359,21,15355,89,15346,253,15325,479,15287,796,15225,1148,15133,1492,15008,1749,14856,1882,14685,1886,14506,1783,14324,1608,13996,1398,13702,1183]);let bp=null;const Gb=tr(({roughness:i,dotNV:e})=>{bp===null&&(bp=new Eu(bY,16,16,$e,Dt),bp.name="DFG_LUT",bp.minFilter=br,bp.magFilter=br,bp.wrapS=an,bp.wrapT=an,bp.generateMipmaps=!1,bp.needsUpdate=!0);const t=Ni(i,e);return Yo(bp,t).rg}),_Y=tr(({lightDirection:i,f0:e,f90:t,roughness:n,f:r,USE_IRIDESCENCE:s,USE_ANISOTROPY:a})=>{const o=JB({lightDirection:i,f0:e,f90:t,roughness:n,f:r,USE_IRIDESCENCE:s,USE_ANISOTROPY:a}),l=Zo.dot(i).clamp(),c=Zo.dot(Bl).clamp(),u=Gb({roughness:n,dotNV:c}),h=Gb({roughness:n,dotNV:l}),d=e.mul(u.x).add(t.mul(u.y)),f=e.mul(h.x).add(t.mul(h.y)),A=u.x.add(u.y),y=h.x.add(h.y),b=en(1).sub(A),x=en(1).sub(y),P=e.add(e.oneMinus().mul(.047619)),k=d.mul(f).mul(P).div(en(1).sub(b.mul(x).mul(P).mul(P)).add(KT)),$=b.mul(x),se=k.mul($);return o.add(se)}),aU=tr(i=>{const{dotNV:e,specularColor:t,specularF90:n,roughness:r}=i,s=Gb({dotNV:e,roughness:r});return t.mul(s.x).add(n.mul(s.y))}),e2=tr(({f:i,f90:e,dotVH:t})=>{const n=t.oneMinus().saturate(),r=n.mul(n),s=n.mul(r,r).clamp(0,.9999);return i.sub(Wn(e).mul(s)).div(s.oneMinus())}).setLayout({name:"Schlick_to_F0",type:"vec3",inputs:[{name:"f",type:"vec3"},{name:"f90",type:"float"},{name:"dotVH",type:"float"}]}),wY=tr(({roughness:i,dotNH:e})=>{const t=i.pow2(),n=en(1).div(t),s=e.pow2().oneMinus().max(.0078125);return en(2).add(n).mul(s.pow(n.mul(.5))).div(2*Math.PI)}).setLayout({name:"D_Charlie",type:"float",inputs:[{name:"roughness",type:"float"},{name:"dotNH",type:"float"}]}),EY=tr(({dotNV:i,dotNL:e})=>en(1).div(en(4).mul(e.add(i).sub(e.mul(i))))).setLayout({name:"V_Neubelt",type:"float",inputs:[{name:"dotNV",type:"float"},{name:"dotNL",type:"float"}]}),SY=tr(({lightDirection:i})=>{const e=i.add(Bl).normalize(),t=Zo.dot(i).clamp(),n=Zo.dot(Bl).clamp(),r=Zo.dot(e).clamp(),s=wY({roughness:Nm,dotNH:r}),a=EY({dotNV:n,dotNL:t});return Gd.mul(s).mul(a)}),CY=tr(({N:i,V:e,roughness:t})=>{const s=.0078125,a=i.dot(e).saturate(),o=Ni(t,a.oneMinus().sqrt());return o.assign(o.mul(.984375).add(s)),o}).setLayout({name:"LTC_Uv",type:"vec2",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"roughness",type:"float"}]}),oU=tr(({f:i})=>{const e=i.length();return wc(e.mul(e).add(i.z).div(e.add(1)),0)}).setLayout({name:"LTC_ClippedSphereFormFactor",type:"float",inputs:[{name:"f",type:"vec3"}]}),Um=tr(({v1:i,v2:e})=>{const t=i.dot(e),n=t.abs().toVar(),r=n.mul(.0145206).add(.4965155).mul(n).add(.8543985).toVar(),s=n.add(4.1616724).mul(n).add(3.417594).toVar(),a=r.div(s),o=t.greaterThan(0).select(a,wc(t.mul(t).oneMinus(),1e-7).inverseSqrt().mul(.5).sub(a));return i.cross(e).mul(o)}).setLayout({name:"LTC_EdgeVectorFormFactor",type:"vec3",inputs:[{name:"v1",type:"vec3"},{name:"v2",type:"vec3"}]}),lU=tr(({N:i,V:e,P:t,mInv:n,p0:r,p1:s,p2:a,p3:o})=>{const l=s.sub(r).toVar(),c=o.sub(r).toVar(),u=l.cross(c),h=Wn().toVar();return Gs(u.dot(t.sub(r)).greaterThanEqual(0),()=>{const d=e.sub(i.mul(e.dot(i))).normalize(),f=i.cross(d).negate(),A=n.mul(rh(d,f,i).transpose()).toVar(),y=A.mul(r.sub(t)).normalize().toVar(),b=A.mul(s.sub(t)).normalize().toVar(),x=A.mul(a.sub(t)).normalize().toVar(),P=A.mul(o.sub(t)).normalize().toVar(),k=Wn(0).toVar();k.addAssign(Um({v1:y,v2:b})),k.addAssign(Um({v1:b,v2:x})),k.addAssign(Um({v1:x,v2:P})),k.addAssign(Um({v1:P,v2:y})),h.assign(Wn(oU({f:k})))}),h}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"N",type:"vec3"},{name:"V",type:"vec3"},{name:"P",type:"vec3"},{name:"mInv",type:"mat3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),MY=tr(({P:i,p0:e,p1:t,p2:n,p3:r})=>{const s=t.sub(e).toVar(),a=r.sub(e).toVar(),o=s.cross(a),l=Wn().toVar();return Gs(o.dot(i.sub(e)).greaterThanEqual(0),()=>{const c=e.sub(i).normalize().toVar(),u=t.sub(i).normalize().toVar(),h=n.sub(i).normalize().toVar(),d=r.sub(i).normalize().toVar(),f=Wn(0).toVar();f.addAssign(Um({v1:c,v2:u})),f.addAssign(Um({v1:u,v2:h})),f.addAssign(Um({v1:h,v2:d})),f.addAssign(Um({v1:d,v2:c})),l.assign(Wn(oU({f:f.abs()})))}),l}).setLayout({name:"LTC_Evaluate",type:"vec3",inputs:[{name:"P",type:"vec3"},{name:"p0",type:"vec3"},{name:"p1",type:"vec3"},{name:"p2",type:"vec3"},{name:"p3",type:"vec3"}]}),Hw=1/6,cU=i=>Ga(Hw,Ga(i,Ga(i,i.negate().add(3)).sub(3)).add(1)),t2=i=>Ga(Hw,Ga(i,Ga(i,Ga(3,i).sub(6))).add(4)),uU=i=>Ga(Hw,Ga(i,Ga(i,Ga(-3,i).add(3)).add(3)).add(1)),n2=i=>Ga(Hw,Cf(i,3)),hU=i=>cU(i).add(t2(i)),dU=i=>uU(i).add(n2(i)),fU=i=>eu(-1,t2(i).div(cU(i).add(t2(i)))),AU=i=>eu(1,n2(i).div(uU(i).add(n2(i)))),pU=(i,e,t)=>{const n=i.uvNode,r=Ga(n,e.zw).add(.5),s=pp(r),a=uA(r),o=hU(a.x),l=dU(a.x),c=fU(a.x),u=AU(a.x),h=fU(a.y),d=AU(a.y),f=Ni(s.x.add(c),s.y.add(h)).sub(.5).mul(e.xy),A=Ni(s.x.add(u),s.y.add(h)).sub(.5).mul(e.xy),y=Ni(s.x.add(c),s.y.add(d)).sub(.5).mul(e.xy),b=Ni(s.x.add(u),s.y.add(d)).sub(.5).mul(e.xy),x=hU(a.y).mul(eu(o.mul(i.sample(f).level(t)),l.mul(i.sample(A).level(t)))),P=dU(a.y).mul(eu(o.mul(i.sample(y).level(t)),l.mul(i.sample(b).level(t))));return x.add(P)},r2=tr(([i,e])=>{const t=Ni(i.size(zn(e))),n=Ni(i.size(zn(e.add(1)))),r=Qd(1,t),s=Qd(1,n),a=pU(i,Rs(r,t),pp(e)),o=pU(i,Rs(s,n),vw(e));return uA(e).mix(a,o)}),TY=tr(([i,e])=>{const t=e.mul(vB(i));return r2(i,t)}),gU=tr(([i,e,t,n,r])=>{const s=Wn(lB(e.negate(),$h(i),Qd(1,n))),a=Wn(gp(r[0].xyz),gp(r[1].xyz),gp(r[2].xyz));return $h(s).mul(t.mul(a))}).setLayout({name:"getVolumeTransmissionRay",type:"vec3",inputs:[{name:"n",type:"vec3"},{name:"v",type:"vec3"},{name:"thickness",type:"float"},{name:"ior",type:"float"},{name:"modelMatrix",type:"mat4"}]}),BY=tr(([i,e])=>i.mul(dA(e.mul(2).sub(2),0,1))).setLayout({name:"applyIorToRoughness",type:"float",inputs:[{name:"roughness",type:"float"},{name:"ior",type:"float"}]}),RY=QB(),IY=QB(),mU=tr(([i,e,t],{material:n})=>{const s=(n.side===ge?RY:IY).sample(i),a=Ap(rv.x).mul(BY(e,t));return r2(s,a)}),vU=tr(([i,e,t])=>(Gs(t.notEqual(0),()=>{const n=mw(e).negate().div(t);return XT(n.negate().mul(i))}),Wn(1))).setLayout({name:"volumeAttenuation",type:"vec3",inputs:[{name:"transmissionDistance",type:"float"},{name:"attenuationColor",type:"vec3"},{name:"attenuationDistance",type:"float"}]}),NY=tr(([i,e,t,n,r,s,a,o,l,c,u,h,d,f,A])=>{let y,b;if(A){y=Rs().toVar(),b=Wn().toVar();const se=u.sub(1).mul(A.mul(.025)),ie=Wn(u.sub(se),u,u.add(se));fl({start:0,end:3},({i:ce})=>{const ue=ie.element(ce),ve=gU(i,e,h,ue,o),Fe=a.add(ve),nt=c.mul(l.mul(Rs(Fe,1))),Gt=Ni(nt.xy.div(nt.w)).toVar();Gt.addAssign(1),Gt.divAssign(2),Gt.assign(Ni(Gt.x,Gt.y.oneMinus()));const Jt=mU(Gt,t,ue);y.element(ce).assign(Jt.element(ce)),y.a.addAssign(Jt.a),b.element(ce).assign(n.element(ce).mul(vU(gp(ve),d,f).element(ce)))}),y.a.divAssign(3)}else{const se=gU(i,e,h,u,o),ie=a.add(se),ce=c.mul(l.mul(Rs(ie,1))),ue=Ni(ce.xy.div(ce.w)).toVar();ue.addAssign(1),ue.divAssign(2),ue.assign(Ni(ue.x,ue.y.oneMinus())),y=mU(ue,t,u),b=n.mul(vU(gp(se),d,f))}const x=b.rgb.mul(y.rgb),P=i.dot(e).clamp(),k=Wn(aU({dotNV:P,specularColor:r,specularF90:s,roughness:t})),$=b.r.add(b.g,b.b).div(3);return Rs(k.oneMinus().mul(x),y.a.oneMinus().mul($).oneMinus())}),PY=rh(3.2404542,-.969266,.0556434,-1.5371385,1.8760108,-.2040259,-.4985314,.041556,1.0572252),FY=i=>{const e=i.sqrt();return Wn(1).add(e).div(Wn(1).sub(e))},yU=(i,e)=>i.sub(e).div(i.add(e)).pow2(),OY=(i,e)=>{const t=i.mul(2*Math.PI*1e-9),n=Wn(54856e-17,44201e-17,52481e-17),r=Wn(1681e3,1795300,2208400),s=Wn(43278e5,93046e5,66121e5),a=en(9747e-17*Math.sqrt(2*Math.PI*45282e5)).mul(t.mul(2239900).add(e.x).cos()).mul(t.pow2().mul(-45282e5).exp());let o=n.mul(s.mul(2*Math.PI).sqrt()).mul(r.mul(t).add(e).cos()).mul(t.pow2().negate().mul(s).exp());return o=Wn(o.x.add(a),o.y,o.z).div(10685e-11),PY.mul(o)},xU=tr(({outsideIOR:i,eta2:e,cosTheta1:t,thinFilmThickness:n,baseF0:r})=>{const s=Mo(i,e,Wd(0,.03,n)),o=i.div(s).pow2().mul(t.pow2().oneMinus()).oneMinus();Gs(o.lessThan(0),()=>Wn(1));const l=o.sqrt(),c=yU(s,i),u=$y({f0:c,f90:1,dotVH:t}),h=u.oneMinus(),d=s.lessThan(i).select(Math.PI,0),f=en(Math.PI).sub(d),A=FY(r.clamp(0,.9999)),y=yU(A,s.toVec3()),b=$y({f0:y,f90:1,dotVH:l}),x=Wn(A.x.lessThan(s).select(Math.PI,0),A.y.lessThan(s).select(Math.PI,0),A.z.lessThan(s).select(Math.PI,0)),P=s.mul(n,l,2),k=Wn(f).add(x),$=u.mul(b).clamp(1e-5,.9999),se=$.sqrt(),ie=h.pow2().mul(b).div(Wn(1).sub($)),ue=u.add(ie).toVar(),ve=ie.sub(h).toVar();return fl({start:1,end:2,condition:"<=",name:"m"},({m:Fe})=>{ve.mulAssign(se);const nt=OY(en(Fe).mul(P),en(Fe).mul(k)).mul(2);ue.addAssign(ve.mul(nt))}),ue.max(Wn(0))}).setLayout({name:"evalIridescence",type:"vec3",inputs:[{name:"outsideIOR",type:"float"},{name:"eta2",type:"float"},{name:"cosTheta1",type:"float"},{name:"thinFilmThickness",type:"float"},{name:"baseF0",type:"vec3"}]}),Qb=tr(({normal:i,viewDir:e,roughness:t})=>{const n=i.dot(e).saturate(),r=t.mul(t),s=t.add(.1).reciprocal(),a=en(-1.9362).add(t.mul(1.0678)).add(r.mul(.4573)).sub(s.mul(.8469)),o=en(-.6014).add(t.mul(.5538)).sub(r.mul(.467)).sub(s.mul(.1255));return a.mul(n).add(o).exp().saturate()}),i2=Wn(.04),s2=en(1);class bU extends Vw{constructor(e=!1,t=!1,n=!1,r=!1,s=!1,a=!1){super(),this.clearcoat=e,this.sheen=t,this.iridescence=n,this.anisotropy=r,this.transmission=s,this.dispersion=a,this.clearcoatRadiance=null,this.clearcoatSpecularDirect=null,this.clearcoatSpecularIndirect=null,this.sheenSpecularDirect=null,this.sheenSpecularIndirect=null,this.iridescenceFresnel=null,this.iridescenceF0=null,this.iridescenceF0Dielectric=null,this.iridescenceF0Metallic=null}start(e){if(this.clearcoat===!0&&(this.clearcoatRadiance=Wn().toVar("clearcoatRadiance"),this.clearcoatSpecularDirect=Wn().toVar("clearcoatSpecularDirect"),this.clearcoatSpecularIndirect=Wn().toVar("clearcoatSpecularIndirect")),this.sheen===!0&&(this.sheenSpecularDirect=Wn().toVar("sheenSpecularDirect"),this.sheenSpecularIndirect=Wn().toVar("sheenSpecularIndirect")),this.iridescence===!0){const t=Zo.dot(Bl).clamp(),n=xU({outsideIOR:en(1),eta2:uw,cosTheta1:t,thinFilmThickness:hw,baseF0:Fm}),r=xU({outsideIOR:en(1),eta2:uw,cosTheta1:t,thinFilmThickness:hw,baseF0:bl.rgb});this.iridescenceFresnel=Mo(n,r,bg),this.iridescenceF0Dielectric=e2({f:n,f90:1,dotVH:t}),this.iridescenceF0Metallic=e2({f:r,f90:1,dotVH:t}),this.iridescenceF0=Mo(this.iridescenceF0Dielectric,this.iridescenceF0Metallic,bg)}if(this.transmission===!0){const t=$d,n=kb.sub($d).normalize(),r=Dm,s=e.context;s.backdrop=NY(r,n,fp,J0,tv,Fy,t,Tf,Zd,Xh,Pb,HT,QT,GT,this.dispersion?WT:null),s.backdropAlpha=Aw,bl.a.mulAssign(Mo(1,s.backdrop.a,Aw))}super.start(e)}computeMultiscattering(e,t,n,r,s=null){const a=Zo.dot(Bl).clamp(),o=Gb({roughness:fp,dotNV:a}),l=s?cw.mix(r,s):r,c=l.mul(o.x).add(n.mul(o.y)),h=o.x.add(o.y).oneMinus(),d=l.add(l.oneMinus().mul(.047619)),f=c.mul(d).div(h.mul(d).oneMinus());e.addAssign(c),t.addAssign(f.mul(h))}direct({lightDirection:e,lightColor:t,reflectedLight:n}){const s=Zo.dot(e).clamp().mul(t).toVar();if(this.sheen===!0){this.sheenSpecularDirect.addAssign(s.mul(SY({lightDirection:e})));const a=Qb({normal:Zo,viewDir:Bl,roughness:Nm}),o=Qb({normal:Zo,viewDir:e,roughness:Nm}),l=Gd.r.max(Gd.g).max(Gd.b).mul(a.max(o)).oneMinus();s.mulAssign(l)}if(this.clearcoat===!0){const o=sv.dot(e).clamp().mul(t);this.clearcoatSpecularDirect.addAssign(o.mul(JB({lightDirection:e,f0:i2,f90:s2,roughness:Rb,normalView:sv})))}n.directDiffuse.addAssign(s.mul(ov({diffuseColor:J0}))),n.directSpecular.addAssign(s.mul(_Y({lightDirection:e,f0:tv,f90:1,roughness:fp,f:this.iridescenceFresnel,USE_IRIDESCENCE:this.iridescence,USE_ANISOTROPY:this.anisotropy})))}directRectArea({lightColor:e,lightPosition:t,halfWidth:n,halfHeight:r,reflectedLight:s,ltc_1:a,ltc_2:o}){const l=t.add(n).sub(r),c=t.sub(n).sub(r),u=t.sub(n).add(r),h=t.add(n).add(r),d=Zo,f=Bl,A=Vc.toVar(),y=CY({N:d,V:f,roughness:fp}),b=a.sample(y).toVar(),x=o.sample(y).toVar(),P=rh(Wn(b.x,0,b.y),Wn(0,1,0),Wn(b.z,0,b.w)).toVar(),k=tv.mul(x.x).add(tv.oneMinus().mul(x.y)).toVar();s.directSpecular.addAssign(e.mul(k).mul(lU({N:d,V:f,P:A,mInv:P,p0:l,p1:c,p2:u,p3:h}))),s.directDiffuse.addAssign(e.mul(J0).mul(lU({N:d,V:f,P:A,mInv:rh(1,0,0,0,1,0,0,0,1),p0:l,p1:c,p2:u,p3:h})))}indirect(e){this.indirectDiffuse(e),this.indirectSpecular(e),this.ambientOcclusion(e)}indirectDiffuse(e){const{irradiance:t,reflectedLight:n}=e.context,r=t.mul(ov({diffuseColor:J0})).toVar();if(this.sheen===!0){const s=Qb({normal:Zo,viewDir:Bl,roughness:Nm}),a=Gd.r.max(Gd.g).max(Gd.b).mul(s).oneMinus();r.mulAssign(a)}n.indirectDiffuse.addAssign(r)}indirectSpecular(e){const{radiance:t,iblIrradiance:n,reflectedLight:r}=e.context;if(this.sheen===!0&&this.sheenSpecularIndirect.addAssign(n.mul(Gd,Qb({normal:Zo,viewDir:Bl,roughness:Nm}))),this.clearcoat===!0){const b=sv.dot(Bl).clamp(),x=aU({dotNV:b,specularColor:i2,specularF90:s2,roughness:Rb});this.clearcoatSpecularIndirect.addAssign(this.clearcoatRadiance.mul(x))}const s=Wn().toVar("singleScatteringDielectric"),a=Wn().toVar("multiScatteringDielectric"),o=Wn().toVar("singleScatteringMetallic"),l=Wn().toVar("multiScatteringMetallic");this.computeMultiscattering(s,a,Fy,Fm,this.iridescenceF0Dielectric),this.computeMultiscattering(o,l,Fy,bl.rgb,this.iridescenceF0Metallic);const c=Mo(s,o,bg),u=Mo(a,l,bg),h=s.add(a),d=J0.mul(h.oneMinus()),f=n.mul(1/Math.PI),A=t.mul(c).add(u.mul(f)).toVar(),y=d.mul(f).toVar();if(this.sheen===!0){const b=Qb({normal:Zo,viewDir:Bl,roughness:Nm}),x=Gd.r.max(Gd.g).max(Gd.b).mul(b).oneMinus();A.mulAssign(x),y.mulAssign(x)}r.indirectSpecular.addAssign(A),r.indirectDiffuse.addAssign(y)}ambientOcclusion(e){const{ambientOcclusion:t,reflectedLight:n}=e.context,s=Zo.dot(Bl).clamp().add(t),a=fp.mul(-16).oneMinus().negate().exp2(),o=t.sub(s.pow(a).oneMinus()).clamp();this.clearcoat===!0&&this.clearcoatSpecularIndirect.mulAssign(t),this.sheen===!0&&this.sheenSpecularIndirect.mulAssign(t),n.indirectDiffuse.mulAssign(t),n.indirectSpecular.mulAssign(o)}finish({context:e}){const{outgoingLight:t}=e;if(this.clearcoat===!0){const n=sv.dot(Bl).clamp(),r=$y({dotVH:n,f0:i2,f90:s2}),s=t.mul(lw.mul(r).oneMinus()).add(this.clearcoatSpecularDirect.add(this.clearcoatSpecularIndirect).mul(lw));t.assign(s)}if(this.sheen===!0){const n=t.add(this.sheenSpecularDirect,this.sheenSpecularIndirect.mul(1/Math.PI));t.assign(n)}}}const _U=en(1),a2=en(-2),Gw=en(.8),o2=en(-1),Qw=en(.4),l2=en(2),Ww=en(.305),c2=en(3),wU=en(.21),LY=en(4),EU=en(4),DY=en(16),UY=tr(([i])=>{const e=Wn(Vl(i)).toVar(),t=en(-1).toVar();return Gs(e.x.greaterThan(e.z),()=>{Gs(e.x.greaterThan(e.y),()=>{t.assign(ih(i.x.greaterThan(0),0,3))}).Else(()=>{t.assign(ih(i.y.greaterThan(0),1,4))})}).Else(()=>{Gs(e.z.greaterThan(e.y),()=>{t.assign(ih(i.z.greaterThan(0),2,5))}).Else(()=>{t.assign(ih(i.y.greaterThan(0),1,4))})}),t}).setLayout({name:"getFace",type:"float",inputs:[{name:"direction",type:"vec3"}]}),kY=tr(([i,e])=>{const t=Ni().toVar();return Gs(e.equal(0),()=>{t.assign(Ni(i.z,i.y).div(Vl(i.x)))}).ElseIf(e.equal(1),()=>{t.assign(Ni(i.x.negate(),i.z.negate()).div(Vl(i.y)))}).ElseIf(e.equal(2),()=>{t.assign(Ni(i.x.negate(),i.y).div(Vl(i.z)))}).ElseIf(e.equal(3),()=>{t.assign(Ni(i.z.negate(),i.y).div(Vl(i.x)))}).ElseIf(e.equal(4),()=>{t.assign(Ni(i.x.negate(),i.z).div(Vl(i.y)))}).Else(()=>{t.assign(Ni(i.x,i.y).div(Vl(i.z)))}),Ga(.5,t.add(1))}).setLayout({name:"getUV",type:"vec2",inputs:[{name:"direction",type:"vec3"},{name:"face",type:"float"}]}),zY=tr(([i])=>{const e=en(0).toVar();return Gs(i.greaterThanEqual(Gw),()=>{e.assign(_U.sub(i).mul(o2.sub(a2)).div(_U.sub(Gw)).add(a2))}).ElseIf(i.greaterThanEqual(Qw),()=>{e.assign(Gw.sub(i).mul(l2.sub(o2)).div(Gw.sub(Qw)).add(o2))}).ElseIf(i.greaterThanEqual(Ww),()=>{e.assign(Qw.sub(i).mul(c2.sub(l2)).div(Qw.sub(Ww)).add(l2))}).ElseIf(i.greaterThanEqual(wU),()=>{e.assign(Ww.sub(i).mul(LY.sub(c2)).div(Ww.sub(wU)).add(c2))}).Else(()=>{e.assign(en(-2).mul(Ap(Ga(1.16,i))))}),e}).setLayout({name:"roughnessToMip",type:"float",inputs:[{name:"roughness",type:"float"}]}),SU=tr(([i,e])=>{const t=i.toVar();t.assign(Ga(2,t).sub(1));const n=Wn(t,1).toVar();return Gs(e.equal(0),()=>{n.assign(n.zyx)}).ElseIf(e.equal(1),()=>{n.assign(n.xzy),n.xz.mulAssign(-1)}).ElseIf(e.equal(2),()=>{n.x.mulAssign(-1)}).ElseIf(e.equal(3),()=>{n.assign(n.zyx),n.xz.mulAssign(-1)}).ElseIf(e.equal(4),()=>{n.assign(n.xzy),n.xy.mulAssign(-1)}).ElseIf(e.equal(5),()=>{n.z.mulAssign(-1)}),n}).setLayout({name:"getDirection",type:"vec3",inputs:[{name:"uv",type:"vec2"},{name:"face",type:"float"}]}),CU=tr(([i,e,t,n,r,s])=>{const a=en(t),o=Wn(e),l=dA(zY(a),a2,s),c=uA(l),u=pp(l),h=Wn(Wb(i,o,u,n,r,s)).toVar();return Gs(c.notEqual(0),()=>{const d=Wn(Wb(i,o,u.add(1),n,r,s)).toVar();h.assign(Mo(h,d,c))}),h}),Wb=tr(([i,e,t,n,r,s])=>{const a=en(t).toVar(),o=Wn(e),l=en(UY(o)).toVar(),c=en(wc(EU.sub(a),0)).toVar();a.assign(wc(a,EU));const u=en(Ly(a)).toVar(),h=Ni(kY(o,l).mul(u.sub(2)).add(1)).toVar();return Gs(l.greaterThan(2),()=>{h.y.addAssign(u),l.subAssign(3)}),h.x.addAssign(l.mul(u)),h.x.addAssign(c.mul(Ga(3,DY))),h.y.addAssign(Ga(4,Ly(s).sub(u))),h.x.mulAssign(n),h.y.mulAssign(r),i.sample(h).grad(Ni(),Ni())}),u2=tr(({envMap:i,mipInt:e,outputDirection:t,theta:n,axis:r,CUBEUV_TEXEL_WIDTH:s,CUBEUV_TEXEL_HEIGHT:a,CUBEUV_MAX_MIP:o})=>{const l=hA(n),c=t.mul(l).add(r.cross(t).mul(jh(n))).add(r.mul(r.dot(t).mul(l.oneMinus())));return Wb(i,c,e,s,a,o)}),MU=tr(({n:i,latitudinal:e,poleAxis:t,outputDirection:n,weights:r,samples:s,dTheta:a,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:c,CUBEUV_TEXEL_HEIGHT:u,CUBEUV_MAX_MIP:h})=>{const d=Wn(ih(e,t,_g(t,n))).toVar();Gs(d.equal(Wn(0)),()=>{d.assign(Wn(n.z,0,n.x.negate()))}),d.assign($h(d));const f=Wn().toVar();return f.addAssign(r.element(0).mul(u2({theta:0,axis:d,outputDirection:n,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:c,CUBEUV_TEXEL_HEIGHT:u,CUBEUV_MAX_MIP:h}))),fl({start:zn(1),end:i},({i:A})=>{Gs(A.greaterThanEqual(s),()=>{DD()});const y=en(a.mul(en(A))).toVar();f.addAssign(r.element(A).mul(u2({theta:y.mul(-1),axis:d,outputDirection:n,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:c,CUBEUV_TEXEL_HEIGHT:u,CUBEUV_MAX_MIP:h}))),f.addAssign(r.element(A).mul(u2({theta:y,axis:d,outputDirection:n,mipInt:o,envMap:l,CUBEUV_TEXEL_WIDTH:c,CUBEUV_TEXEL_HEIGHT:u,CUBEUV_MAX_MIP:h})))}),Rs(f,1)}),VY=tr(([i])=>{const e=Ti(i).toVar();return e.assign(e.shiftLeft(Ti(16)).bitOr(e.shiftRight(Ti(16)))),e.assign(e.bitAnd(Ti(1431655765)).shiftLeft(Ti(1)).bitOr(e.bitAnd(Ti(2863311530)).shiftRight(Ti(1)))),e.assign(e.bitAnd(Ti(858993459)).shiftLeft(Ti(2)).bitOr(e.bitAnd(Ti(3435973836)).shiftRight(Ti(2)))),e.assign(e.bitAnd(Ti(252645135)).shiftLeft(Ti(4)).bitOr(e.bitAnd(Ti(4042322160)).shiftRight(Ti(4)))),e.assign(e.bitAnd(Ti(16711935)).shiftLeft(Ti(8)).bitOr(e.bitAnd(Ti(4278255360)).shiftRight(Ti(8)))),en(e).mul(23283064365386963e-26)}),HY=tr(([i,e])=>Ni(en(i).div(en(e)),VY(i))),GY=tr(([i,e,t])=>{const n=Wn(e).toVar(),r=en(t),s=r.mul(r).toVar(),a=$h(Wn(s.mul(n.x),s.mul(n.y),n.z)).toVar(),o=a.x.mul(a.x).add(a.y.mul(a.y)),l=ih(o.greaterThan(0),Wn(a.y.negate(),a.x,0).div(Rh(o)),Wn(1,0,0)).toVar(),c=_g(a,l).toVar(),u=Rh(i.x),h=Ga(2,3.14159265359).mul(i.y),d=u.mul(hA(h)).toVar(),f=u.mul(jh(h)).toVar(),A=Ga(.5,a.z.add(1));f.assign(A.oneMinus().mul(Rh(d.mul(d).oneMinus())).add(A.mul(f)));const y=l.mul(d).add(c.mul(f)).add(a.mul(Rh(wc(0,d.mul(d).add(f.mul(f)).oneMinus()))));return $h(Wn(s.mul(y.x),s.mul(y.y),wc(0,y.z)))}),TU=tr(({roughness:i,mipInt:e,envMap:t,N_immutable:n,GGX_SAMPLES:r,CUBEUV_TEXEL_WIDTH:s,CUBEUV_TEXEL_HEIGHT:a,CUBEUV_MAX_MIP:o})=>{const l=Wn(n).toVar(),c=Wn(0).toVar(),u=en(0).toVar();return Gs(i.lessThan(.001),()=>{c.assign(Wb(t,l,e,s,a,o))}).Else(()=>{const h=ih(Vl(l.z).lessThan(.999),Wn(0,0,1),Wn(1,0,0)),d=$h(_g(h,l)).toVar(),f=_g(l,d).toVar();fl({start:Ti(0),end:r},({i:A})=>{const y=HY(A,r),b=GY(y,Wn(0,0,1),i),x=$h(d.mul(b.x).add(f.mul(b.y)).add(l.mul(b.z))),P=$h(x.mul(Sf(l,x).mul(2)).sub(l)),k=wc(Sf(l,P),0);Gs(k.greaterThan(0),()=>{const $=Wb(t,P,e,s,a,o);c.addAssign($.mul(k)),u.addAssign(k)})}),Gs(u.greaterThan(0),()=>{c.assign(c.div(u))})}),Rs(c,1)}),km=4,BU=[.125,.215,.35,.446,.526,.582],lv=20,QY=512,Zb=new U0(-1,1,1,-1,0,1),WY=new dc(90,1),RU=new hs;let h2=null,d2=0,f2=0;const ZY=new ye,Zw=new WeakMap,$Y=[3,1,5,0,4,2],A2=SU(_l(),Kh("faceIndex")).normalize(),$w=Wn(A2.x,A2.y,A2.z);class jY{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._sizeLods=[],this._sigmas=[],this._lodMeshes=[],this._blurMaterial=null,this._ggxMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._backgroundBox=null}get _hasInitialized(){return this._renderer.hasInitialized()}fromScene(e,t=0,n=.1,r=100,s={}){const{size:a=256,position:o=ZY,renderTarget:l=null}=s;if(this._setSize(a),this._hasInitialized===!1){sr('PMREMGenerator: ".fromScene()" called before the backend is initialized. Try using "await renderer.init()" instead.');const u=l||this._allocateTarget();return s.renderTarget=u,this.fromSceneAsync(e,t,n,r,s),u}h2=this._renderer.getRenderTarget(),d2=this._renderer.getActiveCubeFace(),f2=this._renderer.getActiveMipmapLevel();const c=l||this._allocateTarget();return c.depthBuffer=!0,this._init(c),this._sceneToCubeUV(e,n,r,c,o),t>0&&this._blur(c,0,0,t),this._applyPMREM(c),this._cleanup(c),c}fromSceneAsync(a){return va(this,arguments,function*(e,t=0,n=.1,r=100,s={}){return $s('PMREMGenerator: ".fromSceneAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this.fromScene(e,t,n,r,s)})}fromEquirectangular(e,t=null){if(this._hasInitialized===!1){sr('PMREMGenerator: .fromEquirectangular() called before the backend is initialized. Try using "await renderer.init()" instead.'),this._setSizeFromTexture(e);const n=t||this._allocateTarget();return this.fromEquirectangularAsync(e,n),n}return this._fromTexture(e,t)}fromEquirectangularAsync(e,t=null){return va(this,null,function*(){return $s('PMREMGenerator: ".fromEquirectangularAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this._fromTexture(e,t)})}fromCubemap(e,t=null){if(this._hasInitialized===!1){sr("PMREMGenerator: .fromCubemap() called before the backend is initialized. Try using .fromCubemapAsync() instead."),this._setSizeFromTexture(e);const n=t||this._allocateTarget();return this.fromCubemapAsync(e,t),n}return this._fromTexture(e,t)}fromCubemapAsync(e,t=null){return va(this,null,function*(){return $s('PMREMGenerator: ".fromCubemapAsync()" is deprecated. Use "await renderer.init()" instead.'),yield this._renderer.init(),this._fromTexture(e,t)})}compileCubemapShader(){return va(this,null,function*(){this._cubemapMaterial===null&&(this._cubemapMaterial=NU(),yield this._compileMaterial(this._cubemapMaterial))})}compileEquirectangularShader(){return va(this,null,function*(){this._equirectMaterial===null&&(this._equirectMaterial=PU(),yield this._compileMaterial(this._equirectMaterial))})}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose(),this._backgroundBox!==null&&(this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose())}_setSizeFromTexture(e){e.mapping===je||e.mapping===Xe?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4)}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._ggxMaterial!==null&&this._ggxMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?x:0,x,x),c.render(e,a)}c.autoClear=u,e.background=A}_textureToCubeUV(e,t){const n=this._renderer,r=e.mapping===je||e.mapping===Xe;r?this._cubemapMaterial===null&&(this._cubemapMaterial=NU(e)):this._equirectMaterial===null&&(this._equirectMaterial=PU(e));const s=r?this._cubemapMaterial:this._equirectMaterial;s.fragmentNode.value=e;const a=this._lodMeshes[0];a.material=s;const o=this._cubeSize;jy(t,0,0,3*o,2*o),n.setRenderTarget(t),n.render(a,Zb)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const r=this._lodMeshes.length;for(let s=1;sA-km?n-A+km:0),x=4*(this._cubeSize-y);e.texture.frame=(e.texture.frame||0)+1,l.envMap.value=e.texture,l.roughness.value=f,l.mipInt.value=A-t,jy(s,b,x,3*y,2*y),r.setRenderTarget(s),r.render(o,Zb),s.texture.frame=(s.texture.frame||0)+1,l.envMap.value=s.texture,l.roughness.value=0,l.mipInt.value=A-n,jy(e,b,x,3*y,2*y),r.setRenderTarget(e),r.render(o,Zb)}_blur(e,t,n,r,s){const a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,"latitudinal",s),this._halfBlur(a,e,n,n,r,"longitudinal",s)}_halfBlur(e,t,n,r,s,a,o){const l=this._renderer,c=this._blurMaterial;a!=="latitudinal"&&a!=="longitudinal"&&Nr("blur direction must be either latitudinal or longitudinal!");const u=3,h=this._lodMeshes[r];h.material=c;const d=Zw.get(c),f=this._sizeLods[n]-1,A=isFinite(s)?Math.PI/(2*f):2*Math.PI/(2*lv-1),y=s/A,b=isFinite(s)?1+Math.floor(u*y):lv;b>lv&&sr(`sigmaRadians, ${s}, is too large and will clip, as it requested ${b} samples when the maximum is set to ${lv}`);const x=[];let P=0;for(let ce=0;cek-km?r-k+km:0),ie=4*(this._cubeSize-$);jy(t,se,ie,3*$,2*$),l.setRenderTarget(t),l.render(h,Zb)}}function KY(i){const e=[],t=[],n=[];let r=i;const s=i-km+1+BU.length;for(let a=0;ai-km?l=BU[a-i+km-1]:a===0&&(l=0),t.push(l);const c=1/(o-2),u=-c,h=1+c,d=[u,u,h,u,h,h,u,u,h,h,u,h],f=6,A=6,y=3,b=2,x=1,P=new Float32Array(y*A*f),k=new Float32Array(b*A*f),$=new Float32Array(x*A*f);for(let ie=0;ie2?0:-1,ve=[ce,ue,0,ce+2/3,ue,0,ce+2/3,ue+1,0,ce,ue,0,ce+2/3,ue+1,0,ce,ue+1,0],Fe=$Y[ie];P.set(ve,y*A*Fe),k.set(d,b*A*Fe);const nt=[Fe,Fe,Fe,Fe,Fe,Fe];$.set(nt,x*A*Fe)}const se=new js;se.setAttribute("position",new ul(P,y)),se.setAttribute("uv",new ul(k,b)),se.setAttribute("faceIndex",new ul($,x)),n.push(new vl(se,null)),r>km&&r--}return{lodMeshes:n,sizeLods:e,sigmas:t}}function IU(i,e){const t={magFilter:br,minFilter:br,generateMipmaps:!1,type:Dt,format:S,colorSpace:zo},n=new ha(i,e,t);return n.texture.mapping=Mt,n.texture.name="PMREM.cubeUv",n.texture.isPMREMTexture=!0,n.scissorTest=!0,n}function jy(i,e,t,n,r){i.viewport.set(e,t,n,r),i.scissor.set(e,t,n,r)}function jw(i){const e=new Sc;return e.depthTest=!1,e.depthWrite=!1,e.blending=fe,e.name=`PMREM_${i}`,e}function XY(i,e,t){const n=Ih(new Array(lv).fill(0)),r=na(new ye(0,1,0)),s=na(0),a=en(lv),o=na(0),l=na(1),c=Yo(),u=na(0),h=en(1/e),d=en(1/t),f=en(i),A={n:a,latitudinal:o,weights:n,poleAxis:r,outputDirection:$w,dTheta:s,samples:l,envMap:c,mipInt:u,CUBEUV_TEXEL_WIDTH:h,CUBEUV_TEXEL_HEIGHT:d,CUBEUV_MAX_MIP:f},y=jw("blur");return y.fragmentNode=MU(dh(ko({},A),{latitudinal:o.equal(1)})),Zw.set(y,A),y}function YY(i,e,t){const n=Yo(),r=na(0),s=na(0),a=en(1/e),o=en(1/t),l=en(i),c={envMap:n,roughness:r,mipInt:s,CUBEUV_TEXEL_WIDTH:a,CUBEUV_TEXEL_HEIGHT:o,CUBEUV_MAX_MIP:l},u=jw("ggx");return u.fragmentNode=TU(dh(ko({},c),{N_immutable:$w,GGX_SAMPLES:Ti(QY)})),Zw.set(u,c),u}function NU(i){const e=jw("cubemap");return e.fragmentNode=Yh(i,$w),e}function PU(i){const e=jw("equirect");return e.fragmentNode=Yo(i,XB($w),0),e}const FU=new WeakMap;function qY(i){const e=Math.log2(i)-2,t=1/i;return{texelWidth:1/(3*Math.max(Math.pow(2,e),7*16)),texelHeight:t,maxMip:e}}function JY(i,e,t){const n=eq(e);let r=n.get(i);if((r!==void 0?r.pmremVersion:-1)!==i.pmremVersion){const a=i.image;if(i.isCubeTexture)if(nq(a))r=t.fromCubemap(i,r);else return null;else if(rq(a))r=t.fromEquirectangular(i,r);else return null;r.pmremVersion=i.pmremVersion,n.set(i,r)}return r.texture}function eq(i){let e=FU.get(i);return e===void 0&&(e=new WeakMap,FU.set(i,e)),e}class tq extends bc{static get type(){return"PMREMNode"}constructor(e,t=null,n=null){super("vec3"),this._value=e,this._pmrem=null,this.uvNode=t,this.levelNode=n,this._generator=null;const r=new ms;r.isRenderTargetTexture=!0,this._texture=Yo(r),this._width=na(0),this._height=na(0),this._maxMip=na(0),this.updateBeforeType=Xa.RENDER}set value(e){this._value=e,this._pmrem=null}get value(){return this._value}updateFromTexture(e){const t=qY(e.image.height);this._texture.value=e,this._width.value=t.texelWidth,this._height.value=t.texelHeight,this._maxMip.value=t.maxMip}updateBefore(e){let t=this._pmrem;const n=t?t.pmremVersion:-1,r=this._value;n!==r.pmremVersion&&(r.isPMREMTexture===!0?t=r:t=JY(r,e.renderer,this._generator),t!==null&&(this._pmrem=t,this.updateFromTexture(t)))}setup(e){this._generator===null&&(this._generator=new jY(e.renderer)),this.updateBefore(e);let t=this.uvNode;t===null&&e.context.getUV&&(t=e.context.getUV(this,e)),t=BB.mul(Wn(t.x,t.y.negate(),t.z));let n=this.levelNode;return n===null&&e.context.getTextureLevel&&(n=e.context.getTextureLevel(this)),CU(this._texture,t,n,this._width,this._height,this._maxMip)}dispose(){super.dispose(),this._generator!==null&&this._generator.dispose()}}function nq(i){if(i==null)return!1;let e=0;const t=6;for(let n=0;n0}const p2=Ha(tq).setParameterLength(1,3),OU=new WeakMap;class iq extends Gy{static get type(){return"EnvironmentNode"}constructor(e=null){super(),this.envNode=e}setup(e){const{material:t}=e;let n=this.envNode;if(n.isTextureNode||n.isMaterialReferenceNode){const h=n.isTextureNode?n.value:t[n.property];let d=OU.get(h);d===void 0&&(d=p2(h),OU.set(h,d)),n=d}const s=t.useAnisotropy===!0||t.anisotropy>0?JL:Zo,a=n.context(LU(fp,s)).mul(Bw),o=n.context(sq(Dm)).mul(Math.PI).mul(Bw),l=Uy(a),c=Uy(o);e.context.radiance.addAssign(l),e.context.iblIrradiance.addAssign(c);const u=e.context.lightingModel.clearcoatRadiance;if(u){const h=n.context(LU(Rb,sv)).mul(Bw),d=Uy(h);u.addAssign(d)}}}const LU=(i,e)=>{let t=null;return{getUV:()=>(t===null&&(t=Bl.negate().reflect(e),t=aB(i).mix(t,e).normalize(),t=t.transformDirection(Zd)),t),getTextureLevel:()=>i}},sq=i=>({getUV:()=>i,getTextureLevel:()=>en(1)}),aq=new EM;class DU extends Sc{static get type(){return"MeshStandardNodeMaterial"}constructor(e){super(),this.isMeshStandardNodeMaterial=!0,this.lights=!0,this.emissiveNode=null,this.metalnessNode=null,this.roughnessNode=null,this.setDefaultValues(aq),this.setValues(e)}setupEnvironment(e){let t=super.setupEnvironment(e);return t===null&&e.environmentNode&&(t=e.environmentNode),t?new iq(t):null}setupLightingModel(){return new bU}setupSpecular(){const e=Mo(Wn(.04),bl.rgb,bg);Fm.assign(Wn(.04)),tv.assign(e),Fy.assign(1)}setupVariants(){const e=this.metalnessNode?en(this.metalnessNode):lD;bg.assign(e);let t=this.roughnessNode?en(this.roughnessNode):oD;t=qB({roughness:t}),fp.assign(t),this.setupSpecular(),J0.assign(bl.rgb.mul(e.oneMinus()))}copy(e){return this.emissiveNode=e.emissiveNode,this.metalnessNode=e.metalnessNode,this.roughnessNode=e.roughnessNode,super.copy(e)}}const oq=new NP;class lq extends DU{static get type(){return"MeshPhysicalNodeMaterial"}constructor(e){super(),this.isMeshPhysicalNodeMaterial=!0,this.clearcoatNode=null,this.clearcoatRoughnessNode=null,this.clearcoatNormalNode=null,this.sheenNode=null,this.sheenRoughnessNode=null,this.iridescenceNode=null,this.iridescenceIORNode=null,this.iridescenceThicknessNode=null,this.specularIntensityNode=null,this.specularColorNode=null,this.iorNode=null,this.transmissionNode=null,this.thicknessNode=null,this.attenuationDistanceNode=null,this.attenuationColorNode=null,this.dispersionNode=null,this.anisotropyNode=null,this.setDefaultValues(oq),this.setValues(e)}get useClearcoat(){return this.clearcoat>0||this.clearcoatNode!==null}get useIridescence(){return this.iridescence>0||this.iridescenceNode!==null}get useSheen(){return this.sheen>0||this.sheenNode!==null}get useAnisotropy(){return this.anisotropy>0||this.anisotropyNode!==null}get useTransmission(){return this.transmission>0||this.transmissionNode!==null}get useDispersion(){return this.dispersion>0||this.dispersionNode!==null}setupSpecular(){const e=this.iorNode?en(this.iorNode):_D;Pb.assign(e),Fm.assign(md(sB(Pb.sub(1).div(Pb.add(1))).mul(aD),Wn(1)).mul(DB)),tv.assign(Mo(Fm,bl.rgb,bg)),Fy.assign(Mo(DB,1,bg))}setupLightingModel(){return new bU(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion)}setupVariants(e){if(super.setupVariants(e),this.useClearcoat){const t=this.clearcoatNode?en(this.clearcoatNode):uD,n=this.clearcoatRoughnessNode?en(this.clearcoatRoughnessNode):hD;lw.assign(t),Rb.assign(qB({roughness:n}))}if(this.useSheen){const t=this.sheenNode?Wn(this.sheenNode):AD,n=this.sheenRoughnessNode?en(this.sheenRoughnessNode):pD;Gd.assign(t),Nm.assign(n)}if(this.useIridescence){const t=this.iridescenceNode?en(this.iridescenceNode):mD,n=this.iridescenceIORNode?en(this.iridescenceIORNode):vD,r=this.iridescenceThicknessNode?en(this.iridescenceThicknessNode):yD;cw.assign(t),uw.assign(n),hw.assign(r)}if(this.useAnisotropy){const t=(this.anisotropyNode?Ni(this.anisotropyNode):gD).toVar();Pm.assign(t.length()),Gs(Pm.equal(0),()=>{t.assign(Ni(1,0))}).Else(()=>{t.divAssign(Ni(Pm)),Pm.assign(Pm.saturate())}),dw.assign(Pm.pow2().mix(fp.pow2(),1)),Ib.assign(av[0].mul(t.x).add(av[1].mul(t.y))),ev.assign(av[1].mul(t.x).sub(av[0].mul(t.y)))}if(this.useTransmission){const t=this.transmissionNode?en(this.transmissionNode):xD,n=this.thicknessNode?en(this.thicknessNode):bD,r=this.attenuationDistanceNode?en(this.attenuationDistanceNode):wD,s=this.attenuationColorNode?Wn(this.attenuationColorNode):ED;if(Aw.assign(t),HT.assign(n),GT.assign(r),QT.assign(s),this.useDispersion){const a=this.dispersionNode?en(this.dispersionNode):CD;WT.assign(a)}}}setupClearcoatNormal(){return this.clearcoatNormalNode?Wn(this.clearcoatNormalNode):dD}setup(e){e.context.setupClearcoatNormal=()=>Dy(this.setupClearcoatNormal(e),"NORMAL","vec3"),super.setup(e)}copy(e){return this.clearcoatNode=e.clearcoatNode,this.clearcoatRoughnessNode=e.clearcoatRoughnessNode,this.clearcoatNormalNode=e.clearcoatNormalNode,this.sheenNode=e.sheenNode,this.sheenRoughnessNode=e.sheenRoughnessNode,this.iridescenceNode=e.iridescenceNode,this.iridescenceIORNode=e.iridescenceIORNode,this.iridescenceThicknessNode=e.iridescenceThicknessNode,this.specularIntensityNode=e.specularIntensityNode,this.specularColorNode=e.specularColorNode,this.transmissionNode=e.transmissionNode,this.thicknessNode=e.thicknessNode,this.attenuationDistanceNode=e.attenuationDistanceNode,this.attenuationColorNode=e.attenuationColorNode,this.dispersionNode=e.dispersionNode,this.anisotropyNode=e.anisotropyNode,super.copy(e)}}class cq extends null{constructor(e=!1,t=!1,n=!1,r=!1,s=!1,a=!1,o=!1){super(e,t,n,r,s,a),this.useSSS=o}direct({lightDirection:e,lightColor:t,reflectedLight:n},r){if(this.useSSS===!0){const s=r.material,{thicknessColorNode:a,thicknessDistortionNode:o,thicknessAmbientNode:l,thicknessAttenuationNode:c,thicknessPowerNode:u,thicknessScaleNode:h}=s,d=e.add(Zo.mul(o)).normalize(),f=en(Bl.dot(d.negate()).saturate().pow(u).mul(h)),A=Wn(f.add(l).mul(a));n.directDiffuse.addAssign(A.mul(c.mul(t)))}super.direct({lightDirection:e,lightColor:t,reflectedLight:n},r)}}class b_e extends null{static get type(){return"MeshSSSNodeMaterial"}constructor(e){super(e),this.thicknessColorNode=null,this.thicknessDistortionNode=en(.1),this.thicknessAmbientNode=en(0),this.thicknessAttenuationNode=en(.1),this.thicknessPowerNode=en(2),this.thicknessScaleNode=en(10)}get useSSS(){return this.thicknessColorNode!==null}setupLightingModel(){return new cq(this.useClearcoat,this.useSheen,this.useIridescence,this.useAnisotropy,this.useTransmission,this.useDispersion,this.useSSS)}copy(e){return this.thicknessColorNode=e.thicknessColorNode,this.thicknessDistortionNode=e.thicknessDistortionNode,this.thicknessAmbientNode=e.thicknessAmbientNode,this.thicknessAttenuationNode=e.thicknessAttenuationNode,this.thicknessPowerNode=e.thicknessPowerNode,this.thicknessScaleNode=e.thicknessScaleNode,super.copy(e)}}const uq=tr(({normal:i,lightDirection:e,builder:t})=>{const n=i.dot(e),r=Ni(n.mul(.5).add(.5),0);if(t.material.gradientMap){const s=Rg("gradientMap","texture").context({getUV:()=>r});return Wn(s.r)}else{const s=r.fwidth().mul(.5);return Mo(Wn(.7),Wn(1),Wd(en(.7).sub(s.x),en(.7).add(s.x),r.x))}});class hq extends Vw{direct({lightDirection:e,lightColor:t,reflectedLight:n},r){const s=uq({normal:Tw,lightDirection:e,builder:r}).mul(t);n.directDiffuse.addAssign(s.mul(ov({diffuseColor:bl.rgb})))}indirect(e){const{ambientOcclusion:t,irradiance:n,reflectedLight:r}=e.context;r.indirectDiffuse.addAssign(n.mul(ov({diffuseColor:bl}))),r.indirectDiffuse.mulAssign(t)}}const dq=new FP;class fq extends Sc{static get type(){return"MeshToonNodeMaterial"}constructor(e){super(),this.isMeshToonNodeMaterial=!0,this.lights=!0,this.setDefaultValues(dq),this.setValues(e)}setupLightingModel(){return new hq}}const UU=tr(()=>{const i=Wn(Bl.z,0,Bl.x.negate()).normalize(),e=Bl.cross(i);return Ni(i.dot(Zo),e.dot(Zo)).mul(.495).add(.5)}).once(["NORMAL","VERTEX"])().toVar("matcapUV"),Aq=new UP;class pq extends Sc{static get type(){return"MeshMatcapNodeMaterial"}constructor(e){super(),this.isMeshMatcapNodeMaterial=!0,this.setDefaultValues(Aq),this.setValues(e)}setupVariants(e){const t=UU;let n;e.material.matcap?n=Rg("matcap","texture").context({getUV:()=>t}):n=Wn(Mo(.2,.8,t.y)),bl.rgb.mulAssign(n.rgb)}}class gq extends bc{static get type(){return"RotateNode"}constructor(e,t){super(),this.positionNode=e,this.rotationNode=t}getNodeType(e){return this.positionNode.getNodeType(e)}setup(e){const{rotationNode:t,positionNode:n}=this;if(this.getNodeType(e)==="vec2"){const s=t.cos(),a=t.sin();return ow(s,a,a.negate(),s).mul(n)}else{const s=t,a=Im(Rs(1,0,0,0),Rs(0,hA(s.x),jh(s.x).negate(),0),Rs(0,jh(s.x),hA(s.x),0),Rs(0,0,0,1)),o=Im(Rs(hA(s.y),0,jh(s.y),0),Rs(0,1,0,0),Rs(jh(s.y).negate(),0,hA(s.y),0),Rs(0,0,0,1)),l=Im(Rs(hA(s.z),jh(s.z).negate(),0,0),Rs(jh(s.z),hA(s.z),0,0),Rs(0,0,1,0),Rs(0,0,0,1));return a.mul(o).mul(l).mul(Rs(n,1)).xyz}}}const $b=Ha(gq).setParameterLength(2),mq=new S0;class kU extends Sc{static get type(){return"SpriteNodeMaterial"}constructor(e){super(),this.isSpriteNodeMaterial=!0,this._useSizeAttenuation=!0,this.positionNode=null,this.rotationNode=null,this.scaleNode=null,this.transparent=!0,this.setDefaultValues(mq),this.setValues(e)}setupPositionView(e){const{object:t,camera:n}=e,{positionNode:r,rotationNode:s,scaleNode:a,sizeAttenuation:o}=this,l=yp.mul(Wn(r||0));let c=Ni(Tf[0].xyz.length(),Tf[1].xyz.length());a!==null&&(c=c.mul(Ni(a))),n.isPerspectiveCamera&&o===!1&&(c=c.mul(l.z.negate()));let u=sh.xy;if(t.center&&t.center.isVector2===!0){const f=dK("center","vec2",t);u=u.sub(f.sub(.5))}u=u.mul(c);const h=en(s||fD),d=$b(u,h);return Rs(l.xy.add(d),l.zw)}copy(e){return this.positionNode=e.positionNode,this.rotationNode=e.rotationNode,this.scaleNode=e.scaleNode,super.copy(e)}get sizeAttenuation(){return this._useSizeAttenuation}set sizeAttenuation(e){this._useSizeAttenuation!==e&&(this._useSizeAttenuation=e,this.needsUpdate=!0)}}const vq=new Qh,yq=new Qe;class xq extends kU{static get type(){return"PointsNodeMaterial"}constructor(e){super(),this.sizeNode=null,this.isPointsNodeMaterial=!0,this.setDefaultValues(vq),this.setValues(e)}setupPositionView(){const{positionNode:e}=this;return yp.mul(Wn(e||Ec)).xyz}setupVertexSprite(e){const{material:t,camera:n}=e,{rotationNode:r,scaleNode:s,sizeNode:a,sizeAttenuation:o}=this;let l=super.setupVertex(e);if(t.isNodeMaterial!==!0)return l;let c=a!==null?Ni(a):SD;c=c.mul(bB),n.isPerspectiveCamera&&o===!0&&(c=c.mul(bq.div(Vc.z.negate()))),s&&s.isNode&&(c=c.mul(Ni(s)));let u=sh.xy;if(r&&r.isNode){const h=en(r);u=$b(u,h)}return u=u.mul(c),u=u.div(_B.div(2)),u=u.mul(l.w),l=l.add(Rs(u,0,0)),l}setupVertex(e){return e.object.isPoints?super.setupVertex(e):this.setupVertexSprite(e)}get alphaToCoverage(){return this._useAlphaToCoverage}set alphaToCoverage(e){this._useAlphaToCoverage!==e&&(this._useAlphaToCoverage=e,this.needsUpdate=!0)}}const bq=na(1).onFrameUpdate(function({renderer:i}){const e=i.getSize(yq);this.value=.5*e.y});class _q extends Vw{constructor(){super(),this.shadowNode=en(1).toVar("shadowMask")}direct({lightNode:e}){e.shadowNode!==null&&this.shadowNode.mulAssign(e.shadowNode)}finish({context:e}){bl.a.mulAssign(this.shadowNode.oneMinus()),e.outgoingLight.rgb.assign(bl.rgb)}}const wq=new RP;class Eq extends Sc{static get type(){return"ShadowNodeMaterial"}constructor(e){super(),this.isShadowNodeMaterial=!0,this.lights=!0,this.transparent=!0,this.setDefaultValues(wq),this.setValues(e)}setupLightingModel(){return new _q}}const jb=cA("vec3"),zU=cA("vec3"),VU=cA("vec3");class Sq extends null{constructor(){super()}start(e){const{material:t}=e,n=cA("vec3"),r=cA("vec3");Gs(kb.sub($d).length().greaterThan(TL.mul(2)),()=>{n.assign(kb),r.assign($d)}).Else(()=>{n.assign($d),r.assign(kb)});const s=r.sub(n),a=na("int").onRenderUpdate(({material:h})=>h.steps),o=s.length().div(a).toVar(),l=s.normalize().toVar(),c=en(0).toVar(),u=Wn(1).toVar();t.offsetNode&&c.addAssign(t.offsetNode.mul(o)),fl(a,()=>{const h=n.add(l.mul(c)),d=Zd.mul(Rs(h,1)).xyz;t.depthNode!==null&&(zU.assign(Zy(ZB(d.z,Tg,Bg))),e.context.sceneDepthNode=Zy(t.depthNode).toVar()),e.context.positionWorld=h,e.context.shadowPositionWorld=h,e.context.positionView=d,jb.assign(0);let f;t.scatteringNode&&(f=t.scatteringNode({positionRay:h})),super.start(e),f&&jb.mulAssign(f);const A=jb.mul(.01).negate().mul(o).exp();u.mulAssign(A),c.addAssign(o)}),VU.addAssign(u.saturate().oneMinus())}scatteringLight(e,t){const n=t.context.sceneDepthNode;n?Gs(n.greaterThanEqual(zU),()=>{jb.addAssign(e)}):jb.addAssign(e)}direct({lightNode:e,lightColor:t},n){if(e.light.distance===void 0)return;const r=t.xyz.toVar();r.mulAssign(e.shadowNode),this.scatteringLight(r,n)}directRectArea({lightColor:e,lightPosition:t,halfWidth:n,halfHeight:r},s){const a=t.add(n).sub(r),o=t.sub(n).sub(r),l=t.sub(n).add(r),c=t.add(n).add(r),u=s.context.positionView,h=e.xyz.mul(MY({P:u,p0:a,p1:o,p2:l,p3:c})).pow(1.5);this.scatteringLight(h,s)}finish(e){e.context.outgoingLight.assign(VU)}}class __e extends null{static get type(){return"VolumeNodeMaterial"}constructor(e){super(),this.isVolumeNodeMaterial=!0,this.steps=25,this.offsetNode=null,this.scatteringNode=null,this.lights=!0,this.transparent=!0,this.side=BackSide,this.depthTest=!1,this.depthWrite=!1,this.setValues(e)}setupLightingModel(){return new Sq}}class Cq{constructor(e,t,n){this.renderer=e,this.nodes=t,this.info=n,this._context=typeof self!="undefined"?self:null,this._animationLoop=null,this._requestId=null}start(){const e=(t,n)=>{this._requestId=this._context.requestAnimationFrame(e),this.info.autoReset===!0&&this.info.reset(),this.nodes.nodeFrame.update(),this.info.frame=this.nodes.nodeFrame.frameId,this.renderer._inspector.begin(),this._animationLoop!==null&&this._animationLoop(t,n),this.renderer._inspector.finish()};e()}stop(){this._context.cancelAnimationFrame(this._requestId),this._requestId=null}getAnimationLoop(){return this._animationLoop}setAnimationLoop(e){this._animationLoop=e}getContext(){return this._context}setContext(e){this._context=e}dispose(){this.stop()}}class fA{constructor(){this.weakMaps={}}_getWeakMap(e){const t=e.length;let n=this.weakMaps[t];return n===void 0&&(n=new WeakMap,this.weakMaps[t]=n),n}get(e){let t=this._getWeakMap(e);for(let n=0;n{this.dispose()},this.onGeometryDispose=()=>{this.attributes=null,this.attributesId=null},this.material.addEventListener("dispose",this.onMaterialDispose),this.geometry.addEventListener("dispose",this.onGeometryDispose)}updateClipping(e){this.clippingContext=e}get clippingNeedsUpdate(){return this.clippingContext===null||this.clippingContext.cacheKey===this.clippingContextCacheKey?!1:(this.clippingContextCacheKey=this.clippingContext.cacheKey,!0)}get hardwareClippingPlanes(){return this.material.hardwareClipping===!0?this.clippingContext.unionClippingCount:0}getNodeBuilderState(){return this._nodeBuilderState||(this._nodeBuilderState=this._nodes.getForRender(this))}getMonitor(){return this._monitor||(this._monitor=this.getNodeBuilderState().observer)}getBindings(){return this._bindings||(this._bindings=this.getNodeBuilderState().createBindings())}getBindingGroup(e){for(const t of this.getBindings())if(t.name===e)return t}getIndex(){return this._geometries.getIndex(this)}getIndirect(){return this._geometries.getIndirect(this)}getIndirectOffset(){return this._geometries.getIndirectOffset(this)}getChainArray(){return[this.object,this.material,this.context,this.lightsNode]}setGeometry(e){this.geometry=e,this.attributes=null,this.attributesId=null}getAttributes(){if(this.attributes!==null)return this.attributes;const e=this.getNodeBuilderState().nodeAttributes,t=this.geometry,n=[],r=new Set,s={};for(const a of e){let o;if(a.node&&a.node.attribute?o=a.node.attribute:(o=t.getAttribute(a.name),s[a.name]=o.version),o===void 0)continue;n.push(o);const l=o.isInterleavedBufferAttribute?o.data:o;r.add(l)}return this.attributes=n,this.attributesId=s,this.vertexBuffers=Array.from(r.values()),n}getVertexBuffers(){return this.vertexBuffers===null&&this.getAttributes(),this.vertexBuffers}getDrawParameters(){const{object:e,material:t,geometry:n,group:r,drawRange:s}=this,a=this.drawParams||(this.drawParams={vertexCount:0,firstVertex:0,instanceCount:0,firstInstance:0}),o=this.getIndex(),l=o!==null;let c=1;if(n.isInstancedBufferGeometry===!0?c=n.instanceCount:e.count!==void 0&&(c=Math.max(0,e.count)),c===0)return null;if(a.instanceCount=c,e.isBatchedMesh===!0)return a;let u=1;t.wireframe===!0&&!e.isPoints&&!e.isLineSegments&&!e.isLine&&!e.isLineLoop&&(u=2);let h=s.start*u,d=(s.start+s.count)*u;r!==null&&(h=Math.max(h,r.start*u),d=Math.min(d,(r.start+r.count)*u));const f=n.attributes.position;let A=1/0;l?A=o.count:f!=null&&(A=f.count),h=Math.max(h,0),d=Math.min(d,A);const y=d-h;return y<0||y===1/0?null:(a.vertexCount=y,a.firstVertex=h,a)}getGeometryCacheKey(){const{geometry:e}=this;let t="";for(const n of Object.keys(e.attributes).sort()){const r=e.attributes[n];t+=n+",",r.data&&(t+=r.data.stride+","),r.offset&&(t+=r.offset+","),r.itemSize&&(t+=r.itemSize+","),r.normalized&&(t+="n,")}for(const n of Object.keys(e.morphAttributes).sort()){const r=e.morphAttributes[n];t+="morph-"+n+",";for(let s=0,a=r.length;s1||Array.isArray(e.morphTargetInfluences))&&(r+=e.uuid+","),r+=this.context.id+",",r+=e.receiveShadow+",",Iy(r)}get needsGeometryUpdate(){if(this.geometry.id!==this.object.geometry.id)return!0;if(this.attributes!==null){const e=this.attributesId;for(const t in e){const n=this.geometry.getAttribute(t);if(n===void 0||e[t]!==n.id)return!0}}return!1}get needsUpdate(){return this.initialNodesCacheKey!==this.getDynamicCacheKey()||this.clippingNeedsUpdate}getDynamicCacheKey(){let e=0;return this.material.isShadowPassMaterial!==!0&&(e=this._nodes.getCacheKey(this.scene,this.lightsNode)),this.camera.isArrayCamera&&(e=Ny(e,this.camera.cameras.length)),this.object.receiveShadow&&(e=Ny(e,1)),e=Ny(e,this.camera.id,this.renderer.contextNode.id,this.renderer.contextNode.version),e}getCacheKey(){return this.getMaterialCacheKey()+this.getDynamicCacheKey()}dispose(){this.material.removeEventListener("dispose",this.onMaterialDispose),this.geometry.removeEventListener("dispose",this.onGeometryDispose),this.onDispose()}}const cv=[];class Rq{constructor(e,t,n,r,s,a){this.renderer=e,this.nodes=t,this.geometries=n,this.pipelines=r,this.bindings=s,this.info=a,this.chainMaps={}}get(e,t,n,r,s,a,o,l){const c=this.getChainMap(l);cv[0]=e,cv[1]=t,cv[2]=a,cv[3]=s;let u=c.get(cv);return u===void 0?(u=this.createRenderObject(this.nodes,this.geometries,this.renderer,e,t,n,r,s,a,o,l),c.set(cv,u)):(u.updateClipping(o),u.needsGeometryUpdate&&u.setGeometry(e.geometry),(u.version!==t.version||u.needsUpdate)&&(u.initialCacheKey!==u.getCacheKey()?(u.dispose(),u=this.get(e,t,n,r,s,a,o,l)):u.version=t.version)),cv.length=0,u}getChainMap(e="default"){return this.chainMaps[e]||(this.chainMaps[e]=new fA)}dispose(){this.chainMaps={}}createRenderObject(e,t,n,r,s,a,o,l,c,u,h){const d=this.getChainMap(h),f=new Bq(e,t,n,r,s,a,o,l,c,u);return f.onDispose=()=>{this.pipelines.delete(f),this.bindings.deleteForRender(f),this.nodes.delete(f),d.delete(f.getChainArray())},f}}class zm{constructor(){this.data=new WeakMap}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}delete(e){let t=null;return this.data.has(e)&&(t=this.data.get(e),this.data.delete(e)),t}has(e){return this.data.has(e)}dispose(){this.data=new WeakMap}}const Rf={VERTEX:1,INDEX:2,STORAGE:3,INDIRECT:4},Vm=16,Iq=211,Nq=212;class Pq extends zm{constructor(e){super(),this.backend=e}delete(e){const t=super.delete(e);return t!==null&&this.backend.destroyAttribute(e),t}update(e,t){const n=this.get(e);if(n.version===void 0)t===Rf.VERTEX?this.backend.createAttribute(e):t===Rf.INDEX?this.backend.createIndexAttribute(e):t===Rf.STORAGE?this.backend.createStorageAttribute(e):t===Rf.INDIRECT&&this.backend.createIndirectStorageAttribute(e),n.version=this._getBufferAttribute(e).version;else{const r=this._getBufferAttribute(e);(n.version{this.info.memory.geometries--;const s=t.index,a=e.getAttributes();s!==null&&this.attributes.delete(s);for(const l of a)this.attributes.delete(l);const o=this.wireframes.get(t);o!==void 0&&this.attributes.delete(o),t.removeEventListener("dispose",r),this._geometryDisposeListeners.delete(t)};t.addEventListener("dispose",r),this._geometryDisposeListeners.set(t,r)}updateAttributes(e){const t=e.getAttributes();for(const s of t)s.isStorageBufferAttribute||s.isStorageInstancedBufferAttribute?this.updateAttribute(s,Rf.STORAGE):this.updateAttribute(s,Rf.VERTEX);const n=this.getIndex(e);n!==null&&this.updateAttribute(n,Rf.INDEX);const r=e.geometry.indirect;r!==null&&this.updateAttribute(r,Rf.INDIRECT)}updateAttribute(e,t){const n=this.info.render.calls;e.isInterleavedBufferAttribute?this.attributeCall.get(e)===void 0?(this.attributes.update(e,t),this.attributeCall.set(e,n)):this.attributeCall.get(e.data)!==n&&(this.attributes.update(e,t),this.attributeCall.set(e.data,n),this.attributeCall.set(e,n)):this.attributeCall.get(e)!==n&&(this.attributes.update(e,t),this.attributeCall.set(e,n))}getIndirect(e){return e.geometry.indirect}getIndirectOffset(e){return e.geometry.indirectOffset}getIndex(e){const{geometry:t,material:n}=e;let r=t.index;if(n.wireframe===!0){const s=this.wireframes;let a=s.get(t);a===void 0?(a=GU(t),s.set(t,a)):a.version!==HU(t)&&(this.attributes.delete(a),a=GU(t),s.set(t,a)),r=a}return r}dispose(){for(const[e,t]of this._geometryDisposeListeners.entries())e.removeEventListener("dispose",t);this._geometryDisposeListeners.clear()}}class Oq{constructor(){this.autoReset=!0,this.frame=0,this.calls=0,this.render={calls:0,frameCalls:0,drawCalls:0,triangles:0,points:0,lines:0,timestamp:0},this.compute={calls:0,frameCalls:0,timestamp:0},this.memory={geometries:0,textures:0}}update(e,t,n){this.render.drawCalls++,e.isMesh||e.isSprite?this.render.triangles+=n*(t/3):e.isPoints?this.render.points+=n*t:e.isLineSegments?this.render.lines+=n*(t/2):e.isLine?this.render.lines+=n*(t-1):Nr("WebGPUInfo: Unknown object type.")}reset(){this.render.drawCalls=0,this.render.frameCalls=0,this.compute.frameCalls=0,this.render.triangles=0,this.render.points=0,this.render.lines=0}dispose(){this.reset(),this.calls=0,this.render.calls=0,this.compute.calls=0,this.render.timestamp=0,this.compute.timestamp=0,this.memory.geometries=0,this.memory.textures=0}}class QU{constructor(e){this.cacheKey=e,this.usedTimes=0}}class Lq extends QU{constructor(e,t,n){super(e),this.vertexProgram=t,this.fragmentProgram=n}}class Dq extends QU{constructor(e,t){super(e),this.computeProgram=t,this.isComputePipeline=!0}}let Uq=0;class g2{constructor(e,t,n,r=null,s=null){this.id=Uq++,this.code=e,this.stage=t,this.name=n,this.transforms=r,this.attributes=s,this.usedTimes=0}}class kq extends zm{constructor(e,t){super(),this.backend=e,this.nodes=t,this.bindings=null,this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}getForCompute(e,t){const{backend:n}=this,r=this.get(e);if(this._needsComputeUpdate(e)){const s=r.pipeline;s&&(s.usedTimes--,s.computeProgram.usedTimes--);const a=this.nodes.getForCompute(e);let o=this.programs.compute.get(a.computeShader);o===void 0&&(s&&s.computeProgram.usedTimes===0&&this._releaseProgram(s.computeProgram),o=new g2(a.computeShader,"compute",e.name,a.transforms,a.nodeAttributes),this.programs.compute.set(a.computeShader,o),n.createProgram(o));const l=this._getComputeCacheKey(e,o);let c=this.caches.get(l);c===void 0&&(s&&s.usedTimes===0&&this._releasePipeline(s),c=this._getComputePipeline(e,o,l,t)),c.usedTimes++,o.usedTimes++,r.version=e.version,r.pipeline=c}return r.pipeline}getForRender(e,t=null){const{backend:n}=this,r=this.get(e);if(this._needsRenderUpdate(e)){const s=r.pipeline;s&&(s.usedTimes--,s.vertexProgram.usedTimes--,s.fragmentProgram.usedTimes--);const a=e.getNodeBuilderState(),o=e.material?e.material.name:"";let l=this.programs.vertex.get(a.vertexShader);l===void 0&&(s&&s.vertexProgram.usedTimes===0&&this._releaseProgram(s.vertexProgram),l=new g2(a.vertexShader,"vertex",o),this.programs.vertex.set(a.vertexShader,l),n.createProgram(l));let c=this.programs.fragment.get(a.fragmentShader);c===void 0&&(s&&s.fragmentProgram.usedTimes===0&&this._releaseProgram(s.fragmentProgram),c=new g2(a.fragmentShader,"fragment",o),this.programs.fragment.set(a.fragmentShader,c),n.createProgram(c));const u=this._getRenderCacheKey(e,l,c);let h=this.caches.get(u);h===void 0?(s&&s.usedTimes===0&&this._releasePipeline(s),h=this._getRenderPipeline(e,l,c,u,t)):e.pipeline=h,h.usedTimes++,l.usedTimes++,c.usedTimes++,r.pipeline=h}return r.pipeline}delete(e){const t=this.get(e).pipeline;return t&&(t.usedTimes--,t.usedTimes===0&&this._releasePipeline(t),t.isComputePipeline?(t.computeProgram.usedTimes--,t.computeProgram.usedTimes===0&&this._releaseProgram(t.computeProgram)):(t.fragmentProgram.usedTimes--,t.vertexProgram.usedTimes--,t.vertexProgram.usedTimes===0&&this._releaseProgram(t.vertexProgram),t.fragmentProgram.usedTimes===0&&this._releaseProgram(t.fragmentProgram))),super.delete(e)}dispose(){super.dispose(),this.caches=new Map,this.programs={vertex:new Map,fragment:new Map,compute:new Map}}updateForRender(e){this.getForRender(e)}_getComputePipeline(e,t,n,r){n=n||this._getComputeCacheKey(e,t);let s=this.caches.get(n);return s===void 0&&(s=new Dq(n,t),this.caches.set(n,s),this.backend.createComputePipeline(s,r)),s}_getRenderPipeline(e,t,n,r,s){r=r||this._getRenderCacheKey(e,t,n);let a=this.caches.get(r);return a===void 0&&(a=new Lq(r,t,n),this.caches.set(r,a),e.pipeline=a,this.backend.createRenderPipeline(e,s)),a}_getComputeCacheKey(e,t){return e.id+","+t.id}_getRenderCacheKey(e,t,n){return t.id+","+n.id+","+this.backend.getRenderCacheKey(e)}_releasePipeline(e){this.caches.delete(e.cacheKey)}_releaseProgram(e){const t=e.code,n=e.stage;this.programs[n].delete(t)}_needsComputeUpdate(e){const t=this.get(e);return t.pipeline===void 0||t.version!==e.version}_needsRenderUpdate(e){return this.get(e).pipeline===void 0||this.backend.needsRenderUpdate(e)}}class zq extends zm{constructor(e,t,n,r,s,a){super(),this.backend=e,this.textures=n,this.pipelines=s,this.attributes=r,this.nodes=t,this.info=a,this.pipelines.bindings=this}getForRender(e){const t=e.getBindings();for(const n of t){const r=this.get(n);r.bindGroup===void 0&&(this._init(n),this.backend.createBindings(n,t,0),r.bindGroup=n)}return t}getForCompute(e){const t=this.nodes.getForCompute(e).bindings;for(const n of t){const r=this.get(n);r.bindGroup===void 0&&(this._init(n),this.backend.createBindings(n,t,0),r.bindGroup=n)}return t}updateForCompute(e){this._updateBindings(this.getForCompute(e))}updateForRender(e){this._updateBindings(this.getForRender(e))}deleteForCompute(e){const t=this.nodes.getForCompute(e).bindings;for(const n of t)this.backend.deleteBindGroupData(n),this.delete(n)}deleteForRender(e){const t=e.getBindings();for(const n of t)this.backend.deleteBindGroupData(n),this.delete(n)}_updateBindings(e){for(const t of e)this._update(t,e)}_init(e){for(const t of e.bindings)if(t.isSampledTexture)this.textures.updateTexture(t.texture);else if(t.isSampler)this.textures.updateSampler(t.texture);else if(t.isStorageBuffer){const n=t.attribute,r=n.isIndirectStorageBufferAttribute?Rf.INDIRECT:Rf.STORAGE;this.attributes.update(n,r)}}_update(e,t){const{backend:n}=this;let r=!1,s=!0,a=0,o=0;for(const l of e.bindings)if(this.nodes.updateGroup(l)!==!1){if(l.isStorageBuffer){const u=l.attribute,h=u.isIndirectStorageBufferAttribute?Rf.INDIRECT:Rf.STORAGE;this.attributes.update(u,h)}if(l.isUniformBuffer)l.update()&&n.updateBinding(l);else if(l.isSampledTexture){const u=l.update(),h=l.texture,d=this.textures.get(h);if(u&&(this.textures.updateTexture(h),l.generation!==d.generation&&(l.generation=d.generation,r=!0,s=!1)),n.get(h).externalTexture!==void 0||d.isDefaultTexture?s=!1:(a=a*10+h.id,o+=h.version),h.isStorageTexture===!0&&h.mipmapsAutoUpdate===!0){const A=this.get(h);l.store===!0?A.needsMipmap=!0:this.textures.needsMipmaps(h)&&A.needsMipmap===!0&&(this.backend.generateMipmaps(h),A.needsMipmap=!1)}}else if(l.isSampler&&l.update()){const h=this.textures.updateSampler(l.texture);l.samplerKey!==h&&(l.samplerKey=h,r=!0,s=!1)}}r===!0&&this.backend.updateBindings(e,t,s?a:0,o)}}function Vq(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.z!==e.z?i.z-e.z:i.id-e.id}function WU(i,e){return i.groupOrder!==e.groupOrder?i.groupOrder-e.groupOrder:i.renderOrder!==e.renderOrder?i.renderOrder-e.renderOrder:i.z!==e.z?e.z-i.z:i.id-e.id}function ZU(i){return(i.transmission>0||i.transmissionNode&&i.transmissionNode.isNode)&&i.side===pe&&i.forceSinglePass===!1}class Hq{constructor(e,t,n){this.renderItems=[],this.renderItemsIndex=0,this.opaque=[],this.transparentDoublePass=[],this.transparent=[],this.bundles=[],this.lightsNode=e.getNode(t,n),this.lightsArray=[],this.scene=t,this.camera=n,this.occlusionQueryCount=0}begin(){return this.renderItemsIndex=0,this.opaque.length=0,this.transparentDoublePass.length=0,this.transparent.length=0,this.bundles.length=0,this.lightsArray.length=0,this.occlusionQueryCount=0,this}getNextRenderItem(e,t,n,r,s,a,o){let l=this.renderItems[this.renderItemsIndex];return l===void 0?(l={id:e.id,object:e,geometry:t,material:n,groupOrder:r,renderOrder:e.renderOrder,z:s,group:a,clippingContext:o},this.renderItems[this.renderItemsIndex]=l):(l.id=e.id,l.object=e,l.geometry=t,l.material=n,l.groupOrder=r,l.renderOrder=e.renderOrder,l.z=s,l.group=a,l.clippingContext=o),this.renderItemsIndex++,l}push(e,t,n,r,s,a,o){const l=this.getNextRenderItem(e,t,n,r,s,a,o);e.occlusionTest===!0&&this.occlusionQueryCount++,n.transparent===!0||n.transmission>0||n.transmissionNode&&n.transmissionNode.isNode||n.backdropNode&&n.backdropNode.isNode?(ZU(n)&&this.transparentDoublePass.push(l),this.transparent.push(l)):this.opaque.push(l)}unshift(e,t,n,r,s,a,o){const l=this.getNextRenderItem(e,t,n,r,s,a,o);n.transparent===!0||n.transmission>0||n.transmissionNode&&n.transmissionNode.isNode||n.backdropNode&&n.backdropNode.isNode?(ZU(n)&&this.transparentDoublePass.unshift(l),this.transparent.unshift(l)):this.opaque.unshift(l)}pushBundle(e){this.bundles.push(e)}pushLight(e){this.lightsArray.push(e)}sort(e,t){this.opaque.length>1&&this.opaque.sort(e||Vq),this.transparentDoublePass.length>1&&this.transparentDoublePass.sort(t||WU),this.transparent.length>1&&this.transparent.sort(t||WU)}finish(){this.lightsNode.setLights(this.lightsArray);for(let e=this.renderItemsIndex,t=this.renderItems.length;e>t,c=o.height>>t;let u=e.depthTexture||s[t];const h=e.depthBuffer===!0||e.stencilBuffer===!0;let d=!1;u===void 0&&h&&(u=new ja,u.format=e.stencilBuffer?J:H,u.type=e.stencilBuffer?Tr:Ft,u.image.width=l,u.image.height=c,u.image.depth=o.depth,u.renderTarget=e,u.isArrayTexture=e.multiview===!0&&o.depth>1,s[t]=u),(n.width!==o.width||o.height!==n.height)&&(d=!0,u&&(u.needsUpdate=!0,u.image.width=l,u.image.height=c,u.image.depth=u.isArrayTexture?u.image.depth:1)),n.width=o.width,n.height=o.height,n.textures=a,n.depthTexture=u||null,n.depth=e.depthBuffer,n.stencil=e.stencilBuffer,n.renderTarget=e,n.sampleCount!==r&&(d=!0,u&&(u.needsUpdate=!0),n.sampleCount=r);const f={sampleCount:r};if(e.isXRRenderTarget!==!0){for(let A=0;A{this._destroyRenderTarget(e)},e.addEventListener("dispose",n.onDispose))}updateTexture(e,t={}){const n=this.get(e);if(n.initialized===!0&&n.version===e.version)return;const r=e.isRenderTargetTexture||e.isDepthTexture||e.isFramebufferTexture,s=this.backend;if(r&&n.initialized===!0&&s.destroyTexture(e),e.isFramebufferTexture){const c=this.renderer.getRenderTarget();c?e.type=c.texture.type:e.type=on}const{width:a,height:o,depth:l}=this.getSize(e);if(t.width=a,t.height=o,t.depth=l,t.needsMipmaps=this.needsMipmaps(e),t.levels=t.needsMipmaps?this.getMipLevels(e,a,o):1,e.isCubeTexture&&e.mipmaps.length>0&&t.levels++,r||e.isStorageTexture===!0||e.isExternalTexture===!0)s.createTexture(e,t),n.generation=e.version;else if(e.version>0){const c=e.image;if(c===void 0)sr("Renderer: Texture marked for update but image is undefined.");else if(c.complete===!1)sr("Renderer: Texture marked for update but image is incomplete.");else{if(e.images){const h=[];for(const d of e.images)h.push(d);t.images=h}else t.image=c;(n.isDefaultTexture===void 0||n.isDefaultTexture===!0)&&(s.createTexture(e,t),n.isDefaultTexture=!1,n.generation=e.version),e.source.dataReady===!0&&s.updateTexture(e,t);const u=e.isStorageTexture===!0&&e.mipmapsAutoUpdate===!1;t.needsMipmaps&&e.mipmaps.length===0&&!u&&s.generateMipmaps(e),e.onUpdate&&e.onUpdate(e)}}else s.createDefaultTexture(e),n.isDefaultTexture=!0,n.generation=e.version;n.initialized!==!0&&(n.initialized=!0,n.generation=e.version,this.info.memory.textures++,e.isVideoTexture&&xr.enabled===!0&&xr.getTransfer(e.colorSpace)!==Hi&&sr("WebGPURenderer: Video textures must use a color space with a sRGB transfer function, e.g. SRGBColorSpace."),n.onDispose=()=>{this._destroyTexture(e)},e.addEventListener("dispose",n.onDispose)),n.version=e.version}updateSampler(e){return this.backend.updateSampler(e)}getSize(e,t=Kq){let n=e.images?e.images[0]:e.image;return n?(n.image!==void 0&&(n=n.image),typeof HTMLVideoElement!="undefined"&&n instanceof HTMLVideoElement?(t.width=n.videoWidth||1,t.height=n.videoHeight||1,t.depth=1):typeof VideoFrame!="undefined"&&n instanceof VideoFrame?(t.width=n.displayWidth||1,t.height=n.displayHeight||1,t.depth=1):(t.width=n.width||1,t.height=n.height||1,t.depth=e.isCubeTexture?6:n.depth||1)):t.width=t.height=t.depth=1,t}getMipLevels(e,t,n){let r;return e.mipmaps.length>0?r=e.mipmaps.length:e.isCompressedTexture===!0?r=1:r=Math.floor(Math.log2(Math.max(t,n)))+1,r}needsMipmaps(e){return e.generateMipmaps===!0||e.mipmaps.length>0}_destroyRenderTarget(e){if(this.has(e)===!0){const t=this.get(e),n=t.textures,r=t.depthTexture;e.removeEventListener("dispose",t.onDispose);for(let s=0;snew jU(i,e);class qq extends zs{static get type(){return"StackNode"}constructor(e=null){super(),this.nodes=[],this.outputNode=null,this.parent=e,this._currentCond=null,this._expressionNode=null,this._currentNode=null,this.isStackNode=!0}getElementType(e){return this.hasOutput?this.outputNode.getElementType(e):"void"}getNodeType(e){return this.hasOutput?this.outputNode.getNodeType(e):"void"}getMemberType(e,t){return this.hasOutput?this.outputNode.getMemberType(e,t):"void"}addToStack(e,t=this.nodes.length){return e.isNode!==!0?(Nr("TSL: Invalid node added to stack."),this):(this.nodes.splice(t,0,e),this)}addToStackBefore(e){const t=this._currentNode?this.nodes.indexOf(this._currentNode):0;return this.addToStack(e,t)}If(e,t){const n=new Py(t);return this._currentCond=ih(e,n),this.addToStack(this._currentCond)}ElseIf(e,t){const n=new Py(t),r=ih(e,n);return this._currentCond.elseNode=r,this._currentCond=r,this}Else(e){return this._currentCond.elseNode=new Py(e),this}Switch(e){return this._expressionNode=ls(e),this}Case(...e){const t=[];if(e.length>=2)for(let o=0;o{if(this._currentNode=c,!(c.isVarNode&&c.isIntent(e)&&c.isAssign(e)!==!0)){if(r==="setup")c.build(e);else if(r==="analyze")c.build(e,this);else if(r==="generate"){const u=e.getDataFromNode(c,"any").stages,h=u&&u[e.shaderStage];if(c.isVarNode&&h&&h.length===1&&h[0]&&h[0].isStackNode)return;c.build(e,"void")}}},a=[...this.nodes];for(const c of a)s(c);this._currentNode=null;const o=this.nodes.filter(c=>a.indexOf(c)===-1);for(const c of o)s(c);let l;return this.hasOutput?l=this.outputNode.build(e,...t):l=super.build(e,...t),Bb(n),e.removeActiveStack(this),l}}const Kw=Ha(qq).setParameterLength(0,1);function Jq(i){return Object.entries(i).map(([e,t])=>typeof t=="string"?{name:e,type:t,atomic:!1}:{name:e,type:t.type,atomic:t.atomic||!1})}class eJ extends zs{static get type(){return"StructTypeNode"}constructor(e,t=null){super("struct"),this.membersLayout=Jq(e),this.name=t,this.isStructLayoutNode=!0}getLength(){const e=Float32Array.BYTES_PER_ELEMENT;let t=1,n=0;for(const r of this.membersLayout){const s=r.type,a=DO(s),o=UO(s)/e;t=Math.max(t,o);const c=n%t%o;c!==0&&(n+=o-c),n+=a}return Math.ceil(n/t)*t}getMemberType(e,t){const n=this.membersLayout.find(r=>r.name===t);return n?n.type:"void"}getNodeType(e){return e.getStructTypeFromNode(this,this.membersLayout,this.name).name}setup(e){e.getStructTypeFromNode(this,this.membersLayout,this.name),e.addInclude(this)}generate(e){return this.getNodeType(e)}}class tJ extends zs{static get type(){return"StructNode"}constructor(e,t){super("vec3"),this.structTypeNode=e,this.values=t,this.isStructNode=!0}getNodeType(e){return this.structTypeNode.getNodeType(e)}getMemberType(e,t){return this.structTypeNode.getMemberType(e,t)}generate(e){const t=e.getVarFromNode(this),n=t.type,r=e.getPropertyName(t);return e.addLineFlowCode(`${r} = ${e.generateStruct(n,this.structTypeNode.membersLayout,this.values)}`,this),t.name}}const nJ=(i,e=null)=>{const t=new eJ(i,e),n=(...r)=>{let s=null;if(r.length>0)if(r[0].isNode){s={};const a=Object.keys(i);for(let o=0;onew Xb(i,"int","float"),JU=i=>new Xb(i,"uint","float"),aJ=i=>new Xb(i,"float","int"),oJ=i=>new Xb(i,"float","uint"),Xw={};class Kd extends Or{static get type(){return"BitcountNode"}constructor(e,t){super(e,t),this.isBitcountNode=!0}_resolveElementType(e,t,n){n==="int"?t.assign(qU(e,"uint")):t.assign(e)}_returnDataNode(e){switch(e){case"uint":return Ti;case"int":return zn;case"uvec2":return LT;case"uvec3":return q0;case"uvec4":return zT;case"ivec2":return du;case"ivec3":return DT;case"ivec4":return kT}}_createTrailingZerosBaseLayout(e,t){const n=this._returnDataNode(t);return tr(([s])=>{const a=Ti(0);this._resolveElementType(s,a,t);const o=en(a.bitAnd(eB(a))),c=JU(o).shiftRight(23).sub(127);return n(c)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createLeadingZerosBaseLayout(e,t){const n=this._returnDataNode(t);return tr(([s])=>{Gs(s.equal(Ti(0)),()=>Ti(32));const a=Ti(0),o=Ti(0);return this._resolveElementType(s,a,t),Gs(a.shiftRight(16).equal(0),()=>{o.addAssign(16),a.shiftLeftAssign(16)}),Gs(a.shiftRight(24).equal(0),()=>{o.addAssign(8),a.shiftLeftAssign(8)}),Gs(a.shiftRight(28).equal(0),()=>{o.addAssign(4),a.shiftLeftAssign(4)}),Gs(a.shiftRight(30).equal(0),()=>{o.addAssign(2),a.shiftLeftAssign(2)}),Gs(a.shiftRight(31).equal(0),()=>{o.addAssign(1)}),n(o)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createOneBitsBaseLayout(e,t){const n=this._returnDataNode(t);return tr(([s])=>{const a=Ti(0);this._resolveElementType(s,a,t),a.assign(a.sub(a.shiftRight(Ti(1)).bitAnd(Ti(1431655765)))),a.assign(a.bitAnd(Ti(858993459)).add(a.shiftRight(Ti(2)).bitAnd(Ti(858993459))));const o=a.add(a.shiftRight(Ti(4))).bitAnd(Ti(252645135)).mul(Ti(16843009)).shiftRight(Ti(24));return n(o)}).setLayout({name:e,type:t,inputs:[{name:"value",type:t}]})}_createMainLayout(e,t,n,r){const s=this._returnDataNode(t);return tr(([o])=>{if(n===1)return s(r(o));{const l=s(0),c=["x","y","z","w"];for(let u=0;uh(n))()}}Kd.COUNT_TRAILING_ZEROS="countTrailingZeros",Kd.COUNT_LEADING_ZEROS="countLeadingZeros",Kd.COUNT_ONE_BITS="countOneBits";const lJ=Gi(Kd,Kd.COUNT_TRAILING_ZEROS).setParameterLength(1),cJ=Gi(Kd,Kd.COUNT_LEADING_ZEROS).setParameterLength(1),uJ=Gi(Kd,Kd.COUNT_ONE_BITS).setParameterLength(1),hJ=tr(([i])=>{const e=i.toUint().mul(747796405).add(2891336453),t=e.shiftRight(e.shiftRight(28).add(4)).bitXor(e).mul(277803737);return t.shiftRight(22).bitXor(t).toFloat().mul(1/IA(2,32))}),v2=(i,e)=>Cf(Ga(4,i.mul(Oo(1,i))),e),dJ=(i,e)=>i.lessThan(.5)?v2(i.mul(2),e).div(2):Oo(1,v2(Ga(Oo(1,i),2),e).div(2)),fJ=(i,e,t)=>Cf(Qd(Cf(i,e),eu(Cf(i,e),Cf(Oo(1,i),t))),1/e),AJ=(i,e)=>jh(gw.mul(e.mul(i).sub(1))).div(gw.mul(e.mul(i).sub(1)));class y2 extends bc{static get type(){return"PackFloatNode"}constructor(e,t){super(),this.vectorNode=t,this.encoding=e,this.isPackFloatNode=!0}getNodeType(){return"uint"}generate(e){const t=this.vectorNode.getNodeType(e);return`${e.getFloatPackingMethod(this.encoding)}(${this.vectorNode.build(e,t)})`}}const pJ=Gi(y2,"snorm").setParameterLength(1),gJ=Gi(y2,"unorm").setParameterLength(1),mJ=Gi(y2,"float16").setParameterLength(1);class x2 extends bc{static get type(){return"UnpackFloatNode"}constructor(e,t){super(),this.uintNode=t,this.encoding=e,this.isUnpackFloatNode=!0}getNodeType(){return"vec2"}generate(e){const t=this.uintNode.getNodeType(e);return`${e.getFloatUnpackingMethod(this.encoding)}(${this.uintNode.build(e,t)})`}}const vJ=Gi(x2,"snorm").setParameterLength(1),yJ=Gi(x2,"unorm").setParameterLength(1),xJ=Gi(x2,"float16").setParameterLength(1),Ng=tr(([i])=>i.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),bJ=tr(([i])=>Wn(Ng(i.z.add(Ng(i.y.mul(1)))),Ng(i.z.add(Ng(i.x.mul(1)))),Ng(i.y.add(Ng(i.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),_J=tr(([i,e,t])=>{const n=Wn(i).toVar(),r=en(1.4).toVar(),s=en(0).toVar(),a=Wn(n).toVar();return fl({start:en(0),end:en(3),type:"float",condition:"<="},()=>{const o=Wn(bJ(a.mul(2))).toVar();n.addAssign(o.add(t.mul(en(.1).mul(e)))),a.mulAssign(1.8),r.mulAssign(1.5),n.mulAssign(1.2);const l=en(Ng(n.z.add(Ng(n.x.add(Ng(n.y)))))).toVar();s.addAssign(l.div(r)),a.addAssign(.14)}),s}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"position",type:"vec3"},{name:"speed",type:"float"},{name:"time",type:"float"}]});class wJ extends zs{static get type(){return"FunctionOverloadingNode"}constructor(e=[],...t){super(),this.functionNodes=e,this.parametersNodes=t,this._candidateFn=null,this.global=!0}getNodeType(e){return this.getCandidateFn(e).shaderNode.layout.type}getCandidateFn(e){const t=this.parametersNodes;let n=this._candidateFn;if(n===null){let r=null,s=-1;for(const a of this.functionNodes){const l=a.shaderNode.layout;if(l===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const c=l.inputs;if(t.length===c.length){let u=0;for(let h=0;hs&&(r=a,s=u)}}this._candidateFn=n=r}return n}setup(e){return this.getCandidateFn(e)(...this.parametersNodes)}}const EJ=Ha(wJ),ah=i=>(...e)=>EJ(i,...e),Xy=na(0).setGroup(aa).onRenderUpdate(i=>i.time),SJ=na(0).setGroup(aa).onRenderUpdate(i=>i.deltaTime),ek=na(0,"uint").setGroup(aa).onRenderUpdate(i=>i.frameId),CJ=(i=Xy)=>i.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5),MJ=(i=Xy)=>i.fract().round(),TJ=(i=Xy)=>i.add(.5).fract().mul(2).sub(1).abs(),BJ=(i=Xy)=>i.fract();function RJ(i,e=null){return wg(e,{getUV:i})}const IJ=tr(([i,e,t=Ni(.5)])=>$b(i.sub(t),e).add(t)),NJ=tr(([i,e,t=Ni(.5)])=>{const n=i.sub(t),r=n.dot(n),a=r.mul(r).mul(e);return i.add(n.mul(a))}),PJ=tr(({position:i=null,horizontal:e=!0,vertical:t=!1})=>{let n;i!==null?(n=Tf.toVar(),n[3][0]=i.x,n[3][1]=i.y,n[3][2]=i.z):n=Tf;const r=Zd.mul(n);return Mb(e)&&(r[0][0]=Tf[0].length(),r[0][1]=0,r[0][2]=0),Mb(t)&&(r[1][0]=0,r[1][1]=Tf[1].length(),r[1][2]=0),r[2][0]=0,r[2][1]=0,r[2][2]=1,Xh.mul(r).mul(Ec)}),FJ=tr(([i=null])=>{const e=Zy();return Zy(WB(i)).sub(e).lessThan(0).select(Mg,i)});class OJ extends zs{static get type(){return"SpriteSheetUVNode"}constructor(e,t=_l(),n=en(0)){super("vec2"),this.countNode=e,this.uvNode=t,this.frameNode=n}setup(){const{frameNode:e,uvNode:t,countNode:n}=this,{width:r,height:s}=n,a=e.mod(r.mul(s)).floor(),o=a.mod(r),l=s.sub(a.add(1).div(r).ceil()),c=n.reciprocal(),u=Ni(o,l);return t.add(u).mul(c)}}const LJ=Ha(OJ).setParameterLength(3),tk=tr(([i,e=null,t=null,n=en(1),r=Ec,s=vd])=>{let a=s.abs().normalize();a=a.div(a.dot(Wn(1)));const o=r.yz.mul(n),l=r.zx.mul(n),c=r.xy.mul(n),u=i.value,h=e!==null?e.value:u,d=t!==null?t.value:u,f=Yo(u,o).mul(a.x),A=Yo(h,l).mul(a.y),y=Yo(d,c).mul(a.z);return eu(f,A,y)}),DJ=(...i)=>tk(...i),Yy=new Eh,uv=new ye,qy=new ye,b2=new ye,Yb=new pi,Yw=new ye(0,0,-1),_p=new Mi,qb=new ye,qw=new ye,Jb=new Mi,Jw=new Qe,eE=new ha,UJ=Mg.flipX();eE.depthTexture=new ja(1,1);let tE=!1;class _2 extends vp{static get type(){return"ReflectorNode"}constructor(e={}){super(e.defaultTexture||eE.texture,UJ),this._reflectorBaseNode=e.reflector||new kJ(this,e),this._depthNode=null,this.setUpdateMatrix(!1)}get reflector(){return this._reflectorBaseNode}get target(){return this._reflectorBaseNode.target}getDepthNode(){if(this._depthNode===null){if(this._reflectorBaseNode.depth!==!0)throw new Error("THREE.ReflectorNode: Depth node can only be requested when the reflector is created with { depth: true }. ");this._depthNode=ls(new _2({defaultTexture:eE.depthTexture,reflector:this._reflectorBaseNode}))}return this._depthNode}setup(e){return e.object.isQuadMesh||this._reflectorBaseNode.build(e),super.setup(e)}clone(){const e=new this.constructor(this.reflectorNode);return e.uvNode=this.uvNode,e.levelNode=this.levelNode,e.biasNode=this.biasNode,e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e._reflectorBaseNode=this._reflectorBaseNode,e}dispose(){super.dispose(),this._reflectorBaseNode.dispose()}}class kJ extends zs{static get type(){return"ReflectorBaseNode"}constructor(e,t={}){super();const{target:n=new Ol,resolutionScale:r=1,generateMipmaps:s=!1,bounces:a=!0,depth:o=!1,samples:l=0}=t;this.textureNode=e,this.target=n,this.resolutionScale=r,t.resolution!==void 0&&($s('ReflectorNode: The "resolution" parameter has been renamed to "resolutionScale".'),this.resolutionScale=t.resolution),this.generateMipmaps=s,this.bounces=a,this.depth=o,this.samples=l,this.updateBeforeType=a?Xa.RENDER:Xa.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new Map,this.forceUpdate=!1,this.hasOutput=!1}_updateResolution(e,t){const n=this.resolutionScale;t.getDrawingBufferSize(Jw),e.setSize(Math.round(Jw.width*n),Math.round(Jw.height*n))}setup(e){return this._updateResolution(eE,e.renderer),super.setup(e)}dispose(){super.dispose();for(const e of this.renderTargets.values())e.dispose()}getVirtualCamera(e){let t=this.virtualCameras.get(e);return t===void 0&&(t=e.clone(),this.virtualCameras.set(e,t)),t}getRenderTarget(e){let t=this.renderTargets.get(e);return t===void 0&&(t=new ha(0,0,{type:Dt,samples:this.samples}),this.generateMipmaps===!0&&(t.texture.minFilter=fi,t.texture.generateMipmaps=!0),this.depth===!0&&(t.depthTexture=new ja),this.renderTargets.set(e,t)),t}updateBefore(e){if(this.bounces===!1&&tE)return!1;tE=!0;const{scene:t,camera:n,renderer:r,material:s}=e,{target:a}=this,o=this.getVirtualCamera(n),l=this.getRenderTarget(o);r.getDrawingBufferSize(Jw),this._updateResolution(l,r),qy.setFromMatrixPosition(a.matrixWorld),b2.setFromMatrixPosition(n.matrixWorld),Yb.extractRotation(a.matrixWorld),uv.set(0,0,1),uv.applyMatrix4(Yb),qb.subVectors(qy,b2);const c=qb.dot(uv)>0;let u=!1;if(c===!0&&this.forceUpdate===!1){if(this.hasOutput===!1){tE=!1;return}u=!0}qb.reflect(uv).negate(),qb.add(qy),Yb.extractRotation(n.matrixWorld),Yw.set(0,0,-1),Yw.applyMatrix4(Yb),Yw.add(b2),qw.subVectors(qy,Yw),qw.reflect(uv).negate(),qw.add(qy),o.coordinateSystem=n.coordinateSystem,o.position.copy(qb),o.up.set(0,1,0),o.up.applyMatrix4(Yb),o.up.reflect(uv),o.lookAt(qw),o.near=n.near,o.far=n.far,o.updateMatrixWorld(),o.projectionMatrix.copy(n.projectionMatrix),Yy.setFromNormalAndCoplanarPoint(uv,qy),Yy.applyMatrix4(o.matrixWorldInverse),_p.set(Yy.normal.x,Yy.normal.y,Yy.normal.z,Yy.constant);const h=o.projectionMatrix;Jb.x=(Math.sign(_p.x)+h.elements[8])/h.elements[0],Jb.y=(Math.sign(_p.y)+h.elements[9])/h.elements[5],Jb.z=-1,Jb.w=(1+h.elements[10])/h.elements[14],_p.multiplyScalar(1/_p.dot(Jb));const d=0;h.elements[2]=_p.x,h.elements[6]=_p.y,h.elements[10]=r.coordinateSystem===Vo?_p.z-d:_p.z+1-d,h.elements[14]=_p.w,this.textureNode.value=l.texture,this.depth===!0&&(this.textureNode.getDepthNode().value=l.depthTexture),s.visible=!1;const f=r.getRenderTarget(),A=r.getMRT(),y=r.autoClear;r.setMRT(null),r.setRenderTarget(l),r.autoClear=!0;const b=t.name;t.name=(t.name||"Scene")+" [ Reflector ]",u?(r.clear(),this.hasOutput=!1):(r.render(t,o),this.hasOutput=!0),t.name=b,r.setMRT(A),r.setRenderTarget(f),r.autoClear=y,s.visible=!0,tE=!1,this.forceUpdate=!1}get resolution(){return $s('ReflectorNode: The "resolution" property has been renamed to "resolutionScale".'),this.resolutionScale}set resolution(e){$s('ReflectorNode: The "resolution" property has been renamed to "resolutionScale".'),this.resolutionScale=e}}const zJ=i=>new _2(i),w2=new U0(-1,1,1,-1,0,1);class VJ extends js{constructor(e=!1){super();const t=e===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new Ds([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new Ds(t,2))}}const HJ=new VJ;class e_ extends vl{constructor(e=null){super(HJ,e),this.camera=w2,this.isQuadMesh=!0}renderAsync(e){return va(this,null,function*(){$s('QuadMesh: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield e.init(),e.render(this,w2)})}render(e){e.render(this,w2)}}const GJ=new Qe;class QJ extends vp{static get type(){return"RTTNode"}constructor(e,t=null,n=null,r={type:Dt}){const s=new ha(t,n,r);super(s.texture,_l()),this.isRTTNode=!0,this.node=e,this.width=t,this.height=n,this.pixelRatio=1,this.renderTarget=s,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this._rttNode=null,this._quadMesh=new e_(new Sc),this.updateBeforeType=Xa.RENDER}get autoResize(){return this.width===null}setup(e){return this._rttNode=this.node.context(e.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(e)}setSize(e,t){this.width=e,this.height=t;const n=e*this.pixelRatio,r=t*this.pixelRatio;this.renderTarget.setSize(n,r),this.textureNeedsUpdate=!0}setPixelRatio(e){this.pixelRatio=e,this.setSize(this.width,this.height)}updateBefore({renderer:e}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoResize===!0){const r=e.getPixelRatio(),s=e.getSize(GJ),a=Math.floor(s.width*r),o=Math.floor(s.height*r);(a!==this.renderTarget.width||o!==this.renderTarget.height)&&(this.renderTarget.setSize(a,o),this.textureNeedsUpdate=!0)}let t="RTT";this.node.name&&(t=this.node.name+" [ "+t+" ]"),this._quadMesh.material.fragmentNode=this._rttNode,this._quadMesh.name=t;const n=e.getRenderTarget();e.setRenderTarget(this.renderTarget),this._quadMesh.render(e),e.setRenderTarget(n)}clone(){const e=new vp(this.value,this.uvNode,this.levelNode);return e.sampler=this.sampler,e.referenceNode=this,e}}const nk=(i,...e)=>ls(new QJ(ls(i),...e)),WJ=(i,...e)=>i.isSampleNode||i.isTextureNode?i:i.isPassNode?i.getTextureNode():nk(i,...e),Jy=tr(([i,e,t],n)=>{let r;n.renderer.coordinateSystem===Vo?(i=Ni(i.x,i.y.oneMinus()).mul(2).sub(1),r=Rs(Wn(i,e),1)):r=Rs(Wn(i.x,i.y.oneMinus(),e).mul(2).sub(1),1);const s=Rs(t.mul(r));return s.xyz.div(s.w)}),ZJ=tr(([i,e])=>{const t=e.mul(Rs(i,1)),n=t.xy.div(t.w).mul(.5).add(.5).toVar();return Ni(n.x,n.y.oneMinus())}),$J=tr(([i,e,t])=>{const n=Sg(Nc(e)),r=du(i.mul(n)).toVar(),s=Nc(e,r).toVar(),a=Nc(e,r.sub(du(2,0))).toVar(),o=Nc(e,r.sub(du(1,0))).toVar(),l=Nc(e,r.add(du(1,0))).toVar(),c=Nc(e,r.add(du(2,0))).toVar(),u=Nc(e,r.add(du(0,2))).toVar(),h=Nc(e,r.add(du(0,1))).toVar(),d=Nc(e,r.sub(du(0,1))).toVar(),f=Nc(e,r.sub(du(0,2))).toVar(),A=Vl(Oo(en(2).mul(o).sub(a),s)).toVar(),y=Vl(Oo(en(2).mul(l).sub(c),s)).toVar(),b=Vl(Oo(en(2).mul(h).sub(u),s)).toVar(),x=Vl(Oo(en(2).mul(d).sub(f),s)).toVar(),P=Jy(i,s,t).toVar(),k=A.lessThan(y).select(P.sub(Jy(i.sub(Ni(en(1).div(n.x),0)),o,t)),P.negate().add(Jy(i.add(Ni(en(1).div(n.x),0)),l,t))),$=b.lessThan(x).select(P.sub(Jy(i.add(Ni(0,en(1).div(n.y))),h,t)),P.negate().add(Jy(i.sub(Ni(0,en(1).div(n.y))),d,t)));return $h(_g(k,$))}),E2=tr(([i])=>uA(en(52.9829189).mul(uA(Sf(i,Ni(.06711056,.00583715)))))).setLayout({name:"interleavedGradientNoise",type:"float",inputs:[{name:"position",type:"vec2"}]}),AA=tr(([i,e,t])=>{const n=en(2.399963229728653),r=Rh(en(i).add(.5).div(en(e))),s=en(i).mul(n).add(t);return Ni(hA(s),jh(s)).mul(r)}).setLayout({name:"vogelDiskSample",type:"vec2",inputs:[{name:"sampleIndex",type:"int"},{name:"samplesCount",type:"int"},{name:"phi",type:"float"}]});class jJ extends zs{static get type(){return"SampleNode"}constructor(e,t=null){super(),this.callback=e,this.uvNode=t,this.isSampleNode=!0}setup(){return this.sample(_l())}sample(e){return this.callback(e)}}const KJ=(i,e=null)=>new jJ(i,ls(e));class xd extends zs{static get type(){return"EventNode"}constructor(e,t){super("void"),this.eventType=e,this.callback=t,e===xd.OBJECT?this.updateType=Xa.OBJECT:e===xd.MATERIAL?this.updateType=Xa.RENDER:e===xd.BEFORE_OBJECT?this.updateBeforeType=Xa.OBJECT:e===xd.BEFORE_MATERIAL&&(this.updateBeforeType=Xa.RENDER)}update(e){this.callback(e)}updateBefore(e){this.callback(e)}}xd.OBJECT="object",xd.MATERIAL="material",xd.BEFORE_OBJECT="beforeObject",xd.BEFORE_MATERIAL="beforeMaterial";const nE=(i,e)=>new xd(i,e).toStack(),XJ=i=>nE(xd.OBJECT,i),YJ=i=>nE(xd.MATERIAL,i),qJ=i=>nE(xd.BEFORE_OBJECT,i),JJ=i=>nE(xd.BEFORE_MATERIAL,i);class eee extends _h{constructor(e,t,n=Float32Array){const r=ArrayBuffer.isView(e)?e:new n(e*t);super(r,t),this.isStorageInstancedBufferAttribute=!0}}class tee extends ul{constructor(e,t,n=Float32Array){const r=ArrayBuffer.isView(e)?e:new n(e*t);super(r,t),this.isStorageBufferAttribute=!0}}const nee=(i,e="float")=>{let t,n;e.isStruct===!0?(t=e.layout.getLength(),n=Eb("float")):(t=wT(e),n=Eb(e));const r=new tee(i,t,n);return Ig(r,e,i)},ree=(i,e="float")=>{let t,n;e.isStruct===!0?(t=e.layout.getLength(),n=Eb("float")):(t=wT(e),n=Eb(e));const r=new eee(i,t,n);return Ig(r,e,i)};class iee extends zs{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const see=is(iee),t_=new il,S2=new pi;class bd extends zs{static get type(){return"SceneNode"}constructor(e=bd.BACKGROUND_BLURRINESS,t=null){super(),this.scope=e,this.scene=t}setup(e){const t=this.scope,n=this.scene!==null?this.scene:e.scene;let r;return t===bd.BACKGROUND_BLURRINESS?r=Rl("backgroundBlurriness","float",n):t===bd.BACKGROUND_INTENSITY?r=Rl("backgroundIntensity","float",n):t===bd.BACKGROUND_ROTATION?r=na("mat4").setName("backgroundRotation").setGroup(aa).onRenderUpdate(()=>{const s=n.background;return s!==null&&s.isTexture&&s.mapping!==ct?(t_.copy(n.backgroundRotation),t_.x*=-1,t_.y*=-1,t_.z*=-1,S2.makeRotationFromEuler(t_)):S2.identity(),S2}):Nr("SceneNode: Unknown scope:",t),r}}bd.BACKGROUND_BLURRINESS="backgroundBlurriness",bd.BACKGROUND_INTENSITY="backgroundIntensity",bd.BACKGROUND_ROTATION="backgroundRotation";const rk=is(bd,bd.BACKGROUND_BLURRINESS),C2=is(bd,bd.BACKGROUND_INTENSITY),ik=is(bd,bd.BACKGROUND_ROTATION);class aee extends vp{static get type(){return"StorageTextureNode"}constructor(e,t,n=null){super(e,t),this.storeNode=n,this.mipLevel=0,this.isStorageTextureNode=!0,this.access=nh.WRITE_ONLY}getInputType(){return"storageTexture"}setup(e){super.setup(e);const t=e.getNodeProperties(this);return t.storeNode=this.storeNode,t}setAccess(e){return this.access=e,this}setMipLevel(e){return this.mipLevel=e,this}generate(e,t){let n;return this.storeNode!==null?n=this.generateStore(e):n=super.generate(e,t),n}toReadWrite(){return this.setAccess(nh.READ_WRITE)}toReadOnly(){return this.setAccess(nh.READ_ONLY)}toWriteOnly(){return this.setAccess(nh.WRITE_ONLY)}generateStore(e){const t=e.getNodeProperties(this),{uvNode:n,storeNode:r,depthNode:s}=t,a=super.generate(e,"property"),o=n.build(e,this.value.is3DTexture===!0?"uvec3":"uvec2"),l=r.build(e,"vec4"),c=s?s.build(e,"int"):null,u=e.generateTextureStore(e,a,o,c,l);e.addLineFlowCode(u,this)}clone(){const e=super.clone();return e.storeNode=this.storeNode,e.mipLevel=this.mipLevel,e}}const sk=Ha(aee).setParameterLength(1,3),oee=(i,e,t)=>{const n=sk(i,e,t);return t!==null&&n.toStack(),n},lee=tr(({texture:i,uv:e})=>{const n=Wn().toVar();return Gs(e.x.lessThan(1e-4),()=>{n.assign(Wn(1,0,0))}).ElseIf(e.y.lessThan(1e-4),()=>{n.assign(Wn(0,1,0))}).ElseIf(e.z.lessThan(1e-4),()=>{n.assign(Wn(0,0,1))}).ElseIf(e.x.greaterThan(1-1e-4),()=>{n.assign(Wn(-1,0,0))}).ElseIf(e.y.greaterThan(1-1e-4),()=>{n.assign(Wn(0,-1,0))}).ElseIf(e.z.greaterThan(1-1e-4),()=>{n.assign(Wn(0,0,-1))}).Else(()=>{const s=i.sample(e.add(Wn(-.01,0,0))).r.sub(i.sample(e.add(Wn(.01,0,0))).r),a=i.sample(e.add(Wn(0,-.01,0))).r.sub(i.sample(e.add(Wn(0,.01,0))).r),o=i.sample(e.add(Wn(0,0,-.01))).r.sub(i.sample(e.add(Wn(0,0,.01))).r);n.assign(Wn(s,a,o))}),n.normalize()});class cee extends vp{static get type(){return"Texture3DNode"}constructor(e,t=null,n=null){super(e,t,n),this.isTexture3DNode=!0}getInputType(){return"texture3D"}getDefaultUV(){return Wn(.5,.5,.5)}setUpdateMatrix(){}setupUV(e,t){const n=this.value;return e.isFlipY()&&(n.isRenderTargetTexture===!0||n.isFramebufferTexture===!0)&&(this.sampler?t=t.flipY():t=t.setY(zn(Sg(this,this.levelNode).y).sub(t.y).sub(1))),t}generateUV(e,t){return t.build(e,this.sampler===!0?"vec3":"ivec3")}generateOffset(e,t){return t.build(e,"ivec3")}normal(e){return lee({texture:this,uv:e})}}const rE=Ha(cee).setParameterLength(1,3),uee=(...i)=>rE(...i).setSampler(!1),hee=(i,e,t)=>rE(i,e).level(t);class dee extends Rw{static get type(){return"UserDataNode"}constructor(e,t,n=null){super(e,t,n),this.userData=n}updateReference(e){return this.reference=this.userData!==null?this.userData:e.object.userData,this.reference}}const fee=(i,e,t)=>new dee(i,e,t),ak=new WeakMap;class Aee extends bc{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.projectionMatrix=null,this.updateType=Xa.OBJECT,this.updateAfterType=Xa.OBJECT,this.previousModelWorldMatrix=na(new pi),this.previousProjectionMatrix=na(new pi).setGroup(aa),this.previousCameraViewMatrix=na(new pi)}setProjectionMatrix(e){this.projectionMatrix=e}update({frameId:e,camera:t,object:n}){const r=lk(n);this.previousModelWorldMatrix.value.copy(r);const s=ok(t);s.frameId!==e&&(s.frameId=e,s.previousProjectionMatrix===void 0?(s.previousProjectionMatrix=new pi,s.previousCameraViewMatrix=new pi,s.currentProjectionMatrix=new pi,s.currentCameraViewMatrix=new pi,s.previousProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),s.previousCameraViewMatrix.copy(t.matrixWorldInverse)):(s.previousProjectionMatrix.copy(s.currentProjectionMatrix),s.previousCameraViewMatrix.copy(s.currentCameraViewMatrix)),s.currentProjectionMatrix.copy(this.projectionMatrix||t.projectionMatrix),s.currentCameraViewMatrix.copy(t.matrixWorldInverse),this.previousProjectionMatrix.value.copy(s.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(s.previousCameraViewMatrix))}updateAfter({object:e}){lk(e).copy(e.matrixWorld)}setup(){const e=this.projectionMatrix===null?Xh:na(this.projectionMatrix),t=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),n=e.mul(yp).mul(Ec),r=this.previousProjectionMatrix.mul(t).mul(Mw),s=n.xy.div(n.w),a=r.xy.div(r.w);return Oo(s,a)}}function ok(i){let e=ak.get(i);return e===void 0&&(e={},ak.set(i,e)),e}function lk(i,e=0){const t=ok(i);let n=t[e];return n===void 0&&(t[e]=n=new pi,t[e].copy(i.matrixWorld)),n}const pee=is(Aee),gee=tr(([i])=>M2(i.rgb)),mee=tr(([i,e=en(1)])=>e.mix(M2(i.rgb),i.rgb)),vee=tr(([i,e=en(1)])=>{const t=eu(i.r,i.g,i.b).div(3),n=i.r.max(i.g.max(i.b)),r=n.sub(t).mul(e).mul(-3);return Mo(i.rgb,n,r)}),yee=tr(([i,e=en(1)])=>{const t=Wn(.57735,.57735,.57735),n=e.cos();return Wn(i.rgb.mul(n).add(t.cross(i.rgb).mul(e.sin()).add(t.mul(Sf(t,i.rgb).mul(n.oneMinus())))))}),M2=(i,e=Wn(xr.getLuminanceCoefficients(new ye)))=>Sf(i,e),xee=tr(([i,e=Wn(1),t=Wn(0),n=Wn(1),r=en(1),s=Wn(xr.getLuminanceCoefficients(new ye,zo))])=>{const a=i.rgb.dot(Wn(s)),o=wc(i.rgb.mul(e).add(t),0).toVar(),l=o.pow(n).toVar();return Gs(o.r.greaterThan(0),()=>{o.r.assign(l.r)}),Gs(o.g.greaterThan(0),()=>{o.g.assign(l.g)}),Gs(o.b.greaterThan(0),()=>{o.b.assign(l.b)}),o.assign(a.add(o.sub(a).mul(r))),Rs(o.rgb,i.a)});class bee extends bc{static get type(){return"PosterizeNode"}constructor(e,t){super(),this.sourceNode=e,this.stepsNode=t}setup(){const{sourceNode:e,stepsNode:t}=this;return e.mul(t).floor().div(t)}}const _ee=Ha(bee).setParameterLength(2),iE=new Qe;class ck extends vp{static get type(){return"PassTextureNode"}constructor(e,t){super(t),this.passNode=e,this.setUpdateMatrix(!1)}setup(e){return this.passNode.build(e),super.setup(e)}clone(){return new this.constructor(this.passNode,this.value)}}class uk extends ck{static get type(){return"PassMultipleTextureNode"}constructor(e,t,n=!1){super(e,null),this.textureName=t,this.previousTexture=n}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(e){return this.updateTexture(),super.setup(e)}clone(){const e=new this.constructor(this.passNode,this.textureName,this.previousTexture);return e.uvNode=this.uvNode,e.levelNode=this.levelNode,e.biasNode=this.biasNode,e.sampler=this.sampler,e.depthNode=this.depthNode,e.compareNode=this.compareNode,e.gradNode=this.gradNode,e.offsetNode=this.offsetNode,e}}class wp extends bc{static get type(){return"PassNode"}constructor(e,t,n,r={}){super("vec4"),this.scope=e,this.scene=t,this.camera=n,this.options=r,this._pixelRatio=1,this._width=1,this._height=1;const s=new ja;s.isRenderTargetTexture=!0,s.name="depth";const a=new ha(this._width*this._pixelRatio,this._height*this._pixelRatio,ko({type:Dt},r));a.texture.name="output",a.depthTexture=s,this.renderTarget=a,this.overrideMaterial=null,this.transparent=!0,this.opaque=!0,this.contextNode=null,this._contextNodeCache=null,this._textures={output:a.texture,depth:s},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=na(0),this._cameraFar=na(0),this._mrt=null,this._layers=null,this._resolutionScale=1,this._viewport=null,this._scissor=null,this.isPassNode=!0,this.updateBeforeType=Xa.FRAME,this.global=!0}setResolutionScale(e){return this._resolutionScale=e,this}getResolutionScale(){return this._resolutionScale}setResolution(e){return sr("PassNode: .setResolution() is deprecated. Use .setResolutionScale() instead."),this.setResolutionScale(e)}getResolution(){return sr("PassNode: .getResolution() is deprecated. Use .getResolutionScale() instead."),this.getResolutionScale()}setLayers(e){return this._layers=e,this}getLayers(){return this._layers}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getTexture(e){let t=this._textures[e];return t===void 0&&(t=this.renderTarget.texture.clone(),t.name=e,this._textures[e]=t,this.renderTarget.textures.push(t)),t}getPreviousTexture(e){let t=this._previousTextures[e];return t===void 0&&(t=this.getTexture(e).clone(),this._previousTextures[e]=t),t}toggleTexture(e){const t=this._previousTextures[e];if(t!==void 0){const n=this._textures[e],r=this.renderTarget.textures.indexOf(n);this.renderTarget.textures[r]=t,this._textures[e]=t,this._previousTextures[e]=n,this._textureNodes[e].updateTexture(),this._previousTextureNodes[e].updateTexture()}}getTextureNode(e="output"){let t=this._textureNodes[e];return t===void 0&&(t=new uk(this,e),t.updateTexture(),this._textureNodes[e]=t),t}getPreviousTextureNode(e="output"){let t=this._previousTextureNodes[e];return t===void 0&&(this._textureNodes[e]===void 0&&this.getTextureNode(e),t=new uk(this,e,!0),t.updateTexture(),this._previousTextureNodes[e]=t),t}getViewZNode(e="depth"){let t=this._viewZNodes[e];if(t===void 0){const n=this._cameraNear,r=this._cameraFar;this._viewZNodes[e]=t=$B(this.getTextureNode(e),n,r)}return t}getLinearDepthNode(e="depth"){let t=this._linearDepthNodes[e];if(t===void 0){const n=this._cameraNear,r=this._cameraFar,s=this.getViewZNode(e);this._linearDepthNodes[e]=t=Wy(s,n,r)}return t}compileAsync(e){return va(this,null,function*(){const t=e.getRenderTarget(),n=e.getMRT();e.setRenderTarget(this.renderTarget),e.setMRT(this._mrt),yield e.compileAsync(this.scene,this.camera),e.setRenderTarget(t),e.setMRT(n)})}setup({renderer:e}){return this.renderTarget.samples=this.options.samples===void 0?e.samples:this.options.samples,this.renderTarget.texture.type=e.getOutputBufferType(),this.scope===wp.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(e){const{renderer:t}=e,{scene:n}=this;let r,s;const a=t.getOutputRenderTarget();a&&a.isXRRenderTarget===!0?(s=1,r=t.xr.getCamera(),t.xr.updateCamera(r),iE.set(a.width,a.height)):(r=this.camera,s=t.getPixelRatio(),t.getSize(iE)),this._pixelRatio=s,this.setSize(iE.width,iE.height);const o=t.getRenderTarget(),l=t.getMRT(),c=t.autoClear,u=t.transparent,h=t.opaque,d=r.layers.mask,f=t.contextNode,A=n.overrideMaterial;this._cameraNear.value=r.near,this._cameraFar.value=r.far,this._layers!==null&&(r.layers.mask=this._layers.mask);for(const b in this._previousTextures)this.toggleTexture(b);this.overrideMaterial!==null&&(n.overrideMaterial=this.overrideMaterial),t.setRenderTarget(this.renderTarget),t.setMRT(this._mrt),t.autoClear=!0,t.transparent=this.transparent,t.opaque=this.opaque,this.contextNode!==null&&((this._contextNodeCache===null||this._contextNodeCache.version!==this.version)&&(this._contextNodeCache={version:this.version,context:wg(ko(ko({},t.contextNode.getFlowContextData()),this.contextNode.getFlowContextData()))}),t.contextNode=this._contextNodeCache.context);const y=n.name;n.name=this.name?this.name:n.name,t.render(n,r),n.name=y,n.overrideMaterial=A,t.setRenderTarget(o),t.setMRT(l),t.autoClear=c,t.transparent=u,t.opaque=h,t.contextNode=f,r.layers.mask=d}setSize(e,t){this._width=e,this._height=t;const n=Math.floor(this._width*this._pixelRatio*this._resolutionScale),r=Math.floor(this._height*this._pixelRatio*this._resolutionScale);this.renderTarget.setSize(n,r),this._scissor!==null&&this.renderTarget.scissor.copy(this._scissor),this._viewport!==null&&this.renderTarget.viewport.copy(this._viewport)}setScissor(e,t,n,r){e===null?this._scissor=null:(this._scissor===null&&(this._scissor=new Mi),e.isVector4?this._scissor.copy(e):this._scissor.set(e,t,n,r),this._scissor.multiplyScalar(this._pixelRatio*this._resolutionScale).floor())}setViewport(e,t,n,r){e===null?this._viewport=null:(this._viewport===null&&(this._viewport=new Mi),e.isVector4?this._viewport.copy(e):this._viewport.set(e,t,n,r),this._viewport.multiplyScalar(this._pixelRatio*this._resolutionScale).floor())}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}wp.COLOR="color",wp.DEPTH="depth";const wee=(i,e,t)=>new wp(wp.COLOR,i,e,t),Eee=(i,e)=>new ck(i,e),See=(i,e,t)=>new wp(wp.DEPTH,i,e,t);class Cee extends wp{static get type(){return"ToonOutlinePassNode"}constructor(e,t,n,r,s){super(wp.COLOR,e,t),this.colorNode=n,this.thicknessNode=r,this.alphaNode=s,this._materialCache=new WeakMap,this.name="Outline Pass"}updateBefore(e){const{renderer:t}=e,n=t.getRenderObjectFunction();t.setRenderObjectFunction((r,s,a,o,l,c,u,h)=>{if((l.isMeshToonMaterial||l.isMeshToonNodeMaterial)&&l.wireframe===!1){const d=this._getOutlineMaterial(l);t.renderObject(r,s,a,o,d,c,u,h)}t.renderObject(r,s,a,o,l,c,u,h)}),super.updateBefore(e),t.setRenderObjectFunction(n)}_createMaterial(){const e=new Sc;e.isMeshToonOutlineMaterial=!0,e.name="Toon_Outline",e.side=ge;const t=vd.negate(),n=Xh.mul(yp),r=en(1),s=n.mul(Rs(Ec,1)),a=n.mul(Rs(Ec.add(t),1)),o=$h(s.sub(a));return e.vertexNode=s.add(o.mul(this.thicknessNode).mul(s.w).mul(r)),e.colorNode=Rs(this.colorNode,this.alphaNode),e}_getOutlineMaterial(e){let t=this._materialCache.get(e);return t===void 0&&(t=this._createMaterial(),this._materialCache.set(e,t)),t}}const Mee=(i,e,t=new hs(0,0,0),n=.003,r=1)=>ls(new Cee(i,e,ls(t),ls(n),ls(r))),hk=tr(([i,e])=>i.mul(e).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),dk=tr(([i,e])=>(i=i.mul(e),i.div(i.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),fk=tr(([i,e])=>{i=i.mul(e),i=i.sub(.004).max(0);const t=i.mul(i.mul(6.2).add(.5)),n=i.mul(i.mul(6.2).add(1.7)).add(.06);return t.div(n).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Tee=tr(([i])=>{const e=i.mul(i.add(.0245786)).sub(90537e-9),t=i.mul(i.add(.432951).mul(.983729)).add(.238081);return e.div(t)}),Ak=tr(([i,e])=>{const t=rh(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),n=rh(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return i=i.mul(e).div(.6),i=t.mul(i),i=Tee(i),i=n.mul(i),i.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Bee=rh(Wn(1.6605,-.1246,-.0182),Wn(-.5876,1.1329,-.1006),Wn(-.0728,-.0083,1.1187)),Ree=rh(Wn(.6274,.0691,.0164),Wn(.3293,.9195,.088),Wn(.0433,.0113,.8956)),Iee=tr(([i])=>{const e=Wn(i).toVar(),t=Wn(e.mul(e)).toVar(),n=Wn(t.mul(t)).toVar();return en(15.5).mul(n.mul(t)).sub(Ga(40.14,n.mul(e))).add(Ga(31.96,n).sub(Ga(6.868,t.mul(e))).add(Ga(.4298,t).add(Ga(.1191,e).sub(.00232))))}),pk=tr(([i,e])=>{const t=Wn(i).toVar(),n=rh(Wn(.856627153315983,.137318972929847,.11189821299995),Wn(.0951212405381588,.761241990602591,.0767994186031903),Wn(.0482516061458583,.101439036467562,.811302368396859)),r=rh(Wn(1.1271005818144368,-.1413297634984383,-.14132976349843826),Wn(-.11060664309660323,1.157823702216272,-.11060664309660294),Wn(-.016493938717834573,-.016493938717834257,1.2519364065950405)),s=en(-12.47393),a=en(4.026069);return t.mulAssign(e),t.assign(Ree.mul(t)),t.assign(n.mul(t)),t.assign(wc(t,1e-10)),t.assign(Ap(t)),t.assign(t.sub(s).div(a.sub(s))),t.assign(dA(t,0,1)),t.assign(Iee(t)),t.assign(r.mul(t)),t.assign(Cf(wc(Wn(0),t),Wn(2.2))),t.assign(Bee.mul(t)),t.assign(dA(t,0,1)),t}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),gk=tr(([i,e])=>{const t=en(.76),n=en(.15);i=i.mul(e);const r=md(i.r,md(i.g,i.b)),s=ih(r.lessThan(.08),r.sub(Ga(6.25,r.mul(r))),.04);i.subAssign(s);const a=wc(i.r,wc(i.g,i.b));Gs(a.lessThan(t),()=>i);const o=Oo(1,t),l=Oo(1,o.mul(o).div(a.add(o.sub(t))));i.mulAssign(l.div(a));const c=Oo(1,Qd(1,n.mul(a.sub(l)).add(1)));return Mo(i,Wn(l),c)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class Vu extends zs{static get type(){return"CodeNode"}constructor(e="",t=[],n=""){super("code"),this.isCodeNode=!0,this.global=!0,this.code=e,this.includes=t,this.language=n}setIncludes(e){return this.includes=e,this}getIncludes(){return this.includes}generate(e){const t=this.getIncludes(e);for(const r of t)r.build(e);const n=e.getCodeFromNode(this,this.getNodeType(e));return n.code=this.code,n.code}serialize(e){super.serialize(e),e.code=this.code,e.language=this.language}deserialize(e){super.deserialize(e),this.code=e.code,this.language=e.language}}const sE=Ha(Vu).setParameterLength(1,3),Nee=(i,e)=>sE(i,e,"js"),Pee=(i,e)=>sE(i,e,"wgsl"),Fee=(i,e)=>sE(i,e,"glsl");class mk extends Vu{static get type(){return"FunctionNode"}constructor(e="",t=[],n=""){super(e,t,n)}getNodeType(e){return this.getNodeFunction(e).type}getMemberType(e,t){const n=this.getNodeType(e);return e.getStructTypeNode(n).getMemberType(e,t)}getInputs(e){return this.getNodeFunction(e).inputs}getNodeFunction(e){const t=e.getDataFromNode(this);let n=t.nodeFunction;return n===void 0&&(n=e.parser.parseFunction(this.code),t.nodeFunction=n),n}generate(e,t){super.generate(e);const n=this.getNodeFunction(e),r=n.name,s=n.type,a=e.getCodeFromNode(this,s);r!==""&&(a.name=r);const o=e.getPropertyName(a),l=this.getNodeFunction(e).getCode(o);return a.code=l+` +`,t==="property"?o:e.format(`${o}()`,s,t)}}const vk=(i,e=[],t="")=>{for(let s=0;sn.call(...s);return r.functionNode=n,r},Oee=(i,e)=>vk(i,e,"glsl"),Lee=(i,e)=>vk(i,e,"wgsl");class Dee extends zs{static get type(){return"ScriptableValueNode"}constructor(e=null){super(),this._value=e,this._cache=null,this.inputType=null,this.outputType=null,this.events=new La,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(e){this._value!==e&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=e,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const e=this.value;if(e&&this._cache===null&&this.inputType==="URL"&&e.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([e.value]));else if(e&&e.value!==null&&e.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof e.value=="string"||this.inputType==="Number"&&typeof e.value=="number"||this.inputType==="Vector2"&&e.value.isVector2||this.inputType==="Vector3"&&e.value.isVector3||this.inputType==="Vector4"&&e.value.isVector4||this.inputType==="Color"&&e.value.isColor||this.inputType==="Matrix3"&&e.value.isMatrix3||this.inputType==="Matrix4"&&e.value.isMatrix4))return e.value;return this._cache||e}getNodeType(e){return this.value&&this.value.isNode?this.value.getNodeType(e):"float"}setup(){return this.value&&this.value.isNode?this.value:en()}serialize(e){super.serialize(e),this.value!==null?this.inputType==="ArrayBuffer"?e.value=ST(this.value):e.value=this.value?this.value.toJSON(e.meta).uuid:null:e.value=null,e.inputType=this.inputType,e.outputType=this.outputType}deserialize(e){super.deserialize(e);let t=null;e.value!==null&&(e.inputType==="ArrayBuffer"?t=CT(e.value):e.inputType==="Texture"?t=e.meta.textures[e.value]:t=e.meta.nodes[e.value]||null),this.value=t,this.inputType=e.inputType,this.outputType=e.outputType}}const aE=Ha(Dee).setParameterLength(1);class yk extends Map{get(e,t=null,...n){if(this.has(e))return super.get(e);if(t!==null){const r=t(...n);return this.set(e,r),r}}}class Uee{constructor(e){this.scriptableNode=e}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(e){return this.scriptableNode.getInputLayout(e)}get(e){const t=this.parameters[e];return t?t.getValue():null}}const oE=new yk;class kee extends zs{static get type(){return"ScriptableNode"}constructor(e=null,t={}){super(),this.codeNode=e,this.parameters=t,this._local=new yk,this._output=aE(null),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}get source(){return this.codeNode?this.codeNode.code:""}setLocal(e,t){return this._local.set(e,t)}getLocal(e){return this._local.get(e)}onRefresh(){this._refresh()}getInputLayout(e){for(const t of this.getLayout())if(t.inputType&&(t.id===e||t.name===e))return t}getOutputLayout(e){for(const t of this.getLayout())if(t.outputType&&(t.id===e||t.name===e))return t}setOutput(e,t){const n=this._outputs;return n[e]===void 0?n[e]=aE(t):n[e].value=t,this}getOutput(e){return this._outputs[e]}getParameter(e){return this.parameters[e]}setParameter(e,t){const n=this.parameters;return t&&t.isScriptableNode?(this.deleteParameter(e),n[e]=t,n[e].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):t&&t.isScriptableValueNode?(this.deleteParameter(e),n[e]=t,n[e].events.addEventListener("refresh",this.onRefresh)):n[e]===void 0?(n[e]=aE(t),n[e].events.addEventListener("refresh",this.onRefresh)):n[e].value=t,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(e){let t=this.parameters[e];return t&&(t.isScriptableNode&&(t=t.getDefaultOutput()),t.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const e of Object.keys(this.parameters))this.deleteParameter(e);return this.needsUpdate=!0,this}call(e,...t){const r=this.getObject()[e];if(typeof r=="function")return r(...t)}callAsync(e,...t){return va(this,null,function*(){const r=this.getObject()[e];if(typeof r=="function")return r.constructor.name==="AsyncFunction"?yield r(...t):r(...t)})}getNodeType(e){return this.getDefaultOutputNode().getNodeType(e)}refresh(e=null){e!==null?this.getOutput(e).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const e=()=>this.refresh(),t=(c,u)=>this.setOutput(c,u),n=new Uee(this),r=oE.get("THREE"),s=oE.get("TSL"),a=this.getMethod(),o=[n,this._local,oE,e,t,r,s];this._object=a(...o);const l=this._object.layout;if(l&&(l.cache===!1&&this._local.clear(),this._output.outputType=l.outputType||null,Array.isArray(l.elements)))for(const c of l.elements){const u=c.id||c.name;c.inputType&&(this.getParameter(u)===void 0&&this.setParameter(u,null),this.getParameter(u).inputType=c.inputType),c.outputType&&(this.getOutput(u)===void 0&&this.setOutput(u,null),this.getOutput(u).outputType=c.outputType)}return this._object}deserialize(e){super.deserialize(e);for(const t in this.parameters){let n=this.parameters[t];n.isScriptableNode&&(n=n.getDefaultOutput()),n.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const e=this.getDefaultOutput().value;return e&&e.isNode?e:en()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const e=["parameters","local","global","refresh","setOutput","THREE","TSL"],n=["layout","init","main","dispose"].join(", "),r="var "+n+`; var output = {}; +`,s=` +return { ...output, `+n+" };",a=r+this.codeNode.code+s;return this._method=new Function(...e,a),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(e){const t=[Iy(this.source),this.getDefaultOutputNode().getCacheKey(e)];for(const n in this.parameters)t.push(this.parameters[n].getCacheKey(e));return j0(t)}set needsUpdate(e){e===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const zee=Ha(kee).setParameterLength(1,2);function xk(i){let e;const t=i.context.getViewZ;return t!==void 0&&(e=t(this)),(e||Vc.z).negate()}const T2=tr(([i,e],t)=>{const n=xk(t);return Wd(i,e,n)}),B2=tr(([i],e)=>{const t=xk(e);return i.mul(i,t,t).negate().exp().oneMinus()}),n_=tr(([i,e])=>Rs(e.toFloat().mix(Oy.rgb,i.toVec3()),Oy.a));function Vee(i,e,t){return sr('TSL: "rangeFog( color, near, far )" is deprecated. Use "fog( color, rangeFogFactor( near, far ) )" instead.'),n_(i,T2(e,t))}function Hee(i,e){return sr('TSL: "densityFog( color, density )" is deprecated. Use "fog( color, densityFogFactor( density ) )" instead.'),n_(i,B2(e))}let hv=null,dv=null;class Gee extends zs{static get type(){return"RangeNode"}constructor(e=en(),t=en()){super(),this.minNode=e,this.maxNode=t}getVectorLength(e){const t=this.getConstNode(this.minNode),n=this.getConstNode(this.maxNode),r=e.getTypeLength(xg(t.value)),s=e.getTypeLength(xg(n.value));return r>s?r:s}getNodeType(e){return e.object.count>1?e.getTypeFromLength(this.getVectorLength(e)):"float"}getConstNode(e){let t=null;if(e.traverse(n=>{n.isConstNode===!0&&(t=n)}),t===null)throw new Error('THREE.TSL: No "ConstNode" found in node graph.');return t}setup(e){const t=e.object;let n=null;if(t.count>1){const r=this.getConstNode(this.minNode),s=this.getConstNode(this.maxNode),a=r.value,o=s.value,l=e.getTypeLength(xg(a)),c=e.getTypeLength(xg(o));hv=hv||new Mi,dv=dv||new Mi,hv.setScalar(0),dv.setScalar(0),l===1?hv.setScalar(a):a.isColor?hv.set(a.r,a.g,a.b,1):hv.set(a.x,a.y,a.z||0,a.w||0),c===1?dv.setScalar(o):o.isColor?dv.set(o.r,o.g,o.b,1):dv.set(o.x,o.y,o.z||0,o.w||0);const u=4,h=u*t.count,d=new Float32Array(h);for(let A=0;Anew Wee(i,e),Zee=r_("numWorkgroups","uvec3"),$ee=r_("workgroupId","uvec3"),jee=r_("globalId","uvec3"),Kee=r_("localId","uvec3"),Xee=r_("subgroupSize","uint");class Yee extends zs{constructor(e){super(),this.scope=e}generate(e){const{scope:t}=this,{renderer:n}=e;n.backend.isWebGLBackend===!0?e.addFlowCode(` // ${t}Barrier +`):e.addLineFlowCode(`${t}Barrier()`,this)}}const R2=Ha(Yee),qee=()=>R2("workgroup").toStack(),Jee=()=>R2("storage").toStack(),ete=()=>R2("texture").toStack();class tte extends X0{constructor(e,t){super(e,t),this.isWorkgroupInfoElementNode=!0}generate(e,t){let n;const r=e.context.assign;if(n=super.generate(e),r!==!0){const s=this.getNodeType(e);n=e.format(n,s,t)}return n}}class nte extends zs{constructor(e,t,n=0){super(t),this.bufferType=t,this.bufferCount=n,this.isWorkgroupInfoNode=!0,this.elementType=t,this.scope=e,this.name=""}setName(e){return this.name=e,this}label(e){return sr('TSL: "label()" has been deprecated. Use "setName()" instead.'),this.setName(e)}setScope(e){return this.scope=e,this}getElementType(){return this.elementType}getInputType(){return`${this.scope}Array`}element(e){return new tte(this,e)}generate(e){const t=this.name!==""?this.name:`${this.scope}Array_${this.id}`;return e.getScopedArray(t,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const rte=(i,e)=>new nte("Workgroup",i,e);class Mu extends zs{static get type(){return"AtomicFunctionNode"}constructor(e,t,n){super("uint"),this.method=e,this.pointerNode=t,this.valueNode=n,this.parents=!0}getInputType(e){return this.pointerNode.getNodeType(e)}getNodeType(e){return this.getInputType(e)}generate(e){const t=e.getNodeProperties(this),n=t.parents,r=this.method,s=this.getNodeType(e),a=this.getInputType(e),o=this.pointerNode,l=this.valueNode,c=[];c.push(`&${o.build(e,a)}`),l!==null&&c.push(l.build(e,a));const u=`${e.getMethod(r,s)}( ${c.join(", ")} )`;if(n?n.length===1&&n[0].isStackNode===!0:!1)e.addLineFlowCode(u,this);else return t.constNode===void 0&&(t.constNode=Eg(u,s).toConst()),t.constNode.build(e)}}Mu.ATOMIC_LOAD="atomicLoad",Mu.ATOMIC_STORE="atomicStore",Mu.ATOMIC_ADD="atomicAdd",Mu.ATOMIC_SUB="atomicSub",Mu.ATOMIC_MAX="atomicMax",Mu.ATOMIC_MIN="atomicMin",Mu.ATOMIC_AND="atomicAnd",Mu.ATOMIC_OR="atomicOr",Mu.ATOMIC_XOR="atomicXor";const ite=Ha(Mu),Ep=(i,e,t)=>ite(i,e,t).toStack(),ste=i=>Ep(Mu.ATOMIC_LOAD,i,null),ate=(i,e)=>Ep(Mu.ATOMIC_STORE,i,e),ote=(i,e)=>Ep(Mu.ATOMIC_ADD,i,e),lte=(i,e)=>Ep(Mu.ATOMIC_SUB,i,e),cte=(i,e)=>Ep(Mu.ATOMIC_MAX,i,e),ute=(i,e)=>Ep(Mu.ATOMIC_MIN,i,e),hte=(i,e)=>Ep(Mu.ATOMIC_AND,i,e),dte=(i,e)=>Ep(Mu.ATOMIC_OR,i,e),fte=(i,e)=>Ep(Mu.ATOMIC_XOR,i,e);class gs extends bc{static get type(){return"SubgroupFunctionNode"}constructor(e,t=null,n=null){super(),this.method=e,this.aNode=t,this.bNode=n}getInputType(e){const t=this.aNode?this.aNode.getNodeType(e):null,n=this.bNode?this.bNode.getNodeType(e):null,r=e.isMatrix(t)?0:e.getTypeLength(t),s=e.isMatrix(n)?0:e.getTypeLength(n);return r>s?t:n}getNodeType(e){const t=this.method;return t===gs.SUBGROUP_ELECT?"bool":t===gs.SUBGROUP_BALLOT?"uvec4":this.getInputType(e)}generate(e,t){const n=this.method,r=this.getNodeType(e),s=this.getInputType(e),a=this.aNode,o=this.bNode,l=[];if(n===gs.SUBGROUP_BROADCAST||n===gs.SUBGROUP_SHUFFLE||n===gs.QUAD_BROADCAST){const u=o.getNodeType(e);l.push(a.build(e,r),o.build(e,u==="float"?"int":r))}else n===gs.SUBGROUP_SHUFFLE_XOR||n===gs.SUBGROUP_SHUFFLE_DOWN||n===gs.SUBGROUP_SHUFFLE_UP?l.push(a.build(e,r),o.build(e,"uint")):(a!==null&&l.push(a.build(e,s)),o!==null&&l.push(o.build(e,s)));const c=l.length===0?"()":`( ${l.join(", ")} )`;return e.format(`${e.getMethod(n,r)}${c}`,r,t)}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}gs.SUBGROUP_ELECT="subgroupElect",gs.SUBGROUP_BALLOT="subgroupBallot",gs.SUBGROUP_ADD="subgroupAdd",gs.SUBGROUP_INCLUSIVE_ADD="subgroupInclusiveAdd",gs.SUBGROUP_EXCLUSIVE_AND="subgroupExclusiveAdd",gs.SUBGROUP_MUL="subgroupMul",gs.SUBGROUP_INCLUSIVE_MUL="subgroupInclusiveMul",gs.SUBGROUP_EXCLUSIVE_MUL="subgroupExclusiveMul",gs.SUBGROUP_AND="subgroupAnd",gs.SUBGROUP_OR="subgroupOr",gs.SUBGROUP_XOR="subgroupXor",gs.SUBGROUP_MIN="subgroupMin",gs.SUBGROUP_MAX="subgroupMax",gs.SUBGROUP_ALL="subgroupAll",gs.SUBGROUP_ANY="subgroupAny",gs.SUBGROUP_BROADCAST_FIRST="subgroupBroadcastFirst",gs.QUAD_SWAP_X="quadSwapX",gs.QUAD_SWAP_Y="quadSwapY",gs.QUAD_SWAP_DIAGONAL="quadSwapDiagonal",gs.SUBGROUP_BROADCAST="subgroupBroadcast",gs.SUBGROUP_SHUFFLE="subgroupShuffle",gs.SUBGROUP_SHUFFLE_XOR="subgroupShuffleXor",gs.SUBGROUP_SHUFFLE_UP="subgroupShuffleUp",gs.SUBGROUP_SHUFFLE_DOWN="subgroupShuffleDown",gs.QUAD_BROADCAST="quadBroadcast";const Ate=Gi(gs,gs.SUBGROUP_ELECT).setParameterLength(0),pte=Gi(gs,gs.SUBGROUP_BALLOT).setParameterLength(1),gte=Gi(gs,gs.SUBGROUP_ADD).setParameterLength(1),mte=Gi(gs,gs.SUBGROUP_INCLUSIVE_ADD).setParameterLength(1),vte=Gi(gs,gs.SUBGROUP_EXCLUSIVE_AND).setParameterLength(1),yte=Gi(gs,gs.SUBGROUP_MUL).setParameterLength(1),xte=Gi(gs,gs.SUBGROUP_INCLUSIVE_MUL).setParameterLength(1),bte=Gi(gs,gs.SUBGROUP_EXCLUSIVE_MUL).setParameterLength(1),_te=Gi(gs,gs.SUBGROUP_AND).setParameterLength(1),wte=Gi(gs,gs.SUBGROUP_OR).setParameterLength(1),Ete=Gi(gs,gs.SUBGROUP_XOR).setParameterLength(1),Ste=Gi(gs,gs.SUBGROUP_MIN).setParameterLength(1),Cte=Gi(gs,gs.SUBGROUP_MAX).setParameterLength(1),Mte=Gi(gs,gs.SUBGROUP_ALL).setParameterLength(0),Tte=Gi(gs,gs.SUBGROUP_ANY).setParameterLength(0),Bte=Gi(gs,gs.SUBGROUP_BROADCAST_FIRST).setParameterLength(2),Rte=Gi(gs,gs.QUAD_SWAP_X).setParameterLength(1),Ite=Gi(gs,gs.QUAD_SWAP_Y).setParameterLength(1),Nte=Gi(gs,gs.QUAD_SWAP_DIAGONAL).setParameterLength(1),Pte=Gi(gs,gs.SUBGROUP_BROADCAST).setParameterLength(2),Fte=Gi(gs,gs.SUBGROUP_SHUFFLE).setParameterLength(2),Ote=Gi(gs,gs.SUBGROUP_SHUFFLE_XOR).setParameterLength(2),Lte=Gi(gs,gs.SUBGROUP_SHUFFLE_UP).setParameterLength(2),Dte=Gi(gs,gs.SUBGROUP_SHUFFLE_DOWN).setParameterLength(2),Ute=Gi(gs,gs.QUAD_BROADCAST).setParameterLength(1);let lE;function cE(i){lE=lE||new WeakMap;let e=lE.get(i);return e===void 0&&lE.set(i,e={}),e}function uE(i){const e=cE(i);return e.shadowMatrix||(e.shadowMatrix=na("mat4").setGroup(aa).onRenderUpdate(t=>((i.castShadow!==!0||t.renderer.shadowMap.enabled===!1)&&(i.shadow.camera.coordinateSystem!==t.camera.coordinateSystem&&(i.shadow.camera.coordinateSystem=t.camera.coordinateSystem,i.shadow.camera.updateProjectionMatrix()),i.shadow.updateMatrices(i)),i.shadow.matrix)))}function bk(i,e=$d){const t=uE(i).mul(e);return t.xyz.div(t.w)}function I2(i){const e=cE(i);return e.position||(e.position=na(new ye).setGroup(aa).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(i.matrixWorld)))}function _k(i){const e=cE(i);return e.targetPosition||(e.targetPosition=na(new ye).setGroup(aa).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(i.target.matrixWorld)))}function N2(i){const e=cE(i);return e.viewPosition||(e.viewPosition=na(new ye).setGroup(aa).onRenderUpdate(({camera:t},n)=>{n.value=n.value||new ye,n.value.setFromMatrixPosition(i.matrixWorld),n.value.applyMatrix4(t.matrixWorldInverse)}))}const P2=i=>Zd.transformDirection(I2(i).sub(_k(i))),kte=i=>i.sort((e,t)=>e.id-t.id),zte=(i,e)=>{for(const t of e)if(t.isAnalyticLightNode&&t.light.id===i)return t;return null},F2=new WeakMap,i_=[];class O2 extends zs{static get type(){return"LightsNode"}constructor(){super("vec3"),this.totalDiffuseNode=cA("vec3","totalDiffuse"),this.totalSpecularNode=cA("vec3","totalSpecular"),this.outgoingLightNode=cA("vec3","outgoingLight"),this._lights=[],this._lightNodes=null,this._lightNodesHash=null,this.global=!0}customCacheKey(){const e=this._lights;for(let n=0;n0}}const Vte=(i=[])=>new O2().setLights(i);class Hte extends zs{static get type(){return"ShadowBaseNode"}constructor(e){super(),this.light=e,this.updateBeforeType=Xa.RENDER,this.isShadowBaseNode=!0}setupShadowPosition({context:e,material:t}){L2.assign(t.receivedShadowPositionNode||e.shadowPositionWorld||$d)}}const L2=cA("vec3","shadowPositionWorld");function D2(i,e={}){return e.toneMapping=i.toneMapping,e.toneMappingExposure=i.toneMappingExposure,e.outputColorSpace=i.outputColorSpace,e.renderTarget=i.getRenderTarget(),e.activeCubeFace=i.getActiveCubeFace(),e.activeMipmapLevel=i.getActiveMipmapLevel(),e.renderObjectFunction=i.getRenderObjectFunction(),e.pixelRatio=i.getPixelRatio(),e.mrt=i.getMRT(),e.clearColor=i.getClearColor(e.clearColor||new hs),e.clearAlpha=i.getClearAlpha(),e.autoClear=i.autoClear,e.scissorTest=i.getScissorTest(),e}function wk(i,e){return e=D2(i,e),i.setMRT(null),i.setRenderObjectFunction(null),i.setClearColor(0,1),i.autoClear=!0,e}function Ek(i,e){i.toneMapping=e.toneMapping,i.toneMappingExposure=e.toneMappingExposure,i.outputColorSpace=e.outputColorSpace,i.setRenderTarget(e.renderTarget,e.activeCubeFace,e.activeMipmapLevel),i.setRenderObjectFunction(e.renderObjectFunction),i.setPixelRatio(e.pixelRatio),i.setMRT(e.mrt),i.setClearColor(e.clearColor,e.clearAlpha),i.autoClear=e.autoClear,i.setScissorTest(e.scissorTest)}function U2(i,e={}){return e.background=i.background,e.backgroundNode=i.backgroundNode,e.overrideMaterial=i.overrideMaterial,e}function Sk(i,e){return e=U2(i,e),i.background=null,i.backgroundNode=null,i.overrideMaterial=null,e}function Ck(i,e){i.background=e.background,i.backgroundNode=e.backgroundNode,i.overrideMaterial=e.overrideMaterial}function Gte(i,e,t={}){return t=D2(i,t),t=U2(e,t),t}function Mk(i,e,t){return t=wk(i,t),t=Sk(e,t),t}function Tk(i,e,t){Ek(i,t),Ck(e,t)}var w_e=Object.freeze({__proto__:null,resetRendererAndSceneState:Mk,resetRendererState:wk,resetSceneState:Sk,restoreRendererAndSceneState:Tk,restoreRendererState:Ek,restoreSceneState:Ck,saveRendererAndSceneState:Gte,saveRendererState:D2,saveSceneState:U2});const hE=new WeakMap,Bk=tr(({depthTexture:i,shadowCoord:e,depthLayer:t})=>{let n=Yo(i,e.xy).setName("t_basic");return i.isArrayTexture&&(n=n.depth(t)),n.compare(e.z)}),Rk=tr(({depthTexture:i,shadowCoord:e,shadow:t,depthLayer:n})=>{const r=(u,h)=>{let d=Yo(i,u);return i.isArrayTexture&&(d=d.depth(n)),d.compare(h)},s=Rl("mapSize","vec2",t).setGroup(aa),a=Rl("radius","float",t).setGroup(aa),o=Ni(1).div(s),l=a.mul(o.x),c=E2(iv.xy).mul(6.28318530718);return eu(r(e.xy.add(AA(0,5,c).mul(l)),e.z),r(e.xy.add(AA(1,5,c).mul(l)),e.z),r(e.xy.add(AA(2,5,c).mul(l)),e.z),r(e.xy.add(AA(3,5,c).mul(l)),e.z),r(e.xy.add(AA(4,5,c).mul(l)),e.z)).mul(1/5)}),Ik=tr(({depthTexture:i,shadowCoord:e,shadow:t,depthLayer:n})=>{const r=(h,d)=>{let f=Yo(i,h);return i.isArrayTexture&&(f=f.depth(n)),f.compare(d)},s=Rl("mapSize","vec2",t).setGroup(aa),a=Ni(1).div(s),o=a.x,l=a.y,c=e.xy,u=uA(c.mul(s).add(.5));return c.subAssign(u.mul(a)),eu(r(c,e.z),r(c.add(Ni(o,0)),e.z),r(c.add(Ni(0,l)),e.z),r(c.add(a),e.z),Mo(r(c.add(Ni(o.negate(),0)),e.z),r(c.add(Ni(o.mul(2),0)),e.z),u.x),Mo(r(c.add(Ni(o.negate(),l)),e.z),r(c.add(Ni(o.mul(2),l)),e.z),u.x),Mo(r(c.add(Ni(0,l.negate())),e.z),r(c.add(Ni(0,l.mul(2))),e.z),u.y),Mo(r(c.add(Ni(o,l.negate())),e.z),r(c.add(Ni(o,l.mul(2))),e.z),u.y),Mo(Mo(r(c.add(Ni(o.negate(),l.negate())),e.z),r(c.add(Ni(o.mul(2),l.negate())),e.z),u.x),Mo(r(c.add(Ni(o.negate(),l.mul(2))),e.z),r(c.add(Ni(o.mul(2),l.mul(2))),e.z),u.x),u.y)).mul(1/9)}),Nk=tr(({depthTexture:i,shadowCoord:e,depthLayer:t})=>{let n=Yo(i).sample(e.xy);i.isArrayTexture&&(n=n.depth(t)),n=n.rg;const r=n.x,s=wc(1e-7,n.y.mul(n.y)),a=xw(e.z,r);Gs(a.equal(1),()=>en(1));const o=e.z.sub(r);let l=s.div(s.add(o.mul(o)));return l=dA(Oo(l,.3).div(.65)),wc(a,l)}),Qte=tr(([i,e,t])=>{let n=$d.sub(i).length();return n=n.sub(e).div(t.sub(e)),n=n.saturate(),n}),Wte=i=>{const e=i.shadow.camera,t=Rl("near","float",e).setGroup(aa),n=Rl("far","float",e).setGroup(aa),r=ML(i);return Qte(r,t,n)},Pk=i=>{let e=hE.get(i);if(e===void 0){const t=i.isPointLight?Wte(i):null;e=new Sc,e.colorNode=Rs(0,0,0,1),e.depthNode=t,e.isShadowPassMaterial=!0,e.name="ShadowMaterial",e.fog=!1,hE.set(i,e)}return e},Fk=i=>{const e=hE.get(i);e!==void 0&&(e.dispose(),hE.delete(i))},Ok=new fA,ex=[],Lk=(i,e,t,n)=>{ex[0]=i,ex[1]=e;let r=Ok.get(ex);return(r===void 0||r.shadowType!==t||r.useVelocity!==n)&&(r=(s,a,o,l,c,u,...h)=>{(s.castShadow===!0||s.receiveShadow&&t===ee)&&(n&&(ET(s).useVelocity=!0),s.onBeforeShadow(i,s,o,e.camera,l,a.overrideMaterial,u),i.renderObject(s,a,o,l,c,u,...h),s.onAfterShadow(i,s,o,e.camera,l,a.overrideMaterial,u))},r.shadowType=t,r.useVelocity=n,Ok.set(ex,r)),ex[0]=null,ex[1]=null,r},Zte=tr(({samples:i,radius:e,size:t,shadowPass:n,depthLayer:r})=>{const s=en(0).toVar("meanVertical"),a=en(0).toVar("squareMeanVertical"),o=i.lessThanEqual(en(1)).select(en(0),en(2).div(i.sub(1))),l=i.lessThanEqual(en(1)).select(en(0),en(-1));fl({start:zn(0),end:zn(i),type:"int",condition:"<"},({i:u})=>{const h=l.add(en(u).mul(o));let d=n.sample(eu(iv.xy,Ni(0,h).mul(e)).div(t));n.value.isArrayTexture&&(d=d.depth(r)),d=d.x,s.addAssign(d),a.addAssign(d.mul(d))}),s.divAssign(i),a.divAssign(i);const c=Rh(a.sub(s.mul(s)).max(0));return Ni(s,c)}),$te=tr(({samples:i,radius:e,size:t,shadowPass:n,depthLayer:r})=>{const s=en(0).toVar("meanHorizontal"),a=en(0).toVar("squareMeanHorizontal"),o=i.lessThanEqual(en(1)).select(en(0),en(2).div(i.sub(1))),l=i.lessThanEqual(en(1)).select(en(0),en(-1));fl({start:zn(0),end:zn(i),type:"int",condition:"<"},({i:u})=>{const h=l.add(en(u).mul(o));let d=n.sample(eu(iv.xy,Ni(h,0).mul(e)).div(t));n.value.isArrayTexture&&(d=d.depth(r)),s.addAssign(d.x),a.addAssign(eu(d.y.mul(d.y),d.x.mul(d.x)))}),s.divAssign(i),a.divAssign(i);const c=Rh(a.sub(s.mul(s)).max(0));return Ni(s,c)}),jte=[Bk,Rk,Ik,Nk];let k2;const dE=new e_;class Dk extends Hte{static get type(){return"ShadowNode"}constructor(e,t=null){super(e),this.shadow=t||e.shadow,this.shadowMap=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this._node=null,this._currentShadowType=null,this._cameraFrameId=new WeakMap,this.isShadowNode=!0,this.depthLayer=0}setupShadowFilter(e,{filterFn:t,depthTexture:n,shadowCoord:r,shadow:s,depthLayer:a}){const o=r.x.greaterThanEqual(0).and(r.x.lessThanEqual(1)).and(r.y.greaterThanEqual(0)).and(r.y.lessThanEqual(1)).and(r.z.lessThanEqual(1)),l=t({depthTexture:n,shadowCoord:r,shadow:s,depthLayer:a});return o.select(l,en(1))}setupShadowCoord(e,t){const{shadow:n}=this,{renderer:r}=e,s=Rl("bias","float",n).setGroup(aa);let a=t,o;if(n.camera.isOrthographicCamera||r.logarithmicDepthBuffer!==!0)a=a.xyz.div(a.w),o=a.z,r.coordinateSystem===Vo&&(o=o.mul(2).sub(1));else{const l=a.w;a=a.xy.div(l);const c=Rl("near","float",n.camera).setGroup(aa),u=Rl("far","float",n.camera).setGroup(aa);o=jB(l.negate(),c,u)}return a=Wn(a.x,a.y.oneMinus(),o.add(s)),a}getShadowFilterFn(e){return jte[e]}setupRenderTarget(e,t){const n=new ja(e.mapSize.width,e.mapSize.height);n.name="ShadowDepthTexture",n.compareFunction=ia;const r=t.createRenderTarget(e.mapSize.width,e.mapSize.height);return r.texture.name="ShadowMap",r.texture.type=e.mapType,r.depthTexture=n,{shadowMap:r,depthTexture:n}}setupShadow(e){const{renderer:t,camera:n}=e,{light:r,shadow:s}=this,a=t.shadowMap.type,{depthTexture:o,shadowMap:l}=this.setupRenderTarget(s,e);if(s.camera.coordinateSystem=n.coordinateSystem,s.camera.updateProjectionMatrix(),a===ee&&s.isPointLightShadow!==!0){o.compareFunction=null,l.depth>1?(l._vsmShadowMapVertical||(l._vsmShadowMapVertical=e.createRenderTarget(s.mapSize.width,s.mapSize.height,{format:$e,type:Dt,depth:l.depth,depthBuffer:!1}),l._vsmShadowMapVertical.texture.name="VSMVertical"),this.vsmShadowMapVertical=l._vsmShadowMapVertical,l._vsmShadowMapHorizontal||(l._vsmShadowMapHorizontal=e.createRenderTarget(s.mapSize.width,s.mapSize.height,{format:$e,type:Dt,depth:l.depth,depthBuffer:!1}),l._vsmShadowMapHorizontal.texture.name="VSMHorizontal"),this.vsmShadowMapHorizontal=l._vsmShadowMapHorizontal):(this.vsmShadowMapVertical=e.createRenderTarget(s.mapSize.width,s.mapSize.height,{format:$e,type:Dt,depthBuffer:!1}),this.vsmShadowMapHorizontal=e.createRenderTarget(s.mapSize.width,s.mapSize.height,{format:$e,type:Dt,depthBuffer:!1}));let k=Yo(o);o.isArrayTexture&&(k=k.depth(this.depthLayer));let $=Yo(this.vsmShadowMapVertical.texture);o.isArrayTexture&&($=$.depth(this.depthLayer));const se=Rl("blurSamples","float",s).setGroup(aa),ie=Rl("radius","float",s).setGroup(aa),ce=Rl("mapSize","vec2",s).setGroup(aa);let ue=this.vsmMaterialVertical||(this.vsmMaterialVertical=new Sc);ue.fragmentNode=Zte({samples:se,radius:ie,size:ce,shadowPass:k,depthLayer:this.depthLayer}).context(e.getSharedContext()),ue.name="VSMVertical",ue=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new Sc),ue.fragmentNode=$te({samples:se,radius:ie,size:ce,shadowPass:$,depthLayer:this.depthLayer}).context(e.getSharedContext()),ue.name="VSMHorizontal"}const c=Rl("intensity","float",s).setGroup(aa),u=Rl("normalBias","float",s).setGroup(aa),h=uE(r).mul(L2.add(Dm.mul(u))),d=this.setupShadowCoord(e,h),f=s.filterNode||this.getShadowFilterFn(t.shadowMap.type)||null;if(f===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const A=a===ee&&s.isPointLightShadow!==!0?this.vsmShadowMapHorizontal.texture:o,y=this.setupShadowFilter(e,{filterFn:f,shadowTexture:l.texture,depthTexture:A,shadowCoord:d,shadow:s,depthLayer:this.depthLayer});let b;l.texture.isCubeTexture?b=Yh(l.texture,d.xyz):(b=Yo(l.texture,d),o.isArrayTexture&&(b=b.depth(this.depthLayer)));const x=Mo(1,y.rgb.mix(b,1),c.mul(b.a)).toVar();this.shadowMap=l,this.shadow.map=l;const P=`${this.light.type} Shadow [ ${this.light.name||"ID: "+this.light.id} ]`;return x.toInspector(`${P} / Color`,()=>this.shadowMap.texture.isCubeTexture?Yh(this.shadowMap.texture):Yo(this.shadowMap.texture)).toInspector(`${P} / Depth`,()=>this.shadowMap.texture.isCubeTexture?Yh(this.shadowMap.texture).r.oneMinus():Nc(this.shadowMap.depthTexture,_l().mul(Sg(Yo(this.shadowMap.depthTexture)))).r.oneMinus())}setup(e){if(e.renderer.shadowMap.enabled!==!1)return tr(()=>{const t=e.renderer.shadowMap.type;this._currentShadowType!==t&&(this._reset(),this._node=null);let n=this._node;return this.setupShadowPosition(e),n===null&&(this._node=n=this.setupShadow(e),this._currentShadowType=t),e.material.shadowNode&&sr('NodeMaterial: ".shadowNode" is deprecated. Use ".castShadowNode" instead.'),e.material.receivedShadowNode&&(n=e.material.receivedShadowNode(n)),n})()}renderShadow(e){const{shadow:t,shadowMap:n,light:r}=this,{renderer:s,scene:a}=e;t.updateMatrices(r),n.setSize(t.mapSize.width,t.mapSize.height,n.depth);const o=a.name;a.name=`Shadow Map [ ${r.name||"ID: "+r.id} ]`,s.render(a,t.camera),a.name=o}updateShadow(e){const{shadowMap:t,light:n,shadow:r}=this,{renderer:s,scene:a,camera:o}=e,l=s.shadowMap.type,c=t.depthTexture.version;this._depthVersionCached=c;const u=r.camera.layers.mask;r.camera.layers.mask&4294967294||(r.camera.layers.mask=o.layers.mask);const h=s.getRenderObjectFunction(),d=s.getMRT(),f=d?d.has("velocity"):!1;k2=Mk(s,a,k2),a.overrideMaterial=Pk(n),s.setRenderObjectFunction(Lk(s,r,l,f)),s.setClearColor(0,0),s.setRenderTarget(t),this.renderShadow(e),s.setRenderObjectFunction(h),l===ee&&r.isPointLightShadow!==!0&&this.vsmPass(s),r.camera.layers.mask=u,Tk(s,a,k2)}vsmPass(e){const{shadow:t}=this,n=this.shadowMap.depth;this.vsmShadowMapVertical.setSize(t.mapSize.width,t.mapSize.height,n),this.vsmShadowMapHorizontal.setSize(t.mapSize.width,t.mapSize.height,n),e.setRenderTarget(this.vsmShadowMapVertical),dE.material=this.vsmMaterialVertical,dE.render(e),e.setRenderTarget(this.vsmShadowMapHorizontal),dE.material=this.vsmMaterialHorizontal,dE.render(e)}dispose(){this._reset(),super.dispose()}_reset(){this._currentShadowType=null,Fk(this.light),this.shadowMap&&(this.shadowMap.dispose(),this.shadowMap=null),this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null)}updateBefore(e){const{shadow:t}=this;let n=t.needsUpdate||t.autoUpdate;n&&(this._cameraFrameId[e.camera]===e.frameId&&(n=!1),this._cameraFrameId[e.camera]=e.frameId),n&&(this.updateShadow(e),this.shadowMap.depthTexture.version===this._depthVersionCached&&(t.needsUpdate=!1))}}const Uk=(i,e)=>new Dk(i,e),Kte=new hs,kk=new pi,s_=new ye,z2=new ye,Xte=[new ye(1,0,0),new ye(-1,0,0),new ye(0,-1,0),new ye(0,1,0),new ye(0,0,1),new ye(0,0,-1)],Yte=[new ye(0,-1,0),new ye(0,-1,0),new ye(0,0,-1),new ye(0,0,1),new ye(0,-1,0),new ye(0,-1,0)],qte=[new ye(1,0,0),new ye(-1,0,0),new ye(0,1,0),new ye(0,-1,0),new ye(0,0,1),new ye(0,0,-1)],Jte=[new ye(0,-1,0),new ye(0,-1,0),new ye(0,0,1),new ye(0,0,-1),new ye(0,-1,0),new ye(0,-1,0)],zk=tr(({depthTexture:i,bd3D:e,dp:t})=>Yh(i,e).compare(t)),Vk=tr(({depthTexture:i,bd3D:e,dp:t,shadow:n})=>{const r=Rl("radius","float",n).setGroup(aa),s=Rl("mapSize","vec2",n).setGroup(aa),a=r.div(s.x),o=Vl(e),l=$h(_g(e,o.x.greaterThan(o.z).select(Wn(0,1,0),Wn(1,0,0)))),c=_g(e,l),u=E2(iv.xy).mul(6.28318530718),h=AA(0,5,u),d=AA(1,5,u),f=AA(2,5,u),A=AA(3,5,u),y=AA(4,5,u);return Yh(i,e.add(l.mul(h.x).add(c.mul(h.y)).mul(a))).compare(t).add(Yh(i,e.add(l.mul(d.x).add(c.mul(d.y)).mul(a))).compare(t)).add(Yh(i,e.add(l.mul(f.x).add(c.mul(f.y)).mul(a))).compare(t)).add(Yh(i,e.add(l.mul(A.x).add(c.mul(A.y)).mul(a))).compare(t)).add(Yh(i,e.add(l.mul(y.x).add(c.mul(y.y)).mul(a))).compare(t)).mul(1/5)}),ene=tr(({filterFn:i,depthTexture:e,shadowCoord:t,shadow:n})=>{const r=t.xyz.toVar(),s=r.length(),a=na("float").setGroup(aa).onRenderUpdate(()=>n.camera.near),o=na("float").setGroup(aa).onRenderUpdate(()=>n.camera.far),l=Rl("bias","float",n).setGroup(aa),c=en(1).toVar();return Gs(s.sub(o).lessThanEqual(0).and(s.sub(a).greaterThanEqual(0)),()=>{const u=s.sub(a).div(o.sub(a)).toVar();u.addAssign(l);const h=r.normalize();c.assign(i({depthTexture:e,bd3D:h,dp:u,shadow:n}))}),c});class tne extends Dk{static get type(){return"PointShadowNode"}constructor(e,t=null){super(e,t)}getShadowFilterFn(e){return e===T?zk:Vk}setupShadowCoord(e,t){return t}setupShadowFilter(e,{filterFn:t,depthTexture:n,shadowCoord:r,shadow:s}){return ene({filterFn:t,depthTexture:n,shadowCoord:r,shadow:s})}setupRenderTarget(e,t){const n=new yl(e.mapSize.width);n.name="PointShadowDepthTexture",n.compareFunction=ia;const r=t.createCubeRenderTarget(e.mapSize.width);return r.texture.name="PointShadowMap",r.depthTexture=n,{shadowMap:r,depthTexture:n}}renderShadow(e){const{shadow:t,shadowMap:n,light:r}=this,{renderer:s,scene:a}=e,o=t.camera,l=t.matrix,c=s.coordinateSystem===Vo,u=c?Xte:qte,h=c?Yte:Jte;n.setSize(t.mapSize.width,t.mapSize.width);const d=s.autoClear,f=s.getClearColor(Kte),A=s.getClearAlpha();s.autoClear=!1,s.setClearColor(t.clearColor,t.clearAlpha);for(let y=0;y<6;y++){s.setRenderTarget(n,y),s.clear();const b=r.distance||o.far;b!==o.far&&(o.far=b,o.updateProjectionMatrix()),s_.setFromMatrixPosition(r.matrixWorld),o.position.copy(s_),z2.copy(o.position),z2.add(u[y]),o.up.copy(h[y]),o.lookAt(z2),o.updateMatrixWorld(),l.makeTranslation(-s_.x,-s_.y,-s_.z),kk.multiplyMatrices(o.projectionMatrix,o.matrixWorldInverse),t._frustum.setFromProjectionMatrix(kk,o.coordinateSystem,o.reversedDepth);const x=a.name;a.name=`Point Light Shadow [ ${r.name||"ID: "+r.id} ] - Face ${y+1}`,s.render(a,o),a.name=x}s.autoClear=d,s.setClearColor(f,A)}}const Hk=(i,e)=>new tne(i,e);class fv extends Gy{static get type(){return"AnalyticLightNode"}constructor(e=null){super(),this.light=e,this.color=new hs,this.colorNode=e&&e.colorNode||na(this.color).setGroup(aa),this.baseColorNode=null,this.shadowNode=null,this.shadowColorNode=null,this.isAnalyticLightNode=!0,this.updateType=Xa.FRAME,e&&e.shadow&&(this._shadowDisposeListener=()=>{this.disposeShadow()},e.addEventListener("dispose",this._shadowDisposeListener))}dispose(){this._shadowDisposeListener&&this.light.removeEventListener("dispose",this._shadowDisposeListener),super.dispose()}disposeShadow(){this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null),this.shadowColorNode=null,this.baseColorNode!==null&&(this.colorNode=this.baseColorNode,this.baseColorNode=null)}getHash(){return this.light.uuid}getLightVector(e){return N2(this.light).sub(e.context.positionView||Vc)}setupDirect(){}setupDirectRectArea(){}setupShadowNode(){return Uk(this.light)}setupShadow(e){const{renderer:t}=e;if(t.shadowMap.enabled===!1)return;let n=this.shadowColorNode;if(n===null){const r=this.light.shadow.shadowNode;let s;r!==void 0?s=ls(r):s=this.setupShadowNode(),this.shadowNode=s,this.shadowColorNode=n=this.colorNode.mul(s),this.baseColorNode=this.colorNode}e.context.getShadow&&(n=e.context.getShadow(this,e)),this.colorNode=n}setup(e){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?e.object.receiveShadow&&this.setupShadow(e):this.shadowNode!==null&&(this.shadowNode.dispose(),this.shadowNode=null,this.shadowColorNode=null);const t=this.setupDirect(e),n=this.setupDirectRectArea(e);t&&e.lightsNode.setupDirectLight(e,this,t),n&&e.lightsNode.setupDirectRectAreaLight(e,this,n)}update(){const{light:e}=this;this.color.copy(e.color).multiplyScalar(e.intensity)}}const V2=tr(({lightDistance:i,cutoffDistance:e,decayExponent:t})=>{const n=i.pow(t).max(.01).reciprocal();return e.greaterThan(0).select(n.mul(i.div(e).pow4().oneMinus().clamp().pow2()),n)}),Gk=({color:i,lightVector:e,cutoffDistance:t,decayExponent:n})=>{const r=e.normalize(),s=e.length(),a=V2({lightDistance:s,cutoffDistance:t,decayExponent:n}),o=i.mul(a);return{lightDirection:r,lightColor:o}};class nne extends fv{static get type(){return"PointLightNode"}constructor(e=null){super(e),this.cutoffDistanceNode=na(0).setGroup(aa),this.decayExponentNode=na(2).setGroup(aa)}update(e){const{light:t}=this;super.update(e),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}setupShadowNode(){return Hk(this.light)}setupDirect(e){return Gk({color:this.colorNode,lightVector:this.getLightVector(e),cutoffDistance:this.cutoffDistanceNode,decayExponent:this.decayExponentNode})}}const rne=tr(([i=_l()])=>{const e=i.mul(2),t=e.x.floor(),n=e.y.floor();return t.add(n).mod(2).sign()}),ine=tr(([i=_l()],{renderer:e,material:t})=>{const n=oB(i.mul(2).sub(1));let r;if(t.alphaToCoverage&&e.currentSamples>0){const s=en(n.fwidth()).toVar();r=Wd(s.oneMinus(),s.add(1),n).oneMinus()}else r=ih(n.greaterThan(1),0,1);return r}),a_=tr(([i,e,t])=>{const n=en(t).toVar(),r=en(e).toVar(),s=Ef(i).toVar();return ih(s,r,n)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),fE=tr(([i,e])=>{const t=Ef(e).toVar(),n=en(i).toVar();return ih(t,n.negate(),n)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),tu=tr(([i])=>{const e=en(i).toVar();return zn(pp(e))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),gc=tr(([i,e])=>{const t=en(i).toVar();return e.assign(tu(t)),t.sub(en(e))}),Qk=ah([tr(([i,e,t,n,r,s])=>{const a=en(s).toVar(),o=en(r).toVar(),l=en(n).toVar(),c=en(t).toVar(),u=en(e).toVar(),h=en(i).toVar(),d=en(Oo(1,o)).toVar();return Oo(1,a).mul(h.mul(d).add(u.mul(o))).add(a.mul(c.mul(d).add(l.mul(o))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),tr(([i,e,t,n,r,s])=>{const a=en(s).toVar(),o=en(r).toVar(),l=Wn(n).toVar(),c=Wn(t).toVar(),u=Wn(e).toVar(),h=Wn(i).toVar(),d=en(Oo(1,o)).toVar();return Oo(1,a).mul(h.mul(d).add(u.mul(o))).add(a.mul(c.mul(d).add(l.mul(o))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]})]),Wk=ah([tr(([i,e,t,n,r,s,a,o,l,c,u])=>{const h=en(u).toVar(),d=en(c).toVar(),f=en(l).toVar(),A=en(o).toVar(),y=en(a).toVar(),b=en(s).toVar(),x=en(r).toVar(),P=en(n).toVar(),k=en(t).toVar(),$=en(e).toVar(),se=en(i).toVar(),ie=en(Oo(1,f)).toVar(),ce=en(Oo(1,d)).toVar();return en(Oo(1,h)).toVar().mul(ce.mul(se.mul(ie).add($.mul(f))).add(d.mul(k.mul(ie).add(P.mul(f))))).add(h.mul(ce.mul(x.mul(ie).add(b.mul(f))).add(d.mul(y.mul(ie).add(A.mul(f))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),tr(([i,e,t,n,r,s,a,o,l,c,u])=>{const h=en(u).toVar(),d=en(c).toVar(),f=en(l).toVar(),A=Wn(o).toVar(),y=Wn(a).toVar(),b=Wn(s).toVar(),x=Wn(r).toVar(),P=Wn(n).toVar(),k=Wn(t).toVar(),$=Wn(e).toVar(),se=Wn(i).toVar(),ie=en(Oo(1,f)).toVar(),ce=en(Oo(1,d)).toVar();return en(Oo(1,h)).toVar().mul(ce.mul(se.mul(ie).add($.mul(f))).add(d.mul(k.mul(ie).add(P.mul(f))))).add(h.mul(ce.mul(x.mul(ie).add(b.mul(f))).add(d.mul(y.mul(ie).add(A.mul(f))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]})]),Hu=ah([tr(([i,e,t])=>{const n=en(t).toVar(),r=en(e).toVar(),s=Ti(i).toVar(),a=Ti(s.bitAnd(Ti(7))).toVar(),o=en(a_(a.lessThan(Ti(4)),r,n)).toVar(),l=en(Ga(2,a_(a.lessThan(Ti(4)),n,r))).toVar();return fE(o,Ef(a.bitAnd(Ti(1)))).add(fE(l,Ef(a.bitAnd(Ti(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=en(e).toVar(),o=Ti(i).toVar(),l=Ti(o.bitAnd(Ti(15))).toVar(),c=en(a_(l.lessThan(Ti(8)),a,s)).toVar(),u=en(a_(l.lessThan(Ti(4)),s,a_(l.equal(Ti(12)).or(l.equal(Ti(14))),a,r))).toVar();return fE(c,Ef(l.bitAnd(Ti(1)))).add(fE(u,Ef(l.bitAnd(Ti(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),If=ah([tr(([i,e,t])=>{const n=en(t).toVar(),r=en(e).toVar(),s=q0(i).toVar();return Wn(Hu(s.x,r,n),Hu(s.y,r,n),Hu(s.z,r,n))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=en(e).toVar(),o=q0(i).toVar();return Wn(Hu(o.x,a,s,r),Hu(o.y,a,s,r),Hu(o.z,a,s,r))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]})]),sne=tr(([i])=>{const e=en(i).toVar();return Ga(.6616,e)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),ane=tr(([i])=>{const e=en(i).toVar();return Ga(.982,e)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),Zk=ah([sne,tr(([i])=>{const e=Wn(i).toVar();return Ga(.6616,e)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),$k=ah([ane,tr(([i])=>{const e=Wn(i).toVar();return Ga(.982,e)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]})]),Xd=tr(([i,e])=>{const t=zn(e).toVar(),n=Ti(i).toVar();return n.shiftLeft(t).bitOr(n.shiftRight(zn(32).sub(t)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),jk=tr(([i,e,t])=>{i.subAssign(t),i.bitXorAssign(Xd(t,zn(4))),t.addAssign(e),e.subAssign(i),e.bitXorAssign(Xd(i,zn(6))),i.addAssign(t),t.subAssign(e),t.bitXorAssign(Xd(e,zn(8))),e.addAssign(i),i.subAssign(t),i.bitXorAssign(Xd(t,zn(16))),t.addAssign(e),e.subAssign(i),e.bitXorAssign(Xd(i,zn(19))),i.addAssign(t),t.subAssign(e),t.bitXorAssign(Xd(e,zn(4))),e.addAssign(i)}),o_=tr(([i,e,t])=>{const n=Ti(t).toVar(),r=Ti(e).toVar(),s=Ti(i).toVar();return n.bitXorAssign(r),n.subAssign(Xd(r,zn(14))),s.bitXorAssign(n),s.subAssign(Xd(n,zn(11))),r.bitXorAssign(s),r.subAssign(Xd(s,zn(25))),n.bitXorAssign(r),n.subAssign(Xd(r,zn(16))),s.bitXorAssign(n),s.subAssign(Xd(n,zn(4))),r.bitXorAssign(s),r.subAssign(Xd(s,zn(14))),n.bitXorAssign(r),n.subAssign(Xd(r,zn(24))),n}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),Nh=tr(([i])=>{const e=Ti(i).toVar();return en(e).div(en(Ti(zn(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),Sp=tr(([i])=>{const e=en(i).toVar();return e.mul(e).mul(e).mul(e.mul(e.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),Il=ah([tr(([i])=>{const e=zn(i).toVar(),t=Ti(Ti(1)).toVar(),n=Ti(Ti(zn(3735928559)).add(t.shiftLeft(Ti(2))).add(Ti(13))).toVar();return o_(n.add(Ti(e)),n,n)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),tr(([i,e])=>{const t=zn(e).toVar(),n=zn(i).toVar(),r=Ti(Ti(2)).toVar(),s=Ti().toVar(),a=Ti().toVar(),o=Ti().toVar();return s.assign(a.assign(o.assign(Ti(zn(3735928559)).add(r.shiftLeft(Ti(2))).add(Ti(13))))),s.addAssign(Ti(n)),a.addAssign(Ti(t)),o_(s,a,o)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),tr(([i,e,t])=>{const n=zn(t).toVar(),r=zn(e).toVar(),s=zn(i).toVar(),a=Ti(Ti(3)).toVar(),o=Ti().toVar(),l=Ti().toVar(),c=Ti().toVar();return o.assign(l.assign(c.assign(Ti(zn(3735928559)).add(a.shiftLeft(Ti(2))).add(Ti(13))))),o.addAssign(Ti(s)),l.addAssign(Ti(r)),c.addAssign(Ti(n)),o_(o,l,c)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),tr(([i,e,t,n])=>{const r=zn(n).toVar(),s=zn(t).toVar(),a=zn(e).toVar(),o=zn(i).toVar(),l=Ti(Ti(4)).toVar(),c=Ti().toVar(),u=Ti().toVar(),h=Ti().toVar();return c.assign(u.assign(h.assign(Ti(zn(3735928559)).add(l.shiftLeft(Ti(2))).add(Ti(13))))),c.addAssign(Ti(o)),u.addAssign(Ti(a)),h.addAssign(Ti(s)),jk(c,u,h),c.addAssign(Ti(r)),o_(c,u,h)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),tr(([i,e,t,n,r])=>{const s=zn(r).toVar(),a=zn(n).toVar(),o=zn(t).toVar(),l=zn(e).toVar(),c=zn(i).toVar(),u=Ti(Ti(5)).toVar(),h=Ti().toVar(),d=Ti().toVar(),f=Ti().toVar();return h.assign(d.assign(f.assign(Ti(zn(3735928559)).add(u.shiftLeft(Ti(2))).add(Ti(13))))),h.addAssign(Ti(c)),d.addAssign(Ti(l)),f.addAssign(Ti(o)),jk(h,d,f),h.addAssign(Ti(a)),d.addAssign(Ti(s)),o_(h,d,f)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]})]),Nf=ah([tr(([i,e])=>{const t=zn(e).toVar(),n=zn(i).toVar(),r=Ti(Il(n,t)).toVar(),s=q0().toVar();return s.x.assign(r.bitAnd(zn(255))),s.y.assign(r.shiftRight(zn(8)).bitAnd(zn(255))),s.z.assign(r.shiftRight(zn(16)).bitAnd(zn(255))),s}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),tr(([i,e,t])=>{const n=zn(t).toVar(),r=zn(e).toVar(),s=zn(i).toVar(),a=Ti(Il(s,r,n)).toVar(),o=q0().toVar();return o.x.assign(a.bitAnd(zn(255))),o.y.assign(a.shiftRight(zn(8)).bitAnd(zn(255))),o.z.assign(a.shiftRight(zn(16)).bitAnd(zn(255))),o}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]})]),H2=ah([tr(([i])=>{const e=Ni(i).toVar(),t=zn().toVar(),n=zn().toVar(),r=en(gc(e.x,t)).toVar(),s=en(gc(e.y,n)).toVar(),a=en(Sp(r)).toVar(),o=en(Sp(s)).toVar(),l=en(Qk(Hu(Il(t,n),r,s),Hu(Il(t.add(zn(1)),n),r.sub(1),s),Hu(Il(t,n.add(zn(1))),r,s.sub(1)),Hu(Il(t.add(zn(1)),n.add(zn(1))),r.sub(1),s.sub(1)),a,o)).toVar();return Zk(l)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),tr(([i])=>{const e=Wn(i).toVar(),t=zn().toVar(),n=zn().toVar(),r=zn().toVar(),s=en(gc(e.x,t)).toVar(),a=en(gc(e.y,n)).toVar(),o=en(gc(e.z,r)).toVar(),l=en(Sp(s)).toVar(),c=en(Sp(a)).toVar(),u=en(Sp(o)).toVar(),h=en(Wk(Hu(Il(t,n,r),s,a,o),Hu(Il(t.add(zn(1)),n,r),s.sub(1),a,o),Hu(Il(t,n.add(zn(1)),r),s,a.sub(1),o),Hu(Il(t.add(zn(1)),n.add(zn(1)),r),s.sub(1),a.sub(1),o),Hu(Il(t,n,r.add(zn(1))),s,a,o.sub(1)),Hu(Il(t.add(zn(1)),n,r.add(zn(1))),s.sub(1),a,o.sub(1)),Hu(Il(t,n.add(zn(1)),r.add(zn(1))),s,a.sub(1),o.sub(1)),Hu(Il(t.add(zn(1)),n.add(zn(1)),r.add(zn(1))),s.sub(1),a.sub(1),o.sub(1)),l,c,u)).toVar();return $k(h)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]})]),l_=ah([tr(([i])=>{const e=Ni(i).toVar(),t=zn().toVar(),n=zn().toVar(),r=en(gc(e.x,t)).toVar(),s=en(gc(e.y,n)).toVar(),a=en(Sp(r)).toVar(),o=en(Sp(s)).toVar(),l=Wn(Qk(If(Nf(t,n),r,s),If(Nf(t.add(zn(1)),n),r.sub(1),s),If(Nf(t,n.add(zn(1))),r,s.sub(1)),If(Nf(t.add(zn(1)),n.add(zn(1))),r.sub(1),s.sub(1)),a,o)).toVar();return Zk(l)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),tr(([i])=>{const e=Wn(i).toVar(),t=zn().toVar(),n=zn().toVar(),r=zn().toVar(),s=en(gc(e.x,t)).toVar(),a=en(gc(e.y,n)).toVar(),o=en(gc(e.z,r)).toVar(),l=en(Sp(s)).toVar(),c=en(Sp(a)).toVar(),u=en(Sp(o)).toVar(),h=Wn(Wk(If(Nf(t,n,r),s,a,o),If(Nf(t.add(zn(1)),n,r),s.sub(1),a,o),If(Nf(t,n.add(zn(1)),r),s,a.sub(1),o),If(Nf(t.add(zn(1)),n.add(zn(1)),r),s.sub(1),a.sub(1),o),If(Nf(t,n,r.add(zn(1))),s,a,o.sub(1)),If(Nf(t.add(zn(1)),n,r.add(zn(1))),s.sub(1),a,o.sub(1)),If(Nf(t,n.add(zn(1)),r.add(zn(1))),s,a.sub(1),o.sub(1)),If(Nf(t.add(zn(1)),n.add(zn(1)),r.add(zn(1))),s.sub(1),a.sub(1),o.sub(1)),l,c,u)).toVar();return $k(h)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]})]),one=ah([tr(([i])=>{const e=en(i).toVar(),t=zn(tu(e)).toVar();return Nh(Il(t))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),tr(([i])=>{const e=Ni(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar();return Nh(Il(t,n))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),tr(([i])=>{const e=Wn(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar(),r=zn(tu(e.z)).toVar();return Nh(Il(t,n,r))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),tr(([i])=>{const e=Rs(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar(),r=zn(tu(e.z)).toVar(),s=zn(tu(e.w)).toVar();return Nh(Il(t,n,r,s))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]})]),AE=ah([tr(([i])=>{const e=en(i).toVar(),t=zn(tu(e)).toVar();return Wn(Nh(Il(t,zn(0))),Nh(Il(t,zn(1))),Nh(Il(t,zn(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),tr(([i])=>{const e=Ni(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar();return Wn(Nh(Il(t,n,zn(0))),Nh(Il(t,n,zn(1))),Nh(Il(t,n,zn(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),tr(([i])=>{const e=Wn(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar(),r=zn(tu(e.z)).toVar();return Wn(Nh(Il(t,n,r,zn(0))),Nh(Il(t,n,r,zn(1))),Nh(Il(t,n,r,zn(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),tr(([i])=>{const e=Rs(i).toVar(),t=zn(tu(e.x)).toVar(),n=zn(tu(e.y)).toVar(),r=zn(tu(e.z)).toVar(),s=zn(tu(e.w)).toVar();return Wn(Nh(Il(t,n,r,s,zn(0))),Nh(Il(t,n,r,s,zn(1))),Nh(Il(t,n,r,s,zn(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]})]),pE=tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=zn(e).toVar(),o=Wn(i).toVar(),l=en(0).toVar(),c=en(1).toVar();return fl(a,()=>{l.addAssign(c.mul(H2(o))),c.mulAssign(r),o.mulAssign(s)}),l}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),gE=tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=zn(e).toVar(),o=Wn(i).toVar(),l=Wn(0).toVar(),c=en(1).toVar();return fl(a,()=>{l.addAssign(c.mul(l_(o))),c.mulAssign(r),o.mulAssign(s)}),l}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),lne=tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=zn(e).toVar(),o=Wn(i).toVar();return Ni(pE(o,a,s,r),pE(o.add(Wn(zn(19),zn(193),zn(17))),a,s,r))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),cne=tr(([i,e,t,n])=>{const r=en(n).toVar(),s=en(t).toVar(),a=zn(e).toVar(),o=Wn(i).toVar(),l=Wn(gE(o,a,s,r)).toVar(),c=en(pE(o.add(Wn(zn(19),zn(193),zn(17))),a,s,r)).toVar();return Rs(l,c)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),tx=ah([tr(([i,e,t,n,r,s,a])=>{const o=zn(a).toVar(),l=en(s).toVar(),c=zn(r).toVar(),u=zn(n).toVar(),h=zn(t).toVar(),d=zn(e).toVar(),f=Ni(i).toVar(),A=Wn(AE(Ni(d.add(u),h.add(c)))).toVar(),y=Ni(A.x,A.y).toVar();y.subAssign(.5),y.mulAssign(l),y.addAssign(.5);const b=Ni(Ni(en(d),en(h)).add(y)).toVar(),x=Ni(b.sub(f)).toVar();return Gs(o.equal(zn(2)),()=>Vl(x.x).add(Vl(x.y))),Gs(o.equal(zn(3)),()=>wc(Vl(x.x),Vl(x.y))),Sf(x,x)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),tr(([i,e,t,n,r,s,a,o,l])=>{const c=zn(l).toVar(),u=en(o).toVar(),h=zn(a).toVar(),d=zn(s).toVar(),f=zn(r).toVar(),A=zn(n).toVar(),y=zn(t).toVar(),b=zn(e).toVar(),x=Wn(i).toVar(),P=Wn(AE(Wn(b.add(f),y.add(d),A.add(h)))).toVar();P.subAssign(.5),P.mulAssign(u),P.addAssign(.5);const k=Wn(Wn(en(b),en(y),en(A)).add(P)).toVar(),$=Wn(k.sub(x)).toVar();return Gs(c.equal(zn(2)),()=>Vl($.x).add(Vl($.y)).add(Vl($.z))),Gs(c.equal(zn(3)),()=>wc(Vl($.x),Vl($.y),Vl($.z))),Sf($,$)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),une=tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Ni(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=Ni(gc(s.x,a),gc(s.y,o)).toVar(),c=en(1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:u})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:h})=>{const d=en(tx(l,u,h,a,o,r,n)).toVar();c.assign(md(c,d))})}),Gs(n.equal(zn(0)),()=>{c.assign(Rh(c))}),c}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),hne=tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Ni(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=Ni(gc(s.x,a),gc(s.y,o)).toVar(),c=Ni(1e6,1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:u})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:h})=>{const d=en(tx(l,u,h,a,o,r,n)).toVar();Gs(d.lessThan(c.x),()=>{c.y.assign(c.x),c.x.assign(d)}).ElseIf(d.lessThan(c.y),()=>{c.y.assign(d)})})}),Gs(n.equal(zn(0)),()=>{c.assign(Rh(c))}),c}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),dne=tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Ni(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=Ni(gc(s.x,a),gc(s.y,o)).toVar(),c=Wn(1e6,1e6,1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:u})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:h})=>{const d=en(tx(l,u,h,a,o,r,n)).toVar();Gs(d.lessThan(c.x),()=>{c.z.assign(c.y),c.y.assign(c.x),c.x.assign(d)}).ElseIf(d.lessThan(c.y),()=>{c.z.assign(c.y),c.y.assign(d)}).ElseIf(d.lessThan(c.z),()=>{c.z.assign(d)})})}),Gs(n.equal(zn(0)),()=>{c.assign(Rh(c))}),c}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),fne=ah([une,tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Wn(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=zn().toVar(),c=Wn(gc(s.x,a),gc(s.y,o),gc(s.z,l)).toVar(),u=en(1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:h})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:d})=>{fl({start:-1,end:zn(1),name:"z",condition:"<="},({z:f})=>{const A=en(tx(c,h,d,f,a,o,l,r,n)).toVar();u.assign(md(u,A))})})}),Gs(n.equal(zn(0)),()=>{u.assign(Rh(u))}),u}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),Ane=ah([hne,tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Wn(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=zn().toVar(),c=Wn(gc(s.x,a),gc(s.y,o),gc(s.z,l)).toVar(),u=Ni(1e6,1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:h})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:d})=>{fl({start:-1,end:zn(1),name:"z",condition:"<="},({z:f})=>{const A=en(tx(c,h,d,f,a,o,l,r,n)).toVar();Gs(A.lessThan(u.x),()=>{u.y.assign(u.x),u.x.assign(A)}).ElseIf(A.lessThan(u.y),()=>{u.y.assign(A)})})})}),Gs(n.equal(zn(0)),()=>{u.assign(Rh(u))}),u}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),G2=ah([dne,tr(([i,e,t])=>{const n=zn(t).toVar(),r=en(e).toVar(),s=Wn(i).toVar(),a=zn().toVar(),o=zn().toVar(),l=zn().toVar(),c=Wn(gc(s.x,a),gc(s.y,o),gc(s.z,l)).toVar(),u=Wn(1e6,1e6,1e6).toVar();return fl({start:-1,end:zn(1),name:"x",condition:"<="},({x:h})=>{fl({start:-1,end:zn(1),name:"y",condition:"<="},({y:d})=>{fl({start:-1,end:zn(1),name:"z",condition:"<="},({z:f})=>{const A=en(tx(c,h,d,f,a,o,l,r,n)).toVar();Gs(A.lessThan(u.x),()=>{u.z.assign(u.y),u.y.assign(u.x),u.x.assign(A)}).ElseIf(A.lessThan(u.y),()=>{u.z.assign(u.y),u.y.assign(A)}).ElseIf(A.lessThan(u.z),()=>{u.z.assign(A)})})})}),Gs(n.equal(zn(0)),()=>{u.assign(Rh(u))}),u}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]})]),pne=tr(([i,e,t,n,r,s,a,o,l,c,u])=>{const h=zn(i).toVar(),d=Ni(e).toVar(),f=Ni(t).toVar(),A=Ni(n).toVar(),y=en(r).toVar(),b=en(s).toVar(),x=en(a).toVar(),P=Ef(o).toVar(),k=zn(l).toVar(),$=en(c).toVar(),se=en(u).toVar(),ie=d.mul(f).add(A),ce=en(0).toVar();return Gs(h.equal(zn(0)),()=>{ce.assign(l_(ie))}),Gs(h.equal(zn(1)),()=>{ce.assign(AE(ie))}),Gs(h.equal(zn(2)),()=>{ce.assign(G2(ie,y,zn(0)))}),Gs(h.equal(zn(3)),()=>{ce.assign(gE(Wn(ie,0),k,$,se))}),ce.assign(ce.mul(x.sub(b)).add(b)),Gs(P,()=>{ce.assign(dA(ce,b,x))}),ce}).setLayout({name:"mx_unifiednoise2d",type:"float",inputs:[{name:"noiseType",type:"int"},{name:"texcoord",type:"vec2"},{name:"freq",type:"vec2"},{name:"offset",type:"vec2"},{name:"jitter",type:"float"},{name:"outmin",type:"float"},{name:"outmax",type:"float"},{name:"clampoutput",type:"bool"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),gne=tr(([i,e,t,n,r,s,a,o,l,c,u])=>{const h=zn(i).toVar(),d=Wn(e).toVar(),f=Wn(t).toVar(),A=Wn(n).toVar(),y=en(r).toVar(),b=en(s).toVar(),x=en(a).toVar(),P=Ef(o).toVar(),k=zn(l).toVar(),$=en(c).toVar(),se=en(u).toVar(),ie=d.mul(f).add(A),ce=en(0).toVar();return Gs(h.equal(zn(0)),()=>{ce.assign(l_(ie))}),Gs(h.equal(zn(1)),()=>{ce.assign(AE(ie))}),Gs(h.equal(zn(2)),()=>{ce.assign(G2(ie,y,zn(0)))}),Gs(h.equal(zn(3)),()=>{ce.assign(gE(ie,k,$,se))}),ce.assign(ce.mul(x.sub(b)).add(b)),Gs(P,()=>{ce.assign(dA(ce,b,x))}),ce}).setLayout({name:"mx_unifiednoise3d",type:"float",inputs:[{name:"noiseType",type:"int"},{name:"position",type:"vec3"},{name:"freq",type:"vec3"},{name:"offset",type:"vec3"},{name:"jitter",type:"float"},{name:"outmin",type:"float"},{name:"outmax",type:"float"},{name:"clampoutput",type:"bool"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),mne=tr(([i])=>{const e=i.y,t=i.z,n=Wn().toVar();return Gs(e.lessThan(1e-4),()=>{n.assign(Wn(t,t,t))}).Else(()=>{let r=i.x;r=r.sub(pp(r)).mul(6).toVar();const s=zn(rB(r)),a=r.sub(en(s)),o=t.mul(e.oneMinus()),l=t.mul(e.mul(a).oneMinus()),c=t.mul(e.mul(a.oneMinus()).oneMinus());Gs(s.equal(zn(0)),()=>{n.assign(Wn(t,c,o))}).ElseIf(s.equal(zn(1)),()=>{n.assign(Wn(l,t,o))}).ElseIf(s.equal(zn(2)),()=>{n.assign(Wn(o,t,c))}).ElseIf(s.equal(zn(3)),()=>{n.assign(Wn(o,l,t))}).ElseIf(s.equal(zn(4)),()=>{n.assign(Wn(c,o,t))}).Else(()=>{n.assign(Wn(t,o,l))})}),n}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),vne=tr(([i])=>{const e=Wn(i).toVar(),t=en(e.x).toVar(),n=en(e.y).toVar(),r=en(e.z).toVar(),s=en(md(t,md(n,r))).toVar(),a=en(wc(t,wc(n,r))).toVar(),o=en(a.sub(s)).toVar(),l=en().toVar(),c=en().toVar(),u=en().toVar();return u.assign(a),Gs(a.greaterThan(0),()=>{c.assign(o.div(a))}).Else(()=>{c.assign(0)}),Gs(c.lessThanEqual(0),()=>{l.assign(0)}).Else(()=>{Gs(t.greaterThanEqual(a),()=>{l.assign(n.sub(r).div(o))}).ElseIf(n.greaterThanEqual(a),()=>{l.assign(eu(2,r.sub(t).div(o)))}).Else(()=>{l.assign(eu(4,t.sub(n).div(o)))}),l.mulAssign(1/6),Gs(l.lessThan(0),()=>{l.addAssign(1)})}),Wn(l,c,u)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),yne=tr(([i])=>{const e=Wn(i).toVar(),t=UT(jT(e,Wn(.04045))).toVar(),n=Wn(e.div(12.92)).toVar(),r=Wn(Cf(wc(e.add(Wn(.055)),Wn(0)).div(1.055),Wn(2.4))).toVar();return Mo(n,r,t)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),Kk=(i,e)=>{i=en(i),e=en(e);const t=Ni(e.dFdx(),e.dFdy()).length().mul(.7071067811865476);return Wd(i.sub(t),i.add(t),e)},Xk=(i,e,t,n)=>Mo(i,e,t[n].clamp()),xne=(i,e,t=_l())=>Xk(i,e,t,"x"),bne=(i,e,t=_l())=>Xk(i,e,t,"y"),_ne=(i,e,t,n,r=_l())=>{const s=r.x.clamp(),a=r.y.clamp(),o=Mo(i,e,s),l=Mo(t,n,s);return Mo(o,l,a)},Yk=(i,e,t,n,r)=>Mo(i,e,Kk(t,n[r])),wne=(i,e,t,n=_l())=>Yk(i,e,t,n,"x"),Ene=(i,e,t,n=_l())=>Yk(i,e,t,n,"y"),Sne=(i=1,e=0,t=_l())=>t.mul(i).add(e),Cne=(i,e=1)=>(i=en(i),i.abs().pow(e).mul(i.sign())),Mne=(i,e=1,t=.5)=>en(i).sub(t).mul(e).add(t),Tne=(i=_l(),e=1,t=0)=>H2(i.convert("vec2|vec3")).mul(e).add(t),Bne=(i=_l(),e=1,t=0)=>l_(i.convert("vec2|vec3")).mul(e).add(t),Rne=(i=_l(),e=1,t=0)=>(i=i.convert("vec2|vec3"),Rs(l_(i),H2(i.add(Ni(19,73)))).mul(e).add(t)),Ine=(i,e=_l(),t=Ni(1,1),n=Ni(0,0),r=1,s=0,a=1,o=!1,l=1,c=2,u=.5)=>pne(i,e.convert("vec2|vec3"),t,n,r,s,a,o,l,c,u),Nne=(i,e=_l(),t=Ni(1,1),n=Ni(0,0),r=1,s=0,a=1,o=!1,l=1,c=2,u=.5)=>gne(i,e.convert("vec2|vec3"),t,n,r,s,a,o,l,c,u),Pne=(i=_l(),e=1)=>fne(i.convert("vec2|vec3"),e,zn(1)),Fne=(i=_l(),e=1)=>Ane(i.convert("vec2|vec3"),e,zn(1)),One=(i=_l(),e=1)=>G2(i.convert("vec2|vec3"),e,zn(1)),Lne=(i=_l())=>one(i.convert("vec2|vec3")),Dne=(i=_l(),e=3,t=2,n=.5,r=1)=>pE(i,zn(e),t,n).mul(r),Une=(i=_l(),e=3,t=2,n=.5,r=1)=>lne(i,zn(e),t,n).mul(r),kne=(i=_l(),e=3,t=2,n=.5,r=1)=>gE(i,zn(e),t,n).mul(r),zne=(i=_l(),e=3,t=2,n=.5,r=1)=>cne(i,zn(e),t,n).mul(r),Vne=(i,e=en(0))=>eu(i,e),Hne=(i,e=en(0))=>Oo(i,e),Gne=(i,e=en(1))=>Ga(i,e),Qne=(i,e=en(1))=>Qd(i,e),Wne=(i,e=en(1))=>Ob(i,e),Zne=(i,e=en(1))=>Cf(i,e),$ne=(i=en(0),e=en(1))=>yw(i,e),jne=()=>Xy,Kne=()=>ek,Xne=(i,e=en(1))=>Oo(e,i),Yne=(i,e,t,n)=>i.greaterThan(e).mix(t,n),qne=(i,e,t,n)=>i.greaterThanEqual(e).mix(t,n),Jne=(i,e,t,n)=>i.equal(e).mix(t,n),ere=(i,e=null)=>{if(typeof e=="string"){const t={x:0,r:0,y:1,g:1,z:2,b:2,w:3,a:3},n=e.replace(/^out/,"").toLowerCase();if(t[n]!==void 0)return i.element(t[n])}if(typeof e=="number")return i.element(e);if(typeof e=="string"&&e.length===1){const t={x:0,r:0,y:1,g:1,z:2,b:2,w:3,a:3};if(t[e]!==void 0)return i.element(t[e])}return i},tre=(i,e=Ni(.5,.5),t=Ni(1,1),n=en(0),r=Ni(0,0))=>{let s=i;if(e&&(s=s.sub(e)),t&&(s=s.mul(t)),n){const a=n.mul(Math.PI/180),o=a.cos(),l=a.sin();s=Ni(s.x.mul(o).sub(s.y.mul(l)),s.x.mul(l).add(s.y.mul(o)))}return e&&(s=s.add(e)),r&&(s=s.add(r)),s},nre=(i,e)=>{i=Ni(i),e=en(e);const t=e.mul(Math.PI/180);return $b(i,t)},rre=(i,e,t)=>{i=Wn(i),e=en(e),t=Wn(t);const n=e.mul(Math.PI/180),r=t.normalize(),s=n.cos(),a=n.sin(),o=en(1).sub(s);return i.mul(s).add(r.cross(i).mul(a)).add(r.mul(r.dot(i)).mul(o))},ire=(i,e)=>(i=Wn(i),e=en(e),LB(i,e)),sre=tr(([i,e,t])=>{const n=$h(i).toVar(),r=Oo(en(.5).mul(e.sub(t)),$d).div(n).toVar(),s=Oo(en(-.5).mul(e.sub(t)),$d).div(n).toVar(),a=Wn().toVar();a.x=n.x.greaterThan(en(0)).select(r.x,s.x),a.y=n.y.greaterThan(en(0)).select(r.y,s.y),a.z=n.z.greaterThan(en(0)).select(r.z,s.z);const o=md(a.x,a.y,a.z).toVar();return $d.add(n.mul(o)).toVar().sub(t)}),qk=tr(([i,e])=>{const t=i.x,n=i.y,r=i.z;let s=e.element(0).mul(.886227);return s=s.add(e.element(1).mul(2*.511664).mul(n)),s=s.add(e.element(2).mul(2*.511664).mul(r)),s=s.add(e.element(3).mul(2*.511664).mul(t)),s=s.add(e.element(4).mul(2*.429043).mul(t).mul(n)),s=s.add(e.element(5).mul(2*.429043).mul(n).mul(r)),s=s.add(e.element(6).mul(r.mul(r).mul(.743125).sub(.247708))),s=s.add(e.element(7).mul(2*.429043).mul(t).mul(r)),s=s.add(e.element(8).mul(.429043).mul(Ga(t,t).sub(Ga(n,n)))),s});var i1e=Object.freeze({__proto__:null,BRDF_GGX:JB,BRDF_Lambert:ov,BasicPointShadowFilter:zk,BasicShadowFilter:Bk,Break:DD,Const:nL,Continue:BX,DFGLUT:Gb,D_GGX:sU,Discard:xL,EPSILON:KT,F_Schlick:$y,Fn:tr,HALF_PI:rK,INFINITY:eK,If:Gs,Loop:fl,NodeAccess:nh,NodeShaderStage:Sb,NodeType:wj,NodeUpdateType:Xa,OnBeforeMaterialUpdate:JJ,OnBeforeObjectUpdate:qJ,OnMaterialUpdate:YJ,OnObjectUpdate:XJ,PCFShadowFilter:Rk,PCFSoftShadowFilter:Ik,PI:gw,PI2:tK,PointShadowFilter:Vk,Return:yK,Schlick_to_F0:e2,ScriptableNodeResources:oE,ShaderNode:Py,Stack:aw,Switch:Wj,TBNViewMatrix:av,TWO_PI:nK,VSMShadowFilter:Nk,V_GGX_SmithCorrelated:iU,Var:tL,VarIntent:rL,abs:Vl,acesFilmicToneMapping:Ak,acos:qT,add:eu,addMethodChaining:ni,addNodeElement:wK,agxToneMapping:pk,all:C3,alphaT:dw,and:h3,anisotropy:Pm,anisotropyB:ev,anisotropyT:Ib,any:M3,append:Kj,array:i3,arrayBuffer:$j,asin:I3,assign:s3,atan:yw,atan2:K3,atomicAdd:ote,atomicAnd:hte,atomicFunc:Ep,atomicLoad:ste,atomicMax:cte,atomicMin:ute,atomicOr:dte,atomicStore:ate,atomicSub:lte,atomicXor:fte,attenuationColor:QT,attenuationDistance:GT,attribute:Kh,attributeArray:nee,backgroundBlurriness:rk,backgroundIntensity:C2,backgroundRotation:ik,batch:PD,bentNormalView:JL,billboarding:PJ,bitAnd:p3,bitNot:g3,bitOr:m3,bitXor:v3,bitangentGeometry:lX,bitangentLocal:cX,bitangentView:YL,bitangentWorld:uX,bitcast:qU,blendBurn:WD,blendColor:ZX,blendDodge:ZD,blendOverlay:jD,blendScreen:$D,blur:MU,bool:Ef,buffer:Lb,bufferAttribute:AB,builtin:Cg,builtinAOContext:J3,builtinShadowContext:q3,bumpMap:LB,burn:jX,bvec2:XO,bvec3:UT,bvec4:YO,bypass:gL,cache:pL,call:a3,cameraFar:Bg,cameraIndex:Lm,cameraNear:Tg,cameraNormalMatrix:UK,cameraPosition:kb,cameraProjectionMatrix:Xh,cameraProjectionMatrixInverse:LK,cameraViewMatrix:Zd,cameraViewport:kK,cameraWorldMatrix:DK,cbrt:Q3,cdl:xee,ceil:vw,checker:rne,cineonToneMapping:fk,clamp:dA,clearcoat:lw,clearcoatNormalView:sv,clearcoatRoughness:Rb,code:sE,color:KO,colorSpaceToWorking:ww,colorToDirection:dX,compute:AL,computeKernel:gB,computeSkinning:MX,context:wg,convert:JO,convertColorSpace:uK,convertToTexture:WJ,cos:hA,countLeadingZeros:cJ,countOneBits:uJ,countTrailingZeros:lJ,cross:_g,cubeTexture:Yh,cubeTextureBase:RB,dFdx:tB,dFdy:nB,dashSize:nv,debug:bL,decrement:E3,decrementBefore:_3,defaultBuildStages:MT,defaultShaderStages:kO,defined:Mb,degrees:B3,deltaTime:SJ,densityFog:Hee,densityFogFactor:B2,depth:KB,depthPass:See,determinant:L3,difference:V3,diffuseColor:bl,diffuseContribution:J0,directPointLight:Gk,directionToColor:eD,directionToFaceDirection:zy,dispersion:WT,disposeShadowMaterial:Fk,distance:z3,div:Qd,dodge:KX,dot:Sf,drawIndex:RD,dynamicBufferAttribute:pK,element:qO,emissive:VT,equal:$T,equals:U3,equirectUV:XB,exp:XT,exp2:Ly,expression:Eg,faceDirection:CB,faceForward:cB,faceforward:iK,float:en,floatBitsToInt:sJ,floatBitsToUint:JU,floor:pp,fog:n_,fract:uA,frameGroup:n3,frameId:ek,frontFacing:IL,fwidth:iB,gain:dJ,gapSize:Nb,getConstNodeType:jO,getCurrentStack:OT,getDirection:SU,getDistanceAttenuation:V2,getGeometryRoughness:rU,getNormalFromDepth:$J,getParallaxCorrectNormal:sre,getRoughness:qB,getScreenPosition:ZJ,getShIrradianceAt:qk,getShadowMaterial:Pk,getShadowRenderObjectFunction:Lk,getTextureIndex:XU,getViewPosition:Jy,ggxConvolution:TU,globalId:jee,glsl:Fee,glslFn:Oee,grayscale:gee,greaterThan:jT,greaterThanEqual:u3,hash:hJ,highpModelNormalViewMatrix:EB,highpModelViewMatrix:wB,hue:yee,increment:w3,incrementBefore:b3,inspector:wL,instance:EX,instanceIndex:xp,instancedArray:ree,instancedBufferAttribute:Sw,instancedDynamicBufferAttribute:pB,instancedMesh:ND,int:zn,intBitsToFloat:aJ,interleavedGradientNoise:E2,inverse:D3,inverseSqrt:YT,inversesqrt:sK,invocationLocalIndex:wX,invocationSubgroupIndex:_X,ior:Pb,iridescence:cw,iridescenceIOR:uw,iridescenceThickness:hw,isolate:Uy,ivec2:du,ivec3:DT,ivec4:kT,js:Nee,label:eL,length:gp,lengthSq:oB,lessThan:l3,lessThanEqual:c3,lightPosition:I2,lightProjectionUV:bk,lightShadowMatrix:uE,lightTargetDirection:P2,lightTargetPosition:_k,lightViewPosition:N2,lightingContext:zD,lights:Vte,linearDepth:Zy,linearToneMapping:hk,localId:Kee,log:mw,log2:Ap,logarithmicDepthToViewZ:UX,luminance:M2,mat2:ow,mat3:rh,mat4:Im,matcapUV:UU,materialAO:MD,materialAlphaTest:nD,materialAnisotropy:gD,materialAnisotropyVector:Hy,materialAttenuationColor:ED,materialAttenuationDistance:wD,materialClearcoat:uD,materialClearcoatNormal:dD,materialClearcoatRoughness:hD,materialColor:Fw,materialDispersion:CD,materialEmissive:iD,materialEnvIntensity:Bw,materialEnvRotation:BB,materialIOR:_D,materialIridescence:mD,materialIridescenceIOR:vD,materialIridescenceThickness:yD,materialLightMap:HB,materialLineDashOffset:VB,materialLineDashSize:kB,materialLineGapSize:zB,materialLineScale:UB,materialLineWidth:Dw,materialMetalness:lD,materialNormal:cD,materialOpacity:Ow,materialPointSize:SD,materialReference:Rg,materialReflectivity:Lw,materialRefractionRatio:LL,materialRotation:fD,materialRoughness:oD,materialSheen:AD,materialSheenRoughness:pD,materialShininess:rD,materialSpecular:sD,materialSpecularColor:aD,materialSpecularIntensity:DB,materialSpecularStrength:Vb,materialThickness:bD,materialTransmission:xD,max:wc,maxMipLevel:vB,mediumpModelViewMatrix:RL,metalness:bg,min:md,mix:Mo,mixElement:Z3,mod:Ob,modInt:S3,modelDirection:WK,modelNormalMatrix:BL,modelPosition:ZK,modelRadius:TL,modelScale:$K,modelViewMatrix:yp,modelViewPosition:jK,modelViewProjection:TD,modelWorldMatrix:Tf,modelWorldMatrixInverse:KK,morphReference:kD,mrt:YU,mul:Ga,mx_aastep:Kk,mx_add:Vne,mx_atan2:$ne,mx_cell_noise_float:Lne,mx_contrast:Mne,mx_divide:Qne,mx_fractal_noise_float:Dne,mx_fractal_noise_vec2:Une,mx_fractal_noise_vec3:kne,mx_fractal_noise_vec4:zne,mx_frame:Kne,mx_heighttonormal:ire,mx_hsvtorgb:mne,mx_ifequal:Jne,mx_ifgreater:Yne,mx_ifgreatereq:qne,mx_invert:Xne,mx_modulo:Wne,mx_multiply:Gne,mx_noise_float:Tne,mx_noise_vec3:Bne,mx_noise_vec4:Rne,mx_place2d:tre,mx_power:Zne,mx_ramp4:_ne,mx_ramplr:xne,mx_ramptb:bne,mx_rgbtohsv:vne,mx_rotate2d:nre,mx_rotate3d:rre,mx_safepower:Cne,mx_separate:ere,mx_splitlr:wne,mx_splittb:Ene,mx_srgb_texture_to_lin_rec709:yne,mx_subtract:Hne,mx_timer:jne,mx_transform_uv:Sne,mx_unifiednoise2d:Ine,mx_unifiednoise3d:Nne,mx_worley_noise_float:Pne,mx_worley_noise_vec2:Fne,mx_worley_noise_vec3:One,negate:eB,neutralToneMapping:gk,nodeArray:Y0,nodeImmutable:is,nodeObject:ls,nodeObjectIntent:Tb,nodeObjects:sw,nodeProxy:Ha,nodeProxyIntent:Gi,normalFlat:NL,normalGeometry:Tw,normalLocal:vd,normalMap:OB,normalView:Zo,normalViewGeometry:Vy,normalWorld:Dm,normalWorldGeometry:PL,normalize:$h,not:f3,notEqual:o3,numWorkgroups:Zee,objectDirection:zK,objectGroup:ZT,objectPosition:ML,objectRadius:QK,objectScale:HK,objectViewPosition:GK,objectWorldMatrix:VK,oneMinus:N3,or:d3,orthographicDepthToViewZ:DX,oscSawtooth:BJ,oscSine:CJ,oscSquare:MJ,oscTriangle:TJ,output:Oy,outputStruct:rJ,overlay:YX,overloadingFn:ah,packHalf2x16:mJ,packSnorm2x16:pJ,packUnorm2x16:gJ,parabola:v2,parallaxDirection:qL,parallaxUV:hX,parameter:Yq,pass:wee,passTexture:Eee,pcurve:fJ,perspectiveDepthToViewZ:$B,pmremTexture:p2,pointShadow:Hk,pointUV:see,pointWidth:Xj,positionGeometry:sh,positionLocal:Ec,positionPrevious:Mw,positionView:Vc,positionViewDirection:Bl,positionWorld:$d,positionWorldDirection:SB,posterize:_ee,pow:Cf,pow2:sB,pow3:H3,pow4:aB,premultiplyAlpha:KD,property:cA,quadBroadcast:Ute,quadSwapDiagonal:Nte,quadSwapX:Rte,quadSwapY:Ite,radians:T3,rand:W3,range:Qee,rangeFog:Vee,rangeFogFactor:T2,reciprocal:F3,reference:Rl,referenceBuffer:IB,reflect:k3,reflectVector:kL,reflectView:DL,reflector:zJ,refract:lB,refractVector:zL,refractView:UL,reinhardToneMapping:dk,remap:vL,remapClamp:yL,renderGroup:aa,renderOutput:mB,rendererReference:cL,replaceDefaultUV:RJ,rotate:$b,rotateUV:IJ,roughness:fp,round:P3,rtt:nk,sRGBTransferEOTF:sL,sRGBTransferOETF:aL,sample:KJ,sampler:BK,samplerComparison:RK,saturate:bw,saturation:mee,screen:XX,screenCoordinate:iv,screenDPR:bB,screenSize:rv,screenUV:Mg,scriptable:zee,scriptableValue:aE,select:ih,setCurrentStack:Bb,setName:uB,shaderStages:TT,shadow:Uk,shadowPositionWorld:L2,shapeCircle:ine,sharedUniformGroup:pw,sheen:Gd,sheenRoughness:Nm,shiftLeft:y3,shiftRight:x3,shininess:fw,sign:JT,sin:jh,sinc:AJ,skinning:LD,smoothstep:Wd,smoothstepElement:$3,specularColor:Fm,specularColorBlended:tv,specularF90:Fy,spherizeUV:NJ,split:jj,spritesheetUV:LJ,sqrt:Rh,stack:Kw,step:xw,stepElement:j3,storage:Ig,storageBarrier:Jee,storageObject:xX,storageTexture:sk,string:Zj,struct:nJ,sub:Oo,subBuild:Dy,subgroupAdd:gte,subgroupAll:Mte,subgroupAnd:_te,subgroupAny:Tte,subgroupBallot:pte,subgroupBroadcast:Pte,subgroupBroadcastFirst:Bte,subgroupElect:Ate,subgroupExclusiveAdd:vte,subgroupExclusiveMul:bte,subgroupInclusiveAdd:mte,subgroupInclusiveMul:xte,subgroupIndex:bX,subgroupMax:Cte,subgroupMin:Ste,subgroupMul:yte,subgroupOr:wte,subgroupShuffle:Fte,subgroupShuffleDown:Dte,subgroupShuffleUp:Lte,subgroupShuffleXor:Ote,subgroupSize:Xee,subgroupXor:Ete,tan:R3,tangentGeometry:Iw,tangentLocal:zb,tangentView:Nw,tangentWorld:XL,texture:Yo,texture3D:rE,texture3DLevel:hee,texture3DLoad:uee,textureBarrier:ete,textureBicubic:TY,textureBicubicLevel:r2,textureCubeUV:CU,textureLevel:TK,textureLoad:Nc,textureSize:Sg,textureStore:oee,thickness:HT,time:Xy,toneMapping:uL,toneMappingExposure:hL,toonOutlinePass:Mee,transformDirection:G3,transformNormal:FL,transformNormalToView:MB,transformedClearcoatNormalView:JK,transformedNormalView:YK,transformedNormalWorld:qK,transmission:Aw,transpose:O3,triNoise3D:_J,triplanarTexture:DJ,triplanarTextures:tk,trunc:rB,uint:Ti,uintBitsToFloat:oJ,uniform:na,uniformArray:Ih,uniformCubeTexture:tX,uniformFlow:Y3,uniformGroup:t3,uniformTexture:MK,unpackHalf2x16:xJ,unpackNormal:FB,unpackSnorm2x16:vJ,unpackUnorm2x16:yJ,unpremultiplyAlpha:$X,userData:fee,uv:_l,uvec2:LT,uvec3:q0,uvec4:zT,varying:mp,varyingProperty:Hd,vec2:Ni,vec3:Wn,vec4:Rs,vectorComponents:K0,velocity:pee,vertexColor:QD,vertexIndex:BD,vertexStage:iL,vibrance:vee,viewZToLogarithmicDepth:jB,viewZToOrthographicDepth:Wy,viewZToPerspectiveDepth:ZB,viewport:ky,viewportCoordinate:SL,viewportDepthTexture:WB,viewportLinearDepth:kX,viewportMipTexture:QB,viewportResolution:OK,viewportSafeUV:FJ,viewportSharedTexture:XD,viewportSize:_B,viewportTexture:OX,viewportUV:FK,vogelDiskSample:AA,wgsl:Pee,wgslFn:Lee,workgroupArray:rte,workgroupBarrier:qee,workgroupId:$ee,workingToColorSpace:oL,xor:A3});const pA=new m2;class are extends zm{constructor(e,t){super(),this.renderer=e,this.nodes=t}update(e,t,n){const r=this.renderer,s=this.nodes.getBackgroundNode(e)||e.background;let a=!1;if(s===null)r._clearColor.getRGB(pA),pA.a=r._clearColor.a;else if(s.isColor===!0)s.getRGB(pA),pA.a=1,a=!0;else if(s.isNode===!0){const l=this.get(e),c=s;pA.copy(r._clearColor);let u=l.backgroundMesh;if(u===void 0){let P=function(){s.removeEventListener("dispose",P),u.material.dispose(),u.geometry.dispose()};const d=Rs(c).mul(C2).context({getUV:()=>ik.mul(PL),getTextureLevel:()=>rk}),f=Xh.element(3).element(3).equal(1),A=Qd(1,Xh.element(1).element(1)).mul(3),y=f.select(Ec.mul(A),Ec);let b=Xh.mul(yp.mul(Rs(y,0)));b=b.setZ(b.w);const x=new Sc;x.name="Background.material",x.side=ge,x.depthTest=!1,x.depthWrite=!1,x.allowOverride=!1,x.fog=!1,x.lights=!1,x.vertexNode=b,x.colorNode=d,l.backgroundMeshNode=d,l.backgroundMesh=u=new vl(new th(1,32,32),x),u.frustumCulled=!1,u.name="Background.mesh",s.addEventListener("dispose",P)}const h=c.getCacheKey();l.backgroundCacheKey!==h&&(l.backgroundMeshNode.node=Rs(c).mul(C2),l.backgroundMeshNode.needsUpdate=!0,u.material.needsUpdate=!0,l.backgroundCacheKey=h),t.unshift(u,u.geometry,u.material,0,0,null,null)}else Nr("Renderer: Unsupported background configuration.",s);const o=r.xr.getEnvironmentBlendMode();if(o==="additive"?pA.set(0,0,0,1):o==="alpha-blend"&&pA.set(0,0,0,0),r.autoClear===!0||a===!0){const l=n.clearColorValue;l.r=pA.r,l.g=pA.g,l.b=pA.b,l.a=pA.a,(r.backend.isWebGLBackend===!0||r.alpha===!0)&&(l.r*=l.a,l.g*=l.a,l.b*=l.a),n.depthClearValue=r._clearDepth,n.stencilClearValue=r._clearStencil,n.clearColor=r.autoClearColor===!0,n.clearDepth=r.autoClearDepth===!0,n.clearStencil=r.autoClearStencil===!0}else n.clearColor=!1,n.clearDepth=!1,n.clearStencil=!1}}let ore=0;class Q2{constructor(e="",t=[],n=0,r=[]){this.name=e,this.bindings=t,this.index=n,this.bindingsReference=r,this.id=ore++}}class lre{constructor(e,t,n,r,s,a,o,l,c,u=[]){this.vertexShader=e,this.fragmentShader=t,this.computeShader=n,this.transforms=u,this.nodeAttributes=r,this.bindings=s,this.updateNodes=a,this.updateBeforeNodes=o,this.updateAfterNodes=l,this.observer=c,this.usedTimes=0}createBindings(){const e=[];for(const t of this.bindings)if(t.bindings[0].groupNode.shared!==!0){const r=new Q2(t.name,[],t.index,t.bindingsReference);e.push(r);for(const s of t.bindings)r.bindings.push(s.clone())}else e.push(t);return e}}class Jk{constructor(e,t,n=null){this.isNodeAttribute=!0,this.name=e,this.type=t,this.node=n}}class cre{constructor(e,t,n){this.isNodeUniform=!0,this.name=e,this.type=t,this.node=n}get value(){return this.node.value}set value(e){this.node.value=e}get id(){return this.node.id}get groupNode(){return this.node.groupNode}}class e4{constructor(e,t,n=!1,r=null){this.isNodeVar=!0,this.name=e,this.type=t,this.readOnly=n,this.count=r}}class ure extends e4{constructor(e,t,n=null,r=null){super(e,t),this.needsInterpolation=!1,this.isNodeVarying=!0,this.interpolationType=n,this.interpolationSampling=r}}class hre{constructor(e,t,n=""){this.name=e,this.type=t,this.code=n,Object.defineProperty(this,"isNodeCode",{value:!0})}}let dre=0;class W2{constructor(e=null){this.id=dre++,this.nodesData=new WeakMap,this.parent=e}getData(e){let t=this.nodesData.get(e);return t===void 0&&this.parent!==null&&(t=this.parent.getData(e)),t}setData(e,t){this.nodesData.set(e,t)}}class fre{constructor(e,t){this.name=e,this.members=t,this.output=!1}}class Hm{constructor(e,t){this.name=e,this.value=t,this.boundary=0,this.itemSize=0,this.offset=0}setValue(e){this.value=e}getValue(){return this.value}}class Are extends Hm{constructor(e,t=0){super(e,t),this.isNumberUniform=!0,this.boundary=4,this.itemSize=1}}class pre extends Hm{constructor(e,t=new Qe){super(e,t),this.isVector2Uniform=!0,this.boundary=8,this.itemSize=2}}class gre extends Hm{constructor(e,t=new ye){super(e,t),this.isVector3Uniform=!0,this.boundary=16,this.itemSize=3}}class mre extends Hm{constructor(e,t=new Mi){super(e,t),this.isVector4Uniform=!0,this.boundary=16,this.itemSize=4}}class vre extends Hm{constructor(e,t=new hs){super(e,t),this.isColorUniform=!0,this.boundary=16,this.itemSize=3}}class yre extends Hm{constructor(e,t=new P1){super(e,t),this.isMatrix2Uniform=!0,this.boundary=8,this.itemSize=4}}class xre extends Hm{constructor(e,t=new Pn){super(e,t),this.isMatrix3Uniform=!0,this.boundary=48,this.itemSize=12}}class bre extends Hm{constructor(e,t=new pi){super(e,t),this.isMatrix4Uniform=!0,this.boundary=64,this.itemSize=16}}class _re extends Are{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class wre extends pre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Ere extends gre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Sre extends mre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Cre extends vre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Mre extends yre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Tre extends xre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}class Bre extends bre{constructor(e){super(e.name,e.value),this.nodeUniform=e}getValue(){return this.nodeUniform.value}getType(){return this.nodeUniform.type}}let Rre=0;const Ire=new WeakMap,t4=new WeakMap,Nre=new Map([[Int8Array,"int"],[Int16Array,"int"],[Int32Array,"int"],[Uint8Array,"uint"],[Uint16Array,"uint"],[Uint32Array,"uint"],[Float32Array,"float"]]),mE=i=>/e/g.test(i)?String(i).replace(/\+/g,""):(i=Number(i),i+(i%1?"":".0"));class n4{constructor(e,t,n){this.object=e,this.material=e&&e.material||null,this.geometry=e&&e.geometry||null,this.renderer=t,this.parser=n,this.scene=null,this.camera=null,this.nodes=[],this.sequentialNodes=[],this.updateNodes=[],this.updateBeforeNodes=[],this.updateAfterNodes=[],this.hashNodes={},this.observer=null,this.lightsNode=null,this.environmentNode=null,this.fogNode=null,this.clippingContext=null,this.vertexShader=null,this.fragmentShader=null,this.computeShader=null,this.flowNodes={vertex:[],fragment:[],compute:[]},this.flowCode={vertex:"",fragment:"",compute:""},this.uniforms={vertex:[],fragment:[],compute:[],index:0},this.structs={vertex:[],fragment:[],compute:[],index:0},this.types={vertex:[],fragment:[],compute:[],index:0},this.bindings={vertex:{},fragment:{},compute:{}},this.bindingsIndexes={},this.bindGroups=null,this.attributes=[],this.bufferAttributes=[],this.varyings=[],this.codes={},this.vars={},this.declarations={},this.flow={code:""},this.chaining=[],this.stack=Kw(),this.stacks=[],this.tab=" ",this.currentFunctionNode=null,this.context={material:this.material},this.cache=new W2,this.globalCache=this.cache,this.flowsData=new WeakMap,this.shaderStage=null,this.buildStage=null,this.subBuildLayers=[],this.activeStacks=[],this.subBuildFn=null,this.fnCall=null,Object.defineProperty(this,"id",{value:Rre++})}isOpaque(){const e=this.material;return e.transparent===!1&&e.blending===Le&&e.alphaToCoverage===!1}getBindGroupsCache(){let e=t4.get(this.renderer);return e===void 0&&(e=new fA,t4.set(this.renderer,e)),e}createRenderTarget(e,t,n){return new ha(e,t,n)}createCubeRenderTarget(e,t){return new YD(e,t)}includes(e){return this.nodes.includes(e)}getOutputStructName(){}_getBindGroup(e,t){const n=this.getBindGroupsCache(),r=[];let s=!0;for(const o of t)r.push(o),s=s&&o.groupNode.shared!==!0;let a;return s?(a=n.get(r),a===void 0&&(a=new Q2(e,r,this.bindingsIndexes[e].group,r),n.set(r,a))):a=new Q2(e,r,this.bindingsIndexes[e].group,r),a}getBindGroupArray(e,t){const n=this.bindings[t];let r=n[e];return r===void 0&&(this.bindingsIndexes[e]===void 0&&(this.bindingsIndexes[e]={binding:0,group:Object.keys(this.bindingsIndexes).length}),n[e]=r=[]),r}getBindings(){let e=this.bindGroups;if(e===null){const t={},n=this.bindings;for(const r of TT)for(const s in n[r]){const a=n[r][s];(t[s]||(t[s]=[])).push(...a)}e=[];for(const r in t){const s=t[r],a=this._getBindGroup(r,s);e.push(a)}this.bindGroups=e}return e}sortBindingGroups(){const e=this.getBindings();e.sort((t,n)=>t.bindings[0].groupNode.order-n.bindings[0].groupNode.order);for(let t=0;t=0?`${Math.round(t)}u`:"0u";if(e==="bool")return t?"true":"false";if(e==="color")return`${this.getType("vec3")}( ${mE(t.r)}, ${mE(t.g)}, ${mE(t.b)} )`;const n=this.getTypeLength(e),r=this.getComponentType(e),s=a=>this.generateConst(r,a);if(n===2)return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)} )`;if(n===3)return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)}, ${s(t.z)} )`;if(n===4&&e!=="mat2")return`${this.getType(e)}( ${s(t.x)}, ${s(t.y)}, ${s(t.z)}, ${s(t.w)} )`;if(n>=4&&t&&(t.isMatrix2||t.isMatrix3||t.isMatrix4))return`${this.getType(e)}( ${t.elements.map(s).join(", ")} )`;if(n>4)return`${this.getType(e)}()`;throw new Error(`NodeBuilder: Type '${e}' not found in generate constant attempt.`)}getType(e){return e==="color"?"vec3":e}hasGeometryAttribute(e){return this.geometry&&this.geometry.getAttribute(e)!==void 0}getAttribute(e,t){const n=this.attributes;for(const s of n)if(s.name===e)return s;const r=new Jk(e,t);return this.registerDeclaration(r),n.push(r),r}getPropertyName(e){return e.name}isVector(e){return/vec\d/.test(e)}isMatrix(e){return/mat\d/.test(e)}isReference(e){return e==="void"||e==="property"||e==="sampler"||e==="samplerComparison"||e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="depthTexture"||e==="texture3D"}needsToWorkingColorSpace(){return!1}getComponentTypeFromTexture(e){const t=e.type;if(e.isDataTexture){if(t===yt)return"int";if(t===Ft)return"uint"}return"float"}getElementType(e){return e==="mat2"?"vec2":e==="mat3"?"vec3":e==="mat4"?"vec4":this.getComponentType(e)}getComponentType(e){if(e=this.getVectorType(e),e==="float"||e==="bool"||e==="int"||e==="uint")return e;const t=/(b|i|u|)(vec|mat)([2-4])/.exec(e);return t===null?null:t[1]==="b"?"bool":t[1]==="i"?"int":t[1]==="u"?"uint":"float"}getVectorType(e){return e==="color"?"vec3":e==="texture"||e==="cubeTexture"||e==="storageTexture"||e==="texture3D"?"vec4":e}getTypeFromLength(e,t="float"){if(e===1)return t;let n=_T(e);const r=t==="float"?"":t[0];return/mat2/.test(t)===!0&&(n=n.replace("vec","mat")),r+n}getTypeFromArray(e){return Nre.get(e.constructor)}isInteger(e){return/int|uint|(i|u)vec/.test(e)}getTypeFromAttribute(e){let t=e;e.isInterleavedBufferAttribute&&(t=e.data);const n=t.array,r=e.itemSize,s=e.normalized;let a;return!(e instanceof lu)&&s!==!0&&(a=this.getTypeFromArray(n)),this.getTypeFromLength(r,a)}getTypeLength(e){const t=this.getVectorType(e),n=/vec([2-4])/.exec(t);return n!==null?Number(n[1]):t==="float"||t==="bool"||t==="int"||t==="uint"?1:/mat2/.test(e)===!0?4:/mat3/.test(e)===!0?9:/mat4/.test(e)===!0?16:0}getVectorFromMatrix(e){return e.replace("mat","vec")}changeComponentType(e,t){return this.getTypeFromLength(this.getTypeLength(e),t)}getIntegerType(e){const t=this.getComponentType(e);return t==="int"||t==="uint"?e:this.changeComponentType(e,"int")}setActiveStack(e){this.activeStacks.push(e)}removeActiveStack(e){if(this.activeStacks[this.activeStacks.length-1]===e)this.activeStacks.pop();else throw new Error("NodeBuilder: Invalid active stack removal.")}getActiveStack(){return this.activeStacks[this.activeStacks.length-1]}getBaseStack(){return this.activeStacks[0]}addStack(){this.stack=Kw(this.stack);const e=OT();return this.stacks.push(e),Bb(this.stack),this.stack}removeStack(){const e=this.stack;for(const t of e.nodes){const n=this.getDataFromNode(t);n.stack=e}return this.stack=e.parent,Bb(this.stacks.pop()),e}getDataFromNode(e,t=this.shaderStage,n=null){n=n===null?e.isGlobal(this)?this.globalCache:this.cache:n;let r=n.getData(e);r===void 0&&(r={},n.setData(e,r)),r[t]===void 0&&(r[t]={});let s=r[t];const a=r.any?r.any.subBuilds:null,o=this.getClosestSubBuild(a);return o&&(s.subBuildsCache===void 0&&(s.subBuildsCache={}),s=s.subBuildsCache[o]||(s.subBuildsCache[o]={}),s.subBuilds=a),s}getNodeProperties(e,t="any"){const n=this.getDataFromNode(e,t);return n.properties||(n.properties={outputNode:null})}getBufferAttributeFromNode(e,t){const n=this.getDataFromNode(e,"vertex");let r=n.bufferAttribute;if(r===void 0){const s=this.uniforms.index++;r=new Jk("nodeAttribute"+s,t,e),this.bufferAttributes.push(r),n.bufferAttribute=r}return r}getStructTypeNode(e,t=this.shaderStage){return this.types[t][e]||null}getStructTypeFromNode(e,t,n=null,r=this.shaderStage){const s=this.getDataFromNode(e,r,this.globalCache);let a=s.structType;if(a===void 0){const o=this.structs.index++;n===null&&(n="StructType"+o),a=new fre(n,t),this.structs[r].push(a),this.types[r][n]=e,s.structType=a}return a}getOutputStructTypeFromNode(e,t){const n=this.getStructTypeFromNode(e,t,"OutputType","fragment");return n.output=!0,n}getUniformFromNode(e,t,n=this.shaderStage,r=null){const s=this.getDataFromNode(e,n,this.globalCache);let a=s.uniform;if(a===void 0){const o=this.uniforms.index++;a=new cre(r||"nodeUniform"+o,t,e),this.uniforms[n].push(a),this.registerDeclaration(a),s.uniform=a}return a}getVarFromNode(e,t=null,n=e.getNodeType(this),r=this.shaderStage,s=!1){const a=this.getDataFromNode(e,r),o=this.getSubBuildProperty("variable",a.subBuilds);let l=a[o];if(l===void 0){const c=s?"_const":"_var",u=this.vars[r]||(this.vars[r]=[]),h=this.vars[c]||(this.vars[c]=0);t===null&&(t=(s?"nodeConst":"nodeVar")+h,this.vars[c]++),o!=="variable"&&(t=this.getSubBuildProperty(t,a.subBuilds));const d=e.getArrayCount(this);l=new e4(t,n,s,d),s||u.push(l),this.registerDeclaration(l),a[o]=l}return l}isDeterministic(e){if(e.isMathNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0)&&(e.cNode?this.isDeterministic(e.cNode):!0);if(e.isOperatorNode)return this.isDeterministic(e.aNode)&&(e.bNode?this.isDeterministic(e.bNode):!0);if(e.isArrayNode){if(e.values!==null){for(const t of e.values)if(!this.isDeterministic(t))return!1}return!0}else if(e.isConstNode)return!0;return!1}getVaryingFromNode(e,t=null,n=e.getNodeType(this),r=null,s=null){const a=this.getDataFromNode(e,"any"),o=this.getSubBuildProperty("varying",a.subBuilds);let l=a[o];if(l===void 0){const c=this.varyings,u=c.length;t===null&&(t="nodeVarying"+u),o!=="varying"&&(t=this.getSubBuildProperty(t,a.subBuilds)),l=new ure(t,n,r,s),c.push(l),this.registerDeclaration(l),a[o]=l}return l}registerDeclaration(e){const t=this.shaderStage,n=this.declarations[t]||(this.declarations[t]={}),r=this.getPropertyName(e);let s=1,a=r;for(;n[a]!==void 0;)a=r+"_"+s++;s>1&&(e.name=a,sr(`TSL: Declaration name '${r}' of '${e.type}' already in use. Renamed to '${a}'.`)),n[a]=e}getCodeFromNode(e,t,n=this.shaderStage){const r=this.getDataFromNode(e);let s=r.code;if(s===void 0){const a=this.codes[n]||(this.codes[n]=[]),o=a.length;s=new hre("nodeCode"+o,t),a.push(s),r.code=s}return s}addFlowCodeHierarchy(e,t){const{flowCodes:n,flowCodeBlock:r}=this.getDataFromNode(e);let s=!0,a=t;for(;a;){if(r.get(a)===!0){s=!1;break}a=this.getDataFromNode(a).parentNodeBlock}if(s)for(const o of n)this.addLineFlowCode(o)}addLineFlowCodeBlock(e,t,n){const r=this.getDataFromNode(e),s=r.flowCodes||(r.flowCodes=[]),a=r.flowCodeBlock||(r.flowCodeBlock=new WeakMap);s.push(t),a.set(n,!0)}addLineFlowCode(e,t=null){return e===""?this:(t!==null&&this.context.nodeBlock&&this.addLineFlowCodeBlock(t,e,this.context.nodeBlock),e=this.tab+e,/;\s*$/.test(e)||(e=e+`; +`),this.flow.code+=e,this)}addFlowCode(e){return this.flow.code+=e,this}addFlowTab(){return this.tab+=" ",this}removeFlowTab(){return this.tab=this.tab.slice(0,-1),this}getFlowData(e){return this.flowsData.get(e)}flowNode(e){const t=e.getNodeType(this),n=this.flowChildNode(e,t);return this.flowsData.set(e,n),n}addInclude(e){this.currentFunctionNode!==null&&this.currentFunctionNode.includes.push(e)}buildFunctionNode(e){const t=new mk,n=this.currentFunctionNode;return this.currentFunctionNode=t,t.code=this.buildFunctionCode(e),this.currentFunctionNode=n,t}flowShaderNode(e){const t=e.layout,n={[Symbol.iterator](){let a=0;const o=Object.values(this);return{next:()=>({value:o[a],done:a++>=o.length})}}};for(const a of t.inputs)n[a.name]=new jU(a.type,a.name);e.layout=null;const r=e.call(n),s=this.flowStagesNode(r,t.type);return e.layout=t,s}flowBuildStage(e,t,n=null){const r=this.getBuildStage();this.setBuildStage(t);const s=e.build(this,n);return this.setBuildStage(r),s}flowStagesNode(e,t=null){const n=this.flow,r=this.vars,s=this.declarations,a=this.cache,o=this.buildStage,l=this.stack,c={code:""};this.flow=c,this.vars={},this.declarations={},this.cache=new W2,this.stack=Kw();for(const u of MT)this.setBuildStage(u),c.result=e.build(this,t);return c.vars=this.getVars(this.shaderStage),this.flow=n,this.vars=r,this.declarations=s,this.cache=a,this.stack=l,this.setBuildStage(o),c}getFunctionOperator(){return null}buildFunctionCode(){sr("Abstract function.")}flowChildNode(e,t=null){const n=this.flow,r={code:""};return this.flow=r,r.result=e.build(this,t),this.flow=n,r}flowNodeFromShaderStage(e,t,n=null,r=null){const s=this.tab,a=this.cache,o=this.shaderStage,l=this.context;this.setShaderStage(e);const c=ko({},this.context);delete c.nodeBlock,this.cache=this.globalCache,this.tab=" ",this.context=c;let u=null;if(this.buildStage==="generate"){const h=this.flowChildNode(t,n);r!==null&&(h.code+=`${this.tab+r} = ${h.result}; +`),this.flowCode[e]=this.flowCode[e]+h.code,u=h}else u=t.build(this);return this.setShaderStage(o),this.cache=a,this.tab=s,this.context=l,u}getAttributesArray(){return this.attributes.concat(this.bufferAttributes)}getAttributes(){sr("Abstract function.")}getVaryings(){sr("Abstract function.")}getVar(e,t,n=null){return`${n!==null?this.generateArrayDeclaration(e,n):this.getType(e)} ${t}`}getVars(e){let t="";const n=this.vars[e];if(n!==void 0)for(const r of n)t+=`${this.getVar(r.type,r.name)}; `;return t}getUniforms(){sr("Abstract function.")}getCodes(e){const t=this.codes[e];let n="";if(t!==void 0)for(const r of t)n+=r.code+` +`;return n}getHash(){return this.vertexShader+this.fragmentShader+this.computeShader}setShaderStage(e){this.shaderStage=e}getShaderStage(){return this.shaderStage}setBuildStage(e){this.buildStage=e}getBuildStage(){return this.buildStage}buildCode(){sr("Abstract function.")}get subBuild(){return this.subBuildLayers[this.subBuildLayers.length-1]||null}addSubBuild(e){this.subBuildLayers.push(e)}removeSubBuild(){return this.subBuildLayers.pop()}getClosestSubBuild(e){let t;if(e&&e.isNode?e.isShaderCallNodeInternal?t=e.shaderNode.subBuilds:e.isStackNode?t=[e.subBuild]:t=this.getDataFromNode(e,"any").subBuilds:e instanceof Set?t=[...e]:t=e,!t)return null;const n=this.subBuildLayers;for(let r=t.length-1;r>=0;r--){const s=t[r];if(n.includes(s))return s}return null}getSubBuildOutput(e){return this.getSubBuildProperty("outputNode",e)}getSubBuildProperty(e="",t=null){let n;t!==null?n=this.getClosestSubBuild(t):n=this.subBuildFn;let r;return n?r=e?n+"_"+e:n:r=e,r}build(){const{object:e,material:t,renderer:n}=this;if(t!==null){let r=n.library.fromMaterial(t);r===null&&(Nr(`NodeMaterial: Material "${t.type}" is not compatible.`),r=new Sc),r.build(this)}else this.addFlow("compute",e);for(const r of MT){this.setBuildStage(r),this.context.vertex&&this.context.vertex.isNode&&this.flowNodeFromShaderStage("vertex",this.context.vertex);for(const s of TT){this.setShaderStage(s);const a=this.flowNodes[s];for(const o of a)r==="generate"?this.flowNode(o):o.build(this)}}return this.setBuildStage(null),this.setShaderStage(null),this.buildCode(),this.buildUpdateNodes(),this}getSharedDataFromNode(e){let t=Ire.get(e);return t===void 0&&(t={}),t}getNodeUniform(e,t){const n=this.getSharedDataFromNode(e);let r=n.cache;if(r===void 0){if(t==="float"||t==="int"||t==="uint")r=new _re(e);else if(t==="vec2"||t==="ivec2"||t==="uvec2")r=new wre(e);else if(t==="vec3"||t==="ivec3"||t==="uvec3")r=new Ere(e);else if(t==="vec4"||t==="ivec4"||t==="uvec4")r=new Sre(e);else if(t==="color")r=new Cre(e);else if(t==="mat2")r=new Mre(e);else if(t==="mat3")r=new Tre(e);else if(t==="mat4")r=new Bre(e);else throw new Error(`Uniform "${t}" not implemented.`);n.cache=r}return r}format(e,t,n){if(t=this.getVectorType(t),n=this.getVectorType(n),t===n||n===null||this.isReference(n))return e;const r=this.getTypeLength(t),s=this.getTypeLength(n);return r===16&&s===9?`${this.getType(n)}( ${e}[ 0 ].xyz, ${e}[ 1 ].xyz, ${e}[ 2 ].xyz )`:r===9&&s===4?`${this.getType(n)}( ${e}[ 0 ].xy, ${e}[ 1 ].xy )`:r>4||s>4||s===0?e:r===s?`${this.getType(n)}( ${e} )`:r>s?(e=n==="bool"?`all( ${e} )`:`${e}.${"xyz".slice(0,s)}`,this.format(e,this.getTypeFromLength(s,this.getComponentType(t)),n)):s===4&&r>1?`${this.getType(n)}( ${this.format(e,t,"vec3")}, 1.0 )`:r===2?`${this.getType(n)}( ${this.format(e,t,"vec2")}, 0.0 )`:(r===1&&s>1&&t!==this.getComponentType(n)&&(e=`${this.getType(this.getComponentType(n))}( ${e} )`),`${this.getType(n)}( ${e} )`)}getSignature(){return`// Three.js r${B} - Node System +`}}class r4{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(e,t){let n=e.get(t);return n===void 0&&(n={renderId:0,frameId:0},e.set(t,n)),n}updateBeforeNode(e){const t=e.getUpdateBeforeType(),n=e.updateReference(this);if(t===Xa.FRAME){const r=this._getMaps(this.updateBeforeMap,n);if(r.frameId!==this.frameId){const s=r.frameId;r.frameId=this.frameId,e.updateBefore(this)===!1&&(r.frameId=s)}}else if(t===Xa.RENDER){const r=this._getMaps(this.updateBeforeMap,n);if(r.renderId!==this.renderId){const s=r.renderId;r.renderId=this.renderId,e.updateBefore(this)===!1&&(r.renderId=s)}}else t===Xa.OBJECT&&e.updateBefore(this)}updateAfterNode(e){const t=e.getUpdateAfterType(),n=e.updateReference(this);if(t===Xa.FRAME){const r=this._getMaps(this.updateAfterMap,n);r.frameId!==this.frameId&&e.updateAfter(this)!==!1&&(r.frameId=this.frameId)}else if(t===Xa.RENDER){const r=this._getMaps(this.updateAfterMap,n);r.renderId!==this.renderId&&e.updateAfter(this)!==!1&&(r.renderId=this.renderId)}else t===Xa.OBJECT&&e.updateAfter(this)}updateNode(e){const t=e.getUpdateType(),n=e.updateReference(this);if(t===Xa.FRAME){const r=this._getMaps(this.updateMap,n);r.frameId!==this.frameId&&e.update(this)!==!1&&(r.frameId=this.frameId)}else if(t===Xa.RENDER){const r=this._getMaps(this.updateMap,n);r.renderId!==this.renderId&&e.update(this)!==!1&&(r.renderId=this.renderId)}else t===Xa.OBJECT&&e.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class Z2{constructor(e,t,n=null,r="",s=!1){this.type=e,this.name=t,this.count=n,this.qualifier=r,this.isConst=s}}Z2.isNodeFunctionInput=!0;class Pre extends fv{static get type(){return"DirectionalLightNode"}constructor(e=null){super(e)}setupDirect(){const e=this.colorNode;return{lightDirection:P2(this.light),lightColor:e}}}const $2=new pi,vE=new pi;let c_=null;class Fre extends fv{static get type(){return"RectAreaLightNode"}constructor(e=null){super(e),this.halfHeight=na(new ye).setGroup(aa),this.halfWidth=na(new ye).setGroup(aa),this.updateType=Xa.RENDER}update(e){super.update(e);const{light:t}=this,n=e.camera.matrixWorldInverse;vE.identity(),$2.copy(t.matrixWorld),$2.premultiply(n),vE.extractRotation($2),this.halfWidth.value.set(t.width*.5,0,0),this.halfHeight.value.set(0,t.height*.5,0),this.halfWidth.value.applyMatrix4(vE),this.halfHeight.value.applyMatrix4(vE)}setupDirectRectArea(e){let t,n;e.isAvailable("float32Filterable")?(t=Yo(c_.LTC_FLOAT_1),n=Yo(c_.LTC_FLOAT_2)):(t=Yo(c_.LTC_HALF_1),n=Yo(c_.LTC_HALF_2));const{colorNode:r,light:s}=this,a=N2(s);return{lightColor:r,lightPosition:a,halfWidth:this.halfWidth,halfHeight:this.halfHeight,ltc_1:t,ltc_2:n}}static setLTC(e){c_=e}}class j2 extends fv{static get type(){return"SpotLightNode"}constructor(e=null){super(e),this.coneCosNode=na(0).setGroup(aa),this.penumbraCosNode=na(0).setGroup(aa),this.cutoffDistanceNode=na(0).setGroup(aa),this.decayExponentNode=na(0).setGroup(aa),this.colorNode=na(this.color).setGroup(aa)}update(e){super.update(e);const{light:t}=this;this.coneCosNode.value=Math.cos(t.angle),this.penumbraCosNode.value=Math.cos(t.angle*(1-t.penumbra)),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}getSpotAttenuation(e,t){const{coneCosNode:n,penumbraCosNode:r}=this;return Wd(n,r,t)}getLightCoord(e){const t=e.getNodeProperties(this);let n=t.projectionUV;return n===void 0&&(n=bk(this.light,e.context.positionWorld),t.projectionUV=n),n}setupDirect(e){const{colorNode:t,cutoffDistanceNode:n,decayExponentNode:r,light:s}=this,a=this.getLightVector(e),o=a.normalize(),l=o.dot(P2(s)),c=this.getSpotAttenuation(e,l),u=a.length(),h=V2({lightDistance:u,cutoffDistance:n,decayExponent:r});let d=t.mul(c).mul(h),f,A;return s.colorNode?(A=this.getLightCoord(e),f=s.colorNode(A)):s.map&&(A=this.getLightCoord(e),f=Yo(s.map,A.xy).onRenderUpdate(()=>s.map)),f&&(d=A.mul(2).sub(1).abs().lessThan(1).all().select(d.mul(f),d)),{lightColor:d,lightDirection:o}}}class Ore extends j2{static get type(){return"IESSpotLightNode"}getSpotAttenuation(e,t){const n=this.light.iesMap;let r=null;if(n&&n.isTexture===!0){const s=t.acos().mul(1/Math.PI);r=Yo(n,Ni(s,0),0).r}else r=super.getSpotAttenuation(t);return r}}const Lre=tr(([i,e])=>{const t=i.abs().sub(e);return gp(wc(t,0)).add(md(wc(t.x,t.y),0))});class Dre extends j2{static get type(){return"ProjectorLightNode"}update(e){super.update(e);const t=this.light;if(this.penumbraCosNode.value=Math.min(Math.cos(t.angle*(1-t.penumbra)),.99999),t.aspect===null){let n=1;t.map!==null&&(n=t.map.width/t.map.height),t.shadow.aspect=n}else t.shadow.aspect=t.aspect}getSpotAttenuation(e){const t=en(0),n=this.penumbraCosNode,r=uE(this.light).mul(e.context.positionWorld||$d);return Gs(r.w.greaterThan(0),()=>{const s=r.xyz.div(r.w),a=Lre(s.xy.sub(Ni(.5)),Ni(.5)),o=Qd(-1,Oo(1,qT(n)).sub(1));t.assign(bw(a.mul(-2).mul(o)))}),t}}class Ure extends fv{static get type(){return"AmbientLightNode"}constructor(e=null){super(e)}setup({context:e}){e.irradiance.addAssign(this.colorNode)}}class kre extends fv{static get type(){return"HemisphereLightNode"}constructor(e=null){super(e),this.lightPositionNode=I2(e),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=na(new hs).setGroup(aa)}update(e){const{light:t}=this;super.update(e),this.lightPositionNode.object3d=t,this.groundColorNode.value.copy(t.groundColor).multiplyScalar(t.intensity)}setup(e){const{colorNode:t,groundColorNode:n,lightDirectionNode:r}=this,a=Dm.dot(r).mul(.5).add(.5),o=Mo(n,t,a);e.context.irradiance.addAssign(o)}}class zre extends fv{static get type(){return"LightProbeNode"}constructor(e=null){super(e);const t=[];for(let n=0;n<9;n++)t.push(new ye);this.lightProbe=Ih(t)}update(e){const{light:t}=this;super.update(e);for(let n=0;n<9;n++)this.lightProbe.array[n].copy(t.sh.coefficients[n]).multiplyScalar(t.intensity)}setup(e){const t=qk(Dm,this.lightProbe);e.context.irradiance.addAssign(t)}}class i4{parseFunction(){sr("Abstract function.")}}class K2{constructor(e,t,n="",r=""){this.type=e,this.inputs=t,this.name=n,this.precision=r}getCode(){sr("Abstract function.")}}K2.isNodeFunction=!0;const Vre=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,Hre=/[a-z_0-9]+/ig,s4="#pragma main",Gre=i=>{i=i.trim();const e=i.indexOf(s4),t=e!==-1?i.slice(e+s4.length):i,n=t.match(Vre);if(n!==null&&n.length===5){const r=n[4],s=[];let a=null;for(;(a=Hre.exec(r))!==null;)s.push(a);const o=[];let l=0;for(;l{const c=this.backend.createNodeBuilder(e.object,this.renderer);return c.scene=e.scene,c.material=l,c.camera=e.camera,c.context.material=l,c.lightsNode=e.lightsNode,c.environmentNode=this.getEnvironmentNode(e.scene),c.fogNode=this.getFogNode(e.scene),c.clippingContext=e.clippingContext,this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview&&c.enableMultiview(),c};let o=a(e.material);try{o.build()}catch(l){o=a(new Sc),o.build(),Nr("TSL: "+l)}n=this._createNodeBuilderState(o),r.set(s,n)}n.usedTimes++,t.nodeBuilderState=n}return n}delete(e){if(e.isRenderObject){const t=this.get(e).nodeBuilderState;t.usedTimes--,t.usedTimes===0&&this.nodeBuilderCache.delete(this.getForRenderCacheKey(e))}return super.delete(e)}getForCompute(e){const t=this.get(e);let n=t.nodeBuilderState;if(n===void 0){const r=this.backend.createNodeBuilder(e,this.renderer);r.build(),n=this._createNodeBuilderState(r),t.nodeBuilderState=n}return n}_createNodeBuilderState(e){return new lre(e.vertexShader,e.fragmentShader,e.computeShader,e.getAttributesArray(),e.getBindings(),e.updateNodes,e.updateBeforeNodes,e.updateAfterNodes,e.observer,e.transforms)}getEnvironmentNode(e){this.updateEnvironment(e);let t=null;if(e.environmentNode&&e.environmentNode.isNode)t=e.environmentNode;else{const n=this.get(e);n.environmentNode&&(t=n.environmentNode)}return t}getBackgroundNode(e){this.updateBackground(e);let t=null;if(e.backgroundNode&&e.backgroundNode.isNode)t=e.backgroundNode;else{const n=this.get(e);n.backgroundNode&&(t=n.backgroundNode)}return t}getFogNode(e){return this.updateFog(e),e.fogNode||this.get(e).fogNode||null}getCacheKey(e,t){Cp[0]=e,Cp[1]=t;const n=this.renderer.info.calls,r=this.callHashCache.get(Cp)||{};if(r.callId!==n){const s=this.getEnvironmentNode(e),a=this.getFogNode(e);t&&Gm.push(t.getCacheKey(!0)),s&&Gm.push(s.getCacheKey()),a&&Gm.push(a.getCacheKey()),Gm.push(this.renderer.getOutputRenderTarget()&&this.renderer.getOutputRenderTarget().multiview?1:0),Gm.push(this.renderer.shadowMap.enabled?1:0),Gm.push(this.renderer.shadowMap.type),r.callId=n,r.cacheKey=j0(Gm),this.callHashCache.set(Cp,r),Gm.length=0}return Cp.length=0,r.cacheKey}get isToneMappingState(){return!this.renderer.getRenderTarget()}updateBackground(e){const t=this.get(e),n=e.background;if(n){const r=e.backgroundBlurriness===0&&t.backgroundBlurriness>0||e.backgroundBlurriness>0&&t.backgroundBlurriness===0;if(t.background!==n||r){const s=this.getCacheNode("background",n,()=>{if(n.isCubeTexture===!0||n.mapping===dt||n.mapping===Tt||n.mapping===Mt){if(e.backgroundBlurriness>0||n.mapping===Mt)return p2(n);{let a;return n.isCubeTexture===!0?a=Yh(n):a=Yo(n),eU(a)}}else{if(n.isTexture===!0)return Yo(n,Mg.flipY()).setUpdateMatrix(!0);n.isColor!==!0&&Nr("WebGPUNodes: Unsupported background configuration.",n)}},r);t.backgroundNode=s,t.background=n,t.backgroundBlurriness=e.backgroundBlurriness}}else t.backgroundNode&&(delete t.backgroundNode,delete t.background)}getCacheNode(e,t,n,r=!1){const s=this.cacheLib[e]||(this.cacheLib[e]=new WeakMap);let a=s.get(t);return(a===void 0||r)&&(a=n(),s.set(t,a)),a}updateFog(e){const t=this.get(e),n=e.fog;if(n){if(t.fog!==n){const r=this.getCacheNode("fog",n,()=>{if(n.isFogExp2){const s=Rl("color","color",n).setGroup(aa),a=Rl("density","float",n).setGroup(aa);return n_(s,B2(a))}else if(n.isFog){const s=Rl("color","color",n).setGroup(aa),a=Rl("near","float",n).setGroup(aa),o=Rl("far","float",n).setGroup(aa);return n_(s,T2(a,o))}else Nr("Renderer: Unsupported fog configuration.",n)});t.fogNode=r,t.fog=n}}else delete t.fogNode,delete t.fog}updateEnvironment(e){const t=this.get(e),n=e.environment;if(n){if(t.environment!==n){const r=this.getCacheNode("environment",n,()=>{if(n.isCubeTexture===!0)return Yh(n);if(n.isTexture===!0)return Yo(n);Nr("Nodes: Unsupported environment configuration.",n)});t.environmentNode=r,t.environment=n}}else t.environmentNode&&(delete t.environmentNode,delete t.environment)}getNodeFrame(e=this.renderer,t=null,n=null,r=null,s=null){const a=this.nodeFrame;return a.renderer=e,a.scene=t,a.object=n,a.camera=r,a.material=s,a}getNodeFrameForRender(e){return this.getNodeFrame(e.renderer,e.scene,e.object,e.camera,e.material)}getOutputCacheKey(){const e=this.renderer;return e.toneMapping+","+e.currentColorSpace+","+e.xr.isPresenting}hasOutputChange(e){return a4.get(e)!==this.getOutputCacheKey()}getOutputNode(e){const t=this.renderer,n=this.getOutputCacheKey(),r=e.isArrayTexture?rE(e,Wn(Mg,Cg("gl_ViewID_OVR"))).renderOutput(t.toneMapping,t.currentColorSpace):Yo(e,Mg).renderOutput(t.toneMapping,t.currentColorSpace);return a4.set(e,n),r}updateBefore(e){const t=e.getNodeBuilderState();for(const n of t.updateBeforeNodes)this.getNodeFrameForRender(e).updateBeforeNode(n)}updateAfter(e){const t=e.getNodeBuilderState();for(const n of t.updateAfterNodes)this.getNodeFrameForRender(e).updateAfterNode(n)}updateForCompute(e){const t=this.getNodeFrame(),n=this.getForCompute(e);for(const r of n.updateNodes)t.updateNode(r)}updateForRender(e){const t=this.getNodeFrameForRender(e),n=e.getNodeBuilderState();for(const r of n.updateNodes)t.updateNode(r)}needsRefresh(e){const t=this.getNodeFrameForRender(e);return e.getMonitor().needsRefresh(e,t)}dispose(){super.dispose(),this.nodeFrame=new r4,this.nodeBuilderCache=new Map,this.cacheLib={}}}const X2=new Eh;class yE{constructor(e=null){this.version=0,this.clipIntersection=null,this.cacheKey="",this.shadowPass=!1,this.viewNormalMatrix=new Pn,this.clippingGroupContexts=new WeakMap,this.intersectionPlanes=[],this.unionPlanes=[],this.parentVersion=null,e!==null&&(this.viewNormalMatrix=e.viewNormalMatrix,this.clippingGroupContexts=e.clippingGroupContexts,this.shadowPass=e.shadowPass,this.viewMatrix=e.viewMatrix)}projectPlanes(e,t,n){const r=e.length;for(let s=0;s0,alpha:!0,depth:t.depth,stencil:t.stencil,framebufferScaleFactor:this.getFramebufferScaleFactor()},o=new XRWebGLLayer(e,r,a);this._glBaseLayer=o,e.updateRenderState({baseLayer:o}),t.setPixelRatio(1),t._setXRLayerSize(o.framebufferWidth,o.framebufferHeight),this._xrRenderTarget=new d_(o.framebufferWidth,o.framebufferHeight,{format:S,type:on,colorSpace:t.outputColorSpace,stencilBuffer:t.stencil,resolveDepthBuffer:o.ignoreDepthValues===!1,resolveStencilBuffer:o.ignoreDepthValues===!1}),this._xrRenderTarget._isOpaqueFramebuffer=!0,this._referenceSpace=yield e.requestReferenceSpace(this.getReferenceSpaceType())}this.setFoveation(this.getFoveation()),t._animation.setAnimationLoop(this._onAnimationFrame),t._animation.setContext(e),t._animation.start(),this.isPresenting=!0,this.dispatchEvent({type:"sessionstart"})}})}updateCamera(e){const t=this._session;if(t===null)return;const n=e.near,r=e.far,s=this._cameraXR,a=this._cameraL,o=this._cameraR;s.near=o.near=a.near=n,s.far=o.far=a.far=r,s.isMultiViewCamera=this._useMultiview,(this._currentDepthNear!==s.near||this._currentDepthFar!==s.far)&&(t.updateRenderState({depthNear:s.near,depthFar:s.far}),this._currentDepthNear=s.near,this._currentDepthFar=s.far),s.layers.mask=e.layers.mask|6,a.layers.mask=s.layers.mask&3,o.layers.mask=s.layers.mask&5;const l=e.parent,c=s.cameras;u4(s,l);for(let u=0;u=0&&(t[s]=null,e[s].disconnect(r))}for(let n=0;n=t.length){t.push(r),s=o;break}else if(t[o]===null){t[o]=r,s=o;break}if(s===-1)break}const a=e[s];a&&a.connect(r)}}function rie(i){return i.type==="quad"?this._glBinding.createQuadLayer({transform:new XRRigidTransform(i.translation,i.quaternion),width:i.width/2,height:i.height/2,space:this._referenceSpace,viewPixelWidth:i.pixelwidth,viewPixelHeight:i.pixelheight,clearOnAccess:!1}):this._glBinding.createCylinderLayer({transform:new XRRigidTransform(i.translation,i.quaternion),radius:i.radius,centralAngle:i.centralAngle,aspectRatio:i.aspectRatio,space:this._referenceSpace,viewPixelWidth:i.pixelwidth,viewPixelHeight:i.pixelheight,clearOnAccess:!1})}function iie(i,e){if(e===void 0)return;const t=this._cameraXR,n=this._renderer,r=n.backend,s=this._glBaseLayer,a=this.getReferenceSpace(),o=e.getViewerPose(a);if(this._xrFrame=e,o!==null){const l=o.views;this._glBaseLayer!==null&&r.setXRTarget(s.framebuffer);let c=!1;l.length!==t.cameras.length&&(t.cameras.length=0,c=!0);for(let u=0;uva(this,null,function*(){yield this.compileAsync(f,A);const b=this._renderLists.get(f,A),x=this._renderContexts.get(f,A,this._renderTarget,this._mrt),P=f.overrideMaterial||y.material,k=this._objects.get(y,P,f,A,b.lightsNode,x,x.clippingContext),{fragmentShader:$,vertexShader:se}=k.getNodeBuilderState();return{fragmentShader:$,vertexShader:se}})}}init(){return va(this,null,function*(){return this._initPromise!==null?this._initPromise:(this._initPromise=new Promise((e,t)=>va(this,null,function*(){let n=this.backend;try{yield n.init(this)}catch(r){if(this._getFallback!==null)try{this.backend=n=this._getFallback(r),yield n.init(this)}catch(s){t(s);return}else{t(r);return}}this._nodes=new Zre(this,n),this._animation=new Cq(this,this._nodes,this.info),this._attributes=new Pq(n),this._background=new are(this,this._nodes),this._geometries=new Fq(this._attributes,this.info),this._textures=new Xq(this,n,this.info),this._pipelines=new kq(n,this._nodes),this._bindings=new zq(n,this._nodes,this._textures,this._attributes,this._pipelines,this.info),this._objects=new Rq(this,this._nodes,this._geometries,this._pipelines,this._bindings,this.info),this._renderLists=new Gq(this.lighting),this._bundles=new jre,this._renderContexts=new jq,this._animation.start(),this._initialized=!0,this._inspector.init(),e(this)})),this._initPromise)})}get domElement(){return this._canvasTarget.domElement}get coordinateSystem(){return this.backend.coordinateSystem}compileAsync(e,t,n=null){return va(this,null,function*(){if(this._isDeviceLost===!0)return;this._initialized===!1&&(yield this.init());const r=this._nodes.nodeFrame,s=r.renderId,a=this._currentRenderContext,o=this._currentRenderObjectFunction,l=this._compilationPromises,c=e.isScene===!0?e:h4;n===null&&(n=e);const u=this._renderTarget,h=this._renderContexts.get(n,t,u,this._mrt),d=this._activeMipmapLevel,f=[];this._currentRenderContext=h,this._currentRenderObjectFunction=this.renderObject,this._handleObjectFunction=this._createObjectPipeline,this._compilationPromises=f,r.renderId++,r.update(),h.depth=this.depth,h.stencil=this.stencil,h.clippingContext||(h.clippingContext=new yE),h.clippingContext.updateGlobal(c,t),c.onBeforeRender(this,e,t,u);const A=this._renderLists.get(e,t);if(A.begin(),this._projectObject(e,t,0,A,h.clippingContext),n!==e&&n.traverseVisible(function(k){k.isLight&&k.layers.test(t.layers)&&A.pushLight(k)}),A.finish(),u!==null){this._textures.updateRenderTarget(u,d);const k=this._textures.get(u);h.textures=k.textures,h.depthTexture=k.depthTexture}else h.textures=null,h.depthTexture=null;this._background.update(c,A,h);const y=A.opaque,b=A.transparent,x=A.transparentDoublePass,P=A.lightsNode;this.opaque===!0&&y.length>0&&this._renderObjects(y,t,c,P),this.transparent===!0&&b.length>0&&this._renderTransparents(b,x,t,c,P),r.renderId=s,this._currentRenderContext=a,this._currentRenderObjectFunction=o,this._compilationPromises=l,this._handleObjectFunction=this._renderObjectDirect,yield Promise.all(f)})}renderAsync(e,t){return va(this,null,function*(){$s('Renderer: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.render(e,t)})}waitForGPU(){return va(this,null,function*(){Nr("Renderer: waitForGPU() has been removed. Read https://github.com/mrdoob/three.js/issues/32012 for more information.")})}set inspector(e){this._inspector!==null&&this._inspector.setRenderer(null),this._inspector=e,this._inspector.setRenderer(this)}get inspector(){return this._inspector}set highPrecision(e){const t=this.contextNode.value;e===!0?(t.modelViewMatrix=wB,t.modelNormalViewMatrix=EB):this.highPrecision&&(delete t.modelViewMatrix,delete t.modelNormalViewMatrix)}get highPrecision(){const e=this.contextNode.value;return e.modelViewMatrix===wB&&e.modelNormalViewMatrix===EB}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}getOutputBufferType(){return this._outputBufferType}getColorBufferType(){return $s('Renderer: ".getColorBufferType()" has been renamed to ".getOutputBufferType()".'),this.getOutputBufferType()}_onDeviceLost(e){let t=`THREE.WebGPURenderer: ${e.api} Device Lost: + +Message: ${e.message}`;e.reason&&(t+=` +Reason: ${e.reason}`),Nr(t),this._isDeviceLost=!0}_renderBundle(e,t,n){const{bundleGroup:r,camera:s,renderList:a}=e,o=this._currentRenderContext,l=this._bundles.get(r,s),c=this.backend.get(l);c.renderContexts===void 0&&(c.renderContexts=new Set);const u=r.version!==c.version,h=c.renderContexts.has(o)===!1||u;if(c.renderContexts.add(o),h){this.backend.beginBundle(o),(c.renderObjects===void 0||u)&&(c.renderObjects=[]),this._currentRenderBundle=l;const{transparentDoublePass:d,transparent:f,opaque:A}=a;this.opaque===!0&&A.length>0&&this._renderObjects(A,s,t,n),this.transparent===!0&&f.length>0&&this._renderTransparents(f,d,s,t,n),this._currentRenderBundle=null,this.backend.finishBundle(o,l),c.version=r.version}else{const{renderObjects:d}=c;for(let f=0,A=d.length;f>=d,A.viewportValue.height>>=d,A.viewportValue.minDepth=se,A.viewportValue.maxDepth=ie,A.viewport=A.viewportValue.equals(Y2)===!1,A.scissorValue.copy(k).multiplyScalar($).floor(),A.scissor=x._scissorTest&&A.scissorValue.equals(Y2)===!1,A.scissorValue.width>>=d,A.scissorValue.height>>=d,A.clippingContext||(A.clippingContext=new yE),A.clippingContext.updateGlobal(c,t),c.onBeforeRender(this,e,t,f);const ce=t.isArrayCamera?J2:q2;t.isArrayCamera||(xE.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),ce.setFromProjectionMatrix(xE,t.coordinateSystem,t.reversedDepth));const ue=this._renderLists.get(e,t);if(ue.begin(),this._projectObject(e,t,0,ue,A.clippingContext),ue.finish(),this.sortObjects===!0&&ue.sort(this._opaqueSort,this._transparentSort),f!==null){this._textures.updateRenderTarget(f,d);const gn=this._textures.get(f);A.textures=gn.textures,A.depthTexture=gn.depthTexture,A.width=gn.width,A.height=gn.height,A.renderTarget=f,A.depth=f.depthBuffer,A.stencil=f.stencilBuffer}else A.textures=null,A.depthTexture=null,A.width=nx.width,A.height=nx.height,A.depth=this.depth,A.stencil=this.stencil;A.width>>=d,A.height>>=d,A.activeCubeFace=h,A.activeMipmapLevel=d,A.occlusionQueryCount=ue.occlusionQueryCount,A.scissorValue.max(Pg.set(0,0,0,0)),A.scissorValue.x+A.scissorValue.width>A.width&&(A.scissorValue.width=Math.max(A.width-A.scissorValue.x,0)),A.scissorValue.y+A.scissorValue.height>A.height&&(A.scissorValue.height=Math.max(A.height-A.scissorValue.y,0)),this._background.update(c,ue,A),A.camera=t,this.backend.beginRender(A);const{bundles:ve,lightsNode:Fe,transparentDoublePass:nt,transparent:Gt,opaque:Jt}=ue;return ve.length>0&&this._renderBundles(ve,c,Fe),this.opaque===!0&&Jt.length>0&&this._renderObjects(Jt,t,c,Fe),this.transparent===!0&&Gt.length>0&&this._renderTransparents(Gt,nt,t,c,Fe),this.backend.finishRender(A),s.renderId=a,this._currentRenderContext=o,this._currentRenderObjectFunction=l,r!==null&&(this.setRenderTarget(u,h,d),this._renderOutput(f)),c.onAfterRender(this,e,t,f),this.inspector.finishRender(this.backend.getTimestampUID(A)),A}_setXRLayerSize(e,t){this._canvasTarget._width=e,this._canvasTarget._height=t,this.setViewport(0,0,e,t)}_renderOutput(e){const t=this._quad;this._nodes.hasOutputChange(e.texture)&&(t.material.fragmentNode=this._nodes.getOutputNode(e.texture),t.material.needsUpdate=!0);const n=this.autoClear,r=this.xr.enabled;this.autoClear=!1,this.xr.enabled=!1,this._renderScene(t,t.camera,!1),this.autoClear=n,this.xr.enabled=r}getMaxAnisotropy(){return this.backend.getMaxAnisotropy()}getActiveCubeFace(){return this._activeCubeFace}getActiveMipmapLevel(){return this._activeMipmapLevel}setAnimationLoop(e){return va(this,null,function*(){this._initialized===!1&&(yield this.init()),this._animation.setAnimationLoop(e)})}getAnimationLoop(){return this._animation.getAnimationLoop()}getArrayBufferAsync(e){return va(this,null,function*(){return yield this.backend.getArrayBufferAsync(e)})}getContext(){return this.backend.getContext()}getPixelRatio(){return this._canvasTarget.getPixelRatio()}getDrawingBufferSize(e){return this._canvasTarget.getDrawingBufferSize(e)}getSize(e){return this._canvasTarget.getSize(e)}setPixelRatio(e=1){this._canvasTarget.setPixelRatio(e)}setDrawingBufferSize(e,t,n){this.xr&&this.xr.isPresenting||this._canvasTarget.setDrawingBufferSize(e,t,n)}setSize(e,t,n=!0){this.xr&&this.xr.isPresenting||this._canvasTarget.setSize(e,t,n)}setOpaqueSort(e){this._opaqueSort=e}setTransparentSort(e){this._transparentSort=e}getScissor(e){return this._canvasTarget.getScissor(e)}setScissor(e,t,n,r){this._canvasTarget.setScissor(e,t,n,r)}getScissorTest(){return this._canvasTarget.getScissorTest()}setScissorTest(e){this._canvasTarget.setScissorTest(e),this.backend.setScissorTest(e)}getViewport(e){return this._canvasTarget.getViewport(e)}setViewport(e,t,n,r,s=0,a=1){this._canvasTarget.setViewport(e,t,n,r,s,a)}getClearColor(e){return e.copy(this._clearColor)}setClearColor(e,t=1){this._clearColor.set(e),this._clearColor.a=t}getClearAlpha(){return this._clearColor.a}setClearAlpha(e){this._clearColor.a=e}getClearDepth(){return this._clearDepth}setClearDepth(e){this._clearDepth=e}getClearStencil(){return this._clearStencil}setClearStencil(e){this._clearStencil=e}isOccluded(e){const t=this._currentRenderContext;return t&&this.backend.isOccluded(t,e)}clear(e=!0,t=!0,n=!0){if(this._initialized===!1)throw new Error('Renderer: .clear() called before the backend is initialized. Use "await renderer.init();" before before using this method.');const r=this._renderTarget||this._getFrameBufferTarget();let s=null;if(r!==null){this._textures.updateRenderTarget(r);const a=this._textures.get(r);s=this._renderContexts.getForClear(r),s.textures=a.textures,s.depthTexture=a.depthTexture,s.width=a.width,s.height=a.height,s.renderTarget=r,s.depth=r.depthBuffer,s.stencil=r.stencilBuffer,s.clearColorValue=this.backend.getClearColor(),s.activeCubeFace=this.getActiveCubeFace(),s.activeMipmapLevel=this.getActiveMipmapLevel()}this.backend.clear(e,t,n,s),r!==null&&this._renderTarget===null&&this._renderOutput(r)}clearColor(){this.clear(!0,!1,!1)}clearDepth(){this.clear(!1,!0,!1)}clearStencil(){this.clear(!1,!1,!0)}clearAsync(e=!0,t=!0,n=!0){return va(this,null,function*(){$s('Renderer: "clearAsync()" has been deprecated. Use "clear()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.clear(e,t,n)})}clearColorAsync(){return va(this,null,function*(){$s('Renderer: "clearColorAsync()" has been deprecated. Use "clearColor()" and "await renderer.init();" when creating the renderer.'),this.clear(!0,!1,!1)})}clearDepthAsync(){return va(this,null,function*(){$s('Renderer: "clearDepthAsync()" has been deprecated. Use "clearDepth()" and "await renderer.init();" when creating the renderer.'),this.clear(!1,!0,!1)})}clearStencilAsync(){return va(this,null,function*(){$s('Renderer: "clearStencilAsync()" has been deprecated. Use "clearStencil()" and "await renderer.init();" when creating the renderer.'),this.clear(!1,!1,!0)})}get needsFrameBufferTarget(){const e=this.currentToneMapping!==U,t=this.currentColorSpace!==xr.workingColorSpace;return e||t}get samples(){return this._samples}get currentSamples(){let e=this._samples;return this._renderTarget!==null?e=this._renderTarget.samples:this.needsFrameBufferTarget&&(e=0),e}get currentToneMapping(){return this.isOutputTarget?this.toneMapping:U}get currentColorSpace(){return this.isOutputTarget?this.outputColorSpace:xr.workingColorSpace}get isOutputTarget(){return this._renderTarget===this._outputRenderTarget||this._renderTarget===null}dispose(){this._initialized===!0&&(this.info.dispose(),this.backend.dispose(),this._animation.dispose(),this._objects.dispose(),this._geometries.dispose(),this._pipelines.dispose(),this._nodes.dispose(),this._bindings.dispose(),this._renderLists.dispose(),this._renderContexts.dispose(),this._textures.dispose(),this._frameBufferTarget!==null&&this._frameBufferTarget.dispose(),Object.values(this.backend.timestampQueryPool).forEach(e=>{e!==null&&e.dispose()})),this.setRenderTarget(null),this.setAnimationLoop(null)}setRenderTarget(e,t=0,n=0){this._renderTarget=e,this._activeCubeFace=t,this._activeMipmapLevel=n}getRenderTarget(){return this._renderTarget}setOutputRenderTarget(e){this._outputRenderTarget=e}getOutputRenderTarget(){return this._outputRenderTarget}setCanvasTarget(e){this._canvasTarget.removeEventListener("resize",this._onCanvasTargetResize),this._canvasTarget=e,this._canvasTarget.addEventListener("resize",this._onCanvasTargetResize)}getCanvasTarget(){return this._canvasTarget}_resetXRState(){this.backend.setXRTarget(null),this.setOutputRenderTarget(null),this.setRenderTarget(null),this._frameBufferTarget.dispose(),this._frameBufferTarget=null}setRenderObjectFunction(e){this._renderObjectFunction=e}getRenderObjectFunction(){return this._renderObjectFunction}compute(e,t=null){if(this._isDeviceLost===!0)return;if(this._initialized===!1)return sr("Renderer: .compute() called before the backend is initialized. Try using .computeAsync() instead."),this.computeAsync(e,t);const n=this._nodes.nodeFrame,r=n.renderId;this.info.calls++,this.info.compute.calls++,this.info.compute.frameCalls++,n.renderId=this.info.calls,this.backend.updateTimeStampUID(e),this.inspector.beginCompute(this.backend.getTimestampUID(e),e);const s=this.backend,a=this._pipelines,o=this._bindings,l=this._nodes,c=Array.isArray(e)?e:[e];if(c[0]===void 0||c[0].isComputeNode!==!0)throw new Error("THREE.Renderer: .compute() expects a ComputeNode.");s.beginCompute(e);for(const u of c){if(a.has(u)===!1){const f=()=>{u.removeEventListener("dispose",f),a.delete(u),o.deleteForCompute(u),l.delete(u)};u.addEventListener("dispose",f);const A=u.onInitFunction;A!==null&&A.call(u,{renderer:this})}l.updateForCompute(u),o.updateForCompute(u);const h=o.getForCompute(u),d=a.getForCompute(u,h);s.compute(e,u,h,d,t)}s.finishCompute(e),n.renderId=r,this.inspector.finishCompute(this.backend.getTimestampUID(e))}computeAsync(e,t=null){return va(this,null,function*(){this._initialized===!1&&(yield this.init()),this.compute(e,t)})}hasFeatureAsync(e){return va(this,null,function*(){return $s('Renderer: "hasFeatureAsync()" has been deprecated. Use "hasFeature()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.hasFeature(e)})}resolveTimestampsAsync(e="render"){return va(this,null,function*(){return this._initialized===!1&&(yield this.init()),this.backend.resolveTimestampsAsync(e)})}hasFeature(e){if(this._initialized===!1)throw new Error('Renderer: .hasFeature() called before the backend is initialized. Use "await renderer.init();" before before using this method.');return this.backend.hasFeature(e)}hasInitialized(){return this._initialized}initTextureAsync(e){return va(this,null,function*(){$s('Renderer: "initTextureAsync()" has been deprecated. Use "initTexture()" and "await renderer.init();" when creating the renderer.'),yield this.init(),this.initTexture(e)})}initTexture(e){if(this._initialized===!1)throw new Error('Renderer: .initTexture() called before the backend is initialized. Use "await renderer.init();" before before using this method.');this._textures.updateTexture(e)}copyFramebufferToTexture(e,t=null){if(t!==null)if(t.isVector2)t=Pg.set(t.x,t.y,e.image.width,e.image.height).floor();else if(t.isVector4)t=Pg.copy(t).floor();else{Nr("Renderer.copyFramebufferToTexture: Invalid rectangle.");return}else t=Pg.set(0,0,e.image.width,e.image.height);let n=this._currentRenderContext,r;n!==null?r=n.renderTarget:(r=this._renderTarget||this._getFrameBufferTarget(),r!==null&&(this._textures.updateRenderTarget(r),n=this._textures.get(r))),this._textures.updateTexture(e,{renderTarget:r}),this.backend.copyFramebufferToTexture(e,n,t),this._inspector.copyFramebufferToTexture(e)}copyTextureToTexture(e,t,n=null,r=null,s=0,a=0){this._textures.updateTexture(e),this._textures.updateTexture(t),this.backend.copyTextureToTexture(e,t,n,r,s,a),this._inspector.copyTextureToTexture(e,t)}readRenderTargetPixelsAsync(e,t,n,r,s,a=0,o=0){return va(this,null,function*(){return this.backend.copyTextureToBuffer(e.textures[a],t,n,r,s,o)})}_projectObject(e,t,n,r,s){if(e.visible===!1)return;if(e.layers.test(t.layers)){if(e.isGroup)n=e.renderOrder,e.isClippingGroup&&e.enabled&&(s=s.getGroupContext(e));else if(e.isLOD)e.autoUpdate===!0&&e.update(t);else if(e.isLight)r.pushLight(e);else if(e.isSprite){const l=t.isArrayCamera?J2:q2;if(!e.frustumCulled||l.intersectsSprite(e,t)){this.sortObjects===!0&&Pg.setFromMatrixPosition(e.matrixWorld).applyMatrix4(xE);const{geometry:c,material:u}=e;u.visible&&r.push(e,c,u,n,Pg.z,null,s)}}else if(e.isLineLoop)Nr("Renderer: Objects of type THREE.LineLoop are not supported. Please use THREE.Line or THREE.LineSegments.");else if(e.isMesh||e.isLine||e.isPoints){const l=t.isArrayCamera?J2:q2;if(!e.frustumCulled||l.intersectsObject(e,t)){const{geometry:c,material:u}=e;if(this.sortObjects===!0&&(c.boundingSphere===null&&c.computeBoundingSphere(),Pg.copy(c.boundingSphere.center).applyMatrix4(e.matrixWorld).applyMatrix4(xE)),Array.isArray(u)){const h=c.groups;for(let d=0,f=h.length;d0){for(const{material:a}of t)a.side=ge;this._renderObjects(t,n,r,s,"backSide");for(const{material:a}of t)a.side=te;this._renderObjects(e,n,r,s);for(const{material:a}of t)a.side=pe}else this._renderObjects(e,n,r,s)}_renderObjects(e,t,n,r,s=null){for(let a=0,o=e.length;a0||s.transmissionNode&&s.transmissionNode.isNode||s.backdropNode&&s.backdropNode.isNode,y.isShadowPassMaterial){const{colorNode:b,depthNode:x,positionNode:P}=this._getShadowNodes(s);y.side=s.shadowSide===null?s.side:s.shadowSide,b!==null&&(y.colorNode=b),x!==null&&(y.depthNode=x),P!==null&&(y.positionNode=P)}s=y}s.transparent===!0&&s.side===pe&&s.forceSinglePass===!1?(s.side=ge,this._handleObjectFunction(e,s,t,n,o,a,l,"backSide"),s.side=te,this._handleObjectFunction(e,s,t,n,o,a,l,c),s.side=pe):this._handleObjectFunction(e,s,t,n,o,a,l,c),u&&(t.overrideMaterial.colorNode=h,t.overrideMaterial.depthNode=d,t.overrideMaterial.positionNode=f,t.overrideMaterial.side=A),e.onAfterRender(this,t,n,r,s,a)}_renderObjectDirect(e,t,n,r,s,a,o,l){const c=this._objects.get(e,t,n,r,s,this._currentRenderContext,o,l);c.drawRange=e.geometry.drawRange,c.group=a;const u=this._nodes.needsRefresh(c);u&&(this._nodes.updateBefore(c),this._geometries.updateForRender(c),this._nodes.updateForRender(c),this._bindings.updateForRender(c)),this._pipelines.updateForRender(c),this._currentRenderBundle!==null&&(this.backend.get(this._currentRenderBundle).renderObjects.push(c),c.bundle=this._currentRenderBundle.bundleGroup),this.backend.draw(c,this.info),u&&this._nodes.updateAfter(c)}_createObjectPipeline(e,t,n,r,s,a,o,l){const c=this._objects.get(e,t,n,r,s,this._currentRenderContext,o,l);c.drawRange=e.geometry.drawRange,c.group=a,this._nodes.updateBefore(c),this._geometries.updateForRender(c),this._nodes.updateForRender(c),this._bindings.updateForRender(c),this._pipelines.getForRender(c,this._compilationPromises),this._nodes.updateAfter(c)}_onCanvasTargetResize(){this._initialized&&this.backend.updateSize()}get compile(){return this.compileAsync}}class d4{constructor(e=""){this.name=e,this.visibility=0}setVisibility(e){this.visibility|=e}getVisibility(){return this.visibility}clone(){return Object.assign(new this.constructor,this)}}function oie(i){return i+(Vm-i%Vm)%Vm}class f4 extends d4{constructor(e,t=null){super(e),this.isBuffer=!0,this.bytesPerElement=Float32Array.BYTES_PER_ELEMENT,this._buffer=t,this._updateRanges=[]}get updateRanges(){return this._updateRanges}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}get byteLength(){return oie(this._buffer.byteLength)}get buffer(){return this._buffer}update(){return!0}}class A4 extends f4{constructor(e,t=null){super(e,t),this.isUniformBuffer=!0}}let lie=0;class p4 extends A4{constructor(e,t){super("UniformBuffer_"+lie++,e?e.value:null),this.nodeUniform=e,this.groupNode=t,this.isNodeUniformBuffer=!0}set updateRanges(e){this.nodeUniform.updateRanges=e}get updateRanges(){return this.nodeUniform.updateRanges}addUpdateRange(e,t){this.nodeUniform.addUpdateRange(e,t)}clearUpdateRanges(){this.nodeUniform.clearUpdateRanges()}get buffer(){return this.nodeUniform.value}}class cie extends A4{constructor(e){super(e),this.isUniformsGroup=!0,this._values=null,this.uniforms=[]}addUniform(e){return this.uniforms.push(e),this}removeUniform(e){const t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}get values(){return this._values===null&&(this._values=Array.from(this.buffer)),this._values}get buffer(){let e=this._buffer;if(e===null){const t=this.byteLength;e=new Float32Array(new ArrayBuffer(t)),this._buffer=e}return e}get byteLength(){const e=this.bytesPerElement;let t=0;for(let n=0,r=this.uniforms.length;n{this.generation=null,this.version=0},this.texture=t,this.version=t?t.version:0,this.generation=null,this.samplerKey="",this.isSampler=!0}set texture(e){this._texture!==e&&(this._texture&&this._texture.removeEventListener("dispose",this._onTextureDispose),this._texture=e,this.generation=null,this.version=0,this._texture&&this._texture.addEventListener("dispose",this._onTextureDispose))}get texture(){return this._texture}update(){const{texture:e,version:t}=this;return t!==e.version?(this.version=e.version,!0):!1}clone(){const e=super.clone();return e._texture=null,e._onTextureDispose=()=>{e.generation=null,e.version=0},e.texture=this.texture,e}}let fie=0;class Aie extends m4{constructor(e,t){super(e,t),this.id=fie++,this.store=!1,this.mipLevel=0,this.isSampledTexture=!0}}class bE extends Aie{constructor(e,t,n,r=null){super(e,t?t.value:null),this.textureNode=t,this.groupNode=n,this.access=r}update(){const{textureNode:e}=this;return this.texture!==e.value?(this.texture=e.value,!0):super.update()}}class v4 extends bE{constructor(e,t,n,r=null){super(e,t,n,r),this.isSampledCubeTexture=!0}}class eR extends bE{constructor(e,t,n,r=null){super(e,t,n,r),this.isSampledTexture3D=!0}}const y4={bitcast_int_uint:new Vu("uint tsl_bitcast_int_to_uint ( int x ) { return floatBitsToUint( intBitsToFloat ( x ) ); }"),bitcast_uint_int:new Vu("uint tsl_bitcast_uint_to_int ( uint x ) { return floatBitsToInt( uintBitsToFloat ( x ) ); }")},pie={textureDimensions:"textureSize",equals:"equal",bitcast_float_int:"floatBitsToInt",bitcast_int_float:"intBitsToFloat",bitcast_uint_float:"uintBitsToFloat",bitcast_float_uint:"floatBitsToUint",bitcast_uint_int:"tsl_bitcast_uint_to_int",bitcast_int_uint:"tsl_bitcast_int_to_uint",floatpack_snorm_2x16:"packSnorm2x16",floatpack_unorm_2x16:"packUnorm2x16",floatpack_float16_2x16:"packHalf2x16",floatunpack_snorm_2x16:"unpackSnorm2x16",floatunpack_unorm_2x16:"unpackUnorm2x16",floatunpack_float16_2x16:"unpackHalf2x16"},gie={low:"lowp",medium:"mediump",high:"highp"},x4={swizzleAssign:!0,storageBuffer:!1},b4={perspective:"smooth",linear:"noperspective"},_4={centroid:"centroid"},w4=` +precision highp float; +precision highp int; +precision highp sampler2D; +precision highp sampler3D; +precision highp samplerCube; +precision highp sampler2DArray; + +precision highp usampler2D; +precision highp usampler3D; +precision highp usamplerCube; +precision highp usampler2DArray; + +precision highp isampler2D; +precision highp isampler3D; +precision highp isamplerCube; +precision highp isampler2DArray; + +precision lowp sampler2DShadow; +precision lowp sampler2DArrayShadow; +precision lowp samplerCubeShadow; +`;class mie extends n4{constructor(e,t){super(e,t,new Wre),this.uniformGroups={},this.transforms=[],this.extensions={},this.builtins={vertex:[],fragment:[],compute:[]}}needsToWorkingColorSpace(e){return e.isVideoTexture===!0&&e.colorSpace!==Oa}_include(e){const t=y4[e];return t.build(this),this.addInclude(t),t}getMethod(e){return y4[e]!==void 0&&this._include(e),pie[e]||e}getBitcastMethod(e,t){return this.getMethod(`bitcast_${t}_${e}`)}getFloatPackingMethod(e){return this.getMethod(`floatpack_${e}_2x16`)}getFloatUnpackingMethod(e){return this.getMethod(`floatunpack_${e}_2x16`)}getTernary(e,t,n){return`${e} ? ${t} : ${n}`}getOutputStructName(){return""}buildFunctionCode(e){const t=e.layout,n=this.flowShaderNode(e),r=[];for(const a of t.inputs)r.push(this.getType(a.type)+" "+a.name);return`${this.getType(t.type)} ${t.name}( ${r.join(", ")} ) { + + ${n.vars} + +${n.code} + return ${n.result}; + +}`}setupPBO(e){const t=e.value;if(t.pbo===void 0){const n=t.array,r=t.count*t.itemSize,{itemSize:s}=t,a=t.array.constructor.name.toLowerCase().includes("int");let o=a?me:Ae;s===2?o=a?Ke:$e:s===3?o=a?Xt:W:s===4&&(o=a?Se:S);const l={Float32Array:rn,Uint8Array:on,Uint16Array:gt,Uint32Array:Ft,Int8Array:Yt,Int16Array:Vt,Int32Array:yt,Uint8ClampedArray:on},c=Math.pow(2,Math.ceil(Math.log2(Math.sqrt(r/s))));let u=Math.ceil(r/s/c);c*u*s0?d:"";o=`${u.name} { + ${h} ${a.name}[${f}]; +}; +`}else o=`${this.getVectorType(a.type)} ${this.getPropertyName(a,e)};`,l=!0;const c=a.node.precision;if(c!==null&&(o=gie[c]+" "+o),l){o=" "+o;const u=a.groupNode.name;(r[u]||(r[u]=[])).push(o)}else o="uniform "+o,n.push(o)}let s="";for(const a in r){const o=r[a];s+=this._getGLSLUniformStruct(e+"_"+a,o.join(` +`))+` +`}return s+=n.join(` +`),s}getTypeFromAttribute(e){let t=super.getTypeFromAttribute(e);if(/^[iu]/.test(t)&&e.gpuType!==yt){let n=e;e.isInterleavedBufferAttribute&&(n=e.data);const r=n.array;r instanceof Uint32Array||r instanceof Int32Array||(t=t.slice(1))}return t}getAttributes(e){let t="";if(e==="vertex"||e==="compute"){const n=this.getAttributesArray();let r=0;for(const s of n)t+=`layout( location = ${r++} ) in ${s.type} ${s.name}; +`}return t}getStructMembers(e){const t=[];for(const n of e.members)t.push(` ${n.type} ${n.name};`);return t.join(` +`)}getStructs(e){const t=[],n=this.structs[e],r=[];for(const s of n)if(s.output)for(const a of s.members)r.push(`layout( location = ${a.index} ) out ${a.type} ${a.name};`);else{let a="struct "+s.name+` { +`;a+=this.getStructMembers(s),a+=` +}; +`,t.push(a)}return r.length===0&&r.push("layout( location = 0 ) out vec4 fragColor;"),` +`+r.join(` +`)+` + +`+t.join(` +`)}getVaryings(e){let t="";const n=this.varyings;if(e==="vertex"||e==="compute")for(const r of n){e==="compute"&&(r.needsInterpolation=!0);const s=this.getType(r.type);if(r.needsInterpolation)if(r.interpolationType){const a=b4[r.interpolationType]||r.interpolationType,o=_4[r.interpolationSampling]||"";t+=`${a} ${o} out ${s} ${r.name}; +`}else{const a=s.includes("int")||s.includes("uv")||s.includes("iv")?"flat ":"";t+=`${a}out ${s} ${r.name}; +`}else t+=`${s} ${r.name}; +`}else if(e==="fragment"){for(const r of n)if(r.needsInterpolation){const s=this.getType(r.type);if(r.interpolationType){const a=b4[r.interpolationType]||r.interpolationType,o=_4[r.interpolationSampling]||"";t+=`${a} ${o} in ${s} ${r.name}; +`}else{const a=s.includes("int")||s.includes("uv")||s.includes("iv")?"flat ":"";t+=`${a}in ${s} ${r.name}; +`}}}for(const r of this.builtins[e])t+=`${r}; +`;return t}getVertexIndex(){return"uint( gl_VertexID )"}getInstanceIndex(){return"uint( gl_InstanceID )"}getInvocationLocalIndex(){return`uint( gl_InstanceID ) % ${this.object.workgroupSize.reduce((n,r)=>n*r,1)}u`}getSubgroupSize(){Nr("GLSLNodeBuilder: WebGLBackend does not support the subgroupSize node")}getInvocationSubgroupIndex(){Nr("GLSLNodeBuilder: WebGLBackend does not support the invocationSubgroupIndex node")}getSubgroupIndex(){Nr("GLSLNodeBuilder: WebGLBackend does not support the subgroupIndex node")}getDrawIndex(){return this.renderer.backend.extensions.has("WEBGL_multi_draw")?"uint( gl_DrawID )":null}getFrontFacing(){return"gl_FrontFacing"}getFragCoord(){return"gl_FragCoord.xy"}getFragDepth(){return"gl_FragDepth"}enableExtension(e,t,n=this.shaderStage){const r=this.extensions[n]||(this.extensions[n]=new Map);r.has(e)===!1&&r.set(e,{name:e,behavior:t})}getExtensions(e){const t=[];if(e==="vertex"){const r=this.renderer.backend.extensions;this.object.isBatchedMesh&&r.has("WEBGL_multi_draw")&&this.enableExtension("GL_ANGLE_multi_draw","require",e)}const n=this.extensions[e];if(n!==void 0)for(const{name:r,behavior:s}of n.values())t.push(`#extension ${r} : ${s}`);return t.join(` +`)}getClipDistance(){return"gl_ClipDistance"}isAvailable(e){let t=x4[e];if(t===void 0){let n;switch(t=!1,e){case"float32Filterable":n="OES_texture_float_linear";break;case"clipDistance":n="WEBGL_clip_cull_distance";break}if(n!==void 0){const r=this.renderer.backend.extensions;r.has(n)&&(r.get(n),t=!0)}x4[e]=t}return t}isFlipY(){return!0}enableHardwareClipping(e){this.enableExtension("GL_ANGLE_clip_cull_distance","require"),this.builtins.vertex.push(`out float gl_ClipDistance[ ${e} ]`)}enableMultiview(){this.enableExtension("GL_OVR_multiview2","require","fragment"),this.enableExtension("GL_OVR_multiview2","require","vertex"),this.builtins.vertex.push("layout(num_views = 2) in")}registerTransform(e,t){this.transforms.push({varyingName:e,attributeNode:t})}getTransforms(){const e=this.transforms;let t="";for(let n=0;n0&&(n+=` +`),n+=` // flow -> ${c} + `),n+=`${l.code} + `,o===s&&t!=="compute"&&(n+=`// result + `,t==="vertex"?(n+="gl_Position = ",n+=`${l.result};`):t==="fragment"&&(o.outputNode.isOutputStructNode||(n+="fragColor = ",n+=`${l.result};`)))}const a=e[t];a.extensions=this.getExtensions(t),a.uniforms=this.getUniforms(t),a.attributes=this.getAttributes(t),a.varyings=this.getVaryings(t),a.vars=this.getVars(t),a.structs=this.getStructs(t),a.codes=this.getCodes(t),a.transforms=this.getTransforms(t),a.flow=n}this.material!==null?(this.vertexShader=this._getGLSLVertexCode(e.vertex),this.fragmentShader=this._getGLSLFragmentCode(e.fragment)):this.computeShader=this._getGLSLVertexCode(e.compute)}getUniformFromNode(e,t,n,r=null){const s=super.getUniformFromNode(e,t,n,r),a=this.getDataFromNode(e,n,this.globalCache);let o=a.uniformGPU;if(o===void 0){const l=e.groupNode,c=l.name,u=this.getBindGroupArray(c,n);if(t==="texture")o=new bE(s.name,s.node,l),u.push(o);else if(t==="cubeTexture"||t==="cubeDepthTexture")o=new v4(s.name,s.node,l),u.push(o);else if(t==="texture3D")o=new eR(s.name,s.node,l),u.push(o);else if(t==="buffer"){s.name=`buffer${e.id}`;const h=this.getSharedDataFromNode(e);let d=h.buffer;d===void 0&&(e.name=`NodeBuffer_${e.id}`,d=new p4(e,l),d.name=e.name,h.buffer=d),u.push(d),o=d}else{const h=this.uniformGroups[n]||(this.uniformGroups[n]={});let d=h[c];d===void 0&&(d=new g4(n+"_"+c,l),h[c]=d,u.push(d)),o=this.getNodeUniform(s,t),d.addUniform(o)}a.uniformGPU=o}return s}}let tR=null,rx=null;class E4{constructor(e={}){this.parameters=Object.assign({},e),this.data=new WeakMap,this.renderer=null,this.domElement=null,this.timestampQueryPool={[cl.RENDER]:null,[cl.COMPUTE]:null},this.trackTimestamp=e.trackTimestamp===!0}init(e){return va(this,null,function*(){this.renderer=e})}get coordinateSystem(){}beginRender(){}finishRender(){}beginCompute(){}finishCompute(){}draw(){}compute(){}createProgram(){}destroyProgram(){}createBindings(){}updateBindings(){}updateBinding(){}createRenderPipeline(){}createComputePipeline(){}needsRenderUpdate(){}getRenderCacheKey(){}createNodeBuilder(){}updateSampler(){}createDefaultTexture(){}createTexture(){}updateTexture(){}generateMipmaps(){}destroyTexture(){}copyTextureToBuffer(){return va(this,null,function*(){})}copyTextureToTexture(){}copyFramebufferToTexture(){}createAttribute(){}createIndexAttribute(){}createStorageAttribute(){}updateAttribute(){}destroyAttribute(){}getContext(){}updateSize(){}updateViewport(){}updateTimeStampUID(e){const t=this.get(e),n=this.renderer.info.frame;let r;e.isComputeNode===!0?r="c:"+this.renderer.info.compute.frameCalls:r="r:"+this.renderer.info.render.frameCalls,t.timestampUID=r+":"+e.id+":f"+n}getTimestampUID(e){return this.get(e).timestampUID}getTimestampFrames(e){const t=this.timestampQueryPool[e];return t?t.getTimestampFrames():[]}_getQueryPool(e){const t=e.startsWith("c:")?cl.COMPUTE:cl.RENDER;return this.timestampQueryPool[t]}getTimestamp(e){return this._getQueryPool(e).getTimestamp(e)}hasTimestamp(e){return this._getQueryPool(e).hasTimestamp(e)}isOccluded(){}resolveTimestampsAsync(e="render"){return va(this,null,function*(){if(!this.trackTimestamp){$s("WebGPURenderer: Timestamp tracking is disabled.");return}const t=this.timestampQueryPool[e];if(!t)return;const n=yield t.resolveQueriesAsync();return this.renderer.info[e].timestamp=n,n})}getArrayBufferAsync(){return va(this,null,function*(){})}hasFeatureAsync(){return va(this,null,function*(){})}hasFeature(){}getMaxAnisotropy(){}getDrawingBufferSize(){return tR=tR||new Qe,this.renderer.getDrawingBufferSize(tR)}setScissorTest(){}getClearColor(){const e=this.renderer;return rx=rx||new m2,e.getClearColor(rx),rx.getRGB(rx),rx}getDomElement(){let e=this.domElement;return e===null&&(e=this.parameters.canvas!==void 0?this.parameters.canvas:Ou(),"setAttribute"in e&&e.setAttribute("data-engine",`three.js r${B} webgpu`),this.domElement=e),e}set(e,t){this.data.set(e,t)}get(e){let t=this.data.get(e);return t===void 0&&(t={},this.data.set(e,t)),t}has(e){return this.data.has(e)}delete(e){this.data.delete(e)}deleteBindGroupData(){}dispose(){}}let vie=0;class yie{constructor(e,t){this.buffers=[e.bufferGPU,t],this.type=e.type,this.bufferType=e.bufferType,this.pbo=e.pbo,this.byteLength=e.byteLength,this.bytesPerElement=e.BYTES_PER_ELEMENT,this.version=e.version,this.isInteger=e.isInteger,this.activeBufferIndex=0,this.baseId=e.id}get id(){return`${this.baseId}|${this.activeBufferIndex}`}get bufferGPU(){return this.buffers[this.activeBufferIndex]}get transformBuffer(){return this.buffers[this.activeBufferIndex^1]}switchBuffers(){this.activeBufferIndex^=1}}class xie{constructor(e){this.backend=e}createAttribute(e,t){const n=this.backend,{gl:r}=n,s=e.array,a=e.usage||r.STATIC_DRAW,o=e.isInterleavedBufferAttribute?e.data:e,l=n.get(o);let c=l.bufferGPU;c===void 0&&(c=this._createBuffer(r,t,s,a),l.bufferGPU=c,l.bufferType=t,l.version=o.version);let u;if(s instanceof Float32Array)u=r.FLOAT;else if(typeof Float16Array!="undefined"&&s instanceof Float16Array)u=r.HALF_FLOAT;else if(s instanceof Uint16Array)e.isFloat16BufferAttribute?u=r.HALF_FLOAT:u=r.UNSIGNED_SHORT;else if(s instanceof Int16Array)u=r.SHORT;else if(s instanceof Uint32Array)u=r.UNSIGNED_INT;else if(s instanceof Int32Array)u=r.INT;else if(s instanceof Int8Array)u=r.BYTE;else if(s instanceof Uint8Array)u=r.UNSIGNED_BYTE;else if(s instanceof Uint8ClampedArray)u=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLBackend: Unsupported buffer data format: "+s);let h={bufferGPU:c,bufferType:t,type:u,byteLength:s.byteLength,bytesPerElement:s.BYTES_PER_ELEMENT,version:e.version,pbo:e.pbo,isInteger:u===r.INT||u===r.UNSIGNED_INT||e.gpuType===yt,id:vie++};if(e.isStorageBufferAttribute||e.isStorageInstancedBufferAttribute){const d=this._createBuffer(r,t,s,a);h=new yie(h,d)}n.set(e,h)}updateAttribute(e){const t=this.backend,{gl:n}=t,r=e.array,s=e.isInterleavedBufferAttribute?e.data:e,a=t.get(s),o=a.bufferType,l=e.isInterleavedBufferAttribute?e.data.updateRanges:e.updateRanges;if(n.bindBuffer(o,a.bufferGPU),l.length===0)n.bufferSubData(o,0,r);else{for(let c=0,u=l.length;c0?this.enable(r.SAMPLE_ALPHA_TO_COVERAGE):this.disable(r.SAMPLE_ALPHA_TO_COVERAGE),n>0&&this.currentClippingPlanes!==n)for(let l=0;l<8;l++)l{function s(){const a=e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0);if(a===e.WAIT_FAILED){e.deleteSync(t),r();return}if(a===e.TIMEOUT_EXPIRED){requestAnimationFrame(s);return}e.deleteSync(t),n()}s()})}}let S4=!1,_E,rR,C4;class wie{constructor(e){this.backend=e,this.gl=e.gl,this.extensions=e.extensions,this.defaultTextures={},this._srcFramebuffer=null,this._dstFramebuffer=null,S4===!1&&(this._init(),S4=!0)}_init(){const e=this.gl;_E={[It]:e.REPEAT,[an]:e.CLAMP_TO_EDGE,[In]:e.MIRRORED_REPEAT},rR={[_n]:e.NEAREST,[er]:e.NEAREST_MIPMAP_NEAREST,[hr]:e.NEAREST_MIPMAP_LINEAR,[br]:e.LINEAR,[ri]:e.LINEAR_MIPMAP_NEAREST,[Vi]:e.LINEAR_MIPMAP_LINEAR},C4={[Ws]:e.NEVER,[ll]:e.ALWAYS,[ia]:e.LESS,[ta]:e.LEQUAL,[oo]:e.EQUAL,[cc]:e.GEQUAL,[Oi]:e.GREATER,[jo]:e.NOTEQUAL}}getGLTextureType(e){const{gl:t}=this;let n;return e.isCubeTexture===!0?n=t.TEXTURE_CUBE_MAP:e.isArrayTexture===!0||e.isDataArrayTexture===!0||e.isCompressedArrayTexture===!0?n=t.TEXTURE_2D_ARRAY:e.isData3DTexture===!0?n=t.TEXTURE_3D:n=t.TEXTURE_2D,n}getInternalFormat(e,t,n,r,s=!1){const{gl:a,extensions:o}=this;if(e!==null){if(a[e]!==void 0)return a[e];sr("WebGLBackend: Attempt to use non-existing WebGL internal format '"+e+"'")}let l=t;if(t===a.RED&&(n===a.FLOAT&&(l=a.R32F),n===a.HALF_FLOAT&&(l=a.R16F),n===a.UNSIGNED_BYTE&&(l=a.R8),n===a.UNSIGNED_SHORT&&(l=a.R16),n===a.UNSIGNED_INT&&(l=a.R32UI),n===a.BYTE&&(l=a.R8I),n===a.SHORT&&(l=a.R16I),n===a.INT&&(l=a.R32I)),t===a.RED_INTEGER&&(n===a.UNSIGNED_BYTE&&(l=a.R8UI),n===a.UNSIGNED_SHORT&&(l=a.R16UI),n===a.UNSIGNED_INT&&(l=a.R32UI),n===a.BYTE&&(l=a.R8I),n===a.SHORT&&(l=a.R16I),n===a.INT&&(l=a.R32I)),t===a.RG&&(n===a.FLOAT&&(l=a.RG32F),n===a.HALF_FLOAT&&(l=a.RG16F),n===a.UNSIGNED_BYTE&&(l=a.RG8),n===a.UNSIGNED_SHORT&&(l=a.RG16),n===a.UNSIGNED_INT&&(l=a.RG32UI),n===a.BYTE&&(l=a.RG8I),n===a.SHORT&&(l=a.RG16I),n===a.INT&&(l=a.RG32I)),t===a.RG_INTEGER&&(n===a.UNSIGNED_BYTE&&(l=a.RG8UI),n===a.UNSIGNED_SHORT&&(l=a.RG16UI),n===a.UNSIGNED_INT&&(l=a.RG32UI),n===a.BYTE&&(l=a.RG8I),n===a.SHORT&&(l=a.RG16I),n===a.INT&&(l=a.RG32I)),t===a.RGB){const c=s?Sl:xr.getTransfer(r);n===a.FLOAT&&(l=a.RGB32F),n===a.HALF_FLOAT&&(l=a.RGB16F),n===a.UNSIGNED_BYTE&&(l=a.RGB8),n===a.UNSIGNED_SHORT&&(l=a.RGB16),n===a.UNSIGNED_INT&&(l=a.RGB32UI),n===a.BYTE&&(l=a.RGB8I),n===a.SHORT&&(l=a.RGB16I),n===a.INT&&(l=a.RGB32I),n===a.UNSIGNED_BYTE&&(l=c===Hi?a.SRGB8:a.RGB8),n===a.UNSIGNED_SHORT_5_6_5&&(l=a.RGB565),n===a.UNSIGNED_SHORT_5_5_5_1&&(l=a.RGB5_A1),n===a.UNSIGNED_SHORT_4_4_4_4&&(l=a.RGB4),n===a.UNSIGNED_INT_5_9_9_9_REV&&(l=a.RGB9_E5),n===a.UNSIGNED_INT_10F_11F_11F_REV&&(l=a.R11F_G11F_B10F)}if(t===a.RGB_INTEGER&&(n===a.UNSIGNED_BYTE&&(l=a.RGB8UI),n===a.UNSIGNED_SHORT&&(l=a.RGB16UI),n===a.UNSIGNED_INT&&(l=a.RGB32UI),n===a.BYTE&&(l=a.RGB8I),n===a.SHORT&&(l=a.RGB16I),n===a.INT&&(l=a.RGB32I)),t===a.RGBA){const c=s?Sl:xr.getTransfer(r);n===a.FLOAT&&(l=a.RGBA32F),n===a.HALF_FLOAT&&(l=a.RGBA16F),n===a.UNSIGNED_BYTE&&(l=a.RGBA8),n===a.UNSIGNED_SHORT&&(l=a.RGBA16),n===a.UNSIGNED_INT&&(l=a.RGBA32UI),n===a.BYTE&&(l=a.RGBA8I),n===a.SHORT&&(l=a.RGBA16I),n===a.INT&&(l=a.RGBA32I),n===a.UNSIGNED_BYTE&&(l=c===Hi?a.SRGB8_ALPHA8:a.RGBA8),n===a.UNSIGNED_SHORT_4_4_4_4&&(l=a.RGBA4),n===a.UNSIGNED_SHORT_5_5_5_1&&(l=a.RGB5_A1)}return t===a.RGBA_INTEGER&&(n===a.UNSIGNED_BYTE&&(l=a.RGBA8UI),n===a.UNSIGNED_SHORT&&(l=a.RGBA16UI),n===a.UNSIGNED_INT&&(l=a.RGBA32UI),n===a.BYTE&&(l=a.RGBA8I),n===a.SHORT&&(l=a.RGBA16I),n===a.INT&&(l=a.RGBA32I)),t===a.DEPTH_COMPONENT&&(n===a.UNSIGNED_SHORT&&(l=a.DEPTH_COMPONENT16),n===a.UNSIGNED_INT&&(l=a.DEPTH_COMPONENT24),n===a.FLOAT&&(l=a.DEPTH_COMPONENT32F)),t===a.DEPTH_STENCIL&&n===a.UNSIGNED_INT_24_8&&(l=a.DEPTH24_STENCIL8),(l===a.R16F||l===a.R32F||l===a.RG16F||l===a.RG32F||l===a.RGBA16F||l===a.RGBA32F)&&o.get("EXT_color_buffer_float"),l}setTextureParameters(e,t){const{gl:n,extensions:r,backend:s}=this,a=xr.getPrimaries(xr.workingColorSpace),o=t.colorSpace===Oa?null:xr.getPrimaries(t.colorSpace),l=t.colorSpace===Oa||a===o?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,t.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,t.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,l),n.texParameteri(e,n.TEXTURE_WRAP_S,_E[t.wrapS]),n.texParameteri(e,n.TEXTURE_WRAP_T,_E[t.wrapT]),(e===n.TEXTURE_3D||e===n.TEXTURE_2D_ARRAY)&&(t.isArrayTexture||n.texParameteri(e,n.TEXTURE_WRAP_R,_E[t.wrapR])),n.texParameteri(e,n.TEXTURE_MAG_FILTER,rR[t.magFilter]);const c=t.mipmaps!==void 0&&t.mipmaps.length>0,u=t.minFilter===br&&c?Vi:t.minFilter;if(n.texParameteri(e,n.TEXTURE_MIN_FILTER,rR[u]),t.compareFunction&&(n.texParameteri(e,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(e,n.TEXTURE_COMPARE_FUNC,C4[t.compareFunction])),r.has("EXT_texture_filter_anisotropic")===!0){if(t.magFilter===_n||t.minFilter!==hr&&t.minFilter!==Vi||t.type===rn&&r.has("OES_texture_float_linear")===!1)return;if(t.anisotropy>1){const h=r.get("EXT_texture_filter_anisotropic");n.texParameterf(e,h.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(t.anisotropy,s.getMaxAnisotropy()))}}}createDefaultTexture(e){const{gl:t,backend:n,defaultTextures:r}=this,s=this.getGLTextureType(e);let a=r[s];a===void 0&&(a=t.createTexture(),n.state.bindTexture(s,a),t.texParameteri(s,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(s,t.TEXTURE_MAG_FILTER,t.NEAREST),r[s]=a),n.set(e,{textureGPU:a,glTextureType:s})}createTexture(e,t){const{gl:n,backend:r}=this,{levels:s,width:a,height:o,depth:l}=t,c=r.utils.convert(e.format,e.colorSpace),u=r.utils.convert(e.type),h=this.getInternalFormat(e.internalFormat,c,u,e.colorSpace,e.isVideoTexture),d=n.createTexture(),f=this.getGLTextureType(e);r.state.bindTexture(f,d),this.setTextureParameters(f,e),e.isArrayTexture||e.isDataArrayTexture||e.isCompressedArrayTexture?n.texStorage3D(n.TEXTURE_2D_ARRAY,s,h,a,o,l):e.isData3DTexture?n.texStorage3D(n.TEXTURE_3D,s,h,a,o,l):e.isVideoTexture||n.texStorage2D(f,s,h,a,o),r.set(e,{textureGPU:d,glTextureType:f,glFormat:c,glType:u,glInternalFormat:h})}copyBufferToTexture(e,t){const{gl:n,backend:r}=this,{textureGPU:s,glTextureType:a,glFormat:o,glType:l}=r.get(t),{width:c,height:u}=t.source.data;n.bindBuffer(n.PIXEL_UNPACK_BUFFER,e),r.state.bindTexture(a,s),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),n.texSubImage2D(a,0,0,0,c,u,o,l,0),n.bindBuffer(n.PIXEL_UNPACK_BUFFER,null),r.state.unbindTexture()}updateTexture(e,t){const{gl:n}=this,{width:r,height:s}=t,{textureGPU:a,glTextureType:o,glFormat:l,glType:c,glInternalFormat:u}=this.backend.get(e);if(!(e.isRenderTargetTexture||a===void 0))if(this.backend.state.bindTexture(o,a),this.setTextureParameters(o,e),e.isCompressedTexture){const h=e.mipmaps,d=t.image;for(let f=0;f0){const d=V1(h.width,h.height,e.format,e.type);for(const f of e.layerUpdates){const A=h.data.subarray(f*d/h.data.BYTES_PER_ELEMENT,(f+1)*d/h.data.BYTES_PER_ELEMENT);n.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,f,h.width,h.height,1,l,c,A)}e.clearLayerUpdates()}else n.texSubImage3D(n.TEXTURE_2D_ARRAY,0,0,0,0,h.width,h.height,h.depth,l,c,h.data)}else if(e.isData3DTexture){const h=t.image;n.texSubImage3D(n.TEXTURE_3D,0,0,0,0,h.width,h.height,h.depth,l,c,h.data)}else if(e.isVideoTexture)e.update(),n.texImage2D(o,0,u,l,c,t.image);else{const h=e.mipmaps;if(h.length>0)for(let d=0,f=h.length;d0,d=t.renderTarget?t.renderTarget.height:this.backend.getDrawingBufferSize().y;if(h){const f=o!==0||l!==0;let A,y;if(e.isDepthTexture===!0?(A=r.DEPTH_BUFFER_BIT,y=r.DEPTH_ATTACHMENT,t.stencil&&(A|=r.STENCIL_BUFFER_BIT)):(A=r.COLOR_BUFFER_BIT,y=r.COLOR_ATTACHMENT0),f){const b=this.backend.get(t.renderTarget),x=b.framebuffers[t.getCacheKey()],P=b.msaaFrameBuffer;s.bindFramebuffer(r.DRAW_FRAMEBUFFER,x),s.bindFramebuffer(r.READ_FRAMEBUFFER,P);const k=d-l-u;r.blitFramebuffer(o,k,o+c,k+u,o,k,o+c,k+u,A,r.NEAREST),s.bindFramebuffer(r.READ_FRAMEBUFFER,x),s.bindTexture(r.TEXTURE_2D,a),r.copyTexSubImage2D(r.TEXTURE_2D,0,0,0,o,k,c,u),s.unbindTexture()}else{const b=r.createFramebuffer();s.bindFramebuffer(r.DRAW_FRAMEBUFFER,b),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,y,r.TEXTURE_2D,a,0),r.blitFramebuffer(0,0,c,u,0,0,c,u,A,r.NEAREST),r.deleteFramebuffer(b)}}else s.bindTexture(r.TEXTURE_2D,a),r.copyTexSubImage2D(r.TEXTURE_2D,0,0,0,o,d-u-l,c,u),s.unbindTexture();e.generateMipmaps&&this.generateMipmaps(e),this.backend._setFramebuffer(t)}setupRenderBufferStorage(e,t,n,r=!1){const{gl:s}=this,a=t.renderTarget,{depthTexture:o,depthBuffer:l,stencilBuffer:c,width:u,height:h}=a;if(s.bindRenderbuffer(s.RENDERBUFFER,e),l&&!c){let d=s.DEPTH_COMPONENT24;r===!0?this.extensions.get("WEBGL_multisampled_render_to_texture").renderbufferStorageMultisampleEXT(s.RENDERBUFFER,a.samples,d,u,h):n>0?(o&&o.isDepthTexture&&o.type===s.FLOAT&&(d=s.DEPTH_COMPONENT32F),s.renderbufferStorageMultisample(s.RENDERBUFFER,n,d,u,h)):s.renderbufferStorage(s.RENDERBUFFER,d,u,h),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_ATTACHMENT,s.RENDERBUFFER,e)}else l&&c&&(n>0?s.renderbufferStorageMultisample(s.RENDERBUFFER,n,s.DEPTH24_STENCIL8,u,h):s.renderbufferStorage(s.RENDERBUFFER,s.DEPTH_STENCIL,u,h),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_STENCIL_ATTACHMENT,s.RENDERBUFFER,e));s.bindRenderbuffer(s.RENDERBUFFER,null)}copyTextureToBuffer(e,t,n,r,s,a){return va(this,null,function*(){const{backend:o,gl:l}=this,{textureGPU:c,glFormat:u,glType:h}=this.backend.get(e),d=l.createFramebuffer();o.state.bindFramebuffer(l.READ_FRAMEBUFFER,d);const f=e.isCubeTexture?l.TEXTURE_CUBE_MAP_POSITIVE_X+a:l.TEXTURE_2D;l.framebufferTexture2D(l.READ_FRAMEBUFFER,l.COLOR_ATTACHMENT0,f,c,0);const A=this._getTypedArrayType(h),y=this._getBytesPerTexel(h,u),x=r*s*y,P=l.createBuffer();l.bindBuffer(l.PIXEL_PACK_BUFFER,P),l.bufferData(l.PIXEL_PACK_BUFFER,x,l.STREAM_READ),l.readPixels(t,n,r,s,u,h,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),yield o.utils._clientWaitAsync();const k=new A(x/A.BYTES_PER_ELEMENT);return l.bindBuffer(l.PIXEL_PACK_BUFFER,P),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,k),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),o.state.bindFramebuffer(l.READ_FRAMEBUFFER,null),l.deleteFramebuffer(d),k})}_getTypedArrayType(e){const{gl:t}=this;if(e===t.UNSIGNED_BYTE)return Uint8Array;if(e===t.UNSIGNED_SHORT_4_4_4_4||e===t.UNSIGNED_SHORT_5_5_5_1||e===t.UNSIGNED_SHORT_5_6_5||e===t.UNSIGNED_SHORT)return Uint16Array;if(e===t.UNSIGNED_INT)return Uint32Array;if(e===t.HALF_FLOAT)return Uint16Array;if(e===t.FLOAT)return Float32Array;throw new Error(`Unsupported WebGL type: ${e}`)}_getBytesPerTexel(e,t){const{gl:n}=this;let r=0;if(e===n.UNSIGNED_BYTE&&(r=1),(e===n.UNSIGNED_SHORT_4_4_4_4||e===n.UNSIGNED_SHORT_5_5_5_1||e===n.UNSIGNED_SHORT_5_6_5||e===n.UNSIGNED_SHORT||e===n.HALF_FLOAT)&&(r=2),(e===n.UNSIGNED_INT||e===n.FLOAT)&&(r=4),t===n.RGBA)return r*4;if(t===n.RGB)return r*3;if(t===n.ALPHA)return r}dispose(){const{gl:e}=this;this._srcFramebuffer!==null&&e.deleteFramebuffer(this._srcFramebuffer),this._dstFramebuffer!==null&&e.deleteFramebuffer(this._dstFramebuffer)}}function wE(i){return i.isDataTexture?i.image.data:typeof HTMLImageElement!="undefined"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&i instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&i instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&i instanceof OffscreenCanvas?i:i.data}class Eie{constructor(e){this.backend=e,this.gl=this.backend.gl,this.availableExtensions=this.gl.getSupportedExtensions(),this.extensions={}}get(e){let t=this.extensions[e];return t===void 0&&(t=this.gl.getExtension(e),this.extensions[e]=t),t}has(e){return this.availableExtensions.includes(e)}}class Sie{constructor(e){this.backend=e,this.maxAnisotropy=null}getMaxAnisotropy(){if(this.maxAnisotropy!==null)return this.maxAnisotropy;const e=this.backend.gl,t=this.backend.extensions;if(t.has("EXT_texture_filter_anisotropic")===!0){const n=t.get("EXT_texture_filter_anisotropic");this.maxAnisotropy=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else this.maxAnisotropy=0;return this.maxAnisotropy}}const M4={WEBGL_multi_draw:"WEBGL_multi_draw",WEBGL_compressed_texture_astc:"texture-compression-astc",WEBGL_compressed_texture_etc:"texture-compression-etc2",WEBGL_compressed_texture_etc1:"texture-compression-etc1",WEBGL_compressed_texture_pvrtc:"texture-compression-pvrtc",WEBGL_compressed_texture_s3tc:"texture-compression-s3tc",EXT_texture_compression_bptc:"texture-compression-bc",EXT_disjoint_timer_query_webgl2:"timestamp-query",OVR_multiview2:"OVR_multiview2"};class Cie{constructor(e){this.gl=e.gl,this.extensions=e.extensions,this.info=e.renderer.info,this.mode=null,this.index=0,this.type=null,this.object=null}render(e,t){const{gl:n,mode:r,object:s,type:a,info:o,index:l}=this;l!==0?n.drawElements(r,t,a,e):n.drawArrays(r,e,t),o.update(s,t,1)}renderInstances(e,t,n){const{gl:r,mode:s,type:a,index:o,object:l,info:c}=this;n!==0&&(o!==0?r.drawElementsInstanced(s,t,a,e,n):r.drawArraysInstanced(s,e,t,n),c.update(l,t,n))}renderMultiDraw(e,t,n){const{extensions:r,mode:s,object:a,info:o}=this;if(n===0)return;const l=r.get("WEBGL_multi_draw");if(l===null)for(let c=0;cthis.maxQueries)return $s(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryStates.set(t,"inactive"),this.queryOffsets.set(e,t),t}beginQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e);if(t==null||this.activeQuery!==null)return;const n=this.queries[t];if(n)try{this.queryStates.get(t)==="inactive"&&(this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,n),this.activeQuery=t,this.queryStates.set(t,"started"))}catch(r){Nr("Error in beginQuery:",r),this.activeQuery=null,this.queryStates.set(t,"inactive")}}endQuery(e){if(!this.trackTimestamp||this.isDisposed)return;const t=this.queryOffsets.get(e);if(t!=null&&this.activeQuery===t)try{this.gl.endQuery(this.ext.TIME_ELAPSED_EXT),this.queryStates.set(t,"ended"),this.activeQuery=null}catch(n){Nr("Error in endQuery:",n),this.queryStates.set(t,"inactive"),this.activeQuery=null}}resolveQueriesAsync(){return va(this,null,function*(){if(!this.trackTimestamp||this.pendingResolve)return this.lastValue;this.pendingResolve=!0;try{const e=new Map;for(const[s,a]of this.queryOffsets)if(this.queryStates.get(a)==="ended"){const l=this.queries[a];e.set(s,this.resolveQuery(l))}if(e.size===0)return this.lastValue;const t={},n=[];for(const[s,a]of e){const o=s.match(/^(.*):f(\d+)$/),l=parseInt(o[2]);n.includes(l)===!1&&n.push(l),t[l]===void 0&&(t[l]=0);const c=yield a;this.timestamps.set(s,c),t[l]+=c}const r=t[n[n.length-1]];return this.lastValue=r,this.frames=n,this.currentQueryIndex=0,this.queryOffsets.clear(),this.queryStates.clear(),this.activeQuery=null,r}catch(e){return Nr("Error resolving queries:",e),this.lastValue}finally{this.pendingResolve=!1}})}resolveQuery(e){return va(this,null,function*(){return new Promise(t=>{if(this.isDisposed){t(this.lastValue);return}let n,r=!1;const s=()=>{n&&(clearTimeout(n),n=null)},a=l=>{r||(r=!0,s(),t(l))},o=()=>{if(this.isDisposed){a(this.lastValue);return}try{if(this.gl.getParameter(this.ext.GPU_DISJOINT_EXT)){a(this.lastValue);return}if(!this.gl.getQueryParameter(e,this.gl.QUERY_RESULT_AVAILABLE)){n=setTimeout(o,1);return}const u=this.gl.getQueryParameter(e,this.gl.QUERY_RESULT);t(Number(u)/1e6)}catch(l){Nr("Error checking query:",l),t(this.lastValue)}};o()})})}dispose(){if(!this.isDisposed&&(this.isDisposed=!0,!!this.trackTimestamp)){for(const e of this.queries)this.gl.deleteQuery(e);this.queries=[],this.queryStates.clear(),this.queryOffsets.clear(),this.lastValue=0,this.activeQuery=null}}}class B4 extends E4{constructor(e={}){super(e),this.isWebGLBackend=!0,this.attributeUtils=null,this.extensions=null,this.capabilities=null,this.textureUtils=null,this.bufferRenderer=null,this.gl=null,this.state=null,this.utils=null,this.vaoCache={},this.transformFeedbackCache={},this.discard=!1,this.disjoint=null,this.parallel=null,this._currentContext=null,this._knownBindings=new WeakSet,this._supportsInvalidateFramebuffer=typeof navigator=="undefined"?!1:/OculusBrowser/g.test(navigator.userAgent),this._xrFramebuffer=null}init(e){super.init(e);const t=this.parameters,n={antialias:e.currentSamples>0,alpha:!0,depth:e.depth,stencil:e.stencil},r=t.context!==void 0?t.context:e.domElement.getContext("webgl2",n);function s(a){a.preventDefault();const o={api:"WebGL",message:a.statusMessage||"Unknown reason",reason:null,originalEvent:a};e.onDeviceLost(o)}this._onContextLost=s,e.domElement.addEventListener("webglcontextlost",s,!1),this.gl=r,this.extensions=new Eie(this),this.capabilities=new Sie(this),this.attributeUtils=new xie(this),this.textureUtils=new wie(this),this.bufferRenderer=new Cie(this),this.state=new bie(this),this.utils=new _ie(this),this.extensions.get("EXT_color_buffer_float"),this.extensions.get("WEBGL_clip_cull_distance"),this.extensions.get("OES_texture_float_linear"),this.extensions.get("EXT_color_buffer_half_float"),this.extensions.get("WEBGL_multisampled_render_to_texture"),this.extensions.get("WEBGL_render_shared_exponent"),this.extensions.get("WEBGL_multi_draw"),this.extensions.get("OVR_multiview2"),this.disjoint=this.extensions.get("EXT_disjoint_timer_query_webgl2"),this.parallel=this.extensions.get("KHR_parallel_shader_compile"),this.drawBuffersIndexedExt=this.extensions.get("OES_draw_buffers_indexed")}get coordinateSystem(){return Ao}getArrayBufferAsync(e){return va(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(e)})}makeXRCompatible(){return va(this,null,function*(){this.gl.getContextAttributes().xrCompatible!==!0&&(yield this.gl.makeXRCompatible())})}setXRTarget(e){this._xrFramebuffer=e}setXRRenderTargetTextures(e,t,n=null){const r=this.gl;if(this.set(e.texture,{textureGPU:t,glInternalFormat:r.RGBA8}),n!==null){const s=e.stencilBuffer?r.DEPTH24_STENCIL8:r.DEPTH_COMPONENT24;this.set(e.depthTexture,{textureGPU:n,glInternalFormat:s}),this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e._autoAllocateDepthBuffer===!0&&e.multiview===!1&&sr("WebGLBackend: Render-to-texture extension was disabled because an external texture was provided"),e._autoAllocateDepthBuffer=!1}}initTimestampQuery(e,t){if(!this.disjoint||!this.trackTimestamp)return;this.timestampQueryPool[e]||(this.timestampQueryPool[e]=new Mie(this.gl,e,2048));const n=this.timestampQueryPool[e];n.allocateQueriesForContext(t)!==null&&n.beginQuery(t)}prepareTimestampBuffer(e,t){if(!this.disjoint||!this.trackTimestamp)return;this.timestampQueryPool[e].endQuery(t)}getContext(){return this.gl}beginRender(e){const{state:t}=this,n=this.get(e);if(e.viewport)this.updateViewport(e);else{const{width:s,height:a}=this.getDrawingBufferSize();t.viewport(0,0,s,a)}if(e.scissor){const{x:s,y:a,width:o,height:l}=e.scissorValue;t.scissor(s,e.height-l-a,o,l)}this.initTimestampQuery(cl.RENDER,this.getTimestampUID(e)),n.previousContext=this._currentContext,this._currentContext=e,this._setFramebuffer(e),this.clear(e.clearColor,e.clearDepth,e.clearStencil,e,!1);const r=e.occlusionQueryCount;r>0&&(n.currentOcclusionQueries=n.occlusionQueries,n.currentOcclusionQueryObjects=n.occlusionQueryObjects,n.lastOcclusionObject=null,n.occlusionQueries=new Array(r),n.occlusionQueryObjects=new Array(r),n.occlusionQueryIndex=0)}finishRender(e){const{gl:t,state:n}=this,r=this.get(e),s=r.previousContext;n.resetVertexState();const a=e.occlusionQueryCount;a>0&&(a>r.occlusionQueryIndex&&t.endQuery(t.ANY_SAMPLES_PASSED),this.resolveOccludedAsync(e));const o=e.textures;if(o!==null)for(let l=0;l{let l=0;for(let c=0;c1&&c.setMRTBlending(s.textures),c.useProgram(o);const f=e.getAttributes(),A=this.get(f);let y=A.vaoGPU;if(y===void 0){const ue=this._getVaoKey(f);y=this.vaoCache[ue],y===void 0&&(y=this._createVao(f),this.vaoCache[ue]=y,A.vaoGPU=y)}const b=e.getIndex(),x=b!==null?this.get(b).bufferGPU:null;c.setVertexState(y,x);const P=u.lastOcclusionObject;if(P!==t&&P!==void 0){if(P!==null&&P.occlusionTest===!0&&(l.endQuery(l.ANY_SAMPLES_PASSED),u.occlusionQueryIndex++),t.occlusionTest===!0){const ue=l.createQuery();l.beginQuery(l.ANY_SAMPLES_PASSED,ue),u.occlusionQueries[u.occlusionQueryIndex]=ue,u.occlusionQueryObjects[u.occlusionQueryIndex]=t}u.lastOcclusionObject=t}const k=this.bufferRenderer;t.isPoints?k.mode=l.POINTS:t.isLineSegments?k.mode=l.LINES:t.isLine?k.mode=l.LINE_STRIP:t.isLineLoop?k.mode=l.LINE_LOOP:r.wireframe===!0?(c.setLineWidth(r.wireframeLinewidth*this.renderer.getPixelRatio()),k.mode=l.LINES):k.mode=l.TRIANGLES;const{vertexCount:$,instanceCount:se}=h;let{firstVertex:ie}=h;if(k.object=t,b!==null){ie*=b.array.BYTES_PER_ELEMENT;const ue=this.get(b);k.index=b.count,k.type=ue.type}else k.index=0;const ce=()=>{t.isBatchedMesh?t._multiDrawInstances!==null?($s("WebGLBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),k.renderMultiDrawInstances(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount,t._multiDrawInstances)):this.hasFeature("WEBGL_multi_draw")?k.renderMultiDraw(t._multiDrawStarts,t._multiDrawCounts,t._multiDrawCount):$s("WebGLBackend: WEBGL_multi_draw not supported."):se>1?k.renderInstances(ie,$,se):k.render(ie,$)};if(e.camera.isArrayCamera===!0&&e.camera.cameras.length>0&&e.camera.isMultiViewCamera===!1){const ue=this.get(e.camera),ve=e.camera.cameras,Fe=e.getBindingGroup("cameraIndex").bindings[0];if(ue.indexesGPU===void 0||ue.indexesGPU.length!==ve.length){const Mn=new Uint32Array([0,0,0,0]),rr=[];for(let Hn=0,Er=ve.length;Hn{const d=this.parallel,f=()=>{n.getProgramParameter(o,d.COMPLETION_STATUS_KHR)?(this._completeCompile(e,r),h()):requestAnimationFrame(f)};f()});t.push(u);return}this._completeCompile(e,r)}_handleSource(e,t){const n=e.split(` +`),r=[],s=Math.max(t-6,0),a=Math.min(t+6,n.length);for(let o=s;o":" "} ${l}: ${n[o]}`)}return r.join(` +`)}_getShaderErrors(e,t,n){const r=e.getShaderParameter(t,e.COMPILE_STATUS),a=(e.getShaderInfoLog(t)||"").trim();if(r&&a==="")return"";const o=/ERROR: 0:(\d+)/.exec(a);if(o){const l=parseInt(o[1]);return n.toUpperCase()+` + +`+a+` + +`+this._handleSource(e.getShaderSource(t),l)}else return a}_logProgramError(e,t,n){if(this.renderer.debug.checkShaderErrors){const r=this.gl,a=(r.getProgramInfoLog(e)||"").trim();if(r.getProgramParameter(e,r.LINK_STATUS)===!1)if(typeof this.renderer.debug.onShaderError=="function")this.renderer.debug.onShaderError(r,e,n,t);else{const o=this._getShaderErrors(r,n,"vertex"),l=this._getShaderErrors(r,t,"fragment");Nr("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(e,r.VALIDATE_STATUS)+` + +Program Info Log: `+a+` +`+o+` +`+l)}else a!==""&&sr("WebGLProgram: Program Info Log:",a)}}_completeCompile(e,t){const{state:n,gl:r}=this,s=this.get(t),{programGPU:a,fragmentShader:o,vertexShader:l}=s;r.getProgramParameter(a,r.LINK_STATUS)===!1&&this._logProgramError(a,o,l),n.useProgram(a);const c=e.getBindings();this._setupBindings(c,a),this.set(t,{programGPU:a})}createComputePipeline(e,t){const{state:n,gl:r}=this,s={stage:"fragment",code:`#version 300 es +precision highp float; +void main() {}`};this.createProgram(s);const{computeProgram:a}=e,o=r.createProgram(),l=this.get(s).shaderGPU,c=this.get(a).shaderGPU,u=a.transforms,h=[],d=[];for(let b=0;bM4[r]===e),n=this.extensions;for(let r=0;r1,f=s.isXRRenderTarget===!0,A=f===!0&&s._hasExternalTextures===!0;let y=a.msaaFrameBuffer,b=a.depthRenderbuffer;const x=this.extensions.get("WEBGL_multisampled_render_to_texture"),P=this.extensions.get("OVR_multiview2"),k=this._useMultisampledExtension(s),$=$U(e);let se;if(u?(a.cubeFramebuffers||(a.cubeFramebuffers={}),se=a.cubeFramebuffers[$]):f&&A===!1?se=this._xrFramebuffer:(a.framebuffers||(a.framebuffers={}),se=a.framebuffers[$]),se===void 0){se=t.createFramebuffer(),n.bindFramebuffer(t.FRAMEBUFFER,se);const ie=e.textures,ce=[];if(u){a.cubeFramebuffers[$]=se;const{textureGPU:ve}=this.get(ie[0]),Fe=this.renderer._activeCubeFace,nt=this.renderer._activeMipmapLevel;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+Fe,ve,nt)}else{a.framebuffers[$]=se;for(let ve=0;ve0&&k===!1&&!s.multiview){if(y===void 0){const ie=[];y=t.createFramebuffer(),n.bindFramebuffer(t.FRAMEBUFFER,y);const ce=[],ue=e.textures;for(let ve=0;ve0&&this._useMultisampledExtension(r)===!1){const a=s.framebuffers[e.getCacheKey()];let o=t.COLOR_BUFFER_BIT;r.resolveDepthBuffer&&(r.depthBuffer&&(o|=t.DEPTH_BUFFER_BIT),r.stencilBuffer&&r.resolveStencilBuffer&&(o|=t.STENCIL_BUFFER_BIT));const l=s.msaaFrameBuffer,c=s.msaaRenderbuffers,u=e.textures,h=u.length>1;if(n.bindFramebuffer(t.READ_FRAMEBUFFER,l),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,a),h)for(let d=0;d0&&this.extensions.has("WEBGL_multisampled_render_to_texture")===!0&&e._autoAllocateDepthBuffer!==!1}dispose(){this.textureUtils!==null&&this.textureUtils.dispose();const e=this.extensions.get("WEBGL_lose_context");e&&e.loseContext(),this.renderer.domElement.removeEventListener("webglcontextlost",this._onContextLost)}}const ix={PointList:"point-list",LineList:"line-list",LineStrip:"line-strip",TriangleList:"triangle-list",TriangleStrip:"triangle-strip"},Av=typeof self!="undefined"?self.GPUShaderStage:{VERTEX:1,FRAGMENT:2,COMPUTE:4},oh={Never:"never",Less:"less",Equal:"equal",LessEqual:"less-equal",Greater:"greater",NotEqual:"not-equal",GreaterEqual:"greater-equal",Always:"always"},qh={Store:"store"},wl={Load:"load",Clear:"clear"},R4={CCW:"ccw",CW:"cw"},I4={None:"none",Back:"back"},sx={Uint16:"uint16",Uint32:"uint32"},Yn={R8Unorm:"r8unorm",R8Snorm:"r8snorm",R8Uint:"r8uint",R8Sint:"r8sint",R16Uint:"r16uint",R16Sint:"r16sint",R16Float:"r16float",RG8Unorm:"rg8unorm",RG8Snorm:"rg8snorm",RG8Uint:"rg8uint",RG8Sint:"rg8sint",R32Uint:"r32uint",R32Sint:"r32sint",R32Float:"r32float",RG16Uint:"rg16uint",RG16Sint:"rg16sint",RG16Float:"rg16float",RGBA8Unorm:"rgba8unorm",RGBA8UnormSRGB:"rgba8unorm-srgb",RGBA8Snorm:"rgba8snorm",RGBA8Uint:"rgba8uint",RGBA8Sint:"rgba8sint",BGRA8Unorm:"bgra8unorm",BGRA8UnormSRGB:"bgra8unorm-srgb",RGB9E5UFloat:"rgb9e5ufloat",RGB10A2Unorm:"rgb10a2unorm",RG11B10UFloat:"rg11b10ufloat",RG32Uint:"rg32uint",RG32Sint:"rg32sint",RG32Float:"rg32float",RGBA16Uint:"rgba16uint",RGBA16Sint:"rgba16sint",RGBA16Float:"rgba16float",RGBA32Uint:"rgba32uint",RGBA32Sint:"rgba32sint",RGBA32Float:"rgba32float",Depth16Unorm:"depth16unorm",Depth24Plus:"depth24plus",Depth24PlusStencil8:"depth24plus-stencil8",Depth32Float:"depth32float",Depth32FloatStencil8:"depth32float-stencil8",BC1RGBAUnorm:"bc1-rgba-unorm",BC1RGBAUnormSRGB:"bc1-rgba-unorm-srgb",BC2RGBAUnorm:"bc2-rgba-unorm",BC2RGBAUnormSRGB:"bc2-rgba-unorm-srgb",BC3RGBAUnorm:"bc3-rgba-unorm",BC3RGBAUnormSRGB:"bc3-rgba-unorm-srgb",BC4RUnorm:"bc4-r-unorm",BC4RSnorm:"bc4-r-snorm",BC5RGUnorm:"bc5-rg-unorm",BC5RGSnorm:"bc5-rg-snorm",BC6HRGBUFloat:"bc6h-rgb-ufloat",BC6HRGBFloat:"bc6h-rgb-float",BC7RGBAUnorm:"bc7-rgba-unorm",BC7RGBAUnormSRGB:"bc7-rgba-unorm-srgb",ETC2RGB8Unorm:"etc2-rgb8unorm",ETC2RGB8UnormSRGB:"etc2-rgb8unorm-srgb",ETC2RGB8A1Unorm:"etc2-rgb8a1unorm",ETC2RGB8A1UnormSRGB:"etc2-rgb8a1unorm-srgb",ETC2RGBA8Unorm:"etc2-rgba8unorm",ETC2RGBA8UnormSRGB:"etc2-rgba8unorm-srgb",EACR11Unorm:"eac-r11unorm",EACR11Snorm:"eac-r11snorm",EACRG11Unorm:"eac-rg11unorm",EACRG11Snorm:"eac-rg11snorm",ASTC4x4Unorm:"astc-4x4-unorm",ASTC4x4UnormSRGB:"astc-4x4-unorm-srgb",ASTC5x4Unorm:"astc-5x4-unorm",ASTC5x4UnormSRGB:"astc-5x4-unorm-srgb",ASTC5x5Unorm:"astc-5x5-unorm",ASTC5x5UnormSRGB:"astc-5x5-unorm-srgb",ASTC6x5Unorm:"astc-6x5-unorm",ASTC6x5UnormSRGB:"astc-6x5-unorm-srgb",ASTC6x6Unorm:"astc-6x6-unorm",ASTC6x6UnormSRGB:"astc-6x6-unorm-srgb",ASTC8x5Unorm:"astc-8x5-unorm",ASTC8x5UnormSRGB:"astc-8x5-unorm-srgb",ASTC8x6Unorm:"astc-8x6-unorm",ASTC8x6UnormSRGB:"astc-8x6-unorm-srgb",ASTC8x8Unorm:"astc-8x8-unorm",ASTC8x8UnormSRGB:"astc-8x8-unorm-srgb",ASTC10x5Unorm:"astc-10x5-unorm",ASTC10x5UnormSRGB:"astc-10x5-unorm-srgb",ASTC10x6Unorm:"astc-10x6-unorm",ASTC10x6UnormSRGB:"astc-10x6-unorm-srgb",ASTC10x8Unorm:"astc-10x8-unorm",ASTC10x8UnormSRGB:"astc-10x8-unorm-srgb",ASTC10x10Unorm:"astc-10x10-unorm",ASTC10x10UnormSRGB:"astc-10x10-unorm-srgb",ASTC12x10Unorm:"astc-12x10-unorm",ASTC12x10UnormSRGB:"astc-12x10-unorm-srgb",ASTC12x12Unorm:"astc-12x12-unorm",ASTC12x12UnormSRGB:"astc-12x12-unorm-srgb"},iR={ClampToEdge:"clamp-to-edge",Repeat:"repeat",MirrorRepeat:"mirror-repeat"},pv={Linear:"linear",Nearest:"nearest"},$o={Zero:"zero",One:"one",Src:"src",OneMinusSrc:"one-minus-src",SrcAlpha:"src-alpha",OneMinusSrcAlpha:"one-minus-src-alpha",Dst:"dst",OneMinusDst:"one-minus-dst",DstAlpha:"dst-alpha",OneMinusDstAlpha:"one-minus-dst-alpha",SrcAlphaSaturated:"src-alpha-saturated",Constant:"constant",OneMinusConstant:"one-minus-constant"},gv={Add:"add",Subtract:"subtract",ReverseSubtract:"reverse-subtract",Min:"min",Max:"max"},N4={None:0,All:15},Qm={Keep:"keep",Zero:"zero",Replace:"replace",Invert:"invert",IncrementClamp:"increment-clamp",DecrementClamp:"decrement-clamp",IncrementWrap:"increment-wrap",DecrementWrap:"decrement-wrap"},sR={Storage:"storage",ReadOnlyStorage:"read-only-storage"},aR={WriteOnly:"write-only",ReadOnly:"read-only",ReadWrite:"read-write"},P4={NonFiltering:"non-filtering",Comparison:"comparison"},mv={Float:"float",UnfilterableFloat:"unfilterable-float",Depth:"depth",SInt:"sint",UInt:"uint"},F4={TwoD:"2d",ThreeD:"3d"},fu={TwoD:"2d",TwoDArray:"2d-array",Cube:"cube",ThreeD:"3d"},Tie={All:"all"},EE={Vertex:"vertex",Instance:"instance"},oR={CoreFeaturesAndLimits:"core-features-and-limits",DepthClipControl:"depth-clip-control",Depth32FloatStencil8:"depth32float-stencil8",TextureCompressionBC:"texture-compression-bc",TextureCompressionBCSliced3D:"texture-compression-bc-sliced-3d",TextureCompressionETC2:"texture-compression-etc2",TextureCompressionASTC:"texture-compression-astc",TextureCompressionASTCSliced3D:"texture-compression-astc-sliced-3d",TimestampQuery:"timestamp-query",IndirectFirstInstance:"indirect-first-instance",ShaderF16:"shader-f16",RG11B10UFloat:"rg11b10ufloat-renderable",BGRA8UNormStorage:"bgra8unorm-storage",Float32Filterable:"float32-filterable",Float32Blendable:"float32-blendable",ClipDistances:"clip-distances",DualSourceBlending:"dual-source-blending",Subgroups:"subgroups",TextureFormatsTier1:"texture-formats-tier1",TextureFormatsTier2:"texture-formats-tier2"},O4={"texture-compression-s3tc":"texture-compression-bc","texture-compression-etc1":"texture-compression-etc2"};class Bie extends m4{constructor(e,t,n){super(e,t?t.value:null),this.textureNode=t,this.groupNode=n}update(){const{textureNode:e}=this;return this.texture!==e.value?(this.texture=e.value,!0):super.update()}}class Rie extends f4{constructor(e,t){super(e,t?t.array:null),this.attribute=t,this.isStorageBuffer=!0}}let Iie=0;class Nie extends Rie{constructor(e,t){super("StorageBuffer_"+Iie++,e?e.value:null),this.nodeUniform=e,this.access=e?e.access:nh.READ_WRITE,this.groupNode=t}get buffer(){return this.nodeUniform.value}}class Pie extends zm{constructor(e){super(),this.device=e;const t=` +struct VarysStruct { + @builtin( position ) Position: vec4, + @location( 0 ) vTex : vec2 +}; + +@vertex +fn main( @builtin( vertex_index ) vertexIndex : u32 ) -> VarysStruct { + + var Varys : VarysStruct; + + var pos = array< vec2, 4 >( + vec2( -1.0, 1.0 ), + vec2( 1.0, 1.0 ), + vec2( -1.0, -1.0 ), + vec2( 1.0, -1.0 ) + ); + + var tex = array< vec2, 4 >( + vec2( 0.0, 0.0 ), + vec2( 1.0, 0.0 ), + vec2( 0.0, 1.0 ), + vec2( 1.0, 1.0 ) + ); + + Varys.vTex = tex[ vertexIndex ]; + Varys.Position = vec4( pos[ vertexIndex ], 0.0, 1.0 ); + + return Varys; + +} +`,n=` +@group( 0 ) @binding( 0 ) +var imgSampler : sampler; + +@group( 0 ) @binding( 1 ) +var img : texture_2d; + +@fragment +fn main( @location( 0 ) vTex : vec2 ) -> @location( 0 ) vec4 { + + return textureSample( img, imgSampler, vTex ); + +} +`,r=` +@group( 0 ) @binding( 0 ) +var imgSampler : sampler; + +@group( 0 ) @binding( 1 ) +var img : texture_2d; + +@fragment +fn main( @location( 0 ) vTex : vec2 ) -> @location( 0 ) vec4 { + + return textureSample( img, imgSampler, vec2( vTex.x, 1.0 - vTex.y ) ); + +} +`;this.mipmapSampler=e.createSampler({minFilter:pv.Linear}),this.flipYSampler=e.createSampler({minFilter:pv.Nearest}),this.transferPipelines={},this.flipYPipelines={},this.mipmapVertexShaderModule=e.createShaderModule({label:"mipmapVertex",code:t}),this.mipmapFragmentShaderModule=e.createShaderModule({label:"mipmapFragment",code:n}),this.flipYFragmentShaderModule=e.createShaderModule({label:"flipYFragment",code:r})}getTransferPipeline(e){let t=this.transferPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`mipmap-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.mipmapFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:ix.TriangleStrip,stripIndexFormat:sx.Uint32},layout:"auto"}),this.transferPipelines[e]=t),t}getFlipYPipeline(e){let t=this.flipYPipelines[e];return t===void 0&&(t=this.device.createRenderPipeline({label:`flipY-${e}`,vertex:{module:this.mipmapVertexShaderModule,entryPoint:"main"},fragment:{module:this.flipYFragmentShaderModule,entryPoint:"main",targets:[{format:e}]},primitive:{topology:ix.TriangleStrip,stripIndexFormat:sx.Uint32},layout:"auto"}),this.flipYPipelines[e]=t),t}flipY(e,t,n=0){const r=t.format,{width:s,height:a}=t.size,o=this.getTransferPipeline(r),l=this.getFlipYPipeline(r),c=this.device.createTexture({size:{width:s,height:a,depthOrArrayLayers:1},format:r,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),u=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:fu.TwoD,baseArrayLayer:n}),h=c.createView({baseMipLevel:0,mipLevelCount:1,dimension:fu.TwoD,baseArrayLayer:0}),d=this.device.createCommandEncoder({}),f=(A,y,b)=>{const x=A.getBindGroupLayout(0),P=this.device.createBindGroup({layout:x,entries:[{binding:0,resource:this.flipYSampler},{binding:1,resource:y}]}),k=d.beginRenderPass({colorAttachments:[{view:b,loadOp:wl.Clear,storeOp:qh.Store,clearValue:[0,0,0,0]}]});k.setPipeline(A),k.setBindGroup(0,P),k.draw(4,1,0,0),k.end()};f(o,u,h),f(l,h,u),this.device.queue.submit([d.finish()]),c.destroy()}generateMipmaps(e,t,n=0,r=null){const s=this.get(e);s.layers===void 0&&(s.layers=[]);const a=s.layers[n]||this._mipmapCreateBundles(e,t,n),o=r||this.device.createCommandEncoder({label:"mipmapEncoder"});this._mipmapRunBundles(o,a),r===null&&this.device.queue.submit([o.finish()]),s.layers[n]=a}_mipmapCreateBundles(e,t,n){const r=this.getTransferPipeline(t.format),s=r.getBindGroupLayout(0);let a=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:fu.TwoD,baseArrayLayer:n});const o=[];for(let l=1;l0)for(let a=0,o=r.length;a0)for(let a=0,o=r.length;a0?e.width:n.size.width,u=o>0?e.height:n.size.height;try{l.queue.copyExternalImageToTexture({source:e,flipY:s},{texture:t,mipLevel:o,origin:{x:0,y:0,z:r},premultipliedAlpha:a},{width:c,height:u,depthOrArrayLayers:1})}catch(h){}}_getPassUtils(){let e=this._passUtils;return e===null&&(this._passUtils=e=new Pie(this.backend.device)),e}_generateMipmaps(e,t,n=0,r=null){this._getPassUtils().generateMipmaps(e,t,n,r)}_flipY(e,t,n=0){this._getPassUtils().flipY(e,t,n)}_copyBufferToTexture(e,t,n,r,s,a=0,o=0){const l=this.backend.device,c=e.data,u=this._getBytesPerTexel(n.format),h=e.width*u;l.queue.writeTexture({texture:t,mipLevel:o,origin:{x:0,y:0,z:r}},c,{offset:e.width*e.height*u*a,bytesPerRow:h},{width:e.width,height:e.height,depthOrArrayLayers:1}),s===!0&&this._flipY(t,n,r)}_copyCompressedBufferToTexture(e,t,n){const r=this.backend.device,s=this._getBlockData(n.format),a=n.size.depthOrArrayLayers>1;for(let o=0;o]*\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/i,Uie=/([a-z_0-9]+)\s*:\s*([a-z_0-9]+(?:<[\s\S]+?>)?)/ig,L4={f32:"float",i32:"int",u32:"uint",bool:"bool","vec2":"vec2","vec2":"ivec2","vec2":"uvec2","vec2":"bvec2",vec2f:"vec2",vec2i:"ivec2",vec2u:"uvec2",vec2b:"bvec2","vec3":"vec3","vec3":"ivec3","vec3":"uvec3","vec3":"bvec3",vec3f:"vec3",vec3i:"ivec3",vec3u:"uvec3",vec3b:"bvec3","vec4":"vec4","vec4":"ivec4","vec4":"uvec4","vec4":"bvec4",vec4f:"vec4",vec4i:"ivec4",vec4u:"uvec4",vec4b:"bvec4","mat2x2":"mat2",mat2x2f:"mat2","mat3x3":"mat3",mat3x3f:"mat3","mat4x4":"mat4",mat4x4f:"mat4",sampler:"sampler",texture_1d:"texture",texture_2d:"texture",texture_2d_array:"texture",texture_multisampled_2d:"cubeTexture",texture_depth_2d:"depthTexture",texture_depth_2d_array:"depthTexture",texture_depth_multisampled_2d:"depthTexture",texture_depth_cube:"depthTexture",texture_depth_cube_array:"depthTexture",texture_3d:"texture3D",texture_cube:"cubeTexture",texture_cube_array:"cubeTexture",texture_storage_1d:"storageTexture",texture_storage_2d:"storageTexture",texture_storage_2d_array:"storageTexture",texture_storage_3d:"storageTexture"},kie=i=>{i=i.trim();const e=i.match(Die);if(e!==null&&e.length===4){const t=e[2],n=[];let r=null;for(;(r=Uie.exec(t))!==null;)n.push({name:r[1],type:r[2]});const s=[];for(let u=0;u "+this.outputType:"";return`fn ${e} ( ${this.inputsCode.trim()} ) ${t}`+this.blockCode}}class Vie extends i4{parseFunction(e){return new zie(e)}}const Hie={[nh.READ_ONLY]:"read",[nh.WRITE_ONLY]:"write",[nh.READ_WRITE]:"read_write"},D4={[It]:"repeat",[an]:"clamp",[In]:"mirror"},SE={vertex:Av.VERTEX,fragment:Av.FRAGMENT,compute:Av.COMPUTE},U4={instance:!0,swizzleAssign:!1,storageBuffer:!0},Gie={"^^":"tsl_xor"},Qie={float:"f32",int:"i32",uint:"u32",bool:"bool",color:"vec3",vec2:"vec2",ivec2:"vec2",uvec2:"vec2",bvec2:"vec2",vec3:"vec3",ivec3:"vec3",uvec3:"vec3",bvec3:"vec3",vec4:"vec4",ivec4:"vec4",uvec4:"vec4",bvec4:"vec4",mat2:"mat2x2",mat3:"mat3x3",mat4:"mat4x4"},k4={},A_={tsl_xor:new Vu("fn tsl_xor( a : bool, b : bool ) -> bool { return ( a || b ) && !( a && b ); }"),mod_float:new Vu("fn tsl_mod_float( x : f32, y : f32 ) -> f32 { return x - y * floor( x / y ); }"),mod_vec2:new Vu("fn tsl_mod_vec2( x : vec2f, y : vec2f ) -> vec2f { return x - y * floor( x / y ); }"),mod_vec3:new Vu("fn tsl_mod_vec3( x : vec3f, y : vec3f ) -> vec3f { return x - y * floor( x / y ); }"),mod_vec4:new Vu("fn tsl_mod_vec4( x : vec4f, y : vec4f ) -> vec4f { return x - y * floor( x / y ); }"),equals_bool:new Vu("fn tsl_equals_bool( a : bool, b : bool ) -> bool { return a == b; }"),equals_bvec2:new Vu("fn tsl_equals_bvec2( a : vec2f, b : vec2f ) -> vec2 { return vec2( a.x == b.x, a.y == b.y ); }"),equals_bvec3:new Vu("fn tsl_equals_bvec3( a : vec3f, b : vec3f ) -> vec3 { return vec3( a.x == b.x, a.y == b.y, a.z == b.z ); }"),equals_bvec4:new Vu("fn tsl_equals_bvec4( a : vec4f, b : vec4f ) -> vec4 { return vec4( a.x == b.x, a.y == b.y, a.z == b.z, a.w == b.w ); }"),repeatWrapping_float:new Vu("fn tsl_repeatWrapping_float( coord: f32 ) -> f32 { return fract( coord ); }"),mirrorWrapping_float:new Vu("fn tsl_mirrorWrapping_float( coord: f32 ) -> f32 { let mirrored = fract( coord * 0.5 ) * 2.0; return 1.0 - abs( 1.0 - mirrored ); }"),clampWrapping_float:new Vu("fn tsl_clampWrapping_float( coord: f32 ) -> f32 { return clamp( coord, 0.0, 1.0 ); }"),biquadraticTexture:new Vu(` +fn tsl_biquadraticTexture( map : texture_2d, coord : vec2f, iRes : vec2u, level : u32 ) -> vec4f { + + let res = vec2f( iRes ); + + let uvScaled = coord * res; + let uvWrapping = ( ( uvScaled % res ) + res ) % res; + + // https://www.shadertoy.com/view/WtyXRy + + let uv = uvWrapping - 0.5; + let iuv = floor( uv ); + let f = fract( uv ); + + let rg1 = textureLoad( map, vec2u( iuv + vec2( 0.5, 0.5 ) ) % iRes, level ); + let rg2 = textureLoad( map, vec2u( iuv + vec2( 1.5, 0.5 ) ) % iRes, level ); + let rg3 = textureLoad( map, vec2u( iuv + vec2( 0.5, 1.5 ) ) % iRes, level ); + let rg4 = textureLoad( map, vec2u( iuv + vec2( 1.5, 1.5 ) ) % iRes, level ); + + return mix( mix( rg1, rg2, f.x ), mix( rg3, rg4, f.x ), f.y ); + +} +`)},Wie={dFdx:"dpdx",dFdy:"- dpdy",mod_float:"tsl_mod_float",mod_vec2:"tsl_mod_vec2",mod_vec3:"tsl_mod_vec3",mod_vec4:"tsl_mod_vec4",equals_bool:"tsl_equals_bool",equals_bvec2:"tsl_equals_bvec2",equals_bvec3:"tsl_equals_bvec3",equals_bvec4:"tsl_equals_bvec4",inversesqrt:"inverseSqrt",bitcast:"bitcast",floatpack_snorm_2x16:"pack2x16snorm",floatpack_unorm_2x16:"pack2x16unorm",floatpack_float16_2x16:"pack2x16float",floatunpack_snorm_2x16:"unpack2x16snorm",floatunpack_unorm_2x16:"unpack2x16unorm",floatunpack_float16_2x16:"unpack2x16float"};let z4="";(typeof navigator!="undefined"&&/Firefox|Deno/g.test(navigator.userAgent))!==!0&&(z4+=`diagnostic( off, derivative_uniformity ); +`);class Zie extends n4{constructor(e,t){super(e,t,new Vie),this.uniformGroups={},this.builtins={},this.directives={},this.scopedArrays=new Map}_generateTextureSample(e,t,n,r,s,a=this.shaderStage){return a==="fragment"?r?s?`textureSample( ${t}, ${t}_sampler, ${n}, ${r}, ${s} )`:`textureSample( ${t}, ${t}_sampler, ${n}, ${r} )`:s?`textureSample( ${t}, ${t}_sampler, ${n}, ${s} )`:`textureSample( ${t}, ${t}_sampler, ${n} )`:this.generateTextureSampleLevel(e,t,n,"0",r)}generateTextureSampleLevel(e,t,n,r,s,a){return this.isUnfilterable(e)===!1?a?`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${r}, ${a} )`:`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${r} )`:this.isFilteredTexture(e)?this.generateFilteredTexture(e,t,n,a,r):this.generateTextureLod(e,t,n,s,a,r)}generateWrapFunction(e){const t=`tsl_coord_${D4[e.wrapS]}S_${D4[e.wrapT]}_${e.is3DTexture||e.isData3DTexture?"3d":"2d"}T`;let n=k4[t];if(n===void 0){const r=[],s=e.is3DTexture||e.isData3DTexture?"vec3f":"vec2f";let a=`fn ${t}( coord : ${s} ) -> ${s} { + + return ${s}( +`;const o=(l,c)=>{l===It?(r.push(A_.repeatWrapping_float),a+=` tsl_repeatWrapping_float( coord.${c} )`):l===an?(r.push(A_.clampWrapping_float),a+=` tsl_clampWrapping_float( coord.${c} )`):l===In?(r.push(A_.mirrorWrapping_float),a+=` tsl_mirrorWrapping_float( coord.${c} )`):(a+=` coord.${c}`,sr(`WebGPURenderer: Unsupported texture wrap type "${l}" for vertex shader.`))};o(e.wrapS,"x"),a+=`, +`,o(e.wrapT,"y"),(e.is3DTexture||e.isData3DTexture)&&(a+=`, +`,o(e.wrapR,"z")),a+=` + ); + +} +`,k4[t]=n=new Vu(a,r)}return n.build(this),t}generateArrayDeclaration(e,t){return`array< ${this.getType(e)}, ${t} >`}generateTextureDimension(e,t,n){const r=this.getDataFromNode(e,this.shaderStage,this.globalCache);r.dimensionsSnippet===void 0&&(r.dimensionsSnippet={});let s=r.dimensionsSnippet[n];if(r.dimensionsSnippet[n]===void 0){let a,o;const{primarySamples:l}=this.renderer.backend.utils.getTextureSampleData(e),c=l>1;e.is3DTexture||e.isData3DTexture?o="vec3":o="vec2",c||e.isStorageTexture?a=t:a=`${t}${n?`, u32( ${n} )`:""}`,s=new _w(new Cw(`textureDimensions( ${a} )`,o)),r.dimensionsSnippet[n]=s,(e.isArrayTexture||e.isDataArrayTexture||e.is3DTexture||e.isData3DTexture)&&(r.arrayLayerCount=new _w(new Cw(`textureNumLayers(${t})`,"u32"))),e.isTextureCube&&(r.cubeFaceCount=new _w(new Cw("6u","u32")))}return s.build(this)}generateFilteredTexture(e,t,n,r,s="0u"){this._include("biquadraticTexture");const a=this.generateWrapFunction(e),o=this.generateTextureDimension(e,t,s);return r&&(n=`${n} + vec2(${r}) / ${o}`),`tsl_biquadraticTexture( ${t}, ${a}( ${n} ), ${o}, u32( ${s} ) )`}generateTextureLod(e,t,n,r,s,a="0u"){const o=this.generateWrapFunction(e),l=this.generateTextureDimension(e,t,a),c=e.is3DTexture||e.isData3DTexture?"vec3":"vec2";s&&(n=`${n} + ${c}(${s}) / ${c}( ${l} )`);const u=`${c}( ${o}( ${n} ) * ${c}( ${l} ) )`;return this.generateTextureLoad(e,t,u,a,r,null)}generateTextureLoad(e,t,n,r,s,a){r===null&&(r="0u"),a&&(n=`${n} + ${a}`);let o;return s?o=`textureLoad( ${t}, ${n}, ${s}, u32( ${r} ) )`:(o=`textureLoad( ${t}, ${n}, u32( ${r} ) )`,this.renderer.backend.compatibilityMode&&e.isDepthTexture&&(o+=".x")),o}generateTextureStore(e,t,n,r,s){let a;return r?a=`textureStore( ${t}, ${n}, ${r}, ${s} )`:a=`textureStore( ${t}, ${n}, ${s} )`,a}isSampleCompare(e){return e.isDepthTexture===!0&&e.compareFunction!==null}isUnfilterable(e){return this.getComponentTypeFromTexture(e)!=="float"||!this.isAvailable("float32Filterable")&&e.isDataTexture===!0&&e.type===rn||this.isSampleCompare(e)===!1&&e.minFilter===_n&&e.magFilter===_n||this.renderer.backend.utils.getTextureSampleData(e).primarySamples>1}generateTexture(e,t,n,r,s,a=this.shaderStage){let o=null;return this.isUnfilterable(e)?o=this.generateTextureLod(e,t,n,r,s,"0",a):o=this._generateTextureSample(e,t,n,r,s,a),o}generateTextureGrad(e,t,n,r,s,a,o=this.shaderStage){if(o==="fragment")return a?`textureSampleGrad( ${t}, ${t}_sampler, ${n}, ${r[0]}, ${r[1]}, ${a} )`:`textureSampleGrad( ${t}, ${t}_sampler, ${n}, ${r[0]}, ${r[1]} )`;Nr(`WebGPURenderer: THREE.TextureNode.gradient() does not support ${o} shader.`)}generateTextureCompare(e,t,n,r,s,a,o=this.shaderStage){if(o==="fragment")return e.isDepthTexture===!0&&e.isArrayTexture===!0?a?`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${s}, ${r}, ${a} )`:`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${s}, ${r} )`:a?`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${r}, ${a} )`:`textureSampleCompare( ${t}, ${t}_sampler, ${n}, ${r} )`;Nr(`WebGPURenderer: THREE.DepthTexture.compareFunction() does not support ${o} shader.`)}generateTextureLevel(e,t,n,r,s,a){return this.isUnfilterable(e)===!1?a?`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${r}, ${a} )`:`textureSampleLevel( ${t}, ${t}_sampler, ${n}, ${r} )`:this.isFilteredTexture(e)?this.generateFilteredTexture(e,t,n,a,r):this.generateTextureLod(e,t,n,s,a,r)}generateTextureBias(e,t,n,r,s,a,o=this.shaderStage){if(o==="fragment")return a?`textureSampleBias( ${t}, ${t}_sampler, ${n}, ${r}, ${a} )`:`textureSampleBias( ${t}, ${t}_sampler, ${n}, ${r} )`;Nr(`WebGPURenderer: THREE.TextureNode.biasNode does not support ${o} shader.`)}getPropertyName(e,t=this.shaderStage){if(e.isNodeVarying===!0&&e.needsInterpolation===!0){if(t==="vertex")return`varyings.${e.name}`}else if(e.isNodeUniform===!0){const n=e.name,r=e.type;return r==="texture"||r==="cubeTexture"||r==="cubeDepthTexture"||r==="storageTexture"||r==="texture3D"?n:r==="buffer"||r==="storageBuffer"||r==="indirectStorageBuffer"?this.isCustomStruct(e)?n:n+".value":e.groupNode.name+"."+n}return super.getPropertyName(e)}getOutputStructName(){return"output"}getFunctionOperator(e){const t=Gie[e];return t!==void 0?(this._include(t),t):null}getNodeAccess(e,t){return t!=="compute"?e.isAtomic===!0?(sr("WebGPURenderer: Atomic operations are only supported in compute shaders."),nh.READ_WRITE):nh.READ_ONLY:e.access}getStorageAccess(e,t){return Hie[this.getNodeAccess(e,t)]}getUniformFromNode(e,t,n,r=null){const s=super.getUniformFromNode(e,t,n,r),a=this.getDataFromNode(e,n,this.globalCache);if(a.uniformGPU===void 0){let o;const l=e.groupNode,c=l.name,u=this.getBindGroupArray(c,n);if(t==="texture"||t==="cubeTexture"||t==="cubeDepthTexture"||t==="storageTexture"||t==="texture3D"){let h=null;const d=this.getNodeAccess(e,n);if(t==="texture"||t==="storageTexture"?e.value.is3DTexture===!0?h=new eR(s.name,s.node,l,d):h=new bE(s.name,s.node,l,d):t==="cubeTexture"||t==="cubeDepthTexture"?h=new v4(s.name,s.node,l,d):t==="texture3D"&&(h=new eR(s.name,s.node,l,d)),h.store=e.isStorageTextureNode===!0,h.mipLevel=h.store?e.mipLevel:0,h.setVisibility(SE[n]),this.isUnfilterable(e.value)===!1&&h.store===!1){const f=new Bie(`${s.name}_sampler`,s.node,l);f.setVisibility(SE[n]),u.push(f,h),o=[f,h]}else u.push(h),o=[h]}else if(t==="buffer"||t==="storageBuffer"||t==="indirectStorageBuffer"){const h=this.getSharedDataFromNode(e);let d=h.buffer;if(d===void 0){const f=t==="buffer"?p4:Nie;d=new f(e,l),h.buffer=d}d.setVisibility(d.getVisibility()|SE[n]),u.push(d),o=d,s.name=r||"NodeBuffer_"+s.id}else{const h=this.uniformGroups[n]||(this.uniformGroups[n]={});let d=h[c];d===void 0&&(d=new g4(c,l),d.setVisibility(SE[n]),h[c]=d,u.push(d)),o=this.getNodeUniform(s,t),d.addUniform(o)}a.uniformGPU=o}return s}getBuiltin(e,t,n,r=this.shaderStage){const s=this.builtins[r]||(this.builtins[r]=new Map);return s.has(e)===!1&&s.set(e,{name:e,property:t,type:n}),t}hasBuiltin(e,t=this.shaderStage){return this.builtins[t]!==void 0&&this.builtins[t].has(e)}getVertexIndex(){return this.shaderStage==="vertex"?this.getBuiltin("vertex_index","vertexIndex","u32","attribute"):"vertexIndex"}buildFunctionCode(e){const t=e.layout,n=this.flowShaderNode(e),r=[];for(const a of t.inputs)r.push(a.name+" : "+this.getType(a.type));let s=`fn ${t.name}( ${r.join(", ")} ) -> ${this.getType(t.type)} { +${n.vars} +${n.code} +`;return n.result&&(s+=` return ${n.result}; +`),s+=` +} +`,s}getInstanceIndex(){return this.shaderStage==="vertex"?this.getBuiltin("instance_index","instanceIndex","u32","attribute"):"instanceIndex"}getInvocationLocalIndex(){return this.getBuiltin("local_invocation_index","invocationLocalIndex","u32","attribute")}getSubgroupSize(){return this.enableSubGroups(),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute")}getInvocationSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_invocation_id","invocationSubgroupIndex","u32","attribute")}getSubgroupIndex(){return this.enableSubGroups(),this.getBuiltin("subgroup_id","subgroupIndex","u32","attribute")}getDrawIndex(){return null}getFrontFacing(){return this.getBuiltin("front_facing","isFront","bool")}getFragCoord(){return this.getBuiltin("position","fragCoord","vec4")+".xy"}getFragDepth(){return"output."+this.getBuiltin("frag_depth","depth","f32","output")}getClipDistance(){return"varyings.hw_clip_distances"}isFlipY(){return!1}enableDirective(e,t=this.shaderStage){(this.directives[t]||(this.directives[t]=new Set)).add(e)}getDirectives(e){const t=[],n=this.directives[e];if(n!==void 0)for(const r of n)t.push(`enable ${r};`);return t.join(` +`)}enableSubGroups(){this.enableDirective("subgroups")}enableSubgroupsF16(){this.enableDirective("subgroups-f16")}enableClipDistances(){this.enableDirective("clip_distances")}enableShaderF16(){this.enableDirective("f16")}enableDualSourceBlending(){this.enableDirective("dual_source_blending")}enableHardwareClipping(e){this.enableClipDistances(),this.getBuiltin("clip_distances","hw_clip_distances",`array`,"vertex")}getBuiltins(e){const t=[],n=this.builtins[e];if(n!==void 0)for(const{name:r,property:s,type:a}of n.values())t.push(`@builtin( ${r} ) ${s} : ${a}`);return t.join(`, + `)}getScopedArray(e,t,n,r){return this.scopedArrays.has(e)===!1&&this.scopedArrays.set(e,{name:e,scope:t,bufferType:n,bufferCount:r}),e}getScopedArrays(e){if(e!=="compute")return;const t=[];for(const{name:n,scope:r,bufferType:s,bufferCount:a}of this.scopedArrays.values()){const o=this.getType(s);t.push(`var<${r}> ${n}: array< ${o}, ${a} >;`)}return t.join(` +`)}getAttributes(e){const t=[];if(e==="compute"&&(this.getBuiltin("global_invocation_id","globalId","vec3","attribute"),this.getBuiltin("workgroup_id","workgroupId","vec3","attribute"),this.getBuiltin("local_invocation_id","localId","vec3","attribute"),this.getBuiltin("num_workgroups","numWorkgroups","vec3","attribute"),this.renderer.hasFeature("subgroups")&&(this.enableDirective("subgroups",e),this.getBuiltin("subgroup_size","subgroupSize","u32","attribute"))),e==="vertex"||e==="compute"){const n=this.getBuiltins("attribute");n&&t.push(n);const r=this.getAttributesArray();for(let s=0,a=r.length;s"),t.push(` ${r+n.name} : ${s}`)}return e.output&&t.push(` ${this.getBuiltins("output")}`),t.join(`, +`)}getStructs(e){let t="";const n=this.structs[e];if(n.length>0){const r=[];for(const s of n){let a=`struct ${s.name} { +`;a+=this.getStructMembers(s),a+=` +};`,r.push(a)}t=` +`+r.join(` + +`)+` +`}return t}getVar(e,t,n=null){let r=`var ${t} : `;return n!==null?r+=this.generateArrayDeclaration(e,n):r+=this.getType(e),r}getVars(e){const t=[],n=this.vars[e];if(n!==void 0)for(const r of n)t.push(` ${this.getVar(r.type,r.name,r.count)};`);return` +${t.join(` +`)} +`}getVaryings(e){const t=[];if(e==="vertex"&&this.getBuiltin("position","Vertex","vec4","vertex"),e==="vertex"||e==="fragment"){const s=this.varyings,a=this.vars[e];for(let o=0;on.value.itemSize;return r&&!s}getUniforms(e){const t=this.uniforms[e],n=[],r=[],s=[],a={};for(const l of t){const c=l.groupNode.name,u=this.bindingsIndexes[c];if(l.type==="texture"||l.type==="cubeTexture"||l.type==="cubeDepthTexture"||l.type==="storageTexture"||l.type==="texture3D"){const h=l.node.value;this.isUnfilterable(h)===!1&&l.node.isStorageTextureNode!==!0&&(this.isSampleCompare(h)?n.push(`@binding( ${u.binding++} ) @group( ${u.group} ) var ${l.name}_sampler : sampler_comparison;`):n.push(`@binding( ${u.binding++} ) @group( ${u.group} ) var ${l.name}_sampler : sampler;`));let d,f="";const{primarySamples:A}=this.renderer.backend.utils.getTextureSampleData(h);if(A>1&&(f="_multisampled"),h.isCubeTexture===!0&&h.isDepthTexture===!0)d="texture_depth_cube";else if(h.isCubeTexture===!0)d="texture_cube";else if(h.isDepthTexture===!0)this.renderer.backend.compatibilityMode&&h.compareFunction===null?d=`texture${f}_2d`:d=`texture_depth${f}_2d${h.isArrayTexture===!0?"_array":""}`;else if(l.node.isStorageTextureNode===!0){const y=lR(h),b=this.getStorageAccess(l.node,e),x=l.node.value.is3DTexture,P=l.node.value.isArrayTexture;d=`texture_storage_${x?"3d":`2d${P?"_array":""}`}<${y}, ${b}>`}else if(h.isArrayTexture===!0||h.isDataArrayTexture===!0||h.isCompressedArrayTexture===!0)d="texture_2d_array";else if(h.is3DTexture===!0||h.isData3DTexture===!0)d="texture_3d";else{const y=this.getComponentTypeFromTexture(h).charAt(0);d=`texture${f}_2d<${y}32>`}n.push(`@binding( ${u.binding++} ) @group( ${u.group} ) var ${l.name} : ${d};`)}else if(l.type==="buffer"||l.type==="storageBuffer"||l.type==="indirectStorageBuffer"){const h=l.node,d=this.getType(h.getNodeType(this)),f=h.bufferCount,A=f>0&&l.type==="buffer"?", "+f:"",y=h.isStorageBufferNode?`storage, ${this.getStorageAccess(h,e)}`:"uniform";if(this.isCustomStruct(l))r.push(`@binding( ${u.binding++} ) @group( ${u.group} ) var<${y}> ${l.name} : ${d};`);else{const x=` value : array< ${h.isAtomic?`atomic<${d}>`:`${d}`}${A} >`;r.push(this._getWGSLStructBinding(l.name,x,y,u.binding++,u.group))}}else{const h=this.getType(this.getVectorType(l.type)),d=l.groupNode.name;(a[d]||(a[d]={index:u.binding++,id:u.group,snippets:[]})).snippets.push(` ${l.name} : ${h}`)}}for(const l in a){const c=a[l];s.push(this._getWGSLStructBinding(l,c.snippets.join(`, +`),"uniform",c.index,c.id))}return[...n,...r,...s].join(` +`)}buildCode(){const e=this.material!==null?{fragment:{},vertex:{}}:{compute:{}};this.sortBindingGroups();for(const t in e){this.shaderStage=t;const n=e[t];n.uniforms=this.getUniforms(t),n.attributes=this.getAttributes(t),n.varyings=this.getVaryings(t),n.structs=this.getStructs(t),n.vars=this.getVars(t),n.codes=this.getCodes(t),n.directives=this.getDirectives(t),n.scopedArrays=this.getScopedArrays(t);let r=`// code + +`;r+=this.flowCode[t];const s=this.flowNodes[t],a=s[s.length-1],o=a.outputNode,l=o!==void 0&&o.isOutputStructNode===!0;for(const c of s){const u=this.getFlowData(c),h=c.name;if(h&&(r.length>0&&(r+=` +`),r+=` // flow -> ${h} +`),r+=`${u.code} + `,c===a&&t!=="compute"){if(r+=`// result + + `,t==="vertex")r+=`varyings.Vertex = ${u.result};`;else if(t==="fragment")if(l)n.returnType=o.getNodeType(this),n.structs+="var output : "+n.returnType+";",r+=`return ${u.result};`;else{let d=" @location(0) color: vec4";const f=this.getBuiltins("output");f&&(d+=`, + `+f),n.returnType="OutputStruct",n.structs+=this._getWGSLStruct("OutputStruct",d),n.structs+=` +var output : OutputStruct;`,r+=`output.color = ${u.result}; + + return output;`}}}n.flow=r}if(this.shaderStage=null,this.material!==null)this.vertexShader=this._getWGSLVertexCode(e.vertex),this.fragmentShader=this._getWGSLFragmentCode(e.fragment);else{const t=this.object.workgroupSize;this.computeShader=this._getWGSLComputeCode(e.compute,t)}}getMethod(e,t=null){let n;return t!==null&&(n=this._getWGSLMethod(e+"_"+t)),n===void 0&&(n=this._getWGSLMethod(e)),n||e}getBitcastMethod(e){return`bitcast<${this.getType(e)}>`}getFloatPackingMethod(e){return this.getMethod(`floatpack_${e}_2x16`)}getFloatUnpackingMethod(e){return this.getMethod(`floatunpack_${e}_2x16`)}getTernary(e,t,n){return`select( ${n}, ${t}, ${e} )`}getType(e){return Qie[e]||e}isAvailable(e){let t=U4[e];return t===void 0&&(e==="float32Filterable"?t=this.renderer.hasFeature("float32-filterable"):e==="clipDistance"&&(t=this.renderer.hasFeature("clip-distances")),U4[e]=t),t}_getWGSLMethod(e){return A_[e]!==void 0&&this._include(e),Wie[e]}_include(e){const t=A_[e];return t.build(this),this.addInclude(t),t}_getWGSLVertexCode(e){return`${this.getSignature()} +// directives +${e.directives} + +// structs +${e.structs} + +// uniforms +${e.uniforms} + +// varyings +${e.varyings} +var varyings : VaryingsStruct; + +// codes +${e.codes} + +@vertex +fn main( ${e.attributes} ) -> VaryingsStruct { + + // vars + ${e.vars} + + // flow + ${e.flow} + + return varyings; + +} +`}_getWGSLFragmentCode(e){return`${this.getSignature()} +// global +${z4} + +// structs +${e.structs} + +// uniforms +${e.uniforms} + +// codes +${e.codes} + +@fragment +fn main( ${e.varyings} ) -> ${e.returnType} { + + // vars + ${e.vars} + + // flow + ${e.flow} + +} +`}_getWGSLComputeCode(e,t){const[n,r,s]=t;return`${this.getSignature()} +// directives +${e.directives} + +// system +var instanceIndex : u32; + +// locals +${e.scopedArrays} + +// structs +${e.structs} + +// uniforms +${e.uniforms} + +// codes +${e.codes} + +@compute @workgroup_size( ${n}, ${r}, ${s} ) +fn main( ${e.attributes} ) { + + // system + instanceIndex = globalId.x + + globalId.y * ( ${n} * numWorkgroups.x ) + + globalId.z * ( ${n} * numWorkgroups.x ) * ( ${r} * numWorkgroups.y ); + + // vars + ${e.vars} + + // flow + ${e.flow} + +} +`}_getWGSLStruct(e,t){return` +struct ${e} { +${t} +};`}_getWGSLStructBinding(e,t,n,r=0,s=0){const a=e+"Struct";return`${this._getWGSLStruct(a,t)} +@binding( ${r} ) @group( ${s} ) +var<${n}> ${e} : ${a};`}}class $ie{constructor(e){this.backend=e}getCurrentDepthStencilFormat(e){let t;return e.depthTexture!==null?t=this.getTextureFormatGPU(e.depthTexture):e.depth&&e.stencil?t=Yn.Depth24PlusStencil8:e.depth&&(t=Yn.Depth24Plus),t}getTextureFormatGPU(e){return this.backend.get(e).format}getTextureSampleData(e){let t;if(e.isFramebufferTexture)t=1;else if(e.isDepthTexture&&!e.renderTarget){const s=this.backend.renderer,a=s.getRenderTarget();t=a?a.samples:s.currentSamples}else e.renderTarget&&(t=e.renderTarget.samples);t=t||1;const n=t>1&&e.renderTarget!==null&&e.isDepthTexture!==!0&&e.isFramebufferTexture!==!0;return{samples:t,primarySamples:n?1:t,isMSAA:n}}getCurrentColorFormat(e){let t;return e.textures!==null?t=this.getTextureFormatGPU(e.textures[0]):t=this.getPreferredCanvasFormat(),t}getCurrentColorFormats(e){return e.textures!==null?e.textures.map(t=>this.getTextureFormatGPU(t)):[this.getPreferredCanvasFormat()]}getCurrentColorSpace(e){return e.textures!==null?e.textures[0].colorSpace:this.backend.renderer.outputColorSpace}getPrimitiveTopology(e,t){if(e.isPoints)return ix.PointList;if(e.isLineSegments||e.isMesh&&t.wireframe===!0)return ix.LineList;if(e.isLine)return ix.LineStrip;if(e.isMesh)return ix.TriangleList}getSampleCount(e){return e>=4?4:1}getSampleCountRenderContext(e){return e.textures!==null?this.getSampleCount(e.sampleCount):this.getSampleCount(this.backend.renderer.currentSamples)}getPreferredCanvasFormat(){const t=this.backend.parameters.outputType;if(t===void 0)return navigator.gpu.getPreferredCanvasFormat();if(t===on)return Yn.BGRA8Unorm;if(t===Dt)return Yn.RGBA16Float;throw new Error("Unsupported output buffer type.")}}const V4=new Map([[Int8Array,["sint8","snorm8"]],[Uint8Array,["uint8","unorm8"]],[Int16Array,["sint16","snorm16"]],[Uint16Array,["uint16","unorm16"]],[Int32Array,["sint32","snorm32"]],[Uint32Array,["uint32","unorm32"]],[Float32Array,["float32"]]]);typeof Float16Array!="undefined"&&V4.set(Float16Array,["float16"]);const jie=new Map([[lu,["float16"]]]),Kie=new Map([[Int32Array,"sint32"],[Int16Array,"sint32"],[Uint32Array,"uint32"],[Uint16Array,"uint32"],[Float32Array,"float32"]]);class Xie{constructor(e){this.backend=e}createAttribute(e,t){const n=this._getBufferAttribute(e),r=this.backend,s=r.get(n);let a=s.buffer;if(a===void 0){const o=r.device;let l=n.array;if(e.normalized===!1){if(l.constructor===Int16Array||l.constructor===Int8Array)l=new Int32Array(l);else if((l.constructor===Uint16Array||l.constructor===Uint8Array)&&(l=new Uint32Array(l),t&GPUBufferUsage.INDEX))for(let h=0;h0&&(a.groups===void 0&&(a.groups=[],a.versions=[]),a.versions[n]===r&&(l=a.groups[n])),l===void 0&&(l=this.createBindGroup(e,o),n>0&&(a.groups[n]=l,a.versions[n]=r)),a.group=l}updateBinding(e){const t=this.backend,n=t.device,r=e.buffer,s=t.get(e).buffer,a=e.updateRanges;if(a.length===0)n.queue.writeBuffer(s,0,r,0);else{const o=Lc(r),l=o?1:r.BYTES_PER_ELEMENT;for(let c=0,u=a.length;c1&&(d+=`-${l.texture.depthOrArrayLayers}`),d+=`-${u}-${h}`,c=l[d],c===void 0){const f=Tie.All;let A;o.isSampledCubeTexture?A=fu.Cube:o.isSampledTexture3D?A=fu.ThreeD:o.texture.isArrayTexture||o.texture.isDataArrayTexture||o.texture.isCompressedArrayTexture?A=fu.TwoDArray:A=fu.TwoD,c=l[d]=l.texture.createView({aspect:f,dimension:A,mipLevelCount:u,baseMipLevel:h})}}a.push({binding:s,resource:c})}else if(o.isSampler){const l=n.get(o.texture);a.push({binding:s,resource:l.sampler})}s++}return r.createBindGroup({label:"bindGroup_"+e.name,layout:t,entries:a})}_createLayoutEntries(e){const t=[];let n=0;for(const r of e.bindings){const s=this.backend,a={binding:n,visibility:r.visibility};if(r.isUniformBuffer||r.isStorageBuffer){const o={};r.isStorageBuffer&&(r.visibility&Av.COMPUTE&&(r.access===nh.READ_WRITE||r.access===nh.WRITE_ONLY)?o.type=sR.Storage:o.type=sR.ReadOnlyStorage),a.buffer=o}else if(r.isSampledTexture&&r.store){const o={};o.format=this.backend.get(r.texture).texture.format;const l=r.access;l===nh.READ_WRITE?o.access=aR.ReadWrite:l===nh.WRITE_ONLY?o.access=aR.WriteOnly:o.access=aR.ReadOnly,r.texture.isArrayTexture?o.viewDimension=fu.TwoDArray:r.texture.is3DTexture&&(o.viewDimension=fu.ThreeD),a.storageTexture=o}else if(r.isSampledTexture){const o={},{primarySamples:l}=s.utils.getTextureSampleData(r.texture);if(l>1&&(o.multisampled=!0,r.texture.isDepthTexture||(o.sampleType=mv.UnfilterableFloat)),r.texture.isDepthTexture)s.compatibilityMode&&r.texture.compareFunction===null?o.sampleType=mv.UnfilterableFloat:o.sampleType=mv.Depth;else if(r.texture.isDataTexture||r.texture.isDataArrayTexture||r.texture.isData3DTexture){const c=r.texture.type;c===yt?o.sampleType=mv.SInt:c===Ft?o.sampleType=mv.UInt:c===rn&&(this.backend.hasFeature("float32-filterable")?o.sampleType=mv.Float:o.sampleType=mv.UnfilterableFloat)}r.isSampledCubeTexture?o.viewDimension=fu.Cube:r.texture.isArrayTexture||r.texture.isDataArrayTexture||r.texture.isCompressedArrayTexture?o.viewDimension=fu.TwoDArray:r.isSampledTexture3D&&(o.viewDimension=fu.ThreeD),a.texture=o}else if(r.isSampler){const o={};r.texture.isDepthTexture&&(r.texture.compareFunction!==null?o.type=P4.Comparison:s.compatibilityMode&&(o.type=P4.NonFiltering)),a.sampler=o}else Nr(`WebGPUBindingUtils: Unsupported binding "${r}".`);t.push(a),n++}return t}deleteBindGroupData(e){const{backend:t}=this,n=t.get(e);n.layout&&(n.layout.usedTimes--,n.layout.usedTimes===0&&this._bindGroupLayoutCache.delete(n.layoutKey),n.layout=void 0,n.layoutKey=void 0)}dispose(){this._bindGroupLayoutCache.clear()}}class Jie{constructor(e){this.backend=e,this._activePipelines=new WeakMap}setPipeline(e,t){this._activePipelines.get(e)!==t&&(e.setPipeline(t),this._activePipelines.set(e,t))}_getSampleCount(e){return this.backend.utils.getSampleCountRenderContext(e)}createRenderPipeline(e,t){const{object:n,material:r,geometry:s,pipeline:a}=e,{vertexProgram:o,fragmentProgram:l}=a,c=this.backend,u=c.device,h=c.utils,d=c.get(a),f=[];for(const Jt of e.getBindings()){const gn=c.get(Jt),{layoutGPU:yn}=gn.layout;f.push(yn)}const A=c.attributeUtils.createShaderVertexBuffers(e);let y;r.blending!==fe&&(r.blending!==Le||r.transparent!==!1)&&(y=this._getBlending(r));let b={};r.stencilWrite===!0&&(b={compare:this._getStencilCompare(r),failOp:this._getStencilOperation(r.stencilFail),depthFailOp:this._getStencilOperation(r.stencilZFail),passOp:this._getStencilOperation(r.stencilZPass)});const x=this._getColorWriteMask(r),P=[];if(e.context.textures!==null){const Jt=e.context.textures;for(let gn=0;gn1},layout:u.createPipelineLayout({bindGroupLayouts:f})},Fe={},nt=e.context.depth,Gt=e.context.stencil;if((nt===!0||Gt===!0)&&(nt===!0&&(Fe.format=ce,Fe.depthWriteEnabled=r.depthWrite,Fe.depthCompare=ie),Gt===!0&&(Fe.stencilFront=b,Fe.stencilBack={},Fe.stencilReadMask=r.stencilFuncMask,Fe.stencilWriteMask=r.stencilWriteMask),r.polygonOffset===!0&&(Fe.depthBias=r.polygonOffsetUnits,Fe.depthBiasSlopeScale=r.polygonOffsetFactor,Fe.depthBiasClamp=0),ve.depthStencil=Fe),u.pushErrorScope("validation"),t===null)d.pipeline=u.createRenderPipeline(ve),u.popErrorScope().then(Jt=>{Jt!==null&&(d.error=!0,Nr(Jt.message))});else{const Jt=new Promise(gn=>va(this,null,function*(){try{d.pipeline=yield u.createRenderPipelineAsync(ve)}catch(Mn){}const yn=yield u.popErrorScope();yn!==null&&(d.error=!0,Nr(yn.message)),gn()}));t.push(Jt)}}createBundleEncoder(e,t="renderBundleEncoder"){const n=this.backend,{utils:r,device:s}=n,a=r.getCurrentDepthStencilFormat(e),o=r.getCurrentColorFormats(e),l=this._getSampleCount(e),c={label:t,colorFormats:o,depthStencilFormat:a,sampleCount:l};return s.createRenderBundleEncoder(c)}createComputePipeline(e,t){const n=this.backend,r=n.device,s=n.get(e.computeProgram).module,a=n.get(e),o=[];for(const l of t){const c=n.get(l),{layoutGPU:u}=c.layout;o.push(u)}a.pipeline=r.createComputePipeline({compute:s,layout:r.createPipelineLayout({bindGroupLayouts:o})})}_getBlending(e){let t,n;const r=e.blending,s=e.blendSrc,a=e.blendDst,o=e.blendEquation;if(r===Te){const l=e.blendSrcAlpha!==null?e.blendSrcAlpha:s,c=e.blendDstAlpha!==null?e.blendDstAlpha:a,u=e.blendEquationAlpha!==null?e.blendEquationAlpha:o;t={srcFactor:this._getBlendFactor(s),dstFactor:this._getBlendFactor(a),operation:this._getBlendOperation(o)},n={srcFactor:this._getBlendFactor(l),dstFactor:this._getBlendFactor(c),operation:this._getBlendOperation(u)}}else{const l=e.premultipliedAlpha,c=(u,h,d,f)=>{t={srcFactor:u,dstFactor:h,operation:gv.Add},n={srcFactor:d,dstFactor:f,operation:gv.Add}};if(l)switch(r){case Le:c($o.One,$o.OneMinusSrcAlpha,$o.One,$o.OneMinusSrcAlpha);break;case Me:c($o.One,$o.One,$o.One,$o.One);break;case Ze:c($o.Zero,$o.OneMinusSrc,$o.Zero,$o.One);break;case Ye:c($o.Dst,$o.OneMinusSrcAlpha,$o.Zero,$o.One);break}else switch(r){case Le:c($o.SrcAlpha,$o.OneMinusSrcAlpha,$o.One,$o.OneMinusSrcAlpha);break;case Me:c($o.SrcAlpha,$o.One,$o.One,$o.One);break;case Ze:Nr("WebGPURenderer: SubtractiveBlending requires material.premultipliedAlpha = true");break;case Ye:Nr("WebGPURenderer: MultiplyBlending requires material.premultipliedAlpha = true");break}}if(t!==void 0&&n!==void 0)return{color:t,alpha:n};Nr("WebGPURenderer: Invalid blending: ",r)}_getBlendFactor(e){let t;switch(e){case cn:t=$o.Zero;break;case Sn:t=$o.One;break;case vn:t=$o.Src;break;case Qn:t=$o.OneMinusSrc;break;case xn:t=$o.SrcAlpha;break;case Un:t=$o.OneMinusSrcAlpha;break;case Ht:t=$o.Dst;break;case On:t=$o.OneMinusDst;break;case ke:t=$o.DstAlpha;break;case ot:t=$o.OneMinusDstAlpha;break;case xt:t=$o.SrcAlphaSaturated;break;case Iq:t=$o.Constant;break;case Nq:t=$o.OneMinusConstant;break;default:Nr("WebGPURenderer: Blend factor not supported.",e)}return t}_getStencilCompare(e){let t;const n=e.stencilFunc;switch(n){case Oc:t=oh.Never;break;case as:t=oh.Always;break;case Bc:t=oh.Less;break;case fo:t=oh.LessEqual;break;case yc:t=oh.Equal;break;case us:t=oh.GreaterEqual;break;case ru:t=oh.Greater;break;case ol:t=oh.NotEqual;break;default:Nr("WebGPURenderer: Invalid stencil function.",n)}return t}_getStencilOperation(e){let t;switch(e){case So:t=Qm.Keep;break;case Pl:t=Qm.Zero;break;case To:t=Qm.Replace;break;case Nu:t=Qm.Invert;break;case Wc:t=Qm.IncrementClamp;break;case vc:t=Qm.DecrementClamp;break;case bo:t=Qm.IncrementWrap;break;case Zc:t=Qm.DecrementWrap;break;default:Nr("WebGPURenderer: Invalid stencil operation.",t)}return t}_getBlendOperation(e){let t;switch(e){case be:t=gv.Add;break;case Ge:t=gv.Subtract;break;case Je:t=gv.ReverseSubtract;break;case it:t=gv.Min;break;case $t:t=gv.Max;break;default:Nr("WebGPUPipelineUtils: Blend equation not supported.",e)}return t}_getPrimitiveState(e,t,n){const r={},s=this.backend.utils;r.topology=s.getPrimitiveTopology(e,n),t.index!==null&&e.isLine===!0&&e.isLineSegments!==!0&&(r.stripIndexFormat=t.index.array instanceof Uint16Array?sx.Uint16:sx.Uint32);let a=n.side===ge;return e.isMesh&&e.matrixWorld.determinant()<0&&(a=!a),r.frontFace=a===!0?R4.CW:R4.CCW,r.cullMode=n.side===pe?I4.None:I4.Back,r}_getColorWriteMask(e){return e.colorWrite===!0?N4.All:N4.None}_getDepthCompare(e){let t;if(e.depthTest===!1)t=oh.Always;else{const n=e.depthFunc;switch(n){case ae:t=oh.Never;break;case re:t=oh.Always;break;case Ie:t=oh.Less;break;case Ct:t=oh.LessEqual;break;case Nt:t=oh.Equal;break;case ht:t=oh.GreaterEqual;break;case Wt:t=oh.Greater;break;case zt:t=oh.NotEqual;break;default:Nr("WebGPUPipelineUtils: Invalid depth function.",n)}}return t}}class ese extends T4{constructor(e,t,n=2048){super(n),this.device=e,this.type=t,this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxQueries,label:`queryset_global_timestamp_${t}`});const r=this.maxQueries*8;this.resolveBuffer=this.device.createBuffer({label:`buffer_timestamp_resolve_${t}`,size:r,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.resultBuffer=this.device.createBuffer({label:`buffer_timestamp_result_${t}`,size:r,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ})}allocateQueriesForContext(e){if(!this.trackTimestamp||this.isDisposed)return null;if(this.currentQueryIndex+2>this.maxQueries)return $s(`WebGPUTimestampQueryPool [${this.type}]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${this.type.toUpperCase()} ).`),null;const t=this.currentQueryIndex;return this.currentQueryIndex+=2,this.queryOffsets.set(e,t),t}resolveQueriesAsync(){return va(this,null,function*(){if(!this.trackTimestamp||this.currentQueryIndex===0||this.isDisposed)return this.lastValue;if(this.pendingResolve)return this.pendingResolve;this.pendingResolve=this._resolveQueries();try{return yield this.pendingResolve}finally{this.pendingResolve=null}})}_resolveQueries(){return va(this,null,function*(){if(this.isDisposed)return this.lastValue;try{if(this.resultBuffer.mapState!=="unmapped")return this.lastValue;const e=new Map(this.queryOffsets),t=this.currentQueryIndex,n=t*8;this.currentQueryIndex=0,this.queryOffsets.clear();const r=this.device.createCommandEncoder();r.resolveQuerySet(this.querySet,0,t,this.resolveBuffer,0),r.copyBufferToBuffer(this.resolveBuffer,0,this.resultBuffer,0,n);const s=r.finish();if(this.device.queue.submit([s]),this.resultBuffer.mapState!=="unmapped")return this.lastValue;if(yield this.resultBuffer.mapAsync(GPUMapMode.READ,0,n),this.isDisposed)return this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue;const a=new BigUint64Array(this.resultBuffer.getMappedRange(0,n)),o={},l=[];for(const[u,h]of e){const d=u.match(/^(.*):f(\d+)$/),f=parseInt(d[2]);l.includes(f)===!1&&l.push(f),o[f]===void 0&&(o[f]=0);const A=a[h],y=a[h+1],b=Number(y-A)/1e6;this.timestamps.set(u,b),o[f]+=b}const c=o[l[l.length-1]];return this.resultBuffer.unmap(),this.lastValue=c,this.frames=l,c}catch(e){return Nr("Error resolving queries:",e),this.resultBuffer.mapState==="mapped"&&this.resultBuffer.unmap(),this.lastValue}})}dispose(){return va(this,null,function*(){if(!this.isDisposed){if(this.isDisposed=!0,this.pendingResolve)try{yield this.pendingResolve}catch(e){Nr("Error waiting for pending resolve:",e)}if(this.resultBuffer&&this.resultBuffer.mapState==="mapped")try{this.resultBuffer.unmap()}catch(e){Nr("Error unmapping buffer:",e)}this.querySet&&(this.querySet.destroy(),this.querySet=null),this.resolveBuffer&&(this.resolveBuffer.destroy(),this.resolveBuffer=null),this.resultBuffer&&(this.resultBuffer.destroy(),this.resultBuffer=null),this.queryOffsets.clear(),this.pendingResolve=null}})}}class cR extends E4{constructor(e={}){super(e),this.isWebGPUBackend=!0,this.parameters.alpha=e.alpha===void 0?!0:e.alpha,this.parameters.compatibilityMode=e.compatibilityMode===void 0?!1:e.compatibilityMode,this.parameters.requiredLimits=e.requiredLimits===void 0?{}:e.requiredLimits,this.compatibilityMode=this.parameters.compatibilityMode,this.device=null,this.defaultRenderPassdescriptor=null,this.utils=new $ie(this),this.attributeUtils=new Xie(this),this.bindingUtils=new qie(this),this.pipelineUtils=new Jie(this),this.textureUtils=new Lie(this),this.occludedResolveCache=new Map}init(e){return va(this,null,function*(){yield A8(cR.prototype,this,"init").call(this,e);const t=this.parameters;let n;if(t.device===void 0){const r={powerPreference:t.powerPreference,featureLevel:t.compatibilityMode?"compatibility":void 0},s=typeof navigator!="undefined"?yield navigator.gpu.requestAdapter(r):null;if(s===null)throw new Error("WebGPUBackend: Unable to create WebGPU adapter.");const a=Object.values(oR),o=[];for(const c of a)s.features.has(c)&&o.push(c);const l={requiredFeatures:o,requiredLimits:t.requiredLimits};n=yield s.requestDevice(l)}else n=t.device;n.lost.then(r=>{if(r.reason==="destroyed")return;const s={api:"WebGPU",message:r.message||"Unknown reason",reason:r.reason||null,originalEvent:r};e.onDeviceLost(s)}),this.device=n,this.trackTimestamp=this.trackTimestamp&&this.hasFeature(oR.TimestampQuery),this.updateSize()})}get context(){const e=this.renderer.getCanvasTarget(),t=this.get(e);let n=t.context;if(n===void 0){const r=this.parameters;e.isDefaultCanvasTarget===!0&&r.context!==void 0?n=r.context:n=e.domElement.getContext("webgpu"),"setAttribute"in e.domElement&&e.domElement.setAttribute("data-engine",`three.js r${B} webgpu`);const s=r.alpha?"premultiplied":"opaque",a=r.outputType===Dt?"extended":"standard";n.configure({device:this.device,format:this.utils.getPreferredCanvasFormat(),usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,alphaMode:s,toneMapping:{mode:a}}),t.context=n}return n}get coordinateSystem(){return Vo}getArrayBufferAsync(e){return va(this,null,function*(){return yield this.attributeUtils.getArrayBufferAsync(e)})}getContext(){return this.context}_getDefaultRenderPassDescriptor(){const e=this.renderer,t=e.getCanvasTarget(),n=this.get(t),r=e.currentSamples;let s=n.descriptor;if(s===void 0||n.samples!==r){s={colorAttachments:[{view:null}]},(e.depth===!0||e.stencil===!0)&&(s.depthStencilAttachment={view:this.textureUtils.getDepthBuffer(e.depth,e.stencil).createView()});const o=s.colorAttachments[0];r>0?o.view=this.textureUtils.getColorBuffer().createView():o.resolveTarget=void 0,n.descriptor=s,n.samples=r}const a=s.colorAttachments[0];return r>0?a.resolveTarget=this.context.getCurrentTexture().createView():a.view=this.context.getCurrentTexture().createView(),s}_isRenderCameraDepthArray(e){return e.depthTexture&&e.depthTexture.image.depth>1&&e.camera.isArrayCamera}_getRenderPassDescriptor(e,t={}){const n=e.renderTarget,r=this.get(n);let s=r.descriptors;(s===void 0||r.width!==n.width||r.height!==n.height||r.samples!==n.samples)&&(s={},r.descriptors=s);const a=e.getCacheKey();let o=s[a];if(o===void 0){const c=e.textures,u=[];let h;const d=this._isRenderCameraDepthArray(e);for(let f=0;f1)if(d===!0){const b=e.camera.cameras;for(let x=0;x0&&(t.currentOcclusionQuerySet&&t.currentOcclusionQuerySet.destroy(),t.currentOcclusionQueryBuffer&&t.currentOcclusionQueryBuffer.destroy(),t.currentOcclusionQuerySet=t.occlusionQuerySet,t.currentOcclusionQueryBuffer=t.occlusionQueryBuffer,t.currentOcclusionQueryObjects=t.occlusionQueryObjects,s=n.createQuerySet({type:"occlusion",count:r,label:`occlusionQuerySet_${e.id}`}),t.occlusionQuerySet=s,t.occlusionQueryIndex=0,t.occlusionQueryObjects=new Array(r),t.lastOcclusionObject=null);let a;e.textures===null?a=this._getDefaultRenderPassDescriptor():a=this._getRenderPassDescriptor(e,{loadOp:wl.Load}),this.initTimestampQuery(cl.RENDER,this.getTimestampUID(e),a),a.occlusionQuerySet=s;const o=a.depthStencilAttachment;if(e.textures!==null){const c=a.colorAttachments;for(let u=0;u0&&t.currentPass.executeBundles(t.renderBundles),n>t.occlusionQueryIndex&&t.currentPass.endOcclusionQuery();const r=t.encoder;if(this._isRenderCameraDepthArray(e)===!0){const s=[];for(let a=0;a0){const s=n*8;let a=this.occludedResolveCache.get(s);a===void 0&&(a=this.device.createBuffer({size:s,usage:GPUBufferUsage.QUERY_RESOLVE|GPUBufferUsage.COPY_SRC}),this.occludedResolveCache.set(s,a));const o=this.device.createBuffer({size:s,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});t.encoder.resolveQuerySet(t.occlusionQuerySet,0,n,a,0),t.encoder.copyBufferToBuffer(a,0,o,0,s),t.occlusionQueryBuffer=o,this.resolveOccludedAsync(e)}if(this.device.queue.submit([t.encoder.finish()]),e.textures!==null){const s=e.textures;for(let a=0;af&&(s[0]=Math.min(d,f),s[1]=Math.ceil(d/f)),a.dispatchSize=s}s=a.dispatchSize}o.dispatchWorkgroups(s[0],s[1]||1,s[2]||1)}finishCompute(e){const t=this.get(e);t.passEncoderGPU.end(),this.device.queue.submit([t.cmdEncoderGPU.finish()])}draw(e,t){const{object:n,material:r,context:s,pipeline:a}=e,o=e.getBindings(),l=this.get(s),c=this.get(a),u=c.pipeline;if(c.error===!0)return;const h=e.getIndex(),d=h!==null,f=e.getDrawParameters();if(f===null)return;const A=(b,x)=>{this.pipelineUtils.setPipeline(b,u),x.pipeline=u;const P=x.bindingGroups;for(let $=0,se=o.length;${if(A(b,x),n.isBatchedMesh===!0){const P=n._multiDrawStarts,k=n._multiDrawCounts,$=n._multiDrawCount,se=n._multiDrawInstances;se!==null&&$s("WebGPUBackend: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection.");for(let ie=0;ie<$;ie++){const ce=se?se[ie]:1,ue=ce>1?0:ie;d===!0?b.drawIndexed(k[ie],ce,P[ie]/h.array.BYTES_PER_ELEMENT,0,ue):b.draw(k[ie],ce,P[ie],ue),t.update(n,k[ie],ce)}}else if(d===!0){const{vertexCount:P,instanceCount:k,firstVertex:$}=f,se=e.getIndirect();if(se!==null){const ie=this.get(se).buffer,ce=e.getIndirectOffset(),ue=Array.isArray(ce)?ce:[ce];for(let ve=0;ve0){const b=this.get(e.camera),x=e.camera.cameras,P=e.getBindingGroup("cameraIndex");if(b.indexesGPU===void 0||b.indexesGPU.length!==x.length){const $=this.get(P),se=[],ie=new Uint32Array([0,0,0,0]);for(let ce=0,ue=x.length;ce(sr("WebGPURenderer: WebGPU is not available, running under WebGL2 backend."),new B4(e)));const n=new t(e);super(n,e),this.library=new rse,this.isWebGPURenderer=!0,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}}class s1e extends null{constructor(){super(),this.isBundleGroup=!0,this.type="BundleGroup",this.static=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}}class a1e{constructor(e,t=Rs(0,0,1,1)){this.renderer=e,this.outputNode=t,this.outputColorTransform=!0,this.needsUpdate=!0;const n=new Sc;n.name="PostProcessing",this._quadMesh=new e_(n),this._quadMesh.name="Post-Processing",this._context=null}render(){const e=this.renderer;this._update(),this._context.onBeforePostProcessing!==null&&this._context.onBeforePostProcessing();const t=e.toneMapping,n=e.outputColorSpace;e.toneMapping=NoToneMapping,e.outputColorSpace=ColorManagement.workingColorSpace;const r=e.xr.enabled;e.xr.enabled=!1,this._quadMesh.render(e),e.xr.enabled=r,e.toneMapping=t,e.outputColorSpace=n,this._context.onAfterPostProcessing!==null&&this._context.onAfterPostProcessing()}get context(){return this._context}dispose(){this._quadMesh.material.dispose()}_update(){if(this.needsUpdate===!0){const e=this.renderer,t=e.toneMapping,n=e.outputColorSpace,r={postProcessing:this,onBeforePostProcessing:null,onAfterPostProcessing:null};let s=this.outputNode;this.outputColorTransform===!0?(s=s.context(r),s=mB(s,t,n)):(r.toneMapping=t,r.outputColorSpace=n,s=s.context(r)),this._context=r,this._quadMesh.material.fragmentNode=s,this._quadMesh.material.needsUpdate=!0,this.needsUpdate=!1}}renderAsync(){return va(this,null,function*(){warnOnce('PostProcessing: "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.'),yield this.renderer.init(),this.render()})}}class o1e extends null{constructor(e=1,t=1){super(),this.image={width:e,height:t},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0,this.mipmapsAutoUpdate=!0}setSize(e,t){(this.image.width!==e||this.image.height!==t)&&(this.image.width=e,this.image.height=t,this.dispose())}}class l1e extends null{constructor(e=1,t=1,n=1){super(),this.isArrayTexture=!1,this.image={width:e,height:t,depth:n},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.wrapR=ClampToEdgeWrapping,this.isStorageTexture=!0,this.is3DTexture=!0}setSize(e,t,n){(this.image.width!==e||this.image.height!==t||this.image.depth!==n)&&(this.image.width=e,this.image.height=t,this.image.depth=n,this.dispose())}}class c1e extends null{constructor(e=1,t=1,n=1){super(),this.isArrayTexture=!0,this.image={width:e,height:t,depth:n},this.magFilter=LinearFilter,this.minFilter=LinearFilter,this.isStorageTexture=!0}setSize(e,t,n){(this.image.width!==e||this.image.height!==t||this.image.depth!==n)&&(this.image.width=e,this.image.height=t,this.image.depth=n,this.dispose())}}class u1e extends null{constructor(e,t){super(e,t,Uint32Array),this.isIndirectStorageBufferAttribute=!0}}class sse extends null{constructor(e){super(e),this.textures={},this.nodes={}}load(e,t,n,r){const s=new FileLoader(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,a=>{try{t(this.parse(JSON.parse(a)))}catch(o){r?r(o):error(o),this.manager.itemError(e)}},n,r)}parseNodes(e){const t={};if(e!==void 0){for(const r of e){const{uuid:s,type:a}=r;t[s]=this.createNodeFromType(a),t[s].uuid=s}const n={nodes:t,textures:this.textures};for(const r of e)r.meta=n,t[r.uuid].deserialize(r),delete r.meta}return t}parse(e){const t=this.createNodeFromType(e.type);t.uuid=e.uuid;const r={nodes:this.parseNodes(e.nodes),textures:this.textures};return e.meta=r,t.deserialize(e),delete e.meta,t}setTextures(e){return this.textures=e,this}setNodes(e){return this.nodes=e,this}createNodeFromType(e){return this.nodes[e]===void 0?(error("NodeLoader: Node type not found:",e),en()):new this.nodes[e]}}class ase extends null{constructor(e){super(e),this.nodes={},this.nodeMaterials={}}parse(e){const t=super.parse(e),n=this.nodes,r=e.inputNodes;for(const s in r){const a=r[s];t[s]=n[a]}return t}setNodes(e){return this.nodes=e,this}setNodeMaterials(e){return this.nodeMaterials=e,this}createMaterialFromType(e){const t=this.nodeMaterials[e];return t!==void 0?new t:super.createMaterialFromType(e)}}class h1e extends null{constructor(e){super(e),this.nodes={},this.nodeMaterials={},this._nodesJSON=null}setNodes(e){return this.nodes=e,this}setNodeMaterials(e){return this.nodeMaterials=e,this}parse(e,t){this._nodesJSON=e.nodes;const n=super.parse(e,t);return this._nodesJSON=null,n}parseNodes(e,t){if(e!==void 0){const n=new sse;return n.setNodes(this.nodes),n.setTextures(t),n.parseNodes(e)}return{}}parseMaterials(e,t){const n={};if(e!==void 0){const r=this.parseNodes(this._nodesJSON,t),s=new ase;s.setTextures(t),s.setNodes(r),s.setNodeMaterials(this.nodeMaterials);for(let a=0,o=e.length;aH4&&(this.dispatchEvent(uR),this._lastPosition.copy(this.object.position))):this.object.isOrthographicCamera?(this.object.lookAt(this.target),(this._lastPosition.distanceToSquared(this.object.position)>H4||this._lastZoom!==this.object.zoom)&&(this.dispatchEvent(uR),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type.")}reset(){this.state=El.NONE,this.keyState=El.NONE,this.target.copy(this._target0),this.object.position.copy(this._position0),this.object.up.copy(this._up0),this.object.zoom=this._zoom0,this.object.updateProjectionMatrix(),this._eye.subVectors(this.object.position,this.target),this.object.lookAt(this.target),this.dispatchEvent(uR),this._lastPosition.copy(this.object.position),this._lastZoom=this.object.zoom}_panCamera(){if(Wm.copy(this._panEnd).sub(this._panStart),Wm.lengthSq()){if(this.object.isOrthographicCamera){const e=(this.object.right-this.object.left)/this.object.zoom/this.domElement.clientWidth,t=(this.object.top-this.object.bottom)/this.object.zoom/this.domElement.clientWidth;Wm.x*=e,Wm.y*=t}Wm.multiplyScalar(this._eye.length()*this.panSpeed),ME.copy(this._eye).cross(this.object.up).setLength(Wm.x),ME.add(ose.copy(this.object.up).setLength(Wm.y)),this.object.position.add(ME),this.target.add(ME),this.staticMoving?this._panStart.copy(this._panEnd):this._panStart.add(Wm.subVectors(this._panEnd,this._panStart).multiplyScalar(this.dynamicDampingFactor))}}_rotateCamera(){BE.set(this._moveCurr.x-this._movePrev.x,this._moveCurr.y-this._movePrev.y,0);let e=BE.length();e?(this._eye.copy(this.object.position).sub(this.target),G4.copy(this._eye).normalize(),TE.copy(this.object.up).normalize(),AR.crossVectors(TE,G4).normalize(),TE.setLength(this._moveCurr.y-this._movePrev.y),AR.setLength(this._moveCurr.x-this._movePrev.x),BE.copy(TE.add(AR)),fR.crossVectors(BE,this._eye).normalize(),e*=this.rotateSpeed,ax.setFromAxisAngle(fR,e),this._eye.applyQuaternion(ax),this.object.up.applyQuaternion(ax),this._lastAxis.copy(fR),this._lastAngle=e):!this.staticMoving&&this._lastAngle&&(this._lastAngle*=Math.sqrt(1-this.dynamicDampingFactor),this._eye.copy(this.object.position).sub(this.target),ax.setFromAxisAngle(this._lastAxis,this._lastAngle),this._eye.applyQuaternion(ax),this.object.up.applyQuaternion(ax)),this._movePrev.copy(this._moveCurr)}_zoomCamera(){let e;this.state===El.TOUCH_ZOOM_PAN?(e=this._touchZoomDistanceStart/this._touchZoomDistanceEnd,this._touchZoomDistanceStart=this._touchZoomDistanceEnd,this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=tt.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(this._zoomEnd.y-this._zoomStart.y)*this.zoomSpeed,e!==1&&e>0&&(this.object.isPerspectiveCamera?this._eye.multiplyScalar(e):this.object.isOrthographicCamera?(this.object.zoom=tt.clamp(this.object.zoom/e,this.minZoom,this.maxZoom),this._lastZoom!==this.object.zoom&&this.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),this.staticMoving?this._zoomStart.copy(this._zoomEnd):this._zoomStart.y+=(this._zoomEnd.y-this._zoomStart.y)*this.dynamicDampingFactor)}_getMouseOnScreen(e,t){return CE.set((e-this.screen.left)/this.screen.width,(t-this.screen.top)/this.screen.height),CE}_getMouseOnCircle(e,t){return CE.set((e-this.screen.width*.5-this.screen.left)/(this.screen.width*.5),(this.screen.height+2*(this.screen.top-t))/this.screen.width),CE}_addPointer(e){this._pointers.push(e)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;tthis.maxDistance*this.maxDistance&&(this.object.position.addVectors(this.target,this._eye.setLength(this.maxDistance)),this._zoomStart.copy(this._zoomEnd)),this._eye.lengthSq()Math.PI&&(n-=_d),r<-Math.PI?r+=_d:r>Math.PI&&(r-=_d),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let s=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),s=a!=this._spherical.radius}if(Tu.setFromSpherical(this._spherical),Tu.applyQuaternion(this._quatInverse),t.copy(this.target).add(Tu),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const o=Tu.length();a=this._clampDistance(o*this._scale);const l=o-a;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),s=!!l}else if(this.object.isOrthographicCamera){const o=new ye(this._mouse.x,this._mouse.y,0);o.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),s=l!==this.object.zoom;const c=new ye(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(o),this.object.updateMatrixWorld(),a=Tu.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(RE.origin.copy(this.object.position),RE.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(RE.direction))gR||8*(1-this._lastQuaternion.dot(this.object.quaternion))>gR||this._lastTargetPosition.distanceToSquared(this.target)>gR?(this.dispatchEvent(Q4),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?_d/60*this.autoRotateSpeed*e:_d/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Tu.setFromMatrixColumn(t,0),Tu.multiplyScalar(-e),this._panOffset.add(Tu)}_panUp(e,t){this.screenSpacePanning===!0?Tu.setFromMatrixColumn(t,1):(Tu.setFromMatrixColumn(t,0),Tu.crossVectors(this.object.up,Tu)),Tu.multiplyScalar(e),this._panOffset.add(Tu)}_pan(e,t){const n=this.domElement;if(this.object.isPerspectiveCamera){const r=this.object.position;Tu.copy(r).sub(this.target);let s=Tu.length();s*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*s/n.clientHeight,this.object.matrix),this._panUp(2*t*s/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const n=this.domElement.getBoundingClientRect(),r=e-n.left,s=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(s/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(_d*this._rotateDelta.x/t.clientHeight),this._rotateUp(_d*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(_d*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-_d*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(_d*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-_d*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(n*n+r*r);this._dollyStart.set(0,s)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),r=.5*(e.pageX+n.x),s=.5*(e.pageY+n.y);this._rotateEnd.set(r,s)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(_d*this._rotateDelta.x/t.clientHeight),this._rotateUp(_d*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,s=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,s),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t$4||8*(1-this._lastQuaternion.dot(t.quaternion))>$4)&&(this.dispatchEvent(Dse),this._lastQuaternion.copy(t.quaternion),this._lastPosition.copy(t.position))}_updateMovementVector(){const e=this._moveState.forward||this.autoForward&&!this._moveState.back?1:0;this._moveVector.x=-this._moveState.left+this._moveState.right,this._moveVector.y=-this._moveState.down+this._moveState.up,this._moveVector.z=-e+this._moveState.back}_updateRotationVector(){this._rotationVector.x=-this._moveState.pitchDown+this._moveState.pitchUp,this._rotationVector.y=-this._moveState.yawRight+this._moveState.yawLeft,this._rotationVector.z=-this._moveState.rollRight+this._moveState.rollLeft}_getContainerDimensions(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}}}function kse(i){if(!(i.altKey||this.enabled===!1)){switch(i.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this._moveState.forward=1;break;case"KeyS":this._moveState.back=1;break;case"KeyA":this._moveState.left=1;break;case"KeyD":this._moveState.right=1;break;case"KeyR":this._moveState.up=1;break;case"KeyF":this._moveState.down=1;break;case"ArrowUp":this._moveState.pitchUp=1;break;case"ArrowDown":this._moveState.pitchDown=1;break;case"ArrowLeft":this._moveState.yawLeft=1;break;case"ArrowRight":this._moveState.yawRight=1;break;case"KeyQ":this._moveState.rollLeft=1;break;case"KeyE":this._moveState.rollRight=1;break}this._updateMovementVector(),this._updateRotationVector()}}function zse(i){if(this.enabled!==!1){switch(i.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this._moveState.forward=0;break;case"KeyS":this._moveState.back=0;break;case"KeyA":this._moveState.left=0;break;case"KeyD":this._moveState.right=0;break;case"KeyR":this._moveState.up=0;break;case"KeyF":this._moveState.down=0;break;case"ArrowUp":this._moveState.pitchUp=0;break;case"ArrowDown":this._moveState.pitchDown=0;break;case"ArrowLeft":this._moveState.yawLeft=0;break;case"ArrowRight":this._moveState.yawRight=0;break;case"KeyQ":this._moveState.rollLeft=0;break;case"KeyE":this._moveState.rollRight=0;break}this._updateMovementVector(),this._updateRotationVector()}}function Vse(i){if(this.enabled!==!1)if(this.dragToLook)this._status++;else{switch(i.button){case 0:this._moveState.forward=1;break;case 2:this._moveState.back=1;break}this._updateMovementVector()}}function Hse(i){if(this.enabled!==!1&&(!this.dragToLook||this._status>0)){const e=this._getContainerDimensions(),t=e.size[0]/2,n=e.size[1]/2;this._moveState.yawLeft=-(i.pageX-e.offset[0]-t)/t,this._moveState.pitchDown=(i.pageY-e.offset[1]-n)/n,this._updateRotationVector()}}function Gse(i){if(this.enabled!==!1){if(this.dragToLook)this._status--,this._moveState.yawLeft=this._moveState.pitchDown=0;else{switch(i.button){case 0:this._moveState.forward=0;break;case 2:this._moveState.back=0;break}this._updateMovementVector()}this._updateRotationVector()}}function Qse(){this.enabled!==!1&&(this.dragToLook?(this._status=0,this._moveState.yawLeft=this._moveState.pitchDown=0):(this._moveState.forward=0,this._moveState.back=0,this._updateMovementVector()),this._updateRotationVector())}function Wse(i){this.enabled!==!1&&i.preventDefault()}const Zse={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:` + + varying vec2 vUv; + + void main() { + + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + }`,fragmentShader:` + + uniform float opacity; + + uniform sampler2D tDiffuse; + + varying vec2 vUv; + + void main() { + + vec4 texel = texture2D( tDiffuse, vUv ); + gl_FragColor = opacity * texel; + + + }`};class IE{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const $se=new U0(-1,1,1,-1,0,1);class jse extends js{constructor(){super(),this.setAttribute("position",new Ds([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new Ds([0,2,0,0,2,0],2))}}const Kse=new jse;class Xse{constructor(e){this._mesh=new vl(Kse,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,$se)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class Yse extends IE{constructor(e,t="tDiffuse"){super(),this.textureID=t,this.uniforms=null,this.material=null,e instanceof _u?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=Zf.clone(e.uniforms),this.material=new _u({name:e.name!==void 0?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this._fsQuad=new Xse(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this._fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this._fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this._fsQuad.render(e))}dispose(){this.material.dispose(),this._fsQuad.dispose()}}class K4 extends IE{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const r=e.getContext(),s=e.state;s.buffers.color.setMask(!1),s.buffers.depth.setMask(!1),s.buffers.color.setLocked(!0),s.buffers.depth.setLocked(!0);let a,o;this.inverse?(a=0,o=1):(a=1,o=0),s.buffers.stencil.setTest(!0),s.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),s.buffers.stencil.setFunc(r.ALWAYS,a,4294967295),s.buffers.stencil.setClear(o),s.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),s.buffers.color.setLocked(!1),s.buffers.depth.setLocked(!1),s.buffers.color.setMask(!0),s.buffers.depth.setMask(!0),s.buffers.stencil.setLocked(!1),s.buffers.stencil.setFunc(r.EQUAL,1,4294967295),s.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),s.buffers.stencil.setLocked(!0)}}class qse extends IE{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class Jse{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),t===void 0){const n=e.getSize(new Qe);this._width=n.width,this._height=n.height,t=new Js(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:Dt}),t.texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new Yse(Zse),this.copyPass.material.blending=fe,this.clock=new LM}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);t!==-1&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t0)break}while(e5(r,s));o=A.notation==="postfix",A.symbol!==")"&&(r.push(A),o&&e5(r,s))}else if(h){if(r.push(h.prefix||h.func),h.func&&(n=a.exec(i),!n||n[0]!=="("))throw new Qa(38,n?n.index:i.length,i)}else s.push(+c),o=!0}while(n&&r.length);if(r.length)throw new Qa(39,n?n.index:i.length,i);if(n)throw new Qa(40,n?n.index:i.length,i);return s.pop()}function vR(i){return i.split("").reverse().join("")}function g1e(i,e){var t=vR(i),n=t.match(J4);if(n&&!n.every(function(s){return s===n[0]}))throw new Qa(41);var r=vR(t.replace(J4,""));return""+gae(r,e)+(n?vR(n[0]):"")}var mae=/--[\S]*/g;function m1e(i,e){if(!i||!i.match(mae))throw new Qa(73);var t;if(typeof document!="undefined"&&document.documentElement!==null&&(t=getComputedStyle(document.documentElement).getPropertyValue(i)),t)return t.trim();if(e)return e;throw new Qa(74)}function p_(i){return i.charAt(0).toUpperCase()+i.slice(1)}var vae=null;function yae(i,e){if(!i)return e.toLowerCase();var t=i.split("-");if(t.length>1)return t.splice(1,0,e),t.reduce(function(r,s){return""+r+p_(s)});var n=i.replace(/([a-z])([A-Z])/g,"$1"+e+"$2");return i===n?""+i+e:n}function xae(i,e){for(var t={},n=0;n1?e-1:0),n=1;n=0)?t[n]=i[n]+" !important":t[n]=i[n]}),t}var i5={minorSecond:1.067,majorSecond:1.125,minorThird:1.2,majorThird:1.25,perfectFourth:1.333,augFourth:1.414,perfectFifth:1.5,minorSixth:1.6,goldenSection:1.618,majorSixth:1.667,minorSeventh:1.778,majorSeventh:1.875,octave:2,majorTenth:2.5,majorEleventh:2.667,majorTwelfth:3,doubleOctave:4};function Sae(i){return i5[i]}function x1e(i,e,t){if(e===void 0&&(e="1em"),t===void 0&&(t=1.333),typeof i!="number")throw new Qa(42);if(typeof t=="string"&&!i5[t])throw new Qa(43);var n=typeof e=="string"?Fg(e):[e,""],r=n[0],s=n[1],a=typeof t=="string"?Sae(t):t;if(typeof r=="string")throw new Qa(44,e);return""+r*Math.pow(a,i)+(s||"")}var b1e=r5("rem"),_1e=null,yR=16;function s5(i){var e=Fg(i);if(e[1]==="px")return parseFloat(i);if(e[1]==="%")return parseFloat(i)/100*yR;throw new Qa(78,e[1])}function Cae(){if(typeof document!="undefined"&&document.documentElement!==null){var i=getComputedStyle(document.documentElement).fontSize;return i?s5(i):yR}return yR}function w1e(i,e){var t=Fg(i);if(t[1]!=="rem"&&t[1]!=="")throw new Qa(77,t[1]);var n=e?s5(e):Cae();return t[0]*n+"px"}var Mae={back:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",circ:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",cubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",expo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",quad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",quart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",quint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",sine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)"};function E1e(i){return Mae[i.toLowerCase().trim()]}var Tae={back:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",circ:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",cubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",expo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",quad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",quart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",quint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",sine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function S1e(i){return Tae[i.toLowerCase().trim()]}var Bae={back:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",cubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",circ:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",expo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",quad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",quart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",quint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",sine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};function C1e(i){return Bae[i.toLowerCase().trim()]}function a5(i,e,t,n){t===void 0&&(t="320px"),n===void 0&&(n="1200px");var r=Fg(i),s=r[0],a=r[1],o=Fg(e),l=o[0],c=o[1],u=Fg(t),h=u[0],d=u[1],f=Fg(n),A=f[0],y=f[1];if(typeof h!="number"||typeof A!="number"||!d||!y||d!==y)throw new Qa(47);if(typeof s!="number"||typeof l!="number"||a!==c)throw new Qa(48);if(a!==d||c!==y)throw new Qa(76);var b=(s-l)/(h-A),x=l-b*A;return"calc("+x.toFixed(2)+(a||"")+" + "+(100*b).toFixed(2)+"vw)"}function M1e(i){var e;i===void 0&&(i="&");var t=i+"::after";return e={},e[t]={clear:"both",content:'""',display:"table"},e}function T1e(i){return i===void 0&&(i=0),{position:"absolute",top:i,right:i,bottom:i,left:i}}function B1e(i,e){e===void 0&&(e=1);var t={display:"inline-block",maxWidth:i||"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordWrap:"normal"};return e>1?_extends({},t,{WebkitBoxOrient:"vertical",WebkitLineClamp:e,display:"-webkit-box",whiteSpace:"normal"}):t}function Rae(i,e){var t=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t)return(t=t.call(i)).next.bind(t);if(Array.isArray(i)||(t=Iae(i))||e&&i&&typeof i.length=="number"){t&&(i=t);var n=0;return function(){return n>=i.length?{done:!0}:{done:!1,value:i[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Iae(i,e){if(i){if(typeof i=="string")return o5(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(i);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return o5(i,e)}}function o5(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=new Array(e);t1?t-1:0),r=1;r1?(e=e.slice(0,-1),e+=", "+n[s]):a.length===1&&(e+=""+n[s])}else n[s]&&(e+=n[s]+" ");return e.trim()}var u5;function F1e(i){var e=i.colorStops,t=i.fallback,n=i.toDirection,r=n===void 0?"":n;if(!e||e.length<2)throw new Qa(56);return{backgroundColor:t||e[0].replace(/,\s+/g,",").split(" ")[0].replace(/,(?=\S)/g,", "),backgroundImage:c5(u5||(u5=_taggedTemplateLiteralLoose(["linear-gradient(","",")"])),r,e.join(", ").replace(/,(?=\S)/g,", "))}}function O1e(){var i;return[(i={html:{lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:"0"},main:{display:"block"},h1:{fontSize:"2em",margin:"0.67em 0"},hr:{boxSizing:"content-box",height:"0",overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{backgroundColor:"transparent"},"abbr[title]":{borderBottom:"none",textDecoration:"underline"}},i[`b, + strong`]={fontWeight:"bolder"},i[`code, + kbd, + samp`]={fontFamily:"monospace, monospace",fontSize:"1em"},i.small={fontSize:"80%"},i[`sub, + sup`]={fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},i.sub={bottom:"-0.25em"},i.sup={top:"-0.5em"},i.img={borderStyle:"none"},i[`button, + input, + optgroup, + select, + textarea`]={fontFamily:"inherit",fontSize:"100%",lineHeight:"1.15",margin:"0"},i[`button, + input`]={overflow:"visible"},i[`button, + select`]={textTransform:"none"},i[`button, + html [type="button"], + [type="reset"], + [type="submit"]`]={WebkitAppearance:"button"},i[`button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner`]={borderStyle:"none",padding:"0"},i[`button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring`]={outline:"1px dotted ButtonText"},i.fieldset={padding:"0.35em 0.625em 0.75em"},i.legend={boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:"0",whiteSpace:"normal"},i.progress={verticalAlign:"baseline"},i.textarea={overflow:"auto"},i[`[type="checkbox"], + [type="radio"]`]={boxSizing:"border-box",padding:"0"},i[`[type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button`]={height:"auto"},i['[type="search"]']={WebkitAppearance:"textfield",outlineOffset:"-2px"},i['[type="search"]::-webkit-search-decoration']={WebkitAppearance:"none"},i["::-webkit-file-upload-button"]={WebkitAppearance:"button",font:"inherit"},i.details={display:"block"},i.summary={display:"list-item"},i.template={display:"none"},i["[hidden]"]={display:"none"},i),{"abbr[title]":{textDecoration:"underline dotted"}}]}var h5;function L1e(i){var e=i.colorStops,t=i.extent,n=t===void 0?"":t,r=i.fallback,s=i.position,a=s===void 0?"":s,o=i.shape,l=o===void 0?"":o;if(!e||e.length<2)throw new Qa(57);return{backgroundColor:r||e[0].split(" ")[0],backgroundImage:c5(h5||(h5=_taggedTemplateLiteralLoose(["radial-gradient(","","","",")"])),a,l,n,e.join(", "))}}function D1e(i,e,t,n,r){var s;if(t===void 0&&(t="png"),r===void 0&&(r="_2x"),!i)throw new Qa(58);var a=t.replace(/^\./,""),o=n?n+"."+a:""+i+r+"."+a;return s={backgroundImage:"url("+i+"."+a+")"},s[Uae()]=_extends({backgroundImage:"url("+o+")"},e?{backgroundSize:e}:{}),s}var kae={easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeInCirc:"cubic-bezier(0.600, 0.040, 0.980, 0.335)",easeInCubic:"cubic-bezier(0.550, 0.055, 0.675, 0.190)",easeInExpo:"cubic-bezier(0.950, 0.050, 0.795, 0.035)",easeInQuad:"cubic-bezier(0.550, 0.085, 0.680, 0.530)",easeInQuart:"cubic-bezier(0.895, 0.030, 0.685, 0.220)",easeInQuint:"cubic-bezier(0.755, 0.050, 0.855, 0.060)",easeInSine:"cubic-bezier(0.470, 0.000, 0.745, 0.715)",easeOutBack:"cubic-bezier(0.175, 0.885, 0.320, 1.275)",easeOutCubic:"cubic-bezier(0.215, 0.610, 0.355, 1.000)",easeOutCirc:"cubic-bezier(0.075, 0.820, 0.165, 1.000)",easeOutExpo:"cubic-bezier(0.190, 1.000, 0.220, 1.000)",easeOutQuad:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",easeOutQuart:"cubic-bezier(0.165, 0.840, 0.440, 1.000)",easeOutQuint:"cubic-bezier(0.230, 1.000, 0.320, 1.000)",easeOutSine:"cubic-bezier(0.390, 0.575, 0.565, 1.000)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",easeInOutCirc:"cubic-bezier(0.785, 0.135, 0.150, 0.860)",easeInOutCubic:"cubic-bezier(0.645, 0.045, 0.355, 1.000)",easeInOutExpo:"cubic-bezier(1.000, 0.000, 0.000, 1.000)",easeInOutQuad:"cubic-bezier(0.455, 0.030, 0.515, 0.955)",easeInOutQuart:"cubic-bezier(0.770, 0.000, 0.175, 1.000)",easeInOutQuint:"cubic-bezier(0.860, 0.000, 0.070, 1.000)",easeInOutSine:"cubic-bezier(0.445, 0.050, 0.550, 0.950)"};function zae(i){return kae[i]}function U1e(i){return zae(i)}var Vae=function(e,t,n){var r=""+n[0]+(n[1]||""),s=""+n[0]/2+(n[1]||""),a=""+t[0]+(t[1]||""),o=""+t[0]/2+(t[1]||"");switch(e){case"top":return"0 "+s+" "+a+" "+s;case"topLeft":return r+" "+a+" 0 0";case"left":return o+" "+r+" "+o+" 0";case"bottomLeft":return r+" 0 0 "+a;case"bottom":return a+" "+s+" 0 "+s;case"bottomRight":return"0 0 "+r+" "+a;case"right":return o+" 0 "+o+" "+r;case"topRight":default:return"0 "+r+" "+a+" 0"}},Hae=function(e,t){switch(e){case"top":case"bottomRight":return{borderBottomColor:t};case"right":case"bottomLeft":return{borderLeftColor:t};case"bottom":case"topLeft":return{borderTopColor:t};case"left":case"topRight":return{borderRightColor:t};default:throw new Qa(59)}};function k1e(i){var e=i.pointingDirection,t=i.height,n=i.width,r=i.foregroundColor,s=i.backgroundColor,a=s===void 0?"transparent":s,o=Fg(n),l=Fg(t);if(isNaN(l[0])||isNaN(o[0]))throw new Qa(60);return _extends({width:"0",height:"0",borderColor:a},Hae(e,r),{borderStyle:"solid",borderWidth:Vae(e,l,o)})}function z1e(i){i===void 0&&(i="break-word");var e=i==="break-word"?"break-all":i;return{overflowWrap:i,wordWrap:i,wordBreak:e}}function xR(i){return Math.round(i*255)}function Gae(i,e,t){return xR(i)+","+xR(e)+","+xR(t)}function g_(i,e,t,n){if(n===void 0&&(n=Gae),e===0)return n(t,t,t);var r=(i%360+360)%360/60,s=(1-Math.abs(2*t-1))*e,a=s*(1-Math.abs(r%2-1)),o=0,l=0,c=0;r>=0&&r<1?(o=s,l=a):r>=1&&r<2?(o=a,l=s):r>=2&&r<3?(l=s,c=a):r>=3&&r<4?(l=a,c=s):r>=4&&r<5?(o=a,c=s):r>=5&&r<6&&(o=s,c=a);var u=t-s/2,h=o+u,d=l+u,f=c+u;return n(h,d,f)}var d5={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function Qae(i){if(typeof i!="string")return i;var e=i.toLowerCase();return d5[e]?"#"+d5[e]:i}var Wae=/^#[a-fA-F0-9]{6}$/,Zae=/^#[a-fA-F0-9]{8}$/,$ae=/^#[a-fA-F0-9]{3}$/,jae=/^#[a-fA-F0-9]{4}$/,bR=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,Kae=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,Xae=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,Yae=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Og(i){if(typeof i!="string")throw new Qa(3);var e=Qae(i);if(e.match(Wae))return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16)};if(e.match(Zae)){var t=parseFloat((parseInt(""+e[7]+e[8],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[2],16),green:parseInt(""+e[3]+e[4],16),blue:parseInt(""+e[5]+e[6],16),alpha:t}}if(e.match($ae))return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16)};if(e.match(jae)){var n=parseFloat((parseInt(""+e[4]+e[4],16)/255).toFixed(2));return{red:parseInt(""+e[1]+e[1],16),green:parseInt(""+e[2]+e[2],16),blue:parseInt(""+e[3]+e[3],16),alpha:n}}var r=bR.exec(e);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10)};var s=Kae.exec(e.substring(0,50));if(s)return{red:parseInt(""+s[1],10),green:parseInt(""+s[2],10),blue:parseInt(""+s[3],10),alpha:parseFloat(""+s[4])>1?parseFloat(""+s[4])/100:parseFloat(""+s[4])};var a=Xae.exec(e);if(a){var o=parseInt(""+a[1],10),l=parseInt(""+a[2],10)/100,c=parseInt(""+a[3],10)/100,u="rgb("+g_(o,l,c)+")",h=bR.exec(u);if(!h)throw new Qa(4,e,u);return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10)}}var d=Yae.exec(e.substring(0,50));if(d){var f=parseInt(""+d[1],10),A=parseInt(""+d[2],10)/100,y=parseInt(""+d[3],10)/100,b="rgb("+g_(f,A,y)+")",x=bR.exec(b);if(!x)throw new Qa(4,e,b);return{red:parseInt(""+x[1],10),green:parseInt(""+x[2],10),blue:parseInt(""+x[3],10),alpha:parseFloat(""+d[4])>1?parseFloat(""+d[4])/100:parseFloat(""+d[4])}}throw new Qa(5)}function qae(i){var e=i.red/255,t=i.green/255,n=i.blue/255,r=Math.max(e,t,n),s=Math.min(e,t,n),a=(r+s)/2;if(r===s)return i.alpha!==void 0?{hue:0,saturation:0,lightness:a,alpha:i.alpha}:{hue:0,saturation:0,lightness:a};var o,l=r-s,c=a>.5?l/(2-r-s):l/(r+s);switch(r){case e:o=(t-n)/l+(t=1?NE(i,e,t):"rgba("+g_(i,e,t)+","+n+")";if(typeof i=="object"&&e===void 0&&t===void 0&&n===void 0)return i.alpha>=1?NE(i.hue,i.saturation,i.lightness):"rgba("+g_(i.hue,i.saturation,i.lightness)+","+i.alpha+")";throw new Qa(2)}function PE(i,e,t){if(typeof i=="number"&&typeof e=="number"&&typeof t=="number")return _R("#"+yv(i)+yv(e)+yv(t));if(typeof i=="object"&&e===void 0&&t===void 0)return _R("#"+yv(i.red)+yv(i.green)+yv(i.blue));throw new Qa(6)}function m_(i,e,t,n){if(typeof i=="string"&&typeof e=="number"){var r=Og(i);return"rgba("+r.red+","+r.green+","+r.blue+","+e+")"}else{if(typeof i=="number"&&typeof e=="number"&&typeof t=="number"&&typeof n=="number")return n>=1?PE(i,e,t):"rgba("+i+","+e+","+t+","+n+")";if(typeof i=="object"&&e===void 0&&t===void 0&&n===void 0)return i.alpha>=1?PE(i.red,i.green,i.blue):"rgba("+i.red+","+i.green+","+i.blue+","+i.alpha+")"}throw new Qa(7)}var toe=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&(typeof e.alpha!="number"||typeof e.alpha=="undefined")},noe=function(e){return typeof e.red=="number"&&typeof e.green=="number"&&typeof e.blue=="number"&&typeof e.alpha=="number"},roe=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&(typeof e.alpha!="number"||typeof e.alpha=="undefined")},ioe=function(e){return typeof e.hue=="number"&&typeof e.saturation=="number"&&typeof e.lightness=="number"&&typeof e.alpha=="number"};function gA(i){if(typeof i!="object")throw new Qa(8);if(noe(i))return m_(i);if(toe(i))return PE(i);if(ioe(i))return A5(i);if(roe(i))return f5(i);throw new Qa(8)}function p5(i,e,t){return function(){var r=t.concat(Array.prototype.slice.call(arguments));return r.length>=e?i.apply(this,r):p5(i,e,r)}}function Yd(i){return p5(i,i.length,[])}function soe(i,e){if(e==="transparent")return e;var t=Mp(e);return gA((0,Pf.Z)({},t,{hue:t.hue+parseFloat(i)}))}var V1e=Yd(soe),H1e=null;function G1e(i){if(i==="transparent")return i;var e=Mp(i);return gA(_extends({},e,{hue:(e.hue+180)%360}))}function ox(i,e,t){return Math.max(i,Math.min(e,t))}function aoe(i,e){if(e==="transparent")return e;var t=Mp(e);return gA((0,Pf.Z)({},t,{lightness:ox(0,1,t.lightness-parseFloat(i))}))}var Q1e=Yd(aoe),W1e=null;function ooe(i,e){if(e==="transparent")return e;var t=Mp(e);return gA((0,Pf.Z)({},t,{saturation:ox(0,1,t.saturation-parseFloat(i))}))}var Z1e=Yd(ooe),$1e=null;function ER(i){if(i==="transparent")return 0;var e=Og(i),t=Object.keys(e).map(function(a){var o=e[a]/255;return o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4)}),n=t[0],r=t[1],s=t[2];return parseFloat((.2126*n+.7152*r+.0722*s).toFixed(3))}function g5(i,e){var t=ER(i),n=ER(e);return parseFloat((t>n?(t+.05)/(n+.05):(n+.05)/(t+.05)).toFixed(2))}function j1e(i){return i==="transparent"?i:gA(_extends({},Mp(i),{saturation:0}))}function K1e(i){if(typeof i=="object"&&typeof i.hue=="number"&&typeof i.saturation=="number"&&typeof i.lightness=="number")return i.alpha&&typeof i.alpha=="number"?A5({hue:i.hue,saturation:i.saturation,lightness:i.lightness,alpha:i.alpha}):f5({hue:i.hue,saturation:i.saturation,lightness:i.lightness});throw new Qa(45)}function X1e(i){if(i==="transparent")return i;var e=Og(i);return gA(_extends({},e,{red:255-e.red,green:255-e.green,blue:255-e.blue}))}function loe(i,e){if(e==="transparent")return e;var t=Mp(e);return gA((0,Pf.Z)({},t,{lightness:ox(0,1,t.lightness+parseFloat(i))}))}var Y1e=Yd(loe),q1e=null;function J1e(i,e){var t=g5(i,e);return{AA:t>=4.5,AALarge:t>=3,AAA:t>=7,AAALarge:t>=4.5}}function coe(i,e,t){if(e==="transparent")return t;if(t==="transparent")return e;if(i===0)return t;var n=Og(e),r=(0,Pf.Z)({},n,{alpha:typeof n.alpha=="number"?n.alpha:1}),s=Og(t),a=(0,Pf.Z)({},s,{alpha:typeof s.alpha=="number"?s.alpha:1}),o=r.alpha-a.alpha,l=parseFloat(i)*2-1,c=l*o===-1?l:l+o,u=1+l*o,h=(c/u+1)/2,d=1-h,f={red:Math.floor(r.red*h+a.red*d),green:Math.floor(r.green*h+a.green*d),blue:Math.floor(r.blue*h+a.blue*d),alpha:r.alpha*parseFloat(i)+a.alpha*(1-parseFloat(i))};return m_(f)}var uoe=Yd(coe),m5=uoe;function hoe(i,e){if(e==="transparent")return e;var t=Og(e),n=typeof t.alpha=="number"?t.alpha:1,r=(0,Pf.Z)({},t,{alpha:ox(0,1,(n*100+parseFloat(i)*100)/100)});return m_(r)}var doe=Yd(hoe),foe=doe,v5="#000",y5="#fff";function ewe(i,e,t,n){e===void 0&&(e=v5),t===void 0&&(t=y5),n===void 0&&(n=!0);var r=ER(i)>.179,s=r?e:t;return!n||g5(i,s)>=4.5?s:r?v5:y5}function twe(i){if(typeof i=="object"&&typeof i.red=="number"&&typeof i.green=="number"&&typeof i.blue=="number")return typeof i.alpha=="number"?m_({red:i.red,green:i.green,blue:i.blue,alpha:i.alpha}):PE({red:i.red,green:i.green,blue:i.blue});throw new Qa(46)}function Aoe(i,e){if(e==="transparent")return e;var t=Mp(e);return gA((0,Pf.Z)({},t,{saturation:ox(0,1,t.saturation+parseFloat(i))}))}var nwe=Yd(Aoe),rwe=null;function poe(i,e){return e==="transparent"?e:gA((0,Pf.Z)({},Mp(e),{hue:parseFloat(i)}))}var iwe=Yd(poe),swe=null;function goe(i,e){return e==="transparent"?e:gA((0,Pf.Z)({},Mp(e),{lightness:parseFloat(i)}))}var awe=Yd(goe),owe=null;function moe(i,e){return e==="transparent"?e:gA((0,Pf.Z)({},Mp(e),{saturation:parseFloat(i)}))}var lwe=Yd(moe),cwe=null;function voe(i,e){return e==="transparent"?e:m5(parseFloat(i),"rgb(0, 0, 0)",e)}var uwe=Yd(voe),hwe=null;function yoe(i,e){return e==="transparent"?e:m5(parseFloat(i),"rgb(255, 255, 255)",e)}var dwe=Yd(yoe),fwe=null;function xoe(i,e){if(e==="transparent")return e;var t=Og(e),n=typeof t.alpha=="number"?t.alpha:1,r=(0,Pf.Z)({},t,{alpha:ox(0,1,+(n*100-parseFloat(i)*100).toFixed(2)/100)});return m_(r)}var Awe=Yd(xoe),pwe=null;function gwe(){for(var i=arguments.length,e=new Array(i),t=0;t8)throw new Qa(64);var r=e.map(function(s){if(n&&!Array.isArray(s)||!n&&Array.isArray(s))throw new Qa(65);if(Array.isArray(s)&&s.length>8)throw new Qa(66);return Array.isArray(s)?s.join(" "):s}).join(", ");return{animation:r}}function mwe(){for(var i=arguments.length,e=new Array(i),t=0;t1?e-1:0),n=1;n=0){var r;return r={},r["border"+p_(i)+"Width"]=t[0],r["border"+p_(i)+"Style"]=t[1],r["border"+p_(i)+"Color"]=t[2],r}else return t.unshift(i),{borderWidth:t[0],borderStyle:t[1],borderColor:t[2]}}function xwe(){for(var i=arguments.length,e=new Array(i),t=0;t1?e-1:0),n=1;n=0&&i?_extends({},vv.apply(void 0,[""].concat(t)),{position:i}):vv.apply(void 0,["",i].concat(t))}function Twe(i,e){return e===void 0&&(e=i),{height:i,width:e}}var Soe=null;function Coe(i){return'input[type="color"]'+i+`, + input[type="date"]`+i+`, + input[type="datetime"]`+i+`, + input[type="datetime-local"]`+i+`, + input[type="email"]`+i+`, + input[type="month"]`+i+`, + input[type="number"]`+i+`, + input[type="password"]`+i+`, + input[type="search"]`+i+`, + input[type="tel"]`+i+`, + input[type="text"]`+i+`, + input[type="time"]`+i+`, + input[type="url"]`+i+`, + input[type="week"]`+i+`, + input:not([type])`+i+`, + textarea`+i}function Bwe(){for(var i=arguments.length,e=new Array(i),t=0;t1e4?1e4:i,{In:function(e){return Math.pow(e,i)},Out:function(e){return 1-Math.pow(1-e,i)},InOut:function(e){return e<.5?Math.pow(e*2,i)/2:(1-Math.pow(2-e*2,i))/2+.5}}}}),lx=function(){return performance.now()},SR=function(){function i(){for(var e=[],t=0;t0;){this._tweensAddedDuringUpdate={};for(var r=0;r1?s(i[t],i[t-1],t-n):s(i[r],i[r+1>t?t:r+1],n-r)},Bezier:function(i,e){for(var t=0,n=i.length-1,r=Math.pow,s=xv.Utils.Bernstein,a=0;a<=n;a++)t+=r(1-e,n-a)*r(e,a)*i[a]*s(n,a);return t},CatmullRom:function(i,e){var t=i.length-1,n=t*e,r=Math.floor(n),s=xv.Utils.CatmullRom;return i[0]===i[t]?(e<0&&(r=Math.floor(n=t*(1+e))),s(i[(r-1+t)%t],i[r],i[(r+1)%t],i[(r+2)%t],n-r)):e<0?i[0]-(s(i[0],i[0],i[1],i[1],-n)-i[0]):e>1?i[t]-(s(i[t],i[t],i[t-1],i[t-1],n-t)-i[t]):s(i[r?r-1:0],i[r],i[t1;n--)t*=n;return i[e]=t,t}}(),CatmullRom:function(i,e,t,n,r){var s=(t-i)*.5,a=(n-e)*.5,o=r*r,l=r*o;return(2*e-2*t+s+a)*l+(-3*e+3*t-2*s-a)*o+s*r+e}}},CR=function(){function i(){}return i.nextId=function(){return i._nextId++},i._nextId=0,i}(),MR=new SR,TR=function(){function i(e,t){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Zm.Linear.None,this._interpolationFunction=xv.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=CR.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=e,typeof t=="object"?(this._group=t,t.add(this)):t===!0&&(this._group=MR,MR.add(this))}return i.prototype.getId=function(){return this._id},i.prototype.isPlaying=function(){return this._isPlaying},i.prototype.isPaused=function(){return this._isPaused},i.prototype.getDuration=function(){return this._duration},i.prototype.to=function(e,t){if(t===void 0&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=t<0?0:t,this},i.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e<0?0:e,this},i.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},i.prototype.start=function(e,t){if(e===void 0&&(e=lx()),t===void 0&&(t=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var r={};for(var s in this._valuesEnd)r[s]=this._valuesEnd[s];this._valuesEnd=r}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},i.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},i.prototype._setupProperties=function(e,t,n,r,s){for(var a in n){var o=e[a],l=Array.isArray(o),c=l?"array":typeof o,u=!l&&Array.isArray(n[a]);if(!(c==="undefined"||c==="function")){if(u){var h=n[a];if(h.length===0)continue;for(var d=[o],f=0,A=h.length;fl)return 1;var y=Math.trunc(a/o),b=a-y*o,x=Math.min(b/n._duration,1);return x===0&&a===n._duration?1:x},u=c(),h=this._easingFunction(u);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,h),this._onUpdateCallback&&this._onUpdateCallback(this._object,u),this._duration===0||a>=this._duration)if(this._repeat>0){var d=Math.min(Math.trunc((a-this._duration)/o)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=d);for(s in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[s]=="string"&&(this._valuesStartRepeat[s]=this._valuesStartRepeat[s]+parseFloat(this._valuesEnd[s])),this._yoyo&&this._swapEndStartRepeatValues(s),this._valuesStart[s]=this._valuesStartRepeat[s];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=o*d,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var f=0,A=this._chainedTweens.length;f=k&&(k=P+1);!(se=b[k])&&++k=0;)(a=n[r])&&(s&&a.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(a,s),s=a);return this}function lle(i){i||(i=cle);function e(h,d){return h&&d?i(h.__data__,d.__data__):!h-!d}for(var t=this._groups,n=t.length,r=new Array(n),s=0;se?1:i>=e?0:NaN}function ule(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function hle(){return Array.from(this)}function dle(){for(var i=this._groups,e=0,t=i.length;e=0&&(e=i.slice(0,t))!=="xmlns"&&(i=i.slice(t+1)),S5.hasOwnProperty(e)?{space:S5[e],local:i}:i}function gle(i){return function(){this.removeAttribute(i)}}function mle(i){return function(){this.removeAttributeNS(i.space,i.local)}}function vle(i,e){return function(){this.setAttribute(i,e)}}function yle(i,e){return function(){this.setAttributeNS(i.space,i.local,e)}}function xle(i,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttribute(i):this.setAttribute(i,t)}}function ble(i,e){return function(){var t=e.apply(this,arguments);t==null?this.removeAttributeNS(i.space,i.local):this.setAttributeNS(i.space,i.local,t)}}function _le(i,e){var t=C5(i);if(arguments.length<2){var n=this.node();return t.local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}return this.each((e==null?t.local?mle:gle:typeof e=="function"?t.local?ble:xle:t.local?yle:vle)(t,e))}function M5(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function wle(i){return function(){this.style.removeProperty(i)}}function Ele(i,e,t){return function(){this.style.setProperty(i,e,t)}}function Sle(i,e,t){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(i):this.style.setProperty(i,n,t)}}function Cle(i,e,t){return arguments.length>1?this.each((e==null?wle:typeof e=="function"?Sle:Ele)(i,e,t==null?"":t)):Mle(this.node(),i)}function Mle(i,e){return i.style.getPropertyValue(e)||M5(i).getComputedStyle(i,null).getPropertyValue(e)}function Tle(i){return function(){delete this[i]}}function Ble(i,e){return function(){this[i]=e}}function Rle(i,e){return function(){var t=e.apply(this,arguments);t==null?delete this[i]:this[i]=t}}function Ile(i,e){return arguments.length>1?this.each((e==null?Tle:typeof e=="function"?Rle:Ble)(i,e)):this.node()[i]}function T5(i){return i.trim().split(/^|\s+/)}function RR(i){return i.classList||new B5(i)}function B5(i){this._node=i,this._names=T5(i.getAttribute("class")||"")}B5.prototype={add:function(i){var e=this._names.indexOf(i);e<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var e=this._names.indexOf(i);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function R5(i,e){for(var t=RR(i),n=-1,r=e.length;++n=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function oce(i){return function(){var e=this.__on;if(e){for(var t=0,n=-1,r=e.length,s;t2&&(a.children=arguments.length>3?v_.call(arguments,2):t),typeof i=="function"&&i.defaultProps!=null)for(s in i.defaultProps)a[s]===void 0&&(a[s]=i.defaultProps[s]);return b_(i,a,n,r,null)}function b_(i,e,t,n,r){var s={type:i,props:e,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r==null?++O5:r,__i:-1,__u:0};return r==null&&Cc.vnode!=null&&Cc.vnode(s),s}function Pwe(){return{current:null}}function OE(i){return i.children}function LE(i,e){this.props=i,this.context=e}function cx(i,e){if(e==null)return i.__?cx(i.__,i.__i+1):null;for(var t;eo&&bv.sort(k5),i=bv.shift(),o=bv.length,i.__d&&(t=void 0,n=void 0,r=(n=(e=i).__v).__e,s=[],a=[],e.__P&&((t=Bp({},n)).__v=n.__v+1,Cc.vnode&&Cc.vnode(t),LR(e.__P,t,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,s,r==null?cx(n):r,!!(32&n.__u),a),t.__v=n.__v,t.__.__k[t.__i]=t,j5(s,t,a),n.__e=n.__=null,t.__e!=r&&G5(t)));DE.__r=0}function Q5(i,e,t,n,r,s,a,o,l,c,u){var h,d,f,A,y,b,x,P=n&&n.__k||H5,k=e.length;for(l=bce(t,e,P,l,k),h=0;h0?a=i.__k[s]=b_(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):i.__k[s]=a,l=s+d,a.__=i,a.__b=i.__b+1,o=null,(c=a.__i=wce(a,t,l,h))!=-1&&(h--,(o=t[c])&&(o.__u|=2)),o==null||o.__v==null?(c==-1&&(r>u?d--:rl?d--:d++,a.__u|=4))):i.__k[s]=null;if(h)for(s=0;s(u?1:0)){for(r=t-1,s=t+1;r>=0||s=0?r--:s++])!=null&&!(2&c.__u)&&o==c.key&&l==c.type)return a}return-1}function Z5(i,e,t){e[0]=="-"?i.setProperty(e,t==null?"":t):i[e]=t==null?"":typeof t!="number"||yce.test(e)?t:t+"px"}function UE(i,e,t,n,r){var s,a;e:if(e=="style")if(typeof t=="string")i.style.cssText=t;else{if(typeof n=="string"&&(i.style.cssText=n=""),n)for(e in n)t&&e in t||Z5(i.style,e,"");if(t)for(e in t)n&&t[e]==n[e]||Z5(i.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")s=e!=(e=e.replace(z5,"$1")),a=e.toLowerCase(),e=a in i||e=="onFocusOut"||e=="onFocusIn"?a.slice(2):e.slice(2),i.l||(i.l={}),i.l[e+s]=t,t?n?t.u=n.u:(t.u=IR,i.addEventListener(e,s?PR:NR,s)):i.removeEventListener(e,s?PR:NR,s);else{if(r=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in i)try{i[e]=t==null?"":t;break e}catch(o){}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?i.removeAttribute(e):i.setAttribute(e,e=="popover"&&t==1?"":t))}}function $5(i){return function(e){if(this.l){var t=this.l[e.type+i];if(e.t==null)e.t=IR++;else if(e.t0?i:x_(i)?i.map(K5):Bp({},i)}function Ece(i,e,t,n,r,s,a,o,l){var c,u,h,d,f,A,y,b=t.props||y_,x=e.props,P=e.type;if(P=="svg"?r="http://www.w3.org/2000/svg":P=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),s!=null){for(c=0;c2&&(o.children=arguments.length>3?v_.call(arguments,2):t),b_(i.type,o,n||i.key,r||i.ref,null)}function Fwe(i){function e(t){var n,r;return this.getChildContext||(n=new Set,(r={})[e.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(s){this.props.value!=s.value&&n.forEach(function(a){a.__e=!0,OR(a)})},this.sub=function(s){n.add(s);var a=s.componentWillUnmount;s.componentWillUnmount=function(){n&&n.delete(s),a&&a.call(s)}}),t.children}return e.__c="__cC"+V5++,e.__=i,e.Provider=e.__l=(e.Consumer=function(t,n){return t.children(n)}).contextType=e,e}v_=H5.slice,Cc={__e:function(i,e,t,n){for(var r,s,a;e=e.__;)if((r=e.__c)&&!r.__)try{if((s=r.constructor)&&s.getDerivedStateFromError!=null&&(r.setState(s.getDerivedStateFromError(i)),a=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(i,n||{}),a=r.__d),a)return r.__E=r}catch(o){i=o}throw i}},O5=0,L5=function(i){return i!=null&&i.constructor===void 0},LE.prototype.setState=function(i,e){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=Bp({},this.state),typeof i=="function"&&(i=i(Bp({},t),this.props)),i&&Bp(t,i),i!=null&&this.__v&&(e&&this._sb.push(e),OR(this))},LE.prototype.forceUpdate=function(i){this.__v&&(this.__e=!0,i&&this.__h.push(i),OR(this))},LE.prototype.render=OE,bv=[],U5=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,k5=function(i,e){return i.__v.__b-e.__v.__b},DE.__r=0,z5=/(PointerCapture)$|Capture$/i,IR=0,NR=$5(!1),PR=$5(!0),V5=0;function J5(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t2&&arguments[2]!==void 0?arguments[2]:{},r=n.style,s=r===void 0?{}:r,a=!!e&&kE(e)==="object"&&!!e.node&&typeof e.node=="function",o=gce(a?e.node():e);o.style("position")==="static"&&o.style("position","relative"),t.tooltipEl=o.append("div").attr("class","float-tooltip-kap"),Object.entries(s).forEach(function(c){var u=Nce(c,2),h=u[0],d=u[1];return t.tooltipEl.style(h,d)}),t.tooltipEl.style("left","-10000px").style("display","none");var l="tooltip-".concat(Math.round(Math.random()*1e12));t.mouseInside=!1,o.on("mousemove.".concat(l),function(c){t.mouseInside=!0;var u=vce(c),h=o.node(),d=h.offsetWidth,f=h.offsetHeight,A=[t.offsetX===null||t.offsetX===void 0?"-".concat(u[0]/d*100,"%"):typeof t.offsetX=="number"?"calc(-50% + ".concat(t.offsetX,"px)"):t.offsetX,t.offsetY===null||t.offsetY===void 0?f>130&&f-u[1]<100?"calc(-100% - 6px)":"21px":typeof t.offsetY=="number"?t.offsetY<0?"calc(-100% - ".concat(Math.abs(t.offsetY),"px)"):"".concat(t.offsetY,"px"):t.offsetY];t.tooltipEl.style("left",u[0]+"px").style("top",u[1]+"px").style("transform","translate(".concat(A.join(","),")")),t.content&&t.tooltipEl.style("display","inline")}),o.on("mouseover.".concat(l),function(){t.mouseInside=!0,t.content&&t.tooltipEl.style("display","inline")}),o.on("mouseout.".concat(l),function(){t.mouseInside=!1,t.tooltipEl.style("display","none")})},update:function(e){e.tooltipEl.style("display",e.content&&e.mouseInside?"inline":"none"),e.content?e.content instanceof HTMLElement?(e.tooltipEl.text(""),e.tooltipEl.append(function(){return e.content})):typeof e.content=="string"?e.tooltipEl.html(e.content):Lce(e.content)?(e.tooltipEl.text(""),Dce(e.content,e.tooltipEl.node())):(e.tooltipEl.style("display","none"),console.warn("Tooltip content is invalid, skipping.",e.content,e.content.toString())):e.tooltipEl.text("")}});function Vce(i,e){e===void 0&&(e={});var t=e.insertAt;if(typeof document!="undefined"){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=i:r.appendChild(document.createTextNode(i))}}var Hce=`.scene-nav-info { + position: absolute; + bottom: 5px; + width: 100%; + text-align: center; + color: slategrey; + opacity: 0.7; + font-size: 10px; + font-family: sans-serif; + pointer-events: none; + user-select: none; +} + +.scene-container canvas:focus { + outline: none; +}`;Vce(Hce);function zR(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t=e.pointerRaycasterThrottleMs){e.lastRaycasterCheck=t;var n=null;if(e.hoverDuringDrag||!e.isPointerDragging){var r=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y);e.hoverOrderComparator&&r.sort(function(a,o){return e.hoverOrderComparator(a.object,o.object)});var s=r.find(function(a){return e.hoverFilter(a.object)})||null;n=s?s.object:null,e.intersection=s||null}n!==e.hoverObj&&(e.onHover(n,e.hoverObj,e.intersection),e.tooltip.content(n&&Wo(e.tooltipContent)(n,e.intersection)||null),e.hoverObj=n)}e.tweenGroup.update()}return this},getPointerPos:function(e){var t=e.pointerPos,n=t.x,r=t.y;return{x:n,y:r}},cameraPosition:function(e,t,n,r){var s=e.camera;if(t&&e.initialised){var a=t,o=n||{x:0,y:0,z:0};if(!r)u(a),h(o);else{var l=Object.assign({},s.position),c=d();e.tweenGroup.add(new TR(l).to(a,r).easing(Zm.Quadratic.Out).onUpdate(u).start()),e.tweenGroup.add(new TR(c).to(o,r/3).easing(Zm.Quadratic.Out).onUpdate(h).start())}return this}return Object.assign({},s.position,{lookAt:d()});function u(f){var A=f.x,y=f.y,b=f.z;A!==void 0&&(s.position.x=A),y!==void 0&&(s.position.y=y),b!==void 0&&(s.position.z=b)}function h(f){var A=new Mc.Vector3(f.x,f.y,f.z);e.controls.enabled&&e.controls.target?e.controls.target=A:s.lookAt(A)}function d(){return Object.assign(new Mc.Vector3(0,0,-1e3).applyQuaternion(s.quaternion).add(s.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,r=arguments.length,s=new Array(r>3?r-3:0),a=3;a2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,s=e.camera;if(t){var a=new Mc.Vector3(0,0,0),o=Math.max.apply(Math,_v(Object.entries(t).map(function(f){var A=Xce(f,2),y=A[0],b=A[1];return Math.max.apply(Math,_v(b.map(function(x){return Math.abs(a[y]-x)})))})))*2,l=(1-r*2/e.height)*s.fov,c=o/Math.atan(l*Math.PI/180),u=c/s.aspect,h=Math.max(c,u);if(h>0){var d=a.clone().sub(s.position).normalize().multiplyScalar(-h);this.cameraPosition(d,a,n)}}return this},getBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},n=new Mc.Box3(new Mc.Vector3(0,0,0),new Mc.Vector3(0,0,0)),r=e.objects.filter(t);return r.length?(r.forEach(function(s){return n.expandByObject(s)}),Object.assign.apply(Object,_v(["x","y","z"].map(function(s){return Wce({},s,[n.min[s],n.max[s]])})))):null},getScreenCoords:function(e,t,n,r){var s=new Mc.Vector3(t,n,r);return s.project(this.camera()),{x:(s.x+1)*e.width/2,y:-(s.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=new Mc.Vector2(t/e.width*2-1,-(n/e.height)*2+1),a=new Mc.Raycaster;return a.setFromCamera(s,e.camera),Object.assign({},a.ray.at(r,new Mc.Vector3))},intersectingObjects:function(e,t,n){var r=new Mc.Vector2(t/e.width*2-1,-(n/e.height)*2+1),s=new Mc.Raycaster;return s.params.Line.threshold=e.lineHoverPrecision,s.params.Points.threshold=e.pointsHoverPrecision,s.setFromCamera(r,e.camera),s.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new Mc.Scene,camera:new Mc.PerspectiveCamera,clock:new Mc.Clock,tweenGroup:new SR,lastRaycasterCheck:0}},init:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.controlType,s=r===void 0?"trackball":r,a=n.useWebGPU,o=a===void 0?!1:a,l=n.rendererConfig,c=l===void 0?{}:l,u=n.extraRenderers,h=u===void 0?[]:u,d=n.waitForLoadComplete,f=d===void 0?!0:d;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[s]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.tooltip=new zce(t.container),t.pointerPos=new Mc.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(A){return t.container.addEventListener(A,function(y){if(A==="pointerdown"&&(t.isPointerPressed=!0),!t.isPointerDragging&&y.type==="pointermove"&&(y.pressure>0||t.isPointerPressed)&&(y.pointerType==="mouse"||y.movementX===void 0||[y.movementX,y.movementY].some(function(P){return Math.abs(P)>1}))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var b=x(t.container);t.pointerPos.x=y.pageX-b.left,t.pointerPos.y=y.pageY-b.top}function x(P){var k=P.getBoundingClientRect(),$=window.pageXOffset||document.documentElement.scrollLeft,se=window.pageYOffset||document.documentElement.scrollTop;return{top:k.top+se,left:k.left+$}}},{passive:!0})}),t.container.addEventListener("pointerup",function(A){t.isPointerPressed&&(t.isPointerPressed=!1,!(t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag))&&requestAnimationFrame(function(){A.button===0&&t.onClick(t.hoverObj||null,A,t.intersection),A.button===2&&t.onRightClick&&t.onRightClick(t.hoverObj||null,A,t.intersection)}))},{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",function(A){t.onRightClick&&A.preventDefault()}),t.renderer=new(o?ise:Mc.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},c)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=h,t.extraRenderers.forEach(function(A){A.domElement.style.position="absolute",A.domElement.style.top="0px",A.domElement.style.pointerEvents="none",t.container.appendChild(A.domElement)}),t.postProcessingComposer=new Jse(t.renderer),t.postProcessingComposer.addPass(new eae(t.scene,t.camera)),t.controls=new{trackball:lse,orbit:Ese,fly:Use}[s](t.camera,t.renderer.domElement),s==="fly"&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),(s==="trackball"||s==="orbit")&&(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",function(){t.controlsEngaged=!0}),t.controls.addEventListener("change",function(){t.controlsEngaged&&(t.controlsDragging=!0)}),t.controls.addEventListener("end",function(){t.controlsEngaged=!1,t.controlsDragging=!1})),[t.renderer,t.postProcessingComposer].concat(_v(t.extraRenderers)).forEach(function(A){return A.setSize(t.width,t.height)}),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new Mc.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!f,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))){var n,r=e.width,s=e.height;e.container.style.width="".concat(r,"px"),e.container.style.height="".concat(s,"px"),[e.renderer,e.postProcessingComposer].concat(_v(e.extraRenderers)).forEach(function(f){return f.setSize(r,s)}),e.camera.aspect=r/s;var a=e.viewOffset.slice(0,2);a.some(function(f){return f})&&(n=e.camera).setViewOffset.apply(n,[r,s].concat(_v(a),[r,s])),e.camera.updateProjectionMatrix()}if(t.hasOwnProperty("viewOffset")){var o,l=e.width,c=e.height,u=e.viewOffset.slice(0,2);u.some(function(f){return f})?(o=e.camera).setViewOffset.apply(o,[l,c].concat(_v(u),[l,c])):e.camera.clearViewOffset()}if(t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=e.skyRadius*2.5,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new Mc.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var h=Og(e.backgroundColor).alpha;h===void 0&&(h=1),e.renderer.setClearColor(new Mc.Color(foe(1,e.backgroundColor)),h)}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?new Mc.TextureLoader().load(e.backgroundImageUrl,function(f){f.colorSpace=Mc.SRGBColorSpace,e.skysphere.material=new Mc.MeshBasicMaterial({map:f,side:Mc.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&d()}):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&d())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("lights")&&((t.lights||[]).forEach(function(f){return e.scene.remove(f)}),e.lights.forEach(function(f){return e.scene.add(f)})),t.hasOwnProperty("objects")&&((t.objects||[]).forEach(function(f){return e.scene.remove(f)}),e.objects.forEach(function(f){return e.scene.add(f)}));function d(){e.loadComplete=e.scene.visible=!0}}});function Jce(i,e){e===void 0&&(e={});var t=e.insertAt;if(typeof document!="undefined"){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=i:r.appendChild(document.createTextNode(i))}}var eue=`.graph-info-msg { + top: 50%; + width: 100%; + text-align: center; + color: lavender; + opacity: 0.7; + font-size: 22px; + position: absolute; + font-family: Sans-serif; +} + +.scene-container .clickable { + cursor: pointer; +} + +.scene-container .grabbable { + cursor: move; + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; +} + +.scene-container .grabbable:active { + cursor: grabbing; + cursor: -moz-grabbing; + cursor: -webkit-grabbing; +}`;Jce(eue);function VR(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t1?o-1:0),c=1;c3?s-3:0),o=3;o=0;--e)if(i[e]>=65535)return!0;return!1}const xhe={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function px(i,e){return new xhe[i](e)}function $E(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}function ESe(){const i=$E("canvas");return i.style.display="block",i}const _z={};let $m=null;function SSe(i){$m=i}function CSe(){return $m}function wz(...i){const e="THREE."+i.shift();$m?$m("log",e,...i):console.log(e,...i)}function Ya(...i){const e="THREE."+i.shift();$m?$m("warn",e,...i):console.warn(e,...i)}function Al(...i){const e="THREE."+i.shift();$m?$m("error",e,...i):console.error(e,...i)}function Ez(...i){const e=i.join(" ");e in _z||(_z[e]=!0,Ya(...i))}function MSe(i,e,t){return new Promise(function(n,r){function s(){switch(i.clientWaitSync(e,i.SYNC_FLUSH_COMMANDS_BIT,0)){case i.WAIT_FAILED:r();break;case i.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:n()}}setTimeout(s,t)})}class jE{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){const n=this._listeners;if(n===void 0)return;const r=n[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const n=t[e.type];if(n!==void 0){e.target=this;const r=n.slice(0);for(let s=0,a=r.length;s>8&255]+Ph[i>>16&255]+Ph[i>>24&255]+"-"+Ph[e&255]+Ph[e>>8&255]+"-"+Ph[e>>16&15|64]+Ph[e>>24&255]+"-"+Ph[t&63|128]+Ph[t>>8&255]+"-"+Ph[t>>16&255]+Ph[t>>24&255]+Ph[n&255]+Ph[n>>8&255]+Ph[n>>16&255]+Ph[n>>24&255]).toLowerCase()}function Ja(i,e,t){return Math.max(e,Math.min(t,i))}function tI(i,e){return(i%e+e)%e}function bhe(i,e,t,n,r){return n+(i-e)*(r-n)/(t-e)}function _he(i,e,t){return i!==e?(t-i)/(e-i):0}function C_(i,e,t){return(1-t)*i+t*e}function whe(i,e,t,n){return C_(i,e,1-Math.exp(-t*n))}function Ehe(i,e=1){return e-Math.abs(tI(i,e*2)-e)}function She(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*(3-2*i))}function Che(i,e,t){return i<=e?0:i>=t?1:(i=(i-e)/(t-e),i*i*i*(i*(i*6-15)+10))}function Mhe(i,e){return i+Math.floor(Math.random()*(e-i+1))}function The(i,e){return i+Math.random()*(e-i)}function Bhe(i){return i*(.5-Math.random())}function Rhe(i){i!==void 0&&(Sz=i);let e=Sz+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Ihe(i){return i*wv}function Nhe(i){return i*S_}function Phe(i){return(i&i-1)===0&&i!==0}function Fhe(i){return Math.pow(2,Math.ceil(Math.log(i)/Math.LN2))}function Ohe(i){return Math.pow(2,Math.floor(Math.log(i)/Math.LN2))}function Lhe(i,e,t,n,r){const s=Math.cos,a=Math.sin,o=s(t/2),l=a(t/2),c=s((e+n)/2),u=a((e+n)/2),h=s((e-n)/2),d=a((e-n)/2),f=s((n-e)/2),A=a((n-e)/2);switch(r){case"XYX":i.set(o*u,l*h,l*d,o*c);break;case"YZY":i.set(l*d,o*u,l*h,o*c);break;case"ZXZ":i.set(l*h,l*d,o*u,o*c);break;case"XZX":i.set(o*u,l*A,l*f,o*c);break;case"YXY":i.set(l*f,o*u,l*A,o*c);break;case"ZYZ":i.set(l*A,l*f,o*u,o*c);break;default:Ya("MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Jh(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return i/4294967295;case Uint16Array:return i/65535;case Uint8Array:return i/255;case Int32Array:return Math.max(i/2147483647,-1);case Int16Array:return Math.max(i/32767,-1);case Int8Array:return Math.max(i/127,-1);default:throw new Error("Invalid component type.")}}function yo(i,e){switch(e.constructor){case Float32Array:return i;case Uint32Array:return Math.round(i*4294967295);case Uint16Array:return Math.round(i*65535);case Uint8Array:return Math.round(i*255);case Int32Array:return Math.round(i*2147483647);case Int16Array:return Math.round(i*32767);case Int8Array:return Math.round(i*127);default:throw new Error("Invalid component type.")}}const TSe={DEG2RAD:wv,RAD2DEG:S_,generateUUID:ef,clamp:Ja,euclideanModulo:tI,mapLinear:bhe,inverseLerp:_he,lerp:C_,damp:whe,pingpong:Ehe,smoothstep:She,smootherstep:Che,randInt:Mhe,randFloat:The,randFloatSpread:Bhe,seededRandom:Rhe,degToRad:Ihe,radToDeg:Nhe,isPowerOfTwo:Phe,ceilPowerOfTwo:Fhe,floorPowerOfTwo:Ohe,setQuaternionFromProperEuler:Lhe,normalize:yo,denormalize:Jh};class ss{constructor(e=0,t=0){ss.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Ja(this.x,e.x,t.x),this.y=Ja(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Ja(this.x,e,t),this.y=Ja(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ja(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ja(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),r=Math.sin(t),s=this.x-e.x,a=this.y-e.y;return this.x=s*n-a*r+e.x,this.y=s*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class tf{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,s,a,o){let l=n[r+0],c=n[r+1],u=n[r+2],h=n[r+3],d=s[a+0],f=s[a+1],A=s[a+2],y=s[a+3];if(o<=0){e[t+0]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h;return}if(o>=1){e[t+0]=d,e[t+1]=f,e[t+2]=A,e[t+3]=y;return}if(h!==y||l!==d||c!==f||u!==A){let b=l*d+c*f+u*A+h*y;b<0&&(d=-d,f=-f,A=-A,y=-y,b=-b);let x=1-o;if(b<.9995){const P=Math.acos(b),k=Math.sin(P);x=Math.sin(x*P)/k,o=Math.sin(o*P)/k,l=l*x+d*o,c=c*x+f*o,u=u*x+A*o,h=h*x+y*o}else{l=l*x+d*o,c=c*x+f*o,u=u*x+A*o,h=h*x+y*o;const P=1/Math.sqrt(l*l+c*c+u*u+h*h);l*=P,c*=P,u*=P,h*=P}}e[t]=l,e[t+1]=c,e[t+2]=u,e[t+3]=h}static multiplyQuaternionsFlat(e,t,n,r,s,a){const o=n[r],l=n[r+1],c=n[r+2],u=n[r+3],h=s[a],d=s[a+1],f=s[a+2],A=s[a+3];return e[t]=o*A+u*h+l*f-c*d,e[t+1]=l*A+u*d+c*h-o*f,e[t+2]=c*A+u*f+o*d-l*h,e[t+3]=u*A-o*h-l*d-c*f,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,r=e._y,s=e._z,a=e._order,o=Math.cos,l=Math.sin,c=o(n/2),u=o(r/2),h=o(s/2),d=l(n/2),f=l(r/2),A=l(s/2);switch(a){case"XYZ":this._x=d*u*h+c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h-d*f*A;break;case"YXZ":this._x=d*u*h+c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h+d*f*A;break;case"ZXY":this._x=d*u*h-c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h-d*f*A;break;case"ZYX":this._x=d*u*h-c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h+d*f*A;break;case"YZX":this._x=d*u*h+c*f*A,this._y=c*f*h+d*u*A,this._z=c*u*A-d*f*h,this._w=c*u*h-d*f*A;break;case"XZY":this._x=d*u*h-c*f*A,this._y=c*f*h-d*u*A,this._z=c*u*A+d*f*h,this._w=c*u*h+d*f*A;break;default:Ya("Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],s=t[8],a=t[1],o=t[5],l=t[9],c=t[2],u=t[6],h=t[10],d=n+o+h;if(d>0){const f=.5/Math.sqrt(d+1);this._w=.25/f,this._x=(u-l)*f,this._y=(s-c)*f,this._z=(a-r)*f}else if(n>o&&n>h){const f=2*Math.sqrt(1+n-o-h);this._w=(u-l)/f,this._x=.25*f,this._y=(r+a)/f,this._z=(s+c)/f}else if(o>h){const f=2*Math.sqrt(1+o-n-h);this._w=(s-c)/f,this._x=(r+a)/f,this._y=.25*f,this._z=(l+u)/f}else{const f=2*Math.sqrt(1+h-n-o);this._w=(a-r)/f,this._x=(s+c)/f,this._y=(l+u)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ja(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,r=e._y,s=e._z,a=e._w,o=t._x,l=t._y,c=t._z,u=t._w;return this._x=n*u+a*o+r*c-s*l,this._y=r*u+a*l+s*o-n*c,this._z=s*u+a*c+n*l-r*o,this._w=a*u-n*o-r*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t<=0)return this;if(t>=1)return this.copy(e);let n=e._x,r=e._y,s=e._z,a=e._w,o=this.dot(e);o<0&&(n=-n,r=-r,s=-s,a=-a,o=-o);let l=1-t;if(o<.9995){const c=Math.acos(o),u=Math.sin(c);l=Math.sin(l*c)/u,t=Math.sin(t*c)/u,this._x=this._x*l+n*t,this._y=this._y*l+r*t,this._z=this._z*l+s*t,this._w=this._w*l+a*t,this._onChangeCallback()}else this._x=this._x*l+n*t,this._y=this._y*l+r*t,this._z=this._z*l+s*t,this._w=this._w*l+a*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),s=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Vn{constructor(e=0,t=0,n=0){Vn.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Cz.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Cz.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*r,this.y=s[1]*t+s[4]*n+s[7]*r,this.z=s[2]*t+s[5]*n+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,s=e.elements,a=1/(s[3]*t+s[7]*n+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*r+s[12])*a,this.y=(s[1]*t+s[5]*n+s[9]*r+s[13])*a,this.z=(s[2]*t+s[6]*n+s[10]*r+s[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z,s=e.x,a=e.y,o=e.z,l=e.w,c=2*(a*r-o*n),u=2*(o*t-s*r),h=2*(s*n-a*t);return this.x=t+l*c+a*h-o*u,this.y=n+l*u+o*c-s*h,this.z=r+l*h+s*u-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*r,this.y=s[1]*t+s[5]*n+s[9]*r,this.z=s[2]*t+s[6]*n+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Ja(this.x,e.x,t.x),this.y=Ja(this.y,e.y,t.y),this.z=Ja(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Ja(this.x,e,t),this.y=Ja(this.y,e,t),this.z=Ja(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ja(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,r=e.y,s=e.z,a=t.x,o=t.y,l=t.z;return this.x=r*l-s*o,this.y=s*a-n*l,this.z=n*o-r*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return nI.copy(this).projectOnVector(e),this.sub(nI)}reflect(e){return this.sub(nI.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Ja(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const nI=new Vn,Cz=new tf;class Np{constructor(e,t,n,r,s,a,o,l,c){Np.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,r,s,a,o,l,c)}set(e,t,n,r,s,a,o,l,c){const u=this.elements;return u[0]=e,u[1]=r,u[2]=o,u[3]=t,u[4]=s,u[5]=l,u[6]=n,u[7]=a,u[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,r=t.elements,s=this.elements,a=n[0],o=n[3],l=n[6],c=n[1],u=n[4],h=n[7],d=n[2],f=n[5],A=n[8],y=r[0],b=r[3],x=r[6],P=r[1],k=r[4],$=r[7],se=r[2],ie=r[5],ce=r[8];return s[0]=a*y+o*P+l*se,s[3]=a*b+o*k+l*ie,s[6]=a*x+o*$+l*ce,s[1]=c*y+u*P+h*se,s[4]=c*b+u*k+h*ie,s[7]=c*x+u*$+h*ce,s[2]=d*y+f*P+A*se,s[5]=d*b+f*k+A*ie,s[8]=d*x+f*$+A*ce,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8];return t*a*u-t*o*c-n*s*u+n*o*l+r*s*c-r*a*l}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8],h=u*a-o*c,d=o*l-u*s,f=c*s-a*l,A=t*h+n*d+r*f;if(A===0)return this.set(0,0,0,0,0,0,0,0,0);const y=1/A;return e[0]=h*y,e[1]=(r*c-u*n)*y,e[2]=(o*n-r*a)*y,e[3]=d*y,e[4]=(u*t-r*l)*y,e[5]=(r*s-o*t)*y,e[6]=f*y,e[7]=(n*l-c*t)*y,e[8]=(a*t-n*s)*y,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,s,a,o){const l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*a+c*o)+a+e,-r*c,r*l,-r*(-c*a+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(rI.makeScale(e,t)),this}rotate(e){return this.premultiply(rI.makeRotation(-e)),this}translate(e,t){return this.premultiply(rI.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const rI=new Np,Mz=new Np().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Tz=new Np().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Dhe(){const i={enabled:!0,workingColorSpace:yz,spaces:{},convert:function(r,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===eI&&(r.r=Dg(r.r),r.g=Dg(r.g),r.b=Dg(r.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(r.applyMatrix3(this.spaces[s].toXYZ),r.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===eI&&(r.r=gx(r.r),r.g=gx(r.g),r.b=gx(r.b))),r},workingToColorSpace:function(r,s){return this.convert(r,this.workingColorSpace,s)},colorSpaceToWorking:function(r,s){return this.convert(r,s,this.workingColorSpace)},getPrimaries:function(r){return this.spaces[r].primaries},getTransfer:function(r){return r===vz?xz:this.spaces[r].transfer},getToneMappingMode:function(r){return this.spaces[r].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(r,s=this.workingColorSpace){return r.fromArray(this.spaces[s].luminanceCoefficients)},define:function(r){Object.assign(this.spaces,r)},_getMatrix:function(r,s,a){return r.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(r){return this.spaces[r].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(r=this.workingColorSpace){return this.spaces[r].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(r,s){return Ez("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),i.workingToColorSpace(r,s)},toWorkingColorSpace:function(r,s){return Ez("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),i.colorSpaceToWorking(r,s)}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return i.define({[yz]:{primaries:e,whitePoint:n,transfer:xz,toXYZ:Mz,fromXYZ:Tz,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:Jd},outputColorSpaceConfig:{drawingBufferColorSpace:Jd}},[Jd]:{primaries:e,whitePoint:n,transfer:eI,toXYZ:Mz,fromXYZ:Tz,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:Jd}}}),i}const nf=Dhe();function Dg(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function gx(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}let mx;class Uhe{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement=="undefined")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{mx===void 0&&(mx=$E("canvas")),mx.width=e.width,mx.height=e.height;const r=mx.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),n=mx}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement!="undefined"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement!="undefined"&&e instanceof HTMLCanvasElement||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){const t=$E("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const r=n.getImageData(0,0,e.width,e.height),s=r.data;for(let a=0;a1),this.pmremVersion=0}get width(){return this.source.getSize(sI).x}get height(){return this.source.getSize(sI).y}get depth(){return this.source.getSize(sI).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const t in e){const n=e[t];if(n===void 0){Ya(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){Ya(`Texture.setValues(): property '${t}' does not exist.`);continue}r&&n&&r.isVector2&&n.isVector2||r&&n&&r.isVector3&&n.isVector3||r&&n&&r.isMatrix3&&n.isMatrix3?r.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const n={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==WR)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case $R:e.x=e.x-Math.floor(e.x);break;case Rp:e.x=e.x<0?0:1;break;case jR:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case $R:e.y=e.y-Math.floor(e.y);break;case Rp:e.y=e.y<0?0:1;break;case jR:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}vA.DEFAULT_IMAGE=null,vA.DEFAULT_MAPPING=WR,vA.DEFAULT_ANISOTROPY=1;class Gu{constructor(e=0,t=0,n=0,r=1){Gu.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,s=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*s,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*s,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*s,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,s;const l=e.elements,c=l[0],u=l[4],h=l[8],d=l[1],f=l[5],A=l[9],y=l[2],b=l[6],x=l[10];if(Math.abs(u-d)<.01&&Math.abs(h-y)<.01&&Math.abs(A-b)<.01){if(Math.abs(u+d)<.1&&Math.abs(h+y)<.1&&Math.abs(A+b)<.1&&Math.abs(c+f+x-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const k=(c+1)/2,$=(f+1)/2,se=(x+1)/2,ie=(u+d)/4,ce=(h+y)/4,ue=(A+b)/4;return k>$&&k>se?k<.01?(n=0,r=.707106781,s=.707106781):(n=Math.sqrt(k),r=ie/n,s=ce/n):$>se?$<.01?(n=.707106781,r=0,s=.707106781):(r=Math.sqrt($),n=ie/r,s=ue/r):se<.01?(n=.707106781,r=.707106781,s=0):(s=Math.sqrt(se),n=ce/s,r=ue/s),this.set(n,r,s,t),this}let P=Math.sqrt((b-A)*(b-A)+(h-y)*(h-y)+(d-u)*(d-u));return Math.abs(P)<.001&&(P=1),this.x=(b-A)/P,this.y=(h-y)/P,this.z=(d-u)/P,this.w=Math.acos((c+f+x-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Ja(this.x,e.x,t.x),this.y=Ja(this.y,e.y,t.y),this.z=Ja(this.z,e.z,t.z),this.w=Ja(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Ja(this.x,e,t),this.y=Ja(this.y,e,t),this.z=Ja(this.z,e,t),this.w=Ja(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Ja(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class BSe extends null{constructor(e=1,t=1,n={}){super(),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Ff,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},n),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=n.depth,this.scissor=new Gu(0,0,e,t),this.scissorTest=!1,this.viewport=new Gu(0,0,e,t);const r={width:e,height:t,depth:n.depth},s=new vA(r);this.textures=[];const a=n.count;for(let o=0;o1);this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,yA),yA.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(M_),XE.subVectors(this.max,M_),vx.subVectors(e.a,M_),yx.subVectors(e.b,M_),xx.subVectors(e.c,M_),jm.subVectors(yx,vx),Km.subVectors(xx,yx),Sv.subVectors(vx,xx);let t=[0,-jm.z,jm.y,0,-Km.z,Km.y,0,-Sv.z,Sv.y,jm.z,0,-jm.x,Km.z,0,-Km.x,Sv.z,0,-Sv.x,-jm.y,jm.x,0,-Km.y,Km.x,0,-Sv.y,Sv.x,0];return!aI(t,vx,yx,xx,XE)||(t=[1,0,0,0,1,0,0,0,1],!aI(t,vx,yx,xx,XE))?!1:(YE.crossVectors(jm,Km),t=[YE.x,YE.y,YE.z],aI(t,vx,yx,xx,XE))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,yA).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(yA).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ug[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ug[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ug[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ug[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ug[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ug[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ug[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ug[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ug),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}const Ug=[new Vn,new Vn,new Vn,new Vn,new Vn,new Vn,new Vn,new Vn],yA=new Vn,KE=new ed,vx=new Vn,yx=new Vn,xx=new Vn,jm=new Vn,Km=new Vn,Sv=new Vn,M_=new Vn,XE=new Vn,YE=new Vn,Cv=new Vn;function aI(i,e,t,n,r){for(let s=0,a=i.length-3;s<=a;s+=3){Cv.fromArray(i,s);const o=r.x*Math.abs(Cv.x)+r.y*Math.abs(Cv.y)+r.z*Math.abs(Cv.z),l=e.dot(Cv),c=t.dot(Cv),u=n.dot(Cv);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>o)return!1}return!0}const Hhe=new ed,T_=new Vn,oI=new Vn;class Fh{constructor(e=new Vn,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):Hhe.setFromPoints(e).getCenter(n);let r=0;for(let s=0,a=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;T_.subVectors(e,this.center);const t=T_.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),r=(n-this.radius)*.5;this.center.addScaledVector(T_,r/n),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(oI.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(T_.copy(e.center).add(oI)),this.expandByPoint(T_.copy(e.center).sub(oI))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}const kg=new Vn,lI=new Vn,qE=new Vn,Xm=new Vn,cI=new Vn,JE=new Vn,uI=new Vn;class B_{constructor(e=new Vn,t=new Vn(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,kg)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=kg.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(kg.copy(this.origin).addScaledVector(this.direction,t),kg.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){lI.copy(e).add(t).multiplyScalar(.5),qE.copy(t).sub(e).normalize(),Xm.copy(this.origin).sub(lI);const s=e.distanceTo(t)*.5,a=-this.direction.dot(qE),o=Xm.dot(this.direction),l=-Xm.dot(qE),c=Xm.lengthSq(),u=Math.abs(1-a*a);let h,d,f,A;if(u>0)if(h=a*l-o,d=a*o-l,A=s*u,h>=0)if(d>=-A)if(d<=A){const y=1/u;h*=y,d*=y,f=h*(h+a*d+2*o)+d*(a*h+d+2*l)+c}else d=s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;else d=-s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;else d<=-A?(h=Math.max(0,-(-a*s+o)),d=h>0?-s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c):d<=A?(h=0,d=Math.min(Math.max(-s,-l),s),f=d*(d+2*l)+c):(h=Math.max(0,-(a*s+o)),d=h>0?s:Math.min(Math.max(-s,-l),s),f=-h*h+d*(d+2*l)+c);else d=a>0?-s:s,h=Math.max(0,-(a*d+o)),f=-h*h+d*(d+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,h),r&&r.copy(lI).addScaledVector(qE,d),f}intersectSphere(e,t){kg.subVectors(e.center,this.origin);const n=kg.dot(this.direction),r=kg.dot(kg)-n*n,s=e.radius*e.radius;if(r>s)return null;const a=Math.sqrt(s-r),o=n-a,l=n+a;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,s,a,o,l;const c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,d=this.origin;return c>=0?(n=(e.min.x-d.x)*c,r=(e.max.x-d.x)*c):(n=(e.max.x-d.x)*c,r=(e.min.x-d.x)*c),u>=0?(s=(e.min.y-d.y)*u,a=(e.max.y-d.y)*u):(s=(e.max.y-d.y)*u,a=(e.min.y-d.y)*u),n>a||s>r||((s>n||isNaN(n))&&(n=s),(a=0?(o=(e.min.z-d.z)*h,l=(e.max.z-d.z)*h):(o=(e.max.z-d.z)*h,l=(e.min.z-d.z)*h),n>l||o>r)||((o>n||n!==n)&&(n=o),(l=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,kg)!==null}intersectTriangle(e,t,n,r,s){cI.subVectors(t,e),JE.subVectors(n,e),uI.crossVectors(cI,JE);let a=this.direction.dot(uI),o;if(a>0){if(r)return null;o=1}else if(a<0)o=-1,a=-a;else return null;Xm.subVectors(this.origin,e);const l=o*this.direction.dot(JE.crossVectors(Xm,JE));if(l<0)return null;const c=o*this.direction.dot(cI.cross(Xm));if(c<0||l+c>a)return null;const u=-o*Xm.dot(uI);return u<0?null:this.at(u/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class xo{constructor(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b){xo.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b)}set(e,t,n,r,s,a,o,l,c,u,h,d,f,A,y,b){const x=this.elements;return x[0]=e,x[4]=t,x[8]=n,x[12]=r,x[1]=s,x[5]=a,x[9]=o,x[13]=l,x[2]=c,x[6]=u,x[10]=h,x[14]=d,x[3]=f,x[7]=A,x[11]=y,x[15]=b,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new xo().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,r=1/bx.setFromMatrixColumn(e,0).length(),s=1/bx.setFromMatrixColumn(e,1).length(),a=1/bx.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,r=e.y,s=e.z,a=Math.cos(n),o=Math.sin(n),l=Math.cos(r),c=Math.sin(r),u=Math.cos(s),h=Math.sin(s);if(e.order==="XYZ"){const d=a*u,f=a*h,A=o*u,y=o*h;t[0]=l*u,t[4]=-l*h,t[8]=c,t[1]=f+A*c,t[5]=d-y*c,t[9]=-o*l,t[2]=y-d*c,t[6]=A+f*c,t[10]=a*l}else if(e.order==="YXZ"){const d=l*u,f=l*h,A=c*u,y=c*h;t[0]=d+y*o,t[4]=A*o-f,t[8]=a*c,t[1]=a*h,t[5]=a*u,t[9]=-o,t[2]=f*o-A,t[6]=y+d*o,t[10]=a*l}else if(e.order==="ZXY"){const d=l*u,f=l*h,A=c*u,y=c*h;t[0]=d-y*o,t[4]=-a*h,t[8]=A+f*o,t[1]=f+A*o,t[5]=a*u,t[9]=y-d*o,t[2]=-a*c,t[6]=o,t[10]=a*l}else if(e.order==="ZYX"){const d=a*u,f=a*h,A=o*u,y=o*h;t[0]=l*u,t[4]=A*c-f,t[8]=d*c+y,t[1]=l*h,t[5]=y*c+d,t[9]=f*c-A,t[2]=-c,t[6]=o*l,t[10]=a*l}else if(e.order==="YZX"){const d=a*l,f=a*c,A=o*l,y=o*c;t[0]=l*u,t[4]=y-d*h,t[8]=A*h+f,t[1]=h,t[5]=a*u,t[9]=-o*u,t[2]=-c*u,t[6]=f*h+A,t[10]=d-y*h}else if(e.order==="XZY"){const d=a*l,f=a*c,A=o*l,y=o*c;t[0]=l*u,t[4]=-h,t[8]=c*u,t[1]=d*h+y,t[5]=a*u,t[9]=f*h-A,t[2]=A*h-f,t[6]=o*u,t[10]=y*h+d}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Ghe,e,Qhe)}lookAt(e,t,n){const r=this.elements;return rf.subVectors(e,t),rf.lengthSq()===0&&(rf.z=1),rf.normalize(),Ym.crossVectors(n,rf),Ym.lengthSq()===0&&(Math.abs(n.z)===1?rf.x+=1e-4:rf.z+=1e-4,rf.normalize(),Ym.crossVectors(n,rf)),Ym.normalize(),eS.crossVectors(rf,Ym),r[0]=Ym.x,r[4]=eS.x,r[8]=rf.x,r[1]=Ym.y,r[5]=eS.y,r[9]=rf.y,r[2]=Ym.z,r[6]=eS.z,r[10]=rf.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,r=t.elements,s=this.elements,a=n[0],o=n[4],l=n[8],c=n[12],u=n[1],h=n[5],d=n[9],f=n[13],A=n[2],y=n[6],b=n[10],x=n[14],P=n[3],k=n[7],$=n[11],se=n[15],ie=r[0],ce=r[4],ue=r[8],ve=r[12],Fe=r[1],nt=r[5],Gt=r[9],Jt=r[13],gn=r[2],yn=r[6],Mn=r[10],rr=r[14],Hn=r[3],Er=r[7],Hr=r[11],qn=r[15];return s[0]=a*ie+o*Fe+l*gn+c*Hn,s[4]=a*ce+o*nt+l*yn+c*Er,s[8]=a*ue+o*Gt+l*Mn+c*Hr,s[12]=a*ve+o*Jt+l*rr+c*qn,s[1]=u*ie+h*Fe+d*gn+f*Hn,s[5]=u*ce+h*nt+d*yn+f*Er,s[9]=u*ue+h*Gt+d*Mn+f*Hr,s[13]=u*ve+h*Jt+d*rr+f*qn,s[2]=A*ie+y*Fe+b*gn+x*Hn,s[6]=A*ce+y*nt+b*yn+x*Er,s[10]=A*ue+y*Gt+b*Mn+x*Hr,s[14]=A*ve+y*Jt+b*rr+x*qn,s[3]=P*ie+k*Fe+$*gn+se*Hn,s[7]=P*ce+k*nt+$*yn+se*Er,s[11]=P*ue+k*Gt+$*Mn+se*Hr,s[15]=P*ve+k*Jt+$*rr+se*qn,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],r=e[8],s=e[12],a=e[1],o=e[5],l=e[9],c=e[13],u=e[2],h=e[6],d=e[10],f=e[14],A=e[3],y=e[7],b=e[11],x=e[15];return A*(+s*l*h-r*c*h-s*o*d+n*c*d+r*o*f-n*l*f)+y*(+t*l*f-t*c*d+s*a*d-r*a*f+r*c*u-s*l*u)+b*(+t*c*h-t*o*f-s*a*h+n*a*f+s*o*u-n*c*u)+x*(-r*o*u-t*l*h+t*o*d+r*a*h-n*a*d+n*l*u)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],u=e[8],h=e[9],d=e[10],f=e[11],A=e[12],y=e[13],b=e[14],x=e[15],P=h*b*c-y*d*c+y*l*f-o*b*f-h*l*x+o*d*x,k=A*d*c-u*b*c-A*l*f+a*b*f+u*l*x-a*d*x,$=u*y*c-A*h*c+A*o*f-a*y*f-u*o*x+a*h*x,se=A*h*l-u*y*l-A*o*d+a*y*d+u*o*b-a*h*b,ie=t*P+n*k+r*$+s*se;if(ie===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const ce=1/ie;return e[0]=P*ce,e[1]=(y*d*s-h*b*s-y*r*f+n*b*f+h*r*x-n*d*x)*ce,e[2]=(o*b*s-y*l*s+y*r*c-n*b*c-o*r*x+n*l*x)*ce,e[3]=(h*l*s-o*d*s-h*r*c+n*d*c+o*r*f-n*l*f)*ce,e[4]=k*ce,e[5]=(u*b*s-A*d*s+A*r*f-t*b*f-u*r*x+t*d*x)*ce,e[6]=(A*l*s-a*b*s-A*r*c+t*b*c+a*r*x-t*l*x)*ce,e[7]=(a*d*s-u*l*s+u*r*c-t*d*c-a*r*f+t*l*f)*ce,e[8]=$*ce,e[9]=(A*h*s-u*y*s-A*n*f+t*y*f+u*n*x-t*h*x)*ce,e[10]=(a*y*s-A*o*s+A*n*c-t*y*c-a*n*x+t*o*x)*ce,e[11]=(u*o*s-a*h*s-u*n*c+t*h*c+a*n*f-t*o*f)*ce,e[12]=se*ce,e[13]=(u*y*r-A*h*r+A*n*d-t*y*d-u*n*b+t*h*b)*ce,e[14]=(A*o*r-a*y*r-A*n*l+t*y*l+a*n*b-t*o*b)*ce,e[15]=(a*h*r-u*o*r+u*n*l-t*h*l-a*n*d+t*o*d)*ce,this}scale(e){const t=this.elements,n=e.x,r=e.y,s=e.z;return t[0]*=n,t[4]*=r,t[8]*=s,t[1]*=n,t[5]*=r,t[9]*=s,t[2]*=n,t[6]*=r,t[10]*=s,t[3]*=n,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),r=Math.sin(t),s=1-n,a=e.x,o=e.y,l=e.z,c=s*a,u=s*o;return this.set(c*a+n,c*o-r*l,c*l+r*o,0,c*o+r*l,u*o+n,u*l-r*a,0,c*l-r*o,u*l+r*a,s*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,s,a){return this.set(1,n,s,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){const r=this.elements,s=t._x,a=t._y,o=t._z,l=t._w,c=s+s,u=a+a,h=o+o,d=s*c,f=s*u,A=s*h,y=a*u,b=a*h,x=o*h,P=l*c,k=l*u,$=l*h,se=n.x,ie=n.y,ce=n.z;return r[0]=(1-(y+x))*se,r[1]=(f+$)*se,r[2]=(A-k)*se,r[3]=0,r[4]=(f-$)*ie,r[5]=(1-(d+x))*ie,r[6]=(b+P)*ie,r[7]=0,r[8]=(A+k)*ce,r[9]=(b-P)*ce,r[10]=(1-(d+y))*ce,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){const r=this.elements;let s=bx.set(r[0],r[1],r[2]).length();const a=bx.set(r[4],r[5],r[6]).length(),o=bx.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],xA.copy(this);const c=1/s,u=1/a,h=1/o;return xA.elements[0]*=c,xA.elements[1]*=c,xA.elements[2]*=c,xA.elements[4]*=u,xA.elements[5]*=u,xA.elements[6]*=u,xA.elements[8]*=h,xA.elements[9]*=h,xA.elements[10]*=h,t.setFromRotationMatrix(xA),n.x=s,n.y=a,n.z=o,this}makePerspective(e,t,n,r,s,a,o=Ip,l=!1){const c=this.elements,u=2*s/(t-e),h=2*s/(n-r),d=(t+e)/(t-e),f=(n+r)/(n-r);let A,y;if(l)A=s/(a-s),y=a*s/(a-s);else if(o===Ip)A=-(a+s)/(a-s),y=-2*a*s/(a-s);else if(o===E_)A=-a/(a-s),y=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return c[0]=u,c[4]=0,c[8]=d,c[12]=0,c[1]=0,c[5]=h,c[9]=f,c[13]=0,c[2]=0,c[6]=0,c[10]=A,c[14]=y,c[3]=0,c[7]=0,c[11]=-1,c[15]=0,this}makeOrthographic(e,t,n,r,s,a,o=Ip,l=!1){const c=this.elements,u=2/(t-e),h=2/(n-r),d=-(t+e)/(t-e),f=-(n+r)/(n-r);let A,y;if(l)A=1/(a-s),y=a/(a-s);else if(o===Ip)A=-2/(a-s),y=-(a+s)/(a-s);else if(o===E_)A=-1/(a-s),y=-s/(a-s);else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return c[0]=u,c[4]=0,c[8]=0,c[12]=d,c[1]=0,c[5]=h,c[9]=0,c[13]=f,c[2]=0,c[6]=0,c[10]=A,c[14]=y,c[3]=0,c[7]=0,c[11]=0,c[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const bx=new Vn,xA=new xo,Ghe=new Vn(0,0,0),Qhe=new Vn(1,1,1),Ym=new Vn,eS=new Vn,rf=new Vn,Rz=new xo,Iz=new tf;class Pp{constructor(e=0,t=0,n=0,r=Pp.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,r=this._order){return this._x=e,this._y=t,this._z=n,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const r=e.elements,s=r[0],a=r[4],o=r[8],l=r[1],c=r[5],u=r[9],h=r[2],d=r[6],f=r[10];switch(t){case"XYZ":this._y=Math.asin(Ja(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-u,f),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(d,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ja(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(o,f),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-h,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ja(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-h,f),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ja(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(Ja(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-u,c),this._y=Math.atan2(-h,s)):(this._x=0,this._y=Math.atan2(o,f));break;case"XZY":this._z=Math.asin(-Ja(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,c),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-u,f),this._y=0);break;default:Ya("Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Rz.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Rz,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Iz.setFromEuler(this),this.setFromQuaternion(Iz,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Pp.DEFAULT_ORDER="XYZ";class Nz{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map(o=>dh(ko({},o),{boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map(o=>ko({},o)),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(r.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(r.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(r.boundingBox=this.boundingBox.toJSON()));function s(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let c=0,u=l.length;c0){r.children=[];for(let o=0;o0){r.animations=[];for(let o=0;o0&&(n.geometries=o),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),u.length>0&&(n.images=u),h.length>0&&(n.shapes=h),d.length>0&&(n.skeletons=d),f.length>0&&(n.animations=f),A.length>0&&(n.nodes=A)}return n.object=r,n;function a(o){const l=[];for(const c in o){const u=o[c];delete u.metadata,l.push(u)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,n,r,s){bA.subVectors(r,t),Vg.subVectors(n,t),dI.subVectors(e,t);const a=bA.dot(bA),o=bA.dot(Vg),l=bA.dot(dI),c=Vg.dot(Vg),u=Vg.dot(dI),h=a*c-o*o;if(h===0)return s.set(0,0,0),null;const d=1/h,f=(c*l-o*u)*d,A=(a*u-o*l)*d;return s.set(1-f-A,A,f)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,Hg)===null?!1:Hg.x>=0&&Hg.y>=0&&Hg.x+Hg.y<=1}static getInterpolation(e,t,n,r,s,a,o,l){return this.getBarycoord(e,t,n,r,Hg)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Hg.x),l.addScaledVector(a,Hg.y),l.addScaledVector(o,Hg.z),l)}static getInterpolatedAttribute(e,t,n,r,s,a){return gI.setScalar(0),mI.setScalar(0),vI.setScalar(0),gI.fromBufferAttribute(e,t),mI.fromBufferAttribute(e,n),vI.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(gI,s.x),a.addScaledVector(mI,s.y),a.addScaledVector(vI,s.z),a}static isFrontFacing(e,t,n,r){return bA.subVectors(n,t),Vg.subVectors(e,t),bA.cross(Vg).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return bA.subVectors(this.c,this.b),Vg.subVectors(this.a,this.b),bA.cross(Vg).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return sf.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return sf.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,r,s){return sf.getInterpolation(e,this.a,this.b,this.c,t,n,r,s)}containsPoint(e){return sf.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return sf.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,s=this.c;let a,o;Ex.subVectors(r,n),Sx.subVectors(s,n),fI.subVectors(e,n);const l=Ex.dot(fI),c=Sx.dot(fI);if(l<=0&&c<=0)return t.copy(n);AI.subVectors(e,r);const u=Ex.dot(AI),h=Sx.dot(AI);if(u>=0&&h<=u)return t.copy(r);const d=l*h-u*c;if(d<=0&&l>=0&&u<=0)return a=l/(l-u),t.copy(n).addScaledVector(Ex,a);pI.subVectors(e,s);const f=Ex.dot(pI),A=Sx.dot(pI);if(A>=0&&f<=A)return t.copy(s);const y=f*c-l*A;if(y<=0&&c>=0&&A<=0)return o=c/(c-A),t.copy(n).addScaledVector(Sx,o);const b=u*A-f*h;if(b<=0&&h-u>=0&&f-A>=0)return Uz.subVectors(s,r),o=(h-u)/(h-u+(f-A)),t.copy(r).addScaledVector(Uz,o);const x=1/(b+y+d);return a=y*x,o=d*x,t.copy(n).addScaledVector(Ex,a).addScaledVector(Sx,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const kz={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},qm={h:0,s:0,l:0},nS={h:0,s:0,l:0};function yI(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*6*(2/3-t):i}class co{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Jd){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,nf.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=nf.workingColorSpace){return this.r=e,this.g=t,this.b=n,nf.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=nf.workingColorSpace){if(e=tI(e,1),t=Ja(t,0,1),n=Ja(n,0,1),t===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,a=2*n-s;this.r=yI(a,s,e+1/3),this.g=yI(a,s,e),this.b=yI(a,s,e-1/3)}return nf.colorSpaceToWorking(this,r),this}setStyle(e,t=Jd){function n(s){s!==void 0&&parseFloat(s)<1&&Ya("Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=r[1],o=r[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:Ya("Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(a===6)return this.setHex(parseInt(s,16),t);Ya("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Jd){const n=kz[e.toLowerCase()];return n!==void 0?this.setHex(n,t):Ya("Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Dg(e.r),this.g=Dg(e.g),this.b=Dg(e.b),this}copyLinearToSRGB(e){return this.r=gx(e.r),this.g=gx(e.g),this.b=gx(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Jd){return nf.workingToColorSpace(Oh.copy(this),e),Math.round(Ja(Oh.r*255,0,255))*65536+Math.round(Ja(Oh.g*255,0,255))*256+Math.round(Ja(Oh.b*255,0,255))}getHexString(e=Jd){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=nf.workingColorSpace){nf.workingToColorSpace(Oh.copy(this),t);const n=Oh.r,r=Oh.g,s=Oh.b,a=Math.max(n,r,s),o=Math.min(n,r,s);let l,c;const u=(o+a)/2;if(o===a)l=0,c=0;else{const h=a-o;switch(c=u<=.5?h/(a+o):h/(2-a-o),a){case n:l=(r-s)/h+(r0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){Ya(`Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){Ya(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.sheenColorMap&&this.sheenColorMap.isTexture&&(n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid),this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture&&(n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==lz&&(n.blending=this.blending),this.side!==GR&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==uz&&(n.blendSrc=this.blendSrc),this.blendDst!==hz&&(n.blendDst=this.blendDst),this.blendEquation!==cz&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==dz&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==bz&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Ax&&(n.stencilFail=this.stencilFail),this.stencilZFail!==Ax&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==Ax&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function r(s){const a=[];for(const o in s){const l=s[o];delete l.metadata,a.push(l)}return a}if(t){const s=r(e.textures),a=r(e.images);s.length>0&&(n.textures=s),a.length>0&&(n.images=a)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const r=t.length;n=new Array(r);for(let s=0;s!==r;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class Mv extends xI{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new co(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pp,this.combine=QR,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Gg=null;function PSe(){const i=new ArrayBuffer(4),e=new Float32Array(i),t=new Uint32Array(i),n=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(n[l]=0,n[l|256]=32768,r[l]=24,r[l|256]=24):c<-14?(n[l]=1024>>-c-14,n[l|256]=1024>>-c-14|32768,r[l]=-c-1,r[l|256]=-c-1):c<=15?(n[l]=c+15<<10,n[l|256]=c+15<<10|32768,r[l]=13,r[l|256]=13):c<128?(n[l]=31744,n[l|256]=64512,r[l]=24,r[l|256]=24):(n[l]=31744,n[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;for(;!(c&8388608);)c<<=1,u-=8388608;c&=-8388609,u+=947912704,s[l]=c|u}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)a[l]=l<<23;a[31]=1199570944,a[32]=2147483648;for(let l=33;l<63;++l)a[l]=2147483648+(l-32<<23);a[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(o[l]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function wd(i){Math.abs(i)>65504&&Ya("DataUtils.toHalfFloat(): Value out of range."),i=Ja(i,-65504,65504),Gg.floatView[0]=i;const e=Gg.uint32View[0],t=e>>23&511;return Gg.baseTable[t]+((e&8388607)>>Gg.shiftTable[t])}function I_(i){const e=i>>10;return Gg.uint32View[0]=Gg.mantissaTable[Gg.offsetTable[e]+(i&1023)]+Gg.exponentTable[e],Gg.floatView[0]}class FSe{static toHalfFloat(e){return wd(e)}static fromHalfFloat(e){return I_(e)}}const Au=new Vn,rS=new ss;let Xhe=0;class Lh{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:Xhe++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=ZE,this.updateRanges=[],this.gpuType=ux,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,s=this.itemSize;rt.count&&Ya("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ed);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){Al("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Vn(-1/0,-1/0,-1/0),new Vn(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,r=t.length;n0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const l in n){const c=n[l];e.data.attributes[l]=c.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],u=[];for(let h=0,d=c.length;h0&&(r[l]=u,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere=o.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone());const r=e.attributes;for(const c in r){const u=r[c];this.setAttribute(c,u.clone(t))}const s=e.morphAttributes;for(const c in s){const u=[],h=s[c];for(let d=0,f=h.length;d0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sIA(e.far-e.near,2)))&&(zz.copy(s).invert(),Tv.copy(e.ray).applyMatrix4(zz),!(n.boundingBox!==null&&Tv.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Tv)))}_computeIntersections(e,t,n){let r;const s=this.geometry,a=this.material,o=s.index,l=s.attributes.position,c=s.attributes.uv,u=s.attributes.uv1,h=s.attributes.normal,d=s.groups,f=s.drawRange;if(o!==null)if(Array.isArray(a))for(let A=0,y=d.length;At.far?null:{distance:c,point:cS.clone(),object:i}}function uS(i,e,t,n,r,s,a,o,l,c){i.getVertexPosition(o,sS),i.getVertexPosition(l,aS),i.getVertexPosition(c,oS);const u=ede(i,e,t,n,sS,aS,oS,Hz);if(u){const h=new Vn;sf.getBarycoord(Hz,sS,aS,oS,h),r&&(u.uv=sf.getInterpolatedAttribute(r,o,l,c,h,new ss)),s&&(u.uv1=sf.getInterpolatedAttribute(s,o,l,c,h,new ss)),a&&(u.normal=sf.getInterpolatedAttribute(a,o,l,c,h,new Vn),u.normal.dot(n.direction)>0&&u.normal.multiplyScalar(-1));const d={a:o,b:l,c,normal:new Vn,materialIndex:0};sf.getNormal(sS,aS,oS,d.normal),u.face=d,u.barycoord=h}return u}class hS extends Do{constructor(e=1,t=1,n=1,r=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:s,depthSegments:a};const o=this;r=Math.floor(r),s=Math.floor(s),a=Math.floor(a);const l=[],c=[],u=[],h=[];let d=0,f=0;A("z","y","x",-1,-1,n,t,e,a,s,0),A("z","y","x",1,-1,n,t,-e,a,s,1),A("x","z","y",1,1,e,n,t,r,a,2),A("x","z","y",1,-1,e,n,-t,r,a,3),A("x","y","z",1,-1,e,t,n,r,s,4),A("x","y","z",-1,-1,e,t,-n,r,s,5),this.setIndex(l),this.setAttribute("position",new da(c,3)),this.setAttribute("normal",new da(u,3)),this.setAttribute("uv",new da(h,2));function A(y,b,x,P,k,$,se,ie,ce,ue,ve){const Fe=$/ce,nt=se/ue,Gt=$/2,Jt=se/2,gn=ie/2,yn=ce+1,Mn=ue+1;let rr=0,Hn=0;const Er=new Vn;for(let Hr=0;Hr0?1:-1,u.push(Er.x,Er.y,Er.z),h.push(Jr/ce),h.push(1-Hr/ue),rr+=1}}for(let Hr=0;Hr0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const r in this.extensions)this.extensions[r]===!0&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class sde extends Bu{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new xo,this.projectionMatrix=new xo,this.projectionMatrixInverse=new xo,this.coordinateSystem=Ip,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const e0=new Vn,Qz=new ss,Wz=new ss;class _A extends null{constructor(e=50,t=1,n=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=S_*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(wv*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return S_*2*Math.atan(Math.tan(wv*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){e0.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(e0.x,e0.y).multiplyScalar(-e/e0.z),e0.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(e0.x,e0.y).multiplyScalar(-e/e0.z)}getViewSize(e,t){return this.getViewBounds(e,Qz,Wz),t.subVectors(Wz,Qz)}setViewOffset(e,t,n,r,s,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(wv*.5*this.fov)/this.zoom,n=2*t,r=this.aspect*n,s=-.5*r;const a=this.view;if(this.view!==null&&this.view.enabled){const l=a.fullWidth,c=a.fullHeight;s+=a.offsetX*r/l,t-=a.offsetY*n/c,r*=a.width/l,n*=a.height/c}const o=this.filmOffset;o!==0&&(s+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Mx=null,Tx=1;class ade extends null{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new _A(Mx,Tx,e,t);r.layers=this.layers,this.add(r);const s=new _A(Mx,Tx,e,t);s.layers=this.layers,this.add(s);const a=new _A(Mx,Tx,e,t);a.layers=this.layers,this.add(a);const o=new _A(Mx,Tx,e,t);o.layers=this.layers,this.add(o);const l=new _A(Mx,Tx,e,t);l.layers=this.layers,this.add(l);const c=new _A(Mx,Tx,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,r,s,a,o,l]=t;for(const c of t)this.remove(c);if(e===Ip)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===E_)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,a,o,l,c,u]=this.children,h=e.getRenderTarget(),d=e.getActiveCubeFace(),f=e.getActiveMipmapLevel(),A=e.xr.enabled;e.xr.enabled=!1;const y=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,r),e.render(t,s),e.setRenderTarget(n,1,r),e.render(t,a),e.setRenderTarget(n,2,r),e.render(t,o),e.setRenderTarget(n,3,r),e.render(t,l),e.setRenderTarget(n,4,r),e.render(t,c),n.texture.generateMipmaps=y,e.setRenderTarget(n,5,r),e.render(t,u),e.setRenderTarget(h,d,f),e.xr.enabled=A,n.texture.needsPMREMUpdate=!0}}class wI extends null{constructor(e=[],t=ZR,n,r,s,a,o,l,c,u){super(e,t,n,r,s,a,o,l,c,u),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class GSe extends null{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new wI(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},r=new hS(5,5,5),s=new Gz({name:"CubemapFromEquirect",uniforms:dS(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:oz,blending:fue});s.uniforms.tEquirect.value=t;const a=new Jm(r,s),o=t.minFilter;return t.minFilter===GE&&(t.minFilter=Ff),new ade(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,n=!0,r=!0){const s=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(s)}}class Bx extends Bu{constructor(){super(),this.isGroup=!0,this.type="Group"}}const ode={type:"move"};class QSe{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Bx,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Bx,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Vn,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Vn),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Bx,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Vn,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Vn),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,s=null,a=null;const o=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const y of e.hand.values()){const b=t.getJointPose(y,n),x=this._getHandJoint(c,y);b!==null&&(x.matrix.fromArray(b.transform.matrix),x.matrix.decompose(x.position,x.rotation,x.scale),x.matrixWorldNeedsUpdate=!0,x.jointRadius=b.radius),x.visible=b!==null}const u=c.joints["index-finger-tip"],h=c.joints["thumb-tip"],d=u.position.distanceTo(h.position),f=.02,A=.005;c.inputState.pinching&&d>f+A?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&d<=f-A&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&s!==null&&(r=s),r!==null&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(ode)))}return o!==null&&(o.visible=r!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new Bx;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class EI{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new co(e),this.density=t}clone(){return new EI(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class SI{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new co(e),this.near=t,this.far=n}clone(){return new SI(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class lde extends null{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Pp,this.environmentIntensity=1,this.environmentRotation=new Pp,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Zz{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=ZE,this.updateRanges=[],this.version=0,this.uuid=ef()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:l,point:P_.clone(),uv:sf.getInterpolation(P_,fS,O_,AS,jz,MI,Kz,new ss),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function pS(i,e,t,n,r,s){Fx.subVectors(i,t).addScalar(.5).multiply(n),r!==void 0?(F_.x=s*Fx.x-r*Fx.y,F_.y=r*Fx.x+s*Fx.y):F_.copy(Fx),i.copy(e),i.x+=F_.x,i.y+=F_.y,i.applyMatrix4($z)}const gS=new Vn,Yz=new Vn;class cde extends null{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,r=t.length;n0){let n,r;for(n=1,r=t.length;n0){gS.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(gS);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){gS.setFromMatrixPosition(e.matrixWorld),Yz.setFromMatrixPosition(this.matrixWorld);const n=gS.distanceTo(Yz)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=a)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||gde.getNormalMatrix(e),r=this.coplanarPoint(II).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Bv=new Fh,mde=new ss(.5,.5),yS=new Vn;class NI{constructor(e=new Lx,t=new Lx,n=new Lx,r=new Lx,s=new Lx,a=new Lx){this.planes=[e,t,n,r,s,a]}set(e,t,n,r,s,a){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(r),o[4].copy(s),o[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Ip,n=!1){const r=this.planes,s=e.elements,a=s[0],o=s[1],l=s[2],c=s[3],u=s[4],h=s[5],d=s[6],f=s[7],A=s[8],y=s[9],b=s[10],x=s[11],P=s[12],k=s[13],$=s[14],se=s[15];if(r[0].setComponents(c-a,f-u,x-A,se-P).normalize(),r[1].setComponents(c+a,f+u,x+A,se+P).normalize(),r[2].setComponents(c+o,f+h,x+y,se+k).normalize(),r[3].setComponents(c-o,f-h,x-y,se-k).normalize(),n)r[4].setComponents(l,d,b,$).normalize(),r[5].setComponents(c-l,f-d,x-b,se-$).normalize();else if(r[4].setComponents(c-l,f-d,x-b,se-$).normalize(),t===Ip)r[5].setComponents(c+l,f+d,x+b,se+$).normalize();else if(t===E_)r[5].setComponents(l,d,b,$).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Bv.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Bv.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Bv)}intersectsSprite(e){Bv.center.set(0,0,0);const t=mde.distanceTo(e.center);return Bv.radius=.7071067811865476+t,Bv.applyMatrix4(e.matrixWorld),this.intersectsSphere(Bv)}intersectsSphere(e){const t=this.planes,n=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,yS.y=r.normal.y>0?e.max.y:e.min.y,yS.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(yS)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const Fp=new xo,Op=new NI;class PI{constructor(){this.coordinateSystem=Ip}intersectsObject(e,t){if(!t.isArrayCamera||t.cameras.length===0)return!1;for(let n=0;n=s.length&&s.push({start:-1,count:-1,z:-1,index:-1});const o=s[this.index];a.push(o),this.index++,o.start=e,o.count=t,o.z=n,o.index=r}reset(){this.list.length=0,this.index=0}}const Ed=new xo,bde=new co(1,1,1),oV=new NI,_de=new PI,xS=new ed,Rv=new Fh,k_=new Vn,lV=new Vn,wde=new Vn,OI=new xde,Dh=new Jm,bS=null;function Ede(i,e,t=0){const n=e.itemSize;if(i.isInterleavedBufferAttribute||i.array.constructor!==e.array.constructor){const r=i.count;for(let s=0;s65535?new Uint32Array(r):new Uint16Array(r);t.setIndex(new Lh(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const r=e.getAttribute(n),s=t.getAttribute(n);if(r.itemSize!==s.itemSize||r.normalized!==s.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new ed);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,r=t.length;n=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let r=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(FI),r=this._availableInstanceIds.shift(),this._instanceInfo[r]=n):(r=this._instanceInfo.length,this._instanceInfo.push(n));const s=this._matricesTexture;Ed.identity().toArray(s.image.data,r*16),s.needsUpdate=!0;const a=this._colorsTexture;return a&&(bde.toArray(a.image.data,r*4),a.needsUpdate=!0),this._visibilityChanged=!0,r}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const r={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},s=this._geometryInfo;r.vertexStart=this._nextVertexStart,r.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const a=e.getIndex();if(a!==null&&(r.indexStart=this._nextIndexStart,r.reservedIndexCount=n===-1?a.count:n),r.indexStart!==-1&&r.indexStart+r.reservedIndexCount>this._maxIndexCount||r.vertexStart+r.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let l;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(FI),l=this._availableGeometryIds.shift(),s[l]=r):(l=this._geometryCount,this._geometryCount++,s.push(r)),this.setGeometryAt(l,e),this._nextIndexStart=r.indexStart+r.reservedIndexCount,this._nextVertexStart=r.vertexStart+r.reservedVertexCount,l}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,r=n.getIndex()!==null,s=n.getIndex(),a=t.getIndex(),o=this._geometryInfo[e];if(r&&a.count>o.reservedIndexCount||t.attributes.position.count>o.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const l=o.vertexStart,c=o.reservedVertexCount;o.vertexCount=t.getAttribute("position").count;for(const u in n.attributes){const h=t.getAttribute(u),d=n.getAttribute(u);Ede(h,d,l);const f=h.itemSize;for(let A=h.count,y=c;A=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let r=0,s=n.length;ro).sort((a,o)=>n[a].vertexStart-n[o].vertexStart),s=this.geometry;for(let a=0,o=n.length;a=this._geometryCount)return null;const n=this.geometry,r=this._geometryInfo[e];if(r.boundingBox===null){const s=new ed,a=n.index,o=n.attributes.position;for(let l=r.start,c=r.start+r.count;l=this._geometryCount)return null;const n=this.geometry,r=this._geometryInfo[e];if(r.boundingSphere===null){const s=new Fh;this.getBoundingBoxAt(e,xS),xS.getCenter(s.center);const a=n.index,o=n.attributes.position;let l=0;for(let c=r.start,u=r.start+r.count;co.active);if(Math.max(...n.map(o=>o.vertexStart+o.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(l=>l.indexStart+l.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const s=this.geometry;s.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Do,this._initializeGeometry(s));const a=this.geometry;s.index&&Iv(s.index.array,a.index.array);for(const o in s.attributes)Iv(s.attributes[o].array,a.attributes[o].array)}raycast(e,t){const n=this._instanceInfo,r=this._geometryInfo,s=this.matrixWorld,a=this.geometry;Dh.material=this.material,Dh.geometry.index=a.index,Dh.geometry.attributes=a.attributes,Dh.geometry.boundingBox===null&&(Dh.geometry.boundingBox=new ed),Dh.geometry.boundingSphere===null&&(Dh.geometry.boundingSphere=new Fh);for(let o=0,l=n.length;odh(ko({},t),{boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>ko({},t)),this._availableInstanceIds=e._availableInstanceIds.slice(),this._availableGeometryIds=e._availableGeometryIds.slice(),this._nextIndexStart=e._nextIndexStart,this._nextVertexStart=e._nextVertexStart,this._geometryCount=e._geometryCount,this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._indirectTexture=e._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(e,t,n,r,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const a=r.getIndex(),o=a===null?1:a.array.BYTES_PER_ELEMENT,l=this._instanceInfo,c=this._multiDrawStarts,u=this._multiDrawCounts,h=this._geometryInfo,d=this.perObjectFrustumCulled,f=this._indirectTexture,A=f.image.data,y=n.isArrayCamera?_de:oV;d&&!n.isArrayCamera&&(Ed.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),oV.setFromProjectionMatrix(Ed,n.coordinateSystem,n.reversedDepth));let b=0;if(this.sortObjects){Ed.copy(this.matrixWorld).invert(),k_.setFromMatrixPosition(n.matrixWorld).applyMatrix4(Ed),lV.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(Ed);for(let k=0,$=l.length;k<$;k++)if(l[k].visible&&l[k].active){const se=l[k].geometryIndex;this.getMatrixAt(k,Ed),this.getBoundingSphereAt(se,Rv).applyMatrix4(Ed);let ie=!1;if(d&&(ie=!y.intersectsSphere(Rv,n)),!ie){const ce=h[se],ue=wde.subVectors(Rv.center,k_).dot(lV);OI.push(ce.start,ce.count,ue,k)}}const x=OI.list,P=this.customSort;P===null?x.sort(s.transparent?yde:vde):P.call(this,x,n);for(let k=0,$=x.length;k<$;k++){const se=x[k];c[b]=se.start*o,u[b]=se.count,A[b]=se.index,b++}OI.reset()}else for(let x=0,P=l.length;x0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sn)return;LI.applyMatrix4(i.matrixWorld);const c=e.ray.origin.distanceTo(LI);if(!(ce.far))return{distance:c,point:uV.clone().applyMatrix4(i.matrixWorld),index:a,face:null,faceIndex:null,barycoord:null,object:i}}const hV=new Vn,dV=new Vn;class fV extends null{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let r=0,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sr.far)return;s.push({distance:c,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}class WSe extends null{constructor(e,t,n,r,s=Ff,a=Ff,o,l,c){super(e,t,n,r,s,a,o,l,c),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;const u=this;function h(){u.needsUpdate=!0,u._requestVideoFrameCallbackId=e.requestVideoFrameCallback(h)}"requestVideoFrameCallback"in e&&(this._requestVideoFrameCallbackId=e.requestVideoFrameCallback(h))}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&(this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0),super.dispose()}}class ZSe extends null{constructor(e,t,n,r,s,a,o,l){super({},e,t,n,r,s,a,o,l),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(e){this.image=e,this.needsUpdate=!0}}class $Se extends null{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=mA,this.minFilter=mA,this.generateMipmaps=!1,this.needsUpdate=!0}}class Tde extends null{constructor(e,t,n,r,s,a,o,l,c,u,h,d){super(null,a,o,l,c,u,r,s,h,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class jSe extends null{constructor(e,t,n,r,s,a){super(e,t,n,s,a),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=Rp,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class KSe extends null{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,ZR),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Bde extends vA{constructor(e,t,n,r,s,a,o,l,c){super(e,t,n,r,s,a,o,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class XSe extends null{constructor(e,t,n=XR,r,s,a,o=mA,l=mA,c,u=Az,h=1){if(u!==Az&&u!==Pue)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const d={width:e,height:t,depth:h};super(d,r,s,a,o,l,u,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Ev(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class YSe extends null{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}}class UI extends Do{constructor(e=1,t=1,n=4,r=8,s=1){super(),this.type="CapsuleGeometry",this.parameters={radius:e,height:t,capSegments:n,radialSegments:r,heightSegments:s},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),r=Math.max(3,Math.floor(r)),s=Math.max(1,Math.floor(s));const a=[],o=[],l=[],c=[],u=t/2,h=Math.PI/2*e,d=t,f=2*h+d,A=n*2+s,y=r+1,b=new Vn,x=new Vn;for(let P=0;P<=A;P++){let k=0,$=0,se=0,ie=0;if(P<=n){const ve=P/n,Fe=ve*Math.PI/2;$=-u-e*Math.cos(Fe),se=e*Math.sin(Fe),ie=-e*Math.cos(Fe),k=ve*h}else if(P<=n+s){const ve=(P-n)/s;$=-u+ve*t,se=e,ie=0,k=h+ve*d}else{const ve=(P-n-s)/n,Fe=ve*Math.PI/2;$=u+e*Math.sin(Fe),se=e*Math.cos(Fe),ie=e*Math.sin(Fe),k=h+d+ve*h}const ce=Math.max(0,Math.min(1,k/f));let ue=0;P===0?ue=.5/r:P===A&&(ue=-.5/r);for(let ve=0;ve<=r;ve++){const Fe=ve/r,nt=Fe*Math.PI*2,Gt=Math.sin(nt),Jt=Math.cos(nt);x.x=-se*Jt,x.y=$,x.z=se*Gt,o.push(x.x,x.y,x.z),b.set(-se*Jt,ie,se*Gt),b.normalize(),l.push(b.x,b.y,b.z),c.push(Fe+ue,ce)}if(P>0){const ve=(P-1)*y;for(let Fe=0;Fe0&&k(!0),t>0&&k(!1)),this.setIndex(u),this.setAttribute("position",new da(h,3)),this.setAttribute("normal",new da(d,3)),this.setAttribute("uv",new da(f,2));function P(){const $=new Vn,se=new Vn;let ie=0;const ce=(t-e)/n;for(let ue=0;ue<=s;ue++){const ve=[],Fe=ue/s,nt=Fe*(t-e)+e;for(let Gt=0;Gt<=r;Gt++){const Jt=Gt/r,gn=Jt*l+o,yn=Math.sin(gn),Mn=Math.cos(gn);se.x=nt*yn,se.y=-Fe*n+b,se.z=nt*Mn,h.push(se.x,se.y,se.z),$.set(yn,ce,Mn).normalize(),d.push($.x,$.y,$.z),f.push(Jt,1-Fe),ve.push(A++)}y.push(ve)}for(let ue=0;ue0||ve!==0)&&(u.push(Fe,nt,Jt),ie+=3),(t>0||ve!==s-1)&&(u.push(nt,Gt,Jt),ie+=3)}c.addGroup(x,ie,0),x+=ie}function k($){const se=A,ie=new ss,ce=new Vn;let ue=0;const ve=$===!0?e:t,Fe=$===!0?1:-1;for(let Gt=1;Gt<=r;Gt++)h.push(0,b*Fe,0),d.push(0,Fe,0),f.push(.5,.5),A++;const nt=A;for(let Gt=0;Gt<=r;Gt++){const gn=Gt/r*l+o,yn=Math.cos(gn),Mn=Math.sin(gn);ce.x=ve*Mn,ce.y=b*Fe,ce.z=ve*yn,h.push(ce.x,ce.y,ce.z),d.push(0,Fe,0),ie.x=yn*.5+.5,ie.y=Mn*.5*Fe+.5,f.push(ie.x,ie.y),A++}for(let Gt=0;Gt.9&&ce<.1&&(k<.2&&(a[P+0]+=1),$<.2&&(a[P+2]+=1),se<.2&&(a[P+4]+=1))}}function d(P){s.push(P.x,P.y,P.z)}function f(P,k){const $=P*3;k.x=e[$+0],k.y=e[$+1],k.z=e[$+2]}function A(){const P=new Vn,k=new Vn,$=new Vn,se=new Vn,ie=new ss,ce=new ss,ue=new ss;for(let ve=0,Fe=0;ve0)l=r-1;else{l=r;break}if(r=l,n[r]===a)return r/(s-1);const u=n[r],d=n[r+1]-u,f=(a-u)/d;return(r+f)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const a=this.getPoint(r),o=this.getPoint(s),l=t||(a.isVector2?new ss:new Vn);return l.copy(o).sub(a).normalize(),l}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){const n=new Vn,r=[],s=[],a=[],o=new Vn,l=new xo;for(let f=0;f<=e;f++){const A=f/e;r[f]=this.getTangentAt(A,new Vn)}s[0]=new Vn,a[0]=new Vn;let c=Number.MAX_VALUE;const u=Math.abs(r[0].x),h=Math.abs(r[0].y),d=Math.abs(r[0].z);u<=c&&(c=u,n.set(1,0,0)),h<=c&&(c=h,n.set(0,1,0)),d<=c&&n.set(0,0,1),o.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],o),a[0].crossVectors(r[0],s[0]);for(let f=1;f<=e;f++){if(s[f]=s[f-1].clone(),a[f]=a[f-1].clone(),o.crossVectors(r[f-1],r[f]),o.length()>Number.EPSILON){o.normalize();const A=Math.acos(Ja(r[f-1].dot(r[f]),-1,1));s[f].applyMatrix4(l.makeRotationAxis(o,A))}a[f].crossVectors(r[f],s[f])}if(t===!0){let f=Math.acos(Ja(s[0].dot(s[e]),-1,1));f/=e,r[0].dot(o.crossVectors(s[0],s[e]))>0&&(f=-f);for(let A=1;A<=e;A++)s[A].applyMatrix4(l.makeRotationAxis(r[A],f*A)),a[A].crossVectors(r[A],s[A])}return{tangents:r,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class HI extends Lp{constructor(e=0,t=0,n=1,r=1,s=0,a=Math.PI*2,o=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=o,this.aRotation=l}getPoint(e,t=new ss){const n=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(o)/s)+1)*s:l===0&&o===s-1&&(o=s-2,l=1);let c,u;this.closed||o>0?c=r[(o-1)%s]:(FS.subVectors(r[0],r[1]).add(r[0]),c=FS);const h=r[o%s],d=r[(o+1)%s];if(this.closed||o+2r.length-2?r.length-1:a+1],h=r[a>r.length-3?r.length-1:a+2];return n.set(mV(o,l.x,c.x,u.x,h.x),mV(o,l.y,c.y,u.y,h.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=r[s]-n,o=this.curves[s],l=o.getLength(),c=l===0?0:1-a/l;return o.getPointAt(c,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const h=c.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(c);const u=c.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Dx extends $I{constructor(e){super(e),this.uuid=ef(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n80*t){o=i[0],l=i[1];let u=o,h=l;for(let d=t;du&&(u=f),A>h&&(h=A)}c=Math.max(u-o,h-l),c=c!==0?32767/c:0}return G_(s,a,t,o,l,c,0),a}function wV(i,e,t,n,r){let s;if(r===sfe(i,e,t,n)>0)for(let a=e;a=e;a-=n)s=MV(a/n|0,i[a],i[a+1],s);return s&&Ux(s,s.next)&&(Z_(s),s=s.next),s}function Pv(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(Ux(t,t.next)||Pc(t.prev,t,t.next)===0)){if(Z_(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function G_(i,e,t,n,r,s,a){if(!i)return;!a&&s&&Jde(i,n,r,s);let o=i;for(;i.prev!==i.next;){const l=i.prev,c=i.next;if(s?Wde(i,n,r,s):Qde(i)){e.push(l.i,i.i,c.i),Z_(i),i=c.next,o=c.next;continue}if(i=c,i===o){a?a===1?(i=Zde(Pv(i),e),G_(i,e,t,n,r,s,2)):a===2&&$de(i,e,t,n,r,s):G_(Pv(i),e,t,n,r,s,1);break}}}function Qde(i){const e=i.prev,t=i,n=i.next;if(Pc(e,t,n)>=0)return!1;const r=e.x,s=t.x,a=n.x,o=e.y,l=t.y,c=n.y,u=Math.min(r,s,a),h=Math.min(o,l,c),d=Math.max(r,s,a),f=Math.max(o,l,c);let A=n.next;for(;A!==e;){if(A.x>=u&&A.x<=d&&A.y>=h&&A.y<=f&&Q_(r,o,s,l,a,c,A.x,A.y)&&Pc(A.prev,A,A.next)>=0)return!1;A=A.next}return!0}function Wde(i,e,t,n){const r=i.prev,s=i,a=i.next;if(Pc(r,s,a)>=0)return!1;const o=r.x,l=s.x,c=a.x,u=r.y,h=s.y,d=a.y,f=Math.min(o,l,c),A=Math.min(u,h,d),y=Math.max(o,l,c),b=Math.max(u,h,d),x=jI(f,A,e,t,n),P=jI(y,b,e,t,n);let k=i.prevZ,$=i.nextZ;for(;k&&k.z>=x&&$&&$.z<=P;){if(k.x>=f&&k.x<=y&&k.y>=A&&k.y<=b&&k!==r&&k!==a&&Q_(o,u,l,h,c,d,k.x,k.y)&&Pc(k.prev,k,k.next)>=0||(k=k.prevZ,$.x>=f&&$.x<=y&&$.y>=A&&$.y<=b&&$!==r&&$!==a&&Q_(o,u,l,h,c,d,$.x,$.y)&&Pc($.prev,$,$.next)>=0))return!1;$=$.nextZ}for(;k&&k.z>=x;){if(k.x>=f&&k.x<=y&&k.y>=A&&k.y<=b&&k!==r&&k!==a&&Q_(o,u,l,h,c,d,k.x,k.y)&&Pc(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;$&&$.z<=P;){if($.x>=f&&$.x<=y&&$.y>=A&&$.y<=b&&$!==r&&$!==a&&Q_(o,u,l,h,c,d,$.x,$.y)&&Pc($.prev,$,$.next)>=0)return!1;$=$.nextZ}return!0}function Zde(i,e){let t=i;do{const n=t.prev,r=t.next.next;!Ux(n,r)&&SV(n,t,t.next,r)&&W_(n,r)&&W_(r,n)&&(e.push(n.i,t.i,r.i),Z_(t),Z_(t.next),t=i=r),t=t.next}while(t!==i);return Pv(t)}function $de(i,e,t,n,r,s){let a=i;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&nfe(a,o)){let l=CV(a,o);a=Pv(a,a.next),l=Pv(l,l.next),G_(a,e,t,n,r,s,0),G_(l,e,t,n,r,s,0);return}o=o.next}a=a.next}while(a!==i)}function jde(i,e,t,n){const r=[];for(let s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const h=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(h<=n&&h>s&&(s=h,a=t.x=t.x&&t.x>=l&&n!==t.x&&EV(ra.x||t.x===a.x&&qde(a,t)))&&(a=t,u=h)}t=t.next}while(t!==o);return a}function qde(i,e){return Pc(i.prev,i,e.prev)<0&&Pc(e.next,i,i.next)<0}function Jde(i,e,t,n){let r=i;do r.z===0&&(r.z=jI(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,efe(r)}function efe(i){let e,t=1;do{let n=i,r;i=null;let s=null;for(e=0;n;){e++;let a=n,o=0;for(let c=0;c0||l>0&&a;)o!==0&&(l===0||!a||n.z<=a.z)?(r=n,n=n.nextZ,o--):(r=a,a=a.nextZ,l--),s?s.nextZ=r:i=r,r.prevZ=s,s=r;n=a}s.nextZ=null,t*=2}while(e>1);return i}function jI(i,e,t,n,r){return i=(i-t)*r|0,e=(e-n)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function tfe(i){let e=i,t=i;do(e.x=(i-a)*(s-o)&&(i-a)*(n-o)>=(t-a)*(e-o)&&(t-a)*(s-o)>=(r-a)*(n-o)}function Q_(i,e,t,n,r,s,a,o){return!(i===a&&e===o)&&EV(i,e,t,n,r,s,a,o)}function nfe(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!rfe(i,e)&&(W_(i,e)&&W_(e,i)&&ife(i,e)&&(Pc(i.prev,i,e.prev)||Pc(i,e.prev,e))||Ux(i,e)&&Pc(i.prev,i,i.next)>0&&Pc(e.prev,e,e.next)>0)}function Pc(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Ux(i,e){return i.x===e.x&&i.y===e.y}function SV(i,e,t,n){const r=DS(Pc(i,e,t)),s=DS(Pc(i,e,n)),a=DS(Pc(t,n,i)),o=DS(Pc(t,n,e));return!!(r!==s&&a!==o||r===0&&LS(i,t,e)||s===0&&LS(i,n,e)||a===0&&LS(t,i,n)||o===0&&LS(t,e,n))}function LS(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function DS(i){return i>0?1:i<0?-1:0}function rfe(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&SV(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function W_(i,e){return Pc(i.prev,i,i.next)<0?Pc(i,e,i.next)>=0&&Pc(i,i.prev,e)>=0:Pc(i,e,i.prev)<0||Pc(i,i.next,e)<0}function ife(i,e){let t=i,n=!1;const r=(i.x+e.x)/2,s=(i.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function CV(i,e){const t=KI(i.i,i.x,i.y),n=KI(e.i,e.x,e.y),r=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function MV(i,e,t,n){const r=KI(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function Z_(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function KI(i,e,t){return{i,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function sfe(i,e,t,n){let r=0;for(let s=e,a=t-n;s2&&i[e-1].equals(i[0])&&i.pop()}function BV(i,e){for(let t=0;tNumber.EPSILON){const ei=Math.sqrt(St),Pi=Math.sqrt(zi*zi+An*An),hi=kr.x-Fs/ei,ca=kr.y+Fi/ei,bs=Br.x-An/Pi,ua=Br.y+zi/Pi,Va=((bs-hi)*An-(ua-ca)*zi)/(Fi*An-Fs*zi);oi=hi+Fi*Va-gr.x,ln=ca+Fs*Va-gr.y;const Xi=oi*oi+ln*ln;if(Xi<=2)return new ss(oi,ln);As=Math.sqrt(Xi/2)}else{let ei=!1;Fi>Number.EPSILON?zi>Number.EPSILON&&(ei=!0):Fi<-Number.EPSILON?zi<-Number.EPSILON&&(ei=!0):Math.sign(Fs)===Math.sign(An)&&(ei=!0),ei?(oi=-Fs,ln=Fi,As=Math.sqrt(St)):(oi=Fi,ln=Fs,As=Math.sqrt(St/2))}return new ss(oi/As,ln/As)}const Er=[];for(let gr=0,kr=yn.length,Br=kr-1,oi=gr+1;gr=0;gr--){const kr=gr/b,Br=f*Math.cos(kr*Math.PI/2),oi=A*Math.sin(kr*Math.PI/2)+y;for(let ln=0,As=yn.length;ln=0;){const oi=Br;let ln=Br-1;ln<0&&(ln=gr.length-1);for(let As=0,Fi=u+b*2;As0)&&f.push(k,$,ie),(x!==n-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class pfe extends null{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new co(16777215),this.specular=new co(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new co(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=fx,this.normalScale=new ss(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pp,this.combine=QR,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class gfe extends null{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new co(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new co(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=fx,this.normalScale=new ss(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class mfe extends null{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=fx,this.normalScale=new ss(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class vfe extends null{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new co(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new co(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=fx,this.normalScale=new ss(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Pp,this.combine=QR,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class yfe extends null{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=vhe,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class xfe extends null{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class bfe extends null{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new co(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=fx,this.normalScale=new ss(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this.fog=e.fog,this}}class _fe extends null{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function Fv(i,e){return!i||i.constructor===e?i:typeof e.BYTES_PER_ELEMENT=="number"?new e(i):Array.prototype.slice.call(i)}function NV(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function PV(i){function e(r,s){return i[r]-i[s]}const t=i.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort(e),n}function aN(i,e,t){const n=i.length,r=new i.constructor(n);for(let s=0,a=0;a!==n;++s){const o=t[s]*e;for(let l=0;l!==e;++l)r[a++]=i[o+l]}return r}function oN(i,e,t,n){let r=1,s=i[0];for(;s!==void 0&&s[n]===void 0;)s=i[r++];if(s===void 0)return;let a=s[n];if(a!==void 0)if(Array.isArray(a))do a=s[n],a!==void 0&&(e.push(s.time),t.push(...a)),s=i[r++];while(s!==void 0);else if(a.toArray!==void 0)do a=s[n],a!==void 0&&(e.push(s.time),a.toArray(t,t.length)),s=i[r++];while(s!==void 0);else do a=s[n],a!==void 0&&(e.push(s.time),t.push(a)),s=i[r++];while(s!==void 0)}function wfe(i,e,t,n,r=30){const s=i.clone();s.name=e;const a=[];for(let l=0;l=n)){h.push(c.times[f]);for(let y=0;ys.tracks[l].times[0]&&(o=s.tracks[l].times[0]);for(let l=0;l=o.times[A]){const x=A*h+u,P=x+h-u;y=o.values.slice(x,P)}else{const x=o.createInterpolant(),P=u,k=h-u;x.evaluate(s),y=x.resultBuffer.slice(P,k)}l==="quaternion"&&new tf().fromArray(y).normalize().conjugate().toArray(y);const b=c.times.length;for(let x=0;x=s)){const o=t[1];e=s)break t}a=n,n=0;break n}break e}for(;n>>1;et;)--a;if(++a,s!==0||a!==r){s>=a&&(a=Math.max(a,1),s=a-1);const o=this.getValueSize();this.times=n.slice(s,a),this.values=this.values.slice(s*o,a*o)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(Al("KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,r=this.values,s=n.length;s===0&&(Al("KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let o=0;o!==s;o++){const l=n[o];if(typeof l=="number"&&isNaN(l)){Al("KeyframeTrack: Time is not a valid number.",this,o,l),e=!1;break}if(a!==null&&a>l){Al("KeyframeTrack: Out of order keys.",this,o,l,a),e=!1;break}a=l}if(r!==void 0&&NV(r))for(let o=0,l=r.length;o!==l;++o){const c=r[o];if(isNaN(c)){Al("KeyframeTrack: Value is not a valid number.",this,o,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===qR,s=e.length-1;let a=1;for(let o=1;o0){e[a]=e[s];for(let o=s*n,l=a*n,c=0;c!==n;++c)t[l+c]=t[o+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=t.slice(0,a*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,r=new n(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}wA.prototype.ValueTypeName="",wA.prototype.TimeBufferType=Float32Array,wA.prototype.ValueBufferType=Float32Array,wA.prototype.DefaultInterpolation=YR;class kx extends wA{constructor(e,t,n){super(e,t,n)}}kx.prototype.ValueTypeName="bool",kx.prototype.ValueBufferType=Array,kx.prototype.DefaultInterpolation=QE,kx.prototype.InterpolantFactoryMethodLinear=void 0,kx.prototype.InterpolantFactoryMethodSmooth=void 0;class OV extends wA{constructor(e,t,n,r){super(e,t,n,r)}}OV.prototype.ValueTypeName="color";class zS extends wA{constructor(e,t,n,r){super(e,t,n,r)}}zS.prototype.ValueTypeName="number";class Mfe extends kS{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,l=(n-t)/(r-t);let c=e*o;for(let u=c+o;c!==u;c+=4)tf.slerpFlat(s,0,a,c-o,a,c,l);return s}}class VS extends wA{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new Mfe(this.times,this.values,this.getValueSize(),e)}}VS.prototype.ValueTypeName="quaternion",VS.prototype.InterpolantFactoryMethodSmooth=void 0;class zx extends wA{constructor(e,t,n){super(e,t,n)}}zx.prototype.ValueTypeName="string",zx.prototype.ValueBufferType=Array,zx.prototype.DefaultInterpolation=QE,zx.prototype.InterpolantFactoryMethodLinear=void 0,zx.prototype.InterpolantFactoryMethodSmooth=void 0;class HS extends wA{constructor(e,t,n,r){super(e,t,n,r)}}HS.prototype.ValueTypeName="vector";class GS{constructor(e="",t=-1,n=[],r=JR){this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=ef(),this.userData={},this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let a=0,o=n.length;a!==o;++a)t.push(Bfe(n[a]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s.userData=JSON.parse(e.userData||"{}"),s}static toJSON(e){const t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode,userData:JSON.stringify(e.userData)};for(let s=0,a=n.length;s!==a;++s)t.push(wA.toJSON(n[s]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const s=t.length,a=[];for(let o=0;o1){const h=u[1];let d=r[h];d||(r[h]=d=[]),d.push(c)}}const a=[];for(const o in r)a.push(this.CreateFromMorphTargetSequence(o,r[o],t,n));return a}static parseAnimation(e,t){if(Ya("AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!e)return Al("AnimationClip: No animation in JSONLoader data."),null;const n=function(h,d,f,A,y){if(f.length!==0){const b=[],x=[];oN(f,b,x,A),b.length!==0&&y.push(new h(d,b,x))}},r=[],s=e.name||"default",a=e.fps||30,o=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let h=0;h{t&&t(s),this.manager.itemEnd(e)},0),s;if(Zg[e]!==void 0){Zg[e].push({onLoad:t,onProgress:n,onError:r});return}Zg[e]=[],Zg[e].push({onLoad:t,onProgress:n,onError:r});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),o=this.mimeType,l=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&Ya("FileLoader: HTTP Status 0 received."),typeof ReadableStream=="undefined"||c.body===void 0||c.body.getReader===void 0)return c;const u=Zg[e],h=c.body.getReader(),d=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),f=d?parseInt(d):0,A=f!==0;let y=0;const b=new ReadableStream({start(x){P();function P(){h.read().then(({done:k,value:$})=>{if(k)x.close();else{y+=$.byteLength;const se=new ProgressEvent("progress",{lengthComputable:A,loaded:y,total:f});for(let ie=0,ce=u.length;ie{x.error(k)})}}});return new Response(b)}else throw new Nfe(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(u=>new DOMParser().parseFromString(u,o));case"json":return c.json();default:if(o==="")return c.text();{const h=/charset="?([^;"\s]*)"?/i.exec(o),d=h&&h[1]?h[1].toLowerCase():void 0,f=new TextDecoder(d);return c.arrayBuffer().then(A=>f.decode(A))}}}).then(c=>{Wg.add(`file:${e}`,c);const u=Zg[e];delete Zg[e];for(let h=0,d=u.length;h{const u=Zg[e];if(u===void 0)throw this.manager.itemError(e),c;delete Zg[e];for(let h=0,d=u.length;h{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}class JSe extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new t0(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(o){try{t(s.parse(JSON.parse(o)))}catch(l){r?r(l):Al(l),s.manager.itemError(e)}},n,r)}parse(e){const t=[];for(let n=0;n0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const a=e.uniforms[s];switch(r.uniforms[s]={},a.type){case"t":r.uniforms[s].value=n(a.value);break;case"c":r.uniforms[s].value=new co().setHex(a.value);break;case"v2":r.uniforms[s].value=new ss().fromArray(a.value);break;case"v3":r.uniforms[s].value=new Vn().fromArray(a.value);break;case"v4":r.uniforms[s].value=new Gu().fromArray(a.value);break;case"m3":r.uniforms[s].value=new Np().fromArray(a.value);break;case"m4":r.uniforms[s].value=new xo().fromArray(a.value);break;default:r.uniforms[s].value=a.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=n(e.map)),e.matcap!==void 0&&(r.matcap=n(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new ss().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=n(e.envMap)),e.envMapRotation!==void 0&&r.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new ss().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return uN.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:hfe,SpriteMaterial:CI,RawShaderMaterial:dfe,ShaderMaterial:Gz,PointsMaterial:AV,MeshPhysicalMaterial:Afe,MeshStandardMaterial:ffe,MeshPhongMaterial:pfe,MeshToonMaterial:gfe,MeshNormalMaterial:mfe,MeshLambertMaterial:vfe,MeshDepthMaterial:yfe,MeshDistanceMaterial:xfe,MeshBasicMaterial:Mv,MeshMatcapMaterial:bfe,LineDashedMaterial:_fe,LineBasicMaterial:of,Material:xI};return new t[e]}}class VV{static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class Qfe extends null{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class Wfe extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new t0(s.manager);a.setPath(s.path),a.setRequestHeader(s.requestHeader),a.setWithCredentials(s.withCredentials),a.load(e,function(o){try{t(s.parse(JSON.parse(o)))}catch(l){r?r(l):Al(l),s.manager.itemError(e)}},n,r)}parse(e){const t={},n={};function r(f,A){if(t[A]!==void 0)return t[A];const b=f.interleavedBuffers[A],x=s(f,b.buffer),P=px(b.type,x),k=new Zz(P,b.stride);return k.uuid=b.uuid,t[A]=k,k}function s(f,A){if(n[A]!==void 0)return n[A];const b=f.arrayBuffers[A],x=new Uint32Array(b).buffer;return n[A]=x,x}const a=e.isInstancedBufferGeometry?new Qfe:new Do,o=e.data.index;if(o!==void 0){const f=px(o.type,o.array);a.setIndex(new Lh(f,1))}const l=e.data.attributes;for(const f in l){const A=l[f];let y;if(A.isInterleavedBufferAttribute){const b=r(e.data,A.data);y=new Rx(b,A.itemSize,A.offset,A.normalized)}else{const b=px(A.type,A.array),x=A.isInstancedBufferAttribute?L_:Lh;y=new x(b,A.itemSize,A.normalized)}A.name!==void 0&&(y.name=A.name),A.usage!==void 0&&y.setUsage(A.usage),a.setAttribute(f,y)}const c=e.data.morphAttributes;if(c)for(const f in c){const A=c[f],y=[];for(let b=0,x=A.length;b0){const l=new LV(t);s=new QS(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,u=e.length;c0){r=new QS(this.manager),r.setCrossOrigin(this.crossOrigin);for(let a=0,o=e.length;a{let b=null,x=null;return y.boundingBox!==void 0&&(b=new ed().fromJSON(y.boundingBox)),y.boundingSphere!==void 0&&(x=new Fh().fromJSON(y.boundingSphere)),dh(ko({},y),{boundingBox:b,boundingSphere:x})}),a._instanceInfo=e.instanceInfo,a._availableInstanceIds=e._availableInstanceIds,a._availableGeometryIds=e._availableGeometryIds,a._nextIndexStart=e.nextIndexStart,a._nextVertexStart=e.nextVertexStart,a._geometryCount=e.geometryCount,a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._matricesTexture=c(e.matricesTexture.uuid),a._indirectTexture=c(e.indirectTexture.uuid),e.colorsTexture!==void 0&&(a._colorsTexture=c(e.colorsTexture.uuid)),e.boundingSphere!==void 0&&(a.boundingSphere=new Fh().fromJSON(e.boundingSphere)),e.boundingBox!==void 0&&(a.boundingBox=new ed().fromJSON(e.boundingBox));break;case"LOD":a=new cde;break;case"Line":a=new SS(o(e.geometry),l(e.material));break;case"LineLoop":a=new Cde(o(e.geometry),l(e.material));break;case"LineSegments":a=new fV(o(e.geometry),l(e.material));break;case"PointCloud":case"Points":a=new Mde(o(e.geometry),l(e.material));break;case"Sprite":a=new Xz(l(e.material));break;case"Group":a=new Bx;break;case"Bone":a=new rV;break;default:a=new Bu}if(a.uuid=e.uuid,e.name!==void 0&&(a.name=e.name),e.matrix!==void 0?(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)):(e.position!==void 0&&a.position.fromArray(e.position),e.rotation!==void 0&&a.rotation.fromArray(e.rotation),e.quaternion!==void 0&&a.quaternion.fromArray(e.quaternion),e.scale!==void 0&&a.scale.fromArray(e.scale)),e.up!==void 0&&a.up.fromArray(e.up),e.castShadow!==void 0&&(a.castShadow=e.castShadow),e.receiveShadow!==void 0&&(a.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(a.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(a.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(a.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(a.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(a.visible=e.visible),e.frustumCulled!==void 0&&(a.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(a.renderOrder=e.renderOrder),e.userData!==void 0&&(a.userData=e.userData),e.layers!==void 0&&(a.layers.mask=e.layers),e.children!==void 0){const d=e.children;for(let f=0;f{if(hN.has(a)===!0)r&&r(hN.get(a)),s.manager.itemError(e),s.manager.itemEnd(e);else return t&&t(c),s.manager.itemEnd(e),c});return}return setTimeout(function(){t&&t(a),s.manager.itemEnd(e)},0),a}const o={};o.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",o.headers=this.requestHeader,o.signal=typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;const l=fetch(e,o).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return Wg.add(`image-bitmap:${e}`,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){r&&r(c),hN.set(l,c),Wg.remove(`image-bitmap:${e}`),s.manager.itemError(e),s.manager.itemEnd(e)});Wg.add(`image-bitmap:${e}`,l),s.manager.itemStart(e)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}let WS;class QV{static getContext(){return WS===void 0&&(WS=new(window.AudioContext||window.webkitAudioContext)),WS}static setContext(e){WS=e}}class lCe extends null{constructor(e){super(e)}load(e,t,n,r){const s=this,a=new t0(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{const c=l.slice(0);QV.getContext().decodeAudioData(c,function(h){t(h)}).catch(o)}catch(c){o(c)}},n,r);function o(l){r?r(l):Al(l),s.manager.itemError(e)}}}const WV=new xo,ZV=new xo,Ov=new xo;class cCe{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new _A,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new _A,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Ov.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,a=t.near*Math.tan(wv*t.fov*.5)/t.zoom;let o,l;ZV.elements[12]=-r,WV.elements[12]=r,o=-a*t.aspect+s,l=a*t.aspect+s,Ov.elements[0]=2*t.near/(l-o),Ov.elements[8]=(l+o)/(l-o),this.cameraL.projectionMatrix.copy(Ov),o=-a*t.aspect-s,l=a*t.aspect-s,Ov.elements[0]=2*t.near/(l-o),Ov.elements[8]=(l+o)/(l-o),this.cameraR.projectionMatrix.copy(Ov)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(ZV),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(WV)}}class uCe extends null{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}}class $fe{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=performance.now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}const Lv=new Vn,dN=new tf,jfe=new Vn,Dv=new Vn,Uv=new Vn;class hCe extends null{constructor(){super(),this.type="AudioListener",this.context=QV.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new $fe}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Lv,dN,jfe),Dv.set(0,0,-1).applyQuaternion(dN),Uv.set(0,1,0).applyQuaternion(dN),t.positionX){const n=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Lv.x,n),t.positionY.linearRampToValueAtTime(Lv.y,n),t.positionZ.linearRampToValueAtTime(Lv.z,n),t.forwardX.linearRampToValueAtTime(Dv.x,n),t.forwardY.linearRampToValueAtTime(Dv.y,n),t.forwardZ.linearRampToValueAtTime(Dv.z,n),t.upX.linearRampToValueAtTime(Uv.x,n),t.upY.linearRampToValueAtTime(Uv.y,n),t.upZ.linearRampToValueAtTime(Uv.z,n)}else t.setPosition(Lv.x,Lv.y,Lv.z),t.setOrientation(Dv.x,Dv.y,Dv.z,Uv.x,Uv.y,Uv.z)}}class dCe extends null{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){Ya("Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){Ya("Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){Ya("Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){Ya("Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){o.setValue(n,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let s=n,a=r;s!==a;++s)t[s]=t[r+s%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let a=0;a!==s;++a)e[t+a]=e[n+a]}_slerp(e,t,n,r){tf.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,s){const a=this._workIndex*s;tf.multiplyQuaternionsFlat(e,a,e,t,e,n),tf.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,s){const a=1-r;for(let o=0;o!==s;++o){const l=t+o;e[l]=e[l]*a+e[n+o]*r}}_lerpAdditive(e,t,n,r,s){for(let a=0;a!==s;++a){const o=t+a;e[o]=e[o]+e[n+a]*r}}}const fN="\\[\\]\\.:\\/",Yfe=new RegExp("["+fN+"]","g"),AN="[^"+fN+"]",qfe="[^"+fN.replace("\\.","")+"]",Jfe=/((?:WC+[\/:])*)/.source.replace("WC",AN),eAe=/(WCOD+)?/.source.replace("WCOD",qfe),tAe=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",AN),nAe=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",AN),rAe=new RegExp("^"+Jfe+eAe+tAe+nAe+"$"),iAe=["material","materials","bones","map"];class sAe{constructor(e,t,n){const r=n||pl.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];r!==void 0&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=n.length;r!==s;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class pl{constructor(e,t,n){this.path=t,this.parsedPath=n||pl.parseTrackName(t),this.node=pl.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new pl.Composite(e,t,n):new pl(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Yfe,"")}static parseTrackName(e){const t=rAe.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=n.nodeName.substring(r+1);iAe.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(s){for(let a=0;a=s){const h=s++,d=e[h];t[d.uuid]=u,e[u]=d,t[c]=h,e[h]=l;for(let f=0,A=r;f!==A;++f){const y=n[f],b=y[h],x=y[u];y[u]=b,y[h]=x}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let s=this.nCachedObjects_,a=e.length;for(let o=0,l=arguments.length;o!==l;++o){const c=arguments[o],u=c.uuid,h=t[u];if(h!==void 0)if(delete t[u],h0&&(t[f.uuid]=h),e[h]=f,e.pop();for(let A=0,y=r;A!==y;++A){const b=n[A];b[h]=b[d],b.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const s=this._bindings;if(r!==void 0)return s[r];const a=this._paths,o=this._parsedPaths,l=this._objects,c=l.length,u=this.nCachedObjects_,h=new Array(c);r=s.length,n[e]=r,a.push(e),o.push(t),s.push(h);for(let d=u,f=l.length;d!==f;++d){const A=l[d];h[d]=new pl(A,e,t)}return h}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const r=this._paths,s=this._parsedPaths,a=this._bindings,o=a.length-1,l=a[o],c=e[o];t[c]=n,a[n]=l,a.pop(),s[n]=s[o],s.pop(),r[n]=r[o],r.pop()}}}class aAe{constructor(e,t,n=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;const s=t.tracks,a=s.length,o=new Array(a),l={endingStart:hx,endingEnd:hx};for(let c=0;c!==a;++c){const u=s[c].createInterpolant(null);o[c]=u,u.settings=l}this._interpolantSettings=l,this._interpolants=o,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=ghe,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n=!1){if(e.fadeOut(t),this.fadeIn(t),n===!0){const r=this._clip.duration,s=e._clip.duration,a=s/r,o=r/s;e.warp(1,a,t),this.warp(o,1,t)}return this}crossFadeTo(e,t,n=!1){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const r=this._mixer,s=r.time,a=this.timeScale;let o=this._timeScaleInterpolant;o===null&&(o=r._lendControlInterpolant(),this._timeScaleInterpolant=o);const l=o.parameterPositions,c=o.sampleValues;return l[0]=s,l[1]=s+n,c[0]=e/a,c[1]=t/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*n;l<0||n===0?t=0:(this._startTime=null,t=n*l)}t*=this._updateTimeScale(e);const a=this._updateTime(t),o=this._updateWeight(e);if(o>0){const l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case mz:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulateAdditive(o);break;case JR:default:for(let u=0,h=l.length;u!==h;++u)l[u].evaluate(a),c[u].accumulate(r,o)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let r=this.time+e,s=this._loopCount;const a=n===mhe;if(e===0)return s===-1?r:a&&(s&1)===1?t-r:r;if(n===phe){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),r>=t||r<0){const o=Math.floor(r/t);r-=t*o,s+=Math.abs(o);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:o})}}else this.time=r;if(a&&(s&1)===1)return t-r}return r}_setEndings(e,t,n){const r=this._interpolantSettings;n?(r.endingStart=dx,r.endingEnd=dx):(e?r.endingStart=this.zeroSlopeAtStart?dx:hx:r.endingStart=WE,t?r.endingEnd=this.zeroSlopeAtEnd?dx:hx:r.endingEnd=WE)}_scheduleFading(e,t,n){const r=this._mixer,s=r.time;let a=this._weightInterpolant;a===null&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=s,l[0]=t,o[1]=s+e,l[1]=n,this}}const oAe=new Float32Array(1);class gCe extends null{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,s=r.length,a=e._propertyBindings,o=e._interpolants,l=n.uuid,c=this._bindingsByRootAndName;let u=c[l];u===void 0&&(u={},c[l]=u);for(let h=0;h!==s;++h){const d=r[h],f=d.name;let A=u[f];if(A!==void 0)++A.referenceCount,a[h]=A;else{if(A=a[h],A!==void 0){A._cacheIndex===null&&(++A.referenceCount,this._addInactiveBinding(A,l,f));continue}const y=t&&t._propertyBindings[h].binding.parsedPath;A=new Xfe(pl.create(n,f,y),d.ValueTypeName,d.getValueSize()),++A.referenceCount,this._addInactiveBinding(A,l,f),a[h]=A}o[h].resultBuffer=A.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,n)}const t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){const s=t[n];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){const s=t[n];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,s=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==n;++c)t[c]._update(r,e,s,a);const o=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)o[c].apply(a);return this}setTime(e){this.time=0;for(let t=0;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,qV).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const JV=new Vn,ZS=new Vn,Hx=new Vn,Gx=new Vn,gN=new Vn,uAe=new Vn,hAe=new Vn;class CCe{constructor(e=new Vn,t=new Vn){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){JV.subVectors(e,this.start),ZS.subVectors(this.end,this.start);const n=ZS.dot(ZS);let s=ZS.dot(JV)/n;return t&&(s=Ja(s,0,1)),s}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}distanceSqToLine3(e,t=uAe,n=hAe){const r=10000000000000001e-32;let s,a;const o=this.start,l=e.start,c=this.end,u=e.end;Hx.subVectors(c,o),Gx.subVectors(u,l),gN.subVectors(o,l);const h=Hx.dot(Hx),d=Gx.dot(Gx),f=Gx.dot(gN);if(h<=r&&d<=r)return t.copy(o),n.copy(l),t.sub(n),t.dot(t);if(h<=r)s=0,a=f/d,a=Ja(a,0,1);else{const A=Hx.dot(gN);if(d<=r)a=0,s=Ja(-A/h,0,1);else{const y=Hx.dot(Gx),b=h*d-y*y;b!==0?s=Ja((y*f-A*d)/b,0,1):s=0,a=(y*s+f)/d,a<0?(a=0,s=Ja(-A/h,0,1)):a>1&&(a=1,s=Ja((y-A)/h,0,1))}}return t.copy(o).add(Hx.multiplyScalar(s)),n.copy(l).add(Gx.multiplyScalar(a)),t.sub(n),t.dot(t)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const e6=new Vn;class MCe extends null{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new Do,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,o=1,l=32;a1)for(let h=0;h.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{a6.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(a6,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class kCe extends null{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new Do;r.setAttribute("position",new da(t,3)),r.setAttribute("color",new da(n,3));const s=new of({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,n){const r=new co,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(n),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class zCe{constructor(){this.type="ShapePath",this.color=new co,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new $I,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,s,a){return this.currentPath.bezierCurveTo(e,t,n,r,s,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(x){const P=[];for(let k=0,$=x.length;k<$;k++){const se=x[k],ie=new Dx;ie.curves=se.curves,P.push(ie)}return P}function n(x,P){const k=P.length;let $=!1;for(let se=k-1,ie=0;ieNumber.EPSILON){if(Fe<0&&(ce=P[ie],ve=-ve,ue=P[se],Fe=-Fe),x.yue.y)continue;if(x.y===ce.y){if(x.x===ce.x)return!0}else{const nt=Fe*(x.x-ce.x)-ve*(x.y-ce.y);if(nt===0)return!0;if(nt<0)continue;$=!$}}else{if(x.y!==ce.y)continue;if(ue.x<=x.x&&x.x<=ce.x||ce.x<=x.x&&x.x<=ue.x)return!0}}return $}const r=Dp.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,o,l;const c=[];if(s.length===1)return o=s[0],l=new Dx,l.curves=o.curves,c.push(l),c;let u=!r(s[0].getPoints());u=e?!u:u;const h=[],d=[];let f=[],A=0,y;d[A]=void 0,f[A]=[];for(let x=0,P=s.length;x1){let x=!1,P=0;for(let k=0,$=d.length;k<$;k++)h[k]=[];for(let k=0,$=d.length;k<$;k++){const se=f[k];for(let ie=0;ie0&&x===!1&&(f=h)}let b;for(let x=0,P=d.length;xe?(i.repeat.x=1,i.repeat.y=t/e,i.offset.x=0,i.offset.y=(1-i.repeat.y)/2):(i.repeat.x=e/t,i.repeat.y=1,i.offset.x=(1-i.repeat.x)/2,i.offset.y=0),i}function AAe(i,e){const t=i.image&&i.image.width?i.image.width/i.image.height:1;return t>e?(i.repeat.x=e/t,i.repeat.y=1,i.offset.x=(1-i.repeat.x)/2,i.offset.y=0):(i.repeat.x=1,i.repeat.y=t/e,i.offset.x=0,i.offset.y=(1-i.repeat.y)/2),i}function pAe(i){return i.repeat.x=1,i.repeat.y=1,i.offset.x=0,i.offset.y=0,i}function gAe(i,e,t,n){const r=mAe(n);switch(t){case Iue:return i*e;case pz:return i*e/r.components*r.byteLength;case gz:return i*e/r.components*r.byteLength;case Fue:return i*e*2/r.components*r.byteLength;case Oue:return i*e*2/r.components*r.byteLength;case Nue:return i*e*3/r.components*r.byteLength;case w_:return i*e*4/r.components*r.byteLength;case Lue:return i*e*4/r.components*r.byteLength;case Due:case Uue:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*8;case kue:case zue:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case Hue:case Que:return Math.max(i,16)*Math.max(e,8)/4;case Vue:case Gue:return Math.max(i,8)*Math.max(e,8)/2;case Wue:case Zue:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*8;case $ue:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case jue:return Math.floor((i+3)/4)*Math.floor((e+3)/4)*16;case Kue:return Math.floor((i+4)/5)*Math.floor((e+3)/4)*16;case Xue:return Math.floor((i+4)/5)*Math.floor((e+4)/5)*16;case Yue:return Math.floor((i+5)/6)*Math.floor((e+4)/5)*16;case que:return Math.floor((i+5)/6)*Math.floor((e+5)/6)*16;case Jue:return Math.floor((i+7)/8)*Math.floor((e+4)/5)*16;case ehe:return Math.floor((i+7)/8)*Math.floor((e+5)/6)*16;case the:return Math.floor((i+7)/8)*Math.floor((e+7)/8)*16;case nhe:return Math.floor((i+9)/10)*Math.floor((e+4)/5)*16;case rhe:return Math.floor((i+9)/10)*Math.floor((e+5)/6)*16;case ihe:return Math.floor((i+9)/10)*Math.floor((e+7)/8)*16;case she:return Math.floor((i+9)/10)*Math.floor((e+9)/10)*16;case ahe:return Math.floor((i+11)/12)*Math.floor((e+9)/10)*16;case ohe:return Math.floor((i+11)/12)*Math.floor((e+11)/12)*16;case lhe:case che:case uhe:return Math.ceil(i/4)*Math.ceil(e/4)*16;case hhe:case dhe:return Math.ceil(i/4)*Math.ceil(e/4)*8;case fhe:case Ahe:return Math.ceil(i/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function mAe(i){switch(i){case KR:case _ue:return{byteLength:1,components:1};case Eue:case wue:case Cue:return{byteLength:2,components:1};case Mue:case Tue:return{byteLength:2,components:4};case XR:case Sue:case ux:return{byteLength:4,components:1};case Bue:case Rue:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${i}.`)}class HCe{static contain(e,t){return fAe(e,t)}static cover(e,t){return AAe(e,t)}static fill(e){return pAe(e)}static getByteLength(e,t,n,r){return gAe(e,t,n,r)}}typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:az}})),typeof window!="undefined"&&(window.__THREE__?Ya("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=az);function yN(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t0&&arguments[0]!==void 0?arguments[0]:"",r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:10,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"rgba(255, 255, 255, 1)";return _Ae(this,e),t=bAe(this,e,[new X_.SpriteMaterial]),t._text="".concat(n),t._textHeight=r,t._color=s,t._backgroundColor=!1,t._padding=0,t._borderWidth=0,t._borderRadius=0,t._borderColor="white",t._offsetX=0,t._offsetY=0,t._strokeWidth=0,t._strokeColor="white",t._fontFace="system-ui",t._fontSize=90,t._fontWeight="normal",t._canvas=document.createElement("canvas"),t._genCanvas(),t}return SAe(e,i),EAe(e,[{key:"text",get:function(){return this._text},set:function(n){this._text=n,this._genCanvas()}},{key:"textHeight",get:function(){return this._textHeight},set:function(n){this._textHeight=n,this._genCanvas()}},{key:"color",get:function(){return this._color},set:function(n){this._color=n,this._genCanvas()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(n){this._backgroundColor=n,this._genCanvas()}},{key:"padding",get:function(){return this._padding},set:function(n){this._padding=n,this._genCanvas()}},{key:"borderWidth",get:function(){return this._borderWidth},set:function(n){this._borderWidth=n,this._genCanvas()}},{key:"borderRadius",get:function(){return this._borderRadius},set:function(n){this._borderRadius=n,this._genCanvas()}},{key:"borderColor",get:function(){return this._borderColor},set:function(n){this._borderColor=n,this._genCanvas()}},{key:"offsetX",get:function(){return this._offsetX},set:function(n){this._offsetX=n,this._genCanvas()}},{key:"offsetY",get:function(){return this._offsetY},set:function(n){this._offsetY=n,this._genCanvas()}},{key:"fontFace",get:function(){return this._fontFace},set:function(n){this._fontFace=n,this._genCanvas()}},{key:"fontSize",get:function(){return this._fontSize},set:function(n){this._fontSize=n,this._genCanvas()}},{key:"fontWeight",get:function(){return this._fontWeight},set:function(n){this._fontWeight=n,this._genCanvas()}},{key:"strokeWidth",get:function(){return this._strokeWidth},set:function(n){this._strokeWidth=n,this._genCanvas()}},{key:"strokeColor",get:function(){return this._strokeColor},set:function(n){this._strokeColor=n,this._genCanvas()}},{key:"_genCanvas",value:function(){var n=this,r=this._canvas,s=r.getContext("2d"),a=1/this.textHeight,o=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],l=o.map(function(nt){return nt*n.fontSize*a}),c=Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius],u=c.map(function(nt){return nt*n.fontSize*a}),h=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],d=h.map(function(nt){return nt*n.fontSize*a}),f=[this.offsetX,this.offsetY].map(function(nt){return nt*n.fontSize*a}),A=this.text.split(` +`),y="".concat(this.fontWeight," ").concat(this.fontSize,"px ").concat(this.fontFace);s.font=y;var b=Math.max.apply(Math,K_(A.map(function(nt){return s.measureText(nt).width}))),x=this.fontSize*A.length,P=b+l[0]*2+d[0]*2,k=x+l[1]*2+d[1]*2;if(r.width=P+Math.abs(f[0]),r.height=k+Math.abs(f[1]),s.translate.apply(s,K_(f.map(function(nt){return Math.max(0,nt)}))),this.borderWidth){if(s.strokeStyle=this.borderColor,l[0]){var $=l[0]/2;s.lineWidth=l[0],s.beginPath(),s.moveTo($,u[0]),s.lineTo($,k-u[3]),s.moveTo(P-$,u[1]),s.lineTo(P-$,k-u[2]),s.stroke()}if(l[1]){var se=l[1]/2;s.lineWidth=l[1],s.beginPath(),s.moveTo(Math.max(l[0],u[0]),se),s.lineTo(P-Math.max(l[0],u[1]),se),s.moveTo(Math.max(l[0],u[3]),k-se),s.lineTo(P-Math.max(l[0],u[2]),k-se),s.stroke()}if(this.borderRadius){var ie=Math.max.apply(Math,K_(l)),ce=ie/2;s.lineWidth=ie,s.beginPath(),[!!u[0]&&[u[0],ce,ce,u[0]],!!u[1]&&[P-u[1],P-ce,ce,u[1]],!!u[2]&&[P-u[2],P-ce,k-ce,k-u[2]],!!u[3]&&[u[3],ce,k-ce,k-u[3]]].filter(function(nt){return nt}).forEach(function(nt){var Gt=l6(nt,4),Jt=Gt[0],gn=Gt[1],yn=Gt[2],Mn=Gt[3];s.moveTo(Jt,yn),s.quadraticCurveTo(gn,yn,gn,Mn)}),s.stroke()}}this.backgroundColor&&(s.fillStyle=this.backgroundColor,this.borderRadius?(s.beginPath(),s.moveTo(l[0],u[0]),[[l[0],u[0],P-u[1],l[1],l[1],l[1]],[P-l[0],P-l[0],P-l[0],l[1],u[1],k-u[2]],[P-l[0],P-u[2],u[3],k-l[1],k-l[1],k-l[1]],[l[0],l[0],l[0],k-l[1],k-u[3],u[0]]].forEach(function(nt){var Gt=l6(nt,6),Jt=Gt[0],gn=Gt[1],yn=Gt[2],Mn=Gt[3],rr=Gt[4],Hn=Gt[5];s.quadraticCurveTo(Jt,Mn,gn,rr),s.lineTo(yn,Hn)}),s.closePath(),s.fill()):s.fillRect(l[0],l[1],P-l[0]*2,k-l[1]*2)),s.translate.apply(s,K_(l)),s.translate.apply(s,K_(d)),s.font=y,s.fillStyle=this.color,s.textBaseline="bottom";var ue=this.strokeWidth>0;ue&&(s.lineWidth=this.strokeWidth*this.fontSize/10,s.strokeStyle=this.strokeColor),A.forEach(function(nt,Gt){var Jt=(b-s.measureText(nt).width)/2,gn=(Gt+1)*n.fontSize;ue&&s.strokeText(nt,Jt,gn),s.fillText(nt,Jt,gn)}),this.material.map&&this.material.map.dispose();var ve=this.material.map=new X_.CanvasTexture(r);ve.colorSpace=X_.SRGBColorSpace;var Fe=this.textHeight*A.length+o[1]*2+h[1]*2+Math.abs(this.offsetY);this.scale.set(Fe*r.width/r.height,Fe,0)}},{key:"clone",value:function(){return new this.constructor(this.text,this.textHeight,this.color).copy(this)}},{key:"copy",value:function(n){return X_.Sprite.prototype.copy.call(this,n),this.color=n.color,this.backgroundColor=n.backgroundColor,this.padding=n.padding,this.borderWidth=n.borderWidth,this.borderColor=n.borderColor,this.offsetX=n.offsetX,this.offsetY=n.offsetY,this.fontFace=n.fontFace,this.fontSize=n.fontSize,this.fontWeight=n.fontWeight,this.strokeWidth=n.strokeWidth,this.strokeColor=n.strokeColor,this}}])}(X_.Sprite),Vv=v(78241),FAe=v(3113),u6=v(8591),OAe=v(43418),JS=v(5112),h6=v(92832),eC=v(57809),LAe=v(44225),Qx=v(58661),DAe=v(85333),Sd={rightopen:"rightopen___cs_vm",rightmodal:"rightmodal___MNsxT",rname:"rname___QGxLy",topradios:"topradios___si9En",topradio:"topradio___kGT57",bocent:"bocent___yMEuU",bctitle:"bctitle___Pll_D",btcent:"btcent___aHH1B",bctitles:"bctitles___UC1Yp"},Ea=v(66623),tC=v(18178),nC=v(76075),pu=v(62099),Ru=v(93785);const UAe={duration:500},kAe={duration:1e3,easing:"cubic-bezier(0.250, 0.460, 0.450, 0.940)",iterations:1,fill:"both"},GCe={CHANGE:"change"};var mc;(function(i){i.NodeAdded="NodeAdded",i.NodeUpdated="NodeUpdated",i.NodeRemoved="NodeRemoved",i.EdgeAdded="EdgeAdded",i.EdgeUpdated="EdgeUpdated",i.EdgeRemoved="EdgeRemoved",i.ComboAdded="ComboAdded",i.ComboUpdated="ComboUpdated",i.ComboRemoved="ComboRemoved"})(mc||(mc={}));var Cd;(function(i){i.DRAW="draw",i.COLLAPSE="collapse",i.EXPAND="expand",i.TRANSFORM="transform"})(Cd||(Cd={}));var $g;(function(i){i.CLICK="canvas:click",i.DBLCLICK="canvas:dblclick",i.POINTER_OVER="canvas:pointerover",i.POINTER_LEAVE="canvas:pointerleave",i.POINTER_ENTER="canvas:pointerenter",i.POINTER_MOVE="canvas:pointermove",i.POINTER_OUT="canvas:pointerout",i.POINTER_DOWN="canvas:pointerdown",i.POINTER_UP="canvas:pointerup",i.CONTEXT_MENU="canvas:contextmenu",i.DRAG_START="canvas:dragstart",i.DRAG="canvas:drag",i.DRAG_END="canvas:dragend",i.DRAG_ENTER="canvas:dragenter",i.DRAG_OVER="canvas:dragover",i.DRAG_LEAVE="canvas:dragleave",i.DROP="canvas:drop",i.WHEEL="canvas:wheel"})($g||($g={}));var Hv;(function(i){i.CLICK="combo:click",i.DBLCLICK="combo:dblclick",i.POINTER_OVER="combo:pointerover",i.POINTER_LEAVE="combo:pointerleave",i.POINTER_ENTER="combo:pointerenter",i.POINTER_MOVE="combo:pointermove",i.POINTER_OUT="combo:pointerout",i.POINTER_DOWN="combo:pointerdown",i.POINTER_UP="combo:pointerup",i.CONTEXT_MENU="combo:contextmenu",i.DRAG_START="combo:dragstart",i.DRAG="combo:drag",i.DRAG_END="combo:dragend",i.DRAG_ENTER="combo:dragenter",i.DRAG_OVER="combo:dragover",i.DRAG_LEAVE="combo:dragleave",i.DROP="combo:drop"})(Hv||(Hv={}));var bi;(function(i){i.CLICK="click",i.DBLCLICK="dblclick",i.POINTER_OVER="pointerover",i.POINTER_LEAVE="pointerleave",i.POINTER_ENTER="pointerenter",i.POINTER_MOVE="pointermove",i.POINTER_OUT="pointerout",i.POINTER_DOWN="pointerdown",i.POINTER_UP="pointerup",i.CONTEXT_MENU="contextmenu",i.DRAG_START="dragstart",i.DRAG="drag",i.DRAG_END="dragend",i.DRAG_ENTER="dragenter",i.DRAG_OVER="dragover",i.DRAG_LEAVE="dragleave",i.DROP="drop",i.KEY_DOWN="keydown",i.KEY_UP="keyup",i.WHEEL="wheel"})(bi||(bi={}));var Wx;(function(i){i.KEY_DOWN="keydown",i.KEY_UP="keyup"})(Wx||(Wx={}));var rC;(function(i){i.CLICK="edge:click",i.DBLCLICK="edge:dblclick",i.POINTER_OVER="edge:pointerover",i.POINTER_LEAVE="edge:pointerleave",i.POINTER_ENTER="edge:pointerenter",i.POINTER_MOVE="edge:pointermove",i.POINTER_OUT="edge:pointerout",i.POINTER_DOWN="edge:pointerdown",i.POINTER_UP="edge:pointerup",i.CONTEXT_MENU="edge:contextmenu",i.DRAG_ENTER="edge:dragenter",i.DRAG_OVER="edge:dragover",i.DRAG_LEAVE="edge:dragleave",i.DROP="edge:drop"})(rC||(rC={}));var fs;(function(i){i.BEFORE_CANVAS_INIT="beforecanvasinit",i.AFTER_CANVAS_INIT="aftercanvasinit",i.BEFORE_SIZE_CHANGE="beforesizechange",i.AFTER_SIZE_CHANGE="aftersizechange",i.BEFORE_ELEMENT_CREATE="beforeelementcreate",i.AFTER_ELEMENT_CREATE="afterelementcreate",i.BEFORE_ELEMENT_UPDATE="beforeelementupdate",i.AFTER_ELEMENT_UPDATE="afterelementupdate",i.BEFORE_ELEMENT_DESTROY="beforeelementdestroy",i.AFTER_ELEMENT_DESTROY="afterelementdestroy",i.BEFORE_ELEMENT_TRANSLATE="beforeelementtranslate",i.AFTER_ELEMENT_TRANSLATE="afterelementtranslate",i.BEFORE_DRAW="beforedraw",i.AFTER_DRAW="afterdraw",i.BEFORE_RENDER="beforerender",i.AFTER_RENDER="afterrender",i.BEFORE_ANIMATE="beforeanimate",i.AFTER_ANIMATE="afteranimate",i.BEFORE_LAYOUT="beforelayout",i.AFTER_LAYOUT="afterlayout",i.BEFORE_STAGE_LAYOUT="beforestagelayout",i.AFTER_STAGE_LAYOUT="afterstagelayout",i.BEFORE_TRANSFORM="beforetransform",i.AFTER_TRANSFORM="aftertransform",i.BATCH_START="batchstart",i.BATCH_END="batchend",i.BEFORE_DESTROY="beforedestroy",i.AFTER_DESTROY="afterdestroy",i.BEFORE_RENDERER_CHANGE="beforerendererchange",i.AFTER_RENDERER_CHANGE="afterrendererchange"})(fs||(fs={}));var r0;(function(i){i.UNDO="undo",i.REDO="redo",i.CANCEL="cancel",i.ADD="add",i.CLEAR="clear",i.CHANGE="change"})(r0||(r0={}));var Lf;(function(i){i.CLICK="node:click",i.DBLCLICK="node:dblclick",i.POINTER_OVER="node:pointerover",i.POINTER_LEAVE="node:pointerleave",i.POINTER_ENTER="node:pointerenter",i.POINTER_MOVE="node:pointermove",i.POINTER_OUT="node:pointerout",i.POINTER_DOWN="node:pointerdown",i.POINTER_UP="node:pointerup",i.CONTEXT_MENU="node:contextmenu",i.DRAG_START="node:dragstart",i.DRAG="node:drag",i.DRAG_END="node:dragend",i.DRAG_ENTER="node:dragenter",i.DRAG_OVER="node:dragover",i.DRAG_LEAVE="node:dragleave",i.DROP="node:drop"})(Lf||(Lf={}));const Kl="combo",EA="tree";var Y_;(function(i){i.NODE="node",i.EDGE="edge",i.COMBO="combo",i.THEME="theme",i.PALETTE="palette",i.LAYOUT="layout",i.BEHAVIOR="behavior",i.PLUGIN="plugin",i.ANIMATION="animation",i.TRANSFORM="transform",i.SHAPE="shape"})(Y_||(Y_={}));const bN={animation:{},behavior:{},combo:{},edge:{},layout:{},node:{},palette:{},theme:{},plugin:{},transform:{},shape:{}};function jg(i,e){var t;const n=(t=bN[i])===null||t===void 0?void 0:t[e];if(n)return n}function QCe(i){return EXTENSION_REGISTRY[i]}const zAe="5.0.27",VAe="G6";function Kg(i){return`[${VAe} v${zAe}] ${i}`}const Md={mute:!1,debug:i=>{!Md.mute&&console.debug(Kg(i))},info:i=>{!Md.mute&&console.info(Kg(i))},warn:i=>{!Md.mute&&console.warn(Kg(i))},error:i=>{!Md.mute&&console.error(Kg(i))}};function d6(i){const{theme:e}=i;if(!e)return{};const t=jg(Y_.THEME,e);return t||(Md.warn(`The theme of ${e} is not registered.`),{})}function _N(i,e){if(Array.isArray(i)&&i.length===0)return null;const t=Array.isArray(i)?i[0]:i,n=Array.isArray(i)?i.slice(1):e||[];return new Proxy(t,{get(r,s){return typeof r[s]=="function"&&!["onframe","onfinish"].includes(s)?(...a)=>{r[s](...a),n.forEach(o=>{var l;return(l=o[s])===null||l===void 0?void 0:l.call(o,...a)})}:s==="finished"?Promise.all([t.finished,...n.map(a=>a.finished)]):Reflect.get(r,s)},set(r,s,a){return["onframe","onfinish"].includes(s)||n.forEach(o=>{o[s]=a}),Reflect.set(r,s,a)}})}function wN(i){const e=i.reduce((n,r)=>(Object.entries(r).forEach(([s,a])=>{n[s]===void 0?n[s]=[a]:n[s].push(a)}),n),{});Object.entries(e).forEach(([n,r])=>{(r.length!==i.length||r.some(s=>(0,nC.Z)(s))||r.every(s=>!["sourceNode","targetNode","childrenNode"].includes(n)&&(0,pu.Z)(s,r[0])))&&delete e[n]});const t=Object.entries(e).reduce((n,[r,s])=>(s.forEach((a,o)=>{n[o]?n[o][r]=a:n[o]={[r]:a}}),n),[]);return i.length!==0&&t.length===0&&t.push({_:0},{_:0}),t}function q_(i){switch(i){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 f6(i,e){const{animation:t}=i;if(t===!1||e===!1)return!1;const n=Object.assign({},UAe);return(0,Ru.Z)(t)&&Object.assign(n,t),(0,Ru.Z)(e)&&Object.assign(n,e),n}function HAe(i){if(typeof i=="string"){const e=jg(Y_.ANIMATION,i);return e||(Md.warn(`The animation of ${i} is not registered.`),[])}return i}function GAe(i,e,t,n){var r,s;const{animation:a}=i,o=(r=i==null?void 0:i[e])===null||r===void 0?void 0:r.animation;if(o===!1)return[];const l=o==null?void 0:o[t];if(l===!1)return[];if(a===!1||n===!1)return[];const c=(s=d6(i)[e])===null||s===void 0?void 0:s.animation,u=(d=[])=>HAe(d).map(f=>Object.assign(Object.assign(Object.assign(Object.assign({},kAe),(0,Ru.Z)(a)&&a),f),(0,Ru.Z)(n)&&n));if(l)return u(l);if(!c)return[];const h=c[t];return h===!1?[]:u(h)}function A6(i,e,t,n){if(Array.isArray(n)){let s=!1;const a=n.map(o=>o[0]==="translate"?(s=!0,["translate",i,e]):o[0]==="translate3d"?(s=!0,["translate3d",i,e,t]):o);return s||a.splice(0,0,t===0?["translate",i,e]:["translate3d",i,e,t]),a}const r=n?n.replace(/translate(3d)?\([^)]*\)/g,""):"";return t===0?`translate(${i}, ${e})${r}`:`translate3d(${i}, ${e}, ${t})${r}`}var QAe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{if(!t.length)return null;const[n,r]=e,s=c=>{var u;if(c){const h=i.getShape(c);if(!h)return null;const d=`get${(0,tC.Z)(c)}Style`,f=((u=i==null?void 0:i[d])===null||u===void 0?void 0:u.bind(i))||(b=>b),A=(f==null?void 0:f(n))||{},y=(f==null?void 0:f(r))||{};return{shape:h,fromStyle:A,toStyle:y}}else return{shape:i,fromStyle:n,toStyle:r}};let a;const o=t.map(c=>{var{fields:u,shape:h,states:d}=c,f=QAe(c,["fields","shape","states"]);const A=s(h);if(!A)return null;const{shape:y,fromStyle:b,toStyle:x}=A,P=[{},{}];if(u.forEach($=>{var se,ie;Object.assign(P[0],{[$]:(se=b[$])!==null&&se!==void 0?se:q_($)}),Object.assign(P[1],{[$]:(ie=x[$])!==null&&ie!==void 0?ie:q_($)})}),P.some($=>Object.keys($).some(se=>["x","y","z"].includes(se)))){const{x:$=0,y:se=0,z:ie=0,transform:ce=""}=y.attributes||{};P.forEach(ue=>{ue.transform=A6(ue.x||$,ue.y||se,ue.z||ie,ce)})}const k=y.animate(wN(P),f);return h===void 0&&(a=k),k}).filter(Boolean),l=a||(o==null?void 0:o[0]);return l?_N(l,o.filter(c=>c!==c)):null},ZAe=[{fields:["opacity"]}],$Ae=[{fields:["x","y"]}],p6=[{fields:["x","y"]}],jAe=p6,g6=[{fields:["sourceNode","targetNode"]}],KAe=g6,m6=[{fields:["childrenNode","x","y"]}],XAe=m6,WCe=[{fields:["childrenNode","x","y"]}];var Ra=v(71018),iC=v(15610),v6=v(62199),EN=v(37547);function YAe(i){return"source"in i&&"target"in i}function qAe(i){return i.length===2}function ZCe(i){return i.length===3}function Zx(i){return i instanceof Float32Array?!0:Array.isArray(i)&&(i.length===2||i.length===3)?i.every(e=>typeof e=="number"):!1}function Up(i,e,t){return i>=e&&i<=t}function kp(i=0){if(Array.isArray(i)){const[e=0,t=e,n=e,r=t]=i;return[e,t,n,r]}return[i,i,i,i]}function JAe(i=0){const e=kp(i);return e[0]+e[2]}function $Ce(i=0){const e=kp(i);return e[1]+e[3]}function zp(i){return i.max[0]-i.min[0]}function Vp(i){return i.max[1]-i.min[1]}function i0(i){return[zp(i),Vp(i)]}function s0(i,e){const t=Zx(i)?SN(i):i.getShape("key").getBounds();return e?a0(t,e):t}function SN(i){const[e,t,n=0]=i,r=new Ea.mN;return r.setMinMax([e,t,n],[e,t,n]),r}function a0(i,e){const[t,n,r,s]=kp(e),[a,o,l]=i.min,[c,u,h]=i.max,d=new Ea.mN;return d.setMinMax([a-s,o-t,l],[c+n,u+r,h]),d}function J_(i){if(i.length===0)return new Ea.mN;if(i.length===1)return i[0];const e=new Ea.mN;e.setMinMax(i[0].min,i[0].max);for(let t=1;t=a&&r<=l&&n>=o&&s<=c}function SA(i,e){return Up(i[0],e.min[0],e.max[0])&&Up(i[1],e.min[1],e.max[1])}function y6(i,e,t=!1){const{min:[n,r],max:[s,a]}=e,o=(i[1]===r||i[1]===a)&&(t||Up(i[0],n,s)),l=(i[0]===n||i[0]===s)&&(t||Up(i[1],r,a));return o||l}function tpe(i,e){return!SA(i,e)}function sC(i,e){const{center:t}=e;return i[0]===t[0]&&i[1]===t[1]}function e1(i,e){const[t,n]=i,[r,s]=e.min,[a,o]=e.max,l=t-r,c=a-t,u=n-s,h=o-n,d=Math.min(l,c,u,h);return d===l?"left":d===c?"right":d===u?"top":d===h?"bottom":"left"}function Gv(i,e){const t=(0,EN.Z)(i);if(SA(i,e))switch(e1(i,e)){case"left":t[0]=e.min[0];break;case"right":t[0]=e.max[0];break;case"top":t[1]=e.min[1];break;case"bottom":t[1]=e.max[1];break}else{const[n,r]=i,[s,a]=e.min,[o,l]=e.max;t[0]=Up(n,s,o)?n:n{var n;switch(t.type){case"degree":{const r=new Map;return(n=i.nodes)===null||n===void 0||n.forEach(s=>{const a=e(Lr(s),t.direction).length;r.set(Lr(s),a)}),r}case"betweenness":return spe(i,t.directed,t.weightPropertyName);case"closeness":return ape(i,t.directed,t.weightPropertyName);case"eigenvector":return lpe(i,t.directed);case"pagerank":return ope(i,t.epsilon,t.linkProb);default:return _6(i)}},_6=i=>{var e;const t=new Map;return(e=i.nodes)===null||e===void 0||e.forEach(n=>{t.set(Lr(n),0)}),t},spe=(i,e,t)=>{const n=_6(i),{nodes:r=[]}=i;return r.forEach(s=>{r.forEach(a=>{if(s!==a){const{allPath:o}=(0,CN.ni)(i,Lr(s),Lr(a),e,t),l=o.length;o.flat().forEach(c=>{c!==Lr(s)&&c!==Lr(a)&&n.set(c,n.get(c)+1/l)})}})}),n},ape=(i,e,t)=>{const n=new Map,{nodes:r=[]}=i;return r.forEach(s=>{const a=r.reduce((o,l)=>{if(s!==l){const{length:c}=(0,CN.ni)(i,Lr(s),Lr(l),e,t);o+=c}return o},0);n.set(Lr(s),1/a)}),n},ope=(i,e,t)=>{var n;const r=new Map,s=(0,CN.EF)(i,e,t);return(n=i.nodes)===null||n===void 0||n.forEach(a=>{r.set(Lr(a),s[Lr(a)])}),r},lpe=(i,e)=>{const{nodes:t=[]}=i,n=cpe(i,e),r=upe(n,t.length),s=new Map;return t.forEach((a,o)=>{s.set(Lr(a),r[o])}),s},cpe=(i,e)=>{const{nodes:t=[],edges:n=[]}=i,r=Array(t.length).fill(null).map(()=>Array(t.length).fill(0));return n.forEach(({source:s,target:a})=>{const o=t.findIndex(c=>Lr(c)===s),l=t.findIndex(c=>Lr(c)===a);e?r[o][l]=1:(r[o][l]=1,r[l][o]=1)}),r},upe=(i,e,t=100,n=1e-6)=>{let r=Array(e).fill(1),s=1/0;for(let a=0;an;a++){const o=Array(e).fill(0);for(let c=0;cc+u*u,0));for(let c=0;cc+(u-r[h])*u,0)),r=o}return r};function o0(i,e,t,n=pu.Z){const r=new Map(i.map(d=>[t(d),d])),s=new Map(e.map(d=>[t(d),d])),a=new Set(r.keys()),o=new Set(s.keys()),l=[],c=[],u=[],h=[];return o.forEach(d=>{a.has(d)?n(r.get(d),s.get(d))?h.push(s.get(d)):c.push(s.get(d)):l.push(s.get(d))}),a.forEach(d=>{o.has(d)||u.push(r.get(d))}),{enter:l,exit:u,keep:h,update:c}}const t1=new WeakMap;function Qv(i,e,t=!1,n){if(e===void 0)return;const r=(s,a=e)=>{const o=(l=a)=>s.childNodes.forEach(c=>r(c,l));if(n&&!n(s))return o();if(!t&&s===i)i.style.visibility=e,t1.delete(i),o(e);else{t1.has(s)||t1.set(s,s.style.visibility);const l=a==="hidden"||hpe(s)==="hidden"?"hidden":"visible";s.style.visibility=l,o(l)}};r(i)}function hpe(i){return t1.has(i)?t1.get(i):i.style.visibility}function dpe(i,e,t){const n={},r=s=>(s in n||(n[s]=0),`${e}-${s}-${n[s]++}`);return t.map(s=>typeof s=="string"?{type:s,key:r(s)}:typeof s=="function"?s.call(i):s.key?s:Object.assign(Object.assign({},s),{key:r(s.type)}))}class MN{constructor(e){this.extensions=[],this.extensionMap={},this.context=e}setExtensions(e){const t=dpe(this.context.graph,this.category,e),{enter:n,update:r,exit:s,keep:a}=o0(this.extensions,t,o=>o.key);this.createExtensions(n),this.updateExtensions([...r,...a]),this.destroyExtensions(s),this.extensions=t}createExtension(e){const{category:t}=this,{key:n,type:r}=e,s=jg(t,r);if(!s)return Md.warn(`The extension ${r} of ${t} is not registered.`);const a=new s(this.context,e);this.extensionMap[n]=a}createExtensions(e){e.forEach(t=>this.createExtension(t))}updateExtension(e){const{key:t}=e,n=this.extensionMap[t];n&&n.update(e)}updateExtensions(e){e.forEach(t=>this.updateExtension(t))}destroyExtension(e){const t=this.extensionMap[e];t&&(t.destroy(),delete this.extensionMap[e])}destroyExtensions(e){e.forEach(({key:t})=>this.destroyExtension(t))}destroy(){Object.values(this.extensionMap).forEach(e=>e.destroy()),this.context={},this.extensions=[],this.extensionMap={}}}class TN{constructor(e,t){this.events=[],this.destroyed=!1,this.context=e,this.options=t}update(e){this.options=Object.assign(this.options,e)}destroy(){this.context={},this.options={},this.destroyed=!0}}class lf extends TN{}class oC extends lf{constructor(e,t){super(e,Object.assign({},oC.defaultOptions,t)),this.isOverlapping=(n,r)=>r.some(s=>n.intersects(s)),this.occupiedBounds=[],this.detectLabelCollision=n=>{const r=this.context.viewport,s={show:[],hide:[]};return this.occupiedBounds=[],n.forEach(a=>{const o=a.getShape("label").getRenderBounds();r.isInViewport(o,!0)&&!this.isOverlapping(o,this.occupiedBounds)?(s.show.push(a),this.occupiedBounds.push(a0(o,this.options.padding))):s.hide.push(a)}),s},this.hideLabelIfExceedViewport=(n,r)=>{const{exit:s}=o0(n,r,a=>a.id);s==null||s.forEach(this.hideLabel)},this.nodeCentralities=new Map,this.sortNodesByCentrality=(n,r)=>{const{model:s}=this.context,a=s.getData(),o=s.getRelatedEdgesData.bind(s);return n.map(c=>(this.nodeCentralities.has(c.id)||(this.nodeCentralities=b6(a,o,r)),{node:c,centrality:this.nodeCentralities.get(c.id)})).sort((c,u)=>u.centrality-c.centrality).map(c=>c.node)},this.sortLabelElementsInView=n=>{const{sort:r,sortNode:s,sortCombo:a,sortEdge:o}=this.options,{model:l}=this.context;if((0,Ra.Z)(r))return n.sort((y,b)=>r(l.getElementDataById(y.id),l.getElementDataById(b.id)));const{node:c=[],edge:u=[],combo:h=[]}=(0,iC.Z)(n,y=>y.type),d=(0,Ra.Z)(a)?h.sort((y,b)=>a(...l.getComboData([y.id,b.id]))):h,f=(0,Ra.Z)(s)?c.sort((y,b)=>s(...l.getNodeData([y.id,b.id]))):this.sortNodesByCentrality(c,s),A=(0,Ra.Z)(o)?u.sort((y,b)=>o(...l.getEdgeData([y.id,b.id]))):u;return[...d,...f,...A]},this.labelElementsInView=[],this.onToggleVisibility=n=>{if(!this.validate(n)){this.hiddenElements.size>0&&(this.hiddenElements.forEach(this.showLabel),this.hiddenElements.clear());return}const r=this.getLabelElementsInView();this.hideLabelIfExceedViewport(this.labelElementsInView,r),this.labelElementsInView=r;const s=this.sortLabelElementsInView(this.labelElementsInView),{show:a,hide:o}=this.detectLabelCollision(s);for(let l=a.length-1;l>=0;l--)this.showLabel(a[l]);o.forEach(this.hideLabel)},this.hiddenElements=new Map,this.hideLabel=n=>{const r=n.getShape("label");r&&Qv(r,"hidden"),this.hiddenElements.set(n.id,n)},this.showLabel=n=>{const r=n.getShape("label");r&&Qv(r,"visible"),n.toFront(),this.hiddenElements.delete(n.id)},this.onTransform=(0,v6.Z)(this.onToggleVisibility,this.options.throttle,{leading:!0}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents(),this.onToggleVisibility({})}get labelElements(){const t=Object.values(this.context.element.elementMap).filter(n=>n.isVisible()&&n.getShape("label"));return Object.fromEntries(t.map(n=>[n.id,n]))}getLabelElementsInView(){const e=this.context.viewport;return Object.values(this.labelElements).filter(t=>e.isInViewport(t.getShape("key").getRenderBounds()))}bindEvents(){const{graph:e}=this.context;e.on(fs.AFTER_DRAW,this.onToggleVisibility),e.on(fs.AFTER_LAYOUT,this.onToggleVisibility),e.on(fs.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(fs.AFTER_DRAW,this.onToggleVisibility),e.off(fs.AFTER_LAYOUT,this.onToggleVisibility),e.off(fs.AFTER_TRANSFORM,this.onTransform)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}oC.defaultOptions={enable:!0,throttle:100,padding:0,sortNode:{type:"degree"}};var Xg=v(23343);const w6=[0,0,0];function lo(i,e){return i.map((t,n)=>t+e[n])}function Gl(i,e){return i.map((t,n)=>t-e[n])}function Yg(i,e){return typeof e=="number"?i.map(t=>t*e):i.map((t,n)=>t*e[n])}function CA(i,e){return typeof e=="number"?i.map(t=>t/e):i.map((t,n)=>t/e[n])}function fpe(i,e){return i.reduce((t,n,r)=>t+n*e[r],0)}function Ape(i,e){const t=n1(i),n=n1(e);return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function l0(i,e){return i.map(t=>t*e)}function sc(i,e){return Math.sqrt(i.reduce((t,n,r)=>t+Math.pow(n-e[r]||0,2),0))}function lC(i,e){return i.reduce((t,n,r)=>t+Math.abs(n-e[r]),0)}function qg(i){const e=i.reduce((t,n)=>t+Math.pow(n,2),0);return i.map(t=>t/Math.sqrt(e))}function BN(i,e,t=!1){const n=i[0]*e[1]-i[1]*e[0];let r=Math.acos(Yg(i,e).reduce((s,a)=>s+a,0)/(sc(i,w6)*sc(e,w6)));return t&&n<0&&(r=2*Math.PI-r),r}function jCe(i,e){return i.every((t,n)=>t===e[n])}function cC(i,e=!0){return e?[-i[1],i[0]]:[i[1],-i[0]]}function ppe(i,e){return i.map(t=>t%e)}function Wv(i){return[i[0],i[1]]}function n1(i){return qAe(i)?[i[0],i[1],0]:i}function E6(i){const[e,t]=i;return!e&&!t?0:Math.atan2(t,e)}function S6(i,e){const[t,n]=i,[r,s]=e,a=Gl(t,n),o=Gl(r,s);return Ape(a,o).every(l=>l===0)}function RN(i,e,t=!1){if(S6(i,e))return;const[n,r]=i,[s,a]=e,o=((n[0]-s[0])*(s[1]-a[1])-(n[1]-s[1])*(s[0]-a[0]))/((n[0]-r[0])*(s[1]-a[1])-(n[1]-r[1])*(s[0]-a[0])),l=a[0]-s[0]?(n[0]-s[0]+o*(r[0]-n[0]))/(a[0]-s[0]):(n[1]-s[1]+o*(r[1]-n[1]))/(a[1]-s[1]);if(!(!t&&(!Up(o,0,1)||!Up(l,0,1))))return[n[0]+o*(r[0]-n[0]),n[1]+o*(r[1]-n[1])]}function C6(i){if(Array.isArray(i))return Up(i[0],0,1)&&Up(i[1],0,1)?i:[.5,.5];const e=i.split("-"),t=e.includes("left")?0:e.includes("right")?1:.5,n=e.includes("top")?0:e.includes("bottom")?1:.5;return[t,n]}function lh(i){const{x:e=0,y:t=0,z:n=0}=i.style||{};return[+e,+t,+n]}function gpe(i){const{x:e,y:t,z:n}=i.style||{};return e!==void 0||t!==void 0||n!==void 0}function M6(i,e){const[t,n]=e,{min:r,max:s}=i;return[r[0]+t*(s[0]-r[0]),r[1]+n*(s[1]-r[1])]}function Jg(i,e="center"){const t=C6(e);return M6(i,t)}function KCe(i,e){const t=parseAnchor(e);return M6(i,t)}const XCe=i=>{const[e,t]=i;return{left:Math.min(e[0],t[0]),right:Math.max(e[0],t[0]),top:Math.min(e[1],t[1]),bottom:Math.max(e[1],t[1])}};function ch(i){var e;return[i.x,i.y,(e=i.z)!==null&&e!==void 0?e:0]}function MA(i){var e;return{x:i[0],y:i[1],z:(e=i[2])!==null&&e!==void 0?e:0}}function YCe(i){return i.sort((e,t)=>e[0]-t[0]||e[1]-t[1])}function qCe(i){const e=new Set;return i.filter(t=>{const n=t.join(",");return e.has(n)?!1:(e.add(n),!0)})}function r1(i,e=0){return i.map(t=>parseFloat(t.toFixed(e)))}function c0(i,e,t,n=!1){if((0,pu.Z)(i,e))return i;const r=n?Gl(i,e):Gl(e,i),s=qg(r),a=[s[0]*t,s[1]*t];return lo(Wv(i),a)}function T6(i,e){return i[1]===e[1]}function mpe(i,e){return i[0]===e[0]}function vpe(i,e){return T6(i,e)||mpe(i,e)}function ype(i,e,t){return S6([i,e],[e,t])}function B6(i,e){return[2*e[0]-i[0],2*e[1]-i[1]]}function R6(i,e,t,n=!0,r=!1){for(let s=0;ss!=f>s&&r<(d-u)*(s-h)/(f-h)+u&&(a=!a)}return a}function bpe(i,e,t=!1){const n=Jg(e,"center"),r=[Jg(e,"left-top"),Jg(e,"right-top"),Jg(e,"right-bottom"),Jg(e,"left-bottom")];return R6(i,n,r,!1,t).point}function uC(i,e,t=!1){const n=e.center,r=t?B6(i,n):i,s=Gl(r,e.center),a=Math.atan2(s[1],s[0]);if(isNaN(a))return n;const o=zp(e)/2,l=Vp(e)/2,c=n[0]+o*Math.cos(a),u=n[1]+l*Math.sin(a);return[c,u]}function _pe(i,e){let t=1/0,n=[i[0],e[0]];return i.forEach(r=>{e.forEach(s=>{const a=sc(r,s);a{const s=Epe(i,r);s1?u=1:u<0&&(u=0);const h=t+u*l,d=n+u*c;return[h,d]}function Spe(i){const e=i.reduce((t,n)=>lo(t,n),[0,0]);return CA(e,i.length)}function N6(i,e=!0){const t=Spe(i);return i.sort(([n,r],[s,a])=>{const o=Math.atan2(r-t[1],n-t[0]),l=Math.atan2(a-t[1],s-t[0]);return e?l-o:o-l})}function P6(i,e){return[i,[i[0],e[1]],e,[e[0],i[1]]]}var TA=v(71879);const F6=i=>i.map(e=>(0,TA.Z)(e)?e.toLocaleLowerCase():e);class $x{constructor(e){this.map=new Map,this.recordKey=new Set,this.onKeyDown=t=>{t!=null&&t.key&&(this.recordKey.add(t.key),this.trigger(t))},this.onKeyUp=t=>{t!=null&&t.key&&this.recordKey.delete(t.key)},this.onWheel=t=>{this.triggerExtendKey(bi.WHEEL,t)},this.onDrag=t=>{this.triggerExtendKey(bi.DRAG,t)},this.onFocus=()=>{this.recordKey.clear()},this.emitter=e,this.bindEvents()}bind(e,t){e.length!==0&&this.map.set(e,t)}unbind(e,t){this.map.forEach((n,r)=>{(0,pu.Z)(r,e)&&(!t||t===n)&&this.map.delete(r)})}unbindAll(){this.map.clear()}match(e){const t=F6(Array.from(this.recordKey)).sort(),n=F6(e).sort();return(0,pu.Z)(t,n)}bindEvents(){const{emitter:e}=this;e.on(bi.KEY_DOWN,this.onKeyDown),e.on(bi.KEY_UP,this.onKeyUp),e.on(bi.WHEEL,this.onWheel),e.on(bi.DRAG,this.onDrag),window.addEventListener("focus",this.onFocus)}trigger(e){this.map.forEach((t,n)=>{this.match(n)&&t(e)})}triggerExtendKey(e,t){this.map.forEach((n,r)=>{r.includes(e)&&(0,pu.Z)(Array.from(this.recordKey),r.filter(s=>s!==e))&&n(t)})}destroy(){this.unbindAll(),this.emitter.off(bi.KEY_DOWN,this.onKeyDown),this.emitter.off(bi.KEY_UP,this.onKeyUp),this.emitter.off(bi.WHEEL,this.onWheel),this.emitter.off(bi.DRAG,this.onDrag),window.removeEventListener("blur",this.onFocus)}}class i1 extends lf{constructor(e,t){super(e,(0,Xg.Z)({},i1.defaultOptions,t)),this.shortcut=new $x(e.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(e){if(!this.validate(e)||!this.isKeydown()||this.startPoint)return;const{canvas:t,graph:n}=this.context,r=Object.assign({},this.options.style);this.options.style.lineWidth&&(r.lineWidth=+this.options.style.lineWidth/n.getZoom()),this.rectShape=new Ea.UL({id:"g6-brush-select",style:r}),t.appendChild(this.rectShape),this.startPoint=[e.canvas.x,e.canvas.y]}onPointerMove(e){var t;if(!this.startPoint)return;const{immediately:n,mode:r}=this.options;this.endPoint=hC(e),(t=this.rectShape)===null||t===void 0||t.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])}),n&&r==="default"&&this.updateElementsStates(P6(this.startPoint,this.endPoint))}onPointerUp(e){if(this.startPoint){if(!this.endPoint){this.clearBrush();return}this.endPoint=hC(e),this.updateElementsStates(P6(this.startPoint,this.endPoint)),this.clearBrush()}}clearStates(){this.endPoint||this.clearElementsStates()}clearElementsStates(){const{graph:e}=this.context,t=Object.values(e.getData()).reduce((n,r)=>Object.assign({},n,r.reduce((s,a)=>(s[Lr(a)]=[],s),{})),{});e.setElementState(t,this.options.animation)}updateElementsStates(e){const{graph:t}=this.context,{enableElements:n,state:r,mode:s,onSelect:a}=this.options,o=this.selector(t,e,n);let l={};switch(s){case"union":o.forEach(c=>{l[c]=[...t.getElementState(c),r]});break;case"diff":o.forEach(c=>{const u=t.getElementState(c);l[c]=u.includes(r)?u.filter(h=>h!==r):[...u,r]});break;case"intersect":o.forEach(c=>{const u=t.getElementState(c);l[c]=u.includes(r)?[r]:[]});break;case"default":default:o.forEach(c=>{l[c]=[r]});break}(0,Ra.Z)(a)&&(l=a(l)),t.setElementState(l,this.options.animation)}selector(e,t,n){if(!n||n.length===0)return[];const r=[],s=e.getData();if(n.forEach(a=>{s[`${a}s`].forEach(o=>{const l=Lr(o);e.getElementVisibility(l)!=="hidden"&&xpe(e.getElementPosition(l),t)&&r.push(l)})}),n.includes("edge")){const a=s.edges;a==null||a.forEach(o=>{const{source:l,target:c}=o;r.includes(l)&&r.includes(c)&&r.push(Lr(o))})}return r}clearBrush(){var e;(e=this.rectShape)===null||e===void 0||e.remove(),this.rectShape=void 0,this.startPoint=void 0,this.endPoint=void 0}isKeydown(){const{trigger:e}=this.options,t=Array.isArray(e)?e:[e];return this.shortcut.match(t.filter(n=>n!=="drag"))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}bindEvents(){const{graph:e}=this.context;e.on(bi.POINTER_DOWN,this.onPointerDown),e.on(bi.POINTER_MOVE,this.onPointerMove),e.on(bi.POINTER_UP,this.onPointerUp),e.on($g.CLICK,this.clearStates)}unbindEvents(){const{graph:e}=this.context;e.off(bi.POINTER_DOWN,this.onPointerDown),e.off(bi.POINTER_MOVE,this.onPointerMove),e.off(bi.POINTER_UP,this.onPointerUp),e.off($g.CLICK,this.clearStates)}update(e){this.unbindEvents(),this.options=(0,Xg.Z)(this.options,e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}i1.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 hC=i=>[i.canvas.x,i.canvas.y],em=.8,Zv=["node","edge","combo"];function $v(i,e,t,n,r=0){n==="TB"&&e(i,r);const s=t(i);if(s)for(const a of s)$v(a,e,t,n,r+1);n==="BT"&&e(i,r)}function Cpe(i,e,t){const n=[[i,0]];for(;n.length;){const[r,s]=n.shift();e(r,s);const a=t(r);if(a)for(const o of a)n.push([o,s+1])}}function O6(i,e,t,n,r="both"){if(e==="combo"||e==="node")return IN(i,t,n,r);const s=i.getEdgeData(t);if(!s)return[];const a=IN(i,s.source,n-1,r),o=IN(i,s.target,n-1,r);return Array.from(new Set([...a,...o,t]))}function IN(i,e,t,n="both"){const r=new Set,s=new Set,a=new Set;return Cpe(e,(o,l)=>{l>t||(a.add(o),i.getRelatedEdgesData(o,n).forEach(c=>{const u=Lr(c);!s.has(u)&&li.getRelatedEdgesData(o,n).map(l=>l.source===o?l.target:l.source).filter(l=>r.has(l)?!1:(r.add(l),!0))),Array.from(a)}function NN(i){return i.states||[]}var dC=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class fC extends lf{constructor(e,t){super(e,Object.assign({},fC.defaultOptions,t)),this.onClickSelect=n=>dC(this,void 0,void 0,function*(){var r,s;this.validate(n)&&(yield this.updateState(n),(s=(r=this.options).onClick)===null||s===void 0||s.call(r,n))}),this.onClickCanvas=n=>dC(this,void 0,void 0,function*(){var r,s;this.validate(n)&&(yield this.clearState(),(s=(r=this.options).onClick)===null||s===void 0||s.call(r,n))}),this.shortcut=new $x(e.graph),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Zv.forEach(t=>{e.on(`${t}:${bi.CLICK}`,this.onClickSelect)}),e.on($g.CLICK,this.onClickCanvas)}get isMultipleSelect(){const{multiple:e,trigger:t}=this.options;return e&&this.shortcut.match(t)}getNeighborIds(e){const{target:t,targetType:n}=e,{graph:r}=this.context,{degree:s}=this.options;return O6(r,n,t.id,typeof s=="function"?s(e):s).filter(a=>a!==t.id)}updateState(e){return dC(this,void 0,void 0,function*(){const{state:t,unselectedState:n,neighborState:r,animation:s}=this.options;if(!t&&!r&&!n)return;const{target:a}=e,{graph:o}=this.context,l=o.getElementData(a.id),c=NN(l).includes(t)?"unselect":"select",u={},h=this.isMultipleSelect,d=[a.id],f=this.getNeighborIds(e);if(h)if(Object.assign(u,this.getDataStates()),c==="select"){const A=(y,b)=>{y.forEach(x=>{const P=new Set(o.getElementState(x));P.add(b),P.delete(n),u[x]=Array.from(P)})};A(d,t),A(f,r),n&&Object.keys(u).forEach(y=>{const b=u[y];!b.includes(t)&&!b.includes(r)&&!b.includes(n)&&u[y].push(n)})}else{const A=u[a.id];u[a.id]=A.filter(y=>y!==t&&y!==r),A.includes(n)||u[a.id].push(n),f.forEach(y=>{u[y]=u[y].filter(b=>b!==r),u[y].includes(t)||u[y].push(n)})}else if(c==="select"){Object.assign(u,this.getClearStates(!!n));const A=(y,b)=>{y.forEach(x=>{u[x]||(u[x]=o.getElementState(x)),u[x].push(b)})};A(d,t),A(f,r),n&&Object.keys(u).forEach(y=>{!d.includes(y)&&!f.includes(y)&&u[y].push(n)})}else Object.assign(u,this.getClearStates());yield o.setElementState(u,s)})}getDataStates(){const{graph:e}=this.context,{nodes:t,edges:n,combos:r}=e.getData(),s={};return[...t,...n,...r].forEach(a=>{s[Lr(a)]=NN(a)}),s}getClearStates(e=!1){const{graph:t}=this.context,{state:n,unselectedState:r,neighborState:s}=this.options,a=new Set([n,r,s]),{nodes:o,edges:l,combos:c}=t.getData(),u={};return[...o,...l,...c].forEach(h=>{const d=NN(h),f=d.filter(A=>!a.has(A));(e||f.length!==d.length)&&(u[Lr(h)]=f)}),u}clearState(){return dC(this,void 0,void 0,function*(){const{graph:e}=this.context;yield e.setElementState(this.getClearStates(),this.options.animation)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Zv.forEach(t=>{e.off(`${t}:${bi.CLICK}`,this.onClickSelect)}),e.off($g.CLICK,this.onClickCanvas)}destroy(){this.unbindEvents(),super.destroy()}}fC.defaultOptions={animation:!0,enable:!0,multiple:!1,trigger:["shift"],state:"selected",neighborState:"selected",unselectedState:void 0,degree:0};function cf(i){var e;return!!(!((e=i.style)===null||e===void 0)&&e.collapsed)}var Td=v(5759),s1=v(37004),Mpe=v(45642);function a1(i,e){if(!i.startsWith(e))return!1;const t=i[e.length];return t>="A"&&t<="Z"}function L6(i,e){return`${e}${(0,tC.Z)(i)}`}function D6(i,e,t=!0){if(!e||!a1(i,e))return i;const n=i.slice(e.length);return t?(0,Mpe.Z)(n):n}function gu(i,e){const t=Object.entries(i).reduce((n,[r,s])=>(r==="className"||r==="class"||a1(r,e)&&Object.assign(n,{[D6(r,e)]:s}),n),{});if("opacity"in i){const n=L6("opacity",e),r=i.opacity;if(n in i){const s=i[n];Object.assign(t,{opacity:r*s})}else Object.assign(t,{opacity:r})}return t}function PN(i,e){const t=e.length;return Object.keys(i).reduce((n,r)=>{if(r.startsWith(e)){const s=r.slice(t);n[s]=i[r]}return n},{})}function FN(i,e){const t=typeof e=="string"?[e]:e,n={};return Object.keys(i).forEach(r=>{t.find(s=>r.startsWith(s))||(n[r]=i[r])}),n}function JCe(i,e,t){return Object.entries(i).reduce((n,[r,s])=>(a1(r,e)?n[L6(D6(r,e,!1),t)]=s:n[r]=s,n),{})}function Df(i=0){if(typeof i=="number")return[i,i,i];const[e,t=e,n=e]=i;return[e,t,n]}var Tpe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rtypeof s=="function"?[r,s.call(n,t)]:[r,s]))}function Wu(i,e){const t=(i==null?void 0:i.style)||{},n=(e==null?void 0:e.style)||{};return Object.assign({},i,e,{style:Object.assign({},t,n)})}function Bpe(i){const{x:e,y:t,z:n,class:r,className:s,transform:a,transformOrigin:o,context:l,zIndex:c,visibility:u}=i;return Tpe(i,["x","y","z","class","className","transform","transformOrigin","context","zIndex","visibility"])}const ON=new WeakMap;function BA(i,e,t){ON.has(i)||ON.set(i,{});const n=ON.get(i);if(!n[e])return n[e]=t,!0;const r=n[e];return k6(r,t)?!1:(n[e]=t,!0)}const k6=(i,e,t=2)=>{if(typeof i!="object"||typeof e!="object")return i===e;const n=Object.keys(i),r=Object.keys(e);if(n.length!==r.length)return!1;for(const s of n){const a=i[s],o=e[s];if(t>1&&typeof a=="object"&&typeof o=="object"){if(!k6(a,o,t-1))return!1}else if(a!==o)return!1}return!0};function Rpe(i,e){const t=Df(i);let n={};return e.text&&!e.fontSize&&(n={fontSize:Math.min(...t)*.5}),e.src&&(!e.width||!e.height)&&(n={width:t[0]*.5,height:t[1]*.5}),n}function z6(i){if(i)return typeof i=="string"||typeof i=="function"||Array.isArray(i)?{type:"group",field:e=>e.id,color:i,invert:!1}:i}function Ipe(i,e){if(!e)return{};const{type:t,color:n,field:r,invert:s}=e,a=l=>{const c=typeof n=="string"?jg("palette",n):n;if(typeof c=="function"){const u={};return l.forEach(([h,d])=>{u[h]=c(s?1-d:d)}),u}else if(Array.isArray(c)){const u=s?[...c].reverse():c,h={};return l.forEach(([d,f])=>{h[d]=u[f%c.length]}),h}return{}},o=(l,c)=>{var u;return typeof l=="string"?(u=c.data)===null||u===void 0?void 0:u[l]:l==null?void 0:l(c)};if(t==="group"){const l=(0,iC.Z)(i,d=>{if(!r)return"default";const f=o(r,d);return f?String(f):"default"}),c=Object.keys(l),u=a(c.map((d,f)=>[d,f])),h={};return Object.entries(l).forEach(([d,f])=>{f.forEach(A=>{h[Lr(A)]=u[d]})}),h}else if(t==="value"){const[l,c]=i.reduce(([h,d],f)=>{const A=o(r,f);if(typeof A!="number")throw new Error(Kg(`Palette field ${r} is not a number`));return[Math.min(h,A),Math.max(d,A)]},[1/0,-1/0]),u=c-l;return a(i.map(h=>[h.id,(o(r,h)-l)/u]))}}function V6(i){const e=typeof i=="string"?jg("palette",i):i;if(typeof e!="function")return e}function H6(i,e){let t=2*i;return typeof e=="string"?t=i*Number(e.replace("%",""))/100:typeof e=="number"&&(t=e),isNaN(t)&&(t=2*i),t}function G6(i,e,t=1,n=!1){const r=n?t:1,s=(i.max[0]-i.min[0])*r;return H6(s,e)}function Npe(i,e,t=1){const n=sc(i[0],i[1])*t;return H6(n,e)}var o1=v(42791);class l1 extends Ea.b_{constructor(e){super(e),this.shapeMap={},this.animateMap={},this.transformPosition(this.attributes),this.render(this.attributes,this),this.setVisibility(),this.bindEvents()}get parsedAttributes(){return this.attributes}upsert(e,t,n,r,s){var a,o,l,c,u,h,d,f;const A=this.shapeMap[e];if(n===!1){A&&((a=s==null?void 0:s.beforeDestroy)===null||a===void 0||a.call(s,A),r.removeChild(A),delete this.shapeMap[e],(o=s==null?void 0:s.afterDestroy)===null||o===void 0||o.call(s,A));return}const y=typeof t=="string"?jg(Y_.SHAPE,t):t;if(!y)throw new Error(Kg(`Shape ${t} not found`));if(!A||A.destroyed||!(A instanceof y)){A&&((l=s==null?void 0:s.beforeDestroy)===null||l===void 0||l.call(s,A),A==null||A.destroy(),(c=s==null?void 0:s.afterDestroy)===null||c===void 0||c.call(s,A)),(u=s==null?void 0:s.beforeCreate)===null||u===void 0||u.call(s);const b=new y({className:e,style:n});return r.appendChild(b),this.shapeMap[e]=b,(h=s==null?void 0:s.afterCreate)===null||h===void 0||h.call(s,b),b}return(d=s==null?void 0:s.beforeUpdate)===null||d===void 0||d.call(s,A),XN(A,n),(f=s==null?void 0:s.afterUpdate)===null||f===void 0||f.call(s,A),A}transformPosition(e){if("x"in e||"y"in e||"z"in e){const{x:t=0,y:n=0,z:r=0,transform:s}=e;this.style.transform=A6(+t,+n,+r,s)}}update(e={}){const t=Object.assign({},this.attributes,e);this.attr(t),this.render(t,this),this.transformPosition(t),this.setVisibility()}bindEvents(){}getGraphicStyle(e){return Bpe(e)}get compositeShapes(){return[["badges","badge-"],["ports","port-"]]}animate(e,t){if(e.length===0)return null;const n=[];if(e[0].x!==void 0||e[0].y!==void 0||e[0].z!==void 0){const{x:s=0,y:a=0,z:o=0}=this.attributes;e.forEach(l=>{const{x:c=s,y:u=a,z:h=o}=l;Object.assign(l,{transform:h?[["translate3d",c,u,h]]:[["translate",c,u]]})})}const r=super.animate(e,t);if(r&&(LN(this,r),n.push(r)),Array.isArray(e)&&e.length>0){const s=["transform","transformOrigin","x","y","z","zIndex"];if(Object.keys(e[0]).some(a=>!s.includes(a))){Object.entries(this.shapeMap).forEach(([o,l])=>{const c=`get${(0,tC.Z)(o)}Style`,u=this[c];if((0,Ra.Z)(u)){const h=e.map(f=>u.call(this,Object.assign(Object.assign({},this.attributes),f))),d=l.animate(wN(h),t);d&&(LN(l,d),n.push(d))}});const a=(o,l)=>{if(!(0,o1.Z)(o)){const c=`get${(0,tC.Z)(l)}Style`,u=this[c];if((0,Ra.Z)(u)){const h=e.map(d=>u.call(this,Object.assign(Object.assign({},this.attributes),d)));Object.entries(h[0]).map(([d])=>{const f=h.map(y=>y[d]),A=o[d];if(A){const y=A.animate(wN(f),t);y&&(LN(A,y),n.push(y))}})}}};this.compositeShapes.forEach(([o,l])=>{const c=PN(this.shapeMap,l);a(c,o)})}}return _N(n)}getShape(e){return this.shapeMap[e]}setVisibility(){const{visibility:e}=this.attributes;Qv(this,e,!0)}destroy(){this.shapeMap={},this.animateMap={},super.destroy()}}function LN(i,e){e==null||e.finished.then(()=>{const t=i.activeAnimations.findIndex(n=>n===e);t>-1&&i.activeAnimations.splice(t,1)})}var Ppe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{t.push([r===0?"M":"L",...n])}),e&&t.push(["Z"]),t}const Q6={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 Ope(i){const e=i.replace(/[\n\r]/g,"").replace(/-/g," -").replace(/(\d*\.)(\d+)(?=\.)/g,"$1$2 ").trim().split(/\s*,|\s+/),t=[];let n="",r={};for(;e.length>0;){let s=e.shift();s in Q6?n=s:e.unshift(s),r={type:n},Q6[n].forEach(l=>{s=e.shift(),r[l]=s}),n==="M"?n="L":n==="m"&&(n="l");const[a,...o]=Object.values(r);t.push([a,...o.map(Number)])}return t}function Lpe(i){const e=[];return(typeof i=="string"?Ope(i):i).forEach(n=>{const r=n[0];if(r==="Z"){e.push(e[0]);return}if(r!=="A")for(let s=1;s{if(i.length<2)return[["M",0,0],["L",0,0]];const e=i[0],t=i[1],n=i[i.length-1],r=i[i.length-2];i.unshift(r,n),i.push(e,t);const s=[["M",n[0],n[1]]];for(let a=1;a{const b=A,x=u[(y+1)%u.length];return(0,pu.Z)(b,x)?null:[b,x]}).filter(Boolean),d=wpe([o,l],h),f=I6([o,l],d);if(f&&d&&(c.transform=[["translate",f[0]+t,f[1]+n]],a)){const A=Math.atan((d[0][1]-d[1][1])/(d[0][0]-d[1][0]));c.transform.push(["rotate",A/Math.PI*180]),c.textAlign="center",(e==="right"||e==="left")&&(A>0?c.textBaseline=e==="right"?"bottom":"top":c.textBaseline=e==="right"?"top":"bottom")}return c}var Upe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{n!=null&&n.children.length&&n.children.forEach(r=>{e.push(r),t(r)})};return t(i),e}function zpe(i){const e=[];let t=i.parentNode;for(;t;)e.push(t),t=t.parentNode;return e}class DN extends Ea.Ee{constructor(e){super(e),this.onMounted=()=>{this.handleRadius()},this.onAttrModified=()=>{this.handleRadius()},Kx=this,this.isMutationObserved=!0,this.addEventListener(Ea.Dk.MOUNTED,this.onMounted),this.addEventListener(Ea.Dk.ATTR_MODIFIED,this.onAttrModified)}handleRadius(){const{radius:e,clipPath:t,width:n=0,height:r=0}=this.attributes;if(e&&n&&r){const[s,a]=this.getBounds().min,o={x:s,y:a,radius:e,width:n,height:r};if(t)Object.assign(this.parsedStyle.clipPath.style,o);else{const l=new Ea.UL({style:o});this.style.clipPath=l}}else t&&(this.style.clipPath=null)}}const UN=new WeakMap;let Kx=null;const kN=i=>{if(Kx&&zpe(Kx).includes(i)){const e=UN.get(i);e?e.includes(Kx)||e.push(Kx):UN.set(i,[Kx])}},zN=i=>{const e=UN.get(i);e&&e.forEach(t=>t.handleRadius())};class Z6 extends l1{constructor(e){super(e)}isImage(){const{src:e}=this.attributes;return!!e}getIconStyle(e=this.attributes){const{width:t=0,height:n=0}=e,r=this.getGraphicStyle(e);return this.isImage()?Object.assign({x:-t/2,y:-n/2},r):Object.assign({textBaseline:"middle",textAlign:"center"},r)}render(e=this.attributes,t=this){this.upsert("icon",this.isImage()?DN:Ea.xv,this.getIconStyle(e),t)}}class $6 extends l1{get context(){return this.attributes.context}get parsedAttributes(){return this.attributes}onframe(){}animate(e,t){const n=super.animate(e,t);return n&&(n.onframe=()=>this.onframe(),n.finished.then(()=>this.onframe())),n}}var AC=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{r[h]=!1}),e.badge===!1||!(!((t=e.badges)===null||t===void 0)&&t.length))return r;const{badges:s=[],badgePalette:a,opacity:o=1}=e,l=AC(e,["badges","badgePalette","opacity"]),c=V6(a),u=gu(this.getGraphicStyle(l),"badge");return s.forEach((h,d)=>{r[d]=Object.assign(Object.assign({backgroundFill:c?c[d%(c==null?void 0:c.length)]:void 0,opacity:o},u),this.getBadgeStyle(h))}),r}getBadgeStyle(e){const t=this.getShape("key"),{placement:n="top",offsetX:r,offsetY:s}=e,a=AC(e,["placement","offsetX","offsetY"]),o=AH(t.getLocalBounds(),n,r,s,!0);return Object.assign(Object.assign({},o),a)}getPortsStyle(e){var t;const n=this.getPorts(),r={};if(Object.keys(n).forEach(o=>{r[o]=!1}),e.port===!1||!(!((t=e.ports)===null||t===void 0)&&t.length))return r;const s=gu(this.getGraphicStyle(e),"port"),{ports:a=[]}=e;return a.forEach((o,l)=>{const c=o.key||l,u=Object.assign(Object.assign({},s),o);if(hH(u))r[c]=!1;else{const[h,d]=this.getPortXY(e,o);r[c]=Object.assign({transform:[["translate",h,d]]},u)}}),r}getPortXY(e,t){const{placement:n="left"}=t,r=this.getShape("key");return $N(Vpe(this.context,r),n)}getPorts(){return PN(this.shapeMap,"port-")}getCenter(){return this.getShape("key").getBounds().center}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return bpe(e,n,t)}drawHaloShape(e,t){const n=this.getHaloStyle(e);if(!BA(this,"halo",n))return;const r=this.getShape("key");this.upsert("halo",r.constructor,n,t)}drawIconShape(e,t){const n=this.getIconStyle(e);BA(this,"icon",n)&&(this.upsert("icon",Z6,n,t),kN(this))}drawBadgeShapes(e,t){const n=this.getBadgesStyle(e);Object.keys(n).forEach(r=>{const s=n[r];BA(this,`badge-${r}`,s)&&this.upsert(`badge-${r}`,jx,s,t)})}drawPortShapes(e,t){const n=this.getPortsStyle(e);Object.keys(n).forEach(r=>{const s=n[r],a=`port-${r}`;BA(this,a,s)&&this.upsert(a,Ea.Cd,s,t)})}drawLabelShape(e,t){const n=this.getLabelStyle(e);BA(this,"label",n)&&this.upsert("label",u0,n,t)}_drawKeyShape(e,t){return this.drawKeyShape(e,t)}render(e=this.parsedAttributes,t=this){this._drawKeyShape(e,t),this.getShape("key")&&(this.drawHaloShape(e,t),this.drawIconShape(e,t),this.drawBadgeShapes(e,t),this.drawLabelShape(e,t),this.drawPortShapes(e,t))}update(e){super.update(e),e&&("x"in e||"y"in e||"z"in e)&&zN(this)}onframe(){this.drawBadgeShapes(this.parsedAttributes,this),this.drawLabelShape(this.parsedAttributes,this)}}RA.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 Vpe(i,e){if(!i)return e.getLocalBounds();const t=i.canvas.getLayer(),n=e.cloneNode();Qv(n,"hidden"),t.appendChild(n);const r=n.getLocalBounds();return t.removeChild(n),r}class jv extends RA{constructor(e){super(Wu({style:jv.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ea.Cd,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{r:Math.min(...this.getSize(e))/2})}getIconStyle(e){const t=super.getIconStyle(e),{r:n}=this.getShape("key").attributes,r=n*2*em;return t?Object.assign({width:r,height:r},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return uC(e,n,t)}}jv.defaultStyleProps={size:32};class pC extends RA{constructor(e){super(e)}get parsedAttributes(){return this.attributes}drawKeyShape(e,t){return this.upsert("key",Ea.mg,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e);return Object.assign(Object.assign({},t),{points:this.getPoints(e)})}getIntersectPoint(e,t=!1){var n,r;const{points:s}=this.getShape("key").attributes,a=[+(((n=this.attributes)===null||n===void 0?void 0:n.x)||0),+(((r=this.attributes)===null||r===void 0?void 0:r.y)||0)];return R6(e,a,s,!0,t).point}}class Hpe extends pC{constructor(e){super(e)}getPoints(e){const[t,n]=this.getSize(e);return Lge(t,n)}}var fa=v(1933),Gpe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r(0,fa.Z)(h)?{value:h}:h),s=gu(this.getGraphicStyle(e),"donut"),a=V6(e.donutPalette);if(!a)return;const o=r.reduce((h,d)=>{var f;return h+((f=d.value)!==null&&f!==void 0?f:0)},0),l=this.parseOuterR(),c=this.parseInnerR();let u=0;r.forEach((h,d)=>{const{value:f=0,color:A=a[d%a.length]}=h,y=Gpe(h,["value","color"]),b=(o===0?1/r.length:f/o)*360;this.upsert(`round${d}`,Ea.y$,Object.assign(Object.assign(Object.assign({},s),{d:Zpe(l,c,u,u+b),fill:A}),y),t),u+=b})}render(e,t=this){super.render(e,t),this.drawDonutShape(e,t)}}gC.defaultStyleProps={innerR:"50%",donuts:[],donutPalette:"tableau"};const mC=(i,e,t,n)=>[i+Math.sin(n)*t,e-Math.cos(n)*t],Qpe=(i,e,t,n)=>n<=0||t<=n?[["M",i-t,e],["A",t,t,0,1,1,i+t,e],["A",t,t,0,1,1,i-t,e],["Z"]]:[["M",i-t,e],["A",t,t,0,1,1,i+t,e],["A",t,t,0,1,1,i-t,e],["Z"],["M",i+n,e],["A",n,n,0,1,0,i-n,e],["A",n,n,0,1,0,i+n,e],["Z"]],Wpe=(i,e,t,n,r,s)=>{const[a,o]=[r/360*2*Math.PI,s/360*2*Math.PI],l=[mC(i,e,n,a),mC(i,e,t,a),mC(i,e,t,o),mC(i,e,n,o)],c=o-a>Math.PI?1:0;return[["M",l[0][0],l[0][1]],["L",l[1][0],l[1][1]],["A",t,t,0,c,1,l[2][0],l[2][1]],["L",l[3][0],l[3][1]],["A",n,n,0,c,0,l[0][0],l[0][1]],["Z"]]},Zpe=(i=0,e=0,t,n)=>{const[r,s]=[0,0];return Math.abs(t-n)%360<1e-6?Qpe(r,s,i,e):Wpe(r,s,i,e,t,n)};class vC extends RA{constructor(e){super(Wu({style:vC.defaultStyleProps},e))}drawKeyShape(e,t){return this.upsert("key",Ea.Pj,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,r]=this.getSize(e);return Object.assign(Object.assign({},t),{rx:n/2,ry:r/2})}getIconStyle(e){const t=super.getIconStyle(e),{rx:n,ry:r}=this.getShape("key").attributes,s=Math.min(+n,+r)*2*em;return t?Object.assign({width:s,height:s},t):!1}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return uC(e,n,t)}}vC.defaultStyleProps={size:[45,35]};class $pe extends pC{constructor(e){super(e)}getOuterR(e){return e.outerR||Math.min(...this.getSize(e))/2}getPoints(e){return Uge(this.getOuterR(e))}getIconStyle(e){const t=super.getIconStyle(e),n=this.getOuterR(e)*em;return t?Object.assign({width:n,height:n},t):!1}}var u1=v(94344),Kv=v(84502),Fc=v(49527),jpe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const n=this.context.canvas,r=n.context.renderingContext.root.ownerDocument.defaultView;this.normalizeToPointerEvent(t,r).forEach(a=>{const o=this.bootstrapEvent(this.rootPointerEvent,a,r,t);(0,s1.Z)(n.context.eventService,"mappingTable.pointerupoutside",[]),n.context.eventService.mapEvent(o)})}}get eventService(){return this.context.canvas.context.eventService}get events(){return[bi.CLICK,bi.POINTER_DOWN,bi.POINTER_MOVE,bi.POINTER_UP,bi.POINTER_OVER,bi.POINTER_LEAVE]}getDomElement(){return this.getShape("key").getDomElement()}getKeyStyle(e){const t=(0,Kv.Z)(e,["dx","dy","innerHTML","pointerEvents","cursor"]),{dx:n=0,dy:r=0}=t,s=jpe(t,["dx","dy"]),[a,o]=this.getSize(e);return Object.assign(Object.assign({x:n,y:r},s),{width:a,height:o})}drawKeyShape(e,t){const n=this.getKeyStyle(e),{x:r,y:s,width:a=0,height:o=0}=n,l=this.upsert("key-container",Ea.UL,{x:r,y:s,width:a,height:o,opacity:0},t);return this.upsert("key",Ea.k9,n,l)}connectedCallback(){if(!(this.context.canvas.getRenderer("main")instanceof u1.Th))return;const n=this.getDomElement();this.events.forEach(r=>{n.addEventListener(r,this.forwardEvents)})}attributeChangedCallback(e,t,n){e==="zIndex"&&t!==n&&(this.getDomElement().style.zIndex=n)}destroy(){const e=this.getDomElement();this.events.forEach(t=>{e.removeEventListener(t,this.forwardEvents)}),super.destroy()}normalizeToPointerEvent(e,t){const n=[];if(t.isTouchEvent(e))for(let r=0;rt.element.getElement(o)).filter(Boolean);if(s.length===0){const o=new Ea.mN,{x:l=0,y:c=0,size:u}=e,[h,d]=Df(u);return o.setMinMax([l-h/2,c-d/2,0],[l+h/2,c+d/2,0]),o}const a=J_(s.map(o=>o.getBounds()));return r?a0(a,r):a}drawCollapsedMarkerShape(e,t){const n=this.getCollapsedMarkerStyle(e);BA(this,"collapsedMarker",n)&&(this.upsert("collapsed-marker",Z6,n,t),kN(this))}getCollapsedMarkerStyle(e){if(!e.collapsed||!e.collapsedMarker)return!1;const t=gu(this.getGraphicStyle(e),"collapsedMarker"),{type:n}=t,r=K6(t,["type"]),s=this.getShape("key"),[a,o]=Jg(s.getLocalBounds(),"center"),l=Object.assign(Object.assign({},r),{x:a,y:o});if(n){const c=this.getCollapsedMarkerText(n,e);Object.assign(l,{text:c})}return l}getCollapsedMarkerText(e,t){const{context:n,childrenData:r=[]}=t,{model:s}=n;return e==="descendant-count"?s.getDescendantsData(this.id).length.toString():e==="child-count"?r.length.toString():e==="node-count"?s.getDescendantsData(this.id).filter(a=>s.getElementType(Lr(a))==="node").length.toString():(0,Ra.Z)(e)?e(r):""}getComboZIndex(e){return(this.context.model.getAncestorsData(this.id,Kl)||[]).length}getComboPosition(e){const{x:t=0,y:n=0,collapsed:r,context:s,childrenData:a=[]}=e;if(a.length===0)return[+t,+n,0];if(r){const{model:o}=s,l=o.getDescendantsData(this.id).filter(c=>!o.isCombo(Lr(c)));if(l.length>0&&l.some(gpe)){const c=l.reduce((u,h)=>lo(u,lh(h)),[0,0,0]);return CA(c,l.length)}return[+t,+n,0]}return this.getContentBBox(e).center}getComboStyle(e){const{zIndex:t=this.getComboZIndex(e)}=e,[n,r]=this.getComboPosition(e);return{x:n,y:r,transform:[["translate",n,r]],zIndex:t}}updateComboPosition(e){const t=this.getComboStyle(e);Object.assign(this.style,t);const{x:n,y:r}=t;this.context.model.syncComboDatum({id:this.id,style:{x:n,y:r}}),zN(this)}render(e,t=this){super.render(e,t),this.drawCollapsedMarkerShape(e,t)}update(e={}){super.update(e),this.updateComboPosition(this.parsedAttributes)}onframe(){super.onframe(),this.attributes.collapsed||this.updateComboPosition(this.parsedAttributes),this.drawKeyShape(this.parsedAttributes,this)}animate(e,t){const n=super.animate(this.attributes.collapsed?e:e.map(r=>{var{x:s,y:a,z:o,transform:l}=r,c=K6(r,["x","y","z","transform"]);return c}),t);return n&&new Proxy(n,{set:(r,s,a)=>(s==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(r,s,a))})}}Xx.defaultStyleProps={childrenNode:[],droppable:!0,draggable:!0,collapsed:!1,collapsedSize:32,collapsedMarker:!0,collapsedMarkerZIndex:1,collapsedMarkerFontSize:12,collapsedMarkerTextAlign:"center",collapsedMarkerTextBaseline:"middle",collapsedMarkerType:"child-count"};class Ype extends Xx{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ea.Cd,this.getKeyStyle(e),t)}getKeyStyle(e){const{collapsed:t}=e,n=super.getKeyStyle(e),[r]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},n),t&&gu(n,"collapsed")),{r:r/2})}getCollapsedKeySize(e){const[t,n]=Df(e.collapsedSize),r=Math.max(t,n)/2;return[r*2,r*2,0]}getExpandedKeySize(e){const t=this.getContentBBox(e),[n,r]=i0(t),s=Math.sqrt(Math.pow(n,2)+Math.pow(r,2))/2;return[s*2,s*2,0]}getIntersectPoint(e,t=!1){const n=this.getShape("key").getBounds();return uC(e,n,t)}}class qpe extends Xx{constructor(e){super(e)}drawKeyShape(e,t){return this.upsert("key",Ea.UL,this.getKeyStyle(e),t)}getKeyStyle(e){const t=super.getKeyStyle(e),[n,r]=this.getKeySize(e);return Object.assign(Object.assign(Object.assign({},t),e.collapsed&&gu(t,"collapsed")),{width:n,height:r,x:-n/2,y:-r/2})}}var Jpe=v(47182);const ege={padding:10};function X6(i,e,t,n,r,s){const{padding:a}=Object.assign(ege,s),o=s0(t,a),l=s0(n,a),c=[i,...r,e];let u=null;const h=[];for(let d=0,f=c.length;ds?"N":"S":n===s?t>r?"W":"E":null}function VN(i,e){return e==="N"||e==="S"?Vp(i):zp(i)}function q6(i,e,t){const n=[i[0],e[1]],r=[e[0],i[1]],s=nd(i,n),a=nd(i,r),o=t?tge[t]:null,l=s===t||s!==o&&a!==t?n:r;return{points:[l],direction:nd(l,e)}}function _C(i,e,t){if(sC(i,t)){const n=h1(i,e,t);return{points:[n],direction:nd(n,e)}}else{const n=Gv(i,t),s=["left","right"].includes(e1(i,t))?[e[0],n[1]]:[n[0],e[1]];return{points:[s],direction:nd(s,e)}}}function J6(i,e,t,n){const r=sC(e,t)?e:Gv(e,t),s=[[r[0],i[1]],[i[0],r[1]]],a=s.filter(l=>tpe(l,t)&&!y6(l,t,!0)),o=a.filter(l=>nd(l,i)!==n);if(o.length>0){const l=o.find(c=>nd(i,c)===n)||o[0];return{points:[l],direction:nd(l,e)}}else{const l=(0,Jpe.Z)(s,a)[0],c=c0(e,l,VN(t,n)/2);return{points:[h1(c,i,t),c],direction:nd(c,e)}}}function nge(i,e,t,n){let r=_C(i,e,t);const s=n1(r.points[0]);if(SA(s,n)){r=_C(e,i,n);const a=n1(r.points[0]);if(SA(a,t)){const o=c0(i,s,VN(t,nd(i,s))/2),l=c0(e,a,VN(n,nd(e,a))/2),c=[(o[0]+l[0])/2,(o[1]+l[1])/2],u=_C(i,c,t),h=J6(c,e,n,u.direction);r.points=[u.points[0],h.points[0]],r.direction=h.direction}}return r}function HN(i,e,t,n,r){const a=J_([t,n]),o=sc(e,a.center)>sc(i,a.center),[l,c]=o?[e,i]:[i,e],u=Vp(a)+zp(a);let h;if(r){const A=[l[0]+u*Math.cos(Y6[r]),l[1]+u*Math.sin(Y6[r])];h=c0(Gv(A,a),A,.01)}else h=c0(Gv(l,a),l,-.01);let d=h1(h,c,a),f=[r1(h,2),r1(d,2)];if((0,pu.Z)(r1(h),r1(d))){const A=BN(Gl(h,l),[1,0,0])+Math.PI/2;d=[c[0]+u*Math.cos(A),c[1]+u*Math.sin(A),0],d=r1(c0(Gv(d,a),c,-.01),2);const y=h1(h,d,a);f=[h,y,d]}return{points:o?f.reverse():f,direction:nd(o?h:d,e)}}function h1(i,e,t){let n=[i[0],e[1]];return SA(n,t)&&(n=[e[0],i[1]]),n}function eH(i,e,t,n,r){let l=typeof e=="number"?e:.5;e==="start"&&(l=0),e==="end"&&(l=.99);const c=ch(i.getPoint(l)),u=ch(i.getPoint(l+.01));let h=e==="start"?"left":e==="end"?"right":"center";if(T6(c,u)||!t){const[x,P]=tH(i,l,n,r);return{transform:[["translate",x,P]],textAlign:h}}let d=Math.atan2(u[1]-c[1],u[0]-c[0]);u[0]{const c=s[l-1]||n,u=s[l+1]||r;if(!ype(c,o,u)&&e){const[h,d]=oge(c,o,u,e);a.push(["L",h[0],h[1]],["Q",o[0],o[1],d[0],d[1]],["L",d[0],d[1]])}else a.push(["L",o[0],o[1]])}),a.push(["L",r[0],r[1]]),t&&a.push(["Z"]),a}function oge(i,e,t,n){const r=lC(i,e),s=lC(t,e),a=Math.min(n,Math.min(r,s)/2),o=[e[0]-a/r*(e[0]-i[0]),e[1]-a/r*(e[1]-i[1])],l=[e[0]-a/s*(e[0]-t[0]),e[1]-a/s*(e[1]-t[1])];return[o,l]}const lge=i=>{const e=Math.PI/2,t=Vp(i)/2,n=zp(i)/2,r=Math.atan2(t,n)/2,s=Math.atan2(n,t)/2;return{top:[-e-s,-e+s],"top-right":[-e+s,-r],"right-top":[-e+s,-r],right:[-r,r],"bottom-right":[r,e-s],"right-bottom":[r,e-s],bottom:[e-s,e+s],"bottom-left":[e+s,Math.PI-r],"left-bottom":[e+s,Math.PI-r],left:[Math.PI-r,Math.PI+r],"top-left":[Math.PI+r,-e-s],"left-top":[Math.PI+r,-e-s]}};function rH(i,e,t,n,r){const s=s0(i),a=i.getCenter();let o=n&&d0(n),l=r&&d0(r);if(!o||!l){const c=lge(s),u=c[e][0],h=c[e][1],[d,f]=i0(s),A=Math.max(d,f),y=lo(a,[A*Math.cos(u),A*Math.sin(u),0]),b=lo(a,[A*Math.cos(h),A*Math.sin(h),0]);o=KN(i,y),l=KN(i,b),t||([o,l]=[l,o])}return[o,l]}function cge(i,e,t,n,r,s){const a=i.getPorts()[r||s],o=i.getPorts()[s||r];let[l,c]=rH(i,e,t,a,o);const u=uge(i,l,c,n);return a&&(l=f1(a,u[0])),o&&(c=f1(o,u[u.length-1])),nH(l,c,u)}function uge(i,e,t,n){const r=i.getCenter();if((0,pu.Z)(e,t)){const s=Gl(e,r),a=[n*Math.sign(s[0])||n/2,n*Math.sign(s[1])||-n/2,0];return[lo(e,a),lo(t,Yg(a,[1,-1,1]))]}return[c0(r,e,sc(r,e)+n),c0(r,t,sc(r,t)+n)]}function hge(i,e,t,n,r,s,a){const o=jN(i),l=o[s||a],c=o[a||s];let[u,h]=rH(i,t,n,l,c);const d=dge(i,u,h,r);return l&&(u=f1(l,d[0])),c&&(h=f1(c,d[d.length-1])),QN([u,...d,h],e)}function dge(i,e,t,n){const r=[],s=s0(i);if((0,pu.Z)(e,t))switch(e1(e,s)){case"left":r.push([e[0]-n,e[1]]),r.push([e[0]-n,e[1]+n]),r.push([e[0],e[1]+n]);break;case"right":r.push([e[0]+n,e[1]]),r.push([e[0]+n,e[1]+n]),r.push([e[0],e[1]+n]);break;case"top":r.push([e[0],e[1]-n]),r.push([e[0]+n,e[1]-n]),r.push([e[0]+n,e[1]]);break;case"bottom":r.push([e[0],e[1]+n]),r.push([e[0]+n,e[1]+n]),r.push([e[0]+n,e[1]]);break}else{const a=e1(e,s),o=e1(t,s);if(a===o){const l=a;let c,u;switch(l){case"left":c=Math.min(e[0],t[0])-n,r.push([c,e[1]]),r.push([c,t[1]]);break;case"right":c=Math.max(e[0],t[0])+n,r.push([c,e[1]]),r.push([c,t[1]]);break;case"top":u=Math.min(e[1],t[1])-n,r.push([e[0],u]),r.push([t[0],u]);break;case"bottom":u=Math.max(e[1],t[1])+n,r.push([e[0],u]),r.push([t[0],u]);break}}else{const l=(d,f)=>({left:[f[0]-n,f[1]],right:[f[0]+n,f[1]],top:[f[0],f[1]-n],bottom:[f[0],f[1]+n]})[d],c=l(a,e),u=l(o,t),h=h1(c,u,s);r.push(c,h,u)}}return r}function WN(i,e){const t=new Set,n=new Set,r=new Set;return i.forEach(s=>{e(s).forEach(o=>{t.add(o),i.includes(o.source)&&i.includes(o.target)?n.add(o):r.add(o)})}),{edges:Array.from(t),internal:Array.from(n),external:Array.from(r)}}function iH(i,e){const t=[];let n=i;for(;n;){t.push(n);const r=e(Lr(n));if(r)n=r;else break}if(t.some(r=>{var s;return(s=r.style)===null||s===void 0?void 0:s.collapsed})){const r=t.reverse().findIndex(cf);return t[r]||t.at(-1)}return i}function fge(i,e){return e||(i<4?10:i===4?12:i*2.5)}const Age=(i,e)=>{const t=Math.max(i,e)/2;return[["M",-i/2,0],["A",t,t,0,1,0,2*t-i/2,0],["A",t,t,0,1,0,-i/2,0],["Z"]]},sH=(i,e)=>[["M",-i/2,0],["L",i/2,-e/2],["L",i/2,e/2],["Z"]],pge=(i,e)=>[["M",-i/2,0],["L",0,-e/2],["L",i/2,0],["L",0,e/2],["Z"]],gge=(i,e)=>[["M",-i/2,0],["L",i/2,-e/2],["L",4*i/5-i/2,0],["L",i/2,e/2],["Z"]],mge=(i,e)=>[["M",-i/2,-e/2],["L",i/2,-e/2],["L",i/2,e/2],["L",-i/2,e/2],["Z"]],vge=(i,e)=>{const t=i/2,n=i/7,r=i-n;return[["M",-t,0],["L",0,-e/2],["L",0,e/2],["Z"],["M",r-t,-e/2],["L",r+n-t,-e/2],["L",r+n-t,e/2],["L",r-t,e/2],["Z"]]},yge=(i,e)=>[["M",i/2,-e/2],["L",-i/2,0],["L",i/2,0],["L",-i/2,0],["L",i/2,e/2]];var wC=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r(s==="currentTime"&&Promise.resolve().then(()=>this.onframe()),Reflect.set(r,s,a))})}}h0.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 Xv extends h0{constructor(e){super(Wu({style:Xv.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e),{controlPoints:r,curvePosition:s,curveOffset:a}=e,o=this.getControlPoints(t,n,sge(s),ige(a),r);return nH(t,n,o)}getControlPoints(e,t,n,r,s){return(s==null?void 0:s.length)===2?s:[GN(e,t,n[0],r[0]),GN(e,t,n[1],r[1])]}}Xv.defaultStyleProps={curvePosition:.5,curveOffset:20};class EC extends Xv{constructor(e){super(Wu({style:EC.defaultStyleProps},e))}getControlPoints(e,t,n,r){const s=t[0]-e[0];return[[e[0]+s*n[0]+r[0],e[1]],[t[0]-s*n[1]+r[1],t[1]]]}}EC.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class SC extends Xv{constructor(e){super(Wu({style:SC.defaultStyleProps},e))}get ref(){return this.context.model.getRootsData()[0]}getEndpoints(e){if(this.sourceNode.id===this.ref.id)return super.getEndpoints(e);const t=lh(this.ref),n=this.sourceNode.getIntersectPoint(t,!0),r=this.targetNode.getIntersectPoint(t);return[n,r]}toRadialCoordinate(e){const t=lh(this.ref),n=sc(e,t),r=E6(Gl(e,t));return[n,r]}getControlPoints(e,t,n,r){const[s,a]=this.toRadialCoordinate(e),[o]=this.toRadialCoordinate(t),l=o-s;return[[e[0]+(l*n[0]+r[0])*Math.cos(a),e[1]+(l*n[0]+r[0])*Math.sin(a)],[t[0]-(l*n[1]-r[0])*Math.cos(a),t[1]-(l*n[1]-r[0])*Math.sin(a)]]}}SC.defaultStyleProps={curvePosition:.5,curveOffset:20};class CC extends Xv{constructor(e){super(Wu({style:CC.defaultStyleProps},e))}getControlPoints(e,t,n,r){const s=t[1]-e[1];return[[e[0],e[1]+s*n[0]+r[0]],[t[0],t[1]-s*n[1]+r[1]]]}}CC.defaultStyleProps={curvePosition:[.5,.5],curveOffset:[0,0]};class MC extends h0{constructor(e){super(Wu({style:MC.defaultStyleProps},e))}getKeyPath(e){const[t,n]=this.getEndpoints(e);return[["M",t[0],t[1]],["L",n[0],n[1]]]}}MC.defaultStyleProps={};const xge={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:lC},tm=i=>`${Math.round(i[0])}|||${Math.round(i[1])}`;function Yv(i,e){const t=n=>Math.round(n/e);return(0,fa.Z)(i)?t(i):i.map(t)}function bge(i,e){const t=Math.abs(i-e);return t>Math.PI?2*Math.PI-t:t}function aH(i,e){const t=e[0]-i[0],n=e[1]-i[1];return!t&&!n?0:Math.atan2(n,t)}function oH(i,e,t,n){const r=aH(i,e),s=t[tm(i)],o=aH(s||n,i);return bge(o,r)}const _ge=(i,e)=>{const{offset:t,gridSize:n}=e,r={};return i.forEach(s=>{if(!s||s.destroyed||!s.isVisible())return;const a=a0(s.getRenderBounds(),t);for(let o=Yv(a.min[0],n);o<=Yv(a.max[0],n);o+=1)for(let l=Yv(a.min[1],n);l<=Yv(a.max[1],n);l+=1)r[`${o}|||${l}`]=!0}),r};function lH(i,e,t){return Math.min(...e.map(n=>t(i,n)))}function wge(i,e,t){let n=i[0],r=t(i[0],e);for(let s=0;s{if(!e)return[i];const{directionMap:r,offset:s}=n,a=a0(e.getRenderBounds(),s),o=Object.keys(r).reduce((l,c)=>{if(t.includes(c)){const u=r[c],[h,d]=i0(a),f=[i[0]+u.stepX*h,i[1]+u.stepY*d],A=ipe(a);for(let y=0;yYv(l,n.gridSize))},Ege=(i,e,t,n,r,s,a)=>{const o=[];let l=[s[0]===n[0]?n[0]:i[0]*a,s[1]===n[1]?n[1]:i[1]*a];o.unshift(l);let c=i,u=e[tm(c)];for(;u;){const f=u,A=c;oH(f,A,e,t)&&(l=[f[0]===A[0]?l[0]:f[0]*a,f[1]===A[1]?l[1]:f[1]*a],o.unshift(l)),u=e[tm(f)],c=f}const h=r.map(f=>[f[0]*a,f[1]*a]),d=wge(h,l,lC);return o.unshift(d),o};function Sge(i,e,t,n){const r=Wv(i.getCenter()),s=Wv(e.getCenter()),a=Object.assign(xge,n),{gridSize:o}=a,l=a.enableObstacleAvoidance?t:[i,e],c=_ge(l,a),u=Yv(r,o),h=Yv(s,o),d=cH(r,i,a.startDirections,a),f=cH(s,e,a.endDirections,a);d.forEach(ue=>delete c[tm(ue)]),f.forEach(ue=>delete c[tm(ue)]);const A={},y={},b={},x={},P={},k=new Cge;for(let ue=0;uetm(ue));let se=a.maximumLoops,ie,ce=1/0;for(const[ue,ve]of Object.entries(A))P[ue]<=ce&&(ce=P[ue],ie=ve);for(;Object.keys(A).length>0&&se>0;){const ue=k.minId(!1);if(ue)ie=A[ue];else break;const ve=tm(ie);if($.includes(ve))return Ege(ie,b,u,s,d,h,o);delete A[ve],k.remove(ve),y[ve]=!0;for(const Fe of Object.values(a.directionMap)){const nt=lo(ie,[Fe.stepX,Fe.stepY]),Gt=tm(nt);if(y[Gt])continue;const Jt=oH(ie,nt,b,u);if(Jt>a.maxAllowedDirectionChange||c[Gt])continue;A[Gt]||(A[Gt]=nt);const gn=a.penalties[Jt],yn=a.distFunc(ie,nt)+(isNaN(gn)?o:gn),Mn=x[ve]+yn,rr=x[Gt];rr&&Mn>=rr||(b[Gt]=ie,x[Gt]=Mn,P[Gt]=Mn+lH(nt,f,a.distFunc),k.add({id:Gt,value:P[Gt]}))}se-=1}return[]}class Cge{constructor(){this.arr=[],this.map={},this.arr=[],this.map={}}_innerAdd(e,t){let n=0,r=t-1;for(;r-n>1;){const s=Math.floor((n+r)/2);if(this.arr[s].value>e.value)r=s;else if(this.arr[s].value=0;t--)this.map[this.arr[t].id]?e=this.arr[t].id:this.arr.splice(t,1);return e}_findFirstId(){for(;this.arr.length;){const e=this.arr.shift();if(this.map[e.id])return e.id}}minId(e){return e?this._clearAndGetMinId():this._findFirstId()}}class TC extends h0{constructor(e){super(Wu({style:TC.defaultStyleProps},e))}getControlPoints(e){const{router:t}=e,{sourceNode:n,targetNode:r}=this,[s,a]=this.getEndpoints(e,!1);let o=[];if(!t)o=e.controlPoints;else if(t.type==="shortest-path"){const l=this.context.element.getNodes();o=Sge(n,r,l,t),o.length||(o=X6(s,a,n,r,e.controlPoints,{padding:t.offset}))}else t.type==="orth"&&(o=X6(s,a,n,r,e.controlPoints,t));return o}getPoints(e){const t=this.getControlPoints(e),[n,r]=this.getEndpoints(e,!0,t);return[n,...t,r]}getKeyPath(e){const t=this.getPoints(e);return QN(t,e.radius)}getLoopPath(e){const{sourcePort:t,targetPort:n,radius:r}=e,s=this.sourceNode,a=s0(s),o=Math.max(zp(a),Vp(a))/4,{placement:l,clockwise:c,dist:u=o}=gu(this.getGraphicStyle(e),"loop");return hge(s,r,l,c,u,t,n)}}TC.defaultStyleProps={radius:0,controlPoints:[],router:!1};class BC extends h0{constructor(e){super(Wu({style:BC.defaultStyleProps},e))}getKeyPath(e){const{curvePosition:t,curveOffset:n}=e,[r,s]=this.getEndpoints(e),a=e.controlPoint||GN(r,s,t,n);return age(r,s,a)}}BC.defaultStyleProps={curvePosition:.5,curveOffset:30};function d1(i){return i instanceof RA&&i.type==="node"}function uH(i){return i instanceof h0}function ZN(i){return i instanceof Xx}function Mge(i){return d1(i)||uH(i)||ZN(i)}function Tge(i,e){return!i||!e?!1:i===e}const Bge={top:[.5,0],right:[1,.5],bottom:[.5,1],left:[0,.5],default:[.5,.5]};function $N(i,e,t=Bge,n=!0){const r=[.5,.5],s=(0,TA.Z)(e)?(0,Td.Z)(t,e.toLocaleLowerCase(),r):e;if(!n&&(0,TA.Z)(e))return s;const[a,o]=s||r;return[i.min[0]+zp(i)*a,i.min[1]+Vp(i)*o]}function jN(i){if(!i)return{};const e=i.getPorts();return(i.attributes.ports||[]).forEach((n,r)=>{var s;const{key:a,placement:o}=n;hH(n)&&(e[s=a||r]||(e[s]=Jg(i.getShape("key").getBounds(),o)))}),e}function hH(i){const{r:e}=i;return!e||Number(e)===0}function d0(i){return Zx(i)?i:i.getPosition()}function Rge(i,e,t,n){const r=dH(i,e,t,n),s=dH(e,i,n,t);return[r,s]}function dH(i,e,t,n){const r=jN(i);if(t)return r[t];const s=Object.values(r);if(s.length===0)return;const a=s.map(c=>d0(c)),o=Ige(e,n),[l]=_pe(a,o);return s.find(c=>d0(c)===l)}function Ige(i,e){const t=jN(i);if(e)return[d0(t[e])];const n=Object.values(t);return n.length>0?n.map(r=>d0(r)):[i.getCenter()]}function fH(i,e){return ZN(i)||d1(i)?KN(i,e):f1(i,e)}function f1(i,e){if(!i||!e)return[0,0,0];if(Zx(i))return i;if(i.attributes.linkToCenter)return i.getPosition();const t=Zx(e)?e:d1(e)?e.getCenter():e.getPosition();return uC(t,i.getBounds())}function KN(i,e){if(!i||!e)return[0,0,0];const t=Zx(e)?e:d1(e)?e.getCenter():e.getPosition();return i.getIntersectPoint(t)||i.getCenter()}function AH(i,e="bottom",t=0,n=0,r=!1){const s=e.split("-"),[a,o]=Jg(i,e),l=s.includes("left")?"right":s.includes("right")?"left":"center";let c=s.includes("top")?"bottom":s.includes("bottom")?"top":"middle";return r&&(c=c==="top"?"bottom":c==="bottom"?"top":c),{transform:[["translate",a+t,o+n]],textBaseline:c,textAlign:l}}function Nge(i,e){return[[0,-i],[e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)],[i*Math.cos(Math.PI/10),-i*Math.sin(Math.PI/10)],[e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[i*Math.cos(3*Math.PI/10),i*Math.sin(3*Math.PI/10)],[0,e],[-i*Math.cos(3*Math.PI/10),i*Math.sin(3*Math.PI/10)],[-e*Math.cos(Math.PI/10),e*Math.sin(Math.PI/10)],[-i*Math.cos(Math.PI/10),-i*Math.sin(Math.PI/10)],[-e*Math.cos(3*Math.PI/10),-e*Math.sin(3*Math.PI/10)]]}function Pge(i,e){const t={};return t.top=[0,-i],t.left=[-i*Math.cos(Math.PI/10),-i*Math.sin(Math.PI/10)],t["left-bottom"]=[-i*Math.cos(3*Math.PI/10),i*Math.sin(3*Math.PI/10)],t.bottom=[0,e],t["right-bottom"]=[i*Math.cos(3*Math.PI/10),i*Math.sin(3*Math.PI/10)],t.right=t.default=[i*Math.cos(Math.PI/10),-i*Math.sin(Math.PI/10)],t}function Fge(i,e,t){const n=e/2,r=i/2,s={up:[[-r,n],[r,n],[0,-n]],left:[[-r,0],[r,n],[r,-n]],right:[[-r,n],[-r,-n],[r,0]],down:[[-r,-n],[r,-n],[0,n]]};return s[t]||s.up}function Oge(i,e,t){const n=e/2,r=i/2,s={};return t==="down"?(s.bottom=s.default=[0,n],s.right=[r,-n],s.left=[-r,-n]):t==="left"?(s.top=[r,-n],s.bottom=[r,n],s.left=s.default=[-r,0]):t==="right"?(s.top=[-r,-n],s.bottom=[-r,n],s.right=s.default=[r,0]):(s.left=[-r,n],s.top=s.default=[0,-n],s.right=[r,n]),s}function eMe(i,e){return[[i/2,-e/2],[i/2,e/2],[-i/2,e/2],[-i/2,-e/2]]}function Lge(i,e){return[[0,-e/2],[i/2,0],[0,e/2],[-i/2,0]]}function Dge(i){return(0,Td.Z)(i,["style","visibility"])!=="hidden"}function XN(i,e){"update"in i?i.update(e):i.attr(e)}function Uge(i){return[[0,i],[i*Math.sqrt(3)/2,i/2],[i*Math.sqrt(3)/2,-i/2],[0,-i],[-i*Math.sqrt(3)/2,-i/2],[-i*Math.sqrt(3)/2,i/2]]}function kge(i){(0,s1.Z)(i,"__to_be_destroyed__",!0)}function RC(i){return(0,Td.Z)(i,"__to_be_destroyed__",!1)}var zge=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class IC extends lf{constructor(e,t){super(e,Object.assign({},IC.defaultOptions,t)),this.onCollapseExpand=n=>zge(this,void 0,void 0,function*(){if(!this.validate(n))return;const{target:r}=n;if(!Mge(r))return;const s=r.id,{model:a,graph:o}=this.context,l=a.getElementDataById(s);if(!l)return!1;const{onCollapse:c,onExpand:u,animation:h}=this.options;cf(l)?(yield o.expandElement(s,h),u==null||u(s)):(yield o.collapseElement(s,h),c==null||c(s))}),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`node:${t}`,this.onCollapseExpand),e.on(`combo:${t}`,this.onCollapseExpand)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`node:${t}`,this.onCollapseExpand),e.off(`combo:${t}`,this.onCollapseExpand)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}IC.defaultOptions={enable:!0,animation:!0,trigger:bi.DBLCLICK};var Vge=v(63178),NC=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};const Hge="g6-create-edge-assist-edge-id",PC="g6-create-edge-assist-node-id";class FC extends lf{constructor(e,t){super(e,Object.assign({},FC.defaultOptions,t)),this.drop=n=>NC(this,void 0,void 0,function*(){const{targetType:r}=n;["combo","node"].includes(r)&&this.source?yield this.handleCreateEdge(n):yield this.cancelEdge()}),this.handleCreateEdge=n=>NC(this,void 0,void 0,function*(){var r,s,a;if(!this.validate(n))return;const{graph:o,canvas:l,batch:c,element:u}=this.context,{style:h}=this.options;if(this.source){this.createEdge(n),yield this.cancelEdge();return}c.startBatch(),l.setCursor("crosshair"),this.source=this.getSelectedNodeIDs([n.target.id])[0];const d=o.getElementData(this.source);o.addNodeData([{id:PC,style:{visibility:"hidden",ports:[{key:"port-1",placement:[.5,.5]}],x:(r=d.style)===null||r===void 0?void 0:r.x,y:(s=d.style)===null||s===void 0?void 0:s.y}}]),o.addEdgeData([{id:Hge,source:this.source,target:PC,style:Object.assign({pointerEvents:"none"},h)}]),yield(a=u.draw({animation:!1}))===null||a===void 0?void 0:a.finished}),this.updateAssistEdge=n=>NC(this,void 0,void 0,function*(){var r;if(!this.source)return;const{model:s,element:a}=this.context;s.translateNodeTo(PC,[n.canvas.x,n.canvas.y]),yield(r=a.draw({animation:!1,silence:!0}))===null||r===void 0?void 0:r.finished}),this.createEdge=n=>{var r,s;const{graph:a}=this.context,{style:o,onFinish:l,onCreate:c}=this.options;if(((r=n.target)===null||r===void 0?void 0:r.id)===void 0||this.source===void 0)return;const h=(s=this.getSelectedNodeIDs([n.target.id]))===null||s===void 0?void 0:s[0],d=`${this.source}-${h}-${(0,Vge.Z)()}`,f=c({id:d,source:this.source,target:h,style:o});a.addEdgeData([f]),l(f)},this.cancelEdge=()=>NC(this,void 0,void 0,function*(){var n;if(!this.source)return;const{graph:r,element:s,batch:a}=this.context;r.removeNodeData([PC]),this.source=void 0,yield(n=s.draw({animation:!1}))===null||n===void 0?void 0:n.finished,a.endBatch()}),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;this.unbindEvents(),t==="click"?(e.on(Lf.CLICK,this.handleCreateEdge),e.on(Hv.CLICK,this.handleCreateEdge),e.on($g.CLICK,this.cancelEdge),e.on(rC.CLICK,this.cancelEdge)):(e.on(Lf.DRAG_START,this.handleCreateEdge),e.on(Hv.DRAG_START,this.handleCreateEdge),e.on(bi.POINTER_UP,this.drop)),e.on(bi.POINTER_MOVE,this.updateAssistEdge)}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;e.off(Lf.CLICK,this.handleCreateEdge),e.off(Hv.CLICK,this.handleCreateEdge),e.off($g.CLICK,this.cancelEdge),e.off(rC.CLICK,this.cancelEdge),e.off(Lf.DRAG_START,this.handleCreateEdge),e.off(Hv.DRAG_START,this.handleCreateEdge),e.off(bi.POINTER_UP,this.drop),e.off(bi.POINTER_MOVE,this.updateAssistEdge)}destroy(){this.unbindEvents(),super.destroy()}}FC.defaultOptions={animation:!0,enable:!0,style:{},trigger:"drag",onCreate:i=>i,onFinish:()=>{}};var OC=v(78431),pH=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class LC extends lf{constructor(e,t){super(e,Object.assign({},LC.defaultOptions,t)),this.isDragging=!1,this.onDragStart=n=>{this.validate(n)&&(this.isDragging=!0,this.context.canvas.setCursor("grabbing"))},this.onDrag=n=>{if(!this.isDragging)return;const{x:r,y:s}=n.movement;r|s&&this.translate([r,s],!1)},this.onDragEnd=()=>{var n,r;this.isDragging=!1,this.context.canvas.setCursor(this.defaultCursor),(r=(n=this.options).onFinish)===null||r===void 0||r.call(n)},this.invokeOnFinish=(0,OC.Z)(()=>{var n,r;(r=(n=this.options).onFinish)===null||r===void 0||r.call(n)},300),this.shortcut=new $x(e.graph),this.bindEvents(),this.defaultCursor=this.context.canvas.getConfig().cursor||"default"}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{trigger:e}=this.options;if((0,Ru.Z)(e)){const{up:t=[],down:n=[],left:r=[],right:s=[]}=e;this.shortcut.bind(t,a=>this.onTranslate([0,1],a)),this.shortcut.bind(n,a=>this.onTranslate([0,-1],a)),this.shortcut.bind(r,a=>this.onTranslate([1,0],a)),this.shortcut.bind(s,a=>this.onTranslate([-1,0],a))}else{const{graph:t}=this.context;t.on(bi.DRAG_START,this.onDragStart),t.on(bi.DRAG,this.onDrag),t.on(bi.DRAG_END,this.onDragEnd)}}onTranslate(e,t){return pH(this,void 0,void 0,function*(){if(!this.validate(t))return;const{sensitivity:n}=this.options,r=n*-1;yield this.translate(Yg(e,r),this.options.animation),this.invokeOnFinish()})}translate(e,t){return pH(this,void 0,void 0,function*(){e=this.clampByDirection(e),e=this.clampByRange(e),yield this.context.graph.translateBy(e,t)})}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:r}=this.context,[s,a]=r.getSize(),[o,l,c,u]=kp(this.options.range),h=[a*o,s*l,a*c,s*u],d=a0(SN(n.getCanvasCenter()),h),f=Gl(n.getViewportCenter(),[e,t,0]);if(!SA(f,d)){const{min:[A,y],max:[b,x]}=d;(f[0]0||f[0]>b&&e<0)&&(e=0),(f[1]0||f[1]>x&&t<0)&&(t=0)}return[e,t]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return typeof t=="function"?t(e):!!t}unbindEvents(){this.shortcut.unbindAll();const{graph:e}=this.context;e.off(bi.DRAG_START,this.onDragStart),e.off(bi.DRAG,this.onDrag),e.off(bi.DRAG_END,this.onDragEnd)}destroy(){this.shortcut.destroy(),this.unbindEvents(),this.context.canvas.setCursor(this.defaultCursor),super.destroy()}}LC.defaultOptions={enable:i=>"targetType"in i?i.targetType==="canvas":!0,sensitivity:10,direction:"both",range:1/0};var gH=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class A1 extends lf{constructor(e,t){super(e,Object.assign({},A1.defaultOptions,t)),this.enable=!1,this.enableElements=["node","combo"],this.target=[],this.shadowOrigin=[0,0],this.hiddenEdges=[],this.isDragging=!1,this.onDrop=n=>gH(this,void 0,void 0,function*(){var r;if(this.options.dropEffect!=="link")return;const{model:s,element:a}=this.context,o=n.target.id;this.target.forEach(l=>{const c=s.getParentData(l,Kl);c&&Lr(c)===o&&s.refreshComboData(o),s.setParent(l,o,Kl)}),yield(r=a==null?void 0:a.draw({animation:!0}))===null||r===void 0?void 0:r.finished}),this.setCursor=n=>{if(this.isDragging)return;const{type:r}=n,{canvas:s}=this.context,{cursor:a}=this.options;r===bi.POINTER_ENTER?s.setCursor((a==null?void 0:a.grab)||"grab"):s.setCursor((a==null?void 0:a.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(e){this.unbindEvents(),super.update(e),this.bindEvents()}bindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.addEventListener("blur",this.onDragEnd),n.addEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(r=>{e.on(`${r}:${bi.DRAG_START}`,this.onDragStart),e.on(`${r}:${bi.DRAG}`,this.onDrag),e.on(`${r}:${bi.DRAG_END}`,this.onDragEnd),e.on(`${r}:${bi.POINTER_ENTER}`,this.setCursor),e.on(`${r}:${bi.POINTER_LEAVE}`,this.setCursor)}),["link"].includes(this.options.dropEffect)&&(e.on(Hv.DROP,this.onDrop),e.on($g.DROP,this.onDrop))}getSelectedNodeIDs(e){return Array.from(new Set(this.context.graph.getElementDataByState("node",this.options.state).map(t=>t.id).concat(e)))}getDelta(e){const t=this.context.graph.getZoom();return CA([e.dx,e.dy],t)}onDragStart(e){var t;if(this.enable=this.validate(e),!this.enable)return;const{batch:n,canvas:r}=this.context;r.setCursor(((t=this.options.cursor)===null||t===void 0?void 0:t.grabbing)||"grabbing"),this.isDragging=!0,n.startBatch(),this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target),this.options.shadow&&this.createShadow(this.target)}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.options.shadow?this.moveShadow(t):this.moveElement(this.target,t)}onDragEnd(){var e,t,n;if(this.enable=!1,this.options.shadow){if(!this.shadow)return;this.shadow.style.visibility="hidden";const{x:a=0,y:o=0}=this.shadow.attributes,[l,c]=Gl([+a,+o],this.shadowOrigin);this.moveElement(this.target,[l,c])}this.showEdges(),(t=(e=this.options).onFinish)===null||t===void 0||t.call(e,this.target);const{batch:r,canvas:s}=this.context;r.endBatch(),s.setCursor(((n=this.options.cursor)===null||n===void 0?void 0:n.grab)||"grab"),this.isDragging=!1,this.target=[]}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}moveElement(e,t){return gH(this,void 0,void 0,function*(){const{graph:n,model:r}=this.context,{dropEffect:s}=this.options;s==="move"&&e.forEach(a=>r.refreshComboData(a)),n.translateElementBy(Object.fromEntries(e.map(a=>[a,t])),!1)})}moveShadow(e){if(!this.shadow)return;const{x:t=0,y:n=0}=this.shadow.attributes,[r,s]=e;this.shadow.attr({x:+t+r,y:+n+s})}createShadow(e){const t=gu(this.options,"shadow"),n=J_(e.map(c=>this.context.element.getElement(c).getBounds())),[r,s]=n.min;this.shadowOrigin=[r,s];const[a,o]=i0(n),l={width:a,height:o,x:r,y:s};this.shadow?this.shadow.attr(Object.assign(Object.assign(Object.assign({},t),l),{visibility:"visible"})):(this.shadow=new Ea.UL({style:Object.assign(Object.assign(Object.assign({$layer:"transient"},t),l),{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:e,shadow:t}=this.options;if(e==="none"||t)return;const{graph:n}=this.context;e==="all"?this.hiddenEdges=n.getEdgeData().map(Lr):this.hiddenEdges=Array.from(new Set(this.target.map(r=>n.getRelatedEdgesData(r,e).map(Lr)).flat())),n.hideElement(this.hiddenEdges)}unbindEvents(){const{graph:e,canvas:t}=this.context,n=t.getLayer().getContextService().$canvas;n&&(n.removeEventListener("blur",this.onDragEnd),n.removeEventListener("contextmenu",this.onDragEnd)),this.enableElements.forEach(r=>{e.off(`${r}:${bi.DRAG_START}`,this.onDragStart),e.off(`${r}:${bi.DRAG}`,this.onDrag),e.off(`${r}:${bi.DRAG_END}`,this.onDragEnd),e.off(`${r}:${bi.POINTER_ENTER}`,this.setCursor),e.off(`${r}:${bi.POINTER_LEAVE}`,this.setCursor)}),e.off(`combo:${bi.DROP}`,this.onDrop),e.off(`canvas:${bi.DROP}`,this.onDrop)}destroy(){var e;this.unbindEvents(),(e=this.shadow)===null||e===void 0||e.destroy(),super.destroy()}}A1.defaultOptions={animation:!0,enable:i=>["node","combo"].includes(i.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 Iu=v(67469);class mH{constructor(e,t){this.context=e,this.options=t||{}}}var Gge=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})},Qge=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const s=r.data._isCombo?n.combos:n.nodes,{x:a,y:o,z:l=0}=r.data;s==null||s.push({id:r.id,style:{x:a,y:o,z:l}})}),t.forEach(r=>{const{id:s,source:a,target:o,data:{points:l=[],controlPoints:c=l.slice(1,l.length-1)}}=r;n.edges.push({id:s,source:a,target:o,style:Object.assign({},c!=null&&c.length?{controlPoints:c.map(ch)}:{})})}),n}function Zge(i,e){class t extends mH{constructor(r,s){if(super(r,s),this.instance=new i({}),this.id=this.instance.id,"stop"in this.instance&&"tick"in this.instance){const a=this.instance;this.stop=a.stop.bind(a),this.tick=o=>{const l=a.tick(o);return DC(l)}}}execute(r,s){return Gge(this,void 0,void 0,function*(){return DC(yield this.instance.execute(this.graphData2LayoutModel(r),this.transformOptions((0,Xg.Z)({},this.options,s))))})}transformOptions(r){const{onTick:s}=r;return s&&(r.onTick=a=>s(DC(a))),r}graphData2LayoutModel(r){const{nodes:s=[],edges:a=[],combos:o=[]}=r,l=s.map(f=>{const A=Lr(f),{data:y,style:b,combo:x}=f,P=Qge(f,["data","style","combo"]),k={id:A,data:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},y),{data:y}),x?{parentId:x}:{}),{style:b}),P)};return b!=null&&b.x&&Object.assign(k.data,{x:b.x}),b!=null&&b.y&&Object.assign(k.data,{y:b.y}),b!=null&&b.z&&Object.assign(k.data,{z:b.z}),k}),c=new Map(l.map(f=>[f.id,f])),u=a.filter(f=>{const{source:A,target:y}=f;return c.has(A)&&c.has(y)}).map(f=>{const{source:A,target:y,data:b,style:x}=f;return{id:Lr(f),source:A,target:y,data:Object.assign({},b),style:Object.assign({},x)}}),h=o.map(f=>({id:Lr(f),data:Object.assign({_isCombo:!0},f.data),style:Object.assign({},f.style)})),d=new Iu.k({nodes:[...l,...h],edges:u});return e.model.model.hasTreeStructure(Kl)&&(d.attachTreeStructure(Kl),l.forEach(f=>{const A=e.model.model.getParent(f.id,Kl);A&&d.hasNode(A.id)&&d.setParent(f.id,A.id,Kl)})),d}}return t}function YN(i,e,...t){if(e in i)return i[e](...t);if("instance"in i){const n=i.instance;if(e in n)return n[e](...t)}return null}function vH(i,e){if(e in i)return i[e];if("instance"in i){const t=i.instance;if(e in t)return t[e]}return null}var $ge=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class jge extends A1{get forceLayoutInstance(){return this.context.layout.getLayoutInstance().find(e=>["d3-force","d3-force-3d"].includes(e==null?void 0:e.id))}validate(e){return this.context.layout?this.forceLayoutInstance?super.validate(e):(Md.warn("DragElementForce only works with d3-force or d3-force-3d layout"),!1):!1}moveElement(e,t){return $ge(this,void 0,void 0,function*(){const n=this.forceLayoutInstance;this.context.graph.getNodeData(e).forEach((r,s)=>{const{x:a=0,y:o=0}=r.style||{};n&&YN(n,"setFixedPosition",e[s],[...lo([+a,+o],t)])})})}onDragStart(e){if(this.enable=this.validate(e),!this.enable)return;this.target=this.getSelectedNodeIDs([e.target.id]),this.hideEdge(),this.context.graph.frontElement(this.target);const t=this.forceLayoutInstance;t&&vH(t,"simulation").alphaTarget(.3).restart(),this.context.graph.getNodeData(this.target).forEach(n=>{const{x:r=0,y:s=0}=n.style||{};t&&YN(t,"setFixedPosition",Lr(n),[+r,+s])})}onDrag(e){if(!this.enable)return;const t=this.getDelta(e);this.moveElement(this.target,t)}onDragEnd(){const e=this.forceLayoutInstance;e&&vH(e,"simulation").alphaTarget(0),this.context.graph.getNodeData(this.target).forEach(t=>{e&&YN(e,"setFixedPosition",Lr(t),[null,null,null])})}}var yH=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class UC extends lf{constructor(e,t){super(e,Object.assign({},UC.defaultOptions,t)),this.isZoomEvent=n=>!!(n.data&&"scale"in n.data),this.relatedEdgeToUpdate=new Set,this.zoom=this.context.graph.getZoom(),this.fixElementSize=n=>yH(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:r}=this.context,{state:s,nodeFilter:a,edgeFilter:o,comboFilter:l}=this.options,c=(s?r.getElementDataByState("node",s):r.getNodeData()).filter(a),u=(s?r.getElementDataByState("edge",s):r.getEdgeData()).filter(o),h=(s?r.getElementDataByState("combo",s):r.getComboData()).filter(l),d=this.isZoomEvent(n)?this.zoom=Math.max(.01,Math.min(n.data.scale,10)):this.zoom,f=[...c,...h];f.length>0&&f.forEach(A=>this.fixNodeLike(A,d)),this.updateRelatedEdges(),u.length>0&&u.forEach(A=>this.fixEdge(A,d))}),this.cachedStyles=new Map,this.getOriginalFieldValue=(n,r,s)=>{var a;const o=this.cachedStyles.get(n)||[],l=((a=o.find(c=>c.shape===r))===null||a===void 0?void 0:a.style)||{};return s in l||(l[s]=r.attributes[s],this.cachedStyles.set(n,[...o.filter(c=>c.shape!==r),{shape:r,style:l}])),l[s]},this.scaleEntireElement=(n,r,s)=>{r.setLocalScale(1/s);const a=this.cachedStyles.get(n)||[];a.push({shape:r}),this.cachedStyles.set(n,a)},this.scaleSpecificShapes=(n,r,s)=>{const a=kpe(n);(Array.isArray(s)?s:[s]).forEach(l=>{const{shape:c,fields:u}=l,h=typeof c=="function"?c(a):n.getShape(c);if(h){if(!u){this.scaleEntireElement(n.id,h,r);return}u.forEach(d=>{const f=this.getOriginalFieldValue(n.id,h,d);(0,fa.Z)(f)&&(h.style[d]=f/r)})}})},this.skipIfExceedViewport=n=>{const{viewport:r}=this.context;return!(r!=null&&r.isInViewport(n.getRenderBounds(),!1,30))},this.fixNodeLike=(n,r)=>{const s=Lr(n),{element:a,model:o}=this.context,l=a.getElement(s);if(!l||this.skipIfExceedViewport(l))return;o.getRelatedEdgesData(s).forEach(h=>this.relatedEdgeToUpdate.add(Lr(h)));const u=this.options[l.type];if(!u){this.scaleEntireElement(s,l,r);return}this.scaleSpecificShapes(l,r,u)},this.fixEdge=(n,r)=>{const s=Lr(n),a=this.context.element.getElement(s);if(!a||this.skipIfExceedViewport(a))return;const o=this.options.edge;if(!o){a.style.transformOrigin="center",this.scaleEntireElement(s,a,r);return}this.scaleSpecificShapes(a,r,o)},this.updateRelatedEdges=()=>{const{element:n}=this.context;this.relatedEdgeToUpdate.size>0&&this.relatedEdgeToUpdate.forEach(r=>{const s=n.getElement(r);s==null||s.update({})}),this.relatedEdgeToUpdate.clear()},this.resetTransform=()=>yH(this,void 0,void 0,function*(){this.options.reset?this.restoreCachedStyles():this.fixElementSize({data:{scale:this.zoom}})}),this.bindEvents()}restoreCachedStyles(){if(this.cachedStyles.size>0){this.cachedStyles.forEach(r=>{r.forEach(({shape:s,style:a})=>{if((0,o1.Z)(a))s.setLocalScale(1);else{if(this.options.state)return;Object.entries(a).forEach(([o,l])=>s.style[o]=l)}})});const{graph:e,element:t}=this.context,n=Object.keys(Object.fromEntries(this.cachedStyles)).filter(r=>r&&e.getElementType(r)==="node");if(n.length>0){const r=new Set;n.forEach(s=>{e.getRelatedEdgesData(s).forEach(a=>r.add(Lr(a)))}),r.forEach(s=>{const a=t==null?void 0:t.getElement(s);a==null||a.update({})})}}}bindEvents(){const{graph:e}=this.context;e.on(fs.AFTER_DRAW,this.resetTransform),e.on(fs.AFTER_TRANSFORM,this.fixElementSize)}unbindEvents(){const{graph:e}=this.context;e.off(fs.AFTER_DRAW,this.resetTransform),e.off(fs.AFTER_TRANSFORM,this.fixElementSize)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}destroy(){this.unbindEvents(),super.destroy()}}UC.defaultOptions={enable:i=>i.data.scale<1,nodeFilter:()=>!0,edgeFilter:()=>!0,comboFilter:()=>!0,edge:[{shape:"key",fields:["lineWidth"]},{shape:"halo",fields:["lineWidth"]},{shape:"label"}],reset:!1};var Kge=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class kC extends lf{constructor(e,t){super(e,Object.assign({},kC.defaultOptions,t)),this.focus=n=>Kge(this,void 0,void 0,function*(){if(!this.validate(n))return;const{graph:r}=this.context;yield r.focusElement(n.target.id,this.options.animation)}),this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Zv.forEach(t=>{e.on(`${t}:${bi.CLICK}`,this.focus)})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Zv.forEach(t=>{e.off(`${t}:${bi.CLICK}`,this.focus)})}destroy(){this.unbindEvents(),super.destroy()}}kC.defaultOptions={animation:{easing:"ease-in",duration:500},enable:!0};class zC extends lf{constructor(e,t){super(e,Object.assign({},zC.defaultOptions,t)),this.isFrozen=!1,this.toggleFrozen=n=>{this.isFrozen=n.type==="dragstart"},this.hoverElement=n=>{if(!this.validate(n))return;const r=n.type===bi.POINTER_ENTER;this.updateElementsState(n,r);const{onHover:s,onHoverEnd:a}=this.options;r?s==null||s(n):a==null||a(n)},this.updateElementsState=(n,r)=>{if(!this.options.state&&!this.options.inactiveState)return;const{graph:s}=this.context,{state:a,animation:o,inactiveState:l}=this.options,c=this.getActiveIds(n),u={};if(a&&Object.assign(u,this.getElementsState(c,a,r)),l){const h=x6(s.getData(),!0).filter(d=>!c.includes(d));Object.assign(u,this.getElementsState(h,l,r))}s.setElementState(u,o)},this.getElementsState=(n,r,s)=>{const{graph:a}=this.context,o={};return n.forEach(l=>{const c=a.getElementState(l);s?o[l]=c.includes(r)?c:[...c,r]:o[l]=c.filter(u=>u!==r)}),o},this.bindEvents()}bindEvents(){const{graph:e}=this.context;this.unbindEvents(),Zv.forEach(n=>{e.on(`${n}:${bi.POINTER_ENTER}`,this.hoverElement),e.on(`${n}:${bi.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.addEventListener(`${bi.DRAG_START}`,this.toggleFrozen),t.addEventListener(`${bi.DRAG_END}`,this.toggleFrozen)}getActiveIds(e){const{graph:t}=this.context,{degree:n,direction:r}=this.options,s=e.target.id;return n?O6(t,e.targetType,s,typeof n=="function"?n(e):n,r):[s]}validate(e){if(this.destroyed||this.isFrozen||RC(e.target)||this.context.graph.isCollapsingExpanding)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}unbindEvents(){const{graph:e}=this.context;Zv.forEach(n=>{e.off(`${n}:${bi.POINTER_ENTER}`,this.hoverElement),e.off(`${n}:${bi.POINTER_LEAVE}`,this.hoverElement)});const t=this.context.canvas.document;t.removeEventListener(`${bi.DRAG_START}`,this.toggleFrozen),t.removeEventListener(`${bi.DRAG_END}`,this.toggleFrozen)}destroy(){this.unbindEvents(),super.destroy()}}zC.defaultOptions={animation:!1,enable:!0,degree:0,direction:"both",state:"active",inactiveState:void 0};class Xge extends i1{onPointerDown(e){if(!super.validate(e)||!super.isKeydown()||this.points)return;const{canvas:t}=this.context;this.pathShape=new Ea.y$({id:"g6-lasso-select",style:this.options.style}),t.appendChild(this.pathShape),this.points=[hC(e)]}onPointerMove(e){var t;if(!this.points)return;const{immediately:n,mode:r}=this.options;this.points.push(hC(e)),(t=this.pathShape)===null||t===void 0||t.setAttribute("d",Fpe(this.points)),n&&r==="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 e;(e=this.pathShape)===null||e===void 0||e.remove(),this.pathShape=void 0,this.points=void 0}}class VC extends lf{constructor(e,t){super(e,Object.assign({},VC.defaultOptions,t)),this.hiddenShapes=[],this.isVisible=!0,this.setElementsVisibility=(n,r,s)=>{n.filter(Boolean).forEach(a=>{r==="hidden"&&!a.isVisible()?this.hiddenShapes.push(a):r==="visible"&&this.hiddenShapes.includes(a)?this.hiddenShapes.splice(this.hiddenShapes.indexOf(a),1):Qv(a,r,!1,s)})},this.filterShapes=(n,r)=>{if((0,Ra.Z)(r))return a=>!r(n,a);const s=r==null?void 0:r[n];return a=>a.className?!(s!=null&&s.includes(a.className)):!0},this.hideShapes=n=>{if(!this.validate(n)||!this.isVisible)return;const{element:r}=this.context,{shapes:s={}}=this.options;this.setElementsVisibility(r.getNodes(),"hidden",this.filterShapes("node",s)),this.setElementsVisibility(r.getEdges(),"hidden",this.filterShapes("edge",s)),this.setElementsVisibility(r.getCombos(),"hidden",this.filterShapes("combo",s)),this.isVisible=!1},this.showShapes=(0,OC.Z)(n=>{if(!this.validate(n)||this.isVisible)return;const{element:r}=this.context;this.setElementsVisibility(r.getNodes(),"visible"),this.setElementsVisibility(r.getEdges(),"visible"),this.setElementsVisibility(r.getCombos(),"visible"),this.isVisible=!0},this.options.debounce),this.bindEvents()}bindEvents(){const{graph:e}=this.context;e.on(fs.BEFORE_TRANSFORM,this.hideShapes),e.on(fs.AFTER_TRANSFORM,this.showShapes)}unbindEvents(){const{graph:e}=this.context;e.off(fs.BEFORE_TRANSFORM,this.hideShapes),e.off(fs.AFTER_TRANSFORM,this.showShapes)}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}}VC.defaultOptions={enable:!0,debounce:200,shapes:i=>i==="node"};var xH=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class HC extends lf{constructor(e,t){super(e,Object.assign({},HC.defaultOptions,t)),this.onWheel=n=>xH(this,void 0,void 0,function*(){this.options.preventDefault&&n.preventDefault();const r=n.deltaX,s=n.deltaY;yield this.scroll([-r,-s],n)}),this.shortcut=new $x(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e,t;const{trigger:n}=this.options;if(this.shortcut.unbindAll(),(0,Ru.Z)(n)){(e=this.graphDom)===null||e===void 0||e.removeEventListener(bi.WHEEL,this.onWheel);const{up:r=[],down:s=[],left:a=[],right:o=[]}=n;this.shortcut.bind(r,l=>this.scroll([0,-10],l)),this.shortcut.bind(s,l=>this.scroll([0,10],l)),this.shortcut.bind(a,l=>this.scroll([-10,0],l)),this.shortcut.bind(o,l=>this.scroll([10,0],l))}else(t=this.graphDom)===null||t===void 0||t.addEventListener(bi.WHEEL,this.onWheel,{passive:!1})}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}formatDisplacement(e){const{sensitivity:t}=this.options;return e=Yg(e,t),e=this.clampByDirection(e),e=this.clampByRange(e),e}clampByDirection([e,t]){const{direction:n}=this.options;return n==="x"?t=0:n==="y"&&(e=0),[e,t]}clampByRange([e,t]){const{viewport:n,canvas:r}=this.context,[s,a]=r.getSize(),[o,l,c,u]=kp(this.options.range),h=[a*o,s*l,a*c,s*u],d=a0(SN(n.getCanvasCenter()),h),f=Gl(n.getViewportCenter(),[e,t,0]);if(!SA(f,d)){const{min:[A,y],max:[b,x]}=d;(f[0]0||f[0]>b&&e<0)&&(e=0),(f[1]0||f[1]>x&&t<0)&&(t=0)}return[e,t]}scroll(e,t){return xH(this,void 0,void 0,function*(){if(!this.validate(t))return;const{onFinish:n}=this.options,r=this.context.graph,s=this.formatDisplacement(e);yield r.translateBy(s,!1),n==null||n()})}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.graphDom)===null||e===void 0||e.removeEventListener(bi.WHEEL,this.onWheel),super.destroy()}}HC.defaultOptions={enable:!0,sensitivity:1,preventDefault:!0,range:1/0};var bH=v(70208),_H=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class GC extends lf{constructor(e,t){super(e,Object.assign({},GC.defaultOptions,t)),this.zoom=(n,r,s)=>_H(this,void 0,void 0,function*(){if(!this.validate(r))return;const{graph:a}=this.context;let o;"viewport"in r&&(o=ch(r.viewport));const{sensitivity:l,onFinish:c}=this.options,u=1+(0,bH.Z)(n,-50,50)*l/100,h=a.getZoom();yield a.zoomTo(h*u,s,o),c==null||c()}),this.onReset=()=>_H(this,void 0,void 0,function*(){yield this.context.graph.zoomTo(1,this.options.animation)}),this.preventDefault=n=>{this.options.preventDefault&&n.preventDefault()},this.shortcut=new $x(e.graph),this.bindEvents()}update(e){super.update(e),this.bindEvents()}bindEvents(){var e;const{trigger:t}=this.options;if(this.shortcut.unbindAll(),Array.isArray(t)&&((e=this.context.canvas.getContainer())===null||e===void 0||e.addEventListener(bi.WHEEL,this.preventDefault),this.shortcut.bind([...t,bi.WHEEL],n=>{const{deltaX:r,deltaY:s}=n;this.zoom(-(s!=null?s:r),n,!1)})),typeof t=="object"){const{zoomIn:n=[],zoomOut:r=[],reset:s=[]}=t;this.shortcut.bind(n,a=>this.zoom(10,a,this.options.animation)),this.shortcut.bind(r,a=>this.zoom(-10,a,this.options.animation)),this.shortcut.bind(s,this.onReset)}}validate(e){if(this.destroyed)return!1;const{enable:t}=this.options;return(0,Ra.Z)(t)?t(e):!!t}destroy(){var e;this.shortcut.destroy(),(e=this.context.canvas.getContainer())===null||e===void 0||e.removeEventListener(bi.WHEEL,this.preventDefault),super.destroy()}}GC.defaultOptions={animation:{duration:200},enable:!0,sensitivity:1,trigger:[],preventDefault:!0};var QC=v(13722),za=v(80813);const Yge=(i,e)=>{if(i!=="next"&&i!=="prev")return e},wH=i=>{i.prev.next=i.next,i.next.prev=i.prev,delete i.next,delete i.prev};class qge{constructor(){const e={};e.prev=e,e.next=e.prev,this.shortcut=e}dequeue(){const e=this.shortcut,t=e.prev;if(t&&t!==e)return wH(t),t}enqueue(e){const t=this.shortcut;e.prev&&e.next&&wH(e),e.next=t.next,t.next.prev=e,t.next=e,e.prev=t}toString(){const e=[],t=this.shortcut;let n=t.prev;for(;n!==t;)e.push(JSON.stringify(n,Yge)),n=n==null?void 0:n.prev;return`[${e.join(", ")}]`}}class Jge extends qge{}const eme=()=>1,tme=(i,e)=>{var t;if(i.getAllNodes().length<=1)return[];const n=rme(i,e||eme);return(t=nme(n.graph,n.buckets,n.zeroIdx).map(s=>i.getRelatedEdges(s.v,"out").filter(({target:a})=>a===s.w)))===null||t===void 0?void 0:t.flat()},nme=(i,e,t)=>{let n=[];const r=e[e.length-1],s=e[0];let a;for(;i.getAllNodes().length;){for(;a=s.dequeue();)qN(i,e,t,a);for(;a=r.dequeue();)qN(i,e,t,a);if(i.getAllNodes().length){for(let o=e.length-2;o>0;--o)if(a=e[o].dequeue(),a){n=n.concat(qN(i,e,t,a,!0));break}}}return n},qN=(i,e,t,n,r)=>{var s,a;const o=[];return i.hasNode(n.v)&&((s=i.getRelatedEdges(n.v,"in"))===null||s===void 0||s.forEach(l=>{const c=l.data.weight,u=i.getNode(l.source);r&&o.push({v:l.source,w:l.target,in:0,out:0}),u.data.out===void 0&&(u.data.out=0),u.data.out-=c,JN(e,t,Object.assign({v:u.id},u.data))}),(a=i.getRelatedEdges(n.v,"out"))===null||a===void 0||a.forEach(l=>{const c=l.data.weight,u=l.target,h=i.getNode(u);h.data.in===void 0&&(h.data.in=0),h.data.in-=c,JN(e,t,Object.assign({v:h.id},h.data))}),i.removeNode(n.v)),r?o:void 0},rme=(i,e)=>{const t=new Iu.k;let n=0,r=0;i.getAllNodes().forEach(l=>{t.addNode({id:l.id,data:{v:l.id,in:0,out:0}})}),i.getAllEdges().forEach(l=>{const c=t.getRelatedEdges(l.source,"out").find(h=>h.target===l.target),u=(e==null?void 0:e(l))||1;c?t.updateEdgeData(c==null?void 0:c.id,Object.assign(Object.assign({},c.data),{weight:c.data.weight+u})):t.addEdge({id:l.id,source:l.source,target:l.target,data:{weight:u}}),r=Math.max(r,t.getNode(l.source).data.out+=u),n=Math.max(n,t.getNode(l.target).data.in+=u)});const s=[],a=r+n+3;for(let l=0;l{JN(s,o,Object.assign({v:l.id},t.getNode(l.id).data))}),{buckets:s,zeroIdx:o,graph:t}},JN=(i,e,t)=>{t.out?t.in?i[t.out-t.in+e].enqueue(t):i[i.length-1].enqueue(t):i[0].enqueue(t)},ime=(i,e)=>{const n=e==="greedy"?tme(i,(r=>s=>s.data.weight||1)(i)):sme(i);n==null||n.forEach(r=>{const s=r.data;i.removeEdge(r.id),s.forwardName=r.data.name,s.reversed=!0,i.addEdge({id:r.id,source:r.target,target:r.source,data:Object.assign({},s)})})},sme=i=>{const e=[],t={},n={},r=s=>{n[s]||(n[s]=!0,t[s]=!0,i.getRelatedEdges(s,"out").forEach(a=>{t[a.target]?e.push(a):r(a.target)}),delete t[s])};return i.getAllNodes().forEach(s=>r(s.id)),e},ame=i=>{i.getAllEdges().forEach(e=>{const t=e.data;if(t.reversed){i.removeEdge(e.id);const n=t.forwardName;delete t.reversed,delete t.forwardName,i.addEdge({id:e.id,source:e.target,target:e.source,data:Object.assign(Object.assign({},t),{forwardName:n})})}})},ome=(i,e)=>Number(i)-Number(e),Yx=(i,e,t,n)=>{let r;do r=`${n}${Math.random()}`;while(i.hasNode(r));return t.dummy=e,i.addNode({id:r,data:t}),r},lme=i=>{const e=new Iu.k;return i.getAllNodes().forEach(t=>{e.addNode(Object.assign({},t))}),i.getAllEdges().forEach(t=>{const n=e.getRelatedEdges(t.source,"out").find(r=>r.target===t.target);n?e.updateEdgeData(n==null?void 0:n.id,Object.assign(Object.assign({},n.data),{weight:n.data.weight+t.data.weight||0,minlen:Math.max(n.data.minlen,t.data.minlen||1)})):e.addEdge({id:t.id,source:t.source,target:t.target,data:{weight:t.data.weight||0,minlen:t.data.minlen||1}})}),e},EH=i=>{const e=new Iu.k;return i.getAllNodes().forEach(t=>{i.getChildren(t.id).length||e.addNode(Object.assign({},t))}),i.getAllEdges().forEach(t=>{e.addEdge(t)}),e},SH=(i,e)=>i==null?void 0:i.reduce((t,n,r)=>(t[n]=e[r],t),{}),rMe=i=>{const e={};return i.getAllNodes().forEach(t=>{const n={};i.getRelatedEdges(t.id,"out").forEach(r=>{n[r.target]=(n[r.target]||0)+(r.data.weight||0)}),e[t.id]=n}),e},iMe=i=>{const e=i.getAllNodes(),t=e.map(n=>{const r={};return i.getRelatedEdges(n.id,"in").forEach(s=>{r[s.source]=(r[s.source]||0)+s.data.weight}),r});return SH(e.map(n=>n.id),t)},CH=(i,e)=>{const t=Number(i.x),n=Number(i.y),r=Number(e.x)-t,s=Number(e.y)-n;let a=Number(i.width)/2,o=Number(i.height)/2;if(!r&&!s)return{x:0,y:0};let l,c;return Math.abs(s)*a>Math.abs(r)*o?(s<0&&(o=-o),l=o*r/s,c=o):(r<0&&(a=-a),l=a,c=a*s/r),{x:t+l,y:n+c}},p1=i=>{const e=[],t=TH(i)+1;for(let n=0;n{const r=n.data.rank;r!==void 0&&e[r]&&e[r].push(n.id)});for(let n=0;nome(i.getNode(r).data.order,i.getNode(s).data.order));return e},cme=i=>{const e=i.getAllNodes().filter(n=>n.data.rank!==void 0).map(n=>n.data.rank),t=Math.min(...e);i.getAllNodes().forEach(n=>{n.data.hasOwnProperty("rank")&&t!==1/0&&(n.data.rank-=t)})},ume=(i,e=0)=>{const t=i.getAllNodes(),n=t.filter(o=>o.data.rank!==void 0).map(o=>o.data.rank),r=Math.min(...n),s=[];t.forEach(o=>{const l=(o.data.rank||0)-r;s[l]||(s[l]=[]),s[l].push(o.id)});let a=0;for(let o=0;o{const u=i.getNode(c);u&&(u.data.rank=u.data.rank||0,u.data.rank+=a)}))}},MH=(i,e,t,n)=>{const r={width:0,height:0};return(0,fa.Z)(t)&&(0,fa.Z)(n)&&(r.rank=t,r.order=n),Yx(i,"border",r,e)},TH=i=>{let e;return i.getAllNodes().forEach(t=>{const n=t.data.rank;n!==void 0&&(e===void 0||n>e)&&(e=n)}),e||(e=0),e},hme=(i,e)=>{const t={lhs:[],rhs:[]};return i==null||i.forEach(n=>{e(n)?t.lhs.push(n):t.rhs.push(n)}),t},eP=(i,e)=>i.reduce((t,n)=>{const r=e(t),s=e(n);return r>s?n:t}),BH=(i,e,t,n,r,s)=>{n.includes(e.id)||(n.push(e.id),t||s.push(e.id),r(e.id).forEach(a=>BH(i,a,t,n,r,s)),t&&s.push(e.id))},RH=(i,e,t,n)=>{const r=Array.isArray(e)?e:[e],s=l=>n?i.getSuccessors(l):i.getNeighbors(l),a=[],o=[];return r.forEach(l=>{if(i.hasNode(l.id))BH(i,l,t==="post",o,s,a);else throw new Error(`Graph does not have node: ${l}`)}),a},dme=i=>{const e=t=>{const n=i.getChildren(t),r=i.getNode(t);if(n!=null&&n.length&&n.forEach(s=>e(s.id)),r.data.hasOwnProperty("minRank")){r.data.borderLeft=[],r.data.borderRight=[];for(let s=r.data.minRank,a=r.data.maxRank+1;se(t.id))},IH=(i,e,t,n,r,s)=>{const a={rank:s,borderType:e,width:0,height:0},o=r.data[e][s-1],l=Yx(i,"border",a,t);r.data[e][s]=l,i.setParent(l,n),o&&i.addEdge({id:`e${Math.random()}`,source:o,target:l,data:{weight:1}})},fme=(i,e)=>{const t=e.toLowerCase();(t==="lr"||t==="rl")&&NH(i)},Ame=(i,e)=>{const t=e.toLowerCase();(t==="bt"||t==="rl")&&pme(i),(t==="lr"||t==="rl")&&(gme(i),NH(i))},NH=i=>{i.getAllNodes().forEach(e=>{PH(e)}),i.getAllEdges().forEach(e=>{PH(e)})},PH=i=>{const e=i.data.width;i.data.width=i.data.height,i.data.height=e},pme=i=>{i.getAllNodes().forEach(e=>{tP(e.data)}),i.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>tP(n)),e.data.hasOwnProperty("y")&&tP(e.data)})},tP=i=>{i!=null&&i.y&&(i.y=-i.y)},gme=i=>{i.getAllNodes().forEach(e=>{nP(e.data)}),i.getAllEdges().forEach(e=>{var t;(t=e.data.points)===null||t===void 0||t.forEach(n=>nP(n)),e.data.hasOwnProperty("x")&&nP(e.data)})},nP=i=>{const e=i.x;i.x=i.y,i.y=e},mme=i=>{const e=Yx(i,"root",{},"_root"),t=vme(i);let n=Math.max(...Object.values(t));Math.abs(n)===1/0&&(n=1);const r=n-1,s=2*r+1;i.getAllEdges().forEach(o=>{o.data.minlen*=s});const a=yme(i)+1;return i.getRoots().forEach(o=>{FH(i,e,s,a,r,t,o.id)}),{nestingRoot:e,nodeRankFactor:s}},FH=(i,e,t,n,r,s,a)=>{const o=i.getChildren(a);if(!(o!=null&&o.length)){a!==e&&i.addEdge({id:`e${Math.random()}`,source:e,target:a,data:{weight:0,minlen:t}});return}const l=MH(i,"_bt"),c=MH(i,"_bb"),u=i.getNode(a);i.setParent(l,a),u.data.borderTop=l,i.setParent(c,a),u.data.borderBottom=c,o==null||o.forEach(h=>{FH(i,e,t,n,r,s,h.id);const d=h.data.borderTop?h.data.borderTop:h.id,f=h.data.borderBottom?h.data.borderBottom:h.id,A=h.data.borderTop?n:2*n,y=d!==f?1:r-s[a]+1;i.addEdge({id:`e${Math.random()}`,source:l,target:d,data:{minlen:y,weight:A,nestingEdge:!0}}),i.addEdge({id:`e${Math.random()}`,source:f,target:c,data:{minlen:y,weight:A,nestingEdge:!0}})}),i.getParent(a)||i.addEdge({id:`e${Math.random()}`,source:e,target:l,data:{weight:0,minlen:r+s[a]}})},vme=i=>{const e={},t=(n,r)=>{const s=i.getChildren(n);s==null||s.forEach(a=>t(a.id,r+1)),e[n]=r};return i.getRoots().forEach(n=>t(n.id,1)),e},yme=i=>{let e=0;return i.getAllEdges().forEach(t=>{e+=t.data.weight}),e},xme=(i,e)=>{e&&i.removeNode(e),i.getAllEdges().forEach(t=>{t.data.nestingEdge&&i.removeEdge(t.id)})},bme="edge",OH="edge-label",_me=(i,e)=>{i.getAllEdges().forEach(t=>wme(i,t,e))},wme=(i,e,t)=>{let n=e.source,r=i.getNode(n).data.rank;const s=e.target,a=i.getNode(s).data.rank,o=e.data.labelRank;if(a===r+1)return;i.removeEdge(e.id);let l,c,u;for(u=0,++r;r{e.forEach(t=>{let n=i.getNode(t);const{data:r}=n,s=r.originalEdge;let a;s&&i.addEdge(s);let o=t;for(;n.data.dummy;)a=i.getSuccessors(o)[0],i.removeNode(o),s.data.points.push({x:n.data.x,y:n.data.y}),n.data.dummy===OH&&(s.data.x=n.data.x,s.data.y=n.data.y,s.data.width=n.data.width,s.data.height=n.data.height),o=a.id,n=i.getNode(o)})},Sme=(i,e,t)=>{const n={};let r;t==null||t.forEach(s=>{let a=i.getParent(s),o,l;for(;a;){if(o=i.getParent(a.id),o?(l=n[o.id],n[o.id]=a.id):(l=r,r=a.id),l&&l!==a.id){e.hasNode(l)||e.addNode({id:l,data:{}}),e.hasNode(a.id)||e.addNode({id:a.id,data:{}}),e.hasEdge(`e${l}-${a.id}`)||e.addEdge({id:`e${l}-${a.id}`,source:l,target:a.id,data:{}});return}a=o}})},Cme=(i,e,t)=>{const n=Mme(i),r=new Iu.k({tree:[{id:n,children:[],data:{}}]});return i.getAllNodes().forEach(s=>{const a=i.getParent(s.id);(s.data.rank===e||s.data.minRank<=e&&e<=s.data.maxRank)&&(r.hasNode(s.id)||r.addNode(Object.assign({},s)),a!=null&&a.id&&!r.hasNode(a==null?void 0:a.id)&&r.addNode(Object.assign({},a)),r.setParent(s.id,(a==null?void 0:a.id)||n),i.getRelatedEdges(s.id,t).forEach(o=>{const l=o.source===s.id?o.target:o.source;r.hasNode(l)||r.addNode(Object.assign({},i.getNode(l)));const c=r.getRelatedEdges(l,"out").find(({target:h})=>h===s.id),u=c!==void 0?c.data.weight:0;c?r.updateEdgeData(c.id,Object.assign(Object.assign({},c.data),{weight:o.data.weight+u})):r.addEdge({id:o.id,source:l,target:s.id,data:{weight:o.data.weight+u}})}),s.data.hasOwnProperty("minRank")&&r.updateNodeData(s.id,Object.assign(Object.assign({},s.data),{borderLeft:s.data.borderLeft[e],borderRight:s.data.borderRight[e]})))}),r},Mme=i=>{let e;for(;i.hasNode(e=`_root${Math.random()}`););return e},Tme=(i,e,t)=>{const n=SH(t,t.map((u,h)=>h)),s=e.map(u=>{const h=i.getRelatedEdges(u,"out").map(d=>({pos:n[d.target]||0,weight:d.data.weight}));return h==null?void 0:h.sort((d,f)=>d.pos-f.pos)}).flat().filter(u=>u!==void 0);let a=1;for(;a{if(u){let h=u.pos+a;l[h]+=u.weight;let d=0;for(;h>0;)h%2&&(d+=l[h+1]),h=h-1>>1,l[h]+=u.weight;c+=u.weight*d}}),c},LH=(i,e)=>{let t=0;for(let n=1;n<(e==null?void 0:e.length);n+=1)t+=Tme(i,e[n-1],e[n]);return t},DH=i=>{const e={},t=i.getAllNodes(),n=t.map(c=>{var u;return(u=c.data.rank)!==null&&u!==void 0?u:-1/0}),r=Math.max(...n),s=[];for(let c=0;ci.getNode(c.id).data.rank-i.getNode(u.id).data.rank),l=a.filter(c=>i.getNode(c.id).data.fixorder!==void 0).sort((c,u)=>i.getNode(c.id).data.fixorder-i.getNode(u.id).data.fixorder);return l==null||l.forEach(c=>{isNaN(i.getNode(c.id).data.rank)||s[i.getNode(c.id).data.rank].push(c.id),e[c.id]=!0}),a==null||a.forEach(c=>i.dfsTree(c.id,u=>{if(e.hasOwnProperty(u.id))return!0;e[u.id]=!0,isNaN(u.data.rank)||s[u.data.rank].push(u.id)})),s},Bme=(i,e)=>e.map(t=>{const n=i.getRelatedEdges(t,"in");if(!(n!=null&&n.length))return{v:t};const r={sum:0,weight:0};return n==null||n.forEach(s=>{const a=i.getNode(s.source);r.sum+=s.data.weight*a.data.order,r.weight+=s.data.weight}),{v:t,barycenter:r.sum/r.weight,weight:r.weight}}),Rme=(i,e)=>{var t,n,r;const s={};i==null||i.forEach((o,l)=>{s[o.v]={i:l,indegree:0,in:[],out:[],vs:[o.v]};const c=s[o.v];o.barycenter!==void 0&&(c.barycenter=o.barycenter,c.weight=o.weight)}),(t=e.getAllEdges())===null||t===void 0||t.forEach(o=>{const l=s[o.source],c=s[o.target];l!==void 0&&c!==void 0&&(c.indegree++,l.out.push(s[o.target]))});const a=(r=(n=Object.values(s)).filter)===null||r===void 0?void 0:r.call(n,o=>!o.indegree);return Ime(a)},Ime=i=>{var e,t;const n=[],r=l=>c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&Nme(l,c)},s=l=>c=>{c.in.push(l),--c.indegree===0&&i.push(c)};for(;i!=null&&i.length;){const l=i.pop();n.push(l),(e=l.in.reverse())===null||e===void 0||e.forEach(c=>r(l)(c)),(t=l.out)===null||t===void 0||t.forEach(c=>s(l)(c))}const a=n.filter(l=>!l.merged),o=["vs","i","barycenter","weight"];return a.map(l=>{const c={};return o==null||o.forEach(u=>{l[u]!==void 0&&(c[u]=l[u])}),c})},Nme=(i,e)=>{var t;let n=0,r=0;i.weight&&(n+=i.barycenter*i.weight,r+=i.weight),e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),i.vs=(t=e.vs)===null||t===void 0?void 0:t.concat(i.vs),i.barycenter=n/r,i.weight=r,i.i=Math.min(e.i,i.i),e.merged=!0};var Pme=Rme;const Fme=(i,e,t,n)=>{const r=hme(i,d=>{const f=d.hasOwnProperty("fixorder")&&!isNaN(d.fixorder);return n?!f&&d.hasOwnProperty("barycenter"):f||d.hasOwnProperty("barycenter")}),s=r.lhs,a=r.rhs.sort((d,f)=>-d.i- -f.i),o=[];let l=0,c=0,u=0;s==null||s.sort(Ome(!!e,!!t)),u=UH(o,a,u),s==null||s.forEach(d=>{var f;u+=(f=d.vs)===null||f===void 0?void 0:f.length,o.push(d.vs),l+=d.barycenter*d.weight,c+=d.weight,u=UH(o,a,u)});const h={vs:o.flat()};return c&&(h.barycenter=l/c,h.weight=c),h},UH=(i,e,t)=>{let n=t,r;for(;e.length&&(r=e[e.length-1]).i<=n;)e.pop(),i==null||i.push(r.vs),n++;return n},Ome=(i,e)=>(t,n)=>{if(t.fixorder!==void 0&&n.fixorder!==void 0)return t.fixorder-n.fixorder;if(t.barycentern.barycenter)return 1;if(e&&t.order!==void 0&&n.order!==void 0){if(t.ordern.order)return 1}return i?n.i-t.i:t.i-n.i},kH=(i,e,t,n,r,s)=>{var a,o,l,c;let u=i.getChildren(e).map(P=>P.id);const h=i.getNode(e),d=h?h.data.borderLeft:void 0,f=h?h.data.borderRight:void 0,A={};d&&(u=u==null?void 0:u.filter(P=>P!==d&&P!==f));const y=Bme(i,u||[]);y==null||y.forEach(P=>{var k;if(!((k=i.getChildren(P.v))===null||k===void 0)&&k.length){const $=kH(i,P.v,t,n,s);A[P.v]=$,$.hasOwnProperty("barycenter")&&Dme(P,$)}});const b=Pme(y,t);Lme(b,A),(a=b.filter(P=>P.vs.length>0))===null||a===void 0||a.forEach(P=>{const k=i.getNode(P.vs[0]);k&&(P.fixorder=k.data.fixorder,P.order=k.data.order)});const x=Fme(b,n,r,s);if(d&&(x.vs=[d,x.vs,f].flat(),!((o=i.getPredecessors(d))===null||o===void 0)&&o.length)){const P=i.getNode(((l=i.getPredecessors(d))===null||l===void 0?void 0:l[0].id)||""),k=i.getNode(((c=i.getPredecessors(f))===null||c===void 0?void 0:c[0].id)||"");x.hasOwnProperty("barycenter")||(x.barycenter=0,x.weight=0),x.barycenter=(x.barycenter*x.weight+P.data.order+k.data.order)/(x.weight+2),x.weight+=2}return x},Lme=(i,e)=>{i==null||i.forEach(t=>{var n;const r=(n=t.vs)===null||n===void 0?void 0:n.map(s=>e[s]?e[s].vs:s);t.vs=r.flat()})},Dme=(i,e)=>{i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+e.barycenter*e.weight)/(i.weight+e.weight),i.weight+=e.weight):(i.barycenter=e.barycenter,i.weight=e.weight)},Ume=(i,e)=>{const t=TH(i),n=[],r=[];for(let u=1;u-1;u--)r.push(u);const s=zH(i,n,"in"),a=zH(i,r,"out");let o=DH(i);rP(i,o);let l=Number.POSITIVE_INFINITY,c;for(let u=0,h=0;h<4;++u,++h){VH(u%2?s:a,u%4>=2,!1,e),o=p1(i);const d=LH(i,o);d=2,!0,e),o=p1(i);const d=LH(i,o);de.map(n=>Cme(i,n,t)),VH=(i,e,t,n)=>{const r=new Iu.k;i==null||i.forEach(s=>{var a;const o=s.getRoots()[0].id,l=kH(s,o,r,e,t,n);for(let c=0;c<((a=l.vs)===null||a===void 0?void 0:a.length);c++){const u=s.getNode(l.vs[c]);u&&(u.data.order=c)}Sme(s,r,l.vs)})},rP=(i,e)=>{e==null||e.forEach(t=>{t==null||t.forEach((n,r)=>{i.getNode(n).data.order=r})})},kme=(i,e)=>{const n=i.getAllNodes().filter(a=>{var o;return!(!((o=i.getChildren(a.id))===null||o===void 0)&&o.length)}).map(a=>a.data.rank),r=Math.max(...n),s=[];for(let a=0;a{const o=i.getNode(a);!o||o.data.dummy||isNaN(o.data.rank)||(o.data.fixorder=s[o.data.rank].length,s[o.data.rank].push(a))})},zme=i=>{const e={};let t=0;const n=r=>{const s=t;i.getChildren(r).forEach(a=>n(a.id)),e[r]={low:s,lim:t++}};return i.getRoots().forEach(r=>n(r.id)),e},Vme=(i,e,t,n)=>{var r,s;const a=[],o=[],l=Math.min(e[t].low,e[n].low),c=Math.max(e[t].lim,e[n].lim);let u,h;u=t;do u=(r=i.getParent(u))===null||r===void 0?void 0:r.id,a.push(u);while(u&&(e[u].low>l||c>e[u].lim));for(h=u,u=n;u&&u!==h;)o.push(u),u=(s=i.getParent(u))===null||s===void 0?void 0:s.id;return{lca:h,path:a.concat(o.reverse())}},Hme=(i,e)=>{const t=zme(i);e.forEach(n=>{var r,s;let a=n,o=i.getNode(a);const l=o.data.originalEdge;if(!l)return;const c=Vme(i,t,l.source,l.target),u=c.path,h=c.lca;let d=0,f=u[d],A=!0;for(;a!==l.target;){if(o=i.getNode(a),A){for(;f!==h&&((r=i.getNode(f))===null||r===void 0?void 0:r.data.maxRank){const t={},n=(r,s)=>{let a=0,o=0;const l=r.length,c=s==null?void 0:s[(s==null?void 0:s.length)-1];return s==null||s.forEach((u,h)=>{var d;const f=Gme(i,u),A=f?i.getNode(f.id).data.order:l;(f||u===c)&&((d=s.slice(o,h+1))===null||d===void 0||d.forEach(y=>{var b;(b=i.getPredecessors(y))===null||b===void 0||b.forEach(x=>{var P;const k=i.getNode(x.id),$=k.data.order;(${const t={};function n(o,l,c,u,h){var d,f;let A;for(let y=l;y{const x=i.getNode(b.id);x.data.dummy&&(x.data.orderh)&&QH(t,b.id,A)}))}function r(o){return JSON.stringify(o.slice(1))}function s(o,l){const c=r(o);l.get(c)||(n(...o),l.set(c,!0))}const a=(o,l)=>{let c=-1,u,h=0;const d=new Map;return l==null||l.forEach((f,A)=>{var y;if(((y=i.getNode(f))===null||y===void 0?void 0:y.data.dummy)==="border"){const b=i.getPredecessors(f)||[];b.length&&(u=i.getNode(b[0].id).data.order,s([l,h,A,c,u],d),h=A,c=u)}s([l,h,l.length,u,o.length],d)}),l};return e!=null&&e.length&&e.reduce(a),t},Gme=(i,e)=>{var t,n;if(!((t=i.getNode(e))===null||t===void 0)&&t.data.dummy)return(n=i.getPredecessors(e))===null||n===void 0?void 0:n.find(r=>i.getNode(r.id).data.dummy)},QH=(i,e,t)=>{let n=e,r=t;if(n>r){const a=n;n=r,r=a}let s=i[n];s||(i[n]=s={}),s[r]=!0},Qme=(i,e,t)=>{let n=e,r=t;if(n>r){const s=e;n=r,r=s}return!!i[n]},WH=(i,e,t,n)=>{const r={},s={},a={};return e==null||e.forEach(o=>{o==null||o.forEach((l,c)=>{r[l]=l,s[l]=l,a[l]=c})}),e==null||e.forEach(o=>{let l=-1;o==null||o.forEach(c=>{let u=n(c).map(h=>h.id);if(u.length){u=u.sort((d,f)=>a[d]-a[f]);const h=(u.length-1)/2;for(let d=Math.floor(h),f=Math.ceil(h);d<=f;++d){const A=u[d];s[c]===c&&l{var o;const l={},c=Wme(i,e,t,r,s,a),u=a?"borderLeft":"borderRight",h=(A,y)=>{let b=c.getAllNodes(),x=b.pop();const P={};for(;x;)P[x.id]?A(x.id):(P[x.id]=!0,b.push(x),b=b.concat(y(x.id))),x=b.pop()},d=A=>{l[A]=(c.getRelatedEdges(A,"in")||[]).reduce((y,b)=>Math.max(y,(l[b.source]||0)+b.data.weight),0)},f=A=>{const y=(c.getRelatedEdges(A,"out")||[]).reduce((x,P)=>Math.min(x,(l[P.target]||0)-P.data.weight),Number.POSITIVE_INFINITY),b=i.getNode(A);y!==Number.POSITIVE_INFINITY&&b.data.borderType!==u&&(l[A]=Math.max(l[A],y))};return h(d,c.getPredecessors.bind(c)),h(f,c.getSuccessors.bind(c)),(o=Object.values(n))===null||o===void 0||o.forEach(A=>{l[A]=l[t[A]]}),l},Wme=(i,e,t,n,r,s)=>{const a=new Iu.k,o=Zme(n,r,s);return e==null||e.forEach(l=>{let c;l==null||l.forEach(u=>{const h=t[u];if(a.hasNode(h)||a.addNode({id:h,data:{}}),c){const d=t[c],f=a.getRelatedEdges(d,"out").find(A=>A.target===h);f?a.updateEdgeData(f.id,Object.assign(Object.assign({},f.data),{weight:Math.max(o(i,u,c),f.data.weight||0)})):a.addEdge({id:`e${Math.random()}`,source:d,target:h,data:{weight:Math.max(o(i,u,c),0)}})}c=u})}),a},$H=(i,e)=>eP(Object.values(e),t=>{var n;let r=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY;return(n=Object.keys(t))===null||n===void 0||n.forEach(a=>{const o=t[a],l=$me(i,a)/2;r=Math.max(o+l,r),s=Math.min(o-l,s)}),r-s});function jH(i,e){const t=Object.values(e),n=Math.min(...t),r=Math.max(...t);["u","d"].forEach(s=>{["l","r"].forEach(a=>{const o=s+a,l=i[o];let c;if(l===e)return;const u=Object.values(l);c=a==="l"?n-Math.min(...u):r-Math.max(...u),c&&(i[o]={},Object.keys(l).forEach(h=>{i[o][h]=l[h]+c}))})})}const KH=(i,e)=>{const t={};return Object.keys(i.ul).forEach(n=>{if(e)t[n]=i[e.toLowerCase()][n];else{const r=Object.values(i).map(s=>s[n]);t[n]=(r[0]+r[1])/2}}),t},sMe=(i,e)=>{const{align:t,nodesep:n=0,edgesep:r=0}=e||{},s=buildLayerMatrix(i),a=Object.assign(HH(i,s),GH(i,s)),o={};let l;["u","d"].forEach(u=>{l=u==="u"?s:Object.values(s).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(y=>Object.values(y).reverse()));const d=(u==="u"?i.getPredecessors:i.getSuccessors).bind(i),f=WH(i,l,a,d),A=ZH(i,l,f.root,f.align,n,r,h==="r");h==="r"&&Object.keys(A).forEach(y=>{A[y]=-A[y]}),o[u+h]=A})});const c=$H(i,o);return jH(o,c),KH(o,t)},Zme=(i,e,t)=>(n,r,s)=>{const a=n.getNode(r),o=n.getNode(s);let l=0,c=0;if(l+=a.data.width/2,a.data.hasOwnProperty("labelpos"))switch((a.data.labelpos||"").toLowerCase()){case"l":c=-a.data.width/2;break;case"r":c=a.data.width/2;break}if(c&&(l+=t?c:-c),c=0,l+=(a.data.dummy?e:i)/2,l+=(o.data.dummy?e:i)/2,l+=o.data.width/2,o.data.labelpos)switch((o.data.labelpos||"").toLowerCase()){case"l":c=o.data.width/2;break;case"r":c=-o.data.width/2;break}return c&&(l+=t?c:-c),c=0,l},$me=(i,e)=>i.getNode(e).data.width||0,jme=(i,e)=>{const{ranksep:t=0}=e||{},n=p1(i);let r=0;n==null||n.forEach(s=>{const a=s.map(l=>i.getNode(l).data.height),o=Math.max(...a,0);s==null||s.forEach(l=>{i.getNode(l).data.y=r+o/2}),r+=o+t})},Kme=(i,e)=>{const{align:t,nodesep:n=0,edgesep:r=0}=e||{},s=p1(i),a=Object.assign(HH(i,s),GH(i,s)),o={};let l=[];["u","d"].forEach(u=>{l=u==="u"?s:Object.values(s).reverse(),["l","r"].forEach(h=>{h==="r"&&(l=l.map(y=>Object.values(y).reverse()));const d=(u==="u"?i.getPredecessors:i.getSuccessors).bind(i),f=WH(i,l,a,d),A=ZH(i,l,f.root,f.align,n,r,h==="r");h==="r"&&Object.keys(A).forEach(y=>A[y]=-A[y]),o[u+h]=A})});const c=$H(i,o);return c&&jH(o,c),KH(o,t)},Xme=(i,e)=>{var t;const n=EH(i);jme(n,e);const r=Kme(n,e);(t=Object.keys(r))===null||t===void 0||t.forEach(s=>{n.getNode(s).data.x=r[s]})},XH=i=>{const e={},t=n=>{var r;const s=i.getNode(n);if(!s)return 0;if(e[n])return s.data.rank;e[n]=!0;let a;return(r=i.getRelatedEdges(n,"out"))===null||r===void 0||r.forEach(o=>{const l=t(o.target),c=o.data.minlen,u=l-c;u&&(a===void 0||ui.getRelatedEdges(n.id,"in").length===0).forEach(n=>t(n.id))},Yme=i=>{const e={};let t;const n=a=>{var o;const l=i.getNode(a);if(!l)return 0;if(e[a])return l.data.rank;e[a]=!0;let c;return(o=i.getRelatedEdges(a,"out"))===null||o===void 0||o.forEach(u=>{const h=n(u.target),d=u.data.minlen,f=h-d;f&&(c===void 0||fi.getRelatedEdges(a.id,"in").length===0).forEach(a=>{a&&n(a.id)}),t===void 0&&(t=0);const r={},s=(a,o)=>{var l;const c=i.getNode(a),u=isNaN(c.data.layer)?o:c.data.layer;(c.data.rank===void 0||c.data.rank{s(h.target,u+h.data.minlen)}))};i.getAllNodes().forEach(a=>{const o=a.data;o&&(isNaN(o.layer)?o.rank-=t:s(a.id,o.layer))})},f0=(i,e)=>i.getNode(e.target).data.rank-i.getNode(e.source).data.rank-e.data.minlen,qme=i=>{const e=new Iu.k({tree:[]}),t=i.getAllNodes()[0],n=i.getAllNodes().length;e.addNode(t);let r,s;for(;Jme(e,i){const t=n=>{e.getRelatedEdges(n,"both").forEach(r=>{const s=r.source,a=n===s?r.target:s;!i.hasNode(a)&&!f0(e,r)&&(i.addNode({id:a,data:{}}),i.addEdge({id:r.id,source:n,target:a,data:{}}),t(a))})};return i.getAllNodes().forEach(n=>t(n.id)),i.getAllNodes().length},e0e=i=>{const e=new Iu.k({tree:[]}),t=i.getAllNodes()[0],n=i.getAllNodes().length;e.addNode(t);let r,s;for(;t0e(e,i){const t=n=>{var r;(r=e.getRelatedEdges(n,"both"))===null||r===void 0||r.forEach(s=>{const a=s.source,o=n===a?s.target:a;!i.hasNode(o)&&(e.getNode(o).data.layer!==void 0||!f0(e,s))&&(i.addNode({id:o,data:{}}),i.addEdge({id:s.id,source:n,target:o,data:{}}),t(o))})};return i.getAllNodes().forEach(n=>t(n.id)),i.getAllNodes().length},YH=(i,e)=>eP(e.getAllEdges(),t=>i.hasNode(t.source)!==i.hasNode(t.target)?f0(e,t):1/0),qH=(i,e,t)=>{i.getAllNodes().forEach(n=>{const r=e.getNode(n.id);r.data.rank||(r.data.rank=0),r.data.rank+=t})},n0e=i=>{const e=lme(i);XH(e);const t=qme(e);eG(t),JH(t,e);let n,r;for(;n=s0e(t);)r=a0e(t,e,n),o0e(t,e,n,r)},JH=(i,e)=>{let t=RH(i,i.getAllNodes(),"post",!1);t=t.slice(0,(t==null?void 0:t.length)-1),t.forEach(n=>{r0e(i,e,n)})},r0e=(i,e,t)=>{const r=i.getNode(t).data.parent,s=i.getRelatedEdges(t,"both").find(a=>a.target===r||a.source===r);s.data.cutvalue=i0e(i,e,t)},i0e=(i,e,t)=>{const r=i.getNode(t).data.parent;let s=!0,a=e.getRelatedEdges(t,"out").find(l=>l.target===r),o=0;return a||(s=!1,a=e.getRelatedEdges(r,"out").find(l=>l.target===t)),o=a.data.weight,e.getRelatedEdges(t,"both").forEach(l=>{const c=l.source===t,u=c?l.target:l.source;if(u!==r){const h=c===s,d=l.data.weight;if(o+=h?d:-d,c0e(i,t,u)){const f=i.getRelatedEdges(t,"both").find(A=>A.source===u||A.target===u).data.cutvalue;o+=h?-f:f}}}),o},eG=(i,e=i.getAllNodes()[0].id)=>{tG(i,{},1,e)},tG=(i,e,t,n,r)=>{var s;const a=t;let o=t;const l=i.getNode(n);return e[n]=!0,(s=i.getNeighbors(n))===null||s===void 0||s.forEach(c=>{e[c.id]||(o=tG(i,e,o,c.id,n))}),l.data.low=a,l.data.lim=o++,r?l.data.parent=r:delete l.data.parent,o},s0e=i=>i.getAllEdges().find(e=>e.data.cutvalue<0),a0e=(i,e,t)=>{let n=t.source,r=t.target;e.getRelatedEdges(n,"out").find(u=>u.target===r)||(n=t.target,r=t.source);const s=i.getNode(n),a=i.getNode(r);let o=s,l=!1;s.data.lim>a.data.lim&&(o=a,l=!0);const c=e.getAllEdges().filter(u=>l===nG(i.getNode(u.source),o)&&l!==nG(i.getNode(u.target),o));return eP(c,u=>f0(e,u))},o0e=(i,e,t,n)=>{const r=i.getRelatedEdges(t.source,"both").find(s=>s.source===t.target||s.target===t.target);r&&i.removeEdge(r.id),i.addEdge({id:`e${Math.random()}`,source:n.source,target:n.target,data:{}}),eG(i),JH(i,e),l0e(i,e)},l0e=(i,e)=>{const t=i.getAllNodes().find(r=>!r.data.parent);let n=RH(i,t,"pre",!1);n=n.slice(1),n.forEach(r=>{const s=i.getNode(r).data.parent;let a=e.getRelatedEdges(r,"out").find(l=>l.target===s),o=!1;!a&&e.hasNode(s)&&(a=e.getRelatedEdges(s,"out").find(l=>l.target===r),o=!0),e.getNode(r).data.rank=(e.hasNode(s)&&e.getNode(s).data.rank||0)+(o?a==null?void 0:a.data.minlen:-(a==null?void 0:a.data.minlen))})},c0e=(i,e,t)=>i.getRelatedEdges(e,"both").find(n=>n.source===t||n.target===t),nG=(i,e)=>e.data.low<=i.data.lim&&i.data.lim<=e.data.lim,u0e=(i,e)=>{switch(e){case"network-simplex":d0e(i);break;case"tight-tree":rG(i);break;case"longest-path":h0e(i);break;default:rG(i)}},h0e=XH,rG=i=>{Yme(i),e0e(i)},d0e=i=>{n0e(i)},f0e=(i,e)=>{const{edgeLabelSpace:t,keepNodeOrder:n,prevGraph:r,rankdir:s,ranksep:a}=e;!n&&r&&p0e(i,r);const o=b0e(i);t&&(e.ranksep=_0e(o,{rankdir:s,ranksep:a}));let l;try{l=A0e(o,e)}catch(c){if(c.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: +`,c);return}throw c}return g0e(i,o),l},A0e=(i,e)=>{const{acyclicer:t,ranker:n,rankdir:r="tb",nodeOrder:s,keepNodeOrder:a,align:o,nodesep:l=50,edgesep:c=20,ranksep:u=50}=e;I0e(i),ime(i,t);const{nestingRoot:h,nodeRankFactor:d}=mme(i);u0e(EH(i),n),w0e(i),ume(i,d),xme(i,h),cme(i),E0e(i),S0e(i);const f=[];_me(i,f),Hme(i,f),dme(i),a&&kme(i,s),Ume(i,a),N0e(i),fme(i,r),Xme(i,{align:o,nodesep:l,edgesep:c,ranksep:u}),P0e(i),R0e(i),Eme(i,f),T0e(i),Ame(i,r);const{width:A,height:y}=C0e(i);return M0e(i),B0e(i),ame(i),{width:A,height:y}},p0e=(i,e)=>{i.getAllNodes().forEach(t=>{const n=i.getNode(t.id);if(e.hasNode(t.id)){const r=e.getNode(t.id);n.data.fixorder=r.data._order,delete r.data._order}else delete n.data.fixorder})},g0e=(i,e)=>{i.getAllNodes().forEach(t=>{var n;const r=i.getNode(t.id);if(r){const s=e.getNode(t.id);r.data.x=s.data.x,r.data.y=s.data.y,r.data._order=s.data.order,r.data._rank=s.data.rank,!((n=e.getChildren(t.id))===null||n===void 0)&&n.length&&(r.data.width=s.data.width,r.data.height=s.data.height)}}),i.getAllEdges().forEach(t=>{const n=i.getEdge(t.id),r=e.getEdge(t.id);n.data.points=r?r.data.points:[],r&&r.data.hasOwnProperty("x")&&(n.data.x=r.data.x,n.data.y=r.data.y)})},m0e=["width","height","layer","fixorder"],v0e={width:0,height:0},y0e=["minlen","weight","width","height","labeloffset"],x0e={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},iP=["labelpos"],b0e=i=>{const e=new Iu.k({tree:[]});return i.getAllNodes().forEach(t=>{const n=sG(i.getNode(t.id).data),r=Object.assign(Object.assign({},v0e),n),s=iG(r,m0e);e.hasNode(t.id)||e.addNode({id:t.id,data:Object.assign({},s)});const a=i.hasTreeStructure("combo")?i.getParent(t.id,"combo"):i.getParent(t.id);(0,nC.Z)(a)||(e.hasNode(a.id)||e.addNode(Object.assign({},a)),e.setParent(t.id,a.id))}),i.getAllEdges().forEach(t=>{const n=sG(i.getEdge(t.id).data),r={};iP==null||iP.forEach(s=>{n[s]!==void 0&&(r[s]=n[s])}),e.addEdge({id:t.id,source:t.source,target:t.target,data:Object.assign({},x0e,iG(n,y0e),r)})}),e},_0e=(i,e)=>{const{ranksep:t=0,rankdir:n}=e;return i.getAllNodes().forEach(r=>{isNaN(r.data.layer)||r.data.layer||(r.data.layer=0)}),i.getAllEdges().forEach(r=>{var s;r.data.minlen*=2,((s=r.data.labelpos)===null||s===void 0?void 0:s.toLowerCase())!=="c"&&(n==="TB"||n==="BT"?r.data.width+=r.data.labeloffset:r.data.height+=r.data.labeloffset)}),t/2},w0e=i=>{i.getAllEdges().forEach(e=>{if(e.data.width&&e.data.height){const t=i.getNode(e.source),n=i.getNode(e.target),r={e,rank:(n.data.rank-t.data.rank)/2+t.data.rank};Yx(i,"edge-proxy",r,"_ep")}})},E0e=i=>{let e=0;return i.getAllNodes().forEach(t=>{var n,r;t.data.borderTop&&(t.data.minRank=(n=i.getNode(t.data.borderTop))===null||n===void 0?void 0:n.data.rank,t.data.maxRank=(r=i.getNode(t.data.borderBottom))===null||r===void 0?void 0:r.data.rank,e=Math.max(e,t.data.maxRank||-1/0))}),e},S0e=i=>{i.getAllNodes().forEach(e=>{e.data.dummy==="edge-proxy"&&(i.getEdge(e.data.e.id).data.labelRank=e.data.rank,i.removeNode(e.id))})},C0e=(i,e)=>{let t,n=0,r,s=0;const{marginx:a=0,marginy:o=0}=e||{},l=c=>{if(!c.data)return;const u=c.data.x,h=c.data.y,d=c.data.width,f=c.data.height;!isNaN(u)&&!isNaN(d)&&(t===void 0&&(t=u-d/2),t=Math.min(t,u-d/2),n=Math.max(n,u+d/2)),!isNaN(h)&&!isNaN(f)&&(r===void 0&&(r=h-f/2),r=Math.min(r,h-f/2),s=Math.max(s,h+f/2))};return i.getAllNodes().forEach(c=>{l(c)}),i.getAllEdges().forEach(c=>{c!=null&&c.data.hasOwnProperty("x")&&l(c)}),t-=a,r-=o,i.getAllNodes().forEach(c=>{c.data.x-=t,c.data.y-=r}),i.getAllEdges().forEach(c=>{var u;(u=c.data.points)===null||u===void 0||u.forEach(h=>{h.x-=t,h.y-=r}),c.data.hasOwnProperty("x")&&(c.data.x-=t),c.data.hasOwnProperty("y")&&(c.data.y-=r)}),{width:n-t+a,height:s-r+o}},M0e=i=>{i.getAllEdges().forEach(e=>{const t=i.getNode(e.source),n=i.getNode(e.target);let r,s;e.data.points?(r=e.data.points[0],s=e.data.points[e.data.points.length-1]):(e.data.points=[],r={x:n.data.x,y:n.data.y},s={x:t.data.x,y:t.data.y}),e.data.points.unshift(CH(t.data,r)),e.data.points.push(CH(n.data,s))})},T0e=i=>{i.getAllEdges().forEach(e=>{if(e.data.hasOwnProperty("x"))switch((e.data.labelpos==="l"||e.data.labelpos==="r")&&(e.data.width-=e.data.labeloffset),e.data.labelpos){case"l":e.data.x-=e.data.width/2+e.data.labeloffset;break;case"r":e.data.x+=e.data.width/2+e.data.labeloffset;break}})},B0e=i=>{i.getAllEdges().forEach(e=>{var t;e.data.reversed&&((t=e.data.points)===null||t===void 0||t.reverse())})},R0e=i=>{i.getAllNodes().forEach(e=>{var t,n,r;if(!((t=i.getChildren(e.id))===null||t===void 0)&&t.length){const s=i.getNode(e.id),a=i.getNode(s.data.borderTop),o=i.getNode(s.data.borderBottom),l=i.getNode(s.data.borderLeft[((n=s.data.borderLeft)===null||n===void 0?void 0:n.length)-1]),c=i.getNode(s.data.borderRight[((r=s.data.borderRight)===null||r===void 0?void 0:r.length)-1]);s.data.width=Math.abs((c==null?void 0:c.data.x)-(l==null?void 0:l.data.x))||10,s.data.height=Math.abs((o==null?void 0:o.data.y)-(a==null?void 0:a.data.y))||10,s.data.x=((l==null?void 0:l.data.x)||0)+s.data.width/2,s.data.y=((a==null?void 0:a.data.y)||0)+s.data.height/2}}),i.getAllNodes().forEach(e=>{e.data.dummy==="border"&&i.removeNode(e.id)})},I0e=i=>{i.getAllEdges().forEach(e=>{if(e.source===e.target){const t=i.getNode(e.source);t.data.selfEdges||(t.data.selfEdges=[]),t.data.selfEdges.push(e),i.removeEdge(e.id)}})},N0e=i=>{const e=p1(i);e==null||e.forEach(t=>{let n=0;t==null||t.forEach((r,s)=>{var a;const o=i.getNode(r);o.data.order=s+n,(a=o.data.selfEdges)===null||a===void 0||a.forEach(l=>{Yx(i,"selfedge",{width:l.data.width,height:l.data.height,rank:o.data.rank,order:s+ ++n,e:l},"_se")}),delete o.data.selfEdges})})},P0e=i=>{i.getAllNodes().forEach(e=>{const t=i.getNode(e.id);if(t.data.dummy==="selfedge"){const n=i.getNode(t.data.e.source),r=n.data.x+n.data.width/2,s=n.data.y,a=t.data.x-r,o=n.data.height/2;i.hasEdge(t.data.e.id)?i.updateEdgeData(t.data.e.id,t.data.e.data):i.addEdge({id:t.data.e.id,source:t.data.e.source,target:t.data.e.target,data:t.data.e.data}),i.removeNode(e.id),t.data.e.data.points=[{x:r+2*a/3,y:s-o},{x:r+5*a/6,y:s-o},{y:s,x:r+a},{x:r+5*a/6,y:s+o},{x:r+2*a/3,y:s+o}],t.data.e.data.x=t.data.x,t.data.e.data.y=t.data.y}})},iG=(i,e)=>{const t={};return e==null||e.forEach(n=>{i[n]!==void 0&&(t[n]=+i[n])}),t},sG=(i={})=>{const e={};return Object.keys(i).forEach(t=>{e[t.toLowerCase()]=i[t]}),e};function A0(i,e){let t;return(0,Ra.Z)(e)?t=e:(0,fa.Z)(e)?t=()=>e:t=()=>i,t}function aG(i,e,t=!0){return!e&&e!==0?n=>{const{size:r}=n.data||{};return r?Array.isArray(r)?r[0]>r[1]?r[0]:r[1]:(0,Ru.Z)(r)?r.width>r.height?r.width:r.height:r:i}:(0,Ra.Z)(e)?e:(0,fa.Z)(e)?()=>e:Array.isArray(e)?()=>{if(t){const n=Math.max(...e);return isNaN(n)?i:n}return e}:(0,Ru.Z)(e)?()=>{if(t){const n=Math.max(e.width,e.height);return isNaN(n)?i:n}return[e.width,e.height]}:()=>i}const oG=(i,e)=>{let t,n;return(0,fa.Z)(e)?n=()=>e:(0,Ra.Z)(e)?n=e:n=()=>0,i?Array.isArray(i)?t=r=>(i[0]>i[1]?i[0]:i[1])+n(r):(0,Ra.Z)(i)?t=i:t=r=>i+n(r):t=r=>{var s,a;if(!((s=r.data)===null||s===void 0)&&s.bboxSize)return Math.max(r.data.bboxSize[0],r.data.bboxSize[1])+n(r);if(!((a=r.data)===null||a===void 0)&&a.size){if(Array.isArray(r.data.size))return Math.max(r.data.size[0],r.data.size[1])+n(r);const o=r.data.size;return(0,Ru.Z)(o)?(o.width>o.height?o.width:o.height)+n(r):o+n(r)}return 10+n(r)},t},sP=i=>{if(i===null)return i;if(i instanceof Date)return new Date(i.getTime());if(i instanceof Array){const e=[];return i.forEach(t=>{e.push(t)}),e.map(t=>sP(t))}if(typeof i=="object"){const e={};return Object.keys(i).forEach(t=>{e[t]=sP(i[t])}),e}return i},uf=(i,e)=>{const t=sP(i);return t.data=t.data||{},e&&((0,fa.Z)(t.data.x)||(t.data.x=Math.random()*e[0]),(0,fa.Z)(t.data.y)||(t.data.y=Math.random()*e[1])),t},F0e={rankdir:"TB",nodesep:50,ranksep:50,edgeLabelSpace:!0,ranker:"tight-tree",controlPoints:!1,radial:!1,focusNode:null};class O0e{constructor(e={}){this.options=e,this.id="antv-dagre",this.options=Object.assign(Object.assign({},F0e),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,t)})}genericDagreLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{nodeSize:s,align:a,rankdir:o="TB",ranksep:l,nodesep:c,ranksepFunc:u,nodesepFunc:h,edgeLabelSpace:d,ranker:f,nodeOrder:A,begin:y,controlPoints:b,radial:x,sortByCombo:P,preset:k}=r,$=new Iu.k({tree:[]}),se=A0(l||50,u),ie=A0(c||50,h);let ce=ie,ue=se;(o==="LR"||o==="RL")&&(ce=se,ue=ie);const ve=oG(s,void 0),Fe=t.getAllNodes(),nt=t.getAllEdges();Fe.forEach(Hn=>{const Er=ve(Hn),Hr=ue(Hn),qn=ce(Hn),Jr=Er+2*qn,gi=Er+2*Hr,Zi=Hn.data.layer;(0,fa.Z)(Zi)?$.addNode({id:Hn.id,data:{width:Jr,height:gi,layer:Zi}}):$.addNode({id:Hn.id,data:{width:Jr,height:gi}})}),P&&($.attachTreeStructure("combo"),Fe.forEach(Hn=>{const{parentId:Er}=Hn.data;Er!==void 0&&$.hasNode(Er)&&$.setParent(Hn.id,Er,"combo")})),nt.forEach(Hn=>{$.addEdge({id:Hn.id,source:Hn.source,target:Hn.target,data:{weight:Hn.data.weight||1}})});let Gt;k!=null&&k.length&&(Gt=new Iu.k({nodes:k})),f0e($,{prevGraph:Gt,edgeLabelSpace:d,keepNodeOrder:!!A,nodeOrder:A||[],acyclicer:"greedy",ranker:f,rankdir:o,nodesep:c,align:a});const Jt=[0,0];if(y){let Hn=1/0,Er=1/0;$.getAllNodes().forEach(Hr=>{Hn>Hr.data.x&&(Hn=Hr.data.x),Er>Hr.data.y&&(Er=Hr.data.y)}),$.getAllEdges().forEach(Hr=>{var qn;(qn=Hr.data.points)===null||qn===void 0||qn.forEach(Jr=>{Hn>Jr.x&&(Hn=Jr.x),Er>Jr.y&&(Er=Jr.y)})}),Jt[0]=y[0]-Hn,Jt[1]=y[1]-Er}const gn=o==="LR"||o==="RL";if(!x){const Hn=new Set,Hr=o==="BT"||o==="RL"?(Zi,Xr)=>Xr-Zi:(Zi,Xr)=>Zi-Xr;$.getAllNodes().forEach(Zi=>{Zi.data.x=Zi.data.x+Jt[0],Zi.data.y=Zi.data.y+Jt[1],Hn.add(gn?Zi.data.x:Zi.data.y)});const qn=Array.from(Hn).sort(Hr),Jr=gn?(Zi,Xr)=>Zi.x!==Xr.x:(Zi,Xr)=>Zi.y!==Xr.y,gi=gn?(Zi,Xr,or)=>{const Sr=Math.max(Xr.y,or.y),Ri=Math.min(Xr.y,or.y);return Zi.filter(xi=>xi.y<=Sr&&xi.y>=Ri)}:(Zi,Xr,or)=>{const Sr=Math.max(Xr.x,or.x),Ri=Math.min(Xr.x,or.x);return Zi.filter(xi=>xi.x<=Sr&&xi.x>=Ri)};$.getAllEdges().forEach((Zi,Xr)=>{var or;d&&b&&Zi.data.type!=="loop"&&(Zi.data.controlPoints=L0e((or=Zi.data.points)===null||or===void 0?void 0:or.map(({x:Sr,y:Ri})=>({x:Sr+Jt[0],y:Ri+Jt[1]})),$.getNode(Zi.source),$.getNode(Zi.target),qn,gn,Jr,gi))})}let yn=[];yn=$.getAllNodes().map(Hn=>uf(Hn));const Mn=$.getAllEdges();return e&&(yn.forEach(Hn=>{t.mergeNodeData(Hn.id,{x:Hn.data.x,y:Hn.data.y})}),Mn.forEach(Hn=>{t.mergeEdgeData(Hn.id,{controlPoints:Hn.data.controlPoints})})),{nodes:yn,edges:Mn}})}}const L0e=(i,e,t,n,r,s,a)=>{let o=(i==null?void 0:i.slice(1,i.length-1))||[];if(e&&t){let{x:l,y:c}=e.data,{x:u,y:h}=t.data;if(r&&(l=e.data.y,c=e.data.x,u=t.data.y,h=t.data.x),h!==c&&l!==u){const d=n.indexOf(c),f=n[d+1];if(f){const b=o[0],x=r?{x:(c+f)/2,y:(b==null?void 0:b.y)||u}:{x:(b==null?void 0:b.x)||u,y:(c+f)/2};(!b||s(b,x))&&o.unshift(x)}const A=n.indexOf(h),y=Math.abs(A-d);if(y===1)o=a(o,e.data,t.data),o.length||o.push(r?{x:(c+h)/2,y:l}:{x:l,y:(c+h)/2});else if(y>1){const b=n[A-1];if(b){const x=o[o.length-1],P=r?{x:(h+b)/2,y:(x==null?void 0:x.y)||u}:{x:(x==null?void 0:x.x)||l,y:(h+b)/2};(!x||s(x,P))&&o.push(P)}}}}return o},qv=(i,e,t)=>{const n=i.getAllNodes(),r=i.getAllEdges();if(!(n!=null&&n.length))return{nodes:[],edges:r};if(n.length===1)return e&&i.mergeNodeData(n[0].id,{x:t[0],y:t[1]}),{nodes:[Object.assign(Object.assign({},n[0]),{data:Object.assign(Object.assign({},n[0].data),{x:t[0],y:t[1]})})],edges:r}},D0e={radius:null,startRadius:null,endRadius:null,startAngle:0,endAngle:2*Math.PI,clockwise:!0,divisions:1,ordering:null,angleRatio:1};class U0e{constructor(e={}){this.options=e,this.id="circular",this.options=Object.assign(Object.assign({},D0e),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericCircularLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericCircularLayout(!0,e,t)})}genericCircularLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{width:s,height:a,center:o,divisions:l,startAngle:c=0,endAngle:u=2*Math.PI,angleRatio:h,ordering:d,clockwise:f,nodeSpacing:A,nodeSize:y}=r,b=t.getAllNodes(),x=t.getAllEdges(),[P,k,$]=z0e(s,a,o),se=b==null?void 0:b.length;if(!se||se===1)return qv(t,e,$);const ie=(u-c)/se;let{radius:ce,startRadius:ue,endRadius:ve}=r;if(A){const gn=A0(10,A),yn=aG(10,y);let Mn=-1/0;b.forEach(Hn=>{const Er=yn(Hn);Mn{Er===0?rr+=Mn||10:rr+=(gn(Hn)||0)+(Mn||10)}),ce=rr/(2*Math.PI)}else!ce&&!ue&&!ve?ce=Math.min(k,P)/2:!ue&&ve?ue=ve:ue&&!ve&&(ve=ue);const Fe=ie*h;let nt=[];d==="topology"?nt=lG(t,b):d==="topology-directed"?nt=lG(t,b,!0):d==="degree"?nt=k0e(t,b):nt=b.map(gn=>uf(gn));const Gt=Math.ceil(se/l);for(let gn=0;gn{t.mergeNodeData(gn.id,{x:gn.data.x,y:gn.data.y})}),{nodes:nt,edges:x}})}}const lG=(i,e,t=!1)=>{const n=[uf(e[0])],r={},s=e.length;r[e[0].id]=!0;let a=0;return e.forEach((o,l)=>{if(l!==0)if((l===s-1||i.getDegree(o.id,"both")!==i.getDegree(e[l+1].id,"both")||i.areNeighbors(n[a].id,o.id))&&!r[o.id])n.push(uf(o)),r[o.id]=!0,a++;else{const c=t?i.getSuccessors(n[a].id):i.getNeighbors(n[a].id);let u=!1;for(let d=0;d{t.push(uf(n))}),t.sort((n,r)=>i.getDegree(n.id,"both")-i.getDegree(r.id,"both")),t}const z0e=(i,e,t)=>{let n=i,r=e,s=t;return!n&&typeof window!="undefined"&&(n=window.innerWidth),!r&&typeof window!="undefined"&&(r=window.innerHeight),s||(s=[n/2,r/2]),[n,r,s]},rd=Array.isArray,V0e={nodeSize:30,nodeSpacing:10,preventOverlap:!1,sweep:void 0,equidistant:!1,startAngle:3/2*Math.PI,clockwise:!0,maxLevelDiff:void 0,sortBy:"degree"};class aP{constructor(e={}){this.options=e,this.id="concentric",this.options=Object.assign(Object.assign({},V0e),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericConcentricLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericConcentricLayout(!0,e,t)})}genericConcentricLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{center:s,width:a,height:o,sortBy:l,maxLevelDiff:c,sweep:u,clockwise:h,equidistant:d,preventOverlap:f,startAngle:A=3/2*Math.PI,nodeSize:y,nodeSpacing:b}=r,x=t.getAllNodes(),P=t.getAllEdges(),k=!a&&typeof window!="undefined"?window.innerWidth:a,$=!o&&typeof window!="undefined"?window.innerHeight:o,se=s||[k/2,$/2];if(!(x!=null&&x.length)||x.length===1)return qv(t,e,se);const ie=[];let ce,ue=0;rd(y)?ce=Math.max(y[0],y[1]):(0,Ra.Z)(y)?(ce=-1/0,x.forEach(Hn=>{const Er=y(Hn);Er>ce&&(ce=Er)})):ce=y,rd(b)?ue=Math.max(b[0],b[1]):(0,fa.Z)(b)&&(ue=b),x.forEach(Hn=>{const Er=uf(Hn);ie.push(Er);let Hr=ce;const{data:qn}=Er;rd(qn.size)?Hr=Math.max(qn.size[0],qn.size[1]):(0,fa.Z)(qn.size)?Hr=qn.size:(0,Ru.Z)(qn.size)&&(Hr=Math.max(qn.size.width,qn.size.height)),ce=Math.max(ce,Hr),(0,Ra.Z)(b)&&(ue=Math.max(b(Hn),ue))});const ve={};ie.forEach((Hn,Er)=>{ve[Hn.id]=Er});let Fe=l;(!(0,TA.Z)(Fe)||ie[0].data[Fe]===void 0)&&(Fe="degree"),Fe==="degree"?ie.sort((Hn,Er)=>t.getDegree(Er.id,"both")-t.getDegree(Hn.id,"both")):ie.sort((Hn,Er)=>Er.data[Fe]-Hn.data[Fe]);const nt=ie[0],Gt=(c||(Fe==="degree"?t.getDegree(nt.id,"both"):nt.data[Fe]))/4,Jt=[{nodes:[]}];let gn=Jt[0];ie.forEach(Hn=>{if(gn.nodes.length>0){const Er=Math.abs(Fe==="degree"?t.getDegree(gn.nodes[0].id,"both")-t.getDegree(Hn.id,"both"):gn.nodes[0].data[Fe]-Hn.data[Fe]);Gt&&Er>=Gt&&(gn={nodes:[]},Jt.push(gn))}gn.nodes.push(Hn)});let yn=ce+ue;if(!f){const Hn=Jt.length>0&&Jt[0].nodes.length>1,Hr=(Math.min(k,$)/2-yn)/(Jt.length+(Hn?1:0));yn=Math.min(yn,Hr)}let Mn=0;if(Jt.forEach(Hn=>{const Er=u===void 0?2*Math.PI-2*Math.PI/Hn.nodes.length:u;if(Hn.dTheta=Er/Math.max(1,Hn.nodes.length-1),Hn.nodes.length>1&&f){const Hr=Math.cos(Hn.dTheta)-Math.cos(0),qn=Math.sin(Hn.dTheta)-Math.sin(0),Jr=Math.sqrt(yn*yn/(Hr*Hr+qn*qn));Mn=Math.max(Jr,Mn)}Hn.r=Mn,Mn+=yn}),d){let Hn=0,Er=0;for(let Hr=0;Hr{qn===0&&(Er=Hr.r||0),Hr.r=Er,Er+=Hn})}return Jt.forEach(Hn=>{const Er=Hn.dTheta||0,Hr=Hn.r||0;Hn.nodes.forEach((qn,Jr)=>{const gi=A+(h?1:-1)*Er*Jr;qn.data.x=se[0]+Hr*Math.cos(gi),qn.data.y=se[1]+Hr*Math.sin(gi)})}),e&&ie.forEach(Hn=>t.mergeNodeData(Hn.id,{x:Hn.data.x,y:Hn.data.y})),{nodes:ie,edges:P}})}}const H0e=.81,oP=.1;function G0e(i,e,t,n,r=2){const s=e/t,a=i.getAllNodes(),o=a.map((u,h)=>{const{nodeStrength:d,x:f,y:A,z:y,size:b}=u.data;return{x:f,y:A,z:y,size:b,index:h,id:u.id,vx:0,vy:0,vz:0,weight:s*d}}),l=(r===2?(0,RF.Z)(o,u=>u.x,u=>u.y):(0,IF.Z)(o,u=>u.x,u=>u.y,u=>u.z)).visitAfter(Q0e),c=new Map;return o.forEach(u=>{c.set(u.id,u),Z0e(u,l,r)}),o.map((u,h)=>{const{id:d,data:f}=a[h],{mass:A=1}=f;n[d]={x:u.vx/A,y:u.vy/A,z:u.vz/A}}),n}function Q0e(i){let e=0,t=0,n=0,r=0,s=0;const a=i.length;if(a){for(let o=0;o{var o;if(((o=i.data)===null||o===void 0?void 0:o.id)===s.id)return;const l=[t,n,r][a-1],c=s.x-i.x||oP,u=s.y-i.y||oP,h=s.z-i.z||oP,d=[c,u,h],f=l-e;let A=0;for(let x=0;xW0e(n,r,s,a,o,i,t))}const $0e={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 cG{constructor(e={}){this.options=e,this.id="force",this.timeInterval=0,this.judgingDistance=0,this.running=!1,this.options=Object.assign(Object.assign({},$0e),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericForceLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericForceLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;(this.judgingDistance>this.lastOptions.minMovement||n<1)&&nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericForceLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),s=t.getAllNodes(),a=t.getAllEdges(),o=this.formatOptions(r,t),{dimensions:l,width:c,height:u,nodeSize:h,getMass:d,nodeStrength:f,edgeStrength:A,linkDistance:y}=o,b=s.map((ue,ve)=>Object.assign(Object.assign({},ue),{data:Object.assign(Object.assign({},ue.data),{x:(0,fa.Z)(ue.data.x)?ue.data.x:Math.random()*c,y:(0,fa.Z)(ue.data.y)?ue.data.y:Math.random()*u,z:(0,fa.Z)(ue.data.z)?ue.data.z:Math.random()*Math.sqrt(c*u),size:h(ue)||30,mass:d(ue),nodeStrength:f(ue)})})),x=a.map(ue=>Object.assign(Object.assign({},ue),{data:Object.assign(Object.assign({},ue.data),{edgeStrength:A(ue),linkDistance:y(ue,t.getNode(ue.source),t.getNode(ue.target))})}));if(!(s!=null&&s.length))return this.lastResult={nodes:[],edges:a},{nodes:[],edges:a};const P={};s.forEach((ue,ve)=>{P[ue.id]={x:0,y:0,z:0}});const k=new Iu.k({nodes:b,edges:x});this.formatCentripetal(o,k);const{maxIteration:$,minMovement:se,onTick:ie}=o;if(this.lastLayoutNodes=b,this.lastLayoutEdges=x,this.lastAssign=e,this.lastGraph=t,this.lastCalcGraph=k,this.lastOptions=o,this.lastVelMap=P,typeof window=="undefined")return;let ce=0;return new Promise(ue=>{this.timeInterval=window.setInterval(()=>{(!s||!this.running)&&ue({nodes:lP(t,b),edges:a}),this.runOneStep(k,t,ce,P,o),this.updatePosition(t,k,P,o),e&&b.forEach(ve=>t.mergeNodeData(ve.id,{x:ve.data.x,y:ve.data.y,z:l===3?ve.data.z:void 0})),ie==null||ie({nodes:lP(t,b),edges:a}),ce++,(ce>=$||this.judgingDistance{let d=1;(0,fa.Z)(h==null?void 0:h.data.mass)&&(d=h==null?void 0:h.data.mass);const f=t.getDegree(h.id,"both");return!f||f<5?d:f*5*d});const l=A0(0,e.nodeSpacing);let c;o?(0,Ra.Z)(o)?c=h=>o(h)+l(h):rd(o)?c=h=>{const d=o;return Math.max(d[0],d[1])+l(h)}:c=h=>o+l(h):c=h=>{const{size:d}=(h==null?void 0:h.data)||{};return d?rd(d)?Math.max(d[0],d[1])+l(h):(0,Ru.Z)(d)?Math.max(d.width,d.height)+l(h):d+l(h):10+l(h)},n.nodeSize=c;const u=e.linkDistance?A0(1,e.linkDistance):h=>1+n.nodeSize(t.getNode(h.source))+n.nodeSize(t.getNode(h.target));return n.linkDistance=u,n.nodeStrength=A0(1,e.nodeStrength),n.edgeStrength=A0(1,e.edgeStrength),n}formatCentripetal(e,t){const{dimensions:n,centripetalOptions:r,center:s,clusterNodeStrength:a,leafCluster:o,clustering:l,nodeClusterBy:c}=e,u=t.getAllNodes(),h=r||{leaf:2,single:2,others:1,center:x=>({x:s[0],y:s[1],z:n===3?s[2]:void 0})};typeof a!="function"&&(e.clusterNodeStrength=x=>a);let d,f;if(o&&c&&(d=uG(t,c),f=Array.from(new Set(u==null?void 0:u.map(x=>x.data[c])))||[],e.centripetalOptions=Object.assign(h,{single:100,leaf:x=>{const{siblingLeaves:P,sameTypeLeaves:k}=d[x.id]||{};return(k==null?void 0:k.length)===(P==null?void 0:P.length)||(f==null?void 0:f.length)===1?1:e.clusterNodeStrength(x)},others:1,center:x=>{const P=t.getDegree(x.id,"both");if(!P)return{x:100,y:100,z:0};let k;if(P===1){const{sameTypeLeaves:$=[]}=d[x.id]||{};$.length===1?k=void 0:$.length>1&&(k=hG($))}else k=void 0;return{x:k==null?void 0:k.x,y:k==null?void 0:k.y,z:k==null?void 0:k.z}}})),l&&c){d||(d=uG(t,c)),f||(f=Array.from(new Set(u.map(P=>P.data[c])))),f=f.filter(P=>P!==void 0);const x={};f.forEach(P=>{const k=u.filter($=>$.data[c]===P).map($=>t.getNode($.id));x[P]=hG(k)}),e.centripetalOptions=Object.assign(h,{single:P=>e.clusterNodeStrength(P),leaf:P=>e.clusterNodeStrength(P),others:P=>e.clusterNodeStrength(P),center:P=>{const k=x[P.data[c]];return{x:k==null?void 0:k.x,y:k==null?void 0:k.y,z:k==null?void 0:k.z}}})}const{leaf:A,single:y,others:b}=e.centripetalOptions||{};A&&typeof A!="function"&&(e.centripetalOptions.leaf=()=>A),y&&typeof y!="function"&&(e.centripetalOptions.single=()=>y),b&&typeof b!="function"&&(e.centripetalOptions.others=()=>b)}runOneStep(e,t,n,r,s){const a={},o=e.getAllNodes(),l=e.getAllEdges();if(!(o!=null&&o.length))return;const{monitor:c}=s;if(this.calRepulsive(e,a,s),l&&this.calAttractive(e,a,s),this.calGravity(e,t,a,s),this.updateVelocity(e,a,r,s),c){const u=this.calTotalEnergy(a,o);c({energy:u,nodes:t.getAllNodes(),edges:t.getAllEdges(),iterations:n})}}calTotalEnergy(e,t){if(!(t!=null&&t.length))return 0;let n=0;return t.forEach((r,s)=>{const a=e[r.id].x,o=e[r.id].y,l=this.options.dimensions===3?e[r.id].z:0,c=a*a+o*o+l*l,{mass:u=1}=r.data;n+=u*c*.5}),n}calRepulsive(e,t,n){const{dimensions:r,factor:s,coulombDisScale:a}=n;G0e(e,s,a*a,t,r)}calAttractive(e,t,n){const{dimensions:r,nodeSize:s}=n;e.getAllEdges().forEach((a,o)=>{const{source:l,target:c}=a,u=e.getNode(l),h=e.getNode(c);if(!u||!h)return;let d=h.data.x-u.data.x,f=h.data.y-u.data.y,A=r===3?h.data.z-u.data.z:0;!d&&!f&&(d=Math.random()*.01,f=Math.random()*.01,r===3&&!A&&(A=Math.random()*.01));const y=Math.sqrt(d*d+f*f+A*A);if(y{const{id:y,data:b}=A,{mass:x,x:P,y:k,z:$}=b,se=t.getNode(y);let ie=0,ce=0,ue=0,ve=d;const Fe=e.getDegree(y,"in"),nt=e.getDegree(y,"out"),Gt=e.getDegree(y,"both"),Jt=s==null?void 0:s(se,Gt);if(Jt){const[gn,yn,Mn]=Jt;ie=P-gn,ce=k-yn,ve=Mn}else ie=P-h[0],ce=k-h[1],ue=$-h[2];if(ve&&(n[y].x-=ve*ie/x,n[y].y-=ve*ce/x,n[y].z-=ve*ue/x),f){const{leaf:gn,single:yn,others:Mn,center:rr}=f,{x:Hn,y:Er,z:Hr,centerStrength:qn}=(rr==null?void 0:rr(se,o,l,c,u))||{x:0,y:0,z:0,centerStrength:0};if(!(0,fa.Z)(Hn)||!(0,fa.Z)(Er))return;const Jr=(P-Hn)/x,gi=(k-Er)/x,Zi=($-Hr)/x;if(qn&&(n[y].x-=qn*Jr,n[y].y-=qn*gi,n[y].z-=qn*Zi),Gt===0){const or=yn(se);if(!or)return;n[y].x-=or*Jr,n[y].y-=or*gi,n[y].z-=or*Zi;return}if(Fe===0||nt===0){const or=gn(se,o,l);if(!or)return;n[y].x-=or*Jr,n[y].y-=or*gi,n[y].z-=or*Zi;return}const Xr=Mn(se);if(!Xr)return;n[y].x-=Xr*Jr,n[y].y-=Xr*gi,n[y].z-=Xr*Zi}})}updateVelocity(e,t,n,r){const{damping:s,maxSpeed:a,interval:o,dimensions:l}=r,c=e.getAllNodes();c!=null&&c.length&&c.forEach(u=>{const{id:h}=u;let d=(n[h].x+t[h].x*o)*s||.01,f=(n[h].y+t[h].y*o)*s||.01,A=l===3?(n[h].z+t[h].z*o)*s||.01:0;const y=Math.sqrt(d*d+f*f+A*A);if(y>a){const b=a/y;d=b*d,f=b*f,A=b*A}n[h]={x:d,y:f,z:A}})}updatePosition(e,t,n,r){const{distanceThresholdMode:s,interval:a,dimensions:o}=r,l=t.getAllNodes();if(!(l!=null&&l.length)){this.judgingDistance=0;return}let c=0;s==="max"?this.judgingDistance=-1/0:s==="min"&&(this.judgingDistance=1/0),l.forEach(u=>{const{id:h}=u,d=e.getNode(h);if((0,fa.Z)(d.data.fx)&&(0,fa.Z)(d.data.fy)){t.mergeNodeData(h,{x:d.data.fx,y:d.data.fy,z:o===3?d.data.fz:void 0});return}const f=n[h].x*a,A=n[h].y*a,y=o===3?n[h].z*a:0;t.mergeNodeData(h,{x:u.data.x+f,y:u.data.y+A,z:u.data.z+y});const b=Math.sqrt(f*f+A*A+y*y);switch(s){case"max":this.judgingDistanceb&&(this.judgingDistance=b);break;default:c=c+b;break}}),(!s||s==="mean")&&(this.judgingDistance=c/l.length)}}const uG=(i,e)=>{const t=i.getAllNodes();if(!(t!=null&&t.length))return{};const n={};return t.forEach((r,s)=>{i.getDegree(r.id,"both")===1&&(n[r.id]=j0e(i,"leaf",r,e))}),n},j0e=(i,e,t,n)=>{const r=i.getDegree(t.id,"in"),s=i.getDegree(t.id,"out");let a=t,o=[];r===0?(a=i.getSuccessors(t.id)[0],o=i.getNeighbors(a.id)):s===0&&(a=i.getPredecessors(t.id)[0],o=i.getNeighbors(a.id)),o=o.filter(c=>i.getDegree(c.id,"in")===0||i.getDegree(c.id,"out")===0);const l=K0e(i,e,n,t,o);return{coreNode:a,siblingLeaves:o,sameTypeLeaves:l}},K0e=(i,e,t,n,r)=>{const s=n.data[t]||"";let a=(r==null?void 0:r.filter(o=>o.data[t]===s))||[];return e==="leaf"&&(a=a.filter(o=>i.getDegree(o.id,"in")===0||i.getDegree(o.id,"out")===0)),a},hG=i=>{const e={x:0,y:0};i.forEach(n=>{const{x:r,y:s}=n.data;e.x+=r||0,e.y+=s||0});const t=i.length||1;return{x:e.x/t,y:e.y/t}},lP=(i,e)=>e.map(t=>{const{id:n,data:r}=t,s=i.getNode(n);return Object.assign(Object.assign({},s),{data:Object.assign(Object.assign({},s.data),{x:r.x,y:r.y,z:r.z})})});var Hp=v(16970);const dG=i=>{const e=[],t=i.length;for(let n=0;ne[r][n]+e[n][s]&&(e[r][s]=e[r][n]+e[n][s]);return e},fG=(i,e)=>{const{nodes:t,edges:n}=i,r=[],s={};if(!t)throw new Error("invalid nodes data!");return t&&t.forEach((a,o)=>{s[a.id]=o;const l=[];r.push(l)}),n==null||n.forEach(a=>{const{source:o,target:l}=a,c=s[o],u=s[l];c===void 0||u===void 0||(r[c][u]=1,e||(r[u][c]=1))}),r},X0e=(i,e)=>{const t=[];return i.forEach(n=>{const r=[];n.forEach(s=>{r.push(s*e)}),t.push(r)}),t},Y0e=i=>{let e=1/0,t=1/0,n=-1/0,r=-1/0;return i.forEach(s=>{let a=s.data.size;rd(a)?a.length===1&&(a=[a[0],a[0]]):(0,fa.Z)(a)?a=[a,a]:(a===void 0||isNaN(a))&&(a=[30,30]);const o=[a[0]/2,a[1]/2],l=s.data.x-o[0],c=s.data.x+o[0],u=s.data.y-o[1],h=s.data.y+o[1];e>l&&(e=l),t>u&&(t=u),nMath.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)),cP=(i,e,t,n="TB",r,s={})=>{if(!(e!=null&&e.length))return;const{stopBranchFn:a,stopAllFn:o}=s;for(let l=0;l{const x=uf(o[b]);x.data.x=y[0]+s[0],x.data.y=y[1]+s[1],f.push(x)}),e&&f.forEach(y=>t.mergeNodeData(y.id,{x:y.data.x,y:y.data.y})),{nodes:f,edges:l}})}}const J0e=i=>{let e=-999999;i.forEach(t=>{t.forEach(n=>{n!==1/0&&e{t.forEach((r,s)=>{r===1/0&&(i[n][s]=e)})})},eve=i=>{const t=Hp.y3.mul(Hp.y3.pow(i,2),-.5),n=t.mean("row"),r=t.mean("column"),s=t.mean();t.add(s).subRowVector(n).subColumnVector(r);const a=new Hp.Sc(t),o=Hp.y3.sqrt(a.diagonalMatrix).diagonal();return a.leftSingularVectors.toJSON().map(l=>Hp.y3.mul([l],[o]).toJSON()[0].splice(0,2))};function uP(i){return!!i.tick&&!!i.stop}const tve={gForce:!0,force2:!0,d3force:!0,fruchterman:!0,forceAtlas2:!0,force:!0,"graphin-force":!0},nve={center:[0,0],comboPadding:10,treeKey:"combo"};class rve{constructor(e={}){this.options=e,this.id="comboCombined",this.options=Object.assign(Object.assign({},nve),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericComboCombinedLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericComboCombinedLayout(!0,e,t)})}genericComboCombinedLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=this.initVals(Object.assign(Object.assign({},this.options),n)),{center:s,treeKey:a,outerLayout:o}=r,l=t.getAllNodes().filter(ue=>!ue.data._isCombo),c=t.getAllNodes().filter(ue=>ue.data._isCombo),u=t.getAllEdges(),h=l==null?void 0:l.length;if(!h||h===1)return qv(t,e,s);const d=[],f=new Map;l.forEach(ue=>{f.set(ue.id,ue)});const A=new Map;c.forEach(ue=>{A.set(ue.id,ue)});const y=new Map,b=this.getInnerGraphs(t,a,f,A,u,r,y);yield Promise.all(b);const x=new Map,P=[],k=new Map;let $=!0;t.getRoots(a).forEach(ue=>{const ve=y.get(ue.id),Fe=A.get(ue.id)||f.get(ue.id),nt={id:ue.id,data:Object.assign(Object.assign({},ue.data),{x:ve.data.x||Fe.data.x,y:ve.data.y||Fe.data.y,fx:ve.data.fx||Fe.data.fx,fy:ve.data.fy||Fe.data.fy,mass:ve.data.mass||Fe.data.mass,size:ve.data.size})};P.push(nt),x.set(ue.id,!0),!isNaN(nt.data.x)&&nt.data.x!==0&&!isNaN(nt.data.y)&&nt.data.y!==0?$=!1:(nt.data.x=Math.random()*100,nt.data.y=Math.random()*100),cP(t,[ue],Gt=>{Gt.id!==ue.id&&k.set(Gt.id,ue.id)},"TB",a)});const se=[];u.forEach(ue=>{const ve=k.get(ue.source)||ue.source,Fe=k.get(ue.target)||ue.target;ve!==Fe&&x.has(ve)&&x.has(Fe)&&se.push({id:ue.id,source:ve,target:Fe,data:{}})});let ie;if(P!=null&&P.length){if(P.length===1)P[0].data.x=s[0],P[0].data.y=s[1];else{const ue=new Iu.k({nodes:P,edges:se}),ve=o||new cG;$&&tve[ve.id]&&(yield(P.length<100?new pG:new aP).assign(ue));const Fe=Object.assign({center:s,kg:5,preventOverlap:!0,animate:!1},ve.id==="force"?{gravity:1,factor:4,linkDistance:(nt,Gt,Jt)=>{const gn=Math.max(...Gt.data.size)||32,yn=Math.max(...Jt.data.size)||32;return gn/2+yn/2+200}}:{});ie=yield gG(ve,ue,Fe)}y.forEach(ue=>{var ve;const Fe=ie.nodes.find(Jt=>Jt.id===ue.id);if(Fe){const{x:Jt,y:gn}=Fe.data;ue.data.visited=!0,ue.data.x=Jt,ue.data.y=gn,d.push({id:ue.id,data:{x:Jt,y:gn}})}const{x:nt,y:Gt}=ue.data;(ve=ue.data.nodes)===null||ve===void 0||ve.forEach(Jt=>{d.push({id:Jt.id,data:{x:Jt.data.x+nt,y:Jt.data.y+Gt}})})}),y.forEach(({data:ue})=>{const{x:ve,y:Fe,visited:nt,nodes:Gt}=ue;Gt==null||Gt.forEach(Jt=>{if(!nt){const gn=d.find(yn=>yn.id===Jt.id);gn.data.x+=ve||0,gn.data.y+=Fe||0}})})}return e&&d.forEach(ue=>{t.mergeNodeData(ue.id,{x:ue.data.x,y:ue.data.y})}),{nodes:d,edges:u}})}initVals(e){const t=Object.assign({},e),{nodeSize:n,spacing:r,comboPadding:s}=e;let a,o;if((0,fa.Z)(r)?o=()=>r:(0,Ra.Z)(r)?o=r:o=()=>0,t.spacing=o,!n)a=c=>{const u=o(c);return c.size?rd(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+u)/2:(0,Ru.Z)(c.size)?((c.size.width>c.size.height?c.size.width:c.size.height)+u)/2:(c.size+u)/2:32+u/2};else if((0,Ra.Z)(n))a=c=>{const u=n(c),h=o(c);return rd(c.size)?((c.size[0]>c.size[1]?c.size[0]:c.size[1])+h)/2:((u||32)+h)/2};else if(rd(n)){const u=(n[0]>n[1]?n[0]:n[1])/2;a=h=>u+o(h)/2}else{const c=n/2;a=u=>c+o(u)/2}t.nodeSize=a;let l;return(0,fa.Z)(s)?l=()=>s:rd(s)?l=()=>Math.max.apply(null,s):(0,Ra.Z)(s)?l=s:l=()=>0,t.comboPadding=l,t}getInnerGraphs(e,t,n,r,s,a,o){const{nodeSize:l,comboPadding:c,spacing:u,innerLayout:h}=a,d=h||new aP({}),f={center:[0,0],preventOverlap:!0,nodeSpacing:u},A=[],y=b=>{let x=(c==null?void 0:c(b))||10;return rd(x)&&(x=Math.max(...x)),{size:x?[x*2,x*2]:[30,30],padding:x}};return e.getRoots(t).forEach(b=>{o.set(b.id,{id:b.id,data:{nodes:[],size:y(b).size}});let x=Promise.resolve();cP(e,[b],P=>{var k;if(!P.data._isCombo)return;const{size:$,padding:se}=y(P);if(!(!((k=e.getChildren(P.id,t))===null||k===void 0)&&k.length))o.set(P.id,{id:P.id,data:Object.assign(Object.assign({},P.data),{size:$})});else{const ie=o.get(P.id);o.set(P.id,{id:P.id,data:Object.assign({nodes:[]},ie==null?void 0:ie.data)});const ce=new Map,ue=e.getChildren(P.id,t).map(nt=>{if(nt.data._isCombo)return o.has(nt.id)||o.set(nt.id,{id:nt.id,data:Object.assign({},nt.data)}),ce.set(nt.id,!0),o.get(nt.id);const Gt=n.get(nt.id)||r.get(nt.id);return ce.set(nt.id,!0),{id:nt.id,data:Object.assign(Object.assign({},Gt.data),nt.data)}}),ve={nodes:ue,edges:s.filter(nt=>ce.has(nt.source)&&ce.has(nt.target))};let Fe=1/0;ue.forEach(nt=>{var Gt;let{size:Jt}=nt.data;Jt||(Jt=((Gt=o.get(nt.id))===null||Gt===void 0?void 0:Gt.data.size)||(l==null?void 0:l(nt))||[30,30]),(0,fa.Z)(Jt)&&(Jt=[Jt,Jt]);const[gn,yn]=Jt;Fe>gn&&(Fe=gn),Fe>yn&&(Fe=yn),nt.data.size=Jt}),x=x.then(()=>(0,za.mG)(this,void 0,void 0,function*(){const nt=new Iu.k(ve);yield gG(d,nt,f,!0);const{minX:Gt,minY:Jt,maxX:gn,maxY:yn}=Y0e(ue),Mn={x:(gn+Gt)/2,y:(yn+Jt)/2};ve.nodes.forEach(Hn=>{Hn.data.x-=Mn.x,Hn.data.y-=Mn.y});const rr=[Math.max(gn-Gt,Fe)+se*2,Math.max(yn-Jt,Fe)+se*2];o.get(P.id).data.size=rr,o.get(P.id).data.nodes=ue}))}return!0},"BT",t),A.push(x)}),A}}function gG(i,e,t,n){var r;return(0,za.mG)(this,void 0,void 0,function*(){return uP(i)?(i.execute(e,t),i.stop(),i.tick((r=t.iterations)!==null&&r!==void 0?r:300)):n?yield i.assign(e,t):yield i.execute(e,t)})}var ive=v(31136),sve=v(84365),ave=v(32575),ove=v(33039),lve=v(54774),cve=v(34123),uve=v(97468),hve=v(74515);class dve{constructor(e){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:ive.Z,manyBody:sve.Z,center:ave.Z,collide:ove.Z,radial:lve.Z,x:cve.Z,y:uve.Z},this.options={link:{id:t=>t.id},manyBody:{},center:{x:0,y:0}},this.context={options:{},assign:!1,nodes:[],edges:[]},(0,Xg.Z)(this.options,e),this.options.forceSimulation&&(this.simulation=this.options.forceSimulation)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericLayout(!0,e,t)})}stop(){this.simulation.stop()}tick(e){return this.simulation.tick(e),this.getResult()}restart(){this.simulation.restart()}setFixedPosition(e,t){const n=this.context.nodes.find(r=>r.id===e);n&&t.forEach((r,s)=>{if(typeof r=="number"||r===null){const a=["fx","fy","fz"][s];n[a]=r}})}getOptions(e){var t,n;const r=(0,Xg.Z)({},this.options,e);return r.collide&&((t=r.collide)===null||t===void 0?void 0:t.radius)===void 0&&(r.collide=r.collide||{},r.collide.radius=(n=r.nodeSize)!==null&&n!==void 0?n:10),r.iterations===void 0&&(r.link&&r.link.iterations===void 0&&(r.iterations=r.link.iterations),r.collide&&r.collide.iterations===void 0&&(r.iterations=r.collide.iterations)),this.context.options=r,r}genericLayout(e,t,n){var r;return(0,za.mG)(this,void 0,void 0,function*(){const s=this.getOptions(n),a=t.getAllNodes().map(({id:u,data:h})=>Object.assign(Object.assign({id:u},h),(0,Kv.Z)(h.data,this.config.inputNodeAttrs))),o=t.getAllEdges().map(u=>Object.assign({},u));Object.assign(this.context,{assign:e,nodes:a,edges:o,graph:t});const l=new Promise(u=>{this.resolver=u}),c=this.setSimulation(s);return c.nodes(a),(r=c.force("link"))===null||r===void 0||r.links(o),l})}getResult(){const{assign:e,nodes:t,edges:n,graph:r}=this.context,s=t.map(o=>({id:o.id,data:Object.assign(Object.assign({},o.data),(0,Kv.Z)(o,this.config.outputNodeAttrs))})),a=n.map(({id:o,source:l,target:c,data:u})=>({id:o,source:typeof l=="object"?l.id:l,target:typeof c=="object"?c.id:c,data:u}));return e&&s.forEach(o=>r.mergeNodeData(o.id,o.data)),{nodes:s,edges:a}}initSimulation(){return(0,hve.Z)()}setSimulation(e){const t=this.simulation||this.options.forceSimulation||this.initSimulation();return this.simulation||(this.simulation=t.on("tick",()=>{var n;return(n=e.onTick)===null||n===void 0?void 0:n.call(e,this.getResult())}).on("end",()=>{var n;return(n=this.resolver)===null||n===void 0?void 0:n.call(this,this.getResult())})),mG(t,this.config.simulationAttrs.map(n=>[n,e[n]])),Object.entries(this.forceMap).forEach(([n,r])=>{const s=n;if(e[n]){let a=t.force(s);a||(a=r(),t.force(s,a)),mG(a,Object.entries(e[s]))}else t.force(s,null)}),t}}const mG=(i,e)=>e.reduce((t,[n,r])=>!t[n]||r===void 0?t:t[n].call(i,r),i);var vG=v(92546),fve=v.n(vG);function Ave(i){if(!i)return[0,0,0];if((0,fa.Z)(i))return[i,i,i];if(i.length===0)return[0,0,0];const[e,t=e,n=e]=i;return[e,t,n]}class WC{constructor(e){this.id="dagre",this.options={},Object.assign(this.options,WC.defaultOptions,e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericDagreLayout(!1,e,Object.assign(Object.assign({},this.options),t))})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericDagreLayout(!0,e,Object.assign(Object.assign({},this.options),t))})}genericDagreLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const{nodeSize:r}=n,s=new vG.graphlib.Graph;s.setGraph(n),s.setDefaultEdgeLabel(()=>({}));const a=t.getAllNodes(),o=t.getAllEdges();[...a,...o].some(({id:c})=>(0,fa.Z)(c))&&console.error("Dagre layout only support string id, it will convert number to string."),t.getAllNodes().forEach(c=>{const{id:u}=c,h=Object.assign({},c.data);if(r!==void 0){const[d,f]=Ave((0,Ra.Z)(r)?r(c):r);Object.assign(h,{width:d,height:f})}s.setNode(u.toString(),h)}),t.getAllEdges().forEach(({id:c,source:u,target:h})=>{s.setEdge(u.toString(),h.toString(),{id:c})}),fve().layout(s);const l={nodes:[],edges:[]};return s.nodes().forEach(c=>{const u=s.node(c);l.nodes.push({id:c,data:u}),e&&t.mergeNodeData(c,u)}),s.edges().forEach(c=>{const u=s.edge(c),{id:h}=u,d=(0,za._T)(u,["id"]),{v:f,w:A}=c;l.edges.push({id:h,source:f,target:A,data:d}),e&&t.mergeEdgeData(h,d)}),l})}}WC.defaultOptions={};class hP{constructor(e){this.id=e.id||0,this.rx=e.rx,this.ry=e.ry,this.fx=0,this.fy=0,this.mass=e.mass,this.degree=e.degree,this.g=e.g||0}distanceTo(e){const t=this.rx-e.rx,n=this.ry-e.ry;return Math.hypot(t,n)}setPos(e,t){this.rx=e,this.ry=t}resetForce(){this.fx=0,this.fy=0}addForce(e){const t=e.rx-this.rx,n=e.ry-this.ry;let r=Math.hypot(t,n);r=r<1e-4?1e-4:r;const s=this.g*(this.degree+1)*(e.degree+1)/r;this.fx+=s*t/r,this.fy+=s*n/r}in(e){return e.contains(this.rx,this.ry)}add(e){const t=this.mass+e.mass,n=(this.rx*this.mass+e.rx*e.mass)/t,r=(this.ry*this.mass+e.ry*e.mass)/t,s=this.degree+e.degree,a={rx:n,ry:r,mass:t,degree:s};return new hP(a)}}class qx{constructor(e){this.xmid=e.xmid,this.ymid=e.ymid,this.length=e.length,this.massCenter=e.massCenter||[0,0],this.mass=e.mass||1}getLength(){return this.length}contains(e,t){const n=this.length/2;return e<=this.xmid+n&&e>=this.xmid-n&&t<=this.ymid+n&&t>=this.ymid-n}NW(){const e=this.xmid-this.length/4,t=this.ymid+this.length/4,n=this.length/2,r={xmid:e,ymid:t,length:n};return new qx(r)}NE(){const e=this.xmid+this.length/4,t=this.ymid+this.length/4,n=this.length/2,r={xmid:e,ymid:t,length:n};return new qx(r)}SW(){const e=this.xmid-this.length/4,t=this.ymid-this.length/4,n=this.length/2,r={xmid:e,ymid:t,length:n};return new qx(r)}SE(){const e=this.xmid+this.length/4,t=this.ymid-this.length/4,n=this.length/2,r={xmid:e,ymid:t,length:n};return new qx(r)}}class Jx{constructor(e){this.body=null,this.quad=null,this.NW=null,this.NE=null,this.SW=null,this.SE=null,this.theta=.5,e!=null&&(this.quad=e)}insert(e){if(this.body==null){this.body=e;return}this._isExternal()?(this.quad&&(this.NW=new Jx(this.quad.NW()),this.NE=new Jx(this.quad.NE()),this.SW=new Jx(this.quad.SW()),this.SE=new Jx(this.quad.SE())),this._putBody(this.body),this._putBody(e),this.body=this.body.add(e)):(this.body=this.body.add(e),this._putBody(e))}_putBody(e){this.quad&&(e.in(this.quad.NW())&&this.NW?this.NW.insert(e):e.in(this.quad.NE())&&this.NE?this.NE.insert(e):e.in(this.quad.SW())&&this.SW?this.SW.insert(e):e.in(this.quad.SE())&&this.SE&&this.SE.insert(e))}_isExternal(){return this.NW==null&&this.NE==null&&this.SW==null&&this.SE==null}updateForce(e){if(!(this.body==null||e===this.body))if(this._isExternal())e.addForce(this.body);else{const t=this.quad?this.quad.getLength():0,n=this.body.distanceTo(e);t/nuf(x,[o,l])),A=r.filter(x=>{const{source:P,target:k}=x;return P!==k}),y=new Iu.k({nodes:f,edges:A}),b=this.getSizes(y,t,h);if(this.run(y,t,u,b,e,a),c){for(let P=0;P250&&(n.barnesHut=!0),l===void 0&&t>100&&(n.prune=!0),c===0&&!l?(n.maxIteration=250,t<=200&&t>100?n.maxIteration=1e3:t>200&&(n.maxIteration=1200)):c===0&&l&&(n.maxIteration=100,t<=200&&t>100?n.maxIteration=500:t>200&&(n.maxIteration=950)),u||(n.kr=50,t>100&&t<=500?n.kr=20:t>500&&(n.kr=1)),h||(n.kg=20,t>100&&t<=500?n.kg=10:t>500&&(n.kg=1)),n}run(e,t,n,r,s,a){const{kr:o,barnesHut:l,onTick:c}=a,u=e.getAllNodes();let h=0,d=n;const f={},A={},y={};for(let b=0;b0;)h=this.oneStep(e,{iter:d,preventOverlapIters:50,krPrime:100,sg:h,forces:f,preForces:A,bodies:y,sizes:r},a),d--,c==null||c({nodes:u,edges:t.getAllEdges()});return e}oneStep(e,t,n){const{iter:r,preventOverlapIters:s,krPrime:a,sg:o,preForces:l,bodies:c,sizes:u}=t;let{forces:h}=t;const{preventOverlap:d,barnesHut:f}=n,A=e.getAllNodes();for(let y=0;ys||!d)?h=this.getOptRepGraForces(e,h,c,n):h=this.getRepGraForces(e,r,s,h,a,u,n),this.updatePos(e,h,l,o,n)}getAttrForces(e,t,n,r,s,a){const{preventOverlap:o,dissuadeHubs:l,mode:c,prune:u}=a,h=e.getAllEdges();for(let d=0;d0&&(se=$,ie=$),s[f][0]+=se*k[0],s[A][0]-=ie*k[0],s[f][1]+=se*k[1],s[A][1]-=ie*k[1]}return s}getOptRepGraForces(e,t,n,r){const{kg:s,center:a,prune:o}=r,l=e.getAllNodes(),c=l.length;let u=9e10,h=-9e10,d=9e10,f=-9e10;for(let P=0;P=h&&(h=$.x),$.x<=u&&(u=$.x),$.y>=f&&(f=$.y),$.y<=d&&(d=$.y))}const A=Math.max(h-u,f-d),y={xmid:(h+u)/2,ymid:(f+d)/2,length:A,massCenter:a,mass:c},b=new qx(y),x=new Jx(b);for(let P=0;P0&&(Fe=c*(x+1)*(ce+1)/ve),r[b.id][0]-=Fe*ue[0],r[ie.id][0]+=Fe*ue[0],r[b.id][1]-=Fe*ue[1],r[ie.id][1]+=Fe*ue[1]}const P=[b.data.x-h[0],b.data.y-h[1]],k=Math.hypot(P[0],P[1]);P[0]=P[0]/k,P[1]=P[1]/k;const $=u*(x+1);r[b.id][0]-=$*P[0],r[b.id][1]-=$*P[1]}return r}updatePos(e,t,n,r,s){const{ks:a,tao:o,prune:l,ksmax:c}=s,u=e.getAllNodes(),h=u.length,d=[],f=[];let A=0,y=0,b=r;for(let P=0;P1.5*x?1.5*x:b);for(let P=0;Pue?ue:ie;const ve=ie*t[k][0],Fe=ie*t[k][1];e.mergeNodeData(k,{x:$.x+ve,y:$.y+Fe})}return b}}const mve={maxIteration:1e3,gravity:10,speed:5,clustering:!1,clusterGravity:10,width:300,height:300,nodeClusterBy:"cluster"},vve=800;class yve{constructor(e={}){this.options=e,this.id="fruchterman",this.timeInterval=0,this.running=!1,this.options=Object.assign(Object.assign({},mve),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericFruchtermanLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericFruchtermanLayout(!0,e,t)})}stop(){this.timeInterval&&typeof window!="undefined"&&window.clearInterval(this.timeInterval),this.running=!1}tick(e=this.options.maxIteration||1){if(this.lastResult)return this.lastResult;for(let n=0;nthis.lastGraph.mergeNodeData(n.id,{x:n.data.x,y:n.data.y,z:this.options.dimensions===3?n.data.z:void 0})),t}genericFruchtermanLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){if(this.running)return;const r=this.formatOptions(n),{dimensions:s,width:a,height:o,center:l,clustering:c,nodeClusterBy:u,maxIteration:h,onTick:d}=r,f=t.getAllNodes(),A=t.getAllEdges();if(!(f!=null&&f.length)){const k={nodes:[],edges:A};return this.lastResult=k,k}if(f.length===1){e&&t.mergeNodeData(f[0].id,{x:l[0],y:l[1],z:s===3?l[2]:void 0});const k={nodes:[Object.assign(Object.assign({},f[0]),{data:Object.assign(Object.assign({},f[0].data),{x:l[0],y:l[1],z:s===3?l[2]:void 0})})],edges:A};return this.lastResult=k,k}const y=f.map(k=>uf(k,[a,o])),b=new Iu.k({nodes:y,edges:A}),x={};if(c&&y.forEach(k=>{const $=k.data[u];x[$]||(x[$]={name:$,cx:0,cy:0,count:0})}),this.lastLayoutNodes=y,this.lastLayoutEdges=A,this.lastAssign=e,this.lastGraph=b,this.lastOptions=r,this.lastClusterMap=x,typeof window=="undefined")return;let P=0;return new Promise(k=>{this.timeInterval=window.setInterval(()=>{if(!this.running){k({nodes:y,edges:A});return}this.runOneStep(b,x,r),e&&y.forEach(({id:$,data:se})=>t.mergeNodeData($,{x:se.x,y:se.y,z:s===3?se.z:void 0})),d==null||d({nodes:y,edges:A}),P++,P>=h&&(window.clearInterval(this.timeInterval),k({nodes:y,edges:A}))},0),this.running=!0})})}formatOptions(e={}){const t=Object.assign(Object.assign({},this.options),e),{clustering:n,nodeClusterBy:r}=t,{center:s,width:a,height:o}=t;return t.width=!a&&typeof window!="undefined"?window.innerWidth:a,t.height=!o&&typeof window!="undefined"?window.innerHeight:o,t.center=s||[t.width/2,t.height/2],t.clustering=n&&!!r,t}runOneStep(e,t,n){const{dimensions:r,height:s,width:a,gravity:o,center:l,speed:c,clustering:u,nodeClusterBy:h,clusterGravity:d}=n,f=s*a,A=Math.sqrt(f)/10,y=e.getAllNodes(),b=f/(y.length+1),x=Math.sqrt(b),P={};if(this.applyCalculate(e,P,x,b),u){for(const $ in t)t[$].cx=0,t[$].cy=0,t[$].count=0;y.forEach($=>{const{data:se}=$,ie=t[se[h]];(0,fa.Z)(se.x)&&(ie.cx+=se.x),(0,fa.Z)(se.y)&&(ie.cy+=se.y),ie.count++});for(const $ in t)t[$].cx/=t[$].count,t[$].cy/=t[$].count;const k=d||o;y.forEach(($,se)=>{const{id:ie,data:ce}=$;if(!(0,fa.Z)(ce.x)||!(0,fa.Z)(ce.y))return;const ue=t[ce[h]],ve=Math.sqrt((ce.x-ue.cx)*(ce.x-ue.cx)+(ce.y-ue.cy)*(ce.y-ue.cy)),Fe=x*k;P[ie].x-=Fe*(ce.x-ue.cx)/ve,P[ie].y-=Fe*(ce.y-ue.cy)/ve})}y.forEach((k,$)=>{const{id:se,data:ie}=k;if(!(0,fa.Z)(ie.x)||!(0,fa.Z)(ie.y))return;const ce=.01*x*o;P[se].x-=ce*(ie.x-l[0]),P[se].y-=ce*(ie.y-l[1]),r===3&&(P[se].z-=ce*(ie.z-l[2]))}),y.forEach((k,$)=>{const{id:se,data:ie}=k;if((0,fa.Z)(ie.fx)&&(0,fa.Z)(ie.fy)){ie.x=ie.fx,ie.y=ie.fy,r===3&&(ie.z=ie.fz);return}if(!(0,fa.Z)(ie.x)||!(0,fa.Z)(ie.y))return;const ce=Math.sqrt(P[se].x*P[se].x+P[se].y*P[se].y+(r===3?P[se].z*P[se].z:0));if(ce>0){const ue=Math.min(A*(c/vve),ce);e.mergeNodeData(se,{x:ie.x+P[se].x/ce*ue,y:ie.y+P[se].y/ce*ue,z:r===3?ie.z+P[se].z/ce*ue:void 0})}})}applyCalculate(e,t,n,r){this.calRepulsive(e,t,r),this.calAttractive(e,t,n)}calRepulsive(e,t,n){const r=e.getAllNodes();r.forEach(({data:s,id:a},o)=>{t[a]={x:0,y:0,z:0},r.forEach(({data:l,id:c},u)=>{if(o<=u||!(0,fa.Z)(s.x)||!(0,fa.Z)(l.x)||!(0,fa.Z)(s.y)||!(0,fa.Z)(l.y))return;let h=s.x-l.x,d=s.y-l.y,f=this.options.dimensions===3?s.z-l.z:0,A=h*h+d*d+f*f;A===0&&(A=1,h=.01,d=.01,f=.01);const y=n/A,b=h*y,x=d*y,P=f*y;t[a].x+=b,t[a].y+=x,t[c].x-=b,t[c].y-=x,this.options.dimensions===3&&(t[a].z+=P,t[c].z-=P)})})}calAttractive(e,t,n){e.getAllEdges().forEach(s=>{const{source:a,target:o}=s;if(!a||!o||a===o)return;const{data:l}=e.getNode(a),{data:c}=e.getNode(o);if(!(0,fa.Z)(c.x)||!(0,fa.Z)(l.x)||!(0,fa.Z)(c.y)||!(0,fa.Z)(l.y))return;const u=c.x-l.x,h=c.y-l.y,d=this.options.dimensions===3?c.z-l.z:0,f=Math.sqrt(u*u+h*h+d*d)/n,A=u*f,y=h*f,b=d*f;t[a].x+=A,t[a].y+=y,t[o].x-=A,t[o].y-=y,this.options.dimensions===3&&(t[a].z+=b,t[o].z-=b)})}}const xve={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 bve{constructor(e={}){this.options=e,this.id="grid",this.options=Object.assign(Object.assign({},xve),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericGridLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericGridLayout(!0,e,t)})}genericGridLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{begin:s=[0,0],condense:a,preventOverlapPadding:o,preventOverlap:l,rows:c,cols:u,nodeSpacing:h,nodeSize:d,width:f,height:A,position:y}=r;let{sortBy:b}=r;const x=t.getAllNodes(),P=t.getAllEdges(),k=x==null?void 0:x.length;if(!k||k===1)return qv(t,e,s);const $=x.map(yn=>uf(yn));b!=="id"&&(!(0,TA.Z)(b)||$[0].data[b]===void 0)&&(b="degree"),b==="degree"?$.sort((yn,Mn)=>t.getDegree(Mn.id,"both")-t.getDegree(yn.id,"both")):b==="id"?$.sort((yn,Mn)=>(0,fa.Z)(Mn.id)&&(0,fa.Z)(yn.id)?Mn.id-yn.id:`${yn.id}`.localeCompare(`${Mn.id}`)):$.sort((yn,Mn)=>Mn.data[b]-yn.data[b]);const se=!f&&typeof window!="undefined"?window.innerWidth:f,ie=!A&&typeof window!="undefined"?window.innerHeight:A,ce=k,ue={rows:c,cols:u};if(c!=null&&u!=null)ue.rows=c,ue.cols=u;else if(c!=null&&u==null)ue.rows=c,ue.cols=Math.ceil(ce/ue.rows);else if(c==null&&u!=null)ue.cols=u,ue.rows=Math.ceil(ce/ue.cols);else{const yn=Math.sqrt(ce*ie/se);ue.rows=Math.round(yn),ue.cols=Math.round(se/ie*yn)}if(ue.rows=Math.max(ue.rows,1),ue.cols=Math.max(ue.cols,1),ue.cols*ue.rows>ce){const yn=ZC(ue),Mn=$C(ue);(yn-1)*Mn>=ce?ZC(ue,yn-1):(Mn-1)*yn>=ce&&$C(ue,Mn-1)}else for(;ue.cols*ue.rows=ce?$C(ue,Mn+1):ZC(ue,yn+1)}let ve=a?0:se/ue.cols,Fe=a?0:ie/ue.rows;if(l||h){const yn=A0(10,h),Mn=aG(30,d,!1);$.forEach(rr=>{(!rr.data.x||!rr.data.y)&&(rr.data.x=0,rr.data.y=0);const Hn=t.getNode(rr.id),Er=Mn(Hn)||30;let Hr,qn;rd(Er)?(Hr=Er[0],qn=Er[1]):(Hr=Er,qn=Er);const Jr=yn!==void 0?yn(rr):o,gi=Hr+Jr,Zi=qn+Jr;ve=Math.max(ve,gi),Fe=Math.max(Fe,Zi)})}const nt={},Gt={row:0,col:0},Jt={};for(let yn=0;yn<$.length;yn++){const Mn=$[yn];let rr;if(y&&(rr=y(t.getNode(Mn.id))),rr&&(rr.row!==void 0||rr.col!==void 0)){const Hn={row:rr.row,col:rr.col};if(Hn.col===void 0)for(Hn.col=0;dP(nt,Hn);)Hn.col++;else if(Hn.row===void 0)for(Hn.row=0;dP(nt,Hn);)Hn.row++;Jt[Mn.id]=Hn,yG(nt,Hn)}_ve(Mn,s,ve,Fe,Jt,ue,Gt,nt)}const gn={nodes:$,edges:P};return e&&$.forEach(yn=>{t.mergeNodeData(yn.id,{x:yn.data.x,y:yn.data.y})}),gn})}}const ZC=(i,e)=>{let t;const n=i.rows||5,r=i.cols||5;return e==null?t=Math.min(n,r):Math.min(n,r)===i.rows?i.rows=e:i.cols=e,t},$C=(i,e)=>{let t;const n=i.rows||5,r=i.cols||5;return e==null?t=Math.max(n,r):Math.max(n,r)===i.rows?i.rows=e:i.cols=e,t},dP=(i,e)=>i[`c-${e.row}-${e.col}`]||!1,yG=(i,e)=>i[`c-${e.row}-${e.col}`]=!0,xG=(i,e)=>{const t=i.cols||5;e.col++,e.col>=t&&(e.col=0,e.row++)},_ve=(i,e,t,n,r,s,a,o)=>{let l,c;const u=r[i.id];if(u)l=u.col*t+t/2+e[0],c=u.row*n+n/2+e[1];else{for(;dP(o,a);)xG(s,a);l=a.col*t+t/2+e[0],c=a.row*n+n/2+e[1],yG(o,a),xG(s,a)}i.data.x=l,i.data.y=c},wve=(i,e,t)=>{try{const n=Hp.y3.mul(Hp.y3.pow(e,2),-.5),r=n.mean("row"),s=n.mean("column"),a=n.mean();n.add(a).subRowVector(r).subColumnVector(s);const o=new Hp.Sc(n),l=Hp.y3.sqrt(o.diagonalMatrix).diagonal();return o.leftSingularVectors.toJSON().map(c=>Hp.y3.mul([c],[l]).toJSON()[0].splice(0,i))}catch(n){const r=[];for(let s=0;s{const t=Object.assign(Object.assign({},Sve),e),{positions:n,iterations:r,width:s,k:a,speed:o=100,strictRadial:l,focusIdx:c,radii:u=[],nodeSizeFunc:h}=t,d=i.getAllNodes(),f=[],A=s/10;for(let y=0;y{f[x]={x:0,y:0}}),Mve(d,n,f,a,u,h),Tve(n,f,o,l,c,A,s,u);return n},Mve=(i,e,t,n,r,s)=>{e.forEach((a,o)=>{t[o]={x:0,y:0},e.forEach((l,c)=>{if(o===c||r[o]!==r[c])return;let u=a.x-l.x,h=a.y-l.y,d=Math.sqrt(u*u+h*h);if(d===0){d=1;const f=o>c?1:-1;u=.01*f,h=.01*f}if(d{const l=s||a/10;return n&&e.forEach((c,u)=>{const h=i[u].x-i[r].x,d=i[u].y-i[r].y,f=Math.sqrt(h*h+d*d);let A=d/f,y=-h/f;const b=Math.sqrt(c.x*c.x+c.y*c.y);let x=Math.acos((A*c.x+y*c.y)/b);x>Math.PI/2&&(x-=Math.PI/2,A*=-1,y*=-1);const P=Math.cos(x)*b;c.x=A*P,c.y=y*P}),i.forEach((c,u)=>{if(u===r)return;const h=Math.sqrt(e[u].x*e[u].x+e[u].y*e[u].y);if(h>0&&u!==r){const d=Math.min(l*(t/Eve),h);if(c.x+=e[u].x/h*d,c.y+=e[u].y/h*d,n){let f=c.x-i[r].x,A=c.y-i[r].y;const y=Math.sqrt(f*f+A*A);f=f/y*o[u],A=A/y*o[u],c.x=i[r].x+f,c.y=i[r].y+A}}}),i},Bve={maxIteration:1e3,focusNode:null,unitRadius:null,linkDistance:50,preventOverlap:!1,strictRadial:!0,maxPreventOverlapIteration:200,sortStrength:10};class Rve{constructor(e={}){this.options=e,this.id="radial",this.options=Object.assign(Object.assign({},Bve),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericRadialLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericRadialLayout(!0,e,t)})}genericRadialLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{width:s,height:a,center:o,focusNode:l,unitRadius:c,nodeSize:u,nodeSpacing:h,strictRadial:d,preventOverlap:f,maxPreventOverlapIteration:A,sortBy:y,linkDistance:b=50,sortStrength:x=10,maxIteration:P=1e3}=r,k=t.getAllNodes(),$=t.getAllEdges(),se=!s&&typeof window!="undefined"?window.innerWidth:s,ie=!a&&typeof window!="undefined"?window.innerHeight:a,ce=o||[se/2,ie/2];if(!(k!=null&&k.length)||k.length===1)return qv(t,e,ce);let ue=k[0];if((0,TA.Z)(l)){for(let Sr=0;Srce[0]?ce[0]:se-ce[0],yn=ie-ce[1]>ce[1]?ce[1]:ie-ce[1];gn===0&&(gn=se/2),yn===0&&(yn=ie/2);const Mn=Math.min(gn,yn),rr=Math.max(...Jt),Hn=[],Er=c||Mn/rr;Jt.forEach((Sr,Ri)=>{Hn[Ri]=Sr*Er});const Hr=Ive(k,nt,b,Hn,Er,y,x),qn=Nve(Hr),Jr=wve(b,Hr,b);let gi=Jr.map(([Sr,Ri])=>({x:(isNaN(Sr)?Math.random()*b:Sr)-Jr[ve][0],y:(isNaN(Ri)?Math.random()*b:Ri)-Jr[ve][1]}));this.run(P,gi,qn,Hr,Hn,ve);let Zi;if(f){Zi=oG(u,h);const Sr={nodes:k,nodeSizeFunc:Zi,positions:gi,radii:Hn,height:ie,width:se,strictRadial:!!d,focusIdx:ve,iterations:A||200,k:gi.length/4.5};gi=Cve(t,Sr)}const Xr=[];return gi.forEach((Sr,Ri)=>{const xi=uf(k[Ri]);xi.data.x=Sr.x+ce[0],xi.data.y=Sr.y+ce[1],Xr.push(xi)}),e&&Xr.forEach(Sr=>t.mergeNodeData(Sr.id,{x:Sr.data.x,y:Sr.data.y})),{nodes:Xr,edges:$}})}run(e,t,n,r,s,a){for(let o=0;o<=e;o++){const l=o/e;this.oneIteration(l,t,s,r,n,a)}}oneIteration(e,t,n,r,s,a){const o=1-e;t.forEach((l,c)=>{const u=AG(l,{x:0,y:0}),h=u===0?0:1/u;if(c===a)return;let d=0,f=0,A=0;t.forEach((b,x)=>{if(c===x)return;const P=AG(l,b),k=P===0?0:1/P,$=r[x][c];A+=s[c][x],d+=s[c][x]*(b.x+$*(l.x-b.x)*k),f+=s[c][x]*(b.y+$*(l.y-b.y)*k)});const y=n[c]===0?0:1/n[c];A*=o,A+=e*y*y,d*=o,d+=e*y*l.x*h,l.x=d/A,f*=o,f+=e*y*l.y*h,l.y=f/A})}}const Ive=(i,e,t,n,r,s,a)=>{if(!i)return[];const o=[];if(e){const l={};e.forEach((c,u)=>{const h=[];c.forEach((d,f)=>{var A,y;if(u===f)h.push(0);else if(n[u]===n[f])if(s==="data")h.push(d*(Math.abs(u-f)*a)/(n[u]/r));else if(s){let b,x;if(l[i[u].id])b=l[i[u].id];else{const P=(s==="id"?i[u].id:(A=i[u].data)===null||A===void 0?void 0:A[s])||0;(0,TA.Z)(P)?b=P.charCodeAt(0):b=P,l[i[u].id]=b}if(l[i[f].id])x=l[i[f].id];else{const P=(s==="id"?i[f].id:(y=i[f].data)===null||y===void 0?void 0:y[s])||0;(0,TA.Z)(P)?x=P.charCodeAt(0):x=P,l[i[f].id]=x}h.push(d*(Math.abs(b-x)*a)/(n[u]/r))}else h.push(d*t/(n[u]/r));else{const b=(t+r)/2;h.push(d*b)}}),o.push(h)})}return o},Nve=i=>{const e=i.length,t=i[0].length,n=[];for(let r=0;r{let t=-1;return i.forEach((n,r)=>{n.id===e&&(t=r)}),Math.max(t,0)},Fve=(i,e,t)=>{const n=i.length;for(let r=0;r{let t=0;for(let n=0;nt?i[e][n]:t);return t},Lve={center:[0,0],width:300,height:300};class Dve{constructor(e={}){this.options=e,this.id="random",this.options=Object.assign(Object.assign({},Lve),e)}execute(e,t){return(0,za.mG)(this,void 0,void 0,function*(){return this.genericRandomLayout(!1,e,t)})}assign(e,t){return(0,za.mG)(this,void 0,void 0,function*(){yield this.genericRandomLayout(!0,e,t)})}genericRandomLayout(e,t,n){return(0,za.mG)(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},this.options),n),{center:s,width:a,height:o}=r,l=t.getAllNodes(),c=.9,u=!a&&typeof window!="undefined"?window.innerWidth:a,h=!o&&typeof window!="undefined"?window.innerHeight:o,d=s||[u/2,h/2],f=[];return l&&l.forEach(y=>{f.push({id:y.id,data:{x:(Math.random()-.5)*c*u+d[0],y:(Math.random()-.5)*c*h+d[1]}})}),e&&f.forEach(y=>t.mergeNodeData(y.id,{x:y.data.x,y:y.data.y})),{nodes:f,edges:t.getAllEdges()}})}}const Uve=["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)"],kve=["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)"],zve=["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)"],Vve=["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)"],Hve=["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 bG=v(92387);const eb=i=>i?parseInt(i):0;function Gve(i){const e=getComputedStyle(i),t=i.clientWidth||eb(e.width),n=i.clientHeight||eb(e.height),r=eb(e.paddingLeft)+eb(e.paddingRight),s=eb(e.paddingTop)+eb(e.paddingBottom);return[t-r,n-s]}function _G(i){let e=640,t=480;const[n,r]=Gve(i);e=n||e,t=r||t;const s=1,a=1;return[Math.max((0,fa.Z)(e)?e:s,s),Math.max((0,fa.Z)(t)?t:a,a)]}function g1(i,e=!0,t){const n=document.createElement("div");return n.setAttribute("class",`g6-${i}`),Object.assign(n.style,{position:"absolute",display:"block"}),e&&Object.assign(n.style,{inset:"0px",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none"}),t&&Object.assign(n.style,t),n}function fP(i,e="div",t={},n="",r=document.body){const s=document.getElementById(i);s&&s.remove();const a=document.createElement(e);return a.innerHTML=n,a.id=i,Object.assign(a.style,t),r.appendChild(a),a}function Qve(i,e){const t=i.firstChild;t?i.insertBefore(e,t):i.appendChild(e)}class uh extends TN{}var Wve=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class jC extends uh{constructor(e,t){super(e,Object.assign({},jC.defaultOptions,t)),this.$element=g1("background"),this.context.canvas.getContainer().prepend(this.$element),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return Wve(this,void 0,void 0,function*(){t.update.call(this,e),Object.assign(this.$element.style,(0,bG.Z)(this.options,["key","type"]))})}destroy(){super.destroy(),this.$element.remove()}}jC.defaultOptions={transition:"background 0.5s",backgroundSize:"cover"};var tb=v(80574),Zve=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const{style:n,bubbleSetOptions:r}=this.parseOptions();(0,pu.Z)(this.bubbleSetOptions,r)||this.init(),this.bubbleSetOptions=Object.assign({},r);const s=Object.assign(Object.assign({},n),{d:this.getPath()});this.shape?this.shape.update(s):(this.shape=new c1({style:s}),this.context.canvas.appendChild(this.shape))},this.updateBubbleSetsPath=n=>{if(!this.shape)return;const r=Lr(n.data);[...this.options.members,...this.options.avoidMembers].includes(r)&&this.shape.update(Object.assign(Object.assign({},this.parseOptions().style),{d:this.getPath(r)}))},this.getPath=n=>{const{graph:r}=this.context,s=this.options.members,a=[...this.members.keys()],o=this.options.avoidMembers,l=[...this.avoidMembers.keys()];if(!n&&(0,pu.Z)(s,a)&&(0,pu.Z)(o,l))return this.path;const{enter:c=[],exit:u=[]}=o0(a,s,b=>b),{enter:h=[],exit:d=[]}=o0(l,o,b=>b);n&&(u.push(n),c.push(n));const f=(b,x,P)=>{b.forEach(k=>{const $=P?this.members:this.avoidMembers,se=P?"pushMember":"pushNonMember",ie=P?"removeMember":"removeNonMember";if(x){let ce;r.getElementType(k)==="edge"?([ce]=jve(r,k),this.bubbleSets.pushEdge(ce)):([ce]=$ve(r,k),this.bubbleSets[se](ce)),$.set(k,ce)}else{const ce=$.get(k);ce&&(r.getElementType(k)==="edge"?this.bubbleSets.removeEdge(ce):this.bubbleSets[ie](ce),$.delete(k))}})};f(u,!1,!0),f(c,!0,!0),f(d,!1,!1),f(h,!0,!1);const y=this.bubbleSets.compute().sample(8).simplify(0).bSplines().simplify(0);return this.path=W6(y.points.map(ch)),this.path},this.bindEvents(),this.bubbleSets=new tb.CF(this.options)}bindEvents(){this.context.graph.on(fs.AFTER_RENDER,this.drawBubbleSets),this.context.graph.on(fs.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath)}init(){this.bubbleSets=new tb.CF(this.options),this.members=new Map,this.avoidMembers=new Map}parseOptions(){const e=this.options,{type:t,key:n,members:r,avoidMembers:s}=e,a=Zve(e,["type","key","members","avoidMembers"]),o=Object.keys(a).reduce((l,c)=>(c in tb.vC?l.bubbleSetOptions[c]=a[c]:l.style[c]=a[c],l),{style:{},bubbleSetOptions:{}});return Object.assign({type:t,key:n,members:r,avoidMembers:s},o)}addMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.avoidMembers.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n))),this.options.members=[...new Set([...this.options.members,...t])],this.drawBubbleSets()}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),this.drawBubbleSets()}updateMember(e){this.options.members=(0,Ra.Z)(e)?e(this.options.members):e,this.drawBubbleSets()}getMember(){return this.options.members}addAvoidMember(e){const t=Array.isArray(e)?e:[e];t.some(n=>this.options.members.includes(n))&&(this.options.members=this.options.members.filter(n=>!t.includes(n))),this.options.avoidMembers=[...new Set([...this.options.avoidMembers,...t])],this.drawBubbleSets()}removeAvoidMember(e){const t=Array.isArray(e)?e:[e];this.options.avoidMembers.some(n=>t.includes(n))&&(this.options.avoidMembers=this.options.avoidMembers.filter(n=>!t.includes(n)),this.drawBubbleSets())}updateAvoidMember(e){this.options.avoidMembers=Array.isArray(e)?e:[e],this.drawBubbleSets()}getAvoidMember(){return this.options.avoidMembers}destroy(){this.context.graph.off(fs.AFTER_RENDER,this.drawBubbleSets),this.context.graph.off(fs.AFTER_ELEMENT_UPDATE,this.updateBubbleSetsPath),this.shape.destroy(),super.destroy()}}KC.defaultOptions=Object.assign({members:[],avoidMembers:[],fill:"lightblue",fillOpacity:.2,stroke:"blue",strokeOpacity:.2},tb.vC);const $ve=(i,e)=>(Array.isArray(e)?e:[e]).map(n=>{const r=i.getElementRenderBounds(n);return new tb.Ae(r.min[0],r.min[1],zp(r),Vp(r))}),jve=(i,e)=>(Array.isArray(e)?e:[e]).map(n=>{const r=i.getEdgeData(n),s=i.getElementPosition(r.source),a=i.getElementPosition(r.target);return tb.x1.from({x1:s[0],y1:s[1],x2:a[0],y2:a[1]})});class aMe extends null{constructor(e,t){super(e,t),this.setOptions=n=>{const r={cameraType:"setType",near:"setNear",far:"setFar",fov:"setFov",aspect:"setAspect",projectionMode:"setProjectionMode",distance:"setDistance",minDistance:"setMinDistance",maxDistance:"setMaxDistance",roll:"setRoll",elevation:"setElevation",azimuth:"setAzimuth"},s=(a,o)=>{switch(a){case"projectionMode":return o==="perspective"?1:0;case"cameraType":return{orbiting:0,exploring:1,tracking:2}[o];case"aspect":return typeof o=="number"?o:this.getCanvasAspect();default:return o}};Object.entries(r).forEach(([a,o])=>{const l=n[a];if(l!==void 0){const c=s(a,l);this.context.canvas.getCamera()[o](c)}})},this.bindEvents()}update(e){this.setOptions(e),super.update(e)}bindEvents(){this.context.graph.once(GraphEvent.BEFORE_DRAW,()=>this.setOptions(this.options))}getCanvasAspect(){const[e,t]=this.context.viewport.getCanvasSize();return e/t}}function Kve(i){return` +
      + ${i.map(e=>`
    • ${e.name}
    • `).join("")} +
    + `}const Xve=` + .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 wG=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class XC extends uh{constructor(e,t){super(e,Object.assign({},XC.defaultOptions,t)),this.targetElement=null,this.onTriggerEvent=n=>{var r;(r=n.preventDefault)===null||r===void 0||r.call(n),this.show(n)},this.onMenuItemClick=n=>{const{onClick:r,trigger:s}=this.options;if(n.target instanceof HTMLElement&&n.target.className.includes("g6-contextmenu-li")){const a=n.target.getAttribute("value");r==null||r(a,n.target,this.targetElement),this.hide()}s!=="click"&&this.hide()},this.initElement(),this.update(t)}initElement(){this.$element=g1("contextmenu",!1,{zIndex:"99"});const{className:e}=this.options;e&&this.$element.classList.add(e),this.context.canvas.getContainer().appendChild(this.$element),fP("g6-contextmenu-css","style",{},Xve,document.head)}show(e){return wG(this,void 0,void 0,function*(){const{enable:t,offset:n}=this.options;if(typeof t=="function"&&!t(e)||!t){this.hide();return}const r=yield this.getDOMContent(e);r instanceof HTMLElement?(this.$element.innerHTML="",this.$element.appendChild(r)):this.$element.innerHTML=r;const s=this.context.graph.getCanvas().getContainer().getBoundingClientRect();this.$element.style.left=`${e.client.x-s.left+n[0]}px`,this.$element.style.top=`${e.client.y-s.top+n[1]}px`,this.$element.style.display="block",this.targetElement=e.target})}hide(){this.$element.style.display="none",this.targetElement=null}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),super.destroy(),this.$element.remove()}getDOMContent(e){return wG(this,void 0,void 0,function*(){const{getContent:t,getItems:n}=this.options;return n?Kve(yield n(e)):yield t(e)})}bindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.on(`canvas:${t}`,this.onTriggerEvent),e.on(`node:${t}`,this.onTriggerEvent),e.on(`edge:${t}`,this.onTriggerEvent),e.on(`combo:${t}`,this.onTriggerEvent),document.addEventListener("click",this.onMenuItemClick)}unbindEvents(){const{graph:e}=this.context,{trigger:t}=this.options;e.off(`canvas:${t}`,this.onTriggerEvent),e.off(`node:${t}`,this.onTriggerEvent),e.off(`edge:${t}`,this.onTriggerEvent),e.off(`combo:${t}`,this.onTriggerEvent),document.removeEventListener("click",this.onMenuItemClick)}}XC.defaultOptions={trigger:"contextmenu",offset:[4,4],loadingContent:'
    Loading...
    ',getContent:()=>"It is a empty context menu.",enable:()=>!0};class YC extends uh{constructor(e,t){super(e,Object.assign({},YC.defaultOptions,t)),this.edgeBundles={},this.edgePoints={},this.onBundle=()=>{const{model:n,element:r}=this.context,s=n.getEdgeData();this.divideEdges(this.options.divisions);const{cycles:a,iterRate:o,divRate:l}=this.options;let{lambda:c,divisions:u,iterations:h}=this.options;for(let d=0;d{var b;if(y.source===y.target)return;const x=Lr(y);A[x]=this.getEdgeForces(y,u,c);for(let P=0;P{const f=Lr(d),A=r.getElement(f);A==null||A.update({d:QN(this.edgePoints[f])})})},this.bindEvents()}get nodeMap(){const e=this.context.model.getNodeData();return Object.fromEntries(e.map(t=>[Lr(t),Wv(lh(t))]))}divideEdges(e){this.context.model.getEdgeData().forEach(n=>{var r;const s=Lr(n);(r=this.edgePoints)[s]||(r[s]=[]);const a=this.nodeMap[n.source],o=this.nodeMap[n.target];if(e===1)this.edgePoints[s].push(a),this.edgePoints[s].push(CA(lo(a,o),2)),this.edgePoints[s].push(o);else{const c=(this.edgePoints[s].length===0?sc(a,o):tye(this.edgePoints[s]))/(e+1);let u=c;const h=[a];for(let d=1;du;){const b=u/y,x=lo(f,Yg(Gl(A,f),b));h.push(x),y-=u,u=c}u-=y}h.push(o),this.edgePoints[s]=h}})}getVectorPosition(e){const t=this.nodeMap[e.source],n=this.nodeMap[e.target],[r,s]=Gl(n,t),a=sc(t,n);return{source:t,target:n,vx:r,vy:s,length:a}}measureEdgeCompatibility(e,t){const n=this.getVectorPosition(e),r=this.getVectorPosition(t),s=Yve(n,r),a=qve(n,r),o=Jve(n,r),l=eye(n,r);return s*a*o*l}getEdgeBundles(){const e={},t=this.options.bundleThreshold,n=this.context.model.getEdgeData();return n.forEach((r,s)=>{n.forEach((a,o)=>{var l,c;if(o<=s)return;this.measureEdgeCompatibility(r,a)>=t&&(e[l=Lr(r)]||(e[l]=[]),e[Lr(r)].push(a),e[c=Lr(a)]||(e[c]=[]),e[Lr(a)].push(r))})}),e}getSpringForce(e,t){const{pre:n,cur:r,next:s}=e;return Yg(Gl(lo(n,s),Yg(r,2)),t)}getElectrostaticForce(e,t){(0,o1.Z)(this.edgeBundles)&&(this.edgeBundles=this.getEdgeBundles());const n=this.edgeBundles[Lr(t)];let r=[0,0];return n==null||n.forEach(s=>{const a=this.edgePoints[Lr(s)][e],o=this.edgePoints[Lr(t)][e],l=Gl(a,o),c=sc(a,o);r=lo(r,Yg(l,1/c))}),r}getEdgeForces(e,t,n){const r=this.nodeMap[e.source],s=this.nodeMap[e.target],a=this.options.K/(sc(r,s)*(t+1)),o=[[0,0]],l=Lr(e);for(let c=1;cMath.abs(fpe([i.vx,i.vy],[e.vx,e.vy])/(i.length*e.length)),qve=(i,e)=>{const t=(i.length+e.length)/2;return 2/(t/Math.min(i.length,e.length)+Math.max(i.length,e.length)/t)},Jve=(i,e)=>{const t=(i.length+e.length)/2,n=CA(lo(i.source,i.target),2),r=CA(lo(e.source,e.target),2);return t/(t+sc(n,r))},EG=(i,e)=>{if(e.source[0]===e.target[0])return[e.source[0],i[1]];if(e.source[1]===e.target[1])return[i[0],e.source[1]];const t=(e.source[1]-e.target[1])/(e.source[0]-e.target[0]),n=(t*t*e.source[0]+t*(i[1]-e.source[1])+i[0])/(t*t+1),r=t*(n-e.source[0])+e.source[1];return[n,r]},SG=(i,e)=>{const t=EG(e.source,i),n=EG(e.target,i),r=CA(lo(t,n),2),s=CA(lo(i.source,i.target),2);return sc(t,n)===0?0:Math.max(0,1-2*sc(s,r)/sc(t,n))},eye=(i,e)=>Math.min(SG(i,e),SG(e,i)),tye=i=>{let e=0;for(let t=1;t{if(this.options.trigger==="drag"&&this.isLensOn)return;const r=ch(n.canvas);this.renderLens(r),this.renderFocusElements()},this.renderLens=n=>{const r=Object.assign({},nye,this.options.style);this.isLensOn||(this.lens=new jv({style:r}),this.canvas.appendChild(this.lens)),Object.assign(r,MA(n),{size:this.r*2}),this.lens.update(r)},this.getFilterData=()=>{const{filter:n}=this.options,{model:r}=this.context,s=r.getData();if(!n)return s;const{nodes:a,edges:o,combos:l}=s;return{nodes:a.filter(c=>n(Lr(c),"node")),edges:o.filter(c=>n(Lr(c),"edge")),combos:l.filter(c=>n(Lr(c),"combo"))}},this.getFocusElements=n=>{const{nodes:r,edges:s}=this.getFilterData(),a=r.filter(c=>sc(lh(c),n)Lr(c)),l=s.filter(c=>{const{source:u,target:h}=c,d=o.includes(u),f=o.includes(h);switch(this.options.nodeType){case"both":return d&&f;case"either":return d!==f;case"source":return d&&!f;case"target":return!d&&f;default:return!1}});return{nodes:a,edges:l}},this.renderFocusElements=()=>{const{element:n,graph:r}=this.context;if(!this.isLensOn)return;const s=this.lens.getCenter(),{nodes:a,edges:o}=this.getFocusElements(s),l=new Set,c=u=>{const h=Lr(u);l.add(h);const d=n.getElement(h);if(!d)return;const f=this.shapes.get(h)||d.cloneNode();f.setPosition(d.getPosition()),f.id=d.id,this.shapes.has(h)?Object.entries(d.attributes).forEach(([b,x])=>{f.style[b]!==x&&(f.style[b]=x)}):(this.canvas.appendChild(f),this.shapes.set(h,f));const A=r.getElementType(h),y=this.getElementStyle(A,u);f.update(y)};a.forEach(c),o.forEach(c),this.shapes.forEach((u,h)=>{l.has(h)||(u.destroy(),this.shapes.delete(h))})},this.scaleRByWheel=n=>{var r;this.options.preventDefault&&n.preventDefault();const{clientX:s,clientY:a,deltaX:o,deltaY:l}=n,{graph:c,canvas:u}=this.context,h=c.getCanvasByClient([s,a]),d=(r=this.lens)===null||r===void 0?void 0:r.getCenter();if(!this.isLensOn||sc(h,d)>this.r)return;const{maxR:f,minR:A}=this.options,y=o+l>0?1/(1-CG):1-CG,b=Math.min(...u.getSize())/2;this.r=Math.max(A||0,Math.min(f||b,this.r*y)),this.renderLens(d),this.renderFocusElements()},this.isLensDragging=!1,this.onDragStart=n=>{var r;const s=ch(n.canvas),a=(r=this.lens)===null||r===void 0?void 0:r.getCenter();!this.isLensOn||sc(s,a)>this.r||(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const r=ch(n.canvas);this.renderLens(r),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(e,t){const n=e==="node"?this.options.nodeStyle:this.options.edgeStyle;return typeof n=="function"?n(t):n}get graphDom(){return this.context.graph.getCanvas().getContextService().getDomElement()}bindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:r}=this.options,s=t.getCanvas().getLayer();["click","drag"].includes(n)&&s.addEventListener(bi.CLICK,this.onEdgeFilter),n==="pointermove"?s.addEventListener(bi.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(s.addEventListener(bi.DRAG_START,this.onDragStart),s.addEventListener(bi.DRAG,this.onDrag),s.addEventListener(bi.DRAG_END,this.onDragEnd)),r==="wheel"&&((e=this.graphDom)===null||e===void 0||e.addEventListener(bi.WHEEL,this.scaleRByWheel,{passive:!1}))}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:r}=this.options,s=t.getCanvas().getLayer();["click","drag"].includes(n)&&s.removeEventListener(bi.CLICK,this.onEdgeFilter),n==="pointermove"?s.removeEventListener(bi.POINTER_MOVE,this.onEdgeFilter):n==="drag"&&(s.removeEventListener(bi.DRAG_START,this.onDragStart),s.removeEventListener(bi.DRAG,this.onDrag),s.removeEventListener(bi.DRAG_END,this.onDragEnd)),r==="wheel"&&((e=this.graphDom)===null||e===void 0||e.removeEventListener(bi.WHEEL,this.scaleRByWheel))}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.unbindEvents(),this.isLensOn&&this.lens.destroy(),this.shapes.forEach((e,t)=>{e.destroy(),this.shapes.delete(t)}),super.destroy()}}qC.defaultOptions={trigger:"pointermove",r:60,nodeType:"both",filter:()=>!0,style:{lineWidth:2},nodeStyle:{label:!1},edgeStyle:{label:!0},scaleRBy:"wheel",preventDefault:!0};const rye={fill:"#ccc",fillOpacity:.1,lineWidth:2,stroke:"#000",strokeOpacity:.8,labelFontSize:12},MG=.05,TG=.1;class JC extends uh{constructor(e,t){super(e,Object.assign({},JC.defaultOptions,t)),this.r=this.options.r,this.d=this.options.d,this.onCreateFisheye=n=>{if(this.options.trigger==="drag"&&this.isLensOn)return;const r=ch(n.canvas);this.onMagnify(r)},this.onMagnify=n=>{n.some(isNaN)||(this.renderLens(n),this.renderFocusElements())},this.renderLens=n=>{const r=Object.assign({},rye,this.options.style);this.isLensOn||(this.lens=new jv({style:r}),this.canvas.appendChild(this.lens)),Object.assign(r,MA(n),{size:this.r*2,label:this.options.showDPercent,labelText:this.getDPercent()}),this.lens.update(r)},this.getDPercent=()=>{const{minD:n,maxD:r}=this.options;return`${Math.round((this.d-n)/(r-n)*100)}%`},this.prevMagnifiedStyleMap=new Map,this.prevOriginStyleMap=new Map,this.renderFocusElements=()=>{if(!this.isLensOn)return;const{graph:n}=this.context,r=this.lens.getCenter(),s=(this.d+1)*this.r,a=new Map,o=new Map;n.getNodeData().forEach(c=>{const u=lh(c),h=sc(u,r);if(h>this.r)return;const d=s*h/(this.d*h+this.r),[f,A]=u,[y,b]=r,x=(f-y)/h,P=(A-b)/h,k=[y+d*x,b+d*P],$=Lr(c),se=this.getNodeStyle(c),ie=(0,Kv.Z)(n.getElementRenderStyle($),Object.keys(se));a.set($,Object.assign(Object.assign({},MA(k)),se)),o.set($,Object.assign(Object.assign({},MA(u)),ie))}),this.updateStyle(a,o)},this.getNodeStyle=n=>{const{nodeStyle:r}=this.options;return typeof r=="function"?r(n):r},this.updateStyle=(n,r)=>{const{graph:s,element:a}=this.context,{enter:o,exit:l,keep:c}=o0(Array.from(this.prevMagnifiedStyleMap.keys()),Array.from(n.keys()),d=>d),u=new Set,h=(d,f)=>{const A=a.getElement(d);A==null||A.update(f),s.getRelatedEdgesData(d).forEach(y=>{u.add(Lr(y))})};[...o,...c].forEach(d=>{h(d,n.get(d))}),l.forEach(d=>{h(d,this.prevOriginStyleMap.get(d)),this.prevOriginStyleMap.delete(d)}),u.forEach(d=>{const f=a.getElement(d);f==null||f.update({})}),this.prevMagnifiedStyleMap=n,r.forEach((d,f)=>{this.prevOriginStyleMap.has(f)||this.prevOriginStyleMap.set(f,d)})},this.isWheelValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const{clientX:r,clientY:s}=n,a=this.context.graph.getCanvasByClient([r,s]),o=this.lens.getCenter();return!(sc(a,o)>this.r)},this.scaleR=n=>{const{maxR:r,minR:s}=this.options,a=n?1/(1-MG):1-MG,o=Math.min(...this.context.canvas.getSize())/2;this.r=Math.max(s||0,Math.min(r||o,this.r*a))},this.scaleD=n=>{const{maxD:r,minD:s}=this.options,a=n?this.d+TG:this.d-TG;this.d=Math.max(s,Math.min(r,a))},this.scaleRByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:r,deltaY:s}=n;this.scaleR(r+s>0);const a=this.lens.getCenter();this.onMagnify(a)},this.scaleDByWheel=n=>{if(!this.isWheelValid(n))return;const{deltaX:r,deltaY:s}=n;this.scaleD(r+s>0);const a=this.lens.getCenter();this.onMagnify(a)},this.isDragValid=n=>{if(this.options.preventDefault&&n.preventDefault(),!this.isLensOn)return!1;const r=ch(n.canvas),s=this.lens.getCenter();return!(sc(r,s)>this.r)},this.isLensDragging=!1,this.onDragStart=n=>{this.isDragValid(n)&&(this.isLensDragging=!0)},this.onDrag=n=>{if(!this.isLensDragging)return;const r=ch(n.canvas);this.onMagnify(r)},this.onDragEnd=()=>{this.isLensDragging=!1},this.scaleRByDrag=n=>{if(!this.isLensDragging)return;const{dx:r,dy:s}=n;this.scaleR(r-s>0);const a=this.lens.getCenter();this.onMagnify(a)},this.scaleDByDrag=n=>{if(!this.isLensDragging)return;const{dx:r,dy:s}=n;this.scaleD(r-s>0);const a=this.lens.getCenter();this.onMagnify(a)},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 e;const{graph:t}=this.context,{trigger:n,scaleRBy:r,scaleDBy:s}=this.options,a=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&a.addEventListener(bi.CLICK,this.onCreateFisheye),n==="pointermove"&&a.addEventListener(bi.POINTER_MOVE,this.onCreateFisheye),n==="drag"||r==="drag"||s==="drag"){a.addEventListener(bi.DRAG_START,this.onDragStart),a.addEventListener(bi.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:r==="drag"?this.scaleRByDrag:this.scaleDByDrag;a.addEventListener(bi.DRAG,o)}if(r==="wheel"||s==="wheel"){const o=r==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.addEventListener(bi.WHEEL,o,{passive:!1})}}unbindEvents(){var e;const{graph:t}=this.context,{trigger:n,scaleRBy:r,scaleDBy:s}=this.options,a=t.getCanvas().getLayer();if(["click","drag"].includes(n)&&a.removeEventListener(bi.CLICK,this.onCreateFisheye),n==="pointermove"&&a.removeEventListener(bi.POINTER_MOVE,this.onCreateFisheye),n==="drag"||r==="drag"||s==="drag"){a.removeEventListener(bi.DRAG_START,this.onDragStart),a.removeEventListener(bi.DRAG_END,this.onDragEnd);const o=n==="drag"?this.onDrag:r==="drag"?this.scaleRByDrag:this.scaleDByDrag;a.removeEventListener(bi.DRAG,o)}if(r==="wheel"||s==="wheel"){const o=r==="wheel"?this.scaleRByWheel:this.scaleDByWheel;(e=this.graphDom)===null||e===void 0||e.removeEventListener(bi.WHEEL,o)}}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){var e;this.unbindEvents(),this.isLensOn&&((e=this.lens)===null||e===void 0||e.destroy()),this.prevMagnifiedStyleMap.clear(),this.prevOriginStyleMap.clear(),super.destroy()}}JC.defaultOptions={trigger:"pointermove",r:120,d:1.5,maxD:5,minD:0,showDPercent:!0,style:{},nodeStyle:{label:!0},preventDefault:!0};class eM extends uh{constructor(e,t){super(e,Object.assign({},eM.defaultOptions,t)),this.$el=this.context.canvas.getContainer(),this.graphSize=[0,0],this.onFullscreenChange=()=>{var n,r,s,a;const o=!!document.fullscreenElement;this.options.autoFit&&this.setGraphSize(o),o?(r=(n=this.options).onEnter)===null||r===void 0||r.call(n):(a=(s=this.options).onExit)===null||a===void 0||a.call(s)},this.shortcut=new $x(e.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:e=[],exit:t=[]}=this.options.trigger;this.shortcut.bind(e,this.request),this.shortcut.bind(t,this.exit),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(r=>{document.addEventListener(r,this.onFullscreenChange,!1)})}unbindEvents(){this.shortcut.unbindAll(),["webkitfullscreenchange","mozfullscreenchange","fullscreenchange","MSFullscreenChange"].forEach(t=>{document.removeEventListener(t,this.onFullscreenChange,!1)})}setGraphSize(e=!0){let t,n;e?(t=window.screen.width,n=window.screen.height,this.graphSize=this.context.graph.getSize()):[t,n]=this.graphSize,this.context.graph.setSize(t,n),this.context.graph.render()}request(){document.fullscreenElement||!iye()||this.$el.requestFullscreen().catch(e=>{Md.warn(`Error attempting to enable full-screen: ${e.message} (${e.name})`)})}exit(){document.fullscreenElement&&document.exitFullscreen()}update(e){this.unbindEvents(),super.update(e),this.bindEvents()}destroy(){this.exit(),this.style.remove(),super.destroy()}}eM.defaultOptions={trigger:{},autoFit:!0};function iye(){return document.fullscreenEnabled||Reflect.get(document,"webkitFullscreenEnabled")||Reflect.get(document,"mozFullscreenEnabled")||Reflect.get(document,"msFullscreenEnabled")}class tM extends uh{constructor(e,t){super(e,Object.assign({},tM.defaultOptions,t)),this.$element=g1("grid-line"),this.offset=[0,0],this.onTransform=r=>{if(!this.options.follow)return;const{data:{translate:s}}=r;s&&this.updateOffset(s)};const n=this.context.canvas.getContainer();Qve(n,this.$element),this.updateStyle(),this.bindEvents()}update(e){super.update(e),this.updateStyle()}bindEvents(){const{graph:e}=this.context;e.on(fs.AFTER_TRANSFORM,this.onTransform)}updateStyle(){const{size:e,stroke:t,lineWidth:n,border:r,borderLineWidth:s,borderStroke:a,borderStyle:o}=this.options;Object.assign(this.$element.style,{border:r?`${s}px ${o} ${a}`:"none",backgroundImage:`linear-gradient(${t} ${n}px, transparent ${n}px), linear-gradient(90deg, ${t} ${n}px, transparent ${n}px)`,backgroundSize:`${e}px ${e}px`})}updateOffset(e){this.offset=ppe(lo(this.offset,e),this.options.size),this.$element.style.backgroundPosition=`${this.offset[0]}px ${this.offset[1]}px`}destroy(){this.context.graph.off(fs.AFTER_TRANSFORM,this.onTransform),this.$element.remove(),super.destroy()}}tM.defaultOptions={border:!0,borderLineWidth:1,borderStroke:"#eee",borderStyle:"solid",lineWidth:1,size:20,stroke:"#eee"};var AP=v(49336);function pP(i){const e={Added:new Map,Updated:new Map,Removed:new Map};return i.forEach(t=>{const{type:n,value:r}=t,s=Lr(r);if(n==="NodeAdded"||n==="EdgeAdded"||n==="ComboAdded")e.Added.set(s,t);else if(n==="NodeUpdated"||n==="EdgeUpdated"||n==="ComboUpdated")if(e.Added.has(s))e.Added.set(s,{type:n.replace("Updated","Added"),value:r});else if(e.Updated.has(s)){const{original:a}=e.Updated.get(s);e.Updated.set(s,{type:n,value:r,original:a})}else e.Removed.has(s)||e.Updated.set(s,t);else(n==="NodeRemoved"||n==="EdgeRemoved"||n==="ComboRemoved")&&(e.Added.has(s)?e.Added.delete(s):(e.Updated.has(s)&&e.Updated.delete(s),e.Removed.set(s,t)))}),[...Array.from(e.Added.values()),...Array.from(e.Updated.values()),...Array.from(e.Removed.values())]}function BG(i){const{NodeAdded:e=[],NodeUpdated:t=[],NodeRemoved:n=[],EdgeAdded:r=[],EdgeUpdated:s=[],EdgeRemoved:a=[],ComboAdded:o=[],ComboUpdated:l=[],ComboRemoved:c=[]}=(0,iC.Z)(i,u=>u.type);return{add:{nodes:e,edges:r,combos:o},update:{nodes:t,edges:s,combos:l},remove:{nodes:n,edges:a,combos:c}}}function RG(i,e){for(const t in i)(0,Ru.Z)(i[t])&&!Array.isArray(i[t])&&i[t]!==null?(e[t]||(e[t]={}),RG(i[t],e[t])):e[t]===void 0&&(e[t]=q_(t))}function sye(i,e=!1,t){const n={animation:e,current:{add:{},update:{},remove:{}},original:{add:{},update:{},remove:{}}},{add:r,update:s,remove:a}=BG(pP(i));return["nodes","edges","combos"].forEach(o=>{s[o]&&s[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);let d=Object.assign({},l.original);if(t){const f=t.graph.getElementType(Lr(l.original)),A=f==="edge"?"stroke":"fill",y=t.element.getElementComputedStyle(f,l.original);d=Object.assign(Object.assign({},l.original),{style:Object.assign({[A]:y[A]},l.original.style)})}RG(h,d),(c=n.current.update)[o]||(c[o]=[]),n.current.update[o].push(h),(u=n.original.update)[o]||(u[o]=[]),n.original.update[o].push(d)}),r[o]&&r[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);(c=n.current.add)[o]||(c[o]=[]),n.current.add[o].push(h),(u=n.original.remove)[o]||(u[o]=[]),n.original.remove[o].push(h)}),a[o]&&a[o].forEach(l=>{var c,u;const h=Object.assign({},l.value);(c=n.current.remove)[o]||(c[o]=[]),n.current.remove[o].push(h),(u=n.original.add)[o]||(u[o]=[]),n.original.add[o].push(h)})}),n}class nM extends uh{constructor(e,t){super(e,Object.assign({},nM.defaultOptions,t)),this.batchChanges=null,this.batchAnimation=!1,this.undoStack=[],this.redoStack=[],this.freezed=!1,this.executeCommand=(r,s=!0)=>{var a,o,l;this.freezed=!0,(o=(a=this.options).executeCommand)===null||o===void 0||o.call(a,r);const c=s?r.original:r.current;this.context.graph.addData(c.add),this.context.graph.updateData(c.update),this.context.graph.removeData(x6(c.remove,!1)),(l=this.context.element)===null||l===void 0||l.draw({silence:!0,animation:r.animation}),this.freezed=!1},this.addCommand=r=>{var s;if(!this.freezed){if(r.type===fs.AFTER_DRAW){const{dataChanges:a=[],animation:o=!0}=r.data;if(!((s=this.context.batch)===null||s===void 0)&&s.isBatching){if(!this.batchChanges)return;this.batchChanges.push(a),this.batchAnimation&&(this.batchAnimation=o);return}this.batchChanges=[a],this.batchAnimation=o}this.undoStackPush(sye(this.batchChanges.flat(),this.batchAnimation,this.context)),this.notify(r0.ADD,this.undoStack[this.undoStack.length-1])}},this.initBatchCommand=r=>{const{initiate:s}=r.data;this.batchAnimation=!1,s?this.batchChanges=[]:this.undoStack.pop()||(this.batchChanges=null)},this.emitter=new AP.Z;const{graph:n}=this.context;n.on(fs.AFTER_DRAW,this.addCommand),n.on(fs.BATCH_START,this.initBatchCommand),n.on(fs.BATCH_END,this.addCommand)}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){var e,t,n,r;const s=this.undoStack.pop();if(s){if(this.executeCommand(s),((t=(e=this.options).beforeAddCommand)===null||t===void 0?void 0:t.call(e,s,!1))===!1)return;this.redoStack.push(s),(r=(n=this.options).afterAddCommand)===null||r===void 0||r.call(n,s,!1),this.notify(r0.UNDO,s)}return this}redo(){const e=this.redoStack.pop();return e&&(this.executeCommand(e,!1),this.undoStackPush(e),this.notify(r0.REDO,e)),this}undoAndCancel(){const e=this.undoStack.pop();return e&&(this.executeCommand(e,!1),this.redoStack=[],this.notify(r0.CANCEL,e)),this}undoStackPush(e){var t,n,r,s;const{stackSize:a}=this.options;a!==0&&this.undoStack.length>=a&&this.undoStack.shift(),((n=(t=this.options).beforeAddCommand)===null||n===void 0?void 0:n.call(t,e,!0))!==!1&&(this.undoStack.push(e),(s=(r=this.options).afterAddCommand)===null||s===void 0||s.call(r,e,!0))}clear(){this.undoStack=[],this.redoStack=[],this.batchChanges=null,this.batchAnimation=!1,this.notify(r0.CLEAR,null)}notify(e,t){this.emitter.emit(e,{cmd:t}),this.emitter.emit(r0.CHANGE,{cmd:t})}on(e,t){this.emitter.on(e,t)}destroy(){const{graph:e}=this.context;e.off(fs.AFTER_DRAW,this.addCommand),e.off(fs.BATCH_START,this.initBatchCommand),e.off(fs.BATCH_END,this.addCommand),this.emitter.off(),super.destroy(),this.undoStack=[],this.redoStack=[]}}nM.defaultOptions={stackSize:0};var aye=v(76117),oye=v.n(aye);function lye(i,e,t){if(i.length===1)return cye(i[0],e,t);if(i.length===2)return uye(i,e,t);switch(t){case"smooth":return dye(i,e);case"sharp":return fye(i,e);case"rounded":default:return hye(i,e)}}const cye=(i,e,t)=>{if(t==="sharp")return[["M",i[0]-e,i[1]-e],["L",i[0]+e,i[1]-e],["L",i[0]+e,i[1]+e],["L",i[0]-e,i[1]+e],["Z"]];const n=[e,e,0,0,0];return[["M",i[0],i[1]-e],["A",...n,i[0],i[1]+e],["A",...n,i[0],i[1]-e]]},uye=(i,e,t)=>{const n=[e,e,0,0,0],r=t==="sharp"?lo(i[0],l0(qg(Gl(i[0],i[1])),e)):i[0],s=t==="sharp"?lo(i[1],l0(qg(Gl(i[1],i[0])),e)):i[1],a=l0(qg(cC(Gl(r,s),!1)),e),o=l0(a,-1),l=lo(r,a),c=lo(s,a),u=lo(s,o),h=lo(r,o);return t==="sharp"?[["M",l[0],l[1]],["L",c[0],c[1]],["L",u[0],u[1]],["L",h[0],h[1]],["Z"]]:[["M",l[0],l[1]],["L",c[0],c[1]],["A",...n,u[0],u[1]],["L",h[0],h[1]],["A",...n,l[0],l[1]]]},hye=(i,e)=>{const t=N6(i).map((o,l)=>{const c=(l-2+i.length)%i.length,u=(l-1+i.length)%i.length,h=(l+1)%i.length,d=i[c],f=i[u],A=i[h],y=Gl(d,f),b=Gl(f,o),x=Gl(o,A),P=(ce,ue)=>BN(ce,ue,!0)l0(qg(cC(ce,!1)),e),ie=se(b);return[{p:Wv(k?lo(f,se(y)):lo(f,ie)),concave:k&&f},{p:Wv($?lo(o,se(x)):lo(o,ie)),concave:$&&o}]}),n=[e,e,0,0,0],r=t.findIndex((o,l)=>!t[(l-1+t.length)%t.length][0].concave&&!t[(l-1+t.length)%t.length][1].concave&&!o[0].concave&&!o[0].concave&&!o[1].concave),s=t.slice(r).concat(t.slice(0,r));let a=[];return s.flatMap((o,l)=>{const c=[],u=s[t.length-1];return l===0&&c.push(["M",...u[1].p]),o[0].concave?a.push(o[0].p,o[1].p):c.push(["A",...n,...o[0].p]),o[1].concave?a.unshift(o[1].p):c.push(["L",...o[1].p]),a.length===3&&(c.pop(),c.push(["C",...a.flat()]),a=[]),c})},dye=(i,e)=>{const t=N6(i).map((n,r)=>{const s=i[(r+1)%i.length];return{p:n,v:qg(Gl(s,n))}});return t.forEach((n,r)=>{const s=r>0?r-1:i.length-1,a=t[s].v,o=qg(lo(a,l0(n.v,BN(a,n.v,!0)n.p))},fye=(i,e)=>{const n=i.map((s,a)=>{const o=i[a===0?i.length-1:a-1],l=n1(l0(qg(cC(Gl(o,s),!1)),e));return[lo(o,l),lo(s,l)]}).flat();return n.map((s,a)=>{if(a%2===0)return null;const o=[n[(a-1)%n.length],n[a%n.length]],l=[n[(a+1)%n.length],n[(a+2)%n.length]];return RN(o,l,!0)}).filter(Boolean).map((s,a)=>[a===0?"M":"L",s[0],s[1]]).concat([["Z"]])};var Aye=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{if(!this.shape)this.shape=new c1({style:this.getHullStyle()}),this.context.canvas.appendChild(this.shape);else{const n=!(0,pu.Z)(this.optionsCache,this.options);this.shape.update(this.getHullStyle(n))}this.optionsCache=Object.assign({},this.options)},this.updateHullPath=n=>{this.shape&&this.options.members.includes(Lr(n.data))&&this.shape.update({d:this.getHullPath(!0)})},this.getHullPath=(n=!1)=>{const{graph:r}=this.context,s=this.getMember();if(s.length===0)return"";const a=s.map(c=>r.getNodeData(c)),o=oye()(a.map(lh),this.options.concavity).slice(1).reverse(),l=o.flatMap(c=>a.filter(u=>(0,pu.Z)(lh(u),c)).map(Lr));return(0,pu.Z)(l,this.hullMemberIds)&&!n?this.path:(this.hullMemberIds=l,this.path=lye(o,this.getPadding(),this.options.corner),this.path)},this.bindEvents()}bindEvents(){this.context.graph.on(fs.AFTER_RENDER,this.drawHull),this.context.graph.on(fs.AFTER_ELEMENT_UPDATE,this.updateHullPath)}getHullStyle(e){const t=this.options,{members:n,padding:r,corner:s}=t,a=Aye(t,["members","padding","corner"]);return Object.assign(Object.assign({},a),{d:this.getHullPath(e)})}getPadding(){const{graph:e}=this.context;return this.hullMemberIds.reduce((n,r)=>{const{halfExtents:s}=e.getElementRenderBounds(r),a=Math.max(s[0],s[1]);return Math.max(n,a)},0)+this.options.padding}addMember(e){const t=Array.isArray(e)?e:[e];this.options.members=[...new Set([...this.options.members,...t])],this.shape.update({d:this.getHullPath()})}removeMember(e){const t=Array.isArray(e)?e:[e];this.options.members=this.options.members.filter(n=>!t.includes(n)),t.some(n=>this.hullMemberIds.includes(n))&&this.shape.update({d:this.getHullPath()})}updateMember(e){this.options.members=(0,Ra.Z)(e)?e(this.options.members):e,this.shape.update(this.getHullStyle(!0))}getMember(){return this.options.members}destroy(){this.context.graph.off(fs.AFTER_DRAW,this.drawHull),this.shape.destroy(),this.hullMemberIds=[],super.destroy()}}rM.defaultOptions={members:[],padding:10,corner:"rounded",concavity:1/0,fill:"lightblue",fillOpacity:.2,labelOpacity:1,stroke:"blue",strokeOpacity:.2};var Jv=v(17911);function IG(i){for(var e=1/0,t=1/0,n=-1/0,r=-1/0,s=0;sn&&(n=d),f>r&&(r=f)}return new Jv.b(e,t,n-e,r-t)}var pye=function(i,e,t){var n=i.width,r=i.height,s=t.flexDirection,a=s===void 0?"row":s,o=t.flexWrap,l=o===void 0?"nowrap":o,c=t.justifyContent,u=c===void 0?"flex-start":c,h=t.alignContent,d=h===void 0?"flex-start":h,f=t.alignItems,A=f===void 0?"flex-start":f,y=a==="row",b=a==="row"||a==="column",x=y?b?[1,0]:[-1,0]:b?[0,1]:[0,-1],P=(0,za.CR)([0,0],2),k=P[0],$=P[1],se=e.map(function(Jt){var gn,yn=Jt.width,Mn=Jt.height,rr=(0,za.CR)([k,$],2),Hn=rr[0],Er=rr[1];return gn=(0,za.CR)([k+yn*x[0],$+Mn*x[1]],2),k=gn[0],$=gn[1],new Jv.b(Hn,Er,yn,Mn)}),ie=IG(se),ce={"flex-start":0,"flex-end":y?n-ie.width:r-ie.height,center:y?(n-ie.width)/2:(r-ie.height)/2},ue=se.map(function(Jt){var gn=Jt.x,yn=Jt.y,Mn=Jv.b.fromRect(Jt);return Mn.x=y?gn+ce[u]:gn,Mn.y=y?yn:yn+ce[u],Mn}),ve=IG(ue),Fe=function(Jt){var gn=(0,za.CR)(y?["height",r]:["width",n],2),yn=gn[0],Mn=gn[1];switch(A){case"flex-start":return 0;case"flex-end":return Mn-Jt[yn];case"center":return Mn/2-Jt[yn]/2;default:return 0}},nt=ue.map(function(Jt){var gn=Jt.x,yn=Jt.y,Mn=Jv.b.fromRect(Jt);return Mn.x=y?gn:gn+Fe(Mn),Mn.y=y?yn+Fe(Mn):yn,Mn}),Gt=nt.map(function(Jt){var gn,yn,Mn=Jv.b.fromRect(Jt);return Mn.x+=(gn=i.x)!==null&&gn!==void 0?gn:0,Mn.y+=(yn=i.y)!==null&&yn!==void 0?yn:0,Mn});return Gt},gye=function(i,e,t){return[]},mye=function(i,e,t){if(e.length===0)return[];var n={flex:pye,grid:gye},r=t.display in n?n[t.display]:null;return(r==null?void 0:r.call(null,i,e,t))||[]},iM=v(98294),vye=function(i){(0,za.ZT)(e,i);function e(t){var n=i.call(this,t)||this;n.layoutEvents=[Ea.Dk.BOUNDS_CHANGED,Ea.Dk.INSERTED,Ea.Dk.REMOVED],n.$margin=(0,iM.j)(0),n.$padding=(0,iM.j)(0);var r=t.style||{},s=r.margin,a=s===void 0?0:s,o=r.padding,l=o===void 0?0:o;return n.margin=a,n.padding=l,n.isMutationObserved=!0,n.bindEvents(),n}return Object.defineProperty(e.prototype,"margin",{get:function(){return this.$margin},set:function(t){this.$margin=(0,iM.j)(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return this.$padding},set:function(t){this.$padding=(0,iM.j)(t)},enumerable:!1,configurable:!0}),e.prototype.getBBox=function(){var t=this.attributes,n=t.x,r=n===void 0?0:n,s=t.y,a=s===void 0?0:s,o=t.width,l=t.height,c=(0,za.CR)(this.$margin,4),u=c[0],h=c[1],d=c[2],f=c[3];return new Jv.b(r-f,a-u,o+f+h,l+u+d)},e.prototype.appendChild=function(t,n){return t.isMutationObserved=!0,i.prototype.appendChild.call(this,t,n),t},e.prototype.getAvailableSpace=function(){var t=this.attributes,n=t.width,r=t.height,s=(0,za.CR)(this.$padding,4),a=s[0],o=s[1],l=s[2],c=s[3],u=(0,za.CR)(this.$margin,4),h=u[0],d=u[3];return new Jv.b(c+d,a+h,n-c-o,r-a-l)},e.prototype.layout=function(){if(!(!this.attributes.display||!this.isConnected)&&!this.children.some(function(a){return!a.isConnected}))try{var t=this.attributes,n=t.x,r=t.y;this.style.transform="translate(".concat(n,", ").concat(r,")");var s=mye(this.getAvailableSpace(),this.children.map(function(a){return a.getBBox()}),this.attributes);this.children.forEach(function(a,o){var l=s[o],c=l.x,u=l.y;a.style.transform="translate(".concat(c,", ").concat(u,")")})}catch(a){}},e.prototype.bindEvents=function(){var t=this;this.layoutEvents.forEach(function(n){t.addEventListener(n,function(r){r.target&&(r.target.isMutationObserved=!0,t.layout())})})},e.prototype.attributeChangedCallback=function(t,n,r){t==="margin"?this.margin=r:t==="padding"&&(this.padding=r),this.layout()},e}(Ea.ZA),yye=v(65244),xye=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const{graph:n}=this.context;n.on(fs.AFTER_DRAW,this.createElement)},this.changeState=(n,r)=>{const{graph:s}=this.context,{typePrefix:a}=this,o=(0,Td.Z)(n,[a,"id"]),l=(0,Td.Z)(n,[a,"style","labelText"]),[c]=o.split("__"),u=this.fieldMap[c].get(l)||[];s.setElementState(Object.fromEntries(u==null?void 0:u.map(h=>[h,r])))},this.click=n=>{if(this.options.trigger==="hover")return;const r=(0,Td.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(r)?(this.selectedItems=this.selectedItems.filter(s=>s!==r),this.changeState(n,[])):(this.selectedItems.push(r),this.changeState(n,"selected"))},this.mouseleave=n=>{this.options.trigger!=="click"&&(this.selectedItems=[],this.changeState(n,[]))},this.mouseenter=n=>{if(this.options.trigger==="click")return;const r=(0,Td.Z)(n,[this.typePrefix,"id"]);this.selectedItems.includes(r)?this.selectedItems=this.selectedItems.filter(s=>s!==r):(this.selectedItems.push(r),this.changeState(n,"active"))},this.setFieldMap=(n,r,s)=>{if(!n)return;const a=this.fieldMap[s];if(a)if(!a.has(n))a.set(n,[r]);else{const o=a.get(n);o&&(o.push(r),a.set(n,o))}},this.getEvents=()=>({mouseenter:this.mouseenter,mouseleave:this.mouseleave,click:this.click}),this.getMarkerData=(n,r)=>{if(!n)return[];const{model:s,element:a,graph:o}=this.context,{nodes:l,edges:c,combos:u}=s.getData(),h={},d=x=>(0,Ra.Z)(n)?n(x):n,f={node:"circle",edge:"line",combo:"rect"},A={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"},y=(x,P)=>a==null?void 0:a.getElementComputedStyle(x,P),b=(x,P)=>{x.forEach(k=>{const{id:$}=k,se=(0,Td.Z)(k,["data",d(k)]),ie=(a==null?void 0:a.getElementType(P,k))||"circle",ce=y(P,k),ue=(P==="edge"?ce==null?void 0:ce.stroke:ce==null?void 0:ce.fill)||"#1783ff";$&&se&&se.replace(/\s+/g,"")&&(this.setFieldMap(se,$,P),h[se]||(h[se]={id:`${P}__${$}`,label:se,marker:A[ie]||f[P],elementType:P,lineWidth:1,stroke:ue,fill:ue}))})};switch(r){case"node":b(l,"node");break;case"edge":b(c,"edge");break;case"combo":b(u,"combo");break;default:return[]}return Object.values(h)},this.layout=n=>{const r={flexDirection:"row",alignItems:"flex-end",justifyContent:"center"};let{flexDirection:s,alignItems:a,justifyContent:o}=r;const l={top:["row","flex-start","center"],bottom:["row","flex-end","center"],left:["column","flex-start","center"],right:["column","flex-end","center"]};return n in l&&([s,a,o]=l[n]),{display:"flex",flexDirection:s,justifyContent:o,alignItems:a}},this.createElement=()=>{if(this.draw){this.updateElement();return}const{canvas:n}=this.context,[r,s]=n.getSize(),a=this.options,{width:o=r,height:l=s,nodeField:c,edgeField:u,comboField:h,trigger:d,position:f}=a,A=xye(a,["width","height","nodeField","edgeField","comboField","trigger","position"]),y=this.getMarkerData(c,"node"),b=this.getMarkerData(u,"edge"),x=this.getMarkerData(h,"combo"),P=[...y,...x,...b],k=this.layout(f),$=new vye({style:Object.assign({width:o,height:l},k)}),se=Object.assign({width:o,height:l,data:P,itemMarkerLineWidth:({lineWidth:ce})=>ce,itemMarker:({marker:ce})=>ce,itemMarkerStroke:({stroke:ce})=>ce,itemMarkerFill:({fill:ce})=>ce,gridCol:y.length},A,this.getEvents()),ie=new yye.W({className:"legend",style:se});$.appendChild(ie),n.appendChild($),this.element=$,this.draw=!0},this.bindEvents()}update(e){super.update(e),this.clear(),this.createElement()}clear(){var e;(e=this.element)===null||e===void 0||e.destroy(),this.element=null,this.draw=!1}updateElement(){if(!this.element)return;this.element.getChildByIndex(0).update({itemMarkerOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5,itemLabelOpacity:({id:t})=>!this.selectedItems.length||this.selectedItems.includes(t)?1:.5})}destroy(){this.clear(),this.context.graph.off(fs.AFTER_DRAW,this.createElement),super.destroy()}}sM.defaultOptions={position:"bottom",trigger:"hover",orientation:"horizontal",layout:"flex",itemSpacing:4,rowPadding:10,colPadding:10,itemMarkerSize:16,itemLabelFontSize:16};class aM extends uh{constructor(e,t){super(e,Object.assign({},aM.defaultOptions,t)),this.onDraw=n=>{var r;!((r=n==null?void 0:n.data)===null||r===void 0)&&r.render||this.onRender()},this.shapes=new Map,this.landmarkMap=new Map,this.mask=null,this.isMaskDragging=!1,this.onMaskDragStart=n=>{this.mask&&(this.isMaskDragging=!0,this.mask.setPointerCapture(n.pointerId),this.mask.addEventListener("pointermove",this.onMaskDrag),this.mask.addEventListener("pointerup",this.onMaskDragEnd),this.mask.addEventListener("pointercancel",this.onMaskDragEnd))},this.onMaskDrag=n=>{if(!this.mask||!this.isMaskDragging)return;const{size:[r,s]}=this.options,{movementX:a,movementY:o}=n,{left:l,top:c,width:u,height:h}=this.mask.style,[,,d,f]=this.maskBBox;let A=parseInt(l)+a,y=parseInt(c)+o,b=parseInt(u),x=parseInt(h);A<0&&(A=0),y<0&&(y=0),A+b>r&&(A=g0(r-b,0)),y+x>s&&(y=g0(s-x,0)),b0?(A=g0(A-a,0),b=p0(b+a,r)):a<0&&(b=p0(b-a,r))),x0?(y=g0(y-o,0),x=p0(x+o,s)):o<0&&(x=p0(x-o,s))),Object.assign(this.mask.style,{left:A+"px",top:y+"px",width:b+"px",height:x+"px"});const P=parseInt(l)-A,k=parseInt(c)-y;if(P===0&&k===0)return;const $=this.context.canvas.getCamera().getZoom(),se=this.canvas.getCamera().getZoom(),ie=$/se;this.context.graph.translateBy([P*ie,k*ie],!1)},this.onMaskDragEnd=n=>{this.mask&&(this.isMaskDragging=!1,this.mask.releasePointerCapture(n.pointerId),this.mask.removeEventListener("pointermove",this.onMaskDrag),this.mask.removeEventListener("pointerup",this.onMaskDragEnd),this.mask.removeEventListener("pointercancel",this.onMaskDragEnd))},this.onTransform=(0,v6.Z)(()=>{this.isMaskDragging||(this.updateMask(),this.setCamera())},32,{leading:!0}),this.setOnRender(),this.bindEvents()}update(e){this.unbindEvents(),super.update(e),"delay"in e&&this.setOnRender(),this.bindEvents()}setOnRender(){this.onRender=(0,OC.Z)(()=>{this.renderMinimap(),this.renderMask()},this.options.delay,!0)}bindEvents(){const{graph:e}=this.context;e.on(fs.AFTER_DRAW,this.onDraw),e.on(fs.AFTER_RENDER,this.onRender),e.on(fs.AFTER_TRANSFORM,this.onTransform)}unbindEvents(){const{graph:e}=this.context;e.off(fs.AFTER_DRAW,this.onDraw),e.off(fs.AFTER_RENDER,this.onRender),e.off(fs.AFTER_TRANSFORM,this.onTransform)}renderMinimap(){const e=this.getElements(),t=this.initCanvas();this.setShapes(t,e)}getElements(){const{filter:e}=this.options,{model:t}=this.context,n=t.getData();if(!e)return n;const{nodes:r,edges:s,combos:a}=n;return{nodes:r.filter(o=>e(Lr(o),"node")),edges:s.filter(o=>e(Lr(o),"edge")),combos:a.filter(o=>e(Lr(o),"combo"))}}setShapes(e,t){const{nodes:n,edges:r,combos:s}=t,{shape:a}=this.options,{element:o}=this.context;if(a==="key"){const c=new Set,u=h=>{const d=Lr(h);c.add(d);const f=o.getElement(d);if(!f)return;const A=f.getShape("key"),y=this.shapes.get(d)||A.cloneNode();y.setPosition(A.getPosition()),f.style.zIndex&&(y.style.zIndex=f.style.zIndex),y.id=f.id,this.shapes.has(d)?Object.entries(A.attributes).forEach(([b,x])=>{y.style[b]!==x&&(y.style[b]=x)}):(e.appendChild(y),this.shapes.set(d,y))};r.forEach(u),s.forEach(u),n.forEach(u),this.shapes.forEach((h,d)=>{c.has(d)||(e.removeChild(h),this.shapes.delete(d))});return}const l=(c,u)=>{const d=o.getElement(c).getPosition();return u.setPosition(d),u};e.removeChildren(),r.forEach(c=>e.appendChild(a(Lr(c),"edge"))),s.forEach(c=>{e.appendChild(l(Lr(c),a(Lr(c),"combo")))}),n.forEach(c=>{e.appendChild(l(Lr(c),a(Lr(c),"node")))})}calculatePosition(){const{position:e,size:[t,n]}=this.options,{canvas:r}=this.context,[s,a]=r.getSize(),[o,l]=C6(e);return[o*(s-t),l*(a-n)]}createContainer(){const{container:e,className:t,size:[n,r],containerStyle:s}=this.options;if(e)return typeof e=="string"?document.querySelector(e):e;const a=document.createElement("div");a.classList.add("g6-minimap"),t&&a.classList.add(t);const[o,l]=this.calculatePosition();return Object.assign(a.style,Object.assign({position:"absolute",left:o+"px",top:l+"px",width:n+"px",height:r+"px"},s)),this.context.canvas.getContainer().appendChild(a)}initCanvas(){const{renderer:e,size:[t,n]}=this.options;if(this.canvas){const{width:r,height:s}=this.canvas.getConfig();(t!==r||n!==s)&&this.canvas.resize(t,n),e&&this.canvas.setRenderer(e)}else{const r=document.createElement("div"),s=this.createContainer();this.container=s,s.appendChild(r),this.canvas=new Ea.Xz({width:t,height:n,container:r,renderer:e||new u1.Th})}return this.setCamera(),this.canvas}createLandmark(e,t,n){const r=`${e.join(",")}-${t.join(",")}-${n}`;if(this.landmarkMap.has(r))return this.landmarkMap.get(r);const a=this.canvas.getCamera().createLandmark(r,{position:e,focalPoint:t,zoom:n});return this.landmarkMap.set(r,a),a}setCamera(){var e;const{canvas:t}=this.context,n=(e=this.canvas)===null||e===void 0?void 0:e.getCamera();if(!n)return;const{size:[r,s],padding:a}=this.options,[o,l,c,u]=kp(a),{min:h,max:d,center:f}=t.getBounds("elements"),A=d[0]-h[0],y=d[1]-h[1],b=r-u-l,x=s-o-c,P=b/A,k=x/y,$=Math.min(P,k),se=this.createLandmark(f,f,$);n.gotoLandmark(se,0)}get maskBBox(){const{canvas:e}=this.context,t=e.getSize(),n=e.getCanvasByViewport([0,0]),r=e.getCanvasByViewport(t),s=this.canvas.canvas2Viewport(MA(n)),a=this.canvas.canvas2Viewport(MA(r)),o=a.x-s.x,l=a.y-s.y;return[s.x,s.y,o,l]}calculateMaskBBox(){const{size:[e,t]}=this.options;let[n,r,s,a]=this.maskBBox;return n<0&&(s=p0(s+n,e),n=0),r<0&&(a=p0(a+r,t),r=0),n+s>e&&(s=g0(e-n,0)),r+a>t&&(a=g0(t-r,0)),[p0(n,e),p0(r,t),g0(s,0),g0(a,0)]}renderMask(){const{maskStyle:e}=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({},e),{cursor:"move",position:"absolute",pointerEvents:"auto"})),this.updateMask()}updateMask(){if(!this.mask)return;const[e,t,n,r]=this.calculateMaskBBox();Object.assign(this.mask.style,{top:t+"px",left:e+"px",width:n+"px",height:r+"px"})}destroy(){var e;this.unbindEvents(),this.canvas.destroy(),(e=this.mask)===null||e===void 0||e.remove(),super.destroy()}}aM.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 p0=(i,e)=>Math.min(i,e),g0=(i,e)=>Math.max(i,e);var gP=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};const mP={x1:0,y1:0,x2:0,y2:0,visibility:"hidden"};class oM extends uh{constructor(e,t){super(e,Object.assign({},oM.defaultOptions,t)),this.initSnapline=()=>{const n=this.context.canvas.getLayer("transient");this.horizontalLine||(this.horizontalLine=n.appendChild(new Ea.x1({style:Object.assign(Object.assign({},mP),this.options.horizontalLineStyle)}))),this.verticalLine||(this.verticalLine=n.appendChild(new Ea.x1({style:Object.assign(Object.assign({},mP),this.options.verticalLineStyle)})))},this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!0,this.autoSnapToLine=(n,r,s)=>gP(this,void 0,void 0,function*(){const{verticalX:a,horizontalY:o}=s,{tolerance:l}=this.options,{min:[c,u],max:[h,d],center:[f,A]}=r;let y=0,b=0;a!==null&&(Uh(h,a){const{target:r}=n,s=.5;if(this.isHorizontalSticking||this.isVerticalSticking){const[a,o]=this.getDelta(n);if(this.isHorizontalSticking&&this.isVerticalSticking&&Math.abs(a)<=s&&Math.abs(o)<=s)return this.context.graph.translateElementBy({[r.id]:[-a,-o]},!1),!1;if(this.isHorizontalSticking&&Math.abs(o)<=s)return this.context.graph.translateElementBy({[r.id]:[0,-o]},!1),!1;if(this.isVerticalSticking&&Math.abs(a)<=s)return this.context.graph.translateElementBy({[r.id]:[-a,0]},!1),!1;this.isHorizontalSticking=!1,this.isVerticalSticking=!1,this.enableStick=!1,setTimeout(()=>{this.enableStick=!0},200)}return this.enableStick},this.calcSnaplineMetadata=(n,r)=>{const{tolerance:s,shape:a}=this.options,{min:[o,l],max:[c,u],center:[h,d]}=r;let f=null,A=null,y=null,b=null,x=null,P=null;return this.getNodes().some(k=>{if((0,pu.Z)(n.id,k.id))return!1;const $=NG(k,a).getRenderBounds(),{min:[se,ie],max:[ce,ue],center:[ve,Fe]}=$;return f===null&&(Uh(ve,h){this.initSnapline()},this.onDrag=n=>gP(this,void 0,void 0,function*(){const{target:r}=n;if(this.options.autoSnap&&!this.enableSnap(n))return;const s=NG(r,this.options.shape).getRenderBounds(),a=this.calcSnaplineMetadata(r,s);this.hideSnapline(),(a.verticalX!==null||a.horizontalY!==null)&&this.updateSnapline(a),this.options.autoSnap&&(yield this.autoSnapToLine(r.id,s,a))}),this.onDragEnd=()=>{this.hideSnapline()},this.bindEvents()}getNodes(){var e;const{filter:t}=this.options,r=(((e=this.context.element)===null||e===void 0?void 0:e.getNodes())||[]).filter(s=>{var a;return Dge(s)&&((a=this.context.viewport)===null||a===void 0?void 0:a.isInViewport(s.getRenderBounds()))});return t?r.filter(s=>t(s)):r}hideSnapline(){this.horizontalLine.style.visibility="hidden",this.verticalLine.style.visibility="hidden"}getLineWidth(e){const{lineWidth:t}=this.options[`${e}LineStyle`];return+(t||mP.lineWidth||1)/this.context.graph.getZoom()}updateSnapline(e){const{verticalX:t,verticalMinY:n,verticalMaxY:r,horizontalY:s,horizontalMinX:a,horizontalMaxX:o}=e,[l,c]=this.context.canvas.getSize(),{offset:u}=this.options;s!==null?Object.assign(this.horizontalLine.style,{x1:u===1/0?0:a-u,y1:s,x2:u===1/0?l:o+u,y2:s,visibility:"visible",lineWidth:this.getLineWidth("horizontal")}):this.horizontalLine.style.visibility="hidden",t!==null?Object.assign(this.verticalLine.style,{x1:t,y1:u===1/0?0:n-u,x2:t,y2:u===1/0?c:r+u,visibility:"visible",lineWidth:this.getLineWidth("vertical")}):this.verticalLine.style.visibility="hidden"}getDelta(e){const t=this.context.graph.getZoom();return CA([e.dx,e.dy],t)}bindEvents(){return gP(this,void 0,void 0,function*(){const{graph:e}=this.context;e.on(Lf.DRAG_START,this.onDragStart),e.on(Lf.DRAG,this.onDrag),e.on(Lf.DRAG_END,this.onDragEnd)})}unbindEvents(){const{graph:e}=this.context;e.off(Lf.DRAG_START,this.onDragStart),e.off(Lf.DRAG,this.onDrag),e.off(Lf.DRAG_END,this.onDragEnd)}destroyElements(){var e,t;(e=this.horizontalLine)===null||e===void 0||e.destroy(),(t=this.verticalLine)===null||t===void 0||t.destroy()}destroy(){this.destroyElements(),this.unbindEvents(),super.destroy()}}oM.defaultOptions={tolerance:5,offset:20,autoSnap:!0,shape:"key",verticalLineStyle:{stroke:"#1783FF"},horizontalLineStyle:{stroke:"#1783FF"},filter:()=>!0};const Uh=(i,e)=>Math.abs(i-e),NG=(i,e)=>typeof e=="function"?e(i):i.getShape(e);var bye=v(91498),_ye=v(39934),wye=v(21790),Eye=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})},Sye=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{switch(t){case"position":this.upsertWrapper();break;default:this.upsertTimebar();break}})}backup(){this.originalData=PG(this.context.graph.getData())}upsertTimebar(){const{canvas:e}=this.context,t=this.options,{onChange:n,timebarType:r,data:s,x:a,y:o,width:l,height:c,mode:u}=t,h=Sye(t,["onChange","timebarType","data","x","y","width","height","mode"]),d=e.getSize(),[f]=this.padding;this.upsertCanvas().ready.then(()=>{var A;const y=Object.assign(Object.assign({x:d[0]/2-l/2,y:f,onChange:b=>{const x=((0,_ye.Z)(b)?b:[b,b]).map(P=>(0,wye.Z)(P)?P.getTime():P);this.options.mode==="modify"?this.filterElements(x):this.hiddenElements(x),n==null||n(x)}},h),{data:s.map(b=>(0,fa.Z)(b)?{time:b,value:0}:b),width:l,height:c,type:r});this.timebar?this.timebar.update(y):(this.timebar=new bye.s({style:y}),(A=this.canvas)===null||A===void 0||A.appendChild(this.timebar))})}upsertWrapper(){var e;if(!this.wrapper){const a=document.createElement("div");a.style.position="absolute",this.wrapper=a}const{x:t,y:n,className:r,position:s}=this.options;return r&&(this.wrapper.className=r),(0,fa.Z)(t)||(0,fa.Z)(n)?Object.assign(this.wrapper.style,{left:`${t!=null?t:0}px`,top:`${n!=null?n:0}px`}):Object.assign(this.wrapper.style,{[s==="top"?"bottom":"top"]:"unset",[s==="top"?"top":"bottom"]:"0px"}),(e=this.context.canvas.getContainer())===null||e===void 0||e.appendChild(this.wrapper),this.wrapper}upsertCanvas(){var e,t;const n=this.upsertWrapper();if(this.canvas)return this.canvas;const{height:r}=this.options,[s]=this.context.canvas.getSize(),[a,,o]=this.padding;return this.canvas=new Ea.Xz({container:n,width:s,height:r+a+o,renderer:((t=(e=this.context.options).renderer)===null||t===void 0?void 0:t.call(e,"main"))||new u1.Th,supportsMutipleCanvasesInOneContainer:!0}),this.canvas}filterElements(e){return Eye(this,void 0,void 0,function*(){var t;if(!this.originalData)return;const{elementTypes:n,getTime:r}=this.options,{graph:s,element:a}=this.context,o=PG(this.originalData);n.forEach(c=>{const u=`${c}s`;o[u]=(this.originalData[u]||[]).filter(h=>{const d=r(h);return!!FG(d,e)})});const l=[...o.nodes,...o.combos].map(c=>Lr(c));o.edges=o.edges.filter(c=>{const u=c.source,h=c.target;return l.includes(u)&&l.includes(h)}),s.setData(o),yield(t=a.draw({animation:!1,silence:!0}))===null||t===void 0?void 0:t.finished})}hiddenElements(e){const{graph:t}=this.context,{elementTypes:n,getTime:r}=this.options,s=[],a=[];n.forEach(o=>{var l;const c=`${o}s`;(((l=this.originalData)===null||l===void 0?void 0:l[c])||[]).forEach(h=>{const d=Lr(h),f=r(h);FG(f,e)?a.push(d):s.push(d)})}),t.hideElement(s,!1),t.showElement(a,!1)}destroy(){var e,t,n;const{graph:r}=this.context;this.originalData&&r.setData(Object.assign({},this.originalData)),(e=this.timebar)===null||e===void 0||e.destroy(),(t=this.canvas)===null||t===void 0||t.destroy(),(n=this.wrapper)===null||n===void 0||n.remove(),this.originalData=void 0,this.wrapper=void 0,this.timebar=void 0,this.canvas=void 0,super.destroy()}}lM.defaultOptions={position:"bottom",enable:!0,timebarType:"time",className:"g6-timebar",width:450,height:60,zIndex:3,elementTypes:["node"],padding:10,mode:"modify",getTime:i=>Mye(i,Cye,void 0),loop:!1};const PG=i=>{const{nodes:e=[],edges:t=[],combos:n=[]}=i;return{nodes:[...e],edges:[...t],combos:[...n]}},FG=(i,e)=>{if((0,fa.Z)(e))return i===e;const[t,n]=e;return i>=t&&i<=n},Mye=(i,e,t)=>{var n;for(let r=0;r{e[n]="8px"}),e.flexDirection=i.startsWith("top")||i.startsWith("bottom")?"row":"column",e}const Bye=` + .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; + } +`,Rye=` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`;var OG=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class cM extends uh{constructor(e,t){super(e,Object.assign({},cM.defaultOptions,t)),this.$element=g1("toolbar",!1),this.onToolbarItemClick=r=>{const{onClick:s}=this.options;if(r.target instanceof Element&&r.target.className.includes("g6-toolbar-item")){const a=r.target.getAttribute("value");s==null||s(a,r.target)}};const n=this.context.canvas.getContainer();this.$element.style.display="flex",n.appendChild(this.$element),fP("g6-toolbar-css","style",{},Bye,document.head),fP("g6-toolbar-svgicon","div",{display:"none"},Rye),this.$element.addEventListener("click",this.onToolbarItemClick),this.update(t)}update(e){const t=Object.create(null,{update:{get:()=>super.update}});return OG(this,void 0,void 0,function*(){t.update.call(this,e);const{className:n,position:r,style:s}=this.options;this.$element.className=`g6-toolbar ${n||""}`,Object.assign(this.$element.style,s,Tye(r)),this.$element.innerHTML=yield this.getDOMContent()})}destroy(){this.$element.removeEventListener("click",this.onToolbarItemClick),this.$element.remove(),super.destroy()}getDOMContent(){return OG(this,void 0,void 0,function*(){return(yield this.options.getItems()).map(t=>` +
    + +
    `).join("")})}}cM.defaultOptions={position:"top-left"};var Iye=v(75242);class uM extends uh{constructor(e,t){super(e,Object.assign({},uM.defaultOptions,t)),this.currentTarget=null,this.tooltipElement=null,this.container=null,this.isEnable=n=>{const{enable:r}=this.options;return typeof r=="function"?r(n):r},this.onClick=n=>{const{target:{id:r}}=n;this.currentTarget===r?(this.hide(n),this.currentTarget=null):(this.currentTarget=r,this.show(n))},this.onPointerMove=n=>{const{target:r}=n;!this.currentTarget||r.id===this.currentTarget||this.show(n)},this.onPointerLeave=n=>{this.hide(n),this.currentTarget=null},this.onCanvasMove=n=>{this.hide(n),this.currentTarget=null},this.onPointerEnter=n=>{this.show(n)},this.showById=n=>{const r={target:{id:n}};this.show(r)},this.getElementData=(n,r)=>{const{model:s}=this.context;switch(r){case"node":return s.getNodeData([n]);case"edge":return s.getEdgeData([n]);case"combo":return s.getComboData([n]);default:return[]}},this.show=n=>{const{client:r,target:{id:s}}=n;if(RC(n.target)||!this.tooltipElement||!this.isEnable(n))return;const a=this.context.graph.getElementType(s),{getContent:o,title:l}=this.options;this.currentTarget=s;const c=this.getElementData(s,a);let u,h;if(r)u=r.x,h=r.y;else{const f=(0,Td.Z)(c,"0.style",{x:0,y:0});u=f.x,h=f.y}let d={};if(o)d.content=o(n,c);else{const f=this.context.graph.getElementRenderStyle(s),A=a==="node"?f.fill:f.stroke;d={title:l||a,data:c.map(y=>({name:"ID",value:y.id||`${y.source} -> ${y.target}`,color:A}))}}this.tooltipElement.update(Object.assign(Object.assign(Object.assign({},this.tooltipStyleProps),{x:u,y:h,style:{".tooltip":{visibility:"visible"}}}),d))},this.hide=n=>{var r;if(!n){(r=this.tooltipElement)===null||r===void 0||r.hide();return}if(!this.tooltipElement||!this.currentTarget)return;const{client:{x:s,y:a}}=n;this.tooltipElement.hide(s,a)},this.initTooltip=()=>{var n;const r=new Iye.u({className:"tooltip",style:this.tooltipStyleProps});return(n=this.container)===null||n===void 0||n.appendChild(r.HTMLTooltipElement),r},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(e){var t;this.unbindEvents(),super.update(e),this.tooltipElement&&((t=this.container)===null||t===void 0||t.removeChild(this.tooltipElement.HTMLTooltipElement)),this.tooltipElement=this.initTooltip(),this.bindEvents()}render(){const{canvas:e}=this.context,t=e.getContainer();t&&(this.container=t,this.tooltipElement=this.initTooltip())}unbindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.off(n,t[n])})}bindEvents(){const{graph:e}=this.context,t=this.getEvents();Object.keys(t).forEach(n=>{e.on(n,t[n])})}get tooltipStyleProps(){const{canvas:e}=this.context,{center:t}=e.getBounds(),n=e.getContainer(),{top:r,left:s}=n.getBoundingClientRect(),{style:a,position:o,enterable:l,container:c={x:-s,y:-r},title:u,offset:h}=this.options,[d,f]=t,[A,y]=e.getSize();return{x:d,y:f,container:c,title:u,bounding:{x:0,y:0,width:A,height:y},position:o,enterable:l,offset:h,style:a}}destroy(){var e;this.unbindEvents(),this.tooltipElement&&((e=this.container)===null||e===void 0||e.removeChild(this.tooltipElement.HTMLTooltipElement)),super.destroy()}}uM.defaultOptions={trigger:"hover",position:"top-right",enterable:!1,enable:!0,offset:[10,10],style:{".tooltip":{visibility:"hidden"}}};var LG=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};let nb;function DG(i,e){return nb||(nb=document.createElement("canvas")),nb.width=i,nb.height=e,nb.getContext("2d").clearRect(0,0,i,e),nb}function Nye(i,e,t,n){return LG(this,void 0,void 0,function*(){const r=DG(i,e),s=r.getContext("2d"),{rotate:a,opacity:o,textFill:l,textFontSize:c,textFontFamily:u,textFontVariant:h,textFontWeight:d,textAlign:f,textBaseline:A}=n;return s.textAlign=f,s.textBaseline=A,s.translate(i/2,e/2),s.font=`${c}px ${u} ${h} ${d}`,a&&s.rotate(a),o&&(s.globalAlpha=o),l&&(s.fillStyle=l,s.fillText(`${t}`,0,0)),r.toDataURL()})}function Pye(i,e,t,n){return LG(this,void 0,void 0,function*(){const r=DG(i,e),s=r.getContext("2d"),{rotate:a,opacity:o}=n;a&&s.rotate(a),o&&(s.globalAlpha=o);const l=new Image;return l.crossOrigin="anonymous",l.src=t,new Promise(c=>{l.onload=function(){const u=i>l.width?(i-l.width)/2:0,h=e>l.height?(e-l.height)/2:0;s.drawImage(l,0,0,l.width,l.height,u,h,i-u*2,e-h*2),c(r.toDataURL())}})})}var Fye=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})},Oye=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rsuper.update}});return Fye(this,void 0,void 0,function*(){t.update.call(this,e);const n=this.options,{width:r,height:s,text:a,imageURL:o}=n,l=Oye(n,["width","height","text","imageURL"]);Object.keys(l).forEach(u=>{u.startsWith("background")&&(this.$element.style[u]=e[u])});const c=o?yield Pye(r,s,o,l):yield Nye(r,s,a,l);this.$element.style.backgroundImage=`url(${c})`})}destroy(){super.destroy(),this.$element.remove()}}hM.defaultOptions={width:200,height:100,opacity:.2,rotate:Math.PI/12,text:"",textFill:"#000",textFontSize:16,textAlign:"center",textBaseline:"middle",backgroundRepeat:"repeat"};const Lye=["#7E92B5","#F4664A","#FFBE3A"],Dye={type:"group",color:["#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]},Uye={type:"group",color:["#99ADD1","#1783FF","#00C9C9","#F08F56","#D580FF","#7863FF","#DB9D0D","#60C42D","#FF80CA","#2491B3","#17C76F"]};function UG(i){const{bgColor:e,textColor:t,nodeColor:n,nodeColorDisabled:r,nodeStroke:s,nodeHaloStrokeOpacityActive:a=.15,nodeHaloStrokeOpacitySelected:o=.25,nodeOpacityDisabled:l=.06,nodeIconOpacityInactive:c=.85,nodeOpacityInactive:u=.25,nodeBadgePalette:h=Lye,nodePaletteOptions:d=Dye,edgeColor:f,edgeColorDisabled:A,edgePaletteOptions:y=Uye,comboColor:b,comboColorDisabled:x,comboStroke:P,comboStrokeDisabled:k,edgeColorInactive:$}=i;return{background:e,node:{palette:d,style:{donutOpacity:1,badgeBackgroundOpacity:1,badgeFill:"#fff",badgeFontSize:8,badgePadding:[0,4],badgePalette:h,fill:n,fillOpacity:1,halo:!1,iconFill:"#fff",iconOpacity:1,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelFill:t,labelFillOpacity:.85,labelLineHeight:16,labelPadding:[0,2],labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelOffsetY:2,lineWidth:0,portFill:n,portLineWidth:1,portStroke:s,portStrokeOpacity:.65,size:32,stroke:s,strokeOpacity:1,zIndex:2},state:{selected:{halo:!0,haloLineWidth:24,haloStrokeOpacity:o,labelFontSize:12,labelFontWeight:"bold",lineWidth:4,stroke:s},active:{halo:!0,haloLineWidth:12,haloStrokeOpacity:a},highlight:{labelFontWeight:"bold",lineWidth:4,stroke:s,strokeOpacity:.85},inactive:{badgeBackgroundOpacity:u,donutOpacity:u,fillOpacity:u,iconOpacity:c,labelFill:t,labelFillOpacity:u,strokeOpacity:u},disabled:{badgeBackgroundOpacity:.25,donutOpacity:l,fill:r,fillOpacity:l,iconFill:r,iconOpacity:.25,labelFill:t,labelFillOpacity:.25,strokeOpacity:l}},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:y,style:{badgeBackgroundFill:f,badgeFill:"#fff",badgeFontSize:8,badgeOffsetX:10,fillOpacity:1,halo:!1,haloLineWidth:12,haloStrokeOpacity:1,increasedLineWidthForHitTesting:2,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[4,4,4,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,labelPlacement:"center",labelTextBaseline:"middle",lineWidth:1,stroke:f,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:$,fillOpacity:.08,labelOpacity:.25,strokeOpacity:.08,badgeBackgroundOpacity:.25},disabled:{stroke:A,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:e,collapsedMarkerFontSize:12,collapsedMarkerFillOpacity:1,collapsedSize:32,collapsedFillOpacity:1,fill:b,halo:!1,haloLineWidth:12,haloStroke:P,haloStrokeOpacity:.25,labelBackground:!1,labelBackgroundFill:e,labelBackgroundLineWidth:0,labelBackgroundOpacity:.75,labelBackgroundPadding:[2,4,2,4],labelFill:t,labelFontSize:12,labelFontWeight:400,labelOpacity:1,lineDash:0,lineWidth:1,fillOpacity:.04,strokeOpacity:1,padding:10,stroke:P},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:x,fillOpacity:.25,labelOpacity:.25,stroke:k,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 kye=UG({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"}),zye=UG({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 m0 extends TN{beforeDraw(e,t){return e}afterLayout(){}}class Vye extends m0{beforeDraw(e){const{model:t}=this.context,n=e.add.combos,r=s=>{const a=[];return s.forEach((o,l)=>{const u=t.getAncestorsData(l,"combo").map(h=>Lr(h)).reverse();a.push([l,o,u.length])}),new Map(a.sort(([,,o],[,,l])=>l-o).map(([o,l])=>[o,l]))};return e.add.combos=r(n),e.update.combos=r(e.update.combos),e}}function hf(i,e,t,n,r){const s=Lr(n),a=`${t}s`,o=r?n:i.add[a].get(s)||i.update[a].get(s)||i.remove[a].get(s)||n;Object.entries(i).forEach(([l,c])=>{e===l?c[a].set(s,o):c[a].delete(s)})}function dM(i,e){return Object.keys(i).every(t=>i[t]===e[t])}class Hye extends m0{beforeDraw(e,t){if(t.stage==="visibility"||!this.context.model.model.hasTreeStructure(Kl))return e;const{model:n}=this.context,{add:r,update:s}=e,a=[...e.update.combos.entries(),...e.add.combos.entries()];for(;a.length;){const[o,l]=a.pop();if(cf(l)){const c=n.getDescendantsData(o),u=c.map(Lr),{internal:h,external:d}=WN(u,f=>n.getRelatedEdgesData(f));c.forEach(f=>{const A=Lr(f),y=a.findIndex(([x])=>x===A);y!==-1&&a.splice(y,1);const b=n.getElementType(A);hf(e,"remove",b,f)}),h.forEach(f=>hf(e,"remove","edge",f)),d.forEach(f=>{var A;const y=Lr(f);((A=this.context.element)===null||A===void 0?void 0:A.getElement(y))?s.edges.set(y,f):r.edges.set(y,f)})}else{const c=n.getChildrenData(o),u=c.map(Lr),{edges:h}=WN(u,d=>n.getRelatedEdgesData(d));[...c,...h].forEach(d=>{var f;const A=Lr(d),y=n.getElementType(A);((f=this.context.element)===null||f===void 0?void 0:f.getElement(A))?hf(e,"update",y,d):hf(e,"add",y,d),y==="combo"&&a.push([A,d])})}}return e}}const kG=(i,e,t,n)=>{const r=`${t}s`,s=Lr(n);!i.add[r].has(s)&&!i.update[r].has(s)&&i[e][r].set(Lr(n),n)};class Gye extends m0{getElement(e){return this.context.element.getElement(e)}handleExpand(e,t){if(kG(t,"add","node",e),cf(e))return;const n=Lr(e);kG(t,"add","node",e),this.context.model.getRelatedEdgesData(n,"out").forEach(a=>{hf(t,"add","edge",a)}),this.context.model.getChildrenData(n).forEach(a=>{this.handleExpand(a,t)})}beforeDraw(e){const{graph:t,model:n}=this.context;if(!n.model.hasTreeStructure(EA))return e;const{add:{nodes:r,edges:s},update:{nodes:a}}=e,o=new Map,l=new Map;r.forEach((u,h)=>{cf(u)&&o.set(h,u)}),s.forEach(u=>{if(t.getElementType(u.source)!=="node")return;const h=t.getNodeData(u.source);cf(h)&&o.set(u.source,h)}),a.forEach((u,h)=>{const d=this.getElement(h);if(!d)return;const f=d.attributes.collapsed;cf(u)?f||o.set(h,u):f&&l.set(h,u)});const c=new Set;return o.forEach((u,h)=>{n.getDescendantsData(h).forEach(f=>{const A=Lr(f);if(c.has(A))return;hf(e,"remove","node",f),n.getRelatedEdgesData(A).forEach(b=>{hf(e,"remove","edge",b)}),c.add(A)})}),l.forEach((u,h)=>{if(n.getAncestorsData(h,EA).some(cf)){hf(e,"remove","node",u);return}this.handleExpand(u,e)}),e}}function Qye(i,e,t,n=!1){const r=bN[i][e];!n&&r?r!==t&&Md.warn(`The extension ${e} of ${i} has been registered before.`):Object.assign(bN[i],{[e]:t})}class fM{constructor(e){this.type=e}}class Zu extends fM{constructor(e,t){super(e),this.data=t}}class Uf extends fM{constructor(e,t,n,r){super(e),this.animationType=t,this.animation=n,this.data=r}}class rb extends fM{constructor(e,t,n){super(e),this.elementType=t,this.data=n}}class AM extends fM{constructor(e,t){super(e),this.data=t}}function hh(i,e){i.emit(e.type,e)}function Wye(i){if(!i)return null;if(i instanceof Ea.BB)return{type:"canvas",element:i};let e=i;for(;e;){if(d1(e))return{type:"node",element:e};if(uH(e))return{type:"edge",element:e};if(ZN(e))return{type:"combo",element:e};e=e.parentElement}return null}const ib="cachedStyle",pM=i=>`__${i}__`;function Zye(i,e){const t=Array.isArray(e)?e:[e];(0,Td.Z)(i,ib)||(0,s1.Z)(i,ib,{}),t.forEach(n=>{(0,s1.Z)((0,Td.Z)(i,ib),pM(n),i.attributes[n])})}function zG(i,e){return(0,Td.Z)(i,[ib,pM(e)])}function $ye(i,e){return pM(e)in((0,Td.Z)(i,ib)||{})}function uMe(i,e,t){set(i,[ib,pM(e)],t)}class jye{constructor(e){this.tasks=[],this.animations=new Set,this.context=e}getTasks(){const e=[...this.tasks];return this.tasks=[],e}add(e,t){this.tasks.push([e,t])}animate(e,t,n){var r,s,a;(r=t==null?void 0:t.before)===null||r===void 0||r.call(t);const o=this.getTasks().map(([c,u])=>{var h,d,f;const{element:A,elementType:y,stage:b}=c,x=GAe(this.context.options,y,b,e);(h=u==null?void 0:u.before)===null||h===void 0||h.call(u);const P=WAe(A,this.inferStyle(c,n),x);return P?((d=u==null?void 0:u.beforeAnimate)===null||d===void 0||d.call(u,P),P.finished.then(()=>{var k,$;(k=u==null?void 0:u.afterAnimate)===null||k===void 0||k.call(u,P),($=u==null?void 0:u.after)===null||$===void 0||$.call(u),this.animations.delete(P)})):(f=u==null?void 0:u.after)===null||f===void 0||f.call(u),P}).filter(Boolean);o.forEach(c=>this.animations.add(c));const l=_N(o);return l?((s=t==null?void 0:t.beforeAnimate)===null||s===void 0||s.call(t,l),l.finished.then(()=>{var c,u;(c=t==null?void 0:t.afterAnimate)===null||c===void 0||c.call(t,l),(u=t==null?void 0:t.after)===null||u===void 0||u.call(t),this.release()})):(a=t==null?void 0:t.after)===null||a===void 0||a.call(t),l}inferStyle(e,t){var n,r;const{element:s,elementType:a,stage:o,originalStyle:l,modifiedStyle:c}=e,u={},h={};if(o==="enter")Object.assign(u,{opacity:0});else if(o==="exit")Object.assign(h,{opacity:0});else if(o==="show")Object.assign(u,{opacity:0}),Object.assign(h,{opacity:(n=zG(s,"opacity"))!==null&&n!==void 0?n:q_("opacity")});else if(o==="hide")Object.assign(u,{opacity:(r=zG(s,"opacity"))!==null&&r!==void 0?r:q_("opacity")}),Object.assign(h,{opacity:0});else if(o==="collapse"){const{collapse:d}=t||{},{target:f,descendants:A,position:y}=d;if(a==="node"){if(A.includes(s.id)){const[b,x,P]=y;Object.assign(h,{x:b,y:x,z:P})}}else if(a==="combo"){if(s.id===f||A.includes(s.id)){const[b,x]=y;Object.assign(h,{x:b,y:x,childrenNode:l.childrenNode})}}else a==="edge"&&Object.assign(h,{sourceNode:c.sourceNode,targetNode:c.targetNode})}else if(o==="expand"){const{expand:d}=t||{},{target:f,descendants:A,position:y}=d;if(a==="node"){if(s.id===f||A.includes(s.id)){const[b,x,P]=y;Object.assign(u,{x:b,y:x,z:P})}}else if(a==="combo"){if(s.id===f||A.includes(s.id)){const[b,x,P]=y;Object.assign(u,{x:b,y:x,z:P,childrenNode:c.childrenNode})}}else a==="edge"&&Object.assign(u,{sourceNode:c.sourceNode,targetNode:c.targetNode})}return[Object.keys(u).length>0?Object.assign({},l,u):l,Object.keys(h).length>0?Object.assign({},c,h):c]}stop(){this.animations.forEach(e=>e.cancel())}clear(){this.tasks=[]}release(){var e,t;const{canvas:n}=this.context,r=(t=(e=n.document)===null||e===void 0?void 0:e.timeline)===null||t===void 0?void 0:t.animationsWithPromises;r&&(n.document.timeline.animationsWithPromises=r.filter(s=>s.playState!=="finished"))}destroy(){this.stop(),this.animations.clear(),this.tasks=[]}}class Kye{constructor(e){this.batchCount=0,this.context=e}emit(e){const{graph:t}=this.context;t.emit(e.type,e)}startBatch(e=!0){this.batchCount++,this.batchCount===1&&this.emit(new Zu(fs.BATCH_START,{initiate:e}))}endBatch(){this.batchCount--,this.batchCount===0&&this.emit(new Zu(fs.BATCH_END))}get isBatching(){return this.batchCount>0}destroy(){this.context=null}}class Xye extends MN{constructor(e){super(e),this.currentTarget=null,this.currentTargetType=null,this.category="behavior",this.forwardCanvasEvents=t=>{const{target:n}=t,r=Wye(n);if(!r)return;const{graph:s,canvas:a}=this.context,{type:o,element:l}=r;if("destroyed"in l&&(RC(l)||l.destroyed))return;const{type:c,detail:u,button:h}=t,d=Object.assign(Object.assign({},t),{target:l,targetType:o,originalTarget:n});c===bi.POINTER_MOVE&&(this.currentTarget!==l&&(this.currentTarget&&s.emit(`${this.currentTargetType}:${bi.POINTER_LEAVE}`,Object.assign(Object.assign({},d),{type:bi.POINTER_LEAVE,target:this.currentTarget,targetType:this.currentTargetType})),l&&(Object.assign(d,{type:bi.POINTER_ENTER}),s.emit(`${o}:${bi.POINTER_ENTER}`,d))),this.currentTarget=l,this.currentTargetType=o),c===bi.CLICK&&h===2||(s.emit(`${o}:${c}`,d),s.emit(c,d)),c===bi.CLICK&&u===2&&(Object.assign(d,{type:bi.DBLCLICK}),s.emit(`${o}:${bi.DBLCLICK}`,d),s.emit(bi.DBLCLICK,d)),c===bi.POINTER_DOWN&&h===2&&(Object.assign(d,{type:bi.CONTEXT_MENU,preventDefault:()=>{var f;(f=a.getContainer())===null||f===void 0||f.addEventListener(bi.CONTEXT_MENU,A=>A.preventDefault(),{once:!0})}}),s.emit(`${o}:${bi.CONTEXT_MENU}`,d),s.emit(bi.CONTEXT_MENU,d))},this.forwardContainerEvents=t=>{this.context.graph.emit(t.type,t)},this.forwardEvents(),this.setBehaviors(this.context.options.behaviors||[])}setBehaviors(e){this.setExtensions(e)}forwardEvents(){const e=this.context.canvas.getContainer();e&&[Wx.KEY_DOWN,Wx.KEY_UP].forEach(n=>{e.addEventListener(n,this.forwardContainerEvents)});const t=this.context.canvas.document;t&&[bi.CLICK,bi.DBLCLICK,bi.POINTER_OVER,bi.POINTER_LEAVE,bi.POINTER_ENTER,bi.POINTER_MOVE,bi.POINTER_OUT,bi.POINTER_DOWN,bi.POINTER_UP,bi.CONTEXT_MENU,bi.DRAG_START,bi.DRAG,bi.DRAG_END,bi.DRAG_ENTER,bi.DRAG_OVER,bi.DRAG_LEAVE,bi.DROP,bi.WHEEL].forEach(n=>{t.addEventListener(n,this.forwardCanvasEvents)})}destroy(){const e=this.context.canvas.getContainer();e&&[Wx.KEY_DOWN,Wx.KEY_UP].forEach(t=>{e.removeEventListener(t,this.forwardContainerEvents)}),this.context.canvas.document.removeAllEventListeners(),super.destroy()}}var Yye=v(59293),qye=v(85580),VG=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})},HG=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const c=new Ea.Xz(Object.assign(Object.assign({},s),{supportsMutipleCanvasesInOneContainer:!0,renderer:a[l],background:l==="background"?n:void 0}));return[l,c]}));ZG(o),this.extends={config:e,renderer:t,renderers:a,layers:o}}get ready(){return Promise.all(Object.entries(this.getLayers()).map(([,e])=>e.ready))}resize(e,t){Object.assign(this.extends.config,{width:e,height:t}),Object.values(this.getLayers()).forEach(n=>{const r=n.getCamera(),s=r.getPosition(),a=r.getFocalPoint();n.resize(e,t),r.setPosition(s),r.setFocalPoint(a)})}getBounds(e){return J_(Object.values(this.getLayers()).map(t=>e?t.getRoot().childNodes.find(r=>r.classList.includes(e)):t.getRoot()).filter(t=>(t==null?void 0:t.childNodes.length)>0).map(t=>t.getBounds()))}getContainer(){const e=this.extends.config.container;return typeof e=="string"?document.getElementById(e):e}getSize(){return[this.extends.config.width||0,this.extends.config.height||0]}appendChild(e,t){var n;const r=((n=e.style)===null||n===void 0?void 0:n.$layer)||"main";return this.getLayer(r).appendChild(e,t)}setRenderer(e){if(e===this.extends.renderer)return;const t=WG(e);this.extends.renderers=t,Object.entries(t).forEach(([n,r])=>this.getLayer(n).setRenderer(r)),ZG(this.getLayers())}getCanvasByViewport(e){return ch(this.getLayer().viewport2Canvas(MA(e)))}getViewportByCanvas(e){return ch(this.getLayer().canvas2Viewport(MA(e)))}getViewportByClient(e){return ch(this.getLayer().client2Viewport(MA(e)))}getClientByViewport(e){return ch(this.getLayer().viewport2Client(MA(e)))}getClientByCanvas(e){return this.getClientByViewport(this.getViewportByCanvas(e))}getCanvasByClient(e){const t=this.getLayer(),n=t.client2Viewport(MA(e));return ch(t.viewport2Canvas(n))}toDataURL(){return VG(this,arguments,void 0,function*(e={}){const t=window.devicePixelRatio||1,{mode:n="viewport"}=e,r=HG(e,["mode"]);let[s,a,o,l]=[0,0,0,0];if(n==="viewport")[o,l]=this.getSize();else if(n==="overall"){const x=this.getBounds(),P=i0(x);[s,a]=x.min,[o,l]=P}const c=(0,qye.L)('
    '),u=new Ea.Xz({width:o,height:l,renderer:new u1.Th,devicePixelRatio:t,container:c,background:this.extends.config.background});yield u.ready,u.appendChild(this.getLayer("background").getRoot().cloneNode(!0)),u.appendChild(this.getRoot().cloneNode(!0));const h=this.getLayer("label").getRoot().cloneNode(!0),d=u.viewport2Canvas({x:0,y:0}),f=this.getCanvasByViewport([0,0]);h.translate([f[0]-d.x,f[1]-d.y]),h.scale(1/this.getCamera().getZoom()),u.appendChild(h),u.appendChild(this.getLayer("transient").getRoot().cloneNode(!0));const A=this.getCamera(),y=u.getCamera();if(n==="viewport")y.setZoom(A.getZoom()),y.setPosition(A.getPosition()),y.setFocalPoint(A.getFocalPoint());else if(n==="overall"){const[x,P,k]=y.getPosition(),[$,se,ie]=y.getFocalPoint();y.setPosition([x+s,P+a,k]),y.setFocalPoint([$+s,se+a,ie])}const b=u.getContextService();return new Promise(x=>{u.addEventListener(Ea.$6.RERENDER,()=>VG(this,void 0,void 0,function*(){yield new Promise(k=>setTimeout(k,300));const P=yield b.toDataURL(r);x(P)}))})})}destroy(){Object.values(this.getLayers()).forEach(e=>{e.getCamera().cancelLandmarkAnimation(),e.destroy()})}}function WG(i){return Object.fromEntries(GG.map(e=>{const t=(i==null?void 0:i(e))||new u1.Th;return e==="main"?t.registerPlugin(new Yye.S({isDocumentDraggable:!0,isDocumentDroppable:!0,dragstartDistanceThreshold:10,dragstartTimeThreshold:100})):t.unregisterPlugin(t.getPlugin("dom-interaction")),[e,t]}))}function ZG(i){Object.entries(i).forEach(([e,t])=>{const n=t.getContextService().getDomElement();n.style.position="absolute",n.style.outline="none",n.tabIndex=1,e!=="main"&&(n.style.pointerEvents="none")})}var Jye=v(35300),m1=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rA.length!==y.length?!1:A.every((b,x)=>b===y[x]),f=(A,y)=>{const b=Object.keys(A),x=Object.keys(y);return b.length!==x.length?!1:b.every(P=>A[P]===y[P])};return!(!f(a,h)||!d(s,u)||!d(t,o)||!f(n,l)||!f(r,c))}var exe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{const r=$u(n);return this.isCombo(Lr(r))||(e===void 0||e.includes(Lr(r)))&&t.push(r),t},[])}getEdgeDatum(e){return $u(this.model.getEdge(e))}getEdgeData(e){return this.model.getAllEdges().reduce((t,n)=>{const r=$u(n);return(e===void 0||e.includes(Lr(r)))&&t.push(r),t},[])}getComboData(e){return this.model.getAllNodes().reduce((t,n)=>{const r=$u(n);return this.isCombo(Lr(r))&&(e===void 0||e.includes(Lr(r)))&&t.push(r),t},[])}getRootsData(e=EA){return this.model.getRoots(e).map($u)}getAncestorsData(e,t){const{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getAncestors(e,t).map($u)}getDescendantsData(e){const t=this.getElementDataById(e),n=[];return $v(t,r=>{r!==t&&n.push(r)},r=>this.getChildrenData(Lr(r)),"TB"),n}getParentData(e,t){const{model:n}=this;if(!t){Md.warn("The hierarchy structure key is not specified");return}if(!n.hasNode(e)||!n.hasTreeStructure(t))return;const r=n.getParent(e,t);return r?$u(r):void 0}getChildrenData(e){const t=this.getElementType(e)==="node"?EA:Kl,{model:n}=this;return!n.hasNode(e)||!n.hasTreeStructure(t)?[]:n.getChildren(e,t).map($u)}getElementsDataByType(e){return e==="node"?this.getNodeData():e==="edge"?this.getEdgeData():e==="combo"?this.getComboData():[]}getElementDataById(e){return this.getElementType(e)==="edge"?this.getEdgeDatum(e):this.getNodeLikeDatum(e)}getNodeLikeDatum(e){const t=this.model.getNode(e);return $u(t)}getNodeLikeData(e){return this.model.getAllNodes().reduce((t,n)=>{const r=$u(n);return e?e.includes(Lr(r))&&t.push(r):t.push(r),t},[])}getElementDataByState(e,t){return this.getElementsDataByType(e).filter(r=>{var s;return(s=r.states)===null||s===void 0?void 0:s.includes(t)})}getElementState(e){var t;return((t=this.getElementDataById(e))===null||t===void 0?void 0:t.states)||[]}hasNode(e){return this.model.hasNode(e)&&!this.isCombo(e)}hasEdge(e){return this.model.hasEdge(e)}hasCombo(e){return this.model.hasNode(e)&&this.isCombo(e)}getRelatedEdgesData(e,t="both"){return this.model.getRelatedEdges(e,t).map($u)}getNeighborNodesData(e){return this.model.getNeighbors(e).map($u)}setData(e){const{nodes:t=[],edges:n=[],combos:r=[]}=e,{nodes:s,edges:a,combos:o}=this.getData(),l=o0(s,t,h=>Lr(h),sb),c=o0(a,n,h=>Lr(h),sb),u=o0(o,r,h=>Lr(h),sb);this.batch(()=>{this.addData({nodes:l.enter,edges:c.enter,combos:u.enter}),this.updateData({nodes:l.update,edges:c.update,combos:u.update}),this.removeData({nodes:l.exit.map(Lr),edges:c.exit.map(Lr),combos:u.exit.map(Lr)})})}addData(e){const{nodes:t,edges:n,combos:r}=e;this.batch(()=>{this.addComboData(r),this.addNodeData(t),this.addEdgeData(n)})}addNodeData(e=[]){e.length&&(this.model.addNodes(e.map(t=>(this.pushChange({value:t,type:mc.NodeAdded}),yP(t)))),this.updateNodeLikeHierarchy(e))}addEdgeData(e=[]){e.length&&this.model.addEdges(e.map(t=>(this.pushChange({value:t,type:mc.EdgeAdded}),yP(t))))}addComboData(e=[]){if(!e.length)return;const{model:t}=this;t.hasTreeStructure(Kl)||t.attachTreeStructure(Kl),t.addNodes(e.map(n=>(this.comboIds.add(Lr(n)),this.pushChange({value:n,type:mc.ComboAdded}),yP(n)))),this.updateNodeLikeHierarchy(e)}addChildrenData(e,t){const n=this.getNodeLikeDatum(e),r=t.map(Lr);this.addNodeData(t),this.updateNodeData([{id:e,children:[...n.children||[],...r]}]),this.addEdgeData(r.map(s=>({source:e,target:s})))}updateNodeLikeHierarchy(e){if(!this.enableUpdateNodeLikeHierarchy)return;const{model:t}=this;e.forEach(n=>{const r=Lr(n);aC(n)&&(t.hasTreeStructure(Kl)||t.attachTreeStructure(Kl),this.setParent(r,aC(n),Kl));const a=n.children||[];if(a.length){t.hasTreeStructure(EA)||t.attachTreeStructure(EA);const o=a.filter(l=>t.hasNode(l));o.forEach(l=>this.setParent(l,r,EA)),o.length!==a.length&&this.updateNodeData([{id:r,children:o}])}})}preventUpdateNodeLikeHierarchy(e){this.enableUpdateNodeLikeHierarchy=!1,e(),this.enableUpdateNodeLikeHierarchy=!0}updateData(e){const{nodes:t,edges:n,combos:r}=e;this.batch(()=>{this.updateNodeData(t),this.updateComboData(r),this.updateEdgeData(n)})}updateNodeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{const n=[];e.forEach(r=>{const s=Lr(r),a=$u(t.getNode(s));if(sb(a,r))return;const o=v0(a,r);this.pushChange({value:o,original:a,type:mc.NodeUpdated}),t.mergeNodeData(s,o),n.push(o)}),this.updateNodeLikeHierarchy(n)})}refreshData(){const{nodes:e,edges:t,combos:n}=this.getData();e.forEach(r=>{this.pushChange({value:r,original:r,type:mc.NodeUpdated})}),t.forEach(r=>{this.pushChange({value:r,original:r,type:mc.EdgeUpdated})}),n.forEach(r=>{this.pushChange({value:r,original:r,type:mc.ComboUpdated})})}syncNodeDatum(e){const{model:t}=this,n=Lr(e),r=$u(t.getNode(n)),s=v0(r,e);t.mergeNodeData(n,s)}updateEdgeData(e=[]){if(!e.length)return;const{model:t}=this;this.batch(()=>{e.forEach(n=>{const r=Lr(n),s=$u(t.getEdge(r));if(sb(s,n))return;n.source&&s.source!==n.source&&t.updateEdgeSource(r,n.source),n.target&&s.target!==n.target&&t.updateEdgeTarget(r,n.target);const a=v0(s,n);this.pushChange({value:a,original:s,type:mc.EdgeUpdated}),t.mergeEdgeData(r,a)})})}updateComboData(e=[]){if(!e.length)return;const{model:t}=this;t.batch(()=>{const n=[];e.forEach(r=>{const s=Lr(r),a=$u(t.getNode(s));if(sb(a,r))return;const o=v0(a,r);this.pushChange({value:o,original:a,type:mc.ComboUpdated}),t.mergeNodeData(s,o),n.push(o)}),this.updateNodeLikeHierarchy(n)})}setParent(e,t,n,r=!0){var s;if(e===t)return;const a=this.getNodeLikeDatum(e),o=aC(a);if(t){const l=this.getNodeLikeDatum(t);if(((s=l.style)===null||s===void 0?void 0:s.zIndex)!==void 0){const c=(0,Td.Z)(l,["style","zIndex"],0)+(this.isCombo(t)?1:0);(0,s1.Z)(a,["style","zIndex"],c)}}if(o!==t&&n===Kl){const l={id:e,combo:t};this.isCombo(e)?this.syncComboDatum(l):this.syncNodeDatum(l)}this.model.setParent(e,t,n),r&&n===Kl&&(0,Jye.Z)([o,t]).forEach(l=>{l!==void 0&&this.refreshComboData(l)})}refreshComboData(e){const t=this.getComboData([e])[0],n=this.getAncestorsData(e,Kl);t&&this.pushChange({value:t,original:t,type:mc.ComboUpdated}),n.forEach(r=>{this.pushChange({value:r,original:r,type:mc.ComboUpdated})})}syncComboDatum(e){const{model:t}=this,n=Lr(e);if(!t.hasNode(n))return;const r=$u(t.getNode(n)),s=v0(r,e);t.mergeNodeData(n,s)}getElementPosition(e){const t=this.getElementDataById(e);return lh(t)}translateNodeLikeBy(e,t){this.isCombo(e)?this.translateComboBy(e,t):this.translateNodeBy(e,t)}translateNodeLikeTo(e,t){this.isCombo(e)?this.translateComboTo(e,t):this.translateNodeTo(e,t)}translateNodeBy(e,t){const n=this.getElementPosition(e),r=lo(n,[...t,0].slice(0,3));this.translateNodeTo(e,r)}translateNodeTo(e,t){const[n=0,r=0,s=0]=t;this.preventUpdateNodeLikeHierarchy(()=>{this.updateNodeData([{id:e,style:{x:n,y:r,z:s}}])})}translateComboBy(e,t){const[n=0,r=0,s=0]=t;if([n,r,s].some(isNaN)||[n,r,s].every(l=>l===0))return;const a=this.getComboData([e])[0];if(!a)return;const o=new Set;$v(a,l=>{const c=Lr(l);if(o.has(c))return;o.add(c);const[u,h,d]=lh(l),f=v0(l,{style:{x:u+n,y:h+r,z:d+s}});this.pushChange({value:f,original:l,type:this.isCombo(c)?mc.ComboUpdated:mc.NodeUpdated}),this.model.mergeNodeData(c,f)},l=>this.getChildrenData(Lr(l)),"BT")}translateComboTo(e,t){var n;if(t.some(isNaN))return;const[r=0,s=0,a=0]=t,o=(n=this.getComboData([e]))===null||n===void 0?void 0:n[0];if(!o)return;const[l,c,u]=lh(o),h=r-l,d=s-c,f=a-u;$v(o,A=>{const y=Lr(A),[b,x,P]=lh(A),k=v0(A,{style:{x:b+h,y:x+d,z:P+f}});this.pushChange({value:k,original:A,type:this.isCombo(y)?mc.ComboUpdated:mc.NodeUpdated}),this.model.mergeNodeData(y,k)},A=>this.getChildrenData(Lr(A)),"BT")}removeData(e){const{nodes:t,edges:n,combos:r}=e;this.batch(()=>{this.removeEdgeData(n),this.removeNodeData(t),this.removeComboData(r),this.latestRemovedComboIds=new Set(r)})}removeNodeData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.removeEdgeData(this.getRelatedEdgesData(t).map(Lr)),this.pushChange({value:this.getNodeData([t])[0],type:mc.NodeRemoved}),this.removeNodeLikeHierarchy(t)}),this.model.removeNodes(e)})}removeEdgeData(e=[]){e.length&&(e.forEach(t=>this.pushChange({value:this.getEdgeData([t])[0],type:mc.EdgeRemoved})),this.model.removeEdges(e))}removeComboData(e=[]){e.length&&this.batch(()=>{e.forEach(t=>{this.pushChange({value:this.getComboData([t])[0],type:mc.ComboRemoved}),this.removeNodeLikeHierarchy(t),this.comboIds.delete(t)}),this.model.removeNodes(e)})}removeNodeLikeHierarchy(e){if(this.model.hasTreeStructure(Kl)){const t=aC(this.getNodeLikeDatum(e));this.setParent(e,void 0,Kl,!1),this.model.getChildren(e,Kl).forEach(n=>{const r=$u(n),s=Lr(r);this.setParent(Lr(r),t,Kl,!1);const a=v0(r,{id:Lr(r),combo:t});this.pushChange({value:a,original:r,type:this.isCombo(s)?mc.ComboUpdated:mc.NodeUpdated}),this.model.mergeNodeData(Lr(r),a)}),(0,Fc.Z)(t)||this.refreshComboData(t)}}getElementType(e){if(this.model.hasNode(e))return this.isCombo(e)?"combo":"node";if(this.model.hasEdge(e))return"edge";throw new Error(Kg(`Unknown element type of id: ${e}`))}destroy(){const{model:e}=this,t=e.getAllNodes(),n=e.getAllEdges();e.removeEdges(n.map(r=>r.id)),e.removeNodes(t.map(r=>r.id)),this.context={}}}var gM=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class rxe{constructor(e){this.elementMap={},this.shapeTypeMap={},this.paletteStyle={},this.defaultStyle={},this.stateStyle={},this.visibilityCache=new WeakMap,this.context=e}init(){if(!this.container){const{canvas:e}=this.context;this.container=e.appendChild(new Ea.ZA({className:"elements"}))}}emit(e,t){t.silence||hh(this.context.graph,e)}forEachElementData(e){Zv.forEach(t=>{const n=this.context.model.getElementsDataByType(t);e(t,n)})}getElementType(e,t){var n;const{options:r,graph:s}=this.context,a=((n=r[e])===null||n===void 0?void 0:n.type)||t.type;return a?typeof a=="string"?a:a.call(s,t):e==="edge"?"line":"circle"}getTheme(e){return d6(this.context.options)[e]||{}}getThemeStyle(e){return this.getTheme(e).style||{}}getThemeStateStyle(e,t){const{state:n={}}=this.getTheme(e);return Object.assign({},...t.map(r=>n[r]||{}))}computePaletteStyle(){const{options:e}=this.context;this.paletteStyle={},this.forEachElementData((t,n)=>{var r,s;const a=Object.assign({},z6((r=this.getTheme(t))===null||r===void 0?void 0:r.palette),z6((s=e[t])===null||s===void 0?void 0:s.palette));a!=null&&a.field&&Object.assign(this.paletteStyle,Ipe(n,a))})}getPaletteStyle(e,t){const n=this.paletteStyle[t];return n?e==="edge"?{stroke:n}:{fill:n}:{}}computeElementDefaultStyle(e,t){var n;const{options:r}=this.context,s=((n=r[e])===null||n===void 0?void 0:n.style)||{};"transform"in s&&Array.isArray(s.transform)&&(s.transform=[...s.transform]),this.defaultStyle[Lr(t.datum)]=U6(s,t)}computeElementsDefaultStyle(e){const{graph:t}=this.context;this.forEachElementData((n,r)=>{const s=r.length;for(let a=0;athis.getElementStateStyle(e,r,n)))}computeElementsStatesStyle(e){const{graph:t}=this.context;this.forEachElementData((n,r)=>{const s=r.length;for(let a=0;athis.elementMap[e])}getEdges(){return this.context.model.getEdgeData().map(e=>this.elementMap[Lr(e)])}getCombos(){return this.context.model.getComboData().map(({id:e})=>this.elementMap[e])}getElementComputedStyle(e,t){const n=Lr(t),r=this.getThemeStyle(e),s=this.getPaletteStyle(e,n),a=t.style||{},o=this.getDefaultStyle(n),l=this.getThemeStateStyle(e,this.getElementState(n)),c=this.getStateStyle(n),u=Object.assign({},r,s,a,o,l,c);if(e==="combo"){const h=this.context.model.getChildrenData(n),f=!!u.collapsed?[]:h.map(Lr).filter(A=>this.getElement(A));Object.assign(u,{childrenNode:f,childrenData:h})}return u}draw(e={animation:!0}){this.init();const t=this.computeChangesAndDrawData(e);if(!t)return null;const{dataChanges:n,drawData:r}=t;this.markDestroyElement(r),this.computeStyle(e.stage);const{add:s,update:a,remove:o}=r;this.destroyElements(o,e),this.createElements(s,e),this.updateElements(a,e);const{animation:l,silence:c}=e,{type:u="draw"}=e;return this.context.animation.animate(l,c?{}:{before:()=>this.emit(new Zu(fs.BEFORE_DRAW,{dataChanges:n,animation:l,render:u==="render"}),e),beforeAnimate:h=>this.emit(new Uf(fs.BEFORE_ANIMATE,Cd.DRAW,h,r),e),afterAnimate:h=>this.emit(new Uf(fs.AFTER_ANIMATE,Cd.DRAW,h,r),e),after:()=>this.emit(new Zu(fs.AFTER_DRAW,{dataChanges:n,animation:l,render:u==="render"}),e)})}computeChangesAndDrawData(e){const{model:t}=this.context,n=t.getChanges(),r=pP(n);if(r.length===0)return null;const{NodeAdded:s=[],NodeUpdated:a=[],NodeRemoved:o=[],EdgeAdded:l=[],EdgeUpdated:c=[],EdgeRemoved:u=[],ComboAdded:h=[],ComboUpdated:d=[],ComboRemoved:f=[]}=(0,iC.Z)(r,x=>x.type),A=x=>new Map(x.map(P=>{const k=P.value;return[Lr(k),k]})),y={add:{nodes:A(s),edges:A(l),combos:A(h)},update:{nodes:A(a),edges:A(c),combos:A(d)},remove:{nodes:A(o),edges:A(u),combos:A(f)}},b=this.transformData(y,e);return t.clearChanges(),{dataChanges:n,drawData:b}}transformData(e,t){const n=this.context.transform.getTransformInstance();return Object.values(n).reduce((r,s)=>s.beforeDraw(r,t),e)}createElement(e,t,n){var r,s;const a=Lr(t);if(this.getElement(a))return;const l=this.getElementType(e,t),c=this.getElementComputedStyle(e,t),u=jg(e,l);if(!u)return Md.warn(`The element ${l} of ${e} is not registered.`);if(this.emit(new rb(fs.BEFORE_ELEMENT_CREATE,e,t),n),n.stage==="expand"){const f=this.getElementZIndex(n.target);(!c.zIndex||c.zIndex{var f;this.emit(new rb(fs.AFTER_ELEMENT_CREATE,e,t),n),(f=h.onCreate)===null||f===void 0||f.call(h)}})}createElements(e,t){const{nodes:n,edges:r,combos:s}=e;[["node",n],["combo",s],["edge",r]].forEach(([o,l])=>{l.forEach(c=>this.createElement(o,c,t))})}getUpdateStageStyle(e,t,n){const{stage:r="update"}=n;if(r==="translate")if(e==="node"||e==="combo"){const{style:{x:s=0,y:a=0,z:o=0}={}}=t;return{x:s,y:a,z:o}}else return{};return this.getElementComputedStyle(e,t)}updateElement(e,t,n){var r;const s=Lr(t),{stage:a="update"}=n,o=this.getElement(s);if(!o)return()=>null;this.emit(new rb(fs.BEFORE_ELEMENT_UPDATE,e,t),n);const l=this.getElementType(e,t),c=this.getUpdateStageStyle(e,t,n);this.shapeTypeMap[s]!==l&&(o.destroy(),delete this.shapeTypeMap[s],delete this.elementMap[s],this.createElement(e,t,{animation:!1,silence:!0}));const u=a!=="visibility"?a:c.visibility==="hidden"?"hide":"show";u==="hide"&&delete c.visibility,(r=this.context.animation)===null||r===void 0||r.add({element:o,elementType:e,stage:u,originalStyle:Object.assign({},o.attributes),modifiedStyle:Object.assign(Object.assign({},o.attributes),c)},{before:()=>{const h=this.elementMap[s];a!=="collapse"&&XN(h,c),a==="visibility"&&($ye(h,"opacity")||Zye(h,"opacity"),this.visibilityCache.set(h,u==="show"?"visible":"hidden"),u==="show"&&Qv(h,"visible"))},after:()=>{var h;const d=this.elementMap[s];a==="collapse"&&XN(d,c),u==="hide"&&Qv(d,this.visibilityCache.get(d)),this.emit(new rb(fs.AFTER_ELEMENT_UPDATE,e,t),n),(h=d.onUpdate)===null||h===void 0||h.call(d)}})}updateElements(e,t){const{nodes:n,edges:r,combos:s}=e;[["node",n],["combo",s],["edge",r]].forEach(([o,l])=>{l.forEach(c=>this.updateElement(o,c,t))})}markDestroyElement(e){Object.values(e.remove).forEach(t=>{t.forEach(n=>{const r=Lr(n),s=this.getElement(r);s&&kge(s)})})}destroyElement(e,t,n){var r;const{stage:s="exit"}=n,a=Lr(t),o=this.elementMap[a];if(!o)return()=>null;this.emit(new rb(fs.BEFORE_ELEMENT_DESTROY,e,t),n),(r=this.context.animation)===null||r===void 0||r.add({element:o,elementType:e,stage:s,originalStyle:Object.assign({},o.attributes),modifiedStyle:Object.assign({},o.attributes)},{after:()=>{var l;this.clearElement(a),o.destroy(),(l=o.onDestroy)===null||l===void 0||l.call(o),this.emit(new rb(fs.AFTER_ELEMENT_DESTROY,e,t),n)}})}destroyElements(e,t){const{nodes:n,edges:r,combos:s}=e;[["combo",s],["edge",r],["node",n]].forEach(([o,l])=>{l.forEach(c=>this.destroyElement(o,c,t))})}clearElement(e){delete this.paletteStyle[e],delete this.defaultStyle[e],delete this.stateStyle[e],delete this.elementMap[e],delete this.shapeTypeMap[e]}collapseNode(e,t){return gM(this,void 0,void 0,function*(){var n;const{model:r,layout:s}=this.context,a=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!a)return;this.markDestroyElement(a.drawData);const o=yield s.simulate();r.updateData(o);const l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{drawData:c}=l,{add:u,remove:h,update:d}=c;this.markDestroyElement(c);const f={animation:t,stage:"collapse",data:c};this.destroyElements(h,f),this.createElements(u,f),this.updateElements(d,f),yield(n=this.context.animation.animate(t,{beforeAnimate:A=>this.emit(new Uf(fs.BEFORE_ANIMATE,Cd.COLLAPSE,A,c),f),afterAnimate:A=>this.emit(new Uf(fs.AFTER_ANIMATE,Cd.COLLAPSE,A,c),f)},{collapse:{target:e,descendants:Array.from(h.nodes).map(([,A])=>Lr(A)),position:lh(d.nodes.get(e))}}))===null||n===void 0?void 0:n.finished})}expandNode(e,t){return gM(this,void 0,void 0,function*(){var n;const{model:r,layout:s}=this.context;if(!r.getAncestorsData(e,Kl).every(A=>cf(A)))return;const a=lh(r.getNodeData([e])[0]),o=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!o)return;const{drawData:{add:l}}=o;this.createElements(l,{animation:!1,stage:"expand",target:e}),this.context.animation.clear();const c=yield s.simulate();r.updateData(c),this.computeStyle("expand");const u=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!u)return;const{drawData:h}=u,{update:d}=h,f={animation:t,stage:"expand",data:h};l.edges.forEach(A=>d.edges.set(Lr(A),A)),l.nodes.forEach(A=>d.nodes.set(Lr(A),A)),this.updateElements(d,f),yield(n=this.context.animation.animate(t,{beforeAnimate:A=>this.emit(new Uf(fs.BEFORE_ANIMATE,Cd.EXPAND,A,h),f),afterAnimate:A=>this.emit(new Uf(fs.AFTER_ANIMATE,Cd.EXPAND,A,h),f)},{expand:{target:e,descendants:Array.from(l.nodes).map(([,A])=>Lr(A)),position:a}}))===null||n===void 0?void 0:n.finished})}collapseCombo(e,t){return gM(this,void 0,void 0,function*(){var n;const{model:r,element:s}=this.context;if(r.getAncestorsData(e,Kl).some(y=>cf(y)))return;const a=s.getElement(e),o=a.getComboPosition(Object.assign(Object.assign({},a.attributes),{collapsed:!0})),l=this.computeChangesAndDrawData({stage:"collapse",animation:t});if(!l)return;const{dataChanges:c,drawData:u}=l;this.markDestroyElement(u);const{update:h,remove:d}=u,f={animation:t,stage:"collapse",data:u};this.destroyElements(d,f),this.updateElements(h,f);const A=y=>Array.from(y).map(([,b])=>Lr(b));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new Zu(fs.BEFORE_DRAW,{dataChanges:c,animation:t}),f),beforeAnimate:y=>this.emit(new Uf(fs.BEFORE_ANIMATE,Cd.COLLAPSE,y,u),f),afterAnimate:y=>this.emit(new Uf(fs.AFTER_ANIMATE,Cd.COLLAPSE,y,u),f),after:()=>this.emit(new Zu(fs.AFTER_DRAW,{dataChanges:c,animation:t}),f)},{collapse:{target:e,descendants:[...A(d.nodes),...A(d.combos)],position:o}}))===null||n===void 0?void 0:n.finished})}expandCombo(e,t){return gM(this,void 0,void 0,function*(){var n;const{model:r}=this.context,s=lh(r.getComboData([e])[0]);this.computeStyle("expand");const a=this.computeChangesAndDrawData({stage:"expand",animation:t});if(!a)return;const{dataChanges:o,drawData:l}=a,{add:c,update:u}=l,h={animation:t,stage:"expand",data:l,target:e};this.createElements(c,h),this.updateElements(u,h);const d=f=>Array.from(f).map(([,A])=>Lr(A));yield(n=this.context.animation.animate(t,{before:()=>this.emit(new Zu(fs.BEFORE_DRAW,{dataChanges:o,animation:t}),h),beforeAnimate:f=>this.emit(new Uf(fs.BEFORE_ANIMATE,Cd.EXPAND,f,l),h),afterAnimate:f=>this.emit(new Uf(fs.AFTER_ANIMATE,Cd.EXPAND,f,l),h),after:()=>this.emit(new Zu(fs.AFTER_DRAW,{dataChanges:o,animation:t}),h)},{expand:{target:e,descendants:[...d(c.nodes),...d(c.combos)],position:s}}))===null||n===void 0?void 0:n.finished})}getFrontZIndex(e){const{model:t}=this.context,n=t.getElementType(e),r=t.getElementDataById(e),s=t.getData();if(Object.assign(s,{[`${n}s`]:s[`${n}s`].filter(a=>Lr(a)!==e)}),n==="combo"&&!cf(r)){const a=t.getAncestorsData(e,Kl).map(Lr);s.nodes=s.nodes.filter(o=>!a.includes(Lr(o))),s.combos=s.combos.filter(o=>!a.includes(Lr(o))),s.edges=s.edges.filter(({source:o,target:l})=>a.includes(o)&&a.includes(l))}return Math.max(0,...Object.values(s).flat().map(a=>{const o=Lr(a);return this.getElementZIndex(o)}))+1}destroy(){this.container.destroy(),this.elementMap={},this.shapeTypeMap={},this.defaultStyle={},this.stateStyle={},this.paletteStyle={},this.context={}}}var $G=v(96262);class ixe extends AP.Z{constructor(e,t,n){super(),this.graph=e,this.layout=t,this.options=n,this.spawnWorker()}spawnWorker(){this.proxy=$G.Ud(new Worker(new URL(v.p+v.u(96344),v.b),{type:void 0})),this.running&&(this.running=!1,this.execute())}execute(){var e;return(0,za.mG)(this,void 0,void 0,function*(){if(this.running)return this;this.running=!0;const t=this.layout.options,{onTick:n}=t,r=(0,za._T)(t,["onTick"]),s={};Object.keys(r).forEach(c=>{(0,Ra.Z)(r[c])||(s[c]=r[c])});const a={layout:{id:this.layout.id,options:s,iterations:(e=this.options)===null||e===void 0?void 0:e.iterations},nodes:this.graph.getAllNodes(),edges:this.graph.getAllEdges()},o=new Float32Array([0]),[l]=yield this.proxy.calculateLayout(a,[o]);return l})}stop(){return this.running=!1,this.proxy.stopLayout(),this}kill(){this.proxy[$G.Yy]()}isRunning(){return this.running}}var v1=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})},sxe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);rt.afterLayout())}simulate(){return v1(this,void 0,void 0,function*(){if(!this.options)return{};const e=Array.isArray(this.options)?this.options:[this.options];let t={};for(const n of e){const r=e.indexOf(n),s=this.getLayoutData(n);t=yield this.stepLayout(s,Object.assign(Object.assign(Object.assign({},this.presetOptions),n),{animation:!1}),r)}return t})}stepLayout(e,t,n){return v1(this,void 0,void 0,function*(){return Wge(t)?yield this.treeLayout(e,t,n):yield this.graphLayout(e,t,n)})}graphLayout(e,t,n){return v1(this,void 0,void 0,function*(){const{animation:r,enableWorker:s,iterations:a=300}=t,o=this.initGraphLayout(t);if(!o)return{};if(this.instances[n]=o,this.instance=o,s){const c=o;return this.supervisor=new ixe(c.graphData2LayoutModel(e),c.instance,{iterations:a}),DC(yield this.supervisor.execute())}if(uP(o))return r?yield o.execute(e,{onTick:c=>{this.updateElementPosition(c,!1)}}):(o.execute(e),o.stop(),o.tick(a));const l=yield o.execute(e);if(r){const c=this.updateElementPosition(l,r);yield c==null?void 0:c.finished}return l})}treeLayout(e,t,n){return v1(this,void 0,void 0,function*(){const{type:r,animation:s}=t,a=jg("layout",r);if(!a)return{};const{nodes:o=[],edges:l=[]}=e,c=new Iu.k({nodes:o.map(A=>({id:Lr(A),data:A.data||{}})),edges:l.map(A=>({id:Lr(A),source:A.source,target:A.target,data:A.data||{}}))});txe(c);const u={nodes:[],edges:[]},h={nodes:[],edges:[]};c.getRoots(EA).forEach(A=>{$v(A,k=>{k.children=c.getSuccessors(k.id)},k=>c.getSuccessors(k.id),"TB");const y=a(A,t),{x:b,y:x,z:P=0}=y;$v(y,k=>{const{id:$,x:se,y:ie,z:ce=0}=k;u.nodes.push({id:$,style:{x:b,y:x,z:P}}),h.nodes.push({id:$,style:{x:se,y:ie,z:ce}})},k=>k.children,"TB")});const f=this.inferTreeLayoutOffset(h);if(jG(h,f),s){jG(u,f),this.updateElementPosition(u,!1);const A=this.updateElementPosition(h,s);yield A==null?void 0:A.finished}return h})}inferTreeLayoutOffset(e){var t;let[n,r]=[1/0,-1/0],[s,a]=[1/0,-1/0];(t=e.nodes)===null||t===void 0||t.forEach(y=>{const{x:b=0,y:x=0}=y.style||{};n=Math.min(n,b),r=Math.max(r,b),s=Math.min(s,x),a=Math.max(a,x)});const{canvas:o}=this.context,l=o.getSize(),[c,u]=o.getCanvasByViewport([0,0]),[h,d]=o.getCanvasByViewport(l);if(n>=c&&r<=h&&s>=u&&a<=d)return[0,0];const f=(c+h)/2,A=(u+d)/2;return[f-(n+r)/2,A-(s+a)/2]}stopLayout(){this.instance&&uP(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(e){const{nodeFilter:t=()=>!0}=e,{nodes:n,edges:r,combos:s}=this.context.model.getData(),a=u=>this.context.element.getElement(u),o=n.filter(u=>{const h=Lr(u),d=a(h);return!d||RC(d)?!1:t(u)}),l=new Map(o.map(u=>[Lr(u),u])),c=r.filter(u=>{const{source:h,target:d}=u;return!(!l.has(h)||!l.has(d))});return{nodes:o,edges:c,combos:s}}initGraphLayout(e){var t;const{element:n,viewport:r}=this.context,{type:s,enableWorker:a,animation:o,iterations:l}=e,c=sxe(e,["type","enableWorker","animation","iterations"]),[u,h]=r.getCanvasSize(),d=[u/2,h/2],f=(t=e==null?void 0:e.nodeSize)!==null&&t!==void 0?t:P=>{const k=n==null?void 0:n.getElement(P.id),{size:$}=(k==null?void 0:k.attributes)||{};return Math.max(...Df($))},A=jg("layout",s);if(!A)return Md.warn(`The layout of ${s} is not registered.`);const y=Object.getPrototypeOf(A.prototype)===mH.prototype?A:Zge(A,this.context),b=new y(this.context),x={nodeSize:f,width:u,height:h,center:d};switch(b.id){case"d3-force":case"d3-force-3d":Object.assign(x,{center:{x:u/2,y:h/2,z:0}});break;default:break}return(0,Xg.Z)(b.options,x,c),b}updateElementPosition(e,t){const{model:n,element:r}=this.context;return r?(n.updateData(e),r.draw({animation:t,silence:!0})):null}destroy(){var e;this.stopLayout(),this.context={},(e=this.supervisor)===null||e===void 0||e.kill(),this.supervisor=void 0,this.instance=void 0,this.instances=[],this.animationResult=void 0}}const jG=(i,e)=>{var t;const[n,r]=e;(t=i.nodes)===null||t===void 0||t.forEach(s=>{if(s.style){const{x:a=0,y:o=0}=s.style;s.style.x=a+n,s.style.y=o+r}else s.style={x:n,y:r}})};class oxe extends MN{constructor(e){super(e),this.category="plugin",this.setPlugins(this.context.options.plugins||[])}setPlugins(e){this.setExtensions(e)}getPluginInstance(e){const t=this.extensionMap[e];if(t)return t;Md.warn(`Cannot find the plugin ${e}, will try to find it by type.`);const n=this.extensions.find(r=>r.type===e);if(n)return this.extensionMap[n.key]}}const mM=["update-related-edges","collapse-expand-node","collapse-expand-combo","get-edge-actual-ends","arrange-draw-order"];class lxe extends MN{constructor(e){super(e),this.category="transform",this.setTransforms(this.context.options.transforms||[])}getTransforms(){}setTransforms(e){this.setExtensions([...mM.slice(0,mM.length-1),...e,mM[mM.length-1]])}getTransformInstance(e){return e?this.extensionMap[e]:this.extensionMap}}var y1=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class cxe{get padding(){return kp(this.context.options.padding)}get paddingOffset(){const[e,t,n,r]=this.padding,[s,a,o]=[(r-t)/2,(e-n)/2,0];return[s,a,o]}constructor(e){this.landmarkCounter=0,this.context=e;const[t,n]=this.paddingOffset,{zoom:r,rotation:s,x:a=t,y:o=n}=e.options;this.transform({mode:"absolute",scale:r,translate:[a,o],rotate:s},!1)}get camera(){const{canvas:e}=this.context;return new Proxy(e.getCamera(),{get:(t,n)=>{const s=Object.entries(e.getLayers()).filter(([o])=>!["main"].includes(o)).map(([,o])=>o.getCamera()),a=t[n];if(typeof a=="function")return(...o)=>{const l=a.apply(t,o);return s.forEach(c=>{c[n].apply(c,o)}),l}}})}createLandmark(e){return this.camera.createLandmark(`landmark-${this.landmarkCounter++}`,e)}getAnimation(e){const t=f6(this.context.options,e);return t?(0,Kv.Z)(Object.assign({},t),["easing","duration"]):!1}getCanvasSize(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t,n]}getCanvasCenter(){const{canvas:e}=this.context,{width:t=0,height:n=0}=e.getConfig();return[t/2,n/2,0]}getViewportCenter(){const[e,t]=this.camera.getPosition();return[e,t,0]}getGraphCenter(){return this.context.graph.getViewportByCanvas(this.getCanvasCenter())}getZoom(){return this.camera.getZoom()}getRotation(){return this.camera.getRoll()}getTranslateOptions(e){const{camera:t}=this,{mode:n,translate:r=[]}=e,s=this.getZoom(),a=t.getPosition(),o=t.getFocalPoint(),[l,c]=this.getCanvasCenter(),[u=0,h=0,d=0]=r,f=CA([-u,-h,-d],s);return n==="relative"?{position:lo(a,f),focalPoint:lo(o,f)}:{position:lo([l,c,a[2]],f),focalPoint:lo([l,c,o[2]],f)}}getRotateOptions(e){const{mode:t,rotate:n=0}=e;return{roll:t==="relative"?this.camera.getRoll()+n:n}}getZoomOptions(e){const{zoomRange:t}=this.context.options,n=this.camera.getZoom(),{mode:r,scale:s=1}=e;return(0,bH.Z)(r==="relative"?n*s:s,...t)}transform(e,t){return y1(this,void 0,void 0,function*(){const{graph:n}=this.context,{translate:r,rotate:s,scale:a,origin:o}=e;this.cancelAnimation();const l=this.getAnimation(t);if(hh(n,new AM(fs.BEFORE_TRANSFORM,e)),!s&&a&&!r&&o&&!l){this.camera.setZoomByViewportPoint(this.getZoomOptions(e),o),hh(n,new AM(fs.AFTER_TRANSFORM,e));return}const c={};if(r&&Object.assign(c,this.getTranslateOptions(e)),(0,fa.Z)(s)&&Object.assign(c,this.getRotateOptions(e)),(0,fa.Z)(a)&&Object.assign(c,{zoom:this.getZoomOptions(e)}),l)return hh(n,new Uf(fs.BEFORE_ANIMATE,Cd.TRANSFORM,null,e)),new Promise(u=>{this.transformResolver=u,this.camera.gotoLandmark(this.createLandmark(c),Object.assign(Object.assign({},l),{onfinish:()=>{hh(n,new Uf(fs.AFTER_ANIMATE,Cd.TRANSFORM,null,e)),hh(n,new AM(fs.AFTER_TRANSFORM,e)),this.transformResolver=void 0,u()}}))});this.camera.gotoLandmark(this.createLandmark(c),{duration:0}),hh(n,new AM(fs.AFTER_TRANSFORM,e))})}fitView(e,t){return y1(this,void 0,void 0,function*(){const[n,r,s,a]=this.padding,{when:o="always",direction:l="both"}=e||{},[c,u]=this.context.canvas.getSize(),h=c-a-r,d=u-n-s,f=this.context.canvas.getBounds(),A=this.getBBoxInViewport(f),[y,b]=i0(A),x=l==="x"&&y>=h||l==="y"&&b>=d||l==="both"&&y>=h&&b>=d;if(o==="overflow"&&!x)return yield this.fitCenter(t);const P=h/y,k=d/b,$=l==="x"?P:l==="y"?k:Math.min(P,k),se=this.getAnimation(t);yield this.transform({mode:"relative",scale:$,translate:lo(Gl(this.getCanvasCenter(),this.getBBoxInViewport(f).center),CA(this.paddingOffset,$))},se)})}fitCenter(e){return y1(this,void 0,void 0,function*(){const t=this.context.canvas.getBounds();yield this.focus(t,e)})}focusElements(e,t){return y1(this,void 0,void 0,function*(){const{element:n}=this.context;if(!n)return;const r=J_(e.map(s=>n.getElement(s).getRenderBounds()));yield this.focus(r,t)})}focus(e,t){return y1(this,void 0,void 0,function*(){const n=this.context.graph.getViewportByCanvas(e.center),r=this.getCanvasCenter(),s=Gl(r,n);yield this.transform({mode:"relative",translate:lo(s,this.paddingOffset)},t)})}getBBoxInViewport(e){const{min:t,max:n}=e,{graph:r}=this.context,[s,a]=r.getViewportByCanvas(t),[o,l]=r.getViewportByCanvas(n),c=new Ea.mN;return c.setMinMax([s,a,0],[o,l,0]),c}isInViewport(e,t=!1,n=0){const{graph:r}=this.context,s=this.getCanvasSize(),[a,o]=r.getCanvasByViewport([0,0]),[l,c]=r.getCanvasByViewport(s);let u=new Ea.mN;return u.setMinMax([a,o,0],[l,c,0]),n&&(u=a0(u,n)),Zx(e)?SA(e,u):t?epe(e,u):u.intersects(e)}cancelAnimation(){var e,t;!((e=this.camera.landmarks)===null||e===void 0)&&e.length&&this.camera.cancelLandmarkAnimation(),(t=this.transformResolver)===null||t===void 0||t.call(this)}}var Xl=function(i,e,t,n){function r(s){return s instanceof t?s:new t(function(a){a(s)})}return new(t||(t=Promise))(function(s,a){function o(u){try{c(n.next(u))}catch(h){a(h)}}function l(u){try{c(n.throw(u))}catch(h){a(h)}}function c(u){u.done?s(u.value):r(u.value).then(o,l)}c((n=n.apply(i,e||[])).next())})};class xP extends AP.Z{constructor(e){super(),this.destroyed=!1,this.context={model:new nxe},this.isCollapsingExpanding=!1,this.onResize=(0,OC.Z)(()=>{this.resize()},300),this.options=Object.assign({},xP.defaultOptions,e),this._setOptions(this.options,!0),this.context.graph=this,this.options.autoResize&&window.addEventListener("resize",this.onResize)}getOptions(){return this.options}setOptions(e){this._setOptions(e,!1)}_setOptions(e,t){if(this.updateCanvas(e),t){const{data:d}=e;d&&this.addData(d);return}Object.assign(this.options,e);const{behaviors:n,combo:r,data:s,edge:a,layout:o,node:l,plugins:c,theme:u,transforms:h}=e;n&&this.setBehaviors(n),s&&this.setData(s),l&&this.setNode(l),a&&this.setEdge(a),r&&this.setCombo(r),o&&this.setLayout(o),u&&this.setTheme(u),c&&this.setPlugins(c),h&&this.setTransforms(h)}getSize(){return this.context.canvas?this.context.canvas.getSize():[this.options.width||0,this.options.height||0]}setSize(e,t){var n;Object.assign(this.options,{width:e,height:t}),(n=this.context.canvas)===null||n===void 0||n.resize(e,t)}setZoomRange(e){this.options.zoomRange=e}getZoomRange(){return this.options.zoomRange}setNode(e){this.options.node=e,this.context.model.refreshData()}setEdge(e){this.options.edge=e,this.context.model.refreshData()}setCombo(e){this.options.combo=e,this.context.model.refreshData()}getTheme(){return this.options.theme}setTheme(e){this.options.theme=(0,Ra.Z)(e)?e(this.getTheme()):e}setLayout(e){this.options.layout=(0,Ra.Z)(e)?e(this.getLayout()):e}getLayout(){return this.options.layout}setBehaviors(e){var t;this.options.behaviors=(0,Ra.Z)(e)?e(this.getBehaviors()):e,(t=this.context.behavior)===null||t===void 0||t.setBehaviors(this.options.behaviors)}updateBehavior(e){this.setBehaviors(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getBehaviors(){return this.options.behaviors||[]}setPlugins(e){var t;this.options.plugins=(0,Ra.Z)(e)?e(this.getPlugins()):e,(t=this.context.plugin)===null||t===void 0||t.setPlugins(this.options.plugins)}updatePlugin(e){this.setPlugins(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n))}getPlugins(){return this.options.plugins||[]}getPluginInstance(e){return this.context.plugin.getPluginInstance(e)}setTransforms(e){var t;this.options.transforms=(0,Ra.Z)(e)?e(this.getTransforms()):e,(t=this.context.transform)===null||t===void 0||t.setTransforms(this.options.transforms)}updateTransform(e){this.setTransforms(t=>t.map(n=>typeof n=="object"&&n.key===e.key?Object.assign(Object.assign({},n),e):n)),this.context.model.refreshData()}getTransforms(){return this.options.transforms||[]}getData(){return this.context.model.getData()}getElementData(e){return Array.isArray(e)?e.map(t=>this.context.model.getElementDataById(t)):this.context.model.getElementDataById(e)}getNodeData(e){var t;return e===void 0?this.context.model.getNodeData():Array.isArray(e)?this.context.model.getNodeData(e):(t=this.context.model.getNodeData([e]))===null||t===void 0?void 0:t[0]}getEdgeData(e){var t;return e===void 0?this.context.model.getEdgeData():Array.isArray(e)?this.context.model.getEdgeData(e):(t=this.context.model.getEdgeData([e]))===null||t===void 0?void 0:t[0]}getComboData(e){var t;return e===void 0?this.context.model.getComboData():Array.isArray(e)?this.context.model.getComboData(e):(t=this.context.model.getComboData([e]))===null||t===void 0?void 0:t[0]}setData(e){this.context.model.setData((0,Ra.Z)(e)?e(this.getData()):e)}addData(e){this.context.model.addData((0,Ra.Z)(e)?e(this.getData()):e)}addNodeData(e){this.context.model.addNodeData((0,Ra.Z)(e)?e(this.getNodeData()):e)}addEdgeData(e){this.context.model.addEdgeData((0,Ra.Z)(e)?e(this.getEdgeData()):e)}addComboData(e){this.context.model.addComboData((0,Ra.Z)(e)?e(this.getComboData()):e)}addChildrenData(e,t){this.context.model.addChildrenData(e,t)}updateData(e){this.context.model.updateData((0,Ra.Z)(e)?e(this.getData()):e)}updateNodeData(e){this.context.model.updateNodeData((0,Ra.Z)(e)?e(this.getNodeData()):e)}updateEdgeData(e){this.context.model.updateEdgeData((0,Ra.Z)(e)?e(this.getEdgeData()):e)}updateComboData(e){this.context.model.updateComboData((0,Ra.Z)(e)?e(this.getComboData()):e)}removeData(e){this.context.model.removeData((0,Ra.Z)(e)?e(this.getData()):e)}removeNodeData(e){this.context.model.removeNodeData((0,Ra.Z)(e)?e(this.getNodeData()):e)}removeEdgeData(e){this.context.model.removeEdgeData((0,Ra.Z)(e)?e(this.getEdgeData()):e)}removeComboData(e){this.context.model.removeComboData((0,Ra.Z)(e)?e(this.getComboData()):e)}getElementType(e){return this.context.model.getElementType(e)}getRelatedEdgesData(e,t="both"){return this.context.model.getRelatedEdgesData(e,t)}getNeighborNodesData(e){return this.context.model.getNeighborNodesData(e)}getAncestorsData(e,t){return this.context.model.getAncestorsData(e,t)}getParentData(e,t){return this.context.model.getParentData(e,t)}getChildrenData(e){return this.context.model.getChildrenData(e)}getDescendantsData(e){return this.context.model.getDescendantsData(e)}getElementDataByState(e,t){return this.context.model.getElementDataByState(e,t)}initCanvas(){return Xl(this,void 0,void 0,function*(){var e;if(this.context.canvas)return yield this.context.canvas.ready;const{container:t="container",width:n,height:r,renderer:s,cursor:a,background:o,devicePixelRatio:l=(e=window.devicePixelRatio)!==null&&e!==void 0?e:1}=this.options;if(t instanceof QG)this.context.canvas=t,a&&t.setCursor(a),s&&t.setRenderer(s),yield t.ready;else{const c=(0,TA.Z)(t)?document.getElementById(t):t,u=_G(c);this.emit(fs.BEFORE_CANVAS_INIT,{container:c,width:n,height:r});const h=new QG({container:c,width:n||u[0],height:r||u[1],background:o,renderer:s,cursor:a,devicePixelRatio:l});this.context.canvas=h,yield h.ready,this.emit(fs.AFTER_CANVAS_INIT,{canvas:h})}})}updateCanvas(e){var t,n;const{renderer:r,cursor:s,height:a,width:o}=e,l=this.context.canvas;l&&(r&&(this.emit(fs.BEFORE_RENDERER_CHANGE,{renderer:this.options.renderer}),l.setRenderer(r),this.emit(fs.AFTER_RENDERER_CHANGE,{renderer:r})),s&&l.setCursor(s),((0,fa.Z)(o)||(0,fa.Z)(a))&&this.setSize((t=o!=null?o:this.options.width)!==null&&t!==void 0?t:0,(n=a!=null?a:this.options.height)!==null&&n!==void 0?n:0))}initRuntime(){this.context.options=this.options,this.context.batch||(this.context.batch=new Kye(this.context)),this.context.plugin||(this.context.plugin=new oxe(this.context)),this.context.viewport||(this.context.viewport=new cxe(this.context)),this.context.transform||(this.context.transform=new lxe(this.context)),this.context.element||(this.context.element=new rxe(this.context)),this.context.animation||(this.context.animation=new jye(this.context)),this.context.layout||(this.context.layout=new axe(this.context)),this.context.behavior||(this.context.behavior=new Xye(this.context))}prepare(){return Xl(this,void 0,void 0,function*(){if(yield Promise.resolve(),this.destroyed)throw new Error(Kg("The graph instance has been destroyed"));yield this.initCanvas(),this.initRuntime()})}render(){return Xl(this,void 0,void 0,function*(){yield this.prepare(),hh(this,new Zu(fs.BEFORE_RENDER));const e=this.context.element.draw({type:"render"});yield Promise.all([e==null?void 0:e.finished,this.context.layout.layout()]),yield this.autoFit(),hh(this,new Zu(fs.AFTER_RENDER))})}draw(){return Xl(this,void 0,void 0,function*(){var e;yield this.prepare(),yield(e=this.context.element.draw())===null||e===void 0?void 0:e.finished})}layout(){return Xl(this,void 0,void 0,function*(){yield this.context.layout.layout()})}stopLayout(){this.context.layout.stopLayout()}clear(){return Xl(this,void 0,void 0,function*(){this.context.model.setData({}),yield this.draw()})}destroy(){hh(this,new Zu(fs.BEFORE_DESTROY));const{layout:e,animation:t,element:n,model:r,canvas:s,behavior:a,plugin:o}=this.context;o==null||o.destroy(),a==null||a.destroy(),e==null||e.destroy(),t==null||t.destroy(),n==null||n.destroy(),r.destroy(),s==null||s.destroy(),this.options={},this.context={},this.off(),window.removeEventListener("resize",this.onResize),this.destroyed=!0,hh(this,new Zu(fs.AFTER_DESTROY))}getCanvas(){return this.context.canvas}resize(e,t){const n=!e||!t?_G(this.context.canvas.getContainer()):[e,t];(0,pu.Z)(n,this.getSize())||(hh(this,new Zu(fs.BEFORE_SIZE_CHANGE,{size:n})),this.context.canvas.resize(...n),hh(this,new Zu(fs.AFTER_SIZE_CHANGE,{size:n})))}fitView(e,t){return Xl(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.fitView(e,t)})}fitCenter(e){return Xl(this,void 0,void 0,function*(){var t;yield(t=this.context.viewport)===null||t===void 0?void 0:t.fitCenter(e)})}autoFit(){return Xl(this,void 0,void 0,function*(){const{autoFit:e}=this.context.options;if(e)if((0,TA.Z)(e))e==="view"?yield this.fitView():e==="center"&&(yield this.fitCenter());else{const{type:t,animation:n}=e;t==="view"?yield this.fitView(e.options,n):t==="center"&&(yield this.fitCenter(n))}})}focusElement(e,t){return Xl(this,void 0,void 0,function*(){var n;yield(n=this.context.viewport)===null||n===void 0?void 0:n.focusElements(Array.isArray(e)?e:[e],t)})}zoomBy(e,t,n){return Xl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",scale:e,origin:n},t)})}zoomTo(e,t,n){return Xl(this,void 0,void 0,function*(){this.context.viewport.transform({mode:"absolute",scale:e,origin:n},t)})}getZoom(){return this.context.viewport.getZoom()}rotateBy(e,t,n){return Xl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",rotate:e,origin:n},t)})}rotateTo(e,t,n){return Xl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",rotate:e,origin:n},t)})}getRotation(){return this.context.viewport.getRotation()}translateBy(e,t){return Xl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"relative",translate:e},t)})}translateTo(e,t){return Xl(this,void 0,void 0,function*(){yield this.context.viewport.transform({mode:"absolute",translate:e},t)})}getPosition(){return Gl([0,0],this.getCanvasByViewport([0,0]))}translateElementBy(e,t){return Xl(this,arguments,void 0,function*(n,r,s=!0){var a,o;const[l,c]=(0,Ru.Z)(n)?[n,(a=r)!==null&&a!==void 0?a:!0]:[{[n]:r},s];Object.entries(l).forEach(([u,h])=>this.context.model.translateNodeLikeBy(u,h)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}translateElementTo(e,t){return Xl(this,arguments,void 0,function*(n,r,s=!0){var a,o;const[l,c]=(0,Ru.Z)(n)?[n,(a=r)!==null&&a!==void 0?a:!0]:[{[n]:r},s];Object.entries(l).forEach(([u,h])=>this.context.model.translateNodeLikeTo(u,h)),yield(o=this.context.element.draw({animation:c,stage:"translate"}))===null||o===void 0?void 0:o.finished})}getElementPosition(e){return this.context.model.getElementPosition(e)}getElementRenderStyle(e){return(0,bG.Z)(this.context.element.getElement(e).attributes,["context"])}setElementVisibility(e,t){return Xl(this,arguments,void 0,function*(n,r,s=!0){var a,o;const[l,c]=(0,Ru.Z)(n)?[n,(a=r)!==null&&a!==void 0?a:!0]:[{[n]:r},s],u={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([f,A])=>{const y=this.getElementType(f);u[`${y}s`].push({id:f,style:{visibility:A}})});const{model:h,element:d}=this.context;h.preventUpdateNodeLikeHierarchy(()=>{h.updateData(u)}),yield(o=d.draw({animation:c,stage:"visibility"}))===null||o===void 0?void 0:o.finished})}showElement(e,t){return Xl(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(r=>[r,"visible"])),t)})}hideElement(e,t){return Xl(this,void 0,void 0,function*(){const n=Array.isArray(e)?e:[e];yield this.setElementVisibility(Object.fromEntries(n.map(r=>[r,"hidden"])),t)})}getElementVisibility(e){var t,n;const r=this.context.element.getElement(e);return(n=(t=r==null?void 0:r.style)===null||t===void 0?void 0:t.visibility)!==null&&n!==void 0?n:"visible"}setElementZIndex(e,t){return Xl(this,void 0,void 0,function*(){var n;const r={nodes:[],edges:[],combos:[]},s=(0,Ru.Z)(e)?e:{[e]:t};Object.entries(s).forEach(([l,c])=>{const u=this.getElementType(l);r[`${u}s`].push({id:l,style:{zIndex:c}})});const{model:a,element:o}=this.context;a.preventUpdateNodeLikeHierarchy(()=>a.updateData(r)),yield(n=o.draw({animation:!1,stage:"zIndex"}))===null||n===void 0?void 0:n.finished})}frontElement(e){return Xl(this,void 0,void 0,function*(){const t=Array.isArray(e)?e:[e],{model:n,element:r}=this.context,s={};t.map(a=>{const o=r.getFrontZIndex(a);if(n.getElementType(a)==="combo"){const c=n.getAncestorsData(a,Kl).at(-1)||this.getComboData(a),u=[c,...n.getDescendantsData(Lr(c))],h=o-r.getElementZIndex(a);u.forEach(f=>{s[Lr(f)]=this.getElementZIndex(Lr(f))+h});const{internal:d}=WN(u.map(Lr),f=>n.getRelatedEdgesData(f));d.forEach(f=>{const A=Lr(f);s[A]=this.getElementZIndex(A)+h})}else s[a]=o}),yield this.setElementZIndex(s)})}getElementZIndex(e){var t,n,r;const{model:s,element:a}=this.context;return(r=(n=(t=s.getElementDataById(e))===null||t===void 0?void 0:t.style)===null||n===void 0?void 0:n.zIndex)!==null&&r!==void 0?r:a.getElementZIndex(e)}setElementState(e,t){return Xl(this,arguments,void 0,function*(n,r,s=!0){var a,o;const[l,c]=(0,Ru.Z)(n)?[n,(a=r)!==null&&a!==void 0?a:!0]:[{[n]:r},s],u=d=>d?Array.isArray(d)?d:[d]:[],h={nodes:[],edges:[],combos:[]};Object.entries(l).forEach(([d,f])=>{const A=this.getElementType(d);h[`${A}s`].push({id:d,states:u(f)})}),this.updateData(h),yield(o=this.context.element.draw({animation:c}))===null||o===void 0?void 0:o.finished})}getElementState(e){return this.context.model.getElementState(e)}getElementRenderBounds(e){return this.context.element.getElement(e).getRenderBounds()}collapseElement(e){return Xl(this,arguments,void 0,function*(t,n=!0){const{model:r,element:s}=this.context;if(cf(r.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;const a=r.getElementType(t);yield this.frontElement(t),this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!0),a==="node"?yield s.collapseNode(t,n):a==="combo"&&(yield s.collapseCombo(t,n)),this.isCollapsingExpanding=!1})}expandElement(e){return Xl(this,arguments,void 0,function*(t,n=!0){const{model:r,element:s}=this.context;if(!cf(r.getNodeLikeData([t])[0])||this.isCollapsingExpanding)return;const a=r.getElementType(t);this.isCollapsingExpanding=!0,this.setElementCollapsibility(t,!1),a==="node"?yield s.expandNode(t,n):a==="combo"&&(yield s.expandCombo(t,n)),this.isCollapsingExpanding=!1})}setElementCollapsibility(e,t){const n=this.getElementType(e);n==="node"?this.updateNodeData([{id:e,style:{collapsed:t}}]):n==="combo"&&this.updateComboData([{id:e,style:{collapsed:t}}])}toDataURL(){return Xl(this,arguments,void 0,function*(e={}){return this.context.canvas.toDataURL(e)})}getCanvasByViewport(e){return this.context.canvas.getCanvasByViewport(e)}getViewportByCanvas(e){return this.context.canvas.getViewportByCanvas(e)}getClientByCanvas(e){return this.context.canvas.getClientByCanvas(e)}getCanvasByClient(e){return this.context.canvas.getCanvasByClient(e)}getViewportCenter(){return this.context.viewport.getViewportCenter()}getCanvasCenter(){return this.context.viewport.getCanvasCenter()}on(e,t,n){return super.on(e,t,n)}once(e,t){return super.once(e,t)}off(e,t){return super.off(e,t)}}xP.defaultOptions={autoResize:!1,theme:"light",rotation:0,zoom:1,zoomRange:[.01,10]};var uxe=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(i);r{if(o.depth=l,!o.children)return o;const{children:c}=o,u=uxe(o,["children"]);return Object.assign(Object.assign({},u),{children:c.map(h=>h.id)})},getEdgeData:n=(o,l)=>({source:o.id,target:l.id}),getChildren:r=o=>o.children||[]}=e||{},s=[],a=[];return $v(i,(o,l)=>{s.push(t(o,l));const c=r(o);for(const u of c)a.push(n(o,u))},o=>r(o),"TB"),{nodes:s,edges:a}}class dxe extends m0{beforeDraw(e){const{add:t,update:n}=e,{model:r}=this.context;return[...t.edges.entries(),...n.edges.entries()].forEach(([,s])=>{KG(r,s)}),e}}const KG=(i,e)=>{const{source:t,target:n}=e,r=i.getElementDataById(t),s=i.getElementDataById(n),a=iH(r,h=>i.getParentData(h,Kl)),o=iH(s,h=>i.getParentData(h,Kl)),l=Lr(a),c=Lr(o),u={sourceNode:l,targetNode:c};return e.style?Object.assign(e.style,u):e.style=u,e},fxe=(i,e,t)=>{const[n,r]=e,[s,a]=t;if(r===n)return s;const o=(i-n)/(r-n);return s+o*(a-s)},Axe=(i,e,t)=>{const[n,r]=e,[s,a]=t,o=Math.log(i-n+1)/Math.log(r-n+1);return s+o*(a-s)},pxe=(i,e,t,n=2)=>{const[r,s]=e,[a,o]=t,l=Math.pow((i-r)/(s-r),n);return a+l*(o-a)},gxe=(i,e,t)=>{const[n,r]=e,[s,a]=t,o=Math.sqrt((i-n)/(r-n));return s+o*(a-s)};class vM extends m0{constructor(e,t){super(e,(0,Xg.Z)({},vM.defaultOptions,t)),this.assignSizeByCentrality=(n,r,s,a,o,l)=>{const c=[r,s],u=[a[0],o[0]],h=[a[1],o[1]],d=[a[2],o[2]],f=(A,y)=>{if(typeof l=="function")return l(A,c,y);switch(l){case"linear":return fxe(A,c,y);case"log":return Axe(A,c,y);case"pow":return pxe(A,c,y,2);case"sqrt":return gxe(A,c,y);default:return y[0]}};return[f(n,u),f(n,h),f(n,d)]}}beforeDraw(e){const{model:t}=this.context,n=t.getNodeData(),r=Df(this.options.maxSize),s=Df(this.options.minSize),a=this.getCentralities(this.options.centrality),o=a.size>0?Math.max(...a.values()):0,l=a.size>0?Math.min(...a.values()):0;return n.forEach(c=>{var u;const h=this.assignSizeByCentrality(a.get(Lr(c))||0,l,o,s,r,this.options.scale),d=(u=this.context.element)===null||u===void 0?void 0:u.getElement(Lr(c)),f={size:h};this.assignLabelStyle(f,h,c,d),(!d||!dM(f,d.attributes))&&hf(e,d?"update":"add","node",(0,Xg.Z)(c,{style:f}),!0)}),e}assignLabelStyle(e,t,n,r){var s;const a=r?r.config.style:(s=this.context.element)===null||s===void 0?void 0:s.getElementComputedStyle("node",n);if(Object.assign(e,(0,Kv.Z)(a,["labelFontSize","labelLineHeight"])),this.options.mapLabelSize){const o=this.getLabelSizeByNodeSize(t,1/0,Number(e.labelFontSize));Object.assign(e,{labelFontSize:o,labelLineHeight:o+JAe(e.labelPadding)})}return e}getLabelSizeByNodeSize(e,t,n){const r=Math.min(...e)/2,[s,a]=Array.isArray(this.options.mapLabelSize)?this.options.mapLabelSize:[n,t];return Math.min(a,Math.max(r,s))}getCentralities(e){const{model:t}=this.context,n=t.getData();if(typeof e=="function")return e(n);const r=t.getRelatedEdgesData.bind(t);return b6(n,r,e)}}vM.defaultOptions={centrality:{type:"degree"},maxSize:80,minSize:20,scale:"linear",mapLabelSize:!1};class yM extends m0{constructor(e,t){super(e,Object.assign({},yM.defaultOptions,t))}get ref(){return this.context.model.getRootsData()[0]}afterLayout(){var e;const t=lh(this.ref),{graph:n,model:r}=this.context;(e=r.getData().nodes)===null||e===void 0||e.forEach(a=>{if(Lr(a)===Lr(this.ref))return;const o=E6(Gl(lh(a),t)),l=Math.abs(o)>Math.PI/2,c=a.transformd||!a.children||a.children.length===0,u=Df(n.getElementRenderStyle(Lr(a)).size)[0]/2,h=(c?1:-1)*(u+this.options.offset),d=[["translate",h*Math.cos(o),h*Math.sin(o)],["rotate",l?(0,Ea.BV)(o)+180:(0,Ea.BV)(o)]];r.updateNodeData([{id:Lr(a),style:{labelTextAlign:l===c?"right":"left",labelTextBaseline:"middle",labelTransform:d}}])}),n.draw()}}yM.defaultOptions={offset:5};var XG=v(50264);const mxe="quadratic",YG=["top","top-right","right","right-bottom","bottom","bottom-left","left","left-top"];class xM extends m0{constructor(e,t){super(e,Object.assign({},xM.defaultOptions,t)),this.cacheMergeStyle=new Map,this.getAffectedParallelEdges=n=>{const{add:{edges:r},update:{nodes:s,edges:a,combos:o},remove:{edges:l}}=n,{model:c}=this.context,u=new Map,h=(A,y)=>{c.getRelatedEdgesData(y).forEach(x=>!u.has(Lr(x))&&u.set(Lr(x),x))};s.forEach(h),o.forEach(h);const d=A=>{const y=c.getEdgeData().map(x=>KG(c,x));vxe(A,y,!0).forEach(x=>!u.has(Lr(x))&&u.set(Lr(x),x))};if(l.size&&l.forEach(d),r.size&&r.forEach(d),a.size){const A=BG(pP(c.getChanges())).update.edges;a.forEach(y=>{var b;d(y);const x=(b=A.find(P=>Lr(P.value)===Lr(y)))===null||b===void 0?void 0:b.original;x&&!bP(y,x)&&d(x)})}(0,o1.Z)(this.options.edges)||u.forEach((A,y)=>!this.options.edges.includes(y)&&u.delete(y));const f=c.getEdgeData().map(Lr);return new Map([...u].sort((A,y)=>f.indexOf(A[0])-f.indexOf(y[0])))},this.applyBundlingStyle=(n,r,s)=>{const{edgeMap:a,reverses:o}=qG(r);a.forEach(l=>{l.forEach((c,u,h)=>{var d;const f=h.length,A=c.style||{};if(c.source===c.target){const x=YG.length;A.loopPlacement=YG[u%x],A.loopDist=Math.floor(u/x)*s+50}else if(f===1)A.curveOffset=0;else{const x=(u%2===0?1:-1)*(o[`${c.source}|${c.target}|${u}`]?-1:1);A.curveOffset=f%2===1?x*Math.ceil(u/2)*s*2:x*(Math.floor(u/2)*s*2+s)}const y=Object.assign(c,{type:mxe,style:A}),b=(d=this.context.element)===null||d===void 0?void 0:d.getElement(Lr(c));(!b||!dM(y.style,b.attributes))&&hf(n,b?"update":"add","edge",y,!0)})})},this.resetEdgeStyle=n=>{const r=n.style||{},s=this.cacheMergeStyle.get(Lr(n))||{};return Object.keys(s).forEach(a=>{(0,pu.Z)(r[a],s[a])&&(n[a]?r[a]=n[a]:delete r[a])}),Object.assign(n,{style:r})},this.applyMergingStyle=(n,r)=>{const{edgeMap:s,reverses:a}=qG(r);s.forEach(o=>{var l;if(o.length===1){const u=o[0],h=(l=this.context.element)===null||l===void 0?void 0:l.getElement(Lr(u)),d=this.resetEdgeStyle(u);(!h||!dM(d,h.attributes))&&hf(n,h?"update":"add","edge",d);return}const c=o.map(({source:u,target:h,style:d={}},f)=>{const{startArrow:A,endArrow:y}=d,b={},[x,P]=a[`${u}|${h}|${f}`]?["endArrow","startArrow"]:["startArrow","endArrow"];return(0,XG.Z)(A)&&(b[x]=A),(0,XG.Z)(y)&&(b[P]=y),b}).reduce((u,h)=>Object.assign(Object.assign({},u),h),{});o.forEach((u,h,d)=>{var f;if(h!==0){hf(n,"remove","edge",u);return}const A=Object.assign({},(0,Ra.Z)(this.options.style)?this.options.style(d):this.options.style,{childrenData:d});this.cacheMergeStyle.set(Lr(u),A);const y=Object.assign(Object.assign({},u),{type:"line",style:Object.assign(Object.assign(Object.assign({},u.style),c),A)}),b=(f=this.context.element)===null||f===void 0?void 0:f.getElement(Lr(u));(!b||!dM(y.style,b.attributes))&&hf(n,b?"update":"add","edge",y,!0)})})}}beforeDraw(e){const t=this.getAffectedParallelEdges(e);return t.size===0||(this.options.mode==="bundle"?this.applyBundlingStyle(e,t,this.options.distance):this.applyMergingStyle(e,t)),e}}xM.defaultOptions={mode:"bundle",distance:15};const qG=i=>{const e=new Map,t=new Set,n={};for(const[r,s]of i){if(t.has(r))continue;const{source:a,target:o}=s,l=`${a}-${o}`;e.has(l)||e.set(l,[]),e.get(l).push(s),t.add(r);for(const[c,u]of i)t.has(c)||bP(s,u)&&(e.get(l).push(u),t.add(c),a===u.target&&o===u.source&&(n[`${u.source}|${u.target}|${e.get(l).length-1}`]=!0))}return{edgeMap:e,reverses:n}},vxe=(i,e,t)=>e.filter(n=>(t||Lr(n)!==Lr(i))&&bP(n,i)),bP=(i,e)=>{const{sourceNode:t,targetNode:n}=i.style||{},{sourceNode:r,targetNode:s}=e.style||{};return t===r&&n===s||t===s&&n===r};class yxe extends m0{beforeDraw(e,t){const{stage:n}=t;if(n==="visibility")return e;const{model:r}=this.context,{update:{nodes:s,edges:a,combos:o}}=e,l=(c,u)=>{r.getRelatedEdgesData(u).forEach(d=>!a.has(Lr(d))&&a.set(Lr(d),d))};return s.forEach(l),o.forEach(l),e}}const xxe={animation:{"combo-collapse":m6,"combo-expand":XAe,"node-collapse":p6,"node-expand":jAe,"path-in":g6,"path-out":KAe,fade:ZAe,translate:$Ae},behavior:{"brush-select":i1,"click-select":fC,"collapse-expand":IC,"create-edge":FC,"drag-canvas":LC,"drag-element-force":jge,"drag-element":A1,"fix-element-size":UC,"focus-element":kC,"hover-activate":zC,"lasso-select":Xge,"auto-adapt-label":oC,"optimize-viewport-transform":VC,"scroll-canvas":HC,"zoom-canvas":GC},combo:{circle:Ype,rect:qpe},edge:{cubic:Xv,line:MC,polyline:TC,quadratic:BC,"cubic-horizontal":EC,"cubic-radial":SC,"cubic-vertical":CC},layout:{"antv-dagre":O0e,"combo-combined":rve,"compact-box":QC.compactBox,"force-atlas2":gve,circular:U0e,concentric:aP,"d3-force":dve,dagre:WC,dendrogram:QC.dendrogram,force:cG,fruchterman:yve,grid:bve,indented:QC.indented,mds:pG,mindmap:QC.mindmap,radial:Rve,random:Dve},node:{circle:jv,diamond:Hpe,ellipse:vC,hexagon:$pe,html:yC,image:xC,rect:Kpe,star:Xpe,donut:gC,triangle:bC},palette:{spectral:Uve,tableau:kve,oranges:zve,greens:Vve,blues:Hve},theme:{dark:kye,light:zye},plugin:{"bubble-sets":KC,"edge-bundling":YC,"edge-filter-lens":qC,"grid-line":tM,background:jC,contextmenu:XC,fisheye:JC,fullscreen:eM,history:nM,hull:rM,legend:sM,minimap:aM,snapline:oM,timebar:lM,toolbar:cM,tooltip:uM,watermark:hM},transform:{"arrange-draw-order":Vye,"collapse-expand-combo":Hye,"collapse-expand-node":Gye,"get-edge-actual-ends":dxe,"map-node-size":vM,"place-radial-labels":yM,"process-parallel-edges":xM,"update-related-edges":yxe},shape:{circle:Ea.Cd,ellipse:Ea.Pj,group:Ea.ZA,html:Ea.k9,image:DN,line:Ea.x1,path:Ea.y$,polygon:Ea.mg,polyline:Ea.aH,rect:Ea.UL,text:Ea.xv,label:u0,badge:jx}};function bxe(){Object.entries(xxe).forEach(([i,e])=>{Object.entries(e).forEach(([t,n])=>{Qye(i,t,n)})})}bxe();const dMe={css:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.css",js:"//at.alicdn.com/t/a/font_470089_8hnbbf8n4u8.js"};var _xe=Object.defineProperty,JG=Object.getOwnPropertySymbols,wxe=Object.prototype.hasOwnProperty,Exe=Object.prototype.propertyIsEnumerable,e8=(i,e,t)=>e in i?_xe(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Sxe=(i,e)=>{for(var t in e||(e={}))wxe.call(e,t)&&e8(i,t,e[t]);if(JG)for(var t of JG(e))Exe.call(e,t)&&e8(i,t,e[t]);return i};const fMe=i=>React.createElement("svg",Sxe({width:12,height:8,xmlns:"http://www.w3.org/2000/svg"},i),React.createElement("title",null,"\u7F16\u7EC4 10"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"m.565 4.503 3.488 3.284c.217.204.533.26.814.154a.708.708 0 0 0 .463-.652V.72a.708.708 0 0 0-.463-.652.807.807 0 0 0-.288-.056.737.737 0 0 0-.526.21L.565 3.506a.692.692 0 0 0-.217.499.655.655 0 0 0 .217.498Z",fill:"#462BB1"}),React.createElement("path",{d:"m7.232 4.503 3.488 3.284c.217.204.533.26.814.154a.708.708 0 0 0 .463-.652V.72a.708.708 0 0 0-.463-.652.807.807 0 0 0-.288-.056.737.737 0 0 0-.526.21L7.232 3.506a.692.692 0 0 0-.218.499.655.655 0 0 0 .218.498Z",fill:"#A395D9"})));var Cxe="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Im0uNTY1IDQuNTAzIDMuNDg4IDMuMjg0Yy4yMTcuMjA0LjUzMy4yNi44MTQuMTU0YS43MDguNzA4IDAgMCAwIC40NjMtLjY1MlYuNzJhLjcwOC43MDggMCAwIDAtLjQ2My0uNjUyLjgwNy44MDcgMCAwIDAtLjI4OC0uMDU2LjczNy43MzcgMCAwIDAtLjUyNi4yMUwuNTY1IDMuNTA2YS42OTIuNjkyIDAgMCAwLS4yMTcuNDk5LjY1NS42NTUgMCAwIDAgLjIxNy40OThaIiBmaWxsPSIjNDYyQkIxIi8+PHBhdGggZD0ibTcuMjMyIDQuNTAzIDMuNDg4IDMuMjg0Yy4yMTcuMjA0LjUzMy4yNi44MTQuMTU0YS43MDguNzA4IDAgMCAwIC40NjMtLjY1MlYuNzJhLjcwOC43MDggMCAwIDAtLjQ2My0uNjUyLjgwNy44MDcgMCAwIDAtLjI4OC0uMDU2LjczNy43MzcgMCAwIDAtLjUyNi4yMUw3LjIzMiAzLjUwNmEuNjkyLjY5MiAwIDAgMC0uMjE4LjQ5OS42NTUuNjU1IDAgMCAwIC4yMTguNDk4WiIgZmlsbD0iI0EzOTVEOSIvPjwvZz48L3N2Zz4=",Mxe=Object.defineProperty,t8=Object.getOwnPropertySymbols,Txe=Object.prototype.hasOwnProperty,Bxe=Object.prototype.propertyIsEnumerable,n8=(i,e,t)=>e in i?Mxe(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Rxe=(i,e)=>{for(var t in e||(e={}))Txe.call(e,t)&&n8(i,t,e[t]);if(t8)for(var t of t8(e))Bxe.call(e,t)&&n8(i,t,e[t]);return i};const AMe=i=>React.createElement("svg",Rxe({width:12,height:8,xmlns:"http://www.w3.org/2000/svg"},i),React.createElement("title",null,"\u7F16\u7EC4 10"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M11.435 4.503 7.947 7.787a.785.785 0 0 1-.814.154.708.708 0 0 1-.463-.652V.72c0-.287.182-.54.463-.652a.807.807 0 0 1 .288-.056c.196 0 .386.07.526.21l3.488 3.284c.14.134.217.316.217.499a.655.655 0 0 1-.217.498Z",fill:"#462BB1"}),React.createElement("path",{d:"M4.768 4.503 1.28 7.787a.785.785 0 0 1-.814.154.708.708 0 0 1-.463-.652V.72c0-.287.183-.54.463-.652A.807.807 0 0 1 .754.012c.197 0 .386.07.526.21l3.488 3.284c.14.134.218.316.218.499a.655.655 0 0 1-.218.498Z",fill:"#A395D9"})));var Ixe="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0xMS40MzUgNC41MDMgNy45NDcgNy43ODdhLjc4NS43ODUgMCAwIDEtLjgxNC4xNTQuNzA4LjcwOCAwIDAgMS0uNDYzLS42NTJWLjcyYzAtLjI4Ny4xODItLjU0LjQ2My0uNjUyYS44MDcuODA3IDAgMCAxIC4yODgtLjA1NmMuMTk2IDAgLjM4Ni4wNy41MjYuMjFsMy40ODggMy4yODRjLjE0LjEzNC4yMTcuMzE2LjIxNy40OTlhLjY1NS42NTUgMCAwIDEtLjIxNy40OThaIiBmaWxsPSIjNDYyQkIxIi8+PHBhdGggZD0iTTQuNzY4IDQuNTAzIDEuMjggNy43ODdhLjc4NS43ODUgMCAwIDEtLjgxNC4xNTQuNzA4LjcwOCAwIDAgMS0uNDYzLS42NTJWLjcyYzAtLjI4Ny4xODMtLjU0LjQ2My0uNjUyQS44MDcuODA3IDAgMCAxIC43NTQuMDEyYy4xOTcgMCAuMzg2LjA3LjUyNi4yMWwzLjQ4OCAzLjI4NGMuMTQuMTM0LjIxOC4zMTYuMjE4LjQ5OWEuNjU1LjY1NSAwIDAgMS0uMjE4LjQ5OFoiIGZpbGw9IiNBMzk1RDkiLz48L2c+PC9zdmc+",Nxe=Object.defineProperty,Pxe=Object.defineProperties,Fxe=Object.getOwnPropertyDescriptors,r8=Object.getOwnPropertySymbols,Oxe=Object.prototype.hasOwnProperty,Lxe=Object.prototype.propertyIsEnumerable,i8=(i,e,t)=>e in i?Nxe(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,bM=(i,e)=>{for(var t in e||(e={}))Oxe.call(e,t)&&i8(i,t,e[t]);if(r8)for(var t of r8(e))Lxe.call(e,t)&&i8(i,t,e[t]);return i},Dxe=(i,e)=>Pxe(i,Fxe(e)),x1=(i,e,t)=>new Promise((n,r)=>{var s=l=>{try{o(t.next(l))}catch(c){r(c)}},a=l=>{try{o(t.throw(l))}catch(c){r(c)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(s,a);o((t=t.apply(i,e)).next())}),Uxe=()=>{const i=(0,O.useRef)(null),e=(0,O.useRef)(null),{pathId:t}=(0,LAe.useParams)(),[n,r]=(0,O.useState)([]),[s,a]=(0,O.useState)(!1),[o,l]=(0,O.useState)([]),[c,u]=(0,O.useState)(1),[h,d]=(0,O.useState)(!1),[f]=Vv.default.useForm(),[A,y]=(0,O.useState)([]),[b,x]=(0,O.useState)({knowledge_type:1}),[P,k]=(0,O.useState)([]),[$,se]=(0,O.useState)({}),[ie,ce]=(0,O.useState)({nodes:[],links:[]});(0,O.useEffect)(()=>{ue()},[]);function ue(){return x1(this,null,function*(){var nt,Gt,Jt,gn,yn,Mn,rr,Hn;if(!i.current)return;let Er=yield(0,Qx.ZP)(`/api/knowledge_maps/${t}.json`,{method:"get"});if((Er==null?void 0:Er.status)===0){l(Er==null?void 0:Er.data);let qn=[];(Gt=(nt=Er==null?void 0:Er.data)==null?void 0:nt.node_data)==null||Gt.map(xi=>{var Qi;return(Qi=xi==null?void 0:xi.nodes)==null?void 0:Qi.map((Ks,ga)=>{ga==0&&qn.push(Ks)})});let Jr=(Jt=qn==null?void 0:qn.splice(1))==null?void 0:Jt.map((xi,Qi)=>{var Ks,ga,ra;return{startNodeUuid:(ga=(Ks=qn==null?void 0:qn[0])==null?void 0:Ks.properties)==null?void 0:ga.uuid,type:"\u5305\u542B",endNodeUuid:(ra=xi==null?void 0:xi.properties)==null?void 0:ra.uuid}});const{nodes:gi,links:Zi}=(yn=(gn=Er==null?void 0:Er.data)==null?void 0:gn.node_data)==null?void 0:yn.reduce((xi,Qi)=>(xi.nodes.push(...Qi.nodes),xi.links.push(...Qi.relationships),xi),{nodes:[],links:[]});let Xr=(0,DAe.fX)(gi==null?void 0:gi.map((xi,Qi)=>{var Ks,ga,ra,gr,kr,Br;return Dxe(bM(bM({},xi),xi==null?void 0:xi.properties),{rootNodeUuid:(Ks=xi==null?void 0:xi.properties)==null?void 0:Ks.rootNodeUuid,id:(ga=xi==null?void 0:xi.properties)==null?void 0:ga.name,name:(ra=xi==null?void 0:xi.properties)==null?void 0:ra.name,labelstype:(gr=xi==null?void 0:xi.labels)==null?void 0:gr[1],description:(kr=xi==null?void 0:xi.properties)==null?void 0:kr.description,nodeType:(Br=xi==null?void 0:xi.properties)==null?void 0:Br.nodeType,level:0})}),[...Zi==null?void 0:Zi.filter(xi=>xi.type==="\u5305\u542B"),...Jr]),or=hxe(Xr),Sr=(Mn=or.nodes)==null?void 0:Mn.filter((xi,Qi,Ks)=>Qi===Ks.findIndex(ga=>ga.id===xi.id)),Ri=(rr=or.edges)==null?void 0:rr.filter((xi,Qi,Ks)=>Qi===Ks.findIndex(ga=>ga.source===xi.source&&ga.target===xi.target));console.log("----",Xr),ce({nodes:Sr,links:Ri})}let Hr=yield(0,Qx.ZP)(`/api/knowledge_maps/${t}/knowledge_list.json`,{method:"get"});(Hr==null?void 0:Hr.status)===0&&(r((Hn=Hr==null?void 0:Hr.data)==null?void 0:Hn.list),se(Hr==null?void 0:Hr.data))})}(0,O.useEffect)(()=>{if(!i.current||ie.nodes.length===0)return;const nt=due()(i.current).graphData(ie).nodeAutoColorBy("group").nodeThreeObject(Gt=>{const Jt=Math.max(10*Math.pow(.7,Gt.level),2),gn=new Jm(new $_(Jt,16,16),new Mv({color:Gt.color||16777215})),yn=new PAe(Gt.id);yn.color="#fff",yn.textHeight=Jt*.9,yn.position.set(0,Jt+2,0);const Mn=new Bx;return Mn.add(gn),Mn.add(yn),Mn}).linkOpacity(.3).linkWidth(.5).linkDirectionalParticles(0).linkDirectionalParticleWidth(0).onNodeClick(Gt=>{const gn=1+80/Math.hypot(Gt.x,Gt.y,Gt.z);nt.cameraPosition({x:Gt.x*gn,y:Gt.y*gn,z:Gt.z*gn},Gt,3e3)});return e.current=nt,()=>{nt._destructor()}},[ie]);function ve(){return x1(this,null,function*(){let nt=yield(0,Qx.ZP)("/api/paths.json",{method:"get",params:{page:1,limit:800}});nt&&y(nt==null?void 0:nt.subjects)})}function Fe(nt){return x1(this,null,function*(){var Gt;let Jt=yield(0,Qx.ZP)("/api/knowledge_maps.json",{method:"get",params:{page:1,limit:800,knowledge_type:nt}});Jt&&k(((Gt=Jt==null?void 0:Jt.data)==null?void 0:Gt.list)||[])})}return O.createElement("div",{style:{position:"relative"}},O.createElement(FAe.ZP,{type:"primary",ghost:!0,style:{position:"absolute",top:20,left:20,zIndex:10},onClick:()=>{history.back()}},"\u8FD4\u56DE"),O.createElement("div",{onClick:()=>{a(!s)},className:Sd.rightopen,style:{right:s?600:0}},O.createElement("div",null,s?"\u6536":"\u5C55"),O.createElement("div",null,s?"\u8D77":"\u5F00"),O.createElement("img",{src:s?Ixe:Cxe})),s&&O.createElement("div",{className:Sd.rightmodal},O.createElement("div",{style:{display:"flex",justifyContent:"end"}},O.createElement("a",{onClick:()=>{($==null?void 0:$.knowledge_type)==2?ve():($==null?void 0:$.knowledge_type)==3&&Fe(2),f.setFieldsValue({knowledge_type:$==null?void 0:$.knowledge_type,name:o==null?void 0:o.name,description:o==null?void 0:o.description,subject_ids:($==null?void 0:$.knowledge_type)==2?o==null?void 0:o.subject_ids:[],knowledge_map_ids:($==null?void 0:$.knowledge_type)==3?o==null?void 0:o.map_ids:[]}),x({knowledge_type:$==null?void 0:$.knowledge_type,name:o==null?void 0:o.name,description:o==null?void 0:o.description,subject_ids:($==null?void 0:$.knowledge_type)==2?o==null?void 0:o.subject_ids:[],knowledge_map_ids:($==null?void 0:$.knowledge_type)==3?o==null?void 0:o.map_ids:[]}),d(!0)}},"\u7F16\u8F91"),O.createElement("a",{onClick:()=>x1(void 0,null,function*(){let nt=yield(0,Qx.ZP)(`/api/knowledge_maps/${t}.json`,{method:"DELETE"});(nt==null?void 0:nt.status)===0&&(u6.ZP.info("\u5220\u9664\u6210\u529F"),history.back())}),style:{marginLeft:20}},"\u5220\u9664")),O.createElement("div",{className:Sd.rname},O.createElement("div",{style:{color:"#333333",fontSize:16}},o==null?void 0:o.name),O.createElement("div",{style:{marginTop:14}},O.createElement("span",{style:{color:"#5F6A95"}},"\u521B\u5EFA\u65E5\u671F"),O.createElement("span",{style:{marginLeft:10}},o==null?void 0:o.created_at))),O.createElement("div",{style:{marginTop:20,display:"flex"}},O.createElement("div",{onClick:()=>{u(1)},className:Sd.topradios},"\u4E13\u4E1A\u6982\u89C8"),O.createElement("div",{onClick:()=>{u(2)},className:Sd.topradio},"\u56FE\u8C31\u5217\u8868")),c===1&&O.createElement("div",{className:Sd.bocent},O.createElement("div",{className:Sd.bctitle},O.createElement("div",null,"\u8BFE\u7A0B\u6570\u91CF"),O.createElement("div",null,"\u56FE\u8C31\u6570\u91CF"),O.createElement("div",null,"\u56FE\u8C31\u8282\u70B9\u6570\u91CF")),O.createElement("div",{className:Sd.btcent},O.createElement("div",null,o==null?void 0:o.subject_count),O.createElement("div",null,o==null?void 0:o.knowledge_count),O.createElement("div",null,o==null?void 0:o.node_count)),O.createElement("div",{style:{marginTop:20}},o==null?void 0:o.description)),c===2&&O.createElement("div",{className:Sd.bocent},O.createElement("div",{className:Sd.bctitles},O.createElement("div",null,"\u8BFE\u7A0B\u540D\u79F0"),O.createElement("div",null,"\u56FE\u8C31\u6570\u91CF"),O.createElement("div",null,"\u6807\u7B7E\u8282\u70B9"),O.createElement("div",null,"\u8D44\u6E90\u8282\u70B9")),n==null?void 0:n.map(nt=>O.createElement("div",{className:Sd.bctitles},O.createElement("div",{style:{color:"#3061D0"},onClick:()=>{window.open(`/knowledgegraph/${nt==null?void 0:nt.identifier}`)}},"\u300A",nt==null?void 0:nt.name,"\u300B"),O.createElement("div",null,nt==null?void 0:nt.knowledge_count),O.createElement("div",null,nt==null?void 0:nt.label_count),O.createElement("div",null,nt==null?void 0:nt.resource_count))))),O.createElement("div",{ref:i,style:{width:"100vw",height:"100vh",background:"#000",margin:0,overflow:"hidden"}}),O.createElement(OAe.default,{open:h,title:"\u7F16\u8F91\u77E5\u8BC6\u56FE\u8C31",centered:!0,width:1200,onCancel:()=>{d(!1)},onOk:()=>f.submit()},O.createElement(Vv.default,{form:f,scrollToFirstError:!0,layout:"horizontal",colon:!1,size:"large",labelCol:{flex:"110rem"},onValuesChange:(nt,Gt)=>{(nt==null?void 0:nt.knowledge_type)==2?ve():(nt==null?void 0:nt.knowledge_type)==3&&Fe(2),x(bM({},Gt)),nt!=null&&nt.knowledge_type&&f.setFieldsValue({name:"",description:"",subject_id:"",subject_ids:[],knowledge_map_ids:[],knowledge_type:nt==null?void 0:nt.knowledge_type})},initialValues:{knowledge_type:1},onFinish:nt=>x1(void 0,null,function*(){let Gt=yield(0,Qx.ZP)(`/api/knowledge_maps/${t}.json`,{method:"PUT",body:bM({},nt)});(Gt==null?void 0:Gt.status)===0&&(u6.ZP.info("\u4FEE\u6539\u6210\u529F"),ue(),d(!1),f.resetFields(),x({name:"",description:"",subject_id:"",subject_ids:[],knowledge_map_ids:[],knowledge_type:1}))}),className:Sd.form},O.createElement(Vv.default.Item,{label:"\u56FE\u8C31\u603B\u7C7B",name:"knowledge_type",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u56FE\u8C31\u603B\u7C7B"}]},O.createElement(JS.ZP.Group,{disabled:!0},O.createElement(JS.ZP,{value:1},"\u8BFE\u7A0B\u56FE\u8C31"),O.createElement(JS.ZP,{value:2},"\u4E13\u4E1A\u56FE\u8C31"),O.createElement(JS.ZP,{value:3},"\u5B66\u79D1\u56FE\u8C31"))),O.createElement(Vv.default.Item,{label:b.knowledge_type==1?"\u56FE\u8C31\u540D\u79F0":b.knowledge_type==2?"\u4E13\u4E1A\u540D\u79F0":"\u5B66\u79D1\u540D\u79F0",name:"name",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\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"}]},O.createElement(h6.default,{maxLength:60,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),O.createElement(Vv.default.Item,{label:b.knowledge_type==1?"\u56FE\u8C31\u7B80\u4ECB":b.knowledge_type==2?"\u4E13\u4E1A\u7B80\u4ECB":"\u5B66\u79D1\u7B80\u4ECB",name:"description",rules:[{required:!1,message:"\u8BF7\u8F93\u5165\u7B80\u4ECB"},{type:"string",max:500,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"}]},O.createElement(h6.default.TextArea,{maxLength:500,showCount:!0,placeholder:"\u8BF7\u8F93\u5165"})),b.knowledge_type=="2"&&O.createElement(Vv.default.Item,{className:Sd.mType,label:b.knowledge_type==2?"\u9009\u62E9\u8BFE\u7A0B":"\u9009\u62E9\u4E13\u4E1A",name:b.knowledge_type==2?"subject_ids":"knowledge_map_ids",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u8BFE\u7A0B"}]},O.createElement(eC.default,{mode:"multiple"},A==null?void 0:A.map(nt=>O.createElement(eC.default.Option,{value:nt==null?void 0:nt.id},nt==null?void 0:nt.name)))),b.knowledge_type=="3"&&O.createElement(Vv.default.Item,{className:Sd.mType,label:"\u9009\u62E9\u4E13\u4E1A",name:"knowledge_map_ids",rules:[{required:!0,message:"\u8BF7\u9009\u62E9\u4E13\u4E1A"}]},O.createElement(eC.default,{mode:"multiple"},P==null?void 0:P.map(nt=>O.createElement(eC.default.Option,{value:nt==null?void 0:nt.id},nt==null?void 0:nt.name)))))))}},78585:function(Re,xe,v){"use strict";var m,O=Object.defineProperty,B=Ne=>{throw TypeError(Ne)},R=Math.pow,_=(Ne,V,W)=>V in Ne?O(Ne,V,{enumerable:!0,configurable:!0,writable:!0,value:W}):Ne[V]=W,I=(Ne,V,W)=>_(Ne,typeof V!="symbol"?V+"":V,W),E=(Ne,V,W)=>V.has(Ne)||B("Cannot "+W),N=(Ne,V,W)=>(E(Ne,V,"read from private field"),W?W.call(Ne):V.get(Ne)),F=(Ne,V,W)=>V.has(Ne)?B("Cannot add the same private member more than once"):V instanceof WeakSet?V.add(Ne):V.set(Ne,W),T=(Ne,V,W,S)=>(E(Ne,V,"write to private field"),S?S.call(Ne,W):V.set(Ne,W),W),D=(Ne,V,W)=>(E(Ne,V,"access private method"),W),z,ee,te;m={value:!0};var ge=v(34634),pe=v(34402);const fe=" ".repeat(2),Le=" ".repeat(4);function Me(){return Ze(this)}function Ze(Ne,V={}){const{maxRows:W=15,maxColumns:S=10,maxNumSize:H=8,padMinus:J="auto"}=V;return`${Ne.constructor.name} { +${fe}[ +${Le}${Ye(Ne,W,S,H,J)} +${fe}] +${fe}rows: ${Ne.rows} +${fe}columns: ${Ne.columns} +}`}function Ye(Ne,V,W,S,H){const{rows:J,columns:Ae}=Ne,me=Math.min(J,V),$e=Math.min(Ae,W),Ke=[];if(H==="auto"){H=!1;e:for(let Xt=0;Xt=0&&W?` ${be(Ne,V-1)}`:be(Ne,V)).padEnd(V)}function be(Ne,V){let W=Ne.toString();if(W.length<=V)return W;let S=Ne.toFixed(V);if(S.length>V&&(S=Ne.toFixed(Math.max(0,V-(S.length-V)))),S.length<=V&&!S.startsWith("0.000")&&!S.startsWith("-0.000"))return S;let H=Ne.toExponential(V);return H.length>V&&(H=Ne.toExponential(Math.max(0,V-(H.length-V)))),H.slice(0)}function Ge(Ne,V){Ne.prototype.add=function(S){return typeof S=="number"?this.addS(S):this.addM(S)},Ne.prototype.addS=function(S){for(let H=0;H>S);return this},Ne.prototype.signPropagatingRightShiftM=function(S){if(S=V.checkMatrix(S),this.rows!==S.rows||this.columns!==S.columns)throw new RangeError("Matrices dimensions must be equal");for(let H=0;H>S.get(H,J));return this},Ne.signPropagatingRightShift=function(S,H){return new V(S).signPropagatingRightShift(H)},Ne.prototype.rightShift=function(S){return typeof S=="number"?this.rightShiftS(S):this.rightShiftM(S)},Ne.prototype.rightShiftS=function(S){for(let H=0;H>>S);return this},Ne.prototype.rightShiftM=function(S){if(S=V.checkMatrix(S),this.rows!==S.rows||this.columns!==S.columns)throw new RangeError("Matrices dimensions must be equal");for(let H=0;H>>S.get(H,J));return this},Ne.rightShift=function(S,H){return new V(S).rightShift(H)},Ne.prototype.zeroFillRightShift=Ne.prototype.rightShift,Ne.prototype.zeroFillRightShiftS=Ne.prototype.rightShiftS,Ne.prototype.zeroFillRightShiftM=Ne.prototype.rightShiftM,Ne.zeroFillRightShift=Ne.rightShift,Ne.prototype.not=function(){for(let S=0;SS)throw new RangeError("Row index out of range")}function it(Ne,V,W){let S=W?Ne.columns:Ne.columns-1;if(V<0||V>S)throw new RangeError("Column index out of range")}function $t(Ne,V){if(V.to1DArray&&(V=V.to1DArray()),V.length!==Ne.columns)throw new RangeError("vector size must be the same as the number of columns");return V}function cn(Ne,V){if(V.to1DArray&&(V=V.to1DArray()),V.length!==Ne.rows)throw new RangeError("vector size must be the same as the number of rows");return V}function Sn(Ne,V){if(!ge.isAnyArray(V))throw new TypeError("row indices must be an array");for(let W=0;W=Ne.rows)throw new RangeError("row indices are out of range")}function vn(Ne,V){if(!ge.isAnyArray(V))throw new TypeError("column indices must be an array");for(let W=0;W=Ne.columns)throw new RangeError("column indices are out of range")}function Qn(Ne,V,W,S,H){if(arguments.length!==5)throw new RangeError("expected 4 arguments");if(Un("startRow",V),Un("endRow",W),Un("startColumn",S),Un("endColumn",H),V>W||S>H||V<0||V>=Ne.rows||W<0||W>=Ne.rows||S<0||S>=Ne.columns||H<0||H>=Ne.columns)throw new RangeError("Submatrix indices are out of range")}function xn(Ne,V=0){let W=[];for(let S=0;S=J)throw new RangeError("min must be smaller than max");let me=J-H,$e=new mt(V,W);for(let Ke=0;KeS?(J=!0,S=W):(H=!1,J=!0);V++}return H}isReducedEchelonForm(){let V=0,W=0,S=-1,H=!0,J=!1;for(;VS?(J=!0,S=W):(H=!1,J=!0);for(let Ae=W+1;AeV.get(H,S)&&(H=J);if(V.get(H,S)===0)S++;else{V.swapRows(W,H);let J=V.get(W,S);for(let Ae=S;Ae=0;)if(V.maxRow(H)===0)H--;else{let J=0,Ae=!1;for(;JW[S]&&(W[S]=this.get(S,H));return W}case"column":{const W=new Array(this.columns).fill(Number.NEGATIVE_INFINITY);for(let S=0;SW[H]&&(W[H]=this.get(S,H));return W}case void 0:{let W=this.get(0,0);for(let S=0;SW&&(W=this.get(S,H));return W}default:throw new Error(`invalid option: ${V}`)}}maxIndex(){ke(this);let V=this.get(0,0),W=[0,0];for(let S=0;SV&&(V=this.get(S,H),W[0]=S,W[1]=H);return W}min(V){if(this.isEmpty())return NaN;switch(V){case"row":{const W=new Array(this.rows).fill(Number.POSITIVE_INFINITY);for(let S=0;SW&&(W=this.get(V,S));return W}maxRowIndex(V){Je(this,V),ke(this);let W=this.get(V,0),S=[V,0];for(let H=1;HW&&(W=this.get(V,H),S[1]=H);return S}minRow(V){if(Je(this,V),this.isEmpty())return NaN;let W=this.get(V,0);for(let S=1;SW&&(W=this.get(S,V));return W}maxColumnIndex(V){it(this,V),ke(this);let W=this.get(0,V),S=[0,V];for(let H=1;HW&&(W=this.get(H,V),S[0]=H);return S}minColumn(V){if(it(this,V),this.isEmpty())return NaN;let W=this.get(0,V);for(let S=1;S=1;H/=2)H&1&&(W=W.mmul(S)),S=S.mmul(S);return W}strassen2x2(V){V=mt.checkMatrix(V);let W=new mt(2,2);const S=this.get(0,0),H=V.get(0,0),J=this.get(0,1),Ae=V.get(0,1),me=this.get(1,0),$e=V.get(1,0),Ke=this.get(1,1),Xt=V.get(1,1),Se=(S+Ke)*(H+Xt),Oe=(me+Ke)*H,Ee=S*(Ae-Xt),Ue=Ke*($e-H),at=(S+J)*Xt,Ut=(me-S)*(H+Ae),ut=(J-Ke)*($e+Xt),Lt=Se+Ue-at+ut,qt=Ee+at,Tn=Oe+Ue,Rn=Se-Oe+Ee+Ut;return W.set(0,0,Lt),W.set(0,1,qt),W.set(1,0,Tn),W.set(1,1,Rn),W}strassen3x3(V){V=mt.checkMatrix(V);let W=new mt(3,3);const S=this.get(0,0),H=this.get(0,1),J=this.get(0,2),Ae=this.get(1,0),me=this.get(1,1),$e=this.get(1,2),Ke=this.get(2,0),Xt=this.get(2,1),Se=this.get(2,2),Oe=V.get(0,0),Ee=V.get(0,1),Ue=V.get(0,2),at=V.get(1,0),Ut=V.get(1,1),ut=V.get(1,2),Lt=V.get(2,0),qt=V.get(2,1),Tn=V.get(2,2),Rn=(S+H+J-Ae-me-Xt-Se)*Ut,ir=(S-Ae)*(-Ee+Ut),Ln=me*(-Oe+Ee+at-Ut-ut-Lt+Tn),Gn=(-S+Ae+me)*(Oe-Ee+Ut),_r=(Ae+me)*(-Oe+Ee),un=S*Oe,Bn=(-S+Ke+Xt)*(Oe-Ue+ut),lr=(-S+Ke)*(Ue-ut),cr=(Ke+Xt)*(-Oe+Ue),Fr=(S+H+J-me-$e-Ke-Xt)*ut,zr=Xt*(-Oe+Ue+at-Ut-ut-Lt+qt),Wr=(-J+Xt+Se)*(Ut+Lt-qt),Vr=(J-Se)*(Ut-qt),wi=J*Lt,Zr=(Xt+Se)*(-Lt+qt),Ei=(-J+me+$e)*(ut+Lt-Tn),Yi=(J-$e)*(ut-Tn),wn=(me+$e)*(-Lt+Tn),wt=H*at,Rt=$e*qt,Et=Ae*Ue,dn=Ke*Ee,Cn=Se*Tn,Xn=un+wi+wt,mr=Rn+Gn+_r+un+Wr+wi+Zr,yr=un+Bn+cr+Fr+wi+Ei+wn,ai=ir+Ln+Gn+un+wi+Ei+Yi,Si=ir+Gn+_r+un+Rt,Ai=wi+Ei+Yi+wn+Et,ii=un+Bn+lr+zr+Wr+Vr+wi,vi=Wr+Vr+wi+Zr+dn,es=un+Bn+lr+cr+Cn;return W.set(0,0,Xn),W.set(0,1,mr),W.set(0,2,yr),W.set(1,0,ai),W.set(1,1,Si),W.set(1,2,Ai),W.set(2,0,ii),W.set(2,1,vi),W.set(2,2,es),W}mmulStrassen(V){V=mt.checkMatrix(V);let W=this.clone(),S=W.rows,H=W.columns,J=V.rows,Ae=V.columns;H!==J&&console.warn(`Multiplying ${S} x ${H} and ${J} x ${Ae} matrix: dimensions do not match.`);function me(Se,Oe,Ee){let Ue=Se.rows,at=Se.columns;if(Ue===Oe&&at===Ee)return Se;{let Ut=bt.zeros(Oe,Ee);return Ut=Ut.setSubMatrix(Se,0,0),Ut}}let $e=Math.max(S,J),Ke=Math.max(H,Ae);W=me(W,$e,Ke),V=me(V,$e,Ke);function Xt(Se,Oe,Ee,Ue){if(Ee<=512||Ue<=512)return Se.mmul(Oe);Ee%2===1&&Ue%2===1?(Se=me(Se,Ee+1,Ue+1),Oe=me(Oe,Ee+1,Ue+1)):Ee%2===1?(Se=me(Se,Ee+1,Ue),Oe=me(Oe,Ee+1,Ue)):Ue%2===1&&(Se=me(Se,Ee,Ue+1),Oe=me(Oe,Ee,Ue+1));let at=parseInt(Se.rows/2,10),Ut=parseInt(Se.columns/2,10),ut=Se.subMatrix(0,at-1,0,Ut-1),Lt=Oe.subMatrix(0,at-1,0,Ut-1),qt=Se.subMatrix(0,at-1,Ut,Se.columns-1),Tn=Oe.subMatrix(0,at-1,Ut,Oe.columns-1),Rn=Se.subMatrix(at,Se.rows-1,0,Ut-1),ir=Oe.subMatrix(at,Oe.rows-1,0,Ut-1),Ln=Se.subMatrix(at,Se.rows-1,Ut,Se.columns-1),Gn=Oe.subMatrix(at,Oe.rows-1,Ut,Oe.columns-1),_r=Xt(bt.add(ut,Ln),bt.add(Lt,Gn),at,Ut),un=Xt(bt.add(Rn,Ln),Lt,at,Ut),Bn=Xt(ut,bt.sub(Tn,Gn),at,Ut),lr=Xt(Ln,bt.sub(ir,Lt),at,Ut),cr=Xt(bt.add(ut,qt),Gn,at,Ut),Fr=Xt(bt.sub(Rn,ut),bt.add(Lt,Tn),at,Ut),zr=Xt(bt.sub(qt,Ln),bt.add(ir,Gn),at,Ut),Wr=bt.add(_r,lr);Wr.sub(cr),Wr.add(zr);let Vr=bt.add(Bn,cr),wi=bt.add(un,lr),Zr=bt.sub(_r,un);Zr.add(Bn),Zr.add(Fr);let Ei=bt.zeros(2*Wr.rows,2*Wr.columns);return Ei=Ei.setSubMatrix(Wr,0,0),Ei=Ei.setSubMatrix(Vr,Wr.rows,0),Ei=Ei.setSubMatrix(wi,0,Wr.columns),Ei=Ei.setSubMatrix(Zr,Wr.rows,Wr.columns),Ei.subMatrix(0,Ee-1,0,Ue-1)}return Xt(W,V,$e,Ke)}scaleRows(V={}){if(typeof V!="object")throw new TypeError("options must be an object");const{min:W=0,max:S=1}=V;if(!Number.isFinite(W))throw new TypeError("min must be a number");if(!Number.isFinite(S))throw new TypeError("max must be a number");if(W>=S)throw new RangeError("min must be smaller than max");let H=new mt(this.rows,this.columns);for(let J=0;J0&&pe(Ae,{min:W,max:S,output:Ae}),H.setRow(J,Ae)}return H}scaleColumns(V={}){if(typeof V!="object")throw new TypeError("options must be an object");const{min:W=0,max:S=1}=V;if(!Number.isFinite(W))throw new TypeError("min must be a number");if(!Number.isFinite(S))throw new TypeError("max must be a number");if(W>=S)throw new RangeError("min must be smaller than max");let H=new mt(this.rows,this.columns);for(let J=0;JS||W<0||W>=this.columns||S<0||S>=this.columns)throw new RangeError("Argument out of range");let H=new mt(V.length,S-W+1);for(let J=0;J=this.rows)throw new RangeError(`Row index out of range: ${V[J]}`);H.set(J,Ae-W,this.get(V[J],Ae))}return H}subMatrixColumn(V,W,S){if(W===void 0&&(W=0),S===void 0&&(S=this.rows-1),W>S||W<0||W>=this.rows||S<0||S>=this.rows)throw new RangeError("Argument out of range");let H=new mt(S-W+1,V.length);for(let J=0;J=this.columns)throw new RangeError(`Column index out of range: ${V[J]}`);H.set(Ae-W,J,this.get(Ae,V[J]))}return H}setSubMatrix(V,W,S){if(V=mt.checkMatrix(V),V.isEmpty())return this;let H=W+V.rows-1,J=S+V.columns-1;Qn(this,W,H,S,J);for(let Ae=0;Aetypeof V=="number")}bt.random=bt.rand,bt.randomInt=bt.randInt,bt.diagonal=bt.diag,bt.prototype.diagonal=bt.prototype.diag,bt.identity=bt.eye,bt.prototype.negate=bt.prototype.neg,bt.prototype.tensorProduct=bt.prototype.kroneckerProduct;const vt=class CP extends bt{constructor(V,W){if(super(),F(this,z),I(this,"data"),CP.isMatrix(V))D(this,z,ee).call(this,V.rows,V.columns),CP.copy(V,this);else if(Number.isInteger(V)&&V>=0)D(this,z,ee).call(this,V,W);else if(ge.isAnyArray(V)){const S=V;if(V=S.length,W=V?S[0].length:0,typeof W!="number")throw new TypeError("Data must be a 2D array with at least one element");this.data=[];for(let H=0;H=0)for(let W=0;W=0)T(this,te,new mt(V,V));else if(T(this,te,new mt(V)),!this.isSymmetric())throw new TypeError("not symmetric data")}get size(){return N(this,te).size}get rows(){return N(this,te).rows}get columns(){return N(this,te).columns}get diagonalSize(){return this.rows}static isSymmetricMatrix(V){return mt.isMatrix(V)&&V.klassType==="SymmetricMatrix"}static zeros(V){return new this(V)}static ones(V){return new this(V).fill(1)}clone(){const V=new MP(this.diagonalSize);for(const[W,S,H]of this.upperRightEntries())V.set(W,S,H);return V}toMatrix(){return new mt(this)}get(V,W){return N(this,te).get(V,W)}set(V,W,S){return N(this,te).set(V,W,S),N(this,te).set(W,V,S),this}removeCross(V){return N(this,te).removeRow(V),N(this,te).removeColumn(V),this}addCross(V,W){W===void 0&&(W=V,V=this.diagonalSize);const S=W.slice();return S.splice(V,1),N(this,te).addRow(V,S),N(this,te).addColumn(V,W),this}applyMask(V){if(V.length!==this.diagonalSize)throw new RangeError("Mask size do not match with matrix size");const W=[];for(const[S,H]of V.entries())H||W.push(S);W.reverse();for(const S of W)this.removeCross(S);return this}toCompact(){const{diagonalSize:V}=this,W=new Array(V*(V+1)/2);for(let S=0,H=0,J=0;J=V&&(S=++H);return W}static fromCompact(V){const W=V.length,S=(Math.sqrt(8*W+1)-1)/2;if(!Number.isInteger(S))throw new TypeError(`This array is not a compact representation of a Symmetric Matrix, ${JSON.stringify(V)}`);const H=new MP(S);for(let J=0,Ae=0,me=0;me=S&&(J=++Ae);return H}*upperRightEntries(){for(let V=0,W=0;V=this.diagonalSize&&(W=++V)}}*upperRightValues(){for(let V=0,W=0;V=this.diagonalSize&&(W=++V)}};te=new WeakMap;let jt=Qt;jt.prototype.klassType="SymmetricMatrix";class hn extends jt{static isDistanceMatrix(V){return jt.isSymmetricMatrix(V)&&V.klassSubType==="DistanceMatrix"}constructor(V){if(super(V),!this.isDistance())throw new TypeError("Provided arguments do no produce a distance matrix")}set(V,W,S){return V===W&&(S=0),super.set(V,W,S)}addCross(V,W){return W===void 0&&(W=V,V=this.diagonalSize),W=W.slice(),W[V]=0,super.addCross(V,W)}toSymmetricMatrix(){return new jt(this)}clone(){const V=new hn(this.diagonalSize);for(const[W,S,H]of this.upperRightEntries())W!==S&&V.set(W,S,H);return V}toCompact(){const{diagonalSize:V}=this,W=(V-1)*V/2,S=new Array(W);for(let H=1,J=0,Ae=0;Ae=V&&(H=++J+1);return S}static fromCompact(V){const W=V.length;if(W===0)return new this(0);const S=(Math.sqrt(8*W+1)+1)/2;if(!Number.isInteger(S))throw new TypeError(`This array is not a compact representation of a DistanceMatrix, ${JSON.stringify(V)}`);const H=new this(S);for(let J=1,Ae=0,me=0;me=S&&(J=++Ae+1);return H}}hn.prototype.klassSubType="DistanceMatrix";class ze extends bt{constructor(V,W,S){super(),this.matrix=V,this.rows=W,this.columns=S}}class he extends ze{constructor(V,W){it(V,W),super(V,V.rows,1),this.column=W}set(V,W,S){return this.matrix.set(V,this.column,S),this}get(V){return this.matrix.get(V,this.column)}}class qe extends ze{constructor(V,W){vn(V,W),super(V,V.rows,W.length),this.columnIndices=W}set(V,W,S){return this.matrix.set(V,this.columnIndices[W],S),this}get(V,W){return this.matrix.get(V,this.columnIndices[W])}}class ct extends ze{constructor(V){super(V,V.rows,V.columns)}set(V,W,S){return this.matrix.set(V,this.columns-W-1,S),this}get(V,W){return this.matrix.get(V,this.columns-W-1)}}class je extends ze{constructor(V){super(V,V.rows,V.columns)}set(V,W,S){return this.matrix.set(this.rows-V-1,W,S),this}get(V,W){return this.matrix.get(this.rows-V-1,W)}}class Xe extends ze{constructor(V,W){Je(V,W),super(V,1,V.columns),this.row=W}set(V,W,S){return this.matrix.set(this.row,W,S),this}get(V,W){return this.matrix.get(this.row,W)}}class dt extends ze{constructor(V,W){Sn(V,W),super(V,W.length,V.columns),this.rowIndices=W}set(V,W,S){return this.matrix.set(this.rowIndices[V],W,S),this}get(V,W){return this.matrix.get(this.rowIndices[V],W)}}class Tt extends ze{constructor(V,W,S){Sn(V,W),vn(V,S),super(V,W.length,S.length),this.rowIndices=W,this.columnIndices=S}set(V,W,S){return this.matrix.set(this.rowIndices[V],this.columnIndices[W],S),this}get(V,W){return this.matrix.get(this.rowIndices[V],this.columnIndices[W])}}class Mt extends ze{constructor(V,W,S,H,J){Qn(V,W,S,H,J),super(V,S-W+1,J-H+1),this.startRow=W,this.startColumn=H}set(V,W,S){return this.matrix.set(this.startRow+V,this.startColumn+W,S),this}get(V,W){return this.matrix.get(this.startRow+V,this.startColumn+W)}}class It extends ze{constructor(V){super(V,V.columns,V.rows)}set(V,W,S){return this.matrix.set(W,V,S),this}get(V,W){return this.matrix.get(W,V)}}class an extends bt{constructor(V,W={}){const{rows:S=1}=W;if(V.length%S!==0)throw new Error("the data length is not divisible by the number of rows");super(),this.rows=S,this.columns=V.length/S,this.data=V}set(V,W,S){let H=this._calculateIndex(V,W);return this.data[H]=S,this}get(V,W){let S=this._calculateIndex(V,W);return this.data[S]}_calculateIndex(V,W){return V*this.columns+W}}class In extends bt{constructor(V){super(),this.data=V,this.rows=V.length,this.columns=V[0].length}set(V,W,S){return this.data[V][W]=S,this}get(V,W){return this.data[V][W]}}function _n(Ne,V){if(ge.isAnyArray(Ne))return Ne[0]&&ge.isAnyArray(Ne[0])?new In(Ne):new an(Ne,V);throw new Error("the argument is not an array")}class er{constructor(V){V=In.checkMatrix(V);let W=V.clone(),S=W.rows,H=W.columns,J=new Float64Array(S),Ae=1,me,$e,Ke,Xt,Se,Oe,Ee,Ue,at;for(me=0;meMath.abs(Ue[Xt])&&(Xt=me);if(Xt!==$e){for(Ke=0;Ke=0;Ke--){for($e=0;$eAe?H.set(J,Ae,V.get(J,Ae)):J===Ae?H.set(J,Ae,1):H.set(J,Ae,0);return H}get upperTriangularMatrix(){let V=this.LU,W=V.rows,S=V.columns,H=new mt(W,S);for(let J=0;JMath.abs(V)?(W=V/Ne,Math.abs(Ne)*Math.sqrt(1+W*W)):V!==0?(W=Ne/V,Math.abs(V)*Math.sqrt(1+W*W)):0}class hr{constructor(V){V=In.checkMatrix(V);let W=V.clone(),S=V.rows,H=V.columns,J=new Float64Array(H),Ae,me,$e,Ke;for($e=0;$e=0;Ke--){for($e=0;$e=0;me--){for(J=0;J=0;un--)if(Ue[un]!==0){for(let Bn=un+1;Bn=0;un--){if(un0;){let un,Bn;for(un=Ln-2;un>=-1&&un!==-1;un--){const lr=Number.MIN_VALUE+_r*Math.abs(Ue[un]+Math.abs(Ue[un+1]));if(Math.abs(ut[un])<=lr||Number.isNaN(ut[un])){ut[un]=0;break}}if(un===Ln-2)Bn=4;else{let lr;for(lr=Ln-1;lr>=un&&lr!==un;lr--){let cr=(lr!==Ln?Math.abs(ut[lr]):0)+(lr!==un+1?Math.abs(ut[lr-1]):0);if(Math.abs(Ue[lr])<=_r*cr){Ue[lr]=0;break}}lr===un?Bn=3:lr===Ln-1?Bn=1:(Bn=2,un=lr)}switch(un++,Bn){case 1:{let lr=ut[Ln-2];ut[Ln-2]=0;for(let cr=Ln-2;cr>=un;cr--){let Fr=Mr(Ue[cr],lr),zr=Ue[cr]/Fr,Wr=lr/Fr;if(Ue[cr]=Fr,cr!==un&&(lr=-Wr*ut[cr-1],ut[cr-1]=zr*ut[cr-1]),Ke)for(let Vr=0;Vr=Ue[un+1]);){let lr=Ue[un];if(Ue[un]=Ue[un+1],Ue[un+1]=lr,Ke&&unW&&J.set(Xt,Se,V.get(Xt,Se)/this.s[Se]);let Ae=this.U,me=Ae.rows,$e=Ae.columns,Ke=new mt(S,me);for(let Xt=0;XtV&&W++;return W}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 mt.diag(this.s)}}function br(Ne,V=!1){return Ne=In.checkMatrix(Ne),V?new di(Ne).inverse():ri(Ne,mt.eye(Ne.rows))}function ri(Ne,V,W=!1){return Ne=In.checkMatrix(Ne),V=In.checkMatrix(V),W?new di(Ne).solve(V):Ne.isSquare()?new er(Ne).solve(V):new hr(Ne).solve(V)}function Ir(Ne){if(Ne=mt.checkMatrix(Ne),Ne.isSquare()){if(Ne.columns===0)return 1;let V,W,S,H;if(Ne.columns===2)return V=Ne.get(0,0),W=Ne.get(0,1),S=Ne.get(1,0),H=Ne.get(1,1),V*H-W*S;if(Ne.columns===3){let J,Ae,me;return J=new Tt(Ne,[1,2],[1,2]),Ae=new Tt(Ne,[1,2],[0,2]),me=new Tt(Ne,[1,2],[0,1]),V=Ne.get(0,0),W=Ne.get(0,1),S=Ne.get(0,2),V*Ir(J)-W*Ir(Ae)+S*Ir(me)}else return new er(Ne).determinant}else throw Error("determinant can only be calculated for a square matrix")}function Vi(Ne,V){let W=[];for(let S=0;SH)return new Array(V.rows+1).fill(0);{let J=V.addRow(W,[0]);for(let Ae=0;AeV?J[Ae]=1/J[Ae]:J[Ae]=0;return H.mmul(mt.diag(J).mmul(S.transpose()))}function Vt(Ne,V=Ne,W={}){Ne=new mt(Ne);let S=!1;if(typeof V=="object"&&!mt.isMatrix(V)&&!ge.isAnyArray(V)?(W=V,V=Ne,S=!0):V=new mt(V),Ne.rows!==V.rows)throw new TypeError("Both matrices must have the same number of rows");const{center:H=!0}=W;H&&(Ne=Ne.center("column"),S||(V=V.center("column")));const J=Ne.transpose().mmul(V);for(let Ae=0;Ae0?H.set(J,J+1,W[J]):W[J]<0&&H.set(J,J-1,W[J])}return H}}function Ft(Ne,V,W,S){let H,J,Ae,me,$e,Ke,Xt,Se;for($e=0;$e0;me--){for(Se=0,Ae=0,Ke=0;Ke0&&(J=-J),V[me]=Se*J,Ae=Ae-H*J,W[me-1]=H-J,$e=0;$eKe)do{for(H=W[Ke],Se=(W[Ke+1]-H)/(2*V[Ke]),Oe=Mr(Se,1),Se<0&&(Oe=-Oe),W[Ke]=V[Ke]/(Se+Oe),W[Ke+1]=V[Ke]*(Se+Oe),Ee=W[Ke+1],J=H-W[Ke],Ae=Ke+2;Ae=Ke;Ae--)for(Ut=at,at=Ue,qt=Lt,H=Ue*V[Ae],J=Ue*Se,Oe=Mr(Se,V[Ae]),V[Ae+1]=Lt*Oe,Lt=V[Ae]/Oe,Ue=Se/Oe,Se=Ue*W[Ae]-Lt*H,W[Ae+1]=J+Lt*(Ue*H+Lt*W[Ae]),$e=0;$eir*Rn);W[Ke]=W[Ke]+Tn,V[Ke]=0}for(Ae=0;Ae=Se;Ke--)W[Ke]=V.get(Ke,Se-1)/Oe,$e+=W[Ke]*W[Ke];for(me=Math.sqrt($e),W[Se]>0&&(me=-me),$e=$e-W[Se]*me,W[Se]=W[Se]-me,Xt=Se;Xt=Se;Ke--)Ae+=W[Ke]*V.get(Ke,Xt);for(Ae=Ae/$e,Ke=Se;Ke<=J;Ke++)V.set(Ke,Xt,V.get(Ke,Xt)-Ae*W[Ke])}for(Ke=0;Ke<=J;Ke++){for(Ae=0,Xt=J;Xt>=Se;Xt--)Ae+=W[Xt]*V.get(Ke,Xt);for(Ae=Ae/$e,Xt=Se;Xt<=J;Xt++)V.set(Ke,Xt,V.get(Ke,Xt)-Ae*W[Xt])}W[Se]=Oe*W[Se],V.set(Se,Se-1,Oe*me)}}for(Ke=0;Ke=H+1;Se--)if(V.get(Se,Se-1)!==0){for(Ke=Se+1;Ke<=J;Ke++)W[Ke]=V.get(Ke,Se-1);for(Xt=Se;Xt<=J;Xt++){for(me=0,Ke=Se;Ke<=J;Ke++)me+=W[Ke]*S.get(Ke,Xt);for(me=me/W[Se]/V.get(Se,Se-1),Ke=Se;Ke<=J;Ke++)S.set(Ke,Xt,S.get(Ke,Xt)+me*W[Ke])}}}function jn(Ne,V,W,S,H){let J=Ne-1,Ae=0,me=Ne-1,$e=Number.EPSILON,Ke=0,Xt=0,Se=0,Oe=0,Ee=0,Ue=0,at=0,Ut=0,ut,Lt,qt,Tn,Rn,ir,Ln,Gn,_r,un,Bn,lr,cr,Fr,zr;for(ut=0;utme)&&(W[ut]=H.get(ut,ut),V[ut]=0),Lt=Math.max(ut-1,0);Lt=Ae;){for(Tn=J;Tn>Ae&&(Ue=Math.abs(H.get(Tn-1,Tn-1))+Math.abs(H.get(Tn,Tn)),Ue===0&&(Ue=Xt),!(Math.abs(H.get(Tn,Tn-1))<$e*Ue));)Tn--;if(Tn===J)H.set(J,J,H.get(J,J)+Ke),W[J]=H.get(J,J),V[J]=0,J--,Ut=0;else if(Tn===J-1){if(Ln=H.get(J,J-1)*H.get(J-1,J),Se=(H.get(J-1,J-1)-H.get(J,J))/2,Oe=Se*Se+Ln,at=Math.sqrt(Math.abs(Oe)),H.set(J,J,H.get(J,J)+Ke),H.set(J-1,J-1,H.get(J-1,J-1)+Ke),Gn=H.get(J,J),Oe>=0){for(at=Se>=0?Se+at:Se-at,W[J-1]=Gn+at,W[J]=W[J-1],at!==0&&(W[J]=Gn-Ln/at),V[J-1]=0,V[J]=0,Gn=H.get(J,J-1),Ue=Math.abs(Gn)+Math.abs(at),Se=Gn/Ue,Oe=at/Ue,Ee=Math.sqrt(Se*Se+Oe*Oe),Se=Se/Ee,Oe=Oe/Ee,Lt=J-1;Lt0)){for(Ue=Math.sqrt(Ue),_r=Tn&&(at=H.get(Rn,Rn),Ee=Gn-at,Ue=_r-at,Se=(Ee*Ue-Ln)/H.get(Rn+1,Rn)+H.get(Rn,Rn+1),Oe=H.get(Rn+1,Rn+1)-at-Ee-Ue,Ee=H.get(Rn+2,Rn+1),Ue=Math.abs(Se)+Math.abs(Oe)+Math.abs(Ee),Se=Se/Ue,Oe=Oe/Ue,Ee=Ee/Ue,!(Rn===Tn||Math.abs(H.get(Rn,Rn-1))*(Math.abs(Oe)+Math.abs(Ee))<$e*(Math.abs(Se)*(Math.abs(H.get(Rn-1,Rn-1))+Math.abs(at)+Math.abs(H.get(Rn+1,Rn+1))))));)Rn--;for(ut=Rn+2;ut<=J;ut++)H.set(ut,ut-2,0),ut>Rn+2&&H.set(ut,ut-3,0);for(qt=Rn;qt<=J-1&&(Fr=qt!==J-1,qt!==Rn&&(Se=H.get(qt,qt-1),Oe=H.get(qt+1,qt-1),Ee=Fr?H.get(qt+2,qt-1):0,Gn=Math.abs(Se)+Math.abs(Oe)+Math.abs(Ee),Gn!==0&&(Se=Se/Gn,Oe=Oe/Gn,Ee=Ee/Gn)),Gn!==0);qt++)if(Ue=Math.sqrt(Se*Se+Oe*Oe+Ee*Ee),Se<0&&(Ue=-Ue),Ue!==0){for(qt!==Rn?H.set(qt,qt-1,-Ue*Gn):Tn!==Rn&&H.set(qt,qt-1,-H.get(qt,qt-1)),Se=Se+Ue,Gn=Se/Ue,_r=Oe/Ue,at=Ee/Ue,Oe=Oe/Se,Ee=Ee/Se,Lt=qt;Lt=0;J--)if(Se=W[J],Oe=V[J],Oe===0)for(Tn=J,H.set(J,J,1),ut=J-1;ut>=0;ut--){for(Ln=H.get(ut,ut)-Se,Ee=0,Lt=Tn;Lt<=J;Lt++)Ee=Ee+H.get(ut,Lt)*H.get(Lt,J);if(V[ut]<0)at=Ln,Ue=Ee;else if(Tn=ut,V[ut]===0?H.set(ut,J,Ln!==0?-Ee/Ln:-Ee/($e*Xt)):(Gn=H.get(ut,ut+1),_r=H.get(ut+1,ut),Oe=(W[ut]-Se)*(W[ut]-Se)+V[ut]*V[ut],ir=(Gn*Ue-at*Ee)/Oe,H.set(ut,J,ir),H.set(ut+1,J,Math.abs(Gn)>Math.abs(at)?(-Ee-Ln*ir)/Gn:(-Ue-_r*ir)/at)),ir=Math.abs(H.get(ut,J)),$e*ir*ir>1)for(Lt=ut;Lt<=J;Lt++)H.set(Lt,J,H.get(Lt,J)/ir)}else if(Oe<0)for(Tn=J-1,Math.abs(H.get(J,J-1))>Math.abs(H.get(J-1,J))?(H.set(J-1,J-1,Oe/H.get(J,J-1)),H.set(J-1,J,-(H.get(J,J)-Se)/H.get(J,J-1))):(zr=Zn(0,-H.get(J-1,J),H.get(J-1,J-1)-Se,Oe),H.set(J-1,J-1,zr[0]),H.set(J-1,J,zr[1])),H.set(J,J-1,0),H.set(J,J,1),ut=J-2;ut>=0;ut--){for(un=0,Bn=0,Lt=Tn;Lt<=J;Lt++)un=un+H.get(ut,Lt)*H.get(Lt,J-1),Bn=Bn+H.get(ut,Lt)*H.get(Lt,J);if(Ln=H.get(ut,ut)-Se,V[ut]<0)at=Ln,Ee=un,Ue=Bn;else if(Tn=ut,V[ut]===0?(zr=Zn(-un,-Bn,Ln,Oe),H.set(ut,J-1,zr[0]),H.set(ut,J,zr[1])):(Gn=H.get(ut,ut+1),_r=H.get(ut+1,ut),lr=(W[ut]-Se)*(W[ut]-Se)+V[ut]*V[ut]-Oe*Oe,cr=(W[ut]-Se)*2*Oe,lr===0&&cr===0&&(lr=$e*Xt*(Math.abs(Ln)+Math.abs(Oe)+Math.abs(Gn)+Math.abs(_r)+Math.abs(at))),zr=Zn(Gn*Ee-at*un+Oe*Bn,Gn*Ue-at*Bn-Oe*un,lr,cr),H.set(ut,J-1,zr[0]),H.set(ut,J,zr[1]),Math.abs(Gn)>Math.abs(at)+Math.abs(Oe)?(H.set(ut+1,J-1,(-un-Ln*H.get(ut,J-1)+Oe*H.get(ut,J))/Gn),H.set(ut+1,J,(-Bn-Ln*H.get(ut,J)-Oe*H.get(ut,J-1))/Gn)):(zr=Zn(-Ee-_r*H.get(ut,J-1),-Ue-_r*H.get(ut,J),at,Oe),H.set(ut+1,J-1,zr[0]),H.set(ut+1,J,zr[1]))),ir=Math.max(Math.abs(H.get(ut,J-1)),Math.abs(H.get(ut,J))),$e*ir*ir>1)for(Lt=ut;Lt<=J;Lt++)H.set(Lt,J-1,H.get(Lt,J-1)/ir),H.set(Lt,J,H.get(Lt,J)/ir)}for(ut=0;utme)for(Lt=ut;Lt=Ae;Lt--)for(ut=Ae;ut<=me;ut++){for(at=0,qt=Ae;qt<=Math.min(Lt,me);qt++)at=at+S.get(ut,qt)*H.get(qt,Lt);S.set(ut,Lt,at)}}}function Zn(Ne,V,W,S){let H,J;return Math.abs(W)>Math.abs(S)?(H=S/W,J=W+H*S,[(Ne+H*V)/J,(V-H*Ne)/J]):(H=W/S,J=S+H*W,[(H*Ne+V)/J,(H*V-Ne)/J])}class Tr{constructor(V){if(V=In.checkMatrix(V),!V.isSymmetric())throw new Error("Matrix is not symmetric");let W=V,S=W.rows,H=new mt(S,S),J=!0,Ae,me,$e;for(me=0;me0),H.set(me,me,Math.sqrt(Math.max(Ke,0))),$e=me+1;$e=0;$e--)for(me=0;meAe;Ee++)Se=V.transpose().mmul(me).div(me.transpose().mmul(me).get(0,0)),Se=Se.div(Se.norm()),Ke=V.mmul(Se).div(Se.transpose().mmul(Se).get(0,0)),Ee>0&&($e=Ke.clone().sub(Oe).pow(2).sum()),Oe=Ke.clone(),S?(Xt=S.transpose().mmul(Ke).div(Ke.transpose().mmul(Ke).get(0,0)),Xt=Xt.div(Xt.norm()),me=S.mmul(Xt).div(Xt.transpose().mmul(Xt).get(0,0))):me=Ke;if(S){let Ee=V.transpose().mmul(Ke).div(Ke.transpose().mmul(Ke).get(0,0));Ee=Ee.div(Ee.norm());let Ue=V.clone().sub(Ke.clone().mmul(Ee.transpose())),at=me.transpose().mmul(Ke).div(Ke.transpose().mmul(Ke).get(0,0)),Ut=S.clone().sub(Ke.clone().mulS(at.get(0,0)).mmul(Xt.transpose()));this.t=Ke,this.p=Ee.transpose(),this.w=Se.transpose(),this.q=Xt,this.u=me,this.s=Ke.transpose().mmul(Ke),this.xResidual=Ue,this.yResidual=Ut,this.betas=at}else this.w=Se.transpose(),this.s=Ke.transpose().mmul(Ke).sqrt(),H?this.t=Ke.clone().div(this.s.get(0,0)):this.t=Ke,this.xResidual=V.sub(Ke.mmul(Se.transpose()))}}xe.XA=bt,xe.a_=Tr,xe.yQ=Tr,xe.Hs=hn,xe.Ec=yt,xe.dx=yt,xe.LU=er,xe.Rm=er,xe.y3=mt,xe.qK=qe,xe.pb=he,xe.j=ct,xe.sO=je,xe.BZ=dt,xe.EK=Xe,xe.Db=Tt,xe.Fx=Mt,xe.tU=It,xe.Ym=Qr,xe.rs=Qr,xe.QR=hr,xe.TB=hr,xe.oH=di,xe.Sc=di,xe.BN=jt,xe.it=an,xe.$r=In,xe.QM=gt,xe.AV=Vt,m=mt,xe.GH=Ir,xe.SO=br,xe.uZ=on,xe.yU=Yt,xe.F1=ri,xe.re=_n},19080:function(Re,xe,v){"use strict";v.d(xe,{F:function(){return _},Z:function(){return R}});var m=v(92310),O=v.n(m);const B=null;function R(I,E,N){return O()({[`${I}-status-success`]:E==="success",[`${I}-status-warning`]:E==="warning",[`${I}-status-error`]:E==="error",[`${I}-status-validating`]:E==="validating",[`${I}-has-feedback`]:N})}const _=(I,E)=>E||I},93891:function(Re,xe,v){"use strict";var m=v(59301),O=v(36355),B=v(64165);const R=_=>{const{componentName:I}=_,{getPrefixCls:E}=(0,m.useContext)(O.E_),N=E("empty");switch(I){case"Table":case"List":return m.createElement(B.Z,{image:B.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return m.createElement(B.Z,{image:B.Z.PRESENTED_IMAGE_SIMPLE,className:`${N}-small`});default:return m.createElement(B.Z,null)}};xe.Z=R},64165:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return Ze}});var m=v(92310),O=v.n(m),B=v(59301),R=v(36355),_=v(9763),I=v(64993),E=v(70305),F=()=>{const[,Ye]=(0,E.Z)(),be=new I.C(Ye.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return B.createElement("svg",{style:be,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},B.createElement("g",{fill:"none",fillRule:"evenodd"},B.createElement("g",{transform:"translate(24 31.67)"},B.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),B.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),B.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),B.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),B.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),B.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),B.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},B.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),B.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},D=()=>{const[,Ye]=(0,E.Z)(),{colorFill:Te,colorFillTertiary:be,colorFillQuaternary:Ge,colorBgContainer:Je}=Ye,{borderColor:it,shadowColor:$t,contentColor:cn}=(0,B.useMemo)(()=>({borderColor:new I.C(Te).onBackground(Je).toHexShortString(),shadowColor:new I.C(be).onBackground(Je).toHexShortString(),contentColor:new I.C(Ge).onBackground(Je).toHexShortString()}),[Te,be,Ge,Je]);return B.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},B.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},B.createElement("ellipse",{fill:$t,cx:"32",cy:"33",rx:"32",ry:"7"}),B.createElement("g",{fillRule:"nonzero",stroke:it},B.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),B.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:cn}))))},z=v(83116),ee=v(37613);const te=Ye=>{const{componentCls:Te,margin:be,marginXS:Ge,marginXL:Je,fontSize:it,lineHeight:$t}=Ye;return{[Te]:{marginInline:Ge,fontSize:it,lineHeight:$t,textAlign:"center",[`${Te}-image`]:{height:Ye.emptyImgHeight,marginBottom:Ge,opacity:Ye.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},[`${Te}-description`]:{color:Ye.colorText},[`${Te}-footer`]:{marginTop:be},"&-normal":{marginBlock:Je,color:Ye.colorTextDisabled,[`${Te}-description`]:{color:Ye.colorTextDisabled},[`${Te}-image`]:{height:Ye.emptyImgHeightMD}},"&-small":{marginBlock:Ge,color:Ye.colorTextDisabled,[`${Te}-image`]:{height:Ye.emptyImgHeightSM}}}}};var ge=(0,z.Z)("Empty",Ye=>{const{componentCls:Te,controlHeightLG:be}=Ye,Ge=(0,ee.TS)(Ye,{emptyImgCls:`${Te}-img`,emptyImgHeight:be*2.5,emptyImgHeightMD:be,emptyImgHeightSM:be*.875});return[te(Ge)]}),pe=function(Ye,Te){var be={};for(var Ge in Ye)Object.prototype.hasOwnProperty.call(Ye,Ge)&&Te.indexOf(Ge)<0&&(be[Ge]=Ye[Ge]);if(Ye!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Je=0,Ge=Object.getOwnPropertySymbols(Ye);Je{var{className:Te,rootClassName:be,prefixCls:Ge,image:Je=fe,description:it,children:$t,imageStyle:cn,style:Sn}=Ye,vn=pe(Ye,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);const{getPrefixCls:Qn,direction:xn,empty:Un}=B.useContext(R.E_),ke=Qn("empty",Ge),[ot,Ht]=ge(ke),[On]=(0,_.Z)("Empty"),xt=typeof it!="undefined"?it:On==null?void 0:On.description,Pt=typeof xt=="string"?xt:"empty";let tn=null;return typeof Je=="string"?tn=B.createElement("img",{alt:Pt,src:Je}):tn=Je,ot(B.createElement("div",Object.assign({className:O()(Ht,ke,Un==null?void 0:Un.className,{[`${ke}-normal`]:Je===Le,[`${ke}-rtl`]:xn==="rtl"},Te,be),style:Object.assign(Object.assign({},Un==null?void 0:Un.style),Sn)},vn),B.createElement("div",{className:`${ke}-image`,style:cn},tn),xt&&B.createElement("div",{className:`${ke}-description`},xt),$t&&B.createElement("div",{className:`${ke}-footer`},$t)))};Me.PRESENTED_IMAGE_DEFAULT=fe,Me.PRESENTED_IMAGE_SIMPLE=Le;var Ze=Me},78241:function(Re,xe,v){"use strict";v.d(xe,{default:function(){return W}});var m=v(77654),O=v(92310),B=v.n(O),R=v(77900),_=v(59301),I=v(62892),E=v(32441);function N(S){const[H,J]=_.useState(S);return _.useEffect(()=>{const Ae=setTimeout(()=>{J(S)},S.length?0:10);return()=>{clearTimeout(Ae)}},[S]),H}var F=v(17313),T=v(29878),D=v(8378),z=v(37613),ee=v(83116),ge=S=>{const{componentCls:H}=S,J=`${H}-show-help`,Ae=`${H}-show-help-item`;return{[J]:{transition:`opacity ${S.motionDurationSlow} ${S.motionEaseInOut}`,"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[Ae]:{overflow:"hidden",transition:`height ${S.motionDurationSlow} ${S.motionEaseInOut}, + opacity ${S.motionDurationSlow} ${S.motionEaseInOut}, + transform ${S.motionDurationSlow} ${S.motionEaseInOut} !important`,[`&${Ae}-appear, &${Ae}-enter`]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},[`&${Ae}-leave-active`]:{transform:"translateY(-5px)"}}}}};const pe=S=>({legend:{display:"block",width:"100%",marginBottom:S.marginLG,padding:0,color:S.colorTextDescription,fontSize:S.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:`${S.lineWidth}px ${S.lineType} ${S.colorBorder}`},label:{fontSize:S.fontSize},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:`0 0 0 ${S.controlOutlineWidth}px ${S.controlOutline}`},output:{display:"block",paddingTop:15,color:S.colorText,fontSize:S.fontSize,lineHeight:S.lineHeight}}),fe=(S,H)=>{const{formItemCls:J}=S;return{[J]:{[`${J}-label > label`]:{height:H},[`${J}-control-input`]:{minHeight:H}}}},Le=S=>{const{componentCls:H}=S;return{[S.componentCls]:Object.assign(Object.assign(Object.assign({},(0,F.Wf)(S)),pe(S)),{[`${H}-text`]:{display:"inline-block",paddingInlineEnd:S.paddingSM},"&-small":Object.assign({},fe(S,S.controlHeightSM)),"&-large":Object.assign({},fe(S,S.controlHeightLG))})}},Me=S=>{const{formItemCls:H,iconCls:J,componentCls:Ae,rootPrefixCls:me,labelRequiredMarkColor:$e,labelColor:Ke,labelFontSize:Xt,labelHeight:Se,labelColonMarginInlineStart:Oe,labelColonMarginInlineEnd:Ee,itemMarginBottom:Ue}=S;return{[H]:Object.assign(Object.assign({},(0,F.Wf)(S)),{marginBottom:Ue,verticalAlign:"top","&-with-help":{transition:"none"},[`&-hidden, + &-hidden.${me}-row`]:{display:"none"},"&-has-warning":{[`${H}-split`]:{color:S.colorError}},"&-has-error":{[`${H}-split`]:{color:S.colorWarning}},[`${H}-label`]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:`${S.lineHeight} - 0.25em`,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:Se,color:Ke,fontSize:Xt,[`> ${J}`]:{fontSize:S.fontSize,verticalAlign:"top"},[`&${H}-required:not(${H}-required-mark-optional)::before`]:{display:"inline-block",marginInlineEnd:S.marginXXS,color:$e,fontSize:S.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',[`${Ae}-hide-required-mark &`]:{display:"none"}},[`${H}-optional`]:{display:"inline-block",marginInlineStart:S.marginXXS,color:S.colorTextDescription,[`${Ae}-hide-required-mark &`]:{display:"none"}},[`${H}-tooltip`]:{color:S.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:S.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:Oe,marginInlineEnd:Ee},[`&${H}-no-colon::after`]:{content:'"\\a0"'}}},[`${H}-control`]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,[`&:first-child:not([class^="'${me}-col-'"]):not([class*="' ${me}-col-'"])`]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:S.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[H]:{"&-explain, &-extra":{clear:"both",color:S.colorTextDescription,fontSize:S.fontSize,lineHeight:S.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:S.controlHeightSM,transition:`color ${S.motionDurationMid} ${S.motionEaseOut}`},"&-explain":{"&-error":{color:S.colorError},"&-warning":{color:S.colorWarning}}},[`&-with-help ${H}-explain`]:{height:"auto",opacity:1},[`${H}-feedback-icon`]:{fontSize:S.fontSize,textAlign:"center",visibility:"visible",animationName:T.kr,animationDuration:S.motionDurationMid,animationTimingFunction:S.motionEaseOutBack,pointerEvents:"none","&-success":{color:S.colorSuccess},"&-error":{color:S.colorError},"&-warning":{color:S.colorWarning},"&-validating":{color:S.colorPrimary}}})}},Ze=S=>{const{componentCls:H,formItemCls:J}=S;return{[`${H}-horizontal`]:{[`${J}-label`]:{flexGrow:0},[`${J}-control`]:{flex:"1 1 0",minWidth:0},[`${J}-label[class$='-24'], ${J}-label[class*='-24 ']`]:{[`& + ${J}-control`]:{minWidth:"unset"}}}}},Ye=S=>{const{componentCls:H,formItemCls:J}=S;return{[`${H}-inline`]:{display:"flex",flexWrap:"wrap",[J]:{flex:"none",marginInlineEnd:S.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},[`> ${J}-label, + > ${J}-control`]:{display:"inline-block",verticalAlign:"top"},[`> ${J}-label`]:{flex:"none"},[`${H}-text`]:{display:"inline-block"},[`${J}-has-feedback`]:{display:"inline-block"}}}}},Te=S=>({padding:S.verticalLabelPadding,margin:S.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),be=S=>{const{componentCls:H,formItemCls:J,rootPrefixCls:Ae}=S;return{[`${J} ${J}-label`]:Te(S),[H]:{[J]:{flexWrap:"wrap",[`${J}-label, ${J}-control`]:{[`&:not([class*=" ${Ae}-col-xs"])`]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},Ge=S=>{const{componentCls:H,formItemCls:J,rootPrefixCls:Ae}=S;return{[`${H}-vertical`]:{[J]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},[`${H}-item-control`]:{width:"100%"}}},[`${H}-vertical ${J}-label, + .${Ae}-col-24${J}-label, + .${Ae}-col-xl-24${J}-label`]:Te(S),[`@media (max-width: ${S.screenXSMax}px)`]:[be(S),{[H]:{[`.${Ae}-col-xs-24${J}-label`]:Te(S)}}],[`@media (max-width: ${S.screenSMMax}px)`]:{[H]:{[`.${Ae}-col-sm-24${J}-label`]:Te(S)}},[`@media (max-width: ${S.screenMDMax}px)`]:{[H]:{[`.${Ae}-col-md-24${J}-label`]:Te(S)}},[`@media (max-width: ${S.screenLGMax}px)`]:{[H]:{[`.${Ae}-col-lg-24${J}-label`]:Te(S)}}}},Je=(S,H)=>(0,z.TS)(S,{formItemCls:`${S.componentCls}-item`,rootPrefixCls:H});var it=(0,ee.Z)("Form",(S,H)=>{let{rootPrefixCls:J}=H;const Ae=Je(S,J);return[Le(Ae),Me(Ae),ge(Ae),Ze(Ae),Ye(Ae),Ge(Ae),(0,D.Z)(Ae),T.kr]},S=>({labelRequiredMarkColor:S.colorError,labelColor:S.colorTextHeading,labelFontSize:S.fontSize,labelHeight:S.controlHeight,labelColonMarginInlineStart:S.marginXXS/2,labelColonMarginInlineEnd:S.marginXS,itemMarginBottom:S.marginLG,verticalLabelPadding:`0 0 ${S.paddingXS}px`,verticalLabelMargin:0}),{order:-1e3});const $t=[];function cn(S,H,J){let Ae=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;return{key:typeof S=="string"?S:`${H}-${Ae}`,error:S,errorStatus:J}}var vn=S=>{let{help:H,helpStatus:J,errors:Ae=$t,warnings:me=$t,className:$e,fieldId:Ke,onVisibleChanged:Xt}=S;const{prefixCls:Se}=_.useContext(E.Rk),Oe=`${Se}-item-explain`,[,Ee]=it(Se),Ue=(0,_.useMemo)(()=>(0,I.Z)(Se),[Se]),at=N(Ae),Ut=N(me),ut=_.useMemo(()=>H!=null?[cn(H,"help",J)]:[].concat((0,m.Z)(at.map((qt,Tn)=>cn(qt,"error","error",Tn))),(0,m.Z)(Ut.map((qt,Tn)=>cn(qt,"warning","warning",Tn)))),[H,J,at,Ut]),Lt={};return Ke&&(Lt.id=`${Ke}_help`),_.createElement(R.default,{motionDeadline:Ue.motionDeadline,motionName:`${Se}-show-help`,visible:!!ut.length,onVisibleChanged:Xt},qt=>{const{className:Tn,style:Rn}=qt;return _.createElement("div",Object.assign({},Lt,{className:B()(Oe,Tn,$e,Ee),style:Rn,role:"alert"}),_.createElement(R.CSSMotionList,Object.assign({keys:ut},(0,I.Z)(Se),{motionName:`${Se}-show-help-item`,component:!1}),ir=>{const{key:Ln,error:Gn,errorStatus:_r,className:un,style:Bn}=ir;return _.createElement("div",{key:Ln,className:B()(un,{[`${Oe}-${_r}`]:_r}),style:Bn},Gn)}))})},Qn=v(95013),xn=v(36355),Un=v(1684),ke=v(52946),ot=v(19716),Ht=v(16722);const On=["parentNode"],xt="form_item";function Pt(S){return S===void 0||S===!1?[]:Array.isArray(S)?S:[S]}function tn(S,H){if(!S.length)return;const J=S.join("_");return H?`${H}_${J}`:On.includes(J)?`${xt}_${J}`:J}function pt(S,H,J,Ae,me,$e){let Ke=Ae;return $e!==void 0?Ke=$e:J.validating?Ke="validating":S.length?Ke="error":H.length?Ke="warning":(J.touched||me&&J.validated)&&(Ke="success"),Ke}function lt(S){return Pt(S).join("_")}function ae(S){const[H]=(0,Qn.useForm)(),J=_.useRef({}),Ae=_.useMemo(()=>S!=null?S:Object.assign(Object.assign({},H),{__INTERNAL__:{itemRef:me=>$e=>{const Ke=lt(me);$e?J.current[Ke]=$e:delete J.current[Ke]}},scrollToField:function(me){let $e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const Ke=Pt(me),Xt=tn(Ke,Ae.__INTERNAL__.name),Se=Xt?document.getElementById(Xt):null;Se&&(0,Ht.Z)(Se,Object.assign({scrollMode:"if-needed",block:"nearest"},$e))},getFieldInstance:me=>{const $e=lt(me);return J.current[$e]}}),[S,H]);return[Ae]}var re=v(28726),Ie=function(S,H){var J={};for(var Ae in S)Object.prototype.hasOwnProperty.call(S,Ae)&&H.indexOf(Ae)<0&&(J[Ae]=S[Ae]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var me=0,Ae=Object.getOwnPropertySymbols(S);me{const J=_.useContext(Un.Z),{getPrefixCls:Ae,direction:me,form:$e}=_.useContext(xn.E_),{prefixCls:Ke,className:Xt,rootClassName:Se,size:Oe,disabled:Ee=J,form:Ue,colon:at,labelAlign:Ut,labelWrap:ut,labelCol:Lt,wrapperCol:qt,hideRequiredMark:Tn,layout:Rn="horizontal",scrollToFirstError:ir,requiredMark:Ln,onFinishFailed:Gn,name:_r,style:un,feedbackIcons:Bn}=S,lr=Ie(S,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons"]),cr=(0,ot.Z)(Oe),Fr=_.useContext(re.Z),zr=(0,_.useMemo)(()=>Ln!==void 0?Ln:$e&&$e.requiredMark!==void 0?$e.requiredMark:!Tn,[Tn,Ln,$e]),Wr=at!=null?at:$e==null?void 0:$e.colon,Vr=Ae("form",Ke),[wi,Zr]=it(Vr),Ei=B()(Vr,`${Vr}-${Rn}`,{[`${Vr}-hide-required-mark`]:zr===!1,[`${Vr}-rtl`]:me==="rtl",[`${Vr}-${cr}`]:cr},Zr,$e==null?void 0:$e.className,Xt,Se),[Yi]=ae(Ue),{__INTERNAL__:wn}=Yi;wn.name=_r;const wt=(0,_.useMemo)(()=>({name:_r,labelAlign:Ut,labelCol:Lt,labelWrap:ut,wrapperCol:qt,vertical:Rn==="vertical",colon:Wr,requiredMark:zr,itemRef:wn.itemRef,form:Yi,feedbackIcons:Bn}),[_r,Ut,Lt,qt,Rn,Wr,zr,Yi,Bn]);_.useImperativeHandle(H,()=>Yi);const Rt=(dn,Cn)=>{if(dn){let Xn={block:"nearest"};typeof dn=="object"&&(Xn=dn),Yi.scrollToField(Cn,Xn)}},Et=dn=>{if(Gn==null||Gn(dn),dn.errorFields.length){const Cn=dn.errorFields[0].name;if(ir!==void 0){Rt(ir,Cn);return}$e&&$e.scrollToFirstError!==void 0&&Rt($e.scrollToFirstError,Cn)}};return wi(_.createElement(Un.n,{disabled:Ee},_.createElement(ke.q,{size:cr},_.createElement(E.RV,Object.assign({},{validateMessages:Fr}),_.createElement(E.q3.Provider,{value:wt},_.createElement(Qn.default,Object.assign({id:_r},lr,{name:_r,onFinishFailed:Et,form:Yi,style:Object.assign(Object.assign({},$e==null?void 0:$e.style),un),className:Ei})))))))};var ht=_.forwardRef(Ct),Wt=v(41799),zt=v(8654),De=v(92343),ft=v(11592);function bt(S){if(typeof S=="function")return S;const H=(0,ft.Z)(S);return H.length<=1?H[0]:H}const U=()=>{const{status:S,errors:H=[],warnings:J=[]}=(0,_.useContext)(E.aM);return{status:S,errors:H,warnings:J}};U.Context=E.aM;var de=U,vt=v(16089);function mt(S){const[H,J]=_.useState(S),Ae=(0,_.useRef)(null),me=(0,_.useRef)([]),$e=(0,_.useRef)(!1);_.useEffect(()=>($e.current=!1,()=>{$e.current=!0,vt.Z.cancel(Ae.current),Ae.current=null}),[]);function Ke(Xt){$e.current||(Ae.current===null&&(me.current=[],Ae.current=(0,vt.Z)(()=>{Ae.current=null,J(Se=>{let Oe=Se;return me.current.forEach(Ee=>{Oe=Ee(Oe)}),Oe})})),me.current.push(Xt))}return[H,Ke]}function Qt(){const{itemRef:S}=_.useContext(E.q3),H=_.useRef({});function J(Ae,me){const $e=me&&typeof me=="object"&&me.ref,Ke=Ae.join("_");return(H.current.name!==Ke||H.current.originRef!==$e)&&(H.current.name=Ke,H.current.originRef=$e,H.current.ref=(0,zt.sQ)(S(Ae),$e)),H.current.ref}return J}var jt=v(29194),hn=v(34280),ze=v(2738),he=v(27382),qe=v(37028);const ct=S=>{const{formItemCls:H}=S;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{[`${H}-control`]:{display:"flex"}}}};var je=(0,ee.b)(["Form","item-item"],(S,H)=>{let{rootPrefixCls:J}=H;const Ae=Je(S,J);return[ct(Ae)]}),dt=S=>{const{prefixCls:H,status:J,wrapperCol:Ae,children:me,errors:$e,warnings:Ke,_internalItemRender:Xt,extra:Se,help:Oe,fieldId:Ee,marginBottom:Ue,onErrorVisibleChanged:at}=S,Ut=`${H}-item`,ut=_.useContext(E.q3),Lt=Ae||ut.wrapperCol||{},qt=B()(`${Ut}-control`,Lt.className),Tn=_.useMemo(()=>Object.assign({},ut),[ut]);delete Tn.labelCol,delete Tn.wrapperCol;const Rn=_.createElement("div",{className:`${Ut}-control-input`},_.createElement("div",{className:`${Ut}-control-input-content`},me)),ir=_.useMemo(()=>({prefixCls:H,status:J}),[H,J]),Ln=Ue!==null||$e.length||Ke.length?_.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},_.createElement(E.Rk.Provider,{value:ir},_.createElement(vn,{fieldId:Ee,errors:$e,warnings:Ke,help:Oe,helpStatus:J,className:`${Ut}-explain-connected`,onVisibleChanged:at})),!!Ue&&_.createElement("div",{style:{width:0,height:Ue}})):null,Gn={};Ee&&(Gn.id=`${Ee}_extra`);const _r=Se?_.createElement("div",Object.assign({},Gn,{className:`${Ut}-extra`}),Se):null,un=Xt&&Xt.mark==="pro_table_render"&&Xt.render?Xt.render(S,{input:Rn,errorList:Ln,extra:_r}):_.createElement(_.Fragment,null,Rn,Ln,_r);return _.createElement(E.q3.Provider,{value:Tn},_.createElement(qe.Z,Object.assign({},Lt,{className:qt}),un),_.createElement(je,{prefixCls:H}))},Tt=v(61485),Mt=v(31724),It=v(9763),an=v(6848),In=function(S,H){var J={};for(var Ae in S)Object.prototype.hasOwnProperty.call(S,Ae)&&H.indexOf(Ae)<0&&(J[Ae]=S[Ae]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var me=0,Ae=Object.getOwnPropertySymbols(S);me{let{prefixCls:H,label:J,htmlFor:Ae,labelCol:me,labelAlign:$e,colon:Ke,required:Xt,requiredMark:Se,tooltip:Oe}=S;var Ee;const[Ue]=(0,It.Z)("Form"),{vertical:at,labelAlign:Ut,labelCol:ut,labelWrap:Lt,colon:qt}=_.useContext(E.q3);if(!J)return null;const Tn=me||ut||{},Rn=$e||Ut,ir=`${H}-item-label`,Ln=B()(ir,Rn==="left"&&`${ir}-left`,Tn.className,{[`${ir}-wrap`]:!!Lt});let Gn=J;const _r=Ke===!0||qt!==!1&&Ke!==!1;_r&&!at&&typeof J=="string"&&J.trim()!==""&&(Gn=J.replace(/[:|:]\s*$/,""));const Bn=_n(Oe);if(Bn){const{icon:zr=_.createElement(Tt.Z,null)}=Bn,Wr=In(Bn,["icon"]),Vr=_.createElement(an.Z,Object.assign({},Wr),_.cloneElement(zr,{className:`${H}-item-tooltip`,title:""}));Gn=_.createElement(_.Fragment,null,Gn,Vr)}const lr=Se==="optional",cr=typeof Se=="function";cr?Gn=Se(Gn,{required:!!Xt}):lr&&!Xt&&(Gn=_.createElement(_.Fragment,null,Gn,_.createElement("span",{className:`${H}-item-optional`,title:""},(Ue==null?void 0:Ue.optional)||((Ee=Mt.Z.Form)===null||Ee===void 0?void 0:Ee.optional))));const Fr=B()({[`${H}-item-required`]:Xt,[`${H}-item-required-mark-optional`]:lr||cr,[`${H}-item-no-colon`]:!_r});return _.createElement(qe.Z,Object.assign({},Tn,{className:Ln}),_.createElement("label",{htmlFor:Ae,className:Fr,title:typeof J=="string"?J:""},Gn))},hr=v(29679),di=v(19248),br=v(96512),ri=v(58617);const Ir={success:hr.Z,warning:br.Z,error:di.Z,validating:ri.Z};function Vi(S){let{children:H,errors:J,warnings:Ae,hasFeedback:me,validateStatus:$e,prefixCls:Ke,meta:Xt,noStyle:Se}=S;const Oe=`${Ke}-item`,{feedbackIcons:Ee}=_.useContext(E.q3),Ue=pt(J,Ae,Xt,null,!!me,$e),{isFormItemInput:at,status:Ut}=_.useContext(E.aM),ut=_.useMemo(()=>{var Lt;let qt;if(me){const ir=me!==!0&&me.icons||Ee,Ln=Ue&&((Lt=ir==null?void 0:ir({status:Ue,errors:J,warnings:Ae}))===null||Lt===void 0?void 0:Lt[Ue]),Gn=Ue&&Ir[Ue];qt=Ln!==!1&&Gn?_.createElement("span",{className:B()(`${Oe}-feedback-icon`,`${Oe}-feedback-icon-${Ue}`)},Ln||_.createElement(Gn,null)):null}let Tn=!0,Rn=Ue||"";return Se&&(Tn=at,Rn=(Ue!=null?Ue:Ut)||""),{status:Rn,errors:J,warnings:Ae,hasFeedback:!!me,feedbackIcon:qt,isFormItemInput:Tn}},[Ue,me,Se,at,Ut]);return _.createElement(E.aM.Provider,{value:ut},H)}var fi=function(S,H){var J={};for(var Ae in S)Object.prototype.hasOwnProperty.call(S,Ae)&&H.indexOf(Ae)<0&&(J[Ae]=S[Ae]);if(S!=null&&typeof Object.getOwnPropertySymbols=="function")for(var me=0,Ae=Object.getOwnPropertySymbols(S);me{if(Bn&&Ln.current){const Zr=getComputedStyle(Ln.current);Fr(parseInt(Zr.marginBottom,10))}},[Bn,lr]);const zr=Zr=>{Zr||Fr(null)},Vr=function(){let Zr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const Ei=Zr?Gn:Oe.errors,Yi=Zr?_r:Oe.warnings;return pt(Ei,Yi,Oe,"",!!Ee,Se)}(),wi=B()(Rn,J,Ae,{[`${Rn}-with-help`]:un||Gn.length||_r.length,[`${Rn}-has-feedback`]:Vr&&Ee,[`${Rn}-has-success`]:Vr==="success",[`${Rn}-has-warning`]:Vr==="warning",[`${Rn}-has-error`]:Vr==="error",[`${Rn}-is-validating`]:Vr==="validating",[`${Rn}-hidden`]:Ue});return _.createElement("div",{className:wi,style:me,ref:Ln},_.createElement(he.Z,Object.assign({className:`${Rn}-row`},(0,ze.Z)(Tn,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),_.createElement(Mr,Object.assign({htmlFor:Ut},S,{requiredMark:ir,required:ut!=null?ut:Lt,prefixCls:H})),_.createElement(dt,Object.assign({},S,Oe,{errors:Gn,warnings:_r,prefixCls:H,status:Vr,help:$e,marginBottom:cr,onErrorVisibleChanged:zr}),_.createElement(E.qI.Provider,{value:qt},_.createElement(Vi,{prefixCls:H,meta:Oe,errors:Oe.errors,warnings:Oe.warnings,hasFeedback:Ee,validateStatus:Vr},at)))),!!cr&&_.createElement("div",{className:`${Rn}-margin-offset`,style:{marginBottom:-cr}}))}const Yt="__SPLIT__",Vt=null,gt=_.memo(S=>{let{children:H}=S;return H},(S,H)=>S.value===H.value&&S.update===H.update&&S.childProps.length===H.childProps.length&&S.childProps.every((J,Ae)=>J===H.childProps[Ae]));function yt(S){return S!=null}function Ft(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}function rn(S){const{name:H,noStyle:J,className:Ae,dependencies:me,prefixCls:$e,shouldUpdate:Ke,rules:Xt,children:Se,required:Oe,label:Ee,messageVariables:Ue,trigger:at="onChange",validateTrigger:Ut,hidden:ut,help:Lt}=S,{getPrefixCls:qt}=_.useContext(xn.E_),{name:Tn}=_.useContext(E.q3),Rn=bt(Se),ir=typeof Rn=="function",Ln=_.useContext(E.qI),{validateTrigger:Gn}=_.useContext(Qn.FieldContext),_r=Ut!==void 0?Ut:Gn,un=yt(H),Bn=qt("form",$e),[lr,cr]=it(Bn),Fr=_.useContext(Qn.ListContext),zr=_.useRef(),[Wr,Vr]=mt({}),[wi,Zr]=(0,Wt.Z)(()=>Ft()),Ei=Cn=>{const Xn=Fr==null?void 0:Fr.getKey(Cn.name);if(Zr(Cn.destroy?Ft():Cn,!0),J&&Lt!==!1&&Ln){let mr=Cn.name;if(Cn.destroy)mr=zr.current||mr;else if(Xn!==void 0){const[yr,ai]=Xn;mr=[yr].concat((0,m.Z)(ai)),zr.current=mr}Ln(Cn,mr)}},Yi=(Cn,Xn)=>{Vr(mr=>{const yr=Object.assign({},mr),Si=[].concat((0,m.Z)(Cn.name.slice(0,-1)),(0,m.Z)(Xn)).join(Yt);return Cn.destroy?delete yr[Si]:yr[Si]=Cn,yr})},[wn,wt]=_.useMemo(()=>{const Cn=(0,m.Z)(wi.errors),Xn=(0,m.Z)(wi.warnings);return Object.values(Wr).forEach(mr=>{Cn.push.apply(Cn,(0,m.Z)(mr.errors||[])),Xn.push.apply(Xn,(0,m.Z)(mr.warnings||[]))}),[Cn,Xn]},[Wr,wi.errors,wi.warnings]),Rt=Qt();function Et(Cn,Xn,mr){return J&&!ut?_.createElement(Vi,{prefixCls:Bn,hasFeedback:S.hasFeedback,validateStatus:S.validateStatus,meta:wi,errors:wn,warnings:wt,noStyle:!0},Cn):_.createElement(on,Object.assign({key:"row"},S,{className:B()(Ae,cr),prefixCls:Bn,fieldId:Xn,isRequired:mr,errors:wn,warnings:wt,meta:wi,onSubItemMetaChange:Yi}),Cn)}if(!un&&!ir&&!me)return lr(Et(Rn));let dn={};return typeof Ee=="string"?dn.label=Ee:H&&(dn.label=String(H)),Ue&&(dn=Object.assign(Object.assign({},dn),Ue)),lr(_.createElement(Qn.Field,Object.assign({},S,{messageVariables:dn,trigger:at,validateTrigger:_r,onMetaChange:Ei}),(Cn,Xn,mr)=>{const yr=Pt(H).length&&Xn?Xn.name:[],ai=tn(yr,Tn),Si=Oe!==void 0?Oe:!!(Xt&&Xt.some(vi=>{if(vi&&typeof vi=="object"&&vi.required&&!vi.warningOnly)return!0;if(typeof vi=="function"){const es=vi(mr);return es&&es.required&&!es.warningOnly}return!1})),Ai=Object.assign({},Cn);let ii=null;if(Array.isArray(Rn)&&un)ii=Rn;else if(!(ir&&(!(Ke||me)||un))){if(!(me&&!ir&&!un))if((0,De.l$)(Rn)){const vi=Object.assign(Object.assign({},Rn.props),Ai);if(vi.id||(vi.id=ai),Lt||wn.length>0||wt.length>0||S.extra){const Wi=[];(Lt||wn.length>0)&&Wi.push(`${ai}_help`),S.extra&&Wi.push(`${ai}_extra`),vi["aria-describedby"]=Wi.join(" ")}wn.length>0&&(vi["aria-invalid"]="true"),Si&&(vi["aria-required"]="true"),(0,zt.Yr)(Rn)&&(vi.ref=Rt(yr,Rn)),new Set([].concat((0,m.Z)(Pt(at)),(0,m.Z)(Pt(_r)))).forEach(Wi=>{vi[Wi]=function(){for(var Rr,Ss,ya,pa,Pa,Ui=arguments.length,ki=new Array(Ui),cs=0;cs{var{prefixCls:H,children:J}=S,Ae=Zn(S,["prefixCls","children"]);const{getPrefixCls:me}=_.useContext(xn.E_),$e=me("form",H),Ke=_.useMemo(()=>({prefixCls:$e,status:"error"}),[$e]);return _.createElement(Qn.List,Object.assign({},Ae),(Xt,Se,Oe)=>_.createElement(E.Rk.Provider,{value:Ke},J(Xt.map(Ee=>Object.assign(Object.assign({},Ee),{fieldKey:Ee.key})),Se,{errors:Oe.errors,warnings:Oe.warnings})))};function Ne(){const{form:S}=(0,_.useContext)(E.q3);return S}const V=ht;V.Item=jn,V.List=Qr,V.ErrorList=vn,V.useForm=ae,V.useFormInstance=Ne,V.useWatch=Qn.useWatch,V.Provider=E.RV,V.create=()=>{};var W=V},9432:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return Me},n:function(){return fe}});var m=v(19248),O=v(92310),B=v.n(O),R=v(93681),_=v(8654),I=v(59301),E=v(19080),N=v(36355),F=v(1684),T=v(19716),D=v(32441),z=v(33234),ee=v(59412),te=v(9937);function ge(Ze){return!!(Ze.prefix||Ze.suffix||Ze.allowClear)}var pe=function(Ze,Ye){var Te={};for(var be in Ze)Object.prototype.hasOwnProperty.call(Ze,be)&&Ye.indexOf(be)<0&&(Te[be]=Ze[be]);if(Ze!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Ge=0,be=Object.getOwnPropertySymbols(Ze);Ge{var Te;const{prefixCls:be,bordered:Ge=!0,status:Je,size:it,disabled:$t,onBlur:cn,onFocus:Sn,suffix:vn,allowClear:Qn,addonAfter:xn,addonBefore:Un,className:ke,style:ot,styles:Ht,rootClassName:On,onChange:xt,classNames:Pt}=Ze,tn=pe(Ze,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames"]),{getPrefixCls:pt,direction:lt,input:ae}=I.useContext(N.E_),re=pt("input",be),Ie=(0,I.useRef)(null),[Ct,Nt]=(0,te.ZP)(re),{compactSize:ht,compactItemClassnames:Wt}=(0,z.ri)(re,lt),zt=(0,T.Z)(je=>{var Xe;return(Xe=it!=null?it:ht)!==null&&Xe!==void 0?Xe:je}),De=I.useContext(F.Z),ft=$t!=null?$t:De,{status:bt,hasFeedback:U,feedbackIcon:de}=(0,I.useContext)(D.aM),vt=(0,E.F)(bt,Je),mt=ge(Ze)||!!U,Qt=(0,I.useRef)(mt);(0,I.useEffect)(()=>{var je;mt&&Qt.current,Qt.current=mt},[mt]);const jt=(0,ee.Z)(Ie,!0),hn=je=>{jt(),cn==null||cn(je)},ze=je=>{jt(),Sn==null||Sn(je)},he=je=>{jt(),xt==null||xt(je)},qe=(U||vn)&&I.createElement(I.Fragment,null,vn,U&&de);let ct;return typeof Qn=="object"&&(Qn!=null&&Qn.clearIcon)?ct=Qn:Qn&&(ct={clearIcon:I.createElement(m.Z,null)}),Ct(I.createElement(R.default,Object.assign({ref:(0,_.sQ)(Ye,Ie),prefixCls:re,autoComplete:ae==null?void 0:ae.autoComplete},tn,{disabled:ft,onBlur:hn,onFocus:ze,style:Object.assign(Object.assign({},ae==null?void 0:ae.style),ot),styles:Object.assign(Object.assign({},ae==null?void 0:ae.styles),Ht),suffix:qe,allowClear:ct,className:B()(ke,On,Wt,ae==null?void 0:ae.className),onChange:he,addonAfter:xn&&I.createElement(z.BR,null,I.createElement(D.Ux,{override:!0,status:!0},xn)),addonBefore:Un&&I.createElement(z.BR,null,I.createElement(D.Ux,{override:!0,status:!0},Un)),classNames:Object.assign(Object.assign(Object.assign({},Pt),ae==null?void 0:ae.classNames),{input:B()({[`${re}-sm`]:zt==="small",[`${re}-lg`]:zt==="large",[`${re}-rtl`]:lt==="rtl",[`${re}-borderless`]:!Ge},!mt&&(0,E.Z)(re,vt),Pt==null?void 0:Pt.input,(Te=ae==null?void 0:ae.classNames)===null||Te===void 0?void 0:Te.input,Nt)}),classes:{affixWrapper:B()({[`${re}-affix-wrapper-sm`]:zt==="small",[`${re}-affix-wrapper-lg`]:zt==="large",[`${re}-affix-wrapper-rtl`]:lt==="rtl",[`${re}-affix-wrapper-borderless`]:!Ge},(0,E.Z)(`${re}-affix-wrapper`,vt,U),Nt),wrapper:B()({[`${re}-group-rtl`]:lt==="rtl"},Nt),group:B()({[`${re}-group-wrapper-sm`]:zt==="small",[`${re}-group-wrapper-lg`]:zt==="large",[`${re}-group-wrapper-rtl`]:lt==="rtl",[`${re}-group-wrapper-disabled`]:ft},(0,E.Z)(`${re}-group-wrapper`,vt,U),Nt)}})))})},1643:function(Re,xe,v){"use strict";var m=v(19248),O=v(92310),B=v.n(O),R=v(9296),_=v(59301),I=v(19080),E=v(36355),N=v(1684),F=v(19716),T=v(32441),D=v(9432),z=v(9937),ee=function(ge,pe){var fe={};for(var Le in ge)Object.prototype.hasOwnProperty.call(ge,Le)&&pe.indexOf(Le)<0&&(fe[Le]=ge[Le]);if(ge!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Me=0,Le=Object.getOwnPropertySymbols(ge);Me{const{prefixCls:fe,bordered:Le=!0,size:Me,disabled:Ze,status:Ye,allowClear:Te,showCount:be,classNames:Ge,rootClassName:Je,className:it}=ge,$t=ee(ge,["prefixCls","bordered","size","disabled","status","allowClear","showCount","classNames","rootClassName","className"]),{getPrefixCls:cn,direction:Sn}=_.useContext(E.E_),vn=(0,F.Z)(Me),Qn=_.useContext(N.Z),xn=Ze!=null?Ze:Qn,{status:Un,hasFeedback:ke,feedbackIcon:ot}=_.useContext(T.aM),Ht=(0,I.F)(Un,Ye),On=_.useRef(null);_.useImperativeHandle(pe,()=>{var lt;return{resizableTextArea:(lt=On.current)===null||lt===void 0?void 0:lt.resizableTextArea,focus:ae=>{var re,Ie;(0,D.n)((Ie=(re=On.current)===null||re===void 0?void 0:re.resizableTextArea)===null||Ie===void 0?void 0:Ie.textArea,ae)},blur:()=>{var ae;return(ae=On.current)===null||ae===void 0?void 0:ae.blur()}}});const xt=cn("input",fe);let Pt;typeof Te=="object"&&(Te!=null&&Te.clearIcon)?Pt=Te:Te&&(Pt={clearIcon:_.createElement(m.Z,null)});const[tn,pt]=(0,z.ZP)(xt);return tn(_.createElement(R.default,Object.assign({},$t,{disabled:xn,allowClear:Pt,className:B()(it,Je),classes:{affixWrapper:B()(`${xt}-textarea-affix-wrapper`,{[`${xt}-affix-wrapper-rtl`]:Sn==="rtl",[`${xt}-affix-wrapper-borderless`]:!Le,[`${xt}-affix-wrapper-sm`]:vn==="small",[`${xt}-affix-wrapper-lg`]:vn==="large",[`${xt}-textarea-show-count`]:be},(0,I.Z)(`${xt}-affix-wrapper`,Ht),pt)},classNames:Object.assign(Object.assign({},Ge),{textarea:B()({[`${xt}-borderless`]:!Le,[`${xt}-sm`]:vn==="small",[`${xt}-lg`]:vn==="large"},(0,I.Z)(xt,Ht),pt,Ge==null?void 0:Ge.textarea)}),prefixCls:xt,suffix:ke&&_.createElement("span",{className:`${xt}-textarea-suffix`},ot),showCount:be,ref:On})))});xe.Z=te},59412:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(59301);function O(B,R){const _=(0,m.useRef)([]),I=()=>{_.current.push(setTimeout(()=>{var E,N,F,T;!((E=B.current)===null||E===void 0)&&E.input&&((N=B.current)===null||N===void 0?void 0:N.input.getAttribute("type"))==="password"&&(!((F=B.current)===null||F===void 0)&&F.input.hasAttribute("value"))&&((T=B.current)===null||T===void 0||T.input.removeAttribute("value"))}))};return(0,m.useEffect)(()=>(R&&I(),()=>_.current.forEach(E=>{E&&clearTimeout(E)})),[]),I}},92832:function(Re,xe,v){"use strict";v.d(xe,{default:function(){return vn}});var m=v(92310),O=v.n(m),B=v(59301),R=v(36355),_=v(32441),I=v(9937),N=Qn=>{const{getPrefixCls:xn,direction:Un}=(0,B.useContext)(R.E_),{prefixCls:ke,className:ot}=Qn,Ht=xn("input-group",ke),On=xn("input"),[xt,Pt]=(0,I.ZP)(On),tn=O()(Ht,{[`${Ht}-lg`]:Qn.size==="large",[`${Ht}-sm`]:Qn.size==="small",[`${Ht}-compact`]:Qn.compact,[`${Ht}-rtl`]:Un==="rtl"},Pt,ot),pt=(0,B.useContext)(_.aM),lt=(0,B.useMemo)(()=>Object.assign(Object.assign({},pt),{isFormItemInput:!1}),[pt]);return xt(B.createElement("span",{className:tn,style:Qn.style,onMouseEnter:Qn.onMouseEnter,onMouseLeave:Qn.onMouseLeave,onFocus:Qn.onFocus,onBlur:Qn.onBlur},B.createElement(_.aM.Provider,{value:lt},Qn.children)))},F=v(9432),T=v(73331),D=v(15277),z=v(2738),ee=v(8654),te=v(59412),ge=function(Qn,xn){var Un={};for(var ke in Qn)Object.prototype.hasOwnProperty.call(Qn,ke)&&xn.indexOf(ke)<0&&(Un[ke]=Qn[ke]);if(Qn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ot=0,ke=Object.getOwnPropertySymbols(Qn);otQn?B.createElement(D.Z,null):B.createElement(T.Z,null),fe={click:"onClick",hover:"onMouseOver"};var Me=B.forwardRef((Qn,xn)=>{const{visibilityToggle:Un=!0}=Qn,ke=typeof Un=="object"&&Un.visible!==void 0,[ot,Ht]=(0,B.useState)(()=>ke?Un.visible:!1),On=(0,B.useRef)(null);B.useEffect(()=>{ke&&Ht(Un.visible)},[ke,Un]);const xt=(0,te.Z)(On),Pt=()=>{const{disabled:ft}=Qn;ft||(ot&&xt(),Ht(bt=>{var U;const de=!bt;return typeof Un=="object"&&((U=Un.onVisibleChange)===null||U===void 0||U.call(Un,de)),de}))},tn=ft=>{const{action:bt="click",iconRender:U=pe}=Qn,de=fe[bt]||"",vt=U(ot),mt={[de]:Pt,className:`${ft}-icon`,key:"passwordIcon",onMouseDown:Qt=>{Qt.preventDefault()},onMouseUp:Qt=>{Qt.preventDefault()}};return B.cloneElement(B.isValidElement(vt)?vt:B.createElement("span",null,vt),mt)},{className:pt,prefixCls:lt,inputPrefixCls:ae,size:re}=Qn,Ie=ge(Qn,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:Ct}=B.useContext(R.E_),Nt=Ct("input",ae),ht=Ct("input-password",lt),Wt=Un&&tn(ht),zt=O()(ht,pt,{[`${ht}-${re}`]:!!re}),De=Object.assign(Object.assign({},(0,z.Z)(Ie,["suffix","iconRender","visibilityToggle"])),{type:ot?"text":"password",className:zt,prefixCls:Nt,suffix:Wt});return re&&(De.size=re),B.createElement(F.Z,Object.assign({ref:(0,ee.sQ)(xn,On)},De))}),Ze=v(47472),Ye=v(92343),Te=v(3113),be=v(19716),Ge=v(33234),Je=function(Qn,xn){var Un={};for(var ke in Qn)Object.prototype.hasOwnProperty.call(Qn,ke)&&xn.indexOf(ke)<0&&(Un[ke]=Qn[ke]);if(Qn!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ot=0,ke=Object.getOwnPropertySymbols(Qn);ot{const{prefixCls:Un,inputPrefixCls:ke,className:ot,size:Ht,suffix:On,enterButton:xt=!1,addonAfter:Pt,loading:tn,disabled:pt,onSearch:lt,onChange:ae,onCompositionStart:re,onCompositionEnd:Ie}=Qn,Ct=Je(Qn,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:Nt,direction:ht}=B.useContext(R.E_),Wt=B.useRef(!1),zt=Nt("input-search",Un),De=Nt("input",ke),{compactSize:ft}=(0,Ge.ri)(zt,ht),bt=(0,be.Z)(dt=>{var Tt;return(Tt=Ht!=null?Ht:ft)!==null&&Tt!==void 0?Tt:dt}),U=B.useRef(null),de=dt=>{dt&&dt.target&&dt.type==="click"&<&<(dt.target.value,dt,{source:"clear"}),ae&&ae(dt)},vt=dt=>{var Tt;document.activeElement===((Tt=U.current)===null||Tt===void 0?void 0:Tt.input)&&dt.preventDefault()},mt=dt=>{var Tt,Mt;lt&<((Mt=(Tt=U.current)===null||Tt===void 0?void 0:Tt.input)===null||Mt===void 0?void 0:Mt.value,dt,{source:"input"})},Qt=dt=>{Wt.current||tn||mt(dt)},jt=typeof xt=="boolean"?B.createElement(Ze.Z,null):null,hn=`${zt}-button`;let ze;const he=xt||{},qe=he.type&&he.type.__ANT_BUTTON===!0;qe||he.type==="button"?ze=(0,Ye.Tm)(he,Object.assign({onMouseDown:vt,onClick:dt=>{var Tt,Mt;(Mt=(Tt=he==null?void 0:he.props)===null||Tt===void 0?void 0:Tt.onClick)===null||Mt===void 0||Mt.call(Tt,dt),mt(dt)},key:"enterButton"},qe?{className:hn,size:bt}:{})):ze=B.createElement(Te.ZP,{className:hn,type:xt?"primary":void 0,size:bt,disabled:pt,key:"enterButton",onMouseDown:vt,onClick:mt,loading:tn,icon:jt},xt),Pt&&(ze=[ze,(0,Ye.Tm)(Pt,{key:"addonAfter"})]);const ct=O()(zt,{[`${zt}-rtl`]:ht==="rtl",[`${zt}-${bt}`]:!!bt,[`${zt}-with-button`]:!!xt},ot),je=dt=>{Wt.current=!0,re==null||re(dt)},Xe=dt=>{Wt.current=!1,Ie==null||Ie(dt)};return B.createElement(F.Z,Object.assign({ref:(0,ee.sQ)(U,xn),onPressEnter:Qt},Ct,{size:bt,onCompositionStart:je,onCompositionEnd:Xe,prefixCls:De,addonAfter:ze,suffix:On,onChange:de,className:ct,disabled:pt}))}),cn=v(1643);const Sn=F.Z;Sn.Group=N,Sn.Search=$t,Sn.TextArea=cn.Z,Sn.Password=Me;var vn=Sn},9937:function(Re,xe,v){"use strict";v.d(xe,{M1:function(){return E},TM:function(){return Ye},Xy:function(){return N},bi:function(){return D},e5:function(){return Ze},ik:function(){return z},nz:function(){return _},pU:function(){return I},s7:function(){return ee},x0:function(){return T}});var m=v(17313),O=v(74207),B=v(37613),R=v(83116);const _=Te=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:Te,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),I=Te=>({borderColor:Te.hoverBorderColor}),E=Te=>({borderColor:Te.activeBorderColor,boxShadow:Te.activeShadow,outline:0}),N=Te=>({color:Te.colorTextDisabled,backgroundColor:Te.colorBgContainerDisabled,borderColor:Te.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover":Object.assign({},I((0,B.TS)(Te,{hoverBorderColor:Te.colorBorder})))}),F=Te=>{const{paddingBlockLG:be,fontSizeLG:Ge,lineHeightLG:Je,borderRadiusLG:it,paddingInlineLG:$t}=Te;return{padding:`${be}px ${$t}px`,fontSize:Ge,lineHeight:Je,borderRadius:it}},T=Te=>({padding:`${Te.paddingBlockSM}px ${Te.paddingInlineSM}px`,borderRadius:Te.borderRadiusSM}),D=(Te,be)=>{const{componentCls:Ge,colorError:Je,colorWarning:it,errorActiveShadow:$t,warningActiveShadow:cn,colorErrorBorderHover:Sn,colorWarningBorderHover:vn}=Te;return{[`&-status-error:not(${be}-disabled):not(${be}-borderless)${be}`]:{borderColor:Je,"&:hover":{borderColor:Sn},"&:focus, &-focused":Object.assign({},E((0,B.TS)(Te,{activeBorderColor:Je,activeShadow:$t}))),[`${Ge}-prefix, ${Ge}-suffix`]:{color:Je}},[`&-status-warning:not(${be}-disabled):not(${be}-borderless)${be}`]:{borderColor:it,"&:hover":{borderColor:vn},"&:focus, &-focused":Object.assign({},E((0,B.TS)(Te,{activeBorderColor:it,activeShadow:cn}))),[`${Ge}-prefix, ${Ge}-suffix`]:{color:it}}}},z=Te=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:`${Te.paddingBlock}px ${Te.paddingInline}px`,color:Te.colorText,fontSize:Te.fontSize,lineHeight:Te.lineHeight,backgroundColor:Te.colorBgContainer,backgroundImage:"none",borderWidth:Te.lineWidth,borderStyle:Te.lineType,borderColor:Te.colorBorder,borderRadius:Te.borderRadius,transition:`all ${Te.motionDurationMid}`},_(Te.colorTextPlaceholder)),{"&:hover":Object.assign({},I(Te)),"&:focus, &-focused":Object.assign({},E(Te)),"&-disabled, &[disabled]":Object.assign({},N(Te)),"&-borderless":{"&, &:hover, &:focus, &-focused, &-disabled, &[disabled]":{backgroundColor:"transparent",border:"none",boxShadow:"none"}},"textarea&":{maxWidth:"100%",height:"auto",minHeight:Te.controlHeight,lineHeight:Te.lineHeight,verticalAlign:"bottom",transition:`all ${Te.motionDurationSlow}, height 0s`,resize:"vertical"},"&-lg":Object.assign({},F(Te)),"&-sm":Object.assign({},T(Te)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),ee=Te=>{const{componentCls:be,antCls:Ge}=Te;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:Te.paddingXS,"&:last-child":{paddingInlineEnd:0}},[`&-lg ${be}, &-lg > ${be}-group-addon`]:Object.assign({},F(Te)),[`&-sm ${be}, &-sm > ${be}-group-addon`]:Object.assign({},T(Te)),[`&-lg ${Ge}-select-single ${Ge}-select-selector`]:{height:Te.controlHeightLG},[`&-sm ${Ge}-select-single ${Ge}-select-selector`]:{height:Te.controlHeightSM},[`> ${be}`]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},[`${be}-group`]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:`0 ${Te.paddingInline}px`,color:Te.colorText,fontWeight:"normal",fontSize:Te.fontSize,textAlign:"center",backgroundColor:Te.colorFillAlter,border:`${Te.lineWidth}px ${Te.lineType} ${Te.colorBorder}`,borderRadius:Te.borderRadius,transition:`all ${Te.motionDurationSlow}`,lineHeight:1,[`${Ge}-select`]:{margin:`-${Te.paddingBlock+1}px -${Te.paddingInline}px`,[`&${Ge}-select-single:not(${Ge}-select-customize-input)`]:{[`${Ge}-select-selector`]:{backgroundColor:"inherit",border:`${Te.lineWidth}px ${Te.lineType} transparent`,boxShadow:"none"}},"&-open, &-focused":{[`${Ge}-select-selector`]:{color:Te.colorPrimary}}},[`${Ge}-cascader-picker`]:{margin:`-9px -${Te.paddingInline}px`,backgroundColor:"transparent",[`${Ge}-cascader-input`]:{textAlign:"start",border:0,boxShadow:"none"}}},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}},[`${be}`]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,[`${be}-search-with-button &`]:{zIndex:0}}},[`> ${be}:first-child, ${be}-group-addon:first-child`]:{borderStartEndRadius:0,borderEndEndRadius:0,[`${Ge}-select ${Ge}-select-selector`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${be}-affix-wrapper`]:{[`&:not(:first-child) ${be}`]:{borderStartStartRadius:0,borderEndStartRadius:0},[`&:not(:last-child) ${be}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`> ${be}:last-child, ${be}-group-addon:last-child`]:{borderStartStartRadius:0,borderEndStartRadius:0,[`${Ge}-select ${Ge}-select-selector`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`${be}-affix-wrapper`]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,[`${be}-search &`]:{borderStartStartRadius:Te.borderRadius,borderEndStartRadius:Te.borderRadius}},[`&:not(:first-child), ${be}-search &:not(:first-child)`]:{borderStartStartRadius:0,borderEndStartRadius:0}},[`&${be}-group-compact`]:Object.assign(Object.assign({display:"block"},(0,m.dF)()),{[`${be}-group-addon, ${be}-group-wrap, > ${be}`]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:Te.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},[` + & > ${be}-affix-wrapper, + & > ${be}-number-affix-wrapper, + & > ${Ge}-picker-range + `]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:-Te.lineWidth,borderInlineEndWidth:Te.lineWidth},[`${be}`]:{float:"none"},[`& > ${Ge}-select > ${Ge}-select-selector, + & > ${Ge}-select-auto-complete ${be}, + & > ${Ge}-cascader-picker ${be}, + & > ${be}-group-wrapper ${be}`]:{borderInlineEndWidth:Te.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},[`& > ${Ge}-select-focused`]:{zIndex:1},[`& > ${Ge}-select > ${Ge}-select-arrow`]:{zIndex:1},[`& > *:first-child, + & > ${Ge}-select:first-child > ${Ge}-select-selector, + & > ${Ge}-select-auto-complete:first-child ${be}, + & > ${Ge}-cascader-picker:first-child ${be}`]:{borderStartStartRadius:Te.borderRadius,borderEndStartRadius:Te.borderRadius},[`& > *:last-child, + & > ${Ge}-select:last-child > ${Ge}-select-selector, + & > ${Ge}-cascader-picker:last-child ${be}, + & > ${Ge}-cascader-picker-focused:last-child ${be}`]:{borderInlineEndWidth:Te.lineWidth,borderStartEndRadius:Te.borderRadius,borderEndEndRadius:Te.borderRadius},[`& > ${Ge}-select-auto-complete ${be}`]:{verticalAlign:"top"},[`${be}-group-wrapper + ${be}-group-wrapper`]:{marginInlineStart:-Te.lineWidth,[`${be}-affix-wrapper`]:{borderRadius:0}},[`${be}-group-wrapper:not(:last-child)`]:{[`&${be}-search > ${be}-group`]:{[`& > ${be}-group-addon > ${be}-search-button`]:{borderRadius:0},[`& > ${be}`]:{borderStartStartRadius:Te.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:Te.borderRadius}}}})}},te=Te=>{const{componentCls:be,controlHeightSM:Ge,lineWidth:Je}=Te,$t=(Ge-Je*2-16)/2;return{[be]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,m.Wf)(Te)),z(Te)),D(Te,be)),{'&[type="color"]':{height:Te.controlHeight,[`&${be}-lg`]:{height:Te.controlHeightLG},[`&${be}-sm`]:{height:Ge,paddingTop:$t,paddingBottom:$t}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},ge=Te=>{const{componentCls:be}=Te;return{[`${be}-clear-icon`]:{margin:0,color:Te.colorTextQuaternary,fontSize:Te.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:`color ${Te.motionDurationSlow}`,"&:hover":{color:Te.colorTextTertiary},"&:active":{color:Te.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:`0 ${Te.inputAffixPadding}px`}}}},pe=Te=>{const{componentCls:be,inputAffixPadding:Ge,colorTextDescription:Je,motionDurationSlow:it,colorIcon:$t,colorIconHover:cn,iconCls:Sn}=Te;return{[`${be}-affix-wrapper`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},z(Te)),{display:"inline-flex",[`&:not(${be}-affix-wrapper-disabled):hover`]:Object.assign(Object.assign({},I(Te)),{zIndex:1,[`${be}-search-with-button &`]:{zIndex:0}}),"&-focused, &:focus":{zIndex:1},"&-disabled":{[`${be}[disabled]`]:{background:"transparent"}},[`> input${be}`]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},[`${be}`]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:Te.paddingXS}},"&-show-count-suffix":{color:Je},"&-show-count-has-suffix":{marginInlineEnd:Te.paddingXXS},"&-prefix":{marginInlineEnd:Ge},"&-suffix":{marginInlineStart:Ge}}}),ge(Te)),{[`${Sn}${be}-password-icon`]:{color:$t,cursor:"pointer",transition:`all ${it}`,"&:hover":{color:cn}}}),D(Te,`${be}-affix-wrapper`))}},fe=Te=>{const{componentCls:be,colorError:Ge,colorWarning:Je,borderRadiusLG:it,borderRadiusSM:$t}=Te;return{[`${be}-group`]:Object.assign(Object.assign(Object.assign({},(0,m.Wf)(Te)),ee(Te)),{"&-rtl":{direction:"rtl"},"&-wrapper":{display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{[`${be}-group-addon`]:{borderRadius:it,fontSize:Te.fontSizeLG}},"&-sm":{[`${be}-group-addon`]:{borderRadius:$t}},"&-status-error":{[`${be}-group-addon`]:{color:Ge,borderColor:Ge}},"&-status-warning":{[`${be}-group-addon`]:{color:Je,borderColor:Je}},"&-disabled":{[`${be}-group-addon`]:Object.assign({},N(Te))},[`&:not(${be}-compact-first-item):not(${be}-compact-last-item)${be}-compact-item`]:{[`${be}, ${be}-group-addon`]:{borderRadius:0}},[`&:not(${be}-compact-last-item)${be}-compact-first-item`]:{[`${be}, ${be}-group-addon`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&:not(${be}-compact-first-item)${be}-compact-last-item`]:{[`${be}, ${be}-group-addon`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}})}},Le=Te=>{const{componentCls:be,antCls:Ge}=Te,Je=`${be}-search`;return{[Je]:{[`${be}`]:{"&:hover, &:focus":{borderColor:Te.colorPrimaryHover,[`+ ${be}-group-addon ${Je}-button:not(${Ge}-btn-primary)`]:{borderInlineStartColor:Te.colorPrimaryHover}}},[`${be}-affix-wrapper`]:{borderRadius:0},[`${be}-lg`]:{lineHeight:Te.lineHeightLG-2e-4},[`> ${be}-group`]:{[`> ${be}-group-addon:last-child`]:{insetInlineStart:-1,padding:0,border:0,[`${Je}-button`]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:Te.borderRadius,borderEndEndRadius:Te.borderRadius,borderEndStartRadius:0,boxShadow:"none"},[`${Je}-button:not(${Ge}-btn-primary)`]:{color:Te.colorTextDescription,"&:hover":{color:Te.colorPrimaryHover},"&:active":{color:Te.colorPrimaryActive},[`&${Ge}-btn-loading::before`]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},[`${Je}-button`]:{height:Te.controlHeight,"&:hover, &:focus":{zIndex:1}},[`&-large ${Je}-button`]:{height:Te.controlHeightLG},[`&-small ${Je}-button`]:{height:Te.controlHeightSM},"&-rtl":{direction:"rtl"},[`&${be}-compact-item`]:{[`&:not(${be}-compact-last-item)`]:{[`${be}-group-addon`]:{[`${be}-search-button`]:{marginInlineEnd:-Te.lineWidth,borderRadius:0}}},[`&:not(${be}-compact-first-item)`]:{[`${be},${be}-affix-wrapper`]:{borderRadius:0}},[`> ${be}-group-addon ${be}-search-button, + > ${be}, + ${be}-affix-wrapper`]:{"&:hover,&:focus,&:active":{zIndex:2}},[`> ${be}-affix-wrapper-focused`]:{zIndex:2}}}}},Me=Te=>{const{componentCls:be,paddingLG:Ge}=Te,Je=`${be}-textarea`;return{[Je]:{position:"relative","&-show-count":{[`> ${be}`]:{height:"100%"},[`${be}-data-count`]:{position:"absolute",bottom:-Te.fontSize*Te.lineHeight,insetInlineEnd:0,color:Te.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{[`> ${be}`]:{paddingInlineEnd:Ge}},[`&-affix-wrapper${Je}-has-feedback`]:{[`${be}`]:{paddingInlineEnd:Ge}},[`&-affix-wrapper${be}-affix-wrapper`]:{padding:0,[`> textarea${be}`]:{fontSize:"inherit",border:"none",outline:"none","&:focus":{boxShadow:"none !important"}},[`${be}-suffix`]:{margin:0,"> *:not(:last-child)":{marginInline:0},[`${be}-clear-icon`]:{position:"absolute",insetInlineEnd:Te.paddingXS,insetBlockStart:Te.paddingXS},[`${Je}-suffix`]:{position:"absolute",top:0,insetInlineEnd:Te.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}};function Ze(Te){return(0,B.TS)(Te,{inputAffixPadding:Te.paddingXXS})}const Ye=Te=>{const{controlHeight:be,fontSize:Ge,lineHeight:Je,lineWidth:it,controlHeightSM:$t,controlHeightLG:cn,fontSizeLG:Sn,lineHeightLG:vn,paddingSM:Qn,controlPaddingHorizontalSM:xn,controlPaddingHorizontal:Un,colorFillAlter:ke,colorPrimaryHover:ot,controlOutlineWidth:Ht,controlOutline:On,colorErrorOutline:xt,colorWarningOutline:Pt}=Te;return{paddingBlock:Math.max(Math.round((be-Ge*Je)/2*10)/10-it,3),paddingBlockSM:Math.max(Math.round(($t-Ge*Je)/2*10)/10-it,0),paddingBlockLG:Math.ceil((cn-Sn*vn)/2*10)/10-it,paddingInline:Qn-it,paddingInlineSM:xn-it,paddingInlineLG:Un-it,addonBg:ke,activeBorderColor:ot,hoverBorderColor:ot,activeShadow:`0 0 0 ${Ht}px ${On}`,errorActiveShadow:`0 0 0 ${Ht}px ${xt}`,warningActiveShadow:`0 0 0 ${Ht}px ${Pt}`}};xe.ZP=(0,R.Z)("Input",Te=>{const be=(0,B.TS)(Te,Ze(Te));return[te(be),Me(be),pe(be),fe(be),Le(be),(0,O.c)(be)]},Ye)},5112:function(Re,xe,v){"use strict";v.d(xe,{ZP:function(){return On}});var m=v(92310),O=v.n(m),B=v(18929),R=v(26112),_=v(59301),I=v(36355),E=v(19716);const N=_.createContext(null),F=N.Provider;var T=N;const D=_.createContext(null),z=D.Provider;var ee=v(5630),te=v(8654),ge=v(1684),pe=v(32441),fe=v(17313),Le=v(83116),Me=v(37613);const Ze=xt=>{const{componentCls:Pt,antCls:tn}=xt,pt=`${Pt}-group`;return{[pt]:Object.assign(Object.assign({},(0,fe.Wf)(xt)),{display:"inline-block",fontSize:0,[`&${pt}-rtl`]:{direction:"rtl"},[`${tn}-badge ${tn}-badge-count`]:{zIndex:1},[`> ${tn}-badge:not(:first-child) > ${tn}-button-wrapper`]:{borderInlineStart:"none"}})}},Ye=xt=>{const{componentCls:Pt,wrapperMarginInlineEnd:tn,colorPrimary:pt,radioSize:lt,motionDurationSlow:ae,motionDurationMid:re,motionEaseInOutCirc:Ie,colorBgContainer:Ct,colorBorder:Nt,lineWidth:ht,dotSize:Wt,colorBgContainerDisabled:zt,colorTextDisabled:De,paddingXS:ft,dotColorDisabled:bt,lineType:U,radioDotDisabledSize:de,wireframe:vt,colorWhite:mt}=xt,Qt=`${Pt}-inner`;return{[`${Pt}-wrapper`]:Object.assign(Object.assign({},(0,fe.Wf)(xt)),{display:"inline-flex",alignItems:"baseline",marginInlineStart:0,marginInlineEnd:tn,cursor:"pointer",[`&${Pt}-wrapper-rtl`]:{direction:"rtl"},"&-disabled":{cursor:"not-allowed",color:xt.colorTextDisabled},"&::after":{display:"inline-block",width:0,overflow:"hidden",content:'"\\a0"'},[`${Pt}-checked::after`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:"100%",height:"100%",border:`${ht}px ${U} ${pt}`,borderRadius:"50%",visibility:"hidden",content:'""'},[Pt]:Object.assign(Object.assign({},(0,fe.Wf)(xt)),{position:"relative",display:"inline-block",outline:"none",cursor:"pointer",alignSelf:"center",borderRadius:"50%"}),[`${Pt}-wrapper:hover &, + &:hover ${Qt}`]:{borderColor:pt},[`${Pt}-input:focus-visible + ${Qt}`]:Object.assign({},(0,fe.oN)(xt)),[`${Pt}:hover::after, ${Pt}-wrapper:hover &::after`]:{visibility:"visible"},[`${Pt}-inner`]:{"&::after":{boxSizing:"border-box",position:"absolute",insetBlockStart:"50%",insetInlineStart:"50%",display:"block",width:lt,height:lt,marginBlockStart:lt/-2,marginInlineStart:lt/-2,backgroundColor:vt?pt:mt,borderBlockStart:0,borderInlineStart:0,borderRadius:lt,transform:"scale(0)",opacity:0,transition:`all ${ae} ${Ie}`,content:'""'},boxSizing:"border-box",position:"relative",insetBlockStart:0,insetInlineStart:0,display:"block",width:lt,height:lt,backgroundColor:Ct,borderColor:Nt,borderStyle:"solid",borderWidth:ht,borderRadius:"50%",transition:`all ${re}`},[`${Pt}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0},[`${Pt}-checked`]:{[Qt]:{borderColor:pt,backgroundColor:vt?Ct:pt,"&::after":{transform:`scale(${Wt/lt})`,opacity:1,transition:`all ${ae} ${Ie}`}}},[`${Pt}-disabled`]:{cursor:"not-allowed",[Qt]:{backgroundColor:zt,borderColor:Nt,cursor:"not-allowed","&::after":{backgroundColor:bt}},[`${Pt}-input`]:{cursor:"not-allowed"},[`${Pt}-disabled + span`]:{color:De,cursor:"not-allowed"},[`&${Pt}-checked`]:{[Qt]:{"&::after":{transform:`scale(${de/lt})`}}}},[`span${Pt} + *`]:{paddingInlineStart:ft,paddingInlineEnd:ft}})}},Te=xt=>{const{buttonColor:Pt,controlHeight:tn,componentCls:pt,lineWidth:lt,lineType:ae,colorBorder:re,motionDurationSlow:Ie,motionDurationMid:Ct,buttonPaddingInline:Nt,fontSize:ht,buttonBg:Wt,fontSizeLG:zt,controlHeightLG:De,controlHeightSM:ft,paddingXS:bt,borderRadius:U,borderRadiusSM:de,borderRadiusLG:vt,buttonCheckedBg:mt,buttonSolidCheckedColor:Qt,colorTextDisabled:jt,colorBgContainerDisabled:hn,buttonCheckedBgDisabled:ze,buttonCheckedColorDisabled:he,colorPrimary:qe,colorPrimaryHover:ct,colorPrimaryActive:je,buttonSolidCheckedBg:Xe,buttonSolidCheckedHoverBg:dt,buttonSolidCheckedActiveBg:Tt}=xt;return{[`${pt}-button-wrapper`]:{position:"relative",display:"inline-block",height:tn,margin:0,paddingInline:Nt,paddingBlock:0,color:Pt,fontSize:ht,lineHeight:`${tn-lt*2}px`,background:Wt,border:`${lt}px ${ae} ${re}`,borderBlockStartWidth:lt+.02,borderInlineStartWidth:0,borderInlineEndWidth:lt,cursor:"pointer",transition:[`color ${Ct}`,`background ${Ct}`,`box-shadow ${Ct}`].join(","),a:{color:Pt},[`> ${pt}-button`]:{position:"absolute",insetBlockStart:0,insetInlineStart:0,zIndex:-1,width:"100%",height:"100%"},"&:not(:first-child)":{"&::before":{position:"absolute",insetBlockStart:-lt,insetInlineStart:-lt,display:"block",boxSizing:"content-box",width:1,height:"100%",paddingBlock:lt,paddingInline:0,backgroundColor:re,transition:`background-color ${Ie}`,content:'""'}},"&:first-child":{borderInlineStart:`${lt}px ${ae} ${re}`,borderStartStartRadius:U,borderEndStartRadius:U},"&:last-child":{borderStartEndRadius:U,borderEndEndRadius:U},"&:first-child:last-child":{borderRadius:U},[`${pt}-group-large &`]:{height:De,fontSize:zt,lineHeight:`${De-lt*2}px`,"&:first-child":{borderStartStartRadius:vt,borderEndStartRadius:vt},"&:last-child":{borderStartEndRadius:vt,borderEndEndRadius:vt}},[`${pt}-group-small &`]:{height:ft,paddingInline:bt-lt,paddingBlock:0,lineHeight:`${ft-lt*2}px`,"&:first-child":{borderStartStartRadius:de,borderEndStartRadius:de},"&:last-child":{borderStartEndRadius:de,borderEndEndRadius:de}},"&:hover":{position:"relative",color:qe},"&:has(:focus-visible)":Object.assign({},(0,fe.oN)(xt)),[`${pt}-inner, input[type='checkbox'], input[type='radio']`]:{width:0,height:0,opacity:0,pointerEvents:"none"},[`&-checked:not(${pt}-button-wrapper-disabled)`]:{zIndex:1,color:qe,background:mt,borderColor:qe,"&::before":{backgroundColor:qe},"&:first-child":{borderColor:qe},"&:hover":{color:ct,borderColor:ct,"&::before":{backgroundColor:ct}},"&:active":{color:je,borderColor:je,"&::before":{backgroundColor:je}}},[`${pt}-group-solid &-checked:not(${pt}-button-wrapper-disabled)`]:{color:Qt,background:Xe,borderColor:Xe,"&:hover":{color:Qt,background:dt,borderColor:dt},"&:active":{color:Qt,background:Tt,borderColor:Tt}},"&-disabled":{color:jt,backgroundColor:hn,borderColor:re,cursor:"not-allowed","&:first-child, &:hover":{color:jt,backgroundColor:hn,borderColor:re}},[`&-disabled${pt}-button-wrapper-checked`]:{color:he,backgroundColor:ze,borderColor:re,boxShadow:"none"}}}},be=xt=>xt-4*2;var Ge=(0,Le.Z)("Radio",xt=>{const{controlOutline:Pt,controlOutlineWidth:tn,radioSize:pt}=xt,lt=`0 0 0 ${tn}px ${Pt}`,ae=lt,re=be(pt),Ie=(0,Me.TS)(xt,{radioDotDisabledSize:re,radioFocusShadow:lt,radioButtonFocusShadow:ae});return[Ze(Ie),Ye(Ie),Te(Ie)]},xt=>{const{wireframe:Pt,padding:tn,marginXS:pt,lineWidth:lt,fontSizeLG:ae,colorText:re,colorBgContainer:Ie,colorTextDisabled:Ct,controlItemBgActiveDisabled:Nt,colorTextLightSolid:ht,colorPrimary:Wt,colorPrimaryHover:zt,colorPrimaryActive:De}=xt,ft=4,bt=ae,U=Pt?be(bt):bt-(ft+lt)*2;return{radioSize:bt,dotSize:U,dotColorDisabled:Ct,buttonSolidCheckedColor:ht,buttonSolidCheckedBg:Wt,buttonSolidCheckedHoverBg:zt,buttonSolidCheckedActiveBg:De,buttonBg:Ie,buttonCheckedBg:Ie,buttonColor:re,buttonCheckedBgDisabled:Nt,buttonCheckedColorDisabled:Ct,buttonPaddingInline:tn-lt,wrapperMarginInlineEnd:pt}}),Je=v(14088),it=v(4572),$t=function(xt,Pt){var tn={};for(var pt in xt)Object.prototype.hasOwnProperty.call(xt,pt)&&Pt.indexOf(pt)<0&&(tn[pt]=xt[pt]);if(xt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var lt=0,pt=Object.getOwnPropertySymbols(xt);lt{var tn,pt;const lt=_.useContext(T),ae=_.useContext(D),{getPrefixCls:re,direction:Ie,radio:Ct}=_.useContext(I.E_),Nt=_.useRef(null),ht=(0,te.sQ)(Pt,Nt),{isFormItemInput:Wt}=_.useContext(pe.aM),zt=je=>{var Xe,dt;(Xe=xt.onChange)===null||Xe===void 0||Xe.call(xt,je),(dt=lt==null?void 0:lt.onChange)===null||dt===void 0||dt.call(lt,je)},{prefixCls:De,className:ft,rootClassName:bt,children:U,style:de}=xt,vt=$t(xt,["prefixCls","className","rootClassName","children","style"]),mt=re("radio",De),Qt=((lt==null?void 0:lt.optionType)||ae)==="button",jt=Qt?`${mt}-button`:mt,[hn,ze]=Ge(mt),he=Object.assign({},vt),qe=_.useContext(ge.Z);lt&&(he.name=lt.name,he.onChange=zt,he.checked=xt.value===lt.value,he.disabled=(tn=he.disabled)!==null&&tn!==void 0?tn:lt.disabled),he.disabled=(pt=he.disabled)!==null&&pt!==void 0?pt:qe;const ct=O()(`${jt}-wrapper`,{[`${jt}-wrapper-checked`]:he.checked,[`${jt}-wrapper-disabled`]:he.disabled,[`${jt}-wrapper-rtl`]:Ie==="rtl",[`${jt}-wrapper-in-form-item`]:Wt},Ct==null?void 0:Ct.className,ft,bt,ze);return hn(_.createElement(Je.Z,{component:"Radio",disabled:he.disabled},_.createElement("label",{className:ct,style:Object.assign(Object.assign({},Ct==null?void 0:Ct.style),de),onMouseEnter:xt.onMouseEnter,onMouseLeave:xt.onMouseLeave},_.createElement(ee.Z,Object.assign({},he,{className:O()(he.className,!Qt&&it.A),type:"radio",prefixCls:jt,ref:ht})),U!==void 0?_.createElement("span",null,U):null)))};var vn=_.forwardRef(cn);const Qn=_.forwardRef((xt,Pt)=>{const{getPrefixCls:tn,direction:pt}=_.useContext(I.E_),[lt,ae]=(0,B.Z)(xt.defaultValue,{value:xt.value}),re=Xe=>{const dt=lt,Tt=Xe.target.value;"value"in xt||ae(Tt);const{onChange:Mt}=xt;Mt&&Tt!==dt&&Mt(Xe)},{prefixCls:Ie,className:Ct,rootClassName:Nt,options:ht,buttonStyle:Wt="outline",disabled:zt,children:De,size:ft,style:bt,id:U,onMouseEnter:de,onMouseLeave:vt,onFocus:mt,onBlur:Qt}=xt,jt=tn("radio",Ie),hn=`${jt}-group`,[ze,he]=Ge(jt);let qe=De;ht&&ht.length>0&&(qe=ht.map(Xe=>typeof Xe=="string"||typeof Xe=="number"?_.createElement(vn,{key:Xe.toString(),prefixCls:jt,disabled:zt,value:Xe,checked:lt===Xe},Xe):_.createElement(vn,{key:`radio-group-value-options-${Xe.value}`,prefixCls:jt,disabled:Xe.disabled||zt,value:Xe.value,checked:lt===Xe.value,title:Xe.title,style:Xe.style},Xe.label)));const ct=(0,E.Z)(ft),je=O()(hn,`${hn}-${Wt}`,{[`${hn}-${ct}`]:ct,[`${hn}-rtl`]:pt==="rtl"},Ct,Nt,he);return ze(_.createElement("div",Object.assign({},(0,R.Z)(xt,{aria:!0,data:!0}),{className:je,style:bt,onMouseEnter:de,onMouseLeave:vt,onFocus:mt,onBlur:Qt,id:U,ref:Pt}),_.createElement(F,{value:{onChange:re,value:lt,disabled:xt.disabled,name:xt.name,optionType:xt.optionType}},qe)))});var xn=_.memo(Qn),Un=function(xt,Pt){var tn={};for(var pt in xt)Object.prototype.hasOwnProperty.call(xt,pt)&&Pt.indexOf(pt)<0&&(tn[pt]=xt[pt]);if(xt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var lt=0,pt=Object.getOwnPropertySymbols(xt);lt{const{getPrefixCls:tn}=_.useContext(I.E_),{prefixCls:pt}=xt,lt=Un(xt,["prefixCls"]),ae=tn("radio",pt);return _.createElement(z,{value:"button"},_.createElement(vn,Object.assign({prefixCls:ae},lt,{type:"radio",ref:Pt})))};var ot=_.forwardRef(ke);const Ht=vn;Ht.Button=ot,Ht.Group=xn,Ht.__ANT_RADIO=!0;var On=Ht},57809:function(Re,xe,v){"use strict";var m=v(92310),O=v.n(m),B=v(77861),R=v(2738),_=v(59301),I=v(53487),E=v(62892),N=v(19080),F=v(36355),T=v(1684),D=v(93891),z=v(19716),ee=v(32441),te=v(33234),ge=v(14154),pe=v(58582),fe=v(84443),Le=v(66339),Me=function(Ge,Je){var it={};for(var $t in Ge)Object.prototype.hasOwnProperty.call(Ge,$t)&&Je.indexOf($t)<0&&(it[$t]=Ge[$t]);if(Ge!=null&&typeof Object.getOwnPropertySymbols=="function")for(var cn=0,$t=Object.getOwnPropertySymbols(Ge);cn<$t.length;cn++)Je.indexOf($t[cn])<0&&Object.prototype.propertyIsEnumerable.call(Ge,$t[cn])&&(it[$t[cn]]=Ge[$t[cn]]);return it};const Ze="SECRET_COMBOBOX_MODE_DO_NOT_USE",Ye=(Ge,Je)=>{var it,{prefixCls:$t,bordered:cn=!0,className:Sn,rootClassName:vn,getPopupContainer:Qn,popupClassName:xn,dropdownClassName:Un,listHeight:ke=256,placement:ot,listItemHeight:Ht=24,size:On,disabled:xt,notFoundContent:Pt,status:tn,builtinPlacements:pt,dropdownMatchSelectWidth:lt,popupMatchSelectWidth:ae,direction:re,style:Ie,allowClear:Ct}=Ge,Nt=Me(Ge,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear"]);const{getPopupContainer:ht,getPrefixCls:Wt,renderEmpty:zt,direction:De,virtual:ft,popupMatchSelectWidth:bt,popupOverflow:U,select:de}=_.useContext(F.E_),vt=Wt("select",$t),mt=Wt(),Qt=re!=null?re:De,{compactSize:jt,compactItemClassnames:hn}=(0,te.ri)(vt,Qt),[ze,he]=(0,ge.Z)(vt),qe=_.useMemo(()=>{const{mode:gt}=Nt;if(gt!=="combobox")return gt===Ze?"combobox":gt},[Nt.mode]),ct=qe==="multiple"||qe==="tags",je=(0,fe.Z)(Nt.suffixIcon,Nt.showArrow),Xe=(it=ae!=null?ae:lt)!==null&&it!==void 0?it:bt,{status:dt,hasFeedback:Tt,isFormItemInput:Mt,feedbackIcon:It}=_.useContext(ee.aM),an=(0,N.F)(dt,tn);let In;Pt!==void 0?In=Pt:qe==="combobox"?In=null:In=(zt==null?void 0:zt("Select"))||_.createElement(D.Z,{componentName:"Select"});const{suffixIcon:_n,itemIcon:er,removeIcon:Mr,clearIcon:hr}=(0,Le.Z)(Object.assign(Object.assign({},Nt),{multiple:ct,hasFeedback:Tt,feedbackIcon:It,showSuffixIcon:je,prefixCls:vt,showArrow:Nt.showArrow,componentName:"Select"})),di=Ct===!0?{clearIcon:hr}:Ct,br=(0,R.Z)(Nt,["suffixIcon","itemIcon"]),ri=O()(xn||Un,{[`${vt}-dropdown-${Qt}`]:Qt==="rtl"},vn,he),Ir=(0,z.Z)(gt=>{var yt;return(yt=On!=null?On:jt)!==null&&yt!==void 0?yt:gt}),Vi=_.useContext(T.Z),fi=xt!=null?xt:Vi,on=O()({[`${vt}-lg`]:Ir==="large",[`${vt}-sm`]:Ir==="small",[`${vt}-rtl`]:Qt==="rtl",[`${vt}-borderless`]:!cn,[`${vt}-in-form-item`]:Mt},(0,N.Z)(vt,an,Tt),hn,de==null?void 0:de.className,Sn,vn,he),Yt=_.useMemo(()=>ot!==void 0?ot:Qt==="rtl"?"bottomRight":"bottomLeft",[ot,Qt]),Vt=(0,pe.Z)(pt,U);return ze(_.createElement(B.ZP,Object.assign({ref:Je,virtual:ft,showSearch:de==null?void 0:de.showSearch},br,{style:Object.assign(Object.assign({},de==null?void 0:de.style),Ie),dropdownMatchSelectWidth:Xe,builtinPlacements:Vt,transitionName:(0,E.m)(mt,"slide-up",Nt.transitionName),listHeight:ke,listItemHeight:Ht,mode:qe,prefixCls:vt,placement:Yt,direction:Qt,suffixIcon:_n,menuItemSelectedIcon:er,removeIcon:Mr,allowClear:di,notFoundContent:In,className:on,getPopupContainer:Qn||ht,dropdownClassName:ri,disabled:fi})))},Te=_.forwardRef(Ye),be=(0,I.Z)(Te);Te.SECRET_COMBOBOX_MODE_DO_NOT_USE=Ze,Te.Option=B.Wx,Te.OptGroup=B.Xo,Te._InternalPanelDoNotUseOrYouWillBeFired=be,xe.default=Te},14154:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return Te}});var m=v(17313),O=v(74207),B=v(37613),R=v(83116),_=v(13826),I=v(92899);const E=be=>{const{optionHeight:Ge,optionFontSize:Je,optionLineHeight:it,optionPadding:$t}=be;return{position:"relative",display:"block",minHeight:Ge,padding:$t,color:be.colorText,fontWeight:"normal",fontSize:Je,lineHeight:it,boxSizing:"border-box"}};var F=be=>{const{antCls:Ge,componentCls:Je}=be,it=`${Je}-item`,$t=`&${Ge}-slide-up-enter${Ge}-slide-up-enter-active`,cn=`&${Ge}-slide-up-appear${Ge}-slide-up-appear-active`,Sn=`&${Ge}-slide-up-leave${Ge}-slide-up-leave-active`,vn=`${Je}-dropdown-placement-`;return[{[`${Je}-dropdown`]:Object.assign(Object.assign({},(0,m.Wf)(be)),{position:"absolute",top:-9999,zIndex:be.zIndexPopup,boxSizing:"border-box",padding:be.paddingXXS,overflow:"hidden",fontSize:be.fontSize,fontVariant:"initial",backgroundColor:be.colorBgElevated,borderRadius:be.borderRadiusLG,outline:"none",boxShadow:be.boxShadowSecondary,[` + ${$t}${vn}bottomLeft, + ${cn}${vn}bottomLeft + `]:{animationName:_.fJ},[` + ${$t}${vn}topLeft, + ${cn}${vn}topLeft, + ${$t}${vn}topRight, + ${cn}${vn}topRight + `]:{animationName:_.Qt},[`${Sn}${vn}bottomLeft`]:{animationName:_.Uw},[` + ${Sn}${vn}topLeft, + ${Sn}${vn}topRight + `]:{animationName:_.ly},"&-hidden":{display:"none"},[`${it}`]:Object.assign(Object.assign({},E(be)),{cursor:"pointer",transition:`background ${be.motionDurationSlow} ease`,borderRadius:be.borderRadiusSM,"&-group":{color:be.colorTextDescription,fontSize:be.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},m.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},[`&-active:not(${it}-option-disabled)`]:{backgroundColor:be.optionActiveBg},[`&-selected:not(${it}-option-disabled)`]:{color:be.optionSelectedColor,fontWeight:be.optionSelectedFontWeight,backgroundColor:be.optionSelectedBg,[`${it}-option-state`]:{color:be.colorPrimary}},"&-disabled":{[`&${it}-option-selected`]:{backgroundColor:be.colorBgContainerDisabled},color:be.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:be.controlPaddingHorizontal*2}}}),"&-rtl":{direction:"rtl"}})},(0,_.oN)(be,"slide-up"),(0,_.oN)(be,"slide-down"),(0,I.Fm)(be,"move-up"),(0,I.Fm)(be,"move-down")]};const T=2,D=be=>{let{controlHeightSM:Ge,controlHeight:Je,lineWidth:it}=be;const $t=(Je-Ge)/2-it,cn=Math.ceil($t/2);return[$t,cn]};function z(be,Ge){const{componentCls:Je,iconCls:it}=be,$t=`${Je}-selection-overflow`,cn=be.multipleSelectItemHeight,[Sn]=D(be),vn=Ge?`${Je}-${Ge}`:"";return{[`${Je}-multiple${vn}`]:{fontSize:be.fontSize,[$t]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},[`${Je}-selector`]:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:`${Sn-T}px ${T*2}px`,borderRadius:be.borderRadius,[`${Je}-show-search&`]:{cursor:"text"},[`${Je}-disabled&`]:{background:be.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:`${T}px 0`,lineHeight:`${cn}px`,visibility:"hidden",content:'"\\a0"'}},[` + &${Je}-show-arrow ${Je}-selector, + &${Je}-allow-clear ${Je}-selector + `]:{paddingInlineEnd:be.fontSizeIcon+be.controlPaddingHorizontal},[`${Je}-selection-item`]:{position:"relative",display:"flex",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:cn,marginTop:T,marginBottom:T,lineHeight:`${cn-be.lineWidth*2}px`,background:be.multipleItemBg,border:`${be.lineWidth}px ${be.lineType} ${be.multipleItemBorderColor}`,borderRadius:be.borderRadiusSM,cursor:"default",transition:`font-size ${be.motionDurationSlow}, line-height ${be.motionDurationSlow}, height ${be.motionDurationSlow}`,userSelect:"none",marginInlineEnd:T*2,paddingInlineStart:be.paddingXS,paddingInlineEnd:be.paddingXS/2,[`${Je}-disabled&`]:{color:be.multipleItemColorDisabled,borderColor:be.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:be.paddingXS/2,overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,m.Ro)()),{display:"inline-flex",alignItems:"center",color:be.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",[`> ${it}`]:{verticalAlign:"-0.2em"},"&:hover":{color:be.colorIconHover}})},[`${$t}-item + ${$t}-item`]:{[`${Je}-selection-search`]:{marginInlineStart:0}},[`${Je}-selection-search`]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:be.inputPaddingHorizontalBase-Sn,"\n &-input,\n &-mirror\n ":{height:cn,fontFamily:be.fontFamily,lineHeight:`${cn}px`,transition:`all ${be.motionDurationSlow}`},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},[`${Je}-selection-placeholder `]:{position:"absolute",top:"50%",insetInlineStart:be.inputPaddingHorizontalBase,insetInlineEnd:be.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:`all ${be.motionDurationSlow}`}}}}var te=be=>{const{componentCls:Ge}=be,Je=(0,B.TS)(be,{controlHeight:be.controlHeightSM,multipleSelectItemHeight:be.controlHeightXS,borderRadius:be.borderRadiusSM,borderRadiusSM:be.borderRadiusXS}),it=(0,B.TS)(be,{fontSize:be.fontSizeLG,controlHeight:be.controlHeightLG,multipleSelectItemHeight:be.multipleItemHeightLG,borderRadius:be.borderRadiusLG,borderRadiusSM:be.borderRadius}),[,$t]=D(be);return[z(be),z(Je,"sm"),{[`${Ge}-multiple${Ge}-sm`]:{[`${Ge}-selection-placeholder`]:{insetInline:be.controlPaddingHorizontalSM-be.lineWidth},[`${Ge}-selection-search`]:{marginInlineStart:$t}}},z(it,"lg")]};function ge(be,Ge){const{componentCls:Je,inputPaddingHorizontalBase:it,borderRadius:$t}=be,cn=be.controlHeight-be.lineWidth*2,Sn=Math.ceil(be.fontSize*1.25),vn=Ge?`${Je}-${Ge}`:"";return{[`${Je}-single${vn}`]:{fontSize:be.fontSize,[`${Je}-selector`]:Object.assign(Object.assign({},(0,m.Wf)(be)),{display:"flex",borderRadius:$t,[`${Je}-selection-search`]:{position:"absolute",top:0,insetInlineStart:it,insetInlineEnd:it,bottom:0,"&-input":{width:"100%"}},[` + ${Je}-selection-item, + ${Je}-selection-placeholder + `]:{padding:0,lineHeight:`${cn}px`,transition:`all ${be.motionDurationSlow}, visibility 0s`,"@supports (-moz-appearance: meterbar)":{lineHeight:`${cn}px`}},[`${Je}-selection-item`]:{position:"relative",userSelect:"none"},[`${Je}-selection-placeholder`]:{transition:"none",pointerEvents:"none"},[["&:after",`${Je}-selection-item:after`,`${Je}-selection-placeholder:after`].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),[` + &${Je}-show-arrow ${Je}-selection-item, + &${Je}-show-arrow ${Je}-selection-placeholder + `]:{paddingInlineEnd:Sn},[`&${Je}-open ${Je}-selection-item`]:{color:be.colorTextPlaceholder},[`&:not(${Je}-customize-input)`]:{[`${Je}-selector`]:{width:"100%",height:be.controlHeight,padding:`0 ${it}px`,[`${Je}-selection-search-input`]:{height:cn},"&:after":{lineHeight:`${cn}px`}}},[`&${Je}-customize-input`]:{[`${Je}-selector`]:{"&:after":{display:"none"},[`${Je}-selection-search`]:{position:"static",width:"100%"},[`${Je}-selection-placeholder`]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:`0 ${it}px`,"&:after":{display:"none"}}}}}}}function pe(be){const{componentCls:Ge}=be,Je=be.controlPaddingHorizontalSM-be.lineWidth;return[ge(be),ge((0,B.TS)(be,{controlHeight:be.controlHeightSM,borderRadius:be.borderRadiusSM}),"sm"),{[`${Ge}-single${Ge}-sm`]:{[`&:not(${Ge}-customize-input)`]:{[`${Ge}-selection-search`]:{insetInlineStart:Je,insetInlineEnd:Je},[`${Ge}-selector`]:{padding:`0 ${Je}px`},[`&${Ge}-show-arrow ${Ge}-selection-search`]:{insetInlineEnd:Je+be.fontSize*1.5},[` + &${Ge}-show-arrow ${Ge}-selection-item, + &${Ge}-show-arrow ${Ge}-selection-placeholder + `]:{paddingInlineEnd:be.fontSize*1.5}}}},ge((0,B.TS)(be,{controlHeight:be.singleItemHeightLG,fontSize:be.fontSizeLG,borderRadius:be.borderRadiusLG}),"lg")]}const fe=be=>{const{componentCls:Ge,selectorBg:Je}=be;return{position:"relative",backgroundColor:Je,border:`${be.lineWidth}px ${be.lineType} ${be.colorBorder}`,transition:`all ${be.motionDurationMid} ${be.motionEaseInOut}`,input:{cursor:"pointer"},[`${Ge}-show-search&`]:{cursor:"text",input:{cursor:"auto",color:"inherit"}},[`${Ge}-disabled&`]:{color:be.colorTextDisabled,background:be.colorBgContainerDisabled,cursor:"not-allowed",[`${Ge}-multiple&`]:{background:be.multipleSelectorBgDisabled},input:{cursor:"not-allowed"}}}},Le=function(be,Ge){let Je=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;const{componentCls:it,borderHoverColor:$t,outlineColor:cn,antCls:Sn}=Ge,vn=Je?{[`${it}-selector`]:{borderColor:$t}}:{};return{[be]:{[`&:not(${it}-disabled):not(${it}-customize-input):not(${Sn}-pagination-size-changer)`]:Object.assign(Object.assign({},vn),{[`${it}-focused& ${it}-selector`]:{borderColor:$t,boxShadow:`0 0 0 ${Ge.controlOutlineWidth}px ${cn}`,outline:0},[`&:hover ${it}-selector`]:{borderColor:$t}})}}},Me=be=>{const{componentCls:Ge}=be;return{[`${Ge}-selection-search-input`]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},Ze=be=>{const{componentCls:Ge,inputPaddingHorizontalBase:Je,iconCls:it}=be;return{[Ge]:Object.assign(Object.assign({},(0,m.Wf)(be)),{position:"relative",display:"inline-block",cursor:"pointer",[`&:not(${Ge}-customize-input) ${Ge}-selector`]:Object.assign(Object.assign({},fe(be)),Me(be)),[`${Ge}-selection-item`]:Object.assign({flex:1,fontWeight:"normal"},m.vS),[`${Ge}-selection-placeholder`]:Object.assign(Object.assign({},m.vS),{flex:1,color:be.colorTextPlaceholder,pointerEvents:"none"}),[`${Ge}-arrow`]:Object.assign(Object.assign({},(0,m.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:Je,height:be.fontSizeIcon,marginTop:-be.fontSizeIcon/2,color:be.colorTextQuaternary,fontSize:be.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",[it]:{verticalAlign:"top",transition:`transform ${be.motionDurationSlow}`,"> svg":{verticalAlign:"top"},[`&:not(${Ge}-suffix)`]:{pointerEvents:"auto"}},[`${Ge}-disabled &`]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),[`${Ge}-clear`]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:Je,zIndex:1,display:"inline-block",width:be.fontSizeIcon,height:be.fontSizeIcon,marginTop:-be.fontSizeIcon/2,color:be.colorTextQuaternary,fontSize:be.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",background:be.clearBg,cursor:"pointer",opacity:0,transition:`color ${be.motionDurationMid} ease, opacity ${be.motionDurationSlow} ease`,textRendering:"auto","&:before":{display:"block"},"&:hover":{color:be.colorTextTertiary}},"&:hover":{[`${Ge}-clear`]:{opacity:1}}}),[`${Ge}-has-feedback`]:{[`${Ge}-clear`]:{insetInlineEnd:Je+be.fontSize+be.paddingXS}}}},Ye=be=>{const{componentCls:Ge}=be;return[{[Ge]:{[`&-borderless ${Ge}-selector`]:{backgroundColor:"transparent !important",borderColor:"transparent !important",boxShadow:"none !important"},[`&${Ge}-in-form-item`]:{width:"100%"}}},Ze(be),pe(be),te(be),F(be),{[`${Ge}-rtl`]:{direction:"rtl"}},Le(Ge,(0,B.TS)(be,{borderHoverColor:be.colorPrimaryHover,outlineColor:be.controlOutline})),Le(`${Ge}-status-error`,(0,B.TS)(be,{borderHoverColor:be.colorErrorHover,outlineColor:be.colorErrorOutline}),!0),Le(`${Ge}-status-warning`,(0,B.TS)(be,{borderHoverColor:be.colorWarningHover,outlineColor:be.colorWarningOutline}),!0),(0,O.c)(be,{borderElCls:`${Ge}-selector`,focusElCls:`${Ge}-focused`})]};var Te=(0,R.Z)("Select",(be,Ge)=>{let{rootPrefixCls:Je}=Ge;const it=(0,B.TS)(be,{rootPrefixCls:Je,inputPaddingHorizontalBase:be.paddingSM-1,multipleSelectItemHeight:be.multipleItemHeight});return[Ye(it)]},be=>{const{fontSize:Ge,lineHeight:Je,controlHeight:it,controlPaddingHorizontal:$t,zIndexPopupBase:cn,colorText:Sn,fontWeightStrong:vn,controlItemBgActive:Qn,controlItemBgHover:xn,colorBgContainer:Un,colorFillSecondary:ke,controlHeightLG:ot,controlHeightSM:Ht,colorBgContainerDisabled:On,colorTextDisabled:xt}=be;return{zIndexPopup:cn+50,optionSelectedColor:Sn,optionSelectedFontWeight:vn,optionSelectedBg:Qn,optionActiveBg:xn,optionPadding:`${(it-Ge*Je)/2}px ${$t}px`,optionFontSize:Ge,optionLineHeight:Je,optionHeight:it,selectorBg:Un,clearBg:Un,singleItemHeightLG:ot,multipleItemBg:ke,multipleItemBorderColor:"transparent",multipleItemHeight:Ht,multipleItemHeightLG:it,multipleSelectorBgDisabled:On,multipleItemColorDisabled:xt,multipleItemBorderColorDisabled:"transparent"}})},58582:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});const m=B=>{const _={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:B==="scroll"?"scroll":"visible",_experimental:{dynamicInset:!0}};return{bottomLeft:Object.assign(Object.assign({},_),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},_),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},_),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},_),{points:["br","tr"],offset:[0,-4]})}};function O(B,R){return B||m(R)}},84443:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(O,B){return B!==void 0?B:O!==null}},66339:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});var m=v(40001),O=v(19248),B=v(99267),R=v(84105),_=v(58617),I=v(47472),E=v(59301);function N(F){let{suffixIcon:T,clearIcon:D,menuItemSelectedIcon:z,removeIcon:ee,loading:te,multiple:ge,hasFeedback:pe,prefixCls:fe,showSuffixIcon:Le,feedbackIcon:Me,showArrow:Ze,componentName:Ye}=F;const Te=D!=null?D:E.createElement(O.Z,null),be=$t=>T===null&&!pe&&!Ze?null:E.createElement(E.Fragment,null,Le!==!1&&$t,pe&&Me);let Ge=null;if(T!==void 0)Ge=be(T);else if(te)Ge=be(E.createElement(_.Z,{spin:!0}));else{const $t=`${fe}-suffix`;Ge=cn=>{let{open:Sn,showSearch:vn}=cn;return be(Sn&&vn?E.createElement(I.Z,{className:$t}):E.createElement(R.Z,{className:$t}))}}let Je=null;z!==void 0?Je=z:ge?Je=E.createElement(m.Z,null):Je=null;let it=null;return ee!==void 0?it=ee:it=E.createElement(B.Z,null),{clearIcon:Te,suffixIcon:Ge,itemIcon:Je,removeIcon:it}}},8378:function(Re,xe){"use strict";const v=m=>({[m.componentCls]:{[`${m.antCls}-motion-collapse-legacy`]:{overflow:"hidden","&-active":{transition:`height ${m.motionDurationMid} ${m.motionEaseInOut}, + opacity ${m.motionDurationMid} ${m.motionEaseInOut} !important`}},[`${m.antCls}-motion-collapse`]:{overflow:"hidden",transition:`height ${m.motionDurationMid} ${m.motionEaseInOut}, + opacity ${m.motionDurationMid} ${m.motionEaseInOut} !important`}}});xe.Z=v},92899:function(Re,xe,v){"use strict";v.d(xe,{Fm:function(){return z}});var m=v(36237),O=v(95406);const B=new m.Keyframes("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),R=new m.Keyframes("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),_=new m.Keyframes("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),I=new m.Keyframes("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),E=new m.Keyframes("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),N=new m.Keyframes("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),F=new m.Keyframes("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),T=new m.Keyframes("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),D={"move-up":{inKeyframes:F,outKeyframes:T},"move-down":{inKeyframes:B,outKeyframes:R},"move-left":{inKeyframes:_,outKeyframes:I},"move-right":{inKeyframes:E,outKeyframes:N}},z=(ee,te)=>{const{antCls:ge}=ee,pe=`${ge}-${te}`,{inKeyframes:fe,outKeyframes:Le}=D[te];return[(0,O.R)(pe,fe,Le,ee.motionDurationMid),{[` + ${pe}-enter, + ${pe}-appear + `]:{opacity:0,animationTimingFunction:ee.motionEaseOutCirc},[`${pe}-leave`]:{animationTimingFunction:ee.motionEaseInOutCirc}}]}},13826:function(Re,xe,v){"use strict";v.d(xe,{Qt:function(){return _},Uw:function(){return R},fJ:function(){return B},ly:function(){return I},oN:function(){return z}});var m=v(36237),O=v(95406);const B=new m.Keyframes("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),R=new m.Keyframes("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),_=new m.Keyframes("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),I=new m.Keyframes("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),E=new m.Keyframes("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),N=new m.Keyframes("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),F=new m.Keyframes("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),T=new m.Keyframes("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),D={"slide-up":{inKeyframes:B,outKeyframes:R},"slide-down":{inKeyframes:_,outKeyframes:I},"slide-left":{inKeyframes:E,outKeyframes:N},"slide-right":{inKeyframes:F,outKeyframes:T}},z=(ee,te)=>{const{antCls:ge}=ee,pe=`${ge}-${te}`,{inKeyframes:fe,outKeyframes:Le}=D[te];return[(0,O.R)(pe,fe,Le,ee.motionDurationMid),{[` + ${pe}-enter, + ${pe}-appear + `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:ee.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},[`${pe}-leave`]:{animationTimingFunction:ee.motionEaseInQuint}}]}},80574:function(Re,xe,v){"use strict";v.d(xe,{Ae:function(){return fe},CF:function(){return mt},vC:function(){return bt},x1:function(){return I}});function m(ze,he,qe,ct,je,Xe){const dt=ze,Tt=he,Mt=qe-dt,It=ct-Tt;let an=je-dt,In=Xe-Tt,_n=an*Mt+In*It,er=0;_n<=0?er=0:(an=Mt-an,In=It-In,_n=an*Mt+In*It,_n<=0?er=0:er=_n*_n/(Mt*Mt+It*It));const Mr=an*an+In*In-er;return Mr<0?0:Mr}function O(ze,he,qe,ct){return(ze-qe)*(ze-qe)+(he-ct)*(he-ct)}function B(ze,he,qe,ct,je){return O(ze,he,qe,ct)qe;if(ze===0)return Math.round;const he=Math.pow(10,ze);return qe=>Math.round(qe*he)/he}function _(ze){const he=Math.min(ze.x1,ze.x2),qe=Math.max(ze.x1,ze.x2),ct=Math.min(ze.y1,ze.y2),je=Math.max(ze.y1,ze.y2);return{x:he,y:ct,x2:qe,y2:je,width:qe-he,height:je-ct}}class I{constructor(he,qe,ct,je){this.x1=he,this.y1=qe,this.x2=ct,this.y2=je}equals(he){return this.x1===he.x1&&this.y1===he.y1&&this.x2===he.x2&&this.y2===he.y2}draw(he){he.moveTo(this.x1,this.y1),he.lineTo(this.x2,this.y2)}toString(){return`Line(from=(${this.x1},${this.y1}),to=(${this.x2},${this.y2}))`}static from(he){return new I(he.x1,he.y1,he.x2,he.y2)}cuts(he,qe){if(this.y1===this.y2||qethis.y1&&qe>=this.y2||he>this.x1&&he>=this.x2)return!1;if(hethis.x2+ct)return!1}else if(hethis.x1+ct)return!1;if(this.y1this.y2+ct)return!1}else if(qethis.y1+ct)return!1;return!0}}var E;(function(ze){ze[ze.POINT=1]="POINT",ze[ze.PARALLEL=2]="PARALLEL",ze[ze.COINCIDENT=3]="COINCIDENT",ze[ze.NONE=4]="NONE"})(E||(E={}));class N{constructor(he,qe=0,ct=0){this.state=he,this.x=qe,this.y=ct}}function F(ze,he){const qe=(he.x2-he.x1)*(ze.y1-he.y1)-(he.y2-he.y1)*(ze.x1-he.x1),ct=(ze.x2-ze.x1)*(ze.y1-he.y1)-(ze.y2-ze.y1)*(ze.x1-he.x1),je=(he.y2-he.y1)*(ze.x2-ze.x1)-(he.x2-he.x1)*(ze.y2-ze.y1);if(je){const Xe=qe/je,dt=ct/je;return 0<=Xe&&Xe<=1&&0<=dt&&dt<=1?new N(E.POINT,ze.x1+Xe*(ze.x2-ze.x1),ze.y1+Xe*(ze.y2-ze.y1)):new N(E.NONE)}return new N(qe===0||ct===0?E.COINCIDENT:E.PARALLEL)}function T(ze,he){const qe=(he.x2-he.x1)*(ze.y1-he.y1)-(he.y2-he.y1)*(ze.x1-he.x1),ct=(ze.x2-ze.x1)*(ze.y1-he.y1)-(ze.y2-ze.y1)*(ze.x1-he.x1),je=(he.y2-he.y1)*(ze.x2-ze.x1)-(he.x2-he.x1)*(ze.y2-ze.y1);if(je){const Xe=qe/je,dt=ct/je;if(0<=Xe&&Xe<=1&&0<=dt&&dt<=1)return Xe}return Number.POSITIVE_INFINITY}function D(ze,he){function qe(je,Xe,dt,Tt){let Mt=T(he,new I(je,Xe,dt,Tt));return Mt=Math.abs(Mt-.5),Mt>=0&&Mt<=1?1:0}let ct=qe(ze.x,ze.y,ze.x2,ze.y);return ct+=qe(ze.x,ze.y,ze.x,ze.y2),ct>1||(ct+=qe(ze.x,ze.y2,ze.x2,ze.y2),ct>1)?!0:(ct+=qe(ze.x2,ze.y,ze.x2,ze.y2),ct>0)}var z;(function(ze){ze[ze.LEFT=0]="LEFT",ze[ze.TOP=1]="TOP",ze[ze.RIGHT=2]="RIGHT",ze[ze.BOTTOM=3]="BOTTOM"})(z||(z={}));function ee(ze,he,qe){const ct=new Set;return ze.width<=0?(ct.add(z.LEFT),ct.add(z.RIGHT)):heze.x+ze.width&&ct.add(z.RIGHT),ze.height<=0?(ct.add(z.TOP),ct.add(z.BOTTOM)):qeze.y+ze.height&&ct.add(z.BOTTOM),ct}function te(ze,he){let qe=he.x1,ct=he.y1;const je=he.x2,Xe=he.y2,dt=Array.from(ee(ze,je,Xe));if(dt.length===0)return!0;let Tt=ee(ze,qe,ct);for(;Tt.size!==0;){for(const Mt of dt)if(Tt.has(Mt))return!1;if(Tt.has(z.RIGHT)||Tt.has(z.LEFT)){let Mt=ze.x;Tt.has(z.RIGHT)&&(Mt+=ze.width),ct=ct+(Mt-qe)*(Xe-ct)/(je-qe),qe=Mt}else{let Mt=ze.y;Tt.has(z.BOTTOM)&&(Mt+=ze.height),qe=qe+(Mt-ct)*(je-qe)/(Xe-ct),ct=Mt}Tt=ee(ze,qe,ct)}return!0}function ge(ze,he){let qe=Number.POSITIVE_INFINITY,ct=0;function je(Xe,dt,Tt,Mt){let It=T(he,new I(Xe,dt,Tt,Mt));It=Math.abs(It-.5),It>=0&&It<=1&&(ct++,It1||(je(ze.x,ze.y2,ze.x2,ze.y2),ct>1)?qe:(je(ze.x2,ze.y,ze.x2,ze.y2),ct===0?-1:qe)}function pe(ze,he){let qe=0;const ct=F(ze,new I(he.x,he.y,he.x2,he.y));qe+=ct.state===E.POINT?1:0;const je=F(ze,new I(he.x,he.y,he.x,he.y2));qe+=je.state===E.POINT?1:0;const Xe=F(ze,new I(he.x,he.y2,he.x2,he.y2));qe+=Xe.state===E.POINT?1:0;const dt=F(ze,new I(he.x2,he.y,he.x2,he.y2));return qe+=dt.state===E.POINT?1:0,{top:ct,left:je,bottom:Xe,right:dt,count:qe}}class fe{constructor(he,qe,ct,je){this.x=he,this.y=qe,this.width=ct,this.height=je}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(he){return new fe(he.x,he.y,he.width,he.height)}equals(he){return this.x===he.x&&this.y===he.y&&this.width===he.width&&this.height===he.height}clone(){return new fe(this.x,this.y,this.width,this.height)}add(he){const qe=Math.min(this.x,he.x),ct=Math.min(this.y,he.y),je=Math.max(this.x2,he.x+he.width),Xe=Math.max(this.y2,he.y+he.height);this.x=qe,this.y=ct,this.width=je-qe,this.height=Xe-ct}addPoint(he){const qe=Math.min(this.x,he.x),ct=Math.min(this.y,he.y),je=Math.max(this.x2,he.x),Xe=Math.max(this.y2,he.y);this.x=qe,this.y=ct,this.width=je-qe,this.height=Xe-ct}toString(){return`Rectangle[x=${this.x}, y=${this.y}, w=${this.width}, h=${this.height}]`}draw(he){he.rect(this.x,this.y,this.width,this.height)}containsPt(he,qe){return he>=this.x&&he<=this.x2&&qe>=this.y&&qe<=this.y2}get area(){return this.width*this.height}intersects(he){return this.area<=0||he.width<=0||he.height<=0?!1:he.x+he.width>this.x&&he.y+he.height>this.y&&he.x=this.width?this.width-1:he}boundY(he){return he=this.height?this.height-1:he}scaleX(he){return this.boundX(Math.floor((he-this.pixelX)/this.pixelGroup))}scaleY(he){return this.boundY(Math.floor((he-this.pixelY)/this.pixelGroup))}scale(he){const qe=this.scaleX(he.x),ct=this.scaleY(he.y),je=this.boundX(Math.ceil((he.x+he.width-this.pixelX)/this.pixelGroup)),Xe=this.boundY(Math.ceil((he.y+he.height-this.pixelY)/this.pixelGroup)),dt=je-qe,Tt=Xe-ct;return new fe(qe,ct,dt,Tt)}invertScaleX(he){return Math.round(he*this.pixelGroup+this.pixelX)}invertScaleY(he){return Math.round(he*this.pixelGroup+this.pixelY)}addPadding(he,qe){const ct=Math.ceil(qe/this.pixelGroup),je=this.boundX(he.x-ct),Xe=this.boundY(he.y-ct),dt=this.boundX(he.x2+ct),Tt=this.boundY(he.y2+ct),Mt=dt-je,It=Tt-Xe;return new fe(je,Xe,Mt,It)}get(he,qe){return he<0||qe<0||he>=this.width||qe>=this.height?Number.NaN:this.area[he+qe*this.width]}inc(he,qe,ct){he<0||qe<0||he>=this.width||qe>=this.height||(this.area[he+qe*this.width]+=ct)}set(he,qe,ct){he<0||qe<0||he>=this.width||qe>=this.height||(this.area[he+qe*this.width]=ct)}incArea(he,qe){if(he.width<=0||he.height<=0||qe===0)return;const ct=this.width,je=he.width,Xe=Math.max(0,he.i),dt=Math.max(0,he.j),Tt=Math.min(he.i+he.width,ct),Mt=Math.min(he.j+he.height,this.height);if(!(Mt<=0||Tt<=0||Xe>=ct||Mt>=this.height))for(let It=dt;ItMath.min(dt,Tt),Number.POSITIVE_INFINITY),je=this.area.reduce((dt,Tt)=>Math.max(dt,Tt),Number.NEGATIVE_INFINITY),Xe=dt=>(dt-ct)/(je-ct);he.scale(this.pixelGroup,this.pixelGroup);for(let dt=0;dtqe?"black":"white",he.fillRect(je,Xe,1,1)}he.restore()}}}function Ye(ze,he){const qe=ct=>({x:ct.x-he,y:ct.y-he,width:ct.width+2*he,height:ct.height+2*he});return Array.isArray(ze)?ze.map(qe):qe(ze)}function Te(ze,he,qe){return be(Object.assign(_(ze),{distSquare:(ct,je)=>m(ze.x1,ze.y1,ze.x2,ze.y2,ct,je)}),he,qe)}function be(ze,he,qe){const ct=Ye(ze,qe),je=he.scale(ct),Xe=he.createSub(je,ct);return Ge(Xe,he,qe,(dt,Tt)=>ze.distSquare(dt,Tt)),Xe}function Ge(ze,he,qe,ct){const je=qe*qe;for(let Xe=0;Xe{const Tt=je.slice(0,dt);return Qn(he,Xe,Tt,qe,ct)}).flat()}function Qn(ze,he,qe,ct,je){const Xe=Sn(he.cx,he.cy),dt=ke(Xe,qe,ze);if(dt==null)return[];const Tt=new I(Xe.x,Xe.y,dt.cx,dt.cy),Mt=xn(Tt,ze,ct,je);return Un(Mt,ze)}function xn(ze,he,qe,ct){const je=[],Xe=[];Xe.push(ze);let dt=!0;for(let Tt=0;Tt0;){const Mt=Xe.pop(),It=xt(he,Mt),an=It?pe(Mt,It):null;if(!It||!an||an.count!==2){dt||je.push(Mt);continue}let In=ct,_n=tn(It,In,an,!0),er=On(_n,Xe)||On(_n,je),Mr=Ht(_n,he);for(;!er&&Mr&&In>=1;)In/=1.5,_n=tn(It,In,an,!0),er=On(_n,Xe)||On(_n,je),Mr=Ht(_n,he);if(_n&&!er&&!Mr&&(Xe.push(new I(Mt.x1,Mt.y1,_n.x,_n.y)),Xe.push(new I(_n.x,_n.y,Mt.x2,Mt.y2)),dt=!0),dt)continue;In=ct,_n=tn(It,In,an,!1);let hr=On(_n,Xe)||On(_n,je);for(Mr=Ht(_n,he);!hr&&Mr&&In>=1;)In/=1.5,_n=tn(It,In,an,!1),hr=On(_n,Xe)||On(_n,je),Mr=Ht(_n,he);_n&&!hr&&(Xe.push(new I(Mt.x1,Mt.y1,_n.x,_n.y)),Xe.push(new I(_n.x,_n.y,Mt.x2,Mt.y2)),dt=!0),dt||je.push(Mt)}for(;Xe.length>0;)je.push(Xe.pop());return je}function Un(ze,he){const qe=[];for(;ze.length>0;){const ct=ze.pop();if(ze.length===0){qe.push(ct);break}const je=ze.pop(),Xe=new I(ct.x1,ct.y1,je.x2,je.y2);xt(he,Xe)?(qe.push(ct),ze.push(je)):ze.push(Xe)}return qe}function ke(ze,he,qe){let ct=Number.POSITIVE_INFINITY;return he.reduce((je,Xe)=>{const dt=O(ze.x,ze.y,Xe.cx,Xe.cy);if(dt>ct)return je;const Tt=new I(ze.x,ze.y,Xe.cx,Xe.cy),Mt=Pt(qe,Tt);return dt*(Mt+1)*(Mt+1){he+=ct.cx,qe+=ct.cy}),he/=ze.length,qe/=ze.length,ze.map(ct=>{const je=he-ct.cx,Xe=qe-ct.cy,dt=je*je+Xe*Xe;return[ct,dt]}).sort((ct,je)=>ct[1]-je[1]).map(ct=>ct[0])}function Ht(ze,he){return he.some(qe=>qe.containsPt(ze.x,ze.y))}function On(ze,he){return he.some(qe=>!!(B(qe.x1,qe.y1,ze.x,ze.y,.001)||B(qe.x2,qe.y2,ze.x,ze.y,.001)))}function xt(ze,he){let qe=Number.POSITIVE_INFINITY,ct=null;for(const je of ze){if(!te(je,he))continue;const Xe=ge(je,he);Xe>=0&&Xete(ct,he)&&D(ct,he)?qe+1:qe,0)}function tn(ze,he,qe,ct){const je=qe.top,Xe=qe.left,dt=qe.bottom,Tt=qe.right;if(ct){if(Xe.state===E.POINT){if(je.state===E.POINT)return Sn(ze.x-he,ze.y-he);if(dt.state===E.POINT)return Sn(ze.x-he,ze.y2+he);const _n=ze.width*ze.height;return ze.width*((Xe.y-ze.y+(Tt.y-ze.y))*.5)<_n*.5?Xe.y>Tt.y?Sn(ze.x-he,ze.y-he):Sn(ze.x2+he,ze.y-he):Xe.ydt.x?Sn(ze.x-he,ze.y-he):Sn(ze.x-he,ze.y2+he):je.xTt.y?Sn(ze.x2+he,ze.y2+he):Sn(ze.x-he,ze.y2+he):Xe.ydt.x?Sn(ze.x2+he,ze.y2+he):Sn(ze.x2+he,ze.y-he):je.xct)return!1}return!0}function lt(ze=0){return he=>{if(ze<0||he.length<3)return he;const qe=[];let ct=0;const je=ze*ze;for(;ct{if(dt.length<3)return dt;const Tt=[],Mt=dt.closed,It=dt.length+3-1+(Mt?0:2);Tt.push(Xe(dt,2-(Mt?0:2),0));for(let an=2-(Mt?0:2);an{let qe=ze,ct=he.length;if(qe>1)for(ct=Math.floor(he.length/qe);ct<3&&qe>1;)qe-=1,ct=Math.floor(he.length/qe);const je=[];for(let Xe=0,dt=0;dt=ct?this.closed?this.get(he-ct):this.points[ct-1]:this.points[qe]}get length(){return this.points.length}toString(he=1/0){const qe=this.points;if(qe.length===0)return"";const ct=typeof he=="function"?he:R(he);let je="M";for(const Xe of qe)je+=`${ct(Xe.x)},${ct(Xe.y)} L`;return je=je.slice(0,-1),this.closed&&(je+=" Z"),je}draw(he){const qe=this.points;if(qe.length!==0){he.beginPath(),he.moveTo(qe[0].x,qe[0].y);for(const ct of qe)he.lineTo(ct.x,ct.y);this.closed&&he.closePath()}}sample(he){return Ie(he)(this)}simplify(he){return lt(he)(this)}bSplines(he){return re(he)(this)}apply(he){return he(this)}containsElements(he){const qe=Le(this.points);return qe?he.every(ct=>qe.containsPt(ct.cx,ct.cy)&&this.withinArea(ct.cx,ct.cy)):!1}withinArea(he,qe){if(this.length===0)return!1;let ct=0;const je=this.points[0],Xe=new I(je.x,je.y,je.x,je.y);for(let dt=1;dthe?an+In:an}function Xe(Mt,It){let an=ht;return an=je(Mt,It,an,1),an=je(Mt+1,It,an,2),an=je(Mt,It+1,an,4),an=je(Mt+1,It+1,an,8),Number.isNaN(an)?-1:an}let dt=Wt;function Tt(Mt,It){let an=Mt,In=It,_n=ze.invertScaleX(an),er=ze.invertScaleY(In);for(let Mr=0;Mrde(ct.raw,he));return qe<0?!1:(this.members.splice(qe,1),this.dirty.add(vt.MEMBERS),!0)}removeNonMember(he){const qe=this.nonMembers.findIndex(ct=>de(ct.raw,he));return qe<0?!1:(this.nonMembers.splice(qe,1),this.dirty.add(vt.NON_MEMBERS),!0)}removeEdge(he){const qe=this.edges.findIndex(ct=>ct.obj.equals(he));return qe<0?!1:(this.edges.splice(qe,1),this.dirty.add(vt.NON_MEMBERS),!0)}pushNonMember(...he){if(he.length!==0){this.dirty.add(vt.NON_MEMBERS);for(const qe of he)this.nonMembers.push({raw:qe,obj:U(qe)?Me.from(qe):fe.from(qe),area:null})}}pushEdge(...he){if(he.length!==0){this.dirty.add(vt.EDGES);for(const qe of he)this.edges.push({raw:qe,obj:I.from(qe),area:null})}}update(){const he=this.dirty.has(vt.MEMBERS),qe=this.dirty.has(vt.NON_MEMBERS);let ct=this.dirty.has(vt.EDGES);this.dirty.clear();const je=this.members.map(It=>It.obj);if(this.o.virtualEdges&&(he||qe)){const It=this.nonMembers.map(_n=>_n.obj),an=vn(je,It,this.o.maxRoutingIterations,this.o.morphBuffer),In=new Map(this.virtualEdges.map(_n=>[_n.obj.toString(),_n.area]));this.virtualEdges=an.map(_n=>{var er;return{raw:_n,obj:_n,area:(er=In.get(_n.toString()))!==null&&er!==void 0?er:null}}),ct=!0}let Xe=!1;if(he||ct){const It=this.virtualEdges.concat(this.edges).map(er=>er.obj),an=jt(je,It),In=Math.max(this.o.edgeR1,this.o.nodeR1)+this.o.morphBuffer,_n=fe.from(Ye(an,In));_n.equals(this.activeRegion)||(Xe=!0,this.activeRegion=_n)}if(Xe){const It=Math.ceil(this.activeRegion.width/this.o.pixelGroup),an=Math.ceil(this.activeRegion.height/this.o.pixelGroup);this.activeRegion.x!==this.potentialArea.pixelX||this.activeRegion.y!==this.potentialArea.pixelY?(this.potentialArea=Ze.fromPixelRegion(this.activeRegion,this.o.pixelGroup),this.members.forEach(In=>In.area=null),this.nonMembers.forEach(In=>In.area=null),this.edges.forEach(In=>In.area=null),this.virtualEdges.forEach(In=>In.area=null)):(It!==this.potentialArea.width||an!==this.potentialArea.height)&&(this.potentialArea=Ze.fromPixelRegion(this.activeRegion,this.o.pixelGroup))}const dt=new Map,Tt=It=>{if(It.area){const an=`${It.obj.width}x${It.obj.height}x${It.obj instanceof fe?"R":"C"}`;dt.set(an,It.area)}},Mt=It=>{if(It.area)return;const an=`${It.obj.width}x${It.obj.height}x${It.obj instanceof fe?"R":"C"}`;if(dt.has(an)){const _n=dt.get(an);It.area=this.potentialArea.copy(_n,{x:It.obj.x-this.o.nodeR1,y:It.obj.y-this.o.nodeR1});return}const In=It.obj instanceof fe?Je(It.obj,this.potentialArea,this.o.nodeR1):be(It.obj,this.potentialArea,this.o.nodeR1);It.area=In,dt.set(an,In)};this.members.forEach(Tt),this.nonMembers.forEach(Tt),this.members.forEach(Mt),this.nonMembers.forEach(It=>{this.activeRegion.intersects(It.obj)?Mt(It):It.area=null}),this.edges.forEach(It=>{It.area||(It.area=Te(It.obj,this.potentialArea,this.o.edgeR1))}),this.virtualEdges.forEach(It=>{It.area||(It.area=Te(It.obj,this.potentialArea,this.o.edgeR1))})}drawMembers(he){for(const qe of this.members)qe.obj.draw(he)}drawNonMembers(he){for(const qe of this.nonMembers)qe.obj.draw(he)}drawEdges(he){for(const qe of this.edges)qe.obj.draw(he)}drawPotentialArea(he,qe=!0){this.potentialArea.draw(he,qe)}compute(){if(this.members.length===0)return new Ct([]);this.dirty.size>0&&this.update();const{o:he,potentialArea:qe}=this,ct=this.members.map(Tt=>Tt.area),je=this.virtualEdges.concat(this.edges).map(Tt=>Tt.area),Xe=this.nonMembers.filter(Tt=>Tt.area!=null).map(Tt=>Tt.area),dt=this.members.map(Tt=>Tt.obj);return Qt(qe,ct,je,Xe,Tt=>Tt.containsElements(dt),he)}}function Qt(ze,he,qe,ct,je,Xe={}){const dt=Object.assign({},bt,Xe);let Tt=dt.threshold,Mt=dt.memberInfluenceFactor,It=dt.edgeInfluenceFactor,an=dt.nonMemberInfluenceFactor;const In=(dt.nodeR0-dt.nodeR1)*(dt.nodeR0-dt.nodeR1),_n=(dt.edgeR0-dt.edgeR1)*(dt.edgeR0-dt.edgeR1);for(let er=0;er0)an*=.8;else break}return new Ct([])}function jt(ze,he){if(ze.length===0)return new fe(0,0,0,0);const qe=fe.from(ze[0]);for(const ct of ze)qe.add(ct);for(const ct of he)qe.add(_(ct));return qe}function hn(ze,he=[],qe=[],ct={}){if(ze.length===0)return new Ct([]);const je=new mt(ct);return je.pushMember(...ze),je.pushNonMember(...he),je.pushEdge(...qe),je.compute()}},45411:function(Re){"use strict";Re.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(Re,xe,v){var m=v(45411),O=v(81683),B=Object.hasOwnProperty,R=Object.create(null);for(var _ in m)B.call(m,_)&&(R[m[_]]=_);var I=Re.exports={to:{},get:{}};I.get=function(F){var T=F.substring(0,3).toLowerCase(),D,z;switch(T){case"hsl":D=I.get.hsl(F),z="hsl";break;case"hwb":D=I.get.hwb(F),z="hwb";break;default:D=I.get.rgb(F),z="rgb";break}return D?{model:z,value:D}:null},I.get.rgb=function(F){if(!F)return null;var T=/^#([a-f0-9]{3,4})$/i,D=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,z=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,ee=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,te=/^(\w+)$/,ge=[0,0,0,1],pe,fe,Le;if(pe=F.match(D)){for(Le=pe[2],pe=pe[1],fe=0;fe<3;fe++){var Me=fe*2;ge[fe]=parseInt(pe.slice(Me,Me+2),16)}Le&&(ge[3]=parseInt(Le,16)/255)}else if(pe=F.match(T)){for(pe=pe[1],Le=pe[3],fe=0;fe<3;fe++)ge[fe]=parseInt(pe[fe]+pe[fe],16);Le&&(ge[3]=parseInt(Le+Le,16)/255)}else if(pe=F.match(z)){for(fe=0;fe<3;fe++)ge[fe]=parseInt(pe[fe+1],0);pe[4]&&(pe[5]?ge[3]=parseFloat(pe[4])*.01:ge[3]=parseFloat(pe[4]))}else if(pe=F.match(ee)){for(fe=0;fe<3;fe++)ge[fe]=Math.round(parseFloat(pe[fe+1])*2.55);pe[4]&&(pe[5]?ge[3]=parseFloat(pe[4])*.01:ge[3]=parseFloat(pe[4]))}else return(pe=F.match(te))?pe[1]==="transparent"?[0,0,0,0]:B.call(m,pe[1])?(ge=m[pe[1]],ge[3]=1,ge):null:null;for(fe=0;fe<3;fe++)ge[fe]=E(ge[fe],0,255);return ge[3]=E(ge[3],0,1),ge},I.get.hsl=function(F){if(!F)return null;var T=/^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*)?\)$/,D=F.match(T);if(D){var z=parseFloat(D[4]),ee=(parseFloat(D[1])%360+360)%360,te=E(parseFloat(D[2]),0,100),ge=E(parseFloat(D[3]),0,100),pe=E(isNaN(z)?1:z,0,1);return[ee,te,ge,pe]}return null},I.get.hwb=function(F){if(!F)return null;var T=/^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*)?\)$/,D=F.match(T);if(D){var z=parseFloat(D[4]),ee=(parseFloat(D[1])%360+360)%360,te=E(parseFloat(D[2]),0,100),ge=E(parseFloat(D[3]),0,100),pe=E(isNaN(z)?1:z,0,1);return[ee,te,ge,pe]}return null},I.to.hex=function(){var F=O(arguments);return"#"+N(F[0])+N(F[1])+N(F[2])+(F[3]<1?N(Math.round(F[3]*255)):"")},I.to.rgb=function(){var F=O(arguments);return F.length<4||F[3]===1?"rgb("+Math.round(F[0])+", "+Math.round(F[1])+", "+Math.round(F[2])+")":"rgba("+Math.round(F[0])+", "+Math.round(F[1])+", "+Math.round(F[2])+", "+F[3]+")"},I.to.rgb.percent=function(){var F=O(arguments),T=Math.round(F[0]/255*100),D=Math.round(F[1]/255*100),z=Math.round(F[2]/255*100);return F.length<4||F[3]===1?"rgb("+T+"%, "+D+"%, "+z+"%)":"rgba("+T+"%, "+D+"%, "+z+"%, "+F[3]+")"},I.to.hsl=function(){var F=O(arguments);return F.length<4||F[3]===1?"hsl("+F[0]+", "+F[1]+"%, "+F[2]+"%)":"hsla("+F[0]+", "+F[1]+"%, "+F[2]+"%, "+F[3]+")"},I.to.hwb=function(){var F=O(arguments),T="";return F.length>=4&&F[3]!==1&&(T=", "+F[3]),"hwb("+F[0]+", "+F[1]+"%, "+F[2]+"%"+T+")"},I.to.keyword=function(F){return R[F.slice(0,3)]};function E(F,T,D){return Math.min(Math.max(T,F),D)}function N(F){var T=Math.round(F).toString(16).toUpperCase();return T.length<2?"0"+T:T}},92546:function(Re,xe,v){Re.exports={graphlib:v(76626),layout:v(47194),debug:v(11303),util:{time:v(53063).time,notime:v(53063).notime},version:v(11897)}},81255:function(Re,xe,v){"use strict";var m=v(72361),O=v(39240);Re.exports={run:B,undo:_};function B(I){var E=I.graph().acyclicer==="greedy"?O(I,N(I)):R(I);m.forEach(E,function(F){var T=I.edge(F);I.removeEdge(F),T.forwardName=F.name,T.reversed=!0,I.setEdge(F.w,F.v,T,m.uniqueId("rev"))});function N(F){return function(T){return F.edge(T).weight}}}function R(I){var E=[],N={},F={};function T(D){m.has(F,D)||(F[D]=!0,N[D]=!0,m.forEach(I.outEdges(D),function(z){m.has(N,z.w)?E.push(z):T(z.w)}),delete N[D])}return m.forEach(I.nodes(),T),E}function _(I){m.forEach(I.edges(),function(E){var N=I.edge(E);if(N.reversed){I.removeEdge(E);var F=N.forwardName;delete N.reversed,delete N.forwardName,I.setEdge(E.w,E.v,N,F)}})}},60765:function(Re,xe,v){var m=v(72361),O=v(53063);Re.exports=B;function B(_){function I(E){var N=_.children(E),F=_.node(E);if(N.length&&m.forEach(N,I),m.has(F,"minRank")){F.borderLeft=[],F.borderRight=[];for(var T=F.minRank,D=F.maxRank+1;T0;--fe)if(pe=D[fe].dequeue(),pe){ee=ee.concat(E(T,D,z,pe,!0));break}}}return ee}function E(T,D,z,ee,te){var ge=te?[]:void 0;return m.forEach(T.inEdges(ee.v),function(pe){var fe=T.edge(pe),Le=T.node(pe.v);te&&ge.push({v:pe.v,w:pe.w}),Le.out-=fe,F(D,z,Le)}),m.forEach(T.outEdges(ee.v),function(pe){var fe=T.edge(pe),Le=pe.w,Me=T.node(Le);Me.in-=fe,F(D,z,Me)}),T.removeNode(ee.v),ge}function N(T,D){var z=new O,ee=0,te=0;m.forEach(T.nodes(),function(fe){z.setNode(fe,{v:fe,in:0,out:0})}),m.forEach(T.edges(),function(fe){var Le=z.edge(fe.v,fe.w)||0,Me=D(fe),Ze=Le+Me;z.setEdge(fe.v,fe.w,Ze),te=Math.max(te,z.node(fe.v).out+=Me),ee=Math.max(ee,z.node(fe.w).in+=Me)});var ge=m.range(te+ee+3).map(function(){return new B}),pe=ee+1;return m.forEach(z.nodes(),function(fe){F(ge,pe,z.node(fe))}),{graph:z,buckets:ge,zeroIdx:pe}}function F(T,D,z){z.out?z.in?T[z.out-z.in+D].enqueue(z):T[T.length-1].enqueue(z):T[0].enqueue(z)}},47194:function(Re,xe,v){"use strict";var m=v(72361),O=v(81255),B=v(27163),R=v(64505),_=v(53063).normalizeRanks,I=v(71970),E=v(53063).removeEmptyRanks,N=v(31733),F=v(60765),T=v(13257),D=v(62852),z=v(93021),ee=v(53063),te=v(76626).Graph;Re.exports=ge;function ge(pt,lt){var ae=lt&<.debugTiming?ee.time:ee.notime;ae("layout",function(){var re=ae(" buildLayoutGraph",function(){return it(pt)});ae(" runLayout",function(){pe(re,ae)}),ae(" updateInputGraph",function(){fe(pt,re)})})}function pe(pt,lt){lt(" makeSpaceForEdgeLabels",function(){$t(pt)}),lt(" removeSelfEdges",function(){Ht(pt)}),lt(" acyclic",function(){O.run(pt)}),lt(" nestingGraph.run",function(){N.run(pt)}),lt(" rank",function(){R(ee.asNonCompoundGraph(pt))}),lt(" injectEdgeLabelProxies",function(){cn(pt)}),lt(" removeEmptyRanks",function(){E(pt)}),lt(" nestingGraph.cleanup",function(){N.cleanup(pt)}),lt(" normalizeRanks",function(){_(pt)}),lt(" assignRankMinMax",function(){Sn(pt)}),lt(" removeEdgeLabelProxies",function(){vn(pt)}),lt(" normalize.run",function(){B.run(pt)}),lt(" parentDummyChains",function(){I(pt)}),lt(" addBorderSegments",function(){F(pt)}),lt(" order",function(){D(pt)}),lt(" insertSelfEdges",function(){On(pt)}),lt(" adjustCoordinateSystem",function(){T.adjust(pt)}),lt(" position",function(){z(pt)}),lt(" positionSelfEdges",function(){xt(pt)}),lt(" removeBorderNodes",function(){ot(pt)}),lt(" normalize.undo",function(){B.undo(pt)}),lt(" fixupEdgeLabelCoords",function(){Un(pt)}),lt(" undoCoordinateSystem",function(){T.undo(pt)}),lt(" translateGraph",function(){Qn(pt)}),lt(" assignNodeIntersects",function(){xn(pt)}),lt(" reversePoints",function(){ke(pt)}),lt(" acyclic.undo",function(){O.undo(pt)})}function fe(pt,lt){m.forEach(pt.nodes(),function(ae){var re=pt.node(ae),Ie=lt.node(ae);re&&(re.x=Ie.x,re.y=Ie.y,lt.children(ae).length&&(re.width=Ie.width,re.height=Ie.height))}),m.forEach(pt.edges(),function(ae){var re=pt.edge(ae),Ie=lt.edge(ae);re.points=Ie.points,m.has(Ie,"x")&&(re.x=Ie.x,re.y=Ie.y)}),pt.graph().width=lt.graph().width,pt.graph().height=lt.graph().height}var Le=["nodesep","edgesep","ranksep","marginx","marginy"],Me={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Ze=["acyclicer","ranker","rankdir","align"],Ye=["width","height"],Te={width:0,height:0},be=["minlen","weight","width","height","labeloffset"],Ge={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Je=["labelpos"];function it(pt){var lt=new te({multigraph:!0,compound:!0}),ae=tn(pt.graph());return lt.setGraph(m.merge({},Me,Pt(ae,Le),m.pick(ae,Ze))),m.forEach(pt.nodes(),function(re){var Ie=tn(pt.node(re));lt.setNode(re,m.defaults(Pt(Ie,Ye),Te)),lt.setParent(re,pt.parent(re))}),m.forEach(pt.edges(),function(re){var Ie=tn(pt.edge(re));lt.setEdge(re,m.merge({},Ge,Pt(Ie,be),m.pick(Ie,Je)))}),lt}function $t(pt){var lt=pt.graph();lt.ranksep/=2,m.forEach(pt.edges(),function(ae){var re=pt.edge(ae);re.minlen*=2,re.labelpos.toLowerCase()!=="c"&&(lt.rankdir==="TB"||lt.rankdir==="BT"?re.width+=re.labeloffset:re.height+=re.labeloffset)})}function cn(pt){m.forEach(pt.edges(),function(lt){var ae=pt.edge(lt);if(ae.width&&ae.height){var re=pt.node(lt.v),Ie=pt.node(lt.w),Ct={rank:(Ie.rank-re.rank)/2+re.rank,e:lt};ee.addDummyNode(pt,"edge-proxy",Ct,"_ep")}})}function Sn(pt){var lt=0;m.forEach(pt.nodes(),function(ae){var re=pt.node(ae);re.borderTop&&(re.minRank=pt.node(re.borderTop).rank,re.maxRank=pt.node(re.borderBottom).rank,lt=m.max(lt,re.maxRank))}),pt.graph().maxRank=lt}function vn(pt){m.forEach(pt.nodes(),function(lt){var ae=pt.node(lt);ae.dummy==="edge-proxy"&&(pt.edge(ae.e).labelRank=ae.rank,pt.removeNode(lt))})}function Qn(pt){var lt=Number.POSITIVE_INFINITY,ae=0,re=Number.POSITIVE_INFINITY,Ie=0,Ct=pt.graph(),Nt=Ct.marginx||0,ht=Ct.marginy||0;function Wt(zt){var De=zt.x,ft=zt.y,bt=zt.width,U=zt.height;lt=Math.min(lt,De-bt/2),ae=Math.max(ae,De+bt/2),re=Math.min(re,ft-U/2),Ie=Math.max(Ie,ft+U/2)}m.forEach(pt.nodes(),function(zt){Wt(pt.node(zt))}),m.forEach(pt.edges(),function(zt){var De=pt.edge(zt);m.has(De,"x")&&Wt(De)}),lt-=Nt,re-=ht,m.forEach(pt.nodes(),function(zt){var De=pt.node(zt);De.x-=lt,De.y-=re}),m.forEach(pt.edges(),function(zt){var De=pt.edge(zt);m.forEach(De.points,function(ft){ft.x-=lt,ft.y-=re}),m.has(De,"x")&&(De.x-=lt),m.has(De,"y")&&(De.y-=re)}),Ct.width=ae-lt+Nt,Ct.height=Ie-re+ht}function xn(pt){m.forEach(pt.edges(),function(lt){var ae=pt.edge(lt),re=pt.node(lt.v),Ie=pt.node(lt.w),Ct,Nt;ae.points?(Ct=ae.points[0],Nt=ae.points[ae.points.length-1]):(ae.points=[],Ct=Ie,Nt=re),ae.points.unshift(ee.intersectRect(re,Ct)),ae.points.push(ee.intersectRect(Ie,Nt))})}function Un(pt){m.forEach(pt.edges(),function(lt){var ae=pt.edge(lt);if(m.has(ae,"x"))switch((ae.labelpos==="l"||ae.labelpos==="r")&&(ae.width-=ae.labeloffset),ae.labelpos){case"l":ae.x-=ae.width/2+ae.labeloffset;break;case"r":ae.x+=ae.width/2+ae.labeloffset;break}})}function ke(pt){m.forEach(pt.edges(),function(lt){var ae=pt.edge(lt);ae.reversed&&ae.points.reverse()})}function ot(pt){m.forEach(pt.nodes(),function(lt){if(pt.children(lt).length){var ae=pt.node(lt),re=pt.node(ae.borderTop),Ie=pt.node(ae.borderBottom),Ct=pt.node(m.last(ae.borderLeft)),Nt=pt.node(m.last(ae.borderRight));ae.width=Math.abs(Nt.x-Ct.x),ae.height=Math.abs(Ie.y-re.y),ae.x=Ct.x+ae.width/2,ae.y=re.y+ae.height/2}}),m.forEach(pt.nodes(),function(lt){pt.node(lt).dummy==="border"&&pt.removeNode(lt)})}function Ht(pt){m.forEach(pt.edges(),function(lt){if(lt.v===lt.w){var ae=pt.node(lt.v);ae.selfEdges||(ae.selfEdges=[]),ae.selfEdges.push({e:lt,label:pt.edge(lt)}),pt.removeEdge(lt)}})}function On(pt){var lt=ee.buildLayerMatrix(pt);m.forEach(lt,function(ae){var re=0;m.forEach(ae,function(Ie,Ct){var Nt=pt.node(Ie);Nt.order=Ct+re,m.forEach(Nt.selfEdges,function(ht){ee.addDummyNode(pt,"selfedge",{width:ht.label.width,height:ht.label.height,rank:Nt.rank,order:Ct+ ++re,e:ht.e,label:ht.label},"_se")}),delete Nt.selfEdges})})}function xt(pt){m.forEach(pt.nodes(),function(lt){var ae=pt.node(lt);if(ae.dummy==="selfedge"){var re=pt.node(ae.e.v),Ie=re.x+re.width/2,Ct=re.y,Nt=ae.x-Ie,ht=re.height/2;pt.setEdge(ae.e,ae.label),pt.removeNode(lt),ae.label.points=[{x:Ie+2*Nt/3,y:Ct-ht},{x:Ie+5*Nt/6,y:Ct-ht},{x:Ie+Nt,y:Ct},{x:Ie+5*Nt/6,y:Ct+ht},{x:Ie+2*Nt/3,y:Ct+ht}],ae.label.x=ae.x,ae.label.y=ae.y}})}function Pt(pt,lt){return m.mapValues(m.pick(pt,lt),Number)}function tn(pt){var lt={};return m.forEach(pt,function(ae,re){lt[re.toLowerCase()]=ae}),lt}},72361:function(Re,xe,v){var m;try{m={cloneDeep:v(44187),constant:v(46221),defaults:v(34981),each:v(61475),filter:v(3130),find:v(48835),flatten:v(1332),forEach:v(47177),forIn:v(59946),has:v(64760),isUndefined:v(68408),last:v(47522),map:v(81426),mapValues:v(60032),max:v(18038),merge:v(55056),min:v(60169),minBy:v(13604),now:v(76308),pick:v(72333),range:v(69235),reduce:v(9695),sortBy:v(35020),uniqueId:v(69624),values:v(72834),zipObject:v(79261)}}catch(O){}m||(m=window._),Re.exports=m},31733:function(Re,xe,v){var m=v(72361),O=v(53063);Re.exports={run:B,cleanup:E};function B(N){var F=O.addDummyNode(N,"root",{},"_root"),T=_(N),D=m.max(m.values(T))-1,z=2*D+1;N.graph().nestingRoot=F,m.forEach(N.edges(),function(te){N.edge(te).minlen*=z});var ee=I(N)+1;m.forEach(N.children(),function(te){R(N,F,z,ee,D,T,te)}),N.graph().nodeRankFactor=z}function R(N,F,T,D,z,ee,te){var ge=N.children(te);if(!ge.length){te!==F&&N.setEdge(F,te,{weight:0,minlen:T});return}var pe=O.addBorderNode(N,"_bt"),fe=O.addBorderNode(N,"_bb"),Le=N.node(te);N.setParent(pe,te),Le.borderTop=pe,N.setParent(fe,te),Le.borderBottom=fe,m.forEach(ge,function(Me){R(N,F,T,D,z,ee,Me);var Ze=N.node(Me),Ye=Ze.borderTop?Ze.borderTop:Me,Te=Ze.borderBottom?Ze.borderBottom:Me,be=Ze.borderTop?D:2*D,Ge=Ye!==Te?1:z-ee[te]+1;N.setEdge(pe,Ye,{weight:be,minlen:Ge,nestingEdge:!0}),N.setEdge(Te,fe,{weight:be,minlen:Ge,nestingEdge:!0})}),N.parent(te)||N.setEdge(F,pe,{weight:0,minlen:z+ee[te]})}function _(N){var F={};function T(D,z){var ee=N.children(D);ee&&ee.length&&m.forEach(ee,function(te){T(te,z+1)}),F[D]=z}return m.forEach(N.children(),function(D){T(D,1)}),F}function I(N){return m.reduce(N.edges(),function(F,T){return F+N.edge(T).weight},0)}function E(N){var F=N.graph();N.removeNode(F.nestingRoot),delete F.nestingRoot,m.forEach(N.edges(),function(T){var D=N.edge(T);D.nestingEdge&&N.removeEdge(T)})}},27163:function(Re,xe,v){"use strict";var m=v(72361),O=v(53063);Re.exports={run:B,undo:_};function B(I){I.graph().dummyChains=[],m.forEach(I.edges(),function(E){R(I,E)})}function R(I,E){var N=E.v,F=I.node(N).rank,T=E.w,D=I.node(T).rank,z=E.name,ee=I.edge(E),te=ee.labelRank;if(D!==F+1){I.removeEdge(E);var ge,pe,fe;for(fe=0,++F;F0;)te%2&&(ge+=D[te+1]),te=te-1>>1,D[te]+=ee.weight;z+=ee.weight*ge})),z}},62852:function(Re,xe,v){"use strict";var m=v(72361),O=v(18043),B=v(45456),R=v(86490),_=v(59105),I=v(52205),E=v(76626).Graph,N=v(53063);Re.exports=F;function F(ee){var te=N.maxRank(ee),ge=T(ee,m.range(1,te+1),"inEdges"),pe=T(ee,m.range(te-1,-1,-1),"outEdges"),fe=O(ee);z(ee,fe);for(var Le=Number.POSITIVE_INFINITY,Me,Ze=0,Ye=0;Ye<4;++Ze,++Ye){D(Ze%2?ge:pe,Ze%4>=2),fe=N.buildLayerMatrix(ee);var Te=B(ee,fe);Te=T.barycenter)&&R(T,D)}}function N(T){return function(D){D.in.push(T),--D.indegree===0&&_.push(D)}}for(;_.length;){var F=_.pop();I.push(F),m.forEach(F.in.reverse(),E(F)),m.forEach(F.out,N(F))}return m.map(m.filter(I,function(T){return!T.merged}),function(T){return m.pick(T,["vs","i","barycenter","weight"])})}function R(_,I){var E=0,N=0;_.weight&&(E+=_.barycenter*_.weight,N+=_.weight),I.weight&&(E+=I.barycenter*I.weight,N+=I.weight),_.vs=I.vs.concat(_.vs),_.barycenter=E/N,_.weight=N,_.i=Math.min(I.i,_.i),I.merged=!0}},86490:function(Re,xe,v){var m=v(72361),O=v(99506),B=v(45926),R=v(1349);Re.exports=_;function _(N,F,T,D){var z=N.children(F),ee=N.node(F),te=ee?ee.borderLeft:void 0,ge=ee?ee.borderRight:void 0,pe={};te&&(z=m.filter(z,function(Te){return Te!==te&&Te!==ge}));var fe=O(N,z);m.forEach(fe,function(Te){if(N.children(Te.v).length){var be=_(N,Te.v,T,D);pe[Te.v]=be,m.has(be,"barycenter")&&E(Te,be)}});var Le=B(fe,T);I(Le,pe);var Me=R(Le,D);if(te&&(Me.vs=m.flatten([te,Me.vs,ge],!0),N.predecessors(te).length)){var Ze=N.node(N.predecessors(te)[0]),Ye=N.node(N.predecessors(ge)[0]);m.has(Me,"barycenter")||(Me.barycenter=0,Me.weight=0),Me.barycenter=(Me.barycenter*Me.weight+Ze.order+Ye.order)/(Me.weight+2),Me.weight+=2}return Me}function I(N,F){m.forEach(N,function(T){T.vs=m.flatten(T.vs.map(function(D){return F[D]?F[D].vs:D}),!0)})}function E(N,F){m.isUndefined(N.barycenter)?(N.barycenter=F.barycenter,N.weight=F.weight):(N.barycenter=(N.barycenter*N.weight+F.barycenter*F.weight)/(N.weight+F.weight),N.weight+=F.weight)}},1349:function(Re,xe,v){var m=v(72361),O=v(53063);Re.exports=B;function B(I,E){var N=O.partition(I,function(pe){return m.has(pe,"barycenter")}),F=N.lhs,T=m.sortBy(N.rhs,function(pe){return-pe.i}),D=[],z=0,ee=0,te=0;F.sort(_(!!E)),te=R(D,T,te),m.forEach(F,function(pe){te+=pe.vs.length,D.push(pe.vs),z+=pe.barycenter*pe.weight,ee+=pe.weight,te=R(D,T,te)});var ge={vs:m.flatten(D,!0)};return ee&&(ge.barycenter=z/ee,ge.weight=ee),ge}function R(I,E,N){for(var F;E.length&&(F=m.last(E)).i<=N;)E.pop(),I.push(F.vs),N++;return N}function _(I){return function(E,N){return E.barycenterN.barycenter?1:I?N.i-E.i:E.i-N.i}}},71970:function(Re,xe,v){var m=v(72361);Re.exports=O;function O(_){var I=R(_);m.forEach(_.graph().dummyChains,function(E){for(var N=_.node(E),F=N.edgeObj,T=B(_,I,F.v,F.w),D=T.path,z=T.lca,ee=0,te=D[ee],ge=!0;E!==F.w;){if(N=_.node(E),ge){for(;(te=D[ee])!==z&&_.node(te).maxRankD||z>I[ee].lim));for(te=ee,ee=N;(ee=_.parent(ee))!==te;)T.push(ee);return{path:F.concat(T.reverse()),lca:te}}function R(_){var I={},E=0;function N(F){var T=E;m.forEach(_.children(F),N),I[F]={low:T,lim:E++}}return m.forEach(_.children(),N),I}},25515:function(Re,xe,v){"use strict";var m=v(72361),O=v(76626).Graph,B=v(53063);Re.exports={positionX:ge,findType1Conflicts:R,findType2Conflicts:_,addConflict:E,hasConflict:N,verticalAlignment:F,horizontalCompaction:T,alignCoordinates:ee,findSmallestWidthAlignment:z,balance:te};function R(Le,Me){var Ze={};function Ye(Te,be){var Ge=0,Je=0,it=Te.length,$t=m.last(be);return m.forEach(be,function(cn,Sn){var vn=I(Le,cn),Qn=vn?Le.node(vn).order:it;(vn||cn===$t)&&(m.forEach(be.slice(Je,Sn+1),function(xn){m.forEach(Le.predecessors(xn),function(Un){var ke=Le.node(Un),ot=ke.order;(ot$t)&&E(Ze,vn,cn)})})}function Te(be,Ge){var Je=-1,it,$t=0;return m.forEach(Ge,function(cn,Sn){if(Le.node(cn).dummy==="border"){var vn=Le.predecessors(cn);vn.length&&(it=Le.node(vn[0]).order,Ye(Ge,$t,Sn,Je,it),$t=Sn,Je=it)}Ye(Ge,$t,Ge.length,it,be.length)}),Ge}return m.reduce(Me,Te),Ze}function I(Le,Me){if(Le.node(Me).dummy)return m.find(Le.predecessors(Me),function(Ze){return Le.node(Ze).dummy})}function E(Le,Me,Ze){if(Me>Ze){var Ye=Me;Me=Ze,Ze=Ye}var Te=Le[Me];Te||(Le[Me]=Te={}),Te[Ze]=!0}function N(Le,Me,Ze){if(Me>Ze){var Ye=Me;Me=Ze,Ze=Ye}return m.has(Le[Me],Ze)}function F(Le,Me,Ze,Ye){var Te={},be={},Ge={};return m.forEach(Me,function(Je){m.forEach(Je,function(it,$t){Te[it]=it,be[it]=it,Ge[it]=$t})}),m.forEach(Me,function(Je){var it=-1;m.forEach(Je,function($t){var cn=Ye($t);if(cn.length){cn=m.sortBy(cn,function(Un){return Ge[Un]});for(var Sn=(cn.length-1)/2,vn=Math.floor(Sn),Qn=Math.ceil(Sn);vn<=Qn;++vn){var xn=cn[vn];be[$t]===$t&&itit.lim&&($t=it,cn=!0);var Sn=m.filter(Ye.edges(),function(vn){return cn===Me(Ze,Ze.node(vn.v),$t)&&cn!==Me(Ze,Ze.node(vn.w),$t)});return m.minBy(Sn,function(vn){return B(Ye,vn)})}function pe(Ze,Ye,Te,be){var Ge=Te.v,Je=Te.w;Ze.removeEdge(Ge,Je),Ze.setEdge(be.v,be.w,{}),z(Ze),F(Ze,Ye),fe(Ze,Ye)}function fe(Ze,Ye){var Te=m.find(Ze.nodes(),function(Ge){return!Ye.node(Ge).parent}),be=_(Ze,Te);be=be.slice(1),m.forEach(be,function(Ge){var Je=Ze.node(Ge).parent,it=Ye.edge(Ge,Je),$t=!1;it||(it=Ye.edge(Je,Ge),$t=!0),Ye.node(Ge).rank=Ye.node(Je).rank+($t?it.minlen:-it.minlen)})}function Le(Ze,Ye,Te){return Ze.hasEdge(Ye,Te)}function Me(Ze,Ye,Te){return Te.low<=Ye.lim&&Ye.lim<=Te.lim}},2416:function(Re,xe,v){"use strict";var m=v(72361);Re.exports={longestPath:O,slack:B};function O(R){var _={};function I(E){var N=R.node(E);if(m.has(_,E))return N.rank;_[E]=!0;var F=m.min(m.map(R.outEdges(E),function(T){return I(T.w)-R.edge(T).minlen}));return(F===Number.POSITIVE_INFINITY||F===void 0||F===null)&&(F=0),N.rank=F}m.forEach(R.sources(),I)}function B(R,_){return R.node(_.w).rank-R.node(_.v).rank-R.edge(_).minlen}},53063:function(Re,xe,v){"use strict";var m=v(72361),O=v(76626).Graph;Re.exports={addDummyNode:B,simplify:R,asNonCompoundGraph:_,successorWeights:I,predecessorWeights:E,intersectRect:N,buildLayerMatrix:F,normalizeRanks:T,removeEmptyRanks:D,addBorderNode:z,maxRank:ee,partition:te,time:ge,notime:pe};function B(fe,Le,Me,Ze){var Ye;do Ye=m.uniqueId(Ze);while(fe.hasNode(Ye));return Me.dummy=Le,fe.setNode(Ye,Me),Ye}function R(fe){var Le=new O().setGraph(fe.graph());return m.forEach(fe.nodes(),function(Me){Le.setNode(Me,fe.node(Me))}),m.forEach(fe.edges(),function(Me){var Ze=Le.edge(Me.v,Me.w)||{weight:0,minlen:1},Ye=fe.edge(Me);Le.setEdge(Me.v,Me.w,{weight:Ze.weight+Ye.weight,minlen:Math.max(Ze.minlen,Ye.minlen)})}),Le}function _(fe){var Le=new O({multigraph:fe.isMultigraph()}).setGraph(fe.graph());return m.forEach(fe.nodes(),function(Me){fe.children(Me).length||Le.setNode(Me,fe.node(Me))}),m.forEach(fe.edges(),function(Me){Le.setEdge(Me,fe.edge(Me))}),Le}function I(fe){var Le=m.map(fe.nodes(),function(Me){var Ze={};return m.forEach(fe.outEdges(Me),function(Ye){Ze[Ye.w]=(Ze[Ye.w]||0)+fe.edge(Ye).weight}),Ze});return m.zipObject(fe.nodes(),Le)}function E(fe){var Le=m.map(fe.nodes(),function(Me){var Ze={};return m.forEach(fe.inEdges(Me),function(Ye){Ze[Ye.v]=(Ze[Ye.v]||0)+fe.edge(Ye).weight}),Ze});return m.zipObject(fe.nodes(),Le)}function N(fe,Le){var Me=fe.x,Ze=fe.y,Ye=Le.x-Me,Te=Le.y-Ze,be=fe.width/2,Ge=fe.height/2;if(!Ye&&!Te)throw new Error("Not possible to find intersection inside of the rectangle");var Je,it;return Math.abs(Te)*be>Math.abs(Ye)*Ge?(Te<0&&(Ge=-Ge),Je=Ge*Ye/Te,it=Ge):(Ye<0&&(be=-be),Je=be,it=be*Te/Ye),{x:Me+Je,y:Ze+it}}function F(fe){var Le=m.map(m.range(ee(fe)+1),function(){return[]});return m.forEach(fe.nodes(),function(Me){var Ze=fe.node(Me),Ye=Ze.rank;m.isUndefined(Ye)||(Le[Ye][Ze.order]=Me)}),Le}function T(fe){var Le=m.min(m.map(fe.nodes(),function(Me){return fe.node(Me).rank}));m.forEach(fe.nodes(),function(Me){var Ze=fe.node(Me);m.has(Ze,"rank")&&(Ze.rank-=Le)})}function D(fe){var Le=m.min(m.map(fe.nodes(),function(Te){return fe.node(Te).rank})),Me=[];m.forEach(fe.nodes(),function(Te){var be=fe.node(Te).rank-Le;Me[be]||(Me[be]=[]),Me[be].push(Te)});var Ze=0,Ye=fe.graph().nodeRankFactor;m.forEach(Me,function(Te,be){m.isUndefined(Te)&&be%Ye!==0?--Ze:Ze&&m.forEach(Te,function(Ge){fe.node(Ge).rank+=Ze})})}function z(fe,Le,Me,Ze){var Ye={width:0,height:0};return arguments.length>=4&&(Ye.rank=Me,Ye.order=Ze),B(fe,"border",Ye,Le)}function ee(fe){return m.max(m.map(fe.nodes(),function(Le){var Me=fe.node(Le).rank;if(!m.isUndefined(Me))return Me}))}function te(fe,Le){var Me={lhs:[],rhs:[]};return m.forEach(fe,function(Ze){Le(Ze)?Me.lhs.push(Ze):Me.rhs.push(Ze)}),Me}function ge(fe,Le){var Me=m.now();try{return Le()}finally{console.log(fe+" time: "+(m.now()-Me)+"ms")}}function pe(fe,Le){return Le()}},11897:function(Re){Re.exports="0.8.5"},94856:function(Re){"use strict";var xe=Object.prototype.hasOwnProperty,v="~";function m(){}Object.create&&(m.prototype=Object.create(null),new m().__proto__||(v=!1));function O(I,E,N){this.fn=I,this.context=E,this.once=N||!1}function B(I,E,N,F,T){if(typeof N!="function")throw new TypeError("The listener must be a function");var D=new O(N,F||I,T),z=v?v+E:E;return I._events[z]?I._events[z].fn?I._events[z]=[I._events[z],D]:I._events[z].push(D):(I._events[z]=D,I._eventsCount++),I}function R(I,E){--I._eventsCount===0?I._events=new m:delete I._events[E]}function _(){this._events=new m,this._eventsCount=0}_.prototype.eventNames=function(){var E=[],N,F;if(this._eventsCount===0)return E;for(F in N=this._events)xe.call(N,F)&&E.push(v?F.slice(1):F);return Object.getOwnPropertySymbols?E.concat(Object.getOwnPropertySymbols(N)):E},_.prototype.listeners=function(E){var N=v?v+E:E,F=this._events[N];if(!F)return[];if(F.fn)return[F.fn];for(var T=0,D=F.length,z=new Array(D);T=0?Math.round(z):z%.5===0?Math.floor(z):Math.round(z)}function I(z){O=z}var E=Math.PI/180,N=180/Math.PI;function F(z){return z*E}function T(z){return z*N}function D(z,ee){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m;return Math.abs(z-ee)<=te*Math.max(1,Math.abs(z),Math.abs(ee))}},79111:function(Re,xe,v){"use strict";v.d(xe,{Ue:function(){return O},al:function(){return I},xO:function(){return B}});var m=v(85551);function O(){var ke=new m.WT(9);return m.WT!=Float32Array&&(ke[1]=0,ke[2]=0,ke[3]=0,ke[5]=0,ke[6]=0,ke[7]=0),ke[0]=1,ke[4]=1,ke[8]=1,ke}function B(ke,ot){return ke[0]=ot[0],ke[1]=ot[1],ke[2]=ot[2],ke[3]=ot[4],ke[4]=ot[5],ke[5]=ot[6],ke[6]=ot[8],ke[7]=ot[9],ke[8]=ot[10],ke}function R(ke){var ot=new glMatrix.ARRAY_TYPE(9);return ot[0]=ke[0],ot[1]=ke[1],ot[2]=ke[2],ot[3]=ke[3],ot[4]=ke[4],ot[5]=ke[5],ot[6]=ke[6],ot[7]=ke[7],ot[8]=ke[8],ot}function _(ke,ot){return ke[0]=ot[0],ke[1]=ot[1],ke[2]=ot[2],ke[3]=ot[3],ke[4]=ot[4],ke[5]=ot[5],ke[6]=ot[6],ke[7]=ot[7],ke[8]=ot[8],ke}function I(ke,ot,Ht,On,xt,Pt,tn,pt,lt){var ae=new m.WT(9);return ae[0]=ke,ae[1]=ot,ae[2]=Ht,ae[3]=On,ae[4]=xt,ae[5]=Pt,ae[6]=tn,ae[7]=pt,ae[8]=lt,ae}function E(ke,ot,Ht,On,xt,Pt,tn,pt,lt,ae){return ke[0]=ot,ke[1]=Ht,ke[2]=On,ke[3]=xt,ke[4]=Pt,ke[5]=tn,ke[6]=pt,ke[7]=lt,ke[8]=ae,ke}function N(ke){return ke[0]=1,ke[1]=0,ke[2]=0,ke[3]=0,ke[4]=1,ke[5]=0,ke[6]=0,ke[7]=0,ke[8]=1,ke}function F(ke,ot){if(ke===ot){var Ht=ot[1],On=ot[2],xt=ot[5];ke[1]=ot[3],ke[2]=ot[6],ke[3]=Ht,ke[5]=ot[7],ke[6]=On,ke[7]=xt}else ke[0]=ot[0],ke[1]=ot[3],ke[2]=ot[6],ke[3]=ot[1],ke[4]=ot[4],ke[5]=ot[7],ke[6]=ot[2],ke[7]=ot[5],ke[8]=ot[8];return ke}function T(ke,ot){var Ht=ot[0],On=ot[1],xt=ot[2],Pt=ot[3],tn=ot[4],pt=ot[5],lt=ot[6],ae=ot[7],re=ot[8],Ie=re*tn-pt*ae,Ct=-re*Pt+pt*lt,Nt=ae*Pt-tn*lt,ht=Ht*Ie+On*Ct+xt*Nt;return ht?(ht=1/ht,ke[0]=Ie*ht,ke[1]=(-re*On+xt*ae)*ht,ke[2]=(pt*On-xt*tn)*ht,ke[3]=Ct*ht,ke[4]=(re*Ht-xt*lt)*ht,ke[5]=(-pt*Ht+xt*Pt)*ht,ke[6]=Nt*ht,ke[7]=(-ae*Ht+On*lt)*ht,ke[8]=(tn*Ht-On*Pt)*ht,ke):null}function D(ke,ot){var Ht=ot[0],On=ot[1],xt=ot[2],Pt=ot[3],tn=ot[4],pt=ot[5],lt=ot[6],ae=ot[7],re=ot[8];return ke[0]=tn*re-pt*ae,ke[1]=xt*ae-On*re,ke[2]=On*pt-xt*tn,ke[3]=pt*lt-Pt*re,ke[4]=Ht*re-xt*lt,ke[5]=xt*Pt-Ht*pt,ke[6]=Pt*ae-tn*lt,ke[7]=On*lt-Ht*ae,ke[8]=Ht*tn-On*Pt,ke}function z(ke){var ot=ke[0],Ht=ke[1],On=ke[2],xt=ke[3],Pt=ke[4],tn=ke[5],pt=ke[6],lt=ke[7],ae=ke[8];return ot*(ae*Pt-tn*lt)+Ht*(-ae*xt+tn*pt)+On*(lt*xt-Pt*pt)}function ee(ke,ot,Ht){var On=ot[0],xt=ot[1],Pt=ot[2],tn=ot[3],pt=ot[4],lt=ot[5],ae=ot[6],re=ot[7],Ie=ot[8],Ct=Ht[0],Nt=Ht[1],ht=Ht[2],Wt=Ht[3],zt=Ht[4],De=Ht[5],ft=Ht[6],bt=Ht[7],U=Ht[8];return ke[0]=Ct*On+Nt*tn+ht*ae,ke[1]=Ct*xt+Nt*pt+ht*re,ke[2]=Ct*Pt+Nt*lt+ht*Ie,ke[3]=Wt*On+zt*tn+De*ae,ke[4]=Wt*xt+zt*pt+De*re,ke[5]=Wt*Pt+zt*lt+De*Ie,ke[6]=ft*On+bt*tn+U*ae,ke[7]=ft*xt+bt*pt+U*re,ke[8]=ft*Pt+bt*lt+U*Ie,ke}function te(ke,ot,Ht){var On=ot[0],xt=ot[1],Pt=ot[2],tn=ot[3],pt=ot[4],lt=ot[5],ae=ot[6],re=ot[7],Ie=ot[8],Ct=Ht[0],Nt=Ht[1];return ke[0]=On,ke[1]=xt,ke[2]=Pt,ke[3]=tn,ke[4]=pt,ke[5]=lt,ke[6]=Ct*On+Nt*tn+ae,ke[7]=Ct*xt+Nt*pt+re,ke[8]=Ct*Pt+Nt*lt+Ie,ke}function ge(ke,ot,Ht){var On=ot[0],xt=ot[1],Pt=ot[2],tn=ot[3],pt=ot[4],lt=ot[5],ae=ot[6],re=ot[7],Ie=ot[8],Ct=Math.sin(Ht),Nt=Math.cos(Ht);return ke[0]=Nt*On+Ct*tn,ke[1]=Nt*xt+Ct*pt,ke[2]=Nt*Pt+Ct*lt,ke[3]=Nt*tn-Ct*On,ke[4]=Nt*pt-Ct*xt,ke[5]=Nt*lt-Ct*Pt,ke[6]=ae,ke[7]=re,ke[8]=Ie,ke}function pe(ke,ot,Ht){var On=Ht[0],xt=Ht[1];return ke[0]=On*ot[0],ke[1]=On*ot[1],ke[2]=On*ot[2],ke[3]=xt*ot[3],ke[4]=xt*ot[4],ke[5]=xt*ot[5],ke[6]=ot[6],ke[7]=ot[7],ke[8]=ot[8],ke}function fe(ke,ot){return ke[0]=1,ke[1]=0,ke[2]=0,ke[3]=0,ke[4]=1,ke[5]=0,ke[6]=ot[0],ke[7]=ot[1],ke[8]=1,ke}function Le(ke,ot){var Ht=Math.sin(ot),On=Math.cos(ot);return ke[0]=On,ke[1]=Ht,ke[2]=0,ke[3]=-Ht,ke[4]=On,ke[5]=0,ke[6]=0,ke[7]=0,ke[8]=1,ke}function Me(ke,ot){return ke[0]=ot[0],ke[1]=0,ke[2]=0,ke[3]=0,ke[4]=ot[1],ke[5]=0,ke[6]=0,ke[7]=0,ke[8]=1,ke}function Ze(ke,ot){return ke[0]=ot[0],ke[1]=ot[1],ke[2]=0,ke[3]=ot[2],ke[4]=ot[3],ke[5]=0,ke[6]=ot[4],ke[7]=ot[5],ke[8]=1,ke}function Ye(ke,ot){var Ht=ot[0],On=ot[1],xt=ot[2],Pt=ot[3],tn=Ht+Ht,pt=On+On,lt=xt+xt,ae=Ht*tn,re=On*tn,Ie=On*pt,Ct=xt*tn,Nt=xt*pt,ht=xt*lt,Wt=Pt*tn,zt=Pt*pt,De=Pt*lt;return ke[0]=1-Ie-ht,ke[3]=re-De,ke[6]=Ct+zt,ke[1]=re+De,ke[4]=1-ae-ht,ke[7]=Nt-Wt,ke[2]=Ct-zt,ke[5]=Nt+Wt,ke[8]=1-ae-Ie,ke}function Te(ke,ot){var Ht=ot[0],On=ot[1],xt=ot[2],Pt=ot[3],tn=ot[4],pt=ot[5],lt=ot[6],ae=ot[7],re=ot[8],Ie=ot[9],Ct=ot[10],Nt=ot[11],ht=ot[12],Wt=ot[13],zt=ot[14],De=ot[15],ft=Ht*pt-On*tn,bt=Ht*lt-xt*tn,U=Ht*ae-Pt*tn,de=On*lt-xt*pt,vt=On*ae-Pt*pt,mt=xt*ae-Pt*lt,Qt=re*Wt-Ie*ht,jt=re*zt-Ct*ht,hn=re*De-Nt*ht,ze=Ie*zt-Ct*Wt,he=Ie*De-Nt*Wt,qe=Ct*De-Nt*zt,ct=ft*qe-bt*he+U*ze+de*hn-vt*jt+mt*Qt;return ct?(ct=1/ct,ke[0]=(pt*qe-lt*he+ae*ze)*ct,ke[1]=(lt*hn-tn*qe-ae*jt)*ct,ke[2]=(tn*he-pt*hn+ae*Qt)*ct,ke[3]=(xt*he-On*qe-Pt*ze)*ct,ke[4]=(Ht*qe-xt*hn+Pt*jt)*ct,ke[5]=(On*hn-Ht*he-Pt*Qt)*ct,ke[6]=(Wt*mt-zt*vt+De*de)*ct,ke[7]=(zt*U-ht*mt-De*bt)*ct,ke[8]=(ht*vt-Wt*U+De*ft)*ct,ke):null}function be(ke,ot,Ht){return ke[0]=2/ot,ke[1]=0,ke[2]=0,ke[3]=0,ke[4]=-2/Ht,ke[5]=0,ke[6]=-1,ke[7]=1,ke[8]=1,ke}function Ge(ke){return"mat3("+ke[0]+", "+ke[1]+", "+ke[2]+", "+ke[3]+", "+ke[4]+", "+ke[5]+", "+ke[6]+", "+ke[7]+", "+ke[8]+")"}function Je(ke){return Math.sqrt(ke[0]*ke[0]+ke[1]*ke[1]+ke[2]*ke[2]+ke[3]*ke[3]+ke[4]*ke[4]+ke[5]*ke[5]+ke[6]*ke[6]+ke[7]*ke[7]+ke[8]*ke[8])}function it(ke,ot,Ht){return ke[0]=ot[0]+Ht[0],ke[1]=ot[1]+Ht[1],ke[2]=ot[2]+Ht[2],ke[3]=ot[3]+Ht[3],ke[4]=ot[4]+Ht[4],ke[5]=ot[5]+Ht[5],ke[6]=ot[6]+Ht[6],ke[7]=ot[7]+Ht[7],ke[8]=ot[8]+Ht[8],ke}function $t(ke,ot,Ht){return ke[0]=ot[0]-Ht[0],ke[1]=ot[1]-Ht[1],ke[2]=ot[2]-Ht[2],ke[3]=ot[3]-Ht[3],ke[4]=ot[4]-Ht[4],ke[5]=ot[5]-Ht[5],ke[6]=ot[6]-Ht[6],ke[7]=ot[7]-Ht[7],ke[8]=ot[8]-Ht[8],ke}function cn(ke,ot,Ht){return ke[0]=ot[0]*Ht,ke[1]=ot[1]*Ht,ke[2]=ot[2]*Ht,ke[3]=ot[3]*Ht,ke[4]=ot[4]*Ht,ke[5]=ot[5]*Ht,ke[6]=ot[6]*Ht,ke[7]=ot[7]*Ht,ke[8]=ot[8]*Ht,ke}function Sn(ke,ot,Ht,On){return ke[0]=ot[0]+Ht[0]*On,ke[1]=ot[1]+Ht[1]*On,ke[2]=ot[2]+Ht[2]*On,ke[3]=ot[3]+Ht[3]*On,ke[4]=ot[4]+Ht[4]*On,ke[5]=ot[5]+Ht[5]*On,ke[6]=ot[6]+Ht[6]*On,ke[7]=ot[7]+Ht[7]*On,ke[8]=ot[8]+Ht[8]*On,ke}function vn(ke,ot){return ke[0]===ot[0]&&ke[1]===ot[1]&&ke[2]===ot[2]&&ke[3]===ot[3]&&ke[4]===ot[4]&&ke[5]===ot[5]&&ke[6]===ot[6]&&ke[7]===ot[7]&&ke[8]===ot[8]}function Qn(ke,ot){var Ht=ke[0],On=ke[1],xt=ke[2],Pt=ke[3],tn=ke[4],pt=ke[5],lt=ke[6],ae=ke[7],re=ke[8],Ie=ot[0],Ct=ot[1],Nt=ot[2],ht=ot[3],Wt=ot[4],zt=ot[5],De=ot[6],ft=ot[7],bt=ot[8];return Math.abs(Ht-Ie)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ht),Math.abs(Ie))&&Math.abs(On-Ct)<=glMatrix.EPSILON*Math.max(1,Math.abs(On),Math.abs(Ct))&&Math.abs(xt-Nt)<=glMatrix.EPSILON*Math.max(1,Math.abs(xt),Math.abs(Nt))&&Math.abs(Pt-ht)<=glMatrix.EPSILON*Math.max(1,Math.abs(Pt),Math.abs(ht))&&Math.abs(tn-Wt)<=glMatrix.EPSILON*Math.max(1,Math.abs(tn),Math.abs(Wt))&&Math.abs(pt-zt)<=glMatrix.EPSILON*Math.max(1,Math.abs(pt),Math.abs(zt))&&Math.abs(lt-De)<=glMatrix.EPSILON*Math.max(1,Math.abs(lt),Math.abs(De))&&Math.abs(ae-ft)<=glMatrix.EPSILON*Math.max(1,Math.abs(ae),Math.abs(ft))&&Math.abs(re-bt)<=glMatrix.EPSILON*Math.max(1,Math.abs(re),Math.abs(bt))}var xn=null,Un=null},60187:function(Re,xe,v){"use strict";v.r(xe),v.d(xe,{add:function(){return Ct},adjoint:function(){return T},clone:function(){return B},copy:function(){return R},create:function(){return O},decompose:function(){return vn},determinant:function(){return D},equals:function(){return De},exactEquals:function(){return zt},frob:function(){return Ie},fromQuat:function(){return Un},fromQuat2:function(){return it},fromRotation:function(){return Ye},fromRotationTranslation:function(){return Je},fromRotationTranslationScale:function(){return Qn},fromRotationTranslationScaleOrigin:function(){return xn},fromScaling:function(){return Ze},fromTranslation:function(){return Me},fromValues:function(){return _},fromXRotation:function(){return Te},fromYRotation:function(){return be},fromZRotation:function(){return Ge},frustum:function(){return ke},getRotation:function(){return Sn},getScaling:function(){return cn},getTranslation:function(){return $t},identity:function(){return E},invert:function(){return F},lookAt:function(){return lt},mul:function(){return ft},multiply:function(){return z},multiplyScalar:function(){return ht},multiplyScalarAndAdd:function(){return Wt},ortho:function(){return tn},orthoNO:function(){return Pt},orthoZO:function(){return pt},perspective:function(){return Ht},perspectiveFromFieldOfView:function(){return xt},perspectiveNO:function(){return ot},perspectiveZO:function(){return On},rotate:function(){return ge},rotateX:function(){return pe},rotateY:function(){return fe},rotateZ:function(){return Le},scale:function(){return te},set:function(){return I},str:function(){return re},sub:function(){return bt},subtract:function(){return Nt},targetTo:function(){return ae},translate:function(){return ee},transpose:function(){return N}});var m=v(85551);function O(){var U=new m.WT(16);return m.WT!=Float32Array&&(U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[11]=0,U[12]=0,U[13]=0,U[14]=0),U[0]=1,U[5]=1,U[10]=1,U[15]=1,U}function B(U){var de=new m.WT(16);return de[0]=U[0],de[1]=U[1],de[2]=U[2],de[3]=U[3],de[4]=U[4],de[5]=U[5],de[6]=U[6],de[7]=U[7],de[8]=U[8],de[9]=U[9],de[10]=U[10],de[11]=U[11],de[12]=U[12],de[13]=U[13],de[14]=U[14],de[15]=U[15],de}function R(U,de){return U[0]=de[0],U[1]=de[1],U[2]=de[2],U[3]=de[3],U[4]=de[4],U[5]=de[5],U[6]=de[6],U[7]=de[7],U[8]=de[8],U[9]=de[9],U[10]=de[10],U[11]=de[11],U[12]=de[12],U[13]=de[13],U[14]=de[14],U[15]=de[15],U}function _(U,de,vt,mt,Qt,jt,hn,ze,he,qe,ct,je,Xe,dt,Tt,Mt){var It=new m.WT(16);return It[0]=U,It[1]=de,It[2]=vt,It[3]=mt,It[4]=Qt,It[5]=jt,It[6]=hn,It[7]=ze,It[8]=he,It[9]=qe,It[10]=ct,It[11]=je,It[12]=Xe,It[13]=dt,It[14]=Tt,It[15]=Mt,It}function I(U,de,vt,mt,Qt,jt,hn,ze,he,qe,ct,je,Xe,dt,Tt,Mt,It){return U[0]=de,U[1]=vt,U[2]=mt,U[3]=Qt,U[4]=jt,U[5]=hn,U[6]=ze,U[7]=he,U[8]=qe,U[9]=ct,U[10]=je,U[11]=Xe,U[12]=dt,U[13]=Tt,U[14]=Mt,U[15]=It,U}function E(U){return U[0]=1,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=1,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[10]=1,U[11]=0,U[12]=0,U[13]=0,U[14]=0,U[15]=1,U}function N(U,de){if(U===de){var vt=de[1],mt=de[2],Qt=de[3],jt=de[6],hn=de[7],ze=de[11];U[1]=de[4],U[2]=de[8],U[3]=de[12],U[4]=vt,U[6]=de[9],U[7]=de[13],U[8]=mt,U[9]=jt,U[11]=de[14],U[12]=Qt,U[13]=hn,U[14]=ze}else U[0]=de[0],U[1]=de[4],U[2]=de[8],U[3]=de[12],U[4]=de[1],U[5]=de[5],U[6]=de[9],U[7]=de[13],U[8]=de[2],U[9]=de[6],U[10]=de[10],U[11]=de[14],U[12]=de[3],U[13]=de[7],U[14]=de[11],U[15]=de[15];return U}function F(U,de){var vt=de[0],mt=de[1],Qt=de[2],jt=de[3],hn=de[4],ze=de[5],he=de[6],qe=de[7],ct=de[8],je=de[9],Xe=de[10],dt=de[11],Tt=de[12],Mt=de[13],It=de[14],an=de[15],In=vt*ze-mt*hn,_n=vt*he-Qt*hn,er=vt*qe-jt*hn,Mr=mt*he-Qt*ze,hr=mt*qe-jt*ze,di=Qt*qe-jt*he,br=ct*Mt-je*Tt,ri=ct*It-Xe*Tt,Ir=ct*an-dt*Tt,Vi=je*It-Xe*Mt,fi=je*an-dt*Mt,on=Xe*an-dt*It,Yt=In*on-_n*fi+er*Vi+Mr*Ir-hr*ri+di*br;return Yt?(Yt=1/Yt,U[0]=(ze*on-he*fi+qe*Vi)*Yt,U[1]=(Qt*fi-mt*on-jt*Vi)*Yt,U[2]=(Mt*di-It*hr+an*Mr)*Yt,U[3]=(Xe*hr-je*di-dt*Mr)*Yt,U[4]=(he*Ir-hn*on-qe*ri)*Yt,U[5]=(vt*on-Qt*Ir+jt*ri)*Yt,U[6]=(It*er-Tt*di-an*_n)*Yt,U[7]=(ct*di-Xe*er+dt*_n)*Yt,U[8]=(hn*fi-ze*Ir+qe*br)*Yt,U[9]=(mt*Ir-vt*fi-jt*br)*Yt,U[10]=(Tt*hr-Mt*er+an*In)*Yt,U[11]=(je*er-ct*hr-dt*In)*Yt,U[12]=(ze*ri-hn*Vi-he*br)*Yt,U[13]=(vt*Vi-mt*ri+Qt*br)*Yt,U[14]=(Mt*_n-Tt*Mr-It*In)*Yt,U[15]=(ct*Mr-je*_n+Xe*In)*Yt,U):null}function T(U,de){var vt=de[0],mt=de[1],Qt=de[2],jt=de[3],hn=de[4],ze=de[5],he=de[6],qe=de[7],ct=de[8],je=de[9],Xe=de[10],dt=de[11],Tt=de[12],Mt=de[13],It=de[14],an=de[15],In=vt*ze-mt*hn,_n=vt*he-Qt*hn,er=vt*qe-jt*hn,Mr=mt*he-Qt*ze,hr=mt*qe-jt*ze,di=Qt*qe-jt*he,br=ct*Mt-je*Tt,ri=ct*It-Xe*Tt,Ir=ct*an-dt*Tt,Vi=je*It-Xe*Mt,fi=je*an-dt*Mt,on=Xe*an-dt*It;return U[0]=ze*on-he*fi+qe*Vi,U[1]=Qt*fi-mt*on-jt*Vi,U[2]=Mt*di-It*hr+an*Mr,U[3]=Xe*hr-je*di-dt*Mr,U[4]=he*Ir-hn*on-qe*ri,U[5]=vt*on-Qt*Ir+jt*ri,U[6]=It*er-Tt*di-an*_n,U[7]=ct*di-Xe*er+dt*_n,U[8]=hn*fi-ze*Ir+qe*br,U[9]=mt*Ir-vt*fi-jt*br,U[10]=Tt*hr-Mt*er+an*In,U[11]=je*er-ct*hr-dt*In,U[12]=ze*ri-hn*Vi-he*br,U[13]=vt*Vi-mt*ri+Qt*br,U[14]=Mt*_n-Tt*Mr-It*In,U[15]=ct*Mr-je*_n+Xe*In,U}function D(U){var de=U[0],vt=U[1],mt=U[2],Qt=U[3],jt=U[4],hn=U[5],ze=U[6],he=U[7],qe=U[8],ct=U[9],je=U[10],Xe=U[11],dt=U[12],Tt=U[13],Mt=U[14],It=U[15],an=de*hn-vt*jt,In=de*ze-mt*jt,_n=vt*ze-mt*hn,er=qe*Tt-ct*dt,Mr=qe*Mt-je*dt,hr=ct*Mt-je*Tt,di=de*hr-vt*Mr+mt*er,br=jt*hr-hn*Mr+ze*er,ri=qe*_n-ct*In+je*an,Ir=dt*_n-Tt*In+Mt*an;return he*di-Qt*br+It*ri-Xe*Ir}function z(U,de,vt){var mt=de[0],Qt=de[1],jt=de[2],hn=de[3],ze=de[4],he=de[5],qe=de[6],ct=de[7],je=de[8],Xe=de[9],dt=de[10],Tt=de[11],Mt=de[12],It=de[13],an=de[14],In=de[15],_n=vt[0],er=vt[1],Mr=vt[2],hr=vt[3];return U[0]=_n*mt+er*ze+Mr*je+hr*Mt,U[1]=_n*Qt+er*he+Mr*Xe+hr*It,U[2]=_n*jt+er*qe+Mr*dt+hr*an,U[3]=_n*hn+er*ct+Mr*Tt+hr*In,_n=vt[4],er=vt[5],Mr=vt[6],hr=vt[7],U[4]=_n*mt+er*ze+Mr*je+hr*Mt,U[5]=_n*Qt+er*he+Mr*Xe+hr*It,U[6]=_n*jt+er*qe+Mr*dt+hr*an,U[7]=_n*hn+er*ct+Mr*Tt+hr*In,_n=vt[8],er=vt[9],Mr=vt[10],hr=vt[11],U[8]=_n*mt+er*ze+Mr*je+hr*Mt,U[9]=_n*Qt+er*he+Mr*Xe+hr*It,U[10]=_n*jt+er*qe+Mr*dt+hr*an,U[11]=_n*hn+er*ct+Mr*Tt+hr*In,_n=vt[12],er=vt[13],Mr=vt[14],hr=vt[15],U[12]=_n*mt+er*ze+Mr*je+hr*Mt,U[13]=_n*Qt+er*he+Mr*Xe+hr*It,U[14]=_n*jt+er*qe+Mr*dt+hr*an,U[15]=_n*hn+er*ct+Mr*Tt+hr*In,U}function ee(U,de,vt){var mt=vt[0],Qt=vt[1],jt=vt[2],hn,ze,he,qe,ct,je,Xe,dt,Tt,Mt,It,an;return de===U?(U[12]=de[0]*mt+de[4]*Qt+de[8]*jt+de[12],U[13]=de[1]*mt+de[5]*Qt+de[9]*jt+de[13],U[14]=de[2]*mt+de[6]*Qt+de[10]*jt+de[14],U[15]=de[3]*mt+de[7]*Qt+de[11]*jt+de[15]):(hn=de[0],ze=de[1],he=de[2],qe=de[3],ct=de[4],je=de[5],Xe=de[6],dt=de[7],Tt=de[8],Mt=de[9],It=de[10],an=de[11],U[0]=hn,U[1]=ze,U[2]=he,U[3]=qe,U[4]=ct,U[5]=je,U[6]=Xe,U[7]=dt,U[8]=Tt,U[9]=Mt,U[10]=It,U[11]=an,U[12]=hn*mt+ct*Qt+Tt*jt+de[12],U[13]=ze*mt+je*Qt+Mt*jt+de[13],U[14]=he*mt+Xe*Qt+It*jt+de[14],U[15]=qe*mt+dt*Qt+an*jt+de[15]),U}function te(U,de,vt){var mt=vt[0],Qt=vt[1],jt=vt[2];return U[0]=de[0]*mt,U[1]=de[1]*mt,U[2]=de[2]*mt,U[3]=de[3]*mt,U[4]=de[4]*Qt,U[5]=de[5]*Qt,U[6]=de[6]*Qt,U[7]=de[7]*Qt,U[8]=de[8]*jt,U[9]=de[9]*jt,U[10]=de[10]*jt,U[11]=de[11]*jt,U[12]=de[12],U[13]=de[13],U[14]=de[14],U[15]=de[15],U}function ge(U,de,vt,mt){var Qt=mt[0],jt=mt[1],hn=mt[2],ze=Math.sqrt(Qt*Qt+jt*jt+hn*hn),he,qe,ct,je,Xe,dt,Tt,Mt,It,an,In,_n,er,Mr,hr,di,br,ri,Ir,Vi,fi,on,Yt,Vt;return ze0?(vt[0]=(ze*hn+ct*mt+he*jt-qe*Qt)*2/je,vt[1]=(he*hn+ct*Qt+qe*mt-ze*jt)*2/je,vt[2]=(qe*hn+ct*jt+ze*Qt-he*mt)*2/je):(vt[0]=(ze*hn+ct*mt+he*jt-qe*Qt)*2,vt[1]=(he*hn+ct*Qt+qe*mt-ze*jt)*2,vt[2]=(qe*hn+ct*jt+ze*Qt-he*mt)*2),Je(U,de,vt),U}function $t(U,de){return U[0]=de[12],U[1]=de[13],U[2]=de[14],U}function cn(U,de){var vt=de[0],mt=de[1],Qt=de[2],jt=de[4],hn=de[5],ze=de[6],he=de[8],qe=de[9],ct=de[10];return U[0]=Math.sqrt(vt*vt+mt*mt+Qt*Qt),U[1]=Math.sqrt(jt*jt+hn*hn+ze*ze),U[2]=Math.sqrt(he*he+qe*qe+ct*ct),U}function Sn(U,de){var vt=new m.WT(3);cn(vt,de);var mt=1/vt[0],Qt=1/vt[1],jt=1/vt[2],hn=de[0]*mt,ze=de[1]*Qt,he=de[2]*jt,qe=de[4]*mt,ct=de[5]*Qt,je=de[6]*jt,Xe=de[8]*mt,dt=de[9]*Qt,Tt=de[10]*jt,Mt=hn+ct+Tt,It=0;return Mt>0?(It=Math.sqrt(Mt+1)*2,U[3]=.25*It,U[0]=(je-dt)/It,U[1]=(Xe-he)/It,U[2]=(ze-qe)/It):hn>ct&&hn>Tt?(It=Math.sqrt(1+hn-ct-Tt)*2,U[3]=(je-dt)/It,U[0]=.25*It,U[1]=(ze+qe)/It,U[2]=(Xe+he)/It):ct>Tt?(It=Math.sqrt(1+ct-hn-Tt)*2,U[3]=(Xe-he)/It,U[0]=(ze+qe)/It,U[1]=.25*It,U[2]=(je+dt)/It):(It=Math.sqrt(1+Tt-hn-ct)*2,U[3]=(ze-qe)/It,U[0]=(Xe+he)/It,U[1]=(je+dt)/It,U[2]=.25*It),U}function vn(U,de,vt,mt){de[0]=mt[12],de[1]=mt[13],de[2]=mt[14];var Qt=mt[0],jt=mt[1],hn=mt[2],ze=mt[4],he=mt[5],qe=mt[6],ct=mt[8],je=mt[9],Xe=mt[10];vt[0]=Math.sqrt(Qt*Qt+jt*jt+hn*hn),vt[1]=Math.sqrt(ze*ze+he*he+qe*qe),vt[2]=Math.sqrt(ct*ct+je*je+Xe*Xe);var dt=1/vt[0],Tt=1/vt[1],Mt=1/vt[2],It=Qt*dt,an=jt*Tt,In=hn*Mt,_n=ze*dt,er=he*Tt,Mr=qe*Mt,hr=ct*dt,di=je*Tt,br=Xe*Mt,ri=It+er+br,Ir=0;return ri>0?(Ir=Math.sqrt(ri+1)*2,U[3]=.25*Ir,U[0]=(Mr-di)/Ir,U[1]=(hr-In)/Ir,U[2]=(an-_n)/Ir):It>er&&It>br?(Ir=Math.sqrt(1+It-er-br)*2,U[3]=(Mr-di)/Ir,U[0]=.25*Ir,U[1]=(an+_n)/Ir,U[2]=(hr+In)/Ir):er>br?(Ir=Math.sqrt(1+er-It-br)*2,U[3]=(hr-In)/Ir,U[0]=(an+_n)/Ir,U[1]=.25*Ir,U[2]=(Mr+di)/Ir):(Ir=Math.sqrt(1+br-It-er)*2,U[3]=(an-_n)/Ir,U[0]=(hr+In)/Ir,U[1]=(Mr+di)/Ir,U[2]=.25*Ir),U}function Qn(U,de,vt,mt){var Qt=de[0],jt=de[1],hn=de[2],ze=de[3],he=Qt+Qt,qe=jt+jt,ct=hn+hn,je=Qt*he,Xe=Qt*qe,dt=Qt*ct,Tt=jt*qe,Mt=jt*ct,It=hn*ct,an=ze*he,In=ze*qe,_n=ze*ct,er=mt[0],Mr=mt[1],hr=mt[2];return U[0]=(1-(Tt+It))*er,U[1]=(Xe+_n)*er,U[2]=(dt-In)*er,U[3]=0,U[4]=(Xe-_n)*Mr,U[5]=(1-(je+It))*Mr,U[6]=(Mt+an)*Mr,U[7]=0,U[8]=(dt+In)*hr,U[9]=(Mt-an)*hr,U[10]=(1-(je+Tt))*hr,U[11]=0,U[12]=vt[0],U[13]=vt[1],U[14]=vt[2],U[15]=1,U}function xn(U,de,vt,mt,Qt){var jt=de[0],hn=de[1],ze=de[2],he=de[3],qe=jt+jt,ct=hn+hn,je=ze+ze,Xe=jt*qe,dt=jt*ct,Tt=jt*je,Mt=hn*ct,It=hn*je,an=ze*je,In=he*qe,_n=he*ct,er=he*je,Mr=mt[0],hr=mt[1],di=mt[2],br=Qt[0],ri=Qt[1],Ir=Qt[2],Vi=(1-(Mt+an))*Mr,fi=(dt+er)*Mr,on=(Tt-_n)*Mr,Yt=(dt-er)*hr,Vt=(1-(Xe+an))*hr,gt=(It+In)*hr,yt=(Tt+_n)*di,Ft=(It-In)*di,rn=(1-(Xe+Mt))*di;return U[0]=Vi,U[1]=fi,U[2]=on,U[3]=0,U[4]=Yt,U[5]=Vt,U[6]=gt,U[7]=0,U[8]=yt,U[9]=Ft,U[10]=rn,U[11]=0,U[12]=vt[0]+br-(Vi*br+Yt*ri+yt*Ir),U[13]=vt[1]+ri-(fi*br+Vt*ri+Ft*Ir),U[14]=vt[2]+Ir-(on*br+gt*ri+rn*Ir),U[15]=1,U}function Un(U,de){var vt=de[0],mt=de[1],Qt=de[2],jt=de[3],hn=vt+vt,ze=mt+mt,he=Qt+Qt,qe=vt*hn,ct=mt*hn,je=mt*ze,Xe=Qt*hn,dt=Qt*ze,Tt=Qt*he,Mt=jt*hn,It=jt*ze,an=jt*he;return U[0]=1-je-Tt,U[1]=ct+an,U[2]=Xe-It,U[3]=0,U[4]=ct-an,U[5]=1-qe-Tt,U[6]=dt+Mt,U[7]=0,U[8]=Xe+It,U[9]=dt-Mt,U[10]=1-qe-je,U[11]=0,U[12]=0,U[13]=0,U[14]=0,U[15]=1,U}function ke(U,de,vt,mt,Qt,jt,hn){var ze=1/(vt-de),he=1/(Qt-mt),qe=1/(jt-hn);return U[0]=jt*2*ze,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=jt*2*he,U[6]=0,U[7]=0,U[8]=(vt+de)*ze,U[9]=(Qt+mt)*he,U[10]=(hn+jt)*qe,U[11]=-1,U[12]=0,U[13]=0,U[14]=hn*jt*2*qe,U[15]=0,U}function ot(U,de,vt,mt,Qt){var jt=1/Math.tan(de/2);if(U[0]=jt/vt,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=jt,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[11]=-1,U[12]=0,U[13]=0,U[15]=0,Qt!=null&&Qt!==1/0){var hn=1/(mt-Qt);U[10]=(Qt+mt)*hn,U[14]=2*Qt*mt*hn}else U[10]=-1,U[14]=-2*mt;return U}var Ht=ot;function On(U,de,vt,mt,Qt){var jt=1/Math.tan(de/2);if(U[0]=jt/vt,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=jt,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[11]=-1,U[12]=0,U[13]=0,U[15]=0,Qt!=null&&Qt!==1/0){var hn=1/(mt-Qt);U[10]=Qt*hn,U[14]=Qt*mt*hn}else U[10]=-1,U[14]=-mt;return U}function xt(U,de,vt,mt){var Qt=Math.tan(de.upDegrees*Math.PI/180),jt=Math.tan(de.downDegrees*Math.PI/180),hn=Math.tan(de.leftDegrees*Math.PI/180),ze=Math.tan(de.rightDegrees*Math.PI/180),he=2/(hn+ze),qe=2/(Qt+jt);return U[0]=he,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=qe,U[6]=0,U[7]=0,U[8]=-((hn-ze)*he*.5),U[9]=(Qt-jt)*qe*.5,U[10]=mt/(vt-mt),U[11]=-1,U[12]=0,U[13]=0,U[14]=mt*vt/(vt-mt),U[15]=0,U}function Pt(U,de,vt,mt,Qt,jt,hn){var ze=1/(de-vt),he=1/(mt-Qt),qe=1/(jt-hn);return U[0]=-2*ze,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=-2*he,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[10]=2*qe,U[11]=0,U[12]=(de+vt)*ze,U[13]=(Qt+mt)*he,U[14]=(hn+jt)*qe,U[15]=1,U}var tn=Pt;function pt(U,de,vt,mt,Qt,jt,hn){var ze=1/(de-vt),he=1/(mt-Qt),qe=1/(jt-hn);return U[0]=-2*ze,U[1]=0,U[2]=0,U[3]=0,U[4]=0,U[5]=-2*he,U[6]=0,U[7]=0,U[8]=0,U[9]=0,U[10]=qe,U[11]=0,U[12]=(de+vt)*ze,U[13]=(Qt+mt)*he,U[14]=jt*qe,U[15]=1,U}function lt(U,de,vt,mt){var Qt,jt,hn,ze,he,qe,ct,je,Xe,dt,Tt=de[0],Mt=de[1],It=de[2],an=mt[0],In=mt[1],_n=mt[2],er=vt[0],Mr=vt[1],hr=vt[2];return Math.abs(Tt-er)0&&(dt=1/Math.sqrt(dt),ct*=dt,je*=dt,Xe*=dt);var Tt=he*Xe-qe*je,Mt=qe*ct-ze*Xe,It=ze*je-he*ct;return dt=Tt*Tt+Mt*Mt+It*It,dt>0&&(dt=1/Math.sqrt(dt),Tt*=dt,Mt*=dt,It*=dt),U[0]=Tt,U[1]=Mt,U[2]=It,U[3]=0,U[4]=je*It-Xe*Mt,U[5]=Xe*Tt-ct*It,U[6]=ct*Mt-je*Tt,U[7]=0,U[8]=ct,U[9]=je,U[10]=Xe,U[11]=0,U[12]=Qt,U[13]=jt,U[14]=hn,U[15]=1,U}function re(U){return"mat4("+U[0]+", "+U[1]+", "+U[2]+", "+U[3]+", "+U[4]+", "+U[5]+", "+U[6]+", "+U[7]+", "+U[8]+", "+U[9]+", "+U[10]+", "+U[11]+", "+U[12]+", "+U[13]+", "+U[14]+", "+U[15]+")"}function Ie(U){return Math.sqrt(U[0]*U[0]+U[1]*U[1]+U[2]*U[2]+U[3]*U[3]+U[4]*U[4]+U[5]*U[5]+U[6]*U[6]+U[7]*U[7]+U[8]*U[8]+U[9]*U[9]+U[10]*U[10]+U[11]*U[11]+U[12]*U[12]+U[13]*U[13]+U[14]*U[14]+U[15]*U[15])}function Ct(U,de,vt){return U[0]=de[0]+vt[0],U[1]=de[1]+vt[1],U[2]=de[2]+vt[2],U[3]=de[3]+vt[3],U[4]=de[4]+vt[4],U[5]=de[5]+vt[5],U[6]=de[6]+vt[6],U[7]=de[7]+vt[7],U[8]=de[8]+vt[8],U[9]=de[9]+vt[9],U[10]=de[10]+vt[10],U[11]=de[11]+vt[11],U[12]=de[12]+vt[12],U[13]=de[13]+vt[13],U[14]=de[14]+vt[14],U[15]=de[15]+vt[15],U}function Nt(U,de,vt){return U[0]=de[0]-vt[0],U[1]=de[1]-vt[1],U[2]=de[2]-vt[2],U[3]=de[3]-vt[3],U[4]=de[4]-vt[4],U[5]=de[5]-vt[5],U[6]=de[6]-vt[6],U[7]=de[7]-vt[7],U[8]=de[8]-vt[8],U[9]=de[9]-vt[9],U[10]=de[10]-vt[10],U[11]=de[11]-vt[11],U[12]=de[12]-vt[12],U[13]=de[13]-vt[13],U[14]=de[14]-vt[14],U[15]=de[15]-vt[15],U}function ht(U,de,vt){return U[0]=de[0]*vt,U[1]=de[1]*vt,U[2]=de[2]*vt,U[3]=de[3]*vt,U[4]=de[4]*vt,U[5]=de[5]*vt,U[6]=de[6]*vt,U[7]=de[7]*vt,U[8]=de[8]*vt,U[9]=de[9]*vt,U[10]=de[10]*vt,U[11]=de[11]*vt,U[12]=de[12]*vt,U[13]=de[13]*vt,U[14]=de[14]*vt,U[15]=de[15]*vt,U}function Wt(U,de,vt,mt){return U[0]=de[0]+vt[0]*mt,U[1]=de[1]+vt[1]*mt,U[2]=de[2]+vt[2]*mt,U[3]=de[3]+vt[3]*mt,U[4]=de[4]+vt[4]*mt,U[5]=de[5]+vt[5]*mt,U[6]=de[6]+vt[6]*mt,U[7]=de[7]+vt[7]*mt,U[8]=de[8]+vt[8]*mt,U[9]=de[9]+vt[9]*mt,U[10]=de[10]+vt[10]*mt,U[11]=de[11]+vt[11]*mt,U[12]=de[12]+vt[12]*mt,U[13]=de[13]+vt[13]*mt,U[14]=de[14]+vt[14]*mt,U[15]=de[15]+vt[15]*mt,U}function zt(U,de){return U[0]===de[0]&&U[1]===de[1]&&U[2]===de[2]&&U[3]===de[3]&&U[4]===de[4]&&U[5]===de[5]&&U[6]===de[6]&&U[7]===de[7]&&U[8]===de[8]&&U[9]===de[9]&&U[10]===de[10]&&U[11]===de[11]&&U[12]===de[12]&&U[13]===de[13]&&U[14]===de[14]&&U[15]===de[15]}function De(U,de){var vt=U[0],mt=U[1],Qt=U[2],jt=U[3],hn=U[4],ze=U[5],he=U[6],qe=U[7],ct=U[8],je=U[9],Xe=U[10],dt=U[11],Tt=U[12],Mt=U[13],It=U[14],an=U[15],In=de[0],_n=de[1],er=de[2],Mr=de[3],hr=de[4],di=de[5],br=de[6],ri=de[7],Ir=de[8],Vi=de[9],fi=de[10],on=de[11],Yt=de[12],Vt=de[13],gt=de[14],yt=de[15];return Math.abs(vt-In)<=m.Ib*Math.max(1,Math.abs(vt),Math.abs(In))&&Math.abs(mt-_n)<=m.Ib*Math.max(1,Math.abs(mt),Math.abs(_n))&&Math.abs(Qt-er)<=m.Ib*Math.max(1,Math.abs(Qt),Math.abs(er))&&Math.abs(jt-Mr)<=m.Ib*Math.max(1,Math.abs(jt),Math.abs(Mr))&&Math.abs(hn-hr)<=m.Ib*Math.max(1,Math.abs(hn),Math.abs(hr))&&Math.abs(ze-di)<=m.Ib*Math.max(1,Math.abs(ze),Math.abs(di))&&Math.abs(he-br)<=m.Ib*Math.max(1,Math.abs(he),Math.abs(br))&&Math.abs(qe-ri)<=m.Ib*Math.max(1,Math.abs(qe),Math.abs(ri))&&Math.abs(ct-Ir)<=m.Ib*Math.max(1,Math.abs(ct),Math.abs(Ir))&&Math.abs(je-Vi)<=m.Ib*Math.max(1,Math.abs(je),Math.abs(Vi))&&Math.abs(Xe-fi)<=m.Ib*Math.max(1,Math.abs(Xe),Math.abs(fi))&&Math.abs(dt-on)<=m.Ib*Math.max(1,Math.abs(dt),Math.abs(on))&&Math.abs(Tt-Yt)<=m.Ib*Math.max(1,Math.abs(Tt),Math.abs(Yt))&&Math.abs(Mt-Vt)<=m.Ib*Math.max(1,Math.abs(Mt),Math.abs(Vt))&&Math.abs(It-gt)<=m.Ib*Math.max(1,Math.abs(It),Math.abs(gt))&&Math.abs(an-yt)<=m.Ib*Math.max(1,Math.abs(an),Math.abs(yt))}var ft=z,bt=Nt},94569:function(Re,xe,v){"use strict";v.d(xe,{Fv:function(){return xt},JG:function(){return $t},Jp:function(){return T},Su:function(){return be},U_:function(){return Ze},Ue:function(){return _},al:function(){return it},dC:function(){return vn},t8:function(){return cn},yY:function(){return E}});var m=v(85551),O=v(79111),B=v(92421),R=v(97082);function _(){var re=new m.WT(4);return m.WT!=Float32Array&&(re[0]=0,re[1]=0,re[2]=0),re[3]=1,re}function I(re){return re[0]=0,re[1]=0,re[2]=0,re[3]=1,re}function E(re,Ie,Ct){Ct=Ct*.5;var Nt=Math.sin(Ct);return re[0]=Nt*Ie[0],re[1]=Nt*Ie[1],re[2]=Nt*Ie[2],re[3]=Math.cos(Ct),re}function N(re,Ie){var Ct=Math.acos(Ie[3])*2,Nt=Math.sin(Ct/2);return Nt>glMatrix.EPSILON?(re[0]=Ie[0]/Nt,re[1]=Ie[1]/Nt,re[2]=Ie[2]/Nt):(re[0]=1,re[1]=0,re[2]=0),Ct}function F(re,Ie){var Ct=xn(re,Ie);return Math.acos(2*Ct*Ct-1)}function T(re,Ie,Ct){var Nt=Ie[0],ht=Ie[1],Wt=Ie[2],zt=Ie[3],De=Ct[0],ft=Ct[1],bt=Ct[2],U=Ct[3];return re[0]=Nt*U+zt*De+ht*bt-Wt*ft,re[1]=ht*U+zt*ft+Wt*De-Nt*bt,re[2]=Wt*U+zt*bt+Nt*ft-ht*De,re[3]=zt*U-Nt*De-ht*ft-Wt*bt,re}function D(re,Ie,Ct){Ct*=.5;var Nt=Ie[0],ht=Ie[1],Wt=Ie[2],zt=Ie[3],De=Math.sin(Ct),ft=Math.cos(Ct);return re[0]=Nt*ft+zt*De,re[1]=ht*ft+Wt*De,re[2]=Wt*ft-ht*De,re[3]=zt*ft-Nt*De,re}function z(re,Ie,Ct){Ct*=.5;var Nt=Ie[0],ht=Ie[1],Wt=Ie[2],zt=Ie[3],De=Math.sin(Ct),ft=Math.cos(Ct);return re[0]=Nt*ft-Wt*De,re[1]=ht*ft+zt*De,re[2]=Wt*ft+Nt*De,re[3]=zt*ft-ht*De,re}function ee(re,Ie,Ct){Ct*=.5;var Nt=Ie[0],ht=Ie[1],Wt=Ie[2],zt=Ie[3],De=Math.sin(Ct),ft=Math.cos(Ct);return re[0]=Nt*ft+ht*De,re[1]=ht*ft-Nt*De,re[2]=Wt*ft+zt*De,re[3]=zt*ft-Wt*De,re}function te(re,Ie){var Ct=Ie[0],Nt=Ie[1],ht=Ie[2];return re[0]=Ct,re[1]=Nt,re[2]=ht,re[3]=Math.sqrt(Math.abs(1-Ct*Ct-Nt*Nt-ht*ht)),re}function ge(re,Ie){var Ct=Ie[0],Nt=Ie[1],ht=Ie[2],Wt=Ie[3],zt=Math.sqrt(Ct*Ct+Nt*Nt+ht*ht),De=Math.exp(Wt),ft=zt>0?De*Math.sin(zt)/zt:0;return re[0]=Ct*ft,re[1]=Nt*ft,re[2]=ht*ft,re[3]=De*Math.cos(zt),re}function pe(re,Ie){var Ct=Ie[0],Nt=Ie[1],ht=Ie[2],Wt=Ie[3],zt=Math.sqrt(Ct*Ct+Nt*Nt+ht*ht),De=zt>0?Math.atan2(zt,Wt)/zt:0;return re[0]=Ct*De,re[1]=Nt*De,re[2]=ht*De,re[3]=.5*Math.log(Ct*Ct+Nt*Nt+ht*ht+Wt*Wt),re}function fe(re,Ie,Ct){return pe(re,Ie),Qn(re,re,Ct),ge(re,re),re}function Le(re,Ie,Ct,Nt){var ht=Ie[0],Wt=Ie[1],zt=Ie[2],De=Ie[3],ft=Ct[0],bt=Ct[1],U=Ct[2],de=Ct[3],vt,mt,Qt,jt,hn;return mt=ht*ft+Wt*bt+zt*U+De*de,mt<0&&(mt=-mt,ft=-ft,bt=-bt,U=-U,de=-de),1-mt>m.Ib?(vt=Math.acos(mt),Qt=Math.sin(vt),jt=Math.sin((1-Nt)*vt)/Qt,hn=Math.sin(Nt*vt)/Qt):(jt=1-Nt,hn=Nt),re[0]=jt*ht+hn*ft,re[1]=jt*Wt+hn*bt,re[2]=jt*zt+hn*U,re[3]=jt*De+hn*de,re}function Me(re){var Ie=glMatrix.RANDOM(),Ct=glMatrix.RANDOM(),Nt=glMatrix.RANDOM(),ht=Math.sqrt(1-Ie),Wt=Math.sqrt(Ie);return re[0]=ht*Math.sin(2*Math.PI*Ct),re[1]=ht*Math.cos(2*Math.PI*Ct),re[2]=Wt*Math.sin(2*Math.PI*Nt),re[3]=Wt*Math.cos(2*Math.PI*Nt),re}function Ze(re,Ie){var Ct=Ie[0],Nt=Ie[1],ht=Ie[2],Wt=Ie[3],zt=Ct*Ct+Nt*Nt+ht*ht+Wt*Wt,De=zt?1/zt:0;return re[0]=-Ct*De,re[1]=-Nt*De,re[2]=-ht*De,re[3]=Wt*De,re}function Ye(re,Ie){return re[0]=-Ie[0],re[1]=-Ie[1],re[2]=-Ie[2],re[3]=Ie[3],re}function Te(re,Ie){var Ct=Ie[0]+Ie[4]+Ie[8],Nt;if(Ct>0)Nt=Math.sqrt(Ct+1),re[3]=.5*Nt,Nt=.5/Nt,re[0]=(Ie[5]-Ie[7])*Nt,re[1]=(Ie[6]-Ie[2])*Nt,re[2]=(Ie[1]-Ie[3])*Nt;else{var ht=0;Ie[4]>Ie[0]&&(ht=1),Ie[8]>Ie[ht*3+ht]&&(ht=2);var Wt=(ht+1)%3,zt=(ht+2)%3;Nt=Math.sqrt(Ie[ht*3+ht]-Ie[Wt*3+Wt]-Ie[zt*3+zt]+1),re[ht]=.5*Nt,Nt=.5/Nt,re[3]=(Ie[Wt*3+zt]-Ie[zt*3+Wt])*Nt,re[Wt]=(Ie[Wt*3+ht]+Ie[ht*3+Wt])*Nt,re[zt]=(Ie[zt*3+ht]+Ie[ht*3+zt])*Nt}return re}function be(re,Ie,Ct,Nt){var ht=arguments.length>4&&arguments[4]!==void 0?arguments[4]:m.yy,Wt=Math.PI/360;Ie*=Wt,Nt*=Wt,Ct*=Wt;var zt=Math.sin(Ie),De=Math.cos(Ie),ft=Math.sin(Ct),bt=Math.cos(Ct),U=Math.sin(Nt),de=Math.cos(Nt);switch(ht){case"xyz":re[0]=zt*bt*de+De*ft*U,re[1]=De*ft*de-zt*bt*U,re[2]=De*bt*U+zt*ft*de,re[3]=De*bt*de-zt*ft*U;break;case"xzy":re[0]=zt*bt*de-De*ft*U,re[1]=De*ft*de-zt*bt*U,re[2]=De*bt*U+zt*ft*de,re[3]=De*bt*de+zt*ft*U;break;case"yxz":re[0]=zt*bt*de+De*ft*U,re[1]=De*ft*de-zt*bt*U,re[2]=De*bt*U-zt*ft*de,re[3]=De*bt*de+zt*ft*U;break;case"yzx":re[0]=zt*bt*de+De*ft*U,re[1]=De*ft*de+zt*bt*U,re[2]=De*bt*U-zt*ft*de,re[3]=De*bt*de-zt*ft*U;break;case"zxy":re[0]=zt*bt*de-De*ft*U,re[1]=De*ft*de+zt*bt*U,re[2]=De*bt*U+zt*ft*de,re[3]=De*bt*de-zt*ft*U;break;case"zyx":re[0]=zt*bt*de-De*ft*U,re[1]=De*ft*de+zt*bt*U,re[2]=De*bt*U-zt*ft*de,re[3]=De*bt*de+zt*ft*U;break;default:throw new Error("Unknown angle order "+ht)}return re}function Ge(re){return"quat("+re[0]+", "+re[1]+", "+re[2]+", "+re[3]+")"}var Je=R.d9,it=R.al,$t=R.JG,cn=R.t8,Sn=R.IH,vn=T,Qn=R.bA,xn=R.AK,Un=R.t7,ke=R.kE,ot=null,Ht=R.we,On=null,xt=R.Fv,Pt=R.I6;function tn(re,Ie){return Math.abs(vec4.dot(re,Ie))>=1-glMatrix.EPSILON}var pt=function(){var re=B.Ue(),Ie=B.al(1,0,0),Ct=B.al(0,1,0);return function(Nt,ht,Wt){var zt=B.AK(ht,Wt);return zt<-.999999?(B.kC(re,Ie,ht),B.Zh(re)<1e-6&&B.kC(re,Ct,ht),B.Fv(re,re),E(Nt,re,Math.PI),Nt):zt>.999999?(Nt[0]=0,Nt[1]=0,Nt[2]=0,Nt[3]=1,Nt):(B.kC(re,ht,Wt),Nt[0]=re[0],Nt[1]=re[1],Nt[2]=re[2],Nt[3]=1+zt,xt(Nt,Nt))}}(),lt=function(){var re=_(),Ie=_();return function(Ct,Nt,ht,Wt,zt,De){return Le(re,Nt,zt,De),Le(Ie,ht,Wt,De),Le(Ct,re,Ie,2*De*(1-De)),Ct}}(),ae=function(){var re=O.Ue();return function(Ie,Ct,Nt,ht){return re[0]=Nt[0],re[3]=Nt[1],re[6]=Nt[2],re[1]=ht[0],re[4]=ht[1],re[7]=ht[2],re[2]=-Ct[0],re[5]=-Ct[1],re[8]=-Ct[2],xt(Ie,Te(Ie,re))}}()},45545:function(Re,xe,v){"use strict";v.d(xe,{AK:function(){return Je},Fv:function(){return Ge},I6:function(){return xt},JG:function(){return _},Ue:function(){return O},t8:function(){return I}});var m=v(85551);function O(){var ht=new m.WT(2);return m.WT!=Float32Array&&(ht[0]=0,ht[1]=0),ht}function B(ht){var Wt=new glMatrix.ARRAY_TYPE(2);return Wt[0]=ht[0],Wt[1]=ht[1],Wt}function R(ht,Wt){var zt=new glMatrix.ARRAY_TYPE(2);return zt[0]=ht,zt[1]=Wt,zt}function _(ht,Wt){return ht[0]=Wt[0],ht[1]=Wt[1],ht}function I(ht,Wt,zt){return ht[0]=Wt,ht[1]=zt,ht}function E(ht,Wt,zt){return ht[0]=Wt[0]+zt[0],ht[1]=Wt[1]+zt[1],ht}function N(ht,Wt,zt){return ht[0]=Wt[0]-zt[0],ht[1]=Wt[1]-zt[1],ht}function F(ht,Wt,zt){return ht[0]=Wt[0]*zt[0],ht[1]=Wt[1]*zt[1],ht}function T(ht,Wt,zt){return ht[0]=Wt[0]/zt[0],ht[1]=Wt[1]/zt[1],ht}function D(ht,Wt){return ht[0]=Math.ceil(Wt[0]),ht[1]=Math.ceil(Wt[1]),ht}function z(ht,Wt){return ht[0]=Math.floor(Wt[0]),ht[1]=Math.floor(Wt[1]),ht}function ee(ht,Wt,zt){return ht[0]=Math.min(Wt[0],zt[0]),ht[1]=Math.min(Wt[1],zt[1]),ht}function te(ht,Wt,zt){return ht[0]=Math.max(Wt[0],zt[0]),ht[1]=Math.max(Wt[1],zt[1]),ht}function ge(ht,Wt){return ht[0]=glMatrix.round(Wt[0]),ht[1]=glMatrix.round(Wt[1]),ht}function pe(ht,Wt,zt){return ht[0]=Wt[0]*zt,ht[1]=Wt[1]*zt,ht}function fe(ht,Wt,zt,De){return ht[0]=Wt[0]+zt[0]*De,ht[1]=Wt[1]+zt[1]*De,ht}function Le(ht,Wt){var zt=Wt[0]-ht[0],De=Wt[1]-ht[1];return Math.sqrt(zt*zt+De*De)}function Me(ht,Wt){var zt=Wt[0]-ht[0],De=Wt[1]-ht[1];return zt*zt+De*De}function Ze(ht){var Wt=ht[0],zt=ht[1];return Math.sqrt(Wt*Wt+zt*zt)}function Ye(ht){var Wt=ht[0],zt=ht[1];return Wt*Wt+zt*zt}function Te(ht,Wt){return ht[0]=-Wt[0],ht[1]=-Wt[1],ht}function be(ht,Wt){return ht[0]=1/Wt[0],ht[1]=1/Wt[1],ht}function Ge(ht,Wt){var zt=Wt[0],De=Wt[1],ft=zt*zt+De*De;return ft>0&&(ft=1/Math.sqrt(ft)),ht[0]=Wt[0]*ft,ht[1]=Wt[1]*ft,ht}function Je(ht,Wt){return ht[0]*Wt[0]+ht[1]*Wt[1]}function it(ht,Wt,zt){var De=Wt[0]*zt[1]-Wt[1]*zt[0];return ht[0]=ht[1]=0,ht[2]=De,ht}function $t(ht,Wt,zt,De){var ft=Wt[0],bt=Wt[1];return ht[0]=ft+De*(zt[0]-ft),ht[1]=bt+De*(zt[1]-bt),ht}function cn(ht,Wt){Wt=Wt===void 0?1:Wt;var zt=glMatrix.RANDOM()*2*Math.PI;return ht[0]=Math.cos(zt)*Wt,ht[1]=Math.sin(zt)*Wt,ht}function Sn(ht,Wt,zt){var De=Wt[0],ft=Wt[1];return ht[0]=zt[0]*De+zt[2]*ft,ht[1]=zt[1]*De+zt[3]*ft,ht}function vn(ht,Wt,zt){var De=Wt[0],ft=Wt[1];return ht[0]=zt[0]*De+zt[2]*ft+zt[4],ht[1]=zt[1]*De+zt[3]*ft+zt[5],ht}function Qn(ht,Wt,zt){var De=Wt[0],ft=Wt[1];return ht[0]=zt[0]*De+zt[3]*ft+zt[6],ht[1]=zt[1]*De+zt[4]*ft+zt[7],ht}function xn(ht,Wt,zt){var De=Wt[0],ft=Wt[1];return ht[0]=zt[0]*De+zt[4]*ft+zt[12],ht[1]=zt[1]*De+zt[5]*ft+zt[13],ht}function Un(ht,Wt,zt,De){var ft=Wt[0]-zt[0],bt=Wt[1]-zt[1],U=Math.sin(De),de=Math.cos(De);return ht[0]=ft*de-bt*U+zt[0],ht[1]=ft*U+bt*de+zt[1],ht}function ke(ht,Wt){var zt=ht[0],De=ht[1],ft=Wt[0],bt=Wt[1];return Math.abs(Math.atan2(De*ft-zt*bt,zt*ft+De*bt))}function ot(ht,Wt){var zt=ht[0],De=ht[1],ft=Wt[0],bt=Wt[1];return Math.atan2(zt*bt-De*ft,zt*ft+De*bt)}function Ht(ht){return ht[0]=0,ht[1]=0,ht}function On(ht){return"vec2("+ht[0]+", "+ht[1]+")"}function xt(ht,Wt){return ht[0]===Wt[0]&&ht[1]===Wt[1]}function Pt(ht,Wt){var zt=ht[0],De=ht[1],ft=Wt[0],bt=Wt[1];return Math.abs(zt-ft)<=glMatrix.EPSILON*Math.max(1,Math.abs(zt),Math.abs(ft))&&Math.abs(De-bt)<=glMatrix.EPSILON*Math.max(1,Math.abs(De),Math.abs(bt))}var tn=null,pt=null,lt=null,ae=null,re=null,Ie=null,Ct=null,Nt=function(){var ht=O();return function(Wt,zt,De,ft,bt,U){var de,vt;for(zt||(zt=2),De||(De=0),ft?vt=Math.min(ft*zt+De,Wt.length):vt=Wt.length,de=De;de0&&(vt=1/Math.sqrt(vt)),De[0]=ft[0]*vt,De[1]=ft[1]*vt,De[2]=ft[2]*vt,De}function Je(De,ft){return De[0]*ft[0]+De[1]*ft[1]+De[2]*ft[2]}function it(De,ft,bt){var U=ft[0],de=ft[1],vt=ft[2],mt=bt[0],Qt=bt[1],jt=bt[2];return De[0]=de*jt-vt*Qt,De[1]=vt*mt-U*jt,De[2]=U*Qt-de*mt,De}function $t(De,ft,bt,U){var de=ft[0],vt=ft[1],mt=ft[2];return De[0]=de+U*(bt[0]-de),De[1]=vt+U*(bt[1]-vt),De[2]=mt+U*(bt[2]-mt),De}function cn(De,ft,bt,U){var de=Math.acos(Math.min(Math.max(Je(ft,bt),-1),1)),vt=Math.sin(de),mt=Math.sin((1-U)*de)/vt,Qt=Math.sin(U*de)/vt;return De[0]=mt*ft[0]+Qt*bt[0],De[1]=mt*ft[1]+Qt*bt[1],De[2]=mt*ft[2]+Qt*bt[2],De}function Sn(De,ft,bt,U,de,vt){var mt=vt*vt,Qt=mt*(2*vt-3)+1,jt=mt*(vt-2)+vt,hn=mt*(vt-1),ze=mt*(3-2*vt);return De[0]=ft[0]*Qt+bt[0]*jt+U[0]*hn+de[0]*ze,De[1]=ft[1]*Qt+bt[1]*jt+U[1]*hn+de[1]*ze,De[2]=ft[2]*Qt+bt[2]*jt+U[2]*hn+de[2]*ze,De}function vn(De,ft,bt,U,de,vt){var mt=1-vt,Qt=mt*mt,jt=vt*vt,hn=Qt*mt,ze=3*vt*Qt,he=3*jt*mt,qe=jt*vt;return De[0]=ft[0]*hn+bt[0]*ze+U[0]*he+de[0]*qe,De[1]=ft[1]*hn+bt[1]*ze+U[1]*he+de[1]*qe,De[2]=ft[2]*hn+bt[2]*ze+U[2]*he+de[2]*qe,De}function Qn(De,ft){ft=ft===void 0?1:ft;var bt=glMatrix.RANDOM()*2*Math.PI,U=glMatrix.RANDOM()*2-1,de=Math.sqrt(1-U*U)*ft;return De[0]=Math.cos(bt)*de,De[1]=Math.sin(bt)*de,De[2]=U*ft,De}function xn(De,ft,bt){var U=ft[0],de=ft[1],vt=ft[2],mt=bt[3]*U+bt[7]*de+bt[11]*vt+bt[15];return mt=mt||1,De[0]=(bt[0]*U+bt[4]*de+bt[8]*vt+bt[12])/mt,De[1]=(bt[1]*U+bt[5]*de+bt[9]*vt+bt[13])/mt,De[2]=(bt[2]*U+bt[6]*de+bt[10]*vt+bt[14])/mt,De}function Un(De,ft,bt){var U=ft[0],de=ft[1],vt=ft[2];return De[0]=U*bt[0]+de*bt[3]+vt*bt[6],De[1]=U*bt[1]+de*bt[4]+vt*bt[7],De[2]=U*bt[2]+de*bt[5]+vt*bt[8],De}function ke(De,ft,bt){var U=bt[0],de=bt[1],vt=bt[2],mt=bt[3],Qt=ft[0],jt=ft[1],hn=ft[2],ze=de*hn-vt*jt,he=vt*Qt-U*hn,qe=U*jt-de*Qt;return ze=ze+ze,he=he+he,qe=qe+qe,De[0]=Qt+mt*ze+de*qe-vt*he,De[1]=jt+mt*he+vt*ze-U*qe,De[2]=hn+mt*qe+U*he-de*ze,De}function ot(De,ft,bt,U){var de=[],vt=[];return de[0]=ft[0]-bt[0],de[1]=ft[1]-bt[1],de[2]=ft[2]-bt[2],vt[0]=de[0],vt[1]=de[1]*Math.cos(U)-de[2]*Math.sin(U),vt[2]=de[1]*Math.sin(U)+de[2]*Math.cos(U),De[0]=vt[0]+bt[0],De[1]=vt[1]+bt[1],De[2]=vt[2]+bt[2],De}function Ht(De,ft,bt,U){var de=[],vt=[];return de[0]=ft[0]-bt[0],de[1]=ft[1]-bt[1],de[2]=ft[2]-bt[2],vt[0]=de[2]*Math.sin(U)+de[0]*Math.cos(U),vt[1]=de[1],vt[2]=de[2]*Math.cos(U)-de[0]*Math.sin(U),De[0]=vt[0]+bt[0],De[1]=vt[1]+bt[1],De[2]=vt[2]+bt[2],De}function On(De,ft,bt,U){var de=[],vt=[];return de[0]=ft[0]-bt[0],de[1]=ft[1]-bt[1],de[2]=ft[2]-bt[2],vt[0]=de[0]*Math.cos(U)-de[1]*Math.sin(U),vt[1]=de[0]*Math.sin(U)+de[1]*Math.cos(U),vt[2]=de[2],De[0]=vt[0]+bt[0],De[1]=vt[1]+bt[1],De[2]=vt[2]+bt[2],De}function xt(De,ft){var bt=De[0],U=De[1],de=De[2],vt=ft[0],mt=ft[1],Qt=ft[2],jt=Math.sqrt((bt*bt+U*U+de*de)*(vt*vt+mt*mt+Qt*Qt)),hn=jt&&Je(De,ft)/jt;return Math.acos(Math.min(Math.max(hn,-1),1))}function Pt(De){return De[0]=0,De[1]=0,De[2]=0,De}function tn(De){return"vec3("+De[0]+", "+De[1]+", "+De[2]+")"}function pt(De,ft){return De[0]===ft[0]&&De[1]===ft[1]&&De[2]===ft[2]}function lt(De,ft){var bt=De[0],U=De[1],de=De[2],vt=ft[0],mt=ft[1],Qt=ft[2];return Math.abs(bt-vt)<=m.Ib*Math.max(1,Math.abs(bt),Math.abs(vt))&&Math.abs(U-mt)<=m.Ib*Math.max(1,Math.abs(U),Math.abs(mt))&&Math.abs(de-Qt)<=m.Ib*Math.max(1,Math.abs(de),Math.abs(Qt))}var ae=F,re=null,Ie=null,Ct=Me,Nt=null,ht=R,Wt=null,zt=function(){var De=O();return function(ft,bt,U,de,vt,mt){var Qt,jt;for(bt||(bt=3),U||(U=0),de?jt=Math.min(de*bt+U,ft.length):jt=ft.length,Qt=U;Qt0&&(Wt=1/Math.sqrt(Wt)),ae[0]=Ie*Wt,ae[1]=Ct*Wt,ae[2]=Nt*Wt,ae[3]=ht*Wt,ae}function Je(ae,re){return ae[0]*re[0]+ae[1]*re[1]+ae[2]*re[2]+ae[3]*re[3]}function it(ae,re,Ie,Ct){var Nt=Ie[0]*Ct[1]-Ie[1]*Ct[0],ht=Ie[0]*Ct[2]-Ie[2]*Ct[0],Wt=Ie[0]*Ct[3]-Ie[3]*Ct[0],zt=Ie[1]*Ct[2]-Ie[2]*Ct[1],De=Ie[1]*Ct[3]-Ie[3]*Ct[1],ft=Ie[2]*Ct[3]-Ie[3]*Ct[2],bt=re[0],U=re[1],de=re[2],vt=re[3];return ae[0]=U*ft-de*De+vt*zt,ae[1]=-(bt*ft)+de*Wt-vt*ht,ae[2]=bt*De-U*Wt+vt*Nt,ae[3]=-(bt*zt)+U*ht-de*Nt,ae}function $t(ae,re,Ie,Ct){var Nt=re[0],ht=re[1],Wt=re[2],zt=re[3];return ae[0]=Nt+Ct*(Ie[0]-Nt),ae[1]=ht+Ct*(Ie[1]-ht),ae[2]=Wt+Ct*(Ie[2]-Wt),ae[3]=zt+Ct*(Ie[3]-zt),ae}function cn(ae,re){re=re===void 0?1:re;var Ie,Ct,Nt,ht,Wt,zt,De;De=glMatrix.RANDOM(),Ie=De*2-1,Ct=(4*glMatrix.RANDOM()-2)*Math.sqrt(De*-De+De),Wt=Ie*Ie+Ct*Ct,De=glMatrix.RANDOM(),Nt=De*2-1,ht=(4*glMatrix.RANDOM()-2)*Math.sqrt(De*-De+De),zt=Nt*Nt+ht*ht;var ft=Math.sqrt((1-Wt)/zt);return ae[0]=re*Ie,ae[1]=re*Ct,ae[2]=re*Nt*ft,ae[3]=re*ht*ft,ae}function Sn(ae,re,Ie){var Ct=re[0],Nt=re[1],ht=re[2],Wt=re[3];return ae[0]=Ie[0]*Ct+Ie[4]*Nt+Ie[8]*ht+Ie[12]*Wt,ae[1]=Ie[1]*Ct+Ie[5]*Nt+Ie[9]*ht+Ie[13]*Wt,ae[2]=Ie[2]*Ct+Ie[6]*Nt+Ie[10]*ht+Ie[14]*Wt,ae[3]=Ie[3]*Ct+Ie[7]*Nt+Ie[11]*ht+Ie[15]*Wt,ae}function vn(ae,re,Ie){var Ct=Ie[0],Nt=Ie[1],ht=Ie[2],Wt=Ie[3],zt=re[0],De=re[1],ft=re[2],bt=Nt*ft-ht*De,U=ht*zt-Ct*ft,de=Ct*De-Nt*zt;return bt=bt+bt,U=U+U,de=de+de,ae[0]=zt+Wt*bt+Nt*de-ht*U,ae[1]=De+Wt*U+ht*bt-Ct*de,ae[2]=ft+Wt*de+Ct*U-Nt*bt,ae[3]=re[3],ae}function Qn(ae){return ae[0]=0,ae[1]=0,ae[2]=0,ae[3]=0,ae}function xn(ae){return"vec4("+ae[0]+", "+ae[1]+", "+ae[2]+", "+ae[3]+")"}function Un(ae,re){return ae[0]===re[0]&&ae[1]===re[1]&&ae[2]===re[2]&&ae[3]===re[3]}function ke(ae,re){var Ie=ae[0],Ct=ae[1],Nt=ae[2],ht=ae[3],Wt=re[0],zt=re[1],De=re[2],ft=re[3];return Math.abs(Ie-Wt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ie),Math.abs(Wt))&&Math.abs(Ct-zt)<=glMatrix.EPSILON*Math.max(1,Math.abs(Ct),Math.abs(zt))&&Math.abs(Nt-De)<=glMatrix.EPSILON*Math.max(1,Math.abs(Nt),Math.abs(De))&&Math.abs(ht-ft)<=glMatrix.EPSILON*Math.max(1,Math.abs(ht),Math.abs(ft))}var ot=null,Ht=null,On=null,xt=null,Pt=null,tn=null,pt=null,lt=function(){var ae=O();return function(re,Ie,Ct,Nt,ht,Wt){var zt,De;for(Ie||(Ie=4),Ct||(Ct=0),Nt?De=Math.min(Nt*Ie+Ct,re.length):De=re.length,zt=Ct;zt0&&(z=D.removeMin(),ee=T[z],ee.distance!==Number.POSITIVE_INFINITY);)F(z).forEach(te);return T}},59324:function(Re,xe,v){var m=v(95329),O=v(94558);Re.exports=B;function B(R){return m.filter(O(R),function(_){return _.length>1||_.length===1&&R.hasEdge(_[0],_[0])})}},22893:function(Re,xe,v){var m=v(95329);Re.exports=B;var O=m.constant(1);function B(_,I,E){return R(_,I||O,E||function(N){return _.outEdges(N)})}function R(_,I,E){var N={},F=_.nodes();return F.forEach(function(T){N[T]={},N[T][T]={distance:0},F.forEach(function(D){T!==D&&(N[T][D]={distance:Number.POSITIVE_INFINITY})}),E(T).forEach(function(D){var z=D.v===T?D.w:D.v,ee=I(D);N[T][z]={distance:ee,predecessor:T}})}),F.forEach(function(T){var D=N[T];F.forEach(function(z){var ee=N[z];F.forEach(function(te){var ge=ee[T],pe=D[te],fe=ee[te],Le=ge.distance+pe.distance;Le0;){if(T=F.removeMin(),m.has(N,T))E.setEdge(T,N[T]);else{if(z)throw new Error("Input graph is not connected: "+_);z=!0}_.nodeEdges(T).forEach(D)}return E}},94558:function(Re,xe,v){var m=v(95329);Re.exports=O;function O(B){var R=0,_=[],I={},E=[];function N(F){var T=I[F]={onStack:!0,lowlink:R,index:R++};if(_.push(F),B.successors(F).forEach(function(ee){m.has(I,ee)?I[ee].onStack&&(T.lowlink=Math.min(T.lowlink,I[ee].index)):(N(ee),T.lowlink=Math.min(T.lowlink,I[ee].lowlink))}),T.lowlink===T.index){var D=[],z;do z=_.pop(),I[z].onStack=!1,D.push(z);while(F!==z);E.push(D)}}return B.nodes().forEach(function(F){m.has(I,F)||N(F)}),E}},7793:function(Re,xe,v){var m=v(95329);Re.exports=O,O.CycleException=B;function O(R){var _={},I={},E=[];function N(F){if(m.has(I,F))throw new B;m.has(_,F)||(I[F]=!0,_[F]=!0,m.each(R.predecessors(F),N),delete I[F],E.push(F))}if(m.each(R.sinks(),N),m.size(_)!==R.nodeCount())throw new B;return E}function B(){}B.prototype=new Error},36614:function(Re,xe,v){var m=v(95329);Re.exports=O;function O(){this._arr=[],this._keyIndices={}}O.prototype.size=function(){return this._arr.length},O.prototype.keys=function(){return this._arr.map(function(B){return B.key})},O.prototype.has=function(B){return m.has(this._keyIndices,B)},O.prototype.priority=function(B){var R=this._keyIndices[B];if(R!==void 0)return this._arr[R].priority},O.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},O.prototype.add=function(B,R){var _=this._keyIndices;if(B=String(B),!m.has(_,B)){var I=this._arr,E=I.length;return _[B]=E,I.push({key:B,priority:R}),this._decrease(E),!0}return!1},O.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var B=this._arr.pop();return delete this._keyIndices[B.key],this._heapify(0),B.key},O.prototype.decrease=function(B,R){var _=this._keyIndices[B];if(R>this._arr[_].priority)throw new Error("New priority is greater than current priority. Key: "+B+" Old: "+this._arr[_].priority+" New: "+R);this._arr[_].priority=R,this._decrease(_)},O.prototype._heapify=function(B){var R=this._arr,_=2*B,I=_+1,E=B;_>1,!(R[I].priority<_));)this._swap(B,I),B=I},O.prototype._swap=function(B,R){var _=this._arr,I=this._keyIndices,E=_[B],N=_[R];_[B]=N,_[R]=E,I[N.key]=B,I[E.key]=R}},6349:function(Re,xe,v){"use strict";var m=v(95329);Re.exports=_;var O="\0",B="\0",R="";function _(D){this._isDirected=m.has(D,"directed")?D.directed:!0,this._isMultigraph=m.has(D,"multigraph")?D.multigraph:!1,this._isCompound=m.has(D,"compound")?D.compound:!1,this._label=void 0,this._defaultNodeLabelFn=m.constant(void 0),this._defaultEdgeLabelFn=m.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[B]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}_.prototype._nodeCount=0,_.prototype._edgeCount=0,_.prototype.isDirected=function(){return this._isDirected},_.prototype.isMultigraph=function(){return this._isMultigraph},_.prototype.isCompound=function(){return this._isCompound},_.prototype.setGraph=function(D){return this._label=D,this},_.prototype.graph=function(){return this._label},_.prototype.setDefaultNodeLabel=function(D){return m.isFunction(D)||(D=m.constant(D)),this._defaultNodeLabelFn=D,this},_.prototype.nodeCount=function(){return this._nodeCount},_.prototype.nodes=function(){return m.keys(this._nodes)},_.prototype.sources=function(){var D=this;return m.filter(this.nodes(),function(z){return m.isEmpty(D._in[z])})},_.prototype.sinks=function(){var D=this;return m.filter(this.nodes(),function(z){return m.isEmpty(D._out[z])})},_.prototype.setNodes=function(D,z){var ee=arguments,te=this;return m.each(D,function(ge){ee.length>1?te.setNode(ge,z):te.setNode(ge)}),this},_.prototype.setNode=function(D,z){return m.has(this._nodes,D)?(arguments.length>1&&(this._nodes[D]=z),this):(this._nodes[D]=arguments.length>1?z:this._defaultNodeLabelFn(D),this._isCompound&&(this._parent[D]=B,this._children[D]={},this._children[B][D]=!0),this._in[D]={},this._preds[D]={},this._out[D]={},this._sucs[D]={},++this._nodeCount,this)},_.prototype.node=function(D){return this._nodes[D]},_.prototype.hasNode=function(D){return m.has(this._nodes,D)},_.prototype.removeNode=function(D){var z=this;if(m.has(this._nodes,D)){var ee=function(te){z.removeEdge(z._edgeObjs[te])};delete this._nodes[D],this._isCompound&&(this._removeFromParentsChildList(D),delete this._parent[D],m.each(this.children(D),function(te){z.setParent(te)}),delete this._children[D]),m.each(m.keys(this._in[D]),ee),delete this._in[D],delete this._preds[D],m.each(m.keys(this._out[D]),ee),delete this._out[D],delete this._sucs[D],--this._nodeCount}return this},_.prototype.setParent=function(D,z){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(m.isUndefined(z))z=B;else{z+="";for(var ee=z;!m.isUndefined(ee);ee=this.parent(ee))if(ee===D)throw new Error("Setting "+z+" as parent of "+D+" would create a cycle");this.setNode(z)}return this.setNode(D),this._removeFromParentsChildList(D),this._parent[D]=z,this._children[z][D]=!0,this},_.prototype._removeFromParentsChildList=function(D){delete this._children[this._parent[D]][D]},_.prototype.parent=function(D){if(this._isCompound){var z=this._parent[D];if(z!==B)return z}},_.prototype.children=function(D){if(m.isUndefined(D)&&(D=B),this._isCompound){var z=this._children[D];if(z)return m.keys(z)}else{if(D===B)return this.nodes();if(this.hasNode(D))return[]}},_.prototype.predecessors=function(D){var z=this._preds[D];if(z)return m.keys(z)},_.prototype.successors=function(D){var z=this._sucs[D];if(z)return m.keys(z)},_.prototype.neighbors=function(D){var z=this.predecessors(D);if(z)return m.union(z,this.successors(D))},_.prototype.isLeaf=function(D){var z;return this.isDirected()?z=this.successors(D):z=this.neighbors(D),z.length===0},_.prototype.filterNodes=function(D){var z=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});z.setGraph(this.graph());var ee=this;m.each(this._nodes,function(pe,fe){D(fe)&&z.setNode(fe,pe)}),m.each(this._edgeObjs,function(pe){z.hasNode(pe.v)&&z.hasNode(pe.w)&&z.setEdge(pe,ee.edge(pe))});var te={};function ge(pe){var fe=ee.parent(pe);return fe===void 0||z.hasNode(fe)?(te[pe]=fe,fe):fe in te?te[fe]:ge(fe)}return this._isCompound&&m.each(z.nodes(),function(pe){z.setParent(pe,ge(pe))}),z},_.prototype.setDefaultEdgeLabel=function(D){return m.isFunction(D)||(D=m.constant(D)),this._defaultEdgeLabelFn=D,this},_.prototype.edgeCount=function(){return this._edgeCount},_.prototype.edges=function(){return m.values(this._edgeObjs)},_.prototype.setPath=function(D,z){var ee=this,te=arguments;return m.reduce(D,function(ge,pe){return te.length>1?ee.setEdge(ge,pe,z):ee.setEdge(ge,pe),pe}),this},_.prototype.setEdge=function(){var D,z,ee,te,ge=!1,pe=arguments[0];typeof pe=="object"&&pe!==null&&"v"in pe?(D=pe.v,z=pe.w,ee=pe.name,arguments.length===2&&(te=arguments[1],ge=!0)):(D=pe,z=arguments[1],ee=arguments[3],arguments.length>2&&(te=arguments[2],ge=!0)),D=""+D,z=""+z,m.isUndefined(ee)||(ee=""+ee);var fe=N(this._isDirected,D,z,ee);if(m.has(this._edgeLabels,fe))return ge&&(this._edgeLabels[fe]=te),this;if(!m.isUndefined(ee)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(D),this.setNode(z),this._edgeLabels[fe]=ge?te:this._defaultEdgeLabelFn(D,z,ee);var Le=F(this._isDirected,D,z,ee);return D=Le.v,z=Le.w,Object.freeze(Le),this._edgeObjs[fe]=Le,I(this._preds[z],D),I(this._sucs[D],z),this._in[z][fe]=Le,this._out[D][fe]=Le,this._edgeCount++,this},_.prototype.edge=function(D,z,ee){var te=arguments.length===1?T(this._isDirected,arguments[0]):N(this._isDirected,D,z,ee);return this._edgeLabels[te]},_.prototype.hasEdge=function(D,z,ee){var te=arguments.length===1?T(this._isDirected,arguments[0]):N(this._isDirected,D,z,ee);return m.has(this._edgeLabels,te)},_.prototype.removeEdge=function(D,z,ee){var te=arguments.length===1?T(this._isDirected,arguments[0]):N(this._isDirected,D,z,ee),ge=this._edgeObjs[te];return ge&&(D=ge.v,z=ge.w,delete this._edgeLabels[te],delete this._edgeObjs[te],E(this._preds[z],D),E(this._sucs[D],z),delete this._in[z][te],delete this._out[D][te],this._edgeCount--),this},_.prototype.inEdges=function(D,z){var ee=this._in[D];if(ee){var te=m.values(ee);return z?m.filter(te,function(ge){return ge.v===z}):te}},_.prototype.outEdges=function(D,z){var ee=this._out[D];if(ee){var te=m.values(ee);return z?m.filter(te,function(ge){return ge.w===z}):te}},_.prototype.nodeEdges=function(D,z){var ee=this.inEdges(D,z);if(ee)return ee.concat(this.outEdges(D,z))};function I(D,z){D[z]?D[z]++:D[z]=1}function E(D,z){--D[z]||delete D[z]}function N(D,z,ee,te){var ge=""+z,pe=""+ee;if(!D&&ge>pe){var fe=ge;ge=pe,pe=fe}return ge+R+pe+R+(m.isUndefined(te)?O:te)}function F(D,z,ee,te){var ge=""+z,pe=""+ee;if(!D&&ge>pe){var fe=ge;ge=pe,pe=fe}var Le={v:ge,w:pe};return te&&(Le.name=te),Le}function T(D,z){return N(D,z.v,z.w,z.name)}},89224:function(Re,xe,v){Re.exports={Graph:v(6349),version:v(16544)}},17401:function(Re,xe,v){var m=v(95329),O=v(6349);Re.exports={write:B,read:I};function B(E){var N={options:{directed:E.isDirected(),multigraph:E.isMultigraph(),compound:E.isCompound()},nodes:R(E),edges:_(E)};return m.isUndefined(E.graph())||(N.value=m.clone(E.graph())),N}function R(E){return m.map(E.nodes(),function(N){var F=E.node(N),T=E.parent(N),D={v:N};return m.isUndefined(F)||(D.value=F),m.isUndefined(T)||(D.parent=T),D})}function _(E){return m.map(E.edges(),function(N){var F=E.edge(N),T={v:N.v,w:N.w};return m.isUndefined(N.name)||(T.name=N.name),m.isUndefined(F)||(T.value=F),T})}function I(E){var N=new O(E.options).setGraph(E.value);return m.each(E.nodes,function(F){N.setNode(F.v,F.value),F.parent&&N.setParent(F.v,F.parent)}),m.each(E.edges,function(F){N.setEdge({v:F.v,w:F.w,name:F.name},F.value)}),N}},95329:function(Re,xe,v){var m;try{m={clone:v(40633),constant:v(46221),each:v(61475),filter:v(3130),has:v(64760),isArray:v(41594),isEmpty:v(74336),isFunction:v(92581),isUndefined:v(68408),keys:v(66357),map:v(81426),reduce:v(9695),size:v(24727),transform:v(61477),union:v(99477),values:v(72834)}}catch(O){}m||(m=window._),Re.exports=m},16544:function(Re){Re.exports="2.1.8"},64270:function(Re){(function(xe,v){Re.exports=v()})(this,function(){"use strict";var xe=function(G,L){return xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(K,j){K.__proto__=j}||function(K,j){for(var Be in j)Object.prototype.hasOwnProperty.call(j,Be)&&(K[Be]=j[Be])},xe(G,L)};function v(G,L){if(typeof L!="function"&&L!==null)throw new TypeError("Class extends value "+String(L)+" is not a constructor or null");xe(G,L);function K(){this.constructor=G}G.prototype=L===null?Object.create(L):(K.prototype=L.prototype,new K)}var m=function(){return m=Object.assign||function(L){for(var K,j=1,Be=arguments.length;j0&&st[st.length-1])&&(ar[0]===6||ar[0]===2)){K=0;continue}if(ar[0]===3&&(!st||ar[1]>st[0]&&ar[1]=55296&&Be<=56319&&K>10)+55296,kt%1024+56320)),(Be+1===K||j.length>16384)&&(st+=String.fromCharCode.apply(String,j),j.length=0)}return st},T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",D=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),z=0;z>4,pr[Be++]=(kt&15)<<4|fn>>2,pr[Be++]=(fn&3)<<6|pn&63;return ar},fe=function(G){for(var L=G.length,K=[],j=0;j>Me,Ge=1<>Me,$t=be+it,cn=$t,Sn=32,vn=cn+Sn,Qn=65536>>Ze,xn=1<=0){if(L<55296||L>56319&&L<=65535)return K=this.index[L>>Me],K=(K<>Me)],K=(K<>Ze),K=this.index[K],K+=L>>Me&Un,K=this.index[K],K=(K<lt?(Be.push(!0),fn-=lt):Be.push(!1),["normal","auto","loose"].indexOf(L)!==-1&&[8208,8211,12316,12448].indexOf(st)!==-1)return j.push(kt),K.push(mt);if(fn===Ct||fn===ft){if(kt===0)return j.push(kt),K.push(an);var pn=K[kt-1];return Qr.indexOf(pn)===-1?(j.push(j[kt-1]),K.push(pn)):(j.push(kt),K.push(an))}if(j.push(kt),fn===In)return K.push(L==="strict"?he:br);if(fn===on||fn===It)return K.push(an);if(fn===Yt)return st>=131072&&st<=196605||st>=196608&&st<=262141?K.push(br):K.push(an);K.push(fn)}),[j,K,Be]},S=function(G,L,K,j){var Be=j[K];if(Array.isArray(G)?G.indexOf(Be)!==-1:G===Be)for(var st=K;st<=j.length;){st++;var kt=j[st];if(kt===L)return!0;if(kt!==De)break}if(Be===De)for(var st=K;st>0;){st--;var fn=j[st];if(Array.isArray(G)?G.indexOf(fn)!==-1:G===fn)for(var pn=K;pn<=j.length;){pn++;var kt=j[pn];if(kt===L)return!0;if(kt!==De)break}if(fn!==De)break}return!1},H=function(G,L){for(var K=G;K>=0;){var j=L[K];if(j===De)K--;else return j}return 0},J=function(G,L,K,j,Be){if(K[j]===0)return yt;var st=j-1;if(Array.isArray(Be)&&Be[st]===!0)return yt;var kt=st-1,fn=st+1,pn=L[st],ar=kt>=0?L[kt]:0,pr=L[fn];if(pn===re&&pr===Ie)return yt;if(jn.indexOf(pn)!==-1)return gt;if(jn.indexOf(pr)!==-1||Zn.indexOf(pr)!==-1)return yt;if(H(st,L)===Wt)return Ft;if(rn.get(G[st])===ft||(pn===_n||pn===er)&&rn.get(G[fn])===ft||pn===ht||pr===ht||pn===zt||[De,U,vt].indexOf(pn)===-1&&pr===zt||[Qt,jt,hn,je,Mt].indexOf(pr)!==-1||H(st,L)===qe||S(ct,qe,st,L)||S([Qt,jt],he,st,L)||S(bt,bt,st,L))return yt;if(pn===De)return Ft;if(pn===ct||pr===ct)return yt;if(pr===mt||pn===mt)return Ft;if([U,vt,he].indexOf(pr)!==-1||pn===de||ar===di&&V.indexOf(pn)!==-1||pn===Mt&&pr===di||pr===ze||Dt.indexOf(pr)!==-1&&pn===Xe||Dt.indexOf(pn)!==-1&&pr===Xe||pn===Tt&&[br,_n,er].indexOf(pr)!==-1||[br,_n,er].indexOf(pn)!==-1&&pr===dt||Dt.indexOf(pn)!==-1&&Tr.indexOf(pr)!==-1||Tr.indexOf(pn)!==-1&&Dt.indexOf(pr)!==-1||[Tt,dt].indexOf(pn)!==-1&&(pr===Xe||[qe,vt].indexOf(pr)!==-1&&L[fn+1]===Xe)||[qe,vt].indexOf(pn)!==-1&&pr===Xe||pn===Xe&&[Xe,Mt,je].indexOf(pr)!==-1)return yt;if([Xe,Mt,je,Qt,jt].indexOf(pr)!==-1)for(var Dr=st;Dr>=0;){var $r=L[Dr];if($r===Xe)return yt;if([Mt,je].indexOf($r)!==-1)Dr--;else break}if([Tt,dt].indexOf(pr)!==-1)for(var Dr=[Qt,jt].indexOf(pn)!==-1?kt:st;Dr>=0;){var $r=L[Dr];if($r===Xe)return yt;if([Mt,je].indexOf($r)!==-1)Dr--;else break}if(ri===pn&&[ri,Ir,Mr,hr].indexOf(pr)!==-1||[Ir,Mr].indexOf(pn)!==-1&&[Ir,Vi].indexOf(pr)!==-1||[Vi,hr].indexOf(pn)!==-1&&pr===Vi||Ne.indexOf(pn)!==-1&&[ze,dt].indexOf(pr)!==-1||Ne.indexOf(pr)!==-1&&pn===Tt||Dt.indexOf(pn)!==-1&&Dt.indexOf(pr)!==-1||pn===je&&Dt.indexOf(pr)!==-1||Dt.concat(Xe).indexOf(pn)!==-1&&pr===qe&&Vt.indexOf(G[fn])===-1||Dt.concat(Xe).indexOf(pr)!==-1&&pn===jt)return yt;if(pn===fi&&pr===fi){for(var Ts=K[st],ts=1;Ts>0&&(Ts--,L[Ts]===fi);)ts++;if(ts%2!==0)return yt}return pn===_n&&pr===er?yt:Ft},Ae=function(G,L){L||(L={lineBreak:"normal",wordBreak:"normal"});var K=W(G,L.lineBreak),j=K[0],Be=K[1],st=K[2];(L.wordBreak==="break-all"||L.wordBreak==="break-word")&&(Be=Be.map(function(fn){return[Xe,an,on].indexOf(fn)!==-1?br:fn}));var kt=L.wordBreak==="keep-all"?st.map(function(fn,pn){return fn&&G[pn]>=19968&&G[pn]<=40959}):void 0;return[j,Be,kt]},me=function(){function G(L,K,j,Be){this.codePoints=L,this.required=K===gt,this.start=j,this.end=Be}return G.prototype.slice=function(){return F.apply(void 0,this.codePoints.slice(this.start,this.end))},G}(),$e=function(G,L){var K=N(G),j=Ae(K,L),Be=j[0],st=j[1],kt=j[2],fn=K.length,pn=0,ar=0;return{next:function(){if(ar>=fn)return{done:!0,value:null};for(var pr=yt;ar=Rr&&G<=57},Eo=function(G){return G>=55296&&G<=57343},Oa=function(G){return wa(G)||G>=ki&&G<=vs||G>=Ss&&G<=pa},$a=function(G){return G>=Ss&&G<=Ui},zo=function(G){return G>=ki&&G<=tl},Sl=function(G){return $a(G)||zo(G)},Hi=function(G){return G>=Rt},Nl=function(G){return G===Ee||G===Ut||G===ut},ql=function(G){return Sl(G)||Hi(G)||G===un},lc=function(G){return ql(G)||wa(G)||G===Bn},Pl=function(G){return G>=Si&&G<=Ai||G===ii||G>=vi&&G<=es||G===$i},So=function(G,L){return G!==at?!1:L!==Ee},To=function(G,L,K){return G===Bn?ql(L)||So(L,K):ql(G)?!0:!!(G===at&&So(G,L))},Wc=function(G,L,K){return G===Cn||G===Bn?wa(L)?!0:L===ai&&wa(K):wa(G===ai?L:G)},vc=function(G){var L=0,K=1;(G[L]===Cn||G[L]===Bn)&&(G[L]===Bn&&(K=-1),L++);for(var j=[];wa(G[L]);)j.push(G[L++]);var Be=j.length?parseInt(F.apply(void 0,j),10):0;G[L]===ai&&L++;for(var st=[];wa(G[L]);)st.push(G[L++]);var kt=st.length,fn=kt?parseInt(F.apply(void 0,st),10):0;(G[L]===cs||G[L]===ya)&&L++;var pn=1;(G[L]===Cn||G[L]===Bn)&&(G[L]===Bn&&(pn=-1),L++);for(var ar=[];wa(G[L]);)ar.push(G[L++]);var pr=ar.length?parseInt(F.apply(void 0,ar),10):0;return K*(Be+fn*Math.pow(10,-kt))*Math.pow(10,pn*pr)},bo={type:2},Zc={type:3},Nu={type:4},Oc={type:13},Bc={type:8},yc={type:21},fo={type:9},ru={type:10},ol={type:11},us={type:12},as={type:14},Ws={type:23},ia={type:1},oo={type:25},ta={type:24},Oi={type:26},jo={type:27},cc={type:28},ll={type:29},Jl={type:31},Cl={type:32},iu=function(){function G(){this._value=[]}return G.prototype.write=function(L){this._value=this._value.concat(N(L))},G.prototype.read=function(){for(var L=[],K=this.consumeToken();K!==Cl;)L.push(K),K=this.consumeToken();return L},G.prototype.consumeToken=function(){var L=this.consumeCodePoint();switch(L){case Lt:return this.consumeStringToken(Lt);case Tn:var K=this.peekCodePoint(0),j=this.peekCodePoint(1),Be=this.peekCodePoint(2);if(lc(K)||So(j,Be)){var st=To(K,j,Be)?Xt:Ke,kt=this.consumeName();return{type:5,value:kt,flags:st}}break;case Rn:if(this.peekCodePoint(0)===qt)return this.consumeCodePoint(),Oc;break;case Ln:return this.consumeStringToken(Ln);case Gn:return bo;case _r:return Zc;case dn:if(this.peekCodePoint(0)===qt)return this.consumeCodePoint(),as;break;case Cn:if(Wc(L,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(L),this.consumeNumericToken();break;case Xn:return Nu;case Bn:var fn=L,pn=this.peekCodePoint(0),ar=this.peekCodePoint(1);if(Wc(fn,pn,ar))return this.reconsumeCodePoint(L),this.consumeNumericToken();if(To(fn,pn,ar))return this.reconsumeCodePoint(L),this.consumeIdentLikeToken();if(pn===Bn&&ar===Fr)return this.consumeCodePoint(),this.consumeCodePoint(),ta;break;case ai:if(Wc(L,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(L),this.consumeNumericToken();break;case Ue:if(this.peekCodePoint(0)===dn)for(this.consumeCodePoint();;){var pr=this.consumeCodePoint();if(pr===dn&&(pr=this.consumeCodePoint(),pr===Ue))return this.consumeToken();if(pr===Wi)return this.consumeToken()}break;case mr:return Oi;case yr:return jo;case cr:if(this.peekCodePoint(0)===lr&&this.peekCodePoint(1)===Bn&&this.peekCodePoint(2)===Bn)return this.consumeCodePoint(),this.consumeCodePoint(),oo;break;case zr:var Dr=this.peekCodePoint(0),$r=this.peekCodePoint(1),Ts=this.peekCodePoint(2);if(To(Dr,$r,Ts)){var kt=this.consumeName();return{type:7,value:kt}}break;case Wr:return cc;case at:if(So(L,this.peekCodePoint(0)))return this.reconsumeCodePoint(L),this.consumeIdentLikeToken();break;case Vr:return ll;case wi:if(this.peekCodePoint(0)===qt)return this.consumeCodePoint(),Bc;break;case Zr:return ol;case Yi:return us;case Pa:case ro:var ts=this.peekCodePoint(0),xs=this.peekCodePoint(1);return ts===Cn&&(Oa(xs)||xs===Ei)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(L),this.consumeIdentLikeToken();case wn:if(this.peekCodePoint(0)===qt)return this.consumeCodePoint(),fo;if(this.peekCodePoint(0)===wn)return this.consumeCodePoint(),yc;break;case wt:if(this.peekCodePoint(0)===qt)return this.consumeCodePoint(),ru;break;case Wi:return Cl}return Nl(L)?(this.consumeWhiteSpace(),Jl):wa(L)?(this.reconsumeCodePoint(L),this.consumeNumericToken()):ql(L)?(this.reconsumeCodePoint(L),this.consumeIdentLikeToken()):{type:6,value:F(L)}},G.prototype.consumeCodePoint=function(){var L=this._value.shift();return typeof L=="undefined"?-1:L},G.prototype.reconsumeCodePoint=function(L){this._value.unshift(L)},G.prototype.peekCodePoint=function(L){return L>=this._value.length?-1:this._value[L]},G.prototype.consumeUnicodeRangeToken=function(){for(var L=[],K=this.consumeCodePoint();Oa(K)&&L.length<6;)L.push(K),K=this.consumeCodePoint();for(var j=!1;K===Ei&&L.length<6;)L.push(K),K=this.consumeCodePoint(),j=!0;if(j){var Be=parseInt(F.apply(void 0,L.map(function(pn){return pn===Ei?Rr:pn})),16),st=parseInt(F.apply(void 0,L.map(function(pn){return pn===Ei?vs:pn})),16);return{type:30,start:Be,end:st}}var kt=parseInt(F.apply(void 0,L),16);if(this.peekCodePoint(0)===Bn&&Oa(this.peekCodePoint(1))){this.consumeCodePoint(),K=this.consumeCodePoint();for(var fn=[];Oa(K)&&fn.length<6;)fn.push(K),K=this.consumeCodePoint();var st=parseInt(F.apply(void 0,fn),16);return{type:30,start:kt,end:st}}else return{type:30,start:kt,end:kt}},G.prototype.consumeIdentLikeToken=function(){var L=this.consumeName();return L.toLowerCase()==="url"&&this.peekCodePoint(0)===Gn?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Gn?(this.consumeCodePoint(),{type:19,value:L}):{type:20,value:L}},G.prototype.consumeUrlToken=function(){var L=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Wi)return{type:22,value:""};var K=this.peekCodePoint(0);if(K===Ln||K===Lt){var j=this.consumeStringToken(this.consumeCodePoint());return j.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Wi||this.peekCodePoint(0)===_r)?(this.consumeCodePoint(),{type:22,value:j.value}):(this.consumeBadUrlRemnants(),Ws)}for(;;){var Be=this.consumeCodePoint();if(Be===Wi||Be===_r)return{type:22,value:F.apply(void 0,L)};if(Nl(Be))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Wi||this.peekCodePoint(0)===_r?(this.consumeCodePoint(),{type:22,value:F.apply(void 0,L)}):(this.consumeBadUrlRemnants(),Ws);if(Be===Lt||Be===Ln||Be===Gn||Pl(Be))return this.consumeBadUrlRemnants(),Ws;if(Be===at)if(So(Be,this.peekCodePoint(0)))L.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Ws;else L.push(Be)}},G.prototype.consumeWhiteSpace=function(){for(;Nl(this.peekCodePoint(0));)this.consumeCodePoint()},G.prototype.consumeBadUrlRemnants=function(){for(;;){var L=this.consumeCodePoint();if(L===_r||L===Wi)return;So(L,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},G.prototype.consumeStringSlice=function(L){for(var K=5e4,j="";L>0;){var Be=Math.min(K,L);j+=F.apply(void 0,this._value.splice(0,Be)),L-=Be}return this._value.shift(),j},G.prototype.consumeStringToken=function(L){var K="",j=0;do{var Be=this._value[j];if(Be===Wi||Be===void 0||Be===L)return K+=this.consumeStringSlice(j),{type:0,value:K};if(Be===Ee)return this._value.splice(0,j),ia;if(Be===at){var st=this._value[j+1];st!==Wi&&st!==void 0&&(st===Ee?(K+=this.consumeStringSlice(j),j=-1,this._value.shift()):So(Be,st)&&(K+=this.consumeStringSlice(j),K+=F(this.consumeEscapedCodePoint()),j=-1))}j++}while(!0)},G.prototype.consumeNumber=function(){var L=[],K=Se,j=this.peekCodePoint(0);for((j===Cn||j===Bn)&&L.push(this.consumeCodePoint());wa(this.peekCodePoint(0));)L.push(this.consumeCodePoint());j=this.peekCodePoint(0);var Be=this.peekCodePoint(1);if(j===ai&&wa(Be))for(L.push(this.consumeCodePoint(),this.consumeCodePoint()),K=Oe;wa(this.peekCodePoint(0));)L.push(this.consumeCodePoint());j=this.peekCodePoint(0),Be=this.peekCodePoint(1);var st=this.peekCodePoint(2);if((j===cs||j===ya)&&((Be===Cn||Be===Bn)&&wa(st)||wa(Be)))for(L.push(this.consumeCodePoint(),this.consumeCodePoint()),K=Oe;wa(this.peekCodePoint(0));)L.push(this.consumeCodePoint());return[vc(L),K]},G.prototype.consumeNumericToken=function(){var L=this.consumeNumber(),K=L[0],j=L[1],Be=this.peekCodePoint(0),st=this.peekCodePoint(1),kt=this.peekCodePoint(2);if(To(Be,st,kt)){var fn=this.consumeName();return{type:15,number:K,flags:j,unit:fn}}return Be===ir?(this.consumeCodePoint(),{type:16,number:K,flags:j}):{type:17,number:K,flags:j}},G.prototype.consumeEscapedCodePoint=function(){var L=this.consumeCodePoint();if(Oa(L)){for(var K=F(L);Oa(this.peekCodePoint(0))&&K.length<6;)K+=F(this.consumeCodePoint());Nl(this.peekCodePoint(0))&&this.consumeCodePoint();var j=parseInt(K,16);return j===0||Eo(j)||j>1114111?Et:j}return L===Wi?Et:L},G.prototype.consumeName=function(){for(var L="";;){var K=this.consumeCodePoint();if(lc(K))L+=F(K);else if(So(K,this.peekCodePoint(0)))L+=F(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(K),L}},G}(),Pu=function(){function G(L){this._tokens=L}return G.create=function(L){var K=new iu;return K.write(L),new G(K.read())},G.parseValue=function(L){return G.create(L).parseComponentValue()},G.parseValues=function(L){return G.create(L).parseComponentValues()},G.prototype.parseComponentValue=function(){for(var L=this.consumeToken();L.type===31;)L=this.consumeToken();if(L.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(L);var K=this.consumeComponentValue();do L=this.consumeToken();while(L.type===31);if(L.type===32)return K;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},G.prototype.parseComponentValues=function(){for(var L=[];;){var K=this.consumeComponentValue();if(K.type===32)return L;L.push(K),L.push()}},G.prototype.consumeComponentValue=function(){var L=this.consumeToken();switch(L.type){case 11:case 28:case 2:return this.consumeSimpleBlock(L.type);case 19:return this.consumeFunction(L)}return L},G.prototype.consumeSimpleBlock=function(L){for(var K={type:L,values:[]},j=this.consumeToken();;){if(j.type===32||Vo(j,L))return K;this.reconsumeToken(j),K.values.push(this.consumeComponentValue()),j=this.consumeToken()}},G.prototype.consumeFunction=function(L){for(var K={name:L.value,values:[],type:18};;){var j=this.consumeToken();if(j.type===32||j.type===3)return K;this.reconsumeToken(j),K.values.push(this.consumeComponentValue())}},G.prototype.consumeToken=function(){var L=this._tokens.shift();return typeof L=="undefined"?Cl:L},G.prototype.reconsumeToken=function(L){this._tokens.unshift(L)},G}(),Bo=function(G){return G.type===15},Ro=function(G){return G.type===17},_o=function(G){return G.type===20},su=function(G){return G.type===0},Fu=function(G,L){return _o(G)&&G.value===L},sd=function(G){return G.type!==31},kl=function(G){return G.type!==31&&G.type!==4},Ao=function(G){var L=[],K=[];return G.forEach(function(j){if(j.type===4){if(K.length===0)throw new Error("Error parsing function args, zero tokens for arg");L.push(K),K=[];return}j.type!==31&&K.push(j)}),K.length&&L.push(K),L},Vo=function(G,L){return L===11&&G.type===12||L===28&&G.type===29?!0:L===2&&G.type===3},cl=function(G){return G.type===17||G.type===15},Fo=function(G){return G.type===16||cl(G)},ho=function(G){return G.length>1?[G[0],G[1]]:[G[0]]},po={type:17,number:0,flags:Se},mu={type:16,number:50,flags:Se},ec={type:16,number:100,flags:Se},Lc=function(G,L,K){var j=G[0],Be=G[1];return[go(j,L),go(typeof Be!="undefined"?Be:j,K)]},go=function(G,L){if(G.type===16)return G.number/100*L;if(Bo(G))switch(G.unit){case"rem":case"em":return 16*G.number;case"px":default:return G.number}return G.number},Ou="deg",fh="grad",ml="rad",kh="turn",eo={name:"angle",parse:function(G,L){if(L.type===15)switch(L.unit){case Ou:return Math.PI*L.number/180;case fh:return Math.PI/200*L.number;case ml:return L.number;case kh:return Math.PI*2*L.number}throw new Error("Unsupported angle type")}},Ma=function(G){return G.type===15&&(G.unit===Ou||G.unit===fh||G.unit===ml||G.unit===kh)},sr=function(G){var L=G.filter(_o).map(function(K){return K.value}).join(" ");switch(L){case"to bottom right":case"to right bottom":case"left top":case"top left":return[po,po];case"to top":case"bottom":return Nr(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[po,ec];case"to right":case"left":return Nr(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[ec,ec];case"to bottom":case"top":return Nr(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[ec,po];case"to left":case"right":return Nr(270)}return 0},Nr=function(G){return Math.PI*G/180},$s={name:"color",parse:function(G,L){if(L.type===18){var K=Ta[L.name];if(typeof K=="undefined")throw new Error('Attempting to parse an unsupported color function "'+L.name+'"');return K(G,L.values)}if(L.type===5){if(L.value.length===3){var j=L.value.substring(0,1),Be=L.value.substring(1,2),st=L.value.substring(2,3);return Io(parseInt(j+j,16),parseInt(Be+Be,16),parseInt(st+st,16),1)}if(L.value.length===4){var j=L.value.substring(0,1),Be=L.value.substring(1,2),st=L.value.substring(2,3),kt=L.value.substring(3,4);return Io(parseInt(j+j,16),parseInt(Be+Be,16),parseInt(st+st,16),parseInt(kt+kt,16)/255)}if(L.value.length===6){var j=L.value.substring(0,2),Be=L.value.substring(2,4),st=L.value.substring(4,6);return Io(parseInt(j,16),parseInt(Be,16),parseInt(st,16),1)}if(L.value.length===8){var j=L.value.substring(0,2),Be=L.value.substring(2,4),st=L.value.substring(4,6),kt=L.value.substring(6,8);return Io(parseInt(j,16),parseInt(Be,16),parseInt(st,16),parseInt(kt,16)/255)}}if(L.type===20){var fn=Lu[L.value.toUpperCase()];if(typeof fn!="undefined")return fn}return Lu.TRANSPARENT}},Ko=function(G){return(255&G)===0},La=function(G){var L=255&G,K=255&G>>8,j=255&G>>16,Be=255&G>>24;return L<255?"rgba("+Be+","+j+","+K+","+L/255+")":"rgb("+Be+","+j+","+K+")"},Io=function(G,L,K,j){return(G<<24|L<<16|K<<8|Math.round(j*255)<<0)>>>0},au=function(G,L){if(G.type===17)return G.number;if(G.type===16){var K=L===3?1:255;return L===3?G.number/100*K:Math.round(G.number/100*K)}return 0},Rc=function(G,L){var K=L.filter(kl);if(K.length===3){var j=K.map(au),Be=j[0],st=j[1],kt=j[2];return Io(Be,st,kt,1)}if(K.length===4){var fn=K.map(au),Be=fn[0],st=fn[1],kt=fn[2],pn=fn[3];return Io(Be,st,kt,pn)}return 0};function zl(G,L,K){return K<0&&(K+=1),K>=1&&(K-=1),K<1/6?(L-G)*K*6+G:K<1/2?L:K<2/3?(L-G)*6*(2/3-K)+G:G}var tc=function(G,L){var K=L.filter(kl),j=K[0],Be=K[1],st=K[2],kt=K[3],fn=(j.type===17?Nr(j.number):eo.parse(G,j))/(Math.PI*2),pn=Fo(Be)?Be.number/100:0,ar=Fo(st)?st.number/100:0,pr=typeof kt!="undefined"&&Fo(kt)?go(kt,1):1;if(pn===0)return Io(ar*255,ar*255,ar*255,1);var Dr=ar<=.5?ar*(pn+1):ar+pn-ar*pn,$r=ar*2-Dr,Ts=zl($r,Dr,fn+1/3),ts=zl($r,Dr,fn),xs=zl($r,Dr,fn-1/3);return Io(Ts*255,ts*255,xs*255,pr)},Ta={hsl:tc,hsla:tc,rgb:Rc,rgba:Rc},ju=function(G,L){return $s.parse(G,Pu.create(L).parseComponentValue())},Lu={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},NA={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(G,L){return L.map(function(K){if(_o(K))switch(K.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Ku={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},zh=function(G,L){var K=$s.parse(G,L[0]),j=L[1];return j&&Fo(j)?{color:K,stop:j}:{color:K,stop:null}},PA=function(G,L){var K=G[0],j=G[G.length-1];K.stop===null&&(K.stop=po),j.stop===null&&(j.stop=ec);for(var Be=[],st=0,kt=0;ktst?Be.push(pn):Be.push(st),st=pn}else Be.push(null)}for(var ar=null,kt=0;ktkt.optimumDistance)?{optimumCorner:fn,optimumDistance:pr}:kt},{optimumDistance:Be?1/0:-1/0,optimumCorner:null}).optimumCorner},ld=function(G,L,K,j,Be){var st=0,kt=0;switch(G.size){case 0:G.shape===0?st=kt=Math.min(Math.abs(L),Math.abs(L-j),Math.abs(K),Math.abs(K-Be)):G.shape===1&&(st=Math.min(Math.abs(L),Math.abs(L-j)),kt=Math.min(Math.abs(K),Math.abs(K-Be)));break;case 2:if(G.shape===0)st=kt=Math.min(nl(L,K),nl(L,K-Be),nl(L-j,K),nl(L-j,K-Be));else if(G.shape===1){var fn=Math.min(Math.abs(K),Math.abs(K-Be))/Math.min(Math.abs(L),Math.abs(L-j)),pn=$c(j,Be,L,K,!0),ar=pn[0],pr=pn[1];st=nl(ar-L,(pr-K)/fn),kt=fn*st}break;case 1:G.shape===0?st=kt=Math.max(Math.abs(L),Math.abs(L-j),Math.abs(K),Math.abs(K-Be)):G.shape===1&&(st=Math.max(Math.abs(L),Math.abs(L-j)),kt=Math.max(Math.abs(K),Math.abs(K-Be)));break;case 3:if(G.shape===0)st=kt=Math.max(nl(L,K),nl(L,K-Be),nl(L-j,K),nl(L-j,K-Be));else if(G.shape===1){var fn=Math.max(Math.abs(K),Math.abs(K-Be))/Math.max(Math.abs(L),Math.abs(L-j)),Dr=$c(j,Be,L,K,!1),ar=Dr[0],pr=Dr[1];st=nl(ar-L,(pr-K)/fn),kt=fn*st}break}return Array.isArray(G.size)&&(st=go(G.size[0],j),kt=G.size.length===2?go(G.size[1],Be):st),[st,kt]},FA=function(G,L){var K=Nr(180),j=[];return Ao(L).forEach(function(Be,st){if(st===0){var kt=Be[0];if(kt.type===20&&kt.value==="to"){K=sr(Be);return}else if(Ma(kt)){K=eo.parse(G,kt);return}}var fn=zh(G,Be);j.push(fn)}),{angle:K,stops:j,type:1}},Af=function(G,L){var K=Nr(180),j=[];return Ao(L).forEach(function(Be,st){if(st===0){var kt=Be[0];if(kt.type===20&&["top","left","right","bottom"].indexOf(kt.value)!==-1){K=sr(Be);return}else if(Ma(kt)){K=(eo.parse(G,kt)+Nr(270))%Nr(360);return}}var fn=zh(G,Be);j.push(fn)}),{angle:K,stops:j,type:1}},Qp=function(G,L){var K=Nr(180),j=[],Be=1,st=0,kt=3,fn=[];return Ao(L).forEach(function(pn,ar){var pr=pn[0];if(ar===0){if(_o(pr)&&pr.value==="linear"){Be=1;return}else if(_o(pr)&&pr.value==="radial"){Be=2;return}}if(pr.type===18){if(pr.name==="from"){var Dr=$s.parse(G,pr.values[0]);j.push({stop:po,color:Dr})}else if(pr.name==="to"){var Dr=$s.parse(G,pr.values[0]);j.push({stop:ec,color:Dr})}else if(pr.name==="color-stop"){var $r=pr.values.filter(kl);if($r.length===2){var Dr=$s.parse(G,$r[1]),Ts=$r[0];Ro(Ts)&&j.push({stop:{type:16,number:Ts.number*100,flags:Ts.flags},color:Dr})}}}}),Be===1?{angle:(K+Nr(180))%Nr(360),stops:j,type:Be}:{size:kt,shape:st,stops:j,position:fn,type:Be}},zf="closest-side",cd="farthest-side",OA="closest-corner",rt="farthest-corner",we="circle",Ce="ellipse",tt="cover",Qe="contain",Ot=function(G,L){var K=0,j=3,Be=[],st=[];return Ao(L).forEach(function(kt,fn){var pn=!0;if(fn===0){var ar=!1;pn=kt.reduce(function(Dr,$r){if(ar)if(_o($r))switch($r.value){case"center":return st.push(mu),Dr;case"top":case"left":return st.push(po),Dr;case"right":case"bottom":return st.push(ec),Dr}else(Fo($r)||cl($r))&&st.push($r);else if(_o($r))switch($r.value){case we:return K=0,!1;case Ce:return K=1,!1;case"at":return ar=!0,!1;case zf:return j=0,!1;case tt:case cd:return j=1,!1;case Qe:case OA:return j=2,!1;case rt:return j=3,!1}else if(cl($r)||Fo($r))return Array.isArray(j)||(j=[]),j.push($r),!1;return Dr},pn)}if(pn){var pr=zh(G,kt);Be.push(pr)}}),{size:j,shape:K,stops:Be,position:st,type:2}},ye=function(G,L){var K=0,j=3,Be=[],st=[];return Ao(L).forEach(function(kt,fn){var pn=!0;if(fn===0?pn=kt.reduce(function(pr,Dr){if(_o(Dr))switch(Dr.value){case"center":return st.push(mu),!1;case"top":case"left":return st.push(po),!1;case"right":case"bottom":return st.push(ec),!1}else if(Fo(Dr)||cl(Dr))return st.push(Dr),!1;return pr},pn):fn===1&&(pn=kt.reduce(function(pr,Dr){if(_o(Dr))switch(Dr.value){case we:return K=0,!1;case Ce:return K=1,!1;case Qe:case zf:return j=0,!1;case cd:return j=1,!1;case OA:return j=2,!1;case tt:case rt:return j=3,!1}else if(cl(Dr)||Fo(Dr))return Array.isArray(j)||(j=[]),j.push(Dr),!1;return pr},pn)),pn){var ar=zh(G,kt);Be.push(ar)}}),{size:j,shape:K,stops:Be,position:st,type:2}},Dn=function(G){return G.type===1},Fn=function(G){return G.type===2},Pn={name:"image",parse:function(G,L){if(L.type===22){var K={url:L.value,type:0};return G.cache.addImage(L.value),K}if(L.type===18){var j=ur[L.name];if(typeof j=="undefined")throw new Error('Attempting to parse an unsupported image function "'+L.name+'"');return j(G,L.values)}throw new Error("Unsupported image type "+L.type)}};function fr(G){return!(G.type===20&&G.value==="none")&&(G.type!==18||!!ur[G.name])}var ur={"linear-gradient":FA,"-moz-linear-gradient":Af,"-ms-linear-gradient":Af,"-o-linear-gradient":Af,"-webkit-linear-gradient":Af,"radial-gradient":Ot,"-moz-radial-gradient":ye,"-ms-radial-gradient":ye,"-o-radial-gradient":ye,"-webkit-radial-gradient":ye,"-webkit-gradient":Qp},Kr={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(G,L){if(L.length===0)return[];var K=L[0];return K.type===20&&K.value==="none"?[]:L.filter(function(j){return kl(j)&&fr(j)}).map(function(j){return Pn.parse(G,j)})}},Ur={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(G,L){return L.map(function(K){if(_o(K))switch(K.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},xr={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(G,L){return Ao(L).map(function(K){return K.filter(Fo)}).map(ho)}},mi={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(G,L){return Ao(L).map(function(K){return K.filter(_o).map(function(j){return j.value}).join(" ")}).map(ci)}},ci=function(G){switch(G){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},Bi;(function(G){G.AUTO="auto",G.CONTAIN="contain",G.COVER="cover"})(Bi||(Bi={}));var rs={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(G,L){return Ao(L).map(function(K){return K.filter(qi)})}},qi=function(G){return _o(G)||Fo(G)},os=function(G){return{name:"border-"+G+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},_s=os("top"),Ls=os("right"),xa=os("bottom"),ms=os("left"),Mi=function(G){return{name:"border-radius-"+G,initialValue:"0 0",prefix:!1,type:1,parse:function(L,K){return ho(K.filter(Fo))}}},ha=Mi("top-left"),Js=Mi("top-right"),oe=Mi("bottom-right"),q=Mi("bottom-left"),X=function(G){return{name:"border-"+G+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(L,K){switch(K){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Y=X("top"),le=X("right"),Pe=X("bottom"),We=X("left"),He=function(G){return{name:"border-"+G+"-width",initialValue:"0",type:0,prefix:!1,parse:function(L,K){return Bo(K)?K.number:0}}},et=He("top"),_t=He("right"),Kt=He("bottom"),nn=He("left"),bn={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Nn={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(G,L){switch(L){case"rtl":return 1;case"ltr":default:return 0}}},$n={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(G,L){return L.filter(_o).reduce(function(K,j){return K|Cr(j.value)},0)}},Cr=function(G){switch(G){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},dr={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(G,L){switch(L){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},jr={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(G,L){return L.type===20&&L.value==="normal"?0:L.type===17||L.type===15?L.number:0}},Yr;(function(G){G.NORMAL="normal",G.STRICT="strict"})(Yr||(Yr={}));var li={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(G,L){switch(L){case"strict":return Yr.STRICT;case"normal":default:return Yr.NORMAL}}},Ci={name:"line-height",initialValue:"normal",prefix:!1,type:4},Ji=function(G,L){return _o(G)&&G.value==="normal"?1.2*L:G.type===17?L*G.number:Fo(G)?go(G,L):L},Li={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(G,L){return L.type===20&&L.value==="none"?null:Pn.parse(G,L)}},ds={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(G,L){switch(L){case"inside":return 0;case"outside":default:return 1}}},Vs={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(G,L){switch(L){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},ba=function(G){return{name:"margin-"+G,initialValue:"0",prefix:!1,type:4}},qa=ba("top"),mo=ba("right"),Na=ba("bottom"),Xs=ba("left"),_a={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(G,L){return L.filter(_o).map(function(K){switch(K.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},pi={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(G,L){switch(L){case"break-word":return"break-word";case"normal":default:return"normal"}}},Da=function(G){return{name:"padding-"+G,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},io=Da("top"),qs=Da("right"),vo=Da("bottom"),Ua=Da("left"),qo={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(G,L){switch(L){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},Ba={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(G,L){switch(L){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},so={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(G,L){return L.length===1&&Fu(L[0],"none")?[]:Ao(L).map(function(K){for(var j={color:Lu.TRANSPARENT,offsetX:po,offsetY:po,blur:po},Be=0,st=0;st1?1:0],this.overflowWrap=Ps(L,pi,K.overflowWrap),this.paddingTop=Ps(L,io,K.paddingTop),this.paddingRight=Ps(L,qs,K.paddingRight),this.paddingBottom=Ps(L,vo,K.paddingBottom),this.paddingLeft=Ps(L,Ua,K.paddingLeft),this.paintOrder=Ps(L,Vf,K.paintOrder),this.position=Ps(L,Ba,K.position),this.textAlign=Ps(L,qo,K.textAlign),this.textDecorationColor=Ps(L,im,(j=K.textDecorationColor)!==null&&j!==void 0?j:K.color),this.textDecorationLine=Ps(L,y0,(Be=K.textDecorationLine)!==null&&Be!==void 0?Be:K.textDecoration),this.textShadow=Ps(L,so,K.textShadow),this.textTransform=Ps(L,rl,K.textTransform),this.transform=Ps(L,il,K.transform),this.transformOrigin=Ps(L,vu,K.transformOrigin),this.visibility=Ps(L,Du,K.visibility),this.webkitTextStrokeColor=Ps(L,Hf,K.webkitTextStrokeColor),this.webkitTextStrokeWidth=Ps(L,Gf,K.webkitTextStrokeWidth),this.wordBreak=Ps(L,yu,K.wordBreak),this.zIndex=Ps(L,Ah,K.zIndex)}return G.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},G.prototype.isTransparent=function(){return Ko(this.backgroundColor)},G.prototype.isTransformed=function(){return this.transform!==null},G.prototype.isPositioned=function(){return this.position!==0},G.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},G.prototype.isFloating=function(){return this.float!==0},G.prototype.isInlineLevel=function(){return Ml(this.display,4)||Ml(this.display,33554432)||Ml(this.display,268435456)||Ml(this.display,536870912)||Ml(this.display,67108864)||Ml(this.display,134217728)},G}(),Wp=function(){function G(L,K){this.content=Ps(L,Dc,K.content),this.quotes=Ps(L,Zl,K.quotes)}return G}(),gh=function(){function G(L,K){this.counterIncrement=Ps(L,Yu,K.counterIncrement),this.counterReset=Ps(L,Ho,K.counterReset)}return G}(),Ps=function(G,L,K){var j=new iu,Be=K!==null&&typeof K!="undefined"?K.toString():L.initialValue;j.write(Be);var st=new Pu(j.read());switch(L.type){case 2:var kt=st.parseComponentValue();return L.parse(G,_o(kt)?kt.value:L.initialValue);case 0:return L.parse(G,st.parseComponentValue());case 1:return L.parse(G,st.parseComponentValues());case 4:return st.parseComponentValue();case 3:switch(L.format){case"angle":return eo.parse(G,st.parseComponentValue());case"color":return $s.parse(G,st.parseComponentValue());case"image":return Pn.parse(G,st.parseComponentValue());case"length":var fn=st.parseComponentValue();return cl(fn)?fn:po;case"length-percentage":var pn=st.parseComponentValue();return Fo(pn)?pn:po;case"time":return LA.parse(G,st.parseComponentValue())}break}},x0="data-html2canvas-debug",hs=function(G){var L=G.getAttribute(x0);switch(L){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},uc=function(G,L){var K=hs(G);return K===1||L===K},dd=function(){function G(L,K){if(this.context=L,this.textNodes=[],this.elements=[],this.flags=0,uc(K,3))debugger;this.styles=new jc(L,window.getComputedStyle(K,null)),Eu(K)&&(this.styles.animationDuration.some(function(j){return j>0})&&(K.style.animationDuration="0s"),this.styles.transform!==null&&(K.style.transform="none")),this.bounds=I(this.context,K),uc(K,4)&&(this.flags|=16)}return G}(),Kc="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",ou="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ic=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),sm=0;sm>4,pr[Be++]=(kt&15)<<4|fn>>2,pr[Be++]=(fn&3)<<6|pn&63;return ar},Nd=function(G){for(var L=G.length,K=[],j=0;j>Tl,_1=1<>Tl,am=lb+ny,w1=am,w0=32,lu=w1+w0,Ds=65536>>UA,cb=1<=0){if(L<55296||L>56319&&L<=65535)return K=this.index[L>>Tl],K=(K<>Tl)],K=(K<>UA),K=this.index[K],K+=L>>Tl&mh,K=this.index[K],K=(K<=55296&&Be<=56319&&K>10)+55296,kt%1024+56320)),(Be+1===K||j.length>16384)&&(st+=String.fromCharCode.apply(String,j),j.length=0)}return st},ub=qu(Kc),vh="\xD7",Zf="\xF7",iy=function(G){return ub.get(G)},hm=function(G,L,K){var j=K-2,Be=L[j],st=L[K-1],kt=L[K];if(st===kA&&kt===om)return vh;if(st===kA||st===om||st===zA||kt===kA||kt===om||kt===zA)return Zf;if(st===cm&&[cm,HA,jp,vl].indexOf(kt)!==-1||(st===jp||st===HA)&&(kt===HA||kt===um)||(st===vl||st===um)&&kt===um||kt===ry||kt===VA||kt===lm||st===Wf)return vh;if(st===ry&&kt===Kp){for(;Be===VA;)Be=L[--j];if(Be===Kp)return vh}if(st===fd&&kt===fd){for(var fn=0;Be===fd;)fn++,Be=L[--j];if(fn%2===0)return vh}return Zf},_u=function(G){var L=GA(G),K=L.length,j=0,Be=0,st=L.map(iy);return{next:function(){if(j>=K)return{done:!0,value:null};for(var kt=vh;jkt.x||pr.y>kt.y;return kt=pr,ar===0?!0:Dr});return G.body.removeChild(L),fn},sy=function(){return typeof new Image().crossOrigin!="undefined"},dc=function(){return typeof new XMLHttpRequest().responseType=="string"},pf=function(G){var L=new Image,K=G.createElement("canvas"),j=K.getContext("2d");if(!j)return!1;L.src="data:image/svg+xml,";try{j.drawImage(L,0,0),K.toDataURL()}catch(Be){return!1}return!0},yh=function(G){return G[0]===0&&G[1]===255&&G[2]===0&&G[3]===255},ay=function(G){var L=G.createElement("canvas"),K=100;L.width=K,L.height=K;var j=L.getContext("2d");if(!j)return Promise.reject(!1);j.fillStyle="rgb(0, 255, 0)",j.fillRect(0,0,K,K);var Be=new Image,st=L.toDataURL();Be.src=st;var kt=Od(K,K,0,0,Be);return j.fillStyle="red",j.fillRect(0,0,K,K),dm(kt).then(function(fn){j.drawImage(fn,0,0);var pn=j.getImageData(0,0,K,K).data;j.fillStyle="red",j.fillRect(0,0,K,K);var ar=G.createElement("div");return ar.style.backgroundImage="url("+st+")",ar.style.height=K+"px",yh(pn)?dm(Od(K,K,0,0,ar)):Promise.reject(!1)}).then(function(fn){return j.drawImage(fn,0,0),yh(j.getImageData(0,0,K,K).data)}).catch(function(){return!1})},Od=function(G,L,K,j,Be){var st="http://www.w3.org/2000/svg",kt=document.createElementNS(st,"svg"),fn=document.createElementNS(st,"foreignObject");return kt.setAttributeNS(null,"width",G.toString()),kt.setAttributeNS(null,"height",L.toString()),fn.setAttributeNS(null,"width","100%"),fn.setAttributeNS(null,"height","100%"),fn.setAttributeNS(null,"x",K.toString()),fn.setAttributeNS(null,"y",j.toString()),fn.setAttributeNS(null,"externalResourcesRequired","true"),kt.appendChild(fn),fn.appendChild(Be),kt},dm=function(G){return new Promise(function(L,K){var j=new Image;j.onload=function(){return L(j)},j.onerror=K,j.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(G))})},Ca={get SUPPORT_RANGE_BOUNDS(){var G=Fd(document);return Object.defineProperty(Ca,"SUPPORT_RANGE_BOUNDS",{value:G}),G},get SUPPORT_WORD_BREAKING(){var G=Ca.SUPPORT_RANGE_BOUNDS&&Ll(document);return Object.defineProperty(Ca,"SUPPORT_WORD_BREAKING",{value:G}),G},get SUPPORT_SVG_DRAWING(){var G=pf(document);return Object.defineProperty(Ca,"SUPPORT_SVG_DRAWING",{value:G}),G},get SUPPORT_FOREIGNOBJECT_DRAWING(){var G=typeof Array.from=="function"&&typeof window.fetch=="function"?ay(document):Promise.resolve(!1);return Object.defineProperty(Ca,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:G}),G},get SUPPORT_CORS_IMAGES(){var G=sy();return Object.defineProperty(Ca,"SUPPORT_CORS_IMAGES",{value:G}),G},get SUPPORT_RESPONSE_TYPE(){var G=dc();return Object.defineProperty(Ca,"SUPPORT_RESPONSE_TYPE",{value:G}),G},get SUPPORT_CORS_XHR(){var G="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ca,"SUPPORT_CORS_XHR",{value:G}),G},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var G=!!(typeof Intl!="undefined"&&Intl.Segmenter);return Object.defineProperty(Ca,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:G}),G}},ku=function(){function G(L,K){this.text=L,this.bounds=K}return G}(),fm=function(G,L,K,j){var Be=wu(L,K),st=[],kt=0;return Be.forEach(function(fn){if(K.textDecorationLine.length||fn.trim().length>0)if(Ca.SUPPORT_RANGE_BOUNDS){var pn=$f(j,kt,fn.length).getClientRects();if(pn.length>1){var ar=jf(fn),pr=0;ar.forEach(function($r){st.push(new ku($r,_.fromDOMRectList(G,$f(j,pr+kt,$r.length).getClientRects()))),pr+=$r.length})}else st.push(new ku(fn,_.fromDOMRectList(G,pn)))}else{var Dr=j.splitText(fn.length);st.push(new ku(fn,E0(G,j))),j=Dr}else Ca.SUPPORT_RANGE_BOUNDS||(j=j.splitText(fn.length));kt+=fn.length}),st},E0=function(G,L){var K=L.ownerDocument;if(K){var j=K.createElement("html2canvaswrapper");j.appendChild(L.cloneNode(!0));var Be=L.parentNode;if(Be){Be.replaceChild(j,L);var st=I(G,j);return j.firstChild&&Be.replaceChild(j.firstChild,j),st}}return _.EMPTY},$f=function(G,L,K){var j=G.ownerDocument;if(!j)throw new Error("Node has no owner document");var Be=j.createRange();return Be.setStart(G,L),Be.setEnd(G,L+K),Be},jf=function(G){if(Ca.SUPPORT_NATIVE_TEXT_SEGMENTATION){var L=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(L.segment(G)).map(function(K){return K.segment})}return Ic(G)},Am=function(G,L){if(Ca.SUPPORT_NATIVE_TEXT_SEGMENTATION){var K=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(K.segment(G)).map(function(j){return j.segment})}return S0(G,L)},wu=function(G,L){return L.letterSpacing!==0?jf(G):Am(G,L)},Ju=[32,160,4961,65792,65793,4153,4241],S0=function(G,L){for(var K=$e(G,{lineBreak:L.lineBreak,wordBreak:L.overflowWrap==="break-word"?"break-word":L.wordBreak}),j=[],Be,st=function(){if(Be.value){var kt=Be.value.slice(),fn=N(kt),pn="";fn.forEach(function(ar){Ju.indexOf(ar)===-1?pn+=F(ar):(pn.length&&j.push(pn),j.push(F(ar)),pn="")}),pn.length&&j.push(pn)}};!(Be=K.next()).done;)st();return j},xh=function(){function G(L,K,j){this.text=Xp(K.data,j.textTransform),this.textBounds=fm(L,this.text,j,K)}return G}(),Xp=function(G,L){switch(L){case 1:return G.toLowerCase();case 3:return G.replace(QA,WA);case 2:return G.toUpperCase();default:return G}},QA=/(^|\s|:|-|\(|\))([a-z])/g,WA=function(G,L,K){return G.length>0?L+K.toUpperCase():G},Hh=function(G){v(L,G);function L(K,j){var Be=G.call(this,K,j)||this;return Be.src=j.currentSrc||j.src,Be.intrinsicWidth=j.naturalWidth,Be.intrinsicHeight=j.naturalHeight,Be.context.cache.addImage(Be.src),Be}return L}(dd),bh=function(G){v(L,G);function L(K,j){var Be=G.call(this,K,j)||this;return Be.canvas=j,Be.intrinsicWidth=j.width,Be.intrinsicHeight=j.height,Be}return L}(dd),ZA=function(G){v(L,G);function L(K,j){var Be=G.call(this,K,j)||this,st=new XMLSerializer,kt=I(K,j);return j.setAttribute("width",kt.width+"px"),j.setAttribute("height",kt.height+"px"),Be.svg="data:image/svg+xml,"+encodeURIComponent(st.serializeToString(j)),Be.intrinsicWidth=j.width.baseVal.value,Be.intrinsicHeight=j.height.baseVal.value,Be.context.cache.addImage(Be.svg),Be}return L}(dd),$A=function(G){v(L,G);function L(K,j){var Be=G.call(this,K,j)||this;return Be.value=j.value,Be}return L}(dd),gf=function(G){v(L,G);function L(K,j){var Be=G.call(this,K,j)||this;return Be.start=j.start,Be.reversed=typeof j.reversed=="boolean"&&j.reversed===!0,Be}return L}(dd),Kf=[{type:15,flags:0,unit:"px",number:3}],oy=[{type:16,flags:0,number:50}],pm=function(G){return G.width>G.height?new _(G.left+(G.width-G.height)/2,G.top,G.height,G.height):G.width0)K.textNodes.push(new xh(G,Be,K.styles));else if(Yf(Be))if(Eh(Be)&&Be.assignedNodes)Be.assignedNodes().forEach(function(fn){return qp(G,fn,K,j)});else{var kt=Jp(G,Be);kt.styles.isVisible()&&(Ii(Be,kt,j)?kt.flags|=4:I0(kt.styles)&&(kt.flags|=2),hb.indexOf(Be.tagName)!==-1&&(kt.flags|=8),K.elements.push(kt),Be.slot,Be.shadowRoot?qp(G,Be.shadowRoot,kt,j):!tg(Be)&&!sl(Be)&&!YA(Be)&&qp(G,Be,kt,j))}},Jp=function(G,L){return qf(L)?new Hh(G,L):wh(L)?new bh(G,L):sl(L)?new ZA(G,L):N0(L)?new $A(G,L):eg(L)?new gf(G,L):_h(L)?new M0(G,L):YA(L)?new T0(G,L):tg(L)?new B0(G,L):Xo(L)?new R0(G,L):new dd(G,L)},mm=function(G,L){var K=Jp(G,L);return K.flags|=4,qp(G,L,K,K),K},Ii=function(G,L,K){return L.styles.isPositionedWithZIndex()||L.styles.opacity<1||L.styles.isTransformed()||KA(G)&&K.styles.isTransparent()},I0=function(G){return G.isPositioned()||G.isFloating()},ly=function(G){return G.nodeType===Node.TEXT_NODE},Yf=function(G){return G.nodeType===Node.ELEMENT_NODE},Eu=function(G){return Yf(G)&&typeof G.style!="undefined"&&!vm(G)},vm=function(G){return typeof G.className=="object"},N0=function(G){return G.tagName==="LI"},eg=function(G){return G.tagName==="OL"},_h=function(G){return G.tagName==="INPUT"},jA=function(G){return G.tagName==="HTML"},sl=function(G){return G.tagName==="svg"},KA=function(G){return G.tagName==="BODY"},wh=function(G){return G.tagName==="CANVAS"},XA=function(G){return G.tagName==="VIDEO"},qf=function(G){return G.tagName==="IMG"},Xo=function(G){return G.tagName==="IFRAME"},ym=function(G){return G.tagName==="STYLE"},P0=function(G){return G.tagName==="SCRIPT"},tg=function(G){return G.tagName==="TEXTAREA"},YA=function(G){return G.tagName==="SELECT"},Eh=function(G){return G.tagName==="SLOT"},Sh=function(G){return G.tagName.indexOf("-")>0},db=function(){function G(){this.counters={}}return G.prototype.getCounterValue=function(L){var K=this.counters[L];return K&&K.length?K[K.length-1]:1},G.prototype.getCounterValues=function(L){var K=this.counters[L];return K||[]},G.prototype.pop=function(L){var K=this;L.forEach(function(j){return K.counters[j].pop()})},G.prototype.parse=function(L){var K=this,j=L.counterIncrement,Be=L.counterReset,st=!0;j!==null&&j.forEach(function(fn){var pn=K.counters[fn.counter];pn&&fn.increment!==0&&(st=!1,pn.length||pn.push(1),pn[Math.max(0,pn.length-1)]+=fn.increment)});var kt=[];return st&&Be.forEach(function(fn){var pn=K.counters[fn.counter];kt.push(fn.counter),pn||(pn=K.counters[fn.counter]=[]),pn.push(fn.reset)}),kt},G}(),Jf={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ld={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054F","\u054E","\u054D","\u054C","\u054B","\u054A","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053F","\u053E","\u053D","\u053C","\u053B","\u053A","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},Ad={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05D9\u05F3","\u05D8\u05F3","\u05D7\u05F3","\u05D6\u05F3","\u05D5\u05F3","\u05D4\u05F3","\u05D3\u05F3","\u05D2\u05F3","\u05D1\u05F3","\u05D0\u05F3","\u05EA","\u05E9","\u05E8","\u05E7","\u05E6","\u05E4","\u05E2","\u05E1","\u05E0","\u05DE","\u05DC","\u05DB","\u05D9\u05D8","\u05D9\u05D7","\u05D9\u05D6","\u05D8\u05D6","\u05D8\u05D5","\u05D9","\u05D8","\u05D7","\u05D6","\u05D5","\u05D4","\u05D3","\u05D2","\u05D1","\u05D0"]},Ch={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10F5","\u10F0","\u10EF","\u10F4","\u10EE","\u10ED","\u10EC","\u10EB","\u10EA","\u10E9","\u10E8","\u10E7","\u10E6","\u10E5","\u10E4","\u10F3","\u10E2","\u10E1","\u10E0","\u10DF","\u10DE","\u10DD","\u10F2","\u10DC","\u10DB","\u10DA","\u10D9","\u10D8","\u10D7","\u10F1","\u10D6","\u10D5","\u10D4","\u10D3","\u10D2","\u10D1","\u10D0"]},Dd=function(G,L,K,j,Be,st){return GK?tp(G,Be,st.length>0):j.integers.reduce(function(kt,fn,pn){for(;G>=fn;)G-=fn,kt+=j.values[pn];return kt},"")+st},qA=function(G,L,K,j){var Be="";do K||G--,Be=j(G)+Be,G/=L;while(G*L>=L);return Be},fc=function(G,L,K,j,Be){var st=K-L+1;return(G<0?"-":"")+(qA(Math.abs(G),st,j,function(kt){return F(Math.floor(kt%st)+L)})+Be)},Gh=function(G,L,K){K===void 0&&(K=". ");var j=L.length;return qA(Math.abs(G),j,!1,function(Be){return L[Math.floor(Be%j)]})+K},JA=1,$l=2,pd=4,ep=8,Mh=function(G,L,K,j,Be,st){if(G<-9999||G>9999)return tp(G,4,Be.length>0);var kt=Math.abs(G),fn=Be;if(kt===0)return L[0]+fn;for(var pn=0;kt>0&&pn<=4;pn++){var ar=kt%10;ar===0&&Ml(st,JA)&&fn!==""?fn=L[ar]+fn:ar>1||ar===1&&pn===0||ar===1&&pn===1&&Ml(st,$l)||ar===1&&pn===1&&Ml(st,pd)&&G>100||ar===1&&pn>1&&Ml(st,ep)?fn=L[ar]+(pn>0?K[pn-1]:"")+fn:ar===1&&pn>0&&(fn=K[pn-1]+fn),kt=Math.floor(kt/10)}return(G<0?j:"")+fn},ng="\u5341\u767E\u5343\u842C",vf="\u62FE\u4F70\u4EDF\u842C",eA="\u30DE\u30A4\u30CA\u30B9",rg="\uB9C8\uC774\uB108\uC2A4",tp=function(G,L,K){var j=K?". ":"",Be=K?"\u3001":"",st=K?", ":"",kt=K?" ":"";switch(L){case 0:return"\u2022"+kt;case 1:return"\u25E6"+kt;case 2:return"\u25FE"+kt;case 5:var fn=fc(G,48,57,!0,j);return fn.length<4?"0"+fn:fn;case 4:return Gh(G,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",Be);case 6:return Dd(G,1,3999,Jf,3,j).toLowerCase();case 7:return Dd(G,1,3999,Jf,3,j);case 8:return fc(G,945,969,!1,j);case 9:return fc(G,97,122,!1,j);case 10:return fc(G,65,90,!1,j);case 11:return fc(G,1632,1641,!0,j);case 12:case 49:return Dd(G,1,9999,Ld,3,j);case 35:return Dd(G,1,9999,Ld,3,j).toLowerCase();case 13:return fc(G,2534,2543,!0,j);case 14:case 30:return fc(G,6112,6121,!0,j);case 15:return Gh(G,"\u5B50\u4E11\u5BC5\u536F\u8FB0\u5DF3\u5348\u672A\u7533\u9149\u620C\u4EA5",Be);case 16:return Gh(G,"\u7532\u4E59\u4E19\u4E01\u620A\u5DF1\u5E9A\u8F9B\u58EC\u7678",Be);case 17:case 48:return Mh(G,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",ng,"\u8CA0",Be,$l|pd|ep);case 47:return Mh(G,"\u96F6\u58F9\u8CB3\u53C3\u8086\u4F0D\u9678\u67D2\u634C\u7396",vf,"\u8CA0",Be,JA|$l|pd|ep);case 42:return Mh(G,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D",ng,"\u8D1F",Be,$l|pd|ep);case 41:return Mh(G,"\u96F6\u58F9\u8D30\u53C1\u8086\u4F0D\u9646\u67D2\u634C\u7396",vf,"\u8D1F",Be,JA|$l|pd|ep);case 26:return Mh(G,"\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u4E07",eA,Be,0);case 25:return Mh(G,"\u96F6\u58F1\u5F10\u53C2\u56DB\u4F0D\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343\u4E07",eA,Be,JA|$l|pd);case 31:return Mh(G,"\uC601\uC77C\uC774\uC0BC\uC0AC\uC624\uC721\uCE60\uD314\uAD6C","\uC2ED\uBC31\uCC9C\uB9CC",rg,st,JA|$l|pd);case 33:return Mh(G,"\u96F6\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u5341\u767E\u5343\u842C",rg,st,0);case 32:return Mh(G,"\u96F6\u58F9\u8CB3\u53C3\u56DB\u4E94\u516D\u4E03\u516B\u4E5D","\u62FE\u767E\u5343",rg,st,JA|$l|pd);case 18:return fc(G,2406,2415,!0,j);case 20:return Dd(G,1,19999,Ch,3,j);case 21:return fc(G,2790,2799,!0,j);case 22:return fc(G,2662,2671,!0,j);case 22:return Dd(G,1,10999,Ad,3,j);case 23:return Gh(G,"\u3042\u3044\u3046\u3048\u304A\u304B\u304D\u304F\u3051\u3053\u3055\u3057\u3059\u305B\u305D\u305F\u3061\u3064\u3066\u3068\u306A\u306B\u306C\u306D\u306E\u306F\u3072\u3075\u3078\u307B\u307E\u307F\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308A\u308B\u308C\u308D\u308F\u3090\u3091\u3092\u3093");case 24:return Gh(G,"\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092\u308F\u304B\u3088\u305F\u308C\u305D\u3064\u306D\u306A\u3089\u3080\u3046\u3090\u306E\u304A\u304F\u3084\u307E\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304D\u3086\u3081\u307F\u3057\u3091\u3072\u3082\u305B\u3059");case 27:return fc(G,3302,3311,!0,j);case 28:return Gh(G,"\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F0\u30F1\u30F2\u30F3",Be);case 29:return Gh(G,"\u30A4\u30ED\u30CF\u30CB\u30DB\u30D8\u30C8\u30C1\u30EA\u30CC\u30EB\u30F2\u30EF\u30AB\u30E8\u30BF\u30EC\u30BD\u30C4\u30CD\u30CA\u30E9\u30E0\u30A6\u30F0\u30CE\u30AA\u30AF\u30E4\u30DE\u30B1\u30D5\u30B3\u30A8\u30C6\u30A2\u30B5\u30AD\u30E6\u30E1\u30DF\u30B7\u30F1\u30D2\u30E2\u30BB\u30B9",Be);case 34:return fc(G,3792,3801,!0,j);case 37:return fc(G,6160,6169,!0,j);case 38:return fc(G,4160,4169,!0,j);case 39:return fc(G,2918,2927,!0,j);case 40:return fc(G,1776,1785,!0,j);case 43:return fc(G,3046,3055,!0,j);case 44:return fc(G,3174,3183,!0,j);case 45:return fc(G,3664,3673,!0,j);case 46:return fc(G,3872,3881,!0,j);case 3:default:return fc(G,48,57,!0,j)}},xm="data-html2canvas-ignore",Xc=function(){function G(L,K,j){if(this.context=L,this.options=j,this.scrolledElements=[],this.referenceElement=K,this.counters=new db,this.quoteDepth=0,!K.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(K.ownerDocument.documentElement,!1)}return G.prototype.toIFrame=function(L,K){var j=this,Be=E1(L,K);if(!Be.contentWindow)return Promise.reject("Unable to find iframe window");var st=L.defaultView.pageXOffset,kt=L.defaultView.pageYOffset,fn=Be.contentWindow,pn=fn.document,ar=cu(Be).then(function(){return O(j,void 0,void 0,function(){var pr,Dr;return B(this,function($r){switch($r.label){case 0:return this.scrolledElements.forEach(sg),fn&&(fn.scrollTo(K.left,K.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(fn.scrollY!==K.top||fn.scrollX!==K.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(fn.scrollX-K.left,fn.scrollY-K.top,0,0))),pr=this.options.onclone,Dr=this.clonedReferenceElement,typeof Dr=="undefined"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:pn.fonts&&pn.fonts.ready?[4,pn.fonts.ready]:[3,2];case 1:$r.sent(),$r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,cy(pn)]:[3,4];case 3:$r.sent(),$r.label=4;case 4:return typeof pr=="function"?[2,Promise.resolve().then(function(){return pr(pn,Dr)}).then(function(){return Be})]:[2,Be]}})})});return pn.open(),pn.write(ig(document.doctype)+""),tA(this.referenceElement.ownerDocument,st,kt),pn.replaceChild(pn.adoptNode(this.documentElement),pn.documentElement),pn.close(),ar},G.prototype.createElementClone=function(L){if(uc(L,2))debugger;if(wh(L))return this.createCanvasClone(L);if(XA(L))return this.createVideoClone(L);if(ym(L))return this.createStyleClone(L);var K=L.cloneNode(!1);return qf(K)&&(qf(L)&&L.currentSrc&&L.currentSrc!==L.src&&(K.src=L.currentSrc,K.srcset=""),K.loading==="lazy"&&(K.loading="eager")),Sh(K)?this.createCustomElementClone(K):K},G.prototype.createCustomElementClone=function(L){var K=document.createElement("html2canvascustomelement");return kd(L.style,K),K},G.prototype.createStyleClone=function(L){try{var K=L.sheet;if(K&&K.cssRules){var j=[].slice.call(K.cssRules,0).reduce(function(st,kt){return kt&&typeof kt.cssText=="string"?st+kt.cssText:st},""),Be=L.cloneNode(!1);return Be.textContent=j,Be}}catch(st){if(this.context.logger.error("Unable to access cssRules property",st),st.name!=="SecurityError")throw st}return L.cloneNode(!1)},G.prototype.createCanvasClone=function(L){var K;if(this.options.inlineImages&&L.ownerDocument){var j=L.ownerDocument.createElement("img");try{return j.src=L.toDataURL(),j}catch(ar){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",L)}}var Be=L.cloneNode(!1);try{Be.width=L.width,Be.height=L.height;var st=L.getContext("2d"),kt=Be.getContext("2d");if(kt)if(!this.options.allowTaint&&st)kt.putImageData(st.getImageData(0,0,L.width,L.height),0,0);else{var fn=(K=L.getContext("webgl2"))!==null&&K!==void 0?K:L.getContext("webgl");if(fn){var pn=fn.getContextAttributes();(pn==null?void 0:pn.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",L)}kt.drawImage(L,0,0)}return Be}catch(ar){this.context.logger.info("Unable to clone canvas as it is tainted",L)}return Be},G.prototype.createVideoClone=function(L){var K=L.ownerDocument.createElement("canvas");K.width=L.offsetWidth,K.height=L.offsetHeight;var j=K.getContext("2d");try{return j&&(j.drawImage(L,0,0,K.width,K.height),this.options.allowTaint||j.getImageData(0,0,K.width,K.height)),K}catch(st){this.context.logger.info("Unable to clone video as it is tainted",L)}var Be=L.ownerDocument.createElement("canvas");return Be.width=L.offsetWidth,Be.height=L.offsetHeight,Be},G.prototype.appendChildNode=function(L,K,j){(!Yf(K)||!P0(K)&&!K.hasAttribute(xm)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(K)))&&(!this.options.copyStyles||!Yf(K)||!ym(K))&&L.appendChild(this.cloneNode(K,j))},G.prototype.cloneChildNodes=function(L,K,j){for(var Be=this,st=L.shadowRoot?L.shadowRoot.firstChild:L.firstChild;st;st=st.nextSibling)if(Yf(st)&&Eh(st)&&typeof st.assignedNodes=="function"){var kt=st.assignedNodes();kt.length&&kt.forEach(function(fn){return Be.appendChildNode(K,fn,j)})}else this.appendChildNode(K,st,j)},G.prototype.cloneNode=function(L,K){if(ly(L))return document.createTextNode(L.data);if(!L.ownerDocument)return L.cloneNode(!1);var j=L.ownerDocument.defaultView;if(j&&Yf(L)&&(Eu(L)||vm(L))){var Be=this.createElementClone(L);Be.style.transitionProperty="none";var st=j.getComputedStyle(L),kt=j.getComputedStyle(L,":before"),fn=j.getComputedStyle(L,":after");this.referenceElement===L&&Eu(Be)&&(this.clonedReferenceElement=Be),KA(Be)&&fb(Be);var pn=this.counters.parse(new gh(this.context,st)),ar=this.resolvePseudoContent(L,Be,kt,Ud.BEFORE);Sh(L)&&(K=!0),XA(L)||this.cloneChildNodes(L,Be,K),ar&&Be.insertBefore(ar,Be.firstChild);var pr=this.resolvePseudoContent(L,Be,fn,Ud.AFTER);return pr&&Be.appendChild(pr),this.counters.pop(pn),(st&&(this.options.copyStyles||vm(L))&&!Xo(L)||K)&&kd(st,Be),(L.scrollTop!==0||L.scrollLeft!==0)&&this.scrolledElements.push([Be,L.scrollLeft,L.scrollTop]),(tg(L)||YA(L))&&(tg(Be)||YA(Be))&&(Be.value=L.value),Be}return L.cloneNode(!1)},G.prototype.resolvePseudoContent=function(L,K,j,Be){var st=this;if(j){var kt=j.content,fn=K.ownerDocument;if(!(!fn||!kt||kt==="none"||kt==="-moz-alt-content"||j.display==="none")){this.counters.parse(new gh(this.context,j));var pn=new Wp(this.context,j),ar=fn.createElement("html2canvaspseudoelement");kd(j,ar),pn.content.forEach(function(Dr){if(Dr.type===0)ar.appendChild(fn.createTextNode(Dr.value));else if(Dr.type===22){var $r=fn.createElement("img");$r.src=Dr.value,$r.style.opacity="1",ar.appendChild($r)}else if(Dr.type===18){if(Dr.name==="attr"){var Ts=Dr.values.filter(_o);Ts.length&&ar.appendChild(fn.createTextNode(L.getAttribute(Ts[0].value)||""))}else if(Dr.name==="counter"){var ts=Dr.values.filter(kl),xs=ts[0],to=ts[1];if(xs&&_o(xs)){var sa=st.counters.getCounterValue(xs.value),Hs=to&&_o(to)?Vs.parse(st.context,to.value):3;ar.appendChild(fn.createTextNode(tp(sa,Hs,!1)))}}else if(Dr.name==="counters"){var Qo=Dr.values.filter(kl),xs=Qo[0],ao=Qo[1],to=Qo[2];if(xs&&_o(xs)){var Fa=st.counters.getCounterValues(xs.value),Ms=to&&_o(to)?Vs.parse(st.context,to.value):3,wo=ao&&ao.type===0?ao.value:"",No=Fa.map(function(Ac){return tp(Ac,Ms,!1)}).join(wo);ar.appendChild(fn.createTextNode(No))}}}else if(Dr.type===20)switch(Dr.value){case"open-quote":ar.appendChild(fn.createTextNode(xu(pn.quotes,st.quoteDepth++,!0)));break;case"close-quote":ar.appendChild(fn.createTextNode(xu(pn.quotes,--st.quoteDepth,!1)));break;default:ar.appendChild(fn.createTextNode(Dr.value))}}),ar.className=np+" "+nA;var pr=Be===Ud.BEFORE?" "+np:" "+nA;return vm(K)?K.className.baseValue+=pr:K.className+=pr,ar}}},G.destroy=function(L){return L.parentNode?(L.parentNode.removeChild(L),!0):!1},G}(),Ud;(function(G){G[G.BEFORE=0]="BEFORE",G[G.AFTER=1]="AFTER"})(Ud||(Ud={}));var E1=function(G,L){var K=G.createElement("iframe");return K.className="html2canvas-container",K.style.visibility="hidden",K.style.position="fixed",K.style.left="-10000px",K.style.top="0px",K.style.border="0",K.width=L.width.toString(),K.height=L.height.toString(),K.scrolling="no",K.setAttribute(xm,"true"),G.body.appendChild(K),K},kc=function(G){return new Promise(function(L){if(G.complete){L();return}if(!G.src){L();return}G.onload=L,G.onerror=L})},cy=function(G){return Promise.all([].slice.call(G.images,0).map(kc))},cu=function(G){return new Promise(function(L,K){var j=G.contentWindow;if(!j)return K("No window assigned for iframe");var Be=j.document;j.onload=G.onload=function(){j.onload=G.onload=null;var st=setInterval(function(){Be.body.childNodes.length>0&&Be.readyState==="complete"&&(clearInterval(st),L(G))},50)}})},bm=["all","d","content"],kd=function(G,L){for(var K=G.length-1;K>=0;K--){var j=G.item(K);bm.indexOf(j)===-1&&L.style.setProperty(j,G.getPropertyValue(j))}return L},ig=function(G){var L="";return G&&(L+=""),L},tA=function(G,L,K){G&&G.defaultView&&(L!==G.defaultView.pageXOffset||K!==G.defaultView.pageYOffset)&&G.defaultView.scrollTo(L,K)},sg=function(G){var L=G[0],K=G[1],j=G[2];L.scrollLeft=K,L.scrollTop=j},ag=":before",uy=":after",np="___html2canvas___pseudoelement_before",nA="___html2canvas___pseudoelement_after",_m=`{ + content: "" !important; + display: none !important; +}`,fb=function(G){Ab(G,"."+np+ag+_m+` + .`+nA+uy+_m)},Ab=function(G,L){var K=G.ownerDocument;if(K){var j=K.createElement("style");j.textContent=L,G.appendChild(j)}},og=function(){function G(){}return G.getOrigin=function(L){var K=G._link;return K?(K.href=L,K.href=K.href,K.protocol+K.hostname+K.port):"about:blank"},G.isSameOrigin=function(L){return G.getOrigin(L)===G._origin},G.setContext=function(L){G._link=L.document.createElement("a"),G._origin=G.getOrigin(L.location.href)},G._origin="about:blank",G}(),Qh=function(){function G(L,K){this.context=L,this._options=K,this._cache={}}return G.prototype.addImage=function(L){var K=Promise.resolve();return this.has(L)||(gb(L)||wm(L))&&(this._cache[L]=this.loadImage(L)).catch(function(){}),K},G.prototype.match=function(L){return this._cache[L]},G.prototype.loadImage=function(L){return O(this,void 0,void 0,function(){var K,j,Be,st,kt=this;return B(this,function(fn){switch(fn.label){case 0:return K=og.isSameOrigin(L),j=!dy(L)&&this._options.useCORS===!0&&Ca.SUPPORT_CORS_IMAGES&&!K,Be=!dy(L)&&!K&&!gb(L)&&typeof this._options.proxy=="string"&&Ca.SUPPORT_CORS_XHR&&!j,!K&&this._options.allowTaint===!1&&!dy(L)&&!gb(L)&&!Be&&!j?[2]:(st=L,Be?[4,this.proxy(st)]:[3,2]);case 1:st=fn.sent(),fn.label=2;case 2:return this.context.logger.debug("Added image "+L.substring(0,256)),[4,new Promise(function(pn,ar){var pr=new Image;pr.onload=function(){return pn(pr)},pr.onerror=ar,(fy(st)||j)&&(pr.crossOrigin="anonymous"),pr.src=st,pr.complete===!0&&setTimeout(function(){return pn(pr)},500),kt._options.imageTimeout>0&&setTimeout(function(){return ar("Timed out ("+kt._options.imageTimeout+"ms) loading image")},kt._options.imageTimeout)})];case 3:return[2,fn.sent()]}})})},G.prototype.has=function(L){return typeof this._cache[L]!="undefined"},G.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},G.prototype.proxy=function(L){var K=this,j=this._options.proxy;if(!j)throw new Error("No proxy defined");var Be=L.substring(0,256);return new Promise(function(st,kt){var fn=Ca.SUPPORT_RESPONSE_TYPE?"blob":"text",pn=new XMLHttpRequest;pn.onload=function(){if(pn.status===200)if(fn==="text")st(pn.response);else{var Dr=new FileReader;Dr.addEventListener("load",function(){return st(Dr.result)},!1),Dr.addEventListener("error",function($r){return kt($r)},!1),Dr.readAsDataURL(pn.response)}else kt("Failed to proxy resource "+Be+" with status code "+pn.status)},pn.onerror=kt;var ar=j.indexOf("?")>-1?"&":"?";if(pn.open("GET",""+j+ar+"url="+encodeURIComponent(L)+"&responseType="+fn),fn!=="text"&&pn instanceof XMLHttpRequest&&(pn.responseType=fn),K._options.imageTimeout){var pr=K._options.imageTimeout;pn.timeout=pr,pn.ontimeout=function(){return kt("Timed out ("+pr+"ms) proxying "+Be)}}pn.send()})},G}(),pb=/^data:image\/svg\+xml/i,hy=/^data:image\/.*;base64,/i,F0=/^data:image\/.*/i,wm=function(G){return Ca.SUPPORT_SVG_DRAWING||!Ay(G)},dy=function(G){return F0.test(G)},fy=function(G){return hy.test(G)},gb=function(G){return G.substr(0,4)==="blob"},Ay=function(G){return G.substr(-3).toLowerCase()==="svg"||pb.test(G)},Cs=function(){function G(L,K){this.type=0,this.x=L,this.y=K}return G.prototype.add=function(L,K){return new G(this.x+L,this.y+K)},G}(),lg=function(G,L,K){return new Cs(G.x+(L.x-G.x)*K,G.y+(L.y-G.y)*K)},cg=function(){function G(L,K,j,Be){this.type=1,this.start=L,this.startControl=K,this.endControl=j,this.end=Be}return G.prototype.subdivide=function(L,K){var j=lg(this.start,this.startControl,L),Be=lg(this.startControl,this.endControl,L),st=lg(this.endControl,this.end,L),kt=lg(j,Be,L),fn=lg(Be,st,L),pn=lg(kt,fn,L);return K?new G(this.start,j,kt,pn):new G(pn,fn,st,this.end)},G.prototype.add=function(L,K){return new G(this.start.add(L,K),this.startControl.add(L,K),this.endControl.add(L,K),this.end.add(L,K))},G.prototype.reverse=function(){return new G(this.end,this.endControl,this.startControl,this.start)},G}(),Wh=function(G){return G.type===1},py=function(){function G(L){var K=L.styles,j=L.bounds,Be=Lc(K.borderTopLeftRadius,j.width,j.height),st=Be[0],kt=Be[1],fn=Lc(K.borderTopRightRadius,j.width,j.height),pn=fn[0],ar=fn[1],pr=Lc(K.borderBottomRightRadius,j.width,j.height),Dr=pr[0],$r=pr[1],Ts=Lc(K.borderBottomLeftRadius,j.width,j.height),ts=Ts[0],xs=Ts[1],to=[];to.push((st+pn)/j.width),to.push((ts+Dr)/j.width),to.push((kt+xs)/j.height),to.push((ar+$r)/j.height);var sa=Math.max.apply(Math,to);sa>1&&(st/=sa,kt/=sa,pn/=sa,ar/=sa,Dr/=sa,$r/=sa,ts/=sa,xs/=sa);var Hs=j.width-pn,Qo=j.height-$r,ao=j.width-Dr,Fa=j.height-xs,Ms=K.borderTopWidth,wo=K.borderRightWidth,No=K.borderBottomWidth,ka=K.borderLeftWidth,Jo=go(K.paddingTop,L.bounds.width),Ac=go(K.paddingRight,L.bounds.width),xc=go(K.paddingBottom,L.bounds.width),el=go(K.paddingLeft,L.bounds.width);this.topLeftBorderDoubleOuterBox=st>0||kt>0?yl(j.left+ka/3,j.top+Ms/3,st-ka/3,kt-Ms/3,ja.TOP_LEFT):new Cs(j.left+ka/3,j.top+Ms/3),this.topRightBorderDoubleOuterBox=st>0||kt>0?yl(j.left+Hs,j.top+Ms/3,pn-wo/3,ar-Ms/3,ja.TOP_RIGHT):new Cs(j.left+j.width-wo/3,j.top+Ms/3),this.bottomRightBorderDoubleOuterBox=Dr>0||$r>0?yl(j.left+ao,j.top+Qo,Dr-wo/3,$r-No/3,ja.BOTTOM_RIGHT):new Cs(j.left+j.width-wo/3,j.top+j.height-No/3),this.bottomLeftBorderDoubleOuterBox=ts>0||xs>0?yl(j.left+ka/3,j.top+Fa,ts-ka/3,xs-No/3,ja.BOTTOM_LEFT):new Cs(j.left+ka/3,j.top+j.height-No/3),this.topLeftBorderDoubleInnerBox=st>0||kt>0?yl(j.left+ka*2/3,j.top+Ms*2/3,st-ka*2/3,kt-Ms*2/3,ja.TOP_LEFT):new Cs(j.left+ka*2/3,j.top+Ms*2/3),this.topRightBorderDoubleInnerBox=st>0||kt>0?yl(j.left+Hs,j.top+Ms*2/3,pn-wo*2/3,ar-Ms*2/3,ja.TOP_RIGHT):new Cs(j.left+j.width-wo*2/3,j.top+Ms*2/3),this.bottomRightBorderDoubleInnerBox=Dr>0||$r>0?yl(j.left+ao,j.top+Qo,Dr-wo*2/3,$r-No*2/3,ja.BOTTOM_RIGHT):new Cs(j.left+j.width-wo*2/3,j.top+j.height-No*2/3),this.bottomLeftBorderDoubleInnerBox=ts>0||xs>0?yl(j.left+ka*2/3,j.top+Fa,ts-ka*2/3,xs-No*2/3,ja.BOTTOM_LEFT):new Cs(j.left+ka*2/3,j.top+j.height-No*2/3),this.topLeftBorderStroke=st>0||kt>0?yl(j.left+ka/2,j.top+Ms/2,st-ka/2,kt-Ms/2,ja.TOP_LEFT):new Cs(j.left+ka/2,j.top+Ms/2),this.topRightBorderStroke=st>0||kt>0?yl(j.left+Hs,j.top+Ms/2,pn-wo/2,ar-Ms/2,ja.TOP_RIGHT):new Cs(j.left+j.width-wo/2,j.top+Ms/2),this.bottomRightBorderStroke=Dr>0||$r>0?yl(j.left+ao,j.top+Qo,Dr-wo/2,$r-No/2,ja.BOTTOM_RIGHT):new Cs(j.left+j.width-wo/2,j.top+j.height-No/2),this.bottomLeftBorderStroke=ts>0||xs>0?yl(j.left+ka/2,j.top+Fa,ts-ka/2,xs-No/2,ja.BOTTOM_LEFT):new Cs(j.left+ka/2,j.top+j.height-No/2),this.topLeftBorderBox=st>0||kt>0?yl(j.left,j.top,st,kt,ja.TOP_LEFT):new Cs(j.left,j.top),this.topRightBorderBox=pn>0||ar>0?yl(j.left+Hs,j.top,pn,ar,ja.TOP_RIGHT):new Cs(j.left+j.width,j.top),this.bottomRightBorderBox=Dr>0||$r>0?yl(j.left+ao,j.top+Qo,Dr,$r,ja.BOTTOM_RIGHT):new Cs(j.left+j.width,j.top+j.height),this.bottomLeftBorderBox=ts>0||xs>0?yl(j.left,j.top+Fa,ts,xs,ja.BOTTOM_LEFT):new Cs(j.left,j.top+j.height),this.topLeftPaddingBox=st>0||kt>0?yl(j.left+ka,j.top+Ms,Math.max(0,st-ka),Math.max(0,kt-Ms),ja.TOP_LEFT):new Cs(j.left+ka,j.top+Ms),this.topRightPaddingBox=pn>0||ar>0?yl(j.left+Math.min(Hs,j.width-wo),j.top+Ms,Hs>j.width+wo?0:Math.max(0,pn-wo),Math.max(0,ar-Ms),ja.TOP_RIGHT):new Cs(j.left+j.width-wo,j.top+Ms),this.bottomRightPaddingBox=Dr>0||$r>0?yl(j.left+Math.min(ao,j.width-ka),j.top+Math.min(Qo,j.height-No),Math.max(0,Dr-wo),Math.max(0,$r-No),ja.BOTTOM_RIGHT):new Cs(j.left+j.width-wo,j.top+j.height-No),this.bottomLeftPaddingBox=ts>0||xs>0?yl(j.left+ka,j.top+Math.min(Fa,j.height-No),Math.max(0,ts-ka),Math.max(0,xs-No),ja.BOTTOM_LEFT):new Cs(j.left+ka,j.top+j.height-No),this.topLeftContentBox=st>0||kt>0?yl(j.left+ka+el,j.top+Ms+Jo,Math.max(0,st-(ka+el)),Math.max(0,kt-(Ms+Jo)),ja.TOP_LEFT):new Cs(j.left+ka+el,j.top+Ms+Jo),this.topRightContentBox=pn>0||ar>0?yl(j.left+Math.min(Hs,j.width+ka+el),j.top+Ms+Jo,Hs>j.width+ka+el?0:pn-ka+el,ar-(Ms+Jo),ja.TOP_RIGHT):new Cs(j.left+j.width-(wo+Ac),j.top+Ms+Jo),this.bottomRightContentBox=Dr>0||$r>0?yl(j.left+Math.min(ao,j.width-(ka+el)),j.top+Math.min(Qo,j.height+Ms+Jo),Math.max(0,Dr-(wo+Ac)),$r-(No+xc),ja.BOTTOM_RIGHT):new Cs(j.left+j.width-(wo+Ac),j.top+j.height-(No+xc)),this.bottomLeftContentBox=ts>0||xs>0?yl(j.left+ka+el,j.top+Fa,Math.max(0,ts-(ka+el)),xs-(No+xc),ja.BOTTOM_LEFT):new Cs(j.left+ka+el,j.top+j.height-(No+xc))}return G}(),ja;(function(G){G[G.TOP_LEFT=0]="TOP_LEFT",G[G.TOP_RIGHT=1]="TOP_RIGHT",G[G.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",G[G.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(ja||(ja={}));var yl=function(G,L,K,j,Be){var st=4*((Math.sqrt(2)-1)/3),kt=K*st,fn=j*st,pn=G+K,ar=L+j;switch(Be){case ja.TOP_LEFT:return new cg(new Cs(G,ar),new Cs(G,ar-fn),new Cs(pn-kt,L),new Cs(pn,L));case ja.TOP_RIGHT:return new cg(new Cs(G,L),new Cs(G+kt,L),new Cs(pn,ar-fn),new Cs(pn,ar));case ja.BOTTOM_RIGHT:return new cg(new Cs(pn,L),new Cs(pn,L+fn),new Cs(G+kt,ar),new Cs(G,ar));case ja.BOTTOM_LEFT:default:return new cg(new Cs(pn,ar),new Cs(pn-kt,ar),new Cs(G,L+fn),new Cs(G,L))}},Yc=function(G){return[G.topLeftBorderBox,G.topRightBorderBox,G.bottomRightBorderBox,G.bottomLeftBorderBox]},ug=function(G){return[G.topLeftContentBox,G.topRightContentBox,G.bottomRightContentBox,G.bottomLeftContentBox]},zd=function(G){return[G.topLeftPaddingBox,G.topRightPaddingBox,G.bottomRightPaddingBox,G.bottomLeftPaddingBox]},rA=function(){function G(L,K,j){this.offsetX=L,this.offsetY=K,this.matrix=j,this.type=0,this.target=6}return G}(),yf=function(){function G(L,K){this.path=L,this.target=K,this.type=1}return G}(),iA=function(){function G(L){this.opacity=L,this.type=2,this.target=6}return G}(),O0=function(G){return G.type===0},rp=function(G){return G.type===1},Em=function(G){return G.type===2},Sm=function(G,L){return G.length===L.length?G.some(function(K,j){return K===L[j]}):!1},hg=function(G,L,K,j,Be){return G.map(function(st,kt){switch(kt){case 0:return st.add(L,K);case 1:return st.add(L+j,K);case 2:return st.add(L+j,K+Be);case 3:return st.add(L,K+Be)}return st})},gy=function(){function G(L){this.element=L,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return G}(),Zh=function(){function G(L,K){if(this.container=L,this.parent=K,this.effects=[],this.curves=new py(this.container),this.container.styles.opacity<1&&this.effects.push(new iA(this.container.styles.opacity)),this.container.styles.transform!==null){var j=this.container.bounds.left+this.container.styles.transformOrigin[0].number,Be=this.container.bounds.top+this.container.styles.transformOrigin[1].number,st=this.container.styles.transform;this.effects.push(new rA(j,Be,st))}if(this.container.styles.overflowX!==0){var kt=Yc(this.curves),fn=zd(this.curves);Sm(kt,fn)?this.effects.push(new yf(kt,6)):(this.effects.push(new yf(kt,2)),this.effects.push(new yf(fn,4)))}}return G.prototype.getEffects=function(L){for(var K=[2,3].indexOf(this.container.styles.position)===-1,j=this.parent,Be=this.effects.slice(0);j;){var st=j.effects.filter(function(pn){return!rp(pn)});if(K||j.container.styles.position!==0||!j.parent){if(Be.unshift.apply(Be,st),K=[2,3].indexOf(j.container.styles.position)===-1,j.container.styles.overflowX!==0){var kt=Yc(j.curves),fn=zd(j.curves);Sm(kt,fn)||Be.unshift(new yf(fn,6))}}else Be.unshift.apply(Be,st);j=j.parent}return Be.filter(function(pn){return Ml(pn.target,L)})},G}(),ip=function(G,L,K,j){G.container.elements.forEach(function(Be){var st=Ml(Be.flags,4),kt=Ml(Be.flags,2),fn=new Zh(Be,G);Ml(Be.styles.display,2048)&&j.push(fn);var pn=Ml(Be.flags,8)?[]:j;if(st||kt){var ar=st||Be.styles.isPositioned()?K:L,pr=new gy(fn);if(Be.styles.isPositioned()||Be.styles.opacity<1||Be.styles.isTransformed()){var Dr=Be.styles.zIndex.order;if(Dr<0){var $r=0;ar.negativeZIndex.some(function(ts,xs){return Dr>ts.element.container.styles.zIndex.order?($r=xs,!1):$r>0}),ar.negativeZIndex.splice($r,0,pr)}else if(Dr>0){var Ts=0;ar.positiveZIndex.some(function(ts,xs){return Dr>=ts.element.container.styles.zIndex.order?(Ts=xs+1,!1):Ts>0}),ar.positiveZIndex.splice(Ts,0,pr)}else ar.zeroOrAutoZIndexOrTransformedOrOpacity.push(pr)}else Be.styles.isFloating()?ar.nonPositionedFloats.push(pr):ar.nonPositionedInlineLevel.push(pr);ip(fn,pr,st?pr:K,pn)}else Be.styles.isInlineLevel()?L.inlineLevel.push(fn):L.nonInlineLevel.push(fn),ip(fn,L,K,pn);Ml(Be.flags,8)&&my(Be,pn)})},my=function(G,L){for(var K=G instanceof gf?G.start:1,j=G instanceof gf?G.reversed:!1,Be=0;Be0&&K.intrinsicHeight>0){var st=ne(K),kt=zd(j);this.path(kt),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(Be,0,0,K.intrinsicWidth,K.intrinsicHeight,st.left,st.top,st.width,st.height),this.ctx.restore()}},L.prototype.renderNodeContent=function(K){return O(this,void 0,void 0,function(){var j,Be,st,kt,fn,pn,Hs,Hs,ar,pr,Dr,$r,ao,Ts,ts,Fa,xs,to,sa,Hs,Qo,ao,Fa;return B(this,function(Ms){switch(Ms.label){case 0:this.applyEffects(K.getEffects(4)),j=K.container,Be=K.curves,st=j.styles,kt=0,fn=j.textNodes,Ms.label=1;case 1:return kt0&&qc>0&&(No=st.ctx.createPattern(Fa,"repeat"),st.renderRepeat(Jo,No,uu,zu))):Fn(pr)&&(ka=At(K,j,[null,null,null]),Jo=ka[0],Ac=ka[1],xc=ka[2],el=ka[3],qc=ka[4],xf=pr.position.length===0?[mu]:pr.position,uu=go(xf[0],el),zu=go(xf[xf.length-1],qc),bf=ld(pr,uu,zu,el,qc),eh=bf[0],_f=bf[1],eh>0&&_f>0&&(sA=st.ctx.createRadialGradient(Ac+uu,xc+zu,0,Ac+uu,xc+zu,eh),PA(pr.stops,eh*2).forEach(function(ap){return sA.addColorStop(ap.stop,La(ap.color))}),st.path(Jo),st.ctx.fillStyle=sA,eh!==_f?(dg=K.bounds.left+.5*K.bounds.width,th=K.bounds.top+.5*K.bounds.height,aA=_f/eh,Vd=1/aA,st.ctx.save(),st.ctx.translate(dg,th),st.ctx.transform(1,0,0,aA,0,0),st.ctx.translate(-dg,-th),st.ctx.fillRect(Ac,Vd*(xc-th)+th,el,qc*Vd),st.ctx.restore()):st.ctx.fill())),sp.label=6;case 6:return j--,[2]}})},st=this,kt=0,fn=K.styles.backgroundImage.slice(0).reverse(),ar.label=1;case 1:return kt0?pr.style!==2?[3,5]:[4,this.renderDashedDottedBorder(pr.color,pr.width,fn,K.curves,2)]:[3,11]):[3,13];case 4:return $r.sent(),[3,11];case 5:return pr.style!==3?[3,7]:[4,this.renderDashedDottedBorder(pr.color,pr.width,fn,K.curves,3)];case 6:return $r.sent(),[3,11];case 7:return pr.style!==4?[3,9]:[4,this.renderDoubleBorder(pr.color,pr.width,fn,K.curves)];case 8:return $r.sent(),[3,11];case 9:return[4,this.renderSolidBorder(pr.color,fn,K.curves)];case 10:$r.sent(),$r.label=11;case 11:fn++,$r.label=12;case 12:return pn++,[3,3];case 13:return[2]}})})},L.prototype.renderDashedDottedBorder=function(K,j,Be,st,kt){return O(this,void 0,void 0,function(){var fn,pn,ar,pr,Dr,$r,Ts,ts,xs,to,sa,Hs,Qo,ao,Fa,Ms,Fa,Ms;return B(this,function(wo){return this.ctx.save(),fn=g(st,Be),pn=w(st,Be),kt===2&&(this.path(pn),this.ctx.clip()),Wh(pn[0])?(ar=pn[0].start.x,pr=pn[0].start.y):(ar=pn[0].x,pr=pn[0].y),Wh(pn[1])?(Dr=pn[1].end.x,$r=pn[1].end.y):(Dr=pn[1].x,$r=pn[1].y),Be===0||Be===2?Ts=Math.abs(ar-Dr):Ts=Math.abs(pr-$r),this.ctx.beginPath(),kt===3?this.formatPath(fn):this.formatPath(pn.slice(0,2)),ts=j<3?j*3:j*2,xs=j<3?j*2:j,kt===3&&(ts=j,xs=j),to=!0,Ts<=ts*2?to=!1:Ts<=ts*2+xs?(sa=Ts/(2*ts+xs),ts*=sa,xs*=sa):(Hs=Math.floor((Ts+xs)/(ts+xs)),Qo=(Ts-Hs*ts)/(Hs-1),ao=(Ts-(Hs+1)*ts)/Hs,xs=ao<=0||Math.abs(xs-Qo)=2&&xe(R[R.length-2],R[R.length-1],B[_])<=0;)R.pop();R.push(B[_])}return R.pop(),R}function m(B){const R=B.reverse(),_=[];for(let I=0;I=2&&xe(_[_.length-2],_[_.length-1],R[I])<=0;)_.pop();_.push(R[I])}return _.pop(),_}function O(B){const R=v(B),I=m(B).concat(R);return I.push(B[0]),I}Re.exports=O},11950:function(Re){Re.exports={toXy:function(xe,v){return v===void 0?xe.slice():xe.map(function(m){return new Function("pt","return [pt"+v[0]+",pt"+v[1]+"];")(m)})},fromXy:function(xe,v){return v===void 0?xe.slice():xe.map(function(m){return new Function("pt","const o = {}; o"+v[0]+"= pt[0]; o"+v[1]+"= pt[1]; return o;")(m)})}}},98204:function(Re){function xe(m,O){this._cells=[],this._cellSize=O,this._reverseCellSize=1/O;for(let B=0;B=0;Te--)fe[Te][0]Ze&&(Ze=fe[Te][0]),fe[Te][1]>Ye&&(Ye=fe[Te][1]);return[Ze-Le,Ye-Me]}function D(fe){return[Math.min(fe[0][0],fe[1][0]),Math.min(fe[0][1],fe[1][1]),Math.max(fe[0][0],fe[1][0]),Math.max(fe[0][1],fe[1][1])]}function z(fe,Le,Me){let Ze=null,Ye=ge,Te=ge,be,Ge;for(let Je=0;JeYe&&Ge>Te&&!F([fe[0],Le[Je]],Me)&&!F([fe[1],Le[Je]],Me)&&(Ye=be,Te=Ge,Ze=Le[Je]);return Ze}function ee(fe,Le,Me,Ze,Ye){let Te=!1;for(let be=0;becn||Me[1]>Sn));cn>=Me[0]&&Sn>=Me[1]&&Ye.add(Je),vn!==null&&(fe.splice(be+1,0,vn),Ze.removePoint(vn),Te=!0)}return Te?ee(fe,Le,Me,Ze,Ye):fe}function te(fe,Le,Me){let Ze=Le||20;const Ye=_(I(B.toXy(fe,Me)));if(Ye.length<4){const cn=Ye.concat([Ye[0]]);return Me?B.fromXy(cn,Me):cn}const Te=T(Ye),be=[Te[0]*pe,Te[1]*pe],Ge=R(Ye),Je=Ye.filter(function(cn){return Ge.indexOf(cn)<0}),it=Math.ceil(1/(Ye.length/(Te[0]*Te[1]))),$t=ee(Ge,Math.pow(Ze,2),be,O(Je,it),new Set);return Me?B.fromXy($t,Me):$t}const ge=Math.cos(90/(180/Math.PI)),pe=.6;Re.exports=te},86972:function(Re){function xe(m,O,B,R,_,I){const E=(I-O)*(B-m)-(R-O)*(_-m);return E>0?!0:!(E<0)}function v(m,O){const B=m[0][0],R=m[0][1],_=m[1][0],I=m[1][1],E=O[0][0],N=O[0][1],F=O[1][0],T=O[1][1];return xe(B,R,E,N,F,T)!==xe(_,I,E,N,F,T)&&xe(B,R,_,I,E,N)!==xe(B,R,_,I,F,T)}Re.exports=v},34634:function(Re,xe,v){"use strict";v.r(xe),v.d(xe,{isAnyArray:function(){return O}});const m=Object.prototype.toString;function O(B){const R=m.call(B);return R.endsWith("Array]")&&!R.includes("Big")}},55973:function(Re){Re.exports=function(v){return!v||typeof v=="string"?!1:v instanceof Array||Array.isArray(v)||v.length>=0&&(v.splice instanceof Function||Object.getOwnPropertyDescriptor(v,v.length-1)&&v.constructor.name!=="String")}},23346:function(Re,xe,v){var m=v(93454),O=v(40911),B=m(O,"DataView");Re.exports=B},36025:function(Re,xe,v){var m=v(93454),O=v(40911),B=m(O,"Promise");Re.exports=B},73230:function(Re,xe,v){var m=v(93454),O=v(40911),B=m(O,"Set");Re.exports=B},66643:function(Re,xe,v){var m=v(97800),O=v(81685),B=v(1324);function R(_){var I=-1,E=_==null?0:_.length;for(this.__data__=new m;++I-1}Re.exports=O},90746:function(Re){function xe(v,m,O){for(var B=-1,R=v==null?0:v.length;++B0&&I(D)?_>1?B(D,_-1,I,E,N):m(N,D):E||(N[N.length]=D)}return N}Re.exports=B},23543:function(Re,xe,v){var m=v(43294),O=v(66357);function B(R,_){return R&&m(R,_,O)}Re.exports=B},96980:function(Re,xe,v){var m=v(89382),O=v(90370);function B(R,_){_=m(_,R);for(var I=0,E=_.length;R!=null&&Im}Re.exports=xe},11874:function(Re){var xe=Object.prototype,v=xe.hasOwnProperty;function m(O,B){return O!=null&&v.call(O,B)}Re.exports=m},45146:function(Re){function xe(v,m){return v!=null&&m in Object(v)}Re.exports=xe},17713:function(Re,xe,v){var m=v(33405),O=v(17406),B=v(68048);function R(_,I,E){return I===I?B(_,I,E):m(_,O,E)}Re.exports=R},30433:function(Re,xe,v){var m=v(98317),O=v(71161);function B(R,_,I,E,N){return R===_?!0:R==null||_==null||!O(R)&&!O(_)?R!==R&&_!==_:m(R,_,I,E,B,N)}Re.exports=B},98317:function(Re,xe,v){var m=v(26163),O=v(70670),B=v(23499),R=v(83544),_=v(29148),I=v(41594),E=v(33636),N=v(53745),F=1,T="[object Arguments]",D="[object Array]",z="[object Object]",ee=Object.prototype,te=ee.hasOwnProperty;function ge(pe,fe,Le,Me,Ze,Ye){var Te=I(pe),be=I(fe),Ge=Te?D:_(pe),Je=be?D:_(fe);Ge=Ge==T?z:Ge,Je=Je==T?z:Je;var it=Ge==z,$t=Je==z,cn=Ge==Je;if(cn&&E(pe)){if(!E(fe))return!1;Te=!0,it=!1}if(cn&&!it)return Ye||(Ye=new m),Te||N(pe)?O(pe,fe,Le,Me,Ze,Ye):B(pe,fe,Ge,Le,Me,Ze,Ye);if(!(Le&F)){var Sn=it&&te.call(pe,"__wrapped__"),vn=$t&&te.call(fe,"__wrapped__");if(Sn||vn){var Qn=Sn?pe.value():pe,xn=vn?fe.value():fe;return Ye||(Ye=new m),Ze(Qn,xn,Le,Me,Ye)}}return cn?(Ye||(Ye=new m),R(pe,fe,Le,Me,Ze,Ye)):!1}Re.exports=ge},9961:function(Re,xe,v){var m=v(29148),O=v(71161),B="[object Map]";function R(_){return O(_)&&m(_)==B}Re.exports=R},44626:function(Re,xe,v){var m=v(26163),O=v(30433),B=1,R=2;function _(I,E,N,F){var T=N.length,D=T,z=!F;if(I==null)return!D;for(I=Object(I);T--;){var ee=N[T];if(z&&ee[2]?ee[1]!==I[ee[0]]:!(ee[0]in I))return!1}for(;++T=E){var Le=T?null:_(F);if(Le)return I(Le);ge=!1,ee=R,fe=new m}else fe=T?[]:pe;e:for(;++zR||N&&F&&D&&!T&&!z||I&&F&&D||!_&&D||!E)return 1;if(!I&&!N&&!z&&B=T)return D;var z=_[I];return D*(z=="desc"?-1:1)}}return B.index-R.index}Re.exports=O},45280:function(Re,xe,v){var m=v(39408),O=v(69601);function B(R,_){return m(R,O(R),_)}Re.exports=B},24299:function(Re,xe,v){var m=v(39408),O=v(72426);function B(R,_){return m(R,O(R),_)}Re.exports=B},26503:function(Re,xe,v){var m=v(9015);function O(B,R){return function(_,I){if(_==null)return _;if(!m(_))return B(_,I);for(var E=_.length,N=R?E:-1,F=Object(_);(R?N--:++N-1?F[T?I[D]:D]:void 0}}Re.exports=R},6651:function(Re,xe,v){var m=v(91018),O=v(20688),B=v(925);function R(_){return function(I,E,N){return N&&typeof N!="number"&&O(I,E,N)&&(E=N=void 0),I=B(I),E===void 0?(E=I,I=0):E=B(E),N=N===void 0?Ite))return!1;var pe=z.get(E),fe=z.get(N);if(pe&&fe)return pe==N&&fe==E;var Le=-1,Me=!0,Ze=F&_?new m:void 0;for(z.set(E,N),z.set(N,E);++Le2?F[2]:void 0;for(z&&B(F[0],F[1],z)&&(D=1);++T1&&R(I,E[0],E[1])?E=[]:N>2&&R(E[0],E[1],E[2])&&(E=[E[0]]),O(I,m(E,1),[])});Re.exports=_},57004:function(Re){function xe(){return[]}Re.exports=xe},925:function(Re,xe,v){var m=v(13933),O=1/0,B=17976931348623157e292;function R(_){if(!_)return _===0?_:0;if(_=m(_),_===O||_===-O){var I=_<0?-1:1;return I*B}return _===_?_:0}Re.exports=R},46588:function(Re,xe,v){var m=v(925);function O(B){var R=m(B),_=R%1;return R===R?_?R-_:R:0}Re.exports=O},13933:function(Re,xe,v){var m=v(8944),O=v(71721),B=v(66459),R=NaN,_=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,E=/^0o[0-7]+$/i,N=parseInt;function F(T){if(typeof T=="number")return T;if(B(T))return R;if(O(T)){var D=typeof T.valueOf=="function"?T.valueOf():T;T=O(D)?D+"":D}if(typeof T!="string")return T===0?T:+T;T=m(T);var z=I.test(T);return z||E.test(T)?N(T.slice(2),z?2:8):_.test(T)?R:+T}Re.exports=F},14135:function(Re,xe,v){var m=v(12580);function O(B){return B==null?"":m(B)}Re.exports=O},61477:function(Re,xe,v){var m=v(22899),O=v(93511),B=v(23543),R=v(71499),_=v(13530),I=v(41594),E=v(33636),N=v(92581),F=v(71721),T=v(53745);function D(z,ee,te){var ge=I(z),pe=ge||E(z)||T(z);if(ee=R(ee,4),te==null){var fe=z&&z.constructor;pe?te=ge?new fe:[]:F(z)?te=N(fe)?O(_(z)):{}:te={}}return(pe?m:B)(z,function(Le,Me,Ze){return ee(te,Le,Me,Ze)}),te}Re.exports=D},99477:function(Re,xe,v){var m=v(27417),O=v(2440),B=v(75996),R=v(20577),_=O(function(I){return B(m(I,1,R,!0))});Re.exports=_},69624:function(Re,xe,v){var m=v(14135),O=0;function B(R){var _=++O;return m(R)+_}Re.exports=B},72834:function(Re,xe,v){var m=v(98030),O=v(66357);function B(R){return R==null?[]:m(R,O(R))}Re.exports=B},79261:function(Re,xe,v){var m=v(78436),O=v(30232);function B(R,_){return O(R||[],_||[],m)}Re.exports=B},34402:function(Re,xe,v){"use strict";v.r(xe),v.d(xe,{default:function(){return R}});var m=v(34634);function O(_){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,m.isAnyArray)(_))throw new TypeError("input must be an array");if(_.length===0)throw new TypeError("input must not be empty");var E=I.fromIndex,N=E===void 0?0:E,F=I.toIndex,T=F===void 0?_.length:F;if(N<0||N>=_.length||!Number.isInteger(N))throw new Error("fromIndex must be a positive integer smaller than length");if(T<=N||T>_.length||!Number.isInteger(T))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var D=_[N],z=N+1;zD&&(D=_[z]);return D}function B(_){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!(0,m.isAnyArray)(_))throw new TypeError("input must be an array");if(_.length===0)throw new TypeError("input must not be empty");var E=I.fromIndex,N=E===void 0?0:E,F=I.toIndex,T=F===void 0?_.length:F;if(N<0||N>=_.length||!Number.isInteger(N))throw new Error("fromIndex must be a positive integer smaller than length");if(T<=N||T>_.length||!Number.isInteger(T))throw new Error("toIndex must be an integer greater than fromIndex and at most equal to length");for(var D=_[N],z=N+1;z1&&arguments[1]!==void 0?arguments[1]:{};if((0,m.isAnyArray)(_)){if(_.length===0)throw new TypeError("input must not be empty")}else throw new TypeError("input must be an array");var E;if(I.output!==void 0){if(!(0,m.isAnyArray)(I.output))throw new TypeError("output option must be an array if specified");E=I.output}else E=new Array(_.length);var N=B(_),F=O(_);if(N===F)throw new RangeError("minimum and maximum input values are equal. Cannot rescale a constant array");var T=I.min,D=T===void 0?I.autoMinMax?N:0:T,z=I.max,ee=z===void 0?I.autoMinMax?F:1:z;if(D>=ee)throw new RangeError("min option must be smaller than max option");for(var te=(ee-D)/(F-N),ge=0;ge<_.length;ge++)E[ge]=(_[ge]-N)*te+D;return E}},91998:function(Re,xe,v){Re.exports=O,Re.exports.simulator=v(72879);var m=v(82396);function O(R,_){if(!R)throw new Error("Graph structure cannot be undefined");var I=_&&_.createSimulator||v(72879),E=I(_);if(Array.isArray(_))throw new Error("Physics settings is expected to be an object");var N=R.version>19?Un:xn;_&&typeof _.nodeMass=="function"&&(N=_.nodeMass);var F=new Map,T={},D=0,z=E.settings.springTransform||B;be(),Ze();var ee=!1,te={step:function(){if(D===0)return ge(!0),!0;var ke=E.step();te.lastMove=ke,te.fire("step");var ot=ke/D,Ht=ot<=.01;return ge(Ht),Ht},getNodePosition:function(ke){return Qn(ke).pos},setNodePosition:function(ke){var ot=Qn(ke);ot.setPosition.apply(ot,Array.prototype.slice.call(arguments,1))},getLinkPosition:function(ke){var ot=T[ke];if(ot)return{from:ot.from.pos,to:ot.to.pos}},getGraphRect:function(){return E.getBBox()},forEachBody:pe,pinNode:function(ke,ot){var Ht=Qn(ke.id);Ht.isPinned=!!ot},isNodePinned:function(ke){return Qn(ke.id).isPinned},dispose:function(){R.off("changed",Te),te.fire("disposed")},getBody:Me,getSpring:Le,getForceVectorLength:fe,simulator:E,graph:R,lastMove:0};return m(te),te;function ge(ke){ee!==ke&&(ee=ke,Ye(ke))}function pe(ke){F.forEach(ke)}function fe(){var ke=0,ot=0;return pe(function(Ht){ke+=Math.abs(Ht.force.x),ot+=Math.abs(Ht.force.y)}),Math.sqrt(ke*ke+ot*ot)}function Le(ke,ot){var Ht;if(ot===void 0)typeof ke!="object"?Ht=ke:Ht=ke.id;else{var On=R.hasLink(ke,ot);if(!On)return;Ht=On.id}return T[Ht]}function Me(ke){return F.get(ke)}function Ze(){R.on("changed",Te)}function Ye(ke){te.fire("stable",ke)}function Te(ke){for(var ot=0;ot max_{var}) max_{var} = bodyPos.{var};",{indent:6})} + } + + ${_("boundingBox.min_{var} = min_{var};",{indent:4})} + ${_("boundingBox.max_{var} = max_{var};",{indent:4})} + } + + function resetBoundingBox() { + ${_("boundingBox.min_{var} = boundingBox.max_{var} = 0;",{indent:4})} + } +`}},53623:function(Re,xe,v){const m=v(98786);Re.exports=O,Re.exports.generateCreateBodyFunctionBody=B,Re.exports.getVectorCode=_,Re.exports.getBodyCode=R;function O(I,E){let N=B(I,E),{Body:F}=new Function(N)();return F}function B(I,E){return` +${_(I,E)} +${R(I,E)} +return {Body: Body, Vector: Vector}; +`}function R(I){let E=m(I),N=E("{var}",{join:", "});return` +function Body(${N}) { + this.isPinned = false; + this.pos = new Vector(${N}); + this.force = new Vector(); + this.velocity = new Vector(); + this.mass = 1; + + this.springCount = 0; + this.springLength = 0; +} + +Body.prototype.reset = function() { + this.force.reset(); + this.springCount = 0; + this.springLength = 0; +} + +Body.prototype.setPosition = function (${N}) { + ${E("this.pos.{var} = {var} || 0;",{indent:2})} +};`}function _(I,E){let N=m(I),F="";return E&&(F=`${N(` + var v{var}; +Object.defineProperty(this, '{var}', { + set: function(v) { + if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}'); + v{var} = v; + }, + get: function() { return v{var}; } +});`)}`),`function Vector(${N("{var}",{join:", "})}) { + ${F} + if (typeof arguments[0] === 'object') { + // could be another vector + let v = arguments[0]; + ${N('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',{indent:4})} + ${N("this.{var} = v.{var};",{indent:4})} + } else { + ${N('this.{var} = typeof {var} === "number" ? {var} : 0;',{indent:4})} + } + } + + Vector.prototype.reset = function () { + ${N("this.{var} = ",{join:""})}0; + };`}},48812:function(Re,xe,v){const m=v(98786);Re.exports=O,Re.exports.generateCreateDragForceFunctionBody=B;function O(R){let _=B(R);return new Function("options",_)}function B(R){return` + if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number'); + + return { + update: function(body) { + ${m(R)("body.force.{var} -= options.dragCoefficient * body.velocity.{var};",{indent:6})} + } + }; +`}},7584:function(Re,xe,v){const m=v(98786);Re.exports=O,Re.exports.generateCreateSpringForceFunctionBody=B;function O(R){let _=B(R);return new Function("options","random",_)}function B(R){let _=m(R);return` + if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number'); + if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number'); + + return { + /** + * Updates forces acting on a spring + */ + update: function (spring) { + var body1 = spring.from; + var body2 = spring.to; + var length = spring.length < 0 ? options.springLength : spring.length; + ${_("var d{var} = body2.pos.{var} - body1.pos.{var};",{indent:6})} + var r = Math.sqrt(${_("d{var} * d{var}",{join:" + "})}); + + if (r === 0) { + ${_("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:8})} + r = Math.sqrt(${_("d{var} * d{var}",{join:" + "})}); + } + + var d = r - length; + var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r; + + ${_("body1.force.{var} += coefficient * d{var}",{indent:6})}; + body1.springCount += 1; + body1.springLength += r; + + ${_("body2.force.{var} -= coefficient * d{var}",{indent:6})}; + body2.springCount += 1; + body2.springLength += r; + } + }; +`}},26302:function(Re,xe,v){const m=v(98786);Re.exports=O,Re.exports.generateIntegratorFunctionBody=B;function O(R){let _=B(R);return new Function("bodies","timeStep","adaptiveTimeStepWeight",_)}function B(R){let _=m(R);return` + var length = bodies.length; + if (length === 0) return 0; + + ${_("var d{var} = 0, t{var} = 0;",{indent:2})} + + for (var i = 0; i < length; ++i) { + var body = bodies[i]; + if (body.isPinned) continue; + + if (adaptiveTimeStepWeight && body.springCount) { + timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount); + } + + var coeff = timeStep / body.mass; + + ${_("body.velocity.{var} += coeff * body.force.{var};",{indent:4})} + ${_("var v{var} = body.velocity.{var};",{indent:4})} + var v = Math.sqrt(${_("v{var} * v{var}",{join:" + "})}); + + if (v > 1) { + // We normalize it so that we move within timeStep range. + // for the case when v <= 1 - we let velocity to fade out. + ${_("body.velocity.{var} = v{var} / v;",{indent:6})} + } + + ${_("d{var} = timeStep * body.velocity.{var};",{indent:4})} + + ${_("body.pos.{var} += d{var};",{indent:4})} + + ${_("t{var} += Math.abs(d{var});",{indent:4})} + } + + return (${_("t{var} * t{var}",{join:" + "})})/length; +`}},24454:function(Re,xe,v){const m=v(98786),O=v(59321);Re.exports=B,Re.exports.generateQuadTreeFunctionBody=R,Re.exports.getInsertStackCode=F,Re.exports.getQuadNodeCode=N,Re.exports.isSamePosition=_,Re.exports.getChildBodyCode=E,Re.exports.setChildBodyCode=I;function B(T){let D=R(T);return new Function(D)()}function R(T){let D=m(T),z=Math.pow(2,T);return` +${F()} +${N(T)} +${_(T)} +${E(T)} +${I(T)} + +function createQuadTree(options, random) { + options = options || {}; + options.gravity = typeof options.gravity === 'number' ? options.gravity : -1; + options.theta = typeof options.theta === 'number' ? options.theta : 0.8; + + var gravity = options.gravity; + var updateQueue = []; + var insertStack = new InsertStack(); + var theta = options.theta; + + var nodesCache = []; + var currentInCache = 0; + var root = newNode(); + + return { + insertBodies: insertBodies, + + /** + * Gets root node if it is present + */ + getRoot: function() { + return root; + }, + + updateBodyForce: update, + + options: function(newOptions) { + if (newOptions) { + if (typeof newOptions.gravity === 'number') { + gravity = newOptions.gravity; + } + if (typeof newOptions.theta === 'number') { + theta = newOptions.theta; + } + + return this; + } + + return { + gravity: gravity, + theta: theta + }; + } + }; + + function newNode() { + // To avoid pressure on GC we reuse nodes. + var node = nodesCache[currentInCache]; + if (node) { +${pe(" node.")} + node.body = null; + node.mass = ${D("node.mass_{var} = ",{join:""})}0; + ${D("node.min_{var} = node.max_{var} = ",{join:""})}0; + } else { + node = new QuadNode(); + nodesCache[currentInCache] = node; + } + + ++currentInCache; + return node; + } + + function update(sourceBody) { + var queue = updateQueue; + var v; + ${D("var d{var};",{indent:4})} + var r; + ${D("var f{var} = 0;",{indent:4})} + var queueLength = 1; + var shiftIdx = 0; + var pushIdx = 1; + + queue[0] = root; + + while (queueLength) { + var node = queue[shiftIdx]; + var body = node.body; + + queueLength -= 1; + shiftIdx += 1; + var differentBody = (body !== sourceBody); + if (body && differentBody) { + // If the current node is a leaf node (and it is not source body), + // calculate the force exerted by the current node on body, and add this + // amount to body's net force. + ${D("d{var} = body.pos.{var} - sourceBody.pos.{var};",{indent:8})} + r = Math.sqrt(${D("d{var} * d{var}",{join:" + "})}); + + if (r === 0) { + // Poor man's protection against zero distance. + ${D("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})} + r = Math.sqrt(${D("d{var} * d{var}",{join:" + "})}); + } + + // This is standard gravitation force calculation but we divide + // by r^3 to save two operations when normalizing force vector. + v = gravity * body.mass * sourceBody.mass / (r * r * r); + ${D("f{var} += v * d{var};",{indent:8})} + } else if (differentBody) { + // Otherwise, calculate the ratio s / r, where s is the width of the region + // represented by the internal node, and r is the distance between the body + // and the node's center-of-mass + ${D("d{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};",{indent:8})} + r = Math.sqrt(${D("d{var} * d{var}",{join:" + "})}); + + if (r === 0) { + // Sorry about code duplication. I don't want to create many functions + // right away. Just want to see performance first. + ${D("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})} + r = Math.sqrt(${D("d{var} * d{var}",{join:" + "})}); + } + // If s / r < \u03B8, treat this internal node as a single body, and calculate the + // force it exerts on sourceBody, and add this amount to sourceBody's net force. + if ((node.max_${O(0)} - node.min_${O(0)}) / r < theta) { + // in the if statement above we consider node's width only + // because the region was made into square during tree creation. + // Thus there is no difference between using width or height. + v = gravity * node.mass * sourceBody.mass / (r * r * r); + ${D("f{var} += v * d{var};",{indent:10})} + } else { + // Otherwise, run the procedure recursively on each of the current node's children. + + // I intentionally unfolded this loop, to save several CPU cycles. +${ge()} + } + } + } + + ${D("sourceBody.force.{var} += f{var};",{indent:4})} + } + + function insertBodies(bodies) { + ${D("var {var}min = Number.MAX_VALUE;",{indent:4})} + ${D("var {var}max = Number.MIN_VALUE;",{indent:4})} + var i = bodies.length; + + // To reduce quad tree depth we are looking for exact bounding box of all particles. + while (i--) { + var pos = bodies[i].pos; + ${D("if (pos.{var} < {var}min) {var}min = pos.{var};",{indent:6})} + ${D("if (pos.{var} > {var}max) {var}max = pos.{var};",{indent:6})} + } + + // Makes the bounds square. + var maxSideLength = -Infinity; + ${D("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;",{indent:4})} + + currentInCache = 0; + root = newNode(); + ${D("root.min_{var} = {var}min;",{indent:4})} + ${D("root.max_{var} = {var}min + maxSideLength;",{indent:4})} + + i = bodies.length - 1; + if (i >= 0) { + root.body = bodies[i]; + } + while (i--) { + insert(bodies[i], root); + } + } + + function insert(newBody) { + insertStack.reset(); + insertStack.push(root, newBody); + + while (!insertStack.isEmpty()) { + var stackItem = insertStack.pop(); + var node = stackItem.node; + var body = stackItem.body; + + if (!node.body) { + // This is internal node. Update the total mass of the node and center-of-mass. + ${D("var {var} = body.pos.{var};",{indent:8})} + node.mass += body.mass; + ${D("node.mass_{var} += body.mass * {var};",{indent:8})} + + // Recursively insert the body in the appropriate quadrant. + // But first find the appropriate quadrant. + var quadIdx = 0; // Assume we are in the 0's quad. + ${D("var min_{var} = node.min_{var};",{indent:8})} + ${D("var max_{var} = (min_{var} + node.max_{var}) / 2;",{indent:8})} + +${te(8)} + + var child = getChild(node, quadIdx); + + if (!child) { + // The node is internal but this quadrant is not taken. Add + // subnode to it. + child = newNode(); + ${D("child.min_{var} = min_{var};",{indent:10})} + ${D("child.max_{var} = max_{var};",{indent:10})} + child.body = body; + + setChild(node, quadIdx, child); + } else { + // continue searching in this quadrant. + insertStack.push(child, body); + } + } else { + // We are trying to add to the leaf node. + // We have to convert current leaf into internal node + // and continue adding two nodes. + var oldBody = node.body; + node.body = null; // internal nodes do not cary bodies + + if (isSamePosition(oldBody.pos, body.pos)) { + // Prevent infinite subdivision by bumping one node + // anywhere in this quadrant + var retriesCount = 3; + do { + var offset = random.nextDouble(); + ${D("var d{var} = (node.max_{var} - node.min_{var}) * offset;",{indent:12})} + + ${D("oldBody.pos.{var} = node.min_{var} + d{var};",{indent:12})} + retriesCount -= 1; + // Make sure we don't bump it out of the box. If we do, next iteration should fix it + } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos)); + + if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) { + // This is very bad, we ran out of precision. + // if we do not return from the method we'll get into + // infinite loop here. So we sacrifice correctness of layout, and keep the app running + // Next layout iteration should get larger bounding box in the first step and fix this + return; + } + } + // Next iteration should subdivide node further. + insertStack.push(node, oldBody); + insertStack.push(node, body); + } + } + } +} +return createQuadTree; + +`;function te(fe){let Le=[],Me=Array(fe+1).join(" ");for(let Ze=0;Ze max_${O(Ze)}) {`),Le.push(Me+` quadIdx = quadIdx + ${Math.pow(2,Ze)};`),Le.push(Me+` min_${O(Ze)} = max_${O(Ze)};`),Le.push(Me+` max_${O(Ze)} = node.max_${O(Ze)};`),Le.push(Me+"}");return Le.join(` +`)}function ge(){let fe=Array(11).join(" "),Le=[];for(let Me=0;Me 0) { + return this.stack[--this.popIdx]; + } + }, + reset: function () { + this.popIdx = 0; + } +}; + +function InsertStackElement(node, body) { + this.node = node; // QuadTree node + this.body = body; // physical body which needs to be inserted to node +} +`}},59321:function(Re){Re.exports=function(v){return v===0?"x":v===1?"y":v===2?"z":"c"+(v+1)}},72879:function(Re,xe,v){Re.exports=N;var m=v(53623),O=v(24454),B=v(41085),R=v(48812),_=v(7584),I=v(26302),E={};function N(D){var z=v(75877),ee=v(35764),te=v(82396);if(D){if(D.springCoeff!==void 0)throw new Error("springCoeff was renamed to springCoefficient");if(D.dragCoeff!==void 0)throw new Error("dragCoeff was renamed to dragCoefficient")}D=ee(D,{springLength:10,springCoefficient:.8,gravity:-12,theta:.8,dragCoefficient:.9,timeStep:.5,adaptiveTimeStepWeight:0,dimensions:2,debug:!1});var ge=E[D.dimensions];if(!ge){var pe=D.dimensions;ge={Body:m(pe,D.debug),createQuadTree:O(pe),createBounds:B(pe),createDragForce:R(pe),createSpringForce:_(pe),integrate:I(pe)},E[pe]=ge}var fe=ge.Body,Le=ge.createQuadTree,Me=ge.createBounds,Ze=ge.createDragForce,Ye=ge.createSpringForce,Te=ge.integrate,be=lt=>new fe(lt),Ge=v(40232).random(42),Je=[],it=[],$t=Le(D,Ge),cn=Me(Je,D,Ge),Sn=Ye(D,Ge),vn=Ze(D),Qn=0,xn=[],Un=new Map,ke=0;On("nbody",tn),On("spring",pt);var ot={bodies:Je,quadTree:$t,springs:it,settings:D,addForce:On,removeForce:xt,getForces:Pt,step:function(){for(var lt=0;lt=0?Ie:-1);return it.push(Ct),Ct},getTotalMovement:function(){return Qn},removeSpring:function(lt){if(lt){var ae=it.indexOf(lt);if(ae>-1)return it.splice(ae,1),!0}},getBestNewBodyPosition:function(lt){return cn.getBestNewPosition(lt)},getBBox:Ht,getBoundingBox:Ht,invalidateBBox:function(){console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call")},gravity:function(lt){return lt!==void 0?(D.gravity=lt,$t.options({gravity:lt}),this):D.gravity},theta:function(lt){return lt!==void 0?(D.theta=lt,$t.options({theta:lt}),this):D.theta},random:Ge};return F(D,ot),te(ot),ot;function Ht(){return cn.update(),cn.box}function On(lt,ae){if(Un.has(lt))throw new Error("Force "+lt+" is already added");Un.set(lt,ae),xn.push(ae)}function xt(lt){var ae=xn.indexOf(Un.get(lt));ae<0||(xn.splice(ae,1),Un.delete(lt))}function Pt(){return Un}function tn(){if(Je.length!==0){$t.insertBodies(Je);for(var lt=Je.length;lt--;){var ae=Je[lt];ae.isPinned||(ae.reset(),$t.updateBodyForce(ae),vn.update(ae))}}}function pt(){for(var lt=it.length;lt--;)Sn.update(it[lt])}}function F(D,z){for(var ee in D)T(D,z,ee)}function T(D,z,ee){if(D.hasOwnProperty(ee)&&typeof z[ee]!="function"){var te=Number.isFinite(D[ee]);te?z[ee]=function(ge){if(ge!==void 0){if(!Number.isFinite(ge))throw new Error("Value of "+ee+" should be a valid number.");return D[ee]=ge,z}return D[ee]}:z[ee]=function(ge){return ge!==void 0?(D[ee]=ge,z):D[ee]}}}},75877:function(Re){Re.exports=xe;function xe(v,m,O,B){this.from=v,this.to=m,this.length=O,this.coefficient=B}},35764:function(Re){Re.exports=xe;function xe(v,m){var O;if(v||(v={}),m){for(O in m)if(m.hasOwnProperty(O)){var B=v.hasOwnProperty(O),R=typeof m[O],_=!B||typeof v[O]!==R;_?v[O]=m[O]:R==="object"&&(v[O]=xe(v[O],m[O]))}}return v}},40232:function(Re){Re.exports=xe,Re.exports.random=xe,Re.exports.randomIterator=I;function xe(E){var N=typeof E=="number"?E:+new Date;return new v(N)}function v(E){this.seed=E}v.prototype.next=_,v.prototype.nextDouble=R,v.prototype.uniform=R,v.prototype.gaussian=m,v.prototype.random=R;function m(){var E,N,F;do N=this.nextDouble()*2-1,F=this.nextDouble()*2-1,E=N*N+F*F;while(E>=1||E===0);return N*Math.sqrt(-2*Math.log(E)/E)}v.prototype.levy=O;function O(){var E=1.5,N=Math.pow(B(1+E)*Math.sin(Math.PI*E/2)/(B((1+E)/2)*E*Math.pow(2,(E-1)/2)),1/E);return this.gaussian()*N/Math.pow(Math.abs(this.gaussian()),1/E)}function B(E){return Math.sqrt(2*Math.PI/E)*Math.pow(1/Math.E*(E+1/(12*E-1/(10*E))),E)}function R(){var E=this.seed;return E=E+2127912214+(E<<12)&4294967295,E=(E^3345072700^E>>>19)&4294967295,E=E+374761393+(E<<5)&4294967295,E=(E+3550635116^E<<9)&4294967295,E=E+4251993797+(E<<3)&4294967295,E=(E^3042594569^E>>>16)&4294967295,this.seed=E,(E&268435455)/268435456}function _(E){return Math.floor(this.nextDouble()*E)}function I(E,N){var F=N||xe();if(typeof F.next!="function")throw new Error("customRandom does not match expected API: next() function is missing");return{forEach:D,shuffle:T};function T(){var z,ee,te;for(z=E.length-1;z>0;--z)ee=F.next(z+1),te=E[ee],E[ee]=E[z],E[z]=te;return E}function D(z){var ee,te,ge;for(ee=E.length-1;ee>0;--ee)te=F.next(ee+1),ge=E[te],E[te]=E[ee],E[ee]=ge,z(ge);E.length&&z(E[0])}}},5630:function(Re,xe,v){"use strict";var m=v(60499),O=v(85899),B=v(18642),R=v(72190),_=v(42244),I=v(92310),E=v.n(I),N=v(18929),F=v(59301),T=["prefixCls","className","style","checked","disabled","defaultChecked","type","title","onChange"],D=(0,F.forwardRef)(function(z,ee){var te,ge=z.prefixCls,pe=ge===void 0?"rc-checkbox":ge,fe=z.className,Le=z.style,Me=z.checked,Ze=z.disabled,Ye=z.defaultChecked,Te=Ye===void 0?!1:Ye,be=z.type,Ge=be===void 0?"checkbox":be,Je=z.title,it=z.onChange,$t=(0,_.Z)(z,T),cn=(0,F.useRef)(null),Sn=(0,N.Z)(Te,{value:Me}),vn=(0,R.Z)(Sn,2),Qn=vn[0],xn=vn[1];(0,F.useImperativeHandle)(ee,function(){return{focus:function(){var Ht;(Ht=cn.current)===null||Ht===void 0||Ht.focus()},blur:function(){var Ht;(Ht=cn.current)===null||Ht===void 0||Ht.blur()},input:cn.current}});var Un=E()(pe,fe,(te={},(0,B.Z)(te,"".concat(pe,"-checked"),Qn),(0,B.Z)(te,"".concat(pe,"-disabled"),Ze),te)),ke=function(Ht){Ze||("checked"in z||xn(Ht.target.checked),it==null||it({target:(0,O.Z)((0,O.Z)({},z),{},{type:Ge,checked:Ht.target.checked}),stopPropagation:function(){Ht.stopPropagation()},preventDefault:function(){Ht.preventDefault()},nativeEvent:Ht.nativeEvent}))};return F.createElement("span",{className:Un,title:Je,style:Le},F.createElement("input",(0,m.Z)({},$t,{className:"".concat(pe,"-input"),ref:cn,onChange:ke,disabled:Ze,checked:!!Qn,type:Ge})),F.createElement("span",{className:"".concat(pe,"-inner")}))});xe.Z=D},93681:function(Re,xe,v){"use strict";v.r(xe),v.d(xe,{BaseInput:function(){return T},default:function(){return Me}});var m=v(60499),O=v(85899),B=v(18642),R=v(43749),_=v(92310),I=v.n(_),E=v(59301),N=v(5643),F=function(Ye){var Te,be,Ge=Ye.inputElement,Je=Ye.prefixCls,it=Ye.prefix,$t=Ye.suffix,cn=Ye.addonBefore,Sn=Ye.addonAfter,vn=Ye.className,Qn=Ye.style,xn=Ye.disabled,Un=Ye.readOnly,ke=Ye.focused,ot=Ye.triggerFocus,Ht=Ye.allowClear,On=Ye.value,xt=Ye.handleReset,Pt=Ye.hidden,tn=Ye.classes,pt=Ye.classNames,lt=Ye.dataAttrs,ae=Ye.styles,re=Ye.components,Ie=(re==null?void 0:re.affixWrapper)||"span",Ct=(re==null?void 0:re.groupWrapper)||"span",Nt=(re==null?void 0:re.wrapper)||"span",ht=(re==null?void 0:re.groupAddon)||"span",Wt=(0,E.useRef)(null),zt=function(he){var qe;(qe=Wt.current)!==null&&qe!==void 0&&qe.contains(he.target)&&(ot==null||ot())},De=function(){var he;if(!Ht)return null;var qe=!xn&&!Un&&On,ct="".concat(Je,"-clear-icon"),je=(0,R.Z)(Ht)==="object"&&Ht!==null&&Ht!==void 0&&Ht.clearIcon?Ht.clearIcon:"\u2716";return E.createElement("span",{onClick:xt,onMouseDown:function(dt){return dt.preventDefault()},className:I()(ct,(he={},(0,B.Z)(he,"".concat(ct,"-hidden"),!qe),(0,B.Z)(he,"".concat(ct,"-has-suffix"),!!$t),he)),role:"button",tabIndex:-1},je)},ft=(0,E.cloneElement)(Ge,{value:On,hidden:Pt,className:I()((Te=Ge.props)===null||Te===void 0?void 0:Te.className,!(0,N.X3)(Ye)&&!(0,N.He)(Ye)&&vn)||null,style:(0,O.Z)((0,O.Z)({},(be=Ge.props)===null||be===void 0?void 0:be.style),!(0,N.X3)(Ye)&&!(0,N.He)(Ye)?Qn:{})});if((0,N.X3)(Ye)){var bt,U="".concat(Je,"-affix-wrapper"),de=I()(U,(bt={},(0,B.Z)(bt,"".concat(U,"-disabled"),xn),(0,B.Z)(bt,"".concat(U,"-focused"),ke),(0,B.Z)(bt,"".concat(U,"-readonly"),Un),(0,B.Z)(bt,"".concat(U,"-input-with-clear-btn"),$t&&Ht&&On),bt),!(0,N.He)(Ye)&&vn,tn==null?void 0:tn.affixWrapper,pt==null?void 0:pt.affixWrapper),vt=($t||Ht)&&E.createElement("span",{className:I()("".concat(Je,"-suffix"),pt==null?void 0:pt.suffix),style:ae==null?void 0:ae.suffix},De(),$t);ft=E.createElement(Ie,(0,m.Z)({className:de,style:(0,O.Z)((0,O.Z)({},(0,N.He)(Ye)?void 0:Qn),ae==null?void 0:ae.affixWrapper),hidden:!(0,N.He)(Ye)&&Pt,onClick:zt},lt==null?void 0:lt.affixWrapper,{ref:Wt}),it&&E.createElement("span",{className:I()("".concat(Je,"-prefix"),pt==null?void 0:pt.prefix),style:ae==null?void 0:ae.prefix},it),(0,E.cloneElement)(Ge,{value:On,hidden:null}),vt)}if((0,N.He)(Ye)){var mt="".concat(Je,"-group"),Qt="".concat(mt,"-addon"),jt=I()("".concat(Je,"-wrapper"),mt,tn==null?void 0:tn.wrapper),hn=I()("".concat(Je,"-group-wrapper"),vn,tn==null?void 0:tn.group);return E.createElement(Ct,{className:hn,style:Qn,hidden:Pt},E.createElement(Nt,{className:jt},cn&&E.createElement(ht,{className:Qt},cn),(0,E.cloneElement)(ft,{hidden:null}),Sn&&E.createElement(ht,{className:Qt},Sn)))}return ft},T=F,D=v(77654),z=v(72190),ee=v(42244),te=v(18929),ge=v(2738),pe=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","type","classes","classNames","styles"],fe=(0,E.forwardRef)(function(Ze,Ye){var Te=Ze.autoComplete,be=Ze.onChange,Ge=Ze.onFocus,Je=Ze.onBlur,it=Ze.onPressEnter,$t=Ze.onKeyDown,cn=Ze.prefixCls,Sn=cn===void 0?"rc-input":cn,vn=Ze.disabled,Qn=Ze.htmlSize,xn=Ze.className,Un=Ze.maxLength,ke=Ze.suffix,ot=Ze.showCount,Ht=Ze.type,On=Ht===void 0?"text":Ht,xt=Ze.classes,Pt=Ze.classNames,tn=Ze.styles,pt=(0,ee.Z)(Ze,pe),lt=(0,te.Z)(Ze.defaultValue,{value:Ze.value}),ae=(0,z.Z)(lt,2),re=ae[0],Ie=ae[1],Ct=(0,E.useState)(!1),Nt=(0,z.Z)(Ct,2),ht=Nt[0],Wt=Nt[1],zt=(0,E.useRef)(null),De=function(hn){zt.current&&(0,N.nH)(zt.current,hn)};(0,E.useImperativeHandle)(Ye,function(){return{focus:De,blur:function(){var hn;(hn=zt.current)===null||hn===void 0||hn.blur()},setSelectionRange:function(hn,ze,he){var qe;(qe=zt.current)===null||qe===void 0||qe.setSelectionRange(hn,ze,he)},select:function(){var hn;(hn=zt.current)===null||hn===void 0||hn.select()},input:zt.current}}),(0,E.useEffect)(function(){Wt(function(jt){return jt&&vn?!1:jt})},[vn]);var ft=function(hn){Ze.value===void 0&&Ie(hn.target.value),zt.current&&(0,N.rJ)(zt.current,hn,be)},bt=function(hn){it&&hn.key==="Enter"&&it(hn),$t==null||$t(hn)},U=function(hn){Wt(!0),Ge==null||Ge(hn)},de=function(hn){Wt(!1),Je==null||Je(hn)},vt=function(hn){Ie(""),De(),zt.current&&(0,N.rJ)(zt.current,hn,be)},mt=function(){var hn=(0,ge.Z)(Ze,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","classes","htmlSize","styles","classNames"]);return E.createElement("input",(0,m.Z)({autoComplete:Te},hn,{onChange:ft,onFocus:U,onBlur:de,onKeyDown:bt,className:I()(Sn,(0,B.Z)({},"".concat(Sn,"-disabled"),vn),Pt==null?void 0:Pt.input),style:tn==null?void 0:tn.input,ref:zt,size:Qn,type:On}))},Qt=function(){var hn=Number(Un)>0;if(ke||ot){var ze=(0,N.D7)(re),he=(0,D.Z)(ze).length,qe=(0,R.Z)(ot)==="object"?ot.formatter({value:ze,count:he,maxLength:Un}):"".concat(he).concat(hn?" / ".concat(Un):"");return E.createElement(E.Fragment,null,!!ot&&E.createElement("span",{className:I()("".concat(Sn,"-show-count-suffix"),(0,B.Z)({},"".concat(Sn,"-show-count-has-suffix"),!!ke),Pt==null?void 0:Pt.count),style:(0,O.Z)({},tn==null?void 0:tn.count)},qe),ke)}return null};return E.createElement(T,(0,m.Z)({},pt,{prefixCls:Sn,className:xn,inputElement:mt(),handleReset:vt,value:(0,N.D7)(re),focused:ht,triggerFocus:De,suffix:Qt(),disabled:vn,classes:xt,classNames:Pt,styles:tn}))}),Le=fe,Me=Le},5643:function(Re,xe,v){"use strict";v.d(xe,{D7:function(){return _},He:function(){return m},X3:function(){return O},nH:function(){return R},rJ:function(){return B}});function m(I){return!!(I.addonBefore||I.addonAfter)}function O(I){return!!(I.prefix||I.suffix||I.allowClear)}function B(I,E,N,F){if(N){var T=E;if(E.type==="click"){var D=I.cloneNode(!0);T=Object.create(E,{target:{value:D},currentTarget:{value:D}}),D.value="",N(T);return}if(F!==void 0){T=Object.create(E,{target:{value:I},currentTarget:{value:I}}),I.value=F,N(T);return}N(T)}}function R(I,E){if(I){I.focus(E);var N=E||{},F=N.cursor;if(F){var T=I.value.length;switch(F){case"start":I.setSelectionRange(0,0);break;case"end":I.setSelectionRange(T,T);break;default:I.setSelectionRange(0,T)}}}}function _(I){return typeof I=="undefined"||I===null?"":String(I)}},83836:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return ot}});var m=v(60499),O=v(85899),B=v(72190),R=v(42244),_=v(59301),I=v(92310),E=v.n(I),N=v(29301),F=v(34280),T=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],D=void 0;function z(Ht,On){var xt=Ht.prefixCls,Pt=Ht.invalidate,tn=Ht.item,pt=Ht.renderItem,lt=Ht.responsive,ae=Ht.responsiveDisabled,re=Ht.registerSize,Ie=Ht.itemKey,Ct=Ht.className,Nt=Ht.style,ht=Ht.children,Wt=Ht.display,zt=Ht.order,De=Ht.component,ft=De===void 0?"div":De,bt=(0,R.Z)(Ht,T),U=lt&&!Wt;function de(hn){re(Ie,hn)}_.useEffect(function(){return function(){de(null)}},[]);var vt=pt&&tn!==D?pt(tn,{index:zt}):ht,mt;Pt||(mt={opacity:U?0:1,height:U?0:D,overflowY:U?"hidden":D,order:lt?zt:D,pointerEvents:U?"none":D,position:U?"absolute":D});var Qt={};U&&(Qt["aria-hidden"]=!0);var jt=_.createElement(ft,(0,m.Z)({className:E()(!Pt&&xt,Ct),style:(0,O.Z)((0,O.Z)({},mt),Nt)},Qt,bt,{ref:On}),vt);return lt&&(jt=_.createElement(N.Z,{onResize:function(ze){var he=ze.offsetWidth;de(he)},disabled:ae},jt)),jt}var ee=_.forwardRef(z);ee.displayName="Item";var te=ee,ge=v(6089),pe=v(4676),fe=v(16089);function Le(Ht){if(typeof MessageChannel=="undefined")(0,fe.Z)(Ht);else{var On=new MessageChannel;On.port1.onmessage=function(){return Ht()},On.port2.postMessage(void 0)}}function Me(){var Ht=_.useRef(null),On=function(Pt){Ht.current||(Ht.current=[],Le(function(){(0,pe.unstable_batchedUpdates)(function(){Ht.current.forEach(function(tn){tn()}),Ht.current=null})})),Ht.current.push(Pt)};return On}function Ze(Ht,On){var xt=_.useState(On),Pt=(0,B.Z)(xt,2),tn=Pt[0],pt=Pt[1],lt=(0,ge.Z)(function(ae){Ht(function(){pt(ae)})});return[tn,lt]}var Ye=_.createContext(null),Te=["component"],be=["className"],Ge=["className"],Je=function(On,xt){var Pt=_.useContext(Ye);if(!Pt){var tn=On.component,pt=tn===void 0?"div":tn,lt=(0,R.Z)(On,Te);return _.createElement(pt,(0,m.Z)({},lt,{ref:xt}))}var ae=Pt.className,re=(0,R.Z)(Pt,be),Ie=On.className,Ct=(0,R.Z)(On,Ge);return _.createElement(Ye.Provider,{value:null},_.createElement(te,(0,m.Z)({ref:xt,className:E()(ae,Ie)},re,Ct)))},it=_.forwardRef(Je);it.displayName="RawItem";var $t=it,cn=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","prefix","suffix","component","itemComponent","onVisibleChange"],Sn="responsive",vn="invalidate";function Qn(Ht){return"+ ".concat(Ht.length," ...")}function xn(Ht,On){var xt=Ht.prefixCls,Pt=xt===void 0?"rc-overflow":xt,tn=Ht.data,pt=tn===void 0?[]:tn,lt=Ht.renderItem,ae=Ht.renderRawItem,re=Ht.itemKey,Ie=Ht.itemWidth,Ct=Ie===void 0?10:Ie,Nt=Ht.ssr,ht=Ht.style,Wt=Ht.className,zt=Ht.maxCount,De=Ht.renderRest,ft=Ht.renderRawRest,bt=Ht.prefix,U=Ht.suffix,de=Ht.component,vt=de===void 0?"div":de,mt=Ht.itemComponent,Qt=Ht.onVisibleChange,jt=(0,R.Z)(Ht,cn),hn=Nt==="full",ze=Me(),he=Ze(ze,null),qe=(0,B.Z)(he,2),ct=qe[0],je=qe[1],Xe=ct||0,dt=Ze(ze,new Map),Tt=(0,B.Z)(dt,2),Mt=Tt[0],It=Tt[1],an=Ze(ze,0),In=(0,B.Z)(an,2),_n=In[0],er=In[1],Mr=Ze(ze,0),hr=(0,B.Z)(Mr,2),di=hr[0],br=hr[1],ri=Ze(ze,0),Ir=(0,B.Z)(ri,2),Vi=Ir[0],fi=Ir[1],on=Ze(ze,0),Yt=(0,B.Z)(on,2),Vt=Yt[0],gt=Yt[1],yt=(0,_.useState)(null),Ft=(0,B.Z)(yt,2),rn=Ft[0],Dt=Ft[1],jn=(0,_.useState)(null),Zn=(0,B.Z)(jn,2),Tr=Zn[0],Qr=Zn[1],Ne=_.useMemo(function(){return Tr===null&&hn?Number.MAX_SAFE_INTEGER:Tr||0},[Tr,ct]),V=(0,_.useState)(!1),W=(0,B.Z)(V,2),S=W[0],H=W[1],J="".concat(Pt,"-item"),Ae=Math.max(_n,di),me=zt===Sn,$e=pt.length&&me,Ke=zt===vn,Xt=$e||typeof zt=="number"&&pt.length>zt,Se=(0,_.useMemo)(function(){var Fr=pt;return $e?ct===null&&hn?Fr=pt:Fr=pt.slice(0,Math.min(pt.length,Xe/Ct)):typeof zt=="number"&&(Fr=pt.slice(0,zt)),Fr},[pt,Ct,ct,zt,$e]),Oe=(0,_.useMemo)(function(){return $e?pt.slice(Ne+1):pt.slice(Se.length)},[pt,Se,$e,Ne]),Ee=(0,_.useCallback)(function(Fr,zr){var Wr;return typeof re=="function"?re(Fr):(Wr=re&&(Fr==null?void 0:Fr[re]))!==null&&Wr!==void 0?Wr:zr},[re]),Ue=(0,_.useCallback)(lt||function(Fr){return Fr},[lt]);function at(Fr,zr,Wr){Tr===Fr&&(zr===void 0||zr===rn)||(Qr(Fr),Wr||(H(FrXe){at(Vr-1,Fr-wi-Vt+di);break}}U&&Rn(0)+Vt>Xe&&Dt(null)}},[Xe,Mt,di,Vi,Vt,Ee,Se]);var ir=S&&!!Oe.length,Ln={};rn!==null&&$e&&(Ln={position:"absolute",left:rn,top:0});var Gn={prefixCls:J,responsive:$e,component:mt,invalidate:Ke},_r=ae?function(Fr,zr){var Wr=Ee(Fr,zr);return _.createElement(Ye.Provider,{key:Wr,value:(0,O.Z)((0,O.Z)({},Gn),{},{order:zr,item:Fr,itemKey:Wr,registerSize:ut,display:zr<=Ne})},ae(Fr,zr))}:function(Fr,zr){var Wr=Ee(Fr,zr);return _.createElement(te,(0,m.Z)({},Gn,{order:zr,key:Wr,item:Fr,renderItem:Ue,itemKey:Wr,registerSize:ut,display:zr<=Ne}))},un={order:ir?Ne:Number.MAX_SAFE_INTEGER,className:"".concat(J,"-rest"),registerSize:Lt,display:ir},Bn=De||Qn,lr=ft?_.createElement(Ye.Provider,{value:(0,O.Z)((0,O.Z)({},Gn),un)},ft(Oe)):_.createElement(te,(0,m.Z)({},Gn,un),typeof Bn=="function"?Bn(Oe):Bn),cr=_.createElement(vt,(0,m.Z)({className:E()(!Ke&&Pt,Wt),style:ht,ref:On},jt),bt&&_.createElement(te,(0,m.Z)({},Gn,{responsive:me,responsiveDisabled:!$e,order:-1,className:"".concat(J,"-prefix"),registerSize:qt,display:!0}),bt),Se.map(_r),Xt?lr:null,U&&_.createElement(te,(0,m.Z)({},Gn,{responsive:me,responsiveDisabled:!$e,order:Ne,className:"".concat(J,"-suffix"),registerSize:Tn,display:!0,style:Ln}),U));return me?_.createElement(N.Z,{onResize:Ut,disabled:!$e},cr):cr}var Un=_.forwardRef(xn);Un.displayName="Overflow",Un.Item=$t,Un.RESPONSIVE=Sn,Un.INVALIDATE=vn;var ke=Un,ot=ke},17115:function(Re,xe,v){"use strict";v.d(xe,{ZP:function(){return E}});var m=v(72190),O=v(59301),B=v(47273),R=0,_=(0,B.Z)();function I(){var N;return _?(N=R,R+=1):N="TEST_OR_SSR",N}function E(N){var F=O.useState(),T=(0,m.Z)(F,2),D=T[0],z=T[1];return O.useEffect(function(){z("rc_select_".concat(I()))},[]),N||D}},77861:function(Re,xe,v){"use strict";v.d(xe,{Ac:function(){return ct},Xo:function(){return di},Wx:function(){return ri},ZP:function(){return J},lk:function(){return Ye}});var m=v(60499),O=v(77654),B=v(18642),R=v(85899),_=v(72190),I=v(42244),E=v(43749),N=v(18929),F=v(48736),T=v(59301),D=v(92310),z=v.n(D),ee=v(34280),te=v(49658),ge=v(10228),pe=v(8654),fe=function(me){var $e=me.className,Ke=me.customizeIcon,Xt=me.customizeIconProps,Se=me.onMouseDown,Oe=me.onClick,Ee=me.children,Ue;return typeof Ke=="function"?Ue=Ke(Xt):Ue=Ke,T.createElement("span",{className:$e,onMouseDown:function(Ut){Ut.preventDefault(),Se&&Se(Ut)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:Oe,"aria-hidden":!0},Ue!==void 0?Ue:T.createElement("span",{className:z()($e.split(/\s+/).map(function(at){return"".concat(at,"-icon")}))},Ee))},Le=fe;function Me(Ae,me,$e,Ke,Xt){var Se=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,Oe=arguments.length>6?arguments[6]:void 0,Ee=arguments.length>7?arguments[7]:void 0,Ue=T.useMemo(function(){if((0,E.Z)(Ke)==="object")return Ke.clearIcon;if(Xt)return Xt},[Ke,Xt]),at=T.useMemo(function(){return!!(!Se&&Ke&&($e.length||Oe)&&!(Ee==="combobox"&&Oe===""))},[Ke,Se,$e.length,Oe,Ee]);return{allowClear:at,clearIcon:T.createElement(Le,{className:"".concat(Ae,"-clear"),onMouseDown:me,customizeIcon:Ue},"\xD7")}}var Ze=T.createContext(null);function Ye(){return T.useContext(Ze)}function Te(){var Ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,me=T.useState(!1),$e=(0,_.Z)(me,2),Ke=$e[0],Xt=$e[1],Se=T.useRef(null),Oe=function(){window.clearTimeout(Se.current)};T.useEffect(function(){return Oe},[]);var Ee=function(at,Ut){Oe(),Se.current=window.setTimeout(function(){Xt(at),Ut&&Ut()},Ae)};return[Ke,Ee,Oe]}function be(){var Ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,me=T.useRef(null),$e=T.useRef(null);T.useEffect(function(){return function(){window.clearTimeout($e.current)}},[]);function Ke(Xt){(Xt||me.current===null)&&(me.current=Xt),window.clearTimeout($e.current),$e.current=window.setTimeout(function(){me.current=null},Ae)}return[function(){return me.current},Ke]}function Ge(Ae,me,$e,Ke){var Xt=T.useRef(null);Xt.current={open:me,triggerOpen:$e,customizedTrigger:Ke},T.useEffect(function(){function Se(Oe){var Ee;if(!((Ee=Xt.current)!==null&&Ee!==void 0&&Ee.customizedTrigger)){var Ue=Oe.target;Ue.shadowRoot&&Oe.composed&&(Ue=Oe.composedPath()[0]||Ue),Xt.current.open&&Ae().filter(function(at){return at}).every(function(at){return!at.contains(Ue)&&at!==Ue})&&Xt.current.triggerOpen(!1)}}return window.addEventListener("mousedown",Se),function(){return window.removeEventListener("mousedown",Se)}},[])}var Je=v(26112),it=v(83836),$t=function(me,$e){var Ke,Xt,Se=me.prefixCls,Oe=me.id,Ee=me.inputElement,Ue=me.disabled,at=me.tabIndex,Ut=me.autoFocus,ut=me.autoComplete,Lt=me.editable,qt=me.activeDescendantId,Tn=me.value,Rn=me.maxLength,ir=me.onKeyDown,Ln=me.onMouseDown,Gn=me.onChange,_r=me.onPaste,un=me.onCompositionStart,Bn=me.onCompositionEnd,lr=me.open,cr=me.attrs,Fr=Ee||T.createElement("input",null),zr=Fr,Wr=zr.ref,Vr=zr.props,wi=Vr.onKeyDown,Zr=Vr.onChange,Ei=Vr.onMouseDown,Yi=Vr.onCompositionStart,wn=Vr.onCompositionEnd,wt=Vr.style;return(0,F.Kp)(!("maxLength"in Fr.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),Fr=T.cloneElement(Fr,(0,R.Z)((0,R.Z)((0,R.Z)({type:"search"},Vr),{},{id:Oe,ref:(0,pe.sQ)($e,Wr),disabled:Ue,tabIndex:at,autoComplete:ut||"off",autoFocus:Ut,className:z()("".concat(Se,"-selection-search-input"),(Ke=Fr)===null||Ke===void 0||(Xt=Ke.props)===null||Xt===void 0?void 0:Xt.className),role:"combobox","aria-label":"Search","aria-expanded":lr||!1,"aria-haspopup":"listbox","aria-owns":"".concat(Oe,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(Oe,"_list"),"aria-activedescendant":lr?qt:void 0},cr),{},{value:Lt?Tn:"",maxLength:Rn,readOnly:!Lt,unselectable:Lt?null:"on",style:(0,R.Z)((0,R.Z)({},wt),{},{opacity:Lt?null:0}),onKeyDown:function(Et){ir(Et),wi&&wi(Et)},onMouseDown:function(Et){Ln(Et),Ei&&Ei(Et)},onChange:function(Et){Gn(Et),Zr&&Zr(Et)},onCompositionStart:function(Et){un(Et),Yi&&Yi(Et)},onCompositionEnd:function(Et){Bn(Et),wn&&wn(Et)},onPaste:_r})),Fr},cn=T.forwardRef($t);cn.displayName="Input";var Sn=cn;function vn(Ae){return Array.isArray(Ae)?Ae:Ae!==void 0?[Ae]:[]}var Qn=typeof window!="undefined"&&window.document&&window.document.documentElement,xn=Qn;function Un(Ae){return Ae!=null}function ke(Ae){return!Ae&&Ae!==0}function ot(Ae){return["string","number"].includes((0,E.Z)(Ae))}function Ht(Ae){var me=void 0;return Ae&&(ot(Ae.title)?me=Ae.title.toString():ot(Ae.label)&&(me=Ae.label.toString())),me}function On(Ae,me){xn?T.useLayoutEffect(Ae,me):T.useEffect(Ae,me)}function xt(Ae){var me;return(me=Ae.key)!==null&&me!==void 0?me:Ae.value}var Pt=function(me){me.preventDefault(),me.stopPropagation()},tn=function(me){var $e=me.id,Ke=me.prefixCls,Xt=me.values,Se=me.open,Oe=me.searchValue,Ee=me.autoClearSearchValue,Ue=me.inputRef,at=me.placeholder,Ut=me.disabled,ut=me.mode,Lt=me.showSearch,qt=me.autoFocus,Tn=me.autoComplete,Rn=me.activeDescendantId,ir=me.tabIndex,Ln=me.removeIcon,Gn=me.maxTagCount,_r=me.maxTagTextLength,un=me.maxTagPlaceholder,Bn=un===void 0?function(Rr){return"+ ".concat(Rr.length," ...")}:un,lr=me.tagRender,cr=me.onToggleOpen,Fr=me.onRemove,zr=me.onInputChange,Wr=me.onInputPaste,Vr=me.onInputKeyDown,wi=me.onInputMouseDown,Zr=me.onInputCompositionStart,Ei=me.onInputCompositionEnd,Yi=T.useRef(null),wn=(0,T.useState)(0),wt=(0,_.Z)(wn,2),Rt=wt[0],Et=wt[1],dn=(0,T.useState)(!1),Cn=(0,_.Z)(dn,2),Xn=Cn[0],mr=Cn[1],yr="".concat(Ke,"-selection"),ai=Se||ut==="multiple"&&Ee===!1||ut==="tags"?Oe:"",Si=ut==="tags"||ut==="multiple"&&Ee===!1||Lt&&(Se||Xn);On(function(){Et(Yi.current.scrollWidth)},[ai]);function Ai(Rr,Ss,ya,pa,Pa){return T.createElement("span",{className:z()("".concat(yr,"-item"),(0,B.Z)({},"".concat(yr,"-item-disabled"),ya)),title:Ht(Rr)},T.createElement("span",{className:"".concat(yr,"-item-content")},Ss),pa&&T.createElement(Le,{className:"".concat(yr,"-item-remove"),onMouseDown:Pt,onClick:Pa,customizeIcon:Ln},"\xD7"))}function ii(Rr,Ss,ya,pa,Pa){var Ui=function(cs){Pt(cs),cr(!Se)};return T.createElement("span",{onMouseDown:Ui},lr({label:Ss,value:Rr,disabled:ya,closable:pa,onClose:Pa}))}function vi(Rr){var Ss=Rr.disabled,ya=Rr.label,pa=Rr.value,Pa=!Ut&&!Ss,Ui=ya;if(typeof _r=="number"&&(typeof ya=="string"||typeof ya=="number")){var ki=String(Ui);ki.length>_r&&(Ui="".concat(ki.slice(0,_r),"..."))}var cs=function(ro){ro&&ro.stopPropagation(),Fr(Rr)};return typeof lr=="function"?ii(pa,Ui,Ss,Pa,cs):Ai(Rr,Ui,Ss,Pa,cs)}function es(Rr){var Ss=typeof Bn=="function"?Bn(Rr):Bn;return Ai({title:Ss},Ss,!1)}var $i=T.createElement("div",{className:"".concat(yr,"-search"),style:{width:Rt},onFocus:function(){mr(!0)},onBlur:function(){mr(!1)}},T.createElement(Sn,{ref:Ue,open:Se,prefixCls:Ke,id:$e,inputElement:null,disabled:Ut,autoFocus:qt,autoComplete:Tn,editable:Si,activeDescendantId:Rn,value:ai,onKeyDown:Vr,onMouseDown:wi,onChange:zr,onPaste:Wr,onCompositionStart:Zr,onCompositionEnd:Ei,tabIndex:ir,attrs:(0,Je.Z)(me,!0)}),T.createElement("span",{ref:Yi,className:"".concat(yr,"-search-mirror"),"aria-hidden":!0},ai,"\xA0")),Wi=T.createElement(it.Z,{prefixCls:"".concat(yr,"-overflow"),data:Xt,renderItem:vi,renderRest:es,suffix:$i,itemKey:xt,maxCount:Gn});return T.createElement(T.Fragment,null,Wi,!Xt.length&&!ai&&T.createElement("span",{className:"".concat(yr,"-placeholder")},at))},pt=tn,lt=function(me){var $e=me.inputElement,Ke=me.prefixCls,Xt=me.id,Se=me.inputRef,Oe=me.disabled,Ee=me.autoFocus,Ue=me.autoComplete,at=me.activeDescendantId,Ut=me.mode,ut=me.open,Lt=me.values,qt=me.placeholder,Tn=me.tabIndex,Rn=me.showSearch,ir=me.searchValue,Ln=me.activeValue,Gn=me.maxLength,_r=me.onInputKeyDown,un=me.onInputMouseDown,Bn=me.onInputChange,lr=me.onInputPaste,cr=me.onInputCompositionStart,Fr=me.onInputCompositionEnd,zr=me.title,Wr=T.useState(!1),Vr=(0,_.Z)(Wr,2),wi=Vr[0],Zr=Vr[1],Ei=Ut==="combobox",Yi=Ei||Rn,wn=Lt[0],wt=ir||"";Ei&&Ln&&!wi&&(wt=Ln),T.useEffect(function(){Ei&&Zr(!1)},[Ei,Ln]);var Rt=Ut!=="combobox"&&!ut&&!Rn?!1:!!wt,Et=zr===void 0?Ht(wn):zr,dn=function(){if(wn)return null;var Xn=Rt?{visibility:"hidden"}:void 0;return T.createElement("span",{className:"".concat(Ke,"-selection-placeholder"),style:Xn},qt)};return T.createElement(T.Fragment,null,T.createElement("span",{className:"".concat(Ke,"-selection-search")},T.createElement(Sn,{ref:Se,prefixCls:Ke,id:Xt,open:ut,inputElement:$e,disabled:Oe,autoFocus:Ee,autoComplete:Ue,editable:Yi,activeDescendantId:at,value:wt,onKeyDown:_r,onMouseDown:un,onChange:function(Xn){Zr(!0),Bn(Xn)},onPaste:lr,onCompositionStart:cr,onCompositionEnd:Fr,tabIndex:Tn,attrs:(0,Je.Z)(me,!0),maxLength:Ei?Gn:void 0})),!Ei&&wn?T.createElement("span",{className:"".concat(Ke,"-selection-item"),title:Et,style:Rt?{visibility:"hidden"}:void 0},wn.label):null,dn())},ae=lt;function re(Ae){return![ge.Z.ESC,ge.Z.SHIFT,ge.Z.BACKSPACE,ge.Z.TAB,ge.Z.WIN_KEY,ge.Z.ALT,ge.Z.META,ge.Z.WIN_KEY_RIGHT,ge.Z.CTRL,ge.Z.SEMICOLON,ge.Z.EQUALS,ge.Z.CAPS_LOCK,ge.Z.CONTEXT_MENU,ge.Z.F1,ge.Z.F2,ge.Z.F3,ge.Z.F4,ge.Z.F5,ge.Z.F6,ge.Z.F7,ge.Z.F8,ge.Z.F9,ge.Z.F10,ge.Z.F11,ge.Z.F12].includes(Ae)}var Ie=function(me,$e){var Ke=(0,T.useRef)(null),Xt=(0,T.useRef)(!1),Se=me.prefixCls,Oe=me.open,Ee=me.mode,Ue=me.showSearch,at=me.tokenWithEnter,Ut=me.autoClearSearchValue,ut=me.onSearch,Lt=me.onSearchSubmit,qt=me.onToggleOpen,Tn=me.onInputKeyDown,Rn=me.domRef;T.useImperativeHandle($e,function(){return{focus:function(){Ke.current.focus()},blur:function(){Ke.current.blur()}}});var ir=be(0),Ln=(0,_.Z)(ir,2),Gn=Ln[0],_r=Ln[1],un=function(wt){var Rt=wt.which;(Rt===ge.Z.UP||Rt===ge.Z.DOWN)&&wt.preventDefault(),Tn&&Tn(wt),Rt===ge.Z.ENTER&&Ee==="tags"&&!Xt.current&&!Oe&&(Lt==null||Lt(wt.target.value)),re(Rt)&&qt(!0)},Bn=function(){_r(!0)},lr=(0,T.useRef)(null),cr=function(wt){ut(wt,!0,Xt.current)!==!1&&qt(!0)},Fr=function(){Xt.current=!0},zr=function(wt){Xt.current=!1,Ee!=="combobox"&&cr(wt.target.value)},Wr=function(wt){var Rt=wt.target.value;if(at&&lr.current&&/[\r\n]/.test(lr.current)){var Et=lr.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");Rt=Rt.replace(Et,lr.current)}lr.current=null,cr(Rt)},Vr=function(wt){var Rt=wt.clipboardData,Et=Rt.getData("text");lr.current=Et},wi=function(wt){var Rt=wt.target;if(Rt!==Ke.current){var Et=document.body.style.msTouchAction!==void 0;Et?setTimeout(function(){Ke.current.focus()}):Ke.current.focus()}},Zr=function(wt){var Rt=Gn();wt.target!==Ke.current&&!Rt&&Ee!=="combobox"&&wt.preventDefault(),(Ee!=="combobox"&&(!Ue||!Rt)||!Oe)&&(Oe&&Ut!==!1&&ut("",!0,!1),qt())},Ei={inputRef:Ke,onInputKeyDown:un,onInputMouseDown:Bn,onInputChange:Wr,onInputPaste:Vr,onInputCompositionStart:Fr,onInputCompositionEnd:zr},Yi=Ee==="multiple"||Ee==="tags"?T.createElement(pt,(0,m.Z)({},me,Ei)):T.createElement(ae,(0,m.Z)({},me,Ei));return T.createElement("div",{ref:Rn,className:"".concat(Se,"-selector"),onClick:wi,onMouseDown:Zr},Yi)},Ct=T.forwardRef(Ie);Ct.displayName="Selector";var Nt=Ct,ht=v(35593),Wt=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],zt=function(me){var $e=me===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:$e,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:$e,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:$e,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:$e,adjustY:1},htmlRegion:"scroll"}}},De=function(me,$e){var Ke=me.prefixCls,Xt=me.disabled,Se=me.visible,Oe=me.children,Ee=me.popupElement,Ue=me.animation,at=me.transitionName,Ut=me.dropdownStyle,ut=me.dropdownClassName,Lt=me.direction,qt=Lt===void 0?"ltr":Lt,Tn=me.placement,Rn=me.builtinPlacements,ir=me.dropdownMatchSelectWidth,Ln=me.dropdownRender,Gn=me.dropdownAlign,_r=me.getPopupContainer,un=me.empty,Bn=me.getTriggerDOMNode,lr=me.onPopupVisibleChange,cr=me.onPopupMouseEnter,Fr=(0,I.Z)(me,Wt),zr="".concat(Ke,"-dropdown"),Wr=Ee;Ln&&(Wr=Ln(Ee));var Vr=T.useMemo(function(){return Rn||zt(ir)},[Rn,ir]),wi=Ue?"".concat(zr,"-").concat(Ue):at,Zr=typeof ir=="number",Ei=T.useMemo(function(){return Zr?null:ir===!1?"minWidth":"width"},[ir,Zr]),Yi=Ut;Zr&&(Yi=(0,R.Z)((0,R.Z)({},Yi),{},{width:ir}));var wn=T.useRef(null);return T.useImperativeHandle($e,function(){return{getPopupElement:function(){return wn.current}}}),T.createElement(ht.Z,(0,m.Z)({},Fr,{showAction:lr?["click"]:[],hideAction:lr?["click"]:[],popupPlacement:Tn||(qt==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:Vr,prefixCls:zr,popupTransitionName:wi,popup:T.createElement("div",{ref:wn,onMouseEnter:cr},Wr),stretch:Ei,popupAlign:Gn,popupVisible:Se,getPopupContainer:_r,popupClassName:z()(ut,(0,B.Z)({},"".concat(zr,"-empty"),un)),popupStyle:Yi,getTriggerDOMNode:Bn,onPopupVisibleChange:lr}),Oe)},ft=T.forwardRef(De);ft.displayName="SelectTrigger";var bt=ft,U=v(48745);function de(Ae,me){var $e=Ae.key,Ke;return"value"in Ae&&(Ke=Ae.value),$e!=null?$e:Ke!==void 0?Ke:"rc-index-key-".concat(me)}function vt(Ae,me){var $e=Ae||{},Ke=$e.label,Xt=$e.value,Se=$e.options,Oe=$e.groupLabel,Ee=Ke||(me?"children":"label");return{label:Ee,value:Xt||"value",options:Se||"options",groupLabel:Oe||Ee}}function mt(Ae){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},$e=me.fieldNames,Ke=me.childrenAsData,Xt=[],Se=vt($e,!1),Oe=Se.label,Ee=Se.value,Ue=Se.options,at=Se.groupLabel;function Ut(ut,Lt){ut.forEach(function(qt){if(Lt||!(Ue in qt)){var Tn=qt[Ee];Xt.push({key:de(qt,Xt.length),groupOption:Lt,data:qt,label:qt[Oe],value:Tn})}else{var Rn=qt[at];Rn===void 0&&Ke&&(Rn=qt.label),Xt.push({key:de(qt,Xt.length),group:!0,data:qt,label:Rn}),Ut(qt[Ue],!0)}})}return Ut(Ae,!1),Xt}function Qt(Ae){var me=(0,R.Z)({},Ae);return"props"in me||Object.defineProperty(me,"props",{get:function(){return(0,F.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),me}}),me}function jt(Ae,me){if(!me||!me.length)return null;var $e=!1;function Ke(Se,Oe){var Ee=(0,U.Z)(Oe),Ue=Ee[0],at=Ee.slice(1);if(!Ue)return[Se];var Ut=Se.split(Ue);return $e=$e||Ut.length>1,Ut.reduce(function(ut,Lt){return[].concat((0,O.Z)(ut),(0,O.Z)(Ke(Lt,at)))},[]).filter(function(ut){return ut})}var Xt=Ke(Ae,me);return $e?Xt:null}var hn=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],ze=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function he(Ae){return Ae==="tags"||Ae==="multiple"}var qe=T.forwardRef(function(Ae,me){var $e,Ke,Xt=Ae.id,Se=Ae.prefixCls,Oe=Ae.className,Ee=Ae.showSearch,Ue=Ae.tagRender,at=Ae.direction,Ut=Ae.omitDomProps,ut=Ae.displayValues,Lt=Ae.onDisplayValuesChange,qt=Ae.emptyOptions,Tn=Ae.notFoundContent,Rn=Tn===void 0?"Not Found":Tn,ir=Ae.onClear,Ln=Ae.mode,Gn=Ae.disabled,_r=Ae.loading,un=Ae.getInputElement,Bn=Ae.getRawInputElement,lr=Ae.open,cr=Ae.defaultOpen,Fr=Ae.onDropdownVisibleChange,zr=Ae.activeValue,Wr=Ae.onActiveValueChange,Vr=Ae.activeDescendantId,wi=Ae.searchValue,Zr=Ae.autoClearSearchValue,Ei=Ae.onSearch,Yi=Ae.onSearchSplit,wn=Ae.tokenSeparators,wt=Ae.allowClear,Rt=Ae.suffixIcon,Et=Ae.clearIcon,dn=Ae.OptionList,Cn=Ae.animation,Xn=Ae.transitionName,mr=Ae.dropdownStyle,yr=Ae.dropdownClassName,ai=Ae.dropdownMatchSelectWidth,Si=Ae.dropdownRender,Ai=Ae.dropdownAlign,ii=Ae.placement,vi=Ae.builtinPlacements,es=Ae.getPopupContainer,$i=Ae.showAction,Wi=$i===void 0?[]:$i,Rr=Ae.onFocus,Ss=Ae.onBlur,ya=Ae.onKeyUp,pa=Ae.onKeyDown,Pa=Ae.onMouseDown,Ui=(0,I.Z)(Ae,hn),ki=he(Ln),cs=(Ee!==void 0?Ee:ki)||Ln==="combobox",vs=(0,R.Z)({},Ui);ze.forEach(function(eo){delete vs[eo]}),Ut==null||Ut.forEach(function(eo){delete vs[eo]});var ro=T.useState(!1),tl=(0,_.Z)(ro,2),wa=tl[0],Eo=tl[1];T.useEffect(function(){Eo((0,te.Z)())},[]);var Oa=T.useRef(null),$a=T.useRef(null),zo=T.useRef(null),Sl=T.useRef(null),Hi=T.useRef(null),Nl=Te(),ql=(0,_.Z)(Nl,3),lc=ql[0],Pl=ql[1],So=ql[2];T.useImperativeHandle(me,function(){var eo,Ma;return{focus:(eo=Sl.current)===null||eo===void 0?void 0:eo.focus,blur:(Ma=Sl.current)===null||Ma===void 0?void 0:Ma.blur,scrollTo:function(Nr){var $s;return($s=Hi.current)===null||$s===void 0?void 0:$s.scrollTo(Nr)}}});var To=T.useMemo(function(){var eo;if(Ln!=="combobox")return wi;var Ma=(eo=ut[0])===null||eo===void 0?void 0:eo.value;return typeof Ma=="string"||typeof Ma=="number"?String(Ma):""},[wi,Ln,ut]),Wc=Ln==="combobox"&&typeof un=="function"&&un()||null,vc=typeof Bn=="function"&&Bn(),bo=(0,pe.x1)($a,vc==null||($e=vc.props)===null||$e===void 0?void 0:$e.ref),Zc=T.useState(!1),Nu=(0,_.Z)(Zc,2),Oc=Nu[0],Bc=Nu[1];(0,ee.Z)(function(){Bc(!0)},[]);var yc=(0,N.Z)(!1,{defaultValue:cr,value:lr}),fo=(0,_.Z)(yc,2),ru=fo[0],ol=fo[1],us=Oc?ru:!1,as=!Rn&&qt;(Gn||as&&us&&Ln==="combobox")&&(us=!1);var Ws=as?!1:us,ia=T.useCallback(function(eo){var Ma=eo!==void 0?eo:!us;Gn||(ol(Ma),us!==Ma&&(Fr==null||Fr(Ma)))},[Gn,us,ol,Fr]),oo=T.useMemo(function(){return(wn||[]).some(function(eo){return[` +`,`\r +`].includes(eo)})},[wn]),ta=function(Ma,sr,Nr){var $s=!0,Ko=Ma;Wr==null||Wr(null);var La=Nr?null:jt(Ma,wn);return Ln!=="combobox"&&La&&(Ko="",Yi==null||Yi(La),ia(!1),$s=!1),Ei&&To!==Ko&&Ei(Ko,{source:sr?"typing":"effect"}),$s},Oi=function(Ma){!Ma||!Ma.trim()||Ei(Ma,{source:"submit"})};T.useEffect(function(){!us&&!ki&&Ln!=="combobox"&&ta("",!1,!1)},[us]),T.useEffect(function(){ru&&Gn&&ol(!1),Gn&&Pl(!1)},[Gn]);var jo=be(),cc=(0,_.Z)(jo,2),ll=cc[0],Jl=cc[1],Cl=function(Ma){var sr=ll(),Nr=Ma.which;if(Nr===ge.Z.ENTER&&(Ln!=="combobox"&&Ma.preventDefault(),us||ia(!0)),Jl(!!To),Nr===ge.Z.BACKSPACE&&!sr&&ki&&!To&&ut.length){for(var $s=(0,O.Z)(ut),Ko=null,La=$s.length-1;La>=0;La-=1){var Io=$s[La];if(!Io.disabled){$s.splice(La,1),Ko=Io;break}}Ko&&Lt($s,{type:"remove",values:[Ko]})}for(var au=arguments.length,Rc=new Array(au>1?au-1:0),zl=1;zl1?sr-1:0),$s=1;$s1?La-1:0),au=1;au1&&arguments[1]!==void 0?arguments[1]:!1;return(0,Mt.Z)(Ae).map(function($e,Ke){if(!T.isValidElement($e)||!$e.type)return null;var Xt=$e,Se=Xt.type.isSelectOptGroup,Oe=Xt.key,Ee=Xt.props,Ue=Ee.children,at=(0,I.Z)(Ee,an);return me||!Se?In($e):(0,R.Z)((0,R.Z)({key:"__RC_SELECT_GRP__".concat(Oe===null?Ke:Oe,"__"),label:Oe},at),{},{options:_n(Ue)})}).filter(function($e){return $e})}function er(Ae,me,$e,Ke,Xt){return T.useMemo(function(){var Se=Ae,Oe=!Ae;Oe&&(Se=_n(me));var Ee=new Map,Ue=new Map,at=function(Lt,qt,Tn){Tn&&typeof Tn=="string"&&Lt.set(qt[Tn],qt)};function Ut(ut){for(var Lt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,qt=0;qt1&&arguments[1]!==void 0?arguments[1]:1,es=Wr.length,$i=0;$i1&&arguments[1]!==void 0?arguments[1]:!1;Rt(ii);var es={source:vi?"keyboard":"mouse"},$i=Wr[ii];if(!$i){Rn(null,-1,es);return}Rn($i.value,ii,es)};(0,T.useEffect)(function(){Et(ir!==!1?Ei(0):-1)},[Wr.length,at]);var dn=T.useCallback(function(Ai){return _r.has(Ai)&&Ue!=="combobox"},[Ue,(0,O.Z)(_r).toString(),_r.size]);(0,T.useEffect)(function(){var Ai=setTimeout(function(){if(!Ee&&Oe&&_r.size===1){var vi=Array.from(_r)[0],es=Wr.findIndex(function($i){var Wi=$i.data;return Wi.value===vi});es!==-1&&(Et(es),Zr(es))}});if(Oe){var ii;(ii=Vr.current)===null||ii===void 0||ii.scrollTo(void 0)}return function(){return clearTimeout(Ai)}},[Oe,at,Tn.length]);var Cn=function(ii){ii!==void 0&&Ln(ii,{selected:!_r.has(ii)}),Ee||Ut(!1)};if(T.useImperativeHandle($e,function(){return{onKeyDown:function(ii){var vi=ii.which,es=ii.ctrlKey;switch(vi){case ge.Z.N:case ge.Z.P:case ge.Z.UP:case ge.Z.DOWN:{var $i=0;if(vi===ge.Z.UP?$i=-1:vi===ge.Z.DOWN?$i=1:Vt()&&es&&(vi===ge.Z.N?$i=1:vi===ge.Z.P&&($i=-1)),$i!==0){var Wi=Ei(wt+$i,$i);Zr(Wi),Et(Wi,!0)}break}case ge.Z.ENTER:{var Rr=Wr[wt];Rr&&!Rr.data.disabled?Cn(Rr.value):Cn(void 0),Oe&&ii.preventDefault();break}case ge.Z.ESC:Ut(!1),Oe&&ii.stopPropagation()}},onKeyUp:function(){},scrollTo:function(ii){Zr(ii)}}}),Wr.length===0)return T.createElement("div",{role:"listbox",id:"".concat(Se,"_list"),className:"".concat(zr,"-empty"),onMouseDown:wi},ut);var Xn=Object.keys(un).map(function(Ai){return un[Ai]}),mr=function(ii){return ii.label};function yr(Ai,ii){var vi=Ai.group;return{role:vi?"presentation":"option",id:"".concat(Se,"_list_").concat(ii)}}var ai=function(ii){var vi=Wr[ii];if(!vi)return null;var es=vi.data||{},$i=es.value,Wi=vi.group,Rr=(0,Je.Z)(es,!0),Ss=mr(vi);return vi?T.createElement("div",(0,m.Z)({"aria-label":typeof Ss=="string"&&!Wi?Ss:null},Rr,{key:ii},yr(vi,ii),{"aria-selected":dn($i)}),$i):null},Si={role:"listbox",id:"".concat(Se,"_list")};return T.createElement(T.Fragment,null,Bn&&T.createElement("div",(0,m.Z)({},Si,{style:{height:0,width:0,overflow:"hidden"}}),ai(wt-1),ai(wt),ai(wt+1)),T.createElement(fi.Z,{itemKey:"key",ref:Vr,data:Wr,height:cr,itemHeight:Fr,fullHeight:!1,onMouseDown:wi,onScroll:Lt,virtual:Bn,direction:lr,innerProps:Bn?null:Si},function(Ai,ii){var vi,es=Ai.group,$i=Ai.groupOption,Wi=Ai.data,Rr=Ai.label,Ss=Ai.value,ya=Wi.key;if(es){var pa,Pa=(pa=Wi.title)!==null&&pa!==void 0?pa:yt(Rr)?Rr.toString():void 0;return T.createElement("div",{className:z()(zr,"".concat(zr,"-group")),title:Pa},Rr!==void 0?Rr:ya)}var Ui=Wi.disabled,ki=Wi.title,cs=Wi.children,vs=Wi.style,ro=Wi.className,tl=(0,I.Z)(Wi,gt),wa=(0,Vi.Z)(tl,Xn),Eo=dn(Ss),Oa="".concat(zr,"-option"),$a=z()(zr,Oa,ro,(vi={},(0,B.Z)(vi,"".concat(Oa,"-grouped"),$i),(0,B.Z)(vi,"".concat(Oa,"-active"),wt===ii&&!Ui),(0,B.Z)(vi,"".concat(Oa,"-disabled"),Ui),(0,B.Z)(vi,"".concat(Oa,"-selected"),Eo),vi)),zo=mr(Ai),Sl=!Gn||typeof Gn=="function"||Eo,Hi=typeof zo=="number"?zo:zo||Ss,Nl=yt(Hi)?Hi.toString():void 0;return ki!==void 0&&(Nl=ki),T.createElement("div",(0,m.Z)({},(0,Je.Z)(wa),Bn?{}:yr(Ai,ii),{"aria-selected":Eo,className:$a,title:Nl,onMouseMove:function(){wt===ii||Ui||Et(ii)},onClick:function(){Ui||Cn(Ss)},style:vs}),T.createElement("div",{className:"".concat(Oa,"-content")},Hi),T.isValidElement(Gn)||Eo,Sl&&T.createElement(Le,{className:"".concat(zr,"-option-state"),customizeIcon:Gn,customizeIconProps:{isSelected:Eo}},Eo?"\u2713":null))}))},rn=T.forwardRef(Ft);rn.displayName="OptionList";var Dt=rn;function jn(Ae){var me=Ae.mode,$e=Ae.options,Ke=Ae.children,Xt=Ae.backfill,Se=Ae.allowClear,Oe=Ae.placeholder,Ee=Ae.getInputElement,Ue=Ae.showSearch,at=Ae.onSearch,Ut=Ae.defaultOpen,ut=Ae.autoFocus,Lt=Ae.labelInValue,qt=Ae.value,Tn=Ae.inputValue,Rn=Ae.optionLabelProp,ir=isMultiple(me),Ln=Ue!==void 0?Ue:ir||me==="combobox",Gn=$e||convertChildrenToData(Ke);if(warning(me!=="tags"||Gn.every(function(lr){return!lr.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),me==="tags"||me==="combobox"){var _r=Gn.some(function(lr){return lr.options?lr.options.some(function(cr){return typeof("value"in cr?cr.value:cr.key)=="number"}):typeof("value"in lr?lr.value:lr.key)=="number"});warning(!_r,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(me!=="combobox"||!Rn,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(me==="combobox"||!Xt,"`backfill` only works with `combobox` mode."),warning(me==="combobox"||!Ee,"`getInputElement` only work with `combobox` mode."),noteOnce(me!=="combobox"||!Ee||!Se||!Oe,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),at&&!Ln&&me!=="combobox"&&me!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!Ut||ut,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),qt!=null){var un=toArray(qt);warning(!Lt||un.every(function(lr){return _typeof(lr)==="object"&&("key"in lr||"value"in lr)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!ir||Array.isArray(qt),"`value` should be array when `mode` is `multiple` or `tags`")}if(Ke){var Bn=null;toNodeArray(Ke).some(function(lr){if(!React.isValidElement(lr)||!lr.type)return!1;var cr=lr,Fr=cr.type;if(Fr.isSelectOption)return!1;if(Fr.isSelectOptGroup){var zr=toNodeArray(lr.props.children).every(function(Wr){return!React.isValidElement(Wr)||!lr.type||Wr.type.isSelectOption?!0:(Bn=Wr.type,!1)});return!zr}return Bn=Fr,!0}),Bn&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Bn.displayName||Bn.name||Bn,"`.")),warning(Tn===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Zn(Ae,me){if(Ae){var $e=function Ke(Xt){for(var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Oe=0;Oe2&&arguments[2]!==void 0?arguments[2]:{},ia=Ws.source,oo=ia===void 0?"keyboard":ia;bo(as),Oe&&Ke==="combobox"&&us!==null&&oo==="keyboard"&&So(String(us))},[Oe,Ke]),Oc=function(as,Ws,ia){var oo=function(){var Bo,Ro=ro(as);return[wt?{label:Ro==null?void 0:Ro[yr.label],value:as,key:(Bo=Ro==null?void 0:Ro.key)!==null&&Bo!==void 0?Bo:as}:as,Qt(Ro)]};if(Ws&&qt){var ta=oo(),Oi=(0,_.Z)(ta,2),jo=Oi[0],cc=Oi[1];qt(jo,cc)}else if(!Ws&&Tn&&ia!=="clear"){var ll=oo(),Jl=(0,_.Z)(ll,2),Cl=Jl[0],iu=Jl[1];Tn(Cl,iu)}},Bc=Mr(function(us,as){var Ws,ia=Cn?as.selected:!0;ia?Ws=Cn?[].concat((0,O.Z)(vs),[us]):[us]:Ws=vs.filter(function(oo){return oo.value!==us}),Nl(Ws),Oc(us,ia),Ke==="combobox"?So(""):(!he||Lt)&&(ii(""),So(""))}),yc=function(as,Ws){Nl(as);var ia=Ws.type,oo=Ws.values;(ia==="remove"||ia==="clear")&&oo.forEach(function(ta){Oc(ta.value,!1,ia)})},fo=function(as,Ws){if(ii(as),So(null),Ws.source==="submit"){var ia=(as||"").trim();if(ia){var oo=Array.from(new Set([].concat((0,O.Z)(wa),[ia])));Nl(oo),Oc(ia,!0),ii("")}return}Ws.source!=="blur"&&(Ke==="combobox"&&Nl(as),Ut==null||Ut(as))},ru=function(as){var Ws=as;Ke!=="tags"&&(Ws=as.map(function(oo){var ta=$i.get(oo);return ta==null?void 0:ta.value}).filter(function(oo){return oo!==void 0}));var ia=Array.from(new Set([].concat((0,O.Z)(wa),(0,O.Z)(Ws))));Nl(ia),ia.forEach(function(oo){Oc(oo,!0)})},ol=T.useMemo(function(){var us=zr!==!1&&ir!==!1;return(0,R.Z)((0,R.Z)({},vi),{},{flattenOptions:Hi,onActiveValue:Nu,defaultActiveFirstOption:Zc,onSelect:Bc,menuItemSelectedIcon:Fr,rawValues:wa,fieldNames:yr,virtual:us,direction:Wr,listHeight:wi,listItemHeight:Ei,childrenAsData:Xn})},[vi,Hi,Nu,Zc,Bc,Fr,wa,yr,zr,ir,wi,Ei,Xn]);return T.createElement(Yt.Provider,{value:ol},T.createElement(ct,(0,m.Z)({},Et,{id:dn,prefixCls:Se,ref:me,omitDomProps:Ne,mode:Ke,displayValues:tl,onDisplayValuesChange:yc,direction:Wr,searchValue:Ai,onSearch:fo,autoClearSearchValue:Lt,onSearchSplit:ru,dropdownMatchSelectWidth:ir,OptionList:Dt,emptyOptions:!Hi.length,activeValue:Pl,activeDescendantId:"".concat(dn,"_list_").concat(vc)})))}),S=W;S.Option=ri,S.OptGroup=di;var H=S,J=H},9296:function(Re,xe,v){"use strict";v.r(xe),v.d(xe,{ResizableTextArea:function(){return cn},default:function(){return ke}});var m=v(60499),O=v(85899),B=v(18642),R=v(43749),_=v(72190),I=v(42244),E=v(77654),N=v(92310),F=v.n(N),T=v(93681),D=v(5643),z=v(18929),ee=v(59301),te=v(29301),ge=v(34280),pe=v(16089),fe=` + min-height:0 !important; + max-height:none !important; + height:0 !important; + visibility:hidden !important; + overflow:hidden !important; + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; + pointer-events: none !important; +`,Le=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Me={},Ze;function Ye(ot){var Ht=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,On=ot.getAttribute("id")||ot.getAttribute("data-reactid")||ot.getAttribute("name");if(Ht&&Me[On])return Me[On];var xt=window.getComputedStyle(ot),Pt=xt.getPropertyValue("box-sizing")||xt.getPropertyValue("-moz-box-sizing")||xt.getPropertyValue("-webkit-box-sizing"),tn=parseFloat(xt.getPropertyValue("padding-bottom"))+parseFloat(xt.getPropertyValue("padding-top")),pt=parseFloat(xt.getPropertyValue("border-bottom-width"))+parseFloat(xt.getPropertyValue("border-top-width")),lt=Le.map(function(re){return"".concat(re,":").concat(xt.getPropertyValue(re))}).join(";"),ae={sizingStyle:lt,paddingSize:tn,borderSize:pt,boxSizing:Pt};return Ht&&On&&(Me[On]=ae),ae}function Te(ot){var Ht=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,On=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,xt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;Ze||(Ze=document.createElement("textarea"),Ze.setAttribute("tab-index","-1"),Ze.setAttribute("aria-hidden","true"),document.body.appendChild(Ze)),ot.getAttribute("wrap")?Ze.setAttribute("wrap",ot.getAttribute("wrap")):Ze.removeAttribute("wrap");var Pt=Ye(ot,Ht),tn=Pt.paddingSize,pt=Pt.borderSize,lt=Pt.boxSizing,ae=Pt.sizingStyle;Ze.setAttribute("style","".concat(ae,";").concat(fe)),Ze.value=ot.value||ot.placeholder||"";var re=void 0,Ie=void 0,Ct,Nt=Ze.scrollHeight;if(lt==="border-box"?Nt+=pt:lt==="content-box"&&(Nt-=tn),On!==null||xt!==null){Ze.value=" ";var ht=Ze.scrollHeight-tn;On!==null&&(re=ht*On,lt==="border-box"&&(re=re+tn+pt),Nt=Math.max(re,Nt)),xt!==null&&(Ie=ht*xt,lt==="border-box"&&(Ie=Ie+tn+pt),Ct=Nt>Ie?"":"hidden",Nt=Math.min(Ie,Nt))}var Wt={height:Nt,overflowY:Ct,resize:"none"};return re&&(Wt.minHeight=re),Ie&&(Wt.maxHeight=Ie),Wt}var be=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],Ge=0,Je=1,it=2,$t=ee.forwardRef(function(ot,Ht){var On=ot,xt=On.prefixCls,Pt=On.onPressEnter,tn=On.defaultValue,pt=On.value,lt=On.autoSize,ae=On.onResize,re=On.className,Ie=On.style,Ct=On.disabled,Nt=On.onChange,ht=On.onInternalAutoSize,Wt=(0,I.Z)(On,be),zt=(0,z.Z)(tn,{value:pt,postState:function(di){return di!=null?di:""}}),De=(0,_.Z)(zt,2),ft=De[0],bt=De[1],U=function(di){bt(di.target.value),Nt==null||Nt(di)},de=ee.useRef();ee.useImperativeHandle(Ht,function(){return{textArea:de.current}});var vt=ee.useMemo(function(){return lt&&(0,R.Z)(lt)==="object"?[lt.minRows,lt.maxRows]:[]},[lt]),mt=(0,_.Z)(vt,2),Qt=mt[0],jt=mt[1],hn=!!lt,ze=function(){try{if(document.activeElement===de.current){var di=de.current,br=di.selectionStart,ri=di.selectionEnd,Ir=di.scrollTop;de.current.setSelectionRange(br,ri),de.current.scrollTop=Ir}}catch(Vi){}},he=ee.useState(it),qe=(0,_.Z)(he,2),ct=qe[0],je=qe[1],Xe=ee.useState(),dt=(0,_.Z)(Xe,2),Tt=dt[0],Mt=dt[1],It=function(){je(Ge)};(0,ge.Z)(function(){hn&&It()},[pt,Qt,jt,hn]),(0,ge.Z)(function(){if(ct===Ge)je(Je);else if(ct===Je){var hr=Te(de.current,!1,Qt,jt);je(it),Mt(hr)}else ze()},[ct]);var an=ee.useRef(),In=function(){pe.Z.cancel(an.current)},_n=function(di){ct===it&&(ae==null||ae(di),lt&&(In(),an.current=(0,pe.Z)(function(){It()})))};ee.useEffect(function(){return In},[]);var er=hn?Tt:null,Mr=(0,O.Z)((0,O.Z)({},Ie),er);return(ct===Ge||ct===Je)&&(Mr.overflowY="hidden",Mr.overflowX="hidden"),ee.createElement(te.Z,{onResize:_n,disabled:!(lt||ae)},ee.createElement("textarea",(0,m.Z)({},Wt,{ref:de,style:Mr,className:F()(xt,re,(0,B.Z)({},"".concat(xt,"-disabled"),Ct)),disabled:Ct,value:ft,onChange:U})))}),cn=$t,Sn=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","classes","showCount","className","style","disabled","hidden","classNames","styles","onResize"];function vn(ot,Ht){return(0,E.Z)(ot||"").slice(0,Ht).join("")}function Qn(ot,Ht,On,xt){var Pt=On;return ot?Pt=vn(On,xt):(0,E.Z)(Ht||"").lengthxt&&(Pt=Ht),Pt}var xn=ee.forwardRef(function(ot,Ht){var On,xt=ot.defaultValue,Pt=ot.value,tn=ot.onFocus,pt=ot.onBlur,lt=ot.onChange,ae=ot.allowClear,re=ot.maxLength,Ie=ot.onCompositionStart,Ct=ot.onCompositionEnd,Nt=ot.suffix,ht=ot.prefixCls,Wt=ht===void 0?"rc-textarea":ht,zt=ot.classes,De=ot.showCount,ft=ot.className,bt=ot.style,U=ot.disabled,de=ot.hidden,vt=ot.classNames,mt=ot.styles,Qt=ot.onResize,jt=(0,I.Z)(ot,Sn),hn=(0,z.Z)(xt,{value:Pt,defaultValue:xt}),ze=(0,_.Z)(hn,2),he=ze[0],qe=ze[1],ct=(0,ee.useRef)(null),je=ee.useState(!1),Xe=(0,_.Z)(je,2),dt=Xe[0],Tt=Xe[1],Mt=ee.useState(!1),It=(0,_.Z)(Mt,2),an=It[0],In=It[1],_n=ee.useRef(),er=ee.useRef(0),Mr=ee.useState(null),hr=(0,_.Z)(Mr,2),di=hr[0],br=hr[1],ri=function(){var V;(V=ct.current)===null||V===void 0||V.textArea.focus()};(0,ee.useImperativeHandle)(Ht,function(){return{resizableTextArea:ct.current,focus:ri,blur:function(){var V;(V=ct.current)===null||V===void 0||V.textArea.blur()}}}),(0,ee.useEffect)(function(){Tt(function(Ne){return!U&&Ne})},[U]);var Ir=Number(re)>0,Vi=function(V){In(!0),_n.current=he,er.current=V.currentTarget.selectionStart,Ie==null||Ie(V)},fi=function(V){In(!1);var W=V.currentTarget.value;if(Ir){var S,H=er.current>=re+1||er.current===((S=_n.current)===null||S===void 0?void 0:S.length);W=Qn(H,_n.current,W,re)}W!==he&&(qe(W),(0,D.rJ)(V.currentTarget,V,lt,W)),Ct==null||Ct(V)},on=function(V){var W=V.target.value;if(!an&&Ir){var S=V.target.selectionStart>=re+1||V.target.selectionStart===W.length||!V.target.selectionStart;W=Qn(S,he,W,re)}qe(W),(0,D.rJ)(V.currentTarget,V,lt,W)},Yt=function(V){var W=jt.onPressEnter,S=jt.onKeyDown;V.key==="Enter"&&W&&W(V),S==null||S(V)},Vt=function(V){Tt(!0),tn==null||tn(V)},gt=function(V){Tt(!1),pt==null||pt(V)},yt=function(V){var W;qe(""),ri(),(0,D.rJ)((W=ct.current)===null||W===void 0?void 0:W.textArea,V,lt)},Ft=(0,D.D7)(he);!an&&Ir&&Pt==null&&(Ft=vn(Ft,re));var rn=Nt,Dt;if(De){var jn=(0,E.Z)(Ft).length;(0,R.Z)(De)==="object"?Dt=De.formatter({value:Ft,count:jn,maxLength:re}):Dt="".concat(jn).concat(Ir?" / ".concat(re):""),rn=ee.createElement(ee.Fragment,null,rn,ee.createElement("span",{className:F()("".concat(Wt,"-data-count"),vt==null?void 0:vt.count),style:mt==null?void 0:mt.count},Dt))}var Zn=function(V){var W;Qt==null||Qt(V),(W=ct.current)!==null&&W!==void 0&&W.textArea.style.height&&br(!0)},Tr=!jt.autoSize&&!De&&!ae,Qr=ee.createElement(T.BaseInput,{value:Ft,allowClear:ae,handleReset:yt,suffix:rn,prefixCls:Wt,classes:{affixWrapper:F()(zt==null?void 0:zt.affixWrapper,(On={},(0,B.Z)(On,"".concat(Wt,"-show-count"),De),(0,B.Z)(On,"".concat(Wt,"-textarea-allow-clear"),ae),On))},disabled:U,focused:dt,className:ft,style:(0,O.Z)((0,O.Z)({},bt),di&&!Tr?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof Dt=="string"?Dt:void 0}},hidden:de,inputElement:ee.createElement(cn,(0,m.Z)({},jt,{onKeyDown:Yt,onChange:on,onFocus:Vt,onBlur:gt,onCompositionStart:Vi,onCompositionEnd:fi,className:vt==null?void 0:vt.textarea,style:(0,O.Z)((0,O.Z)({},mt==null?void 0:mt.textarea),{},{resize:bt==null?void 0:bt.resize}),disabled:U,prefixCls:Wt,onResize:Zn,ref:ct}))});return Qr}),Un=xn,ke=Un},48911:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return zt}});var m=v(60499),O=v(43749),B=v(85899),R=v(18642),_=v(72190),I=v(42244),E=v(92310),N=v.n(E),F=v(29301),T=v(70425),D=v(34280),z=v(59301),ee=v(4676),te=z.forwardRef(function(De,ft){var bt=De.height,U=De.offsetY,de=De.offsetX,vt=De.children,mt=De.prefixCls,Qt=De.onInnerResize,jt=De.innerProps,hn=De.rtl,ze=De.extra,he={},qe={display:"flex",flexDirection:"column"};return U!==void 0&&(he={height:bt,position:"relative",overflow:"hidden"},qe=(0,B.Z)((0,B.Z)({},qe),{},(0,R.Z)((0,R.Z)((0,R.Z)((0,R.Z)((0,R.Z)({transform:"translateY(".concat(U,"px)")},hn?"marginRight":"marginLeft",-de),"position","absolute"),"left",0),"right",0),"top",0))),z.createElement("div",{style:he},z.createElement(F.Z,{onResize:function(je){var Xe=je.offsetHeight;Xe&&Qt&&Qt()}},z.createElement("div",(0,m.Z)({style:qe,className:N()((0,R.Z)({},"".concat(mt,"-holder-inner"),mt)),ref:ft},jt),vt,ze)))});te.displayName="Filler";var ge=te;function pe(De){var ft=De.children,bt=De.setRef,U=z.useCallback(function(de){bt(de)},[]);return z.cloneElement(ft,{ref:U})}function fe(De,ft,bt,U,de,vt,mt,Qt){var jt=Qt.getKey;return De.slice(ft,bt+1).map(function(hn,ze){var he=ft+ze,qe=mt(hn,he,{style:{width:U},offsetX:de}),ct=jt(hn);return z.createElement(pe,{key:ct,setRef:function(Xe){return vt(hn,Xe)}},qe)})}function Le(De,ft,bt,U){var de=bt-De,vt=ft-bt,mt=Math.min(de,vt)*2;if(U<=mt){var Qt=Math.floor(U/2);return U%2?bt+Qt+1:bt-Qt}return de>vt?bt-(U-vt):bt+(U-de)}function Me(De,ft,bt){var U=De.length,de=ft.length,vt,mt;if(U===0&&de===0)return null;U2&&arguments[2]!==void 0?arguments[2]:!1,he=jt?hn<0&&Qt.current.left||hn>0&&Qt.current.right:hn<0&&Qt.current.top||hn>0&&Qt.current.bottom;return ze&&he?(clearTimeout(vt.current),de.current=!1):(!he||de.current)&&mt(),!de.current&&he}};function Je(De,ft,bt,U,de,vt,mt){var Qt=(0,z.useRef)(0),jt=(0,z.useRef)(null),hn=(0,z.useRef)(null),ze=(0,z.useRef)(!1),he=Ge(ft,bt,U,de);function qe(Mt,It){if(Ye.Z.cancel(jt.current),!he(!1,It)){var an=Mt;if(!an._virtualHandled)an._virtualHandled=!0;else return;Qt.current+=It,hn.current=It,be||an.preventDefault(),jt.current=(0,Ye.Z)(function(){var In=ze.current?10:1;mt(Qt.current*In,!1),Qt.current=0})}}function ct(Mt,It){mt(It,!0),be||Mt.preventDefault()}var je=(0,z.useRef)(null),Xe=(0,z.useRef)(null);function dt(Mt){if(De){Ye.Z.cancel(Xe.current),Xe.current=(0,Ye.Z)(function(){je.current=null},2);var It=Mt.deltaX,an=Mt.deltaY,In=Mt.shiftKey,_n=It,er=an;(je.current==="sx"||!je.current&&In&&an&&!It)&&(_n=an,er=0,je.current="sx");var Mr=Math.abs(_n),hr=Math.abs(er);je.current===null&&(je.current=vt&&Mr>hr?"x":"y"),je.current==="y"?qe(Mt,er):ct(Mt,_n)}}function Tt(Mt){De&&(ze.current=Mt.detail===hn.current)}return[dt,Tt]}function it(De,ft,bt,U){var de=z.useMemo(function(){return[new Map,[]]},[De,bt.id,U]),vt=(0,_.Z)(de,2),mt=vt[0],Qt=vt[1],jt=function(ze){var he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ze,qe=mt.get(ze),ct=mt.get(he);if(qe===void 0||ct===void 0)for(var je=De.length,Xe=Qt.length;Xe0&&arguments[0]!==void 0?arguments[0]:!1;ze();var je=function(){var Tt=!1;Qt.current.forEach(function(Mt,It){if(Mt&&Mt.offsetParent){var an=Mt.offsetHeight,In=getComputedStyle(Mt),_n=In.marginTop,er=In.marginBottom,Mr=Qn(_n),hr=Qn(er),di=an+Mr+hr;jt.current.get(It)!==di&&(jt.current.set(It,di),Tt=!0)}}),Tt&&mt(function(Mt){return Mt+1})};if(ct)je();else{hn.current+=1;var Xe=hn.current;Promise.resolve().then(function(){Xe===hn.current&&je()})}}function qe(ct,je){var Xe=De(ct),dt=Qt.current.get(Xe);je?(Qt.current.set(Xe,je),he()):Qt.current.delete(Xe),!dt!=!je&&(je?ft==null||ft(ct):bt==null||bt(ct))}return(0,z.useEffect)(function(){return ze},[]),[qe,he,jt.current,vt]}var Un=14/15;function ke(De,ft,bt){var U=(0,z.useRef)(!1),de=(0,z.useRef)(0),vt=(0,z.useRef)(0),mt=(0,z.useRef)(null),Qt=(0,z.useRef)(null),jt,hn=function(ct){if(U.current){var je=Math.ceil(ct.touches[0].pageX),Xe=Math.ceil(ct.touches[0].pageY),dt=de.current-je,Tt=vt.current-Xe,Mt=Math.abs(dt)>Math.abs(Tt);Mt?de.current=je:vt.current=Xe;var It=bt(Mt,Mt?dt:Tt,!1,ct);It&&ct.preventDefault(),clearInterval(Qt.current),It&&(Qt.current=setInterval(function(){Mt?dt*=Un:Tt*=Un;var an=Math.floor(Mt?dt:Tt);(!bt(Mt,an,!0)||Math.abs(an)<=.1)&&clearInterval(Qt.current)},16))}},ze=function(){U.current=!1,jt()},he=function(ct){jt(),ct.touches.length===1&&!U.current&&(U.current=!0,de.current=Math.ceil(ct.touches[0].pageX),vt.current=Math.ceil(ct.touches[0].pageY),mt.current=ct.target,mt.current.addEventListener("touchmove",hn,{passive:!1}),mt.current.addEventListener("touchend",ze,{passive:!0}))};jt=function(){mt.current&&(mt.current.removeEventListener("touchmove",hn),mt.current.removeEventListener("touchend",ze))},(0,D.Z)(function(){return De&&ft.current.addEventListener("touchstart",he,{passive:!0}),function(){var qe;(qe=ft.current)===null||qe===void 0||qe.removeEventListener("touchstart",he),jt(),clearInterval(Qt.current)}},[De])}function ot(De){return Math.floor(Math.pow(De,.5))}function Ht(De,ft){var bt="touches"in De?De.touches[0]:De;return bt[ft?"pageX":"pageY"]-window[ft?"scrollX":"scrollY"]}function On(De,ft,bt){z.useEffect(function(){var U=ft.current;if(De&&U){var de=!1,vt,mt,Qt=function(){Ye.Z.cancel(vt)},jt=function qe(){Qt(),vt=(0,Ye.Z)(function(){bt(mt),qe()})},hn=function(){de=!1,Qt()},ze=function(ct){if(!(ct.target.draggable||ct.button!==0)){var je=ct;je._virtualHandled||(je._virtualHandled=!0,de=!0)}},he=function(ct){if(de){var je=Ht(ct,!1),Xe=U.getBoundingClientRect(),dt=Xe.top,Tt=Xe.bottom;if(je<=dt){var Mt=dt-je;mt=-ot(Mt),jt()}else if(je>=Tt){var It=je-Tt;mt=ot(It),jt()}else Qt()}};return U.addEventListener("mousedown",ze),U.ownerDocument.addEventListener("mouseup",hn),U.ownerDocument.addEventListener("mousemove",he),U.ownerDocument.addEventListener("dragend",hn),function(){U.removeEventListener("mousedown",ze),U.ownerDocument.removeEventListener("mouseup",hn),U.ownerDocument.removeEventListener("mousemove",he),U.ownerDocument.removeEventListener("dragend",hn),Qt()}}},[De])}var xt=10;function Pt(De,ft,bt,U,de,vt,mt,Qt){var jt=z.useRef(),hn=z.useState(null),ze=(0,_.Z)(hn,2),he=ze[0],qe=ze[1];return(0,D.Z)(function(){if(he&&he.times=0;Vi-=1){var fi=de(ft[Vi]),on=bt.get(fi);if(on===void 0){Mt=!0;break}if(Ir-=on,Ir<=0)break}switch(In){case"top":an=er-dt;break;case"bottom":an=Mr-Tt+dt;break;default:{var Yt=De.current.scrollTop,Vt=Yt+Tt;erVt&&(It="bottom")}}an!==null&&mt(an),an!==he.lastTop&&(Mt=!0)}Mt&&qe((0,B.Z)((0,B.Z)({},he),{},{times:he.times+1,targetAlign:It,lastTop:an}))}},[he,De.current]),function(ct){if(ct==null){Qt();return}if(Ye.Z.cancel(jt.current),typeof ct=="number")mt(ct);else if(ct&&(0,O.Z)(ct)==="object"){var je,Xe=ct.align;"index"in ct?je=ct.index:je=ft.findIndex(function(Mt){return de(Mt)===ct.key});var dt=ct.offset,Tt=dt===void 0?0:dt;qe({times:0,index:je,offset:Tt,originAlign:Xe})}}}var tn=z.forwardRef(function(De,ft){var bt=De.prefixCls,U=De.rtl,de=De.scrollOffset,vt=De.scrollRange,mt=De.onStartMove,Qt=De.onStopMove,jt=De.onScroll,hn=De.horizontal,ze=De.spinSize,he=De.containerSize,qe=De.style,ct=De.thumbStyle,je=De.showScrollBar,Xe=z.useState(!1),dt=(0,_.Z)(Xe,2),Tt=dt[0],Mt=dt[1],It=z.useState(null),an=(0,_.Z)(It,2),In=an[0],_n=an[1],er=z.useState(null),Mr=(0,_.Z)(er,2),hr=Mr[0],di=Mr[1],br=!U,ri=z.useRef(),Ir=z.useRef(),Vi=z.useState(je),fi=(0,_.Z)(Vi,2),on=fi[0],Yt=fi[1],Vt=z.useRef(),gt=function(){je===!0||je===!1||(clearTimeout(Vt.current),Yt(!0),Vt.current=setTimeout(function(){Yt(!1)},3e3))},yt=vt-he||0,Ft=he-ze||0,rn=z.useMemo(function(){if(de===0||yt===0)return 0;var S=de/yt;return S*Ft},[de,yt,Ft]),Dt=function(H){H.stopPropagation(),H.preventDefault()},jn=z.useRef({top:rn,dragging:Tt,pageY:In,startTop:hr});jn.current={top:rn,dragging:Tt,pageY:In,startTop:hr};var Zn=function(H){Mt(!0),_n(Ht(H,hn)),di(jn.current.top),mt(),H.stopPropagation(),H.preventDefault()};z.useEffect(function(){var S=function(me){me.preventDefault()},H=ri.current,J=Ir.current;return H.addEventListener("touchstart",S,{passive:!1}),J.addEventListener("touchstart",Zn,{passive:!1}),function(){H.removeEventListener("touchstart",S),J.removeEventListener("touchstart",Zn)}},[]);var Tr=z.useRef();Tr.current=yt;var Qr=z.useRef();Qr.current=Ft,z.useEffect(function(){if(Tt){var S,H=function(me){var $e=jn.current,Ke=$e.dragging,Xt=$e.pageY,Se=$e.startTop;Ye.Z.cancel(S);var Oe=ri.current.getBoundingClientRect(),Ee=he/(hn?Oe.width:Oe.height);if(Ke){var Ue=(Ht(me,hn)-Xt)*Ee,at=Se;!br&&hn?at-=Ue:at+=Ue;var Ut=Tr.current,ut=Qr.current,Lt=ut?at/ut:0,qt=Math.ceil(Lt*Ut);qt=Math.max(qt,0),qt=Math.min(qt,Ut),S=(0,Ye.Z)(function(){jt(qt,hn)})}},J=function(){Mt(!1),Qt()};return window.addEventListener("mousemove",H,{passive:!0}),window.addEventListener("touchmove",H,{passive:!0}),window.addEventListener("mouseup",J,{passive:!0}),window.addEventListener("touchend",J,{passive:!0}),function(){window.removeEventListener("mousemove",H),window.removeEventListener("touchmove",H),window.removeEventListener("mouseup",J),window.removeEventListener("touchend",J),Ye.Z.cancel(S)}}},[Tt]),z.useEffect(function(){return gt(),function(){clearTimeout(Vt.current)}},[de]),z.useImperativeHandle(ft,function(){return{delayHidden:gt}});var Ne="".concat(bt,"-scrollbar"),V={position:"absolute",visibility:on?null:"hidden"},W={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return hn?(Object.assign(V,{height:8,left:0,right:0,bottom:0}),Object.assign(W,(0,R.Z)({height:"100%",width:ze},br?"left":"right",rn))):(Object.assign(V,(0,R.Z)({width:8,top:0,bottom:0},br?"right":"left",0)),Object.assign(W,{width:"100%",height:ze,top:rn})),z.createElement("div",{ref:ri,className:N()(Ne,(0,R.Z)((0,R.Z)((0,R.Z)({},"".concat(Ne,"-horizontal"),hn),"".concat(Ne,"-vertical"),!hn),"".concat(Ne,"-visible"),on)),style:(0,B.Z)((0,B.Z)({},V),qe),onMouseDown:Dt,onMouseMove:gt},z.createElement("div",{ref:Ir,className:N()("".concat(Ne,"-thumb"),(0,R.Z)({},"".concat(Ne,"-thumb-moving"),Tt)),style:(0,B.Z)((0,B.Z)({},W),ct),onMouseDown:Zn}))}),pt=tn,lt=20;function ae(){var De=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,ft=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,bt=De/ft*De;return isNaN(bt)&&(bt=0),bt=Math.max(bt,lt),Math.floor(bt)}var re=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],Ie=[],Ct={overflowY:"auto",overflowAnchor:"none"};function Nt(De,ft){var bt=De.prefixCls,U=bt===void 0?"rc-virtual-list":bt,de=De.className,vt=De.height,mt=De.itemHeight,Qt=De.fullHeight,jt=Qt===void 0?!0:Qt,hn=De.style,ze=De.data,he=De.children,qe=De.itemKey,ct=De.virtual,je=De.direction,Xe=De.scrollWidth,dt=De.component,Tt=dt===void 0?"div":dt,Mt=De.onScroll,It=De.onVirtualScroll,an=De.onVisibleChange,In=De.innerProps,_n=De.extraRender,er=De.styles,Mr=De.showScrollBar,hr=Mr===void 0?"optional":Mr,di=(0,I.Z)(De,re),br=z.useCallback(function(Ui){return typeof qe=="function"?qe(Ui):Ui==null?void 0:Ui[qe]},[qe]),ri=xn(br,null,null),Ir=(0,_.Z)(ri,4),Vi=Ir[0],fi=Ir[1],on=Ir[2],Yt=Ir[3],Vt=!!(ct!==!1&&vt&&mt),gt=z.useMemo(function(){return Object.values(on.maps).reduce(function(Ui,ki){return Ui+ki},0)},[on.id,on.maps]),yt=Vt&&ze&&(Math.max(mt*ze.length,gt)>vt||!!Xe),Ft=je==="rtl",rn=N()(U,(0,R.Z)({},"".concat(U,"-rtl"),Ft),de),Dt=ze||Ie,jn=(0,z.useRef)(),Zn=(0,z.useRef)(),Tr=(0,z.useRef)(),Qr=(0,z.useState)(0),Ne=(0,_.Z)(Qr,2),V=Ne[0],W=Ne[1],S=(0,z.useState)(0),H=(0,_.Z)(S,2),J=H[0],Ae=H[1],me=(0,z.useState)(!1),$e=(0,_.Z)(me,2),Ke=$e[0],Xt=$e[1],Se=function(){Xt(!0)},Oe=function(){Xt(!1)},Ee={getKey:br};function Ue(Ui){W(function(ki){var cs;typeof Ui=="function"?cs=Ui(ki):cs=Ui;var vs=Ei(cs);return jn.current.scrollTop=vs,vs})}var at=(0,z.useRef)({start:0,end:Dt.length}),Ut=(0,z.useRef)(),ut=Ze(Dt,br),Lt=(0,_.Z)(ut,1),qt=Lt[0];Ut.current=qt;var Tn=z.useMemo(function(){if(!Vt)return{scrollHeight:void 0,start:0,end:Dt.length-1,offset:void 0};if(!yt){var Ui;return{scrollHeight:((Ui=Zn.current)===null||Ui===void 0?void 0:Ui.offsetHeight)||0,start:0,end:Dt.length-1,offset:void 0}}for(var ki=0,cs,vs,ro,tl=Dt.length,wa=0;wa=V&&cs===void 0&&(cs=wa,vs=ki),zo>V+vt&&ro===void 0&&(ro=wa),ki=zo}return cs===void 0&&(cs=0,vs=0,ro=Math.ceil(vt/mt)),ro===void 0&&(ro=Dt.length-1),ro=Math.min(ro+1,Dt.length-1),{scrollHeight:ki,start:cs,end:ro,offset:vs}},[yt,Vt,V,Dt,Yt,vt]),Rn=Tn.scrollHeight,ir=Tn.start,Ln=Tn.end,Gn=Tn.offset;at.current.start=ir,at.current.end=Ln,z.useLayoutEffect(function(){var Ui=on.getRecord();if(Ui.size===1){var ki=Array.from(Ui.keys())[0],cs=Ui.get(ki),vs=Dt[ir];if(vs&&cs===void 0){var ro=br(vs);if(ro===ki){var tl=on.get(ki),wa=tl-mt;Ue(function(Eo){return Eo+wa})}}}on.resetRecord()},[Rn]);var _r=z.useState({width:0,height:vt}),un=(0,_.Z)(_r,2),Bn=un[0],lr=un[1],cr=function(ki){lr({width:ki.offsetWidth,height:ki.offsetHeight})},Fr=(0,z.useRef)(),zr=(0,z.useRef)(),Wr=z.useMemo(function(){return ae(Bn.width,Xe)},[Bn.width,Xe]),Vr=z.useMemo(function(){return ae(Bn.height,Rn)},[Bn.height,Rn]),wi=Rn-vt,Zr=(0,z.useRef)(wi);Zr.current=wi;function Ei(Ui){var ki=Ui;return Number.isNaN(Zr.current)||(ki=Math.min(ki,Zr.current)),ki=Math.max(ki,0),ki}var Yi=V<=0,wn=V>=wi,wt=J<=0,Rt=J>=Xe,Et=Ge(Yi,wn,wt,Rt),dn=function(){return{x:Ft?-J:J,y:V}},Cn=(0,z.useRef)(dn()),Xn=(0,T.useEvent)(function(Ui){if(It){var ki=(0,B.Z)((0,B.Z)({},dn()),Ui);(Cn.current.x!==ki.x||Cn.current.y!==ki.y)&&(It(ki),Cn.current=ki)}});function mr(Ui,ki){var cs=Ui;ki?((0,ee.flushSync)(function(){Ae(cs)}),Xn()):Ue(cs)}function yr(Ui){var ki=Ui.currentTarget.scrollTop;ki!==V&&Ue(ki),Mt==null||Mt(Ui),Xn()}var ai=function(ki){var cs=ki,vs=Xe?Xe-Bn.width:0;return cs=Math.max(cs,0),cs=Math.min(cs,vs),cs},Si=(0,T.useEvent)(function(Ui,ki){ki?((0,ee.flushSync)(function(){Ae(function(cs){var vs=cs+(Ft?-Ui:Ui);return ai(vs)})}),Xn()):Ue(function(cs){var vs=cs+Ui;return vs})}),Ai=Je(Vt,Yi,wn,wt,Rt,!!Xe,Si),ii=(0,_.Z)(Ai,2),vi=ii[0],es=ii[1];ke(Vt,jn,function(Ui,ki,cs,vs){var ro=vs;return Et(Ui,ki,cs)?!1:!ro||!ro._virtualHandled?(ro&&(ro._virtualHandled=!0),vi({preventDefault:function(){},deltaX:Ui?ki:0,deltaY:Ui?0:ki}),!0):!1}),On(yt,jn,function(Ui){Ue(function(ki){return ki+Ui})}),(0,D.Z)(function(){function Ui(cs){var vs=Yi&&cs.detail<0,ro=wn&&cs.detail>0;Vt&&!vs&&!ro&&cs.preventDefault()}var ki=jn.current;return ki.addEventListener("wheel",vi,{passive:!1}),ki.addEventListener("DOMMouseScroll",es,{passive:!0}),ki.addEventListener("MozMousePixelScroll",Ui,{passive:!1}),function(){ki.removeEventListener("wheel",vi),ki.removeEventListener("DOMMouseScroll",es),ki.removeEventListener("MozMousePixelScroll",Ui)}},[Vt,Yi,wn]),(0,D.Z)(function(){if(Xe){var Ui=ai(J);Ae(Ui),Xn({x:Ui})}},[Bn.width,Xe]);var $i=function(){var ki,cs;(ki=Fr.current)===null||ki===void 0||ki.delayHidden(),(cs=zr.current)===null||cs===void 0||cs.delayHidden()},Wi=Pt(jn,Dt,on,mt,br,function(){return fi(!0)},Ue,$i);z.useImperativeHandle(ft,function(){return{nativeElement:Tr.current,getScrollInfo:dn,scrollTo:function(ki){function cs(vs){return vs&&(0,O.Z)(vs)==="object"&&("left"in vs||"top"in vs)}cs(ki)?(ki.left!==void 0&&Ae(ai(ki.left)),Wi(ki.top)):Wi(ki)}}}),(0,D.Z)(function(){if(an){var Ui=Dt.slice(ir,Ln+1);an(Ui,Dt)}},[ir,Ln,Dt]);var Rr=it(Dt,br,on,mt),Ss=_n==null?void 0:_n({start:ir,end:Ln,virtual:yt,offsetX:J,offsetY:Gn,rtl:Ft,getSize:Rr}),ya=fe(Dt,ir,Ln,Xe,J,Vi,he,Ee),pa=null;vt&&(pa=(0,B.Z)((0,R.Z)({},jt?"height":"maxHeight",vt),Ct),Vt&&(pa.overflowY="hidden",Xe&&(pa.overflowX="hidden"),Ke&&(pa.pointerEvents="none")));var Pa={};return Ft&&(Pa.dir="rtl"),z.createElement("div",(0,m.Z)({ref:Tr,style:(0,B.Z)((0,B.Z)({},hn),{},{position:"relative"}),className:rn},Pa,di),z.createElement(F.Z,{onResize:cr},z.createElement(Tt,{className:"".concat(U,"-holder"),style:pa,ref:jn,onScroll:yr,onMouseEnter:$i},z.createElement(ge,{prefixCls:U,height:Rn,offsetX:J,offsetY:Gn,scrollWidth:Xe,onInnerResize:fi,ref:Zn,innerProps:In,rtl:Ft,extra:Ss},ya))),yt&&Rn>vt&&z.createElement(pt,{ref:Fr,prefixCls:U,scrollOffset:V,scrollRange:Rn,rtl:Ft,onScroll:mr,onStartMove:Se,onStopMove:Oe,spinSize:Vr,containerSize:Bn.height,style:er==null?void 0:er.verticalScrollBar,thumbStyle:er==null?void 0:er.verticalScrollBarThumb,showScrollBar:hr}),yt&&Xe>Bn.width&&z.createElement(pt,{ref:zr,prefixCls:U,scrollOffset:J,scrollRange:Xe,rtl:Ft,onScroll:mr,onStartMove:Se,onStopMove:Oe,spinSize:Wr,containerSize:Bn.width,horizontal:!0,style:er==null?void 0:er.horizontalScrollBar,thumbStyle:er==null?void 0:er.horizontalScrollBarThumb,showScrollBar:hr}))}var ht=z.forwardRef(Nt);ht.displayName="List";var Wt=ht,zt=Wt},81683:function(Re,xe,v){"use strict";var m=v(55973),O=Array.prototype.concat,B=Array.prototype.slice,R=Re.exports=function(I){for(var E=[],N=0,F=I.length;N"u")return B=Object.create(null),O;if(B[R])if(typeof _!="function")delete B[R];else{const I=B[R];for(let E=0;E1&&(I=Array.prototype.slice.call(arguments,1));for(let E=0;E<_.length;++E){const N=_[E];N.callback.apply(N.ctx,I)}return O}}}function m(O){if(!O)throw new Error("Eventify cannot use falsy object as events subject");const B=["on","fire","off"];for(let R=0;R=B.length?{done:!0}:{done:!1,value:B[I++]}},e:function(z){throw z},f:E}}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 N,F=!0,T=!1;return{s:function(){_=_.call(B)},n:function(){var z=_.next();return F=z.done,z},e:function(z){T=!0,N=z},f:function(){try{F||_.return==null||_.return()}finally{if(T)throw N}}}}},84255:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(29658);function O(B,R){B.prototype=Object.create(R.prototype),B.prototype.constructor=B,(0,m.Z)(B,R)}},71369:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return R}});var m=v(38882);function O(_,I){for(;!{}.hasOwnProperty.call(_,I)&&(_=(0,m.Z)(_))!==null;);return _}function B(){return B=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(_,I,E){var N=O(_,I);if(N){var F=Object.getOwnPropertyDescriptor(N,I);return F.get?F.get.call(arguments.length<3?_:E):F.value}},B.apply(null,arguments)}function R(_,I,E,N){var F=B((0,m.Z)(1&N?_.prototype:_),I,E);return 2&N&&typeof F=="function"?function(T){return F.apply(E,T)}:F}},25551:function(Re,xe){"use strict";var v={value:()=>{}};function m(){for(var I=0,E=arguments.length,N={},F;I=0&&(F=N.slice(T+1),N=N.slice(0,T)),N&&!E.hasOwnProperty(N))throw new Error("unknown type: "+N);return{type:N,name:F}})}O.prototype=m.prototype={constructor:O,on:function(I,E){var N=this._,F=B(I+"",N),T,D=-1,z=F.length;if(arguments.length<2){for(;++D0)for(var N=new Array(T),F=0,T,D;Ftypeof xn=="object"&&xn!==null||typeof xn=="function",E={canHandle:xn=>I(xn)&&xn[m],serialize(xn){const{port1:Un,port2:ke}=new MessageChannel;return D(xn,Un),[ke,[ke]]},deserialize(xn){return xn.start(),te(xn)}},N={canHandle:xn=>I(xn)&&_ in xn,serialize({value:xn}){let Un;return xn instanceof Error?Un={isError:!0,value:{message:xn.message,name:xn.name,stack:xn.stack}}:Un={isError:!1,value:xn},[Un,[]]},deserialize(xn){throw xn.isError?Object.assign(new Error(xn.value.message),xn.value):xn.value}},F=new Map([["proxy",E],["throw",N]]);function T(xn,Un){for(const ke of xn)if(Un===ke||ke==="*"||ke instanceof RegExp&&ke.test(Un))return!0;return!1}function D(xn,Un=globalThis,ke=["*"]){Un.addEventListener("message",function ot(Ht){if(!Ht||!Ht.data)return;if(!T(ke,Ht.origin)){console.warn(`Invalid origin '${Ht.origin}' for comlink proxy`);return}const{id:On,type:xt,path:Pt}=Object.assign({path:[]},Ht.data),tn=(Ht.data.argumentList||[]).map(Sn);let pt;try{const lt=Pt.slice(0,-1).reduce((re,Ie)=>re[Ie],xn),ae=Pt.reduce((re,Ie)=>re[Ie],xn);switch(xt){case"GET":pt=ae;break;case"SET":lt[Pt.slice(-1)[0]]=Sn(Ht.data.value),pt=!0;break;case"APPLY":pt=ae.apply(lt,tn);break;case"CONSTRUCT":{const re=new ae(...tn);pt=it(re)}break;case"ENDPOINT":{const{port1:re,port2:Ie}=new MessageChannel;D(xn,Ie),pt=Je(re,[re])}break;case"RELEASE":pt=void 0;break;default:return}}catch(lt){pt={value:lt,[_]:0}}Promise.resolve(pt).catch(lt=>({value:lt,[_]:0})).then(lt=>{const[ae,re]=cn(lt);Un.postMessage(Object.assign(Object.assign({},ae),{id:On}),re),xt==="RELEASE"&&(Un.removeEventListener("message",ot),ee(Un),R in xn&&typeof xn[R]=="function"&&xn[R]())}).catch(lt=>{const[ae,re]=cn({value:new TypeError("Unserializable return value"),[_]:0});Un.postMessage(Object.assign(Object.assign({},ae),{id:On}),re)})}),Un.start&&Un.start()}function z(xn){return xn.constructor.name==="MessagePort"}function ee(xn){z(xn)&&xn.close()}function te(xn,Un){const ke=new Map;return xn.addEventListener("message",function(Ht){const{data:On}=Ht;if(!On||!On.id)return;const xt=ke.get(On.id);if(xt)try{xt(On)}finally{ke.delete(On.id)}}),Ye(xn,ke,[],Un)}function ge(xn){if(xn)throw new Error("Proxy has been released and is not useable")}function pe(xn){return vn(xn,new Map,{type:"RELEASE"}).then(()=>{ee(xn)})}const fe=new WeakMap,Le="FinalizationRegistry"in globalThis&&new FinalizationRegistry(xn=>{const Un=(fe.get(xn)||0)-1;fe.set(xn,Un),Un===0&&pe(xn)});function Me(xn,Un){const ke=(fe.get(Un)||0)+1;fe.set(Un,ke),Le&&Le.register(xn,Un,xn)}function Ze(xn){Le&&Le.unregister(xn)}function Ye(xn,Un,ke=[],ot=function(){}){let Ht=!1;const On=new Proxy(ot,{get(xt,Pt){if(ge(Ht),Pt===B)return()=>{Ze(On),pe(xn),Un.clear(),Ht=!0};if(Pt==="then"){if(ke.length===0)return{then:()=>On};const tn=vn(xn,Un,{type:"GET",path:ke.map(pt=>pt.toString())}).then(Sn);return tn.then.bind(tn)}return Ye(xn,Un,[...ke,Pt])},set(xt,Pt,tn){ge(Ht);const[pt,lt]=cn(tn);return vn(xn,Un,{type:"SET",path:[...ke,Pt].map(ae=>ae.toString()),value:pt},lt).then(Sn)},apply(xt,Pt,tn){ge(Ht);const pt=ke[ke.length-1];if(pt===O)return vn(xn,Un,{type:"ENDPOINT"}).then(Sn);if(pt==="bind")return Ye(xn,Un,ke.slice(0,-1));const[lt,ae]=be(tn);return vn(xn,Un,{type:"APPLY",path:ke.map(re=>re.toString()),argumentList:lt},ae).then(Sn)},construct(xt,Pt){ge(Ht);const[tn,pt]=be(Pt);return vn(xn,Un,{type:"CONSTRUCT",path:ke.map(lt=>lt.toString()),argumentList:tn},pt).then(Sn)}});return Me(On,xn),On}function Te(xn){return Array.prototype.concat.apply([],xn)}function be(xn){const Un=xn.map(cn);return[Un.map(ke=>ke[0]),Te(Un.map(ke=>ke[1]))]}const Ge=new WeakMap;function Je(xn,Un){return Ge.set(xn,Un),xn}function it(xn){return Object.assign(xn,{[m]:!0})}function $t(xn,Un=globalThis,ke="*"){return{postMessage:(ot,Ht)=>xn.postMessage(ot,ke,Ht),addEventListener:Un.addEventListener.bind(Un),removeEventListener:Un.removeEventListener.bind(Un)}}function cn(xn){for(const[Un,ke]of F)if(ke.canHandle(xn)){const[ot,Ht]=ke.serialize(xn);return[{type:"HANDLER",name:Un,value:ot},Ht]}return[{type:"RAW",value:xn},Ge.get(xn)||[]]}function Sn(xn){switch(xn.type){case"HANDLER":return F.get(xn.name).deserialize(xn.value);case"RAW":return xn.value}}function vn(xn,Un,ke,ot){return new Promise(Ht=>{const On=Qn();Un.set(On,Ht),xn.start&&xn.start(),xn.postMessage(Object.assign({id:On},ke),ot)})}function Qn(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-")}},32575:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(O,B){var R,_=1;O==null&&(O=0),B==null&&(B=0);function I(){var E,N=R.length,F,T=0,D=0;for(E=0;EMe.index){var ke=Ze-Qn.x-Qn.vx,ot=Ye-Qn.y-Qn.vy,Ht=ke*ke+ot*ot;HtZe+Un||SnYe+Un||vnpe.r&&(pe.r=pe[fe].r)}function ge(){if(N){var pe,fe=N.length,Le;for(F=new Array(fe),pe=0;pe(_=(m*_+O)%B)/B}},31136:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return _}});var m=v(91592),O=v(12068);function B(I){return I.index}function R(I,E){var N=I.get(E);if(!N)throw new Error("node not found: "+E);return N}function _(I){var E=B,N=fe,F,T=(0,m.Z)(30),D,z,ee,te,ge,pe=1;I==null&&(I=[]);function fe(Te){return 1/Math.min(ee[Te.source.index],ee[Te.target.index])}function Le(Te){for(var be=0,Ge=I.length;be[E($t,cn,z),$t])),it;for(Te=0,ee=new Array(be);Te=ee)return;(Me.data!==E||Me.next)&&(be===0&&(be=(0,B.Z)(N),it+=be*be),Ge===0&&(Ge=(0,B.Z)(N),it+=Ge*Ge),it1?(Je==null?pe.delete(Ge):pe.set(Ge,be(Je)),T):pe.get(Ge)},find:function(Ge,Je,it){var $t=0,cn=F.length,Sn,vn,Qn,xn,Un;for(it==null?it=1/0:it*=it,$t=0;$t1?(Le.on(Ge,Je),T):Le.on(Ge)}}}},34123:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(91592);function O(B){var R=(0,m.Z)(.1),_,I,E;typeof B!="function"&&(B=(0,m.Z)(B==null?0:+B));function N(T){for(var D=0,z=_.length,ee;D=(Le=(z+ge)/2))?z=Le:ge=Le,(Je=I>=(Me=(ee+pe)/2))?ee=Me:pe=Me,(it=E>=(Ze=(te+fe)/2))?te=Ze:fe=Ze,F=T,!(T=T[$t=it<<2|Je<<1|Ge]))return F[$t]=D,R;if(Ye=+R._x.call(null,T.data),Te=+R._y.call(null,T.data),be=+R._z.call(null,T.data),_===Ye&&I===Te&&E===be)return D.next=T,F?F[$t]=D:R._root=D,R;do F=F?F[$t]=new Array(8):R._root=new Array(8),(Ge=_>=(Le=(z+ge)/2))?z=Le:ge=Le,(Je=I>=(Me=(ee+pe)/2))?ee=Me:pe=Me,(it=E>=(Ze=(te+fe)/2))?te=Ze:fe=Ze;while(($t=it<<2|Je<<1|Ge)===(cn=(be>=Ze)<<2|(Te>=Me)<<1|Ye>=Le));return F[cn]=T,F[$t]=D,R}function B(R){Array.isArray(R)||(R=Array.from(R));const _=R.length,I=new Float64Array(_),E=new Float64Array(_),N=new Float64Array(_);let F=1/0,T=1/0,D=1/0,z=-1/0,ee=-1/0,te=-1/0;for(let ge=0,pe,fe,Le,Me;ge<_;++ge)isNaN(fe=+this._x.call(null,pe=R[ge]))||isNaN(Le=+this._y.call(null,pe))||isNaN(Me=+this._z.call(null,pe))||(I[ge]=fe,E[ge]=Le,N[ge]=Me,fez&&(z=fe),Leee&&(ee=Le),Mete&&(te=Me));if(F>z||T>ee||D>te)return this;this.cover(F,T,D).cover(z,ee,te);for(let ge=0;ge<_;++ge)O(this,I[ge],E[ge],N[ge],R[ge]);return this}},17646:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(O,B,R){if(isNaN(O=+O)||isNaN(B=+B)||isNaN(R=+R))return this;var _=this._x0,I=this._y0,E=this._z0,N=this._x1,F=this._y1,T=this._z1;if(isNaN(_))N=(_=Math.floor(O))+1,F=(I=Math.floor(B))+1,T=(E=Math.floor(R))+1;else{for(var D=N-_||1,z=this._root,ee,te;_>O||O>=N||I>B||B>=F||E>R||R>=T;)switch(te=(Rfe||(z=Te.y0)>Le||(ee=Te.z0)>Me||(te=Te.x1)=it)<<2|(R>=Je)<<1|B>=Ge)&&(Te=Ze[Ze.length-1],Ze[Ze.length-1]=Ze[Ze.length-1-be],Ze[Ze.length-1-be]=Te)}else{var $t=B-+this._x.call(null,Ye.data),cn=R-+this._y.call(null,Ye.data),Sn=_-+this._z.call(null,Ye.data),vn=$t*$t+cn*cn+Sn*Sn;if(vnMath.sqrt(IA(B-I,2)+IA(R-E,2)+IA(_-N,2));function O(B,R,_,I){const E=[],N=B-I,F=R-I,T=_-I,D=B+I,z=R+I,ee=_+I;return this.visit((te,ge,pe,fe,Le,Me,Ze)=>{if(!te.length)do{const Ye=te.data;m(B,R,_,this._x(Ye),this._y(Ye),this._z(Ye))<=I&&E.push(Ye)}while(te=te.next);return ge>D||pe>z||fe>ee||Le=(Le=(F+z)/2))?F=Le:z=Le,(Te=pe>=(Me=(T+ee)/2))?T=Me:ee=Me,(be=fe>=(Ze=(D+te)/2))?D=Ze:te=Ze,R=_,!(_=_[Ge=be<<2|Te<<1|Ye]))return this;if(!_.length)break;(R[Ge+1&7]||R[Ge+2&7]||R[Ge+3&7]||R[Ge+4&7]||R[Ge+5&7]||R[Ge+6&7]||R[Ge+7&7])&&(I=R,Je=Ge)}for(;_.data!==B;)if(E=_,!(_=_.next))return this;return(N=_.next)&&delete _.next,E?(N?E.next=N:delete E.next,this):R?(N?R[Ge]=N:delete R[Ge],(_=R[0]||R[1]||R[2]||R[3]||R[4]||R[5]||R[6]||R[7])&&_===(R[7]||R[6]||R[5]||R[4]||R[3]||R[2]||R[1]||R[0])&&!_.length&&(I?I[Je]=_:this._root=_),this):(this._root=N,this)}function O(B){for(var R=0,_=B.length;R<_;++R)this.remove(B[R]);return this}},10325:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(){return this._root}},15902:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(){var O=0;return this.visit(function(B){if(!B.length)do++O;while(B=B.next)}),O}},12027:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(26805);function O(B){var R=[],_,I=this._root,E,N,F,T,D,z,ee;for(I&&R.push(new m.Z(I,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));_=R.pop();)if(!B(I=_.node,N=_.x0,F=_.y0,T=_.z0,D=_.x1,z=_.y1,ee=_.z1)&&I.length){var te=(N+D)/2,ge=(F+z)/2,pe=(T+ee)/2;(E=I[7])&&R.push(new m.Z(E,te,ge,pe,D,z,ee)),(E=I[6])&&R.push(new m.Z(E,N,ge,pe,te,z,ee)),(E=I[5])&&R.push(new m.Z(E,te,F,pe,D,ge,ee)),(E=I[4])&&R.push(new m.Z(E,N,F,pe,te,ge,ee)),(E=I[3])&&R.push(new m.Z(E,te,ge,T,D,z,pe)),(E=I[2])&&R.push(new m.Z(E,N,ge,T,te,z,pe)),(E=I[1])&&R.push(new m.Z(E,te,F,T,D,ge,pe)),(E=I[0])&&R.push(new m.Z(E,N,F,T,te,ge,pe))}return this}},66612:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(26805);function O(B){var R=[],_=[],I;for(this._root&&R.push(new m.Z(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));I=R.pop();){var E=I.node;if(E.length){var N,F=I.x0,T=I.y0,D=I.z0,z=I.x1,ee=I.y1,te=I.z1,ge=(F+z)/2,pe=(T+ee)/2,fe=(D+te)/2;(N=E[0])&&R.push(new m.Z(N,F,T,D,ge,pe,fe)),(N=E[1])&&R.push(new m.Z(N,ge,T,D,z,pe,fe)),(N=E[2])&&R.push(new m.Z(N,F,pe,D,ge,ee,fe)),(N=E[3])&&R.push(new m.Z(N,ge,pe,D,z,ee,fe)),(N=E[4])&&R.push(new m.Z(N,F,T,fe,ge,pe,te)),(N=E[5])&&R.push(new m.Z(N,ge,T,fe,z,pe,te)),(N=E[6])&&R.push(new m.Z(N,F,pe,fe,ge,ee,te)),(N=E[7])&&R.push(new m.Z(N,ge,pe,fe,z,ee,te))}_.push(I)}for(;I=_.pop();)B(I.node,I.x0,I.y0,I.z0,I.x1,I.y1,I.z1);return this}},14763:function(Re,xe,v){"use strict";v.d(xe,{P:function(){return m},Z:function(){return O}});function m(B){return B[0]}function O(B){return arguments.length?(this._x=B,this):this._x}},94009:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O},q:function(){return m}});function m(B){return B[1]}function O(B){return arguments.length?(this._y=B,this):this._y}},68889:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O},i:function(){return m}});function m(B){return B[2]}function O(B){return arguments.length?(this._z=B,this):this._z}},17916:function(Re,xe,v){"use strict";v.d(xe,{H:function(){return B},Z:function(){return m}});function m(R){const _=+this._x.call(null,R),I=+this._y.call(null,R);return O(this.cover(_,I),_,I,R)}function O(R,_,I,E){if(isNaN(_)||isNaN(I))return R;var N,F=R._root,T={data:E},D=R._x0,z=R._y0,ee=R._x1,te=R._y1,ge,pe,fe,Le,Me,Ze,Ye,Te;if(!F)return R._root=T,R;for(;F.length;)if((Me=_>=(ge=(D+ee)/2))?D=ge:ee=ge,(Ze=I>=(pe=(z+te)/2))?z=pe:te=pe,N=F,!(F=F[Ye=Ze<<1|Me]))return N[Ye]=T,R;if(fe=+R._x.call(null,F.data),Le=+R._y.call(null,F.data),_===fe&&I===Le)return T.next=F,N?N[Ye]=T:R._root=T,R;do N=N?N[Ye]=new Array(4):R._root=new Array(4),(Me=_>=(ge=(D+ee)/2))?D=ge:ee=ge,(Ze=I>=(pe=(z+te)/2))?z=pe:te=pe;while((Ye=Ze<<1|Me)===(Te=(Le>=pe)<<1|fe>=ge));return N[Te]=F,N[Ye]=T,R}function B(R){var _,I,E=R.length,N,F,T=new Array(E),D=new Array(E),z=1/0,ee=1/0,te=-1/0,ge=-1/0;for(I=0;Ite&&(te=N),Fge&&(ge=F));if(z>te||ee>ge)return this;for(this.cover(z,ee).cover(te,ge),I=0;IO||O>=I||_>B||B>=E;)switch(D=(B<_)<<1|Oee||(T=fe.y0)>te||(D=fe.x1)=Ze)<<1|B>=Me)&&(fe=ge[ge.length-1],ge[ge.length-1]=ge[ge.length-1-Le],ge[ge.length-1-Le]=fe)}else{var Ye=B-+this._x.call(null,pe.data),Te=R-+this._y.call(null,pe.data),be=Ye*Ye+Te*Te;if(be<_){var Ge=Math.sqrt(_=be);E=B-Ge,N=R-Ge,ee=B+Ge,te=R+Ge,I=pe.data}}return I}},44213:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(O,B,R,_,I){this.node=O,this.x0=B,this.y0=R,this.x1=_,this.y1=I}},14301:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return ee}});var m=v(17916),O=v(51097),B=v(58007),R=v(12070),_=v(47064),I=v(88866),E=v(10864),N=v(68984),F=v(3715),T=v(73607),D=v(56570),z=v(30992);function ee(fe,Le,Me){var Ze=new te(Le==null?D.P:Le,Me==null?z.q:Me,NaN,NaN,NaN,NaN);return fe==null?Ze:Ze.addAll(fe)}function te(fe,Le,Me,Ze,Ye,Te){this._x=fe,this._y=Le,this._x0=Me,this._y0=Ze,this._x1=Ye,this._y1=Te,this._root=void 0}function ge(fe){for(var Le={data:fe.data},Me=Le;fe=fe.next;)Me=Me.next={data:fe.data};return Le}var pe=ee.prototype=te.prototype;pe.copy=function(){var fe=new te(this._x,this._y,this._x0,this._y0,this._x1,this._y1),Le=this._root,Me,Ze;if(!Le)return fe;if(!Le.length)return fe._root=ge(Le),fe;for(Me=[{source:Le,target:fe._root=new Array(4)}];Le=Me.pop();)for(var Ye=0;Ye<4;++Ye)(Ze=Le.source[Ye])&&(Ze.length?Me.push({source:Ze,target:Le.target[Ye]=new Array(4)}):Le.target[Ye]=ge(Ze));return fe},pe.add=m.Z,pe.addAll=m.H,pe.cover=O.Z,pe.data=B.Z,pe.extent=R.Z,pe.find=_.Z,pe.remove=I.Z,pe.removeAll=I.x,pe.root=E.Z,pe.size=N.Z,pe.visit=F.Z,pe.visitAfter=T.Z,pe.x=D.Z,pe.y=z.Z},88866:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m},x:function(){return O}});function m(B){if(isNaN(ee=+this._x.call(null,B))||isNaN(te=+this._y.call(null,B)))return this;var R,_=this._root,I,E,N,F=this._x0,T=this._y0,D=this._x1,z=this._y1,ee,te,ge,pe,fe,Le,Me,Ze;if(!_)return this;if(_.length)for(;;){if((fe=ee>=(ge=(F+D)/2))?F=ge:D=ge,(Le=te>=(pe=(T+z)/2))?T=pe:z=pe,R=_,!(_=_[Me=Le<<1|fe]))return this;if(!_.length)break;(R[Me+1&3]||R[Me+2&3]||R[Me+3&3])&&(I=R,Ze=Me)}for(;_.data!==B;)if(E=_,!(_=_.next))return this;return(N=_.next)&&delete _.next,E?(N?E.next=N:delete E.next,this):R?(N?R[Me]=N:delete R[Me],(_=R[0]||R[1]||R[2]||R[3])&&_===(R[3]||R[2]||R[1]||R[0])&&!_.length&&(I?I[Ze]=_:this._root=_),this):(this._root=N,this)}function O(B){for(var R=0,_=B.length;R<_;++R)this.remove(B[R]);return this}},10864:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(){return this._root}},68984:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return m}});function m(){var O=0;return this.visit(function(B){if(!B.length)do++O;while(B=B.next)}),O}},3715:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(44213);function O(B){var R=[],_,I=this._root,E,N,F,T,D;for(I&&R.push(new m.Z(I,this._x0,this._y0,this._x1,this._y1));_=R.pop();)if(!B(I=_.node,N=_.x0,F=_.y0,T=_.x1,D=_.y1)&&I.length){var z=(N+T)/2,ee=(F+D)/2;(E=I[3])&&R.push(new m.Z(E,z,ee,T,D)),(E=I[2])&&R.push(new m.Z(E,N,ee,z,D)),(E=I[1])&&R.push(new m.Z(E,z,F,T,ee)),(E=I[0])&&R.push(new m.Z(E,N,F,z,ee))}return this}},73607:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O}});var m=v(44213);function O(B){var R=[],_=[],I;for(this._root&&R.push(new m.Z(this._root,this._x0,this._y0,this._x1,this._y1));I=R.pop();){var E=I.node;if(E.length){var N,F=I.x0,T=I.y0,D=I.x1,z=I.y1,ee=(F+D)/2,te=(T+z)/2;(N=E[0])&&R.push(new m.Z(N,F,T,ee,te)),(N=E[1])&&R.push(new m.Z(N,ee,T,D,te)),(N=E[2])&&R.push(new m.Z(N,F,te,ee,z)),(N=E[3])&&R.push(new m.Z(N,ee,te,D,z))}_.push(I)}for(;I=_.pop();)B(I.node,I.x0,I.y0,I.x1,I.y1);return this}},56570:function(Re,xe,v){"use strict";v.d(xe,{P:function(){return m},Z:function(){return O}});function m(B){return B[0]}function O(B){return arguments.length?(this._x=B,this):this._x}},30992:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return O},q:function(){return m}});function m(B){return B[1]}function O(B){return arguments.length?(this._y=B,this):this._y}},83833:function(Re,xe,v){"use strict";v.d(xe,{HT:function(){return ge}});var m=0,O=0,B=0,R=1e3,_,I,E=0,N=0,F=0,T=typeof performance=="object"&&performance.now?performance:Date,D=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(Ye){setTimeout(Ye,17)};function z(){return N||(D(ee),N=T.now()+F)}function ee(){N=0}function te(){this._call=this._time=this._next=null}te.prototype=ge.prototype={constructor:te,restart:function(Ye,Te,be){if(typeof Ye!="function")throw new TypeError("callback is not a function");be=(be==null?z():+be)+(Te==null?0:+Te),!this._next&&I!==this&&(I?I._next=this:_=this,I=this),this._call=Ye,this._time=be,Ze()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ze())}};function ge(Ye,Te,be){var Ge=new te;return Ge.restart(Ye,Te,be),Ge}function pe(){z(),++m;for(var Ye=_,Te;Ye;)(Te=N-Ye._time)>=0&&Ye._call.call(void 0,Te),Ye=Ye._next;--m}function fe(){N=(E=T.now())+F,m=O=0;try{pe()}finally{m=0,Me(),N=0}}function Le(){var Ye=T.now(),Te=Ye-E;Te>R&&(F-=Te,E=Ye)}function Me(){for(var Ye,Te=_,be,Ge=1/0;Te;)Te._call?(Ge>Te._time&&(Ge=Te._time),Ye=Te,Te=Te._next):(be=Te._next,Te._next=null,Te=Ye?Ye._next=be:_=be);I=Ye,Ze(Ge)}function Ze(Ye){if(!m){O&&(O=clearTimeout(O));var Te=Ye-N;Te>24?(Ye<1/0&&(O=setTimeout(fe,Ye-T.now()-F)),B&&(B=clearInterval(B))):(B||(E=T.now(),B=setInterval(Le,R)),m=1,D(fe))}}},69053:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return Le}});var m=v(8248),O=m.Z.Symbol,B=O,R=Object.prototype,_=R.hasOwnProperty,I=R.toString,E=B?B.toStringTag:void 0;function N(Me){var Ze=_.call(Me,E),Ye=Me[E];try{Me[E]=void 0;var Te=!0}catch(Ge){}var be=I.call(Me);return Te&&(Ze?Me[E]=Ye:delete Me[E]),be}var F=N,T=Object.prototype,D=T.toString;function z(Me){return D.call(Me)}var ee=z,te="[object Null]",ge="[object Undefined]",pe=B?B.toStringTag:void 0;function fe(Me){return Me==null?Me===void 0?ge:te:pe&&pe in Object(Me)?F(Me):ee(Me)}var Le=fe},92734:function(Re,xe){"use strict";var v=typeof global=="object"&&global&&global.Object===Object&&global;xe.Z=v},8248:function(Re,xe,v){"use strict";var m=v(92734),O=typeof self=="object"&&self&&self.Object===Object&&self,B=m.Z||O||Function("return this")();xe.Z=B},58094:function(Re,xe){"use strict";function v(m){var O=typeof m;return m!=null&&(O=="object"||O=="function")}xe.Z=v},82144:function(Re,xe){"use strict";function v(m){return m!=null&&typeof m=="object"}xe.Z=v},16722:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return N}});const m=F=>typeof F=="object"&&F!=null&&F.nodeType===1,O=(F,T)=>(!T||F!=="hidden")&&F!=="visible"&&F!=="clip",B=(F,T)=>{if(F.clientHeight{const ee=(te=>{if(!te.ownerDocument||!te.ownerDocument.defaultView)return null;try{return te.ownerDocument.defaultView.frameElement}catch(ge){return null}})(z);return!!ee&&(ee.clientHeightteT||te>F&&ge=T&&pe>=D?te-F-z:ge>T&&peD?ge-T+ee:0,_=F=>{const T=F.parentElement;return T==null?F.getRootNode().host||null:T},I=(F,T)=>{var D,z,ee,te;if(typeof document=="undefined")return[];const{scrollMode:ge,block:pe,inline:fe,boundary:Le,skipOverflowHiddenElements:Me}=T,Ze=typeof Le=="function"?Le:pt=>pt!==Le;if(!m(F))throw new TypeError("Invalid target");const Ye=document.scrollingElement||document.documentElement,Te=[];let be=F;for(;m(be)&&Ze(be);){if(be=_(be),be===Ye){Te.push(be);break}be!=null&&be===document.body&&B(be)&&!B(document.documentElement)||be!=null&&B(be,Me)&&Te.push(be)}const Ge=(z=(D=window.visualViewport)==null?void 0:D.width)!=null?z:innerWidth,Je=(te=(ee=window.visualViewport)==null?void 0:ee.height)!=null?te:innerHeight,{scrollX:it,scrollY:$t}=window,{height:cn,width:Sn,top:vn,right:Qn,bottom:xn,left:Un}=F.getBoundingClientRect(),{top:ke,right:ot,bottom:Ht,left:On}=(pt=>{const lt=window.getComputedStyle(pt);return{top:parseFloat(lt.scrollMarginTop)||0,right:parseFloat(lt.scrollMarginRight)||0,bottom:parseFloat(lt.scrollMarginBottom)||0,left:parseFloat(lt.scrollMarginLeft)||0}})(F);let xt=pe==="start"||pe==="nearest"?vn-ke:pe==="end"?xn+Ht:vn+cn/2-ke+Ht,Pt=fe==="center"?Un+Sn/2-On+ot:fe==="end"?Qn+ot:Un-On;const tn=[];for(let pt=0;pt=0&&Un>=0&&xn<=Je&&Qn<=Ge&&(lt===Ye&&!B(lt)||vn>=Ie&&xn<=Nt&&Un>=ht&&Qn<=Ct))return tn;const Wt=getComputedStyle(lt),zt=parseInt(Wt.borderLeftWidth,10),De=parseInt(Wt.borderTopWidth,10),ft=parseInt(Wt.borderRightWidth,10),bt=parseInt(Wt.borderBottomWidth,10);let U=0,de=0;const vt="offsetWidth"in lt?lt.offsetWidth-lt.clientWidth-zt-ft:0,mt="offsetHeight"in lt?lt.offsetHeight-lt.clientHeight-De-bt:0,Qt="offsetWidth"in lt?lt.offsetWidth===0?0:re/lt.offsetWidth:0,jt="offsetHeight"in lt?lt.offsetHeight===0?0:ae/lt.offsetHeight:0;if(Ye===lt)U=pe==="start"?xt:pe==="end"?xt-Je:pe==="nearest"?R($t,$t+Je,Je,De,bt,$t+xt,$t+xt+cn,cn):xt-Je/2,de=fe==="start"?Pt:fe==="center"?Pt-Ge/2:fe==="end"?Pt-Ge:R(it,it+Ge,Ge,zt,ft,it+Pt,it+Pt+Sn,Sn),U=Math.max(0,U+$t),de=Math.max(0,de+it);else{U=pe==="start"?xt-Ie-De:pe==="end"?xt-Nt+bt+mt:pe==="nearest"?R(Ie,Nt,ae,De,bt+mt,xt,xt+cn,cn):xt-(Ie+ae/2)+mt/2,de=fe==="start"?Pt-ht-zt:fe==="center"?Pt-(ht+re/2)+vt/2:fe==="end"?Pt-Ct+ft+vt:R(ht,Ct,re,zt,ft+vt,Pt,Pt+Sn,Sn);const{scrollLeft:hn,scrollTop:ze}=lt;U=jt===0?0:Math.max(0,Math.min(ze+U/jt,lt.scrollHeight-ae/jt+mt)),de=Qt===0?0:Math.max(0,Math.min(hn+de/Qt,lt.scrollWidth-re/Qt+vt)),xt+=ze-U,Pt+=hn-de}tn.push({el:lt,top:U,left:de})}return tn},E=F=>F===!1?{block:"end",inline:"nearest"}:(T=>T===Object(T)&&Object.keys(T).length!==0)(F)?F:{block:"start",inline:"nearest"};function N(F,T){if(!F.isConnected||!(ee=>{let te=ee;for(;te&&te.parentNode;){if(te.parentNode===document)return!0;te=te.parentNode instanceof ShadowRoot?te.parentNode.host:te.parentNode}return!1})(F))return;const D=(ee=>{const te=window.getComputedStyle(ee);return{top:parseFloat(te.scrollMarginTop)||0,right:parseFloat(te.scrollMarginRight)||0,bottom:parseFloat(te.scrollMarginBottom)||0,left:parseFloat(te.scrollMarginLeft)||0}})(F);if((ee=>typeof ee=="object"&&typeof ee.behavior=="function")(T))return T.behavior(I(F,T));const z=typeof T=="boolean"||T==null?void 0:T.behavior;for(const{el:ee,top:te,left:ge}of I(F,E(T))){const pe=te-D.top+D.bottom,fe=ge-D.left+D.right;ee.scroll({top:pe,left:fe,behavior:z})}}},23097:function(Re,xe,v){"use strict";v.d(xe,{Z:function(){return R}});function m(ae){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(re){return typeof re}:function(re){return re&&typeof Symbol=="function"&&re.constructor===Symbol&&re!==Symbol.prototype?"symbol":typeof re},m(ae)}var O=/^\s+/,B=/\s+$/;function R(ae,re){if(ae=ae||"",re=re||{},ae instanceof R)return ae;if(!(this instanceof R))return new R(ae,re);var Ie=_(ae);this._originalInput=ae,this._r=Ie.r,this._g=Ie.g,this._b=Ie.b,this._a=Ie.a,this._roundA=Math.round(100*this._a)/100,this._format=re.format||Ie.format,this._gradientType=re.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=Ie.ok}R.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var re=this.toRgb();return(re.r*299+re.g*587+re.b*114)/1e3},getLuminance:function(){var re=this.toRgb(),Ie,Ct,Nt,ht,Wt,zt;return Ie=re.r/255,Ct=re.g/255,Nt=re.b/255,Ie<=.03928?ht=Ie/12.92:ht=Math.pow((Ie+.055)/1.055,2.4),Ct<=.03928?Wt=Ct/12.92:Wt=Math.pow((Ct+.055)/1.055,2.4),Nt<=.03928?zt=Nt/12.92:zt=Math.pow((Nt+.055)/1.055,2.4),.2126*ht+.7152*Wt+.0722*zt},setAlpha:function(re){return this._a=Sn(re),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var re=F(this._r,this._g,this._b);return{h:re.h*360,s:re.s,v:re.v,a:this._a}},toHsvString:function(){var re=F(this._r,this._g,this._b),Ie=Math.round(re.h*360),Ct=Math.round(re.s*100),Nt=Math.round(re.v*100);return this._a==1?"hsv("+Ie+", "+Ct+"%, "+Nt+"%)":"hsva("+Ie+", "+Ct+"%, "+Nt+"%, "+this._roundA+")"},toHsl:function(){var re=E(this._r,this._g,this._b);return{h:re.h*360,s:re.s,l:re.l,a:this._a}},toHslString:function(){var re=E(this._r,this._g,this._b),Ie=Math.round(re.h*360),Ct=Math.round(re.s*100),Nt=Math.round(re.l*100);return this._a==1?"hsl("+Ie+", "+Ct+"%, "+Nt+"%)":"hsla("+Ie+", "+Ct+"%, "+Nt+"%, "+this._roundA+")"},toHex:function(re){return D(this._r,this._g,this._b,re)},toHexString:function(re){return"#"+this.toHex(re)},toHex8:function(re){return z(this._r,this._g,this._b,this._a,re)},toHex8String:function(re){return"#"+this.toHex8(re)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(vn(this._r,255)*100)+"%",g:Math.round(vn(this._g,255)*100)+"%",b:Math.round(vn(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(vn(this._r,255)*100)+"%, "+Math.round(vn(this._g,255)*100)+"%, "+Math.round(vn(this._b,255)*100)+"%)":"rgba("+Math.round(vn(this._r,255)*100)+"%, "+Math.round(vn(this._g,255)*100)+"%, "+Math.round(vn(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:$t[D(this._r,this._g,this._b,!0)]||!1},toFilter:function(re){var Ie="#"+ee(this._r,this._g,this._b,this._a),Ct=Ie,Nt=this._gradientType?"GradientType = 1, ":"";if(re){var ht=R(re);Ct="#"+ee(ht._r,ht._g,ht._b,ht._a)}return"progid:DXImageTransform.Microsoft.gradient("+Nt+"startColorstr="+Ie+",endColorstr="+Ct+")"},toString:function(re){var Ie=!!re;re=re||this._format;var Ct=!1,Nt=this._a<1&&this._a>=0,ht=!Ie&&Nt&&(re==="hex"||re==="hex6"||re==="hex3"||re==="hex4"||re==="hex8"||re==="name");return ht?re==="name"&&this._a===0?this.toName():this.toRgbString():(re==="rgb"&&(Ct=this.toRgbString()),re==="prgb"&&(Ct=this.toPercentageRgbString()),(re==="hex"||re==="hex6")&&(Ct=this.toHexString()),re==="hex3"&&(Ct=this.toHexString(!0)),re==="hex4"&&(Ct=this.toHex8String(!0)),re==="hex8"&&(Ct=this.toHex8String()),re==="name"&&(Ct=this.toName()),re==="hsl"&&(Ct=this.toHslString()),re==="hsv"&&(Ct=this.toHsvString()),Ct||this.toHexString())},clone:function(){return R(this.toString())},_applyModification:function(re,Ie){var Ct=re.apply(null,[this].concat([].slice.call(Ie)));return this._r=Ct._r,this._g=Ct._g,this._b=Ct._b,this.setAlpha(Ct._a),this},lighten:function(){return this._applyModification(fe,arguments)},brighten:function(){return this._applyModification(Le,arguments)},darken:function(){return this._applyModification(Me,arguments)},desaturate:function(){return this._applyModification(te,arguments)},saturate:function(){return this._applyModification(ge,arguments)},greyscale:function(){return this._applyModification(pe,arguments)},spin:function(){return this._applyModification(Ze,arguments)},_applyCombination:function(re,Ie){return re.apply(null,[this].concat([].slice.call(Ie)))},analogous:function(){return this._applyCombination(Ge,arguments)},complement:function(){return this._applyCombination(Ye,arguments)},monochromatic:function(){return this._applyCombination(Je,arguments)},splitcomplement:function(){return this._applyCombination(be,arguments)},triad:function(){return this._applyCombination(Te,[3])},tetrad:function(){return this._applyCombination(Te,[4])}},R.fromRatio=function(ae,re){if(m(ae)=="object"){var Ie={};for(var Ct in ae)ae.hasOwnProperty(Ct)&&(Ct==="a"?Ie[Ct]=ae[Ct]:Ie[Ct]=Ht(ae[Ct]));ae=Ie}return R(ae,re)};function _(ae){var re={r:0,g:0,b:0},Ie=1,Ct=null,Nt=null,ht=null,Wt=!1,zt=!1;return typeof ae=="string"&&(ae=pt(ae)),m(ae)=="object"&&(tn(ae.r)&&tn(ae.g)&&tn(ae.b)?(re=I(ae.r,ae.g,ae.b),Wt=!0,zt=String(ae.r).substr(-1)==="%"?"prgb":"rgb"):tn(ae.h)&&tn(ae.s)&&tn(ae.v)?(Ct=Ht(ae.s),Nt=Ht(ae.v),re=T(ae.h,Ct,Nt),Wt=!0,zt="hsv"):tn(ae.h)&&tn(ae.s)&&tn(ae.l)&&(Ct=Ht(ae.s),ht=Ht(ae.l),re=N(ae.h,Ct,ht),Wt=!0,zt="hsl"),ae.hasOwnProperty("a")&&(Ie=ae.a)),Ie=Sn(Ie),{ok:Wt,format:ae.format||zt,r:Math.min(255,Math.max(re.r,0)),g:Math.min(255,Math.max(re.g,0)),b:Math.min(255,Math.max(re.b,0)),a:Ie}}function I(ae,re,Ie){return{r:vn(ae,255)*255,g:vn(re,255)*255,b:vn(Ie,255)*255}}function E(ae,re,Ie){ae=vn(ae,255),re=vn(re,255),Ie=vn(Ie,255);var Ct=Math.max(ae,re,Ie),Nt=Math.min(ae,re,Ie),ht,Wt,zt=(Ct+Nt)/2;if(Ct==Nt)ht=Wt=0;else{var De=Ct-Nt;switch(Wt=zt>.5?De/(2-Ct-Nt):De/(Ct+Nt),Ct){case ae:ht=(re-Ie)/De+(re1&&(U-=1),U<1/6?ft+(bt-ft)*6*U:U<1/2?bt:U<2/3?ft+(bt-ft)*(2/3-U)*6:ft}if(re===0)Ct=Nt=ht=Ie;else{var zt=Ie<.5?Ie*(1+re):Ie+re-Ie*re,De=2*Ie-zt;Ct=Wt(De,zt,ae+1/3),Nt=Wt(De,zt,ae),ht=Wt(De,zt,ae-1/3)}return{r:Ct*255,g:Nt*255,b:ht*255}}function F(ae,re,Ie){ae=vn(ae,255),re=vn(re,255),Ie=vn(Ie,255);var Ct=Math.max(ae,re,Ie),Nt=Math.min(ae,re,Ie),ht,Wt,zt=Ct,De=Ct-Nt;if(Wt=Ct===0?0:De/Ct,Ct==Nt)ht=0;else{switch(Ct){case ae:ht=(re-Ie)/De+(re>1)+720)%360;--re;)Ct.h=(Ct.h+Nt)%360,ht.push(R(Ct));return ht}function Je(ae,re){re=re||6;for(var Ie=R(ae).toHsv(),Ct=Ie.h,Nt=Ie.s,ht=Ie.v,Wt=[],zt=1/re;re--;)Wt.push(R({h:Ct,s:Nt,v:ht})),ht=(ht+zt)%1;return Wt}R.mix=function(ae,re,Ie){Ie=Ie===0?0:Ie||50;var Ct=R(ae).toRgb(),Nt=R(re).toRgb(),ht=Ie/100,Wt={r:(Nt.r-Ct.r)*ht+Ct.r,g:(Nt.g-Ct.g)*ht+Ct.g,b:(Nt.b-Ct.b)*ht+Ct.b,a:(Nt.a-Ct.a)*ht+Ct.a};return R(Wt)},R.readability=function(ae,re){var Ie=R(ae),Ct=R(re);return(Math.max(Ie.getLuminance(),Ct.getLuminance())+.05)/(Math.min(Ie.getLuminance(),Ct.getLuminance())+.05)},R.isReadable=function(ae,re,Ie){var Ct=R.readability(ae,re),Nt,ht;switch(ht=!1,Nt=lt(Ie),Nt.level+Nt.size){case"AAsmall":case"AAAlarge":ht=Ct>=4.5;break;case"AAlarge":ht=Ct>=3;break;case"AAAsmall":ht=Ct>=7;break}return ht},R.mostReadable=function(ae,re,Ie){var Ct=null,Nt=0,ht,Wt,zt,De;Ie=Ie||{},Wt=Ie.includeFallbackColors,zt=Ie.level,De=Ie.size;for(var ft=0;ftNt&&(Nt=ht,Ct=R(re[ft]));return R.isReadable(ae,Ct,{level:zt,size:De})||!Wt?Ct:(Ie.includeFallbackColors=!1,R.mostReadable(ae,["#fff","#000"],Ie))};var it=R.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},$t=R.hexNames=cn(it);function cn(ae){var re={};for(var Ie in ae)ae.hasOwnProperty(Ie)&&(re[ae[Ie]]=Ie);return re}function Sn(ae){return ae=parseFloat(ae),(isNaN(ae)||ae<0||ae>1)&&(ae=1),ae}function vn(ae,re){Un(ae)&&(ae="100%");var Ie=ke(ae);return ae=Math.min(re,Math.max(0,parseFloat(ae))),Ie&&(ae=parseInt(ae*re,10)/100),Math.abs(ae-re)<1e-6?1:ae%re/parseFloat(re)}function Qn(ae){return Math.min(1,Math.max(0,ae))}function xn(ae){return parseInt(ae,16)}function Un(ae){return typeof ae=="string"&&ae.indexOf(".")!=-1&&parseFloat(ae)===1}function ke(ae){return typeof ae=="string"&&ae.indexOf("%")!=-1}function ot(ae){return ae.length==1?"0"+ae:""+ae}function Ht(ae){return ae<=1&&(ae=ae*100+"%"),ae}function On(ae){return Math.round(parseFloat(ae)*255).toString(16)}function xt(ae){return xn(ae)/255}var Pt=function(){var ae="[-\\+]?\\d+%?",re="[-\\+]?\\d*\\.\\d+%?",Ie="(?:"+re+")|(?:"+ae+")",Ct="[\\s|\\(]+("+Ie+")[,|\\s]+("+Ie+")[,|\\s]+("+Ie+")\\s*\\)?",Nt="[\\s|\\(]+("+Ie+")[,|\\s]+("+Ie+")[,|\\s]+("+Ie+")[,|\\s]+("+Ie+")\\s*\\)?";return{CSS_UNIT:new RegExp(Ie),rgb:new RegExp("rgb"+Ct),rgba:new RegExp("rgba"+Nt),hsl:new RegExp("hsl"+Ct),hsla:new RegExp("hsla"+Nt),hsv:new RegExp("hsv"+Ct),hsva:new RegExp("hsva"+Nt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function tn(ae){return!!Pt.CSS_UNIT.exec(ae)}function pt(ae){ae=ae.replace(O,"").replace(B,"").toLowerCase();var re=!1;if(it[ae])ae=it[ae],re=!0;else if(ae=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var Ie;return(Ie=Pt.rgb.exec(ae))?{r:Ie[1],g:Ie[2],b:Ie[3]}:(Ie=Pt.rgba.exec(ae))?{r:Ie[1],g:Ie[2],b:Ie[3],a:Ie[4]}:(Ie=Pt.hsl.exec(ae))?{h:Ie[1],s:Ie[2],l:Ie[3]}:(Ie=Pt.hsla.exec(ae))?{h:Ie[1],s:Ie[2],l:Ie[3],a:Ie[4]}:(Ie=Pt.hsv.exec(ae))?{h:Ie[1],s:Ie[2],v:Ie[3]}:(Ie=Pt.hsva.exec(ae))?{h:Ie[1],s:Ie[2],v:Ie[3],a:Ie[4]}:(Ie=Pt.hex8.exec(ae))?{r:xn(Ie[1]),g:xn(Ie[2]),b:xn(Ie[3]),a:xt(Ie[4]),format:re?"name":"hex8"}:(Ie=Pt.hex6.exec(ae))?{r:xn(Ie[1]),g:xn(Ie[2]),b:xn(Ie[3]),format:re?"name":"hex"}:(Ie=Pt.hex4.exec(ae))?{r:xn(Ie[1]+""+Ie[1]),g:xn(Ie[2]+""+Ie[2]),b:xn(Ie[3]+""+Ie[3]),a:xt(Ie[4]+""+Ie[4]),format:re?"name":"hex8"}:(Ie=Pt.hex3.exec(ae))?{r:xn(Ie[1]+""+Ie[1]),g:xn(Ie[2]+""+Ie[2]),b:xn(Ie[3]+""+Ie[3]),format:re?"name":"hex"}:!1}function lt(ae){var re,Ie;return ae=ae||{level:"AA",size:"small"},re=(ae.level||"AA").toUpperCase(),Ie=(ae.size||"small").toLowerCase(),re!=="AA"&&re!=="AAA"&&(re="AA"),Ie!=="small"&&Ie!=="large"&&(Ie="small"),{level:re,size:Ie}}},80813:function(Re,xe,v){"use strict";v.d(xe,{CR:function(){return fe},Jh:function(){return ee},Q_:function(){return vn},XA:function(){return pe},ZT:function(){return O},_T:function(){return R},ev:function(){return Ze},mG:function(){return z},pi:function(){return B},pr:function(){return Me}});var m=function(xt,Pt){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(tn,pt){tn.__proto__=pt}||function(tn,pt){for(var lt in pt)Object.prototype.hasOwnProperty.call(pt,lt)&&(tn[lt]=pt[lt])},m(xt,Pt)};function O(xt,Pt){if(typeof Pt!="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");m(xt,Pt);function tn(){this.constructor=xt}xt.prototype=Pt===null?Object.create(Pt):(tn.prototype=Pt.prototype,new tn)}var B=function(){return B=Object.assign||function(Pt){for(var tn,pt=1,lt=arguments.length;pt=0;Ie--)(re=xt[Ie])&&(ae=(lt<3?re(ae):lt>3?re(Pt,tn,ae):re(Pt,tn))||ae);return lt>3&&ae&&Object.defineProperty(Pt,tn,ae),ae}function I(xt,Pt){return function(tn,pt){Pt(tn,pt,xt)}}function E(xt,Pt,tn,pt,lt,ae){function re(de){if(de!==void 0&&typeof de!="function")throw new TypeError("Function expected");return de}for(var Ie=pt.kind,Ct=Ie==="getter"?"get":Ie==="setter"?"set":"value",Nt=!Pt&&xt?pt.static?xt:xt.prototype:null,ht=Pt||(Nt?Object.getOwnPropertyDescriptor(Nt,pt.name):{}),Wt,zt=!1,De=tn.length-1;De>=0;De--){var ft={};for(var bt in pt)ft[bt]=bt==="access"?{}:pt[bt];for(var bt in pt.access)ft.access[bt]=pt.access[bt];ft.addInitializer=function(de){if(zt)throw new TypeError("Cannot add initializers after decoration has completed");ae.push(re(de||null))};var U=(0,tn[De])(Ie==="accessor"?{get:ht.get,set:ht.set}:ht[Ct],ft);if(Ie==="accessor"){if(U===void 0)continue;if(U===null||typeof U!="object")throw new TypeError("Object expected");(Wt=re(U.get))&&(ht.get=Wt),(Wt=re(U.set))&&(ht.set=Wt),(Wt=re(U.init))&<.unshift(Wt)}else(Wt=re(U))&&(Ie==="field"?lt.unshift(Wt):ht[Ct]=Wt)}Nt&&Object.defineProperty(Nt,pt.name,ht),zt=!0}function N(xt,Pt,tn){for(var pt=arguments.length>2,lt=0;lt0&&ae[ae.length-1])&&(Nt[0]===6||Nt[0]===2)){tn=0;continue}if(Nt[0]===3&&(!ae||Nt[1]>ae[0]&&Nt[1]=xt.length&&(xt=void 0),{value:xt&&xt[pt++],done:!xt}}};throw new TypeError(Pt?"Object is not iterable.":"Symbol.iterator is not defined.")}function fe(xt,Pt){var tn=typeof Symbol=="function"&&xt[Symbol.iterator];if(!tn)return xt;var pt=tn.call(xt),lt,ae=[],re;try{for(;(Pt===void 0||Pt-- >0)&&!(lt=pt.next()).done;)ae.push(lt.value)}catch(Ie){re={error:Ie}}finally{try{lt&&!lt.done&&(tn=pt.return)&&tn.call(pt)}finally{if(re)throw re.error}}return ae}function Le(){for(var xt=[],Pt=0;Pt1||Ct(De,bt)})},ft&&(lt[De]=ft(lt[De])))}function Ct(De,ft){try{Nt(pt[De](ft))}catch(bt){zt(ae[0][3],bt)}}function Nt(De){De.value instanceof Ye?Promise.resolve(De.value.v).then(ht,Wt):zt(ae[0][2],De)}function ht(De){Ct("next",De)}function Wt(De){Ct("throw",De)}function zt(De,ft){De(ft),ae.shift(),ae.length&&Ct(ae[0][0],ae[0][1])}}function be(xt){var Pt,tn;return Pt={},pt("next"),pt("throw",function(lt){throw lt}),pt("return"),Pt[Symbol.iterator]=function(){return this},Pt;function pt(lt,ae){Pt[lt]=xt[lt]?function(re){return(tn=!tn)?{value:Ye(xt[lt](re)),done:!1}:ae?ae(re):re}:ae}}function Ge(xt){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Pt=xt[Symbol.asyncIterator],tn;return Pt?Pt.call(xt):(xt=typeof pe=="function"?pe(xt):xt[Symbol.iterator](),tn={},pt("next"),pt("throw"),pt("return"),tn[Symbol.asyncIterator]=function(){return this},tn);function pt(ae){tn[ae]=xt[ae]&&function(re){return new Promise(function(Ie,Ct){re=xt[ae](re),lt(Ie,Ct,re.done,re.value)})}}function lt(ae,re,Ie,Ct){Promise.resolve(Ct).then(function(Nt){ae({value:Nt,done:Ie})},re)}}function Je(xt,Pt){return Object.defineProperty?Object.defineProperty(xt,"raw",{value:Pt}):xt.raw=Pt,xt}var it=Object.create?function(xt,Pt){Object.defineProperty(xt,"default",{enumerable:!0,value:Pt})}:function(xt,Pt){xt.default=Pt},$t=function(xt){return $t=Object.getOwnPropertyNames||function(Pt){var tn=[];for(var pt in Pt)Object.prototype.hasOwnProperty.call(Pt,pt)&&(tn[tn.length]=pt);return tn},$t(xt)};function cn(xt){if(xt&&xt.__esModule)return xt;var Pt={};if(xt!=null)for(var tn=$t(xt),pt=0;ptBu(at))} pos: ${this.timelinePos}`),se.length&&this.log(`R `).split(` `),K=[],se=t?qs(t.baseTime,t.timescale):0;let de="00:00.000",xe=0,ke=0,Re,at=!0;j.oncue=function(it){const Xt=n[s];let ar=n.ccOffset;const lr=(xe-se)/9e4;if(Xt!=null&&Xt.new&&(ke!==void 0?ar=n.ccOffset=Xt.start:Il(n,s,lr)),lr){if(!t){Re=new Error("Missing initPTS for VTT MPEGTS");return}ar=lr-n.presentationOffset}const Ar=it.endTime-it.startTime,zr=Wo((it.startTime+ar-ke)*9e4,_*9e4)/9e4;it.startTime=Math.max(zr,0),it.endTime=Math.max(zr+Ar,0);const vn=it.text.trim();it.text=decodeURIComponent(encodeURIComponent(vn)),it.id||(it.id=sf(it.startTime,it.endTime,vn)),it.endTime>0&&K.push(it)},j.onparsingerror=function(it){Re=it},j.onflush=function(){if(Re){I(Re);return}w(K)},Q.forEach(it=>{if(at)if(Jo(it,"X-TIMESTAMP-MAP=")){at=!1,it.slice(16).split(",").forEach(Xt=>{Jo(Xt,"LOCAL:")?de=Xt.slice(6):Jo(Xt,"MPEGTS:")&&(xe=parseInt(Xt.slice(7)))});try{ke=Sf(de)/1e3}catch(Xt){Re=Xt}return}else it===""&&(at=!1);j.parse(it+` `)}),j.flush()}const eu="stpp.ttml.im1t",Af=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Cf=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,of={left:"start",center:"center",right:"end",start:"start",end:"end"};function Bc(k,t,n,s){const _=lt(new Uint8Array(k),["mdat"]);if(_.length===0){s(new Error("Could not parse IMSC1 mdat"));return}const w=_.map(j=>q(j)),I=bu(t.baseTime,1,t.timescale);try{w.forEach(j=>n(Bf(j,I)))}catch(j){s(j)}}function Bf(k,t){const _=new DOMParser().parseFromString(k,"text/xml").getElementsByTagName("tt")[0];if(!_)throw new Error("Invalid ttml");const w={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},I=Object.keys(w).reduce((de,xe)=>(de[xe]=_.getAttribute(`ttp:${xe}`)||w[xe],de),{}),j=_.getAttribute("xml:space")!=="preserve",Q=Zf(Nc(_,"styling","style")),K=Zf(Nc(_,"layout","region")),se=Nc(_,"body","[begin]");return[].map.call(se,de=>{const xe=Yf(de,j);if(!xe||!de.hasAttribute("begin"))return null;const ke=uf(de.getAttribute("begin"),I),Re=uf(de.getAttribute("dur"),I);let at=uf(de.getAttribute("end"),I);if(ke===null)throw Wf(de);if(at===null){if(Re===null)throw Wf(de);at=ke+Re}const it=new Ef(ke-t,at-t,xe);it.id=sf(it.startTime,it.endTime,it.text);const Xt=K[de.getAttribute("region")],ar=Q[de.getAttribute("style")],lr=Nf(Xt,ar,Q),{textAlign:Ar}=lr;if(Ar){const zr=of[Ar];zr&&(it.lineAlign=zr),it.align=Ar}return v(it,lr),it}).filter(de=>de!==null)}function Nc(k,t,n){const s=k.getElementsByTagName(t)[0];return s?[].slice.call(s.querySelectorAll(n)):[]}function Zf(k){return k.reduce((t,n)=>{const s=n.getAttribute("xml:id");return s&&(t[s]=n),t},{})}function Yf(k,t){return[].slice.call(k.childNodes).reduce((n,s,_)=>{var w;return s.nodeName==="br"&&_?n+` -`:(w=s.childNodes)!=null&&w.length?Yf(s,t):t?n+s.textContent.trim().replace(/\s+/g," "):n+s.textContent},"")}function Nf(k,t,n){const s="http://www.w3.org/ns/ttml#styling";let _=null;const w=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],I=k!=null&&k.hasAttribute("style")?k.getAttribute("style"):null;return I&&n.hasOwnProperty(I)&&(_=n[I]),w.reduce((j,Q)=>{const K=Xf(t,s,Q)||Xf(k,s,Q)||Xf(_,s,Q);return K&&(j[Q]=K),j},{})}function Xf(k,t,n){return k&&k.hasAttributeNS(t,n)?k.getAttributeNS(t,n):null}function Wf(k){return new Error(`Could not parse ttml timestamp ${k}`)}function uf(k,t){if(!k)return null;let n=Mf(k);return n===null&&(Af.test(k)?n=id(k,t):Cf.test(k)&&(n=Hf(k,t))),n}function id(k,t){const n=Af.exec(k),s=(n[4]|0)+(n[5]|0)/t.subFrameRate;return(n[1]|0)*3600+(n[2]|0)*60+(n[3]|0)+s/t.frameRate}function Hf(k,t){const n=Cf.exec(k),s=Number(n[1]);switch(n[2]){case"h":return s*3600;case"m":return s*60;case"ms":return s*1e3;case"f":return s/t.frameRate;case"t":return s/t.tickRate}return s}class jf{constructor(t,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=t,this.trackName=n}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(t,n,s){(this.startTime===null||this.startTime>t)&&(this.startTime=t),this.endTime=n,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class ad{constructor(t){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=y(),this.captionsProperties=void 0,this.hls=t,this.config=t.config,this.Cues=t.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},t.on(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(u.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(u.FRAG_LOADING,this.onFragLoading,this),t.on(u.FRAG_LOADED,this.onFragLoaded,this),t.on(u.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.on(u.FRAG_DECRYPTED,this.onFragDecrypted,this),t.on(u.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(u.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.on(u.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:t}=this;t.off(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(u.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(u.FRAG_LOADING,this.onFragLoading,this),t.off(u.FRAG_LOADED,this.onFragLoaded,this),t.off(u.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.off(u.FRAG_DECRYPTED,this.onFragDecrypted,this),t.off(u.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(u.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.off(u.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const t=new jf(this,"textTrack1"),n=new jf(this,"textTrack2"),s=new jf(this,"textTrack3"),_=new jf(this,"textTrack4");this.cea608Parser1=new yl(1,t,n),this.cea608Parser2=new yl(3,s,_)}addCues(t,n,s,_,w){let I=!1;for(let j=w.length;j--;){const Q=w[j],K=Gf(Q[0],Q[1],n,s);if(K>=0&&(Q[0]=Math.min(Q[0],n),Q[1]=Math.max(Q[1],s),I=!0,K/(s-n)>.5))return}if(I||w.push([n,s]),this.config.renderTextTracksNatively){const j=this.captionsTracks[t];this.Cues.newCue(j,n,s,_)}else{const j=this.Cues.newCue(null,n,s,_);this.hls.trigger(u.CUES_PARSED,{type:"captions",cues:j,track:t})}}onInitPtsFound(t,{frag:n,id:s,initPTS:_,timescale:w,trackId:I}){const{unparsedVttFrags:j}=this;s===o.MAIN&&(this.initPTS[n.cc]={baseTime:_,timescale:w,trackId:I}),j.length&&(this.unparsedVttFrags=[],j.forEach(Q=>{this.initPTS[Q.frag.cc]?this.onFragLoaded(u.FRAG_LOADED,Q):this.hls.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:Q.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(t,n){const{media:s}=this;if(s)for(let _=0;_{Js(_[w]),delete _[w]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=y(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:t}=this;if(!t)return;const n=t.textTracks;if(n)for(let s=0;sw.textCodec===eu);if(this.config.enableWebVTT||_&&this.config.enableIMSC1){if(Df(this.tracks,s)){this.tracks=s;return}if(this.textTracks=[],this.tracks=s,this.config.renderTextTracksNatively){const I=this.media,j=I?rc(I.textTracks):null;if(this.tracks.forEach((Q,K)=>{let se;if(j){let de=null;for(let xe=0;xeK!==null).map(K=>K.label);Q.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${Q.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const I=this.tracks.map(j=>({label:j.name,kind:j.type.toLowerCase(),default:j.default,subtitleTrack:j}));this.hls.trigger(u.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:I})}}}onManifestLoaded(t,n){this.config.enableCEA708Captions&&n.captions&&n.captions.forEach(s=>{const _=/(?:CC|SERVICE)([1-4])/.exec(s.instreamId);if(!_)return;const w=`textTrack${_[1]}`,I=this.captionsProperties[w];I&&(I.label=s.name,s.lang&&(I.languageCode=s.lang),I.media=s)})}closedCaptionsForLevel(t){const n=this.hls.levels[t.level];return n==null?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(t,n){if(this.enabled&&n.frag.type===o.MAIN){var s,_;const{cea608Parser1:w,cea608Parser2:I,lastSn:j}=this,{cc:Q,sn:K}=n.frag,se=(s=(_=n.part)==null?void 0:_.index)!=null?s:-1;w&&I&&(K!==j+1||K===j&&se!==this.lastPartIndex+1||Q!==this.lastCc)&&(w.reset(),I.reset()),this.lastCc=Q,this.lastSn=K,this.lastPartIndex=se}}onFragLoaded(t,n){const{frag:s,payload:_}=n;if(s.type===o.SUBTITLE)if(_.byteLength){const w=s.decryptdata,I="stats"in n;if(w==null||!w.encrypted||I){const j=this.tracks[s.level],Q=this.vttCCs;Q[s.cc]||(Q[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),j&&j.textCodec===eu?this._parseIMSC1(s,_):this._parseVTTs(n)}}else this.hls.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")})}_parseIMSC1(t,n){const s=this.hls;Bc(n,this.initPTS[t.cc],_=>{this._appendCues(_,t.level),s.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})},_=>{s.logger.log(`Failed to parse IMSC1: ${_}`),s.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:_})})}_parseVTTs(t){var n;const{frag:s,payload:_}=t,{initPTS:w,unparsedVttFrags:I}=this,j=w.length-1;if(!w[s.cc]&&j===-1){I.push(t);return}const Q=this.hls,K=(n=s.initSegment)!=null&&n.data?Qt(s.initSegment.data,new Uint8Array(_)).buffer:_;Fc(K,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,se=>{this._appendCues(se,s.level),Q.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})},se=>{const de=se.message==="Missing initPTS for VTT MPEGTS";de?I.push(t):this._fallbackToIMSC1(s,_),Q.logger.log(`Failed to parse VTT cue: ${se}`),!(de&&j>s.cc)&&Q.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:se})})}_fallbackToIMSC1(t,n){const s=this.tracks[t.level];s.textCodec||Bc(n,this.initPTS[t.cc],()=>{s.textCodec=eu,this._parseIMSC1(t,n)},()=>{s.textCodec="wvtt"})}_appendCues(t,n){const s=this.hls;if(this.config.renderTextTracksNatively){const _=this.textTracks[n];if(!_||_.mode==="disabled")return;t.forEach(w=>Ks(_,w))}else{const _=this.tracks[n];if(!_)return;const w=_.default?"default":"subtitles"+n;s.trigger(u.CUES_PARSED,{type:"subtitles",cues:t,track:w})}}onFragDecrypted(t,n){const{frag:s}=n;s.type===o.SUBTITLE&&this.onFragLoaded(u.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(t,n){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:s,samples:_}=n;if(!(s.type===o.MAIN&&this.closedCaptionsForLevel(s)==="NONE"))for(let w=0;w<_.length;w++){const I=_[w].bytes;if(I){this.cea608Parser1||this.initCea608Parsers();const j=this.extractCea608Data(I);this.cea608Parser1.addData(_[w].pts,j[0]),this.cea608Parser2.addData(_[w].pts,j[1])}}}onBufferFlushing(t,{startOffset:n,endOffset:s,endOffsetSubtitles:_,type:w}){const{media:I}=this;if(!(!I||I.currentTimecu(j[Q],n,s))}if(this.config.renderTextTracksNatively&&n===0&&_!==void 0){const{textTracks:j}=this;Object.keys(j).forEach(Q=>cu(j[Q],n,_))}}}extractCea608Data(t){const n=[[],[]],s=t[0]&31;let _=2;for(let w=0;w=16?Q--:Q++;const ke=fl(K.trim()),Re=sf(t,n,ke);k!=null&&(de=k.cues)!=null&&de.getCueById(Re)||(I=new se(t,n,ke),I.id=Re,I.line=xe+1,I.align="left",I.position=10+Math.min(80,Math.floor(Q*8/32)*10),_.push(I))}return k&&_.length&&(_.sort((xe,ke)=>xe.line==="auto"||ke.line==="auto"?0:xe.line>8&&ke.line>8?ke.line-xe.line:xe.line-ke.line),_.forEach(xe=>Ks(k,xe))),_}};function ge(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(k){}return!1}const Oe=/(\d+)-(\d+)\/(\d+)/;class rt{constructor(t){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=t.fetchSetup||gn,this.controller=new self.AbortController,this.stats=new z}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var t;this.abortInternal(),(t=this.callbacks)!=null&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(t,n,s){const _=this.stats;if(_.loading.start)throw new Error("Loader can only be used once.");_.loading.start=self.performance.now();const w=Ht(t,this.controller.signal),I=t.responseType==="arraybuffer",j=I?"byteLength":"length",{maxTimeToFirstByteMs:Q,maxLoadTimeMs:K}=n.loadPolicy;this.context=t,this.config=n,this.callbacks=s,this.request=this.fetchSetup(t,w),self.clearTimeout(this.requestTimeout),n.timeout=Q&&r(Q)?Q:K,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(_,t,this.response))},n.timeout),(ho(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(de=>{var xe;this.response=this.loader=de;const ke=Math.max(self.performance.now(),_.loading.start);if(self.clearTimeout(this.requestTimeout),n.timeout=K,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(_,t,this.response))},K-(ke-_.loading.start)),!de.ok){const{status:at,statusText:it}=de;throw new ki(it||"fetch, bad network response",at,de)}_.loading.first=ke,_.total=Lr(de.headers)||_.total;const Re=(xe=this.callbacks)==null?void 0:xe.onProgress;return Re&&r(n.highWaterMark)?this.loadProgressively(de,_,t,n.highWaterMark,Re):I?de.arrayBuffer():t.responseType==="json"?de.json():de.text()}).then(de=>{var xe,ke;const Re=this.response;if(!Re)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),_.loading.end=Math.max(self.performance.now(),_.loading.first);const at=de[j];at&&(_.loaded=_.total=at);const it={url:Re.url,data:de,code:Re.status},Xt=(xe=this.callbacks)==null?void 0:xe.onProgress;Xt&&!r(n.highWaterMark)&&Xt(_,t,de,Re),(ke=this.callbacks)==null||ke.onSuccess(it,_,t,Re)}).catch(de=>{var xe;if(self.clearTimeout(this.requestTimeout),_.aborted)return;const ke=de&&de.code||0,Re=de?de.message:null;(xe=this.callbacks)==null||xe.onError({code:ke,text:Re},t,de?de.details:null,_)})}getCacheAge(){let t=null;if(this.response){const n=this.response.headers.get("age");t=n?parseFloat(n):null}return t}getResponseHeader(t){return this.response?this.response.headers.get(t):null}loadProgressively(t,n,s,_=0,w){const I=new Sr,j=t.body.getReader(),Q=()=>j.read().then(K=>{if(K.done)return I.dataLength&&w(n,s,I.flush().buffer,t),Promise.resolve(new ArrayBuffer(0));const se=K.value,de=se.length;return n.loaded+=de,de<_||I.dataLength?(I.push(se),I.dataLength>=_&&w(n,s,I.flush().buffer,t)):w(n,s,se.buffer,t),Q()}).catch(()=>Promise.reject());return Q()}}function Ht(k,t){const n={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(v({},k.headers))};return k.rangeEnd&&n.headers.set("Range","bytes="+k.rangeStart+"-"+String(k.rangeEnd-1)),n}function dr(k){const t=Oe.exec(k);if(t)return parseInt(t[2])-parseInt(t[1])+1}function Lr(k){const t=k.get("Content-Range");if(t){const s=dr(t);if(r(s))return s}const n=k.get("Content-Length");if(n)return parseInt(n)}function gn(k,t){return new self.Request(k.url,t)}class ki extends Error{constructor(t,n,s){super(t),this.code=void 0,this.details=void 0,this.code=n,this.details=s}}const Ua=/^age:\s*[\d.]+\s*$/im;class Vn{constructor(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=t&&t.xhrSetup||null,this.stats=new z,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,t.readyState!==4&&(this.stats.aborted=!0,t.abort()))}abort(){var t;this.abortInternal(),(t=this.callbacks)!=null&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(t,n,s){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=n,this.callbacks=s,this.loadInternal()}loadInternal(){const{config:t,context:n}=this;if(!t||!n)return;const s=this.loader=new self.XMLHttpRequest,_=this.stats;_.loading.first=0,_.loaded=0,_.aborted=!1;const w=this.xhrSetup;w?Promise.resolve().then(()=>{if(!(this.loader!==s||this.stats.aborted))return w(s,n.url)}).catch(I=>{if(!(this.loader!==s||this.stats.aborted))return s.open("GET",n.url,!0),w(s,n.url)}).then(()=>{this.loader!==s||this.stats.aborted||this.openAndSendXhr(s,n,t)}).catch(I=>{var j;(j=this.callbacks)==null||j.onError({code:s.status,text:I.message},n,s,_)}):this.openAndSendXhr(s,n,t)}openAndSendXhr(t,n,s){t.readyState||t.open("GET",n.url,!0);const _=n.headers,{maxTimeToFirstByteMs:w,maxLoadTimeMs:I}=s.loadPolicy;if(_)for(const j in _)t.setRequestHeader(j,_[j]);n.rangeEnd&&t.setRequestHeader("Range","bytes="+n.rangeStart+"-"+(n.rangeEnd-1)),t.onreadystatechange=this.readystatechange.bind(this),t.onprogress=this.loadprogress.bind(this),t.responseType=n.responseType,self.clearTimeout(this.requestTimeout),s.timeout=w&&r(w)?w:I,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),t.send()}readystatechange(){const{context:t,loader:n,stats:s}=this;if(!t||!n)return;const _=n.readyState,w=this.config;if(!s.aborted&&_>=2&&(s.loading.first===0&&(s.loading.first=Math.max(self.performance.now(),s.loading.start),w.timeout!==w.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),w.timeout=w.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),w.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start)))),_===4)){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;const K=n.status,se=n.responseType==="text"?n.responseText:null;if(K>=200&&K<300){const Re=se!=null?se:n.response;if(Re!=null){var I,j;s.loading.end=Math.max(self.performance.now(),s.loading.first);const at=n.responseType==="arraybuffer"?Re.byteLength:Re.length;s.loaded=s.total=at,s.bwEstimate=s.total*8e3/(s.loading.end-s.loading.first);const it=(I=this.callbacks)==null?void 0:I.onProgress;it&&it(s,t,Re,n);const Xt={url:n.responseURL,data:Re,code:K};(j=this.callbacks)==null||j.onSuccess(Xt,s,t,n);return}}const de=w.loadPolicy.errorRetry,xe=s.retry,ke={url:t.url,data:void 0,code:K};if(ct(de,xe,!1,ke))this.retry(de);else{var Q;$.error(`${K} while loading ${t.url}`),(Q=this.callbacks)==null||Q.onError({code:K,text:n.statusText},t,n,s)}}}loadtimeout(){if(!this.config)return;const t=this.config.loadPolicy.timeoutRetry,n=this.stats.retry;if(ct(t,n,!0))this.retry(t);else{var s;$.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);const _=this.callbacks;_&&(this.abortInternal(),_.onTimeout(this.stats,this.context,this.loader))}}retry(t){const{context:n,stats:s}=this;this.retryDelay=qn(t,s.retry),s.retry++,$.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${n==null?void 0:n.url}, retrying ${s.retry}/${t.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(t){const n=this.stats;n.loaded=t.loaded,t.lengthComputable&&(n.total=t.total)}getCacheAge(){let t=null;if(this.loader&&Ua.test(this.loader.getAllResponseHeaders())){const n=this.loader.getResponseHeader("age");t=n?parseFloat(n):null}return t}getResponseHeader(t){return this.loader&&new RegExp(`^${t}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(t):null}}const fa={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},za=b(b({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:Vn,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:me,bufferController:Mo,capLevelController:Bl,errorController:$r,fpsController:Fo,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:pu,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:fa},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},ka()),{},{subtitleStreamController:Pl,subtitleTrackController:Lc,timelineController:ad,audioStreamController:Lo,audioTrackController:wl,emeController:tn,cmcdController:P,contentSteeringController:L,interstitialsController:wf});function ka(){return{cueHandler:U,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function sn(k,t,n){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(t.liveMaxLatencyDurationCount!==void 0&&(t.liveSyncDurationCount===void 0||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(t.liveMaxLatencyDuration!==void 0&&(t.liveSyncDuration===void 0||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const s=Ur(k),_=["manifest","level","frag"],w=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return _.forEach(I=>{const j=`${I==="level"?"playlist":I}LoadPolicy`,Q=t[j]===void 0,K=[];w.forEach(se=>{const de=`${I}Loading${se}`,xe=t[de];if(xe!==void 0&&Q){K.push(de);const ke=s[j].default;switch(t[j]={default:ke},se){case"TimeOut":ke.maxLoadTimeMs=xe,ke.maxTimeToFirstByteMs=xe;break;case"MaxRetry":ke.errorRetry.maxNumRetry=xe,ke.timeoutRetry.maxNumRetry=xe;break;case"RetryDelay":ke.errorRetry.retryDelayMs=xe,ke.timeoutRetry.retryDelayMs=xe;break;case"MaxRetryTimeout":ke.errorRetry.maxRetryDelayMs=xe,ke.timeoutRetry.maxRetryDelayMs=xe;break}}}),K.length&&n.warn(`hls.js config: "${K.join('", "')}" setting(s) are deprecated, use "${j}": ${zi(t[j])}`)}),b(b({},s),t)}function Ur(k){return k&&typeof k=="object"?Array.isArray(k)?k.map(Ur):Object.keys(k).reduce((t,n)=>(t[n]=Ur(k[n]),t),{}):k}function an(k,t){const n=k.loader;n!==rt&&n!==Vn?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),k.progressive=!1):ge()&&(k.loader=rt,k.progressive=!0,k.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}const Dn=2,zn=.1,Xa=.05,Vi=100;class Qa extends to{constructor(t,n){super("gap-controller",t.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var s;(s=this.media)!=null&&s.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var s;this.ended=((s=this.media)==null?void 0:s.currentTime)||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!1})}},this.hls=t,this.fragmentTracker=n,this.registerListeners()}registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(t,n){this.setInterval(Vi),this.mediaSource=n.mediaSource;const s=this.media=n.media;ja(s,"playing",this.onMediaPlaying),ja(s,"waiting",this.onMediaWaiting),ja(s,"ended",this.onMediaEnded)}onMediaDetaching(t,n){this.clearInterval();const{media:s}=this;s&&(fs(s,"playing",this.onMediaPlaying),fs(s,"waiting",this.onMediaWaiting),fs(s,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(t,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var t;if(!((t=this.media)!=null&&t.readyState)||!this.hasBuffered)return;const n=this.media.currentTime;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(t,n){var s,_;const w=(s=this.hls)==null?void 0:s.config;if(!w)return;const I=this.media;if(!I)return;const{seeking:j}=I,Q=this.seeking&&!j,K=!this.seeking&&j,se=I.paused&&!j||I.ended||I.playbackRate===0;if(this.seeking=j,t!==n){n&&(this.ended=0),this.moved=!0,j||(this.nudgeRetry=0,w.nudgeOnVideoHole&&!se&&t>n&&this.nudgeOnVideoHole(t,n)),this.waiting===0&&this.stallResolved(t);return}if(K||Q){Q&&this.stallResolved(t);return}if(se){this.nudgeRetry=0,this.stallResolved(t),!this.ended&&I.ended&&this.hls&&(this.ended=t||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!1}));return}if(!vi.getBuffered(I).length){this.nudgeRetry=0;return}const de=vi.bufferInfo(I,t,0),xe=de.nextStart||0,ke=this.fragmentTracker;if(j&&ke&&this.hls){const vn=ms(this.hls.inFlightFragments,t),Zr=de.len>Dn,fn=!xe||vn||xe-t>Dn&&!ke.getPartialFragment(t);if(Zr||fn)return;this.moved=!1}const Re=(_=this.hls)==null?void 0:_.latestLevelDetails;if(!this.moved&&this.stalled!==null&&ke){if(!(de.len>0)&&!xe)return;const Zr=Math.max(xe,de.start||0)-t,ln=!!(Re!=null&&Re.live)?Re.targetduration*2:Dn,Qr=Kl(t,ke);if(Zr>0&&(Zr<=ln||Qr)){I.paused||this._trySkipBufferHole(Qr);return}}const at=w.detectStallWithCurrentTimeMs,it=self.performance.now(),Xt=this.waiting;let ar=this.stalled;if(ar===null)if(Xt>0&&it-Xt=at||Xt)&&this.hls){var Ar;if(((Ar=this.mediaSource)==null?void 0:Ar.readyState)==="ended"&&!(Re!=null&&Re.live)&&Math.abs(t-((Re==null?void 0:Re.edge)||0))<1){if(this.ended)return;this.ended=t||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(de),!this.media||!this.hls)return}const zr=vi.bufferInfo(I,t,w.maxBufferHole);this._tryFixBufferStall(zr,lr,t)}stallResolved(t){const n=this.stalled;if(n&&this.hls&&(this.stalled=null,this.stallReported)){const s=self.performance.now()-n;this.log(`playback not stuck anymore @${t}, after ${Math.round(s)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(u.STALL_RESOLVED,{})}}nudgeOnVideoHole(t,n){var s;const _=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(s=this.buffered.audio)!=null&&s.length&&_&&_.length>1&&t>_.end(0)){const w=vi.bufferedInfo(vi.timeRangesToArray(this.buffered.audio),t,0);if(w.len>1&&n>=w.start){const I=vi.timeRangesToArray(_),j=vi.bufferedInfo(I,n,0).bufferedIndex;if(j>-1&&jj)&&se-K<1&&t-K<2){const de=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${t} hole: ${K} -> ${se} buffered index: ${Q}`);this.warn(de.message),this.media.currentTime+=1e-6;let xe=Kl(t,this.fragmentTracker);xe&&"fragment"in xe?xe=xe.fragment:xe||(xe=void 0);const ke=vi.bufferInfo(this.media,t,0);this.hls.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:de,reason:de.message,frag:xe,buffer:ke.len,bufferInfo:ke})}}}}}_tryFixBufferStall(t,n,s){var _,w;const{fragmentTracker:I,media:j}=this,Q=(_=this.hls)==null?void 0:_.config;if(!j||!I||!Q)return;const K=(w=this.hls)==null?void 0:w.latestLevelDetails,se=Kl(s,I);if((se||K!=null&&K.live&&s1&&t.len>Q.maxBufferHole||t.nextStart&&(t.nextStart-sQ.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(t))}adjacentTraversal(t,n){const s=this.fragmentTracker,_=t.nextStart;if(s&&_){const w=s.getFragAtPos(n,o.MAIN),I=s.getFragAtPos(_,o.MAIN);if(w&&I)return I.sn-w.sn<2}return!1}_reportStall(t){const{hls:n,media:s,stallReported:_,stalled:w}=this;if(!_&&w!==null&&s&&n){this.stallReported=!0;const I=new Error(`Playback stalling at @${s.currentTime} due to low buffer (${zi(t)})`);this.warn(I.message),n.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.BUFFER_STALLED_ERROR,fatal:!1,error:I,buffer:t.len,bufferInfo:t,stalled:{start:w}})}}_trySkipBufferHole(t){var n;const{fragmentTracker:s,media:_}=this,w=(n=this.hls)==null?void 0:n.config;if(!_||!s||!w)return 0;const I=_.currentTime,j=vi.bufferInfo(_,I,0),Q=I0&&j.len<1&&_.readyState<3,xe=Q-I;if(xe>0&&(se||de)){if(xe>w.maxBufferHole){let Re=!1;if(I===0){const at=s.getAppendedFrag(0,o.MAIN);at&&Q{const k=od();try{k&&new k(0,Number.POSITIVE_INFINITY,"")}catch(t){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class Sd{constructor(t){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(u.EVENT_CUE_ENTER,{})},this.hls=t,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.on(u.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(u.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.off(u.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(u.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(t,n){var s;this.media=n.media,((s=n.overrides)==null?void 0:s.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var t;const n=(t=this.hls)==null?void 0:t.latestLevelDetails;n&&this.updateDateRangeCues(n)}onMediaDetaching(t,n){this.media=null,!n.transferMedia&&(this.id3Track&&(this.removeCues&&Js(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(t){const n=this.getID3Track(t.textTracks);return n.mode="hidden",n}getID3Track(t){if(this.media){for(let n=0;ned&&(de=ed),de-se<=0&&(de=se+sd);for(let ke=0;kese.type===yn.audioId3&&Q:_==="video"?K=se=>se.type===yn.emsg&&j:K=se=>se.type===yn.audioId3&&Q||se.type===yn.emsg&&j,cu(w,n,s,K)}}onLevelUpdated(t,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(t,n){Math.abs(n.drift)>.01&&this.updateDateRangeCues(n.details)}updateDateRangeCues(t,n){if(!this.hls||!this.media)return;const{assetPlayerId:s,timelineOffset:_,enableDateRangeMetadataCues:w,interstitialsController:I}=this.hls.config;if(!w)return;const j=od();if(s&&_&&!I){const{fragmentStart:at,fragmentEnd:it}=t;let Xt=this.assetCue;Xt?(Xt.startTime=at,Xt.endTime=it):j&&(Xt=this.assetCue=ud(j,at,it,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),Xt&&(Xt.id=s,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(Xt),Xt.addEventListener("enter",this.onEventCueEnter)))}if(!t.hasProgramDateTime)return;const{id3Track:Q}=this,{dateRanges:K}=t,se=Object.keys(K);let de=this.dateRangeCuesAppended;if(Q&&n){var xe;if((xe=Q.cues)!=null&&xe.length){const at=Object.keys(de).filter(it=>!se.includes(it));for(let it=at.length;it--;){var ke;const Xt=at[it],ar=(ke=de[Xt])==null?void 0:ke.cues;delete de[Xt],ar&&Object.keys(ar).forEach(lr=>{const Ar=ar[lr];if(Ar){Ar.removeEventListener("enter",this.onEventCueEnter);try{Q.removeCue(Ar)}catch(zr){}}})}}else de=this.dateRangeCuesAppended={}}const Re=t.fragments[t.fragments.length-1];if(!(se.length===0||!r(Re==null?void 0:Re.programDateTime))){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let at=0;at{if(Si!==Xt.id){const qi=K[Si];if(qi.class===Xt.class&&qi.startDate>Xt.startDate&&(!kn||Xt.startDate.01&&(Si.startTime=ar,Si.endTime=vn);else if(j){let qi=Xt.attr[kn];jo(kn)&&(qi=G(qi));const Ji=ud(j,ar,vn,{key:kn,data:qi},yn.dateRange);Ji&&(Ji.id=it,this.id3Track.addCue(Ji),Ar[kn]=Ji,I&&(kn==="X-ASSET-LIST"||kn==="X-ASSET-URL")&&Ji.addEventListener("enter",this.onEventCueEnter))}}de[it]={cues:Ar,dateRange:Xt,durationKnown:zr}}}}}class Ad{constructor(t){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{const{media:n}=this,s=this.levelDetails;if(!n||!s)return;this.currentTime=n.currentTime;const _=this.computeLatency();if(_===null)return;this._latency=_;const{lowLatencyMode:w,maxLiveSyncPlaybackRate:I}=this.config;if(!w||I===1||!s.live)return;const j=this.targetLatency;if(j===null)return;const Q=_-j,K=Math.min(this.maxLatency,j+s.targetduration);if(Q.05&&this.forwardBufferLength>1){const de=Math.min(2,Math.max(1,I)),xe=Math.round(2/(1+Math.exp(-.75*Q-this.edgeStalled))*20)/20,ke=Math.min(de,Math.max(1,xe));this.changeMediaPlaybackRate(n,ke)}else n.playbackRate!==1&&n.playbackRate!==0&&this.changeMediaPlaybackRate(n,1)},this.hls=t,this.config=t.config,this.registerListeners()}get levelDetails(){var t;return((t=this.hls)==null?void 0:t.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:t}=this;if(t.liveMaxLatencyDuration!==void 0)return t.liveMaxLatencyDuration;const n=this.levelDetails;return n?t.liveMaxLatencyDurationCount*n.targetduration:0}get targetLatency(){const t=this.levelDetails;if(t===null||this.hls===null)return null;const{holdBack:n,partHoldBack:s,targetduration:_}=t,{liveSyncDuration:w,liveSyncDurationCount:I,lowLatencyMode:j}=this.config,Q=this.hls.userConfig;let K=j&&s||n;(this._targetLatencyUpdated||Q.liveSyncDuration||Q.liveSyncDurationCount||K===0)&&(K=w!==void 0?w:I*_);const se=_;return K+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,se)}set targetLatency(t){this.stallCount=0,this.config.liveSyncDuration=t,this._targetLatencyUpdated=!0}get liveSyncPosition(){const t=this.estimateLiveEdge(),n=this.targetLatency;if(t===null||n===null)return null;const s=this.levelDetails;if(s===null)return null;const _=s.edge,w=t-n-this.edgeStalled,I=_-s.totalduration,j=_-(this.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(I,w),j)}get drift(){const t=this.levelDetails;return t===null?1:t.drift}get edgeStalled(){const t=this.levelDetails;if(t===null)return 0;const n=(this.config.lowLatencyMode&&t.partTarget||t.targetduration)*3;return Math.max(t.age-n,0)}get forwardBufferLength(){const{media:t}=this,n=this.levelDetails;if(!t||!n)return 0;const s=t.buffered.length;return(s?t.buffered.end(s-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(u.ERROR,this.onError,this))}unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(u.ERROR,this.onError,this))}onMediaAttached(t,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(t,{details:n}){n.advanced&&this.onTimeupdate(),!n.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(t,n){var s;n.details===f.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(s=this.levelDetails)!=null&&s.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(t,n){var s,_;t.playbackRate!==n&&((s=this.hls)==null||s.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(_=this.targetLatency)==null?void 0:_.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${t.playbackRate} to ${n}`),t.playbackRate=n)}estimateLiveEdge(){const t=this.levelDetails;return t===null?null:t.edge+t.age}computeLatency(){const t=this.estimateLiveEdge();return t===null?null:t-this.currentTime}}class Cd extends pc{constructor(t,n){super(t,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){const{hls:t}=this;t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(u.LEVEL_LOADED,this.onLevelLoaded,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(u.FRAG_BUFFERED,this.onFragBuffered,this),t.on(u.ERROR,this.onError,this)}_unregisterListeners(){const{hls:t}=this;t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(u.LEVEL_LOADED,this.onLevelLoaded,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(u.FRAG_BUFFERED,this.onFragBuffered,this),t.off(u.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(n=>{n.loadError=0,n.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(t,n){this.resetLevels()}onManifestLoaded(t,n){const s=this.hls.config.preferManagedMediaSource,_=[],w={},I={};let j=!1,Q=!1,K=!1;n.levels.forEach(se=>{const de=se.attrs;let{audioCodec:xe,videoCodec:ke}=se;xe&&(se.audioCodec=xe=pt(xe,s)||void 0),ke&&(ke=se.videoCodec=er(ke));const{width:Re,height:at,unknownCodecs:it}=se,Xt=(it==null?void 0:it.length)||0;if(j||(j=!!(Re&&at)),Q||(Q=!!ke),K||(K=!!xe),Xt||xe&&!this.isAudioSupported(xe)||ke&&!this.isVideoSupported(ke)){this.log(`Some or all CODECS not supported "${de.CODECS}"`);return}const{CODECS:ar,"FRAME-RATE":lr,"HDCP-LEVEL":Ar,"PATHWAY-ID":zr,RESOLUTION:vn,"VIDEO-RANGE":Zr}=de,ln=`${`${zr||"."}-`}${se.bitrate}-${vn}-${lr}-${ar}-${Zr}-${Ar}`;if(w[ln])if(w[ln].uri!==se.url&&!se.attrs["PATHWAY-ID"]){const Qr=I[ln]+=1;se.attrs["PATHWAY-ID"]=new Array(Qr+1).join(".");const kn=this.createLevel(se);w[ln]=kn,_.push(kn)}else w[ln].addGroupId("audio",de.AUDIO),w[ln].addGroupId("text",de.SUBTITLES);else{const Qr=this.createLevel(se);w[ln]=Qr,I[ln]=1,_.push(Qr)}}),this.filterAndSortMediaOptions(_,n,j,Q,K)}createLevel(t){const n=new mi(t),s=t.supplemental;if(s!=null&&s.videoCodec&&!this.isVideoSupported(s.videoCodec)){const _=new Error(`SUPPLEMENTAL-CODECS not supported "${s.videoCodec}"`);this.log(_.message),n.supportedResult=Bt(_,[])}return n}isAudioSupported(t){return Ae(t,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(t){return Ae(t,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(t,n,s,_,w){var I;let j=[],Q=[],K=t;const se=((I=n.stats)==null?void 0:I.parsing)||{};if((s||_)&&w&&(K=K.filter(({videoCodec:ar,videoRange:lr,width:Ar,height:zr})=>(!!ar||!!(Ar&&zr))&&Bi(lr))),K.length===0){Promise.resolve().then(()=>{if(this.hls){let ar="no level with compatible codecs found in manifest",lr=ar;n.levels.length&&(lr=`one or more CODECS in variant not supported: ${zi(n.levels.map(zr=>zr.attrs.CODECS).filter((zr,vn,Zr)=>Zr.indexOf(zr)===vn))}`,this.warn(lr),ar+=` (${lr})`);const Ar=new Error(ar);this.hls.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:Ar,reason:lr})}}),se.end=performance.now();return}n.audioTracks&&(j=n.audioTracks.filter(ar=>!ar.audioCodec||this.isAudioSupported(ar.audioCodec)),hd(j)),n.subtitles&&(Q=n.subtitles,hd(Q));const de=K.slice(0);K.sort((ar,lr)=>{if(ar.attrs["HDCP-LEVEL"]!==lr.attrs["HDCP-LEVEL"])return(ar.attrs["HDCP-LEVEL"]||"")>(lr.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&ar.height!==lr.height)return ar.height-lr.height;if(ar.frameRate!==lr.frameRate)return ar.frameRate-lr.frameRate;if(ar.videoRange!==lr.videoRange)return ii.indexOf(ar.videoRange)-ii.indexOf(lr.videoRange);if(ar.videoCodec!==lr.videoCodec){const Ar=et(ar.videoCodec),zr=et(lr.videoCodec);if(Ar!==zr)return zr-Ar}if(ar.uri===lr.uri&&ar.codecSet!==lr.codecSet){const Ar=yt(ar.codecSet),zr=yt(lr.codecSet);if(Ar!==zr)return zr-Ar}return ar.averageBitrate!==lr.averageBitrate?ar.averageBitrate-lr.averageBitrate:0});let xe=de[0];if(this.steering&&(K=this.steering.filterParsedLevels(K),K.length!==de.length)){for(let ar=0;arAr&&Ar===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=zr)}break}const Re=w&&!_,at=this.hls.config,it=!!(at.audioStreamController&&at.audioTrackController),Xt={levels:K,audioTracks:j,subtitleTracks:Q,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:w,video:_,altAudio:it&&!Re&&j.some(ar=>!!ar.url)};se.end=performance.now(),this.hls.trigger(u.MANIFEST_PARSED,Xt)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(t){const n=this._levels;if(n.length===0)return;if(t<0||t>=n.length){const se=new Error("invalid level idx"),de=t<0;if(this.hls.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.LEVEL_SWITCH_ERROR,level:t,fatal:de,error:se,reason:se.message}),de)return;t=Math.min(t,n.length-1)}const s=this.currentLevelIndex,_=this.currentLevel,w=_?_.attrs["PATHWAY-ID"]:void 0,I=n[t],j=I.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=I,s===t&&_&&w===j)return;this.log(`Switching to level ${t} (${I.height?I.height+"p ":""}${I.videoRange?I.videoRange+" ":""}${I.codecSet?I.codecSet+" ":""}@${I.bitrate})${j?" with Pathway "+j:""} from level ${s}${w?" with Pathway "+w:""}`);const Q={level:t,attrs:I.attrs,details:I.details,bitrate:I.bitrate,averageBitrate:I.averageBitrate,maxBitrate:I.maxBitrate,realBitrate:I.realBitrate,width:I.width,height:I.height,codecSet:I.codecSet,audioCodec:I.audioCodec,videoCodec:I.videoCodec,audioGroups:I.audioGroups,subtitleGroups:I.subtitleGroups,loaded:I.loaded,loadError:I.loadError,fragmentError:I.fragmentError,name:I.name,id:I.id,uri:I.uri,url:I.url,urlId:0,audioGroupIds:I.audioGroupIds,textGroupIds:I.textGroupIds};this.hls.trigger(u.LEVEL_SWITCHING,Q);const K=I.details;if(!K||K.live){const se=this.switchParams(I.uri,_==null?void 0:_.details,K);this.loadPlaylist(se)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(t){this.manualLevelIndex=t,this._startLevel===void 0&&(this._startLevel=t),t!==-1&&(this.level=t)}get firstLevel(){return this._firstLevel}set firstLevel(t){this._firstLevel=t}get startLevel(){if(this._startLevel===void 0){const t=this.hls.config.startLevel;return t!==void 0?t:this.hls.firstAutoLevel}return this._startLevel}set startLevel(t){this._startLevel=t}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(t){if(this.steering){const n=this.steering.pathways(),s=t.filter(_=>n.indexOf(_)!==-1);if(t.length<1){this.warn(`pathwayPriority ${t} should contain at least one pathway from list: ${n}`);return}this.steering.pathwayPriority=s}}onError(t,n){n.fatal||!n.context||n.context.type===h.LEVEL&&n.context.level===this.level&&this.checkRetry(n)}onFragBuffered(t,{frag:n}){if(n!==void 0&&n.type===o.MAIN){const s=n.elementaryStreams;if(!Object.keys(s).some(w=>!!s[w]))return;const _=this._levels[n.level];_!=null&&_.loadError&&(this.log(`Resetting level error count of ${_.loadError} on frag buffered`),_.loadError=0)}}onLevelLoaded(t,n){var s;const{level:_,details:w}=n,I=n.levelInfo;if(!I){var j;this.warn(`Invalid level index ${_}`),(j=n.deliveryDirectives)!=null&&j.skip&&(w.deltaUpdateFailed=!0);return}if(I===this.currentLevel||n.withoutMultiVariant){I.fragmentError===0&&(I.loadError=0);let Q=I.details;Q===n.details&&Q.advanced&&(Q=void 0),this.playlistLoaded(_,n,Q)}else(s=n.deliveryDirectives)!=null&&s.skip&&(w.deltaUpdateFailed=!0)}loadPlaylist(t){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,t)}loadingPlaylist(t,n){super.loadingPlaylist(t,n);const s=this.getUrlWithDirectives(t.uri,n),_=this.currentLevelIndex,w=t.attrs["PATHWAY-ID"],I=t.details,j=I==null?void 0:I.age;this.log(`Loading level index ${_}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${w?" Pathway "+w:""}${j&&I.live?" age "+j.toFixed(1)+(I.type?" "+I.type||0:""):""} ${s}`),this.hls.trigger(u.LEVEL_LOADING,{url:s,level:_,levelInfo:t,pathwayId:t.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(t){this.level=t,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=t)}removeLevel(t){var n;if(this._levels.length===1)return;const s=this._levels.filter((w,I)=>I!==t?!0:(this.steering&&this.steering.removeLevel(w),w===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,w.details&&w.details.fragments.forEach(j=>j.level=-1)),!1));hs(s),this._levels=s,this.currentLevelIndex>-1&&(n=this.currentLevel)!=null&&n.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const _=s.length-1;this._firstLevel=Math.min(this._firstLevel,_),this._startLevel&&(this._startLevel=Math.min(this._startLevel,_)),this.hls.trigger(u.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(t,{levels:n}){this._levels=n}checkMaxAutoUpdated(){const{autoLevelCapping:t,maxAutoLevel:n,maxHdcpLevel:s}=this.hls;this._maxAutoLevel!==n&&(this._maxAutoLevel=n,this.hls.trigger(u.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s}))}}function hd(k){const t={};k.forEach(n=>{const s=n.groupId||"";n.id=t[s]=t[s]||0,t[s]++})}function pd(){return self.SourceBuffer||self.WebKitSourceBuffer}function md(){if(!oe())return!1;const t=pd();return!t||t.prototype&&typeof t.prototype.appendBuffer=="function"&&typeof t.prototype.remove=="function"}function Td(){if(!md())return!1;const k=oe();return typeof(k==null?void 0:k.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>k.isTypeSupported(je(t,"video")))||["mp4a.40.2","fLaC"].some(t=>k.isTypeSupported(je(t,"audio"))))}function Pd(){var k;const t=pd();return typeof(t==null||(k=t.prototype)==null?void 0:k.changeType)=="function"}const vd=100;class _d extends jt{constructor(t,n,s){super(t,n,s,"stream-controller",o.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{const _=this.media,w=_?_.currentTime:null;if(w===null||!r(w)||(this.log(`Media seeked to ${w.toFixed(3)}`),!this.getBufferedFrag(w)))return;const I=this.getFwdBufferInfoAtPos(_,w,o.MAIN,0);if(I===null||I.len===0){this.warn(`Main forward buffer length at ${w} on "seeked" event ${I?I.len:"empty"})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:t}=this;t.on(u.MANIFEST_PARSED,this.onManifestParsed,this),t.on(u.LEVEL_LOADING,this.onLevelLoading,this),t.on(u.LEVEL_LOADED,this.onLevelLoaded,this),t.on(u.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.on(u.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(u.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.on(u.BUFFER_CREATED,this.onBufferCreated,this),t.on(u.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(u.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:t}=this;t.off(u.MANIFEST_PARSED,this.onManifestParsed,this),t.off(u.LEVEL_LOADED,this.onLevelLoaded,this),t.off(u.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.off(u.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(u.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.off(u.BUFFER_CREATED,this.onBufferCreated,this),t.off(u.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(u.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(t,n){if(this.levels){const{lastCurrentTime:s,hls:_}=this;if(this.stopLoad(),this.setInterval(vd),this.level=-1,!this.startFragRequested){let w=_.startLevel;w===-1&&(_.config.testBandwidth&&this.levels.length>1?(w=0,this.bitrateTest=!0):w=_.firstAutoLevel),_.nextLoadLevel=w,this.level=_.loadLevel,this._hasEnoughToStart=!!n}s>0&&t===-1&&!n&&(this.log(`Override startPosition with lastCurrentTime @${s.toFixed(3)}`),t=s),this.state=Ie.IDLE,this.nextLoadPosition=this.lastCurrentTime=t+this.timelineOffset,this.startPosition=n?-1:t,this.tick()}else this._forceStartLoad=!0,this.state=Ie.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Ie.WAITING_LEVEL:{const{levels:t,level:n}=this,s=t==null?void 0:t[n],_=s==null?void 0:s.details;if(_&&(!_.live||this.levelLastLoaded===s&&!this.waitForLive(s))){if(this.waitForCdnTuneIn(_))break;this.state=Ie.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Ie.IDLE;break}break}case Ie.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}this.state===Ie.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var t;super.onTickEnd(),(t=this.media)!=null&&t.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:t,levelLastLoaded:n,levels:s,media:_}=this;if(n===null||!_&&!this.primaryPrefetch&&(this.startFragRequested||!t.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const w=this.buffering?t.nextLoadLevel:t.loadLevel;if(!(s!=null&&s[w]))return;const I=s[w],j=this.getMainFwdBufferInfo();if(j===null)return;const Q=this.getLevelDetails();if(Q&&this._streamEnded(j,Q)){const at={};this.altAudio===2&&(at.type="video"),this.hls.trigger(u.BUFFER_EOS,at),this.state=Ie.ENDED;return}if(!this.buffering)return;t.loadLevel!==w&&t.manualLevel===-1&&this.log(`Adapting to level ${w} from level ${this.level}`),this.level=t.nextLoadLevel=w;const K=I.details;if(!K||this.state===Ie.WAITING_LEVEL||this.waitForLive(I)){this.level=w,this.state=Ie.WAITING_LEVEL,this.startFragRequested=!1;return}const se=j.len,de=this.getMaxBufferLength(I.maxBitrate);if(se>=de)return;this.backtrackFragment&&this.backtrackFragment.start>j.end&&(this.backtrackFragment=null);const xe=this.backtrackFragment?this.backtrackFragment.start:j.end;let ke=this.getNextFragment(xe,K);if(this.couldBacktrack&&!this.fragPrevious&&ke&&we(ke)&&this.fragmentTracker.getState(ke)!==pn.OK){var Re;const it=((Re=this.backtrackFragment)!=null?Re:ke).sn-K.startSN,Xt=K.fragments[it-1];Xt&&ke.cc===Xt.cc&&(ke=Xt,this.fragmentTracker.removeFragment(Xt))}else this.backtrackFragment&&j.len&&(this.backtrackFragment=null);if(ke&&this.isLoopLoading(ke,xe)){if(!ke.gap){const it=this.audioOnly&&!this.altAudio?ne.AUDIO:ne.VIDEO,Xt=(it===ne.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;Xt&&this.afterBufferFlushed(Xt,it,o.MAIN)}ke=this.getNextFragmentLoopLoading(ke,K,j,o.MAIN,de)}ke&&(ke.initSegment&&!ke.initSegment.data&&!this.bitrateTest&&(ke=ke.initSegment),this.loadFragment(ke,I,xe))}loadFragment(t,n,s){const _=this.fragmentTracker.getState(t);_===pn.NOT_LOADED||_===pn.PARTIAL?we(t)?this.bitrateTest?(this.log(`Fragment ${t.sn} of level ${t.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(t,n)):super.loadFragment(t,n,s):this._loadInitSegment(t,n):this.clearTrackerIfNeeded(t)}getBufferedFrag(t){return this.fragmentTracker.getBufferedFrag(t,o.MAIN)}followingBufferedFrag(t){return t?this.getBufferedFrag(t.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:t,media:n}=this;if(n!=null&&n.readyState){let s;const _=this.getAppendedFrag(n.currentTime);_&&_.start>1&&this.flushMainBuffer(0,_.start-1);const w=this.getLevelDetails();if(w!=null&&w.live){const j=this.getMainFwdBufferInfo();if(!j||j.len=I-n.maxFragLookUpTolerance&&w<=j;if(_!==null&&s.duration>_&&(w<_||!Q)){const se=n.liveMaxLatencyDuration!==void 0?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*t.targetduration;if((!Q&&s.readyState<4||w{this.hls&&this.hls.trigger(u.AUDIO_TRACK_SWITCHED,n)}),s.trigger(u.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}s.trigger(u.AUDIO_TRACK_SWITCHED,n)}}onAudioTrackSwitched(t,n){const s=ut(n.url,this.hls);if(s){const _=this.videoBuffer;_&&this.mediaBuffer!==_&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=_)}this.altAudio=s?2:0,this.tick()}onBufferCreated(t,n){const s=n.tracks;let _,w,I=!1;for(const j in s){const Q=s[j];if(Q.id==="main"){if(w=j,_=Q,j==="video"){const K=s[j];K&&(this.videoBuffer=K.buffer)}}else I=!0}I&&_?(this.log(`Alternate track found, use ${w}.buffered to schedule main fragment loading`),this.mediaBuffer=_.buffer):this.mediaBuffer=this.media}onFragBuffered(t,n){const{frag:s,part:_}=n,w=s.type===o.MAIN;if(w){if(this.fragContextChanged(s)){this.warn(`Fragment ${s.sn}${_?" p: "+_.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Ie.PARSED&&(this.state=Ie.IDLE);return}const j=_?_.stats:s.stats;this.fragLastKbps=Math.round(8*j.total/(j.buffering.end-j.loading.first)),we(s)&&(this.fragPrevious=s),this.fragBufferedComplete(s,_)}const I=this.media;I&&(!this._hasEnoughToStart&&vi.getBuffered(I).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),w&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(t,n){var s;if(n.fatal){this.state=Ie.ERROR;return}switch(n.details){case f.FRAG_GAP:case f.FRAG_PARSING_ERROR:case f.FRAG_DECRYPT_ERROR:case f.FRAG_LOAD_ERROR:case f.FRAG_LOAD_TIMEOUT:case f.KEY_LOAD_ERROR:case f.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(o.MAIN,n);break;case f.LEVEL_LOAD_ERROR:case f.LEVEL_LOAD_TIMEOUT:case f.LEVEL_PARSING_ERROR:!n.levelRetry&&this.state===Ie.WAITING_LEVEL&&((s=n.context)==null?void 0:s.type)===h.LEVEL&&(this.state=Ie.IDLE);break;case f.BUFFER_ADD_CODEC_ERROR:case f.BUFFER_APPEND_ERROR:if(n.parent!=="main")return;this.reduceLengthAndFlushBuffer(n)&&this.resetLoadingState();break;case f.BUFFER_FULL_ERROR:if(n.parent!=="main")return;this.reduceLengthAndFlushBuffer(n)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case f.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onFragLoadEmergencyAborted(){this.state=Ie.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(t,{type:n}){if(n!==ne.AUDIO||!this.altAudio){const s=(n===ne.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;s&&(this.afterBufferFlushed(s,n,o.MAIN),this.tick())}}onLevelsUpdated(t,n){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:t}=this;if(!t)return;const n=t.currentTime;let s=this.startPosition;if(s>=0&&n0&&(Q{const{hls:_}=this,w=s==null?void 0:s.frag;if(!w||this.fragContextChanged(w))return;n.fragmentError=0,this.state=Ie.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const I=w.stats;I.parsing.start=I.parsing.end=I.buffering.start=I.buffering.end=self.performance.now(),_.trigger(u.FRAG_LOADED,s),w.bitrateTest=!1}).catch(s=>{this.state===Ie.STOPPED||this.state===Ie.ERROR||(this.warn(s),this.resetFragmentLoading(t))})}_handleTransmuxComplete(t){const n=this.playlistType,{hls:s}=this,{remuxResult:_,chunkMeta:w}=t,I=this.getCurrentContext(w);if(!I){this.resetWhenMissingContext(w);return}const{frag:j,part:Q,level:K}=I,{video:se,text:de,id3:xe,initSegment:ke}=_,{details:Re}=K,at=this.altAudio?void 0:_.audio;if(this.fragContextChanged(j)){this.fragmentTracker.removeFragment(j);return}if(this.state=Ie.PARSING,ke){const it=ke.tracks;if(it){const Ar=j.initSegment||j;if(this.unhandledEncryptionError(ke,j))return;this._bufferInitSegment(K,it,Ar,w),s.trigger(u.FRAG_PARSING_INIT_SEGMENT,{frag:Ar,id:n,tracks:it})}const Xt=ke.initPTS,ar=ke.timescale,lr=this.initPTS[j.cc];if(r(Xt)&&(!lr||lr.baseTime!==Xt||lr.timescale!==ar)){const Ar=ke.trackId;this.initPTS[j.cc]={baseTime:Xt,timescale:ar,trackId:Ar},s.trigger(u.INIT_PTS_FOUND,{frag:j,id:n,initPTS:Xt,timescale:ar,trackId:Ar})}}if(se&&Re){at&&se.type==="audiovideo"&&this.logMuxedErr(j);const it=Re.fragments[j.sn-1-Re.startSN],Xt=j.sn===Re.startSN,ar=!it||j.cc>it.cc;if(_.independent!==!1){const{startPTS:lr,endPTS:Ar,startDTS:zr,endDTS:vn}=se;if(Q)Q.elementaryStreams[se.type]={startPTS:lr,endPTS:Ar,startDTS:zr,endDTS:vn};else if(se.firstKeyFrame&&se.independent&&w.id===1&&!ar&&(this.couldBacktrack=!0),se.dropped&&se.independent){const Zr=this.getMainFwdBufferInfo(),fn=(Zr?Zr.end:this.getLoadPosition())+this.config.maxBufferHole,ln=se.firstKeyFramePTS?se.firstKeyFramePTS:lr;if(!Xt&&fnDn&&(j.gap=!0);j.setElementaryStreamInfo(se.type,lr,Ar,zr,vn),this.backtrackFragment&&(this.backtrackFragment=j),this.bufferFragmentData(se,j,Q,w,Xt||ar)}else if(Xt||ar)j.gap=!0;else{this.backtrack(j);return}}if(at){const{startPTS:it,endPTS:Xt,startDTS:ar,endDTS:lr}=at;Q&&(Q.elementaryStreams[ne.AUDIO]={startPTS:it,endPTS:Xt,startDTS:ar,endDTS:lr}),j.setElementaryStreamInfo(ne.AUDIO,it,Xt,ar,lr),this.bufferFragmentData(at,j,Q,w)}if(Re&&xe!=null&&xe.samples.length){const it={id:n,frag:j,details:Re,samples:xe.samples};s.trigger(u.FRAG_PARSING_METADATA,it)}if(Re&&de){const it={id:n,frag:j,details:Re,samples:de.samples};s.trigger(u.FRAG_PARSING_USERDATA,it)}}logMuxedErr(t){this.warn(`${we(t)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${t.url}`)}_bufferInitSegment(t,n,s,_){if(this.state!==Ie.PARSING)return;this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly&&(delete n.audio,n.audiovideo&&this.logMuxedErr(s));const{audio:w,video:I,audiovideo:j}=n;if(w){const K=t.audioCodec;let se=un(w.codec,K);se==="mp4a"&&(se="mp4a.40.5");const de=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){se&&(se.indexOf("mp4a.40.5")!==-1?se="mp4a.40.2":se="mp4a.40.5");const xe=w.metadata;xe&&"channelCount"in xe&&(xe.channelCount||1)!==1&&de.indexOf("firefox")===-1&&(se="mp4a.40.5")}se&&se.indexOf("mp4a.40.5")!==-1&&de.indexOf("android")!==-1&&w.container!=="audio/mpeg"&&(se="mp4a.40.2",this.log(`Android: force audio codec to ${se}`)),K&&K!==se&&this.log(`Swapping manifest audio codec "${K}" for "${se}"`),w.levelCodec=se,w.id=o.MAIN,this.log(`Init audio buffer, container:${w.container}, codecs[selected/level/parsed]=[${se||""}/${K||""}/${w.codec}]`),delete n.audiovideo}if(I){I.levelCodec=t.videoCodec,I.id=o.MAIN;const K=I.codec;if((K==null?void 0:K.length)===4)switch(K){case"hvc1":case"hev1":I.codec="hvc1.1.6.L120.90";break;case"av01":I.codec="av01.0.04M.08";break;case"avc1":I.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${I.container}, codecs[level/parsed]=[${t.videoCodec||""}/${K}]${I.codec!==K?" parsed-corrected="+I.codec:""}${I.supplemental?" supplemental="+I.supplemental:""}`),delete n.audiovideo}j&&(this.log(`Init audiovideo buffer, container:${j.container}, codecs[level/parsed]=[${t.codecs}/${j.codec}]`),delete n.video,delete n.audio);const Q=Object.keys(n);if(Q.length){if(this.hls.trigger(u.BUFFER_CODECS,n),!this.hls)return;Q.forEach(K=>{const de=n[K].initSegment;de!=null&&de.byteLength&&this.hls.trigger(u.BUFFER_APPENDING,{type:K,data:de,frag:s,part:null,chunkMeta:_,parent:s.type})})}this.tickImmediate()}getMainFwdBufferInfo(){const t=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(t,o.MAIN)}get maxBufferLength(){const{levels:t,level:n}=this,s=t==null?void 0:t[n];return s?this.getMaxBufferLength(s.maxBitrate):this.config.maxBufferLength}backtrack(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=Ie.IDLE}checkFragmentChanged(){const t=this.media;let n=null;if(t&&t.readyState>1&&t.seeking===!1){const s=t.currentTime;if(vi.isBuffered(t,s)?n=this.getAppendedFrag(s):vi.isBuffered(t,s+.1)&&(n=this.getAppendedFrag(s+.1)),n){this.backtrackFragment=null;const _=this.fragPlaying,w=n.level;(!_||n.sn!==_.sn||_.level!==w)&&(this.fragPlaying=n,this.hls.trigger(u.FRAG_CHANGED,{frag:n}),(!_||_.level!==w)&&this.hls.trigger(u.LEVEL_SWITCHED,{level:w}))}}}get nextLevel(){const t=this.nextBufferedFrag;return t?t.level:-1}get currentFrag(){var t;if(this.fragPlaying)return this.fragPlaying;const n=((t=this.media)==null?void 0:t.currentTime)||this.lastCurrentTime;return r(n)?this.getAppendedFrag(n):null}get currentProgramDateTime(){var t;const n=((t=this.media)==null?void 0:t.currentTime)||this.lastCurrentTime;if(r(n)){const s=this.getLevelDetails(),_=this.currentFrag||(s?hr(null,s.fragments,n):null);if(_){const w=_.programDateTime;if(w!==null){const I=w+(n-_.start)*1e3;return new Date(I)}}}return null}get currentLevel(){const t=this.currentFrag;return t?t.level:-1}get nextBufferedFrag(){const t=this.currentFrag;return t?this.followingBufferedFrag(t):null}get forceStartLoad(){return this._forceStartLoad}}class Id extends R{constructor(t,n){super("key-loader",n),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=t}abort(t){for(const s in this.keyIdToKeyInfo){const _=this.keyIdToKeyInfo[s].loader;if(_){var n;if(t&&t!==((n=_.context)==null?void 0:n.frag.type))return;_.abort()}}}detach(){for(const t in this.keyIdToKeyInfo){const n=this.keyIdToKeyInfo[t];(n.mediaKeySessionContext||n.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[t]}}destroy(){this.detach();for(const t in this.keyIdToKeyInfo){const n=this.keyIdToKeyInfo[t].loader;n&&n.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(t,n=f.KEY_LOAD_ERROR,s,_,w){return new ra({type:c.NETWORK_ERROR,details:n,fatal:!1,frag:t,response:w,error:s,networkDetails:_})}loadClear(t,n,s){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(n.length)for(let _=0,w=n.length;_{if(!this.emeController)return;I.setKeyFormat(j);const Q=Ko(j);if(Q)return this.emeController.getKeySystemAccess([Q])})}if(this.config.requireKeySystemAccessOnStart){const _=nu(this.config);if(_.length)return this.emeController.getKeySystemAccess(_)}}return null}load(t){return!t.decryptdata&&t.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(t).then(n=>this.loadInternal(t,n)):this.loadInternal(t)}loadInternal(t,n){var s,_;n&&t.setKeyFormat(n);const w=t.decryptdata;if(!w){const K=new Error(n?`Expected frag.decryptdata to be defined after setting format ${n}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,K))}const I=w.uri;if(!I)return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${I}"`)));const j=ld(w);let Q=this.keyIdToKeyInfo[j];if((s=Q)!=null&&s.decryptdata.key)return w.key=Q.decryptdata.key,Promise.resolve({frag:t,keyInfo:Q});if(this.emeController&&(_=Q)!=null&&_.keyLoadPromise)switch(this.emeController.getKeyStatus(Q.decryptdata)){case"usable":case"usable-in-future":return Q.keyLoadPromise.then(se=>{const{keyInfo:de}=se;return w.key=de.decryptdata.key,{frag:t,keyInfo:de}})}switch(this.log(`${this.keyIdToKeyInfo[j]?"Rel":"L"}oading${w.keyId?" keyId: "+Y(w.keyId):""} URI: ${w.uri} from ${t.type} ${t.level}`),Q=this.keyIdToKeyInfo[j]={decryptdata:w,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},w.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return w.keyFormat==="identity"?this.loadKeyHTTP(Q,t):this.loadKeyEME(Q,t);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(Q,t);default:return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${w.method}"`)))}}loadKeyEME(t,n){const s={frag:n,keyInfo:t};if(this.emeController&&this.config.emeEnabled){var _;if(!t.decryptdata.keyId&&(_=n.initSegment)!=null&&_.data){const I=At(n.initSegment.data);if(I.length){let j=I[0];j.some(Q=>Q!==0)?(this.log(`Using keyId found in init segment ${Y(j)}`),Ao.setKeyIdForUri(t.decryptdata.uri,j)):(j=Ao.addKeyIdForUri(t.decryptdata.uri),this.log(`Generating keyId to patch media ${Y(j)}`)),t.decryptdata.keyId=j}}if(!t.decryptdata.keyId&&!we(n))return Promise.resolve(s);const w=this.emeController.loadKey(s);return(t.keyLoadPromise=w.then(I=>(t.mediaKeySessionContext=I,s))).catch(I=>{throw t.keyLoadPromise=null,"data"in I&&(I.data.frag=n),I})}return Promise.resolve(s)}loadKeyHTTP(t,n){const s=this.config,_=s.loader,w=new _(s);return n.keyLoader=t.loader=w,t.keyLoadPromise=new Promise((I,j)=>{const Q={keyInfo:t,frag:n,responseType:"arraybuffer",url:t.decryptdata.uri},K=s.keyLoadPolicy.default,se={loadPolicy:K,timeout:K.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},de={onSuccess:(xe,ke,Re,at)=>{const{frag:it,keyInfo:Xt}=Re,ar=ld(Xt.decryptdata);if(!it.decryptdata||Xt!==this.keyIdToKeyInfo[ar])return j(this.createKeyLoadError(it,f.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),at));Xt.decryptdata.key=it.decryptdata.key=new Uint8Array(xe.data),it.keyLoader=null,Xt.loader=null,I({frag:it,keyInfo:Xt})},onError:(xe,ke,Re,at)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.KEY_LOAD_ERROR,new Error(`HTTP Error ${xe.code} loading key ${xe.text}`),Re,b({url:Q.url,data:void 0},xe)))},onTimeout:(xe,ke,Re)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),Re))},onAbort:(xe,ke,Re)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.INTERNAL_ABORTED,new Error("key loading aborted"),Re))}};w.load(Q,se,de)})}resetLoader(t){const{frag:n,keyInfo:s,url:_}=t,w=s.loader;n.keyLoader===w&&(n.keyLoader=null,s.loader=null);const I=ld(s.decryptdata)||_;delete this.keyIdToKeyInfo[I],w&&w.destroy()}}function ld(k){if(k.keyFormat!==_s.FAIRPLAY){const t=k.keyId;if(t)return Y(t)}return k.uri}function gd(k){const{type:t}=k;switch(t){case h.AUDIO_TRACK:return o.AUDIO;case h.SUBTITLE_TRACK:return o.SUBTITLE;default:return o.MAIN}}function cd(k,t){let n=k.url;return(n===void 0||n.indexOf("data:")===0)&&(n=t.url),n}class td{constructor(t){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=t,this.registerListeners()}startLoad(t){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:t}=this;t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.LEVEL_LOADING,this.onLevelLoading,this),t.on(u.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.on(u.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:t}=this;t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.LEVEL_LOADING,this.onLevelLoading,this),t.off(u.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.off(u.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(t){const n=this.hls.config,s=n.pLoader,_=n.loader,w=s||_,I=new w(n);return this.loaders[t.type]=I,I}getInternalLoader(t){return this.loaders[t.type]}resetInternalLoader(t){this.loaders[t]&&delete this.loaders[t]}destroyInternalLoaders(){for(const t in this.loaders){const n=this.loaders[t];n&&n.destroy(),this.resetInternalLoader(t)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(t,n){const{url:s}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:h.MANIFEST,url:s,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(t,n){const{id:s,level:_,pathwayId:w,url:I,deliveryDirectives:j,levelInfo:Q}=n;this.load({id:s,level:_,pathwayId:w,responseType:"text",type:h.LEVEL,url:I,deliveryDirectives:j,levelOrTrack:Q})}onAudioTrackLoading(t,n){const{id:s,groupId:_,url:w,deliveryDirectives:I,track:j}=n;this.load({id:s,groupId:_,level:null,responseType:"text",type:h.AUDIO_TRACK,url:w,deliveryDirectives:I,levelOrTrack:j})}onSubtitleTrackLoading(t,n){const{id:s,groupId:_,url:w,deliveryDirectives:I,track:j}=n;this.load({id:s,groupId:_,level:null,responseType:"text",type:h.SUBTITLE_TRACK,url:w,deliveryDirectives:I,levelOrTrack:j})}onLevelsUpdated(t,n){const s=this.loaders[h.LEVEL];if(s){const _=s.context;_&&!n.levels.some(w=>w===_.levelOrTrack)&&(s.abort(),delete this.loaders[h.LEVEL])}}load(t){var n;const s=this.hls.config;let _=this.getInternalLoader(t);if(_){const K=this.hls.logger,se=_.context;if(se&&se.levelOrTrack===t.levelOrTrack&&(se.url===t.url||se.deliveryDirectives&&!t.deliveryDirectives)){se.url===t.url?K.log(`[playlist-loader]: ignore ${t.url} ongoing request`):K.log(`[playlist-loader]: ignore ${t.url} in favor of ${se.url}`);return}K.log(`[playlist-loader]: aborting previous loader for type: ${t.type}`),_.abort()}let w;if(t.type===h.MANIFEST?w=s.manifestLoadPolicy.default:w=v({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),_=this.createInternalLoader(t),r((n=t.deliveryDirectives)==null?void 0:n.part)){let K;if(t.type===h.LEVEL&&t.level!==null?K=this.hls.levels[t.level].details:t.type===h.AUDIO_TRACK&&t.id!==null?K=this.hls.audioTracks[t.id].details:t.type===h.SUBTITLE_TRACK&&t.id!==null&&(K=this.hls.subtitleTracks[t.id].details),K){const se=K.partTarget,de=K.targetduration;if(se&&de){const xe=Math.max(se*3,de*.8)*1e3;w=v({},w,{maxTimeToFirstByteMs:Math.min(xe,w.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(xe,w.maxTimeToFirstByteMs)})}}}const I=w.errorRetry||w.timeoutRetry||{},j={loadPolicy:w,timeout:w.maxLoadTimeMs,maxRetry:I.maxNumRetry||0,retryDelay:I.retryDelayMs||0,maxRetryDelay:I.maxRetryDelayMs||0},Q={onSuccess:(K,se,de,xe)=>{const ke=this.getInternalLoader(de);this.resetInternalLoader(de.type);const Re=K.data;se.parsing.start=performance.now(),su.isMediaPlaylist(Re)||de.type!==h.MANIFEST?this.handleTrackOrLevelPlaylist(K,se,de,xe||null,ke):this.handleMasterPlaylist(K,se,de,xe)},onError:(K,se,de,xe)=>{this.handleNetworkError(se,de,!1,K,xe)},onTimeout:(K,se,de)=>{this.handleNetworkError(se,de,!0,void 0,K)}};_.load(t,j,Q)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:t,startPosition:n},forceStartLoad:s}=this.hls;(t||s)&&(this.hls.logger.log(`${t?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n))}handleMasterPlaylist(t,n,s,_){const w=this.hls,I=t.data,j=cd(t,s),Q=su.parseMasterPlaylist(I,j);if(Q.playlistParsingError){n.parsing.end=performance.now(),this.handleManifestParsingError(t,s,Q.playlistParsingError,_,n);return}const{contentSteering:K,levels:se,sessionData:de,sessionKeys:xe,startTimeOffset:ke,variableList:Re}=Q;this.variableList=Re,se.forEach(ar=>{const{unknownCodecs:lr}=ar;if(lr){const{preferManagedMediaSource:Ar}=this.hls.config;let{audioCodec:zr,videoCodec:vn}=ar;for(let Zr=lr.length;Zr--;){const fn=lr[Zr];Ae(fn,"audio",Ar)?(ar.audioCodec=zr=zr?`${zr},${fn}`:fn,Gt.audio[zr.substring(0,4)]=2,lr.splice(Zr,1)):Ae(fn,"video",Ar)&&(ar.videoCodec=vn=vn?`${vn},${fn}`:fn,Gt.video[vn.substring(0,4)]=2,lr.splice(Zr,1))}}});const{AUDIO:at=[],SUBTITLES:it,"CLOSED-CAPTIONS":Xt}=su.parseMasterPlaylistMedia(I,j,Q);at.length&&!at.some(lr=>!lr.url)&&se[0].audioCodec&&!se[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),at.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Wi({}),bitrate:0,url:""})),w.trigger(u.MANIFEST_LOADED,{levels:se,audioTracks:at,subtitles:it,captions:Xt,contentSteering:K,url:j,stats:n,networkDetails:_,sessionData:de,sessionKeys:xe,startTimeOffset:ke,variableList:Re})}handleTrackOrLevelPlaylist(t,n,s,_,w){const I=this.hls,{id:j,level:Q,type:K}=s,se=cd(t,s),de=r(Q)?Q:r(j)?j:0,xe=gd(s),ke=su.parseLevelPlaylist(t.data,se,de,xe,0,this.variableList);if(K===h.MANIFEST){const Re={attrs:new Wi({}),bitrate:0,details:ke,name:"",url:se};ke.requestScheduled=n.loading.start+Pi(ke,0),I.trigger(u.MANIFEST_LOADED,{levels:[Re],audioTracks:[],url:se,stats:n,networkDetails:_,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}n.parsing.end=performance.now(),s.levelDetails=ke,this.handlePlaylistLoaded(ke,t,n,s,_,w)}handleManifestParsingError(t,n,s,_,w){this.hls.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.MANIFEST_PARSING_ERROR,fatal:n.type===h.MANIFEST,url:t.url,err:s,error:s,reason:s.message,response:t,context:n,networkDetails:_,stats:w})}handleNetworkError(t,n,s=!1,_,w){let I=`A network ${s?"timeout":"error"+(_?" (status "+_.code+")":"")} occurred while loading ${t.type}`;t.type===h.LEVEL?I+=`: ${t.level} id: ${t.id}`:(t.type===h.AUDIO_TRACK||t.type===h.SUBTITLE_TRACK)&&(I+=` id: ${t.id} group-id: "${t.groupId}"`);const j=new Error(I);this.hls.logger.warn(`[playlist-loader]: ${I}`);let Q=f.UNKNOWN,K=!1;const se=this.getInternalLoader(t);switch(t.type){case h.MANIFEST:Q=s?f.MANIFEST_LOAD_TIMEOUT:f.MANIFEST_LOAD_ERROR,K=!0;break;case h.LEVEL:Q=s?f.LEVEL_LOAD_TIMEOUT:f.LEVEL_LOAD_ERROR,K=!1;break;case h.AUDIO_TRACK:Q=s?f.AUDIO_TRACK_LOAD_TIMEOUT:f.AUDIO_TRACK_LOAD_ERROR,K=!1;break;case h.SUBTITLE_TRACK:Q=s?f.SUBTITLE_TRACK_LOAD_TIMEOUT:f.SUBTITLE_LOAD_ERROR,K=!1;break}se&&this.resetInternalLoader(t.type);const de={type:c.NETWORK_ERROR,details:Q,fatal:K,url:t.url,loader:se,context:t,error:j,networkDetails:n,stats:w};if(_){const xe=(n==null?void 0:n.url)||t.url;de.response=b({url:xe,data:void 0},_)}this.hls.trigger(u.ERROR,de)}handlePlaylistLoaded(t,n,s,_,w,I){const j=this.hls,{type:Q,level:K,levelOrTrack:se,id:de,groupId:xe,deliveryDirectives:ke}=_,Re=cd(n,_),at=gd(_);let it=typeof _.level=="number"&&at===o.MAIN?K:void 0;const Xt=t.playlistParsingError;if(Xt){if(this.hls.logger.warn(`${Xt} ${t.url}`),!j.config.ignorePlaylistParsingErrors){j.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.LEVEL_PARSING_ERROR,fatal:!1,url:Re,error:Xt,reason:Xt.message,response:n,context:_,level:it,parent:at,networkDetails:w,stats:s});return}t.playlistParsingError=null}if(!t.fragments.length){const ar=t.playlistParsingError=new Error("No Segments found in Playlist");j.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.LEVEL_EMPTY_ERROR,fatal:!1,url:Re,error:ar,reason:ar.message,response:n,context:_,level:it,parent:at,networkDetails:w,stats:s});return}switch(t.live&&I&&(I.getCacheAge&&(t.ageHeader=I.getCacheAge()||0),(!I.getCacheAge||isNaN(t.ageHeader))&&(t.ageHeader=0)),Q){case h.MANIFEST:case h.LEVEL:if(it){if(!se)it=0;else if(se!==j.levels[it]){const ar=j.levels.indexOf(se);ar>-1&&(it=ar)}}j.trigger(u.LEVEL_LOADED,{details:t,levelInfo:se||j.levels[0],level:it||0,id:de||0,stats:s,networkDetails:w,deliveryDirectives:ke,withoutMultiVariant:Q===h.MANIFEST});break;case h.AUDIO_TRACK:j.trigger(u.AUDIO_TRACK_LOADED,{details:t,track:se,id:de||0,groupId:xe||"",stats:s,networkDetails:w,deliveryDirectives:ke});break;case h.SUBTITLE_TRACK:j.trigger(u.SUBTITLE_TRACK_LOADED,{details:t,track:se,id:de||0,groupId:xe||"",stats:s,networkDetails:w,deliveryDirectives:ke});break}}}class Pf{static get version(){return si}static isMSESupported(){return md()}static isSupported(){return Td()}static getMediaSource(){return oe()}static get Events(){return u}static get MetadataSchema(){return yn}static get ErrorTypes(){return c}static get ErrorDetails(){return f}static get DefaultConfig(){return Pf.defaultConfig?Pf.defaultConfig:za}static set DefaultConfig(t){Pf.defaultConfig=t}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new ri,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const n=this.logger=V(t.debug||!1,"Hls instance",t.assetPlayerId),s=this.config=sn(Pf.DefaultConfig,t,n);this.userConfig=t,s.progressive&&an(s,n);const{abrController:_,bufferController:w,capLevelController:I,errorController:j,fpsController:Q}=s,K=new j(this),se=this.abrController=new _(this),de=new Ci(this),xe=s.interstitialsController,ke=xe?this.interstitialsController=new xe(this,Pf):null,Re=this.bufferController=new w(this,de),at=this.capLevelController=new I(this),it=new Q(this),Xt=new td(this),ar=s.contentSteeringController,lr=ar?new ar(this):null,Ar=this.levelController=new Cd(this,lr),zr=new Sd(this),vn=new Id(this.config,this.logger),Zr=this.streamController=new _d(this,de,vn),fn=this.gapController=new Qa(this,de);at.setStreamController(Zr),it.setStreamController(Zr);const ln=[Xt,Ar,Zr];ke&&ln.splice(1,0,ke),lr&&ln.splice(1,0,lr),this.networkControllers=ln;const Qr=[se,Re,fn,at,it,zr,de];this.audioTrackController=this.createController(s.audioTrackController,ln);const kn=s.audioStreamController;kn&&ln.push(this.audioStreamController=new kn(this,de,vn)),this.subtitleTrackController=this.createController(s.subtitleTrackController,ln);const Si=s.subtitleStreamController;Si&&ln.push(this.subtititleStreamController=new Si(this,de,vn)),this.createController(s.timelineController,Qr),vn.emeController=this.emeController=this.createController(s.emeController,Qr),this.cmcdController=this.createController(s.cmcdController,Qr),this.latencyController=this.createController(Ad,Qr),this.coreComponents=Qr,ln.push(K);const qi=K.onErrorOut;typeof qi=="function"&&this.on(u.ERROR,qi,K),this.on(u.MANIFEST_LOADED,Xt.onManifestLoaded,Xt)}createController(t,n){if(t){const s=new t(this);return n&&n.push(s),s}return null}on(t,n,s=this){this._emitter.on(t,n,s)}once(t,n,s=this){this._emitter.once(t,n,s)}removeAllListeners(t){this._emitter.removeAllListeners(t)}off(t,n,s=this,_){this._emitter.off(t,n,s,_)}listeners(t){return this._emitter.listeners(t)}emit(t,n,s){return this._emitter.emit(t,n,s)}trigger(t,n){if(this.config.debug)return this.emit(t,t,n);try{return this.emit(t,t,n)}catch(s){if(this.logger.error("An internal error happened while handling event "+t+'. Error message: "'+s.message+'". Here is a stacktrace:',s),!this.triggeringException){this.triggeringException=!0;const _=t===u.ERROR;this.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.INTERNAL_EXCEPTION,fatal:_,event:t,error:s}),this.triggeringException=!1}}return!1}listenerCount(t){return this._emitter.listenerCount(t)}destroy(){this.logger.log("destroy"),this.trigger(u.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(n=>n.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(n=>n.destroy()),this.coreComponents.length=0;const t=this.config;t.xhrSetup=t.fetchSetup=void 0,this.userConfig=null}attachMedia(t){if(!t||"media"in t&&!t.media){const w=new Error(`attachMedia failed: invalid argument (${t})`);this.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.ATTACH_MEDIA_ERROR,fatal:!0,error:w});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const n="media"in t,s=n?t.media:t,_=n?t:{media:s};this._media=s,this.trigger(u.MEDIA_ATTACHING,_)}detachMedia(){this.logger.log("detachMedia"),this.trigger(u.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const t=this.bufferController.transferMedia();return this.trigger(u.MEDIA_DETACHING,{transferMedia:t}),t}loadSource(t){this.stopLoad();const n=this.media,s=this._url,_=this._url=W.buildAbsoluteURL(self.location.href,t,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${_}`),n&&s&&(s!==_||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(n)),this.trigger(u.MANIFEST_LOADING,{url:t})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(t=-1,n){this.logger.log(`startLoad(${t+(n?", ":"")})`),this.started=!0,this.resumeBuffering();for(let s=0;s{t.resumeBuffering&&t.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(t=>{t.pauseBuffering&&t.pauseBuffering()}))}get inFlightFragments(){const t={[o.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(t[o.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(t[o.SUBTITLE]=this.subtititleStreamController.inFlightFrag),t}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const t=this._media,n=t==null?void 0:t.currentTime;this.detachMedia(),t&&(this.attachMedia(t),n&&this.startLoad(n))}removeLevel(t){this.levelController.removeLevel(t)}get sessionId(){let t=this._sessionId;return t||(t=this._sessionId=Jc()),t}get levels(){const t=this.levelController.levels;return t||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(t){this.logger.log(`set currentLevel:${t}`),this.levelController.manualLevel=t,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(t){this.logger.log(`set nextLevel:${t}`),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(t){this.logger.log(`set loadLevel:${t}`),this.levelController.manualLevel=t}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(t){this.levelController.nextLoadLevel=t}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(t){this.logger.log(`set firstLevel:${t}`),this.levelController.firstLevel=t}get startLevel(){const t=this.levelController.startLevel;return t===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:t}set startLevel(t){this.logger.log(`set startLevel:${t}`),t!==-1&&(t=Math.max(t,this.minAutoLevel)),this.levelController.startLevel=t}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(t){const n=!!t;n!==this.config.capLevelToPlayerSize&&(n?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=n)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimate():NaN}set bandwidthEstimate(t){this.abrController.resetEstimator(t)}get abrEwmaDefaultEstimate(){const{bwEstimator:t}=this.abrController;return t?t.defaultEstimate:NaN}get ttfbEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimateTTFB():NaN}set autoLevelCapping(t){this._autoLevelCapping!==t&&(this.logger.log(`set autoLevelCapping:${t}`),this._autoLevelCapping=t,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(t){Yr(t)&&this._maxHdcpLevel!==t&&(this._maxHdcpLevel=t,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:t,config:{minAutoBitrate:n}}=this;if(!t)return 0;const s=t.length;for(let _=0;_=n)return _;return 0}get maxAutoLevel(){const{levels:t,autoLevelCapping:n,maxHdcpLevel:s}=this;let _;if(n===-1&&t!=null&&t.length?_=t.length-1:_=n,s)for(let w=_;w--;){const I=t[w].attrs["HDCP-LEVEL"];if(I&&I<=s)return w}return _}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(t){this.abrController.nextAutoLevel=t}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(t){var n;return((n=this.audioTrackController)==null?void 0:n.setAudioOption(t))||null}setSubtitleOption(t){var n;return((n=this.subtitleTrackController)==null?void 0:n.setSubtitleOption(t))||null}get allAudioTracks(){const t=this.audioTrackController;return t?t.allAudioTracks:[]}get audioTracks(){const t=this.audioTrackController;return t?t.audioTracks:[]}get audioTrack(){const t=this.audioTrackController;return t?t.audioTrack:-1}set audioTrack(t){const n=this.audioTrackController;n&&(n.audioTrack=t)}get allSubtitleTracks(){const t=this.subtitleTrackController;return t?t.allSubtitleTracks:[]}get subtitleTracks(){const t=this.subtitleTrackController;return t?t.subtitleTracks:[]}get subtitleTrack(){const t=this.subtitleTrackController;return t?t.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(t){const n=this.subtitleTrackController;n&&(n.subtitleTrack=t)}get subtitleDisplay(){const t=this.subtitleTrackController;return t?t.subtitleDisplay:!1}set subtitleDisplay(t){const n=this.subtitleTrackController;n&&(n.subtitleDisplay=t)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(t){this.config.lowLatencyMode=t}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(t){this.latencyController.targetLatency=t}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(t){this.levelController.pathwayPriority=t}get bufferedToEnd(){var t;return!!((t=this.bufferController)!=null&&t.bufferedToEnd)}get interstitialsManager(){var t;return((t=this.interstitialsController)==null?void 0:t.interstitialsManager)||null}getMediaDecodingInfo(t,n=this.allAudioTracks){const s=Ia(n);return br(t,s,navigator.mediaCapabilities)}}Pf.defaultConfig=void 0},53280:function(d,g,e){"use strict";e.d(g,{D:function(){return i}});function r(l,c,f){var u=f||{},h=u.noTrailing,o=h===void 0?!1:h,a=u.noLeading,x=a===void 0?!1:a,p=u.debounceMode,v=p===void 0?void 0:p,m,b=!1,A=0;function D(){m&&clearTimeout(m)}function R(T){var M=T||{},F=M.upcomingOnly,N=F===void 0?!1:F;D(),b=!N}function S(){for(var T=arguments.length,M=new Array(T),F=0;Fl?x?(A=Date.now(),o||(m=setTimeout(v?$:V,l))):V():o!==!0&&(m=setTimeout(v?$:V,v===void 0?l-H:l))}return S.cancel=R,S}function i(l,c,f){var u=f||{},h=u.atBegin,o=h===void 0?!1:h;return r(l,c,{debounceMode:o!==!1})}}},__webpack_module_cache__={};function __webpack_require__(d){var g=__webpack_module_cache__[d];if(g!==void 0)return g.exports;var e=__webpack_module_cache__[d]={id:d,loaded:!1,exports:{}};return __webpack_modules__[d].call(e.exports,e,e.exports,__webpack_require__),e.loaded=!0,e.exports}__webpack_require__.m=__webpack_modules__,function(){__webpack_require__.amdO={}}(),function(){__webpack_require__.n=function(d){var g=d&&d.__esModule?function(){return d.default}:function(){return d};return __webpack_require__.d(g,{a:g}),g}}(),function(){var d=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},g;__webpack_require__.t=function(e,r){if(r&1&&(e=this(e)),r&8||typeof e=="object"&&e&&(r&4&&e.__esModule||r&16&&typeof e.then=="function"))return e;var i=Object.create(null);__webpack_require__.r(i);var l={};g=g||[null,d({}),d([]),d(d)];for(var c=r&2&&e;typeof c=="object"&&!~g.indexOf(c);c=d(c))Object.getOwnPropertyNames(c).forEach(function(f){l[f]=function(){return e[f]}});return l.default=function(){return e},__webpack_require__.d(i,l),i}}(),function(){__webpack_require__.d=function(d,g){for(var e in g)__webpack_require__.o(g,e)&&!__webpack_require__.o(d,e)&&Object.defineProperty(d,e,{enumerable:!0,get:g[e]})}}(),function(){__webpack_require__.f={},__webpack_require__.e=function(d){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(g,e){return __webpack_require__.f[e](d,g),g},[]))}}(),function(){__webpack_require__.u=function(d){return""+({292:"p__Classrooms__Lists__Exercise__Add__index",556:"p__User__Detail__Order__pages__invoice__index",1343:"p__User__Detail__ResourceAllocation__index",1477:"p__Classrooms__ThemeChange__Assistant",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1660:"p__User__QQLogin__index",1727:"p__OnlineMessageCenter__MessageCenterManage__index",2141:"p__Shixuns__Detail__Split__index",2641:"p__Property__Procurement__index",2659:"p__User__Detail__UserPortrait__index",2819:"p__Classrooms__Lists__Template__detail__index",3086:"p__Shixuns__Detail__ForkList__ThemeChange__index",3276:"p__Classrooms__Lists__Statistics__UserportraitStatistics__index",3282:"p__OnlineDevice__DigitalSigns__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3509:"p__HttpStatus__SixActivities",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4048:"p__Forums__ThemeChange__index",4736:"p__User__Detail__Projects__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4973:"p__Engineering__Evaluate__List__index",5165:"p__User__ThemeChange__Topics",5427:"p__User__Detail__Devicegroup__index",5572:"p__Paths__HigherVocationalEducation__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6205:"p__Classrooms__ThemeChange__VideoUpload",7043:"p__User__Detail__Topics__Exercise__Edit__index",7323:"p__Classrooms__ThemeChange__New",7884:"p__Shixuns__Exports__index",8145:"p__User__ThemeChange__ClassManagementItem",8234:"p__OnlineDevice__DeviceLabel__index",8552:"p__Shixuns__ThemeChange__index",8579:"p__Competitions__ThemeChange__Edit",8787:"p__Competitions__Entered__index",8999:"p__Three__index",9416:"p__Graduations__Lists__Tasks__index",9449:"p__Shixuns__ThemeChange__Detail",9507:"p__User__Detail__ResourceGuarantee__index",9511:"p__Shixuns__ThemeChange__Edit",9906:"p__Paths__ThemeChange__index",10195:"p__Classrooms__Lists__GroupHomework__Detail__index",10485:"p__Question__AddOrEdit__BatchAdd__index",10518:"p__Shixuns__Detail__Settings__ThemeChange__index",10737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",10799:"p__User__Detail__Topics__Poll__Detail__index",10921:"p__Classrooms__Lists__Exercise__CodeDetails__index",11070:"p__Innovation__PublicMirror__index",11253:"p__Graduations__Lists__Gradingsummary__index",11512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",11520:"p__Engineering__Lists__StudentList__index",11545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",11581:"p__Problemset__Preview__index",12102:"p__Classrooms__Lists__Board__Edit__index",12216:"p__DataSet__Index__index",12303:"p__Classrooms__Lists__CommonHomework__Comment__index",12412:"p__User__Detail__Videos__index",12476:"p__Colleges__index",12865:"p__Innovation__MyMirror__index",12884:"p__Classrooms__Lists__ProgramHomework__Comment__index",13006:"p__Engineering__index",14058:"p__Demo__index",14105:"p__Classrooms__Lists__Exercise__Answer__index",14227:"p__Paths__Overview__index",14514:"p__Account__Results__index",14599:"p__Problemset__index",14610:"p__User__Detail__LearningPath__index",14662:"p__Classrooms__Lists__GroupHomework__Review__index",14889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",15148:"p__Classrooms__Lists__Template__index",15186:"p__Classrooms__Overview__index",15319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",15382:"p__DataSet__Detail__index",15402:"p__User__Detail__Topics__Detail__index",15800:"p__User__ThemeChange__Competitions",15894:"p__Shixuns__Detail__Repository__Commit__ThemeChange__index",16328:"p__Shixuns__Edit__body__Warehouse__index",16434:"p__User__Detail__Order__pages__records__index",16729:"p__Classrooms__Lists__GroupHomework__Edit__index",17402:"p__User__ThemeChange__OtherResources",17482:"p__Classrooms__Lists__Exercise__Notice__index",17527:"p__MyProblem__RecordDetail__index",17622:"p__Classrooms__Lists__Polls__Detail__index",17806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",18241:"p__virtualSpaces__Lists__Plan__index",19595:"p__knowledgegraph__Statistics__AbilityMap__index",19715:"p__Classrooms__Lists__CommonHomework__Edit__index",19891:"p__User__Detail__Videos__Success__index",20026:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",20576:"p__Account__Profile__Edit__index",20680:"p__Innovation__index",20700:"p__tasks__Jupyter__index",21423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",21578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",21836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",21897:"p__User__ThemeChange__ClassManagement",21939:"p__User__Detail__Order__index",22307:"p__Report__index",22707:"p__Innovation__MyDataSet__index",23873:"p__virtualSpaces__Lists__Lesson__index",24420:"p__knowledgegraph__index",24504:"p__virtualSpaces__Lists__Survey__index",24806:"p__OnlineDevice__FaultLibrary__index",25022:"p__Graduations__Lists__Settings__index",25705:"p__virtualSpaces__Lists__Construction__index",25972:"layouts__user__index",26116:"p__Visualization__index",26366:"p__Innovation__PublicProject__index",26682:"p__User__ThemeChange__Shixuns",26685:"p__Classrooms__Index__index",26741:"p__Engineering__Norm__List__index",26788:"p__Home__Detail__ShixunContext__Detail__index",27178:"p__User__BindAccount__index",27182:"p__User__ResetPassword__index",27322:"layouts__ThemeChange__ShixunDetail",27333:"p__User__WechatLogin__index",27395:"p__Classrooms__Lists__Statistics__StudentDetail__index",27823:"p__OnlineMessageCenter__OffSiteConfig__index",27901:"p__Guidance__ThemeChange",28072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",28116:"p__LaboratoryList__index",28237:"p__User__Detail__Order__pages__view__index",28286:"p__User__ThemeChange__ExperImentImgDetail",28435:"p__Classrooms__Lists__Attendance__index",28639:"p__Forums__Index__redirect",28723:"p__Classrooms__Lists__Polls__Edit__index",28823:"p__knowledgegraph__Detail__id",29172:"p__DeviceOperationMonitoring__index",29647:"p__Question__Index__index",30065:"p__StudentEffectivenessAnalysis__index",30067:"p__Message__index",30174:"p__OnlineDevice__DeviceInfo__InfoList__Details__index",30264:"p__User__Detail__Order__pages__orderPay__index",31006:"p__RestFul__index",31211:"p__Classrooms__Lists__CommonHomework__EditWork__index",31427:"p__Classrooms__Lists__Statistics__index",31674:"p__Classrooms__ClassicCases__index",31962:"p__Classrooms__Lists__Engineering__index",32099:"p__Paperlibrary__ThemeChange__index",33747:"p__virtualSpaces__Lists__Homepage__index",33784:"p__Paperlibrary__Random__Detail__index",34093:"p__Classrooms__Lists__Attendance__Detail__index",34741:"p__Problems__OjForm__NewEdit__index",34800:"p__Engineering__Lists__GraduatedMatrix__index",34994:"p__Problems__OjForm__index",35230:"p__Shixuns__Detail__Repository__AddFile__ThemeChange__index",35238:"p__virtualSpaces__Lists__Material__index",35694:"p__Classrooms__ThemeChange__ShixunHomeworksDetail",35729:"p__Help__Index",36029:"p__Administration__Student__index",36080:"p__Paths__ThemeChange__New",36170:"p__HttpStatus__downloadStudent",36270:"p__MyProblem__index",36637:"p__Shixuns__Detail__Repository__ThemeChange__index",36784:"p__Innovation__Edit__index",37062:"layouts__SimpleLayouts",37289:"p__tasks__ThemeChange__index",37745:"p__OnlineDevice__DeviceType__index",38143:"layouts__GraduationsDetail__index",38447:"p__virtualSpaces__Lists__Knowledge__index",39391:"p__Engineering__Lists__CurseSetting__index",39404:"monaco-editor",39695:"p__Classrooms__Lists__Polls__Add__index",40559:"layouts__virtualDetail__index",40895:"p__Classrooms__Lists__Video__Items__videoInfo__index",40919:"p__knowledgegraph__Statistics__LearningPath__index",41048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",41657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",41717:"layouts__index",41953:"p__Problemset__NewItem__index",42240:"p__User__Detail__Videos__Upload__index",42862:"p__User__ThemeChange__ExperImentImg",43433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",43442:"p__Classrooms__Lists__Board__Add__index",43862:"p__HttpStatus__403",44216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",44259:"p__User__Detail__Order__pages__result__index",44449:"p__Competitions__Exports__index",44565:"p__HttpStatus__500",45096:"p__Shixuns__Detail__AuditSituation__index",45179:"p__Administration__Student__Edit__index",45359:"p__Messages__Detail__index",45650:"p__Competitions__Update__index",45775:"p__Engineering__Lists__Document__index",45798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",45915:"p__knowledgegraph__Detail__Statistics__index",45992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",46796:"p__virtualSpaces__Lists__Announcement__Detail__index",46963:"p__Classrooms__Lists__Engineering__Detail__index",47545:"p__Graduations__Lists__Archives__index",48121:"p__OnlineDevice__DeviceType__Details__index",48137:"p__knowledgegraph__Statistics__PathAtlas__index",48365:"p__Home__Detail__ShixunContext__index",48431:"p__Classrooms__Lists__Exercise__Export__index",48689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",48965:"p__Shixuns__Detail__Discuss__ThemeChange__index",49205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",49366:"p__User__Login__index",49716:"p__Question__OjProblem__RecordDetail__index",50570:"p__Home__Detail__OnlineNum__index",50900:"p__User__ThemeChange__Classrooms",51276:"p__MoopCases__Success__index",51443:"p__EffectivenessAnalysis__index",51461:"p__Graduations__Lists__Topics__index",51582:"p__Classrooms__Lists__GroupHomework__Add__index",51651:"p__Paths__ThemeChange__Statistics",51678:"p__Classrooms__ThemeChange__Attachment",51855:"p__MoopCases__InfoPanel__index",52338:"p__Classrooms__Lists__CommonHomework__Review__index",52404:"p__Classrooms__Lists__Template__teacher__index",52748:"p__Property__index",52806:"p__User__Detail__Topics__Exercise__Detail__index",52829:"p__Messages__Private__index",53247:"p__Paperlibrary__See__index",53443:"p__knowledgegraph__Statistics__AbilityMap__Detail",53589:"p__knowledgegraph__Statistics__index",53910:"p__HttpStatus__introduction",54056:"p__IntrainCourse__index",54164:"p__Classrooms__Lists__Exercise__Detail__index",54492:"p__Graduations__Lists__StudentSelection__index",54572:"p__Classrooms__Lists__ExportList__index",54621:"p__Administration__Profession__index",54770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",54928:"p__Classrooms__Lists__LearningPath__index",55177:"p__Classrooms__ThemeChange__Teachers",55330:"p__Classrooms__ThemeChange__ShixunHomeworksComment",55573:"p__Shixuns__Detail__Merge__index",55624:"p__Graduations__Lists__Index__index",56185:"p__Classrooms__ThemeChange__Announcement",56282:"p__Classrooms__ThemeChange__ProgramHomework",57045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",57560:"p__Administration__College__index",57614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",57670:"p__OnlineReservation__ReservationInfo__index",57855:"p__User__Detail__ResourcesCenter__Detail__index",59142:"p__Reservation__index",59406:"p__Classrooms__ThemeChange__Board",59417:"p__Shixuns__ThemeOne__Detail__SkillTags__index",59487:"p__LargeScreen__index",59649:"p__Engineering__Lists__TrainingProgram__index",59788:"p__Account__Profile__index",60201:"p__Classrooms__ThemeChange__Students",60479:"p__Classrooms__Lists__GroupHomework__EditWork__index",60533:"p__Classrooms__Lists__Video__Statistics__Detail__index",60547:"p__Account__index",60906:"p__User__ThemeChange__CareerCertification",60921:"p__Classrooms__ThemeChange__Exercise",61043:"p__Classrooms__Lists__Graduation__Tasks__index",61713:"p__virtualSpaces__Lists__Settings__index",61727:"p__Classrooms__Lists__CourseGroup__NotList__index",61798:"p__Classrooms__ThemeChange__GroupHomework",61880:"p__User__Detail__Order__pages__apply__index",62300:"p__Api__index",62548:"p__Engineering__Norm__Detail__index",63157:"p__User__Detail__ExperImentImg__Add__index",63581:"p__Shixuns__Detail__Collaborators__ThemeChange__index",64017:"p__Classrooms__Lists__PlaceholderPage__index",64030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",64144:"p__Problemset__Preview__New__index",64217:"p__Classrooms__Lists__Video__Statistics__index",64297:"p__Classrooms__ThemeChange__Polls",64339:"p__knowledgegraph__Statistics__PathAtlas__Detail",64496:"p__HttpStatus__HpcCourse",64520:"p__Account__Secure__index",65111:"p__Terminal__index",65117:"p__User__ThemeChange__Certificate",65148:"p__Classrooms__Lists__Polls__Answer__index",65549:"p__Shixuns__New__CreateImg__index",65776:"p__User__ThemeChange__RealNameCertification",65816:"p__virtualSpaces__Lists__Announcement__index",66034:"p__HttpStatus__UserAgents",66063:"p__Graduations__Lists__Personmanage__index",66531:"p__HttpStatus__404",66583:"p__User__Detail__Classrooms__index",66587:"p__User__Detail__Videos__Protocol__resource",66651:"p__Engineering__Evaluate__Detail__index",67242:"p__Innovation__MyProject__index",67589:"p__virtualSpaces__Lists__DigitalTopics__index",67835:"p__Problemset__ThemeChange__index",68332:"p__User__ThemeChange__Detail",68665:"p__Engineering__Lists__TrainingObjectives__index",68827:"p__Classrooms__Lists__OnlineLearning__index",68882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",69039:"p__Classrooms__ThemeChange__CourseGroup",69681:"p__User__Detail__Devicegroup__Add__index",69922:"p__Classrooms__Lists__Statistics__StudentVideo__index",69944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index",70119:"p__User__ThemeChange__Paths",70928:"p__RestFul__Edit__index",71077:"p__User__ThemeTwoLogin__index",71450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",71475:"p__Shixuns__Detail__Dataset__JupyterData__index",71525:"p__User__Detail__Devicegroup__ReservationInfo__index",71754:"p__Classrooms__ThemeChange__Video",71783:"p__virtualSpaces__Lists__Experiment__index",72130:"p__Shixuns__Detail__Repository__UploadFile__ThemeChange__index",72203:"p__Classrooms__ThemeChange__ShixunHomeworks",72539:"p__Graduations__Review__index",72570:"p__Competitions__Detail__index",73183:"p__Engineering__Lists__GraduationIndex__index",73685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",74264:"p__Forums__New__index",74795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",75043:"p__User__Detail__Topics__Poll__Edit__index",75307:"p__Shixuns__ThemeChange__New",75357:"p__Engineering__Lists__TrainingProgram__Edit__index",75786:"layouts__LoginAndRegister__index",75816:"p__Paperlibrary__Random__Edit__index",76789:"p__Classrooms__ThemeChange__index",76806:"p__OnlineDevice__DeviceInfo__index",76904:"p__MoopCases__FormPanel__index",77042:"p__knowledgegraph__Statistics__LearningPath__Detail",77460:"p__Question__OjProblem__index",77465:"p__OnlineDevice__DeviceInfo__InfoList__ReservationInfo__index",77857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",78085:"p__Classrooms__Lists__Exercise__Review__index",78115:"p__User__ThemeChange__DataSet",78479:"p__User__ThemeChange__TeachGroup",78563:"p__virtualSpaces__Lists__Discussion__Detail__index",79489:"p__Engineering__Lists__CourseList__index",79814:"p__Shixuns__Detail__Challenges__ThemeChange__index",79921:"p__Classrooms__ExamList__index",80508:"p__Forums__Detail__id",80532:"p__ExcellentCourse__index",80879:"p__User__ThemeChange__AccountInfo",81799:"p__Competitions__Entered__Assembly__TeamDateil",82339:"p__virtualSpaces__Lists__Plan__Detail__index",82425:"p__Classrooms__Lists__Board__Detail__index",82443:"p__Graduations__Lists__StageModule__index",83141:"p__Innovation__Detail__index",83212:"p__MoopCases__index",83831:"p__User__ThemeChange__VirtualSpaces",84546:"p__Engineering__Lists__TrainingProgram__Add__index",85048:"p__Classrooms__Lists__Graduation__Topics__index",85111:"p__User__Detail__Order__pages__orderInformation__index",85297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",85466:"p__Classrooms__ThemeChange__LiveVideo",85888:"p__Classrooms__Lists__CommonHomework__Add__index",85891:"p__virtualSpaces__Lists__Resources__index",86069:"p__virtualSpaces__Lists__Lesson__Detail__index",86451:"p__Shixuns__Detail__RankingList__ThemeChange__index",86452:"p__Innovation__PublicDataSet__index",86634:"p__Innovation__Tasks__index",86820:"p__User__Detail__Topics__Normal__index",86913:"p__Question__AddOrEdit__index",87058:"p__virtualSpaces__Lists__Survey__Detail__index",87099:"p__Competitions__ThemeChange__index",87260:"p__Account__Certification__index",87922:"p__Classrooms__Lists__CourseGroup__Detail__index",88155:"p__Shixuns__Overview__index",88501:"p__ReservationDetail__index",88517:"p__User__Detail__Topics__Group__index",88866:"p__index",89076:"p__Account__Binding__index",89677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",89785:"p__Classrooms__Lists__Template__student__index",90109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",90337:"p__Paperlibrary__Random__PreviewEdit__index",90643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",91045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",91257:"p__Classrooms__Lists__ResourceRecommend__index",91470:"p__User__Register__index",91831:"p__Graduations__Index__index",91993:"p__Shixuns__Detail__Dataset__ThemeChange__index",92045:"p__Engineering__Lists__TeacherList__index",92281:"p__Paths__ThemeChange__Detail",92441:"layouts__LaboratoryLayouts__index",92501:"p__Search__index",92524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",92603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",92823:"p__Engineering__Navigation__Home__index",92932:"p__User__Detail__Devicegroup__Edit__index",93260:"p__Paperlibrary__Add__index",93668:"p__Classrooms__Lists__CommonHomework__Detail__index",93910:"p__User__Detail__ResourcesCenter__index",94078:"p__Messages__Tidings__index",94498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",94715:"p__virtualSpaces__Lists__Material__Detail__index",95125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",95176:"p__User__Detail__Videos__Protocol__index",95335:"p__Engineering__Lists__CourseMatrix__index",96265:"p__virtualSpaces__Lists__Discussion__index",96444:"p__Video__Detail__id",96882:"p__Classrooms__New__StartClass__index",96979:"p__knowledgegraph__SanD__index",97052:"p__OnlineDevice__DeviceInfo__InfoList__Edit__index",97224:"p__StatsDashboard__index",97329:"p__Classrooms__ThemeChange__Attendance",97883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",98062:"p__User__Detail__Topicbank__index",98217:"p__User__ThemeChange__AccountInfoEdit",98340:"p__Classrooms__Lists__Attendance__Webview__Student__index",98398:"p__virtualSpaces__Lists__Resources__Detail__index",98458:"p__Classrooms__ThemeChange__CommonHomework",98688:"p__Shixuns__Detail__Repository__index",98885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",99674:"p__Shixuns__New__ImagePreview__index"}[d]||d)+"."+{292:"8a8e72cb",556:"2ed5db8d",1343:"bbf3a29b",1477:"de1ff824",1482:"a4762ec3",1660:"88c296f9",1727:"211ebc7d",2141:"05f8b176",2249:"f4830452",2494:"68080a87",2641:"a3b5b074",2659:"9efe2799",2819:"b7e0f440",2837:"54a82605",3086:"63ffcadf",3133:"9bf3f89c",3276:"42a87afe",3282:"e152b4e4",3317:"2ab90ff2",3391:"f22379ed",3451:"bd4a0d76",3509:"cc40b3ad",3585:"d37f1526",3885:"f87f7f15",3951:"cf44e705",4048:"a8c1cadf",4685:"c33f1528",4736:"f943aba2",4757:"b499fc44",4766:"3773e16d",4973:"cbf45d0d",5165:"739aa29b",5427:"23a82cfb",5434:"38b302a6",5572:"5c32b664",5778:"7d0a049e",5902:"1e1e69fa",5962:"a2f6cbba",6004:"2a686fd3",6127:"aaf9d2cf",6205:"b303f763",6378:"7f3a946a",7043:"18329124",7323:"f3fcebbb",7884:"11e6cac0",8145:"df3b1d9e",8234:"d78f5c1c",8552:"3fac09b5",8579:"911bfde4",8787:"2c35031d",8999:"798719c6",9283:"d89ead88",9416:"62ee8cc5",9449:"0c93c7ff",9507:"b0de446e",9511:"50173b40",9906:"6f03c55a",9928:"5989f5e0",10195:"14241da9",10354:"1813df82",10485:"69c70354",10518:"749ffd97",10737:"ac42bebc",10799:"6d28d658",10921:"1a1fdb41",11070:"1efa3e81",11253:"e0bab8ed",11512:"bea9979c",11520:"19e5dc89",11545:"f517e82b",11581:"c52b900d",12102:"0062a397",12216:"188c89b9",12303:"b73d57b0",12386:"c4f636be",12412:"59dd3104",12476:"bff98fa8",12865:"594751ba",12884:"3f949664",13006:"97cad218",14058:"b45c15da",14088:"6e4e2e4f",14105:"f1fe5703",14227:"0a07c972",14514:"5eca51b0",14599:"b69454ab",14610:"103b2b81",14662:"e44d7e67",14889:"a6e0c987",15148:"d9804a08",15186:"9428ef13",15290:"3d70df78",15302:"55869b7a",15319:"d931e55d",15382:"943b82a0",15402:"0ed182dc",15631:"b3b83250",15800:"11cdb73a",15894:"5de271ad",16328:"3dbe37ef",16434:"80b38314",16729:"9f2bf598",17204:"51622e2b",17402:"cdebb345",17482:"62fa2714",17527:"18dcdacf",17622:"7e55a3c1",17806:"0ef3e067",18241:"91bf9166",18350:"0d890a82",18898:"d218e7e3",18963:"dcf02c99",19595:"1d41649b",19715:"0803c0ef",19891:"d9fb74bc",20026:"7fa58966",20576:"1f4093af",20680:"2f6d5812",20700:"32746135",21423:"04ae4ef3",21578:"ff5b9c68",21836:"eef3f0b5",21897:"bf58c957",21939:"8ce2336e",22307:"3217b0b9",22707:"6845db5d",23873:"3f65fdf6",24420:"da36464a",24504:"0dc9330d",24628:"9d5bb4e5",24797:"ebd3a602",24806:"bcec491d",25022:"226c6328",25705:"6dbd748b",25972:"8121abc7",26116:"9ffd10e0",26126:"bcbb21c4",26366:"bce71bb5",26682:"4b82a166",26685:"7ac8b8ef",26741:"39bff6e0",26788:"9ed907ca",27178:"46f90c1e",27182:"349b3b0a",27322:"681c3e55",27333:"ff1e91b7",27395:"3fe78df0",27706:"a6d4ed52",27823:"8f104425",27901:"f8e6bf77",28072:"78081abc",28089:"d2e86d62",28116:"23de9985",28161:"61347d34",28237:"fc7ca3f7",28286:"84154703",28435:"7bc07dd4",28561:"510238ae",28580:"b1982d86",28639:"db3f21a4",28723:"a3ceae44",28823:"c23fcef4",28920:"a4e6fd97",29172:"9bbb3a9d",29559:"a564bfb1",29647:"f620e23f",29895:"c65c77cb",29968:"df169611",30065:"316708ca",30067:"c0f03261",30174:"bb5a7e7a",30264:"cf66a2c2",30741:"545d7666",31006:"8179974e",31154:"e2768853",31211:"cf1ac715",31427:"03edb6c3",31674:"3802ac62",31962:"bfa51736",32099:"cd67eb4e",33747:"857e6890",33784:"82c17442",33805:"d40f96e4",34093:"9bd0a5fb",34741:"28964df3",34790:"a11dc739",34800:"ec0b0c5b",34850:"658c5470",34994:"207e505b",35060:"4daf44de",35230:"61a3b27f",35238:"651f3273",35354:"484f122f",35416:"561481e5",35694:"6161f43c",35729:"b23e64f0",36029:"f7a3e8ae",36080:"fe21c8a0",36170:"d95149ad",36270:"eb959daa",36634:"efd8b3fa",36637:"0286c57d",36732:"4227410d",36784:"7d9dd4fa",37062:"5b60a2e5",37289:"9157333a",37745:"13488ed4",38143:"1dbb5ecf",38275:"0d8d2fa3",38447:"dfc121ca",39061:"3ea697f6",39252:"f6ee69dc",39391:"8beeef4a",39404:"d8313f3b",39695:"3cb80efd",39950:"ba2aad3a",40559:"9f0f10a1",40895:"b7595205",40919:"7cb2d717",41048:"24262cbc",41657:"df8f8cc4",41717:"77e41f59",41953:"bb71ec38",42240:"23806654",42862:"8335abf9",43433:"c5f66be7",43442:"50564ed7",43862:"abbe590d",44216:"e3629b33",44259:"fe98313b",44354:"449d9dec",44360:"3244c63c",44449:"aa7bb714",44565:"bee0224c",45096:"aea6984a",45179:"a1a1fd7c",45359:"58109efb",45650:"71b48811",45775:"f302ac0b",45798:"376a3b77",45915:"a3bd0be1",45985:"947ea539",45992:"dbd040ca",46796:"19515f58",46963:"ee398034",47545:"3fa973f8",47686:"79fd7230",48121:"e255a718",48137:"39fbc301",48365:"b7a31974",48431:"f0727930",48689:"d2cbd3db",48776:"4fafad80",48965:"4996684f",49111:"49406337",49205:"9af7723e",49260:"1555cfd9",49366:"daf268cb",49716:"20b33388",50570:"7f6c4153",50900:"17b8ee00",51144:"b749d860",51276:"fdea4b83",51443:"f95c7a2a",51461:"761fa3d2",51582:"7a5a82a7",51646:"26cb79cd",51651:"fc4cc5bb",51678:"0462cccd",51855:"2997a62b",52338:"dd1d85f6",52404:"2f65ef27",52748:"12b0bb44",52806:"2bd8570a",52829:"1c0eed77",53247:"bb57bc17",53443:"e724ee85",53550:"93044b6b",53589:"dd365500",53697:"2d3d5602",53777:"e90e3512",53910:"a7baa381",54056:"99c47f89",54164:"6a1036e0",54492:"60ae9ecf",54572:"720faad5",54621:"0a6d8779",54770:"899e1201",54928:"28b317fe",55177:"6798e855",55330:"b37a577d",55573:"55fd210b",55624:"5beb5f4f",56047:"8d4fca03",56185:"5f11694e",56282:"0937f868",57045:"3c235bad",57365:"4c5ac348",57560:"8dfbc979",57614:"f3a0f541",57670:"0d3fd5f9",57855:"0f573156",59142:"a40a87b8",59406:"76b64486",59417:"50cc0f43",59487:"4ece7541",59649:"661bc71a",59788:"1c44b730",60201:"194b9f04",60479:"d4a93519",60533:"3e4ef272",60547:"71b5c15d",60906:"a604d776",60921:"781c8ac6",61043:"70b7d755",61713:"648d1ec8",61727:"6dd0ffef",61798:"3b47b2e8",61880:"643c9874",62300:"a4c68998",62548:"095910eb",63157:"601af377",63198:"5785a4c5",63581:"087de72a",63754:"55684a8b",64017:"f83e45f0",64030:"e1427eb1",64144:"7fb088ef",64217:"453c9d37",64297:"01fd5fe1",64339:"a5acc835",64496:"7ab8d483",64520:"9a9bd552",65111:"e3236f34",65117:"4dac34fc",65148:"b81eb493",65549:"676f01b9",65776:"7491b37c",65816:"87fc2744",65876:"2e82f8ab",66034:"1cee350d",66063:"a016bfa1",66531:"2b975912",66583:"5b2ec08e",66587:"31d9b3ba",66651:"397bc7d0",67156:"0daa3a8c",67242:"0668fbf9",67424:"2f74ba6c",67589:"0b53cdb2",67793:"08e8f761",67835:"fbdeac69",67880:"10546fa7",68332:"04931ff2",68665:"e4fc1dce",68827:"13dee6e6",68842:"281d0f87",68882:"5461e164",69039:"89ad50e4",69681:"d844b0bb",69922:"7639108f",69944:"743daf6f",70119:"8091912e",70671:"a4734251",70928:"e2f7c587",70981:"6d43071f",71077:"b2f9045d",71229:"4e7f1da8",71450:"2eba4669",71475:"2efe9048",71525:"59e32038",71754:"4b58372e",71783:"914c74f7",72011:"bdefe7c9",72130:"e727faa1",72203:"811f986d",72539:"d3ef998d",72570:"13ffdd18",72969:"a4cf7ff0",73183:"40b4cbad",73685:"e1b510c9",74014:"18a6ed07",74264:"961fa0fc",74347:"31822cf9",74795:"7fe723a8",74902:"af15fb03",75043:"33fa137d",75307:"241a7846",75321:"e7556538",75357:"c083f59b",75786:"d585cfd0",75816:"c997f2cd",76411:"f65701d5",76789:"f738bc15",76806:"ab0db29e",76904:"041ccc90",77042:"a9b4a1c5",77084:"cf8cc55a",77460:"ab7a2bc3",77465:"fcabfa70",77857:"81f7e2e8",78085:"e67673b1",78115:"f4c677ef",78302:"0d92807b",78479:"941ee47b",78563:"c77ec9d6",78737:"730df99f",79489:"702f0d38",79814:"08ec45f1",79921:"5c231ccd",80508:"f9b29a72",80532:"6188293e",80629:"594c6bd3",80879:"0ca55fd3",81799:"7790acf4",82339:"a9227d60",82425:"cb1692fa",82443:"9ddb5096",83141:"ae8a68fe",83212:"8b4e9171",83831:"52c73392",84546:"e46eaf23",85048:"85814b2f",85111:"1567ba43",85297:"5880d3da",85466:"23be6f24",85494:"ba5e22ad",85764:"a066d09e",85888:"3c74e884",85891:"f9dca1b1",85911:"7c5022d1",86045:"487b1c78",86069:"fb528fb5",86451:"12b15918",86452:"48692d27",86634:"17d71514",86774:"72162c15",86820:"896efed5",86913:"8ab27f45",87058:"2a093747",87099:"a2eea5a1",87260:"47a6f80b",87922:"54751ea8",87964:"39e4d47e",88155:"108917eb",88501:"6beafc77",88517:"cce6dff3",88866:"8506702c",89076:"4a3df5a3",89554:"e539247d",89677:"bf02610c",89785:"0f68c01d",90109:"78f1d4fe",90316:"e09f92c0",90337:"1a283daa",90515:"5121a9d4",90643:"e29111e5",91045:"94a24e41",91257:"6d5fe380",91274:"52079a02",91462:"74ce79b3",91470:"dcd49322",91831:"5f21cdf7",91865:"0367e3e0",91993:"2bd26593",92045:"ffd5ac9e",92281:"f1f23cbf",92441:"5e1ba170",92501:"dfbe78ed",92524:"0477ea34",92538:"bfe44958",92594:"e46334aa",92603:"535e54d2",92823:"9fa05ff6",92932:"5640b0bd",93260:"e3abadcb",93668:"dcd56cdd",93910:"d78044b5",94078:"845f4cc7",94498:"9c81e8f6",94715:"67d4e381",95125:"bd8b99da",95176:"d7535c3e",95335:"3d7f0c38",95373:"5bcb5bb0",95679:"c553d6e6",96265:"45de9f92",96344:"381edab0",96444:"d0e5cc21",96882:"3a30069e",96979:"2a6098e2",97052:"ded86e2e",97224:"9b8fc13f",97329:"fd662da8",97591:"87e32906",97883:"4c3c46fc",98062:"dbb800f4",98217:"b8de98cb",98340:"9bed7a83",98398:"6ac5e068",98458:"3ebae8b0",98688:"521ce946",98885:"646dd23e",98909:"d1dfc1d3",99104:"77a62895",99674:"8fd61897"}[d]+".async.js"}}(),function(){__webpack_require__.miniCssF=function(d){return""+({292:"p__Classrooms__Lists__Exercise__Add__index",556:"p__User__Detail__Order__pages__invoice__index",1343:"p__User__Detail__ResourceAllocation__index",1477:"p__Classrooms__ThemeChange__Assistant",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1727:"p__OnlineMessageCenter__MessageCenterManage__index",2141:"p__Shixuns__Detail__Split__index",2641:"p__Property__Procurement__index",2659:"p__User__Detail__UserPortrait__index",2819:"p__Classrooms__Lists__Template__detail__index",3086:"p__Shixuns__Detail__ForkList__ThemeChange__index",3276:"p__Classrooms__Lists__Statistics__UserportraitStatistics__index",3282:"p__OnlineDevice__DigitalSigns__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3509:"p__HttpStatus__SixActivities",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4048:"p__Forums__ThemeChange__index",4736:"p__User__Detail__Projects__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4973:"p__Engineering__Evaluate__List__index",5165:"p__User__ThemeChange__Topics",5427:"p__User__Detail__Devicegroup__index",5572:"p__Paths__HigherVocationalEducation__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6205:"p__Classrooms__ThemeChange__VideoUpload",7043:"p__User__Detail__Topics__Exercise__Edit__index",7323:"p__Classrooms__ThemeChange__New",7884:"p__Shixuns__Exports__index",8145:"p__User__ThemeChange__ClassManagementItem",8234:"p__OnlineDevice__DeviceLabel__index",8552:"p__Shixuns__ThemeChange__index",8579:"p__Competitions__ThemeChange__Edit",8787:"p__Competitions__Entered__index",8999:"p__Three__index",9416:"p__Graduations__Lists__Tasks__index",9449:"p__Shixuns__ThemeChange__Detail",9507:"p__User__Detail__ResourceGuarantee__index",9511:"p__Shixuns__ThemeChange__Edit",9906:"p__Paths__ThemeChange__index",10195:"p__Classrooms__Lists__GroupHomework__Detail__index",10485:"p__Question__AddOrEdit__BatchAdd__index",10518:"p__Shixuns__Detail__Settings__ThemeChange__index",10737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",10799:"p__User__Detail__Topics__Poll__Detail__index",10921:"p__Classrooms__Lists__Exercise__CodeDetails__index",11070:"p__Innovation__PublicMirror__index",11253:"p__Graduations__Lists__Gradingsummary__index",11512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",11520:"p__Engineering__Lists__StudentList__index",11545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",11581:"p__Problemset__Preview__index",12102:"p__Classrooms__Lists__Board__Edit__index",12216:"p__DataSet__Index__index",12303:"p__Classrooms__Lists__CommonHomework__Comment__index",12412:"p__User__Detail__Videos__index",12476:"p__Colleges__index",12865:"p__Innovation__MyMirror__index",12884:"p__Classrooms__Lists__ProgramHomework__Comment__index",13006:"p__Engineering__index",14105:"p__Classrooms__Lists__Exercise__Answer__index",14227:"p__Paths__Overview__index",14514:"p__Account__Results__index",14599:"p__Problemset__index",14610:"p__User__Detail__LearningPath__index",14662:"p__Classrooms__Lists__GroupHomework__Review__index",14889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",15148:"p__Classrooms__Lists__Template__index",15186:"p__Classrooms__Overview__index",15319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",15382:"p__DataSet__Detail__index",15402:"p__User__Detail__Topics__Detail__index",15800:"p__User__ThemeChange__Competitions",15894:"p__Shixuns__Detail__Repository__Commit__ThemeChange__index",16328:"p__Shixuns__Edit__body__Warehouse__index",16434:"p__User__Detail__Order__pages__records__index",16729:"p__Classrooms__Lists__GroupHomework__Edit__index",17402:"p__User__ThemeChange__OtherResources",17482:"p__Classrooms__Lists__Exercise__Notice__index",17527:"p__MyProblem__RecordDetail__index",17622:"p__Classrooms__Lists__Polls__Detail__index",17806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",18241:"p__virtualSpaces__Lists__Plan__index",19595:"p__knowledgegraph__Statistics__AbilityMap__index",19715:"p__Classrooms__Lists__CommonHomework__Edit__index",19891:"p__User__Detail__Videos__Success__index",20026:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",20576:"p__Account__Profile__Edit__index",20680:"p__Innovation__index",20700:"p__tasks__Jupyter__index",21423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",21578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",21836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",21897:"p__User__ThemeChange__ClassManagement",21939:"p__User__Detail__Order__index",22307:"p__Report__index",22707:"p__Innovation__MyDataSet__index",23873:"p__virtualSpaces__Lists__Lesson__index",24420:"p__knowledgegraph__index",24504:"p__virtualSpaces__Lists__Survey__index",24806:"p__OnlineDevice__FaultLibrary__index",25022:"p__Graduations__Lists__Settings__index",25705:"p__virtualSpaces__Lists__Construction__index",25972:"layouts__user__index",26116:"p__Visualization__index",26366:"p__Innovation__PublicProject__index",26682:"p__User__ThemeChange__Shixuns",26685:"p__Classrooms__Index__index",26741:"p__Engineering__Norm__List__index",27178:"p__User__BindAccount__index",27182:"p__User__ResetPassword__index",27322:"layouts__ThemeChange__ShixunDetail",27395:"p__Classrooms__Lists__Statistics__StudentDetail__index",27823:"p__OnlineMessageCenter__OffSiteConfig__index",27901:"p__Guidance__ThemeChange",28072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",28116:"p__LaboratoryList__index",28237:"p__User__Detail__Order__pages__view__index",28286:"p__User__ThemeChange__ExperImentImgDetail",28435:"p__Classrooms__Lists__Attendance__index",28723:"p__Classrooms__Lists__Polls__Edit__index",28823:"p__knowledgegraph__Detail__id",29172:"p__DeviceOperationMonitoring__index",29647:"p__Question__Index__index",30065:"p__StudentEffectivenessAnalysis__index",30067:"p__Message__index",30174:"p__OnlineDevice__DeviceInfo__InfoList__Details__index",30264:"p__User__Detail__Order__pages__orderPay__index",31006:"p__RestFul__index",31211:"p__Classrooms__Lists__CommonHomework__EditWork__index",31427:"p__Classrooms__Lists__Statistics__index",31674:"p__Classrooms__ClassicCases__index",31962:"p__Classrooms__Lists__Engineering__index",32099:"p__Paperlibrary__ThemeChange__index",33747:"p__virtualSpaces__Lists__Homepage__index",33784:"p__Paperlibrary__Random__Detail__index",34093:"p__Classrooms__Lists__Attendance__Detail__index",34741:"p__Problems__OjForm__NewEdit__index",34800:"p__Engineering__Lists__GraduatedMatrix__index",34994:"p__Problems__OjForm__index",35230:"p__Shixuns__Detail__Repository__AddFile__ThemeChange__index",35238:"p__virtualSpaces__Lists__Material__index",35694:"p__Classrooms__ThemeChange__ShixunHomeworksDetail",35729:"p__Help__Index",36029:"p__Administration__Student__index",36080:"p__Paths__ThemeChange__New",36270:"p__MyProblem__index",36637:"p__Shixuns__Detail__Repository__ThemeChange__index",36784:"p__Innovation__Edit__index",37062:"layouts__SimpleLayouts",37289:"p__tasks__ThemeChange__index",37745:"p__OnlineDevice__DeviceType__index",38143:"layouts__GraduationsDetail__index",38447:"p__virtualSpaces__Lists__Knowledge__index",39391:"p__Engineering__Lists__CurseSetting__index",39404:"monaco-editor",39695:"p__Classrooms__Lists__Polls__Add__index",40559:"layouts__virtualDetail__index",40895:"p__Classrooms__Lists__Video__Items__videoInfo__index",40919:"p__knowledgegraph__Statistics__LearningPath__index",41048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",41657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",41717:"layouts__index",41953:"p__Problemset__NewItem__index",42240:"p__User__Detail__Videos__Upload__index",42862:"p__User__ThemeChange__ExperImentImg",43433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",43442:"p__Classrooms__Lists__Board__Add__index",44216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",44259:"p__User__Detail__Order__pages__result__index",44449:"p__Competitions__Exports__index",45096:"p__Shixuns__Detail__AuditSituation__index",45179:"p__Administration__Student__Edit__index",45359:"p__Messages__Detail__index",45650:"p__Competitions__Update__index",45775:"p__Engineering__Lists__Document__index",45798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",45915:"p__knowledgegraph__Detail__Statistics__index",45992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",46796:"p__virtualSpaces__Lists__Announcement__Detail__index",46963:"p__Classrooms__Lists__Engineering__Detail__index",47545:"p__Graduations__Lists__Archives__index",48121:"p__OnlineDevice__DeviceType__Details__index",48137:"p__knowledgegraph__Statistics__PathAtlas__index",48431:"p__Classrooms__Lists__Exercise__Export__index",48689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",48965:"p__Shixuns__Detail__Discuss__ThemeChange__index",49205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",49366:"p__User__Login__index",49716:"p__Question__OjProblem__RecordDetail__index",50900:"p__User__ThemeChange__Classrooms",51276:"p__MoopCases__Success__index",51443:"p__EffectivenessAnalysis__index",51461:"p__Graduations__Lists__Topics__index",51582:"p__Classrooms__Lists__GroupHomework__Add__index",51651:"p__Paths__ThemeChange__Statistics",51678:"p__Classrooms__ThemeChange__Attachment",51855:"p__MoopCases__InfoPanel__index",52338:"p__Classrooms__Lists__CommonHomework__Review__index",52404:"p__Classrooms__Lists__Template__teacher__index",52748:"p__Property__index",52806:"p__User__Detail__Topics__Exercise__Detail__index",52829:"p__Messages__Private__index",53247:"p__Paperlibrary__See__index",53443:"p__knowledgegraph__Statistics__AbilityMap__Detail",53910:"p__HttpStatus__introduction",54056:"p__IntrainCourse__index",54164:"p__Classrooms__Lists__Exercise__Detail__index",54492:"p__Graduations__Lists__StudentSelection__index",54572:"p__Classrooms__Lists__ExportList__index",54621:"p__Administration__Profession__index",54770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",54928:"p__Classrooms__Lists__LearningPath__index",55177:"p__Classrooms__ThemeChange__Teachers",55330:"p__Classrooms__ThemeChange__ShixunHomeworksComment",55573:"p__Shixuns__Detail__Merge__index",55624:"p__Graduations__Lists__Index__index",56185:"p__Classrooms__ThemeChange__Announcement",56282:"p__Classrooms__ThemeChange__ProgramHomework",57045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",57560:"p__Administration__College__index",57614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",57670:"p__OnlineReservation__ReservationInfo__index",57855:"p__User__Detail__ResourcesCenter__Detail__index",59142:"p__Reservation__index",59406:"p__Classrooms__ThemeChange__Board",59487:"p__LargeScreen__index",59649:"p__Engineering__Lists__TrainingProgram__index",59788:"p__Account__Profile__index",60201:"p__Classrooms__ThemeChange__Students",60479:"p__Classrooms__Lists__GroupHomework__EditWork__index",60533:"p__Classrooms__Lists__Video__Statistics__Detail__index",60547:"p__Account__index",60906:"p__User__ThemeChange__CareerCertification",60921:"p__Classrooms__ThemeChange__Exercise",61043:"p__Classrooms__Lists__Graduation__Tasks__index",61713:"p__virtualSpaces__Lists__Settings__index",61727:"p__Classrooms__Lists__CourseGroup__NotList__index",61798:"p__Classrooms__ThemeChange__GroupHomework",61880:"p__User__Detail__Order__pages__apply__index",62548:"p__Engineering__Norm__Detail__index",63157:"p__User__Detail__ExperImentImg__Add__index",63581:"p__Shixuns__Detail__Collaborators__ThemeChange__index",64030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",64144:"p__Problemset__Preview__New__index",64217:"p__Classrooms__Lists__Video__Statistics__index",64297:"p__Classrooms__ThemeChange__Polls",64339:"p__knowledgegraph__Statistics__PathAtlas__Detail",64496:"p__HttpStatus__HpcCourse",64520:"p__Account__Secure__index",65111:"p__Terminal__index",65117:"p__User__ThemeChange__Certificate",65148:"p__Classrooms__Lists__Polls__Answer__index",65549:"p__Shixuns__New__CreateImg__index",65776:"p__User__ThemeChange__RealNameCertification",65816:"p__virtualSpaces__Lists__Announcement__index",66063:"p__Graduations__Lists__Personmanage__index",66583:"p__User__Detail__Classrooms__index",66587:"p__User__Detail__Videos__Protocol__resource",66651:"p__Engineering__Evaluate__Detail__index",67242:"p__Innovation__MyProject__index",67589:"p__virtualSpaces__Lists__DigitalTopics__index",67835:"p__Problemset__ThemeChange__index",68332:"p__User__ThemeChange__Detail",68665:"p__Engineering__Lists__TrainingObjectives__index",68827:"p__Classrooms__Lists__OnlineLearning__index",68882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",69039:"p__Classrooms__ThemeChange__CourseGroup",69681:"p__User__Detail__Devicegroup__Add__index",69922:"p__Classrooms__Lists__Statistics__StudentVideo__index",69944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index",70119:"p__User__ThemeChange__Paths",70928:"p__RestFul__Edit__index",71077:"p__User__ThemeTwoLogin__index",71450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",71475:"p__Shixuns__Detail__Dataset__JupyterData__index",71525:"p__User__Detail__Devicegroup__ReservationInfo__index",71754:"p__Classrooms__ThemeChange__Video",71783:"p__virtualSpaces__Lists__Experiment__index",72130:"p__Shixuns__Detail__Repository__UploadFile__ThemeChange__index",72203:"p__Classrooms__ThemeChange__ShixunHomeworks",72539:"p__Graduations__Review__index",72570:"p__Competitions__Detail__index",73183:"p__Engineering__Lists__GraduationIndex__index",73685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",74264:"p__Forums__New__index",74795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",75043:"p__User__Detail__Topics__Poll__Edit__index",75307:"p__Shixuns__ThemeChange__New",75357:"p__Engineering__Lists__TrainingProgram__Edit__index",75786:"layouts__LoginAndRegister__index",75816:"p__Paperlibrary__Random__Edit__index",76789:"p__Classrooms__ThemeChange__index",76806:"p__OnlineDevice__DeviceInfo__index",76904:"p__MoopCases__FormPanel__index",77042:"p__knowledgegraph__Statistics__LearningPath__Detail",77460:"p__Question__OjProblem__index",77465:"p__OnlineDevice__DeviceInfo__InfoList__ReservationInfo__index",77857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",78085:"p__Classrooms__Lists__Exercise__Review__index",78115:"p__User__ThemeChange__DataSet",78479:"p__User__ThemeChange__TeachGroup",78563:"p__virtualSpaces__Lists__Discussion__Detail__index",79489:"p__Engineering__Lists__CourseList__index",79814:"p__Shixuns__Detail__Challenges__ThemeChange__index",79921:"p__Classrooms__ExamList__index",80508:"p__Forums__Detail__id",80532:"p__ExcellentCourse__index",80879:"p__User__ThemeChange__AccountInfo",82339:"p__virtualSpaces__Lists__Plan__Detail__index",82425:"p__Classrooms__Lists__Board__Detail__index",82443:"p__Graduations__Lists__StageModule__index",83141:"p__Innovation__Detail__index",83212:"p__MoopCases__index",83831:"p__User__ThemeChange__VirtualSpaces",84546:"p__Engineering__Lists__TrainingProgram__Add__index",85048:"p__Classrooms__Lists__Graduation__Topics__index",85111:"p__User__Detail__Order__pages__orderInformation__index",85297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",85466:"p__Classrooms__ThemeChange__LiveVideo",85888:"p__Classrooms__Lists__CommonHomework__Add__index",85891:"p__virtualSpaces__Lists__Resources__index",86069:"p__virtualSpaces__Lists__Lesson__Detail__index",86451:"p__Shixuns__Detail__RankingList__ThemeChange__index",86452:"p__Innovation__PublicDataSet__index",86634:"p__Innovation__Tasks__index",86820:"p__User__Detail__Topics__Normal__index",86913:"p__Question__AddOrEdit__index",87058:"p__virtualSpaces__Lists__Survey__Detail__index",87099:"p__Competitions__ThemeChange__index",87260:"p__Account__Certification__index",87922:"p__Classrooms__Lists__CourseGroup__Detail__index",88155:"p__Shixuns__Overview__index",88501:"p__ReservationDetail__index",88517:"p__User__Detail__Topics__Group__index",88866:"p__index",89076:"p__Account__Binding__index",89677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",89785:"p__Classrooms__Lists__Template__student__index",90109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",90337:"p__Paperlibrary__Random__PreviewEdit__index",90643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",91045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",91257:"p__Classrooms__Lists__ResourceRecommend__index",91470:"p__User__Register__index",91831:"p__Graduations__Index__index",91993:"p__Shixuns__Detail__Dataset__ThemeChange__index",92045:"p__Engineering__Lists__TeacherList__index",92281:"p__Paths__ThemeChange__Detail",92441:"layouts__LaboratoryLayouts__index",92501:"p__Search__index",92524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",92603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",92823:"p__Engineering__Navigation__Home__index",92932:"p__User__Detail__Devicegroup__Edit__index",93260:"p__Paperlibrary__Add__index",93668:"p__Classrooms__Lists__CommonHomework__Detail__index",93910:"p__User__Detail__ResourcesCenter__index",94078:"p__Messages__Tidings__index",94498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",94715:"p__virtualSpaces__Lists__Material__Detail__index",95125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",95176:"p__User__Detail__Videos__Protocol__index",95335:"p__Engineering__Lists__CourseMatrix__index",96265:"p__virtualSpaces__Lists__Discussion__index",96444:"p__Video__Detail__id",96882:"p__Classrooms__New__StartClass__index",96979:"p__knowledgegraph__SanD__index",97052:"p__OnlineDevice__DeviceInfo__InfoList__Edit__index",97224:"p__StatsDashboard__index",97329:"p__Classrooms__ThemeChange__Attendance",97883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",98062:"p__User__Detail__Topicbank__index",98217:"p__User__ThemeChange__AccountInfoEdit",98398:"p__virtualSpaces__Lists__Resources__Detail__index",98458:"p__Classrooms__ThemeChange__CommonHomework",98688:"p__Shixuns__Detail__Repository__index",98885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",99674:"p__Shixuns__New__ImagePreview__index"}[d]||d)+"."+{292:"61445bf5",556:"0e9c5cde",1343:"e4e2ebc7",1477:"08b9f795",1482:"d159af07",1727:"8f545197",2141:"5eb2f330",2641:"f5009853",2659:"f6071a36",2819:"9455b08a",3086:"d0ebac07",3276:"7bbb651d",3282:"17b4bc50",3317:"137440b7",3391:"f0e498fe",3451:"e3a31387",3509:"70043ca5",3585:"5f288e7b",3951:"9b11b034",4048:"5d227dab",4736:"aa2d53d9",4757:"73b754d2",4766:"b5df5a8e",4973:"129c56e8",5165:"dc6d9bc6",5427:"1e6faa99",5572:"c945fbf2",6127:"f31505a8",6205:"6eef461f",7043:"25478869",7323:"96a424b7",7884:"1ca6cde0",8145:"0eefaae0",8234:"adb94b66",8552:"208da293",8579:"5c1d5d8e",8787:"121de108",8999:"448aa22f",9416:"bc1cc3b9",9449:"0d7c01df",9507:"af07d346",9511:"dc316be3",9906:"c603619a",10195:"8bc56a44",10485:"d63578fe",10518:"a22ced2d",10737:"98eb2f74",10799:"b1dec428",10921:"30cc7e9b",11070:"e67e9e01",11253:"a97ebbb0",11512:"f3653a35",11520:"f7300d0e",11545:"0da47095",11581:"efffd7c0",12102:"ec61f9f0",12216:"90f34d3c",12303:"5a9dc2b1",12412:"4490ba2a",12476:"cf85a190",12865:"6ef3cf6b",12884:"405c2ef9",13006:"7fce4e74",14105:"7f9d4513",14227:"79c3b323",14514:"887bdbb6",14599:"6327db8f",14610:"687005a6",14662:"30b29314",14889:"a91da64a",15148:"9f425be3",15186:"30047116",15319:"34217c3f",15382:"28b79a42",15402:"68063d1e",15800:"f214b296",15894:"4faa35bb",16328:"de2b9d62",16434:"c5a95b1e",16729:"aea3b7f5",17402:"c3bf3e69",17482:"c37a3f01",17527:"a4765b7e",17622:"79b56687",17806:"80b7b1d6",18241:"c8299739",19595:"898b0443",19715:"b6c6645f",19891:"512a9301",20026:"91ed81ab",20576:"e4f97d42",20680:"e67e9e01",20700:"6d428944",21423:"5c4a76fc",21578:"efcb0bdc",21836:"5f0d3f7f",21897:"35d10918",21939:"164385ec",22307:"b2c54321",22707:"cabcb16e",23873:"9b32f93d",24420:"d1920d14",24504:"b05222a6",24806:"c6922147",25022:"81b1b86b",25705:"df6bf207",25972:"5714bec5",26116:"29bcf24b",26366:"079fc2d8",26682:"d2765c91",26685:"cc9a5255",26741:"b838eb14",27178:"6e47d75d",27182:"183c9793",27322:"3cadaaa7",27395:"ff574c5d",27823:"11abf561",27901:"dba09a67",28072:"540f746b",28116:"7e9ed7ec",28237:"cc24fd46",28286:"4b01dd59",28435:"c54dbac3",28723:"77277ca8",28823:"75b63dcd",29172:"16a4b74b",29647:"bea72042",30065:"922b80da",30067:"249d60ed",30174:"a243523d",30264:"5fd9b3fc",31006:"2263131d",31211:"bdb8faab",31427:"3d93dfaa",31674:"fdbc1e05",31962:"84e145fa",32099:"42901130",33747:"c50b2b70",33784:"c81d4a51",34093:"7d2dbef2",34741:"c51f7784",34800:"f50302a4",34994:"a8674b97",35230:"94dfecf3",35238:"694000a4",35694:"3d9d34f2",35729:"46f9b5d4",36029:"3f8b2a62",36080:"ce0d7ebc",36270:"5496b206",36637:"cd627031",36784:"1affe817",37062:"10bacc35",37289:"03d0df5f",37745:"de06007b",38143:"baf130b5",38447:"9c541ee4",39391:"c4736e2f",39404:"d8cf04f7",39695:"7288e7ae",40559:"c49aa5ba",40895:"ad846737",40919:"898b0443",41048:"dafc3f4f",41657:"49a2443a",41717:"f85c98e6",41953:"d6d2346f",42240:"e7cce869",42862:"67c37a4e",43433:"9a871026",43442:"bdf7849c",44216:"0277270a",44259:"ebd953ac",44449:"e68d8d58",45096:"4f6a4d00",45179:"699b44a8",45359:"b254a598",45650:"f8f63f4b",45775:"8945cad2",45798:"ce1cf7da",45915:"bc9c3e69",45992:"419f5d2f",46796:"88ef2b35",46963:"84e145fa",47545:"88c2815e",48121:"f55b4f44",48137:"66f37f26",48431:"289b326c",48689:"38303690",48965:"f169309d",49205:"49a3e67d",49366:"4f511490",49716:"a5750e0d",50900:"5db55ef3",51276:"bbc6eeec",51443:"0e10e302",51461:"82857f62",51582:"8e45b6ff",51651:"b2ff4d6f",51678:"c99d5f02",51855:"b92cccb4",52338:"9f251b40",52404:"08d36549",52748:"4d47bb3f",52806:"066a1e3c",52829:"a5909474",53247:"50105eb7",53443:"898b0443",53910:"658d457f",54056:"10eacfff",54164:"4751b387",54492:"9fd5ba05",54572:"70e5675d",54621:"4c789bfa",54770:"674b2d2a",54928:"7c2ece62",55177:"b612c017",55330:"5b911c36",55573:"6ecf393c",55624:"685b3a03",56185:"4617aa93",56282:"37b2b2dd",57045:"48f6fc4c",57560:"d82e43ca",57614:"de9ee12f",57670:"96c43426",57855:"d9440df4",59142:"6e5773b6",59406:"df76000e",59487:"a73f5679",59649:"00fb4211",59788:"781a4d20",60201:"749be0d6",60479:"bba9e475",60533:"308bfa22",60547:"5581debc",60906:"d2399d94",60921:"e7f1be47",61043:"e8c0878b",61713:"a4a3dbd7",61727:"4eec53ba",61798:"d4c3f3eb",61880:"29bc2b98",62548:"75182034",63157:"d0ba1925",63581:"4bffbc10",64030:"d3df931a",64144:"f10aa199",64217:"387bf824",64297:"0d7e3efe",64339:"9de29759",64496:"77babddd",64520:"e86d61a1",65111:"5d09a39a",65117:"4358a2fb",65148:"572faeac",65549:"39285664",65776:"e07b4b49",65816:"b45b8d42",66063:"2c0a986c",66583:"56bd7407",66587:"9c49e7fa",66651:"b07fe216",67242:"4f353f61",67589:"5abfc7e4",67835:"e5642bc9",68332:"1ea87b13",68665:"c52575bc",68827:"14015163",68882:"f3e42f72",69039:"4e72f6be",69681:"870a2f3e",69922:"33690872",69944:"1ba31055",70119:"5a5d8480",70928:"0277270a",71077:"d7030788",71450:"1edcc2ed",71475:"01717533",71525:"74f9ddc8",71754:"1f751b14",71783:"4b6779fc",72130:"50dfcc51",72203:"1115c2b7",72539:"43c55c4d",72570:"ecab12cb",73183:"b2253f40",73685:"5356e3de",74264:"36917df0",74795:"939f9f81",75043:"247e6954",75307:"ff45e1cc",75357:"1fbb7d24",75786:"37a81eaa",75816:"e88b4cdd",76789:"bb555561",76806:"be98d8fc",76904:"44afaa9b",77042:"898b0443",77460:"dedd2038",77465:"b19303d8",77857:"13a29416",78085:"a1cadc76",78115:"47861430",78479:"ef522a60",78563:"b1f16cfe",79489:"ee2bb5b7",79814:"9f959c59",79921:"e0db9101",80508:"82593858",80532:"1e2e38ec",80879:"64e845d8",82339:"bf4c6e3d",82425:"47b23ee4",82443:"2f614807",83141:"df10cf17",83212:"ad1521c1",83831:"4987c55d",84546:"4101a1f2",85048:"aa08c681",85111:"1653d818",85297:"5426028f",85466:"90694dbb",85888:"193a7f8f",85891:"2f4cf052",86069:"5e1528e7",86451:"949d91e5",86452:"50a6d310",86634:"87d36fad",86820:"cebdf1cf",86913:"739202fe",87058:"7c5ff3cf",87099:"1b3891e9",87260:"2c380d56",87922:"49f2762f",88155:"d345abd7",88501:"699e66d2",88517:"cccfddad",88866:"e8fe1e5c",89076:"6a501148",89677:"18c220c4",89785:"08d36549",90109:"1a7fc455",90337:"a41a57cd",90643:"22ded693",91045:"bce697db",91257:"2c6cc63e",91470:"183c9793",91831:"12095e09",91865:"03cdfb68",91993:"7cc7cf77",92045:"dcfad42d",92281:"06b9a964",92441:"6ceb3fa3",92501:"2441982c",92524:"6e1463fc",92603:"0277270a",92823:"a13b21fb",92932:"c4f225a7",93260:"21b54427",93668:"1a8ed604",93910:"1234f229",94078:"aa54548e",94498:"e1d76eaf",94715:"cf749061",95125:"57501e4a",95176:"9c49e7fa",95335:"fec6fd9f",96265:"ab7c4ade",96444:"fd46d237",96882:"c2d2eada",96979:"a619b685",97052:"ff439e75",97224:"7caf9754",97329:"4677c004",97883:"93cf27b2",98062:"8e384b9f",98217:"000115b7",98398:"7bb61fdd",98458:"ddd4164b",98688:"c044db56",98885:"de905169",99674:"5f24eb80"}[d]+".chunk.css"}}(),function(){__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(d){if(typeof window=="object")return window}}()}(),function(){__webpack_require__.hmd=function(d){return d=Object.create(d),d.children||(d.children=[]),Object.defineProperty(d,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+d.id)}}),d}}(),function(){__webpack_require__.o=function(d,g){return Object.prototype.hasOwnProperty.call(d,g)}}(),function(){var d={};__webpack_require__.l=function(g,e,r,i){if(d[g]){d[g].push(e);return}var l,c;if(r!==void 0)for(var f=document.getElementsByTagName("script"),u=0;u{const K=Xf(t,s,Q)||Xf(k,s,Q)||Xf(_,s,Q);return K&&(j[Q]=K),j},{})}function Xf(k,t,n){return k&&k.hasAttributeNS(t,n)?k.getAttributeNS(t,n):null}function Wf(k){return new Error(`Could not parse ttml timestamp ${k}`)}function uf(k,t){if(!k)return null;let n=Mf(k);return n===null&&(Af.test(k)?n=id(k,t):Cf.test(k)&&(n=Hf(k,t))),n}function id(k,t){const n=Af.exec(k),s=(n[4]|0)+(n[5]|0)/t.subFrameRate;return(n[1]|0)*3600+(n[2]|0)*60+(n[3]|0)+s/t.frameRate}function Hf(k,t){const n=Cf.exec(k),s=Number(n[1]);switch(n[2]){case"h":return s*3600;case"m":return s*60;case"ms":return s*1e3;case"f":return s/t.frameRate;case"t":return s/t.tickRate}return s}class jf{constructor(t,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=t,this.trackName=n}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(t,n,s){(this.startTime===null||this.startTime>t)&&(this.startTime=t),this.endTime=n,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class ad{constructor(t){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=y(),this.captionsProperties=void 0,this.hls=t,this.config=t.config,this.Cues=t.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},t.on(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(u.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(u.FRAG_LOADING,this.onFragLoading,this),t.on(u.FRAG_LOADED,this.onFragLoaded,this),t.on(u.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.on(u.FRAG_DECRYPTED,this.onFragDecrypted,this),t.on(u.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(u.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.on(u.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:t}=this;t.off(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(u.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(u.FRAG_LOADING,this.onFragLoading,this),t.off(u.FRAG_LOADED,this.onFragLoaded,this),t.off(u.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.off(u.FRAG_DECRYPTED,this.onFragDecrypted,this),t.off(u.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(u.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.off(u.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const t=new jf(this,"textTrack1"),n=new jf(this,"textTrack2"),s=new jf(this,"textTrack3"),_=new jf(this,"textTrack4");this.cea608Parser1=new yl(1,t,n),this.cea608Parser2=new yl(3,s,_)}addCues(t,n,s,_,w){let I=!1;for(let j=w.length;j--;){const Q=w[j],K=Gf(Q[0],Q[1],n,s);if(K>=0&&(Q[0]=Math.min(Q[0],n),Q[1]=Math.max(Q[1],s),I=!0,K/(s-n)>.5))return}if(I||w.push([n,s]),this.config.renderTextTracksNatively){const j=this.captionsTracks[t];this.Cues.newCue(j,n,s,_)}else{const j=this.Cues.newCue(null,n,s,_);this.hls.trigger(u.CUES_PARSED,{type:"captions",cues:j,track:t})}}onInitPtsFound(t,{frag:n,id:s,initPTS:_,timescale:w,trackId:I}){const{unparsedVttFrags:j}=this;s===o.MAIN&&(this.initPTS[n.cc]={baseTime:_,timescale:w,trackId:I}),j.length&&(this.unparsedVttFrags=[],j.forEach(Q=>{this.initPTS[Q.frag.cc]?this.onFragLoaded(u.FRAG_LOADED,Q):this.hls.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:Q.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(t,n){const{media:s}=this;if(s)for(let _=0;_{Js(_[w]),delete _[w]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=y(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:t}=this;if(!t)return;const n=t.textTracks;if(n)for(let s=0;sw.textCodec===eu);if(this.config.enableWebVTT||_&&this.config.enableIMSC1){if(Df(this.tracks,s)){this.tracks=s;return}if(this.textTracks=[],this.tracks=s,this.config.renderTextTracksNatively){const I=this.media,j=I?rc(I.textTracks):null;if(this.tracks.forEach((Q,K)=>{let se;if(j){let de=null;for(let xe=0;xeK!==null).map(K=>K.label);Q.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${Q.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const I=this.tracks.map(j=>({label:j.name,kind:j.type.toLowerCase(),default:j.default,subtitleTrack:j}));this.hls.trigger(u.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:I})}}}onManifestLoaded(t,n){this.config.enableCEA708Captions&&n.captions&&n.captions.forEach(s=>{const _=/(?:CC|SERVICE)([1-4])/.exec(s.instreamId);if(!_)return;const w=`textTrack${_[1]}`,I=this.captionsProperties[w];I&&(I.label=s.name,s.lang&&(I.languageCode=s.lang),I.media=s)})}closedCaptionsForLevel(t){const n=this.hls.levels[t.level];return n==null?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(t,n){if(this.enabled&&n.frag.type===o.MAIN){var s,_;const{cea608Parser1:w,cea608Parser2:I,lastSn:j}=this,{cc:Q,sn:K}=n.frag,se=(s=(_=n.part)==null?void 0:_.index)!=null?s:-1;w&&I&&(K!==j+1||K===j&&se!==this.lastPartIndex+1||Q!==this.lastCc)&&(w.reset(),I.reset()),this.lastCc=Q,this.lastSn=K,this.lastPartIndex=se}}onFragLoaded(t,n){const{frag:s,payload:_}=n;if(s.type===o.SUBTITLE)if(_.byteLength){const w=s.decryptdata,I="stats"in n;if(w==null||!w.encrypted||I){const j=this.tracks[s.level],Q=this.vttCCs;Q[s.cc]||(Q[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),j&&j.textCodec===eu?this._parseIMSC1(s,_):this._parseVTTs(n)}}else this.hls.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")})}_parseIMSC1(t,n){const s=this.hls;Bc(n,this.initPTS[t.cc],_=>{this._appendCues(_,t.level),s.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})},_=>{s.logger.log(`Failed to parse IMSC1: ${_}`),s.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:_})})}_parseVTTs(t){var n;const{frag:s,payload:_}=t,{initPTS:w,unparsedVttFrags:I}=this,j=w.length-1;if(!w[s.cc]&&j===-1){I.push(t);return}const Q=this.hls,K=(n=s.initSegment)!=null&&n.data?Qt(s.initSegment.data,new Uint8Array(_)).buffer:_;Fc(K,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,se=>{this._appendCues(se,s.level),Q.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})},se=>{const de=se.message==="Missing initPTS for VTT MPEGTS";de?I.push(t):this._fallbackToIMSC1(s,_),Q.logger.log(`Failed to parse VTT cue: ${se}`),!(de&&j>s.cc)&&Q.trigger(u.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:se})})}_fallbackToIMSC1(t,n){const s=this.tracks[t.level];s.textCodec||Bc(n,this.initPTS[t.cc],()=>{s.textCodec=eu,this._parseIMSC1(t,n)},()=>{s.textCodec="wvtt"})}_appendCues(t,n){const s=this.hls;if(this.config.renderTextTracksNatively){const _=this.textTracks[n];if(!_||_.mode==="disabled")return;t.forEach(w=>Ks(_,w))}else{const _=this.tracks[n];if(!_)return;const w=_.default?"default":"subtitles"+n;s.trigger(u.CUES_PARSED,{type:"subtitles",cues:t,track:w})}}onFragDecrypted(t,n){const{frag:s}=n;s.type===o.SUBTITLE&&this.onFragLoaded(u.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(t,n){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:s,samples:_}=n;if(!(s.type===o.MAIN&&this.closedCaptionsForLevel(s)==="NONE"))for(let w=0;w<_.length;w++){const I=_[w].bytes;if(I){this.cea608Parser1||this.initCea608Parsers();const j=this.extractCea608Data(I);this.cea608Parser1.addData(_[w].pts,j[0]),this.cea608Parser2.addData(_[w].pts,j[1])}}}onBufferFlushing(t,{startOffset:n,endOffset:s,endOffsetSubtitles:_,type:w}){const{media:I}=this;if(!(!I||I.currentTimecu(j[Q],n,s))}if(this.config.renderTextTracksNatively&&n===0&&_!==void 0){const{textTracks:j}=this;Object.keys(j).forEach(Q=>cu(j[Q],n,_))}}}extractCea608Data(t){const n=[[],[]],s=t[0]&31;let _=2;for(let w=0;w=16?Q--:Q++;const ke=fl(K.trim()),Re=sf(t,n,ke);k!=null&&(de=k.cues)!=null&&de.getCueById(Re)||(I=new se(t,n,ke),I.id=Re,I.line=xe+1,I.align="left",I.position=10+Math.min(80,Math.floor(Q*8/32)*10),_.push(I))}return k&&_.length&&(_.sort((xe,ke)=>xe.line==="auto"||ke.line==="auto"?0:xe.line>8&&ke.line>8?ke.line-xe.line:xe.line-ke.line),_.forEach(xe=>Ks(k,xe))),_}};function ge(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(k){}return!1}const Oe=/(\d+)-(\d+)\/(\d+)/;class rt{constructor(t){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=t.fetchSetup||gn,this.controller=new self.AbortController,this.stats=new z}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var t;this.abortInternal(),(t=this.callbacks)!=null&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(t,n,s){const _=this.stats;if(_.loading.start)throw new Error("Loader can only be used once.");_.loading.start=self.performance.now();const w=Ht(t,this.controller.signal),I=t.responseType==="arraybuffer",j=I?"byteLength":"length",{maxTimeToFirstByteMs:Q,maxLoadTimeMs:K}=n.loadPolicy;this.context=t,this.config=n,this.callbacks=s,this.request=this.fetchSetup(t,w),self.clearTimeout(this.requestTimeout),n.timeout=Q&&r(Q)?Q:K,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(_,t,this.response))},n.timeout),(ho(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(de=>{var xe;this.response=this.loader=de;const ke=Math.max(self.performance.now(),_.loading.start);if(self.clearTimeout(this.requestTimeout),n.timeout=K,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(_,t,this.response))},K-(ke-_.loading.start)),!de.ok){const{status:at,statusText:it}=de;throw new ki(it||"fetch, bad network response",at,de)}_.loading.first=ke,_.total=Lr(de.headers)||_.total;const Re=(xe=this.callbacks)==null?void 0:xe.onProgress;return Re&&r(n.highWaterMark)?this.loadProgressively(de,_,t,n.highWaterMark,Re):I?de.arrayBuffer():t.responseType==="json"?de.json():de.text()}).then(de=>{var xe,ke;const Re=this.response;if(!Re)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),_.loading.end=Math.max(self.performance.now(),_.loading.first);const at=de[j];at&&(_.loaded=_.total=at);const it={url:Re.url,data:de,code:Re.status},Xt=(xe=this.callbacks)==null?void 0:xe.onProgress;Xt&&!r(n.highWaterMark)&&Xt(_,t,de,Re),(ke=this.callbacks)==null||ke.onSuccess(it,_,t,Re)}).catch(de=>{var xe;if(self.clearTimeout(this.requestTimeout),_.aborted)return;const ke=de&&de.code||0,Re=de?de.message:null;(xe=this.callbacks)==null||xe.onError({code:ke,text:Re},t,de?de.details:null,_)})}getCacheAge(){let t=null;if(this.response){const n=this.response.headers.get("age");t=n?parseFloat(n):null}return t}getResponseHeader(t){return this.response?this.response.headers.get(t):null}loadProgressively(t,n,s,_=0,w){const I=new Sr,j=t.body.getReader(),Q=()=>j.read().then(K=>{if(K.done)return I.dataLength&&w(n,s,I.flush().buffer,t),Promise.resolve(new ArrayBuffer(0));const se=K.value,de=se.length;return n.loaded+=de,de<_||I.dataLength?(I.push(se),I.dataLength>=_&&w(n,s,I.flush().buffer,t)):w(n,s,se.buffer,t),Q()}).catch(()=>Promise.reject());return Q()}}function Ht(k,t){const n={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(v({},k.headers))};return k.rangeEnd&&n.headers.set("Range","bytes="+k.rangeStart+"-"+String(k.rangeEnd-1)),n}function dr(k){const t=Oe.exec(k);if(t)return parseInt(t[2])-parseInt(t[1])+1}function Lr(k){const t=k.get("Content-Range");if(t){const s=dr(t);if(r(s))return s}const n=k.get("Content-Length");if(n)return parseInt(n)}function gn(k,t){return new self.Request(k.url,t)}class ki extends Error{constructor(t,n,s){super(t),this.code=void 0,this.details=void 0,this.code=n,this.details=s}}const Ua=/^age:\s*[\d.]+\s*$/im;class Vn{constructor(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=t&&t.xhrSetup||null,this.stats=new z,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,t.readyState!==4&&(this.stats.aborted=!0,t.abort()))}abort(){var t;this.abortInternal(),(t=this.callbacks)!=null&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(t,n,s){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=n,this.callbacks=s,this.loadInternal()}loadInternal(){const{config:t,context:n}=this;if(!t||!n)return;const s=this.loader=new self.XMLHttpRequest,_=this.stats;_.loading.first=0,_.loaded=0,_.aborted=!1;const w=this.xhrSetup;w?Promise.resolve().then(()=>{if(!(this.loader!==s||this.stats.aborted))return w(s,n.url)}).catch(I=>{if(!(this.loader!==s||this.stats.aborted))return s.open("GET",n.url,!0),w(s,n.url)}).then(()=>{this.loader!==s||this.stats.aborted||this.openAndSendXhr(s,n,t)}).catch(I=>{var j;(j=this.callbacks)==null||j.onError({code:s.status,text:I.message},n,s,_)}):this.openAndSendXhr(s,n,t)}openAndSendXhr(t,n,s){t.readyState||t.open("GET",n.url,!0);const _=n.headers,{maxTimeToFirstByteMs:w,maxLoadTimeMs:I}=s.loadPolicy;if(_)for(const j in _)t.setRequestHeader(j,_[j]);n.rangeEnd&&t.setRequestHeader("Range","bytes="+n.rangeStart+"-"+(n.rangeEnd-1)),t.onreadystatechange=this.readystatechange.bind(this),t.onprogress=this.loadprogress.bind(this),t.responseType=n.responseType,self.clearTimeout(this.requestTimeout),s.timeout=w&&r(w)?w:I,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),t.send()}readystatechange(){const{context:t,loader:n,stats:s}=this;if(!t||!n)return;const _=n.readyState,w=this.config;if(!s.aborted&&_>=2&&(s.loading.first===0&&(s.loading.first=Math.max(self.performance.now(),s.loading.start),w.timeout!==w.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),w.timeout=w.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),w.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start)))),_===4)){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;const K=n.status,se=n.responseType==="text"?n.responseText:null;if(K>=200&&K<300){const Re=se!=null?se:n.response;if(Re!=null){var I,j;s.loading.end=Math.max(self.performance.now(),s.loading.first);const at=n.responseType==="arraybuffer"?Re.byteLength:Re.length;s.loaded=s.total=at,s.bwEstimate=s.total*8e3/(s.loading.end-s.loading.first);const it=(I=this.callbacks)==null?void 0:I.onProgress;it&&it(s,t,Re,n);const Xt={url:n.responseURL,data:Re,code:K};(j=this.callbacks)==null||j.onSuccess(Xt,s,t,n);return}}const de=w.loadPolicy.errorRetry,xe=s.retry,ke={url:t.url,data:void 0,code:K};if(ct(de,xe,!1,ke))this.retry(de);else{var Q;$.error(`${K} while loading ${t.url}`),(Q=this.callbacks)==null||Q.onError({code:K,text:n.statusText},t,n,s)}}}loadtimeout(){if(!this.config)return;const t=this.config.loadPolicy.timeoutRetry,n=this.stats.retry;if(ct(t,n,!0))this.retry(t);else{var s;$.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);const _=this.callbacks;_&&(this.abortInternal(),_.onTimeout(this.stats,this.context,this.loader))}}retry(t){const{context:n,stats:s}=this;this.retryDelay=qn(t,s.retry),s.retry++,$.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${n==null?void 0:n.url}, retrying ${s.retry}/${t.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(t){const n=this.stats;n.loaded=t.loaded,t.lengthComputable&&(n.total=t.total)}getCacheAge(){let t=null;if(this.loader&&Ua.test(this.loader.getAllResponseHeaders())){const n=this.loader.getResponseHeader("age");t=n?parseFloat(n):null}return t}getResponseHeader(t){return this.loader&&new RegExp(`^${t}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(t):null}}const fa={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},za=b(b({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:Vn,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:me,bufferController:Mo,capLevelController:Bl,errorController:$r,fpsController:Fo,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:pu,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:fa},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},ka()),{},{subtitleStreamController:Pl,subtitleTrackController:Lc,timelineController:ad,audioStreamController:Lo,audioTrackController:wl,emeController:tn,cmcdController:P,contentSteeringController:L,interstitialsController:wf});function ka(){return{cueHandler:U,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function sn(k,t,n){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(t.liveMaxLatencyDurationCount!==void 0&&(t.liveSyncDurationCount===void 0||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(t.liveMaxLatencyDuration!==void 0&&(t.liveSyncDuration===void 0||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const s=Ur(k),_=["manifest","level","frag"],w=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return _.forEach(I=>{const j=`${I==="level"?"playlist":I}LoadPolicy`,Q=t[j]===void 0,K=[];w.forEach(se=>{const de=`${I}Loading${se}`,xe=t[de];if(xe!==void 0&&Q){K.push(de);const ke=s[j].default;switch(t[j]={default:ke},se){case"TimeOut":ke.maxLoadTimeMs=xe,ke.maxTimeToFirstByteMs=xe;break;case"MaxRetry":ke.errorRetry.maxNumRetry=xe,ke.timeoutRetry.maxNumRetry=xe;break;case"RetryDelay":ke.errorRetry.retryDelayMs=xe,ke.timeoutRetry.retryDelayMs=xe;break;case"MaxRetryTimeout":ke.errorRetry.maxRetryDelayMs=xe,ke.timeoutRetry.maxRetryDelayMs=xe;break}}}),K.length&&n.warn(`hls.js config: "${K.join('", "')}" setting(s) are deprecated, use "${j}": ${zi(t[j])}`)}),b(b({},s),t)}function Ur(k){return k&&typeof k=="object"?Array.isArray(k)?k.map(Ur):Object.keys(k).reduce((t,n)=>(t[n]=Ur(k[n]),t),{}):k}function an(k,t){const n=k.loader;n!==rt&&n!==Vn?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),k.progressive=!1):ge()&&(k.loader=rt,k.progressive=!0,k.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}const Dn=2,zn=.1,Xa=.05,Vi=100;class Qa extends to{constructor(t,n){super("gap-controller",t.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var s;(s=this.media)!=null&&s.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var s;this.ended=((s=this.media)==null?void 0:s.currentTime)||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!1})}},this.hls=t,this.fragmentTracker=n,this.registerListeners()}registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(t,n){this.setInterval(Vi),this.mediaSource=n.mediaSource;const s=this.media=n.media;ja(s,"playing",this.onMediaPlaying),ja(s,"waiting",this.onMediaWaiting),ja(s,"ended",this.onMediaEnded)}onMediaDetaching(t,n){this.clearInterval();const{media:s}=this;s&&(fs(s,"playing",this.onMediaPlaying),fs(s,"waiting",this.onMediaWaiting),fs(s,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(t,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var t;if(!((t=this.media)!=null&&t.readyState)||!this.hasBuffered)return;const n=this.media.currentTime;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(t,n){var s,_;const w=(s=this.hls)==null?void 0:s.config;if(!w)return;const I=this.media;if(!I)return;const{seeking:j}=I,Q=this.seeking&&!j,K=!this.seeking&&j,se=I.paused&&!j||I.ended||I.playbackRate===0;if(this.seeking=j,t!==n){n&&(this.ended=0),this.moved=!0,j||(this.nudgeRetry=0,w.nudgeOnVideoHole&&!se&&t>n&&this.nudgeOnVideoHole(t,n)),this.waiting===0&&this.stallResolved(t);return}if(K||Q){Q&&this.stallResolved(t);return}if(se){this.nudgeRetry=0,this.stallResolved(t),!this.ended&&I.ended&&this.hls&&(this.ended=t||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!1}));return}if(!vi.getBuffered(I).length){this.nudgeRetry=0;return}const de=vi.bufferInfo(I,t,0),xe=de.nextStart||0,ke=this.fragmentTracker;if(j&&ke&&this.hls){const vn=ms(this.hls.inFlightFragments,t),Zr=de.len>Dn,fn=!xe||vn||xe-t>Dn&&!ke.getPartialFragment(t);if(Zr||fn)return;this.moved=!1}const Re=(_=this.hls)==null?void 0:_.latestLevelDetails;if(!this.moved&&this.stalled!==null&&ke){if(!(de.len>0)&&!xe)return;const Zr=Math.max(xe,de.start||0)-t,ln=!!(Re!=null&&Re.live)?Re.targetduration*2:Dn,Qr=Kl(t,ke);if(Zr>0&&(Zr<=ln||Qr)){I.paused||this._trySkipBufferHole(Qr);return}}const at=w.detectStallWithCurrentTimeMs,it=self.performance.now(),Xt=this.waiting;let ar=this.stalled;if(ar===null)if(Xt>0&&it-Xt=at||Xt)&&this.hls){var Ar;if(((Ar=this.mediaSource)==null?void 0:Ar.readyState)==="ended"&&!(Re!=null&&Re.live)&&Math.abs(t-((Re==null?void 0:Re.edge)||0))<1){if(this.ended)return;this.ended=t||1,this.hls.trigger(u.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(de),!this.media||!this.hls)return}const zr=vi.bufferInfo(I,t,w.maxBufferHole);this._tryFixBufferStall(zr,lr,t)}stallResolved(t){const n=this.stalled;if(n&&this.hls&&(this.stalled=null,this.stallReported)){const s=self.performance.now()-n;this.log(`playback not stuck anymore @${t}, after ${Math.round(s)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(u.STALL_RESOLVED,{})}}nudgeOnVideoHole(t,n){var s;const _=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(s=this.buffered.audio)!=null&&s.length&&_&&_.length>1&&t>_.end(0)){const w=vi.bufferedInfo(vi.timeRangesToArray(this.buffered.audio),t,0);if(w.len>1&&n>=w.start){const I=vi.timeRangesToArray(_),j=vi.bufferedInfo(I,n,0).bufferedIndex;if(j>-1&&jj)&&se-K<1&&t-K<2){const de=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${t} hole: ${K} -> ${se} buffered index: ${Q}`);this.warn(de.message),this.media.currentTime+=1e-6;let xe=Kl(t,this.fragmentTracker);xe&&"fragment"in xe?xe=xe.fragment:xe||(xe=void 0);const ke=vi.bufferInfo(this.media,t,0);this.hls.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:de,reason:de.message,frag:xe,buffer:ke.len,bufferInfo:ke})}}}}}_tryFixBufferStall(t,n,s){var _,w;const{fragmentTracker:I,media:j}=this,Q=(_=this.hls)==null?void 0:_.config;if(!j||!I||!Q)return;const K=(w=this.hls)==null?void 0:w.latestLevelDetails,se=Kl(s,I);if((se||K!=null&&K.live&&s1&&t.len>Q.maxBufferHole||t.nextStart&&(t.nextStart-sQ.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(t))}adjacentTraversal(t,n){const s=this.fragmentTracker,_=t.nextStart;if(s&&_){const w=s.getFragAtPos(n,o.MAIN),I=s.getFragAtPos(_,o.MAIN);if(w&&I)return I.sn-w.sn<2}return!1}_reportStall(t){const{hls:n,media:s,stallReported:_,stalled:w}=this;if(!_&&w!==null&&s&&n){this.stallReported=!0;const I=new Error(`Playback stalling at @${s.currentTime} due to low buffer (${zi(t)})`);this.warn(I.message),n.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.BUFFER_STALLED_ERROR,fatal:!1,error:I,buffer:t.len,bufferInfo:t,stalled:{start:w}})}}_trySkipBufferHole(t){var n;const{fragmentTracker:s,media:_}=this,w=(n=this.hls)==null?void 0:n.config;if(!_||!s||!w)return 0;const I=_.currentTime,j=vi.bufferInfo(_,I,0),Q=I0&&j.len<1&&_.readyState<3,xe=Q-I;if(xe>0&&(se||de)){if(xe>w.maxBufferHole){let Re=!1;if(I===0){const at=s.getAppendedFrag(0,o.MAIN);at&&Q{const k=od();try{k&&new k(0,Number.POSITIVE_INFINITY,"")}catch(t){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class Sd{constructor(t){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(u.EVENT_CUE_ENTER,{})},this.hls=t,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.on(u.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(u.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.off(u.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(u.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(t,n){var s;this.media=n.media,((s=n.overrides)==null?void 0:s.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var t;const n=(t=this.hls)==null?void 0:t.latestLevelDetails;n&&this.updateDateRangeCues(n)}onMediaDetaching(t,n){this.media=null,!n.transferMedia&&(this.id3Track&&(this.removeCues&&Js(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(t){const n=this.getID3Track(t.textTracks);return n.mode="hidden",n}getID3Track(t){if(this.media){for(let n=0;ned&&(de=ed),de-se<=0&&(de=se+sd);for(let ke=0;kese.type===yn.audioId3&&Q:_==="video"?K=se=>se.type===yn.emsg&&j:K=se=>se.type===yn.audioId3&&Q||se.type===yn.emsg&&j,cu(w,n,s,K)}}onLevelUpdated(t,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(t,n){Math.abs(n.drift)>.01&&this.updateDateRangeCues(n.details)}updateDateRangeCues(t,n){if(!this.hls||!this.media)return;const{assetPlayerId:s,timelineOffset:_,enableDateRangeMetadataCues:w,interstitialsController:I}=this.hls.config;if(!w)return;const j=od();if(s&&_&&!I){const{fragmentStart:at,fragmentEnd:it}=t;let Xt=this.assetCue;Xt?(Xt.startTime=at,Xt.endTime=it):j&&(Xt=this.assetCue=ud(j,at,it,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),Xt&&(Xt.id=s,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(Xt),Xt.addEventListener("enter",this.onEventCueEnter)))}if(!t.hasProgramDateTime)return;const{id3Track:Q}=this,{dateRanges:K}=t,se=Object.keys(K);let de=this.dateRangeCuesAppended;if(Q&&n){var xe;if((xe=Q.cues)!=null&&xe.length){const at=Object.keys(de).filter(it=>!se.includes(it));for(let it=at.length;it--;){var ke;const Xt=at[it],ar=(ke=de[Xt])==null?void 0:ke.cues;delete de[Xt],ar&&Object.keys(ar).forEach(lr=>{const Ar=ar[lr];if(Ar){Ar.removeEventListener("enter",this.onEventCueEnter);try{Q.removeCue(Ar)}catch(zr){}}})}}else de=this.dateRangeCuesAppended={}}const Re=t.fragments[t.fragments.length-1];if(!(se.length===0||!r(Re==null?void 0:Re.programDateTime))){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let at=0;at{if(Si!==Xt.id){const qi=K[Si];if(qi.class===Xt.class&&qi.startDate>Xt.startDate&&(!kn||Xt.startDate.01&&(Si.startTime=ar,Si.endTime=vn);else if(j){let qi=Xt.attr[kn];jo(kn)&&(qi=G(qi));const Ji=ud(j,ar,vn,{key:kn,data:qi},yn.dateRange);Ji&&(Ji.id=it,this.id3Track.addCue(Ji),Ar[kn]=Ji,I&&(kn==="X-ASSET-LIST"||kn==="X-ASSET-URL")&&Ji.addEventListener("enter",this.onEventCueEnter))}}de[it]={cues:Ar,dateRange:Xt,durationKnown:zr}}}}}class Ad{constructor(t){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{const{media:n}=this,s=this.levelDetails;if(!n||!s)return;this.currentTime=n.currentTime;const _=this.computeLatency();if(_===null)return;this._latency=_;const{lowLatencyMode:w,maxLiveSyncPlaybackRate:I}=this.config;if(!w||I===1||!s.live)return;const j=this.targetLatency;if(j===null)return;const Q=_-j,K=Math.min(this.maxLatency,j+s.targetduration);if(Q.05&&this.forwardBufferLength>1){const de=Math.min(2,Math.max(1,I)),xe=Math.round(2/(1+Math.exp(-.75*Q-this.edgeStalled))*20)/20,ke=Math.min(de,Math.max(1,xe));this.changeMediaPlaybackRate(n,ke)}else n.playbackRate!==1&&n.playbackRate!==0&&this.changeMediaPlaybackRate(n,1)},this.hls=t,this.config=t.config,this.registerListeners()}get levelDetails(){var t;return((t=this.hls)==null?void 0:t.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:t}=this;if(t.liveMaxLatencyDuration!==void 0)return t.liveMaxLatencyDuration;const n=this.levelDetails;return n?t.liveMaxLatencyDurationCount*n.targetduration:0}get targetLatency(){const t=this.levelDetails;if(t===null||this.hls===null)return null;const{holdBack:n,partHoldBack:s,targetduration:_}=t,{liveSyncDuration:w,liveSyncDurationCount:I,lowLatencyMode:j}=this.config,Q=this.hls.userConfig;let K=j&&s||n;(this._targetLatencyUpdated||Q.liveSyncDuration||Q.liveSyncDurationCount||K===0)&&(K=w!==void 0?w:I*_);const se=_;return K+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,se)}set targetLatency(t){this.stallCount=0,this.config.liveSyncDuration=t,this._targetLatencyUpdated=!0}get liveSyncPosition(){const t=this.estimateLiveEdge(),n=this.targetLatency;if(t===null||n===null)return null;const s=this.levelDetails;if(s===null)return null;const _=s.edge,w=t-n-this.edgeStalled,I=_-s.totalduration,j=_-(this.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(I,w),j)}get drift(){const t=this.levelDetails;return t===null?1:t.drift}get edgeStalled(){const t=this.levelDetails;if(t===null)return 0;const n=(this.config.lowLatencyMode&&t.partTarget||t.targetduration)*3;return Math.max(t.age-n,0)}get forwardBufferLength(){const{media:t}=this,n=this.levelDetails;if(!t||!n)return 0;const s=t.buffered.length;return(s?t.buffered.end(s-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:t}=this;t&&(t.on(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(u.ERROR,this.onError,this))}unregisterListeners(){const{hls:t}=this;t&&(t.off(u.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(u.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(u.ERROR,this.onError,this))}onMediaAttached(t,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(t,{details:n}){n.advanced&&this.onTimeupdate(),!n.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(t,n){var s;n.details===f.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(s=this.levelDetails)!=null&&s.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(t,n){var s,_;t.playbackRate!==n&&((s=this.hls)==null||s.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(_=this.targetLatency)==null?void 0:_.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${t.playbackRate} to ${n}`),t.playbackRate=n)}estimateLiveEdge(){const t=this.levelDetails;return t===null?null:t.edge+t.age}computeLatency(){const t=this.estimateLiveEdge();return t===null?null:t-this.currentTime}}class Cd extends pc{constructor(t,n){super(t,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){const{hls:t}=this;t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(u.LEVEL_LOADED,this.onLevelLoaded,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(u.FRAG_BUFFERED,this.onFragBuffered,this),t.on(u.ERROR,this.onError,this)}_unregisterListeners(){const{hls:t}=this;t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(u.LEVEL_LOADED,this.onLevelLoaded,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(u.FRAG_BUFFERED,this.onFragBuffered,this),t.off(u.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(n=>{n.loadError=0,n.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(t,n){this.resetLevels()}onManifestLoaded(t,n){const s=this.hls.config.preferManagedMediaSource,_=[],w={},I={};let j=!1,Q=!1,K=!1;n.levels.forEach(se=>{const de=se.attrs;let{audioCodec:xe,videoCodec:ke}=se;xe&&(se.audioCodec=xe=pt(xe,s)||void 0),ke&&(ke=se.videoCodec=er(ke));const{width:Re,height:at,unknownCodecs:it}=se,Xt=(it==null?void 0:it.length)||0;if(j||(j=!!(Re&&at)),Q||(Q=!!ke),K||(K=!!xe),Xt||xe&&!this.isAudioSupported(xe)||ke&&!this.isVideoSupported(ke)){this.log(`Some or all CODECS not supported "${de.CODECS}"`);return}const{CODECS:ar,"FRAME-RATE":lr,"HDCP-LEVEL":Ar,"PATHWAY-ID":zr,RESOLUTION:vn,"VIDEO-RANGE":Zr}=de,ln=`${`${zr||"."}-`}${se.bitrate}-${vn}-${lr}-${ar}-${Zr}-${Ar}`;if(w[ln])if(w[ln].uri!==se.url&&!se.attrs["PATHWAY-ID"]){const Qr=I[ln]+=1;se.attrs["PATHWAY-ID"]=new Array(Qr+1).join(".");const kn=this.createLevel(se);w[ln]=kn,_.push(kn)}else w[ln].addGroupId("audio",de.AUDIO),w[ln].addGroupId("text",de.SUBTITLES);else{const Qr=this.createLevel(se);w[ln]=Qr,I[ln]=1,_.push(Qr)}}),this.filterAndSortMediaOptions(_,n,j,Q,K)}createLevel(t){const n=new mi(t),s=t.supplemental;if(s!=null&&s.videoCodec&&!this.isVideoSupported(s.videoCodec)){const _=new Error(`SUPPLEMENTAL-CODECS not supported "${s.videoCodec}"`);this.log(_.message),n.supportedResult=Bt(_,[])}return n}isAudioSupported(t){return Ae(t,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(t){return Ae(t,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(t,n,s,_,w){var I;let j=[],Q=[],K=t;const se=((I=n.stats)==null?void 0:I.parsing)||{};if((s||_)&&w&&(K=K.filter(({videoCodec:ar,videoRange:lr,width:Ar,height:zr})=>(!!ar||!!(Ar&&zr))&&Bi(lr))),K.length===0){Promise.resolve().then(()=>{if(this.hls){let ar="no level with compatible codecs found in manifest",lr=ar;n.levels.length&&(lr=`one or more CODECS in variant not supported: ${zi(n.levels.map(zr=>zr.attrs.CODECS).filter((zr,vn,Zr)=>Zr.indexOf(zr)===vn))}`,this.warn(lr),ar+=` (${lr})`);const Ar=new Error(ar);this.hls.trigger(u.ERROR,{type:c.MEDIA_ERROR,details:f.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:Ar,reason:lr})}}),se.end=performance.now();return}n.audioTracks&&(j=n.audioTracks.filter(ar=>!ar.audioCodec||this.isAudioSupported(ar.audioCodec)),hd(j)),n.subtitles&&(Q=n.subtitles,hd(Q));const de=K.slice(0);K.sort((ar,lr)=>{if(ar.attrs["HDCP-LEVEL"]!==lr.attrs["HDCP-LEVEL"])return(ar.attrs["HDCP-LEVEL"]||"")>(lr.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&ar.height!==lr.height)return ar.height-lr.height;if(ar.frameRate!==lr.frameRate)return ar.frameRate-lr.frameRate;if(ar.videoRange!==lr.videoRange)return ii.indexOf(ar.videoRange)-ii.indexOf(lr.videoRange);if(ar.videoCodec!==lr.videoCodec){const Ar=et(ar.videoCodec),zr=et(lr.videoCodec);if(Ar!==zr)return zr-Ar}if(ar.uri===lr.uri&&ar.codecSet!==lr.codecSet){const Ar=yt(ar.codecSet),zr=yt(lr.codecSet);if(Ar!==zr)return zr-Ar}return ar.averageBitrate!==lr.averageBitrate?ar.averageBitrate-lr.averageBitrate:0});let xe=de[0];if(this.steering&&(K=this.steering.filterParsedLevels(K),K.length!==de.length)){for(let ar=0;arAr&&Ar===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=zr)}break}const Re=w&&!_,at=this.hls.config,it=!!(at.audioStreamController&&at.audioTrackController),Xt={levels:K,audioTracks:j,subtitleTracks:Q,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:w,video:_,altAudio:it&&!Re&&j.some(ar=>!!ar.url)};se.end=performance.now(),this.hls.trigger(u.MANIFEST_PARSED,Xt)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(t){const n=this._levels;if(n.length===0)return;if(t<0||t>=n.length){const se=new Error("invalid level idx"),de=t<0;if(this.hls.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.LEVEL_SWITCH_ERROR,level:t,fatal:de,error:se,reason:se.message}),de)return;t=Math.min(t,n.length-1)}const s=this.currentLevelIndex,_=this.currentLevel,w=_?_.attrs["PATHWAY-ID"]:void 0,I=n[t],j=I.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=I,s===t&&_&&w===j)return;this.log(`Switching to level ${t} (${I.height?I.height+"p ":""}${I.videoRange?I.videoRange+" ":""}${I.codecSet?I.codecSet+" ":""}@${I.bitrate})${j?" with Pathway "+j:""} from level ${s}${w?" with Pathway "+w:""}`);const Q={level:t,attrs:I.attrs,details:I.details,bitrate:I.bitrate,averageBitrate:I.averageBitrate,maxBitrate:I.maxBitrate,realBitrate:I.realBitrate,width:I.width,height:I.height,codecSet:I.codecSet,audioCodec:I.audioCodec,videoCodec:I.videoCodec,audioGroups:I.audioGroups,subtitleGroups:I.subtitleGroups,loaded:I.loaded,loadError:I.loadError,fragmentError:I.fragmentError,name:I.name,id:I.id,uri:I.uri,url:I.url,urlId:0,audioGroupIds:I.audioGroupIds,textGroupIds:I.textGroupIds};this.hls.trigger(u.LEVEL_SWITCHING,Q);const K=I.details;if(!K||K.live){const se=this.switchParams(I.uri,_==null?void 0:_.details,K);this.loadPlaylist(se)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(t){this.manualLevelIndex=t,this._startLevel===void 0&&(this._startLevel=t),t!==-1&&(this.level=t)}get firstLevel(){return this._firstLevel}set firstLevel(t){this._firstLevel=t}get startLevel(){if(this._startLevel===void 0){const t=this.hls.config.startLevel;return t!==void 0?t:this.hls.firstAutoLevel}return this._startLevel}set startLevel(t){this._startLevel=t}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(t){if(this.steering){const n=this.steering.pathways(),s=t.filter(_=>n.indexOf(_)!==-1);if(t.length<1){this.warn(`pathwayPriority ${t} should contain at least one pathway from list: ${n}`);return}this.steering.pathwayPriority=s}}onError(t,n){n.fatal||!n.context||n.context.type===h.LEVEL&&n.context.level===this.level&&this.checkRetry(n)}onFragBuffered(t,{frag:n}){if(n!==void 0&&n.type===o.MAIN){const s=n.elementaryStreams;if(!Object.keys(s).some(w=>!!s[w]))return;const _=this._levels[n.level];_!=null&&_.loadError&&(this.log(`Resetting level error count of ${_.loadError} on frag buffered`),_.loadError=0)}}onLevelLoaded(t,n){var s;const{level:_,details:w}=n,I=n.levelInfo;if(!I){var j;this.warn(`Invalid level index ${_}`),(j=n.deliveryDirectives)!=null&&j.skip&&(w.deltaUpdateFailed=!0);return}if(I===this.currentLevel||n.withoutMultiVariant){I.fragmentError===0&&(I.loadError=0);let Q=I.details;Q===n.details&&Q.advanced&&(Q=void 0),this.playlistLoaded(_,n,Q)}else(s=n.deliveryDirectives)!=null&&s.skip&&(w.deltaUpdateFailed=!0)}loadPlaylist(t){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,t)}loadingPlaylist(t,n){super.loadingPlaylist(t,n);const s=this.getUrlWithDirectives(t.uri,n),_=this.currentLevelIndex,w=t.attrs["PATHWAY-ID"],I=t.details,j=I==null?void 0:I.age;this.log(`Loading level index ${_}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${w?" Pathway "+w:""}${j&&I.live?" age "+j.toFixed(1)+(I.type?" "+I.type||0:""):""} ${s}`),this.hls.trigger(u.LEVEL_LOADING,{url:s,level:_,levelInfo:t,pathwayId:t.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(t){this.level=t,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=t)}removeLevel(t){var n;if(this._levels.length===1)return;const s=this._levels.filter((w,I)=>I!==t?!0:(this.steering&&this.steering.removeLevel(w),w===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,w.details&&w.details.fragments.forEach(j=>j.level=-1)),!1));hs(s),this._levels=s,this.currentLevelIndex>-1&&(n=this.currentLevel)!=null&&n.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const _=s.length-1;this._firstLevel=Math.min(this._firstLevel,_),this._startLevel&&(this._startLevel=Math.min(this._startLevel,_)),this.hls.trigger(u.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(t,{levels:n}){this._levels=n}checkMaxAutoUpdated(){const{autoLevelCapping:t,maxAutoLevel:n,maxHdcpLevel:s}=this.hls;this._maxAutoLevel!==n&&(this._maxAutoLevel=n,this.hls.trigger(u.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s}))}}function hd(k){const t={};k.forEach(n=>{const s=n.groupId||"";n.id=t[s]=t[s]||0,t[s]++})}function pd(){return self.SourceBuffer||self.WebKitSourceBuffer}function md(){if(!oe())return!1;const t=pd();return!t||t.prototype&&typeof t.prototype.appendBuffer=="function"&&typeof t.prototype.remove=="function"}function Td(){if(!md())return!1;const k=oe();return typeof(k==null?void 0:k.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>k.isTypeSupported(je(t,"video")))||["mp4a.40.2","fLaC"].some(t=>k.isTypeSupported(je(t,"audio"))))}function Pd(){var k;const t=pd();return typeof(t==null||(k=t.prototype)==null?void 0:k.changeType)=="function"}const vd=100;class _d extends jt{constructor(t,n,s){super(t,n,s,"stream-controller",o.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{const _=this.media,w=_?_.currentTime:null;if(w===null||!r(w)||(this.log(`Media seeked to ${w.toFixed(3)}`),!this.getBufferedFrag(w)))return;const I=this.getFwdBufferInfoAtPos(_,w,o.MAIN,0);if(I===null||I.len===0){this.warn(`Main forward buffer length at ${w} on "seeked" event ${I?I.len:"empty"})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:t}=this;t.on(u.MANIFEST_PARSED,this.onManifestParsed,this),t.on(u.LEVEL_LOADING,this.onLevelLoading,this),t.on(u.LEVEL_LOADED,this.onLevelLoaded,this),t.on(u.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.on(u.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.on(u.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.on(u.BUFFER_CREATED,this.onBufferCreated,this),t.on(u.BUFFER_FLUSHED,this.onBufferFlushed,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(u.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:t}=this;t.off(u.MANIFEST_PARSED,this.onManifestParsed,this),t.off(u.LEVEL_LOADED,this.onLevelLoaded,this),t.off(u.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),t.off(u.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),t.off(u.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),t.off(u.BUFFER_CREATED,this.onBufferCreated,this),t.off(u.BUFFER_FLUSHED,this.onBufferFlushed,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(u.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(t,n){if(this.levels){const{lastCurrentTime:s,hls:_}=this;if(this.stopLoad(),this.setInterval(vd),this.level=-1,!this.startFragRequested){let w=_.startLevel;w===-1&&(_.config.testBandwidth&&this.levels.length>1?(w=0,this.bitrateTest=!0):w=_.firstAutoLevel),_.nextLoadLevel=w,this.level=_.loadLevel,this._hasEnoughToStart=!!n}s>0&&t===-1&&!n&&(this.log(`Override startPosition with lastCurrentTime @${s.toFixed(3)}`),t=s),this.state=Ie.IDLE,this.nextLoadPosition=this.lastCurrentTime=t+this.timelineOffset,this.startPosition=n?-1:t,this.tick()}else this._forceStartLoad=!0,this.state=Ie.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Ie.WAITING_LEVEL:{const{levels:t,level:n}=this,s=t==null?void 0:t[n],_=s==null?void 0:s.details;if(_&&(!_.live||this.levelLastLoaded===s&&!this.waitForLive(s))){if(this.waitForCdnTuneIn(_))break;this.state=Ie.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Ie.IDLE;break}break}case Ie.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}this.state===Ie.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var t;super.onTickEnd(),(t=this.media)!=null&&t.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:t,levelLastLoaded:n,levels:s,media:_}=this;if(n===null||!_&&!this.primaryPrefetch&&(this.startFragRequested||!t.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const w=this.buffering?t.nextLoadLevel:t.loadLevel;if(!(s!=null&&s[w]))return;const I=s[w],j=this.getMainFwdBufferInfo();if(j===null)return;const Q=this.getLevelDetails();if(Q&&this._streamEnded(j,Q)){const at={};this.altAudio===2&&(at.type="video"),this.hls.trigger(u.BUFFER_EOS,at),this.state=Ie.ENDED;return}if(!this.buffering)return;t.loadLevel!==w&&t.manualLevel===-1&&this.log(`Adapting to level ${w} from level ${this.level}`),this.level=t.nextLoadLevel=w;const K=I.details;if(!K||this.state===Ie.WAITING_LEVEL||this.waitForLive(I)){this.level=w,this.state=Ie.WAITING_LEVEL,this.startFragRequested=!1;return}const se=j.len,de=this.getMaxBufferLength(I.maxBitrate);if(se>=de)return;this.backtrackFragment&&this.backtrackFragment.start>j.end&&(this.backtrackFragment=null);const xe=this.backtrackFragment?this.backtrackFragment.start:j.end;let ke=this.getNextFragment(xe,K);if(this.couldBacktrack&&!this.fragPrevious&&ke&&we(ke)&&this.fragmentTracker.getState(ke)!==pn.OK){var Re;const it=((Re=this.backtrackFragment)!=null?Re:ke).sn-K.startSN,Xt=K.fragments[it-1];Xt&&ke.cc===Xt.cc&&(ke=Xt,this.fragmentTracker.removeFragment(Xt))}else this.backtrackFragment&&j.len&&(this.backtrackFragment=null);if(ke&&this.isLoopLoading(ke,xe)){if(!ke.gap){const it=this.audioOnly&&!this.altAudio?ne.AUDIO:ne.VIDEO,Xt=(it===ne.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;Xt&&this.afterBufferFlushed(Xt,it,o.MAIN)}ke=this.getNextFragmentLoopLoading(ke,K,j,o.MAIN,de)}ke&&(ke.initSegment&&!ke.initSegment.data&&!this.bitrateTest&&(ke=ke.initSegment),this.loadFragment(ke,I,xe))}loadFragment(t,n,s){const _=this.fragmentTracker.getState(t);_===pn.NOT_LOADED||_===pn.PARTIAL?we(t)?this.bitrateTest?(this.log(`Fragment ${t.sn} of level ${t.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(t,n)):super.loadFragment(t,n,s):this._loadInitSegment(t,n):this.clearTrackerIfNeeded(t)}getBufferedFrag(t){return this.fragmentTracker.getBufferedFrag(t,o.MAIN)}followingBufferedFrag(t){return t?this.getBufferedFrag(t.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:t,media:n}=this;if(n!=null&&n.readyState){let s;const _=this.getAppendedFrag(n.currentTime);_&&_.start>1&&this.flushMainBuffer(0,_.start-1);const w=this.getLevelDetails();if(w!=null&&w.live){const j=this.getMainFwdBufferInfo();if(!j||j.len=I-n.maxFragLookUpTolerance&&w<=j;if(_!==null&&s.duration>_&&(w<_||!Q)){const se=n.liveMaxLatencyDuration!==void 0?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*t.targetduration;if((!Q&&s.readyState<4||w{this.hls&&this.hls.trigger(u.AUDIO_TRACK_SWITCHED,n)}),s.trigger(u.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}s.trigger(u.AUDIO_TRACK_SWITCHED,n)}}onAudioTrackSwitched(t,n){const s=ut(n.url,this.hls);if(s){const _=this.videoBuffer;_&&this.mediaBuffer!==_&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=_)}this.altAudio=s?2:0,this.tick()}onBufferCreated(t,n){const s=n.tracks;let _,w,I=!1;for(const j in s){const Q=s[j];if(Q.id==="main"){if(w=j,_=Q,j==="video"){const K=s[j];K&&(this.videoBuffer=K.buffer)}}else I=!0}I&&_?(this.log(`Alternate track found, use ${w}.buffered to schedule main fragment loading`),this.mediaBuffer=_.buffer):this.mediaBuffer=this.media}onFragBuffered(t,n){const{frag:s,part:_}=n,w=s.type===o.MAIN;if(w){if(this.fragContextChanged(s)){this.warn(`Fragment ${s.sn}${_?" p: "+_.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Ie.PARSED&&(this.state=Ie.IDLE);return}const j=_?_.stats:s.stats;this.fragLastKbps=Math.round(8*j.total/(j.buffering.end-j.loading.first)),we(s)&&(this.fragPrevious=s),this.fragBufferedComplete(s,_)}const I=this.media;I&&(!this._hasEnoughToStart&&vi.getBuffered(I).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),w&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(t,n){var s;if(n.fatal){this.state=Ie.ERROR;return}switch(n.details){case f.FRAG_GAP:case f.FRAG_PARSING_ERROR:case f.FRAG_DECRYPT_ERROR:case f.FRAG_LOAD_ERROR:case f.FRAG_LOAD_TIMEOUT:case f.KEY_LOAD_ERROR:case f.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(o.MAIN,n);break;case f.LEVEL_LOAD_ERROR:case f.LEVEL_LOAD_TIMEOUT:case f.LEVEL_PARSING_ERROR:!n.levelRetry&&this.state===Ie.WAITING_LEVEL&&((s=n.context)==null?void 0:s.type)===h.LEVEL&&(this.state=Ie.IDLE);break;case f.BUFFER_ADD_CODEC_ERROR:case f.BUFFER_APPEND_ERROR:if(n.parent!=="main")return;this.reduceLengthAndFlushBuffer(n)&&this.resetLoadingState();break;case f.BUFFER_FULL_ERROR:if(n.parent!=="main")return;this.reduceLengthAndFlushBuffer(n)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case f.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onFragLoadEmergencyAborted(){this.state=Ie.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(t,{type:n}){if(n!==ne.AUDIO||!this.altAudio){const s=(n===ne.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;s&&(this.afterBufferFlushed(s,n,o.MAIN),this.tick())}}onLevelsUpdated(t,n){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:t}=this;if(!t)return;const n=t.currentTime;let s=this.startPosition;if(s>=0&&n0&&(Q{const{hls:_}=this,w=s==null?void 0:s.frag;if(!w||this.fragContextChanged(w))return;n.fragmentError=0,this.state=Ie.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const I=w.stats;I.parsing.start=I.parsing.end=I.buffering.start=I.buffering.end=self.performance.now(),_.trigger(u.FRAG_LOADED,s),w.bitrateTest=!1}).catch(s=>{this.state===Ie.STOPPED||this.state===Ie.ERROR||(this.warn(s),this.resetFragmentLoading(t))})}_handleTransmuxComplete(t){const n=this.playlistType,{hls:s}=this,{remuxResult:_,chunkMeta:w}=t,I=this.getCurrentContext(w);if(!I){this.resetWhenMissingContext(w);return}const{frag:j,part:Q,level:K}=I,{video:se,text:de,id3:xe,initSegment:ke}=_,{details:Re}=K,at=this.altAudio?void 0:_.audio;if(this.fragContextChanged(j)){this.fragmentTracker.removeFragment(j);return}if(this.state=Ie.PARSING,ke){const it=ke.tracks;if(it){const Ar=j.initSegment||j;if(this.unhandledEncryptionError(ke,j))return;this._bufferInitSegment(K,it,Ar,w),s.trigger(u.FRAG_PARSING_INIT_SEGMENT,{frag:Ar,id:n,tracks:it})}const Xt=ke.initPTS,ar=ke.timescale,lr=this.initPTS[j.cc];if(r(Xt)&&(!lr||lr.baseTime!==Xt||lr.timescale!==ar)){const Ar=ke.trackId;this.initPTS[j.cc]={baseTime:Xt,timescale:ar,trackId:Ar},s.trigger(u.INIT_PTS_FOUND,{frag:j,id:n,initPTS:Xt,timescale:ar,trackId:Ar})}}if(se&&Re){at&&se.type==="audiovideo"&&this.logMuxedErr(j);const it=Re.fragments[j.sn-1-Re.startSN],Xt=j.sn===Re.startSN,ar=!it||j.cc>it.cc;if(_.independent!==!1){const{startPTS:lr,endPTS:Ar,startDTS:zr,endDTS:vn}=se;if(Q)Q.elementaryStreams[se.type]={startPTS:lr,endPTS:Ar,startDTS:zr,endDTS:vn};else if(se.firstKeyFrame&&se.independent&&w.id===1&&!ar&&(this.couldBacktrack=!0),se.dropped&&se.independent){const Zr=this.getMainFwdBufferInfo(),fn=(Zr?Zr.end:this.getLoadPosition())+this.config.maxBufferHole,ln=se.firstKeyFramePTS?se.firstKeyFramePTS:lr;if(!Xt&&fnDn&&(j.gap=!0);j.setElementaryStreamInfo(se.type,lr,Ar,zr,vn),this.backtrackFragment&&(this.backtrackFragment=j),this.bufferFragmentData(se,j,Q,w,Xt||ar)}else if(Xt||ar)j.gap=!0;else{this.backtrack(j);return}}if(at){const{startPTS:it,endPTS:Xt,startDTS:ar,endDTS:lr}=at;Q&&(Q.elementaryStreams[ne.AUDIO]={startPTS:it,endPTS:Xt,startDTS:ar,endDTS:lr}),j.setElementaryStreamInfo(ne.AUDIO,it,Xt,ar,lr),this.bufferFragmentData(at,j,Q,w)}if(Re&&xe!=null&&xe.samples.length){const it={id:n,frag:j,details:Re,samples:xe.samples};s.trigger(u.FRAG_PARSING_METADATA,it)}if(Re&&de){const it={id:n,frag:j,details:Re,samples:de.samples};s.trigger(u.FRAG_PARSING_USERDATA,it)}}logMuxedErr(t){this.warn(`${we(t)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${t.url}`)}_bufferInitSegment(t,n,s,_){if(this.state!==Ie.PARSING)return;this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly&&(delete n.audio,n.audiovideo&&this.logMuxedErr(s));const{audio:w,video:I,audiovideo:j}=n;if(w){const K=t.audioCodec;let se=un(w.codec,K);se==="mp4a"&&(se="mp4a.40.5");const de=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){se&&(se.indexOf("mp4a.40.5")!==-1?se="mp4a.40.2":se="mp4a.40.5");const xe=w.metadata;xe&&"channelCount"in xe&&(xe.channelCount||1)!==1&&de.indexOf("firefox")===-1&&(se="mp4a.40.5")}se&&se.indexOf("mp4a.40.5")!==-1&&de.indexOf("android")!==-1&&w.container!=="audio/mpeg"&&(se="mp4a.40.2",this.log(`Android: force audio codec to ${se}`)),K&&K!==se&&this.log(`Swapping manifest audio codec "${K}" for "${se}"`),w.levelCodec=se,w.id=o.MAIN,this.log(`Init audio buffer, container:${w.container}, codecs[selected/level/parsed]=[${se||""}/${K||""}/${w.codec}]`),delete n.audiovideo}if(I){I.levelCodec=t.videoCodec,I.id=o.MAIN;const K=I.codec;if((K==null?void 0:K.length)===4)switch(K){case"hvc1":case"hev1":I.codec="hvc1.1.6.L120.90";break;case"av01":I.codec="av01.0.04M.08";break;case"avc1":I.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${I.container}, codecs[level/parsed]=[${t.videoCodec||""}/${K}]${I.codec!==K?" parsed-corrected="+I.codec:""}${I.supplemental?" supplemental="+I.supplemental:""}`),delete n.audiovideo}j&&(this.log(`Init audiovideo buffer, container:${j.container}, codecs[level/parsed]=[${t.codecs}/${j.codec}]`),delete n.video,delete n.audio);const Q=Object.keys(n);if(Q.length){if(this.hls.trigger(u.BUFFER_CODECS,n),!this.hls)return;Q.forEach(K=>{const de=n[K].initSegment;de!=null&&de.byteLength&&this.hls.trigger(u.BUFFER_APPENDING,{type:K,data:de,frag:s,part:null,chunkMeta:_,parent:s.type})})}this.tickImmediate()}getMainFwdBufferInfo(){const t=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(t,o.MAIN)}get maxBufferLength(){const{levels:t,level:n}=this,s=t==null?void 0:t[n];return s?this.getMaxBufferLength(s.maxBitrate):this.config.maxBufferLength}backtrack(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=Ie.IDLE}checkFragmentChanged(){const t=this.media;let n=null;if(t&&t.readyState>1&&t.seeking===!1){const s=t.currentTime;if(vi.isBuffered(t,s)?n=this.getAppendedFrag(s):vi.isBuffered(t,s+.1)&&(n=this.getAppendedFrag(s+.1)),n){this.backtrackFragment=null;const _=this.fragPlaying,w=n.level;(!_||n.sn!==_.sn||_.level!==w)&&(this.fragPlaying=n,this.hls.trigger(u.FRAG_CHANGED,{frag:n}),(!_||_.level!==w)&&this.hls.trigger(u.LEVEL_SWITCHED,{level:w}))}}}get nextLevel(){const t=this.nextBufferedFrag;return t?t.level:-1}get currentFrag(){var t;if(this.fragPlaying)return this.fragPlaying;const n=((t=this.media)==null?void 0:t.currentTime)||this.lastCurrentTime;return r(n)?this.getAppendedFrag(n):null}get currentProgramDateTime(){var t;const n=((t=this.media)==null?void 0:t.currentTime)||this.lastCurrentTime;if(r(n)){const s=this.getLevelDetails(),_=this.currentFrag||(s?hr(null,s.fragments,n):null);if(_){const w=_.programDateTime;if(w!==null){const I=w+(n-_.start)*1e3;return new Date(I)}}}return null}get currentLevel(){const t=this.currentFrag;return t?t.level:-1}get nextBufferedFrag(){const t=this.currentFrag;return t?this.followingBufferedFrag(t):null}get forceStartLoad(){return this._forceStartLoad}}class Id extends R{constructor(t,n){super("key-loader",n),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=t}abort(t){for(const s in this.keyIdToKeyInfo){const _=this.keyIdToKeyInfo[s].loader;if(_){var n;if(t&&t!==((n=_.context)==null?void 0:n.frag.type))return;_.abort()}}}detach(){for(const t in this.keyIdToKeyInfo){const n=this.keyIdToKeyInfo[t];(n.mediaKeySessionContext||n.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[t]}}destroy(){this.detach();for(const t in this.keyIdToKeyInfo){const n=this.keyIdToKeyInfo[t].loader;n&&n.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(t,n=f.KEY_LOAD_ERROR,s,_,w){return new ra({type:c.NETWORK_ERROR,details:n,fatal:!1,frag:t,response:w,error:s,networkDetails:_})}loadClear(t,n,s){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(n.length)for(let _=0,w=n.length;_{if(!this.emeController)return;I.setKeyFormat(j);const Q=Ko(j);if(Q)return this.emeController.getKeySystemAccess([Q])})}if(this.config.requireKeySystemAccessOnStart){const _=nu(this.config);if(_.length)return this.emeController.getKeySystemAccess(_)}}return null}load(t){return!t.decryptdata&&t.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(t).then(n=>this.loadInternal(t,n)):this.loadInternal(t)}loadInternal(t,n){var s,_;n&&t.setKeyFormat(n);const w=t.decryptdata;if(!w){const K=new Error(n?`Expected frag.decryptdata to be defined after setting format ${n}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,K))}const I=w.uri;if(!I)return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${I}"`)));const j=ld(w);let Q=this.keyIdToKeyInfo[j];if((s=Q)!=null&&s.decryptdata.key)return w.key=Q.decryptdata.key,Promise.resolve({frag:t,keyInfo:Q});if(this.emeController&&(_=Q)!=null&&_.keyLoadPromise)switch(this.emeController.getKeyStatus(Q.decryptdata)){case"usable":case"usable-in-future":return Q.keyLoadPromise.then(se=>{const{keyInfo:de}=se;return w.key=de.decryptdata.key,{frag:t,keyInfo:de}})}switch(this.log(`${this.keyIdToKeyInfo[j]?"Rel":"L"}oading${w.keyId?" keyId: "+Y(w.keyId):""} URI: ${w.uri} from ${t.type} ${t.level}`),Q=this.keyIdToKeyInfo[j]={decryptdata:w,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},w.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return w.keyFormat==="identity"?this.loadKeyHTTP(Q,t):this.loadKeyEME(Q,t);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(Q,t);default:return Promise.reject(this.createKeyLoadError(t,f.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${w.method}"`)))}}loadKeyEME(t,n){const s={frag:n,keyInfo:t};if(this.emeController&&this.config.emeEnabled){var _;if(!t.decryptdata.keyId&&(_=n.initSegment)!=null&&_.data){const I=At(n.initSegment.data);if(I.length){let j=I[0];j.some(Q=>Q!==0)?(this.log(`Using keyId found in init segment ${Y(j)}`),Ao.setKeyIdForUri(t.decryptdata.uri,j)):(j=Ao.addKeyIdForUri(t.decryptdata.uri),this.log(`Generating keyId to patch media ${Y(j)}`)),t.decryptdata.keyId=j}}if(!t.decryptdata.keyId&&!we(n))return Promise.resolve(s);const w=this.emeController.loadKey(s);return(t.keyLoadPromise=w.then(I=>(t.mediaKeySessionContext=I,s))).catch(I=>{throw t.keyLoadPromise=null,"data"in I&&(I.data.frag=n),I})}return Promise.resolve(s)}loadKeyHTTP(t,n){const s=this.config,_=s.loader,w=new _(s);return n.keyLoader=t.loader=w,t.keyLoadPromise=new Promise((I,j)=>{const Q={keyInfo:t,frag:n,responseType:"arraybuffer",url:t.decryptdata.uri},K=s.keyLoadPolicy.default,se={loadPolicy:K,timeout:K.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},de={onSuccess:(xe,ke,Re,at)=>{const{frag:it,keyInfo:Xt}=Re,ar=ld(Xt.decryptdata);if(!it.decryptdata||Xt!==this.keyIdToKeyInfo[ar])return j(this.createKeyLoadError(it,f.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),at));Xt.decryptdata.key=it.decryptdata.key=new Uint8Array(xe.data),it.keyLoader=null,Xt.loader=null,I({frag:it,keyInfo:Xt})},onError:(xe,ke,Re,at)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.KEY_LOAD_ERROR,new Error(`HTTP Error ${xe.code} loading key ${xe.text}`),Re,b({url:Q.url,data:void 0},xe)))},onTimeout:(xe,ke,Re)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),Re))},onAbort:(xe,ke,Re)=>{this.resetLoader(ke),j(this.createKeyLoadError(n,f.INTERNAL_ABORTED,new Error("key loading aborted"),Re))}};w.load(Q,se,de)})}resetLoader(t){const{frag:n,keyInfo:s,url:_}=t,w=s.loader;n.keyLoader===w&&(n.keyLoader=null,s.loader=null);const I=ld(s.decryptdata)||_;delete this.keyIdToKeyInfo[I],w&&w.destroy()}}function ld(k){if(k.keyFormat!==_s.FAIRPLAY){const t=k.keyId;if(t)return Y(t)}return k.uri}function gd(k){const{type:t}=k;switch(t){case h.AUDIO_TRACK:return o.AUDIO;case h.SUBTITLE_TRACK:return o.SUBTITLE;default:return o.MAIN}}function cd(k,t){let n=k.url;return(n===void 0||n.indexOf("data:")===0)&&(n=t.url),n}class td{constructor(t){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=t,this.registerListeners()}startLoad(t){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:t}=this;t.on(u.MANIFEST_LOADING,this.onManifestLoading,this),t.on(u.LEVEL_LOADING,this.onLevelLoading,this),t.on(u.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.on(u.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),t.on(u.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:t}=this;t.off(u.MANIFEST_LOADING,this.onManifestLoading,this),t.off(u.LEVEL_LOADING,this.onLevelLoading,this),t.off(u.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.off(u.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),t.off(u.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(t){const n=this.hls.config,s=n.pLoader,_=n.loader,w=s||_,I=new w(n);return this.loaders[t.type]=I,I}getInternalLoader(t){return this.loaders[t.type]}resetInternalLoader(t){this.loaders[t]&&delete this.loaders[t]}destroyInternalLoaders(){for(const t in this.loaders){const n=this.loaders[t];n&&n.destroy(),this.resetInternalLoader(t)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(t,n){const{url:s}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:h.MANIFEST,url:s,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(t,n){const{id:s,level:_,pathwayId:w,url:I,deliveryDirectives:j,levelInfo:Q}=n;this.load({id:s,level:_,pathwayId:w,responseType:"text",type:h.LEVEL,url:I,deliveryDirectives:j,levelOrTrack:Q})}onAudioTrackLoading(t,n){const{id:s,groupId:_,url:w,deliveryDirectives:I,track:j}=n;this.load({id:s,groupId:_,level:null,responseType:"text",type:h.AUDIO_TRACK,url:w,deliveryDirectives:I,levelOrTrack:j})}onSubtitleTrackLoading(t,n){const{id:s,groupId:_,url:w,deliveryDirectives:I,track:j}=n;this.load({id:s,groupId:_,level:null,responseType:"text",type:h.SUBTITLE_TRACK,url:w,deliveryDirectives:I,levelOrTrack:j})}onLevelsUpdated(t,n){const s=this.loaders[h.LEVEL];if(s){const _=s.context;_&&!n.levels.some(w=>w===_.levelOrTrack)&&(s.abort(),delete this.loaders[h.LEVEL])}}load(t){var n;const s=this.hls.config;let _=this.getInternalLoader(t);if(_){const K=this.hls.logger,se=_.context;if(se&&se.levelOrTrack===t.levelOrTrack&&(se.url===t.url||se.deliveryDirectives&&!t.deliveryDirectives)){se.url===t.url?K.log(`[playlist-loader]: ignore ${t.url} ongoing request`):K.log(`[playlist-loader]: ignore ${t.url} in favor of ${se.url}`);return}K.log(`[playlist-loader]: aborting previous loader for type: ${t.type}`),_.abort()}let w;if(t.type===h.MANIFEST?w=s.manifestLoadPolicy.default:w=v({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),_=this.createInternalLoader(t),r((n=t.deliveryDirectives)==null?void 0:n.part)){let K;if(t.type===h.LEVEL&&t.level!==null?K=this.hls.levels[t.level].details:t.type===h.AUDIO_TRACK&&t.id!==null?K=this.hls.audioTracks[t.id].details:t.type===h.SUBTITLE_TRACK&&t.id!==null&&(K=this.hls.subtitleTracks[t.id].details),K){const se=K.partTarget,de=K.targetduration;if(se&&de){const xe=Math.max(se*3,de*.8)*1e3;w=v({},w,{maxTimeToFirstByteMs:Math.min(xe,w.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(xe,w.maxTimeToFirstByteMs)})}}}const I=w.errorRetry||w.timeoutRetry||{},j={loadPolicy:w,timeout:w.maxLoadTimeMs,maxRetry:I.maxNumRetry||0,retryDelay:I.retryDelayMs||0,maxRetryDelay:I.maxRetryDelayMs||0},Q={onSuccess:(K,se,de,xe)=>{const ke=this.getInternalLoader(de);this.resetInternalLoader(de.type);const Re=K.data;se.parsing.start=performance.now(),su.isMediaPlaylist(Re)||de.type!==h.MANIFEST?this.handleTrackOrLevelPlaylist(K,se,de,xe||null,ke):this.handleMasterPlaylist(K,se,de,xe)},onError:(K,se,de,xe)=>{this.handleNetworkError(se,de,!1,K,xe)},onTimeout:(K,se,de)=>{this.handleNetworkError(se,de,!0,void 0,K)}};_.load(t,j,Q)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:t,startPosition:n},forceStartLoad:s}=this.hls;(t||s)&&(this.hls.logger.log(`${t?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n))}handleMasterPlaylist(t,n,s,_){const w=this.hls,I=t.data,j=cd(t,s),Q=su.parseMasterPlaylist(I,j);if(Q.playlistParsingError){n.parsing.end=performance.now(),this.handleManifestParsingError(t,s,Q.playlistParsingError,_,n);return}const{contentSteering:K,levels:se,sessionData:de,sessionKeys:xe,startTimeOffset:ke,variableList:Re}=Q;this.variableList=Re,se.forEach(ar=>{const{unknownCodecs:lr}=ar;if(lr){const{preferManagedMediaSource:Ar}=this.hls.config;let{audioCodec:zr,videoCodec:vn}=ar;for(let Zr=lr.length;Zr--;){const fn=lr[Zr];Ae(fn,"audio",Ar)?(ar.audioCodec=zr=zr?`${zr},${fn}`:fn,Gt.audio[zr.substring(0,4)]=2,lr.splice(Zr,1)):Ae(fn,"video",Ar)&&(ar.videoCodec=vn=vn?`${vn},${fn}`:fn,Gt.video[vn.substring(0,4)]=2,lr.splice(Zr,1))}}});const{AUDIO:at=[],SUBTITLES:it,"CLOSED-CAPTIONS":Xt}=su.parseMasterPlaylistMedia(I,j,Q);at.length&&!at.some(lr=>!lr.url)&&se[0].audioCodec&&!se[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),at.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Wi({}),bitrate:0,url:""})),w.trigger(u.MANIFEST_LOADED,{levels:se,audioTracks:at,subtitles:it,captions:Xt,contentSteering:K,url:j,stats:n,networkDetails:_,sessionData:de,sessionKeys:xe,startTimeOffset:ke,variableList:Re})}handleTrackOrLevelPlaylist(t,n,s,_,w){const I=this.hls,{id:j,level:Q,type:K}=s,se=cd(t,s),de=r(Q)?Q:r(j)?j:0,xe=gd(s),ke=su.parseLevelPlaylist(t.data,se,de,xe,0,this.variableList);if(K===h.MANIFEST){const Re={attrs:new Wi({}),bitrate:0,details:ke,name:"",url:se};ke.requestScheduled=n.loading.start+Pi(ke,0),I.trigger(u.MANIFEST_LOADED,{levels:[Re],audioTracks:[],url:se,stats:n,networkDetails:_,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}n.parsing.end=performance.now(),s.levelDetails=ke,this.handlePlaylistLoaded(ke,t,n,s,_,w)}handleManifestParsingError(t,n,s,_,w){this.hls.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.MANIFEST_PARSING_ERROR,fatal:n.type===h.MANIFEST,url:t.url,err:s,error:s,reason:s.message,response:t,context:n,networkDetails:_,stats:w})}handleNetworkError(t,n,s=!1,_,w){let I=`A network ${s?"timeout":"error"+(_?" (status "+_.code+")":"")} occurred while loading ${t.type}`;t.type===h.LEVEL?I+=`: ${t.level} id: ${t.id}`:(t.type===h.AUDIO_TRACK||t.type===h.SUBTITLE_TRACK)&&(I+=` id: ${t.id} group-id: "${t.groupId}"`);const j=new Error(I);this.hls.logger.warn(`[playlist-loader]: ${I}`);let Q=f.UNKNOWN,K=!1;const se=this.getInternalLoader(t);switch(t.type){case h.MANIFEST:Q=s?f.MANIFEST_LOAD_TIMEOUT:f.MANIFEST_LOAD_ERROR,K=!0;break;case h.LEVEL:Q=s?f.LEVEL_LOAD_TIMEOUT:f.LEVEL_LOAD_ERROR,K=!1;break;case h.AUDIO_TRACK:Q=s?f.AUDIO_TRACK_LOAD_TIMEOUT:f.AUDIO_TRACK_LOAD_ERROR,K=!1;break;case h.SUBTITLE_TRACK:Q=s?f.SUBTITLE_TRACK_LOAD_TIMEOUT:f.SUBTITLE_LOAD_ERROR,K=!1;break}se&&this.resetInternalLoader(t.type);const de={type:c.NETWORK_ERROR,details:Q,fatal:K,url:t.url,loader:se,context:t,error:j,networkDetails:n,stats:w};if(_){const xe=(n==null?void 0:n.url)||t.url;de.response=b({url:xe,data:void 0},_)}this.hls.trigger(u.ERROR,de)}handlePlaylistLoaded(t,n,s,_,w,I){const j=this.hls,{type:Q,level:K,levelOrTrack:se,id:de,groupId:xe,deliveryDirectives:ke}=_,Re=cd(n,_),at=gd(_);let it=typeof _.level=="number"&&at===o.MAIN?K:void 0;const Xt=t.playlistParsingError;if(Xt){if(this.hls.logger.warn(`${Xt} ${t.url}`),!j.config.ignorePlaylistParsingErrors){j.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.LEVEL_PARSING_ERROR,fatal:!1,url:Re,error:Xt,reason:Xt.message,response:n,context:_,level:it,parent:at,networkDetails:w,stats:s});return}t.playlistParsingError=null}if(!t.fragments.length){const ar=t.playlistParsingError=new Error("No Segments found in Playlist");j.trigger(u.ERROR,{type:c.NETWORK_ERROR,details:f.LEVEL_EMPTY_ERROR,fatal:!1,url:Re,error:ar,reason:ar.message,response:n,context:_,level:it,parent:at,networkDetails:w,stats:s});return}switch(t.live&&I&&(I.getCacheAge&&(t.ageHeader=I.getCacheAge()||0),(!I.getCacheAge||isNaN(t.ageHeader))&&(t.ageHeader=0)),Q){case h.MANIFEST:case h.LEVEL:if(it){if(!se)it=0;else if(se!==j.levels[it]){const ar=j.levels.indexOf(se);ar>-1&&(it=ar)}}j.trigger(u.LEVEL_LOADED,{details:t,levelInfo:se||j.levels[0],level:it||0,id:de||0,stats:s,networkDetails:w,deliveryDirectives:ke,withoutMultiVariant:Q===h.MANIFEST});break;case h.AUDIO_TRACK:j.trigger(u.AUDIO_TRACK_LOADED,{details:t,track:se,id:de||0,groupId:xe||"",stats:s,networkDetails:w,deliveryDirectives:ke});break;case h.SUBTITLE_TRACK:j.trigger(u.SUBTITLE_TRACK_LOADED,{details:t,track:se,id:de||0,groupId:xe||"",stats:s,networkDetails:w,deliveryDirectives:ke});break}}}class Pf{static get version(){return si}static isMSESupported(){return md()}static isSupported(){return Td()}static getMediaSource(){return oe()}static get Events(){return u}static get MetadataSchema(){return yn}static get ErrorTypes(){return c}static get ErrorDetails(){return f}static get DefaultConfig(){return Pf.defaultConfig?Pf.defaultConfig:za}static set DefaultConfig(t){Pf.defaultConfig=t}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new ri,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const n=this.logger=V(t.debug||!1,"Hls instance",t.assetPlayerId),s=this.config=sn(Pf.DefaultConfig,t,n);this.userConfig=t,s.progressive&&an(s,n);const{abrController:_,bufferController:w,capLevelController:I,errorController:j,fpsController:Q}=s,K=new j(this),se=this.abrController=new _(this),de=new Ci(this),xe=s.interstitialsController,ke=xe?this.interstitialsController=new xe(this,Pf):null,Re=this.bufferController=new w(this,de),at=this.capLevelController=new I(this),it=new Q(this),Xt=new td(this),ar=s.contentSteeringController,lr=ar?new ar(this):null,Ar=this.levelController=new Cd(this,lr),zr=new Sd(this),vn=new Id(this.config,this.logger),Zr=this.streamController=new _d(this,de,vn),fn=this.gapController=new Qa(this,de);at.setStreamController(Zr),it.setStreamController(Zr);const ln=[Xt,Ar,Zr];ke&&ln.splice(1,0,ke),lr&&ln.splice(1,0,lr),this.networkControllers=ln;const Qr=[se,Re,fn,at,it,zr,de];this.audioTrackController=this.createController(s.audioTrackController,ln);const kn=s.audioStreamController;kn&&ln.push(this.audioStreamController=new kn(this,de,vn)),this.subtitleTrackController=this.createController(s.subtitleTrackController,ln);const Si=s.subtitleStreamController;Si&&ln.push(this.subtititleStreamController=new Si(this,de,vn)),this.createController(s.timelineController,Qr),vn.emeController=this.emeController=this.createController(s.emeController,Qr),this.cmcdController=this.createController(s.cmcdController,Qr),this.latencyController=this.createController(Ad,Qr),this.coreComponents=Qr,ln.push(K);const qi=K.onErrorOut;typeof qi=="function"&&this.on(u.ERROR,qi,K),this.on(u.MANIFEST_LOADED,Xt.onManifestLoaded,Xt)}createController(t,n){if(t){const s=new t(this);return n&&n.push(s),s}return null}on(t,n,s=this){this._emitter.on(t,n,s)}once(t,n,s=this){this._emitter.once(t,n,s)}removeAllListeners(t){this._emitter.removeAllListeners(t)}off(t,n,s=this,_){this._emitter.off(t,n,s,_)}listeners(t){return this._emitter.listeners(t)}emit(t,n,s){return this._emitter.emit(t,n,s)}trigger(t,n){if(this.config.debug)return this.emit(t,t,n);try{return this.emit(t,t,n)}catch(s){if(this.logger.error("An internal error happened while handling event "+t+'. Error message: "'+s.message+'". Here is a stacktrace:',s),!this.triggeringException){this.triggeringException=!0;const _=t===u.ERROR;this.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.INTERNAL_EXCEPTION,fatal:_,event:t,error:s}),this.triggeringException=!1}}return!1}listenerCount(t){return this._emitter.listenerCount(t)}destroy(){this.logger.log("destroy"),this.trigger(u.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(n=>n.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(n=>n.destroy()),this.coreComponents.length=0;const t=this.config;t.xhrSetup=t.fetchSetup=void 0,this.userConfig=null}attachMedia(t){if(!t||"media"in t&&!t.media){const w=new Error(`attachMedia failed: invalid argument (${t})`);this.trigger(u.ERROR,{type:c.OTHER_ERROR,details:f.ATTACH_MEDIA_ERROR,fatal:!0,error:w});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const n="media"in t,s=n?t.media:t,_=n?t:{media:s};this._media=s,this.trigger(u.MEDIA_ATTACHING,_)}detachMedia(){this.logger.log("detachMedia"),this.trigger(u.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const t=this.bufferController.transferMedia();return this.trigger(u.MEDIA_DETACHING,{transferMedia:t}),t}loadSource(t){this.stopLoad();const n=this.media,s=this._url,_=this._url=W.buildAbsoluteURL(self.location.href,t,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${_}`),n&&s&&(s!==_||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(n)),this.trigger(u.MANIFEST_LOADING,{url:t})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(t=-1,n){this.logger.log(`startLoad(${t+(n?", ":"")})`),this.started=!0,this.resumeBuffering();for(let s=0;s{t.resumeBuffering&&t.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(t=>{t.pauseBuffering&&t.pauseBuffering()}))}get inFlightFragments(){const t={[o.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(t[o.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(t[o.SUBTITLE]=this.subtititleStreamController.inFlightFrag),t}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const t=this._media,n=t==null?void 0:t.currentTime;this.detachMedia(),t&&(this.attachMedia(t),n&&this.startLoad(n))}removeLevel(t){this.levelController.removeLevel(t)}get sessionId(){let t=this._sessionId;return t||(t=this._sessionId=Jc()),t}get levels(){const t=this.levelController.levels;return t||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(t){this.logger.log(`set currentLevel:${t}`),this.levelController.manualLevel=t,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(t){this.logger.log(`set nextLevel:${t}`),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(t){this.logger.log(`set loadLevel:${t}`),this.levelController.manualLevel=t}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(t){this.levelController.nextLoadLevel=t}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(t){this.logger.log(`set firstLevel:${t}`),this.levelController.firstLevel=t}get startLevel(){const t=this.levelController.startLevel;return t===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:t}set startLevel(t){this.logger.log(`set startLevel:${t}`),t!==-1&&(t=Math.max(t,this.minAutoLevel)),this.levelController.startLevel=t}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(t){const n=!!t;n!==this.config.capLevelToPlayerSize&&(n?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=n)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimate():NaN}set bandwidthEstimate(t){this.abrController.resetEstimator(t)}get abrEwmaDefaultEstimate(){const{bwEstimator:t}=this.abrController;return t?t.defaultEstimate:NaN}get ttfbEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimateTTFB():NaN}set autoLevelCapping(t){this._autoLevelCapping!==t&&(this.logger.log(`set autoLevelCapping:${t}`),this._autoLevelCapping=t,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(t){Yr(t)&&this._maxHdcpLevel!==t&&(this._maxHdcpLevel=t,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:t,config:{minAutoBitrate:n}}=this;if(!t)return 0;const s=t.length;for(let _=0;_=n)return _;return 0}get maxAutoLevel(){const{levels:t,autoLevelCapping:n,maxHdcpLevel:s}=this;let _;if(n===-1&&t!=null&&t.length?_=t.length-1:_=n,s)for(let w=_;w--;){const I=t[w].attrs["HDCP-LEVEL"];if(I&&I<=s)return w}return _}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(t){this.abrController.nextAutoLevel=t}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(t){var n;return((n=this.audioTrackController)==null?void 0:n.setAudioOption(t))||null}setSubtitleOption(t){var n;return((n=this.subtitleTrackController)==null?void 0:n.setSubtitleOption(t))||null}get allAudioTracks(){const t=this.audioTrackController;return t?t.allAudioTracks:[]}get audioTracks(){const t=this.audioTrackController;return t?t.audioTracks:[]}get audioTrack(){const t=this.audioTrackController;return t?t.audioTrack:-1}set audioTrack(t){const n=this.audioTrackController;n&&(n.audioTrack=t)}get allSubtitleTracks(){const t=this.subtitleTrackController;return t?t.allSubtitleTracks:[]}get subtitleTracks(){const t=this.subtitleTrackController;return t?t.subtitleTracks:[]}get subtitleTrack(){const t=this.subtitleTrackController;return t?t.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(t){const n=this.subtitleTrackController;n&&(n.subtitleTrack=t)}get subtitleDisplay(){const t=this.subtitleTrackController;return t?t.subtitleDisplay:!1}set subtitleDisplay(t){const n=this.subtitleTrackController;n&&(n.subtitleDisplay=t)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(t){this.config.lowLatencyMode=t}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(t){this.latencyController.targetLatency=t}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(t){this.levelController.pathwayPriority=t}get bufferedToEnd(){var t;return!!((t=this.bufferController)!=null&&t.bufferedToEnd)}get interstitialsManager(){var t;return((t=this.interstitialsController)==null?void 0:t.interstitialsManager)||null}getMediaDecodingInfo(t,n=this.allAudioTracks){const s=Ia(n);return br(t,s,navigator.mediaCapabilities)}}Pf.defaultConfig=void 0},53280:function(d,g,e){"use strict";e.d(g,{D:function(){return i}});function r(l,c,f){var u=f||{},h=u.noTrailing,o=h===void 0?!1:h,a=u.noLeading,x=a===void 0?!1:a,p=u.debounceMode,v=p===void 0?void 0:p,m,b=!1,A=0;function D(){m&&clearTimeout(m)}function R(T){var M=T||{},F=M.upcomingOnly,N=F===void 0?!1:F;D(),b=!N}function S(){for(var T=arguments.length,M=new Array(T),F=0;Fl?x?(A=Date.now(),o||(m=setTimeout(v?$:V,l))):V():o!==!0&&(m=setTimeout(v?$:V,v===void 0?l-H:l))}return S.cancel=R,S}function i(l,c,f){var u=f||{},h=u.atBegin,o=h===void 0?!1:h;return r(l,c,{debounceMode:o!==!1})}}},__webpack_module_cache__={};function __webpack_require__(d){var g=__webpack_module_cache__[d];if(g!==void 0)return g.exports;var e=__webpack_module_cache__[d]={id:d,loaded:!1,exports:{}};return __webpack_modules__[d].call(e.exports,e,e.exports,__webpack_require__),e.loaded=!0,e.exports}__webpack_require__.m=__webpack_modules__,function(){__webpack_require__.amdO={}}(),function(){__webpack_require__.n=function(d){var g=d&&d.__esModule?function(){return d.default}:function(){return d};return __webpack_require__.d(g,{a:g}),g}}(),function(){var d=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},g;__webpack_require__.t=function(e,r){if(r&1&&(e=this(e)),r&8||typeof e=="object"&&e&&(r&4&&e.__esModule||r&16&&typeof e.then=="function"))return e;var i=Object.create(null);__webpack_require__.r(i);var l={};g=g||[null,d({}),d([]),d(d)];for(var c=r&2&&e;typeof c=="object"&&!~g.indexOf(c);c=d(c))Object.getOwnPropertyNames(c).forEach(function(f){l[f]=function(){return e[f]}});return l.default=function(){return e},__webpack_require__.d(i,l),i}}(),function(){__webpack_require__.d=function(d,g){for(var e in g)__webpack_require__.o(g,e)&&!__webpack_require__.o(d,e)&&Object.defineProperty(d,e,{enumerable:!0,get:g[e]})}}(),function(){__webpack_require__.f={},__webpack_require__.e=function(d){return Promise.all(Object.keys(__webpack_require__.f).reduce(function(g,e){return __webpack_require__.f[e](d,g),g},[]))}}(),function(){__webpack_require__.u=function(d){return""+({292:"p__Classrooms__Lists__Exercise__Add__index",556:"p__User__Detail__Order__pages__invoice__index",1343:"p__User__Detail__ResourceAllocation__index",1477:"p__Classrooms__ThemeChange__Assistant",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1660:"p__User__QQLogin__index",1727:"p__OnlineMessageCenter__MessageCenterManage__index",2141:"p__Shixuns__Detail__Split__index",2641:"p__Property__Procurement__index",2659:"p__User__Detail__UserPortrait__index",2819:"p__Classrooms__Lists__Template__detail__index",3086:"p__Shixuns__Detail__ForkList__ThemeChange__index",3276:"p__Classrooms__Lists__Statistics__UserportraitStatistics__index",3282:"p__OnlineDevice__DigitalSigns__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3509:"p__HttpStatus__SixActivities",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4048:"p__Forums__ThemeChange__index",4736:"p__User__Detail__Projects__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4973:"p__Engineering__Evaluate__List__index",5165:"p__User__ThemeChange__Topics",5427:"p__User__Detail__Devicegroup__index",5572:"p__Paths__HigherVocationalEducation__index",5902:"p__Classrooms__Lists__Exercise__Sumup__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6205:"p__Classrooms__ThemeChange__VideoUpload",7043:"p__User__Detail__Topics__Exercise__Edit__index",7323:"p__Classrooms__ThemeChange__New",7884:"p__Shixuns__Exports__index",8145:"p__User__ThemeChange__ClassManagementItem",8234:"p__OnlineDevice__DeviceLabel__index",8552:"p__Shixuns__ThemeChange__index",8579:"p__Competitions__ThemeChange__Edit",8787:"p__Competitions__Entered__index",8999:"p__Three__index",9416:"p__Graduations__Lists__Tasks__index",9449:"p__Shixuns__ThemeChange__Detail",9507:"p__User__Detail__ResourceGuarantee__index",9511:"p__Shixuns__ThemeChange__Edit",9906:"p__Paths__ThemeChange__index",10195:"p__Classrooms__Lists__GroupHomework__Detail__index",10485:"p__Question__AddOrEdit__BatchAdd__index",10518:"p__Shixuns__Detail__Settings__ThemeChange__index",10737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",10799:"p__User__Detail__Topics__Poll__Detail__index",10921:"p__Classrooms__Lists__Exercise__CodeDetails__index",11070:"p__Innovation__PublicMirror__index",11253:"p__Graduations__Lists__Gradingsummary__index",11512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",11520:"p__Engineering__Lists__StudentList__index",11545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",11581:"p__Problemset__Preview__index",12102:"p__Classrooms__Lists__Board__Edit__index",12216:"p__DataSet__Index__index",12303:"p__Classrooms__Lists__CommonHomework__Comment__index",12412:"p__User__Detail__Videos__index",12476:"p__Colleges__index",12865:"p__Innovation__MyMirror__index",12884:"p__Classrooms__Lists__ProgramHomework__Comment__index",13006:"p__Engineering__index",14058:"p__Demo__index",14105:"p__Classrooms__Lists__Exercise__Answer__index",14227:"p__Paths__Overview__index",14514:"p__Account__Results__index",14599:"p__Problemset__index",14610:"p__User__Detail__LearningPath__index",14662:"p__Classrooms__Lists__GroupHomework__Review__index",14889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",15148:"p__Classrooms__Lists__Template__index",15186:"p__Classrooms__Overview__index",15319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",15382:"p__DataSet__Detail__index",15402:"p__User__Detail__Topics__Detail__index",15800:"p__User__ThemeChange__Competitions",15894:"p__Shixuns__Detail__Repository__Commit__ThemeChange__index",16328:"p__Shixuns__Edit__body__Warehouse__index",16434:"p__User__Detail__Order__pages__records__index",16729:"p__Classrooms__Lists__GroupHomework__Edit__index",17402:"p__User__ThemeChange__OtherResources",17482:"p__Classrooms__Lists__Exercise__Notice__index",17527:"p__MyProblem__RecordDetail__index",17622:"p__Classrooms__Lists__Polls__Detail__index",17806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",18241:"p__virtualSpaces__Lists__Plan__index",19595:"p__knowledgegraph__Statistics__AbilityMap__index",19715:"p__Classrooms__Lists__CommonHomework__Edit__index",19891:"p__User__Detail__Videos__Success__index",20026:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",20576:"p__Account__Profile__Edit__index",20680:"p__Innovation__index",20700:"p__tasks__Jupyter__index",21423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",21578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",21836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",21897:"p__User__ThemeChange__ClassManagement",21939:"p__User__Detail__Order__index",22307:"p__Report__index",22707:"p__Innovation__MyDataSet__index",23873:"p__virtualSpaces__Lists__Lesson__index",24420:"p__knowledgegraph__index",24504:"p__virtualSpaces__Lists__Survey__index",24806:"p__OnlineDevice__FaultLibrary__index",25022:"p__Graduations__Lists__Settings__index",25705:"p__virtualSpaces__Lists__Construction__index",25972:"layouts__user__index",26116:"p__Visualization__index",26366:"p__Innovation__PublicProject__index",26682:"p__User__ThemeChange__Shixuns",26685:"p__Classrooms__Index__index",26741:"p__Engineering__Norm__List__index",26788:"p__Home__Detail__ShixunContext__Detail__index",27178:"p__User__BindAccount__index",27182:"p__User__ResetPassword__index",27322:"layouts__ThemeChange__ShixunDetail",27333:"p__User__WechatLogin__index",27395:"p__Classrooms__Lists__Statistics__StudentDetail__index",27823:"p__OnlineMessageCenter__OffSiteConfig__index",27901:"p__Guidance__ThemeChange",28072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",28116:"p__LaboratoryList__index",28237:"p__User__Detail__Order__pages__view__index",28286:"p__User__ThemeChange__ExperImentImgDetail",28435:"p__Classrooms__Lists__Attendance__index",28639:"p__Forums__Index__redirect",28723:"p__Classrooms__Lists__Polls__Edit__index",28823:"p__knowledgegraph__Detail__id",29172:"p__DeviceOperationMonitoring__index",29647:"p__Question__Index__index",30065:"p__StudentEffectivenessAnalysis__index",30067:"p__Message__index",30174:"p__OnlineDevice__DeviceInfo__InfoList__Details__index",30264:"p__User__Detail__Order__pages__orderPay__index",31006:"p__RestFul__index",31211:"p__Classrooms__Lists__CommonHomework__EditWork__index",31427:"p__Classrooms__Lists__Statistics__index",31674:"p__Classrooms__ClassicCases__index",31962:"p__Classrooms__Lists__Engineering__index",32099:"p__Paperlibrary__ThemeChange__index",33747:"p__virtualSpaces__Lists__Homepage__index",33784:"p__Paperlibrary__Random__Detail__index",34093:"p__Classrooms__Lists__Attendance__Detail__index",34741:"p__Problems__OjForm__NewEdit__index",34800:"p__Engineering__Lists__GraduatedMatrix__index",34994:"p__Problems__OjForm__index",35230:"p__Shixuns__Detail__Repository__AddFile__ThemeChange__index",35238:"p__virtualSpaces__Lists__Material__index",35694:"p__Classrooms__ThemeChange__ShixunHomeworksDetail",35729:"p__Help__Index",36029:"p__Administration__Student__index",36080:"p__Paths__ThemeChange__New",36170:"p__HttpStatus__downloadStudent",36270:"p__MyProblem__index",36637:"p__Shixuns__Detail__Repository__ThemeChange__index",36784:"p__Innovation__Edit__index",37062:"layouts__SimpleLayouts",37289:"p__tasks__ThemeChange__index",37745:"p__OnlineDevice__DeviceType__index",38143:"layouts__GraduationsDetail__index",38447:"p__virtualSpaces__Lists__Knowledge__index",39391:"p__Engineering__Lists__CurseSetting__index",39404:"monaco-editor",39695:"p__Classrooms__Lists__Polls__Add__index",40559:"layouts__virtualDetail__index",40895:"p__Classrooms__Lists__Video__Items__videoInfo__index",40919:"p__knowledgegraph__Statistics__LearningPath__index",41048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",41657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",41717:"layouts__index",41953:"p__Problemset__NewItem__index",42240:"p__User__Detail__Videos__Upload__index",42862:"p__User__ThemeChange__ExperImentImg",43433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",43442:"p__Classrooms__Lists__Board__Add__index",43862:"p__HttpStatus__403",44216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",44259:"p__User__Detail__Order__pages__result__index",44449:"p__Competitions__Exports__index",44565:"p__HttpStatus__500",45096:"p__Shixuns__Detail__AuditSituation__index",45179:"p__Administration__Student__Edit__index",45359:"p__Messages__Detail__index",45650:"p__Competitions__Update__index",45775:"p__Engineering__Lists__Document__index",45798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",45915:"p__knowledgegraph__Detail__Statistics__index",45992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",46796:"p__virtualSpaces__Lists__Announcement__Detail__index",46963:"p__Classrooms__Lists__Engineering__Detail__index",47545:"p__Graduations__Lists__Archives__index",48121:"p__OnlineDevice__DeviceType__Details__index",48137:"p__knowledgegraph__Statistics__PathAtlas__index",48365:"p__Home__Detail__ShixunContext__index",48431:"p__Classrooms__Lists__Exercise__Export__index",48689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",48965:"p__Shixuns__Detail__Discuss__ThemeChange__index",49205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",49366:"p__User__Login__index",49716:"p__Question__OjProblem__RecordDetail__index",50570:"p__Home__Detail__OnlineNum__index",50900:"p__User__ThemeChange__Classrooms",51276:"p__MoopCases__Success__index",51443:"p__EffectivenessAnalysis__index",51461:"p__Graduations__Lists__Topics__index",51582:"p__Classrooms__Lists__GroupHomework__Add__index",51651:"p__Paths__ThemeChange__Statistics",51678:"p__Classrooms__ThemeChange__Attachment",51855:"p__MoopCases__InfoPanel__index",52338:"p__Classrooms__Lists__CommonHomework__Review__index",52404:"p__Classrooms__Lists__Template__teacher__index",52748:"p__Property__index",52806:"p__User__Detail__Topics__Exercise__Detail__index",52829:"p__Messages__Private__index",53247:"p__Paperlibrary__See__index",53443:"p__knowledgegraph__Statistics__AbilityMap__Detail",53589:"p__knowledgegraph__Statistics__index",53910:"p__HttpStatus__introduction",54056:"p__IntrainCourse__index",54164:"p__Classrooms__Lists__Exercise__Detail__index",54492:"p__Graduations__Lists__StudentSelection__index",54572:"p__Classrooms__Lists__ExportList__index",54621:"p__Administration__Profession__index",54770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",54928:"p__Classrooms__Lists__LearningPath__index",55177:"p__Classrooms__ThemeChange__Teachers",55330:"p__Classrooms__ThemeChange__ShixunHomeworksComment",55573:"p__Shixuns__Detail__Merge__index",55624:"p__Graduations__Lists__Index__index",56185:"p__Classrooms__ThemeChange__Announcement",56282:"p__Classrooms__ThemeChange__ProgramHomework",57045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",57560:"p__Administration__College__index",57614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",57670:"p__OnlineReservation__ReservationInfo__index",57855:"p__User__Detail__ResourcesCenter__Detail__index",59142:"p__Reservation__index",59406:"p__Classrooms__ThemeChange__Board",59417:"p__Shixuns__ThemeOne__Detail__SkillTags__index",59487:"p__LargeScreen__index",59649:"p__Engineering__Lists__TrainingProgram__index",59788:"p__Account__Profile__index",60201:"p__Classrooms__ThemeChange__Students",60479:"p__Classrooms__Lists__GroupHomework__EditWork__index",60533:"p__Classrooms__Lists__Video__Statistics__Detail__index",60547:"p__Account__index",60906:"p__User__ThemeChange__CareerCertification",60921:"p__Classrooms__ThemeChange__Exercise",61043:"p__Classrooms__Lists__Graduation__Tasks__index",61713:"p__virtualSpaces__Lists__Settings__index",61727:"p__Classrooms__Lists__CourseGroup__NotList__index",61798:"p__Classrooms__ThemeChange__GroupHomework",61880:"p__User__Detail__Order__pages__apply__index",62300:"p__Api__index",62548:"p__Engineering__Norm__Detail__index",63157:"p__User__Detail__ExperImentImg__Add__index",63581:"p__Shixuns__Detail__Collaborators__ThemeChange__index",64017:"p__Classrooms__Lists__PlaceholderPage__index",64030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",64144:"p__Problemset__Preview__New__index",64217:"p__Classrooms__Lists__Video__Statistics__index",64297:"p__Classrooms__ThemeChange__Polls",64339:"p__knowledgegraph__Statistics__PathAtlas__Detail",64496:"p__HttpStatus__HpcCourse",64520:"p__Account__Secure__index",65111:"p__Terminal__index",65117:"p__User__ThemeChange__Certificate",65148:"p__Classrooms__Lists__Polls__Answer__index",65549:"p__Shixuns__New__CreateImg__index",65776:"p__User__ThemeChange__RealNameCertification",65816:"p__virtualSpaces__Lists__Announcement__index",66034:"p__HttpStatus__UserAgents",66063:"p__Graduations__Lists__Personmanage__index",66531:"p__HttpStatus__404",66583:"p__User__Detail__Classrooms__index",66587:"p__User__Detail__Videos__Protocol__resource",66651:"p__Engineering__Evaluate__Detail__index",67242:"p__Innovation__MyProject__index",67589:"p__virtualSpaces__Lists__DigitalTopics__index",67835:"p__Problemset__ThemeChange__index",68332:"p__User__ThemeChange__Detail",68665:"p__Engineering__Lists__TrainingObjectives__index",68827:"p__Classrooms__Lists__OnlineLearning__index",68882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",69039:"p__Classrooms__ThemeChange__CourseGroup",69681:"p__User__Detail__Devicegroup__Add__index",69922:"p__Classrooms__Lists__Statistics__StudentVideo__index",69944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index",70119:"p__User__ThemeChange__Paths",70928:"p__RestFul__Edit__index",71077:"p__User__ThemeTwoLogin__index",71450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",71475:"p__Shixuns__Detail__Dataset__JupyterData__index",71525:"p__User__Detail__Devicegroup__ReservationInfo__index",71754:"p__Classrooms__ThemeChange__Video",71783:"p__virtualSpaces__Lists__Experiment__index",72130:"p__Shixuns__Detail__Repository__UploadFile__ThemeChange__index",72203:"p__Classrooms__ThemeChange__ShixunHomeworks",72539:"p__Graduations__Review__index",72570:"p__Competitions__Detail__index",73183:"p__Engineering__Lists__GraduationIndex__index",73685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",74264:"p__Forums__New__index",74795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",75043:"p__User__Detail__Topics__Poll__Edit__index",75307:"p__Shixuns__ThemeChange__New",75357:"p__Engineering__Lists__TrainingProgram__Edit__index",75786:"layouts__LoginAndRegister__index",75816:"p__Paperlibrary__Random__Edit__index",76789:"p__Classrooms__ThemeChange__index",76806:"p__OnlineDevice__DeviceInfo__index",76904:"p__MoopCases__FormPanel__index",77042:"p__knowledgegraph__Statistics__LearningPath__Detail",77460:"p__Question__OjProblem__index",77465:"p__OnlineDevice__DeviceInfo__InfoList__ReservationInfo__index",77857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",78085:"p__Classrooms__Lists__Exercise__Review__index",78115:"p__User__ThemeChange__DataSet",78479:"p__User__ThemeChange__TeachGroup",78563:"p__virtualSpaces__Lists__Discussion__Detail__index",79489:"p__Engineering__Lists__CourseList__index",79814:"p__Shixuns__Detail__Challenges__ThemeChange__index",79921:"p__Classrooms__ExamList__index",80508:"p__Forums__Detail__id",80532:"p__ExcellentCourse__index",80879:"p__User__ThemeChange__AccountInfo",81799:"p__Competitions__Entered__Assembly__TeamDateil",82339:"p__virtualSpaces__Lists__Plan__Detail__index",82425:"p__Classrooms__Lists__Board__Detail__index",82443:"p__Graduations__Lists__StageModule__index",83141:"p__Innovation__Detail__index",83212:"p__MoopCases__index",83831:"p__User__ThemeChange__VirtualSpaces",84546:"p__Engineering__Lists__TrainingProgram__Add__index",85048:"p__Classrooms__Lists__Graduation__Topics__index",85111:"p__User__Detail__Order__pages__orderInformation__index",85297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",85466:"p__Classrooms__ThemeChange__LiveVideo",85888:"p__Classrooms__Lists__CommonHomework__Add__index",85891:"p__virtualSpaces__Lists__Resources__index",86069:"p__virtualSpaces__Lists__Lesson__Detail__index",86451:"p__Shixuns__Detail__RankingList__ThemeChange__index",86452:"p__Innovation__PublicDataSet__index",86634:"p__Innovation__Tasks__index",86820:"p__User__Detail__Topics__Normal__index",86913:"p__Question__AddOrEdit__index",87058:"p__virtualSpaces__Lists__Survey__Detail__index",87099:"p__Competitions__ThemeChange__index",87260:"p__Account__Certification__index",87922:"p__Classrooms__Lists__CourseGroup__Detail__index",88155:"p__Shixuns__Overview__index",88501:"p__ReservationDetail__index",88517:"p__User__Detail__Topics__Group__index",88866:"p__index",89076:"p__Account__Binding__index",89677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",89785:"p__Classrooms__Lists__Template__student__index",90109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",90337:"p__Paperlibrary__Random__PreviewEdit__index",90643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",91045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",91257:"p__Classrooms__Lists__ResourceRecommend__index",91470:"p__User__Register__index",91831:"p__Graduations__Index__index",91993:"p__Shixuns__Detail__Dataset__ThemeChange__index",92045:"p__Engineering__Lists__TeacherList__index",92281:"p__Paths__ThemeChange__Detail",92441:"layouts__LaboratoryLayouts__index",92501:"p__Search__index",92524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",92603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",92823:"p__Engineering__Navigation__Home__index",92932:"p__User__Detail__Devicegroup__Edit__index",93260:"p__Paperlibrary__Add__index",93668:"p__Classrooms__Lists__CommonHomework__Detail__index",93910:"p__User__Detail__ResourcesCenter__index",94078:"p__Messages__Tidings__index",94498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",94715:"p__virtualSpaces__Lists__Material__Detail__index",95125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",95176:"p__User__Detail__Videos__Protocol__index",95335:"p__Engineering__Lists__CourseMatrix__index",96265:"p__virtualSpaces__Lists__Discussion__index",96444:"p__Video__Detail__id",96882:"p__Classrooms__New__StartClass__index",96979:"p__knowledgegraph__SanD__index",97052:"p__OnlineDevice__DeviceInfo__InfoList__Edit__index",97224:"p__StatsDashboard__index",97329:"p__Classrooms__ThemeChange__Attendance",97883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",98062:"p__User__Detail__Topicbank__index",98217:"p__User__ThemeChange__AccountInfoEdit",98340:"p__Classrooms__Lists__Attendance__Webview__Student__index",98398:"p__virtualSpaces__Lists__Resources__Detail__index",98458:"p__Classrooms__ThemeChange__CommonHomework",98688:"p__Shixuns__Detail__Repository__index",98885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",99674:"p__Shixuns__New__ImagePreview__index"}[d]||d)+"."+{292:"8a8e72cb",556:"2ed5db8d",1343:"bbf3a29b",1477:"de1ff824",1482:"a4762ec3",1660:"88c296f9",1727:"211ebc7d",2141:"05f8b176",2249:"f4830452",2494:"68080a87",2641:"a3b5b074",2659:"9efe2799",2819:"b7e0f440",2837:"54a82605",3086:"63ffcadf",3133:"9bf3f89c",3276:"42a87afe",3282:"e152b4e4",3317:"2ab90ff2",3391:"f22379ed",3451:"bd4a0d76",3509:"cc40b3ad",3585:"d37f1526",3885:"f87f7f15",3951:"cf44e705",4048:"a8c1cadf",4685:"c33f1528",4736:"f943aba2",4757:"b499fc44",4766:"3773e16d",4973:"cbf45d0d",5165:"739aa29b",5427:"23a82cfb",5434:"38b302a6",5572:"5c32b664",5778:"7d0a049e",5902:"1e1e69fa",5962:"a2f6cbba",6004:"2a686fd3",6127:"aaf9d2cf",6205:"b303f763",6378:"7f3a946a",7043:"18329124",7323:"f3fcebbb",7884:"11e6cac0",8145:"df3b1d9e",8234:"d78f5c1c",8552:"3fac09b5",8579:"911bfde4",8787:"2c35031d",8999:"798719c6",9283:"d89ead88",9416:"62ee8cc5",9449:"0c93c7ff",9507:"b0de446e",9511:"50173b40",9906:"6f03c55a",9928:"5989f5e0",10195:"14241da9",10354:"1813df82",10485:"69c70354",10518:"749ffd97",10737:"ac42bebc",10799:"6d28d658",10921:"1a1fdb41",11070:"1efa3e81",11253:"e0bab8ed",11512:"bea9979c",11520:"19e5dc89",11545:"f517e82b",11581:"c52b900d",12102:"0062a397",12216:"188c89b9",12303:"b73d57b0",12386:"c4f636be",12412:"59dd3104",12476:"bff98fa8",12865:"594751ba",12884:"3f949664",13006:"97cad218",13818:"6d01769d",14058:"b45c15da",14088:"6e4e2e4f",14105:"f1fe5703",14227:"0a07c972",14514:"5eca51b0",14599:"b69454ab",14610:"103b2b81",14662:"e44d7e67",14889:"a6e0c987",15148:"d9804a08",15186:"9428ef13",15290:"3d70df78",15302:"55869b7a",15319:"d931e55d",15382:"943b82a0",15402:"0ed182dc",15631:"b3b83250",15800:"11cdb73a",15894:"5de271ad",16328:"3dbe37ef",16434:"80b38314",16729:"9f2bf598",17204:"51622e2b",17402:"cdebb345",17482:"62fa2714",17527:"18dcdacf",17622:"7e55a3c1",17806:"0ef3e067",18241:"91bf9166",18350:"0d890a82",18898:"d218e7e3",18963:"dcf02c99",19595:"1d41649b",19715:"0803c0ef",19891:"d9fb74bc",20026:"7fa58966",20576:"1f4093af",20680:"2f6d5812",20700:"32746135",21423:"04ae4ef3",21578:"ff5b9c68",21836:"eef3f0b5",21897:"bf58c957",21939:"8ce2336e",22307:"3217b0b9",22707:"6845db5d",23873:"3f65fdf6",24420:"da36464a",24504:"0dc9330d",24628:"9d5bb4e5",24797:"ebd3a602",24806:"bcec491d",25022:"226c6328",25705:"6dbd748b",25972:"8121abc7",26116:"9ffd10e0",26126:"bcbb21c4",26366:"bce71bb5",26682:"4b82a166",26685:"7ac8b8ef",26741:"39bff6e0",26788:"9ed907ca",27178:"46f90c1e",27182:"349b3b0a",27322:"681c3e55",27333:"ff1e91b7",27395:"3fe78df0",27706:"a6d4ed52",27823:"8f104425",27901:"f8e6bf77",28072:"78081abc",28089:"d2e86d62",28116:"23de9985",28161:"61347d34",28237:"fc7ca3f7",28286:"84154703",28435:"7bc07dd4",28561:"510238ae",28580:"b1982d86",28639:"db3f21a4",28723:"a3ceae44",28823:"395321e9",28920:"a4e6fd97",29172:"9bbb3a9d",29559:"a564bfb1",29647:"f620e23f",29895:"c65c77cb",29968:"df169611",30065:"316708ca",30067:"c0f03261",30174:"bb5a7e7a",30264:"cf66a2c2",30741:"545d7666",31006:"8179974e",31154:"e2768853",31211:"cf1ac715",31427:"03edb6c3",31674:"3802ac62",31962:"bfa51736",32099:"cd67eb4e",33747:"857e6890",33784:"82c17442",33805:"d40f96e4",34093:"9bd0a5fb",34741:"28964df3",34790:"a11dc739",34800:"ec0b0c5b",34850:"658c5470",34994:"207e505b",35060:"4daf44de",35230:"61a3b27f",35238:"651f3273",35354:"484f122f",35416:"561481e5",35694:"6161f43c",35729:"b23e64f0",36029:"f7a3e8ae",36080:"fe21c8a0",36170:"d95149ad",36270:"eb959daa",36634:"efd8b3fa",36637:"0286c57d",36732:"4227410d",36784:"7d9dd4fa",37062:"5b60a2e5",37289:"9157333a",37745:"13488ed4",38143:"1dbb5ecf",38275:"0d8d2fa3",38447:"dfc121ca",39061:"3ea697f6",39252:"f6ee69dc",39391:"8beeef4a",39404:"d8313f3b",39695:"3cb80efd",39950:"ba2aad3a",40559:"9f0f10a1",40895:"b7595205",40919:"7cb2d717",41048:"24262cbc",41657:"df8f8cc4",41717:"77e41f59",41953:"bb71ec38",42240:"23806654",42862:"8335abf9",43433:"c5f66be7",43442:"50564ed7",43862:"abbe590d",44216:"e3629b33",44259:"fe98313b",44354:"449d9dec",44360:"3244c63c",44449:"aa7bb714",44565:"bee0224c",45096:"aea6984a",45179:"a1a1fd7c",45359:"58109efb",45650:"71b48811",45775:"f302ac0b",45798:"376a3b77",45915:"a3bd0be1",45985:"947ea539",45992:"dbd040ca",46796:"19515f58",46963:"ee398034",47545:"3fa973f8",47686:"79fd7230",48121:"e255a718",48137:"39fbc301",48365:"b7a31974",48431:"f0727930",48689:"d2cbd3db",48776:"4fafad80",48965:"4996684f",49111:"49406337",49205:"9af7723e",49260:"1555cfd9",49366:"daf268cb",49716:"20b33388",50570:"7f6c4153",50900:"17b8ee00",51144:"b749d860",51276:"fdea4b83",51443:"f95c7a2a",51461:"761fa3d2",51582:"7a5a82a7",51646:"26cb79cd",51651:"fc4cc5bb",51678:"0462cccd",51855:"2997a62b",52338:"dd1d85f6",52404:"2f65ef27",52748:"12b0bb44",52806:"2bd8570a",52829:"1c0eed77",53247:"bb57bc17",53443:"e724ee85",53550:"93044b6b",53589:"dd365500",53697:"2d3d5602",53777:"e90e3512",53910:"a7baa381",54056:"99c47f89",54164:"6a1036e0",54492:"60ae9ecf",54572:"720faad5",54621:"0a6d8779",54770:"899e1201",54928:"28b317fe",55177:"6798e855",55330:"b37a577d",55573:"55fd210b",55624:"5beb5f4f",56047:"8d4fca03",56185:"5f11694e",56282:"0937f868",57045:"3c235bad",57365:"4c5ac348",57560:"8dfbc979",57614:"f3a0f541",57670:"0d3fd5f9",57855:"0f573156",59142:"a40a87b8",59406:"76b64486",59417:"50cc0f43",59487:"4ece7541",59649:"661bc71a",59788:"1c44b730",60201:"194b9f04",60479:"d4a93519",60533:"3e4ef272",60547:"71b5c15d",60906:"a604d776",60921:"781c8ac6",61043:"70b7d755",61713:"648d1ec8",61727:"6dd0ffef",61798:"3b47b2e8",61880:"643c9874",62300:"a4c68998",62548:"095910eb",63157:"601af377",63198:"5785a4c5",63581:"087de72a",63754:"386233bd",64017:"f83e45f0",64030:"e1427eb1",64144:"7fb088ef",64217:"453c9d37",64297:"01fd5fe1",64339:"a5acc835",64496:"7ab8d483",64520:"9a9bd552",65111:"e3236f34",65117:"4dac34fc",65148:"b81eb493",65549:"676f01b9",65776:"7491b37c",65816:"87fc2744",65876:"2e82f8ab",66034:"1cee350d",66063:"a016bfa1",66531:"2b975912",66583:"5b2ec08e",66587:"31d9b3ba",66651:"397bc7d0",67156:"0daa3a8c",67242:"0668fbf9",67424:"2f74ba6c",67589:"0b53cdb2",67835:"fbdeac69",67880:"10546fa7",68332:"04931ff2",68665:"e4fc1dce",68827:"13dee6e6",68842:"281d0f87",68882:"5461e164",69039:"89ad50e4",69681:"d844b0bb",69922:"7639108f",69944:"743daf6f",70119:"8091912e",70671:"a4734251",70928:"e2f7c587",70981:"6d43071f",71077:"b2f9045d",71229:"4e7f1da8",71450:"2eba4669",71475:"2efe9048",71525:"59e32038",71754:"4b58372e",71783:"914c74f7",72011:"bdefe7c9",72130:"e727faa1",72203:"811f986d",72539:"d3ef998d",72570:"13ffdd18",72969:"a4cf7ff0",73183:"40b4cbad",73685:"e1b510c9",74014:"18a6ed07",74264:"961fa0fc",74347:"31822cf9",74795:"7fe723a8",74902:"af15fb03",75043:"33fa137d",75307:"241a7846",75321:"e7556538",75357:"c083f59b",75786:"d585cfd0",75816:"c997f2cd",76411:"f65701d5",76789:"f738bc15",76806:"ab0db29e",76904:"041ccc90",77042:"a9b4a1c5",77084:"cf8cc55a",77460:"ab7a2bc3",77465:"fcabfa70",77857:"81f7e2e8",78085:"e67673b1",78115:"f4c677ef",78302:"0d92807b",78479:"941ee47b",78563:"c77ec9d6",78737:"730df99f",79489:"702f0d38",79814:"08ec45f1",79921:"5c231ccd",80508:"f9b29a72",80532:"6188293e",80629:"594c6bd3",80879:"0ca55fd3",81799:"7790acf4",82339:"a9227d60",82425:"cb1692fa",82443:"9ddb5096",83141:"ae8a68fe",83212:"8b4e9171",83831:"52c73392",84546:"e46eaf23",85048:"85814b2f",85111:"1567ba43",85297:"5880d3da",85466:"23be6f24",85494:"ba5e22ad",85764:"a066d09e",85888:"3c74e884",85891:"f9dca1b1",85911:"7c5022d1",86045:"487b1c78",86069:"fb528fb5",86451:"12b15918",86452:"48692d27",86634:"17d71514",86774:"72162c15",86820:"896efed5",86913:"8ab27f45",87058:"2a093747",87099:"a2eea5a1",87260:"47a6f80b",87922:"54751ea8",87964:"39e4d47e",88155:"108917eb",88501:"6beafc77",88517:"cce6dff3",88866:"8506702c",89076:"4a3df5a3",89554:"e539247d",89677:"bf02610c",89785:"0f68c01d",90109:"78f1d4fe",90316:"e09f92c0",90337:"1a283daa",90515:"5121a9d4",90643:"e29111e5",91045:"94a24e41",91257:"6d5fe380",91274:"52079a02",91462:"74ce79b3",91470:"dcd49322",91831:"5f21cdf7",91865:"0367e3e0",91993:"2bd26593",92045:"ffd5ac9e",92281:"f1f23cbf",92441:"5e1ba170",92501:"dfbe78ed",92524:"b3eacd19",92538:"bfe44958",92594:"e46334aa",92603:"535e54d2",92823:"9fa05ff6",92932:"5640b0bd",93260:"e3abadcb",93668:"dcd56cdd",93910:"d78044b5",94078:"845f4cc7",94498:"9c81e8f6",94715:"67d4e381",95125:"bd8b99da",95176:"d7535c3e",95335:"3d7f0c38",95373:"5bcb5bb0",95679:"c553d6e6",96265:"45de9f92",96344:"381edab0",96444:"d0e5cc21",96882:"3a30069e",96979:"f9ce6f19",97052:"ded86e2e",97224:"9b8fc13f",97329:"fd662da8",97591:"87e32906",97883:"4c3c46fc",98062:"dbb800f4",98217:"b8de98cb",98340:"9bed7a83",98398:"6ac5e068",98458:"3ebae8b0",98688:"521ce946",98885:"646dd23e",98909:"d1dfc1d3",99104:"77a62895",99674:"8fd61897"}[d]+".async.js"}}(),function(){__webpack_require__.miniCssF=function(d){return""+({292:"p__Classrooms__Lists__Exercise__Add__index",556:"p__User__Detail__Order__pages__invoice__index",1343:"p__User__Detail__ResourceAllocation__index",1477:"p__Classrooms__ThemeChange__Assistant",1482:"p__Classrooms__Lists__Graduation__Topics__Edit__index",1727:"p__OnlineMessageCenter__MessageCenterManage__index",2141:"p__Shixuns__Detail__Split__index",2641:"p__Property__Procurement__index",2659:"p__User__Detail__UserPortrait__index",2819:"p__Classrooms__Lists__Template__detail__index",3086:"p__Shixuns__Detail__ForkList__ThemeChange__index",3276:"p__Classrooms__Lists__Statistics__UserportraitStatistics__index",3282:"p__OnlineDevice__DigitalSigns__index",3317:"p__Classrooms__Lists__Graduation__Topics__Add__index",3391:"p__Classrooms__Lists__ProgramHomework__Detail__components__CodeReview__Detail__index",3451:"p__Classrooms__Lists__Statistics__StudentStatistics__Detail__index",3509:"p__HttpStatus__SixActivities",3585:"p__Classrooms__Lists__Statistics__StudentSituation__index",3951:"p__Classrooms__Lists__ProgramHomework__Detail__index",4048:"p__Forums__ThemeChange__index",4736:"p__User__Detail__Projects__index",4757:"p__virtualSpaces__Lists__Workplace__index",4766:"p__Administration__index",4973:"p__Engineering__Evaluate__List__index",5165:"p__User__ThemeChange__Topics",5427:"p__User__Detail__Devicegroup__index",5572:"p__Paths__HigherVocationalEducation__index",6127:"p__Classrooms__Lists__ProgramHomework__Ranking__index",6205:"p__Classrooms__ThemeChange__VideoUpload",7043:"p__User__Detail__Topics__Exercise__Edit__index",7323:"p__Classrooms__ThemeChange__New",7884:"p__Shixuns__Exports__index",8145:"p__User__ThemeChange__ClassManagementItem",8234:"p__OnlineDevice__DeviceLabel__index",8552:"p__Shixuns__ThemeChange__index",8579:"p__Competitions__ThemeChange__Edit",8787:"p__Competitions__Entered__index",8999:"p__Three__index",9416:"p__Graduations__Lists__Tasks__index",9449:"p__Shixuns__ThemeChange__Detail",9507:"p__User__Detail__ResourceGuarantee__index",9511:"p__Shixuns__ThemeChange__Edit",9906:"p__Paths__ThemeChange__index",10195:"p__Classrooms__Lists__GroupHomework__Detail__index",10485:"p__Question__AddOrEdit__BatchAdd__index",10518:"p__Shixuns__Detail__Settings__ThemeChange__index",10737:"p__Classrooms__Lists__CommonHomework__Detail__components__CodeReview__Detail__index",10799:"p__User__Detail__Topics__Poll__Detail__index",10921:"p__Classrooms__Lists__Exercise__CodeDetails__index",11070:"p__Innovation__PublicMirror__index",11253:"p__Graduations__Lists__Gradingsummary__index",11512:"p__Classrooms__Lists__Exercise__AnswerCheck__index",11520:"p__Engineering__Lists__StudentList__index",11545:"p__Paperlibrary__Random__ExchangeFromProblemSet__index",11581:"p__Problemset__Preview__index",12102:"p__Classrooms__Lists__Board__Edit__index",12216:"p__DataSet__Index__index",12303:"p__Classrooms__Lists__CommonHomework__Comment__index",12412:"p__User__Detail__Videos__index",12476:"p__Colleges__index",12865:"p__Innovation__MyMirror__index",12884:"p__Classrooms__Lists__ProgramHomework__Comment__index",13006:"p__Engineering__index",14105:"p__Classrooms__Lists__Exercise__Answer__index",14227:"p__Paths__Overview__index",14514:"p__Account__Results__index",14599:"p__Problemset__index",14610:"p__User__Detail__LearningPath__index",14662:"p__Classrooms__Lists__GroupHomework__Review__index",14889:"p__Classrooms__Lists__Exercise__ImitateAnswer__index",15148:"p__Classrooms__Lists__Template__index",15186:"p__Classrooms__Overview__index",15319:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Detail__index",15382:"p__DataSet__Detail__index",15402:"p__User__Detail__Topics__Detail__index",15800:"p__User__ThemeChange__Competitions",15894:"p__Shixuns__Detail__Repository__Commit__ThemeChange__index",16328:"p__Shixuns__Edit__body__Warehouse__index",16434:"p__User__Detail__Order__pages__records__index",16729:"p__Classrooms__Lists__GroupHomework__Edit__index",17402:"p__User__ThemeChange__OtherResources",17482:"p__Classrooms__Lists__Exercise__Notice__index",17527:"p__MyProblem__RecordDetail__index",17622:"p__Classrooms__Lists__Polls__Detail__index",17806:"p__Classrooms__Lists__Statistics__StatisticsQuality__index",18241:"p__virtualSpaces__Lists__Plan__index",19595:"p__knowledgegraph__Statistics__AbilityMap__index",19715:"p__Classrooms__Lists__CommonHomework__Edit__index",19891:"p__User__Detail__Videos__Success__index",20026:"p__Classrooms__Lists__Graduation__Tasks__Edit__index",20576:"p__Account__Profile__Edit__index",20680:"p__Innovation__index",20700:"p__tasks__Jupyter__index",21423:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeAnswer__index",21578:"p__Classrooms__Lists__Graduation__Topics__Detail__index",21836:"p__Classrooms__Lists__Attendance__Webview__Teacher__index",21897:"p__User__ThemeChange__ClassManagement",21939:"p__User__Detail__Order__index",22307:"p__Report__index",22707:"p__Innovation__MyDataSet__index",23873:"p__virtualSpaces__Lists__Lesson__index",24420:"p__knowledgegraph__index",24504:"p__virtualSpaces__Lists__Survey__index",24806:"p__OnlineDevice__FaultLibrary__index",25022:"p__Graduations__Lists__Settings__index",25705:"p__virtualSpaces__Lists__Construction__index",25972:"layouts__user__index",26116:"p__Visualization__index",26366:"p__Innovation__PublicProject__index",26682:"p__User__ThemeChange__Shixuns",26685:"p__Classrooms__Index__index",26741:"p__Engineering__Norm__List__index",27178:"p__User__BindAccount__index",27182:"p__User__ResetPassword__index",27322:"layouts__ThemeChange__ShixunDetail",27395:"p__Classrooms__Lists__Statistics__StudentDetail__index",27823:"p__OnlineMessageCenter__OffSiteConfig__index",27901:"p__Guidance__ThemeChange",28072:"p__Classrooms__Lists__GroupHomework__SubmitWork__index",28116:"p__LaboratoryList__index",28237:"p__User__Detail__Order__pages__view__index",28286:"p__User__ThemeChange__ExperImentImgDetail",28435:"p__Classrooms__Lists__Attendance__index",28723:"p__Classrooms__Lists__Polls__Edit__index",28823:"p__knowledgegraph__Detail__id",29172:"p__DeviceOperationMonitoring__index",29647:"p__Question__Index__index",30065:"p__StudentEffectivenessAnalysis__index",30067:"p__Message__index",30174:"p__OnlineDevice__DeviceInfo__InfoList__Details__index",30264:"p__User__Detail__Order__pages__orderPay__index",31006:"p__RestFul__index",31211:"p__Classrooms__Lists__CommonHomework__EditWork__index",31427:"p__Classrooms__Lists__Statistics__index",31674:"p__Classrooms__ClassicCases__index",31962:"p__Classrooms__Lists__Engineering__index",32099:"p__Paperlibrary__ThemeChange__index",33747:"p__virtualSpaces__Lists__Homepage__index",33784:"p__Paperlibrary__Random__Detail__index",34093:"p__Classrooms__Lists__Attendance__Detail__index",34741:"p__Problems__OjForm__NewEdit__index",34800:"p__Engineering__Lists__GraduatedMatrix__index",34994:"p__Problems__OjForm__index",35230:"p__Shixuns__Detail__Repository__AddFile__ThemeChange__index",35238:"p__virtualSpaces__Lists__Material__index",35694:"p__Classrooms__ThemeChange__ShixunHomeworksDetail",35729:"p__Help__Index",36029:"p__Administration__Student__index",36080:"p__Paths__ThemeChange__New",36270:"p__MyProblem__index",36637:"p__Shixuns__Detail__Repository__ThemeChange__index",36784:"p__Innovation__Edit__index",37062:"layouts__SimpleLayouts",37289:"p__tasks__ThemeChange__index",37745:"p__OnlineDevice__DeviceType__index",38143:"layouts__GraduationsDetail__index",38447:"p__virtualSpaces__Lists__Knowledge__index",39391:"p__Engineering__Lists__CurseSetting__index",39404:"monaco-editor",39695:"p__Classrooms__Lists__Polls__Add__index",40559:"layouts__virtualDetail__index",40895:"p__Classrooms__Lists__Video__Items__videoInfo__index",40919:"p__knowledgegraph__Statistics__LearningPath__index",41048:"p__Classrooms__Lists__ProgramHomework__Detail__Ranking__index",41657:"p__Shixuns__Edit__body__Level__Challenges__EditQuestion__index",41717:"layouts__index",41953:"p__Problemset__NewItem__index",42240:"p__User__Detail__Videos__Upload__index",42862:"p__User__ThemeChange__ExperImentImg",43433:"p__Classrooms__Lists__Exercise__Sumup__Edit__index",43442:"p__Classrooms__Lists__Board__Add__index",44216:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Edit__index",44259:"p__User__Detail__Order__pages__result__index",44449:"p__Competitions__Exports__index",45096:"p__Shixuns__Detail__AuditSituation__index",45179:"p__Administration__Student__Edit__index",45359:"p__Messages__Detail__index",45650:"p__Competitions__Update__index",45775:"p__Engineering__Lists__Document__index",45798:"p__Classrooms__Lists__Video__Statistics__UserDetail__index",45915:"p__knowledgegraph__Detail__Statistics__index",45992:"p__Classrooms__Lists__Exercise__ReviewGroup__index",46796:"p__virtualSpaces__Lists__Announcement__Detail__index",46963:"p__Classrooms__Lists__Engineering__Detail__index",47545:"p__Graduations__Lists__Archives__index",48121:"p__OnlineDevice__DeviceType__Details__index",48137:"p__knowledgegraph__Statistics__PathAtlas__index",48431:"p__Classrooms__Lists__Exercise__Export__index",48689:"p__Classrooms__Lists__Statistics__VideoStatistics__index",48965:"p__Shixuns__Detail__Discuss__ThemeChange__index",49205:"p__Shixuns__Edit__body__Level__Challenges__EditPracticeSetting__index",49366:"p__User__Login__index",49716:"p__Question__OjProblem__RecordDetail__index",50900:"p__User__ThemeChange__Classrooms",51276:"p__MoopCases__Success__index",51443:"p__EffectivenessAnalysis__index",51461:"p__Graduations__Lists__Topics__index",51582:"p__Classrooms__Lists__GroupHomework__Add__index",51651:"p__Paths__ThemeChange__Statistics",51678:"p__Classrooms__ThemeChange__Attachment",51855:"p__MoopCases__InfoPanel__index",52338:"p__Classrooms__Lists__CommonHomework__Review__index",52404:"p__Classrooms__Lists__Template__teacher__index",52748:"p__Property__index",52806:"p__User__Detail__Topics__Exercise__Detail__index",52829:"p__Messages__Private__index",53247:"p__Paperlibrary__See__index",53443:"p__knowledgegraph__Statistics__AbilityMap__Detail",53910:"p__HttpStatus__introduction",54056:"p__IntrainCourse__index",54164:"p__Classrooms__Lists__Exercise__Detail__index",54492:"p__Graduations__Lists__StudentSelection__index",54572:"p__Classrooms__Lists__ExportList__index",54621:"p__Administration__Profession__index",54770:"p__Classrooms__Lists__ProgramHomework__Detail__answer__index",54928:"p__Classrooms__Lists__LearningPath__index",55177:"p__Classrooms__ThemeChange__Teachers",55330:"p__Classrooms__ThemeChange__ShixunHomeworksComment",55573:"p__Shixuns__Detail__Merge__index",55624:"p__Graduations__Lists__Index__index",56185:"p__Classrooms__ThemeChange__Announcement",56282:"p__Classrooms__ThemeChange__ProgramHomework",57045:"p__Classrooms__Lists__CommonHomework__SubmitWork__index",57560:"p__Administration__College__index",57614:"p__Shixuns__Edit__body__Level__Challenges__RankingSetting__index",57670:"p__OnlineReservation__ReservationInfo__index",57855:"p__User__Detail__ResourcesCenter__Detail__index",59142:"p__Reservation__index",59406:"p__Classrooms__ThemeChange__Board",59487:"p__LargeScreen__index",59649:"p__Engineering__Lists__TrainingProgram__index",59788:"p__Account__Profile__index",60201:"p__Classrooms__ThemeChange__Students",60479:"p__Classrooms__Lists__GroupHomework__EditWork__index",60533:"p__Classrooms__Lists__Video__Statistics__Detail__index",60547:"p__Account__index",60906:"p__User__ThemeChange__CareerCertification",60921:"p__Classrooms__ThemeChange__Exercise",61043:"p__Classrooms__Lists__Graduation__Tasks__index",61713:"p__virtualSpaces__Lists__Settings__index",61727:"p__Classrooms__Lists__CourseGroup__NotList__index",61798:"p__Classrooms__ThemeChange__GroupHomework",61880:"p__User__Detail__Order__pages__apply__index",62548:"p__Engineering__Norm__Detail__index",63157:"p__User__Detail__ExperImentImg__Add__index",63581:"p__Shixuns__Detail__Collaborators__ThemeChange__index",64030:"p__Classrooms__Lists__ProgramHomework__AddAndEdit__index",64144:"p__Problemset__Preview__New__index",64217:"p__Classrooms__Lists__Video__Statistics__index",64297:"p__Classrooms__ThemeChange__Polls",64339:"p__knowledgegraph__Statistics__PathAtlas__Detail",64496:"p__HttpStatus__HpcCourse",64520:"p__Account__Secure__index",65111:"p__Terminal__index",65117:"p__User__ThemeChange__Certificate",65148:"p__Classrooms__Lists__Polls__Answer__index",65549:"p__Shixuns__New__CreateImg__index",65776:"p__User__ThemeChange__RealNameCertification",65816:"p__virtualSpaces__Lists__Announcement__index",66063:"p__Graduations__Lists__Personmanage__index",66583:"p__User__Detail__Classrooms__index",66587:"p__User__Detail__Videos__Protocol__resource",66651:"p__Engineering__Evaluate__Detail__index",67242:"p__Innovation__MyProject__index",67589:"p__virtualSpaces__Lists__DigitalTopics__index",67835:"p__Problemset__ThemeChange__index",68332:"p__User__ThemeChange__Detail",68665:"p__Engineering__Lists__TrainingObjectives__index",68827:"p__Classrooms__Lists__OnlineLearning__index",68882:"p__Classrooms__Lists__Graduation__Tasks__Detail__index",69039:"p__Classrooms__ThemeChange__CourseGroup",69681:"p__User__Detail__Devicegroup__Add__index",69922:"p__Classrooms__Lists__Statistics__StudentVideo__index",69944:"p__Classrooms__Lists__Video__Statistics__StudentDetail__index",70119:"p__User__ThemeChange__Paths",70928:"p__RestFul__Edit__index",71077:"p__User__ThemeTwoLogin__index",71450:"p__Classrooms__Lists__ShixunHomeworks__Commitsummary__index",71475:"p__Shixuns__Detail__Dataset__JupyterData__index",71525:"p__User__Detail__Devicegroup__ReservationInfo__index",71754:"p__Classrooms__ThemeChange__Video",71783:"p__virtualSpaces__Lists__Experiment__index",72130:"p__Shixuns__Detail__Repository__UploadFile__ThemeChange__index",72203:"p__Classrooms__ThemeChange__ShixunHomeworks",72539:"p__Graduations__Review__index",72570:"p__Competitions__Detail__index",73183:"p__Engineering__Lists__GraduationIndex__index",73685:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Edit__index",74264:"p__Forums__New__index",74795:"p__Classrooms__Lists__Graduation__Tasks__Add__index",75043:"p__User__Detail__Topics__Poll__Edit__index",75307:"p__Shixuns__ThemeChange__New",75357:"p__Engineering__Lists__TrainingProgram__Edit__index",75786:"layouts__LoginAndRegister__index",75816:"p__Paperlibrary__Random__Edit__index",76789:"p__Classrooms__ThemeChange__index",76806:"p__OnlineDevice__DeviceInfo__index",76904:"p__MoopCases__FormPanel__index",77042:"p__knowledgegraph__Statistics__LearningPath__Detail",77460:"p__Question__OjProblem__index",77465:"p__OnlineDevice__DeviceInfo__InfoList__ReservationInfo__index",77857:"p__Shixuns__Edit__body__Level__Challenges__NewQuestion__index",78085:"p__Classrooms__Lists__Exercise__Review__index",78115:"p__User__ThemeChange__DataSet",78479:"p__User__ThemeChange__TeachGroup",78563:"p__virtualSpaces__Lists__Discussion__Detail__index",79489:"p__Engineering__Lists__CourseList__index",79814:"p__Shixuns__Detail__Challenges__ThemeChange__index",79921:"p__Classrooms__ExamList__index",80508:"p__Forums__Detail__id",80532:"p__ExcellentCourse__index",80879:"p__User__ThemeChange__AccountInfo",82339:"p__virtualSpaces__Lists__Plan__Detail__index",82425:"p__Classrooms__Lists__Board__Detail__index",82443:"p__Graduations__Lists__StageModule__index",83141:"p__Innovation__Detail__index",83212:"p__MoopCases__index",83831:"p__User__ThemeChange__VirtualSpaces",84546:"p__Engineering__Lists__TrainingProgram__Add__index",85048:"p__Classrooms__Lists__Graduation__Topics__index",85111:"p__User__Detail__Order__pages__orderInformation__index",85297:"p__Classrooms__Lists__Exercise__Detail__components__DuplicateChecking__CheckDetail__index",85466:"p__Classrooms__ThemeChange__LiveVideo",85888:"p__Classrooms__Lists__CommonHomework__Add__index",85891:"p__virtualSpaces__Lists__Resources__index",86069:"p__virtualSpaces__Lists__Lesson__Detail__index",86451:"p__Shixuns__Detail__RankingList__ThemeChange__index",86452:"p__Innovation__PublicDataSet__index",86634:"p__Innovation__Tasks__index",86820:"p__User__Detail__Topics__Normal__index",86913:"p__Question__AddOrEdit__index",87058:"p__virtualSpaces__Lists__Survey__Detail__index",87099:"p__Competitions__ThemeChange__index",87260:"p__Account__Certification__index",87922:"p__Classrooms__Lists__CourseGroup__Detail__index",88155:"p__Shixuns__Overview__index",88501:"p__ReservationDetail__index",88517:"p__User__Detail__Topics__Group__index",88866:"p__index",89076:"p__Account__Binding__index",89677:"p__virtualSpaces__Lists__Announcement__AddAndEdit__index",89785:"p__Classrooms__Lists__Template__student__index",90109:"p__Classrooms__Lists__ShixunHomeworks__Detail__components__CodeReview__Detail__index",90337:"p__Paperlibrary__Random__PreviewEdit__index",90643:"p__Classrooms__Lists__Polls__QuestionnaireInfo__index",91045:"p__virtualSpaces__Lists__Knowledge__AddAndEdit__index",91257:"p__Classrooms__Lists__ResourceRecommend__index",91470:"p__User__Register__index",91831:"p__Graduations__Index__index",91993:"p__Shixuns__Detail__Dataset__ThemeChange__index",92045:"p__Engineering__Lists__TeacherList__index",92281:"p__Paths__ThemeChange__Detail",92441:"layouts__LaboratoryLayouts__index",92501:"p__Search__index",92524:"p__knowledgegraph__Detail__components__Content__components__AbilityMap__Detail__index",92603:"p__Classrooms__Lists__ProgramHomework__Detail__answer__Add__index",92823:"p__Engineering__Navigation__Home__index",92932:"p__User__Detail__Devicegroup__Edit__index",93260:"p__Paperlibrary__Add__index",93668:"p__Classrooms__Lists__CommonHomework__Detail__index",93910:"p__User__Detail__ResourcesCenter__index",94078:"p__Messages__Tidings__index",94498:"p__Shixuns__Edit__body__Level__Challenges__NewPractice__index",94715:"p__virtualSpaces__Lists__Material__Detail__index",95125:"p__Classrooms__Lists__Exercise__DetailedAnalysis__index",95176:"p__User__Detail__Videos__Protocol__index",95335:"p__Engineering__Lists__CourseMatrix__index",96265:"p__virtualSpaces__Lists__Discussion__index",96444:"p__Video__Detail__id",96882:"p__Classrooms__New__StartClass__index",96979:"p__knowledgegraph__SanD__index",97052:"p__OnlineDevice__DeviceInfo__InfoList__Edit__index",97224:"p__StatsDashboard__index",97329:"p__Classrooms__ThemeChange__Attendance",97883:"p__Classrooms__Lists__Exercise__WrongAnswer__index",98062:"p__User__Detail__Topicbank__index",98217:"p__User__ThemeChange__AccountInfoEdit",98398:"p__virtualSpaces__Lists__Resources__Detail__index",98458:"p__Classrooms__ThemeChange__CommonHomework",98688:"p__Shixuns__Detail__Repository__index",98885:"p__Classrooms__Lists__Statistics__StudentStatistics__index",99674:"p__Shixuns__New__ImagePreview__index"}[d]||d)+"."+{292:"61445bf5",556:"0e9c5cde",1343:"e4e2ebc7",1477:"08b9f795",1482:"d159af07",1727:"8f545197",2141:"5eb2f330",2641:"f5009853",2659:"f6071a36",2819:"9455b08a",3086:"d0ebac07",3276:"7bbb651d",3282:"17b4bc50",3317:"137440b7",3391:"f0e498fe",3451:"e3a31387",3509:"70043ca5",3585:"5f288e7b",3951:"9b11b034",4048:"5d227dab",4736:"aa2d53d9",4757:"73b754d2",4766:"b5df5a8e",4973:"129c56e8",5165:"dc6d9bc6",5427:"1e6faa99",5572:"c945fbf2",6127:"f31505a8",6205:"6eef461f",7043:"25478869",7323:"96a424b7",7884:"1ca6cde0",8145:"0eefaae0",8234:"adb94b66",8552:"208da293",8579:"5c1d5d8e",8787:"121de108",8999:"448aa22f",9416:"bc1cc3b9",9449:"0d7c01df",9507:"af07d346",9511:"dc316be3",9906:"c603619a",10195:"8bc56a44",10485:"d63578fe",10518:"a22ced2d",10737:"98eb2f74",10799:"b1dec428",10921:"30cc7e9b",11070:"e67e9e01",11253:"a97ebbb0",11512:"f3653a35",11520:"f7300d0e",11545:"0da47095",11581:"efffd7c0",12102:"ec61f9f0",12216:"90f34d3c",12303:"5a9dc2b1",12412:"4490ba2a",12476:"cf85a190",12865:"6ef3cf6b",12884:"405c2ef9",13006:"7fce4e74",14105:"7f9d4513",14227:"79c3b323",14514:"887bdbb6",14599:"6327db8f",14610:"687005a6",14662:"30b29314",14889:"a91da64a",15148:"9f425be3",15186:"30047116",15319:"34217c3f",15382:"28b79a42",15402:"68063d1e",15800:"f214b296",15894:"4faa35bb",16328:"de2b9d62",16434:"c5a95b1e",16729:"aea3b7f5",17402:"c3bf3e69",17482:"c37a3f01",17527:"a4765b7e",17622:"79b56687",17806:"80b7b1d6",18241:"c8299739",19595:"898b0443",19715:"b6c6645f",19891:"512a9301",20026:"91ed81ab",20576:"e4f97d42",20680:"e67e9e01",20700:"6d428944",21423:"5c4a76fc",21578:"efcb0bdc",21836:"5f0d3f7f",21897:"35d10918",21939:"164385ec",22307:"b2c54321",22707:"cabcb16e",23873:"9b32f93d",24420:"d1920d14",24504:"b05222a6",24806:"c6922147",25022:"81b1b86b",25705:"df6bf207",25972:"5714bec5",26116:"29bcf24b",26366:"079fc2d8",26682:"d2765c91",26685:"cc9a5255",26741:"b838eb14",27178:"6e47d75d",27182:"183c9793",27322:"3cadaaa7",27395:"ff574c5d",27823:"11abf561",27901:"dba09a67",28072:"540f746b",28116:"7e9ed7ec",28237:"cc24fd46",28286:"4b01dd59",28435:"c54dbac3",28723:"77277ca8",28823:"75b63dcd",29172:"16a4b74b",29647:"bea72042",30065:"922b80da",30067:"249d60ed",30174:"a243523d",30264:"5fd9b3fc",31006:"2263131d",31211:"bdb8faab",31427:"3d93dfaa",31674:"fdbc1e05",31962:"84e145fa",32099:"42901130",33747:"c50b2b70",33784:"c81d4a51",34093:"7d2dbef2",34741:"c51f7784",34800:"f50302a4",34994:"a8674b97",35230:"94dfecf3",35238:"694000a4",35694:"3d9d34f2",35729:"46f9b5d4",36029:"3f8b2a62",36080:"ce0d7ebc",36270:"5496b206",36637:"cd627031",36784:"1affe817",37062:"10bacc35",37289:"03d0df5f",37745:"de06007b",38143:"baf130b5",38447:"9c541ee4",39391:"c4736e2f",39404:"d8cf04f7",39695:"7288e7ae",40559:"c49aa5ba",40895:"ad846737",40919:"898b0443",41048:"dafc3f4f",41657:"49a2443a",41717:"f85c98e6",41953:"d6d2346f",42240:"e7cce869",42862:"67c37a4e",43433:"9a871026",43442:"bdf7849c",44216:"0277270a",44259:"ebd953ac",44449:"e68d8d58",45096:"4f6a4d00",45179:"699b44a8",45359:"b254a598",45650:"f8f63f4b",45775:"8945cad2",45798:"ce1cf7da",45915:"bc9c3e69",45992:"419f5d2f",46796:"88ef2b35",46963:"84e145fa",47545:"88c2815e",48121:"f55b4f44",48137:"66f37f26",48431:"289b326c",48689:"38303690",48965:"f169309d",49205:"49a3e67d",49366:"4f511490",49716:"a5750e0d",50900:"5db55ef3",51276:"bbc6eeec",51443:"0e10e302",51461:"82857f62",51582:"8e45b6ff",51651:"b2ff4d6f",51678:"c99d5f02",51855:"b92cccb4",52338:"9f251b40",52404:"08d36549",52748:"4d47bb3f",52806:"066a1e3c",52829:"a5909474",53247:"50105eb7",53443:"898b0443",53910:"658d457f",54056:"10eacfff",54164:"4751b387",54492:"9fd5ba05",54572:"70e5675d",54621:"4c789bfa",54770:"674b2d2a",54928:"7c2ece62",55177:"b612c017",55330:"5b911c36",55573:"6ecf393c",55624:"685b3a03",56185:"4617aa93",56282:"37b2b2dd",57045:"48f6fc4c",57560:"d82e43ca",57614:"de9ee12f",57670:"96c43426",57855:"d9440df4",59142:"6e5773b6",59406:"df76000e",59487:"a73f5679",59649:"00fb4211",59788:"781a4d20",60201:"749be0d6",60479:"bba9e475",60533:"308bfa22",60547:"5581debc",60906:"d2399d94",60921:"e7f1be47",61043:"e8c0878b",61713:"a4a3dbd7",61727:"4eec53ba",61798:"d4c3f3eb",61880:"29bc2b98",62548:"75182034",63157:"d0ba1925",63581:"4bffbc10",64030:"d3df931a",64144:"f10aa199",64217:"387bf824",64297:"0d7e3efe",64339:"9de29759",64496:"77babddd",64520:"e86d61a1",65111:"5d09a39a",65117:"4358a2fb",65148:"572faeac",65549:"39285664",65776:"e07b4b49",65816:"b45b8d42",66063:"2c0a986c",66583:"56bd7407",66587:"9c49e7fa",66651:"b07fe216",67242:"4f353f61",67589:"5abfc7e4",67835:"e5642bc9",68332:"1ea87b13",68665:"c52575bc",68827:"14015163",68882:"f3e42f72",69039:"4e72f6be",69681:"870a2f3e",69922:"33690872",69944:"1ba31055",70119:"5a5d8480",70928:"0277270a",71077:"d7030788",71450:"1edcc2ed",71475:"01717533",71525:"74f9ddc8",71754:"1f751b14",71783:"4b6779fc",72130:"50dfcc51",72203:"1115c2b7",72539:"43c55c4d",72570:"ecab12cb",73183:"b2253f40",73685:"5356e3de",74264:"36917df0",74795:"939f9f81",75043:"247e6954",75307:"ff45e1cc",75357:"1fbb7d24",75786:"37a81eaa",75816:"e88b4cdd",76789:"bb555561",76806:"be98d8fc",76904:"44afaa9b",77042:"898b0443",77460:"dedd2038",77465:"b19303d8",77857:"13a29416",78085:"a1cadc76",78115:"47861430",78479:"ef522a60",78563:"b1f16cfe",79489:"ee2bb5b7",79814:"9f959c59",79921:"e0db9101",80508:"82593858",80532:"1e2e38ec",80879:"64e845d8",82339:"bf4c6e3d",82425:"47b23ee4",82443:"2f614807",83141:"df10cf17",83212:"ad1521c1",83831:"4987c55d",84546:"4101a1f2",85048:"aa08c681",85111:"1653d818",85297:"5426028f",85466:"90694dbb",85888:"193a7f8f",85891:"2f4cf052",86069:"5e1528e7",86451:"949d91e5",86452:"50a6d310",86634:"87d36fad",86820:"cebdf1cf",86913:"739202fe",87058:"7c5ff3cf",87099:"1b3891e9",87260:"2c380d56",87922:"49f2762f",88155:"d345abd7",88501:"699e66d2",88517:"cccfddad",88866:"e8fe1e5c",89076:"6a501148",89677:"18c220c4",89785:"08d36549",90109:"1a7fc455",90337:"a41a57cd",90643:"22ded693",91045:"bce697db",91257:"2c6cc63e",91470:"183c9793",91831:"12095e09",91865:"03cdfb68",91993:"7cc7cf77",92045:"dcfad42d",92281:"06b9a964",92441:"6ceb3fa3",92501:"2441982c",92524:"6e1463fc",92603:"0277270a",92823:"a13b21fb",92932:"c4f225a7",93260:"21b54427",93668:"1a8ed604",93910:"1234f229",94078:"aa54548e",94498:"e1d76eaf",94715:"cf749061",95125:"57501e4a",95176:"9c49e7fa",95335:"fec6fd9f",96265:"ab7c4ade",96444:"fd46d237",96882:"c2d2eada",96979:"a619b685",97052:"ff439e75",97224:"7caf9754",97329:"4677c004",97883:"93cf27b2",98062:"8e384b9f",98217:"000115b7",98398:"7bb61fdd",98458:"ddd4164b",98688:"c044db56",98885:"de905169",99674:"5f24eb80"}[d]+".chunk.css"}}(),function(){__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(d){if(typeof window=="object")return window}}()}(),function(){__webpack_require__.hmd=function(d){return d=Object.create(d),d.children||(d.children=[]),Object.defineProperty(d,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+d.id)}}),d}}(),function(){__webpack_require__.o=function(d,g){return Object.prototype.hasOwnProperty.call(d,g)}}(),function(){var d={};__webpack_require__.l=function(g,e,r,i){if(d[g]){d[g].push(e);return}var l,c;if(r!==void 0)for(var f=document.getElementsByTagName("script"),u=0;u0&&arguments[0]!==void 0?arguments[0]:"";return Bn.endsWith("/")?Bn:"".concat(Bn,"/")}var yc=__webpack_require__(38127),bc=__webpack_require__(38329),Yu=__webpack_require__(8616),gl=["content"],Mu=["content"],Vc=/^(http:|https:)?\/\//;function Fu(Bn){return Vc.test(Bn)||Bn.startsWith("/")&&!Bn.startsWith("/*")||Bn.startsWith("./")||Bn.startsWith("../")}var xc=function(){return Te.createElement("noscript",{dangerouslySetInnerHTML:{__html:"Enable JavaScript to run this app."}})},ul=function(ni){var Qi,Ma=ni.loaderData,oa=ni.htmlPageOpts,Aa=ni.manifest,ga=(Aa==null||(Qi=Aa.assets)===null||Qi===void 0?void 0:Qi["umi.css"])||"";return Te.createElement("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:"window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(Ma||{}),"; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(oa||{}),"; window.__UMI_BUILD_ClIENT_CSS__ = '").concat(ga,"'")}})};function Xu(Bn){var ni=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof Bn=="string")return Fu(Bn)?(0,bo.Z)({src:Bn},ni):{content:Bn};if((0,Yu.Z)(Bn)==="object")return(0,bo.Z)((0,bo.Z)({},Bn),ni);throw new Error("Invalid script type: ".concat((0,Yu.Z)(Bn)))}function kf(Bn){return Fu(Bn)?{type:"link",href:Bn}:{type:"style",content:Bn}}var yu=function(ni){var Qi,Ma,oa,Aa,ga,Fs,ua=ni.htmlPageOpts;return Te.createElement(Te.Fragment,null,(ua==null?void 0:ua.title)&&Te.createElement("title",null,ua.title),ua==null||(Qi=ua.favicons)===null||Qi===void 0?void 0:Qi.map(function(Bs,Ju){return Te.createElement("link",{key:Ju,rel:"shortcut icon",href:Bs})}),(ua==null?void 0:ua.description)&&Te.createElement("meta",{name:"description",content:ua.description}),(ua==null||(Ma=ua.keywords)===null||Ma===void 0?void 0:Ma.length)&&Te.createElement("meta",{name:"keywords",content:ua.keywords.join(",")}),ua==null||(oa=ua.metas)===null||oa===void 0?void 0:oa.map(function(Bs){return Te.createElement("meta",{key:Bs.name,name:Bs.name,property:Bs.property,content:Bs.content})}),ua==null||(Aa=ua.links)===null||Aa===void 0?void 0:Aa.map(function(Bs,Ju){return Te.createElement("link",(0,bc.Z)({key:Ju},Bs))}),ua==null||(ga=ua.styles)===null||ga===void 0?void 0:ga.map(function(Bs,Ju){var cl=kf(Bs),yl=cl.type,el=cl.href,$l=cl.content;if(yl==="link")return Te.createElement("link",{key:Ju,rel:"stylesheet",href:el});if(yl==="style")return Te.createElement("style",{key:Ju},$l)}),ua==null||(Fs=ua.headScripts)===null||Fs===void 0?void 0:Fs.map(function(Bs,Ju){var cl=Xu(Bs),yl=cl.content,el=(0,yc.Z)(cl,gl);return Te.createElement("script",(0,bc.Z)({dangerouslySetInnerHTML:{__html:yl},key:Ju},el))}))};function Ul(Bn){var ni,Qi=Bn.children,Ma=Bn.loaderData,oa=Bn.manifest,Aa=Bn.htmlPageOpts,ga=Bn.__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Fs=Bn.mountElementId;if(ga!=null&&ga.pureHtml)return Te.createElement("html",null,Te.createElement("head",null,Te.createElement(yu,{htmlPageOpts:Aa})),Te.createElement("body",null,Te.createElement(xc,null),Te.createElement("div",{id:Fs},Qi),Te.createElement(ul,{manifest:oa,loaderData:Ma,htmlPageOpts:Aa})));if(ga!=null&&ga.pureApp)return Te.createElement(Te.Fragment,null,Qi);var ua=typeof window=="undefined"?oa==null?void 0:oa.assets["umi.css"]:window.__UMI_BUILD_ClIENT_CSS__;return Te.createElement("html",{suppressHydrationWarning:!0,lang:(Aa==null?void 0:Aa.lang)||"en"},Te.createElement("head",null,Te.createElement("meta",{charSet:"utf-8"}),Te.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),ua&&Te.createElement("link",{suppressHydrationWarning:!0,rel:"stylesheet",href:ua}),Te.createElement(yu,{htmlPageOpts:Aa})),Te.createElement("body",null,Te.createElement(xc,null),Te.createElement("div",{id:Fs},Qi),Te.createElement(ul,{manifest:oa,loaderData:Ma,htmlPageOpts:Aa}),Aa==null||(ni=Aa.scripts)===null||ni===void 0?void 0:ni.map(function(Bs,Ju){var cl=Xu(Bs),yl=cl.content,el=(0,yc.Z)(cl,Mu);return Te.createElement("script",(0,bc.Z)({dangerouslySetInnerHTML:{__html:yl},key:Ju},el))})))}var Sl=Te.createContext(void 0);function Yc(){return Te.useContext(Sl)}var wc=["redirect"];function ec(Bn){var ni=Bn.routesById,Qi=Bn.parentId,Ma=Bn.routeComponents,oa=Bn.useStream,Aa=oa===void 0?!0:oa;return Object.keys(ni).filter(function(ga){return ni[ga].parentId===Qi}).map(function(ga){var Fs=Rf((0,bo.Z)((0,bo.Z)({route:ni[ga],routeComponent:Ma[ga],loadingComponent:Bn.loadingComponent,reactRouter5Compat:Bn.reactRouter5Compat},Bn.reactRouter5Compat&&{hasChildren:Object.keys(ni).filter(function(Bs){return ni[Bs].parentId===ga}).length>0}),{},{useStream:Aa})),ua=ec({routesById:ni,routeComponents:Ma,parentId:Fs.id,loadingComponent:Bn.loadingComponent,reactRouter5Compat:Bn.reactRouter5Compat,useStream:Aa});return ua.length>0&&(Fs.children=ua,Fs.routes=ua),Fs})}function zl(Bn){var ni=(0,Lu.UO)(),Qi=(0,Lu.Gn)(Bn.to,ni),Ma=(0,Jl.T$)(),oa=(0,Lu.TH)();if(Ma!=null&&Ma.keepQuery){var Aa=oa.search+oa.hash;Qi+=Aa}var ga=(0,bo.Z)((0,bo.Z)({},Bn),{},{to:Qi});return Te.createElement(Lu.Fg,(0,bc.Z)({replace:!0},ga))}function Rf(Bn){var ni=Bn.route,Qi=Bn.useStream,Ma=Qi===void 0?!0:Qi,oa=ni.redirect,Aa=(0,yc.Z)(ni,wc),ga=Bn.reactRouter5Compat?tc:kc;return(0,bo.Z)({element:oa?Te.createElement(zl,{to:oa}):Te.createElement(Sl.Provider,{value:{route:Bn.route}},Te.createElement(ga,{loader:Te.memo(Bn.routeComponent),loadingComponent:Bn.loadingComponent||yf,hasChildren:Bn.hasChildren,useStream:Ma}))},Aa)}function yf(){return Te.createElement("div",null)}function tc(Bn){var ni=Yc(),Qi=ni.route,Ma=(0,Jl.Ov)(),oa=Ma.history,Aa=Ma.clientRoutes,ga=(0,Lu.UO)(),Fs={params:ga,isExact:!0,path:Qi.path,url:oa.location.pathname},ua=Bn.loader,Bs={location:oa.location,match:Fs,history:oa,params:ga,route:Qi,routes:Aa};return Bn.useStream?Te.createElement(Te.Suspense,{fallback:Te.createElement(Bn.loadingComponent,null)},Te.createElement(ua,Bs,Bn.hasChildren&&Te.createElement(Lu.j3,null))):Te.createElement(ua,Bs,Bn.hasChildren&&Te.createElement(Lu.j3,null))}function kc(Bn){var ni=Bn.loader;return Bn.useStream?Te.createElement(Te.Suspense,{fallback:Te.createElement(Bn.loadingComponent,null)},Te.createElement(ni,null)):Te.createElement(ni,null)}var Zl=null;function Lf(){return Zl}function Xc(Bn){var ni=Bn.history,Qi=Te.useState({action:ni.action,location:ni.location}),Ma=(0,Ru.Z)(Qi,2),oa=Ma[0],Aa=Ma[1];return(0,Te.useLayoutEffect)(function(){return ni.listen(Aa)},[ni]),(0,Te.useLayoutEffect)(function(){function ga(Fs){Bn.pluginManager.applyPlugins({key:"onRouteChange",type:"event",args:{routes:Bn.routes,clientRoutes:Bn.clientRoutes,location:Fs.location,action:Fs.action,basename:Bn.basename,isFirst:!!Fs.isFirst}})}return ga({location:oa.location,action:oa.action,isFirst:!0}),ni.listen(ga)},[ni,Bn.routes,Bn.clientRoutes]),Te.createElement(Lu.F0,{navigator:ni,location:oa.location,basename:Bn.basename},Bn.children)}function Qu(){var Bn=(0,Jl.Ov)(),ni=Bn.clientRoutes;return(0,Lu.V$)(ni)}var Ec=["innerProvider","i18nProvider","accessProvider","dataflowProvider","outerProvider","rootContainer"],Sc=function(ni,Qi){var Ma=ni.basename||"/",oa=ec({routesById:ni.routes,routeComponents:ni.routeComponents,loadingComponent:ni.loadingComponent,reactRouter5Compat:ni.reactRouter5Compat,useStream:ni.useStream});ni.pluginManager.applyPlugins({key:"patchClientRoutes",type:"event",args:{routes:oa}});for(var Aa=Te.createElement(Xc,{basename:Ma,pluginManager:ni.pluginManager,routes:ni.routes,clientRoutes:oa,history:ni.history},Qi),ga=0,Fs=Ec;ganew Promise((Ma,oa)=>{var Aa=ua=>{try{Fs(Qi.next(ua))}catch(Bs){oa(Bs)}},ga=ua=>{try{Fs(Qi.throw(ua))}catch(Bs){oa(Bs)}},Fs=ua=>ua.done?Ma(ua.value):Promise.resolve(ua.value).then(Aa,ga);Fs((Qi=Qi.apply(Bn,ni)).next())});function P(){return Rc(this,null,function*(){return{routes:{1:{path:"/",parentId:"@@/global-layout",id:"1"},2:{path:"/paperlibrary",parentId:"1",id:"2"},3:{path:"/paperlibrary",parentId:"2",id:"3"},4:{path:"/paperlibrary/add",parentId:"2",id:"4"},5:{path:"/paperlibrary/add/:id",parentId:"2",id:"5"},6:{path:"/paperlibrary/see/:id",parentId:"2",id:"6"},7:{path:"/paperlibrary/edit_select/:id",parentId:"2",id:"7"},8:{path:"/paperlibrary/exchangequestion",parentId:"2",id:"8"},9:{path:"/paths",parentId:"1",id:"9"},10:{path:"/paths",parentId:"9",id:"10"},11:{path:"/paths/higherVocationalEducation",parentId:"9",id:"11"},12:{path:"/paths/new",parentId:"9",id:"12"},13:{path:"/paths/guidance",exact:!0,parentId:"9",id:"13"},14:{path:"/paths/:pathId",parentId:"9",id:"14"},15:{path:"/paths/:pathId/statistics",parentId:"9",id:"15"},16:{path:"/paths/:pathId/edit",parentId:"9",id:"16"},17:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/add",parentId:"9",id:"17"},18:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/edit",parentId:"9",id:"18"},19:{path:"/classrooms",parentId:"1",id:"19"},20:{path:"/classrooms",parentId:"19",id:"20"},21:{path:"/classrooms/examList",parentId:"19",id:"21"},22:{path:"/classrooms/classicCases",parentId:"19",id:"22"},23:{path:"/classrooms/index",parentId:"19",id:"23"},24:{path:"/classrooms/new",parentId:"19",id:"24"},25:{path:"/classrooms/:coursesId/edit",parentId:"19",id:"25"},26:{path:"/classrooms/news/:subjectid/newgold/:id",parentId:"19",id:"26"},27:{path:"/classrooms/:coursesId/newgolds/settings",parentId:"19",id:"27"},28:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/review_detail/:userId",parentId:"19",id:"28"},29:{path:"/classrooms/:coursesId/common_homework/:categoryId/review_detail/:userId",parentId:"19",id:"29"},30:{path:"/classrooms/:coursesId/program_homework/:categoryId/review_detail/:userId",parentId:"19",id:"30"},31:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail",parentId:"19",id:"31"},32:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"32"},33:{path:"/classrooms/:coursesId/common_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"33"},34:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/commitsummary",parentId:"19",id:"34"},35:{path:"/classrooms/:coursesId/group_homework/:categoryId/detail",parentId:"19",id:"35"},36:{path:"/classrooms/:coursesId/common_homework/:categoryId/detail",parentId:"19",id:"36"},37:{path:"/classrooms/:coursesId/common_homework/:categoryId/review/:userId",parentId:"19",id:"37"},38:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/review/:userId",parentId:"19",id:"38"},39:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/post",parentId:"19",id:"39"},40:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"40"},41:{path:"/classrooms/:coursesId/exercise/:categoryId/detail/:userId/review_detail",parentId:"19",id:"41"},42:{path:"/classrooms/:coursesId/exercise/:categoryId/detail",parentId:"19",id:"42"},43:{path:"/classrooms/:coursesId/exercise/:categoryId/preview_select",parentId:"19",id:"43"},44:{path:"/classrooms/:coursesId/exercise/:categoryId/:login/initate_answer",parentId:"19",id:"44"},45:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login",parentId:"19",id:"45"},46:{path:"/classrooms/:coursesId/exercise/:categoryId/wrongAnswer/:login",parentId:"19",id:"46"},47:{path:"/classrooms/:coursesId/exercisenotice/:categoryId/users/:login",parentId:"19",id:"47"},48:{path:"/classrooms/:coursesId/exercise/:categoryId/random/edit",parentId:"19",id:"48"},49:{path:"/classrooms/:coursesId/exercise/:categoryId/random/preview",parentId:"19",id:"49"},50:{path:"/classrooms/:coursesId/exercise/add",parentId:"19",id:"50"},51:{path:"/classrooms/:coursesId/exercise/add/:exerciseId",parentId:"19",id:"51"},52:{path:"/classrooms/:coursesId/exercise/:exerciseId/reviews/group",parentId:"19",id:"52"},53:{path:"/classrooms/:coursesId/exercise/:exerciseId/review/:userId",parentId:"19",id:"53"},54:{path:"/classrooms/:coursesId/exercise/:exerciseId/centralizeReview/:userId",parentId:"19",id:"54"},55:{path:"/classrooms/:coursesId/exercise/:exerciseId/export_blank",parentId:"19",id:"55"},56:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup",parentId:"19",id:"56"},57:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup/edit",parentId:"19",id:"57"},58:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId",parentId:"19",id:"58"},59:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId",parentId:"19",id:"59"},60:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId/code",parentId:"19",id:"60"},61:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId/code",parentId:"19",id:"61"},62:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/detail",parentId:"19",id:"62"},63:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/add",parentId:"19",id:"63"},64:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/edit",parentId:"19",id:"64"},65:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/add",parentId:"19",id:"65"},66:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/edit",parentId:"19",id:"66"},67:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/detail",parentId:"19",id:"67"},68:{path:"/classrooms/:coursesId/common_homework/:categoryId/add",parentId:"19",id:"68"},69:{path:"/classrooms/:coursesId/common_homework/:categoryId/edit",parentId:"19",id:"69"},70:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/post",parentId:"19",id:"70"},71:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"71"},72:{path:"/classrooms/:coursesId/group_homework/:categoryId/add",parentId:"19",id:"72"},73:{path:"/classrooms/:coursesId/group_homework/:categoryId/edit",parentId:"19",id:"73"},74:{path:"/classrooms/:coursesId/poll/:categoryId/add",parentId:"19",id:"74"},75:{path:"/classrooms/:coursesId/poll/:categoryId/edit",parentId:"19",id:"75"},76:{path:"/classrooms/:coursesId/poll/:categoryId/detail",parentId:"19",id:"76"},77:{path:"/classrooms/:coursesId/poll/:categoryId/users/:login",parentId:"19",id:"77"},78:{path:"/classrooms/:coursesId/poll/:categoryId/questionnaireInfo/:login",parentId:"19",id:"78"},79:{path:"/classrooms/:coursesId/board/:categoryId/Add",parentId:"19",id:"79"},80:{path:"/classrooms/:coursesId/board/:categoryId/Edit/:boardId",parentId:"19",id:"80"},81:{path:"/classrooms/:coursesId/board/:categoryId/Detail/:boardId",parentId:"19",id:"81"},82:{path:"/classrooms/:courseId/template/:templateId",parentId:"19",id:"82"},83:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report/:reportId",parentId:"19",id:"83"},84:{path:"/classrooms/guidance",parentId:"19",id:"84"},85:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report-view/:workId",parentId:"19",id:"85"},86:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login/check",parentId:"19",id:"86"},87:{path:"/classrooms/:coursesId/Studentdetail/:login",parentId:"19",id:"87"},88:{path:"/classrooms/:coursesId/StudentSituation/:categoryId/:login",parentId:"19",id:"88"},89:{path:"/classrooms/:coursesId/engineering/datail",parentId:"19",id:"89"},90:{path:"/classrooms/:coursesId/program_homework/:categoryId/add",parentId:"19",id:"90"},91:{path:"/classrooms/:coursesId/program_homework/:categoryId/edit",parentId:"19",id:"91"},92:{path:"/classrooms/:coursesId/program_homework/ranking",parentId:"19",id:"92"},93:{path:"/classrooms/:coursesId/program_homework/:categoryId/detail",parentId:"19",id:"93"},94:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/ranking",parentId:"19",id:"94"},95:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/:user_id/comment",parentId:"19",id:"95"},96:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer",parentId:"19",id:"96"},97:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/add",parentId:"19",id:"97"},98:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/edit",parentId:"19",id:"98"},99:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/detail",parentId:"19",id:"99"},100:{path:"/classrooms/:videoId/video_info",parentId:"19",id:"100"},101:{path:"/classrooms/",parentId:"19",id:"101"},102:{path:"/classrooms/:coursesId/shixun_homework/:categoryId",parentId:"101",id:"102"},103:{path:"/classrooms/:coursesId/shixun_homework",parentId:"101",id:"103"},104:{path:"/classrooms/:coursesId/graduation_topics/:categoryId",parentId:"101",id:"104"},105:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"101",id:"105"},106:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"101",id:"106"},107:{path:"/classrooms/:coursesId/exercise/:categoryId",parentId:"101",id:"107"},108:{path:"/classrooms/:coursesId/exercise",parentId:"101",id:"108"},109:{path:"/classrooms/:coursesId/poll/:categoryId",parentId:"101",id:"109"},110:{path:"/classrooms/:coursesId/poll",parentId:"101",id:"110"},111:{path:"/classrooms/:coursesId/common_homework/:categoryId",parentId:"101",id:"111"},112:{path:"/classrooms/:coursesId/common_homework",parentId:"101",id:"112"},113:{path:"/classrooms/:coursesId/group_homework/:categoryId",parentId:"101",id:"113"},114:{path:"/classrooms/:coursesId/group_homework",parentId:"101",id:"114"},115:{path:"/classrooms/:coursesId/teachers",parentId:"101",id:"115"},116:{path:"/classrooms/:coursesId/students",parentId:"101",id:"116"},117:{path:"/classrooms/:coursesId/assistant",parentId:"101",id:"117"},118:{path:"/classrooms/:coursesId/program_homework",parentId:"101",id:"118"},119:{path:"/classrooms/:coursesId/program_homework/:categoryId",parentId:"101",id:"119"},120:{path:"/classrooms/:coursesId/engineering",parentId:"101",id:"120"},121:{path:"/classrooms/:coursesId/learning_path",parentId:"101",id:"121"},122:{path:"/classrooms/:coursesId/resource_recommend",parentId:"101",id:"122"},123:{path:"/classrooms/:coursesId/attendance",parentId:"101",id:"123"},124:{path:"/classrooms/:coursesId/attendance/StudetnSign",parentId:"101",id:"124"},125:{path:"/classrooms/:coursesId/attendance/:categoryId/:tabId/detail",parentId:"101",id:"125"},126:{path:"/classrooms/:coursesId/announcement",parentId:"101",id:"126"},127:{path:"/classrooms/:coursesId/announcement/:categoryId",parentId:"101",id:"127"},128:{path:"/classrooms/:coursesId/online_learning",parentId:"101",id:"128"},129:{path:"/classrooms/:coursesId/online_learning/:categoryId",parentId:"101",id:"129"},130:{path:"/classrooms/:coursesId/attachment/:categoryId",parentId:"101",id:"130"},131:{path:"/classrooms/:coursesId/attachment",parentId:"101",id:"131"},132:{path:"/classrooms/:coursesId/video",parentId:"101",id:"132"},133:{path:"/classrooms/:coursesId/video/:categoryId",parentId:"101",id:"133"},134:{path:"/classrooms/:coursesId/video/:categoryId/statistics",parentId:"101",id:"134"},135:{path:"/classrooms/:coursesId/video/:username/upload",parentId:"101",id:"135"},136:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId",parentId:"101",id:"136"},137:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId/:userId",parentId:"101",id:"137"},138:{path:"/classrooms/:coursesId/live_video/:categoryId",parentId:"101",id:"138"},139:{path:"/classrooms/:coursesId/live_video",parentId:"101",id:"139"},140:{path:"/classrooms/:coursesId/video/:categoryId/studentstatistics",parentId:"101",id:"140"},141:{path:"/classrooms/:coursesId/board/:categoryId",parentId:"101",id:"141"},142:{path:"/classrooms/:coursesId/board",parentId:"101",id:"142"},143:{path:"/classrooms/:coursesId/course_group",parentId:"101",id:"143"},144:{path:"/classrooms/:coursesId/course_group/:categoryId",parentId:"101",id:"144"},145:{path:"/classrooms/:coursesId/course_group/:categoryId/detail",parentId:"101",id:"145"},146:{path:"/classrooms/:coursesId/not_course_group/:categoryId",parentId:"101",id:"146"},147:{path:"/classrooms/:coursesId/not_course_group",parentId:"101",id:"147"},148:{path:"/classrooms/:coursesId/statistics/",parentId:"101",id:"148"},149:{path:"/classrooms/:coursesId/statistics/:categoryId",parentId:"101",id:"149"},150:{path:"/classrooms/:coursesId/statistics_video/:categoryId",parentId:"101",id:"150"},151:{path:"/classrooms/:coursesId/statistics_quality/:categoryId",parentId:"101",id:"151"},152:{path:"/classrooms/:coursesId/statistics_user_portrait/:categoryId",parentId:"101",id:"152"},153:{path:"/classrooms/:coursesId/student_statistics/:categoryId",parentId:"101",id:"153"},154:{path:"/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type",parentId:"101",id:"154"},155:{path:"/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid",parentId:"101",id:"155"},156:{path:"/classrooms/:coursesId/exportlist/:type",parentId:"101",id:"156"},157:{path:"/classrooms/:coursesId",parentId:"101",id:"157"},158:{path:"/classrooms/:coursesId/template",parentId:"101",id:"158"},159:{path:"/competitions",parentId:"1",id:"159"},160:{path:"/competitions/index",parentId:"159",id:"160"},161:{path:"/competitions/:identifier/list",parentId:"159",id:"161"},162:{path:"/competitions/exports",parentId:"159",id:"162"},163:{path:"/competitions",parentId:"159",id:"163"},164:{path:"/competitions/:identifier",parentId:"159",id:"164"},165:{path:"/competitions/index/:identifier",parentId:"159",id:"165"},166:{path:"/competitions/:identifier/detail/enroll",parentId:"159",id:"166"},167:{path:"/competitions/:identifier/detail/UpdateTeanname/:Teannameid",parentId:"159",id:"167"},168:{path:"/competitions/:identifier/detail/teamDetail/:Teamid",parentId:"159",id:"168"},169:{path:"/competitions/detail/:identifier",parentId:"159",id:"169"},170:{path:"/forums",parentId:"1",id:"170"},171:{path:"/forums",parentId:"170",id:"171"},172:{path:"/forums/categories/:memoType",parentId:"170",id:"172"},173:{path:"/forums/new",parentId:"170",id:"173"},174:{path:"/forums/:memoId/edit",parentId:"170",id:"174"},175:{path:"/forums/:memoId",parentId:"170",id:"175"},176:{path:"/problemset",parentId:"1",id:"176"},177:{path:"/problemset",parentId:"176",id:"177"},178:{path:"/problemset/newitem",parentId:"176",id:"178"},179:{path:"/problemset/:type/:id",parentId:"176",id:"179"},180:{path:"/problemset/preview",parentId:"176",id:"180"},181:{path:"/problemset/preview_new",parentId:"176",id:"181"},182:{path:"/problemset/preview_select",parentId:"176",id:"182"},183:{path:"/shixuns",parentId:"1",id:"183"},184:{path:"/shixuns",parentId:"183",id:"184"},185:{path:"/shixuns/exports",parentId:"183",id:"185"},186:{path:"/shixuns/new",parentId:"183",id:"186"},187:{path:"/shixuns/new/CreateImg",parentId:"183",id:"187"},188:{path:"/shixuns/new/:id/imagepreview",parentId:"183",id:"188"},189:{path:"/shixuns/:id/Merge",parentId:"183",id:"189"},190:{path:"/shixuns/:id/Split",parentId:"183",id:"190"},191:{path:"/shixuns/:id/edit",parentId:"183",id:"191"},192:{path:"shixuns/:id/edit/warehouse",parentId:"191",id:"192"},193:{path:"/shixuns/:id/edit/newquestion",parentId:"191",id:"193"},194:{path:"/shixuns/:id/edit/:challengesId/editquestion",parentId:"191",id:"194"},195:{path:"/shixuns/:id/edit/:challengesId/editquestion/:questionId",parentId:"191",id:"195"},196:{path:"/shixuns/:id/edit/new",parentId:"191",id:"196"},197:{path:"/shixuns/:id/edit/:challengesId/editcheckpoint",parentId:"191",id:"197"},198:{path:"/shixuns/:id/edit/:challengesId/tab=2",parentId:"191",id:"198"},199:{path:"/shixuns/:id/edit/:challengesId/tab=3",parentId:"191",id:"199"},200:{path:"/shixuns/:id/edit/:challengesId/tab=4",parentId:"191",id:"200"},201:{path:"/shixuns/:id",parentId:"183",id:"201"},202:{path:"/shixuns/:id/challenges",parentId:"201",id:"202"},203:{path:"/shixuns/:id/repository",parentId:"201",id:"203"},204:{path:"/shixuns/:id/secret_repository",parentId:"201",id:"204"},205:{path:"/shixuns/:id/collaborators",parentId:"201",id:"205"},206:{path:"/shixuns/:id/dataset",parentId:"201",id:"206"},207:{path:"/shixuns/:id/dataset/jupyterEdit",parentId:"201",id:"207"},208:{path:"/shixuns/:id/shixun_discuss",parentId:"201",id:"208"},209:{path:"/shixuns/:id/ranking_list",parentId:"201",id:"209"},210:{path:"/shixuns/:id/settings",parentId:"201",id:"210"},211:{path:"/shixuns/:id/repository/:repoId/commits",parentId:"201",id:"211"},212:{path:"/shixuns/:id/secret_repository/:repoId/commits",parentId:"201",id:"212"},213:{path:"/shixuns/:id/repository/upload_file",parentId:"201",id:"213"},214:{path:"/shixuns/:id/secret_repository/upload_file",parentId:"201",id:"214"},215:{path:"/shixuns/:id/repository/add_file",parentId:"201",id:"215"},216:{path:"/shixuns/:id/secret_repository/add_file",parentId:"201",id:"216"},217:{path:"/shixuns/:id/repository/master/shixun_show/:fileId",exact:!1,parentId:"201",id:"217"},218:{path:"/shixuns/:id/secret_repository/master/shixun_show/:fileId",exact:!1,parentId:"201",id:"218"},219:{path:"/shixuns/:id/audit_situation",parentId:"201",id:"219"},220:{path:"/shixuns/:id/fork_list",parentId:"201",id:"220"},221:{path:"/shixuns/:id/skill_tags",parentId:"201",id:"221"},222:{path:"/users",parentId:"1",id:"222"},223:{path:"/users/:username/videos/protocol",parentId:"222",id:"223"},224:{path:"/users/:username/videos/resourceProtocol",parentId:"222",id:"224"},225:{path:"/users/:username/videos/success",parentId:"222",id:"225"},226:{path:"/users/:username/topicbank/:topicstype",parentId:"222",id:"226"},227:{path:"/users/:username/topics/:topicId/:topictype/normal/detail",parentId:"222",id:"227"},228:{path:"/users/:username/topics/:topicId/:topictype/group/detail",parentId:"222",id:"228"},229:{path:"/users/:username/topics/:topicId/:topictype/normal/edit",parentId:"222",id:"229"},230:{path:"/users/:username/topics/:topicId/:topictype/group/edit",parentId:"222",id:"230"},231:{path:"/users/:username/topics/:topicId/:topictype/exercise/edit",parentId:"222",id:"231"},232:{path:"/users/:username/topics/:topicId/:topictype/exercise/detail",parentId:"222",id:"232"},233:{path:"/users/:username/topics/:topicId/:topictype/poll/edit",parentId:"222",id:"233"},234:{path:"/users/:username/topics/:topicId/:topictype/poll/detail",parentId:"222",id:"234"},235:{path:"/users/:username/devicegroup/edit/:id",parentId:"222",id:"235"},236:{path:"/users/:username/deviceInfo/reservationInfo/:id",parentId:"222",id:"236"},237:{path:"/users/:username/devicegroup/addgroup",parentId:"222",id:"237"},238:{path:"/users/:username/experiment-img/add",parentId:"222",id:"238"},239:{path:"/users/:username",parentId:"222",id:"239"},240:{path:"/users/:username",parentId:"239",id:"240"},241:{path:"/users/:username/baseInfo/edit",parentId:"239",id:"241"},242:{path:"/users/:username/baseInfo",parentId:"239",id:"242"},243:{path:"/users/:username/realNameCertification",parentId:"239",id:"243"},244:{path:"/users/:username/careerCertification",parentId:"239",id:"244"},245:{path:"/users/:username/classrooms",parentId:"239",id:"245"},246:{path:"/users/:username/shixuns",parentId:"239",id:"246"},247:{path:"/users/:username/dataSet",parentId:"239",id:"247"},248:{path:"/users/:username/userPortrait",parentId:"239",id:"248"},249:{path:"/users/:username/learningPath",parentId:"239",id:"249"},250:{path:"/users/:username/teach-group",parentId:"239",id:"250"},251:{path:"/users/:username/competitions",parentId:"239",id:"251"},252:{path:"/users/:username/experiment-img",parentId:"239",id:"252"},253:{path:"/users/:username/experiment-img/:experid/detail",parentId:"239",id:"253"},254:{path:"/users/:username/certificate",parentId:"239",id:"254"},255:{path:"/users/:username/otherResources",parentId:"239",id:"255"},256:{path:"/users/:username/classmanagement",parentId:"239",id:"256"},257:{path:"/users/:username/classmanagement/:couserid",parentId:"239",id:"257"},258:{path:"/users/:username/paths",parentId:"239",id:"258"},259:{path:"/users/:username/devicegroup",parentId:"239",id:"259"},260:{path:"/users/:username/projects",parentId:"239",id:"260"},261:{path:"/users/:username/videos",parentId:"239",id:"261"},262:{path:"/users/:username/videos/upload",parentId:"239",id:"262"},263:{path:"/users/:username/topics/:topicstype",parentId:"239",id:"263"},264:{path:"/users/:username/vspaces",parentId:"239",id:"264"},265:{path:"/users/:username/resourcesCenter",parentId:"239",id:"265"},266:{path:"/users/:username/resourcesCenter/:id/detail",parentId:"239",id:"266"},267:{path:"/users/:username/resourceGuarantee",parentId:"239",id:"267"},268:{path:"/users/:username/resourceAllocation",parentId:"239",id:"268"},269:{parentId:"1",id:"269"},270:{path:"/problems",parentId:"269",id:"270"},271:{path:"/problems",parentId:"270",id:"271"},272:{path:"/problems/batchAdd",parentId:"270",id:"272"},273:{path:"/problems/newcreate",parentId:"269",id:"273"},274:{path:"/problems/newedit/:id",exact:!0,parentId:"269",id:"274"},275:{path:"/problems/:id/edit",exact:!0,parentId:"269",id:"275"},276:{path:"/problems/new",exact:!0,parentId:"269",id:"276"},277:{path:"/problems/:id/oj/:save_identifier",parentId:"269",id:"277"},278:{path:"/problems/:id/record-detail/:submitId",parentId:"269",id:"278"},279:{path:"/problems/add",parentId:"269",id:"279"},280:{path:"/problems/:id/ojedit",parentId:"269",id:"280"},281:{path:"/engineering",parentId:"1",id:"281"},282:{path:"/engineering",parentId:"281",id:"282"},283:{path:"/engineering/teacherList",parentId:"282",id:"283"},284:{path:"/engineering/studentList",parentId:"282",id:"284"},285:{path:"/engineering/training/program",parentId:"282",id:"285"},286:{path:"/engineering/training/program/add",parentId:"282",id:"286"},287:{path:"/engineering/training/program/edit",parentId:"282",id:"287"},288:{path:"/engineering/training/objectives",parentId:"282",id:"288"},289:{path:"/engineering/graduated/index",parentId:"282",id:"289"},290:{path:"/engineering/graduated/matrix",parentId:"282",id:"290"},291:{path:"/engineering/course/list",parentId:"282",id:"291"},292:{path:"/engineering/course/setting",parentId:"282",id:"292"},293:{path:"/engineering/course/matrix",parentId:"282",id:"293"},294:{path:"/engineering/navigation",parentId:"282",id:"294"},295:{path:"/engineering/evaluate/course",parentId:"282",id:"295"},296:{path:"/engineering/evaluate/course/:ec_year_id/:id",parentId:"282",id:"296"},297:{path:"/engineering/evaluate/norm",parentId:"282",id:"297"},298:{path:"/engineering/evaluate/document",parentId:"282",id:"298"},299:{path:"/engineering/evaluate/norm/:ec_year_id/:id",parentId:"282",id:"299"},300:{path:"/engineering/*",redirect:"/404",parentId:"282",id:"300"},301:{path:"/innovation",parentId:"1",id:"301"},302:{path:"/innovation/tasks/:taskId",parentId:"301",id:"302"},303:{path:"/innovation",parentId:"301",id:"303"},304:{path:"/innovation/project",parentId:"303",id:"304"},305:{path:"/innovation/dataset",parentId:"303",id:"305"},306:{path:"/innovation/mirror",parentId:"303",id:"306"},307:{path:"/innovation/my-project",parentId:"303",id:"307"},308:{path:"/innovation/my-dataset",parentId:"303",id:"308"},309:{path:"/innovation/my-mirror",parentId:"303",id:"309"},310:{path:"/innovation/project/create",parentId:"303",id:"310"},311:{path:"/innovation/project/edit/:id",parentId:"303",id:"311"},312:{path:"/innovation/project/detail/:taskId",parentId:"303",id:"312"},313:{path:"/tasks",parentId:"1",id:"313"},314:{path:"/tasks/:taskId",exact:!0,parentId:"313",id:"314"},315:{path:"/tasks/:identifier/jupyter/",exact:!0,parentId:"313",id:"315"},316:{path:"/tasks/:courseId/:homeworkId/:taskId",exact:!0,parentId:"313",id:"316"},317:{path:"/tasks/jupyter/:courseId/:homeworkId/:identifier",exact:!0,parentId:"313",id:"317"},318:{path:"/tasks/:courseId/:exerciseId/:taskId/exercise",exact:!0,parentId:"313",id:"318"},319:{path:"/myproblems",parentId:"1",id:"319"},320:{path:"/myproblems/:id/record-detail/:submitId",exact:!0,parentId:"319",id:"320"},321:{path:"/myproblems/:id",exact:!0,parentId:"319",id:"321"},322:{path:"/account",parentId:"1",id:"322"},323:{path:"/account",parentId:"322",id:"323"},324:{path:"/account/profile",parentId:"323",id:"324"},325:{path:"/account/profile/edit",parentId:"323",id:"325"},326:{path:"/account/certification",parentId:"323",id:"326"},327:{path:"/account/secure",parentId:"323",id:"327"},328:{path:"/account/binding",parentId:"323",id:"328"},329:{path:"/account/Results",parentId:"323",id:"329"},330:{path:"/ch",parentId:"1",id:"330"},331:{path:"/ch/rest/edit/:categoryId/:id",exact:!0,parentId:"330",id:"331"},332:{path:"/ch/rest/",exact:!0,parentId:"330",id:"332"},333:{path:"/ch/rest/:id",exact:!0,parentId:"330",id:"333"},334:{path:"/order",parentId:"1",id:"334"},335:{path:"/order",parentId:"334",id:"335"},336:{path:"/order/invoice",parentId:"334",id:"336"},337:{path:"/order/records",parentId:"334",id:"337"},338:{path:"/order/apply",parentId:"334",id:"338"},339:{path:"/order/view",parentId:"334",id:"339"},340:{path:"/order/:courseId/information",parentId:"334",id:"340"},341:{path:"/order/:courseId/pay",parentId:"334",id:"341"},342:{path:"/order/:orderNum/result",parentId:"334",id:"342"},343:{path:"/messages",parentId:"1",id:"343"},344:{path:"/messages/:userId/user_tidings",parentId:"343",id:"344"},345:{path:"/messages/:userId/private_messages",parentId:"343",id:"345"},346:{path:"/messages/:userId/message_detail",parentId:"343",id:"346"},347:{path:"/vtrs",parentId:"1",id:"347"},348:{path:"/vtrs/:virtual_spacesId",parentId:"347",id:"348"},349:{path:"/vtrs/:virtual_spacesId",exact:!0,parentId:"348",id:"349"},350:{path:"/vtrs/:virtual_spacesId/workplace",exact:!0,parentId:"348",id:"350"},351:{path:"/vtrs/:virtual_spacesId/experiment",parentId:"348",id:"351"},352:{path:"/vtrs/:virtual_spacesId/announcement",parentId:"348",id:"352"},353:{path:"/vtrs/:virtual_spacesId/announcement/add",parentId:"348",id:"353"},354:{path:"/vtrs/:virtual_spacesId/announcement/:id/edit",parentId:"348",id:"354"},355:{path:"/vtrs/:virtual_spacesId/announcement/:id/detail",parentId:"348",id:"355"},356:{path:"/vtrs/:virtual_spacesId/survey",parentId:"348",id:"356"},357:{path:"/vtrs/:virtual_spacesId/survey/:id/detail",parentId:"348",id:"357"},358:{path:"/vtrs/:virtual_spacesId/knowledge",parentId:"348",id:"358"},359:{path:"/vtrs/:virtual_spacesId/knowledge/add",parentId:"348",id:"359"},360:{path:"/vtrs/:virtual_spacesId/knowledge/:id/edit",parentId:"348",id:"360"},361:{path:"/vtrs/:virtual_spacesId/material",parentId:"348",id:"361"},362:{path:"/vtrs/:virtual_spacesId/material/:id/detail",parentId:"348",id:"362"},363:{path:"/vtrs/:virtual_spacesId/lesson",parentId:"348",id:"363"},364:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail",parentId:"348",id:"364"},365:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"348",id:"365"},366:{path:"/vtrs/:virtual_spacesId/discussion",parentId:"348",id:"366"},367:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail",parentId:"348",id:"367"},368:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"348",id:"368"},369:{path:"/vtrs/:virtual_spacesId/settings",parentId:"348",id:"369"},370:{path:"/vtrs/:virtual_spacesId/resources",parentId:"348",id:"370"},371:{path:"/vtrs/:virtual_spacesId/resources/:id/detail",parentId:"348",id:"371"},372:{path:"/vtrs/:virtual_spacesId/Plan",parentId:"348",id:"372"},373:{path:"/vtrs/:virtual_spacesId/plan/:id/detail",parentId:"348",id:"373"},374:{path:"/vtrs/:virtual_spacesId/digtal",parentId:"348",id:"374"},375:{path:"/vtrs/:virtual_spacesId/homepage",parentId:"348",id:"375"},376:{path:"/vtrs/:virtual_spacesId/*",parentId:"348",id:"376"},377:{path:"/101",parentId:"1",id:"377"},378:{path:"/101/:virtual_spacesId",parentId:"377",id:"378"},379:{path:"/101/:virtual_spacesId",exact:!0,parentId:"378",id:"379"},380:{path:"/101/:virtual_spacesId/workplace",exact:!0,parentId:"378",id:"380"},381:{path:"/101/:virtual_spacesId/experiment",parentId:"378",id:"381"},382:{path:"/101/:virtual_spacesId/announcement",parentId:"378",id:"382"},383:{path:"/101/:virtual_spacesId/announcement/add",parentId:"378",id:"383"},384:{path:"/101/:virtual_spacesId/announcement/:id/edit",parentId:"378",id:"384"},385:{path:"/101/:virtual_spacesId/announcement/:id/detail",parentId:"378",id:"385"},386:{path:"/101/:virtual_spacesId/survey",parentId:"378",id:"386"},387:{path:"/101/:virtual_spacesId/survey/:id/detail",parentId:"378",id:"387"},388:{path:"/101/:virtual_spacesId/knowledge",parentId:"378",id:"388"},389:{path:"/101/:virtual_spacesId/knowledge/add",parentId:"378",id:"389"},390:{path:"/101/:virtual_spacesId/knowledge/:id/edit",parentId:"378",id:"390"},391:{path:"/101/:virtual_spacesId/material",parentId:"378",id:"391"},392:{path:"/101/:virtual_spacesId/material/:id/detail",parentId:"378",id:"392"},393:{path:"/101/:virtual_spacesId/lesson",parentId:"378",id:"393"},394:{path:"/101/:virtual_spacesId/lesson/:id/detail",parentId:"378",id:"394"},395:{path:"/101/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"378",id:"395"},396:{path:"/101/:virtual_spacesId/discussion",parentId:"378",id:"396"},397:{path:"/101/:virtual_spacesId/discussion/:id/detail",parentId:"378",id:"397"},398:{path:"/101/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"378",id:"398"},399:{path:"/101/:virtual_spacesId/settings",parentId:"378",id:"399"},400:{path:"/101/:virtual_spacesId/resources",parentId:"378",id:"400"},401:{path:"/101/:virtual_spacesId/resources/:id/detail",parentId:"378",id:"401"},402:{path:"/101/:virtual_spacesId/Plan",parentId:"378",id:"402"},403:{path:"/101/:virtual_spacesId/plan/:id/detail",parentId:"378",id:"403"},404:{path:"/101/:virtual_spacesId/digtal",parentId:"378",id:"404"},405:{path:"/101/:virtual_spacesId/homepage",parentId:"378",id:"405"},406:{path:"/101/:virtual_spacesId/*",parentId:"378",id:"406"},407:{path:"/administration",parentId:"1",id:"407"},408:{path:"/administration",parentId:"407",id:"408"},409:{path:"/administration/college",parentId:"408",id:"409"},410:{path:"/administration/student",parentId:"408",id:"410"},411:{path:"/administration/student/:studentId/edit",parentId:"408",id:"411"},412:{path:"/administration/profession",parentId:"408",id:"412"},413:{path:"/graduations",parentId:"1",id:"413"},414:{path:"/graduations",exact:!0,parentId:"413",id:"414"},415:{path:"/graduations/:id/:moduleKey/:moduleId/review/:itemId",exact:!0,parentId:"413",id:"415"},416:{path:"/graduations/:id",parentId:"413",id:"416"},417:{path:"/graduations/:id/index",parentId:"416",id:"417"},418:{path:"/graduations/:id/topics",parentId:"416",id:"418"},419:{path:"/graduations/:id/student_selection",parentId:"416",id:"419"},420:{path:"/graduations/:id/tasks",parentId:"416",id:"420"},421:{path:"/graduations/:id/opening_report",parentId:"416",id:"421"},422:{path:"/graduations/:id/midterm_report",parentId:"416",id:"422"},423:{path:"/graduations/:id/thesis",parentId:"416",id:"423"},424:{path:"/graduations/:id/final_defense",parentId:"416",id:"424"},425:{path:"/graduations/:id/final_thesis",parentId:"416",id:"425"},426:{path:"/graduations/:id/settings",parentId:"416",id:"426"},427:{path:"/graduations/:id/teachers",parentId:"416",id:"427"},428:{path:"/graduations/:id/students",parentId:"416",id:"428"},429:{path:"/graduations/:id/archives",parentId:"416",id:"429"},430:{path:"/graduations/:id/grading_summary",parentId:"416",id:"430"},431:{path:"/dataset",parentId:"1",id:"431"},432:{path:"/dataset",exact:!0,parentId:"431",id:"432"},433:{path:"/dataset/:id/detail",exact:!0,parentId:"431",id:"433"},434:{path:"/knowledgegraph",parentId:"1",id:"434"},435:{path:"/knowledgegraph",parentId:"434",id:"435"},436:{path:"/knowledgegraph/:pathId/sanD",parentId:"434",id:"436"},437:{path:"/knowledgegraph/:pathId",parentId:"434",id:"437"},438:{path:"/knowledgegraph/:pathId/abilityMap/edit/:abilityMapId",parentId:"434",id:"438"},439:{path:"/knowledgegraph/:pathId/abilityMap/detail/:abilityId",parentId:"434",id:"439"},440:{path:"/knowledgegraph/:pathId/statistics",parentId:"434",id:"440"},441:{parentId:"434",id:"441"},442:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId",parentId:"441",id:"442"},443:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId/detail/:detailId",parentId:"441",id:"443"},444:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId",parentId:"441",id:"444"},445:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId/detail",parentId:"441",id:"445"},446:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId",parentId:"441",id:"446"},447:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId/detail/:detailId",parentId:"441",id:"447"},448:{path:"/deviceOperationMonitoring",parentId:"1",id:"448"},449:{path:"/deviceOperationMonitoring",parentId:"448",id:"449"},450:{path:"/onlineDevice",parentId:"1",id:"450"},451:{path:"/onlineDevice",redirect:"/onlineDevice/deviceInfo",parentId:"450",id:"451"},452:{path:"/onlineDevice/deviceInfo",parentId:"450",id:"452"},453:{path:"/onlineDevice/deviceInfo",redirect:"/onlineDevice/deviceInfo/manage",parentId:"452",id:"453"},454:{path:"/onlineDevice/deviceInfo/manage",parentId:"452",id:"454"},455:{path:"/onlineDevice/deviceInfo/deviceDetails/:id/:flag",parentId:"452",id:"455"},456:{path:"/onlineDevice/deviceInfo/deviceEdit/:id",parentId:"452",id:"456"},457:{path:"/onlineDevice/deviceInfo/reservationInfo/:id",parentId:"452",id:"457"},458:{path:"/onlineDevice/deviceLabel",parentId:"450",id:"458"},459:{path:"/onlineDevice/deviceType",parentId:"450",id:"459"},460:{path:"/onlineDevice/deviceType",redirect:"/onlineDevice/deviceType/manage",parentId:"459",id:"460"},461:{path:"/onlineDevice/deviceType/manage",parentId:"459",id:"461"},462:{path:"/onlineDevice/deviceType/deviceTypeDetails/:id",parentId:"459",id:"462"},463:{path:"/onlineDevice/faultlibrary",parentId:"450",id:"463"},464:{path:"/onlineDevice/digitalsigns",parentId:"450",id:"464"},465:{path:"/onlineReservation",parentId:"1",id:"465"},466:{path:"/onlineReservation",redirect:"/onlineReservation/reservationInfo",parentId:"465",id:"466"},467:{path:"/onlineReservation/reservationInfo",parentId:"465",id:"467"},468:{path:"/onlineReservation/reservationInfo",redirect:"/onlineReservation/reservationInfo/reservationInfo/false",parentId:"467",id:"468"},469:{path:"/onlineReservation/reservationInfo/reservationInfo/:flag",parentId:"467",id:"469"},470:{path:"/onlineMessageCenter",parentId:"1",id:"470"},471:{path:"/onlineMessageCenter",redirect:"/onlineMessageCenter/messageCenterManage",parentId:"470",id:"471"},472:{path:"/onlineMessageCenter/messageCenterManage",parentId:"470",id:"472"},473:{path:"/onlineMessageCenter/offSiteConfig",parentId:"470",id:"473"},474:{path:"/onlineProperty",parentId:"1",id:"474"},475:{path:"/onlineProperty",redirect:"/onlineProperty/property",parentId:"474",id:"475"},476:{path:"/onlineProperty/property",parentId:"474",id:"476"},477:{path:"/onlineProperty/procurement/:id",parentId:"474",id:"477"},478:{path:"/laboratoryList",parentId:"1",id:"478"},479:{path:"/laboratoryList",parentId:"478",id:"479"},480:{path:"/newlogin",parentId:"1",id:"480"},481:{path:"/onlinenum",parentId:"1",id:"481"},482:{path:"/onlinenum",parentId:"481",id:"482"},483:{path:"/shixuncontext",parentId:"1",id:"483"},484:{path:"/shixuncontext",parentId:"483",id:"484"},485:{path:"/shixuncontext/:Id/detail",parentId:"483",id:"485"},486:{path:"/educoder-demo",exact:!0,parentId:"1",id:"486"},487:{path:"/training",parentId:"1",id:"487"},488:{name:"\u7CBE\u57F9\u8BFE\u7A0B",path:"/training",parentId:"487",id:"488"},489:{path:"/effectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"489"},490:{path:"/studentEffectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"490"},491:{path:"/largeScreen",exact:!0,parentId:"1",id:"491"},492:{path:"/quality",parentId:"1",id:"492"},493:{name:"\u7CBE\u54C1\u8BFE\u7A0B",path:"/quality",parentId:"492",id:"493"},494:{path:"/otherlogin",exact:!0,parentId:"1",id:"494"},495:{path:"/otherloginqq",exact:!0,parentId:"1",id:"495"},496:{path:"/otherloginstart",exact:!0,parentId:"1",id:"496"},497:{path:"/pathsoverview",exact:!0,parentId:"1",id:"497"},498:{path:"/shixunsoverview",exact:!0,parentId:"1",id:"498"},499:{path:"/classroomsoverview",exact:!0,parentId:"1",id:"499"},500:{path:"/login",parentId:"1",id:"500"},501:{path:"/login",parentId:"500",id:"501"},502:{path:"/user",parentId:"1",id:"502"},503:{path:"/user/login",parentId:"502",id:"503"},504:{path:"/user/register",parentId:"502",id:"504"},505:{path:"/user/reset-password",parentId:"502",id:"505"},506:{path:"/colleges",parentId:"1",id:"506"},507:{path:"/colleges/:id/statistics",parentId:"506",id:"507"},508:{path:"/help",parentId:"1",id:"508"},509:{path:"/help/:id",parentId:"508",id:"509"},510:{path:"/video",parentId:"1",id:"510"},511:{path:"/video/:videoId",parentId:"510",id:"511"},512:{path:"/terminal",parentId:"1",id:"512"},513:{path:"/report/:taskId/:game_report_id",parentId:"1",id:"513"},514:{path:"/statsDashboard",parentId:"1",id:"514"},515:{path:"/reservation",parentId:"1",id:"515"},516:{path:"/reservation/list",parentId:"515",id:"516"},517:{path:"/reservationDetail",parentId:"1",id:"517"},518:{path:"/reservationDetail/:id",parentId:"517",id:"518"},519:{path:"/",parentId:"1",id:"519"},520:{path:"/",exact:!0,parentId:"519",id:"520"},521:{path:"/api/*",exact:!0,parentId:"519",id:"521"},522:{path:"/search",exact:!0,parentId:"519",id:"522"},523:{path:"/moop_cases",exact:!0,parentId:"519",id:"523"},524:{path:"/moop_cases/new",exact:!0,parentId:"519",id:"524"},525:{path:"/moop_cases/:caseId",exact:!0,parentId:"519",id:"525"},526:{path:"/moop_cases/:caseId/edit",exact:!0,parentId:"519",id:"526"},527:{path:"/moop_cases/:caseId/publish-success",exact:!0,parentId:"519",id:"527"},528:{path:"/randompaper",exact:!0,parentId:"519",id:"528"},529:{path:"/randompaper/edit/:id",exact:!0,parentId:"519",id:"529"},530:{path:"/randompaper/detail/:id",exact:!0,parentId:"519",id:"530"},531:{path:"/403",parentId:"519",id:"531"},532:{path:"/500",parentId:"519",id:"532"},533:{path:"/404",parentId:"519",id:"533"},534:{path:"/download",parentId:"519",id:"534"},535:{path:"/iwce",parentId:"519",id:"535"},536:{path:"/classrooms/:coursesId/attendance/TeacherSign",parentId:"519",id:"536"},537:{path:"/classrooms/:coursesId/attendance/:categoryId",parentId:"519",id:"537"},538:{path:"/Activities",parentId:"519",id:"538"},539:{path:"/visualization",parentId:"519",id:"539"},540:{path:"/iwce/:itemname",parentId:"519",id:"540"},541:{path:"/hpc-course",parentId:"519",id:"541"},542:{path:"/user_agents",parentId:"519",id:"542"},543:{path:"/three",parentId:"519",id:"543"},544:{path:"/introduction",parentId:"519",id:"544"},545:{path:"/chatgpt",parentId:"519",id:"545"},546:{path:"/*",parentId:"519",id:"546"},"@@/global-layout":{id:"@@/global-layout",path:"/",isLayout:!0}},routeComponents:{1:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),2:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),3:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(32099)]).then(__webpack_require__.bind(__webpack_require__,68670))),4:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__,94403))),5:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__,94403))),6:Te.lazy(()=>__webpack_require__.e(53247).then(__webpack_require__.bind(__webpack_require__,15661))),7:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),8:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(11545)]).then(__webpack_require__.bind(__webpack_require__,18511))),9:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),10:Te.lazy(()=>__webpack_require__.e(9906).then(__webpack_require__.bind(__webpack_require__,90032))),11:Te.lazy(()=>__webpack_require__.e(5572).then(__webpack_require__.bind(__webpack_require__,57888))),12:Te.lazy(()=>__webpack_require__.e(36080).then(__webpack_require__.bind(__webpack_require__,89105))),13:Te.lazy(()=>__webpack_require__.e(27901).then(__webpack_require__.bind(__webpack_require__,82309))),14:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17204),__webpack_require__.e(92281)]).then(__webpack_require__.bind(__webpack_require__,41524))),15:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(51651)]).then(__webpack_require__.bind(__webpack_require__,3740))),16:Te.lazy(()=>__webpack_require__.e(36080).then(__webpack_require__.bind(__webpack_require__,89105))),17:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),18:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),19:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),20:Te.lazy(()=>__webpack_require__.e(76789).then(__webpack_require__.bind(__webpack_require__,56690))),21:Te.lazy(()=>__webpack_require__.e(79921).then(__webpack_require__.bind(__webpack_require__,52726))),22:Te.lazy(()=>__webpack_require__.e(31674).then(__webpack_require__.bind(__webpack_require__,12308))),23:Te.lazy(()=>__webpack_require__.e(26685).then(__webpack_require__.bind(__webpack_require__,79296))),24:Te.lazy(()=>__webpack_require__.e(7323).then(__webpack_require__.bind(__webpack_require__,49447))),25:Te.lazy(()=>__webpack_require__.e(7323).then(__webpack_require__.bind(__webpack_require__,49447))),26:Te.lazy(()=>__webpack_require__.e(96882).then(__webpack_require__.bind(__webpack_require__,8043))),27:Te.lazy(()=>__webpack_require__.e(96882).then(__webpack_require__.bind(__webpack_require__,8043))),28:Te.lazy(()=>__webpack_require__.e(90109).then(__webpack_require__.bind(__webpack_require__,82347))),29:Te.lazy(()=>__webpack_require__.e(10737).then(__webpack_require__.bind(__webpack_require__,93841))),30:Te.lazy(()=>__webpack_require__.e(3391).then(__webpack_require__.bind(__webpack_require__,27728))),31:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(6004),__webpack_require__.e(35694)]).then(__webpack_require__.bind(__webpack_require__,1407))),32:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(55330)]).then(__webpack_require__.bind(__webpack_require__,24221))),33:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(12303)]).then(__webpack_require__.bind(__webpack_require__,60730))),34:Te.lazy(()=>__webpack_require__.e(71450).then(__webpack_require__.bind(__webpack_require__,87675))),35:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(10195)]).then(__webpack_require__.bind(__webpack_require__,38888))),36:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(93668)]).then(__webpack_require__.bind(__webpack_require__,87537))),37:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(52338)]).then(__webpack_require__.bind(__webpack_require__,86091))),38:Te.lazy(()=>__webpack_require__.e(14662).then(__webpack_require__.bind(__webpack_require__,61438))),39:Te.lazy(()=>__webpack_require__.e(28072).then(__webpack_require__.bind(__webpack_require__,57442))),40:Te.lazy(()=>__webpack_require__.e(60479).then(__webpack_require__.bind(__webpack_require__,58990))),41:Te.lazy(()=>__webpack_require__.e(85297).then(__webpack_require__.bind(__webpack_require__,16874))),42:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(90515),__webpack_require__.e(54164)]).then(__webpack_require__.bind(__webpack_require__,34742))),43:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),44:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(14889)]).then(__webpack_require__.bind(__webpack_require__,61292))),45:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(14105)]).then(__webpack_require__.bind(__webpack_require__,28643))),46:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(97883)]).then(__webpack_require__.bind(__webpack_require__,42126))),47:Te.lazy(()=>__webpack_require__.e(17482).then(__webpack_require__.bind(__webpack_require__,97439))),48:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),49:Te.lazy(()=>__webpack_require__.e(90337).then(__webpack_require__.bind(__webpack_require__,84151))),50:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,30968))),51:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,30968))),52:Te.lazy(()=>__webpack_require__.e(45992).then(__webpack_require__.bind(__webpack_require__,4030))),53:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__,47745))),54:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__,47745))),55:Te.lazy(()=>__webpack_require__.e(48431).then(__webpack_require__.bind(__webpack_require__,80147))),56:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5902)]).then(__webpack_require__.bind(__webpack_require__,18957))),57:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(43433)]).then(__webpack_require__.bind(__webpack_require__,46820))),58:Te.lazy(()=>__webpack_require__.e(95125).then(__webpack_require__.bind(__webpack_require__,25966))),59:Te.lazy(()=>__webpack_require__.e(95125).then(__webpack_require__.bind(__webpack_require__,25966))),60:Te.lazy(()=>__webpack_require__.e(10921).then(__webpack_require__.bind(__webpack_require__,1195))),61:Te.lazy(()=>__webpack_require__.e(10921).then(__webpack_require__.bind(__webpack_require__,1195))),62:Te.lazy(()=>__webpack_require__.e(21578).then(__webpack_require__.bind(__webpack_require__,41927))),63:Te.lazy(()=>__webpack_require__.e(3317).then(__webpack_require__.bind(__webpack_require__,41487))),64:Te.lazy(()=>__webpack_require__.e(1482).then(__webpack_require__.bind(__webpack_require__,74551))),65:Te.lazy(()=>__webpack_require__.e(74795).then(__webpack_require__.bind(__webpack_require__,49830))),66:Te.lazy(()=>__webpack_require__.e(20026).then(__webpack_require__.bind(__webpack_require__,81497))),67:Te.lazy(()=>__webpack_require__.e(68882).then(__webpack_require__.bind(__webpack_require__,94578))),68:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(85888)]).then(__webpack_require__.bind(__webpack_require__,91357))),69:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(19715)]).then(__webpack_require__.bind(__webpack_require__,90584))),70:Te.lazy(()=>__webpack_require__.e(57045).then(__webpack_require__.bind(__webpack_require__,86685))),71:Te.lazy(()=>__webpack_require__.e(31211).then(__webpack_require__.bind(__webpack_require__,58225))),72:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(51582)]).then(__webpack_require__.bind(__webpack_require__,79528))),73:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(16729)]).then(__webpack_require__.bind(__webpack_require__,50227))),74:Te.lazy(()=>Promise.all([__webpack_require__.e(5778),__webpack_require__.e(39695)]).then(__webpack_require__.bind(__webpack_require__,37043))),75:Te.lazy(()=>Promise.all([__webpack_require__.e(5778),__webpack_require__.e(28723)]).then(__webpack_require__.bind(__webpack_require__,53900))),76:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17622)]).then(__webpack_require__.bind(__webpack_require__,20420))),77:Te.lazy(()=>__webpack_require__.e(65148).then(__webpack_require__.bind(__webpack_require__,45976))),78:Te.lazy(()=>__webpack_require__.e(90643).then(__webpack_require__.bind(__webpack_require__,33016))),79:Te.lazy(()=>__webpack_require__.e(43442).then(__webpack_require__.bind(__webpack_require__,54822))),80:Te.lazy(()=>__webpack_require__.e(12102).then(__webpack_require__.bind(__webpack_require__,28357))),81:Te.lazy(()=>__webpack_require__.e(82425).then(__webpack_require__.bind(__webpack_require__,72345))),82:Te.lazy(()=>__webpack_require__.e(52404).then(__webpack_require__.bind(__webpack_require__,59372))),83:Te.lazy(()=>__webpack_require__.e(89785).then(__webpack_require__.bind(__webpack_require__,30856))),84:Te.lazy(()=>__webpack_require__.e(27901).then(__webpack_require__.bind(__webpack_require__,82309))),85:Te.lazy(()=>__webpack_require__.e(2819).then(__webpack_require__.bind(__webpack_require__,47879))),86:Te.lazy(()=>__webpack_require__.e(11512).then(__webpack_require__.bind(__webpack_require__,44738))),87:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(27395)]).then(__webpack_require__.bind(__webpack_require__,39752))),88:Te.lazy(()=>__webpack_require__.e(3585).then(__webpack_require__.bind(__webpack_require__,69476))),89:Te.lazy(()=>__webpack_require__.e(46963).then(__webpack_require__.bind(__webpack_require__,23054))),90:Te.lazy(()=>__webpack_require__.e(64030).then(__webpack_require__.bind(__webpack_require__,60655))),91:Te.lazy(()=>__webpack_require__.e(64030).then(__webpack_require__.bind(__webpack_require__,60655))),92:Te.lazy(()=>__webpack_require__.e(6127).then(__webpack_require__.bind(__webpack_require__,40018))),93:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__,5693))),94:Te.lazy(()=>__webpack_require__.e(41048).then(__webpack_require__.bind(__webpack_require__,91751))),95:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(12884)]).then(__webpack_require__.bind(__webpack_require__,48895))),96:Te.lazy(()=>__webpack_require__.e(54770).then(__webpack_require__.bind(__webpack_require__,61681))),97:Te.lazy(()=>__webpack_require__.e(92603).then(__webpack_require__.bind(__webpack_require__,98116))),98:Te.lazy(()=>__webpack_require__.e(44216).then(__webpack_require__.bind(__webpack_require__,75436))),99:Te.lazy(()=>__webpack_require__.e(15319).then(__webpack_require__.bind(__webpack_require__,20560))),100:Te.lazy(()=>__webpack_require__.e(40895).then(__webpack_require__.bind(__webpack_require__,83622))),101:Te.lazy(()=>__webpack_require__.e(27322).then(__webpack_require__.bind(__webpack_require__,47634))),102:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(72203)]).then(__webpack_require__.bind(__webpack_require__,25585))),103:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(72203)]).then(__webpack_require__.bind(__webpack_require__,25585))),104:Te.lazy(()=>__webpack_require__.e(85048).then(__webpack_require__.bind(__webpack_require__,64114))),105:Te.lazy(()=>__webpack_require__.e(61043).then(__webpack_require__.bind(__webpack_require__,98726))),106:Te.lazy(()=>__webpack_require__.e(61043).then(__webpack_require__.bind(__webpack_require__,98726))),107:Te.lazy(()=>__webpack_require__.e(60921).then(__webpack_require__.bind(__webpack_require__,96163))),108:Te.lazy(()=>__webpack_require__.e(60921).then(__webpack_require__.bind(__webpack_require__,96163))),109:Te.lazy(()=>__webpack_require__.e(64297).then(__webpack_require__.bind(__webpack_require__,74435))),110:Te.lazy(()=>__webpack_require__.e(64297).then(__webpack_require__.bind(__webpack_require__,74435))),111:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(98458)]).then(__webpack_require__.bind(__webpack_require__,84007))),112:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(98458)]).then(__webpack_require__.bind(__webpack_require__,84007))),113:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(61798)]).then(__webpack_require__.bind(__webpack_require__,83394))),114:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(61798)]).then(__webpack_require__.bind(__webpack_require__,83394))),115:Te.lazy(()=>__webpack_require__.e(55177).then(__webpack_require__.bind(__webpack_require__,86202))),116:Te.lazy(()=>__webpack_require__.e(60201).then(__webpack_require__.bind(__webpack_require__,50159))),117:Te.lazy(()=>__webpack_require__.e(1477).then(__webpack_require__.bind(__webpack_require__,52820))),118:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(56282)]).then(__webpack_require__.bind(__webpack_require__,60342))),119:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(56282)]).then(__webpack_require__.bind(__webpack_require__,60342))),120:Te.lazy(()=>__webpack_require__.e(31962).then(__webpack_require__.bind(__webpack_require__,34119))),121:Te.lazy(()=>__webpack_require__.e(54928).then(__webpack_require__.bind(__webpack_require__,29964))),122:Te.lazy(()=>__webpack_require__.e(91257).then(__webpack_require__.bind(__webpack_require__,31459))),123:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36732),__webpack_require__.e(97329)]).then(__webpack_require__.bind(__webpack_require__,43603))),124:Te.lazy(()=>__webpack_require__.e(98340).then(__webpack_require__.bind(__webpack_require__,35031))),125:Te.lazy(()=>__webpack_require__.e(34093).then(__webpack_require__.bind(__webpack_require__,6069))),126:Te.lazy(()=>__webpack_require__.e(56185).then(__webpack_require__.bind(__webpack_require__,76379))),127:Te.lazy(()=>__webpack_require__.e(56185).then(__webpack_require__.bind(__webpack_require__,76379))),128:Te.lazy(()=>__webpack_require__.e(68827).then(__webpack_require__.bind(__webpack_require__,22817))),129:Te.lazy(()=>__webpack_require__.e(68827).then(__webpack_require__.bind(__webpack_require__,22817))),130:Te.lazy(()=>__webpack_require__.e(51678).then(__webpack_require__.bind(__webpack_require__,8344))),131:Te.lazy(()=>__webpack_require__.e(51678).then(__webpack_require__.bind(__webpack_require__,8344))),132:Te.lazy(()=>__webpack_require__.e(71754).then(__webpack_require__.bind(__webpack_require__,29994))),133:Te.lazy(()=>__webpack_require__.e(71754).then(__webpack_require__.bind(__webpack_require__,29994))),134:Te.lazy(()=>__webpack_require__.e(64217).then(__webpack_require__.bind(__webpack_require__,78430))),135:Te.lazy(()=>__webpack_require__.e(6205).then(__webpack_require__.bind(__webpack_require__,72704))),136:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(60533)]).then(__webpack_require__.bind(__webpack_require__,6294))),137:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45798)]).then(__webpack_require__.bind(__webpack_require__,98365))),138:Te.lazy(()=>__webpack_require__.e(85466).then(__webpack_require__.bind(__webpack_require__,75270))),139:Te.lazy(()=>__webpack_require__.e(85466).then(__webpack_require__.bind(__webpack_require__,75270))),140:Te.lazy(()=>__webpack_require__.e(69944).then(__webpack_require__.bind(__webpack_require__,89353))),141:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(59406)]).then(__webpack_require__.bind(__webpack_require__,29744))),142:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(59406)]).then(__webpack_require__.bind(__webpack_require__,29744))),143:Te.lazy(()=>__webpack_require__.e(69039).then(__webpack_require__.bind(__webpack_require__,18727))),144:Te.lazy(()=>__webpack_require__.e(69039).then(__webpack_require__.bind(__webpack_require__,18727))),145:Te.lazy(()=>__webpack_require__.e(87922).then(__webpack_require__.bind(__webpack_require__,93837))),146:Te.lazy(()=>__webpack_require__.e(61727).then(__webpack_require__.bind(__webpack_require__,39510))),147:Te.lazy(()=>__webpack_require__.e(61727).then(__webpack_require__.bind(__webpack_require__,39510))),148:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__,70952))),149:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__,70952))),150:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48689)]).then(__webpack_require__.bind(__webpack_require__,5857))),151:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17806)]).then(__webpack_require__.bind(__webpack_require__,70961))),152:Te.lazy(()=>__webpack_require__.e(3276).then(__webpack_require__.bind(__webpack_require__,18503))),153:Te.lazy(()=>__webpack_require__.e(98885).then(__webpack_require__.bind(__webpack_require__,24801))),154:Te.lazy(()=>__webpack_require__.e(3451).then(__webpack_require__.bind(__webpack_require__,3826))),155:Te.lazy(()=>__webpack_require__.e(69922).then(__webpack_require__.bind(__webpack_require__,94552))),156:Te.lazy(()=>__webpack_require__.e(54572).then(__webpack_require__.bind(__webpack_require__,96323))),157:Te.lazy(()=>__webpack_require__.e(64017).then(__webpack_require__.bind(__webpack_require__,798))),158:Te.lazy(()=>__webpack_require__.e(15148).then(__webpack_require__.bind(__webpack_require__,45144))),159:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),160:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),161:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),162:Te.lazy(()=>__webpack_require__.e(44449).then(__webpack_require__.bind(__webpack_require__,78571))),163:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),164:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__,25562))),165:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__,25562))),166:Te.lazy(()=>__webpack_require__.e(8787).then(__webpack_require__.bind(__webpack_require__,65792))),167:Te.lazy(()=>__webpack_require__.e(45650).then(__webpack_require__.bind(__webpack_require__,58718))),168:Te.lazy(()=>__webpack_require__.e(81799).then(__webpack_require__.bind(__webpack_require__,6963))),169:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(8579)]).then(__webpack_require__.bind(__webpack_require__,2553))),170:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),171:Te.lazy(()=>__webpack_require__.e(28639).then(__webpack_require__.bind(__webpack_require__,46357))),172:Te.lazy(()=>__webpack_require__.e(4048).then(__webpack_require__.bind(__webpack_require__,5147))),173:Te.lazy(()=>__webpack_require__.e(74264).then(__webpack_require__.bind(__webpack_require__,76380))),174:Te.lazy(()=>__webpack_require__.e(74264).then(__webpack_require__.bind(__webpack_require__,76380))),175:Te.lazy(()=>__webpack_require__.e(80508).then(__webpack_require__.bind(__webpack_require__,34013))),176:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),177:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(67835)]).then(__webpack_require__.bind(__webpack_require__,22352))),178:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__,36266))),179:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__,36266))),180:Te.lazy(()=>__webpack_require__.e(11581).then(__webpack_require__.bind(__webpack_require__,31941))),181:Te.lazy(()=>__webpack_require__.e(64144).then(__webpack_require__.bind(__webpack_require__,63969))),182:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),183:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),184:Te.lazy(()=>__webpack_require__.e(8552).then(__webpack_require__.bind(__webpack_require__,41961))),185:Te.lazy(()=>__webpack_require__.e(7884).then(__webpack_require__.bind(__webpack_require__,95695))),186:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(75307)]).then(__webpack_require__.bind(__webpack_require__,27933))),187:Te.lazy(()=>__webpack_require__.e(65549).then(__webpack_require__.bind(__webpack_require__,62738))),188:Te.lazy(()=>__webpack_require__.e(99674).then(__webpack_require__.bind(__webpack_require__,93779))),189:Te.lazy(()=>__webpack_require__.e(55573).then(__webpack_require__.bind(__webpack_require__,55412))),190:Te.lazy(()=>__webpack_require__.e(2141).then(__webpack_require__.bind(__webpack_require__,63776))),191:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(39061),__webpack_require__.e(9511)]).then(__webpack_require__.bind(__webpack_require__,5101))),192:Te.lazy(()=>__webpack_require__.e(16328).then(__webpack_require__.bind(__webpack_require__,44773))),193:Te.lazy(()=>__webpack_require__.e(77857).then(__webpack_require__.bind(__webpack_require__,3495))),194:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__,80283))),195:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__,80283))),196:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__,54979))),197:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__,54979))),198:Te.lazy(()=>__webpack_require__.e(49205).then(__webpack_require__.bind(__webpack_require__,95349))),199:Te.lazy(()=>__webpack_require__.e(21423).then(__webpack_require__.bind(__webpack_require__,23761))),200:Te.lazy(()=>__webpack_require__.e(57614).then(__webpack_require__.bind(__webpack_require__,62966))),201:Te.lazy(()=>__webpack_require__.e(9449).then(__webpack_require__.bind(__webpack_require__,42132))),202:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(79814)]).then(__webpack_require__.bind(__webpack_require__,73529))),203:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36637)]).then(__webpack_require__.bind(__webpack_require__,82698))),204:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36637)]).then(__webpack_require__.bind(__webpack_require__,82698))),205:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(63581)]).then(__webpack_require__.bind(__webpack_require__,38953))),206:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(91993)]).then(__webpack_require__.bind(__webpack_require__,10442))),207:Te.lazy(()=>__webpack_require__.e(71475).then(__webpack_require__.bind(__webpack_require__,77866))),208:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48965)]).then(__webpack_require__.bind(__webpack_require__,50454))),209:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(86451)]).then(__webpack_require__.bind(__webpack_require__,37625))),210:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(39061),__webpack_require__.e(10518)]).then(__webpack_require__.bind(__webpack_require__,90365))),211:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15894)]).then(__webpack_require__.bind(__webpack_require__,53514))),212:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15894)]).then(__webpack_require__.bind(__webpack_require__,53514))),213:Te.lazy(()=>__webpack_require__.e(72130).then(__webpack_require__.bind(__webpack_require__,69167))),214:Te.lazy(()=>__webpack_require__.e(72130).then(__webpack_require__.bind(__webpack_require__,69167))),215:Te.lazy(()=>__webpack_require__.e(35230).then(__webpack_require__.bind(__webpack_require__,93004))),216:Te.lazy(()=>__webpack_require__.e(35230).then(__webpack_require__.bind(__webpack_require__,93004))),217:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__,79926))),218:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__,79926))),219:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45096)]).then(__webpack_require__.bind(__webpack_require__,60704))),220:Te.lazy(()=>__webpack_require__.e(3086).then(__webpack_require__.bind(__webpack_require__,63504))),221:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(59417)]).then(__webpack_require__.bind(__webpack_require__,54137))),222:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),223:Te.lazy(()=>__webpack_require__.e(95176).then(__webpack_require__.bind(__webpack_require__,71654))),224:Te.lazy(()=>__webpack_require__.e(66587).then(__webpack_require__.bind(__webpack_require__,34812))),225:Te.lazy(()=>__webpack_require__.e(19891).then(__webpack_require__.bind(__webpack_require__,93191))),226:Te.lazy(()=>__webpack_require__.e(98062).then(__webpack_require__.bind(__webpack_require__,55759))),227:Te.lazy(()=>__webpack_require__.e(15402).then(__webpack_require__.bind(__webpack_require__,34735))),228:Te.lazy(()=>__webpack_require__.e(15402).then(__webpack_require__.bind(__webpack_require__,34735))),229:Te.lazy(()=>__webpack_require__.e(86820).then(__webpack_require__.bind(__webpack_require__,1604))),230:Te.lazy(()=>__webpack_require__.e(88517).then(__webpack_require__.bind(__webpack_require__,60300))),231:Te.lazy(()=>__webpack_require__.e(7043).then(__webpack_require__.bind(__webpack_require__,3836))),232:Te.lazy(()=>__webpack_require__.e(52806).then(__webpack_require__.bind(__webpack_require__,4780))),233:Te.lazy(()=>__webpack_require__.e(75043).then(__webpack_require__.bind(__webpack_require__,9374))),234:Te.lazy(()=>__webpack_require__.e(10799).then(__webpack_require__.bind(__webpack_require__,33966))),235:Te.lazy(()=>__webpack_require__.e(92932).then(__webpack_require__.bind(__webpack_require__,891))),236:Te.lazy(()=>__webpack_require__.e(71525).then(__webpack_require__.bind(__webpack_require__,2555))),237:Te.lazy(()=>__webpack_require__.e(69681).then(__webpack_require__.bind(__webpack_require__,46428))),238:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(63157)]).then(__webpack_require__.bind(__webpack_require__,31590))),239:Te.lazy(()=>__webpack_require__.e(68332).then(__webpack_require__.bind(__webpack_require__,56669))),240:Te.lazy(()=>__webpack_require__.e(66583).then(__webpack_require__.bind(__webpack_require__,77825))),241:Te.lazy(()=>__webpack_require__.e(98217).then(__webpack_require__.bind(__webpack_require__,865))),242:Te.lazy(()=>__webpack_require__.e(80879).then(__webpack_require__.bind(__webpack_require__,43655))),243:Te.lazy(()=>__webpack_require__.e(65776).then(__webpack_require__.bind(__webpack_require__,6901))),244:Te.lazy(()=>__webpack_require__.e(60906).then(__webpack_require__.bind(__webpack_require__,87536))),245:Te.lazy(()=>__webpack_require__.e(50900).then(__webpack_require__.bind(__webpack_require__,97560))),246:Te.lazy(()=>__webpack_require__.e(26682).then(__webpack_require__.bind(__webpack_require__,99445))),247:Te.lazy(()=>__webpack_require__.e(78115).then(__webpack_require__.bind(__webpack_require__,50241))),248:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__,52494))),249:Te.lazy(()=>__webpack_require__.e(14610).then(__webpack_require__.bind(__webpack_require__,32258))),250:Te.lazy(()=>__webpack_require__.e(78479).then(__webpack_require__.bind(__webpack_require__,94035))),251:Te.lazy(()=>__webpack_require__.e(15800).then(__webpack_require__.bind(__webpack_require__,44644))),252:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(42862)]).then(__webpack_require__.bind(__webpack_require__,68548))),253:Te.lazy(()=>__webpack_require__.e(28286).then(__webpack_require__.bind(__webpack_require__,93373))),254:Te.lazy(()=>__webpack_require__.e(65117).then(__webpack_require__.bind(__webpack_require__,11862))),255:Te.lazy(()=>__webpack_require__.e(17402).then(__webpack_require__.bind(__webpack_require__,59911))),256:Te.lazy(()=>__webpack_require__.e(21897).then(__webpack_require__.bind(__webpack_require__,25461))),257:Te.lazy(()=>__webpack_require__.e(8145).then(__webpack_require__.bind(__webpack_require__,42037))),258:Te.lazy(()=>__webpack_require__.e(70119).then(__webpack_require__.bind(__webpack_require__,18337))),259:Te.lazy(()=>__webpack_require__.e(5427).then(__webpack_require__.bind(__webpack_require__,34351))),260:Te.lazy(()=>__webpack_require__.e(4736).then(__webpack_require__.bind(__webpack_require__,13781))),261:Te.lazy(()=>__webpack_require__.e(12412).then(__webpack_require__.bind(__webpack_require__,33165))),262:Te.lazy(()=>__webpack_require__.e(42240).then(__webpack_require__.bind(__webpack_require__,99309))),263:Te.lazy(()=>__webpack_require__.e(5165).then(__webpack_require__.bind(__webpack_require__,69638))),264:Te.lazy(()=>__webpack_require__.e(83831).then(__webpack_require__.bind(__webpack_require__,74672))),265:Te.lazy(()=>__webpack_require__.e(93910).then(__webpack_require__.bind(__webpack_require__,34236))),266:Te.lazy(()=>__webpack_require__.e(57855).then(__webpack_require__.bind(__webpack_require__,30864))),267:Te.lazy(()=>__webpack_require__.e(9507).then(__webpack_require__.bind(__webpack_require__,55508))),268:Te.lazy(()=>__webpack_require__.e(1343).then(__webpack_require__.bind(__webpack_require__,36348))),269:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),270:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),271:Te.lazy(()=>__webpack_require__.e(29647).then(__webpack_require__.bind(__webpack_require__,26139))),272:Te.lazy(()=>__webpack_require__.e(10485).then(__webpack_require__.bind(__webpack_require__,62149))),273:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__,85686))),274:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__,85686))),275:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__,26638))),276:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__,26638))),277:Te.lazy(()=>__webpack_require__.e(77460).then(__webpack_require__.bind(__webpack_require__,54359))),278:Te.lazy(()=>__webpack_require__.e(49716).then(__webpack_require__.bind(__webpack_require__,53431))),279:Te.lazy(()=>__webpack_require__.e(86913).then(__webpack_require__.bind(__webpack_require__,741))),280:Te.lazy(()=>__webpack_require__.e(86913).then(__webpack_require__.bind(__webpack_require__,741))),281:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),282:Te.lazy(()=>__webpack_require__.e(13006).then(__webpack_require__.bind(__webpack_require__,35225))),283:Te.lazy(()=>__webpack_require__.e(92045).then(__webpack_require__.bind(__webpack_require__,55883))),284:Te.lazy(()=>__webpack_require__.e(11520).then(__webpack_require__.bind(__webpack_require__,56714))),285:Te.lazy(()=>__webpack_require__.e(59649).then(__webpack_require__.bind(__webpack_require__,84411))),286:Te.lazy(()=>__webpack_require__.e(84546).then(__webpack_require__.bind(__webpack_require__,29424))),287:Te.lazy(()=>__webpack_require__.e(75357).then(__webpack_require__.bind(__webpack_require__,60056))),288:Te.lazy(()=>__webpack_require__.e(68665).then(__webpack_require__.bind(__webpack_require__,77809))),289:Te.lazy(()=>__webpack_require__.e(73183).then(__webpack_require__.bind(__webpack_require__,13525))),290:Te.lazy(()=>__webpack_require__.e(34800).then(__webpack_require__.bind(__webpack_require__,87751))),291:Te.lazy(()=>__webpack_require__.e(79489).then(__webpack_require__.bind(__webpack_require__,94736))),292:Te.lazy(()=>__webpack_require__.e(39391).then(__webpack_require__.bind(__webpack_require__,88291))),293:Te.lazy(()=>__webpack_require__.e(95335).then(__webpack_require__.bind(__webpack_require__,42208))),294:Te.lazy(()=>__webpack_require__.e(92823).then(__webpack_require__.bind(__webpack_require__,69578))),295:Te.lazy(()=>__webpack_require__.e(4973).then(__webpack_require__.bind(__webpack_require__,70069))),296:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(66651)]).then(__webpack_require__.bind(__webpack_require__,57116))),297:Te.lazy(()=>__webpack_require__.e(26741).then(__webpack_require__.bind(__webpack_require__,28142))),298:Te.lazy(()=>__webpack_require__.e(45775).then(__webpack_require__.bind(__webpack_require__,70157))),299:Te.lazy(()=>__webpack_require__.e(62548).then(__webpack_require__.bind(__webpack_require__,24298))),300:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),301:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),302:Te.lazy(()=>__webpack_require__.e(86634).then(__webpack_require__.bind(__webpack_require__,23797))),303:Te.lazy(()=>__webpack_require__.e(20680).then(__webpack_require__.bind(__webpack_require__,73209))),304:Te.lazy(()=>__webpack_require__.e(26366).then(__webpack_require__.bind(__webpack_require__,90494))),305:Te.lazy(()=>__webpack_require__.e(86452).then(__webpack_require__.bind(__webpack_require__,74161))),306:Te.lazy(()=>__webpack_require__.e(11070).then(__webpack_require__.bind(__webpack_require__,5810))),307:Te.lazy(()=>__webpack_require__.e(67242).then(__webpack_require__.bind(__webpack_require__,34254))),308:Te.lazy(()=>__webpack_require__.e(22707).then(__webpack_require__.bind(__webpack_require__,31007))),309:Te.lazy(()=>__webpack_require__.e(12865).then(__webpack_require__.bind(__webpack_require__,16746))),310:Te.lazy(()=>__webpack_require__.e(36784).then(__webpack_require__.bind(__webpack_require__,34867))),311:Te.lazy(()=>__webpack_require__.e(36784).then(__webpack_require__.bind(__webpack_require__,34867))),312:Te.lazy(()=>__webpack_require__.e(83141).then(__webpack_require__.bind(__webpack_require__,48471))),313:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),314:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),315:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__,63099))),316:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),317:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__,63099))),318:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),319:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),320:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(17527)]).then(__webpack_require__.bind(__webpack_require__,23410))),321:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(36270)]).then(__webpack_require__.bind(__webpack_require__,25183))),322:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),323:Te.lazy(()=>__webpack_require__.e(60547).then(__webpack_require__.bind(__webpack_require__,82754))),324:Te.lazy(()=>__webpack_require__.e(59788).then(__webpack_require__.bind(__webpack_require__,67875))),325:Te.lazy(()=>__webpack_require__.e(20576).then(__webpack_require__.bind(__webpack_require__,40858))),326:Te.lazy(()=>__webpack_require__.e(87260).then(__webpack_require__.bind(__webpack_require__,44010))),327:Te.lazy(()=>__webpack_require__.e(64520).then(__webpack_require__.bind(__webpack_require__,40230))),328:Te.lazy(()=>__webpack_require__.e(89076).then(__webpack_require__.bind(__webpack_require__,58925))),329:Te.lazy(()=>__webpack_require__.e(14514).then(__webpack_require__.bind(__webpack_require__,51851))),330:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),331:Te.lazy(()=>__webpack_require__.e(70928).then(__webpack_require__.bind(__webpack_require__,25114))),332:Te.lazy(()=>__webpack_require__.e(31006).then(__webpack_require__.bind(__webpack_require__,23220))),333:Te.lazy(()=>__webpack_require__.e(31006).then(__webpack_require__.bind(__webpack_require__,23220))),334:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),335:Te.lazy(()=>__webpack_require__.e(21939).then(__webpack_require__.bind(__webpack_require__,80938))),336:Te.lazy(()=>__webpack_require__.e(556).then(__webpack_require__.bind(__webpack_require__,31918))),337:Te.lazy(()=>__webpack_require__.e(16434).then(__webpack_require__.bind(__webpack_require__,49291))),338:Te.lazy(()=>__webpack_require__.e(61880).then(__webpack_require__.bind(__webpack_require__,58747))),339:Te.lazy(()=>__webpack_require__.e(28237).then(__webpack_require__.bind(__webpack_require__,54351))),340:Te.lazy(()=>__webpack_require__.e(85111).then(__webpack_require__.bind(__webpack_require__,70459))),341:Te.lazy(()=>__webpack_require__.e(30264).then(__webpack_require__.bind(__webpack_require__,46924))),342:Te.lazy(()=>__webpack_require__.e(44259).then(__webpack_require__.bind(__webpack_require__,48436))),343:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),344:Te.lazy(()=>__webpack_require__.e(94078).then(__webpack_require__.bind(__webpack_require__,32727))),345:Te.lazy(()=>__webpack_require__.e(52829).then(__webpack_require__.bind(__webpack_require__,6717))),346:Te.lazy(()=>__webpack_require__.e(45359).then(__webpack_require__.bind(__webpack_require__,65593))),347:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),348:Te.lazy(()=>__webpack_require__.e(40559).then(__webpack_require__.bind(__webpack_require__,17857))),349:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),350:Te.lazy(()=>__webpack_require__.e(4757).then(__webpack_require__.bind(__webpack_require__,75169))),351:Te.lazy(()=>__webpack_require__.e(71783).then(__webpack_require__.bind(__webpack_require__,94823))),352:Te.lazy(()=>__webpack_require__.e(65816).then(__webpack_require__.bind(__webpack_require__,52497))),353:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),354:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),355:Te.lazy(()=>__webpack_require__.e(46796).then(__webpack_require__.bind(__webpack_require__,99329))),356:Te.lazy(()=>__webpack_require__.e(24504).then(__webpack_require__.bind(__webpack_require__,31484))),357:Te.lazy(()=>__webpack_require__.e(87058).then(__webpack_require__.bind(__webpack_require__,36116))),358:Te.lazy(()=>__webpack_require__.e(38447).then(__webpack_require__.bind(__webpack_require__,79682))),359:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),360:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),361:Te.lazy(()=>__webpack_require__.e(35238).then(__webpack_require__.bind(__webpack_require__,67096))),362:Te.lazy(()=>__webpack_require__.e(94715).then(__webpack_require__.bind(__webpack_require__,29536))),363:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(23873)]).then(__webpack_require__.bind(__webpack_require__,88154))),364:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),365:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),366:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(96265)]).then(__webpack_require__.bind(__webpack_require__,54842))),367:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),368:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),369:Te.lazy(()=>__webpack_require__.e(61713).then(__webpack_require__.bind(__webpack_require__,24969))),370:Te.lazy(()=>__webpack_require__.e(85891).then(__webpack_require__.bind(__webpack_require__,64665))),371:Te.lazy(()=>__webpack_require__.e(98398).then(__webpack_require__.bind(__webpack_require__,11127))),372:Te.lazy(()=>__webpack_require__.e(18241).then(__webpack_require__.bind(__webpack_require__,44172))),373:Te.lazy(()=>__webpack_require__.e(82339).then(__webpack_require__.bind(__webpack_require__,35213))),374:Te.lazy(()=>__webpack_require__.e(67589).then(__webpack_require__.bind(__webpack_require__,84150))),375:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),376:Te.lazy(()=>__webpack_require__.e(25705).then(__webpack_require__.bind(__webpack_require__,92167))),377:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),378:Te.lazy(()=>__webpack_require__.e(40559).then(__webpack_require__.bind(__webpack_require__,17857))),379:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),380:Te.lazy(()=>__webpack_require__.e(4757).then(__webpack_require__.bind(__webpack_require__,75169))),381:Te.lazy(()=>__webpack_require__.e(71783).then(__webpack_require__.bind(__webpack_require__,94823))),382:Te.lazy(()=>__webpack_require__.e(65816).then(__webpack_require__.bind(__webpack_require__,52497))),383:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),384:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),385:Te.lazy(()=>__webpack_require__.e(46796).then(__webpack_require__.bind(__webpack_require__,99329))),386:Te.lazy(()=>__webpack_require__.e(24504).then(__webpack_require__.bind(__webpack_require__,31484))),387:Te.lazy(()=>__webpack_require__.e(87058).then(__webpack_require__.bind(__webpack_require__,36116))),388:Te.lazy(()=>__webpack_require__.e(38447).then(__webpack_require__.bind(__webpack_require__,79682))),389:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),390:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),391:Te.lazy(()=>__webpack_require__.e(35238).then(__webpack_require__.bind(__webpack_require__,67096))),392:Te.lazy(()=>__webpack_require__.e(94715).then(__webpack_require__.bind(__webpack_require__,29536))),393:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(23873)]).then(__webpack_require__.bind(__webpack_require__,88154))),394:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),395:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),396:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(96265)]).then(__webpack_require__.bind(__webpack_require__,54842))),397:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),398:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),399:Te.lazy(()=>__webpack_require__.e(61713).then(__webpack_require__.bind(__webpack_require__,24969))),400:Te.lazy(()=>__webpack_require__.e(85891).then(__webpack_require__.bind(__webpack_require__,64665))),401:Te.lazy(()=>__webpack_require__.e(98398).then(__webpack_require__.bind(__webpack_require__,11127))),402:Te.lazy(()=>__webpack_require__.e(18241).then(__webpack_require__.bind(__webpack_require__,44172))),403:Te.lazy(()=>__webpack_require__.e(82339).then(__webpack_require__.bind(__webpack_require__,35213))),404:Te.lazy(()=>__webpack_require__.e(67589).then(__webpack_require__.bind(__webpack_require__,84150))),405:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),406:Te.lazy(()=>__webpack_require__.e(25705).then(__webpack_require__.bind(__webpack_require__,92167))),407:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),408:Te.lazy(()=>__webpack_require__.e(4766).then(__webpack_require__.bind(__webpack_require__,32572))),409:Te.lazy(()=>__webpack_require__.e(57560).then(__webpack_require__.bind(__webpack_require__,33208))),410:Te.lazy(()=>__webpack_require__.e(36029).then(__webpack_require__.bind(__webpack_require__,75029))),411:Te.lazy(()=>__webpack_require__.e(45179).then(__webpack_require__.bind(__webpack_require__,80506))),412:Te.lazy(()=>__webpack_require__.e(54621).then(__webpack_require__.bind(__webpack_require__,37383))),413:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),414:Te.lazy(()=>__webpack_require__.e(91831).then(__webpack_require__.bind(__webpack_require__,35104))),415:Te.lazy(()=>__webpack_require__.e(72539).then(__webpack_require__.bind(__webpack_require__,41681))),416:Te.lazy(()=>__webpack_require__.e(38143).then(__webpack_require__.bind(__webpack_require__,55473))),417:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(55624)]).then(__webpack_require__.bind(__webpack_require__,25217))),418:Te.lazy(()=>__webpack_require__.e(51461).then(__webpack_require__.bind(__webpack_require__,77106))),419:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(54492)]).then(__webpack_require__.bind(__webpack_require__,78013))),420:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__,22230))),421:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),422:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),423:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),424:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),425:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),426:Te.lazy(()=>__webpack_require__.e(25022).then(__webpack_require__.bind(__webpack_require__,44480))),427:Te.lazy(()=>__webpack_require__.e(66063).then(__webpack_require__.bind(__webpack_require__,72803))),428:Te.lazy(()=>__webpack_require__.e(66063).then(__webpack_require__.bind(__webpack_require__,72803))),429:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(47545)]).then(__webpack_require__.bind(__webpack_require__,37693))),430:Te.lazy(()=>__webpack_require__.e(11253).then(__webpack_require__.bind(__webpack_require__,89796))),431:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),432:Te.lazy(()=>__webpack_require__.e(12216).then(__webpack_require__.bind(__webpack_require__,33607))),433:Te.lazy(()=>__webpack_require__.e(15382).then(__webpack_require__.bind(__webpack_require__,73275))),434:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),435:Te.lazy(()=>__webpack_require__.e(24420).then(__webpack_require__.bind(__webpack_require__,79359))),436:Te.lazy(()=>Promise.all([__webpack_require__.e(67793),__webpack_require__.e(96979)]).then(__webpack_require__.bind(__webpack_require__,13991))),437:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(67793),__webpack_require__.e(28823)]).then(__webpack_require__.bind(__webpack_require__,35059))),438:Te.lazy(()=>__webpack_require__.e(73685).then(__webpack_require__.bind(__webpack_require__,89915))),439:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(92524)]).then(__webpack_require__.bind(__webpack_require__,12591))),440:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45915)]).then(__webpack_require__.bind(__webpack_require__,79944))),441:Te.lazy(()=>__webpack_require__.e(53589).then(__webpack_require__.bind(__webpack_require__,25936))),442:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(40919)]).then(__webpack_require__.bind(__webpack_require__,86725))),443:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(77042)]).then(__webpack_require__.bind(__webpack_require__,31943))),444:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48137)]).then(__webpack_require__.bind(__webpack_require__,80485))),445:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(64339)]).then(__webpack_require__.bind(__webpack_require__,28781))),446:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(19595)]).then(__webpack_require__.bind(__webpack_require__,86726))),447:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(53443)]).then(__webpack_require__.bind(__webpack_require__,95845))),448:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),449:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(29172)]).then(__webpack_require__.bind(__webpack_require__,88505))),450:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),451:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),452:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),453:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),454:Te.lazy(()=>__webpack_require__.e(76806).then(__webpack_require__.bind(__webpack_require__,82376))),455:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(30174)]).then(__webpack_require__.bind(__webpack_require__,18371))),456:Te.lazy(()=>__webpack_require__.e(97052).then(__webpack_require__.bind(__webpack_require__,36134))),457:Te.lazy(()=>__webpack_require__.e(77465).then(__webpack_require__.bind(__webpack_require__,27634))),458:Te.lazy(()=>__webpack_require__.e(8234).then(__webpack_require__.bind(__webpack_require__,43459))),459:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),460:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),461:Te.lazy(()=>__webpack_require__.e(37745).then(__webpack_require__.bind(__webpack_require__,50030))),462:Te.lazy(()=>__webpack_require__.e(48121).then(__webpack_require__.bind(__webpack_require__,93011))),463:Te.lazy(()=>__webpack_require__.e(24806).then(__webpack_require__.bind(__webpack_require__,73976))),464:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(3282)]).then(__webpack_require__.bind(__webpack_require__,37548))),465:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),466:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),467:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),468:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),469:Te.lazy(()=>__webpack_require__.e(57670).then(__webpack_require__.bind(__webpack_require__,13792))),470:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),471:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),472:Te.lazy(()=>__webpack_require__.e(1727).then(__webpack_require__.bind(__webpack_require__,74631))),473:Te.lazy(()=>__webpack_require__.e(27823).then(__webpack_require__.bind(__webpack_require__,66850))),474:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),475:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),476:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(52748)]).then(__webpack_require__.bind(__webpack_require__,7839))),477:Te.lazy(()=>__webpack_require__.e(2641).then(__webpack_require__.bind(__webpack_require__,57754))),478:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),479:Te.lazy(()=>__webpack_require__.e(28116).then(__webpack_require__.bind(__webpack_require__,72652))),480:Te.lazy(()=>__webpack_require__.e(71077).then(__webpack_require__.bind(__webpack_require__,59936))),481:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),482:Te.lazy(()=>__webpack_require__.e(50570).then(__webpack_require__.bind(__webpack_require__,30904))),483:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),484:Te.lazy(()=>__webpack_require__.e(48365).then(__webpack_require__.bind(__webpack_require__,56150))),485:Te.lazy(()=>__webpack_require__.e(26788).then(__webpack_require__.bind(__webpack_require__,60963))),486:Te.lazy(()=>__webpack_require__.e(14058).then(__webpack_require__.bind(__webpack_require__,11981))),487:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),488:Te.lazy(()=>__webpack_require__.e(54056).then(__webpack_require__.bind(__webpack_require__,45582))),489:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(51443)]).then(__webpack_require__.bind(__webpack_require__,62954))),490:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(30065)]).then(__webpack_require__.bind(__webpack_require__,3628))),491:Te.lazy(()=>__webpack_require__.e(59487).then(__webpack_require__.bind(__webpack_require__,26349))),492:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),493:Te.lazy(()=>__webpack_require__.e(80532).then(__webpack_require__.bind(__webpack_require__,45393))),494:Te.lazy(()=>__webpack_require__.e(27178).then(__webpack_require__.bind(__webpack_require__,70422))),495:Te.lazy(()=>__webpack_require__.e(1660).then(__webpack_require__.bind(__webpack_require__,4261))),496:Te.lazy(()=>__webpack_require__.e(27333).then(__webpack_require__.bind(__webpack_require__,47058))),497:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(14227)]).then(__webpack_require__.bind(__webpack_require__,78641))),498:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(88155)]).then(__webpack_require__.bind(__webpack_require__,86300))),499:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15186)]).then(__webpack_require__.bind(__webpack_require__,62095))),500:Te.lazy(()=>__webpack_require__.e(75786).then(__webpack_require__.bind(__webpack_require__,412))),501:Te.lazy(()=>__webpack_require__.e(49366).then(__webpack_require__.bind(__webpack_require__,14027))),502:Te.lazy(()=>__webpack_require__.e(25972).then(__webpack_require__.bind(__webpack_require__,38708))),503:Te.lazy(()=>__webpack_require__.e(49366).then(__webpack_require__.bind(__webpack_require__,14027))),504:Te.lazy(()=>__webpack_require__.e(91470).then(__webpack_require__.bind(__webpack_require__,60694))),505:Te.lazy(()=>__webpack_require__.e(27182).then(__webpack_require__.bind(__webpack_require__,49226))),506:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),507:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(12476)]).then(__webpack_require__.bind(__webpack_require__,25366))),508:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),509:Te.lazy(()=>__webpack_require__.e(35729).then(__webpack_require__.bind(__webpack_require__,22809))),510:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),511:Te.lazy(()=>__webpack_require__.e(96444).then(__webpack_require__.bind(__webpack_require__,61319))),512:Te.lazy(()=>__webpack_require__.e(65111).then(__webpack_require__.bind(__webpack_require__,50869))),513:Te.lazy(()=>__webpack_require__.e(22307).then(__webpack_require__.bind(__webpack_require__,29646))),514:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(97224)]).then(__webpack_require__.bind(__webpack_require__,85267))),515:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),516:Te.lazy(()=>__webpack_require__.e(59142).then(__webpack_require__.bind(__webpack_require__,20553))),517:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),518:Te.lazy(()=>__webpack_require__.e(88501).then(__webpack_require__.bind(__webpack_require__,61929))),519:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),520:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(88866)]).then(__webpack_require__.bind(__webpack_require__,74846))),521:Te.lazy(()=>__webpack_require__.e(62300).then(__webpack_require__.bind(__webpack_require__,580))),522:Te.lazy(()=>__webpack_require__.e(92501).then(__webpack_require__.bind(__webpack_require__,98631))),523:Te.lazy(()=>__webpack_require__.e(83212).then(__webpack_require__.bind(__webpack_require__,87482))),524:Te.lazy(()=>__webpack_require__.e(76904).then(__webpack_require__.bind(__webpack_require__,55748))),525:Te.lazy(()=>__webpack_require__.e(51855).then(__webpack_require__.bind(__webpack_require__,13194))),526:Te.lazy(()=>__webpack_require__.e(76904).then(__webpack_require__.bind(__webpack_require__,55748))),527:Te.lazy(()=>__webpack_require__.e(51276).then(__webpack_require__.bind(__webpack_require__,58463))),528:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),529:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),530:Te.lazy(()=>__webpack_require__.e(33784).then(__webpack_require__.bind(__webpack_require__,32995))),531:Te.lazy(()=>__webpack_require__.e(43862).then(__webpack_require__.bind(__webpack_require__,99222))),532:Te.lazy(()=>__webpack_require__.e(44565).then(__webpack_require__.bind(__webpack_require__,43002))),533:Te.lazy(()=>__webpack_require__.e(66531).then(__webpack_require__.bind(__webpack_require__,96894))),534:Te.lazy(()=>__webpack_require__.e(36170).then(__webpack_require__.bind(__webpack_require__,79645))),535:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),536:Te.lazy(()=>__webpack_require__.e(21836).then(__webpack_require__.bind(__webpack_require__,24742))),537:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36732),__webpack_require__.e(28435)]).then(__webpack_require__.bind(__webpack_require__,35290))),538:Te.lazy(()=>__webpack_require__.e(3509).then(__webpack_require__.bind(__webpack_require__,77698))),539:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(26116)]).then(__webpack_require__.bind(__webpack_require__,17866))),540:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),541:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),542:Te.lazy(()=>__webpack_require__.e(66034).then(__webpack_require__.bind(__webpack_require__,121))),543:Te.lazy(()=>__webpack_require__.e(8999).then(__webpack_require__.bind(__webpack_require__,82739))),544:Te.lazy(()=>__webpack_require__.e(53910).then(__webpack_require__.bind(__webpack_require__,57132))),545:Te.lazy(()=>__webpack_require__.e(30067).then(__webpack_require__.bind(__webpack_require__,6176))),546:Te.lazy(()=>__webpack_require__.e(66531).then(__webpack_require__.bind(__webpack_require__,96894))),"@@/global-layout":Te.lazy(()=>__webpack_require__.e(41717).then(__webpack_require__.bind(__webpack_require__,47746)))}}})}var O=__webpack_require__(85354),L=__webpack_require__(11882),ve=__webpack_require__(71418),ze=__webpack_require__(31933),tn=()=>Te.createElement(ve.Z,{size:"middle",className:ze.Z.loading}),Tn=__webpack_require__(44225),xi=__webpack_require__(66649),mn=__webpack_require__.n(xi),qa=__webpack_require__(91392),Fo=__webpack_require__.n(qa),ns=__webpack_require__(73100),Ks=__webpack_require__.n(ns),Js=__webpack_require__(14805),cu=__webpack_require__.n(Js),Io=__webpack_require__(13477),qc=__webpack_require__.n(Io),rc=__webpack_require__(64796),Lc=__webpack_require__.n(rc),Jc=__webpack_require__(9007),qu=__webpack_require__.n(Jc),Di=__webpack_require__(58626),Al=__webpack_require__.n(Di),bf=__webpack_require__(9084),Vo=__webpack_require__.n(bf),Sa=__webpack_require__(5116),ll=__webpack_require__.n(Sa),Cl=__webpack_require__(50991),nc=__webpack_require__.n(Cl),ic=__webpack_require__(39050),Wl=__webpack_require__.n(ic),Tl=__webpack_require__(1554),xf=__webpack_require__.n(Tl),Bu=__webpack_require__(59697),Hl=__webpack_require__.n(Bu);mn().extend(Ks()),mn().extend(cu()),mn().extend(qc()),mn().extend(Lc()),mn().extend(qu()),mn().extend(Al()),mn().extend(Vo()),mn().extend(ll()),mn().extend(nc()),mn().extend(Wl()),mn().extend(xf()),mn().extend(Hl()),mn().extend(Fo());var ef=Object.defineProperty,Gl=Object.getOwnPropertySymbols,wf=Object.prototype.hasOwnProperty,Nu=Object.prototype.propertyIsEnumerable,Pl=(Bn,ni,Qi)=>ni in Bn?ef(Bn,ni,{enumerable:!0,configurable:!0,writable:!0,value:Qi}):Bn[ni]=Qi,ac=(Bn,ni)=>{for(var Qi in ni||(ni={}))wf.call(ni,Qi)&&Pl(Bn,Qi,ni[Qi]);if(Gl)for(var Qi of Gl(ni))Nu.call(ni,Qi)&&Pl(Bn,Qi,ni[Qi]);return Bn},Mc=(Bn,ni,Qi)=>new Promise((Ma,oa)=>{var Aa=ua=>{try{Fs(Qi.next(ua))}catch(Bs){oa(Bs)}},ga=ua=>{try{Fs(Qi.throw(ua))}catch(Bs){oa(Bs)}},Fs=ua=>ua.done?Ma(ua.value):Promise.resolve(ua.value).then(Aa,ga);Fs((Qi=Qi.apply(Bn,ni)).next())});const Hu="/react/build/",Su=!1;function Au(){return Mc(this,null,function*(){const Bn=(0,O.gD)(),{routes:ni,routeComponents:Qi}=yield P(Bn);yield Bn.applyPlugins({key:"patchRoutes",type:Tn.ApplyPluginsType.event,args:{routes:ni,routeComponents:Qi}});const Ma=Bn.applyPlugins({key:"modifyContextOpts",type:Tn.ApplyPluginsType.modify,initialValue:{}}),oa=Ma.basename||"/",Aa=Ma.historyType||"browser",ga=(0,L.fi)(ac({type:Aa,basename:oa},Ma.historyOpts));return Bn.applyPlugins({key:"render",type:Tn.ApplyPluginsType.compose,initialValue(){const Fs={useStream:!0,routes:ni,routeComponents:Qi,pluginManager:Bn,mountElementId:"root",rootElement:Ma.rootElement||document.getElementById("root"),loadingComponent:tn,publicPath:Hu,runtimePublicPath:Su,history:ga,historyType:Aa,basename:oa,__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{pureApp:!1,pureHtml:!1},callback:Ma.callback},ua=Bn.applyPlugins({key:"modifyClientRenderOpts",type:Tn.ApplyPluginsType.modify,initialValue:Fs});return Qc(ua)}})()})}Au(),typeof window!="undefined"&&(window.g_umi={version:"4.6.24"})})()})(); +(`+a+": "+x+")",u.name="ChunkLoadError",u.type=a,u.request=x,l[1](u)}};__webpack_require__.l(f,h,"chunk-"+r,r)}};var g=function(r,i){var l=i[0],c=i[1],f=i[2],u,h,o=0;if(l.some(function(x){return d[x]!==0})){for(u in c)__webpack_require__.o(c,u)&&(__webpack_require__.m[u]=c[u]);if(f)var a=f(__webpack_require__)}for(r&&r(i);o0&&arguments[0]!==void 0?arguments[0]:"";return Bn.endsWith("/")?Bn:"".concat(Bn,"/")}var yc=__webpack_require__(38127),bc=__webpack_require__(38329),Yu=__webpack_require__(8616),gl=["content"],Mu=["content"],Vc=/^(http:|https:)?\/\//;function Fu(Bn){return Vc.test(Bn)||Bn.startsWith("/")&&!Bn.startsWith("/*")||Bn.startsWith("./")||Bn.startsWith("../")}var xc=function(){return Te.createElement("noscript",{dangerouslySetInnerHTML:{__html:"Enable JavaScript to run this app."}})},ul=function(ni){var Qi,Ma=ni.loaderData,oa=ni.htmlPageOpts,Aa=ni.manifest,ga=(Aa==null||(Qi=Aa.assets)===null||Qi===void 0?void 0:Qi["umi.css"])||"";return Te.createElement("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:"window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(Ma||{}),"; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(oa||{}),"; window.__UMI_BUILD_ClIENT_CSS__ = '").concat(ga,"'")}})};function Xu(Bn){var ni=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof Bn=="string")return Fu(Bn)?(0,bo.Z)({src:Bn},ni):{content:Bn};if((0,Yu.Z)(Bn)==="object")return(0,bo.Z)((0,bo.Z)({},Bn),ni);throw new Error("Invalid script type: ".concat((0,Yu.Z)(Bn)))}function kf(Bn){return Fu(Bn)?{type:"link",href:Bn}:{type:"style",content:Bn}}var yu=function(ni){var Qi,Ma,oa,Aa,ga,Fs,ua=ni.htmlPageOpts;return Te.createElement(Te.Fragment,null,(ua==null?void 0:ua.title)&&Te.createElement("title",null,ua.title),ua==null||(Qi=ua.favicons)===null||Qi===void 0?void 0:Qi.map(function(Bs,Ju){return Te.createElement("link",{key:Ju,rel:"shortcut icon",href:Bs})}),(ua==null?void 0:ua.description)&&Te.createElement("meta",{name:"description",content:ua.description}),(ua==null||(Ma=ua.keywords)===null||Ma===void 0?void 0:Ma.length)&&Te.createElement("meta",{name:"keywords",content:ua.keywords.join(",")}),ua==null||(oa=ua.metas)===null||oa===void 0?void 0:oa.map(function(Bs){return Te.createElement("meta",{key:Bs.name,name:Bs.name,property:Bs.property,content:Bs.content})}),ua==null||(Aa=ua.links)===null||Aa===void 0?void 0:Aa.map(function(Bs,Ju){return Te.createElement("link",(0,bc.Z)({key:Ju},Bs))}),ua==null||(ga=ua.styles)===null||ga===void 0?void 0:ga.map(function(Bs,Ju){var cl=kf(Bs),yl=cl.type,el=cl.href,$l=cl.content;if(yl==="link")return Te.createElement("link",{key:Ju,rel:"stylesheet",href:el});if(yl==="style")return Te.createElement("style",{key:Ju},$l)}),ua==null||(Fs=ua.headScripts)===null||Fs===void 0?void 0:Fs.map(function(Bs,Ju){var cl=Xu(Bs),yl=cl.content,el=(0,yc.Z)(cl,gl);return Te.createElement("script",(0,bc.Z)({dangerouslySetInnerHTML:{__html:yl},key:Ju},el))}))};function Ul(Bn){var ni,Qi=Bn.children,Ma=Bn.loaderData,oa=Bn.manifest,Aa=Bn.htmlPageOpts,ga=Bn.__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Fs=Bn.mountElementId;if(ga!=null&&ga.pureHtml)return Te.createElement("html",null,Te.createElement("head",null,Te.createElement(yu,{htmlPageOpts:Aa})),Te.createElement("body",null,Te.createElement(xc,null),Te.createElement("div",{id:Fs},Qi),Te.createElement(ul,{manifest:oa,loaderData:Ma,htmlPageOpts:Aa})));if(ga!=null&&ga.pureApp)return Te.createElement(Te.Fragment,null,Qi);var ua=typeof window=="undefined"?oa==null?void 0:oa.assets["umi.css"]:window.__UMI_BUILD_ClIENT_CSS__;return Te.createElement("html",{suppressHydrationWarning:!0,lang:(Aa==null?void 0:Aa.lang)||"en"},Te.createElement("head",null,Te.createElement("meta",{charSet:"utf-8"}),Te.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),ua&&Te.createElement("link",{suppressHydrationWarning:!0,rel:"stylesheet",href:ua}),Te.createElement(yu,{htmlPageOpts:Aa})),Te.createElement("body",null,Te.createElement(xc,null),Te.createElement("div",{id:Fs},Qi),Te.createElement(ul,{manifest:oa,loaderData:Ma,htmlPageOpts:Aa}),Aa==null||(ni=Aa.scripts)===null||ni===void 0?void 0:ni.map(function(Bs,Ju){var cl=Xu(Bs),yl=cl.content,el=(0,yc.Z)(cl,Mu);return Te.createElement("script",(0,bc.Z)({dangerouslySetInnerHTML:{__html:yl},key:Ju},el))})))}var Sl=Te.createContext(void 0);function Yc(){return Te.useContext(Sl)}var wc=["redirect"];function ec(Bn){var ni=Bn.routesById,Qi=Bn.parentId,Ma=Bn.routeComponents,oa=Bn.useStream,Aa=oa===void 0?!0:oa;return Object.keys(ni).filter(function(ga){return ni[ga].parentId===Qi}).map(function(ga){var Fs=Rf((0,bo.Z)((0,bo.Z)({route:ni[ga],routeComponent:Ma[ga],loadingComponent:Bn.loadingComponent,reactRouter5Compat:Bn.reactRouter5Compat},Bn.reactRouter5Compat&&{hasChildren:Object.keys(ni).filter(function(Bs){return ni[Bs].parentId===ga}).length>0}),{},{useStream:Aa})),ua=ec({routesById:ni,routeComponents:Ma,parentId:Fs.id,loadingComponent:Bn.loadingComponent,reactRouter5Compat:Bn.reactRouter5Compat,useStream:Aa});return ua.length>0&&(Fs.children=ua,Fs.routes=ua),Fs})}function zl(Bn){var ni=(0,Lu.UO)(),Qi=(0,Lu.Gn)(Bn.to,ni),Ma=(0,Jl.T$)(),oa=(0,Lu.TH)();if(Ma!=null&&Ma.keepQuery){var Aa=oa.search+oa.hash;Qi+=Aa}var ga=(0,bo.Z)((0,bo.Z)({},Bn),{},{to:Qi});return Te.createElement(Lu.Fg,(0,bc.Z)({replace:!0},ga))}function Rf(Bn){var ni=Bn.route,Qi=Bn.useStream,Ma=Qi===void 0?!0:Qi,oa=ni.redirect,Aa=(0,yc.Z)(ni,wc),ga=Bn.reactRouter5Compat?tc:kc;return(0,bo.Z)({element:oa?Te.createElement(zl,{to:oa}):Te.createElement(Sl.Provider,{value:{route:Bn.route}},Te.createElement(ga,{loader:Te.memo(Bn.routeComponent),loadingComponent:Bn.loadingComponent||yf,hasChildren:Bn.hasChildren,useStream:Ma}))},Aa)}function yf(){return Te.createElement("div",null)}function tc(Bn){var ni=Yc(),Qi=ni.route,Ma=(0,Jl.Ov)(),oa=Ma.history,Aa=Ma.clientRoutes,ga=(0,Lu.UO)(),Fs={params:ga,isExact:!0,path:Qi.path,url:oa.location.pathname},ua=Bn.loader,Bs={location:oa.location,match:Fs,history:oa,params:ga,route:Qi,routes:Aa};return Bn.useStream?Te.createElement(Te.Suspense,{fallback:Te.createElement(Bn.loadingComponent,null)},Te.createElement(ua,Bs,Bn.hasChildren&&Te.createElement(Lu.j3,null))):Te.createElement(ua,Bs,Bn.hasChildren&&Te.createElement(Lu.j3,null))}function kc(Bn){var ni=Bn.loader;return Bn.useStream?Te.createElement(Te.Suspense,{fallback:Te.createElement(Bn.loadingComponent,null)},Te.createElement(ni,null)):Te.createElement(ni,null)}var Zl=null;function Lf(){return Zl}function Xc(Bn){var ni=Bn.history,Qi=Te.useState({action:ni.action,location:ni.location}),Ma=(0,Ru.Z)(Qi,2),oa=Ma[0],Aa=Ma[1];return(0,Te.useLayoutEffect)(function(){return ni.listen(Aa)},[ni]),(0,Te.useLayoutEffect)(function(){function ga(Fs){Bn.pluginManager.applyPlugins({key:"onRouteChange",type:"event",args:{routes:Bn.routes,clientRoutes:Bn.clientRoutes,location:Fs.location,action:Fs.action,basename:Bn.basename,isFirst:!!Fs.isFirst}})}return ga({location:oa.location,action:oa.action,isFirst:!0}),ni.listen(ga)},[ni,Bn.routes,Bn.clientRoutes]),Te.createElement(Lu.F0,{navigator:ni,location:oa.location,basename:Bn.basename},Bn.children)}function Qu(){var Bn=(0,Jl.Ov)(),ni=Bn.clientRoutes;return(0,Lu.V$)(ni)}var Ec=["innerProvider","i18nProvider","accessProvider","dataflowProvider","outerProvider","rootContainer"],Sc=function(ni,Qi){var Ma=ni.basename||"/",oa=ec({routesById:ni.routes,routeComponents:ni.routeComponents,loadingComponent:ni.loadingComponent,reactRouter5Compat:ni.reactRouter5Compat,useStream:ni.useStream});ni.pluginManager.applyPlugins({key:"patchClientRoutes",type:"event",args:{routes:oa}});for(var Aa=Te.createElement(Xc,{basename:Ma,pluginManager:ni.pluginManager,routes:ni.routes,clientRoutes:oa,history:ni.history},Qi),ga=0,Fs=Ec;ganew Promise((Ma,oa)=>{var Aa=ua=>{try{Fs(Qi.next(ua))}catch(Bs){oa(Bs)}},ga=ua=>{try{Fs(Qi.throw(ua))}catch(Bs){oa(Bs)}},Fs=ua=>ua.done?Ma(ua.value):Promise.resolve(ua.value).then(Aa,ga);Fs((Qi=Qi.apply(Bn,ni)).next())});function P(){return Rc(this,null,function*(){return{routes:{1:{path:"/",parentId:"@@/global-layout",id:"1"},2:{path:"/paperlibrary",parentId:"1",id:"2"},3:{path:"/paperlibrary",parentId:"2",id:"3"},4:{path:"/paperlibrary/add",parentId:"2",id:"4"},5:{path:"/paperlibrary/add/:id",parentId:"2",id:"5"},6:{path:"/paperlibrary/see/:id",parentId:"2",id:"6"},7:{path:"/paperlibrary/edit_select/:id",parentId:"2",id:"7"},8:{path:"/paperlibrary/exchangequestion",parentId:"2",id:"8"},9:{path:"/paths",parentId:"1",id:"9"},10:{path:"/paths",parentId:"9",id:"10"},11:{path:"/paths/higherVocationalEducation",parentId:"9",id:"11"},12:{path:"/paths/new",parentId:"9",id:"12"},13:{path:"/paths/guidance",exact:!0,parentId:"9",id:"13"},14:{path:"/paths/:pathId",parentId:"9",id:"14"},15:{path:"/paths/:pathId/statistics",parentId:"9",id:"15"},16:{path:"/paths/:pathId/edit",parentId:"9",id:"16"},17:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/add",parentId:"9",id:"17"},18:{path:"/paths/:pathId/:stageId/program_homework/:categoryId/edit",parentId:"9",id:"18"},19:{path:"/classrooms",parentId:"1",id:"19"},20:{path:"/classrooms",parentId:"19",id:"20"},21:{path:"/classrooms/examList",parentId:"19",id:"21"},22:{path:"/classrooms/classicCases",parentId:"19",id:"22"},23:{path:"/classrooms/index",parentId:"19",id:"23"},24:{path:"/classrooms/new",parentId:"19",id:"24"},25:{path:"/classrooms/:coursesId/edit",parentId:"19",id:"25"},26:{path:"/classrooms/news/:subjectid/newgold/:id",parentId:"19",id:"26"},27:{path:"/classrooms/:coursesId/newgolds/settings",parentId:"19",id:"27"},28:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/review_detail/:userId",parentId:"19",id:"28"},29:{path:"/classrooms/:coursesId/common_homework/:categoryId/review_detail/:userId",parentId:"19",id:"29"},30:{path:"/classrooms/:coursesId/program_homework/:categoryId/review_detail/:userId",parentId:"19",id:"30"},31:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/detail",parentId:"19",id:"31"},32:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"32"},33:{path:"/classrooms/:coursesId/common_homework/:categoryId/:homeworkId/comment",parentId:"19",id:"33"},34:{path:"/classrooms/:coursesId/shixun_homework/:categoryId/:homeworkId/commitsummary",parentId:"19",id:"34"},35:{path:"/classrooms/:coursesId/group_homework/:categoryId/detail",parentId:"19",id:"35"},36:{path:"/classrooms/:coursesId/common_homework/:categoryId/detail",parentId:"19",id:"36"},37:{path:"/classrooms/:coursesId/common_homework/:categoryId/review/:userId",parentId:"19",id:"37"},38:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/review/:userId",parentId:"19",id:"38"},39:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/post",parentId:"19",id:"39"},40:{path:"/classrooms/:coursesId/group_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"40"},41:{path:"/classrooms/:coursesId/exercise/:categoryId/detail/:userId/review_detail",parentId:"19",id:"41"},42:{path:"/classrooms/:coursesId/exercise/:categoryId/detail",parentId:"19",id:"42"},43:{path:"/classrooms/:coursesId/exercise/:categoryId/preview_select",parentId:"19",id:"43"},44:{path:"/classrooms/:coursesId/exercise/:categoryId/:login/initate_answer",parentId:"19",id:"44"},45:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login",parentId:"19",id:"45"},46:{path:"/classrooms/:coursesId/exercise/:categoryId/wrongAnswer/:login",parentId:"19",id:"46"},47:{path:"/classrooms/:coursesId/exercisenotice/:categoryId/users/:login",parentId:"19",id:"47"},48:{path:"/classrooms/:coursesId/exercise/:categoryId/random/edit",parentId:"19",id:"48"},49:{path:"/classrooms/:coursesId/exercise/:categoryId/random/preview",parentId:"19",id:"49"},50:{path:"/classrooms/:coursesId/exercise/add",parentId:"19",id:"50"},51:{path:"/classrooms/:coursesId/exercise/add/:exerciseId",parentId:"19",id:"51"},52:{path:"/classrooms/:coursesId/exercise/:exerciseId/reviews/group",parentId:"19",id:"52"},53:{path:"/classrooms/:coursesId/exercise/:exerciseId/review/:userId",parentId:"19",id:"53"},54:{path:"/classrooms/:coursesId/exercise/:exerciseId/centralizeReview/:userId",parentId:"19",id:"54"},55:{path:"/classrooms/:coursesId/exercise/:exerciseId/export_blank",parentId:"19",id:"55"},56:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup",parentId:"19",id:"56"},57:{path:"/classrooms/:coursesId/exercise/:exerciseId/sumup/edit",parentId:"19",id:"57"},58:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId",parentId:"19",id:"58"},59:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId",parentId:"19",id:"59"},60:{path:"/classrooms/:coursesId/exercise/:exerciseId/analysis/:studentId/code",parentId:"19",id:"60"},61:{path:"/classrooms/:coursesId/shixun_homework/:exerciseId/analysis/:studentId/code",parentId:"19",id:"61"},62:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/detail",parentId:"19",id:"62"},63:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/add",parentId:"19",id:"63"},64:{path:"/classrooms/:coursesId/graduation_topics/:categoryId/edit",parentId:"19",id:"64"},65:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/add",parentId:"19",id:"65"},66:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/edit",parentId:"19",id:"66"},67:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId/detail",parentId:"19",id:"67"},68:{path:"/classrooms/:coursesId/common_homework/:categoryId/add",parentId:"19",id:"68"},69:{path:"/classrooms/:coursesId/common_homework/:categoryId/edit",parentId:"19",id:"69"},70:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/post",parentId:"19",id:"70"},71:{path:"/classrooms/:coursesId/common_homework/:commonHomeworkId/:homeworkId/edit",parentId:"19",id:"71"},72:{path:"/classrooms/:coursesId/group_homework/:categoryId/add",parentId:"19",id:"72"},73:{path:"/classrooms/:coursesId/group_homework/:categoryId/edit",parentId:"19",id:"73"},74:{path:"/classrooms/:coursesId/poll/:categoryId/add",parentId:"19",id:"74"},75:{path:"/classrooms/:coursesId/poll/:categoryId/edit",parentId:"19",id:"75"},76:{path:"/classrooms/:coursesId/poll/:categoryId/detail",parentId:"19",id:"76"},77:{path:"/classrooms/:coursesId/poll/:categoryId/users/:login",parentId:"19",id:"77"},78:{path:"/classrooms/:coursesId/poll/:categoryId/questionnaireInfo/:login",parentId:"19",id:"78"},79:{path:"/classrooms/:coursesId/board/:categoryId/Add",parentId:"19",id:"79"},80:{path:"/classrooms/:coursesId/board/:categoryId/Edit/:boardId",parentId:"19",id:"80"},81:{path:"/classrooms/:coursesId/board/:categoryId/Detail/:boardId",parentId:"19",id:"81"},82:{path:"/classrooms/:courseId/template/:templateId",parentId:"19",id:"82"},83:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report/:reportId",parentId:"19",id:"83"},84:{path:"/classrooms/guidance",parentId:"19",id:"84"},85:{path:"/classrooms/:courseId/common_homework/:homeworkId/lab-report-view/:workId",parentId:"19",id:"85"},86:{path:"/classrooms/:coursesId/exercise/:categoryId/users/:login/check",parentId:"19",id:"86"},87:{path:"/classrooms/:coursesId/Studentdetail/:login",parentId:"19",id:"87"},88:{path:"/classrooms/:coursesId/StudentSituation/:categoryId/:login",parentId:"19",id:"88"},89:{path:"/classrooms/:coursesId/engineering/datail",parentId:"19",id:"89"},90:{path:"/classrooms/:coursesId/program_homework/:categoryId/add",parentId:"19",id:"90"},91:{path:"/classrooms/:coursesId/program_homework/:categoryId/edit",parentId:"19",id:"91"},92:{path:"/classrooms/:coursesId/program_homework/ranking",parentId:"19",id:"92"},93:{path:"/classrooms/:coursesId/program_homework/:categoryId/detail",parentId:"19",id:"93"},94:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/ranking",parentId:"19",id:"94"},95:{path:"/classrooms/:coursesId/program_homework/:categoryId/:homeworkId/:user_id/comment",parentId:"19",id:"95"},96:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer",parentId:"19",id:"96"},97:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/add",parentId:"19",id:"97"},98:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/edit",parentId:"19",id:"98"},99:{path:"/classrooms/:coursesId/program_homework/:categoryId/answer/:answerid/detail",parentId:"19",id:"99"},100:{path:"/classrooms/:videoId/video_info",parentId:"19",id:"100"},101:{path:"/classrooms/",parentId:"19",id:"101"},102:{path:"/classrooms/:coursesId/shixun_homework/:categoryId",parentId:"101",id:"102"},103:{path:"/classrooms/:coursesId/shixun_homework",parentId:"101",id:"103"},104:{path:"/classrooms/:coursesId/graduation_topics/:categoryId",parentId:"101",id:"104"},105:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"101",id:"105"},106:{path:"/classrooms/:coursesId/graduation_tasks/:categoryId",parentId:"101",id:"106"},107:{path:"/classrooms/:coursesId/exercise/:categoryId",parentId:"101",id:"107"},108:{path:"/classrooms/:coursesId/exercise",parentId:"101",id:"108"},109:{path:"/classrooms/:coursesId/poll/:categoryId",parentId:"101",id:"109"},110:{path:"/classrooms/:coursesId/poll",parentId:"101",id:"110"},111:{path:"/classrooms/:coursesId/common_homework/:categoryId",parentId:"101",id:"111"},112:{path:"/classrooms/:coursesId/common_homework",parentId:"101",id:"112"},113:{path:"/classrooms/:coursesId/group_homework/:categoryId",parentId:"101",id:"113"},114:{path:"/classrooms/:coursesId/group_homework",parentId:"101",id:"114"},115:{path:"/classrooms/:coursesId/teachers",parentId:"101",id:"115"},116:{path:"/classrooms/:coursesId/students",parentId:"101",id:"116"},117:{path:"/classrooms/:coursesId/assistant",parentId:"101",id:"117"},118:{path:"/classrooms/:coursesId/program_homework",parentId:"101",id:"118"},119:{path:"/classrooms/:coursesId/program_homework/:categoryId",parentId:"101",id:"119"},120:{path:"/classrooms/:coursesId/engineering",parentId:"101",id:"120"},121:{path:"/classrooms/:coursesId/learning_path",parentId:"101",id:"121"},122:{path:"/classrooms/:coursesId/resource_recommend",parentId:"101",id:"122"},123:{path:"/classrooms/:coursesId/attendance",parentId:"101",id:"123"},124:{path:"/classrooms/:coursesId/attendance/StudetnSign",parentId:"101",id:"124"},125:{path:"/classrooms/:coursesId/attendance/:categoryId/:tabId/detail",parentId:"101",id:"125"},126:{path:"/classrooms/:coursesId/announcement",parentId:"101",id:"126"},127:{path:"/classrooms/:coursesId/announcement/:categoryId",parentId:"101",id:"127"},128:{path:"/classrooms/:coursesId/online_learning",parentId:"101",id:"128"},129:{path:"/classrooms/:coursesId/online_learning/:categoryId",parentId:"101",id:"129"},130:{path:"/classrooms/:coursesId/attachment/:categoryId",parentId:"101",id:"130"},131:{path:"/classrooms/:coursesId/attachment",parentId:"101",id:"131"},132:{path:"/classrooms/:coursesId/video",parentId:"101",id:"132"},133:{path:"/classrooms/:coursesId/video/:categoryId",parentId:"101",id:"133"},134:{path:"/classrooms/:coursesId/video/:categoryId/statistics",parentId:"101",id:"134"},135:{path:"/classrooms/:coursesId/video/:username/upload",parentId:"101",id:"135"},136:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId",parentId:"101",id:"136"},137:{path:"/classrooms/:coursesId/video/:categoryId/statistics/:videoId/:userId",parentId:"101",id:"137"},138:{path:"/classrooms/:coursesId/live_video/:categoryId",parentId:"101",id:"138"},139:{path:"/classrooms/:coursesId/live_video",parentId:"101",id:"139"},140:{path:"/classrooms/:coursesId/video/:categoryId/studentstatistics",parentId:"101",id:"140"},141:{path:"/classrooms/:coursesId/board/:categoryId",parentId:"101",id:"141"},142:{path:"/classrooms/:coursesId/board",parentId:"101",id:"142"},143:{path:"/classrooms/:coursesId/course_group",parentId:"101",id:"143"},144:{path:"/classrooms/:coursesId/course_group/:categoryId",parentId:"101",id:"144"},145:{path:"/classrooms/:coursesId/course_group/:categoryId/detail",parentId:"101",id:"145"},146:{path:"/classrooms/:coursesId/not_course_group/:categoryId",parentId:"101",id:"146"},147:{path:"/classrooms/:coursesId/not_course_group",parentId:"101",id:"147"},148:{path:"/classrooms/:coursesId/statistics/",parentId:"101",id:"148"},149:{path:"/classrooms/:coursesId/statistics/:categoryId",parentId:"101",id:"149"},150:{path:"/classrooms/:coursesId/statistics_video/:categoryId",parentId:"101",id:"150"},151:{path:"/classrooms/:coursesId/statistics_quality/:categoryId",parentId:"101",id:"151"},152:{path:"/classrooms/:coursesId/statistics_user_portrait/:categoryId",parentId:"101",id:"152"},153:{path:"/classrooms/:coursesId/student_statistics/:categoryId",parentId:"101",id:"153"},154:{path:"/classrooms/:coursesId/student_statistics/:categoryId/:listId/:type",parentId:"101",id:"154"},155:{path:"/classrooms/:coursesId/video_statistics/:categoryId/Student/:studentid",parentId:"101",id:"155"},156:{path:"/classrooms/:coursesId/exportlist/:type",parentId:"101",id:"156"},157:{path:"/classrooms/:coursesId",parentId:"101",id:"157"},158:{path:"/classrooms/:coursesId/template",parentId:"101",id:"158"},159:{path:"/competitions",parentId:"1",id:"159"},160:{path:"/competitions/index",parentId:"159",id:"160"},161:{path:"/competitions/:identifier/list",parentId:"159",id:"161"},162:{path:"/competitions/exports",parentId:"159",id:"162"},163:{path:"/competitions",parentId:"159",id:"163"},164:{path:"/competitions/:identifier",parentId:"159",id:"164"},165:{path:"/competitions/index/:identifier",parentId:"159",id:"165"},166:{path:"/competitions/:identifier/detail/enroll",parentId:"159",id:"166"},167:{path:"/competitions/:identifier/detail/UpdateTeanname/:Teannameid",parentId:"159",id:"167"},168:{path:"/competitions/:identifier/detail/teamDetail/:Teamid",parentId:"159",id:"168"},169:{path:"/competitions/detail/:identifier",parentId:"159",id:"169"},170:{path:"/forums",parentId:"1",id:"170"},171:{path:"/forums",parentId:"170",id:"171"},172:{path:"/forums/categories/:memoType",parentId:"170",id:"172"},173:{path:"/forums/new",parentId:"170",id:"173"},174:{path:"/forums/:memoId/edit",parentId:"170",id:"174"},175:{path:"/forums/:memoId",parentId:"170",id:"175"},176:{path:"/problemset",parentId:"1",id:"176"},177:{path:"/problemset",parentId:"176",id:"177"},178:{path:"/problemset/newitem",parentId:"176",id:"178"},179:{path:"/problemset/:type/:id",parentId:"176",id:"179"},180:{path:"/problemset/preview",parentId:"176",id:"180"},181:{path:"/problemset/preview_new",parentId:"176",id:"181"},182:{path:"/problemset/preview_select",parentId:"176",id:"182"},183:{path:"/shixuns",parentId:"1",id:"183"},184:{path:"/shixuns",parentId:"183",id:"184"},185:{path:"/shixuns/exports",parentId:"183",id:"185"},186:{path:"/shixuns/new",parentId:"183",id:"186"},187:{path:"/shixuns/new/CreateImg",parentId:"183",id:"187"},188:{path:"/shixuns/new/:id/imagepreview",parentId:"183",id:"188"},189:{path:"/shixuns/:id/Merge",parentId:"183",id:"189"},190:{path:"/shixuns/:id/Split",parentId:"183",id:"190"},191:{path:"/shixuns/:id/edit",parentId:"183",id:"191"},192:{path:"shixuns/:id/edit/warehouse",parentId:"191",id:"192"},193:{path:"/shixuns/:id/edit/newquestion",parentId:"191",id:"193"},194:{path:"/shixuns/:id/edit/:challengesId/editquestion",parentId:"191",id:"194"},195:{path:"/shixuns/:id/edit/:challengesId/editquestion/:questionId",parentId:"191",id:"195"},196:{path:"/shixuns/:id/edit/new",parentId:"191",id:"196"},197:{path:"/shixuns/:id/edit/:challengesId/editcheckpoint",parentId:"191",id:"197"},198:{path:"/shixuns/:id/edit/:challengesId/tab=2",parentId:"191",id:"198"},199:{path:"/shixuns/:id/edit/:challengesId/tab=3",parentId:"191",id:"199"},200:{path:"/shixuns/:id/edit/:challengesId/tab=4",parentId:"191",id:"200"},201:{path:"/shixuns/:id",parentId:"183",id:"201"},202:{path:"/shixuns/:id/challenges",parentId:"201",id:"202"},203:{path:"/shixuns/:id/repository",parentId:"201",id:"203"},204:{path:"/shixuns/:id/secret_repository",parentId:"201",id:"204"},205:{path:"/shixuns/:id/collaborators",parentId:"201",id:"205"},206:{path:"/shixuns/:id/dataset",parentId:"201",id:"206"},207:{path:"/shixuns/:id/dataset/jupyterEdit",parentId:"201",id:"207"},208:{path:"/shixuns/:id/shixun_discuss",parentId:"201",id:"208"},209:{path:"/shixuns/:id/ranking_list",parentId:"201",id:"209"},210:{path:"/shixuns/:id/settings",parentId:"201",id:"210"},211:{path:"/shixuns/:id/repository/:repoId/commits",parentId:"201",id:"211"},212:{path:"/shixuns/:id/secret_repository/:repoId/commits",parentId:"201",id:"212"},213:{path:"/shixuns/:id/repository/upload_file",parentId:"201",id:"213"},214:{path:"/shixuns/:id/secret_repository/upload_file",parentId:"201",id:"214"},215:{path:"/shixuns/:id/repository/add_file",parentId:"201",id:"215"},216:{path:"/shixuns/:id/secret_repository/add_file",parentId:"201",id:"216"},217:{path:"/shixuns/:id/repository/master/shixun_show/:fileId",exact:!1,parentId:"201",id:"217"},218:{path:"/shixuns/:id/secret_repository/master/shixun_show/:fileId",exact:!1,parentId:"201",id:"218"},219:{path:"/shixuns/:id/audit_situation",parentId:"201",id:"219"},220:{path:"/shixuns/:id/fork_list",parentId:"201",id:"220"},221:{path:"/shixuns/:id/skill_tags",parentId:"201",id:"221"},222:{path:"/users",parentId:"1",id:"222"},223:{path:"/users/:username/videos/protocol",parentId:"222",id:"223"},224:{path:"/users/:username/videos/resourceProtocol",parentId:"222",id:"224"},225:{path:"/users/:username/videos/success",parentId:"222",id:"225"},226:{path:"/users/:username/topicbank/:topicstype",parentId:"222",id:"226"},227:{path:"/users/:username/topics/:topicId/:topictype/normal/detail",parentId:"222",id:"227"},228:{path:"/users/:username/topics/:topicId/:topictype/group/detail",parentId:"222",id:"228"},229:{path:"/users/:username/topics/:topicId/:topictype/normal/edit",parentId:"222",id:"229"},230:{path:"/users/:username/topics/:topicId/:topictype/group/edit",parentId:"222",id:"230"},231:{path:"/users/:username/topics/:topicId/:topictype/exercise/edit",parentId:"222",id:"231"},232:{path:"/users/:username/topics/:topicId/:topictype/exercise/detail",parentId:"222",id:"232"},233:{path:"/users/:username/topics/:topicId/:topictype/poll/edit",parentId:"222",id:"233"},234:{path:"/users/:username/topics/:topicId/:topictype/poll/detail",parentId:"222",id:"234"},235:{path:"/users/:username/devicegroup/edit/:id",parentId:"222",id:"235"},236:{path:"/users/:username/deviceInfo/reservationInfo/:id",parentId:"222",id:"236"},237:{path:"/users/:username/devicegroup/addgroup",parentId:"222",id:"237"},238:{path:"/users/:username/experiment-img/add",parentId:"222",id:"238"},239:{path:"/users/:username",parentId:"222",id:"239"},240:{path:"/users/:username",parentId:"239",id:"240"},241:{path:"/users/:username/baseInfo/edit",parentId:"239",id:"241"},242:{path:"/users/:username/baseInfo",parentId:"239",id:"242"},243:{path:"/users/:username/realNameCertification",parentId:"239",id:"243"},244:{path:"/users/:username/careerCertification",parentId:"239",id:"244"},245:{path:"/users/:username/classrooms",parentId:"239",id:"245"},246:{path:"/users/:username/shixuns",parentId:"239",id:"246"},247:{path:"/users/:username/dataSet",parentId:"239",id:"247"},248:{path:"/users/:username/userPortrait",parentId:"239",id:"248"},249:{path:"/users/:username/learningPath",parentId:"239",id:"249"},250:{path:"/users/:username/teach-group",parentId:"239",id:"250"},251:{path:"/users/:username/competitions",parentId:"239",id:"251"},252:{path:"/users/:username/experiment-img",parentId:"239",id:"252"},253:{path:"/users/:username/experiment-img/:experid/detail",parentId:"239",id:"253"},254:{path:"/users/:username/certificate",parentId:"239",id:"254"},255:{path:"/users/:username/otherResources",parentId:"239",id:"255"},256:{path:"/users/:username/classmanagement",parentId:"239",id:"256"},257:{path:"/users/:username/classmanagement/:couserid",parentId:"239",id:"257"},258:{path:"/users/:username/paths",parentId:"239",id:"258"},259:{path:"/users/:username/devicegroup",parentId:"239",id:"259"},260:{path:"/users/:username/projects",parentId:"239",id:"260"},261:{path:"/users/:username/videos",parentId:"239",id:"261"},262:{path:"/users/:username/videos/upload",parentId:"239",id:"262"},263:{path:"/users/:username/topics/:topicstype",parentId:"239",id:"263"},264:{path:"/users/:username/vspaces",parentId:"239",id:"264"},265:{path:"/users/:username/resourcesCenter",parentId:"239",id:"265"},266:{path:"/users/:username/resourcesCenter/:id/detail",parentId:"239",id:"266"},267:{path:"/users/:username/resourceGuarantee",parentId:"239",id:"267"},268:{path:"/users/:username/resourceAllocation",parentId:"239",id:"268"},269:{parentId:"1",id:"269"},270:{path:"/problems",parentId:"269",id:"270"},271:{path:"/problems",parentId:"270",id:"271"},272:{path:"/problems/batchAdd",parentId:"270",id:"272"},273:{path:"/problems/newcreate",parentId:"269",id:"273"},274:{path:"/problems/newedit/:id",exact:!0,parentId:"269",id:"274"},275:{path:"/problems/:id/edit",exact:!0,parentId:"269",id:"275"},276:{path:"/problems/new",exact:!0,parentId:"269",id:"276"},277:{path:"/problems/:id/oj/:save_identifier",parentId:"269",id:"277"},278:{path:"/problems/:id/record-detail/:submitId",parentId:"269",id:"278"},279:{path:"/problems/add",parentId:"269",id:"279"},280:{path:"/problems/:id/ojedit",parentId:"269",id:"280"},281:{path:"/engineering",parentId:"1",id:"281"},282:{path:"/engineering",parentId:"281",id:"282"},283:{path:"/engineering/teacherList",parentId:"282",id:"283"},284:{path:"/engineering/studentList",parentId:"282",id:"284"},285:{path:"/engineering/training/program",parentId:"282",id:"285"},286:{path:"/engineering/training/program/add",parentId:"282",id:"286"},287:{path:"/engineering/training/program/edit",parentId:"282",id:"287"},288:{path:"/engineering/training/objectives",parentId:"282",id:"288"},289:{path:"/engineering/graduated/index",parentId:"282",id:"289"},290:{path:"/engineering/graduated/matrix",parentId:"282",id:"290"},291:{path:"/engineering/course/list",parentId:"282",id:"291"},292:{path:"/engineering/course/setting",parentId:"282",id:"292"},293:{path:"/engineering/course/matrix",parentId:"282",id:"293"},294:{path:"/engineering/navigation",parentId:"282",id:"294"},295:{path:"/engineering/evaluate/course",parentId:"282",id:"295"},296:{path:"/engineering/evaluate/course/:ec_year_id/:id",parentId:"282",id:"296"},297:{path:"/engineering/evaluate/norm",parentId:"282",id:"297"},298:{path:"/engineering/evaluate/document",parentId:"282",id:"298"},299:{path:"/engineering/evaluate/norm/:ec_year_id/:id",parentId:"282",id:"299"},300:{path:"/engineering/*",redirect:"/404",parentId:"282",id:"300"},301:{path:"/innovation",parentId:"1",id:"301"},302:{path:"/innovation/tasks/:taskId",parentId:"301",id:"302"},303:{path:"/innovation",parentId:"301",id:"303"},304:{path:"/innovation/project",parentId:"303",id:"304"},305:{path:"/innovation/dataset",parentId:"303",id:"305"},306:{path:"/innovation/mirror",parentId:"303",id:"306"},307:{path:"/innovation/my-project",parentId:"303",id:"307"},308:{path:"/innovation/my-dataset",parentId:"303",id:"308"},309:{path:"/innovation/my-mirror",parentId:"303",id:"309"},310:{path:"/innovation/project/create",parentId:"303",id:"310"},311:{path:"/innovation/project/edit/:id",parentId:"303",id:"311"},312:{path:"/innovation/project/detail/:taskId",parentId:"303",id:"312"},313:{path:"/tasks",parentId:"1",id:"313"},314:{path:"/tasks/:taskId",exact:!0,parentId:"313",id:"314"},315:{path:"/tasks/:identifier/jupyter/",exact:!0,parentId:"313",id:"315"},316:{path:"/tasks/:courseId/:homeworkId/:taskId",exact:!0,parentId:"313",id:"316"},317:{path:"/tasks/jupyter/:courseId/:homeworkId/:identifier",exact:!0,parentId:"313",id:"317"},318:{path:"/tasks/:courseId/:exerciseId/:taskId/exercise",exact:!0,parentId:"313",id:"318"},319:{path:"/myproblems",parentId:"1",id:"319"},320:{path:"/myproblems/:id/record-detail/:submitId",exact:!0,parentId:"319",id:"320"},321:{path:"/myproblems/:id",exact:!0,parentId:"319",id:"321"},322:{path:"/account",parentId:"1",id:"322"},323:{path:"/account",parentId:"322",id:"323"},324:{path:"/account/profile",parentId:"323",id:"324"},325:{path:"/account/profile/edit",parentId:"323",id:"325"},326:{path:"/account/certification",parentId:"323",id:"326"},327:{path:"/account/secure",parentId:"323",id:"327"},328:{path:"/account/binding",parentId:"323",id:"328"},329:{path:"/account/Results",parentId:"323",id:"329"},330:{path:"/ch",parentId:"1",id:"330"},331:{path:"/ch/rest/edit/:categoryId/:id",exact:!0,parentId:"330",id:"331"},332:{path:"/ch/rest/",exact:!0,parentId:"330",id:"332"},333:{path:"/ch/rest/:id",exact:!0,parentId:"330",id:"333"},334:{path:"/order",parentId:"1",id:"334"},335:{path:"/order",parentId:"334",id:"335"},336:{path:"/order/invoice",parentId:"334",id:"336"},337:{path:"/order/records",parentId:"334",id:"337"},338:{path:"/order/apply",parentId:"334",id:"338"},339:{path:"/order/view",parentId:"334",id:"339"},340:{path:"/order/:courseId/information",parentId:"334",id:"340"},341:{path:"/order/:courseId/pay",parentId:"334",id:"341"},342:{path:"/order/:orderNum/result",parentId:"334",id:"342"},343:{path:"/messages",parentId:"1",id:"343"},344:{path:"/messages/:userId/user_tidings",parentId:"343",id:"344"},345:{path:"/messages/:userId/private_messages",parentId:"343",id:"345"},346:{path:"/messages/:userId/message_detail",parentId:"343",id:"346"},347:{path:"/vtrs",parentId:"1",id:"347"},348:{path:"/vtrs/:virtual_spacesId",parentId:"347",id:"348"},349:{path:"/vtrs/:virtual_spacesId",exact:!0,parentId:"348",id:"349"},350:{path:"/vtrs/:virtual_spacesId/workplace",exact:!0,parentId:"348",id:"350"},351:{path:"/vtrs/:virtual_spacesId/experiment",parentId:"348",id:"351"},352:{path:"/vtrs/:virtual_spacesId/announcement",parentId:"348",id:"352"},353:{path:"/vtrs/:virtual_spacesId/announcement/add",parentId:"348",id:"353"},354:{path:"/vtrs/:virtual_spacesId/announcement/:id/edit",parentId:"348",id:"354"},355:{path:"/vtrs/:virtual_spacesId/announcement/:id/detail",parentId:"348",id:"355"},356:{path:"/vtrs/:virtual_spacesId/survey",parentId:"348",id:"356"},357:{path:"/vtrs/:virtual_spacesId/survey/:id/detail",parentId:"348",id:"357"},358:{path:"/vtrs/:virtual_spacesId/knowledge",parentId:"348",id:"358"},359:{path:"/vtrs/:virtual_spacesId/knowledge/add",parentId:"348",id:"359"},360:{path:"/vtrs/:virtual_spacesId/knowledge/:id/edit",parentId:"348",id:"360"},361:{path:"/vtrs/:virtual_spacesId/material",parentId:"348",id:"361"},362:{path:"/vtrs/:virtual_spacesId/material/:id/detail",parentId:"348",id:"362"},363:{path:"/vtrs/:virtual_spacesId/lesson",parentId:"348",id:"363"},364:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail",parentId:"348",id:"364"},365:{path:"/vtrs/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"348",id:"365"},366:{path:"/vtrs/:virtual_spacesId/discussion",parentId:"348",id:"366"},367:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail",parentId:"348",id:"367"},368:{path:"/vtrs/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"348",id:"368"},369:{path:"/vtrs/:virtual_spacesId/settings",parentId:"348",id:"369"},370:{path:"/vtrs/:virtual_spacesId/resources",parentId:"348",id:"370"},371:{path:"/vtrs/:virtual_spacesId/resources/:id/detail",parentId:"348",id:"371"},372:{path:"/vtrs/:virtual_spacesId/Plan",parentId:"348",id:"372"},373:{path:"/vtrs/:virtual_spacesId/plan/:id/detail",parentId:"348",id:"373"},374:{path:"/vtrs/:virtual_spacesId/digtal",parentId:"348",id:"374"},375:{path:"/vtrs/:virtual_spacesId/homepage",parentId:"348",id:"375"},376:{path:"/vtrs/:virtual_spacesId/*",parentId:"348",id:"376"},377:{path:"/101",parentId:"1",id:"377"},378:{path:"/101/:virtual_spacesId",parentId:"377",id:"378"},379:{path:"/101/:virtual_spacesId",exact:!0,parentId:"378",id:"379"},380:{path:"/101/:virtual_spacesId/workplace",exact:!0,parentId:"378",id:"380"},381:{path:"/101/:virtual_spacesId/experiment",parentId:"378",id:"381"},382:{path:"/101/:virtual_spacesId/announcement",parentId:"378",id:"382"},383:{path:"/101/:virtual_spacesId/announcement/add",parentId:"378",id:"383"},384:{path:"/101/:virtual_spacesId/announcement/:id/edit",parentId:"378",id:"384"},385:{path:"/101/:virtual_spacesId/announcement/:id/detail",parentId:"378",id:"385"},386:{path:"/101/:virtual_spacesId/survey",parentId:"378",id:"386"},387:{path:"/101/:virtual_spacesId/survey/:id/detail",parentId:"378",id:"387"},388:{path:"/101/:virtual_spacesId/knowledge",parentId:"378",id:"388"},389:{path:"/101/:virtual_spacesId/knowledge/add",parentId:"378",id:"389"},390:{path:"/101/:virtual_spacesId/knowledge/:id/edit",parentId:"378",id:"390"},391:{path:"/101/:virtual_spacesId/material",parentId:"378",id:"391"},392:{path:"/101/:virtual_spacesId/material/:id/detail",parentId:"378",id:"392"},393:{path:"/101/:virtual_spacesId/lesson",parentId:"378",id:"393"},394:{path:"/101/:virtual_spacesId/lesson/:id/detail",parentId:"378",id:"394"},395:{path:"/101/:virtual_spacesId/lesson/:id/detail/:fileid",parentId:"378",id:"395"},396:{path:"/101/:virtual_spacesId/discussion",parentId:"378",id:"396"},397:{path:"/101/:virtual_spacesId/discussion/:id/detail",parentId:"378",id:"397"},398:{path:"/101/:virtual_spacesId/discussion/:id/detail/:fileid",parentId:"378",id:"398"},399:{path:"/101/:virtual_spacesId/settings",parentId:"378",id:"399"},400:{path:"/101/:virtual_spacesId/resources",parentId:"378",id:"400"},401:{path:"/101/:virtual_spacesId/resources/:id/detail",parentId:"378",id:"401"},402:{path:"/101/:virtual_spacesId/Plan",parentId:"378",id:"402"},403:{path:"/101/:virtual_spacesId/plan/:id/detail",parentId:"378",id:"403"},404:{path:"/101/:virtual_spacesId/digtal",parentId:"378",id:"404"},405:{path:"/101/:virtual_spacesId/homepage",parentId:"378",id:"405"},406:{path:"/101/:virtual_spacesId/*",parentId:"378",id:"406"},407:{path:"/administration",parentId:"1",id:"407"},408:{path:"/administration",parentId:"407",id:"408"},409:{path:"/administration/college",parentId:"408",id:"409"},410:{path:"/administration/student",parentId:"408",id:"410"},411:{path:"/administration/student/:studentId/edit",parentId:"408",id:"411"},412:{path:"/administration/profession",parentId:"408",id:"412"},413:{path:"/graduations",parentId:"1",id:"413"},414:{path:"/graduations",exact:!0,parentId:"413",id:"414"},415:{path:"/graduations/:id/:moduleKey/:moduleId/review/:itemId",exact:!0,parentId:"413",id:"415"},416:{path:"/graduations/:id",parentId:"413",id:"416"},417:{path:"/graduations/:id/index",parentId:"416",id:"417"},418:{path:"/graduations/:id/topics",parentId:"416",id:"418"},419:{path:"/graduations/:id/student_selection",parentId:"416",id:"419"},420:{path:"/graduations/:id/tasks",parentId:"416",id:"420"},421:{path:"/graduations/:id/opening_report",parentId:"416",id:"421"},422:{path:"/graduations/:id/midterm_report",parentId:"416",id:"422"},423:{path:"/graduations/:id/thesis",parentId:"416",id:"423"},424:{path:"/graduations/:id/final_defense",parentId:"416",id:"424"},425:{path:"/graduations/:id/final_thesis",parentId:"416",id:"425"},426:{path:"/graduations/:id/settings",parentId:"416",id:"426"},427:{path:"/graduations/:id/teachers",parentId:"416",id:"427"},428:{path:"/graduations/:id/students",parentId:"416",id:"428"},429:{path:"/graduations/:id/archives",parentId:"416",id:"429"},430:{path:"/graduations/:id/grading_summary",parentId:"416",id:"430"},431:{path:"/dataset",parentId:"1",id:"431"},432:{path:"/dataset",exact:!0,parentId:"431",id:"432"},433:{path:"/dataset/:id/detail",exact:!0,parentId:"431",id:"433"},434:{path:"/knowledgegraph",parentId:"1",id:"434"},435:{path:"/knowledgegraph",parentId:"434",id:"435"},436:{path:"/knowledgegraph/:pathId/sanD",parentId:"434",id:"436"},437:{path:"/knowledgegraph/:pathId",parentId:"434",id:"437"},438:{path:"/knowledgegraph/:pathId/abilityMap/edit/:abilityMapId",parentId:"434",id:"438"},439:{path:"/knowledgegraph/:pathId/abilityMap/detail/:abilityId",parentId:"434",id:"439"},440:{path:"/knowledgegraph/:pathId/statistics",parentId:"434",id:"440"},441:{parentId:"434",id:"441"},442:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId",parentId:"441",id:"442"},443:{path:"/knowledgegraph/:pathId/statistics/learningpath/:learningpathId/detail/:detailId",parentId:"441",id:"443"},444:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId",parentId:"441",id:"444"},445:{path:"/knowledgegraph/:pathId/statistics/pathatlas/:learningpathId/detail",parentId:"441",id:"445"},446:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId",parentId:"441",id:"446"},447:{path:"/knowledgegraph/:pathId/statistics/abilitymap/:learningpathId/detail/:detailId",parentId:"441",id:"447"},448:{path:"/deviceOperationMonitoring",parentId:"1",id:"448"},449:{path:"/deviceOperationMonitoring",parentId:"448",id:"449"},450:{path:"/onlineDevice",parentId:"1",id:"450"},451:{path:"/onlineDevice",redirect:"/onlineDevice/deviceInfo",parentId:"450",id:"451"},452:{path:"/onlineDevice/deviceInfo",parentId:"450",id:"452"},453:{path:"/onlineDevice/deviceInfo",redirect:"/onlineDevice/deviceInfo/manage",parentId:"452",id:"453"},454:{path:"/onlineDevice/deviceInfo/manage",parentId:"452",id:"454"},455:{path:"/onlineDevice/deviceInfo/deviceDetails/:id/:flag",parentId:"452",id:"455"},456:{path:"/onlineDevice/deviceInfo/deviceEdit/:id",parentId:"452",id:"456"},457:{path:"/onlineDevice/deviceInfo/reservationInfo/:id",parentId:"452",id:"457"},458:{path:"/onlineDevice/deviceLabel",parentId:"450",id:"458"},459:{path:"/onlineDevice/deviceType",parentId:"450",id:"459"},460:{path:"/onlineDevice/deviceType",redirect:"/onlineDevice/deviceType/manage",parentId:"459",id:"460"},461:{path:"/onlineDevice/deviceType/manage",parentId:"459",id:"461"},462:{path:"/onlineDevice/deviceType/deviceTypeDetails/:id",parentId:"459",id:"462"},463:{path:"/onlineDevice/faultlibrary",parentId:"450",id:"463"},464:{path:"/onlineDevice/digitalsigns",parentId:"450",id:"464"},465:{path:"/onlineReservation",parentId:"1",id:"465"},466:{path:"/onlineReservation",redirect:"/onlineReservation/reservationInfo",parentId:"465",id:"466"},467:{path:"/onlineReservation/reservationInfo",parentId:"465",id:"467"},468:{path:"/onlineReservation/reservationInfo",redirect:"/onlineReservation/reservationInfo/reservationInfo/false",parentId:"467",id:"468"},469:{path:"/onlineReservation/reservationInfo/reservationInfo/:flag",parentId:"467",id:"469"},470:{path:"/onlineMessageCenter",parentId:"1",id:"470"},471:{path:"/onlineMessageCenter",redirect:"/onlineMessageCenter/messageCenterManage",parentId:"470",id:"471"},472:{path:"/onlineMessageCenter/messageCenterManage",parentId:"470",id:"472"},473:{path:"/onlineMessageCenter/offSiteConfig",parentId:"470",id:"473"},474:{path:"/onlineProperty",parentId:"1",id:"474"},475:{path:"/onlineProperty",redirect:"/onlineProperty/property",parentId:"474",id:"475"},476:{path:"/onlineProperty/property",parentId:"474",id:"476"},477:{path:"/onlineProperty/procurement/:id",parentId:"474",id:"477"},478:{path:"/laboratoryList",parentId:"1",id:"478"},479:{path:"/laboratoryList",parentId:"478",id:"479"},480:{path:"/newlogin",parentId:"1",id:"480"},481:{path:"/onlinenum",parentId:"1",id:"481"},482:{path:"/onlinenum",parentId:"481",id:"482"},483:{path:"/shixuncontext",parentId:"1",id:"483"},484:{path:"/shixuncontext",parentId:"483",id:"484"},485:{path:"/shixuncontext/:Id/detail",parentId:"483",id:"485"},486:{path:"/educoder-demo",exact:!0,parentId:"1",id:"486"},487:{path:"/training",parentId:"1",id:"487"},488:{name:"\u7CBE\u57F9\u8BFE\u7A0B",path:"/training",parentId:"487",id:"488"},489:{path:"/effectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"489"},490:{path:"/studentEffectivenessAnalysis/:coursesId",exact:!0,parentId:"1",id:"490"},491:{path:"/largeScreen",exact:!0,parentId:"1",id:"491"},492:{path:"/quality",parentId:"1",id:"492"},493:{name:"\u7CBE\u54C1\u8BFE\u7A0B",path:"/quality",parentId:"492",id:"493"},494:{path:"/otherlogin",exact:!0,parentId:"1",id:"494"},495:{path:"/otherloginqq",exact:!0,parentId:"1",id:"495"},496:{path:"/otherloginstart",exact:!0,parentId:"1",id:"496"},497:{path:"/pathsoverview",exact:!0,parentId:"1",id:"497"},498:{path:"/shixunsoverview",exact:!0,parentId:"1",id:"498"},499:{path:"/classroomsoverview",exact:!0,parentId:"1",id:"499"},500:{path:"/login",parentId:"1",id:"500"},501:{path:"/login",parentId:"500",id:"501"},502:{path:"/user",parentId:"1",id:"502"},503:{path:"/user/login",parentId:"502",id:"503"},504:{path:"/user/register",parentId:"502",id:"504"},505:{path:"/user/reset-password",parentId:"502",id:"505"},506:{path:"/colleges",parentId:"1",id:"506"},507:{path:"/colleges/:id/statistics",parentId:"506",id:"507"},508:{path:"/help",parentId:"1",id:"508"},509:{path:"/help/:id",parentId:"508",id:"509"},510:{path:"/video",parentId:"1",id:"510"},511:{path:"/video/:videoId",parentId:"510",id:"511"},512:{path:"/terminal",parentId:"1",id:"512"},513:{path:"/report/:taskId/:game_report_id",parentId:"1",id:"513"},514:{path:"/statsDashboard",parentId:"1",id:"514"},515:{path:"/reservation",parentId:"1",id:"515"},516:{path:"/reservation/list",parentId:"515",id:"516"},517:{path:"/reservationDetail",parentId:"1",id:"517"},518:{path:"/reservationDetail/:id",parentId:"517",id:"518"},519:{path:"/",parentId:"1",id:"519"},520:{path:"/",exact:!0,parentId:"519",id:"520"},521:{path:"/api/*",exact:!0,parentId:"519",id:"521"},522:{path:"/search",exact:!0,parentId:"519",id:"522"},523:{path:"/moop_cases",exact:!0,parentId:"519",id:"523"},524:{path:"/moop_cases/new",exact:!0,parentId:"519",id:"524"},525:{path:"/moop_cases/:caseId",exact:!0,parentId:"519",id:"525"},526:{path:"/moop_cases/:caseId/edit",exact:!0,parentId:"519",id:"526"},527:{path:"/moop_cases/:caseId/publish-success",exact:!0,parentId:"519",id:"527"},528:{path:"/randompaper",exact:!0,parentId:"519",id:"528"},529:{path:"/randompaper/edit/:id",exact:!0,parentId:"519",id:"529"},530:{path:"/randompaper/detail/:id",exact:!0,parentId:"519",id:"530"},531:{path:"/403",parentId:"519",id:"531"},532:{path:"/500",parentId:"519",id:"532"},533:{path:"/404",parentId:"519",id:"533"},534:{path:"/download",parentId:"519",id:"534"},535:{path:"/iwce",parentId:"519",id:"535"},536:{path:"/classrooms/:coursesId/attendance/TeacherSign",parentId:"519",id:"536"},537:{path:"/classrooms/:coursesId/attendance/:categoryId",parentId:"519",id:"537"},538:{path:"/Activities",parentId:"519",id:"538"},539:{path:"/visualization",parentId:"519",id:"539"},540:{path:"/iwce/:itemname",parentId:"519",id:"540"},541:{path:"/hpc-course",parentId:"519",id:"541"},542:{path:"/user_agents",parentId:"519",id:"542"},543:{path:"/three",parentId:"519",id:"543"},544:{path:"/introduction",parentId:"519",id:"544"},545:{path:"/chatgpt",parentId:"519",id:"545"},546:{path:"/*",parentId:"519",id:"546"},"@@/global-layout":{id:"@@/global-layout",path:"/",isLayout:!0}},routeComponents:{1:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),2:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),3:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(32099)]).then(__webpack_require__.bind(__webpack_require__,68670))),4:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__,94403))),5:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(93260)]).then(__webpack_require__.bind(__webpack_require__,94403))),6:Te.lazy(()=>__webpack_require__.e(53247).then(__webpack_require__.bind(__webpack_require__,15661))),7:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),8:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(11545)]).then(__webpack_require__.bind(__webpack_require__,18511))),9:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),10:Te.lazy(()=>__webpack_require__.e(9906).then(__webpack_require__.bind(__webpack_require__,90032))),11:Te.lazy(()=>__webpack_require__.e(5572).then(__webpack_require__.bind(__webpack_require__,57888))),12:Te.lazy(()=>__webpack_require__.e(36080).then(__webpack_require__.bind(__webpack_require__,89105))),13:Te.lazy(()=>__webpack_require__.e(27901).then(__webpack_require__.bind(__webpack_require__,82309))),14:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17204),__webpack_require__.e(92281)]).then(__webpack_require__.bind(__webpack_require__,41524))),15:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(51651)]).then(__webpack_require__.bind(__webpack_require__,3740))),16:Te.lazy(()=>__webpack_require__.e(36080).then(__webpack_require__.bind(__webpack_require__,89105))),17:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),18:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),19:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),20:Te.lazy(()=>__webpack_require__.e(76789).then(__webpack_require__.bind(__webpack_require__,56690))),21:Te.lazy(()=>__webpack_require__.e(79921).then(__webpack_require__.bind(__webpack_require__,52726))),22:Te.lazy(()=>__webpack_require__.e(31674).then(__webpack_require__.bind(__webpack_require__,12308))),23:Te.lazy(()=>__webpack_require__.e(26685).then(__webpack_require__.bind(__webpack_require__,79296))),24:Te.lazy(()=>__webpack_require__.e(7323).then(__webpack_require__.bind(__webpack_require__,49447))),25:Te.lazy(()=>__webpack_require__.e(7323).then(__webpack_require__.bind(__webpack_require__,49447))),26:Te.lazy(()=>__webpack_require__.e(96882).then(__webpack_require__.bind(__webpack_require__,8043))),27:Te.lazy(()=>__webpack_require__.e(96882).then(__webpack_require__.bind(__webpack_require__,8043))),28:Te.lazy(()=>__webpack_require__.e(90109).then(__webpack_require__.bind(__webpack_require__,82347))),29:Te.lazy(()=>__webpack_require__.e(10737).then(__webpack_require__.bind(__webpack_require__,93841))),30:Te.lazy(()=>__webpack_require__.e(3391).then(__webpack_require__.bind(__webpack_require__,27728))),31:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(6004),__webpack_require__.e(35694)]).then(__webpack_require__.bind(__webpack_require__,1407))),32:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(55330)]).then(__webpack_require__.bind(__webpack_require__,24221))),33:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(12303)]).then(__webpack_require__.bind(__webpack_require__,60730))),34:Te.lazy(()=>__webpack_require__.e(71450).then(__webpack_require__.bind(__webpack_require__,87675))),35:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(10195)]).then(__webpack_require__.bind(__webpack_require__,38888))),36:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(93668)]).then(__webpack_require__.bind(__webpack_require__,87537))),37:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(52338)]).then(__webpack_require__.bind(__webpack_require__,86091))),38:Te.lazy(()=>__webpack_require__.e(14662).then(__webpack_require__.bind(__webpack_require__,61438))),39:Te.lazy(()=>__webpack_require__.e(28072).then(__webpack_require__.bind(__webpack_require__,57442))),40:Te.lazy(()=>__webpack_require__.e(60479).then(__webpack_require__.bind(__webpack_require__,58990))),41:Te.lazy(()=>__webpack_require__.e(85297).then(__webpack_require__.bind(__webpack_require__,16874))),42:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(90515),__webpack_require__.e(54164)]).then(__webpack_require__.bind(__webpack_require__,34742))),43:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),44:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(14889)]).then(__webpack_require__.bind(__webpack_require__,61292))),45:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(14105)]).then(__webpack_require__.bind(__webpack_require__,28643))),46:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(97883)]).then(__webpack_require__.bind(__webpack_require__,42126))),47:Te.lazy(()=>__webpack_require__.e(17482).then(__webpack_require__.bind(__webpack_require__,97439))),48:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),49:Te.lazy(()=>__webpack_require__.e(90337).then(__webpack_require__.bind(__webpack_require__,84151))),50:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,30968))),51:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(95373),__webpack_require__.e(292)]).then(__webpack_require__.bind(__webpack_require__,30968))),52:Te.lazy(()=>__webpack_require__.e(45992).then(__webpack_require__.bind(__webpack_require__,4030))),53:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__,47745))),54:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(78085)]).then(__webpack_require__.bind(__webpack_require__,47745))),55:Te.lazy(()=>__webpack_require__.e(48431).then(__webpack_require__.bind(__webpack_require__,80147))),56:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5902)]).then(__webpack_require__.bind(__webpack_require__,18957))),57:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(43433)]).then(__webpack_require__.bind(__webpack_require__,46820))),58:Te.lazy(()=>__webpack_require__.e(95125).then(__webpack_require__.bind(__webpack_require__,25966))),59:Te.lazy(()=>__webpack_require__.e(95125).then(__webpack_require__.bind(__webpack_require__,25966))),60:Te.lazy(()=>__webpack_require__.e(10921).then(__webpack_require__.bind(__webpack_require__,1195))),61:Te.lazy(()=>__webpack_require__.e(10921).then(__webpack_require__.bind(__webpack_require__,1195))),62:Te.lazy(()=>__webpack_require__.e(21578).then(__webpack_require__.bind(__webpack_require__,41927))),63:Te.lazy(()=>__webpack_require__.e(3317).then(__webpack_require__.bind(__webpack_require__,41487))),64:Te.lazy(()=>__webpack_require__.e(1482).then(__webpack_require__.bind(__webpack_require__,74551))),65:Te.lazy(()=>__webpack_require__.e(74795).then(__webpack_require__.bind(__webpack_require__,49830))),66:Te.lazy(()=>__webpack_require__.e(20026).then(__webpack_require__.bind(__webpack_require__,81497))),67:Te.lazy(()=>__webpack_require__.e(68882).then(__webpack_require__.bind(__webpack_require__,94578))),68:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(85888)]).then(__webpack_require__.bind(__webpack_require__,91357))),69:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(19715)]).then(__webpack_require__.bind(__webpack_require__,90584))),70:Te.lazy(()=>__webpack_require__.e(57045).then(__webpack_require__.bind(__webpack_require__,86685))),71:Te.lazy(()=>__webpack_require__.e(31211).then(__webpack_require__.bind(__webpack_require__,58225))),72:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(51582)]).then(__webpack_require__.bind(__webpack_require__,79528))),73:Te.lazy(()=>Promise.all([__webpack_require__.e(17204),__webpack_require__.e(16729)]).then(__webpack_require__.bind(__webpack_require__,50227))),74:Te.lazy(()=>Promise.all([__webpack_require__.e(5778),__webpack_require__.e(39695)]).then(__webpack_require__.bind(__webpack_require__,37043))),75:Te.lazy(()=>Promise.all([__webpack_require__.e(5778),__webpack_require__.e(28723)]).then(__webpack_require__.bind(__webpack_require__,53900))),76:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17622)]).then(__webpack_require__.bind(__webpack_require__,20420))),77:Te.lazy(()=>__webpack_require__.e(65148).then(__webpack_require__.bind(__webpack_require__,45976))),78:Te.lazy(()=>__webpack_require__.e(90643).then(__webpack_require__.bind(__webpack_require__,33016))),79:Te.lazy(()=>__webpack_require__.e(43442).then(__webpack_require__.bind(__webpack_require__,54822))),80:Te.lazy(()=>__webpack_require__.e(12102).then(__webpack_require__.bind(__webpack_require__,28357))),81:Te.lazy(()=>__webpack_require__.e(82425).then(__webpack_require__.bind(__webpack_require__,72345))),82:Te.lazy(()=>__webpack_require__.e(52404).then(__webpack_require__.bind(__webpack_require__,59372))),83:Te.lazy(()=>__webpack_require__.e(89785).then(__webpack_require__.bind(__webpack_require__,30856))),84:Te.lazy(()=>__webpack_require__.e(27901).then(__webpack_require__.bind(__webpack_require__,82309))),85:Te.lazy(()=>__webpack_require__.e(2819).then(__webpack_require__.bind(__webpack_require__,47879))),86:Te.lazy(()=>__webpack_require__.e(11512).then(__webpack_require__.bind(__webpack_require__,44738))),87:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(27395)]).then(__webpack_require__.bind(__webpack_require__,39752))),88:Te.lazy(()=>__webpack_require__.e(3585).then(__webpack_require__.bind(__webpack_require__,69476))),89:Te.lazy(()=>__webpack_require__.e(46963).then(__webpack_require__.bind(__webpack_require__,23054))),90:Te.lazy(()=>__webpack_require__.e(64030).then(__webpack_require__.bind(__webpack_require__,60655))),91:Te.lazy(()=>__webpack_require__.e(64030).then(__webpack_require__.bind(__webpack_require__,60655))),92:Te.lazy(()=>__webpack_require__.e(6127).then(__webpack_require__.bind(__webpack_require__,40018))),93:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(3951)]).then(__webpack_require__.bind(__webpack_require__,5693))),94:Te.lazy(()=>__webpack_require__.e(41048).then(__webpack_require__.bind(__webpack_require__,91751))),95:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(12884)]).then(__webpack_require__.bind(__webpack_require__,48895))),96:Te.lazy(()=>__webpack_require__.e(54770).then(__webpack_require__.bind(__webpack_require__,61681))),97:Te.lazy(()=>__webpack_require__.e(92603).then(__webpack_require__.bind(__webpack_require__,98116))),98:Te.lazy(()=>__webpack_require__.e(44216).then(__webpack_require__.bind(__webpack_require__,75436))),99:Te.lazy(()=>__webpack_require__.e(15319).then(__webpack_require__.bind(__webpack_require__,20560))),100:Te.lazy(()=>__webpack_require__.e(40895).then(__webpack_require__.bind(__webpack_require__,83622))),101:Te.lazy(()=>__webpack_require__.e(27322).then(__webpack_require__.bind(__webpack_require__,47634))),102:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(72203)]).then(__webpack_require__.bind(__webpack_require__,25585))),103:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(72203)]).then(__webpack_require__.bind(__webpack_require__,25585))),104:Te.lazy(()=>__webpack_require__.e(85048).then(__webpack_require__.bind(__webpack_require__,64114))),105:Te.lazy(()=>__webpack_require__.e(61043).then(__webpack_require__.bind(__webpack_require__,98726))),106:Te.lazy(()=>__webpack_require__.e(61043).then(__webpack_require__.bind(__webpack_require__,98726))),107:Te.lazy(()=>__webpack_require__.e(60921).then(__webpack_require__.bind(__webpack_require__,96163))),108:Te.lazy(()=>__webpack_require__.e(60921).then(__webpack_require__.bind(__webpack_require__,96163))),109:Te.lazy(()=>__webpack_require__.e(64297).then(__webpack_require__.bind(__webpack_require__,74435))),110:Te.lazy(()=>__webpack_require__.e(64297).then(__webpack_require__.bind(__webpack_require__,74435))),111:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(98458)]).then(__webpack_require__.bind(__webpack_require__,84007))),112:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(98458)]).then(__webpack_require__.bind(__webpack_require__,84007))),113:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(61798)]).then(__webpack_require__.bind(__webpack_require__,83394))),114:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(61798)]).then(__webpack_require__.bind(__webpack_require__,83394))),115:Te.lazy(()=>__webpack_require__.e(55177).then(__webpack_require__.bind(__webpack_require__,86202))),116:Te.lazy(()=>__webpack_require__.e(60201).then(__webpack_require__.bind(__webpack_require__,50159))),117:Te.lazy(()=>__webpack_require__.e(1477).then(__webpack_require__.bind(__webpack_require__,52820))),118:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(56282)]).then(__webpack_require__.bind(__webpack_require__,60342))),119:Te.lazy(()=>Promise.all([__webpack_require__.e(6004),__webpack_require__.e(56282)]).then(__webpack_require__.bind(__webpack_require__,60342))),120:Te.lazy(()=>__webpack_require__.e(31962).then(__webpack_require__.bind(__webpack_require__,34119))),121:Te.lazy(()=>__webpack_require__.e(54928).then(__webpack_require__.bind(__webpack_require__,29964))),122:Te.lazy(()=>__webpack_require__.e(91257).then(__webpack_require__.bind(__webpack_require__,31459))),123:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36732),__webpack_require__.e(97329)]).then(__webpack_require__.bind(__webpack_require__,43603))),124:Te.lazy(()=>__webpack_require__.e(98340).then(__webpack_require__.bind(__webpack_require__,35031))),125:Te.lazy(()=>__webpack_require__.e(34093).then(__webpack_require__.bind(__webpack_require__,6069))),126:Te.lazy(()=>__webpack_require__.e(56185).then(__webpack_require__.bind(__webpack_require__,76379))),127:Te.lazy(()=>__webpack_require__.e(56185).then(__webpack_require__.bind(__webpack_require__,76379))),128:Te.lazy(()=>__webpack_require__.e(68827).then(__webpack_require__.bind(__webpack_require__,22817))),129:Te.lazy(()=>__webpack_require__.e(68827).then(__webpack_require__.bind(__webpack_require__,22817))),130:Te.lazy(()=>__webpack_require__.e(51678).then(__webpack_require__.bind(__webpack_require__,8344))),131:Te.lazy(()=>__webpack_require__.e(51678).then(__webpack_require__.bind(__webpack_require__,8344))),132:Te.lazy(()=>__webpack_require__.e(71754).then(__webpack_require__.bind(__webpack_require__,29994))),133:Te.lazy(()=>__webpack_require__.e(71754).then(__webpack_require__.bind(__webpack_require__,29994))),134:Te.lazy(()=>__webpack_require__.e(64217).then(__webpack_require__.bind(__webpack_require__,78430))),135:Te.lazy(()=>__webpack_require__.e(6205).then(__webpack_require__.bind(__webpack_require__,72704))),136:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(60533)]).then(__webpack_require__.bind(__webpack_require__,6294))),137:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45798)]).then(__webpack_require__.bind(__webpack_require__,98365))),138:Te.lazy(()=>__webpack_require__.e(85466).then(__webpack_require__.bind(__webpack_require__,75270))),139:Te.lazy(()=>__webpack_require__.e(85466).then(__webpack_require__.bind(__webpack_require__,75270))),140:Te.lazy(()=>__webpack_require__.e(69944).then(__webpack_require__.bind(__webpack_require__,89353))),141:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(59406)]).then(__webpack_require__.bind(__webpack_require__,29744))),142:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(59406)]).then(__webpack_require__.bind(__webpack_require__,29744))),143:Te.lazy(()=>__webpack_require__.e(69039).then(__webpack_require__.bind(__webpack_require__,18727))),144:Te.lazy(()=>__webpack_require__.e(69039).then(__webpack_require__.bind(__webpack_require__,18727))),145:Te.lazy(()=>__webpack_require__.e(87922).then(__webpack_require__.bind(__webpack_require__,93837))),146:Te.lazy(()=>__webpack_require__.e(61727).then(__webpack_require__.bind(__webpack_require__,39510))),147:Te.lazy(()=>__webpack_require__.e(61727).then(__webpack_require__.bind(__webpack_require__,39510))),148:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__,70952))),149:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(31427)]).then(__webpack_require__.bind(__webpack_require__,70952))),150:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48689)]).then(__webpack_require__.bind(__webpack_require__,5857))),151:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(17806)]).then(__webpack_require__.bind(__webpack_require__,70961))),152:Te.lazy(()=>__webpack_require__.e(3276).then(__webpack_require__.bind(__webpack_require__,18503))),153:Te.lazy(()=>__webpack_require__.e(98885).then(__webpack_require__.bind(__webpack_require__,24801))),154:Te.lazy(()=>__webpack_require__.e(3451).then(__webpack_require__.bind(__webpack_require__,3826))),155:Te.lazy(()=>__webpack_require__.e(69922).then(__webpack_require__.bind(__webpack_require__,94552))),156:Te.lazy(()=>__webpack_require__.e(54572).then(__webpack_require__.bind(__webpack_require__,96323))),157:Te.lazy(()=>__webpack_require__.e(64017).then(__webpack_require__.bind(__webpack_require__,798))),158:Te.lazy(()=>__webpack_require__.e(15148).then(__webpack_require__.bind(__webpack_require__,45144))),159:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),160:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),161:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),162:Te.lazy(()=>__webpack_require__.e(44449).then(__webpack_require__.bind(__webpack_require__,78571))),163:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(87099)]).then(__webpack_require__.bind(__webpack_require__,12522))),164:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__,25562))),165:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(72570)]).then(__webpack_require__.bind(__webpack_require__,25562))),166:Te.lazy(()=>__webpack_require__.e(8787).then(__webpack_require__.bind(__webpack_require__,65792))),167:Te.lazy(()=>__webpack_require__.e(45650).then(__webpack_require__.bind(__webpack_require__,58718))),168:Te.lazy(()=>__webpack_require__.e(81799).then(__webpack_require__.bind(__webpack_require__,6963))),169:Te.lazy(()=>Promise.all([__webpack_require__.e(71229),__webpack_require__.e(8579)]).then(__webpack_require__.bind(__webpack_require__,2553))),170:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),171:Te.lazy(()=>__webpack_require__.e(28639).then(__webpack_require__.bind(__webpack_require__,46357))),172:Te.lazy(()=>__webpack_require__.e(4048).then(__webpack_require__.bind(__webpack_require__,5147))),173:Te.lazy(()=>__webpack_require__.e(74264).then(__webpack_require__.bind(__webpack_require__,76380))),174:Te.lazy(()=>__webpack_require__.e(74264).then(__webpack_require__.bind(__webpack_require__,76380))),175:Te.lazy(()=>__webpack_require__.e(80508).then(__webpack_require__.bind(__webpack_require__,34013))),176:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),177:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(67835)]).then(__webpack_require__.bind(__webpack_require__,22352))),178:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__,36266))),179:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41953)]).then(__webpack_require__.bind(__webpack_require__,36266))),180:Te.lazy(()=>__webpack_require__.e(11581).then(__webpack_require__.bind(__webpack_require__,31941))),181:Te.lazy(()=>__webpack_require__.e(64144).then(__webpack_require__.bind(__webpack_require__,63969))),182:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(14599)]).then(__webpack_require__.bind(__webpack_require__,99407))),183:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),184:Te.lazy(()=>__webpack_require__.e(8552).then(__webpack_require__.bind(__webpack_require__,41961))),185:Te.lazy(()=>__webpack_require__.e(7884).then(__webpack_require__.bind(__webpack_require__,95695))),186:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(75307)]).then(__webpack_require__.bind(__webpack_require__,27933))),187:Te.lazy(()=>__webpack_require__.e(65549).then(__webpack_require__.bind(__webpack_require__,62738))),188:Te.lazy(()=>__webpack_require__.e(99674).then(__webpack_require__.bind(__webpack_require__,93779))),189:Te.lazy(()=>__webpack_require__.e(55573).then(__webpack_require__.bind(__webpack_require__,55412))),190:Te.lazy(()=>__webpack_require__.e(2141).then(__webpack_require__.bind(__webpack_require__,63776))),191:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(39061),__webpack_require__.e(9511)]).then(__webpack_require__.bind(__webpack_require__,5101))),192:Te.lazy(()=>__webpack_require__.e(16328).then(__webpack_require__.bind(__webpack_require__,44773))),193:Te.lazy(()=>__webpack_require__.e(77857).then(__webpack_require__.bind(__webpack_require__,3495))),194:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__,80283))),195:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(41657)]).then(__webpack_require__.bind(__webpack_require__,80283))),196:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__,54979))),197:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(94498)]).then(__webpack_require__.bind(__webpack_require__,54979))),198:Te.lazy(()=>__webpack_require__.e(49205).then(__webpack_require__.bind(__webpack_require__,95349))),199:Te.lazy(()=>__webpack_require__.e(21423).then(__webpack_require__.bind(__webpack_require__,23761))),200:Te.lazy(()=>__webpack_require__.e(57614).then(__webpack_require__.bind(__webpack_require__,62966))),201:Te.lazy(()=>__webpack_require__.e(9449).then(__webpack_require__.bind(__webpack_require__,42132))),202:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(79814)]).then(__webpack_require__.bind(__webpack_require__,73529))),203:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36637)]).then(__webpack_require__.bind(__webpack_require__,82698))),204:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36637)]).then(__webpack_require__.bind(__webpack_require__,82698))),205:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(63581)]).then(__webpack_require__.bind(__webpack_require__,38953))),206:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(91993)]).then(__webpack_require__.bind(__webpack_require__,10442))),207:Te.lazy(()=>__webpack_require__.e(71475).then(__webpack_require__.bind(__webpack_require__,77866))),208:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48965)]).then(__webpack_require__.bind(__webpack_require__,50454))),209:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(86451)]).then(__webpack_require__.bind(__webpack_require__,37625))),210:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(39061),__webpack_require__.e(10518)]).then(__webpack_require__.bind(__webpack_require__,90365))),211:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15894)]).then(__webpack_require__.bind(__webpack_require__,53514))),212:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15894)]).then(__webpack_require__.bind(__webpack_require__,53514))),213:Te.lazy(()=>__webpack_require__.e(72130).then(__webpack_require__.bind(__webpack_require__,69167))),214:Te.lazy(()=>__webpack_require__.e(72130).then(__webpack_require__.bind(__webpack_require__,69167))),215:Te.lazy(()=>__webpack_require__.e(35230).then(__webpack_require__.bind(__webpack_require__,93004))),216:Te.lazy(()=>__webpack_require__.e(35230).then(__webpack_require__.bind(__webpack_require__,93004))),217:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__,79926))),218:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(98688)]).then(__webpack_require__.bind(__webpack_require__,79926))),219:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45096)]).then(__webpack_require__.bind(__webpack_require__,60704))),220:Te.lazy(()=>__webpack_require__.e(3086).then(__webpack_require__.bind(__webpack_require__,63504))),221:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(59417)]).then(__webpack_require__.bind(__webpack_require__,54137))),222:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),223:Te.lazy(()=>__webpack_require__.e(95176).then(__webpack_require__.bind(__webpack_require__,71654))),224:Te.lazy(()=>__webpack_require__.e(66587).then(__webpack_require__.bind(__webpack_require__,34812))),225:Te.lazy(()=>__webpack_require__.e(19891).then(__webpack_require__.bind(__webpack_require__,93191))),226:Te.lazy(()=>__webpack_require__.e(98062).then(__webpack_require__.bind(__webpack_require__,55759))),227:Te.lazy(()=>__webpack_require__.e(15402).then(__webpack_require__.bind(__webpack_require__,34735))),228:Te.lazy(()=>__webpack_require__.e(15402).then(__webpack_require__.bind(__webpack_require__,34735))),229:Te.lazy(()=>__webpack_require__.e(86820).then(__webpack_require__.bind(__webpack_require__,1604))),230:Te.lazy(()=>__webpack_require__.e(88517).then(__webpack_require__.bind(__webpack_require__,60300))),231:Te.lazy(()=>__webpack_require__.e(7043).then(__webpack_require__.bind(__webpack_require__,3836))),232:Te.lazy(()=>__webpack_require__.e(52806).then(__webpack_require__.bind(__webpack_require__,4780))),233:Te.lazy(()=>__webpack_require__.e(75043).then(__webpack_require__.bind(__webpack_require__,9374))),234:Te.lazy(()=>__webpack_require__.e(10799).then(__webpack_require__.bind(__webpack_require__,33966))),235:Te.lazy(()=>__webpack_require__.e(92932).then(__webpack_require__.bind(__webpack_require__,891))),236:Te.lazy(()=>__webpack_require__.e(71525).then(__webpack_require__.bind(__webpack_require__,2555))),237:Te.lazy(()=>__webpack_require__.e(69681).then(__webpack_require__.bind(__webpack_require__,46428))),238:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(63157)]).then(__webpack_require__.bind(__webpack_require__,31590))),239:Te.lazy(()=>__webpack_require__.e(68332).then(__webpack_require__.bind(__webpack_require__,56669))),240:Te.lazy(()=>__webpack_require__.e(66583).then(__webpack_require__.bind(__webpack_require__,77825))),241:Te.lazy(()=>__webpack_require__.e(98217).then(__webpack_require__.bind(__webpack_require__,865))),242:Te.lazy(()=>__webpack_require__.e(80879).then(__webpack_require__.bind(__webpack_require__,43655))),243:Te.lazy(()=>__webpack_require__.e(65776).then(__webpack_require__.bind(__webpack_require__,6901))),244:Te.lazy(()=>__webpack_require__.e(60906).then(__webpack_require__.bind(__webpack_require__,87536))),245:Te.lazy(()=>__webpack_require__.e(50900).then(__webpack_require__.bind(__webpack_require__,97560))),246:Te.lazy(()=>__webpack_require__.e(26682).then(__webpack_require__.bind(__webpack_require__,99445))),247:Te.lazy(()=>__webpack_require__.e(78115).then(__webpack_require__.bind(__webpack_require__,50241))),248:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(2659)]).then(__webpack_require__.bind(__webpack_require__,52494))),249:Te.lazy(()=>__webpack_require__.e(14610).then(__webpack_require__.bind(__webpack_require__,32258))),250:Te.lazy(()=>__webpack_require__.e(78479).then(__webpack_require__.bind(__webpack_require__,94035))),251:Te.lazy(()=>__webpack_require__.e(15800).then(__webpack_require__.bind(__webpack_require__,44644))),252:Te.lazy(()=>Promise.all([__webpack_require__.e(39061),__webpack_require__.e(42862)]).then(__webpack_require__.bind(__webpack_require__,68548))),253:Te.lazy(()=>__webpack_require__.e(28286).then(__webpack_require__.bind(__webpack_require__,93373))),254:Te.lazy(()=>__webpack_require__.e(65117).then(__webpack_require__.bind(__webpack_require__,11862))),255:Te.lazy(()=>__webpack_require__.e(17402).then(__webpack_require__.bind(__webpack_require__,59911))),256:Te.lazy(()=>__webpack_require__.e(21897).then(__webpack_require__.bind(__webpack_require__,25461))),257:Te.lazy(()=>__webpack_require__.e(8145).then(__webpack_require__.bind(__webpack_require__,42037))),258:Te.lazy(()=>__webpack_require__.e(70119).then(__webpack_require__.bind(__webpack_require__,18337))),259:Te.lazy(()=>__webpack_require__.e(5427).then(__webpack_require__.bind(__webpack_require__,34351))),260:Te.lazy(()=>__webpack_require__.e(4736).then(__webpack_require__.bind(__webpack_require__,13781))),261:Te.lazy(()=>__webpack_require__.e(12412).then(__webpack_require__.bind(__webpack_require__,33165))),262:Te.lazy(()=>__webpack_require__.e(42240).then(__webpack_require__.bind(__webpack_require__,99309))),263:Te.lazy(()=>__webpack_require__.e(5165).then(__webpack_require__.bind(__webpack_require__,69638))),264:Te.lazy(()=>__webpack_require__.e(83831).then(__webpack_require__.bind(__webpack_require__,74672))),265:Te.lazy(()=>__webpack_require__.e(93910).then(__webpack_require__.bind(__webpack_require__,34236))),266:Te.lazy(()=>__webpack_require__.e(57855).then(__webpack_require__.bind(__webpack_require__,30864))),267:Te.lazy(()=>__webpack_require__.e(9507).then(__webpack_require__.bind(__webpack_require__,55508))),268:Te.lazy(()=>__webpack_require__.e(1343).then(__webpack_require__.bind(__webpack_require__,36348))),269:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),270:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),271:Te.lazy(()=>__webpack_require__.e(29647).then(__webpack_require__.bind(__webpack_require__,26139))),272:Te.lazy(()=>__webpack_require__.e(10485).then(__webpack_require__.bind(__webpack_require__,62149))),273:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__,85686))),274:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34741)]).then(__webpack_require__.bind(__webpack_require__,85686))),275:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__,26638))),276:Te.lazy(()=>Promise.all([__webpack_require__.e(67424),__webpack_require__.e(34994)]).then(__webpack_require__.bind(__webpack_require__,26638))),277:Te.lazy(()=>__webpack_require__.e(77460).then(__webpack_require__.bind(__webpack_require__,54359))),278:Te.lazy(()=>__webpack_require__.e(49716).then(__webpack_require__.bind(__webpack_require__,53431))),279:Te.lazy(()=>__webpack_require__.e(86913).then(__webpack_require__.bind(__webpack_require__,741))),280:Te.lazy(()=>__webpack_require__.e(86913).then(__webpack_require__.bind(__webpack_require__,741))),281:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),282:Te.lazy(()=>__webpack_require__.e(13006).then(__webpack_require__.bind(__webpack_require__,35225))),283:Te.lazy(()=>__webpack_require__.e(92045).then(__webpack_require__.bind(__webpack_require__,55883))),284:Te.lazy(()=>__webpack_require__.e(11520).then(__webpack_require__.bind(__webpack_require__,56714))),285:Te.lazy(()=>__webpack_require__.e(59649).then(__webpack_require__.bind(__webpack_require__,84411))),286:Te.lazy(()=>__webpack_require__.e(84546).then(__webpack_require__.bind(__webpack_require__,29424))),287:Te.lazy(()=>__webpack_require__.e(75357).then(__webpack_require__.bind(__webpack_require__,60056))),288:Te.lazy(()=>__webpack_require__.e(68665).then(__webpack_require__.bind(__webpack_require__,77809))),289:Te.lazy(()=>__webpack_require__.e(73183).then(__webpack_require__.bind(__webpack_require__,13525))),290:Te.lazy(()=>__webpack_require__.e(34800).then(__webpack_require__.bind(__webpack_require__,87751))),291:Te.lazy(()=>__webpack_require__.e(79489).then(__webpack_require__.bind(__webpack_require__,94736))),292:Te.lazy(()=>__webpack_require__.e(39391).then(__webpack_require__.bind(__webpack_require__,88291))),293:Te.lazy(()=>__webpack_require__.e(95335).then(__webpack_require__.bind(__webpack_require__,42208))),294:Te.lazy(()=>__webpack_require__.e(92823).then(__webpack_require__.bind(__webpack_require__,69578))),295:Te.lazy(()=>__webpack_require__.e(4973).then(__webpack_require__.bind(__webpack_require__,70069))),296:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(66651)]).then(__webpack_require__.bind(__webpack_require__,57116))),297:Te.lazy(()=>__webpack_require__.e(26741).then(__webpack_require__.bind(__webpack_require__,28142))),298:Te.lazy(()=>__webpack_require__.e(45775).then(__webpack_require__.bind(__webpack_require__,70157))),299:Te.lazy(()=>__webpack_require__.e(62548).then(__webpack_require__.bind(__webpack_require__,24298))),300:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),301:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),302:Te.lazy(()=>__webpack_require__.e(86634).then(__webpack_require__.bind(__webpack_require__,23797))),303:Te.lazy(()=>__webpack_require__.e(20680).then(__webpack_require__.bind(__webpack_require__,73209))),304:Te.lazy(()=>__webpack_require__.e(26366).then(__webpack_require__.bind(__webpack_require__,90494))),305:Te.lazy(()=>__webpack_require__.e(86452).then(__webpack_require__.bind(__webpack_require__,74161))),306:Te.lazy(()=>__webpack_require__.e(11070).then(__webpack_require__.bind(__webpack_require__,5810))),307:Te.lazy(()=>__webpack_require__.e(67242).then(__webpack_require__.bind(__webpack_require__,34254))),308:Te.lazy(()=>__webpack_require__.e(22707).then(__webpack_require__.bind(__webpack_require__,31007))),309:Te.lazy(()=>__webpack_require__.e(12865).then(__webpack_require__.bind(__webpack_require__,16746))),310:Te.lazy(()=>__webpack_require__.e(36784).then(__webpack_require__.bind(__webpack_require__,34867))),311:Te.lazy(()=>__webpack_require__.e(36784).then(__webpack_require__.bind(__webpack_require__,34867))),312:Te.lazy(()=>__webpack_require__.e(83141).then(__webpack_require__.bind(__webpack_require__,48471))),313:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),314:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),315:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__,63099))),316:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),317:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(20700)]).then(__webpack_require__.bind(__webpack_require__,63099))),318:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(67880),__webpack_require__.e(90515),__webpack_require__.e(37289)]).then(__webpack_require__.bind(__webpack_require__,74804))),319:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),320:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(17527)]).then(__webpack_require__.bind(__webpack_require__,23410))),321:Te.lazy(()=>Promise.all([__webpack_require__.e(90515),__webpack_require__.e(36270)]).then(__webpack_require__.bind(__webpack_require__,25183))),322:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),323:Te.lazy(()=>__webpack_require__.e(60547).then(__webpack_require__.bind(__webpack_require__,82754))),324:Te.lazy(()=>__webpack_require__.e(59788).then(__webpack_require__.bind(__webpack_require__,67875))),325:Te.lazy(()=>__webpack_require__.e(20576).then(__webpack_require__.bind(__webpack_require__,40858))),326:Te.lazy(()=>__webpack_require__.e(87260).then(__webpack_require__.bind(__webpack_require__,44010))),327:Te.lazy(()=>__webpack_require__.e(64520).then(__webpack_require__.bind(__webpack_require__,40230))),328:Te.lazy(()=>__webpack_require__.e(89076).then(__webpack_require__.bind(__webpack_require__,58925))),329:Te.lazy(()=>__webpack_require__.e(14514).then(__webpack_require__.bind(__webpack_require__,51851))),330:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),331:Te.lazy(()=>__webpack_require__.e(70928).then(__webpack_require__.bind(__webpack_require__,25114))),332:Te.lazy(()=>__webpack_require__.e(31006).then(__webpack_require__.bind(__webpack_require__,23220))),333:Te.lazy(()=>__webpack_require__.e(31006).then(__webpack_require__.bind(__webpack_require__,23220))),334:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),335:Te.lazy(()=>__webpack_require__.e(21939).then(__webpack_require__.bind(__webpack_require__,80938))),336:Te.lazy(()=>__webpack_require__.e(556).then(__webpack_require__.bind(__webpack_require__,31918))),337:Te.lazy(()=>__webpack_require__.e(16434).then(__webpack_require__.bind(__webpack_require__,49291))),338:Te.lazy(()=>__webpack_require__.e(61880).then(__webpack_require__.bind(__webpack_require__,58747))),339:Te.lazy(()=>__webpack_require__.e(28237).then(__webpack_require__.bind(__webpack_require__,54351))),340:Te.lazy(()=>__webpack_require__.e(85111).then(__webpack_require__.bind(__webpack_require__,70459))),341:Te.lazy(()=>__webpack_require__.e(30264).then(__webpack_require__.bind(__webpack_require__,46924))),342:Te.lazy(()=>__webpack_require__.e(44259).then(__webpack_require__.bind(__webpack_require__,48436))),343:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),344:Te.lazy(()=>__webpack_require__.e(94078).then(__webpack_require__.bind(__webpack_require__,32727))),345:Te.lazy(()=>__webpack_require__.e(52829).then(__webpack_require__.bind(__webpack_require__,6717))),346:Te.lazy(()=>__webpack_require__.e(45359).then(__webpack_require__.bind(__webpack_require__,65593))),347:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),348:Te.lazy(()=>__webpack_require__.e(40559).then(__webpack_require__.bind(__webpack_require__,17857))),349:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),350:Te.lazy(()=>__webpack_require__.e(4757).then(__webpack_require__.bind(__webpack_require__,75169))),351:Te.lazy(()=>__webpack_require__.e(71783).then(__webpack_require__.bind(__webpack_require__,94823))),352:Te.lazy(()=>__webpack_require__.e(65816).then(__webpack_require__.bind(__webpack_require__,52497))),353:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),354:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),355:Te.lazy(()=>__webpack_require__.e(46796).then(__webpack_require__.bind(__webpack_require__,99329))),356:Te.lazy(()=>__webpack_require__.e(24504).then(__webpack_require__.bind(__webpack_require__,31484))),357:Te.lazy(()=>__webpack_require__.e(87058).then(__webpack_require__.bind(__webpack_require__,36116))),358:Te.lazy(()=>__webpack_require__.e(38447).then(__webpack_require__.bind(__webpack_require__,79682))),359:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),360:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),361:Te.lazy(()=>__webpack_require__.e(35238).then(__webpack_require__.bind(__webpack_require__,67096))),362:Te.lazy(()=>__webpack_require__.e(94715).then(__webpack_require__.bind(__webpack_require__,29536))),363:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(23873)]).then(__webpack_require__.bind(__webpack_require__,88154))),364:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),365:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),366:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(96265)]).then(__webpack_require__.bind(__webpack_require__,54842))),367:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),368:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),369:Te.lazy(()=>__webpack_require__.e(61713).then(__webpack_require__.bind(__webpack_require__,24969))),370:Te.lazy(()=>__webpack_require__.e(85891).then(__webpack_require__.bind(__webpack_require__,64665))),371:Te.lazy(()=>__webpack_require__.e(98398).then(__webpack_require__.bind(__webpack_require__,11127))),372:Te.lazy(()=>__webpack_require__.e(18241).then(__webpack_require__.bind(__webpack_require__,44172))),373:Te.lazy(()=>__webpack_require__.e(82339).then(__webpack_require__.bind(__webpack_require__,35213))),374:Te.lazy(()=>__webpack_require__.e(67589).then(__webpack_require__.bind(__webpack_require__,84150))),375:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),376:Te.lazy(()=>__webpack_require__.e(25705).then(__webpack_require__.bind(__webpack_require__,92167))),377:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),378:Te.lazy(()=>__webpack_require__.e(40559).then(__webpack_require__.bind(__webpack_require__,17857))),379:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),380:Te.lazy(()=>__webpack_require__.e(4757).then(__webpack_require__.bind(__webpack_require__,75169))),381:Te.lazy(()=>__webpack_require__.e(71783).then(__webpack_require__.bind(__webpack_require__,94823))),382:Te.lazy(()=>__webpack_require__.e(65816).then(__webpack_require__.bind(__webpack_require__,52497))),383:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),384:Te.lazy(()=>__webpack_require__.e(89677).then(__webpack_require__.bind(__webpack_require__,6425))),385:Te.lazy(()=>__webpack_require__.e(46796).then(__webpack_require__.bind(__webpack_require__,99329))),386:Te.lazy(()=>__webpack_require__.e(24504).then(__webpack_require__.bind(__webpack_require__,31484))),387:Te.lazy(()=>__webpack_require__.e(87058).then(__webpack_require__.bind(__webpack_require__,36116))),388:Te.lazy(()=>__webpack_require__.e(38447).then(__webpack_require__.bind(__webpack_require__,79682))),389:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),390:Te.lazy(()=>__webpack_require__.e(91045).then(__webpack_require__.bind(__webpack_require__,45271))),391:Te.lazy(()=>__webpack_require__.e(35238).then(__webpack_require__.bind(__webpack_require__,67096))),392:Te.lazy(()=>__webpack_require__.e(94715).then(__webpack_require__.bind(__webpack_require__,29536))),393:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(23873)]).then(__webpack_require__.bind(__webpack_require__,88154))),394:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),395:Te.lazy(()=>Promise.all([__webpack_require__.e(28580),__webpack_require__.e(86069)]).then(__webpack_require__.bind(__webpack_require__,43490))),396:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(96265)]).then(__webpack_require__.bind(__webpack_require__,54842))),397:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),398:Te.lazy(()=>Promise.all([__webpack_require__.e(38275),__webpack_require__.e(78563)]).then(__webpack_require__.bind(__webpack_require__,31433))),399:Te.lazy(()=>__webpack_require__.e(61713).then(__webpack_require__.bind(__webpack_require__,24969))),400:Te.lazy(()=>__webpack_require__.e(85891).then(__webpack_require__.bind(__webpack_require__,64665))),401:Te.lazy(()=>__webpack_require__.e(98398).then(__webpack_require__.bind(__webpack_require__,11127))),402:Te.lazy(()=>__webpack_require__.e(18241).then(__webpack_require__.bind(__webpack_require__,44172))),403:Te.lazy(()=>__webpack_require__.e(82339).then(__webpack_require__.bind(__webpack_require__,35213))),404:Te.lazy(()=>__webpack_require__.e(67589).then(__webpack_require__.bind(__webpack_require__,84150))),405:Te.lazy(()=>__webpack_require__.e(33747).then(__webpack_require__.bind(__webpack_require__,58092))),406:Te.lazy(()=>__webpack_require__.e(25705).then(__webpack_require__.bind(__webpack_require__,92167))),407:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),408:Te.lazy(()=>__webpack_require__.e(4766).then(__webpack_require__.bind(__webpack_require__,32572))),409:Te.lazy(()=>__webpack_require__.e(57560).then(__webpack_require__.bind(__webpack_require__,33208))),410:Te.lazy(()=>__webpack_require__.e(36029).then(__webpack_require__.bind(__webpack_require__,75029))),411:Te.lazy(()=>__webpack_require__.e(45179).then(__webpack_require__.bind(__webpack_require__,80506))),412:Te.lazy(()=>__webpack_require__.e(54621).then(__webpack_require__.bind(__webpack_require__,37383))),413:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),414:Te.lazy(()=>__webpack_require__.e(91831).then(__webpack_require__.bind(__webpack_require__,35104))),415:Te.lazy(()=>__webpack_require__.e(72539).then(__webpack_require__.bind(__webpack_require__,41681))),416:Te.lazy(()=>__webpack_require__.e(38143).then(__webpack_require__.bind(__webpack_require__,55473))),417:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(55624)]).then(__webpack_require__.bind(__webpack_require__,25217))),418:Te.lazy(()=>__webpack_require__.e(51461).then(__webpack_require__.bind(__webpack_require__,77106))),419:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(54492)]).then(__webpack_require__.bind(__webpack_require__,78013))),420:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(9416)]).then(__webpack_require__.bind(__webpack_require__,22230))),421:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),422:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),423:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),424:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),425:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(82443)]).then(__webpack_require__.bind(__webpack_require__,62132))),426:Te.lazy(()=>__webpack_require__.e(25022).then(__webpack_require__.bind(__webpack_require__,44480))),427:Te.lazy(()=>__webpack_require__.e(66063).then(__webpack_require__.bind(__webpack_require__,72803))),428:Te.lazy(()=>__webpack_require__.e(66063).then(__webpack_require__.bind(__webpack_require__,72803))),429:Te.lazy(()=>Promise.all([__webpack_require__.e(74902),__webpack_require__.e(47545)]).then(__webpack_require__.bind(__webpack_require__,37693))),430:Te.lazy(()=>__webpack_require__.e(11253).then(__webpack_require__.bind(__webpack_require__,89796))),431:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),432:Te.lazy(()=>__webpack_require__.e(12216).then(__webpack_require__.bind(__webpack_require__,33607))),433:Te.lazy(()=>__webpack_require__.e(15382).then(__webpack_require__.bind(__webpack_require__,73275))),434:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),435:Te.lazy(()=>__webpack_require__.e(24420).then(__webpack_require__.bind(__webpack_require__,79359))),436:Te.lazy(()=>__webpack_require__.e(96979).then(__webpack_require__.bind(__webpack_require__,16707))),437:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(13818),__webpack_require__.e(28823)]).then(__webpack_require__.bind(__webpack_require__,23122))),438:Te.lazy(()=>__webpack_require__.e(73685).then(__webpack_require__.bind(__webpack_require__,89915))),439:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(13818),__webpack_require__.e(92524)]).then(__webpack_require__.bind(__webpack_require__,12591))),440:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45915)]).then(__webpack_require__.bind(__webpack_require__,79944))),441:Te.lazy(()=>__webpack_require__.e(53589).then(__webpack_require__.bind(__webpack_require__,25936))),442:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(40919)]).then(__webpack_require__.bind(__webpack_require__,86725))),443:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(77042)]).then(__webpack_require__.bind(__webpack_require__,31943))),444:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(48137)]).then(__webpack_require__.bind(__webpack_require__,80485))),445:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(45985),__webpack_require__.e(64339)]).then(__webpack_require__.bind(__webpack_require__,28781))),446:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(19595)]).then(__webpack_require__.bind(__webpack_require__,86726))),447:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(53443)]).then(__webpack_require__.bind(__webpack_require__,95845))),448:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),449:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(29172)]).then(__webpack_require__.bind(__webpack_require__,88505))),450:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),451:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),452:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),453:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),454:Te.lazy(()=>__webpack_require__.e(76806).then(__webpack_require__.bind(__webpack_require__,82376))),455:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(30174)]).then(__webpack_require__.bind(__webpack_require__,18371))),456:Te.lazy(()=>__webpack_require__.e(97052).then(__webpack_require__.bind(__webpack_require__,36134))),457:Te.lazy(()=>__webpack_require__.e(77465).then(__webpack_require__.bind(__webpack_require__,27634))),458:Te.lazy(()=>__webpack_require__.e(8234).then(__webpack_require__.bind(__webpack_require__,43459))),459:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),460:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),461:Te.lazy(()=>__webpack_require__.e(37745).then(__webpack_require__.bind(__webpack_require__,50030))),462:Te.lazy(()=>__webpack_require__.e(48121).then(__webpack_require__.bind(__webpack_require__,93011))),463:Te.lazy(()=>__webpack_require__.e(24806).then(__webpack_require__.bind(__webpack_require__,73976))),464:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(3282)]).then(__webpack_require__.bind(__webpack_require__,37548))),465:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),466:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),467:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),468:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),469:Te.lazy(()=>__webpack_require__.e(57670).then(__webpack_require__.bind(__webpack_require__,13792))),470:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),471:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),472:Te.lazy(()=>__webpack_require__.e(1727).then(__webpack_require__.bind(__webpack_require__,74631))),473:Te.lazy(()=>__webpack_require__.e(27823).then(__webpack_require__.bind(__webpack_require__,66850))),474:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),475:Te.lazy(()=>__webpack_require__.e(15302).then(__webpack_require__.bind(__webpack_require__,15302))),476:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(52748)]).then(__webpack_require__.bind(__webpack_require__,7839))),477:Te.lazy(()=>__webpack_require__.e(2641).then(__webpack_require__.bind(__webpack_require__,57754))),478:Te.lazy(()=>__webpack_require__.e(92441).then(__webpack_require__.bind(__webpack_require__,29823))),479:Te.lazy(()=>__webpack_require__.e(28116).then(__webpack_require__.bind(__webpack_require__,72652))),480:Te.lazy(()=>__webpack_require__.e(71077).then(__webpack_require__.bind(__webpack_require__,59936))),481:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),482:Te.lazy(()=>__webpack_require__.e(50570).then(__webpack_require__.bind(__webpack_require__,30904))),483:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),484:Te.lazy(()=>__webpack_require__.e(48365).then(__webpack_require__.bind(__webpack_require__,56150))),485:Te.lazy(()=>__webpack_require__.e(26788).then(__webpack_require__.bind(__webpack_require__,60963))),486:Te.lazy(()=>__webpack_require__.e(14058).then(__webpack_require__.bind(__webpack_require__,11981))),487:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),488:Te.lazy(()=>__webpack_require__.e(54056).then(__webpack_require__.bind(__webpack_require__,45582))),489:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(51443)]).then(__webpack_require__.bind(__webpack_require__,62954))),490:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(30065)]).then(__webpack_require__.bind(__webpack_require__,3628))),491:Te.lazy(()=>__webpack_require__.e(59487).then(__webpack_require__.bind(__webpack_require__,26349))),492:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),493:Te.lazy(()=>__webpack_require__.e(80532).then(__webpack_require__.bind(__webpack_require__,45393))),494:Te.lazy(()=>__webpack_require__.e(27178).then(__webpack_require__.bind(__webpack_require__,70422))),495:Te.lazy(()=>__webpack_require__.e(1660).then(__webpack_require__.bind(__webpack_require__,4261))),496:Te.lazy(()=>__webpack_require__.e(27333).then(__webpack_require__.bind(__webpack_require__,47058))),497:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(14227)]).then(__webpack_require__.bind(__webpack_require__,78641))),498:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(88155)]).then(__webpack_require__.bind(__webpack_require__,86300))),499:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(15186)]).then(__webpack_require__.bind(__webpack_require__,62095))),500:Te.lazy(()=>__webpack_require__.e(75786).then(__webpack_require__.bind(__webpack_require__,412))),501:Te.lazy(()=>__webpack_require__.e(49366).then(__webpack_require__.bind(__webpack_require__,14027))),502:Te.lazy(()=>__webpack_require__.e(25972).then(__webpack_require__.bind(__webpack_require__,38708))),503:Te.lazy(()=>__webpack_require__.e(49366).then(__webpack_require__.bind(__webpack_require__,14027))),504:Te.lazy(()=>__webpack_require__.e(91470).then(__webpack_require__.bind(__webpack_require__,60694))),505:Te.lazy(()=>__webpack_require__.e(27182).then(__webpack_require__.bind(__webpack_require__,49226))),506:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),507:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(12476)]).then(__webpack_require__.bind(__webpack_require__,25366))),508:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),509:Te.lazy(()=>__webpack_require__.e(35729).then(__webpack_require__.bind(__webpack_require__,22809))),510:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),511:Te.lazy(()=>__webpack_require__.e(96444).then(__webpack_require__.bind(__webpack_require__,61319))),512:Te.lazy(()=>__webpack_require__.e(65111).then(__webpack_require__.bind(__webpack_require__,50869))),513:Te.lazy(()=>__webpack_require__.e(22307).then(__webpack_require__.bind(__webpack_require__,29646))),514:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(97224)]).then(__webpack_require__.bind(__webpack_require__,85267))),515:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),516:Te.lazy(()=>__webpack_require__.e(59142).then(__webpack_require__.bind(__webpack_require__,20553))),517:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),518:Te.lazy(()=>__webpack_require__.e(88501).then(__webpack_require__.bind(__webpack_require__,61929))),519:Te.lazy(()=>Promise.all([__webpack_require__.e(67880),__webpack_require__.e(37062)]).then(__webpack_require__.bind(__webpack_require__,68433))),520:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(5962),__webpack_require__.e(88866)]).then(__webpack_require__.bind(__webpack_require__,74846))),521:Te.lazy(()=>__webpack_require__.e(62300).then(__webpack_require__.bind(__webpack_require__,580))),522:Te.lazy(()=>__webpack_require__.e(92501).then(__webpack_require__.bind(__webpack_require__,98631))),523:Te.lazy(()=>__webpack_require__.e(83212).then(__webpack_require__.bind(__webpack_require__,87482))),524:Te.lazy(()=>__webpack_require__.e(76904).then(__webpack_require__.bind(__webpack_require__,55748))),525:Te.lazy(()=>__webpack_require__.e(51855).then(__webpack_require__.bind(__webpack_require__,13194))),526:Te.lazy(()=>__webpack_require__.e(76904).then(__webpack_require__.bind(__webpack_require__,55748))),527:Te.lazy(()=>__webpack_require__.e(51276).then(__webpack_require__.bind(__webpack_require__,58463))),528:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),529:Te.lazy(()=>__webpack_require__.e(75816).then(__webpack_require__.bind(__webpack_require__,35002))),530:Te.lazy(()=>__webpack_require__.e(33784).then(__webpack_require__.bind(__webpack_require__,32995))),531:Te.lazy(()=>__webpack_require__.e(43862).then(__webpack_require__.bind(__webpack_require__,99222))),532:Te.lazy(()=>__webpack_require__.e(44565).then(__webpack_require__.bind(__webpack_require__,43002))),533:Te.lazy(()=>__webpack_require__.e(66531).then(__webpack_require__.bind(__webpack_require__,96894))),534:Te.lazy(()=>__webpack_require__.e(36170).then(__webpack_require__.bind(__webpack_require__,79645))),535:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),536:Te.lazy(()=>__webpack_require__.e(21836).then(__webpack_require__.bind(__webpack_require__,24742))),537:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(36732),__webpack_require__.e(28435)]).then(__webpack_require__.bind(__webpack_require__,35290))),538:Te.lazy(()=>__webpack_require__.e(3509).then(__webpack_require__.bind(__webpack_require__,77698))),539:Te.lazy(()=>Promise.all([__webpack_require__.e(76411),__webpack_require__.e(26116)]).then(__webpack_require__.bind(__webpack_require__,17866))),540:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),541:Te.lazy(()=>__webpack_require__.e(64496).then(__webpack_require__.bind(__webpack_require__,74647))),542:Te.lazy(()=>__webpack_require__.e(66034).then(__webpack_require__.bind(__webpack_require__,121))),543:Te.lazy(()=>__webpack_require__.e(8999).then(__webpack_require__.bind(__webpack_require__,82739))),544:Te.lazy(()=>__webpack_require__.e(53910).then(__webpack_require__.bind(__webpack_require__,57132))),545:Te.lazy(()=>__webpack_require__.e(30067).then(__webpack_require__.bind(__webpack_require__,6176))),546:Te.lazy(()=>__webpack_require__.e(66531).then(__webpack_require__.bind(__webpack_require__,96894))),"@@/global-layout":Te.lazy(()=>__webpack_require__.e(41717).then(__webpack_require__.bind(__webpack_require__,47746)))}}})}var O=__webpack_require__(85354),L=__webpack_require__(11882),ve=__webpack_require__(71418),ze=__webpack_require__(31933),tn=()=>Te.createElement(ve.Z,{size:"middle",className:ze.Z.loading}),Tn=__webpack_require__(44225),xi=__webpack_require__(66649),mn=__webpack_require__.n(xi),qa=__webpack_require__(91392),Fo=__webpack_require__.n(qa),ns=__webpack_require__(73100),Ks=__webpack_require__.n(ns),Js=__webpack_require__(14805),cu=__webpack_require__.n(Js),Io=__webpack_require__(13477),qc=__webpack_require__.n(Io),rc=__webpack_require__(64796),Lc=__webpack_require__.n(rc),Jc=__webpack_require__(9007),qu=__webpack_require__.n(Jc),Di=__webpack_require__(58626),Al=__webpack_require__.n(Di),bf=__webpack_require__(9084),Vo=__webpack_require__.n(bf),Sa=__webpack_require__(5116),ll=__webpack_require__.n(Sa),Cl=__webpack_require__(50991),nc=__webpack_require__.n(Cl),ic=__webpack_require__(39050),Wl=__webpack_require__.n(ic),Tl=__webpack_require__(1554),xf=__webpack_require__.n(Tl),Bu=__webpack_require__(59697),Hl=__webpack_require__.n(Bu);mn().extend(Ks()),mn().extend(cu()),mn().extend(qc()),mn().extend(Lc()),mn().extend(qu()),mn().extend(Al()),mn().extend(Vo()),mn().extend(ll()),mn().extend(nc()),mn().extend(Wl()),mn().extend(xf()),mn().extend(Hl()),mn().extend(Fo());var ef=Object.defineProperty,Gl=Object.getOwnPropertySymbols,wf=Object.prototype.hasOwnProperty,Nu=Object.prototype.propertyIsEnumerable,Pl=(Bn,ni,Qi)=>ni in Bn?ef(Bn,ni,{enumerable:!0,configurable:!0,writable:!0,value:Qi}):Bn[ni]=Qi,ac=(Bn,ni)=>{for(var Qi in ni||(ni={}))wf.call(ni,Qi)&&Pl(Bn,Qi,ni[Qi]);if(Gl)for(var Qi of Gl(ni))Nu.call(ni,Qi)&&Pl(Bn,Qi,ni[Qi]);return Bn},Mc=(Bn,ni,Qi)=>new Promise((Ma,oa)=>{var Aa=ua=>{try{Fs(Qi.next(ua))}catch(Bs){oa(Bs)}},ga=ua=>{try{Fs(Qi.throw(ua))}catch(Bs){oa(Bs)}},Fs=ua=>ua.done?Ma(ua.value):Promise.resolve(ua.value).then(Aa,ga);Fs((Qi=Qi.apply(Bn,ni)).next())});const Hu="/react/build/",Su=!1;function Au(){return Mc(this,null,function*(){const Bn=(0,O.gD)(),{routes:ni,routeComponents:Qi}=yield P(Bn);yield Bn.applyPlugins({key:"patchRoutes",type:Tn.ApplyPluginsType.event,args:{routes:ni,routeComponents:Qi}});const Ma=Bn.applyPlugins({key:"modifyContextOpts",type:Tn.ApplyPluginsType.modify,initialValue:{}}),oa=Ma.basename||"/",Aa=Ma.historyType||"browser",ga=(0,L.fi)(ac({type:Aa,basename:oa},Ma.historyOpts));return Bn.applyPlugins({key:"render",type:Tn.ApplyPluginsType.compose,initialValue(){const Fs={useStream:!0,routes:ni,routeComponents:Qi,pluginManager:Bn,mountElementId:"root",rootElement:Ma.rootElement||document.getElementById("root"),loadingComponent:tn,publicPath:Hu,runtimePublicPath:Su,history:ga,historyType:Aa,basename:oa,__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{pureApp:!1,pureHtml:!1},callback:Ma.callback},ua=Bn.applyPlugins({key:"modifyClientRenderOpts",type:Tn.ApplyPluginsType.modify,initialValue:Fs});return Qc(ua)}})()})}Au(),typeof window!="undefined"&&(window.g_umi={version:"4.6.24"})})()})();